From e8bc9e9cd8cf4071445f18a246bd0db3646cb6bc Mon Sep 17 00:00:00 2001 From: ryan Date: Fri, 8 Feb 2019 09:47:53 -0800 Subject: [PATCH] Release 0.0.6 --- dist/LICENSE | 21 ++ dist/README.md | 91 +++++++++ dist/img/plotly_logo.svg | 22 ++ dist/img/screenshot-multiple-trace.png | Bin 0 -> 54533 bytes dist/img/screenshot-options-new.png | Bin 0 -> 27452 bytes dist/img/screenshot-options.png | Bin 0 -> 78313 bytes dist/img/screenshot-scatter-1.png | Bin 0 -> 64684 bytes dist/img/screenshot-scatter-3d.png | Bin 0 -> 65462 bytes dist/img/screenshot-scatter.png | Bin 0 -> 51240 bytes dist/img/screenshot-single-trace.png | Bin 0 -> 52340 bytes dist/lib/plotly-cartesian.min.js | 7 + dist/lib/plotly.min.js | 7 + dist/module.js | 12 ++ dist/module.js.map | 1 + dist/partials/module.html | 1 + dist/partials/tab_display.html | 148 ++++++++++++++ dist/partials/tab_traces.html | 273 +++++++++++++++++++++++++ dist/plugin.json | 35 ++++ package.json | 2 +- 19 files changed, 619 insertions(+), 1 deletion(-) create mode 100644 dist/LICENSE create mode 100644 dist/README.md create mode 100644 dist/img/plotly_logo.svg create mode 100644 dist/img/screenshot-multiple-trace.png create mode 100644 dist/img/screenshot-options-new.png create mode 100644 dist/img/screenshot-options.png create mode 100644 dist/img/screenshot-scatter-1.png create mode 100644 dist/img/screenshot-scatter-3d.png create mode 100644 dist/img/screenshot-scatter.png create mode 100644 dist/img/screenshot-single-trace.png create mode 100644 dist/lib/plotly-cartesian.min.js create mode 100644 dist/lib/plotly.min.js create mode 100644 dist/module.js create mode 100644 dist/module.js.map create mode 100644 dist/partials/module.html create mode 100644 dist/partials/tab_display.html create mode 100644 dist/partials/tab_traces.html create mode 100644 dist/plugin.json diff --git a/dist/LICENSE b/dist/LICENSE new file mode 100644 index 0000000..56f34d5 --- /dev/null +++ b/dist/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2016 Natel Energy + +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. diff --git a/dist/README.md b/dist/README.md new file mode 100644 index 0000000..472a296 --- /dev/null +++ b/dist/README.md @@ -0,0 +1,91 @@ +## Plot.ly Panel for Grafana + +[![CircleCI](https://circleci.com/gh/NatelEnergy/grafana-plotly-panel/tree/master.svg?style=svg)](https://circleci.com/gh/NatelEnergy/grafana-plotly-panel/tree/master) +[![dependencies Status](https://david-dm.org/NatelEnergy/grafana-plotly-panel/status.svg)](https://david-dm.org/NatelEnergy/grafana-plotly-panel) +[![devDependencies Status](https://david-dm.org/NatelEnergy/grafana-plotly-panel/dev-status.svg)](https://david-dm.org/NatelEnergy/grafana-plotly-panel?type=dev) + +Render metrics using the plot.ly javascript framework + +Works with grafana 4, 5, and 6 + +### Screenshots + +![Screenshot of scatter plot](https://raw.githubusercontent.com/NatelEnergy/grafana-plotly-panel/master/src/img/screenshot-scatter.png) +![Screenshot of scatter plot](https://raw.githubusercontent.com/NatelEnergy/grafana-plotly-panel/master/src/img/screenshot-single-trace.png?raw=true) +![Screenshot of scatter plot](https://raw.githubusercontent.com/NatelEnergy/grafana-plotly-panel/master/src/img/screenshot-multiple-trace.png) +![Screenshot of 3d scatter plot](https://raw.githubusercontent.com/NatelEnergy/grafana-plotly-panel/master/src/img/screenshot-scatter-3d.png) +![Screenshot of the options screen](https://raw.githubusercontent.com/NatelEnergy/grafana-plotly-panel/master/src/img/screenshot-options-new.png) + +### Building + +To complie, run: + +``` +npm install -g yarn +yarn install --pure-lockfile +yarn build +``` + +### Releasing + +This plugin uses [release-it](https://github.com/webpro/release-it) to release to GitHub. + +``` +env GITHUB_TOKEN=your_token yarn release-it patch +``` + + +#### Changelog + +##### v0.0.6 + +- Fix axis range configuration bug [#49](https://github.com/NatelEnergy/grafana-plotly-panel/issues/49) +- Add basic annotations support #57 (tchernobog) +- Improve loading times for plotly.js and support loading from CDN +- Assume date x-axis when 'auto' and the mapping has 'time' +- Support Fixed-Ratio Axes +- Tested with Grafana 6 + + +##### v0.0.5 + +- Upgrade plotly (v1.41+) +- Better support for light theme. (#24, @cscheuermann81) +- Support snapshots +- Removing `dist` from master branch +- Support of multiple time series's ([#9](https://github.com/NatelEnergy/grafana-plotly-panel/issues/9), [CorpGlory DevTeam](https://corpglory.com/)) +- Support showing text from query (#11) +- Template variable support +- Improved metric mapping +- Using webpack and basic jest tests + +##### v0.0.4 + +- Load plotly from npm (v1.31.2+) +- Convert to TypeScript +- Reasonable behavior when adding single metric +- Formatting with prettier.js +- Support for a single table query + +##### v0.0.3 + +- Improve options UI +- Added range mode: "tozero" and "nonnegative" +- Map metrics to X,Y,Z and color +- Can now select 'date' type for each axis to support time +- basic support to size marker with data + +##### v0.0.2 + +- Added ability to set color from a metric query. (#4, @lzgrablic01) +- Show 3D axis names properly +- Fix initalization to work with 4.2+ (isPanelVisible undefined) + +##### v0.0.1 + +- First working version + +### Wishlist (help wanted) + +- sizeref helper. I think this depends on the data. likely need to find the range and pick a good value? From react? +- nice to have: https://plot.ly/javascript/parallel-coordinates-plot/ diff --git a/dist/img/plotly_logo.svg b/dist/img/plotly_logo.svg new file mode 100644 index 0000000..5ad057a --- /dev/null +++ b/dist/img/plotly_logo.svg @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/dist/img/screenshot-multiple-trace.png b/dist/img/screenshot-multiple-trace.png new file mode 100644 index 0000000000000000000000000000000000000000..740c7e0776ac7c8f77f892ddd092d3b11897882f GIT binary patch literal 54533 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 D_Y7iT0^(qNXw%E)Lht5+$;YjYU}r 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
P3bmuM-YO}|0)`f9*7Rg7f|E;H@s@ID9unwOfW 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 EYNkklS=u7EnwD-fy%W7LDFo) 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 literal 0 HcmV?d00001 diff --git a/dist/img/screenshot-scatter-1.png b/dist/img/screenshot-scatter-1.png new file mode 100644 index 0000000000000000000000000000000000000000..0269e9701e6b51633b40ec9a21c0fc95c9583942 GIT binary patch literal 64684 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
Q6rVWyJ#thKTCO?ofyFvn%WU~Lp*OCOTQ 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 literal 0 HcmV?d00001 diff --git a/dist/img/screenshot-scatter-3d.png b/dist/img/screenshot-scatter-3d.png new file mode 100644 index 0000000000000000000000000000000000000000..3ebbacf54a7aba9bba1160c8381c87048f8d24f8 GIT binary patch literal 65462 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 z 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 JQW3+z{{zt{6_x-1 literal 0 HcmV?d00001 diff --git a/dist/img/screenshot-scatter.png b/dist/img/screenshot-scatter.png new file mode 100644 index 0000000000000000000000000000000000000000..642f68c8277c874d92dfce664889b1f329d3d1c3 GIT binary patch literal 51240 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
');\n\n // defaults configs\n _.defaultsDeep(this.panel, PlotlyPanelCtrl.defaults);\n\n this.cfg = this.panel.pconfig;\n\n this.traces = [];\n\n // ?? This seems needed for tests?!!\n if (!this.events) {\n return;\n }\n\n loadPlotly(this.cfg).then(v => {\n Plotly = v;\n console.log('Plotly', v);\n\n // Wait till plotly exists has loaded before we handle any data\n this.events.on('render', this.onRender.bind(this));\n this.events.on('data-received', this.onDataReceived.bind(this));\n this.events.on('data-error', this.onDataError.bind(this));\n this.events.on('panel-size-changed', this.onResize.bind(this));\n this.events.on('data-snapshot-load', this.onDataSnapshotLoad.bind(this));\n this.events.on('refresh', this.onRefresh.bind(this));\n\n // Refresh after plotly is loaded\n this.refresh();\n });\n\n // Standard handlers\n this.events.on('init-edit-mode', this.onInitEditMode.bind(this));\n this.events.on('panel-initialized', this.onPanelInitialized.bind(this));\n }\n\n getCssRule(selectorText): CSSStyleRule | null {\n const styleSheets = document.styleSheets;\n for (let idx = 0; idx < styleSheets.length; idx += 1) {\n const styleSheet = styleSheets[idx] as CSSStyleSheet;\n const rules = styleSheet.cssRules;\n for (let ruleIdx = 0; ruleIdx < rules.length; ruleIdx += 1) {\n const rule = rules[ruleIdx] as CSSStyleRule;\n if (rule.selectorText === selectorText) {\n return rule;\n }\n }\n }\n return null;\n }\n\n // Don't call resize too quickly\n doResize = _.debounce(() => {\n // https://github.com/alonho/angular-plotly/issues/26\n const e = window.getComputedStyle(this.graphDiv).display;\n if (!e || 'none' === e) {\n // not drawn!\n console.warn('resize a plot that is not drawn yet');\n } else {\n const rect = this.graphDiv.getBoundingClientRect();\n this.layout.width = rect.width;\n this.layout.height = this.height;\n Plotly.redraw(this.graphDiv);\n }\n }, 50);\n\n onResize() {\n if (this.graphDiv && this.layout && Plotly) {\n this.doResize(); // Debounced\n }\n }\n\n onDataError(err) {\n this.series = [];\n this.annotations.clear();\n this.render();\n }\n\n onRefresh() {\n // ignore fetching data if another panel is in fullscreen\n if (this.otherPanelInFullscreenMode()) {\n return;\n }\n\n if (this.graphDiv && this.initialized && Plotly) {\n Plotly.redraw(this.graphDiv);\n }\n }\n\n onInitEditMode() {\n this.editor = new EditorHelper(this);\n this.addEditorTab('Display', 'public/plugins/natel-plotly-panel/partials/tab_display.html', 2);\n this.addEditorTab('Traces', 'public/plugins/natel-plotly-panel/partials/tab_traces.html', 3);\n // this.editorTabIndex = 1;\n this.onConfigChanged(); // Sets up the axis info\n\n // Check the size in a little bit\n setTimeout(() => {\n console.log('RESIZE in editor');\n this.onResize();\n }, 500);\n }\n\n processConfigMigration() {\n console.log('Migrating Plotly Configuration to version: ' + PlotlyPanelCtrl.configVersion);\n\n // Remove some things that should not be saved\n const cfg = this.panel.pconfig;\n delete cfg.layout.plot_bgcolor;\n delete cfg.layout.paper_bgcolor;\n delete cfg.layout.autosize;\n delete cfg.layout.height;\n delete cfg.layout.width;\n delete cfg.layout.margin;\n delete cfg.layout.scene;\n if (!this.is3d()) {\n delete cfg.layout.zaxis;\n }\n\n // Move from 'markers-lines' to checkbox\n if (cfg.settings.mode) {\n const old = cfg.settings.mode;\n const show = {\n markers: old.indexOf('markers') >= 0,\n lines: old.indexOf('lines') >= 0,\n };\n _.forEach(cfg.traces, trace => {\n trace.show = show;\n });\n delete cfg.settings.mode;\n }\n\n // TODO... MORE Migrations\n console.log('After Migration:', cfg);\n this.cfg = cfg;\n this.panel.version = PlotlyPanelCtrl.configVersion;\n }\n\n onPanelInitialized() {\n if (!this.panel.version || PlotlyPanelCtrl.configVersion > this.panel.version) {\n this.processConfigMigration();\n }\n this._updateTraceData(true);\n }\n\n deepCopyWithTemplates = obj => {\n if (_.isArray(obj)) {\n return obj.map(val => this.deepCopyWithTemplates(val));\n } else if (_.isString(obj)) {\n return this.templateSrv.replace(obj, this.panel.scopedVars);\n } else if (_.isObject(obj)) {\n const copy = {};\n _.forEach(obj, (v, k) => {\n copy[k] = this.deepCopyWithTemplates(v);\n });\n return copy;\n }\n return obj;\n };\n\n getProcessedLayout() {\n // Copy from config\n const layout = this.deepCopyWithTemplates(this.cfg.layout);\n layout.plot_bgcolor = 'transparent';\n layout.paper_bgcolor = layout.plot_bgcolor;\n\n // Update the size\n const rect = this.graphDiv.getBoundingClientRect();\n layout.autosize = false; // height is from the div\n layout.height = this.height;\n layout.width = rect.width;\n\n // Make sure it is something\n if (!layout.xaxis) {\n layout.xaxis = {};\n }\n if (!layout.yaxis) {\n layout.yaxis = {};\n }\n\n // Fixed scales\n if (this.cfg.fixScale) {\n if ('x' === this.cfg.fixScale) {\n layout.yaxis.scaleanchor = 'x';\n } else if ('y' === this.cfg.fixScale) {\n layout.xaxis.scaleanchor = 'y';\n } else if ('z' === this.cfg.fixScale) {\n layout.xaxis.scaleanchor = 'z';\n layout.yaxis.scaleanchor = 'z';\n }\n }\n\n if (this.is3d()) {\n if (!layout.zaxis) {\n layout.zaxis = {};\n }\n\n // 3d uses 'scene' for the axis\n layout.scene = {\n xaxis: layout.xaxis,\n yaxis: layout.yaxis,\n zaxis: layout.zaxis,\n };\n\n delete layout.xaxis;\n delete layout.yaxis;\n delete layout.zaxis;\n\n layout.margin = {\n l: 0,\n r: 0,\n t: 0,\n b: 5,\n pad: 0,\n };\n } else {\n delete layout.zaxis;\n delete layout.scene;\n\n // Check if the X axis should be a date\n if (!layout.xaxis.type || layout.xaxis.type === 'auto') {\n const mapping = _.get(this.cfg, 'traces[0].mapping.x');\n if (mapping && mapping.indexOf('time') >= 0) {\n layout.xaxis.type = 'date';\n }\n }\n\n const isDate = layout.xaxis.type === 'date';\n layout.margin = {\n l: layout.yaxis.title ? 50 : 35,\n r: 5,\n t: 0,\n b: layout.xaxis.title ? 65 : isDate ? 40 : 30,\n pad: 2,\n };\n\n // Set the range to the query window\n if (isDate && !layout.xaxis.range) {\n const range = this.timeSrv.timeRange();\n layout.xaxis.range = [range.from.valueOf(), range.to.valueOf()];\n }\n\n // get the css rule of grafana graph axis text\n const labelStyle = this.getCssRule('div.flot-text');\n if (labelStyle) {\n let color = labelStyle.style.color;\n if (!layout.font) {\n layout.font = {};\n }\n layout.font.color = color;\n\n // make the grid a little more transparent\n color = $.color\n .parse(color)\n .scale('a', 0.22)\n .toString();\n\n // set gridcolor (like grafana graph)\n layout.xaxis.gridcolor = color;\n layout.yaxis.gridcolor = color;\n }\n\n // Set the second axis\n layout.yaxis2 = PlotlyPanelCtrl.yaxis2;\n }\n return layout;\n }\n\n onRender() {\n // ignore fetching data if another panel is in fullscreen\n if (this.otherPanelInFullscreenMode() || !this.graphDiv) {\n return;\n }\n\n if (!Plotly) {\n return;\n }\n\n if (!this.initialized) {\n const s = this.cfg.settings;\n\n const options = {\n showLink: false,\n displaylogo: false,\n displayModeBar: s.displayModeBar,\n modeBarButtonsToRemove: ['sendDataToCloud'], //, 'select2d', 'lasso2d']\n };\n\n this.layout = this.getProcessedLayout();\n this.layout.shapes = this.annotations.shapes;\n let traces = this.traces;\n if (this.annotations.shapes.length > 0) {\n traces = this.traces.concat(this.annotations.trace);\n }\n Plotly.react(this.graphDiv, traces, this.layout, options);\n\n this.graphDiv.on('plotly_click', data => {\n if (data === undefined || data.points === undefined) {\n return;\n }\n for (let i = 0; i < data.points.length; i++) {\n const idx = data.points[i].pointNumber;\n const ts = this.traces[0].ts[idx];\n // console.log( 'CLICK!!!', ts, data );\n const msg = data.points[i].x.toPrecision(4) + ', ' + data.points[i].y.toPrecision(4);\n this.$rootScope.appEvent('alert-success', [\n msg,\n '@ ' + this.dashboard.formatDate(moment(ts)),\n ]);\n }\n });\n\n // if(true) {\n // this.graphDiv.on('plotly_hover', (data, xxx) => {\n // console.log( 'HOVER!!!', data, xxx, this.mouse );\n // if(data.points.length>0) {\n // var idx = 0;\n // var pt = data.points[idx];\n\n // var body = '
'+ pt.pointNumber +'
';\n // body += \"
\";\n // body += pt.x + ', '+pt.y;\n // body += \"
\";\n\n // //this.$tooltip.html( body ).place_tt( this.mouse.pageX + 10, this.mouse.pageY );\n // }\n // }).on('plotly_unhover', (data) => {\n // //this.$tooltip.detach();\n // });\n // }\n\n this.graphDiv.on('plotly_selected', data => {\n if (data === undefined || data.points === undefined) {\n return;\n }\n\n if (data.points.length === 0) {\n console.log('Nothing Selected', data);\n return;\n }\n\n console.log('SELECTED', data);\n\n let min = Number.MAX_SAFE_INTEGER;\n let max = Number.MIN_SAFE_INTEGER;\n\n for (let i = 0; i < data.points.length; i++) {\n const found = data.points[i];\n const idx = found.pointNumber;\n const ts = found.fullData.x[idx];\n min = Math.min(min, ts);\n max = Math.max(max, ts);\n }\n\n // At least 2 seconds\n min -= 1000;\n max += 1000;\n\n const range = {from: moment.utc(min), to: moment.utc(max)};\n\n console.log('SELECTED!!!', min, max, data.points.length, range);\n\n this.timeSrv.setTime(range);\n\n // rebuild the graph after query\n if (this.graphDiv) {\n Plotly.Plots.purge(this.graphDiv);\n this.graphDiv.innerHTML = '';\n this.initialized = false;\n }\n });\n this.initialized = true;\n } else if (this.initialized) {\n Plotly.redraw(this.graphDiv);\n } else {\n console.log('Not initialized yet!');\n }\n }\n\n onDataSnapshotLoad(snapshot) {\n this.onDataReceived(snapshot);\n }\n\n _hadAnno = false;\n\n onDataReceived(dataList) {\n const finfo: SeriesWrapper[] = [];\n let seriesHash = '/';\n if (dataList && dataList.length > 0) {\n const useRefID = dataList.length === this.panel.targets.length;\n dataList.forEach((series, sidx) => {\n let refId = '';\n if (useRefID) {\n refId = _.get(this.panel, 'targets[' + sidx + '].refId');\n if (!refId) {\n refId = String.fromCharCode('A'.charCodeAt(0) + sidx);\n }\n }\n if (series.columns) {\n for (let i = 0; i < series.columns.length; i++) {\n finfo.push(new SeriesWrapperTable(refId, series, i));\n }\n finfo.push(new SeriesWrapperTableRow(refId, series));\n } else if (series.target) {\n finfo.push(new SeriesWrapperSeries(refId, series, 'value'));\n finfo.push(new SeriesWrapperSeries(refId, series, 'time'));\n finfo.push(new SeriesWrapperSeries(refId, series, 'index'));\n } else {\n console.error('Unsupported Series response', sidx, series);\n }\n });\n }\n this.seriesByKey.clear();\n finfo.forEach(s => {\n s.getAllKeys().forEach(k => {\n this.seriesByKey.set(k, s);\n seriesHash += '$' + k;\n });\n });\n this.series = finfo;\n\n // Now Process the loaded data\n const hchanged = this.seriesHash !== seriesHash;\n if (hchanged && this.editor) {\n EditorHelper.updateMappings(this);\n this.editor.selectTrace(this.editor.traceIndex);\n this.editor.onConfigChanged();\n }\n\n if (hchanged || !this.initialized) {\n this.onConfigChanged();\n this.seriesHash = seriesHash;\n }\n\n // Support Annotations\n let annotationPromise = Promise.resolve();\n if (!this.cfg.showAnnotations || this.is3d()) {\n this.annotations.clear();\n if (this.layout) {\n if (this.layout.shapes) {\n this.onConfigChanged();\n }\n this.layout.shapes = [];\n }\n } else {\n annotationPromise = this.annotationsSrv\n .getAnnotations({\n dashboard: this.dashboard,\n panel: this.panel,\n range: this.range,\n })\n .then(results => {\n const hasAnno = this.annotations.update(results);\n if (this.layout) {\n if (hasAnno !== this._hadAnno) {\n this.onConfigChanged();\n }\n this.layout.shapes = this.annotations.shapes;\n }\n this._hadAnno = hasAnno;\n });\n }\n\n // Load the real data changes\n annotationPromise.then(() => {\n this._updateTraceData();\n this.render();\n });\n }\n\n __addCopyPath(trace: any, key: string, path: string) {\n if (key) {\n trace.__set.push({\n key: key,\n path: path,\n });\n const s: SeriesWrapper = this.seriesByKey.get(key);\n if (!s) {\n this.dataWarnings.push('Unable to find: ' + key + ' for ' + trace.name + ' // ' + path);\n }\n }\n }\n\n // This will update all trace settings *except* the data\n _updateTracesFromConfigs() {\n this.dataWarnings = [];\n\n // Make sure we have a trace\n if (this.cfg.traces == null || this.cfg.traces.length < 1) {\n this.cfg.traces = [_.cloneDeep(PlotlyPanelCtrl.defaultTrace)];\n }\n\n const is3D = this.is3d();\n this.traces = this.cfg.traces.map((tconfig, idx) => {\n const config = this.deepCopyWithTemplates(tconfig) || {};\n _.defaults(config, PlotlyPanelCtrl.defaults);\n const mapping = config.mapping;\n\n const trace: any = {\n name: config.name || EditorHelper.createTraceName(idx),\n type: this.cfg.settings.type,\n mode: 'markers+lines', // really depends on config settings\n __set: [], // { key:? property:? }\n };\n\n let mode = '';\n if (config.show.markers) {\n mode += '+markers';\n trace.marker = config.settings.marker;\n\n delete trace.marker.sizemin;\n delete trace.marker.sizemode;\n delete trace.marker.sizeref;\n\n if (config.settings.color_option === 'ramp') {\n this.__addCopyPath(trace, mapping.color, 'marker.color');\n } else {\n delete trace.marker.colorscale;\n delete trace.marker.showscale;\n }\n }\n\n if (config.show.lines) {\n mode += '+lines';\n trace.line = config.settings.line;\n }\n\n // Set the text\n this.__addCopyPath(trace, mapping.text, 'text');\n this.__addCopyPath(trace, mapping.x, 'x');\n this.__addCopyPath(trace, mapping.y, 'y');\n\n if (is3D) {\n this.__addCopyPath(trace, mapping.z, 'z');\n }\n\n // Set the trace mode\n if (mode) {\n trace.mode = mode.substring(1);\n }\n return trace;\n });\n }\n\n // Fills in the required data into the trace values\n _updateTraceData(force = false): boolean {\n if (!this.series) {\n // console.log('NO Series data yet!');\n return false;\n }\n\n if (force || !this.traces) {\n this._updateTracesFromConfigs();\n } else if (this.traces.length !== this.cfg.traces.length) {\n console.log(\n 'trace number mismatch. Found: ' +\n this.traces.length +\n ', expect: ' +\n this.cfg.traces.length\n );\n this._updateTracesFromConfigs();\n }\n\n // Use zero when the metric value is missing\n // Plotly gets lots of errors when the values are missing\n let zero: any = [];\n this.traces.forEach(trace => {\n if (trace.__set) {\n trace.__set.forEach(v => {\n const s = this.seriesByKey.get(v.key);\n let vals: any[] = zero;\n if (s) {\n vals = s.toArray();\n if (vals && vals.length > zero.length) {\n zero = Array.from(Array(3), () => 0);\n }\n } else {\n if (!this.error) {\n this.error = '';\n }\n this.error += 'Unable to find: ' + v.key + ' (using zeros). ';\n }\n if (!vals) {\n vals = zero;\n }\n _.set(trace, v.path, vals);\n });\n }\n });\n\n //console.log('SetDATA', this.traces);\n return true;\n }\n\n onConfigChanged() {\n // Force reloading the traces\n this._updateTraceData(true);\n\n if (!Plotly) {\n return;\n }\n\n // Check if the plotly library changed\n loadIfNecessary(this.cfg).then(res => {\n if (res) {\n if (Plotly) {\n Plotly.purge(this.graphDiv);\n }\n Plotly = res;\n }\n\n // Updates the layout and redraw\n if (this.initialized && this.graphDiv) {\n if (!this.cfg.showAnnotations) {\n this.annotations.clear();\n }\n\n const s = this.cfg.settings;\n const options = {\n showLink: false,\n displaylogo: false,\n displayModeBar: s.displayModeBar,\n modeBarButtonsToRemove: ['sendDataToCloud'], //, 'select2d', 'lasso2d']\n };\n this.layout = this.getProcessedLayout();\n this.layout.shapes = this.annotations.shapes;\n let traces = this.traces;\n if (this.annotations.shapes.length > 0) {\n traces = this.traces.concat(this.annotations.trace);\n }\n console.log('ConfigChanged (traces)', traces);\n Plotly.react(this.graphDiv, traces, this.layout, options);\n }\n\n this.render(); // does not query again!\n });\n }\n\n is3d() {\n return this.cfg.settings.type === 'scatter3d';\n }\n\n link(scope, elem, attrs, ctrl) {\n this.graphDiv = elem.find('.plotly-spot')[0];\n this.initialized = false;\n elem.on('mousemove', evt => {\n this.mouse = evt;\n });\n\n //let p = $(this.graphDiv).parent().parent()[0];\n //console.log( 'PLOT', this.graphDiv, p );\n }\n}\n\nexport {PlotlyPanelCtrl, PlotlyPanelCtrl as PanelCtrl};\n","import _ from 'lodash';\n\n// This gives a standard way to get a value for a given field\nexport abstract class SeriesWrapper {\n refId: string; // From Query Target\n name: string;\n\n type?: 'string' | 'date' | 'boolean' | 'epoch' | 'number';\n first?: any;\n count: number;\n\n /** @ngInject */\n constructor(refId: string) {\n this.refId = refId;\n }\n\n protected setFirst(v: any) {\n this.first = v;\n if (_.isNumber(v)) {\n this.type = 'number';\n } else if (_.isString(v)) {\n this.type = 'string';\n } else if (typeof v === typeof true) {\n this.type = 'boolean';\n }\n }\n\n // The best key for this field\n getKey(): string {\n return this.name;\n }\n\n // All ways to access this field\n getAllKeys(): string[] {\n return [this.getKey()];\n }\n\n abstract toArray(): Array;\n}\n\nexport class SeriesWrapperSeries extends SeriesWrapper {\n value: 'value' | 'index' | 'time';\n\n /** @ngInject */\n constructor(refId: string, public series: any, val: 'value' | 'index' | 'time') {\n super(refId);\n this.value = val;\n this.count = series.datapoints.length;\n this.name = series.target;\n\n if ('index' === val) {\n this.first = 0;\n this.type = 'number';\n this.name += '@index';\n return;\n }\n if ('value' === val) {\n _.forEach(series.datapoints, arr => {\n if (arr[0] !== null) {\n // 0 is an ok value so cant use if(arr[0])\n this.setFirst(arr[0]);\n return false;\n }\n return true; // continue\n });\n return;\n }\n if ('time' === val) {\n this.type = 'epoch';\n this.first = series.datapoints[0][1];\n this.name += '@time';\n return;\n }\n }\n\n toArray(): any[] {\n if ('index' === this.value) {\n const arr = new Array(this.count);\n for (let i = 0; i < this.count; i++) {\n arr[i] = i;\n }\n return arr;\n }\n const idx = 'time' === this.value ? 1 : 0;\n return _.map(this.series.datapoints, arr => {\n return arr[idx];\n });\n }\n\n getAllKeys(): string[] {\n if (this.refId) {\n const vals = [this.name, this.refId + '@' + this.value, this.refId + '/' + this.name];\n\n if ('A' === this.refId) {\n vals.push('@' + this.value);\n }\n return vals;\n }\n return [this.name];\n }\n}\n\nexport class SeriesWrapperTableRow extends SeriesWrapper {\n /** @ngInject */\n constructor(refId: string, public table: any) {\n super(refId);\n\n this.name = refId + '@row';\n }\n\n toArray(): any[] {\n const count = this.table.rows.length;\n const arr = new Array(count);\n for (let i = 0; i < count; i++) {\n arr[i] = i;\n }\n return arr;\n }\n}\n\nexport class SeriesWrapperTable extends SeriesWrapper {\n /** @ngInject */\n constructor(refId: string, public table: any, public index: number) {\n super(refId);\n this.count = table.rows.length;\n\n const col = table.columns[index];\n if (!col) {\n throw new Error('Unkonwn Column: ' + index);\n }\n\n this.name = col.text;\n if ('time' === col.type) {\n this.type = 'epoch';\n this.first = table.rows[0][index];\n } else {\n for (let i = 0; i < this.count; i++) {\n const v = table.rows[i][index];\n if (v !== null) {\n // 0 is an ok value so cant use if(v)\n this.setFirst(v);\n return;\n }\n }\n }\n }\n\n toArray(): any[] {\n return _.map(this.table.rows, row => {\n return row[this.index];\n });\n }\n\n getAllKeys(): string[] {\n if (this.refId) {\n return [this.getKey(), this.refId + '/' + this.name, this.refId + '[' + this.index + ']'];\n }\n return [this.getKey()];\n }\n}\n","import _ from 'lodash';\n\nimport {PlotlyPanelCtrl} from './module';\n\nclass AxisInfo {\n label: string;\n layout: any; // The config saved in layout\n property: string; // mapping property to check in a trace\n segment: any; // The Grafana ();\n trace: any; // Trace Config\n traceIndex = 0;\n traces: any[]; // array of configs;\n\n symbol: any; // The Grafana {\n _.defaults(trace, PlotlyPanelCtrl.defaultTrace);\n const mapping = trace.mapping;\n if (!mapping.color) {\n mapping.color = defaultMappings.first;\n changed = true;\n }\n if (!mapping.x) {\n mapping.x = defaultMappings.time;\n changed = true;\n }\n if (!mapping.y) {\n mapping.y = defaultMappings.first;\n changed = true;\n }\n if (ctrl.is3d() && !mapping.z) {\n mapping.z = defaultMappings.first;\n changed = true;\n }\n });\n return changed;\n }\n\n onConfigChanged() {\n this.onUpdateAxis(); // Every time????\n\n // Initalize the axis\n for (let i = 0; i < this.axis.length; i++) {\n if (this.axis[i].layout.rangemode === 'between') {\n if (!_.isArray(this.axis[i].layout.range)) {\n this.axis[i].layout.range = [0, null];\n }\n } else {\n delete this.axis[i].layout.range;\n }\n }\n\n this.ctrl.onConfigChanged();\n }\n\n onUpdateAxis() {\n const mapping = this.trace.mapping;\n if (!mapping) {\n console.error('Missing mappings for trace', this.trace);\n return;\n }\n\n const layout = this.ctrl.cfg.layout;\n if (!layout.xaxis) {\n layout.xaxis = {};\n }\n if (!layout.yaxis) {\n layout.yaxis = {};\n }\n\n this.axis = [];\n this.axis.push({\n label: 'X Axis',\n layout: layout.xaxis,\n property: 'x',\n segment: this.mapping.x,\n });\n this.axis.push({\n label: 'Y Axis',\n layout: layout.yaxis,\n property: 'y',\n segment: this.mapping.y,\n });\n\n if (this.ctrl.is3d()) {\n if (!layout.zaxis) {\n layout.zaxis = {};\n }\n this.axis.push({\n label: 'Z Axis',\n layout: layout.zaxis,\n property: 'z',\n segment: this.mapping.z,\n });\n }\n }\n\n //-----------------------------------------------------------------------\n // Manage Traces\n //-----------------------------------------------------------------------\n\n selectTrace(index: number) {\n this.traces = this.ctrl.cfg.traces;\n if (!this.traces || this.traces.length < 1) {\n this.traces = this.ctrl.cfg.traces = [_.deepClone(PlotlyPanelCtrl.defaultTrace)];\n }\n if (index >= this.ctrl.cfg.traces.length) {\n index = this.ctrl.cfg.traces.length - 1;\n }\n this.trace = this.ctrl.cfg.traces[index];\n this.traceIndex = index;\n\n _.defaults(this.trace, PlotlyPanelCtrl.defaultTrace);\n if (!this.trace.name) {\n this.trace.name = EditorHelper.createTraceName(index);\n }\n\n // The _defaults makes sure this is taken care of\n this.symbol = this.ctrl.uiSegmentSrv.newSegment({\n value: this.trace.settings.marker.symbol,\n });\n\n // Now set one for each key\n this.mapping = {};\n _.forEach(this.trace.mapping, (value, key) => {\n this.updateSegMapping(value, key);\n });\n\n console.log('Editor Info', this);\n\n this.onConfigChanged();\n this.ctrl.refresh();\n }\n\n private updateSegMapping(value, key, updateTrace = false) {\n if (REMOVE_KEY === value) {\n this.mapping[key] = this.ctrl.uiSegmentSrv.newSegment({\n value: 'Select Metric',\n fake: true,\n });\n value = null; // will set this value later\n } else if (value) {\n const s = this.ctrl.seriesByKey.get(value);\n const opts: any = {\n value: value,\n series: s,\n };\n if (!s) {\n // opts.fake = true;\n opts.html = value + ' ';\n }\n this.mapping[key] = this.ctrl.uiSegmentSrv.newSegment(opts);\n } else {\n this.mapping[key] = this.ctrl.uiSegmentSrv.newSegment({\n value: 'Select Metric',\n fake: true,\n });\n }\n\n if (updateTrace) {\n this.trace.mapping[key] = value;\n console.log('SET', key, value, this.trace.mapping);\n }\n }\n\n createTrace() {\n let trace: any = {};\n if (this.ctrl.cfg.traces.length > 0) {\n trace = _.cloneDeep(this.ctrl.cfg.traces[this.ctrl.cfg.traces.length - 1]);\n } else {\n trace = _.deepClone(PlotlyPanelCtrl.defaultTrace);\n }\n trace.name = EditorHelper.createTraceName(this.ctrl.traces.length);\n this.ctrl.cfg.traces.push(trace);\n this.selectTrace(this.ctrl.cfg.traces.length - 1);\n }\n\n removeCurrentTrace() {\n // TODO... better behavior\n if (this.traces.length <= 1) {\n console.error('Wont remove a single trace', this);\n return;\n }\n\n for (let i = 0; i < this.traces.length; i++) {\n if (this.trace === this.traces[i]) {\n this.traces.splice(i, 1);\n if (i >= this.traces.length) {\n i = this.traces.length - 1;\n }\n this.ctrl.onConfigChanged();\n this.ctrl._updateTraceData(true);\n this.selectTrace(i);\n this.ctrl.refresh();\n return;\n }\n }\n\n console.error('Could not find', this);\n }\n\n static createTraceName(idx: number) {\n return 'Trace ' + (idx + 1);\n }\n\n //-----------------------------------------------------------------------\n // SERIES\n //-----------------------------------------------------------------------\n\n getSeriesSegs(withRemove = false): Promise {\n return new Promise((resolve, reject) => {\n const series: any[] = [];\n\n if (withRemove) {\n series.push(\n this.ctrl.uiSegmentSrv.newSegment({\n fake: true,\n value: REMOVE_KEY,\n series: null,\n })\n );\n }\n this.ctrl.series.forEach(s => {\n series.push(\n this.ctrl.uiSegmentSrv.newSegment({\n value: s.name,\n series: s,\n })\n );\n });\n\n //console.log('GET Segments:', withRemove, series);\n //console.log('ALL Series:', this.ctrl.series);\n resolve(series);\n });\n }\n\n onAxisSeriesChanged(axis: AxisInfo) {\n this.updateSegMapping(axis.segment.value, axis.property, true);\n this.onConfigChanged();\n }\n\n getTextSegments(): any[] {\n return [this.mapping.text];\n }\n\n onTextMetricChanged(sss: any) {\n const seg = this.mapping.text;\n this.updateSegMapping(seg.value, 'text', true);\n this.onConfigChanged();\n }\n\n getColorSegments(): any[] {\n if (this.trace.settings.color_option === 'ramp') {\n return [this.mapping.color];\n }\n return [];\n }\n\n onColorChanged() {\n const seg = this.mapping.color;\n this.updateSegMapping(seg.value, 'color', true);\n this.onConfigChanged();\n }\n\n //-----------------------------------------------------------------------\n // SYMBOLS\n //-----------------------------------------------------------------------\n\n onSymbolChanged() {\n this.trace.settings.marker.symbol = this.symbol.value;\n this.onConfigChanged();\n }\n\n getSymbolSegs(): Promise {\n return new Promise((resolve, reject) => {\n const txt = [\n 'circle',\n 'circle-open',\n 'circle-dot',\n 'circle-open-dot',\n 'square',\n 'square-open',\n 'square-dot',\n 'square-open-dot',\n 'diamond',\n 'diamond-open',\n 'diamond-dot',\n 'diamond-open-dot',\n 'cross',\n 'cross-open',\n 'cross-dot',\n 'cross-open-dot',\n 'x',\n 'x-open',\n 'x-dot',\n 'x-open-dot',\n 'triangle-up',\n 'triangle-up-open',\n 'triangle-up-dot',\n 'triangle-up-open-dot',\n 'triangle-down',\n 'triangle-down-open',\n 'triangle-down-dot',\n 'triangle-down-open-dot',\n 'triangle-left',\n 'triangle-left-open',\n 'triangle-left-dot',\n 'triangle-left-open-dot',\n 'triangle-right',\n 'triangle-right-open',\n 'triangle-right-dot',\n 'triangle-right-open-dot',\n 'triangle-ne',\n 'triangle-ne-open',\n 'triangle-ne-dot',\n 'triangle-ne-open-dot',\n 'triangle-se',\n 'triangle-se-open',\n 'triangle-se-dot',\n 'triangle-se-open-dot',\n 'triangle-sw',\n 'triangle-sw-open',\n 'triangle-sw-dot',\n 'triangle-sw-open-dot',\n 'triangle-nw',\n 'triangle-nw-open',\n 'triangle-nw-dot',\n 'triangle-nw-open-dot',\n 'pentagon',\n 'pentagon-open',\n 'pentagon-dot',\n 'pentagon-open-dot',\n 'hexagon',\n 'hexagon-open',\n 'hexagon-dot',\n 'hexagon-open-dot',\n 'hexagon2',\n 'hexagon2-open',\n 'hexagon2-dot',\n 'hexagon2-open-dot',\n 'octagon',\n 'octagon-open',\n 'octagon-dot',\n 'octagon-open-dot',\n 'star',\n 'star-open',\n 'star-dot',\n 'star-open-dot',\n 'hexagram',\n 'hexagram-open',\n 'hexagram-dot',\n 'hexagram-open-dot',\n 'star-triangle-up',\n 'star-triangle-up-open',\n 'star-triangle-up-dot',\n 'star-triangle-up-open-dot',\n 'star-triangle-down',\n 'star-triangle-down-open',\n 'star-triangle-down-dot',\n 'star-triangle-down-open-dot',\n 'star-square',\n 'star-square-open',\n 'star-square-dot',\n 'star-square-open-dot',\n 'star-diamond',\n 'star-diamond-open',\n 'star-diamond-dot',\n 'star-diamond-open-dot',\n 'diamond-tall',\n 'diamond-tall-open',\n 'diamond-tall-dot',\n 'diamond-tall-open-dot',\n 'diamond-wide',\n 'diamond-wide-open',\n 'diamond-wide-dot',\n 'diamond-wide-open-dot',\n 'hourglass',\n 'hourglass-open',\n 'bowtie',\n 'bowtie-open',\n 'circle-cross',\n 'circle-cross-open',\n 'circle-x',\n 'circle-x-open',\n 'square-cross',\n 'square-cross-open',\n 'square-x',\n 'square-x-open',\n 'diamond-cross',\n 'diamond-cross-open',\n 'diamond-x',\n 'diamond-x-open',\n 'cross-thin',\n 'cross-thin-open',\n 'x-thin',\n 'x-thin-open',\n 'asterisk',\n 'asterisk-open',\n 'hash',\n 'hash-open',\n 'hash-dot',\n 'hash-open-dot',\n 'y-up',\n 'y-up-open',\n 'y-down',\n 'y-down-open',\n 'y-left',\n 'y-left-open',\n 'y-right',\n 'y-right-open',\n 'line-ew',\n 'line-ew-open',\n 'line-ns',\n 'line-ns-open',\n 'line-ne',\n 'line-ne-open',\n 'line-nw',\n 'line-nw-open',\n ];\n\n const segs: any[] = [];\n _.forEach(txt, val => {\n segs.push(this.ctrl.uiSegmentSrv.newSegment(val));\n });\n resolve(segs);\n });\n }\n}\n","import $script from 'scriptjs';\n\nlet loaded: any; // Plotly Library\nlet isFull = false;\nlet wasCDN = false;\n\nexport function loadPlotly(cfg: any): Promise {\n if (loaded) {\n console.log('using already loaded value');\n return Promise.resolve(loaded);\n }\n\n const needsFull = cfg.settings.type !== 'scatter';\n let url = 'public/plugins/natel-plotly-panel/lib/plotly-cartesian.min.js';\n if (cfg.loadFromCDN) {\n url = needsFull\n ? 'https://cdn.plot.ly/plotly-latest.min.js'\n : 'https://cdn.plot.ly/plotly-cartesian-latest.min.js';\n } else if (needsFull) {\n url = 'public/plugins/natel-plotly-panel/lib/plotly.min.js';\n }\n return new Promise((resolve, reject) => {\n $script(url, resolve);\n }).then(res => {\n isFull = needsFull;\n wasCDN = cfg.loadFromCDN;\n loaded = window['Plotly'];\n return loaded;\n });\n}\n\nexport function loadIfNecessary(cfg: any): Promise {\n if (!loaded) {\n return loadPlotly(cfg);\n }\n\n if (wasCDN !== cfg.loadFromCDN) {\n console.log('Use CDN', cfg.loadFromCDN);\n loaded = null;\n return loadPlotly(cfg);\n }\n\n const needsFull = cfg.settings.type !== 'scatter';\n if (needsFull && !isFull) {\n console.log('Switching to the full plotly library');\n loaded = null;\n return loadPlotly(cfg);\n }\n\n // No changes\n return Promise.resolve(null);\n}\n","/*!\n * $script.js JS loader & dependency manager\n * https://github.com/ded/script.js\n * (c) Dustin Diaz 2014 | License MIT\n */\n\n(function (name, definition) {\n if (typeof module != 'undefined' && module.exports) module.exports = definition()\n else if (typeof define == 'function' && define.amd) define(definition)\n else this[name] = definition()\n})('$script', function () {\n var doc = document\n , head = doc.getElementsByTagName('head')[0]\n , s = 'string'\n , f = false\n , push = 'push'\n , readyState = 'readyState'\n , onreadystatechange = 'onreadystatechange'\n , list = {}\n , ids = {}\n , delay = {}\n , scripts = {}\n , scriptpath\n , urlArgs\n\n function every(ar, fn) {\n for (var i = 0, j = ar.length; i < j; ++i) if (!fn(ar[i])) return f\n return 1\n }\n function each(ar, fn) {\n every(ar, function (el) {\n fn(el)\n return 1\n })\n }\n\n function $script(paths, idOrDone, optDone) {\n paths = paths[push] ? paths : [paths]\n var idOrDoneIsDone = idOrDone && idOrDone.call\n , done = idOrDoneIsDone ? idOrDone : optDone\n , id = idOrDoneIsDone ? paths.join('') : idOrDone\n , queue = paths.length\n function loopFn(item) {\n return item.call ? item() : list[item]\n }\n function callback() {\n if (!--queue) {\n list[id] = 1\n done && done()\n for (var dset in delay) {\n every(dset.split('|'), loopFn) && !each(delay[dset], loopFn) && (delay[dset] = [])\n }\n }\n }\n setTimeout(function () {\n each(paths, function loading(path, force) {\n if (path === null) return callback()\n \n if (!force && !/^https?:\\/\\//.test(path) && scriptpath) {\n path = (path.indexOf('.js') === -1) ? scriptpath + path + '.js' : scriptpath + path;\n }\n \n if (scripts[path]) {\n if (id) ids[id] = 1\n return (scripts[path] == 2) ? callback() : setTimeout(function () { loading(path, true) }, 0)\n }\n\n scripts[path] = 1\n if (id) ids[id] = 1\n create(path, callback)\n })\n }, 0)\n return $script\n }\n\n function create(path, fn) {\n var el = doc.createElement('script'), loaded\n el.onload = el.onerror = el[onreadystatechange] = function () {\n if ((el[readyState] && !(/^c|loade/.test(el[readyState]))) || loaded) return;\n el.onload = el[onreadystatechange] = null\n loaded = 1\n scripts[path] = 2\n fn()\n }\n el.async = 1\n el.src = urlArgs ? path + (path.indexOf('?') === -1 ? '?' : '&') + urlArgs : path;\n head.insertBefore(el, head.lastChild)\n }\n\n $script.get = create\n\n $script.order = function (scripts, id, done) {\n (function callback(s) {\n s = scripts.shift()\n !scripts.length ? $script(s, id, done) : $script(s, callback)\n }())\n }\n\n $script.path = function (p) {\n scriptpath = p\n }\n $script.urlArgs = function (str) {\n urlArgs = str;\n }\n $script.ready = function (deps, ready, req) {\n deps = deps[push] ? deps : [deps]\n var missing = [];\n !each(deps, function (dep) {\n list[dep] || missing[push](dep);\n }) && every(deps, function (dep) {return list[dep]}) ?\n ready() : !function (key) {\n delay[key] = delay[key] || []\n delay[key][push](ready)\n req && req(missing)\n }(deps.join('|'))\n return $script\n }\n\n $script.done = function (idOrDone) {\n $script([null], idOrDone)\n }\n\n return $script\n});\n","import {Shape, Data} from 'plotly.js';\n\nexport class AnnoInfo {\n trace: Data;\n shapes: Shape[];\n\n constructor() {\n this.clear();\n }\n\n clear() {\n this.shapes = [];\n this.trace = {\n mode: 'markers',\n type: 'scatter',\n hoverinfo: 'x+text',\n x: [],\n y: [],\n text: [],\n yaxis: 'y2',\n marker: {\n size: 15,\n symbol: 'triangle-up',\n color: [],\n },\n };\n }\n\n update(results: any): boolean {\n if (!results || !results.annotations) {\n this.clear();\n return false;\n }\n\n const x: number[] = [];\n const y: number[] = [];\n const text: string[] = [];\n const color: string[] = [];\n\n this.shapes = results.annotations.map(a => {\n x.push(a.time);\n y.push(0);\n text.push('XXXX');\n color.push(a.annotation.iconColor);\n\n return {\n type: 'line', // rect\n xref: 'x',\n yref: 'paper',\n x0: a.time,\n y0: 0,\n x1: a.time,\n y1: 1,\n\n visible: true,\n layer: 'above',\n\n fillcolor: a.annotation.iconColor,\n opacity: 0.8,\n line: {\n color: a.annotation.iconColor,\n width: 1,\n dash: 'dash',\n },\n } as Shape;\n });\n\n // Overwrite it with new points\n this.trace = {...this.trace, x, y, text};\n this.trace.marker!.color = color;\n return x.length > 0;\n }\n}\n"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/partials/module.html b/dist/partials/module.html new file mode 100644 index 0000000..75e0071 --- /dev/null +++ b/dist/partials/module.html @@ -0,0 +1 @@ +
diff --git a/dist/partials/tab_display.html b/dist/partials/tab_display.html new file mode 100644 index 0000000..709bb92 --- /dev/null +++ b/dist/partials/tab_display.html @@ -0,0 +1,148 @@ +
+
+
Options
+
+ +
+ +
+
+ +
+ +
+ +
+
+ +
+ +
+ +
+
+ + + + + + + + + +
+ +
+ +
+
+
+ +
+
{{axis.label}}
+ +
+ + +
+ +
+ +
+ +
+
+ +
+ +
+ +
+
+ +
+ + +
+
+ + +
+ + + +
+ +
diff --git a/dist/partials/tab_traces.html b/dist/partials/tab_traces.html new file mode 100644 index 0000000..047b6d7 --- /dev/null +++ b/dist/partials/tab_traces.html @@ -0,0 +1,273 @@ +
+
+ {{warn}} +
+
+ +
+ + +
+ +
+
Trace
+
+
+ + +
+
+ +
Metrics
+
+
+ + +
+
+
+ +
+
Markers
+ + +
+
+ + +
+ +
+ + +
+ + + +
+ +
+ +
+
+ +
+ + + + + +
+ +
+ + +
+ +
+ +
+ +
+
+ +
+
+ +
+
Lines
+ + +
+ +
+ + +
+
+ +
+ +
+
+
+ +
+ +
+
+ +
+ + + + + +
+
+
+ +
+
Text
+ +
+ + +
+ +
+ +
+ +
+
+ +
+
+
+ diff --git a/dist/plugin.json b/dist/plugin.json new file mode 100644 index 0000000..e4e305e --- /dev/null +++ b/dist/plugin.json @@ -0,0 +1,35 @@ +{ + "type": "panel", + "name": "Plotly", + "id": "natel-plotly-panel", + + "info": { + "description": "Scatter plots and more", + "author": { + "name": "Natel Energy" + }, + "keywords": ["plotly", "scatter", "panel"], + "logos": { + "small": "img/plotly_logo.svg", + "large": "img/plotly_logo.svg" + }, + "links": [ + {"name": "Plot.ly", "url": "https://plot.ly/javascript/"}, + {"name": "Project Page", "url": "https://github.com/NatelEnergy/grafana-plotly-panel"}, + {"name": "Natel Energy", "url": "http://www.natelenergy.com/"} + ], + "screenshots": [ + {"name": "Scatter", "path": "img/screenshot-scatter.png"}, + {"name": "Scatter 2D", "path": "img/screenshot-scatter-1.png"}, + {"name": "Scatter 3D", "path": "img/screenshot-scatter-3d.png"}, + {"name": "Options", "path": "img/screenshot-options.png"} + ], + "version": "0.0.6", + "updated": "2019-02-08" + }, + + "dependencies": { + "grafanaVersion": "4.x.x", + "plugins": [] + } +} diff --git a/package.json b/package.json index 54b6ec7..46c0325 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "natel-plotly-panel", - "version": "0.0.5", + "version": "0.0.6", "description": "Plot.ly Panel Plugin for Grafana", "scripts": { "build": "webpack --config webpack.config.prod.js",

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 literal 0 HcmV?d00001 diff --git a/dist/lib/plotly-cartesian.min.js b/dist/lib/plotly-cartesian.min.js new file mode 100644 index 0000000..a2a4565 --- /dev/null +++ b/dist/lib/plotly-cartesian.min.js @@ -0,0 +1,7 @@ +/** +* plotly.js (cartesian - minified) v1.44.3 +* Copyright 2012-2019, 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(){return function t(e,r,n){function a(o,l){if(!r[o]){if(!e[o]){var s="function"==typeof require&&require;if(!l&&s)return s(o,!0);if(i)return i(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 a(e[o][1][t]||t)},u,u.exports,t,e,r,n)}return r[o].exports}for(var i="function"==typeof require&&require,o=0;o: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;margin-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;margin-left:0px;margin-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';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 i in a){var o=i.replace(/^,/," ,").replace(/X/g,".js-plotly-plot .plotly").replace(/Y/g,".plotly-notifier");n.addStyleRule(o,a[i])}},{"../src/lib":168}],2:[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)"},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)"},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)"},newplotlylogo:{name:"newplotlylogo",svg:"plotly-logomark"}}},{}],3:[function(t,e,r){"use strict";e.exports=t("../src/traces/bar")},{"../src/traces/bar":274}],4:[function(t,e,r){"use strict";e.exports=t("../src/traces/box")},{"../src/traces/box":288}],5:[function(t,e,r){"use strict";e.exports=t("../src/traces/contour")},{"../src/traces/contour":308}],6:[function(t,e,r){"use strict";e.exports=t("../src/core")},{"../src/core":151}],7:[function(t,e,r){"use strict";e.exports=t("../src/traces/heatmap")},{"../src/traces/heatmap":324}],8:[function(t,e,r){"use strict";e.exports=t("../src/traces/histogram")},{"../src/traces/histogram":342}],9:[function(t,e,r){"use strict";e.exports=t("../src/traces/histogram2d")},{"../src/traces/histogram2d":349}],10:[function(t,e,r){"use strict";e.exports=t("../src/traces/histogram2dcontour")},{"../src/traces/histogram2dcontour":353}],11:[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("./pie"),t("./contour"),t("./scatterternary"),t("./violin")]),e.exports=n},{"./bar":3,"./box":4,"./contour":5,"./core":6,"./heatmap":7,"./histogram":8,"./histogram2d":9,"./histogram2dcontour":10,"./pie":12,"./scatterternary":13,"./violin":14}],12:[function(t,e,r){"use strict";e.exports=t("../src/traces/pie")},{"../src/traces/pie":360}],13:[function(t,e,r){"use strict";e.exports=t("../src/traces/scatterternary")},{"../src/traces/scatterternary":399}],14:[function(t,e,r){"use strict";e.exports=t("../src/traces/violin")},{"../src/traces/violin":407}],15:[function(t,e,r){var n=Object.create||function(t){var e=function(){};return e.prototype=t,new e},a=Object.keys||function(t){var e=[];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.push(r);return r},i=Function.prototype.bind||function(t){var e=this;return function(){return e.apply(t,arguments)}};function o(){this._events&&Object.prototype.hasOwnProperty.call(this,"_events")||(this._events=n(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0}e.exports=o,o.EventEmitter=o,o.prototype._events=void 0,o.prototype._maxListeners=void 0;var l,s=10;try{var c={};Object.defineProperty&&Object.defineProperty(c,"x",{value:0}),l=0===c.x}catch(t){l=!1}function u(t){return void 0===t._maxListeners?o.defaultMaxListeners:t._maxListeners}function f(t,e,r,a){var i,o,l;if("function"!=typeof r)throw new TypeError('"listener" argument must be a function');if((o=t._events)?(o.newListener&&(t.emit("newListener",e,r.listener?r.listener:r),o=t._events),l=o[e]):(o=t._events=n(null),t._eventsCount=0),l){if("function"==typeof l?l=o[e]=a?[r,l]:[l,r]:a?l.unshift(r):l.push(r),!l.warned&&(i=u(t))&&i>0&&l.length>i){l.warned=!0;var s=new Error("Possible EventEmitter memory leak detected. "+l.length+' "'+String(e)+'" listeners added. Use emitter.setMaxListeners() to increase limit.');s.name="MaxListenersExceededWarning",s.emitter=t,s.type=e,s.count=l.length,"object"==typeof console&&console.warn&&console.warn("%s: %s",s.name,s.message)}}else l=o[e]=r,++t._eventsCount;return t}function d(){if(!this.fired)switch(this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length){case 0:return this.listener.call(this.target);case 1:return this.listener.call(this.target,arguments[0]);case 2:return this.listener.call(this.target,arguments[0],arguments[1]);case 3:return this.listener.call(this.target,arguments[0],arguments[1],arguments[2]);default:for(var t=new Array(arguments.length),e=0;e1&&(e=arguments[1]),e instanceof Error)throw e;var s=new Error('Unhandled "error" event. ('+e+")");throw s.context=e,s}if(!(r=o[t]))return!1;var c="function"==typeof r;switch(n=arguments.length){case 1:!function(t,e,r){if(e)t.call(r);else for(var n=t.length,a=v(t,n),i=0;i=0;o--)if(r[o]===e||r[o].listener===e){l=r[o].listener,i=o;break}if(i<0)return this;0===i?r.shift():function(t,e){for(var r=e,n=r+1,a=t.length;n=0;i--)this.removeListener(t,e[i]);return this},o.prototype.listeners=function(t){return h(this,t,!0)},o.prototype.rawListeners=function(t){return h(this,t,!1)},o.listenerCount=function(t,e){return"function"==typeof t.listenerCount?t.listenerCount(e):g.call(t,e)},o.prototype.listenerCount=g,o.prototype.eventNames=function(){return this._eventsCount>0?Reflect.ownKeys(this._events):[]}},{}],16:[function(t,e,r){!function(){var t={version:"3.5.17"},r=[].slice,n=function(t){return r.call(t)},a=this.document;function i(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(a)try{n(a.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}),a)try{a.createElement("DIV").style.setProperty("opacity",0,"")}catch(t){var l=this.Element.prototype,s=l.setAttribute,c=l.setAttributeNS,u=this.CSSStyleDeclaration.prototype,f=u.setProperty;l.setAttribute=function(t,e){s.call(this,t,e+"")},l.setAttributeNS=function(t,e,r){c.call(this,t,e,r+"")},u.setProperty=function(t,e,r){f.call(this,t,e+"",r)}}function d(t,e){return te?1:t>=e?0:NaN}function p(t){return null===t?NaN:+t}function h(t){return!isNaN(t)}function g(t){return{left:function(e,r,n,a){for(arguments.length<3&&(n=0),arguments.length<4&&(a=e.length);n>>1;t(e[i],r)<0?n=i+1:a=i}return n},right:function(e,r,n,a){for(arguments.length<3&&(n=0),arguments.length<4&&(a=e.length);n>>1;t(e[i],r)>0?a=i:n=i+1}return n}}}t.ascending=d,t.descending=function(t,e){return et?1:e>=t?0:NaN},t.min=function(t,e){var r,n,a=-1,i=t.length;if(1===arguments.length){for(;++a=n){r=n;break}for(;++an&&(r=n)}else{for(;++a=n){r=n;break}for(;++an&&(r=n)}return r},t.max=function(t,e){var r,n,a=-1,i=t.length;if(1===arguments.length){for(;++a=n){r=n;break}for(;++ar&&(r=n)}else{for(;++a=n){r=n;break}for(;++ar&&(r=n)}return r},t.extent=function(t,e){var r,n,a,i=-1,o=t.length;if(1===arguments.length){for(;++i=n){r=a=n;break}for(;++in&&(r=n),a=n){r=a=n;break}for(;++in&&(r=n),a1)return o/(s-1)},t.deviation=function(){var e=t.variance.apply(this,arguments);return e?Math.sqrt(e):e};var v=g(d);function y(t){return t.length}t.bisectLeft=v.left,t.bisect=t.bisectRight=v.right,t.bisector=function(t){return g(1===t.length?function(e,r){return d(t(e),r)}:t)},t.shuffle=function(t,e,r){(i=arguments.length)<3&&(r=t.length,i<2&&(e=0));for(var n,a,i=r-e;i;)a=Math.random()*i--|0,n=t[i+e],t[i+e]=t[a+e],t[a+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],a=new Array(r<0?0:r);e=0;)for(e=(n=t[a]).length;--e>=0;)r[--o]=n[e];return r};var m=Math.abs;function x(t,e){for(var r in e)Object.defineProperty(t.prototype,r,{value:e[r],enumerable:!1})}function b(){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,a=[],i=function(t){var e=1;for(;t*e%1;)e*=10;return e}(m(r)),o=-1;if(t*=i,e*=i,(r*=i)<0)for(;(n=t+r*++o)>e;)a.push(n/i);else for(;(n=t+r*++o)=a.length)return r?r.call(n,i):e?i.sort(e):i;for(var s,c,u,f,d=-1,p=i.length,h=a[l++],g=new b;++d=a.length)return e;var n=[],o=i[r++];return e.forEach(function(e,a){n.push({key:e,values:t(a,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 a.push(t),n},n.sortKeys=function(t){return i[a.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 O;if(t)for(var r=0,n=t.length;r=0&&(n=t.slice(r+1),t=t.slice(0,r)),t)return arguments.length<2?this[t].on(n):this[t].on(n,e);if(2===arguments.length){if(null==e)for(t in this)this.hasOwnProperty(t)&&this[t].on(n,null);return this}},t.event=null,t.requote=function(t){return t.replace(H,"\\$&")};var H=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g,q={}.__proto__?function(t,e){t.__proto__=e}:function(t,e){for(var r in e)t[r]=e[r]};function V(t){return q(t,X),t}var U=function(t,e){return e.querySelector(t)},G=function(t,e){return e.querySelectorAll(t)},Z=function(t,e){var r=t.matches||t[P(t,"matchesSelector")];return(Z=function(t,e){return r.call(t,e)})(t,e)};"function"==typeof Sizzle&&(U=function(t,e){return Sizzle(t,e)[0]||null},G=Sizzle,Z=Sizzle.matchesSelector),t.selection=function(){return t.select(a.documentElement)};var X=t.selection.prototype=[];function Y(t){return"function"==typeof t?t:function(){return U(t,this)}}function W(t){return"function"==typeof t?t:function(){return G(t,this)}}X.select=function(t){var e,r,n,a,i=[];t=Y(t);for(var o=-1,l=this.length;++o=0&&"xmlns"!==(r=t.slice(0,e))&&(t=t.slice(e+1)),$.hasOwnProperty(r)?{space:$[r],local:t}:t}},X.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(Q(r,e[r]));return this}return this.each(Q(e,r))},X.classed=function(t,e){if(arguments.length<2){if("string"==typeof t){var r=this.node(),n=(t=et(t)).length,a=-1;if(e=r.classList){for(;++a=0;)(r=n[a])&&(i&&i!==r.nextSibling&&i.parentNode.insertBefore(r,i),i=r);return this},X.sort=function(t){t=function(t){arguments.length||(t=d);return function(e,r){return e&&r?t(e.__data__,r.__data__):!e-!r}}.apply(this,arguments);for(var e=-1,r=this.length;++e0&&(e=e.slice(0,o));var s=ht.get(e);function c(){var t=this[i];t&&(this.removeEventListener(e,t,t.$),delete this[i])}return s&&(e=s,l=vt),o?r?function(){var t=l(r,n(arguments));c.call(this),this.addEventListener(e,this[i]=t,t.$=a),t._=r}:c:r?R:function(){var r,n=new RegExp("^__on([^.]+)"+t.requote(e)+"$");for(var a in this)if(r=a.match(n)){var i=this[a];this.removeEventListener(r[1],i,i.$),delete this[a]}}}t.selection.enter=ft,t.selection.enter.prototype=dt,dt.append=X.append,dt.empty=X.empty,dt.node=X.node,dt.call=X.call,dt.size=X.size,dt.select=function(t){for(var e,r,n,a,i,o=[],l=-1,s=this.length;++l=n&&(n=e+1);!(o=l[n])&&++n0?1:t<0?-1:0}function Dt(t,e,r){return(e[0]-t[0])*(r[1]-t[1])-(e[1]-t[1])*(r[0]-t[0])}function Pt(t){return t>1?0:t<-1?Mt:Math.acos(t)}function Et(t){return t>1?St:t<-1?-St:Math.asin(t)}function Rt(t){return((t=Math.exp(t))+1/t)/2}function It(t){return(t=Math.sin(t/2))*t}var Ft=Math.SQRT2;t.interpolateZoom=function(t,e){var r,n,a=t[0],i=t[1],o=t[2],l=e[0],s=e[1],c=e[2],u=l-a,f=s-i,d=u*u+f*f;if(d0&&(e=e.transition().duration(g)),e.call(w.event)}function L(){c&&c.domain(s.range().map(function(t){return(t-d.x)/d.k}).map(s.invert)),f&&f.domain(u.range().map(function(t){return(t-d.y)/d.k}).map(u.invert))}function S(t){v++||t({type:"zoomstart"})}function C(t){L(),t({type:"zoom",scale:d.k,translate:[d.x,d.y]})}function O(t){--v||(t({type:"zoomend"}),r=null)}function z(){var e=this,r=_.of(e,arguments),n=0,a=t.select(o(e)).on(m,function(){n=1,M(t.mouse(e),i),C(r)}).on(x,function(){a.on(m,null).on(x,null),l(n),O(r)}),i=k(t.mouse(e)),l=xt(e);fl.call(e),S(r)}function D(){var e,r=this,n=_.of(r,arguments),a={},i=0,o=".zoom-"+t.event.changedTouches[0].identifier,s="touchmove"+o,c="touchend"+o,u=[],f=t.select(r),p=xt(r);function h(){var n=t.touches(r);return e=d.k,n.forEach(function(t){t.identifier in a&&(a[t.identifier]=k(t))}),n}function g(){var e=t.event.target;t.select(e).on(s,v).on(c,m),u.push(e);for(var n=t.event.changedTouches,o=0,f=n.length;o1){y=p[0];var x=p[1],b=y[0]-x[0],_=y[1]-x[1];i=b*b+_*_}}function v(){var o,s,c,u,f=t.touches(r);fl.call(r);for(var d=0,p=f.length;d360?t-=360:t<0&&(t+=360),t<60?n+(a-n)*t/60:t<180?a:t<240?n+(a-n)*(240-t)/60:n}(t))}return t=isNaN(t)?0:(t%=360)<0?t+360:t,e=isNaN(e)?0:e<0?0:e>1?1:e,n=2*(r=r<0?0:r>1?1:r)-(a=r<=.5?r*(1+e):r+e-r*e),new ie(i(t+120),i(t),i(t-120))}function Gt(e,r,n){return this instanceof Gt?(this.h=+e,this.c=+r,void(this.l=+n)):arguments.length<2?e instanceof Gt?new Gt(e.h,e.c,e.l):ee(e instanceof Yt?e.l:(e=de((e=t.rgb(e)).r,e.g,e.b)).l,e.a,e.b):new Gt(e,r,n)}Vt.brighter=function(t){return t=Math.pow(.7,arguments.length?t:1),new qt(this.h,this.s,this.l/t)},Vt.darker=function(t){return t=Math.pow(.7,arguments.length?t:1),new qt(this.h,this.s,t*this.l)},Vt.rgb=function(){return Ut(this.h,this.s,this.l)},t.hcl=Gt;var Zt=Gt.prototype=new Ht;function Xt(t,e,r){return isNaN(t)&&(t=0),isNaN(e)&&(e=0),new Yt(r,Math.cos(t*=Ct)*e,Math.sin(t)*e)}function Yt(t,e,r){return this instanceof Yt?(this.l=+t,this.a=+e,void(this.b=+r)):arguments.length<2?t instanceof Yt?new Yt(t.l,t.a,t.b):t instanceof Gt?Xt(t.h,t.c,t.l):de((t=ie(t)).r,t.g,t.b):new Yt(t,e,r)}Zt.brighter=function(t){return new Gt(this.h,this.c,Math.min(100,this.l+Wt*(arguments.length?t:1)))},Zt.darker=function(t){return new Gt(this.h,this.c,Math.max(0,this.l-Wt*(arguments.length?t:1)))},Zt.rgb=function(){return Xt(this.h,this.c,this.l).rgb()},t.lab=Yt;var Wt=18,Jt=.95047,$t=1,Qt=1.08883,Kt=Yt.prototype=new Ht;function te(t,e,r){var n=(t+16)/116,a=n+e/500,i=n-r/200;return new ie(ae(3.2404542*(a=re(a)*Jt)-1.5371385*(n=re(n)*$t)-.4985314*(i=re(i)*Qt)),ae(-.969266*a+1.8760108*n+.041556*i),ae(.0556434*a-.2040259*n+1.0572252*i))}function ee(t,e,r){return t>0?new Gt(Math.atan2(r,e)*Ot,Math.sqrt(e*e+r*r),t):new Gt(NaN,NaN,t)}function re(t){return t>.206893034?t*t*t:(t-4/29)/7.787037}function ne(t){return t>.008856?Math.pow(t,1/3):7.787037*t+4/29}function ae(t){return Math.round(255*(t<=.00304?12.92*t:1.055*Math.pow(t,1/2.4)-.055))}function ie(t,e,r){return this instanceof ie?(this.r=~~t,this.g=~~e,void(this.b=~~r)):arguments.length<2?t instanceof ie?new ie(t.r,t.g,t.b):ue(""+t,ie,Ut):new ie(t,e,r)}function oe(t){return new ie(t>>16,t>>8&255,255&t)}function le(t){return oe(t)+""}Kt.brighter=function(t){return new Yt(Math.min(100,this.l+Wt*(arguments.length?t:1)),this.a,this.b)},Kt.darker=function(t){return new Yt(Math.max(0,this.l-Wt*(arguments.length?t:1)),this.a,this.b)},Kt.rgb=function(){return te(this.l,this.a,this.b)},t.rgb=ie;var se=ie.prototype=new Ht;function ce(t){return t<16?"0"+Math.max(0,t).toString(16):Math.min(255,t).toString(16)}function ue(t,e,r){var n,a,i,o=0,l=0,s=0;if(n=/([a-z]+)\((.*)\)/.exec(t=t.toLowerCase()))switch(a=n[2].split(","),n[1]){case"hsl":return r(parseFloat(a[0]),parseFloat(a[1])/100,parseFloat(a[2])/100);case"rgb":return e(he(a[0]),he(a[1]),he(a[2]))}return(i=ge.get(t))?e(i.r,i.g,i.b):(null==t||"#"!==t.charAt(0)||isNaN(i=parseInt(t.slice(1),16))||(4===t.length?(o=(3840&i)>>4,o|=o>>4,l=240&i,l|=l>>4,s=15&i,s|=s<<4):7===t.length&&(o=(16711680&i)>>16,l=(65280&i)>>8,s=255&i)),e(o,l,s))}function fe(t,e,r){var n,a,i=Math.min(t/=255,e/=255,r/=255),o=Math.max(t,e,r),l=o-i,s=(o+i)/2;return l?(a=s<.5?l/(o+i):l/(2-o-i),n=t==o?(e-r)/l+(e0&&s<1?0:n),new qt(n,a,s)}function de(t,e,r){var n=ne((.4124564*(t=pe(t))+.3575761*(e=pe(e))+.1804375*(r=pe(r)))/Jt),a=ne((.2126729*t+.7151522*e+.072175*r)/$t);return Yt(116*a-16,500*(n-a),200*(a-ne((.0193339*t+.119192*e+.9503041*r)/Qt)))}function pe(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function he(t){var e=parseFloat(t);return"%"===t.charAt(t.length-1)?Math.round(2.55*e):e}se.brighter=function(t){t=Math.pow(.7,arguments.length?t:1);var e=this.r,r=this.g,n=this.b,a=30;return e||r||n?(e&&e=200&&e<300||304===e){try{t=a.call(o,c)}catch(t){return void l.error.call(o,t)}l.load.call(o,t)}else l.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{l.progress.call(o,c)}finally{t.event=r}},o.header=function(t,e){return t=(t+"").toLowerCase(),arguments.length<2?s[t]:(null==e?delete s[t]:s[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 a=t,o},["get","post"].forEach(function(t){o[t]=function(){return o.send.apply(o,[t].concat(n(arguments)))}}),o.send=function(t,n,a){if(2===arguments.length&&"function"==typeof n&&(a=n,n=null),c.open(t,e,!0),null==r||"accept"in s||(s.accept=r+",*/*"),c.setRequestHeader)for(var i in s)c.setRequestHeader(i,s[i]);return null!=r&&c.overrideMimeType&&c.overrideMimeType(r),null!=u&&(c.responseType=u),null!=a&&o.on("error",a).on("load",function(t){a(null,t)}),l.beforesend.call(o,c),c.send(null==n?null:n),o},o.abort=function(){return c.abort(),o},t.rebind(o,l,"on"),null==i?o:o.get(function(t){return 1===t.length?function(e,r){t(null==e?r:null)}:t}(i))}ge.forEach(function(t,e){ge.set(t,oe(e))}),t.functor=ve,t.xhr=ye(z),t.dsv=function(t,e){var r=new RegExp('["'+t+"\n]"),n=t.charCodeAt(0);function a(t,r,n){arguments.length<3&&(n=r,r=null);var a=me(t,e,null==r?i:o(r),n);return a.row=function(t){return arguments.length?a.response(null==(r=t)?i:o(t)):r},a}function i(t){return a.parse(t.responseText)}function o(t){return function(e){return a.parse(e.responseText,t)}}function l(e){return e.map(s).join(t)}function s(t){return r.test(t)?'"'+t.replace(/\"/g,'""')+'"':t}return a.parse=function(t,e){var r;return a.parseRows(t,function(t,n){if(r)return r(t,n-1);var a=new Function("d","return {"+t.map(function(t,e){return JSON.stringify(t)+": d["+e+"]"}).join(",")+"}");r=e?function(t,r){return e(a(t),r)}:a})},a.parseRows=function(t,e){var r,a,i={},o={},l=[],s=t.length,c=0,u=0;function f(){if(c>=s)return o;if(a)return a=!1,i;var e=c;if(34===t.charCodeAt(e)){for(var r=e;r++24?(isFinite(e)&&(clearTimeout(we),we=setTimeout(Me,e)),_e=0):(_e=1,ke(Me))}function Ae(){for(var t=Date.now(),e=xe;e;)t>=e.t&&e.c(t-e.t)&&(e.c=null),e=e.n;return t}function Le(){for(var t,e=xe,r=1/0;e;)e.c?(e.t8?function(t){return t/r}:function(t){return t*r},symbol:t}});t.formatPrefix=function(e,r){var n=0;return(e=+e)&&(e<0&&(e*=-1),r&&(e=t.round(e,Se(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)))),Ce[8+n/3]};var Oe=/(?:([^{])?([<>=^]))?([+\- ])?([$#])?(0)?(\d+)?(,)?(\.-?\d+)?([a-z%])?/i,ze=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,Se(e,r))).toFixed(Math.max(0,Math.min(20,Se(e*(1+1e-15),r))))}});function De(t){return t+""}var Pe=t.time={},Ee=Date;function Re(){this._=new Date(arguments.length>1?Date.UTC.apply(this,arguments):arguments[0])}Re.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(){Ie.setUTCDate.apply(this._,arguments)},setDay:function(){Ie.setUTCDay.apply(this._,arguments)},setFullYear:function(){Ie.setUTCFullYear.apply(this._,arguments)},setHours:function(){Ie.setUTCHours.apply(this._,arguments)},setMilliseconds:function(){Ie.setUTCMilliseconds.apply(this._,arguments)},setMinutes:function(){Ie.setUTCMinutes.apply(this._,arguments)},setMonth:function(){Ie.setUTCMonth.apply(this._,arguments)},setSeconds:function(){Ie.setUTCSeconds.apply(this._,arguments)},setTime:function(){Ie.setTime.apply(this._,arguments)}};var Ie=Date.prototype;function Fe(t,e,r){function n(e){var r=t(e),n=i(r,1);return e-r1)for(;o68?1900:2e3),r+a[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 $e(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 Ke(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 ar(t){var e=t.getTimezoneOffset(),r=e>0?"-":"+",n=m(e)/60|0,a=m(e)%60;return r+qe(n,"0",2)+qe(a,"0",2)}function ir(t,e,r){He.lastIndex=0;var n=He.exec(e.slice(r,r+1));return n?r+n[0].length:-1}function or(t){for(var e=t.length,r=-1;++r0&&l>0&&(s+l+1>e&&(l=Math.max(1,e-s)),i.push(t.substring(r-=l,r+l)),!((s+=l+1)>e));)l=a[o=(o+1)%a.length];return i.reverse().join(n)}:z;return function(e){var n=Oe.exec(e),a=n[1]||" ",l=n[2]||">",s=n[3]||"-",c=n[4]||"",u=n[5],f=+n[6],d=n[7],p=n[8],h=n[9],g=1,v="",y="",m=!1,x=!0;switch(p&&(p=+p.substring(1)),(u||"0"===a&&"="===l)&&(u=a="0",l="="),h){case"n":d=!0,h="g";break;case"%":g=100,y="%",h="f";break;case"p":g=100,y="%",h="r";break;case"b":case"o":case"x":case"X":"#"===c&&(v="0"+h.toLowerCase());case"c":x=!1;case"d":m=!0,p=0;break;case"s":g=-1,h="r"}"$"===c&&(v=i[0],y=i[1]),"r"!=h||p||(h="g"),null!=p&&("g"==h?p=Math.max(1,Math.min(21,p)):"e"!=h&&"f"!=h||(p=Math.max(0,Math.min(20,p)))),h=ze.get(h)||De;var b=u&&d;return function(e){var n=y;if(m&&e%1)return"";var i=e<0||0===e&&1/e<0?(e=-e,"-"):"-"===s?"":s;if(g<0){var c=t.formatPrefix(e,p);e=c.scale(e),n=c.symbol+y}else e*=g;var _,w,k=(e=h(e,p)).lastIndexOf(".");if(k<0){var T=x?e.lastIndexOf("e"):-1;T<0?(_=e,w=""):(_=e.substring(0,T),w=e.substring(T))}else _=e.substring(0,k),w=r+e.substring(k+1);!u&&d&&(_=o(_,1/0));var M=v.length+_.length+w.length+(b?0:i.length),A=M"===l?A+i+e:"^"===l?A.substring(0,M>>=1)+i+e+A.substring(M):i+(b?e:A+e))+n}}}(e),timeFormat:function(e){var r=e.dateTime,n=e.date,a=e.time,i=e.periods,o=e.days,l=e.shortDays,s=e.months,c=e.shortMonths;function u(t){var e=t.length;function r(r){for(var n,a,i,o=[],l=-1,s=0;++l=c)return-1;if(37===(a=e.charCodeAt(l++))){if(o=e.charAt(l++),!(i=w[o in Be?e.charAt(l++):o])||(n=i(t,r,n))<0)return-1}else if(a!=r.charCodeAt(n++))return-1}return n}u.utc=function(t){var e=u(t);function r(t){try{var r=new(Ee=Re);return r._=t,e(r)}finally{Ee=Date}}return r.parse=function(t){try{Ee=Re;var r=e.parse(t);return r&&r._}finally{Ee=Date}},r.toString=e.toString,r},u.multi=u.utc.multi=or;var d=t.map(),p=Ve(o),h=Ue(o),g=Ve(l),v=Ue(l),y=Ve(s),m=Ue(s),x=Ve(c),b=Ue(c);i.forEach(function(t,e){d.set(t.toLowerCase(),e)});var _={a:function(t){return l[t.getDay()]},A:function(t){return o[t.getDay()]},b:function(t){return c[t.getMonth()]},B:function(t){return s[t.getMonth()]},c:u(r),d:function(t,e){return qe(t.getDate(),e,2)},e:function(t,e){return qe(t.getDate(),e,2)},H:function(t,e){return qe(t.getHours(),e,2)},I:function(t,e){return qe(t.getHours()%12||12,e,2)},j:function(t,e){return qe(1+Pe.dayOfYear(t),e,3)},L:function(t,e){return qe(t.getMilliseconds(),e,3)},m:function(t,e){return qe(t.getMonth()+1,e,2)},M:function(t,e){return qe(t.getMinutes(),e,2)},p:function(t){return i[+(t.getHours()>=12)]},S:function(t,e){return qe(t.getSeconds(),e,2)},U:function(t,e){return qe(Pe.sundayOfYear(t),e,2)},w:function(t){return t.getDay()},W:function(t,e){return qe(Pe.mondayOfYear(t),e,2)},x:u(n),X:u(a),y:function(t,e){return qe(t.getFullYear()%100,e,2)},Y:function(t,e){return qe(t.getFullYear()%1e4,e,4)},Z:ar,"%":function(){return"%"}},w={a:function(t,e,r){g.lastIndex=0;var n=g.exec(e.slice(r));return n?(t.w=v.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=h.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){y.lastIndex=0;var n=y.exec(e.slice(r));return n?(t.m=m.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:Ke,L:nr,m:$e,M:er,p:function(t,e,r){var n=d.get(e.slice(r,r+=2).toLowerCase());return null==n?-1:(t.p=n,r)},S:rr,U:Ze,w:Ge,W:Xe,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:We,Y:Ye,Z:Je,"%":ir};return u}(e)}};var lr=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 sr(){}t.format=lr.numberFormat,t.geo={},sr.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 sr;function ur(t,e,r){var n=r.s=t+e,a=n-t,i=n-a;r.t=t-i+(e-a)}function fr(t,e){t&&pr.hasOwnProperty(t.type)&&pr[t.type](t,e)}t.geo.stream=function(t,e){t&&dr.hasOwnProperty(t.type)?dr[t.type](t,e):fr(t,e)};var dr={Feature:function(t,e){fr(t.geometry,e)},FeatureCollection:function(t,e){for(var r=t.features,n=-1,a=r.length;++n=0?1:-1,l=o*i,s=Math.cos(e),c=Math.sin(e),u=a*c,f=n*s+u*Math.cos(l),d=u*o*Math.sin(l);Sr.add(Math.atan2(d,f)),r=t,n=s,a=c}Cr.point=function(o,l){Cr.point=i,r=(t=o)*Ct,n=Math.cos(l=(e=l)*Ct/2+Mt/4),a=Math.sin(l)},Cr.lineEnd=function(){i(t,e)}}function zr(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 Dr(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function Pr(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 Er(t,e){t[0]+=e[0],t[1]+=e[1],t[2]+=e[2]}function Rr(t,e){return[t[0]*e,t[1]*e,t[2]*e]}function Ir(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]),Et(t[2])]}function Nr(t,e){return m(t[0]-e[0])kt?a=90:c<-kt&&(r=-90),f[0]=e,f[1]=n}};function p(t,i){u.push(f=[e=t,n=t]),ia&&(a=i)}function h(t,o){var l=zr([t*Ct,o*Ct]);if(s){var c=Pr(s,l),u=Pr([c[1],-c[0],0],c);Ir(u),u=Fr(u);var f=t-i,d=f>0?1:-1,h=u[0]*Ot*d,g=m(f)>180;if(g^(d*ia&&(a=v);else if(g^(d*i<(h=(h+360)%360-180)&&ha&&(a=o);g?t_(e,n)&&(n=t):_(t,n)>_(e,n)&&(e=t):n>=e?(tn&&(n=t)):t>i?_(e,t)>_(e,n)&&(n=t):_(t,n)>_(e,n)&&(e=t)}else p(t,o);s=l,i=t}function g(){d.point=h}function v(){f[0]=e,f[1]=n,d.point=p,s=null}function y(t,e){if(s){var r=t-i;c+=m(r)>180?r+(r>0?360:-360):r}else o=t,l=e;Cr.point(t,e),h(t,e)}function x(){Cr.lineStart()}function b(){y(o,l),Cr.lineEnd(),m(c)>kt&&(e=-(n=180)),f[0]=e,f[1]=n,s=null}function _(t,e){return(e-=t)<0?e+360:e}function w(t,e){return t[0]-e[0]}function k(t,e){return e[0]<=e[1]?e[0]<=t&&t<=e[1]:t_(g[0],g[1])&&(g[1]=p[1]),_(p[0],g[1])>_(g[0],g[1])&&(g[0]=p[0])):l.push(g=p);for(var s,c,p,h=-1/0,g=(o=0,l[c=l.length-1]);o<=c;g=p,++o)p=l[o],(s=_(g[1],p[0]))>h&&(h=s,e=p[0],n=g[1])}return u=f=null,e===1/0||r===1/0?[[NaN,NaN],[NaN,NaN]]:[[e,r],[n,a]]}}(),t.geo.centroid=function(e){yr=mr=xr=br=_r=wr=kr=Tr=Mr=Ar=Lr=0,t.geo.stream(e,Br);var r=Mr,n=Ar,a=Lr,i=r*r+n*n+a*a;return i=0;--l)a.point((f=u[l])[0],f[1]);else n(p.x,p.p.x,-1,a);p=p.p}u=(p=p.o).z,h=!h}while(!p.v);a.lineEnd()}}}function Yr(t){if(e=t.length){for(var e,r,n=0,a=t[0];++n=0?1:-1,k=w*_,T=k>Mt,M=h*x;if(Sr.add(Math.atan2(M*w*Math.sin(k),g*b+M*Math.cos(k))),i+=T?_+w*At:_,T^d>=r^y>=r){var A=Pr(zr(f),zr(t));Ir(A);var L=Pr(a,A);Ir(L);var S=(T^_>=0?-1:1)*Et(L[2]);(n>S||n===S&&(A[0]||A[1]))&&(o+=T^_>=0?1:-1)}if(!v++)break;d=y,h=x,g=b,f=t}}return(i<-kt||i0){for(x||(o.polygonStart(),x=!0),o.lineStart();++i1&&2&e&&r.push(r.pop().concat(r.shift())),l.push(r.filter($r))}return u}}function $r(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:R,buffer:function(){var r=e;return e=[],t=null,r},rejoin:function(){e.length>1&&e.push(e.pop().concat(e.shift()))}}}function Kr(t,e){return((t=t.x)[0]<0?t[1]-St-kt:St-t[1])-((e=e.x)[0]<0?e[1]-St-kt:St-e[1])}var tn=Jr(Zr,function(t){var e,r=NaN,n=NaN,a=NaN;return{lineStart:function(){t.lineStart(),e=1},point:function(i,o){var l=i>0?Mt:-Mt,s=m(i-r);m(s-Mt)0?St:-St),t.point(a,n),t.lineEnd(),t.lineStart(),t.point(l,n),t.point(i,n),e=0):a!==l&&s>=Mt&&(m(r-a)kt?Math.atan((Math.sin(e)*(i=Math.cos(n))*Math.sin(r)-Math.sin(n)*(a=Math.cos(e))*Math.sin(t))/(a*i*o)):(e+n)/2}(r,n,i,o),t.point(a,n),t.lineEnd(),t.lineStart(),t.point(l,n),e=0),t.point(r=i,n=o),a=l},lineEnd:function(){t.lineEnd(),r=n=NaN},clean:function(){return 2-e}}},function(t,e,r,n){var a;if(null==t)a=r*St,n.point(-Mt,a),n.point(0,a),n.point(Mt,a),n.point(Mt,0),n.point(Mt,-a),n.point(0,-a),n.point(-Mt,-a),n.point(-Mt,0),n.point(-Mt,a);else if(m(t[0]-e[0])>kt){var i=t[0]0)){if(i/=d,d<0){if(i0){if(i>f)return;i>u&&(u=i)}if(i=r-s,d||!(i<0)){if(i/=d,d<0){if(i>f)return;i>u&&(u=i)}else if(d>0){if(i0)){if(i/=p,p<0){if(i0){if(i>f)return;i>u&&(u=i)}if(i=n-c,p||!(i<0)){if(i/=p,p<0){if(i>f)return;i>u&&(u=i)}else if(p>0){if(i0&&(a.a={x:s+u*d,y:c+u*p}),f<1&&(a.b={x:s+f*d,y:c+f*p}),a}}}}}}var rn=1e9;function nn(e,r,n,a){return function(s){var c,u,f,d,p,h,g,v,y,m,x,b=s,_=Qr(),w=en(e,r,n,a),k={point:A,lineStart:function(){k.point=L,u&&u.push(f=[]);m=!0,y=!1,g=v=NaN},lineEnd:function(){c&&(L(d,p),h&&y&&_.rejoin(),c.push(_.buffer()));k.point=A,y&&s.lineEnd()},polygonStart:function(){s=_,c=[],u=[],x=!0},polygonEnd:function(){s=b,c=t.merge(c);var r=function(t){for(var e=0,r=u.length,n=t[1],a=0;an&&Dt(c,i,t)>0&&++e:i[1]<=n&&Dt(c,i,t)<0&&--e,c=i;return 0!==e}([e,a]),n=x&&r,i=c.length;(n||i)&&(s.polygonStart(),n&&(s.lineStart(),T(null,null,1,s),s.lineEnd()),i&&Xr(c,o,r,T,s),s.polygonEnd()),c=u=f=null}};function T(t,o,s,c){var u=0,f=0;if(null==t||(u=i(t,s))!==(f=i(o,s))||l(t,o)<0^s>0)do{c.point(0===u||3===u?e:n,u>1?a:r)}while((u=(u+s+4)%4)!==f);else c.point(o[0],o[1])}function M(t,i){return e<=t&&t<=n&&r<=i&&i<=a}function A(t,e){M(t,e)&&s.point(t,e)}function L(t,e){var r=M(t=Math.max(-rn,Math.min(rn,t)),e=Math.max(-rn,Math.min(rn,e)));if(u&&f.push([t,e]),m)d=t,p=e,h=r,m=!1,r&&(s.lineStart(),s.point(t,e));else if(r&&y)s.point(t,e);else{var n={a:{x:g,y:v},b:{x:t,y:e}};w(n)?(y||(s.lineStart(),s.point(n.a.x,n.a.y)),s.point(n.b.x,n.b.y),r||s.lineEnd(),x=!1):r&&(s.lineStart(),s.point(t,e),x=!1)}g=t,v=e,y=r}return k};function i(t,a){return m(t[0]-e)0?0:3:m(t[0]-n)0?2:1:m(t[1]-r)0?1:0:a>0?3:2}function o(t,e){return l(t.x,e.x)}function l(t,e){var r=i(t,1),n=i(e,1);return r!==n?r-n:0===r?e[1]-t[1]:1===r?t[0]-e[0]:2===r?t[1]-e[1]:e[0]-t[0]}}function an(t){var e=0,r=Mt/3,n=Cn(t),a=n(e,r);return a.parallels=function(t){return arguments.length?n(e=t[0]*Mt/180,r=t[1]*Mt/180):[e/Mt*180,r/Mt*180]},a}function on(t,e){var r=Math.sin(t),n=(r+Math.sin(e))/2,a=1+r*(2*n-r),i=Math.sqrt(a)/n;function o(t,e){var r=Math.sqrt(a-2*n*Math.sin(e))/n;return[r*Math.sin(t*=n),i-r*Math.cos(t)]}return o.invert=function(t,e){var r=i-e;return[Math.atan2(t,r)/n,Et((a-(t*t+r*r)*n*n)/(2*n))]},o}t.geo.clipExtent=function(){var t,e,r,n,a,i,o={stream:function(t){return a&&(a.valid=!1),(a=i(t)).valid=!0,a},extent:function(l){return arguments.length?(i=nn(t=+l[0][0],e=+l[0][1],r=+l[1][0],n=+l[1][1]),a&&(a.valid=!1,a=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,a,i=t.geo.albers(),o=t.geo.conicEqualArea().rotate([154,0]).center([-2,58.5]).parallels([55,65]),l=t.geo.conicEqualArea().rotate([157,0]).center([-3,19.9]).parallels([8,18]),s={point:function(t,r){e=[t,r]}};function c(t){var i=t[0],o=t[1];return e=null,r(i,o),e||(n(i,o),e)||a(i,o),e}return c.invert=function(t){var e=i.scale(),r=i.translate(),n=(t[0]-r[0])/e,a=(t[1]-r[1])/e;return(a>=.12&&a<.234&&n>=-.425&&n<-.214?o:a>=.166&&a<.234&&n>=-.214&&n<-.115?l:i).invert(t)},c.stream=function(t){var e=i.stream(t),r=o.stream(t),n=l.stream(t);return{point:function(t,a){e.point(t,a),r.point(t,a),n.point(t,a)},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?(i.precision(t),o.precision(t),l.precision(t),c):i.precision()},c.scale=function(t){return arguments.length?(i.scale(t),o.scale(.35*t),l.scale(t),c.translate(i.translate())):i.scale()},c.translate=function(t){if(!arguments.length)return i.translate();var e=i.scale(),u=+t[0],f=+t[1];return r=i.translate(t).clipExtent([[u-.455*e,f-.238*e],[u+.455*e,f+.238*e]]).stream(s).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(s).point,a=l.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(s).point,c},c.scale(1070)};var ln,sn,cn,un,fn,dn,pn={point:R,lineStart:R,lineEnd:R,polygonStart:function(){sn=0,pn.lineStart=hn},polygonEnd:function(){pn.lineStart=pn.lineEnd=pn.point=R,ln+=m(sn/2)}};function hn(){var t,e,r,n;function a(t,e){sn+=n*t-r*e,r=t,n=e}pn.point=function(i,o){pn.point=a,t=r=i,e=n=o},pn.lineEnd=function(){a(t,e)}}var gn={point:function(t,e){tfn&&(fn=t);edn&&(dn=e)},lineStart:R,lineEnd:R,polygonStart:R,polygonEnd:R};function vn(){var t=yn(4.5),e=[],r={point:n,lineStart:function(){r.point=a},lineEnd:o,polygonStart:function(){r.lineEnd=l},polygonEnd:function(){r.lineEnd=o,r.point=n},pointRadius:function(e){return t=yn(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 a(t,n){e.push("M",t,",",n),r.point=i}function i(t,r){e.push("L",t,",",r)}function o(){r.point=n}function l(){e.push("Z")}return r}function yn(t){return"m0,"+t+"a"+t+","+t+" 0 1,1 0,"+-2*t+"a"+t+","+t+" 0 1,1 0,"+2*t+"z"}var mn,xn={point:bn,lineStart:_n,lineEnd:wn,polygonStart:function(){xn.lineStart=kn},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 a=r-t,i=n-e,o=Math.sqrt(a*a+i*i);wr+=o*(t+r)/2,kr+=o*(e+n)/2,Tr+=o,bn(t=r,e=n)}xn.point=function(n,a){xn.point=r,bn(t=n,e=a)}}function wn(){xn.point=bn}function kn(){var t,e,r,n;function a(t,e){var a=t-r,i=e-n,o=Math.sqrt(a*a+i*i);wr+=o*(r+t)/2,kr+=o*(n+e)/2,Tr+=o,Mr+=(o=n*t-r*e)*(r+t),Ar+=o*(n+e),Lr+=3*o,bn(r=t,n=e)}xn.point=function(i,o){xn.point=a,bn(t=r=i,e=n=o)},xn.lineEnd=function(){a(t,e)}}function Tn(t){var e=4.5,r={point:n,lineStart:function(){r.point=a},lineEnd:o,polygonStart:function(){r.lineEnd=l},polygonEnd:function(){r.lineEnd=o,r.point=n},pointRadius:function(t){return e=t,r},result:R};function n(r,n){t.moveTo(r+e,n),t.arc(r,n,e,0,At)}function a(e,n){t.moveTo(e,n),r.point=i}function i(e,r){t.lineTo(e,r)}function o(){r.point=n}function l(){t.closePath()}return r}function Mn(t){var e=.5,r=Math.cos(30*Ct),n=16;function a(e){return(n?function(e){var r,a,o,l,s,c,u,f,d,p,h,g,v={point:y,lineStart:m,lineEnd:b,polygonStart:function(){e.polygonStart(),v.lineStart=_},polygonEnd:function(){e.polygonEnd(),v.lineStart=m}};function y(r,n){r=t(r,n),e.point(r[0],r[1])}function m(){f=NaN,v.point=x,e.lineStart()}function x(r,a){var o=zr([r,a]),l=t(r,a);i(f,d,u,p,h,g,f=l[0],d=l[1],u=r,p=o[0],h=o[1],g=o[2],n,e),e.point(f,d)}function b(){v.point=y,e.lineEnd()}function _(){m(),v.point=w,v.lineEnd=k}function w(t,e){x(r=t,e),a=f,o=d,l=p,s=h,c=g,v.point=x}function k(){i(f,d,u,p,h,g,a,o,r,l,s,c,n,e),v.lineEnd=b,b()}return v}:function(e){return Ln(e,function(r,n){r=t(r,n),e.point(r[0],r[1])})})(e)}function i(n,a,o,l,s,c,u,f,d,p,h,g,v,y){var x=u-n,b=f-a,_=x*x+b*b;if(_>4*e&&v--){var w=l+p,k=s+h,T=c+g,M=Math.sqrt(w*w+k*k+T*T),A=Math.asin(T/=M),L=m(m(T)-1)e||m((x*z+b*D)/_-.5)>.3||l*p+s*h+c*g0&&16,a):Math.sqrt(e)},a}function An(t){this.stream=t}function Ln(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 Sn(t){return Cn(function(){return t})()}function Cn(e){var r,n,a,i,o,l,s=Mn(function(t,e){return[(t=r(t,e))[0]*c+i,o-t[1]*c]}),c=150,u=480,f=250,d=0,p=0,h=0,g=0,v=0,y=tn,x=z,b=null,_=null;function w(t){return[(t=a(t[0]*Ct,t[1]*Ct))[0]*c+i,o-t[1]*c]}function k(t){return(t=a.invert((t[0]-i)/c,(o-t[1])/c))&&[t[0]*Ot,t[1]*Ot]}function T(){a=Gr(n=Pn(h,g,v),r);var t=r(d,p);return i=u-t[0]*c,o=f+t[1]*c,M()}function M(){return l&&(l.valid=!1,l=null),w}return w.stream=function(t){return l&&(l.valid=!1),(l=On(y(n,s(x(t))))).valid=!0,l},w.clipAngle=function(t){return arguments.length?(y=null==t?(b=t,tn):function(t){var e=Math.cos(t),r=e>0,n=m(e)>kt;return Jr(a,function(t){var e,l,s,c,u;return{lineStart:function(){c=s=!1,u=1},point:function(f,d){var p,h=[f,d],g=a(f,d),v=r?g?0:o(f,d):g?o(f+(f<0?Mt:-Mt),d):0;if(!e&&(c=s=g)&&t.lineStart(),g!==s&&(p=i(e,h),(Nr(e,p)||Nr(h,p))&&(h[0]+=kt,h[1]+=kt,g=a(h[0],h[1]))),g!==s)u=0,g?(t.lineStart(),p=i(h,e),t.point(p[0],p[1])):(p=i(e,h),t.point(p[0],p[1]),t.lineEnd()),e=p;else if(n&&e&&r^g){var y;v&l||!(y=i(h,e,!0))||(u=0,r?(t.lineStart(),t.point(y[0][0],y[0][1]),t.point(y[1][0],y[1][1]),t.lineEnd()):(t.point(y[1][0],y[1][1]),t.lineEnd(),t.lineStart(),t.point(y[0][0],y[0][1])))}!g||e&&Nr(e,h)||t.point(h[0],h[1]),e=h,s=g,l=v},lineEnd:function(){s&&t.lineEnd(),e=null},clean:function(){return u|(c&&s)<<1}}},Fn(t,6*Ct),r?[0,-t]:[-Mt,t-Mt]);function a(t,r){return Math.cos(t)*Math.cos(r)>e}function i(t,r,n){var a=[1,0,0],i=Pr(zr(t),zr(r)),o=Dr(i,i),l=i[0],s=o-l*l;if(!s)return!n&&t;var c=e*o/s,u=-e*l/s,f=Pr(a,i),d=Rr(a,c);Er(d,Rr(i,u));var p=f,h=Dr(d,p),g=Dr(p,p),v=h*h-g*(Dr(d,d)-1);if(!(v<0)){var y=Math.sqrt(v),x=Rr(p,(-h-y)/g);if(Er(x,d),x=Fr(x),!n)return x;var b,_=t[0],w=r[0],k=t[1],T=r[1];w<_&&(b=_,_=w,w=b);var M=w-_,A=m(M-Mt)0^x[1]<(m(x[0]-_)Mt^(_<=x[0]&&x[0]<=w)){var L=Rr(p,(-h+y)/g);return Er(L,d),[x,Fr(L)]}}}function o(e,n){var a=r?t:Mt-t,i=0;return e<-a?i|=1:e>a&&(i|=2),n<-a?i|=4:n>a&&(i|=8),i}}((b=+t)*Ct),M()):b},w.clipExtent=function(t){return arguments.length?(_=t,x=t?nn(t[0][0],t[0][1],t[1][0],t[1][1]):z,M()):_},w.scale=function(t){return arguments.length?(c=+t,T()):c},w.translate=function(t){return arguments.length?(u=+t[0],f=+t[1],T()):[u,f]},w.center=function(t){return arguments.length?(d=t[0]%360*Ct,p=t[1]%360*Ct,T()):[d*Ot,p*Ot]},w.rotate=function(t){return arguments.length?(h=t[0]%360*Ct,g=t[1]%360*Ct,v=t.length>2?t[2]%360*Ct:0,T()):[h*Ot,g*Ot,v*Ot]},t.rebind(w,s,"precision"),function(){return r=e.apply(this,arguments),w.invert=r.invert&&k,T()}}function On(t){return Ln(t,function(e,r){t.point(e*Ct,r*Ct)})}function zn(t,e){return[t,e]}function Dn(t,e){return[t>Mt?t-At:t<-Mt?t+At:t,e]}function Pn(t,e,r){return t?e||r?Gr(Rn(t),In(e,r)):Rn(t):e||r?In(e,r):Dn}function En(t){return function(e,r){return[(e+=t)>Mt?e-At:e<-Mt?e+At:e,r]}}function Rn(t){var e=En(t);return e.invert=En(-t),e}function In(t,e){var r=Math.cos(t),n=Math.sin(t),a=Math.cos(e),i=Math.sin(e);function o(t,e){var o=Math.cos(e),l=Math.cos(t)*o,s=Math.sin(t)*o,c=Math.sin(e),u=c*r+l*n;return[Math.atan2(s*a-u*i,l*r-c*n),Et(u*a+s*i)]}return o.invert=function(t,e){var o=Math.cos(e),l=Math.cos(t)*o,s=Math.sin(t)*o,c=Math.sin(e),u=c*a-s*i;return[Math.atan2(s*a+c*i,l*r+u*n),Et(u*r-l*n)]},o}function Fn(t,e){var r=Math.cos(t),n=Math.sin(t);return function(a,i,o,l){var s=o*e;null!=a?(a=Nn(r,a),i=Nn(r,i),(o>0?ai)&&(a+=o*At)):(a=t+o*At,i=t-.5*s);for(var c,u=a;o>0?u>i:u2?t[2]*Ct:0),e.invert=function(e){return(e=t.invert(e[0]*Ct,e[1]*Ct))[0]*=Ot,e[1]*=Ot,e},e},Dn.invert=zn,t.geo.circle=function(){var t,e,r=[0,0],n=6;function a(){var t="function"==typeof r?r.apply(this,arguments):r,n=Pn(-t[0]*Ct,-t[1]*Ct,0).invert,a=[];return e(null,null,1,{point:function(t,e){a.push(t=n(t,e)),t[0]*=Ot,t[1]*=Ot}}),{type:"Polygon",coordinates:[a]}}return a.origin=function(t){return arguments.length?(r=t,a):r},a.angle=function(r){return arguments.length?(e=Fn((t=+r)*Ct,n*Ct),a):t},a.precision=function(r){return arguments.length?(e=Fn(t*Ct,(n=+r)*Ct),a):n},a.angle(90)},t.geo.distance=function(t,e){var r,n=(e[0]-t[0])*Ct,a=t[1]*Ct,i=e[1]*Ct,o=Math.sin(n),l=Math.cos(n),s=Math.sin(a),c=Math.cos(a),u=Math.sin(i),f=Math.cos(i);return Math.atan2(Math.sqrt((r=f*o)*r+(r=c*u-s*f*l)*r),s*u+c*f*l)},t.geo.graticule=function(){var e,r,n,a,i,o,l,s,c,u,f,d,p=10,h=p,g=90,v=360,y=2.5;function x(){return{type:"MultiLineString",coordinates:b()}}function b(){return t.range(Math.ceil(a/g)*g,n,g).map(f).concat(t.range(Math.ceil(s/v)*v,l,v).map(d)).concat(t.range(Math.ceil(r/p)*p,e,p).filter(function(t){return m(t%g)>kt}).map(c)).concat(t.range(Math.ceil(o/h)*h,i,h).filter(function(t){return m(t%v)>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(a).concat(d(l).slice(1),f(n).reverse().slice(1),d(s).reverse().slice(1))]}},x.extent=function(t){return arguments.length?x.majorExtent(t).minorExtent(t):x.minorExtent()},x.majorExtent=function(t){return arguments.length?(a=+t[0][0],n=+t[1][0],s=+t[0][1],l=+t[1][1],a>n&&(t=a,a=n,n=t),s>l&&(t=s,s=l,l=t),x.precision(y)):[[a,s],[n,l]]},x.minorExtent=function(t){return arguments.length?(r=+t[0][0],e=+t[1][0],o=+t[0][1],i=+t[1][1],r>e&&(t=r,r=e,e=t),o>i&&(t=o,o=i,i=t),x.precision(y)):[[r,o],[e,i]]},x.step=function(t){return arguments.length?x.majorStep(t).minorStep(t):x.minorStep()},x.majorStep=function(t){return arguments.length?(g=+t[0],v=+t[1],x):[g,v]},x.minorStep=function(t){return arguments.length?(p=+t[0],h=+t[1],x):[p,h]},x.precision=function(t){return arguments.length?(y=+t,c=Bn(o,i,90),u=jn(r,e,y),f=Bn(s,l,90),d=jn(a,n,y),x):y},x.majorExtent([[-180,-90+kt],[180,90-kt]]).minorExtent([[-180,-80-kt],[180,80+kt]])},t.geo.greatArc=function(){var e,r,n=Hn,a=qn;function i(){return{type:"LineString",coordinates:[e||n.apply(this,arguments),r||a.apply(this,arguments)]}}return i.distance=function(){return t.geo.distance(e||n.apply(this,arguments),r||a.apply(this,arguments))},i.source=function(t){return arguments.length?(n=t,e="function"==typeof t?null:t,i):n},i.target=function(t){return arguments.length?(a=t,r="function"==typeof t?null:t,i):a},i.precision=function(){return arguments.length?i:0},i},t.geo.interpolate=function(t,e){return r=t[0]*Ct,n=t[1]*Ct,a=e[0]*Ct,i=e[1]*Ct,o=Math.cos(n),l=Math.sin(n),s=Math.cos(i),c=Math.sin(i),u=o*Math.cos(r),f=o*Math.sin(r),d=s*Math.cos(a),p=s*Math.sin(a),h=2*Math.asin(Math.sqrt(It(i-n)+o*s*It(a-r))),g=1/Math.sin(h),(v=h?function(t){var e=Math.sin(t*=h)*g,r=Math.sin(h-t)*g,n=r*u+e*d,a=r*f+e*p,i=r*l+e*c;return[Math.atan2(a,n)*Ot,Math.atan2(i,Math.sqrt(n*n+a*a))*Ot]}:function(){return[r*Ot,n*Ot]}).distance=h,v;var r,n,a,i,o,l,s,c,u,f,d,p,h,g,v},t.geo.length=function(e){return mn=0,t.geo.stream(e,Vn),mn};var Vn={sphere:R,point:R,lineStart:function(){var t,e,r;function n(n,a){var i=Math.sin(a*=Ct),o=Math.cos(a),l=m((n*=Ct)-t),s=Math.cos(l);mn+=Math.atan2(Math.sqrt((l=o*Math.sin(l))*l+(l=r*i-e*o*s)*l),e*i+r*o*s),t=n,e=i,r=o}Vn.point=function(a,i){t=a*Ct,e=Math.sin(i*=Ct),r=Math.cos(i),Vn.point=n},Vn.lineEnd=function(){Vn.point=Vn.lineEnd=R}},lineEnd:R,polygonStart:R,polygonEnd:R};function Un(t,e){function r(e,r){var n=Math.cos(e),a=Math.cos(r),i=t(n*a);return[i*a*Math.sin(e),i*Math.sin(r)]}return r.invert=function(t,r){var n=Math.sqrt(t*t+r*r),a=e(n),i=Math.sin(a),o=Math.cos(a);return[Math.atan2(t*i,n*o),Math.asin(n&&r*i/n)]},r}var Gn=Un(function(t){return Math.sqrt(2/(1+t))},function(t){return 2*Math.asin(t/2)});(t.geo.azimuthalEqualArea=function(){return Sn(Gn)}).raw=Gn;var Zn=Un(function(t){var e=Math.acos(t);return e&&e/Math.sin(e)},z);function Xn(t,e){var r=Math.cos(t),n=function(t){return Math.tan(Mt/4+t/2)},a=t===e?Math.sin(t):Math.log(r/Math.cos(e))/Math.log(n(e)/n(t)),i=r*Math.pow(n(t),a)/a;if(!a)return Jn;function o(t,e){i>0?e<-St+kt&&(e=-St+kt):e>St-kt&&(e=St-kt);var r=i/Math.pow(n(e),a);return[r*Math.sin(a*t),i-r*Math.cos(a*t)]}return o.invert=function(t,e){var r=i-e,n=zt(a)*Math.sqrt(t*t+r*r);return[Math.atan2(t,r)/a,2*Math.atan(Math.pow(i/n,1/a))-St]},o}function Yn(t,e){var r=Math.cos(t),n=t===e?Math.sin(t):(r-Math.cos(e))/(e-t),a=r/n+t;if(m(n)1&&Dt(t[r[n-2]],t[r[n-1]],t[a])<=0;)--n;r[n++]=a}return r.slice(0,n)}function aa(t,e){return t[0]-e[0]||t[1]-e[1]}(t.geo.stereographic=function(){return Sn(Kn)}).raw=Kn,ta.invert=function(t,e){return[-e,2*Math.atan(Math.exp(t))-St]},(t.geo.transverseMercator=function(){var t=$n(ta),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=ta,t.geom={},t.geom.hull=function(t){var e=ea,r=ra;if(arguments.length)return n(t);function n(t){if(t.length<3)return[];var n,a=ve(e),i=ve(r),o=t.length,l=[],s=[];for(n=0;n=0;--n)p.push(t[l[c[n]][2]]);for(n=+f;nkt)l=l.L;else{if(!((a=i-wa(l,o))>kt)){n>-kt?(e=l.P,r=l):a>-kt?(e=l,r=l.N):e=r=l;break}if(!l.R){e=l;break}l=l.R}var s=ya(t);if(fa.insert(e,s),e||r){if(e===r)return La(e),r=ya(e.site),fa.insert(s,r),s.edge=r.edge=Oa(e.site,s.site),Aa(e),void Aa(r);if(r){La(e),La(r);var c=e.site,u=c.x,f=c.y,d=t.x-u,p=t.y-f,h=r.site,g=h.x-u,v=h.y-f,y=2*(d*v-p*g),m=d*d+p*p,x=g*g+v*v,b={x:(v*m-p*x)/y+u,y:(d*x-g*m)/y+f};za(r.edge,c,h,b),s.edge=Oa(c,t,null,b),r.edge=Oa(t,h,null,b),Aa(e),Aa(r)}else s.edge=Oa(e.site,s.site)}}function _a(t,e){var r=t.site,n=r.x,a=r.y,i=a-e;if(!i)return n;var o=t.P;if(!o)return-1/0;var l=(r=o.site).x,s=r.y,c=s-e;if(!c)return l;var u=l-n,f=1/i-1/c,d=u/c;return f?(-d+Math.sqrt(d*d-2*f*(u*u/(-2*c)-s+c/2+a-i/2)))/f+n:(n+l)/2}function wa(t,e){var r=t.N;if(r)return _a(r,e);var n=t.site;return n.y===e?n.x:1/0}function ka(t){this.site=t,this.edges=[]}function Ta(t,e){return e.angle-t.angle}function Ma(){Ea(this),this.x=this.y=this.arc=this.site=this.cy=null}function Aa(t){var e=t.P,r=t.N;if(e&&r){var n=e.site,a=t.site,i=r.site;if(n!==i){var o=a.x,l=a.y,s=n.x-o,c=n.y-l,u=i.x-o,f=2*(s*(v=i.y-l)-c*u);if(!(f>=-Tt)){var d=s*s+c*c,p=u*u+v*v,h=(v*d-c*p)/f,g=(s*p-u*d)/f,v=g+l,y=ga.pop()||new Ma;y.arc=t,y.site=a,y.x=h+o,y.y=v+Math.sqrt(h*h+g*g),y.cy=v,t.circle=y;for(var m=null,x=pa._;x;)if(y.y=l)return;if(d>h){if(i){if(i.y>=c)return}else i={x:v,y:s};r={x:v,y:c}}else{if(i){if(i.y1)if(d>h){if(i){if(i.y>=c)return}else i={x:(s-a)/n,y:s};r={x:(c-a)/n,y:c}}else{if(i){if(i.y=l)return}else i={x:o,y:n*o+a};r={x:l,y:n*l+a}}else{if(i){if(i.xkt||m(a-r)>kt)&&(l.splice(o,0,new Da((y=i.site,x=u,b=m(n-f)kt?{x:f,y:m(e-f)kt?{x:m(r-h)kt?{x:d,y:m(e-d)kt?{x:m(r-p)=r&&c.x<=a&&c.y>=n&&c.y<=o?[[r,o],[a,o],[a,n],[r,n]]:[]).point=t[l]}),e}function l(t){return t.map(function(t,e){return{x:Math.round(n(t,e)/kt)*kt,y:Math.round(a(t,e)/kt)*kt,i:e}})}return o.links=function(t){return Na(l(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 Na(l(t)).cells.forEach(function(r,n){for(var a,i,o,l,s=r.site,c=r.edges.sort(Ta),u=-1,f=c.length,d=c[f-1].edge,p=d.l===s?d.r:d.l;++ui&&(a=e.slice(i,a),l[o]?l[o]+=a:l[++o]=a),(r=r[0])===(n=n[0])?l[o]?l[o]+=n:l[++o]=n:(l[++o]=null,s.push({i:o,x:Ga(r,n)})),i=Ya.lastIndex;return ig&&(g=s.x),s.y>v&&(v=s.y),c.push(s.x),u.push(s.y);else for(f=0;fg&&(g=b),_>v&&(v=_),c.push(b),u.push(_)}var w=g-p,k=v-h;function T(t,e,r,n,a,i,o,l){if(!isNaN(r)&&!isNaN(n))if(t.leaf){var s=t.x,c=t.y;if(null!=s)if(m(s-r)+m(c-n)<.01)M(t,e,r,n,a,i,o,l);else{var u=t.point;t.x=t.y=t.point=null,M(t,u,s,c,a,i,o,l),M(t,e,r,n,a,i,o,l)}else t.x=r,t.y=n,t.point=e}else M(t,e,r,n,a,i,o,l)}function M(t,e,r,n,a,i,o,l){var s=.5*(a+o),c=.5*(i+l),u=r>=s,f=n>=c,d=f<<1|u;t.leaf=!1,u?a=s:o=s,f?i=c:l=c,T(t=t.nodes[d]||(t.nodes[d]={leaf:!0,nodes:[],point:null,x:null,y:null,add:function(t){T(A,t,+y(t,++f),+x(t,f),p,h,g,v)}}),e,r,n,a,i,o,l)}w>k?v=h+w:g=p+k;var A={leaf:!0,nodes:[],point:null,x:null,y:null,add:function(t){T(A,t,+y(t,++f),+x(t,f),p,h,g,v)}};if(A.visit=function(t){!function t(e,r,n,a,i,o){if(!e(r,n,a,i,o)){var l=.5*(n+i),s=.5*(a+o),c=r.nodes;c[0]&&t(e,c[0],n,a,l,s),c[1]&&t(e,c[1],l,a,i,s),c[2]&&t(e,c[2],n,s,l,o),c[3]&&t(e,c[3],l,s,i,o)}}(t,A,p,h,g,v)},A.find=function(t){return function(t,e,r,n,a,i,o){var l,s=1/0;return function t(c,u,f,d,p){if(!(u>i||f>o||d=_)<<1|e>=b,k=w+4;w=0&&!(n=t.interpolators[a](e,r)););return n}function Ja(t,e){var r,n=[],a=[],i=t.length,o=e.length,l=Math.min(t.length,e.length);for(r=0;r=1)return 1;var e=t*t,r=e*t;return 4*(t<.5?r:3*(t-e)+r-.75)}function ii(t){return 1-Math.cos(t*St)}function oi(t){return Math.pow(2,10*(t-1))}function li(t){return 1-Math.sqrt(1-t*t)}function si(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 ci(t,e){return e-=t,function(r){return Math.round(t+e*r)}}function ui(t){var e,r,n,a=[t.a,t.b],i=[t.c,t.d],o=di(a),l=fi(a,i),s=di(((e=i)[0]+=(n=-l)*(r=a)[0],e[1]+=n*r[1],e))||0;a[0]*i[1]=0?t.slice(0,n):t,i=n>=0?t.slice(n+1):"in";return a=Qa.get(a)||$a,i=Ka.get(i)||z,e=i(a.apply(null,r.call(arguments,1))),function(t){return t<=0?0:t>=1?1:e(t)}},t.interpolateHcl=function(e,r){e=t.hcl(e),r=t.hcl(r);var n=e.h,a=e.c,i=e.l,o=r.h-n,l=r.c-a,s=r.l-i;isNaN(l)&&(l=0,a=isNaN(a)?r.c:a);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,a+l*t,i+s*t)+""}},t.interpolateHsl=function(e,r){e=t.hsl(e),r=t.hsl(r);var n=e.h,a=e.s,i=e.l,o=r.h-n,l=r.s-a,s=r.l-i;isNaN(l)&&(l=0,a=isNaN(a)?r.s:a);isNaN(o)?(o=0,n=isNaN(n)?r.h:n):o>180?o-=360:o<-180&&(o+=360);return function(t){return Ut(n+o*t,a+l*t,i+s*t)+""}},t.interpolateLab=function(e,r){e=t.lab(e),r=t.lab(r);var n=e.l,a=e.a,i=e.b,o=r.l-n,l=r.a-a,s=r.b-i;return function(t){return te(n+o*t,a+l*t,i+s*t)+""}},t.interpolateRound=ci,t.transform=function(e){var r=a.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 ui(e?e.matrix:pi)})(e)},ui.prototype.toString=function(){return"translate("+this.translate+")rotate("+this.rotate+")skewX("+this.skew+")scale("+this.scale+")"};var pi={a:1,b:0,c:0,d:1,e:0,f:0};function hi(t){return t.length?t.pop()+",":""}function gi(e,r){var n=[],a=[];return e=t.transform(e),r=t.transform(r),function(t,e,r,n){if(t[0]!==e[0]||t[1]!==e[1]){var a=r.push("translate(",null,",",null,")");n.push({i:a-4,x:Ga(t[0],e[0])},{i:a-2,x:Ga(t[1],e[1])})}else(e[0]||e[1])&&r.push("translate("+e+")")}(e.translate,r.translate,n,a),function(t,e,r,n){t!==e?(t-e>180?e+=360:e-t>180&&(t+=360),n.push({i:r.push(hi(r)+"rotate(",null,")")-2,x:Ga(t,e)})):e&&r.push(hi(r)+"rotate("+e+")")}(e.rotate,r.rotate,n,a),function(t,e,r,n){t!==e?n.push({i:r.push(hi(r)+"skewX(",null,")")-2,x:Ga(t,e)}):e&&r.push(hi(r)+"skewX("+e+")")}(e.skew,r.skew,n,a),function(t,e,r,n){if(t[0]!==e[0]||t[1]!==e[1]){var a=r.push(hi(r)+"scale(",null,",",null,")");n.push({i:a-4,x:Ga(t[0],e[0])},{i:a-2,x:Ga(t[1],e[1])})}else 1===e[0]&&1===e[1]||r.push(hi(r)+"scale("+e+")")}(e.scale,r.scale,n,a),e=r=null,function(t){for(var e,r=-1,i=a.length;++r0?n=t:(e.c=null,e.t=NaN,e=null,s.end({type:"end",alpha:n=0})):t>0&&(s.start({type:"start",alpha:n=t}),e=Te(l.tick)),l):n},l.start=function(){var t,e,r,n=y.length,s=m.length,u=c[0],h=c[1];for(t=0;t=0;)r.push(a[n])}function Ci(t,e){for(var r=[t],n=[];null!=(t=r.pop());)if(n.push(t),(i=t.children)&&(a=i.length))for(var a,i,o=-1;++o=0;)o.push(u=c[s]),u.parent=i,u.depth=i.depth+1;r&&(i.value=0),i.children=c}else r&&(i.value=+r.call(n,i,i.depth)||0),delete i.children;return Ci(a,function(e){var n,a;t&&(n=e.children)&&n.sort(t),r&&(a=e.parent)&&(a.value+=e.value)}),l}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&&(Si(t,function(t){t.children&&(t.value=0)}),Ci(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 a=e.call(this,t,n);return function t(e,r,n,a){var i=e.children;if(e.x=r,e.y=e.depth*a,e.dx=n,e.dy=a,i&&(o=i.length)){var o,l,s,c=-1;for(n=e.value?n/e.value:0;++cl&&(l=n),o.push(n)}for(r=0;ra&&(n=r,a=e);return n}function Vi(t){return t.reduce(Ui,0)}function Ui(t,e){return t+e[1]}function Gi(t,e){return Zi(t,Math.ceil(Math.log(e.length)/Math.LN2+1))}function Zi(t,e){for(var r=-1,n=+t[0],a=(t[1]-n)/e,i=[];++r<=e;)i[r]=a*r+n;return i}function Xi(e){return[t.min(e),t.max(e)]}function Yi(t,e){return t.value-e.value}function Wi(t,e){var r=t._pack_next;t._pack_next=e,e._pack_prev=t,e._pack_next=r,r._pack_prev=e}function Ji(t,e){t._pack_next=e,e._pack_prev=t}function $i(t,e){var r=e.x-t.x,n=e.y-t.y,a=t.r+e.r;return.999*a*a>r*r+n*n}function Qi(t){if((e=t.children)&&(s=e.length)){var e,r,n,a,i,o,l,s,c=1/0,u=-1/0,f=1/0,d=-1/0;if(e.forEach(Ki),(r=e[0]).x=-r.r,r.y=0,x(r),s>1&&((n=e[1]).x=n.r,n.y=0,x(n),s>2))for(eo(r,n,a=e[2]),x(a),Wi(r,a),r._pack_prev=a,Wi(a,n),n=r._pack_next,i=3;i0)for(o=-1;++o=f[0]&&s<=f[1]&&((l=c[t.bisect(d,s,1,h)-1]).y+=g,l.push(i[o]));return c}return i.value=function(t){return arguments.length?(r=t,i):r},i.range=function(t){return arguments.length?(n=ve(t),i):n},i.bins=function(t){return arguments.length?(a="number"==typeof t?function(e){return Zi(e,t)}:ve(t),i):a},i.frequency=function(t){return arguments.length?(e=!!t,i):e},i},t.layout.pack=function(){var e,r=t.layout.hierarchy().sort(Yi),n=0,a=[1,1];function i(t,i){var o=r.call(this,t,i),l=o[0],s=a[0],c=a[1],u=null==e?Math.sqrt:"function"==typeof e?e:function(){return e};if(l.x=l.y=0,Ci(l,function(t){t.r=+u(t.value)}),Ci(l,Qi),n){var f=n*(e?1:Math.max(2*l.r/s,2*l.r/c))/2;Ci(l,function(t){t.r+=f}),Ci(l,Qi),Ci(l,function(t){t.r-=f})}return function t(e,r,n,a){var i=e.children;e.x=r+=a*e.x;e.y=n+=a*e.y;e.r*=a;if(i)for(var o=-1,l=i.length;++op.x&&(p=t),t.depth>h.depth&&(h=t)});var g=r(d,p)/2-d.x,v=n[0]/(p.x+r(p,d)/2+g),y=n[1]/(h.depth||1);Si(u,function(t){t.x=(t.x+g)*v,t.y=t.depth*y})}return c}function o(t){var e=t.children,n=t.parent.children,a=t.i?n[t.i-1]:null;if(e.length){!function(t){var e,r=0,n=0,a=t.children,i=a.length;for(;--i>=0;)(e=a[i]).z+=r,e.m+=r,r+=e.s+(n+=e.c)}(t);var i=(e[0].z+e[e.length-1].z)/2;a?(t.z=a.z+r(t._,a._),t.m=t.z-i):t.z=i}else a&&(t.z=a.z+r(t._,a._));t.parent.A=function(t,e,n){if(e){for(var a,i=t,o=t,l=e,s=i.parent.children[0],c=i.m,u=o.m,f=l.m,d=s.m;l=ao(l),i=no(i),l&&i;)s=no(s),(o=ao(o)).a=t,(a=l.z+f-i.z-c+r(l._,i._))>0&&(io(oo(l,t,n),t,a),c+=a,u+=a),f+=l.m,c+=i.m,d+=s.m,u+=o.m;l&&!ao(o)&&(o.t=l,o.m+=f-u),i&&!no(s)&&(s.t=i,s.m+=c-d,n=t)}return n}(t,a,t.parent.A||n[0])}function l(t){t._.x=t.z+t.parent.m,t.m+=t.parent.m}function s(t){t.x*=n[0],t.y=t.depth*n[1]}return i.separation=function(t){return arguments.length?(r=t,i):r},i.size=function(t){return arguments.length?(a=null==(n=t)?s:null,i):a?null:n},i.nodeSize=function(t){return arguments.length?(a=null==(n=t)?null:s,i):a?n:null},Li(i,e)},t.layout.cluster=function(){var e=t.layout.hierarchy().sort(null).value(null),r=ro,n=[1,1],a=!1;function i(i,o){var l,s=e.call(this,i,o),c=s[0],u=0;Ci(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=l?u+=r(e,l):0,e.y=0,l=e)});var f=function t(e){var r=e.children;return r&&r.length?t(r[0]):e}(c),d=function t(e){var r,n=e.children;return n&&(r=n.length)?t(n[r-1]):e}(c),p=f.x-r(f,d)/2,h=d.x+r(d,f)/2;return Ci(c,a?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)/(h-p)*n[0],t.y=(1-(c.y?t.y/c.y:1))*n[1]}),s}return i.separation=function(t){return arguments.length?(r=t,i):r},i.size=function(t){return arguments.length?(a=null==(n=t),i):a?null:n},i.nodeSize=function(t){return arguments.length?(a=null!=(n=t),i):a?n:null},Li(i,e)},t.layout.treemap=function(){var e,r=t.layout.hierarchy(),n=Math.round,a=[1,1],i=null,o=lo,l=!1,s="squarify",c=.5*(1+Math.sqrt(5));function u(t,e){for(var r,n,a=-1,i=t.length;++a0;)l.push(r=c[a-1]),l.area+=r.area,"squarify"!==s||(n=p(l,g))<=d?(c.pop(),d=n):(l.area-=l.pop().area,h(l,g,i,!1),g=Math.min(i.dx,i.dy),l.length=l.area=0,d=1/0);l.length&&(h(l,g,i,!0),l.length=l.area=0),e.forEach(f)}}function d(t){var e=t.children;if(e&&e.length){var r,n=o(t),a=e.slice(),i=[];for(u(a,n.dx*n.dy/t.value),i.area=0;r=a.pop();)i.push(r),i.area+=r.area,null!=r.z&&(h(i,r.z?n.dx:n.dy,n,!a.length),i.length=i.area=0);e.forEach(d)}}function p(t,e){for(var r,n=t.area,a=0,i=1/0,o=-1,l=t.length;++oa&&(a=r));return e*=e,(n*=n)?Math.max(e*a*c/n,n/(e*i*c)):1/0}function h(t,e,r,a){var i,o=-1,l=t.length,s=r.x,c=r.y,u=e?n(t.area/e):0;if(e==r.dx){for((a||u>r.dy)&&(u=r.dy);++or.dx)&&(u=r.dx);++o1);return t+e*r*Math.sqrt(-2*Math.log(a)/a)}},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;r2?vo:fo,l=a?yi:vi;return i=t(e,r,l,n),o=t(r,e,l,Wa),s}function s(t){return i(t)}s.invert=function(t){return o(t)};s.domain=function(t){return arguments.length?(e=t.map(Number),l()):e};s.range=function(t){return arguments.length?(r=t,l()):r};s.rangeRound=function(t){return s.range(t).interpolate(ci)};s.clamp=function(t){return arguments.length?(a=t,l()):a};s.interpolate=function(t){return arguments.length?(n=t,l()):n};s.ticks=function(t){return bo(e,t)};s.tickFormat=function(t,r){return _o(e,t,r)};s.nice=function(t){return mo(e,t),l()};s.copy=function(){return t(e,r,n,a)};return l()}([0,1],[0,1],Wa,!1)};var wo={s:1,g:1,p:1,r:1,e:1};function ko(t){return-Math.floor(Math.log(t)/Math.LN10+.01)}t.scale.log=function(){return function e(r,n,a,i){function o(t){return(a?Math.log(t<0?0:t):-Math.log(t>0?0:-t))/Math.log(n)}function l(t){return a?Math.pow(n,t):-Math.pow(n,-t)}function s(t){return r(o(t))}s.invert=function(t){return l(r.invert(t))};s.domain=function(t){return arguments.length?(a=t[0]>=0,r.domain((i=t.map(Number)).map(o)),s):i};s.base=function(t){return arguments.length?(n=+t,r.domain(i.map(o)),s):n};s.nice=function(){var t=po(i.map(o),a?Math:Mo);return r.domain(t),i=t.map(l),s};s.ticks=function(){var t=co(i),e=[],r=t[0],s=t[1],c=Math.floor(o(r)),u=Math.ceil(o(s)),f=n%1?2:n;if(isFinite(u-c)){if(a){for(;c0;d--)e.push(l(c)*d);for(c=0;e[c]s;u--);e=e.slice(c,u)}return e};s.tickFormat=function(e,r){if(!arguments.length)return To;arguments.length<2?r=To:"function"!=typeof r&&(r=t.format(r));var a=Math.max(1,n*e/s.ticks().length);return function(t){var e=t/l(Math.round(o(t)));return e*n0?a[t-1]:r[0],tf?0:1;if(c=Lt)return s(c,p)+(l?s(l,1-p):"")+"Z";var h,g,v,y,m,x,b,_,w,k,T,M,A=0,L=0,S=[];if((y=(+o.apply(this,arguments)||0)/2)&&(v=n===Do?Math.sqrt(l*l+c*c):+n.apply(this,arguments),p||(L*=-1),c&&(L=Et(v/c*Math.sin(y))),l&&(A=Et(v/l*Math.sin(y)))),c){m=c*Math.cos(u+L),x=c*Math.sin(u+L),b=c*Math.cos(f-L),_=c*Math.sin(f-L);var C=Math.abs(f-u-2*L)<=Mt?0:1;if(L&&No(m,x,b,_)===p^C){var O=(u+f)/2;m=c*Math.cos(O),x=c*Math.sin(O),b=_=null}}else m=x=0;if(l){w=l*Math.cos(f-A),k=l*Math.sin(f-A),T=l*Math.cos(u+A),M=l*Math.sin(u+A);var z=Math.abs(u-f+2*A)<=Mt?0:1;if(A&&No(w,k,T,M)===1-p^z){var D=(u+f)/2;w=l*Math.cos(D),k=l*Math.sin(D),T=M=null}}else w=k=0;if(d>kt&&(h=Math.min(Math.abs(c-l)/2,+r.apply(this,arguments)))>.001){g=l0?0:1}function Bo(t,e,r,n,a){var i=t[0]-e[0],o=t[1]-e[1],l=(a?n:-n)/Math.sqrt(i*i+o*o),s=l*o,c=-l*i,u=t[0]+s,f=t[1]+c,d=e[0]+s,p=e[1]+c,h=(u+d)/2,g=(f+p)/2,v=d-u,y=p-f,m=v*v+y*y,x=r-n,b=u*p-d*f,_=(y<0?-1:1)*Math.sqrt(Math.max(0,x*x*m-b*b)),w=(b*y-v*_)/m,k=(-b*v-y*_)/m,T=(b*y+v*_)/m,M=(-b*v+y*_)/m,A=w-h,L=k-g,S=T-h,C=M-g;return A*A+L*L>S*S+C*C&&(w=T,k=M),[[w-s,k-c],[w*r/x,k*r/x]]}function jo(t){var e=ea,r=ra,n=Zr,a=qo,i=a.key,o=.7;function l(i){var l,s=[],c=[],u=-1,f=i.length,d=ve(e),p=ve(r);function h(){s.push("M",a(t(c),o))}for(;++u1&&a.push("H",n[0]);return a.join("")},"step-before":Uo,"step-after":Go,basis:Yo,"basis-open":function(t){if(t.length<4)return qo(t);var e,r=[],n=-1,a=t.length,i=[0],o=[0];for(;++n<3;)e=t[n],i.push(e[0]),o.push(e[1]);r.push(Wo(Qo,i)+","+Wo(Qo,o)),--n;for(;++n9&&(a=3*e/Math.sqrt(a),o[l]=a*r,o[l+1]=a*n));l=-1;for(;++l<=s;)a=(t[Math.min(s,l+1)][0]-t[Math.max(0,l-1)][0])/(6*(1+o[l]*o[l])),i.push([a||0,o[l]*a||0]);return i}(t))}});function qo(t){return t.length>1?t.join("L"):t+"Z"}function Vo(t){return t.join("L")+"Z"}function Uo(t){for(var e=0,r=t.length,n=t[0],a=[n[0],",",n[1]];++e1){l=e[1],i=t[s],s++,n+="C"+(a[0]+o[0])+","+(a[1]+o[1])+","+(i[0]-l[0])+","+(i[1]-l[1])+","+i[0]+","+i[1];for(var c=2;cMt)+",1 "+e}function s(t,e,r,n){return"Q 0,0 "+n}return i.radius=function(t){return arguments.length?(r=ve(t),i):r},i.source=function(e){return arguments.length?(t=ve(e),i):t},i.target=function(t){return arguments.length?(e=ve(t),i):e},i.startAngle=function(t){return arguments.length?(n=ve(t),i):n},i.endAngle=function(t){return arguments.length?(a=ve(t),i):a},i},t.svg.diagonal=function(){var t=Hn,e=qn,r=al;function n(n,a){var i=t.call(this,n,a),o=e.call(this,n,a),l=(i.y+o.y)/2,s=[i,{x:i.x,y:l},{x:o.x,y:l},o];return"M"+(s=s.map(r))[0]+"C"+s[1]+" "+s[2]+" "+s[3]}return n.source=function(e){return arguments.length?(t=ve(e),n):t},n.target=function(t){return arguments.length?(e=ve(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=al,n=e.projection;return e.projection=function(t){return arguments.length?n(function(t){return function(){var e=t.apply(this,arguments),r=e[0],n=e[1]-St;return[r*Math.cos(n),r*Math.sin(n)]}}(r=t)):r},e},t.svg.symbol=function(){var t=ol,e=il;function r(r,n){return(sl.get(t.call(this,r,n))||ll)(e.call(this,r,n))}return r.type=function(e){return arguments.length?(t=ve(e),r):t},r.size=function(t){return arguments.length?(e=ve(t),r):e},r};var sl=t.map({circle:ll,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*ul)),r=e*ul;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/cl),r=e*cl/2;return"M0,"+r+"L"+e+","+-r+" "+-e+","+-r+"Z"},"triangle-up":function(t){var e=Math.sqrt(t/cl),r=e*cl/2;return"M0,"+-r+"L"+e+","+r+" "+-e+","+r+"Z"}});t.svg.symbolTypes=sl.keys();var cl=Math.sqrt(3),ul=Math.tan(30*Ct);X.transition=function(t){for(var e,r,n=hl||++yl,a=bl(t),i=[],o=gl||{time:Date.now(),ease:ai,delay:0,duration:250},l=-1,s=this.length;++l0;)c[--d].call(t,o);if(i>=1)return f.event&&f.event.end.call(t,t.__data__,e),--u.count?delete u[n]:delete t[r],1}f||(i=a.time,o=Te(function(t){var e=f.delay;if(o.t=e+i,e<=t)return d(t-e);o.c=d},0,i),f=u[n]={tween:new b,time:i,timer:o,delay:a.delay,duration:a.duration,ease:a.ease,index:e},a=null,++u.count)}vl.call=X.call,vl.empty=X.empty,vl.node=X.node,vl.size=X.size,t.transition=function(e,r){return e&&e.transition?hl?e.transition(r):e:t.selection().transition(e)},t.transition.prototype=vl,vl.select=function(t){var e,r,n,a=this.id,i=this.namespace,o=[];t=Y(t);for(var l=-1,s=this.length;++lrect,.s>rect").attr("width",l[1]-l[0])}function g(t){t.select(".extent").attr("y",s[0]),t.selectAll(".extent,.e>rect,.w>rect").attr("height",s[1]-s[0])}function v(){var f,v,y=this,m=t.select(t.event.target),x=n.of(y,arguments),b=t.select(y),_=m.datum(),w=!/^(n|s)$/.test(_)&&a,k=!/^(e|w)$/.test(_)&&i,T=m.classed("extent"),M=xt(y),A=t.mouse(y),L=t.select(o(y)).on("keydown.brush",function(){32==t.event.keyCode&&(T||(f=null,A[0]-=l[1],A[1]-=s[1],T=2),N())}).on("keyup.brush",function(){32==t.event.keyCode&&2==T&&(A[0]+=l[1],A[1]+=s[1],T=0,N())});if(t.event.changedTouches?L.on("touchmove.brush",O).on("touchend.brush",D):L.on("mousemove.brush",O).on("mouseup.brush",D),b.interrupt().selectAll("*").interrupt(),T)A[0]=l[0]-A[0],A[1]=s[0]-A[1];else if(_){var S=+/w$/.test(_),C=+/^n/.test(_);v=[l[1-S]-A[0],s[1-C]-A[1]],A[0]=l[S],A[1]=s[C]}else t.event.altKey&&(f=A.slice());function O(){var e=t.mouse(y),r=!1;v&&(e[0]+=v[0],e[1]+=v[1]),T||(t.event.altKey?(f||(f=[(l[0]+l[1])/2,(s[0]+s[1])/2]),A[0]=l[+(e[0]1?{floor:function(e){for(;l(e=t.floor(e));)e=Pl(e-1);return e},ceil:function(e){for(;l(e=t.ceil(e));)e=Pl(+e+1);return e}}:t))},a.ticks=function(t,e){var r=co(a.domain()),n=null==t?i(r,10):"number"==typeof t?i(r,t):!t.range&&[{range:t},e];return n&&(t=n[0],e=n[1]),t.range(r[0],Pl(+r[1]+1),e<1?1:e)},a.tickFormat=function(){return n},a.copy=function(){return Dl(e.copy(),r,n)},yo(a,e)}function Pl(t){return new Date(t)}Sl.iso=Date.prototype.toISOString&&+new Date("2000-01-01T00:00:00.000Z")?zl:Ol,zl.parse=function(t){var e=new Date(t);return isNaN(e)?null:e},zl.toString=Ol.toString,Pe.second=Fe(function(t){return new Ee(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=Fe(function(t){return new Ee(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=Fe(function(t){var e=t.getTimezoneOffset()/60;return new Ee(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=Fe(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 El=[1e3,5e3,15e3,3e4,6e4,3e5,9e5,18e5,36e5,108e5,216e5,432e5,864e5,1728e5,6048e5,2592e6,7776e6,31536e6],Rl=[[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]],Il=Sl.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",Zr]]),Fl={range:function(e,r,n){return t.range(Math.ceil(e/n)*n,+r,n).map(Pl)},floor:z,ceil:z};Rl.year=Pe.year,Pe.scale=function(){return Dl(t.scale.linear(),Rl,Il)};var Nl=Rl.map(function(t){return[t[0].utc,t[1]]}),Bl=Cl.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",Zr]]);function jl(t){return JSON.parse(t.responseText)}function Hl(t){var e=a.createRange();return e.selectNode(a.body),e.createContextualFragment(t.responseText)}Nl.year=Pe.year.utc,Pe.scale.utc=function(){return Dl(t.scale.linear(),Nl,Bl)},t.text=ye(function(t){return t.responseText}),t.json=function(t,e){return me(t,"application/json",jl,e)},t.html=function(t,e){return me(t,"text/html",Hl,e)},t.xml=ye(function(t){return t.responseXML}),"object"==typeof e&&e.exports?e.exports=t:this.d3=t}()},{}],17:[function(t,e,r){(function(n,a){!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)},i=0,o=void 0,l=void 0,s=function(t,e){g[i]=t,g[i+1]=e,2===(i+=2)&&(l?l(v):_())};var c="undefined"!=typeof window?window:void 0,u=c||{},f=u.MutationObserver||u.WebKitMutationObserver,d="undefined"==typeof self&&"undefined"!=typeof n&&"[object process]"==={}.toString.call(n),p="undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof importScripts&&"undefined"!=typeof MessageChannel;function h(){var t=setTimeout;return function(){return t(v,1)}}var g=new Array(1e3);function v(){for(var t=0;t13)&&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}},{}],24:[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 a=t.clientX||0,i=t.clientY||0,o=(l=e,l===window||l===document||l===document.body?n:l.getBoundingClientRect());var l;return r[0]=a-o.left,r[1]=i-o.top,r}},{}],25:[function(t,e,r){var n,a=t("./lib/build-log"),i=t("./lib/epsilon"),o=t("./lib/intersecter"),l=t("./lib/segment-chainer"),s=t("./lib/segment-selector"),c=t("./lib/geojson"),u=!1,f=i();function d(t,e,r){var a=n.segments(t),i=n.segments(e),o=r(n.combine(a,i));return n.polygon(o)}n={buildLog:function(t){return!0===t?u=a():!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:s.union(t.combined,u),inverted:t.inverted1||t.inverted2}},selectIntersect:function(t){return{segments:s.intersect(t.combined,u),inverted:t.inverted1&&t.inverted2}},selectDifference:function(t){return{segments:s.difference(t.combined,u),inverted:t.inverted1&&!t.inverted2}},selectDifferenceRev:function(t){return{segments:s.differenceRev(t.combined,u),inverted:!t.inverted1&&t.inverted2}},selectXor:function(t){return{segments:s.xor(t.combined,u),inverted:t.inverted1!==t.inverted2}},polygon:function(t){return{regions:l(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 d(t,e,n.selectUnion)},intersect:function(t,e){return d(t,e,n.selectIntersect)},difference:function(t,e){return d(t,e,n.selectDifference)},differenceRev:function(t,e){return d(t,e,n.selectDifferenceRev)},xor:function(t,e){return d(t,e,n.selectXor)}},"object"==typeof window&&(window.PolyBool=n),e.exports=n},{"./lib/build-log":26,"./lib/epsilon":27,"./lib/geojson":28,"./lib/intersecter":29,"./lib/segment-chainer":31,"./lib/segment-selector":32}],26:[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")}}}},{}],27:[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 a=r[0],i=r[1],o=n[0],l=n[1],s=e[0];return(o-a)*(e[1]-i)-(l-i)*(s-a)>=-t},pointBetween:function(e,r,n){var a=e[1]-r[1],i=n[0]-r[0],o=e[0]-r[0],l=n[1]-r[1],s=o*i+a*l;return!(s-t)},pointsSameX:function(e,r){return Math.abs(e[0]-r[0])t!=o-a>t&&(i-c)*(a-u)/(o-u)+c-n>t&&(l=!l),i=c,o=u}return l}};return e}},{}],28:[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]),a=1;a0})}function u(t,n){var a=t.seg,i=n.seg,o=a.start,l=a.end,c=i.start,u=i.end;r&&r.checkIntersection(a,i);var f=e.linesIntersect(o,l,c,u);if(!1===f){if(!e.pointsCollinear(o,l,c))return!1;if(e.pointsSame(o,u)||e.pointsSame(l,c))return!1;var d=e.pointsSame(o,c),p=e.pointsSame(l,u);if(d&&p)return n;var h=!d&&e.pointBetween(o,c,u),g=!p&&e.pointBetween(l,c,u);if(d)return g?s(n,l):s(t,u),n;h&&(p||(g?s(n,l):s(t,u)),s(n,o))}else 0===f.alongA&&(-1===f.alongB?s(t,c):0===f.alongB?s(t,f.pt):1===f.alongB&&s(t,u)),0===f.alongB&&(-1===f.alongA?s(n,o):0===f.alongA?s(n,f.pt):1===f.alongA&&s(n,l));return!1}for(var f=[];!i.isEmpty();){var d=i.getHead();if(r&&r.vert(d.pt[0]),d.isStart){r&&r.segmentNew(d.seg,d.primary);var p=c(d),h=p.before?p.before.ev:null,g=p.after?p.after.ev:null;function v(){if(h){var t=u(d,h);if(t)return t}return!!g&&u(d,g)}r&&r.tempStatus(d.seg,!!h&&h.seg,!!g&&g.seg);var y,m,x=v();if(x)t?(m=null===d.seg.myFill.below||d.seg.myFill.above!==d.seg.myFill.below)&&(x.seg.myFill.above=!x.seg.myFill.above):x.seg.otherFill=d.seg.myFill,r&&r.segmentUpdate(x.seg),d.other.remove(),d.remove();if(i.getHead()!==d){r&&r.rewind(d.seg);continue}t?(m=null===d.seg.myFill.below||d.seg.myFill.above!==d.seg.myFill.below,d.seg.myFill.below=g?g.seg.myFill.above:a,d.seg.myFill.above=m?!d.seg.myFill.below:d.seg.myFill.below):null===d.seg.otherFill&&(y=g?d.primary===g.primary?g.seg.otherFill.above:g.seg.myFill.above:d.primary?o:a,d.seg.otherFill={above:y,below:y}),r&&r.status(d.seg,!!h&&h.seg,!!g&&g.seg),d.other.status=p.insert(n.node({ev:d}))}else{var b=d.status;if(null===b)throw new Error("PolyBool: Zero-length segment detected; your epsilon is probably too small or too large");if(l.exists(b.prev)&&l.exists(b.next)&&u(b.prev.ev,b.next.ev),r&&r.statusRemove(b.ev.seg),b.remove(),!d.primary){var _=d.seg.myFill;d.seg.myFill=d.seg.otherFill,d.seg.otherFill=_}f.push(d.seg)}i.getHead().remove()}return r&&r.done(),f}return t?{addRegion:function(t){for(var n,a,i,o=t[t.length-1],s=0;s1)for(var r=1;r1&&(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=O(t,360),e=O(e,100),r=O(r,100),0===e)n=a=i=r;else{var l=r<.5?r*(1+e):r+e-r*e,s=2*r-l;n=o(s,l,t+1/3),a=o(s,l,t),i=o(s,l,t-1/3)}return{r:255*n,g:255*a,b:255*i}}(e.h,s,u),f=!0,d="hsl"),e.hasOwnProperty("a")&&(i=e.a));var p,h,g;return i=C(i),{ok:f,format:e.format||d,r:o(255,l(a.r,0)),g:o(255,l(a.g,0)),b:o(255,l(a.b,0)),a:i}}(e);this._originalInput=e,this._r=u.r,this._g=u.g,this._b=u.b,this._a=u.a,this._roundA=i(100*this._a)/100,this._format=s.format||u.format,this._gradientType=s.gradientType,this._r<1&&(this._r=i(this._r)),this._g<1&&(this._g=i(this._g)),this._b<1&&(this._b=i(this._b)),this._ok=u.ok,this._tc_id=a++}function u(t,e,r){t=O(t,255),e=O(e,255),r=O(r,255);var n,a,i=l(t,e,r),s=o(t,e,r),c=(i+s)/2;if(i==s)n=a=0;else{var u=i-s;switch(a=c>.5?u/(2-i-s):u/(i+s),i){case t:n=(e-r)/u+(e>1)+720)%360;--e;)n.h=(n.h+a)%360,i.push(c(n));return i}function A(t,e){e=e||6;for(var r=c(t).toHsv(),n=r.h,a=r.s,i=r.v,o=[],l=1/e;e--;)o.push(c({h:n,s:a,v:i})),i=(i+l)%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,a=this.toRgb();return e=a.r/255,r=a.g/255,n=a.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=i(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=i(360*t.h),r=i(100*t.s),n=i(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=i(360*t.h),r=i(100*t.s),n=i(100*t.l);return 1==this._a?"hsl("+e+", "+r+"%, "+n+"%)":"hsla("+e+", "+r+"%, "+n+"%, "+this._roundA+")"},toHex:function(t){return d(this._r,this._g,this._b,t)},toHexString:function(t){return"#"+this.toHex(t)},toHex8:function(t){return function(t,e,r,n,a){var o=[P(i(t).toString(16)),P(i(e).toString(16)),P(i(r).toString(16)),P(R(n))];if(a&&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:i(this._r),g:i(this._g),b:i(this._b),a:this._a}},toRgbString:function(){return 1==this._a?"rgb("+i(this._r)+", "+i(this._g)+", "+i(this._b)+")":"rgba("+i(this._r)+", "+i(this._g)+", "+i(this._b)+", "+this._roundA+")"},toPercentageRgb:function(){return{r:i(100*O(this._r,255))+"%",g:i(100*O(this._g,255))+"%",b:i(100*O(this._b,255))+"%",a:this._a}},toPercentageRgbString:function(){return 1==this._a?"rgb("+i(100*O(this._r,255))+"%, "+i(100*O(this._g,255))+"%, "+i(100*O(this._b,255))+"%)":"rgba("+i(100*O(this._r,255))+"%, "+i(100*O(this._g,255))+"%, "+i(100*O(this._b,255))+"%, "+this._roundA+")"},toName:function(){return 0===this._a?"transparent":!(this._a<1)&&(S[d(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 a=c(t);r="#"+p(a._r,a._g,a._b,a._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(y,arguments)},brighten:function(){return this._applyModification(m,arguments)},darken:function(){return this._applyModification(x,arguments)},desaturate:function(){return this._applyModification(h,arguments)},saturate:function(){return this._applyModification(g,arguments)},greyscale:function(){return this._applyModification(v,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(T,arguments)},triad:function(){return this._applyCombination(w,arguments)},tetrad:function(){return this._applyCombination(k,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]:E(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:s(),g:s(),b:s()})},c.mix=function(t,e,r){r=0===r?0:r||50;var n=c(t).toRgb(),a=c(e).toRgb(),i=r/100;return c({r:(a.r-n.r)*i+n.r,g:(a.g-n.g)*i+n.g,b:(a.b-n.b)*i+n.b,a:(a.a-n.a)*i+n.a})},c.readability=function(e,r){var n=c(e),a=c(r);return(t.max(n.getLuminance(),a.getLuminance())+.05)/(t.min(n.getLuminance(),a.getLuminance())+.05)},c.isReadable=function(t,e,r){var n,a,i=c.readability(t,e);switch(a=!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":a=i>=4.5;break;case"AAlarge":a=i>=3;break;case"AAAsmall":a=i>=7}return a},c.mostReadable=function(t,e,r){var n,a,i,o,l=null,s=0;a=(r=r||{}).includeFallbackColors,i=r.level,o=r.size;for(var u=0;us&&(s=n,l=c(e[u]));return c.isReadable(t,l,{level:i,size:o})||!a?l:(r.includeFallbackColors=!1,c.mostReadable(t,["#fff","#000"],r))};var L=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"},S=c.hexNames=function(t){var e={};for(var r in t)t.hasOwnProperty(r)&&(e[t[r]]=r);return e}(L);function C(t){return t=parseFloat(t),(isNaN(t)||t<0||t>1)&&(t=1),t}function O(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,l(0,parseFloat(e))),n&&(e=parseInt(e*r,10)/100),t.abs(e-r)<1e-6?1:e%r/parseFloat(r)}function z(t){return o(1,l(0,t))}function D(t){return parseInt(t,16)}function P(t){return 1==t.length?"0"+t:""+t}function E(t){return t<=1&&(t=100*t+"%"),t}function R(e){return t.round(255*parseFloat(e)).toString(16)}function I(t){return D(t)/255}var F,N,B,j=(N="[\\s|\\(]+("+(F="(?:[-\\+]?\\d*\\.\\d+%?)|(?:[-\\+]?\\d+%?)")+")[,|\\s]+("+F+")[,|\\s]+("+F+")\\s*\\)?",B="[\\s|\\(]+("+F+")[,|\\s]+("+F+")[,|\\s]+("+F+")[,|\\s]+("+F+")\\s*\\)?",{CSS_UNIT:new RegExp(F),rgb:new RegExp("rgb"+N),rgba:new RegExp("rgba"+B),hsl:new RegExp("hsl"+N),hsla:new RegExp("hsla"+B),hsv:new RegExp("hsv"+N),hsva:new RegExp("hsva"+B),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/});function H(t){return!!j.CSS_UNIT.exec(t)}"undefined"!=typeof e&&e.exports?e.exports=c:window.tinycolor=c}(Math)},{}],35:[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}]},{}],36:[function(t,e,r){"use strict";var n=t("./arrow_paths"),a=t("../../plots/font_attributes"),i=t("../../plots/cartesian/constants"),o=t("../../plot_api/plot_template").templatedArray;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:a({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",i.idRegex.x.toString()],editType:"calc"},ayref:{valType:"enumerated",dflt:"pixel",values:["pixel",i.idRegex.y.toString()],editType:"calc"},xref:{valType:"enumerated",values:["paper",i.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",i.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:a({editType:"arraydraw"}),editType:"arraydraw"},captureevents:{valType:"boolean",editType:"arraydraw"},editType:"calc",_deprecated:{ref:{valType:"string",editType:"calc"}}})},{"../../plot_api/plot_template":202,"../../plots/cartesian/constants":218,"../../plots/font_attributes":239,"./arrow_paths":35}],37:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../plots/cartesian/axes"),i=t("./draw").draw;function o(t){var e=t._fullLayout;n.filterVisible(e.annotations).forEach(function(e){var r=a.getFromId(t,e.xref),n=a.getFromId(t,e.yref);e._extremes={},r&&l(e,r),n&&l(e,n)})}function l(t,e){var r,n=e._id,i=n.charAt(0),o=t[i],l=t["a"+i],s=t[i+"ref"],c=t["a"+i+"ref"],u=t["_"+i+"padplus"],f=t["_"+i+"padminus"],d={x:1,y:-1}[i]*t[i+"shift"],p=3*t.arrowsize*t.arrowwidth||0,h=p+d,g=p-d,v=3*t.startarrowsize*t.arrowwidth||0,y=v+d,m=v-d;if(c===s){var x=a.findExtremes(e,[e.r2c(o)],{ppadplus:h,ppadminus:g}),b=a.findExtremes(e,[e.r2c(l)],{ppadplus:Math.max(u,y),ppadminus:Math.max(f,m)});r={min:[x.min[0],b.min[0]],max:[x.max[0],b.max[0]]}}else y=l?y+l:y,m=l?m-l:m,r=a.findExtremes(e,[e.r2c(o)],{ppadplus:Math.max(u,h,y),ppadminus:Math.max(f,g,m)});t._extremes[n]=r}e.exports=function(t){var e=t._fullLayout;if(n.filterVisible(e.annotations).length&&t._fullData.length)return n.syncOrAsync([i,o],t)}},{"../../lib":168,"../../plots/cartesian/axes":212,"./draw":42}],38:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../registry"),i=t("../../plot_api/plot_template").arrayEditor;function o(t,e){var r,n,a,i,o,s,c,u=t._fullLayout.annotations,f=[],d=[],p=[],h=(e||[]).length;for(r=0;r0||r.explicitOff.length>0},onClick:function(t,e){var r,l,s=o(t,e),c=s.on,u=s.off.concat(s.explicitOff),f={},d=t._fullLayout.annotations;if(!c.length&&!u.length)return;for(r=0;r2/3?"right":"center"),{center:0,middle:0,left:.5,bottom:-.5,right:-.5,top:.5}[e]}for(var V=!1,U=["x","y"],G=0;G1)&&(K===Q?((st=tt.r2fraction(e["a"+$]))<0||st>1)&&(V=!0):V=!0),Z=tt._offset+tt.r2p(e[$]),W=.5}else"x"===$?(Y=e[$],Z=b.l+b.w*Y):(Y=1-e[$],Z=b.t+b.h*Y),W=e.showarrow?.5:Y;if(e.showarrow){lt.head=Z;var ct=e["a"+$];J=rt*H(.5,e.xanchor)-nt*H(.5,e.yanchor),K===Q?(lt.tail=tt._offset+tt.r2p(ct),X=J):(lt.tail=Z+ct,X=J+ct),lt.text=lt.tail+J;var ut=x["x"===$?"width":"height"];if("paper"===Q&&(lt.head=o.constrain(lt.head,1,ut-1)),"pixel"===K){var ft=-Math.max(lt.tail-3,lt.text),dt=Math.min(lt.tail+3,lt.text)-ut;ft>0?(lt.tail+=ft,lt.text+=ft):dt>0&&(lt.tail-=dt,lt.text-=dt)}lt.tail+=ot,lt.head+=ot}else X=J=at*H(W,it),lt.text=Z+J;lt.text+=ot,J+=ot,X+=ot,e["_"+$+"padplus"]=at/2+X,e["_"+$+"padminus"]=at/2-X,e["_"+$+"size"]=at,e["_"+$+"shift"]=J}if(t._dragging||!V){var pt=0,ht=0;if("left"!==e.align&&(pt=(w-y)*("center"===e.align?.5:1)),"top"!==e.valign&&(ht=(D-m)*("middle"===e.valign?.5:1)),u)n.select("svg").attr({x:I+pt-1,y:I+ht}).call(c.setClipUrl,N?A:null,t);else{var gt=I+ht-h.top,vt=I+pt-h.left;q.call(f.positionText,vt,gt).call(c.setClipUrl,N?A:null,t)}B.select("rect").call(c.setRect,I,I,w,D),F.call(c.setRect,E/2,E/2,R-E,j-E),P.call(c.setTranslate,Math.round(L.x.text-R/2),Math.round(L.y.text-j/2)),O.attr({transform:"rotate("+S+","+L.x.text+","+L.y.text+")"});var yt,mt=function(r,n){C.selectAll(".annotation-arrow-g").remove();var u=L.x.head,f=L.y.head,d=L.x.tail+r,h=L.y.tail+n,y=L.x.text+r,m=L.y.text+n,x=o.rotationXYMatrix(S,y,m),w=o.apply2DTransform(x),A=o.apply2DTransform2(x),z=+F.attr("width"),D=+F.attr("height"),E=y-.5*z,R=E+z,I=m-.5*D,N=I+D,B=[[E,I,E,N],[E,N,R,N],[R,N,R,I],[R,I,E,I]].map(A);if(!B.reduce(function(t,e){return t^!!o.segmentsIntersect(u,f,u+1e6,f+1e6,e[0],e[1],e[2],e[3])},!1)){B.forEach(function(t){var e=o.segmentsIntersect(d,h,u,f,t[0],t[1],t[2],t[3]);e&&(d=e.x,h=e.y)});var j=e.arrowwidth,H=e.arrowcolor,q=e.arrowside,V=C.append("g").style({opacity:s.opacity(H)}).classed("annotation-arrow-g",!0),U=V.append("path").attr("d","M"+d+","+h+"L"+u+","+f).style("stroke-width",j+"px").call(s.stroke,s.rgb(H));if(g(U,q,e),_.annotationPosition&&U.node().parentNode&&!i){var G=u,Z=f;if(e.standoff){var X=Math.sqrt(Math.pow(u-d,2)+Math.pow(f-h,2));G+=e.standoff*(d-u)/X,Z+=e.standoff*(h-f)/X}var Y,W,J=V.append("path").classed("annotation-arrow",!0).classed("anndrag",!0).classed("cursor-move",!0).attr({d:"M3,3H-3V-3H3ZM0,0L"+(d-G)+","+(h-Z),transform:"translate("+G+","+Z+")"}).style("stroke-width",j+6+"px").call(s.stroke,"rgba(0,0,0,0)").call(s.fill,"rgba(0,0,0,0)");p.init({element:J.node(),gd:t,prepFn:function(){var t=c.getTranslate(P);Y=t.x,W=t.y,l&&l.autorange&&k(l._name+".autorange",!0),v&&v.autorange&&k(v._name+".autorange",!0)},moveFn:function(t,r){var n=w(Y,W),a=n[0]+t,i=n[1]+r;P.call(c.setTranslate,a,i),T("x",l?l.p2r(l.r2p(e.x)+t):e.x+t/b.w),T("y",v?v.p2r(v.r2p(e.y)+r):e.y-r/b.h),e.axref===e.xref&&T("ax",l.p2r(l.r2p(e.ax)+t)),e.ayref===e.yref&&T("ay",v.p2r(v.r2p(e.ay)+r)),V.attr("transform","translate("+t+","+r+")"),O.attr({transform:"rotate("+S+","+a+","+i+")"})},doneFn:function(){a.call("_guiRelayout",t,M());var e=document.querySelector(".js-notes-box-panel");e&&e.redraw(e.selectedObj)}})}}};if(e.showarrow&&mt(0,0),z)p.init({element:P.node(),gd:t,prepFn:function(){yt=O.attr("transform")},moveFn:function(t,r){var n="pointer";if(e.showarrow)e.axref===e.xref?T("ax",l.p2r(l.r2p(e.ax)+t)):T("ax",e.ax+t),e.ayref===e.yref?T("ay",v.p2r(v.r2p(e.ay)+r)):T("ay",e.ay+r),mt(t,r);else{if(i)return;var a,o;if(l)a=l.p2r(l.r2p(e.x)+t);else{var s=e._xsize/b.w,c=e.x+(e._xshift-e.xshift)/b.w-s/2;a=p.align(c+t/b.w,s,0,1,e.xanchor)}if(v)o=v.p2r(v.r2p(e.y)+r);else{var u=e._ysize/b.h,f=e.y-(e._yshift+e.yshift)/b.h-u/2;o=p.align(f-r/b.h,u,0,1,e.yanchor)}T("x",a),T("y",o),l&&v||(n=p.getCursor(l?.5:a,v?.5:o,e.xanchor,e.yanchor))}O.attr({transform:"translate("+t+","+r+")"+yt}),d(P,n)},doneFn:function(){d(P),a.call("_guiRelayout",t,M());var e=document.querySelector(".js-notes-box-panel");e&&e.redraw(e.selectedObj)}})}else P.remove()}}e.exports={draw:function(t){var e=t._fullLayout;e._infolayer.selectAll(".annotation").remove();for(var r=0;r=0,v=e.indexOf("end")>=0,y=f.backoff*p+r.standoff,m=d.backoff*h+r.startstandoff;if("line"===u.nodeName){o={x:+t.attr("x1"),y:+t.attr("y1")},l={x:+t.attr("x2"),y:+t.attr("y2")};var x=o.x-l.x,b=o.y-l.y;if(c=(s=Math.atan2(b,x))+Math.PI,y&&m&&y+m>Math.sqrt(x*x+b*b))return void z();if(y){if(y*y>x*x+b*b)return void z();var _=y*Math.cos(s),w=y*Math.sin(s);l.x+=_,l.y+=w,t.attr({x2:l.x,y2:l.y})}if(m){if(m*m>x*x+b*b)return void z();var k=m*Math.cos(s),T=m*Math.sin(s);o.x-=k,o.y-=T,t.attr({x1:o.x,y1:o.y})}}else if("path"===u.nodeName){var M=u.getTotalLength(),A="";if(M1){c=!0;break}}c?t.fullLayout._infolayer.select(".annotation-"+t.id+'[data-index="'+l+'"]').remove():(s._pdata=a(t.glplot.cameraParams,[e.xaxis.r2l(s.x)*r[0],e.yaxis.r2l(s.y)*r[1],e.zaxis.r2l(s.z)*r[2]]),n(t.graphDiv,s,l,t.id,s._xa,s._ya))}}},{"../../plots/gl3d/project":242,"../annotations/draw":42}],49:[function(t,e,r){"use strict";var n=t("../../registry"),a=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 i=r.attrRegex,o=Object.keys(t),l=0;l=0))return t;if(3===o)n[o]>1&&(n[o]=1);else if(n[o]>=1)return t}var l=Math.round(255*n[0])+", "+Math.round(255*n[1])+", "+Math.round(255*n[2]);return i?"rgba("+l+", "+n[3]+")":"rgb("+l+")"}i.tinyRGB=function(t){var e=t.toRgb();return"rgb("+Math.round(e.r)+", "+Math.round(e.g)+", "+Math.round(e.b)+")"},i.rgb=function(t){return i.tinyRGB(n(t))},i.opacity=function(t){return t?n(t).getAlpha():0},i.addOpacity=function(t,e){var r=n(t).toRgb();return"rgba("+Math.round(r.r)+", "+Math.round(r.g)+", "+Math.round(r.b)+", "+e+")"},i.combine=function(t,e){var r=n(t).toRgb();if(1===r.a)return n(t).toRgbString();var a=n(e||s).toRgb(),i=1===a.a?a:{r:255*(1-a.a)+a.r*a.a,g:255*(1-a.a)+a.g*a.a,b:255*(1-a.a)+a.b*a.a},o={r:i.r*(1-r.a)+r.r*r.a,g:i.g*(1-r.a)+r.g*r.a,b:i.b*(1-r.a)+r.b*r.a};return n(o).toRgbString()},i.contrast=function(t,e,r){var a=n(t);return 1!==a.getAlpha()&&(a=n(i.combine(t,s))),(a.isDark()?e?a.lighten(e):s:r?a.darken(r):l).toString()},i.stroke=function(t,e){var r=n(e);t.style({stroke:i.tinyRGB(r),"stroke-opacity":r.getAlpha()})},i.fill=function(t,e){var r=n(e);t.style({fill:i.tinyRGB(r),"fill-opacity":r.getAlpha()})},i.clean=function(t){if(t&&"object"==typeof t){var e,r,n,a,o=Object.keys(t);for(e=0;e0?S>=R:S<=R));C++)S>F&&S0?S>=R:S<=R));C++)S>O[0]&&S1){var ot=Math.pow(10,Math.floor(Math.log(it)/Math.LN10));nt*=ot*c.roundUp(it/ot,[2,5,10]),(Math.abs(r.levels.start)/r.levels.size+1e-6)%1<2e-6&&(et.tick0=0)}et.dtick=nt}et.domain=[$+Y,$+G-Y],et.setScale();var lt=c.ensureSingle(v._infolayer,"g",e,function(t){t.classed(T.colorbar,!0).each(function(){var t=n.select(this);t.append("rect").classed(T.cbbg,!0),t.append("g").classed(T.cbfills,!0),t.append("g").classed(T.cblines,!0),t.append("g").classed(T.cbaxis,!0).classed(T.crisp,!0),t.append("g").classed(T.cbtitleunshift,!0).append("g").classed(T.cbtitle,!0),t.append("rect").classed(T.cboutline,!0),t.select(".cbtitle").datum(0)})});lt.attr("transform","translate("+Math.round(k.l)+","+Math.round(k.t)+")");var st=lt.select(".cbtitleunshift").attr("transform","translate(-"+Math.round(k.l)+",-"+Math.round(k.t)+")"),ct=lt.select(".cbaxis"),ut=0;if(-1!==["top","bottom"].indexOf(r.title.side)){var ft,dt=k.l+(r.x+Z)*k.w,pt=et.title.font.size;ft="top"===r.title.side?(1-($+G-Y))*k.h+k.t+3+.75*pt:(1-($+Y))*k.h+k.t-3-.25*pt,xt(et._id+"title",{attributes:{x:dt,y:ft,"text-anchor":"start"}})}var ht,gt,vt,yt=c.syncOrAsync([i.previousPromises,function(){if(-1!==["top","bottom"].indexOf(r.title.side)){var i=lt.select(".cbtitle"),o=i.select("text"),s=[-r.outlinewidth/2,r.outlinewidth/2],u=i.select(".h"+et._id+"title-math-group").node(),f=15.6;if(o.node()&&(f=parseInt(o.node().style.fontSize,10)*y),u?(ut=d.bBox(u).height)>f&&(s[1]-=(ut-f)/2):o.node()&&!o.classed(T.jsPlaceholder)&&(ut=d.bBox(o.node()).height),ut){if(ut+=5,"top"===r.title.side)et.domain[1]-=ut/k.h,s[1]*=-1;else{et.domain[0]+=ut/k.h;var p=g.lineCount(o);s[1]+=(1-p)*f}i.attr("transform","translate("+s+")"),et.setScale()}}lt.selectAll(".cbfills,.cblines").attr("transform","translate(0,"+Math.round(k.h*(1-et.domain[1]))+")"),ct.attr("transform","translate(0,"+Math.round(-k.t)+")");var h=lt.select(".cbfills").selectAll("rect.cbfill").data(D);h.enter().append("rect").classed(T.cbfill,!0).style("stroke","none"),h.exit().remove();var m=O.map(et.c2p).map(Math.round).sort(function(t,e){return t-e});h.each(function(i,o){var l=[0===o?O[0]:(D[o]+D[o-1])/2,o===D.length-1?O[1]:(D[o]+D[o+1])/2].map(et.c2p).map(Math.round);l[1]=c.constrain(l[1]+(l[1]>l[0])?1:-1,m[0],m[1]);var s=n.select(this).attr({x:W,width:Math.max(q,2),y:n.min(l),height:Math.max(n.max(l)-n.min(l),2)});if(r.fillgradient)d.gradient(s,t,e,"vertical",r.fillgradient,"fill");else{var u=E(i).replace("e-","");s.attr("fill",a(u).toHexString())}});var x=lt.select(".cblines").selectAll("path.cbline").data(r.line.color&&r.line.width?z:[]);return x.enter().append("path").classed(T.cbline,!0),x.exit().remove(),x.each(function(t){n.select(this).attr("d","M"+W+","+(Math.round(et.c2p(t))+r.line.width/2%1)+"h"+q).call(d.lineGroupStyle,r.line.width,P(t),r.line.dash)}),ct.selectAll("g."+et._id+"tick,path").remove(),c.syncOrAsync([function(){var e=W+q+(r.outlinewidth||0)/2-("outside"===r.ticks?1:0),n=l.calcTicks(et),a=l.makeTransFn(et),i=l.makeLabelFns(et,e),o=l.getTickSigns(et)[2];return l.drawTicks(t,et,{vals:"inside"===et.ticks?l.clipEnds(et,n):n,layer:ct,path:l.makeTickPath(et,e,o),transFn:a}),l.drawLabels(t,et,{vals:n,layer:ct,transFn:a,labelXFn:i.labelXFn,labelYFn:i.labelYFn,labelAnchorFn:i.labelAnchorFn})},function(){if(-1===["top","bottom"].indexOf(r.title.side)){var e=et.title.font.size,a=et._offset+et._length/2,i=k.l+(et.position||0)*k.w+("right"===et.side?10+e*(et.showticklabels?1:.5):-10-e*(et.showticklabels?.5:0));xt("h"+et._id+"title",{avoid:{selection:n.select(t).selectAll("g."+et._id+"tick"),side:r.title.side,offsetLeft:k.l,offsetTop:0,maxShift:v.width},attributes:{x:i,y:a,"text-anchor":"middle"},transform:{rotate:"-90",offset:0}})}}])},i.previousPromises,function(){var n=q+r.outlinewidth/2+d.bBox(ct.node()).width;if((B=st.select("text")).node()&&!B.classed(T.jsPlaceholder)){var a,o=st.select(".h"+et._id+"title-math-group").node();a=o&&-1!==["top","bottom"].indexOf(r.title.side)?d.bBox(o).width:d.bBox(st.node()).right-W-k.l,n=Math.max(n,a)}var l=2*r.xpad+n+r.borderwidth+r.outlinewidth/2,s=Q-K;lt.select(".cbbg").attr({x:W-r.xpad-(r.borderwidth+r.outlinewidth)/2,y:K-X,width:Math.max(l,2),height:Math.max(s+2*X,2)}).call(p.fill,r.bgcolor).call(p.stroke,r.bordercolor).style({"stroke-width":r.borderwidth}),lt.selectAll(".cboutline").attr({x:W,y:K+r.ypad+("top"===r.title.side?ut:0),width:Math.max(q,2),height:Math.max(s-2*r.ypad-ut,2)}).call(p.stroke,r.outlinecolor).style({fill:"None","stroke-width":r.outlinewidth});var c=({center:.5,right:1}[r.xanchor]||0)*l;lt.attr("transform","translate("+(k.l-c)+","+k.t+")");var u={},f=m[r.yanchor],h=x[r.yanchor];"pixels"===r.lenmode?(u.y=r.y,u.t=s*f,u.b=s*h):(u.t=u.b=0,u.yt=r.y+r.len*f,u.yb=r.y-r.len*h);var g=m[r.xanchor],v=x[r.xanchor];if("pixels"===r.thicknessmode)u.x=r.x,u.l=l*g,u.r=l*v;else{var y=l-q;u.l=y*g,u.r=y*v,u.xl=r.x-r.thickness*g,u.xr=r.x+r.thickness*v}i.autoMargin(t,e,u)}],t);if(yt&&yt.then&&(t._promises||[]).push(yt),t._context.edits.colorbarPosition)s.init({element:lt.node(),gd:t,prepFn:function(){ht=lt.attr("transform"),f(lt)},moveFn:function(t,e){lt.attr("transform",ht+" translate("+t+","+e+")"),gt=s.align(J+t/k.w,V,0,1,r.xanchor),vt=s.align($-e/k.h,G,0,1,r.yanchor);var n=s.getCursor(gt,vt,r.xanchor,r.yanchor);f(lt,n)},doneFn:function(){if(f(lt),void 0!==gt&&void 0!==vt){var e={};e[L("x")]=gt,e[L("y")]=vt,o.call("_guiRestyle",t,e,A().index)}}});return yt}function mt(t,e){return c.coerce(tt,et,w,t,e)}function xt(e,r){var n={propContainer:et,propName:L("title"),traceIndex:A().index,placeholder:v._dfltTitle.colorbar,containerGroup:lt.select(".cbtitle")},a="h"===e.charAt(0)?e.substr(1):"h"+e;lt.selectAll("."+a+",."+a+"-math-group").remove(),h.draw(t,e,u(n,r||{}))}v._infolayer.selectAll("g."+e).remove()}function A(){for(var r=e.substr(2),n=0;n=0?a.colorscale.sequential:a.colorscale.sequentialminus,s._colorscale=s.colorscale=h)}},{"../../lib":168}],60:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./helpers").hasColorscale;e.exports=function(t){function e(t,e){var r=t["_"+e];void 0!==r&&(t[e]=r)}function r(t,r){var a=r.container?n.nestedProperty(t,r.container).get():t;if(a){var i=a.zauto||a.cauto,o=r.min,l=r.max;(i||void 0===a[o])&&e(a,o),(i||void 0===a[l])&&e(a,l),a.autocolorscale&&e(a,"colorscale")}}for(var i=0;i=0;n--,a++){var i=t[n];r[a]=[1-i[0],i[1]]}return r}function u(t){var e={r:t[0],g:t[1],b:t[2],a:t[3]};return a(e).toRgbString()}e.exports={hasColorscale:function(t,e){var r=e?o.nestedProperty(t,e).get()||{}:t,n=r.color,a=!1;if(o.isArrayOrTypedArray(n))for(var l=0;l4/3-l?o:l}},{}],68:[function(t,e,r){"use strict";var n=t("../../lib"),a=[["sw-resize","s-resize","se-resize"],["w-resize","move","e-resize"],["nw-resize","n-resize","ne-resize"]];e.exports=function(t,e,r,i){return t="left"===r?0:"center"===r?1:"right"===r?2:n.constrain(Math.floor(3*t),0,2),e="bottom"===i?0:"middle"===i?1:"top"===i?2:n.constrain(Math.floor(3*e),0,2),a[e][t]}},{"../../lib":168}],69:[function(t,e,r){"use strict";var n=t("mouse-event-offset"),a=t("has-hover"),i=t("has-passive-events"),o=t("../../registry"),l=t("../../lib"),s=t("../../plots/cartesian/constants"),c=t("../../constants/interactions"),u=e.exports={};u.align=t("./align"),u.getCursor=t("./cursor");var f=t("./unhover");function d(){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 p(t){return n(t.changedTouches?t.changedTouches[0]:t,document.body)}u.unhover=f.wrapped,u.unhoverRaw=f.raw,u.init=function(t){var e,r,n,f,h,g,v,y,m=t.gd,x=1,b=c.DBLCLICKDELAY,_=t.element;m._mouseDownTime||(m._mouseDownTime=0),_.style.pointerEvents="all",_.onmousedown=k,i?(_._ontouchstart&&_.removeEventListener("touchstart",_._ontouchstart),_._ontouchstart=k,_.addEventListener("touchstart",k,{passive:!1})):_.ontouchstart=k;var w=t.clampFn||function(t,e,r){return Math.abs(t)b&&(x=Math.max(x-1,1)),m._dragged)t.doneFn&&t.doneFn();else if(t.clickFn&&t.clickFn(x,g),!y){var r;try{r=new MouseEvent("click",e)}catch(t){var n=p(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)}v.dispatchEvent(r)}!function(t){t._dragging=!1,t._replotPending&&o.call("plot",t)}(m),m._dragged=!1}else m._dragged=!1}},u.coverSlip=d},{"../../constants/interactions":148,"../../lib":168,"../../plots/cartesian/constants":218,"../../registry":257,"./align":67,"./cursor":68,"./unhover":70,"has-hover":20,"has-passive-events":21,"mouse-event-offset":24}],70:[function(t,e,r){"use strict";var n=t("../../lib/events"),a=t("../../lib/throttle"),i=t("../../lib/get_graph_div"),o=t("../fx/constants"),l=e.exports={};l.wrapped=function(t,e,r){(t=i(t))._fullLayout&&a.clear(t._fullLayout._uid+o.HOVERID),l.raw(t,e,r)},l.raw=function(t,e){var r=t._fullLayout,a=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&&a&&t.emit("plotly_unhover",{event:e,points:a}))}},{"../../lib/events":161,"../../lib/get_graph_div":166,"../../lib/throttle":190,"../fx/constants":84}],71:[function(t,e,r){"use strict";r.dash={valType:"string",values:["solid","dot","dash","longdash","dashdot","longdashdot"],dflt:"solid",editType:"style"}},{}],72:[function(t,e,r){"use strict";var n=t("d3"),a=t("fast-isnumeric"),i=t("tinycolor2"),o=t("../../registry"),l=t("../color"),s=t("../colorscale"),c=t("../../lib"),u=t("../../lib/svg_text_utils"),f=t("../../constants/xmlns_namespaces"),d=t("../../constants/alignment").LINE_SPACING,p=t("../../constants/interactions").DESELECTDIM,h=t("../../traces/scatter/subtypes"),g=t("../../traces/scatter/make_bubble_size_func"),v=e.exports={};v.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(l.fill,n)},v.setPosition=function(t,e,r){t.attr("x",e).attr("y",r)},v.setSize=function(t,e,r){t.attr("width",e).attr("height",r)},v.setRect=function(t,e,r,n,a){t.call(v.setPosition,e,r).call(v.setSize,n,a)},v.translatePoint=function(t,e,r,n){var i=r.c2p(t.x),o=n.c2p(t.y);return!!(a(i)&&a(o)&&e.node())&&("text"===e.node().nodeName?e.attr("x",i).attr("y",o):e.attr("transform","translate("+i+","+o+")"),!0)},v.translatePoints=function(t,e,r){t.each(function(t){var a=n.select(this);v.translatePoint(t,a,e,r)})},v.hideOutsideRangePoint=function(t,e,r,n,a,i){e.attr("display",r.isPtWithinRange(t,a)&&n.isPtWithinRange(t,i)?null:"none")},v.hideOutsideRangePoints=function(t,e){if(e._hasClipOnAxisFalse){var r=e.xaxis,a=e.yaxis;t.each(function(e){var i=e[0].trace,o=i.xcalendar,l=i.ycalendar,s="bar"===i.type?".bartext":".point,.textpoint";t.selectAll(s).each(function(t){v.hideOutsideRangePoint(t,n.select(this),r,a,o,l)})})}},v.crispRound=function(t,e,r){return e&&a(e)?t._context.staticPlot?e:e<1?1:Math.round(e):r||0},v.singleLineStyle=function(t,e,r,n,a){e.style("fill","none");var i=(((t||[])[0]||{}).trace||{}).line||{},o=r||i.width||0,s=a||i.dash||"";l.stroke(e,n||i.color),v.dashLine(e,s,o)},v.lineGroupStyle=function(t,e,r,a){t.style("fill","none").each(function(t){var i=(((t||[])[0]||{}).trace||{}).line||{},o=e||i.width||0,s=a||i.dash||"";n.select(this).call(l.stroke,r||i.color).call(v.dashLine,s,o)})},v.dashLine=function(t,e,r){r=+r||0,e=v.dashStyle(e,r),t.style({"stroke-dasharray":e,"stroke-width":r+"px"})},v.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},v.singleFillStyle=function(t){var e=(((n.select(t.node()).data()[0]||[])[0]||{}).trace||{}).fillcolor;e&&t.call(l.fill,e)},v.fillGroupStyle=function(t){t.style("stroke-width",0).each(function(t){var e=n.select(this);t[0].trace&&e.call(l.fill,t[0].trace.fillcolor)})};var y=t("./symbol_defs");v.symbolNames=[],v.symbolFuncs=[],v.symbolNeedLines={},v.symbolNoDot={},v.symbolNoFill={},v.symbolList=[],Object.keys(y).forEach(function(t){var e=y[t];v.symbolList=v.symbolList.concat([e.n,t,e.n+100,t+"-open"]),v.symbolNames[e.n]=t,v.symbolFuncs[e.n]=e.f,e.needLine&&(v.symbolNeedLines[e.n]=!0),e.noDot?v.symbolNoDot[e.n]=!0:v.symbolList=v.symbolList.concat([e.n+200,t+"-dot",e.n+300,t+"-open-dot"]),e.noFill&&(v.symbolNoFill[e.n]=!0)});var m=v.symbolNames.length,x="M0,0.5L0.5,0L0,-0.5L-0.5,0Z";function b(t,e){var r=t%100;return v.symbolFuncs[r](e)+(t>=200?x:"")}v.symbolNumber=function(t){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=v.symbolNames.indexOf(t))>=0&&(t+=e)}return t%100>=m||t>=400?0:Math.floor(Math.max(t,0))};var _={x1:1,x2:0,y1:0,y2:0},w={x1:0,x2:0,y1:1,y2:0},k=n.format("~.1f"),T={radial:{node:"radialGradient"},radialreversed:{node:"radialGradient",reversed:!0},horizontal:{node:"linearGradient",attrs:_},horizontalreversed:{node:"linearGradient",attrs:_,reversed:!0},vertical:{node:"linearGradient",attrs:w},verticalreversed:{node:"linearGradient",attrs:w,reversed:!0}};v.gradient=function(t,e,r,a,o,s){for(var u=o.length,f=T[a],d=new Array(u),p=0;p=100,e.attr("d",b(u,s))}var f,d,p,h=!1;if(t.so)p=o.outlierwidth,d=o.outliercolor,f=i.outliercolor;else{var g=(o||{}).width;p=(t.mlw+1||g+1||(t.trace?(t.trace.marker.line||{}).width:0)+1)-1||0,d="mlc"in t?t.mlcc=n.lineScale(t.mlc):c.isArrayOrTypedArray(o.color)?l.defaultLine:o.color,c.isArrayOrTypedArray(i.color)&&(f=l.defaultLine,h=!0),f="mc"in t?t.mcc=n.markerScale(t.mc):i.color||"rgba(0,0,0,0)",n.selectedColorFn&&(f=n.selectedColorFn(t))}if(t.om)e.call(l.stroke,f).style({"stroke-width":(p||1)+"px",fill:"none"});else{e.style("stroke-width",p+"px");var y=i.gradient,m=t.mgt;if(m?h=!0:m=y&&y.type,Array.isArray(m)&&(m=m[0],T[m]||(m=0)),m&&"none"!==m){var x=t.mgc;x?h=!0:x=y.color;var _=r.uid;h&&(_+="-"+t.i),v.gradient(e,a,_,m,[[0,x],[1,f]],"fill")}else l.fill(e,f);p&&l.stroke(e,d)}},v.makePointStyleFns=function(t){var e={},r=t.marker;return e.markerScale=v.tryColorscale(r,""),e.lineScale=v.tryColorscale(r,"line"),o.traceIs(t,"symbols")&&(e.ms2mrc=h.isBubble(t)?g(t):function(){return(r.size||6)/2}),t.selectedpoints&&c.extendFlat(e,v.makeSelectedPointStyleFns(t)),e},v.makeSelectedPointStyleFns=function(t){var e={},r=t.selected||{},n=t.unselected||{},a=t.marker||{},i=r.marker||{},l=n.marker||{},s=a.opacity,u=i.opacity,f=l.opacity,d=void 0!==u,h=void 0!==f;(c.isArrayOrTypedArray(s)||d||h)&&(e.selectedOpacityFn=function(t){var e=void 0===t.mo?a.opacity:t.mo;return t.selected?d?u:e:h?f:p*e});var g=a.color,v=i.color,y=l.color;(v||y)&&(e.selectedColorFn=function(t){var e=t.mcc||g;return t.selected?v||e:y||e});var m=a.size,x=i.size,b=l.size,_=void 0!==x,w=void 0!==b;return o.traceIs(t,"symbols")&&(_||w)&&(e.selectedSizeFn=function(t){var e=t.mrc||m/2;return t.selected?_?x/2:e:w?b/2:e}),e},v.makeSelectedTextStyleFns=function(t){var e={},r=t.selected||{},n=t.unselected||{},a=t.textfont||{},i=r.textfont||{},o=n.textfont||{},s=a.color,c=i.color,u=o.color;return e.selectedTextColorFn=function(t){var e=t.tc||s;return t.selected?c||e:u||(c?e:l.addOpacity(e,p))},e},v.selectedPointStyle=function(t,e){if(t.size()&&e.selectedpoints){var r=v.makeSelectedPointStyleFns(e),a=e.marker||{},i=[];r.selectedOpacityFn&&i.push(function(t,e){t.style("opacity",r.selectedOpacityFn(e))}),r.selectedColorFn&&i.push(function(t,e){l.fill(t,r.selectedColorFn(e))}),r.selectedSizeFn&&i.push(function(t,e){var n=e.mx||a.symbol||0,i=r.selectedSizeFn(e);t.attr("d",b(v.symbolNumber(n),i)),e.mrc2=i}),i.length&&t.each(function(t){for(var e=n.select(this),r=0;r0?r:0}v.textPointStyle=function(t,e,r){if(t.size()){var a;if(e.selectedpoints){var i=v.makeSelectedTextStyleFns(e);a=i.selectedTextColorFn}t.each(function(t){var i=n.select(this),o=c.extractOption(t,e,"tx","text");if(o||0===o){var l=t.tp||e.textposition,s=L(t,e),f=a?a(t):t.tc||e.textfont.color;i.call(v.font,t.tf||e.textfont.family,s,f).text(o).call(u.convertToTspans,r).call(A,l,s,t.mrc)}else i.remove()})}},v.selectedTextStyle=function(t,e){if(t.size()&&e.selectedpoints){var r=v.makeSelectedTextStyleFns(e);t.each(function(t){var a=n.select(this),i=r.selectedTextColorFn(t),o=t.tp||e.textposition,s=L(t,e);l.fill(a,i),A(a,o,s,t.mrc2||t.mrc)})}};var S=.5;function C(t,e,r,a){var i=t[0]-e[0],o=t[1]-e[1],l=r[0]-e[0],s=r[1]-e[1],c=Math.pow(i*i+o*o,S/2),u=Math.pow(l*l+s*s,S/2),f=(u*u*i-c*c*l)*a,d=(u*u*o-c*c*s)*a,p=3*u*(c+u),h=3*c*(c+u);return[[n.round(e[0]+(p&&f/p),2),n.round(e[1]+(p&&d/p),2)],[n.round(e[0]-(h&&f/h),2),n.round(e[1]-(h&&d/h),2)]]}v.smoothopen=function(t,e){if(t.length<3)return"M"+t.join("L");var r,n="M"+t[0],a=[];for(r=1;r=1e4&&(v.savedBBoxes={},D=0),r&&(v.savedBBoxes[r]=y),D++,c.extendFlat({},y)},v.setClipUrl=function(t,e,r){if(e){var n=r._context,a=n._exportedPlot?"":n._baseUrl||"";t.attr("clip-path","url("+a+"#"+e+")")}else t.attr("clip-path",null)},v.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}},v.setTranslate=function(t,e,r){var n=t.attr?"attr":"getAttribute",a=t.attr?"attr":"setAttribute",i=t[n]("transform")||"";return e=e||0,r=r||0,i=i.replace(/(\btranslate\(.*?\);?)/,"").trim(),i=(i+=" translate("+e+", "+r+")").trim(),t[a]("transform",i),i},v.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}},v.setScale=function(t,e,r){var n=t.attr?"attr":"getAttribute",a=t.attr?"attr":"setAttribute",i=t[n]("transform")||"";return e=e||1,r=r||1,i=i.replace(/(\bscale\(.*?\);?)/,"").trim(),i=(i+=" scale("+e+", "+r+")").trim(),t[a]("transform",i),i};var E=/\s*sc.*/;v.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(E,"");t=(t+=n).trim(),this.setAttribute("transform",t)})}};var R=/translate\([^)]*\)\s*$/;v.setTextPointsScale=function(t,e,r){t&&t.each(function(){var t,a=n.select(this),i=a.select("text");if(i.node()){var o=parseFloat(i.attr("x")||0),l=parseFloat(i.attr("y")||0),s=(a.attr("transform")||"").match(R);t=1===e&&1===r?[]:["translate("+o+","+l+")","scale("+e+","+r+")","translate("+-o+","+-l+")"],s&&t.push(s),a.attr("transform",t.join(" "))}})}},{"../../constants/alignment":146,"../../constants/interactions":148,"../../constants/xmlns_namespaces":150,"../../lib":168,"../../lib/svg_text_utils":189,"../../registry":257,"../../traces/scatter/make_bubble_size_func":384,"../../traces/scatter/subtypes":391,"../color":51,"../colorscale":63,"./symbol_defs":73,d3:16,"fast-isnumeric":18,tinycolor2:34}],73:[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,a="l"+e+",-"+e,i="l-"+e+",-"+e,o="l-"+e+","+e;return"M0,"+e+r+a+i+a+i+o+i+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),a=n.round(-t,2),i=n.round(-.309*t,2);return"M"+e+","+i+"L"+r+","+n.round(.809*t,2)+"H-"+r+"L-"+e+","+i+"L0,"+a+"Z"}},hexagon:{n:14,f:function(t){var e=n.round(t,2),r=n.round(t/2,2),a=n.round(t*Math.sqrt(3)/2,2);return"M"+a+",-"+r+"V"+r+"L0,"+e+"L-"+a+","+r+"V-"+r+"L0,-"+e+"Z"}},hexagon2:{n:15,f:function(t){var e=n.round(t,2),r=n.round(t/2,2),a=n.round(t*Math.sqrt(3)/2,2);return"M-"+r+","+a+"H"+r+"L"+e+",0L"+r+",-"+a+"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),a=n.round(.951*e,2),i=n.round(.363*e,2),o=n.round(.588*e,2),l=n.round(-e,2),s=n.round(-.309*e,2),c=n.round(.118*e,2),u=n.round(.809*e,2);return"M"+r+","+s+"H"+a+"L"+i+","+c+"L"+o+","+u+"L0,"+n.round(.382*e,2)+"L-"+o+","+u+"L-"+i+","+c+"L-"+a+","+s+"H-"+r+"L0,"+l+"Z"}},hexagram:{n:18,f:function(t){var e=n.round(.66*t,2),r=n.round(.38*t,2),a=n.round(.76*t,2);return"M-"+a+",0l-"+r+",-"+e+"h"+a+"l"+r+",-"+e+"l"+r+","+e+"h"+a+"l-"+r+","+e+"l"+r+","+e+"h-"+a+"l-"+r+","+e+"l-"+r+",-"+e+"h-"+a+"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),a=n.round(1.6*t,2),i=n.round(4*t,2),o="A "+i+","+i+" 0 0 1 ";return"M-"+e+","+r+o+e+","+r+o+"0,-"+a+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),a=n.round(1.6*t,2),i=n.round(4*t,2),o="A "+i+","+i+" 0 0 1 ";return"M"+e+",-"+r+o+"-"+e+",-"+r+o+"0,"+a+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),a="A "+r+","+r+" 0 0 1 ";return"M-"+e+",-"+e+a+"-"+e+","+e+a+e+","+e+a+e+",-"+e+a+"-"+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),a="A "+r+","+r+" 0 0 1 ";return"M-"+e+",0"+a+"0,"+e+a+e+",0"+a+"0,-"+e+a+"-"+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),a=n.round(.8*t,2);return"M-"+e+","+a+"L0,0M"+e+","+a+"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),a=n.round(.8*t,2);return"M-"+e+",-"+a+"L0,0M"+e+",-"+a+"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),a=n.round(.8*t,2);return"M"+a+","+e+"L0,0M"+a+",-"+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),a=n.round(.8*t,2);return"M-"+a+","+e+"L0,0M-"+a+",-"+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}}},{d3:16}],74:[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"}}}},{}],75:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("../../registry"),i=t("../../plots/cartesian/axes"),o=t("../../lib"),l=t("./compute_error");function s(t,e,r,a){var s=e["error_"+a]||{},c=[];if(s.visible&&-1!==["linear","log"].indexOf(r.type)){for(var u=l(s),f=0;f0;e.each(function(e){var f,d=e[0].trace,p=d.error_x||{},h=d.error_y||{};d.ids&&(f=function(t){return t.id});var g=o.hasMarkers(d)&&d.marker.maxdisplayed>0;h.visible||p.visible||(e=[]);var v=n.select(this).selectAll("g.errorbar").data(e,f);if(v.exit().remove(),e.length){p.visible||v.selectAll("path.xerror").remove(),h.visible||v.selectAll("path.yerror").remove(),v.style("opacity",1);var y=v.enter().append("g").classed("errorbar",!0);u&&y.style("opacity",0).transition().duration(l.duration).style("opacity",1),i.setClipUrl(v,r.layerClipId,t),v.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),a(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),a(n.xs)||(n.noXS=!0,n.xs=e.c2p(t.xs,!0)));return n}(t,s,c);if(!g||t.vis){var i,o=e.select("path.yerror");if(h.visible&&a(r.x)&&a(r.yh)&&a(r.ys)){var f=h.width;i="M"+(r.x-f)+","+r.yh+"h"+2*f+"m-"+f+",0V"+r.ys,r.noYS||(i+="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(l.duration).ease(l.easing)),o.attr("d",i)}else o.remove();var d=e.select("path.xerror");if(p.visible&&a(r.y)&&a(r.xh)&&a(r.xs)){var v=(p.copy_ystyle?h:p).width;i="M"+r.xh+","+(r.y-v)+"v"+2*v+"m0,-"+v+"H"+r.xs,r.noXS||(i+="m0,-"+v+"v"+2*v),!d.size()?d=e.append("path").style("vector-effect","non-scaling-stroke").classed("xerror",!0):u&&(d=d.transition().duration(l.duration).ease(l.easing)),d.attr("d",i)}else d.remove()}})}})}},{"../../traces/scatter/subtypes":391,"../drawing":72,d3:16,"fast-isnumeric":18}],80:[function(t,e,r){"use strict";var n=t("d3"),a=t("../color");e.exports=function(t){t.each(function(t){var e=t[0].trace,r=e.error_y||{},i=e.error_x||{},o=n.select(this);o.selectAll("path.yerror").style("stroke-width",r.thickness+"px").call(a.stroke,r.color),i.copy_ystyle&&(i=r),o.selectAll("path.xerror").style("stroke-width",i.thickness+"px").call(a.stroke,i.color)})}},{"../color":51,d3:16}],81:[function(t,e,r){"use strict";var n=t("../../plots/font_attributes");e.exports={hoverlabel:{bgcolor:{valType:"color",arrayOk:!0,editType:"none"},bordercolor:{valType:"color",arrayOk:!0,editType:"none"},font:n({arrayOk:!0,editType:"none"}),namelength:{valType:"integer",min:-1,arrayOk:!0,editType:"none"},editType:"calc"}}},{"../../plots/font_attributes":239}],82:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../registry");function i(t,e,r,a){a=a||n.identity,Array.isArray(t)&&(e[0][r]=a(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 l=0;l=0&&r.indexw[0]._length||et<0||et>k[0]._length)return d.unhoverRaw(t,e)}if(e.pointerX=tt+w[0]._offset,e.pointerY=et+k[0]._offset,R="xval"in e?g.flat(s,e.xval):g.p2c(w,tt),I="yval"in e?g.flat(s,e.yval):g.p2c(k,et),!a(R[0])||!a(I[0]))return o.warn("Fx.hover failed",e,t),d.unhoverRaw(t,e)}var at=1/0;for(N=0;N<$.length;N++)if((B=$[N])&&B[0]&&B[0].trace&&!0===B[0].trace.visible&&(j=B[0].trace,-1===["carpet","contourcarpet"].indexOf(j._module.name))){if("splom"===j.type?H=s[q=0]:(H=g.getSubplot(j),q=s.indexOf(H)),V=E,Z={cd:B,trace:j,xa:w[q],ya:k[q],maxHoverDistance:Y,maxSpikeDistance:W,index:!1,distance:Math.min(at,Y),spikeDistance:1/0,xSpike:void 0,ySpike:void 0,color:f.defaultLine,name:j.name,x0:void 0,x1:void 0,y0:void 0,y1:void 0,xLabelVal:void 0,yLabelVal:void 0,zLabelVal:void 0,text:void 0},u[H]&&(Z.subplot=u[H]._subplot),u._splomScenes&&u._splomScenes[j.uid]&&(Z.scene=u._splomScenes[j.uid]),X=J.length,"array"===V){var it=e[N];"pointNumber"in it?(Z.index=it.pointNumber,V="closest"):(V="","xval"in it&&(U=it.xval,V="x"),"yval"in it&&(G=it.yval,V=V?"closest":"y"))}else U=R[q],G=I[q];if(0!==Y)if(j._module&&j._module.hoverPoints){var ot=j._module.hoverPoints(Z,U,G,V,u._hoverlayer);if(ot)for(var lt,st=0;stX&&(J.splice(0,X),at=J[0].distance),m&&0!==W&&0===J.length){Z.distance=W,Z.index=!1;var ct=j._module.hoverPoints(Z,U,G,"closest",u._hoverlayer);if(ct&&(ct=ct.filter(function(t){return t.spikeDistance<=W})),ct&&ct.length){var ut,ft=ct.filter(function(t){return t.xa.showspikes});if(ft.length){var dt=ft[0];a(dt.x0)&&a(dt.y0)&&(ut=vt(dt),(!Q.vLinePoint||Q.vLinePoint.spikeDistance>ut.spikeDistance)&&(Q.vLinePoint=ut))}var pt=ct.filter(function(t){return t.ya.showspikes});if(pt.length){var ht=pt[0];a(ht.x0)&&a(ht.y0)&&(ut=vt(ht),(!Q.hLinePoint||Q.hLinePoint.spikeDistance>ut.spikeDistance)&&(Q.hLinePoint=ut))}}}}function gt(t,e){for(var r,n=null,a=1/0,i=0;i1||J.length>1)||"closest"===E&&K&&J.length>1,zt=f.combine(u.plot_bgcolor||f.background,u.paper_bgcolor),Dt={hovermode:E,rotateLabels:Ot,bgColor:zt,container:u._hoverlayer,outerContainer:u._paperdiv,commonLabelOpts:u.hoverlabel,hoverdistance:u.hoverdistance},Pt=M(J,Dt,t);if(function(t,e,r){var n,a,i,o,l,s,c,u=0,f=1,d=t.map(function(t,n){var a=t[e],i="x"===a._id.charAt(0),o=a.range;return!n&&o&&o[0]>o[1]!==i&&(f=-1),[{i:n,traceIndex:t.trace.index,dp:0,pos:t.pos,posref:t.posref,size:t.by*(i?x:1)/2,pmin:0,pmax:i?r.width:r.height}]}).sort(function(t,e){return t[0].posref-e[0].posref||f*(e[0].traceIndex-t[0].traceIndex)});function p(t){var e=t[0],r=t[t.length-1];if(a=e.pmin-e.pos-e.dp+e.size,i=r.pos+r.dp+r.size-e.pmax,a>.01){for(l=t.length-1;l>=0;l--)t[l].dp+=a;n=!1}if(!(i<.01)){if(a<-.01){for(l=t.length-1;l>=0;l--)t[l].dp-=i;n=!1}if(n){var c=0;for(o=0;oe.pmax&&c++;for(o=t.length-1;o>=0&&!(c<=0);o--)(s=t[o]).pos>e.pmax-1&&(s.del=!0,c--);for(o=0;o=0;l--)t[l].dp-=i;for(o=t.length-1;o>=0&&!(c<=0);o--)(s=t[o]).pos+s.dp+s.size>e.pmax&&(s.del=!0,c--)}}}for(;!n&&u<=t.length;){for(u++,n=!0,o=0;o.01&&v.pmin===y.pmin&&v.pmax===y.pmax){for(l=g.length-1;l>=0;l--)g[l].dp+=a;for(h.push.apply(h,g),d.splice(o+1,1),c=0,l=h.length-1;l>=0;l--)c+=h[l].dp;for(i=c/h.length,l=h.length-1;l>=0;l--)h[l].dp-=i;n=!1}else o++}d.forEach(p)}for(o=d.length-1;o>=0;o--){var m=d[o];for(l=m.length-1;l>=0;l--){var b=m[l],_=t[b.i];_.offset=b.dp,_.del=b.del}}}(J,Ot?"xa":"ya",u),A(Pt,Ot),e.target&&e.target.tagName){var Et=h.getComponentMethod("annotations","hasClickToShow")(t,At);c(n.select(e.target),Et?"pointer":"")}if(!e.target||i||!function(t,e,r){if(!r||r.length!==t._hoverdata.length)return!0;for(var n=r.length-1;n>=0;n--){var a=r[n],i=t._hoverdata[n];if(a.curveNumber!==i.curveNumber||String(a.pointNumber)!==String(i.pointNumber)||String(a.pointNumbers)!==String(i.pointNumbers))return!0}return!1}(t,0,Mt))return;Mt&&t.emit("plotly_unhover",{event:e,points:Mt});t.emit("plotly_hover",{event:e,points:t._hoverdata,xaxes:w,yaxes:k,xvals:R,yvals:I})}(t,e,r,i)})},r.loneHover=function(t,e){var r={color:t.color||f.defaultLine,x0:t.x0||t.x||0,x1:t.x1||t.x||0,y0:t.y0||t.y||0,y1:t.y1||t.y||0,xLabel:t.xLabel,yLabel:t.yLabel,zLabel:t.zLabel,text:t.text,name:t.name,idealAlign:t.idealAlign,borderColor:t.borderColor,fontFamily:t.fontFamily,fontSize:t.fontSize,fontColor:t.fontColor,trace: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),i=e.outerContainer?n.select(e.outerContainer):a,o={hovermode:"closest",rotateLabels:!1,bgColor:e.bgColor||f.background,container:a,outerContainer:i},l=M([r],o,e.gd);return A(l,o.rotateLabels),l.node()},r.multiHovers=function(t,e){Array.isArray(t)||(t=[t]);var r=t.map(function(t){return{color:t.color||f.defaultLine,x0:t.x0||t.x||0,x1:t.x1||t.x||0,y0:t.y0||t.y||0,y1:t.y1||t.y||0,xLabel:t.xLabel,yLabel:t.yLabel,zLabel:t.zLabel,text:t.text,name:t.name,idealAlign:t.idealAlign,borderColor:t.borderColor,fontFamily:t.fontFamily,fontSize:t.fontSize,fontColor:t.fontColor,trace: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),i=e.outerContainer?n.select(e.outerContainer):a,o={hovermode:"closest",rotateLabels:!1,bgColor:e.bgColor||f.background,container:a,outerContainer:i},l=M(r,o,e.gd),s=0;return l.sort(function(t,e){return t.y0-e.y0}).each(function(t){var e=t.y0-t.by/2;t.offset=e-5([\s\S]*)<\/extra>/;function M(t,e,r){var a=e.hovermode,i=e.rotateLabels,l=e.bgColor,c=e.container,d=e.outerContainer,p=e.commonLabelOpts||{},h=e.fontFamily||v.HOVERFONT,g=e.fontSize||v.HOVERFONTSIZE,m=t[0],x=m.xa,b=m.ya,_="y"===a?"yLabel":"xLabel",M=m[_],A=(String(M)||"").split(" ")[0],L=d.node().getBoundingClientRect(),S=L.top,C=L.width,O=L.height,z=void 0!==M&&m.distance<=e.hoverdistance&&("x"===a||"y"===a);if(z){var D,P,E=!0;for(D=0;D"),void 0!==t.yLabel&&(d+="y: "+t.yLabel+"
"),d+=(d?"z: ":"")+t.zLabel):z&&t[a+"Label"]===M?d=t[("x"===a?"y":"x")+"Label"]||"":void 0===t.xLabel?void 0!==t.yLabel&&(d=t.yLabel):d=void 0===t.yLabel?t.xLabel:"("+t.xLabel+", "+t.yLabel+")",!t.text&&0!==t.text||Array.isArray(t.text)||(d+=(d?"
":"")+t.text),void 0!==t.extraText&&(d+=(d?"
":"")+t.extraText),""!==d||t.hovertemplate||(""===c&&e.remove(),d=c);var b=t.hovertemplate||!1,_=t.hovertemplateLabels||t,A=t.eventData[0]||{};b&&(d=(d=o.hovertemplateString(b,_,A)).replace(T,function(t,e){return c=e,""}));var L=e.select("text.nums").call(u.font,t.fontFamily||h,t.fontSize||g,t.fontColor||x).text(d).attr("data-notex",1).call(s.positionText,0,0).call(s.convertToTspans,r),D=e.select("text.name"),P=0,E=0;if(c&&c!==d){D.call(u.font,t.fontFamily||h,t.fontSize||g,m).text(c).attr("data-notex",1).call(s.positionText,0,0).call(s.convertToTspans,r);var R=D.node().getBoundingClientRect();P=R.width+2*k,E=R.height+2*k}else D.remove(),e.select("rect").remove();e.select("path").style({fill:v,stroke:x});var I,F,N=L.node().getBoundingClientRect(),B=t.xa._offset+(t.x0+t.x1)/2,j=t.ya._offset+(t.y0+t.y1)/2,H=Math.abs(t.x1-t.x0),q=Math.abs(t.y1-t.y0),V=N.width+w+k+P;t.ty0=S-N.top,t.bx=N.width+2*k,t.by=Math.max(N.height+2*k,E),t.anchor="start",t.txwidth=N.width,t.tx2width=P,t.offset=0,i?(t.pos=B,I=j+q/2+V<=O,F=j-q/2-V>=0,"top"!==t.idealAlign&&I||!F?I?(j+=q/2,t.anchor="start"):t.anchor="middle":(j-=q/2,t.anchor="end")):(t.pos=j,I=B+H/2+V<=C,F=B-H/2-V>=0,"left"!==t.idealAlign&&I||!F?I?(B+=H/2,t.anchor="start"):t.anchor="middle":(B-=H/2,t.anchor="end")),L.attr("text-anchor",t.anchor),P&&D.attr("text-anchor",t.anchor),e.attr("transform","translate("+B+","+j+")"+(i?"rotate("+y+")":""))}),F}function A(t,e){t.each(function(t){var r=n.select(this);if(t.del)r.remove();else{var a="end"===t.anchor?-1:1,i=r.select("text.nums"),o={start:1,end:-1,middle:0}[t.anchor],l=o*(w+k),c=l+o*(t.txwidth+k),f=0,d=t.offset;"middle"===t.anchor&&(l-=t.tx2width/2,c+=t.txwidth/2+k),e&&(d*=-_,f=t.offset*b),r.select("path").attr("d","middle"===t.anchor?"M-"+(t.bx/2+t.tx2width/2)+","+(d-t.by/2)+"h"+t.bx+"v"+t.by+"h-"+t.bx+"Z":"M0,0L"+(a*w+f)+","+(w+d)+"v"+(t.by/2-w)+"h"+a*t.bx+"v-"+t.by+"H"+(a*w+f)+"V"+(d-w)+"Z"),i.call(s.positionText,l+f,d+t.ty0-t.by/2+k),t.tx2width&&(r.select("text.name").call(s.positionText,c+o*k+f,d+t.ty0-t.by/2+k),r.select("rect").call(u.setRect,c+(o-1)*t.tx2width/2+f,d-t.by/2-1,t.tx2width,t.by+2))}})}function L(t,e){var r=t.index,n=t.trace||{},a=t.cd[0],i=t.cd[r]||{},l=Array.isArray(r)?function(t,e){return o.castOption(a,r,t)||o.extractOption({},n,"",e)}:function(t,e){return o.extractOption(i,n,t,e)};function s(e,r,n){var a=l(r,n);a&&(t[e]=a)}if(s("hoverinfo","hi","hoverinfo"),s("bgcolor","hbg","hoverlabel.bgcolor"),s("borderColor","hbc","hoverlabel.bordercolor"),s("fontFamily","htf","hoverlabel.font.family"),s("fontSize","hts","hoverlabel.font.size"),s("fontColor","htc","hoverlabel.font.color"),s("nameLength","hnl","hoverlabel.namelength"),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:p.hoverLabelText(t.xa,t.xLabelVal),t.xVal=t.xa.c2d(t.xLabelVal)),void 0!==t.yLabelVal&&(t.yLabel="yLabel"in t?t.yLabel:p.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 c=p.tickText(t.xa,t.xa.c2l(t.xerr),"hover").text;void 0!==t.xerrneg?t.xLabel+=" +"+c+" / -"+p.tickText(t.xa,t.xa.c2l(t.xerrneg),"hover").text:t.xLabel+=" \xb1 "+c,"x"===e&&(t.distance+=1)}if(!(isNaN(t.yerr)||"log"===t.ya.type&&t.yerr<=0)){var u=p.tickText(t.ya,t.ya.c2l(t.yerr),"hover").text;void 0!==t.yerrneg?t.yLabel+=" +"+u+" / -"+p.tickText(t.ya,t.ya.c2l(t.yerrneg),"hover").text:t.yLabel+=" \xb1 "+u,"y"===e&&(t.distance+=1)}var f=t.hoverinfo||t.trace.hoverinfo;return f&&"all"!==f&&(-1===(f=Array.isArray(f)?f:f.split("+")).indexOf("x")&&(t.xLabel=void 0),-1===f.indexOf("y")&&(t.yLabel=void 0),-1===f.indexOf("z")&&(t.zLabel=void 0),-1===f.indexOf("text")&&(t.text=void 0),-1===f.indexOf("name")&&(t.name=void 0)),t}function S(t,e){var r,n,a=e.container,o=e.fullLayout,l=e.event,s=!!t.hLinePoint,c=!!t.vLinePoint;if(a.selectAll(".spikeline").remove(),c||s){var d=f.combine(o.plot_bgcolor,o.paper_bgcolor);if(s){var p,h,g=t.hLinePoint;r=g&&g.xa,"cursor"===(n=g&&g.ya).spikesnap?(p=l.pointerX,h=l.pointerY):(p=r._offset+g.x,h=n._offset+g.y);var v,y,m=i.readability(g.color,d)<1.5?f.contrast(d):g.color,x=n.spikemode,b=n.spikethickness,_=n.spikecolor||m,w=n._boundingBox,k=(w.left+w.right)/20){for(var n=[],a=0;a-1?o="closest":(e._isHoriz=function(t){for(var e=!0,r=0;r1){d||p||h||"independent"===T("pattern")&&(d=!0),v._hasSubplotGrid=d;var x,b,_="top to bottom"===T("roworder"),w=d?.2:.1,k=d?.3:.1;g&&e._splomGridDflt&&(x=e._splomGridDflt.xside,b=e._splomGridDflt.yside),v._domains={x:u("x",T,w,x,m),y:u("y",T,k,b,y,_)}}else delete e.grid}function T(t,e){return n.coerce(r,v,s,t,e)}},contentDefaults:function(t,e){var r=e.grid;if(r&&r._domains){var n,a,i,o,l,s,u,d=t.grid||{},p=e._subplots,h=r._hasSubplotGrid,g=r.rows,v=r.columns,y="independent"===r.pattern,m=r._axisMap={};if(h){var x=d.subplots||[];s=r.subplots=new Array(g);var b=1;for(n=0;n1);if(!1!==x||p.uirevision){var b=i.newContainer(e,"legend");if(w("uirevision",e.uirevision),!1!==x){if(w("bgcolor",e.paper_bgcolor),w("bordercolor"),w("borderwidth"),a.coerceFont(w,"font",e.font),w("orientation"),"h"===b.orientation){var _=t.xaxis;n.getComponentMethod("rangeslider","isVisible")(_)?(c=0,f="left",u=1.1,d="bottom"):(c=0,f="left",u=-.1,d="top")}w("traceorder",v),s.isGrouped(e.legend)&&w("tracegroupgap"),w("x",c),w("xanchor",f),w("y",u),w("yanchor",d),w("valign"),a.noneOrAll(p,b,["x","y"])}}function w(t,e){return a.coerce(p,b,o,t,e)}}},{"../../lib":168,"../../plot_api/plot_template":202,"../../plots/layout_attributes":243,"../../registry":257,"./attributes":100,"./helpers":106}],103:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../lib"),i=t("../../plots/plots"),o=t("../../registry"),l=t("../../lib/events"),s=t("../dragelement"),c=t("../drawing"),u=t("../color"),f=t("../../lib/svg_text_utils"),d=t("./handle_click"),p=t("./constants"),h=t("../../constants/interactions"),g=t("../../constants/alignment"),v=g.LINE_SPACING,y=g.FROM_TL,m=g.FROM_BR,x=t("./get_legend_data"),b=t("./style"),_=t("./helpers"),w=h.DBLCLICKDELAY;function k(t,e,r,n,a){var i=r.data()[0][0].trace,o={event:a,node:r.node(),curveNumber:i.index,expandedIndex:i._expandedIndex,data:t.data,layout:t.layout,frames:t._transitionData._frames,config:t._context,fullData:t._fullData,fullLayout:t._fullLayout};if(i._group&&(o.group=i._group),"pie"===i.type&&(o.label=r.datum()[0].label),!1!==l.triggerHandler(t,"plotly_legendclick",o))if(1===n)e._clickTimeout=setTimeout(function(){d(r,t,n)},w);else if(2===n){e._clickTimeout&&clearTimeout(e._clickTimeout),t._legendMouseDownTime=0,!1!==l.triggerHandler(t,"plotly_legenddoubleclick",o)&&d(r,t,n)}}function T(t,e,r){var n=t.data()[0][0],i=e._fullLayout,l=n.trace,s=o.traceIs(l,"pie"),u=l.index,d=s?n.label:l.name,h=e._context.edits.legendText&&!s,g=a.ensureSingle(t,"text","legendtext");function y(r){f.convertToTspans(r,e,function(){!function(t,e){var r=t.data()[0][0];if(!r.trace.showlegend)return void t.remove();var n,a,i=t.select("g[class*=math-group]"),o=i.node(),l=e._fullLayout.legend.font.size*v;if(o){var s=c.bBox(o);n=s.height,a=s.width,c.setTranslate(i,0,n/4)}else{var u=t.select(".legendtext"),d=f.lineCount(u),h=u.node();n=l*d,a=h?c.bBox(h).width:0;var g=l*(.3+(1-d)/2);f.positionText(u,p.textOffsetX,g)}r.lineHeight=l,r.height=Math.max(n,16)+3,r.width=a}(t,e)})}g.attr("text-anchor","start").classed("user-select-none",!0).call(c.font,i.legend.font).text(h?M(d,r):d),f.positionText(g,p.textOffsetX,0),h?g.call(f.makeEditable,{gd:e,text:d}).call(y).on("edit",function(t){this.text(M(t,r)).call(y);var i=n.trace._fullInput||{},l={};if(o.hasTransform(i,"groupby")){var s=o.getTransformIndices(i,"groupby"),c=s[s.length-1],f=a.keyedContainer(i,"transforms["+c+"].styles","target","value.name");f.set(n.trace._group,t),l=f.constructUpdate()}else l.name=t;return o.call("_guiRestyle",e,l,u)}):y(g)}function M(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 A(t,e){var r,i=1,o=a.ensureSingle(t,"rect","legendtoggle",function(t){t.style("cursor","pointer").attr("pointer-events","all").call(u.fill,"rgba(0,0,0,0)")});o.on("mousedown",function(){(r=(new Date).getTime())-e._legendMouseDownTimew&&(i=Math.max(i-1,1)),k(e,r,t,i,n.event)}})}function L(t,e,r){var a=t._fullLayout,i=a.legend,o=i.borderwidth,l=_.isGrouped(i),s=0;if(i._width=0,i._height=0,_.isVertical(i))l&&e.each(function(t,e){c.setTranslate(this,0,e*i.tracegroupgap)}),r.each(function(t){var e=t[0],r=e.height,n=e.width;c.setTranslate(this,o,5+o+i._height+r/2),i._height+=r,i._width=Math.max(i._width,n)}),i._width+=45+2*o,i._height+=10+2*o,l&&(i._height+=(i._lgroupsLength-1)*i.tracegroupgap),s=40;else if(l){for(var u=[i._width],f=e.data(),d=0,p=f.length;do+b-w;r.each(function(t){var e=t[0],r=k?40+t[0].width:m;o+x+w+r>a._size.w&&(x=0,v+=y,i._height+=y,y=0),c.setTranslate(this,o+x,5+o+e.height/2+v),i._width+=w+r,x+=w+r,y=Math.max(e.height,y)}),k?i._height=y:i._height+=y,i._width+=2*o,i._height+=10+2*o}i._width=Math.ceil(i._width),i._height=Math.ceil(i._height);var T=t._context.edits.legendText||t._context.edits.legendPosition;r.each(function(t){var e=t[0],r=n.select(this).select(".legendtoggle");c.setRect(r,0,-e.height/2,(T?0:i._width)+s,e.height)})}function S(t){var e=t._fullLayout.legend,r="left";a.isRightAnchor(e)?r="right":a.isCenterAnchor(e)&&(r="center");var n="top";a.isBottomAnchor(e)?n="bottom":a.isMiddleAnchor(e)&&(n="middle"),i.autoMargin(t,"legend",{x:e.x,y:e.y,l:e._width*y[r],r:e._width*m[r],b:e._height*m[n],t:e._height*y[n]})}e.exports=function(t){var e=t._fullLayout,r="legend"+e._uid;if(e._infolayer&&t.calcdata){t._legendMouseDownTime||(t._legendMouseDownTime=0);var l=e.legend,f=e.showlegend&&x(t.calcdata,l),d=e.hiddenlabels||[];if(!e.showlegend||!f.length)return e._infolayer.selectAll(".legend").remove(),e._topdefs.select("#"+r).remove(),void i.autoMargin(t,"legend");for(var h=0,g=0;gf?function(t){var e=t._fullLayout.legend,r="left";a.isRightAnchor(e)?r="right":a.isCenterAnchor(e)&&(r="center");i.autoMargin(t,"legend",{x:e.x,y:.5,l:e._width*y[r],r:e._width*m[r],b:0,t:0})}(t):S(t);var d=e._size,h=d.l+d.w*l.x,g=d.t+d.h*(1-l.y);a.isRightAnchor(l)?h-=l._width:a.isCenterAnchor(l)&&(h-=l._width/2),a.isBottomAnchor(l)?g-=l._height:a.isMiddleAnchor(l)&&(g-=l._height/2);var v=l._width,x=d.w;v>x?(h=d.l,v=x):(h+v>u&&(h=u-v),h<0&&(h=0),v=Math.min(u-h,l._width));var b,_,w,T,M=l._height,A=d.h;if(M>A?(g=d.t,M=A):(g+M>f&&(g=f-M),g<0&&(g=0),M=Math.min(f-g,l._height)),c.setTranslate(O,h,g),E.on(".drag",null),O.on("wheel",null),l._height<=M||t._context.staticPlot)D.attr({width:v-l.borderwidth,height:M-l.borderwidth,x:l.borderwidth/2,y:l.borderwidth/2}),c.setTranslate(P,0,0),z.select("rect").attr({width:v-2*l.borderwidth,height:M-2*l.borderwidth,x:l.borderwidth,y:l.borderwidth}),c.setClipUrl(P,r,t),c.setRect(E,0,0,0,0),delete l._scrollY;else{var F,N,B=Math.max(p.scrollBarMinHeight,M*M/l._height),j=M-B-2*p.scrollBarMargin,H=l._height-M,q=j/H,V=Math.min(l._scrollY||0,H);D.attr({width:v-2*l.borderwidth+p.scrollBarWidth+p.scrollBarMargin,height:M-l.borderwidth,x:l.borderwidth/2,y:l.borderwidth/2}),z.select("rect").attr({width:v-2*l.borderwidth+p.scrollBarWidth+p.scrollBarMargin,height:M-2*l.borderwidth,x:l.borderwidth,y:l.borderwidth+V}),c.setClipUrl(P,r,t),G(V,B,q),O.on("wheel",function(){G(V=a.constrain(l._scrollY+n.event.deltaY/j*H,0,H),B,q),0!==V&&V!==H&&n.event.preventDefault()});var U=n.behavior.drag().on("dragstart",function(){F=n.event.sourceEvent.clientY,N=V}).on("drag",function(){var t=n.event.sourceEvent;2===t.buttons||t.ctrlKey||G(V=a.constrain((t.clientY-F)/q+N,0,H),B,q)});E.call(U)}function G(e,r,n){l._scrollY=t._fullLayout.legend._scrollY=e,c.setTranslate(P,0,-e),c.setRect(E,v,p.scrollBarMargin+e*n,p.scrollBarWidth,r),z.select("rect").attr({y:l.borderwidth+e})}t._context.edits.legendPosition&&(O.classed("cursor-move",!0),s.init({element:O.node(),gd:t,prepFn:function(){var t=c.getTranslate(O);w=t.x,T=t.y},moveFn:function(t,e){var r=w+t,n=T+e;c.setTranslate(O,r,n),b=s.align(r,0,d.l,d.l+d.w,l.xanchor),_=s.align(n,0,d.t+d.h,d.t,l.yanchor)},doneFn:function(){void 0!==b&&void 0!==_&&o.call("_guiRelayout",t,{"legend.x":b,"legend.y":_})},clickFn:function(r,n){var a=e._infolayer.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});a.size()>0&&k(t,O,a,r,n)}}))}],t)}}},{"../../constants/alignment":146,"../../constants/interactions":148,"../../lib":168,"../../lib/events":161,"../../lib/svg_text_utils":189,"../../plots/plots":245,"../../registry":257,"../color":51,"../dragelement":69,"../drawing":72,"./constants":101,"./get_legend_data":104,"./handle_click":105,"./helpers":106,"./style":108,d3:16}],104:[function(t,e,r){"use strict";var n=t("../../registry"),a=t("./helpers");e.exports=function(t,e){var r,i,o={},l=[],s=!1,c={},u=0;function f(t,r){if(""!==t&&a.isGrouped(e))-1===l.indexOf(t)?(l.push(t),s=!0,o[t]=[[r]]):o[t].push([r]);else{var n="~~i"+u;l.push(n),o[n]=[[r]],u++}}for(r=0;rr[1])return r[1]}return a}function h(t){return t[0]}if(u||f||d){var g={},v={};if(u){g.mc=p("marker.color",h),g.mx=p("marker.symbol",h),g.mo=p("marker.opacity",i.mean,[.2,1]),g.mlc=p("marker.line.color",h),g.mlw=p("marker.line.width",i.mean,[0,5]),v.marker={sizeref:1,sizemin:1,sizemode:"diameter"};var y=p("marker.size",i.mean,[2,16]);g.ms=y,v.marker.size=y}d&&(v.line={width:p("line.width",h,[0,10])}),f&&(g.tx="Aa",g.tp=p("textposition",h),g.ts=10,g.tc=p("textfont.color",h),g.tf=p("textfont.family",h)),r=[i.minExtend(l,g)],(a=i.minExtend(c,v)).selectedpoints=null}var m=n.select(this).select("g.legendpoints"),x=m.selectAll("path.scatterpts").data(u?r:[]);x.enter().insert("path",":first-child").classed("scatterpts",!0).attr("transform","translate(20,0)"),x.exit().remove(),x.call(o.pointStyle,a,e),u&&(r[0].mrc=3);var b=m.selectAll("g.pointtext").data(f?r:[]);b.enter().append("g").classed("pointtext",!0).append("text").attr("transform","translate(20,0)"),b.exit().remove(),b.selectAll("text").call(o.textPointStyle,a,e)}).each(function(t){var e=t[0].trace,r=n.select(this).select("g.legendpoints").selectAll("path.legendcandle").data("candlestick"===e.type&&e.visible?[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","translate(20,0)").style("stroke-miterlimit",1),r.exit().remove(),r.each(function(t,r){var a=e[r?"increasing":"decreasing"],i=a.line.width,o=n.select(this);o.style("stroke-width",i+"px").call(l.fill,a.fillcolor),i&&l.stroke(o,a.line.color)})}).each(function(t){var e=t[0].trace,r=n.select(this).select("g.legendpoints").selectAll("path.legendohlc").data("ohlc"===e.type&&e.visible?[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","translate(20,0)").style("stroke-miterlimit",1),r.exit().remove(),r.each(function(t,r){var a=e[r?"increasing":"decreasing"],i=a.line.width,s=n.select(this);s.style("fill","none").call(o.dashLine,a.line.dash,i),i&&l.stroke(s,a.line.color)})})}},{"../../lib":168,"../../registry":257,"../../traces/pie/style_one":365,"../../traces/scatter/subtypes":391,"../color":51,"../drawing":72,d3:16}],109:[function(t,e,r){"use strict";var n=t("../../registry"),a=t("../../plots/plots"),i=t("../../plots/cartesian/axis_ids"),o=t("../../lib"),l=t("../../../build/ploticon"),s=o._,c=e.exports={};function u(t,e){var r,a,o=e.currentTarget,l=o.getAttribute("data-attr"),s=o.getAttribute("data-val")||!0,c=t._fullLayout,u={},f=i.list(t,null,!0),d="on";if("zoom"===l){var p,h="in"===s?.5:2,g=(1+h)/2,v=(1-h)/2;for(a=0;a1?(k=["toggleHover"],T=["resetViews"]):d?(w=["zoomInGeo","zoomOutGeo"],k=["hoverClosestGeo"],T=["resetGeo"]):f?(k=["hoverClosest3d"],T=["resetCameraDefault3d","resetCameraLastSave3d"]):v?(k=["toggleHover"],T=["resetViewMapbox"]):k=h?["hoverClosestGl2d"]:p?["hoverClosestPie"]:["toggleHover"];u&&(k=["toggleSpikelines","hoverClosestCartesian","hoverCompareCartesian"]);!u&&!h||m||(w=["zoomIn2d","zoomOut2d","autoScale2d"],"resetViews"!==T[0]&&(T=["resetScale2d"]));f?M=["zoom3d","pan3d","orbitRotation","tableRotation"]:(u||h)&&!m||g?M=["zoom2d","pan2d"]:v||d?M=["pan2d"]:y&&(M=["zoom2d"]);(function(t){for(var e=!1,r=0;r0)){var g=function(t,e,r){for(var n=r.filter(function(r){return e[r].anchor===t._id}),a=0,i=0;i0?d+c:c;return{ppad:c,ppadplus:u?h:g,ppadminus:u?g:h}}return{ppad:c}}function u(t,e,r,n,a){var l="category"===t.type||"multicategory"===t.type?t.r2c:t.d2c;if(void 0!==e)return[l(e),l(r)];if(n){var s,c,u,f,d=1/0,p=-1/0,h=n.match(i.segmentRE);for("date"===t.type&&(l=o.decodeDate(l)),s=0;sp&&(p=f)));return p>=d?[d,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;o10?t/2:10;return n.append("circle").attr({"data-line-point":"start-point",cx:R?V(r.xanchor)+r.x0:V(r.x0),cy:I?U(r.yanchor)-r.y0:U(r.y0),r:i}).style(a).classed("cursor-grab",!0),n.append("circle").attr({"data-line-point":"end-point",cx:R?V(r.xanchor)+r.x1:V(r.x1),cy:I?U(r.yanchor)-r.y1:U(r.y1),r:i}).style(a).classed("cursor-grab",!0),n}():e,Y={element:X.node(),gd:t,prepFn:function(n){R&&(_=V(r.xanchor));I&&(w=U(r.yanchor));"path"===r.type?z=r.path:(y=R?r.x0:V(r.x0),m=I?r.y0:U(r.y0),x=R?r.x1:V(r.x1),b=I?r.y1:U(r.y1));yb?(k=m,L="y0",T=b,S="y1"):(k=b,L="y1",T=m,S="y0");W(n),Q(p,r),function(t,e,r){var n=e.xref,a=e.yref,o=i.getFromId(r,n),s=i.getFromId(r,a),c="";"paper"===n||o.autorange||(c+=n);"paper"===a||s.autorange||(c+=a);l.setClipUrl(t,c?"clip"+r._fullLayout._uid+c:null,r)}(e,r,t),Y.moveFn="move"===D?J:$},doneFn:function(){u(e),K(p),h(e,t,r),n.call("_guiRelayout",t,B.getUpdateObj())},clickFn:function(){K(p)}};function W(t){if(F)D="path"===t.target.tagName?"move":"start-point"===t.target.attributes["data-line-point"].value?"resize-over-start-point":"resize-over-end-point";else{var r=Y.element.getBoundingClientRect(),n=r.right-r.left,a=r.bottom-r.top,i=t.clientX-r.left,o=t.clientY-r.top,l=!N&&n>P&&a>E&&!t.shiftKey?c.getCursor(i/n,1-o/a):"move";u(e,l),D=l.split("-")[0]}}function J(n,a){if("path"===r.type){var i=function(t){return t},o=i,l=i;R?j("xanchor",r.xanchor=G(_+n)):(o=function(t){return G(V(t)+n)},H&&"date"===H.type&&(o=d.encodeDate(o))),I?j("yanchor",r.yanchor=Z(w+a)):(l=function(t){return Z(U(t)+a)},q&&"date"===q.type&&(l=d.encodeDate(l))),j("path",r.path=v(z,o,l))}else R?j("xanchor",r.xanchor=G(_+n)):(j("x0",r.x0=G(y+n)),j("x1",r.x1=G(x+n))),I?j("yanchor",r.yanchor=Z(w+a)):(j("y0",r.y0=Z(m+a)),j("y1",r.y1=Z(b+a)));e.attr("d",g(t,r)),Q(p,r)}function $(n,a){if(N){var i=function(t){return t},o=i,l=i;R?j("xanchor",r.xanchor=G(_+n)):(o=function(t){return G(V(t)+n)},H&&"date"===H.type&&(o=d.encodeDate(o))),I?j("yanchor",r.yanchor=Z(w+a)):(l=function(t){return Z(U(t)+a)},q&&"date"===q.type&&(l=d.encodeDate(l))),j("path",r.path=v(z,o,l))}else if(F){if("resize-over-start-point"===D){var s=y+n,c=I?m-a:m+a;j("x0",r.x0=R?s:G(s)),j("y0",r.y0=I?c:Z(c))}else if("resize-over-end-point"===D){var u=x+n,f=I?b-a:b+a;j("x1",r.x1=R?u:G(u)),j("y1",r.y1=I?f:Z(f))}}else{var h=~D.indexOf("n")?k+a:k,B=~D.indexOf("s")?T+a:T,X=~D.indexOf("w")?M+n:M,Y=~D.indexOf("e")?A+n:A;~D.indexOf("n")&&I&&(h=k-a),~D.indexOf("s")&&I&&(B=T-a),(!I&&B-h>E||I&&h-B>E)&&(j(L,r[L]=I?h:Z(h)),j(S,r[S]=I?B:Z(B))),Y-X>P&&(j(C,r[C]=R?X:G(X)),j(O,r[O]=R?Y:G(Y)))}e.attr("d",g(t,r)),Q(p,r)}function Q(t,e){(R||I)&&function(){var r="path"!==e.type,n=t.selectAll(".visual-cue").data([0]);n.enter().append("path").attr({fill:"#fff","fill-rule":"evenodd",stroke:"#000","stroke-width":1}).classed("visual-cue",!0);var i=V(R?e.xanchor:a.midRange(r?[e.x0,e.x1]:d.extractPathCoords(e.path,f.paramIsX))),o=U(I?e.yanchor:a.midRange(r?[e.y0,e.y1]:d.extractPathCoords(e.path,f.paramIsY)));if(i=d.roundPositionForSharpStrokeRendering(i,1),o=d.roundPositionForSharpStrokeRendering(o,1),R&&I){var l="M"+(i-1-1)+","+(o-1-1)+"h-8v2h8 v8h2v-8 h8v-2h-8 v-8h-2 Z";n.attr("d",l)}else if(R){var s="M"+(i-1-1)+","+(o-9-1)+"v18 h2 v-18 Z";n.attr("d",s)}else{var c="M"+(i-9-1)+","+(o-1-1)+"h18 v2 h-18 Z";n.attr("d",c)}}()}function K(t){t.selectAll(".visual-cue").remove()}c.init(Y),X.node().onmousemove=W}(t,x,r,e,p)}}function h(t,e,r){var n=(r.xref+r.yref).replace(/paper/g,"");l.setClipUrl(t,n?"clip"+e._fullLayout._uid+n:null,e)}function g(t,e){var r,n,o,l,s,c,u,p,h=e.type,g=i.getFromId(t,e.xref),v=i.getFromId(t,e.yref),y=t._fullLayout._size;if(g?(r=d.shapePositionToRange(g),n=function(t){return g._offset+g.r2p(r(t,!0))}):n=function(t){return y.l+y.w*t},v?(o=d.shapePositionToRange(v),l=function(t){return v._offset+v.r2p(o(t,!0))}):l=function(t){return y.t+y.h*(1-t)},"path"===h)return g&&"date"===g.type&&(n=d.decodeDate(n)),v&&"date"===v.type&&(l=d.decodeDate(l)),function(t,e,r){var n=t.path,i=t.xsizemode,o=t.ysizemode,l=t.xanchor,s=t.yanchor;return n.replace(f.segmentRE,function(t){var n=0,c=t.charAt(0),u=f.paramIsX[c],d=f.paramIsY[c],p=f.numParams[c],h=t.substr(1).replace(f.paramRE,function(t){return u[n]?t="pixel"===i?e(l)+Number(t):e(t):d[n]&&(t="pixel"===o?r(s)-Number(t):r(t)),++n>p&&(t="X"),t});return n>p&&(h=h.replace(/[\s,]*X.*/,""),a.log("Ignoring extra params in segment "+t)),c+h})}(e,n,l);if("pixel"===e.xsizemode){var m=n(e.xanchor);s=m+e.x0,c=m+e.x1}else s=n(e.x0),c=n(e.x1);if("pixel"===e.ysizemode){var x=l(e.yanchor);u=x-e.y0,p=x-e.y1}else u=l(e.y0),p=l(e.y1);if("line"===h)return"M"+s+","+u+"L"+c+","+p;if("rect"===h)return"M"+s+","+u+"H"+c+"V"+p+"H"+s+"Z";var b=(s+c)/2,_=(u+p)/2,w=Math.abs(b-s),k=Math.abs(_-u),T="A"+w+","+k,M=b+w+","+_;return"M"+M+T+" 0 1,1 "+(b+","+(_-k))+T+" 0 0,1 "+M+"Z"}function v(t,e,r){return t.replace(f.segmentRE,function(t){var n=0,a=t.charAt(0),i=f.paramIsX[a],o=f.paramIsY[a],l=f.numParams[a];return a+t.substr(1).replace(f.paramRE,function(t){return n>=l?t:(i[n]?t=e(t):o[n]&&(t=r(t)),n++,t)})})}e.exports={draw:function(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 a=0;a0&&(l=l.transition().duration(e.transition.duration).ease(e.transition.easing)),l.attr("transform","translate("+(o-.5*u.gripWidth)+","+e._dims.currentValueTotalHeight+")")}}function L(t,e){var r=t._dims;return r.inputAreaStart+u.stepInset+(r.inputAreaLength-2*u.stepInset)*Math.min(1,Math.max(0,e))}function S(t,e){var r=t._dims;return Math.min(1,Math.max(0,(e-u.stepInset-r.inputAreaStart)/(r.inputAreaLength-2*u.stepInset-2*r.inputAreaStart)))}function C(t,e,r){var n=r._dims,a=l.ensureSingle(t,"rect",u.railTouchRectClass,function(n){n.call(T,e,t,r).style("pointer-events","all")});a.attr({width:n.inputAreaLength,height:Math.max(n.inputAreaWidth,u.tickOffset+r.ticklen+n.labelHeight)}).call(i.fill,r.bgcolor).attr("opacity",0),o.setTranslate(a,0,n.currentValueTotalHeight)}function O(t,e){var r=e._dims,n=r.inputAreaLength-2*u.railInset,a=l.ensureSingle(t,"rect",u.railRectClass);a.attr({width:n,height:u.railWidth,rx:u.railRadius,ry:u.railRadius,"shape-rendering":"crispEdges"}).call(i.stroke,e.bordercolor).call(i.fill,e.bgcolor).style("stroke-width",e.borderwidth+"px"),o.setTranslate(a,u.railInset,.5*(r.inputAreaWidth-u.railWidth)+r.currentValueTotalHeight)}e.exports=function(t){var e=t._fullLayout,r=function(t,e){for(var r=t[u.name],n=[],a=0;a0?[0]:[]);function l(e){e._commandObserver&&(e._commandObserver.remove(),delete e._commandObserver),a.autoMargin(t,g(e))}if(i.enter().append("g").classed(u.containerClassName,!0).style("cursor","ew-resize"),i.exit().each(function(){n.select(this).selectAll("g."+u.groupClassName).each(l)}).remove(),0!==r.length){var s=i.selectAll("g."+u.groupClassName).data(r,v);s.enter().append("g").classed(u.groupClassName,!0),s.exit().each(l).remove();for(var c=0;c0||d<0){var g={left:[-r,0],right:[r,0],top:[0,-r],bottom:[0,r]}[m.side];e.attr("transform","translate("+g+")")}}}P.call(E),z&&(A?P.on(".opacity",null):(k=0,T=!0,P.text(v).on("mouseover.opacity",function(){n.select(this).transition().duration(f.SHOW_PLACEHOLDER).style("opacity",1)}).on("mouseout.opacity",function(){n.select(this).transition().duration(f.HIDE_PLACEHOLDER).style("opacity",0)})),P.call(u.makeEditable,{gd:t}).on("edit",function(e){void 0!==y?o.call("_guiRestyle",t,g,e,y):o.call("_guiRelayout",t,g,e)}).on("cancel",function(){this.text(this.attr("data-unformatted")).call(E)}).on("input",function(t){this.text(t||" ").call(u.positionText,x.x,x.y)}));return P.classed("js-placeholder",T),_}};var d=/ [XY][0-9]* /},{"../../constants/interactions":148,"../../lib":168,"../../lib/svg_text_utils":189,"../../plots/plots":245,"../../registry":257,"../color":51,"../drawing":72,d3:16,"fast-isnumeric":18}],140:[function(t,e,r){"use strict";var n=t("../../plots/font_attributes"),a=t("../color/attributes"),i=t("../../lib/extend").extendFlat,o=t("../../plot_api/edit_types").overrideAll,l=t("../../plots/pad_attributes"),s=t("../../plot_api/plot_template").templatedArray,c=s("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"}]},label:{valType:"string",dflt:""},execute:{valType:"boolean",dflt:!0}});e.exports=o(s("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:i(l({editType:"arraydraw"}),{}),font:n({}),bgcolor:{valType:"color"},bordercolor:{valType:"color",dflt:a.borderLine},borderwidth:{valType:"number",min:0,dflt:1,editType:"arraydraw"}}),"arraydraw","from-root")},{"../../lib/extend":162,"../../plot_api/edit_types":195,"../../plot_api/plot_template":202,"../../plots/font_attributes":239,"../../plots/pad_attributes":244,"../color/attributes":50}],141:[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"}}},{}],142:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../plots/array_container_defaults"),i=t("./attributes"),o=t("./constants").name,l=i.buttons;function s(t,e,r){function o(r,a){return n.coerce(t,e,i,r,a)}o("visible",a(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,a){return n.coerce(t,e,l,r,a)}r("visible","skip"===t.method||Array.isArray(t.args))&&(r("method"),r("args"),r("label"),r("execute"))}e.exports=function(t,e){a(t,e,{name:o,handleItemDefaults:s})}},{"../../lib":168,"../../plots/array_container_defaults":208,"./attributes":140,"./constants":141}],143:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../plots/plots"),i=t("../color"),o=t("../drawing"),l=t("../../lib"),s=t("../../lib/svg_text_utils"),c=t("../../plot_api/plot_template").arrayEditor,u=t("../../constants/alignment").LINE_SPACING,f=t("./constants"),d=t("./scrollbox");function p(t){return t._index}function h(t,e){return+t.attr(f.menuIndexAttrName)===e._index}function g(t,e,r,n,a,i,o,l){e.active=o,c(t.layout,f.name,e).applyUpdate("active",o),"buttons"===e.type?y(t,n,null,null,e):"dropdown"===e.type&&(a.attr(f.menuIndexAttrName,"-1"),v(t,n,a,i,e),l||y(t,n,a,i,e))}function v(t,e,r,n,a){var i=l.ensureSingle(e,"g",f.headerClassName,function(t){t.style("pointer-events","all")}),s=a._dims,c=a.active,u=a.buttons[c]||f.blankHeaderOpts,d={y:a.pad.t,yPad:0,x:a.pad.l,xPad:0,index:0},p={width:s.headerWidth,height:s.headerHeight};i.call(m,a,u,t).call(A,a,d,p),l.ensureSingle(e,"text",f.headerArrowClassName,function(t){t.classed("user-select-none",!0).attr("text-anchor","end").call(o.font,a.font).text(f.arrowSymbol[a.direction])}).attr({x:s.headerWidth-f.arrowOffsetX+a.pad.l,y:s.headerHeight/2+f.textOffsetY+a.pad.t}),i.on("click",function(){r.call(L,String(h(r,a)?-1:a._index)),y(t,e,r,n,a)}),i.on("mouseover",function(){i.call(w)}),i.on("mouseout",function(){i.call(k,a)}),o.setTranslate(e,s.lx,s.ly)}function y(t,e,r,i,o){r||(r=e).attr("pointer-events","all");var s=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(l.filterVisible(s)),d=u.enter().append("g").classed(c,!0),p=u.exit();"dropdown"===o.type?(d.attr("opacity","0").transition().attr("opacity","1"),p.transition().attr("opacity","0").remove()):p.remove();var h=0,v=0,y=o._dims,x=-1!==["up","down"].indexOf(o.direction);"dropdown"===o.type&&(x?v=y.headerHeight+f.gapButtonHeader:h=y.headerWidth+f.gapButtonHeader),"dropdown"===o.type&&"up"===o.direction&&(v=-f.gapButtonHeader+f.gapButton-y.openHeight),"dropdown"===o.type&&"left"===o.direction&&(h=-f.gapButtonHeader+f.gapButton-y.openWidth);var b={x:y.lx+h+o.pad.l,y:y.ly+v+o.pad.t,yPad:f.gapButton,xPad:f.gapButton,index:0},T={l:b.x+o.borderwidth,t:b.y+o.borderwidth};u.each(function(l,s){var c=n.select(this);c.call(m,o,l,t).call(A,o,b),c.on("click",function(){n.event.defaultPrevented||(g(t,o,0,e,r,i,s),l.execute&&a.executeAPICommand(t,l.method,l.args),t.emit("plotly_buttonclicked",{menu:o,button:l,active:o.active}))}),c.on("mouseover",function(){c.call(w)}),c.on("mouseout",function(){c.call(k,o),u.call(_,o)})}),u.call(_,o),x?(T.w=Math.max(y.openWidth,y.headerWidth),T.h=b.y-T.t):(T.w=b.x-T.l,T.h=Math.max(y.openHeight,y.headerHeight)),T.direction=o.direction,i&&(u.size()?function(t,e,r,n,a,i){var o,l,s,c=a.direction,u="up"===c||"down"===c,d=a._dims,p=a.active;if(u)for(l=0,s=0;s0?[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(i)}).remove(),0!==r.length){var s=o.selectAll("g."+f.headerGroupClassName).data(r,p);s.enter().append("g").classed(f.headerGroupClassName,!0);for(var c=l.ensureSingle(o,"g",f.dropdownButtonGroupClassName,function(t){t.style("pointer-events","all")}),u=0;uw,M=l.barLength+2*l.barPad,A=l.barWidth+2*l.barPad,L=h,S=v+y;S+A>c&&(S=c-A);var C=this.container.selectAll("rect.scrollbar-horizontal").data(T?[0]:[]);C.exit().on(".drag",null).remove(),C.enter().append("rect").classed("scrollbar-horizontal",!0).call(a.fill,l.barColor),T?(this.hbar=C.attr({rx:l.barRadius,ry:l.barRadius,x:L,y:S,width:M,height:A}),this._hbarXMin=L+M/2,this._hbarTranslateMax=w-M):(delete this.hbar,delete this._hbarXMin,delete this._hbarTranslateMax);var O=y>k,z=l.barWidth+2*l.barPad,D=l.barLength+2*l.barPad,P=h+g,E=v;P+z>s&&(P=s-z);var R=this.container.selectAll("rect.scrollbar-vertical").data(O?[0]:[]);R.exit().on(".drag",null).remove(),R.enter().append("rect").classed("scrollbar-vertical",!0).call(a.fill,l.barColor),O?(this.vbar=R.attr({rx:l.barRadius,ry:l.barRadius,x:P,y:E,width:z,height:D}),this._vbarYMin=E+D/2,this._vbarTranslateMax=k-D):(delete this.vbar,delete this._vbarYMin,delete this._vbarTranslateMax);var I=this.id,F=u-.5,N=O?f+z+.5:f+.5,B=d-.5,j=T?p+A+.5:p+.5,H=o._topdefs.selectAll("#"+I).data(T||O?[0]:[]);if(H.exit().remove(),H.enter().append("clipPath").attr("id",I).append("rect"),T||O?(this._clipRect=H.select("rect").attr({x:Math.floor(F),y:Math.floor(B),width:Math.ceil(N)-Math.floor(F),height:Math.ceil(j)-Math.floor(B)}),this.container.call(i.setClipUrl,I,this.gd),this.bg.attr({x:h,y:v,width:g,height:y})):(this.bg.attr({width:0,height:0}),this.container.on("wheel",null).on(".drag",null).call(i.setClipUrl,null),delete this._clipRect),T||O){var q=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(q);var V=n.behavior.drag().on("dragstart",function(){n.event.sourceEvent.preventDefault(),n.event.sourceEvent.stopPropagation()}).on("drag",this._onBarDrag.bind(this));T&&this.hbar.on(".drag",null).call(V),O&&this.vbar.on(".drag",null).call(V)}this.setTranslate(e,r)},l.prototype.disable=function(){(this.hbar||this.vbar)&&(this.bg.attr({width:0,height:0}),this.container.on("wheel",null).on(".drag",null).call(i.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)},l.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)},l.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)},l.prototype._onBarDrag=function(){var t=this.translateX,e=this.translateY;if(this.hbar){var r=t+this._hbarXMin,a=r+this._hbarTranslateMax;t=(o.constrain(n.event.x,r,a)-r)/(a-r)*(this.position.w-this._box.w)}if(this.vbar){var i=e+this._vbarYMin,l=i+this._vbarTranslateMax;e=(o.constrain(n.event.y,i,l)-i)/(l-i)*(this.position.h-this._box.h)}this.setTranslate(t,e)},l.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(i.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 a=t/r;this.hbar.call(i.setTranslate,t+a*this._hbarTranslateMax,e)}if(this.vbar){var l=e/n;this.vbar.call(i.setTranslate,t,e+l*this._vbarTranslateMax)}}},{"../../lib":168,"../color":51,"../drawing":72,d3:16}],146:[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"}}},{}],147:[function(t,e,r){"use strict";e.exports={COMPARISON_OPS:["=","!=","<",">=",">","<="],COMPARISON_OPS2:["=","<",">=",">","<="],INTERVAL_OPS:["[]","()","[)","(]","][",")(","](",")["],SET_OPS:["{}","}{"],CONSTRAINT_REDUCTION:{"=":"=","<":"<","<=":"<",">":">",">=":">","[]":"[]","()":"[]","[)":"[]","(]":"[]","][":"][",")(":"][","](":"][",")[":"]["}}},{}],148:[function(t,e,r){"use strict";e.exports={SHOW_PLACEHOLDER:100,HIDE_PLACEHOLDER:1e3,DBLCLICKDELAY:300,DESELECTDIM:.2}},{}],149:[function(t,e,r){"use strict";e.exports={BADNUM:void 0,FP_SAFE:Number.MAX_VALUE/1e4,ONEAVGYEAR:315576e5,ONEAVGMONTH:26298e5,ONEDAY:864e5,ONEHOUR:36e5,ONEMIN:6e4,ONESEC:1e3,EPOCHJD:2440587.5,ALMOST_EQUAL:1-1e-6,LOG_CLIP:10,MINUS_SIGN:"\u2212"}},{}],150:[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}},{}],151:[function(t,e,r){"use strict";r.version="1.44.3",t("es6-promise").polyfill(),t("../build/plotcss"),t("./fonts/mathjax_config")();for(var n=t("./registry"),a=r.register=n.register,i=t("./plot_api"),o=Object.keys(i),l=0;l1/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}},{}],154:[function(t,e,r){"use strict";var n=t("./mod"),a=n.mod,i=n.modHalf,o=Math.PI,l=2*o;function s(t){return Math.abs(t[1]-t[0])>l-1e-15}function c(t,e){return i(e-t,l)}function u(t,e){if(s(e))return!0;var r,n;e[0](n=a(n,l))&&(n+=l);var i=a(t,l),o=i+l;return i>=r&&i<=n||o>=r&&o<=n}function f(t,e,r,n,a,i,c){a=a||0,i=i||0;var u,f,d,p,h,g=s([r,n]);function v(t,e){return[t*Math.cos(e)+a,i-t*Math.sin(e)]}g?(u=0,f=o,d=l):r=a&&t<=i);var a,i},pathArc:function(t,e,r,n,a){return f(null,t,e,r,n,a,0)},pathSector:function(t,e,r,n,a){return f(null,t,e,r,n,a,1)},pathAnnulus:function(t,e,r,n,a,i){return f(t,e,r,n,a,i,1)}}},{"./mod":175}],155:[function(t,e,r){"use strict";var n=Array.isArray,a="undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer:{isView:function(){return!1}},i="undefined"==typeof DataView?function(){}:DataView;function o(t){return a.isView(t)&&!(t instanceof i)}function l(t){return n(t)||o(t)}function s(t,e,r){if(l(t)){if(l(t[0])){for(var n=r,a=0;aa.max?e.set(r):e.set(+t)}},integer:{coerceFunction:function(t,e,r,a){t%1||!n(t)||void 0!==a.min&&ta.max?e.set(r):e.set(+t)}},string:{coerceFunction:function(t,e,r,n){if("string"!=typeof t){var a="number"==typeof t;!0!==n.strict&&a?e.set(String(t)):e.set(r)}else n.noBlank&&!t?e.set(r):e.set(t)}},color:{coerceFunction:function(t,e,r){a(t).isValid()?e.set(t):e.set(r)}},colorlist:{coerceFunction:function(t,e,r){Array.isArray(t)&&t.length&&t.every(function(t){return a(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 a=n.regex||c(r);"string"==typeof t&&a.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 a=t.split("+"),i=0;i=n&&t<=a?t:u}if("string"!=typeof t&&"number"!=typeof t)return u;t=String(t);var c=_(e),y=t.charAt(0);!c||"G"!==y&&"g"!==y||(t=t.substr(1),e="");var w=c&&"chinese"===e.substr(0,7),k=t.match(w?x:m);if(!k)return u;var T=k[1],M=k[3]||"1",A=Number(k[5]||1),L=Number(k[7]||0),S=Number(k[9]||0),C=Number(k[11]||0);if(c){if(2===T.length)return u;var O;T=Number(T);try{var z=v.getComponentMethod("calendars","getCal")(e);if(w){var D="i"===M.charAt(M.length-1);M=parseInt(M,10),O=z.newDate(T,z.toMonthIndex(T,M,D),A)}else O=z.newDate(T,Number(M),A)}catch(t){return u}return O?(O.toJD()-g)*f+L*d+S*p+C*h:u}T=2===T.length?(Number(T)+2e3-b)%100+b:Number(T),M-=1;var P=new Date(Date.UTC(2e3,M,A,L,S));return P.setUTCFullYear(T),P.getUTCMonth()!==M?u:P.getUTCDate()!==A?u:P.getTime()+C*h},n=r.MIN_MS=r.dateTime2ms("-9999"),a=r.MAX_MS=r.dateTime2ms("9999-12-31 23:59:59.9999"),r.isDateTime=function(t,e){return r.dateTime2ms(t,e)!==u};var k=90*f,T=3*d,M=5*p;function A(t,e,r,n,a){if((e||r||n||a)&&(t+=" "+w(e,2)+":"+w(r,2),(n||a)&&(t+=":"+w(n,2),a))){for(var i=4;a%10==0;)i-=1,a/=10;t+="."+w(a,i)}return t}r.ms2DateTime=function(t,e,r){if("number"!=typeof t||!(t>=n&&t<=a))return u;e||(e=0);var i,o,l,c,m,x,b=Math.floor(10*s(t+.05,1)),w=Math.round(t-b/10);if(_(r)){var L=Math.floor(w/f)+g,S=Math.floor(s(t,f));try{i=v.getComponentMethod("calendars","getCal")(r).fromJD(L).formatDate("yyyy-mm-dd")}catch(t){i=y("G%Y-%m-%d")(new Date(w))}if("-"===i.charAt(0))for(;i.length<11;)i="-0"+i.substr(1);else for(;i.length<10;)i="0"+i;o=e=n+f&&t<=a-f))return u;var e=Math.floor(10*s(t+.05,1)),r=new Date(Math.round(t-e/10));return A(i.time.format("%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 l.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 l.error("unrecognized date",t),e;return t};var L=/%\d?f/g;function S(t,e,r,n){t=t.replace(L,function(t){var r=Math.min(+t.charAt(1)||6,6);return(e/1e3%1+2).toFixed(r).substr(2).replace(/0+$/,"")||"0"});var a=new Date(Math.floor(e+.05));if(_(n))try{t=v.getComponentMethod("calendars","worldCalFmt")(t,e,n)}catch(t){return"Invalid"}return r(t)(a)}var C=[59,59.9,59.99,59.999,59.9999];r.formatDate=function(t,e,r,n,a,i){if(a=_(a)&&a,!e)if("y"===r)e=i.year;else if("m"===r)e=i.month;else{if("d"!==r)return function(t,e){var r=s(t+.05,f),n=w(Math.floor(r/d),2)+":"+w(s(Math.floor(r/p),60),2);if("M"!==e){o(e)||(e=0);var a=(100+Math.min(s(t/h,60),C[e])).toFixed(e).substr(1);e>0&&(a=a.replace(/0+$/,"").replace(/[\.]$/,"")),n+=":"+a}return n}(t,r)+"\n"+S(i.dayMonthYear,t,n,a);e=i.dayMonth+"\n"+i.year}return S(e,t,n,a)};var O=3*f;r.incrementMonth=function(t,e,r){r=_(r)&&r;var n=s(t,f);if(t=Math.round(t-n),r)try{var a=Math.round(t/f)+g,i=v.getComponentMethod("calendars","getCal")(r),o=i.fromJD(a);return e%12?i.add(o,e,"m"):i.add(o,e/12,"y"),(o.toJD()-g)*f+n}catch(e){l.error("invalid ms "+t+" in calendar "+r)}var c=new Date(t+O);return c.setUTCMonth(c.getUTCMonth()+e)+n-O},r.findExactDates=function(t,e){for(var r,n,a=0,i=0,l=0,s=0,c=_(e)&&v.getComponentMethod("calendars","getCal")(e),u=0;u1||g<0||g>1?null:{x:t+s*g,y:e+f*g}}function s(t,e,r,n,a){var i=n*t+a*e;if(i<0)return n*n+a*a;if(i>r){var o=n-t,l=a-e;return o*o+l*l}var s=n*e-a*t;return s*s/r}r.segmentsIntersect=l,r.segmentDistance=function(t,e,r,n,a,i,o,c){if(l(t,e,r,n,a,i,o,c))return 0;var u=r-t,f=n-e,d=o-a,p=c-i,h=u*u+f*f,g=d*d+p*p,v=Math.min(s(u,f,h,a-t,i-e),s(u,f,h,o-t,c-e),s(d,p,g,t-a,e-i),s(d,p,g,r-a,n-i));return Math.sqrt(v)},r.getTextLocation=function(t,e,r,l){if(t===a&&l===i||(n={},a=t,i=l),n[r])return n[r];var s=t.getPointAtLength(o(r-l/2,e)),c=t.getPointAtLength(o(r+l/2,e)),u=Math.atan((c.y-s.y)/(c.x-s.x)),f=t.getPointAtLength(o(r,e)),d={x:(4*f.x+s.x+c.x)/6,y:(4*f.y+s.y+c.y)/6,theta:u};return n[r]=d,d},r.clearLocationCache=function(){a=null},r.getVisibleSegment=function(t,e,r){var n,a,i=e.left,o=e.right,l=e.top,s=e.bottom,c=0,u=t.getTotalLength(),f=u;function d(e){var r=t.getPointAtLength(e);0===e?n=r:e===u&&(a=r);var c=r.xo?r.x-o:0,f=r.ys?r.y-s:0;return Math.sqrt(c*c+f*f)}for(var p=d(c);p;){if((c+=p+r)>f)return;p=d(c)}for(p=d(f);p;){if(c>(f-=p+r))return;p=d(f)}return{min:c,max:f,len:f-c,total:u,isClosed:0===c&&f===u&&Math.abs(n.x-a.x)<.1&&Math.abs(n.y-a.y)<.1}},r.findPointOnPath=function(t,e,r,n){for(var a,i,o,l=(n=n||{}).pathLength||t.getTotalLength(),s=n.tolerance||.001,c=n.iterationLimit||30,u=t.getPointAtLength(0)[r]>t.getPointAtLength(l)[r]?-1:1,f=0,d=0,p=l;f0?p=a:d=a,f++}return i}},{"./mod":175}],166:[function(t,e,r){"use strict";e.exports=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}},{}],167:[function(t,e,r){"use strict";e.exports=function(t){return t}},{}],168:[function(t,e,r){"use strict";var n=t("d3"),a=t("fast-isnumeric"),i=t("../constants/numerical"),o=i.FP_SAFE,l=i.BADNUM,s=e.exports={};s.nestedProperty=t("./nested_property"),s.keyedContainer=t("./keyed_container"),s.relativeAttr=t("./relative_attr"),s.isPlainObject=t("./is_plain_object"),s.toLogRange=t("./to_log_range"),s.relinkPrivateKeys=t("./relink_private");var c=t("./array");s.isTypedArray=c.isTypedArray,s.isArrayOrTypedArray=c.isArrayOrTypedArray,s.isArray1D=c.isArray1D,s.ensureArray=c.ensureArray,s.concat=c.concat,s.maxRowLength=c.maxRowLength,s.minRowLength=c.minRowLength;var u=t("./mod");s.mod=u.mod,s.modHalf=u.modHalf;var f=t("./coerce");s.valObjectMeta=f.valObjectMeta,s.coerce=f.coerce,s.coerce2=f.coerce2,s.coerceFont=f.coerceFont,s.coerceHoverinfo=f.coerceHoverinfo,s.coerceSelectionMarkerOpacity=f.coerceSelectionMarkerOpacity,s.validate=f.validate;var d=t("./dates");s.dateTime2ms=d.dateTime2ms,s.isDateTime=d.isDateTime,s.ms2DateTime=d.ms2DateTime,s.ms2DateTimeLocal=d.ms2DateTimeLocal,s.cleanDate=d.cleanDate,s.isJSDate=d.isJSDate,s.formatDate=d.formatDate,s.incrementMonth=d.incrementMonth,s.dateTick0=d.dateTick0,s.dfltRange=d.dfltRange,s.findExactDates=d.findExactDates,s.MIN_MS=d.MIN_MS,s.MAX_MS=d.MAX_MS;var p=t("./search");s.findBin=p.findBin,s.sorterAsc=p.sorterAsc,s.sorterDes=p.sorterDes,s.distinctVals=p.distinctVals,s.roundUp=p.roundUp,s.sort=p.sort,s.findIndexOfMin=p.findIndexOfMin;var h=t("./stats");s.aggNums=h.aggNums,s.len=h.len,s.mean=h.mean,s.midRange=h.midRange,s.variance=h.variance,s.stdev=h.stdev,s.interp=h.interp;var g=t("./matrix");s.init2dArray=g.init2dArray,s.transposeRagged=g.transposeRagged,s.dot=g.dot,s.translationMatrix=g.translationMatrix,s.rotationMatrix=g.rotationMatrix,s.rotationXYMatrix=g.rotationXYMatrix,s.apply2DTransform=g.apply2DTransform,s.apply2DTransform2=g.apply2DTransform2;var v=t("./angles");s.deg2rad=v.deg2rad,s.rad2deg=v.rad2deg,s.angleDelta=v.angleDelta,s.angleDist=v.angleDist,s.isFullCircle=v.isFullCircle,s.isAngleInsideSector=v.isAngleInsideSector,s.isPtInsideSector=v.isPtInsideSector,s.pathArc=v.pathArc,s.pathSector=v.pathSector,s.pathAnnulus=v.pathAnnulus;var y=t("./anchor_utils");s.isLeftAnchor=y.isLeftAnchor,s.isCenterAnchor=y.isCenterAnchor,s.isRightAnchor=y.isRightAnchor,s.isTopAnchor=y.isTopAnchor,s.isMiddleAnchor=y.isMiddleAnchor,s.isBottomAnchor=y.isBottomAnchor;var m=t("./geometry2d");s.segmentsIntersect=m.segmentsIntersect,s.segmentDistance=m.segmentDistance,s.getTextLocation=m.getTextLocation,s.clearLocationCache=m.clearLocationCache,s.getVisibleSegment=m.getVisibleSegment,s.findPointOnPath=m.findPointOnPath;var x=t("./extend");s.extendFlat=x.extendFlat,s.extendDeep=x.extendDeep,s.extendDeepAll=x.extendDeepAll,s.extendDeepNoArrays=x.extendDeepNoArrays;var b=t("./loggers");s.log=b.log,s.warn=b.warn,s.error=b.error;var _=t("./regex");s.counterRegex=_.counter;var w=t("./throttle");function k(t){var e={};for(var r in t)for(var n=t[r],a=0;ao?l:a(t)?Number(t):l:l},s.isIndex=function(t,e){return!(void 0!==e&&t>=e)&&(a(t)&&t>=0&&t%1==0)},s.noop=t("./noop"),s.identity=t("./identity"),s.repeat=function(t,e){for(var r=new Array(e),n=0;nr?Math.max(r,Math.min(e,t)):Math.max(e,Math.min(r,t))},s.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},s.simpleMap=function(t,e,r,n){for(var a=t.length,i=new Array(a),o=0;o=Math.pow(2,r)?a>10?(s.warn("randstr failed uniqueness"),c):t(e,r,n,(a||0)+1):c},s.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},s.smooth=function(t,e){if((e=Math.round(e)||0)<2)return t;var r,n,a,i,o=t.length,l=2*o,s=2*e-1,c=new Array(s),u=new Array(o);for(r=0;r=l&&(a-=l*Math.floor(a/l)),a<0?a=-1-a:a>=o&&(a=l-1-a),i+=t[a]*c[n];u[r]=i}return u},s.syncOrAsync=function(t,e,r){var n;function a(){return s.syncOrAsync(t,e,r)}for(;t.length;)if((n=(0,t.splice(0,1)[0])(e))&&n.then)return n.then(a).then(void 0,s.promiseError);return r&&r(e)},s.stripTrailingSlash=function(t){return"/"===t.substr(-1)?t.substr(0,t.length-1):t},s.noneOrAll=function(t,e,r){if(t){var n,a=!1,i=!0;for(n=0;n1?a+o[1]:"";if(i&&(o.length>1||l.length>4||r))for(;n.test(l);)l=l.replace(n,"$1"+i+"$2");return l+s};var A=/%{([^\s%{}:]*)(:[^}]*)?}/g,L=/^\w*$/;s.templateString=function(t,e){var r={};return t.replace(A,function(t,n){return L.test(n)?e[n]||"":(r[n]=r[n]||s.nestedProperty(e,n).get,r[n]()||"")})};var S=/^:/,C=0;s.hovertemplateString=function(t,e){var r=arguments,a={};return t.replace(A,function(t,i,o){var l,c,u;for(u=2;u=48&&o<=57,c=l>=48&&l<=57;if(s&&(n=10*n+o-48),c&&(a=10*a+l-48),!s||!c){if(n!==a)return n-a;if(o!==l)return o-l}}return a-n};var O=2e9;s.seedPseudoRandom=function(){O=2e9},s.pseudoRandom=function(){var t=O;return O=(69069*O+1)%4294967296,Math.abs(O-t)<429496729?s.pseudoRandom():O/4294967296}},{"../constants/numerical":149,"./anchor_utils":153,"./angles":154,"./array":155,"./clean_number":156,"./clear_responsive":158,"./coerce":159,"./dates":160,"./extend":162,"./filter_unique":163,"./filter_visible":164,"./geometry2d":165,"./get_graph_div":166,"./identity":167,"./is_plain_object":169,"./keyed_container":170,"./localize":171,"./loggers":172,"./make_trace_groups":173,"./matrix":174,"./mod":175,"./nested_property":176,"./noop":177,"./notifier":178,"./push_unique":181,"./regex":183,"./relative_attr":184,"./relink_private":185,"./search":186,"./stats":188,"./throttle":190,"./to_log_range":191,d3:16,"fast-isnumeric":18}],169:[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}},{}],170:[function(t,e,r){"use strict";var n=t("./nested_property"),a=/^\w*$/;e.exports=function(t,e,r,i){var o,l,s;r=r||"name",i=i||"value";var c={};e&&e.length?(s=n(t,e),l=s.get()):l=t,e=e||"";var u={};if(l)for(o=0;o2)return c[e]=2|c[e],d.set(t,null);if(f){for(o=e;o1){for(var t=["LOG:"],e=0;e0){for(var t=["WARN:"],e=0;e0){for(var t=["ERROR:"],e=0;ee/2?t-Math.round(t/e)*e:t}}},{}],176:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("./array").isArrayOrTypedArray;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/g),o=0;oi||c===a||cl||e&&s(t))}:function(t,e){var s=t[0],c=t[1];if(s===a||si||c===a||cl)return!1;var u,f,d,p,h,g=r.length,v=r[0][0],y=r[0][1],m=0;for(u=1;uMath.max(f,v)||c>Math.max(d,y)))if(cu||Math.abs(n(o,d))>a)return!0;return!1};i.filter=function(t,e){var r=[t[0]],n=0,a=0;function i(i){t.push(i);var l=r.length,s=n;r.splice(a+1);for(var c=s+1;c1&&i(t.pop());return{addPt:i,raw:t,filtered:r}}},{"../constants/numerical":149,"./matrix":174}],181:[function(t,e,r){"use strict";e.exports=function(t,e){if(e instanceof RegExp){for(var r=e.toString(),n=0;na.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=t.undoQueue.queue.length)){for(e=t.undoQueue.queue[t.undoQueue.index],t.undoQueue.inSequence=!0,r=0;re}function c(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 i,u,f=0,d=e.length,p=0,h=d>1?(e[d-1]-e[0])/(d-1):1;for(u=h>=0?r?o:l:r?c:s,t+=1e-9*h*(r?-1:1)*(h>=0?1:-1);f90&&a.log("Long binary search..."),f-1},r.sorterAsc=function(t,e){return t-e},r.sorterDes=function(t,e){return e-t},r.distinctVals=function(t){var e=t.slice();e.sort(r.sorterAsc);for(var n=e.length-1,a=e[n]-e[0]||1,i=a/(n||1)/1e4,o=[e[0]],l=0;le[l]+i&&(a=Math.min(a,e[l+1]-e[l]),o.push(e[l+1]));return{vals:o,minDiff:a}},r.roundUp=function(t,e,r){for(var n,a=0,i=e.length-1,o=0,l=r?0:1,s=r?1:0,c=r?Math.ceil:Math.floor;a0&&(n=1),r&&n)return t.sort(e)}return n?t:t.reverse()},r.findIndexOfMin=function(t,e){e=e||i;for(var r,n=1/0,a=0;ai.length)&&(o=i.length),n(e)||(e=!1),a(i[0])){for(s=new Array(o),l=0;lt.length-1)return t[t.length-1];var r=e%1;return r*t[Math.ceil(e)]+(1-r)*t[Math.floor(e)]}},{"./array":155,"fast-isnumeric":18}],189:[function(t,e,r){"use strict";var n=t("d3"),a=t("../lib"),i=t("../constants/xmlns_namespaces"),o=t("../constants/alignment").LINE_SPACING;function l(t,e){return t.node().getBoundingClientRect()[e]}var s=/([^$]*)([$]+[^$]*[$]+)([^$]*)/;r.convertToTspans=function(t,e,A){var L=t.text(),C=!t.attr("data-notex")&&"undefined"!=typeof MathJax&&L.match(s),O=n.select(t.node().parentNode);if(!O.empty()){var z=t.attr("class")?t.attr("class").split(" ")[0]:"text";return z+="-math",O.selectAll("svg."+z).remove(),O.selectAll("g."+z+"-group").remove(),t.style("display",null).attr({"data-unformatted":L,"data-math":"N"}),C?(e&&e._promises||[]).push(new Promise(function(e){t.style("display","none");var r=parseInt(t.node().style.fontSize,10),i={fontSize:r};!function(t,e,r){var i,o,l,s;MathJax.Hub.Queue(function(){return o=a.extendDeepAll({},MathJax.Hub.config),l=MathJax.Hub.processSectionDelay,void 0!==MathJax.Hub.processSectionDelay&&(MathJax.Hub.processSectionDelay=0),MathJax.Hub.Config({messageStyle:"none",tex2jax:{inlineMath:[["$","$"],["\\(","\\)"]]},displayAlign:"left"})},function(){if("SVG"!==(i=MathJax.Hub.config.menuSettings.renderer))return MathJax.Hub.setRenderer("SVG")},function(){var r="math-output-"+a.randstr({},64);return s=n.select("body").append("div").attr({id:r}).style({visibility:"hidden",position:"absolute"}).style({"font-size":e.fontSize+"px"}).text(t.replace(c,"\\lt ").replace(u,"\\gt ")),MathJax.Hub.Typeset(s.node())},function(){var e=n.select("body").select("#MathJax_SVG_glyphs");if(s.select(".MathJax_SVG").empty()||!s.select("svg").node())a.log("There was an error in the tex syntax.",t),r();else{var o=s.select("svg").node().getBoundingClientRect();r(s.select(".MathJax_SVG"),e,o)}if(s.remove(),"SVG"!==i)return MathJax.Hub.setRenderer(i)},function(){return void 0!==l&&(MathJax.Hub.processSectionDelay=l),MathJax.Hub.Config(o)})}(C[2],i,function(n,a,i){O.selectAll("svg."+z).remove(),O.selectAll("g."+z+"-group").remove();var o=n&&n.select("svg");if(!o||!o.node())return D(),void e();var s=O.append("g").classed(z+"-group",!0).attr({"pointer-events":"none","data-unformatted":L,"data-math":"Y"});s.node().appendChild(o.node()),a&&a.node()&&o.node().insertBefore(a.node().cloneNode(!0),o.node().firstChild),o.attr({class:z,height:i.height,preserveAspectRatio:"xMinYMin meet"}).style({overflow:"visible","pointer-events":"none"});var c=t.node().style.fill||"black";o.select("g").attr({fill:c,stroke:c});var u=l(o,"width"),f=l(o,"height"),d=+t.attr("x")-u*{start:0,middle:.5,end:1}[t.attr("text-anchor")||"start"],p=-(r||l(t,"height"))/4;"y"===z[0]?(s.attr({transform:"rotate("+[-90,+t.attr("x"),+t.attr("y")]+") translate("+[-u/2,p-f/2]+")"}),o.attr({x:+t.attr("x"),y:+t.attr("y")})):"l"===z[0]?o.attr({x:t.attr("x"),y:p-f/2}):"a"===z[0]&&0!==z.indexOf("atitle")?o.attr({x:0,y:p}):o.attr({x:d,y:+t.attr("y")+p-f/2}),A&&A.call(t,s),e(s)})})):D(),t}function D(){O.empty()||(z=t.attr("class")+"-math",O.select("svg."+z).remove()),t.text("").style("white-space","pre"),function(t,e){e=e.replace(v," ");var r,l=!1,s=[],c=-1;function u(){c++;var e=document.createElementNS(i.svg,"tspan");n.select(e).attr({class:"line",dy:c*o+"em"}),t.appendChild(e),r=e;var a=s;if(s=[{node:e}],a.length>1)for(var l=1;l doesnt match end tag <"+t+">. Pretending it did match.",e),r=s[s.length-1].node}else a.log("Ignoring unexpected end tag .",e)}x.test(e)?u():(r=t,s=[{node:t}]);for(var O=e.split(y),z=0;z|>|>)/g;var f={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"},d={sub:"0.3em",sup:"-0.6em"},p={sub:"-0.21em",sup:"0.42em"},h="\u200b",g=["http:","https:","mailto:","",void 0,":"],v=/(\r\n?|\n)/g,y=/(<[^<>]*>)/,m=/<(\/?)([^ >]*)(\s+(.*))?>/i,x=//i,b=/(^|[\s"'])style\s*=\s*("([^"]*);?"|'([^']*);?')/i,_=/(^|[\s"'])href\s*=\s*("([^"]*)"|'([^']*)')/i,w=/(^|[\s"'])target\s*=\s*("([^"\s]*)"|'([^'\s]*)')/i,k=/(^|[\s"'])popup\s*=\s*("([\w=,]*)"|'([\w=,]*)')/i;function T(t,e){if(!t)return null;var r=t.match(e),n=r&&(r[3]||r[4]);return n&&S(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"],a="...".length,i=t.split(y),o=[],l="",s=0,c=0;ca?o.push(u.substr(0,h-a)+"..."):o.push(u.substr(0,h));break}l=""}}return o.join("")};var A={mu:"\u03bc",amp:"&",lt:"<",gt:">",nbsp:"\xa0",times:"\xd7",plusmn:"\xb1",deg:"\xb0"},L=/&(#\d+|#x[\da-fA-F]+|[a-z]+);/g;function S(t){return t.replace(L,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,i,o=r.horizontalAlign,l=r.verticalAlign||"top",s=t.node().getBoundingClientRect(),c=e.node().getBoundingClientRect();return a="bottom"===l?function(){return s.bottom-n.height}:"middle"===l?function(){return s.top+(s.height-n.height)/2}:function(){return s.top},i="right"===o?function(){return s.right-n.width}:"center"===o?function(){return s.left+(s.width-n.width)/2}:function(){return s.left},function(){return n=this.node().getBoundingClientRect(),this.style({top:a()-c.top+"px",left:i()-c.left+"px","z-index":1e3}),this}}r.convertEntities=S,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 a(e,r){return void 0===r?null===(r=t.attr(e))&&(t.attr(e,0),r=0):t.attr(e,r),r}var i=a("x",e),o=a("y",r);"text"===this.nodeName&&t.selectAll("tspan.line").attr({x:i,y:o})})},r.makeEditable=function(t,e){var r=e.gd,a=e.delegate,i=n.dispatch("edit","input","cancel"),o=a||t;if(t.style({"pointer-events":a?"none":"all"}),1!==t.size())throw new Error("boo");function l(){!function(){var a=n.select(r).select(".svg-container"),o=a.append("div"),l=t.node().style,c=parseFloat(l.fontSize||12),u=e.text;void 0===u&&(u=t.attr("data-unformatted"));o.classed("plugin-editable editable",!0).style({position:"absolute","font-family":l.fontFamily||"Arial","font-size":c,color:e.fill||l.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,a,e)).on("blur",function(){r._editing=!1,t.text(this.textContent).style({opacity:1});var e,a=n.select(this).attr("class");(e=a?"."+a.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),i.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(),i.cancel.call(t,this.textContent)):(i.input.call(t,this.textContent),n.select(this).call(C(t,a,e)))}).on("keydown",function(){13===n.event.which&&this.blur()}).call(s)}(),t.style({opacity:0});var a,l=o.attr("class");(a=l?"."+l.split(" ")[0]+"-math-group":"[class*=-math-group]")&&n.select(t.node().parentNode).select(a).style({opacity:0})}function s(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?l():o.on("click",l),n.rebind(t,i,"on")}},{"../constants/alignment":146,"../constants/xmlns_namespaces":150,"../lib":168,d3:16}],190:[function(t,e,r){"use strict";var n={};function a(t){t&&null!==t.timer&&(clearTimeout(t.timer),t.timer=null)}r.throttle=function(t,e,r){var i=n[t],o=Date.now();if(!i){for(var l in n)n[l].tsi.ts+e?s():i.timer=setTimeout(function(){s(),i.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)a(n[t]),delete n[t];else for(var e in n)r.clear(e)}},{}],191:[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":18}],192:[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"}}},{}],193:[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"}}},{}],194:[function(t,e,r){"use strict";var n=t("../registry");e.exports=function(t){for(var e,r,a=n.layoutArrayContainers,i=n.layoutArrayRegexes,o=t.split("[")[0],l=0;l0&&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 i=(l.subplotsRegistry.cartesian||{}).attrRegex,s=(l.subplotsRegistry.polar||{}).attrRegex,u=(l.subplotsRegistry.ternary||{}).attrRegex,h=(l.subplotsRegistry.gl3d||{}).attrRegex,g=Object.keys(t);for(e=0;e3?(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")),p(t),"rotate"===t.dragmode&&(t.dragmode="orbit"),f.clean(t),t.template&&t.template.layout&&r.cleanLayout(t.template.layout),t},r.cleanData=function(t){for(var e=0;e0)return t.substr(0,e)}r.hasParent=function(t,e){for(var r=x(e);r;){if(r in t)return!0;r=x(r)}return!1};var b=["x","y","z"];r.clearAxisTypes=function(t,e,r){for(var n=0;n1&&i.warn("Full array edits are incompatible with other edits",f);var m=r[""][""];if(c(m))e.set(null);else{if(!Array.isArray(m))return i.warn("Unrecognized full array edit value",f,m),!0;e.set(m)}return!g&&(d(v,y),p(t),!0)}var x,b,_,w,k,T,M,A,L=Object.keys(r).map(Number).sort(o),S=e.get(),C=S||[],O=u(y,f).get(),z=[],D=-1,P=C.length;for(x=0;xC.length-(M?0:1))i.warn("index out of range",f,_);else if(void 0!==T)k.length>1&&i.warn("Insertion & removal are incompatible with edits to the same index.",f,_),c(T)?z.push(_):M?("add"===T&&(T={}),C.splice(_,0,T),O&&O.splice(_,0,{})):i.warn("Unrecognized full object edit value",f,_,T),-1===D&&(D=_);else for(b=0;b=0;x--)C.splice(z[x],1),O&&O.splice(z[x],1);if(C.length?S||e.set(C):e.set(null),g)return!1;if(d(v,y),h!==a){var E;if(-1===D)E=L;else{for(P=Math.max(C.length,P),E=[],x=0;x=D);x++)E.push(_);for(x=D;x=t.data.length||a<-t.data.length)throw new Error(r+" must be valid indices for gd.data.");if(e.indexOf(a,n+1)>-1||a>=0&&e.indexOf(-t.data.length+a)>-1||a<0&&e.indexOf(t.data.length+a)>-1)throw new Error("each index in "+r+" must be unique.")}}function E(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]),P(t,e,"currentIndices"),"undefined"==typeof r||Array.isArray(r)||(r=[r]),"undefined"!=typeof r&&P(t,r,"newIndices"),"undefined"!=typeof r&&e.length!==r.length)throw new Error("current and new indices must be of equal length.")}function R(t,e,r,n,i){!function(t,e,r,n){var a=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 i in P(t,r,"indices"),e){if(!Array.isArray(e[i])||e[i].length!==r.length)throw new Error("attribute "+i+" must be an array of length equal to indices array length");if(a&&(!(i in n)||!Array.isArray(n[i])||n[i].length!==e[i].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 s=function(t,e,r,n){var i,s,c,u,f,d=o.isPlainObject(n),p=[];for(var h in Array.isArray(r)||(r=[r]),r=D(r,t.data.length-1),e)for(var g=0;g-1?s(r,r.replace("titlefont","title.font")):r.indexOf("titleposition")>-1?s(r,r.replace("titleposition","title.position")):r.indexOf("titleside")>-1?s(r,r.replace("titleside","title.side")):r.indexOf("titleoffset")>-1&&s(r,r.replace("titleoffset","title.offset")):s(r,r.replace("title","title.text"));function s(e,r){t[r]=t[e],delete t[e]}}function V(t,e,r){if(t=o.getGraphDiv(t),k.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 a=W(t,n),i=a.flags;i.calc&&(t.calcdata=void 0);var l=[d.previousPromises];i.layoutReplot?l.push(T.layoutReplot):Object.keys(n).length&&(U(t,i,a)||d.supplyDefaults(t),i.legend&&l.push(T.doLegend),i.layoutstyle&&l.push(T.layoutStyles),i.axrange&&G(l,a.rangesAltered),i.ticks&&l.push(T.doTicksRelayout),i.modebar&&l.push(T.doModeBar),i.camera&&l.push(T.doCamera),l.push(S)),l.push(d.rehover),c.add(t,V,[t,a.undoit],V,[t,a.redoit]);var s=o.syncOrAsync(l,t);return s&&s.then||(s=Promise.resolve(t)),s.then(function(){return t.emit("plotly_relayout",a.eventData),t})}function U(t,e,r){var n;if(!e.axrange)return!1;for(n in e)if("axrange"!==n&&e[n])return!1;for(n in r.rangesAltered){var a=h.id2name(n),i=t.layout[a],o=t._fullLayout[a];o.autorange=i.autorange,o.range=i.range.slice(),o.cleanRange()}return!0}function G(t,e){var r=e?function(t){var r={skipTitle:!0};for(var n in e)if(h.getFromId(t,n).automargin){r={};break}return h.draw(t,Object.keys(e),r)}:function(t){return h.draw(t,"redraw")};t.push(T.doAutoRangeAndConstraints,r,T.drawData,T.finalDraw)}r.plot=function(t,e,a,i){var l;if(t=o.getGraphDiv(t),s.init(t),o.isPlainObject(e)){var c=e;e=c.data,a=c.layout,i=c.config,l=c.frames}if(!1===s.triggerHandler(t,"plotly_beforeplot",[e,a,i]))return Promise.reject();e||a||o.isPlotDiv(t)||o.warn("Calling Plotly.plot as if redrawing but this container doesn't yet have a plot.",t),z(t,i),a||(a={}),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);if(Array.isArray(e)&&(k.cleanData(e),f?t.data=e:t.data.push.apply(t.data,e),t.empty=!1),t.layout&&!f||(t.layout=k.cleanLayout(a)),t._dragging&&!t._transitioning)return t._replotPending=!0,Promise.reject();t._replotPending=!1,d.supplyDefaults(t);var v=t._fullLayout,x=v._has("cartesian");if(!v._has("polar")&&e&&e[0]&&e[0].r)return o.log("Legacy polar charts are deprecated!"),function(t,e,r){var a=n.select(t).selectAll(".plot-container").data([0]);a.enter().insert("div",":first-child").classed("plot-container plotly",!0);var i=a.selectAll(".svg-container").data([0]);i.enter().append("div").classed("svg-container",!0).style("position","relative"),i.html(""),e&&(t.data=e);r&&(t.layout=r);p.manager.fillLayout(t),i.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},i.node()),t.framework.setUndoPoint();var l=t.framework.svg(),s=1,c=t._fullLayout.title?t._fullLayout.title.text:"";""!==c&&c||(s=0);var u=function(){this.call(b.convertToTspans,t)},f=l.select(".title-group text").call(u);if(t._context.edits.titleText){var h=o._(t,"Click to enter Plot title");c&&c!==h||(s=.2,f.attr({"data-unformatted":h}).text(h).style({opacity:s}).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(b.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),d.addLinks(t),Promise.resolve()}(t,e,a);v._replotting=!0,f&<(t),t.framework!==lt&&(t.framework=lt,lt(t)),g.initGradients(t),f&&h.saveShowSpikeInitial(t);var _=!t.calcdata||t.calcdata.length!==(t._fullData||[]).length;_&&d.doCalcdata(t);for(var w=0;w=0&&r=0&&r0&&"string"!=typeof P.parts[R];)R--;var I=P.parts[R],F=P.parts[R-1]+"."+I,j=P.parts.slice(0,R).join("."),H=l(t.layout,j).get(),V=l(s,j).get(),U=P.get();if(void 0!==E){T[D]=E,L[D]="reverse"===I?E:N(U);var G=f.getLayoutValObject(s,P.parts);if(G&&G.impliedEdits&&null!==E)for(var W in G.impliedEdits)S(o.relativeAttr(D,W),G.impliedEdits[W]);if(-1!==["width","height"].indexOf(D))if(E){S("autosize",null);var $="height"===D?"width":"height";S($,s[$])}else s[D]=t._initialAutoSize[D];else if("autosize"===D)S("width",E?null:s.width),S("height",E?null:s.height);else if(F.match(Z))z(F),l(s,j+"._inputRange").set(null);else if(F.match(X)){z(F),l(s,j+"._inputRange").set(null);var Q=l(s,j).get();Q._inputDomain&&(Q._input.domain=Q._inputDomain.slice())}else F.match(Y)&&l(s,j+"._inputDomain").set(null);if("type"===I){var K=H,tt="linear"===V.type&&"log"===E,et="log"===V.type&&"linear"===E;if(tt||et){if(K&&K.range)if(V.autorange)tt&&(K.range=K.range[1]>K.range[0]?[1,2]:[2,1]);else{var rt=K.range[0],nt=K.range[1];tt?(rt<=0&&nt<=0&&S(j+".autorange",!0),rt<=0?rt=nt/1e6:nt<=0&&(nt=rt/1e6),S(j+".range[0]",Math.log(rt)/Math.LN10),S(j+".range[1]",Math.log(nt)/Math.LN10)):(S(j+".range[0]",Math.pow(10,rt)),S(j+".range[1]",Math.pow(10,nt)))}else S(j+".autorange",!0);Array.isArray(s._subplots.polar)&&s._subplots.polar.length&&s[P.parts[0]]&&"radialaxis"===P.parts[1]&&delete s[P.parts[0]]._subplot.viewInitial["radialaxis.range"],u.getComponentMethod("annotations","convertCoords")(t,V,E,S),u.getComponentMethod("images","convertCoords")(t,V,E,S)}else S(j+".autorange",!0),S(j+".range",null);l(s,j+"._inputRange").set(null)}else if(I.match(A)){var at=l(s,D).get(),it=(E||{}).type;it&&"-"!==it||(it="linear"),u.getComponentMethod("annotations","convertCoords")(t,at,it,S),u.getComponentMethod("images","convertCoords")(t,at,it,S)}var ot=w.containerArrayMatch(D);if(ot){r=ot.array,n=ot.index;var lt=ot.property,st=G||{editType:"calc"};""!==n&&""===lt&&(w.isAddVal(E)?L[D]=null:w.isRemoveVal(E)?L[D]=(l(i,r).get()||[])[n]:o.warn("unrecognized full object value",e)),M.update(_,st),y[r]||(y[r]={});var ct=y[r][n];ct||(ct=y[r][n]={}),ct[lt]=E,delete e[D]}else"reverse"===I?(H.range?H.range.reverse():(S(j+".autorange",!0),H.range=[1,0]),V.autorange?_.calc=!0:_.plot=!0):(s._has("scatter-like")&&s._has("regl")&&"dragmode"===D&&("lasso"===E||"select"===E)&&"lasso"!==U&&"select"!==U?_.plot=!0:G?M.update(_,G):_.calc=!0,P.set(E))}}for(r in y){w.applyContainerArrayChanges(t,d(i,r),y[r],_,d)||(_.plot=!0)}var ut=s._axisConstraintGroups||[];for(C in O)for(n=0;n1;)if(n.pop(),void 0!==(r=l(e,n.join(".")+".uirevision").get()))return r;return e.uirevision}function nt(t,e){for(var r=0;r=a.length?a[0]:a[t]:a}function s(t){return Array.isArray(i)?t>=i.length?i[0]:i[t]:i}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(i,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,d.transition(t,e.frame.data,e.frame.layout,k.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 h,g,v=0;function y(t){return Array.isArray(a)?v>=a.length?t.transitionOpts=a[v]:t.transitionOpts=a[0]:t.transitionOpts=a,v++,t}var m=[],x=null==e,b=Array.isArray(e);if(!x&&!b&&o.isPlainObject(e))m.push({type:"object",data:y(o.extendFlat({},e))});else if(x||-1!==["string","number"].indexOf(typeof e))for(h=0;h0&&TT)&&M.push(g);m=M}}m.length>0?function(e){if(0!==e.length){for(var a=0;a=0;n--)if(o.isPlainObject(e[n])){var g=e[n].name,v=(u[g]||h[g]||{}).name,y=e[n].name,m=u[v]||h[v];v&&y&&"number"==typeof y&&m&&L<5&&(L++,o.warn('addFrames: overwriting frame "'+(u[v]||h[v]).name+'" with a frame whose name of type "number" also equates to "'+v+'". This is valid but may potentially lead to unexpected behavior since all plotly.js frame names are stored internally as strings.'),5===L&&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.")),h[g]={name:g},p.push({frame:d.supplyFrameDefaults(e[n]),index:r&&void 0!==r[n]&&null!==r[n]?r[n]:f+n})}p.sort(function(t,e){return t.index>e.index?-1:t.index=0;n--){if("number"==typeof(a=p[n].frame).name&&o.warn("Warning: addFrames accepts frames with numeric names, but the numbers areimplicitly cast to strings"),!a.name)for(;u[a.name="frame "+t._transitionData._counter++];);if(u[a.name]){for(i=0;i=0;r--)n=e[r],i.push({type:"delete",index:n}),l.unshift({type:"insert",index:n,value:a[n]});var s=d.modifyFrames,u=d.modifyFrames,f=[t,l],p=[t,i];return c&&c.add(t,s,f,u,p),d.modifyFrames(t,i)},r.purge=function(t){var e=(t=o.getGraphDiv(t))._fullLayout||{},r=t._fullData||[];return d.cleanPlot([],{},r,e),d.purge(t),s.purge(t),e._container&&e._container.remove(),delete t._context,t}},{"../components/color":51,"../components/colorbar/connect":53,"../components/drawing":72,"../constants/xmlns_namespaces":150,"../lib":168,"../lib/events":161,"../lib/queue":182,"../lib/svg_text_utils":189,"../plots/cartesian/axes":212,"../plots/cartesian/constants":218,"../plots/cartesian/graph_interact":222,"../plots/plots":245,"../plots/polar/legacy":248,"../registry":257,"./edit_types":195,"./helpers":196,"./manage_arrays":198,"./plot_config":200,"./plot_schema":201,"./subroutines":203,d3:16,"fast-isnumeric":18,"has-hover":20}],200:[function(t,e,r){"use strict";var n={staticPlot:{valType:"boolean",dflt:!1},plotlyServerURL:{valType:"string",dflt:"https://plot.ly"},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"},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},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:"boolean",dflt:1},queueLength:{valType:"integer",min:0,dflt:0},globalTransforms:{valType:"any",dflt:[]},locale:{valType:"string",dflt:"en-US"},locales:{valType:"any",dflt:{}}},a={};!function t(e,r){for(var n in e){var a=e[n];a.valType?r[n]=a.dflt:(r[n]||(r[n]={}),t(a,r[n]))}}(n,a),e.exports={configAttributes:n,dfltConfig:a}},{}],201:[function(t,e,r){"use strict";var n=t("../registry"),a=t("../lib"),i=t("../plots/attributes"),o=t("../plots/layout_attributes"),l=t("../plots/frame_attributes"),s=t("../plots/animation_attributes"),c=t("./plot_config").configAttributes,u=t("../plots/polar/legacy/area_attributes"),f=t("../plots/polar/legacy/axis_attributes"),d=t("./edit_types"),p=a.extendFlat,h=a.extendDeepAll,g=a.isPlainObject,v="_isSubplotObj",y="_isLinkedToArray",m=[v,y,"_arrayAttrRegexps","_deprecated"];function x(t,e,r){if(!t)return!1;if(t._isLinkedToArray)if(b(e[r]))r++;else if(r=i.length)return!1;if(2===t.dimensions){if(r++,e.length===r)return t;var o=e[r];if(!b(o))return!1;t=i[a][o]}else t=i[a]}else t=i}}return t}function b(t){return t===Math.round(t)&&t>=0}function _(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)return;var n=t[y];if(!n)return;delete t[y],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=s.length)return!1;a=(r=(n.transformsRegistry[s[c].type]||{}).attributes)&&r[e[2]],l=3}else if("area"===t.type)a=u[o];else{var f=t._module;if(f||(f=(n.modules[t.type||i.type.dflt]||{})._module),!f)return!1;if(!(a=(r=f.attributes)&&r[o])){var d=f.basePlotModule;d&&d.attributes&&(a=d.attributes[o])}a||(a=i[o])}return x(a,e,l)},r.getLayoutValObject=function(t,e){return x(function(t,e){var r,a,i,l,s=t._basePlotModules;if(s){var c;for(r=0;r=a&&(r._input||{})._templateitemname;l&&(o=a);var s,c=e+"["+o+"]";function u(){s={},l&&(s[c]={},s[c][i]=l)}function f(t,e){l?n.nestedProperty(s[c],t).set(e):s[c+"."+t]=e}function d(){var t=s;return u(),t}return u(),{modifyBase:function(t,e){s[t]=e},modifyItem:f,getUpdateObj:d,applyUpdate:function(e,r){e&&f(e,r);var a=d();for(var i in a)n.nestedProperty(t,i).set(a[i])}}}},{"../lib":168,"../plots/attributes":209}],203:[function(t,e,r){"use strict";var n=t("d3"),a=t("../registry"),i=t("../plots/plots"),o=t("../lib"),l=t("../lib/clear_gl_canvases"),s=t("../components/color"),c=t("../components/drawing"),u=t("../components/titles"),f=t("../components/modebar"),d=t("../plots/cartesian/axes"),p=t("../constants/alignment"),h=t("../plots/cartesian/constraints"),g=h.enforce,v=h.clean,y=t("../plots/cartesian/autorange").doAutoRange,m="start",x="middle",b="end";function _(t,e,r){for(var n=0;n=t[1]||a[1]<=t[0])&&(i[0]e[0]))return!0}return!1}function w(t){var e,a,i,l,u,h,g=t._fullLayout,v=g._size,y=v.p,m=d.list(t,"",!0);if(g._paperdiv.style({width:t._context.responsive&&g.autosize&&!t._context._hasZeroWidth&&!t.layout.width?"100%":g.width+"px",height:t._context.responsive&&g.autosize&&!t._context._hasZeroHeight&&!t.layout.height?"100%":g.height+"px"}).selectAll(".main-svg").call(c.setSize,g.width,g.height),t._context.setBackground(t,g.paper_bgcolor),r.drawMainTitle(t),f.manage(t),!g._has("cartesian"))return t._promises.length&&Promise.all(t._promises);function x(t,e,r){var n=t._lw/2;return"x"===t._id.charAt(0)?e?"top"===r?e._offset-y-n:e._offset+e._length+y+n:v.t+v.h*(1-(t.position||0))+n%1:e?"right"===r?e._offset+e._length+y+n:e._offset-y-n:v.l+v.w*(t.position||0)+n%1}for(e=0;ek?u.push({code:"unused",traceType:m,templateCount:w,dataCount:k}):k>w&&u.push({code:"reused",traceType:m,templateCount:w,dataCount:k})}}else u.push({code:"data"});if(function t(e,r){for(var n in e)if("_"!==n.charAt(0)){var i=e[n],o=p(e,n,r);a(i)?(Array.isArray(e)&&!1===i._template&&i.templateitemname&&u.push({code:"missing",path:o,templateitemname:i.templateitemname}),t(i,o)):Array.isArray(i)&&h(i)&&t(i,o)}}({data:v,layout:d},""),u.length)return u.map(g)}},{"../lib":168,"../plots/attributes":209,"../plots/plots":245,"./plot_config":200,"./plot_schema":201,"./plot_template":202}],205:[function(t,e,r){"use strict";var n=t("./plot_api"),a=t("../lib"),i=t("../snapshot/helpers"),o=t("../snapshot/tosvg"),l=t("../snapshot/svgtoimg"),s={format:{valType:"enumerated",values:["png","jpeg","webp","svg"],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}},c=/^data:image\/\w+;base64,/;e.exports=function(t,e){var r,u,f;function d(t){return!(t in e)||a.validate(e[t],s[t])}if(e=e||{},a.isPlainObject(t)?(r=t.data||[],u=t.layout||{},f=t.config||{}):(t=a.getGraphDiv(t),r=a.extendDeep([],t.data),u=a.extendDeep({},t.layout),f=t._context),!d("width")||!d("height"))throw new Error("Height and width should be pixel values.");if(!d("format"))throw new Error("Image format is not jpeg, png, svg or webp.");var p={};function h(t,r){return a.coerce(e,p,s,t,r)}var g=h("format"),v=h("width"),y=h("height"),m=h("scale"),x=h("setBackground"),b=h("imageDataOnly"),_=document.createElement("div");_.style.position="absolute",_.style.left="-5000px",document.body.appendChild(_);var w=a.extendFlat({},u);v&&(w.width=v),y&&(w.height=y);var k=a.extendFlat({},f,{_exportedPlot:!0,staticPlot:!0,setBackground:x}),T=i.getRedrawFunc(_);function M(){return new Promise(function(t){setTimeout(t,i.getDelay(_._fullLayout))})}function A(){return new Promise(function(t,e){var r=o(_,g,m),i=_._fullLayout.width,s=_._fullLayout.height;if(n.purge(_),document.body.removeChild(_),"svg"===g)return t(b?r:"data:image/svg+xml,"+encodeURIComponent(r));var c=document.createElement("canvas");c.id=a.randstr(),l({format:g,width:i,height:s,scale:m,canvas:c,svg:r,promise:!0}).then(t).catch(e)})}return new Promise(function(t,e){n.plot(_,r,w,k).then(T).then(M).then(A).then(function(e){t(function(t){return b?t.replace(c,""):t}(e))}).catch(function(t){e(t)})})}},{"../lib":168,"../snapshot/helpers":261,"../snapshot/svgtoimg":263,"../snapshot/tosvg":265,"./plot_api":199}],206:[function(t,e,r){"use strict";var n=t("../lib"),a=t("../plots/plots"),i=t("./plot_schema"),o=t("./plot_config").dfltConfig,l=n.isPlainObject,s=Array.isArray,c=n.isArrayOrTypedArray;function u(t,e,r,a,i,o){o=o||[];for(var f=Object.keys(t),d=0;dx.length&&a.push(p("unused",i,y.concat(x.length)));var T,M,A,L,S,C=x.length,O=Array.isArray(k);if(O&&(C=Math.min(C,k.length)),2===b.dimensions)for(M=0;Mx[M].length&&a.push(p("unused",i,y.concat(M,x[M].length)));var z=x[M].length;for(T=0;T<(O?Math.min(z,k[M].length):z);T++)A=O?k[M][T]:k,L=m[M][T],S=x[M][T],n.validate(L,A)?S!==L&&S!==+L&&a.push(p("dynamic",i,y.concat(M,T),L,S)):a.push(p("value",i,y.concat(M,T),L))}else a.push(p("array",i,y.concat(M),m[M]));else for(M=0;M1&&d.push(p("object","layout"))),a.supplyDefaults(h);for(var g=h._fullData,v=r.length,y=0;y0&&((b=M-o(v)-o(y))>A?_/b>L&&(m=v,x=y,L=_/b):_/M>L&&(m={val:v.val,pad:0},x={val:y.val,pad:0},L=_/M));if(d===p){var S=d-1,C=d+1;if(k)if(0===d)i=[0,1];else{var O=(d>0?f:u).reduce(function(t,e){return Math.max(t,o(e))},0),z=d/(1-Math.min(.5,O/M));i=d>0?[0,z]:[z,0]}else i=T?[Math.max(0,S),Math.max(1,C)]:[S,C]}else k?(m.val>=0&&(m={val:0,pad:0}),x.val<=0&&(x={val:0,pad:0})):T&&(m.val-L*o(m)<0&&(m={val:0,pad:0}),x.val<=0&&(x={val:1,pad:0})),L=(x.val-m.val)/(M-o(m)-o(x)),i=[m.val-L*o(m),x.val+L*o(x)];return h&&i.reverse(),a.simpleMap(i,e.l2r||Number)}function s(t){var e=t._length/20;return"domain"===t.constrain&&t._inputDomain&&(e*=(t._inputDomain[1]-t._inputDomain[0])/(t.domain[1]-t.domain[0])),function(t){return t.pad+(t.extrapad?e:0)}}function c(t,e){var r,n,a,i=e._id,o=t._fullData,l=t._fullLayout,s=[],c=[];function d(t,e){for(r=0;r=r&&(c.extrapad||!o)){l=!1;break}a(e,c.val)&&c.pad<=r&&(o||!c.extrapad)&&(t.splice(s,1),s--)}if(l){var u=i&&0===e;t.push({val:e,pad:u?0:r,extrapad:!u&&o})}}function p(t){return n(t)&&Math.abs(t)=e}e.exports={getAutoRange:l,makePadFn:s,doAutoRange:function(t,e){if(e.autorange){e.range=l(t,e),e._r=e.range.slice(),e._rl=a.simpleMap(e._r,e.r2l);var r=e._input,n={};n[e._attr+".range"]=e.range,n[e._attr+".autorange"]=e.autorange,o.call("_storeDirectGUIEdit",t.layout,t._fullLayout._preGUI,n),r.range=e.range.slice(),r.autorange=e.autorange}var i=e._anchorAxis;if(i&&i.rangeslider){var s=i.rangeslider[e._name];s&&"auto"===s.rangemode&&(s.range=l(t,e)),i._input.rangeslider[e._name]=a.extendFlat({},s)}},findExtremes:function(t,e,r){r||(r={});t._m||t.setScale();var a,o,l,s,c,d,h,g,v,y=[],m=[],x=e.length,b=r.padded||!1,_=r.tozero&&("linear"===t.type||"-"===t.type),w="log"===t.type,k=!1;function T(t){if(Array.isArray(t))return k=!0,function(e){return Math.max(Number(t[e]||0),0)};var e=Math.max(Number(t||0),0);return function(){return e}}var M=T((t._m>0?r.ppadplus:r.ppadminus)||r.ppad||0),A=T((t._m>0?r.ppadminus:r.ppadplus)||r.ppad||0),L=T(r.vpadplus||r.vpad),S=T(r.vpadminus||r.vpad);if(!k){if(g=1/0,v=-1/0,w)for(a=0;a0&&(g=o),o>v&&o-i&&(g=o),o>v&&o=z;a--)O(a);return{min:y,max:m,opts:r}},concatExtremes:c}},{"../../constants/numerical":149,"../../lib":168,"../../registry":257,"fast-isnumeric":18}],212:[function(t,e,r){"use strict";var n=t("d3"),a=t("fast-isnumeric"),i=t("../../plots/plots"),o=t("../../registry"),l=t("../../lib"),s=t("../../lib/svg_text_utils"),c=t("../../components/titles"),u=t("../../components/color"),f=t("../../components/drawing"),d=t("./layout_attributes"),p=t("./clean_ticks"),h=t("../../constants/numerical"),g=h.ONEAVGYEAR,v=h.ONEAVGMONTH,y=h.ONEDAY,m=h.ONEHOUR,x=h.ONEMIN,b=h.ONESEC,_=h.MINUS_SIGN,w=h.BADNUM,k=t("../../constants/alignment").MID_SHIFT,T=t("../../constants/alignment").LINE_SPACING,M=e.exports={};M.setConvert=t("./set_convert");var A=t("./axis_autotype"),L=t("./axis_ids");M.id2name=L.id2name,M.name2id=L.name2id,M.cleanId=L.cleanId,M.list=L.list,M.listIds=L.listIds,M.getFromId=L.getFromId,M.getFromTrace=L.getFromTrace;var S=t("./autorange");M.getAutoRange=S.getAutoRange,M.findExtremes=S.findExtremes,M.coerceRef=function(t,e,r,n,a,i){var o=n.charAt(n.length-1),s=r._fullLayout._subplots[o+"axis"],c=n+"ref",u={};return a||(a=s[0]||i),i||(i=a),u[c]={valType:"enumerated",values:s.concat(i?[i]:[]),dflt:a},l.coerce(t,e,u,c)},M.coercePosition=function(t,e,r,n,a,i){var o,s;if("paper"===n||"pixel"===n)o=l.ensureNumber,s=r(a,i);else{var c=M.getFromId(e,n);s=r(a,i=c.fraction2r(i)),o=c.cleanPos}t[a]=o(s)},M.cleanPosition=function(t,e,r){return("paper"===r||"pixel"===r?l.ensureNumber:M.getFromId(e,r).cleanPos)(t)},M.redrawComponents=function(t,e){e=e||M.listIds(t);var r=t._fullLayout;function n(n,a,i,l){for(var s=o.getComponentMethod(n,a),c={},u=0;u2e-6||((r-t._forceTick0)/t._minDtick%1+1.000001)%1>2e-6)&&(t._minDtick=0)):t._minDtick=0},M.saveRangeInitial=function(t,e){for(var r=M.list(t,"",!0),n=!1,a=0;a.3*d||u(n)||u(i))){var p=r.dtick/2;t+=t+p.8){var o=Number(r.substr(1));i.exactYears>.8&&o%12==0?t=M.tickIncrement(t,"M6","reverse")+1.5*y:i.exactMonths>.8?t=M.tickIncrement(t,"M1","reverse")+15.5*y:t-=y/2;var s=M.tickIncrement(t,r);if(s<=n)return s}return t}(x,t,m,c,i)),v=x,0;v<=u;)v=M.tickIncrement(v,m,!1,i),0;return{start:e.c2r(x,0,i),end:e.c2r(v,0,i),size:m,_dataSpan:u-c}},M.prepTicks=function(t){var e=l.simpleMap(t.range,t.r2l);if("auto"===t.tickmode||!t.dtick){var r,n=t.nticks;n||("category"===t.type||"multicategory"===t.type?(r=t.tickfont?1.2*(t.tickfont.size||12):15,n=t._length/r):(r="y"===t._id.charAt(0)?40:80,n=l.constrain(t._length/r,4,9)+1),"radialaxis"===t._name&&(n*=2)),"array"===t.tickmode&&(n*=100),M.autoTicks(t,Math.abs(e[1]-e[0])/n),t._minDtick>0&&t.dtick<2*t._minDtick&&(t.dtick=t._minDtick,t.tick0=t.l2r(t._forceTick0))}t.tick0||(t.tick0="date"===t.type?"2000-01-01":0),"date"===t.type&&t.dtick<.1&&(t.dtick=.1),j(t)},M.calcTicks=function(t){M.prepTicks(t);var e=l.simpleMap(t.range,t.r2l);if("array"===t.tickmode)return function(t){var e=t.tickvals,r=t.ticktext,n=new Array(e.length),a=l.simpleMap(t.range,t.r2l),i=1.0001*a[0]-1e-4*a[1],o=1.0001*a[1]-1e-4*a[0],s=Math.min(i,o),c=Math.max(i,o),u=0;Array.isArray(r)||(r=[]);var f="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 d=0;ds&&p=n:c<=n)&&!(i.length>s||c===o);c=M.tickIncrement(c,t.dtick,a,t.calendar))o=c,i.push(c);et(t)&&360===Math.abs(e[1]-e[0])&&i.pop(),t._tmax=i[i.length-1],t._prevDateHead="",t._inCalcTicks=!0;for(var u=new Array(i.length),f=0;f10||"01-01"!==n.substr(5)?t._tickround="d":t._tickround=+e.substr(1)%12==0?"y":"m";else if(e>=y&&i<=10||e>=15*y)t._tickround="d";else if(e>=x&&i<=16||e>=m)t._tickround="M";else if(e>=b&&i<=19||e>=x)t._tickround="S";else{var o=t.l2r(r+e).replace(/^-/,"").length;t._tickround=Math.max(i,o)-20,t._tickround<0&&(t._tickround=4)}}else if(a(e)||"L"===e.charAt(0)){var l=t.range.map(t.r2d||Number);a(e)||(e=Number(e.substr(1))),t._tickround=2-Math.floor(Math.log(e)/Math.LN10+.01);var s=Math.max(Math.abs(l[0]),Math.abs(l[1])),c=Math.floor(Math.log(s)/Math.LN10+.01);Math.abs(c)>3&&(V(t.exponentformat)&&!U(c)?t._tickexponent=3*Math.round((c-1)/3):t._tickexponent=c)}else t._tickround=null}function H(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}}M.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=l.dateTick0(t.calendar);var i=2*e;i>g?(e/=g,r=n(10),t.dtick="M"+12*B(e,r,D)):i>v?(e/=v,t.dtick="M"+B(e,1,P)):i>y?(t.dtick=B(e,y,R),t.tick0=l.dateTick0(t.calendar,!0)):i>m?t.dtick=B(e,m,P):i>x?t.dtick=B(e,x,E):i>b?t.dtick=B(e,b,E):(r=n(10),t.dtick=B(e,r,D))}else if("log"===t.type){t.tick0=0;var o=l.simpleMap(t.range,t.r2l);if(e>.7)t.dtick=Math.ceil(e);else if(Math.abs(o[1]-o[0])<1){var s=1.5*Math.abs((o[1]-o[0])/e);e=Math.abs(Math.pow(10,o[1])-Math.pow(10,o[0]))/s,r=n(10),t.dtick="L"+B(e,r,D)}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))):et(t)?(t.tick0=0,r=1,t.dtick=B(e,r,N)):(t.tick0=0,r=n(10),t.dtick=B(e,r,D));if(0===t.dtick&&(t.dtick=1),!a(t.dtick)&&"string"!=typeof t.dtick){var c=t.dtick;throw t.dtick=1,"ax.dtick error: "+String(c)}},M.tickIncrement=function(t,e,r,i){var o=r?-1:1;if(a(e))return t+o*e;var s=e.charAt(0),c=o*Number(e.substr(1));if("M"===s)return l.incrementMonth(t,c,i);if("L"===s)return Math.log(Math.pow(10,t)+c)/Math.LN10;if("D"===s){var u="D2"===e?F:I,f=t+.01*o,d=l.roundUp(l.mod(f,1),u,r);return Math.floor(f)+Math.log(n.round(Math.pow(10,d),1))/Math.LN10}throw"unrecognized dtick "+String(e)},M.tickFirst=function(t){var e=t.r2l||Number,r=l.simpleMap(t.range,e),i=r[1]"+s,t._prevDateHead=s));e.text=c}(t,i,r,s):"log"===c?function(t,e,r,n,i){var o=t.dtick,s=e.x,c=t.tickformat,u="string"==typeof o&&o.charAt(0);"never"===i&&(i="");n&&"L"!==u&&(o="L3",u="L");if(c||"L"===u)e.text=G(Math.pow(10,s),t,i,n);else if(a(o)||"D"===u&&l.mod(s+.01,1)<.1){var f=Math.round(s),d=Math.abs(f),p=t.exponentformat;"power"===p||V(p)&&U(f)?(e.text=0===f?1:1===f?"10":"10"+(f>1?"":_)+d+"",e.fontSize*=1.25):("e"===p||"E"===p)&&d>2?e.text="1"+p+(f>0?"+":_)+d:(e.text=G(Math.pow(10,s),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,l.mod(s,1)))),e.fontSize*=.75}if("D1"===t.dtick){var h=String(e.text).charAt(0);"0"!==h&&"1"!==h||("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*(s<0?.5:.25)))}}(t,i,0,s,h):"category"===c?function(t,e){var r=t._categories[Math.round(e.x)];void 0===r&&(r="");e.text=String(r)}(t,i):"multicategory"===c?function(t,e,r){var n=Math.round(e.x),a=t._categories[n]||[],i=void 0===a[1]?"":String(a[1]),o=void 0===a[0]?"":String(a[0]);r?e.text=o+" - "+i:(e.text=i,e.text2=o)}(t,i,r):et(t)?function(t,e,r,n,a){if("radians"!==t.thetaunit||r)e.text=G(e.x,t,a,n);else{var i=e.x/180;if(0===i)e.text="0";else{var o=function(t){function e(t,e){return Math.abs(t-e)<=1e-6}var r=function(t){var r=1;for(;!e(Math.round(t*r)/r,t);)r*=10;return r}(t),n=t*r,a=Math.abs(function t(r,n){return e(n,0)?r:t(n,r%n)}(n,r));return[Math.round(n/a),Math.round(r/a)]}(i);if(o[1]>=100)e.text=G(l.deg2rad(e.x),t,a,n);else{var s=e.x<0;1===o[1]?1===o[0]?e.text="\u03c0":e.text=o[0]+"\u03c0":e.text=["",o[0],"","\u2044","",o[1],"","\u03c0"].join(""),s&&(e.text=_+e.text)}}}}(t,i,r,s,h):function(t,e,r,n,a){"never"===a?a="":"all"===t.showexponent&&Math.abs(e.x/t.dtick)<1e-6&&(a="hide");e.text=G(e.x,t,a,n)}(t,i,0,s,h),t.tickprefix&&!p(t.showtickprefix)&&(i.text=t.tickprefix+i.text),t.ticksuffix&&!p(t.showticksuffix)&&(i.text+=t.ticksuffix),"boundaries"===t.tickson||t.showdividers){var g=function(e){var r=t.l2p(e);return r>=0&&r<=t._length?e:null};i.xbnd=[g(i.x-.5),g(i.x+t.dtick-.5)]}return i},M.hoverLabelText=function(t,e,r){if(r!==w&&r!==e)return M.hoverLabelText(t,e)+" - "+M.hoverLabelText(t,r);var n="log"===t.type&&e<=0,a=M.tickText(t,t.c2l(n?-e:e),"hover").text;return n?0===e?"0":_+a:a};var q=["f","p","n","\u03bc","m","","k","M","G","T"];function V(t){return"SI"===t||"B"===t}function U(t){return t>14||t<-15}function G(t,e,r,n){var i=t<0,o=e._tickround,s=r||e.exponentformat||"B",c=e._tickexponent,u=M.getTickFormat(e),f=e.separatethousands;if(n){var d={exponentformat:s,dtick:"none"===e.showexponent?e.dtick:a(t)&&Math.abs(t)||1,range:"none"===e.showexponent?e.range.map(e.r2d):[0,t||1]};j(d),o=(Number(d._tickround)||0)+4,c=d._tickexponent,e.hoverformat&&(u=e.hoverformat)}if(u)return e._numFormat(u)(t).replace(/-/g,_);var p,h=Math.pow(10,-o)/2;if("none"===s&&(c=0),(t=Math.abs(t))"+p+"":"B"===s&&9===c?t+="B":V(s)&&(t+=q[c/3+5]));return i?_+t:t}function Z(t,e){var r=t._id.charAt(0),n=t._tickAngles[e]||0,a=l.deg2rad(n),i=Math.sin(a),o=Math.cos(a),s=0,c=0;return t._selections[e].each(function(){var t=W(this),e=f.bBox(t.node()),r=e.width,n=e.height;s=Math.max(s,o*r,i*n),c=Math.max(c,i*r,o*n)}),{x:c,y:s}[r]}function X(t){return[t.text,t.x,t.axInfo,t.font,t.fontSize,t.fontColor].join("_")}function Y(t,e){var r=t.l2p(e);return r>1&&r=0,i=u(t,e[1])<=0;return(r||a)&&(n||i)}if(t.tickformatstops&&t.tickformatstops.length>0)switch(t.type){case"date":case"linear":for(e=0;e=o(a)))){r=n;break}break;case"log":for(e=0;e0&&(r[a]+=s),e.title.text!==d._dfltTitle[h]&&(r[a]+=e.title.font.size)}i.autoMargin(t,J(e),r)}),r.skipTitle||et&&e._boundingBox&&"bottom"===e.side||W.push(function(){return function(t,e){var r,n,a,i,o,l,s=t._fullLayout,u=e._id,d=u.charAt(0),p=s._size,h=e.title.font.size;if("multicategory"===e.type)r=e._labelLength;else{r=10+1.5*h+(e.linewidth?e.linewidth-1:0)}"x"===d?(a="free"===e.anchor?{_offset:p.t+(1-(e.position||0))*p.h,_length:0}:L.getFromId(t,e.anchor),i=e._offset+e._length/2,o="top"===e.side?-r-h*(e.showticklabels?1:0):a._length+r+h*(e.showticklabels?1.5:.5),o+=a._offset):(a="free"===e.anchor?{_offset:p.l+(e.position||0)*p.w,_length:0}:L.getFromId(t,e.anchor),o=e._offset+e._length/2,i="right"===e.side?a._length+r+h*(e.showticklabels?1:.5):-r-h*(e.showticklabels?.5:0),i+=a._offset,n={rotate:"-90",offset:0});if("multicategory"!==e.type){var g=e._selections[e._id+"tick"];if(l={selection:g,side:e.side},g&&g.node()&&g.node().parentNode){var v=f.getTranslate(g.node().parentNode);l.offsetLeft=v.x,l.offsetTop=v.y}}return c.draw(t,u+"title",{propContainer:e,propName:e._name+".title.text",placeholder:s._dfltTitle[d],avoid:l,transform:n,attributes:{x:i,y:o,"text-anchor":"middle"}})}(t,e)}),l.syncOrAsync(W)}function rt(t,e){t[0]=Math.min(t[0],e[0]),t[1]=Math.max(t[1],e[1])}},M.getTickSigns=function(t){var e=t._id.charAt(0),r={x:"top",y:"right"}[e],n=t.side===r?1:-1,a=[-1,1,n,-n];return"inside"!==t.ticks==("x"===e)&&(a=a.map(function(t){return-t})),a},M.makeTransFn=function(t){var e=t._id.charAt(0),r=t._offset;return"x"===e?function(e){return"translate("+(r+t.l2p(e.x))+",0)"}:function(e){return"translate(0,"+(r+t.l2p(e.x))+")"}},M.makeTickPath=function(t,e,r,n){n=void 0!==n?n:t.ticklen;var a=t._id.charAt(0),i=(t.linewidth||1)/2;return"x"===a?"M0,"+(e+i*r)+"v"+n*r:"M"+(e+i*r)+",0h"+n*r},M.makeLabelFns=function(t,e,r){var n=t._id.charAt(0),i=(t.linewidth||1)/2,o="boundaries"!==t.tickson&&"outside"===t.ticks,s=o?t.ticklen:0,c=0;if(r&&"outside"===t.ticks){var u=l.deg2rad(r);s=t.ticklen*Math.cos(u)+1,c=t.ticklen*Math.sin(u)}t.showticklabels&&(o||t.showline)&&(s+=.2*t.tickfont.size);var f,d,p,h,g={labelStandoff:s,labelShift:c};return"x"===n?(h="bottom"===t.side?1:-1,f=c*h,d=e+(s+i)*h,p="bottom"===t.side?1:-.2,g.labelXFn=function(t){return t.dx+f},g.labelYFn=function(t){return t.dy+d+t.fontSize*p},g.labelAnchorFn=function(t){return a(t)&&0!==t&&180!==t?t*h<0?"end":"start":"middle"}):"y"===n&&(h="right"===t.side?1:-1,f=s+i,d=-c*h,p=90===Math.abs(t.tickangle)?.5:0,g.labelXFn=function(t){return t.dx+e+(f+t.fontSize*p)*h},g.labelYFn=function(t){return t.dy+d+t.fontSize*k},g.labelAnchorFn=function(e){return a(e)&&90===Math.abs(e)?"middle":"right"===t.side?"start":"end"}),g},M.drawTicks=function(t,e,r){r=r||{};var n=e._id+"tick",a=r.layer.selectAll("path."+n).data(e.ticks?r.vals:[],X);a.exit().remove(),a.enter().append("path").classed(n,1).classed("ticks",1).classed("crisp",!1!==r.crisp).call(u.stroke,e.tickcolor).style("stroke-width",f.crispRound(t,e.tickwidth,1)+"px").attr("d",r.path),a.attr("transform",r.transFn)},M.drawGrid=function(t,e,r){r=r||{};var n=e._id+"grid",a=r.vals,i=r.counterAxis;if(!1===e.showgrid)a=[];else if(i&&M.shouldShowZeroLine(t,e,i))for(var o="array"===e.tickmode,l=0;l1)for(n=1;n2*o}(t,e)?"date":function(t){for(var e=Math.max(1,(t.length-1)/1e3),r=0,n=0,o={},l=0;l2*r}(t)?"category":function(t){if(!t)return!1;for(var e=0;en?1:-1:+(t.substr(1)||1)-+(e.substr(1)||1)}},{"../../registry":257,"./constants":218}],216:[function(t,e,r){"use strict";e.exports=function(t,e,r,n){if("category"===e.type){var a,i=t.categoryarray,o=Array.isArray(i)&&i.length>0;o&&(a="array");var l,s=r("categoryorder",a);"array"===s&&(l=r("categoryarray")),o||"array"!==s||(s=e.categoryorder="trace"),"trace"===s?e._initialCategories=[]:"array"===s?e._initialCategories=l.slice():(l=function(t,e){var r,n,a,i=e.dataAttr||t._id.charAt(0),o={};if(e.axData)r=e.axData;else for(r=[],n=0;nl*x)||k)for(r=0;rP&&Iz&&(z=I);p/=(z-O)/(2*D),O=u.l2r(O),z=u.l2r(z),u.range=u._input.range=L=0?Math.min(t,.9):1/(1/Math.max(t,-.3)+3.222))}function E(t,e,r,n,a){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","translate("+r+", "+n+")").attr("d",a+"Z")}function R(t,e,r){return t.append("path").attr("class","zoombox-corners").style({fill:c.background,stroke:c.defaultLine,"stroke-width":1,opacity:0}).attr("transform","translate("+e+", "+r+")").attr("d","M0,0Z")}function I(t,e,r,n,a,i){t.attr("d",n+"M"+r.l+","+r.t+"v"+r.h+"h"+r.w+"v-"+r.h+"h-"+r.w+"Z"),F(t,e,a,i)}function F(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 N(t){n.select(t).selectAll(".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners").remove()}function B(t){L&&t.data&&t._context.showTips&&(l.notifier(l._(t,"Double-click to zoom back out"),"long"),L=!1)}function j(t){return"lasso"===t||"select"===t}function H(t){var e=Math.floor(Math.min(t.b-t.t,t.r-t.l,A)/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 q(t,e){if(i){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)}function V(t){var e=[];for(var r in t)e.push(t[r]);return e}e.exports={makeDragBox:function(t,e,r,i,c,p,L,S){var F,U,G,Z,X,Y,W,J,$,Q,K,tt,et,rt,nt,at,it,ot,lt,st,ct,ut=t._fullLayout._zoomlayer,ft=L+S==="nsew",dt=1===(L+S).length;function pt(){if(F=e.xaxis,U=e.yaxis,$=F._length,Q=U._length,W=F._offset,J=U._offset,(G={})[F._id]=F,(Z={})[U._id]=U,L&&S)for(var r=e.overlays,n=0;n-1&&w(a,t,X,Y,e.id,At),i.indexOf("event")>-1&&f.click(t,a,e.id);else if(1===r&&dt){var l=L?U:F,c="s"===L||"w"===S?0:1,u=l._name+".range["+c+"]",d=function(t,e){var r,a=t.range[e],i=Math.abs(a-t.range[1-e]);return"date"===t.type?a:"log"===t.type?(r=Math.ceil(Math.max(0,-Math.log(i)/Math.LN10))+3,n.format("."+r+"g")(Math.pow(10,a))):(r=Math.floor(Math.log(Math.abs(a))/Math.LN10)-Math.floor(Math.log(i)/Math.LN10)+4,n.format("."+String(r)+"g")(a))}(l,c),p="left",h="middle";if(l.fixedrange)return;L?(h="n"===L?"top":"bottom","right"===l.side&&(p="right")):"e"===S&&(p="right"),t._context.showAxisRangeEntryBoxes&&n.select(gt).call(s.makeEditable,{gd:t,immediate:!0,background:t._fullLayout.paper_bgcolor,text:String(d),fill:l.tickfont?l.tickfont.color:"#444",horizontalAlign:p,verticalAlign:h}).on("edit",function(e){var r=l.d2r(e);void 0!==r&&o.call("_guiRelayout",t,u,r)})}}function Ct(e,r){if(t._transitioningWithDuration)return!1;var n=Math.max(0,Math.min($,e+vt)),a=Math.max(0,Math.min(Q,r+yt)),i=Math.abs(n-vt),o=Math.abs(a-yt);function l(){wt="",mt.r=mt.l,mt.t=mt.b,Tt.attr("d","M0,0Z")}mt.l=Math.min(vt,n),mt.r=Math.max(vt,n),mt.t=Math.min(yt,a),mt.b=Math.max(yt,a),nt?i>A||o>A?(wt="xy",i/$>o/Q?(o=i*Q/$,yt>a?mt.t=yt-o:mt.b=yt+o):(i=o*$/Q,vt>n?mt.l=vt-i:mt.r=vt+i),Tt.attr("d",H(mt))):l():!et||og[1]-1/4096&&(e.domain=l),a.noneOrAll(t.domain,e.domain,l)}return r("layer"),e}},{"../../lib":168,"fast-isnumeric":18}],229:[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 a=[t.r2l(t.range[0]),t.r2l(t.range[1])],i=a[0]+(a[1]-a[0])*r;t.range=t._input.range=[t.l2r(i+(a[0]-i)*e),t.l2r(i+(a[1]-i)*e)]}},{"../../constants/alignment":146}],230:[function(t,e,r){"use strict";var n=t("polybooljs"),a=t("../../registry"),i=t("../../components/color"),o=t("../../components/fx"),l=t("../../lib/polygon"),s=t("../../lib/throttle"),c=t("../../components/fx/helpers").makeEventData,u=t("./axis_ids").getFromId,f=t("../../lib/clear_gl_canvases"),d=t("../../plot_api/subroutines").redrawReglTraces,p=t("./constants"),h=p.MINSELECT,g=l.filter,v=l.tester;function y(t){return t._id}function m(t,e,r,n,a,i,o){var l,s,c,u,f,d,p,h,g,v=e._hoverdata,y=e._fullLayout.clickmode.indexOf("event")>-1,m=[];if(function(t){return t&&Array.isArray(t)&&!0!==t[0].hoverOnBox}(v)){w(t,e,i);var x=function(t,e){var r,n,a=t[0],i=-1,o=[];for(n=0;n0?function(t,e){var r,n,a,i=[];for(a=0;a0&&i.push(r);if(1===i.length&&i[0]===e.searchInfo&&(n=e.searchInfo.cd[0].trace).selectedpoints.length===e.pointNumbers.length){for(a=0;a1)return!1;if((a+=r.selectedpoints.length)>1)return!1}return 1===a}(l)&&(d=A(x))){for(o&&o.remove(),g=0;g0?"M"+a.join("M")+"Z":"M0,0Z",e.attr("d",n)}function A(t){var e=t.searchInfo.cd[0].trace,r=t.pointNumber,n=t.pointNumbers,a=n.length>0?n[0]:r;return!!e.selectedpoints&&e.selectedpoints.indexOf(a)>-1}function L(t,e,r){var n,i,o,l;for(n=0;n-1&&m(e,A,a.xaxes,a.yaxes,a.subplot,a,U),"event"===r&&A.emit("plotly_selected",void 0);o.click(A,e)})},a.doneFn=function(){Z.remove(),s.done(X).then(function(){s.clear(X),a.gd.emit("plotly_selected",b),d&&a.selectionDefs&&(d.subtract=V,a.selectionDefs.push(d),a.mergedPolygons.length=0,[].push.apply(a.mergedPolygons,f))})}},clearSelect:C,selectOnClick:m}},{"../../components/color":51,"../../components/fx":90,"../../components/fx/helpers":86,"../../lib/clear_gl_canvases":157,"../../lib/polygon":180,"../../lib/throttle":190,"../../plot_api/subroutines":203,"../../registry":257,"./axis_ids":215,"./constants":218,polybooljs:25}],231:[function(t,e,r){"use strict";var n=t("d3"),a=t("fast-isnumeric"),i=t("../../lib"),o=i.cleanNumber,l=i.ms2DateTime,s=i.dateTime2ms,c=i.ensureNumber,u=i.isArrayOrTypedArray,f=t("../../constants/numerical"),d=f.FP_SAFE,p=f.BADNUM,h=f.LOG_CLIP,g=t("./constants"),v=t("./axis_ids");function y(t){return Math.pow(10,t)}function m(t){return null!=t}e.exports=function(t,e){e=e||{};var r=(t._id||"x").charAt(0);function f(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],a=t.range[1];return.5*(n+a-2*h*Math.abs(n-a))}return p}function x(e,r,n){var o=s(e,n||t.calendar);if(o===p){if(!a(e))return p;e=+e;var l=Math.floor(10*i.mod(e+.05,1)),c=Math.round(e-l/10);o=s(new Date(c))+l/10}return o}function b(e,r,n){return l(e,r,n||t.calendar)}function _(e){return t._categories[Math.round(e)]}function w(e){if(m(e)){if(void 0===t._categoriesMap&&(t._categoriesMap={}),void 0!==t._categoriesMap[e])return t._categoriesMap[e];t._categories.push(e);var r=t._categories.length-1;return t._categoriesMap[e]=r,r}return p}function k(e){if(t._categoriesMap)return t._categoriesMap[e]}function T(t){var e=k(t);return void 0!==e?e:a(t)?+t:void 0}function M(e){return a(e)?n.round(t._b+t._m*e,2):p}function A(e){return(e-t._b)/t._m}t.c2l="log"===t.type?f:c,t.l2c="log"===t.type?y:c,t.l2p=M,t.p2l=A,t.c2p="log"===t.type?function(t,e){return M(f(t,e))}:M,t.p2c="log"===t.type?function(t){return y(A(t))}:A,-1!==["linear","-"].indexOf(t.type)?(t.d2r=t.r2d=t.d2c=t.r2c=t.d2l=t.r2l=o,t.c2d=t.c2r=t.l2d=t.l2r=c,t.d2p=t.r2p=function(e){return t.l2p(o(e))},t.p2d=t.p2r=A,t.cleanPos=c):"log"===t.type?(t.d2r=t.d2l=function(t,e){return f(o(t),e)},t.r2d=t.r2c=function(t){return y(o(t))},t.d2c=t.r2l=o,t.c2d=t.l2r=c,t.c2r=f,t.l2d=y,t.d2p=function(e,r){return t.l2p(t.d2r(e,r))},t.p2d=function(t){return y(A(t))},t.r2p=function(e){return t.l2p(o(e))},t.p2r=A,t.cleanPos=c):"date"===t.type?(t.d2r=t.r2d=i.identity,t.d2c=t.r2c=t.d2l=t.r2l=x,t.c2d=t.c2r=t.l2d=t.l2r=b,t.d2p=t.r2p=function(e,r,n){return t.l2p(x(e,0,n))},t.p2d=t.p2r=function(t,e,r){return b(A(t),e,r)},t.cleanPos=function(e){return i.cleanDate(e,p,t.calendar)}):"category"===t.type?(t.d2c=t.d2l=w,t.r2d=t.c2d=t.l2d=_,t.d2r=t.d2l_noadd=T,t.r2c=function(e){var r=T(e);return void 0!==r?r:t.fraction2r(.5)},t.l2r=t.c2r=c,t.r2l=T,t.d2p=function(e){return t.l2p(t.r2c(e))},t.p2d=function(t){return _(A(t))},t.r2p=t.d2p,t.p2r=A,t.cleanPos=function(t){return"string"==typeof t&&""!==t?t:c(t)}):"multicategory"===t.type&&(t.r2d=t.c2d=t.l2d=_,t.d2r=t.d2l_noadd=T,t.r2c=function(e){var r=T(e);return void 0!==r?r:t.fraction2r(.5)},t.r2c_just_indices=k,t.l2r=t.c2r=c,t.r2l=T,t.d2p=function(e){return t.l2p(t.r2c(e))},t.p2d=function(t){return _(A(t))},t.r2p=t.d2p,t.p2r=A,t.cleanPos=function(t){return Array.isArray(t)||"string"==typeof t&&""!==t?t:c(t)},t.setupMultiCategory=function(e){var n,a,o=t._traceIndices,l=t._multicatSeen=[[0,{}],[0,{}]],s=t._multicatList=[];for(n=0;nd&&(s[o]=d),s[0]===s[1]){var u=Math.max(1,Math.abs(1e-6*s[0]));s[0]-=u,s[1]+=u}}else i.nestedProperty(t,e).set(l)},t.setScale=function(n){var a=e._size;if(t.overlaying){var i=v.getFromId({_fullLayout:e},t.overlaying);t.domain=i.domain}var o=n&&t._r?"_r":"range",l=t.calendar;t.cleanRange(o);var s=t.r2l(t[o][0],l),c=t.r2l(t[o][1],l);if("y"===r?(t._offset=a.t+(1-t.domain[1])*a.h,t._length=a.h*(t.domain[1]-t.domain[0]),t._m=t._length/(s-c),t._b=-t._m*c):(t._offset=a.l+t.domain[0]*a.w,t._length=a.w*(t.domain[1]-t.domain[0]),t._m=t._length/(c-s),t._b=-t._m*s),!isFinite(t._m)||!isFinite(t._b))throw e._replotting=!1,new Error("Something went wrong with axis scaling")},t.makeCalcdata=function(e,r){var n,a,o,l,s=t.type,c="date"===s&&e[r+"calendar"];if(r in e){if(n=e[r],l=e._length||i.minRowLength(n),i.isTypedArray(n)&&("linear"===s||"log"===s)){if(l===n.length)return n;if(n.subarray)return n.subarray(0,l)}if("multicategory"===s)return function(t,e){for(var r=new Array(e),n=0;nr.duration?(function(){for(var r={},n=0;n rect").call(i.setTranslate,0,0).call(i.setScale,1,1),t.plot.call(i.setTranslate,e._offset,r._offset).call(i.setScale,1,1);var n=t.plot.selectAll(".scatterlayer .trace");n.selectAll(".point").call(i.setPointGroupScale,1,1),n.selectAll(".textpoint").call(i.setTextPointsScale,1,1),n.call(i.hideOutsideRangePoints,t)}function g(e,r){var n=e.plotinfo,a=n.xaxis,l=n.yaxis,s=e.xr0,c=e.xr1,u=a._length,f=e.yr0,d=e.yr1,p=l._length,h=!!c,g=!!d,v=[];if(h){var y=s[1]-s[0],m=c[1]-c[0];v[0]=(s[0]*(1-r)+r*c[0]-s[0])/(s[1]-s[0])*u,v[2]=u*(1-r+r*m/y),a.range[0]=s[0]*(1-r)+r*c[0],a.range[1]=s[1]*(1-r)+r*c[1]}else v[0]=0,v[2]=u;if(g){var x=f[1]-f[0],b=d[1]-d[0];v[1]=(f[1]*(1-r)+r*d[1]-f[1])/(f[0]-f[1])*p,v[3]=p*(1-r+r*b/x),l.range[0]=f[0]*(1-r)+r*d[0],l.range[1]=f[1]*(1-r)+r*d[1]}else v[1]=0,v[3]=p;o.drawOne(t,a,{skipTitle:!0}),o.drawOne(t,l,{skipTitle:!0}),o.redrawComponents(t,[a._id,l._id]);var _=h?u/v[2]:1,w=g?p/v[3]:1,k=h?v[0]:0,T=g?v[1]:0,M=h?v[0]/v[2]*u:0,A=g?v[1]/v[3]*p:0,L=a._offset-M,S=l._offset-A;n.clipRect.call(i.setTranslate,k,T).call(i.setScale,1/_,1/w),n.plot.call(i.setTranslate,L,S).call(i.setScale,_,w),i.setPointGroupScale(n.zoomScalePts,1/_,1/w),i.setTextPointsScale(n.zoomScaleTxt,1/_,1/w)}o.redrawComponents(t)}},{"../../components/drawing":72,"../../registry":257,"./axes":212,d3:16}],236:[function(t,e,r){"use strict";var n=t("../../registry").traceIs,a=t("./axis_autotype");function i(t){return{v:"x",h:"y"}[t.orientation||"v"]}function o(t,e){var r=i(t),a=n(t,"box-violin"),o=n(t._fullInput||{},"candlestick");return a&&!o&&e===r&&void 0===t[r]&&void 0===t[r+"0"]}e.exports=function(t,e,r,l){"-"===r("type",(l.splomStash||{}).type)&&(!function(t,e){if("-"!==t.type)return;var r=t._id,l=r.charAt(0);-1!==r.indexOf("scene")&&(r=l);var s=function(t,e,r){for(var n=0;n0&&(a["_"+r+"axes"]||{})[e])return a;if((a[r+"axis"]||r)===e){if(o(a,r))return a;if((a[r]||[]).length||a[r+"0"])return a}}}(e,r,l);if(!s)return;if("histogram"===s.type&&l==={v:"y",h:"x"}[s.orientation||"v"])return void(t.type="linear");var c,u=l+"calendar",f=s[u],d={noMultiCategory:!n(s,"cartesian")||n(s,"noMultiCategory")};if(o(s,l)){var p=i(s),h=[];for(c=0;c0?".":"")+i;a.isPlainObject(o)?s(o,e,l,n+1):e(l,i,o)}})}r.manageCommandObserver=function(t,e,n,o){var l={},s=!0;e&&e._commandObserver&&(l=e._commandObserver),l.cache||(l.cache={}),l.lookupTable={};var c=r.hasSimpleAPICommandBindings(t,n,l.lookupTable);if(e&&e._commandObserver){if(c)return l;if(e._commandObserver.remove)return e._commandObserver.remove(),e._commandObserver=null,l}if(c){i(t,c,l.cache),l.check=function(){if(s){var e=i(t,c,l.cache);return e.changed&&o&&void 0!==l.lookupTable[e.value]&&(l.disable(),Promise.resolve(o({value:e.value,type:c.type,prop:c.prop,traces:c.traces,index:l.lookupTable[e.value]})).then(l.enable,l.enable)),e.changed}};for(var u=["plotly_relayout","plotly_redraw","plotly_restyle","plotly_update","plotly_animatingframe","plotly_afterplot"],f=0;f=e.width-20?(i["text-anchor"]="start",i.x=5):(i["text-anchor"]="end",i.x=e._paper.attr("width")-7),r.attr(i);var o=r.select(".js-link-to-tool"),l=r.select(".js-link-spacer"),u=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(){v.sendDataToCloud(t)});else{var n=window.location.pathname.split("/"),a=window.location.search;r.attr({"xlink:xlink:show":"new","xlink:xlink:href":"/"+n[2].split(".")[0]+"/"+n[1]+a})}}(t,o),l.text(o.text()&&u.text()?" - ":"")}},v.sendDataToCloud=function(t){t.emit("plotly_beforeexport");var e=(window.PLOTLYENV||{}).BASE_URL||t._context.plotlyServerURL,r=n.select(t).append("div").attr("id","hiddenform").style("display","none"),a=r.append("form").attr({action:e+"/external",method:"post",target:"_blank"});return a.append("input").attr({type:"text",name:"data"}).node().value=v.graphJson(t,!1,"keepdata"),a.node().submit(),r.remove(),t.emit("plotly_afterexport"),!1};var x=["days","shortDays","months","shortMonths","periods","dateTime","date","time","decimal","thousands","grouping","currency"],b=["year","month","dayMonth","dayMonthYear"];function _(t,e){var r=t._context.locale,n=!1,a={};function o(t){for(var r=!0,i=0;i0&&(t._transitioningWithDuration=!0),t._transitionData._interruptCallbacks.push(function(){n=!0}),r.redraw&&t._transitionData._interruptCallbacks.push(function(){return i.call("redraw",t)}),t._transitionData._interruptCallbacks.push(function(){t.emit("plotly_transitioninterrupted",[])});var o=0,l=0;function s(){return o++,function(){var e;l++,n||l!==o||(e=a,t._transitionData&&(function(t){if(t)for(;t.length;)t.shift()}(t._transitionData._interruptCallbacks),Promise.resolve().then(function(){if(r.redraw)return i.call("redraw",t)}).then(function(){t._transitioning=!1,t._transitioningWithDuration=!1,t.emit("plotly_transitioned",[])}).then(e)))}}r.runFn(s),setTimeout(s())})}],o=s.syncOrAsync(a,t);return o&&o.then||(o=Promise.resolve()),o.then(function(){return t})}function L(t,e){for(var r=0;r1&&D.length>1){for(i.getComponentMethod("grid","sizeDefaults")(c,l),o=0;o15&&D.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"),v.linkSubplots(f,l,u,a),v.cleanPlot(f,l,u,a),h(l,a),l._preGUI||(l._preGUI={}),l._tracePreGUI||(l._tracePreGUI={});var F,N=l._tracePreGUI,B={};for(F in N)B[F]="old";for(o=0;o0){var f=1-2*l;n=Math.round(f*n),i=Math.round(f*i)}}var d=v.layoutAttributes.width.min,p=v.layoutAttributes.height.min;n1,g=!e.height&&Math.abs(r.height-i)>1;(g||h)&&(h&&(r.width=n),g&&(r.height=i)),t._initialAutoSize||(t._initialAutoSize={width:n,height:i}),v.sanitizeMargins(r)},v.supplyLayoutModuleDefaults=function(t,e,r,n){var a,o,l,c=i.componentsRegistry,u=e._basePlotModules,f=i.subplotsRegistry.cartesian;for(a in c)(l=c[a]).includeBasePlot&&l.includeBasePlot(t,e);for(var d in u.length||u.push(f),e._has("cartesian")&&(i.getComponentMethod("grid","contentDefaults")(t,e),f.finalizeSubplots(t,e)),e._subplots)e._subplots[d].sort(s.subplotSort);for(o=0;o.5*n.width&&(r.l=r.r=0),r.b+r.t>.5*n.height&&(r.b=r.t=0);var s=void 0!==r.xl?r.xl:r.x,c=void 0!==r.xr?r.xr:r.x,u=void 0!==r.yt?r.yt:r.y,f=void 0!==r.yb?r.yb:r.y;a[e]={l:{val:s,size:r.l+o},r:{val:c,size:r.r+o},b:{val:f,size:r.b+o},t:{val:u,size:r.t+o}},i[e]=1}else delete a[e],delete i[e];n._replotting||v.doAutoMargin(t)}},v.doAutoMargin=function(t){var e=t._fullLayout;e._size||(e._size={}),M(e);var r=e._size,n=JSON.stringify(r),o=e.margin,l=o.l,s=o.r,c=o.t,u=o.b,f=e._pushmargin,d=e._pushmarginIds;if(!1!==e.margin.autoexpand){for(var p in f)d[p]||delete f[p];for(var h in f.base={l:{val:0,size:l},r:{val:1,size:s},t:{val:1,size:c},b:{val:0,size:u}},f){var g=f[h].l||{},v=f[h].b||{},y=g.val,m=g.size,x=v.val,b=v.size;for(var _ in f){if(a(m)&&f[_].r){var w=f[_].r.val,k=f[_].r.size;if(w>y){var T=(m*w+(k-e.width)*y)/(w-y),A=(k*(1-y)+(m-e.width)*(1-w))/(w-y);T>=0&&A>=0&&T+A>l+s&&(l=T,s=A)}}if(a(b)&&f[_].t){var L=f[_].t.val,S=f[_].t.size;if(L>x){var C=(b*L+(S-e.height)*x)/(L-x),O=(S*(1-x)+(b-e.height)*(1-L))/(L-x);C>=0&&O>=0&&C+O>u+c&&(u=C,c=O)}}}}}if(r.l=Math.round(l),r.r=Math.round(s),r.t=Math.round(c),r.b=Math.round(u),r.p=Math.round(o.pad),r.w=Math.round(e.width)-r.l-r.r,r.h=Math.round(e.height)-r.t-r.b,!e._replotting&&"{}"!==n&&n!==JSON.stringify(e._size))return"_redrawFromAutoMarginCount"in e?e._redrawFromAutoMarginCount++:e._redrawFromAutoMarginCount=1,i.call("plot",t)},v.graphJson=function(t,e,r,n,a){(a&&e&&!t._fullData||a&&!e&&!t._fullLayout)&&v.supplyDefaults(t);var i=a?t._fullData:t.data,o=a?t._fullLayout:t.layout,l=(t._transitionData||{})._frames;function c(t){if("function"==typeof t)return null;if(s.isPlainObject(t)){var e,n,a={};for(e in t)if("function"!=typeof t[e]&&-1===["_","["].indexOf(e.charAt(0))){if("keepdata"===r){if("src"===e.substr(e.length-3))continue}else if("keepstream"===r){if("string"==typeof(n=t[e+"src"])&&n.indexOf(":")>0&&!s.isPlainObject(t.stream))continue}else if("keepall"!==r&&"string"==typeof(n=t[e+"src"])&&n.indexOf(":")>0)continue;a[e]=c(t[e])}return a}return Array.isArray(t)?t.map(c):s.isTypedArray(t)?s.simpleMap(t,s.identity):s.isJSDate(t)?s.ms2DateTimeLocal(+t):t}var u={data:(i||[]).map(function(t){var r=c(t);return e&&delete r.fit,r})};return e||(u.layout=c(o)),t.framework&&t.framework.isPolar&&(u=t.framework.getConfig()),l&&(u.frames=c(l)),"object"===n?u:JSON.stringify(u)},v.modifyFrames=function(t,e){var r,n,a,i=t._transitionData._frames,o=t._transitionData._frameHash;for(r=0;r=0;l--)if(o[l].enabled){r._indexToPoints=o[l]._indexToPoints;break}n&&n.calc&&(i=n.calc(t,r))}Array.isArray(i)&&i[0]||(i=[{x:u,y:u}]),i[0].t||(i[0].t={}),i[0].trace=r,h[e]=i}}for(m&&L(c,d),a=0;a=0?d.angularAxis.domain:n.extent(k),S=Math.abs(k[1]-k[0]);M&&!T&&(S=0);var C=L.slice();A&&T&&(C[1]+=S);var O=d.angularAxis.ticksCount||4;O>8&&(O=O/(O/8)+O%8),d.angularAxis.ticksStep&&(O=(C[1]-C[0])/O);var z=d.angularAxis.ticksStep||(C[1]-C[0])/(O*(d.minorTicks+1));w&&(z=Math.max(Math.round(z),1)),C[2]||(C[2]=z);var D=n.range.apply(this,C);if(D=D.map(function(t,e){return parseFloat(t.toPrecision(12))}),l=n.scale.linear().domain(C.slice(0,2)).range("clockwise"===d.direction?[0,360]:[360,0]),u.layout.angularAxis.domain=l.domain(),u.layout.angularAxis.endPadding=A?S:0,"undefined"==typeof(t=n.select(this).select("svg.chart-root"))||t.empty()){var P=(new DOMParser).parseFromString("' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '","application/xml"),E=this.appendChild(this.ownerDocument.importNode(P.documentElement,!0));t=n.select(E)}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 R,I=t.select(".chart-group"),F={fill:"none",stroke:d.tickColor},N={"font-size":d.font.size,"font-family":d.font.family,fill:d.font.color,"text-shadow":["-1px 0px","1px -1px","-1px 1px","1px 1px"].map(function(t,e){return" "+t+" 0 "+d.font.outlineColor}).join(",")};if(d.showLegend){R=t.select(".legend-group").attr({transform:"translate("+[x,d.margin.top]+")"}).style({display:"block"});var B=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:a({},o.Legend.defaultConfig().legendConfig,{container:R,elements:B,reverseOrder:d.legend.reverseOrder})})();var j=R.node().getBBox();x=Math.min(d.width-j.width-d.margin.left-d.margin.right,d.height-d.margin.top-d.margin.bottom)/2,x=Math.max(10,x),_=[d.margin.left+x,d.margin.top+x],r.range([0,x]),u.layout.radialAxis.domain=r.domain(),R.attr("transform","translate("+[_[0]+x,_[1]-x]+")")}else R=t.select(".legend-group").style({display:"none"});t.attr({width:d.width,height:d.height}).style({opacity:d.opacity}),I.attr("transform","translate("+_+")").style({cursor:"crosshair"});var H=[(d.width-(d.margin.left+d.margin.right+2*x+(j?j.width:0)))/2,(d.height-(d.margin.top+d.margin.bottom+2*x))/2];if(H[0]=Math.max(0,H[0]),H[1]=Math.max(0,H[1]),t.select(".outer-group").attr("transform","translate("+H+")"),d.title&&d.title.text){var q=t.select("g.title-group text").style(N).text(d.title.text),V=q.node().getBBox();q.attr({x:_[0]-V.width/2,y:_[1]-x-20})}var U=t.select(".radial.axis-group");if(d.radialAxis.gridLinesVisible){var G=U.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()}U.select("circle.outside-circle").attr({r:x}).style(F);var Z=t.select("circle.background-circle").attr({r:x}).style({fill:d.backgroundColor,stroke:d.stroke});function X(t,e){return l(t)%360+d.orientation}if(d.radialAxis.visible){var Y=n.svg.axis().scale(r).ticks(5).tickSize(5);U.call(Y).attr({transform:"rotate("+d.radialAxis.orientation+")"}),U.selectAll(".domain").style(F),U.selectAll("g>text").text(function(t,e){return this.textContent+d.radialAxis.ticksSuffix}).style(N).style({"text-anchor":"start"}).attr({x:0,y:0,dx:0,dy:0,transform:function(t,e){return"horizontal"===d.radialAxis.tickOrientation?"rotate("+-d.radialAxis.orientation+") translate("+[0,N["font-size"]]+")":"translate("+[0,N["font-size"]]+")"}}),U.selectAll("g>line").style({stroke:"black"})}var W=t.select(".angular.axis-group").selectAll("g.angular-tick").data(D),J=W.enter().append("g").classed("angular-tick",!0);W.attr({transform:function(t,e){return"rotate("+X(t)+")"}}).style({display:d.angularAxis.visible?"block":"none"}),W.exit().remove(),J.append("line").classed("grid-line",!0).classed("major",function(t,e){return e%(d.minorTicks+1)==0}).classed("minor",function(t,e){return!(e%(d.minorTicks+1)==0)}).style(F),J.selectAll(".minor").style({stroke:d.minorTickColor}),W.select("line.grid-line").attr({x1:d.tickLength?x-d.tickLength:0,x2:x}).style({display:d.angularAxis.gridLinesVisible?"block":"none"}),J.append("text").classed("axis-text",!0).style(N);var $=W.select("text.axis-text").attr({x:x+d.labelOffset,dy:i+"em",transform:function(t,e){var r=X(t),n=x+d.labelOffset,a=d.angularAxis.tickOrientation;return"horizontal"==a?"rotate("+-r+" "+n+" 0)":"radial"==a?r<270&&r>90?"rotate(180 "+n+" 0)":null:"rotate("+(r<=180&&r>0?-90:90)+" "+n+" 0)"}}).style({"text-anchor":"middle",display:d.angularAxis.labelsVisible?"block":"none"}).text(function(t,e){return e%(d.minorTicks+1)!=0?"":w?w[t]+d.angularAxis.ticksSuffix:t+d.angularAxis.ticksSuffix}).style(N);d.angularAxis.rewriteTicks&&$.text(function(t,e){return e%(d.minorTicks+1)!=0?"":d.angularAxis.rewriteTicks(this.textContent,e)});var Q=n.max(I.selectAll(".angular-tick text")[0].map(function(t,e){return t.getCTM().e+t.getBBox().width}));R.attr({transform:"translate("+[x+Q,d.margin.top]+")"});var K=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]||K){var et=[];p.forEach(function(t,e){var n={};n.radialScale=r,n.angularScale=l,n.container=tt.filter(function(t,r){return r==e}),n.geometry=t.geometry,n.orientation=d.orientation,n.direction=d.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 a(o[r].defaultConfig(),t)});o[r]().config(n)()})}var at,it,ot=t.select(".guides-group"),lt=t.select(".tooltips-group"),st=o.tooltipPanel().config({container:lt,fontSize:8})(),ct=o.tooltipPanel().config({container:lt,fontSize:8})(),ut=o.tooltipPanel().config({container:lt,hasTick:!0})();if(!T){var ft=ot.select("line").attr({x1:0,y1:0,y2:0}).style({stroke:"grey","pointer-events":"none"});I.on("mousemove.angular-guide",function(t,e){var r=o.util.getMousePos(Z).angle;ft.attr({x2:-x,transform:"rotate("+r+")"}).style({opacity:.5});var n=(r+180+360-d.orientation)%360;at=l.invert(n);var a=o.util.convertToCartesian(x+12,r+180);st.text(o.util.round(at)).move([a[0]+_[0],a[1]+_[1]])}).on("mouseout.angular-guide",function(t,e){ot.select("line").style({opacity:0})})}var dt=ot.select("circle").style({stroke:"grey",fill:"none"});I.on("mousemove.radial-guide",function(t,e){var n=o.util.getMousePos(Z).radius;dt.attr({r:n}).style({opacity:.5}),it=r.invert(o.util.getMousePos(Z).radius);var a=o.util.convertToCartesian(n,d.radialAxis.orientation);ct.text(o.util.round(it)).move([a[0]+_[0],a[1]+_[1]])}).on("mouseout.radial-guide",function(t,e){dt.style({opacity:0}),ut.hide(),st.hide(),ct.hide()}),t.selectAll(".geometry-group .mark").on("mouseover.tooltip",function(e,r){var a=n.select(this),i=this.style.fill,l="black",s=this.style.opacity||1;if(a.attr({"data-opacity":s}),i&&"none"!==i){a.attr({"data-fill":i}),l=n.hsl(i).darker().toString(),a.style({fill:l,opacity:1});var c={t:o.util.round(e[0]),r:o.util.round(e[1])};T&&(c.t=w[e[0]]);var u="t: "+c.t+", r: "+c.r,f=this.getBoundingClientRect(),d=t.node().getBoundingClientRect(),p=[f.left+f.width/2-H[0]-d.left,f.top+f.height/2-H[1]-d.top];ut.config({color:l}).text(u),ut.move(p)}else i=this.style.stroke||"black",a.attr({"data-stroke":i}),l=n.hsl(i).darker().toString(),a.style({stroke:l,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),a=r.attr("data-fill");a?r.style({fill:a,opacity:r.attr("data-opacity")}):r.style({stroke:r.attr("data-stroke"),opacity:r.attr("data-opacity")})})})}(c),this},d.config=function(t){if(!arguments.length)return s;var e=o.util.cloneJson(t);return e.data.forEach(function(t,e){s.data[e]||(s.data[e]={}),a(s.data[e],o.Axis.defaultConfig().data[0]),a(s.data[e],t)}),a(s.layout,o.Axis.defaultConfig().layout),a(s.layout,e.layout),this},d.getLiveConfig=function(){return u},d.getinputConfig=function(){return c},d.radialScale=function(t){return r},d.angularScale=function(t){return l},d.svg=function(){return t},n.rebind(d,f,"on"),d},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 a=e||6,i=[],o=[];n.range(0,360+a,a).forEach(function(e,r){var n=e*Math.PI/180,a=t(n);i.push(e),o.push(a)});var l={t:i,r:o};return r&&(l.name=r),l},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],a=e[1],i={};return i.x=r,i.y=a,i.pos=e,i.angle=180*(Math.atan2(a,r)+Math.PI)/Math.PI,i.radius=Math.sqrt(r*r+a*a),i},o.util.duplicatesCount=function(t){for(var e,r={},n={},a=0,i=t.length;a0)){var s=n.select(this.parentNode).selectAll("path.line").data([0]);s.enter().insert("path"),s.attr({class:"line",d:u(l),transform:function(t,r){return"rotate("+(e.orientation+90)+")"},"pointer-events":"none"}).style({fill:function(t,e){return h.fill(r,a,i)},"fill-opacity":0,stroke:function(t,e){return h.stroke(r,a,i)},"stroke-width":function(t,e){return h["stroke-width"](r,a,i)},"stroke-dasharray":function(t,e){return h["stroke-dasharray"](r,a,i)},opacity:function(t,e){return h.opacity(r,a,i)},display:function(t,e){return h.display(r,a,i)}})}};var f=e.angularScale.range(),d=Math.abs(f[1]-f[0])/o[0].length*Math.PI/180,p=n.svg.arc().startAngle(function(t){return-d/2}).endAngle(function(t){return d/2}).innerRadius(function(t){return e.radialScale(s+(t[2]||0))}).outerRadius(function(t){return e.radialScale(s+(t[2]||0))+e.radialScale(t[1])});c.arc=function(t,r,a){n.select(this).attr({class:"mark arc",d:p,transform:function(t,r){return"rotate("+(e.orientation+l(t[0])+90)+")"}})};var h={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,a){return r[t[a].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 v=g.selectAll("path.mark").data(function(t,e){return t});v.enter().append("path").attr({class:"mark"}),v.style(h).each(c[e.geometryType]),v.exit().remove(),g.exit().remove()})}return i.config=function(e){return arguments.length?(e.forEach(function(e,r){t[r]||(t[r]={}),a(t[r],o.PolyChart.defaultConfig()),a(t[r],e)}),this):t},i.getColorScale=function(){},n.rebind(i,e,"on"),i},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,i=t.data.map(function(t,r){return[].concat(t).map(function(t,n){var i=a({},e.elements[r]);return i.name=t,i.color=[].concat(e.elements[r].color)[n],i})}),o=n.merge(i);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 l=e.container;("string"==typeof l||l.nodeName)&&(l=n.select(l));var s=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,d=l.classed("legend-group",!0).selectAll("svg").data([0]),p=d.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 h=n.range(o.length),g=n.scale[u?"linear":"ordinal"]().domain(h).range(s),v=n.scale[u?"linear":"ordinal"]().domain(h)[u?"range":"rangePoints"]([0,f]);if(u){var y=d.select(".legend-marks").append("defs").append("linearGradient").attr({id:"grad1",x1:"0%",y1:"0%",x2:"0%",y2:"100%"}).selectAll("stop").data(s);y.enter().append("stop"),y.attr({offset:function(t,e){return e/(s.length-1)*100+"%"}}).style({"stop-color":function(t,e){return t}}),d.append("rect").classed("legend-mark",!0).attr({height:e.height,width:e.colorBandWidth,fill:"url(#grad1)"})}else{var m=d.select(".legend-marks").selectAll("path.legend-mark").data(o);m.enter().append("path").classed("legend-mark",!0),m.attr({transform:function(t,e){return"translate("+[c/2,v(e)+c/2]+")"},d:function(t,e){var r,a,i,o=t.symbol;return i=3*(a=c),"line"===(r=o)?"M"+[[-a/2,-a/12],[a/2,-a/12],[a/2,a/12],[-a/2,a/12]]+"Z":-1!=n.svg.symbolTypes.indexOf(r)?n.svg.symbol().type(r).size(i)():n.svg.symbol().type("square").size(i)()},fill:function(t,e){return g(e)}}),m.exit().remove()}var x=n.svg.axis().scale(v).orient("right"),b=d.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?(a(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,i={container:null,hasTick:!1,fontSize:12,color:"white",padding:5},l="tooltip-"+o.tooltipPanel.uid++,s=10,c=function(){var n=(t=i.container.selectAll("g."+l).data([0])).enter().append("g").classed(l,!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:i.padding+s,dy:.3*+i.fontSize}),c};return c.text=function(a){var o=n.hsl(i.color).l,l=o>=.5?"#aaa":"white",u=o>=.5?"black":"white",f=a||"";e.style({fill:u,"font-size":i.fontSize+"px"}).text(f);var d=i.padding,p=e.node().getBBox(),h={fill:i.color,stroke:l,"stroke-width":"2px"},g=p.width+2*d+s,v=p.height+2*d;return r.attr({d:"M"+[[s,-v/2],[s,-v/4],[i.hasTick?0:s,0],[s,v/4],[s,v/2],[g,v/2],[g,-v/2]].join("L")+"Z"}).style(h),t.attr({transform:"translate("+[s,-v/2+2*d]+")"}),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 a(i,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=a({},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 i=o.util.duplicates(r.data.map(function(t,e){return t.geometry}));r.data.forEach(function(t,e){var n=i.indexOf(t.geometry);-1!=n&&(r.data[e].groupId=n)})}if(t.layout){var l=a({},t.layout);if([[l,["plot_bgcolor"],["backgroundColor"]],[l,["showlegend"],["showLegend"]],[l,["radialaxis"],["radialAxis"]],[l,["angularaxis"],["angularAxis"]],[l.angularaxis,["showline"],["gridLinesVisible"]],[l.angularaxis,["showticklabels"],["labelsVisible"]],[l.angularaxis,["nticks"],["ticksCount"]],[l.angularaxis,["tickorientation"],["tickOrientation"]],[l.angularaxis,["ticksuffix"],["ticksSuffix"]],[l.angularaxis,["range"],["domain"]],[l.angularaxis,["endpadding"],["endPadding"]],[l.radialaxis,["showline"],["gridLinesVisible"]],[l.radialaxis,["tickorientation"],["tickOrientation"]],[l.radialaxis,["ticksuffix"],["ticksSuffix"]],[l.radialaxis,["range"],["domain"]],[l.angularAxis,["showline"],["gridLinesVisible"]],[l.angularAxis,["showticklabels"],["labelsVisible"]],[l.angularAxis,["nticks"],["ticksCount"]],[l.angularAxis,["tickorientation"],["tickOrientation"]],[l.angularAxis,["ticksuffix"],["ticksSuffix"]],[l.angularAxis,["range"],["domain"]],[l.angularAxis,["endpadding"],["endPadding"]],[l.radialAxis,["showline"],["gridLinesVisible"]],[l.radialAxis,["tickorientation"],["tickOrientation"]],[l.radialAxis,["ticksuffix"],["ticksSuffix"]],[l.radialAxis,["range"],["domain"]],[l.font,["outlinecolor"],["outlineColor"]],[l.legend,["traceorder"],["reverseOrder"]],[l,["labeloffset"],["labelOffset"]],[l,["defaultcolorrange"],["defaultColorRange"]]].forEach(function(t,r){o.util.translator.apply(null,t.concat(e))}),e?("undefined"!=typeof l.tickLength&&(l.angularaxis.ticklen=l.tickLength,delete l.tickLength),l.tickColor&&(l.angularaxis.tickcolor=l.tickColor,delete l.tickColor)):(l.angularAxis&&"undefined"!=typeof l.angularAxis.ticklen&&(l.tickLength=l.angularAxis.ticklen),l.angularAxis&&"undefined"!=typeof l.angularAxis.tickcolor&&(l.tickColor=l.angularAxis.tickcolor)),l.legend&&"boolean"!=typeof l.legend.reverseOrder&&(l.legend.reverseOrder="normal"!=l.legend.reverseOrder),l.legend&&"boolean"==typeof l.legend.traceorder&&(l.legend.traceorder=l.legend.traceorder?"reversed":"normal",delete l.legend.reverseOrder),l.margin&&"undefined"!=typeof l.margin.t){var s=["t","r","b","l","pad"],c=["top","right","bottom","left","pad"],u={};n.entries(l.margin).forEach(function(t,e){u[c[s.indexOf(t.key)]]=t.value}),l.margin=u}e&&(delete l.needsEndSpacing,delete l.minorTickColor,delete l.minorTicks,delete l.angularaxis.ticksCount,delete l.angularaxis.ticksCount,delete l.angularaxis.ticksStep,delete l.angularaxis.rewriteTicks,delete l.angularaxis.nticks,delete l.radialaxis.ticksCount,delete l.radialaxis.ticksCount,delete l.radialaxis.ticksStep,delete l.radialaxis.rewriteTicks,delete l.radialaxis.nticks),r.layout=l}return r}};return t}},{"../../../constants/alignment":146,"../../../lib":168,d3:16}],250:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../../lib"),i=t("../../../components/color"),o=t("./micropolar"),l=t("./undo_manager"),s=a.extendDeepAll,c=e.exports={};c.framework=function(t){var e,r,a,i,u,f=new l;function d(r,l){return l&&(u=l),n.select(n.select(u).node().parentNode).selectAll(".svg-container>*:not(.chart-root)").remove(),e=e?s(e,r):r,a||(a=o.Axis()),i=o.adapter.plotly().convert(e),a.config(i).render(u),t.data=e.data,t.layout=e.layout,c.fillLayout(t),e}return d.isPolar=!0,d.svg=function(){return a.svg()},d.getConfig=function(){return e},d.getLiveConfig=function(){return o.adapter.plotly().convert(a.getLiveConfig(),!0)},d.getLiveScales=function(){return{t:a.angularScale(),r:a.radialScale()}},d.setUndoPoint=function(){var t,n,a=this,i=o.util.cloneJson(e);t=i,n=r,f.add({undo:function(){n&&a(n)},redo:function(){a(t)}}),r=o.util.cloneJson(i)},d.undo=function(){f.undo()},d.redo=function(){f.redo()},d},c.fillLayout=function(t){var e=n.select(t).selectAll(".plot-container"),r=e.selectAll(".svg-container"),a=t.framework&&t.framework.svg&&t.framework.svg(),o={width:800,height:600,paper_bgcolor:i.background,_container:e,_paperdiv:r,_paper:a};t._fullLayout=s(o,t.layout)}},{"../../../components/color":51,"../../../lib":168,"./micropolar":249,"./undo_manager":251,d3:16}],251:[function(t,e,r){"use strict";e.exports=function(){var t,e=[],r=-1,n=!1;function a(t,e){return t?(n=!0,t[e](),n=!1,this):this}return{add:function(t){return n?this:(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?(a(n,"undo"),r-=1,t&&t(n.undo),this):this},redo:function(){var n=e[r+1];return n?(a(n,"redo"),r+=1,t&&t(n.redo),this):this},clear:function(){e=[],r=-1},hasUndo:function(){return-1!==r},hasRedo:function(){return r=u&&(p.min=0,g.min=0,v.min=0,t.aaxis&&delete t.aaxis.min,t.baxis&&delete t.baxis.min,t.caxis&&delete t.caxis.min)}function h(t,e,r,n){var a=f[e._name];function o(r,n){return i.coerce(t,e,a,r,n)}o("uirevision",n.uirevision),e.type="linear";var d=o("color"),p=d!==a.color.dflt?d:r.font.color,h=e._name.charAt(0).toUpperCase(),g="Component "+h,v=o("title.text",g);e._hovertitle=v===g?v:h,i.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"),l(t,e,o,"linear",{}),s(t,e,o,{outerTicks:!0}),o("showticklabels")&&(i.coerceFont(o,"tickfont",{family:r.font.family,size:r.font.size,color:p}),o("tickangle"),o("tickformat")),u(t,e,o,{dfltColor:d,bgColor:r.bgColor,blend:60,showLine:!0,showGrid:!0,noZeroLine:!0,attributes:a}),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":51,"../../lib":168,"../../plot_api/plot_template":202,"../cartesian/line_grid_defaults":227,"../cartesian/tick_label_defaults":232,"../cartesian/tick_mark_defaults":233,"../cartesian/tick_value_defaults":234,"../subplot_defaults":252,"./layout_attributes":254}],256:[function(t,e,r){"use strict";var n=t("d3"),a=t("tinycolor2"),i=t("../../registry"),o=t("../../lib"),l=o._,s=t("../../components/color"),c=t("../../components/drawing"),u=t("../cartesian/set_convert"),f=t("../../lib/extend").extendFlat,d=t("../plots"),p=t("../cartesian/axes"),h=t("../../components/dragelement"),g=t("../../components/fx"),v=t("../../components/titles"),y=t("../cartesian/select").prepSelect,m=t("../cartesian/select").selectOnClick,x=t("../cartesian/select").clearSelect,b=t("../cartesian/constants");function _(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=_;var w=_.prototype;w.init=function(t){this.container=t._ternarylayer,this.defs=t._defs,this.layoutId=t._uid,this.traceHash={},this.layers={}},w.plot=function(t,e){var r=e[this.id],n=e._size;this._hasClipOnAxisFalse=!1;for(var a=0;ak*x?a=(i=x)*k:i=(a=m)/k,o=v*a/m,l=y*i/x,r=e.l+e.w*h-a/2,n=e.t+e.h*(1-g)-i/2,d.x0=r,d.y0=n,d.w=a,d.h=i,d.sum=b,d.xaxis={type:"linear",range:[_+2*T-b,b-_-2*w],domain:[h-o/2,h+o/2],_id:"x"},u(d.xaxis,d.graphDiv._fullLayout),d.xaxis.setScale(),d.xaxis.isPtWithinRange=function(t){return t.a>=d.aaxis.range[0]&&t.a<=d.aaxis.range[1]&&t.b>=d.baxis.range[1]&&t.b<=d.baxis.range[0]&&t.c>=d.caxis.range[1]&&t.c<=d.caxis.range[0]},d.yaxis={type:"linear",range:[_,b-w-T],domain:[g-l/2,g+l/2],_id:"y"},u(d.yaxis,d.graphDiv._fullLayout),d.yaxis.setScale(),d.yaxis.isPtWithinRange=function(){return!0};var M=d.yaxis.domain[0],A=d.aaxis=f({},t.aaxis,{range:[_,b-w-T],side:"left",tickangle:(+t.aaxis.tickangle||0)-30,domain:[M,M+l*k],anchor:"free",position:0,_id:"y",_length:a});u(A,d.graphDiv._fullLayout),A.setScale();var L=d.baxis=f({},t.baxis,{range:[b-_-T,w],side:"bottom",domain:d.xaxis.domain,anchor:"free",position:0,_id:"x",_length:a});u(L,d.graphDiv._fullLayout),L.setScale();var S=d.caxis=f({},t.caxis,{range:[b-_-w,T],side:"right",tickangle:(+t.caxis.tickangle||0)+30,domain:[M,M+l*k],anchor:"free",position:0,_id:"y",_length:a});u(S,d.graphDiv._fullLayout),S.setScale();var C="M"+r+","+(n+i)+"h"+a+"l-"+a/2+",-"+i+"Z";d.clipDef.select("path").attr("d",C),d.layers.plotbg.select("path").attr("d",C);var O="M0,"+i+"h"+a+"l-"+a/2+",-"+i+"Z";d.clipDefRelative.select("path").attr("d",O);var z="translate("+r+","+n+")";d.plotContainer.selectAll(".scatterlayer,.maplayer").attr("transform",z),d.clipDefRelative.select("path").attr("transform",null);var D="translate("+(r-L._offset)+","+(n+i)+")";d.layers.baxis.attr("transform",D),d.layers.bgrid.attr("transform",D);var P="translate("+(r+a/2)+","+n+")rotate(30)translate(0,"+-A._offset+")";d.layers.aaxis.attr("transform",P),d.layers.agrid.attr("transform",P);var E="translate("+(r+a/2)+","+n+")rotate(-30)translate(0,"+-S._offset+")";d.layers.caxis.attr("transform",E),d.layers.cgrid.attr("transform",E),d.drawAxes(!0),d.layers.aline.select("path").attr("d",A.showline?"M"+r+","+(n+i)+"l"+a/2+",-"+i:"M0,0").call(s.stroke,A.linecolor||"#000").style("stroke-width",(A.linewidth||0)+"px"),d.layers.bline.select("path").attr("d",L.showline?"M"+r+","+(n+i)+"h"+a:"M0,0").call(s.stroke,L.linecolor||"#000").style("stroke-width",(L.linewidth||0)+"px"),d.layers.cline.select("path").attr("d",S.showline?"M"+(r+a/2)+","+n+"l"+a/2+","+i:"M0,0").call(s.stroke,S.linecolor||"#000").style("stroke-width",(S.linewidth||0)+"px"),d.graphDiv._context.staticPlot||d.initInteractions(),c.setClipUrl(d.layers.frontplot,d._hasClipOnAxisFalse?null:d.clipId,d.graphDiv)},w.drawAxes=function(t){var e=this.graphDiv,r=this.id.substr(7)+"title",n=this.layers,a=this.aaxis,i=this.baxis,o=this.caxis;if(this.drawAx(a),this.drawAx(i),this.drawAx(o),t){var s=Math.max(a.showticklabels?a.tickfont.size/2:0,(o.showticklabels?.75*o.tickfont.size:0)+("outside"===o.ticks?.87*o.ticklen:0)),c=(i.showticklabels?i.tickfont.size:0)+("outside"===i.ticks?i.ticklen:0)+3;n["a-title"]=v.draw(e,"a"+r,{propContainer:a,propName:this.id+".aaxis.title",placeholder:l(e,"Click to enter Component A title"),attributes:{x:this.x0+this.w/2,y:this.y0-a.title.font.size/3-s,"text-anchor":"middle"}}),n["b-title"]=v.draw(e,"b"+r,{propContainer:i,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*i.title.font.size+c,"text-anchor":"middle"}}),n["c-title"]=v.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"}})}},w.drawAx=function(t){var e,r=this.graphDiv,n=t._name,a=n.charAt(0),i=t._id,l=this.layers[n],s=a+"tickLayout",c=(e=t).ticks+String(e.ticklen)+String(e.showticklabels);this[s]!==c&&(l.selectAll("."+i+"tick").remove(),this[s]=c),t.setScale();var u=p.calcTicks(t),f=p.clipEnds(t,u),d=p.makeTransFn(t),h=p.getTickSigns(t)[2],g=o.deg2rad(30),v=h*(t.linewidth||1)/2,y=h*t.ticklen,m=this.w,x=this.h,b="b"===a?"M0,"+v+"l"+Math.sin(g)*y+","+Math.cos(g)*y:"M"+v+",0l"+Math.cos(g)*y+","+-Math.sin(g)*y,_={a:"M0,0l"+x+",-"+m/2,b:"M0,0l-"+m/2+",-"+x,c:"M0,0l-"+x+","+m/2}[a];p.drawTicks(r,t,{vals:"inside"===t.ticks?f:u,layer:l,path:b,transFn:d,crisp:!1}),p.drawGrid(r,t,{vals:f,layer:this.layers[a+"grid"],path:_,transFn:d,crisp:!1});var w=p.makeLabelFns(t,0,30);p.drawLabels(r,t,{vals:u,layer:l,transFn:d,labelXFn:w.labelXFn,labelYFn:w.labelYFn,labelAnchorFn:w.labelAnchorFn})};var T=b.MINZOOM/2+.87,M="m-0.87,.5h"+T+"v3h-"+(T+5.2)+"l"+(T/2+2.6)+",-"+(.87*T+4.5)+"l2.6,1.5l-"+T/2+","+.87*T+"Z",A="m0.87,.5h-"+T+"v3h"+(T+5.2)+"l-"+(T/2+2.6)+",-"+(.87*T+4.5)+"l-2.6,1.5l"+T/2+","+.87*T+"Z",L="m0,1l"+T/2+","+.87*T+"l2.6,-1.5l-"+(T/2+2.6)+",-"+(.87*T+4.5)+"l-"+(T/2+2.6)+","+(.87*T+4.5)+"l2.6,1.5l"+T/2+",-"+.87*T+"Z",S="m0.5,0.5h5v-2h-5v-5h-2v5h-5v2h5v5h2Z",C=!0;function O(t){n.select(t).selectAll(".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners").remove()}w.initInteractions=function(){var t,e,r,n,u,f,d,p,v,_,w=this,T=w.layers.plotbg.select("path").node(),z=w.graphDiv,D=z._fullLayout._zoomlayer,P={element:T,gd:z,plotinfo:{id:w.id,xaxis:w.xaxis,yaxis:w.yaxis},subplot:w.id,prepFn:function(i,o,l){P.xaxes=[w.xaxis],P.yaxes=[w.yaxis];var c=z._fullLayout.dragmode;P.minDrag="lasso"===c?1:void 0,"zoom"===c?(P.moveFn=B,P.clickFn=R,P.doneFn=j,function(i,o,l){var c=T.getBoundingClientRect();t=o-c.left,e=l-c.top,r={a:w.aaxis.range[0],b:w.baxis.range[1],c:w.caxis.range[1]},u=r,n=w.aaxis.range[1]-r.a,f=a(w.graphDiv._fullLayout[w.id].bgcolor).getLuminance(),d="M0,"+w.h+"L"+w.w/2+", 0L"+w.w+","+w.h+"Z",p=!1,v=D.append("path").attr("class","zoombox").attr("transform","translate("+w.x0+", "+w.y0+")").style({fill:f>.2?"rgba(0,0,0,0)":"rgba(255,255,255,0)","stroke-width":0}).attr("d",d),_=D.append("path").attr("class","zoombox-corners").attr("transform","translate("+w.x0+", "+w.y0+")").style({fill:s.background,stroke:s.defaultLine,"stroke-width":1,opacity:0}).attr("d","M0,0Z"),x(D)}(0,o,l)):"pan"===c?(P.moveFn=H,P.clickFn=R,P.doneFn=q,r={a:w.aaxis.range[0],b:w.baxis.range[1],c:w.caxis.range[1]},u=r,x(D)):"select"!==c&&"lasso"!==c||y(i,o,l,P,c)}};function E(t){var e={};return e[w.id+".aaxis.min"]=t.a,e[w.id+".baxis.min"]=t.b,e[w.id+".caxis.min"]=t.c,e}function R(t,e){var r=z._fullLayout.clickmode;O(z),2===t&&(z.emit("plotly_doubleclick",null),i.call("_guiRelayout",z,E({a:0,b:0,c:0}))),r.indexOf("select")>-1&&1===t&&m(e,z,[w.xaxis],[w.yaxis],w.id,P),r.indexOf("event")>-1&&g.click(z,e,w.id)}function I(t,e){return 1-e/w.h}function F(t,e){return 1-(t+(w.h-e)/Math.sqrt(3))/w.w}function N(t,e){return(t-(w.h-e)/Math.sqrt(3))/w.w}function B(a,i){var o=t+a,l=e+i,s=Math.max(0,Math.min(1,I(0,e),I(0,l))),c=Math.max(0,Math.min(1,F(t,e),F(o,l))),h=Math.max(0,Math.min(1,N(t,e),N(o,l))),g=(s/2+h)*w.w,y=(1-s/2-c)*w.w,m=(g+y)/2,x=y-g,T=(1-s)*w.h,C=T-x/k;x.2?"rgba(0,0,0,0.4)":"rgba(255,255,255,0.3)").duration(200),_.transition().style("opacity",1).duration(200),p=!0)}function j(){O(z),u!==r&&(i.call("_guiRelayout",z,E(u)),C&&z.data&&z._context.showTips&&(o.notifier(l(z,"Double-click to zoom back out"),"long"),C=!1))}function H(t,e){var n=t/w.xaxis._m,a=e/w.yaxis._m,i=[(u={a:r.a-a,b:r.b+(n+a)/2,c:r.c-(n-a)/2}).a,u.b,u.c].sort(),o=i.indexOf(u.a),l=i.indexOf(u.b),s=i.indexOf(u.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),u={a:i[o],b:i[l],c:i[s]},e=(r.a-u.a)*w.yaxis._m,t=(r.c-u.c-r.b+u.b)*w.xaxis._m);var f="translate("+(w.x0+t)+","+(w.y0+e)+")";w.plotContainer.selectAll(".scatterlayer,.maplayer").attr("transform",f);var d="translate("+-t+","+-e+")";w.clipDefRelative.select("path").attr("transform",d),w.aaxis.range=[u.a,w.sum-u.b-u.c],w.baxis.range=[w.sum-u.a-u.c,u.b],w.caxis.range=[w.sum-u.a-u.b,u.c],w.drawAxes(!1),w._hasClipOnAxisFalse&&w.plotContainer.select(".scatterlayer").selectAll(".trace").call(c.hideOutsideRangePoints,w)}function q(){i.call("_guiRelayout",z,E(u))}T.onmousemove=function(t){g.hover(z,t,w.id),z._fullLayout._lasthover=T,z._fullLayout._hoversubplot=w.id},T.onmouseout=function(t){z._dragging||h.unhover(z,t)},h.init(P)}},{"../../components/color":51,"../../components/dragelement":69,"../../components/drawing":72,"../../components/fx":90,"../../components/titles":139,"../../lib":168,"../../lib/extend":162,"../../registry":257,"../cartesian/axes":212,"../cartesian/constants":218,"../cartesian/select":230,"../cartesian/set_convert":231,"../plots":245,d3:16,tinycolor2:34}],257:[function(t,e,r){"use strict";var n=t("./lib/loggers"),a=t("./lib/noop"),i=t("./lib/push_unique"),o=t("./lib/is_plain_object"),l=t("./lib/extend"),s=t("./plots/attributes"),c=t("./plots/layout_attributes"),u=l.extendFlat,f=l.extendDeepAll;function d(t){var e=t.name,a=t.categories,i=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 a in v(t),r.subplotsRegistry[e]=t,r.componentsRegistry)x(a,t.name)}(t.basePlotModule);for(var o={},l=0;l-1&&(u[d[r]].title={text:""});for(r=0;rpath, .legendlines>path, .cbfill").each(function(){var t=n.select(this),e=this.style.fill;e&&-1!==e.indexOf("url(")&&t.style("fill",e.replace(s,"TOBESTRIPPED"));var r=this.style.stroke;r&&-1!==r.indexOf("url(")&&t.style("stroke",r.replace(s,"TOBESTRIPPED"))}),"pdf"!==e&&"eps"!==e||d.selectAll("#MathJax_SVG_glyphs path").attr("stroke-width",0),d.node().setAttributeNS(l.xmlns,"xmlns",l.svg),d.node().setAttributeNS(l.xmlns,"xmlns:xlink",l.xlink),"svg"===e&&r&&(d.attr("width",r*h),d.attr("height",r*g),d.attr("viewBox","0 0 "+h+" "+g));var _=(new window.XMLSerializer).serializeToString(d.node());return _=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}(_),_=(_=_.replace(/&(?!\w+;|\#[0-9]+;| \#x[0-9A-F]+;)/g,"&")).replace(c,"'"),a.isIE()&&(_=(_=(_=_.replace(/"/gi,"'")).replace(/(\('#)([^']*)('\))/gi,'("#$2")')).replace(/(\\')/gi,'"')),_}},{"../components/color":51,"../components/drawing":72,"../constants/xmlns_namespaces":150,"../lib":168,d3:16}],266:[function(t,e,r){"use strict";var n=t("../../lib").mergeArray;e.exports=function(t,e){for(var r=0;r0&&d.s>0||(u=!1)}s._extremes[e._id]=l.findExtremes(e,c,{tozero:!u,padded:!0})}}function v(t,e,r){for(var n=r.traces,a=0;ad+u||!n(f))}for(var h=0;h0&&w.s>0||(x=!1)}}v._extremes[e._id]=l.findExtremes(e,y,{tozero:!x,padded:b})}}function m(t){return t._id.charAt(0)}e.exports={crossTraceCalc:function(t,e){for(var r=e.xaxis,n=e.yaxis,a=t._fullData,i=t.calcdata,l=[],s=[],u=0;ui))return e}return void 0!==r?r:t.dflt},r.coerceColor=function(t,e,r){return a(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.01?C:function(t,e){return Math.abs(t-e)>=2?C(t):t>e?Math.ceil(t):Math.floor(t)};_=S(_,w),w=S(w,_),k=S(k,T),T=S(T,k)}i.ensureSingle(M,"path").style("vector-effect","non-scaling-stroke").attr("d","M"+_+","+k+"V"+T+"H"+w+"V"+k+"Z").call(s.setClipUrl,e.layerClipId,t),function(t,e,r,n,a,l,c,u){var y;function m(e,r,n){var a=i.ensureSingle(e,"text").text(r).attr({class:"bartext bartext-"+y,transform:"","text-anchor":"middle","data-notex":1}).call(s.font,n).call(o.convertToTspans,t);return a}var x=r[0].trace,b=x.orientation,_=function(t,e){var r=p.getValue(t.text,e);return p.coerceString(f,r)}(x,n);if(y=function(t,e){var r=p.getValue(t.textposition,e);return p.coerceEnumerated(d,r)}(x,n),!_||"none"===y)return void e.select("text").remove();var w,k,T,M,A,L,S=t._fullLayout.font,C=h.getBarColor(r[n],x),O=h.getInsideTextFont(x,n,S,C),z=h.getOutsideTextFont(x,n,S),D=t._fullLayout.barmode,P="relative"===D,E="stack"===D||P,R=r[n],I=!E||R._outmost,F=Math.abs(l-a)-2*g,N=Math.abs(u-c)-2*g;"outside"===y&&(I||R.hasB||(y="inside"));if("auto"===y)if(I){y="inside",w=m(e,_,O),k=s.bBox(w.node()),T=k.width,M=k.height;var B=T>0&&M>0,j=T<=F&&M<=N,H=T<=N&&M<=F,q="h"===b?F>=T*(N/M):N>=M*(F/T);B&&(j||H||q)?y="inside":(y="outside",w.remove(),w=null)}else y="inside";if(!w&&(w=m(e,_,"outside"===y?z:O),k=s.bBox(w.node()),T=k.width,M=k.height,T<=0||M<=0))return void w.remove();"outside"===y?(L="both"===x.constraintext||"outside"===x.constraintext,A=function(t,e,r,n,a,i,o){var l,s="h"===i?Math.abs(n-r):Math.abs(e-t);s>2*g&&(l=g);var c=1;o&&(c="h"===i?Math.min(1,s/a.height):Math.min(1,s/a.width));var u,f,d,p,h=(a.left+a.right)/2,y=(a.top+a.bottom)/2;u=c*a.width,f=c*a.height,"h"===i?er?(d=(t+e)/2,p=n+l+f/2):(d=(t+e)/2,p=n-l-f/2);return v(h,y,d,p,c,!1)}(a,l,c,u,k,b,L)):(L="both"===x.constraintext||"inside"===x.constraintext,A=function(t,e,r,n,a,i,o){var l,s,c,u,f,d,p,h=a.width,y=a.height,m=(a.left+a.right)/2,x=(a.top+a.bottom)/2,b=Math.abs(e-t),_=Math.abs(n-r);b>2*g&&_>2*g?(b-=2*(f=g),_-=2*f):f=0;h<=b&&y<=_?(d=!1,p=1):h<=_&&y<=b?(d=!0,p=1):hr?(c=(t+e)/2,u=n-f-s/2):(c=(t+e)/2,u=n+f+s/2);return v(m,x,c,u,p,d)}(a,l,c,u,k,b,L));w.attr("transform",A)}(t,M,r,u,_,w,k,T),e.layerClipId&&s.hideOutsideRangePoint(c,M.select("text"),y,m,b.xcalendar,b.ycalendar)}else M.remove();function C(t){return 0===x.bargap&&0===x.bargroupgap?n.round(Math.round(t)-L,2):t}});var w=!1===u.trace.cliponaxis;s.setClipUrl(c,w?null:e.layerClipId,t)});c.getComponentMethod("errorbars","plot")(t,b,e)}},{"../../components/color":51,"../../components/drawing":72,"../../lib":168,"../../lib/svg_text_utils":189,"../../registry":257,"./attributes":267,"./helpers":272,"./style":280,d3:16,"fast-isnumeric":18}],278:[function(t,e,r){"use strict";e.exports=function(t,e){var r,n=t.cd,a=t.xaxis,i=t.yaxis,o=[];if(!1===e)for(r=0;r1||0===i.bargap&&0===i.bargroupgap&&!t[0].trace.marker.line.width)&&n.select(this).attr("shape-rendering","crispEdges")}),r.selectAll("g.points").each(function(e){p(n.select(this),e[0].trace,t)}),l.getComponentMethod("errorbars","style")(r)},styleOnSelect:function(t,e){var r=e[0].node3,a=e[0].trace;a.selectedpoints?function(t,e,r){i.selectedPointStyle(t.selectAll("path"),e),function(t,e,r){t.each(function(t){var a,l=n.select(this);if(t.selected){a=o.extendFlat({},h(l,t,e,r));var s=e.selected.textfont&&e.selected.textfont.color;s&&(a.color=s),i.font(l,a)}else i.selectedTextStyle(l,e)})}(t.selectAll("text"),e,r)}(r,a,t):p(r,a,t)},getInsideTextFont:v,getOutsideTextFont:y,getBarColor:x}},{"../../components/color":51,"../../components/drawing":72,"../../lib":168,"../../registry":257,"./attributes":267,"./helpers":272,d3:16}],281:[function(t,e,r){"use strict";var n=t("../../components/color"),a=t("../../components/colorscale/helpers").hasColorscale,i=t("../../components/colorscale/defaults");e.exports=function(t,e,r,o,l){r("marker.color",o),a(t,"marker")&&i(t,e,l,r,{prefix:"marker.",cLetter:"c"}),r("marker.line.color",n.defaultLine),a(t,"marker.line")&&i(t,e,l,r,{prefix:"marker.line.",cLetter:"c"}),r("marker.line.width"),r("marker.opacity"),r("selected.marker.color"),r("unselected.marker.color")}},{"../../components/color":51,"../../components/colorscale/defaults":61,"../../components/colorscale/helpers":62}],282:[function(t,e,r){"use strict";var n=t("../scatter/attributes"),a=t("../../components/color/attributes"),i=t("../../lib/extend").extendFlat,o=n.marker,l=o.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"},name:{valType:"string",editType:"calc+clearAxisTypes"},text:i({},n.text,{}),whiskerwidth:{valType:"number",min:0,max:1,dflt:.5,editType:"calc"},notched:{valType:"boolean",editType:"calc"},notchwidth:{valType:"number",min:0,max:.5,dflt:.25,editType:"calc"},boxpoints:{valType:"enumerated",values:["all","outliers","suspectedoutliers",!1],dflt:"outliers",editType:"calc"},boxmean:{valType:"enumerated",values:[!0,"sd",!1],dflt:!1,editType:"calc"},jitter:{valType:"number",min:0,max:1,editType:"calc"},pointpos:{valType:"number",min:-2,max:2,editType:"calc"},orientation:{valType:"enumerated",values:["v","h"],editType:"calc+clearAxisTypes"},width:{valType:"number",min:0,dflt:0,editType:"calc"},marker:{outliercolor:{valType:"color",dflt:"rgba(0, 0, 0, 0)",editType:"style"},symbol:i({},o.symbol,{arrayOk:!1,editType:"plot"}),opacity:i({},o.opacity,{arrayOk:!1,dflt:1,editType:"style"}),size:i({},o.size,{arrayOk:!1,editType:"calc"}),color:i({},o.color,{arrayOk:!1,editType:"style"}),line:{color:i({},l.color,{arrayOk:!1,dflt:a.defaultLine,editType:"style"}),width:i({},l.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,selected:{marker:n.selected.marker,editType:"style"},unselected:{marker:n.unselected.marker,editType:"style"},hoveron:{valType:"flaglist",flags:["boxes","points"],dflt:"boxes+points",editType:"style"}}},{"../../components/color/attributes":50,"../../lib/extend":162,"../scatter/attributes":367}],283:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("../../lib"),i=a._,o=t("../../plots/cartesian/axes");function l(t,e,r){var n={text:"tx"};for(var a in n)Array.isArray(e[a])&&(t[n[a]]=e[a][r])}function s(t,e){return t.v-e.v}function c(t){return t.v}e.exports=function(t,e){var r,u,f,d,p,h=t._fullLayout,g=o.getFromId(t,e.xaxis||"x"),v=o.getFromId(t,e.yaxis||"y"),y=[],m="violin"===e.type?"_numViolins":"_numBoxes";"h"===e.orientation?(u=g,f="x",d=v,p="y"):(u=v,f="y",d=g,p="x");var x,b=u.makeCalcdata(e,f),_=function(t,e,r,i,o){if(e in t)return r.makeCalcdata(t,e);var l;l=e+"0"in t?t[e+"0"]:"name"in t&&("category"===r.type||n(t.name)&&-1!==["linear","log"].indexOf(r.type)||a.isDateTime(t.name)&&"date"===r.type)?t.name:o;var s="multicategory"===r.type?r.r2c_just_indices(l):r.d2c(l,0,t[e+"calendar"]);return i.map(function(){return s})}(e,p,d,b,h[m]),w=a.distinctVals(_),k=w.vals,T=w.minDiff/2,M=function(t,e){for(var r=t.length,n=new Array(r+1),a=0;a=0&&Cx.uf};for(r=0;r0){var D=L[r].sort(s),P=D.map(c),E=P.length;(x={}).pos=k[r],x.pts=D,x.min=P[0],x.max=P[E-1],x.mean=a.mean(P,E),x.sd=a.stdev(P,E,x.mean),x.q1=a.interp(P,.25),x.med=a.interp(P,.5),x.q3=a.interp(P,.75),x.lf=Math.min(x.q1,P[Math.min(a.findBin(2.5*x.q1-1.5*x.q3,P,!0)+1,E-1)]),x.uf=Math.max(x.q3,P[Math.max(a.findBin(2.5*x.q3-1.5*x.q1,P),0)]),x.lo=4*x.q1-3*x.q3,x.uo=4*x.q3-3*x.q1;var R=1.57*(x.q3-x.q1)/Math.sqrt(E);x.ln=x.med-R,x.un=x.med+R,x.pts2=D.filter(z),y.push(x)}!function(t,e){if(a.isArrayOrTypedArray(e.selectedpoints))for(var r=0;r0?(y[0].t={num:h[m],dPos:T,posLetter:p,valLetter:f,labels:{med:i(t,"median:"),min:i(t,"min:"),q1:i(t,"q1:"),q3:i(t,"q3:"),max:i(t,"max:"),mean:"sd"===e.boxmean?i(t,"mean \xb1 \u03c3:"):i(t,"mean:"),lf:i(t,"lower fence:"),uf:i(t,"upper fence:")}},h[m]++,y):[{t:{empty:!0}}]}},{"../../lib":168,"../../plots/cartesian/axes":212,"fast-isnumeric":18}],284:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/axes"),a=t("../../lib"),i=["v","h"];function o(t,e,r,i){var o,l,s,c=e.calcdata,u=e._fullLayout,f=i._id,d=f.charAt(0),p="violin"===t?"_numViolins":"_numBoxes",h=[],g=0;for(o=0;o1,b=1-u[t+"gap"],_=1-u[t+"groupgap"];for(o=0;o0){var j=S.pointpos,H=S.jitter,q=S.marker.size/2,V=0;j+H>=0&&((V=N*(j+H))>A?(B=!0,I=q,E=V):V>D&&(I=q,E=A)),V<=A&&(E=A);var U=0;j-H<=0&&((U=-N*(j-H))>L?(B=!0,F=q,R=U):U>P&&(F=q,R=L)),U<=L&&(R=L)}else E=A,R=L;var G=s[0].pos,Z=s[s.length-1].pos;S._extremes[f]=n.findExtremes(i,[G,Z],{padded:B,vpadminus:R,vpadplus:E,ppadminus:{x:F,y:I}[d],ppadplus:{x:I,y:F}[d]})}}}e.exports={crossTraceCalc:function(t,e){for(var r=t.calcdata,n=e.xaxis,a=e.yaxis,l=0;lt.lo&&(_.so=!0)}return i});h.enter().append("path").classed("point",!0),h.exit().remove(),h.call(i.translatePoints,s,c)}function u(t,e,r,i){var o,l,s=e.pos,c=e.val,u=i.bPos,f=i.bPosPxOffset||0,d=r.boxmean||(r.meanline||{}).visible;Array.isArray(i.bdPos)?(o=i.bdPos[0],l=i.bdPos[1]):(o=i.bdPos,l=i.bdPos);var p=t.selectAll("path.mean").data("box"===r.type&&r.boxmean||"violin"===r.type&&r.box.visible&&r.meanline.visible?a.identity:[]);p.enter().append("path").attr("class","mean").style({fill:"none","vector-effect":"non-scaling-stroke"}),p.exit().remove(),p.each(function(t){var e=s.c2p(t.pos+u,!0)+f,a=s.c2p(t.pos+u-o,!0)+f,i=s.c2p(t.pos+u+l,!0)+f,p=c.c2p(t.mean,!0),h=c.c2p(t.mean-t.sd,!0),g=c.c2p(t.mean+t.sd,!0);"h"===r.orientation?n.select(this).attr("d","M"+p+","+a+"V"+i+("sd"===d?"m0,0L"+h+","+e+"L"+p+","+a+"L"+g+","+e+"Z":"")):n.select(this).attr("d","M"+a+","+p+"H"+i+("sd"===d?"m0,0L"+e+","+h+"L"+a+","+p+"L"+e+","+g+"Z":""))})}e.exports={plot:function(t,e,r,i){var o=e.xaxis,l=e.yaxis;a.makeTraceGroups(i,r,"trace boxes").each(function(t){var r,a,i=n.select(this),f=t[0],d=f.t,p=f.trace;e.isRangePlot||(f.node3=i),d.wdPos=d.bdPos*p.whiskerwidth,!0!==p.visible||d.empty?i.remove():("h"===p.orientation?(r=l,a=o):(r=o,a=l),s(i,{pos:r,val:a},p,d),c(i,{x:o,y:l},p,d),u(i,{pos:r,val:a},p,d))})},plotBoxAndWhiskers:s,plotPoints:c,plotBoxMean:u}},{"../../components/drawing":72,"../../lib":168,d3:16}],292:[function(t,e,r){"use strict";e.exports=function(t,e){var r,n,a=t.cd,i=t.xaxis,o=t.yaxis,l=[];if(!1===e)for(r=0;r":f.value>d&&(l.prefixBoundary=!0);break;case"<":f.valued)&&(l.prefixBoundary=!0);break;case"][":i=Math.min.apply(null,f.value),o=Math.max.apply(null,f.value),id&&(l.prefixBoundary=!0)}}},{}],297:[function(t,e,r){"use strict";var n=t("../../components/colorbar/draw"),a=t("./make_color_map"),i=t("./end_plus");e.exports=function(t,e){var r=e[0].trace,o="cb"+r.uid;if(t._fullLayout._infolayer.selectAll("."+o).remove(),r.showscale){var l=e[0].t.cb=n(t,o),s=r.contours,c=r.line,u=s.size||1,f=s.coloring,d=a(r,{isColorbar:!0});l.fillgradient("heatmap"===f?r.colorscale:"").zrange("heatmap"===f?[r.zmin,r.zmax]:"").fillcolor("fill"===f?d:"").line({color:"lines"===f?d:c.color,width:!1!==s.showlines?c.width:0,dash:c.dash}).levels({start:s.start,end:i(s),size:u}).options(r.colorbar)()}}},{"../../components/colorbar/draw":56,"./end_plus":305,"./make_color_map":310}],298:[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}}},{}],299:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("./label_defaults"),i=t("../../components/color"),o=i.addOpacity,l=i.opacity,s=t("../../constants/filter_ops"),c=s.CONSTRAINT_REDUCTION,u=s.COMPARISON_OPS2;e.exports=function(t,e,r,i,s,f){var d,p,h,g=e.contours,v=r("contours.operation");(g._operation=c[v],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),"="===v?d=g.showlines=!0:(d=r("contours.showlines"),h=r("fillcolor",o((t.line||{}).color||s,.5))),d)&&(p=r("line.color",h&&l(h)?o(e.fillcolor,1):s),r("line.width",2),r("line.dash"));r("line.smoothing"),a(r,i,p,f)}},{"../../components/color":51,"../../constants/filter_ops":147,"./label_defaults":309,"fast-isnumeric":18}],300:[function(t,e,r){"use strict";var n=t("../../constants/filter_ops"),a=t("fast-isnumeric");function i(t,e){var r,i=Array.isArray(e);function o(t){return a(t)?+t:null}return-1!==n.COMPARISON_OPS2.indexOf(t)?r=o(i?e[0]:e):-1!==n.INTERVAL_OPS.indexOf(t)?r=i?[o(e[0]),o(e[1])]:[o(e),o(e)]:-1!==n.SET_OPS.indexOf(t)&&(r=i?e.map(o):[o(e)]),r}function o(t){return function(e){e=i(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 l(t){return function(e){return{start:e=i(t,e),end:1/0,size:1/0}}}e.exports={"[]":o("[]"),"][":o("]["),">":l(">"),"<":l("<"),"=":l("=")}},{"../../constants/filter_ops":147,"fast-isnumeric":18}],301:[function(t,e,r){"use strict";e.exports=function(t,e,r,n){var a=n("contours.start"),i=n("contours.end"),o=!1===a||!1===i,l=r("contours.size");!(o?e.autocontour=!0:r("autocontour",!1))&&l||r("ncontours")}},{}],302:[function(t,e,r){"use strict";var n=t("../../lib");function a(t){return n.extendFlat({},t,{edgepaths:n.extendDeep([],t.edgepaths),paths:n.extendDeep([],t.paths)})}e.exports=function(t,e){var r,i,o,l=function(t){return t.reverse()},s=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."),i=t[0],r=0;r1e3){n.warn("Too many contours, clipping at 1000",t);break}return s}},{"../../lib":168,"./constraint_mapping":300,"./end_plus":305}],305:[function(t,e,r){"use strict";e.exports=function(t){return t.end+t.size/1e6}},{}],306:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./constants");function i(t,e,r,n){return Math.abs(t[0]-e[0])20&&e?208===t||1114===t?n=0===r[0]?1:-1:i=0===r[1]?1:-1:-1!==a.BOTTOMSTART.indexOf(t)?i=1:-1!==a.LEFTSTART.indexOf(t)?n=1:-1!==a.TOPSTART.indexOf(t)?i=-1:n=-1;return[n,i]}(d,r,e),h=[l(t,e,[-p[0],-p[1]])],g=p.join(","),v=t.z.length,y=t.z[0].length;for(c=0;c<1e4;c++){if(d>20?(d=a.CHOOSESADDLE[d][(p[0]||p[1])<0?0:1],t.crossings[f]=a.SADDLEREMAINDER[d]):delete t.crossings[f],!(p=a.NEWDELTA[d])){n.log("Found bad marching index:",d,e,t.level);break}h.push(l(t,e,p)),e[0]+=p[0],e[1]+=p[1],i(h[h.length-1],h[h.length-2],o,s)&&h.pop(),f=e.join(",");var m=p[0]&&(e[0]<0||e[0]>y-2)||p[1]&&(e[1]<0||e[1]>v-2);if(f===u&&p.join(",")===g||r&&m)break;d=t.crossings[f]}1e4===c&&n.log("Infinite loop in contour?");var x,b,_,w,k,T,M,A,L,S,C,O,z,D,P,E=i(h[0],h[h.length-1],o,s),R=0,I=.2*t.smoothing,F=[],N=0;for(c=1;c=N;c--)if((x=F[c])=N&&x+F[b]A&&L--,t.edgepaths[L]=C.concat(h,S));break}q||(t.edgepaths[A]=h.concat(S))}for(A=0;At?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,i,o,l,s,c,u,f,d=t[0].z,p=d.length,h=d[0].length,g=2===p||2===h;for(r=0;rt.level}return r?"M"+e.join("L")+"Z":""}(t,e),d=0,p=t.edgepaths.map(function(t,e){return e}),h=!0;function g(t){return Math.abs(t[1]-e[2][1])<.01}function v(t){return Math.abs(t[0]-e[0][0])<.01}function y(t){return Math.abs(t[0]-e[2][0])<.01}for(;p.length;){for(c=i.smoothopen(t.edgepaths[d],t.smoothing),f+=h?c:c.replace(/^M/,"L"),p.splice(p.indexOf(d),1),r=t.edgepaths[d][t.edgepaths[d].length-1],l=-1,o=0;o<4;o++){if(!r){a.log("Missing end?",d,t);break}for(u=r,Math.abs(u[1]-e[0][1])<.01&&!y(r)?n=e[1]:v(r)?n=e[0]:g(r)?n=e[3]:y(r)&&(n=e[2]),s=0;s=0&&(n=m,l=s):Math.abs(r[1]-n[1])<.01?Math.abs(r[1]-m[1])<.01&&(m[0]-r[0])*(n[0]-m[0])>=0&&(n=m,l=s):a.log("endpt to newendpt is not vert. or horz.",r,n,m)}if(r=n,l>=0)break;f+="L"+n}if(l===t.edgepaths.length){a.log("unclosed perimeter path");break}d=l,(h=-1===p.indexOf(d))&&(d=p[0],f+="Z")}for(d=0;dn.center?n.right-l:l-n.left)/(u+Math.abs(Math.sin(c)*o)),p=(s>n.middle?n.bottom-s:s-n.top)/(Math.abs(f)+Math.cos(c)*o);if(d<1||p<1)return 1/0;var h=v.EDGECOST*(1/(d-1)+1/(p-1));h+=v.ANGLECOST*c*c;for(var g=l-u,y=s-f,m=l+u,x=s+f,b=0;b2*v.MAXCOST)break;p&&(l/=2),s=(o=c-l/2)+1.5*l}if(d<=v.MAXCOST)return u},r.addLabelData=function(t,e,r,n){var a=e.width/2,i=e.height/2,o=t.x,l=t.y,s=t.theta,c=Math.sin(s),u=Math.cos(s),f=a*u,d=i*c,p=a*c,h=-i*u,g=[[o-f-d,l-p-h],[o+f-d,l+p-h],[o+f+d,l+p+h],[o-f+d,l-p+h]];r.push({text:e.text,x:o,y:l,dy:e.dy,theta:s,level:e.level,width:e.width,height:e.height}),n.push(g)},r.drawLabels=function(t,e,r,i,l){var s=t.selectAll("text").data(e,function(t){return t.text+","+t.x+","+t.y+","+t.theta});if(s.exit().remove(),s.enter().append("text").attr({"data-notex":1,"text-anchor":"middle"}).each(function(t){var e=t.x+Math.sin(t.theta)*t.dy,a=t.y-Math.cos(t.theta)*t.dy;n.select(this).text(t.text).attr({x:e,y:a,transform:"rotate("+180*t.theta/Math.PI+" "+e+" "+a+")"}).call(o.convertToTspans,r)}),l){for(var c="",u=0;ue.end&&(e.start=e.end=(e.start+e.end)/2),t._input.contours||(t._input.contours={}),a.extendFlat(t._input.contours,{start:e.start,end:e.end,size:e.size}),t._input.autocontour=!0}else if("constraint"!==e.type){var s,c=e.start,u=e.end,f=t._input.contours;if(c>u&&(e.start=f.start=u,u=e.end=f.end=c,c=e.start),!(e.size>0))s=c===u?1:i(c,u,t.ncontours).dtick,f.size=e.size=s}}},{"../../lib":168,"../../plots/cartesian/axes":212}],314:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../components/drawing"),i=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,i=r.contours,l=r.line,s=i.size||1,c=i.start,u="constraint"===i.type,f=!u&&"lines"===i.coloring,d=!u&&"fill"===i.coloring,p=f||d?o(r):null;e.selectAll("g.contourlevel").each(function(t){n.select(this).selectAll("path").call(a.lineGroupStyle,l.width,f?p(t.level):l.color,l.dash)});var h=i.labelfont;if(e.selectAll("g.contourlabels text").each(function(t){a.font(n.select(this),{family:h.family,size:h.size,color:h.color||(f?p(t.level):l.color)})}),u)e.selectAll("g.contourfill path").style("fill",r.fillcolor);else if(d){var g;e.selectAll("g.contourfill path").style("fill",function(t){return void 0===g&&(g=t.level),p(t.level+.5*s)}),void 0===g&&(g=c),e.selectAll("g.contourbg path").style("fill",p(g-.5*s))}}),i(t)}},{"../../components/drawing":72,"../heatmap/style":328,"./make_color_map":310,d3:16}],315:[function(t,e,r){"use strict";var n=t("../../components/colorscale/defaults"),a=t("./label_defaults");e.exports=function(t,e,r,i,o){var l,s=r("contours.coloring"),c="";"fill"===s&&(l=r("contours.showlines")),!1!==l&&("lines"!==s&&(c=r("line.color","#000")),r("line.width",.5),r("line.dash")),"none"!==s&&(!0!==t.showlegend&&(e.showlegend=!1),e._dfltShowLegend=!1,n(t,e,i,r,{prefix:"",cLetter:"z"})),r("line.smoothing"),a(r,i,c,o)}},{"../../components/colorscale/defaults":61,"./label_defaults":309}],316:[function(t,e,r){"use strict";var n=t("../scatter/attributes"),a=t("../../components/colorscale/attributes"),i=t("../../components/colorbar/attributes"),o=t("../../lib/extend").extendFlat;e.exports=o({z:{valType:"data_array",editType:"calc"},x:o({},n.x,{impliedEdits:{xtype:"array"}}),x0:o({},n.x0,{impliedEdits:{xtype:"scaled"}}),dx:o({},n.dx,{impliedEdits:{xtype:"scaled"}}),y:o({},n.y,{impliedEdits:{ytype:"array"}}),y0:o({},n.y0,{impliedEdits:{ytype:"scaled"}}),dy:o({},n.dy,{impliedEdits:{ytype:"scaled"}}),text:{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"},connectgaps:{valType:"boolean",dflt:!1,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"},transforms:void 0},a("",{cLetter:"z",autoColorDflt:!1}),{colorbar:i})},{"../../components/colorbar/attributes":52,"../../components/colorscale/attributes":58,"../../lib/extend":162,"../scatter/attributes":367}],317:[function(t,e,r){"use strict";var n=t("../../registry"),a=t("../../lib"),i=t("../../plots/cartesian/axes"),o=t("../histogram2d/calc"),l=t("../../components/colorscale/calc"),s=t("./convert_column_xyz"),c=t("./clean_2d_array"),u=t("./interp2d"),f=t("./find_empties"),d=t("./make_bound_array");e.exports=function(t,e){var r,p,h,g,v,y,m,x,b,_=i.getFromId(t,e.xaxis||"x"),w=i.getFromId(t,e.yaxis||"y"),k=n.traceIs(e,"contour"),T=n.traceIs(e,"histogram"),M=n.traceIs(e,"gl2d"),A=k?"best":e.zsmooth;if(_._minDtick=0,w._minDtick=0,T)r=(b=o(t,e)).x,p=b.x0,h=b.dx,g=b.y,v=b.y0,y=b.dy,m=b.z;else{var L=e.z;a.isArray1D(L)?(s(e,_,w,"x","y",["z"]),r=e._x,g=e._y,L=e._z):(r=e.x?_.makeCalcdata(e,"x"):[],g=e.y?w.makeCalcdata(e,"y"):[]),p=e.x0||0,h=e.dx||1,v=e.y0||0,y=e.dy||1,m=c(L,e.transpose),(k||e.connectgaps)&&(e._emptypoints=f(m),u(m,e._emptypoints))}function S(t){A=e._input.zsmooth=e.zsmooth=!1,a.warn('cannot use zsmooth: "fast": '+t)}if("fast"===A)if("log"===_.type||"log"===w.type)S("log axis found");else if(!T){if(r.length){var C=(r[r.length-1]-r[0])/(r.length-1),O=Math.abs(C/100);for(x=0;xO){S("x scale is not linear");break}}if(g.length&&"fast"===A){var z=(g[g.length-1]-g[0])/(g.length-1),D=Math.abs(z/100);for(x=0;xD){S("y scale is not linear");break}}}var P=a.maxRowLength(m),E="scaled"===e.xtype?"":r,R=d(e,E,p,h,P,_),I="scaled"===e.ytype?"":g,F=d(e,I,v,y,m.length,w);M||(e._extremes[_._id]=i.findExtremes(_,R),e._extremes[w._id]=i.findExtremes(w,F));var N={x:R,y:F,z:m,text:e._text||e.text};if(E&&E.length===R.length-1&&(N.xCenter=E),I&&I.length===F.length-1&&(N.yCenter=I),T&&(N.xRanges=b.xRanges,N.yRanges=b.yRanges,N.pts=b.pts),k&&"constraint"===e.contours.type||l(t,e,{vals:m,containerStr:"",cLetter:"z"}),k&&e.contours&&"heatmap"===e.contours.coloring){var B={type:"contour"===e.type?"heatmap":"histogram2d",xcalendar:e.xcalendar,ycalendar:e.ycalendar};N.xfill=d(B,E,p,h,P,_),N.yfill=d(B,I,v,y,m.length,w)}return[N]}},{"../../components/colorscale/calc":59,"../../lib":168,"../../plots/cartesian/axes":212,"../../registry":257,"../histogram2d/calc":345,"./clean_2d_array":318,"./convert_column_xyz":320,"./find_empties":322,"./interp2d":325,"./make_bound_array":326}],318:[function(t,e,r){"use strict";var n=t("fast-isnumeric");e.exports=function(t,e){var r,a,i,o,l,s;function c(t){if(n(t))return+t}if(e){for(r=0,l=0;l=0;o--)(l=((f[[(r=(i=d[o])[0])-1,a=i[1]]]||g)[2]+(f[[r+1,a]]||g)[2]+(f[[r,a-1]]||g)[2]+(f[[r,a+1]]||g)[2])/20)&&(s[i]=[r,a,l],d.splice(o,1),c=!0);if(!c)throw"findEmpties iterated with no new neighbors";for(i in s)f[i]=s[i],u.push(s[i])}return u.sort(function(t,e){return e[2]-t[2]})}},{"../../lib":168}],323:[function(t,e,r){"use strict";var n=t("../../components/fx"),a=t("../../lib"),i=t("../../plots/cartesian/axes");e.exports=function(t,e,r,o,l,s){var c,u,f,d,p=t.cd[0],h=p.trace,g=t.xa,v=t.ya,y=p.x,m=p.y,x=p.z,b=p.xCenter,_=p.yCenter,w=p.zmask,k=[h.zmin,h.zmax],T=h.zhoverformat,M=y,A=m;if(!1!==t.index){try{f=Math.round(t.index[1]),d=Math.round(t.index[0])}catch(e){return void a.error("Error hovering on heatmap, pointNumber must be [row,col], found:",t.index)}if(f<0||f>=x[0].length||d<0||d>x.length)return}else{if(n.inbox(e-y[0],e-y[y.length-1],0)>0||n.inbox(r-m[0],r-m[m.length-1],0)>0)return;if(s){var L;for(M=[2*y[0]-y[1]],L=1;Lg&&(y=Math.max(y,Math.abs(t[i][o]-h)/(v-g))))}return y}e.exports=function(t,e){var r,a=1;for(o(t,e),r=0;r.01;r++)a=o(t,e,i(a));return a>.01&&n.log("interp2d didn't converge quickly",a),t}},{"../../lib":168}],326:[function(t,e,r){"use strict";var n=t("../../registry"),a=t("../../lib").isArrayOrTypedArray;e.exports=function(t,e,r,i,o,l){var s,c,u,f=[],d=n.traceIs(t,"contour"),p=n.traceIs(t,"histogram"),h=n.traceIs(t,"gl2d");if(a(e)&&e.length>1&&!p&&"category"!==l.type){var g=e.length;if(!(g<=o))return d?e.slice(0,o):e.slice(0,o+1);if(d||h)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;u0;)d=p.c2p(k[m]),m--;for(d0;)y=h.c2p(T[m]),m--;if(y0&&(i=!0);for(var s=0;si){var o=i-r[t];return r[t]=i,o}}return 0},max:function(t,e,r,a){var i=a[e];if(n(i)){if(i=Number(i),!n(r[t]))return r[t]=i,i;if(r[t]c?t>o?t>1.1*a?a:t>1.1*i?i:o:t>l?l:t>s?s:c:Math.pow(10,Math.floor(Math.log(t)/Math.LN10))}function p(t,e,r,n,i,l){if(n&&t>o){var s=h(e,i,l),c=h(r,i,l),u=t===a?0:1;return s[u]!==c[u]}return Math.floor(r/t)-Math.floor(e/t)>.1}function h(t,e,r){var n=e.c2d(t,a,r).split("-");return""===n[0]&&(n.unshift(),n[0]="-"+n[0]),n}e.exports=function(t,e,r,n,i){var l,s,c=-1.1*e,d=-.1*e,p=t-d,h=r[0],g=r[1],v=Math.min(f(h+d,h+p,n,i),f(g+d,g+p,n,i)),y=Math.min(f(h+c,h+d,n,i),f(g+c,g+d,n,i));if(v>y&&yo){var m=l===a?1:6,x=l===a?"M12":"M1";return function(e,r){var o=n.c2d(e,a,i),l=o.indexOf("-",m);l>0&&(o=o.substr(0,l));var c=n.d2c(o,0,i);if(cr.r2l(z)&&(P=i.tickIncrement(P,_.size,!0,d)),L.start=r.l2r(P),O||a.nestedProperty(e,v+".start").set(L.start)}var E=_.end,R=r.r2l(A.end),I=void 0!==R;if((_.endFound||I)&&R!==r.r2l(E)){var F=I?R:a.aggNums(Math.max,null,p);L.end=r.l2r(F),I||a.nestedProperty(e,v+".start").set(L.end)}var N="autobin"+o;return!1===e._input[N]&&(e._input[v]=a.extendFlat({},e[v]||{}),delete e._input[N],delete e[N]),[L,p]}e.exports=function(t,e){if(!0===e.visible){var r,d,p,h,g=[],v=[],y=i.getFromId(t,"h"===e.orientation?e.yaxis||"y":e.xaxis||"x"),m="h"===e.orientation?"y":"x",x={x:"y",y:"x"}[m],b=e[m+"calendar"],_=e.cumulative,w=f(t,e,y,m),k=w[0],T=w[1],M="string"==typeof k.size,A=[],L=M?A:k,S=[],C=[],O=[],z=0,D=e.histnorm,P=e.histfunc,E=-1!==D.indexOf("density");_.enabled&&E&&(D=D.replace(/ ?density$/,""),E=!1);var R,I="max"===P||"min"===P?null:0,F=l.count,N=s[D],B=!1,j=function(t){return y.r2c(t,0,b)};for(a.isArrayOrTypedArray(e[x])&&"count"!==P&&(R=e[x],B="avg"===P,F=l[P]),r=j(k.start),p=j(k.end)+(r-i.tickIncrement(r,k.size,!1,b))/1e6;r=0&&h=0;n--)l(n);else if("increasing"===e){for(n=1;n=0;n--)t[n]+=t[n+1];"exclude"===r&&(t.push(0),t.shift())}}(v,_.direction,_.currentbin);var Y=Math.min(g.length,v.length),W=[],J=0,$=Y-1;for(r=0;r=J;r--)if(v[r]){$=r;break}for(r=J;r<=$;r++)if(n(g[r])&&n(v[r])){var Q={p:g[r],s:v[r],b:0};_.enabled||(Q.pts=O[r],V?Q.ph0=Q.ph1=O[r].length?T[O[r][0]]:g[r]:(Q.ph0=H(A[r]),Q.ph1=H(A[r+1],!0))),W.push(Q)}return 1===W.length&&(W[0].width1=i.tickIncrement(W[0].p,k.size,!1,b)-W[0].p),o(W,e),a.isArrayOrTypedArray(e.selectedpoints)&&a.tagSelected(W,e,Z),W}}},{"../../lib":168,"../../plots/cartesian/axes":212,"../bar/arrays_to_calcdata":266,"./average":332,"./bin_functions":334,"./bin_label_vals":335,"./norm_functions":343,"fast-isnumeric":18}],337:[function(t,e,r){"use strict";e.exports={eventDataKeys:["binNumber"]}},{}],338:[function(t,e,r){"use strict";var n=t("../../lib"),a=n.nestedProperty,i=t("./attributes"),o={x:[{aStr:"xbins.start",name:"start"},{aStr:"xbins.end",name:"end"},{aStr:"xbins.size",name:"size"},{aStr:"nbinsx",name:"nbins"}],y:[{aStr:"ybins.start",name:"start"},{aStr:"ybins.end",name:"end"},{aStr:"ybins.size",name:"size"},{aStr:"nbinsy",name:"nbins"}]};e.exports=function(t,e){var r,l,s,c,u,f,d,p=e._histogramBinOpts={},h="overlay"===e.barmode;function g(t){return n.coerce(s._input,s,i,t)}for(r=0;rM&&v.splice(M,v.length-M),m.length>M&&m.splice(M,m.length-M),c(e,"x",v,g,_,k,x),c(e,"y",m,y,w,T,b);var A=[],L=[],S=[],C="string"==typeof e.xbins.size,O="string"==typeof e.ybins.size,z=[],D=[],P=C?z:e.xbins,E=O?D:e.ybins,R=0,I=[],F=[],N=e.histnorm,B=e.histfunc,j=-1!==N.indexOf("density"),H="max"===B||"min"===B?null:0,q=i.count,V=o[N],U=!1,G=[],Z=[],X="z"in e?e.z:"marker"in e&&Array.isArray(e.marker.color)?e.marker.color:"";X&&"count"!==B&&(U="avg"===B,q=i[B]);var Y=e.xbins,W=_(Y.start),J=_(Y.end)+(W-a.tickIncrement(W,Y.size,!1,x))/1e6;for(r=W;r=0&&p<$&&h>=0&&h0?Number(h):p;else if("string"!=typeof h)u.size=p;else{var g=h.charAt(0),v=h.substr(1);((v=n(v)?Number(v):0)<=0||"date"!==s||"M"!==g||v!==Math.round(v))&&(u.size=p)}}e.exports=function(t,e){var r,n,a,i;function u(t){return o.coerce(a._input,a,l,t)}for(r=0;r")}}return v},r.crossTraceCalc=function(t){var e=t._fullLayout,r=t.calcdata,n=e.piecolorway,a=e._piecolormap;e.extendpiecolors&&(n=function(t){var e,r=JSON.stringify(t),n=s[r];if(!n){for(n=t.slice(),e=0;e0?1:-1)/2,y:i/(1+r*r/(n*n)),outside:!0}}function p(t,e){var r=t.trace,n=e.h*(r.domain.y[1]-r.domain.y[0]);return Math.min(t.titleBox.height,n/2)}function h(t){var e,r=t.pull;if(Array.isArray(r))for(r=0,e=0;er&&(r=t.pull[e]);return r}e.exports=function(t,e){var r=t._fullLayout;!function(t,e){for(var r,n,a=e._fullLayout,i=0;ia.vTotal/2?1:0)}(e),g.attr("stroke-linejoin","round"),g.each(function(){var g=n.select(this).selectAll("g.slice").data(e);g.enter().append("g").classed("slice",!0),g.exit().remove();var m=[[[],[]],[[],[]]],x=!1;g.each(function(e){if(e.hidden)n.select(this).selectAll("path,g").remove();else{e.pointNumber=e.i,e.curveNumber=y.index,m[e.pxmid[1]<0?0:1][e.pxmid[0]<0?0:1].push(e);var p=v.cx,h=v.cy,g=n.select(this),b=g.selectAll("path.surface").data([e]),_=!1,w=!1;if(b.enter().append("path").classed("surface",!0).style({"pointer-events":"all"}),g.select("path.textline").remove(),g.on("mouseover",function(){var i=t._fullLayout,o=t._fullData[y.index];if(!t._dragging&&!1!==i.hovermode){var l=o.hoverinfo;if(Array.isArray(l)&&(l=a.castHoverinfo({hoverinfo:[c.castOption(l,e.pts)],_module:y._module},i,0)),"all"===l&&(l="label+text+value+percent+name"),o.hovertemplate||"none"!==l&&"skip"!==l&&l){var s=f(e,v),d=p+e.pxmid[0]*(1-s),g=h+e.pxmid[1]*(1-s),m=r.separators,x=[];if(l&&-1!==l.indexOf("label")&&x.push(e.label),e.text=c.castOption(o.hovertext||o.text,e.pts),l&&-1!==l.indexOf("text")){var b=e.text;b&&x.push(b)}e.value=e.v,e.valueLabel=c.formatPieValue(e.v,m),l&&-1!==l.indexOf("value")&&x.push(e.valueLabel),e.percent=e.v/v.vTotal,e.percentLabel=c.formatPiePercent(e.percent,m),l&&-1!==l.indexOf("percent")&&x.push(e.percentLabel);var k=y.hoverlabel,T=k.font;a.loneHover({x0:d-s*v.r,x1:d+s*v.r,y:g,text:x.join("
"),name:o.hovertemplate||-1!==l.indexOf("name")?o.name:void 0,idealAlign:e.pxmid[0]<0?"left":"right",color:c.castOption(k.bgcolor,e.pts)||e.color,borderColor:c.castOption(k.bordercolor,e.pts),fontFamily:c.castOption(T.family,e.pts),fontSize:c.castOption(T.size,e.pts),fontColor:c.castOption(T.color,e.pts),trace:o,hovertemplate:c.castOption(o.hovertemplate,e.pts),hovertemplateLabels:e,eventData:[u(e,o)]},{container:i._hoverlayer.node(),outerContainer:i._paper.node(),gd:t}),_=!0}t.emit("plotly_hover",{points:[u(e,o)],event:n.event}),w=!0}}).on("mouseout",function(r){var i=t._fullLayout,o=t._fullData[y.index];w&&(r.originalEvent=n.event,t.emit("plotly_unhover",{points:[u(e,o)],event:n.event}),w=!1),_&&(a.loneUnhover(i._hoverlayer.node()),_=!1)}).on("click",function(){var r=t._fullLayout,i=t._fullData[y.index];t._dragging||!1===r.hovermode||(t._hoverdata=[u(e,i)],a.click(t,n.event))}),y.pull){var k=+c.castOption(y.pull,e.pts)||0;k>0&&(p+=k*e.pxmid[0],h+=k*e.pxmid[1])}e.cxFinal=p,e.cyFinal=h;var T=y.hole;if(e.v===v.vTotal){var M="M"+(p+e.px0[0])+","+(h+e.px0[1])+O(e.px0,e.pxmid,!0,1)+O(e.pxmid,e.px0,!0,1)+"Z";T?b.attr("d","M"+(p+T*e.px0[0])+","+(h+T*e.px0[1])+O(e.px0,e.pxmid,!1,T)+O(e.pxmid,e.px0,!1,T)+"Z"+M):b.attr("d",M)}else{var A=O(e.px0,e.px1,!0,1);if(T){var L=1-T;b.attr("d","M"+(p+T*e.px1[0])+","+(h+T*e.px1[1])+O(e.px1,e.px0,!1,T)+"l"+L*e.px0[0]+","+L*e.px0[1]+A+"Z")}else b.attr("d","M"+p+","+h+"l"+e.px0[0]+","+e.px0[1]+A+"Z")}var S=c.castOption(y.textposition,e.pts),C=g.selectAll("g.slicetext").data(e.text&&"none"!==S?[0]:[]);C.enter().append("g").classed("slicetext",!0),C.exit().remove(),C.each(function(){var r=l.ensureSingle(n.select(this),"text","",function(t){t.attr("data-notex",1)});r.text(e.text).attr({class:"slicetext",transform:"","text-anchor":"middle"}).call(o.font,"outside"===S?function(t,e,r){var n=c.castOption(t.outsidetextfont.color,e.pts)||c.castOption(t.textfont.color,e.pts)||r.color,a=c.castOption(t.outsidetextfont.family,e.pts)||c.castOption(t.textfont.family,e.pts)||r.family,i=c.castOption(t.outsidetextfont.size,e.pts)||c.castOption(t.textfont.size,e.pts)||r.size;return{color:n,family:a,size:i}}(y,e,t._fullLayout.font):function(t,e,r){var n=c.castOption(t.insidetextfont.color,e.pts);!n&&t._input.textfont&&(n=c.castOption(t._input.textfont.color,e.pts));var a=c.castOption(t.insidetextfont.family,e.pts)||c.castOption(t.textfont.family,e.pts)||r.family,o=c.castOption(t.insidetextfont.size,e.pts)||c.castOption(t.textfont.size,e.pts)||r.size;return{color:n||i.contrast(e.color),family:a,size:o}}(y,e,t._fullLayout.font)).call(s.convertToTspans,t);var a,u=o.bBox(r.node());"outside"===S?a=d(u,e):(a=function(t,e,r){var n=Math.sqrt(t.width*t.width+t.height*t.height),a=t.width/t.height,i=Math.PI*Math.min(e.v/r.vTotal,.5),o=1-r.trace.hole,l=f(e,r),s={scale:l*r.r*2/n,rCenter:1-l,rotate:0};if(s.scale>=1)return s;var c=a+1/(2*Math.tan(i)),u=r.r*Math.min(1/(Math.sqrt(c*c+.5)+c),o/(Math.sqrt(a*a+o/2)+a)),d={scale:2*u/t.height,rCenter:Math.cos(u/r.r)-u*a/r.r,rotate:(180/Math.PI*e.midangle+720)%180-90},p=1/a,h=p+1/(2*Math.tan(i)),g=r.r*Math.min(1/(Math.sqrt(h*h+.5)+h),o/(Math.sqrt(p*p+o/2)+p)),v={scale:2*g/t.width,rCenter:Math.cos(g/r.r)-g/a/r.r,rotate:(180/Math.PI*e.midangle+810)%180-90},y=v.scale>d.scale?v:d;return s.scale<1&&y.scale>s.scale?y:s}(u,e,v),"auto"===S&&a.scale<1&&(r.call(o.font,y.outsidetextfont),y.outsidetextfont.family===y.insidetextfont.family&&y.outsidetextfont.size===y.insidetextfont.size||(u=o.bBox(r.node())),a=d(u,e)));var g=p+e.pxmid[0]*a.rCenter+(a.x||0),m=h+e.pxmid[1]*a.rCenter+(a.y||0);a.outside&&(e.yLabelMin=m-u.height/2,e.yLabelMid=m,e.yLabelMax=m+u.height/2,e.labelExtraX=0,e.labelExtraY=0,x=!0),r.attr("transform","translate("+g+","+m+")"+(a.scale<1?"scale("+a.scale+")":"")+(a.rotate?"rotate("+a.rotate+")":"")+"translate("+-(u.left+u.right)/2+","+-(u.top+u.bottom)/2+")")})}function O(t,r,n,a){return"a"+a*v.r+","+a*v.r+" 0 "+e.largeArc+(n?" 1 ":" 0 ")+a*(r[0]-t[0])+","+a*(r[1]-t[1])}});var b=n.select(this).selectAll("g.titletext").data(y.title.text?[0]:[]);b.enter().append("g").classed("titletext",!0),b.exit().remove(),b.each(function(){var e,a=l.ensureSingle(n.select(this),"text","",function(t){t.attr("data-notex",1)}),i=r.meta?l.templateString(y.title.text,{meta:r.meta}):y.title.text;a.text(i).attr({class:"titletext",transform:"","text-anchor":"middle"}).call(o.font,y.title.font).call(s.convertToTspans,t),e="middle center"===y.title.position?function(t){var e=Math.sqrt(t.titleBox.width*t.titleBox.width+t.titleBox.height*t.titleBox.height);return{x:t.cx,y:t.cy,scale:t.trace.hole*t.r*2/e,tx:0,ty:-t.titleBox.height/2+t.trace.title.font.size}}(v):function(t,e){var r,n,a=1,i=1,o=t.trace,l={x:t.cx,y:t.cy},s={tx:0,ty:0};s.ty+=o.title.font.size,n=h(o),-1!==o.title.position.indexOf("top")?(l.y-=(1+n)*t.r,s.ty-=t.titleBox.height):-1!==o.title.position.indexOf("bottom")&&(l.y+=(1+n)*t.r);-1!==o.title.position.indexOf("left")?(r=e.w*(o.domain.x[1]-o.domain.x[0])/2+t.r,l.x-=(1+n)*t.r,s.tx+=t.titleBox.width/2):-1!==o.title.position.indexOf("center")?r=e.w*(o.domain.x[1]-o.domain.x[0]):-1!==o.title.position.indexOf("right")&&(r=e.w*(o.domain.x[1]-o.domain.x[0])/2+t.r,l.x+=(1+n)*t.r,s.tx-=t.titleBox.width/2);return a=r/t.titleBox.width,i=p(t,e)/t.titleBox.height,{x:l.x,y:l.y,scale:Math.min(a,i),tx:s.tx,ty:s.ty}}(v,r._size),a.attr("transform","translate("+e.x+","+e.y+")"+(e.scale<1?"scale("+e.scale+")":"")+"translate("+e.tx+","+e.ty+")")}),x&&function(t,e){var r,n,a,i,o,l,s,u,f,d,p,h,g;function v(t,e){return t.pxmid[1]-e.pxmid[1]}function y(t,e){return e.pxmid[1]-t.pxmid[1]}function m(t,r){r||(r={});var a,u,f,p,h,g,v=r.labelExtraY+(n?r.yLabelMax:r.yLabelMin),y=n?t.yLabelMin:t.yLabelMax,m=n?t.yLabelMax:t.yLabelMin,x=t.cyFinal+o(t.px0[1],t.px1[1]),b=v-y;if(b*s>0&&(t.labelExtraY=b),Array.isArray(e.pull))for(u=0;u=(c.castOption(e.pull,f.pts)||0)||((t.pxmid[1]-f.pxmid[1])*s>0?(p=f.cyFinal+o(f.px0[1],f.px1[1]),(b=p-y-t.labelExtraY)*s>0&&(t.labelExtraY+=b)):(m+t.labelExtraY-x)*s>0&&(a=3*l*Math.abs(u-d.indexOf(t)),h=f.cxFinal+i(f.px0[0],f.px1[0]),(g=h+a-(t.cxFinal+t.pxmid[0])-t.labelExtraX)*l>0&&(t.labelExtraX+=g)))}for(n=0;n<2;n++)for(a=n?v:y,o=n?Math.max:Math.min,s=n?1:-1,r=0;r<2;r++){for(i=r?Math.max:Math.min,l=r?1:-1,(u=t[n][r]).sort(a),f=t[1-n][r],d=f.concat(u),h=[],p=0;pMath.abs(c)?o+="l"+c*t.pxmid[0]/t.pxmid[1]+","+c+"H"+(a+t.labelExtraX+l):o+="l"+t.labelExtraX+","+s+"v"+(c-s)+"h"+l}else o+="V"+(t.yLabelMid+t.labelExtraY)+"h"+l;e.append("path").classed("textline",!0).call(i.stroke,y.outsidetextfont.color).attr({"stroke-width":Math.min(2,y.outsidetextfont.size/8),d:o,fill:"none"})}})})});setTimeout(function(){g.selectAll("tspan").each(function(){var t=n.select(this);t.attr("dy")&&t.attr("dy",t.attr("dy"))})},0)}},{"../../components/color":51,"../../components/drawing":72,"../../components/fx":90,"../../lib":168,"../../lib/svg_text_utils":189,"./event_data":358,"./helpers":359,d3:16}],364:[function(t,e,r){"use strict";var n=t("d3"),a=t("./style_one");e.exports=function(t){t._fullLayout._pielayer.selectAll(".trace").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(a,t,e)})})}},{"./style_one":365,d3:16}],365:[function(t,e,r){"use strict";var n=t("../../components/color"),a=t("./helpers").castOption;e.exports=function(t,e,r){var i=r.marker.line,o=a(i.color,e.pts)||n.defaultLine,l=a(i.width,e.pts)||0;t.style({"stroke-width":l}).call(n.fill,e.color).call(n.stroke,o)}},{"../../components/color":51,"./helpers":359}],366:[function(t,e,r){"use strict";var n=t("../../lib");e.exports=function(t,e){for(var r=0;rl&&M[v].gap;)v--;for(m=M[v].s,h=M.length-1;h>v;h--)M[h].s=m;for(;lA[u]&&u=0;a--){var i=t[a];if("scatter"===i.type&&i.xaxis===r.xaxis&&i.yaxis===r.yaxis){i.opacity=void 0;break}}}}}},{}],374:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../registry"),i=t("./attributes"),o=t("./constants"),l=t("./subtypes"),s=t("./xy_defaults"),c=t("./stack_defaults"),u=t("./marker_defaults"),f=t("./line_defaults"),d=t("./line_shape_defaults"),p=t("./text_defaults"),h=t("./fillcolor_defaults");e.exports=function(t,e,r,g){function v(r,a){return n.coerce(t,e,i,r,a)}var y=s(t,e,g,v);if(y||(e.visible=!1),e.visible){var m=c(t,e,g,v),x=!m&&yG!=(F=D[O][1])>=G&&(E=D[O-1][0],R=D[O][0],F-I&&(P=E+(R-E)*(G-I)/(F-I),H=Math.min(H,P),q=Math.max(q,P)));H=Math.max(H,0),q=Math.min(q,d._length);var Z=l.defaultLine;return l.opacity(f.fillcolor)?Z=f.fillcolor:l.opacity((f.line||{}).color)&&(Z=f.line.color),n.extendFlat(t,{distance:t.maxHoverDistance,x0:H,x1:q,y0:G,y1:G,color:Z,hovertemplate:"%{name}"}),delete t.index,f.text&&!Array.isArray(f.text)?t.text=String(f.text):t.text=f.name,[t]}}}},{"../../components/color":51,"../../components/fx":90,"../../lib":168,"../../registry":257,"./fill_hover_text":375,"./get_trace_color":377}],379:[function(t,e,r){"use strict";var n={},a=t("./subtypes");n.hasLines=a.hasLines,n.hasMarkers=a.hasMarkers,n.hasText=a.hasText,n.isBubble=a.isBubble,n.attributes=t("./attributes"),n.supplyDefaults=t("./defaults"),n.crossTraceDefaults=t("./cross_trace_defaults"),n.calc=t("./calc").calc,n.crossTraceCalc=t("./cross_trace_calc"),n.arraysToCalcdata=t("./arrays_to_calcdata"),n.plot=t("./plot"),n.colorbar=t("./marker_colorbar"),n.style=t("./style").style,n.styleOnSelect=t("./style").styleOnSelect,n.hoverPoints=t("./hover"),n.selectPoints=t("./select"),n.animatable=!0,n.moduleType="trace",n.name="scatter",n.basePlotModule=t("../../plots/cartesian"),n.categories=["cartesian","svg","symbols","errorBarsOK","showLegend","scatter-like","zoomScale"],n.meta={},e.exports=n},{"../../plots/cartesian":224,"./arrays_to_calcdata":366,"./attributes":367,"./calc":368,"./cross_trace_calc":372,"./cross_trace_defaults":373,"./defaults":374,"./hover":378,"./marker_colorbar":385,"./plot":387,"./select":388,"./style":390,"./subtypes":391}],380:[function(t,e,r){"use strict";var n=t("../../lib").isArrayOrTypedArray,a=t("../../components/colorscale/helpers").hasColorscale,i=t("../../components/colorscale/defaults");e.exports=function(t,e,r,o,l,s){var c=(t.marker||{}).color;(l("line.color",r),a(t,"line"))?i(t,e,o,l,{prefix:"line.",cLetter:"c"}):l("line.color",!n(c)&&c||r);l("line.width"),(s||{}).noDash||l("line.dash")}},{"../../components/colorscale/defaults":61,"../../components/colorscale/helpers":62,"../../lib":168}],381:[function(t,e,r){"use strict";var n=t("../../constants/numerical"),a=n.BADNUM,i=n.LOG_CLIP,o=i+.5,l=i-.5,s=t("../../lib"),c=s.segmentsIntersect,u=s.constrain,f=t("./constants");e.exports=function(t,e){var r,n,i,d,p,h,g,v,y,m,x,b,_,w,k,T,M,A,L=e.xaxis,S=e.yaxis,C="log"===L.type,O="log"===S.type,z=L._length,D=S._length,P=e.connectGaps,E=e.baseTolerance,R=e.shape,I="linear"===R,F=[],N=f.minTolerance,B=new Array(t.length),j=0;function H(e){var r=t[e];if(!r)return!1;var n=L.c2p(r.x),i=S.c2p(r.y);if(n===a){if(C&&(n=L.c2p(r.x,!0)),n===a)return!1;O&&i===a&&(n*=Math.abs(L._m*D*(L._m>0?o:l)/(S._m*z*(S._m>0?o:l)))),n*=1e3}if(i===a){if(O&&(i=S.c2p(r.y,!0)),i===a)return!1;i*=1e3}return[n,i]}function q(t,e,r,n){var a=r-t,i=n-e,o=.5-t,l=.5-e,s=a*a+i*i,c=a*o+i*l;if(c>0&&ctt||t[1]rt)return[u(t[0],K,tt),u(t[1],et,rt)]}function it(t,e){return t[0]===e[0]&&(t[0]===K||t[0]===tt)||(t[1]===e[1]&&(t[1]===et||t[1]===rt)||void 0)}function ot(t,e,r){return function(n,a){var i=at(n),o=at(a),l=[];if(i&&o&&it(i,o))return l;i&&l.push(i),o&&l.push(o);var c=2*s.constrain((n[t]+a[t])/2,e,r)-((i||n)[t]+(o||a)[t]);c&&((i&&o?c>0==i[t]>o[t]?i:o:i||o)[t]+=c);return l}}function lt(t){var e=t[0],r=t[1],n=e===B[j-1][0],a=r===B[j-1][1];if(!n||!a)if(j>1){var i=e===B[j-2][0],o=r===B[j-2][1];n&&(e===K||e===tt)&&i?o?j--:B[j-1]=t:a&&(r===et||r===rt)&&o?i?j--:B[j-1]=t:B[j++]=t}else B[j++]=t}function st(t){B[j-1][0]!==t[0]&&B[j-1][1]!==t[1]&<([X,Y]),lt(t),W=null,X=Y=0}function ct(t){if(M=t[0]/z,A=t[1]/D,G=t[0]tt?tt:0,Z=t[1]rt?rt:0,G||Z){if(j)if(W){var e=$(W,t);e.length>1&&(st(e[0]),B[j++]=e[1])}else J=$(B[j-1],t)[0],B[j++]=J;else B[j++]=[G||t[0],Z||t[1]];var r=B[j-1];G&&Z&&(r[0]!==G||r[1]!==Z)?(W&&(X!==G&&Y!==Z?lt(X&&Y?(n=W,i=(a=t)[0]-n[0],o=(a[1]-n[1])/i,(n[1]*a[0]-a[1]*n[0])/i>0?[o>0?K:tt,rt]:[o>0?tt:K,et]):[X||G,Y||Z]):X&&Y&<([X,Y])),lt([G,Z])):X-G&&Y-Z&<([G||X,Z||Y]),W=t,X=G,Y=Z}else W&&st($(W,t)[0]),B[j++]=t;var n,a,i,o}for("linear"===R||"spline"===R?$=function(t,e){for(var r=[],n=0,a=0;a<4;a++){var i=nt[a],o=c(t[0],t[1],e[0],e[1],i[0],i[1],i[2],i[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&&U(o,t)V(h,ut))break;i=h,(_=y[0]*v[0]+y[1]*v[1])>x?(x=_,d=h,g=!1):_=t.length||!h)break;ct(h),n=h}}else ct(d)}W&<([X||W[0],Y||W[1]]),F.push(B.slice(0,j))}return F}},{"../../constants/numerical":149,"../../lib":168,"./constants":371}],382:[function(t,e,r){"use strict";e.exports=function(t,e,r){"spline"===r("line.shape")&&r("line.smoothing")}},{}],383:[function(t,e,r){"use strict";var n={tonextx:1,tonexty:1,tonext:1};e.exports=function(t,e,r){var a,i,o,l,s,c={},u=!1,f=-1,d=0,p=-1;for(i=0;i=0?s=p:(s=p=d,d++),s0?Math.max(e,a):0}}},{"fast-isnumeric":18}],385:[function(t,e,r){"use strict";e.exports={container:"marker",min:"cmin",max:"cmax"}},{}],386:[function(t,e,r){"use strict";var n=t("../../components/color"),a=t("../../components/colorscale/helpers").hasColorscale,i=t("../../components/colorscale/defaults"),o=t("./subtypes");e.exports=function(t,e,r,l,s,c){var u=o.isBubble(t),f=(t.line||{}).color;(c=c||{},f&&(r=f),s("marker.symbol"),s("marker.opacity",u?.7:1),s("marker.size"),s("marker.color",r),a(t,"marker")&&i(t,e,l,s,{prefix:"marker.",cLetter:"c"}),c.noSelect||(s("selected.marker.color"),s("unselected.marker.color"),s("selected.marker.size"),s("unselected.marker.size")),c.noLine||(s("marker.line.color",f&&!Array.isArray(f)&&e.marker.color!==f?f:u?n.background:n.defaultLine),a(t,"marker.line")&&i(t,e,l,s,{prefix:"marker.line.",cLetter:"c"}),s("marker.line.width",u?1:0)),u&&(s("marker.sizeref"),s("marker.sizemin"),s("marker.sizemode")),c.gradient)&&("none"!==s("marker.gradient.type")&&s("marker.gradient.color"))}},{"../../components/color":51,"../../components/colorscale/defaults":61,"../../components/colorscale/helpers":62,"./subtypes":391}],387:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../registry"),i=t("../../lib"),o=i.ensureSingle,l=i.identity,s=t("../../components/drawing"),c=t("./subtypes"),u=t("./line_points"),f=t("./link_traces"),d=t("../../lib/polygon").tester;function p(t,e,r,f,p,h,g){var v;!function(t,e,r,a,o){var l=r.xaxis,s=r.yaxis,u=n.extent(i.simpleMap(l.range,l.r2c)),f=n.extent(i.simpleMap(s.range,s.r2c)),d=a[0].trace;if(!c.hasMarkers(d))return;var p=d.marker.maxdisplayed;if(0===p)return;var h=a.filter(function(t){return t.x>=u[0]&&t.x<=u[1]&&t.y>=f[0]&&t.y<=f[1]}),g=Math.ceil(h.length/p),v=0;o.forEach(function(t,r){var n=t[0].trace;c.hasMarkers(n)&&n.marker.maxdisplayed>0&&r0;function m(t){return y?t.transition():t}var x=r.xaxis,b=r.yaxis,_=f[0].trace,w=_.line,k=n.select(h),T=o(k,"g","errorbars"),M=o(k,"g","lines"),A=o(k,"g","points"),L=o(k,"g","text");if(a.getComponentMethod("errorbars","plot")(t,T,r,g),!0===_.visible){var S,C;m(k).style("opacity",_.opacity);var O=_.fill.charAt(_.fill.length-1);"x"!==O&&"y"!==O&&(O=""),r.isRangePlot||(f[0].node3=k);var z,D,P="",E=[],R=_._prevtrace;R&&(P=R._prevRevpath||"",C=R._nextFill,E=R._polygons);var I,F,N,B,j,H,q,V="",U="",G=[],Z=i.noop;if(S=_._ownFill,c.hasLines(_)||"none"!==_.fill){for(C&&C.datum(f),-1!==["hv","vh","hvh","vhv"].indexOf(w.shape)?(I=s.steps(w.shape),F=s.steps(w.shape.split("").reverse().join(""))):I=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]?s.smoothclosed(t.slice(1),w.smoothing):s.smoothopen(t,w.smoothing)}:function(t){return"M"+t.join("L")},N=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}),q=_._polygons=new Array(G.length),v=0;v1){var r=n.select(this);if(r.datum(f),t)m(r.style("opacity",0).attr("d",z).call(s.lineGroupStyle)).style("opacity",1);else{var a=m(r);a.attr("d",z),s.singleLineStyle(f,a)}}}}}var X=M.selectAll(".js-line").data(G);m(X.exit()).style("opacity",0).remove(),X.each(Z(!1)),X.enter().append("path").classed("js-line",!0).style("vector-effect","non-scaling-stroke").call(s.lineGroupStyle).each(Z(!0)),s.setClipUrl(X,r.layerClipId,t),G.length?(S?(S.datum(f),B&&H&&(O?("y"===O?B[1]=H[1]=b.c2p(0,!0):"x"===O&&(B[0]=H[0]=x.c2p(0,!0)),m(S).attr("d","M"+H+"L"+B+"L"+V.substr(1)).call(s.singleFillStyle)):m(S).attr("d",V+"Z").call(s.singleFillStyle))):C&&("tonext"===_.fill.substr(0,6)&&V&&P?("tonext"===_.fill?m(C).attr("d",V+"Z"+P+"Z").call(s.singleFillStyle):m(C).attr("d",V+"L"+P.substr(1)+"Z").call(s.singleFillStyle),_._polygons=_._polygons.concat(E)):(W(C),_._polygons=null)),_._prevRevpath=U,_._prevPolygons=q):(S?W(S):C&&W(C),_._polygons=_._prevRevpath=_._prevPolygons=null),A.datum(f),L.datum(f),function(e,a,i){var o,u=i[0].trace,f=c.hasMarkers(u),d=c.hasText(u),p=tt(u),h=et,g=et;if(f||d){var v=l,_=u.stackgroup,w=_&&"infer zero"===t._fullLayout._scatterStackOpts[x._id+b._id][_].stackgaps;u.marker.maxdisplayed||u._needsCull?v=w?$:J:_&&!w&&(v=Q),f&&(h=v),d&&(g=v)}var k,T=(o=e.selectAll("path.point").data(h,p)).enter().append("path").classed("point",!0);y&&T.call(s.pointStyle,u,t).call(s.translatePoints,x,b).style("opacity",0).transition().style("opacity",1),o.order(),f&&(k=s.makePointStyleFns(u)),o.each(function(e){var a=n.select(this),i=m(a);s.translatePoint(e,i,x,b)?(s.singlePointStyle(e,i,u,k,t),r.layerClipId&&s.hideOutsideRangePoint(e,i,x,b,u.xcalendar,u.ycalendar),u.customdata&&a.classed("plotly-customdata",null!==e.data&&void 0!==e.data)):i.remove()}),y?o.exit().transition().style("opacity",0).remove():o.exit().remove(),(o=a.selectAll("g").data(g,p)).enter().append("g").classed("textpoint",!0).append("text"),o.order(),o.each(function(t){var e=n.select(this),a=m(e.select("text"));s.translatePoint(t,a,x,b)?r.layerClipId&&s.hideOutsideRangePoint(t,e,x,b,u.xcalendar,u.ycalendar):e.remove()}),o.selectAll("text").call(s.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(){m(n.select(this)).attr({x:e,y:r})})}),o.exit().remove()}(A,L,f);var Y=!1===_.cliponaxis?null:r.layerClipId;s.setClipUrl(A,Y,t),s.setClipUrl(L,Y,t)}function W(t){m(t).attr("d","M0,0Z")}function J(t){return t.filter(function(t){return!t.gap&&t.vis})}function $(t){return t.filter(function(t){return t.vis})}function Q(t){return t.filter(function(t){return!t.gap})}function K(t){return t.id}function tt(t){if(t.ids)return K}function et(){return!1}}e.exports=function(t,e,r,a,i,c){var u,d,h=!i,g=!!i&&i.duration>0,v=f(t,e,r);((u=a.selectAll("g.trace").data(v,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 a=o(n.select(this),"g","fills");s.setClipUrl(a,r.layerClipId,t);var i=e[0].trace,c=[];i._ownfill&&c.push("_ownFill"),i._nexttrace&&c.push("_nextFill");var u=a.selectAll("g").data(c,l);u.enter().append("g"),u.exit().each(function(t){i[t]=null}).remove(),u.order().each(function(t){i[t]=o(n.select(this),"path","js-fill")})})}(t,u,e),g)?(c&&(d=c()),n.transition().duration(i.duration).ease(i.easing).each("end",function(){d&&d()}).each("interrupt",function(){d&&d()}).each(function(){a.selectAll("g.trace").each(function(r,n){p(t,n,e,r,v,this,i)})})):u.each(function(r,n){p(t,n,e,r,v,this,i)});h&&u.exit().remove(),a.selectAll("path:not([d])").remove()}},{"../../components/drawing":72,"../../lib":168,"../../lib/polygon":180,"../../registry":257,"./line_points":381,"./link_traces":383,"./subtypes":391,d3:16}],388:[function(t,e,r){"use strict";var n=t("./subtypes");e.exports=function(t,e){var r,a,i,o,l=t.cd,s=t.xaxis,c=t.yaxis,u=[],f=l[0].trace;if(!n.hasMarkers(f)&&!n.hasText(f))return[];if(!1===e)for(r=0;r"),l.hovertemplate=p.hovertemplate,o}function m(t,e){v.push(t._hovertitle+": "+a.tickText(t,e,"hover").text)}}},{"../../plots/cartesian/axes":212,"../scatter/hover":378}],399:[function(t,e,r){"use strict";var n={};n.attributes=t("./attributes"),n.supplyDefaults=t("./defaults"),n.colorbar=t("../scatter/marker_colorbar"),n.calc=t("./calc"),n.plot=t("./plot"),n.style=t("../scatter/style").style,n.styleOnSelect=t("../scatter/style").styleOnSelect,n.hoverPoints=t("./hover"),n.selectPoints=t("../scatter/select"),n.eventData=t("./event_data"),n.moduleType="trace",n.name="scatterternary",n.basePlotModule=t("../../plots/ternary"),n.categories=["ternary","symbols","showLegend","scatter-like"],n.meta={},e.exports=n},{"../../plots/ternary":253,"../scatter/marker_colorbar":385,"../scatter/select":388,"../scatter/style":390,"./attributes":394,"./calc":395,"./defaults":396,"./event_data":397,"./hover":398,"./plot":400}],400:[function(t,e,r){"use strict";var n=t("../scatter/plot");e.exports=function(t,e,r){var a=e.plotContainer;a.select(".scatterlayer").selectAll("*").remove();var i={xaxis:e.xaxis,yaxis:e.yaxis,plot:a,layerClipId:e._hasClipOnAxisFalse?e.clipIdRelative:null},o=e.layers.frontplot.select("g.scatterlayer");n(t,i,r,o)}},{"../scatter/plot":387}],401:[function(t,e,r){"use strict";var n=t("../box/attributes"),a=t("../../lib/extend").extendFlat;e.exports={y:n.y,x:n.x,x0:n.x0,y0:n.y0,name:n.name,orientation:a({},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:a({},n.boxpoints,{}),jitter:a({},n.jitter,{}),pointpos:a({},n.pointpos,{}),width:a({},n.width,{}),marker:n.marker,text:n.text,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"},selected:n.selected,unselected:n.unselected,hoveron:{valType:"flaglist",flags:["violins","points","kde"],dflt:"violins+points+kde",extras:["all"],editType:"style"}}},{"../../lib/extend":162,"../box/attributes":282}],402:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../plots/cartesian/axes"),i=t("../box/calc"),o=t("./helpers"),l=t("../../constants/numerical").BADNUM;function s(t,e,r){var a=e.max-e.min;if(!a)return 1;if(t.bandwidth)return Math.max(t.bandwidth,a/1e4);var i=r.length,o=n.stdev(r,i-1,e.mean);return Math.max(function(t,e,r){return 1.059*Math.min(e,r/1.349)*Math.pow(t,-.2)}(i,o,e.q3-e.q1),a/100)}function c(t,e,r,n){var i,o=t.spanmode,s=t.span||[],c=[e.min,e.max],u=[e.min-2*n,e.max+2*n];function f(n){var a=s[n],i="multicategory"===r.type?r.r2c(a):r.d2c(a,0,t[e.valLetter+"calendar"]);return i===l?u[n]:i}var d={type:"linear",range:i="soft"===o?u:"hard"===o?c:[f(0),f(1)]};return a.setConvert(d),d.cleanRange(),i}e.exports=function(t,e){var r=i(t,e);if(r[0].t.empty)return r;for(var l=t._fullLayout,u=a.getFromId(t,e["h"===e.orientation?"xaxis":"yaxis"]),f=1/0,d=-1/0,p=0,h=0,g=0;g0){var m,x,b,_,w,k=t.xa,T=t.ya;"h"===d.orientation?(w=e,m="y",b=T,x="x",_=k):(w=r,m="x",b=k,x="y",_=T);var M=f[t.index];if(w>=M.span[0]&&w<=M.span[1]){var A=n.extendFlat({},t),L=_.c2p(w,!0),S=o.getKdeValue(M,d,w),C=o.getPositionOnKdePath(M,d,L),O=b._offset,z=b._length;A[m+"0"]=C[0],A[m+"1"]=C[1],A[x+"0"]=A[x+"1"]=L,A[x+"Label"]=x+": "+a.hoverLabelText(_,w)+", "+f[0].t.labels.kde+" "+S.toFixed(3),A.spikeDistance=y[0].spikeDistance;var D=m+"Spike";A[D]=y[0][D],y[0].spikeDistance=void 0,y[0][D]=void 0,v.push(A),(u={stroke:t.color})[m+"1"]=n.constrain(O+C[0],O,O+z),u[m+"2"]=n.constrain(O+C[1],O,O+z),u[x+"1"]=u[x+"2"]=_._offset+L}}}-1!==p.indexOf("points")&&(c=i.hoverOnPoints(t,e,r));var P=s.selectAll(".violinline-"+d.uid).data(u?[0]:[]);return P.enter().append("line").classed("violinline-"+d.uid,!0).attr("stroke-width",1.5),P.exit().remove(),P.attr(u),"closest"===l?c?[c]:v:c?(v.push(c),v):v}},{"../../lib":168,"../../plots/cartesian/axes":212,"../box/hover":287,"./helpers":405}],407:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),layoutAttributes:t("./layout_attributes"),supplyDefaults:t("./defaults"),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":224,"../box/select":292,"../scatter/style":390,"./attributes":401,"./calc":402,"./cross_trace_calc":403,"./defaults":404,"./hover":406,"./layout_attributes":408,"./layout_defaults":409,"./plot":410,"./style":411}],408:[function(t,e,r){"use strict";var n=t("../box/layout_attributes"),a=t("../../lib").extendFlat;e.exports={violinmode:a({},n.boxmode,{}),violingap:a({},n.boxgap,{}),violingroupgap:a({},n.boxgroupgap,{})}},{"../../lib":168,"../box/layout_attributes":289}],409:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./layout_attributes"),i=t("../box/layout_defaults");e.exports=function(t,e,r){i._supply(t,e,r,function(r,i){return n.coerce(t,e,a,r,i)},"violin")}},{"../../lib":168,"../box/layout_defaults":290,"./layout_attributes":408}],410:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../lib"),i=t("../../components/drawing"),o=t("../box/plot"),l=t("../scatter/line_points"),s=t("./helpers");e.exports=function(t,e,r,c){var u=t._fullLayout,f=e.xaxis,d=e.yaxis;function p(t){var e=l(t,{xaxis:f,yaxis:d,connectGaps:!0,baseTolerance:.75,shape:"spline",simplify:!0});return i.smoothopen(e[0],1)}a.makeTraceGroups(c,r,"trace violins").each(function(t){var r=n.select(this),i=t[0],l=i.t,c=i.trace;if(e.isRangePlot||(i.node3=r),!0!==c.visible||l.empty)r.remove();else{var h=l.bPos,g=l.bdPos,v=e[l.valLetter+"axis"],y=e[l.posLetter+"axis"],m="both"===c.side,x=m||"positive"===c.side,b=m||"negative"===c.side,_=r.selectAll("path.violin").data(a.identity);_.enter().append("path").style("vector-effect","non-scaling-stroke").attr("class","violin"),_.exit().remove(),_.each(function(t){var e,r,a,i,o,s,f,d,_=n.select(this),w=t.density,k=w.length,T=t.pos+h,M=y.c2p(T);if(c.width)e=l.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(k),o=0;o: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;margin-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;margin-left:0px;margin-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';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":694}],2:[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)"},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)"},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)"},newplotlylogo:{name:"newplotlylogo",svg:"plotly-logomark"}}},{}],3:[function(t,e,r){"use strict";e.exports=t("../src/transforms/aggregate")},{"../src/transforms/aggregate":1159}],4:[function(t,e,r){"use strict";e.exports=t("../src/traces/bar")},{"../src/traces/bar":842}],5:[function(t,e,r){"use strict";e.exports=t("../src/traces/barpolar")},{"../src/traces/barpolar":854}],6:[function(t,e,r){"use strict";e.exports=t("../src/traces/box")},{"../src/traces/box":864}],7:[function(t,e,r){"use strict";e.exports=t("../src/components/calendars")},{"../src/components/calendars":569}],8:[function(t,e,r){"use strict";e.exports=t("../src/traces/candlestick")},{"../src/traces/candlestick":873}],9:[function(t,e,r){"use strict";e.exports=t("../src/traces/carpet")},{"../src/traces/carpet":892}],10:[function(t,e,r){"use strict";e.exports=t("../src/traces/choropleth")},{"../src/traces/choropleth":906}],11:[function(t,e,r){"use strict";e.exports=t("../src/traces/cone")},{"../src/traces/cone":914}],12:[function(t,e,r){"use strict";e.exports=t("../src/traces/contour")},{"../src/traces/contour":929}],13:[function(t,e,r){"use strict";e.exports=t("../src/traces/contourcarpet")},{"../src/traces/contourcarpet":940}],14:[function(t,e,r){"use strict";e.exports=t("../src/core")},{"../src/core":673}],15:[function(t,e,r){"use strict";e.exports=t("../src/transforms/filter")},{"../src/transforms/filter":1160}],16:[function(t,e,r){"use strict";e.exports=t("../src/transforms/groupby")},{"../src/transforms/groupby":1161}],17:[function(t,e,r){"use strict";e.exports=t("../src/traces/heatmap")},{"../src/traces/heatmap":952}],18:[function(t,e,r){"use strict";e.exports=t("../src/traces/heatmapgl")},{"../src/traces/heatmapgl":961}],19:[function(t,e,r){"use strict";e.exports=t("../src/traces/histogram")},{"../src/traces/histogram":973}],20:[function(t,e,r){"use strict";e.exports=t("../src/traces/histogram2d")},{"../src/traces/histogram2d":980}],21:[function(t,e,r){"use strict";e.exports=t("../src/traces/histogram2dcontour")},{"../src/traces/histogram2dcontour":984}],22:[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("./pie"),t("./contour"),t("./scatterternary"),t("./violin"),t("./scatter3d"),t("./surface"),t("./isosurface"),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("./sankey"),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":3,"./bar":4,"./barpolar":5,"./box":6,"./calendars":7,"./candlestick":8,"./carpet":9,"./choropleth":10,"./cone":11,"./contour":12,"./contourcarpet":13,"./core":14,"./filter":15,"./groupby":16,"./heatmap":17,"./heatmapgl":18,"./histogram":19,"./histogram2d":20,"./histogram2dcontour":21,"./isosurface":23,"./mesh3d":24,"./ohlc":25,"./parcats":26,"./parcoords":27,"./pie":28,"./pointcloud":29,"./sankey":30,"./scatter3d":31,"./scattercarpet":32,"./scattergeo":33,"./scattergl":34,"./scattermapbox":35,"./scatterpolar":36,"./scatterpolargl":37,"./scatterternary":38,"./sort":39,"./splom":40,"./streamtube":41,"./surface":42,"./table":43,"./violin":44}],23:[function(t,e,r){"use strict";e.exports=t("../src/traces/isosurface")},{"../src/traces/isosurface":989}],24:[function(t,e,r){"use strict";e.exports=t("../src/traces/mesh3d")},{"../src/traces/mesh3d":994}],25:[function(t,e,r){"use strict";e.exports=t("../src/traces/ohlc")},{"../src/traces/ohlc":999}],26:[function(t,e,r){"use strict";e.exports=t("../src/traces/parcats")},{"../src/traces/parcats":1008}],27:[function(t,e,r){"use strict";e.exports=t("../src/traces/parcoords")},{"../src/traces/parcoords":1017}],28:[function(t,e,r){"use strict";e.exports=t("../src/traces/pie")},{"../src/traces/pie":1028}],29:[function(t,e,r){"use strict";e.exports=t("../src/traces/pointcloud")},{"../src/traces/pointcloud":1037}],30:[function(t,e,r){"use strict";e.exports=t("../src/traces/sankey")},{"../src/traces/sankey":1043}],31:[function(t,e,r){"use strict";e.exports=t("../src/traces/scatter3d")},{"../src/traces/scatter3d":1079}],32:[function(t,e,r){"use strict";e.exports=t("../src/traces/scattercarpet")},{"../src/traces/scattercarpet":1085}],33:[function(t,e,r){"use strict";e.exports=t("../src/traces/scattergeo")},{"../src/traces/scattergeo":1092}],34:[function(t,e,r){"use strict";e.exports=t("../src/traces/scattergl")},{"../src/traces/scattergl":1100}],35:[function(t,e,r){"use strict";e.exports=t("../src/traces/scattermapbox")},{"../src/traces/scattermapbox":1106}],36:[function(t,e,r){"use strict";e.exports=t("../src/traces/scatterpolar")},{"../src/traces/scatterpolar":1113}],37:[function(t,e,r){"use strict";e.exports=t("../src/traces/scatterpolargl")},{"../src/traces/scatterpolargl":1117}],38:[function(t,e,r){"use strict";e.exports=t("../src/traces/scatterternary")},{"../src/traces/scatterternary":1123}],39:[function(t,e,r){"use strict";e.exports=t("../src/transforms/sort")},{"../src/transforms/sort":1163}],40:[function(t,e,r){"use strict";e.exports=t("../src/traces/splom")},{"../src/traces/splom":1128}],41:[function(t,e,r){"use strict";e.exports=t("../src/traces/streamtube")},{"../src/traces/streamtube":1133}],42:[function(t,e,r){"use strict";e.exports=t("../src/traces/surface")},{"../src/traces/surface":1138}],43:[function(t,e,r){"use strict";e.exports=t("../src/traces/table")},{"../src/traces/table":1146}],44:[function(t,e,r){"use strict";e.exports=t("../src/traces/violin")},{"../src/traces/violin":1154}],45:[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={view:c,element:t,delay:e.delay||16,rotateSpeed:e.rotateSpeed||1,zoomSpeed:e.zoomSpeed||1,translateSpeed:e.translateSpeed||1,flipX:!!e.flipX,flipY:!!e.flipY,modes:c.modes,tick:function(){var e=n(),r=this.delay;c.idle(e-r),c.flush(e-(100+2*r));var i=e-2*r;c.recalcMatrix(i);for(var a=!0,o=c.computedMatrix,s=0;s<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)}};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){return c.setMode(t),c.getMode()},enumerable:!0},center:{get:function(){return c.computedCenter},set:function(t){return c.lookAt(c.lastT(),t),c.computedCenter},enumerable:!0},eye:{get:function(){return c.computedEye},set:function(t){return c.lookAt(c.lastT(),null,t),c.computedEye},enumerable:!0},up:{get:function(){return c.computedUp},set:function(t){return c.lookAt(c.lastT(),null,null,t),c.computedUp},enumerable:!0},distance:{get:function(){return f},set:function(t){return c.setDistance(c.lastT(),t),t},enumerable:!0},distanceLimits:{get:function(){return c.getDistanceLimits(r)},set:function(t){return c.setDistanceLimits(t),t},enumerable:!0}}),t.addEventListener("contextmenu",function(t){return t.preventDefault(),!1});var g=0,v=0,m={shift:!1,control:!1,alt:!1,meta:!1};function y(e,r,i,a){var o=1/t.clientHeight,s=o*(r-g),l=o*(i-v),u=d.flipX?1:-1,h=d.flipY?1:-1,p=Math.PI*d.rotateSpeed,y=n();if(1&e)a.shift?c.rotate(y,0,0,-s*p):c.rotate(y,u*p*s,-h*p*l,0);else if(2&e)c.pan(y,-d.translateSpeed*s*f,d.translateSpeed*l*f,0);else if(4&e){var x=d.zoomSpeed*l/window.innerHeight*(y-c.lastT())*50;c.pan(y,0,0,f*(Math.exp(x)-1))}g=r,v=i,m=a}return a(t,y),t.addEventListener("touchstart",function(e){var r=s(e.changedTouches[0],t);y(0,r[0],r[1],m),y(1,r[0],r[1],m),e.preventDefault()},!!l&&{passive:!1}),t.addEventListener("touchmove",function(e){var r=s(e.changedTouches[0],t);y(1,r[0],r[1],m),e.preventDefault()},!!l&&{passive:!1}),t.addEventListener("touchend",function(e){s(e.changedTouches[0],t),y(0,g,v,m),e.preventDefault()},!!l&&{passive:!1}),o(t,function(t,e,r){var i=d.flipX?1:-1,a=d.flipY?1:-1,o=n();if(Math.abs(t)>Math.abs(e))c.rotate(o,0,0,-t*i*Math.PI*d.rotateSpeed/window.innerWidth);else{var s=d.zoomSpeed*a*e/window.innerHeight*(o-c.lastT())/100;c.pan(o,0,0,f*(Math.exp(s)-1))}},!0),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":46,"has-passive-events":397,"mouse-change":421,"mouse-event-offset":422,"mouse-wheel":424,"right-now":482}],46:[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;nr&&(a=r);var i=e.min(n,function(t){return(o[1]-(t.length-1)*a)/e.sum(t,h)});n.forEach(function(t){t.forEach(function(t,e){t.y=e,t.dy=t.value*i})}),l.forEach(function(t){t.dy=t.value*i})})(),d();for(var i=1;t>0;--t)p(i*=.99),d(),u(i),d();function u(t){function r(t){return f(t.source)*t.value}n.forEach(function(n){n.forEach(function(n){if(n.targetLinks.length){var i=e.sum(n.targetLinks,r)/e.sum(n.targetLinks,h);n.y+=(i-f(n))*t}})})}function p(t){function r(t){return f(t.target)*t.value}n.slice().reverse().forEach(function(n){n.forEach(function(n){if(n.sourceLinks.length){var i=e.sum(n.sourceLinks,r)/e.sum(n.sourceLinks,h);n.y+=(i-f(n))*t}})})}function d(){n.forEach(function(t){var e,r,n,i=0,s=t.length;for(t.sort(g),n=0;n0&&(e.y+=r),i=e.y+e.dy+a;if((r=i-a-o[1])>0)for(i=e.y-=r,n=s-2;n>=0;--n)e=t[n],(r=e.y+e.dy+a-i)>0&&(e.y-=r),i=e.y})}function g(t,e){return t.y-e.y}}(n),u(),t},t.relayout=function(){return u(),t},t.link=function(){var t=.5;function e(e){var r=e.source.x+e.source.dx,i=e.target.x,a=n.interpolateNumber(r,i),o=a(t),s=a(1-t),l=e.source.y+e.sy,c=l+e.dy,u=e.target.y+e.ty,f=u+e.dy;return"M"+r+","+l+"C"+o+","+l+" "+s+","+u+" "+i+","+u+"L"+i+","+f+"C"+s+","+f+" "+o+","+c+" "+r+","+c+"Z"}return e.curvature=function(r){return arguments.length?(t=+r,e):t},e},t},Object.defineProperty(t,"__esModule",{value:!0})},"object"==typeof r&&"undefined"!=typeof e?i(r,t("d3-array"),t("d3-collection"),t("d3-interpolate")):i(n.d3=n.d3||{},n.d3,n.d3,n.d3)},{"d3-array":141,"d3-collection":142,"d3-interpolate":146}],48:[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":231,"gl-vao":313,"weak-map":530}],49:[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;si&&(i=t[o]),t[o]=0;c--)if(u[c]!==f[c])return!1;for(c=u.length-1;c>=0;c--)if(l=u[c],!y(t[l],e[l],r,n))return!1;return!0}(t,e,r,o))}return r?t===e:t==e}function x(t){return"[object Arguments]"==Object.prototype.toString.call(t)}function b(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 _(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 o="string"==typeof n,s=!t&&i&&!r;if((!t&&a.isError(i)&&o&&b(i,r)||s)&&v(i,r,"Got unwanted exception"+n),t&&i&&r&&!b(i,r)||!t&&i)throw i}f.AssertionError=function(t){var e;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=d(g((e=this).actual),128)+" "+e.operator+" "+d(g(e.expected),128),this.generatedMessage=!0);var r=t.stackStartFunction||v;if(Error.captureStackTrace)Error.captureStackTrace(this,r);else{var n=new Error;if(n.stack){var i=n.stack,a=p(r),o=i.indexOf("\n"+a);if(o>=0){var s=i.indexOf("\n",o+1);i=i.substring(s+1)}this.stack=i}}},a.inherits(f.AssertionError,Error),f.fail=v,f.ok=m,f.equal=function(t,e,r){t!=e&&v(t,e,r,"==",f.equal)},f.notEqual=function(t,e,r){t==e&&v(t,e,r,"!=",f.notEqual)},f.deepEqual=function(t,e,r){y(t,e,!1)||v(t,e,r,"deepEqual",f.deepEqual)},f.deepStrictEqual=function(t,e,r){y(t,e,!0)||v(t,e,r,"deepStrictEqual",f.deepStrictEqual)},f.notDeepEqual=function(t,e,r){y(t,e,!1)&&v(t,e,r,"notDeepEqual",f.notDeepEqual)},f.notDeepStrictEqual=function t(e,r,n){y(e,r,!0)&&v(e,r,n,"notDeepStrictEqual",t)},f.strictEqual=function(t,e,r){t!==e&&v(t,e,r,"===",f.strictEqual)},f.notStrictEqual=function(t,e,r){t===e&&v(t,e,r,"!==",f.notStrictEqual)},f.throws=function(t,e,r){_(!0,t,e,r)},f.doesNotThrow=function(t,e,r){_(!1,t,e,r)},f.ifError=function(t){if(t)throw t};var w=Object.keys||function(t){var e=[];for(var r in t)o.call(t,r)&&e.push(r);return e}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"util/":60}],58:[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}},{}],59:[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}},{}],60:[function(t,e,r){(function(e,n){var i=/%[sdj%]/g;r.format=function(t){if(!m(t)){for(var e=[],r=0;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=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&&k(e.inspect)&&e.inspect!==r.inspect&&(!e.constructor||e.constructor.prototype!==e)){var i=e.inspect(n,t);return m(i)||(i=u(t,i,n)),i}var a=function(t,e){if(y(e))return t.stylize("undefined","undefined");if(m(e)){var r="'"+JSON.stringify(e).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return t.stylize(r,"string")}if(v(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(k(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="",A=!1,M=["{","}"];(p(e)&&(A=!0,M=["[","]"]),k(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||A&&0!=e.length?n<0?x(e)?t.stylize(RegExp.prototype.toString.call(e),"regexp"):t.stylize("[Object]","special"):(t.seen.push(e),c=A?function(t,e,r,n,i){for(var a=[],o=0,s=e.length;o=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")),S(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 v(t){return"number"==typeof t}function m(t){return"string"==typeof t}function y(t){return void 0===t}function x(t){return b(t)&&"[object RegExp]"===A(t)}function b(t){return"object"==typeof t&&null!==t}function _(t){return b(t)&&"[object Date]"===A(t)}function w(t){return b(t)&&("[object Error]"===A(t)||t instanceof Error)}function k(t){return"function"==typeof t}function A(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=v,r.isString=m,r.isSymbol=function(t){return"symbol"==typeof t},r.isUndefined=y,r.isRegExp=x,r.isObject=b,r.isDate=_,r.isError=w,r.isFunction=k,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 T=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function S(t,e){return Object.prototype.hasOwnProperty.call(t,e)}r.log=function(){var t,e;console.log("%s - %s",(t=new Date,e=[M(t.getHours()),M(t.getMinutes()),M(t.getSeconds())].join(":"),[t.getDate(),T[t.getMonth()],e].join(" ")),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,t("_process"),"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./support/isBuffer":59,_process:468,inherits:58}],61:[function(t,e,r){e.exports=function(t){return atob(t)}},{}],62:[function(t,e,r){"use strict";e.exports=function(t,e){for(var r=e.length,a=new Array(r+1),o=0;o0?n-4:n,f=0;f>16&255,s[l++]=e>>8&255,s[l++]=255&e;2===o&&(e=i[t.charCodeAt(f)]<<2|i[t.charCodeAt(f+1)]>>4,s[l++]=255&e);1===o&&(e=i[t.charCodeAt(f)]<<10|i[t.charCodeAt(f+1)]<<4|i[t.charCodeAt(f+2)]>>2,s[l++]=e>>8&255,s[l++]=255&e);return s},r.fromByteArray=function(t){for(var e,r=t.length,i=r%3,a=[],o=0,s=r-i;os?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;s0)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>18&63]+n[a>>12&63]+n[a>>6&63]+n[63&a]);return o.join("")}i["-".charCodeAt(0)]=62,i["_".charCodeAt(0)]=63},{}],64:[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":74}],65:[function(t,e,r){"use strict";e.exports=function(t,e){return t[0].mul(e[1]).cmp(e[0].mul(t[1]))}},{}],66:[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":74}],67:[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=0;var u,f;if(i(e))u=e.clone();else if("string"==typeof e)u=o(e);else{if(0===e)return[a(0),a(1)];if(e===Math.floor(e))u=a(e);else{for(;e!==Math.floor(e);)e*=Math.pow(2,256),c-=256;u=a(e)}}if(n(r))u.mul(r[1]),f=r[0].clone();else if(i(r))f=r.clone();else if("string"==typeof r)f=o(r);else if(r)if(r===Math.floor(r))f=a(r);else{for(;r!==Math.floor(r);)r*=Math.pow(2,256),c+=256;f=a(r)}else f=a(1);c>0?u=u.ushln(c):c<0&&(f=f.ushln(-c));return s(u,f)}},{"./div":66,"./is-rat":68,"./lib/is-bn":72,"./lib/num-to-bn":73,"./lib/rationalize":74,"./lib/str-to-bn":75}],68:[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":72}],69:[function(t,e,r){"use strict";var n=t("bn.js");e.exports=function(t){return t.cmp(new n(0))}},{"bn.js":83}],70:[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;a20)return 52;return r+32}},{"bit-twiddle":81,"double-bits":153}],72:[function(t,e,r){"use strict";t("bn.js");e.exports=function(t){return t&&"object"==typeof t&&Boolean(t.words)}},{"bn.js":83}],73:[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":83,"double-bits":153}],74:[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":69,"./num-to-bn":73}],75:[function(t,e,r){"use strict";var n=t("bn.js");e.exports=function(t){return new n(t)}},{"bn.js":83}],76:[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":74}],77:[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":69}],78:[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":74}],79:[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":70,"./lib/ctz":71}],80:[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)}},{}],81:[function(t,e,r){"use strict";function n(t){var e=32;return(t&=-t)&&e--,65535&t&&(e-=16),16711935&t&&(e-=8),252645135&t&&(e-=4),858993459&t&&(e-=2),1431655765&t&&(e-=1),e}r.INT_BITS=32,r.INT_MAX=2147483647,r.INT_MIN=-1<<31,r.sign=function(t){return(t>0)-(t<0)},r.abs=function(t){var e=t>>31;return(t^e)-e},r.min=function(t,e){return e^(t^e)&-(t65535)<<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<>>8&255]<<16|i[t>>>16&255]<<8|i[t>>>24&255]},r.interleave2=function(t,e){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t&=65535)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e&=65535)|e<<8))|e<<4))|e<<2))|e<<1))<<1},r.deinterleave2=function(t,e){return(t=65535&((t=16711935&((t=252645135&((t=858993459&((t=t>>>e&1431655765)|t>>>1))|t>>>2))|t>>>4))|t>>>16))<<16>>16},r.interleave3=function(t,e,r){return t=1227133513&((t=3272356035&((t=251719695&((t=4278190335&((t&=1023)|t<<16))|t<<8))|t<<4))|t<<2),(t|=(e=1227133513&((e=3272356035&((e=251719695&((e=4278190335&((e&=1023)|e<<16))|e<<8))|e<<4))|e<<2))<<1)|(r=1227133513&((r=3272356035&((r=251719695&((r=4278190335&((r&=1023)|r<<16))|r<<8))|r<<4))|r<<2))<<2},r.deinterleave3=function(t,e){return(t=1023&((t=4278190335&((t=251719695&((t=3272356035&((t=t>>>e&1227133513)|t>>>2))|t>>>4))|t>>>8))|t>>>16))<<22>>22},r.nextCombination=function(t){var e=t|t-1;return e+1|(~e&-~e)-1>>>n(t)+1}},{}],82:[function(t,e,r){"use strict";var n=t("clamp");e.exports=function(t,e){e||(e={});var r,o,s,l,c,u,f,h,p,d,g,v=null==e.cutoff?.25:e.cutoff,m=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=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=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=0;i-=3)o=t[i]|t[i-1]<<8|t[i-2]<<16,this.words[a]|=o<>>26-s&67108863,(s+=24)>=26&&(s-=26,a++);else if("le"===r)for(i=0,a=0;i>>26-s&67108863,(s+=24)>=26&&(s-=26,a++);return this.strip()},a.prototype._parseHex=function(t,e){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var r=0;r=e;r-=6)i=s(t,r,r+6),this.words[n]|=i<>>26-a&4194303,(a+=24)>=26&&(a-=26,n++);r+6!==e&&(i=s(t,e,r+6),this.words[n]|=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;u1&&0===this.words[this.length-1];)this.length--;return this._normSign()},a.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},a.prototype.inspect=function(){return(this.red?""};var 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>>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>>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=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},a.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0==(8191&e)&&(r+=13,e>>>=13),0==(127&e)&&(r+=7,e>>>=7),0==(15&e)&&(r+=4,e>>>=4),0==(3&e)&&(r+=2,e>>>=2),0==(1&e)&&r++,r},a.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},a.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;et.length?this.clone().ior(t):t.clone().ior(this)},a.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},a.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;rt.length?this.clone().iand(t):t.clone().iand(this)},a.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},a.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var n=0;nt.length?this.clone().ixor(t):t.clone().ixor(this)},a.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},a.prototype.inotn=function(t){n("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),r=t%26;this._expand(e),r>0&&e--;for(var i=0;i0&&(this.words[i]=~this.words[i]&67108863>>26-r),this.strip()},a.prototype.notn=function(t){return this.clone().inotn(t)},a.prototype.setn=function(t,e){n("number"==typeof t&&t>=0);var r=t/26|0,i=t%26;return this._expand(r+1),this.words[r]=e?this.words[r]|1<t.length?(r=this,n=t):(r=t,n=this);for(var i=0,a=0;a>>26;for(;0!==i&&a>>26;if(this.length=r.length,0!==i)this.words[this.length]=i,this.length++;else if(r!==this)for(;at.length?this.clone().iadd(t):t.clone().iadd(this)},a.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,n,i=this.cmp(t);if(0===i)return this.negative=0,this.length=1,this.words[0]=0,this;i>0?(r=this,n=t):(r=t,n=this);for(var a=0,o=0;o>26,this.words[o]=67108863&e;for(;0!==a&&o>26,this.words[o]=67108863&e;if(0===a&&o>>13,p=0|o[1],d=8191&p,g=p>>>13,v=0|o[2],m=8191&v,y=v>>>13,x=0|o[3],b=8191&x,_=x>>>13,w=0|o[4],k=8191&w,A=w>>>13,M=0|o[5],T=8191&M,S=M>>>13,C=0|o[6],E=8191&C,L=C>>>13,z=0|o[7],O=8191&z,I=z>>>13,D=0|o[8],P=8191&D,R=D>>>13,F=0|o[9],B=8191&F,N=F>>>13,j=0|s[0],V=8191&j,U=j>>>13,q=0|s[1],H=8191&q,G=q>>>13,W=0|s[2],Y=8191&W,X=W>>>13,Z=0|s[3],$=8191&Z,J=Z>>>13,K=0|s[4],Q=8191&K,tt=K>>>13,et=0|s[5],rt=8191&et,nt=et>>>13,it=0|s[6],at=8191&it,ot=it>>>13,st=0|s[7],lt=8191&st,ct=st>>>13,ut=0|s[8],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 vt=(c+(n=Math.imul(f,V))|0)+((8191&(i=(i=Math.imul(f,U))+Math.imul(h,V)|0))<<13)|0;c=((a=Math.imul(h,U))+(i>>>13)|0)+(vt>>>26)|0,vt&=67108863,n=Math.imul(d,V),i=(i=Math.imul(d,U))+Math.imul(g,V)|0,a=Math.imul(g,U);var mt=(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)+(mt>>>26)|0,mt&=67108863,n=Math.imul(m,V),i=(i=Math.imul(m,U))+Math.imul(y,V)|0,a=Math.imul(y,U),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,Y)|0)|0)+((8191&(i=(i=i+Math.imul(f,X)|0)+Math.imul(h,Y)|0))<<13)|0;c=((a=a+Math.imul(h,X)|0)+(i>>>13)|0)+(yt>>>26)|0,yt&=67108863,n=Math.imul(b,V),i=(i=Math.imul(b,U))+Math.imul(_,V)|0,a=Math.imul(_,U),n=n+Math.imul(m,H)|0,i=(i=i+Math.imul(m,G)|0)+Math.imul(y,H)|0,a=a+Math.imul(y,G)|0,n=n+Math.imul(d,Y)|0,i=(i=i+Math.imul(d,X)|0)+Math.imul(g,Y)|0,a=a+Math.imul(g,X)|0;var xt=(c+(n=n+Math.imul(f,$)|0)|0)+((8191&(i=(i=i+Math.imul(f,J)|0)+Math.imul(h,$)|0))<<13)|0;c=((a=a+Math.imul(h,J)|0)+(i>>>13)|0)+(xt>>>26)|0,xt&=67108863,n=Math.imul(k,V),i=(i=Math.imul(k,U))+Math.imul(A,V)|0,a=Math.imul(A,U),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(m,Y)|0,i=(i=i+Math.imul(m,X)|0)+Math.imul(y,Y)|0,a=a+Math.imul(y,X)|0,n=n+Math.imul(d,$)|0,i=(i=i+Math.imul(d,J)|0)+Math.imul(g,$)|0,a=a+Math.imul(g,J)|0;var bt=(c+(n=n+Math.imul(f,Q)|0)|0)+((8191&(i=(i=i+Math.imul(f,tt)|0)+Math.imul(h,Q)|0))<<13)|0;c=((a=a+Math.imul(h,tt)|0)+(i>>>13)|0)+(bt>>>26)|0,bt&=67108863,n=Math.imul(T,V),i=(i=Math.imul(T,U))+Math.imul(S,V)|0,a=Math.imul(S,U),n=n+Math.imul(k,H)|0,i=(i=i+Math.imul(k,G)|0)+Math.imul(A,H)|0,a=a+Math.imul(A,G)|0,n=n+Math.imul(b,Y)|0,i=(i=i+Math.imul(b,X)|0)+Math.imul(_,Y)|0,a=a+Math.imul(_,X)|0,n=n+Math.imul(m,$)|0,i=(i=i+Math.imul(m,J)|0)+Math.imul(y,$)|0,a=a+Math.imul(y,J)|0,n=n+Math.imul(d,Q)|0,i=(i=i+Math.imul(d,tt)|0)+Math.imul(g,Q)|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(E,V),i=(i=Math.imul(E,U))+Math.imul(L,V)|0,a=Math.imul(L,U),n=n+Math.imul(T,H)|0,i=(i=i+Math.imul(T,G)|0)+Math.imul(S,H)|0,a=a+Math.imul(S,G)|0,n=n+Math.imul(k,Y)|0,i=(i=i+Math.imul(k,X)|0)+Math.imul(A,Y)|0,a=a+Math.imul(A,X)|0,n=n+Math.imul(b,$)|0,i=(i=i+Math.imul(b,J)|0)+Math.imul(_,$)|0,a=a+Math.imul(_,J)|0,n=n+Math.imul(m,Q)|0,i=(i=i+Math.imul(m,tt)|0)+Math.imul(y,Q)|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(O,V),i=(i=Math.imul(O,U))+Math.imul(I,V)|0,a=Math.imul(I,U),n=n+Math.imul(E,H)|0,i=(i=i+Math.imul(E,G)|0)+Math.imul(L,H)|0,a=a+Math.imul(L,G)|0,n=n+Math.imul(T,Y)|0,i=(i=i+Math.imul(T,X)|0)+Math.imul(S,Y)|0,a=a+Math.imul(S,X)|0,n=n+Math.imul(k,$)|0,i=(i=i+Math.imul(k,J)|0)+Math.imul(A,$)|0,a=a+Math.imul(A,J)|0,n=n+Math.imul(b,Q)|0,i=(i=i+Math.imul(b,tt)|0)+Math.imul(_,Q)|0,a=a+Math.imul(_,tt)|0,n=n+Math.imul(m,rt)|0,i=(i=i+Math.imul(m,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 kt=(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)+(kt>>>26)|0,kt&=67108863,n=Math.imul(P,V),i=(i=Math.imul(P,U))+Math.imul(R,V)|0,a=Math.imul(R,U),n=n+Math.imul(O,H)|0,i=(i=i+Math.imul(O,G)|0)+Math.imul(I,H)|0,a=a+Math.imul(I,G)|0,n=n+Math.imul(E,Y)|0,i=(i=i+Math.imul(E,X)|0)+Math.imul(L,Y)|0,a=a+Math.imul(L,X)|0,n=n+Math.imul(T,$)|0,i=(i=i+Math.imul(T,J)|0)+Math.imul(S,$)|0,a=a+Math.imul(S,J)|0,n=n+Math.imul(k,Q)|0,i=(i=i+Math.imul(k,tt)|0)+Math.imul(A,Q)|0,a=a+Math.imul(A,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(m,at)|0,i=(i=i+Math.imul(m,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 At=(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)+(At>>>26)|0,At&=67108863,n=Math.imul(B,V),i=(i=Math.imul(B,U))+Math.imul(N,V)|0,a=Math.imul(N,U),n=n+Math.imul(P,H)|0,i=(i=i+Math.imul(P,G)|0)+Math.imul(R,H)|0,a=a+Math.imul(R,G)|0,n=n+Math.imul(O,Y)|0,i=(i=i+Math.imul(O,X)|0)+Math.imul(I,Y)|0,a=a+Math.imul(I,X)|0,n=n+Math.imul(E,$)|0,i=(i=i+Math.imul(E,J)|0)+Math.imul(L,$)|0,a=a+Math.imul(L,J)|0,n=n+Math.imul(T,Q)|0,i=(i=i+Math.imul(T,tt)|0)+Math.imul(S,Q)|0,a=a+Math.imul(S,tt)|0,n=n+Math.imul(k,rt)|0,i=(i=i+Math.imul(k,nt)|0)+Math.imul(A,rt)|0,a=a+Math.imul(A,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(m,lt)|0,i=(i=i+Math.imul(m,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(P,Y)|0,i=(i=i+Math.imul(P,X)|0)+Math.imul(R,Y)|0,a=a+Math.imul(R,X)|0,n=n+Math.imul(O,$)|0,i=(i=i+Math.imul(O,J)|0)+Math.imul(I,$)|0,a=a+Math.imul(I,J)|0,n=n+Math.imul(E,Q)|0,i=(i=i+Math.imul(E,tt)|0)+Math.imul(L,Q)|0,a=a+Math.imul(L,tt)|0,n=n+Math.imul(T,rt)|0,i=(i=i+Math.imul(T,nt)|0)+Math.imul(S,rt)|0,a=a+Math.imul(S,nt)|0,n=n+Math.imul(k,at)|0,i=(i=i+Math.imul(k,ot)|0)+Math.imul(A,at)|0,a=a+Math.imul(A,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(m,ft)|0,i=(i=i+Math.imul(m,ht)|0)+Math.imul(y,ft)|0,a=a+Math.imul(y,ht)|0;var Tt=(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)+(Tt>>>26)|0,Tt&=67108863,n=Math.imul(B,Y),i=(i=Math.imul(B,X))+Math.imul(N,Y)|0,a=Math.imul(N,X),n=n+Math.imul(P,$)|0,i=(i=i+Math.imul(P,J)|0)+Math.imul(R,$)|0,a=a+Math.imul(R,J)|0,n=n+Math.imul(O,Q)|0,i=(i=i+Math.imul(O,tt)|0)+Math.imul(I,Q)|0,a=a+Math.imul(I,tt)|0,n=n+Math.imul(E,rt)|0,i=(i=i+Math.imul(E,nt)|0)+Math.imul(L,rt)|0,a=a+Math.imul(L,nt)|0,n=n+Math.imul(T,at)|0,i=(i=i+Math.imul(T,ot)|0)+Math.imul(S,at)|0,a=a+Math.imul(S,ot)|0,n=n+Math.imul(k,lt)|0,i=(i=i+Math.imul(k,ct)|0)+Math.imul(A,lt)|0,a=a+Math.imul(A,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(m,dt)|0)|0)+((8191&(i=(i=i+Math.imul(m,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,$),i=(i=Math.imul(B,J))+Math.imul(N,$)|0,a=Math.imul(N,J),n=n+Math.imul(P,Q)|0,i=(i=i+Math.imul(P,tt)|0)+Math.imul(R,Q)|0,a=a+Math.imul(R,tt)|0,n=n+Math.imul(O,rt)|0,i=(i=i+Math.imul(O,nt)|0)+Math.imul(I,rt)|0,a=a+Math.imul(I,nt)|0,n=n+Math.imul(E,at)|0,i=(i=i+Math.imul(E,ot)|0)+Math.imul(L,at)|0,a=a+Math.imul(L,ot)|0,n=n+Math.imul(T,lt)|0,i=(i=i+Math.imul(T,ct)|0)+Math.imul(S,lt)|0,a=a+Math.imul(S,ct)|0,n=n+Math.imul(k,ft)|0,i=(i=i+Math.imul(k,ht)|0)+Math.imul(A,ft)|0,a=a+Math.imul(A,ht)|0;var Ct=(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)+(Ct>>>26)|0,Ct&=67108863,n=Math.imul(B,Q),i=(i=Math.imul(B,tt))+Math.imul(N,Q)|0,a=Math.imul(N,tt),n=n+Math.imul(P,rt)|0,i=(i=i+Math.imul(P,nt)|0)+Math.imul(R,rt)|0,a=a+Math.imul(R,nt)|0,n=n+Math.imul(O,at)|0,i=(i=i+Math.imul(O,ot)|0)+Math.imul(I,at)|0,a=a+Math.imul(I,ot)|0,n=n+Math.imul(E,lt)|0,i=(i=i+Math.imul(E,ct)|0)+Math.imul(L,lt)|0,a=a+Math.imul(L,ct)|0,n=n+Math.imul(T,ft)|0,i=(i=i+Math.imul(T,ht)|0)+Math.imul(S,ft)|0,a=a+Math.imul(S,ht)|0;var Et=(c+(n=n+Math.imul(k,dt)|0)|0)+((8191&(i=(i=i+Math.imul(k,gt)|0)+Math.imul(A,dt)|0))<<13)|0;c=((a=a+Math.imul(A,gt)|0)+(i>>>13)|0)+(Et>>>26)|0,Et&=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(P,at)|0,i=(i=i+Math.imul(P,ot)|0)+Math.imul(R,at)|0,a=a+Math.imul(R,ot)|0,n=n+Math.imul(O,lt)|0,i=(i=i+Math.imul(O,ct)|0)+Math.imul(I,lt)|0,a=a+Math.imul(I,ct)|0,n=n+Math.imul(E,ft)|0,i=(i=i+Math.imul(E,ht)|0)+Math.imul(L,ft)|0,a=a+Math.imul(L,ht)|0;var Lt=(c+(n=n+Math.imul(T,dt)|0)|0)+((8191&(i=(i=i+Math.imul(T,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(P,lt)|0,i=(i=i+Math.imul(P,ct)|0)+Math.imul(R,lt)|0,a=a+Math.imul(R,ct)|0,n=n+Math.imul(O,ft)|0,i=(i=i+Math.imul(O,ht)|0)+Math.imul(I,ft)|0,a=a+Math.imul(I,ht)|0;var zt=(c+(n=n+Math.imul(E,dt)|0)|0)+((8191&(i=(i=i+Math.imul(E,gt)|0)+Math.imul(L,dt)|0))<<13)|0;c=((a=a+Math.imul(L,gt)|0)+(i>>>13)|0)+(zt>>>26)|0,zt&=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(P,ft)|0,i=(i=i+Math.imul(P,ht)|0)+Math.imul(R,ft)|0,a=a+Math.imul(R,ht)|0;var Ot=(c+(n=n+Math.imul(O,dt)|0)|0)+((8191&(i=(i=i+Math.imul(O,gt)|0)+Math.imul(I,dt)|0))<<13)|0;c=((a=a+Math.imul(I,gt)|0)+(i>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,n=Math.imul(B,ft),i=(i=Math.imul(B,ht))+Math.imul(N,ft)|0,a=Math.imul(N,ht);var It=(c+(n=n+Math.imul(P,dt)|0)|0)+((8191&(i=(i=i+Math.imul(P,gt)|0)+Math.imul(R,dt)|0))<<13)|0;c=((a=a+Math.imul(R,gt)|0)+(i>>>13)|0)+(It>>>26)|0,It&=67108863;var Dt=(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)+(Dt>>>26)|0,Dt&=67108863,l[0]=vt,l[1]=mt,l[2]=yt,l[3]=xt,l[4]=bt,l[5]=_t,l[6]=wt,l[7]=kt,l[8]=At,l[9]=Mt,l[10]=Tt,l[11]=St,l[12]=Ct,l[13]=Et,l[14]=Lt,l[15]=zt,l[16]=Ot,l[17]=It,l[18]=Dt,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>>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>=1;return n},g.prototype.permute=function(t,e,r,n,i,a){for(var o=0;o>>=1)i++;return 1<>>=13,r[2*o+1]=8191&a,a>>>=13;for(o=2*e;o>=26,e+=i/67108864|0,e+=a>>>26,this.words[r]=67108863&a}return 0!==e&&(this.words[r]=e,this.length++),this},a.prototype.muln=function(t){return this.clone().imuln(t)},a.prototype.sqr=function(){return this.mul(this)},a.prototype.isqr=function(){return this.imul(this.clone())},a.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r>>i}return e}(t);if(0===e.length)return new a(1);for(var r=this,n=0;n=0);var e,r=t%26,i=(t-r)/26,a=67108863>>>26-r<<26-r;if(0!==r){var o=0;for(e=0;e>>26-r}o&&(this.words[e]=o,this.length++)}if(0!==i){for(e=this.length-1;e>=0;e--)this.words[e+i]=this.words[e];for(e=0;e=0),i=e?(e-e%26)/26:0;var a=t%26,o=Math.min((t-a)/26,this.length),s=67108863^67108863>>>a<o)for(this.length-=o,c=0;c=0&&(0!==u||c>=i);c--){var 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<=0);var e=t%26,r=(t-e)/26;if(n(0===this.negative,"imaskn works only with positive numbers"),this.length<=r)return this;if(0!==e&&r++,this.length=Math.min(r,this.length),0!==e){var i=67108863^67108863>>>e<=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},a.prototype.isubn=function(t){if(n("number"==typeof t),n(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e>26)-(l/67108864|0),this.words[i+r]=67108863&a}for(;i>26,this.words[i+r]=67108863&a;if(0===s)return this.strip();for(n(-1===s),s=0,i=0;i>26,this.words[i]=67108863&a;return this.negative=1,this.strip()},a.prototype._wordDiv=function(t,e){var r=(this.length,t.length),n=this.clone(),i=t,o=0|i.words[i.length-1];0!==(r=26-this._countBits(o))&&(i=i.ushln(r),n.iushln(r),o=0|i.words[i.length-1]);var s,l=n.length-i.length;if("mod"!==e){(s=new a(null)).length=l+1,s.words=new Array(s.length);for(var c=0;c=0;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<>>26,s&=67108863,this.words[o]=s}return 0!==a&&(this.words[o]=a,this.length++),this},a.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},a.prototype.cmpn=function(t){var e,r=t<0;if(0!==this.negative&&!r)return-1;if(0===this.negative&&r)return 1;if(this.strip(),this.length>1)e=1;else{r&&(t=-t),n(t<=67108863,"Number is too big");var i=0|this.words[0];e=i===t?0:it.length)return 1;if(this.length=0;r--){var n=0|this.words[r],i=0|t.words[r];if(n!==i){ni&&(e=1);break}}return e},a.prototype.gtn=function(t){return 1===this.cmpn(t)},a.prototype.gt=function(t){return 1===this.cmp(t)},a.prototype.gten=function(t){return this.cmpn(t)>=0},a.prototype.gte=function(t){return this.cmp(t)>=0},a.prototype.ltn=function(t){return-1===this.cmpn(t)},a.prototype.lt=function(t){return-1===this.cmp(t)},a.prototype.lten=function(t){return this.cmpn(t)<=0},a.prototype.lte=function(t){return this.cmp(t)<=0},a.prototype.eqn=function(t){return 0===this.cmpn(t)},a.prototype.eq=function(t){return 0===this.cmp(t)},a.red=function(t){return new 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 v={k256:null,p224:null,p192:null,p25519:null};function m(t,e){this.name=t,this.p=new a(e,16),this.n=this.p.bitLength(),this.k=new a(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function y(){m.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function x(){m.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function b(){m.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function _(){m.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 k(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)}m.prototype._tmp=function(){var t=new a(null);return t.words=new Array(Math.ceil(this.n/13)),t},m.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(e>this.n);var n=e0?r.isub(this.p):r.strip(),r},m.prototype.split=function(t,e){t.iushrn(this.n,0,e)},m.prototype.imulK=function(t){return t.imul(this.k)},i(y,m),y.prototype.split=function(t,e){for(var r=Math.min(t.length,9),n=0;n>>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>>=26,t.words[r]=i,e=n}return 0!==e&&(t.words[t.length++]=e),t},a._prime=function(t){if(v[t])return v[t];var e;if("k256"===t)e=new 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 v[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,v=0;0!==g.cmp(s);v++)g=g.redSqr();n(v=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 k(t)},i(k,w),k.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},k.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},k.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),a=i;return i.cmp(this.m)>=0?a=i.isub(this.m):i.cmpn(0)<0&&(a=i.iadd(this.m)),a._forceRed(this)},k.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new a(0)._forceRed(this);var r=t.mul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),o=i;return i.cmp(this.m)>=0?o=i.isub(this.m):i.cmpn(0)<0&&(o=i.iadd(this.m)),o._forceRed(this)},k.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}("undefined"==typeof e||e,this)},{buffer:92}],84:[function(t,e,r){"use strict";e.exports=function(t){var e,r,n,i=t.length,a=0;for(e=0;e>>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])}},{"./lib/intersect":87,"./lib/sweep":91,"typedarray-pool":523}],86:[function(t,e,r){"use strict";var n="d",i="ax",a="vv",o="fp",s="es",l="rs",c="re",u="rb",f="ri",h="rp",p="bs",d="be",g="bb",v="bi",m="bp",y="rv",x="Q",b=[n,i,a,l,c,u,f,p,d,g,v];function _(t){var e="bruteForce"+(t?"Full":"Partial"),r=[],_=b.slice();t||_.splice(3,0,o);var w=["function "+e+"("+_.join()+"){"];function k(e,o){var _=function(t,e,r){var o="bruteForce"+(t?"Red":"Blue")+(e?"Flip":"")+(r?"Full":""),_=["function ",o,"(",b.join(),"){","var ",s,"=2*",n,";"],w="for(var i="+l+","+h+"="+s+"*"+l+";i<"+c+";++i,"+h+"+="+s+"){var x0="+u+"["+i+"+"+h+"],x1="+u+"["+i+"+"+h+"+"+n+"],xi="+f+"[i];",k="for(var j="+p+","+m+"="+s+"*"+p+";j<"+d+";++j,"+m+"+="+s+"){var y0="+g+"["+i+"+"+m+"],"+(r?"y1="+g+"["+i+"+"+m+"+"+n+"],":"")+"yi="+v+"[j];";return t?_.push(w,x,":",k):_.push(k,x,":",w),r?_.push("if(y1"+d+"-"+p+"){"),t?(k(!0,!1),w.push("}else{"),k(!1,!1)):(w.push("if("+o+"){"),k(!0,!0),w.push("}else{"),k(!0,!1),w.push("}}else{if("+o+"){"),k(!1,!0),w.push("}else{"),k(!1,!1),w.push("}")),w.push("}}return "+e);var A=r.join("")+w.join("");return new Function(A)()}r.partial=_(!1),r.full=_(!0)},{}],87:[function(t,e,r){"use strict";e.exports=function(t,e,r,a,u,S,C,E,L){!function(t,e){var r=8*i.log2(e+1)*(t+1)|0,a=i.nextPow2(b*r);w.length0;){var D=(O-=1)*b,P=w[D],R=w[D+1],F=w[D+2],B=w[D+3],N=w[D+4],j=w[D+5],V=O*_,U=k[V],q=k[V+1],H=1&j,G=!!(16&j),W=u,Y=S,X=E,Z=L;if(H&&(W=E,Y=L,X=u,Z=S),!(2&j&&(F=v(t,P,R,F,W,Y,q),R>=F)||4&j&&(R=m(t,P,R,F,W,Y,U))>=F)){var $=F-R,J=N-B;if(G){if(t*$*($+J)=p0)&&!(p1>=hi)",["p0","p1"]),g=u("lo===p0",["p0"]),v=u("lo>>1,h=2*t,p=f,d=s[h*f+e];for(;c=x?(p=y,d=x):m>=_?(p=v,d=m):(p=b,d=_):x>=_?(p=y,d=x):_>=m?(p=v,d=m):(p=b,d=_);for(var w=h*(u-1),k=h*p,A=0;Ar&&i[f+e]>c;--u,f-=o){for(var h=f,p=f+o,d=0;d=0&&i.push("lo=e[k+n]");t.indexOf("hi")>=0&&i.push("hi=e[k+o]");return r.push(n.replace("_",i.join()).replace("$",t)),Function.apply(void 0,r)};var n="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"},{}],90:[function(t,e,r){"use strict";e.exports=function(t,e){e<=4*n?i(0,e-1,t):function t(e,r,f){var h=(r-e+1)/6|0,p=e+h,d=r-h,g=e+r>>1,v=g-h,m=g+h,y=p,x=v,b=g,_=m,w=d,k=e+1,A=r-1,M=0;c(y,x,f)&&(M=y,y=x,x=M);c(_,w,f)&&(M=_,_=w,w=M);c(y,b,f)&&(M=y,y=b,b=M);c(x,b,f)&&(M=x,x=b,b=M);c(y,_,f)&&(M=y,y=_,_=M);c(b,_,f)&&(M=b,b=_,_=M);c(x,w,f)&&(M=x,x=w,w=M);c(x,b,f)&&(M=x,x=b,b=M);c(_,w,f)&&(M=_,_=w,w=M);var T=f[2*x];var S=f[2*x+1];var C=f[2*_];var E=f[2*_+1];var L=2*y;var z=2*b;var O=2*w;var I=2*p;var D=2*g;var P=2*d;for(var R=0;R<2;++R){var F=f[L+R],B=f[z+R],N=f[O+R];f[I+R]=F,f[D+R]=B,f[P+R]=N}o(v,e,f);o(m,r,f);for(var j=k;j<=A;++j)if(u(j,T,S,f))j!==k&&a(j,k,f),++k;else if(!u(j,C,E,f))for(;;){if(u(A,C,E,f)){u(A,T,S,f)?(s(j,k,A,f),++k,--A):(a(j,A,f),--A);break}if(--At;){var c=r[l-2],u=r[l-1];if(cr[e+1])}function u(t,e,r,n){var i=n[t*=2];return i>>1;a(p,S);for(var C=0,E=0,k=0;k=o)d(c,u,E--,L=L-o|0);else if(L>=0)d(s,l,C--,L);else if(L<=-o){L=-L-o|0;for(var z=0;z>>1;a(p,C);for(var E=0,L=0,z=0,A=0;A>1==p[2*A+3]>>1&&(I=2,A+=1),O<0){for(var D=-(O>>1)-1,P=0;P>1)-1;0===I?d(s,l,E--,D):1===I?d(c,u,L--,D):2===I&&d(f,h,z--,D)}}},scanBipartite:function(t,e,r,n,i,c,u,f,h,v,m,y){var x=0,b=2*t,_=e,w=e+t,k=1,A=1;n?A=o:k=o;for(var M=i;M>>1;a(p,E);for(var L=0,M=0;M=o?(O=!n,T-=o):(O=!!n,T-=1),O)g(s,l,L++,T);else{var I=y[T],D=b*T,P=m[D+e+1],R=m[D+e+1+t];t:for(var F=0;F>>1;a(p,k);for(var A=0,x=0;x=o)s[A++]=b-o;else{var T=d[b-=1],S=v*b,C=h[S+e+1],E=h[S+e+1+t];t:for(var L=0;L=0;--L)if(s[L]===b){for(var D=L+1;D0&&s.length>a){s.warned=!0;var l=new Error("Possible EventEmitter memory leak detected. "+s.length+' "'+String(e)+'" listeners added. Use emitter.setMaxListeners() to increase limit.');l.name="MaxListenersExceededWarning",l.emitter=t,l.type=e,l.count=s.length,"object"==typeof console&&console.warn&&console.warn("%s: %s",l.name,l.message)}}else s=o[e]=r,++t._eventsCount;return t}function h(){if(!this.fired)switch(this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length){case 0:return this.listener.call(this.target);case 1:return this.listener.call(this.target,arguments[0]);case 2:return this.listener.call(this.target,arguments[0],arguments[1]);case 3:return this.listener.call(this.target,arguments[0],arguments[1],arguments[2]);default:for(var t=new Array(arguments.length),e=0;e1&&(e=arguments[1]),e instanceof Error)throw e;var l=new Error('Unhandled "error" event. ('+e+")");throw l.context=e,l}if(!(r=o[t]))return!1;var c="function"==typeof r;switch(n=arguments.length){case 1:!function(t,e,r){if(e)t.call(r);else for(var n=t.length,i=v(t,n),a=0;a=0;o--)if(r[o]===e||r[o].listener===e){s=r[o].listener,a=o;break}if(a<0)return this;0===a?r.shift():function(t,e){for(var r=e,n=r+1,i=t.length;n=0;a--)this.removeListener(t,e[a]);return this},o.prototype.listeners=function(t){return d(this,t,!0)},o.prototype.rawListeners=function(t){return d(this,t,!1)},o.listenerCount=function(t,e){return"function"==typeof t.listenerCount?t.listenerCount(e):g.call(t,e)},o.prototype.listenerCount=g,o.prototype.eventNames=function(){return this._eventsCount>0?Reflect.ownKeys(this._events):[]}},{}],94:[function(t,e,r){"use strict";var n=t("base64-js"),i=t("ieee754");r.Buffer=s,r.SlowBuffer=function(t){+t!=t&&(t=0);return s.alloc(+t)},r.INSPECT_MAX_BYTES=50;var a=2147483647;function o(t){if(t>a)throw new RangeError('The value "'+t+'" is invalid for option "size"');var e=new Uint8Array(t);return e.__proto__=s.prototype,e}function s(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 u(t)}return l(t,e,r)}function l(t,e,r){if("string"==typeof t)return function(t,e){"string"==typeof e&&""!==e||(e="utf8");if(!s.isEncoding(e))throw new TypeError("Unknown encoding: "+e);var r=0|p(t,e),n=o(r),i=n.write(t,e);i!==r&&(n=n.slice(0,i));return n}(t,e);if(ArrayBuffer.isView(t))return f(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(j(t,ArrayBuffer)||t&&j(t.buffer,ArrayBuffer))return function(t,e,r){if(e<0||t.byteLength=a)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+a.toString(16)+" bytes");return 0|t}function p(t,e){if(s.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||j(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 F(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return B(t).length;default:if(i)return n?-1:F(t).length;e=(""+e).toLowerCase(),i=!0}}function d(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function g(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),V(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=s.from(e,n)),s.isBuffer(e))return 0===e.length?-1:v(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):v(t,[e],r,n,i);throw new TypeError("val must be string, number or Buffer")}function v(t,e,r,n,i){var a,o=1,s=t.length,l=e.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(t.length<2||e.length<2)return-1;o=2,s/=2,l/=2,r/=2}function c(t,e){return 1===o?t[e]:t.readUInt16BE(e*o)}if(i){var u=-1;for(a=r;as&&(r=s-l),a=r;a>=0;a--){for(var f=!0,h=0;hi&&(n=i):n=i;var a=e.length;n>a/2&&(n=a/2);for(var o=0;o>8,i=r%256,a.push(i),a.push(n);return a}(e,t.length-r),t,r,n)}function k(t,e,r){return 0===e&&r===t.length?n.fromByteArray(t):n.fromByteArray(t.slice(e,r))}function A(t,e,r){r=Math.min(t.length,r);for(var n=[],i=e;i239?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<=M)return String.fromCharCode.apply(String,t);var r="",n=0;for(;nthis.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 C(this,e,r);case"utf8":case"utf-8":return A(this,e,r);case"ascii":return T(this,e,r);case"latin1":case"binary":return S(this,e,r);case"base64":return k(this,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return E(this,e,r);default:if(n)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),n=!0}}.apply(this,arguments)},s.prototype.toLocaleString=s.prototype.toString,s.prototype.equals=function(t){if(!s.isBuffer(t))throw new TypeError("Argument must be a Buffer");return this===t||0===s.compare(this,t)},s.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+=" ... "),""},s.prototype.compare=function(t,e,r,n,i){if(j(t,Uint8Array)&&(t=s.from(t,t.offset,t.byteLength)),!s.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 a=(i>>>=0)-(n>>>=0),o=(r>>>=0)-(e>>>=0),l=Math.min(a,o),c=this.slice(n,i),u=t.slice(e,r),f=0;f>>=0,isFinite(r)?(r>>>=0,void 0===n&&(n="utf8")):(n=r,r=void 0)}var i=this.length-e;if((void 0===r||r>i)&&(r=i),t.length>0&&(r<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var a=!1;;)switch(n){case"hex":return m(this,t,e,r);case"utf8":case"utf-8":return y(this,t,e,r);case"ascii":return x(this,t,e,r);case"latin1":case"binary":return b(this,t,e,r);case"base64":return _(this,t,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return w(this,t,e,r);default:if(a)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),a=!0}},s.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var M=4096;function T(t,e,r){var n="";r=Math.min(t.length,r);for(var i=e;in)&&(r=n);for(var i="",a=e;ar)throw new RangeError("Trying to access beyond buffer length")}function z(t,e,r,n,i,a){if(!s.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>i||et.length)throw new RangeError("Index out of range")}function O(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,n,a){return e=+e,r>>>=0,a||O(t,0,r,4),i.write(t,e,r,n,23,4),r+4}function D(t,e,r,n,a){return e=+e,r>>>=0,a||O(t,0,r,8),i.write(t,e,r,n,52,8),r+8}s.prototype.slice=function(t,e){var r=this.length;(t=~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),(e=void 0===e?r:~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),e>>=0,e>>>=0,r||L(t,e,this.length);for(var n=this[t],i=1,a=0;++a>>=0,e>>>=0,r||L(t,e,this.length);for(var n=this[t+--e],i=1;e>0&&(i*=256);)n+=this[t+--e]*i;return n},s.prototype.readUInt8=function(t,e){return t>>>=0,e||L(t,1,this.length),this[t]},s.prototype.readUInt16LE=function(t,e){return t>>>=0,e||L(t,2,this.length),this[t]|this[t+1]<<8},s.prototype.readUInt16BE=function(t,e){return t>>>=0,e||L(t,2,this.length),this[t]<<8|this[t+1]},s.prototype.readUInt32LE=function(t,e){return t>>>=0,e||L(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},s.prototype.readUInt32BE=function(t,e){return t>>>=0,e||L(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},s.prototype.readIntLE=function(t,e,r){t>>>=0,e>>>=0,r||L(t,e,this.length);for(var n=this[t],i=1,a=0;++a=(i*=128)&&(n-=Math.pow(2,8*e)),n},s.prototype.readIntBE=function(t,e,r){t>>>=0,e>>>=0,r||L(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},s.prototype.readInt8=function(t,e){return t>>>=0,e||L(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},s.prototype.readInt16LE=function(t,e){t>>>=0,e||L(t,2,this.length);var r=this[t]|this[t+1]<<8;return 32768&r?4294901760|r:r},s.prototype.readInt16BE=function(t,e){t>>>=0,e||L(t,2,this.length);var r=this[t+1]|this[t]<<8;return 32768&r?4294901760|r:r},s.prototype.readInt32LE=function(t,e){return t>>>=0,e||L(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},s.prototype.readInt32BE=function(t,e){return t>>>=0,e||L(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},s.prototype.readFloatLE=function(t,e){return t>>>=0,e||L(t,4,this.length),i.read(this,t,!0,23,4)},s.prototype.readFloatBE=function(t,e){return t>>>=0,e||L(t,4,this.length),i.read(this,t,!1,23,4)},s.prototype.readDoubleLE=function(t,e){return t>>>=0,e||L(t,8,this.length),i.read(this,t,!0,52,8)},s.prototype.readDoubleBE=function(t,e){return t>>>=0,e||L(t,8,this.length),i.read(this,t,!1,52,8)},s.prototype.writeUIntLE=function(t,e,r,n){(t=+t,e>>>=0,r>>>=0,n)||z(this,t,e,r,Math.pow(2,8*r)-1,0);var i=1,a=0;for(this[e]=255&t;++a>>=0,r>>>=0,n)||z(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},s.prototype.writeUInt8=function(t,e,r){return t=+t,e>>>=0,r||z(this,t,e,1,255,0),this[e]=255&t,e+1},s.prototype.writeUInt16LE=function(t,e,r){return t=+t,e>>>=0,r||z(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},s.prototype.writeUInt16BE=function(t,e,r){return t=+t,e>>>=0,r||z(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},s.prototype.writeUInt32LE=function(t,e,r){return t=+t,e>>>=0,r||z(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},s.prototype.writeUInt32BE=function(t,e,r){return t=+t,e>>>=0,r||z(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},s.prototype.writeIntLE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var i=Math.pow(2,8*r-1);z(this,t,e,r,i-1,-i)}var a=0,o=1,s=0;for(this[e]=255&t;++a>0)-s&255;return e+r},s.prototype.writeIntBE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var i=Math.pow(2,8*r-1);z(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},s.prototype.writeInt8=function(t,e,r){return t=+t,e>>>=0,r||z(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},s.prototype.writeInt16LE=function(t,e,r){return t=+t,e>>>=0,r||z(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},s.prototype.writeInt16BE=function(t,e,r){return t=+t,e>>>=0,r||z(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},s.prototype.writeInt32LE=function(t,e,r){return t=+t,e>>>=0,r||z(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},s.prototype.writeInt32BE=function(t,e,r){return t=+t,e>>>=0,r||z(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},s.prototype.writeFloatLE=function(t,e,r){return I(this,t,e,!0,r)},s.prototype.writeFloatBE=function(t,e,r){return I(this,t,e,!1,r)},s.prototype.writeDoubleLE=function(t,e,r){return D(this,t,e,!0,r)},s.prototype.writeDoubleBE=function(t,e,r){return D(this,t,e,!1,r)},s.prototype.copy=function(t,e,r,n){if(!s.isBuffer(t))throw new TypeError("argument should be a Buffer");if(r||(r=0),n||0===n||(n=this.length),e>=t.length&&(e=t.length),e||(e=0),n>0&&n=this.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),t.length-e=0;--a)t[a+e]=this[a+r];else Uint8Array.prototype.set.call(t,this.subarray(r,n),e);return i},s.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&&!s.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>>=0,r=void 0===r?this.length:r>>>0,t||(t=0),"number"==typeof t)for(a=e;a55295&&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 B(t){return n.toByteArray(function(t){if((t=(t=t.split("=")[0]).trim().replace(P,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function N(t,e,r,n){for(var i=0;i=e.length||i>=t.length);++i)e[i+r]=t[i];return i}function j(t,e){return t instanceof e||null!=t&&null!=t.constructor&&null!=t.constructor.name&&t.constructor.name===e.name}function V(t){return t!=t}},{"base64-js":63,ieee754:398}],95:[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)),v=0;v0;){for(var u=r.pop(),s=r.pop(),f=-1,h=-1,l=o[s],d=1;d=0||(e.flip(s,u),i(t,e,r,f,s,h),i(t,e,r,s,h,f),i(t,e,r,h,u,f),i(t,e,r,u,f,h)))}}},{"binary-search-bounds":100,"robust-in-sphere":486}],97:[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;i0||l.length>0;){for(;s.length>0;){var p=s.pop();if(c[p]!==-i){c[p]=i;u[p];for(var d=0;d<3;++d){var g=h[3*p+d];g>=0&&0===c[g]&&(f[3*p+d]?l.push(g):(s.push(g),c[g]=i))}}}var v=l;l=s,s=v,l.length=0,i=-i}var m=function(t,e,r){for(var n=0,i=0;i1&&i(r[h[p-2]],r[h[p-1]],a)>0;)t.push([h[p-1],h[p-2],o]),p-=1;h.length=p,h.push(o);var d=u.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 p(t,e){var r;return(r=t.a[0]m[0]&&i.push(new c(m,v,s,f),new c(v,m,o,f))}i.sort(u);for(var y=i[0].a[0]-(1+Math.abs(i[0].a[0]))*Math.pow(2,-52),x=[new l([y,1],[y,0],-1,[],[],[],[])],b=[],f=0,_=i.length;f<_;++f){var w=i[f],k=w.type;k===a?h(b,x,t,w.a,w.idx):k===s?d(x,t,w):g(x,t,w)}return b}},{"binary-search-bounds":100,"robust-orientation":488}],99:[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=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>>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)}},{}],101:[function(t,e,r){"use strict";e.exports=function(t){for(var e=1,r=1;rr?r:t:te?e:t}},{}],105:[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;ae[2]?1:0)}function m(t,e,r){if(0!==t.length){if(e)for(var n=0;n=0;--a){var x=e[u=(S=n[a])[0]],b=x[0],_=x[1],w=t[b],k=t[_];if((w[0]-k[0]||w[1]-k[1])<0){var A=b;b=_,_=A}x[0]=b;var M,T=x[1]=S[1];for(i&&(M=x[2]);a>0&&n[a-1][0]===u;){var S,C=(S=n[--a])[1];i?e.push([T,C,M]):e.push([T,C]),T=C}i?e.push([T,_,M]):e.push([T,_])}return h}(t,e,h,v,r));return m(e,y,r),!!y||(h.length>0||v.length>0)}},{"./lib/rat-seg-intersect":106,"big-rat":67,"big-rat/cmp":65,"big-rat/to-float":79,"box-intersect":85,nextafter:437,"rat-vec":472,"robust-segment-intersect":491,"union-find":524}],106:[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),v=c(a,g);return l(t,v)};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":66,"big-rat/mul":76,"big-rat/sign":77,"big-rat/sub":78,"rat-vec/add":471,"rat-vec/muls":473,"rat-vec/sub":474}],107:[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:104}],108:[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]}},{}],109:[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:104,"color-rgba":111,dtype:155}],110:[function(t,e,r){(function(r){"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=t.slice(1),f=u.length,h=f<=4;c=1,h?(l=[parseInt(u[0]+u[0],16),parseInt(u[1]+u[1],16),parseInt(u[2]+u[2],16)],4===f&&(c=parseInt(u[3]+u[3],16)/255)):(l=[parseInt(u[0]+u[1],16),parseInt(u[2]+u[3],16),parseInt(u[4]+u[5],16)],8===f&&(c=parseInt(u[6]+u[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 p=e[1],u=p.replace(/a$/,"");s=u;var f="cmyk"===u?4:"gray"===u?1:3;l=e[2].trim().split(/\s*,\s*/).map(function(t,e){if(/%$/.test(t))return e===f?parseFloat(t)/100:"rgb"===u?255*parseFloat(t)/100:parseFloat(t);if("h"===u[e]){if(/deg$/.test(t))return parseFloat(t);if(void 0!==o[t])return o[t]}return parseFloat(t)}),p===u&&l.push(1),c=void 0===l[f]?1:l[f],l=l.slice(0,f)}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,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"color-name":108,defined:150,"is-plain-obj":408}],111:[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:104,"color-parse":110,"color-space/hsl":112}],112:[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":113}],113:[function(t,e,r){"use strict";e.exports={name:"rgb",min:[0,0,0],max:[255,255,255],channel:["red","green","blue"],alias:["RGB"]}},{}],114:[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]}]}},{}],115:[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)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 v=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:(n[3]=d[0]+(d[1]-d[0])*r,n)}),m=[];for(g=0;g0?-1:l(t,e,a)?-1:1:0===s?c>0?1:l(t,e,r)?1:-1:i(c-s)}var h=n(t,e,r);if(h>0)return o>0&&n(t,e,a)>0?1:-1;if(h<0)return o>0||n(t,e,a)>0?1:-1;var p=n(t,e,a);return p>0?1: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":488,"robust-product":489,"robust-sum":493,signum:494,"two-sum":522}],117:[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],v=e[2],m=e[3];return u+f+h+p-(d+g+v+m)||n(u,f,h,p)-n(d,g,v,m,d)||n(u+f,u+h,u+p,f+h,f+p,h+p)-n(d+g,d+v,d+m,g+v,g+m,v+m)||n(u+f+h,u+f+p,u+h+p,f+h+p)-n(d+g+v,d+g+m,d+v+m,g+v+m);default:for(var y=t.slice().sort(i),x=e.slice().sort(i),b=0;bt[r][0]&&(r=n);return er?[[r],[e]]:[[e]]}},{}],121:[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=e[l]&&(s+=1);a[o]=s}}return t}(o,r)}};var n=t("incremental-convex-hull"),i=t("affine-hull")},{"affine-hull":51,"incremental-convex-hull":399}],123:[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"}},{}],124:[function(t,e,r){e.exports=["xx-small","x-small","small","medium","large","x-large","xx-large","larger","smaller"]},{}],125:[function(t,e,r){e.exports=["normal","condensed","semi-condensed","extra-condensed","ultra-condensed","expanded","semi-expanded","extra-expanded","ultra-expanded"]},{}],126:[function(t,e,r){e.exports=["normal","italic","oblique"]},{}],127:[function(t,e,r){e.exports=["normal","bold","bolder","lighter","100","200","300","400","500","600","700","800","900"]},{}],128:[function(t,e,r){"use strict";e.exports={parse:t("./parse"),stringify:t("./stringify")}},{"./parse":130,"./stringify":131}],129:[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":124}],130:[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":129,"css-font-stretch-keywords":125,"css-font-style-keywords":126,"css-font-weight-keywords":127,"css-global-keywords":132,"css-system-font-keywords":133,"string-split-by":507,unquote:526}],131:[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=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}},{}],135:[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;a0)throw new Error("cwise: pre() block may not reference array args");if(a0)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),a0)throw new Error("cwise: pre() block may not reference array index");if(a0)throw new Error("cwise: post() block may not reference array index")}else if("shape"===o){if(e.shapeArgs.push(a),ar.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":137}],136:[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;n0&&l.push("var "+c.join(",")),n=a-1;n>=0;--n)u=t[n],l.push(["for(i",n,"=0;i",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;o0&&y.push("shape=SS.slice(0)"),t.indexArgs.length>0){var x=new Array(r);for(l=0;l0&&m.push("var "+y.join(",")),l=0;l3&&m.push(a(t.pre,t,s));var k=a(t.body,t,s),A=function(t){for(var e=0,r=t[0].length;e0,c=[],u=0;u0;){"].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;u3&&m.push(a(t.post,t,s)),t.debug&&console.log("-----Generated cwise routine for ",e,":\n"+m.join("\n")+"\n----------");var M=[t.funcName||"unnamed","_cwise_loop_",o[0].join("s"),"m",A,function(t){for(var e=new Array(t.length),r=!0,n=0;n0&&(r=r&&e[n]===e[n-1])}return r?e[0]:e.join("")}(s)].join("");return new Function(["function ",M,"(",v.join(","),"){",m.join("\n"),"} return ",M].join(""))()}},{uniq:525}],137:[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;u0&&(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;ue?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>>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>>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(;++o1)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=r)for(n=i=r;++or&&(n=r),i=r)for(n=i=r;++or&&(n=r),i=0?(a>=m?10:a>=y?5:a>=x?2:1)*Math.pow(10,i):-Math.pow(10,-i)/(a>=m?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>=m?i*=10:a>=y?i*=5:a>=x&&(i*=2),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 A(t,e){var r,n,i=t.length,a=-1;if(null==e){for(;++a=r)for(n=r;++ar&&(n=r)}else for(;++a=r)for(n=r;++ar&&(n=r);return n}function M(t){if(!(i=t.length))return[];for(var e=-1,r=A(t,T),n=new Array(r);++et?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;af;)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=r)for(n=r;++an&&(n=r)}else for(;++a=r)for(n=r;++an&&(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=0;)for(e=(n=t[i]).length;--e>=0;)r[--o]=n[e];return r},t.min=A,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);r0)return[t];if((n=e0)for(t=Math.ceil(t/o),e=Math.floor(e/o),a=new Array(i=Math.ceil(e-t+1));++s=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(),v=a();++hl.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})}("object"==typeof r&&"undefined"!=typeof e?r:n.d3=n.d3||{})},{}],143:[function(t,e,r){var n;n=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})$/,l=/^#([0-9a-f]{6})$/,c=new RegExp("^rgb\\("+[i,i,i]+"\\)$"),u=new RegExp("^rgb\\("+[o,o,o]+"\\)$"),f=new RegExp("^rgba\\("+[i,i,i,a]+"\\)$"),h=new RegExp("^rgba\\("+[o,o,o,a]+"\\)$"),p=new RegExp("^hsl\\("+[a,o,o]+"\\)$"),d=new RegExp("^hsla\\("+[a,o,o,a]+"\\)$"),g={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 v(t){var e;return t=(t+"").trim().toLowerCase(),(e=s.exec(t))?new _((e=parseInt(e[1],16))>>8&15|e>>4&240,e>>4&15|240&e,(15&e)<<4|15&e,1):(e=l.exec(t))?m(parseInt(e[1],16)):(e=c.exec(t))?new _(e[1],e[2],e[3],1):(e=u.exec(t))?new _(255*e[1]/100,255*e[2]/100,255*e[3]/100,1):(e=f.exec(t))?y(e[1],e[2],e[3],e[4]):(e=h.exec(t))?y(255*e[1]/100,255*e[2]/100,255*e[3]/100,e[4]):(e=p.exec(t))?k(e[1],e[2]/100,e[3]/100,1):(e=d.exec(t))?k(e[1],e[2]/100,e[3]/100,e[4]):g.hasOwnProperty(t)?m(g[t]):"transparent"===t?new _(NaN,NaN,NaN,0):null}function m(t){return new _(t>>16&255,t>>8&255,255&t,1)}function y(t,e,r,n){return n<=0&&(t=e=r=NaN),new _(t,e,r,n)}function x(t){return t instanceof n||(t=v(t)),t?new _((t=t.rgb()).r,t.g,t.b,t.opacity):new _}function b(t,e,r,n){return 1===arguments.length?x(t):new _(t,e,r,null==n?1:n)}function _(t,e,r,n){this.r=+t,this.g=+e,this.b=+r,this.opacity=+n}function w(t){return((t=Math.max(0,Math.min(255,Math.round(t)||0)))<16?"0":"")+t.toString(16)}function k(t,e,r,n){return n<=0?t=e=r=NaN:r<=0||r>=1?t=e=NaN:e<=0&&(t=NaN),new M(t,e,r,n)}function A(t,e,r,i){return 1===arguments.length?function(t){if(t instanceof M)return new M(t.h,t.s,t.l,t.opacity);if(t instanceof n||(t=v(t)),!t)return new M;if(t instanceof M)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*(r0&&c<1?0:s,new M(s,l,c,t.opacity)}(t):new M(t,e,r,null==i?1:i)}function M(t,e,r,n){this.h=+t,this.s=+e,this.l=+r,this.opacity=+n}function T(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,{displayable:function(){return this.rgb().displayable()},hex:function(){return this.rgb().hex()},toString:function(){return this.rgb()+""}}),e(_,b,r(n,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new _(this.r*t,this.g*t,this.b*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new _(this.r*t,this.g*t,this.b*t,this.opacity)},rgb:function(){return this},displayable:function(){return 0<=this.r&&this.r<=255&&0<=this.g&&this.g<=255&&0<=this.b&&this.b<=255&&0<=this.opacity&&this.opacity<=1},hex:function(){return"#"+w(this.r)+w(this.g)+w(this.b)},toString:function(){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+")")}})),e(M,A,r(n,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new M(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new M(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=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 _(T(t>=240?t-240:t+120,i,n),T(t,i,n),T(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}}));var S=Math.PI/180,C=180/Math.PI,E=.96422,L=1,z=.82521,O=4/29,I=6/29,D=3*I*I,P=I*I*I;function R(t){if(t instanceof B)return new B(t.l,t.a,t.b,t.opacity);if(t instanceof G){if(isNaN(t.h))return new B(t.l,0,0,t.opacity);var e=t.h*S;return new B(t.l,Math.cos(e)*t.c,Math.sin(e)*t.c,t.opacity)}t instanceof _||(t=x(t));var r,n,i=U(t.r),a=U(t.g),o=U(t.b),s=N((.2225045*i+.7168786*a+.0606169*o)/L);return i===a&&a===o?r=n=s:(r=N((.4360747*i+.3850649*a+.1430804*o)/E),n=N((.0139322*i+.0971045*a+.7141733*o)/z)),new B(116*s-16,500*(r-s),200*(s-n),t.opacity)}function F(t,e,r,n){return 1===arguments.length?R(t):new B(t,e,r,null==n?1:n)}function B(t,e,r,n){this.l=+t,this.a=+e,this.b=+r,this.opacity=+n}function N(t){return t>P?Math.pow(t,1/3):t/D+O}function j(t){return t>I?t*t*t:D*(t-O)}function V(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 q(t){if(t instanceof G)return new G(t.h,t.c,t.l,t.opacity);if(t instanceof B||(t=R(t)),0===t.a&&0===t.b)return new G(NaN,0,t.l,t.opacity);var e=Math.atan2(t.b,t.a)*C;return new G(e<0?e+360:e,Math.sqrt(t.a*t.a+t.b*t.b),t.l,t.opacity)}function H(t,e,r,n){return 1===arguments.length?q(t):new G(t,e,r,null==n?1:n)}function G(t,e,r,n){this.h=+t,this.c=+e,this.l=+r,this.opacity=+n}e(B,F,r(n,{brighter:function(t){return new B(this.l+18*(null==t?1:t),this.a,this.b,this.opacity)},darker:function(t){return new B(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 _(V(3.1338561*(e=E*j(e))-1.6168667*(t=L*j(t))-.4906146*(r=z*j(r))),V(-.9787684*e+1.9161415*t+.033454*r),V(.0719453*e-.2289914*t+1.4052427*r),this.opacity)}})),e(G,H,r(n,{brighter:function(t){return new G(this.h,this.c,this.l+18*(null==t?1:t),this.opacity)},darker:function(t){return new G(this.h,this.c,this.l-18*(null==t?1:t),this.opacity)},rgb:function(){return R(this).rgb()}}));var W=-.14861,Y=1.78277,X=-.29227,Z=-.90649,$=1.97294,J=$*Z,K=$*Y,Q=Y*X-Z*W;function tt(t,e,r,n){return 1===arguments.length?function(t){if(t instanceof et)return new et(t.h,t.s,t.l,t.opacity);t instanceof _||(t=x(t));var e=t.r/255,r=t.g/255,n=t.b/255,i=(Q*n+J*e-K*r)/(Q+J-K),a=n-i,o=($*(r-i)-X*a)/Z,s=Math.sqrt(o*o+a*a)/($*i*(1-i)),l=s?Math.atan2(o,a)*C-120:NaN;return new et(l<0?l+360:l,s,i,t.opacity)}(t):new et(t,e,r,null==n?1:n)}function et(t,e,r,n){this.h=+t,this.s=+e,this.l=+r,this.opacity=+n}e(et,tt,r(n,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new et(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new et(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=isNaN(this.h)?0:(this.h+120)*S,e=+this.l,r=isNaN(this.s)?0:this.s*e*(1-e),n=Math.cos(t),i=Math.sin(t);return new _(255*(e+r*(W*n+Y*i)),255*(e+r*(X*n+Z*i)),255*(e+r*($*n)),this.opacity)}})),t.color=v,t.rgb=b,t.hsl=A,t.lab=F,t.hcl=H,t.lch=function(t,e,r,n){return 1===arguments.length?q(t):new G(r,e,t,null==n?1:n)},t.gray=function(t,e){return new B(t,0,0,null==e?1:e)},t.cubehelix=tt,Object.defineProperty(t,"__esModule",{value:!0})}("object"==typeof r&&"undefined"!=typeof e?r:n.d3=n.d3||{})},{}],144:[function(t,e,r){var n;n=this,function(t){"use strict";var e={value:function(){}};function r(){for(var t,e=0,r=arguments.length,i={};e=0&&(e=t.slice(r+1),t=t.slice(0,r)),t&&!n.hasOwnProperty(t))throw new Error("unknown type: "+t);return{type:t,name:e}})),l=-1,c=s.length;if(!(arguments.length<2)){if(null!=e&&"function"!=typeof e)throw new Error("invalid callback: "+e);for(;++l0)for(var r,n,i=new Array(r),a=0;ah+c||np+c||au.index){var f=h-s.x-s.vx,v=p-s.y-s.vy,m=f*f+v*v;mt.r&&(t.r=t[e].r)}function h(){if(r){var e,i,a=r.length;for(n=new Array(a),e=0;e=c)){(t.data!==r||t.next)&&(0===f&&(d+=(f=o())*f),0===h&&(d+=(h=o())*h),d1?(null==r?u.remove(t):u.set(t,y(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;c1?(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=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=i180||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;na&&(i=e.slice(a,i),s[o]?s[o]+=i:s[++o]=i),(r=r[0])===(n=n[0])?s[o]?s[o]+=n:s[++o]=n:(s[++o]=null,l.push({i:o,x:v(r,n)})),a=x.lastIndex;return a180?e+=360:e-t>180&&(t+=360),a.push({i:r.push(i(r)+"rotate(",null,n)-2,x:v(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:v(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:v(t,r)},{i:s-2,x:v(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=(a=(g+m)/2))?g=a:m=a,(u=r>=(o=(v+y)/2))?v=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+m)/2))?g=a:m=a,(u=r>=(o=(v+y)/2))?v=o:y=o}while((f=u<<1|c)==(h=(l>=o)<<1|s>=a));return i[h]=p,i[f]=d,t}var r=function(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;nf&&(f=i),ah&&(h=a));for(ft||t>i||n>e||e>a))return this;var o,s,l=i-r,c=this._root;switch(s=(e<(n+a)/2)<<1|t<(r+i)/2){case 0:do{(o=new Array(4))[s]=c,c=o}while(a=n+(l*=2),t>(i=r+l)||e>a);break;case 1:do{(o=new Array(4))[s]=c,c=o}while(a=n+(l*=2),(r=i-l)>t||e>a);break;case 2:do{(o=new Array(4))[s]=c,c=o}while(n=a-(l*=2),t>(i=r+l)||n>e);break;case 3:do{(o=new Array(4))[s]=c,c=o}while(n=a-(l*=2),(r=i-l)>t||n>e)}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=[],v=this._root;for(v&&g.push(new r(v,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(!(!(v=c.node)||(a=c.x0)>p||(o=c.y0)>d||(s=c.x1)=y)<<1|t>=m)&&(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,v.data),b=e-+this._y.call(null,v.data),_=x*x+b*b;if(_=(s=(d+v)/2))?d=s:v=s,(u=o>=(l=(g+m)/2))?g=l:m=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=0&&r._call.call(null,t),r=r._next;--n}function m(){l=(s=u.now())+c,n=i=0;try{v()}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,x(a)}(),l=0}}function y(){var t=u.now(),e=t-s;e>o&&(c-=e,s=t)}function x(t){n||(i&&(i=clearTimeout(i)),t-l>24?(t<1/0&&(i=setTimeout(m,t-u.now()-c)),a&&(a=clearInterval(a))):(a||(s=u.now(),a=setInterval(y,o)),n=1,f(m)))}d.prototype=g.prototype={constructor:d,restart:function(t,n,i){if("function"!=typeof t)throw new TypeError("callback is not a function");i=(null==i?h():+i)+(null==n?0:+n),this._next||r===this||(r?r._next=this:e=this,r=this),this._call=t,this._time=i,x()},stop:function(){this._call&&(this._call=null,this._time=1/0,x())}};t.now=h,t.timer=g,t.timerFlush=v,t.timeout=function(t,e,r){var n=new d;return e=null==e?0:+e,n.restart(function(r){n.stop(),t(r+e)},e,r),n},t.interval=function(t,e,r){var n=new d,i=e;return null==e?(n.restart(t,e,r),n):(e=+e,r=null==r?h():+r,n.restart(function a(o){o+=i,n.restart(a,i+=e,r),t(o)},e,r),n)},Object.defineProperty(t,"__esModule",{value:!0})}("object"==typeof r&&"undefined"!=typeof e?r:n.d3=n.d3||{})},{}],149:[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 te?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>>1;t(e[a],r)<0?n=a+1:i=a}return n},right:function(e,r,n,i){for(arguments.length<3&&(n=0),arguments.length<4&&(i=e.length);n>>1;t(e[a],r)>0?i=a:n=a+1}return n}}}t.ascending=h,t.descending=function(t,e){return et?1:e>=t?0:NaN},t.min=function(t,e){var r,n,i=-1,a=t.length;if(1===arguments.length){for(;++i=n){r=n;break}for(;++in&&(r=n)}else{for(;++i=n){r=n;break}for(;++in&&(r=n)}return r},t.max=function(t,e){var r,n,i=-1,a=t.length;if(1===arguments.length){for(;++i=n){r=n;break}for(;++ir&&(r=n)}else{for(;++i=n){r=n;break}for(;++ir&&(r=n)}return r},t.extent=function(t,e){var r,n,i,a=-1,o=t.length;if(1===arguments.length){for(;++a=n){r=i=n;break}for(;++an&&(r=n),i=n){r=i=n;break}for(;++an&&(r=n),i1)return o/(l-1)},t.deviation=function(){var e=t.variance.apply(this,arguments);return e?Math.sqrt(e):e};var v=g(h);function m(t){return t.length}t.bisectLeft=v.left,t.bisect=t.bisectRight=v.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=0;)for(e=(n=t[i]).length;--e>=0;)r[--o]=n[e];return r};var y=Math.abs;function x(t,e){for(var r in e)Object.defineProperty(t.prototype,r,{value:e[r],enumerable:!1})}function b(){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=function(t){var e=1;for(;t*e%1;)e*=10;return e}(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)=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 b;++h=i.length)return e;var n=[],o=a[r++];return e.forEach(function(e,i){n.push({key:e,values:t(i,r)})}),o?n.sort(function(t,e){return o(t.key,e.key)}):n}(o(t.map,e,0),0)},n.key=function(t){return i.push(t),n},n.sortKeys=function(t){return a[i.length-1]=t,n},n.sortValues=function(t){return e=t,n},n.rollup=function(t){return r=t,n},n},t.set=function(t){var e=new L;if(t)for(var r=0,n=t.length;r=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(V,"\\$&")};var V=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g,U={}.__proto__?function(t,e){t.__proto__=e}:function(t,e){for(var r in e)t[r]=e[r]};function q(t){return U(t,Y),t}var H=function(t,e){return e.querySelector(t)},G=function(t,e){return e.querySelectorAll(t)},W=function(t,e){var r=t.matches||t[I(t,"matchesSelector")];return(W=function(t,e){return r.call(t,e)})(t,e)};"function"==typeof Sizzle&&(H=function(t,e){return Sizzle(t,e)[0]||null},G=Sizzle,W=Sizzle.matchesSelector),t.selection=function(){return t.select(i.documentElement)};var Y=t.selection.prototype=[];function X(t){return"function"==typeof t?t:function(){return H(t,this)}}function Z(t){return"function"==typeof t?t:function(){return G(t,this)}}Y.select=function(t){var e,r,n,i,a=[];t=X(t);for(var o=-1,s=this.length;++o=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=et(t)).length,i=-1;if(e=r.classList){for(;++i=0;)(r=n[i])&&(a&&a!==r.nextSibling&&a.parentNode.insertBefore(r,a),a=r);return this},Y.sort=function(t){t=function(t){arguments.length||(t=h);return function(e,r){return e&&r?t(e.__data__,r.__data__):!e-!r}}.apply(this,arguments);for(var e=-1,r=this.length;++e0&&(e=e.slice(0,o));var l=dt.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?P: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=n&&(n=e+1);!(o=s[n])&&++n0?1:t<0?-1:0}function Ot(t,e,r){return(e[0]-t[0])*(r[1]-t[1])-(e[1]-t[1])*(r[0]-t[0])}function It(t){return t>1?0:t<-1?Mt:Math.acos(t)}function Dt(t){return t>1?Ct:t<-1?-Ct:Math.asin(t)}function Pt(t){return((t=Math.exp(t))+1/t)/2}function Rt(t){return(t=Math.sin(t/2))*t}var Ft=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(h0&&(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 C(t){v++||t({type:"zoomstart"})}function E(t){S(),t({type:"zoom",scale:h.k,translate:[h.x,h.y]})}function L(t){--v||(t({type:"zoomend"}),r=null)}function z(){var e=this,r=_.of(e,arguments),n=0,i=t.select(o(e)).on(y,function(){n=1,M(t.mouse(e),a),E(r)}).on(x,function(){i.on(y,null).on(x,null),s(n),L(r)}),a=k(t.mouse(e)),s=xt(e);fs.call(e),C(r)}function O(){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=xt(r);function d(){var n=t.touches(r);return e=h.k,n.forEach(function(t){t.identifier in i&&(i[t.identifier]=k(t))}),n}function g(){var e=t.event.target;t.select(e).on(l,v).on(c,y),u.push(e);for(var n=t.event.changedTouches,o=0,f=n.length;o1){m=p[0];var x=p[1],b=m[0]-x[0],_=m[1]-x[1];a=b*b+_*_}}function v(){var o,l,c,u,f=t.touches(r);fs.call(r);for(var h=0,p=f.length;h360?t-=360:t<0&&(t+=360),t<60?n+(i-n)*t/60:t<180?i:t<240?n+(i-n)*(240-t)/60:n}(t))}return t=isNaN(t)?0:(t%=360)<0?t+360:t,e=isNaN(e)?0:e<0?0:e>1?1:e,n=2*(r=r<0?0:r>1?1:r)-(i=r<=.5?r*(1+e):r+e-r*e),new ae(a(t+120),a(t),a(t-120))}function Gt(e,r,n){return this instanceof Gt?(this.h=+e,this.c=+r,void(this.l=+n)):arguments.length<2?e instanceof Gt?new Gt(e.h,e.c,e.l):ee(e instanceof Xt?e.l:(e=he((e=t.rgb(e)).r,e.g,e.b)).l,e.a,e.b):new Gt(e,r,n)}qt.brighter=function(t){return t=Math.pow(.7,arguments.length?t:1),new Ut(this.h,this.s,this.l/t)},qt.darker=function(t){return t=Math.pow(.7,arguments.length?t:1),new Ut(this.h,this.s,t*this.l)},qt.rgb=function(){return Ht(this.h,this.s,this.l)},t.hcl=Gt;var Wt=Gt.prototype=new Vt;function Yt(t,e,r){return isNaN(t)&&(t=0),isNaN(e)&&(e=0),new Xt(r,Math.cos(t*=Et)*e,Math.sin(t)*e)}function Xt(t,e,r){return this instanceof Xt?(this.l=+t,this.a=+e,void(this.b=+r)):arguments.length<2?t instanceof Xt?new Xt(t.l,t.a,t.b):t instanceof Gt?Yt(t.h,t.c,t.l):he((t=ae(t)).r,t.g,t.b):new Xt(t,e,r)}Wt.brighter=function(t){return new Gt(this.h,this.c,Math.min(100,this.l+Zt*(arguments.length?t:1)))},Wt.darker=function(t){return new Gt(this.h,this.c,Math.max(0,this.l-Zt*(arguments.length?t:1)))},Wt.rgb=function(){return Yt(this.h,this.c,this.l).rgb()},t.lab=Xt;var Zt=18,$t=.95047,Jt=1,Kt=1.08883,Qt=Xt.prototype=new Vt;function te(t,e,r){var n=(t+16)/116,i=n+e/500,a=n-r/200;return new ae(ie(3.2404542*(i=re(i)*$t)-1.5371385*(n=re(n)*Jt)-.4985314*(a=re(a)*Kt)),ie(-.969266*i+1.8760108*n+.041556*a),ie(.0556434*i-.2040259*n+1.0572252*a))}function ee(t,e,r){return t>0?new Gt(Math.atan2(r,e)*Lt,Math.sqrt(e*e+r*r),t):new Gt(NaN,NaN,t)}function re(t){return t>.206893034?t*t*t:(t-4/29)/7.787037}function ne(t){return t>.008856?Math.pow(t,1/3):7.787037*t+4/29}function ie(t){return Math.round(255*(t<=.00304?12.92*t:1.055*Math.pow(t,1/2.4)-.055))}function ae(t,e,r){return this instanceof ae?(this.r=~~t,this.g=~~e,void(this.b=~~r)):arguments.length<2?t instanceof ae?new ae(t.r,t.g,t.b):ue(""+t,ae,Ht):new ae(t,e,r)}function oe(t){return new ae(t>>16,t>>8&255,255&t)}function se(t){return oe(t)+""}Qt.brighter=function(t){return new Xt(Math.min(100,this.l+Zt*(arguments.length?t:1)),this.a,this.b)},Qt.darker=function(t){return new Xt(Math.max(0,this.l-Zt*(arguments.length?t:1)),this.a,this.b)},Qt.rgb=function(){return te(this.l,this.a,this.b)},t.rgb=ae;var le=ae.prototype=new Vt;function ce(t){return t<16?"0"+Math.max(0,t).toString(16):Math.min(255,t).toString(16)}function ue(t,e,r){var n,i,a,o=0,s=0,l=0;if(n=/([a-z]+)\((.*)\)/.exec(t=t.toLowerCase()))switch(i=n[2].split(","),n[1]){case"hsl":return r(parseFloat(i[0]),parseFloat(i[1])/100,parseFloat(i[2])/100);case"rgb":return e(de(i[0]),de(i[1]),de(i[2]))}return(a=ge.get(t))?e(a.r,a.g,a.b):(null==t||"#"!==t.charAt(0)||isNaN(a=parseInt(t.slice(1),16))||(4===t.length?(o=(3840&a)>>4,o|=o>>4,s=240&a,s|=s>>4,l=15&a,l|=l<<4):7===t.length&&(o=(16711680&a)>>16,s=(65280&a)>>8,l=255&a)),e(o,s,l))}function fe(t,e,r){var n,i,a=Math.min(t/=255,e/=255,r/=255),o=Math.max(t,e,r),s=o-a,l=(o+a)/2;return s?(i=l<.5?s/(o+a):s/(2-o-a),n=t==o?(e-r)/s+(e0&&l<1?0:n),new Ut(n,i,l)}function he(t,e,r){var n=ne((.4124564*(t=pe(t))+.3575761*(e=pe(e))+.1804375*(r=pe(r)))/$t),i=ne((.2126729*t+.7151522*e+.072175*r)/Jt);return Xt(116*i-16,500*(n-i),200*(i-ne((.0193339*t+.119192*e+.9503041*r)/Kt)))}function pe(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function de(t){var e=parseFloat(t);return"%"===t.charAt(t.length-1)?Math.round(2.55*e):e}le.brighter=function(t){t=Math.pow(.7,arguments.length?t:1);var e=this.r,r=this.g,n=this.b,i=30;return e||r||n?(e&&e=200&&e<300||304===e){try{t=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))}ge.forEach(function(t,e){ge.set(t,oe(e))}),t.functor=ve,t.xhr=me(z),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=ye(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++24?(isFinite(e)&&(clearTimeout(we),we=setTimeout(Me,e)),_e=0):(_e=1,ke(Me))}function Te(){for(var t=Date.now(),e=xe;e;)t>=e.t&&e.c(t-e.t)&&(e.c=null),e=e.n;return t}function Se(){for(var t,e=xe,r=1/0;e;)e.c?(e.t8?function(t){return t/r}:function(t){return t*r},symbol:t}});t.formatPrefix=function(e,r){var n=0;return(e=+e)&&(e<0&&(e*=-1),r&&(e=t.round(e,Ce(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)))),Ee[8+n/3]};var Le=/(?:([^{])?([<>=^]))?([+\- ])?([$#])?(0)?(\d+)?(,)?(\.-?\d+)?([a-z%])?/i,ze=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,Ce(e,r))).toFixed(Math.max(0,Math.min(20,Ce(e*(1+1e-15),r))))}});function Oe(t){return t+""}var Ie=t.time={},De=Date;function Pe(){this._=new Date(arguments.length>1?Date.UTC.apply(this,arguments):arguments[0])}Pe.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(){Re.setUTCDate.apply(this._,arguments)},setDay:function(){Re.setUTCDay.apply(this._,arguments)},setFullYear:function(){Re.setUTCFullYear.apply(this._,arguments)},setHours:function(){Re.setUTCHours.apply(this._,arguments)},setMilliseconds:function(){Re.setUTCMilliseconds.apply(this._,arguments)},setMinutes:function(){Re.setUTCMinutes.apply(this._,arguments)},setMonth:function(){Re.setUTCMonth.apply(this._,arguments)},setSeconds:function(){Re.setUTCSeconds.apply(this._,arguments)},setTime:function(){Re.setTime.apply(this._,arguments)}};var Re=Date.prototype;function Fe(t,e,r){function n(e){var r=t(e),n=a(r,1);return e-r1)for(;o68?1900:2e3),r+i[0].length):-1}function $e(t,e,r){return/^[+-]\d{4}$/.test(e=e.slice(r,r+5))?(t.Z=-e,r+5):-1}function Je(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 Ke(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 Qe(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+Ue(n,"0",2)+Ue(i,"0",2)}function ar(t,e,r){Ve.lastIndex=0;var n=Ve.exec(e.slice(r,r+1));return n?r+n[0].length:-1}function or(t){for(var e=t.length,r=-1;++r0&&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)}:z;return function(e){var n=Le.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,v="",m="",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,m="%",d="f";break;case"p":g=100,m="%",d="r";break;case"b":case"o":case"x":case"X":"#"===c&&(v="0"+d.toLowerCase());case"c":x=!1;case"d":y=!0,p=0;break;case"s":g=-1,d="r"}"$"===c&&(v=a[0],m=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=ze.get(d)||Oe;var b=u&&h;return function(e){var n=m;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+m}else e*=g;var _,w,k=(e=d(e,p)).lastIndexOf(".");if(k<0){var A=x?e.lastIndexOf("e"):-1;A<0?(_=e,w=""):(_=e.substring(0,A),w=e.substring(A))}else _=e.substring(0,k),w=r+e.substring(k+1);!u&&h&&(_=o(_,1/0));var M=v.length+_.length+w.length+(b?0:a.length),T=M"===s?T+a+e:"^"===s?T.substring(0,M>>=1)+a+e+T.substring(M):a+(b?e:T+e))+n}}}(e),timeFormat:function(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=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(De=Pe);return r._=t,e(r)}finally{De=Date}}return r.parse=function(t){try{De=Pe;var r=e.parse(t);return r&&r._}finally{De=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),v=He(s),m=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 Ue(t.getDate(),e,2)},e:function(t,e){return Ue(t.getDate(),e,2)},H:function(t,e){return Ue(t.getHours(),e,2)},I:function(t,e){return Ue(t.getHours()%12||12,e,2)},j:function(t,e){return Ue(1+Ie.dayOfYear(t),e,3)},L:function(t,e){return Ue(t.getMilliseconds(),e,3)},m:function(t,e){return Ue(t.getMonth()+1,e,2)},M:function(t,e){return Ue(t.getMinutes(),e,2)},p:function(t){return a[+(t.getHours()>=12)]},S:function(t,e){return Ue(t.getSeconds(),e,2)},U:function(t,e){return Ue(Ie.sundayOfYear(t),e,2)},w:function(t){return t.getDay()},W:function(t,e){return Ue(Ie.mondayOfYear(t),e,2)},x:u(n),X:u(i),y:function(t,e){return Ue(t.getFullYear()%100,e,2)},Y:function(t,e){return Ue(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=v.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){m.lastIndex=0;var n=m.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:Ke,e:Ke,H:tr,I:tr,j:Qe,L:nr,m:Je,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:We,w:Ge,W:Ye,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:$e,"%":ar};return u}(e)}};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=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);Cr.add(Math.atan2(h,f)),r=t,n=l,i=c}Er.point=function(o,s){Er.point=a,r=(t=o)*Et,n=Math.cos(s=(e=s)*Et/2+Mt/4),i=Math.sin(s)},Er.lineEnd=function(){a(t,e)}}function zr(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 Or(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function Ir(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 Dr(t,e){t[0]+=e[0],t[1]+=e[1],t[2]+=e[2]}function Pr(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?i=90:c<-kt&&(r=-90),f[0]=e,f[1]=n}};function p(t,a){u.push(f=[e=t,n=t]),ai&&(i=a)}function d(t,o){var s=zr([t*Et,o*Et]);if(l){var c=Ir(l,s),u=Ir([c[1],-c[0],0],c);Rr(u),u=Fr(u);var f=t-a,h=f>0?1:-1,d=u[0]*Lt*h,g=y(f)>180;if(g^(h*ai&&(i=v);else if(g^(h*a<(d=(d+360)%360-180)&&di&&(i=o);g?t_(e,n)&&(n=t):_(t,n)>_(e,n)&&(e=t):n>=e?(tn&&(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 v(){f[0]=e,f[1]=n,h.point=p,l=null}function m(t,e){if(l){var r=t-a;c+=y(r)>180?r+(r>0?360:-360):r}else o=t,s=e;Er.point(t,e),d(t,e)}function x(){Er.lineStart()}function b(){m(o,s),Er.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 k(t,e){return e[0]<=e[1]?e[0]<=t&&t<=e[1]:t_(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){mr=yr=xr=br=_r=wr=kr=Ar=Mr=Tr=Sr=0,t.geo.stream(e,Nr);var r=Mr,n=Tr,i=Sr,a=r*r+n*n+i*i;return a=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=0?1:-1,k=w*_,A=k>Mt,M=d*x;if(Cr.add(Math.atan2(M*w*Math.sin(k),g*b+M*Math.cos(k))),a+=A?_+w*Tt:_,A^h>=r^m>=r){var T=Ir(zr(f),zr(t));Rr(T);var S=Ir(i,T);Rr(S);var C=(A^_>=0?-1:1)*Dt(S[2]);(n>C||n===C&&(T[0]||T[1]))&&(o+=A^_>=0?1:-1)}if(!v++)break;h=m,d=x,g=b,f=t}}return(a<-kt||a0){for(x||(o.polygonStart(),x=!0),o.lineStart();++a1&&2&e&&r.push(r.pop().concat(r.shift())),s.push(r.filter(Jr))}return u}}function Jr(t){return t.length>1}function Kr(){var t,e=[];return{lineStart:function(){e.push(t=[])},point:function(e,r){t.push([e,r])},lineEnd:P,buffer:function(){var r=e;return e=[],t=null,r},rejoin:function(){e.length>1&&e.push(e.pop().concat(e.shift()))}}}function Qr(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=$r(Wr,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?Mt:-Mt,l=y(a-r);y(l-Mt)0?Ct:-Ct),t.point(i,n),t.lineEnd(),t.lineStart(),t.point(s,n),t.point(a,n),e=0):i!==s&&l>=Mt&&(y(r-i)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(-Mt,i),n.point(0,i),n.point(Mt,i),n.point(Mt,0),n.point(Mt,-i),n.point(0,-i),n.point(-Mt,-i),n.point(-Mt,0),n.point(-Mt,i);else if(y(t[0]-e[0])>kt){var a=t[0]0)){if(a/=h,h<0){if(a0){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(a0)){if(a/=p,p<0){if(a0){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(a0&&(i.a={x:l+u*h,y:c+u*p}),f<1&&(i.b={x:l+f*h,y:c+f*p}),i}}}}}}var rn=1e9;function nn(e,r,n,i){return function(l){var c,u,f,h,p,d,g,v,m,y,x,b=l,_=Kr(),w=en(e,r,n,i),k={point:T,lineStart:function(){k.point=S,u&&u.push(f=[]);y=!0,m=!1,g=v=NaN},lineEnd:function(){c&&(S(h,p),d&&m&&_.rejoin(),c.push(_.buffer()));k.point=T,m&&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;in&&Ot(c,a,t)>0&&++e:a[1]<=n&&Ot(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(),A(null,null,1,l),l.lineEnd()),a&&Yr(c,o,r,A,l),l.polygonEnd()),c=u=f=null}};function A(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 T(t,e){M(t,e)&&l.point(t,e)}function S(t,e){var r=M(t=Math.max(-rn,Math.min(rn,t)),e=Math.max(-rn,Math.min(rn,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&&m)l.point(t,e);else{var n={a:{x:g,y:v},b:{x:t,y:e}};w(n)?(m||(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,v=e,m=r}return k};function a(t,i){return y(t[0]-e)0?0:3:y(t[0]-n)0?2:1:y(t[1]-r)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=Mt/3,n=En(t),i=n(e,r);return i.parallels=function(t){return arguments.length?n(e=t[0]*Mt/180,r=t[1]*Mt/180):[e/Mt*180,r/Mt*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:P,lineStart:P,lineEnd:P,polygonStart:function(){ln=0,pn.lineStart=dn},polygonEnd:function(){pn.lineStart=pn.lineEnd=pn.point=P,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){tfn&&(fn=t);ehn&&(hn=e)},lineStart:P,lineEnd:P,polygonStart:P,polygonEnd:P};function vn(){var t=mn(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=mn(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 mn(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=kn},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,kr+=o*(e+n)/2,Ar+=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 kn(){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,kr+=o*(n+e)/2,Ar+=o,Mr+=(o=n*t-r*e)*(r+t),Tr+=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 An(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:P};function n(r,n){t.moveTo(r+e,n),t.arc(r,n,e,0,Tt)}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*Et),n=16;function i(e){return(n?function(e){var r,i,o,s,l,c,u,f,h,p,d,g,v={point:m,lineStart:y,lineEnd:b,polygonStart:function(){e.polygonStart(),v.lineStart=_},polygonEnd:function(){e.polygonEnd(),v.lineStart=y}};function m(r,n){r=t(r,n),e.point(r[0],r[1])}function y(){f=NaN,v.point=x,e.lineStart()}function x(r,i){var o=zr([r,i]),s=t(r,i);a(f,h,u,p,d,g,f=s[0],h=s[1],u=r,p=o[0],d=o[1],g=o[2],n,e),e.point(f,h)}function b(){v.point=m,e.lineEnd()}function _(){y(),v.point=w,v.lineEnd=k}function w(t,e){x(r=t,e),i=f,o=h,s=p,l=d,c=g,v.point=x}function k(){a(f,h,u,p,d,g,i,o,r,s,l,c,n,e),v.lineEnd=b,b()}return v}:function(e){return Sn(e,function(r,n){r=t(r,n),e.point(r[0],r[1])})})(e)}function a(n,i,o,s,l,c,u,f,h,p,d,g,v,m){var x=u-n,b=f-i,_=x*x+b*b;if(_>4*e&&v--){var w=s+p,k=l+d,A=c+g,M=Math.sqrt(w*w+k*k+A*A),T=Math.asin(A/=M),S=y(y(A)-1)e||y((x*z+b*O)/_-.5)>.3||s*p+l*d+c*g0&&16,i):Math.sqrt(e)},i}function Tn(t){this.stream=t}function Sn(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 En(function(){return t})()}function En(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,v=0,m=tn,x=z,b=null,_=null;function w(t){return[(t=i(t[0]*Et,t[1]*Et))[0]*c+a,o-t[1]*c]}function k(t){return(t=i.invert((t[0]-a)/c,(o-t[1])/c))&&[t[0]*Lt,t[1]*Lt]}function A(){i=Gr(n=In(d,g,v),r);var t=r(h,p);return a=u-t[0]*c,o=f+t[1]*c,M()}function M(){return s&&(s.valid=!1,s=null),w}return w.stream=function(t){return s&&(s.valid=!1),(s=Ln(m(n,l(x(t))))).valid=!0,s},w.clipAngle=function(t){return arguments.length?(m=null==t?(b=t,tn):function(t){var e=Math.cos(t),r=e>0,n=y(e)>kt;return $r(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),v=r?g?0:o(f,h):g?o(f+(f<0?Mt:-Mt),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 m;v&s||!(m=a(d,e,!0))||(u=0,r?(t.lineStart(),t.point(m[0][0],m[0][1]),t.point(m[1][0],m[1][1]),t.lineEnd()):(t.point(m[1][0],m[1][1]),t.lineEnd(),t.lineStart(),t.point(m[0][0],m[0][1])))}!g||e&&Br(e,d)||t.point(d[0],d[1]),e=d,l=g,s=v},lineEnd:function(){l&&t.lineEnd(),e=null},clean:function(){return u|(c&&l)<<1}}},Fn(t,6*Et),r?[0,-t]:[-Mt,t-Mt]);function i(t,r){return Math.cos(t)*Math.cos(r)>e}function a(t,r,n){var i=[1,0,0],a=Ir(zr(t),zr(r)),o=Or(a,a),s=a[0],l=o-s*s;if(!l)return!n&&t;var c=e*o/l,u=-e*s/l,f=Ir(i,a),h=Pr(i,c);Dr(h,Pr(a,u));var p=f,d=Or(h,p),g=Or(p,p),v=d*d-g*(Or(h,h)-1);if(!(v<0)){var m=Math.sqrt(v),x=Pr(p,(-d-m)/g);if(Dr(x,h),x=Fr(x),!n)return x;var b,_=t[0],w=r[0],k=t[1],A=r[1];w<_&&(b=_,_=w,w=b);var M=w-_,T=y(M-Mt)0^x[1]<(y(x[0]-_)Mt^(_<=x[0]&&x[0]<=w)){var S=Pr(p,(-d+m)/g);return Dr(S,h),[x,Fr(S)]}}}function o(e,n){var i=r?t:Mt-t,a=0;return e<-i?a|=1:e>i&&(a|=2),n<-i?a|=4:n>i&&(a|=8),a}}((b=+t)*Et),M()):b},w.clipExtent=function(t){return arguments.length?(_=t,x=t?nn(t[0][0],t[0][1],t[1][0],t[1][1]):z,M()):_},w.scale=function(t){return arguments.length?(c=+t,A()):c},w.translate=function(t){return arguments.length?(u=+t[0],f=+t[1],A()):[u,f]},w.center=function(t){return arguments.length?(h=t[0]%360*Et,p=t[1]%360*Et,A()):[h*Lt,p*Lt]},w.rotate=function(t){return arguments.length?(d=t[0]%360*Et,g=t[1]%360*Et,v=t.length>2?t[2]%360*Et:0,A()):[d*Lt,g*Lt,v*Lt]},t.rebind(w,l,"precision"),function(){return r=e.apply(this,arguments),w.invert=r.invert&&k,A()}}function Ln(t){return Sn(t,function(e,r){t.point(e*Et,r*Et)})}function zn(t,e){return[t,e]}function On(t,e){return[t>Mt?t-Tt:t<-Mt?t+Tt:t,e]}function In(t,e,r){return t?e||r?Gr(Pn(t),Rn(e,r)):Pn(t):e||r?Rn(e,r):On}function Dn(t){return function(e,r){return[(e+=t)>Mt?e-Tt:e<-Mt?e+Tt:e,r]}}function Pn(t){var e=Dn(t);return e.invert=Dn(-t),e}function Rn(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 Fn(t,e){var r=Math.cos(t),n=Math.sin(t);return function(i,a,o,s){var l=o*e;null!=i?(i=Bn(r,i),a=Bn(r,a),(o>0?ia)&&(i+=o*Tt)):(i=t+o*Tt,a=t-.5*l);for(var c,u=i;o>0?u>a:u2?t[2]*Et:0),e.invert=function(e){return(e=t.invert(e[0]*Et,e[1]*Et))[0]*=Lt,e[1]*=Lt,e},e},On.invert=zn,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=In(-t[0]*Et,-t[1]*Et,0).invert,i=[];return e(null,null,1,{point:function(t,e){i.push(t=n(t,e)),t[0]*=Lt,t[1]*=Lt}}),{type:"Polygon",coordinates:[i]}}return i.origin=function(t){return arguments.length?(r=t,i):r},i.angle=function(r){return arguments.length?(e=Fn((t=+r)*Et,n*Et),i):t},i.precision=function(r){return arguments.length?(e=Fn(t*Et,(n=+r)*Et),i):n},i.angle(90)},t.geo.distance=function(t,e){var r,n=(e[0]-t[0])*Et,i=t[1]*Et,a=e[1]*Et,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,v=360,m=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/v)*v,s,v).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%v)>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(m)):[[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(m)):[[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],v=+t[1],x):[g,v]},x.minorStep=function(t){return arguments.length?(p=+t[0],d=+t[1],x):[p,d]},x.precision=function(t){return arguments.length?(m=+t,c=Nn(o,a,90),u=jn(r,e,m),f=Nn(l,s,90),h=jn(i,n,m),x):m},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=Un;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]*Et,n=t[1]*Et,i=e[0]*Et,a=e[1]*Et,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(Rt(a-n)+o*l*Rt(i-r))),g=1/Math.sin(d),(v=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)*Lt,Math.atan2(a,Math.sqrt(n*n+i*i))*Lt]}:function(){return[r*Lt,n*Lt]}).distance=d,v;var r,n,i,a,o,s,l,c,u,f,h,p,d,g,v},t.geo.length=function(e){return yn=0,t.geo.stream(e,qn),yn};var qn={sphere:P,point:P,lineStart:function(){var t,e,r;function n(n,i){var a=Math.sin(i*=Et),o=Math.cos(i),s=y((n*=Et)-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}qn.point=function(i,a){t=i*Et,e=Math.sin(a*=Et),r=Math.cos(a),qn.point=n},qn.lineEnd=function(){qn.point=qn.lineEnd=P}},lineEnd:P,polygonStart:P,polygonEnd:P};function Hn(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 Gn=Hn(function(t){return Math.sqrt(2/(1+t))},function(t){return 2*Math.asin(t/2)});(t.geo.azimuthalEqualArea=function(){return Cn(Gn)}).raw=Gn;var Wn=Hn(function(t){var e=Math.acos(t);return e&&e/Math.sin(e)},z);function Yn(t,e){var r=Math.cos(t),n=function(t){return Math.tan(Mt/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 $n;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=zt(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 Xn(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)1&&Ot(t[r[n-2]],t[r[n-1]],t[i])<=0;)--n;r[n++]=i}return r.slice(0,n)}function ii(t,e){return t[0]-e[0]||t[1]-e[1]}(t.geo.stereographic=function(){return Cn(Qn)}).raw=Qn,ti.invert=function(t,e){return[-e,2*Math.atan(Math.exp(t))-Ct]},(t.geo.transverseMercator=function(){var t=Jn(ti),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=ti,t.geom={},t.geom.hull=function(t){var e=ei,r=ri;if(arguments.length)return n(t);function n(t){if(t.length<3)return[];var n,i=ve(e),a=ve(r),o=t.length,s=[],l=[];for(n=0;n=0;--n)p.push(t[s[c[n]][2]]);for(n=+f;nkt)s=s.L;else{if(!((i=a-wi(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=mi(t);if(fi.insert(e,l),e||r){if(e===r)return Si(e),r=mi(e.site),fi.insert(l,r),l.edge=r.edge=Li(e.site,l.site),Ti(e),void Ti(r);if(r){Si(e),Si(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,v=d.y-f,m=2*(h*v-p*g),y=h*h+p*p,x=g*g+v*v,b={x:(v*y-p*x)/m+u,y:(h*x-g*y)/m+f};zi(r.edge,c,d,b),l.edge=Li(c,t,null,b),r.edge=Li(t,d,null,b),Ti(e),Ti(r)}else l.edge=Li(e.site,l.site)}}function _i(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 wi(t,e){var r=t.N;if(r)return _i(r,e);var n=t.site;return n.y===e?n.x:1/0}function ki(t){this.site=t,this.edges=[]}function Ai(t,e){return e.angle-t.angle}function Mi(){Di(this),this.x=this.y=this.arc=this.site=this.cy=null}function Ti(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*(v=a.y-s)-c*u);if(!(f>=-At)){var h=l*l+c*c,p=u*u+v*v,d=(v*h-c*p)/f,g=(l*p-u*h)/f,v=g+s,m=gi.pop()||new Mi;m.arc=t,m.site=i,m.x=d+o,m.y=v+Math.sqrt(d*d+g*g),m.cy=v,t.circle=m;for(var y=null,x=pi._;x;)if(m.y=s)return;if(h>d){if(a){if(a.y>=c)return}else a={x:v,y:l};r={x:v,y:c}}else{if(a){if(a.y1)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=s)return}else a={x:o,y:n*o+i};r={x:s,y:n*s+i}}else{if(a){if(a.xkt||y(i-r)>kt)&&(s.splice(o,0,new Oi((m=a.site,x=u,b=y(n-f)kt?{x:f,y:y(e-f)kt?{x:y(r-d)kt?{x:h,y:y(e-h)kt?{x:y(r-p)=r&&c.x<=i&&c.y>=n&&c.y<=o?[[r,o],[i,o],[i,n],[r,n]]:[]).point=t[s]}),e}function s(t){return t.map(function(t,e){return{x:Math.round(n(t,e)/kt)*kt,y:Math.round(i(t,e)/kt)*kt,i:e}})}return o.links=function(t){return Bi(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 Bi(s(t)).cells.forEach(function(r,n){for(var i,a,o,s,l=r.site,c=r.edges.sort(Ai),u=-1,f=c.length,h=c[f-1].edge,p=h.l===l?h.r:h.l;++ua&&(i=e.slice(a,i),s[o]?s[o]+=i:s[++o]=i),(r=r[0])===(n=n[0])?s[o]?s[o]+=n:s[++o]=n:(s[++o]=null,l.push({i:o,x:Gi(r,n)})),a=Xi.lastIndex;return ag&&(g=l.x),l.y>v&&(v=l.y),c.push(l.x),u.push(l.y);else for(f=0;fg&&(g=b),_>v&&(v=_),c.push(b),u.push(_)}var w=g-p,k=v-d;function A(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,A(t=t.nodes[h]||(t.nodes[h]={leaf:!0,nodes:[],point:null,x:null,y:null,add:function(t){A(T,t,+m(t,++f),+x(t,f),p,d,g,v)}}),e,r,n,i,a,o,s)}w>k?v=d+w:g=p+k;var T={leaf:!0,nodes:[],point:null,x:null,y:null,add:function(t){A(T,t,+m(t,++f),+x(t,f),p,d,g,v)}};if(T.visit=function(t){!function t(e,r,n,i,a,o){if(!e(r,n,i,a,o)){var s=.5*(n+a),l=.5*(i+o),c=r.nodes;c[0]&&t(e,c[0],n,i,s,l),c[1]&&t(e,c[1],s,i,a,l),c[2]&&t(e,c[2],n,l,s,o),c[3]&&t(e,c[3],s,l,a,o)}}(t,T,p,d,g,v)},T.find=function(t){return function(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=_)<<1|e>=b,k=w+4;w=0&&!(n=t.interpolators[i](e,r)););return n}function $i(t,e){var r,n=[],i=[],a=t.length,o=e.length,s=Math.min(t.length,e.length);for(r=0;r=1)return 1;var e=t*t,r=e*t;return 4*(t<.5?r:3*(t-e)+r-.75)}function aa(t){return 1-Math.cos(t*Ct)}function oa(t){return Math.pow(2,10*(t-1))}function sa(t){return 1-Math.sqrt(1-t*t)}function la(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 ca(t,e){return e-=t,function(r){return Math.round(t+e*r)}}function ua(t){var e,r,n,i=[t.a,t.b],a=[t.c,t.d],o=ha(i),s=fa(i,a),l=ha(((e=a)[0]+=(n=-s)*(r=i)[0],e[1]+=n*r[1],e))||0;i[0]*a[1]=0?t.slice(0,n):t,a=n>=0?t.slice(n+1):"in";return i=Ki.get(i)||Ji,a=Qi.get(a)||z,e=a(i.apply(null,r.call(arguments,1))),function(t){return t<=0?0:t>=1?1:e(t)}},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 Yt(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 Ht(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 te(n+o*t,i+s*t,a+l*t)+""}},t.interpolateRound=ca,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 ua(e?e.matrix:pa)})(e)},ua.prototype.toString=function(){return"translate("+this.translate+")rotate("+this.rotate+")skewX("+this.skew+")scale("+this.scale+")"};var pa={a:1,b:0,c:0,d:1,e:0,f:0};function da(t){return t.length?t.pop()+",":""}function ga(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:Gi(t[0],e[0])},{i:i-2,x:Gi(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(da(r)+"rotate(",null,")")-2,x:Gi(t,e)})):e&&r.push(da(r)+"rotate("+e+")")}(e.rotate,r.rotate,n,i),function(t,e,r,n){t!==e?n.push({i:r.push(da(r)+"skewX(",null,")")-2,x:Gi(t,e)}):e&&r.push(da(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(da(r)+"scale(",null,",",null,")");n.push({i:i-4,x:Gi(t[0],e[0])},{i:i-2,x:Gi(t[1],e[1])})}else 1===e[0]&&1===e[1]||r.push(da(r)+"scale("+e+")")}(e.scale,r.scale,n,i),e=r=null,function(t){for(var e,r=-1,a=i.length;++r0?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=Ae(s.tick)),s):n},s.start=function(){var t,e,r,n=m.length,l=y.length,u=c[0],d=c[1];for(t=0;t=0;)r.push(i[n])}function Ea(t,e){for(var r=[t],n=[];null!=(t=r.pop());)if(n.push(t),(a=t.children)&&(i=a.length))for(var i,a,o=-1;++o=0;)o.push(u=c[l]),u.parent=a,u.depth=a.depth+1;r&&(a.value=0),a.children=c}else r&&(a.value=+r.call(n,a,a.depth)||0),delete a.children;return Ea(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&&(Ca(t,function(t){t.children&&(t.value=0)}),Ea(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;++cs&&(s=n),o.push(n)}for(r=0;ri&&(n=r,i=e);return n}function qa(t){return t.reduce(Ha,0)}function Ha(t,e){return t+e[1]}function Ga(t,e){return Wa(t,Math.ceil(Math.log(e.length)/Math.LN2+1))}function Wa(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 Ya(e){return[t.min(e),t.max(e)]}function Xa(t,e){return t.value-e.value}function Za(t,e){var r=t._pack_next;t._pack_next=e,e._pack_prev=t,e._pack_next=r,r._pack_prev=e}function $a(t,e){t._pack_next=e,e._pack_prev=t}function Ja(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 Ka(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(Qa),(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(eo(r,n,i=e[2]),x(i),Za(r,i),r._pack_prev=i,Za(i,n),n=r._pack_next,a=3;a0)for(o=-1;++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=ve(t),a):n},a.bins=function(t){return arguments.length?(i="number"==typeof t?function(e){return Wa(e,t)}:ve(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(Xa),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,Ea(s,function(t){t.r=+u(t.value)}),Ea(s,Ka),n){var f=n*(e?1:Math.max(2*s.r/l,2*s.r/c))/2;Ea(s,function(t){t.r+=f}),Ea(s,Ka),Ea(s,function(t){t.r-=f})}return function t(e,r,n,i){var a=e.children;e.x=r+=i*e.x;e.y=n+=i*e.y;e.r*=i;if(a)for(var o=-1,s=a.length;++op.x&&(p=t),t.depth>d.depth&&(d=t)});var g=r(h,p)/2-h.x,v=n[0]/(p.x+r(p,h)/2+g),m=n[1]/(d.depth||1);Ca(u,function(t){t.x=(t.x+g)*v,t.y=t.depth*m})}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=io(s),a=no(a),s&&a;)l=no(l),(o=io(o)).a=t,(i=s.z+f-a.z-c+r(s._,a._))>0&&(ao(oo(s,t,n),t,i),c+=i,u+=i),f+=s.m,c+=a.m,h+=l.m,u+=o.m;s&&!io(o)&&(o.t=s,o.m+=f-u),a&&!no(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},Sa(a,e)},t.layout.cluster=function(){var e=t.layout.hierarchy().sort(null).value(null),r=ro,n=[1,1],i=!1;function a(a,o){var s,l=e.call(this,a,o),c=l[0],u=0;Ea(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 Ea(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},Sa(a,e)},t.layout.treemap=function(){var e,r=t.layout.hierarchy(),n=Math.round,i=[1,1],a=null,o=so,s=!1,l="squarify",c=.5*(1+Math.sqrt(5));function u(t,e){for(var r,n,i=-1,a=t.length;++i0;)s.push(r=c[i-1]),s.area+=r.area,"squarify"!==l||(n=p(s,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;++oi&&(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);++or.dx)&&(u=r.dx);++o1);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;r2?vo:fo,s=i?ma:va;return a=t(e,r,s,n),o=t(r,e,s,Zi),l}function l(t){return a(t)}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(ca)};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 bo(e,t)};l.tickFormat=function(t,r){return _o(e,t,r)};l.nice=function(t){return yo(e,t),s()};l.copy=function(){return t(e,r,n,i)};return s()}([0,1],[0,1],Zi,!1)};var wo={s:1,g:1,p:1,r:1,e:1};function ko(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))}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=ho(a.map(o),i?Math:Mo);return r.domain(t),a=t.map(s),l};l.ticks=function(){var t=co(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(;c0;h--)e.push(s(c)*h);for(c=0;e[c]l;u--);e=e.slice(c,u)}return e};l.tickFormat=function(e,r){if(!arguments.length)return Ao;arguments.length<2?r=Ao:"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*n0?i[t-1]:r[0],tf?0:1;if(c=St)return l(c,p)+(s?l(s,1-p):"")+"Z";var d,g,v,m,y,x,b,_,w,k,A,M,T=0,S=0,C=[];if((m=(+o.apply(this,arguments)||0)/2)&&(v=n===Oo?Math.sqrt(s*s+c*c):+n.apply(this,arguments),p||(S*=-1),c&&(S=Dt(v/c*Math.sin(m))),s&&(T=Dt(v/s*Math.sin(m)))),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 E=Math.abs(f-u-2*S)<=Mt?0:1;if(S&&Bo(y,x,b,_)===p^E){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-T),k=s*Math.sin(f-T),A=s*Math.cos(u+T),M=s*Math.sin(u+T);var z=Math.abs(u-f+2*T)<=Mt?0:1;if(T&&Bo(w,k,A,M)===1-p^z){var O=(u+f)/2;w=s*Math.cos(O),k=s*Math.sin(O),A=M=null}}else w=k=0;if(h>kt&&(d=Math.min(Math.abs(c-s)/2,+r.apply(this,arguments)))>.001){g=s0?0:1}function No(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,v=h-u,m=p-f,y=v*v+m*m,x=r-n,b=u*p-h*f,_=(m<0?-1:1)*Math.sqrt(Math.max(0,x*x*y-b*b)),w=(b*m-v*_)/y,k=(-b*v-m*_)/y,A=(b*m+v*_)/y,M=(-b*v+m*_)/y,T=w-d,S=k-g,C=A-d,E=M-g;return T*T+S*S>C*C+E*E&&(w=A,k=M),[[w-l,k-c],[w*r/x,k*r/x]]}function jo(t){var e=ei,r=ri,n=Wr,i=Uo,a=i.key,o=.7;function s(a){var s,l=[],c=[],u=-1,f=a.length,h=ve(e),p=ve(r);function d(){l.push("M",i(t(c),o))}for(;++u1&&i.push("H",n[0]);return i.join("")},"step-before":Ho,"step-after":Go,basis:Xo,"basis-open":function(t){if(t.length<4)return Uo(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(Zo(Ko,a)+","+Zo(Ko,o)),--n;for(;++n9&&(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 Uo(t){return t.length>1?t.join("L"):t+"Z"}function qo(t){return t.join("L")+"Z"}function Ho(t){for(var e=0,r=t.length,n=t[0],i=[n[0],",",n[1]];++e1){s=e[1],a=t[l],l++,n+="C"+(i[0]+o[0])+","+(i[1]+o[1])+","+(a[0]-s[0])+","+(a[1]-s[1])+","+a[0]+","+a[1];for(var c=2;cMt)+",1 "+e}function l(t,e,r,n){return"Q 0,0 "+n}return a.radius=function(t){return arguments.length?(r=ve(t),a):r},a.source=function(e){return arguments.length?(t=ve(e),a):t},a.target=function(t){return arguments.length?(e=ve(t),a):e},a.startAngle=function(t){return arguments.length?(n=ve(t),a):n},a.endAngle=function(t){return arguments.length?(i=ve(t),a):i},a},t.svg.diagonal=function(){var t=Vn,e=Un,r=is;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=ve(e),n):t},n.target=function(t){return arguments.length?(e=ve(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=is,n=e.projection;return e.projection=function(t){return arguments.length?n(function(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)]}}(r=t)):r},e},t.svg.symbol=function(){var t=os,e=as;function r(r,n){return(ls.get(t.call(this,r,n))||ss)(e.call(this,r,n))}return r.type=function(e){return arguments.length?(t=ve(e),r):t},r.size=function(t){return arguments.length?(e=ve(t),r):e},r};var ls=t.map({circle:ss,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*us)),r=e*us;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/cs),r=e*cs/2;return"M0,"+r+"L"+e+","+-r+" "+-e+","+-r+"Z"},"triangle-up":function(t){var e=Math.sqrt(t/cs),r=e*cs/2;return"M0,"+-r+"L"+e+","+r+" "+-e+","+r+"Z"}});t.svg.symbolTypes=ls.keys();var cs=Math.sqrt(3),us=Math.tan(30*Et);Y.transition=function(t){for(var e,r,n=ds||++ms,i=bs(t),a=[],o=gs||{time:Date.now(),ease:ia,delay:0,duration:250},s=-1,l=this.length;++s0;)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=Ae(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 b,time:a,timer:o,delay:i.delay,duration:i.duration,ease:i.ease,index:e},i=null,++u.count)}vs.call=Y.call,vs.empty=Y.empty,vs.node=Y.node,vs.size=Y.size,t.transition=function(e,r){return e&&e.transition?ds?e.transition(r):e:t.selection().transition(e)},t.transition.prototype=vs,vs.select=function(t){var e,r,n,i=this.id,a=this.namespace,o=[];t=X(t);for(var s=-1,l=this.length;++srect,.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 v(){var f,v,m=this,y=t.select(t.event.target),x=n.of(m,arguments),b=t.select(m),_=y.datum(),w=!/^(n|s)$/.test(_)&&i,k=!/^(e|w)$/.test(_)&&a,A=y.classed("extent"),M=xt(m),T=t.mouse(m),S=t.select(o(m)).on("keydown.brush",function(){32==t.event.keyCode&&(A||(f=null,T[0]-=s[1],T[1]-=l[1],A=2),B())}).on("keyup.brush",function(){32==t.event.keyCode&&2==A&&(T[0]+=s[1],T[1]+=l[1],A=0,B())});if(t.event.changedTouches?S.on("touchmove.brush",L).on("touchend.brush",O):S.on("mousemove.brush",L).on("mouseup.brush",O),b.interrupt().selectAll("*").interrupt(),A)T[0]=s[0]-T[0],T[1]=l[0]-T[1];else if(_){var C=+/w$/.test(_),E=+/^n/.test(_);v=[s[1-C]-T[0],l[1-E]-T[1]],T[0]=s[C],T[1]=l[E]}else t.event.altKey&&(f=T.slice());function L(){var e=t.mouse(m),r=!1;v&&(e[0]+=v[0],e[1]+=v[1]),A||(t.event.altKey?(f||(f=[(s[0]+s[1])/2,(l[0]+l[1])/2]),T[0]=s[+(e[0]1?{floor:function(e){for(;s(e=t.floor(e));)e=Is(e-1);return e},ceil:function(e){for(;s(e=t.ceil(e));)e=Is(+e+1);return e}}:t))},i.ticks=function(t,e){var r=co(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],Is(+r[1]+1),e<1?1:e)},i.tickFormat=function(){return n},i.copy=function(){return Os(e.copy(),r,n)},mo(i,e)}function Is(t){return new Date(t)}Cs.iso=Date.prototype.toISOString&&+new Date("2000-01-01T00:00:00.000Z")?zs:Ls,zs.parse=function(t){var e=new Date(t);return isNaN(e)?null:e},zs.toString=Ls.toString,Ie.second=Fe(function(t){return new De(1e3*Math.floor(t/1e3))},function(t,e){t.setTime(t.getTime()+1e3*Math.floor(e))},function(t){return t.getSeconds()}),Ie.seconds=Ie.second.range,Ie.seconds.utc=Ie.second.utc.range,Ie.minute=Fe(function(t){return new De(6e4*Math.floor(t/6e4))},function(t,e){t.setTime(t.getTime()+6e4*Math.floor(e))},function(t){return t.getMinutes()}),Ie.minutes=Ie.minute.range,Ie.minutes.utc=Ie.minute.utc.range,Ie.hour=Fe(function(t){var e=t.getTimezoneOffset()/60;return new De(36e5*(Math.floor(t/36e5-e)+e))},function(t,e){t.setTime(t.getTime()+36e5*Math.floor(e))},function(t){return t.getHours()}),Ie.hours=Ie.hour.range,Ie.hours.utc=Ie.hour.utc.range,Ie.month=Fe(function(t){return(t=Ie.day(t)).setDate(1),t},function(t,e){t.setMonth(t.getMonth()+e)},function(t){return t.getMonth()}),Ie.months=Ie.month.range,Ie.months.utc=Ie.month.utc.range;var Ds=[1e3,5e3,15e3,3e4,6e4,3e5,9e5,18e5,36e5,108e5,216e5,432e5,864e5,1728e5,6048e5,2592e6,7776e6,31536e6],Ps=[[Ie.second,1],[Ie.second,5],[Ie.second,15],[Ie.second,30],[Ie.minute,1],[Ie.minute,5],[Ie.minute,15],[Ie.minute,30],[Ie.hour,1],[Ie.hour,3],[Ie.hour,6],[Ie.hour,12],[Ie.day,1],[Ie.day,2],[Ie.week,1],[Ie.month,1],[Ie.month,3],[Ie.year,1]],Rs=Cs.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",Wr]]),Fs={range:function(e,r,n){return t.range(Math.ceil(e/n)*n,+r,n).map(Is)},floor:z,ceil:z};Ps.year=Ie.year,Ie.scale=function(){return Os(t.scale.linear(),Ps,Rs)};var Bs=Ps.map(function(t){return[t[0].utc,t[1]]}),Ns=Es.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",Wr]]);function js(t){return JSON.parse(t.responseText)}function Vs(t){var e=i.createRange();return e.selectNode(i.body),e.createContextualFragment(t.responseText)}Bs.year=Ie.year.utc,Ie.scale.utc=function(){return Os(t.scale.linear(),Bs,Ns)},t.text=me(function(t){return t.responseText}),t.json=function(t,e){return ye(t,"application/json",js,e)},t.html=function(t,e){return ye(t,"text/html",Vs,e)},t.xml=me(function(t){return t.responseXML}),"object"==typeof e&&e.exports?e.exports=t:this.d3=t}()},{}],150:[function(t,e,r){e.exports=function(){for(var t=0;t=2)return!1;t[r]=n}return!0}):_.filter(function(t){for(var e=0;e<=s;++e){var r=m[t[e]];if(r<0)return!1;t[e]=r}return!0});if(1&s)for(var u=0;u<_.length;++u){var b=_[u],h=b[0];b[0]=b[1],b[1]=h}return _}},{"incremental-convex-hull":399,uniq:525}],152:[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;cs*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>>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,t("buffer").Buffer)},{buffer:94}],154:[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":49,"normalize-svg-path":438}],155:[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}}},{}],156:[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;n80*r){n=l=t[0],s=c=t[1];for(var b=r;bl&&(l=u),p>c&&(c=p);g=0!==(g=Math.max(l-n,c-s))?1/g:0}return o(y,x,r,n,s,g),x}function i(t,e,r,n,i){var a,o;if(i===M(t,e,r,n)>0)for(a=e;a=e;a-=n)o=w(a,t[a],t[a+1],o);return o&&y(o,o.next)&&(k(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||!y(n,n.next)&&0!==m(n.prev,n,n.next))n=n.next;else{if(k(n),(n=e=n.prev)===n.next)break;r=!0}}while(r||n!==e);return e}function 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=p(i.x,i.y,e,r,n)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next}while(i!==t);i.prevZ.nextZ=null,i.prevZ=null,function(t){var e,r,n,i,a,o,s,l,c=1;do{for(r=t,t=null,a=null,o=0;r;){for(o++,n=r,s=0,e=0;e0||l>0&&n;)0!==s&&(0===l||!n||r.z<=n.z)?(i=r,r=r.nextZ,s--):(i=n,n=n.nextZ,l--),a?a.nextZ=i:t=i,i.prevZ=a,a=i;r=n}a.nextZ=null,c*=2}while(o>1)}(i)}(t,n,i,f);for(var d,g,v=t;t.prev!==t.next;)if(d=t.prev,g=t.next,f?l(t,n,i,f):s(t))e.push(d.i/r),e.push(t.i/r),e.push(g.i/r),k(t),t=g.next,v=g.next;else if((t=g)===v){h?1===h?o(t=c(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(m(e,r,n)>=0)return!1;for(var i=t.next.next;i!==t.prev;){if(g(e.x,e.y,r.x,r.y,n.x,n.y,i.x,i.y)&&m(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(m(i,a,o)>=0)return!1;for(var s=i.xa.x?i.x>o.x?i.x:o.x:a.x>o.x?a.x:o.x,u=i.y>a.y?i.y>o.y?i.y:o.y:a.y>o.y?a.y:o.y,f=p(s,l,e,r,n),h=p(c,u,e,r,n),d=t.prevZ,v=t.nextZ;d&&d.z>=f&&v&&v.z<=h;){if(d!==t.prev&&d!==t.next&&g(i.x,i.y,a.x,a.y,o.x,o.y,d.x,d.y)&&m(d.prev,d,d.next)>=0)return!1;if(d=d.prevZ,v!==t.prev&&v!==t.next&&g(i.x,i.y,a.x,a.y,o.x,o.y,v.x,v.y)&&m(v.prev,v,v.next)>=0)return!1;v=v.nextZ}for(;d&&d.z>=f;){if(d!==t.prev&&d!==t.next&&g(i.x,i.y,a.x,a.y,o.x,o.y,d.x,d.y)&&m(d.prev,d,d.next)>=0)return!1;d=d.prevZ}for(;v&&v.z<=h;){if(v!==t.prev&&v!==t.next&&g(i.x,i.y,a.x,a.y,o.x,o.y,v.x,v.y)&&m(v.prev,v,v.next)>=0)return!1;v=v.nextZ}return!0}function c(t,e,r){var n=t;do{var i=n.prev,a=n.next.next;!y(i,a)&&x(i,n,n.next,a)&&b(i,a)&&b(a,i)&&(e.push(i.i/r),e.push(n.i/r),e.push(a.i/r),k(n),k(n.next),n=t=a),n=n.next}while(n!==t);return 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=_(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.x&&n.x>=u&&i!==n.x&&g(ar.x)&&b(n,t)&&(r=n,h=l),n=n.next;return r}(t,e)){var r=_(e,t);a(r,r.next)}}function p(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 d(t){var e=t,r=t;do{e.x=0&&(t-o)*(n-s)-(r-o)*(e-s)>=0&&(r-o)*(a-s)-(i-o)*(n-s)>=0}function v(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!function(t,e){var r=t;do{if(r.i!==t.i&&r.next.i!==t.i&&r.i!==e.i&&r.next.i!==e.i&&x(r,r.next,t,e))return!0;r=r.next}while(r!==t);return!1}(t,e)&&b(t,e)&&b(e,t)&&function(t,e){var r=t,n=!1,i=(t.x+e.x)/2,a=(t.y+e.y)/2;do{r.y>a!=r.next.y>a&&r.next.y!==r.y&&i<(r.next.x-r.x)*(a-r.y)/(r.next.y-r.y)+r.x&&(n=!n),r=r.next}while(r!==t);return n}(t,e)}function m(t,e,r){return(e.y-t.y)*(r.x-e.x)-(e.x-t.x)*(r.y-e.y)}function y(t,e){return t.x===e.x&&t.y===e.y}function x(t,e,r,n){return!!(y(t,e)&&y(r,n)||y(t,n)&&y(r,e))||m(t,e,r)>0!=m(t,e,n)>0&&m(r,n,t)>0!=m(r,n,e)>0}function b(t,e){return m(t.prev,t,t.next)<0?m(t,e,t.next)>=0&&m(t,t.prev,e)>=0:m(t,e,t.prev)<0||m(t,t.next,e)<0}function _(t,e){var r=new A(t.i,t.x,t.y),n=new A(e.i,e.x,e.y),i=t.next,a=e.prev;return t.next=e,e.prev=t,r.next=i,i.prev=r,n.next=r,r.prev=n,a.next=n,n.prev=a,n}function w(t,e,r,n){var i=new A(t,e,r);return n?(i.next=n.next,i.prev=n,n.next.prev=i,n.next=i):(i.prev=i,i.next=i),i}function k(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)}function A(t,e,r){this.i=t,this.x=e,this.y=r,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}function M(t,e,r,n){for(var i=0,a=e,o=r-n;a0&&(n+=t[i-1].length,r.holes.push(n))}return r}},{}],158:[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=55296&&y<=56319&&(w+=t[++r]),w=k?h.call(k,A,w,g):w,e?(p.value=w,d(v,g,p)):v[g]=w,++g;m=g}if(void 0===m)for(m=o(t.length),e&&(v=new e(m)),r=0;r0?1:-1}},{}],169:[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":166}],170:[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":169}],171:[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":189,"./valid-value":191}],172:[function(t,e,r){"use strict";e.exports=t("./is-implemented")()?Object.assign:t("./shim")},{"./is-implemented":173,"./shim":174}],173:[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")}},{}],174:[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-1}},{}],195:[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}},{}],196:[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}},{}],197:[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"))},{"./":200,d:140,"es5-ext/object/set-prototype-of":186,"es5-ext/string/#/contains":192,"es6-symbol":205}],198:[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,v,m=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,m,u.value,f),h)return;u=t.next()}else for(d=t.length,p=0;p=55296&&v<=56319&&(g+=t[++p]),l.call(e,m,g,f),!h);++p);else c.call(t,function(t){return l.call(e,m,t,f),h})}},{"./get":199,"es5-ext/function/is-arguments":163,"es5-ext/object/valid-callable":189,"es5-ext/string/is-string":195}],199:[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":197,"./string":202,"./valid-iterable":203,"es5-ext/function/is-arguments":163,"es5-ext/string/is-string":195,"es6-symbol":205}],200:[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.__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:140,"d/auto-bind":139,"es5-ext/array/#/clear":159,"es5-ext/object/assign":172,"es5-ext/object/valid-callable":189,"es5-ext/object/valid-value":191,"es6-symbol":205}],201:[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":163,"es5-ext/object/is-value":180,"es5-ext/string/is-string":195,"es6-symbol":205}],202:[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__=55296&&e<=56319?r+this.__list__[this.__nextIndex__++]:r})}),l(n.prototype,o.toStringTag,a("c","String Iterator"))},{"./":200,d:140,"es5-ext/object/set-prototype-of":186,"es6-symbol":205}],203:[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":201}],204:[function(t,e,r){(function(n,i){!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(v):_())};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(v,1)}}var g=new Array(1e3);function v(){for(var t=0;t=r-1){h=l.length-1;var d=t-e[r-1];for(p=0;p=r-1)for(var u=s.length-1,f=(e[r-1],0);f=0;--r)if(t[--e])return!1;return!0},s.jump=function(t){var e=this.lastT(),r=this.dimension;if(!(t0;--f)n.push(a(l[f-1],c[f-1],arguments[f])),i.push(0)}},s.push=function(t){var e=this.lastT(),r=this.dimension;if(!(t1e-6?1/s:0;this._time.push(t);for(var h=r;h>0;--h){var p=a(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(!(t0;--l)r.push(a(o[l-1],s[l-1],arguments[l])),n.push(0)}},s.move=function(t){var e=this.lastT(),r=this.dimension;if(!(t<=e||arguments.length!==r+1)){var n=this._state,i=this._velocity,o=n.length-this.dimension,s=this.bounds,l=s[0],c=s[1],u=t-e,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=0;--f)n.push(a(l[f],c[f],n[o]+u*i[o])),i.push(0),o+=1}}},{"binary-search-bounds":80,"cubic-hermite":134}],217:[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;ie[0]-o[0]/2&&(h=o[0]/2,p+=o[1]);return r}},{"css-font/stringify":131}],219:[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 v=a(f.getImageData(0,0,p,p));d.lineHeight=d.bottom=p-v+g,f.clearRect(0,0,p,p),f.textBaseline="alphabetic",f.fillText("H",0,p);var m=p-a(f.getImageData(0,0,p,p))-1+g;d.baseline=d.alphabetic=m,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=_-m}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;n0;n-=4)if(0!==r[n])return Math.floor(.25*(n-3)/e)}e.exports=n,n.canvas=document.createElement("canvas"),n.cache={}},{}],220:[function(t,e,r){"use strict";e.exports=function(t){return new c(t||d,null)};var n=0,i=1;function a(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 o(t){return new a(t._color,t.key,t.value,t.left,t.right,t._count)}function s(t,e){return new a(t,e.key,e.value,e.left,e.right,e._count)}function l(t){t._count=1+(t.left?t.left._count:0)+(t.right?t.right._count:0)}function c(t,e){this._compare=t,this.root=e}var u=c.prototype;function f(t,e){this.tree=t,this._stack=e}Object.defineProperty(u,"keys",{get:function(){var t=[];return this.forEach(function(e,r){t.push(e)}),t}}),Object.defineProperty(u,"values",{get:function(){var t=[];return this.forEach(function(e,r){t.push(r)}),t}}),Object.defineProperty(u,"length",{get:function(){return this.root?this.root._count:0}}),u.insert=function(t,e){for(var r=this._compare,o=this.root,u=[],f=[];o;){var h=r(t,o.key);u.push(o),f.push(h),o=h<=0?o.left:o.right}u.push(new a(n,t,e,null,null,1));for(var p=u.length-2;p>=0;--p){o=u[p];f[p]<=0?u[p]=new a(o._color,o.key,o.value,u[p+1],o.right,o._count+1):u[p]=new a(o._color,o.key,o.value,o.left,u[p+1],o._count+1)}for(p=u.length-1;p>1;--p){var d=u[p-1];o=u[p];if(d._color===i||o._color===i)break;var g=u[p-2];if(g.left===d)if(d.left===o){if(!(v=g.right)||v._color!==n){if(g._color=n,g.left=d.right,d._color=i,d.right=g,u[p-2]=d,u[p-1]=o,l(g),l(d),p>=3)(m=u[p-3]).left===g?m.left=d:m.right=d;break}d._color=i,g.right=s(i,v),g._color=n,p-=1}else{if(!(v=g.right)||v._color!==n){if(d.right=o.left,g._color=n,g.left=o.right,o._color=i,o.left=d,o.right=g,u[p-2]=o,u[p-1]=d,l(g),l(d),l(o),p>=3)(m=u[p-3]).left===g?m.left=o:m.right=o;break}d._color=i,g.right=s(i,v),g._color=n,p-=1}else if(d.right===o){if(!(v=g.left)||v._color!==n){if(g._color=n,g.right=d.left,d._color=i,d.left=g,u[p-2]=d,u[p-1]=o,l(g),l(d),p>=3)(m=u[p-3]).right===g?m.right=d:m.left=d;break}d._color=i,g.left=s(i,v),g._color=n,p-=1}else{var v;if(!(v=g.left)||v._color!==n){var m;if(d.left=o.right,g._color=n,g.right=o.left,o._color=i,o.right=d,o.left=g,u[p-2]=o,u[p-1]=d,l(g),l(d),l(o),p>=3)(m=u[p-3]).right===g?m.right=o:m.left=o;break}d._color=i,g.left=s(i,v),g._color=n,p-=1}}return u[0]._color=i,new c(r,u[0])},u.forEach=function(t,e,r){if(this.root)switch(arguments.length){case 1:return function t(e,r){var n;if(r.left&&(n=t(e,r.left)))return n;return(n=e(r.key,r.value))||(r.right?t(e,r.right):void 0)}(t,this.root);case 2:return function t(e,r,n,i){if(r(e,i.key)<=0){var a;if(i.left&&(a=t(e,r,n,i.left)))return a;if(a=n(i.key,i.value))return a}if(i.right)return t(e,r,n,i.right)}(e,this._compare,t,this.root);case 3:if(this._compare(e,r)>=0)return;return function t(e,r,n,i,a){var o,s=n(e,a.key),l=n(r,a.key);if(s<=0){if(a.left&&(o=t(e,r,n,i,a.left)))return o;if(l>0&&(o=i(a.key,a.value)))return o}if(l>0&&a.right)return t(e,r,n,i,a.right)}(e,r,this._compare,t,this.root)}},Object.defineProperty(u,"begin",{get:function(){for(var t=[],e=this.root;e;)t.push(e),e=e.left;return new f(this,t)}}),Object.defineProperty(u,"end",{get:function(){for(var t=[],e=this.root;e;)t.push(e),e=e.right;return new f(this,t)}}),u.at=function(t){if(t<0)return new f(this,[]);for(var e=this.root,r=[];;){if(r.push(e),e.left){if(t=e.right._count)break;e=e.right}return new f(this,[])},u.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 f(this,n)},u.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 f(this,n)},u.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 f(this,n)},u.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 f(this,n)},u.find=function(t){for(var e=this._compare,r=this.root,n=[];r;){var i=e(t,r.key);if(n.push(r),0===i)return new f(this,n);r=i<=0?r.left:r.right}return new f(this,[])},u.remove=function(t){var e=this.find(t);return e?e.remove():this},u.get=function(t){for(var e=this._compare,r=this.root;r;){var n=e(t,r.key);if(0===n)return r.value;r=n<=0?r.left:r.right}};var h=f.prototype;function p(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 d(t,e){return te?1:0}Object.defineProperty(h,"valid",{get:function(){return this._stack.length>0}}),Object.defineProperty(h,"node",{get:function(){return this._stack.length>0?this._stack[this._stack.length-1]:null},enumerable:!0}),h.clone=function(){return new f(this.tree,this._stack.slice())},h.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 a(r._color,r.key,r.value,r.left,r.right,r._count);for(var u=t.length-2;u>=0;--u){(r=t[u]).left===t[u+1]?e[u]=new a(r._color,r.key,r.value,e[u+1],r.right,r._count):e[u]=new a(r._color,r.key,r.value,r.left,e[u+1],r._count)}if((r=e[e.length-1]).left&&r.right){var f=e.length;for(r=r.left;r.right;)e.push(r),r=r.right;var h=e[f-1];e.push(new a(r._color,h.key,h.value,r.left,r.right,r._count)),e[f-1].key=r.key,e[f-1].value=r.value;for(u=e.length-2;u>=f;--u)r=e[u],e[u]=new a(r._color,r.key,r.value,r.left,e[u+1],r._count);e[f-1].left=e[f]}if((r=e[e.length-1])._color===n){var d=e[e.length-2];d.left===r?d.left=null:d.right===r&&(d.right=null),e.pop();for(u=0;u=0;--u){if(e=t[u],0===u)return void(e._color=i);if((r=t[u-1]).left===e){if((a=r.right).right&&a.right._color===n)return c=(a=r.right=o(a)).right=o(a.right),r.right=a.left,a.left=r,a.right=c,a._color=r._color,e._color=i,r._color=i,c._color=i,l(r),l(a),u>1&&((f=t[u-2]).left===r?f.left=a:f.right=a),void(t[u-1]=a);if(a.left&&a.left._color===n)return c=(a=r.right=o(a)).left=o(a.left),r.right=c.left,a.left=c.right,c.left=r,c.right=a,c._color=r._color,r._color=i,a._color=i,e._color=i,l(r),l(a),l(c),u>1&&((f=t[u-2]).left===r?f.left=c:f.right=c),void(t[u-1]=c);if(a._color===i){if(r._color===n)return r._color=i,void(r.right=s(n,a));r.right=s(n,a);continue}a=o(a),r.right=a.left,a.left=r,a._color=r._color,r._color=n,l(r),l(a),u>1&&((f=t[u-2]).left===r?f.left=a:f.right=a),t[u-1]=a,t[u]=r,u+11&&((f=t[u-2]).right===r?f.right=a:f.left=a),void(t[u-1]=a);if(a.right&&a.right._color===n)return c=(a=r.left=o(a)).right=o(a.right),r.left=c.right,a.right=c.left,c.right=r,c.left=a,c._color=r._color,r._color=i,a._color=i,e._color=i,l(r),l(a),l(c),u>1&&((f=t[u-2]).right===r?f.right=c:f.left=c),void(t[u-1]=c);if(a._color===i){if(r._color===n)return r._color=i,void(r.left=s(n,a));r.left=s(n,a);continue}var f;a=o(a),r.left=a.right,a.right=r,a._color=r._color,r._color=n,l(r),l(a),u>1&&((f=t[u-2]).right===r?f.right=a:f.left=a),t[u-1]=a,t[u]=r,u+10)return this._stack[this._stack.length-1].key},enumerable:!0}),Object.defineProperty(h,"value",{get:function(){if(this._stack.length>0)return this._stack[this._stack.length-1].value},enumerable:!0}),Object.defineProperty(h,"index",{get:function(){var t=0,e=this._stack;if(0===e.length){var r=this.tree.root;return r?r._count:0}e[e.length-1].left&&(t=e[e.length-1].left._count);for(var n=e.length-2;n>=0;--n)e[n+1]===e[n].right&&(++t,e[n].left&&(t+=e[n].left._count));return t},enumerable:!0}),h.next=function(){var t=this._stack;if(0!==t.length){var e=t[t.length-1];if(e.right)for(e=e.right;e;)t.push(e),e=e.left;else for(t.pop();t.length>0&&t[t.length-1].right===e;)e=t[t.length-1],t.pop()}},Object.defineProperty(h,"hasNext",{get:function(){var t=this._stack;if(0===t.length)return!1;if(t[t.length-1].right)return!0;for(var e=t.length-1;e>0;--e)if(t[e-1].left===t[e])return!0;return!1}}),h.update=function(t){var e=this._stack;if(0===e.length)throw new Error("Can't update empty node!");var r=new Array(e.length),n=e[e.length-1];r[r.length-1]=new a(n._color,n.key,t,n.left,n.right,n._count);for(var i=e.length-2;i>=0;--i)(n=e[i]).left===e[i+1]?r[i]=new a(n._color,n.key,n.value,r[i+1],n.right,n._count):r[i]=new a(n._color,n.key,n.value,n.left,r[i+1],n._count);return new c(this.tree._compare,r[0])},h.prev=function(){var t=this._stack;if(0!==t.length){var e=t[t.length-1];if(e.left)for(e=e.left;e;)t.push(e),e=e.right;else for(t.pop();t.length>0&&t[t.length-1].left===e;)e=t[t.length-1],t.pop()}},Object.defineProperty(h,"hasPrev",{get:function(){var t=this._stack;if(0===t.length)return!1;if(t[t.length-1].left)return!0;for(var e=t.length-1;e>0;--e)if(t[e-1].right===t[e])return!0;return!1}})},{}],221:[function(t,e,r){var n=[.9999999999998099,676.5203681218851,-1259.1392167224028,771.3234287776531,-176.6150291621406,12.507343278686905,-.13857109526572012,9984369578019572e-21,1.5056327351493116e-7],i=607/128,a=[.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 o(t){if(t<0)return Number("0/0");for(var e=a[0],r=a.length-1;r>0;--r)e+=a[r]/(t+r);var n=t+i+.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(o(e));e-=1;for(var r=n[0],i=1;i<9;i++)r+=n[i]/(e+i);var a=e+7+.5;return Math.sqrt(2*Math.PI)*Math.pow(a,e+.5)*Math.exp(-a)*r},e.exports.log=o},{}],222:[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;o0?(p[u]=-1,d[u]=0):(p[u]=0,d[u]=1)}}var g=[0,0,0],v={model:l,view:l,projection:l};f.isOpaque=function(){return!0},f.isTransparent=function(){return!1},f.drawTransparent=function(t){};var m=[0,0,0],y=[0,0,0],x=[0,0,0];f.draw=function(t){t=t||v;for(var e=this.gl,r=t.model||l,n=t.view||l,i=t.projection||l,a=this.bounds,s=o(r,n,i,a),u=s.cubeEdges,f=s.axis,h=n[12],b=n[13],_=n[14],w=n[15],k=this.pixelRatio*(i[3]*h+i[7]*b+i[11]*_+i[15]*w)/e.drawingBufferHeight,A=0;A<3;++A)this.lastCubeProps.cubeEdges[A]=u[A],this.lastCubeProps.axis[A]=f[A];var M=p;for(A=0;A<3;++A)d(p[A],A,this.bounds,u,f);e=this.gl;var T,S=g;for(A=0;A<3;++A)this.backgroundEnable[A]?S[A]=f[A]:S[A]=0;this._background.draw(r,n,i,a,S,this.backgroundColor),this._lines.bind(r,n,i,this);for(A=0;A<3;++A){var C=[0,0,0];f[A]>0?C[A]=a[1][A]:C[A]=a[0][A];for(var E=0;E<2;++E){var L=(A+1+E)%3,z=(A+1+(1^E))%3;this.gridEnable[L]&&this._lines.drawGrid(L,z,this.bounds,C,this.gridColor[L],this.gridWidth[L]*this.pixelRatio)}for(E=0;E<2;++E){L=(A+1+E)%3,z=(A+1+(1^E))%3;this.zeroEnable[z]&&Math.min(a[0][z],a[1][z])<=0&&Math.max(a[0][z],a[1][z])>=0&&this._lines.drawZero(L,z,this.bounds,C,this.zeroLineColor[z],this.zeroLineWidth[z]*this.pixelRatio)}}for(A=0;A<3;++A){this.lineEnable[A]&&this._lines.drawAxisLine(A,this.bounds,M[A].primalOffset,this.lineColor[A],this.lineWidth[A]*this.pixelRatio),this.lineMirror[A]&&this._lines.drawAxisLine(A,this.bounds,M[A].mirrorOffset,this.lineColor[A],this.lineWidth[A]*this.pixelRatio);var O=c(m,M[A].primalMinor),I=c(y,M[A].mirrorMinor),D=this.lineTickLength;for(E=0;E<3;++E){var P=k/r[5*E];O[E]*=D[E]*P,I[E]*=D[E]*P}this.lineTickEnable[A]&&this._lines.drawAxisTicks(A,M[A].primalOffset,O,this.lineTickColor[A],this.lineTickWidth[A]*this.pixelRatio),this.lineTickMirror[A]&&this._lines.drawAxisTicks(A,M[A].mirrorOffset,I,this.lineTickColor[A],this.lineTickWidth[A]*this.pixelRatio)}this._lines.unbind(),this._text.bind(r,n,i,this.pixelRatio);var R,F;function B(t){(F=[0,0,0])[t]=1}function N(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?B(n):a>0&&l<0?B(n):a<0&&l>0?B(n):a<0&&l<0?B(n):o>0&&s>0?B(i):o>0&&s<0?B(i):o<0&&s>0?B(i):o<0&&s<0&&B(i)}for(A=0;A<3;++A){var j=M[A].primalMinor,V=M[A].mirrorMinor,U=c(x,M[A].primalOffset);for(E=0;E<3;++E)this.lineTickEnable[A]&&(U[E]+=k*j[E]*Math.max(this.lineTickLength[E],0)/r[5*E]);var q=[0,0,0];if(q[A]=1,this.tickEnable[A]){-3600===this.tickAngle[A]?(this.tickAngle[A]=0,this._tickAlign[A]="auto"):this._tickAlign[A]=-1,R=1,"auto"===(T=[this._tickAlign[A],.5,R])[0]?T[0]=0:T[0]=parseInt(""+T[0]),F=[0,0,0],N(A,j,V);for(E=0;E<3;++E)U[E]+=k*j[E]*this.tickPad[E]/r[5*E];this._text.drawTicks(A,this.tickSize[A],this.tickAngle[A],U,this.tickColor[A],q,F,T)}if(this.labelEnable[A]){R=0,F=[0,0,0],this.labels[A].length>4&&(B(A),R=1),"auto"===(T=[this.labelAlign[A],.5,R])[0]?T[0]=0:T[0]=parseInt(""+T[0]);for(E=0;E<3;++E)U[E]+=k*j[E]*this.labelPad[E]/r[5*E];U[A]+=.5*(a[0][A]+a[1][A]),this._text.drawLabel(A,this.labelSize[A],this.labelAngle[A],U,this.labelColor[A],[0,0,0],F,T)}}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":224,"./lib/cube.js":225,"./lib/lines.js":226,"./lib/text.js":228,"./lib/ticks.js":229}],224:[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 v=c;c=u,u=v}var m=n(t,new Float32Array(e)),y=n(t,new Uint16Array(r),t.ELEMENT_ARRAY_BUFFER),x=i(t,[{buffer:m,type:t.FLOAT,size:3,offset:0,stride:24},{buffer:m,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,m,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":227,"gl-buffer":231,"gl-vao":313}],225:[function(t,e,r){"use strict";e.exports=function(t,e,r,a){i(s,e,t),i(s,r,s);for(var p=0,y=0;y<2;++y){u[2]=a[y][2];for(var x=0;x<2;++x){u[1]=a[x][1];for(var b=0;b<2;++b)u[0]=a[b][0],h(l[p],u,s),p+=1}}for(var _=-1,y=0;y<8;++y){for(var w=l[y][3],k=0;k<3;++k)c[y][k]=l[y][k]/w;w<0&&(_<0?_=y:c[y][2]S&&(_|=1<S&&(_|=1<c[y][1]&&(P=y));for(var R=-1,y=0;y<3;++y){var F=P^1<c[B][0]&&(B=F)}}var N=g;N[0]=N[1]=N[2]=0,N[n.log2(R^P)]=P&R,N[n.log2(P^B)]=P&B;var j=7^B;j===_||j===D?(j=7^R,N[n.log2(B^j)]=j&B):N[n.log2(R^j)]=j&R;for(var V=v,U=_,A=0;A<3;++A)V[A]=U&1< HALF_PI) && (b <= ONE_AND_HALF_PI)) ?\n b - PI :\n b;\n}\n\nfloat look_horizontal_or_vertical(float a, float ratio) {\n // ratio controls the ratio between being horizontal to (vertical + horizontal)\n // if ratio is set to 0.5 then it is 50%, 50%.\n // when using a higher ratio e.g. 0.75 the result would\n // likely be more horizontal than vertical.\n\n float b = positive_angle(a);\n\n return\n (b < ( ratio) * HALF_PI) ? 0.0 :\n (b < (2.0 - ratio) * HALF_PI) ? -HALF_PI :\n (b < (2.0 + ratio) * HALF_PI) ? 0.0 :\n (b < (4.0 - ratio) * HALF_PI) ? HALF_PI :\n 0.0;\n}\n\nfloat roundTo(float a, float b) {\n return float(b * floor((a + 0.5 * b) / b));\n}\n\nfloat look_round_n_directions(float a, int n) {\n float b = positive_angle(a);\n float div = TWO_PI / float(n);\n float c = roundTo(b, div);\n return look_upwards(c);\n}\n\nfloat applyAlignOption(float rawAngle, float delta) {\n return\n (option > 2) ? look_round_n_directions(rawAngle + delta, option) : // option 3-n: round to n directions\n (option == 2) ? look_horizontal_or_vertical(rawAngle + delta, hv_ratio) : // horizontal or vertical\n (option == 1) ? rawAngle + delta : // use free angle, and flip to align with one direction of the axis\n (option == 0) ? look_upwards(rawAngle) : // use free angle, and stay upwards\n (option ==-1) ? 0.0 : // useful for backward compatibility, all texts remains horizontal\n rawAngle; // otherwise return back raw input angle\n}\n\nbool isAxisTitle = (axis.x == 0.0) &&\n (axis.y == 0.0) &&\n (axis.z == 0.0);\n\nvoid main() {\n //Compute world offset\n float axisDistance = position.z;\n vec3 dataPosition = axisDistance * axis + offset;\n\n float beta = angle; // i.e. user defined attributes for each tick\n\n float axisAngle;\n float clipAngle;\n float flip;\n\n if (enableAlign) {\n axisAngle = (isAxisTitle) ? HALF_PI :\n computeViewAngle(dataPosition, dataPosition + axis);\n clipAngle = computeViewAngle(dataPosition, dataPosition + alignDir);\n\n axisAngle += (sin(axisAngle) < 0.0) ? PI : 0.0;\n clipAngle += (sin(clipAngle) < 0.0) ? PI : 0.0;\n\n flip = (dot(vec2(cos(axisAngle), sin(axisAngle)),\n vec2(sin(clipAngle),-cos(clipAngle))) > 0.0) ? 1.0 : 0.0;\n\n beta += applyAlignOption(clipAngle, flip * PI);\n }\n\n //Compute plane offset\n vec2 planeCoord = position.xy * pixelScale;\n\n mat2 planeXform = scale * mat2(\n cos(beta), sin(beta),\n -sin(beta), cos(beta)\n );\n\n vec2 viewOffset = 2.0 * planeXform * planeCoord / resolution;\n\n //Compute clip position\n vec3 clipPosition = project(dataPosition);\n\n //Apply text offset in clip coordinates\n clipPosition += vec3(viewOffset, 0.0);\n\n //Done\n gl_Position = vec4(clipPosition, 1.0);\n}"]),l=n(["precision mediump float;\n#define GLSLIFY 1\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(["#define GLSLIFY 1\nattribute vec3 position;\nattribute vec3 normal;\n\nuniform mat4 model, view, projection;\nuniform vec3 enable;\nuniform vec3 bounds[2];\n\nvarying vec3 colorChannel;\n\nvoid main() {\n\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 mediump float;\n#define GLSLIFY 1\n\nuniform vec4 colors[3];\n\nvarying vec3 colorChannel;\n\nvoid main() {\n gl_FragColor = colorChannel.x * colors[0] +\n colorChannel.y * colors[1] +\n colorChannel.z * colors[2];\n}"]);r.bg=function(t){return i(t,c,u,null,[{name:"position",type:"vec3"},{name:"normal",type:"vec3"}])}},{"gl-shader":290,glslify:395}],228:[function(t,e,r){(function(r){"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=0;--m){var y=h[v[m]];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=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=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;nr)throw new Error("gl-buffer: If resizing buffer, must not specify offset");return t.bufferSubData(e,a,i),r}function u(t,e){for(var r=n.malloc(t.length,e),i=t.length,a=0;a=0;--n){if(e[n]!==r)return!1;r*=t[n]}return!0}(t.shape,t.stride))0===t.offset&&t.data.length===t.shape[0]?this.length=c(this.gl,this.type,this.length,this.usage,t.data,e):this.length=c(this.gl,this.type,this.length,this.usage,t.data.subarray(t.offset,t.shape[0]),e);else{var s=n.malloc(t.size,r),l=a(s,t.shape);i.assign(l,t),this.length=c(this.gl,this.type,this.length,this.usage,e<0?s:s.subarray(0,t.size),e),n.free(s)}}else if(Array.isArray(t)){var 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:436,"ndarray-ops":430,"typedarray-pool":523}],232:[function(t,e,r){"use strict";var n=t("gl-vec3"),i=(t("gl-vec4"),function(t,e){for(var r=0;r=e)return r-1;return r}),a=n.create(),o=n.create(),s=function(t,e,r){return tr?r:t},l=function(t,e,r,l){var c=t[0],u=t[1],f=t[2],h=r[0].length,p=r[1].length,d=r[2].length,g=i(r[0],c),v=i(r[1],u),m=i(r[2],f),y=g+1,x=v+1,b=m+1;if(l&&(g=s(g,0,h-1),y=s(y,0,h-1),v=s(v,0,p-1),x=s(x,0,p-1),m=s(m,0,d-1),b=s(b,0,d-1)),g<0||v<0||m<0||y>=h||x>=p||b>=d)return n.create();var _=(c-r[0][g])/(r[0][y]-r[0][g]),w=(u-r[1][v])/(r[1][x]-r[1][v]),k=(f-r[2][m])/(r[2][b]-r[2][m]);(_<0||_>1||isNaN(_))&&(_=0),(w<0||w>1||isNaN(w))&&(w=0),(k<0||k>1||isNaN(k))&&(k=0);var A=m*h*p,M=b*h*p,T=v*h,S=x*h,C=g,E=y,L=e[T+A+C],z=e[T+A+E],O=e[S+A+C],I=e[S+A+E],D=e[T+M+C],P=e[T+M+E],R=e[S+M+C],F=e[S+M+E],B=n.create();return n.lerp(B,L,z,_),n.lerp(a,O,I,_),n.lerp(B,B,a,w),n.lerp(a,D,P,_),n.lerp(o,R,F,_),n.lerp(a,a,o,w),n.lerp(B,B,a,k),B};e.exports=function(t,e){var r;r=t.positions?t.positions:function(t){for(var e=t[0],r=t[1],n=t[2],i=[],a=0;as&&(s=n.length(b)),x&&(y=Math.min(y,2*n.distance(g,_)/(n.length(v)+n.length(b)))),g=_,v=b,m.push(b)}var w=[c,f,p],k=[u,h,d];e&&(e[0]=w,e[1]=k),0===s&&(s=1);var A=1/s;isFinite(y)&&!isNaN(y)||(y=1),o.vectorScale=y;var M=function(t,e,r){var i=n.create();return void 0!==t&&n.set(i,t,e,r),i}(0,1,0),T=t.coneSize||.5;t.absoluteConeSize&&(T=t.absoluteConeSize*A),o.coneScale=T;x=0;for(var S=0;x1.0001)return null;v+=g[u]}if(Math.abs(v-1)>.001)return null;return[f,function(t,e){for(var r=[0,0,0],n=0;n=1},x.isTransparent=function(){return this.opacity<1},x.pickSlots=1,x.setPickBase=function(t){this.pickId=t},x.highlight=function(t){if(t&&this.contourEnable){for(var e=h(this.cells,this.intensity,t.intensity),r=e.cells,n=e.vertexIds,i=e.vertexWeights,a=r.length,o=p.mallocFloat32(6*a),s=0,l=0;l0&&((f=this.triShader).bind(),f.uniforms=s,this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind());this.edgeCount>0&&this.lineWidth>0&&((f=this.lineShader).bind(),f.uniforms=s,this.edgeVAO.bind(),e.lineWidth(this.lineWidth),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())},x.drawPick=function(t){t=t||{};for(var e=this.gl,r=t.model||m,n=t.view||m,i=t.projection||m,a=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o<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,vectorScale:this.vectorScale,coneScale:this.coneScale,coneOffset:this.coneOffset,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),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())},x.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);return{index:Math.floor(r[1]/48),position:n,dataCoordinate:n}},x.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.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()},e.exports=function(t,e){1===arguments.length&&(t=(e=t).gl);var r=e.triShader||function(t){var e=n(t,g.vertex,g.fragment,null,g.attributes);return e.attributes.position.location=0,e.attributes.color.location=2,e.attributes.uv.location=3,e.attributes.vector.location=5,e}(t),s=b(t),l=o(t,u(new Uint8Array([255,255,255,255]),[1,1,4]));l.generateMipmap(),l.minFilter=t.LINEAR_MIPMAP_LINEAR,l.magFilter=t.LINEAR;var c=i(t),f=i(t),h=i(t),p=i(t),d=i(t),v=i(t),m=a(t,[{buffer:c,type:t.FLOAT,size:4},{buffer:v,type:t.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:h,type:t.FLOAT,size:4},{buffer:p,type:t.FLOAT,size:2},{buffer:d,type:t.FLOAT,size:3},{buffer:f,type:t.FLOAT,size:3}]),x=i(t),_=i(t),w=i(t),k=i(t),A=a(t,[{buffer:x,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}]),M=i(t),T=i(t),S=i(t),C=i(t),E=i(t),L=a(t,[{buffer:M,type:t.FLOAT,size:3},{buffer:E,type:t.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:T,type:t.FLOAT,size:4},{buffer:S,type:t.FLOAT,size:2},{buffer:C,type:t.FLOAT,size:1}]),z=i(t),O=new y(t,l,r,null,null,s,null,null,c,f,v,h,p,d,m,x,k,_,w,A,M,E,T,S,C,L,z,a(t,[{buffer:z,type:t.FLOAT,size:3}]));return O.update(e),O}},{"./closest-point":233,"./shaders":235,colormap:115,"gl-buffer":231,"gl-mat4/invert":256,"gl-mat4/multiply":258,"gl-shader":290,"gl-texture2d":308,"gl-vao":313,ndarray:436,normals:439,"simplicial-complex-contour":496,"typedarray-pool":523}],235:[function(t,e,r){var n=t("glslify"),i=n(["precision mediump float;\n#define GLSLIFY 1\n\nfloat inverse(float m) {\n return 1.0 / m;\n}\n\nmat2 inverse(mat2 m) {\n return mat2(m[1][1],-m[0][1],\n -m[1][0], m[0][0]) / (m[0][0]*m[1][1] - m[0][1]*m[1][0]);\n}\n\nmat3 inverse(mat3 m) {\n float a00 = m[0][0], a01 = m[0][1], a02 = m[0][2];\n float a10 = m[1][0], a11 = m[1][1], a12 = m[1][2];\n float a20 = m[2][0], a21 = m[2][1], a22 = m[2][2];\n\n float b01 = a22 * a11 - a12 * a21;\n float b11 = -a22 * a10 + a12 * a20;\n float b21 = a21 * a10 - a11 * a20;\n\n float det = a00 * b01 + a01 * b11 + a02 * b21;\n\n return mat3(b01, (-a22 * a01 + a02 * a21), (a12 * a01 - a02 * a11),\n b11, (a22 * a00 - a02 * a20), (-a12 * a00 + a02 * a10),\n b21, (-a21 * a00 + a01 * a20), (a11 * a00 - a01 * a10)) / det;\n}\n\nmat4 inverse(mat4 m) {\n float\n a00 = m[0][0], a01 = m[0][1], a02 = m[0][2], a03 = m[0][3],\n a10 = m[1][0], a11 = m[1][1], a12 = m[1][2], a13 = m[1][3],\n a20 = m[2][0], a21 = m[2][1], a22 = m[2][2], a23 = m[2][3],\n a30 = m[3][0], a31 = m[3][1], a32 = m[3][2], a33 = m[3][3],\n\n b00 = a00 * a11 - a01 * a10,\n b01 = a00 * a12 - a02 * a10,\n b02 = a00 * a13 - a03 * a10,\n b03 = a01 * a12 - a02 * a11,\n b04 = a01 * a13 - a03 * a11,\n b05 = a02 * a13 - a03 * a12,\n b06 = a20 * a31 - a21 * a30,\n b07 = a20 * a32 - a22 * a30,\n b08 = a20 * a33 - a23 * a30,\n b09 = a21 * a32 - a22 * a31,\n b10 = a21 * a33 - a23 * a31,\n b11 = a22 * a33 - a23 * a32,\n\n det = b00 * b11 - b01 * b10 + b02 * b09 + b03 * b08 - b04 * b07 + b05 * b06;\n\n return mat4(\n a11 * b11 - a12 * b10 + a13 * b09,\n a02 * b10 - a01 * b11 - a03 * b09,\n a31 * b05 - a32 * b04 + a33 * b03,\n a22 * b04 - a21 * b05 - a23 * b03,\n a12 * b08 - a10 * b11 - a13 * b07,\n a00 * b11 - a02 * b08 + a03 * b07,\n a32 * b02 - a30 * b05 - a33 * b01,\n a20 * b05 - a22 * b02 + a23 * b01,\n a10 * b10 - a11 * b08 + a13 * b06,\n a01 * b08 - a00 * b10 - a03 * b06,\n a30 * b04 - a31 * b02 + a33 * b00,\n a21 * b02 - a20 * b04 - a23 * b00,\n a11 * b07 - a10 * b09 - a12 * b06,\n a00 * b09 - a01 * b07 + a02 * b06,\n a31 * b01 - a30 * b03 - a32 * b00,\n a20 * b03 - a21 * b01 + a22 * b00) / det;\n}\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 index, float coneOffset, out vec3 normal) {\n\n const float segmentCount = 8.0;\n\n index = mod(index, segmentCount * 6.0);\n\n float segment = floor(index/6.0);\n float segmentIndex = index - (segment*6.0);\n\n normal = -normalize(d);\n\n if (segmentIndex == 3.0) {\n return mix(vec3(0.0), -d, coneOffset);\n }\n\n // angle = 2pi * ((segment + ((segmentIndex == 1.0 || segmentIndex == 5.0) ? 1.0 : 0.0)) / segmentCount)\n float nextAngle = float(segmentIndex == 1.0 || segmentIndex == 5.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 <= 2.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;\nuniform float vectorScale;\nuniform float coneScale;\n\nuniform float coneOffset;\n\nuniform mat4 model\n , view\n , projection;\nuniform vec3 eyePosition\n , lightPosition;\n\nvarying vec3 f_normal\n , f_lightDirection\n , f_eyeDirection\n , f_data\n , 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 normal = normalize(normal * inverse(mat3(model)));\n\n // vec4 m_position = model * vec4(conePosition, 1.0);\n vec4 t_position = view * conePosition;\n gl_Position = projection * t_position;\n f_color = color; //vec4(position.w, color.r, 0, 0);\n f_normal = normal;\n f_data = conePosition.xyz;\n f_position = position.xyz;\n f_eyeDirection = eyePosition - conePosition.xyz;\n f_lightDirection = lightPosition - conePosition.xyz;\n f_uv = uv;\n}\n"]),a=n(["precision mediump 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\n , fresnel\n , kambient\n , kdiffuse\n , kspecular\n , opacity;\nuniform sampler2D texture;\n\nvarying vec3 f_normal\n , f_lightDirection\n , f_eyeDirection\n , f_data\n , f_position;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) 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 = cookTorranceSpecular(L, V, N, roughness, fresnel);\n float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\n\n vec4 surfaceColor = 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}"]),o=n(["precision mediump 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 index, float coneOffset, out vec3 normal) {\n\n const float segmentCount = 8.0;\n\n index = mod(index, segmentCount * 6.0);\n\n float segment = floor(index/6.0);\n float segmentIndex = index - (segment*6.0);\n\n normal = -normalize(d);\n\n if (segmentIndex == 3.0) {\n return mix(vec3(0.0), -d, coneOffset);\n }\n\n // angle = 2pi * ((segment + ((segmentIndex == 1.0 || segmentIndex == 5.0) ? 1.0 : 0.0)) / segmentCount)\n float nextAngle = float(segmentIndex == 1.0 || segmentIndex == 5.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 <= 2.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 position;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\n\nuniform float vectorScale;\nuniform float coneScale;\nuniform float 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), 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 mediump 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:"normal",type:"vec3"},{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:395}],236:[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",34000:"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"}},{}],237:[function(t,e,r){var n=t("./1.0/numbers");e.exports=function(t){return n[t]}},{"./1.0/numbers":236}],238:[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=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]),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;a0)(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":239,"gl-buffer":231,"gl-vao":313}],239:[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, 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 mediump 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":290,glslify:395}],240:[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;au||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 v=!1;"stencil"in n&&(v=!!n.stencil);return new d(t,e,r,h,f,g,v,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;d1&&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){for(t._destroyed=!0,r.bindFramebuffer(r.FRAMEBUFFER,null),r.deleteFramebuffer(t.handle),t.handle=null,t.depth&&(t.depth.dispose(),t.depth=null),t._depth_rb&&(r.deleteRenderbuffer(t._depth_rb),t._depth_rb=null),m=0;mi||r<0||r>i)throw new Error("gl-fbo: Can't resize FBO, invalid dimensions");t._shape[0]=e,t._shape[1]=r;for(var a=c(n),o=0;o>8*p&255;this.pickOffset=r,i.bind();var d=i.uniforms;d.viewTransform=t,d.pickOffset=e,d.shape=this.shape;var 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+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]);this.xData=r,this.yData=o;var l=t.colorLevels||[0],c=t.colorValues||[0,0,0,1],u=l.length,f=this.bounds,p=f[0]=r[0],d=f[1]=o[0],g=1/((f[2]=r[r.length-1])-p),v=1/((f[3]=o[o.length-1])-d),m=e[0],y=e[1];this.shape=[m,y];var x=(m-1)*(y-1)*(h.length>>>1);this.numVertices=x;for(var b=a.mallocUint8(4*x),_=a.mallocFloat32(2*x),w=a.mallocUint8(2*x),k=a.mallocUint32(x),A=0,M=0;M 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 mediump float;\n#define GLSLIFY 1\n\n#define FLOAT_MAX 1.70141184e38\n#define FLOAT_MIN 1.17549435e-38\n\nlowp vec4 encode_float_1540259130(highp float v) {\n highp 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 highp vec4 c = vec4(0,0,0,0);\n\n //Compute exponent and mantissa\n highp float e = floor(log2(av));\n highp float m = av * pow(2.0, -e) - 1.0;\n \n //Unpack mantissa\n c[1] = floor(128.0 * m);\n m -= c[1] / 128.0;\n c[2] = floor(32768.0 * m);\n m -= c[2] / 32768.0;\n c[3] = floor(8388608.0 * m);\n \n //Unpack exponent\n highp float ebias = e + 127.0;\n c[0] = floor(ebias / 2.0);\n ebias -= c[0] * 2.0;\n c[1] += floor(ebias) * 128.0; \n\n //Unpack sign bit\n c[0] += 128.0 * step(0.0, -v);\n\n //Scale back to range\n return c / 255.0;\n}\n\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, encode_float_1540259130(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":290,glslify:395}],246:[function(t,e,r){"use strict";e.exports=function(t){var e=t.gl||t.scene&&t.scene.gl,r=u(e);r.attributes.position.location=0,r.attributes.nextPosition.location=1,r.attributes.arcLength.location=2,r.attributes.lineWidth.location=3,r.attributes.color.location=4;var o=f(e);o.attributes.position.location=0,o.attributes.nextPosition.location=1,o.attributes.arcLength.location=2,o.attributes.lineWidth.location=3,o.attributes.color.location=4;for(var s=n(e),c=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}]),h=l(new Array(1024),[256,1,4]),p=0;p<1024;++p)h.data[p]=255;var d=a(e,h);d.wrap=e.REPEAT;var g=new v(e,r,o,s,c,d);return g.update(t),g};var n=t("gl-buffer"),i=t("gl-vao"),a=t("gl-texture2d"),o=t("glsl-read-float"),s=t("binary-search-bounds"),l=t("ndarray"),c=t("./lib/shaders"),u=c.createShader,f=c.createPickShader,h=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function p(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 d(t){for(var e=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],r=0;r<3;++r)e[0][r]=Math.max(t[0][r],e[0][r]),e[1][r]=Math.min(t[1][r],e[1][r]);return e}function g(t,e,r,n){this.arcLength=t,this.position=e,this.index=r,this.dataCoordinate=n}function v(t,e,r,n,i,a){this.gl=t,this.shader=e,this.pickShader=r,this.buffer=n,this.vao=i,this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.points=[],this.arcLength=[],this.vertexCount=0,this.bounds=[[0,0,0],[0,0,0]],this.pickId=0,this.lineWidth=1,this.texture=a,this.dashScale=1,this.opacity=1,this.hasAlpha=!1,this.dirty=!0,this.pixelRatio=1}var m=v.prototype;m.isTransparent=function(){return this.hasAlpha},m.isOpaque=function(){return!this.hasAlpha},m.pickSlots=1,m.setPickBase=function(t){this.pickId=t},m.drawTransparent=m.draw=function(t){if(this.vertexCount){var e=this.gl,r=this.shader,n=this.vao;r.bind(),r.uniforms={model:t.model||h,view:t.view||h,projection:t.projection||h,clipBounds:d(this.clipBounds),dashTexture:this.texture.bind(),dashScale:this.dashScale/this.arcLength[this.arcLength.length-1],opacity:this.opacity,screenShape:[e.drawingBufferWidth,e.drawingBufferHeight],pixelRatio:this.pixelRatio},n.bind(),n.draw(e.TRIANGLE_STRIP,this.vertexCount),n.unbind()}},m.drawPick=function(t){if(this.vertexCount){var e=this.gl,r=this.pickShader,n=this.vao;r.bind(),r.uniforms={model:t.model||h,view:t.view||h,projection:t.projection||h,pickId:this.pickId,clipBounds:d(this.clipBounds),screenShape:[e.drawingBufferWidth,e.drawingBufferHeight],pixelRatio:this.pixelRatio},n.bind(),n.draw(e.TRIANGLE_STRIP,this.vertexCount),n.unbind()}},m.update=function(t){var e,r;this.dirty=!0;var n=!!t.connectGaps;"dashScale"in t&&(this.dashScale=t.dashScale),this.hasAlpha=!1,"opacity"in t&&(this.opacity=+t.opacity,this.opacity<1&&(this.hasAlpha=!0));var i=[],a=[],o=[],c=0,u=0,f=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],h=t.position||t.positions;if(h){var d=t.color||t.colors||[0,0,0,1],g=t.lineWidth||1,v=!1;t:for(e=1;e0){for(var w=0;w<24;++w)i.push(i[i.length-12]);u+=2,v=!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(d[0])?(m=d.length>e-1?d[e-1]:d.length>0?d[d.length-1]:[0,0,0,1],y=d.length>e?d[e]:d.length>0?d[d.length-1]:[0,0,0,1]):m=y=d,3===m.length&&(m=[m[0],m[1],m[2],1]),3===y.length&&(y=[y[0],y[1],y[2],1]),!this.hasAlpha&&m[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 k=c;if(c+=p(b,_),v){for(r=0;r<2;++r)i.push(b[0],b[1],b[2],_[0],_[1],_[2],k,x,m[0],m[1],m[2],m[3]);u+=2,v=!1}i.push(b[0],b[1],b[2],_[0],_[1],_[2],k,x,m[0],m[1],m[2],m[3],b[0],b[1],b[2],_[0],_[1],_[2],k,-x,m[0],m[1],m[2],m[3],_[0],_[1],_[2],b[0],b[1],b[2],c,-x,y[0],y[1],y[2],y[3],_[0],_[1],_[2],b[0],b[1],b[2],c,x,y[0],y[1],y[2],y[3]),u+=4}}if(this.buffer.update(i),a.push(c),o.push(h[h.length-1].slice()),this.bounds=f,this.vertexCount=u,this.points=o,this.arcLength=a,"dashes"in t){var A=t.dashes.slice();for(A.unshift(0),e=1;e 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\n , opacity;\nuniform sampler2D texture;\n\nvarying vec3 f_normal\n , f_lightDirection\n , f_eyeDirection\n , f_data;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_data)) 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 = 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 mediump float;\n#define GLSLIFY 1\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 uv;\n\nuniform mat4 model, view, projection;\n\nvarying vec4 f_color;\nvarying vec3 f_data;\nvarying vec2 f_uv;\n\nvoid main() {\n gl_Position = projection * view * model * vec4(position, 1.0);\n f_color = color;\n f_data = position;\n f_uv = uv;\n}"]),s=n(["precision mediump 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 mediump 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);\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 mediump float;\n#define GLSLIFY 1\n\nuniform sampler2D texture;\nuniform float opacity;\n\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n vec2 pointR = gl_PointCoord.xy - vec2(0.5,0.5);\n if(dot(pointR, pointR) > 0.25) {\n discard;\n }\n gl_FragColor = f_color * texture2D(texture, f_uv) * opacity;\n}"]),u=n(["precision mediump float;\n#define GLSLIFY 1\n\nattribute vec3 position;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n gl_Position = projection * view * model * vec4(position, 1.0);\n f_id = id;\n f_position = position;\n}"]),f=n(["precision mediump 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 mediump 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);\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 mediump float;\n#define GLSLIFY 1\n\nattribute vec3 position;\n\nuniform mat4 model, view, projection;\n\nvoid main() {\n gl_Position = projection * view * model * vec4(position, 1.0);\n}"]),d=n(["precision mediump float;\n#define GLSLIFY 1\n\nuniform vec3 contourColor;\n\nvoid main() {\n gl_FragColor = vec4(contourColor,1);\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:395}],270:[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"),v=d.meshShader,m=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 k(t,e,r,n,i,a,o,s,l,c,u,f,h,p,d,g,v,m,y,x,b,_,k,A,M,T,S){this.gl=t,this.cells=[],this.positions=[],this.intensity=[],this.texture=e,this.dirty=!0,this.triShader=r,this.lineShader=n,this.pointShader=i,this.pickShader=a,this.pointPickShader=o,this.contourShader=s,this.trianglePositions=l,this.triangleColors=u,this.triangleNormals=h,this.triangleUVs=f,this.triangleIds=c,this.triangleVAO=p,this.triangleCount=0,this.lineWidth=1,this.edgePositions=d,this.edgeColors=v,this.edgeUVs=m,this.edgeIds=g,this.edgeVAO=y,this.edgeCount=0,this.pointPositions=x,this.pointColors=_,this.pointUVs=k,this.pointSizes=A,this.pointIds=b,this.pointVAO=M,this.pointCount=0,this.contourLineWidth=1,this.contourPositions=T,this.contourVAO=S,this.contourCount=0,this.contourColor=[0,0,0],this.contourEnable=!0,this.pickId=1,this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.lightPosition=[1e5,1e5,0],this.ambientLight=.8,this.diffuseLight=.8,this.specularLight=2,this.roughness=.5,this.fresnel=1.5,this.opacity=1,this._model=w,this._view=w,this._projection=w,this._resolution=[1,1]}var A=k.prototype;function M(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 T(t){var e=n(t,x.vertex,x.fragment);return e.attributes.position.location=0,e.attributes.id.location=1,e}function S(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 C(t){var e=n(t,_.vertex,_.fragment);return e.attributes.position.location=0,e}A.isOpaque=function(){return this.opacity>=1},A.isTransparent=function(){return this.opacity<1},A.pickSlots=1,A.setPickBase=function(t){this.pickId=t},A.highlight=function(t){if(t&&this.contourEnable){for(var e=h(this.cells,this.intensity,t.intensity),r=e.cells,n=e.vertexIds,i=e.vertexWeights,a=r.length,o=p.mallocFloat32(6*a),s=0,l=0;l0&&((f=this.triShader).bind(),f.uniforms=s,this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind());this.edgeCount>0&&this.lineWidth>0&&((f=this.lineShader).bind(),f.uniforms=s,this.edgeVAO.bind(),e.lineWidth(this.lineWidth),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())},A.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),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())},A.pick=function(t){if(!t)return null;if(t.id!==this.pickId)return null;for(var e=t.value[0]+256*t.value[1]+65536*t.value[2],r=this.cells[e],n=this.positions,i=new Array(r.length),a=0;ai[A]&&(r.uniforms.dataAxis=c,r.uniforms.screenOffset=u,r.uniforms.color=v[t],r.uniforms.angle=m[t],a.drawArrays(a.TRIANGLES,i[A],i[M]-i[A]))),y[t]&&k&&(u[1^t]-=T*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,k)),u[1^t]=T*s[2+(1^t)]-1,d[t+2]&&(u[1^t]+=T*p*g[t+2],Ai[A]&&(r.uniforms.dataAxis=c,r.uniforms.screenOffset=u,r.uniforms.color=v[t+2],r.uniforms.angle=m[t+2],a.drawArrays(a.TRIANGLES,i[A],i[M]-i[A]))),y[t+2]&&k&&(u[1^t]+=T*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,k))}),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,v=i[o],m=i[o+2]-v;p[o]=2*l/u*g/m,h[o]=2*(s-c)/u*g/m}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=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=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;r0&&0===L[e-1];)L.pop(),z.pop().dispose()}window.addEventListener("resize",j),B.update=function(t){e||(t=t||{},O=!0,I=!0)},B.add=function(t){e||(t.axes=M,C.push(t),E.push(-1),O=!0,I=!0,V())},B.remove=function(t){if(!e){var r=C.indexOf(t);r<0||(C.splice(r,1),E.pop(),O=!0,I=!0,V())}},B.dispose=function(){if(!e&&(e=!0,window.removeEventListener("resize",j),r.removeEventListener("webglcontextlost",H),B.mouseListener.enabled=!1,!B.contextLost)){M.dispose(),S.dispose();for(var t=0;tb.distance)continue;for(var u=0;u0){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}},{"./lib/shader":278,"3d-view-controls":45,"a-big-triangle":48,"gl-axes3d":223,"gl-axes3d/properties":230,"gl-fbo":240,"gl-mat4/perspective":259,"gl-select-static":289,"gl-spikes3d":299,"is-mobile":406,"mouse-change":421}],280:[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:395}],281:[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>>1;for(r=0;r=e[0]&&a<=e[2]&&o>=e[1]&&o<=e[3]&&n++}return n}(this.points,i),u=this.plot.pickPixelRatio*Math.max(Math.min(this.sizeMinCap,this.sizeMin),Math.min(this.sizeMax,this.sizeMax/Math.pow(s,.33333)));l[0]=2/a,l[4]=2/o,l[6]=-2*i[0]/a-1,l[7]=-2*i[1]/o-1,this.offsetBuffer.bind(),r.bind(),r.attributes.position.pointer(),r.uniforms.matrix=l,r.uniforms.color=this.color,r.uniforms.borderColor=this.borderColor,r.uniforms.pointCloud=u<5,r.uniforms.pointSize=u,r.uniforms.centerFraction=Math.min(1,Math.max(0,Math.sqrt(1-this.areaRatio))),e&&(c[0]=255&t,c[1]=t>>8&255,c[2]=t>>16&255,c[3]=t>>24&255,this.pickBuffer.bind(),r.attributes.pickId.pointer(n.UNSIGNED_BYTE),r.uniforms.pickOffset=c,this.pickOffset=t);var 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+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":280,"gl-buffer":231,"gl-shader":290,"typedarray-pool":523}],282:[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],v=r[3];(a=c*p+u*d+f*g+h*v)<0&&(a=-a,p=-p,d=-d,g=-g,v=-v);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*v,t}},{}],283:[function(t,e,r){"use strict";e.exports=function(t){return t||0===t?t.toString():""}},{}],284:[function(t,e,r){"use strict";var n=t("vectorize-text");e.exports=function(t,e){var r=i[e];r||(r=i[e]={});if(t in r)return r[t];var a={textAlign:"center",textBaseline:"middle",lineHeight:1,font:e,lineSpacing:1.25,styletags:{breaklines:!0,bolds:!0,italics:!0,subscripts:!0,superscripts:!0},triangles:!0},o=n(t,a);a.triangles=!1;for(var s=n(t,a),l=[[1/0,1/0],[-1/0,-1/0]],c=s.positions.length,u=0;u max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 glyph;\nattribute vec4 id;\n\nuniform vec4 highlightId;\nuniform float highlightScale;\nuniform mat4 model, view, projection;\nuniform vec3 clipBounds[2];\n\nvarying vec4 interpColor;\nvarying vec4 pickId;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n gl_Position = vec4(0,0,0,0);\n } else {\n float scale = 1.0;\n if(distance(highlightId, id) < 0.0001) {\n scale = highlightScale;\n }\n\n vec4 worldPosition = model * vec4(position, 1);\n vec4 viewPosition = view * worldPosition;\n viewPosition = viewPosition / viewPosition.w;\n vec4 clipPosition = projection * (viewPosition + scale * vec4(glyph.x, -glyph.y, 0, 0));\n\n gl_Position = clipPosition;\n interpColor = color;\n pickId = id;\n dataCoordinate = position;\n }\n}"]),o=i(["precision mediump 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 mediump 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 mediump 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 vec4 pickId;\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 mediump 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},v={vertex:s,fragment:c,attributes:u};function m(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 m(t,f)},r.createOrtho=function(t){return m(t,h)},r.createProject=function(t){return m(t,p)},r.createPickPerspective=function(t){return m(t,d)},r.createPickOrtho=function(t){return m(t,g)},r.createPickProject=function(t){return m(t,v)}},{"gl-shader":290,glslify:395}],286:[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?1:t>1?1:t}function v(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}]),m=new v(e,r,n,o,f,h,p,d,g,s,c,u);return m.update(t),m};var m=v.prototype;m.pickSlots=1,m.setPickBase=function(t){this.pickId=t},m.isTransparent=function(){if(this.hasAlpha)return!0;for(var t=0;t<3;++t)if(this.axesProject[t]&&this.projectHasAlpha)return!0;return!1},m.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],k=f.slice(),A=[0,0,0],M=[[0,0,0],[0,0,0]];function T(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 C(t,e,r,n){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[r]=n,t}function E(t,e,r){var n,i=e.axesProject,a=e.gl,o=t.uniforms,l=r.model||f,c=r.view||f,u=r.projection||f,h=e.axesBounds,d=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);n=e.axes&&e.axes.lastCubeProps?e.axes.lastCubeProps.axis:[1,1,1],y[0]=2/a.drawingBufferWidth,y[1]=2/a.drawingBufferHeight,t.bind(),o.view=c,o.projection=u,o.screenSize=y,o.highlightId=e.highlightId,o.highlightScale=e.highlightScale,o.clipBounds=d,o.pickGroup=e.pickId/255,o.pixelRatio=e.pixelRatio;for(var g=0;g<3;++g)if(i[g]){o.scale=e.projectScale[g],o.opacity=e.projectOpacity[g];for(var v=k,m=0;m<16;++m)v[m]=0;for(m=0;m<4;++m)v[5*m]=1;v[5*g]=0,n[g]<0?v[12+g]=h[0][g]:v[12+g]=h[1][g],s(v,l,v),o.model=v;var E=(g+1)%3,L=(g+2)%3,z=T(x),O=T(b);z[E]=1,O[L]=1;var I=p(0,0,0,S(_,z)),D=p(0,0,0,S(w,O));if(Math.abs(I[1])>Math.abs(D[1])){var P=I;I=D,D=P,P=z,z=O,O=P;var R=E;E=L,L=R}I[0]<0&&(z[E]=-1),D[1]>0&&(O[L]=-1);var F=0,B=0;for(m=0;m<4;++m)F+=Math.pow(l[4*E+m],2),B+=Math.pow(l[4*L+m],2);z[E]/=Math.sqrt(F),O[L]/=Math.sqrt(B),o.axes[0]=z,o.axes[1]=O,o.fragClipBounds[0]=C(A,d[0],g,-1e8),o.fragClipBounds[1]=C(A,d[1],g,1e8),e.vao.bind(),e.vao.draw(a.TRIANGLES,e.vertexCount),e.lineWidth>0&&(a.lineWidth(e.lineWidth),e.vao.draw(a.LINES,e.lineVertexCount,e.vertexCount)),e.vao.unbind()}}var L=[[-1e8,-1e8,-1e8],[1e8,1e8,1e8]];function z(t,e,r,n,i,a){var o=r.gl;if((i===r.projectHasAlpha||a)&&E(e,r,n),i===r.hasAlpha||a){t.bind();var s=t.uniforms;s.model=n.model||f,s.view=n.view||f,s.projection=n.projection||f,y[0]=2/o.drawingBufferWidth,y[1]=2/o.drawingBufferHeight,s.screenSize=y,s.highlightId=r.highlightId,s.highlightScale=r.highlightScale,s.fragClipBounds=L,s.clipBounds=r.axes.bounds,s.opacity=r.opacity,s.pickGroup=r.pickId/255,s.pixelRatio=r.pixelRatio,r.vao.bind(),r.vao.draw(o.TRIANGLES,r.vertexCount),r.lineWidth>0&&(o.lineWidth(r.lineWidth),r.vao.draw(o.LINES,r.lineVertexCount,r.vertexCount)),r.vao.unbind()}}function O(t,e,r){var i;i=Array.isArray(t)?e=this.pointCount||e<0)return null;var r=this.points[e],n=this._selectResult;n.index=e;for(var i=0;i<3;++i)n.position[i]=n.dataCoordinate[i]=r[i];return n},m.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]},m.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;n0){var I=0,D=x,P=[0,0,0,1],R=[0,0,0,1],F=Array.isArray(p)&&Array.isArray(p[0]),B=Array.isArray(m)&&Array.isArray(m[0]);t:for(n=0;n<_;++n){y+=1;for(w=s[n],k=0;k<3;++k){if(isNaN(w[k])||!isFinite(w[k]))continue t;f[k]=Math.max(f[k],w[k]),u[k]=Math.min(u[k],w[k])}A=(N=O(h,n,l)).mesh,M=N.lines,T=N.bounds;var N,j=N.visible;if(j)if(Array.isArray(p)){if(3===(V=F?n0?1-T[0][0]:W<0?1+T[1][0]:1,Y*=Y>0?1-T[0][1]:Y<0?1+T[1][1]:1],Z=A.cells||[],$=A.positions||[];for(k=0;k0){var m=r*u;o.drawBox(f-m,h-m,p+m,h+m,a),o.drawBox(f-m,d-m,p+m,d+m,a),o.drawBox(f-m,h-m,f+m,d+m,a),o.drawBox(p-m,h-m,p+m,d+m,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":287,"gl-buffer":231,"gl-shader":290}],289:[function(t,e,r){"use strict";e.exports=function(t,e){var r=n(t,e),a=i.mallocUint8(e[0]*e[1]*4);return new c(t,r,a)};var n=t("gl-fbo"),i=t("typedarray-pool"),a=t("ndarray"),o=t("bit-twiddle").nextPow2,s=t("cwise/lib/wrapper")({args:["array",{offset:[0,0,1],array:0},{offset:[0,0,2],array:0},{offset:[0,0,3],array:0},"scalar","scalar","index"],pre:{body:"{this_closestD2=1e8,this_closestX=-1,this_closestY=-1}",args:[],thisVars:["this_closestD2","this_closestX","this_closestY"],localVars:[]},body:{body:"{if(_inline_16_arg0_<255||_inline_16_arg1_<255||_inline_16_arg2_<255||_inline_16_arg3_<255){var _inline_16_l=_inline_16_arg4_-_inline_16_arg6_[0],_inline_16_a=_inline_16_arg5_-_inline_16_arg6_[1],_inline_16_f=_inline_16_l*_inline_16_l+_inline_16_a*_inline_16_a;_inline_16_fthis.buffer.length){i.free(this.buffer);for(var n=this.buffer=i.mallocUint8(o(r*e*4)),a=0;ar)for(t=r;te)for(t=e;t=0){for(var k=0|w.type.charAt(w.type.length-1),A=new Array(k),M=0;M=0;)T+=1;_[y]=T}var S=new Array(r.length);function C(){h.program=o.program(p,h._vref,h._fref,b,_);for(var t=0;t=0){var d=h.charCodeAt(h.length-1)-48;if(d<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=h.charCodeAt(h.length-1)-48;if(d<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;u4)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)}var a=r.charCodeAt(r.length-1)-48;if(a<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;a4)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=t.charCodeAt(t.length-1)-48;if(r<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;r1){l[0]in o||(o[l[0]]=[]),o=o[l[0]];for(var c=1;c1)for(var l=0;l 0 U ||b|| > 0.\n // Assign z = 0, x = -b, y = a:\n // a*-b + b*a + c*0 = -ba + ba + 0 = 0\n if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\n return normalize(vec3(-v.y, v.x, 0.0));\n } else {\n return normalize(vec3(0.0, v.z, -v.y));\n }\n}\n\n// Calculate the tube vertex and normal at the given index.\n//\n// The returned vertex is for a tube ring with its center at origin, radius of length(d), pointing in the direction of d.\n//\n// Each tube segment is made up of a ring of vertices.\n// These vertices are used to make up the triangles of the tube by connecting them together in the vertex array.\n// The indexes of tube segments run from 0 to 8.\n//\nvec3 getTubePosition(vec3 d, float index, out vec3 normal) {\n float segmentCount = 8.0;\n\n float angle = 2.0 * 3.14159 * (index / segmentCount);\n\n vec3 u = getOrthogonalVector(d);\n vec3 v = normalize(cross(u, d));\n\n vec3 x = u * cos(angle) * length(d);\n vec3 y = v * sin(angle) * length(d);\n vec3 v3 = x + y;\n\n normal = normalize(v3);\n\n return v3;\n}\n\nattribute vec4 vector;\nattribute vec4 color, position;\nattribute vec2 uv;\nuniform float tubeScale;\n\nuniform mat4 model\n , view\n , projection;\nuniform vec3 eyePosition\n , lightPosition;\n\nvarying vec3 f_normal\n , f_lightDirection\n , f_eyeDirection\n , f_data\n , 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 normal = normalize(normal * inverse(mat3(model)));\n\n gl_Position = projection * view * tubePosition;\n f_color = color;\n f_normal = normal;\n f_data = tubePosition.xyz;\n f_position = position.xyz;\n f_eyeDirection = eyePosition - tubePosition.xyz;\n f_lightDirection = lightPosition - tubePosition.xyz;\n f_uv = uv;\n}\n"]),a=n(["precision mediump 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\n , fresnel\n , kambient\n , kdiffuse\n , kspecular\n , opacity;\nuniform sampler2D texture;\n\nvarying vec3 f_normal\n , f_lightDirection\n , f_eyeDirection\n , f_data\n , f_position;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) 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 = cookTorranceSpecular(L, V, N, roughness, fresnel);\n float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\n\n vec4 surfaceColor = 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}"]),o=n(["precision mediump 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 mediump 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:"normal",type:"vec3"},{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:395}],302:[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("./shaders"),g=(t("./closest-point"),d.meshShader),v=d.pickShader,m=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function y(t,e,r,n,i,a,o,s,l,c,u,f,h,p,d,g,v,y,x,b,_,w,k,A,M,T,S,C){this.gl=t,this.cells=[],this.positions=[],this.intensity=[],this.texture=e,this.dirty=!0,this.triShader=r,this.lineShader=n,this.pointShader=i,this.pickShader=a,this.pointPickShader=o,this.contourShader=s,this.trianglePositions=l,this.triangleVectors=c,this.triangleColors=f,this.triangleNormals=p,this.triangleUVs=h,this.triangleIds=u,this.triangleVAO=d,this.triangleCount=0,this.lineWidth=1,this.edgePositions=g,this.edgeColors=y,this.edgeUVs=x,this.edgeIds=v,this.edgeVAO=b,this.edgeCount=0,this.pointPositions=_,this.pointColors=k,this.pointUVs=A,this.pointSizes=M,this.pointIds=w,this.pointVAO=T,this.pointCount=0,this.contourLineWidth=1,this.contourPositions=S,this.contourVAO=C,this.contourCount=0,this.contourColor=[0,0,0],this.contourEnable=!1,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.tubeScale=1,this._model=m,this._view=m,this._projection=m,this._resolution=[1,1]}var x=y.prototype;function b(t){var e=n(t,v.vertex,v.fragment,null,v.attributes);return e.attributes.position.location=0,e.attributes.id.location=1,e.attributes.vector.location=5,e}x.isOpaque=function(){return this.opacity>=1},x.isTransparent=function(){return this.opacity<1},x.pickSlots=1,x.setPickBase=function(t){this.pickId=t},x.highlight=function(t){if(t&&this.contourEnable){for(var e=h(this.cells,this.intensity,t.intensity),r=e.cells,n=e.vertexIds,i=e.vertexWeights,a=r.length,o=p.mallocFloat32(6*a),s=0,l=0;l0&&((f=this.triShader).bind(),f.uniforms=s,this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind());this.edgeCount>0&&this.lineWidth>0&&((f=this.lineShader).bind(),f.uniforms=s,this.edgeVAO.bind(),e.lineWidth(this.lineWidth),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())},x.drawPick=function(t){t=t||{};for(var e=this.gl,r=t.model||m,n=t.view||m,i=t.projection||m,a=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o<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,tubeScale:this.tubeScale,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),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())},x.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);return{index:e,position:n,intensity:this.intensity[r[1]],velocity:this.vectors[r[1]].slice(0,3),divergence:this.vectors[r[1]][3],dataCoordinate:n}},x.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.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()},e.exports=function(t,e){1===arguments.length&&(t=(e=t).gl);var r=e.triShader||function(t){var e=n(t,g.vertex,g.fragment,null,g.attributes);return e.attributes.position.location=0,e.attributes.color.location=2,e.attributes.uv.location=3,e.attributes.vector.location=5,e}(t),s=b(t),l=o(t,u(new Uint8Array([255,255,255,255]),[1,1,4]));l.generateMipmap(),l.minFilter=t.LINEAR_MIPMAP_LINEAR,l.magFilter=t.LINEAR;var c=i(t),f=i(t),h=i(t),p=i(t),d=i(t),v=i(t),m=a(t,[{buffer:c,type:t.FLOAT,size:4},{buffer:v,type:t.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:h,type:t.FLOAT,size:4},{buffer:p,type:t.FLOAT,size:2},{buffer:d,type:t.FLOAT,size:3},{buffer:f,type:t.FLOAT,size:4}]),x=i(t),_=i(t),w=i(t),k=i(t),A=a(t,[{buffer:x,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}]),M=i(t),T=i(t),S=i(t),C=i(t),E=i(t),L=a(t,[{buffer:M,type:t.FLOAT,size:3},{buffer:E,type:t.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:T,type:t.FLOAT,size:4},{buffer:S,type:t.FLOAT,size:2},{buffer:C,type:t.FLOAT,size:1}]),z=i(t),O=new y(t,l,r,null,null,s,null,null,c,f,v,h,p,d,m,x,k,_,w,A,M,E,T,S,C,L,z,a(t,[{buffer:z,type:t.FLOAT,size:3}]));return O.update(e),O}},{"./closest-point":300,"./shaders":301,colormap:115,"gl-buffer":231,"gl-mat4/invert":256,"gl-mat4/multiply":258,"gl-shader":290,"gl-texture2d":308,"gl-vao":313,ndarray:436,normals:439,"simplicial-complex-contour":496,"typedarray-pool":523}],303:[function(t,e,r){"use strict";var n=t("gl-vec3"),i=t("gl-vec4"),a=function(t,e,r,a){for(var o=0,s=0;so&&(o=u)}var f=t.map(function(t){return function(t,e,r,a){var o,s,l,c=t.points,u=t.velocities,f=t.divergences;n.set(n.create(),0,1,0),n.create(),n.create();n.create();for(var h=[],p=[],d=[],g=[],v=[],m=[],y=0,x=0,b=i.create(),_=i.create(),w=0;w0)for(k=0;k<8;k++){var A=(k+1)%8;h.push(g[k],v[k],v[A],v[A],g[A],g[k]),d.push(_,b,b,b,_,_),m.push(y,x,x,x,y,y),p.push([h.length-6,h.length-5,h.length-4],[h.length-3,h.length-2,h.length-1])}var M=g;g=v,v=M,M=_,_=b,b=M,M=y,y=x,x=M}return{positions:h,cells:p,vectors:d,vertexIntensity:m}}(t,r,a,o)}),h=[],p=[],d=[],g=[];for(s=0;se)return r-1}return r},c=n.create(),u=n.create(),f=function(t,e,r){return tr?r:t},h=function(t,e,r,i){var a=t[0],o=t[1],s=t[2],h=r[0].length,p=r[1].length,d=r[2].length,g=l(r[0],a),v=l(r[1],o),m=l(r[2],s),y=g+1,x=v+1,b=m+1;if(r[0][g]===a&&(y=g),r[1][v]===o&&(x=v),r[2][m]===s&&(b=m),i&&(g=f(g,0,h-1),y=f(y,0,h-1),v=f(v,0,p-1),x=f(x,0,p-1),m=f(m,0,d-1),b=f(b,0,d-1)),g<0||v<0||m<0||y>=h||x>=p||b>=d)return n.create();var _=(a-r[0][g])/(r[0][y]-r[0][g]),w=(o-r[1][v])/(r[1][x]-r[1][v]),k=(s-r[2][m])/(r[2][b]-r[2][m]);(_<0||_>1||isNaN(_))&&(_=0),(w<0||w>1||isNaN(w))&&(w=0),(k<0||k>1||isNaN(k))&&(k=0);var A=m*h*p,M=b*h*p,T=v*h,S=x*h,C=g,E=y,L=e[T+A+C],z=e[T+A+E],O=e[S+A+C],I=e[S+A+E],D=e[T+M+C],P=e[T+M+E],R=e[S+M+C],F=e[S+M+E],B=n.create();return n.lerp(B,L,z,_),n.lerp(c,O,I,_),n.lerp(B,B,c,w),n.lerp(c,D,P,_),n.lerp(u,R,F,_),n.lerp(c,c,u,w),n.lerp(B,B,c,k),B},p=function(t){var e=1/0;t.sort(function(t,e){return t-e});for(var r=1;r=f&&r<=g&&n>=h&&n<=v&&i>=d&&i<=m},x=10*n.distance(e[0],e[1])/i,b=x*x,_=1,w=0;n.create();r.length>=2&&(_=function(t){for(var e=[],r=[],n=[],i={},a={},o={},s=0;sw&&!isNaN(D)&&isFinite(D)&&(w=D),E.push(D),u.push({points:M,velocities:T,divergences:E});for(var z=0;z<100*i&&M.lengthb&&n.scale(O,O,x/Math.sqrt(I)),n.add(O,O,A),S=t.getVelocity(O),n.squaredDistance(C,O)-b>-1e-4*b){M.push(O),C=O,T.push(S);L=t.getDivergence(O,S);(D=n.length(L))>w&&!isNaN(D)&&isFinite(D)&&(w=D),E.push(D)}A=O}}for(k=0;k 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 ((kill > 0.0) ||\n (outOfRange(clipBounds[0], clipBounds[1], worldCoordinate))) 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 mediump 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 mediump 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":290,glslify:395}],305:[function(t,e,r){arguments[4][100][0].apply(r,arguments)},{dup:100}],306:[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:w,offset:0},{buffer:c,size:3,stride:w,offset:16},{buffer:c,size:3,stride:w,offset:28}]),f=i(e),h=a(e,[{buffer:f,size:4,stride:20,offset:0},{buffer:f,size:1,stride:20,offset:16}]),p=i(e),d=a(e,[{buffer:p,size:2,type:e.FLOAT}]),g=o(e,1,S,e.RGBA,e.UNSIGNED_BYTE);g.minFilter=e.LINEAR,g.magFilter=e.LINEAR;var v=new C(e,[0,0],[[0,0,0],[0,0,0]],r,n,c,u,g,s,l,f,h,p,d,[0,0,0]),m={levels:[[],[],[]]};for(var k in t)m[k]=t[k];return m.colormap=m.colormap||"jet",v.update(m),v};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"),v=t("ndarray-gradient"),m=t("./lib/shaders"),y=m.createShader,x=m.createContourShader,b=m.createPickShader,_=m.createPickContourShader,w=40,k=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],A=[[0,0],[0,1],[1,0],[1,1],[1,0],[0,1]],M=[[0,0,0,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 T(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=M[t],r=(t+2)%3;e[(t+1)%3+0]=1,e[r+3]=1,e[t+6]=1}}();var S=256;function C(t,e,r,n,i,a,o,l,c,u,h,p,d,g,v){this.gl=t,this.shape=e,this.bounds=r,this.objectOffset=v,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 T([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.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 E=C.prototype;E.isTransparent=function(){return this.opacity<1},E.isOpaque=function(){if(this.opacity>=1)return!0;for(var t=0;t<3;++t)if(this._contourCounts[t].length>0||this._dynamicCounts[t]>0)return!0;return!1},E.pickSlots=1,E.setPickBase=function(t){this.pickId=t};var L=[0,0,0],z={showSurface:!1,showContour:!1,projections:[k.slice(),k.slice(),k.slice()],clipBounds:[[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]]]};function O(t,e){var r,n,i,a=e.axes&&e.axes.lastCubeProps.axis||L,o=e.showSurface,s=e.showContour;for(r=0;r<3;++r)for(o=o||e.surfaceProject[r],n=0;n<3;++n)s=s||e.contourProject[r][n];for(r=0;r<3;++r){var l=z.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=z.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 z.showSurface=o,z.showContour=s,z}var I={model:k,view:k,projection:k,inverseModel:k.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},D=k.slice(),P=[1,0,0,0,1,0,0,0,1];function R(t,e){t=t||{};var r=this.gl;r.disable(r.CULL_FACE),this._colorMap.bind(0);var n=I;n.model=t.model||k,n.view=t.view||k,n.projection=t.projection||k,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=P,n.vertexColor=this.vertexColor;var s=D;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=O(n,this);if(u.showSurface&&e===this.opacity<1){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&&!e){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=M[i],r.lineWidth(this.contourWidth[i]),o=0;o>4)/16)/255,i=Math.floor(n),a=n-i,o=e[1]*(t.value[1]+(15&t.value[2])/16)/255,s=Math.floor(o),l=o-s;i+=1,s+=1;var c=r.position;c[0]=c[1]=c[2]=0;for(var u=0;u<2;++u)for(var f=u?a:1-a,h=0;h<2;++h)for(var p=i+u,d=s+h,v=f*(h?l:1-l),m=0;m<3;++m)c[m]+=this._field[m].get(p,d)*v;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]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],m=0;m<3;++m)r.dataCoordinate[m]=this._field[m].get(r.index[0],r.index[1]);return r},E.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))},E.update=function(t){t=t||{},this.objectOffset=t.objectOffset||this.objectOffset,this.dirty=!0,"contourWidth"in t&&(this.contourWidth=B(t.contourWidth,Number)),"showContour"in t&&(this.showContour=B(t.showContour,Boolean)),"showSurface"in t&&(this.showSurface=!!t.showSurface),"contourTint"in t&&(this.contourTint=B(t.contourTint,Boolean)),"contourColor"in t&&(this.contourColor=j(t.contourColor)),"contourProject"in t&&(this.contourProject=B(t.contourProject,function(t){return B(t,Boolean)})),"surfaceProject"in t&&(this.surfaceProject=t.surfaceProject),"dynamicColor"in t&&(this.dynamicColor=j(t.dynamicColor)),"dynamicTint"in t&&(this.dynamicTint=B(t.dynamicTint,Number)),"dynamicWidth"in t&&(this.dynamicWidth=B(t.dynamicWidth,Number)),"opacity"in t&&(this.opacity=t.opacity),"colorBounds"in t&&(this.colorBounds=t.colorBounds),"vertexColor"in t&&(this.vertexColor=t.vertexColor?1:0);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 p=t.coords;if(!Array.isArray(p)||3!==p.length)throw new Error("gl-surface: invalid coordinates for x/y");for(o=0;o<2;++o){var d=p[o];for(b=0;b<2;++b)if(d.shape[b]!==a[b])throw new Error("gl-surface: coords have incorrect shape");this.padField(this._field[o],d)}}else if(t.ticks){var g=t.ticks;if(!Array.isArray(g)||2!==g.length)throw new Error("gl-surface: invalid ticks");for(o=0;o<2;++o){var m=g[o];if((Array.isArray(m)||m.length)&&(m=f(m)),m.shape[0]!==a[o])throw new Error("gl-surface: invalid tick length");var y=f(m.data,a);y.stride[o]=m.stride[0],y.stride[1^o]=0,this.padField(this._field[o],y)}}else{for(o=0;o<2;++o){var x=[0,0];x[o]=1,this._field[o]=f(this._field[o].data,[a[0]+2,a[1]+2],x,0)}this._field[0].set(0,0,0);for(var b=0;b0){for(var wt=0;wt<5;++wt)rt.pop();G-=1}continue t}rt.push(ot[0],ot[1],ct[0],ct[1],ot[2]),G+=1}}at.push(G)}this._contourOffsets[nt]=it,this._contourCounts[nt]=at}var kt=s.mallocFloat(rt.length);for(o=0;o 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:{}}},k.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),k.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=k.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(k.baseFontSize+"px "+t)}else t=n.parse(n.stringify(t));var i=n.stringify({size:k.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]=k.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:m(c,{origin:"top",fontSize:k.baseFontSize,fontStyle:u.join(" ")})},k.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;h2){for(var w=!t.position[0].length,A=u.mallocFloat(2*this.count),M=0,T=0;M1?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],k.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 W=(t.color.subarray||t.color.slice).bind(t.color),Y=0;Y4||this.baselineOffset.length>1||this.align&&this.align.length>1||this.fontAtlas.length>1||this.positionOffset.length>2){var $=Math.max(.5*this.position.length||0,.25*this.color.length||0,this.baselineOffset.length||0,this.alignOffset.length||0,this.font.length||0,this.opacity.length||0,.5*this.positionOffset.length||0);this.batch=Array($);for(var J=0;J1?e.counts[J]:e.counts[0],offset:e.textOffsets.length>1?e.textOffsets[J]:e.textOffsets[0],color:e.color?e.color.length<=4?e.color:e.color.subarray(4*J,4*J+4):[0,0,0,255],opacity:Array.isArray(e.opacity)?e.opacity[J]:e.opacity,baseline:null!=e.baselineOffset[J]?e.baselineOffset[J]:e.baselineOffset[0],align:e.align?null!=e.alignOffset[J]?e.alignOffset[J]:e.alignOffset[0]:0,atlas:e.fontAtlas[J]||e.fontAtlas[0],positionOffset:e.positionOffset.length>2?e.positionOffset.subarray(2*J,2*J+2):e.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=[]},k.prototype.destroy=function(){},k.prototype.kerning=!0,k.prototype.position={constant:new Float32Array(2)},k.prototype.translate=null,k.prototype.scale=null,k.prototype.font=null,k.prototype.text="",k.prototype.positionOffset=[0,0],k.prototype.opacity=1,k.prototype.color=new Uint8Array([0,0,0,255]),k.prototype.alignOffset=[0,0],k.normalViewport=!1,k.maxAtlasSize=1024,k.atlasCanvas=document.createElement("canvas"),k.atlasContext=k.atlasCanvas.getContext("2d",{alpha:!1}),k.baseFontSize=64,k.fonts={},e.exports=k},{"bit-twiddle":81,"color-normalize":109,"css-font":128,"detect-kerning":152,"es6-weak-map":210,"flatten-vertex-data":217,"font-atlas":218,"font-measure":219,"gl-util/context":309,"is-plain-obj":408,"object-assign":440,"parse-rect":445,"parse-unit":447,"pick-by-alias":451,regl:480,"to-px":517,"typedarray-pool":523}],308:[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||function(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]}(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=c(e)?e:e.raw;if(r)return function(t,e,r,n,i,a){var o=g(t);return t.texImage2D(t.TEXTURE_2D,0,i,i,a,e),new h(t,o,r,n,i,a)}(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 function(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=d(o,e.stride.slice()),c=0;"float32"===r?c=t.FLOAT:"float64"===r?(c=t.FLOAT,l=!1,r="float32"):"uint8"===r?c=t.UNSIGNED_BYTE:(c=t.UNSIGNED_BYTE,l=!1,r="uint8");var f,p,v=0;if(2===o.length)v=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])v=t.ALPHA;else if(2===o[2])v=t.LUMINANCE_ALPHA;else if(3===o[2])v=t.RGB;else{if(4!==o[2])throw new Error("gl-texture2d: Invalid shape for pixel coords");v=t.RGBA}}c!==t.FLOAT||t.getExtension("OES_texture_float")||(c=t.UNSIGNED_BYTE,l=!1);var m=e.size;if(l)f=0===e.offset&&e.data.length===m?e.data:e.data.subarray(e.offset,e.offset+m);else{var y=[o[2],o[2]*o[0],1];p=a.malloc(m,r);var x=n(p,o,y,0);"float32"!==r&&"float64"!==r||c!==t.UNSIGNED_BYTE?i.assign(x,e):u(x,e),f=p.subarray(0,m)}var b=g(t);t.texImage2D(t.TEXTURE_2D,0,v,o[0],o[1],0,v,c,f),l||a.free(p);return new h(t,b,o[0],o[1],v,c)}(t,e)}throw new Error("gl-texture2d: Invalid arguments for texture2d constructor")};var o=null,s=null,l=null;function c(t){return"undefined"!=typeof HTMLCanvasElement&&t instanceof HTMLCanvasElement||"undefined"!=typeof HTMLImageElement&&t instanceof HTMLImageElement||"undefined"!=typeof HTMLVideoElement&&t instanceof HTMLVideoElement||"undefined"!=typeof ImageData&&t instanceof ImageData}var u=function(t,e){i.muls(t,e,255)};function f(t,e,r){var n=t.gl,i=n.getParameter(n.MAX_TEXTURE_SIZE);if(e<0||e>i||r<0||r>i)throw new Error("gl-texture2d: Invalid texture size");return t._shape=[e,r],t.bind(),n.texImage2D(n.TEXTURE_2D,0,t.format,e,r,0,t.format,t.type,null),t._mipLevels=[0],t}function h(t,e,r,n,i,a){this.gl=t,this.handle=e,this.format=i,this.type=a,this._shape=[r,n],this._mipLevels=[0],this._magFilter=t.NEAREST,this._minFilter=t.NEAREST,this._wrapS=t.CLAMP_TO_EDGE,this._wrapT=t.CLAMP_TO_EDGE,this._anisoSamples=1;var o=this,s=[this._wrapS,this._wrapT];Object.defineProperties(s,[{get:function(){return o._wrapS},set:function(t){return o.wrapS=t}},{get:function(){return o._wrapT},set:function(t){return o.wrapT=t}}]),this._wrapVector=s;var l=[this._shape[0],this._shape[1]];Object.defineProperties(l,[{get:function(){return o._shape[0]},set:function(t){return o.width=t}},{get:function(){return o._shape[1]},set:function(t){return o.height=t}}]),this._shapeVector=l}var p=h.prototype;function d(t,e){return 3===t.length?1===e[2]&&e[1]===t[0]*t[2]&&e[0]===t[2]:1===e[0]&&e[1]===t[0]}function g(t){var e=t.createTexture();return t.bindTexture(t.TEXTURE_2D,e),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),e}function v(t,e,r,n,i){var a=t.getParameter(t.MAX_TEXTURE_SIZE);if(e<0||e>a||r<0||r>a)throw new Error("gl-texture2d: Invalid texture shape");if(i===t.FLOAT&&!t.getExtension("OES_texture_float"))throw new Error("gl-texture2d: Floating point textures not supported on this platform");var o=g(t);return t.texImage2D(t.TEXTURE_2D,0,n,e,r,0,n,i,null),new h(t,o,e,r,n,i)}Object.defineProperties(p,{minFilter:{get:function(){return this._minFilter},set:function(t){this.bind();var e=this.gl;if(this.type===e.FLOAT&&o.indexOf(t)>=0&&(e.getExtension("OES_texture_float_linear")||(t=e.NEAREST)),s.indexOf(t)<0)throw new Error("gl-texture2d: Unknown filter mode "+t);return e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,t),this._minFilter=t}},magFilter:{get:function(){return this._magFilter},set:function(t){this.bind();var e=this.gl;if(this.type===e.FLOAT&&o.indexOf(t)>=0&&(e.getExtension("OES_texture_float_linear")||(t=e.NEAREST)),s.indexOf(t)<0)throw new Error("gl-texture2d: Unknown filter mode "+t);return e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,t),this._magFilter=t}},mipSamples:{get:function(){return this._anisoSamples},set:function(t){var e=this._anisoSamples;if(this._anisoSamples=0|Math.max(t,1),e!==this._anisoSamples){var r=this.gl.getExtension("EXT_texture_filter_anisotropic");r&&this.gl.texParameterf(this.gl.TEXTURE_2D,r.TEXTURE_MAX_ANISOTROPY_EXT,this._anisoSamples)}return this._anisoSamples}},wrapS:{get:function(){return this._wrapS},set:function(t){if(this.bind(),l.indexOf(t)<0)throw new Error("gl-texture2d: Unknown wrap mode "+t);return this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_S,t),this._wrapS=t}},wrapT:{get:function(){return this._wrapT},set:function(t){if(this.bind(),l.indexOf(t)<0)throw new Error("gl-texture2d: Unknown wrap mode "+t);return this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_T,t),this._wrapT=t}},wrap:{get:function(){return this._wrapVector},set:function(t){if(Array.isArray(t)||(t=[t,t]),2!==t.length)throw new Error("gl-texture2d: Must specify wrap mode for rows and columns");for(var e=0;e<2;++e)if(l.indexOf(t[e])<0)throw new Error("gl-texture2d: Unknown wrap mode "+t);this._wrapS=t[0],this._wrapT=t[1];var r=this.gl;return this.bind(),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_S,this._wrapS),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_T,this._wrapT),t}},shape:{get:function(){return this._shapeVector},set:function(t){if(Array.isArray(t)){if(2!==t.length)throw new Error("gl-texture2d: Invalid texture shape")}else t=[0|t,0|t];return f(this,0|t[0],0|t[1]),[0|t[0],0|t[1]]}},width:{get:function(){return this._shape[0]},set:function(t){return f(this,t|=0,this._shape[1]),t}},height:{get:function(){return this._shape[1]},set:function(t){return t|=0,f(this,this._shape[0],t),t}}}),p.bind=function(t){var e=this.gl;return void 0!==t&&e.activeTexture(e.TEXTURE0+(0|t)),e.bindTexture(e.TEXTURE_2D,this.handle),void 0!==t?0|t:e.getParameter(e.ACTIVE_TEXTURE)-e.TEXTURE0},p.dispose=function(){this.gl.deleteTexture(this.handle)},p.generateMipmap=function(){this.bind(),this.gl.generateMipmap(this.gl.TEXTURE_2D);for(var t=Math.min(this._shape[0],this._shape[1]),e=0;t>0;++e,t>>>=1)this._mipLevels.indexOf(e)<0&&this._mipLevels.push(e)},p.setPixels=function(t,e,r,o){var s=this.gl;this.bind(),Array.isArray(e)?(o=r,r=0|e[1],e=0|e[0]):(e=e||0,r=r||0),o=o||0;var l=c(t)?t:t.raw;if(l){this._mipLevels.indexOf(o)<0?(s.texImage2D(s.TEXTURE_2D,0,this.format,this.format,this.type,l),this._mipLevels.push(o)):s.texSubImage2D(s.TEXTURE_2D,o,e,r,this.format,this.type,l)}else{if(!(t.shape&&t.stride&&t.data))throw new Error("gl-texture2d: Unsupported data type");if(t.shape.length<2||e+t.shape[1]>this._shape[1]>>>o||r+t.shape[0]>this._shape[0]>>>o||e<0||r<0)throw new Error("gl-texture2d: Texture dimensions are out of bounds");!function(t,e,r,o,s,l,c,f){var h=f.dtype,p=f.shape.slice();if(p.length<2||p.length>3)throw new Error("gl-texture2d: Invalid ndarray, must be 2d or 3d");var g=0,v=0,m=d(p,f.stride.slice());"float32"===h?g=t.FLOAT:"float64"===h?(g=t.FLOAT,m=!1,h="float32"):"uint8"===h?g=t.UNSIGNED_BYTE:(g=t.UNSIGNED_BYTE,m=!1,h="uint8");if(2===p.length)v=t.LUMINANCE,p=[p[0],p[1],1],f=n(f.data,p,[f.stride[0],f.stride[1],1],f.offset);else{if(3!==p.length)throw new Error("gl-texture2d: Invalid shape for texture");if(1===p[2])v=t.ALPHA;else if(2===p[2])v=t.LUMINANCE_ALPHA;else if(3===p[2])v=t.RGB;else{if(4!==p[2])throw new Error("gl-texture2d: Invalid shape for pixel coords");v=t.RGBA}p[2]}v!==t.LUMINANCE&&v!==t.ALPHA||s!==t.LUMINANCE&&s!==t.ALPHA||(v=s);if(v!==s)throw new Error("gl-texture2d: Incompatible texture format for setPixels");var y=f.size,x=c.indexOf(o)<0;x&&c.push(o);if(g===l&&m)0===f.offset&&f.data.length===y?x?t.texImage2D(t.TEXTURE_2D,o,s,p[0],p[1],0,s,l,f.data):t.texSubImage2D(t.TEXTURE_2D,o,e,r,p[0],p[1],s,l,f.data):x?t.texImage2D(t.TEXTURE_2D,o,s,p[0],p[1],0,s,l,f.data.subarray(f.offset,f.offset+y)):t.texSubImage2D(t.TEXTURE_2D,o,e,r,p[0],p[1],s,l,f.data.subarray(f.offset,f.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]);g===t.FLOAT&&l===t.UNSIGNED_BYTE?u(_,f):i.assign(_,f),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:436,"ndarray-ops":430,"typedarray-pool":523}],309:[function(t,e,r){"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*window.innerWidth),document.body.style.height||(t.canvas.height=t.height||t.pixelRatio*window.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}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"},!0),t.pixelRatio||(t.pixelRatio=window.pixelRatio||1),t.gl)return t.gl;if(t.canvas&&(t.container=t.canvas.parentNode),t.container){if("string"==typeof t.container){var r=document.querySelector(t.container);if(!r)throw Error("Element "+t.container+" is not found");t.container=r}a(t.container)?(t.canvas=t.container,t.container=t.canvas.parentNode):t.canvas||(t.canvas=document.createElement("canvas"),t.container.appendChild(t.canvas),i(t))}else t.canvas||(t.container=document.body||document.documentElement,t.canvas=document.createElement("canvas"),t.canvas.style.position="absolute",t.canvas.style.top=0,t.canvas.style.left=0,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}},{"pick-by-alias":451}],310:[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;i1?0:Math.acos(s)};var n=t("./fromValues"),i=t("./normalize"),a=t("./dot")},{"./dot":325,"./fromValues":331,"./normalize":342}],316:[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}},{}],317:[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}},{}],318:[function(t,e,r){e.exports=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}},{}],319:[function(t,e,r){e.exports=function(){var t=new Float32Array(3);return t[0]=0,t[1]=0,t[2]=0,t}},{}],320:[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}},{}],321:[function(t,e,r){e.exports=t("./distance")},{"./distance":322}],322:[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)}},{}],323:[function(t,e,r){e.exports=t("./divide")},{"./divide":324}],324:[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}},{}],325:[function(t,e,r){e.exports=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}},{}],326:[function(t,e,r){e.exports=1e-6},{}],327:[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":326}],328:[function(t,e,r){e.exports=function(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]}},{}],329:[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}},{}],330:[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;s0&&(a=1/Math.sqrt(a),t[0]=e[0]*a,t[1]=e[1]*a,t[2]=e[2]*a);return t}},{}],343:[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}},{}],344:[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}},{}],345:[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}},{}],346:[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}},{}],347:[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}},{}],348:[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}},{}],349:[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}},{}],350:[function(t,e,r){e.exports=function(t,e,r,n){return t[0]=e,t[1]=r,t[2]=n,t}},{}],351:[function(t,e,r){e.exports=t("./squaredDistance")},{"./squaredDistance":353}],352:[function(t,e,r){e.exports=t("./squaredLength")},{"./squaredLength":354}],353:[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}},{}],354:[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}},{}],355:[function(t,e,r){e.exports=t("./subtract")},{"./subtract":356}],356:[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}},{}],357:[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}},{}],358:[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}},{}],359:[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}},{}],360:[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}},{}],361:[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}},{}],362:[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}},{}],363:[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}},{}],364:[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)}},{}],365:[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}},{}],366:[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]}},{}],367:[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}},{}],368:[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":360,"./clone":361,"./copy":362,"./create":363,"./distance":364,"./divide":365,"./dot":366,"./fromValues":367,"./inverse":369,"./length":370,"./lerp":371,"./max":372,"./min":373,"./multiply":374,"./negate":375,"./normalize":376,"./random":377,"./scale":378,"./scaleAndAdd":379,"./set":380,"./squaredDistance":381,"./squaredLength":382,"./subtract":383,"./transformMat4":384,"./transformQuat":385}],369:[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}},{}],370:[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)}},{}],371:[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}},{}],372:[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}},{}],373:[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}},{}],374:[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}},{}],375:[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}},{}],376:[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}},{}],377:[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":376,"./scale":378}],378:[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}},{}],379:[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}},{}],380:[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}},{}],381:[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}},{}],382:[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}},{}],383:[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}},{}],384:[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}},{}],385:[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}},{}],386:[function(t,e,r){e.exports=function(t,e,r,a){return n[0]=a,n[1]=r,n[2]=e,n[3]=t,i[0]};var n=new Uint8Array(4),i=new Float32Array(n.buffer)},{}],387:[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;r0)continue;r=t.slice(0,1).join("")}return F(r),z+=r.length,(S=S.slice(r.length)).length}}function H(){return/[^a-fA-F0-9]/.test(e)?(F(S.join("")),T=l,A):(S.push(e),r=e,A+1)}function G(){return"."===e?(S.push(e),T=g,r=e,A+1):/[eE]/.test(e)?(S.push(e),T=g,r=e,A+1):"x"===e&&1===S.length&&"0"===S[0]?(T=_,S.push(e),r=e,A+1):/[^\d]/.test(e)?(F(S.join("")),T=l,A):(S.push(e),r=e,A+1)}function W(){return"f"===e&&(S.push(e),r=e,A+=1),/[eE]/.test(e)?(S.push(e),r=e,A+1):"-"===e&&/[eE]/.test(r)?(S.push(e),r=e,A+1):/[^\d]/.test(e)?(F(S.join("")),T=l,A):(S.push(e),r=e,A+1)}function Y(){if(/[^\d\w_]/.test(e)){var t=S.join("");return T=R.indexOf(t)>-1?y:P.indexOf(t)>-1?m:v,F(S.join("")),T=l,A}return S.push(e),r=e,A+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=999,c=9999,u=0,f=1,h=2,p=3,d=4,g=5,v=6,m=7,y=8,x=9,b=10,_=11,w=["block-comment","line-comment","preprocessor","operator","integer","float","ident","builtin","keyword","whitespace","eof","integer"]},{"./lib/builtins":390,"./lib/builtins-300es":389,"./lib/literals":392,"./lib/literals-300es":391,"./lib/operators":393}],389:[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":390}],390:[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"]},{}],391:[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","uint","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":392}],392:[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","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"]},{}],393:[function(t,e,r){e.exports=["<<=",">>=","++","--","<<",">>","<=",">=","==","!=","&&","||","+=","-=","*=","/=","%=","&=","^^","^=","|=","(",")","[","]",".","!","~","*","/","%","+","-","<",">","&","^","|","?",":","=",",",";","{","}"]},{}],394:[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":388}],395:[function(t,e,r){e.exports=function(t){"string"==typeof t&&(t=[t]);for(var e=[].slice.call(arguments,1),r=[],n=0;n>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<>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<0;t[r+p]=255&o,p+=d,o/=256,c-=8);t[r+p-d]|=128*g}},{}],399:[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);for(var f=new a(l,new Array(i+1),!1),h=f.adjacent,p=new Array(i+2),u=0;u<=i;++u){for(var d=l.slice(),g=0;g<=i;++g)g===u&&(d[g]=-1);var v=d[0];d[0]=d[1],d[1]=v;var m=new a(d,new Array(i+1),!0);h[u]=m,p[u]=m}p[i+1]=f;for(var u=0;u<=i;++u)for(var d=h[u].vertices,y=h[u].adjacent,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])}for(var _=new c(i,o,p),w=!!e,u=i+1;u0&&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 v=0;v<=n;++v)if(v!==g){var m=d[v];if(m.boundary&&!(m.lastVisited>=r)){var y=m.vertices;if(m.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,m.boundary=!1,c.push(m),f.push(m),m.lastVisited=r;continue}m.lastVisited=-r}var _=m.adjacent,w=p.slice(),k=d.slice(),A=new a(w,k,!0);u.push(A);var M=_.indexOf(e);if(!(M<0)){_[M]=A,k[g]=m,w[v]=-1,k[v]=e,d[v]=A,A.flip();for(b=0;b<=n;++b){var T=w[b];if(!(T<0||T===r)){for(var S=new Array(n-1),C=0,E=0;E<=n;++E){var L=w[E];L<0||E===b||(S[C++]=L)}h.push(new o(S,A,b))}}}}}}h.sort(s);for(v=0;v+1=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":488,"simplicial-complex":498}],400:[function(t,e,r){"use strict";var n=t("binary-search-bounds"),i=0,a=1;function o(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 x(null);return new x(y(t))};var s=o.prototype;function l(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 c(t,e){var r=y(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 u(t,e){var r=t.intervals([]);r.push(e),c(t,r)}function f(t,e){var r=t.intervals([]),n=r.indexOf(e);return n<0?i:(r.splice(n,1),c(t,r),a)}function h(t,e,r){for(var n=0;n=0&&t[n][1]>=e;--n){var i=r(t[n]);if(i)return i}}function d(t,e){for(var r=0;r>1],i=[],a=[],s=[];for(r=0;r3*(e+1)?u(this,t):this.left.insert(t):this.left=y([t]);else if(t[0]>this.mid)this.right?4*(this.right.count+1)>3*(e+1)?u(this,t):this.right.insert(t):this.right=y([t]);else{var r=n.ge(this.leftPoints,t,v),i=n.ge(this.rightPoints,t,m);this.leftPoints.splice(r,0,t),this.rightPoints.splice(i,0,t)}},s.remove=function(t){var e=this.count-this.leftPoints;if(t[1]3*(e-1)?f(this,t):2===(c=this.left.remove(t))?(this.left=null,this.count-=1,a):(c===a&&(this.count-=1),c):i;if(t[0]>this.mid)return this.right?4*(this.left?this.left.count:0)>3*(e-1)?f(this,t):2===(c=this.right.remove(t))?(this.right=null,this.count-=1,a):(c===a&&(this.count-=1),c):i;if(1===this.count)return this.leftPoints[0]===t?2:i;if(1===this.leftPoints.length&&this.leftPoints[0]===t){if(this.left&&this.right){for(var r=this,o=this.left;o.right;)r=o,o=o.right;if(r===this)o.right=this.right;else{var s=this.left,c=this.right;r.count-=o.count,r.right=o.left,o.left=s,o.right=c}l(this,o),this.count=(this.left?this.left.count:0)+(this.right?this.right.count:0)+this.leftPoints.length}else this.left?l(this,this.left):l(this,this.right);return a}for(s=n.ge(this.leftPoints,t,v);sthis.mid){var r;if(this.right)if(r=this.right.queryPoint(t,e))return r;return p(this.rightPoints,t,e)}return d(this.leftPoints,e)},s.queryInterval=function(t,e,r){var n;if(tthis.mid&&this.right&&(n=this.right.queryInterval(t,e,r)))return n;return ethis.mid?p(this.rightPoints,t,r):d(this.leftPoints,r)};var b=x.prototype;b.insert=function(t){this.root?this.root.insert(t):this.root=new o(t[0],null,null,[t],[t])},b.remove=function(t){if(this.root){var e=this.root.remove(t);return 2===e&&(this.root=null),e!==i}return!1},b.queryPoint=function(t,e){if(this.root)return this.root.queryPoint(t,e)},b.queryInterval=function(t,e,r){if(t<=e&&this.root)return this.root.queryInterval(t,e,r)},Object.defineProperty(b,"count",{get:function(){return this.root?this.root.count:0}}),Object.defineProperty(b,"intervals",{get:function(){return this.root?this.root.intervals([]):[]}})},{"binary-search-bounds":80}],401:[function(t,e,r){"use strict";e.exports=function(t,e){e=e||new Array(t.length);for(var r=0;r13)&&32!==e&&133!==e&&160!==e&&5760!==e&&6158!==e&&(e<8192||e>8205)&&8232!==e&&8233!==e&&8239!==e&&8287!==e&&8288!==e&&12288!==e&&65279!==e)return!1;return!0}},{}],410:[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))}},{}],411:[function(t,e,r){e.exports=function(t,e,r){return t*(1-r)+e*r}},{}],412:[function(t,e,r){(function(t){!function(t,n){"object"==typeof r&&"undefined"!=typeof e?e.exports=n():t.mapboxgl=n()}(this,function(){"use strict";var e,r,n;function i(t,i){if(e)if(r){var a="var sharedChunk = {}; ("+e+")(sharedChunk); ("+r+")(sharedChunk);",o={};e(o),(n=i(o)).workerUrl=window.URL.createObjectURL(new Blob([a],{type:"text/javascript"}))}else r=i;else e=i}return i(0,function(e){var r="undefined"!=typeof window?window:"undefined"!=typeof t?t:"undefined"!=typeof self?self:{};function n(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}function i(t,e){return t(e={exports:{}},e.exports),e.exports}var a=o;function o(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}o.prototype.sampleCurveX=function(t){return((this.ax*t+this.bx)*t+this.cx)*t},o.prototype.sampleCurveY=function(t){return((this.ay*t+this.by)*t+this.cy)*t},o.prototype.sampleCurveDerivativeX=function(t){return(3*this.ax*t+2*this.bx)*t+this.cx},o.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)(n=1))return n;for(;ra?r=i:n=i,i=.5*(n-r)+r}return i},o.prototype.solve=function(t,e){return this.sampleCurveY(this.solveCurveX(t,e))};var s=function(t,e,r){this.column=t,this.row=e,this.zoom=r};s.prototype.clone=function(){return new s(this.column,this.row,this.zoom)},s.prototype.zoomTo=function(t){return this.clone()._zoomTo(t)},s.prototype.sub=function(t){return this.clone()._sub(t)},s.prototype._zoomTo=function(t){var e=Math.pow(2,t-this.zoom);return this.column*=e,this.row*=e,this.zoom=t,this},s.prototype._sub=function(t){return t=t.zoomTo(this.zoom),this.column-=t.column,this.row-=t.row,this};var l=c;function c(t,e){this.x=t,this.y=e}function u(t,e,r,n){var i=new a(t,e,r,n);return function(t){return i.solve(t)}}c.prototype={clone:function(){return new c(this.x,this.y)},add:function(t){return this.clone()._add(t)},sub:function(t){return this.clone()._sub(t)},multByPoint:function(t){return this.clone()._multByPoint(t)},divByPoint:function(t){return this.clone()._divByPoint(t)},mult:function(t){return this.clone()._mult(t)},div:function(t){return this.clone()._div(t)},rotate:function(t){return this.clone()._rotate(t)},rotateAround:function(t,e){return this.clone()._rotateAround(t,e)},matMult:function(t){return this.clone()._matMult(t)},unit:function(){return this.clone()._unit()},perp:function(){return this.clone()._perp()},round:function(){return this.clone()._round()},mag:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},equals:function(t){return this.x===t.x&&this.y===t.y},dist:function(t){return Math.sqrt(this.distSqr(t))},distSqr:function(t){var e=t.x-this.x,r=t.y-this.y;return e*e+r*r},angle:function(){return Math.atan2(this.y,this.x)},angleTo:function(t){return Math.atan2(this.y-t.y,this.x-t.x)},angleWith:function(t){return this.angleWithSep(t.x,t.y)},angleWithSep:function(t,e){return Math.atan2(this.x*e-this.y*t,this.x*t+this.y*e)},_matMult:function(t){var e=t[0]*this.x+t[1]*this.y,r=t[2]*this.x+t[3]*this.y;return this.x=e,this.y=r,this},_add:function(t){return this.x+=t.x,this.y+=t.y,this},_sub:function(t){return this.x-=t.x,this.y-=t.y,this},_mult:function(t){return this.x*=t,this.y*=t,this},_div:function(t){return this.x/=t,this.y/=t,this},_multByPoint:function(t){return this.x*=t.x,this.y*=t.y,this},_divByPoint:function(t){return this.x/=t.x,this.y/=t.y,this},_unit:function(){return this._div(this.mag()),this},_perp:function(){var t=this.y;return this.y=this.x,this.x=-t,this},_rotate:function(t){var e=Math.cos(t),r=Math.sin(t),n=e*this.x-r*this.y,i=r*this.x+e*this.y;return this.x=n,this.y=i,this},_rotateAround:function(t,e){var r=Math.cos(t),n=Math.sin(t),i=e.x+r*(this.x-e.x)-n*(this.y-e.y),a=e.y+n*(this.x-e.x)+r*(this.y-e.y);return this.x=i,this.y=a,this},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}},c.convert=function(t){return t instanceof c?t:Array.isArray(t)?new c(t[0],t[1]):t};var f=u(.25,.1,.25,1);function h(t,e,r){return Math.min(r,Math.max(e,t))}function p(t){for(var e=[],r=arguments.length-1;r-- >0;)e[r]=arguments[r+1];for(var n=0,i=e;n(e.y-t.y)*(r.x-t.x)}function k(t){for(var e=0,r=0,n=t.length,i=n-1,a=void 0,o=void 0;r=200&&r.status<300&&r.response?e(null,{data:n,cacheControl:r.getResponseHeader("Cache-Control"),expires:r.getResponseHeader("Expires")}):e(new M(r.statusText,r.status,t.url))},r.send(),r};function C(t,e,r){r[t]=r[t]||[],r[t].push(e)}function E(t,e,r){if(r&&r[t]){var n=r[t].indexOf(e);-1!==n&&r[t].splice(n,1)}}var L=function(t,e){void 0===e&&(e={}),p(this,e),this.type=t},z=function(t){function e(e,r){void 0===r&&(r={}),t.call(this,"error",p({error:e},r))}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(L),O=function(){};O.prototype.on=function(t,e){return this._listeners=this._listeners||{},C(t,e,this._listeners),this},O.prototype.off=function(t,e){return E(t,e,this._listeners),E(t,e,this._oneTimeListeners),this},O.prototype.once=function(t,e){return this._oneTimeListeners=this._oneTimeListeners||{},C(t,e,this._oneTimeListeners),this},O.prototype.fire=function(t){"string"==typeof t&&(t=new L(t,arguments[1]||{}));var e=t.type;if(this.listens(e)){t.target=this;for(var r=0,n=this._listeners&&this._listeners[e]?this._listeners[e].slice():[];r0||this._oneTimeListeners&&this._oneTimeListeners[t]&&this._oneTimeListeners[t].length>0||this._eventedParent&&this._eventedParent.listens(t)},O.prototype.setEventedParent=function(t,e){return this._eventedParent=t,this._eventedParentData=e,this};var I={$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.0511,180,85.0511]},minzoom:{type:"number",default:0},maxzoom:{type:"number",default:22},attribution:{type:"string"},"*":{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.0511,180,85.0511]},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.0511,180,85.0511]},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},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"},lineMetrics:{type:"boolean",default:!1}},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"}},layout_fill:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible"}},layout_circle:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible"}},layout_heatmap:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible"}},layout_line:{"line-cap":{type:"enum",function:"piecewise-constant","zoom-function":!0,values:{butt:{},round:{},square:{}},default:"butt"},"line-join":{type:"enum",function:"piecewise-constant","zoom-function":!0,"property-function":!0,values:{bevel:{},round:{},miter:{}},default:"miter"},"line-miter-limit":{type:"number",default:2,function:"interpolated","zoom-function":!0,requires:[{"line-join":"miter"}]},"line-round-limit":{type:"number",default:1.05,function:"interpolated","zoom-function":!0,requires:[{"line-join":"round"}]},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible"}},layout_symbol:{"symbol-placement":{type:"enum",function:"piecewise-constant","zoom-function":!0,values:{point:{},line:{}},default:"point"},"symbol-spacing":{type:"number",default:250,minimum:1,function:"interpolated","zoom-function":!0,units:"pixels",requires:[{"symbol-placement":"line"}]},"symbol-avoid-edges":{type:"boolean",function:"piecewise-constant","zoom-function":!0,default:!1},"icon-allow-overlap":{type:"boolean",function:"piecewise-constant","zoom-function":!0,default:!1,requires:["icon-image"]},"icon-ignore-placement":{type:"boolean",function:"piecewise-constant","zoom-function":!0,default:!1,requires:["icon-image"]},"icon-optional":{type:"boolean",function:"piecewise-constant","zoom-function":!0,default:!1,requires:["icon-image","text-field"]},"icon-rotation-alignment":{type:"enum",function:"piecewise-constant","zoom-function":!0,values:{map:{},viewport:{},auto:{}},default:"auto",requires:["icon-image"]},"icon-size":{type:"number",default:1,minimum:0,function:"interpolated","zoom-function":!0,"property-function":!0,units:"factor of the original icon size",requires:["icon-image"]},"icon-text-fit":{type:"enum",function:"piecewise-constant","zoom-function":!0,values:{none:{},width:{},height:{},both:{}},default:"none",requires:["icon-image","text-field"]},"icon-text-fit-padding":{type:"array",value:"number",length:4,default:[0,0,0,0],units:"pixels",function:"interpolated","zoom-function":!0,requires:["icon-image","text-field",{"icon-text-fit":["both","width","height"]}]},"icon-image":{type:"string",function:"piecewise-constant","zoom-function":!0,"property-function":!0,tokens:!0},"icon-rotate":{type:"number",default:0,period:360,function:"interpolated","zoom-function":!0,"property-function":!0,units:"degrees",requires:["icon-image"]},"icon-padding":{type:"number",default:2,minimum:0,function:"interpolated","zoom-function":!0,units:"pixels",requires:["icon-image"]},"icon-keep-upright":{type:"boolean",function:"piecewise-constant","zoom-function":!0,default:!1,requires:["icon-image",{"icon-rotation-alignment":"map"},{"symbol-placement":"line"}]},"icon-offset":{type:"array",value:"number",length:2,default:[0,0],function:"interpolated","zoom-function":!0,"property-function":!0,requires:["icon-image"]},"icon-anchor":{type:"enum",function:"piecewise-constant","zoom-function":!0,"property-function":!0,values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},default:"center",requires:["icon-image"]},"icon-pitch-alignment":{type:"enum",function:"piecewise-constant","zoom-function":!0,values:{map:{},viewport:{},auto:{}},default:"auto",requires:["icon-image"]},"text-pitch-alignment":{type:"enum",function:"piecewise-constant","zoom-function":!0,values:{map:{},viewport:{},auto:{}},default:"auto",requires:["text-field"]},"text-rotation-alignment":{type:"enum",function:"piecewise-constant","zoom-function":!0,values:{map:{},viewport:{},auto:{}},default:"auto",requires:["text-field"]},"text-field":{type:"string",function:"piecewise-constant","zoom-function":!0,"property-function":!0,default:"",tokens:!0},"text-font":{type:"array",value:"string",function:"piecewise-constant","zoom-function":!0,"property-function":!0,default:["Open Sans Regular","Arial Unicode MS Regular"],requires:["text-field"]},"text-size":{type:"number",default:16,minimum:0,units:"pixels",function:"interpolated","zoom-function":!0,"property-function":!0,requires:["text-field"]},"text-max-width":{type:"number",default:10,minimum:0,units:"ems",function:"interpolated","zoom-function":!0,"property-function":!0,requires:["text-field"]},"text-line-height":{type:"number",default:1.2,units:"ems",function:"interpolated","zoom-function":!0,requires:["text-field"]},"text-letter-spacing":{type:"number",default:0,units:"ems",function:"interpolated","zoom-function":!0,"property-function":!0,requires:["text-field"]},"text-justify":{type:"enum",function:"piecewise-constant","zoom-function":!0,"property-function":!0,values:{left:{},center:{},right:{}},default:"center",requires:["text-field"]},"text-anchor":{type:"enum",function:"piecewise-constant","zoom-function":!0,"property-function":!0,values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},default:"center",requires:["text-field"]},"text-max-angle":{type:"number",default:45,units:"degrees",function:"interpolated","zoom-function":!0,requires:["text-field",{"symbol-placement":"line"}]},"text-rotate":{type:"number",default:0,period:360,units:"degrees",function:"interpolated","zoom-function":!0,"property-function":!0,requires:["text-field"]},"text-padding":{type:"number",default:2,minimum:0,units:"pixels",function:"interpolated","zoom-function":!0,requires:["text-field"]},"text-keep-upright":{type:"boolean",function:"piecewise-constant","zoom-function":!0,default:!0,requires:["text-field",{"text-rotation-alignment":"map"},{"symbol-placement":"line"}]},"text-transform":{type:"enum",function:"piecewise-constant","zoom-function":!0,"property-function":!0,values:{none:{},uppercase:{},lowercase:{}},default:"none",requires:["text-field"]},"text-offset":{type:"array",value:"number",units:"ems",function:"interpolated","zoom-function":!0,"property-function":!0,length:2,default:[0,0],requires:["text-field"]},"text-allow-overlap":{type:"boolean",function:"piecewise-constant","zoom-function":!0,default:!1,requires:["text-field"]},"text-ignore-placement":{type:"boolean",function:"piecewise-constant","zoom-function":!0,default:!1,requires:["text-field"]},"text-optional":{type:"boolean",function:"piecewise-constant","zoom-function":!0,default:!1,requires:["text-field","icon-image"]},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible"}},layout_raster:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible"}},layout_hillshade:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible"}},filter:{type:"array",value:"*"},filter_operator:{type:"enum",values:{"==":{},"!=":{},">":{},">=":{},"<":{},"<=":{},in:{},"!in":{},all:{},any:{},none:{},has:{},"!has":{}}},geometry_type:{type:"enum",values:{Point:{},LineString:{},Polygon:{}}},function_stop:{type:"array",minimum:0,maximum:22,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"},case:{group:"Decision"},match:{group:"Decision"},coalesce:{group:"Decision"},step:{group:"Ramps, scales, curves"},interpolate:{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"},"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"},"geometry-type":{group:"Feature data"},id:{group:"Feature data"},zoom:{group:"Zoom"},"heatmap-density":{group:"Heatmap"},"line-progress":{group:"Heatmap"},"+":{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"},"==":{group:"Decision"},"!=":{group:"Decision"},">":{group:"Decision"},"<":{group:"Decision"},">=":{group:"Decision"},"<=":{group:"Decision"},all:{group:"Decision"},any:{group:"Decision"},"!":{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:{}},transition:!1,"zoom-function":!0,"property-function":!1,function:"piecewise-constant"},position:{type:"array",default:[1.15,210,30],length:3,value:"number",transition:!0,function:"interpolated","zoom-function":!0,"property-function":!1},color:{type:"color",default:"#ffffff",function:"interpolated","zoom-function":!0,"property-function":!1,transition:!0},intensity:{type:"number",default:.5,minimum:0,maximum:1,function:"interpolated","zoom-function":!0,"property-function":!1,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",function:"piecewise-constant","zoom-function":!0,default:!0},"fill-opacity":{type:"number",function:"interpolated","zoom-function":!0,"property-function":!0,default:1,minimum:0,maximum:1,transition:!0},"fill-color":{type:"color",default:"#000000",function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,requires:[{"!":"fill-pattern"}]},"fill-outline-color":{type:"color",function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,requires:[{"!":"fill-pattern"},{"fill-antialias":!0}]},"fill-translate":{type:"array",value:"number",length:2,default:[0,0],function:"interpolated","zoom-function":!0,transition:!0,units:"pixels"},"fill-translate-anchor":{type:"enum",function:"piecewise-constant","zoom-function":!0,values:{map:{},viewport:{}},default:"map",requires:["fill-translate"]},"fill-pattern":{type:"string",function:"piecewise-constant","zoom-function":!0,transition:!0}},paint_line:{"line-opacity":{type:"number",function:"interpolated","zoom-function":!0,"property-function":!0,default:1,minimum:0,maximum:1,transition:!0},"line-color":{type:"color",default:"#000000",function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,requires:[{"!":"line-pattern"}]},"line-translate":{type:"array",value:"number",length:2,default:[0,0],function:"interpolated","zoom-function":!0,transition:!0,units:"pixels"},"line-translate-anchor":{type:"enum",function:"piecewise-constant","zoom-function":!0,values:{map:{},viewport:{}},default:"map",requires:["line-translate"]},"line-width":{type:"number",default:1,minimum:0,function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,units:"pixels"},"line-gap-width":{type:"number",default:0,minimum:0,function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,units:"pixels"},"line-offset":{type:"number",default:0,function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,units:"pixels"},"line-blur":{type:"number",default:0,minimum:0,function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,units:"pixels"},"line-dasharray":{type:"array",value:"number",function:"piecewise-constant","zoom-function":!0,minimum:0,transition:!0,units:"line widths",requires:[{"!":"line-pattern"}]},"line-pattern":{type:"string",function:"piecewise-constant","zoom-function":!0,transition:!0},"line-gradient":{type:"color",function:"interpolated","zoom-function":!1,"property-function":!1,transition:!1,requires:[{"!":"line-dasharray"},{"!":"line-pattern"},{source:"geojson",has:{lineMetrics:!0}}]}},paint_circle:{"circle-radius":{type:"number",default:5,minimum:0,function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,units:"pixels"},"circle-color":{type:"color",default:"#000000",function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0},"circle-blur":{type:"number",default:0,function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0},"circle-opacity":{type:"number",default:1,minimum:0,maximum:1,function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0},"circle-translate":{type:"array",value:"number",length:2,default:[0,0],function:"interpolated","zoom-function":!0,transition:!0,units:"pixels"},"circle-translate-anchor":{type:"enum",function:"piecewise-constant","zoom-function":!0,values:{map:{},viewport:{}},default:"map",requires:["circle-translate"]},"circle-pitch-scale":{type:"enum",function:"piecewise-constant","zoom-function":!0,values:{map:{},viewport:{}},default:"map"},"circle-pitch-alignment":{type:"enum",function:"piecewise-constant","zoom-function":!0,values:{map:{},viewport:{}},default:"viewport"},"circle-stroke-width":{type:"number",default:0,minimum:0,function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,units:"pixels"},"circle-stroke-color":{type:"color",default:"#000000",function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0},"circle-stroke-opacity":{type:"number",default:1,minimum:0,maximum:1,function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0}},paint_heatmap:{"heatmap-radius":{type:"number",default:30,minimum:1,function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,units:"pixels"},"heatmap-weight":{type:"number",default:1,minimum:0,function:"interpolated","zoom-function":!0,"property-function":!0,transition:!1},"heatmap-intensity":{type:"number",default:1,minimum:0,function:"interpolated","zoom-function":!0,"property-function":!1,transition:!0},"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"],function:"interpolated","zoom-function":!1,"property-function":!1,transition:!1},"heatmap-opacity":{type:"number",default:1,minimum:0,maximum:1,function:"interpolated","zoom-function":!0,"property-function":!1,transition:!0}},paint_symbol:{"icon-opacity":{type:"number",default:1,minimum:0,maximum:1,function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,requires:["icon-image"]},"icon-color":{type:"color",default:"#000000",function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,requires:["icon-image"]},"icon-halo-color":{type:"color",default:"rgba(0, 0, 0, 0)",function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,requires:["icon-image"]},"icon-halo-width":{type:"number",default:0,minimum:0,function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,units:"pixels",requires:["icon-image"]},"icon-halo-blur":{type:"number",default:0,minimum:0,function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,units:"pixels",requires:["icon-image"]},"icon-translate":{type:"array",value:"number",length:2,default:[0,0],function:"interpolated","zoom-function":!0,transition:!0,units:"pixels",requires:["icon-image"]},"icon-translate-anchor":{type:"enum",function:"piecewise-constant","zoom-function":!0,values:{map:{},viewport:{}},default:"map",requires:["icon-image","icon-translate"]},"text-opacity":{type:"number",default:1,minimum:0,maximum:1,function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,requires:["text-field"]},"text-color":{type:"color",default:"#000000",function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,requires:["text-field"]},"text-halo-color":{type:"color",default:"rgba(0, 0, 0, 0)",function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,requires:["text-field"]},"text-halo-width":{type:"number",default:0,minimum:0,function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,units:"pixels",requires:["text-field"]},"text-halo-blur":{type:"number",default:0,minimum:0,function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,units:"pixels",requires:["text-field"]},"text-translate":{type:"array",value:"number",length:2,default:[0,0],function:"interpolated","zoom-function":!0,transition:!0,units:"pixels",requires:["text-field"]},"text-translate-anchor":{type:"enum",function:"piecewise-constant","zoom-function":!0,values:{map:{},viewport:{}},default:"map",requires:["text-field","text-translate"]}},paint_raster:{"raster-opacity":{type:"number",default:1,minimum:0,maximum:1,function:"interpolated","zoom-function":!0,transition:!0},"raster-hue-rotate":{type:"number",default:0,period:360,function:"interpolated","zoom-function":!0,transition:!0,units:"degrees"},"raster-brightness-min":{type:"number",function:"interpolated","zoom-function":!0,default:0,minimum:0,maximum:1,transition:!0},"raster-brightness-max":{type:"number",function:"interpolated","zoom-function":!0,default:1,minimum:0,maximum:1,transition:!0},"raster-saturation":{type:"number",default:0,minimum:-1,maximum:1,function:"interpolated","zoom-function":!0,transition:!0},"raster-contrast":{type:"number",default:0,minimum:-1,maximum:1,function:"interpolated","zoom-function":!0,transition:!0},"raster-fade-duration":{type:"number",default:300,minimum:0,function:"interpolated","zoom-function":!0,transition:!1,units:"milliseconds"}},paint_hillshade:{"hillshade-illumination-direction":{type:"number",default:335,minimum:0,maximum:359,function:"interpolated","zoom-function":!0,transition:!1},"hillshade-illumination-anchor":{type:"enum",function:"piecewise-constant","zoom-function":!0,values:{map:{},viewport:{}},default:"viewport"},"hillshade-exaggeration":{type:"number",default:.5,minimum:0,maximum:1,function:"interpolated","zoom-function":!0,transition:!0},"hillshade-shadow-color":{type:"color",default:"#000000",function:"interpolated","zoom-function":!0,transition:!0},"hillshade-highlight-color":{type:"color",default:"#FFFFFF",function:"interpolated","zoom-function":!0,transition:!0},"hillshade-accent-color":{type:"color",default:"#000000",function:"interpolated","zoom-function":!0,transition:!0}},paint_background:{"background-color":{type:"color",default:"#000000",function:"interpolated","zoom-function":!0,transition:!0,requires:[{"!":"background-pattern"}]},"background-pattern":{type:"string",function:"piecewise-constant","zoom-function":!0,transition:!0},"background-opacity":{type:"number",default:1,minimum:0,maximum:1,function:"interpolated","zoom-function":!0,transition:!0}},transition:{duration:{type:"number",default:300,minimum:0,units:"milliseconds"},delay:{type:"number",default:0,minimum:0,units:"milliseconds"}},"layout_fill-extrusion":{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible"}},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}},"paint_fill-extrusion":{"fill-extrusion-opacity":{type:"number",function:"interpolated","zoom-function":!0,"property-function":!1,default:1,minimum:0,maximum:1,transition:!0},"fill-extrusion-color":{type:"color",default:"#000000",function:"interpolated","zoom-function":!0,"property-function":!0,transition:!0,requires:[{"!":"fill-extrusion-pattern"}]},"fill-extrusion-translate":{type:"array",value:"number",length:2,default:[0,0],function:"interpolated","zoom-function":!0,transition:!0,units:"pixels"},"fill-extrusion-translate-anchor":{type:"enum",function:"piecewise-constant","zoom-function":!0,values:{map:{},viewport:{}},default:"map",requires:["fill-extrusion-translate"]},"fill-extrusion-pattern":{type:"string",function:"piecewise-constant","zoom-function":!0,transition:!0},"fill-extrusion-height":{type:"number",function:"interpolated","zoom-function":!0,"property-function":!0,default:0,minimum:0,units:"meters",transition:!0},"fill-extrusion-base":{type:"number",function:"interpolated","zoom-function":!0,"property-function":!0,default:0,minimum:0,units:"meters",transition:!0,requires:["fill-extrusion-height"]}}},D=function(t,e,r,n){this.message=(t?t+": ":"")+r,n&&(this.identifier=n),null!=e&&e.__line__&&(this.line=e.__line__)};function P(t){var e=t.key,r=t.value;return r?[new D(e,r,"constants have been deprecated as of v8")]:[]}function R(t){for(var e=[],r=arguments.length-1;r-- >0;)e[r]=arguments[r+1];for(var n=0,i=e;n":"value"===t.itemType.kind?"array":"array<"+e+">"}return t.kind}var J=[V,U,q,H,G,W,Z(Y)];function K(t,e){if("error"===e.kind)return null;if("array"===t.kind){if("array"===e.kind&&!K(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=J;r255?255:t}function i(t){return t<0?0:t>1?1:t}function a(t){return"%"===t[t.length-1]?n(parseFloat(t)/100*255):n(parseInt(t))}function o(t){return"%"===t[t.length-1]?i(parseFloat(t)/100):i(parseFloat(t))}function s(t,e,r){return r<0?r+=1:r>1&&(r-=1),6*r<1?t+(e-t)*r*6:2*r<1?e:3*r<2?t+(e-t)*(2/3-r)*6:t}try{e.parseCSSColor=function(t){var e,i=t.replace(/ /g,"").toLowerCase();if(i in r)return r[i].slice();if("#"===i[0])return 4===i.length?(e=parseInt(i.substr(1),16))>=0&&e<=4095?[(3840&e)>>4|(3840&e)>>8,240&e|(240&e)>>4,15&e|(15&e)<<4,1]:null:7===i.length&&(e=parseInt(i.substr(1),16))>=0&&e<=16777215?[(16711680&e)>>16,(65280&e)>>8,255&e,1]:null;var l=i.indexOf("("),c=i.indexOf(")");if(-1!==l&&c+1===i.length){var u=i.substr(0,l),f=i.substr(l+1,c-(l+1)).split(","),h=1;switch(u){case"rgba":if(4!==f.length)return null;h=o(f.pop());case"rgb":return 3!==f.length?null:[a(f[0]),a(f[1]),a(f[2]),h];case"hsla":if(4!==f.length)return null;h=o(f.pop());case"hsl":if(3!==f.length)return null;var p=(parseFloat(f[0])%360+360)%360/360,d=o(f[1]),g=o(f[2]),v=g<=.5?g*(d+1):g+d-g*d,m=2*g-v;return[n(255*s(m,v,p+1/3)),n(255*s(m,v,p)),n(255*s(m,v,p-1/3)),h];default:return null}}return null}}catch(t){}}).parseCSSColor,tt=function(t,e,r,n){void 0===n&&(n=1),this.r=t,this.g=e,this.b=r,this.a=n};tt.parse=function(t){if(t){if(t instanceof tt)return t;if("string"==typeof t){var e=Q(t);if(e)return new tt(e[0]/255*e[3],e[1]/255*e[3],e[2]/255*e[3],e[3])}}},tt.prototype.toString=function(){var t=this.toArray(),e=t[0],r=t[1],n=t[2],i=t[3];return"rgba("+Math.round(e)+","+Math.round(r)+","+Math.round(n)+","+i+")"},tt.prototype.toArray=function(){var t=this.r,e=this.g,r=this.b,n=this.a;return 0===n?[0,0,0,0]:[255*t/n,255*e/n,255*r/n,n]},tt.black=new tt(0,0,0,1),tt.white=new tt(1,1,1,1),tt.transparent=new tt(0,0,0,0);var et=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"})};et.prototype.compare=function(t,e){return this.collator.compare(t,e)},et.prototype.resolvedLocale=function(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale};var rt=function(t,e,r){this.type=X,this.locale=r,this.caseSensitive=t,this.diacriticSensitive=e};function nt(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 it(t){if(null===t)return V;if("string"==typeof t)return q;if("boolean"==typeof t)return H;if("number"==typeof t)return U;if(t instanceof tt)return G;if(t instanceof et)return X;if(Array.isArray(t)){for(var e,r=t.length,n=0,i=t;n4)return e.error("Expected 1, 2, or 3 arguments, but found "+(t.length-1)+" instead.");var r,n;if(t.length>2){var i=t[1];if("string"!=typeof i||!(i in ct))return e.error('The item type argument of "array" must be one of string, number, boolean',1);r=ct[i]}else r=Y;if(t.length>3){if("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);n=t[2]}var a=Z(r,n),o=e.parse(t[t.length-1],t.length-1,Y);return o?new ut(a,o):null},ut.prototype.evaluate=function(t){var e=this.input.evaluate(t);if(K(this.type,it(e)))throw new ot("Expected value to be of type "+$(this.type)+", but found "+$(it(e))+" instead.");return e},ut.prototype.eachChild=function(t){t(this.input)},ut.prototype.possibleOutputs=function(){return this.input.possibleOutputs()},ut.prototype.serialize=function(){var t=["array"],e=this.type.itemType;if("string"===e.kind||"number"===e.kind||"boolean"===e.kind){t.push(e.kind);var r=this.type.N;"number"==typeof r&&t.push(r)}return t.push(this.input.serialize()),t};var ft={"to-number":U,"to-color":G},ht=function(t,e){this.type=t,this.args=e};ht.parse=function(t,e){if(t.length<2)return e.error("Expected at least one argument.");for(var r=t[0],n=ft[r],i=[],a=1;a4?"Invalid rbga value "+JSON.stringify(e)+": expected an array containing either three or four numeric values.":nt(e[0],e[1],e[2],e[3])))return new tt(e[0]/255,e[1]/255,e[2]/255,e[3]);throw new ot(r||"Could not parse color from value '"+("string"==typeof e?e:JSON.stringify(e))+"'")}for(var o=null,s=0,l=this.args;s=0)return!1;var r=!0;return t.eachChild(function(t){r&&!mt(t,e)&&(r=!1)}),r}gt.prototype.evaluate=function(t){return this._evaluate(t,this.args)},gt.prototype.eachChild=function(t){this.args.forEach(t)},gt.prototype.possibleOutputs=function(){return[void 0]},gt.prototype.serialize=function(){return[this.name].concat(this.args.map(function(t){return t.serialize()}))},gt.parse=function(t,e){var r=t[0],n=gt.definitions[r];if(!n)return e.error('Unknown expression "'+r+'". If you wanted a literal array, use ["literal", [...]].',0);for(var i=Array.isArray(n)?n[0]:n.type,a=Array.isArray(n)?[[n[1],n[2]]]:n.overloads,o=a.filter(function(e){var r=e[0];return!Array.isArray(r)||r.length===t.length-1}),s=[],l=1;lr&&ee))throw new ot("Input is not a number.");a=o-1}}return Math.max(o-1,0)}xt.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)},xt.prototype._parse=function(t,e){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 r=t[0];if("string"!=typeof r)return this.error("Expression name must be a string, but found "+typeof r+' instead. If you wanted a literal array, use ["literal", [...]].',0),null;var n=this.registry[r];if(n){var i=n.parse(t,this);if(!i)return null;if(this.expectedType){var a=this.expectedType,o=i.type;if("string"!==a.kind&&"number"!==a.kind&&"boolean"!==a.kind&&"object"!==a.kind||"value"!==o.kind)if("array"===a.kind&&"value"===o.kind)e.omitTypeAnnotations||(i=new ut(a,i));else if("color"!==a.kind||"value"!==o.kind&&"string"!==o.kind){if(this.checkSubtype(this.expectedType,i.type))return null}else e.omitTypeAnnotations||(i=new ht(a,[i]));else e.omitTypeAnnotations||(i=new lt(a,[i]))}if(!(i instanceof at)&&function t(e){if(e instanceof yt)return t(e.boundExpression);if(e instanceof gt&&"error"===e.name)return!1;if(e instanceof rt)return!1;var r=e instanceof ht||e instanceof lt||e instanceof ut,n=!0;return e.eachChild(function(e){n=r?n&&t(e):n&&e instanceof at}),!!n&&(vt(e)&&mt(e,["zoom","heatmap-density","line-progress","is-supported-script"]))}(i)){var s=new dt;try{i=new at(i.type,i.evaluate(s))}catch(t){return this.error(t.message),null}}return i}return this.error('Unknown expression "'+r+'". If you wanted a literal array, use ["literal", [...]].',0)}return void 0===t?this.error("'undefined' value invalid. Use null instead."):"object"==typeof t?this.error('Bare objects invalid. Use ["literal", {...}] instead.'):this.error("Expected an array, but found "+typeof t+" instead.")},xt.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 xt(this.registry,n,e||null,i,this.errors)},xt.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 N(n,t))},xt.prototype.checkSubtype=function(t,e){var r=K(t,e);return r&&this.error(r),r};var _t=function(t,e,r){this.type=t,this.input=e,this.labels=[],this.outputs=[];for(var n=0,i=r;n=s)return e.error('Input/output pairs for "step" expressions must be arranged with input values in strictly ascending order.',c);var f=e.parse(l,u,a);if(!f)return null;a=a||f.type,i.push([s,f])}return new _t(a,r,i)},_t.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[bt(e,n)].evaluate(t)},_t.prototype.eachChild=function(t){t(this.input);for(var e=0,r=this.outputs;e0&&t.push(this.labels[e]),t.push(this.outputs[e].serialize());return t};var kt=Object.freeze({number:wt,color:function(t,e,r){return new tt(wt(t.r,e.r,r),wt(t.g,e.g,r),wt(t.b,e.b,r),wt(t.a,e.a,r))},array:function(t,e,r){return t.map(function(t,n){return wt(t,e[n],r)})}}),At=function(t,e,r,n){this.type=t,this.interpolation=e,this.input=r,this.labels=[],this.outputs=[];for(var i=0,a=n;i1}))return e.error("Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.",1);r={name:"cubic-bezier",controlPoints:o}}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(!(n=e.parse(n,2,U)))return null;var s=[],l=null;e.expectedType&&"value"!==e.expectedType.kind&&(l=e.expectedType);for(var c=0;c=u)return e.error('Input/output pairs for "interpolate" expressions must be arranged with input values in strictly ascending order.',h);var d=e.parse(f,p,l);if(!d)return null;l=l||d.type,s.push([u,d])}return"number"===l.kind||"color"===l.kind||"array"===l.kind&&"number"===l.itemType.kind&&"number"==typeof l.N?new At(l,r,n,s):e.error("Type "+$(l)+" is not interpolatable.")},At.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=bt(e,n),o=e[a],s=e[a+1],l=At.interpolationFactor(this.interpolation,n,o,s),c=r[a].evaluate(t),u=r[a+1].evaluate(t);return kt[this.type.kind.toLowerCase()](c,u,l)},At.prototype.eachChild=function(t){t(this.input);for(var e=0,r=this.outputs;e=r.length)throw new ot("Array index out of bounds: "+e+" > "+(r.length-1)+".");if(e!==Math.floor(e))throw new ot("Array index must be an integer, but found "+e+" instead.");return r[e]},Ct.prototype.eachChild=function(t){t(this.index),t(this.input)},Ct.prototype.possibleOutputs=function(){return[void 0]},Ct.prototype.serialize=function(){return["at",this.index.serialize(),this.input.serialize()]};var Et=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};Et.parse=function(t,e){if(t.length<5)return e.error("Expected at least 4 arguments, but found only "+(t.length-1)+".");if(t.length%2!=1)return e.error("Expected an even number of arguments.");var r,n;e.expectedType&&"value"!==e.expectedType.kind&&(n=e.expectedType);for(var i={},a=[],o=2;oNumber.MAX_SAFE_INTEGER)return c.error("Branch labels must be integers no larger than "+Number.MAX_SAFE_INTEGER+".");if("number"==typeof h&&Math.floor(h)!==h)return c.error("Numeric branch labels must be integer values.");if(r){if(c.checkSubtype(r,it(h)))return null}else r=it(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,r);if(!d)return null;var g=e.parse(t[t.length-1],t.length-1,n);return g?new Et(r,n,d,i,a,g):null},Et.prototype.evaluate=function(t){var e=this.input.evaluate(t);return(this.outputs[this.cases[e]]||this.otherwise).evaluate(t)},Et.prototype.eachChild=function(t){t(this.input),this.outputs.forEach(t),t(this.otherwise)},Et.prototype.possibleOutputs=function(){return(t=[]).concat.apply(t,this.outputs.map(function(t){return t.possibleOutputs()})).concat(this.otherwise.possibleOutputs());var t},Et.prototype.serialize=function(){for(var t=this,e=["match",this.input.serialize()],r=[],n={},i=0,a=Object.keys(this.cases).sort();in.evaluate(t)}function Ut(t,e){var r=e[0],n=e[1];return r.evaluate(t)<=n.evaluate(t)}function qt(t,e){var r=e[0],n=e[1];return r.evaluate(t)>=n.evaluate(t)}function Ht(t){return{type:t}}function Gt(t){return{result:"success",value:t}}function Wt(t){return{result:"error",value:t}}gt.register(Rt,{error:[{kind:"error"},[q],function(t,e){var r=e[0];throw new ot(r.evaluate(t))}],typeof:[q,[Y],function(t,e){return $(it(e[0].evaluate(t)))}],"to-string":[q,[Y],function(t,e){var r=e[0],n=typeof(r=r.evaluate(t));return null===r?"":"string"===n||"number"===n||"boolean"===n?String(r):r instanceof tt?r.toString():JSON.stringify(r)}],"to-boolean":[H,[Y],function(t,e){var r=e[0];return Boolean(r.evaluate(t))}],"to-rgba":[Z(U,4),[G],function(t,e){return e[0].evaluate(t).toArray()}],rgb:[G,[U,U,U],Ft],rgba:[G,[U,U,U,U],Ft],has:{type:H,overloads:[[[q],function(t,e){return Bt(e[0].evaluate(t),t.properties())}],[[q,W],function(t,e){var r=e[0],n=e[1];return Bt(r.evaluate(t),n.evaluate(t))}]]},get:{type:Y,overloads:[[[q],function(t,e){return Nt(e[0].evaluate(t),t.properties())}],[[q,W],function(t,e){var r=e[0],n=e[1];return Nt(r.evaluate(t),n.evaluate(t))}]]},properties:[W,[],function(t){return t.properties()}],"geometry-type":[q,[],function(t){return t.geometryType()}],id:[Y,[],function(t){return t.id()}],zoom:[U,[],function(t){return t.globals.zoom}],"heatmap-density":[U,[],function(t){return t.globals.heatmapDensity||0}],"line-progress":[U,[],function(t){return t.globals.lineProgress||0}],"+":[U,Ht(U),function(t,e){for(var r=0,n=0,i=e;n":[H,[q,Y],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->":[H,[Y],function(t,e){var r=e[0],n=t.id(),i=r.value;return typeof n==typeof i&&n>i}],"filter-<=":[H,[q,Y],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-<=":[H,[Y],function(t,e){var r=e[0],n=t.id(),i=r.value;return typeof n==typeof i&&n<=i}],"filter->=":[H,[q,Y],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->=":[H,[Y],function(t,e){var r=e[0],n=t.id(),i=r.value;return typeof n==typeof i&&n>=i}],"filter-has":[H,[Y],function(t,e){return e[0].value in t.properties()}],"filter-has-id":[H,[],function(t){return null!==t.id()}],"filter-type-in":[H,[Z(q)],function(t,e){return e[0].value.indexOf(t.geometryType())>=0}],"filter-id-in":[H,[Z(Y)],function(t,e){return e[0].value.indexOf(t.id())>=0}],"filter-in-small":[H,[q,Z(Y)],function(t,e){var r=e[0];return e[1].value.indexOf(t.properties()[r.value])>=0}],"filter-in-large":[H,[q,Z(Y)],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)}],">":{type:H,overloads:[[[U,U],Vt],[[q,q],Vt],[[q,q,X],function(t,e){var r=e[0],n=e[1];return e[2].evaluate(t).compare(r.evaluate(t),n.evaluate(t))>0}]]},"<":{type:H,overloads:[[[U,U],jt],[[q,q],jt],[[q,q,X],function(t,e){var r=e[0],n=e[1];return e[2].evaluate(t).compare(r.evaluate(t),n.evaluate(t))<0}]]},">=":{type:H,overloads:[[[U,U],qt],[[q,q],qt],[[q,q,X],function(t,e){var r=e[0],n=e[1];return e[2].evaluate(t).compare(r.evaluate(t),n.evaluate(t))>=0}]]},"<=":{type:H,overloads:[[[U,U],Ut],[[q,q],Ut],[[q,q,X],function(t,e){var r=e[0],n=e[1];return e[2].evaluate(t).compare(r.evaluate(t),n.evaluate(t))<=0}]]},all:{type:H,overloads:[[[H,H],function(t,e){var r=e[0],n=e[1];return r.evaluate(t)&&n.evaluate(t)}],[Ht(H),function(t,e){for(var r=0,n=e;rQt?Math.pow(t,1/3):t/Kt+$t}function ne(t){return t>Jt?t*t*t:Kt*(t-$t)}function ie(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function ae(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function oe(t){var e=ae(t.r),r=ae(t.g),n=ae(t.b),i=re((.4124564*e+.3575761*r+.1804375*n)/Yt),a=re((.2126729*e+.7151522*r+.072175*n)/Xt);return{l:116*a-16,a:500*(i-a),b:200*(a-re((.0193339*e+.119192*r+.9503041*n)/Zt)),alpha:t.a}}function se(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=Xt*ne(e),r=Yt*ne(r),n=Zt*ne(n),new tt(ie(3.2404542*r-1.5371385*e-.4985314*n),ie(-.969266*r+1.8760108*e+.041556*n),ie(.0556434*r-.2040259*e+1.0572252*n),t.alpha)}var le={forward:oe,reverse:se,interpolate:function(t,e,r){return{l:wt(t.l,e.l,r),a:wt(t.a,e.a,r),b:wt(t.b,e.b,r),alpha:wt(t.alpha,e.alpha,r)}}},ce={forward:function(t){var e=oe(t),r=e.l,n=e.a,i=e.b,a=Math.atan2(i,n)*ee;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*te,r=t.c;return se({l:t.l,a:Math.cos(e)*r,b:Math.sin(e)*r,alpha:t.alpha})},interpolate:function(t,e,r){return{h:function(t,e,r){var n=e-t;return t+r*(n>180||n<-180?n-360*Math.round(n/360):n)}(t.h,e.h,r),c:wt(t.c,e.c,r),l:wt(t.l,e.l,r),alpha:wt(t.alpha,e.alpha,r)}}},ue=Object.freeze({lab:le,hcl:ce});function fe(t){return t instanceof Number?"number":t instanceof String?"string":t instanceof Boolean?"boolean":Array.isArray(t)?"array":null===t?"null":typeof t}function he(t){return"object"==typeof t&&null!==t&&!Array.isArray(t)}function pe(t){return t}function de(t,e,r){return void 0!==t?t:void 0!==e?e:void 0!==r?r:void 0}function ge(t,e,r,n,i){return de(typeof r===i?n[r]:void 0,t.default,e.default)}function ve(t,e,r){if("number"!==fe(r))return de(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=xe(t.stops,r);return t.stops[i][1]}function me(t,e,r){var n=void 0!==t.base?t.base:1;if("number"!==fe(r))return de(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=xe(t.stops,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=kt[e.type]||pe;if(t.colorSpace&&"rgb"!==t.colorSpace){var u=ue[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 ye(t,e,r){return"color"===e.type?r=tt.parse(r):fe(r)===e.type||"enum"===e.type&&e.values[r]||(r=void 0),de(r,t.default,e.default)}function xe(t,e){for(var r,n,i=0,a=t.length-1,o=0;i<=a;){if(r=t[o=Math.floor((i+a)/2)][0],n=t[o+1][0],e===r||e>r&&ee&&(a=o-1)}return Math.max(o-1,0)}var be=function(t,e){var r;this.expression=t,this._warningHistory={},this._defaultValue="color"===(r=e).type&&he(r.default)?new tt(0,0,0,0):"color"===r.type?tt.parse(r.default)||null:void 0===r.default?null:r.default,"enum"===e.type&&(this._enumValues=e.values)};function _e(t){return Array.isArray(t)&&t.length>0&&"string"==typeof t[0]&&t[0]in Rt}function we(t,e){var r=new xt(Rt,[],function(t){var e={color:G,string:q,number:U,enum:q,boolean:H};return"array"===t.type?Z(e[t.value]||Y,t.length):e[t.type]||null}(e)),n=r.parse(t);return n?Gt(new be(n,e)):Wt(r.errors)}be.prototype.evaluateWithoutErrorHandling=function(t,e){return this._evaluator||(this._evaluator=new dt),this._evaluator.globals=t,this._evaluator.feature=e,this.expression.evaluate(this._evaluator)},be.prototype.evaluate=function(t,e){this._evaluator||(this._evaluator=new dt),this._evaluator.globals=t,this._evaluator.feature=e;try{var r=this.expression.evaluate(this._evaluator);if(null==r)return this._defaultValue;if(this._enumValues&&!(r in this._enumValues))throw new ot("Expected value to be one of "+Object.keys(this._enumValues).map(function(t){return JSON.stringify(t)}).join(", ")+", but found "+JSON.stringify(r)+" instead.");return r}catch(t){return this._warningHistory[t.message]||(this._warningHistory[t.message]=!0,"undefined"!=typeof console&&console.warn(t.message)),this._defaultValue}};var ke=function(t,e){this.kind=t,this._styleExpression=e};ke.prototype.evaluateWithoutErrorHandling=function(t,e){return this._styleExpression.evaluateWithoutErrorHandling(t,e)},ke.prototype.evaluate=function(t,e){return this._styleExpression.evaluate(t,e)};var Ae=function(t,e,r){this.kind=t,this.zoomStops=r.labels,this._styleExpression=e,r instanceof At&&(this._interpolationType=r.interpolation)};function Me(t,e){if("error"===(t=we(t,e)).result)return t;var r=t.value.expression,n=vt(r);if(!n&&!e["property-function"])return Wt([new N("","property expressions not supported")]);var i=mt(r,["zoom"]);if(!i&&!1===e["zoom-function"])return Wt([new N("","zoom expressions not supported")]);var a=function t(e){var r=null;if(e instanceof St)r=t(e.result);else if(e instanceof Tt)for(var n=0,i=e.args;nn.maximum?[new D(e,r,r+" is greater than the maximum value "+n.maximum)]:[]}function ze(t){var e,r,n,i=t.valueSpec,a=F(t.value.type),o={},s="categorical"!==a&&void 0===t.value.property,l=!s,c="array"===fe(t.value.stops)&&"array"===fe(t.value.stops[0])&&"object"===fe(t.value.stops[0][0]),u=Ce({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 D(t.key,t.value,'identity function may not have a "stops" property')];var e=[],r=t.value;return e=e.concat(Ee({key:t.key,value:r,valueSpec:t.valueSpec,style:t.style,styleSpec:t.styleSpec,arrayElementValidator:f})),"array"===fe(r)&&0===r.length&&e.push(new D(t.key,r,"array must have at least one stop")),e},default:function(t){return Ke({key:t.key,value:t.value,valueSpec:i,style:t.style,styleSpec:t.styleSpec})}}});return"identity"===a&&s&&u.push(new D(t.key,t.value,'missing required property "property"')),"identity"===a||t.value.stops||u.push(new D(t.key,t.value,'missing required property "stops"')),"exponential"===a&&"piecewise-constant"===t.valueSpec.function&&u.push(new D(t.key,t.value,"exponential functions not supported")),t.styleSpec.$version>=8&&(l&&!t.valueSpec["property-function"]?u.push(new D(t.key,t.value,"property functions not supported")):s&&!t.valueSpec["zoom-function"]&&"heatmap-color"!==t.objectKey&&"line-gradient"!==t.objectKey&&u.push(new D(t.key,t.value,"zoom functions not supported"))),"categorical"!==a&&!c||void 0!==t.value.property||u.push(new D(t.key,t.value,'"property" property is required')),u;function f(t){var e=[],a=t.value,s=t.key;if("array"!==fe(a))return[new D(s,a,"array expected, "+fe(a)+" found")];if(2!==a.length)return[new D(s,a,"array length 2 expected, length "+a.length+" found")];if(c){if("object"!==fe(a[0]))return[new D(s,a,"object expected, "+fe(a[0])+" found")];if(void 0===a[0].zoom)return[new D(s,a,"object stop key must have zoom")];if(void 0===a[0].value)return[new D(s,a,"object stop key must have value")];if(n&&n>F(a[0].zoom))return[new D(s,a[0].zoom,"stop zoom values must appear in ascending order")];F(a[0].zoom)!==n&&(n=F(a[0].zoom),r=void 0,o={}),e=e.concat(Ce({key:s+"[0]",value:a[0],valueSpec:{zoom:{}},style:t.style,styleSpec:t.styleSpec,objectElementValidators:{zoom:Le,value:h}}))}else e=e.concat(h({key:s+"[0]",value:a[0],valueSpec:{},style:t.style,styleSpec:t.styleSpec},a));return e.concat(Ke({key:s+"[1]",value:a[1],valueSpec:i,style:t.style,styleSpec:t.styleSpec}))}function h(t,n){var s=fe(t.value),l=F(t.value),c=null!==t.value?t.value:n;if(e){if(s!==e)return[new D(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 D(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 i["property-function"]&&void 0===a&&(u+='\nIf you intended to use a categorical function, specify `"type": "categorical"`.'),[new D(t.key,c,u)]}return"categorical"!==a||"number"!==s||isFinite(l)&&Math.floor(l)===l?"categorical"!==a&&"number"===s&&void 0!==r&&l=2&&"$id"!==t[1]&&"$type"!==t[1];case"in":case"!in":case"!has":case"none":return!1;case"==":case"!=":case">":case">=":case"<":case"<=":return 3===t.length&&(Array.isArray(t[1])||Array.isArray(t[2]));case"any":case"all":for(var e=0,r=t.slice(1);ee?1:0}function Be(t){if(!t)return!0;var e,r=t[0];return t.length<=1?"any"!==r:"=="===r?Ne(t[1],t[2],"=="):"!="===r?Ue(Ne(t[1],t[2],"==")):"<"===r||">"===r||"<="===r||">="===r?Ne(t[1],t[2],r):"any"===r?(e=t.slice(1),["any"].concat(e.map(Be))):"all"===r?["all"].concat(t.slice(1).map(Be)):"none"===r?["all"].concat(t.slice(1).map(Be).map(Ue)):"in"===r?je(t[1],t.slice(2)):"!in"===r?Ue(je(t[1],t.slice(2))):"has"===r?Ve(t[1]):"!has"!==r||Ue(Ve(t[1]))}function Ne(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 je(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(Fe)]]:["filter-in-small",t,["literal",e]]}}function Ve(t){switch(t){case"$type":return!0;case"$id":return["filter-has-id"];default:return["filter-has",t]}}function Ue(t){return["!",t]}function qe(t){return De(B(t.value))?Oe(R({},t,{expressionContext:"filter",valueSpec:{value:"boolean"}})):function t(e){var r=e.value,n=e.key;if("array"!==fe(r))return[new D(n,r,"array expected, "+fe(r)+" found")];var i,a=e.styleSpec,o=[];if(r.length<1)return[new D(n,r,"filter array must have at least 1 element")];switch(o=o.concat(Ie({key:n+"[0]",value:r[0],valueSpec:a.filter_operator,style:e.style,styleSpec:e.styleSpec})),F(r[0])){case"<":case"<=":case">":case">=":r.length>=2&&"$type"===F(r[1])&&o.push(new D(n,r,'"$type" cannot be use with operator "'+r[0]+'"'));case"==":case"!=":3!==r.length&&o.push(new D(n,r,'filter array for operator "'+r[0]+'" must have 3 elements'));case"in":case"!in":r.length>=2&&"string"!==(i=fe(r[1]))&&o.push(new D(n+"[1]",r[1],"string expected, "+i+" found"));for(var s=2;s=c[h+0]&&n>=c[h+1]?(o[f]=!0,a.push(l[f])):o[f]=!1}}},ur.prototype._forEachCell=function(t,e,r,n,i,a,o){for(var s=this._convertToCellCoord(t),l=this._convertToCellCoord(e),c=this._convertToCellCoord(r),u=this._convertToCellCoord(n),f=s;f<=c;f++)for(var h=l;h<=u;h++){var p=this.d*h+f;if(i.call(this,t,e,r,n,p,a,o))return}},ur.prototype._convertToCellCoord=function(t){return Math.max(0,Math.min(this.d-1,Math.floor(t*this.scale)+this.padding))},ur.prototype.toArrayBuffer=function(){if(this.arrayBuffer)return this.arrayBuffer;for(var t=this.cells,e=cr+this.cells.length+1+1,r=0,n=0;n=0)){var f=t[u];c[u]=hr[l].shallow.indexOf(u)>=0?f:gr(f,e)}t instanceof Error&&(c.message=t.message)}return{name:l,properties:c}}throw new Error("can't serialize object of type "+typeof t)}function vr(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||t instanceof ArrayBuffer||ArrayBuffer.isView(t)||t instanceof fr)return t;if(Array.isArray(t))return t.map(function(t){return vr(t)});if("object"==typeof t){var e=t,r=e.name,n=e.properties;if(!r)throw new Error("can't deserialize object of anonymous class");var i=hr[r].klass;if(!i)throw new Error("can't deserialize unregistered class "+r);if(i.deserialize)return i.deserialize(n._serialized);for(var a=Object.create(i.prototype),o=0,s=Object.keys(n);o=0?n[l]:vr(n[l])}return a}throw new Error("can't deserialize object of type "+typeof t)}var mr=function(){this.first=!0};mr.prototype.update=function(t,e){var r=Math.floor(t);return this.first?(this.first=!1,this.lastIntegerZoom=r,this.lastIntegerZoomTime=0,this.lastZoom=t,this.lastFloorZoom=r,!0):(this.lastFloorZoom>r?(this.lastIntegerZoom=r+1,this.lastIntegerZoomTime=e):this.lastFloorZoom=128&&t<=255},Arabic:function(t){return t>=1536&&t<=1791},"Arabic Supplement":function(t){return t>=1872&&t<=1919},"Arabic Extended-A":function(t){return t>=2208&&t<=2303},"Hangul Jamo":function(t){return t>=4352&&t<=4607},"Unified Canadian Aboriginal Syllabics":function(t){return t>=5120&&t<=5759},Khmer:function(t){return t>=6016&&t<=6143},"Unified Canadian Aboriginal Syllabics Extended":function(t){return t>=6320&&t<=6399},"General Punctuation":function(t){return t>=8192&&t<=8303},"Letterlike Symbols":function(t){return t>=8448&&t<=8527},"Number Forms":function(t){return t>=8528&&t<=8591},"Miscellaneous Technical":function(t){return t>=8960&&t<=9215},"Control Pictures":function(t){return t>=9216&&t<=9279},"Optical Character Recognition":function(t){return t>=9280&&t<=9311},"Enclosed Alphanumerics":function(t){return t>=9312&&t<=9471},"Geometric Shapes":function(t){return t>=9632&&t<=9727},"Miscellaneous Symbols":function(t){return t>=9728&&t<=9983},"Miscellaneous Symbols and Arrows":function(t){return t>=11008&&t<=11263},"CJK Radicals Supplement":function(t){return t>=11904&&t<=12031},"Kangxi Radicals":function(t){return t>=12032&&t<=12255},"Ideographic Description Characters":function(t){return t>=12272&&t<=12287},"CJK Symbols and Punctuation":function(t){return t>=12288&&t<=12351},Hiragana:function(t){return t>=12352&&t<=12447},Katakana:function(t){return t>=12448&&t<=12543},Bopomofo:function(t){return t>=12544&&t<=12591},"Hangul Compatibility Jamo":function(t){return t>=12592&&t<=12687},Kanbun:function(t){return t>=12688&&t<=12703},"Bopomofo Extended":function(t){return t>=12704&&t<=12735},"CJK Strokes":function(t){return t>=12736&&t<=12783},"Katakana Phonetic Extensions":function(t){return t>=12784&&t<=12799},"Enclosed CJK Letters and Months":function(t){return t>=12800&&t<=13055},"CJK Compatibility":function(t){return t>=13056&&t<=13311},"CJK Unified Ideographs Extension A":function(t){return t>=13312&&t<=19903},"Yijing Hexagram Symbols":function(t){return t>=19904&&t<=19967},"CJK Unified Ideographs":function(t){return t>=19968&&t<=40959},"Yi Syllables":function(t){return t>=40960&&t<=42127},"Yi Radicals":function(t){return t>=42128&&t<=42191},"Hangul Jamo Extended-A":function(t){return t>=43360&&t<=43391},"Hangul Syllables":function(t){return t>=44032&&t<=55215},"Hangul Jamo Extended-B":function(t){return t>=55216&&t<=55295},"Private Use Area":function(t){return t>=57344&&t<=63743},"CJK Compatibility Ideographs":function(t){return t>=63744&&t<=64255},"Arabic Presentation Forms-A":function(t){return t>=64336&&t<=65023},"Vertical Forms":function(t){return t>=65040&&t<=65055},"CJK Compatibility Forms":function(t){return t>=65072&&t<=65103},"Small Form Variants":function(t){return t>=65104&&t<=65135},"Arabic Presentation Forms-B":function(t){return t>=65136&&t<=65279},"Halfwidth and Fullwidth Forms":function(t){return t>=65280&&t<=65519}};function xr(t){for(var e=0,r=t;e=65097&&t<=65103)||yr["CJK Compatibility Ideographs"](t)||yr["CJK Compatibility"](t)||yr["CJK Radicals Supplement"](t)||yr["CJK Strokes"](t)||!(!yr["CJK Symbols and Punctuation"](t)||t>=12296&&t<=12305||t>=12308&&t<=12319||12336===t)||yr["CJK Unified Ideographs Extension A"](t)||yr["CJK Unified Ideographs"](t)||yr["Enclosed CJK Letters and Months"](t)||yr["Hangul Compatibility Jamo"](t)||yr["Hangul Jamo Extended-A"](t)||yr["Hangul Jamo Extended-B"](t)||yr["Hangul Jamo"](t)||yr["Hangul Syllables"](t)||yr.Hiragana(t)||yr["Ideographic Description Characters"](t)||yr.Kanbun(t)||yr["Kangxi Radicals"](t)||yr["Katakana Phonetic Extensions"](t)||yr.Katakana(t)&&12540!==t||!(!yr["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)||!(!yr["Small Form Variants"](t)||t>=65112&&t<=65118||t>=65123&&t<=65126)||yr["Unified Canadian Aboriginal Syllabics"](t)||yr["Unified Canadian Aboriginal Syllabics Extended"](t)||yr["Vertical Forms"](t)||yr["Yijing Hexagram Symbols"](t)||yr["Yi Syllables"](t)||yr["Yi Radicals"](t)))}function wr(t){return!(_r(t)||function(t){return!!(yr["Latin-1 Supplement"](t)&&(167===t||169===t||174===t||177===t||188===t||189===t||190===t||215===t||247===t)||yr["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)||yr["Letterlike Symbols"](t)||yr["Number Forms"](t)||yr["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)||yr["Control Pictures"](t)&&9251!==t||yr["Optical Character Recognition"](t)||yr["Enclosed Alphanumerics"](t)||yr["Geometric Shapes"](t)||yr["Miscellaneous Symbols"](t)&&!(t>=9754&&t<=9759)||yr["Miscellaneous Symbols and Arrows"](t)&&(t>=11026&&t<=11055||t>=11088&&t<=11097||t>=11192&&t<=11243)||yr["CJK Symbols and Punctuation"](t)||yr.Katakana(t)||yr["Private Use Area"](t)||yr["CJK Compatibility Forms"](t)||yr["Small Form Variants"](t)||yr["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 kr(t,e){return!(!e&&(t>=1424&&t<=2303||yr["Arabic Presentation Forms-A"](t)||yr["Arabic Presentation Forms-B"](t))||t>=2304&&t<=3583||t>=3840&&t<=4255||yr.Khmer(t))}var Ar,Mr=!1,Tr=null,Sr=!1,Cr=new O,Er={applyArabicShaping:null,processBidirectionalText:null,isLoaded:function(){return Sr||null!=Er.applyArabicShaping}},Lr=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 mr,this.transition={})};Lr.prototype.isSupportedScript=function(t){return function(t,e){for(var r=0,n=t;rthis.end)return this.prior=null,r;if(this.value.isDataDriven())return this.prior=null,r;if(e=1)return 1;var e=i*i,r=e*i;return 4*(i<.5?r:3*(i-e)+r-.75)}())}return r};var Pr=function(t){this._properties=t,this._values=Object.create(t.defaultTransitioningPropertyValues)};Pr.prototype.possiblyEvaluate=function(t){for(var e=new Br(this._properties),r=0,n=Object.keys(this._values);rn.zoomHistory.lastIntegerZoom?{from:t,to:e,fromScale:2,toScale:1,t:a+(1-a)*o}:{from:r,to:e,fromScale:.5,toScale:1,t:1-(1-o)*a}},Vr.prototype.interpolate=function(t){return t};var Ur=function(t){this.specification=t};Ur.prototype.possiblyEvaluate=function(t,e){return!!t.expression.evaluate(e)},Ur.prototype.interpolate=function(){return!1};var qr=function(t){for(var e in this.properties=t,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},t){var r=t[e],n=this.defaultPropertyValues[e]=new zr(r,void 0),i=this.defaultTransitionablePropertyValues[e]=new Or(r);this.defaultTransitioningPropertyValues[e]=i.untransitioned(),this.defaultPossiblyEvaluatedValues[e]=n.possiblyEvaluate({})}};pr("DataDrivenProperty",jr),pr("DataConstantProperty",Nr),pr("CrossFadedProperty",Vr),pr("ColorRampProperty",Ur);var Hr=function(t){function e(e,r){for(var n in t.call(this),this.id=e.id,this.metadata=e.metadata,this.type=e.type,this.minzoom=e.minzoom,this.maxzoom=e.maxzoom,this.visibility="visible","background"!==e.type&&(this.source=e.source,this.sourceLayer=e["source-layer"],this.filter=e.filter),this._featureFilter=function(){return!0},r.layout&&(this._unevaluatedLayout=new Rr(r.layout)),this._transitionablePaint=new Ir(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()}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getLayoutProperty=function(t){return"visibility"===t?this.visibility:this._unevaluatedLayout.getValue(t)},e.prototype.setLayoutProperty=function(t,e,r){if(null!=e){var n="layers."+this.id+".layout."+t;if(this._validate(or,n,t,e,r))return}"visibility"!==t?this._unevaluatedLayout.setValue(t,e):this.visibility="none"===e?e:"visible"},e.prototype.getPaintProperty=function(t){return v(t,"-transition")?this._transitionablePaint.getTransition(t.slice(0,-"-transition".length)):this._transitionablePaint.getValue(t)},e.prototype.setPaintProperty=function(t,e,r){if(null!=e){var n="layers."+this.id+".paint."+t;if(this._validate(ar,n,t,e,r))return}v(t,"-transition")?this._transitionablePaint.setTransition(t.slice(0,-"-transition".length),e||void 0):this._transitionablePaint.setValue(t,e)},e.prototype.isHidden=function(t){return!!(this.minzoom&&t=this.maxzoom)||"none"===this.visibility},e.prototype.updateTransitions=function(t){this._transitioningPaint=this._transitionablePaint.transitioned(t,this._transitioningPaint)},e.prototype.hasTransition=function(){return this._transitioningPaint.hasTransition()},e.prototype.recalculate=function(t){this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(t)),this.paint=this._transitioningPaint.possiblyEvaluate(t)},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"none"===this.visibility&&(t.layout=t.layout||{},t.layout.visibility="none"),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(!i||!1!==i.validate)&&sr(this,t.call(nr,{key:e,layerType:this.type,objectKey:r,value:n,styleSpec:I,style:{glyphs:!0,sprite:!0}}))},e.prototype.hasOffscreenPass=function(){return!1},e.prototype.resize=function(){},e}(O),Gr={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array},Wr=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},Yr=function(){this.isTransferred=!1,this.capacity=-1,this.resize(0)};function Xr(t,e){void 0===e&&(e=1);var r=0,n=0;return{members:t.map(function(t){var i,a=(i=t.type,Gr[i].BYTES_PER_ELEMENT),o=r=Zr(r,Math.max(e,a)),s=t.components||1;return n=Math.max(n,a),r+=a*s,{name:t.name,type:t.type,components:s,offset:o}}),size:Zr(r,Math.max(n,e)),alignment:e}}function Zr(t,e){return Math.ceil(t/e)*e}Yr.serialize=function(t,e){return t._trim(),e&&(t.isTransferred=!0,e.push(t.arrayBuffer)),{length:t.length,arrayBuffer:t.arrayBuffer}},Yr.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},Yr.prototype._trim=function(){this.length!==this.capacity&&(this.capacity=this.length,this.arrayBuffer=this.arrayBuffer.slice(0,this.length*this.bytesPerElement),this._refreshViews())},Yr.prototype.clear=function(){this.length=0},Yr.prototype.resize=function(t){this.reserve(t),this.length=t},Yr.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)}},Yr.prototype._refreshViews=function(){throw new Error("_refreshViews() must be implemented by each concrete StructArray layout")};var $r=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e){var r=this.length;this.resize(r+1);var n=2*r;return this.int16[n+0]=t,this.int16[n+1]=e,r},e}(Yr);$r.prototype.bytesPerElement=4,pr("StructArrayLayout2i4",$r);var Jr=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n){var i=this.length;this.resize(i+1);var a=4*i;return this.int16[a+0]=t,this.int16[a+1]=e,this.int16[a+2]=r,this.int16[a+3]=n,i},e}(Yr);Jr.prototype.bytesPerElement=8,pr("StructArrayLayout4i8",Jr);var Kr=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a){var o=this.length;this.resize(o+1);var s=6*o;return this.int16[s+0]=t,this.int16[s+1]=e,this.int16[s+2]=r,this.int16[s+3]=n,this.int16[s+4]=i,this.int16[s+5]=a,o},e}(Yr);Kr.prototype.bytesPerElement=12,pr("StructArrayLayout2i4i12",Kr);var Qr=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a,o,s){var l=this.length;this.resize(l+1);var c=6*l,u=12*l;return this.int16[c+0]=t,this.int16[c+1]=e,this.int16[c+2]=r,this.int16[c+3]=n,this.uint8[u+8]=i,this.uint8[u+9]=a,this.uint8[u+10]=o,this.uint8[u+11]=s,l},e}(Yr);Qr.prototype.bytesPerElement=12,pr("StructArrayLayout4i4ub12",Qr);var tn=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a,o,s){var l=this.length;this.resize(l+1);var c=8*l;return this.int16[c+0]=t,this.int16[c+1]=e,this.int16[c+2]=r,this.int16[c+3]=n,this.uint16[c+4]=i,this.uint16[c+5]=a,this.uint16[c+6]=o,this.uint16[c+7]=s,l},e}(Yr);tn.prototype.bytesPerElement=16,pr("StructArrayLayout4i4ui16",tn);var en=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r){var n=this.length;this.resize(n+1);var i=3*n;return this.float32[i+0]=t,this.float32[i+1]=e,this.float32[i+2]=r,n},e}(Yr);en.prototype.bytesPerElement=12,pr("StructArrayLayout3f12",en);var rn=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t){var e=this.length;this.resize(e+1);var r=1*e;return this.uint32[r+0]=t,e},e}(Yr);rn.prototype.bytesPerElement=4,pr("StructArrayLayout1ul4",rn);var nn=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a,o,s,l,c,u){var f=this.length;this.resize(f+1);var h=12*f,p=6*f;return this.int16[h+0]=t,this.int16[h+1]=e,this.int16[h+2]=r,this.int16[h+3]=n,this.int16[h+4]=i,this.int16[h+5]=a,this.uint32[p+3]=o,this.uint16[h+8]=s,this.uint16[h+9]=l,this.int16[h+10]=c,this.int16[h+11]=u,f},e}(Yr);nn.prototype.bytesPerElement=24,pr("StructArrayLayout6i1ul2ui2i24",nn);var an=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a){var o=this.length;this.resize(o+1);var s=6*o;return this.int16[s+0]=t,this.int16[s+1]=e,this.int16[s+2]=r,this.int16[s+3]=n,this.int16[s+4]=i,this.int16[s+5]=a,o},e}(Yr);an.prototype.bytesPerElement=12,pr("StructArrayLayout2i2i2i12",an);var on=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e){var r=this.length;this.resize(r+1);var n=4*r;return this.uint8[n+0]=t,this.uint8[n+1]=e,r},e}(Yr);on.prototype.bytesPerElement=4,pr("StructArrayLayout2ub4",on);var sn=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a,o,s,l,c,u,f,h,p){var d=this.length;this.resize(d+1);var g=20*d,v=10*d,m=40*d;return this.int16[g+0]=t,this.int16[g+1]=e,this.uint16[g+2]=r,this.uint16[g+3]=n,this.uint32[v+2]=i,this.uint32[v+3]=a,this.uint32[v+4]=o,this.uint16[g+10]=s,this.uint16[g+11]=l,this.uint16[g+12]=c,this.float32[v+7]=u,this.float32[v+8]=f,this.uint8[m+36]=h,this.uint8[m+37]=p,d},e}(Yr);sn.prototype.bytesPerElement=40,pr("StructArrayLayout2i2ui3ul3ui2f2ub40",sn);var ln=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t){var e=this.length;this.resize(e+1);var r=1*e;return this.float32[r+0]=t,e},e}(Yr);ln.prototype.bytesPerElement=4,pr("StructArrayLayout1f4",ln);var cn=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r){var n=this.length;this.resize(n+1);var i=3*n;return this.int16[i+0]=t,this.int16[i+1]=e,this.int16[i+2]=r,n},e}(Yr);cn.prototype.bytesPerElement=6,pr("StructArrayLayout3i6",cn);var un=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r){var n=this.length;this.resize(n+1);var i=2*n,a=4*n;return this.uint32[i+0]=t,this.uint16[a+2]=e,this.uint16[a+3]=r,n},e}(Yr);un.prototype.bytesPerElement=8,pr("StructArrayLayout1ul2ui8",un);var fn=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r){var n=this.length;this.resize(n+1);var i=3*n;return this.uint16[i+0]=t,this.uint16[i+1]=e,this.uint16[i+2]=r,n},e}(Yr);fn.prototype.bytesPerElement=6,pr("StructArrayLayout3ui6",fn);var hn=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e){var r=this.length;this.resize(r+1);var n=2*r;return this.uint16[n+0]=t,this.uint16[n+1]=e,r},e}(Yr);hn.prototype.bytesPerElement=4,pr("StructArrayLayout2ui4",hn);var pn=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e){var r=this.length;this.resize(r+1);var n=2*r;return this.float32[n+0]=t,this.float32[n+1]=e,r},e}(Yr);pn.prototype.bytesPerElement=8,pr("StructArrayLayout2f8",pn);var dn=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n){var i=this.length;this.resize(i+1);var a=4*i;return this.float32[a+0]=t,this.float32[a+1]=e,this.float32[a+2]=r,this.float32[a+3]=n,i},e}(Yr);dn.prototype.bytesPerElement=16,pr("StructArrayLayout4f16",dn);var gn=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={anchorPointX:{configurable:!0},anchorPointY:{configurable:!0},x1:{configurable:!0},y1:{configurable:!0},x2:{configurable:!0},y2:{configurable:!0},featureIndex:{configurable:!0},sourceLayerIndex:{configurable:!0},bucketIndex:{configurable:!0},radius:{configurable:!0},signedDistanceFromAnchor:{configurable:!0},anchorPoint:{configurable:!0}};return r.anchorPointX.get=function(){return this._structArray.int16[this._pos2+0]},r.anchorPointX.set=function(t){this._structArray.int16[this._pos2+0]=t},r.anchorPointY.get=function(){return this._structArray.int16[this._pos2+1]},r.anchorPointY.set=function(t){this._structArray.int16[this._pos2+1]=t},r.x1.get=function(){return this._structArray.int16[this._pos2+2]},r.x1.set=function(t){this._structArray.int16[this._pos2+2]=t},r.y1.get=function(){return this._structArray.int16[this._pos2+3]},r.y1.set=function(t){this._structArray.int16[this._pos2+3]=t},r.x2.get=function(){return this._structArray.int16[this._pos2+4]},r.x2.set=function(t){this._structArray.int16[this._pos2+4]=t},r.y2.get=function(){return this._structArray.int16[this._pos2+5]},r.y2.set=function(t){this._structArray.int16[this._pos2+5]=t},r.featureIndex.get=function(){return this._structArray.uint32[this._pos4+3]},r.featureIndex.set=function(t){this._structArray.uint32[this._pos4+3]=t},r.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+8]},r.sourceLayerIndex.set=function(t){this._structArray.uint16[this._pos2+8]=t},r.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+9]},r.bucketIndex.set=function(t){this._structArray.uint16[this._pos2+9]=t},r.radius.get=function(){return this._structArray.int16[this._pos2+10]},r.radius.set=function(t){this._structArray.int16[this._pos2+10]=t},r.signedDistanceFromAnchor.get=function(){return this._structArray.int16[this._pos2+11]},r.signedDistanceFromAnchor.set=function(t){this._structArray.int16[this._pos2+11]=t},r.anchorPoint.get=function(){return new l(this.anchorPointX,this.anchorPointY)},Object.defineProperties(e.prototype,r),e}(Wr);gn.prototype.size=24;var vn=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.get=function(t){return new gn(this,t)},e}(nn);pr("CollisionBoxArray",vn);var mn=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={anchorX:{configurable:!0},anchorY:{configurable:!0},glyphStartIndex:{configurable:!0},numGlyphs:{configurable:!0},vertexStartIndex:{configurable:!0},lineStartIndex:{configurable:!0},lineLength:{configurable:!0},segment:{configurable:!0},lowerSize:{configurable:!0},upperSize:{configurable:!0},lineOffsetX:{configurable:!0},lineOffsetY:{configurable:!0},writingMode:{configurable:!0},hidden:{configurable:!0}};return r.anchorX.get=function(){return this._structArray.int16[this._pos2+0]},r.anchorX.set=function(t){this._structArray.int16[this._pos2+0]=t},r.anchorY.get=function(){return this._structArray.int16[this._pos2+1]},r.anchorY.set=function(t){this._structArray.int16[this._pos2+1]=t},r.glyphStartIndex.get=function(){return this._structArray.uint16[this._pos2+2]},r.glyphStartIndex.set=function(t){this._structArray.uint16[this._pos2+2]=t},r.numGlyphs.get=function(){return this._structArray.uint16[this._pos2+3]},r.numGlyphs.set=function(t){this._structArray.uint16[this._pos2+3]=t},r.vertexStartIndex.get=function(){return this._structArray.uint32[this._pos4+2]},r.vertexStartIndex.set=function(t){this._structArray.uint32[this._pos4+2]=t},r.lineStartIndex.get=function(){return this._structArray.uint32[this._pos4+3]},r.lineStartIndex.set=function(t){this._structArray.uint32[this._pos4+3]=t},r.lineLength.get=function(){return this._structArray.uint32[this._pos4+4]},r.lineLength.set=function(t){this._structArray.uint32[this._pos4+4]=t},r.segment.get=function(){return this._structArray.uint16[this._pos2+10]},r.segment.set=function(t){this._structArray.uint16[this._pos2+10]=t},r.lowerSize.get=function(){return this._structArray.uint16[this._pos2+11]},r.lowerSize.set=function(t){this._structArray.uint16[this._pos2+11]=t},r.upperSize.get=function(){return this._structArray.uint16[this._pos2+12]},r.upperSize.set=function(t){this._structArray.uint16[this._pos2+12]=t},r.lineOffsetX.get=function(){return this._structArray.float32[this._pos4+7]},r.lineOffsetX.set=function(t){this._structArray.float32[this._pos4+7]=t},r.lineOffsetY.get=function(){return this._structArray.float32[this._pos4+8]},r.lineOffsetY.set=function(t){this._structArray.float32[this._pos4+8]=t},r.writingMode.get=function(){return this._structArray.uint8[this._pos1+36]},r.writingMode.set=function(t){this._structArray.uint8[this._pos1+36]=t},r.hidden.get=function(){return this._structArray.uint8[this._pos1+37]},r.hidden.set=function(t){this._structArray.uint8[this._pos1+37]=t},Object.defineProperties(e.prototype,r),e}(Wr);mn.prototype.size=40;var yn=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.get=function(t){return new mn(this,t)},e}(sn);pr("PlacedSymbolArray",yn);var xn=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={offsetX:{configurable:!0}};return r.offsetX.get=function(){return this._structArray.float32[this._pos4+0]},r.offsetX.set=function(t){this._structArray.float32[this._pos4+0]=t},Object.defineProperties(e.prototype,r),e}(Wr);xn.prototype.size=4;var bn=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getoffsetX=function(t){return this.float32[1*t+0]},e.prototype.get=function(t){return new xn(this,t)},e}(ln);pr("GlyphOffsetArray",bn);var _n=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={x:{configurable:!0},y:{configurable:!0},tileUnitDistanceFromAnchor:{configurable:!0}};return r.x.get=function(){return this._structArray.int16[this._pos2+0]},r.x.set=function(t){this._structArray.int16[this._pos2+0]=t},r.y.get=function(){return this._structArray.int16[this._pos2+1]},r.y.set=function(t){this._structArray.int16[this._pos2+1]=t},r.tileUnitDistanceFromAnchor.get=function(){return this._structArray.int16[this._pos2+2]},r.tileUnitDistanceFromAnchor.set=function(t){this._structArray.int16[this._pos2+2]=t},Object.defineProperties(e.prototype,r),e}(Wr);_n.prototype.size=6;var wn=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.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.prototype.get=function(t){return new _n(this,t)},e}(cn);pr("SymbolLineVertexArray",wn);var kn=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={featureIndex:{configurable:!0},sourceLayerIndex:{configurable:!0},bucketIndex:{configurable:!0}};return r.featureIndex.get=function(){return this._structArray.uint32[this._pos4+0]},r.featureIndex.set=function(t){this._structArray.uint32[this._pos4+0]=t},r.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+2]},r.sourceLayerIndex.set=function(t){this._structArray.uint16[this._pos2+2]=t},r.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+3]},r.bucketIndex.set=function(t){this._structArray.uint16[this._pos2+3]=t},Object.defineProperties(e.prototype,r),e}(Wr);kn.prototype.size=8;var An=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.get=function(t){return new kn(this,t)},e}(un);pr("FeatureIndexArray",An);var Mn=Xr([{name:"a_pos",components:2,type:"Int16"}],4).members,Tn=function(t){void 0===t&&(t=[]),this.segments=t};Tn.prototype.prepareSegment=function(t,e,r){var n=this.segments[this.segments.length-1];return t>Tn.MAX_VERTEX_ARRAY_LENGTH&&_("Max vertices per segment is "+Tn.MAX_VERTEX_ARRAY_LENGTH+": bucket requested "+t),(!n||n.vertexLength+t>Tn.MAX_VERTEX_ARRAY_LENGTH)&&(n={vertexOffset:e.length,primitiveOffset:r.length,vertexLength:0,primitiveLength:0},this.segments.push(n)),n},Tn.prototype.get=function(){return this.segments},Tn.prototype.destroy=function(){for(var t=0,e=this.segments;tRn.max||o.yRn.max)&&_("Geometry exceeds allowed extent, reduce your vector tile buffer size")}return r}function Bn(t,e,r,n,i){t.emplaceBack(2*e+(n+1)/2,2*r+(i+1)/2)}var Nn=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.layoutVertexArray=new $r,this.indexArray=new fn,this.segments=new Tn,this.programConfigurations=new In(Mn,t.layers,t.zoom)};function jn(t,e,r){for(var n=0;n=3)for(var s=0;s1){if(Hn(t,e))return!0;for(var n=0;n1?t.distSqr(r):t.distSqr(r.sub(e)._mult(i)._add(e))}function Xn(t,e){for(var r,n,i,a=!1,o=0;oe.y!=i.y>e.y&&e.x<(i.x-n.x)*(e.y-n.y)/(i.y-n.y)+n.x&&(a=!a);return a}function Zn(t,e){for(var r=!1,n=0,i=t.length-1;ne.y!=o.y>e.y&&e.x<(o.x-a.x)*(e.y-a.y)/(o.y-a.y)+a.x&&(r=!r)}return r}function $n(t,e,r){var n=e.paint.get(t).value;return"constant"===n.kind?n.value:r.programConfigurations.get(e.id).binders[t].statistics.max}function Jn(t){return Math.sqrt(t[0]*t[0]+t[1]*t[1])}function Kn(t,e,r,n,i){if(!e[0]&&!e[1])return t;var a=l.convert(e);"viewport"===r&&a._rotate(-n);for(var o=[],s=0;s=Pn||l<0||l>=Pn)){var c=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray),u=c.vertexLength;Bn(this.layoutVertexArray,s,l,-1,-1),Bn(this.layoutVertexArray,s,l,1,-1),Bn(this.layoutVertexArray,s,l,1,1),Bn(this.layoutVertexArray,s,l,-1,1),this.indexArray.emplaceBack(u,u+1,u+2),this.indexArray.emplaceBack(u,u+3,u+2),c.vertexLength+=4,c.primitiveLength+=2}}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t)},pr("CircleBucket",Nn,{omit:["layers"]});var Qn={paint:new qr({"circle-radius":new jr(I.paint_circle["circle-radius"]),"circle-color":new jr(I.paint_circle["circle-color"]),"circle-blur":new jr(I.paint_circle["circle-blur"]),"circle-opacity":new jr(I.paint_circle["circle-opacity"]),"circle-translate":new Nr(I.paint_circle["circle-translate"]),"circle-translate-anchor":new Nr(I.paint_circle["circle-translate-anchor"]),"circle-pitch-scale":new Nr(I.paint_circle["circle-pitch-scale"]),"circle-pitch-alignment":new Nr(I.paint_circle["circle-pitch-alignment"]),"circle-stroke-width":new jr(I.paint_circle["circle-stroke-width"]),"circle-stroke-color":new jr(I.paint_circle["circle-stroke-color"]),"circle-stroke-opacity":new jr(I.paint_circle["circle-stroke-opacity"])})},ti=i(function(t,e){var r;t.exports=((r=new Float32Array(3))[0]=0,r[1]=0,r[2]=0,function(){var t=new Float32Array(4);t[0]=0,t[1]=0,t[2]=0,t[3]=0}(),{vec3:{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}},vec4:{transformMat4:function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3];return t[0]=r[0]*n+r[4]*i+r[8]*a+r[12]*o,t[1]=r[1]*n+r[5]*i+r[9]*a+r[13]*o,t[2]=r[2]*n+r[6]*i+r[10]*a+r[14]*o,t[3]=r[3]*n+r[7]*i+r[11]*a+r[15]*o,t}},mat2:{create:function(){var t=new Float32Array(4);return t[0]=1,t[1]=0,t[2]=0,t[3]=1,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},scale:function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=r[0],l=r[1];return t[0]=n*s,t[1]=i*s,t[2]=a*l,t[3]=o*l,t}},mat3:{create:function(){var t=new Float32Array(9);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t},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}},mat4:{create: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},identity:function(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},translate:function(t,e,r){var n,i,a,o,s,l,c,u,f,h,p,d,g=r[0],v=r[1],m=r[2];return e===t?(t[12]=e[0]*g+e[4]*v+e[8]*m+e[12],t[13]=e[1]*g+e[5]*v+e[9]*m+e[13],t[14]=e[2]*g+e[6]*v+e[10]*m+e[14],t[15]=e[3]*g+e[7]*v+e[11]*m+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*v+f*m+e[12],t[13]=i*g+l*v+h*m+e[13],t[14]=a*g+c*v+p*m+e[14],t[15]=o*g+u*v+d*m+e[15]),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},multiply:function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],c=e[6],u=e[7],f=e[8],h=e[9],p=e[10],d=e[11],g=e[12],v=e[13],m=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*v,t[2]=x*a+b*c+_*p+w*m,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*v,t[6]=x*a+b*c+_*p+w*m,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*v,t[10]=x*a+b*c+_*p+w*m,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*v,t[14]=x*a+b*c+_*p+w*m,t[15]=x*o+b*u+_*d+w*y,t},perspective:function(t,e,r,n,i){var a=1/Math.tan(e/2),o=1/(n-i);return t[0]=a/r,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=a,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=(i+n)*o,t[11]=-1,t[12]=0,t[13]=0,t[14]=2*i*n*o,t[15]=0,t},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},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},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],v=e[14],m=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,k=i*c-a*l,A=u*g-f*d,M=u*v-h*d,T=u*m-p*d,S=f*v-h*g,C=f*m-p*g,E=h*m-p*v,L=y*E-x*C+b*S+_*T-w*M+k*A;return L?(L=1/L,t[0]=(s*E-l*C+c*S)*L,t[1]=(i*C-n*E-a*S)*L,t[2]=(g*k-v*w+m*_)*L,t[3]=(h*w-f*k-p*_)*L,t[4]=(l*T-o*E-c*M)*L,t[5]=(r*E-i*T+a*M)*L,t[6]=(v*b-d*k-m*x)*L,t[7]=(u*k-h*b+p*x)*L,t[8]=(o*C-s*T+c*A)*L,t[9]=(n*T-r*C-a*A)*L,t[10]=(d*w-g*b+m*y)*L,t[11]=(f*b-u*w-p*y)*L,t[12]=(s*M-o*S-l*A)*L,t[13]=(r*S-n*M+i*A)*L,t[14]=(g*x-d*_-v*y)*L,t[15]=(u*_-f*x+h*y)*L,t):null},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}}})}),ei=(ti.vec3,ti.vec4),ri=(ti.mat2,ti.mat3,ti.mat4),ni=function(t){function e(e){t.call(this,e,Qn)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.createBucket=function(t){return new Nn(t)},e.prototype.queryRadius=function(t){var e=t;return $n("circle-radius",this,e)+$n("circle-stroke-width",this,e)+Jn(this.paint.get("circle-translate"))},e.prototype.queryIntersectsFeature=function(t,e,r,n,i,a,o){for(var s=Kn(t,this.paint.get("circle-translate"),this.paint.get("circle-translate-anchor"),i.angle,a),l=this.paint.get("circle-radius").evaluate(e)+this.paint.get("circle-stroke-width").evaluate(e),c="map"===this.paint.get("circle-pitch-alignment"),u=c?s:function(t,e,r){return s.map(function(t){return t.map(function(t){return ii(t,e,r)})})}(0,o,i),f=c?l*a:l,h=0,p=r;ht.width||i.height>t.height||r.x>t.width-i.width||r.y>t.height-i.height)throw new RangeError("out of range source coordinates for image copy");if(i.width>e.width||i.height>e.height||n.x>e.width-i.width||n.y>e.height-i.height)throw new RangeError("out of range destination coordinates for image copy");for(var o=t.data,s=e.data,l=0;l80*r){n=a=t[0],i=o=t[1];for(var d=r;da&&(a=s),l>o&&(o=l);c=0!==(c=Math.max(a-n,o-i))?1/c:0}return wi(h,p,r,n,i,c),p}function bi(t,e,r,n,i){var a,o;if(i===Vi(t,e,r,n)>0)for(a=e;a=e;a-=n)o=Bi(a,t[a],t[a+1],o);return o&&Di(o,o.next)&&(Ni(o),o=o.next),o}function _i(t,e){if(!t)return t;e||(e=t);var r,n=t;do{if(r=!1,n.steiner||!Di(n,n.next)&&0!==Ii(n.prev,n,n.next))n=n.next;else{if(Ni(n),(n=e=n.prev)===n.next)break;r=!0}}while(r||n!==e);return e}function wi(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=Ei(i.x,i.y,e,r,n)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next}while(i!==t);i.prevZ.nextZ=null,i.prevZ=null,function(t){var e,r,n,i,a,o,s,l,c=1;do{for(r=t,t=null,a=null,o=0;r;){for(o++,n=r,s=0,e=0;e0||l>0&&n;)0!==s&&(0===l||!n||r.z<=n.z)?(i=r,r=r.nextZ,s--):(i=n,n=n.nextZ,l--),a?a.nextZ=i:t=i,i.prevZ=a,a=i;r=n}a.nextZ=null,c*=2}while(o>1)}(i)}(t,n,i,a);for(var s,l,c=t;t.prev!==t.next;)if(s=t.prev,l=t.next,a?Ai(t,n,i,a):ki(t))e.push(s.i/r),e.push(t.i/r),e.push(l.i/r),Ni(t),t=l.next,c=l.next;else if((t=l)===c){o?1===o?wi(t=Mi(t,e,r),e,r,n,i,a,2):2===o&&Ti(t,e,r,n,i,a):wi(_i(t),e,r,n,i,a,1);break}}}function ki(t){var e=t.prev,r=t,n=t.next;if(Ii(e,r,n)>=0)return!1;for(var i=t.next.next;i!==t.prev;){if(zi(e.x,e.y,r.x,r.y,n.x,n.y,i.x,i.y)&&Ii(i.prev,i,i.next)>=0)return!1;i=i.next}return!0}function Ai(t,e,r,n){var i=t.prev,a=t,o=t.next;if(Ii(i,a,o)>=0)return!1;for(var s=i.xa.x?i.x>o.x?i.x:o.x:a.x>o.x?a.x:o.x,u=i.y>a.y?i.y>o.y?i.y:o.y:a.y>o.y?a.y:o.y,f=Ei(s,l,e,r,n),h=Ei(c,u,e,r,n),p=t.prevZ,d=t.nextZ;p&&p.z>=f&&d&&d.z<=h;){if(p!==t.prev&&p!==t.next&&zi(i.x,i.y,a.x,a.y,o.x,o.y,p.x,p.y)&&Ii(p.prev,p,p.next)>=0)return!1;if(p=p.prevZ,d!==t.prev&&d!==t.next&&zi(i.x,i.y,a.x,a.y,o.x,o.y,d.x,d.y)&&Ii(d.prev,d,d.next)>=0)return!1;d=d.nextZ}for(;p&&p.z>=f;){if(p!==t.prev&&p!==t.next&&zi(i.x,i.y,a.x,a.y,o.x,o.y,p.x,p.y)&&Ii(p.prev,p,p.next)>=0)return!1;p=p.prevZ}for(;d&&d.z<=h;){if(d!==t.prev&&d!==t.next&&zi(i.x,i.y,a.x,a.y,o.x,o.y,d.x,d.y)&&Ii(d.prev,d,d.next)>=0)return!1;d=d.nextZ}return!0}function Mi(t,e,r){var n=t;do{var i=n.prev,a=n.next.next;!Di(i,a)&&Pi(i,n,n.next,a)&&Ri(i,a)&&Ri(a,i)&&(e.push(i.i/r),e.push(n.i/r),e.push(a.i/r),Ni(n),Ni(n.next),n=t=a),n=n.next}while(n!==t);return n}function Ti(t,e,r,n,i,a){var o=t;do{for(var s=o.next.next;s!==o.prev;){if(o.i!==s.i&&Oi(o,s)){var l=Fi(o,s);return o=_i(o,o.next),l=_i(l,l.next),wi(o,e,r,n,i,a),void wi(l,e,r,n,i,a)}s=s.next}o=o.next}while(o!==t)}function Si(t,e){return t.x-e.x}function Ci(t,e){if(e=function(t,e){var r,n=e,i=t.x,a=t.y,o=-1/0;do{if(a<=n.y&&a>=n.next.y&&n.next.y!==n.y){var s=n.x+(a-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(s<=i&&s>o){if(o=s,s===i){if(a===n.y)return n;if(a===n.next.y)return n.next}r=n.x=n.x&&n.x>=u&&i!==n.x&&zi(ar.x)&&Ri(n,t)&&(r=n,h=l),n=n.next;return r}(t,e)){var r=Fi(e,t);_i(r,r.next)}}function Ei(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 Li(t){var e=t,r=t;do{e.x=0&&(t-o)*(n-s)-(r-o)*(e-s)>=0&&(r-o)*(a-s)-(i-o)*(n-s)>=0}function Oi(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&&Pi(r,r.next,t,e))return!0;r=r.next}while(r!==t);return!1}(t,e)&&Ri(t,e)&&Ri(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)}function Ii(t,e,r){return(e.y-t.y)*(r.x-e.x)-(e.x-t.x)*(r.y-e.y)}function Di(t,e){return t.x===e.x&&t.y===e.y}function Pi(t,e,r,n){return!!(Di(t,e)&&Di(r,n)||Di(t,n)&&Di(r,e))||Ii(t,e,r)>0!=Ii(t,e,n)>0&&Ii(r,n,t)>0!=Ii(r,n,e)>0}function Ri(t,e){return Ii(t.prev,t,t.next)<0?Ii(t,e,t.next)>=0&&Ii(t,t.prev,e)>=0:Ii(t,e,t.prev)<0||Ii(t,t.next,e)<0}function Fi(t,e){var r=new ji(t.i,t.x,t.y),n=new ji(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 Bi(t,e,r,n){var i=new ji(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 Ni(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 ji(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 Vi(t,e,r,n){for(var i=0,a=e,o=r-n;a0&&(n+=t[i-1].length,r.holes.push(n))}return r},mi.default=yi;var Ui=Hi,qi=Hi;function Hi(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(Gi(e,n,r),a(e[i],f)>0&&Gi(e,n,i);h0;)p--}0===a(e[n],f)?Gi(e,n,p):Gi(e,++p,i),p<=r&&(n=p+1),r<=p&&(i=p-1)}}(t,e,r||0,n||t.length-1,i||Wi)}function Gi(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function Wi(t,e){return te?1:0}function Yi(t,e){var r=t.length;if(r<=1)return[t];for(var n,i,a=[],o=0;o1)for(var l=0;lPn)||t.y===e.y&&(t.y<0||t.y>Pn)}function na(t){return t.every(function(t){return t.x<0})||t.every(function(t){return t.x>Pn})||t.every(function(t){return t.y<0})||t.every(function(t){return t.y>Pn})}ea.prototype.populate=function(t,e){for(var r=0,n=t;r=1){var g=f[p-1];if(!ra(d,g)){l.vertexLength+4>Tn.MAX_VERTEX_ARRAY_LENGTH&&(l=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray));var v=d.sub(g)._perp()._unit(),m=g.dist(d);h+m>32768&&(h=0),ta(this.layoutVertexArray,d.x,d.y,v.x,v.y,0,0,h),ta(this.layoutVertexArray,d.x,d.y,v.x,v.y,0,1,h),h+=m,ta(this.layoutVertexArray,g.x,g.y,v.x,v.y,0,0,h),ta(this.layoutVertexArray,g.x,g.y,v.x,v.y,0,1,h);var y=l.vertexLength;this.indexArray.emplaceBack(y,y+1,y+2),this.indexArray.emplaceBack(y+1,y+2,y+3),l.vertexLength+=4,l.primitiveLength+=2}}}}l.vertexLength+a>Tn.MAX_VERTEX_ARRAY_LENGTH&&(l=this.segments.prepareSegment(a,this.layoutVertexArray,this.indexArray));for(var x=[],b=[],_=l.vertexLength,w=0,k=i;w>3}if(i--,1===n||2===n)a+=t.readSVarint(),o+=t.readSVarint(),1===n&&(e&&s.push(e),e=[]),e.push(new l(a,o));else{if(7!==n)throw new Error("unknown command "+n);e&&e.push(e[0].clone())}}return e&&s.push(e),s},la.prototype.bbox=function(){var t=this._pbf;t.pos=this._geometry;for(var e=t.readVarint()+t.pos,r=1,n=0,i=0,a=0,o=1/0,s=-1/0,l=1/0,c=-1/0;t.pos>3}if(n--,1===r||2===r)(i+=t.readSVarint())s&&(s=i),(a+=t.readSVarint())c&&(c=a);else if(7!==r)throw new Error("unknown command "+r)}return[o,l,s,c]},la.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=la.types[this.type];function u(t){for(var e=0;e>3;e=1===n?t.readString():2===n?t.readFloat():3===n?t.readDouble():4===n?t.readVarint64():5===n?t.readVarint():6===n?t.readSVarint():7===n?t.readBoolean():null}return e}(r))}function da(t,e,r){if(3===t){var n=new fa(r,r.readVarint()+r.pos);n.length&&(e[n.name]=n)}}ha.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 sa(this._pbf,e,this.extent,this._keys,this._values)};var ga={VectorTile:function(t,e){this.layers=t.readFields(da,{},e)},VectorTileFeature:sa,VectorTileLayer:fa},va=ga.VectorTileFeature.types,ma=63,ya=Math.cos(Math.PI/180*37.5),xa=.5,ba=Math.pow(2,14)/xa;function _a(t,e,r,n,i,a,o){t.emplaceBack(e.x,e.y,n?1:0,i?1:-1,Math.round(ma*r.x)+128,Math.round(ma*r.y)+128,1+(0===a?0:a<0?-1:1)|(o*xa&63)<<2,o*xa>>6)}var wa=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.layoutVertexArray=new Qr,this.indexArray=new fn,this.programConfigurations=new In(oa,t.layers,t.zoom),this.segments=new Tn};function ka(t,e){return(t/e.tileTotal*(e.end-e.start)+e.start)*(ba-1)}wa.prototype.populate=function(t,e){for(var r=0,n=t;r=2&&t[l-1].equals(t[l-2]);)l--;for(var c=0;cc){var C=p.dist(x);if(C>2*u){var E=p.sub(p.sub(x)._mult(u/C)._round());this.distance+=E.dist(x),this.addCurrentVertex(E,this.distance,_.mult(1),0,0,!1,h,o),x=E}}var L=x&&b,z=L?r:b?v:m;if(L&&"round"===z&&(Ti&&(z="bevel"),"bevel"===z&&(T>2&&(z="flipbevel"),T100)A=w.clone().mult(-1);else{var O=_.x*w.y-_.y*w.x>0?-1:1,I=T*_.add(w).mag()/_.sub(w).mag();A._perp()._mult(I*O)}this.addCurrentVertex(p,this.distance,A,0,0,!1,h,o),this.addCurrentVertex(p,this.distance,A.mult(-1),0,0,!1,h,o)}else if("bevel"===z||"fakeround"===z){var D=_.x*w.y-_.y*w.x>0,P=-Math.sqrt(T*T-1);if(D?(g=0,d=P):(d=0,g=P),y||this.addCurrentVertex(p,this.distance,_,d,g,!1,h,o),"fakeround"===z){for(var R=Math.floor(8*(.5-(M-.5))),F=void 0,B=0;B=0;N--)F=_.mult((N+1)/(R+1))._add(w)._unit(),this.addPieSliceVertex(p,this.distance,F,D,h,o)}b&&this.addCurrentVertex(p,this.distance,w,-d,-g,!1,h,o)}else"butt"===z?(y||this.addCurrentVertex(p,this.distance,_,0,0,!1,h,o),b&&this.addCurrentVertex(p,this.distance,w,0,0,!1,h,o)):"square"===z?(y||(this.addCurrentVertex(p,this.distance,_,1,1,!1,h,o),this.e1=this.e2=-1),b&&this.addCurrentVertex(p,this.distance,w,-1,-1,!1,h,o)):"round"===z&&(y||(this.addCurrentVertex(p,this.distance,_,0,0,!1,h,o),this.addCurrentVertex(p,this.distance,_,1,1,!0,h,o),this.e1=this.e2=-1),b&&(this.addCurrentVertex(p,this.distance,w,-1,-1,!0,h,o),this.addCurrentVertex(p,this.distance,w,0,0,!1,h,o)));if(S&&k2*u){var V=p.add(b.sub(p)._mult(u/j)._round());this.distance+=V.dist(p),this.addCurrentVertex(V,this.distance,w.mult(1),0,0,!1,h,o),p=V}}y=!1}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,e)}},wa.prototype.addCurrentVertex=function(t,e,r,n,i,a,o,s){var l,c=this.layoutVertexArray,u=this.indexArray;s&&(e=ka(e,s)),l=r.clone(),n&&l._sub(r.perp()._mult(n)),_a(c,t,l,a,!1,n,e),this.e3=o.vertexLength++,this.e1>=0&&this.e2>=0&&(u.emplaceBack(this.e1,this.e2,this.e3),o.primitiveLength++),this.e1=this.e2,this.e2=this.e3,l=r.mult(-1),i&&l._sub(r.perp()._mult(i)),_a(c,t,l,a,!0,-i,e),this.e3=o.vertexLength++,this.e1>=0&&this.e2>=0&&(u.emplaceBack(this.e1,this.e2,this.e3),o.primitiveLength++),this.e1=this.e2,this.e2=this.e3,e>ba/2&&!s&&(this.distance=0,this.addCurrentVertex(t,this.distance,r,n,i,a,o))},wa.prototype.addPieSliceVertex=function(t,e,r,n,i,a){r=r.mult(n?-1:1);var o=this.layoutVertexArray,s=this.indexArray;a&&(e=ka(e,a)),_a(o,t,r,!1,n,0,e),this.e3=i.vertexLength++,this.e1>=0&&this.e2>=0&&(s.emplaceBack(this.e1,this.e2,this.e3),i.primitiveLength++),n?this.e2=this.e3:this.e1=this.e3},pr("LineBucket",wa,{omit:["layers"]});var Aa=new qr({"line-cap":new Nr(I.layout_line["line-cap"]),"line-join":new jr(I.layout_line["line-join"]),"line-miter-limit":new Nr(I.layout_line["line-miter-limit"]),"line-round-limit":new Nr(I.layout_line["line-round-limit"])}),Ma={paint:new qr({"line-opacity":new jr(I.paint_line["line-opacity"]),"line-color":new jr(I.paint_line["line-color"]),"line-translate":new Nr(I.paint_line["line-translate"]),"line-translate-anchor":new Nr(I.paint_line["line-translate-anchor"]),"line-width":new jr(I.paint_line["line-width"]),"line-gap-width":new jr(I.paint_line["line-gap-width"]),"line-offset":new jr(I.paint_line["line-offset"]),"line-blur":new jr(I.paint_line["line-blur"]),"line-dasharray":new Vr(I.paint_line["line-dasharray"]),"line-pattern":new Vr(I.paint_line["line-pattern"]),"line-gradient":new Ur(I.paint_line["line-gradient"])}),layout:Aa},Ta=new(function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.possiblyEvaluate=function(e,r){return r=new Lr(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){return r=p({},r,{zoom:Math.floor(r.zoom)}),t.prototype.evaluate.call(this,e,r,n)},e}(jr))(Ma.paint.properties["line-width"].specification);Ta.useIntegerZoom=!0;var Sa=function(t){function e(e){t.call(this,e,Ma)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.setPaintProperty=function(e,r,n){t.prototype.setPaintProperty.call(this,e,r,n),"line-gradient"===e&&this._updateGradient()},e.prototype._updateGradient=function(){var t=this._transitionablePaint._values["line-gradient"].value.expression;this.gradient=hi(t,"lineProgress"),this.gradientTexture=null},e.prototype.recalculate=function(e){t.prototype.recalculate.call(this,e),this.paint._values["line-floorwidth"]=Ta.possiblyEvaluate(this._transitioningPaint._values["line-width"].value,e)},e.prototype.createBucket=function(t){return new wa(t)},e.prototype.queryRadius=function(t){var e=t,r=Ca($n("line-width",this,e),$n("line-gap-width",this,e)),n=$n("line-offset",this,e);return r/2+Math.abs(n)+Jn(this.paint.get("line-translate"))},e.prototype.queryIntersectsFeature=function(t,e,r,n,i,a){var o=Kn(t,this.paint.get("line-translate"),this.paint.get("line-translate-anchor"),i.angle,a),s=a/2*Ca(this.paint.get("line-width").evaluate(e),this.paint.get("line-gap-width").evaluate(e)),c=this.paint.get("line-offset").evaluate(e);return c&&(r=function(t,e){for(var r=[],n=new l(0,0),i=0;i0?e+2*t:t}var Ea=Xr([{name:"a_pos_offset",components:4,type:"Int16"},{name:"a_data",components:4,type:"Uint16"}]),La=Xr([{name:"a_projected_pos",components:3,type:"Float32"}],4),za=(Xr([{name:"a_fade_opacity",components:1,type:"Uint32"}],4),Xr([{name:"a_placed",components:2,type:"Uint8"}],4)),Oa=(Xr([{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"},{type:"Int16",name:"radius"},{type:"Int16",name:"signedDistanceFromAnchor"}]),Xr([{name:"a_pos",components:2,type:"Int16"},{name:"a_anchor_pos",components:2,type:"Int16"},{name:"a_extrude",components:2,type:"Int16"}],4)),Ia=Xr([{name:"a_pos",components:2,type:"Int16"},{name:"a_anchor_pos",components:2,type:"Int16"},{name:"a_extrude",components:2,type:"Int16"}],4);function Da(t,e,r){var n=e.layout.get("text-transform").evaluate(r);return"uppercase"===n?t=t.toLocaleUpperCase():"lowercase"===n&&(t=t.toLocaleLowerCase()),Er.applyArabicShaping&&(t=Er.applyArabicShaping(t)),t}Xr([{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:"hidden"}]),Xr([{type:"Float32",name:"offsetX"}]),Xr([{type:"Int16",name:"x"},{type:"Int16",name:"y"},{type:"Int16",name:"tileUnitDistanceFromAnchor"}]);var Pa={"!":"\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"},Ra=function(t){function e(e,r,n,i){t.call(this,e,r),this.angle=n,void 0!==i&&(this.segment=i)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.clone=function(){return new e(this.x,this.y,this.angle,this.segment)},e}(l);function Fa(t,e){var r=e.expression;if("constant"===r.kind)return{functionType:"constant",layoutSize:r.evaluate(new Lr(t+1))};if("source"===r.kind)return{functionType:"source"};for(var n=r.zoomStops,i=0;i0)&&("constant"!==i.value.kind||i.value.value.length>0),l="constant"!==o.value.kind||o.value.value&&o.value.value.length>0;if(this.features=[],s||l){for(var c=e.iconDependencies,u=e.glyphDependencies,f=new Lr(this.zoom),h=0,p=t;h=0;s--)a[s]={x:e[s].x,y:e[s].y,tileUnitDistanceFromAnchor:i},s>0&&(i+=e[s-1].dist(e[s]));for(var l=0;l0;this.addCollisionDebugVertices(s,l,c,u,f?this.collisionCircle:this.collisionBox,o.anchorPoint,r,f)}}}},Ha.prototype.deserializeCollisionBoxes=function(t,e,r,n,i){for(var a={},o=e;o0},Ha.prototype.hasIconData=function(){return this.icon.segments.get().length>0},Ha.prototype.hasCollisionBoxData=function(){return this.collisionBox.segments.get().length>0},Ha.prototype.hasCollisionCircleData=function(){return this.collisionCircle.segments.get().length>0},Ha.prototype.sortFeatures=function(t){var e=this;if(this.sortFeaturesByY&&this.sortedAngle!==t&&(this.sortedAngle=t,!(this.text.segments.get().length>1||this.icon.segments.get().length>1))){for(var r=[],n=0;ni.maxh||t>i.maxw||r<=i.maxh&&t<=i.maxw&&(o=i.maxw*i.maxh-t*r)a.free)){if(r===a.h)return this.allocShelf(s,t,r,n);r>a.h||ru)&&(f=2*Math.max(t,u)),(ll)&&(c=2*Math.max(r,l)),this.resize(f,c),this.packOne(t,r,n)):null},t.prototype.allocFreebin=function(t,e,r,n){var i=this.freebins.splice(t,1)[0];return i.id=n,i.w=e,i.h=r,i.refcount=0,this.bins[n]=i,this.ref(i),i},t.prototype.allocShelf=function(t,e,r,n){var i=this.shelves[t].alloc(e,r,n);return this.bins[n]=i,this.ref(i),i},t.prototype.shrink=function(){if(this.shelves.length>0){for(var t=0,e=0,r=0;rthis.free||e>this.h)return null;var n=this.x;return this.x+=t,this.free-=t,new function(t,e,r,n,i,a,o){this.id=t,this.x=e,this.y=r,this.w=n,this.h=i,this.maxw=a||n,this.maxh=o||i,this.refcount=0}(r,n,this.y,t,e,t,this.h)},e.prototype.resize=function(t){return this.free+=t-this.w,this.w=t,!0},t}()}),Qa=function(t,e){var r=e.pixelRatio;this.paddedRect=t,this.pixelRatio=r},to={tl:{configurable:!0},br:{configurable:!0},displaySize:{configurable:!0}};to.tl.get=function(){return[this.paddedRect.x+1,this.paddedRect.y+1]},to.br.get=function(){return[this.paddedRect.x+this.paddedRect.w-1,this.paddedRect.y+this.paddedRect.h-1]},to.displaySize.get=function(){return[(this.paddedRect.w-2)/this.pixelRatio,(this.paddedRect.h-2)/this.pixelRatio]},Object.defineProperties(Qa.prototype,to);var eo=function(t){var e=new ui({width:0,height:0}),r={},n=new Ka(0,0,{autoResize:!0});for(var i in t){var a=t[i],o=n.packOne(a.data.width+2,a.data.height+2);e.resize({width:n.w,height:n.h}),ui.copy(a.data,e,{x:0,y:0},{x:o.x+1,y:o.y+1},a.data),r[i]=new Qa(o,a)}n.shrink(),e.resize({width:n.w,height:n.h}),this.image=e,this.positions=r};pr("ImagePosition",Qa),pr("ImageAtlas",eo);var ro=function(t,e,r,n,i){var a,o,s=8*i-n-1,l=(1<>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)},no=function(t,e,r,n,i,a){var o,s,l,c=8*a-i-1,u=(1<>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<0;t[r+p]=255&o,p+=d,o/=256,c-=8);t[r+p-d]|=128*g},io=ao;function ao(t){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(t)?t:new Uint8Array(t||0),this.pos=0,this.type=0,this.length=this.buf.length}function oo(t){return t.type===ao.Bytes?t.readVarint()+t.pos:t.pos+1}function so(t,e,r){return r?4294967296*e+(t>>>0):4294967296*(e>>>0)+(t>>>0)}function lo(t,e,r){var n=e<=16383?1:e<=2097151?2:e<=268435455?3:Math.ceil(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 co(t,e){for(var r=0;r>>8,t[r+2]=e>>>16,t[r+3]=e>>>24}function _o(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16)+(t[e+3]<<24)}ao.Varint=0,ao.Fixed64=1,ao.Bytes=2,ao.Fixed32=5,ao.prototype={destroy:function(){this.buf=null},readFields:function(t,e,r){for(r=r||this.length;this.pos>3,a=this.pos;this.type=7&n,t(i,e,this),this.pos===a&&this.skip(n)}return e},readMessage:function(t,e){return this.readFields(t,e,this.readVarint()+this.pos)},readFixed32:function(){var t=xo(this.buf,this.pos);return this.pos+=4,t},readSFixed32:function(){var t=_o(this.buf,this.pos);return this.pos+=4,t},readFixed64:function(){var t=xo(this.buf,this.pos)+4294967296*xo(this.buf,this.pos+4);return this.pos+=8,t},readSFixed64:function(){var t=xo(this.buf,this.pos)+4294967296*_o(this.buf,this.pos+4);return this.pos+=8,t},readFloat:function(){var t=ro(this.buf,this.pos,!0,23,4);return this.pos+=4,t},readDouble:function(){var t=ro(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 so(t,n,e);if(n|=(127&(i=a[r.pos++]))<<3,i<128)return so(t,n,e);if(n|=(127&(i=a[r.pos++]))<<10,i<128)return so(t,n,e);if(n|=(127&(i=a[r.pos++]))<<17,i<128)return so(t,n,e);if(n|=(127&(i=a[r.pos++]))<<24,i<128)return so(t,n,e);if(n|=(1&(i=a[r.pos++]))<<31,i<128)return so(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=function(t,e,r){for(var n="",i=e;i239?4:l>223?3:l>191?2:1;if(i+u>r)break;1===u?l<128&&(c=l):2===u?128==(192&(a=t[i+1]))&&(c=(31&l)<<6|63&a)<=127&&(c=null):3===u?(a=t[i+1],o=t[i+2],128==(192&a)&&128==(192&o)&&((c=(15&l)<<12|(63&a)<<6|63&o)<=2047||c>=55296&&c<=57343)&&(c=null)):4===u&&(a=t[i+1],o=t[i+2],s=t[i+3],128==(192&a)&&128==(192&o)&&128==(192&s)&&((c=(15&l)<<18|(63&a)<<12|(63&o)<<6|63&s)<=65535||c>=1114112)&&(c=null)),null===c?(c=65533,u=1):c>65535&&(c-=65536,n+=String.fromCharCode(c>>>10&1023|55296),c=56320|1023&c),n+=String.fromCharCode(c),i+=u}return n}(this.buf,this.pos,t);return this.pos=t,e},readBytes:function(){var t=this.readVarint()+this.pos,e=this.buf.subarray(this.pos,t);return this.pos=t,e},readPackedVarint:function(t,e){var r=oo(this);for(t=t||[];this.pos127;);else if(e===ao.Bytes)this.pos=this.readVarint()+this.pos;else if(e===ao.Fixed32)this.pos+=4;else{if(e!==ao.Fixed64)throw new Error("Unimplemented type: "+e);this.pos+=8}},writeTag:function(t,e){this.writeVarint(t<<3|e)},realloc:function(t){for(var e=this.length||16;e268435455||t<0?function(t,e){var r,n;if(t>=0?(r=t%4294967296|0,n=t/4294967296|0):(n=~(-t/4294967296),4294967295^(r=~(-t%4294967296))?r=r+1|0:(r=0,n=n+1|0)),t>=0x10000000000000000||t<-0x10000000000000000)throw new Error("Given varint doesn't fit into 10 bytes");e.realloc(10),function(t,e,r){r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos]=127&t}(r,0,e),function(t,e){var r=(7&t)<<4;e.buf[e.pos++]|=r|((t>>>=3)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t)))))}(n,e)}(t,this):(this.realloc(4),this.buf[this.pos++]=127&t|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=t>>>7&127))))},writeSVarint:function(t){this.writeVarint(t<0?2*-t-1:2*t)},writeBoolean:function(t){this.writeVarint(Boolean(t))},writeString:function(t){t=String(t),this.realloc(4*t.length),this.pos++;var e=this.pos;this.pos=function(t,e,r){for(var n,i,a=0;a55295&&n<57344){if(!i){n>56319||a+1===e.length?(t[r++]=239,t[r++]=191,t[r++]=189):i=n;continue}if(n<56320){t[r++]=239,t[r++]=191,t[r++]=189,i=n;continue}n=i-55296<<10|n-56320|65536,i=null}else i&&(t[r++]=239,t[r++]=191,t[r++]=189,i=null);n<128?t[r++]=n:(n<2048?t[r++]=n>>6|192:(n<65536?t[r++]=n>>12|224:(t[r++]=n>>18|240,t[r++]=n>>12&63|128),t[r++]=n>>6&63|128),t[r++]=63&n|128)}return r}(this.buf,t,this.pos);var r=this.pos-e;r>=128&&lo(e,r,this),this.pos=e-1,this.writeVarint(r),this.pos+=r},writeFloat:function(t){this.realloc(4),no(this.buf,t,this.pos,!0,23,4),this.pos+=4},writeDouble:function(t){this.realloc(8),no(this.buf,t,this.pos,!0,52,8),this.pos+=8},writeBytes:function(t){var e=t.length;this.writeVarint(e),this.realloc(e);for(var r=0;r=128&&lo(r,n,this),this.pos=r-1,this.writeVarint(n),this.pos+=n},writeMessage:function(t,e,r){this.writeTag(t,ao.Bytes),this.writeRawMessage(e,r)},writePackedVarint:function(t,e){this.writeMessage(t,co,e)},writePackedSVarint:function(t,e){this.writeMessage(t,uo,e)},writePackedBoolean:function(t,e){this.writeMessage(t,po,e)},writePackedFloat:function(t,e){this.writeMessage(t,fo,e)},writePackedDouble:function(t,e){this.writeMessage(t,ho,e)},writePackedFixed32:function(t,e){this.writeMessage(t,go,e)},writePackedSFixed32:function(t,e){this.writeMessage(t,vo,e)},writePackedFixed64:function(t,e){this.writeMessage(t,mo,e)},writePackedSFixed64:function(t,e){this.writeMessage(t,yo,e)},writeBytesField:function(t,e){this.writeTag(t,ao.Bytes),this.writeBytes(e)},writeFixed32Field:function(t,e){this.writeTag(t,ao.Fixed32),this.writeFixed32(e)},writeSFixed32Field:function(t,e){this.writeTag(t,ao.Fixed32),this.writeSFixed32(e)},writeFixed64Field:function(t,e){this.writeTag(t,ao.Fixed64),this.writeFixed64(e)},writeSFixed64Field:function(t,e){this.writeTag(t,ao.Fixed64),this.writeSFixed64(e)},writeVarintField:function(t,e){this.writeTag(t,ao.Varint),this.writeVarint(e)},writeSVarintField:function(t,e){this.writeTag(t,ao.Varint),this.writeSVarint(e)},writeStringField:function(t,e){this.writeTag(t,ao.Bytes),this.writeString(e)},writeFloatField:function(t,e){this.writeTag(t,ao.Fixed32),this.writeFloat(e)},writeDoubleField:function(t,e){this.writeTag(t,ao.Fixed64),this.writeDouble(e)},writeBooleanField:function(t,e){this.writeVarintField(t,Boolean(e))}};var wo=3;function ko(t,e,r){1===t&&r.readMessage(Ao,e)}function Ao(t,e,r){if(3===t){var n=r.readMessage(Mo,{}),i=n.id,a=n.bitmap,o=n.width,s=n.height,l=n.left,c=n.top,u=n.advance;e.push({id:i,bitmap:new ci({width:o+2*wo,height:s+2*wo},a),metrics:{width:o,height:s,left:l,top:c,advance:u}})}}function Mo(t,e,r){1===t?e.id=r.readVarint():2===t?e.bitmap=r.readBytes():3===t?e.width=r.readVarint():4===t?e.height=r.readVarint():5===t?e.left=r.readSVarint():6===t?e.top=r.readSVarint():7===t&&(e.advance=r.readVarint())}var To=wo,So=function(t,e,r){this.target=t,this.parent=e,this.mapId=r,this.callbacks={},this.callbackID=0,g(["receive"],this),this.target.addEventListener("message",this.receive,!1)};So.prototype.send=function(t,e,r,n){var i=r?this.mapId+":"+this.callbackID++:null;r&&(this.callbacks[i]=r);var a=[];this.target.postMessage({targetMapId:n,sourceMapId:this.mapId,type:t,id:String(i),data:gr(e,a)},a)},So.prototype.receive=function(t){var e,r=this,n=t.data,i=n.id;if(!n.targetMapId||this.mapId===n.targetMapId){var a=function(t,e){var n=[];r.target.postMessage({sourceMapId:r.mapId,type:"",id:String(i),error:t?gr(t):null,data:gr(e,n)},n)};if(""===n.type)e=this.callbacks[n.id],delete this.callbacks[n.id],e&&n.error?e(vr(n.error)):e&&e(null,vr(n.data));else if(void 0!==n.id&&this.parent[n.type])this.parent[n.type](n.sourceMapId,vr(n.data),a);else if(void 0!==n.id&&this.parent.getWorkerSource){var o=n.type.split(".");this.parent.getWorkerSource(n.sourceMapId,o[0],o[1])[o[2]](vr(n.data),a)}else this.parent[n.type](vr(n.data))}},So.prototype.remove=function(){this.target.removeEventListener("message",this.receive,!1)};var Co=n(i(function(t,e){!function(t){function e(t,e,n){var i=r(256*t,256*(e=Math.pow(2,n)-e-1),n),a=r(256*(t+1),256*(e+1),n);return i[0]+","+i[1]+","+a[0]+","+a[1]}function r(t,e,r){var n=2*Math.PI*6378137/256/Math.pow(2,r);return[t*n-2*Math.PI*6378137/2,e*n-2*Math.PI*6378137/2]}t.getURL=function(t,r,n,i,a,o){return o=o||{},t+"?"+["bbox="+e(n,i,a),"format="+(o.format||"image/png"),"service="+(o.service||"WMS"),"version="+(o.version||"1.1.1"),"request="+(o.request||"GetMap"),"srs="+(o.srs||"EPSG:3857"),"width="+(o.width||256),"height="+(o.height||256),"layers="+r].join("&")},t.getTileBBox=e,t.getMercCoords=r,Object.defineProperty(t,"__esModule",{value:!0})}(e)})),Eo=function(t,e,r){this.z=t,this.x=e,this.y=r,this.key=Oo(0,t,e,r)};Eo.prototype.equals=function(t){return this.z===t.z&&this.x===t.x&&this.y===t.y},Eo.prototype.url=function(t,e){var r=Co.getTileBBox(this.x,this.y,this.z),n=function(t,e,r){for(var n,i="",a=t;a>0;a--)i+=(e&(n=1<this.canonical.z?new zo(t,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new zo(t,this.wrap,t,this.canonical.x>>e,this.canonical.y>>e)},zo.prototype.isChildOf=function(t){var e=this.canonical.z-t.canonical.z;return 0===t.overscaledZ||t.overscaledZ>e&&t.canonical.y===this.canonical.y>>e},zo.prototype.children=function(t){if(this.overscaledZ>=t)return[new zo(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 zo(e,this.wrap,e,r,n),new zo(e,this.wrap,e,r+1,n),new zo(e,this.wrap,e,r,n+1),new zo(e,this.wrap,e,r+1,n+1)]},zo.prototype.isLessThan=function(t){return this.wrapt.wrap)&&(this.overscaledZt.overscaledZ)&&(this.canonical.xt.canonical.x)&&this.canonical.y=this.dim+this.border||e<-this.border||e>=this.dim+this.border)throw new RangeError("out of range source coordinates for DEM data");return(e+this.border)*this.stride+(t+this.border)},pr("Level",Io);var Do=function(t,e,r){this.uid=t,this.scale=e||1,this.level=r||new Io(256,512),this.loaded=!!r};Do.prototype.loadFromImage=function(t,e){if(t.height!==t.width)throw new RangeError("DEM tiles must be square");if(e&&"mapbox"!==e&&"terrarium"!==e)return _('"'+e+'" is not a valid encoding type. Valid types include "mapbox" and "terrarium".');var r=this.level=new Io(t.width,t.width/2),n=t.data;this._unpackData(r,n,e||"mapbox");for(var i=0;i=0&&l[3]>=0&&this.grid.insert(a,l[0],l[1],l[2],l[3])}},Bo.prototype.loadVTLayers=function(){return this.vtLayers||(this.vtLayers=new ga.VectorTile(new io(this.rawTileData)).layers,this.sourceLayerCoder=new Po(this.vtLayers?Object.keys(this.vtLayers).sort():["_geojsonTileLayer"])),this.vtLayers},Bo.prototype.query=function(t,e){var r=this;this.loadVTLayers();for(var n=t.params||{},i=Pn/t.tileSize/t.scale,a=Re(n.filter),o=t.queryGeometry,s=t.queryPadding*i,l=1/0,c=1/0,u=-1/0,f=-1/0,h=0;h=0)return!0;return!1}(a,l)){var c=this.sourceLayerCoder.decode(r),u=this.vtLayers[c].feature(n);if(i(new Lr(this.tileID.overscaledZ),u))for(var f=0;f=200&&r.status<300&&r.response){var n;try{n=JSON.parse(r.response)}catch(t){return e(t)}e(null,n)}else 401===r.status&&t.url.match(/mapbox.com/)?e(new M(r.statusText+": you may have provided an invalid Mapbox access token. See https://www.mapbox.com/api-documentation/#access-tokens",r.status,t.url)):e(new M(r.statusText,r.status,t.url))},r.send(),r},e.getImage=function(t,e){return S(t,function(t,r){if(t)e(t);else if(r){var n=new self.Image,i=self.URL||self.webkitURL;n.onload=function(){e(null,n),i.revokeObjectURL(n.src)};var a=new self.Blob([new Uint8Array(r.data)],{type:"image/png"});n.cacheControl=r.cacheControl,n.expires=r.expires,n.src=r.data.byteLength?i.createObjectURL(a):"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII="}})},e.ResourceType=A,e.RGBAImage=ui,e.default$2=Ka,e.ImagePosition=Qa,e.getArrayBuffer=S,e.default$3=function(t){return new io(t).readFields(ko,[])},e.default$4=yr,e.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)})})},e.AlphaImage=ci,e.default$5=I,e.endsWith=v,e.extend=p,e.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)}},e.Evented=O,e.validateStyle=nr,e.validateLight=ir,e.emitValidationErrors=sr,e.default$6=tt,e.number=wt,e.Properties=qr,e.Transitionable=Ir,e.Transitioning=Pr,e.PossiblyEvaluated=Br,e.DataConstantProperty=Nr,e.warnOnce=_,e.uniqueId=function(){return d++},e.default$7=So,e.pick=function(t,e){for(var r={},n=0;n@\,;\:\\"\/\[\]\?\=\{\}\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},e.default$11=Bo,e.default$12=Ro,e.default$13=Re,e.default$14=Ha,e.CollisionBoxArray=vn,e.default$15=Tn,e.TriangleIndexArray=fn,e.default$16=Lr,e.default$17=s,e.keysDifference=function(t,e){var r=[];for(var n in t)n in e||r.push(n);return r},e.default$18=["type","source","source-layer","minzoom","maxzoom","filter","layout"],e.mat4=ri,e.vec4=ei,e.getSizeData=Fa,e.evaluateSizeForFeature=function(t,e,r){var n=e;return"source"===t.functionType?r.lowerSize/10:"composite"===t.functionType?wt(r.lowerSize/10,r.upperSize/10,n.uSizeT):n.uSize},e.evaluateSizeForZoom=function(t,e,r){if("constant"===t.functionType)return{uSizeT:0,uSize:t.layoutSize};if("source"===t.functionType)return{uSizeT:0,uSize:0};if("camera"===t.functionType){var n=t.propertyValue,i=t.zoomRange,a=t.sizeRange,o=h(Se(n,r.specification).interpolationFactor(e,i.min,i.max),0,1);return{uSizeT:0,uSize:a.min+o*(a.max-a.min)}}var s=t.propertyValue,l=t.zoomRange;return{uSizeT:h(Se(s,r.specification).interpolationFactor(e,l.min,l.max),0,1),uSize:0}},e.addDynamicAttributes=Va,e.default$19=Wa,e.WritingMode=jo,e.multiPolygonIntersectsBufferedPoint=jn,e.multiPolygonIntersectsMultiPolygon=Vn,e.multiPolygonIntersectsBufferedMultiLine=Un,e.polygonIntersectsPolygon=function(t,e){for(var r=0;r-r/2;){if(--o<0)return!1;s-=t[o].dist(a),a=t[o]}s+=t[o].dist(t[o+1]),o++;for(var l=[],c=0;sn;)c-=l.shift().angleDelta;if(c>i)return!1;o++,s+=f.dist(h)}return!0}function a(e,r,n,a,o,s,l,c,u){var f=a?.6*s*l:0,h=Math.max(a?a.right-a.left:0,o?o.right-o.left:0),p=0===e[0].x||e[0].x===u||0===e[0].y||e[0].y===u;return r-h*l=0&&A=0&&M=0&&v+h<=p){var T=new t.default$25(A,M,w,y);T._round(),o&&!i(r,T,l,o,s)||m.push(T)}}g+=_}return u||m.length||c||(m=e(r,g/2,a,o,s,l,c,!0,f)),m}(e,p?r/2*c%r:(h/2+2*s)*l*c%r,r,f,n,h*l,p,!1,u)}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;a0&&(g=Math.max(10*s,g),this._addLineCollisionCircles(t,e,r,r.segment,v,g,n,i,a,u))}else t.emplaceBack(r.x,r.y,p,f,d,h,n,i,a,0,0);this.boxEndIndex=t.length};s.prototype._addLineCollisionCircles=function(t,e,r,n,i,a,o,s,l,c){var u=a/2,f=Math.floor(i/u),h=1+.4*Math.log(c)/Math.LN2,p=Math.floor(f*h/2),d=-a/2,g=r,v=n+1,m=d,y=-i/2,x=y-i/4;do{if(--v<0){if(m>y)return;v=0;break}m-=e[v].dist(g),g=e[v]}while(m>x);for(var b=e[v].dist(e[v+1]),_=-p;_i&&(k+=w-i),!(k=e.length)return;b=e[v].dist(e[v+1])}var A=k-m,M=e[v],T=e[v+1].sub(M)._unit()._mult(A)._add(M)._round(),S=Math.abs(k-d)0)for(var r=(this.length>>1)-1;r>=0;r--)this._down(r)}function f(t,e){return te?1:0}function h(e,r,n){void 0===r&&(r=1),void 0===n&&(n=!1);for(var i=1/0,a=1/0,o=-1/0,s=-1/0,c=e[0],u=0;uo)&&(o=f.x),(!u||f.y>s)&&(s=f.y)}var h=o-i,g=s-a,v=Math.min(h,g),m=v/2,y=new l(null,p);if(0===v)return new t.default$1(i,a);for(var x=i;x_.d||!_.d)&&(_=k,n&&console.log("found best %d after %d probes",Math.round(1e4*k.d)/1e4,w)),k.max-_.d<=r||(m=k.h/2,y.push(new d(k.p.x-m,k.p.y-m,m,e)),y.push(new d(k.p.x+m,k.p.y-m,m,e)),y.push(new d(k.p.x-m,k.p.y+m,m,e)),y.push(new d(k.p.x+m,k.p.y+m,m,e)),w+=4)}return n&&(console.log("num probes: "+w),console.log("best distance: "+_.d)),_.p}function p(t,e){return e.max-t.max}function d(e,r,n,i){this.p=new t.default$1(e,r),this.h=n,this.d=function(e,r){for(var n=!1,i=1/0,a=0;ae.y!=f.y>e.y&&e.x<(f.x-u.x)*(e.y-u.y)/(f.y-u.y)+u.x&&(n=!n),i=Math.min(i,t.distToSegmentSquared(e,u,f))}return(n?1:-1)*Math.sqrt(i)}(this.p,i),this.max=this.d+this.h*Math.SQRT2}function g(e,r,n,i,a,o){e.createArrays(),e.symbolInstances=[];var s=512*e.overscaling;e.tilePixelRatio=t.default$8/s,e.compareText={},e.iconsNeedLinear=!1;var l=e.layers[0].layout,c=e.layers[0]._unevaluatedLayout._values,u={};if("composite"===e.textSizeData.functionType){var f=e.textSizeData.zoomRange,h=f.min,p=f.max;u.compositeTextSizes=[c["text-size"].possiblyEvaluate(new t.default$16(h)),c["text-size"].possiblyEvaluate(new t.default$16(p))]}if("composite"===e.iconSizeData.functionType){var d=e.iconSizeData.zoomRange,g=d.min,m=d.max;u.compositeIconSizes=[c["icon-size"].possiblyEvaluate(new t.default$16(g)),c["icon-size"].possiblyEvaluate(new t.default$16(m))]}u.layoutTextSize=c["text-size"].possiblyEvaluate(new t.default$16(e.zoom+1)),u.layoutIconSize=c["icon-size"].possiblyEvaluate(new t.default$16(e.zoom+1)),u.textMaxSize=c["text-size"].possiblyEvaluate(new t.default$16(18));for(var y=24*l.get("text-line-height"),x="map"===l.get("text-rotation-alignment")&&"line"===l.get("symbol-placement"),b=l.get("text-keep-upright"),_=0,w=e.features;_=t.default$8||u.y<0||u.y>=t.default$8||e.symbolInstances.push(function(e,r,n,i,a,l,c,u,f,h,p,d,g,v,y,x,b,_,w,k,A){var M,T,S=e.addToLineVertexArray(r,n),C=0,E=0,L=0,z=i.horizontal?i.horizontal.text:"",O=[];i.horizontal&&(M=new s(c,n,r,u,f,h,i.horizontal,p,d,g,e.overscaling),E+=m(e,r,i.horizontal,l,g,w,v,S,i.vertical?t.WritingMode.horizontal:t.WritingMode.horizontalOnly,O,k,A),i.vertical&&(L+=m(e,r,i.vertical,l,g,w,v,S,t.WritingMode.vertical,O,k,A)));var I=M?M.boxStartIndex:e.collisionBoxArray.length,D=M?M.boxEndIndex:e.collisionBoxArray.length;if(a){var P=function(e,r,n,i,a,o){var s,l,c,u,f=r.image,h=n.layout,p=r.top-1/f.pixelRatio,d=r.left-1/f.pixelRatio,g=r.bottom+1/f.pixelRatio,v=r.right+1/f.pixelRatio;if("none"!==h.get("icon-text-fit")&&a){var m=v-d,y=g-p,x=h.get("text-size").evaluate(o)/24,b=a.left*x,_=a.right*x,w=a.top*x,k=_-b,A=a.bottom*x-w,M=h.get("icon-text-fit-padding")[0],T=h.get("icon-text-fit-padding")[1],S=h.get("icon-text-fit-padding")[2],C=h.get("icon-text-fit-padding")[3],E="width"===h.get("icon-text-fit")?.5*(A-y):0,L="height"===h.get("icon-text-fit")?.5*(k-m):0,z="width"===h.get("icon-text-fit")||"both"===h.get("icon-text-fit")?k:m,O="height"===h.get("icon-text-fit")||"both"===h.get("icon-text-fit")?A:y;s=new t.default$1(b+L-C,w+E-M),l=new t.default$1(b+L+T+z,w+E-M),c=new t.default$1(b+L+T+z,w+E+S+O),u=new t.default$1(b+L-C,w+E+S+O)}else s=new t.default$1(d,p),l=new t.default$1(v,p),c=new t.default$1(v,g),u=new t.default$1(d,g);var I=n.layout.get("icon-rotate").evaluate(o)*Math.PI/180;if(I){var D=Math.sin(I),P=Math.cos(I),R=[P,-D,D,P];s._matMult(R),l._matMult(R),u._matMult(R),c._matMult(R)}return[{tl:s,tr:l,bl:u,br:c,tex:f.paddedRect,writingMode:void 0,glyphOffset:[0,0]}]}(0,a,l,0,i.horizontal,w);T=new s(c,n,r,u,f,h,a,y,x,!1,e.overscaling),C=4*P.length;var R=e.iconSizeData,F=null;"source"===R.functionType?F=[10*l.layout.get("icon-size").evaluate(w)]:"composite"===R.functionType&&(F=[10*A.compositeIconSizes[0].evaluate(w),10*A.compositeIconSizes[1].evaluate(w)]),e.addSymbols(e.icon,P,F,_,b,w,!1,r,S.lineStartIndex,S.lineLength)}var B=T?T.boxStartIndex:e.collisionBoxArray.length,N=T?T.boxEndIndex:e.collisionBoxArray.length;return e.glyphOffsetArray.length>=t.default$14.MAX_GLYPHS&&t.warnOnce("Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907"),{key:z,textBoxStartIndex:I,textBoxEndIndex:D,iconBoxStartIndex:B,iconBoxEndIndex:N,textOffset:v,iconOffset:_,anchor:r,line:n,featureIndex:u,feature:w,numGlyphVertices:E,numVerticalGlyphVertices:L,numIconVertices:C,textOpacityState:new o,iconOpacityState:new o,isDuplicate:!1,placedTextSymbolIndices:O,crossTileID:0}}(e,u,a,n,i,e.layers[0],e.collisionBoxArray,r.index,r.sourceLayerIndex,e.index,b,A,S,g,w,M,C,v,r,l,c))};if("line"===d.get("symbol-placement"))for(var z=0,O=function(e,r,n,i,a){for(var o=[],s=0;s=i&&h.x>=i||(f.x>=i?f=new t.default$1(i,f.y+(h.y-f.y)*((i-f.x)/(h.x-f.x)))._round():h.x>=i&&(h=new t.default$1(i,f.y+(h.y-f.y)*((i-f.x)/(h.x-f.x)))._round()),f.y>=a&&h.y>=a||(f.y>=a?f=new t.default$1(f.x+(h.x-f.x)*((a-f.y)/(h.y-f.y)),a)._round():h.y>=a&&(h=new t.default$1(f.x+(h.x-f.x)*((a-f.y)/(h.y-f.y)),a)._round()),c&&f.equals(c[c.length-1])||(c=[f],o.push(c)),c.push(h)))))}return o}(r.geometry,0,0,t.default$8,t.default$8);z=0;o--)if(n.dist(a[o])0&&(this.data[0]=this.data[this.length],this._down(0)),this.data.pop(),t}},peek:function(){return this.data[0]},_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},_down:function(t){for(var e=this.data,r=this.compare,n=this.length>>1,i=e[t];t=0)break;e[t]=s,t=a}e[t]=i}},l.default=c;var x=function(e){var r=new t.AlphaImage({width:0,height:0}),n={},i=new t.default$2(0,0,{autoResize:!0});for(var a in e){var o=e[a],s=n[a]={};for(var l in o){var c=o[+l];if(c&&0!==c.bitmap.width&&0!==c.bitmap.height){var u=i.packOne(c.bitmap.width+2,c.bitmap.height+2);r.resize({width:i.w,height:i.h}),t.AlphaImage.copy(c.bitmap,r,{x:0,y:0},{x:u.x+1,y:u.y+1},c.bitmap),s[l]={rect:u,metrics:c.metrics}}}}i.shrink(),r.resize({width:i.w,height:i.h}),this.image=r,this.positions=n};t.register("GlyphAtlas",x);var b=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};function _(e,r){for(var n=new t.default$16(r),i=0,a=e;i=T.maxzoom||"none"!==T.visibility&&(_(M,a.zoom),(f[T.id]=T.createBucket({index:s.bucketLayerIDs.length,layers:M,zoom:a.zoom,pixelRatio:a.pixelRatio,overscaling:a.overscaling,collisionBoxArray:a.collisionBoxArray,sourceLayerIndex:m})).populate(y,h),s.bucketLayerIDs.push(M.map(function(t){return t.id})))}}}var S=t.mapObject(h.glyphDependencies,function(t){return Object.keys(t).map(Number)});Object.keys(S).length?n.send("getGlyphs",{uid:this.uid,stacks:S},function(t,e){l||(l=t,c=e,E.call(a))}):c={};var C=Object.keys(h.iconDependencies);function E(){if(l)return i(l);if(c&&u){var e=new x(c),r=new t.default$28(u);for(var n in f){var a=f[n];a instanceof t.default$14&&(_(a.layers,this.zoom),g(a,c,e.positions,u,r.positions,this.showCollisionBoxes))}this.status="done",i(null,{buckets:t.values(f).filter(function(t){return!t.isEmpty()}),featureIndex:s,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:e.image,iconAtlasImage:r.image})}}C.length?n.send("getImages",{icons:C},function(t,e){l||(l=t,u=e,E.call(a))}):u={},E.call(this)};var w=function(t){return!(!performance||!performance.getEntriesByName)&&performance.getEntriesByName(t)};function k(e,r){var n=t.getArrayBuffer(e.request,function(e,n){e?r(e):n&&r(null,{vectorTile:new t.default$29.VectorTile(new t.default$30(n.data)),rawData:n.data,cacheControl:n.cacheControl,expires:n.expires})});return function(){n.abort(),r()}}var A=function(t,e,r){this.actor=t,this.layerIndex=e,this.loadVectorData=r||k,this.loading={},this.loaded={}};A.prototype.loadTile=function(e,r){var n=this,i=e.uid;this.loading||(this.loading={});var a=this.loading[i]=new b(e);a.abort=this.loadVectorData(e,function(o,s){if(delete n.loading[i],o||!s)return r(o);var l=s.rawData,c={};s.expires&&(c.expires=s.expires),s.cacheControl&&(c.cacheControl=s.cacheControl);var u={};if(e.request&&e.request.collectResourceTiming){var f=w(e.request.url);f&&(u.resourceTiming=JSON.parse(JSON.stringify(f)))}a.vectorTile=s.vectorTile,a.parse(s.vectorTile,n.layerIndex,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]=a})},A.prototype.reloadTile=function(t,e){var r=this.loaded,n=t.uid,i=this;if(r&&r[n]){var a=r[n];a.showCollisionBoxes=t.showCollisionBoxes;var o=function(t,r){var n=a.reloadCallback;n&&(delete a.reloadCallback,a.parse(a.vectorTile,i.layerIndex,i.actor,n)),e(t,r)};"parsing"===a.status?a.reloadCallback=o:"done"===a.status&&a.parse(a.vectorTile,this.layerIndex,this.actor,o)}},A.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()},A.prototype.removeTile=function(t,e){var r=this.loaded,n=t.uid;r&&r[n]&&delete r[n],e()};var M=function(){this.loading={},this.loaded={}};M.prototype.loadTile=function(e,r){var n=e.uid,i=e.encoding,a=new t.default$31(n);this.loading[n]=a,a.loadFromImage(e.rawImageData,i),delete this.loading[n],this.loaded=this.loaded||{},this.loaded[n]=a,r(null,a)},M.prototype.removeTile=function(t){var e=this.loaded,r=t.uid;e&&e[r]&&delete e[r]};var T={RADIUS:6378137,FLATTENING:1/298.257223563,POLAR_RADIUS:6356752.3142};function S(t){var e=0;if(t&&t.length>0){e+=Math.abs(C(t[0]));for(var r=1;r2){for(o=0;o=0}(t)===e?t:t.reverse()}var D=t.default$29.VectorTileFeature.prototype.toGeoJSON,P=function(e){this._feature=e,this.extent=t.default$8,this.type=e.type,this.properties=e.tags,"id"in e&&!isNaN(e.id)&&(this.id=parseInt(e.id,10))};P.prototype.loadGeometry=function(){if(1===this._feature.type){for(var e=[],r=0,n=this._feature.geometry;r>31}function $(t,e){for(var r=t.loadGeometry(),n=t.type,i=0,a=0,o=r.length,s=0;si;){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(Q(e,r,i,n),r[2*a+o]>h&&Q(e,r,i,a);ph;)d--}r[2*i+o]===h?Q(e,r,i,d):Q(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)}};function Q(t,e,r,n){tt(t,r,n),tt(e,2*r,2*n),tt(e,2*r+1,2*n+1)}function tt(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function et(t,e,r,n){var i=t-r,a=e-n;return i*i+a*a}var rt=function(t,e,r,n,i){return new nt(t,e,r,n,i)};function nt(t,e,r,n,i){e=e||it,r=r||at,i=i||Array,this.nodeSize=n||64,this.points=t,this.ids=new i(t.length),this.coords=new i(2*t.length);for(var a=0;a=r&&s<=i&&l>=n&&l<=a&&u.push(t[d]);else{var g=Math.floor((p+h)/2);s=e[2*g],l=e[2*g+1],s>=r&&s<=i&&l>=n&&l<=a&&u.push(t[g]);var v=(f+1)%2;(0===f?r<=s:n<=l)&&(c.push(p),c.push(g-1),c.push(v)),(0===f?i>=s:a>=l)&&(c.push(g+1),c.push(h),c.push(v))}}return u}(this.ids,this.coords,t,e,r,n,this.nodeSize)},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++)et(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];et(d,g,r,n)<=l&&s.push(t[p]);var v=(c+1)%2;(0===c?r-i<=d:n-i<=g)&&(o.push(f),o.push(p-1),o.push(v)),(0===c?r+i>=d:n+i>=g)&&(o.push(p+1),o.push(u),o.push(v))}}return s}(this.ids,this.coords,t,e,r,this.nodeSize)}};function ot(t){this.options=pt(Object.create(this.options),t),this.trees=new Array(this.options.maxZoom+1)}function st(t,e,r,n,i){return{x:t,y:e,zoom:1/0,id:n,properties:i,parentId:-1,numPoints:r}}function lt(t,e){var r=t.geometry.coordinates;return{x:ft(r[0]),y:ht(r[1]),zoom:1/0,id:e,parentId:-1}}function ct(t){return{type:"Feature",properties:ut(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 ut(t){var e=t.numPoints,r=e>=1e4?Math.round(e/1e3)+"k":e>=1e3?Math.round(e/100)/10+"k":e;return pt(pt({},t.properties),{cluster:!0,cluster_id:t.id,point_count:e,point_count_abbreviated:r})}function ft(t){return t/360+.5}function ht(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 pt(t,e){for(var r in e)t[r]=e[r];return t}function dt(t){return t.x}function gt(t){return t.y}function vt(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 mt(t,e,r,n){var i={id:t||null,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)yt(t,e);else if("Polygon"===r||"MultiLineString"===r)for(var n=0;n0&&(o+=n?(i*c-l*a)/2:Math.sqrt(Math.pow(l-i,2)+Math.pow(c-a,2))),i=l,a=c}var u=e.length-3;e[2]=1,function t(e,r,n,i){for(var a,o=i,s=e[r],l=e[r+1],c=e[n],u=e[n+1],f=r+3;fo&&(a=f,o=h)}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 wt(t,e,r,n){for(var i=0;i1?1:r}function Mt(t,e,r,n,i,a,o,s){if(n/=e,a>=(r/=e)&&o<=n)return t;if(a>n||o=r&&d<=n)l.push(u);else if(!(p>n||d=r&&o<=n&&(e.push(t[a]),e.push(t[a+1]),e.push(t[a+2]))}}function St(t,e,r,n,i,a,o){for(var s,l,c=Ct(t),u=0===i?zt:Ot,f=t.start,h=0;h=r&&(l=u(c,p,d,v,m,r),o&&(c.start=f+s*l)):y>n?x<=n&&(l=u(c,p,d,v,m,n),o&&(c.start=f+s*l)):Lt(c,p,d,g),x=r&&(l=u(c,p,d,v,m,r),b=!0),x>n&&y<=n&&(l=u(c,p,d,v,m,n),b=!0),!a&&b&&(o&&(c.end=f+s*l),e.push(c),c=Ct(t)),o&&(f+=s)}var _=t.length-3;p=t[_],d=t[_+1],g=t[_+2],(y=0===i?p:d)>=r&&y<=n&&Lt(c,p,d,g),_=c.length-3,a&&_>=3&&(c[_]!==c[0]||c[_+1]!==c[1])&&Lt(c,c[0],c[1],c[2]),c.length&&e.push(c)}function Ct(t){var e=[];return e.size=t.size,e.start=t.start,e.end=t.end,e}function Et(t,e,r,n,i,a){for(var o=0;oo.maxX&&(o.maxX=u),f>o.maxY&&(o.maxY=f)}return o}function Bt(t,e,r,n){var i=e.geometry,a=e.type,o=[];if("Point"===a||"MultiPoint"===a)for(var s=0;s0&&e.size<(i?o:n))r.numPoints+=e.length/3;else{for(var s=[],l=0;lo)&&(r.numSimplified++,s.push(e[l]),s.push(e[l+1])),r.numPoints++;i&&function(t,e){for(var r=0,n=0,i=t.length,a=i-2;n0===e)for(n=0,i=t.length;n24)throw new Error("maxZoom should be in the 0-24 range");var n=function(t,e){var r=[];if("FeatureCollection"===t.type)for(var n=0;n=this.options.minZoom;i--){var a=+Date.now();this.trees[i+1]=rt(n,dt,gt,this.options.nodeSize,Float32Array),n=this._cluster(n,i),e&&console.log("z%d: %d clusters in %dms",i,n.length,+Date.now()-a)}return this.trees[this.options.minZoom]=rt(n,dt,gt,this.options.nodeSize,Float32Array),e&&console.timeEnd("total time"),this},getClusters:function(t,e){for(var r=this.trees[this._limitZoom(e)],n=r.range(ft(t[0]),ht(t[3]),ft(t[2]),ht(t[1])),i=[],a=0;a1&&console.time("creation"),h=this.tiles[f]=Ft(t,e,r,n,l),this.tileCoords.push({z:e,x:r,y:n}),c)){c>1&&(console.log("tile z%d-%d-%d (features: %d, points: %d, simplified: %d)",e,r,n,h.numFeatures,h.numPoints,h.numSimplified),console.timeEnd("creation"));var p="z"+e;this.stats[p]=(this.stats[p]||0)+1,this.total++}if(h.source=t,i){if(e===l.maxZoom||e===i)continue;var d=1<1&&console.time("clipping");var g,v,m,y,x,b,_=.5*l.buffer/l.extent,w=.5-_,k=.5+_,A=1+_;g=v=m=y=null,x=Mt(t,u,r-_,r+k,0,h.minX,h.maxX,l),b=Mt(t,u,r+w,r+A,0,h.minX,h.maxX,l),t=null,x&&(g=Mt(x,u,n-_,n+k,1,h.minY,h.maxY,l),v=Mt(x,u,n+w,n+A,1,h.minY,h.maxY,l),x=null),b&&(m=Mt(b,u,n-_,n+k,1,h.minY,h.maxY,l),y=Mt(b,u,n+w,n+A,1,h.minY,h.maxY,l),b=null),c>1&&console.timeEnd("clipping"),s.push(g||[],e+1,2*r,2*n),s.push(v||[],e+1,2*r,2*n+1),s.push(m||[],e+1,2*r+1,2*n),s.push(y||[],e+1,2*r+1,2*n+1)}}},jt.prototype.getTile=function(t,e,r){var n=this.options,i=n.extent,a=n.debug;if(t<0||t>24)return null;var o=1<1&&console.log("drilling down to z%d-%d-%d",t,e,r);for(var l,c=t,u=e,f=r;!l&&c>0;)c--,u=Math.floor(u/2),f=Math.floor(f/2),l=this.tiles[Vt(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]?Pt(this.tiles[s],i):null):null};var qt=function(e){function r(t,r,n){e.call(this,t,r,Ut),n&&(this.loadGeoJSON=n)}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.loadData=function(t,e){this._pendingCallback&&this._pendingCallback(null,{abandoned:!0}),this._pendingCallback=e,this._pendingLoadDataParams=t,this._state&&"Idle"!==this._state?this._state="NeedsLoadData":(this._state="Coalescing",this._loadData())},r.prototype._loadData=function(){var t=this;if(this._pendingCallback&&this._pendingLoadDataParams){var e=this._pendingCallback,r=this._pendingLoadDataParams;delete this._pendingCallback,delete this._pendingLoadDataParams,this.loadGeoJSON(r,function(n,i){if(n||!i)return e(n);if("object"!=typeof i)return e(new Error("Input data is not a valid GeoJSON object."));!function t(e,r){switch(e&&e.type||null){case"FeatureCollection":return e.features=e.features.map(z(t,r)),e;case"Feature":return e.geometry=t(e.geometry,r),e;case"Polygon":case"MultiPolygon":return function(t,e){return"Polygon"===t.type?t.coordinates=O(t.coordinates,e):"MultiPolygon"===t.type&&(t.coordinates=t.coordinates.map(z(O,e))),t}(e,r);default:return e}}(i,!0);try{t._geoJSONIndex=r.cluster?function(t){return new ot(t)}(r.superclusterOptions).load(i.features):new jt(i,r.geojsonVtOptions)}catch(n){return e(n)}t.loaded={};var a={};if(r.request&&r.request.collectResourceTiming){var o=w(r.request.url);o&&(a.resourceTiming={},a.resourceTiming[r.source]=JSON.parse(JSON.stringify(o)))}e(null,a)})}},r.prototype.coalesce=function(){"Coalescing"===this._state?this._state="Idle":"NeedsLoadData"===this._state&&(this._state="Coalescing",this._loadData())},r.prototype.reloadTile=function(t,r){var n=this.loaded,i=t.uid;return n&&n[i]?e.prototype.reloadTile.call(this,t,r):this.loadTile(t,r)},r.prototype.loadGeoJSON=function(e,r){if(e.request)t.getJSON(e.request,r);else{if("string"!=typeof e.data)return r(new Error("Input data is not a valid GeoJSON object."));try{return r(null,JSON.parse(e.data))}catch(t){return r(new Error("Input data is not a valid GeoJSON object."))}}},r.prototype.removeSource=function(t,e){this._pendingCallback&&this._pendingCallback(null,{abandoned:!0}),e()},r}(A),Ht=function(e){var r=this;this.self=e,this.actor=new t.default$7(e,this),this.layerIndexes={},this.workerSourceTypes={vector:A,geojson:qt},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.isLoaded())throw new Error("RTL text plugin already registered.");t.plugin.applyArabicShaping=e.applyArabicShaping,t.plugin.processBidirectionalText=e.processBidirectionalText}};return Ht.prototype.setLayers=function(t,e,r){this.getLayerIndex(t).replace(e),r()},Ht.prototype.updateLayers=function(t,e,r){this.getLayerIndex(t).update(e.layers,e.removedIds),r()},Ht.prototype.loadTile=function(t,e,r){this.getWorkerSource(t,e.type,e.source).loadTile(e,r)},Ht.prototype.loadDEMTile=function(t,e,r){this.getDEMWorkerSource(t,e.source).loadTile(e,r)},Ht.prototype.reloadTile=function(t,e,r){this.getWorkerSource(t,e.type,e.source).reloadTile(e,r)},Ht.prototype.abortTile=function(t,e,r){this.getWorkerSource(t,e.type,e.source).abortTile(e,r)},Ht.prototype.removeTile=function(t,e,r){this.getWorkerSource(t,e.type,e.source).removeTile(e,r)},Ht.prototype.removeDEMTile=function(t,e){this.getDEMWorkerSource(t,e.source).removeTile(e)},Ht.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()}},Ht.prototype.loadWorkerSource=function(t,e,r){try{this.self.importScripts(e.url),r()}catch(t){r(t.toString())}},Ht.prototype.loadRTLTextPlugin=function(e,r,n){try{t.plugin.isLoaded()||(this.self.importScripts(r),n(t.plugin.isLoaded()?null:new Error("RTL Text Plugin failed to import scripts from "+r)))}catch(t){n(t.toString())}},Ht.prototype.getLayerIndex=function(t){var e=this.layerIndexes[t];return e||(e=this.layerIndexes[t]=new n),e},Ht.prototype.getWorkerSource=function(t,e,r){var n=this;if(this.workerSources[t]||(this.workerSources[t]={}),this.workerSources[t][e]||(this.workerSources[t][e]={}),!this.workerSources[t][e][r]){var i={send:function(e,r,i){n.actor.send(e,r,i,t)}};this.workerSources[t][e][r]=new this.workerSourceTypes[e](i,this.getLayerIndex(t))}return this.workerSources[t][e][r]},Ht.prototype.getDEMWorkerSource=function(t,e){return this.demWorkerSources[t]||(this.demWorkerSources[t]={}),this.demWorkerSources[t][e]||(this.demWorkerSources[t][e]=new M),this.demWorkerSources[t][e]},"undefined"!=typeof WorkerGlobalScope&&"undefined"!=typeof self&&self instanceof WorkerGlobalScope&&new Ht(self),Ht}),i(0,function(t){var e=t.createCommonjsModule(function(t){function e(t){return!!("undefined"!=typeof window&&"undefined"!=typeof document&&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&&function(t){return void 0===r[t]&&(r[t]=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)),r[t]}(t&&t.failIfMajorPerformanceCaveat))}t.exports?t.exports=e:window&&(window.mapboxgl=window.mapboxgl||{},window.mapboxgl.supported=e);var r={};e.webGLContextAttributes={antialias:!1,alpha:!0,stencil:!0,depth:!0}}),r=t.default.performance&&t.default.performance.now?t.default.performance.now.bind(t.default.performance):Date.now.bind(Date),n=t.default.requestAnimationFrame||t.default.mozRequestAnimationFrame||t.default.webkitRequestAnimationFrame||t.default.msRequestAnimationFrame,i=t.default.cancelAnimationFrame||t.default.mozCancelAnimationFrame||t.default.webkitCancelAnimationFrame||t.default.msCancelAnimationFrame,a={now:r,frame:function(t){return n(t)},cancelFrame:function(t){return i(t)},getImageData:function(e){var r=t.default.document.createElement("canvas"),n=r.getContext("2d");if(!n)throw new Error("failed to create canvas 2d context");return r.width=e.width,r.height=e.height,n.drawImage(e,0,0,e.width,e.height),n.getImageData(0,0,e.width,e.height)},hardwareConcurrency:t.default.navigator.hardwareConcurrency||4,get devicePixelRatio(){return t.default.devicePixelRatio},supportsWebp:!1};if(t.default.document){var o=t.default.document.createElement("img");o.onload=function(){a.supportsWebp=!0},o.src="data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA="}var s={create:function(e,r,n){var i=t.default.document.createElement(e);return r&&(i.className=r),n&&n.appendChild(i),i},createNS:function(e,r){return t.default.document.createElementNS(e,r)}},l=t.default.document?t.default.document.documentElement.style:null;function c(t){if(!l)return null;for(var e=0;e=0?0:e.button},s.remove=function(t){t.parentNode&&t.parentNode.removeChild(t)};var v={API_URL:"https://api.mapbox.com",REQUIRE_ACCESS_TOKEN:!0,ACCESS_TOKEN:null},m="See https://www.mapbox.com/api-documentation/#access-tokens";function y(t,e){var r=M(v.API_URL);if(t.protocol=r.protocol,t.authority=r.authority,"/"!==r.path&&(t.path=""+r.path+t.path),!v.REQUIRE_ACCESS_TOKEN)return T(t);if(!(e=e||v.ACCESS_TOKEN))throw new Error("An API access token is required to use Mapbox GL. "+m);if("s"===e[0])throw new Error("Use a public access token (pk.*) with Mapbox GL, not a secret access token (sk.*). "+m);return t.params.push("access_token="+e),T(t)}function x(t){return 0===t.indexOf("mapbox:")}var b=function(t,e){if(!x(t))return t;var r=M(t);return r.path="/v4/"+r.authority+".json",r.params.push("secure"),y(r,e)},_=function(t,e,r,n){var i=M(t);return x(t)?(i.path="/styles/v1"+i.path+"/sprite"+e+r,y(i,n)):(i.path+=""+e+r,T(i))},w=/(\.(png|jpg)\d*)(?=$)/,k=function(t,e,r){if(!e||!x(e))return t;var n=M(t),i=a.devicePixelRatio>=2||512===r?"@2x":"",o=a.supportsWebp?".webp":"$1";return n.path=n.path.replace(w,""+i+o),function(t){for(var e=0;e=0?1.2:1))}function R(t,e,r,n,i,a,o){for(var s=0;s65535)e(new Error("glyphs > 65535 not supported"));else{var l=a.requests[s];l||(l=a.requests[s]=[],B.loadGlyphRange(r,s,n.url,n.requestTransform,function(t,e){if(e)for(var r in e)a.glyphs[+r]=e[+r];for(var n=0,i=l;nthis.height)return t.warnOnce("LineAtlas out of space"),null;for(var a=0,o=0;o90||this.lat<-90)throw new Error("Invalid LngLat latitude value: must be between -90 and 90")};G.prototype.wrap=function(){return new G(t.wrap(this.lng,-180,180),this.lat)},G.prototype.toArray=function(){return[this.lng,this.lat]},G.prototype.toString=function(){return"LngLat("+this.lng+", "+this.lat+")"},G.prototype.toBounds=function(t){var e=360*t/40075017,r=e/Math.cos(Math.PI/180*this.lat);return new W(new G(this.lng-r,this.lat-e),new G(this.lng+r,this.lat+e))},G.convert=function(t){if(t instanceof G)return t;if(Array.isArray(t)&&(2===t.length||3===t.length))return new G(Number(t[0]),Number(t[1]));if(!Array.isArray(t)&&"object"==typeof t&&null!==t)return new G(Number(t.lng),Number(t.lat));throw new Error("`LngLatLike` argument must be specified as a LngLat instance, an object {lng: , lat: }, or an array of [, ]")};var W=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]))};W.prototype.setNorthEast=function(t){return this._ne=t instanceof G?new G(t.lng,t.lat):G.convert(t),this},W.prototype.setSouthWest=function(t){return this._sw=t instanceof G?new G(t.lng,t.lat):G.convert(t),this},W.prototype.extend=function(t){var e,r,n=this._sw,i=this._ne;if(t instanceof G)e=t,r=t;else{if(!(t instanceof W))return Array.isArray(t)?t.every(Array.isArray)?this.extend(W.convert(t)):this.extend(G.convert(t)):this;if(e=t._sw,r=t._ne,!e||!r)return this}return n||i?(n.lng=Math.min(e.lng,n.lng),n.lat=Math.min(e.lat,n.lat),i.lng=Math.max(r.lng,i.lng),i.lat=Math.max(r.lat,i.lat)):(this._sw=new G(e.lng,e.lat),this._ne=new G(r.lng,r.lat)),this},W.prototype.getCenter=function(){return new G((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)},W.prototype.getSouthWest=function(){return this._sw},W.prototype.getNorthEast=function(){return this._ne},W.prototype.getNorthWest=function(){return new G(this.getWest(),this.getNorth())},W.prototype.getSouthEast=function(){return new G(this.getEast(),this.getSouth())},W.prototype.getWest=function(){return this._sw.lng},W.prototype.getSouth=function(){return this._sw.lat},W.prototype.getEast=function(){return this._ne.lng},W.prototype.getNorth=function(){return this._ne.lat},W.prototype.toArray=function(){return[this._sw.toArray(),this._ne.toArray()]},W.prototype.toString=function(){return"LngLatBounds("+this._sw.toString()+", "+this._ne.toString()+")"},W.prototype.isEmpty=function(){return!(this._sw&&this._ne)},W.convert=function(t){return!t||t instanceof W?t:new W(t)};var Y=function(t,e,r){this.bounds=W.convert(this.validateBounds(t)),this.minzoom=e||0,this.maxzoom=r||24};Y.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]},Y.prototype.contains=function(t){var e=Math.floor(this.lngX(this.bounds.getWest(),t.z)),r=Math.floor(this.latY(this.bounds.getNorth(),t.z)),n=Math.ceil(this.lngX(this.bounds.getEast(),t.z)),i=Math.ceil(this.latY(this.bounds.getSouth(),t.z));return t.x>=e&&t.x=r&&t.y0&&(l[new t.OverscaledTileID(e.overscaledZ,a,r.z,i,r.y-1).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,e.wrap,r.z,r.x,r.y-1).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,s,r.z,o,r.y-1).key]={backfilled:!1}),r.y+10&&(n.resourceTiming=e._resourceTiming,e._resourceTiming=[]),e.fire(new t.Event("data",n))}})},r.prototype.onAdd=function(t){this.map=t,this.load()},r.prototype.setData=function(e){var r=this;return this._data=e,this.fire(new t.Event("dataloading",{dataType:"source"})),this._updateWorkerData(function(e){if(e)return r.fire(new t.ErrorEvent(e));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._updateWorkerData=function(e){var r,n,i=this,a=t.extend({},this.workerOptions),o=this._data;"string"==typeof o?(a.request=this.map._transformRequest((r=o,(n=t.default.document.createElement("a")).href=r,n.href),t.ResourceType.Source),a.request.collectResourceTiming=this._collectResourceTiming):a.data=JSON.stringify(o),this.workerID=this.dispatcher.send(this.type+"."+a.source+".loadData",a,function(t,r){i._removed||r&&r.abandoned||(i._loaded=!0,r&&r.resourceTiming&&r.resourceTiming[i.id]&&(i._resourceTiming=r.resourceTiming[i.id].slice(0)),i.dispatcher.send(i.type+"."+a.source+".coalesce",null,null,i.workerID),e(t))},this.workerID)},r.prototype.loadTile=function(t,e){var r=this,n=void 0===t.workerID?"loadTile":"reloadTile",i={type:this.type,uid:t.uid,tileID:t.tileID,zoom:t.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,pixelRatio:a.devicePixelRatio,showCollisionBoxes:this.map.showCollisionBoxes};t.workerID=this.dispatcher.send(n,i,function(i,a){return t.unloadVectorData(),t.aborted?e(null):i?e(i):(t.loadVectorData(a,r.map.painter,"reloadTile"===n),e(null))},this.workerID)},r.prototype.abortTile=function(t){t.aborted=!0},r.prototype.unloadTile=function(t){t.unloadVectorData(),this.dispatcher.send("removeTile",{uid:t.uid,type:this.type,source:this.id},null,t.workerID)},r.prototype.onRemove=function(){this._removed=!0,this.dispatcher.send("removeSource",{type:this.type,source:this.id},null,this.workerID)},r.prototype.serialize=function(){return t.extend({},this._options,{type:this.type,data:this._data})},r.prototype.hasTransition=function(){return!1},r}(t.Evented),K=t.createLayout([{name:"a_pos",type:"Int16",components:2},{name:"a_texture_pos",type:"Int16",components:2}]),Q=function(){this.boundProgram=null,this.boundLayoutVertexBuffer=null,this.boundPaintVertexBuffers=[],this.boundIndexBuffer=null,this.boundVertexOffset=null,this.boundDynamicVertexBuffer=null,this.vao=null};Q.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>s.z,c=new t.default$1(s.x*l,s.y*l),u=new t.default$1(c.x+l,c.y+l),f=this.segments.prepareSegment(4,n,i);n.emplaceBack(c.x,c.y,c.x,c.y),n.emplaceBack(u.x,c.y,u.x,c.y),n.emplaceBack(c.x,u.y,c.x,u.y),n.emplaceBack(u.x,u.y,u.x,u.y);var h=f.vertexLength;i.emplaceBack(h,h+1,h+2),i.emplaceBack(h+1,h+2,h+3),f.vertexLength+=4,f.primitiveLength+=2}this.maskedBoundsBuffer=r.createVertexBuffer(n,K.members),this.maskedIndexBuffer=r.createIndexBuffer(i)}},st.prototype.hasData=function(){return"loaded"===this.state||"reloading"===this.state||"expired"===this.state},st.prototype.setExpiryData=function(e){var r=this.expirationTime;if(e.cacheControl){var n=t.parseCacheControl(e.cacheControl);n["max-age"]&&(this.expirationTime=Date.now()+1e3*n["max-age"])}else e.expires&&(this.expirationTime=new Date(e.expires).getTime());if(this.expirationTime){var i=Date.now(),a=!1;if(this.expirationTime>i)a=!1;else if(r)if(this.expirationTimethis.max){var o=this._getAndRemoveByKey(this.order[0]);o&&this.onRemove(o)}return this},lt.prototype.has=function(t){return t.wrapped().key in this.data},lt.prototype.getAndRemove=function(t){return this.has(t)?this._getAndRemoveByKey(t.wrapped().key):null},lt.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},lt.prototype.get=function(t){return this.has(t)?this.data[t.wrapped().key][0].value:null},lt.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},lt.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};var ct=function(t,e,r){this.context=t;var n=t.gl;this.buffer=n.createBuffer(),this.dynamicDraw=Boolean(r),this.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};ct.prototype.unbindVAO=function(){this.context.extVertexArrayObject&&this.context.bindVertexArrayOES.set(null)},ct.prototype.bind=function(){this.context.bindElementBuffer.set(this.buffer)},ct.prototype.updateData=function(t){var e=this.context.gl;this.unbindVAO(),this.bind(),e.bufferSubData(e.ELEMENT_ARRAY_BUFFER,0,t.arrayBuffer)},ct.prototype.destroy=function(){var t=this.context.gl;this.buffer&&(t.deleteBuffer(this.buffer),delete this.buffer)};var ut={Int8:"BYTE",Uint8:"UNSIGNED_BYTE",Int16:"SHORT",Uint16:"UNSIGNED_SHORT",Int32:"INT",Uint32:"UNSIGNED_INT",Float32:"FLOAT"},ft=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};ft.prototype.bind=function(){this.context.bindVertexBuffer.set(this.buffer)},ft.prototype.updateData=function(t){var e=this.context.gl;this.bind(),e.bufferSubData(e.ARRAY_BUFFER,0,t.arrayBuffer)},ft.prototype.enableAttributes=function(t,e){for(var r=0;r1||(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.getZoom=function(t){return t.zoom+t.scaleZoom(t.tileSize/this._source.tileSize)},r.prototype._findLoadedChildren=function(t,e,r){var n=!1;for(var i in this._tiles){var a=this._tiles[i];if(!(r[i]||!a.hasData()||a.tileID.overscaledZ<=t.overscaledZ||a.tileID.overscaledZ>e)){var o=Math.pow(2,a.tileID.canonical.z-t.canonical.z);if(Math.floor(a.tileID.canonical.x/o)===t.canonical.x&&Math.floor(a.tileID.canonical.y/o)===t.canonical.y)for(r[i]=a.tileID,n=!0;a&&a.tileID.overscaledZ-1>t.overscaledZ;){var s=a.tileID.scaledTo(a.tileID.overscaledZ-1);if(!s)break;(a=this._tiles[s.key])&&a.hasData()&&(delete r[i],r[s.key]=s)}}}return n},r.prototype.findLoadedParent=function(t,e,r){for(var n=t.overscaledZ-1;n>=e;n--){var i=t.scaledTo(n);if(!i)return;var a=String(i.key),o=this._tiles[a];if(o&&o.hasData())return r[a]=i,o;if(this._cache.has(i))return r[a]=i,this._cache.get(i)}},r.prototype.updateCacheSize=function(t){var e=(Math.ceil(t.width/this._source.tileSize)+1)*(Math.ceil(t.height/this._source.tileSize)+1),r=Math.floor(5*e),n="number"==typeof this._maxTileCacheSize?Math.min(this._maxTileCacheSize,r):r;this._cache.setMaxSize(n)},r.prototype.handleWrapJump=function(t){var e=(t-(void 0===this._prevLng?t:this._prevLng))/360,r=Math.round(e);if(this._prevLng=t,r){var n={};for(var i in this._tiles){var a=this._tiles[i];a.tileID=a.tileID.unwrapTo(a.tileID.wrap+r),n[a.tileID.key]=a}for(var o in this._tiles=n,this._timers)clearTimeout(this._timers[o]),delete this._timers[o];for(var s in this._tiles){var l=this._tiles[s];this._setTileReloadTimer(s,l)}}},r.prototype.update=function(e){var n=this;if(this.transform=e,this._sourceLoaded&&!this._paused){var i;this.updateCacheSize(e),this.handleWrapJump(this.transform.center.lng),this._coveredTiles={},this.used?this._source.tileID?i=e.getVisibleUnwrappedCoordinates(this._source.tileID).map(function(e){return new t.OverscaledTileID(e.canonical.z,e.wrap,e.canonical.z,e.canonical.x,e.canonical.y)}):(i=e.coveringTiles({tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled}),this._source.hasTile&&(i=i.filter(function(t){return n._source.hasTile(t)}))):i=[];var o,s=(this._source.roundZoom?Math.round:Math.floor)(this.getZoom(e)),l=Math.max(s-r.maxOverzooming,this._source.minzoom),c=Math.max(s+r.maxUnderzooming,this._source.minzoom),u=this._updateRetainedTiles(i,s),f={};if(Zt(this._source.type))for(var h=Object.keys(u),p=0;p=a.now())){n._findLoadedChildren(g,c,u)&&(u[d]=g);var m=n.findLoadedParent(g,l,f);m&&n._addTile(m.tileID)}}for(o in f)u[o]||(n._coveredTiles[o]=!0);for(o in f)u[o]=f[o];for(var y=t.keysDifference(this._tiles,u),x=0;xthis._source.maxzoom){var h=l.children(this._source.maxzoom)[0],p=this.getTile(h);p&&p.hasData()?n[h.key]=h:f=!1}else{this._findLoadedChildren(l,o,n);for(var d=l.children(this._source.maxzoom),g=0;g=a;--v){var m=l.scaledTo(v);if(i[m.key])break;if(i[m.key]=!0,!(c=this.getTile(m))&&u&&(c=this._addTile(m)),c&&(n[m.key]=m,u=c.wasRequested(),c.hasData()))break}}}return n},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);var n=Boolean(r);return n||(r=new st(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()?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){for(var n=[],i=this.getIds(),a=1/0,o=1/0,s=-1/0,l=-1/0,c=e[0].zoom,u=0;u=0&&m[1].y+v>=0){for(var y=[],x=0;x=a.now())return!0}return!1},r}(t.Evented);function Xt(e,r){var n=r.zoomTo(e.canonical.z);return new t.default$1((n.column-(e.canonical.x+e.wrap*Math.pow(2,e.canonical.z)))*t.default$8,(n.row-e.canonical.y)*t.default$8)}function Zt(t){return"raster"===t||"image"===t||"video"===t}function $t(){return new t.default.Worker(Cn.workerUrl)}Yt.maxOverzooming=10,Yt.maxUnderzooming=3;var Jt,Kt=function(){this.active={}};function Qt(e,r){var n={};for(var i in e)"ref"!==i&&(n[i]=e[i]);return t.default$18.forEach(function(t){t in r&&(n[t]=r[t])}),n}function te(t){t=t.slice();for(var e=Object.create(null),r=0;rthis.width||n<0||e>this.height)return!i&&[];var a=[];if(t<=0&&e<=0&&this.width<=r&&this.height<=n){if(i)return!0;for(var o=0;o0:a},ce.prototype._queryCircle=function(t,e,r,n){var i=t-r,a=t+r,o=e-r,s=e+r;if(a<0||i>this.width||s<0||o>this.height)return!n&&[];var l=[],c={hitTest:n,circle:{x:t,y:e,radius:r},seenUids:{box:{},circle:{}}};return this._forEachCell(i,o,a,s,this._queryCellCircle,l,c),n?l.length>0:l},ce.prototype.query=function(t,e,r,n){return this._query(t,e,r,n,!1)},ce.prototype.hitTest=function(t,e,r,n){return this._query(t,e,r,n,!0)},ce.prototype.hitTestCircle=function(t,e,r){return this._queryCircle(t,e,r,!0)},ce.prototype._queryCell=function(t,e,r,n,i,a,o){var s=o.seenUids,l=this.boxCells[i];if(null!==l)for(var c=this.bboxes,u=0,f=l;u=c[p+0]&&n>=c[p+1]){if(o.hitTest)return a.push(!0),!0;a.push({key:this.boxKeys[h],x1:c[p],y1:c[p+1],x2:c[p+2],y2:c[p+3]})}}}var d=this.circleCells[i];if(null!==d)for(var g=this.circles,v=0,m=d;vo*o+s*s},ce.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 ue=t.default$19.layout;function fe(e,r,n,i,a){var o=t.mat4.identity(new Float32Array(16));return r?(t.mat4.identity(o),t.mat4.scale(o,o,[1/a,1/a,1]),n||t.mat4.rotateZ(o,o,i.angle)):(t.mat4.scale(o,o,[i.width/2,-i.height/2,1]),t.mat4.translate(o,o,[1,-1,0]),t.mat4.multiply(o,o,e)),o}function he(e,r,n,i,a){var o=t.mat4.identity(new Float32Array(16));return r?(t.mat4.multiply(o,o,e),t.mat4.scale(o,o,[a,a,1]),n||t.mat4.rotateZ(o,o,-i.angle)):(t.mat4.scale(o,o,[1,-1,1]),t.mat4.translate(o,o,[-1,-1,0]),t.mat4.scale(o,o,[2/i.width,2/i.height,1])),o}function pe(e,r){var n=[e.x,e.y,0,1];ke(n,n,r);var i=n[3];return{point:new t.default$1(n[0]/i,n[1]/i),signedDistanceFromCamera:i}}function de(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 ge(e,r,n,i,a,o,s,l){var c=i?e.textSizeData:e.iconSizeData,u=t.evaluateSizeForZoom(c,n.transform.zoom,ue.properties[i?"text-size":"icon-size"]),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,v=!1,m=0;mMath.abs(n.x-r.x)*i?{useVertical:!0}:(e===t.WritingMode.vertical?r.yn.x)?{needsFlipping:!0}:null}function ye(e,r,n,i,a,o,s,l,c,u,f,h,p,d){var g,v=r/24,m=e.lineOffsetX*r,y=e.lineOffsetY*r;if(e.numGlyphs>1){var x=e.glyphStartIndex+e.numGlyphs,b=e.lineStartIndex,_=e.lineStartIndex+e.lineLength,w=ve(v,l,m,y,n,f,h,e,c,o,p,!1);if(!w)return{notEnoughRoom:!0};var k=pe(w.first.point,s).point,A=pe(w.last.point,s).point;if(i&&!n){var M=me(e.writingMode,k,A,d);if(M)return M}g=[w.first];for(var T=e.glyphStartIndex+1;T0?L.point:xe(h,E,S,1,a),O=me(e.writingMode,S,z,d);if(O)return O}var I=be(v*l.getoffsetX(e.glyphStartIndex),m,y,n,f,h,e.segment,e.lineStartIndex,e.lineStartIndex+e.lineLength,c,o,p,!1);if(!I)return{notEnoughRoom:!0};g=[I]}for(var D=0,P=g;D0?1:-1,v=0;i&&(g*=-1,v=Math.PI),g<0&&(v+=Math.PI);for(var m=g>0?l+s:l+s+1,y=m,x=a,b=a,_=0,w=0,k=Math.abs(d);_+w<=k;){if((m+=g)=c)return null;if(b=x,void 0===(x=h[m])){var A=new t.default$1(u.getx(m),u.gety(m)),M=pe(A,f);if(M.signedDistanceFromCamera>0)x=h[m]=M.point;else{var T=m-g;x=xe(0===_?o:new t.default$1(u.getx(T),u.gety(T)),A,b,k-_+1,f)}}_+=w,w=b.dist(x)}var S=(k-_)/w,C=x.sub(b),E=C.mult(S)._add(b);return E._add(C._unit()._perp()._mult(n*g)),{point:E,angle:v+Math.atan2(x.y-b.y,x.x-b.x),tileDistance:p?{prevTileDistance:m-g===y?0:u.gettileUnitDistanceFromAnchor(m-g),lastSegmentViewportDistance:k-_}:null}}var _e=new Float32Array([-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0]);function we(t,e){for(var r=0;rT)Me(e,S,!1);else{var O=this.projectPoint(u,C,E),I=L*k;if(d.length>0){var D=O.x-d[d.length-4],P=O.y-d[d.length-3];if(I*I*2>D*D+P*P&&S+8-M&&R=this.screenRightBoundary||n<100||e>this.screenBottomBoundary};var Se=t.default$19.layout,Ce=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};Ce.prototype.isHidden=function(){return 0===this.opacity&&!this.placed};var Ee=function(t,e,r,n,i){this.text=new Ce(t?t.text:null,e,r,i),this.icon=new Ce(t?t.icon:null,e,n,i)};Ee.prototype.isHidden=function(){return this.text.isHidden()&&this.icon.isHidden()};var Le=function(t,e,r){this.text=t,this.icon=e,this.skipFade=r},ze=function(t,e){this.transform=t.clone(),this.collisionIndex=new Ae(this.transform),this.placements={},this.opacities={},this.stale=!1,this.fadeDuration=e,this.retainedQueryData={}};function Oe(t,e,r){t.emplaceBack(e?1:0,r?1:0),t.emplaceBack(e?1:0,r?1:0),t.emplaceBack(e?1:0,r?1:0),t.emplaceBack(e?1:0,r?1:0)}ze.prototype.placeLayerTile=function(e,r,n,i){var a=r.getBucket(e),o=r.latestFeatureIndex;if(a&&o&&e.id===a.layerIds[0]){var s=r.collisionBoxArray,l=a.layers[0].layout,c=Math.pow(2,this.transform.zoom-r.tileID.overscaledZ),u=r.tileSize/t.default$8,f=this.transform.calculatePosMatrix(r.tileID.toUnwrapped()),h=fe(f,"map"===l.get("text-pitch-alignment"),"map"===l.get("text-rotation-alignment"),this.transform,Te(r,1,this.transform.zoom)),p=fe(f,"map"===l.get("icon-pitch-alignment"),"map"===l.get("icon-rotation-alignment"),this.transform,Te(r,1,this.transform.zoom));this.retainedQueryData[a.bucketInstanceId]=new function(t,e,r,n,i){this.bucketInstanceId=t,this.featureIndex=e,this.sourceLayerIndex=r,this.bucketIndex=n,this.tileID=i}(a.bucketInstanceId,o,a.sourceLayerIndex,a.index,r.tileID),this.placeLayerBucket(a,f,h,p,c,u,n,i,s)}},ze.prototype.placeLayerBucket=function(e,r,n,i,a,o,s,l,c){for(var u=e.layers[0].layout,f=t.evaluateSizeForZoom(e.textSizeData,this.transform.zoom,Se.properties["text-size"]),h=!e.hasTextData()||u.get("text-optional"),p=!e.hasIconData()||u.get("icon-optional"),d=0,g=e.symbolInstances;d0,x=x&&b.offscreen);var M=v.collisionArrays.textCircles;if(M){var T=e.text.placedSymbolArray.get(v.placedTextSymbolIndices[0]),S=t.evaluateSizeForFeature(e.textSizeData,f,T);_=this.collisionIndex.placeCollisionCircles(M,u.get("text-allow-overlap"),a,o,v.key,T,e.lineVertexArray,e.glyphOffsetArray,S,r,n,s,"map"===u.get("text-pitch-alignment")),m=u.get("text-allow-overlap")||_.circles.length>0,x=x&&_.offscreen}v.collisionArrays.iconFeatureIndex&&(A=v.collisionArrays.iconFeatureIndex),v.collisionArrays.iconBox&&(y=(w=this.collisionIndex.placeCollisionBox(v.collisionArrays.iconBox,u.get("icon-allow-overlap"),o,r)).box.length>0,x=x&&w.offscreen),h||p?p?h||(y=y&&m):m=y&&m:y=m=y&&m,m&&b&&this.collisionIndex.insertCollisionBox(b.box,u.get("text-ignore-placement"),e.bucketInstanceId,k),y&&w&&this.collisionIndex.insertCollisionBox(w.box,u.get("icon-ignore-placement"),e.bucketInstanceId,A),m&&_&&this.collisionIndex.insertCollisionCircles(_.circles,u.get("text-ignore-placement"),e.bucketInstanceId,k),this.placements[v.crossTileID]=new Le(m,y,x||e.justReloaded),l[v.crossTileID]=!0}}e.justReloaded=!1},ze.prototype.commit=function(t,e){this.commitTime=e;var r=!1,n=t&&0!==this.fadeDuration?(this.commitTime-t.commitTime)/this.fadeDuration:1,i=t?t.opacities:{};for(var a in this.placements){var o=this.placements[a],s=i[a];s?(this.opacities[a]=new Ee(s,n,o.text,o.icon),r=r||o.text!==s.text.placed||o.icon!==s.icon.placed):(this.opacities[a]=new Ee(null,n,o.text,o.icon,o.skipFade),r=r||o.text||o.icon)}for(var l in i){var c=i[l];if(!this.opacities[l]){var u=new Ee(c,n,!1,!1);u.isHidden()||(this.opacities[l]=u,r=r||c.text.placed||c.icon.placed)}}r?this.lastPlacementChangeTime=e:"number"!=typeof this.lastPlacementChangeTime&&(this.lastPlacementChangeTime=t?t.lastPlacementChangeTime:e)},ze.prototype.updateLayerOpacities=function(t,e){for(var r={},n=0,i=e;n0||s.numVerticalGlyphVertices>0,f=s.numIconVertices>0;if(u){for(var h=je(c.text),p=(s.numGlyphVertices+s.numVerticalGlyphVertices)/4,d=0;dt},ze.prototype.setStale=function(){this.stale=!0};var Ie=Math.pow(2,25),De=Math.pow(2,24),Pe=Math.pow(2,17),Re=Math.pow(2,16),Fe=Math.pow(2,9),Be=Math.pow(2,8),Ne=Math.pow(2,1);function je(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*Ie+e*De+r*Pe+e*Re+r*Fe+e*Be+r*Ne+e}var Ve=function(){this._currentTileIndex=0,this._seenCrossTileIDs={}};Ve.prototype.continuePlacement=function(t,e,r,n,i){for(;this._currentTileIndex2};this._currentPlacementIndex>=0;){var s=e[t[n._currentPlacementIndex]],l=n.placement.collisionIndex.transform.zoom;if("symbol"===s.type&&(!s.minzoom||s.minzoom<=l)&&(!s.maxzoom||s.maxzoom>l)){if(n._inProgressLayer||(n._inProgressLayer=new Ve),n._inProgressLayer.continuePlacement(r[s.source],n.placement,n._showCollisionBoxes,s,o))return;delete n._inProgressLayer}n._currentPlacementIndex--}this._done=!0},Ue.prototype.commit=function(t,e){return this.placement.commit(t,e),this.placement};var qe=512/t.default$8/2,He=function(t,e,r){this.tileID=t,this.indexedSymbolInstances={},this.bucketInstanceId=r;for(var n=0,i=e;nt.overscaledZ)for(var l in s){var c=s[l];c.tileID.isChildOf(t)&&c.findMatches(e.symbolInstances,t,a)}else{var u=s[t.scaledTo(Number(o)).key];u&&u.findMatches(e.symbolInstances,t,a)}}for(var f=0,h=e.symbolInstances;f1?"@2x":"";function c(){if(s)n(s);else if(i&&o){var e=a.getImageData(o),r={};for(var l in i){var c=i[l],u=c.width,f=c.height,h=c.x,p=c.y,d=c.sdf,g=c.pixelRatio,v=new t.RGBAImage({width:u,height:f});t.RGBAImage.copy(e,v,{x:h,y:p},{x:0,y:0},{width:u,height:f}),r[l]={data:v,pixelRatio:g,sdf:d}}n(null,r)}}t.getJSON(r(_(e,l,".json"),t.ResourceType.SpriteJSON),function(t,e){s||(s=t,i=e,c())}),t.getImage(r(_(e,l,".png"),t.ResourceType.SpriteImage),function(t,e){s||(s=t,o=e,c())})}(e.sprite,this.map._transformRequest,function(e,r){if(e)n.fire(new t.ErrorEvent(e));else if(r)for(var i in r)n.imageManager.addImage(i,r[i]);n.imageManager.setLoaded(!0),n.fire(new t.Event("data",{dataType:"style"}))}):this.imageManager.setLoaded(!0),this.glyphManager.setURL(e.glyphs);var o=te(this.stylesheet.layers);this._order=o.map(function(t){return t.id}),this._layers={};for(var s=0,l=o;s0)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.fire(new t.Event("data",{dataType:"style"}))},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.fire(new t.Event("data",{dataType:"style"}))},r.prototype.addSource=function(e,r,n){var i=this;if(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 Yt(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){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 if("object"==typeof e.source&&(this.addSource(i,e.source),e=t.clone(e),e=t.extend(e,{source:i})),!this._validate(t.validateStyle.layer,"layers."+i,e,{arrayIndex:-1},n)){var a=t.default$22(e);this._validateLayer(a),a.setEventedParent(this,{layer:{id:i}});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){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)}}},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._updatedLayers[e],delete this._updatedPaintProps[e]}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.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){this._checkLoaded();var n=this.getLayer(e);if(n){if(!t.default$10(n.filter,r))return null==r?(n.filter=void 0,void this._updateLayer(n)):void(this._validate(t.validateStyle.filter,"layers."+n.id+".filter",r)||(n.filter=t.clone(r),this._updateLayer(n)))}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(this.getLayer(e).filter)},r.prototype.setLayoutProperty=function(e,r,n){this._checkLoaded();var i=this.getLayer(e);i?t.default$10(i.getLayoutProperty(r),n)||(i.setLayoutProperty(r,n),this._updateLayer(i)):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(t,e){return this.getLayer(t).getLayoutProperty(e)},r.prototype.setPaintProperty=function(e,r,n){this._checkLoaded();var i=this.getLayer(e);if(i){if(!t.default$10(i.getPaintProperty(r),n)){var a=i._transitionablePaint._values[r].value.isDataDriven();i.setPaintProperty(r,n),(i._transitionablePaint._values[r].value.isDataDriven()||a)&&this._updateLayer(i),this._changed=!0,this._updatedPaintProps[e]=!0}}else 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.getTransition=function(){return t.extend({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)},r.prototype.serialize=function(){var e=this;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._order.map(function(t){return e._layers[t].serialize()})},function(t){return void 0!==t})},r.prototype._updateLayer=function(t){this._updatedLayers[t.id]=!0,t.source&&!this._updatedSources[t.source]&&(this._updatedSources[t.source]="reload",this.sourceCaches[t.source].pause()),this._changed=!0},r.prototype._flattenRenderedFeatures=function(t){for(var e=[],r=this._order.length-1;r>=0;r--)for(var n=this._order[r],i=0,a=t;i 0.5) {\n gl_FragColor = vec4(0.0, 0.0, 1.0, 0.5) * alpha;\n }\n\n if (v_notUsed > 0.5) {\n // This box not used, fade it out\n gl_FragColor *= .1;\n }\n}",vertexSource:"attribute vec2 a_pos;\nattribute vec2 a_anchor_pos;\nattribute vec2 a_extrude;\nattribute vec2 a_placed;\n\nuniform mat4 u_matrix;\nuniform vec2 u_extrude_scale;\nuniform float u_camera_to_center_distance;\n\nvarying float v_placed;\nvarying float v_notUsed;\n\nvoid main() {\n vec4 projectedPoint = u_matrix * vec4(a_anchor_pos, 0, 1);\n highp float camera_to_anchor_distance = projectedPoint.w;\n highp float collision_perspective_ratio = clamp(\n 0.5 + 0.5 * (u_camera_to_center_distance / camera_to_anchor_distance),\n 0.0, // Prevents oversized near-field boxes in pitched/overzoomed tiles\n 4.0);\n\n gl_Position = u_matrix * vec4(a_pos, 0.0, 1.0);\n gl_Position.xy += a_extrude * u_extrude_scale * gl_Position.w * collision_perspective_ratio;\n\n v_placed = a_placed.x;\n v_notUsed = a_placed.y;\n}\n"},collisionCircle:{fragmentSource:"uniform float u_overscale_factor;\n\nvarying float v_placed;\nvarying float v_notUsed;\nvarying float v_radius;\nvarying vec2 v_extrude;\nvarying vec2 v_extrude_scale;\n\nvoid main() {\n float alpha = 0.5;\n\n // Red = collision, hide label\n vec4 color = vec4(1.0, 0.0, 0.0, 1.0) * alpha;\n\n // Blue = no collision, label is showing\n if (v_placed > 0.5) {\n color = vec4(0.0, 0.0, 1.0, 0.5) * alpha;\n }\n\n if (v_notUsed > 0.5) {\n // This box not used, fade it out\n color *= .2;\n }\n\n float extrude_scale_length = length(v_extrude_scale);\n float extrude_length = length(v_extrude) * extrude_scale_length;\n float stroke_width = 15.0 * extrude_scale_length / u_overscale_factor;\n float radius = v_radius * extrude_scale_length;\n\n float distance_to_edge = abs(extrude_length - radius);\n float opacity_t = smoothstep(-stroke_width, 0.0, -distance_to_edge);\n\n gl_FragColor = opacity_t * color;\n}\n",vertexSource:"attribute vec2 a_pos;\nattribute vec2 a_anchor_pos;\nattribute vec2 a_extrude;\nattribute vec2 a_placed;\n\nuniform mat4 u_matrix;\nuniform vec2 u_extrude_scale;\nuniform float u_camera_to_center_distance;\n\nvarying float v_placed;\nvarying float v_notUsed;\nvarying float v_radius;\n\nvarying vec2 v_extrude;\nvarying vec2 v_extrude_scale;\n\nvoid main() {\n vec4 projectedPoint = u_matrix * vec4(a_anchor_pos, 0, 1);\n highp float camera_to_anchor_distance = projectedPoint.w;\n highp float collision_perspective_ratio = clamp(\n 0.5 + 0.5 * (u_camera_to_center_distance / camera_to_anchor_distance),\n 0.0, // Prevents oversized near-field circles in pitched/overzoomed tiles\n 4.0);\n\n gl_Position = u_matrix * vec4(a_pos, 0.0, 1.0);\n\n highp float padding_factor = 1.2; // Pad the vertices slightly to make room for anti-alias blur\n gl_Position.xy += a_extrude * u_extrude_scale * padding_factor * gl_Position.w * collision_perspective_ratio;\n\n v_placed = a_placed.x;\n v_notUsed = a_placed.y;\n v_radius = abs(a_extrude.y); // We don't pitch the circles, so both units of the extrusion vector are equal in magnitude to the radius\n\n v_extrude = a_extrude * padding_factor;\n v_extrude_scale = u_extrude_scale * u_camera_to_center_distance * collision_perspective_ratio;\n}\n"},debug:{fragmentSource:"uniform highp vec4 u_color;\n\nvoid main() {\n gl_FragColor = u_color;\n}\n",vertexSource:"attribute vec2 a_pos;\n\nuniform mat4 u_matrix;\n\nvoid main() {\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\n}\n"},fill:{fragmentSource:"#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n #pragma mapbox: initialize highp vec4 color\n #pragma mapbox: initialize lowp float opacity\n\n gl_FragColor = color * opacity;\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"attribute vec2 a_pos;\n\nuniform mat4 u_matrix;\n\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n #pragma mapbox: initialize highp vec4 color\n #pragma mapbox: initialize lowp float opacity\n\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\n}\n"},fillOutline:{fragmentSource:"#pragma mapbox: define highp vec4 outline_color\n#pragma mapbox: define lowp float opacity\n\nvarying vec2 v_pos;\n\nvoid main() {\n #pragma mapbox: initialize highp vec4 outline_color\n #pragma mapbox: initialize lowp float opacity\n\n float dist = length(v_pos - gl_FragCoord.xy);\n float alpha = 1.0 - smoothstep(0.0, 1.0, dist);\n gl_FragColor = outline_color * (alpha * opacity);\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"attribute vec2 a_pos;\n\nuniform mat4 u_matrix;\nuniform vec2 u_world;\n\nvarying vec2 v_pos;\n\n#pragma mapbox: define highp vec4 outline_color\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n #pragma mapbox: initialize highp vec4 outline_color\n #pragma mapbox: initialize lowp float opacity\n\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\n v_pos = (gl_Position.xy / gl_Position.w + 1.0) / 2.0 * u_world;\n}\n"},fillOutlinePattern:{fragmentSource:"uniform vec2 u_pattern_tl_a;\nuniform vec2 u_pattern_br_a;\nuniform vec2 u_pattern_tl_b;\nuniform vec2 u_pattern_br_b;\nuniform vec2 u_texsize;\nuniform float u_mix;\n\nuniform sampler2D u_image;\n\nvarying vec2 v_pos_a;\nvarying vec2 v_pos_b;\nvarying vec2 v_pos;\n\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n #pragma mapbox: initialize lowp float opacity\n\n vec2 imagecoord = mod(v_pos_a, 1.0);\n vec2 pos = mix(u_pattern_tl_a / u_texsize, u_pattern_br_a / u_texsize, imagecoord);\n vec4 color1 = texture2D(u_image, pos);\n\n vec2 imagecoord_b = mod(v_pos_b, 1.0);\n vec2 pos2 = mix(u_pattern_tl_b / u_texsize, u_pattern_br_b / u_texsize, imagecoord_b);\n vec4 color2 = texture2D(u_image, pos2);\n\n // find distance to outline for alpha interpolation\n\n float dist = length(v_pos - gl_FragCoord.xy);\n float alpha = 1.0 - smoothstep(0.0, 1.0, dist);\n\n\n gl_FragColor = mix(color1, color2, u_mix) * alpha * opacity;\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"uniform mat4 u_matrix;\nuniform vec2 u_world;\nuniform vec2 u_pattern_size_a;\nuniform vec2 u_pattern_size_b;\nuniform vec2 u_pixel_coord_upper;\nuniform vec2 u_pixel_coord_lower;\nuniform float u_scale_a;\nuniform float u_scale_b;\nuniform float u_tile_units_to_pixels;\n\nattribute vec2 a_pos;\n\nvarying vec2 v_pos_a;\nvarying vec2 v_pos_b;\nvarying vec2 v_pos;\n\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n #pragma mapbox: initialize lowp float opacity\n\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\n\n 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);\n 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);\n\n v_pos = (gl_Position.xy / gl_Position.w + 1.0) / 2.0 * u_world;\n}\n"},fillPattern:{fragmentSource:"uniform vec2 u_pattern_tl_a;\nuniform vec2 u_pattern_br_a;\nuniform vec2 u_pattern_tl_b;\nuniform vec2 u_pattern_br_b;\nuniform vec2 u_texsize;\nuniform float u_mix;\n\nuniform sampler2D u_image;\n\nvarying vec2 v_pos_a;\nvarying vec2 v_pos_b;\n\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n #pragma mapbox: initialize lowp float opacity\n\n vec2 imagecoord = mod(v_pos_a, 1.0);\n vec2 pos = mix(u_pattern_tl_a / u_texsize, u_pattern_br_a / u_texsize, imagecoord);\n vec4 color1 = texture2D(u_image, pos);\n\n vec2 imagecoord_b = mod(v_pos_b, 1.0);\n vec2 pos2 = mix(u_pattern_tl_b / u_texsize, u_pattern_br_b / u_texsize, imagecoord_b);\n vec4 color2 = texture2D(u_image, pos2);\n\n gl_FragColor = mix(color1, color2, u_mix) * opacity;\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"uniform mat4 u_matrix;\nuniform vec2 u_pattern_size_a;\nuniform vec2 u_pattern_size_b;\nuniform vec2 u_pixel_coord_upper;\nuniform vec2 u_pixel_coord_lower;\nuniform float u_scale_a;\nuniform float u_scale_b;\nuniform float u_tile_units_to_pixels;\n\nattribute vec2 a_pos;\n\nvarying vec2 v_pos_a;\nvarying vec2 v_pos_b;\n\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n #pragma mapbox: initialize lowp float opacity\n\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\n\n 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);\n 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);\n}\n"},fillExtrusion:{fragmentSource:"varying vec4 v_color;\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n#pragma mapbox: define highp vec4 color\n\nvoid main() {\n #pragma mapbox: initialize lowp float base\n #pragma mapbox: initialize lowp float height\n #pragma mapbox: initialize highp vec4 color\n\n gl_FragColor = v_color;\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"uniform mat4 u_matrix;\nuniform vec3 u_lightcolor;\nuniform lowp vec3 u_lightpos;\nuniform lowp float u_lightintensity;\n\nattribute vec2 a_pos;\nattribute vec4 a_normal_ed;\n\nvarying vec4 v_color;\n\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n\n#pragma mapbox: define highp vec4 color\n\nvoid main() {\n #pragma mapbox: initialize lowp float base\n #pragma mapbox: initialize lowp float height\n #pragma mapbox: initialize highp vec4 color\n\n vec3 normal = a_normal_ed.xyz;\n\n base = max(0.0, base);\n height = max(0.0, height);\n\n float t = mod(normal.x, 2.0);\n\n gl_Position = u_matrix * vec4(a_pos, t > 0.0 ? height : base, 1);\n\n // Relative luminance (how dark/bright is the surface color?)\n float colorvalue = color.r * 0.2126 + color.g * 0.7152 + color.b * 0.0722;\n\n v_color = vec4(0.0, 0.0, 0.0, 1.0);\n\n // Add slight ambient lighting so no extrusions are totally black\n vec4 ambientlight = vec4(0.03, 0.03, 0.03, 1.0);\n color += ambientlight;\n\n // Calculate cos(theta), where theta is the angle between surface normal and diffuse light ray\n float directional = clamp(dot(normal / 16384.0, u_lightpos), 0.0, 1.0);\n\n // Adjust directional so that\n // the range of values for highlight/shading is narrower\n // with lower light intensity\n // and with lighter/brighter surface colors\n directional = mix((1.0 - u_lightintensity), max((1.0 - colorvalue + u_lightintensity), 1.0), directional);\n\n // Add gradient along z axis of side surfaces\n if (normal.y != 0.0) {\n directional *= clamp((t + base) * pow(height / 150.0, 0.5), mix(0.7, 0.98, 1.0 - u_lightintensity), 1.0);\n }\n\n // Assign final color based on surface + ambient light color, diffuse light directional, and light color\n // with lower bounds adjusted to hue of light\n // so that shading is tinted with the complementary (opposite) color to the light color\n v_color.r += clamp(color.r * directional * u_lightcolor.r, mix(0.0, 0.3, 1.0 - u_lightcolor.r), 1.0);\n v_color.g += clamp(color.g * directional * u_lightcolor.g, mix(0.0, 0.3, 1.0 - u_lightcolor.g), 1.0);\n v_color.b += clamp(color.b * directional * u_lightcolor.b, mix(0.0, 0.3, 1.0 - u_lightcolor.b), 1.0);\n}\n"},fillExtrusionPattern:{fragmentSource:"uniform vec2 u_pattern_tl_a;\nuniform vec2 u_pattern_br_a;\nuniform vec2 u_pattern_tl_b;\nuniform vec2 u_pattern_br_b;\nuniform vec2 u_texsize;\nuniform float u_mix;\n\nuniform sampler2D u_image;\n\nvarying vec2 v_pos_a;\nvarying vec2 v_pos_b;\nvarying vec4 v_lighting;\n\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n\nvoid main() {\n #pragma mapbox: initialize lowp float base\n #pragma mapbox: initialize lowp float height\n\n vec2 imagecoord = mod(v_pos_a, 1.0);\n vec2 pos = mix(u_pattern_tl_a / u_texsize, u_pattern_br_a / u_texsize, imagecoord);\n vec4 color1 = texture2D(u_image, pos);\n\n vec2 imagecoord_b = mod(v_pos_b, 1.0);\n vec2 pos2 = mix(u_pattern_tl_b / u_texsize, u_pattern_br_b / u_texsize, imagecoord_b);\n vec4 color2 = texture2D(u_image, pos2);\n\n vec4 mixedColor = mix(color1, color2, u_mix);\n\n gl_FragColor = mixedColor * v_lighting;\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"uniform mat4 u_matrix;\nuniform vec2 u_pattern_size_a;\nuniform vec2 u_pattern_size_b;\nuniform vec2 u_pixel_coord_upper;\nuniform vec2 u_pixel_coord_lower;\nuniform float u_scale_a;\nuniform float u_scale_b;\nuniform float u_tile_units_to_pixels;\nuniform float u_height_factor;\n\nuniform vec3 u_lightcolor;\nuniform lowp vec3 u_lightpos;\nuniform lowp float u_lightintensity;\n\nattribute vec2 a_pos;\nattribute vec4 a_normal_ed;\n\nvarying vec2 v_pos_a;\nvarying vec2 v_pos_b;\nvarying vec4 v_lighting;\nvarying float v_directional;\n\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n\nvoid main() {\n #pragma mapbox: initialize lowp float base\n #pragma mapbox: initialize lowp float height\n\n vec3 normal = a_normal_ed.xyz;\n float edgedistance = a_normal_ed.w;\n\n base = max(0.0, base);\n height = max(0.0, height);\n\n float t = mod(normal.x, 2.0);\n float z = t > 0.0 ? height : base;\n\n gl_Position = u_matrix * vec4(a_pos, z, 1);\n\n vec2 pos = normal.x == 1.0 && normal.y == 0.0 && normal.z == 16384.0\n ? a_pos // extrusion top\n : vec2(edgedistance, z * u_height_factor); // extrusion side\n\n 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, pos);\n 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, pos);\n\n v_lighting = vec4(0.0, 0.0, 0.0, 1.0);\n float directional = clamp(dot(normal / 16383.0, u_lightpos), 0.0, 1.0);\n directional = mix((1.0 - u_lightintensity), max((0.5 + u_lightintensity), 1.0), directional);\n\n if (normal.y != 0.0) {\n directional *= clamp((t + base) * pow(height / 150.0, 0.5), mix(0.7, 0.98, 1.0 - u_lightintensity), 1.0);\n }\n\n v_lighting.rgb += clamp(directional * u_lightcolor, mix(vec3(0.0), vec3(0.3), 1.0 - u_lightcolor), vec3(1.0));\n}\n"},extrusionTexture:{fragmentSource:"uniform sampler2D u_image;\nuniform float u_opacity;\nvarying vec2 v_pos;\n\nvoid main() {\n gl_FragColor = texture2D(u_image, v_pos) * u_opacity;\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(0.0);\n#endif\n}\n",vertexSource:"uniform mat4 u_matrix;\nuniform vec2 u_world;\nattribute vec2 a_pos;\nvarying vec2 v_pos;\n\nvoid main() {\n gl_Position = u_matrix * vec4(a_pos * u_world, 0, 1);\n\n v_pos.x = a_pos.x;\n v_pos.y = 1.0 - a_pos.y;\n}\n"},hillshadePrepare:{fragmentSource:"#ifdef GL_ES\nprecision highp float;\n#endif\n\nuniform sampler2D u_image;\nvarying vec2 v_pos;\nuniform vec2 u_dimension;\nuniform float u_zoom;\nuniform float u_maxzoom;\n\nfloat getElevation(vec2 coord, float bias) {\n // Convert encoded elevation value to meters\n vec4 data = texture2D(u_image, coord) * 255.0;\n return (data.r + data.g * 256.0 + data.b * 256.0 * 256.0) / 4.0;\n}\n\nvoid main() {\n vec2 epsilon = 1.0 / u_dimension;\n\n // queried pixels:\n // +-----------+\n // | | | |\n // | a | b | c |\n // | | | |\n // +-----------+\n // | | | |\n // | d | e | f |\n // | | | |\n // +-----------+\n // | | | |\n // | g | h | i |\n // | | | |\n // +-----------+\n\n float a = getElevation(v_pos + vec2(-epsilon.x, -epsilon.y), 0.0);\n float b = getElevation(v_pos + vec2(0, -epsilon.y), 0.0);\n float c = getElevation(v_pos + vec2(epsilon.x, -epsilon.y), 0.0);\n float d = getElevation(v_pos + vec2(-epsilon.x, 0), 0.0);\n float e = getElevation(v_pos, 0.0);\n float f = getElevation(v_pos + vec2(epsilon.x, 0), 0.0);\n float g = getElevation(v_pos + vec2(-epsilon.x, epsilon.y), 0.0);\n float h = getElevation(v_pos + vec2(0, epsilon.y), 0.0);\n float i = getElevation(v_pos + vec2(epsilon.x, epsilon.y), 0.0);\n\n // here we divide the x and y slopes by 8 * pixel size\n // where pixel size (aka meters/pixel) is:\n // circumference of the world / (pixels per tile * number of tiles)\n // which is equivalent to: 8 * 40075016.6855785 / (512 * pow(2, u_zoom))\n // which can be reduced to: pow(2, 19.25619978527 - u_zoom)\n // we want to vertically exaggerate the hillshading though, because otherwise\n // it is barely noticeable at low zooms. to do this, we multiply this by some\n // scale factor pow(2, (u_zoom - u_maxzoom) * a) where a is an arbitrary value\n // Here we use a=0.3 which works out to the expression below. see \n // nickidlugash's awesome breakdown for more info\n // https://github.com/mapbox/mapbox-gl-js/pull/5286#discussion_r148419556\n float exaggeration = u_zoom < 2.0 ? 0.4 : u_zoom < 4.5 ? 0.35 : 0.3;\n\n vec2 deriv = vec2(\n (c + f + f + i) - (a + d + d + g),\n (g + h + h + i) - (a + b + b + c)\n ) / pow(2.0, (u_zoom - u_maxzoom) * exaggeration + 19.2562 - u_zoom);\n\n gl_FragColor = clamp(vec4(\n deriv.x / 2.0 + 0.5,\n deriv.y / 2.0 + 0.5,\n 1.0,\n 1.0), 0.0, 1.0);\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"uniform mat4 u_matrix;\n\nattribute vec2 a_pos;\nattribute vec2 a_texture_pos;\n\nvarying vec2 v_pos;\n\nvoid main() {\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\n v_pos = (a_texture_pos / 8192.0) / 2.0 + 0.25;\n}\n"},hillshade:{fragmentSource:"uniform sampler2D u_image;\nvarying vec2 v_pos;\n\nuniform vec2 u_latrange;\nuniform vec2 u_light;\nuniform vec4 u_shadow;\nuniform vec4 u_highlight;\nuniform vec4 u_accent;\n\n#define PI 3.141592653589793\n\nvoid main() {\n vec4 pixel = texture2D(u_image, v_pos);\n\n vec2 deriv = ((pixel.rg * 2.0) - 1.0);\n\n // We divide the slope by a scale factor based on the cosin of the pixel's approximate latitude\n // to account for mercator projection distortion. see #4807 for details\n float scaleFactor = cos(radians((u_latrange[0] - u_latrange[1]) * (1.0 - v_pos.y) + u_latrange[1]));\n // We also multiply the slope by an arbitrary z-factor of 1.25\n float slope = atan(1.25 * length(deriv) / scaleFactor);\n float aspect = deriv.x != 0.0 ? atan(deriv.y, -deriv.x) : PI / 2.0 * (deriv.y > 0.0 ? 1.0 : -1.0);\n\n float intensity = u_light.x;\n // We add PI to make this property match the global light object, which adds PI/2 to the light's azimuthal\n // position property to account for 0deg corresponding to north/the top of the viewport in the style spec\n // and the original shader was written to accept (-illuminationDirection - 90) as the azimuthal.\n float azimuth = u_light.y + PI;\n\n // We scale the slope exponentially based on intensity, using a calculation similar to\n // the exponential interpolation function in the style spec:\n // https://github.com/mapbox/mapbox-gl-js/blob/master/src/style-spec/expression/definitions/interpolate.js#L217-L228\n // so that higher intensity values create more opaque hillshading.\n float base = 1.875 - intensity * 1.75;\n float maxValue = 0.5 * PI;\n float scaledSlope = intensity != 0.5 ? ((pow(base, slope) - 1.0) / (pow(base, maxValue) - 1.0)) * maxValue : slope;\n\n // The accent color is calculated with the cosine of the slope while the shade color is calculated with the sine\n // so that the accent color's rate of change eases in while the shade color's eases out.\n float accent = cos(scaledSlope);\n // We multiply both the accent and shade color by a clamped intensity value\n // so that intensities >= 0.5 do not additionally affect the color values\n // while intensity values < 0.5 make the overall color more transparent.\n vec4 accent_color = (1.0 - accent) * u_accent * clamp(intensity * 2.0, 0.0, 1.0);\n float shade = abs(mod((aspect + azimuth) / PI + 0.5, 2.0) - 1.0);\n vec4 shade_color = mix(u_shadow, u_highlight, shade) * sin(scaledSlope) * clamp(intensity * 2.0, 0.0, 1.0);\n gl_FragColor = accent_color * (1.0 - shade_color.a) + shade_color;\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"uniform mat4 u_matrix;\n\nattribute vec2 a_pos;\nattribute vec2 a_texture_pos;\n\nvarying vec2 v_pos;\n\nvoid main() {\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\n v_pos = a_texture_pos / 8192.0;\n}\n"},line:{fragmentSource:"#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n\nvarying vec2 v_width2;\nvarying vec2 v_normal;\nvarying float v_gamma_scale;\n\nvoid main() {\n #pragma mapbox: initialize highp vec4 color\n #pragma mapbox: initialize lowp float blur\n #pragma mapbox: initialize lowp float opacity\n\n // Calculate the distance of the pixel from the line in pixels.\n float dist = length(v_normal) * v_width2.s;\n\n // Calculate the antialiasing fade factor. This is either when fading in\n // the line in case of an offset line (v_width2.t) or when fading out\n // (v_width2.s)\n float blur2 = (blur + 1.0 / DEVICE_PIXEL_RATIO) * v_gamma_scale;\n float alpha = clamp(min(dist - (v_width2.t - blur2), v_width2.s - dist) / blur2, 0.0, 1.0);\n\n gl_FragColor = color * (alpha * opacity);\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"\n\n// the distance over which the line edge fades out.\n// Retina devices need a smaller distance to avoid aliasing.\n#define ANTIALIASING 1.0 / DEVICE_PIXEL_RATIO / 2.0\n\n// floor(127 / 2) == 63.0\n// the maximum allowed miter limit is 2.0 at the moment. the extrude normal is\n// stored in a byte (-128..127). we scale regular normals up to length 63, but\n// there are also \"special\" normals that have a bigger length (of up to 126 in\n// this case).\n// #define scale 63.0\n#define scale 0.015873016\n\nattribute vec4 a_pos_normal;\nattribute vec4 a_data;\n\nuniform mat4 u_matrix;\nuniform mediump float u_ratio;\nuniform vec2 u_gl_units_to_pixels;\n\nvarying vec2 v_normal;\nvarying vec2 v_width2;\nvarying float v_gamma_scale;\nvarying highp float v_linesofar;\n\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\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\n vec2 a_extrude = a_data.xy - 128.0;\n float a_direction = mod(a_data.z, 4.0) - 1.0;\n\n v_linesofar = (floor(a_data.z / 4.0) + a_data.w * 64.0) * 2.0;\n\n vec2 pos = a_pos_normal.xy;\n\n // x is 1 if it's a round cap, 0 otherwise\n // y is 1 if the normal points up, and -1 if it points down\n mediump vec2 normal = a_pos_normal.zw;\n v_normal = normal;\n\n // these transformations used to be applied in the JS and native code bases.\n // moved them into the shader for clarity and simplicity.\n gapwidth = gapwidth / 2.0;\n float halfwidth = width / 2.0;\n offset = -1.0 * offset;\n\n float inset = gapwidth + (gapwidth > 0.0 ? ANTIALIASING : 0.0);\n float outset = gapwidth + halfwidth * (gapwidth > 0.0 ? 2.0 : 1.0) + ANTIALIASING;\n\n // Scale the extrusion vector down to a normal and then up by the line width\n // of this vertex.\n mediump vec2 dist = outset * a_extrude * scale;\n\n // Calculate the offset when drawing a line that is to the side of the actual line.\n // We do this by creating a vector that points towards the extrude, but rotate\n // it when we're drawing round end points (a_direction = -1 or 1) since their\n // extrude vector points in another direction.\n mediump float u = 0.5 * a_direction;\n mediump float t = 1.0 - abs(u);\n mediump vec2 offset2 = offset * a_extrude * scale * normal.y * mat2(t, -u, u, t);\n\n vec4 projected_extrude = u_matrix * vec4(dist / u_ratio, 0.0, 0.0);\n gl_Position = u_matrix * vec4(pos + offset2 / u_ratio, 0.0, 1.0) + projected_extrude;\n\n // calculate how much the perspective view squishes or stretches the extrude\n float extrude_length_without_perspective = length(dist);\n float extrude_length_with_perspective = length(projected_extrude.xy / gl_Position.w * u_gl_units_to_pixels);\n v_gamma_scale = extrude_length_without_perspective / extrude_length_with_perspective;\n\n v_width2 = vec2(outset, inset);\n}\n"},lineGradient:{fragmentSource:"\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n\nuniform sampler2D u_image;\n\nvarying vec2 v_width2;\nvarying vec2 v_normal;\nvarying float v_gamma_scale;\nvarying highp float v_lineprogress;\n\nvoid main() {\n #pragma mapbox: initialize lowp float blur\n #pragma mapbox: initialize lowp float opacity\n\n // Calculate the distance of the pixel from the line in pixels.\n float dist = length(v_normal) * v_width2.s;\n\n // Calculate the antialiasing fade factor. This is either when fading in\n // the line in case of an offset line (v_width2.t) or when fading out\n // (v_width2.s)\n float blur2 = (blur + 1.0 / DEVICE_PIXEL_RATIO) * v_gamma_scale;\n float alpha = clamp(min(dist - (v_width2.t - blur2), v_width2.s - dist) / blur2, 0.0, 1.0);\n\n // For gradient lines, v_lineprogress is the ratio along the entire line,\n // scaled to [0, 2^15), and the gradient ramp is stored in a texture.\n vec4 color = texture2D(u_image, vec2(v_lineprogress, 0.5));\n\n gl_FragColor = color * (alpha * opacity);\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"\n// the attribute conveying progress along a line is scaled to [0, 2^15)\n#define MAX_LINE_DISTANCE 32767.0\n\n// the distance over which the line edge fades out.\n// Retina devices need a smaller distance to avoid aliasing.\n#define ANTIALIASING 1.0 / DEVICE_PIXEL_RATIO / 2.0\n\n// floor(127 / 2) == 63.0\n// the maximum allowed miter limit is 2.0 at the moment. the extrude normal is\n// stored in a byte (-128..127). we scale regular normals up to length 63, but\n// there are also \"special\" normals that have a bigger length (of up to 126 in\n// this case).\n// #define scale 63.0\n#define scale 0.015873016\n\nattribute vec4 a_pos_normal;\nattribute vec4 a_data;\n\nuniform mat4 u_matrix;\nuniform mediump float u_ratio;\nuniform vec2 u_gl_units_to_pixels;\n\nvarying vec2 v_normal;\nvarying vec2 v_width2;\nvarying float v_gamma_scale;\nvarying highp float v_lineprogress;\n\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\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\n\n vec2 a_extrude = a_data.xy - 128.0;\n float a_direction = mod(a_data.z, 4.0) - 1.0;\n\n v_lineprogress = (floor(a_data.z / 4.0) + a_data.w * 64.0) * 2.0 / MAX_LINE_DISTANCE;\n\n vec2 pos = a_pos_normal.xy;\n\n // x is 1 if it's a round cap, 0 otherwise\n // y is 1 if the normal points up, and -1 if it points down\n mediump vec2 normal = a_pos_normal.zw;\n v_normal = normal;\n\n // these transformations used to be applied in the JS and native code bases.\n // moved them into the shader for clarity and simplicity.\n gapwidth = gapwidth / 2.0;\n float halfwidth = width / 2.0;\n offset = -1.0 * offset;\n\n float inset = gapwidth + (gapwidth > 0.0 ? ANTIALIASING : 0.0);\n float outset = gapwidth + halfwidth * (gapwidth > 0.0 ? 2.0 : 1.0) + ANTIALIASING;\n\n // Scale the extrusion vector down to a normal and then up by the line width\n // of this vertex.\n mediump vec2 dist = outset * a_extrude * scale;\n\n // Calculate the offset when drawing a line that is to the side of the actual line.\n // We do this by creating a vector that points towards the extrude, but rotate\n // it when we're drawing round end points (a_direction = -1 or 1) since their\n // extrude vector points in another direction.\n mediump float u = 0.5 * a_direction;\n mediump float t = 1.0 - abs(u);\n mediump vec2 offset2 = offset * a_extrude * scale * normal.y * mat2(t, -u, u, t);\n\n vec4 projected_extrude = u_matrix * vec4(dist / u_ratio, 0.0, 0.0);\n gl_Position = u_matrix * vec4(pos + offset2 / u_ratio, 0.0, 1.0) + projected_extrude;\n\n // calculate how much the perspective view squishes or stretches the extrude\n float extrude_length_without_perspective = length(dist);\n float extrude_length_with_perspective = length(projected_extrude.xy / gl_Position.w * u_gl_units_to_pixels);\n v_gamma_scale = extrude_length_without_perspective / extrude_length_with_perspective;\n\n v_width2 = vec2(outset, inset);\n}\n"},linePattern:{fragmentSource:"uniform vec2 u_pattern_size_a;\nuniform vec2 u_pattern_size_b;\nuniform vec2 u_pattern_tl_a;\nuniform vec2 u_pattern_br_a;\nuniform vec2 u_pattern_tl_b;\nuniform vec2 u_pattern_br_b;\nuniform vec2 u_texsize;\nuniform float u_fade;\n\nuniform sampler2D u_image;\n\nvarying vec2 v_normal;\nvarying vec2 v_width2;\nvarying float v_linesofar;\nvarying float v_gamma_scale;\n\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n\nvoid main() {\n #pragma mapbox: initialize lowp float blur\n #pragma mapbox: initialize lowp float opacity\n\n // Calculate the distance of the pixel from the line in pixels.\n float dist = length(v_normal) * v_width2.s;\n\n // Calculate the antialiasing fade factor. This is either when fading in\n // the line in case of an offset line (v_width2.t) or when fading out\n // (v_width2.s)\n float blur2 = (blur + 1.0 / DEVICE_PIXEL_RATIO) * v_gamma_scale;\n float alpha = clamp(min(dist - (v_width2.t - blur2), v_width2.s - dist) / blur2, 0.0, 1.0);\n\n float x_a = mod(v_linesofar / u_pattern_size_a.x, 1.0);\n float x_b = mod(v_linesofar / u_pattern_size_b.x, 1.0);\n\n // v_normal.y is 0 at the midpoint of the line, -1 at the lower edge, 1 at the upper edge\n // we clamp the line width outset to be between 0 and half the pattern height plus padding (2.0)\n // to ensure we don't sample outside the designated symbol on the sprite sheet.\n // 0.5 is added to shift the component to be bounded between 0 and 1 for interpolation of\n // the texture coordinate\n float y_a = 0.5 + (v_normal.y * clamp(v_width2.s, 0.0, (u_pattern_size_a.y + 2.0) / 2.0) / u_pattern_size_a.y);\n float y_b = 0.5 + (v_normal.y * clamp(v_width2.s, 0.0, (u_pattern_size_b.y + 2.0) / 2.0) / u_pattern_size_b.y);\n vec2 pos_a = mix(u_pattern_tl_a / u_texsize, u_pattern_br_a / u_texsize, vec2(x_a, y_a));\n vec2 pos_b = mix(u_pattern_tl_b / u_texsize, u_pattern_br_b / u_texsize, vec2(x_b, y_b));\n\n vec4 color = mix(texture2D(u_image, pos_a), texture2D(u_image, pos_b), u_fade);\n\n gl_FragColor = color * alpha * opacity;\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"// floor(127 / 2) == 63.0\n// the maximum allowed miter limit is 2.0 at the moment. the extrude normal is\n// stored in a byte (-128..127). we scale regular normals up to length 63, but\n// there are also \"special\" normals that have a bigger length (of up to 126 in\n// this case).\n// #define scale 63.0\n#define scale 0.015873016\n\n// We scale the distance before adding it to the buffers so that we can store\n// long distances for long segments. Use this value to unscale the distance.\n#define LINE_DISTANCE_SCALE 2.0\n\n// the distance over which the line edge fades out.\n// Retina devices need a smaller distance to avoid aliasing.\n#define ANTIALIASING 1.0 / DEVICE_PIXEL_RATIO / 2.0\n\nattribute vec4 a_pos_normal;\nattribute vec4 a_data;\n\nuniform mat4 u_matrix;\nuniform mediump float u_ratio;\nuniform vec2 u_gl_units_to_pixels;\n\nvarying vec2 v_normal;\nvarying vec2 v_width2;\nvarying float v_linesofar;\nvarying float v_gamma_scale;\n\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\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\n vec2 a_extrude = a_data.xy - 128.0;\n float a_direction = mod(a_data.z, 4.0) - 1.0;\n float a_linesofar = (floor(a_data.z / 4.0) + a_data.w * 64.0) * LINE_DISTANCE_SCALE;\n\n vec2 pos = a_pos_normal.xy;\n\n // x is 1 if it's a round cap, 0 otherwise\n // y is 1 if the normal points up, and -1 if it points down\n mediump vec2 normal = a_pos_normal.zw;\n v_normal = normal;\n\n // these transformations used to be applied in the JS and native code bases.\n // moved them into the shader for clarity and simplicity.\n gapwidth = gapwidth / 2.0;\n float halfwidth = width / 2.0;\n offset = -1.0 * offset;\n\n float inset = gapwidth + (gapwidth > 0.0 ? ANTIALIASING : 0.0);\n float outset = gapwidth + halfwidth * (gapwidth > 0.0 ? 2.0 : 1.0) + ANTIALIASING;\n\n // Scale the extrusion vector down to a normal and then up by the line width\n // of this vertex.\n mediump vec2 dist = outset * a_extrude * scale;\n\n // Calculate the offset when drawing a line that is to the side of the actual line.\n // We do this by creating a vector that points towards the extrude, but rotate\n // it when we're drawing round end points (a_direction = -1 or 1) since their\n // extrude vector points in another direction.\n mediump float u = 0.5 * a_direction;\n mediump float t = 1.0 - abs(u);\n mediump vec2 offset2 = offset * a_extrude * scale * normal.y * mat2(t, -u, u, t);\n\n vec4 projected_extrude = u_matrix * vec4(dist / u_ratio, 0.0, 0.0);\n gl_Position = u_matrix * vec4(pos + offset2 / u_ratio, 0.0, 1.0) + projected_extrude;\n\n // calculate how much the perspective view squishes or stretches the extrude\n float extrude_length_without_perspective = length(dist);\n float extrude_length_with_perspective = length(projected_extrude.xy / gl_Position.w * u_gl_units_to_pixels);\n v_gamma_scale = extrude_length_without_perspective / extrude_length_with_perspective;\n\n v_linesofar = a_linesofar;\n v_width2 = vec2(outset, inset);\n}\n"},lineSDF:{fragmentSource:"\nuniform sampler2D u_image;\nuniform float u_sdfgamma;\nuniform float u_mix;\n\nvarying vec2 v_normal;\nvarying vec2 v_width2;\nvarying vec2 v_tex_a;\nvarying vec2 v_tex_b;\nvarying float v_gamma_scale;\n\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\n\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\n\n // Calculate the distance of the pixel from the line in pixels.\n float dist = length(v_normal) * v_width2.s;\n\n // Calculate the antialiasing fade factor. This is either when fading in\n // the line in case of an offset line (v_width2.t) or when fading out\n // (v_width2.s)\n float blur2 = (blur + 1.0 / DEVICE_PIXEL_RATIO) * v_gamma_scale;\n float alpha = clamp(min(dist - (v_width2.t - blur2), v_width2.s - dist) / blur2, 0.0, 1.0);\n\n float sdfdist_a = texture2D(u_image, v_tex_a).a;\n float sdfdist_b = texture2D(u_image, v_tex_b).a;\n float sdfdist = mix(sdfdist_a, sdfdist_b, u_mix);\n alpha *= smoothstep(0.5 - u_sdfgamma / floorwidth, 0.5 + u_sdfgamma / floorwidth, sdfdist);\n\n gl_FragColor = color * (alpha * opacity);\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"// floor(127 / 2) == 63.0\n// the maximum allowed miter limit is 2.0 at the moment. the extrude normal is\n// stored in a byte (-128..127). we scale regular normals up to length 63, but\n// there are also \"special\" normals that have a bigger length (of up to 126 in\n// this case).\n// #define scale 63.0\n#define scale 0.015873016\n\n// We scale the distance before adding it to the buffers so that we can store\n// long distances for long segments. Use this value to unscale the distance.\n#define LINE_DISTANCE_SCALE 2.0\n\n// the distance over which the line edge fades out.\n// Retina devices need a smaller distance to avoid aliasing.\n#define ANTIALIASING 1.0 / DEVICE_PIXEL_RATIO / 2.0\n\nattribute vec4 a_pos_normal;\nattribute vec4 a_data;\n\nuniform mat4 u_matrix;\nuniform mediump float u_ratio;\nuniform vec2 u_patternscale_a;\nuniform float u_tex_y_a;\nuniform vec2 u_patternscale_b;\nuniform float u_tex_y_b;\nuniform vec2 u_gl_units_to_pixels;\n\nvarying vec2 v_normal;\nvarying vec2 v_width2;\nvarying vec2 v_tex_a;\nvarying vec2 v_tex_b;\nvarying float v_gamma_scale;\n\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\n\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\n\n vec2 a_extrude = a_data.xy - 128.0;\n float a_direction = mod(a_data.z, 4.0) - 1.0;\n float a_linesofar = (floor(a_data.z / 4.0) + a_data.w * 64.0) * LINE_DISTANCE_SCALE;\n\n vec2 pos = a_pos_normal.xy;\n\n // x is 1 if it's a round cap, 0 otherwise\n // y is 1 if the normal points up, and -1 if it points down\n mediump vec2 normal = a_pos_normal.zw;\n v_normal = normal;\n\n // these transformations used to be applied in the JS and native code bases.\n // moved them into the shader for clarity and simplicity.\n gapwidth = gapwidth / 2.0;\n float halfwidth = width / 2.0;\n offset = -1.0 * offset;\n\n float inset = gapwidth + (gapwidth > 0.0 ? ANTIALIASING : 0.0);\n float outset = gapwidth + halfwidth * (gapwidth > 0.0 ? 2.0 : 1.0) + ANTIALIASING;\n\n // Scale the extrusion vector down to a normal and then up by the line width\n // of this vertex.\n mediump vec2 dist =outset * a_extrude * scale;\n\n // Calculate the offset when drawing a line that is to the side of the actual line.\n // We do this by creating a vector that points towards the extrude, but rotate\n // it when we're drawing round end points (a_direction = -1 or 1) since their\n // extrude vector points in another direction.\n mediump float u = 0.5 * a_direction;\n mediump float t = 1.0 - abs(u);\n mediump vec2 offset2 = offset * a_extrude * scale * normal.y * mat2(t, -u, u, t);\n\n vec4 projected_extrude = u_matrix * vec4(dist / u_ratio, 0.0, 0.0);\n gl_Position = u_matrix * vec4(pos + offset2 / u_ratio, 0.0, 1.0) + projected_extrude;\n\n // calculate how much the perspective view squishes or stretches the extrude\n float extrude_length_without_perspective = length(dist);\n float extrude_length_with_perspective = length(projected_extrude.xy / gl_Position.w * u_gl_units_to_pixels);\n v_gamma_scale = extrude_length_without_perspective / extrude_length_with_perspective;\n\n v_tex_a = vec2(a_linesofar * u_patternscale_a.x / floorwidth, normal.y * u_patternscale_a.y + u_tex_y_a);\n v_tex_b = vec2(a_linesofar * u_patternscale_b.x / floorwidth, normal.y * u_patternscale_b.y + u_tex_y_b);\n\n v_width2 = vec2(outset, inset);\n}\n"},raster:{fragmentSource:"uniform float u_fade_t;\nuniform float u_opacity;\nuniform sampler2D u_image0;\nuniform sampler2D u_image1;\nvarying vec2 v_pos0;\nvarying vec2 v_pos1;\n\nuniform float u_brightness_low;\nuniform float u_brightness_high;\n\nuniform float u_saturation_factor;\nuniform float u_contrast_factor;\nuniform vec3 u_spin_weights;\n\nvoid main() {\n\n // read and cross-fade colors from the main and parent tiles\n vec4 color0 = texture2D(u_image0, v_pos0);\n vec4 color1 = texture2D(u_image1, v_pos1);\n if (color0.a > 0.0) {\n color0.rgb = color0.rgb / color0.a;\n }\n if (color1.a > 0.0) {\n color1.rgb = color1.rgb / color1.a;\n }\n vec4 color = mix(color0, color1, u_fade_t);\n color.a *= u_opacity;\n vec3 rgb = color.rgb;\n\n // spin\n rgb = vec3(\n dot(rgb, u_spin_weights.xyz),\n dot(rgb, u_spin_weights.zxy),\n dot(rgb, u_spin_weights.yzx));\n\n // saturation\n float average = (color.r + color.g + color.b) / 3.0;\n rgb += (average - rgb) * u_saturation_factor;\n\n // contrast\n rgb = (rgb - 0.5) * u_contrast_factor + 0.5;\n\n // brightness\n vec3 u_high_vec = vec3(u_brightness_low, u_brightness_low, u_brightness_low);\n vec3 u_low_vec = vec3(u_brightness_high, u_brightness_high, u_brightness_high);\n\n gl_FragColor = vec4(mix(u_high_vec, u_low_vec, rgb) * color.a, color.a);\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"uniform mat4 u_matrix;\nuniform vec2 u_tl_parent;\nuniform float u_scale_parent;\nuniform float u_buffer_scale;\n\nattribute vec2 a_pos;\nattribute vec2 a_texture_pos;\n\nvarying vec2 v_pos0;\nvarying vec2 v_pos1;\n\nvoid main() {\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\n // We are using Int16 for texture position coordinates to give us enough precision for\n // fractional coordinates. We use 8192 to scale the texture coordinates in the buffer\n // as an arbitrarily high number to preserve adequate precision when rendering.\n // This is also the same value as the EXTENT we are using for our tile buffer pos coordinates,\n // so math for modifying either is consistent.\n v_pos0 = (((a_texture_pos / 8192.0) - 0.5) / u_buffer_scale ) + 0.5;\n v_pos1 = (v_pos0 * u_scale_parent) + u_tl_parent;\n}\n"},symbolIcon:{fragmentSource:"uniform sampler2D u_texture;\n\n#pragma mapbox: define lowp float opacity\n\nvarying vec2 v_tex;\nvarying float v_fade_opacity;\n\nvoid main() {\n #pragma mapbox: initialize lowp float opacity\n\n lowp float alpha = opacity * v_fade_opacity;\n gl_FragColor = texture2D(u_texture, v_tex) * alpha;\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"const float PI = 3.141592653589793;\n\nattribute vec4 a_pos_offset;\nattribute vec4 a_data;\nattribute vec3 a_projected_pos;\nattribute float a_fade_opacity;\n\nuniform bool u_is_size_zoom_constant;\nuniform bool u_is_size_feature_constant;\nuniform highp float u_size_t; // used to interpolate between zoom stops when size is a composite function\nuniform highp float u_size; // used when size is both zoom and feature constant\nuniform highp float u_camera_to_center_distance;\nuniform highp float u_pitch;\nuniform bool u_rotate_symbol;\nuniform highp float u_aspect_ratio;\nuniform float u_fade_change;\n\n#pragma mapbox: define lowp float opacity\n\nuniform mat4 u_matrix;\nuniform mat4 u_label_plane_matrix;\nuniform mat4 u_gl_coord_matrix;\n\nuniform bool u_is_text;\nuniform bool u_pitch_with_map;\n\nuniform vec2 u_texsize;\n\nvarying vec2 v_tex;\nvarying float v_fade_opacity;\n\nvoid main() {\n #pragma mapbox: initialize lowp float opacity\n\n vec2 a_pos = a_pos_offset.xy;\n vec2 a_offset = a_pos_offset.zw;\n\n vec2 a_tex = a_data.xy;\n vec2 a_size = a_data.zw;\n\n highp float segment_angle = -a_projected_pos[2];\n\n float size;\n if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {\n size = mix(a_size[0], a_size[1], u_size_t) / 10.0;\n } else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {\n size = a_size[0] / 10.0;\n } else if (!u_is_size_zoom_constant && u_is_size_feature_constant) {\n size = u_size;\n } else {\n size = u_size;\n }\n\n vec4 projectedPoint = u_matrix * vec4(a_pos, 0, 1);\n highp float camera_to_anchor_distance = projectedPoint.w;\n // See comments in symbol_sdf.vertex\n highp float distance_ratio = u_pitch_with_map ?\n camera_to_anchor_distance / u_camera_to_center_distance :\n u_camera_to_center_distance / camera_to_anchor_distance;\n highp float perspective_ratio = clamp(\n 0.5 + 0.5 * distance_ratio,\n 0.0, // Prevents oversized near-field symbols in pitched/overzoomed tiles\n 4.0);\n\n size *= perspective_ratio;\n\n float fontScale = u_is_text ? size / 24.0 : size;\n\n highp float symbol_rotation = 0.0;\n if (u_rotate_symbol) {\n // See comments in symbol_sdf.vertex\n vec4 offsetProjectedPoint = u_matrix * vec4(a_pos + vec2(1, 0), 0, 1);\n\n vec2 a = projectedPoint.xy / projectedPoint.w;\n vec2 b = offsetProjectedPoint.xy / offsetProjectedPoint.w;\n\n symbol_rotation = atan((b.y - a.y) / u_aspect_ratio, b.x - a.x);\n }\n\n highp float angle_sin = sin(segment_angle + symbol_rotation);\n highp float angle_cos = cos(segment_angle + symbol_rotation);\n mat2 rotation_matrix = mat2(angle_cos, -1.0 * angle_sin, angle_sin, angle_cos);\n\n vec4 projected_pos = u_label_plane_matrix * vec4(a_projected_pos.xy, 0.0, 1.0);\n gl_Position = u_gl_coord_matrix * vec4(projected_pos.xy / projected_pos.w + rotation_matrix * (a_offset / 32.0 * fontScale), 0.0, 1.0);\n\n v_tex = a_tex / u_texsize;\n vec2 fade_opacity = unpack_opacity(a_fade_opacity);\n float fade_change = fade_opacity[1] > 0.5 ? u_fade_change : -u_fade_change;\n v_fade_opacity = max(0.0, min(1.0, fade_opacity[0] + fade_change));\n}\n"},symbolSDF:{fragmentSource:"#define SDF_PX 8.0\n#define EDGE_GAMMA 0.105/DEVICE_PIXEL_RATIO\n\nuniform bool u_is_halo;\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\n\nuniform sampler2D u_texture;\nuniform highp float u_gamma_scale;\nuniform bool u_is_text;\n\nvarying vec2 v_data0;\nvarying vec3 v_data1;\n\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\n\n vec2 tex = v_data0.xy;\n float gamma_scale = v_data1.x;\n float size = v_data1.y;\n float fade_opacity = v_data1[2];\n\n float fontScale = u_is_text ? size / 24.0 : size;\n\n lowp vec4 color = fill_color;\n highp float gamma = EDGE_GAMMA / (fontScale * u_gamma_scale);\n lowp float buff = (256.0 - 64.0) / 256.0;\n if (u_is_halo) {\n color = halo_color;\n gamma = (halo_blur * 1.19 / SDF_PX + EDGE_GAMMA) / (fontScale * u_gamma_scale);\n buff = (6.0 - halo_width / fontScale) / SDF_PX;\n }\n\n lowp float dist = texture2D(u_texture, tex).a;\n highp float gamma_scaled = gamma * gamma_scale;\n highp float alpha = smoothstep(buff - gamma_scaled, buff + gamma_scaled, dist);\n\n gl_FragColor = color * (alpha * opacity * fade_opacity);\n\n#ifdef OVERDRAW_INSPECTOR\n gl_FragColor = vec4(1.0);\n#endif\n}\n",vertexSource:"const float PI = 3.141592653589793;\n\nattribute vec4 a_pos_offset;\nattribute vec4 a_data;\nattribute vec3 a_projected_pos;\nattribute float a_fade_opacity;\n\n// contents of a_size vary based on the type of property value\n// used for {text,icon}-size.\n// For constants, a_size is disabled.\n// For source functions, we bind only one value per vertex: the value of {text,icon}-size evaluated for the current feature.\n// For composite functions:\n// [ text-size(lowerZoomStop, feature),\n// text-size(upperZoomStop, feature) ]\nuniform bool u_is_size_zoom_constant;\nuniform bool u_is_size_feature_constant;\nuniform highp float u_size_t; // used to interpolate between zoom stops when size is a composite function\nuniform highp float u_size; // used when size is both zoom and feature constant\n\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\n\nuniform mat4 u_matrix;\nuniform mat4 u_label_plane_matrix;\nuniform mat4 u_gl_coord_matrix;\n\nuniform bool u_is_text;\nuniform bool u_pitch_with_map;\nuniform highp float u_pitch;\nuniform bool u_rotate_symbol;\nuniform highp float u_aspect_ratio;\nuniform highp float u_camera_to_center_distance;\nuniform float u_fade_change;\n\nuniform vec2 u_texsize;\n\nvarying vec2 v_data0;\nvarying vec3 v_data1;\n\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\n\n vec2 a_pos = a_pos_offset.xy;\n vec2 a_offset = a_pos_offset.zw;\n\n vec2 a_tex = a_data.xy;\n vec2 a_size = a_data.zw;\n\n highp float segment_angle = -a_projected_pos[2];\n float size;\n\n if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {\n size = mix(a_size[0], a_size[1], u_size_t) / 10.0;\n } else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {\n size = a_size[0] / 10.0;\n } else if (!u_is_size_zoom_constant && u_is_size_feature_constant) {\n size = u_size;\n } else {\n size = u_size;\n }\n\n vec4 projectedPoint = u_matrix * vec4(a_pos, 0, 1);\n highp float camera_to_anchor_distance = projectedPoint.w;\n // If the label is pitched with the map, layout is done in pitched space,\n // which makes labels in the distance smaller relative to viewport space.\n // We counteract part of that effect by multiplying by the perspective ratio.\n // If the label isn't pitched with the map, we do layout in viewport space,\n // which makes labels in the distance larger relative to the features around\n // them. We counteract part of that effect by dividing by the perspective ratio.\n highp float distance_ratio = u_pitch_with_map ?\n camera_to_anchor_distance / u_camera_to_center_distance :\n u_camera_to_center_distance / camera_to_anchor_distance;\n highp float perspective_ratio = clamp(\n 0.5 + 0.5 * distance_ratio,\n 0.0, // Prevents oversized near-field symbols in pitched/overzoomed tiles\n 4.0);\n\n size *= perspective_ratio;\n\n float fontScale = u_is_text ? size / 24.0 : size;\n\n highp float symbol_rotation = 0.0;\n if (u_rotate_symbol) {\n // Point labels with 'rotation-alignment: map' are horizontal with respect to tile units\n // To figure out that angle in projected space, we draw a short horizontal line in tile\n // space, project it, and measure its angle in projected space.\n vec4 offsetProjectedPoint = u_matrix * vec4(a_pos + vec2(1, 0), 0, 1);\n\n vec2 a = projectedPoint.xy / projectedPoint.w;\n vec2 b = offsetProjectedPoint.xy / offsetProjectedPoint.w;\n\n symbol_rotation = atan((b.y - a.y) / u_aspect_ratio, b.x - a.x);\n }\n\n highp float angle_sin = sin(segment_angle + symbol_rotation);\n highp float angle_cos = cos(segment_angle + symbol_rotation);\n mat2 rotation_matrix = mat2(angle_cos, -1.0 * angle_sin, angle_sin, angle_cos);\n\n vec4 projected_pos = u_label_plane_matrix * vec4(a_projected_pos.xy, 0.0, 1.0);\n gl_Position = u_gl_coord_matrix * vec4(projected_pos.xy / projected_pos.w + rotation_matrix * (a_offset / 32.0 * fontScale), 0.0, 1.0);\n float gamma_scale = gl_Position.w;\n\n vec2 tex = a_tex / u_texsize;\n vec2 fade_opacity = unpack_opacity(a_fade_opacity);\n float fade_change = fade_opacity[1] > 0.5 ? u_fade_change : -u_fade_change;\n float interpolated_fade_opacity = max(0.0, min(1.0, fade_opacity[0] + fade_change));\n\n v_data0 = vec2(tex.x, tex.y);\n v_data1 = vec3(gamma_scale, size, interpolated_fade_opacity);\n}\n"}},tr=/#pragma mapbox: ([\w]+) ([\w]+) ([\w]+) ([\w]+)/g,er=function(t){var e=Qe[t],r={};e.fragmentSource=e.fragmentSource.replace(tr,function(t,e,n,i,a){return r[a]=!0,"define"===e?"\n#ifndef HAS_UNIFORM_u_"+a+"\nvarying "+n+" "+i+" "+a+";\n#else\nuniform "+n+" "+i+" u_"+a+";\n#endif\n":"\n#ifdef HAS_UNIFORM_u_"+a+"\n "+n+" "+i+" "+a+" = u_"+a+";\n#endif\n"}),e.vertexSource=e.vertexSource.replace(tr,function(t,e,n,i,a){var o="float"===i?"vec2":"vec4";return r[a]?"define"===e?"\n#ifndef HAS_UNIFORM_u_"+a+"\nuniform lowp float a_"+a+"_t;\nattribute "+n+" "+o+" a_"+a+";\nvarying "+n+" "+i+" "+a+";\n#else\nuniform "+n+" "+i+" u_"+a+";\n#endif\n":"\n#ifndef HAS_UNIFORM_u_"+a+"\n "+a+" = unpack_mix_"+o+"(a_"+a+", a_"+a+"_t);\n#else\n "+n+" "+i+" "+a+" = u_"+a+";\n#endif\n":"define"===e?"\n#ifndef HAS_UNIFORM_u_"+a+"\nuniform lowp float a_"+a+"_t;\nattribute "+n+" "+o+" a_"+a+";\n#else\nuniform "+n+" "+i+" u_"+a+";\n#endif\n":"\n#ifndef HAS_UNIFORM_u_"+a+"\n "+n+" "+i+" "+a+" = unpack_mix_"+o+"(a_"+a+", a_"+a+"_t);\n#else\n "+n+" "+i+" "+a+" = u_"+a+";\n#endif\n"})};for(var rr in Qe)er(rr);var nr=Qe,ir=function(t,e,r,n){var i=t.gl;this.program=i.createProgram();var o=r.defines().concat("#define DEVICE_PIXEL_RATIO "+a.devicePixelRatio.toFixed(1));n&&o.push("#define OVERDRAW_INSPECTOR;");var s=o.concat(nr.prelude.fragmentSource,e.fragmentSource).join("\n"),l=o.concat(nr.prelude.vertexSource,e.vertexSource).join("\n"),c=i.createShader(i.FRAGMENT_SHADER);i.shaderSource(c,s),i.compileShader(c),i.attachShader(this.program,c);var u=i.createShader(i.VERTEX_SHADER);i.shaderSource(u,l),i.compileShader(u),i.attachShader(this.program,u);for(var f=r.layoutAttributes||[],h=0;h>16,s>>16),n.uniform2f(r.uniforms.u_pixel_coord_lower,65535&o,65535&s)};function mr(t,e,r,n,i){if(!dr(r.paint.get("fill-pattern"),t))for(var a=!0,o=0,s=n;o0){var l=a.now(),c=(l-e.timeAdded)/s,u=r?(l-r.timeAdded)/s:-1,f=n.getSource(),h=o.coveringZoomLevel({tileSize:f.tileSize,roundZoom:f.roundZoom}),p=!r||Math.abs(r.tileID.overscaledZ-h)>Math.abs(e.tileID.overscaledZ-h),d=p&&e.refreshedUponExpiration?1:t.clamp(p?c:1-u,0,1);return e.refreshedUponExpiration&&c>=1&&(e.refreshedUponExpiration=!1),r?{opacity:1,mix:1-d}:{opacity:d,mix:0}}return{opacity:1,mix:0}}function Cr(e,r,n){var i=e.context,o=i.gl;i.lineWidth.set(1*a.devicePixelRatio);var s=n.posMatrix,l=e.useProgram("debug");i.setDepthMode(qt.disabled),i.setStencilMode(Ht.disabled),i.setColorMode(e.colorModeForRenderPass()),o.uniformMatrix4fv(l.uniforms.u_matrix,!1,s),o.uniform4f(l.uniforms.u_color,1,0,0,1),e.debugVAO.bind(i,l,e.debugBuffer,[]),o.drawArrays(o.LINE_STRIP,0,e.debugBuffer.length);for(var c=function(t,e,r,n){n=n||1;var i,a,o,s,l,c,u,f,h=[];for(i=0,a=t.length;i":[24,[4,18,20,9,4,0]],"?":[18,[3,16,3,17,4,19,5,20,7,21,11,21,13,20,14,19,15,17,15,15,14,13,13,12,9,10,9,7,-1,-1,9,2,8,1,9,0,10,1,9,2]],"@":[27,[18,13,17,15,15,16,12,16,10,15,9,14,8,11,8,8,9,6,11,5,14,5,16,6,17,8,-1,-1,12,16,10,14,9,11,9,8,10,6,11,5,-1,-1,18,16,17,8,17,6,19,5,21,5,23,7,24,10,24,12,23,15,22,17,20,19,18,20,15,21,12,21,9,20,7,19,5,17,4,15,3,12,3,9,4,6,5,4,7,2,9,1,12,0,15,0,18,1,20,2,21,3,-1,-1,19,16,18,8,18,6,19,5]],A:[18,[9,21,1,0,-1,-1,9,21,17,0,-1,-1,4,7,14,7]],B:[21,[4,21,4,0,-1,-1,4,21,13,21,16,20,17,19,18,17,18,15,17,13,16,12,13,11,-1,-1,4,11,13,11,16,10,17,9,18,7,18,4,17,2,16,1,13,0,4,0]],C:[21,[18,16,17,18,15,20,13,21,9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5]],D:[21,[4,21,4,0,-1,-1,4,21,11,21,14,20,16,18,17,16,18,13,18,8,17,5,16,3,14,1,11,0,4,0]],E:[19,[4,21,4,0,-1,-1,4,21,17,21,-1,-1,4,11,12,11,-1,-1,4,0,17,0]],F:[18,[4,21,4,0,-1,-1,4,21,17,21,-1,-1,4,11,12,11]],G:[21,[18,16,17,18,15,20,13,21,9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5,18,8,-1,-1,13,8,18,8]],H:[22,[4,21,4,0,-1,-1,18,21,18,0,-1,-1,4,11,18,11]],I:[8,[4,21,4,0]],J:[16,[12,21,12,5,11,2,10,1,8,0,6,0,4,1,3,2,2,5,2,7]],K:[21,[4,21,4,0,-1,-1,18,21,4,7,-1,-1,9,12,18,0]],L:[17,[4,21,4,0,-1,-1,4,0,16,0]],M:[24,[4,21,4,0,-1,-1,4,21,12,0,-1,-1,20,21,12,0,-1,-1,20,21,20,0]],N:[22,[4,21,4,0,-1,-1,4,21,18,0,-1,-1,18,21,18,0]],O:[22,[9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5,19,8,19,13,18,16,17,18,15,20,13,21,9,21]],P:[21,[4,21,4,0,-1,-1,4,21,13,21,16,20,17,19,18,17,18,14,17,12,16,11,13,10,4,10]],Q:[22,[9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5,19,8,19,13,18,16,17,18,15,20,13,21,9,21,-1,-1,12,4,18,-2]],R:[21,[4,21,4,0,-1,-1,4,21,13,21,16,20,17,19,18,17,18,15,17,13,16,12,13,11,4,11,-1,-1,11,11,18,0]],S:[20,[17,18,15,20,12,21,8,21,5,20,3,18,3,16,4,14,5,13,7,12,13,10,15,9,16,8,17,6,17,3,15,1,12,0,8,0,5,1,3,3]],T:[16,[8,21,8,0,-1,-1,1,21,15,21]],U:[22,[4,21,4,6,5,3,7,1,10,0,12,0,15,1,17,3,18,6,18,21]],V:[18,[1,21,9,0,-1,-1,17,21,9,0]],W:[24,[2,21,7,0,-1,-1,12,21,7,0,-1,-1,12,21,17,0,-1,-1,22,21,17,0]],X:[20,[3,21,17,0,-1,-1,17,21,3,0]],Y:[18,[1,21,9,11,9,0,-1,-1,17,21,9,11]],Z:[20,[17,21,3,0,-1,-1,3,21,17,21,-1,-1,3,0,17,0]],"[":[14,[4,25,4,-7,-1,-1,5,25,5,-7,-1,-1,4,25,11,25,-1,-1,4,-7,11,-7]],"\\":[14,[0,21,14,-3]],"]":[14,[9,25,9,-7,-1,-1,10,25,10,-7,-1,-1,3,25,10,25,-1,-1,3,-7,10,-7]],"^":[16,[6,15,8,18,10,15,-1,-1,3,12,8,17,13,12,-1,-1,8,17,8,0]],_:[16,[0,-2,16,-2]],"`":[10,[6,21,5,20,4,18,4,16,5,15,6,16,5,17]],a:[19,[15,14,15,0,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],b:[19,[4,21,4,0,-1,-1,4,11,6,13,8,14,11,14,13,13,15,11,16,8,16,6,15,3,13,1,11,0,8,0,6,1,4,3]],c:[18,[15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],d:[19,[15,21,15,0,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],e:[18,[3,8,15,8,15,10,14,12,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],f:[12,[10,21,8,21,6,20,5,17,5,0,-1,-1,2,14,9,14]],g:[19,[15,14,15,-2,14,-5,13,-6,11,-7,8,-7,6,-6,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],h:[19,[4,21,4,0,-1,-1,4,10,7,13,9,14,12,14,14,13,15,10,15,0]],i:[8,[3,21,4,20,5,21,4,22,3,21,-1,-1,4,14,4,0]],j:[10,[5,21,6,20,7,21,6,22,5,21,-1,-1,6,14,6,-3,5,-6,3,-7,1,-7]],k:[17,[4,21,4,0,-1,-1,14,14,4,4,-1,-1,8,8,15,0]],l:[8,[4,21,4,0]],m:[30,[4,14,4,0,-1,-1,4,10,7,13,9,14,12,14,14,13,15,10,15,0,-1,-1,15,10,18,13,20,14,23,14,25,13,26,10,26,0]],n:[19,[4,14,4,0,-1,-1,4,10,7,13,9,14,12,14,14,13,15,10,15,0]],o:[19,[8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3,16,6,16,8,15,11,13,13,11,14,8,14]],p:[19,[4,14,4,-7,-1,-1,4,11,6,13,8,14,11,14,13,13,15,11,16,8,16,6,15,3,13,1,11,0,8,0,6,1,4,3]],q:[19,[15,14,15,-7,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],r:[13,[4,14,4,0,-1,-1,4,8,5,11,7,13,9,14,12,14]],s:[17,[14,11,13,13,10,14,7,14,4,13,3,11,4,9,6,8,11,7,13,6,14,4,14,3,13,1,10,0,7,0,4,1,3,3]],t:[12,[5,21,5,4,6,1,8,0,10,0,-1,-1,2,14,9,14]],u:[19,[4,14,4,4,5,1,7,0,10,0,12,1,15,4,-1,-1,15,14,15,0]],v:[16,[2,14,8,0,-1,-1,14,14,8,0]],w:[22,[3,14,7,0,-1,-1,11,14,7,0,-1,-1,11,14,15,0,-1,-1,19,14,15,0]],x:[17,[3,14,14,0,-1,-1,14,14,3,0]],y:[16,[2,14,8,0,-1,-1,14,14,8,0,6,-4,4,-6,2,-7,1,-7]],z:[17,[14,14,3,0,-1,-1,3,14,14,14,-1,-1,3,0,14,0]],"{":[14,[9,25,7,24,6,23,5,21,5,19,6,17,7,16,8,14,8,12,6,10,-1,-1,7,24,6,22,6,20,7,18,8,17,9,15,9,13,8,11,4,9,8,7,9,5,9,3,8,1,7,0,6,-2,6,-4,7,-6,-1,-1,6,8,8,6,8,4,7,2,6,1,5,-1,5,-3,6,-5,7,-6,9,-7]],"|":[8,[4,25,4,-7]],"}":[14,[5,25,7,24,8,23,9,21,9,19,8,17,7,16,6,14,6,12,8,10,-1,-1,7,24,8,22,8,20,7,18,6,17,5,15,5,13,6,11,10,9,6,7,5,5,5,3,6,1,7,0,8,-2,8,-4,7,-6,-1,-1,8,8,6,6,6,4,7,2,8,1,9,-1,9,-3,8,-5,7,-6,5,-7]],"~":[24,[3,6,3,8,4,11,6,12,8,12,10,11,14,8,16,7,18,7,20,8,21,10,-1,-1,3,8,4,10,6,11,8,11,10,10,14,7,16,6,18,6,20,7,21,10,21,12]]},Lr={symbol:function(t,e,r,n){if("translucent"===t.renderPass){var i=t.context;i.setStencilMode(Ht.disabled),i.setColorMode(t.colorModeForRenderPass()),0!==r.paint.get("icon-opacity").constantOr(1)&&cr(t,e,r,n,!1,r.paint.get("icon-translate"),r.paint.get("icon-translate-anchor"),r.layout.get("icon-rotation-alignment"),r.layout.get("icon-pitch-alignment"),r.layout.get("icon-keep-upright")),0!==r.paint.get("text-opacity").constantOr(1)&&cr(t,e,r,n,!0,r.paint.get("text-translate"),r.paint.get("text-translate-anchor"),r.layout.get("text-rotation-alignment"),r.layout.get("text-pitch-alignment"),r.layout.get("text-keep-upright")),e.map.showCollisionBoxes&&function(t,e,r,n){or(t,e,r,n,!1),or(t,e,r,n,!0)}(t,e,r,n)}},circle:function(t,e,r,n){if("translucent"===t.renderPass){var i=r.paint.get("circle-opacity"),a=r.paint.get("circle-stroke-width"),o=r.paint.get("circle-stroke-opacity");if(0!==i.constantOr(1)||0!==a.constantOr(1)&&0!==o.constantOr(1)){var s=t.context,l=s.gl;s.setDepthMode(t.depthModeForSublayer(0,qt.ReadOnly)),s.setStencilMode(Ht.disabled),s.setColorMode(t.colorModeForRenderPass());for(var c=!0,u=0;u0?1-1/(1.001-i):-i),s.uniform1f(c.uniforms.u_contrast_factor,(a=r.paint.get("raster-contrast"))>0?1/(1-a):1+a),s.uniform3fv(c.uniforms.u_spin_weights,function(t){t*=Math.PI/180;var e=Math.sin(t),r=Math.cos(t);return[(2*r+1)/3,(-Math.sqrt(3)*e-r+1)/3,(Math.sqrt(3)*e-r+1)/3]}(r.paint.get("raster-hue-rotate"))),s.uniform1f(c.uniforms.u_buffer_scale,1),s.uniform1i(c.uniforms.u_image0,0),s.uniform1i(c.uniforms.u_image1,1);for(var u=n.length&&n[0].overscaledZ,f=0,h=n;fe.row){var r=t;t=e,e=r}return{x0:t.column,y0:t.row,x1:e.column,y1:e.row,dx:e.column-t.column,dy:e.row-t.row}}function Ir(t,e,r,n,i){var a=Math.max(r,Math.floor(e.y0)),o=Math.min(n,Math.ceil(e.y1));if(t.x0===e.x0&&t.y0===e.y0?t.x0+e.dy/t.dy*t.dx0,f=e.dx<0,h=a;hl.dy&&(o=s,s=l,l=o),s.dy>c.dy&&(o=s,s=c,c=o),l.dy>c.dy&&(o=l,l=c,c=o),s.dy&&Ir(c,s,n,i,a),l.dy&&Ir(c,l,n,i,a)}zr.prototype.resize=function(t,e){var r=this.context.gl;if(this.width=t*a.devicePixelRatio,this.height=e*a.devicePixelRatio,this.context.viewport.set([0,0,this.width,this.height]),this.style)for(var n=0,i=this.style._order;n=0;this.currentLayer--){var m=n.style._layers[s[n.currentLayer]];m.source!==(g&&g.id)&&(v=[],(g=n.style.sourceCaches[m.source])&&(n.clearStencil(),v=g.getVisibleCoordinates(),g.getSource().isTileClipped&&n._renderTileClippingMasks(v))),n.renderLayer(n,g,m,v)}this.renderPass="translucent";var y,x=[];for(this.currentLayer=0,this.currentLayer;this.currentLayer0?e.pop():null},zr.prototype._createProgramCached=function(t,e){this.cache=this.cache||{};var r=""+t+(e.cacheKey||"")+(this._showOverdrawInspector?"/overdraw":"");return this.cache[r]||(this.cache[r]=new ir(this.context,nr[t],e,this._showOverdrawInspector)),this.cache[r]},zr.prototype.useProgram=function(t,e){var r=this._createProgramCached(t,e||this.emptyProgramConfiguration);return this.context.program.set(r.program),r};var Pr=t.default$20.vec4,Rr=t.default$20.mat4,Fr=t.default$20.mat2,Br=function(t,e,r){this.tileSize=512,this._renderWorldCopies=void 0===r||r,this._minZoom=t||0,this._maxZoom=e||22,this.latRange=[-85.05113,85.05113],this.width=0,this.height=0,this._center=new G(0,0),this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._unmodified=!0,this._posMatrixCache={},this._alignedPosMatrixCache={}},Nr={minZoom:{configurable:!0},maxZoom:{configurable:!0},renderWorldCopies:{configurable:!0},worldSize:{configurable:!0},centerPoint:{configurable:!0},size:{configurable:!0},bearing:{configurable:!0},pitch:{configurable:!0},fov:{configurable:!0},zoom:{configurable:!0},center:{configurable:!0},unmodified:{configurable:!0},x:{configurable:!0},y:{configurable:!0},point:{configurable:!0}};Br.prototype.clone=function(){var t=new Br(this._minZoom,this._maxZoom,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._calcMatrices(),t},Nr.minZoom.get=function(){return this._minZoom},Nr.minZoom.set=function(t){this._minZoom!==t&&(this._minZoom=t,this.zoom=Math.max(this.zoom,t))},Nr.maxZoom.get=function(){return this._maxZoom},Nr.maxZoom.set=function(t){this._maxZoom!==t&&(this._maxZoom=t,this.zoom=Math.min(this.zoom,t))},Nr.renderWorldCopies.get=function(){return this._renderWorldCopies},Nr.renderWorldCopies.set=function(t){void 0===t?t=!0:null===t&&(t=!1),this._renderWorldCopies=t},Nr.worldSize.get=function(){return this.tileSize*this.scale},Nr.centerPoint.get=function(){return this.size._div(2)},Nr.size.get=function(){return new t.default$1(this.width,this.height)},Nr.bearing.get=function(){return-this.angle/Math.PI*180},Nr.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=Fr.create(),Fr.rotate(this.rotationMatrix,this.rotationMatrix,this.angle))},Nr.pitch.get=function(){return this._pitch/Math.PI*180},Nr.pitch.set=function(e){var r=t.clamp(e,0,60)/180*Math.PI;this._pitch!==r&&(this._unmodified=!1,this._pitch=r,this._calcMatrices())},Nr.fov.get=function(){return this._fov/Math.PI*180},Nr.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())},Nr.zoom.get=function(){return this._zoom},Nr.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())},Nr.center.get=function(){return this._center},Nr.center.set=function(t){t.lat===this._center.lat&&t.lng===this._center.lng||(this._unmodified=!1,this._center=t,this._constrain(),this._calcMatrices())},Br.prototype.coveringZoomLevel=function(t){return(t.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/t.tileSize))},Br.prototype.getVisibleUnwrappedCoordinates=function(e){var r=this.pointCoordinate(new t.default$1(0,0),0),n=this.pointCoordinate(new t.default$1(this.width,0),0),i=Math.floor(r.column),a=Math.floor(n.column),o=[new t.UnwrappedTileID(0,e)];if(this._renderWorldCopies)for(var s=i;s<=a;s++)0!==s&&o.push(new t.UnwrappedTileID(s,e));return o},Br.prototype.coveringTiles=function(e){var r=this.coveringZoomLevel(e),n=r;if(void 0!==e.minzoom&&re.maxzoom&&(r=e.maxzoom);var i=this.pointCoordinate(this.centerPoint,r),a=new t.default$1(i.column-.5,i.row-.5);return function(e,r,n,i){void 0===i&&(i=!0);var a=1<=0&&l<=a)for(c=r;co&&(i=o-g)}if(this.lngRange){var v=this.x,m=c.x/2;v-ml&&(n=l-m)}void 0===n&&void 0===i||(this.center=this.unproject(new t.default$1(void 0!==n?n:this.x,void 0!==i?i:this.y))),this._unmodified=u,this._constraining=!1}},Br.prototype._calcMatrices=function(){if(this.height){this.cameraToCenterDistance=.5/Math.tan(this._fov/2)*this.height;var t=this._fov/2,e=Math.PI/2+this._pitch,r=Math.sin(t)*this.cameraToCenterDistance/Math.sin(Math.PI-e-t),n=this.x,i=this.y,a=1.01*(Math.cos(Math.PI/2-this._pitch)*r+this.cameraToCenterDistance),o=new Float64Array(16);Rr.perspective(o,this._fov,this.width/this.height,1,a),Rr.scale(o,o,[1,-1,1]),Rr.translate(o,o,[0,0,-this.cameraToCenterDistance]),Rr.rotateX(o,o,this._pitch),Rr.rotateZ(o,o,this.angle),Rr.translate(o,o,[-n,-i,0]);var s=this.worldSize/(2*Math.PI*6378137*Math.abs(Math.cos(this.center.lat*(Math.PI/180))));Rr.scale(o,o,[1,1,s,1]),this.projMatrix=o;var l=this.width%2/2,c=this.height%2/2,u=Math.cos(this.angle),f=Math.sin(this.angle),h=n-Math.round(n)+u*l+f*c,p=i-Math.round(i)+u*c+f*l,d=new Float64Array(o);if(Rr.translate(d,d,[h>.5?h-1:h,p>.5?p-1:p,0]),this.alignedProjMatrix=d,o=Rr.create(),Rr.scale(o,o,[this.width/2,-this.height/2,1]),Rr.translate(o,o,[1,-1,0]),this.pixelMatrix=Rr.multiply(new Float64Array(16),o,this.projMatrix),!(o=Rr.invert(new Float64Array(16),this.pixelMatrix)))throw new Error("failed to invert matrix");this.pixelMatrixInverse=o,this._posMatrixCache={},this._alignedPosMatrixCache={}}},Br.prototype.maxPitchScaleFactor=function(){if(!this.pixelMatrixInverse)return 1;var e=this.pointCoordinate(new t.default$1(0,0)).zoomTo(this.zoom),r=[e.column*this.tileSize,e.row*this.tileSize,0,1];return Pr.transformMat4(r,r,this.pixelMatrix)[3]/this.cameraToCenterDistance},Object.defineProperties(Br.prototype,Nr);var jr=function(){var e,r,n,i;t.bindAll(["_onHashChange","_updateHash"],this),this._updateHash=(e=this._updateHashUnthrottled.bind(this),300,r=!1,n=0,i=function(){n=0,r&&(e(),n=setTimeout(i,300),r=!1)},function(){return r=!0,n||i(),n})};jr.prototype.addTo=function(e){return this._map=e,t.default.addEventListener("hashchange",this._onHashChange,!1),this._map.on("moveend",this._updateHash),this},jr.prototype.remove=function(){return t.default.removeEventListener("hashchange",this._onHashChange,!1),this._map.off("moveend",this._updateHash),clearTimeout(this._updateHash()),delete this._map,this},jr.prototype.getHashString=function(t){var e=this._map.getCenter(),r=Math.round(100*this._map.getZoom())/100,n=Math.ceil((r*Math.LN2+Math.log(512/360/.5))/Math.LN10),i=Math.pow(10,n),a=Math.round(e.lng*i)/i,o=Math.round(e.lat*i)/i,s=this._map.getBearing(),l=this._map.getPitch(),c="";return c+=t?"#/"+a+"/"+o+"/"+r:"#"+r+"/"+o+"/"+a,(s||l)&&(c+="/"+Math.round(10*s)/10),l&&(c+="/"+Math.round(l)),c},jr.prototype._onHashChange=function(){var e=t.default.location.hash.replace("#","").split("/");return e.length>=3&&(this._map.jumpTo({center:[+e[2],+e[1]],zoom:+e[0],bearing:+(e[3]||0),pitch:+(e[4]||0)}),!0)},jr.prototype._updateHashUnthrottled=function(){var e=this.getHashString();t.default.history.replaceState(t.default.history.state,"",e)};var Vr=function(e){function r(r,n,i,a){void 0===a&&(a={});var o=s.mousePos(n.getCanvasContainer(),i),l=n.unproject(o);e.call(this,r,t.extend({point:o,lngLat:l,originalEvent:i},a)),this._defaultPrevented=!1,this.target=n}e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r;var n={defaultPrevented:{configurable:!0}};return r.prototype.preventDefault=function(){this._defaultPrevented=!0},n.defaultPrevented.get=function(){return this._defaultPrevented},Object.defineProperties(r.prototype,n),r}(t.Event),Ur=function(e){function r(r,n,i){var a=s.touchPos(n.getCanvasContainer(),i),o=a.map(function(t){return n.unproject(t)}),l=a.reduce(function(t,e,r,n){return t.add(e.div(n.length))},new t.default$1(0,0)),c=n.unproject(l);e.call(this,r,{points:a,point:l,lngLats:o,lngLat:c,originalEvent:i}),this._defaultPrevented=!1}e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r;var n={defaultPrevented:{configurable:!0}};return r.prototype.preventDefault=function(){this._defaultPrevented=!0},n.defaultPrevented.get=function(){return this._defaultPrevented},Object.defineProperties(r.prototype,n),r}(t.Event),qr=function(t){function e(e,r,n){t.call(this,e,{originalEvent:n}),this._defaultPrevented=!1}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={defaultPrevented:{configurable:!0}};return e.prototype.preventDefault=function(){this._defaultPrevented=!0},r.defaultPrevented.get=function(){return this._defaultPrevented},Object.defineProperties(e.prototype,r),e}(t.Event),Hr=function(e){this._map=e,this._el=e.getCanvasContainer(),this._delta=0,t.bindAll(["_onWheel","_onTimeout","_onScrollFrame","_onScrollFinished"],this)};Hr.prototype.isEnabled=function(){return!!this._enabled},Hr.prototype.isActive=function(){return!!this._active},Hr.prototype.enable=function(t){this.isEnabled()||(this._enabled=!0,this._aroundCenter=t&&"center"===t.around)},Hr.prototype.disable=function(){this.isEnabled()&&(this._enabled=!1)},Hr.prototype.onWheel=function(e){if(this.isEnabled()){var r=e.deltaMode===t.default.WheelEvent.DOM_DELTA_LINE?40*e.deltaY:e.deltaY,n=a.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.isActive()||this._start(e)),e.preventDefault()}},Hr.prototype._onTimeout=function(t){this._type="wheel",this._delta-=this._lastValue,this.isActive()||this._start(t)},Hr.prototype._start=function(e){if(this._delta){this._frameId&&(this._map._cancelRenderFrame(this._frameId),this._frameId=null),this._active=!0,this._map.fire(new t.Event("movestart",{originalEvent:e})),this._map.fire(new t.Event("zoomstart",{originalEvent:e})),this._finishTimeout&&clearTimeout(this._finishTimeout);var r=s.mousePos(this._el,e);this._around=G.convert(this._aroundCenter?this._map.getCenter():this._map.unproject(r)),this._aroundPoint=this._map.transform.locationPoint(this._around),this._frameId||(this._frameId=this._map._requestRenderFrame(this._onScrollFrame))}},Hr.prototype._onScrollFrame=function(){var e=this;if(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?1/450:.01,i=2/(1+Math.exp(-Math.abs(this._delta*n)));this._delta<0&&0!==i&&(i=1/i);var o="number"==typeof this._targetZoom?r.zoomScale(this._targetZoom):r.scale;this._targetZoom=Math.min(r.maxZoom,Math.max(r.minZoom,r.scaleZoom(o*i))),"wheel"===this._type&&(this._startZoom=r.zoom,this._easing=this._smoothOutEasing(200)),this._delta=0}var s=!1;if("wheel"===this._type){var l=Math.min((a.now()-this._lastWheelEventTime)/200,1),c=this._easing(l);r.zoom=t.number(this._startZoom,this._targetZoom,c),l<1?this._frameId||(this._frameId=this._map._requestRenderFrame(this._onScrollFrame)):s=!0}else r.zoom=this._targetZoom,s=!0;r.setLocationAtPoint(this._around,this._aroundPoint),this._map.fire(new t.Event("move",{originalEvent:this._lastWheelEvent})),this._map.fire(new t.Event("zoom",{originalEvent:this._lastWheelEvent})),s&&(this._active=!1,this._finishTimeout=setTimeout(function(){e._map.fire(new t.Event("zoomend",{originalEvent:e._lastWheelEvent})),e._map.fire(new t.Event("moveend",{originalEvent:e._lastWheelEvent})),delete e._targetZoom},200))}},Hr.prototype._smoothOutEasing=function(e){var r=t.ease;if(this._prevEase){var n=this._prevEase,i=(a.now()-n.start)/n.duration,o=n.easing(i+.01)-n.easing(i),s=.27/Math.sqrt(o*o+1e-4)*.01,l=Math.sqrt(.0729-s*s);r=t.bezier(s,l,.25,1)}return this._prevEase={start:a.now(),duration:e,easing:r},r};var Gr=function(e){this._map=e,this._el=e.getCanvasContainer(),this._container=e.getContainer(),t.bindAll(["_onMouseMove","_onMouseUp","_onKeyDown"],this)};Gr.prototype.isEnabled=function(){return!!this._enabled},Gr.prototype.isActive=function(){return!!this._active},Gr.prototype.enable=function(){this.isEnabled()||(this._enabled=!0)},Gr.prototype.disable=function(){this.isEnabled()&&(this._enabled=!1)},Gr.prototype.onMouseDown=function(e){this.isEnabled()&&e.shiftKey&&0===e.button&&(t.default.document.addEventListener("mousemove",this._onMouseMove,!1),t.default.document.addEventListener("keydown",this._onKeyDown,!1),t.default.document.addEventListener("mouseup",this._onMouseUp,!1),s.disableDrag(),this._startPos=s.mousePos(this._el,e),this._active=!0)},Gr.prototype._onMouseMove=function(t){var e=this._startPos,r=s.mousePos(this._el,t);this._box||(this._box=s.create("div","mapboxgl-boxzoom",this._container),this._container.classList.add("mapboxgl-crosshair"),this._fireEvent("boxzoomstart",t));var n=Math.min(e.x,r.x),i=Math.max(e.x,r.x),a=Math.min(e.y,r.y),o=Math.max(e.y,r.y);s.setTransform(this._box,"translate("+n+"px,"+a+"px)"),this._box.style.width=i-n+"px",this._box.style.height=o-a+"px"},Gr.prototype._onMouseUp=function(e){if(0===e.button){var r=this._startPos,n=s.mousePos(this._el,e),i=(new W).extend(this._map.unproject(r)).extend(this._map.unproject(n));this._finish(),s.suppressClick(),r.x===n.x&&r.y===n.y?this._fireEvent("boxzoomcancel",e):this._map.fitBounds(i,{linear:!0}).fire(new t.Event("boxzoomend",{originalEvent:e,boxZoomBounds:i}))}},Gr.prototype._onKeyDown=function(t){27===t.keyCode&&(this._finish(),this._fireEvent("boxzoomcancel",t))},Gr.prototype._finish=function(){this._active=!1,t.default.document.removeEventListener("mousemove",this._onMouseMove,!1),t.default.document.removeEventListener("keydown",this._onKeyDown,!1),t.default.document.removeEventListener("mouseup",this._onMouseUp,!1),this._container.classList.remove("mapboxgl-crosshair"),this._box&&(s.remove(this._box),this._box=null),s.enableDrag()},Gr.prototype._fireEvent=function(e,r){return this._map.fire(new t.Event(e,{originalEvent:r}))};var Wr=t.bezier(0,0,.25,1),Yr=function(e,r){this._map=e,this._el=r.element||e.getCanvasContainer(),this._state="disabled",this._button=r.button||"right",this._bearingSnap=r.bearingSnap||0,this._pitchWithRotate=!1!==r.pitchWithRotate,t.bindAll(["_onMouseMove","_onMouseUp","_onBlur","_onDragFrame"],this)};Yr.prototype.isEnabled=function(){return"disabled"!==this._state},Yr.prototype.isActive=function(){return"active"===this._state},Yr.prototype.enable=function(){this.isEnabled()||(this._state="enabled")},Yr.prototype.disable=function(){if(this.isEnabled())switch(this._state){case"active":this._state="disabled",this._unbind(),this._deactivate(),this._fireEvent("rotateend"),this._pitchWithRotate&&this._fireEvent("pitchend"),this._fireEvent("moveend");break;case"pending":this._state="disabled",this._unbind();break;default:this._state="disabled"}},Yr.prototype.onMouseDown=function(e){if("enabled"===this._state){if("right"===this._button){if(this._eventButton=s.mouseButton(e),this._eventButton!==(e.ctrlKey?0:2))return}else{if(e.ctrlKey||0!==s.mouseButton(e))return;this._eventButton=0}s.disableDrag(),t.default.document.addEventListener("mousemove",this._onMouseMove,{capture:!0}),t.default.document.addEventListener("mouseup",this._onMouseUp),t.default.addEventListener("blur",this._onBlur),this._state="pending",this._inertia=[[a.now(),this._map.getBearing()]],this._previousPos=s.mousePos(this._el,e),this._center=this._map.transform.centerPoint,e.preventDefault()}},Yr.prototype._onMouseMove=function(t){this._lastMoveEvent=t,this._pos=s.mousePos(this._el,t),"pending"===this._state&&(this._state="active",this._fireEvent("rotatestart",t),this._fireEvent("movestart",t),this._pitchWithRotate&&this._fireEvent("pitchstart",t)),this._frameId||(this._frameId=this._map._requestRenderFrame(this._onDragFrame))},Yr.prototype._onDragFrame=function(){this._frameId=null;var t=this._lastMoveEvent;if(t){var e=this._map.transform,r=this._previousPos,n=this._pos,i=.8*(r.x-n.x),o=-.5*(r.y-n.y),s=e.bearing-i,l=e.pitch-o,c=this._inertia,u=c[c.length-1];this._drainInertiaBuffer(),c.push([a.now(),this._map._normalizeBearing(s,u[1])]),e.bearing=s,this._pitchWithRotate&&(this._fireEvent("pitch",t),e.pitch=l),this._fireEvent("rotate",t),this._fireEvent("move",t),delete this._lastMoveEvent,this._previousPos=this._pos}},Yr.prototype._onMouseUp=function(t){if(s.mouseButton(t)===this._eventButton)switch(this._state){case"active":this._state="enabled",s.suppressClick(),this._unbind(),this._deactivate(),this._inertialRotate(t);break;case"pending":this._state="enabled",this._unbind()}},Yr.prototype._onBlur=function(t){switch(this._state){case"active":this._state="enabled",this._unbind(),this._deactivate(),this._fireEvent("rotateend",t),this._pitchWithRotate&&this._fireEvent("pitchend",t),this._fireEvent("moveend",t);break;case"pending":this._state="enabled",this._unbind()}},Yr.prototype._unbind=function(){t.default.document.removeEventListener("mousemove",this._onMouseMove,{capture:!0}),t.default.document.removeEventListener("mouseup",this._onMouseUp),t.default.removeEventListener("blur",this._onBlur),s.enableDrag()},Yr.prototype._deactivate=function(){this._frameId&&(this._map._cancelRenderFrame(this._frameId),this._frameId=null),delete this._lastMoveEvent,delete this._previousPos},Yr.prototype._inertialRotate=function(t){var e=this;this._fireEvent("rotateend",t),this._drainInertiaBuffer();var r=this._map,n=r.getBearing(),i=this._inertia,a=function(){Math.abs(n)180&&(p=180);var d=p/180;c+=f*p*(d/2),Math.abs(r._normalizeBearing(c,0))0&&e-t[0][0]>160;)t.shift()};var Xr=t.bezier(0,0,.3,1),Zr=function(e){this._map=e,this._el=e.getCanvasContainer(),this._state="disabled",t.bindAll(["_onMove","_onMouseUp","_onTouchEnd","_onBlur","_onDragFrame"],this)};Zr.prototype.isEnabled=function(){return"disabled"!==this._state},Zr.prototype.isActive=function(){return"active"===this._state},Zr.prototype.enable=function(){this.isEnabled()||(this._el.classList.add("mapboxgl-touch-drag-pan"),this._state="enabled")},Zr.prototype.disable=function(){if(this.isEnabled())switch(this._el.classList.remove("mapboxgl-touch-drag-pan"),this._state){case"active":this._state="disabled",this._unbind(),this._deactivate(),this._fireEvent("dragend"),this._fireEvent("moveend");break;case"pending":this._state="disabled",this._unbind();break;default:this._state="disabled"}},Zr.prototype.onMouseDown=function(e){"enabled"===this._state&&(e.ctrlKey||0!==s.mouseButton(e)||(s.addEventListener(t.default.document,"mousemove",this._onMove,{capture:!0}),s.addEventListener(t.default.document,"mouseup",this._onMouseUp),this._start(e)))},Zr.prototype.onTouchStart=function(e){"enabled"===this._state&&(e.touches.length>1||(s.addEventListener(t.default.document,"touchmove",this._onMove,{capture:!0,passive:!1}),s.addEventListener(t.default.document,"touchend",this._onTouchEnd),this._start(e)))},Zr.prototype._start=function(e){t.default.addEventListener("blur",this._onBlur),this._state="pending",this._previousPos=s.mousePos(this._el,e),this._inertia=[[a.now(),this._previousPos]]},Zr.prototype._onMove=function(t){this._lastMoveEvent=t,t.preventDefault(),this._pos=s.mousePos(this._el,t),this._drainInertiaBuffer(),this._inertia.push([a.now(),this._pos]),"pending"===this._state&&(this._state="active",this._fireEvent("dragstart",t),this._fireEvent("movestart",t)),this._frameId||(this._frameId=this._map._requestRenderFrame(this._onDragFrame))},Zr.prototype._onDragFrame=function(){this._frameId=null;var t=this._lastMoveEvent;if(t){var e=this._map.transform;e.setLocationAtPoint(e.pointLocation(this._previousPos),this._pos),this._fireEvent("drag",t),this._fireEvent("move",t),this._previousPos=this._pos,delete this._lastMoveEvent}},Zr.prototype._onMouseUp=function(t){if(0===s.mouseButton(t))switch(this._state){case"active":this._state="enabled",s.suppressClick(),this._unbind(),this._deactivate(),this._inertialPan(t);break;case"pending":this._state="enabled",this._unbind()}},Zr.prototype._onTouchEnd=function(t){switch(this._state){case"active":this._state="enabled",this._unbind(),this._deactivate(),this._inertialPan(t);break;case"pending":this._state="enabled",this._unbind()}},Zr.prototype._onBlur=function(t){switch(this._state){case"active":this._state="enabled",this._unbind(),this._deactivate(),this._fireEvent("dragend",t),this._fireEvent("moveend",t);break;case"pending":this._state="enabled",this._unbind()}},Zr.prototype._unbind=function(){s.removeEventListener(t.default.document,"touchmove",this._onMove,{capture:!0,passive:!1}),s.removeEventListener(t.default.document,"touchend",this._onTouchEnd),s.removeEventListener(t.default.document,"mousemove",this._onMove,{capture:!0}),s.removeEventListener(t.default.document,"mouseup",this._onMouseUp),s.removeEventListener(t.default,"blur",this._onBlur)},Zr.prototype._deactivate=function(){this._frameId&&(this._map._cancelRenderFrame(this._frameId),this._frameId=null),delete this._lastMoveEvent,delete this._previousPos,delete this._pos},Zr.prototype._inertialPan=function(t){this._fireEvent("dragend",t),this._drainInertiaBuffer();var e=this._inertia;if(e.length<2)this._fireEvent("moveend",t);else{var r=e[e.length-1],n=e[0],i=r[1].sub(n[1]),a=(r[0]-n[0])/1e3;if(0===a||r[1].equals(n[1]))this._fireEvent("moveend",t);else{var o=i.mult(.3/a),s=o.mag();s>1400&&(s=1400,o._unit()._mult(s));var l=s/750,c=o.mult(-l/2);this._map.panBy(c,{duration:1e3*l,easing:Xr,noMoveStart:!0},{originalEvent:t})}}},Zr.prototype._fireEvent=function(e,r){return this._map.fire(new t.Event(e,r?{originalEvent:r}:{}))},Zr.prototype._drainInertiaBuffer=function(){for(var t=this._inertia,e=a.now();t.length>0&&e-t[0][0]>160;)t.shift()};var $r=function(e){this._map=e,this._el=e.getCanvasContainer(),t.bindAll(["_onKeyDown"],this)};function Jr(t){return t*(2-t)}$r.prototype.isEnabled=function(){return!!this._enabled},$r.prototype.enable=function(){this.isEnabled()||(this._el.addEventListener("keydown",this._onKeyDown,!1),this._enabled=!0)},$r.prototype.disable=function(){this.isEnabled()&&(this._el.removeEventListener("keydown",this._onKeyDown),this._enabled=!1)},$r.prototype._onKeyDown=function(t){if(!(t.altKey||t.ctrlKey||t.metaKey)){var e=0,r=0,n=0,i=0,a=0;switch(t.keyCode){case 61:case 107:case 171:case 187:e=1;break;case 189:case 109:case 173:e=-1;break;case 37:t.shiftKey?r=-1:(t.preventDefault(),i=-1);break;case 39:t.shiftKey?r=1:(t.preventDefault(),i=1);break;case 38:t.shiftKey?n=1:(t.preventDefault(),a=-1);break;case 40:t.shiftKey?n=-1:(a=1,t.preventDefault());break;default:return}var o=this._map,s=o.getZoom(),l={duration:300,delayEndEvents:500,easing:Jr,zoom:e?Math.round(s)+e*(t.shiftKey?2:1):s,bearing:o.getBearing()+15*r,pitch:o.getPitch()+10*n,offset:[100*-i,100*-a],center:o.getCenter()};o.easeTo(l,{originalEvent:t})}};var Kr=function(e){this._map=e,t.bindAll(["_onDblClick","_onZoomEnd"],this)};Kr.prototype.isEnabled=function(){return!!this._enabled},Kr.prototype.isActive=function(){return!!this._active},Kr.prototype.enable=function(){this.isEnabled()||(this._enabled=!0)},Kr.prototype.disable=function(){this.isEnabled()&&(this._enabled=!1)},Kr.prototype.onTouchStart=function(t){var e=this;this.isEnabled()&&(t.points.length>1||(this._tapped?(clearTimeout(this._tapped),this._tapped=null,this._zoom(t)):this._tapped=setTimeout(function(){e._tapped=null},300)))},Kr.prototype.onDblClick=function(t){this.isEnabled()&&(t.originalEvent.preventDefault(),this._zoom(t))},Kr.prototype._zoom=function(t){this._active=!0,this._map.on("zoomend",this._onZoomEnd),this._map.zoomTo(this._map.getZoom()+(t.originalEvent.shiftKey?-1:1),{around:t.lngLat},t)},Kr.prototype._onZoomEnd=function(){this._active=!1,this._map.off("zoomend",this._onZoomEnd)};var Qr=t.bezier(0,0,.15,1),tn=function(e){this._map=e,this._el=e.getCanvasContainer(),t.bindAll(["_onMove","_onEnd","_onTouchFrame"],this)};tn.prototype.isEnabled=function(){return!!this._enabled},tn.prototype.enable=function(t){this.isEnabled()||(this._el.classList.add("mapboxgl-touch-zoom-rotate"),this._enabled=!0,this._aroundCenter=!!t&&"center"===t.around)},tn.prototype.disable=function(){this.isEnabled()&&(this._el.classList.remove("mapboxgl-touch-zoom-rotate"),this._enabled=!1)},tn.prototype.disableRotation=function(){this._rotationDisabled=!0},tn.prototype.enableRotation=function(){this._rotationDisabled=!1},tn.prototype.onStart=function(e){if(this.isEnabled()&&2===e.touches.length){var r=s.mousePos(this._el,e.touches[0]),n=s.mousePos(this._el,e.touches[1]);this._startVec=r.sub(n),this._gestureIntent=void 0,this._inertia=[],s.addEventListener(t.default.document,"touchmove",this._onMove,{passive:!1}),s.addEventListener(t.default.document,"touchend",this._onEnd)}},tn.prototype._getTouchEventData=function(t){var e=s.mousePos(this._el,t.touches[0]),r=s.mousePos(this._el,t.touches[1]),n=e.sub(r);return{vec:n,center:e.add(r).div(2),scale:n.mag()/this._startVec.mag(),bearing:this._rotationDisabled?0:180*n.angleWith(this._startVec)/Math.PI}},tn.prototype._onMove=function(e){if(2===e.touches.length){var r=this._getTouchEventData(e),n=r.vec,i=r.scale,a=r.bearing;if(!this._gestureIntent){var o=Math.abs(1-i)>.15;Math.abs(a)>10?this._gestureIntent="rotate":o&&(this._gestureIntent="zoom"),this._gestureIntent&&(this._map.fire(new t.Event(this._gestureIntent+"start",{originalEvent:e})),this._map.fire(new t.Event("movestart",{originalEvent:e})),this._startVec=n)}this._lastTouchEvent=e,this._frameId||(this._frameId=this._map._requestRenderFrame(this._onTouchFrame)),e.preventDefault()}},tn.prototype._onTouchFrame=function(){this._frameId=null;var e=this._gestureIntent;if(e){var r=this._map.transform;this._startScale||(this._startScale=r.scale,this._startBearing=r.bearing);var n=this._getTouchEventData(this._lastTouchEvent),i=n.center,o=n.bearing,s=n.scale,l=r.pointLocation(i),c=r.locationPoint(l);"rotate"===e&&(r.bearing=this._startBearing+o),r.zoom=r.scaleZoom(this._startScale*s),r.setLocationAtPoint(l,c),this._map.fire(new t.Event(e,{originalEvent:this._lastTouchEvent})),this._map.fire(new t.Event("move",{originalEvent:this._lastTouchEvent})),this._drainInertiaBuffer(),this._inertia.push([a.now(),s,i])}},tn.prototype._onEnd=function(e){s.removeEventListener(t.default.document,"touchmove",this._onMove,{passive:!1}),s.removeEventListener(t.default.document,"touchend",this._onEnd);var r=this._gestureIntent,n=this._startScale;if(this._frameId&&(this._map._cancelRenderFrame(this._frameId),this._frameId=null),delete this._gestureIntent,delete this._startScale,delete this._startBearing,delete this._lastTouchEvent,r){this._map.fire(new t.Event(r+"end",{originalEvent:e})),this._drainInertiaBuffer();var i=this._inertia,a=this._map;if(i.length<2)a.snapToNorth({},{originalEvent:e});else{var o=i[i.length-1],l=i[0],c=a.transform.scaleZoom(n*o[1]),u=a.transform.scaleZoom(n*l[1]),f=c-u,h=(o[0]-l[0])/1e3,p=o[2];if(0!==h&&c!==u){var d=.15*f/h;Math.abs(d)>2.5&&(d=d>0?2.5:-2.5);var g=1e3*Math.abs(d/(12*.15)),v=c+d*g/2e3;v<0&&(v=0),a.easeTo({zoom:v,duration:g,easing:Qr,around:this._aroundCenter?a.getCenter():a.unproject(p),noMoveStart:!0},{originalEvent:e})}else a.snapToNorth({},{originalEvent:e})}}},tn.prototype._drainInertiaBuffer=function(){for(var t=this._inertia,e=a.now();t.length>2&&e-t[0][0]>160;)t.shift()};var en={scrollZoom:Hr,boxZoom:Gr,dragRotate:Yr,dragPan:Zr,keyboard:$r,doubleClickZoom:Kr,touchZoomRotate:tn},rn=function(e){function r(r,n){e.call(this),this._moving=!1,this._zooming=!1,this.transform=r,this._bearingSnap=n.bearingSnap,t.bindAll(["_renderFrameCallback"],this)}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.getCenter=function(){return this.transform.center},r.prototype.setCenter=function(t,e){return this.jumpTo({center:t},e)},r.prototype.panBy=function(e,r,n){return e=t.default$1.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.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.snapToNorth=function(t,e){return Math.abs(this.getBearing())e?1:0}),["bottom","left","right","top"]))return t.warnOnce("options.padding must be a positive number, or an Object with keys 'bottom', 'left', 'right', 'top'"),this;e=W.convert(e);var a=[(r.padding.left-r.padding.right)/2,(r.padding.top-r.padding.bottom)/2],o=Math.min(r.padding.right,r.padding.left),s=Math.min(r.padding.top,r.padding.bottom);r.offset=[r.offset[0]+a[0],r.offset[1]+a[1]];var l=t.default$1.convert(r.offset),c=this.transform,u=c.project(e.getNorthWest()),f=c.project(e.getSouthEast()),h=f.sub(u),p=(c.width-2*o-2*Math.abs(l.x))/h.x,d=(c.height-2*s-2*Math.abs(l.y))/h.y;return d<0||p<0?(t.warnOnce("Map cannot fit within canvas with the given bounds, padding, and/or offset."),this):(r.center=c.unproject(u.add(f).div(2)),r.zoom=Math.min(c.scaleZoom(c.scale*Math.min(p,d)),r.maxZoom),r.bearing=0,r.linear?this.easeTo(r,n):this.flyTo(r,n))},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=G.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),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=t.extend({offset:[0,0],duration:500,easing:t.ease},e)).animate&&(e.duration=0);var i=this.transform,a=this.getZoom(),o=this.getBearing(),s=this.getPitch(),l="zoom"in e?+e.zoom:a,c="bearing"in e?this._normalizeBearing(e.bearing,o):o,u="pitch"in e?+e.pitch:s,f=i.centerPoint.add(t.default$1.convert(e.offset)),h=i.pointLocation(f),p=G.convert(e.center||h);this._normalizeCenter(p);var d,g,v=i.project(h),m=i.project(p).sub(v),y=i.zoomScale(l-a);return e.around&&(d=G.convert(e.around),g=i.locationPoint(d)),this._zooming=l!==a,this._rotating=o!==c,this._pitching=u!==s,this._prepareEase(r,e.noMoveStart),clearTimeout(this._easeEndTimeoutID),this._ease(function(e){if(n._zooming&&(i.zoom=t.number(a,l,e)),n._rotating&&(i.bearing=t.number(o,c,e)),n._pitching&&(i.pitch=t.number(s,u,e)),d)i.setLocationAtPoint(d,g);else{var h=i.zoomScale(i.zoom-a),p=l>a?Math.min(2,y):Math.max(.5,y),x=Math.pow(p,1-e),b=i.unproject(v.add(m.mult(e*x)).mult(h));i.setLocationAtPoint(i.renderWorldCopies?b.wrap():b,f)}n._fireMoveEvents(r)},function(){e.delayEndEvents?n._easeEndTimeoutID=setTimeout(function(){return n._afterEase(r)},e.delayEndEvents):n._afterEase(r)},e),this},r.prototype._prepareEase=function(e,r){this._moving=!0,r||this.fire(new t.Event("movestart",e)),this._zooming&&this.fire(new t.Event("zoomstart",e)),this._rotating&&this.fire(new t.Event("rotatestart",e)),this._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){var r=this._zooming,n=this._rotating,i=this._pitching;this._moving=!1,this._zooming=!1,this._rotating=!1,this._pitching=!1,r&&this.fire(new t.Event("zoomend",e)),n&&this.fire(new t.Event("rotateend",e)),i&&this.fire(new t.Event("pitchend",e)),this.fire(new t.Event("moveend",e))},r.prototype.flyTo=function(e,r){var n=this;this.stop(),e=t.extend({offset:[0,0],speed:1.2,curve:1.42,easing:t.ease},e);var i=this.transform,a=this.getZoom(),o=this.getBearing(),s=this.getPitch(),l="zoom"in e?t.clamp(+e.zoom,i.minZoom,i.maxZoom):a,c="bearing"in e?this._normalizeBearing(e.bearing,o):o,u="pitch"in e?+e.pitch:s,f=i.zoomScale(l-a),h=i.centerPoint.add(t.default$1.convert(e.offset)),p=i.pointLocation(h),d=G.convert(e.center||p);this._normalizeCenter(d);var g=i.project(p),v=i.project(d).sub(g),m=e.curve,y=Math.max(i.width,i.height),x=y/f,b=v.mag();if("minZoom"in e){var _=t.clamp(Math.min(e.minZoom,a,l),i.minZoom,i.maxZoom),w=y/i.zoomScale(_-a);m=Math.sqrt(w/b*2)}var k=m*m;function A(t){var e=(x*x-y*y+(t?-1:1)*k*k*b*b)/(2*(t?x:y)*k*b);return Math.log(Math.sqrt(e*e+1)-e)}function M(t){return(Math.exp(t)-Math.exp(-t))/2}function T(t){return(Math.exp(t)+Math.exp(-t))/2}var S=A(0),C=function(t){return T(S)/T(S+m*t)},E=function(t){return y*((T(S)*(M(e=S+m*t)/T(e))-M(S))/k)/b;var e},L=(A(1)-S)/m;if(Math.abs(b)<1e-6||!isFinite(L)){if(Math.abs(y-x)<1e-6)return this.easeTo(e,r);var z=xe.maxDuration&&(e.duration=0),this._zooming=!0,this._rotating=o!==c,this._pitching=u!==s,this._prepareEase(r,!1),this._ease(function(e){var l=e*L,f=1/C(l);i.zoom=a+i.scaleZoom(f),n._rotating&&(i.bearing=t.number(o,c,e)),n._pitching&&(i.pitch=t.number(s,u,e));var p=i.unproject(g.add(v.mult(E(l))).mult(f));i.setLocationAtPoint(i.renderWorldCopies?p.wrap():p,h),n._fireMoveEvents(r)},function(){return n._afterEase(r)},e),this},r.prototype.isEasing=function(){return!!this._easeFrameId},r.prototype.stop=function(){if(this._easeFrameId&&(this._cancelRenderFrame(this._easeFrameId),delete this._easeFrameId,delete this._onEaseFrame),this._onEaseEnd){var t=this._onEaseEnd;delete this._onEaseEnd,t.call(this)}return this},r.prototype._ease=function(t,e,r){!1===r.animate||0===r.duration?(t(1),e()):(this._easeStart=a.now(),this._easeOptions=r,this._onEaseFrame=t,this._onEaseEnd=e,this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback))},r.prototype._renderFrameCallback=function(){var t=Math.min((a.now()-this._easeStart)/this._easeOptions.duration,1);this._onEaseFrame(this._easeOptions.easing(t)),t<1?this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback):this.stop()},r.prototype._normalizeBearing=function(e,r){e=t.wrap(e,-180,180);var n=Math.abs(e-r);return Math.abs(e-360-r)180?-360:r<-180?360:0}},r}(t.Evented),nn=function(e){void 0===e&&(e={}),this.options=e,t.bindAll(["_updateEditLink","_updateData","_updateCompact"],this)};nn.prototype.getDefaultPosition=function(){return"bottom-right"},nn.prototype.onAdd=function(t){var e=this.options&&this.options.compact;return this._map=t,this._container=s.create("div","mapboxgl-ctrl mapboxgl-ctrl-attrib"),e&&this._container.classList.add("mapboxgl-compact"),this._updateAttributions(),this._updateEditLink(),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},nn.prototype.onRemove=function(){s.remove(this._container),this._map.off("sourcedata",this._updateData),this._map.off("moveend",this._updateEditLink),this._map.off("resize",this._updateCompact),this._map=void 0},nn.prototype._updateEditLink=function(){var t=this._editLink;t||(t=this._editLink=this._container.querySelector(".mapbox-improve-map"));var e=[{key:"owner",value:this.styleOwner},{key:"id",value:this.styleId},{key:"access_token",value:v.ACCESS_TOKEN}];if(t){var r=e.reduce(function(t,r,n){return r.value&&(t+=r.key+"="+r.value+(n=0)return!1;return!0})).length?(this._container.innerHTML=t.join(" | "),this._container.classList.remove("mapboxgl-attrib-empty")):this._container.classList.add("mapboxgl-attrib-empty"),this._editLink=null}},nn.prototype._updateCompact=function(){this._map.getCanvasContainer().offsetWidth<=640?this._container.classList.add("mapboxgl-compact"):this._container.classList.remove("mapboxgl-compact")};var an=function(){t.bindAll(["_updateLogo"],this)};an.prototype.onAdd=function(t){this._map=t,this._container=s.create("div","mapboxgl-ctrl");var e=s.create("a","mapboxgl-ctrl-logo");return e.target="_blank",e.href="https://www.mapbox.com/",e.setAttribute("aria-label","Mapbox logo"),this._container.appendChild(e),this._container.style.display="none",this._map.on("sourcedata",this._updateLogo),this._updateLogo(),this._container},an.prototype.onRemove=function(){s.remove(this._container),this._map.off("sourcedata",this._updateLogo)},an.prototype.getDefaultPosition=function(){return"bottom-left"},an.prototype._updateLogo=function(t){t&&"metadata"!==t.sourceDataType||(this._container.style.display=this._logoRequired()?"block":"none")},an.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}};var on=function(){this._queue=[],this._id=0,this._cleared=!1,this._currentlyRunning=!1};on.prototype.add=function(t){var e=++this._id;return this._queue.push({callback:t,id:e,cancelled:!1}),e},on.prototype.remove=function(t){for(var e=this._currentlyRunning,r=0,n=e?this._queue.concat(e):this._queue;re.maxZoom)throw new Error("maxZoom must be greater than minZoom");var n=new Br(e.minZoom,e.maxZoom,e.renderWorldCopies);r.call(this,n,e),this._interactive=e.interactive,this._maxTileCacheSize=e.maxTileCacheSize,this._failIfMajorPerformanceCaveat=e.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=e.preserveDrawingBuffer,this._trackResize=e.trackResize,this._bearingSnap=e.bearingSnap,this._refreshExpiredTiles=e.refreshExpiredTiles,this._fadeDuration=e.fadeDuration,this._crossFadingFactor=1,this._collectResourceTiming=e.collectResourceTiming,this._renderTaskQueue=new on;var i=e.transformRequest;if(this._transformRequest=i?function(t,e){return i(t,e)||{url:t}}:function(t){return{url:t}},"string"==typeof e.container){var a=t.default.document.getElementById(e.container);if(!a)throw new Error("Container '"+e.container+"' not found.");this._container=a}else{if(!(e.container instanceof ln))throw new Error("Invalid type: 'container' must be a String or HTMLElement.");this._container=e.container}e.maxBounds&&this.setMaxBounds(e.maxBounds),t.bindAll(["_onWindowOnline","_onWindowResize","_contextLost","_contextRestored","_update","_render","_onData","_onDataLoading"],this),this._setupContainer(),this._setupPainter(),this.on("move",this._update.bind(this,!1)),this.on("zoom",this._update.bind(this,!0)),void 0!==t.default&&(t.default.addEventListener("online",this._onWindowOnline,!1),t.default.addEventListener("resize",this._onWindowResize,!1)),function(t,e){var r=t.getCanvasContainer(),n=null,i=!1;for(var a in en)t[a]=new en[a](t,e),e.interactive&&e[a]&&t[a].enable(e[a]);s.addEventListener(r,"mouseout",function(e){t.fire(new Vr("mouseout",t,e))}),s.addEventListener(r,"mousedown",function(r){i=!0;var n=new Vr("mousedown",t,r);t.fire(n),n.defaultPrevented||(e.interactive&&!t.doubleClickZoom.isActive()&&t.stop(),t.boxZoom.onMouseDown(r),t.boxZoom.isActive()||t.dragPan.isActive()||t.dragRotate.onMouseDown(r),t.boxZoom.isActive()||t.dragRotate.isActive()||t.dragPan.onMouseDown(r))}),s.addEventListener(r,"mouseup",function(e){var r=t.dragRotate.isActive();n&&!r&&t.fire(new Vr("contextmenu",t,n)),n=null,i=!1,t.fire(new Vr("mouseup",t,e))}),s.addEventListener(r,"mousemove",function(e){if(!t.dragPan.isActive()&&!t.dragRotate.isActive()){for(var n=e.toElement||e.target;n&&n!==r;)n=n.parentNode;n===r&&t.fire(new Vr("mousemove",t,e))}}),s.addEventListener(r,"mouseover",function(e){for(var n=e.toElement||e.target;n&&n!==r;)n=n.parentNode;n===r&&t.fire(new Vr("mouseover",t,e))}),s.addEventListener(r,"touchstart",function(r){var n=new Ur("touchstart",t,r);t.fire(n),n.defaultPrevented||(e.interactive&&t.stop(),t.boxZoom.isActive()||t.dragRotate.isActive()||t.dragPan.onTouchStart(r),t.touchZoomRotate.onStart(r),t.doubleClickZoom.onTouchStart(n))},{passive:!1}),s.addEventListener(r,"touchmove",function(e){t.fire(new Ur("touchmove",t,e))},{passive:!1}),s.addEventListener(r,"touchend",function(e){t.fire(new Ur("touchend",t,e))}),s.addEventListener(r,"touchcancel",function(e){t.fire(new Ur("touchcancel",t,e))}),s.addEventListener(r,"click",function(e){t.fire(new Vr("click",t,e))}),s.addEventListener(r,"dblclick",function(e){var r=new Vr("dblclick",t,e);t.fire(r),r.defaultPrevented||t.doubleClickZoom.onDblClick(r)}),s.addEventListener(r,"contextmenu",function(e){var r=t.dragRotate.isActive();i||r?i&&(n=e):t.fire(new Vr("contextmenu",t,e)),e.preventDefault()}),s.addEventListener(r,"wheel",function(e){var r=new qr("wheel",t,e);t.fire(r),r.defaultPrevented||t.scrollZoom.onWheel(e)},{passive:!1})}(this,e),this._hash=e.hash&&(new jr).addTo(this),this._hash&&this._hash._onHashChange()||this.jumpTo({center:e.center,zoom:e.zoom,bearing:e.bearing,pitch:e.pitch}),this.resize(),e.style&&this.setStyle(e.style,{localIdeographFontFamily:e.localIdeographFontFamily}),e.attributionControl&&this.addControl(new nn),this.addControl(new an,e.logoPosition),this.on("style.load",function(){this.transform.unmodified&&this.jumpTo(this.style.stylesheet)}),this.on("data",this._onData),this.on("dataloading",this._onDataLoading)}r&&(n.__proto__=r),n.prototype=Object.create(r&&r.prototype),n.prototype.constructor=n;var i={showTileBoundaries:{configurable:!0},showCollisionBoxes:{configurable:!0},showOverdrawInspector:{configurable:!0},repaint:{configurable:!0},vertices:{configurable:!0}};return n.prototype.addControl=function(t,e){void 0===e&&t.getDefaultPosition&&(e=t.getDefaultPosition()),void 0===e&&(e="top-right");var r=t.onAdd(this),n=this._controlPositions[e];return-1!==e.indexOf("bottom")?n.insertBefore(r,n.firstChild):n.appendChild(r),this},n.prototype.removeControl=function(t){return t.onRemove(this),this},n.prototype.resize=function(e){var r=this._containerDimensions(),n=r[0],i=r[1];return this._resizeCanvas(n,i),this.transform.resize(n,i),this.painter.resize(n,i),this.fire(new t.Event("movestart",e)).fire(new t.Event("move",e)).fire(new t.Event("resize",e)).fire(new t.Event("moveend",e))},n.prototype.getBounds=function(){var e=new W(this.transform.pointLocation(new t.default$1(0,this.transform.height)),this.transform.pointLocation(new t.default$1(this.transform.width,0)));return(this.transform.angle||this.transform.pitch)&&(e.extend(this.transform.pointLocation(new t.default$1(this.transform.size.x,0))),e.extend(this.transform.pointLocation(new t.default$1(0,this.transform.size.y)))),e},n.prototype.getMaxBounds=function(){return this.transform.latRange&&2===this.transform.latRange.length&&this.transform.lngRange&&2===this.transform.lngRange.length?new W([this.transform.lngRange[0],this.transform.latRange[0]],[this.transform.lngRange[1],this.transform.latRange[1]]):null},n.prototype.setMaxBounds=function(t){if(t){var e=W.convert(t);this.transform.lngRange=[e.getWest(),e.getEast()],this.transform.latRange=[e.getSouth(),e.getNorth()],this.transform._constrain(),this._update()}else null==t&&(this.transform.lngRange=null,this.transform.latRange=null,this._update());return this},n.prototype.setMinZoom=function(t){if((t=null==t?0:t)>=0&&t<=this.transform.maxZoom)return this.transform.minZoom=t,this._update(),this.getZoom()=this.transform.minZoom)return this.transform.maxZoom=t,this._update(),this.getZoom()>t&&this.setZoom(t),this;throw new Error("maxZoom must be greater than the current minZoom")},n.prototype.getRenderWorldCopies=function(){return this.transform.renderWorldCopies},n.prototype.setRenderWorldCopies=function(t){return this.transform.renderWorldCopies=t,this._update(),this},n.prototype.getMaxZoom=function(){return this.transform.maxZoom},n.prototype.project=function(t){return this.transform.locationPoint(G.convert(t))},n.prototype.unproject=function(e){return this.transform.pointLocation(t.default$1.convert(e))},n.prototype.isMoving=function(){return this._moving||this.dragPan.isActive()||this.dragRotate.isActive()||this.scrollZoom.isActive()},n.prototype.isZooming=function(){return this._zooming||this.scrollZoom.isActive()},n.prototype.isRotating=function(){return this._rotating||this.dragRotate.isActive()},n.prototype.on=function(t,e,n){var i,a=this;if(void 0===n)return r.prototype.on.call(this,t,e);var o=function(){if("mouseenter"===t||"mouseover"===t){var r=!1;return{layer:e,listener:n,delegates:{mousemove:function(i){var o=a.getLayer(e)?a.queryRenderedFeatures(i.point,{layers:[e]}):[];o.length?r||(r=!0,n.call(a,new Vr(t,a,i.originalEvent,{features:o}))):r=!1},mouseout:function(){r=!1}}}}if("mouseleave"===t||"mouseout"===t){var o=!1;return{layer:e,listener:n,delegates:{mousemove:function(r){(a.getLayer(e)?a.queryRenderedFeatures(r.point,{layers:[e]}):[]).length?o=!0:o&&(o=!1,n.call(a,new Vr(t,a,r.originalEvent)))},mouseout:function(e){o&&(o=!1,n.call(a,new Vr(t,a,e.originalEvent)))}}}}return{layer:e,listener:n,delegates:(i={},i[t]=function(t){var r=a.getLayer(e)?a.queryRenderedFeatures(t.point,{layers:[e]}):[];r.length&&(t.features=r,n.call(a,t),delete t.features)},i)}}();for(var s in this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[t]=this._delegatedListeners[t]||[],this._delegatedListeners[t].push(o),o.delegates)a.on(s,o.delegates[s]);return this},n.prototype.off=function(t,e,n){if(void 0===n)return r.prototype.off.call(this,t,e);if(this._delegatedListeners&&this._delegatedListeners[t])for(var i=this._delegatedListeners[t],a=0;a180;){var o=r.locationPoint(t);if(o.x>=0&&o.y>=0&&o.x<=r.width&&o.y<=r.height)break;t.lng>r.center.lng?t.lng-=360:t.lng+=360}return t}pn.prototype._rotateCompassArrow=function(){var t="rotate("+this._map.transform.angle*(180/Math.PI)+"deg)";this._compassArrow.style.transform=t},pn.prototype.onAdd=function(t){return this._map=t,this.options.showCompass&&(this._map.on("rotate",this._rotateCompassArrow),this._rotateCompassArrow(),this._handler=new Yr(t,{button:"left",element:this._compass}),this._handler.enable()),this._container},pn.prototype.onRemove=function(){s.remove(this._container),this.options.showCompass&&(this._map.off("rotate",this._rotateCompassArrow),this._handler.disable(),delete this._handler),delete this._map},pn.prototype._createButton=function(t,e,r){var n=s.create("button",t,this._container);return n.type="button",n.setAttribute("aria-label",e),n.addEventListener("click",r),n};var gn={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 vn(t,e,r){var n=t.classList;for(var i in gn)n.remove("mapboxgl-"+r+"-anchor-"+i);n.add("mapboxgl-"+r+"-anchor-"+e)}var mn=function(e){if((arguments[0]instanceof t.default.HTMLElement||2===arguments.length)&&(e=t.extend({element:e},arguments[1])),t.bindAll(["_update","_onMapClick"],this),this._anchor=e&&e.anchor||"center",this._color=e&&e.color||"#3FB1CE",e&&e.element)this._element=e.element,this._offset=t.default$1.convert(e&&e.offset||[0,0]);else{this._defaultMarker=!0,this._element=s.create("div");var r=s.createNS("http://www.w3.org/2000/svg","svg");r.setAttributeNS(null,"height","41px"),r.setAttributeNS(null,"width","27px"),r.setAttributeNS(null,"viewBox","0 0 27 41");var n=s.createNS("http://www.w3.org/2000/svg","g");n.setAttributeNS(null,"stroke","none"),n.setAttributeNS(null,"stroke-width","1"),n.setAttributeNS(null,"fill","none"),n.setAttributeNS(null,"fill-rule","evenodd");var i=s.createNS("http://www.w3.org/2000/svg","g");i.setAttributeNS(null,"fill-rule","nonzero");var a=s.createNS("http://www.w3.org/2000/svg","g");a.setAttributeNS(null,"transform","translate(3.0, 29.0)"),a.setAttributeNS(null,"fill","#000000");for(var o=0,l=[{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"}];o5280?An(e,c,h/5280,"mi"):An(e,c,h,"ft")}else r&&"nautical"===r.unit?An(e,c,f/1852,"nm"):An(e,c,f,"m")}function An(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:1)),l=s/r;"m"===n&&s>=1e3&&(s/=1e3,n="km"),t.style.width=e*l+"px",t.innerHTML=s+n}wn.prototype.getDefaultPosition=function(){return"bottom-left"},wn.prototype._onMove=function(){kn(this._map,this._container,this.options)},wn.prototype.onAdd=function(t){return this._map=t,this._container=s.create("div","mapboxgl-ctrl mapboxgl-ctrl-scale",t.getContainer()),this._map.on("move",this._onMove),this._onMove(),this._container},wn.prototype.onRemove=function(){s.remove(this._container),this._map.off("move",this._onMove),this._map=void 0},wn.prototype.setUnit=function(t){this.options.unit=t,kn(this._map,this._container,this.options)};var Mn=function(){this._fullscreen=!1,t.bindAll(["_onClickFullscreen","_changeIcon"],this),"onfullscreenchange"in t.default.document?this._fullscreenchange="fullscreenchange":"onmozfullscreenchange"in t.default.document?this._fullscreenchange="mozfullscreenchange":"onwebkitfullscreenchange"in t.default.document?this._fullscreenchange="webkitfullscreenchange":"onmsfullscreenchange"in t.default.document&&(this._fullscreenchange="MSFullscreenChange"),this._className="mapboxgl-ctrl"};Mn.prototype.onAdd=function(e){return this._map=e,this._mapContainer=this._map.getContainer(),this._container=s.create("div",this._className+" mapboxgl-ctrl-group"),this._checkFullscreenSupport()?this._setupUI():(this._container.style.display="none",t.warnOnce("This device does not support fullscreen mode.")),this._container},Mn.prototype.onRemove=function(){s.remove(this._container),this._map=null,t.default.document.removeEventListener(this._fullscreenchange,this._changeIcon)},Mn.prototype._checkFullscreenSupport=function(){return!!(t.default.document.fullscreenEnabled||t.default.document.mozFullScreenEnabled||t.default.document.msFullscreenEnabled||t.default.document.webkitFullscreenEnabled)},Mn.prototype._setupUI=function(){var e=this._fullscreenButton=s.create("button",this._className+"-icon "+this._className+"-fullscreen",this._container);e.setAttribute("aria-label","Toggle fullscreen"),e.type="button",this._fullscreenButton.addEventListener("click",this._onClickFullscreen),t.default.document.addEventListener(this._fullscreenchange,this._changeIcon)},Mn.prototype._isFullscreen=function(){return this._fullscreen},Mn.prototype._changeIcon=function(){(t.default.document.fullscreenElement||t.default.document.mozFullScreenElement||t.default.document.webkitFullscreenElement||t.default.document.msFullscreenElement)===this._mapContainer!==this._fullscreen&&(this._fullscreen=!this._fullscreen,this._fullscreenButton.classList.toggle(this._className+"-shrink"),this._fullscreenButton.classList.toggle(this._className+"-fullscreen"))},Mn.prototype._onClickFullscreen=function(){this._isFullscreen()?t.default.document.exitFullscreen?t.default.document.exitFullscreen():t.default.document.mozCancelFullScreen?t.default.document.mozCancelFullScreen():t.default.document.msExitFullscreen?t.default.document.msExitFullscreen():t.default.document.webkitCancelFullScreen&&t.default.document.webkitCancelFullScreen():this._mapContainer.requestFullscreen?this._mapContainer.requestFullscreen():this._mapContainer.mozRequestFullScreen?this._mapContainer.mozRequestFullScreen():this._mapContainer.msRequestFullscreen?this._mapContainer.msRequestFullscreen():this._mapContainer.webkitRequestFullscreen&&this._mapContainer.webkitRequestFullscreen()};var Tn={closeButton:!0,closeOnClick:!0},Sn=function(e){function r(r){e.call(this),this.options=t.extend(Object.create(Tn),r),t.bindAll(["_update","_onClickClose"],this)}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.addTo=function(e){return this._map=e,this._map.on("move",this._update),this.options.closeOnClick&&this._map.on("click",this._onClickClose),this._update(),this.fire(new t.Event("open")),this},r.prototype.isOpen=function(){return!!this._map},r.prototype.remove=function(){return this._content&&s.remove(this._content),this._container&&(s.remove(this._container),delete this._container),this._map&&(this._map.off("move",this._update),this._map.off("click",this._onClickClose),delete this._map),this.fire(new t.Event("close")),this},r.prototype.getLngLat=function(){return this._lngLat},r.prototype.setLngLat=function(t){return this._lngLat=G.convert(t),this._pos=null,this._update(),this},r.prototype.setText=function(e){return this.setDOMContent(t.default.document.createTextNode(e))},r.prototype.setHTML=function(e){var r,n=t.default.document.createDocumentFragment(),i=t.default.document.createElement("body");for(i.innerHTML=e;r=i.firstChild;)n.appendChild(r);return this.setDOMContent(n)},r.prototype.setDOMContent=function(t){return this._createContent(),this._content.appendChild(t),this._update(),this},r.prototype._createContent=function(){this._content&&s.remove(this._content),this._content=s.create("div","mapboxgl-popup-content",this._container),this.options.closeButton&&(this._closeButton=s.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._onClickClose))},r.prototype._update=function(){if(this._map&&this._lngLat&&this._content){this._container||(this._container=s.create("div","mapboxgl-popup",this._map.getContainer()),this._tip=s.create("div","mapboxgl-popup-tip",this._container),this._container.appendChild(this._content)),this._map.transform.renderWorldCopies&&(this._lngLat=dn(this._lngLat,this._pos,this._map.transform));var e=this._pos=this._map.project(this._lngLat),r=this.options.anchor,n=function e(r){if(r){if("number"==typeof r){var n=Math.round(Math.sqrt(.5*Math.pow(r,2)));return{center:new t.default$1(0,0),top:new t.default$1(0,r),"top-left":new t.default$1(n,n),"top-right":new t.default$1(-n,n),bottom:new t.default$1(0,-r),"bottom-left":new t.default$1(n,-n),"bottom-right":new t.default$1(-n,-n),left:new t.default$1(r,0),right:new t.default$1(-r,0)}}if(r instanceof t.default$1||Array.isArray(r)){var i=t.default$1.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.default$1.convert(r.center||[0,0]),top:t.default$1.convert(r.top||[0,0]),"top-left":t.default$1.convert(r["top-left"]||[0,0]),"top-right":t.default$1.convert(r["top-right"]||[0,0]),bottom:t.default$1.convert(r.bottom||[0,0]),"bottom-left":t.default$1.convert(r["bottom-left"]||[0,0]),"bottom-right":t.default$1.convert(r["bottom-right"]||[0,0]),left:t.default$1.convert(r.left||[0,0]),right:t.default$1.convert(r.right||[0,0])}}return e(new t.default$1(0,0))}(this.options.offset);if(!r){var i,a=this._container.offsetWidth,o=this._container.offsetHeight;i=e.y+n.bottom.ythis._map.transform.height-o?["bottom"]:[],e.x
this._map.transform.width-a/2&&i.push("right"),r=0===i.length?"bottom":i.join("-")}var l=e.add(n[r]).round();s.setTransform(this._container,gn[r]+" translate("+l.x+"px,"+l.y+"px)"),vn(this._container,r,"popup")}},r.prototype._onClickClose=function(){this.remove()},r}(t.Evented),Cn={version:"0.45.0",supported:e,workerCount:Math.max(Math.floor(a.hardwareConcurrency/2),1),setRTLTextPlugin:t.setRTLTextPlugin,Map:un,NavigationControl:pn,GeolocateControl:bn,AttributionControl:nn,ScaleControl:wn,FullscreenControl:Mn,Popup:Sn,Marker:mn,Style:Je,LngLat:G,LngLatBounds:W,Point:t.default$1,Evented:t.Evented,config:v,get accessToken(){return v.ACCESS_TOKEN},set accessToken(t){v.ACCESS_TOKEN=t},workerUrl:""};return Cn}),n})}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],413:[function(t,e,r){"use strict";e.exports=function(t){for(var e=1<p[1][2]&&(m[0]=-m[0]),p[0][2]>p[2][0]&&(m[1]=-m[1]),p[1][0]>p[0][1]&&(m[2]=-m[2]),!0}},{"./normalize":415,"gl-mat4/clone":250,"gl-mat4/create":251,"gl-mat4/determinant":252,"gl-mat4/invert":256,"gl-mat4/transpose":266,"gl-vec3/cross":320,"gl-vec3/dot":325,"gl-vec3/length":335,"gl-vec3/normalize":342}],415:[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}},{}],416:[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":252,"gl-vec3/lerp":336,"mat4-decompose":414,"mat4-recompose":417,"quat-slerp":469}],417:[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":251,"gl-mat4/fromRotationTranslation":254,"gl-mat4/identity":255,"gl-mat4/multiply":258,"gl-mat4/scale":264,"gl-mat4/translate":265}],418:[function(t,e,r){"use strict";e.exports=Math.log2||function(t){return Math.log(t)*Math.LOG2E}},{}],419:[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 v=this.computedInverse;a(v,o);var m=this.computedEye,y=v[15];m[0]=v[12]/y,m[1]=v[13]/y,m[2]=v[14]/y;var x=this.computedCenter,b=Math.exp(this.computedRadius[0]);for(c=0;c<3;++c)x[c]=m[c]-o[2+4*c]*b}},d.idle=function(t){if(!(t1&&n(t[o[u-2]],t[o[u-1]],c)<=0;)u-=1,o.pop();for(o.push(l),u=s.length;u>1&&n(t[s[u-2]],t[s[u-1]],c)>=0;)u-=1,s.pop();s.push(l)}for(var r=new Array(s.length+o.length-2),f=0,i=0,h=o.length;i0;--p)r[f++]=s[p];return r};var n=t("robust-orientation")[3]},{"robust-orientation":488}],421:[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 v(){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)))}v();var m={element:t};return Object.defineProperties(m,{enabled:{get:function(){return s},set:function(e){e?v():s&&(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}}),m};var n=t("mouse-event")},{"mouse-event":423}],422:[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}},{}],423:[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<=0)return 1< 0");"function"!=typeof t.vertex&&e("Must specify vertex creation function");"function"!=typeof t.cell&&e("Must specify cell creation function");"function"!=typeof t.phase&&e("Must specify phase function");for(var C=t.getters||[],E=new Array(T),L=0;L=0?E[L]=!0:E[L]=!1;return function(t,e,r,T,S,C){var E=C.length,L=S.length;if(L<2)throw new Error("ndarray-extract-contour: Dimension must be at least 2");for(var z="extractContour"+S.join("_"),O=[],I=[],D=[],P=0;P0&&N.push(l(P,S[R-1])+"*"+s(S[R-1])),I.push(d(P,S[R])+"=("+N.join("-")+")|0")}for(var P=0;P=0;--P)j.push(s(S[P]));I.push(w+"=("+j.join("*")+")|0",b+"=mallocUint32("+w+")",x+"=mallocUint32("+w+")",k+"=0"),I.push(g(0)+"=0");for(var R=1;R<1<0;A=A-1&d)w.push(x+"["+k+"+"+m(A)+"]");w.push(y(0));for(var A=0;A=0;--e)G(e,0);for(var r=[],e=0;e0){",p(S[e]),"=1;");t(e-1,r|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(var l=0;l=0||e.indexOf(-(l+1))>=0||n.push("&&s[",l,"]>2");n.push("){grad",i,"(src.pick(",s.join(),")",c);for(var l=0;l=0||e.indexOf(-(l+1))>=0||n.push(",dst.pick(",s.join(),",",l,")",c);n.push(");")}for(var l=0;l1){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<>",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;tthis_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_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":135}],431:[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":432,ndarray:436}],432:[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":135}],433:[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;r0?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 v=new Function("insertionSort","quickSort",r.join("\n")),m=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;u1){for(r.push("dptr=0;sptr=ptr"),u=t.length-1;u>=0;--u)0!==(p=t[u])&&r.push(["for(i",p,"=0;i",p,"b){break __l}"].join("")),u=t.length-1;u>=1;--u)r.push("sptr+=e"+u,"dptr+=f"+u,"}");for(r.push("dptr=cptr;sptr=cptr-s0"),u=t.length-1;u>=0;--u)0!==(p=t[u])&&r.push(["for(i",p,"=0;i",p,"=0;--u)0!==(p=t[u])&&r.push(["for(i",p,"=0;i",p,"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=0;--a)0!==(o=t[a])&&n.push(["for(i",o,"=0;i",o,"1)for(a=0;a1?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;o1)for(o=0;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?m([e,r],!1,v("ptr0",g("ptr1"))):n.push(v(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 k(e,r){t.length>1?m([e,r],!1,["tmp=",g("ptr0"),"\n",v("ptr0",g("ptr1")),"\n",v("ptr1","tmp")].join("")):n.push(["ptr0=",d(e),"\n","ptr1=",d(r),"\n","tmp=",g("ptr0"),"\n",v("ptr0",g("ptr1")),"\n",v("ptr1","tmp")].join(""))}function A(e,r,i){t.length>1?(m([e,r,i],!1,["tmp=",g("ptr0"),"\n",v("ptr0",g("ptr1")),"\n",v("ptr1",g("ptr2")),"\n",v("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",v("ptr0",g("ptr1")),"\n",v("ptr1",g("ptr2")),"\n",v("ptr2","tmp")].join(""))}function M(t,e){k(t,e),n.push("--"+e)}function T(e,r,i){t.length>1?m([e,r],!0,[v("ptr0",g("ptr1")),"\n",v("ptr1",["pivot",i,"[pivot_ptr]"].join(""))].join("")):n.push(v(d(e),g(d(r))),v(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 C(e,r,i){t.length>1?(n.push(["__l",++u,":while(true){"].join("")),m([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?m(["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",v("ptr5","x"),"\n",v("ptr6","y"),"\n",v("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",v(d("index1"),"x"),"\n",v(d("index3"),"y"),"\n",v(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){"),k("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){"),A("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){"),k("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(--greatindex5){"),C("less",1,"++less"),C("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){"),k("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(--great1&&c?new Function("insertionSort","malloc","free",n.join("\n"))(r,c[0],c[1]):new Function("insertionSort",n.join("\n"))(r)}(t,e,m);return v(m,y)}},{"typedarray-pool":523}],434:[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":433}],435:[function(t,e,r){"use strict";var n=t("ndarray-linear-interpolate"),i=t("cwise/lib/wrapper")({args:["index","array","scalar","scalar","scalar"],pre:{body:"{this_warped=new Array(_inline_3_arg4_)}",args:[{name:"_inline_3_arg0_",lvalue:!1,rvalue:!1,count:0},{name:"_inline_3_arg1_",lvalue:!1,rvalue:!1,count:0},{name:"_inline_3_arg2_",lvalue:!1,rvalue:!1,count:0},{name:"_inline_3_arg3_",lvalue:!1,rvalue:!1,count:0},{name:"_inline_3_arg4_",lvalue:!1,rvalue:!0,count:1}],thisVars:["this_warped"],localVars:[]},body:{body:"{_inline_4_arg2_(this_warped,_inline_4_arg0_),_inline_4_arg1_=_inline_4_arg3_.apply(void 0,this_warped)}",args:[{name:"_inline_4_arg0_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_4_arg1_",lvalue:!0,rvalue:!1,count:1},{name:"_inline_4_arg2_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_4_arg3_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_4_arg4_",lvalue:!1,rvalue:!1,count:0}],thisVars:["this_warped"],localVars:[]},post:{body:"{}",args:[],thisVars:[],localVars:[]},debug:!1,funcName:"warpND",blockSize:64}),a=t("cwise/lib/wrapper")({args:["index","array","scalar","scalar","scalar"],pre:{body:"{this_warped=[0]}",args:[],thisVars:["this_warped"],localVars:[]},body:{body:"{_inline_7_arg2_(this_warped,_inline_7_arg0_),_inline_7_arg1_=_inline_7_arg3_(_inline_7_arg4_,this_warped[0])}",args:[{name:"_inline_7_arg0_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_7_arg1_",lvalue:!0,rvalue:!1,count:1},{name:"_inline_7_arg2_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_7_arg3_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_7_arg4_",lvalue:!1,rvalue:!0,count:1}],thisVars:["this_warped"],localVars:[]},post:{body:"{}",args:[],thisVars:[],localVars:[]},debug:!1,funcName:"warp1D",blockSize:64}),o=t("cwise/lib/wrapper")({args:["index","array","scalar","scalar","scalar"],pre:{body:"{this_warped=[0,0]}",args:[],thisVars:["this_warped"],localVars:[]},body:{body:"{_inline_10_arg2_(this_warped,_inline_10_arg0_),_inline_10_arg1_=_inline_10_arg3_(_inline_10_arg4_,this_warped[0],this_warped[1])}",args:[{name:"_inline_10_arg0_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_10_arg1_",lvalue:!0,rvalue:!1,count:1},{name:"_inline_10_arg2_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_10_arg3_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_10_arg4_",lvalue:!1,rvalue:!0,count:1}],thisVars:["this_warped"],localVars:[]},post:{body:"{}",args:[],thisVars:[],localVars:[]},debug:!1,funcName:"warp2D",blockSize:64}),s=t("cwise/lib/wrapper")({args:["index","array","scalar","scalar","scalar"],pre:{body:"{this_warped=[0,0,0]}",args:[],thisVars:["this_warped"],localVars:[]},body:{body:"{_inline_13_arg2_(this_warped,_inline_13_arg0_),_inline_13_arg1_=_inline_13_arg3_(_inline_13_arg4_,this_warped[0],this_warped[1],this_warped[2])}",args:[{name:"_inline_13_arg0_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_13_arg1_",lvalue:!0,rvalue:!1,count:1},{name:"_inline_13_arg2_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_13_arg3_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_13_arg4_",lvalue:!1,rvalue:!0,count:1}],thisVars:["this_warped"],localVars:[]},post:{body:"{}",args:[],thisVars:[],localVars:[]},debug:!1,funcName:"warp3D",blockSize:64});e.exports=function(t,e,r){switch(e.shape.length){case 1:a(t,r,n.d1,e);break;case 2:o(t,r,n.d2,e);break;case 3:s(t,r,n.d3,e);break;default:i(t,r,n.bind(void 0,e),e.shape.length)}return t}},{"cwise/lib/wrapper":138,"ndarray-linear-interpolate":429}],436:[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;tMath.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=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=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:[],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)for(n=0,s=0;s>>0;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),o=n.lo(t);e>t==t>0?o===a?(r+=1,o=0):o+=1:0===o?(o=a,r-=1):o-=1;return n.pack(o,r)}},{"double-bits":153}],438:[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)k=p[0],A=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,v=(e-(h=d.y))/2,m=g*g/(r*r)+v*v/(a*a);m>1&&(r*=m=Math.sqrt(m),a*=m);var y=r*r,x=a*a,b=(c==u?-1:1)*Math.sqrt(Math.abs((y*x-y*v*v-x*g*g)/(y*v*v+x*g*g)));b==1/0&&(b=1);var _=b*r*v/a+(t+f)/2,w=b*-a*g/r+(e+h)/2,k=Math.asin(((e-w)/a).toFixed(9)),A=Math.asin(((h-w)/a).toFixed(9));(k=t<_?n-k:k)<0&&(k=2*n+k),(A=f<_?n-A:A)<0&&(A=2*n+A),u&&k>A&&(k-=2*n),!u&&A>k&&(A-=2*n)}if(Math.abs(A-k)>i){var M=A,T=f,S=h;A=k+i*(u&&A>k?1:-1);var C=s(f=_+r*Math.cos(A),h=w+a*Math.sin(A),r,a,o,0,u,T,S,[A,M,_,w])}var E=Math.tan((A-k)/4),L=4/3*r*E,z=4/3*a*E,O=[2*t-(t+L*Math.sin(k)),2*e-(e-z*Math.cos(k)),f+L*Math.sin(A),h-z*Math.cos(A),f,h];if(p)return O;C&&(O=O.concat(C));for(var I=0;I7&&(r.push(m.splice(0,7)),m.unshift("C"));break;case"S":var x=p,b=d;"C"!=e&&"S"!=e||(x+=x-n,b+=b-i),m=["C",x,b,m[1],m[2],m[3],m[4]];break;case"T":"Q"==e||"T"==e?(f=2*p-f,h=2*d-h):(f=p,h=d),m=o(p,d,f,h,m[1],m[2]);break;case"Q":f=m[1],h=m[2],m=o(p,d,m[1],m[2],m[3],m[4]);break;case"L":m=a(p,d,m[1],m[2]);break;case"H":m=a(p,d,m[1],d);break;case"V":m=a(p,d,p,m[1]);break;case"Z":m=a(p,d,l,u)}e=y,p=m[m.length-2],d=m[m.length-1],m.length>4?(n=m[m.length-4],i=m[m.length-3]):(n=p,i=d),r.push(m)}return r}},{}],439:[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;oa){var b=i[c],_=1/Math.sqrt(v*y);for(x=0;x<3;++x){var w=(x+1)%3,k=(x+2)%3;b[x]+=_*(m[w]*g[k]-m[k]*g[w])}}}for(o=0;oa)for(_=1/Math.sqrt(A),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;oa?1/Math.sqrt(p):0;for(c=0;c<3;++c)h[c]*=p;i[o]=h}return i}},{}],440:[function(t,e,r){"use strict";var n=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var t=new String("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,o,s=function(t){if(null==t)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(t)}(t),l=1;l0){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}},{}],442:[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],v=i[6],m=i[10],y=g*a+v*o+m*s,x=g*u+v*f+m*h,b=l(g-=y*a+x*u,v-=y*o+x*f,m-=y*s+x*h);g/=b,v/=b,m/=b;var _=u*e+a*r,w=f*e+o*r,k=h*e+s*r;this.center.move(t,_,w,k);var A=Math.exp(this.computedRadius[0]);A=Math.max(1e-4,A+n),this.radius.set(t,Math.log(A))},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],v=e*a+r*u,m=e*o+r*f,y=e*s+r*h,x=-(d*y-g*m),b=-(g*v-p*y),_=-(p*m-d*v),w=Math.sqrt(Math.max(0,1-Math.pow(x,2)-Math.pow(b,2)-Math.pow(_,2))),k=c(x,b,_,w);k>1e-6?(x/=k,b/=k,_/=k,w/=k):(x=b=_=0,w=1);var A=this.computedRotation,M=A[0],T=A[1],S=A[2],C=A[3],E=M*w+C*x+T*_-S*b,L=T*w+C*b+S*x-M*_,z=S*w+C*_+M*b-T*x,O=C*w-M*x-T*b-S*_;if(n){x=p,b=d,_=g;var I=Math.sin(n)/l(x,b,_);x*=I,b*=I,_*=I,O=O*(w=Math.cos(e))-(E=E*w+O*x+L*_-z*b)*x-(L=L*w+O*b+z*x-E*_)*b-(z=z*w+O*_+E*b-L*x)*_}var D=c(E,L,z,O);D>1e-6?(E/=D,L/=D,z/=D,O/=D):(E=L=z=0,O=1),this.rotation.set(t,E,L,z,O)},h.lookAt=function(t,e,r,n){this.recalcMatrix(t),r=r||this.computedCenter,e=e||this.computedEye,n=n||this.computedUp;var a=this.computedMatrix;i(a,e,r,n);var o=this.computedRotation;s(o,a[0],a[1],a[2],a[4],a[5],a[6],a[8],a[9],a[10]),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":441,"filtered-vector":216,"gl-mat4/fromQuat":253,"gl-mat4/invert":256,"gl-mat4/lookAt":257}],443:[function(t,e,r){"use strict";var n=t("repeat-string");e.exports=function(t,e,r){return n(r="undefined"!=typeof r?r+"":" ",e)+t}},{"repeat-string":481}],444:[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}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+"(?![0-9]))","g"),t[0]+"$1"+t[1])}),e})});var o=new RegExp("\\"+i+"([0-9]+)");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]+)"),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},{}],445:[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":451}],446:[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.length0;--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;a0;--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":401,"typedarray-pool":523}],451:[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;a0){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;p0&&(o=d,s=g,l=f)}return i?s:(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(var o=0;o0;){a[0][o].length;var g=f(o,p);h(d,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":116}],453:[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;s0;){var c=o.pop();i[c]=!1;for(var u=r[c],s=0;s0})).length,v=new Array(g),m=new Array(g),p=0;p0;){var N=F.pop(),j=E[N];l(j,function(t,e){return t-e});var V,U=j.length,q=B[N];if(0===q){var k=d[N];V=[k]}for(var p=0;p=0)&&(B[H]=1^q,F.push(H),0===q)){var k=d[H];R(k)||(k.reverse(),V.push(k))}}0===q&&r.push(V)}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>>1;e.dtype||(e.dtype="array"),"string"==typeof e.dtype?d=new(f(e.dtype))(v):e.dtype&&(d=e.dtype,Array.isArray(d)&&(d.length=v));for(var m=0;mr){for(var h=0;hl||M>c||T=E||o===s)){var u=y[a];void 0===s&&(s=u.length);for(var f=o;f=g&&p<=m&&d>=v&&d<=w&&z.push(h)}var b=x[a],_=b[4*o+0],k=b[4*o+1],C=b[4*o+2],L=b[4*o+3],O=function(t,e){for(var r=null,n=0;null===r;)if(r=t[4*e+n],++n>t.length)return null;return r}(b,o+1),I=.5*i,D=a+1;e(r,n,I,D,_,k||C||L||O),e(r,n+I,I,D,k,C||L||O),e(r+I,n,I,D,C,L||O),e(r+I,n+I,I,D,L,O)}}}(0,0,1,0,0,1),z},d;function C(t,e,r){for(var n=1,i=.5,a=.5,o=.5,s=0;s0&&e[i]===r[0]))return 1;a=t[i-1]}for(var s=1;a;){var l=a.key,c=n(r,l[0],l[1]);if(l[0][0]0))return 0;s=-1,a=a.right}else if(c>0)a=a.left;else{if(!(c<0))return 0;s=1,a=a.right}}return s}}(m.slabs,m.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},pointBetween:function(e,r,n){var i=e[1]-r[1],a=n[0]-r[0],o=e[0]-r[0],s=n[1]-r[1],l=o*a+i*s;return!(l-t)},pointsSameX:function(e,r){return Math.abs(e[0]-r[0])t!=o-i>t&&(a-c)*(i-u)/(o-u)+c-n>t&&(s=!s),a=c,o=u}return s}};return e}},{}],462:[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;i0})}function u(t,n){var i=t.seg,a=n.seg,o=i.start,s=i.end,c=a.start,u=a.end;r&&r.checkIntersection(i,a);var 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 v(){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 m,y,x=v();if(x)t?(y=null===h.seg.myFill.below||h.seg.myFill.above!==h.seg.myFill.below)&&(x.seg.myFill.above=!x.seg.myFill.above):x.seg.otherFill=h.seg.myFill,r&&r.segmentUpdate(x.seg),h.other.remove(),h.remove();if(a.getHead()!==h){r&&r.rewind(h.seg);continue}t?(y=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=y?!h.seg.myFill.below:h.seg.myFill.below):null===h.seg.otherFill&&(m=g?h.primary===g.primary?g.seg.otherFill.above:g.seg.myFill.above:h.primary?o:i,h.seg.otherFill={above:m,below:m}),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=c?(A=1,y=c+2*h+d):y=h*(A=-h/c)+d):(A=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?(A=0,y=d):-h>=c?(A=1,y=c+2*h+d):y=h*(A=-h/c)+d;else{var T=1/k;y=(A*=T)*(c*A+u*(M*=T)+2*h)+M*(u*A+f*M+2*p)+d}else A<0?(b=f+p)>(x=u+h)?(_=b-x)>=(w=c-2*u+f)?(A=1,M=0,y=c+2*h+d):y=(A=_/w)*(c*A+u*(M=1-A)+2*h)+M*(u*A+f*M+2*p)+d:(A=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,A=0,y=f+2*p+d):y=(A=1-(M=_/w))*(c*A+u*M+2*h)+M*(u*A+f*M+2*p)+d:(M=0,b<=0?(A=1,y=c+2*h+d):h>=0?(A=0,y=d):y=h*(A=-h/c)+d):(_=f+p-u-h)<=0?(A=0,M=1,y=f+2*p+d):_>=(w=c-2*u+f)?(A=1,M=0,y=c+2*h+d):y=(A=_/w)*(c*A+u*(M=1-A)+2*h)+M*(u*A+f*M+2*p)+d;var S=1-A-M;for(l=0;l1)for(var r=1;r0){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":101,"compare-cell":117,"compare-oriented-cell":118}],476:[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,v,m=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)}),v=t.buffer({usage:"static",type:"float",data:h}),k(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 mediump float;\n\n\t\tvarying vec4 fragColor;\n\n\t\tuniform float opacity;\n\n\t\tvoid main() {\n\t\t\tgl_FragColor = fragColor;\n\t\t\tgl_FragColor.a *= opacity;\n\t\t}\n\t\t",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:v,stride:24,offset:0},lineOffset:{buffer:v,stride:24,offset:8},capOffset:{buffer:v,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:k,draw:_,destroy:A,regl:t,gl:m,canvas:m.canvas,groups:x}),b;function b(t){t?k(t):null===t&&A(),_()}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 k(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 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}},v.defaults={dashes:null,join:"miter",miterLimit:1,thickness:10,cap:"square",color:"black",opacity:1,overlay:!1,viewport:null,range:null,close:!1,fill:null},v.prototype.render=function(){for(var t,e=[],r=arguments.length;r--;)e[r]=arguments[r];e.length&&(t=this).update.apply(t,e),this.draw()},v.prototype.draw=function(){for(var t=this,e=[],r=arguments.length;r--;)e[r]=arguments[r];return(e.length?e:this.passes).forEach(function(e,r){var n;if(e&&Array.isArray(e))return(n=t).draw.apply(n,e);"number"==typeof e&&(e=t.passes[e]),e&&e.count>1&&e.opacity&&(t.regl._refresh(),e.fill&&e.triangles&&e.triangles.length>2&&t.shaders.fill(e),e.thickness&&(e.scale[0]*e.viewport.width>v.precisionThreshold||e.scale[1]*e.viewport.height>v.precisionThreshold?t.shaders.rect(e):"rect"===e.join||!e.join&&(e.thickness<=2||e.count>=v.maxPoints)?t.shaders.rect(e):t.shaders.miter(e)))}),this},v.prototype.update=function(t){var e=this;if(t){null!=t.length?"number"==typeof t[0]&&(t=[{positions:t}]):Array.isArray(t)||(t=[t]);var r=this.regl,o=this.gl;if(t.forEach(function(t,f){var d=e.passes[f];if(void 0!==t)if(null!==t){if("number"==typeof t[0]&&(t={positions:t}),t=s(t,{positions:"positions points data coords",thickness:"thickness lineWidth lineWidths line-width linewidth width stroke-width strokewidth strokeWidth",join:"lineJoin linejoin join type mode",miterLimit:"miterlimit miterLimit",dashes:"dash dashes dasharray dash-array dashArray",color:"color colour stroke colors colours stroke-color strokeColor",fill:"fill fill-color fillColor",opacity:"alpha opacity",overlay:"overlay crease overlap intersect",close:"closed close closed-path closePath",range:"range dataBox",viewport:"viewport viewBox",hole:"holes hole hollow"}),d||(e.passes[f]=d={id:f,scale:null,scaleFract:null,translate:null,translateFract:null,count:0,hole:[],depth:0,dashLength:1,dashTexture:r.texture({channels:1,data:new Uint8Array([255]),width:1,height:1,mag:"linear",min:"linear"}),colorBuffer:r.buffer({usage:"dynamic",type:"uint8",data:new Uint8Array}),positionBuffer:r.buffer({usage:"dynamic",type:"float",data:new Uint8Array}),positionFractBuffer:r.buffer({usage:"dynamic",type:"float",data:new Uint8Array})},t=a({},v.defaults,t)),null!=t.thickness&&(d.thickness=parseFloat(t.thickness)),null!=t.opacity&&(d.opacity=parseFloat(t.opacity)),null!=t.miterLimit&&(d.miterLimit=parseFloat(t.miterLimit)),null!=t.overlay&&(d.overlay=!!t.overlay,f 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=u(["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 sampler2D palette;\nuniform vec2 paletteSize;\n\nconst float maxSize = 100.;\n\nvarying vec4 fragColor, fragBorderColor;\nvarying float fragBorderRadius, fragWidth;\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) * 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 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"]),d&&(l.frag=l.frag.replace("smoothstep","smoothStep"),s.frag=s.frag.replace("smoothstep","smoothStep")),this.drawCircle=t(l)}y.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},y.prototype.render=function(){return arguments.length&&this.update.apply(this,arguments),this.draw(),this},y.prototype.draw=function(){for(var t=this,e=arguments.length,r=new Array(e),n=0;nn)?e.tree=l(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=s.elements(h)}return i({data:g.float(t),usage:"dynamic"}),a({data:g.fract(t),usage:"dynamic"}),c({data:new Uint8Array(u),type:"uint8",usage:"stream"}),t}},{marker:function(e,r,n){var i=r.activation;if(i.forEach(function(t){return t&&t.destroy&&t.destroy()}),i.length=0,e&&"number"!=typeof e[0]){for(var a=[],o=0,l=Math.min(e.length,r.count);o=0)return a;if(t instanceof Uint8Array||t instanceof Uint8ClampedArray)e=t;else{e=new Uint8Array(t.length);for(var o=0,s=t.length;o4*n&&(this.tooManyColors=!0),this.updatePalette(r),1===i.length?i[0]:i},y.prototype.updatePalette=function(t){if(!this.tooManyColors){var e=this.maxColors,r=this.paletteTexture,n=Math.ceil(.25*t.length/e);if(n>1)for(var i=.25*(t=t.slice()).length%e;i2?(s[0],s[2],n=s[1],i=s[3]):s.length?(n=s[0],i=s[1]):(s.x,n=s.y,s.x+s.width,i=s.y+s.height),l.length>2?(a=l[0],o=l[2],l[1],l[3]):l.length?(a=l[0],o=l[1]):(a=l.x,l.y,o=l.x+l.width,l.y+l.height),[a,n,o,i]}function p(t){if("number"==typeof t)return[t,t,t,t];if(2===t.length)return[t[0],t[1],t[0],t[1]];var e=l(t);return[e.x,e.y,e.x+e.width,e.y+e.height]}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;nA))&&(s.lower||!(k>>=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)||Y(t.data))}function c(t,e,r,n,i,a){for(var o=0;o(i=s)&&(i=n.buffer.byteLength,5123===f?i>>=1:5125===f&&(i>>=2)),n.vertCount=i,i=o,0>o&&(i=4,1===(o=n.buffer.dimension)&&(i=0),2===o&&(i=1),3===o&&(i=4)),n.primType=i}function o(t){n.elementsCount--,delete s[t.id],t.buffer.destroy(),t.buffer=null}var s={},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)||Y(t)||l(t)?e=t:("data"in t&&(e=t.data),"usage"in t&&(r=K[t.usage]),"primitive"in t&&(n=rt[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(){X(s).forEach(o)}}}function g(t){for(var e=G.allocType(5123,t.length),r=0;r>>31<<15,i=(a<<1>>>24)-127,a=a>>13&1023;e[r]=-24>i?n:-14>i?n+(a+1024>>-14-i):15>=i,r.height>>=i,p(r,n[i]),t.mipmask|=1<e;++e)t.images[e]=null;return t}function L(t){for(var e=t.images,r=0;re){for(var r=0;r=--this.refCount&&F(this)}}),o.profile&&(a.getTotalTextureSize=function(){var t=0;return Object.keys(mt).forEach(function(e){t+=mt[e].stats.size}),t}),{create2D:function(e,r){function n(t,e){var r=i.texInfo;z.call(r);var a=E();return"number"==typeof t?T(a,0|t,"number"==typeof e?0|e:0|t):t?(O(r,t),S(a,t)):T(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,P(i),C(a,3553),I(r,3553),R(),L(a),o.profile&&(i.stats.size=k(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 D(3553);return mt[i.id]=i,a.textureCount++,n(e,r),n.subimage=function(t,e,r,a){e|=0,r|=0,a|=0;var o=m();return c(o,i),o.width=0,o.height=0,p(o,t),o.width=o.width||(i.width>>a)-e,o.height=o.height||(i.height>>a)-r,P(i),d(o,3553,e,r,a),R(),A(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,P(i);for(var l,c=i.channels,u=i.type,f=0;i.mipmask>>f;++f){var h=a>>f,p=s>>f;if(!h||!p)break;l=G.zero.allocType(u,h*p*c),t.texImage2D(3553,f,i.format,h,p,0,i.format,i.type,l),l&&G.zero.freeType(l)}return R(),o.profile&&(i.stats.size=k(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(z.call(l),s=0;6>s;++s)g[s]=E();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(O(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)T(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,P(h),s=0;6>s;++s)C(g[s],34069+s);for(I(l,34067),R(),o.profile&&(h.stats.size=k(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 D(34067);mt[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=m();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,P(h),d(a,34069+t,r,n,i),R(),A(a),f},f.resize=function(e){if((e|=0)!==h.width){f.width=h.width=e,f.height=h.height=e,P(h);for(var r=0;6>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=k(h.internalformat,h.type,f.width,f.height,!1,!0)),f}},f._reglType="textureCube",f._texture=h,o.profile&&(f.stats=h.stats),f.destroy=function(){h.decRef()},f},clear:function(){for(var e=0;er;++r)if(0!=(e.mipmask&1<>r,e.height>>r,0,e.internalformat,e.type,null);else for(var n=0;6>n;++n)t.texImage2D(34069+n,r,e.internalformat,e.width>>r,e.height>>r,0,e.internalformat,e.type,null);I(e.texInfo,e.target)})}}}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)?r=i:"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=k++,A[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 v(e){t.deleteFramebuffer(e.framebuffer),e.framebuffer=null,a.framebufferCount--,delete A[e.id]}function m(e){var n;t.bindFramebuffer(36160,e.framebuffer);var i=e.colorAttachments;for(n=0;ni;++i){for(c=0;ct;++t)r[t].resize(n);return e.width=e.height=n,e},_reglType:"framebufferCube",destroy:function(){r.forEach(function(t){t.destroy()})}})},clear:function(){X(A).forEach(v)},restore:function(){x.cur=null,x.next=null,x.dirty=!0,X(A).forEach(function(e){e.framebuffer=t.createFramebuffer(),m(e)})}})}function T(){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){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;rt&&(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);X(c).forEach(e),c={},X(u).forEach(e),u={},h.forEach(function(e){t.deleteProgram(e.program)}),h.length=0,f={},r.shaderCount=0},program:function(t,e,n){var i=f[e];i||(i=f[e]={});var a=i[t];return a||(a=new s(e,t),r.shaderCount++,l(a),i[t]=a,h.push(a)),a},restore:function(){c={},u={};for(var t=0;t"+e+"?"+i+".constant["+e+"]:0;"}).join(""),"}}else{","if(",o,"(",i,".buffer)){",u,"=",s,".createStream(",34962,",",i,".buffer);","}else{",u,"=",s,".getBuffer(",i,".buffer);","}",f,'="type" in ',i,"?",a.glTypes,"[",i,".type]:",u,".dtype;",l.normalized,"=!!",i,".normalized;"),n("size"),n("offset"),n("stride"),n("divisor"),r("}}"),r.exit("if(",l.isStream,"){",s,".destroyStream(",u,");","}"),l})}),o}function M(t,e,r,n,i){var o=_(t),s=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=F(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,o),l=k(t),c=function(t,e){var r=t.static,n=t.dynamic,i={};return nt.forEach(function(t){function e(e,a){if(t in r){var s=e(r[t]);i[o]=R(function(){return s})}else if(t in n){var l=n[t];i[o]=F(l,function(t,e){return a(t,e,t.invoke(e,l))})}}var o=m(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 kt[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[wt["srcRGB"in t?t.srcRGB:t.src],wt["dstRGB"in t?t.dstRGB:t.dst],wt["srcAlpha"in t?t.srcAlpha:t.src],wt["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?[$[t],$[t]]:"object"==typeof t?[$[t.rgb],$[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[kt[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 Mt[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),u=w(t),f=s.viewport;return f&&(c.viewport=f),(s=s[f=m("scissor.box")])&&(c[f]=s),(o={framebuffer:o,draw:l,shader:u,state:c,dirty:s=0>1)",s],");")}function e(){r(l,".drawArraysInstancedANGLE(",[d,g,v,s],");")}p?y?t():(r("if(",p,"){"),t(),r("}else{"),e(),r("}")):e()}function o(){function t(){r(u+".drawElements("+[d,v,m,g+"<<(("+m+"-5121)>>1)"]+");")}function e(){r(u+".drawArrays("+[d,g,v]+");")}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"),v=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 v){if(0===v)return}else r("if(",v,"){"),r.exit("}");K&&(s=i("instances"),l=t.instancing);var m=p+".type",y=h.elements&&P(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 q(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),N(t,e,r,n.attributes,function(){return!0}),j(t,e,r,n.uniforms,function(){return!0}),V(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),V(t,e,e,r)}function W(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&&T(t,u,r.context),r.needsFramebuffer&&S(t,u,r.framebuffer),E(t,u,r.state,i),r.profile&&i(r.profile)&&B(t,u,r,!1,!0),n?(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),V(t,c,u,r)):(e=t.global.def("{}"),n=r.shader.progVar.append(t,u),l=u.def(n,".id"),c=u.def(e,"[",l,"]"),u(t.shared.gl,".useProgram(",n,".program);","if(!",c,"){",c,"=",e,"[",l,"]=",t.link(function(e){return q(G,t,r,e,2)}),"(",n,");}",c,".call(this,a0[",s,"],",s,");"))}function Y(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;T(t,i,r.context),r.framebuffer&&r.framebuffer.append(t,i),I(Object.keys(r.state)).forEach(function(e){var n=r.state[e].append(t,i);v(n)?n.forEach(function(r,n){i.set(t.next[e],"["+n+"]",r)}):i.set(a.next,"."+e,n)}),B(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])})}),n("vert"),n("frag"),0=--this.refCount&&o(this)},i.profile&&(n.getTotalRenderbufferSize=function(){var t=0;return Object.keys(u).forEach(function(e){t+=u[e].stats.size}),t}),{create:function(e,r){function o(e,r){var n=0,a=0,u=32854;if("object"==typeof e&&e?("shape"in e?(n=0|(a=e.shape)[0],a=0|a[1]):("radius"in e&&(n=a=0|e.radius),"width"in e&&(n=0|e.width),"height"in e&&(a=0|e.height)),"format"in e&&(u=s[e.format])):"number"==typeof e?(n=0|e,a="number"==typeof r?0|r:n):e||(n=a=1),n!==c.width||a!==c.height||u!==c.format)return o.width=c.width=n,o.height=c.height=a,c.format=u,t.bindRenderbuffer(36161,c.renderbuffer),t.renderbufferStorage(36161,u,n,a),i.profile&&(c.stats.size=vt[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:(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=vt[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(){X(u).forEach(o)},restore:function(){X(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)}}},yt=[];yt[6408]=4,yt[6407]=3;var xt=[];xt[5121]=1,xt[5126]=4,xt[36193]=2;var bt=["x","y","z","w"],_t="blend.func blend.equation stencil.func stencil.opFront stencil.opBack sample.coverage viewport scissor.box polygonOffset.offset".split(" "),wt={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},kt={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},Mt={cw:2304,ccw:2305},Tt=new D(!1,!1,!1,function(){});return function(t){function e(){if(0===Z.length)w&&w.update(),Q=null;else{Q=q.next(e),f();for(var t=Z.length-1;0<=t;--t){var r=Z[t];r&&r(z,null,0)}v.flush(),w&&w.update()}}function r(){!Q&&0=Z.length&&n()}}}}function u(){var t=Y.viewport,e=Y.scissor_box;t[0]=t[1]=e[0]=e[1]=0,z.viewportWidth=z.framebufferWidth=z.drawingBufferWidth=t[2]=e[2]=v.drawingBufferWidth,z.viewportHeight=z.framebufferHeight=z.drawingBufferHeight=t[3]=e[3]=v.drawingBufferHeight}function f(){z.tick+=1,z.time=g(),u(),G.procs.poll()}function h(){u(),G.procs.refresh(),w&&w.update()}function g(){return(H()-k)/1e3}if(!(t=i(t)))return null;var v=t.gl,m=v.getContextAttributes();v.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;ie;++e)tt(j({framebuffer:t.framebuffer.faces[e]},t),l);else tt(t,l);else l(0,t)},prop:U.define.bind(null,1),context:U.define.bind(null,2),this:U.define.bind(null,3),draw:s({}),buffer:function(t){return I.create(t,34962,!1,!1)},elements:function(t){return D.create(t,!1)},texture:R.create2D,cube:R.createCube,renderbuffer:F.create,framebuffer:V.create,framebufferCube:V.createCube,attributes:m,frame:c,on:function(t,e){var r;switch(t){case"frame":return c(e);case"lost":r=$;break;case"restore":r=J;break;case"destroy":r=K}return r.push(e),{cancel:function(){for(var t=0;t=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)}},{}],482:[function(t,e,r){(function(t){e.exports=t.performance&&t.performance.now?function(){return performance.now()}:Date.now||function(){return+new Date}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],483:[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],s=(r=a+o)-a,l=o-s;l&&(t[--n]=r,r=l)}for(var c=0,i=n;i>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(function(t){for(var e=new Array(t),r=0;r>1;return["sum(",c(t.slice(0,e)),",",c(t.slice(e)),")"].join("")}function u(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 u(e,t)}function f(t){if(2===t.length)return[["diff(",u(t[0][0],t[1][1]),",",u(t[1][0],t[0][1]),")"].join("")];for(var e=[],r=0;r0&&r.push(","),r.push("[");for(var o=0;o0&&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 o=[function(){return[0]},function(t,e){return[[e[0]],[t[0][0]]]}];!function(){for(;o.length>1;return["sum(",c(t.slice(0,e)),",",c(t.slice(e)),")"].join("")}function u(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;r0){if(a<=0)return o;n=i+a}else{if(!(i<0))return o;if(a>=0)return o;n=-(i+a)}var s=3.3306690738754716e-16*n;return o>=s||o<=-s?o:h(t,e,r)},function(t,e,r,n){var i=t[0]-n[0],a=e[0]-n[0],o=r[0]-n[0],s=t[1]-n[1],l=e[1]-n[1],c=r[1]-n[1],u=t[2]-n[2],f=e[2]-n[2],h=r[2]-n[2],d=a*c,g=o*l,v=o*s,m=i*c,y=i*l,x=a*s,b=u*(d-g)+f*(v-m)+h*(y-x),_=7.771561172376103e-16*((Math.abs(d)+Math.abs(g))*Math.abs(u)+(Math.abs(v)+Math.abs(m))*Math.abs(f)+(Math.abs(y)+Math.abs(x))*Math.abs(h));return b>_||-b>_?b:p(t,e,r,n)}];!function(){for(;d.length<=s;)d.push(f(d.length));for(var t=[],r=["slow"],n=0;n<=s;++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<=s;++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;i0&&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),h=Math.max(c,u);if(h=n?(i=f,(l+=1)=n?(i=f,(l+=1)0?1:0}},{}],495:[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":84,"reduce-simplicial-complex":475}],496:[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>1,v=E[2*m+1];","if(v===b){return m}","if(b0&&l.push(","),l.push("[");for(var n=0;n0&&l.push(","),l.push("B(C,E,c[",i[0],"],c[",i[1],"])")}l.push("]")}l.push(");")}}for(var a=t+1;a>1;--a){a>1,s=a(t[o],e);s<=0?(0===s&&(i=o),r=o+1):s>0&&(n=o-1)}return i}function u(t,e){for(var r=new Array(t.length),i=0,o=r.length;i=t.length||0!==a(t[v],s)););}return r}function f(t,e){if(e<0)return[];for(var r=[],i=(1<>>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>1:(t>>1)-1}function x(t){for(var e=m(t);;){var r=e,n=2*t+1,i=2*(t+1),a=t;if(n0;){var r=y(t);if(r>=0){var n=m(r);if(e0){var t=A[0];return v(0,S-1),S-=1,x(0),t}return-1}function w(t,e){var r=A[t];return c[r]===e?t:(c[r]=-1/0,b(t),_(),c[r]=e,b((S+=1)-1))}function k(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))}}for(var A=[],M=new Array(a),f=0;f>1;f>=0;--f)x(f);for(;;){var C=_();if(C<0||c[C]>r)break;k(C)}for(var E=[],f=0;f=0&&r>=0&&e!==r){var n=M[e],i=M[r];n!==i&&z.push([n,i])}}),i.unique(i.normalize(z)),{positions:E,edges:z}};var n=t("robust-orientation"),i=t("simplicial-complex")},{"robust-orientation":488,"simplicial-complex":500}],503:[function(t,e,r){"use strict";e.exports=function(t,e){var r,a,o,s;if(e[0][0]e[1][0]))return i(e,t);r=e[1],a=e[0]}if(t[0][0]t[1][0]))return-i(t,e);o=t[1],s=t[0]}var l=n(r,a,s),c=n(r,a,o);if(l<0){if(c<=0)return l}else if(l>0){if(c>=0)return l}else if(c)return c;if(l=n(s,o,a),c=n(s,o,r),l<0){if(c<=0)return l}else if(l>0){if(c>=0)return l}else if(c)return c;return a[0]-s[0]};var n=t("robust-orientation");function i(t,e){var r,i,a,o;if(e[0][0]e[1][0])){var s=Math.min(t[0][1],t[1][1]),l=Math.max(t[0][1],t[1][1]),c=Math.min(e[0][1],e[1][1]),u=Math.max(e[0][1],e[1][1]);return lu?s-u:l-u}r=e[1],i=e[0]}t[0][1]0)if(e[0]!==o[1][0])r=t,t=t.right;else{if(l=c(t.right,e))return l;t=t.left}else{if(e[0]!==o[1][0])return t;var l;if(l=c(t.right,e))return l;t=t.left}}return r}function u(t,e,r,n){this.y=t,this.index=e,this.start=r,this.closed=n}function 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)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":503,"binary-search-bounds":80,"functional-red-black-tree":220,"robust-orientation":488}],505:[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;l0||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;l0||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;l0||n>0&&c<0)&&r.push(o(i,c,s,n)),c<=0&&r.push(s.slice()),n=c}return r}},{"robust-dot-product":485,"robust-sum":493}],506:[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(r){return function(r,n){var i,a,o,s,l,c,u,f,h,p=1,d=r.length,g="";for(a=0;a=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}(function(e){if(i[e])return i[e];var r,n=e,a=[],o=0;for(;n;){if(null!==(r=t.text.exec(n)))a.push(r[0]);else if(null!==(r=t.modulo.exec(n)))a.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");a.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 i[e]=a}(r),arguments)}function n(t,r){return e.apply(null,[t].concat(r||[]))}var i=Object.create(null);"undefined"!=typeof r&&(r.sprintf=e,r.vsprintf=n),"undefined"!=typeof window&&(window.sprintf=e,window.vsprintf=n)}()},{}],507:[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;s0;){e=c[c.length-1];var p=t[e];if(a[e]=0&&s[e].push(o[g])}a[e]=d}else{if(n[e]===r[e]){for(var v=[],m=[],y=0,d=l.length-1;d>=0;--d){var x=l[d];if(i[x]=!1,v.push(x),m.push(s[x]),y+=s[x].length,o[x]=f.length,x===e){l.length=d;break}}f.push(v);for(var b=new Array(y),d=0;d c)|0 },"),"generic"===e&&a.push("getters:[0],");for(var s=[],l=[],c=0;c>>7){");for(var c=0;c<1<<(1<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),v=new Array(r),m=new Array(r),y=0,x=0;xx)&&!(c&1<<_)!=!(c&1<0&&(M="+"+v[b]+"*c");var T=d[b].length/y*.5,S=.5+m[b]/y*.5;A.push("d"+b+"-"+S+"-"+T+"*("+d[b].join("+")+M+")/("+g[b].join("+")+")")}h.push("a.push([",A.join(),"]);","break;")}a.push("}},"),f.length>0&&h.push("}}");for(var C=[],c=0;c<1<1&&(a=1),a<-1&&(a=-1),i*Math.acos(a)};r.default=function(t){var e=t.px,r=t.py,l=t.cx,c=t.cy,u=t.rx,f=t.ry,h=t.xAxisRotation,p=void 0===h?0:h,d=t.largeArcFlag,g=void 0===d?0:d,v=t.sweepFlag,m=void 0===v?0:v,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 k=Math.pow(_,2)/Math.pow(u,2)+Math.pow(w,2)/Math.pow(f,2);k>1&&(u*=Math.sqrt(k),f*=Math.sqrt(k));var A=function(t,e,r,n,a,o,l,c,u,f,h,p){var d=Math.pow(a,2),g=Math.pow(o,2),v=Math.pow(h,2),m=Math.pow(p,2),y=d*g-d*m-g*v;y<0&&(y=0),y/=d*m+g*v;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,k=(h-x)/a,A=(p-b)/o,M=(-h-x)/a,T=(-p-b)/o,S=s(1,0,k,A),C=s(k,A,M,T);return 0===c&&C>0&&(C-=i),1===c&&C<0&&(C+=i),[_,w,S,C]}(e,r,l,c,u,f,g,m,x,b,_,w),M=n(A,4),T=M[0],S=M[1],C=M[2],E=M[3],L=Math.abs(E)/(i/4);Math.abs(1-L)<1e-7&&(L=1);var z=Math.max(Math.ceil(L),1);E/=z;for(var O=0;Oe[2]&&(e[2]=c[u+0]),c[u+1]>e[3]&&(e[3]=c[u+1]);return e}},{"abs-svg-path":49,assert:57,"is-svg-path":410,"normalize-svg-path":512,"parse-svg-path":446}],512:[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;d4?(o=v[v.length-4],s=v[v.length-3]):(o=h,s=p),r.push(v)}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":510}],513:[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])],v=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(v,v),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 m=new Path2D(t);u.fill(m),p&&u.stroke(m)}else{var y=a(t);o(u,y),u.fill(),p&&u.stroke()}return u.setTransform(1,0,0,1,0,0),l(u,{cutoff:null!=e.cutoff?e.cutoff:.5,radius:null!=e.radius?e.radius:.5*h})}},{"bitmap-sdf":82,"draw-svg-path":154,"is-svg-path":410,"parse-svg-path":446,"svg-path-bounds":511}],514:[function(t,e,r){(function(r){"use strict";e.exports=function t(e,r,i){var 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;o0&&(f+=.02);for(var p=new Float32Array(u),d=0,g=-.5*f,h=0;h1&&(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=E(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>1)+720)%360;--e;)n.h=(n.h+i)%360,a.push(c(n));return a}function T(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=E(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=[I(a(t).toString(16)),I(a(e).toString(16)),I(a(r).toString(16)),I(P(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)&&(C[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(m,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(v,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(T,arguments)},splitcomplement:function(){return this._applyCombination(A,arguments)},triad:function(){return this._applyCombination(w,arguments)},tetrad:function(){return this._applyCombination(k,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]:D(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;ul&&(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"},C=c.hexNames=function(t){var e={};for(var r in t)t.hasOwnProperty(r)&&(e[t[r]]=r);return e}(S);function E(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 z(t){return o(1,s(0,t))}function O(t){return parseInt(t,16)}function I(t){return 1==t.length?"0"+t:""+t}function D(t){return t<=1&&(t=100*t+"%"),t}function P(e){return t.round(255*parseFloat(e)).toString(16)}function R(t){return O(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 V(t){return!!j.CSS_UNIT.exec(t)}"undefined"!=typeof e&&e.exports?e.exports=c:window.tinycolor=c}(Math)},{}],516:[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;rf&&(f=l[0]),l[1]h&&(h=l[1])}function i(t){switch(t.type){case"GeometryCollection":t.geometries.forEach(i);break;case"Point":n(t.coordinates);break;case"MultiPoint":t.coordinates.forEach(n)}}if(!e){var a,o,s=r(t),l=new Array(2),c=1/0,u=c,f=-c,h=-c;for(o in t.arcs.forEach(function(t){for(var e=-1,r=t.length;++ef&&(f=l[0]),l[1]h&&(h=l[1])}),t.objects)i(t.objects[o]);e=t.bbox=[c,u,f,h]}return e},i=function(t,e){for(var r,n=t.length,i=n-e;i<--n;)r=t[i],t[i++]=t[n],t[n]=r};function a(t,e){var r=e.id,n=e.bbox,i=null==e.properties?{}:e.properties,a=o(t,e);return null==r&&null==n?{type:"Feature",properties:i,geometry:a}:null==n?{type:"Feature",id:r,properties:i,geometry:a}:{type:"Feature",id:r,bbox:n,properties:i,geometry:a}}function o(t,e){var n=r(t),a=t.arcs;function o(t,e){e.length&&e.pop();for(var r=a[t<0?~t:t],o=0,s=r.length;o1)n=function(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":e.arcs.forEach(l)}}(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}(0,e,r);else for(i=0,n=new Array(a=t.arcs.length);i1)for(var a,o,c=1,u=l(i[0]);cu&&(o=i[0],i[0]=i[c],i[c]=o,u=a);return i})}}var u=function(t,e){for(var r=0,n=t.length;r>>1;t[i]=2))throw new Error("n must be \u22652");if(t.transform)throw new Error("already quantized");var r,i=n(t),a=i[0],o=(i[2]-a)/(e-1)||1,s=i[1],l=(i[3]-s)/(e-1)||1;function c(t){t[0]=Math.round((t[0]-a)/o),t[1]=Math.round((t[1]-s)/l)}function u(t){switch(t.type){case"GeometryCollection":t.geometries.forEach(u);break;case"Point":c(t.coordinates);break;case"MultiPoint":t.coordinates.forEach(c)}}for(r in t.arcs.forEach(function(t){for(var e,r,n,i=1,c=1,u=t.length,f=t[0],h=f[0]=Math.round((f[0]-a)/o),p=f[1]=Math.round((f[1]-s)/l);iMath.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],v=Math.cos(d),m=Math.sin(d),y=Math.cos(g),x=Math.sin(g),b=this.computedCenter,_=v*y,w=m*y,k=x,A=-v*x,M=-m*x,T=y,S=this.computedEye,C=this.computedMatrix;for(a=0;a<3;++a){var E=_*r[a]+w*h[a]+k*e[a];C[4*a+1]=A*r[a]+M*h[a]+T*e[a],C[4*a+2]=E,C[4*a+3]=0}var L=C[1],z=C[5],O=C[9],I=C[2],D=C[6],P=C[10],R=z*P-O*D,F=O*I-L*P,B=L*D-z*I,N=c(R,F,B);R/=N,F/=N,B/=N,C[0]=R,C[4]=F,C[8]=B;for(a=0;a<3;++a)S[a]=b[a]+C[2+4*a]*p;for(a=0;a<3;++a){u=0;for(var j=0;j<3;++j)u+=C[a+4*j]*S[j];C[12+a]=-u}C[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,v=(f/=d)*e+o*r,m=(h/=d)*e+s*r;this.center.move(t,g,v,m);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 v=c(s,l,f);s/=v,l/=v,f/=v}var m,y,x=e[o],b=e[o+4],_=e[o+8],w=x*s+b*l+_*f,k=c(x-=s*w,b-=l*w,_-=f*w),A=l*(_/=k)-f*(b/=k),M=f*(x/=k)-s*_,T=s*b-l*x,S=c(A,M,T);if(A/=S,M/=S,T/=S,this.center.jump(t,H,G,W),this.radius.idle(t),this.up.jump(t,s,l,f),this.right.jump(t,x,b,_),2===a){var C=e[1],E=e[5],L=e[9],z=C*x+E*b+L*_,O=C*A+E*M+L*T;m=R<0?-Math.PI/2:Math.PI/2,y=Math.atan2(O,z)}else{var I=e[2],D=e[6],P=e[10],R=I*s+D*l+P*f,F=I*x+D*b+P*_,B=I*A+D*M+P*T;m=Math.asin(u(R)),y=Math.atan2(B,F)}this.angle.jump(t,y,m),this.recalcMatrix(t);var N=e[2],j=e[6],V=e[10],U=this.computedMatrix;i(U,e);var q=U[15],H=U[12]/q,G=U[13]/q,W=U[14]/q,Y=Math.exp(this.computedRadius[0]);this.center.jump(t,H-N*Y,G-j*Y,W-V*Y)},p.lastT=function(){return Math.max(this.center.lastT(),this.up.lastT(),this.right.lastT(),this.radius.lastT(),this.angle.lastT())},p.idle=function(t){this.center.idle(t),this.up.idle(t),this.right.idle(t),this.radius.idle(t),this.angle.idle(t)},p.flush=function(t){this.center.flush(t),this.up.flush(t),this.right.flush(t),this.radius.flush(t),this.angle.flush(t)},p.setDistance=function(t,e){e>0&&this.radius.set(t,Math.log(e))},p.lookAt=function(t,e,r,n){this.recalcMatrix(t),e=e||this.computedEye,r=r||this.computedCenter;var i=(n=n||this.computedUp)[0],a=n[1],o=n[2],s=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],v=d[1],m=d[2],y=i*g+a*v+o*m,x=c(g-=y*i,v-=y*a,m-=y*o);if(!(x<.01&&(x=c(g=a*h-o*f,v=o*l-i*h,m=i*f-a*l))<1e-6)){g/=x,v/=x,m/=x,this.up.set(t,i,a,o),this.right.set(t,g,v,m),this.center.set(t,r[0],r[1],r[2]),this.radius.set(t,Math.log(p));var b=a*m-o*v,_=o*g-i*m,w=i*v-a*g,k=c(b,_,w),A=i*l+a*f+o*h,M=g*l+v*f+m*h,T=(b/=k)*l+(_/=k)*f+(w/=k)*h,S=Math.asin(u(A)),C=Math.atan2(T,M),E=this.angle._state,L=E[E.length-1],z=E[E.length-2];L%=2*Math.PI;var O=Math.abs(L+2*Math.PI-C),I=Math.abs(L-C),D=Math.abs(L-2*Math.PI-C);O0?r.pop():new ArrayBuffer(t)}function h(t){return new Uint8Array(f(t),0,t)}function p(t){return new Uint16Array(f(2*t),0,t)}function d(t){return new Uint32Array(f(4*t),0,t)}function g(t){return new Int8Array(f(t),0,t)}function v(t){return new Int16Array(f(2*t),0,t)}function m(t){return new Int32Array(f(4*t),0,t)}function y(t){return new Float32Array(f(4*t),0,t)}function x(t){return new Float64Array(f(8*t),0,t)}function b(t){return o?new Uint8ClampedArray(f(t),0,t):h(t)}function _(t){return new DataView(f(t),0,t)}function w(t){t=i.nextPow2(t);var e=i.log2(t),r=c[e];return r.length>0?r.pop():new n(t)}r.free=function(t){if(n.isBuffer(t))c[i.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|i.log2(e);l[r].push(t)}},r.freeUint8=r.freeUint16=r.freeUint32=r.freeInt8=r.freeInt16=r.freeInt32=r.freeFloat32=r.freeFloat=r.freeFloat64=r.freeDouble=r.freeUint8Clamped=r.freeDataView=function(t){u(t.buffer)},r.freeArrayBuffer=u,r.freeBuffer=function(t){c[i.log2(t.length)].push(t)},r.malloc=function(t,e){if(void 0===e||"arraybuffer"===e)return f(t);switch(e){case"uint8":return h(t);case"uint16":return p(t);case"uint32":return d(t);case"int8":return g(t);case"int16":return v(t);case"int32":return m(t);case"float":case"float32":return y(t);case"double":case"float64":return x(t);case"uint8_clamped":return b(t);case"buffer":return w(t);case"data":case"dataview":return _(t);default:return null}return null},r.mallocArrayBuffer=f,r.mallocUint8=h,r.mallocUint16=p,r.mallocUint32=d,r.mallocInt8=g,r.mallocInt16=v,r.mallocInt32=m,r.mallocFloat32=r.mallocFloat=y,r.mallocFloat64=r.mallocDouble=x,r.mallocUint8Clamped=b,r.mallocDataView=_,r.mallocBuffer=w,r.clearCache=function(){for(var t=0;t<32;++t)s.UINT8[t].length=0,s.UINT16[t].length=0,s.UINT32[t].length=0,s.INT8[t].length=0,s.INT16[t].length=0,s.INT32[t].length=0,s.FLOAT[t].length=0,s.DOUBLE[t].length=0,s.UINT8C[t].length=0,l[t].length=0,c[t].length=0}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},t("buffer").Buffer)},{"bit-twiddle":81,buffer:94,dup:156}],524:[function(t,e,r){"use strict";function n(t){this.roots=new Array(t),this.ranks=new Array(t);for(var e=0;e0&&(a=n.size),n.lineSpacing&&n.lineSpacing>0&&(o=n.lineSpacing),n.styletags&&n.styletags.breaklines&&(s.breaklines=!!n.styletags.breaklines),n.styletags&&n.styletags.bolds&&(s.bolds=!!n.styletags.bolds),n.styletags&&n.styletags.italics&&(s.italics=!!n.styletags.italics),n.styletags&&n.styletags.subscripts&&(s.subscripts=!!n.styletags.subscripts),n.styletags&&n.styletags.superscripts&&(s.superscripts=!!n.styletags.superscripts));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",w(function(t,e,r,n,a,o){r=r.replace(/\n/g,""),r=!0===o.breaklines?r.replace(/\/g,"\n"):r.replace(/\/g," ");var s="",l=[];for(k=0;k-1?parseInt(t[1+i]):0,l=a>-1?parseInt(r[1+a]):0;s!==l&&(n=n.replace(F(),"?px "),T*=Math.pow(.75,l-s),n=n.replace("?px ",F())),M+=.25*E*(l-s)}if(!0===o.superscripts){var c=t.indexOf(d),f=r.indexOf(d),p=c>-1?parseInt(t[1+c]):0,g=f>-1?parseInt(r[1+f]):0;p!==g&&(n=n.replace(F(),"?px "),T*=Math.pow(.75,g-p),n=n.replace("?px ",F())),M-=.25*E*(g-p)}if(!0===o.bolds){var v=t.indexOf(u)>-1,y=r.indexOf(u)>-1;!v&&y&&(n=x?n.replace("italic ","italic bold "):"bold "+n),v&&!y&&(n=n.replace("bold ",""))}if(!0===o.italics){var x=t.indexOf(h)>-1,b=r.indexOf(h)>-1;!x&&b&&(n="italic "+n),x&&!b&&(n=n.replace("italic ",""))}e.font=n}for(w=0;w",a="",o=i.length,s=a.length,l=e[0]===d||e[0]===m,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)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,g=r.substr(p,u-p).indexOf(i);c=-1!==g?g:u+s}return n}function b(t,e){var r=n(t,128);return e?a(r.cells,r.positions,.25):{edges:r.cells,positions:r.positions}}function _(t,e,r,n){var i=b(t,n),a=function(t,e,r){for(var n=e.textAlign||"start",i=e.textBaseline||"alphabetic",a=[1<<30,1<<30],o=[0,0],s=t.length,l=0;l=0?e[a]:i})},has___:{value:x(function(e){var n=y(e);return n?r in n:t.indexOf(e)>=0})},set___:{value:x(function(n,i){var a,o=y(n);return o?o[r]=i:(a=t.indexOf(n))>=0?e[a]=i:(a=t.length,e[a]=i,t[a]=n),this})},delete___:{value:x(function(n){var i,a,o=y(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))})}})};g.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 g||b();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 g),i.set(t,e)),this}:function(t,e){if(a)try{n.set(t,e)}catch(r){i||(i=new g),i.set___(t,e)}else n.set(t,e);return this},Object.create(g.prototype,{get___:{value:x(function(t,e){return i?n.has(t)?n.get(t):i.get___(t,e):n.get(t,e)})},has___:{value:x(function(t){return n.has(t)||!!i&&i.has___(t)})},set___:{value:x(e)},delete___:{value:x(function(t){var e=!!n.delete(t);return i&&i.delete___(t)||e})},permitHostObjects___:{value:x(function(t){if(t!==v)throw new Error("bogus call to permitHostObjects___");a=!0})}})}t&&"undefined"!=typeof Proxy&&(Proxy=void 0),n.prototype=g.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=g)}function v(t){t.permitHostObjects___&&t.permitHostObjects___(v)}function m(t){return!(t.substr(0,l.length)==l&&"___"===t.substr(t.length-3))}function y(t){if(t!==Object(t))throw new TypeError("Not an object: "+t);var e=t[c];if(e&&e.key===t)return e;if(s(t)){e={key:t};try{return o(t,c,{value:e,writable:!1,enumerable:!1,configurable:!1}),e}catch(t){return}}}function x(t){return t.prototype=null,Object.freeze(t)}function b(){p||"undefined"==typeof console||(p=!0,console.warn("WeakMap should be invoked as new WeakMap(), not WeakMap(). This will be an error in the future."))}}()},{}],531:[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":532}],532:[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}},{}],533:[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":531}],534:[function(t,e,r){var n=t("get-canvas-context");e.exports=function(t){return n("webgl",t)}},{"get-canvas-context":222}],535:[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>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="number"==typeof t&&t>=1888&&t<=2111;if(!l)throw new Error("Lunar year outside range 1888-2111");var c="number"==typeof e&&e>=1&&e<=12;if(!c)throw new Error("Lunar month outside range 1 - 12");var u,p="number"==typeof r&&r>=1&&r<=30;if(!p)throw new Error("Lunar day outside range 1 - 30");"object"==typeof n?(u=!1,a=n):(u=!!n,a=i||{}),o={year:t,month:e,day:r,isIntercalary:u}}s=o.day-1;var d,g=f[o.year-f[0]],v=g>>13;d=v?o.month>v?o.month:o.isIntercalary?o.month:o.month-1:o.month-1;for(var m=0;m>9&4095,(x>>5&15)-1,(31&x)+s);return a.year=b.getFullYear(),a.month=1+b.getMonth(),a.day=b.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{var o="number"==typeof t&&t>=1888&&t<=2111;if(!o)throw new Error("Solar year outside range 1888-2111");var s="number"==typeof e&&e>=1&&e<=12;if(!s)throw new Error("Solar month outside range 1 - 12");var l="number"==typeof r&&r>=1&&r<=31;if(!l)throw new Error("Solar day outside range 1 - 31");i={year:t,month:e,day:r},a=n||{}}var c=h[i.year-h[0]],u=i.year<<9|i.month<<5|i.day;a.year=u>=c?i.year:i.year-1,c=h[a.year-h[0]];var p,d=new Date(c>>9&4095,(c>>5&15)-1,31&c),g=new Date(i.year,i.month-1,i.day);p=Math.round((g-d)/864e5);var v,m=f[a.year-f[0]];for(v=0;v<13;v++){var y=m&1<<12-v?30:29;if(p>13;!x||v=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":549,"object-assign":440}],538:[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":549,"object-assign":440}],539:[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)?30:8===e&&5===o(this.daysInYear(t),10)?30:9===e&&3===o(this.daysInYear(t),10)?29:this.daysPerMonth[e-1]},weekDay:function(t,e,r){return 6!==this.dayOfWeek(t,e,r)},extraInfo:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return{yearType:(this.leapYear(i)?"embolismic":"common")+" "+["deficient","regular","complete"][this.daysInYear(i)%10-3]}},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);t=i.year(),e=i.month(),r=i.day();var a=t<=0?t+1:t,o=this.jdEpoch+this._delay1(a)+this._delay2(a)+r+1;if(e<7){for(var s=7;s<=this.monthsInYear(t);s++)o+=this.daysInMonth(t,s);for(s=1;s=this.toJD(-1===e?1:e+1,7,1);)e++;for(var r=tthis.toJD(e,r,this.daysInMonth(e,r));)r++;var n=t-this.toJD(e,r,1)+1;return this.newDate(e,r,n)}}),n.calendars.hebrew=a},{"../main":549,"object-assign":440}],540:[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":549,"object-assign":440}],541:[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":549,"object-assign":440}],542:[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;r19||r>0&&n<0)throw"Invalid Mayan year";e=20*e+n}return e},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),18},weekOfYear:function(t,e,r){return this._validate(t,e,r,n.local.invalidDate),0},daysInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),360},daysInMonth:function(t,e){return this._validate(t,e,this.minDay,n.local.invalidMonth),20},daysInWeek:function(){return 5},dayOfWeek:function(t,e,r){return this._validate(t,e,r,n.local.invalidDate).day()},weekDay:function(t,e,r){return this._validate(t,e,r,n.local.invalidDate),!0},extraInfo:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate).toJD(),a=this._toHaab(i),o=this._toTzolkin(i);return{haabMonthName:this.local.haabMonths[a[0]-1],haabMonth:a[0],haabDay:a[1],tzolkinDayName:this.local.tzolkinMonths[o[0]-1],tzolkinDay:o[0],tzolkinTrecena:o[1]}},_toHaab:function(t){var e=o((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":549,"object-assign":440}],543:[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=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":549,"object-assign":440}],544:[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;r0?474:473))%2820+474+38)%2816<682},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-(n.dayOfWeek()+1)%7,"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(12===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return 5!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);t=i.year(),e=i.month(),r=i.day();var a=t-(t>=0?474:473),s=474+o(a,2820);return r+(e<=7?31*(e-1):30*(e-1)+6)+Math.floor((682*s-110)/2816)+365*(s-1)+1029983*Math.floor(a/2820)+this.jdEpoch-1},fromJD:function(t){var e=(t=Math.floor(t)+.5)-this.toJD(475,1,1),r=Math.floor(e/1029983),n=o(e,1029983),i=2820;if(1029982!==n){var a=Math.floor(n/366),s=o(n,366);i=Math.floor((2134*a+2816*s+2815)/1028522)+a+1}var l=i+2820*r+474;l=l<=0?l-1:l;var c=t-this.toJD(l,1,1)+1,u=c<=186?Math.ceil(c/31):Math.ceil((c-6)/30),f=t-this.toJD(l,u,1)+1;return this.newDate(l,u,f)}}),n.calendars.persian=a,n.calendars.jalali=a},{"../main":549,"object-assign":440}],546:[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":549,"object-assign":440}],547:[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":549,"object-assign":440}],548:[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;ar)return o[i]-o[i-1];i++}return 30},weekDay:function(t,e,r){return 5!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate),a=12*(i.year()-1)+i.month()-15292;return i.day()+o[a-1]-1+24e5-.5},fromJD:function(t){for(var e=t-24e5+.5,r=0,n=0;ne);n++)r++;var i=r+15292,a=Math.floor((i-1)/12),s=a+1,l=i-12*a,c=e-o[r-1]+1;return this.newDate(s,l,c)},isValid:function(t,e,r){var i=n.baseCalendar.prototype.isValid.apply(this,arguments);return i&&(i=(t=null!=t.year?t.year:t)>=1276&&t<=1500),i},_validate:function(t,e,r,i){var a=n.baseCalendar.prototype._validate.apply(this,arguments);if(a.year<1276||a.year>1500)throw i.replace(/\{0\}/,this.local.name);return a}}),n.calendars.ummalqura=a;var o=[20,50,79,109,138,168,197,227,256,286,315,345,374,404,433,463,492,522,551,581,611,641,670,700,729,759,788,818,847,877,906,936,965,995,1024,1054,1083,1113,1142,1172,1201,1231,1260,1290,1320,1350,1379,1409,1438,1468,1497,1527,1556,1586,1615,1645,1674,1704,1733,1763,1792,1822,1851,1881,1910,1940,1969,1999,2028,2058,2087,2117,2146,2176,2205,2235,2264,2294,2323,2353,2383,2413,2442,2472,2501,2531,2560,2590,2619,2649,2678,2708,2737,2767,2796,2826,2855,2885,2914,2944,2973,3003,3032,3062,3091,3121,3150,3180,3209,3239,3268,3298,3327,3357,3386,3416,3446,3476,3505,3535,3564,3594,3623,3653,3682,3712,3741,3771,3800,3830,3859,3889,3918,3948,3977,4007,4036,4066,4095,4125,4155,4185,4214,4244,4273,4303,4332,4362,4391,4421,4450,4480,4509,4539,4568,4598,4627,4657,4686,4716,4745,4775,4804,4834,4863,4893,4922,4952,4981,5011,5040,5070,5099,5129,5158,5188,5218,5248,5277,5307,5336,5366,5395,5425,5454,5484,5513,5543,5572,5602,5631,5661,5690,5720,5749,5779,5808,5838,5867,5897,5926,5956,5985,6015,6044,6074,6103,6133,6162,6192,6221,6251,6281,6311,6340,6370,6399,6429,6458,6488,6517,6547,6576,6606,6635,6665,6694,6724,6753,6783,6812,6842,6871,6901,6930,6960,6989,7019,7048,7078,7107,7137,7166,7196,7225,7255,7284,7314,7344,7374,7403,7433,7462,7492,7521,7551,7580,7610,7639,7669,7698,7728,7757,7787,7816,7846,7875,7905,7934,7964,7993,8023,8053,8083,8112,8142,8171,8201,8230,8260,8289,8319,8348,8378,8407,8437,8466,8496,8525,8555,8584,8614,8643,8673,8702,8732,8761,8791,8821,8850,8880,8909,8938,8968,8997,9027,9056,9086,9115,9145,9175,9205,9234,9264,9293,9322,9352,9381,9410,9440,9470,9499,9529,9559,9589,9618,9648,9677,9706,9736,9765,9794,9824,9853,9883,9913,9943,9972,10002,10032,10061,10090,10120,10149,10178,10208,10237,10267,10297,10326,10356,10386,10415,10445,10474,10504,10533,10562,10592,10621,10651,10680,10710,10740,10770,10799,10829,10858,10888,10917,10947,10976,11005,11035,11064,11094,11124,11153,11183,11213,11242,11272,11301,11331,11360,11389,11419,11448,11478,11507,11537,11567,11596,11626,11655,11685,11715,11744,11774,11803,11832,11862,11891,11921,11950,11980,12010,12039,12069,12099,12128,12158,12187,12216,12246,12275,12304,12334,12364,12393,12423,12453,12483,12512,12542,12571,12600,12630,12659,12688,12718,12747,12777,12807,12837,12866,12896,12926,12955,12984,13014,13043,13072,13102,13131,13161,13191,13220,13250,13280,13310,13339,13368,13398,13427,13456,13486,13515,13545,13574,13604,13634,13664,13693,13723,13752,13782,13811,13840,13870,13899,13929,13958,13988,14018,14047,14077,14107,14136,14166,14195,14224,14254,14283,14313,14342,14372,14401,14431,14461,14490,14520,14550,14579,14609,14638,14667,14697,14726,14756,14785,14815,14844,14874,14904,14933,14963,14993,15021,15051,15081,15110,15140,15169,15199,15228,15258,15287,15317,15347,15377,15406,15436,15465,15494,15524,15553,15582,15612,15641,15671,15701,15731,15760,15790,15820,15849,15878,15908,15937,15966,15996,16025,16055,16085,16114,16144,16174,16204,16233,16262,16292,16321,16350,16380,16409,16439,16468,16498,16528,16558,16587,16617,16646,16676,16705,16734,16764,16793,16823,16852,16882,16912,16941,16971,17001,17030,17060,17089,17118,17148,17177,17207,17236,17266,17295,17325,17355,17384,17414,17444,17473,17502,17532,17561,17591,17620,17650,17679,17709,17738,17768,17798,17827,17857,17886,17916,17945,17975,18004,18034,18063,18093,18122,18152,18181,18211,18241,18270,18300,18330,18359,18388,18418,18447,18476,18506,18535,18565,18595,18625,18654,18684,18714,18743,18772,18802,18831,18860,18890,18919,18949,18979,19008,19038,19068,19098,19127,19156,19186,19215,19244,19274,19303,19333,19362,19392,19422,19452,19481,19511,19540,19570,19599,19628,19658,19687,19717,19746,19776,19806,19836,19865,19895,19924,19954,19983,20012,20042,20071,20101,20130,20160,20190,20219,20249,20279,20308,20338,20367,20396,20426,20455,20485,20514,20544,20573,20603,20633,20662,20692,20721,20751,20780,20810,20839,20869,20898,20928,20957,20987,21016,21046,21076,21105,21135,21164,21194,21223,21253,21282,21312,21341,21371,21400,21430,21459,21489,21519,21548,21578,21607,21637,21666,21696,21725,21754,21784,21813,21843,21873,21902,21932,21962,21991,22021,22050,22080,22109,22138,22168,22197,22227,22256,22286,22316,22346,22375,22405,22434,22464,22493,22522,22552,22581,22611,22640,22670,22700,22730,22759,22789,22818,22848,22877,22906,22936,22965,22994,23024,23054,23083,23113,23143,23173,23202,23232,23261,23290,23320,23349,23379,23408,23438,23467,23497,23527,23556,23586,23616,23645,23674,23704,23733,23763,23792,23822,23851,23881,23910,23940,23970,23999,24029,24058,24088,24117,24147,24176,24206,24235,24265,24294,24324,24353,24383,24413,24442,24472,24501,24531,24560,24590,24619,24648,24678,24707,24737,24767,24796,24826,24856,24885,24915,24944,24974,25003,25032,25062,25091,25121,25150,25180,25210,25240,25269,25299,25328,25358,25387,25416,25446,25475,25505,25534,25564,25594,25624,25653,25683,25712,25742,25771,25800,25830,25859,25888,25918,25948,25977,26007,26037,26067,26096,26126,26155,26184,26214,26243,26272,26302,26332,26361,26391,26421,26451,26480,26510,26539,26568,26598,26627,26656,26686,26715,26745,26775,26805,26834,26864,26893,26923,26952,26982,27011,27041,27070,27099,27129,27159,27188,27218,27248,27277,27307,27336,27366,27395,27425,27454,27484,27513,27542,27572,27602,27631,27661,27691,27720,27750,27779,27809,27838,27868,27897,27926,27956,27985,28015,28045,28074,28104,28134,28163,28193,28222,28252,28281,28310,28340,28369,28399,28428,28458,28488,28517,28547,28577,28607,28636,28665,28695,28724,28754,28783,28813,28843,28872,28901,28931,28960,28990,29019,29049,29078,29108,29137,29167,29196,29226,29255,29285,29315,29345,29375,29404,29434,29463,29492,29522,29551,29580,29610,29640,29669,29699,29729,29759,29788,29818,29847,29876,29906,29935,29964,29994,30023,30053,30082,30112,30141,30171,30200,30230,30259,30289,30318,30348,30378,30408,30437,30467,30496,30526,30555,30585,30614,30644,30673,30703,30732,30762,30791,30821,30850,30880,30909,30939,30968,30998,31027,31057,31086,31116,31145,31175,31204,31234,31263,31293,31322,31352,31381,31411,31441,31471,31500,31530,31559,31589,31618,31648,31676,31706,31736,31766,31795,31825,31854,31884,31913,31943,31972,32002,32031,32061,32090,32120,32150,32180,32209,32239,32268,32298,32327,32357,32386,32416,32445,32475,32504,32534,32563,32593,32622,32652,32681,32711,32740,32770,32799,32829,32858,32888,32917,32947,32976,33006,33035,33065,33094,33124,33153,33183,33213,33243,33272,33302,33331,33361,33390,33420,33450,33479,33509,33539,33568,33598,33627,33657,33686,33716,33745,33775,33804,33834,33863,33893,33922,33952,33981,34011,34040,34069,34099,34128,34158,34187,34217,34247,34277,34306,34336,34365,34395,34424,34454,34483,34512,34542,34571,34601,34631,34660,34690,34719,34749,34778,34808,34837,34867,34896,34926,34955,34985,35015,35044,35074,35103,35133,35162,35192,35222,35251,35280,35310,35340,35370,35399,35429,35458,35488,35517,35547,35576,35605,35635,35665,35694,35723,35753,35782,35811,35841,35871,35901,35930,35960,35989,36019,36048,36078,36107,36136,36166,36195,36225,36254,36284,36314,36343,36373,36403,36433,36462,36492,36521,36551,36580,36610,36639,36669,36698,36728,36757,36786,36816,36845,36875,36904,36934,36963,36993,37022,37052,37081,37111,37141,37170,37200,37229,37259,37288,37318,37347,37377,37406,37436,37465,37495,37524,37554,37584,37613,37643,37672,37701,37731,37760,37790,37819,37849,37878,37908,37938,37967,37997,38027,38056,38085,38115,38144,38174,38203,38233,38262,38292,38322,38351,38381,38410,38440,38469,38499,38528,38558,38587,38617,38646,38676,38705,38735,38764,38794,38823,38853,38882,38912,38941,38971,39001,39030,39059,39089,39118,39148,39178,39208,39237,39267,39297,39326,39355,39385,39414,39444,39473,39503,39532,39562,39592,39621,39650,39680,39709,39739,39768,39798,39827,39857,39886,39916,39946,39975,40005,40035,40064,40094,40123,40153,40182,40212,40241,40271,40300,40330,40359,40389,40418,40448,40477,40507,40536,40566,40595,40625,40655,40685,40714,40744,40773,40803,40832,40862,40892,40921,40951,40980,41009,41039,41068,41098,41127,41157,41186,41216,41245,41275,41304,41334,41364,41393,41422,41452,41481,41511,41540,41570,41599,41629,41658,41688,41718,41748,41777,41807,41836,41865,41894,41924,41953,41983,42012,42042,42072,42102,42131,42161,42190,42220,42249,42279,42308,42337,42367,42397,42426,42456,42485,42515,42545,42574,42604,42633,42662,42692,42721,42751,42780,42810,42839,42869,42899,42929,42958,42988,43017,43046,43076,43105,43135,43164,43194,43223,43253,43283,43312,43342,43371,43401,43430,43460,43489,43519,43548,43578,43607,43637,43666,43696,43726,43755,43785,43814,43844,43873,43903,43932,43962,43991,44021,44050,44080,44109,44139,44169,44198,44228,44258,44287,44317,44346,44375,44405,44434,44464,44493,44523,44553,44582,44612,44641,44671,44700,44730,44759,44788,44818,44847,44877,44906,44936,44966,44996,45025,45055,45084,45114,45143,45172,45202,45231,45261,45290,45320,45350,45380,45409,45439,45468,45498,45527,45556,45586,45615,45644,45674,45704,45733,45763,45793,45823,45852,45882,45911,45940,45970,45999,46028,46058,46088,46117,46147,46177,46206,46236,46265,46295,46324,46354,46383,46413,46442,46472,46501,46531,46560,46590,46620,46649,46679,46708,46738,46767,46797,46826,46856,46885,46915,46944,46974,47003,47033,47063,47092,47122,47151,47181,47210,47240,47269,47298,47328,47357,47387,47417,47446,47476,47506,47535,47565,47594,47624,47653,47682,47712,47741,47771,47800,47830,47860,47890,47919,47949,47978,48008,48037,48066,48096,48125,48155,48184,48214,48244,48273,48303,48333,48362,48392,48421,48450,48480,48509,48538,48568,48598,48627,48657,48687,48717,48746,48776,48805,48834,48864,48893,48922,48952,48982,49011,49041,49071,49100,49130,49160,49189,49218,49248,49277,49306,49336,49365,49395,49425,49455,49484,49514,49543,49573,49602,49632,49661,49690,49720,49749,49779,49809,49838,49868,49898,49927,49957,49986,50016,50045,50075,50104,50133,50163,50192,50222,50252,50281,50311,50340,50370,50400,50429,50459,50488,50518,50547,50576,50606,50635,50665,50694,50724,50754,50784,50813,50843,50872,50902,50931,50960,50990,51019,51049,51078,51108,51138,51167,51197,51227,51256,51286,51315,51345,51374,51403,51433,51462,51492,51522,51552,51582,51611,51641,51670,51699,51729,51758,51787,51816,51846,51876,51906,51936,51965,51995,52025,52054,52083,52113,52142,52171,52200,52230,52260,52290,52319,52349,52379,52408,52438,52467,52497,52526,52555,52585,52614,52644,52673,52703,52733,52762,52792,52822,52851,52881,52910,52939,52969,52998,53028,53057,53087,53116,53146,53176,53205,53235,53264,53294,53324,53353,53383,53412,53441,53471,53500,53530,53559,53589,53619,53648,53678,53708,53737,53767,53796,53825,53855,53884,53913,53943,53973,54003,54032,54062,54092,54121,54151,54180,54209,54239,54268,54297,54327,54357,54387,54416,54446,54476,54505,54535,54564,54593,54623,54652,54681,54711,54741,54770,54800,54830,54859,54889,54919,54948,54977,55007,55036,55066,55095,55125,55154,55184,55213,55243,55273,55302,55332,55361,55391,55420,55450,55479,55508,55538,55567,55597,55627,55657,55686,55716,55745,55775,55804,55834,55863,55892,55922,55951,55981,56011,56040,56070,56100,56129,56159,56188,56218,56247,56276,56306,56335,56365,56394,56424,56454,56483,56513,56543,56572,56601,56631,56660,56690,56719,56749,56778,56808,56837,56867,56897,56926,56956,56985,57015,57044,57074,57103,57133,57162,57192,57221,57251,57280,57310,57340,57369,57399,57429,57458,57487,57517,57546,57576,57605,57634,57664,57694,57723,57753,57783,57813,57842,57871,57901,57930,57959,57989,58018,58048,58077,58107,58137,58167,58196,58226,58255,58285,58314,58343,58373,58402,58432,58461,58491,58521,58551,58580,58610,58639,58669,58698,58727,58757,58786,58816,58845,58875,58905,58934,58964,58994,59023,59053,59082,59111,59141,59170,59200,59229,59259,59288,59318,59348,59377,59407,59436,59466,59495,59525,59554,59584,59613,59643,59672,59702,59731,59761,59791,59820,59850,59879,59909,59939,59968,59997,60027,60056,60086,60115,60145,60174,60204,60234,60264,60293,60323,60352,60381,60411,60440,60469,60499,60528,60558,60588,60618,60648,60677,60707,60736,60765,60795,60824,60853,60883,60912,60942,60972,61002,61031,61061,61090,61120,61149,61179,61208,61237,61267,61296,61326,61356,61385,61415,61445,61474,61504,61533,61563,61592,61621,61651,61680,61710,61739,61769,61799,61828,61858,61888,61917,61947,61976,62006,62035,62064,62094,62123,62153,62182,62212,62242,62271,62301,62331,62360,62390,62419,62448,62478,62507,62537,62566,62596,62625,62655,62685,62715,62744,62774,62803,62832,62862,62891,62921,62950,62980,63009,63039,63069,63099,63128,63157,63187,63216,63246,63275,63305,63334,63363,63393,63423,63453,63482,63512,63541,63571,63600,63630,63659,63689,63718,63747,63777,63807,63836,63866,63895,63925,63955,63984,64014,64043,64073,64102,64131,64161,64190,64220,64249,64279,64309,64339,64368,64398,64427,64457,64486,64515,64545,64574,64603,64633,64663,64692,64722,64752,64782,64811,64841,64870,64899,64929,64958,64987,65017,65047,65076,65106,65136,65166,65195,65225,65254,65283,65313,65342,65371,65401,65431,65460,65490,65520,65549,65579,65608,65638,65667,65697,65726,65755,65785,65815,65844,65874,65903,65933,65963,65992,66022,66051,66081,66110,66140,66169,66199,66228,66258,66287,66317,66346,66376,66405,66435,66465,66494,66524,66553,66583,66612,66641,66671,66700,66730,66760,66789,66819,66849,66878,66908,66937,66967,66996,67025,67055,67084,67114,67143,67173,67203,67233,67262,67292,67321,67351,67380,67409,67439,67468,67497,67527,67557,67587,67617,67646,67676,67705,67735,67764,67793,67823,67852,67882,67911,67941,67971,68e3,68030,68060,68089,68119,68148,68177,68207,68236,68266,68295,68325,68354,68384,68414,68443,68473,68502,68532,68561,68591,68620,68650,68679,68708,68738,68768,68797,68827,68857,68886,68916,68946,68975,69004,69034,69063,69092,69122,69152,69181,69211,69240,69270,69300,69330,69359,69388,69418,69447,69476,69506,69535,69565,69595,69624,69654,69684,69713,69743,69772,69802,69831,69861,69890,69919,69949,69978,70008,70038,70067,70097,70126,70156,70186,70215,70245,70274,70303,70333,70362,70392,70421,70451,70481,70510,70540,70570,70599,70629,70658,70687,70717,70746,70776,70805,70835,70864,70894,70924,70954,70983,71013,71042,71071,71101,71130,71159,71189,71218,71248,71278,71308,71337,71367,71397,71426,71455,71485,71514,71543,71573,71602,71632,71662,71691,71721,71751,71781,71810,71839,71869,71898,71927,71957,71986,72016,72046,72075,72105,72135,72164,72194,72223,72253,72282,72311,72341,72370,72400,72429,72459,72489,72518,72548,72577,72607,72637,72666,72695,72725,72754,72784,72813,72843,72872,72902,72931,72961,72991,73020,73050,73080,73109,73139,73168,73197,73227,73256,73286,73315,73345,73375,73404,73434,73464,73493,73523,73552,73581,73611,73640,73669,73699,73729,73758,73788,73818,73848,73877,73907,73936,73965,73995,74024,74053,74083,74113,74142,74172,74202,74231,74261,74291,74320,74349,74379,74408,74437,74467,74497,74526,74556,74586,74615,74645,74675,74704,74733,74763,74792,74822,74851,74881,74910,74940,74969,74999,75029,75058,75088,75117,75147,75176,75206,75235,75264,75294,75323,75353,75383,75412,75442,75472,75501,75531,75560,75590,75619,75648,75678,75707,75737,75766,75796,75826,75856,75885,75915,75944,75974,76003,76032,76062,76091,76121,76150,76180,76210,76239,76269,76299,76328,76358,76387,76416,76446,76475,76505,76534,76564,76593,76623,76653,76682,76712,76741,76771,76801,76830,76859,76889,76918,76948,76977,77007,77036,77066,77096,77125,77155,77185,77214,77243,77273,77302,77332,77361,77390,77420,77450,77479,77509,77539,77569,77598,77627,77657,77686,77715,77745,77774,77804,77833,77863,77893,77923,77952,77982,78011,78041,78070,78099,78129,78158,78188,78217,78247,78277,78307,78336,78366,78395,78425,78454,78483,78513,78542,78572,78601,78631,78661,78690,78720,78750,78779,78808,78838,78867,78897,78926,78956,78985,79015,79044,79074,79104,79133,79163,79192,79222,79251,79281,79310,79340,79369,79399,79428,79458,79487,79517,79546,79576,79606,79635,79665,79695,79724,79753,79783,79812,79841,79871,79900,79930,79960,79990]},{"../main":549,"object-assign":440}],549:[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(;oe-1+t.minMonth;)a++,o-=e,e=t.monthsInYear(a)}(this),i=Math.min(i,this.daysInMonth(a,this.fromMonthOfYear(a,o))));var s=[a,this.fromMonthOfYear(a,o),i];return this._validateLevel--,s}catch(t){throw this._validateLevel--,t}},_correctAdd:function(t,e,r,n){if(!(this.hasYearZero||"y"!==n&&"m"!==n||0!==e[0]&&t.year()>0==e[0]>0)){var i={y:[1,1,"y"],m:[1,this.monthsInYear(-1),"m"],w:[this.daysInWeek(),this.daysInYear(-1),"d"],d:[1,this.daysInYear(-1),"d"]}[n],a=r<0?-1:1;e=this._add(t,r*i[0]+a*i[1],i[2])}return t.date(e[0],e[1],e[2])},set:function(t,e,r){this._validate(t,this.minMonth,this.minDay,c.local.invalidDate||c.regionalOptions[""].invalidDate);var n="y"===r?e:t.year(),i="m"===r?e:t.month(),a="d"===r?e:t.day();return"y"!==r&&"m"!==r||(a=Math.min(a,this.daysInMonth(n,i))),t.date(n,i,a)},isValid:function(t,e,r){this._validateLevel++;var n=this.hasYearZero||0!==t;if(n){var i=this.newDate(t,e,this.minDay);n=e>=this.minMonth&&e-this.minMonth=this.minDay&&r-this.minDay13.5?13:1),c=i-(l>2.5?4716:4715);return c<=0&&c--,this.newDate(c,l,s)},toJSDate:function(t,e,r){var n=this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[""].invalidDate),i=new Date(n.year(),n.month()-1,n.day());return i.setHours(0),i.setMinutes(0),i.setSeconds(0),i.setMilliseconds(0),i.setHours(i.getHours()>12?i.getHours()+2:0),i},fromJSDate:function(t){return this.newDate(t.getFullYear(),t.getMonth()+1,t.getDate())}});var c=e.exports=new i;c.cdate=a,c.baseCalendar=s,c.calendars.gregorian=l},{"object-assign":440}],550:[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+n1}),d=function(t,e,r,n){var i=""+e;if(p(t,n))for(;i.length1},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-1){p=1,d=g;for(var C=this.daysInMonth(h,p);d>C;C=this.daysInMonth(h,p))p++,d-=C}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":549,"object-assign":440}],551:[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":135}],552:[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":551}],553:[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}]},{}],554:[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;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"}}})},{"../../plot_api/plot_template":732,"../../plots/cartesian/constants":748,"../../plots/font_attributes":769,"./arrow_paths":553}],555:[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);e._extremes={},r&&s(e,r),n&&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,v=3*t.startarrowsize*t.arrowwidth||0,m=v+h,y=v-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,m),ppadminus:Math.max(f,y)});r={min:[x.min[0],b.min[0]],max:[x.max[0],b.max[0]]}}else m=s?m+s:m,y=s?y-s:y,r=i.findExtremes(e,[e.r2c(o)],{ppadplus:Math.max(u,d,m),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":694,"../../plots/cartesian/axes":742,"./draw":560}],556:[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;r0||r.explicitOff.length>0},onClick:function(t,e){var r,s,l=o(t,e),c=l.on,u=l.off.concat(l.explicitOff),f={},h=t._fullLayout.annotations;if(!c.length&&!u.length)return;for(r=0;r2/3?"right":"center"),{center:0,middle:0,left:.5,bottom:-.5,right:-.5,top:.5}[e]}for(var q=!1,H=["x","y"],G=0;G1)&&(Q===K?((lt=tt.r2fraction(e["a"+J]))<0||lt>1)&&(q=!0):q=!0),W=tt._offset+tt.r2p(e[J]),Z=.5}else"x"===J?(X=e[J],W=b.l+b.w*X):(X=1-e[J],W=b.t+b.h*X),Z=e.showarrow?.5:X;if(e.showarrow){st.head=W;var ct=e["a"+J];$=rt*V(.5,e.xanchor)-nt*V(.5,e.yanchor),Q===K?(st.tail=tt._offset+tt.r2p(ct),Y=$):(st.tail=W+ct,Y=$+ct),st.text=st.tail+$;var ut=x["x"===J?"width":"height"];if("paper"===K&&(st.head=o.constrain(st.head,1,ut-1)),"pixel"===Q){var ft=-Math.max(st.tail-3,st.text),ht=Math.min(st.tail+3,st.text)-ut;ft>0?(st.tail+=ft,st.text+=ft):ht>0&&(st.tail-=ht,st.text-=ht)}st.tail+=ot,st.head+=ot}else Y=$=it*V(Z,at),st.text=W+$;st.text+=ot,$+=ot,Y+=ot,e["_"+J+"padplus"]=it/2+Y,e["_"+J+"padminus"]=it/2-Y,e["_"+J+"size"]=it,e["_"+J+"shift"]=$}if(t._dragging||!q){var pt=0,dt=0;if("left"!==e.align&&(pt=(w-m)*("center"===e.align?.5:1)),"top"!==e.valign&&(dt=(O-y)*("middle"===e.valign?.5:1)),u)n.select("svg").attr({x:R+pt-1,y:R+dt}).call(c.setClipUrl,B?T:null,t);else{var gt=R+dt-d.top,vt=R+pt-d.left;U.call(f.positionText,vt,gt).call(c.setClipUrl,B?T:null,t)}N.select("rect").call(c.setRect,R,R,w,O),F.call(c.setRect,D/2,D/2,P-D,j-D),I.call(c.setTranslate,Math.round(S.x.text-P/2),Math.round(S.y.text-j/2)),L.attr({transform:"rotate("+C+","+S.x.text+","+S.y.text+")"});var mt,yt=function(r,n){E.selectAll(".annotation-arrow-g").remove();var u=S.x.head,f=S.y.head,h=S.x.tail+r,d=S.y.tail+n,m=S.x.text+r,y=S.y.text+n,x=o.rotationXYMatrix(C,m,y),w=o.apply2DTransform(x),T=o.apply2DTransform2(x),z=+F.attr("width"),O=+F.attr("height"),D=m-.5*z,P=D+z,R=y-.5*O,B=R+O,N=[[D,R,D,B],[D,B,P,B],[P,B,P,R],[P,R,D,R]].map(T);if(!N.reduce(function(t,e){return t^!!o.segmentsIntersect(u,f,u+1e6,f+1e6,e[0],e[1],e[2],e[3])},!1)){N.forEach(function(t){var e=o.segmentsIntersect(h,d,u,f,t[0],t[1],t[2],t[3]);e&&(h=e.x,d=e.y)});var j=e.arrowwidth,V=e.arrowcolor,U=e.arrowside,q=E.append("g").style({opacity:l.opacity(V)}).classed("annotation-arrow-g",!0),H=q.append("path").attr("d","M"+h+","+d+"L"+u+","+f).style("stroke-width",j+"px").call(l.stroke,l.rgb(V));if(g(H,U,e),_.annotationPosition&&H.node().parentNode&&!a){var G=u,W=f;if(e.standoff){var Y=Math.sqrt(Math.pow(u-h,2)+Math.pow(f-d,2));G+=e.standoff*(h-u)/Y,W+=e.standoff*(d-f)/Y}var X,Z,$=q.append("path").classed("annotation-arrow",!0).classed("anndrag",!0).classed("cursor-move",!0).attr({d:"M3,3H-3V-3H3ZM0,0L"+(h-G)+","+(d-W),transform:"translate("+G+","+W+")"}).style("stroke-width",j+6+"px").call(l.stroke,"rgba(0,0,0,0)").call(l.fill,"rgba(0,0,0,0)");p.init({element:$.node(),gd:t,prepFn:function(){var t=c.getTranslate(I);X=t.x,Z=t.y,s&&s.autorange&&k(s._name+".autorange",!0),v&&v.autorange&&k(v._name+".autorange",!0)},moveFn:function(t,r){var n=w(X,Z),i=n[0]+t,a=n[1]+r;I.call(c.setTranslate,i,a),A("x",s?s.p2r(s.r2p(e.x)+t):e.x+t/b.w),A("y",v?v.p2r(v.r2p(e.y)+r):e.y-r/b.h),e.axref===e.xref&&A("ax",s.p2r(s.r2p(e.ax)+t)),e.ayref===e.yref&&A("ay",v.p2r(v.r2p(e.ay)+r)),q.attr("transform","translate("+t+","+r+")"),L.attr({transform:"rotate("+C+","+i+","+a+")"})},doneFn:function(){i.call("_guiRelayout",t,M());var e=document.querySelector(".js-notes-box-panel");e&&e.redraw(e.selectedObj)}})}}};if(e.showarrow&&yt(0,0),z)p.init({element:I.node(),gd:t,prepFn:function(){mt=L.attr("transform")},moveFn:function(t,r){var n="pointer";if(e.showarrow)e.axref===e.xref?A("ax",s.p2r(s.r2p(e.ax)+t)):A("ax",e.ax+t),e.ayref===e.yref?A("ay",v.p2r(v.r2p(e.ay)+r)):A("ay",e.ay+r),yt(t,r);else{if(a)return;var i,o;if(s)i=s.p2r(s.r2p(e.x)+t);else{var l=e._xsize/b.w,c=e.x+(e._xshift-e.xshift)/b.w-l/2;i=p.align(c+t/b.w,l,0,1,e.xanchor)}if(v)o=v.p2r(v.r2p(e.y)+r);else{var u=e._ysize/b.h,f=e.y-(e._yshift+e.yshift)/b.h-u/2;o=p.align(f-r/b.h,u,0,1,e.yanchor)}A("x",i),A("y",o),s&&v||(n=p.getCursor(s?.5:i,v?.5:o,e.xanchor,e.yanchor))}L.attr({transform:"translate("+t+","+r+")"+mt}),h(I,n)},doneFn:function(){h(I),i.call("_guiRelayout",t,M());var e=document.querySelector(".js-notes-box-panel");e&&e.redraw(e.selectedObj)}})}else I.remove()}}e.exports={draw:function(t){var e=t._fullLayout;e._infolayer.selectAll(".annotation").remove();for(var r=0;r=0,v=e.indexOf("end")>=0,m=f.backoff*p+r.standoff,y=h.backoff*d+r.startstandoff;if("line"===u.nodeName){o={x:+t.attr("x1"),y:+t.attr("y1")},s={x:+t.attr("x2"),y:+t.attr("y2")};var x=o.x-s.x,b=o.y-s.y;if(c=(l=Math.atan2(b,x))+Math.PI,m&&y&&m+y>Math.sqrt(x*x+b*b))return void z();if(m){if(m*m>x*x+b*b)return void z();var _=m*Math.cos(l),w=m*Math.sin(l);s.x+=_,s.y+=w,t.attr({x2:s.x,y2:s.y})}if(y){if(y*y>x*x+b*b)return void z();var k=y*Math.cos(l),A=y*Math.sin(l);o.x-=k,o.y-=A,t.attr({x1:o.x,y1:o.y})}}else if("path"===u.nodeName){var M=u.getTotalLength(),T="";if(M1){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":794,"../annotations/draw":560}],567:[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=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;e0?C>=P:C<=P));E++)C>F&&C0?C>=P:C<=P));E++)C>L[0]&&C1){var ot=Math.pow(10,Math.floor(Math.log(at)/Math.LN10));nt*=ot*c.roundUp(at/ot,[2,5,10]),(Math.abs(r.levels.start)/r.levels.size+1e-6)%1<2e-6&&(et.tick0=0)}et.dtick=nt}et.domain=[J+X,J+G-X],et.setScale();var st=c.ensureSingle(v._infolayer,"g",e,function(t){t.classed(A.colorbar,!0).each(function(){var t=n.select(this);t.append("rect").classed(A.cbbg,!0),t.append("g").classed(A.cbfills,!0),t.append("g").classed(A.cblines,!0),t.append("g").classed(A.cbaxis,!0).classed(A.crisp,!0),t.append("g").classed(A.cbtitleunshift,!0).append("g").classed(A.cbtitle,!0),t.append("rect").classed(A.cboutline,!0),t.select(".cbtitle").datum(0)})});st.attr("transform","translate("+Math.round(k.l)+","+Math.round(k.t)+")");var lt=st.select(".cbtitleunshift").attr("transform","translate(-"+Math.round(k.l)+",-"+Math.round(k.t)+")"),ct=st.select(".cbaxis"),ut=0;if(-1!==["top","bottom"].indexOf(r.title.side)){var ft,ht=k.l+(r.x+W)*k.w,pt=et.title.font.size;ft="top"===r.title.side?(1-(J+G-X))*k.h+k.t+3+.75*pt:(1-(J+X))*k.h+k.t-3-.25*pt,xt(et._id+"title",{attributes:{x:ht,y:ft,"text-anchor":"start"}})}var dt,gt,vt,mt=c.syncOrAsync([a.previousPromises,function(){if(-1!==["top","bottom"].indexOf(r.title.side)){var a=st.select(".cbtitle"),o=a.select("text"),l=[-r.outlinewidth/2,r.outlinewidth/2],u=a.select(".h"+et._id+"title-math-group").node(),f=15.6;if(o.node()&&(f=parseInt(o.node().style.fontSize,10)*m),u?(ut=h.bBox(u).height)>f&&(l[1]-=(ut-f)/2):o.node()&&!o.classed(A.jsPlaceholder)&&(ut=h.bBox(o.node()).height),ut){if(ut+=5,"top"===r.title.side)et.domain[1]-=ut/k.h,l[1]*=-1;else{et.domain[0]+=ut/k.h;var p=g.lineCount(o);l[1]+=(1-p)*f}a.attr("transform","translate("+l+")"),et.setScale()}}st.selectAll(".cbfills,.cblines").attr("transform","translate(0,"+Math.round(k.h*(1-et.domain[1]))+")"),ct.attr("transform","translate(0,"+Math.round(-k.t)+")");var d=st.select(".cbfills").selectAll("rect.cbfill").data(O);d.enter().append("rect").classed(A.cbfill,!0).style("stroke","none"),d.exit().remove();var y=L.map(et.c2p).map(Math.round).sort(function(t,e){return t-e});d.each(function(a,o){var s=[0===o?L[0]:(O[o]+O[o-1])/2,o===O.length-1?L[1]:(O[o]+O[o+1])/2].map(et.c2p).map(Math.round);s[1]=c.constrain(s[1]+(s[1]>s[0])?1:-1,y[0],y[1]);var l=n.select(this).attr({x:Z,width:Math.max(U,2),y:n.min(s),height:Math.max(n.max(s)-n.min(s),2)});if(r.fillgradient)h.gradient(l,t,e,"vertical",r.fillgradient,"fill");else{var u=D(a).replace("e-","");l.attr("fill",i(u).toHexString())}});var x=st.select(".cblines").selectAll("path.cbline").data(r.line.color&&r.line.width?z:[]);return x.enter().append("path").classed(A.cbline,!0),x.exit().remove(),x.each(function(t){n.select(this).attr("d","M"+Z+","+(Math.round(et.c2p(t))+r.line.width/2%1)+"h"+U).call(h.lineGroupStyle,r.line.width,I(t),r.line.dash)}),ct.selectAll("g."+et._id+"tick,path").remove(),c.syncOrAsync([function(){var e=Z+U+(r.outlinewidth||0)/2-("outside"===r.ticks?1:0),n=s.calcTicks(et),i=s.makeTransFn(et),a=s.makeLabelFns(et,e),o=s.getTickSigns(et)[2];return s.drawTicks(t,et,{vals:"inside"===et.ticks?s.clipEnds(et,n):n,layer:ct,path:s.makeTickPath(et,e,o),transFn:i}),s.drawLabels(t,et,{vals:n,layer:ct,transFn:i,labelXFn:a.labelXFn,labelYFn:a.labelYFn,labelAnchorFn:a.labelAnchorFn})},function(){if(-1===["top","bottom"].indexOf(r.title.side)){var e=et.title.font.size,i=et._offset+et._length/2,a=k.l+(et.position||0)*k.w+("right"===et.side?10+e*(et.showticklabels?1:.5):-10-e*(et.showticklabels?.5:0));xt("h"+et._id+"title",{avoid:{selection:n.select(t).selectAll("g."+et._id+"tick"),side:r.title.side,offsetLeft:k.l,offsetTop:0,maxShift:v.width},attributes:{x:a,y:i,"text-anchor":"middle"},transform:{rotate:"-90",offset:0}})}}])},a.previousPromises,function(){var n=U+r.outlinewidth/2+h.bBox(ct.node()).width;if((N=lt.select("text")).node()&&!N.classed(A.jsPlaceholder)){var i,o=lt.select(".h"+et._id+"title-math-group").node();i=o&&-1!==["top","bottom"].indexOf(r.title.side)?h.bBox(o).width:h.bBox(lt.node()).right-Z-k.l,n=Math.max(n,i)}var s=2*r.xpad+n+r.borderwidth+r.outlinewidth/2,l=K-Q;st.select(".cbbg").attr({x:Z-r.xpad-(r.borderwidth+r.outlinewidth)/2,y:Q-Y,width:Math.max(s,2),height:Math.max(l+2*Y,2)}).call(p.fill,r.bgcolor).call(p.stroke,r.bordercolor).style({"stroke-width":r.borderwidth}),st.selectAll(".cboutline").attr({x:Z,y:Q+r.ypad+("top"===r.title.side?ut:0),width:Math.max(U,2),height:Math.max(l-2*r.ypad-ut,2)}).call(p.stroke,r.outlinecolor).style({fill:"None","stroke-width":r.outlinewidth});var c=({center:.5,right:1}[r.xanchor]||0)*s;st.attr("transform","translate("+(k.l-c)+","+k.t+")");var u={},f=y[r.yanchor],d=x[r.yanchor];"pixels"===r.lenmode?(u.y=r.y,u.t=l*f,u.b=l*d):(u.t=u.b=0,u.yt=r.y+r.len*f,u.yb=r.y-r.len*d);var g=y[r.xanchor],v=x[r.xanchor];if("pixels"===r.thicknessmode)u.x=r.x,u.l=s*g,u.r=s*v;else{var m=s-U;u.l=m*g,u.r=m*v,u.xl=r.x-r.thickness*g,u.xr=r.x+r.thickness*v}a.autoMargin(t,e,u)}],t);if(mt&&mt.then&&(t._promises||[]).push(mt),t._context.edits.colorbarPosition)l.init({element:st.node(),gd:t,prepFn:function(){dt=st.attr("transform"),f(st)},moveFn:function(t,e){st.attr("transform",dt+" translate("+t+","+e+")"),gt=l.align($+t/k.w,q,0,1,r.xanchor),vt=l.align(J-e/k.h,G,0,1,r.yanchor);var n=l.getCursor(gt,vt,r.xanchor,r.yanchor);f(st,n)},doneFn:function(){if(f(st),void 0!==gt&&void 0!==vt){var e={};e[S("x")]=gt,e[S("y")]=vt,o.call("_guiRestyle",t,e,T().index)}}});return mt}function yt(t,e){return c.coerce(tt,et,w,t,e)}function xt(e,r){var n={propContainer:et,propName:S("title"),traceIndex:T().index,placeholder:v._dfltTitle.colorbar,containerGroup:st.select(".cbtitle")},i="h"===e.charAt(0)?e.substr(1):"h"+e;st.selectAll("."+i+",."+i+"-math-group").remove(),d.draw(t,e,u(n,r||{}))}v._infolayer.selectAll("g."+e).remove()}function T(){for(var r=e.substr(2),n=0;n=0?i.colorscale.sequential:i.colorscale.sequentialminus,l._colorscale=l.colorscale=d)}},{"../../lib":694}],580:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("./helpers").hasColorscale;e.exports=function(t){function e(t,e){var r=t["_"+e];void 0!==r&&(t[e]=r)}function r(t,r){var i=r.container?n.nestedProperty(t,r.container).get():t;if(i){var a=i.zauto||i.cauto,o=r.min,s=r.max;(a||void 0===i[o])&&e(i,o),(a||void 0===i[s])&&e(i,s),i.autocolorscale&&e(i,"colorscale")}}for(var a=0;a=0;n--,i++){var a=t[n];r[i]=[1-a[0],a[1]]}return r}function u(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){var r=e?o.nestedProperty(t,e).get()||{}:t,n=r.color,i=!1;if(o.isArrayOrTypedArray(n))for(var s=0;s4/3-s?o:s}},{}],588:[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":694}],589:[function(t,e,r){"use strict";var n=t("mouse-event-offset"),i=t("has-hover"),a=t("has-passive-events"),o=t("../../registry"),s=t("../../lib"),l=t("../../plots/cartesian/constants"),c=t("../../constants/interactions"),u=e.exports={};u.align=t("./align"),u.getCursor=t("./cursor");var f=t("./unhover");function h(){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 p(t){return n(t.changedTouches?t.changedTouches[0]:t,document.body)}u.unhover=f.wrapped,u.unhoverRaw=f.raw,u.init=function(t){var e,r,n,f,d,g,v,m,y=t.gd,x=1,b=c.DBLCLICKDELAY,_=t.element;y._mouseDownTime||(y._mouseDownTime=0),_.style.pointerEvents="all",_.onmousedown=k,a?(_._ontouchstart&&_.removeEventListener("touchstart",_._ontouchstart),_._ontouchstart=k,_.addEventListener("touchstart",k,{passive:!1})):_.ontouchstart=k;var w=t.clampFn||function(t,e,r){return Math.abs(t)b&&(x=Math.max(x-1,1)),y._dragged)t.doneFn&&t.doneFn();else if(t.clickFn&&t.clickFn(x,g),!m){var r;try{r=new MouseEvent("click",e)}catch(t){var n=p(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)}v.dispatchEvent(r)}!function(t){t._dragging=!1,t._replotPending&&o.call("plot",t)}(y),y._dragged=!1}else y._dragged=!1}},u.coverSlip=h},{"../../constants/interactions":670,"../../lib":694,"../../plots/cartesian/constants":748,"../../registry":825,"./align":587,"./cursor":588,"./unhover":590,"has-hover":396,"has-passive-events":397,"mouse-event-offset":422}],590:[function(t,e,r){"use strict";var n=t("../../lib/events"),i=t("../../lib/throttle"),a=t("../../lib/get_graph_div"),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/events":683,"../../lib/get_graph_div":690,"../../lib/throttle":719,"../fx/constants":604}],591:[function(t,e,r){"use strict";r.dash={valType:"string",values:["solid","dot","dash","longdash","dashdot","longdashdot"],dflt:"solid",editType:"style"}},{}],592:[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=t("../../lib/svg_text_utils"),f=t("../../constants/xmlns_namespaces"),h=t("../../constants/alignment").LINE_SPACING,p=t("../../constants/interactions").DESELECTDIM,d=t("../../traces/scatter/subtypes"),g=t("../../traces/scatter/make_bubble_size_func"),v=e.exports={};v.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)},v.setPosition=function(t,e,r){t.attr("x",e).attr("y",r)},v.setSize=function(t,e,r){t.attr("width",e).attr("height",r)},v.setRect=function(t,e,r,n,i){t.call(v.setPosition,e,r).call(v.setSize,n,i)},v.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","translate("+a+","+o+")"),!0)},v.translatePoints=function(t,e,r){t.each(function(t){var i=n.select(this);v.translatePoint(t,i,e,r)})},v.hideOutsideRangePoint=function(t,e,r,n,i,a){e.attr("display",r.isPtWithinRange(t,i)&&n.isPtWithinRange(t,a)?null:"none")},v.hideOutsideRangePoints=function(t,e){if(e._hasClipOnAxisFalse){var r=e.xaxis,i=e.yaxis;t.each(function(e){var a=e[0].trace,o=a.xcalendar,s=a.ycalendar,l="bar"===a.type?".bartext":".point,.textpoint";t.selectAll(l).each(function(t){v.hideOutsideRangePoint(t,n.select(this),r,i,o,s)})})}},v.crispRound=function(t,e,r){return e&&i(e)?t._context.staticPlot?e:e<1?1:Math.round(e):r||0},v.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),v.dashLine(e,l,o)},v.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(v.dashLine,l,o)})},v.dashLine=function(t,e,r){r=+r||0,e=v.dashStyle(e,r),t.style({"stroke-dasharray":e,"stroke-width":r+"px"})},v.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},v.singleFillStyle=function(t){var e=(((n.select(t.node()).data()[0]||[])[0]||{}).trace||{}).fillcolor;e&&t.call(s.fill,e)},v.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 m=t("./symbol_defs");v.symbolNames=[],v.symbolFuncs=[],v.symbolNeedLines={},v.symbolNoDot={},v.symbolNoFill={},v.symbolList=[],Object.keys(m).forEach(function(t){var e=m[t];v.symbolList=v.symbolList.concat([e.n,t,e.n+100,t+"-open"]),v.symbolNames[e.n]=t,v.symbolFuncs[e.n]=e.f,e.needLine&&(v.symbolNeedLines[e.n]=!0),e.noDot?v.symbolNoDot[e.n]=!0:v.symbolList=v.symbolList.concat([e.n+200,t+"-dot",e.n+300,t+"-open-dot"]),e.noFill&&(v.symbolNoFill[e.n]=!0)});var y=v.symbolNames.length,x="M0,0.5L0.5,0L0,-0.5L-0.5,0Z";function b(t,e){var r=t%100;return v.symbolFuncs[r](e)+(t>=200?x:"")}v.symbolNumber=function(t){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=v.symbolNames.indexOf(t))>=0&&(t+=e)}return t%100>=y||t>=400?0:Math.floor(Math.max(t,0))};var _={x1:1,x2:0,y1:0,y2:0},w={x1:0,x2:0,y1:1,y2:0},k=n.format("~.1f"),A={radial:{node:"radialGradient"},radialreversed:{node:"radialGradient",reversed:!0},horizontal:{node:"linearGradient",attrs:_},horizontalreversed:{node:"linearGradient",attrs:_,reversed:!0},vertical:{node:"linearGradient",attrs:w},verticalreversed:{node:"linearGradient",attrs:w,reversed:!0}};v.gradient=function(t,e,r,i,o,l){for(var u=o.length,f=A[i],h=new Array(u),p=0;p=100,e.attr("d",b(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",p+"px");var m=a.gradient,y=t.mgt;if(y?d=!0:y=m&&m.type,Array.isArray(y)&&(y=y[0],A[y]||(y=0)),y&&"none"!==y){var x=t.mgc;x?d=!0:x=m.color;var _=r.uid;d&&(_+="-"+t.i),v.gradient(e,i,_,y,[[0,x],[1,f]],"fill")}else s.fill(e,f);p&&s.stroke(e,h)}},v.makePointStyleFns=function(t){var e={},r=t.marker;return e.markerScale=v.tryColorscale(r,""),e.lineScale=v.tryColorscale(r,"line"),o.traceIs(t,"symbols")&&(e.ms2mrc=d.isBubble(t)?g(t):function(){return(r.size||6)/2}),t.selectedpoints&&c.extendFlat(e,v.makeSelectedPointStyleFns(t)),e},v.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,d=void 0!==f;(c.isArrayOrTypedArray(l)||h||d)&&(e.selectedOpacityFn=function(t){var e=void 0===t.mo?i.opacity:t.mo;return t.selected?h?u:e:d?f:p*e});var g=i.color,v=a.color,m=s.color;(v||m)&&(e.selectedColorFn=function(t){var e=t.mcc||g;return t.selected?v||e:m||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},v.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,p))},e},v.selectedPointStyle=function(t,e){if(t.size()&&e.selectedpoints){var r=v.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",b(v.symbolNumber(n),a)),e.mrc2=a}),a.length&&t.each(function(t){for(var e=n.select(this),r=0;r0?r:0}v.textPointStyle=function(t,e,r){if(t.size()){var i;if(e.selectedpoints){var a=v.makeSelectedTextStyleFns(e);i=a.selectedTextColorFn}t.each(function(t){var a=n.select(this),o=c.extractOption(t,e,"tx","text");if(o||0===o){var s=t.tp||e.textposition,l=S(t,e),f=i?i(t):t.tc||e.textfont.color;a.call(v.font,t.tf||e.textfont.family,l,f).text(o).call(u.convertToTspans,r).call(T,s,l,t.mrc)}else a.remove()})}},v.selectedTextStyle=function(t,e){if(t.size()&&e.selectedpoints){var r=v.makeSelectedTextStyleFns(e);t.each(function(t){var i=n.select(this),a=r.selectedTextColorFn(t),o=t.tp||e.textposition,l=S(t,e);s.fill(i,a),T(i,o,l,t.mrc2||t.mrc)})}};var C=.5;function E(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,C/2),u=Math.pow(s*s+l*l,C/2),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)]]}v.smoothopen=function(t,e){if(t.length<3)return"M"+t.join("L");var r,n="M"+t[0],i=[];for(r=1;r=1e4&&(v.savedBBoxes={},O=0),r&&(v.savedBBoxes[r]=m),O++,c.extendFlat({},m)},v.setClipUrl=function(t,e,r){if(e){var n=r._context,i=n._exportedPlot?"":n._baseUrl||"";t.attr("clip-path","url("+i+"#"+e+")")}else t.attr("clip-path",null)},v.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}},v.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+=" translate("+e+", "+r+")").trim(),t[i]("transform",a),a},v.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}},v.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.*/;v.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 P=/translate\([^)]*\)\s*$/;v.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(P);t=1===e&&1===r?[]:["translate("+o+","+s+")","scale("+e+","+r+")","translate("+-o+","+-s+")"],l&&t.push(l),i.attr("transform",t.join(" "))}})}},{"../../constants/alignment":666,"../../constants/interactions":670,"../../constants/xmlns_namespaces":672,"../../lib":694,"../../lib/svg_text_utils":718,"../../registry":825,"../../traces/scatter/make_bubble_size_func":1064,"../../traces/scatter/subtypes":1071,"../color":571,"../colorscale":583,"./symbol_defs":593,d3:149,"fast-isnumeric":215,tinycolor2:515}],593:[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}}},{d3:149}],594:[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"}}}},{}],595:[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;f0;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 v=n.select(this).selectAll("g.errorbar").data(e,f);if(v.exit().remove(),e.length){p.visible||v.selectAll("path.xerror").remove(),d.visible||v.selectAll("path.yerror").remove(),v.style("opacity",1);var m=v.enter().append("g").classed("errorbar",!0);u&&m.style("opacity",0).transition().duration(s.duration).style("opacity",1),a.setClipUrl(v,r.layerClipId,t),v.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 v=(p.copy_ystyle?d:p).width;a="M"+r.xh+","+(r.y-v)+"v"+2*v+"m0,-"+v+"H"+r.xs,r.noXS||(a+="m0,-"+v+"v"+2*v),!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":1071,"../drawing":592,d3:149,"fast-isnumeric":215}],600:[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":571,d3:149}],601:[function(t,e,r){"use strict";var n=t("../../plots/font_attributes");e.exports={hoverlabel:{bgcolor:{valType:"color",arrayOk:!0,editType:"none"},bordercolor:{valType:"color",arrayOk:!0,editType:"none"},font:n({arrayOk:!0,editType:"none"}),namelength:{valType:"integer",min:-1,arrayOk:!0,editType:"none"},editType:"calc"}}},{"../../plots/font_attributes":769}],602:[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=0&&r.indexw[0]._length||et<0||et>k[0]._length)return h.unhoverRaw(t,e)}if(e.pointerX=tt+w[0]._offset,e.pointerY=et+k[0]._offset,P="xval"in e?g.flat(l,e.xval):g.p2c(w,tt),R="yval"in e?g.flat(l,e.yval):g.p2c(k,et),!i(P[0])||!i(R[0]))return o.warn("Fx.hover failed",e,t),h.unhoverRaw(t,e)}var it=1/0;for(B=0;BY&&($.splice(0,Y),it=$[0].distance),y&&0!==Z&&0===$.length){W.distance=Z,W.index=!1;var ct=j._module.hoverPoints(W,H,G,"closest",u._hoverlayer);if(ct&&(ct=ct.filter(function(t){return t.spikeDistance<=Z})),ct&&ct.length){var ut,ft=ct.filter(function(t){return t.xa.showspikes});if(ft.length){var ht=ft[0];i(ht.x0)&&i(ht.y0)&&(ut=vt(ht),(!K.vLinePoint||K.vLinePoint.spikeDistance>ut.spikeDistance)&&(K.vLinePoint=ut))}var pt=ct.filter(function(t){return t.ya.showspikes});if(pt.length){var dt=pt[0];i(dt.x0)&&i(dt.y0)&&(ut=vt(dt),(!K.hLinePoint||K.hLinePoint.spikeDistance>ut.spikeDistance)&&(K.hLinePoint=ut))}}}}function gt(t,e){for(var r,n=null,i=1/0,a=0;a1||$.length>1)||"closest"===D&&Q&&$.length>1,zt=f.combine(u.plot_bgcolor||f.background,u.paper_bgcolor),Ot={hovermode:D,rotateLabels:Lt,bgColor:zt,container:u._hoverlayer,outerContainer:u._paperdiv,commonLabelOpts:u.hoverlabel,hoverdistance:u.hoverdistance},It=M($,Ot,t);if(function(t,e,r){var n,i,a,o,s,l,c,u=0,f=1,h=t.map(function(t,n){var i=t[e],a="x"===i._id.charAt(0),o=i.range;return!n&&o&&o[0]>o[1]!==a&&(f=-1),[{i:n,traceIndex:t.trace.index,dp:0,pos:t.pos,posref:t.posref,size:t.by*(a?x:1)/2,pmin:0,pmax:a?r.width:r.height}]}).sort(function(t,e){return t[0].posref-e[0].posref||f*(e[0].traceIndex-t[0].traceIndex)});function p(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;oe.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=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--)}}}for(;!n&&u<=t.length;){for(u++,n=!0,o=0;o.01&&v.pmin===m.pmin&&v.pmax===m.pmax){for(s=g.length-1;s>=0;s--)g[s].dp+=i;for(d.push.apply(d,g),h.splice(o+1,1),c=0,s=d.length-1;s>=0;s--)c+=d[s].dp;for(a=c/d.length,s=d.length-1;s>=0;s--)d[s].dp-=a;n=!1}else o++}h.forEach(p)}for(o=h.length-1;o>=0;o--){var y=h[o];for(s=y.length-1;s>=0;s--){var b=y[s],_=t[b.i];_.offset=b.dp,_.del=b.del}}}($,Lt?"xa":"ya",u),T(It,Lt),e.target&&e.target.tagName){var Dt=d.getComponentMethod("annotations","hasClickToShow")(t,Tt);c(n.select(e.target),Dt?"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,Mt))return;Mt&&t.emit("plotly_unhover",{event:e,points:Mt});t.emit("plotly_hover",{event:e,points:t._hoverdata,xaxes:w,yaxes:k,xvals:P,yvals:R})}(t,e,r,a)})},r.loneHover=function(t,e){var r={color:t.color||f.defaultLine,x0:t.x0||t.x||0,x1:t.x1||t.x||0,y0:t.y0||t.y||0,y1:t.y1||t.y||0,xLabel:t.xLabel,yLabel:t.yLabel,zLabel:t.zLabel,text:t.text,name:t.name,idealAlign:t.idealAlign,borderColor:t.borderColor,fontFamily:t.fontFamily,fontSize:t.fontSize,fontColor:t.fontColor,trace: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},i=n.select(e.container),a=e.outerContainer?n.select(e.outerContainer):i,o={hovermode:"closest",rotateLabels:!1,bgColor:e.bgColor||f.background,container:i,outerContainer:a},s=M([r],o,e.gd);return T(s,o.rotateLabels),s.node()},r.multiHovers=function(t,e){Array.isArray(t)||(t=[t]);var r=t.map(function(t){return{color:t.color||f.defaultLine,x0:t.x0||t.x||0,x1:t.x1||t.x||0,y0:t.y0||t.y||0,y1:t.y1||t.y||0,xLabel:t.xLabel,yLabel:t.yLabel,zLabel:t.zLabel,text:t.text,name:t.name,idealAlign:t.idealAlign,borderColor:t.borderColor,fontFamily:t.fontFamily,fontSize:t.fontSize,fontColor:t.fontColor,trace: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}}),i=n.select(e.container),a=e.outerContainer?n.select(e.outerContainer):i,o={hovermode:"closest",rotateLabels:!1,bgColor:e.bgColor||f.background,container:i,outerContainer:a},s=M(r,o,e.gd),l=0;return s.sort(function(t,e){return t.y0-e.y0}).each(function(t){var e=t.y0-t.by/2;t.offset=e-5([\s\S]*)<\/extra>/;function M(t,e,r){var i=e.hovermode,a=e.rotateLabels,s=e.bgColor,c=e.container,h=e.outerContainer,p=e.commonLabelOpts||{},d=e.fontFamily||v.HOVERFONT,g=e.fontSize||v.HOVERFONTSIZE,y=t[0],x=y.xa,b=y.ya,_="y"===i?"yLabel":"xLabel",M=y[_],T=(String(M)||"").split(" ")[0],S=h.node().getBoundingClientRect(),C=S.top,E=S.width,L=S.height,z=void 0!==M&&y.distance<=e.hoverdistance&&("x"===i||"y"===i);if(z){var O,I,D=!0;for(O=0;O"),void 0!==t.yLabel&&(h+="y: "+t.yLabel+"
"),h+=(h?"z: ":"")+t.zLabel):z&&t[i+"Label"]===M?h=t[("x"===i?"y":"x")+"Label"]||"":void 0===t.xLabel?void 0!==t.yLabel&&(h=t.yLabel):h=void 0===t.yLabel?t.xLabel:"("+t.xLabel+", "+t.yLabel+")",!t.text&&0!==t.text||Array.isArray(t.text)||(h+=(h?"
":"")+t.text),void 0!==t.extraText&&(h+=(h?"
":"")+t.extraText),""!==h||t.hovertemplate||(""===c&&e.remove(),h=c);var b=t.hovertemplate||!1,_=t.hovertemplateLabels||t,T=t.eventData[0]||{};b&&(h=(h=o.hovertemplateString(b,_,T)).replace(A,function(t,e){return c=e,""}));var S=e.select("text.nums").call(u.font,t.fontFamily||d,t.fontSize||g,t.fontColor||x).text(h).attr("data-notex",1).call(l.positionText,0,0).call(l.convertToTspans,r),O=e.select("text.name"),I=0,D=0;if(c&&c!==h){O.call(u.font,t.fontFamily||d,t.fontSize||g,y).text(c).attr("data-notex",1).call(l.positionText,0,0).call(l.convertToTspans,r);var P=O.node().getBoundingClientRect();I=P.width+2*k,D=P.height+2*k}else O.remove(),e.select("rect").remove();e.select("path").style({fill:v,stroke:x});var R,F,B=S.node().getBoundingClientRect(),N=t.xa._offset+(t.x0+t.x1)/2,j=t.ya._offset+(t.y0+t.y1)/2,V=Math.abs(t.x1-t.x0),U=Math.abs(t.y1-t.y0),q=B.width+w+k+I;t.ty0=C-B.top,t.bx=B.width+2*k,t.by=Math.max(B.height+2*k,D),t.anchor="start",t.txwidth=B.width,t.tx2width=I,t.offset=0,a?(t.pos=N,R=j+U/2+q<=L,F=j-U/2-q>=0,"top"!==t.idealAlign&&R||!F?R?(j+=U/2,t.anchor="start"):t.anchor="middle":(j-=U/2,t.anchor="end")):(t.pos=j,R=N+V/2+q<=E,F=N-V/2-q>=0,"left"!==t.idealAlign&&R||!F?R?(N+=V/2,t.anchor="start"):t.anchor="middle":(N-=V/2,t.anchor="end")),S.attr("text-anchor",t.anchor),I&&O.attr("text-anchor",t.anchor),e.attr("transform","translate("+N+","+j+")"+(a?"rotate("+m+")":""))}),F}function T(t,e){t.each(function(t){var r=n.select(this);if(t.del)r.remove();else{var i="end"===t.anchor?-1:1,a=r.select("text.nums"),o={start:1,end:-1,middle:0}[t.anchor],s=o*(w+k),c=s+o*(t.txwidth+k),f=0,h=t.offset;"middle"===t.anchor&&(s-=t.tx2width/2,c+=t.txwidth/2+k),e&&(h*=-_,f=t.offset*b),r.select("path").attr("d","middle"===t.anchor?"M-"+(t.bx/2+t.tx2width/2)+","+(h-t.by/2)+"h"+t.bx+"v"+t.by+"h-"+t.bx+"Z":"M0,0L"+(i*w+f)+","+(w+h)+"v"+(t.by/2-w)+"h"+i*t.bx+"v-"+t.by+"H"+(i*w+f)+"V"+(h-w)+"Z"),a.call(l.positionText,s+f,h+t.ty0-t.by/2+k),t.tx2width&&(r.select("text.name").call(l.positionText,c+o*k+f,h+t.ty0-t.by/2+k),r.select("rect").call(u.setRect,c+(o-1)*t.tx2width/2+f,h-t.by/2-1,t.tx2width,t.by+2))}})}function S(t,e){var r=t.index,n=t.trace||{},i=t.cd[0],a=t.cd[r]||{},s=Array.isArray(r)?function(t,e){return o.castOption(i,r,t)||o.extractOption({},n,"",e)}:function(t,e){return o.extractOption(a,n,t,e)};function l(e,r,n){var i=s(r,n);i&&(t[e]=i)}if(l("hoverinfo","hi","hoverinfo"),l("bgcolor","hbg","hoverlabel.bgcolor"),l("borderColor","hbc","hoverlabel.bordercolor"),l("fontFamily","htf","hoverlabel.font.family"),l("fontSize","hts","hoverlabel.font.size"),l("fontColor","htc","hoverlabel.font.color"),l("nameLength","hnl","hoverlabel.namelength"),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:p.hoverLabelText(t.xa,t.xLabelVal),t.xVal=t.xa.c2d(t.xLabelVal)),void 0!==t.yLabelVal&&(t.yLabel="yLabel"in t?t.yLabel:p.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 c=p.tickText(t.xa,t.xa.c2l(t.xerr),"hover").text;void 0!==t.xerrneg?t.xLabel+=" +"+c+" / -"+p.tickText(t.xa,t.xa.c2l(t.xerrneg),"hover").text:t.xLabel+=" \xb1 "+c,"x"===e&&(t.distance+=1)}if(!(isNaN(t.yerr)||"log"===t.ya.type&&t.yerr<=0)){var u=p.tickText(t.ya,t.ya.c2l(t.yerr),"hover").text;void 0!==t.yerrneg?t.yLabel+=" +"+u+" / -"+p.tickText(t.ya,t.ya.c2l(t.yerrneg),"hover").text:t.yLabel+=" \xb1 "+u,"y"===e&&(t.distance+=1)}var f=t.hoverinfo||t.trace.hoverinfo;return f&&"all"!==f&&(-1===(f=Array.isArray(f)?f:f.split("+")).indexOf("x")&&(t.xLabel=void 0),-1===f.indexOf("y")&&(t.yLabel=void 0),-1===f.indexOf("z")&&(t.zLabel=void 0),-1===f.indexOf("text")&&(t.text=void 0),-1===f.indexOf("name")&&(t.name=void 0)),t}function C(t,e){var r,n,i=e.container,o=e.fullLayout,s=e.event,l=!!t.hLinePoint,c=!!t.vLinePoint;if(i.selectAll(".spikeline").remove(),c||l){var h=f.combine(o.plot_bgcolor,o.paper_bgcolor);if(l){var p,d,g=t.hLinePoint;r=g&&g.xa,"cursor"===(n=g&&g.ya).spikesnap?(p=s.pointerX,d=s.pointerY):(p=r._offset+g.x,d=n._offset+g.y);var v,m,y=a.readability(g.color,h)<1.5?f.contrast(h):g.color,x=n.spikemode,b=n.spikethickness,_=n.spikecolor||y,w=n._boundingBox,k=(w.left+w.right)/20){for(var n=[],i=0;i-1?o="closest":(e._isHoriz=function(t){for(var e=!0,r=0;r1){h||p||d||"independent"===A("pattern")&&(h=!0),v._hasSubplotGrid=h;var x,b,_="top to bottom"===A("roworder"),w=h?.2:.1,k=h?.3:.1;g&&e._splomGridDflt&&(x=e._splomGridDflt.xside,b=e._splomGridDflt.yside),v._domains={x:u("x",A,w,x,y),y:u("y",A,k,b,m,_)}}else delete e.grid}function A(t,e){return n.coerce(r,v,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,v=r.columns,m="independent"===r.pattern,y=r._axisMap={};if(d){var x=h.subplots||[];l=r.subplots=new Array(g);var b=1;for(n=0;n1);if(!1!==x||p.uirevision){var b=a.newContainer(e,"legend");if(w("uirevision",e.uirevision),!1!==x){if(w("bgcolor",e.paper_bgcolor),w("bordercolor"),w("borderwidth"),i.coerceFont(w,"font",e.font),w("orientation"),"h"===b.orientation){var _=t.xaxis;n.getComponentMethod("rangeslider","isVisible")(_)?(c=0,f="left",u=1.1,h="bottom"):(c=0,f="left",u=-.1,h="top")}w("traceorder",v),l.isGrouped(e.legend)&&w("tracegroupgap"),w("x",c),w("xanchor",f),w("y",u),w("yanchor",h),w("valign"),i.noneOrAll(p,b,["x","y"])}}function w(t,e){return i.coerce(p,b,o,t,e)}}},{"../../lib":694,"../../plot_api/plot_template":732,"../../plots/layout_attributes":797,"../../registry":825,"./attributes":620,"./helpers":626}],623:[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/interactions"),g=t("../../constants/alignment"),v=g.LINE_SPACING,m=g.FROM_TL,y=g.FROM_BR,x=t("./get_legend_data"),b=t("./style"),_=t("./helpers"),w=d.DBLCLICKDELAY;function k(t,e,r,n,i){var a=r.data()[0][0].trace,o={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&&(o.group=a._group),"pie"===a.type&&(o.label=r.datum()[0].label),!1!==s.triggerHandler(t,"plotly_legendclick",o))if(1===n)e._clickTimeout=setTimeout(function(){h(r,t,n)},w);else if(2===n){e._clickTimeout&&clearTimeout(e._clickTimeout),t._legendMouseDownTime=0,!1!==s.triggerHandler(t,"plotly_legenddoubleclick",o)&&h(r,t,n)}}function A(t,e,r){var n=t.data()[0][0],a=e._fullLayout,s=n.trace,l=o.traceIs(s,"pie"),u=s.index,h=l?n.label:s.name,d=e._context.edits.legendText&&!l,g=i.ensureSingle(t,"text","legendtext");function m(r){f.convertToTspans(r,e,function(){!function(t,e){var r=t.data()[0][0];if(!r.trace.showlegend)return void t.remove();var n,i,a=t.select("g[class*=math-group]"),o=a.node(),s=e._fullLayout.legend.font.size*v;if(o){var l=c.bBox(o);n=l.height,i=l.width,c.setTranslate(a,0,n/4)}else{var u=t.select(".legendtext"),h=f.lineCount(u),d=u.node();n=s*h,i=d?c.bBox(d).width:0;var g=s*(.3+(1-h)/2);f.positionText(u,p.textOffsetX,g)}r.lineHeight=s,r.height=Math.max(n,16)+3,r.width=i}(t,e)})}g.attr("text-anchor","start").classed("user-select-none",!0).call(c.font,a.legend.font).text(d?M(h,r):h),f.positionText(g,p.textOffsetX,0),d?g.call(f.makeEditable,{gd:e,text:h}).call(m).on("edit",function(t){this.text(M(t,r)).call(m);var a=n.trace._fullInput||{},s={};if(o.hasTransform(a,"groupby")){var l=o.getTransformIndices(a,"groupby"),c=l[l.length-1],f=i.keyedContainer(a,"transforms["+c+"].styles","target","value.name");f.set(n.trace._group,t),s=f.constructUpdate()}else s.name=t;return o.call("_guiRestyle",e,s,u)}):m(g)}function M(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 T(t,e){var r,a=1,o=i.ensureSingle(t,"rect","legendtoggle",function(t){t.style("cursor","pointer").attr("pointer-events","all").call(u.fill,"rgba(0,0,0,0)")});o.on("mousedown",function(){(r=(new Date).getTime())-e._legendMouseDownTimew&&(a=Math.max(a-1,1)),k(e,r,t,a,n.event)}})}function S(t,e,r){var i=t._fullLayout,a=i.legend,o=a.borderwidth,s=_.isGrouped(a),l=0;if(a._width=0,a._height=0,_.isVertical(a))s&&e.each(function(t,e){c.setTranslate(this,0,e*a.tracegroupgap)}),r.each(function(t){var e=t[0],r=e.height,n=e.width;c.setTranslate(this,o,5+o+a._height+r/2),a._height+=r,a._width=Math.max(a._width,n)}),a._width+=45+2*o,a._height+=10+2*o,s&&(a._height+=(a._lgroupsLength-1)*a.tracegroupgap),l=40;else if(s){for(var u=[a._width],f=e.data(),h=0,p=f.length;ho+b-w;r.each(function(t){var e=t[0],r=k?40+t[0].width:y;o+x+w+r>i._size.w&&(x=0,v+=m,a._height+=m,m=0),c.setTranslate(this,o+x,5+o+e.height/2+v),a._width+=w+r,x+=w+r,m=Math.max(e.height,m)}),k?a._height=m:a._height+=m,a._width+=2*o,a._height+=10+2*o}a._width=Math.ceil(a._width),a._height=Math.ceil(a._height);var A=t._context.edits.legendText||t._context.edits.legendPosition;r.each(function(t){var e=t[0],r=n.select(this).select(".legendtoggle");c.setRect(r,0,-e.height/2,(A?0:a._width)+l,e.height)})}function C(t){var e=t._fullLayout.legend,r="left";i.isRightAnchor(e)?r="right":i.isCenterAnchor(e)&&(r="center");var n="top";i.isBottomAnchor(e)?n="bottom":i.isMiddleAnchor(e)&&(n="middle"),a.autoMargin(t,"legend",{x:e.x,y:e.y,l:e._width*m[r],r:e._width*y[r],b:e._height*y[n],t:e._height*m[n]})}e.exports=function(t){var e=t._fullLayout,r="legend"+e._uid;if(e._infolayer&&t.calcdata){t._legendMouseDownTime||(t._legendMouseDownTime=0);var s=e.legend,f=e.showlegend&&x(t.calcdata,s),h=e.hiddenlabels||[];if(!e.showlegend||!f.length)return e._infolayer.selectAll(".legend").remove(),e._topdefs.select("#"+r).remove(),void a.autoMargin(t,"legend");for(var d=0,g=0;gf?function(t){var e=t._fullLayout.legend,r="left";i.isRightAnchor(e)?r="right":i.isCenterAnchor(e)&&(r="center");a.autoMargin(t,"legend",{x:e.x,y:.5,l:e._width*m[r],r:e._width*y[r],b:0,t:0})}(t):C(t);var h=e._size,d=h.l+h.w*s.x,g=h.t+h.h*(1-s.y);i.isRightAnchor(s)?d-=s._width:i.isCenterAnchor(s)&&(d-=s._width/2),i.isBottomAnchor(s)?g-=s._height:i.isMiddleAnchor(s)&&(g-=s._height/2);var v=s._width,x=h.w;v>x?(d=h.l,v=x):(d+v>u&&(d=u-v),d<0&&(d=0),v=Math.min(u-d,s._width));var b,_,w,A,M=s._height,T=h.h;if(M>T?(g=h.t,M=T):(g+M>f&&(g=f-M),g<0&&(g=0),M=Math.min(f-g,s._height)),c.setTranslate(L,d,g),D.on(".drag",null),L.on("wheel",null),s._height<=M||t._context.staticPlot)O.attr({width:v-s.borderwidth,height:M-s.borderwidth,x:s.borderwidth/2,y:s.borderwidth/2}),c.setTranslate(I,0,0),z.select("rect").attr({width:v-2*s.borderwidth,height:M-2*s.borderwidth,x:s.borderwidth,y:s.borderwidth}),c.setClipUrl(I,r,t),c.setRect(D,0,0,0,0),delete s._scrollY;else{var F,B,N=Math.max(p.scrollBarMinHeight,M*M/s._height),j=M-N-2*p.scrollBarMargin,V=s._height-M,U=j/V,q=Math.min(s._scrollY||0,V);O.attr({width:v-2*s.borderwidth+p.scrollBarWidth+p.scrollBarMargin,height:M-s.borderwidth,x:s.borderwidth/2,y:s.borderwidth/2}),z.select("rect").attr({width:v-2*s.borderwidth+p.scrollBarWidth+p.scrollBarMargin,height:M-2*s.borderwidth,x:s.borderwidth,y:s.borderwidth+q}),c.setClipUrl(I,r,t),G(q,N,U),L.on("wheel",function(){G(q=i.constrain(s._scrollY+n.event.deltaY/j*V,0,V),N,U),0!==q&&q!==V&&n.event.preventDefault()});var H=n.behavior.drag().on("dragstart",function(){F=n.event.sourceEvent.clientY,B=q}).on("drag",function(){var t=n.event.sourceEvent;2===t.buttons||t.ctrlKey||G(q=i.constrain((t.clientY-F)/U+B,0,V),N,U)});D.call(H)}function G(e,r,n){s._scrollY=t._fullLayout.legend._scrollY=e,c.setTranslate(I,0,-e),c.setRect(D,v,p.scrollBarMargin+e*n,p.scrollBarWidth,r),z.select("rect").attr({y:s.borderwidth+e})}t._context.edits.legendPosition&&(L.classed("cursor-move",!0),l.init({element:L.node(),gd:t,prepFn:function(){var t=c.getTranslate(L);w=t.x,A=t.y},moveFn:function(t,e){var r=w+t,n=A+e;c.setTranslate(L,r,n),b=l.align(r,0,h.l,h.l+h.w,s.xanchor),_=l.align(n,0,h.t+h.h,h.t,s.yanchor)},doneFn:function(){void 0!==b&&void 0!==_&&o.call("_guiRelayout",t,{"legend.x":b,"legend.y":_})},clickFn:function(r,n){var i=e._infolayer.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&&k(t,L,i,r,n)}}))}],t)}}},{"../../constants/alignment":666,"../../constants/interactions":670,"../../lib":694,"../../lib/events":683,"../../lib/svg_text_utils":718,"../../plots/plots":806,"../../registry":825,"../color":571,"../dragelement":589,"../drawing":592,"./constants":621,"./get_legend_data":624,"./handle_click":625,"./helpers":626,"./style":628,d3:149}],624:[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;function f(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;rr[1])return r[1]}return i}function d(t){return t[0]}if(u||f||h){var g={},v={};if(u){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]),v.marker={sizeref:1,sizemin:1,sizemode:"diameter"};var m=p("marker.size",a.mean,[2,16]);g.ms=m,v.marker.size=m}h&&(v.line={width:p("line.width",d,[0,10])}),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(s,g)],(i=a.minExtend(c,v)).selectedpoints=null}var y=n.select(this).select("g.legendpoints"),x=y.selectAll("path.scatterpts").data(u?r:[]);x.enter().insert("path",":first-child").classed("scatterpts",!0).attr("transform","translate(20,0)"),x.exit().remove(),x.call(o.pointStyle,i,e),u&&(r[0].mrc=3);var b=y.selectAll("g.pointtext").data(f?r:[]);b.enter().append("g").classed("pointtext",!0).append("text").attr("transform","translate(20,0)"),b.exit().remove(),b.selectAll("text").call(o.textPointStyle,i,e)}).each(function(t){var e=t[0].trace,r=n.select(this).select("g.legendpoints").selectAll("path.legendcandle").data("candlestick"===e.type&&e.visible?[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","translate(20,0)").style("stroke-miterlimit",1),r.exit().remove(),r.each(function(t,r){var i=e[r?"increasing":"decreasing"],a=i.line.width,o=n.select(this);o.style("stroke-width",a+"px").call(s.fill,i.fillcolor),a&&s.stroke(o,i.line.color)})}).each(function(t){var e=t[0].trace,r=n.select(this).select("g.legendpoints").selectAll("path.legendohlc").data("ohlc"===e.type&&e.visible?[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","translate(20,0)").style("stroke-miterlimit",1),r.exit().remove(),r.each(function(t,r){var i=e[r?"increasing":"decreasing"],a=i.line.width,l=n.select(this);l.style("fill","none").call(o.dashLine,i.line.dash,a),a&&s.stroke(l,i.line.color)})})}},{"../../lib":694,"../../registry":825,"../../traces/pie/style_one":1033,"../../traces/scatter/subtypes":1071,"../color":571,"../drawing":592,d3:149}],629:[function(t,e,r){"use strict";var n=t("../../registry"),i=t("../../plots/plots"),a=t("../../plots/cartesian/axis_ids"),o=t("../../lib"),s=t("../../../build/ploticon"),l=o._,c=e.exports={};function u(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="on";if("zoom"===s){var p,d="in"===l?.5:2,g=(1+d)/2,v=(1-d)/2;for(i=0;i1?(k=["toggleHover"],A=["resetViews"]):h?(w=["zoomInGeo","zoomOutGeo"],k=["hoverClosestGeo"],A=["resetGeo"]):f?(k=["hoverClosest3d"],A=["resetCameraDefault3d","resetCameraLastSave3d"]):v?(k=["toggleHover"],A=["resetViewMapbox"]):k=d?["hoverClosestGl2d"]:p?["hoverClosestPie"]:["toggleHover"];u&&(k=["toggleSpikelines","hoverClosestCartesian","hoverCompareCartesian"]);!u&&!d||y||(w=["zoomIn2d","zoomOut2d","autoScale2d"],"resetViews"!==A[0]&&(A=["resetScale2d"]));f?M=["zoom3d","pan3d","orbitRotation","tableRotation"]:(u||d)&&!y||g?M=["zoom2d","pan2d"]:v||h?M=["pan2d"]:m&&(M=["zoom2d"]);(function(t){for(var e=!1,r=0;r0)){var g=function(t,e,r){for(var n=r.filter(function(r){return e[r].anchor===t._id}),i=0,a=0;a0?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;lp&&(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;o10?t/2:10;return n.append("circle").attr({"data-line-point":"start-point",cx:P?q(r.xanchor)+r.x0:q(r.x0),cy:R?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:P?q(r.xanchor)+r.x1:q(r.x1),cy:R?H(r.yanchor)-r.y1:H(r.y1),r:a}).style(i).classed("cursor-grab",!0),n}():e,X={element:Y.node(),gd:t,prepFn:function(n){P&&(_=q(r.xanchor));R&&(w=H(r.yanchor));"path"===r.type?z=r.path:(m=P?r.x0:q(r.x0),y=R?r.y0:H(r.y0),x=P?r.x1:q(r.x1),b=R?r.y1:H(r.y1));mb?(k=y,S="y0",A=b,C="y1"):(k=b,S="y1",A=y,C="y0");Z(n),K(p,r),function(t,e,r){var n=e.xref,i=e.yref,o=a.getFromId(r,n),l=a.getFromId(r,i),c="";"paper"===n||o.autorange||(c+=n);"paper"===i||l.autorange||(c+=i);s.setClipUrl(t,c?"clip"+r._fullLayout._uid+c:null,r)}(e,r,t),X.moveFn="move"===O?$:J},doneFn:function(){u(e),Q(p),d(e,t,r),n.call("_guiRelayout",t,N.getUpdateObj())},clickFn:function(){Q(p)}};function Z(t){if(F)O="path"===t.target.tagName?"move":"start-point"===t.target.attributes["data-line-point"].value?"resize-over-start-point":"resize-over-end-point";else{var r=X.element.getBoundingClientRect(),n=r.right-r.left,i=r.bottom-r.top,a=t.clientX-r.left,o=t.clientY-r.top,s=!B&&n>I&&i>D&&!t.shiftKey?c.getCursor(a/n,1-o/i):"move";u(e,s),O=s.split("-")[0]}}function $(n,i){if("path"===r.type){var a=function(t){return t},o=a,s=a;P?j("xanchor",r.xanchor=G(_+n)):(o=function(t){return G(q(t)+n)},V&&"date"===V.type&&(o=h.encodeDate(o))),R?j("yanchor",r.yanchor=W(w+i)):(s=function(t){return W(H(t)+i)},U&&"date"===U.type&&(s=h.encodeDate(s))),j("path",r.path=v(z,o,s))}else P?j("xanchor",r.xanchor=G(_+n)):(j("x0",r.x0=G(m+n)),j("x1",r.x1=G(x+n))),R?j("yanchor",r.yanchor=W(w+i)):(j("y0",r.y0=W(y+i)),j("y1",r.y1=W(b+i)));e.attr("d",g(t,r)),K(p,r)}function J(n,i){if(B){var a=function(t){return t},o=a,s=a;P?j("xanchor",r.xanchor=G(_+n)):(o=function(t){return G(q(t)+n)},V&&"date"===V.type&&(o=h.encodeDate(o))),R?j("yanchor",r.yanchor=W(w+i)):(s=function(t){return W(H(t)+i)},U&&"date"===U.type&&(s=h.encodeDate(s))),j("path",r.path=v(z,o,s))}else if(F){if("resize-over-start-point"===O){var l=m+n,c=R?y-i:y+i;j("x0",r.x0=P?l:G(l)),j("y0",r.y0=R?c:W(c))}else if("resize-over-end-point"===O){var u=x+n,f=R?b-i:b+i;j("x1",r.x1=P?u:G(u)),j("y1",r.y1=R?f:W(f))}}else{var d=~O.indexOf("n")?k+i:k,N=~O.indexOf("s")?A+i:A,Y=~O.indexOf("w")?M+n:M,X=~O.indexOf("e")?T+n:T;~O.indexOf("n")&&R&&(d=k-i),~O.indexOf("s")&&R&&(N=A-i),(!R&&N-d>D||R&&d-N>D)&&(j(S,r[S]=R?d:W(d)),j(C,r[C]=R?N:W(N))),X-Y>I&&(j(E,r[E]=P?Y:G(Y)),j(L,r[L]=P?X:G(X)))}e.attr("d",g(t,r)),K(p,r)}function K(t,e){(P||R)&&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(P?e.xanchor:i.midRange(r?[e.x0,e.x1]:h.extractPathCoords(e.path,f.paramIsX))),o=H(R?e.yanchor:i.midRange(r?[e.y0,e.y1]:h.extractPathCoords(e.path,f.paramIsY)));if(a=h.roundPositionForSharpStrokeRendering(a,1),o=h.roundPositionForSharpStrokeRendering(o,1),P&&R){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(P){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 Q(t){t.selectAll(".visual-cue").remove()}c.init(X),Y.node().onmousemove=Z}(t,x,r,e,p)}}function d(t,e,r){var n=(r.xref+r.yref).replace(/paper/g,"");s.setClipUrl(t,n?"clip"+e._fullLayout._uid+n:null,e)}function g(t,e){var r,n,o,s,l,c,u,p,d=e.type,g=a.getFromId(t,e.xref),v=a.getFromId(t,e.yref),m=t._fullLayout._size;if(g?(r=h.shapePositionToRange(g),n=function(t){return g._offset+g.r2p(r(t,!0))}):n=function(t){return m.l+m.w*t},v?(o=h.shapePositionToRange(v),s=function(t){return v._offset+v.r2p(o(t,!0))}):s=function(t){return m.t+m.h*(1-t)},"path"===d)return g&&"date"===g.type&&(n=h.decodeDate(n)),v&&"date"===v.type&&(s=h.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(f.segmentRE,function(t){var n=0,c=t.charAt(0),u=f.paramIsX[c],h=f.paramIsY[c],p=f.numParams[c],d=t.substr(1).replace(f.paramRE,function(t){return u[n]?t="pixel"===a?e(s)+Number(t):e(t):h[n]&&(t="pixel"===o?r(l)-Number(t):r(t)),++n>p&&(t="X"),t});return n>p&&(d=d.replace(/[\s,]*X.*/,""),i.log("Ignoring extra params in segment "+t)),c+d})}(e,n,s);if("pixel"===e.xsizemode){var y=n(e.xanchor);l=y+e.x0,c=y+e.x1}else l=n(e.x0),c=n(e.x1);if("pixel"===e.ysizemode){var x=s(e.yanchor);u=x-e.y0,p=x-e.y1}else u=s(e.y0),p=s(e.y1);if("line"===d)return"M"+l+","+u+"L"+c+","+p;if("rect"===d)return"M"+l+","+u+"H"+c+"V"+p+"H"+l+"Z";var b=(l+c)/2,_=(u+p)/2,w=Math.abs(b-l),k=Math.abs(_-u),A="A"+w+","+k,M=b+w+","+_;return"M"+M+A+" 0 1,1 "+(b+","+(_-k))+A+" 0 0,1 "+M+"Z"}function v(t,e,r){return t.replace(f.segmentRE,function(t){var n=0,i=t.charAt(0),a=f.paramIsX[i],o=f.paramIsY[i],s=f.numParams[i];return i+t.substr(1).replace(f.paramRE,function(t){return n>=s?t:(a[n]?t=e(t):o[n]&&(t=r(t)),n++,t)})})}e.exports={draw:function(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;i0&&(s=s.transition().duration(e.transition.duration).ease(e.transition.easing)),s.attr("transform","translate("+(o-.5*u.gripWidth)+","+e._dims.currentValueTotalHeight+")")}}function S(t,e){var r=t._dims;return r.inputAreaStart+u.stepInset+(r.inputAreaLength-2*u.stepInset)*Math.min(1,Math.max(0,e))}function C(t,e){var r=t._dims;return Math.min(1,Math.max(0,(e-u.stepInset-r.inputAreaStart)/(r.inputAreaLength-2*u.stepInset-2*r.inputAreaStart)))}function E(t,e,r){var n=r._dims,i=s.ensureSingle(t,"rect",u.railTouchRectClass,function(n){n.call(A,e,t,r).style("pointer-events","all")});i.attr({width:n.inputAreaLength,height:Math.max(n.inputAreaWidth,u.tickOffset+r.ticklen+n.labelHeight)}).call(a.fill,r.bgcolor).attr("opacity",0),o.setTranslate(i,0,n.currentValueTotalHeight)}function L(t,e){var r=e._dims,n=r.inputAreaLength-2*u.railInset,i=s.ensureSingle(t,"rect",u.railRectClass);i.attr({width:n,height:u.railWidth,rx:u.railRadius,ry:u.railRadius,"shape-rendering":"crispEdges"}).call(a.stroke,e.bordercolor).call(a.fill,e.bgcolor).style("stroke-width",e.borderwidth+"px"),o.setTranslate(i,u.railInset,.5*(r.inputAreaWidth-u.railWidth)+r.currentValueTotalHeight)}e.exports=function(t){var e=t._fullLayout,r=function(t,e){for(var r=t[u.name],n=[],i=0;i0?[0]:[]);function s(e){e._commandObserver&&(e._commandObserver.remove(),delete e._commandObserver),i.autoMargin(t,g(e))}if(a.enter().append("g").classed(u.containerClassName,!0).style("cursor","ew-resize"),a.exit().each(function(){n.select(this).selectAll("g."+u.groupClassName).each(s)}).remove(),0!==r.length){var l=a.selectAll("g."+u.groupClassName).data(r,v);l.enter().append("g").classed(u.groupClassName,!0),l.exit().each(s).remove();for(var c=0;c0||h<0){var g={left:[-r,0],right:[r,0],top:[0,-r],bottom:[0,r]}[y.side];e.attr("transform","translate("+g+")")}}}I.call(D),z&&(T?I.on(".opacity",null):(k=0,A=!0,I.text(v).on("mouseover.opacity",function(){n.select(this).transition().duration(f.SHOW_PLACEHOLDER).style("opacity",1)}).on("mouseout.opacity",function(){n.select(this).transition().duration(f.HIDE_PLACEHOLDER).style("opacity",0)})),I.call(u.makeEditable,{gd:t}).on("edit",function(e){void 0!==m?o.call("_guiRestyle",t,g,e,m):o.call("_guiRelayout",t,g,e)}).on("cancel",function(){this.text(this.attr("data-unformatted")).call(D)}).on("input",function(t){this.text(t||" ").call(u.positionText,x.x,x.y)}));return I.classed("js-placeholder",A),_}};var h=/ [XY][0-9]* /},{"../../constants/interactions":670,"../../lib":694,"../../lib/svg_text_utils":718,"../../plots/plots":806,"../../registry":825,"../color":571,"../drawing":592,d3:149,"fast-isnumeric":215}],660:[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"}]},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":684,"../../plot_api/edit_types":725,"../../plot_api/plot_template":732,"../../plots/font_attributes":769,"../../plots/pad_attributes":805,"../color/attributes":570}],661:[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"}}},{}],662:[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("label"),r("execute"))}e.exports=function(t,e){i(t,e,{name:o,handleItemDefaults:l})}},{"../../lib":694,"../../plots/array_container_defaults":738,"./attributes":660,"./constants":661}],663:[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?m(t,n,null,null,e):"dropdown"===e.type&&(i.attr(f.menuIndexAttrName,"-1"),v(t,n,i,a,e),s||m(t,n,i,a,e))}function v(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(T,i,h,p),s.ensureSingle(e,"text",f.headerArrowClassName,function(t){t.classed("user-select-none",!0).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)),m(t,e,r,n,i)}),a.on("mouseover",function(){a.call(w)}),a.on("mouseout",function(){a.call(k,i)}),o.setTranslate(e,l.lx,l.ly)}function m(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,v=0,m=o._dims,x=-1!==["up","down"].indexOf(o.direction);"dropdown"===o.type&&(x?v=m.headerHeight+f.gapButtonHeader:d=m.headerWidth+f.gapButtonHeader),"dropdown"===o.type&&"up"===o.direction&&(v=-f.gapButtonHeader+f.gapButton-m.openHeight),"dropdown"===o.type&&"left"===o.direction&&(d=-f.gapButtonHeader+f.gapButton-m.openWidth);var b={x:m.lx+d+o.pad.l,y:m.ly+v+o.pad.t,yPad:f.gapButton,xPad:f.gapButton,index:0},A={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(T,o,b),c.on("click",function(){n.event.defaultPrevented||(g(t,o,0,e,r,a,l),s.execute&&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(k,o),u.call(_,o)})}),u.call(_,o),x?(A.w=Math.max(m.openWidth,m.headerWidth),A.h=b.y-A.t):(A.w=b.x-A.l,A.h=Math.max(m.openHeight,m.headerHeight)),A.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;l0?[0]:[]);if(o.enter().append("g").classed(f.containerClassName,!0).style("cursor","pointer"),o.exit().each(function(){n.select(this).selectAll("g."+f.headerGroupClassName).each(a)}).remove(),0!==r.length){var l=o.selectAll("g."+f.headerGroupClassName).data(r,p);l.enter().append("g").classed(f.headerGroupClassName,!0);for(var c=s.ensureSingle(o,"g",f.dropdownButtonGroupClassName,function(t){t.style("pointer-events","all")}),u=0;uw,M=s.barLength+2*s.barPad,T=s.barWidth+2*s.barPad,S=d,C=v+m;C+T>c&&(C=c-T);var E=this.container.selectAll("rect.scrollbar-horizontal").data(A?[0]:[]);E.exit().on(".drag",null).remove(),E.enter().append("rect").classed("scrollbar-horizontal",!0).call(i.fill,s.barColor),A?(this.hbar=E.attr({rx:s.barRadius,ry:s.barRadius,x:S,y:C,width:M,height:T}),this._hbarXMin=S+M/2,this._hbarTranslateMax=w-M):(delete this.hbar,delete this._hbarXMin,delete this._hbarTranslateMax);var L=m>k,z=s.barWidth+2*s.barPad,O=s.barLength+2*s.barPad,I=d+g,D=v;I+z>l&&(I=l-z);var P=this.container.selectAll("rect.scrollbar-vertical").data(L?[0]:[]);P.exit().on(".drag",null).remove(),P.enter().append("rect").classed("scrollbar-vertical",!0).call(i.fill,s.barColor),L?(this.vbar=P.attr({rx:s.barRadius,ry:s.barRadius,x:I,y:D,width:z,height:O}),this._vbarYMin=D+O/2,this._vbarTranslateMax=k-O):(delete this.vbar,delete this._vbarYMin,delete this._vbarTranslateMax);var R=this.id,F=u-.5,B=L?f+z+.5:f+.5,N=h-.5,j=A?p+T+.5:p+.5,V=o._topdefs.selectAll("#"+R).data(A||L?[0]:[]);if(V.exit().remove(),V.enter().append("clipPath").attr("id",R).append("rect"),A||L?(this._clipRect=V.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:v,width:g,height:m})):(this.bg.attr({width:0,height:0}),this.container.on("wheel",null).on(".drag",null).call(a.setClipUrl,null),delete this._clipRect),A||L){var U=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(U);var q=n.behavior.drag().on("dragstart",function(){n.event.sourceEvent.preventDefault(),n.event.sourceEvent.stopPropagation()}).on("drag",this._onBarDrag.bind(this));A&&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":694,"../color":571,"../drawing":592,d3:149}],666:[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"}}},{}],667:[function(t,e,r){"use strict";e.exports={COMPARISON_OPS:["=","!=","<",">=",">","<="],COMPARISON_OPS2:["=","<",">=",">","<="],INTERVAL_OPS:["[]","()","[)","(]","][",")(","](",")["],SET_OPS:["{}","}{"],CONSTRAINT_REDUCTION:{"=":"=","<":"<","<=":"<",">":">",">=":">","[]":"[]","()":"[]","[)":"[]","(]":"[]","][":"][",")(":"][","](":"][",")[":"]["}}},{}],668:[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]}},{}],669:[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"}},{}],670:[function(t,e,r){"use strict";e.exports={SHOW_PLACEHOLDER:100,HIDE_PLACEHOLDER:1e3,DBLCLICKDELAY:300,DESELECTDIM:.2}},{}],671:[function(t,e,r){"use strict";e.exports={BADNUM:void 0,FP_SAFE:Number.MAX_VALUE/1e4,ONEAVGYEAR:315576e5,ONEAVGMONTH:26298e5,ONEDAY:864e5,ONEHOUR:36e5,ONEMIN:6e4,ONESEC:1e3,EPOCHJD:2440587.5,ALMOST_EQUAL:1-1e-6,LOG_CLIP:10,MINUS_SIGN:"\u2212"}},{}],672:[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}},{}],673:[function(t,e,r){"use strict";r.version="1.44.3",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;s1/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}},{}],676:[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-15}function c(t,e){return a(e-t,s)}function u(t,e){if(l(e))return!0;var r,n;e[0](n=i(n,s))&&(n+=s);var a=i(t,s),o=a+s;return a>=r&&a<=n||o>=r&&o<=n}function 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 v(t,e){return[t*Math.cos(e)+i,a-t*Math.sin(e)]}g?(u=0,f=o,h=s):r=i&&t<=a);var i,a},pathArc:function(t,e,r,n,i){return f(null,t,e,r,n,i,0)},pathSector:function(t,e,r,n,i){return f(null,t,e,r,n,i,1)},pathAnnulus:function(t,e,r,n,i,a){return f(t,e,r,n,i,a,1)}}},{"./mod":701}],677:[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;ii.max?e.set(r):e.set(+t)}},integer:{coerceFunction:function(t,e,r,i){t%1||!n(t)||void 0!==i.min&&ti.max?e.set(r):e.set(+t)}},string:{coerceFunction:function(t,e,r,n){if("string"!=typeof t){var i="number"==typeof t;!0!==n.strict&&i?e.set(String(t)):e.set(r)}else n.noBlank&&!t?e.set(r):e.set(t)}},color:{coerceFunction:function(t,e,r){i(t).isValid()?e.set(t):e.set(r)}},colorlist:{coerceFunction:function(t,e,r){Array.isArray(t)&&t.length&&t.every(function(t){return i(t).isValid()})?e.set(t):e.set(r)}},colorscale:{coerceFunction:function(t,e,r){e.set(o.get(t,r))}},angle:{coerceFunction:function(t,e,r){"auto"===t?e.set("auto"):n(t)?e.set(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=n&&t<=i?t:u}if("string"!=typeof t&&"number"!=typeof t)return u;t=String(t);var c=_(e),m=t.charAt(0);!c||"G"!==m&&"g"!==m||(t=t.substr(1),e="");var w=c&&"chinese"===e.substr(0,7),k=t.match(w?x:y);if(!k)return u;var A=k[1],M=k[3]||"1",T=Number(k[5]||1),S=Number(k[7]||0),C=Number(k[9]||0),E=Number(k[11]||0);if(c){if(2===A.length)return u;var L;A=Number(A);try{var z=v.getComponentMethod("calendars","getCal")(e);if(w){var O="i"===M.charAt(M.length-1);M=parseInt(M,10),L=z.newDate(A,z.toMonthIndex(A,M,O),T)}else L=z.newDate(A,Number(M),T)}catch(t){return u}return L?(L.toJD()-g)*f+S*h+C*p+E*d:u}A=2===A.length?(Number(A)+2e3-b)%100+b:Number(A),M-=1;var I=new Date(Date.UTC(2e3,M,T,S,C));return I.setUTCFullYear(A),I.getUTCMonth()!==M?u:I.getUTCDate()!==T?u:I.getTime()+E*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 k=90*f,A=3*h,M=5*p;function T(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,C=Math.floor(l(t,f));try{a=v.getComponentMethod("calendars","getCal")(r).fromJD(S).formatDate("yyyy-mm-dd")}catch(t){a=m("G%Y-%m-%d")(new Date(w))}if("-"===a.charAt(0))for(;a.length<11;)a="-0"+a.substr(1);else for(;a.length<10;)a="0"+a;o=e=n+f&&t<=i-f))return u;var e=Math.floor(10*l(t+.05,1)),r=new Date(Math.round(t-e/10));return T(a.time.format("%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 C(t,e,r,n){t=t.replace(S,function(t){var r=Math.min(+t.charAt(1)||6,6);return(e/1e3%1+2).toFixed(r).substr(2).replace(/0+$/,"")||"0"});var i=new Date(Math.floor(e+.05));if(_(n))try{t=v.getComponentMethod("calendars","worldCalFmt")(t,e,n)}catch(t){return"Invalid"}return r(t)(i)}var E=[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),E[e])).toFixed(e).substr(1);e>0&&(i=i.replace(/0+$/,"").replace(/[\.]$/,"")),n+=":"+i}return n}(t,r)+"\n"+C(a.dayMonthYear,t,n,i);e=a.dayMonth+"\n"+a.year}return C(e,t,n,i)};var 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=v.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)&&v.getComponentMethod("calendars","getCal")(e),u=0;u0&&(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;r1||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,v=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(v)},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.xo?r.x-o:0,f=r.yl?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;f0?p=i:h=i,f++}return a}},{"./mod":701}],690:[function(t,e,r){"use strict";e.exports=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}},{}],691:[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),u=1;function f(t,e){var r=t;return r[3]*=e,r}function h(t){if(n(t))return c;var e=a(t);return e.length?e:c}function p(t){return n(t)?t:u}e.exports={formatColor:function(t,e,r){var n,i,s,d,g,v=t.color,m=l(v),y=l(e),x=[];if(n=void 0!==t.colorscale?o.makeColorScaleFunc(o.extractScale(t,{cLetter:"c"})):h,i=m?function(t,e){return void 0===t[e]?c:a(n(t[e]))}:h,s=y?function(t,e){return void 0===t[e]?u:p(t[e])}:p,m||y)for(var b=0;bo?s:i(t)?Number(t):s:s},l.isIndex=function(t,e){return!(void 0!==e&&t>=e)&&(i(t)&&t>=0&&t%1==0)},l.noop=t("./noop"),l.identity=t("./identity"),l.repeat=function(t,e){for(var r=new Array(e),n=0;nr?Math.max(r,Math.min(e,t)):Math.max(e,Math.min(r,t))},l.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},l.simpleMap=function(t,e,r,n){for(var i=t.length,a=new Array(i),o=0;o=Math.pow(2,r)?i>10?(l.warn("randstr failed uniqueness"),c):t(e,r,n,(i||0)+1):c},l.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},l.smooth=function(t,e){if((e=Math.round(e)||0)<2)return t;var r,n,i,a,o=t.length,s=2*o,l=2*e-1,c=new Array(l),u=new Array(o);for(r=0;r=s&&(i-=s*Math.floor(i/s)),i<0?i=-1-i:i>=o&&(i=s-1-i),a+=t[i]*c[n];u[r]=a}return u},l.syncOrAsync=function(t,e,r){var n;function i(){return l.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,l.promiseError);return r&&r(e)},l.stripTrailingSlash=function(t){return"/"===t.substr(-1)?t.substr(0,t.length-1):t},l.noneOrAll=function(t,e,r){if(t){var n,i=!1,a=!0;for(n=0;n1?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};var T=/%{([^\s%{}:]*)(:[^}]*)?}/g,S=/^\w*$/;l.templateString=function(t,e){var r={};return t.replace(T,function(t,n){return S.test(n)?e[n]||"":(r[n]=r[n]||l.nestedProperty(e,n).get,r[n]()||"")})};var C=/^:/,E=0;l.hovertemplateString=function(t,e){var r=arguments,i={};return t.replace(T,function(t,a,o){var s,c,u;for(u=2;u=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 L=2e9;l.seedPseudoRandom=function(){L=2e9},l.pseudoRandom=function(){var t=L;return L=(69069*L+1)%4294967296,Math.abs(L-t)<429496729?l.pseudoRandom():L/4294967296}},{"../constants/numerical":671,"./anchor_utils":675,"./angles":676,"./array":677,"./clean_number":678,"./clear_responsive":680,"./coerce":681,"./dates":682,"./extend":684,"./filter_unique":685,"./filter_visible":686,"./geometry2d":689,"./get_graph_div":690,"./identity":693,"./is_plain_object":695,"./keyed_container":696,"./localize":697,"./loggers":698,"./make_trace_groups":699,"./matrix":700,"./mod":701,"./nested_property":702,"./noop":703,"./notifier":704,"./push_unique":708,"./regex":710,"./relative_attr":711,"./relink_private":712,"./search":713,"./stats":716,"./throttle":719,"./to_log_range":720,d3:149,"fast-isnumeric":215}],695:[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}},{}],696:[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;o2)return c[e]=2|c[e],h.set(t,null);if(f){for(o=e;o1){for(var t=["LOG:"],e=0;e0){for(var t=["WARN:"],e=0;e0){for(var t=["ERROR:"],e=0;ee/2?t-Math.round(t/e)*e:t}}},{}],702:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("./array").isArrayOrTypedArray;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,a,o,l=0,c=e.split(".");l/g),o=0;oa||c===i||cs||e&&l(t))}:function(t,e){var l=t[0],c=t[1];if(l===i||la||c===i||cs)return!1;var u,f,h,p,d,g=r.length,v=r[0][0],m=r[0][1],y=0;for(u=1;uMath.max(f,v)||c>Math.max(h,m)))if(cu||Math.abs(n(o,h))>i)return!0;return!1};a.filter=function(t,e){var r=[t[0]],n=0,i=0;function a(a){t.push(a);var s=r.length,l=n;r.splice(i+1);for(var c=l+1;c1&&a(t.pop());return{addPt:a,raw:t,filtered:r}}},{"../constants/numerical":671,"./matrix":700}],707:[function(t,e,r){(function(r){"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}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,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./show_no_webgl_msg":715,regl:480}],708:[function(t,e,r){"use strict";e.exports=function(t,e){if(e instanceof RegExp){for(var r=e.toString(),n=0;ni.queueLength&&(t.undoQueue.queue.shift(),t.undoQueue.index--))},startSequence:function(t){t.undoQueue=t.undoQueue||{index:0,queue:[],sequence:!1},t.undoQueue.sequence=!0,t.undoQueue.beginSequence=!0},stopSequence:function(t){t.undoQueue=t.undoQueue||{index:0,queue:[],sequence:!1},t.undoQueue.sequence=!1,t.undoQueue.beginSequence=!1},undo:function(t){var e,r;if(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=t.undoQueue.queue.length)){for(e=t.undoQueue.queue[t.undoQueue.index],t.undoQueue.inSequence=!0,r=0;re}function c(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,u,f=0,h=e.length,p=0,d=h>1?(e[h-1]-e[0])/(h-1):1;for(u=d>=0?r?o:s:r?c:l,t+=1e-9*d*(r?-1:1)*(d>=0?1:-1);f90&&i.log("Long binary search..."),f-1},r.sorterAsc=function(t,e){return t-e},r.sorterDes=function(t,e){return e-t},r.distinctVals=function(t){var e=t.slice();e.sort(r.sorterAsc);for(var n=e.length-1,i=e[n]-e[0]||1,a=i/(n||1)/1e4,o=[e[0]],s=0;se[s]+a&&(i=Math.min(i,e[s+1]-e[s]),o.push(e[s+1]));return{vals:o,minDiff:i}},r.roundUp=function(t,e,r){for(var n,i=0,a=e.length-1,o=0,s=r?0:1,l=r?1:0,c=r?Math.ceil:Math.floor;i0&&(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;ia.length)&&(o=a.length),n(e)||(e=!1),i(a[0])){for(l=new Array(o),s=0;st.length-1)return t[t.length-1];var r=e%1;return r*t[Math.ceil(e)]+(1-r)*t[Math.floor(e)]}},{"./array":677,"fast-isnumeric":215}],717:[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":109}],718:[function(t,e,r){"use strict";var n=t("d3"),i=t("../lib"),a=t("../constants/xmlns_namespaces"),o=t("../constants/alignment").LINE_SPACING;function s(t,e){return t.node().getBoundingClientRect()[e]}var l=/([^$]*)([$]+[^$]*[$]+)([^$]*)/;r.convertToTspans=function(t,e,T){var S=t.text(),E=!t.attr("data-notex")&&"undefined"!=typeof MathJax&&S.match(l),L=n.select(t.node().parentNode);if(!L.empty()){var z=t.attr("class")?t.attr("class").split(" ")[0]:"text";return z+="-math",L.selectAll("svg."+z).remove(),L.selectAll("g."+z+"-group").remove(),t.style("display",null).attr({"data-unformatted":S,"data-math":"N"}),E?(e&&e._promises||[]).push(new Promise(function(e){t.style("display","none");var r=parseInt(t.node().style.fontSize,10),a={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(c,"\\lt ").replace(u,"\\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)})}(E[2],a,function(n,i,a){L.selectAll("svg."+z).remove(),L.selectAll("g."+z+"-group").remove();var o=n&&n.select("svg");if(!o||!o.node())return O(),void e();var l=L.append("g").classed(z+"-group",!0).attr({"pointer-events":"none","data-unformatted":S,"data-math":"Y"});l.node().appendChild(o.node()),i&&i.node()&&o.node().insertBefore(i.node().cloneNode(!0),o.node().firstChild),o.attr({class:z,height:a.height,preserveAspectRatio:"xMinYMin meet"}).style({overflow:"visible","pointer-events":"none"});var c=t.node().style.fill||"black";o.select("g").attr({fill:c,stroke:c});var u=s(o,"width"),f=s(o,"height"),h=+t.attr("x")-u*{start:0,middle:.5,end:1}[t.attr("text-anchor")||"start"],p=-(r||s(t,"height"))/4;"y"===z[0]?(l.attr({transform:"rotate("+[-90,+t.attr("x"),+t.attr("y")]+") translate("+[-u/2,p-f/2]+")"}),o.attr({x:+t.attr("x"),y:+t.attr("y")})):"l"===z[0]?o.attr({x:t.attr("x"),y:p-f/2}):"a"===z[0]&&0!==z.indexOf("atitle")?o.attr({x:0,y:p}):o.attr({x:h,y:+t.attr("y")+p-f/2}),T&&T.call(t,l),e(l)})})):O(),t}function O(){L.empty()||(z=t.attr("class")+"-math",L.select("svg."+z).remove()),t.text("").style("white-space","pre"),function(t,e){e=e.replace(v," ");var r,s=!1,l=[],c=-1;function u(){c++;var e=document.createElementNS(a.svg,"tspan");n.select(e).attr({class:"line",dy:c*o+"em"}),t.appendChild(e),r=e;var i=l;if(l=[{node:e}],i.length>1)for(var s=1;s doesnt match end tag <"+t+">. Pretending it did match.",e),r=l[l.length-1].node}else i.log("Ignoring unexpected end tag .",e)}x.test(e)?u():(r=t,l=[{node:t}]);for(var L=e.split(m),z=0;z|>|>)/g;var f={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"},h={sub:"0.3em",sup:"-0.6em"},p={sub:"-0.21em",sup:"0.42em"},d="\u200b",g=["http:","https:","mailto:","",void 0,":"],v=/(\r\n?|\n)/g,m=/(<[^<>]*>)/,y=/<(\/?)([^ >]*)(\s+(.*))?>/i,x=//i,b=/(^|[\s"'])style\s*=\s*("([^"]*);?"|'([^']*);?')/i,_=/(^|[\s"'])href\s*=\s*("([^"]*)"|'([^']*)')/i,w=/(^|[\s"'])target\s*=\s*("([^"\s]*)"|'([^'\s]*)')/i,k=/(^|[\s"'])popup\s*=\s*("([\w=,]*)"|'([\w=,]*)')/i;function A(t,e){if(!t)return null;var r=t.match(e),n=r&&(r[3]||r[4]);return n&&C(n)}var M=/(^|;)\s*color:/;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(m),o=[],s="",l=0,c=0;ci?o.push(u.substr(0,d-i)+"..."):o.push(u.substr(0,d));break}s=""}}return o.join("")};var T={mu:"\u03bc",amp:"&",lt:"<",gt:">",nbsp:"\xa0",times:"\xd7",plusmn:"\xb1",deg:"\xb0"},S=/&(#\d+|#x[\da-fA-F]+|[a-z]+);/g;function C(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)):T[e])||t})}function E(t,e,r){var n,i,a,o=r.horizontalAlign,s=r.verticalAlign||"top",l=t.node().getBoundingClientRect(),c=e.node().getBoundingClientRect();return i="bottom"===s?function(){return l.bottom-n.height}:"middle"===s?function(){return l.top+(l.height-n.height)/2}:function(){return l.top},a="right"===o?function(){return l.right-n.width}:"center"===o?function(){return l.left+(l.width-n.width)/2}:function(){return l.left},function(){return n=this.node().getBoundingClientRect(),this.style({top:i()-c.top+"px",left:a()-c.left+"px","z-index":1e3}),this}}r.convertEntities=C,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(E(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(E(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":666,"../constants/xmlns_namespaces":672,"../lib":694,d3:149}],719:[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].tsa.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)}},{}],720:[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":215}],721:[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":771,"topojson-client":518}],722:[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"}}},{}],723:[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"}}},{}],724:[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;s0&&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,u=(s.subplotsRegistry.ternary||{}).attrRegex,d=(s.subplotsRegistry.gl3d||{}).attrRegex,g=Object.keys(t);for(e=0;e3?(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")),p(t),"rotate"===t.dragmode&&(t.dragmode="orbit"),f.clean(t),t.template&&t.template.layout&&r.cleanLayout(t.template.layout),t},r.cleanData=function(t){for(var e=0;e0)return t.substr(0,e)}r.hasParent=function(t,e){for(var r=x(e);r;){if(r in t)return!0;r=x(r)}return!1};var b=["x","y","z"];r.clearAxisTypes=function(t,e,r){for(var n=0;n1&&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(v,m),p(t),!0)}var x,b,_,w,k,A,M,T,S=Object.keys(r).map(Number).sort(o),C=e.get(),E=C||[],L=u(m,f).get(),z=[],O=-1,I=E.length;for(x=0;xE.length-(M?0:1))a.warn("index out of range",f,_);else if(void 0!==A)k.length>1&&a.warn("Insertion & removal are incompatible with edits to the same index.",f,_),c(A)?z.push(_):M?("add"===A&&(A={}),E.splice(_,0,A),L&&L.splice(_,0,{})):a.warn("Unrecognized full object edit value",f,_,A),-1===O&&(O=_);else for(b=0;b=0;x--)E.splice(z[x],1),L&&L.splice(z[x],1);if(E.length?C||e.set(E):e.set(null),g)return!1;if(h(v,m),d!==i){var D;if(-1===O)D=S;else{for(I=Math.max(E.length,I),D=[],x=0;x=O);x++)D.push(_);for(x=O;x=t.data.length||i<-t.data.length)throw new Error(r+" must be valid indices for gd.data.");if(e.indexOf(i,n+1)>-1||i>=0&&e.indexOf(-t.data.length+i)>-1||i<0&&e.indexOf(t.data.length+i)>-1)throw new Error("each index in "+r+" must be unique.")}}function D(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]),I(t,e,"currentIndices"),"undefined"==typeof r||Array.isArray(r)||(r=[r]),"undefined"!=typeof r&&I(t,r,"newIndices"),"undefined"!=typeof r&&e.length!==r.length)throw new Error("current and new indices must be of equal length.")}function P(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 I(t,r,"indices"),e){if(!Array.isArray(e[a])||e[a].length!==r.length)throw new Error("attribute "+a+" must be an array of length equal to indices array length");if(i&&(!(a in n)||!Array.isArray(n[a])||n[a].length!==e[a].length))throw new Error("when maxPoints is set as a key:value object it must contain a 1:1 corrispondence with the keys and number of traces in the update object")}}(t,e,r,n);for(var l=function(t,e,r,n){var a,l,c,u,f,h=o.isPlainObject(n),p=[];for(var d in Array.isArray(r)||(r=[r]),r=O(r,t.data.length-1),e)for(var g=0;g-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),k.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(A.layoutReplot):Object.keys(n).length&&(H(t,a,i)||h.supplyDefaults(t),a.legend&&s.push(A.doLegend),a.layoutstyle&&s.push(A.layoutStyles),a.axrange&&G(s,i.rangesAltered),a.ticks&&s.push(A.doTicksRelayout),a.modebar&&s.push(A.doModeBar),a.camera&&s.push(A.doCamera),s.push(C)),s.push(h.rehover),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;if(!e.axrange)return!1;for(n in e)if("axrange"!==n&&e[n])return!1;for(n in r.rangesAltered){var i=d.id2name(n),a=t.layout[i],o=t._fullLayout[i];o.autorange=a.autorange,o.range=a.range.slice(),o.cleanRange()}return!0}function G(t,e){var r=e?function(t){var r={skipTitle:!0};for(var n in e)if(d.getFromId(t,n).automargin){r={};break}return d.draw(t,Object.keys(e),r)}:function(t){return d.draw(t,"redraw")};t.push(A.doAutoRangeAndConstraints,r,A.drawData,A.finalDraw)}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),z(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);if(Array.isArray(e)&&(k.cleanData(e),f?t.data=e:t.data.push.apply(t.data,e),t.empty=!1),t.layout&&!f||(t.layout=k.cleanLayout(i)),t._dragging&&!t._transitioning)return t._replotPending=!0,Promise.reject();t._replotPending=!1,h.supplyDefaults(t);var v=t._fullLayout,x=v._has("cartesian");if(!v._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(b.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(b.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);v._replotting=!0,f&&st(t),t.framework!==st&&(t.framework=st,st(t)),g.initGradients(t),f&&d.saveShowSpikeInitial(t);var _=!t.calcdata||t.calcdata.length!==(t._fullData||[]).length;_&&h.doCalcdata(t);for(var w=0;w=0&&r=0&&r0&&"string"!=typeof I.parts[P];)P--;var R=I.parts[P],F=I.parts[P-1]+"."+R,j=I.parts.slice(0,P).join("."),V=s(t.layout,j).get(),q=s(l,j).get(),H=I.get();if(void 0!==D){A[O]=D,S[O]="reverse"===R?D:B(H);var G=f.getLayoutValObject(l,I.parts);if(G&&G.impliedEdits&&null!==D)for(var Z in G.impliedEdits)C(o.relativeAttr(O,Z),G.impliedEdits[Z]);if(-1!==["width","height"].indexOf(O))if(D){C("autosize",null);var J="height"===O?"width":"height";C(J,l[J])}else l[O]=t._initialAutoSize[O];else if("autosize"===O)C("width",D?null:l.width),C("height",D?null:l.height);else if(F.match(W))z(F),s(l,j+"._inputRange").set(null);else if(F.match(Y)){z(F),s(l,j+"._inputRange").set(null);var K=s(l,j).get();K._inputDomain&&(K._input.domain=K._inputDomain.slice())}else F.match(X)&&s(l,j+"._inputDomain").set(null);if("type"===R){var Q=V,tt="linear"===q.type&&"log"===D,et="log"===q.type&&"linear"===D;if(tt||et){if(Q&&Q.range)if(q.autorange)tt&&(Q.range=Q.range[1]>Q.range[0]?[1,2]:[2,1]);else{var rt=Q.range[0],nt=Q.range[1];tt?(rt<=0&&nt<=0&&C(j+".autorange",!0),rt<=0?rt=nt/1e6:nt<=0&&(nt=rt/1e6),C(j+".range[0]",Math.log(rt)/Math.LN10),C(j+".range[1]",Math.log(nt)/Math.LN10)):(C(j+".range[0]",Math.pow(10,rt)),C(j+".range[1]",Math.pow(10,nt)))}else C(j+".autorange",!0);Array.isArray(l._subplots.polar)&&l._subplots.polar.length&&l[I.parts[0]]&&"radialaxis"===I.parts[1]&&delete l[I.parts[0]]._subplot.viewInitial["radialaxis.range"],u.getComponentMethod("annotations","convertCoords")(t,q,D,C),u.getComponentMethod("images","convertCoords")(t,q,D,C)}else C(j+".autorange",!0),C(j+".range",null);s(l,j+"._inputRange").set(null)}else if(R.match(T)){var it=s(l,O).get(),at=(D||{}).type;at&&"-"!==at||(at="linear"),u.getComponentMethod("annotations","convertCoords")(t,it,at,C),u.getComponentMethod("images","convertCoords")(t,it,at,C)}var ot=w.containerArrayMatch(O);if(ot){r=ot.array,n=ot.index;var st=ot.property,lt=G||{editType:"calc"};""!==n&&""===st&&(w.isAddVal(D)?S[O]=null:w.isRemoveVal(D)?S[O]=(s(a,r).get()||[])[n]:o.warn("unrecognized full object value",e)),M.update(_,lt),m[r]||(m[r]={});var ct=m[r][n];ct||(ct=m[r][n]={}),ct[st]=D,delete e[O]}else"reverse"===R?(V.range?V.range.reverse():(C(j+".autorange",!0),V.range=[1,0]),q.autorange?_.calc=!0:_.plot=!0):(l._has("scatter-like")&&l._has("regl")&&"dragmode"===O&&("lasso"===D||"select"===D)&&"lasso"!==H&&"select"!==H?_.plot=!0:G?M.update(_,G):_.calc=!0,I.set(D))}}for(r in m){w.applyContainerArrayChanges(t,h(a,r),m[r],_,h)||(_.plot=!0)}var ut=l._axisConstraintGroups||[];for(E in L)for(n=0;n1;)if(n.pop(),void 0!==(r=s(e,n.join(".")+".uirevision").get()))return r;return e.uirevision}function nt(t,e){for(var r=0;r=i.length?i[0]:i[t]:i}function l(t){return Array.isArray(a)?t>=a.length?a[0]:a[t]:a}function c(t,e){var r=0;return function(){if(t&&++r===e)return t()}}return void 0===n._frameWaitingCnt&&(n._frameWaitingCnt=0),new Promise(function(a,u){function 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,k.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,v=0;function m(t){return Array.isArray(i)?v>=i.length?t.transitionOpts=i[v]:t.transitionOpts=i[0]:t.transitionOpts=i,v++,t}var y=[],x=null==e,b=Array.isArray(e);if(!x&&!b&&o.isPlainObject(e))y.push({type:"object",data:m(o.extendFlat({},e))});else if(x||-1!==["string","number"].indexOf(typeof e))for(d=0;d0&&AA)&&M.push(g);y=M}}y.length>0?function(e){if(0!==e.length){for(var i=0;i=0;n--)if(o.isPlainObject(e[n])){var g=e[n].name,v=(u[g]||d[g]||{}).name,m=e[n].name,y=u[v]||d[v];v&&m&&"number"==typeof m&&y&&S<5&&(S++,o.warn('addFrames: overwriting frame "'+(u[v]||d[v]).name+'" with a frame whose name of type "number" also equates to "'+v+'". 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=0;n--){if("number"==typeof(i=p[n].frame).name&&o.warn("Warning: addFrames accepts frames with numeric names, but the numbers areimplicitly cast to strings"),!i.name)for(;u[i.name="frame "+t._transitionData._counter++];);if(u[i.name]){for(a=0;a=0;r--)n=e[r],a.push({type:"delete",index:n}),s.unshift({type:"insert",index:n,value:i[n]});var l=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.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}},{"../components/color":571,"../components/colorbar/connect":573,"../components/drawing":592,"../constants/xmlns_namespaces":672,"../lib":694,"../lib/events":683,"../lib/queue":709,"../lib/svg_text_utils":718,"../plots/cartesian/axes":742,"../plots/cartesian/constants":748,"../plots/cartesian/graph_interact":752,"../plots/plots":806,"../plots/polar/legacy":814,"../registry":825,"./edit_types":725,"./helpers":726,"./manage_arrays":728,"./plot_config":730,"./plot_schema":731,"./subroutines":733,d3:149,"fast-isnumeric":215,"has-hover":396}],730:[function(t,e,r){"use strict";var n={staticPlot:{valType:"boolean",dflt:!1},plotlyServerURL:{valType:"string",dflt:"https://plot.ly"},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"},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},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:"boolean",dflt:1},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}},{}],731:[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,v="_isSubplotObj",m="_isLinkedToArray",y=[v,m,"_arrayAttrRegexps","_deprecated"];function x(t,e,r){if(!t)return!1;if(t._isLinkedToArray)if(b(e[r]))r++;else if(r=a.length)return!1;if(2===t.dimensions){if(r++,e.length===r)return t;var o=e[r];if(!b(o))return!1;t=a[i][o]}else t=a[i]}else t=a}}return t}function b(t){return t===Math.round(t)&&t>=0}function _(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)return;var n=t[m];if(!n)return;delete t[m],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=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 x(i,e,s)},r.getLayoutValObject=function(t,e){return x(function(t,e){var r,i,a,s,l=t._basePlotModules;if(l){var c;for(r=0;r=i&&(r._input||{})._templateitemname;s&&(o=i);var l,c=e+"["+o+"]";function u(){l={},s&&(l[c]={},l[c][a]=s)}function f(t,e){s?n.nestedProperty(l[c],t).set(e):l[c+"."+t]=e}function h(){var t=l;return u(),t}return u(),{modifyBase:function(t,e){l[t]=e},modifyItem:f,getUpdateObj:h,applyUpdate:function(e,r){e&&f(e,r);var i=h();for(var a in i)n.nestedProperty(t,a).set(i[a])}}}},{"../lib":694,"../plots/attributes":739}],733:[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,v=d.clean,m=t("../plots/cartesian/autorange").doAutoRange,y="start",x="middle",b="end";function _(t,e,r){for(var n=0;n=t[1]||i[1]<=t[0])&&(a[0]e[0]))return!0}return!1}function w(t){var e,i,a,s,u,d,g=t._fullLayout,v=g._size,m=v.p,y=h.list(t,"",!0);if(g._paperdiv.style({width:t._context.responsive&&g.autosize&&!t._context._hasZeroWidth&&!t.layout.width?"100%":g.width+"px",height:t._context.responsive&&g.autosize&&!t._context._hasZeroHeight&&!t.layout.height?"100%":g.height+"px"}).selectAll(".main-svg").call(c.setSize,g.width,g.height),t._context.setBackground(t,g.paper_bgcolor),r.drawMainTitle(t),f.manage(t),!g._has("cartesian"))return t._promises.length&&Promise.all(t._promises);function x(t,e,r){var n=t._lw/2;return"x"===t._id.charAt(0)?e?"top"===r?e._offset-m-n:e._offset+e._length+m+n:v.t+v.h*(1-(t.position||0))+n%1:e?"right"===r?e._offset+e._length+m+n:e._offset-m-n:v.l+v.w*(t.position||0)+n%1}for(e=0;ek?u.push({code:"unused",traceType:y,templateCount:w,dataCount:k}):k>w&&u.push({code:"reused",traceType:y,templateCount:w,dataCount:k})}}else u.push({code:"data"});if(function t(e,r){for(var n in e)if("_"!==n.charAt(0)){var a=e[n],o=p(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)&&d(a)&&t(a,o)}}({data:v,layout:h},""),u.length)return u.map(g)}},{"../lib":694,"../plots/attributes":739,"../plots/plots":806,"./plot_config":730,"./plot_schema":731,"./plot_template":732}],735:[function(t,e,r){"use strict";var n=t("./plot_api"),i=t("../lib"),a=t("../snapshot/helpers"),o=t("../snapshot/tosvg"),s=t("../snapshot/svgtoimg"),l={format:{valType:"enumerated",values:["png","jpeg","webp","svg"],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}},c=/^data:image\/\w+;base64,/;e.exports=function(t,e){var r,u,f;function h(t){return!(t in e)||i.validate(e[t],l[t])}if(e=e||{},i.isPlainObject(t)?(r=t.data||[],u=t.layout||{},f=t.config||{}):(t=i.getGraphDiv(t),r=i.extendDeep([],t.data),u=i.extendDeep({},t.layout),f=t._context),!h("width")||!h("height"))throw new Error("Height and width should be pixel values.");if(!h("format"))throw new Error("Image format is not jpeg, png, svg or webp.");var p={};function d(t,r){return i.coerce(e,p,l,t,r)}var g=d("format"),v=d("width"),m=d("height"),y=d("scale"),x=d("setBackground"),b=d("imageDataOnly"),_=document.createElement("div");_.style.position="absolute",_.style.left="-5000px",document.body.appendChild(_);var w=i.extendFlat({},u);v&&(w.width=v),m&&(w.height=m);var k=i.extendFlat({},f,{_exportedPlot:!0,staticPlot:!0,setBackground:x}),A=a.getRedrawFunc(_);function M(){return new Promise(function(t){setTimeout(t,a.getDelay(_._fullLayout))})}function T(){return new Promise(function(t,e){var r=o(_,g,y),a=_._fullLayout.width,l=_._fullLayout.height;if(n.purge(_),document.body.removeChild(_),"svg"===g)return t(b?r:"data:image/svg+xml,"+encodeURIComponent(r));var c=document.createElement("canvas");c.id=i.randstr(),s({format:g,width:a,height:l,scale:y,canvas:c,svg:r,promise:!0}).then(t).catch(e)})}return new Promise(function(t,e){n.plot(_,r,w,k).then(A).then(M).then(T).then(function(e){t(function(t){return b?t.replace(c,""):t}(e))}).catch(function(t){e(t)})})}},{"../lib":694,"../snapshot/helpers":829,"../snapshot/svgtoimg":831,"../snapshot/tosvg":833,"./plot_api":729}],736:[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;hx.length&&i.push(p("unused",a,m.concat(x.length)));var A,M,T,S,C,E=x.length,L=Array.isArray(k);if(L&&(E=Math.min(E,k.length)),2===b.dimensions)for(M=0;Mx[M].length&&i.push(p("unused",a,m.concat(M,x[M].length)));var z=x[M].length;for(A=0;A<(L?Math.min(z,k[M].length):z);A++)T=L?k[M][A]:k,S=y[M][A],C=x[M][A],n.validate(S,T)?C!==S&&C!==+S&&i.push(p("dynamic",a,m.concat(M,A),S,C)):i.push(p("value",a,m.concat(M,A),S))}else i.push(p("array",a,m.concat(M),y[M]));else for(M=0;M1&&h.push(p("object","layout"))),i.supplyDefaults(d);for(var g=d._fullData,v=r.length,m=0;m0&&((b=M-o(v)-o(m))>T?_/b>S&&(y=v,x=m,S=_/b):_/M>S&&(y={val:v.val,pad:0},x={val:m.val,pad:0},S=_/M));if(h===p){var C=h-1,E=h+1;if(k)if(0===h)a=[0,1];else{var L=(h>0?f:u).reduce(function(t,e){return Math.max(t,o(e))},0),z=h/(1-Math.min(.5,L/M));a=h>0?[0,z]:[z,0]}else a=A?[Math.max(0,C),Math.max(1,E)]:[C,E]}else k?(y.val>=0&&(y={val:0,pad:0}),x.val<=0&&(x={val:0,pad:0})):A&&(y.val-S*o(y)<0&&(y={val:0,pad:0}),x.val<=0&&(x={val:1,pad:0})),S=(x.val-y.val)/(M-o(y)-o(x)),a=[y.val-S*o(y),x.val+S*o(x)];return d&&a.reverse(),i.simpleMap(a,e.l2r||Number)}function l(t){var e=t._length/20;return"domain"===t.constrain&&t._inputDomain&&(e*=(t._inputDomain[1]-t._inputDomain[0])/(t.domain[1]-t.domain[0])),function(t){return t.pad+(t.extrapad?e:0)}}function c(t,e){var r,n,i,a=e._id,o=t._fullData,s=t._fullLayout,l=[],c=[];function h(t,e){for(r=0;r=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 p(t){return n(t)&&Math.abs(t)=e}e.exports={getAutoRange:s,makePadFn:l,doAutoRange:function(t,e){if(e.autorange){e.range=s(t,e),e._r=e.range.slice(),e._rl=i.simpleMap(e._r,e.r2l);var r=e._input,n={};n[e._attr+".range"]=e.range,n[e._attr+".autorange"]=e.autorange,o.call("_storeDirectGUIEdit",t.layout,t._fullLayout._preGUI,n),r.range=e.range.slice(),r.autorange=e.autorange}var a=e._anchorAxis;if(a&&a.rangeslider){var l=a.rangeslider[e._name];l&&"auto"===l.rangemode&&(l.range=s(t,e)),a._input.rangeslider[e._name]=i.extendFlat({},l)}},findExtremes:function(t,e,r){r||(r={});t._m||t.setScale();var i,o,s,l,c,h,d,g,v,m=[],y=[],x=e.length,b=r.padded||!1,_=r.tozero&&("linear"===t.type||"-"===t.type),w="log"===t.type,k=!1;function A(t){if(Array.isArray(t))return k=!0,function(e){return Math.max(Number(t[e]||0),0)};var e=Math.max(Number(t||0),0);return function(){return e}}var M=A((t._m>0?r.ppadplus:r.ppadminus)||r.ppad||0),T=A((t._m>0?r.ppadminus:r.ppadplus)||r.ppad||0),S=A(r.vpadplus||r.vpad),C=A(r.vpadminus||r.vpad);if(!k){if(g=1/0,v=-1/0,w)for(i=0;i0&&(g=o),o>v&&o-a&&(g=o),o>v&&o=z;i--)L(i);return{min:m,max:y,opts:r}},concatExtremes:c}},{"../../constants/numerical":671,"../../lib":694,"../../registry":825,"fast-isnumeric":215}],742:[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=t("../../lib/svg_text_utils"),c=t("../../components/titles"),u=t("../../components/color"),f=t("../../components/drawing"),h=t("./layout_attributes"),p=t("./clean_ticks"),d=t("../../constants/numerical"),g=d.ONEAVGYEAR,v=d.ONEAVGMONTH,m=d.ONEDAY,y=d.ONEHOUR,x=d.ONEMIN,b=d.ONESEC,_=d.MINUS_SIGN,w=d.BADNUM,k=t("../../constants/alignment").MID_SHIFT,A=t("../../constants/alignment").LINE_SPACING,M=e.exports={};M.setConvert=t("./set_convert");var T=t("./axis_autotype"),S=t("./axis_ids");M.id2name=S.id2name,M.name2id=S.name2id,M.cleanId=S.cleanId,M.list=S.list,M.listIds=S.listIds,M.getFromId=S.getFromId,M.getFromTrace=S.getFromTrace;var C=t("./autorange");M.getAutoRange=C.getAutoRange,M.findExtremes=C.findExtremes,M.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]||a),a||(a=i),u[c]={valType:"enumerated",values:l.concat(a?[a]:[]),dflt:i},s.coerce(t,e,u,c)},M.coercePosition=function(t,e,r,n,i,a){var o,l;if("paper"===n||"pixel"===n)o=s.ensureNumber,l=r(i,a);else{var c=M.getFromId(e,n);l=r(i,a=c.fraction2r(a)),o=c.cleanPos}t[i]=o(l)},M.cleanPosition=function(t,e,r){return("paper"===r||"pixel"===r?s.ensureNumber:M.getFromId(e,r).cleanPos)(t)},M.redrawComponents=function(t,e){e=e||M.listIds(t);var r=t._fullLayout;function n(n,i,a,s){for(var l=o.getComponentMethod(n,i),c={},u=0;u2e-6||((r-t._forceTick0)/t._minDtick%1+1.000001)%1>2e-6)&&(t._minDtick=0)):t._minDtick=0},M.saveRangeInitial=function(t,e){for(var r=M.list(t,"",!0),n=!1,i=0;i.3*h||u(n)||u(a))){var p=r.dtick/2;t+=t+p.8){var o=Number(r.substr(1));a.exactYears>.8&&o%12==0?t=M.tickIncrement(t,"M6","reverse")+1.5*m:a.exactMonths>.8?t=M.tickIncrement(t,"M1","reverse")+15.5*m:t-=m/2;var l=M.tickIncrement(t,r);if(l<=n)return l}return t}(x,t,y,c,a)),v=x,0;v<=u;)v=M.tickIncrement(v,y,!1,a),0;return{start:e.c2r(x,0,a),end:e.c2r(v,0,a),size:y,_dataSpan:u-c}},M.prepTicks=function(t){var e=s.simpleMap(t.range,t.r2l);if("auto"===t.tickmode||!t.dtick){var r,n=t.nticks;n||("category"===t.type||"multicategory"===t.type?(r=t.tickfont?1.2*(t.tickfont.size||12):15,n=t._length/r):(r="y"===t._id.charAt(0)?40:80,n=s.constrain(t._length/r,4,9)+1),"radialaxis"===t._name&&(n*=2)),"array"===t.tickmode&&(n*=100),M.autoTicks(t,Math.abs(e[1]-e[0])/n),t._minDtick>0&&t.dtick<2*t._minDtick&&(t.dtick=t._minDtick,t.tick0=t.l2r(t._forceTick0))}t.tick0||(t.tick0="date"===t.type?"2000-01-01":0),"date"===t.type&&t.dtick<.1&&(t.dtick=.1),j(t)},M.calcTicks=function(t){M.prepTicks(t);var e=s.simpleMap(t.range,t.r2l);if("array"===t.tickmode)return function(t){var e=t.tickvals,r=t.ticktext,n=new Array(e.length),i=s.simpleMap(t.range,t.r2l),a=1.0001*i[0]-1e-4*i[1],o=1.0001*i[1]-1e-4*i[0],l=Math.min(a,o),c=Math.max(a,o),u=0;Array.isArray(r)||(r=[]);var f="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 h=0;hl&&p=n:c<=n)&&!(a.length>l||c===o);c=M.tickIncrement(c,t.dtick,i,t.calendar))o=c,a.push(c);et(t)&&360===Math.abs(e[1]-e[0])&&a.pop(),t._tmax=a[a.length-1],t._prevDateHead="",t._inCalcTicks=!0;for(var u=new Array(a.length),f=0;f10||"01-01"!==n.substr(5)?t._tickround="d":t._tickround=+e.substr(1)%12==0?"y":"m";else if(e>=m&&a<=10||e>=15*m)t._tickround="d";else if(e>=x&&a<=16||e>=y)t._tickround="M";else if(e>=b&&a<=19||e>=x)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);Math.abs(c)>3&&(q(t.exponentformat)&&!H(c)?t._tickexponent=3*Math.round((c-1)/3):t._tickexponent=c)}else t._tickround=null}function V(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}}M.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);var a=2*e;a>g?(e/=g,r=n(10),t.dtick="M"+12*N(e,r,O)):a>v?(e/=v,t.dtick="M"+N(e,1,I)):a>m?(t.dtick=N(e,m,P),t.tick0=s.dateTick0(t.calendar,!0)):a>y?t.dtick=N(e,y,I):a>x?t.dtick=N(e,x,D):a>b?t.dtick=N(e,b,D):(r=n(10),t.dtick=N(e,r,O))}else if("log"===t.type){t.tick0=0;var o=s.simpleMap(t.range,t.r2l);if(e>.7)t.dtick=Math.ceil(e);else if(Math.abs(o[1]-o[0])<1){var l=1.5*Math.abs((o[1]-o[0])/e);e=Math.abs(Math.pow(10,o[1])-Math.pow(10,o[0]))/l,r=n(10),t.dtick="L"+N(e,r,O)}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))):et(t)?(t.tick0=0,r=1,t.dtick=N(e,r,B)):(t.tick0=0,r=n(10),t.dtick=N(e,r,O));if(0===t.dtick&&(t.dtick=1),!i(t.dtick)&&"string"!=typeof t.dtick){var c=t.dtick;throw t.dtick=1,"ax.dtick error: "+String(c)}},M.tickIncrement=function(t,e,r,a){var o=r?-1:1;if(i(e))return 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?F:R,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)},M.tickFirst=function(t){var e=t.r2l||Number,r=s.simpleMap(t.range,e),a=r[1]"+l,t._prevDateHead=l));e.text=c}(t,a,r,l):"log"===c?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=G(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||q(p)&&H(f)?(e.text=0===f?1:1===f?"10":"10"+(f>1?"":_)+h+"",e.fontSize*=1.25):("e"===p||"E"===p)&&h>2?e.text="1"+p+(f>0?"+":_)+h:(e.text=G(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,a,0,l,d):"category"===c?function(t,e){var r=t._categories[Math.round(e.x)];void 0===r&&(r="");e.text=String(r)}(t,a):"multicategory"===c?function(t,e,r){var n=Math.round(e.x),i=t._categories[n]||[],a=void 0===i[1]?"":String(i[1]),o=void 0===i[0]?"":String(i[0]);r?e.text=o+" - "+a:(e.text=a,e.text2=o)}(t,a,r):et(t)?function(t,e,r,n,i){if("radians"!==t.thetaunit||r)e.text=G(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){var r=1;for(;!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=G(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=["",o[0],"","\u2044","",o[1],"","\u03c0"].join(""),l&&(e.text=_+e.text)}}}}(t,a,r,l,d):function(t,e,r,n,i){"never"===i?i="":"all"===t.showexponent&&Math.abs(e.x/t.dtick)<1e-6&&(i="hide");e.text=G(e.x,t,i,n)}(t,a,0,l,d),t.tickprefix&&!p(t.showtickprefix)&&(a.text=t.tickprefix+a.text),t.ticksuffix&&!p(t.showticksuffix)&&(a.text+=t.ticksuffix),"boundaries"===t.tickson||t.showdividers){var g=function(e){var r=t.l2p(e);return r>=0&&r<=t._length?e:null};a.xbnd=[g(a.x-.5),g(a.x+t.dtick-.5)]}return a},M.hoverLabelText=function(t,e,r){if(r!==w&&r!==e)return M.hoverLabelText(t,e)+" - "+M.hoverLabelText(t,r);var n="log"===t.type&&e<=0,i=M.tickText(t,t.c2l(n?-e:e),"hover").text;return n?0===e?"0":_+i:i};var U=["f","p","n","\u03bc","m","","k","M","G","T"];function q(t){return"SI"===t||"B"===t}function H(t){return t>14||t<-15}function G(t,e,r,n){var a=t<0,o=e._tickround,l=r||e.exponentformat||"B",c=e._tickexponent,u=M.getTickFormat(e),f=e.separatethousands;if(n){var h={exponentformat:l,dtick:"none"===e.showexponent?e.dtick:i(t)&&Math.abs(t)||1,range:"none"===e.showexponent?e.range.map(e.r2d):[0,t||1]};j(h),o=(Number(h._tickround)||0)+4,c=h._tickexponent,e.hoverformat&&(u=e.hoverformat)}if(u)return e._numFormat(u)(t).replace(/-/g,_);var p,d=Math.pow(10,-o)/2;if("none"===l&&(c=0),(t=Math.abs(t))"+p+"":"B"===l&&9===c?t+="B":q(l)&&(t+=U[c/3+5]));return a?_+t:t}function W(t,e){var r=t._id.charAt(0),n=t._tickAngles[e]||0,i=s.deg2rad(n),a=Math.sin(i),o=Math.cos(i),l=0,c=0;return t._selections[e].each(function(){var t=Z(this),e=f.bBox(t.node()),r=e.width,n=e.height;l=Math.max(l,o*r,a*n),c=Math.max(c,a*r,o*n)}),{x:c,y:l}[r]}function Y(t){return[t.text,t.x,t.axInfo,t.font,t.fontSize,t.fontColor].join("_")}function X(t,e){var r=t.l2p(e);return r>1&&r=0,a=u(t,e[1])<=0;return(r||i)&&(n||a)}if(t.tickformatstops&&t.tickformatstops.length>0)switch(t.type){case"date":case"linear":for(e=0;e=o(i)))){r=n;break}break;case"log":for(e=0;e0&&(r[i]+=l),e.title.text!==h._dfltTitle[d]&&(r[i]+=e.title.font.size)}a.autoMargin(t,$(e),r)}),r.skipTitle||et&&e._boundingBox&&"bottom"===e.side||Z.push(function(){return function(t,e){var r,n,i,a,o,s,l=t._fullLayout,u=e._id,h=u.charAt(0),p=l._size,d=e.title.font.size;if("multicategory"===e.type)r=e._labelLength;else{r=10+1.5*d+(e.linewidth?e.linewidth-1:0)}"x"===h?(i="free"===e.anchor?{_offset:p.t+(1-(e.position||0))*p.h,_length:0}:S.getFromId(t,e.anchor),a=e._offset+e._length/2,o="top"===e.side?-r-d*(e.showticklabels?1:0):i._length+r+d*(e.showticklabels?1.5:.5),o+=i._offset):(i="free"===e.anchor?{_offset:p.l+(e.position||0)*p.w,_length:0}:S.getFromId(t,e.anchor),o=e._offset+e._length/2,a="right"===e.side?i._length+r+d*(e.showticklabels?1:.5):-r-d*(e.showticklabels?.5:0),a+=i._offset,n={rotate:"-90",offset:0});if("multicategory"!==e.type){var g=e._selections[e._id+"tick"];if(s={selection:g,side:e.side},g&&g.node()&&g.node().parentNode){var v=f.getTranslate(g.node().parentNode);s.offsetLeft=v.x,s.offsetTop=v.y}}return c.draw(t,u+"title",{propContainer:e,propName:e._name+".title.text",placeholder:l._dfltTitle[h],avoid:s,transform:n,attributes:{x:a,y:o,"text-anchor":"middle"}})}(t,e)}),s.syncOrAsync(Z)}function rt(t,e){t[0]=Math.min(t[0],e[0]),t[1]=Math.max(t[1],e[1])}},M.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})),i},M.makeTransFn=function(t){var e=t._id.charAt(0),r=t._offset;return"x"===e?function(e){return"translate("+(r+t.l2p(e.x))+",0)"}:function(e){return"translate(0,"+(r+t.l2p(e.x))+")"}},M.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},M.makeLabelFns=function(t,e,r){var n=t._id.charAt(0),a=(t.linewidth||1)/2,o="boundaries"!==t.tickson&&"outside"===t.ticks,l=o?t.ticklen:0,c=0;if(r&&"outside"===t.ticks){var u=s.deg2rad(r);l=t.ticklen*Math.cos(u)+1,c=t.ticklen*Math.sin(u)}t.showticklabels&&(o||t.showline)&&(l+=.2*t.tickfont.size);var f,h,p,d,g={labelStandoff:l,labelShift:c};return"x"===n?(d="bottom"===t.side?1:-1,f=c*d,h=e+(l+a)*d,p="bottom"===t.side?1:-.2,g.labelXFn=function(t){return t.dx+f},g.labelYFn=function(t){return t.dy+h+t.fontSize*p},g.labelAnchorFn=function(t){return i(t)&&0!==t&&180!==t?t*d<0?"end":"start":"middle"}):"y"===n&&(d="right"===t.side?1:-1,f=l+a,h=-c*d,p=90===Math.abs(t.tickangle)?.5:0,g.labelXFn=function(t){return t.dx+e+(f+t.fontSize*p)*d},g.labelYFn=function(t){return t.dy+h+t.fontSize*k},g.labelAnchorFn=function(e){return i(e)&&90===Math.abs(e)?"middle":"right"===t.side?"start":"end"}),g},M.drawTicks=function(t,e,r){r=r||{};var n=e._id+"tick",i=r.layer.selectAll("path."+n).data(e.ticks?r.vals:[],Y);i.exit().remove(),i.enter().append("path").classed(n,1).classed("ticks",1).classed("crisp",!1!==r.crisp).call(u.stroke,e.tickcolor).style("stroke-width",f.crispRound(t,e.tickwidth,1)+"px").attr("d",r.path),i.attr("transform",r.transFn)},M.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&&M.shouldShowZeroLine(t,e,a))for(var o="array"===e.tickmode,s=0;s1)for(n=1;n2*o}(t,e)?"date":function(t){for(var e=Math.max(1,(t.length-1)/1e3),r=0,n=0,o={},s=0;s2*r}(t)?"category":function(t){if(!t)return!1;for(var e=0;en?1:-1:+(t.substr(1)||1)-+(e.substr(1)||1)}},{"../../registry":825,"./constants":748}],746:[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;ns*x)||k)for(r=0;rI&&Rz&&(z=R);p/=(z-L)/(2*O),L=u.l2r(L),z=u.l2r(z),u.range=u._input.range=S=0?Math.min(t,.9):1/(1/Math.max(t,-.3)+3.222))}function D(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","translate("+r+", "+n+")").attr("d",i+"Z")}function P(t,e,r){return t.append("path").attr("class","zoombox-corners").style({fill:c.background,stroke:c.defaultLine,"stroke-width":1,opacity:0}).attr("transform","translate("+e+", "+r+")").attr("d","M0,0Z")}function R(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"),F(t,e,i,a)}function F(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 B(t){n.select(t).selectAll(".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners").remove()}function N(t){S&&t.data&&t._context.showTips&&(s.notifier(s._(t,"Double-click to zoom back out"),"long"),S=!1)}function j(t){return"lasso"===t||"select"===t}function V(t){var e=Math.floor(Math.min(t.b-t.t,t.r-t.l,T)/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 U(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)}function q(t){var e=[];for(var r in t)e.push(t[r]);return e}e.exports={makeDragBox:function(t,e,r,a,c,p,S,C){var F,H,G,W,Y,X,Z,$,J,K,Q,tt,et,rt,nt,it,at,ot,st,lt,ct,ut=t._fullLayout._zoomlayer,ft=S+C==="nsew",ht=1===(S+C).length;function pt(){if(F=e.xaxis,H=e.yaxis,J=F._length,K=H._length,Z=F._offset,$=H._offset,(G={})[F._id]=F,(W={})[H._id]=H,S&&C)for(var r=e.overlays,n=0;n-1&&w(i,t,Y,X,e.id,Tt),a.indexOf("event")>-1&&f.click(t,i,e.id);else if(1===r&&ht){var s=S?H:F,c="s"===S||"w"===C?0:1,u=s._name+".range["+c+"]",h=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,c),p="left",d="middle";if(s.fixedrange)return;S?(d="n"===S?"top":"bottom","right"===s.side&&(p="right")):"e"===C&&(p="right"),t._context.showAxisRangeEntryBoxes&&n.select(gt).call(l.makeEditable,{gd:t,immediate:!0,background:t._fullLayout.paper_bgcolor,text:String(h),fill:s.tickfont?s.tickfont.color:"#444",horizontalAlign:p,verticalAlign:d}).on("edit",function(e){var r=s.d2r(e);void 0!==r&&o.call("_guiRelayout",t,u,r)})}}function Et(e,r){if(t._transitioningWithDuration)return!1;var n=Math.max(0,Math.min(J,e+vt)),i=Math.max(0,Math.min(K,r+mt)),a=Math.abs(n-vt),o=Math.abs(i-mt);function s(){wt="",yt.r=yt.l,yt.t=yt.b,At.attr("d","M0,0Z")}yt.l=Math.min(vt,n),yt.r=Math.max(vt,n),yt.t=Math.min(mt,i),yt.b=Math.max(mt,i),nt?a>T||o>T?(wt="xy",a/J>o/K?(o=a*K/J,mt>i?yt.t=mt-o:yt.b=mt+o):(a=o*J/K,vt>n?yt.l=vt-a:yt.r=vt+a),At.attr("d",V(yt))):s():!et||og[1]-1/4096&&(e.domain=s),i.noneOrAll(t.domain,e.domain,s)}return r("layer"),e}},{"../../lib":694,"fast-isnumeric":215}],759:[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)]}},{"../../constants/alignment":666}],760:[function(t,e,r){"use strict";var n=t("polybooljs"),i=t("../../registry"),a=t("../../components/color"),o=t("../../components/fx"),s=t("../../lib/polygon"),l=t("../../lib/throttle"),c=t("../../components/fx/helpers").makeEventData,u=t("./axis_ids").getFromId,f=t("../../lib/clear_gl_canvases"),h=t("../../plot_api/subroutines").redrawReglTraces,p=t("./constants"),d=p.MINSELECT,g=s.filter,v=s.tester;function m(t){return t._id}function y(t,e,r,n,i,a,o){var s,l,c,u,f,h,p,d,g,v=e._hoverdata,m=e._fullLayout.clickmode.indexOf("event")>-1,y=[];if(function(t){return t&&Array.isArray(t)&&!0!==t[0].hoverOnBox}(v)){w(t,e,a);var x=function(t,e){var r,n,i=t[0],a=-1,o=[];for(n=0;n0?function(t,e){var r,n,i,a=[];for(i=0;i0&&a.push(r);if(1===a.length&&a[0]===e.searchInfo&&(n=e.searchInfo.cd[0].trace).selectedpoints.length===e.pointNumbers.length){for(i=0;i1)return!1;if((i+=r.selectedpoints.length)>1)return!1}return 1===i}(s)&&(h=T(x))){for(o&&o.remove(),g=0;g0?"M"+i.join("M")+"Z":"M0,0Z",e.attr("d",n)}function T(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 S(t,e,r){var n,a,o,s;for(n=0;n-1&&y(e,T,i.xaxes,i.yaxes,i.subplot,i,H),"event"===r&&T.emit("plotly_selected",void 0);o.click(T,e)})},i.doneFn=function(){W.remove(),l.done(Y).then(function(){l.clear(Y),i.gd.emit("plotly_selected",b),h&&i.selectionDefs&&(h.subtract=q,i.selectionDefs.push(h),i.mergedPolygons.length=0,[].push.apply(i.mergedPolygons,f))})}},clearSelect:E,selectOnClick:y}},{"../../components/color":571,"../../components/fx":610,"../../components/fx/helpers":606,"../../lib/clear_gl_canvases":679,"../../lib/polygon":706,"../../lib/throttle":719,"../../plot_api/subroutines":733,"../../registry":825,"./axis_ids":745,"./constants":748,polybooljs:459}],761:[function(t,e,r){"use strict";var n=t("d3"),i=t("fast-isnumeric"),a=t("../../lib"),o=a.cleanNumber,s=a.ms2DateTime,l=a.dateTime2ms,c=a.ensureNumber,u=a.isArrayOrTypedArray,f=t("../../constants/numerical"),h=f.FP_SAFE,p=f.BADNUM,d=f.LOG_CLIP,g=t("./constants"),v=t("./axis_ids");function m(t){return Math.pow(10,t)}function y(t){return null!=t}e.exports=function(t,e){e=e||{};var r=(t._id||"x").charAt(0);function f(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*d*Math.abs(n-i))}return p}function x(e,r,n){var o=l(e,n||t.calendar);if(o===p){if(!i(e))return p;e=+e;var s=Math.floor(10*a.mod(e+.05,1)),c=Math.round(e-s/10);o=l(new Date(c))+s/10}return o}function b(e,r,n){return s(e,r,n||t.calendar)}function _(e){return t._categories[Math.round(e)]}function w(e){if(y(e)){if(void 0===t._categoriesMap&&(t._categoriesMap={}),void 0!==t._categoriesMap[e])return t._categoriesMap[e];t._categories.push(e);var r=t._categories.length-1;return t._categoriesMap[e]=r,r}return p}function k(e){if(t._categoriesMap)return t._categoriesMap[e]}function A(t){var e=k(t);return void 0!==e?e:i(t)?+t:void 0}function M(e){return i(e)?n.round(t._b+t._m*e,2):p}function T(e){return(e-t._b)/t._m}t.c2l="log"===t.type?f:c,t.l2c="log"===t.type?m:c,t.l2p=M,t.p2l=T,t.c2p="log"===t.type?function(t,e){return M(f(t,e))}:M,t.p2c="log"===t.type?function(t){return m(T(t))}:T,-1!==["linear","-"].indexOf(t.type)?(t.d2r=t.r2d=t.d2c=t.r2c=t.d2l=t.r2l=o,t.c2d=t.c2r=t.l2d=t.l2r=c,t.d2p=t.r2p=function(e){return t.l2p(o(e))},t.p2d=t.p2r=T,t.cleanPos=c):"log"===t.type?(t.d2r=t.d2l=function(t,e){return f(o(t),e)},t.r2d=t.r2c=function(t){return m(o(t))},t.d2c=t.r2l=o,t.c2d=t.l2r=c,t.c2r=f,t.l2d=m,t.d2p=function(e,r){return t.l2p(t.d2r(e,r))},t.p2d=function(t){return m(T(t))},t.r2p=function(e){return t.l2p(o(e))},t.p2r=T,t.cleanPos=c):"date"===t.type?(t.d2r=t.r2d=a.identity,t.d2c=t.r2c=t.d2l=t.r2l=x,t.c2d=t.c2r=t.l2d=t.l2r=b,t.d2p=t.r2p=function(e,r,n){return t.l2p(x(e,0,n))},t.p2d=t.p2r=function(t,e,r){return b(T(t),e,r)},t.cleanPos=function(e){return a.cleanDate(e,p,t.calendar)}):"category"===t.type?(t.d2c=t.d2l=w,t.r2d=t.c2d=t.l2d=_,t.d2r=t.d2l_noadd=A,t.r2c=function(e){var r=A(e);return void 0!==r?r:t.fraction2r(.5)},t.l2r=t.c2r=c,t.r2l=A,t.d2p=function(e){return t.l2p(t.r2c(e))},t.p2d=function(t){return _(T(t))},t.r2p=t.d2p,t.p2r=T,t.cleanPos=function(t){return"string"==typeof t&&""!==t?t:c(t)}):"multicategory"===t.type&&(t.r2d=t.c2d=t.l2d=_,t.d2r=t.d2l_noadd=A,t.r2c=function(e){var r=A(e);return void 0!==r?r:t.fraction2r(.5)},t.r2c_just_indices=k,t.l2r=t.c2r=c,t.r2l=A,t.d2p=function(e){return t.l2p(t.r2c(e))},t.p2d=function(t){return _(T(t))},t.r2p=t.d2p,t.p2r=T,t.cleanPos=function(t){return Array.isArray(t)||"string"==typeof t&&""!==t?t:c(t)},t.setupMultiCategory=function(e){var n,i,o=t._traceIndices,s=t._multicatSeen=[[0,{}],[0,{}]],l=t._multicatList=[];for(n=0;nh&&(l[o]=h),l[0]===l[1]){var u=Math.max(1,Math.abs(1e-6*l[0]));l[0]-=u,l[1]+=u}}else a.nestedProperty(t,e).set(s)},t.setScale=function(n){var i=e._size;if(t.overlaying){var a=v.getFromId({_fullLayout:e},t.overlaying);t.domain=a.domain}var o=n&&t._r?"_r":"range",s=t.calendar;t.cleanRange(o);var l=t.r2l(t[o][0],s),c=t.r2l(t[o][1],s);if("y"===r?(t._offset=i.t+(1-t.domain[1])*i.h,t._length=i.h*(t.domain[1]-t.domain[0]),t._m=t._length/(l-c),t._b=-t._m*c):(t._offset=i.l+t.domain[0]*i.w,t._length=i.w*(t.domain[1]-t.domain[0]),t._m=t._length/(c-l),t._b=-t._m*l),!isFinite(t._m)||!isFinite(t._b))throw e._replotting=!1,new Error("Something went wrong with axis scaling")},t.makeCalcdata=function(e,r){var n,i,o,s,l=t.type,c="date"===l&&e[r+"calendar"];if(r in e){if(n=e[r],s=e._length||a.minRowLength(n),a.isTypedArray(n)&&("linear"===l||"log"===l)){if(s===n.length)return n;if(n.subarray)return n.subarray(0,s)}if("multicategory"===l)return function(t,e){for(var r=new Array(e),n=0;nr.duration?(function(){for(var r={},n=0;n rect").call(a.setTranslate,0,0).call(a.setScale,1,1),t.plot.call(a.setTranslate,e._offset,r._offset).call(a.setScale,1,1);var n=t.plot.selectAll(".scatterlayer .trace");n.selectAll(".point").call(a.setPointGroupScale,1,1),n.selectAll(".textpoint").call(a.setTextPointsScale,1,1),n.call(a.hideOutsideRangePoints,t)}function g(e,r){var n=e.plotinfo,i=n.xaxis,s=n.yaxis,l=e.xr0,c=e.xr1,u=i._length,f=e.yr0,h=e.yr1,p=s._length,d=!!c,g=!!h,v=[];if(d){var m=l[1]-l[0],y=c[1]-c[0];v[0]=(l[0]*(1-r)+r*c[0]-l[0])/(l[1]-l[0])*u,v[2]=u*(1-r+r*y/m),i.range[0]=l[0]*(1-r)+r*c[0],i.range[1]=l[1]*(1-r)+r*c[1]}else v[0]=0,v[2]=u;if(g){var x=f[1]-f[0],b=h[1]-h[0];v[1]=(f[1]*(1-r)+r*h[1]-f[1])/(f[0]-f[1])*p,v[3]=p*(1-r+r*b/x),s.range[0]=f[0]*(1-r)+r*h[0],s.range[1]=f[1]*(1-r)+r*h[1]}else v[1]=0,v[3]=p;o.drawOne(t,i,{skipTitle:!0}),o.drawOne(t,s,{skipTitle:!0}),o.redrawComponents(t,[i._id,s._id]);var _=d?u/v[2]:1,w=g?p/v[3]:1,k=d?v[0]:0,A=g?v[1]:0,M=d?v[0]/v[2]*u:0,T=g?v[1]/v[3]*p:0,S=i._offset-M,C=s._offset-T;n.clipRect.call(a.setTranslate,k,A).call(a.setScale,1/_,1/w),n.plot.call(a.setTranslate,S,C).call(a.setScale,_,w),a.setPointGroupScale(n.zoomScalePts,1/_,1/w),a.setTextPointsScale(n.zoomScaleTxt,1/_,1/w)}o.redrawComponents(t)}},{"../../components/drawing":592,"../../registry":825,"./axes":742,d3:149}],766:[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("type",(s.splomStash||{}).type)&&(!function(t,e){if("-"!==t.type)return;var r=t._id,s=r.charAt(0);-1!==r.indexOf("scene")&&(r=s);var l=function(t,e,r){for(var n=0;n0&&(i["_"+r+"axes"]||{})[e])return i;if((i[r+"axis"]||r)===e){if(o(i,r))return i;if((i[r]||[]).length||i[r+"0"])return i}}}(e,r,s);if(!l)return;if("histogram"===l.type&&s==={v:"y",h:"x"}[l.orientation||"v"])return void(t.type="linear");var c,u=s+"calendar",f=l[u],h={noMultiCategory:!n(l,"cartesian")||n(l,"noMultiCategory")};if(o(l,s)){var p=a(l),d=[];for(c=0;c0?".":"")+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;fi*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(g.precision),i&&r.clipAngle(i-g.clipPad);return r}(e);u.center([c.lon-l.lon,c.lat-l.lat]).rotate([-l.lon,-l.lat,l.roll]).parallels(s.parallels);var f=[[r.l+r.w*o.x[0],r.t+r.h*(1-o.y[1])],[r.l+r.w*o.x[1],r.t+r.h*(1-o.y[0])]],h=e.lonaxis,p=e.lataxis,d=function(t,e){var r=g.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]]]}}(h.range,p.range);u.fitExtent(f,d);var v=this.bounds=u.getBounds(d),m=this.fitScale=u.scale(),y=u.translate();if(!isFinite(v[0][0])||!isFinite(v[0][1])||!isFinite(v[1][0])||!isFinite(v[1][1])||isNaN(y[0])||isNaN(y[0])){for(var x=this.graphDiv,b=["projection.rotation","center","lonaxis.range","lataxis.range"],_="Invalid geo settings, relayout'ing to default view.",w={},k=0;k-1&&p(n.event,a,[r.xaxis],[r.yaxis],r.id,g),c.indexOf("event")>-1&&l.click(a,n.event))})}function v(t){return r.projection.invert([t[0]+r.xaxis._offset,t[1]+r.yaxis._offset])}},x.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(s.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"},u.setConvert(t.mockAxis,r)},x.saveViewInitial=function(t){var e=t.center||{},r=t.projection,n=r.rotation||{};t._isScoped?this.viewInitial={"center.lon":e.lon,"center.lat":e.lat,"projection.scale":r.scale}:t._isClipped?this.viewInitial={"projection.scale":r.scale,"projection.rotation.lon":n.lon,"projection.rotation.lat":n.lat}:this.viewInitial={"center.lon":e.lon,"center.lat":e.lat,"projection.scale":r.scale,"projection.rotation.lon":n.lon}},x.render=function(){var t,e=this.projection,r=e.getPath();function n(t){var r=e(t.lonlat);return r?"translate("+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":571,"../../components/dragelement":589,"../../components/drawing":592,"../../components/fx":610,"../../lib":694,"../../lib/topojson_utils":721,"../../registry":825,"../cartesian/axes":742,"../cartesian/select":760,"../plots":806,"./constants":771,"./projections":777,"./zoom":778,d3:149,"topojson-client":518}],773:[function(t,e,r){"use strict";var n=t("./geo"),i=t("../../plots/get_data").getSubplotCalcData,a=t("../../lib").counterRegex,o="geo";r.name=o,r.attr=o,r.idRoot=o,r.idRegex=r.attrRegex=a(o),r.attributes=t("./layout/attributes"),r.layoutAttributes=t("./layout/layout_attributes"),r.supplyLayoutDefaults=t("./layout/defaults"),r.plot=function(t){var e=t._fullLayout,r=t.calcdata,a=e._subplots.geo;void 0===window.PlotlyGeoAssets&&(window.PlotlyGeoAssets={topojson:{}});for(var s=0;s0&&k<0&&(k+=360);var A,M,T,S=(w+k)/2;if(!c){var C=u?s.projRotate:[S,0,0];A=r("projection.rotation.lon",C[0]),r("projection.rotation.lat",C[1]),r("projection.rotation.roll",C[2]),r("showcoastlines",!u)&&(r("coastlinecolor"),r("coastlinewidth")),r("showocean")&&r("oceancolor")}(c?(M=-96.6,T=38.7):(M=u?S:A,T=(_[0]+_[1])/2),r("center.lon",M),r("center.lat",T),f)&&r("projection.parallels",s.projParallels||[0,60]);r("projection.scale"),r("showland")&&r("landcolor"),r("showlakes")&&r("lakecolor"),r("showrivers")&&(r("rivercolor"),r("riverwidth")),r("showcountries",u&&"usa"!==a)&&(r("countrycolor"),r("countrywidth")),("usa"===a||"north america"===a&&50===n)&&(r("showsubunits",!0),r("subunitcolor"),r("subunitwidth")),u||r("showframe",!0)&&(r("framecolor"),r("framewidth")),r("bgcolor")}e.exports=function(t,e,r){n(t,e,r,{type:"geo",attributes:a,handleDefaults:s,partition:"y"})}},{"../../subplot_defaults":820,"../constants":771,"./layout_attributes":776}],776:[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"},dtick:{valType:"number"},gridcolor:{valType:"color",dflt:n.lightLine},gridwidth:{valType:"number",min:0,dflt:1}};(e.exports=o({domain:i({name:"geo"},{}),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"}},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":570,"../../../plot_api/edit_types":725,"../../domain":768,"../constants":771}],777:[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;for(var e,r=0,n=t[e-1][1]*t[0][0]-t[e-1][0]*t[0][1];++rn^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=f*f,p=Math.PI,d=p/2,g=(Math.sqrt(p),p/180),v=180/p;function m(t){return t>1?d:t<-1?-d:Math.asin(t)}function y(t){return t>1?0:t<-1?p:Math.acos(t)}var x=t.geo.projection,b=t.geo.projectionMutator;function _(t,e){var r=(2+d)*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(p*(4+p))*t*(1+Math.cos(e)),2*Math.sqrt(p/(4+p))*Math.sin(e)]}t.geo.interrupt=function(e){var r,n=[[[[-p,0],[0,d],[p,0]]],[[[-p,0],[0,-d],[p,0]]]];function i(t,r){for(var i=r<0?-1:1,a=n[+(r<0)],o=0,s=a.length-1;oa[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}e.invert&&(i.invert=function(t,a){for(var o=r[+(a<0)],s=n[+(a<0)],c=0,u=o.length;c=0;--i){var o=n[1][i],l=180*o[0][0]/p,c=180*o[0][1]/p,u=180*o[1][1]/p,f=180*o[2][0]/p,h=180*o[2][1]/p;r.push(s([[f-e,h-e],[f-e,u+e],[l+e,u+e],[l+e,c-e]],30))}return{type:"Polygon",coordinates:[t.merge(r)]}}(),l)},i},a.lobes=function(t){return arguments.length?(n=t.map(function(t){return t.map(function(t){return[[t[0][0]*p/180,t[0][1]*p/180],[t[1][0]*p/180,t[1][1]*p/180],[t[2][0]*p/180,t[2][1]*p/180]]})}),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]]})}),a):n.map(function(t){return t.map(function(t){return[[180*t[0][0]/p,180*t[0][1]/p],[180*t[1][0]/p,180*t[1][1]/p],[180*t[2][0]/p,180*t[2][1]/p]]})})},a},_.invert=function(t,e){var r=.5*e*Math.sqrt((4+p)/p),n=m(r),i=Math.cos(n);return[t/(2/Math.sqrt(p*(4+p))*(1+i)),m((n+r*(i+2))/(2+d))]},(t.geo.eckert4=function(){return x(_)}).raw=_;var w=t.geo.azimuthalEqualArea.raw;function k(t,e){if(arguments.length<2&&(e=t),1===e)return w;if(e===1/0)return A;function r(r,n){var i=w(r/e,n);return i[0]*=t,i}return r.invert=function(r,n){var i=w.invert(r/t,n);return i[0]*=e,i},r}function A(t,e){return[t*Math.cos(e)/Math.cos(e/=2),2*Math.sin(e)]}function M(t,e){return[3*t/(2*p)*Math.sqrt(p*p/3-e*e),e]}function T(t,e){return[t,1.25*Math.log(Math.tan(p/4+.4*e))]}function S(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}}A.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=b(k),r=e(t);return r.coefficient=function(r){return arguments.length?e(t=+r):t},r}).raw=k,M.invert=function(t,e){return[2/3*p*t/Math.sqrt(p*p/3-e*e),e]},(t.geo.kavrayskiy7=function(){return x(M)}).raw=M,T.invert=function(t,e){return[t,2.5*Math.atan(Math.exp(.8*e))-.625*p]},(t.geo.miller=function(){return x(T)}).raw=T,S(p);var C=function(t,e,r){var n=S(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/d,Math.SQRT2,p);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 x(C)}).raw=C,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 x(E)}).raw=E;var L=[[.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 z(t,e){var r,n=Math.min(18,36*Math.abs(e)/p),i=Math.floor(n),a=n-i,o=(r=L[i])[0],s=r[1],l=(r=L[++i])[0],c=r[1],u=(r=L[Math.min(19,++i)])[0],f=r[1];return[t*(l+a*(u-o)/2+a*a*(u-2*l+o)/2),(e>0?d:-d)*(c+a*(f-s)/2+a*a*(f-2*c+s)/2)]}function O(t,e){return[t*Math.cos(e),e]}function I(t,e){var r,n=Math.cos(e),i=(r=y(n*Math.cos(t/=2)))?r/Math.sin(r):1;return[2*n*Math.sin(t)*i,Math.sin(e)*i]}function D(t,e){var r=I(t,e);return[(r[0]+t/d)/2,(r[1]+e)/2]}L.forEach(function(t){t[1]*=1.0144}),z.invert=function(t,e){var r=e/d,n=90*r,i=Math.min(18,Math.abs(n/5)),a=Math.max(0,Math.floor(i));do{var o=L[a][1],s=L[a+1][1],l=L[Math.min(19,a+2)][1],c=l-o,u=l-2*s+o,f=2*(Math.abs(r)-s)/c,p=u/c,m=f*(1-p*f*(1-2*p*f));if(m>=0||1===a){n=(e>=0?5:-5)*(m+i);var y,x=50;do{m=(i=Math.min(18,Math.abs(n)/5))-(a=Math.floor(i)),o=L[a][1],s=L[a+1][1],l=L[Math.min(19,a+2)][1],n-=(y=(e>=0?d:-d)*(s+m*(l-o)/2+m*m*(l-2*s+o)/2)-e)*v}while(Math.abs(y)>h&&--x>0);break}}while(--a>=0);var b=L[a][0],_=L[a+1][0],w=L[Math.min(19,a+2)][0];return[t/(_+m*(w-b)/2+m*m*(w-2*_+b)/2),n*g]},(t.geo.robinson=function(){return x(z)}).raw=z,O.invert=function(t,e){return[t/Math.cos(e),e]},(t.geo.sinusoidal=function(){return x(O)}).raw=O,I.invert=function(t,e){if(!(t*t+4*e*e>p*p+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),h=Math.sin(2*n),d=c*c,g=u*u,v=s*s,m=1-g*l*l,x=m?y(u*l)*Math.sqrt(a=1/m):a=0,b=2*x*u*s-t,_=x*c-e,w=a*(g*v+x*u*l*d),k=a*(.5*o*h-2*x*c*s),A=.25*a*(h*s-x*c*g*o),M=a*(d*l+x*v*u),T=k*A-M*w;if(!T)break;var S=(_*k-b*M)/T,C=(b*A-_*w)/T;r-=S,n-=C}while((Math.abs(S)>f||Math.abs(C)>f)&&--i>0);return[r,n]}},(t.geo.aitoff=function(){return x(I)}).raw=I,D.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),p=Math.cos(r/2),g=Math.sin(r/2),v=g*g,m=1-u*p*p,x=m?y(o*p)*Math.sqrt(a=1/m):a=0,b=.5*(2*x*o*g+r/d)-t,_=.5*(x*s+n)-e,w=.5*a*(u*v+x*o*p*c)+.5/d,k=a*(h*l/4-x*s*g),A=.125*a*(l*g-x*s*u*h),M=.5*a*(c*p+x*v*o)+.5,T=k*A-M*w,S=(_*k-b*M)/T,C=(b*A-_*w)/T;r-=S,n-=C}while((Math.abs(S)>f||Math.abs(C)>f)&&--i>0);return[r,n]},(t.geo.winkel3=function(){return x(D)}).raw=D}},{}],778:[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),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()}).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,v=u(0,e),m=2;function y(t){return e.invert(t)}function x(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 v.on("zoomstart",function(){n.select(this).style(l),r=n.mouse(this),i=e.rotate(),a=e.translate(),o=i,s=y(r)}).on("zoom",function(){if(h=n.mouse(this),function(t){var r=y(t);if(!r)return!0;var n=e(r);return Math.abs(n[0]-t[0])>m||Math.abs(n[1]-t[1])>m}(r))return v.scale(e.scale()),void v.translate(e.translate());e.scale(n.event.scale),e.translate([a[0],n.event.translate[1]]),s?y(h)&&(d=y(h),p=[o[0]+(d[0]-s[0]),i[1],i[2]],e.rotate(p),o=p):s=y(r=h),g=!0,t.render()}).on("zoomend",function(){n.select(this).style(c),g&&f(t,e,x)}),v}function d(t,e){var r,i={r:e.rotate(),k:e.scale()},a=u(0,e),h=function(t){var e=0,r=arguments.length,i=[];for(;++ed?(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,x=(Math.atan2(h,u)-Math.atan2(c,-i))*s,b=v(r[0],r[1],a,m),_=v(r[0],r[1],g,x);return b<=_?[a,m,r[2]]:[g,x,r[2]]}(k,r,C);isFinite(A[0])&&isFinite(A[1])&&isFinite(A[2])||(A=C),e.rotate(A),C=A}}else r=g(e,T=b);h.of(this,arguments)({type:"zoom"})}),M=h.of(this,arguments),p++||M({type:"zoomstart"})}).on("zoomend",function(){var r;n.select(this).style(c),d.call(a,"zoom",null),r=h.of(this,arguments),--p||r({type:"zoomend"}),f(t,e,m)}).on("zoom.redraw",function(){t.render()}),n.rebind(a,h,"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 v(t,e,r,n){var i=m(r-t),a=m(n-e);return Math.sqrt(i*i+a*a)}function m(t){return(t%360+540)%360-180}function y(t,e,r){var n=r*o,i=t.slice(),a=0===e?1:0,s=2===e?1:2,l=Math.cos(n),c=Math.sin(n);return i[a]=t[a]*l-t[s]*c,i[s]=t[s]*l+t[a]*c,i}function x(t,e){for(var r=0,n=0,i=t.length;nMath.abs(s)?(c.boxEnd[1]=c.boxStart[1]+Math.abs(a)*_*(s>=0?1:-1),c.boxEnd[1]l[3]&&(c.boxEnd[1]=l[3],c.boxEnd[0]=c.boxStart[0]+(l[3]-c.boxStart[1])/Math.abs(_))):(c.boxEnd[0]=c.boxStart[0]+Math.abs(s)/_*(a>=0?1:-1),c.boxEnd[0]l[2]&&(c.boxEnd[0]=l[2],c.boxEnd[1]=c.boxStart[1]+(l[2]-c.boxStart[0])*Math.abs(_)))}}else c.boxEnabled?(a=c.boxStart[0]!==c.boxEnd[0],s=c.boxStart[1]!==c.boxEnd[1],a||s?(a&&(v(0,c.boxStart[0],c.boxEnd[0]),t.xaxis.autorange=!1),s&&(v(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)Math.abs(e))c.rotate(a,0,0,-t*r*Math.PI*d.rotateSpeed/window.innerWidth);else{var o=-d.zoomSpeed*i*e/window.innerHeight*(a-c.lastT())/20;c.pan(a,0,0,f*(Math.exp(o)-1))}}},!0),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":46,"has-passive-events":397,"mouse-change":421,"mouse-event-offset":422,"mouse-wheel":424,"right-now":482}],785:[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.999&&(v="turntable"):v="turntable")}else v="turntable";r("dragmode",v),r("hovermode",n.getDfltFromLayout("hovermode"))}e.exports=function(t,e,r){var i=e._basePlotModules.length>1;o(t,e,r,{type:u,attributes:l,handleDefaults:f,fullLayout:e,font:e.font,fullData:r,getDfltFromLayout:function(e){if(!i)return n.validate(t[e],l[e])?t[e]:void 0},paper_bgcolor:e.paper_bgcolor,calendar:e.calendar})}},{"../../../components/color":571,"../../../lib":694,"../../../registry":825,"../../get_data":779,"../../subplot_defaults":820,"./axis_defaults":788,"./layout_attributes":791}],791:[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),{}),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":694,"../../../lib/extend":684,"../../domain":768,"./axis_attributes":787}],792:[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":717}],793:[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),d=0;d/g," "));l[c]=p,u.tickmode=f}}e.ticks=l;for(var c=0;c<3;++c){o[c]=.5*(t.glplot.bounds[0][c]+t.glplot.bounds[1][c]);for(var 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")):"isosurface"===e.type?(M.push("value: "+u.tickText(t.mockAxis,t.mockAxis.d2l(c.traceCoordinate[3]),"hover").text),c.textLabel&&M.push(c.textLabel),v=M.join("
")):v=c.textLabel,t.fullSceneLayout.hovermode&&f.loneHover({x:(.5+.5*d[0]/d[3])*i,y:(.5-.5*d[1]/d[3])*a,xLabel:w,yLabel:k,zLabel:A,text:v,name:l.name,color:f.castHoverOption(e,m,"bgcolor")||l.color,borderColor:f.castHoverOption(e,m,"bordercolor"),fontFamily:f.castHoverOption(e,m,"font.family"),fontSize:f.castHoverOption(e,m,"font.size"),fontColor:f.castHoverOption(e,m,"font.color")},{container:r,gd:t.graphDiv});var T={x:c.traceCoordinate[0],y:c.traceCoordinate[1],z:c.traceCoordinate[2],data:e._input,fullData:e,curveNumber:e.index,pointNumber:m};e._module.eventData&&(T=e._module.eventData(T,c,e,{},m)),f.appendArrayPointValue(T,e,m);var S={points:[T]};c.buttons&&c.distance<5?t.graphDiv.emit("plotly_click",S):t.graphDiv.emit("plotly_hover",S),o=S}else f.loneUnhover(r),t.graphDiv.emit("plotly_unhover",o);t.drawAnnotations(t)}.bind(null,t),t.traces={},t.make4thDimension(),!0}function b(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=v(e,e[this.id]),this.spikeOptions=m(e[this.id]),this.container=r,this.staticMode=!!t.staticPlot,this.pixelRatio=t.plotGlPixelRatio||2,this.dataScale=[1,1,1],this.contourLevels=[[],[],[]],this.convertAnnotations=l.getComponentMethod("annotations3d","convert"),this.drawAnnotations=l.getComponentMethod("annotations3d","draw"),x(this)}var _=b.prototype;_.recoverContext=function(){var t=this,e=this.glplot.gl,r=this.glplot.canvas;this.glplot.dispose(),requestAnimationFrame(function n(){e.isContextLost()?requestAnimationFrame(n):x(t,r,e)?t.plot.apply(t,t.plotArgs):c.error("Catastrophic and unrecoverable WebGL error. Context lost.")})};var w=["xaxis","yaxis","zaxis"];function k(t,e,r){for(var n=t.fullSceneLayout,i=0;i<3;i++){var a=w[i],o=a.charAt(0),s=n[a],l=e[o],u=e[o+"calendar"],f=e["_"+o+"length"];if(c.isArrayOrTypedArray(l))for(var h,p=0;p<(f||l.length);p++)if(c.isArrayOrTypedArray(l[p]))for(var d=0;dg[1][a])g[0][a]=-1,g[1][a]=1;else{var C=g[1][a]-g[0][a];g[0][a]-=C/32,g[1][a]+=C/32}if("reversed"===s.autorange){var E=g[0][a];g[0][a]=g[1][a],g[1][a]=E}}else{var L=s.range;g[0][a]=s.r2l(L[0]),g[1][a]=s.r2l(L[1])}g[0][a]===g[1][a]&&(g[0][a]-=1,g[1][a]+=1),v[a]=g[1][a]-g[0][a],this.glplot.bounds[0][a]=g[0][a]*p[a],this.glplot.bounds[1][a]=g[1][a]*p[a]}var z=[1,1,1];for(a=0;a<3;++a){var O=m[l=(s=c[w[a]]).type];z[a]=Math.pow(O.acc,1/O.count)/p[a]}var I;if("auto"===c.aspectmode)I=Math.max.apply(null,z)/Math.min.apply(null,z)<=4?z:[1,1,1];else if("cube"===c.aspectmode)I=[1,1,1];else if("data"===c.aspectmode)I=z;else{if("manual"!==c.aspectmode)throw new Error("scene.js aspectRatio was not one of the enumerated types");var D=c.aspectratio;I=[D.x,D.y,D.z]}c.aspectratio.x=u.aspectratio.x=I[0],c.aspectratio.y=u.aspectratio.y=I[1],c.aspectratio.z=u.aspectratio.z=I[2],this.glplot.aspect=I;var P=c.domain||null,R=e._size||null;if(P&&R){var F=this.container.style;F.position="absolute",F.left=R.l+P.x[0]*R.w+"px",F.top=R.t+(1-P.y[1])*R.h+"px",F.width=R.w*(P.x[1]-P.x[0])+"px",F.height=R.h*(P.y[1]-P.y[0])+"px"}this.glplot.redraw()}},_.destroy=function(){this.glplot&&(this.camera.mouseListener.enabled=!1,this.container.removeEventListener("wheel",this.camera.wheelListener),this.camera=this.glplot.camera=null,this.glplot.dispose(),this.container.parentNode.removeChild(this.container),this.glplot=null)},_.getCamera=function(){return this.glplot.camera.view.recalcMatrix(this.camera.view.lastT()),A(this.glplot.camera)},_.setCamera=function(t){var e;this.glplot.camera.lookAt.apply(this,[[(e=t).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]])},_.saveCamera=function(t){var e=this.fullLayout,r=this.getCamera(),n=c.nestedProperty(t,this.id+".camera"),i=n.get(),a=!1;function o(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]]}if(void 0===i)a=!0;else for(var s=0;s<3;s++)for(var u=0;u<3;u++)if(!o(r,i,s,u)){a=!0;break}if(a){var f={};f[this.id+".camera"]=i,l.call("_storeDirectGUIEdit",t,e._preGUI,f),n.set(r),c.nestedProperty(e,this.id+".camera").set(r)}return a},_.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,u=a.up.z;if(u/Math.sqrt(o*o+s*s+u*u)>.999)return;var f=this.id+".camera.up",h={x:0,y:0,z:1},p={};p[f]=h;var d=n.layout;l.call("_storeDirectGUIEdit",d,i._preGUI,p),a.up=h,c.nestedProperty(d,f).set(h)}else r.keyBindingMode=t;this.fullSceneLayout.hovermode=e},_.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);for(var o=0,s=i-1;o0)}function l(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});break;case"fill":n.extendFlat(r,{"fill-color":t.color,"fill-outline-color":t.fill.outlinecolor,"fill-opacity":t.opacity});break;case"symbol":var a=t.symbol,o=i(a.textposition,a.iconsize);n.extendFlat(e,{"icon-image":a.icon+"-15","icon-size":a.iconsize/10,"text-field":a.text,"text-size":a.textfont.size,"text-anchor":o.anchor,"text-offset":o.offset}),n.extendFlat(r,{"icon-color":t.color,"text-color":a.textfont.color,"text-opacity":t.opacity})}return{layout:e,paint:r}}o.update=function(t){this.visible?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=s(t)},o.needsNewSource=function(t){return this.sourceType!==t.sourcetype||this.source!==t.source||this.layerType!==t.type},o.needsNewLayer=function(t){return this.layerType!==t.type||this.below!==t.below},o.updateSource=function(t){var e=this.map;if(e.getSource(this.idSource)&&e.removeSource(this.idSource),this.sourceType=t.sourcetype,this.source=t.source,s(t)){var r=function(t){var e,r=t.sourcetype,n=t.source,i={type:r};"geojson"===r?e="data":"vector"===r&&(e="string"==typeof n?"url":"tiles");return i[e]=n,i}(t);e.addSource(this.idSource,r)}},o.updateLayer=function(t){var e=this.map,r=l(t);this.removeLayer(),this.layerType=t.type,s(t)&&e.addLayer({id:this.idLayer,source:this.idSource,"source-layer":t.sourcelayer||"",type:t.type,layout:r.layout,paint:r.paint},t.below)},o.updateStyle=function(t){if(s(t)){var e=l(t);this.mapbox.setOptions(this.idLayer,"setLayoutProperty",e.layout),this.mapbox.setOptions(this.idLayer,"setPaintProperty",e.paint)}},o.removeLayer=function(){var t=this.map;t.getLayer(this.idLayer)&&t.removeLayer(this.idLayer)},o.dispose=function(){var t=this.map;t.removeLayer(this.idLayer),t.removeSource(this.idSource)},e.exports=function(t,e,r){var n=new a(t,e);return n.update(r),n}},{"../../lib":694,"./convert_text_opts":799}],802:[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=o({});u.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:["basic","streets","outdoors","light","dark","satellite","satellite-streets"],dflt:"basic"},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"],dflt:"geojson"},source:{valType:"any"},sourcelayer:{valType:"string",dflt:""},type:{valType:"enumerated",values:["circle","line","fill","symbol"],dflt:"circle"},below:{valType:"string",dflt:""},color:{valType:"color",dflt:i},opacity:{valType:"number",min:0,max:1,dflt:1},circle:{radius:{valType:"number",dflt:15}},line:{width:{valType:"number",dflt:2}},fill:{outlinecolor:{valType:"color",dflt:i}},symbol:{icon:{valType:"string",dflt:"marker"},iconsize:{valType:"number",dflt:10},text:{valType:"string",dflt:""},textfont:u,textposition:n.extendFlat({},s,{arrayOk:!1})}})},"plot","from-root")).uirevision={valType:"any",editType:"none"}},{"../../components/color":571,"../../lib":694,"../../plot_api/edit_types":725,"../../plot_api/plot_template":732,"../../traces/scatter/attributes":1047,"../domain":768,"../font_attributes":769}],803:[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=r("sourcetype");r("source"),"vector"===i&&r("sourcelayer");var a=r("type");r("below"),r("color"),r("opacity"),"circle"===a&&r("circle.radius"),"line"===a&&r("line.width"),"fill"===a&&r("fill.outlinecolor"),"symbol"===a&&(r("symbol.icon"),r("symbol.iconsize"),r("symbol.text"),n.coerceFont(r,"symbol.textfont"),r("symbol.textposition"))}}e.exports=function(t,e,r){i(t,e,r,{type:"mapbox",attributes:o,handleDefaults:s,partition:"y",accessToken:e._mapboxAccessToken})}},{"../../lib":694,"../array_container_defaults":738,"../subplot_defaults":820,"./layout_attributes":802}],804:[function(t,e,r){"use strict";var n=t("mapbox-gl"),i=t("../../components/fx"),a=t("../../lib"),o=t("../../registry"),s=t("../../components/dragelement"),l=t("../cartesian/select").prepSelect,c=t("../cartesian/select").selectOnClick,u=t("./constants"),f=t("./layout_attributes"),h=t("./layers");function p(t){this.id=t.id,this.gd=t.gd,this.container=t.container,this.isStatic=t.staticPlot;var e=t.fullLayout;this.uid=e._uid+"-"+this.id,this.div=null,this.xaxis=null,this.yaxis=null,this.createFramework(e),this.map=null,this.accessToken=null,this.styleObj=null,this.traceHash={},this.layerList=[]}var d=p.prototype;function g(t){var e=f.style.values,r=f.style.dflt,n={};return a.isPlainObject(t)?(n.id=t.id,n.style=t):"string"==typeof t?(n.id=t,n.style=-1!==e.indexOf(t)?v(t):t):(n.id=r,n.style=v(r)),n.transition={duration:0,delay:0},n}function v(t){return u.styleUrlPrefix+t+"-"+u.styleUrlSuffix}function m(t){return[t.lon,t.lat]}e.exports=function(t){return new p(t)},d.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)},d.createMap=function(t,e,r,a){var s=this,l=s.gd,f=e[s.id],h=s.styleObj=g(f.style);s.accessToken=f.accesstoken;var p=s.map=new n.Map({container:s.div,style:h.style,center:m(f.center),zoom:f.zoom,bearing:f.bearing,pitch:f.pitch,interactive:!s.isStatic,preserveDrawingBuffer:s.isStatic,doubleClickZoom:!1,boxZoom:!1}),d=u.controlContainerClassName,v=s.div.getElementsByClassName(d)[0];if(s.div.removeChild(v),p._canvas.style.left="0px",p._canvas.style.top="0px",s.rejectOnError(a),p.once("load",function(){s.updateData(t),s.updateLayout(e),s.resolveOnRender(r)}),!s.isStatic){var y=!1;p.on("moveend",function(t){if(s.map){if(t.originalEvent||y){var e=l._fullLayout[s.id];o.call("_storeDirectGUIEdit",l.layout,l._fullLayout._preGUI,s.getViewEdits(e));var r=s.getView();e._input.center=e.center=r.center,e._input.zoom=e.zoom=r.zoom,e._input.bearing=e.bearing=r.bearing,e._input.pitch=e.pitch=r.pitch,l.emit("plotly_relayout",s.getViewEdits(r))}y=!1}}),p.on("wheel",function(){y=!0}),p.on("mousemove",function(t){var e=s.div.getBoundingClientRect();t.clientX=t.point.x+e.left,t.clientY=t.point.y+e.top,t.target.getBoundingClientRect=function(){return e},s.xaxis.p2c=function(){return t.lngLat.lng},s.yaxis.p2c=function(){return t.lngLat.lat},i.hover(l,t,s.id)}),p.on("dragstart",x),p.on("zoomstart",x),p.on("dblclick",function(){var t=l._fullLayout[s.id];o.call("_storeDirectGUIEdit",l.layout,l._fullLayout._preGUI,s.getViewEdits(t));var e=s.viewInitial;p.setCenter(m(e.center)),p.setZoom(e.zoom),p.setBearing(e.bearing),p.setPitch(e.pitch);var r=s.getView();t._input.center=t.center=r.center,t._input.zoom=t.zoom=r.zoom,t._input.bearing=t.bearing=r.bearing,t._input.pitch=t.pitch=r.pitch,l.emit("plotly_doubleclick",null),l.emit("plotly_relayout",s.getViewEdits(r))}),s.clearSelect=function(){l._fullLayout._zoomlayer.selectAll(".select-outline").remove()},s.onClickInPanFn=function(t){return function(e){var r=l._fullLayout.clickmode;r.indexOf("select")>-1&&c(e.originalEvent,l,[s.xaxis],[s.yaxis],s.id,t),r.indexOf("event")>-1&&i.click(l,e.originalEvent)}}}function x(){i.loneUnhover(e._toppaper)}},d.updateMap=function(t,e,r,n){var i=this,a=i.map,o=e[this.id];i.rejectOnError(n);var s=g(o.style);i.styleObj.id!==s.id?(i.styleObj=s,a.setStyle(s.style),a.once("styledata",function(){i.traceHash={},i.updateData(t),i.updateLayout(e),i.resolveOnRender(r)})):(i.updateData(t),i.updateLayout(e),i.resolveOnRender(r)),this.gd._context._scrollZoom.mapbox?a.scrollZoom.enable():a.scrollZoom.disable()},d.updateData=function(t){var e,r,n,i,a=this.traceHash;for(n=0;n=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"),u=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(){v.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()&&u.text()?" - ":"")}},v.sendDataToCloud=function(t){t.emit("plotly_beforeexport");var e=(window.PLOTLYENV||{}).BASE_URL||t._context.plotlyServerURL,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=v.graphJson(t,!1,"keepdata"),i.node().submit(),r.remove(),t.emit("plotly_afterexport"),!1};var x=["days","shortDays","months","shortMonths","periods","dateTime","date","time","decimal","thousands","grouping","currency"],b=["year","month","dayMonth","dayMonthYear"];function _(t,e){var r=t._context.locale,n=!1,i={};function o(t){for(var r=!0,a=0;a0&&(t._transitioningWithDuration=!0),t._transitionData._interruptCallbacks.push(function(){n=!0}),r.redraw&&t._transitionData._interruptCallbacks.push(function(){return a.call("redraw",t)}),t._transitionData._interruptCallbacks.push(function(){t.emit("plotly_transitioninterrupted",[])});var o=0,s=0;function l(){return o++,function(){var e;s++,n||s!==o||(e=i,t._transitionData&&(function(t){if(t)for(;t.length;)t.shift()}(t._transitionData._interruptCallbacks),Promise.resolve().then(function(){if(r.redraw)return a.call("redraw",t)}).then(function(){t._transitioning=!1,t._transitioningWithDuration=!1,t.emit("plotly_transitioned",[])}).then(e)))}}r.runFn(l),setTimeout(l())})}],o=l.syncOrAsync(i,t);return o&&o.then||(o=Promise.resolve()),o.then(function(){return t})}function S(t,e){for(var r=0;r1&&O.length>1){for(a.getComponentMethod("grid","sizeDefaults")(c,s),o=0;o15&&O.length>15&&0===s.shapes.length&&0===s.images.length,s._hasCartesian=s._has("cartesian"),s._hasGeo=s._has("geo"),s._hasGL3D=s._has("gl3d"),s._hasGL2D=s._has("gl2d"),s._hasTernary=s._has("ternary"),s._hasPie=s._has("pie"),v.linkSubplots(f,s,u,i),v.cleanPlot(f,s,u,i),d(s,i),s._preGUI||(s._preGUI={}),s._tracePreGUI||(s._tracePreGUI={});var F,B=s._tracePreGUI,N={};for(F in B)N[F]="old";for(o=0;o0){var f=1-2*s;n=Math.round(f*n),a=Math.round(f*a)}}var h=v.layoutAttributes.width.min,p=v.layoutAttributes.height.min;n1,g=!e.height&&Math.abs(r.height-a)>1;(g||d)&&(d&&(r.width=n),g&&(r.height=a)),t._initialAutoSize||(t._initialAutoSize={width:n,height:a}),v.sanitizeMargins(r)},v.supplyLayoutModuleDefaults=function(t,e,r,n){var i,o,s,c=a.componentsRegistry,u=e._basePlotModules,f=a.subplotsRegistry.cartesian;for(i in c)(s=c[i]).includeBasePlot&&s.includeBasePlot(t,e);for(var h in u.length||u.push(f),e._has("cartesian")&&(a.getComponentMethod("grid","contentDefaults")(t,e),f.finalizeSubplots(t,e)),e._subplots)e._subplots[h].sort(l.subplotSort);for(o=0;o.5*n.width&&(r.l=r.r=0),r.b+r.t>.5*n.height&&(r.b=r.t=0);var l=void 0!==r.xl?r.xl:r.x,c=void 0!==r.xr?r.xr:r.x,u=void 0!==r.yt?r.yt:r.y,f=void 0!==r.yb?r.yb:r.y;i[e]={l:{val:l,size:r.l+o},r:{val:c,size:r.r+o},b:{val:f,size:r.b+o},t:{val:u,size:r.t+o}},a[e]=1}else delete i[e],delete a[e];n._replotting||v.doAutoMargin(t)}},v.doAutoMargin=function(t){var e=t._fullLayout;e._size||(e._size={}),M(e);var r=e._size,n=JSON.stringify(r),o=e.margin,s=o.l,l=o.r,c=o.t,u=o.b,f=e._pushmargin,h=e._pushmarginIds;if(!1!==e.margin.autoexpand){for(var p in f)h[p]||delete f[p];for(var d in f.base={l:{val:0,size:s},r:{val:1,size:l},t:{val:1,size:c},b:{val:0,size:u}},f){var g=f[d].l||{},v=f[d].b||{},m=g.val,y=g.size,x=v.val,b=v.size;for(var _ in f){if(i(y)&&f[_].r){var w=f[_].r.val,k=f[_].r.size;if(w>m){var A=(y*w+(k-e.width)*m)/(w-m),T=(k*(1-m)+(y-e.width)*(1-w))/(w-m);A>=0&&T>=0&&A+T>s+l&&(s=A,l=T)}}if(i(b)&&f[_].t){var S=f[_].t.val,C=f[_].t.size;if(S>x){var E=(b*S+(C-e.height)*x)/(S-x),L=(C*(1-x)+(b-e.height)*(1-S))/(S-x);E>=0&&L>=0&&E+L>u+c&&(u=E,c=L)}}}}}if(r.l=Math.round(s),r.r=Math.round(l),r.t=Math.round(c),r.b=Math.round(u),r.p=Math.round(o.pad),r.w=Math.round(e.width)-r.l-r.r,r.h=Math.round(e.height)-r.t-r.b,!e._replotting&&"{}"!==n&&n!==JSON.stringify(e._size))return"_redrawFromAutoMarginCount"in e?e._redrawFromAutoMarginCount++:e._redrawFromAutoMarginCount=1,a.call("plot",t)},v.graphJson=function(t,e,r,n,i){(i&&e&&!t._fullData||i&&!e&&!t._fullLayout)&&v.supplyDefaults(t);var a=i?t._fullData:t.data,o=i?t._fullLayout:t.layout,s=(t._transitionData||{})._frames;function c(t){if("function"==typeof t)return null;if(l.isPlainObject(t)){var e,n,i={};for(e in t)if("function"!=typeof t[e]&&-1===["_","["].indexOf(e.charAt(0))){if("keepdata"===r){if("src"===e.substr(e.length-3))continue}else if("keepstream"===r){if("string"==typeof(n=t[e+"src"])&&n.indexOf(":")>0&&!l.isPlainObject(t.stream))continue}else if("keepall"!==r&&"string"==typeof(n=t[e+"src"])&&n.indexOf(":")>0)continue;i[e]=c(t[e])}return i}return Array.isArray(t)?t.map(c):l.isTypedArray(t)?l.simpleMap(t,l.identity):l.isJSDate(t)?l.ms2DateTimeLocal(+t):t}var u={data:(a||[]).map(function(t){var r=c(t);return e&&delete r.fit,r})};return e||(u.layout=c(o)),t.framework&&t.framework.isPolar&&(u=t.framework.getConfig()),s&&(u.frames=c(s)),"object"===n?u:JSON.stringify(u)},v.modifyFrames=function(t,e){var r,n,i,a=t._transitionData._frames,o=t._transitionData._frameHash;for(r=0;r=0;s--)if(o[s].enabled){r._indexToPoints=o[s]._indexToPoints;break}n&&n.calc&&(a=n.calc(t,r))}Array.isArray(a)&&a[0]||(a=[{x:u,y:u}]),a[0].t||(a[0].t={}),a[0].trace=r,d[e]=a}}for(y&&S(c,h),i=0;i1e-10?t:0}function h(t,e,r){e=e||0,r=r||0;for(var n=t.length,i=new Array(n),a=0;a0?r:1/0}),i=n.mod(r+1,e.length);return[e[r],e[i]]},findIntersectionXY: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=0?h.angularAxis.domain:n.extent(k),C=Math.abs(k[1]-k[0]);M&&!A&&(C=0);var E=S.slice();T&&A&&(E[1]+=C);var L=h.angularAxis.ticksCount||4;L>8&&(L=L/(L/8)+L%8),h.angularAxis.ticksStep&&(L=(E[1]-E[0])/L);var z=h.angularAxis.ticksStep||(E[1]-E[0])/(L*(h.minorTicks+1));w&&(z=Math.max(Math.round(z),1)),E[2]||(E[2]=z);var O=n.range.apply(this,E);if(O=O.map(function(t,e){return parseFloat(t.toPrecision(12))}),s=n.scale.linear().domain(E.slice(0,2)).range("clockwise"===h.direction?[0,360]:[360,0]),u.layout.angularAxis.domain=s.domain(),u.layout.angularAxis.endPadding=T?C:0,"undefined"==typeof(t=n.select(this).select("svg.chart-root"))||t.empty()){var I=(new DOMParser).parseFromString("' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '","application/xml"),D=this.appendChild(this.ownerDocument.importNode(I.documentElement,!0));t=n.select(D)}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 P,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){P=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:P,elements:N,reverseOrder:h.legend.reverseOrder})})();var j=P.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(),P.attr("transform","translate("+[_[0]+x,_[1]-x]+")")}else P=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 V=[(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(V[0]=Math.max(0,V[0]),V[1]=Math.max(0,V[1]),t.select(".outer-group").attr("transform","translate("+V+")"),h.title&&h.title.text){var U=t.select("g.title-group text").style(B).text(h.title.text),q=U.node().getBBox();U.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 W=t.select("circle.background-circle").attr({r:x}).style({fill:h.backgroundColor,stroke:h.stroke});function Y(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(O),$=Z.enter().append("g").classed("angular-tick",!0);Z.attr({transform:function(t,e){return"rotate("+Y(t)+")"}}).style({display:h.angularAxis.visible?"block":"none"}),Z.exit().remove(),$.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),$.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"}),$.append("text").classed("axis-text",!0).style(B);var J=Z.select("text.axis-text").attr({x:x+h.labelOffset,dy:a+"em",transform:function(t,e){var r=Y(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&&J.text(function(t,e){return e%(h.minorTicks+1)!=0?"":h.angularAxis.rewriteTicks(this.textContent,e)});var K=n.max(R.selectAll(".angular-tick text")[0].map(function(t,e){return t.getCTM().e+t.getBBox().width}));P.attr({transform:"translate("+[x+K,h.margin.top]+")"});var Q=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]||Q){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(!A){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(W).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(W).radius;ht.attr({r:n}).style({opacity:.5}),at=r.invert(o.util.getMousePos(W).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])};A&&(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-V[0]-h.left,f.top+f.height/2-V[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;i0)){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 v=g.selectAll("path.mark").data(function(t,e){return t});v.enter().append("path").attr({class:"mark"}),v.style(d).each(c[e.geometryType]),v.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),v=n.scale[u?"linear":"ordinal"]().domain(d)[u?"range":"rangePoints"]([0,f]);if(u){var m=h.select(".legend-marks").append("defs").append("linearGradient").attr({id:"grad1",x1:"0%",y1:"0%",x2:"0%",y2:"100%"}).selectAll("stop").data(l);m.enter().append("stop"),m.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,v(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(v).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,v=p.height+2*h;return r.attr({d:"M"+[[l,-v/2],[l,-v/4],[a.hasTick?0:l,0],[l,v/4],[l,v/2],[g,v/2],[g,-v/2]].join("L")+"Z"}).style(d),t.attr({transform:"translate("+[l,-v/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":666,"../../../lib":694,d3:149}],816:[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":571,"../../../lib":694,"./micropolar":815,"./undo_manager":817,d3:149}],817:[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?this:(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 r0?1:-1}function N(t){return B(Math.cos(t))}function j(t){return B(Math.sin(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=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]}(h),x=y[2]-y[0],b=y[3]-y[1],_=f/u,w=Math.abs(b/x);_>w?(p=u,m=(f-(d=u*w))/n.h/2,g=[o[0],o[1]],v=[c[0]+m,c[1]-m]):(d=f,m=(u-(p=f/w))/n.w/2,g=[o[0]+m,o[1]-m],v=[c[0],c[1]]),this.xLength2=p,this.yLength2=d,this.xDomain2=g,this.yDomain2=v;var k=this.xOffset2=n.l+n.w*g[0],A=this.yOffset2=n.t+n.h*(1-v[1]),M=this.radius=p/x,T=this.innerRadius=e.hole*M,S=this.cx=k-M*y[0],L=this.cy=A+M*y[3],z=this.cxx=S-k,O=this.cyy=L-A;this.radialAxis=this.mockAxis(t,e,i,{_id:"x",side:{counterclockwise:"top",clockwise:"bottom"}[i.side],domain:[T/n.w,M/n.w]}),this.angularAxis=this.mockAxis(t,e,a,{side:"right",domain:[0,Math.PI],autorange:!1}),this.doAutoRange(t,e),this.updateAngularAxis(t,e),this.updateRadialAxis(t,e),this.updateRadialAxisTitle(t,e),this.xaxis=this.mockCartesianAxis(t,e,{_id:"x",domain:g}),this.yaxis=this.mockCartesianAxis(t,e,{_id:"y",domain:v});var I=this.pathSubplot();this.clipPaths.forTraces.select("path").attr("d",I).attr("transform",R(z,O)),r.frontplot.attr("transform",R(k,A)).call(l.setClipUrl,this._hasClipOnAxisFalse?null:this.clipIds.forTraces,this.gd),r.bg.attr("d",I).attr("transform",R(S,L)).call(s.fill,e.bgcolor)},O.mockAxis=function(t,e,r,n){var i=o.extendFlat({anchor:"free",position:0},r,n);return h(i,e,t),i},O.mockCartesianAxis=function(t,e,r){var n=this,i=r._id,a=o.extendFlat({type:"linear"},r);f(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(),p(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,l=r.innerRadius,c=r.cx,f=r.cy,h=e.radialaxis,p=C(e.sector[0],360),d=r.radialAxis,g=l90&&p<=270&&(d.tickangle=180);var v=function(t){return"translate("+(d.l2p(t.x)+l)+",0)"},m=I(h);if(r.radialTickLayout!==m&&(i["radial-axis"].selectAll(".xtick").remove(),r.radialTickLayout=m),g){d.setScale();var y=u.calcTicks(d),x=u.clipEnds(d,y),b=u.makeLabelFns(d,0),_=u.getTickSigns(d)[2];u.drawTicks(n,d,{vals:y,layer:i["radial-axis"],path:u.makeTickPath(d,0,_),transFn:v,crisp:!1}),u.drawGrid(n,d,{vals:x,layer:i["radial-grid"],path:function(t){return r.pathArc(d.r2p(t.x)+l)},transFn:o.noop,crisp:!1}),u.drawLabels(n,d,{vals:y,layer:i["radial-axis"],transFn:v,labelXFn:b.labelXFn,labelYFn:b.labelYFn,labelAnchorFn:b.labelAnchorFn})}var w=r.radialAxisAngle=r.vangles?L(D(E(h.angle),r.vangles)):h.angle,k=R(c,f),A=k+F(-w);P(i["radial-axis"],g&&(h.showticklabels||h.ticks),{transform:A}),P(i["radial-grid"],g&&h.showgrid,{transform:k}),P(i["radial-line"].select("line"),g&&h.showline,{x1:l,y1:0,x2:a,y2:0,transform:A}).attr("stroke-width",h.linewidth).call(s.stroke,h.linecolor)},O.updateRadialAxisTitle=function(t,e,r){var n=this.gd,i=this.radius,a=this.cx,o=this.cy,s=e.radialaxis,c=this.id+"title",u=void 0!==r?r:this.radialAxisAngle,f=E(u),h=Math.cos(f),p=Math.sin(f),d=0;if(s.title){var g=l.bBox(this.layers["radial-axis"].node()).height,v=s.title.font.size;d="counterclockwise"===s.side?-g-.4*v:g+.8*v}this.layers["radial-axis-title"]=m.draw(n,c,{propContainer:s,propName:this.id+".radialaxis.title",placeholder:S(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:-u}})},O.updateAngularAxis=function(t,e){var r=this,n=r.gd,i=r.layers,a=r.radius,l=r.innerRadius,c=r.cx,f=r.cy,h=e.angularaxis,p=r.angularAxis;r.fillViewInitialKey("angularaxis.rotation",h.rotation),p.setGeometry(),p.setScale();var d=function(t){return p.t2g(t.x)};"linear"===p.type&&"radians"===p.thetaunit&&(p.tick0=L(p.tick0),p.dtick=L(p.dtick));var g=function(t){return R(c+a*Math.cos(t),f-a*Math.sin(t))},v=u.makeLabelFns(p,0),m=v.labelStandoff,y=v.labelShift,x="outside"!==h.ticks?.7:.5,b=(p.linewidth||1)/2,_=I(h);r.angularTickLayout!==_&&(i["angular-axis"].selectAll("."+p._id+"tick").remove(),r.angularTickLayout=_);var w,k=u.calcTicks(p);if("linear"===e.gridshape?(w=k.map(d),o.angleDelta(w[0],w[1])<0&&(w=w.slice().reverse())):w=null,r.vangles=w,"category"===p.type&&(k=k.filter(function(t){return o.isAngleInsideSector(d(t),r.sectorInRad)})),p.visible){var M="inside"===p.ticks?-1:1;u.drawTicks(n,p,{vals:k,layer:i["angular-axis"],path:"M"+M*b+",0h"+M*p.ticklen,transFn:function(t){var e=d(t);return g(e)+F(-L(e))},crisp:!1}),u.drawGrid(n,p,{vals:k,layer:i["angular-grid"],path:function(t){var e=d(t),r=Math.cos(e),n=Math.sin(e);return"M"+[c+l*r,f-l*n]+"L"+[c+a*r,f-a*n]},transFn:o.noop,crisp:!1}),u.drawLabels(n,p,{vals:k,layer:i["angular-axis"],repositionOnUpdate:!0,transFn:function(t){return g(d(t))},labelXFn:function(t){var e=d(t);return(0===j(e)?0:Math.cos(e)*(m+b+x*t.fontSize))+N(e)*(t.dx+m+b)},labelYFn:function(t){var e=d(t);return t.dy+t.fontSize*A-y+-Math.sin(e)*(m+b+x*t.fontSize)},labelAnchorFn:function(t,e){var r=d(e);return 0===j(r)?N(r)>0?"start":"end":"middle"}})}P(i["angular-line"].select("path"),h.showline,{d:r.pathSubplot(),transform:R(c,f)}).attr("stroke-width",h.linewidth).call(s.stroke,h.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=this,r=e.gd,o=e.layers,s=t._zoomlayer,l=M.MINZOOM,c=M.OFFEDGE,u=e.radius,f=e.innerRadius,h=e.cx,p=e.cy,m=e.cxx,_=e.cyy,w=e.sectorInRad,k=e.vangles,A=e.radialAxis,S=T.clampTiny,C=T.findXYatLength,E=T.findEnclosingVertexAngles,L=M.cornerHalfWidth,z=M.cornerLen/2,O=d.makeDragger(o,"path","maindrag","crosshair");n.select(O).attr("d",e.pathSubplot()).attr("transform",R(h,p));var I,D,P,F,B,N,j,V,U,q={element:O,gd:r,subplot:e.id,plotinfo:{id:e.id,xaxis:e.xaxis,yaxis:e.yaxis},xaxes:[e.xaxis],yaxes:[e.yaxis]};function H(t,e){return Math.sqrt(t*t+e*e)}function G(t,e){return H(t-m,e-_)}function W(t,e){return Math.atan2(_-e,t-m)}function Y(t,e){return[t*Math.cos(e),t*Math.sin(-e)]}function X(t,r){if(0===t)return e.pathSector(2*L);var n=z/t,i=r-n,a=r+n,o=Math.max(0,Math.min(t,u)),s=o-L,l=o+L;return"M"+Y(s,i)+"A"+[s,s]+" 0,0,0 "+Y(s,a)+"L"+Y(l,a)+"A"+[l,l]+" 0,0,1 "+Y(l,i)+"Z"}function Z(t,r,n){if(0===t)return e.pathSector(2*L);var i,a,o=Y(t,r),s=Y(t,n),l=S((o[0]+s[0])/2),c=S((o[1]+s[1])/2);if(l&&c){var u=c/l,f=-1/u,h=C(L,u,l,c);i=C(z,f,h[0][0],h[0][1]),a=C(z,f,h[1][0],h[1][1])}else{var p,d;c?(p=z,d=L):(p=L,d=z),i=[[l-p,c-d],[l+p,c-d]],a=[[l-p,c+d],[l+p,c+d]]}return"M"+i.join("L")+"L"+a.reverse().join("L")+"Z"}function $(t,e){return e=Math.max(Math.min(e,u),f),tl?(t-1&&1===t&&x(n,r,[e.xaxis],[e.yaxis],e.id,q),i.indexOf("event")>-1&&v.click(r,n,e.id)}q.prepFn=function(t,n,a){var o=r._fullLayout.dragmode,l=O.getBoundingClientRect();if(I=n-l.left,D=a-l.top,k){var c=T.findPolygonOffset(u,w[0],w[1],k);I+=m+c[0],D+=_+c[1]}switch(o){case"zoom":q.moveFn=k?tt:K,q.clickFn=rt,q.doneFn=et,function(){P=null,F=null,B=e.pathSubplot(),N=!1;var t=r._fullLayout[e.id];j=i(t.bgcolor).getLuminance(),(V=d.makeZoombox(s,j,h,p,B)).attr("fill-rule","evenodd"),U=d.makeCorners(s,h,p),b(s)}();break;case"select":case"lasso":y(t,n,a,q,o)}},O.onmousemove=function(t){v.hover(r,t,e.id),r._fullLayout._lasthover=O,r._fullLayout._hoversubplot=e.id},O.onmouseout=function(t){r._dragging||g.unhover(r,t)},g.init(q)},O.updateRadialDrag=function(t,e,r){var i=this,s=i.gd,l=i.layers,c=i.radius,u=i.innerRadius,f=i.cx,h=i.cy,p=i.radialAxis,v=M.radialDragBoxSize,m=v/2;if(p.visible){var y,x,_,A=E(i.radialAxisAngle),T=p._rl,S=T[0],C=T[1],z=T[r],O=.75*(T[1]-T[0])/(1-e.hole)/c;r?(y=f+(c+m)*Math.cos(A),x=h-(c+m)*Math.sin(A),_="radialdrag"):(y=f+(u-m)*Math.cos(A),x=h-(u-m)*Math.sin(A),_="radialdrag-inner");var I,B,N,j=d.makeRectDragger(l,_,"crosshair",-m,-m,v,v),V={element:j,gd:s};P(n.select(j),p.visible&&u0==(r?N>S:Nn?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=u&&(p.min=0,g.min=0,v.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,v=o("title.text",g);e._hovertitle=v===g?v: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":571,"../../lib":694,"../../plot_api/plot_template":732,"../cartesian/line_grid_defaults":757,"../cartesian/tick_label_defaults":762,"../cartesian/tick_mark_defaults":763,"../cartesian/tick_value_defaults":764,"../subplot_defaults":820,"./layout_attributes":822}],824:[function(t,e,r){"use strict";var n=t("d3"),i=t("tinycolor2"),a=t("../../registry"),o=t("../../lib"),s=o._,l=t("../../components/color"),c=t("../../components/drawing"),u=t("../cartesian/set_convert"),f=t("../../lib/extend").extendFlat,h=t("../plots"),p=t("../cartesian/axes"),d=t("../../components/dragelement"),g=t("../../components/fx"),v=t("../../components/titles"),m=t("../cartesian/select").prepSelect,y=t("../cartesian/select").selectOnClick,x=t("../cartesian/select").clearSelect,b=t("../cartesian/constants");function _(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=_;var w=_.prototype;w.init=function(t){this.container=t._ternarylayer,this.defs=t._defs,this.layoutId=t._uid,this.traceHash={},this.layers={}},w.plot=function(t,e){var r=e[this.id],n=e._size;this._hasClipOnAxisFalse=!1;for(var i=0;ik*x?i=(a=x)*k:a=(i=y)/k,o=v*i/y,s=m*a/x,r=e.l+e.w*d-i/2,n=e.t+e.h*(1-g)-a/2,h.x0=r,h.y0=n,h.w=i,h.h=a,h.sum=b,h.xaxis={type:"linear",range:[_+2*A-b,b-_-2*w],domain:[d-o/2,d+o/2],_id:"x"},u(h.xaxis,h.graphDiv._fullLayout),h.xaxis.setScale(),h.xaxis.isPtWithinRange=function(t){return t.a>=h.aaxis.range[0]&&t.a<=h.aaxis.range[1]&&t.b>=h.baxis.range[1]&&t.b<=h.baxis.range[0]&&t.c>=h.caxis.range[1]&&t.c<=h.caxis.range[0]},h.yaxis={type:"linear",range:[_,b-w-A],domain:[g-s/2,g+s/2],_id:"y"},u(h.yaxis,h.graphDiv._fullLayout),h.yaxis.setScale(),h.yaxis.isPtWithinRange=function(){return!0};var M=h.yaxis.domain[0],T=h.aaxis=f({},t.aaxis,{range:[_,b-w-A],side:"left",tickangle:(+t.aaxis.tickangle||0)-30,domain:[M,M+s*k],anchor:"free",position:0,_id:"y",_length:i});u(T,h.graphDiv._fullLayout),T.setScale();var S=h.baxis=f({},t.baxis,{range:[b-_-A,w],side:"bottom",domain:h.xaxis.domain,anchor:"free",position:0,_id:"x",_length:i});u(S,h.graphDiv._fullLayout),S.setScale();var C=h.caxis=f({},t.caxis,{range:[b-_-w,A],side:"right",tickangle:(+t.caxis.tickangle||0)+30,domain:[M,M+s*k],anchor:"free",position:0,_id:"y",_length:i});u(C,h.graphDiv._fullLayout),C.setScale();var E="M"+r+","+(n+a)+"h"+i+"l-"+i/2+",-"+a+"Z";h.clipDef.select("path").attr("d",E),h.layers.plotbg.select("path").attr("d",E);var L="M0,"+a+"h"+i+"l-"+i/2+",-"+a+"Z";h.clipDefRelative.select("path").attr("d",L);var z="translate("+r+","+n+")";h.plotContainer.selectAll(".scatterlayer,.maplayer").attr("transform",z),h.clipDefRelative.select("path").attr("transform",null);var O="translate("+(r-S._offset)+","+(n+a)+")";h.layers.baxis.attr("transform",O),h.layers.bgrid.attr("transform",O);var I="translate("+(r+i/2)+","+n+")rotate(30)translate(0,"+-T._offset+")";h.layers.aaxis.attr("transform",I),h.layers.agrid.attr("transform",I);var D="translate("+(r+i/2)+","+n+")rotate(-30)translate(0,"+-C._offset+")";h.layers.caxis.attr("transform",D),h.layers.cgrid.attr("transform",D),h.drawAxes(!0),h.layers.aline.select("path").attr("d",T.showline?"M"+r+","+(n+a)+"l"+i/2+",-"+a:"M0,0").call(l.stroke,T.linecolor||"#000").style("stroke-width",(T.linewidth||0)+"px"),h.layers.bline.select("path").attr("d",S.showline?"M"+r+","+(n+a)+"h"+i:"M0,0").call(l.stroke,S.linecolor||"#000").style("stroke-width",(S.linewidth||0)+"px"),h.layers.cline.select("path").attr("d",C.showline?"M"+(r+i/2)+","+n+"l"+i/2+","+a:"M0,0").call(l.stroke,C.linecolor||"#000").style("stroke-width",(C.linewidth||0)+"px"),h.graphDiv._context.staticPlot||h.initInteractions(),c.setClipUrl(h.layers.frontplot,h._hasClipOnAxisFalse?null:h.clipId,h.graphDiv)},w.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 l=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"]=v.draw(e,"a"+r,{propContainer:i,propName:this.id+".aaxis.title",placeholder:s(e,"Click to enter Component A title"),attributes:{x:this.x0+this.w/2,y:this.y0-i.title.font.size/3-l,"text-anchor":"middle"}}),n["b-title"]=v.draw(e,"b"+r,{propContainer:a,propName:this.id+".baxis.title",placeholder:s(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"]=v.draw(e,"c"+r,{propContainer:o,propName:this.id+".caxis.title",placeholder:s(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"}})}},w.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=p.calcTicks(t),f=p.clipEnds(t,u),h=p.makeTransFn(t),d=p.getTickSigns(t)[2],g=o.deg2rad(30),v=d*(t.linewidth||1)/2,m=d*t.ticklen,y=this.w,x=this.h,b="b"===i?"M0,"+v+"l"+Math.sin(g)*m+","+Math.cos(g)*m:"M"+v+",0l"+Math.cos(g)*m+","+-Math.sin(g)*m,_={a:"M0,0l"+x+",-"+y/2,b:"M0,0l-"+y/2+",-"+x,c:"M0,0l-"+x+","+y/2}[i];p.drawTicks(r,t,{vals:"inside"===t.ticks?f:u,layer:s,path:b,transFn:h,crisp:!1}),p.drawGrid(r,t,{vals:f,layer:this.layers[i+"grid"],path:_,transFn:h,crisp:!1});var w=p.makeLabelFns(t,0,30);p.drawLabels(r,t,{vals:u,layer:s,transFn:h,labelXFn:w.labelXFn,labelYFn:w.labelYFn,labelAnchorFn:w.labelAnchorFn})};var A=b.MINZOOM/2+.87,M="m-0.87,.5h"+A+"v3h-"+(A+5.2)+"l"+(A/2+2.6)+",-"+(.87*A+4.5)+"l2.6,1.5l-"+A/2+","+.87*A+"Z",T="m0.87,.5h-"+A+"v3h"+(A+5.2)+"l-"+(A/2+2.6)+",-"+(.87*A+4.5)+"l-2.6,1.5l"+A/2+","+.87*A+"Z",S="m0,1l"+A/2+","+.87*A+"l2.6,-1.5l-"+(A/2+2.6)+",-"+(.87*A+4.5)+"l-"+(A/2+2.6)+","+(.87*A+4.5)+"l2.6,1.5l"+A/2+",-"+.87*A+"Z",C="m0.5,0.5h5v-2h-5v-5h-2v5h-5v2h5v5h2Z",E=!0;function L(t){n.select(t).selectAll(".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners").remove()}w.initInteractions=function(){var t,e,r,n,u,f,h,p,v,_,w=this,A=w.layers.plotbg.select("path").node(),z=w.graphDiv,O=z._fullLayout._zoomlayer,I={element:A,gd:z,plotinfo:{id:w.id,xaxis:w.xaxis,yaxis:w.yaxis},subplot:w.id,prepFn:function(a,o,s){I.xaxes=[w.xaxis],I.yaxes=[w.yaxis];var c=z._fullLayout.dragmode;I.minDrag="lasso"===c?1:void 0,"zoom"===c?(I.moveFn=N,I.clickFn=P,I.doneFn=j,function(a,o,s){var c=A.getBoundingClientRect();t=o-c.left,e=s-c.top,r={a:w.aaxis.range[0],b:w.baxis.range[1],c:w.caxis.range[1]},u=r,n=w.aaxis.range[1]-r.a,f=i(w.graphDiv._fullLayout[w.id].bgcolor).getLuminance(),h="M0,"+w.h+"L"+w.w/2+", 0L"+w.w+","+w.h+"Z",p=!1,v=O.append("path").attr("class","zoombox").attr("transform","translate("+w.x0+", "+w.y0+")").style({fill:f>.2?"rgba(0,0,0,0)":"rgba(255,255,255,0)","stroke-width":0}).attr("d",h),_=O.append("path").attr("class","zoombox-corners").attr("transform","translate("+w.x0+", "+w.y0+")").style({fill:l.background,stroke:l.defaultLine,"stroke-width":1,opacity:0}).attr("d","M0,0Z"),x(O)}(0,o,s)):"pan"===c?(I.moveFn=V,I.clickFn=P,I.doneFn=U,r={a:w.aaxis.range[0],b:w.baxis.range[1],c:w.caxis.range[1]},u=r,x(O)):"select"!==c&&"lasso"!==c||m(a,o,s,I,c)}};function D(t){var e={};return e[w.id+".aaxis.min"]=t.a,e[w.id+".baxis.min"]=t.b,e[w.id+".caxis.min"]=t.c,e}function P(t,e){var r=z._fullLayout.clickmode;L(z),2===t&&(z.emit("plotly_doubleclick",null),a.call("_guiRelayout",z,D({a:0,b:0,c:0}))),r.indexOf("select")>-1&&1===t&&y(e,z,[w.xaxis],[w.yaxis],w.id,I),r.indexOf("event")>-1&&g.click(z,e,w.id)}function R(t,e){return 1-e/w.h}function F(t,e){return 1-(t+(w.h-e)/Math.sqrt(3))/w.w}function B(t,e){return(t-(w.h-e)/Math.sqrt(3))/w.w}function N(i,a){var o=t+i,s=e+a,l=Math.max(0,Math.min(1,R(0,e),R(0,s))),c=Math.max(0,Math.min(1,F(t,e),F(o,s))),d=Math.max(0,Math.min(1,B(t,e),B(o,s))),g=(l/2+d)*w.w,m=(1-l/2-c)*w.w,y=(g+m)/2,x=m-g,A=(1-l)*w.h,E=A-x/k;x.2?"rgba(0,0,0,0.4)":"rgba(255,255,255,0.3)").duration(200),_.transition().style("opacity",1).duration(200),p=!0)}function j(){L(z),u!==r&&(a.call("_guiRelayout",z,D(u)),E&&z.data&&z._context.showTips&&(o.notifier(s(z,"Double-click to zoom back out"),"long"),E=!1))}function V(t,e){var n=t/w.xaxis._m,i=e/w.yaxis._m,a=[(u={a:r.a-i,b:r.b+(n+i)/2,c:r.c-(n-i)/2}).a,u.b,u.c].sort(),o=a.indexOf(u.a),s=a.indexOf(u.b),l=a.indexOf(u.c);a[0]<0&&(a[1]+a[0]/2<0?(a[2]+=a[0]+a[1],a[0]=a[1]=0):(a[2]+=a[0]/2,a[1]+=a[0]/2,a[0]=0),u={a:a[o],b:a[s],c:a[l]},e=(r.a-u.a)*w.yaxis._m,t=(r.c-u.c-r.b+u.b)*w.xaxis._m);var f="translate("+(w.x0+t)+","+(w.y0+e)+")";w.plotContainer.selectAll(".scatterlayer,.maplayer").attr("transform",f);var h="translate("+-t+","+-e+")";w.clipDefRelative.select("path").attr("transform",h),w.aaxis.range=[u.a,w.sum-u.b-u.c],w.baxis.range=[w.sum-u.a-u.c,u.b],w.caxis.range=[w.sum-u.a-u.b,u.c],w.drawAxes(!1),w._hasClipOnAxisFalse&&w.plotContainer.select(".scatterlayer").selectAll(".trace").call(c.hideOutsideRangePoints,w)}function U(){a.call("_guiRelayout",z,D(u))}A.onmousemove=function(t){g.hover(z,t,w.id),z._fullLayout._lasthover=A,z._fullLayout._hoversubplot=w.id},A.onmouseout=function(t){z._dragging||d.unhover(z,t)},d.init(I)}},{"../../components/color":571,"../../components/dragelement":589,"../../components/drawing":592,"../../components/fx":610,"../../components/titles":659,"../../lib":694,"../../lib/extend":684,"../../registry":825,"../cartesian/axes":742,"../cartesian/constants":748,"../cartesian/select":760,"../cartesian/set_convert":761,"../plots":806,d3:149,tinycolor2:515}],825:[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/extend"),l=t("./plots/attributes"),c=t("./plots/layout_attributes"),u=s.extendFlat,f=s.extendDeepAll;function h(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)x(i,t.name)}(t.basePlotModule);for(var o={},s=0;s-1&&(u[h[r]].title={text:""});for(r=0;rpath, .legendlines>path, .cbfill").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 _=(new window.XMLSerializer).serializeToString(h.node());return _=function(t){var e=n.select("body").append("div").style({display:"none"}).html(""),r=t.replace(/(&[^;]*;)/gi,function(t){return"<"===t?"<":"&rt;"===t?">":-1!==t.indexOf("<")||-1!==t.indexOf(">")?"":e.html(t).text()});return e.remove(),r}(_),_=(_=_.replace(/&(?!\w+;|\#[0-9]+;| \#x[0-9A-F]+;)/g,"&")).replace(c,"'"),i.isIE()&&(_=(_=(_=_.replace(/"/gi,"'")).replace(/(\('#)([^']*)('\))/gi,'("#$2")')).replace(/(\\')/gi,'"')),_}},{"../components/color":571,"../components/drawing":592,"../constants/xmlns_namespaces":672,"../lib":694,d3:149}],834:[function(t,e,r){"use strict";var n=t("../../lib").mergeArray;e.exports=function(t,e){for(var r=0;r0&&h.s>0||(u=!1)}l._extremes[e._id]=s.findExtremes(e,c,{tozero:!u,padded:!0})}}function v(t,e,r){for(var n=r.traces,i=0;ih+u||!n(f))}for(var d=0;d0&&w.s>0||(x=!1)}}v._extremes[e._id]=s.findExtremes(e,m,{tozero:!x,padded:b})}}function y(t){return t._id.charAt(0)}e.exports={crossTraceCalc:function(t,e){for(var r=e.xaxis,n=e.yaxis,i=t._fullData,a=t.calcdata,s=[],l=[],u=0;ua))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.01?E:function(t,e){return Math.abs(t-e)>=2?E(t):t>e?Math.ceil(t):Math.floor(t)};_=C(_,w),w=C(w,_),k=C(k,A),A=C(A,k)}a.ensureSingle(M,"path").style("vector-effect","non-scaling-stroke").attr("d","M"+_+","+k+"V"+A+"H"+w+"V"+k+"Z").call(l.setClipUrl,e.layerClipId,t),function(t,e,r,n,i,s,c,u){var m;function y(e,r,n){var i=a.ensureSingle(e,"text").text(r).attr({class:"bartext bartext-"+m,transform:"","text-anchor":"middle","data-notex":1}).call(l.font,n).call(o.convertToTspans,t);return i}var x=r[0].trace,b=x.orientation,_=function(t,e){var r=p.getValue(t.text,e);return p.coerceString(f,r)}(x,n);if(m=function(t,e){var r=p.getValue(t.textposition,e);return p.coerceEnumerated(h,r)}(x,n),!_||"none"===m)return void e.select("text").remove();var w,k,A,M,T,S,C=t._fullLayout.font,E=d.getBarColor(r[n],x),L=d.getInsideTextFont(x,n,C,E),z=d.getOutsideTextFont(x,n,C),O=t._fullLayout.barmode,I="relative"===O,D="stack"===O||I,P=r[n],R=!D||P._outmost,F=Math.abs(s-i)-2*g,B=Math.abs(u-c)-2*g;"outside"===m&&(R||P.hasB||(m="inside"));if("auto"===m)if(R){m="inside",w=y(e,_,L),k=l.bBox(w.node()),A=k.width,M=k.height;var N=A>0&&M>0,j=A<=F&&M<=B,V=A<=B&&M<=F,U="h"===b?F>=A*(B/M):B>=M*(F/A);N&&(j||V||U)?m="inside":(m="outside",w.remove(),w=null)}else m="inside";if(!w&&(w=y(e,_,"outside"===m?z:L),k=l.bBox(w.node()),A=k.width,M=k.height,A<=0||M<=0))return void w.remove();"outside"===m?(S="both"===x.constraintext||"outside"===x.constraintext,T=function(t,e,r,n,i,a,o){var s,l="h"===a?Math.abs(n-r):Math.abs(e-t);l>2*g&&(s=g);var c=1;o&&(c="h"===a?Math.min(1,l/i.height):Math.min(1,l/i.width));var u,f,h,p,d=(i.left+i.right)/2,m=(i.top+i.bottom)/2;u=c*i.width,f=c*i.height,"h"===a?er?(h=(t+e)/2,p=n+s+f/2):(h=(t+e)/2,p=n-s-f/2);return v(d,m,h,p,c,!1)}(i,s,c,u,k,b,S)):(S="both"===x.constraintext||"inside"===x.constraintext,T=function(t,e,r,n,i,a,o){var s,l,c,u,f,h,p,d=i.width,m=i.height,y=(i.left+i.right)/2,x=(i.top+i.bottom)/2,b=Math.abs(e-t),_=Math.abs(n-r);b>2*g&&_>2*g?(b-=2*(f=g),_-=2*f):f=0;d<=b&&m<=_?(h=!1,p=1):d<=_&&m<=b?(h=!0,p=1):dr?(c=(t+e)/2,u=n-f-l/2):(c=(t+e)/2,u=n+f+l/2);return v(y,x,c,u,p,h)}(i,s,c,u,k,b,S));w.attr("transform",T)}(t,M,r,u,_,w,k,A),e.layerClipId&&l.hideOutsideRangePoint(c,M.select("text"),m,y,b.xcalendar,b.ycalendar)}else M.remove();function E(t){return 0===x.bargap&&0===x.bargroupgap?n.round(Math.round(t)-S,2):t}});var w=!1===u.trace.cliponaxis;l.setClipUrl(c,w?null:e.layerClipId,t)});c.getComponentMethod("errorbars","plot")(t,b,e)}},{"../../components/color":571,"../../components/drawing":592,"../../lib":694,"../../lib/svg_text_utils":718,"../../registry":825,"./attributes":835,"./helpers":840,"./style":848,d3:149,"fast-isnumeric":215}],846:[function(t,e,r){"use strict";e.exports=function(t,e){var r,n=t.cd,i=t.xaxis,a=t.yaxis,o=[];if(!1===e)for(r=0;r1||0===a.bargap&&0===a.bargroupgap&&!t[0].trace.marker.line.width)&&n.select(this).attr("shape-rendering","crispEdges")}),r.selectAll("g.points").each(function(e){p(n.select(this),e[0].trace,t)}),s.getComponentMethod("errorbars","style")(r)},styleOnSelect:function(t,e){var r=e[0].node3,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.extendFlat({},d(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):p(r,i,t)},getInsideTextFont:v,getOutsideTextFont:m,getBarColor:x}},{"../../components/color":571,"../../components/drawing":592,"../../lib":694,"../../registry":825,"./attributes":835,"./helpers":840,d3:149}],849:[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":571,"../../components/colorscale/defaults":581,"../../components/colorscale/helpers":582}],850:[function(t,e,r){"use strict";var n=t("../../components/fx/hovertemplate_attributes"),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,{}),marker:o.marker,hoverinfo:a.hoverinfo,hovertemplate:n(),selected:o.selected,unselected:o.unselected}},{"../../components/fx/hovertemplate_attributes":609,"../../lib/extend":684,"../bar/attributes":835,"../scatterpolar/attributes":1109}],851:[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,v=0;vh.range[1]&&(x+=Math.PI);if(n.getClosest(c,function(t){return g(y,x,[t.rp0,t.rp1],[t.thetag0,t.thetag1],d)?v+Math.min(1,Math.abs(t.thetag1-t.thetag0)/m)-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":610,"../../lib":694,"../../plots/polar/helpers":808,"../bar/hover":841,"../scatter/fill_hover_text":1055,"../scatterpolar/hover":1112}],854:[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"),style:t("../bar/style").style,hoverPoints:t("./hover"),selectPoints:t("../bar/select"),meta:{}}},{"../../plots/polar":809,"../bar/select":846,"../bar/style":848,"../scatter/marker_colorbar":1065,"./attributes":850,"./calc":851,"./defaults":852,"./hover":853,"./layout_attributes":855,"./layout_defaults":856,"./plot":857}],855:[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"}}},{}],856:[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;l0?(c=o,u=l):(c=l,u=o);var f=s.findEnclosingVertexAngles(c,t.vangles)[0],h=s.findEnclosingVertexAngles(u,t.vangles)[1],p=[f,(c+u)/2,h];return s.pathPolygonAnnulus(n,i,c,u,p,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(r){var s=r[0].node3=n.select(this),p=a.ensureSingle(s,"g","points").selectAll("g.point").data(a.identity);p.enter().append("g").style("vector-effect","non-scaling-stroke").style("stroke-miterlimit",2).classed("point",!0),p.exit().remove(),p.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),v=(p+d)/2;t.ct=[l.c2p(g*Math.cos(v)),c.c2p(g*Math.sin(v))],e=h(o,s,p,d)}else e="M0,0Z";a.ensureSingle(r,"path").attr("d",e)}),o.setClipUrl(s,e._hasClipOnAxisFalse?e.clipIds.forTraces:null,t)})}},{"../../components/drawing":592,"../../lib":694,"../../plots/polar/helpers":808,d3:149,"fast-isnumeric":215}],858:[function(t,e,r){"use strict";var n=t("../scatter/attributes"),i=t("../../components/color/attributes"),a=t("../../lib/extend").extendFlat,o=n.marker,s=o.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"},name:{valType:"string",editType:"calc+clearAxisTypes"},text:a({},n.text,{}),whiskerwidth:{valType:"number",min:0,max:1,dflt:.5,editType:"calc"},notched:{valType:"boolean",editType:"calc"},notchwidth:{valType:"number",min:0,max:.5,dflt:.25,editType:"calc"},boxpoints:{valType:"enumerated",values:["all","outliers","suspectedoutliers",!1],dflt:"outliers",editType:"calc"},boxmean:{valType:"enumerated",values:[!0,"sd",!1],dflt:!1,editType:"calc"},jitter:{valType:"number",min:0,max:1,editType:"calc"},pointpos:{valType:"number",min:-2,max:2,editType:"calc"},orientation:{valType:"enumerated",values:["v","h"],editType:"calc+clearAxisTypes"},width:{valType:"number",min:0,dflt:0,editType:"calc"},marker:{outliercolor:{valType:"color",dflt:"rgba(0, 0, 0, 0)",editType:"style"},symbol:a({},o.symbol,{arrayOk:!1,editType:"plot"}),opacity:a({},o.opacity,{arrayOk:!1,dflt:1,editType:"style"}),size:a({},o.size,{arrayOk:!1,editType:"calc"}),color:a({},o.color,{arrayOk:!1,editType:"style"}),line:{color:a({},s.color,{arrayOk:!1,dflt:i.defaultLine,editType:"style"}),width:a({},s.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,selected:{marker:n.selected.marker,editType:"style"},unselected:{marker:n.unselected.marker,editType:"style"},hoveron:{valType:"flaglist",flags:["boxes","points"],dflt:"boxes+points",editType:"style"}}},{"../../components/color/attributes":570,"../../lib/extend":684,"../scatter/attributes":1047}],859:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("../../lib"),a=i._,o=t("../../plots/cartesian/axes");function s(t,e,r){var n={text:"tx"};for(var i in n)Array.isArray(e[i])&&(t[n[i]]=e[i][r])}function l(t,e){return t.v-e.v}function c(t){return t.v}e.exports=function(t,e){var r,u,f,h,p,d=t._fullLayout,g=o.getFromId(t,e.xaxis||"x"),v=o.getFromId(t,e.yaxis||"y"),m=[],y="violin"===e.type?"_numViolins":"_numBoxes";"h"===e.orientation?(u=g,f="x",h=v,p="y"):(u=v,f="y",h=g,p="x");var x,b=u.makeCalcdata(e,f),_=function(t,e,r,a,o){if(e in t)return r.makeCalcdata(t,e);var s;s=e+"0"in t?t[e+"0"]:"name"in t&&("category"===r.type||n(t.name)&&-1!==["linear","log"].indexOf(r.type)||i.isDateTime(t.name)&&"date"===r.type)?t.name:o;var l="multicategory"===r.type?r.r2c_just_indices(s):r.d2c(s,0,t[e+"calendar"]);return a.map(function(){return l})}(e,p,h,b,d[y]),w=i.distinctVals(_),k=w.vals,A=w.minDiff/2,M=function(t,e){for(var r=t.length,n=new Array(r+1),i=0;i=0&&Ex.uf};for(r=0;r0){var O=S[r].sort(l),I=O.map(c),D=I.length;(x={}).pos=k[r],x.pts=O,x.min=I[0],x.max=I[D-1],x.mean=i.mean(I,D),x.sd=i.stdev(I,D,x.mean),x.q1=i.interp(I,.25),x.med=i.interp(I,.5),x.q3=i.interp(I,.75),x.lf=Math.min(x.q1,I[Math.min(i.findBin(2.5*x.q1-1.5*x.q3,I,!0)+1,D-1)]),x.uf=Math.max(x.q3,I[Math.max(i.findBin(2.5*x.q3-1.5*x.q1,I),0)]),x.lo=4*x.q1-3*x.q3,x.uo=4*x.q3-3*x.q1;var P=1.57*(x.q3-x.q1)/Math.sqrt(D);x.ln=x.med-P,x.un=x.med+P,x.pts2=O.filter(z),m.push(x)}!function(t,e){if(i.isArrayOrTypedArray(e.selectedpoints))for(var r=0;r0?(m[0].t={num:d[y],dPos:A,posLetter:p,valLetter:f,labels:{med:a(t,"median:"),min:a(t,"min:"),q1:a(t,"q1:"),q3:a(t,"q3:"),max:a(t,"max:"),mean:"sd"===e.boxmean?a(t,"mean \xb1 \u03c3:"):a(t,"mean:"),lf:a(t,"lower fence:"),uf:a(t,"upper fence:")}},d[y]++,m):[{t:{empty:!0}}]}},{"../../lib":694,"../../plots/cartesian/axes":742,"fast-isnumeric":215}],860:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/axes"),i=t("../../lib"),a=["v","h"];function o(t,e,r,a){var o,s,l,c=e.calcdata,u=e._fullLayout,f=a._id,h=f.charAt(0),p="violin"===t?"_numViolins":"_numBoxes",d=[],g=0;for(o=0;o1,b=1-u[t+"gap"],_=1-u[t+"groupgap"];for(o=0;o0){var j=C.pointpos,V=C.jitter,U=C.marker.size/2,q=0;j+V>=0&&((q=B*(j+V))>T?(N=!0,R=U,D=q):q>O&&(R=U,D=T)),q<=T&&(D=T);var H=0;j-V<=0&&((H=-B*(j-V))>S?(N=!0,F=U,P=H):H>I&&(F=U,P=S)),H<=S&&(P=S)}else D=T,P=S;var G=l[0].pos,W=l[l.length-1].pos;C._extremes[f]=n.findExtremes(a,[G,W],{padded:N,vpadminus:P,vpadplus:D,ppadminus:{x:F,y:R}[h],ppadplus:{x:R,y:F}[h]})}}}e.exports={crossTraceCalc:function(t,e){for(var r=t.calcdata,n=e.xaxis,i=e.yaxis,s=0;st.lo&&(_.so=!0)}return a});d.enter().append("path").classed("point",!0),d.exit().remove(),d.call(a.translatePoints,l,c)}function u(t,e,r,a){var o,s,l=e.pos,c=e.val,u=a.bPos,f=a.bPosPxOffset||0,h=r.boxmean||(r.meanline||{}).visible;Array.isArray(a.bdPos)?(o=a.bdPos[0],s=a.bdPos[1]):(o=a.bdPos,s=a.bdPos);var p=t.selectAll("path.mean").data("box"===r.type&&r.boxmean||"violin"===r.type&&r.box.visible&&r.meanline.visible?i.identity:[]);p.enter().append("path").attr("class","mean").style({fill:"none","vector-effect":"non-scaling-stroke"}),p.exit().remove(),p.each(function(t){var e=l.c2p(t.pos+u,!0)+f,i=l.c2p(t.pos+u-o,!0)+f,a=l.c2p(t.pos+u+s,!0)+f,p=c.c2p(t.mean,!0),d=c.c2p(t.mean-t.sd,!0),g=c.c2p(t.mean+t.sd,!0);"h"===r.orientation?n.select(this).attr("d","M"+p+","+i+"V"+a+("sd"===h?"m0,0L"+d+","+e+"L"+p+","+i+"L"+g+","+e+"Z":"")):n.select(this).attr("d","M"+i+","+p+"H"+a+("sd"===h?"m0,0L"+e+","+d+"L"+i+","+p+"L"+e+","+g+"Z":""))})}e.exports={plot:function(t,e,r,a){var o=e.xaxis,s=e.yaxis;i.makeTraceGroups(a,r,"trace boxes").each(function(t){var r,i,a=n.select(this),f=t[0],h=f.t,p=f.trace;e.isRangePlot||(f.node3=a),h.wdPos=h.bdPos*p.whiskerwidth,!0!==p.visible||h.empty?a.remove():("h"===p.orientation?(r=s,i=o):(r=o,i=s),l(a,{pos:r,val:i},p,h),c(a,{x:o,y:s},p,h),u(a,{pos:r,val:i},p,h))})},plotBoxAndWhiskers:l,plotPoints:c,plotBoxMean:u}},{"../../components/drawing":592,"../../lib":694,d3:149}],868:[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=10)return null;var i=1/0;var a=-1/0;var o=e.length;for(var s=0;s0?Math.floor:Math.ceil,O=E>0?Math.ceil:Math.floor,I=E>0?Math.min:Math.max,D=E>0?Math.max:Math.min,P=z(S+L),R=O(C-L),F=[[f=T(S)]];for(a=P;a*E=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}},{}],882:[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,v,m,y,x=t["_"+e],b=t[e+"axis"],_=b._gridlines=[],w=b._minorgridlines=[],k=b._boundarylines=[],A=t["_"+r],M=t[r+"axis"];"array"===b.tickmode&&(b.tickvals=x.slice());var T=t._xctrl,S=t._yctrl,C=T[0].length,E=T.length,L=t._a.length,z=t._b.length;n.prepTicks(b),"array"===b.tickmode&&delete b.tickvals;var O=b.smoothing?3:1;function I(n){var i,a,o,s,l,c,u,f,p,d,g,v,m=[],y=[],x={};if("b"===e)for(a=t.b2j(n),o=Math.floor(Math.max(0,Math.min(z-2,a))),s=a-o,x.length=z,x.crossLength=L,x.xy=function(e){return t.evalxy([],e,a)},x.dxy=function(e,r){return t.dxydi([],e,o,r,s)},i=0;i0&&(p=t.dxydi([],i-1,o,0,s),m.push(l[0]+p[0]/3),y.push(l[1]+p[1]/3),d=t.dxydi([],i-1,o,1,s),m.push(f[0]-d[0]/3),y.push(f[1]-d[1]/3)),m.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=z,x.xy=function(e){return t.evalxy([],i,e)},x.dxy=function(e,r){return t.dxydj([],c,e,u,r)},a=0;a0&&(g=t.dxydj([],c,a-1,u,0),m.push(l[0]+g[0]/3),y.push(l[1]+g[1]/3),v=t.dxydj([],c,a-1,u,1),m.push(f[0]-v[0]/3),y.push(f[1]-v[1]/3)),m.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=m,x.y=y,x.smoothing=M.smoothing,x}function D(n){var i,a,o,s,l,c=[],u=[],f={};if(f.length=x.length,f.crossLength=A.length,"b"===e)for(o=Math.max(0,Math.min(z-2,n)),l=Math.min(1,Math.max(0,n-o)),f.xy=function(e){return t.evalxy([],e,n)},f.dxy=function(e,r){return t.dxydi([],e,o,r,l)},i=0;ix.length-1||_.push(i(D(o),{color:b.gridcolor,width:b.gridwidth}));for(h=u;hx.length-1||g<0||g>x.length-1))for(v=x[s],m=x[g],a=0;ax[x.length-1]||w.push(i(I(d),{color:b.minorgridcolor,width:b.minorgridwidth}));b.startline&&k.push(i(D(0),{color:b.startlinecolor,width:b.startlinewidth})),b.endline&&k.push(i(D(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(I(p),{color:b.gridcolor,width:b.gridwidth}));for(h=u-1;hx[x.length-1]||w.push(i(I(d),{color:b.minorgridcolor,width:b.minorgridwidth}));b.startline&&k.push(i(I(x[0]),{color:b.startlinecolor,width:b.startlinewidth})),b.endline&&k.push(i(I(x[x.length-1]),{color:b.endlinecolor,width:b.endlinewidth}))}}},{"../../lib/extend":684,"../../plots/cartesian/axes":742}],883:[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;re.length&&(t=t.slice(0,e.length)):t=[],i=0;i90&&(p-=180,l=-l),{angle:p,flip:l,p:t.c2p(n,e,r),offsetMultplier:c}}},{}],897:[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=t("../../constants/alignment");function f(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 h(t,e,r,a,o,c,u,f){var h=c.selectAll("text."+f).data(u);h.enter().append("text").classed(f,!0);var p=0,d={};return h.each(function(o,c){var u;if("auto"===o.axis.tickangle)u=s(a,e,r,o.xy,o.dxy);else{var f=(o.axis.tickangle+180)*Math.PI/180;u=s(a,e,r,o.xy,[Math.cos(f),Math.sin(f)])}c||(d={angle:u.angle,flip:u.flip});var h=(o.endAnchor?-1:1)*u.flip,g=n.select(this).attr({"text-anchor":h>0?"start":"end","data-notex":1}).call(i.font,o.font).text(o.text).call(l.convertToTspans,t),v=i.bBox(this);g.attr("transform","translate("+u.p[0]+","+u.p[1]+") rotate("+u.angle+")translate("+o.axis.labelpadding*h+","+.3*v.height+")"),p=Math.max(p,v.width+o.axis.labelpadding)}),h.exit().remove(),d.maxExtent=p,d}e.exports=function(t,e,r,i){var l=e.xaxis,u=e.yaxis,p=t._fullLayout._clips;c.makeTraceGroups(i,r,"trace").each(function(e){var r=n.select(this),i=e[0],d=i.trace,v=d.aaxis,m=d.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",d.opacity),f(l,u,x,v,"a",v._gridlines),f(l,u,x,m,"b",m._gridlines),f(l,u,y,v,"a",v._minorgridlines),f(l,u,y,m,"b",m._minorgridlines),f(l,u,b,v,"a-boundary",v._boundarylines),f(l,u,b,m,"b-boundary",m._boundarylines);var w=h(t,l,u,d,i,_,v._labels,"a-label"),k=h(t,l,u,d,i,_,m._labels,"b-label");!function(t,e,r,n,i,a,o,l){var u,f,h,p;u=.5*(r.a[0]+r.a[r.a.length-1]),f=r.b[0],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)));g(t,e,r,n,h,p,r.aaxis,i,a,o,"a-title"),u=r.a[0],f=.5*(r.b[0]+r.b[r.b.length-1]),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)));g(t,e,r,n,h,p,r.baxis,i,a,l,"b-title")}(t,_,d,i,l,u,w,k),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;f90&&v<270,y=n.select(this);y.text(u.title.text).call(l.convertToTspans,t),m&&(x=(-l.lineCount(y)+d)*p*a-x),y.attr("transform","translate("+e.p[0]+","+e.p[1]+") rotate("+e.angle+") translate(0,"+x+")").classed("user-select-none",!0).attr("text-anchor","middle").call(i.font,u.title.font)}),y.exit().remove()}},{"../../components/drawing":592,"../../constants/alignment":666,"../../lib":694,"../../lib/svg_text_utils":718,"./makepath":894,"./map_1d_array":895,"./orient_text":896,d3:149}],898:[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],v=r[u-1],m=e[e.length-1]-e[0],y=r[r.length-1]-r[0],x=m*n.RELATIVE_CULL_TOLERANCE,b=y*n.RELATIVE_CULL_TOLERANCE;p-=x,d+=x,g-=b,v+=b,t.isVisible=function(t,e){return t>p&&tg&&ed||ev},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&&(ne[c-1]|ir[u-1]))return[!1,!1];var o=t.a2i(n),s=t.b2j(i),l=t.evalxy([],o,s);if(a){var f,h,p,d,g=0,v=0,m=[];ne[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)))),ir[u-1]?(p=u-2,d=1,v=(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(m,f,p,h,d),l[0]+=m[0]*g,l[1]+=m[1]*g),v&&(t.dxydj(m,f,p,h,d),l[0]+=m[0]*v,l[1]+=m[1]*v)}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=m*(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":713,"./compute_control_points":886,"./constants":887,"./create_i_derivative_evaluator":888,"./create_j_derivative_evaluator":889,"./create_spline_evaluator":890}],899:[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),e0&&void 0!==(n=t[r-1][e])&&(a++,i+=n),r0&&a0&&i1e-5);return n.log("Smoother converged to",A,"after",M,"iterations"),t}},{"../../lib":694}],900:[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":694}],901:[function(t,e,r){"use strict";var n=t("../../components/fx/hovertemplate_attributes"),i=t("../scattergeo/attributes"),a=t("../../components/colorscale/attributes"),o=t("../../components/colorbar/attributes"),s=t("../../plots/attributes"),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"},text:l({},i.text,{}),marker:{line:{color:c.color,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({},s.hoverinfo,{editType:"calc",flags:["location","z","text","name"]}),hovertemplate:n()},a("",{cLetter:"z",editTypeOverride:"calc"}),{colorbar:o})},{"../../components/colorbar/attributes":572,"../../components/colorscale/attributes":578,"../../components/fx/hovertemplate_attributes":609,"../../lib/extend":684,"../../plots/attributes":739,"../scattergeo/attributes":1087}],902:[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");e.exports=function(t,e){for(var r=e._length,l=new Array(r),c=0;c")}(t,f,o,h.mockAxis),[t]}},{"../../plots/cartesian/axes":742,"../scatter/fill_hover_text":1055,"./attributes":901}],906:[function(t,e,r){"use strict";var n={};n.attributes=t("./attributes"),n.supplyDefaults=t("./defaults"),n.colorbar=t("../heatmap/colorbar"),n.calc=t("./calc"),n.plot=t("./plot"),n.style=t("./style").style,n.styleOnSelect=t("./style").styleOnSelect,n.hoverPoints=t("./hover"),n.eventData=t("./event_data"),n.selectPoints=t("./select"),n.moduleType="trace",n.name="choropleth",n.basePlotModule=t("../../plots/geo"),n.categories=["geo","noOpacity"],n.meta={},e.exports=n},{"../../plots/geo":773,"../heatmap/colorbar":947,"./attributes":901,"./calc":902,"./defaults":903,"./event_data":904,"./hover":905,"./plot":907,"./select":908,"./style":909}],907:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../lib"),a=t("../../lib/polygon"),o=t("../../lib/topojson_utils").getTopojsonFeatures,s=t("../../lib/geo_location_utils").locationToFeature,l=t("./style").style;function c(t,e){for(var r=t[0].trace,n=t.length,i=o(r,e),a=0;a0&&t[e+1][0]<0)return e;return null}switch(e="RUS"===l||"FJI"===l?function(t){var e;if(null===u(t))e=t;else for(e=new Array(t.length),i=0;ie?r[n++]=[t[i][0]+360,t[i][1]]:i===e?(r[n++]=t[i],r[n++]=[t[i][0],-90]):r[n++]=t[i];var o=a.tester(r);o.pts.pop(),c.push(o)}:function(t){c.push(a.tester(t))},o.type){case"MultiPolygon":for(r=0;r":f.value>h&&(s.prefixBoundary=!0);break;case"<":f.valueh)&&(s.prefixBoundary=!0);break;case"][":a=Math.min.apply(null,f.value),o=Math.max.apply(null,f.value),ah&&(s.prefixBoundary=!0)}}},{}],918:[function(t,e,r){"use strict";var n=t("../../components/colorbar/draw"),i=t("./make_color_map"),a=t("./end_plus");e.exports=function(t,e){var r=e[0].trace,o="cb"+r.uid;if(t._fullLayout._infolayer.selectAll("."+o).remove(),r.showscale){var s=e[0].t.cb=n(t,o),l=r.contours,c=r.line,u=l.size||1,f=l.coloring,h=i(r,{isColorbar:!0});s.fillgradient("heatmap"===f?r.colorscale:"").zrange("heatmap"===f?[r.zmin,r.zmax]:"").fillcolor("fill"===f?h:"").line({color:"lines"===f?h:c.color,width:!1!==l.showlines?c.width:0,dash:c.dash}).levels({start:l.start,end:a(l),size:u}).options(r.colorbar)()}}},{"../../components/colorbar/draw":576,"./end_plus":926,"./make_color_map":931}],919:[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}}},{}],920:[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,v=r("contours.operation");(g._operation=c[v],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),"="===v?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":571,"../../constants/filter_ops":667,"./label_defaults":930,"fast-isnumeric":215}],921:[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":667,"fast-isnumeric":215}],922:[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")}},{}],923:[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)})}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;r1e3){n.warn("Too many contours, clipping at 1000",t);break}return l}},{"../../lib":694,"./constraint_mapping":921,"./end_plus":926}],926:[function(t,e,r){"use strict";e.exports=function(t){return t.end+t.size/1e6}},{}],927:[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])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]}(h,r,e),d=[s(t,e,[-p[0],-p[1]])],g=p.join(","),v=t.z.length,m=t.z[0].length;for(c=0;c<1e4;c++){if(h>20?(h=i.CHOOSESADDLE[h][(p[0]||p[1])<0?0:1],t.crossings[f]=i.SADDLEREMAINDER[h]):delete t.crossings[f],!(p=i.NEWDELTA[h])){n.log("Found bad marching index:",h,e,t.level);break}d.push(s(t,e,p)),e[0]+=p[0],e[1]+=p[1],a(d[d.length-1],d[d.length-2],o,l)&&d.pop(),f=e.join(",");var y=p[0]&&(e[0]<0||e[0]>m-2)||p[1]&&(e[1]<0||e[1]>v-2);if(f===u&&p.join(",")===g||r&&y)break;h=t.crossings[f]}1e4===c&&n.log("Infinite loop in contour?");var x,b,_,w,k,A,M,T,S,C,E,L,z,O,I,D=a(d[0],d[d.length-1],o,l),P=0,R=.2*t.smoothing,F=[],B=0;for(c=1;c=B;c--)if((x=F[c])=B&&x+F[b]T&&S--,t.edgepaths[S]=E.concat(d,C));break}U||(t.edgepaths[T]=d.concat(C))}for(T=0;Tt?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;rt.level}return r?"M"+e.join("L")+"Z":""}(t,e),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 v(t){return Math.abs(t[0]-e[0][0])<.01}function m(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&&!m(r)?n=e[1]:v(r)?n=e[0]:g(r)?n=e[3]:m(r)&&(n=e[2]),l=0;l=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;hn.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;b2*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.width/2,a=e.height/2,o=t.x,s=t.y,l=t.theta,c=Math.sin(l),u=Math.cos(l),f=i*u,h=a*c,p=i*c,d=-a*u,g=[[o-f-h,s-p-d],[o+f-h,s+p-d],[o+f+h,s+p+d],[o-f+h,s-p+d]];r.push({text:e.text,x:o,y:s,dy:e.dy,theta:l,level:e.level,width:e.width,height:e.height}),n.push(g)},r.drawLabels=function(t,e,r,a,s){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(o.convertToTspans,r)}),s){for(var c="",u=0;ue.end&&(e.start=e.end=(e.start+e.end)/2),t._input.contours||(t._input.contours={}),i.extendFlat(t._input.contours,{start:e.start,end:e.end,size:e.size}),t._input.autocontour=!0}else if("constraint"!==e.type){var l,c=e.start,u=e.end,f=t._input.contours;if(c>u&&(e.start=f.start=u,u=e.end=f.end=c,c=e.start),!(e.size>0))l=c===u?1:a(c,u,t.ncontours).dtick,f.size=e.size=l}}},{"../../lib":694,"../../plots/cartesian/axes":742}],935:[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":592,"../heatmap/style":956,"./make_color_map":931,d3:149}],936:[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":581,"./label_defaults":930}],937:[function(t,e,r){"use strict";var n=t("../heatmap/attributes"),i=t("../contour/attributes"),a=i.contours,o=t("../scatter/attributes"),s=t("../../components/colorscale/attributes"),l=t("../../components/colorbar/attributes"),c=t("../../lib/extend").extendFlat,u=o.line;e.exports=c({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,transpose:n.transpose,atype:n.xtype,btype:n.ytype,fillcolor:i.fillcolor,autocontour:i.autocontour,ncontours:i.ncontours,contours:{type:a.type,start:a.start,end:a.end,size:a.size,coloring:{valType:"enumerated",values:["fill","lines","none"],dflt:"fill",editType:"calc"},showlines:a.showlines,showlabels:a.showlabels,labelfont:a.labelfont,labelformat:a.labelformat,operation:a.operation,value:a.value,editType:"calc",impliedEdits:{autocontour:!1}},line:{color:c({},u.color,{}),width:u.width,dash:u.dash,smoothing:c({},u.smoothing,{}),editType:"plot"},transforms:void 0},s("",{cLetter:"z",autoColorDflt:!1}),{colorbar:l})},{"../../components/colorbar/attributes":572,"../../components/colorscale/attributes":578,"../../lib/extend":684,"../contour/attributes":915,"../heatmap/attributes":944,"../scatter/attributes":1047}],938:[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,v=e._carpetTrace,m=v.aaxis,y=v.baxis;m._minDtick=0,y._minDtick=0,i.isArray1D(e.z)&&a(e,m,y,"a","b",["z"]);r=e._a=e._a||e.a,h=e._b=e._b||e.b,r=r?m.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,m),w="scaled"===e.ytype?"":h,k=c(e,w,p,d,g.length,y),A={a:_,b:k,z:g};"levels"===e.contours.type&&"none"!==e.contours.coloring&&n(t,e,{vals:g,containerStr:"",cLetter:"z"});return[A]}(t,e);return h(e),g}}},{"../../components/colorscale/calc":579,"../../lib":694,"../carpet/lookup_carpetid":893,"../contour/set_contours":934,"../heatmap/clean_2d_array":946,"../heatmap/convert_column_xyz":948,"../heatmap/find_empties":950,"../heatmap/interp2d":953,"../heatmap/make_bound_array":954,"./defaults":939}],939:[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":694,"../contour/constraint_defaults":920,"../contour/contours_defaults":922,"../contour/style_defaults":936,"../heatmap/xyz_defaults":958,"./attributes":937}],940:[function(t,e,r){"use strict";var n={};n.attributes=t("./attributes"),n.supplyDefaults=t("./defaults"),n.colorbar=t("../contour/colorbar"),n.calc=t("./calc"),n.plot=t("./plot"),n.style=t("../contour/style"),n.moduleType="trace",n.name="contourcarpet",n.basePlotModule=t("../../plots/cartesian"),n.categories=["cartesian","svg","carpet","contour","symbols","showLegend","hasLines","carpetDependent"],n.meta={},e.exports=n},{"../../plots/cartesian":754,"../contour/colorbar":918,"../contour/style":935,"./attributes":937,"./calc":938,"./defaults":939,"./plot":943}],941:[function(t,e,r){"use strict";var n=t("../../components/drawing"),i=t("../carpet/axis_aligned_line"),a=t("../../lib");e.exports=function(t,e,r,o,s,l,c,u){var f,h,p,d,g,v,m,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 k(t){return Math.abs(t[1]-r[0][1])=0&&(p=E,g=v):Math.abs(h[1]-p[1])=0&&(p=E,g=v):a.log("endpt to newendpt is not vert. or horz.",h,p,E)}if(g>=0)break;y+=S(h,p),h=p}if(g===e.edgepaths.length){a.log("unclosed perimeter path");break}f=g,(b=-1===x.indexOf(f))&&(f=x[0],y+=S(h,p)+"Z",h=null)}for(f=0;f=0;V--)B=S.clipsegments[V],N=i([],B.x,w.c2p),j=i([],B.y,k.c2p),N.reverse(),j.reverse(),q.push(a(N,j,B.bicubic));var H="M"+q.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;hv&&(n.max=v);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/O),f.LABELMAX),a=0;aL){C("x scale is not linear");break}}if(g.length&&"fast"===T){var z=(g[g.length-1]-g[0])/(g.length-1),O=Math.abs(z/100);for(x=0;xO){C("y scale is not linear");break}}}var I=i.maxRowLength(y),D="scaled"===e.xtype?"":r,P=h(e,D,p,d,I,_),R="scaled"===e.ytype?"":g,F=h(e,R,v,m,y.length,w);M||(e._extremes[_._id]=a.findExtremes(_,P),e._extremes[w._id]=a.findExtremes(w,F));var B={x:P,y:F,z:y,text:e._text||e.text};if(D&&D.length===P.length-1&&(B.xCenter=D),R&&R.length===F.length-1&&(B.yCenter=R),A&&(B.xRanges=b.xRanges,B.yRanges=b.yRanges,B.pts=b.pts),k&&"constraint"===e.contours.type||s(t,e,{vals:y,containerStr:"",cLetter:"z"}),k&&e.contours&&"heatmap"===e.contours.coloring){var N={type:"contour"===e.type?"heatmap":"histogram2d",xcalendar:e.xcalendar,ycalendar:e.ycalendar};B.xfill=h(N,D,p,d,I,_),B.yfill=h(N,R,v,m,y.length,w)}return[B]}},{"../../components/colorscale/calc":579,"../../lib":694,"../../plots/cartesian/axes":742,"../../registry":825,"../histogram2d/calc":976,"./clean_2d_array":946,"./convert_column_xyz":948,"./find_empties":950,"./interp2d":953,"./make_bound_array":954}],946:[function(t,e,r){"use strict";var n=t("fast-isnumeric");e.exports=function(t,e){var r,i,a,o,s,l;function c(t){if(n(t))return+t}if(e){for(r=0,s=0;s=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":694}],951:[function(t,e,r){"use strict";var n=t("../../components/fx"),i=t("../../lib"),a=t("../../plots/cartesian/axes");e.exports=function(t,e,r,o,s,l){var c,u,f,h,p=t.cd[0],d=p.trace,g=t.xa,v=t.ya,m=p.x,y=p.y,x=p.z,b=p.xCenter,_=p.yCenter,w=p.zmask,k=[d.zmin,d.zmax],A=d.zhoverformat,M=m,T=y;if(!1!==t.index){try{f=Math.round(t.index[1]),h=Math.round(t.index[0])}catch(e){return void i.error("Error hovering on heatmap, pointNumber must be [row,col], found:",t.index)}if(f<0||f>=x[0].length||h<0||h>x.length)return}else{if(n.inbox(e-m[0],e-m[m.length-1],0)>0||n.inbox(r-y[0],r-y[y.length-1],0)>0)return;if(l){var S;for(M=[2*m[0]-m[1]],S=1;Sg&&(m=Math.max(m,Math.abs(t[a][o]-d)/(v-g))))}return m}e.exports=function(t,e){var r,i=1;for(o(t,e),r=0;r.01;r++)i=o(t,e,a(i));return i>.01&&n.log("interp2d didn't converge quickly",i),t}},{"../../lib":694}],954:[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;u0;)h=p.c2p(k[y]),y--;for(h0;)m=d.c2p(A[y]),y--;if(m0&&(a=!0);for(var l=0;la){var o=a-r[t];return r[t]=a,o}}return 0},max:function(t,e,r,i){var a=i[e];if(n(a)){if(a=Number(a),!n(r[t]))return r[t]=a,a;if(r[t]c?t>o?t>1.1*i?i:t>1.1*a?a:o:t>s?s:t>l?l:c:Math.pow(10,Math.floor(Math.log(t)/Math.LN10))}function p(t,e,r,n,a,s){if(n&&t>o){var l=d(e,a,s),c=d(r,a,s),u=t===i?0:1;return l[u]!==c[u]}return Math.floor(r/t)-Math.floor(e/t)>.1}function d(t,e,r){var n=e.c2d(t,i,r).split("-");return""===n[0]&&(n.unshift(),n[0]="-"+n[0]),n}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],v=Math.min(f(d+h,d+p,n,a),f(g+h,g+p,n,a)),m=Math.min(f(d+c,d+h,n,a),f(g+c,g+h,n,a));if(v>m&&mo){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(cr.r2l(z)&&(I=a.tickIncrement(I,_.size,!0,h)),S.start=r.l2r(I),L||i.nestedProperty(e,v+".start").set(S.start)}var D=_.end,P=r.r2l(T.end),R=void 0!==P;if((_.endFound||R)&&P!==r.r2l(D)){var F=R?P:i.aggNums(Math.max,null,p);S.end=r.l2r(F),R||i.nestedProperty(e,v+".start").set(S.end)}var B="autobin"+o;return!1===e._input[B]&&(e._input[v]=i.extendFlat({},e[v]||{}),delete e._input[B],delete e[B]),[S,p]}e.exports=function(t,e){if(!0===e.visible){var r,h,p,d,g=[],v=[],m=a.getFromId(t,"h"===e.orientation?e.yaxis||"y":e.xaxis||"x"),y="h"===e.orientation?"y":"x",x={x:"y",y:"x"}[y],b=e[y+"calendar"],_=e.cumulative,w=f(t,e,m,y),k=w[0],A=w[1],M="string"==typeof k.size,T=[],S=M?T:k,C=[],E=[],L=[],z=0,O=e.histnorm,I=e.histfunc,D=-1!==O.indexOf("density");_.enabled&&D&&(O=O.replace(/ ?density$/,""),D=!1);var P,R="max"===I||"min"===I?null:0,F=s.count,B=l[O],N=!1,j=function(t){return m.r2c(t,0,b)};for(i.isArrayOrTypedArray(e[x])&&"count"!==I&&(P=e[x],N="avg"===I,F=s[I]),r=j(k.start),p=j(k.end)+(r-a.tickIncrement(r,k.size,!1,b))/1e6;r=0&&d=0;n--)s(n);else if("increasing"===e){for(n=1;n=0;n--)t[n]+=t[n+1];"exclude"===r&&(t.push(0),t.shift())}}(v,_.direction,_.currentbin);var X=Math.min(g.length,v.length),Z=[],$=0,J=X-1;for(r=0;r=$;r--)if(v[r]){J=r;break}for(r=$;r<=J;r++)if(n(g[r])&&n(v[r])){var K={p:g[r],s:v[r],b:0};_.enabled||(K.pts=L[r],q?K.ph0=K.ph1=L[r].length?A[L[r][0]]:g[r]:(K.ph0=V(T[r]),K.ph1=V(T[r+1],!0))),Z.push(K)}return 1===Z.length&&(Z[0].width1=a.tickIncrement(Z[0].p,k.size,!1,b)-Z[0].p),o(Z,e),i.isArrayOrTypedArray(e.selectedpoints)&&i.tagSelected(Z,e,W),Z}}},{"../../lib":694,"../../plots/cartesian/axes":742,"../bar/arrays_to_calcdata":834,"./average":963,"./bin_functions":965,"./bin_label_vals":966,"./norm_functions":974,"fast-isnumeric":215}],968:[function(t,e,r){"use strict";e.exports={eventDataKeys:["binNumber"]}},{}],969:[function(t,e,r){"use strict";var n=t("../../lib"),i=n.nestedProperty,a=t("./attributes"),o={x:[{aStr:"xbins.start",name:"start"},{aStr:"xbins.end",name:"end"},{aStr:"xbins.size",name:"size"},{aStr:"nbinsx",name:"nbins"}],y:[{aStr:"ybins.start",name:"start"},{aStr:"ybins.end",name:"end"},{aStr:"ybins.size",name:"size"},{aStr:"nbinsy",name:"nbins"}]};e.exports=function(t,e){var r,s,l,c,u,f,h,p=e._histogramBinOpts={},d="overlay"===e.barmode;function g(t){return n.coerce(l._input,l,a,t)}for(r=0;rM&&v.splice(M,v.length-M),y.length>M&&y.splice(M,y.length-M),c(e,"x",v,g,_,k,x),c(e,"y",y,m,w,A,b);var T=[],S=[],C=[],E="string"==typeof e.xbins.size,L="string"==typeof e.ybins.size,z=[],O=[],I=E?z:e.xbins,D=L?O:e.ybins,P=0,R=[],F=[],B=e.histnorm,N=e.histfunc,j=-1!==B.indexOf("density"),V="max"===N||"min"===N?null:0,U=a.count,q=o[B],H=!1,G=[],W=[],Y="z"in e?e.z:"marker"in e&&Array.isArray(e.marker.color)?e.marker.color:"";Y&&"count"!==N&&(H="avg"===N,U=a[N]);var X=e.xbins,Z=_(X.start),$=_(X.end)+(Z-i.tickIncrement(Z,X.size,!1,x))/1e6;for(r=Z;r<$;r=i.tickIncrement(r,X.size,!1,x))S.push(V),z.push(r),H&&C.push(0);z.push(r);var J=S.length,K=_(e.xbins.start),Q=(r-K)/J,tt=k(K+Q/2);for(Z=w((X=e.ybins).start),$=w(X.end)+(Z-i.tickIncrement(Z,X.size,!1,b))/1e6,r=Z;r<$;r=i.tickIncrement(r,X.size,!1,b)){T.push(S.slice()),O.push(r);var et=new Array(J);for(l=0;l=0&&p=0&&d0?Number(d):p;else if("string"!=typeof d)u.size=p;else{var g=d.charAt(0),v=d.substr(1);((v=n(v)?Number(v):0)<=0||"date"!==l||"M"!==g||v!==Math.round(v))&&(u.size=p)}}e.exports=function(t,e){var r,n,i,a;function u(t){return o.coerce(i._input,i,s,t)}for(r=0;r0;r--){var n=Math.min(e[r],e[r-1]),i=Math.max(e[r],e[r-1]);if(i>n&&n-1}function F(t,e){return null===t?e:t}function B(t,e,r){L();var n=[e],i=[r];if(A>=1)n=[e],i=[r];else if(A>0){var a=function(t,e){var r=t[0],n=t[1],i=t[2],a=function(t,e,r){for(var n=[],i=0;i-1?r[l]:E(c,u,f);s[l]=p>-1?p:O(c,u,f,F(t,h))}I(s[0],s[1],s[2])}}function N(t,e,r,n){var i=t[3];in&&(i=n);for(var a=(t[3]-i)/(t[3]-e[3]),o=[],s=0;s<4;s++)o[s]=(1-a)*t[s]+a*e[s];return o}function j(t,e,r){return t>=e&&t<=r}function V(t){var e=.01*(C-S);return t>=S-e&&t<=C+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 q(t,e,r,n,i,a){r=[-1,-1,-1];var o=function(t,e,r){V(e[0][3])&&V(e[1][3])&&V(e[2][3])?B(t,e,r):a||q(t,e,r,S,C,!0)},s=[j(e[0][3],n,i),j(e[1][3],n,i),j(e[2][3],n,i)],l=!1;return s[0]||s[1]||s[2]?s[0]&&s[1]&&s[2]?(u||o(t,e,r),l):([[0,1,2],[2,0,1],[1,2,0]].forEach(function(a){if(s[a[0]]&&s[a[1]]&&!s[a[2]]){var c=e[a[0]],u=e[a[1]],f=e[a[2]],h=N(f,c,n,i),p=N(f,u,n,i);o(t,[p,h,c],[-1,-1,r[a[0]]]),o(t,[c,u,p],[r[a[0]],r[a[1]],-1]),l=!0}}),l||([[0,1,2],[1,2,0],[2,0,1]].forEach(function(a){if(s[a[0]]&&!s[a[1]]&&!s[a[2]]){var c=e[a[0]],u=e[a[1]],f=e[a[2]],h=N(u,c,n,i),p=N(f,c,n,i);o(t,[p,h,c],[-1,-1,r[a[0]]]),l=!0}}),l)):l}function H(t,e,r,n){var i=U(e),a=[j(i[0][3],r,n),j(i[1][3],r,n),j(i[2][3],r,n),j(i[3][3],r,n)],o=!1;return a[0]||a[1]||a[2]||a[3]?a[0]&&a[1]&&a[2]&&a[3]?(c&&function(t,e,r){var n=function(n,i,a){B(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,i,e),o):([[0,1,2,3],[3,0,1,2],[2,3,0,1],[1,2,3,0]].forEach(function(s){if(a[s[0]]&&a[s[1]]&&a[s[2]]&&!a[s[3]]){var l=i[s[0]],u=i[s[1]],f=i[s[2]],h=i[s[3]];if(c)B(t,[l,u,f],[e[s[0]],e[s[1]],e[s[2]]]);else{var p=N(h,l,r,n),d=N(h,u,r,n),g=N(h,f,r,n);B(null,[p,d,g],[-1,-1,-1])}o=!0}}),o||([[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(s){if(a[s[0]]&&a[s[1]]&&!a[s[2]]&&!a[s[3]]){var l=i[s[0]],u=i[s[1]],f=i[s[2]],h=i[s[3]],p=N(f,l,r,n),d=N(f,u,r,n),g=N(h,u,r,n),v=N(h,l,r,n);c?(B(t,[l,v,p],[e[s[0]],-1,-1]),B(t,[u,d,g],[e[s[1]],-1,-1])):function(t,e,r){var n=function(n,i,a){B(t,[e[n],e[i],e[a]],[r[n],r[i],r[a]])};n(0,1,2),n(2,3,0)}(null,[p,d,g,v],[-1,-1,-1,-1]),o=!0}}),o||([[0,1,2,3],[1,2,3,0],[2,3,0,1],[3,0,1,2]].forEach(function(s){if(a[s[0]]&&!a[s[1]]&&!a[s[2]]&&!a[s[3]]){var l=i[s[0]],u=i[s[1]],f=i[s[2]],h=i[s[3]],p=N(u,l,r,n),d=N(f,l,r,n),g=N(h,l,r,n);c?(B(t,[l,p,d],[e[s[0]],-1,-1]),B(t,[l,d,g],[e[s[0]],-1,-1]),B(t,[l,g,p],[e[s[0]],-1,-1])):B(null,[p,d,g],[-1,-1,-1]),o=!0}}),o))):o}function G(t,e,r,n,i,a,o,l,u,f,h){s&&(R(t,"A")&&H(null,[e,r,n,a],f,h),R(t,"B")&&H(null,[r,n,i,u],f,h),R(t,"C")&&H(null,[r,a,o,u],f,h),R(t,"D")&&H(null,[n,a,l,u],f,h),R(t,"E")&&H(null,[r,n,a,u],f,h)),c&&H(t,[r,n,a,u],f,h)}function W(t,e,r,n,i,a,o){q(t,U([e,r,n]),[e,r,n],a,o),q(t,U([n,i,e]),[n,i,e],a,o)}function Y(t,e,r,n,i,a,o,s){s?W(t,e,r,i,n,a,o):W(t,r,i,n,e,a,o)}function X(t,e,r,n,i,a,o){var s,l,c,u,f=function(){q(t,[s,l,c],[-1,-1,-1],i,a),q(t,[c,u,s],[-1,-1,-1],i,a)},h=o[0],p=o[1],d=o[2];h&&(s=D(U([x(e,r-0,n-0)])[0],U([x(e-1,r-0,n-0)])[0],h),l=D(U([x(e,r-0,n-1)])[0],U([x(e-1,r-0,n-1)])[0],h),c=D(U([x(e,r-1,n-1)])[0],U([x(e-1,r-1,n-1)])[0],h),u=D(U([x(e,r-1,n-0)])[0],U([x(e-1,r-1,n-0)])[0],h),f()),p&&(s=D(U([x(e-0,r,n-0)])[0],U([x(e-0,r-1,n-0)])[0],p),l=D(U([x(e-0,r,n-1)])[0],U([x(e-0,r-1,n-1)])[0],p),c=D(U([x(e-1,r,n-1)])[0],U([x(e-1,r-1,n-1)])[0],p),u=D(U([x(e-1,r,n-0)])[0],U([x(e-1,r-1,n-0)])[0],p),f()),d&&(s=D(U([x(e-0,r-0,n)])[0],U([x(e-0,r-0,n-1)])[0],d),l=D(U([x(e-0,r-1,n)])[0],U([x(e-0,r-1,n-1)])[0],d),c=D(U([x(e-1,r-1,n)])[0],U([x(e-1,r-1,n-1)])[0],d),u=D(U([x(e-1,r-0,n)])[0],U([x(e-1,r-0,n-1)])[0],d),f())}function Z(t,e,r,n,i,a,o,l,c,u,f,h){var p=t;h?(s&&"even"===t&&(p=null),G(p,e,r,n,i,a,o,l,c,u,f)):(s&&"odd"===t&&(p=null),G(p,c,l,o,a,i,n,r,e,u,f))}function $(t,e,r,n){for(var i=0;iL?[M,A]:[A,T];tt(e,I[0],I[1])}}var D=[[Math.min(S,T),Math.max(S,T)],[Math.min(M,C),Math.max(M,C)]];["x","y","z"].forEach(function(e){for(var r=0;r0&&(s.push(h.id),"x"===e?l.push([h.distRatio,0,0]):"y"===e?l.push([0,h.distRatio,0]):l.push([0,0,h.distRatio]))}else o=it(1,"x"===e?v-1:"y"===e?m-1:y-1);s.length>0&&("x"===e?et(null,s,n,i,l):"y"===e?rt(null,s,n,i,l):nt(null,s,n,i,l)),o.length>0&&("x"===e?$(null,o,n,i):"y"===e?J(null,o,n,i):K(null,o,n,i))}var x=t.caps[e];x.show&&x.fill&&(P(x.fill),"x"===e?$(null,[0,v-1],n,i):"y"===e?J(null,[0,m-1],n,i):K(null,[0,y-1],n,i))}}),0===h&&z(),t._x=b,t._y=_,t._z=w,t._intensity=k,t._Xs=p,t._Ys=d,t._Zs=g}(),t}(t);var s={positions:o(n(r.xaxis,t._x,e.dataScale[0],t.xcalendar),n(r.yaxis,t._y,e.dataScale[1],t.ycalendar),n(r.zaxis,t._z,e.dataScale[2],t.zcalendar)),cells:o(t._i,t._j,t._k),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:1,contourEnable:t.contour.show,contourColor:a(t.contour.color).slice(0,3),contourWidth:t.contour.width,useFacetNormals:t.flatshading};s.vertexIntensity=t._intensity,s.vertexIntensityBounds=[t.cmin,t.cmax],s.colormap=i(t),this.mesh.update(s)},u.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 c(t,i,e.uid);return i._trace=a,a.update(e),t.glplot.add(i),a}},{"../../lib":694,"../../lib/gl_format_color":691,"../../lib/str2rgbarray":717,"../../plots/gl3d/zip3":796,"gl-mesh3d":270}],988:[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)}var c=l("isomin"),u=l("isomax");null!=u&&null!=c&&c>u&&(e.isomin=null,e.isomax=null);var f=l("x"),h=l("y"),p=l("z"),d=l("value");f&&f.length&&h&&h.length&&p&&p.length&&d&&d.length?(n.getComponentMethod("calendars","handleTraceDefaults")(t,e,["x","y","z"],s),["x","y","z"].forEach(function(t){var e="caps."+t;l(e+".show")&&l(e+".fill");var r="slices."+t;l(r+".show")&&(l(r+".fill"),l(r+".locations"))}),l("spaceframe.show")&&l("spaceframe.fill"),l("surface.show")&&(l("surface.count"),l("surface.fill"),l("surface.pattern")),l("contour.show")&&(l("contour.color"),l("contour.width")),["text","lighting.ambient","lighting.diffuse","lighting.specular","lighting.roughness","lighting.fresnel","lighting.vertexnormalsepsilon","lighting.facenormalsepsilon","lightposition.x","lightposition.y","lightposition.z","flatshading"].forEach(function(t){l(t)}),a(t,e,s,l,{prefix:"",cLetter:"c"}),e._length=null):e.visible=!1}},{"../../components/colorscale/defaults":581,"../../lib":694,"../../registry":825,"./attributes":985}],989:[function(t,e,r){"use strict";var n={};n.attributes=t("./attributes"),n.supplyDefaults=t("./defaults"),n.calc=t("./calc"),n.colorbar={min:"cmin",max:"cmax"},n.plot=t("./convert"),n.moduleType="trace",n.name="isosurface",n.basePlotModule=t("../../plots/gl3d"),n.categories=["gl3d"],n.meta={},e.exports=n},{"../../plots/gl3d":785,"./attributes":985,"./calc":986,"./convert":987,"./defaults":988}],990:[function(t,e,r){"use strict";var n=t("../../components/colorscale/attributes"),i=t("../../components/colorbar/attributes"),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"},delaunayaxis:{valType:"enumerated",values:["x","y","z"],dflt:"z",editType:"calc"},alphahull:{valType:"number",dflt:-1,editType:"calc"},intensity:{valType:"data_array",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"}),{colorbar:i,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"})})},{"../../components/colorbar/attributes":572,"../../components/colorscale/attributes":578,"../../lib/extend":684,"../../plots/attributes":739,"../surface/attributes":1134}],991:[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":579}],992:[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("../../plots/gl3d/zip3");function u(t,e,r){this.scene=t,this.uid=r,this.mesh=e,this.name="",this.color="#fff",this.data=null,this.showContour=!1}var f=u.prototype;function h(t){for(var e=[],r=t.length,n=0;n=e-.5)return!1;return!0}f.handlePick=function(t){if(t.object===this.mesh){var e=t.index=t.data.index;t.traceCoordinate=[this.data.x[e],this.data.y[e],this.data.z[e]];var r=this.data.text;return Array.isArray(r)&&void 0!==r[e]?t.textLabel=r[e]:r&&(t.textLabel=r),!0}},f.update=function(t){var e=this.scene,r=e.fullSceneLayout;this.data=t;var n,u=t.x.length,f=c(p(r.xaxis,t.x,e.dataScale[0],t.xcalendar),p(r.yaxis,t.y,e.dataScale[1],t.ycalendar),p(r.zaxis,t.z,e.dataScale[2],t.zcalendar));if(t.i&&t.j&&t.k){if(t.i.length!==t.j.length||t.j.length!==t.k.length||!g(t.i,u)||!g(t.j,u)||!g(t.k,u))return;n=c(d(t.i),d(t.j),d(t.k))}else n=0===t.alphahull?o(f):t.alphahull>0?a(t.alphahull,f):function(t,e){for(var r=["x","y","z"].indexOf(t),n=[],a=e.length,o=0;og):d=w>x,g=w;var k=l(x,b,_,w);k.pos=y,k.yc=(x+w)/2,k.i=m,k.dir=d?"increasing":"decreasing",p&&(k.tx=e.text[m]),v.push(k)}else v.push({empty:!0})}return e._extremes[s._id]=a.findExtremes(s,n.concat(f,u),{padded:!0}),v.length&&(v[0].t={labels:{open:i(t,"open:")+" ",high:i(t,"high:")+" ",low:i(t,"low:")+" ",close:i(t,"close:")+" "}}),v}e.exports={calc:function(t,e){var r=a.getFromId(t,e.xaxis),i=a.getFromId(t,e.yaxis),o=function(t,e,r){var i=r._minDiff;if(!i){var a,o=t._fullData,s=[];for(i=1/0,a=0;a"+u.labels[x]+n.hoverLabelText(s,b):((y=i.extendFlat({},h)).y0=y.y1=_,y.yLabelVal=b,y.yLabel=u.labels[x]+n.hoverLabelText(s,b),y.name="",f.push(y),v[b]=y)}return f}function f(t,e,r,i){var a=t.cd,o=t.ya,u=a[0].trace,f=a[0].t,h=c(t,e,r,i);if(!h)return[];var p=a[h.index],d=h.index=p.i,g=p.dir;function v(t){return f.labels[t]+n.hoverLabelText(o,u[t][d])}var m=p.hi||u.hoverinfo,y=m.split("+"),x="all"===m,b=x||-1!==y.indexOf("y"),_=x||-1!==y.indexOf("text"),w=b?[v("open"),v("high"),v("low"),v("close")+" "+l[g]]:[];return _&&s(p,u,w),h.extraText=w.join("
"),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?u(t,e,r,n):f(t,e,r,n)},hoverSplit:u,hoverOnPoints:f}},{"../../components/color":571,"../../components/fx":610,"../../lib":694,"../../plots/cartesian/axes":742,"../scatter/fill_hover_text":1055}],999:[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":754,"./attributes":995,"./calc":996,"./defaults":997,"./hover":998,"./plot":1001,"./select":1002,"./style":1003}],1000:[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":694,"../../registry":825}],1001:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../lib");e.exports=function(t,e,r,a){var o=e.xaxis,s=e.yaxis;i.makeTraceGroups(a,r,"trace ohlc").each(function(t){var r=n.select(this),a=t[0],l=a.t,c=a.trace;if(e.isRangePlot||(a.node3=r),!0!==c.visible||l.empty)r.remove();else{var u=l.tickLen,f=r.selectAll("path").data(i.identity);f.enter().append("path"),f.exit().remove(),f.attr("d",function(t){if(t.empty)return"M0,0Z";var e=o.c2p(t.pos,!0),r=o.c2p(t.pos-u,!0),n=o.c2p(t.pos+u,!0);return"M"+r+","+s.c2p(t.o,!0)+"H"+e+"M"+e+","+s.c2p(t.h,!0)+"V"+s.c2p(t.l,!0)+"M"+n+","+s.c2p(t.c,!0)+"H"+e})}})}},{"../../lib":694,d3:149}],1002:[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=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;e0;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");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("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 v={family:f.font.family,size:Math.round(f.font.size/1.2),color:f.font.color};n.coerceFont(h,"tickfont",v)}},{"../../components/colorscale/defaults":581,"../../components/colorscale/helpers":582,"../../lib":694,"../../plots/array_container_defaults":738,"../../plots/domain":768,"../parcoords/merge_length":1019,"./attributes":1004}],1008:[function(t,e,r){"use strict";var n={};n.attributes=t("./attributes"),n.supplyDefaults=t("./defaults"),n.calc=t("./calc"),n.plot=t("./plot"),n.colorbar={container:"line",min:"cmin",max:"cmax"},n.moduleType="trace",n.name="parcats",n.basePlotModule=t("./base_plot"),n.categories=["noOpacity"],n.meta={},e.exports=n},{"./attributes":1004,"./base_plot":1005,"./calc":1006,"./defaults":1007,"./plot":1010}],1009:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../plot_api/plot_api"),a=t("../../components/fx"),o=t("../../lib"),s=t("../../components/drawing"),l=t("tinycolor2"),c=t("../../lib/svg_text_utils");function u(t,e,r,i){var a=t.map(function(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={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};i.dimensions&&(R(g),P(g));return g}.bind(0,e,r)),l=i.selectAll("g.parcatslayer").data([null]);l.enter().append("g").attr("class","parcatslayer").style("pointer-events","all");var u=l.selectAll("g.trace.parcats").data(a,f),v=u.enter().append("g").attr("class","trace parcats");u.attr("transform",function(t){return"translate("+t.x+", "+t.y+")"}),v.append("g").attr("class","paths");var x=u.select("g.paths").selectAll("path.path").data(function(t){return t.paths},f);x.attr("fill",function(t){return t.model.color});var w=x.enter().append("path").attr("class","path").attr("stroke-opacity",0).attr("fill",function(t){return t.model.color}).attr("fill-opacity",0);y(w),x.attr("d",function(t){return t.svgD}),w.empty()||x.sort(p),x.exit().remove(),x.on("mouseover",d).on("mouseout",g).on("click",m),v.append("g").attr("class","dimensions");var k=u.select("g.dimensions").selectAll("g.dimension").data(function(t){return t.dimensions},f);k.enter().append("g").attr("class","dimension"),k.attr("transform",function(t){return"translate("+t.x+", 0)"}),k.exit().remove();var A=k.selectAll("g.category").data(function(t){return t.categories},f),M=A.enter().append("g").attr("class","category");A.attr("transform",function(t){return"translate(0, "+t.y+")"}),M.append("rect").attr("class","catrect").attr("pointer-events","none"),A.select("rect.catrect").attr("fill","none").attr("width",function(t){return t.width}).attr("height",function(t){return t.height}),b(M);var z=A.selectAll("rect.bandrect").data(function(t){return t.bands},f);z.each(function(){o.raiseToTop(this)}),z.attr("fill",function(t){return t.color});var O=z.enter().append("rect").attr("class","bandrect").attr("stroke-opacity",0).attr("fill",function(t){return t.color}).attr("fill-opacity",0);z.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"}),_(O),z.exit().remove(),M.append("text").attr("class","catlabel").attr("pointer-events","none");var I=e._fullLayout.paper_bgcolor;A.select("text.catlabel").attr("text-anchor",function(t){return h(t)?"start":"end"}).attr("alignment-baseline","middle").style("text-shadow",I+" -1px 1px 2px, "+I+" 1px 1px 2px, "+I+" 1px -1px 2px, "+I+" -1px -1px 2px").style("fill","rgb(0, 0, 0)").attr("x",function(t){return h(t)?t.width+5:-5}).attr("y",function(t){return t.height/2}).text(function(t){return t.model.categoryLabel}).each(function(t){s.font(n.select(this),t.parcatsViewModel.categorylabelfont),c.convertToTspans(n.select(this),e)}),M.append("text").attr("class","dimlabel"),A.select("text.dimlabel").attr("text-anchor","middle").attr("alignment-baseline","baseline").attr("cursor",function(t){return"fixed"===t.parcatsViewModel.arrangement?"default":"ew-resize"}).attr("x",function(t){return t.width/2}).attr("y",-5).text(function(t,e){return 0===e?t.parcatsViewModel.model.dimensions[t.model.dimensionInd].dimensionLabel:null}).each(function(t){s.font(n.select(this),t.parcatsViewModel.labelfont)}),A.selectAll("rect.bandrect").on("mouseover",T).on("mouseout",S),A.exit().remove(),k.call(n.behavior.drag().origin(function(t){return{x:t.x,y:0}}).on("dragstart",C).on("drag",E).on("dragend",L)),u.each(function(t){t.traceSelection=n.select(this),t.pathSelection=n.select(this).selectAll("g.paths").selectAll("path.path"),t.dimensionSelection=n.select(this).selectAll("g.dimensions").selectAll("g.dimension")}),u.exit().remove()}function f(t){return t.key}function h(t){var e=t.parcatsViewModel.dimensions.length,r=t.parcatsViewModel.dimensions[e-1].model.dimensionInd;return t.model.dimensionInd===r}function p(t,e){return t.model.rawColor>e.model.rawColor?1:t.model.rawColor"),k=n.mouse(u)[0];a.loneHover({x:m-h.left+p.left,y:y-h.top+p.top,text:w,color:t.model.color,borderColor:"black",fontFamily:'Monaco, "Courier New", monospace',fontSize:10,fontColor:b,idealAlign:k1&&c.displayInd===l.dimensions.length-1?(r=o.left,i="left"):(r=o.left+o.width,i="right");var f=[];-1!==s.parcatsViewModel.hoverinfoItems.indexOf("count")&&f.push(["Count:",s.model.count].join(" ")),-1!==s.parcatsViewModel.hoverinfoItems.indexOf("probability")&&f.push(["P("+s.model.categoryLabel+"):",(s.model.count/s.parcatsViewModel.model.count).toFixed(3)].join(" "));var h=f.join("
");return{x:r-t.left,y:u-t.top,text:h,color:"lightgray",borderColor:"black",fontFamily:'Monaco, "Courier New", monospace',fontSize:12,fontColor:"black",idealAlign:i}}function T(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(),c=t.parcatsViewModel.hoveron;if("color"===c?(!function(t){var e=n.select(t).datum(),r=w(e);x(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=w(t);x(e),e.each(function(){o.raiseToTop(this)})}),n.select(t.parentNode).select("rect.catrect").attr("stroke","black").attr("stroke-width",2.5)}(this),k(this,"plotly_hover",n.event)),-1===t.parcatsViewModel.hoverinfoItems.indexOf("none"))"category"===c?e=M(s,this):"color"===c?e=function(t,e){var r,i,a=e.getBoundingClientRect(),o=n.select(e).datum(),s=o.categoryViewModel,c=s.parcatsViewModel,u=c.model.dimensions[s.model.dimensionInd],f=a.y+a.height/2;c.dimensions.length>1&&u.displayInd===c.dimensions.length-1?(r=a.left,i="left"):(r=a.left+a.width,i="right");var h=s.model.categoryLabel,p=o.parcatsViewModel.model.count,d=0;o.categoryViewModel.bands.forEach(function(t){t.color===o.color&&(d+=t.count)});var g=s.model.count,v=0;c.pathSelection.each(function(t){t.model.color===o.color&&(v+=t.model.count)});var m=[];if(-1!==s.parcatsViewModel.hoverinfoItems.indexOf("count")&&m.push(["Count:",d].join(" ")),-1!==s.parcatsViewModel.hoverinfoItems.indexOf("probability")){var y="P(color \u2229 "+h+"): "+(d/p).toFixed(3);m.push(y);var x="P("+h+" | color): "+(d/v).toFixed(3);m.push(x);var b="P(color | "+h+"): "+(d/g).toFixed(3);m.push(b)}var _=m.join("
"),w=l.mostReadable(o.color,["black","white"]);return{x:r-t.left,y:f-t.top,text:_,color:o.color,borderColor:"black",fontFamily:'Monaco, "Courier New", monospace',fontColor:w,fontSize:10,idealAlign:i}}(s,this):"dimension"===c&&(e=function(t,e){var r=[];return n.select(e.parentNode.parentNode).selectAll("g.category").select("rect.catrect").each(function(){r.push(M(t,this))}),r}(s,this)),e&&a.multiHovers(e,{container:i._hoverlayer.node(),outerContainer:i._paper.node(),gd:r})}}function S(t){var e=t.parcatsViewModel;if(!e.dragDimension&&(y(e.pathSelection),b(e.dimensionSelection.selectAll("g.category")),_(e.dimensionSelection.selectAll("g.category").selectAll("rect.bandrect")),a.loneUnhover(e.graphDiv._fullLayout._hoverlayer.node()),e.pathSelection.sort(p),-1===e.hoverinfoItems.indexOf("skip"))){"color"===t.parcatsViewModel.hoveron?A(this,"plotly_unhover",n.event):k(this,"plotly_unhover",n.event)}}function C(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.yf.y+f.height/2&&(o.model.displayInd=f.model.displayInd,f.model.displayInd=l),t.dragCategoryDisplayInd=o.model.displayInd}if(null===t.dragCategoryDisplayInd||"freeform"===t.parcatsViewModel.arrangement){a.model.dragX=n.event.x;var h=t.parcatsViewModel.dimensions[r],p=t.parcatsViewModel.dimensions[i];void 0!==h&&a.model.dragXp.x&&(a.model.displayInd=p.model.displayInd,p.model.displayInd=t.dragDimensionDisplayInd),t.dragDimensionDisplayInd=a.model.displayInd}R(t.parcatsViewModel),P(t.parcatsViewModel),I(t.parcatsViewModel),O(t.parcatsViewModel)}}function L(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):k(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,R(t.parcatsViewModel),P(t.parcatsViewModel),n.transition().duration(300).ease("cubic-in-out").each(function(){I(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=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 P(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)),ni?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;g0?d*(m.count/p):0;for(var y,x=new Array(n.length),b=0;b1?(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,v=e.categories.map(function(t){return{displayInd:t.displayInd,categoryInd:t.categoryInd}});for(v.sort(function(t,e){return t.displayInd-e.displayInd}),c=0;c0?o.count/p*d:0,s={key:o.valueInds[0],model:o,width:16,height:a,y:null!==o.dragY?o.dragY: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){u(r,t,n,e)}},{"../../components/drawing":592,"../../components/fx":610,"../../lib":694,"../../lib/svg_text_utils":718,"../../plot_api/plot_api":729,d3:149,tinycolor2:515}],1010:[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":1009}],1011:[function(t,e,r){"use strict";var n=t("../../components/colorscale/attributes"),i=t("../../components/colorbar/attributes"),a=t("../../plots/cartesian/layout_attributes"),o=t("../../plots/font_attributes"),s=t("../../plots/domain").attributes,l=t("../../lib/extend").extendFlat,c=t("../../plot_api/plot_template").templatedArray;e.exports={domain:s({name:"parcoords",trace:!0,editType:"calc"}),hoverlabel:void 0,labelfont:o({editType:"calc"}),tickfont:o({editType:"calc"}),rangefont:o({editType:"calc"}),dimensions:c("dimension",{label:{valType:"string",editType:"calc"},tickvals:l({},a.tickvals,{editType:"calc"}),ticktext:l({},a.ticktext,{editType:"calc"}),tickformat:{valType:"string",dflt:"3s",editType:"calc"},visible:{valType:"boolean",dflt:!0,editType:"calc"},range:{valType:"info_array",items:[{valType:"number",editType:"calc"},{valType:"number",editType:"calc"}],editType:"calc"},constraintrange:{valType:"info_array",freeLength:!0,dimensions:"1-2",items:[{valType:"number",editType:"calc"},{valType:"number",editType:"calc"}],editType:"calc"},multiselect:{valType:"boolean",dflt:!0,editType:"calc"},values:{valType:"data_array",editType:"calc"},editType:"calc"}),line:l(n("line",{colorscaleDflt:"Viridis",autoColorDflt:!1,editTypeOverride:"calc"}),{colorbar:i,editType:"calc"})}},{"../../components/colorbar/attributes":572,"../../components/colorscale/attributes":578,"../../lib/extend":684,"../../plot_api/plot_template":732,"../../plots/cartesian/layout_attributes":755,"../../plots/domain":768,"../../plots/font_attributes":769}],1012:[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=n.bar.snapRatio;function c(t,e){return t*(1-l)+e*l}var u=n.bar.snapClose;function f(t,e){return t*(1-u)+e*u}function h(t,e,r){if(d(e,r))return e;for(var n=t[0],i=n,a=1;a=0;a--){var o=t[a];if(e>f(n,o))return c(n,i);if(e>o||a===t.length-1)return c(o,n);i=n,n=o}}function d(t,e){for(var r=0;r=e[r][0]&&t<=e[r][1])return!0;return!1}function g(t){t.attr("x",-n.bar.captureWidth/2).attr("width",n.bar.captureWidth)}function v(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=y(t.brush.filter.getConsolidated(),t.height),a=[0],o=i.length?i[0][0]:null,s=0;se){h=r;break}}if(a=u,isNaN(a)&&(a=isNaN(f)||isNaN(h)?isNaN(f)?h:f:e-c[f][1]t[1]+r||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 v=t.unitTickvals,m=t.unitToPaddedPx.invert(e);for(r=0;r=x[0]&&m<=x[1]){o.clickableOrdinalRange=x;break}}}return o}function k(t){t.on("mousemove",function(t){if(i.event.preventDefault(),!t.parent.inBrushDrag){var e=w(t,t.height-i.mouse(this)[1]-2*n.verticalPadding),r="crosshair";e.clickableOrdinalRange?r="pointer":e.region&&(r=e.region+"-resize"),i.select(document.body).style("cursor",r)}}).on("mouseleave",function(t){t.parent.inBrushDrag||x()}).call(i.behavior.drag().on("dragstart",function(t){i.event.sourceEvent.stopPropagation();var e=t.height-i.mouse(this)[1]-2*n.verticalPadding,r=t.unitToPaddedPx.invert(e),a=t.brush,o=w(t,e),s=o.interval,l=a.svgBrush;if(l.wasDragged=!1,l.grabbingBar="ns"===o.region,l.grabbingBar){var c=s.map(t.unitToPaddedPx);l.grabPoint=e-c[0]-n.verticalPadding,l.barLength=c[1]-c[0]}l.clickableOrdinalRange=o.clickableOrdinalRange,l.stayingIntervals=t.multiselect&&a.filterSpecified?a.filter.getConsolidated():[],s&&(l.stayingIntervals=l.stayingIntervals.filter(function(t){return t[0]!==s[0]&&t[1]!==s[1]})),l.startExtent=o.region?s["s"===o.region?1:0]:r,t.parent.inBrushDrag=!0,l.brushStartCallback()}).on("drag",function(t){i.event.sourceEvent.stopPropagation();var e=t.height-i.mouse(this)[1]-2*n.verticalPadding,r=t.brush.svgBrush;r.wasDragged=!0,r.grabbingBar?r.newExtent=[e-r.grabPoint,e+r.barLength-r.grabPoint].map(t.unitToPaddedPx.invert):r.newExtent=[r.startExtent,t.unitToPaddedPx.invert(e)].sort(s);var a=Math.max(0,-r.newExtent[0]),o=Math.max(0,r.newExtent[1]-1);r.newExtent[0]+=a,r.newExtent[1]-=o,r.grabbingBar&&(r.newExtent[1]+=a,r.newExtent[0]-=o),t.brush.filterSpecified=!0,r.extent=r.stayingIntervals.concat([r.newExtent]),r.brushCallback(t),_(this.parentNode)}).on("dragend",function(t){i.event.sourceEvent.stopPropagation();var e=t.brush,r=e.filter,n=e.svgBrush,a=n.grabbingBar;if(n.grabbingBar=!1,n.grabLocation=void 0,t.parent.inBrushDrag=!1,x(),!n.wasDragged)return n.wasDragged=void 0,n.clickableOrdinalRange?e.filterSpecified&&t.multiselect?n.extent.push(n.clickableOrdinalRange):(n.extent=[n.clickableOrdinalRange],e.filterSpecified=!0):a?(n.extent=n.stayingIntervals,0===n.extent.length&&M(e)):M(e),n.brushCallback(t),_(this.parentNode),void n.brushEndCallback(e.filterSpecified?r.getConsolidated():[]);var o=function(){r.set(r.getConsolidated())};if(t.ordinal){var s=t.unitTickvals;s[s.length-1]n.newExtent[0];n.extent=n.stayingIntervals.concat(l?[n.newExtent]:[]),n.extent.length||M(e),n.brushCallback(t),l?_(this.parentNode,o):(o(),_(this.parentNode))}else o();n.brushEndCallback(e.filterSpecified?r.getConsolidated():[])}))}function A(t,e){return t[0]-e[0]}function M(t){t.filterSpecified=!1,t.svgBrush.extent=[[0,1]]}function T(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 n}e.exports={makeBrush:function(t,e,r,n,i,a){var o,l=function(){var t,e,r=[];return{set:function(n){r=n.map(function(t){return t.slice().sort(s)}).sort(A),t=T(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(g).call(v).style("pointer-events","auto").attr("transform","translate(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(b);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(b)}(e)},cleanRanges:function(t,e){if(Array.isArray(t[0])?(t=t.map(function(t){return t.sort(s)}),t=e.multiselect?T(t.sort(A)):[t[0]]):t=[t.sort(s)],e.tickvals){var r=e.tickvals.slice().sort(s);if(!(t=t.map(function(t){var e=[h(r,t[0],[]),p(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":694,"../../lib/gup":692,"./constants":1015,d3:149}],1013:[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":672,"../../plots/get_data":779,"./plot":1021,d3:149}],1014:[function(t,e,r){"use strict";var n=t("../../components/colorscale/helpers").hasColorscale,i=t("../../components/colorscale/calc"),a=t("../../lib"),o=t("../../lib/gup").wrap;e.exports=function(t,e){var r=!!e.line.colorscale&&a.isArrayOrTypedArray(e.line.color),s=r?e.line.color:function(t){for(var e=new Array(t),r=0;ru&&(n.log("parcoords traces support up to "+u+" dimensions at the moment"),d.splice(u));var g=s(t,e,{name:"dimensions",handleItemDefaults:h}),v=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,c,p);o(e,c,p),Array.isArray(g)&&g.length||(e.visible=!1),f(e,g,"values",v);var m={family:c.font.family,size:Math.round(c.font.size/1.2),color:c.font.color};n.coerceFont(p,"labelfont",m),n.coerceFont(p,"tickfont",m),n.coerceFont(p,"rangefont",m)}},{"../../components/colorscale/defaults":581,"../../components/colorscale/helpers":582,"../../lib":694,"../../plots/array_container_defaults":738,"../../plots/domain":768,"./attributes":1011,"./axisbrush":1012,"./constants":1015,"./merge_length":1019}],1017:[function(t,e,r){"use strict";var n={};n.attributes=t("./attributes"),n.supplyDefaults=t("./defaults"),n.calc=t("./calc"),n.plot=t("./plot"),n.colorbar={container:"line",min:"cmin",max:"cmax"},n.moduleType="trace",n.name="parcoords",n.basePlotModule=t("./base_plot"),n.categories=["gl","regl","noOpacity"],n.meta={},e.exports=n},{"./attributes":1011,"./base_plot":1013,"./calc":1014,"./defaults":1016,"./plot":1021}],1018:[function(t,e,r){"use strict";var n=t("glslify"),i=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec4 p0, p1, p2, p3,\n p4, p5, p6, p7,\n p8, p9, pa, pb,\n pc, pd, pe;\n\nattribute vec4 pf;\n\nuniform mat4 dim1A, dim2A, dim1B, dim2B, dim1C, dim2C, dim1D, dim2D,\n loA, hiA, loB, hiB, loC, hiC, loD, hiD;\n\nuniform vec2 resolution,\n viewBoxPosition,\n viewBoxSize;\n\nuniform sampler2D palette;\nuniform sampler2D mask;\nuniform float maskHeight;\n\nuniform vec2 colorClamp;\n\nvarying vec4 fragColor;\n\nvec4 unit_1 = vec4(1, 1, 1, 1);\n\nfloat val(mat4 p, mat4 v) {\n return dot(matrixCompMult(p, v) * unit_1, unit_1);\n}\n\nfloat axisY(\n float x,\n mat4 d[4],\n mat4 dim1A, mat4 dim2A, mat4 dim1B, mat4 dim2B, mat4 dim1C, mat4 dim2C, mat4 dim1D, mat4 dim2D\n ) {\n\n float y1 = val(d[0], dim1A) + val(d[1], dim1B) + val(d[2], dim1C) + val(d[3], dim1D);\n float y2 = val(d[0], dim2A) + val(d[1], dim2B) + val(d[2], dim2C) + val(d[3], dim2D);\n return y1 * (1.0 - x) + y2 * x;\n}\n\nconst int bitsPerByte = 8;\n\nint mod2(int a) {\n return a - 2 * (a / 2);\n}\n\nint mod8(int a) {\n return a - 8 * (a / 8);\n}\n\nvec4 zero = vec4(0, 0, 0, 0);\nvec4 unit_0 = vec4(1, 1, 1, 1);\nvec2 xyProjection = vec2(1, 1);\n\nmat4 mclamp(mat4 m, mat4 lo, mat4 hi) {\n return mat4(clamp(m[0], lo[0], hi[0]),\n clamp(m[1], lo[1], hi[1]),\n clamp(m[2], lo[2], hi[2]),\n clamp(m[3], lo[3], hi[3]));\n}\n\nbool mshow(mat4 p, mat4 lo, mat4 hi) {\n return mclamp(p, lo, hi) == p;\n}\n\nbool withinBoundingBox(\n mat4 d[4],\n mat4 loA, mat4 hiA, mat4 loB, mat4 hiB, mat4 loC, mat4 hiC, mat4 loD, mat4 hiD\n ) {\n\n return mshow(d[0], loA, hiA) &&\n mshow(d[1], loB, hiB) &&\n mshow(d[2], loC, hiC) &&\n mshow(d[3], loD, hiD);\n}\n\nbool withinRasterMask(mat4 d[4], sampler2D mask, float height) {\n bool result = true;\n int bitInByteStepper;\n float valY, valueY, scaleX;\n int hit, bitmask, valX;\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 bitInByteStepper = mod8(j * 4 + k);\n valX = i * 2 + j / 2;\n valY = d[i][j][k];\n valueY = valY * (height - 1.0) + 0.5;\n scaleX = (float(valX) + 0.5) / 8.0;\n hit = int(texture2D(mask, vec2(scaleX, (valueY + 0.5) / height))[3] * 255.0) / int(pow(2.0, float(bitInByteStepper)));\n result = result && mod2(hit) == 1;\n }\n }\n }\n return result;\n}\n\nvec4 position(\n float depth,\n vec2 resolution, vec2 viewBoxPosition, vec2 viewBoxSize,\n mat4 dims[4],\n float signum,\n mat4 dim1A, mat4 dim2A, mat4 dim1B, mat4 dim2B, mat4 dim1C, mat4 dim2C, mat4 dim1D, mat4 dim2D,\n mat4 loA, mat4 hiA, mat4 loB, mat4 hiB, mat4 loC, mat4 hiC, mat4 loD, mat4 hiD,\n sampler2D mask, float maskHeight\n ) {\n\n float x = 0.5 * signum + 0.5;\n float y = axisY(x, dims, dim1A, dim2A, dim1B, dim2B, dim1C, dim2C, dim1D, dim2D);\n\n float show = float(\n withinBoundingBox(dims, loA, hiA, loB, hiB, loC, hiC, loD, hiD)\n && withinRasterMask(dims, mask, maskHeight)\n );\n\n vec2 viewBoxXY = viewBoxPosition + viewBoxSize * vec2(x, y);\n float depthOrHide = depth + 2.0 * (1.0 - show);\n\n return vec4(\n xyProjection * (2.0 * viewBoxXY / resolution - 1.0),\n depthOrHide,\n 1.0\n );\n}\n\nvoid main() {\n\n float prominence = abs(pf[3]);\n\n mat4 p[4];\n p[0] = mat4(p0, p1, p2, p3);\n p[1] = mat4(p4, p5, p6, p7);\n p[2] = mat4(p8, p9, pa, pb);\n p[3] = mat4(pc, pd, pe, abs(pf));\n\n gl_Position = position(\n 1.0 - prominence,\n resolution, viewBoxPosition, viewBoxSize,\n p,\n sign(pf[3]),\n dim1A, dim2A, dim1B, dim2B, dim1C, dim2C, dim1D, dim2D,\n loA, hiA, loB, hiB, loC, hiC, loD, hiD,\n mask, maskHeight\n );\n\n float clampedColorIndex = clamp((prominence - colorClamp[0]) / (colorClamp[1] - colorClamp[0]), 0.0, 1.0);\n fragColor = texture2D(palette, vec2((clampedColorIndex * 255.0 + 0.5) / 256.0, 0.5));\n}\n"]),a=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec4 p0, p1, p2, p3,\n p4, p5, p6, p7,\n p8, p9, pa, pb,\n pc, pd, pe;\n\nattribute vec4 pf;\n\nuniform mat4 dim1A, dim2A, dim1B, dim2B, dim1C, dim2C, dim1D, dim2D;\n\nuniform vec2 resolution,\n viewBoxPosition,\n viewBoxSize;\n\nuniform sampler2D palette;\n\nuniform vec2 colorClamp;\n\nvarying vec4 fragColor;\n\nvec2 xyProjection = vec2(1, 1);\n\nvec4 unit = vec4(1, 1, 1, 1);\n\nfloat val(mat4 p, mat4 v) {\n return dot(matrixCompMult(p, v) * unit, unit);\n}\n\nfloat axisY(\n float x,\n mat4 d[4],\n mat4 dim1A, mat4 dim2A, mat4 dim1B, mat4 dim2B, mat4 dim1C, mat4 dim2C, mat4 dim1D, mat4 dim2D\n ) {\n\n float y1 = val(d[0], dim1A) + val(d[1], dim1B) + val(d[2], dim1C) + val(d[3], dim1D);\n float y2 = val(d[0], dim2A) + val(d[1], dim2B) + val(d[2], dim2C) + val(d[3], dim2D);\n return y1 * (1.0 - x) + y2 * x;\n}\n\nvec4 position(\n float depth,\n vec2 resolution, vec2 viewBoxPosition, vec2 viewBoxSize,\n mat4 dims[4],\n float signum,\n mat4 dim1A, mat4 dim2A, mat4 dim1B, mat4 dim2B, mat4 dim1C, mat4 dim2C, mat4 dim1D, mat4 dim2D\n ) {\n\n float x = 0.5 * signum + 0.5;\n float y = axisY(x, dims, dim1A, dim2A, dim1B, dim2B, dim1C, dim2C, dim1D, dim2D);\n\n vec2 viewBoxXY = viewBoxPosition + viewBoxSize * vec2(x, y);\n\n return vec4(\n xyProjection * (2.0 * viewBoxXY / resolution - 1.0),\n depth,\n 1.0\n );\n}\n\nvoid main() {\n\n float prominence = abs(pf[3]);\n\n mat4 p[4];\n p[0] = mat4(p0, p1, p2, p3);\n p[1] = mat4(p4, p5, p6, p7);\n p[2] = mat4(p8, p9, pa, pb);\n p[3] = mat4(pc, pd, pe, abs(pf));\n\n gl_Position = position(\n 1.0 - prominence,\n resolution, viewBoxPosition, viewBoxSize,\n p,\n sign(pf[3]),\n dim1A, dim2A, dim1B, dim2B, dim1C, dim2C, dim1D, dim2D\n );\n\n float clampedColorIndex = clamp((prominence - colorClamp[0]) / (colorClamp[1] - colorClamp[0]), 0.0, 1.0);\n fragColor = texture2D(palette, vec2((clampedColorIndex * 255.0 + 0.5) / 256.0, 0.5));\n}\n"]),o=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec4 p0, p1, p2, p3,\n p4, p5, p6, p7,\n p8, p9, pa, pb,\n pc, pd, pe;\n\nattribute vec4 pf;\n\nuniform mat4 dim1A, dim2A, dim1B, dim2B, dim1C, dim2C, dim1D, dim2D,\n loA, hiA, loB, hiB, loC, hiC, loD, hiD;\n\nuniform vec2 resolution,\n viewBoxPosition,\n viewBoxSize;\n\nuniform sampler2D mask;\nuniform float maskHeight;\n\nuniform vec2 colorClamp;\n\nvarying vec4 fragColor;\n\nvec4 unit_1 = vec4(1, 1, 1, 1);\n\nfloat val(mat4 p, mat4 v) {\n return dot(matrixCompMult(p, v) * unit_1, unit_1);\n}\n\nfloat axisY(\n float x,\n mat4 d[4],\n mat4 dim1A, mat4 dim2A, mat4 dim1B, mat4 dim2B, mat4 dim1C, mat4 dim2C, mat4 dim1D, mat4 dim2D\n ) {\n\n float y1 = val(d[0], dim1A) + val(d[1], dim1B) + val(d[2], dim1C) + val(d[3], dim1D);\n float y2 = val(d[0], dim2A) + val(d[1], dim2B) + val(d[2], dim2C) + val(d[3], dim2D);\n return y1 * (1.0 - x) + y2 * x;\n}\n\nconst int bitsPerByte = 8;\n\nint mod2(int a) {\n return a - 2 * (a / 2);\n}\n\nint mod8(int a) {\n return a - 8 * (a / 8);\n}\n\nvec4 zero = vec4(0, 0, 0, 0);\nvec4 unit_0 = vec4(1, 1, 1, 1);\nvec2 xyProjection = vec2(1, 1);\n\nmat4 mclamp(mat4 m, mat4 lo, mat4 hi) {\n return mat4(clamp(m[0], lo[0], hi[0]),\n clamp(m[1], lo[1], hi[1]),\n clamp(m[2], lo[2], hi[2]),\n clamp(m[3], lo[3], hi[3]));\n}\n\nbool mshow(mat4 p, mat4 lo, mat4 hi) {\n return mclamp(p, lo, hi) == p;\n}\n\nbool withinBoundingBox(\n mat4 d[4],\n mat4 loA, mat4 hiA, mat4 loB, mat4 hiB, mat4 loC, mat4 hiC, mat4 loD, mat4 hiD\n ) {\n\n return mshow(d[0], loA, hiA) &&\n mshow(d[1], loB, hiB) &&\n mshow(d[2], loC, hiC) &&\n mshow(d[3], loD, hiD);\n}\n\nbool withinRasterMask(mat4 d[4], sampler2D mask, float height) {\n bool result = true;\n int bitInByteStepper;\n float valY, valueY, scaleX;\n int hit, bitmask, valX;\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 bitInByteStepper = mod8(j * 4 + k);\n valX = i * 2 + j / 2;\n valY = d[i][j][k];\n valueY = valY * (height - 1.0) + 0.5;\n scaleX = (float(valX) + 0.5) / 8.0;\n hit = int(texture2D(mask, vec2(scaleX, (valueY + 0.5) / height))[3] * 255.0) / int(pow(2.0, float(bitInByteStepper)));\n result = result && mod2(hit) == 1;\n }\n }\n }\n return result;\n}\n\nvec4 position(\n float depth,\n vec2 resolution, vec2 viewBoxPosition, vec2 viewBoxSize,\n mat4 dims[4],\n float signum,\n mat4 dim1A, mat4 dim2A, mat4 dim1B, mat4 dim2B, mat4 dim1C, mat4 dim2C, mat4 dim1D, mat4 dim2D,\n mat4 loA, mat4 hiA, mat4 loB, mat4 hiB, mat4 loC, mat4 hiC, mat4 loD, mat4 hiD,\n sampler2D mask, float maskHeight\n ) {\n\n float x = 0.5 * signum + 0.5;\n float y = axisY(x, dims, dim1A, dim2A, dim1B, dim2B, dim1C, dim2C, dim1D, dim2D);\n\n float show = float(\n withinBoundingBox(dims, loA, hiA, loB, hiB, loC, hiC, loD, hiD)\n && withinRasterMask(dims, mask, maskHeight)\n );\n\n vec2 viewBoxXY = viewBoxPosition + viewBoxSize * vec2(x, y);\n float depthOrHide = depth + 2.0 * (1.0 - show);\n\n return vec4(\n xyProjection * (2.0 * viewBoxXY / resolution - 1.0),\n depthOrHide,\n 1.0\n );\n}\n\nvoid main() {\n\n float prominence = abs(pf[3]);\n\n mat4 p[4];\n p[0] = mat4(p0, p1, p2, p3);\n p[1] = mat4(p4, p5, p6, p7);\n p[2] = mat4(p8, p9, pa, pb);\n p[3] = mat4(pc, pd, pe, abs(pf));\n\n gl_Position = position(\n 1.0 - prominence,\n resolution, viewBoxPosition, viewBoxSize,\n p,\n sign(pf[3]),\n dim1A, dim2A, dim1B, dim2B, dim1C, dim2C, dim1D, dim2D,\n loA, hiA, loB, hiB, loC, hiC, loD, hiD,\n mask, maskHeight\n );\n\n fragColor = vec4(pf.rgb, 1.0);\n}\n"]),s=n(["precision lowp float;\n#define GLSLIFY 1\n\nvarying vec4 fragColor;\n\nvoid main() {\n gl_FragColor = fragColor;\n}\n"]),l=t("../../lib"),c=1e-6,u=1e-7,f=2048,h=64,p=2,d=4,g=8,v=h/g,m=[119,119,119],y=new Uint8Array(4),x=new Uint8Array(4),b={shape:[256,1],format:"rgba",type:"uint8",mag:"nearest",min:"nearest"};function _(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 w(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:y})}(t),r.drawCompleted=!0),function s(l){var c;c=Math.min(n,i-l*n),a.offset=p*l*n,a.count=p*c,0===l&&(window.cancelAnimationFrame(r.currentRafs[o]),delete r.currentRafs[o],_(t,a.scissorX,a.scissorY,a.scissorWidth,a.viewBoxSize[1])),r.clearOnly||(e(a),l*n+c>>8*e)%256/255}function A(t,e,r){var n,i,a,o=[];for(i=0;i=h-4?k(o,h-2-s):.5);return a}(d,p,i);!function(t,e,r){for(var n=0;n<16;n++)t["p"+n.toString(16)](A(e,r,n))}(E,d,o),L=S.texture(l.extendFlat({data:function(t,e,r){for(var n=[],i=0;i<256;i++){var a=t(i/255);n.push((e?m:a).concat(r))}return n}(r.unitToColor,M,Math.round(255*(M?a:1)))},b))}var I=[0,1];var D=[];function P(t,e,n,i,a,o,s,c,u,f,h){var p,d,g,v,m=[t,e],y=[0,1].map(function(){return[0,1,2,3].map(function(){return new Float32Array(16)})});for(p=0;p<2;p++)for(v=m[p],d=0;d<4;d++)for(g=0;g<16;g++)y[p][d][g]=g+16*d===v?1:0;var x=r.lines.canvasOverdrag,b=r.domain,_=r.canvasWidth,w=r.canvasHeight;return l.extendFlat({key:s,resolution:[_,w],viewBoxPosition:[n+x,i],viewBoxSize:[a,o],i:t,ii:e,dim1A:y[0][0],dim1B:y[0][1],dim1C:y[0][2],dim1D:y[0][3],dim2A:y[1][0],dim2B:y[1][1],dim2C:y[1][2],dim2D:y[1][3],colorClamp:I,scissorX:(c===u?0:n+x)+(r.pad.l-x)+r.layoutWidth*b.x[0],scissorWidth:(c===f?_-n+x:a+.5)+(c===u?n+x:0),scissorY:i+r.pad.b+r.layoutHeight*b.y[0],scissorHeight:o,viewportX:r.pad.l-x+r.layoutWidth*b.x[0],viewportY:r.pad.b+r.layoutHeight*b.y[0],viewportWidth:_,viewportHeight:w},h)}return{setColorDomain:function(t){I[0]=t[0],I[1]=t[1]},render:function(t,e,n){var i,a,o,s=t.length,l=1/0,c=-1/0;for(i=0;ic&&(c=t[i].dim2.canvasX,o=i),t[i].dim1.canvasXa._length&&(A=A.slice(0,a._length));var M,T=a.tickvals;function S(t,e){return{val:t,text:M[e]}}function C(t,e){return t.val-e.val}if(Array.isArray(T)&&T.length){M=a.ticktext,Array.isArray(M)&&M.length?M.length>T.length?M=M.slice(0,T.length):T.length>M.length&&(T=T.slice(0,M.length)):M=T.map(n.format(a.tickformat));for(var E=1;E=r||s>=i)return;var l=t.lineLayer.readPixel(o,i-1-s),c=0!==l[3],u=c?l[2]+256*(l[1]+256*l[0]):null,f={x:o,y:s,clientX:e.clientX,clientY:e.clientY,dataIndex:t.model.key,curveNumber:u};u!==A&&(c?d.hover(f):d.unhover&&d.unhover(f),A=u)}}),k.style("opacity",function(t){return t.pick?.01:1}),e.style("background","rgba(255, 255, 255, 0)");var M=e.selectAll("."+f.cn.parcoords).data(w,l);M.exit().remove(),M.enter().append("g").classed(f.cn.parcoords,!0).style("shape-rendering","crispEdges").style("pointer-events","none"),M.attr("transform",function(t){return"translate("+t.model.translateX+","+t.model.translateY+")"});var T=M.selectAll("."+f.cn.parcoordsControlView).data(c,l);T.enter().append("g").classed(f.cn.parcoordsControlView,!0),T.attr("transform",function(t){return"translate("+t.model.pad.l+","+t.model.pad.t+")"});var S=T.selectAll("."+f.cn.yAxis).data(function(t){return t.dimensions},l);function C(t,e){for(var r=e.panels||(e.panels=[]),n=t.data(),i=n.length-1,a=0;aline").attr("fill","none").attr("stroke","black").attr("stroke-opacity",.25).attr("stroke-width","1px"),L.selectAll("text").style("text-shadow","1px 1px 1px #fff, -1px -1px 1px #fff, 1px -1px 1px #fff, -1px 1px 1px #fff").style("cursor","default").style("user-select","none");var z=E.selectAll("."+f.cn.axisHeading).data(c,l);z.enter().append("g").classed(f.cn.axisHeading,!0);var O=z.selectAll("."+f.cn.axisTitle).data(c,l);O.enter().append("text").classed(f.cn.axisTitle,!0).attr("text-anchor","middle").style("cursor","ew-resize").style("user-select","none").style("pointer-events","auto"),O.attr("transform","translate(0,"+-f.axisTitleOffset+")").text(function(t){return t.label}).each(function(t){a.font(n.select(this),t.model.labelFont)});var I=E.selectAll("."+f.cn.axisExtent).data(c,l);I.enter().append("g").classed(f.cn.axisExtent,!0);var D=I.selectAll("."+f.cn.axisExtentTop).data(c,l);D.enter().append("g").classed(f.cn.axisExtentTop,!0),D.attr("transform","translate(0,"+-f.axisExtentOffset+")");var P=D.selectAll("."+f.cn.axisExtentTopText).data(c,l);function R(t,e){if(t.ordinal)return"";var r=t.domainScale.domain();return n.format(t.tickFormat)(r[e?r.length-1:0])}P.enter().append("text").classed(f.cn.axisExtentTopText,!0).call(x),P.text(function(t){return R(t,!0)}).each(function(t){a.font(n.select(this),t.model.rangeFont)});var F=I.selectAll("."+f.cn.axisExtentBottom).data(c,l);F.enter().append("g").classed(f.cn.axisExtentBottom,!0),F.attr("transform",function(t){return"translate(0,"+(t.model.height+f.axisExtentOffset)+")"});var B=F.selectAll("."+f.cn.axisExtentBottomText).data(c,l);B.enter().append("text").classed(f.cn.axisExtentBottomText,!0).attr("dy","0.75em").call(x),B.text(function(t){return R(t)}).each(function(t){a.font(n.select(this),t.model.rangeFont)}),h.ensureAxisBrush(E)}},{"../../components/colorscale":583,"../../components/drawing":592,"../../lib":694,"../../lib/gup":692,"./axisbrush":1012,"./constants":1015,"./lines":1018,d3:149}],1021:[function(t,e,r){"use strict";var n=t("./parcoords"),i=t("../../lib/prepare_regl");e.exports=function(t,e){var r=t._fullLayout,a=r._toppaper,o=r._paperdiv,s=r._glcontainer;if(i(t)){var l={},c={},u={},f={},h=r._size;e.forEach(function(e,r){var n=e[0].trace;u[r]=n.index;var i=f[r]=n._fullInput.index;l[r]=t.data[i].dimensions,c[r]=t.data[i].dimensions.slice()});n(o,a,s,e,{width:h.w,height:h.h,margin:{t:h.t,r:h.r,b:h.b,l:h.l}},{filterChanged:function(e,n,i){var a=c[e][n],o=i.map(function(t){return t.slice()}),s="dimensions["+n+"].constraintrange",l=r._tracePreGUI[t._fullData[u[e]]._fullInput.uid];if(void 0===l[s]){var h=a.constraintrange;l[s]=h||null}var p=t._fullData[u[e]].dimensions[n];o.length?(1===o.length&&(o=o[0]),a.constraintrange=o,p.constraintrange=o.slice(),o=[o]):(delete a.constraintrange,delete p.constraintrange,o=null);var d={};d[s]=o,t.emit("plotly_restyle",[d,[f[e]]])},hover:function(e){t.emit("plotly_hover",e)},unhover:function(e){t.emit("plotly_unhover",e)},axesMoved:function(e,r){function n(t){return!("visible"in t)||t.visible}function i(t,e,r){var n=e.indexOf(r),i=t.indexOf(n);return-1===i&&(i+=e.length),i}var a=function(t){return function(e,n){return i(r,t,e)-i(r,t,n)}}(c[e].filter(n));l[e].sort(a),c[e].filter(function(t){return!n(t)}).sort(function(t){return c[e].indexOf(t)}).forEach(function(t){l[e].splice(l[e].indexOf(t),1),l[e].splice(c[e].indexOf(t),0,t)}),t.emit("plotly_restyle",[{dimensions:[l[e]]},[f[e]]])}})}}},{"../../lib/prepare_regl":707,"./parcoords":1020}],1022:[function(t,e,r){"use strict";var n=t("../../components/color/attributes"),i=t("../../plots/font_attributes"),a=t("../../plots/attributes"),o=t("../../components/fx/hovertemplate_attributes"),s=t("../../plots/domain").attributes,l=t("../../lib/extend").extendFlat,c=i({editType:"calc",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:n.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:"calc"},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:l({},a.hoverinfo,{flags:["label","text","value","percent","name"]}),hovertemplate:o({},{keys:["label","color","value","percent","text"]}),textposition:{valType:"enumerated",values:["inside","outside","auto","none"],dflt:"auto",arrayOk:!0,editType:"calc"},textfont:l({},c,{}),insidetextfont:l({},c,{}),outsidetextfont:l({},c,{}),title:{text:{valType:"string",dflt:"",editType:"calc"},font:l({},c,{}),position:{valType:"enumerated",values:["top left","top center","top right","middle center","bottom left","bottom center","bottom right"],editType:"calc"},editType:"calc"},domain:s({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:l({},c,{}),titleposition:{valType:"enumerated",values:["top left","top center","top right","middle center","bottom left","bottom center","bottom right"],editType:"calc"}}}},{"../../components/color/attributes":570,"../../components/fx/hovertemplate_attributes":609,"../../lib/extend":684,"../../plots/attributes":739,"../../plots/domain":768,"../../plots/font_attributes":769}],1023:[function(t,e,r){"use strict";var n=t("../../registry"),i=t("../../plots/get_data").getModuleCalcData;r.name="pie",r.plot=function(t){var e=n.getModule("pie"),r=i(t.calcdata,e)[0];r.length&&e.plot(t,r)},r.clean=function(t,e,r,n){var i=n._has&&n._has("pie"),a=e._has&&e._has("pie");i&&!a&&n._pielayer.selectAll("g.trace").remove()}},{"../../plots/get_data":779,"../../registry":825}],1024:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),i=t("../../lib").isArrayOrTypedArray,a=t("tinycolor2"),o=t("../../components/color"),s=t("./helpers");r.calc=function(t,e){var r,l,c,u,f,h=e.values,p=i(h)&&h.length,d=e.labels,g=e.marker.colors||[],v=[],m=t._fullLayout,y=m._piecolormap,x={},b=0,_=m.hiddenlabels||[];if(e.dlabel)for(d=new Array(h.length),r=0;r")}}return v},r.crossTraceCalc=function(t){var e=t._fullLayout,r=t.calcdata,n=e.piecolorway,i=e._piecolormap;e.extendpiecolors&&(n=function(t){var e,r=JSON.stringify(t),n=l[r];if(!n){for(n=t.slice(),e=0;e0?1:-1)/2,y:a/(1+r*r/(n*n)),outside:!0}}function p(t,e){var r=t.trace,n=e.h*(r.domain.y[1]-r.domain.y[0]);return Math.min(t.titleBox.height,n/2)}function d(t){var e,r=t.pull;if(Array.isArray(r))for(r=0,e=0;er&&(r=t.pull[e]);return r}e.exports=function(t,e){var r=t._fullLayout;!function(t,e){for(var r,n,i=e._fullLayout,a=0;ai.vTotal/2?1:0)}(e),g.attr("stroke-linejoin","round"),g.each(function(){var g=n.select(this).selectAll("g.slice").data(e);g.enter().append("g").classed("slice",!0),g.exit().remove();var y=[[[],[]],[[],[]]],x=!1;g.each(function(e){if(e.hidden)n.select(this).selectAll("path,g").remove();else{e.pointNumber=e.i,e.curveNumber=m.index,y[e.pxmid[1]<0?0:1][e.pxmid[0]<0?0:1].push(e);var p=v.cx,d=v.cy,g=n.select(this),b=g.selectAll("path.surface").data([e]),_=!1,w=!1;if(b.enter().append("path").classed("surface",!0).style({"pointer-events":"all"}),g.select("path.textline").remove(),g.on("mouseover",function(){var a=t._fullLayout,o=t._fullData[m.index];if(!t._dragging&&!1!==a.hovermode){var s=o.hoverinfo;if(Array.isArray(s)&&(s=i.castHoverinfo({hoverinfo:[c.castOption(s,e.pts)],_module:m._module},a,0)),"all"===s&&(s="label+text+value+percent+name"),o.hovertemplate||"none"!==s&&"skip"!==s&&s){var l=f(e,v),h=p+e.pxmid[0]*(1-l),g=d+e.pxmid[1]*(1-l),y=r.separators,x=[];if(s&&-1!==s.indexOf("label")&&x.push(e.label),e.text=c.castOption(o.hovertext||o.text,e.pts),s&&-1!==s.indexOf("text")){var b=e.text;b&&x.push(b)}e.value=e.v,e.valueLabel=c.formatPieValue(e.v,y),s&&-1!==s.indexOf("value")&&x.push(e.valueLabel),e.percent=e.v/v.vTotal,e.percentLabel=c.formatPiePercent(e.percent,y),s&&-1!==s.indexOf("percent")&&x.push(e.percentLabel);var k=m.hoverlabel,A=k.font;i.loneHover({x0:h-l*v.r,x1:h+l*v.r,y:g,text:x.join("
"),name:o.hovertemplate||-1!==s.indexOf("name")?o.name:void 0,idealAlign:e.pxmid[0]<0?"left":"right",color:c.castOption(k.bgcolor,e.pts)||e.color,borderColor:c.castOption(k.bordercolor,e.pts),fontFamily:c.castOption(A.family,e.pts),fontSize:c.castOption(A.size,e.pts),fontColor:c.castOption(A.color,e.pts),trace:o,hovertemplate:c.castOption(o.hovertemplate,e.pts),hovertemplateLabels:e,eventData:[u(e,o)]},{container:a._hoverlayer.node(),outerContainer:a._paper.node(),gd:t}),_=!0}t.emit("plotly_hover",{points:[u(e,o)],event:n.event}),w=!0}}).on("mouseout",function(r){var a=t._fullLayout,o=t._fullData[m.index];w&&(r.originalEvent=n.event,t.emit("plotly_unhover",{points:[u(e,o)],event:n.event}),w=!1),_&&(i.loneUnhover(a._hoverlayer.node()),_=!1)}).on("click",function(){var r=t._fullLayout,a=t._fullData[m.index];t._dragging||!1===r.hovermode||(t._hoverdata=[u(e,a)],i.click(t,n.event))}),m.pull){var k=+c.castOption(m.pull,e.pts)||0;k>0&&(p+=k*e.pxmid[0],d+=k*e.pxmid[1])}e.cxFinal=p,e.cyFinal=d;var A=m.hole;if(e.v===v.vTotal){var M="M"+(p+e.px0[0])+","+(d+e.px0[1])+L(e.px0,e.pxmid,!0,1)+L(e.pxmid,e.px0,!0,1)+"Z";A?b.attr("d","M"+(p+A*e.px0[0])+","+(d+A*e.px0[1])+L(e.px0,e.pxmid,!1,A)+L(e.pxmid,e.px0,!1,A)+"Z"+M):b.attr("d",M)}else{var T=L(e.px0,e.px1,!0,1);if(A){var S=1-A;b.attr("d","M"+(p+A*e.px1[0])+","+(d+A*e.px1[1])+L(e.px1,e.px0,!1,A)+"l"+S*e.px0[0]+","+S*e.px0[1]+T+"Z")}else b.attr("d","M"+p+","+d+"l"+e.px0[0]+","+e.px0[1]+T+"Z")}var C=c.castOption(m.textposition,e.pts),E=g.selectAll("g.slicetext").data(e.text&&"none"!==C?[0]:[]);E.enter().append("g").classed("slicetext",!0),E.exit().remove(),E.each(function(){var r=s.ensureSingle(n.select(this),"text","",function(t){t.attr("data-notex",1)});r.text(e.text).attr({class:"slicetext",transform:"","text-anchor":"middle"}).call(o.font,"outside"===C?function(t,e,r){var n=c.castOption(t.outsidetextfont.color,e.pts)||c.castOption(t.textfont.color,e.pts)||r.color,i=c.castOption(t.outsidetextfont.family,e.pts)||c.castOption(t.textfont.family,e.pts)||r.family,a=c.castOption(t.outsidetextfont.size,e.pts)||c.castOption(t.textfont.size,e.pts)||r.size;return{color:n,family:i,size:a}}(m,e,t._fullLayout.font):function(t,e,r){var n=c.castOption(t.insidetextfont.color,e.pts);!n&&t._input.textfont&&(n=c.castOption(t._input.textfont.color,e.pts));var i=c.castOption(t.insidetextfont.family,e.pts)||c.castOption(t.textfont.family,e.pts)||r.family,o=c.castOption(t.insidetextfont.size,e.pts)||c.castOption(t.textfont.size,e.pts)||r.size;return{color:n||a.contrast(e.color),family:i,size:o}}(m,e,t._fullLayout.font)).call(l.convertToTspans,t);var i,u=o.bBox(r.node());"outside"===C?i=h(u,e):(i=function(t,e,r){var n=Math.sqrt(t.width*t.width+t.height*t.height),i=t.width/t.height,a=Math.PI*Math.min(e.v/r.vTotal,.5),o=1-r.trace.hole,s=f(e,r),l={scale:s*r.r*2/n,rCenter:1-s,rotate:0};if(l.scale>=1)return l;var c=i+1/(2*Math.tan(a)),u=r.r*Math.min(1/(Math.sqrt(c*c+.5)+c),o/(Math.sqrt(i*i+o/2)+i)),h={scale:2*u/t.height,rCenter:Math.cos(u/r.r)-u*i/r.r,rotate:(180/Math.PI*e.midangle+720)%180-90},p=1/i,d=p+1/(2*Math.tan(a)),g=r.r*Math.min(1/(Math.sqrt(d*d+.5)+d),o/(Math.sqrt(p*p+o/2)+p)),v={scale:2*g/t.width,rCenter:Math.cos(g/r.r)-g/i/r.r,rotate:(180/Math.PI*e.midangle+810)%180-90},m=v.scale>h.scale?v:h;return l.scale<1&&m.scale>l.scale?m:l}(u,e,v),"auto"===C&&i.scale<1&&(r.call(o.font,m.outsidetextfont),m.outsidetextfont.family===m.insidetextfont.family&&m.outsidetextfont.size===m.insidetextfont.size||(u=o.bBox(r.node())),i=h(u,e)));var g=p+e.pxmid[0]*i.rCenter+(i.x||0),y=d+e.pxmid[1]*i.rCenter+(i.y||0);i.outside&&(e.yLabelMin=y-u.height/2,e.yLabelMid=y,e.yLabelMax=y+u.height/2,e.labelExtraX=0,e.labelExtraY=0,x=!0),r.attr("transform","translate("+g+","+y+")"+(i.scale<1?"scale("+i.scale+")":"")+(i.rotate?"rotate("+i.rotate+")":"")+"translate("+-(u.left+u.right)/2+","+-(u.top+u.bottom)/2+")")})}function L(t,r,n,i){return"a"+i*v.r+","+i*v.r+" 0 "+e.largeArc+(n?" 1 ":" 0 ")+i*(r[0]-t[0])+","+i*(r[1]-t[1])}});var b=n.select(this).selectAll("g.titletext").data(m.title.text?[0]:[]);b.enter().append("g").classed("titletext",!0),b.exit().remove(),b.each(function(){var e,i=s.ensureSingle(n.select(this),"text","",function(t){t.attr("data-notex",1)}),a=r.meta?s.templateString(m.title.text,{meta:r.meta}):m.title.text;i.text(a).attr({class:"titletext",transform:"","text-anchor":"middle"}).call(o.font,m.title.font).call(l.convertToTspans,t),e="middle center"===m.title.position?function(t){var e=Math.sqrt(t.titleBox.width*t.titleBox.width+t.titleBox.height*t.titleBox.height);return{x:t.cx,y:t.cy,scale:t.trace.hole*t.r*2/e,tx:0,ty:-t.titleBox.height/2+t.trace.title.font.size}}(v):function(t,e){var r,n,i=1,a=1,o=t.trace,s={x:t.cx,y:t.cy},l={tx:0,ty:0};l.ty+=o.title.font.size,n=d(o),-1!==o.title.position.indexOf("top")?(s.y-=(1+n)*t.r,l.ty-=t.titleBox.height):-1!==o.title.position.indexOf("bottom")&&(s.y+=(1+n)*t.r);-1!==o.title.position.indexOf("left")?(r=e.w*(o.domain.x[1]-o.domain.x[0])/2+t.r,s.x-=(1+n)*t.r,l.tx+=t.titleBox.width/2):-1!==o.title.position.indexOf("center")?r=e.w*(o.domain.x[1]-o.domain.x[0]):-1!==o.title.position.indexOf("right")&&(r=e.w*(o.domain.x[1]-o.domain.x[0])/2+t.r,s.x+=(1+n)*t.r,l.tx-=t.titleBox.width/2);return i=r/t.titleBox.width,a=p(t,e)/t.titleBox.height,{x:s.x,y:s.y,scale:Math.min(i,a),tx:l.tx,ty:l.ty}}(v,r._size),i.attr("transform","translate("+e.x+","+e.y+")"+(e.scale<1?"scale("+e.scale+")":"")+"translate("+e.tx+","+e.ty+")")}),x&&function(t,e){var r,n,i,a,o,s,l,u,f,h,p,d,g;function v(t,e){return t.pxmid[1]-e.pxmid[1]}function m(t,e){return e.pxmid[1]-t.pxmid[1]}function y(t,r){r||(r={});var i,u,f,p,d,g,v=r.labelExtraY+(n?r.yLabelMax:r.yLabelMin),m=n?t.yLabelMin:t.yLabelMax,y=n?t.yLabelMax:t.yLabelMin,x=t.cyFinal+o(t.px0[1],t.px1[1]),b=v-m;if(b*l>0&&(t.labelExtraY=b),Array.isArray(e.pull))for(u=0;u=(c.castOption(e.pull,f.pts)||0)||((t.pxmid[1]-f.pxmid[1])*l>0?(p=f.cyFinal+o(f.px0[1],f.px1[1]),(b=p-m-t.labelExtraY)*l>0&&(t.labelExtraY+=b)):(y+t.labelExtraY-x)*l>0&&(i=3*s*Math.abs(u-h.indexOf(t)),d=f.cxFinal+a(f.px0[0],f.px1[0]),(g=d+i-(t.cxFinal+t.pxmid[0])-t.labelExtraX)*s>0&&(t.labelExtraX+=g)))}for(n=0;n<2;n++)for(i=n?v:m,o=n?Math.max:Math.min,l=n?1:-1,r=0;r<2;r++){for(a=r?Math.max:Math.min,s=r?1:-1,(u=t[n][r]).sort(i),f=t[1-n][r],h=f.concat(u),d=[],p=0;pMath.abs(c)?o+="l"+c*t.pxmid[0]/t.pxmid[1]+","+c+"H"+(i+t.labelExtraX+s):o+="l"+t.labelExtraX+","+l+"v"+(c-l)+"h"+s}else o+="V"+(t.yLabelMid+t.labelExtraY)+"h"+s;e.append("path").classed("textline",!0).call(a.stroke,m.outsidetextfont.color).attr({"stroke-width":Math.min(2,m.outsidetextfont.size/8),d:o,fill:"none"})}})})});setTimeout(function(){g.selectAll("tspan").each(function(){var t=n.select(this);t.attr("dy")&&t.attr("dy",t.attr("dy"))})},0)}},{"../../components/color":571,"../../components/drawing":592,"../../components/fx":610,"../../lib":694,"../../lib/svg_text_utils":718,"./event_data":1026,"./helpers":1027,d3:149}],1032:[function(t,e,r){"use strict";var n=t("d3"),i=t("./style_one");e.exports=function(t){t._fullLayout._pielayer.selectAll(".trace").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)})})}},{"./style_one":1033,d3:149}],1033:[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":571,"./helpers":1027}],1034:[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":1047}],1035:[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;ld[2]&&(d[2]=o),sd[3]&&(d[3]=s);if(p)r=p;else for(r=new Int32Array(e),l=0;ld[2]&&(d[2]=o),sd[3]&&(d[3]=s);this.idToIndex=r,this.pointcloudOptions.idToIndex=r,this.pointcloudOptions.positions=n;var g=i(t.marker.color),v=i(t.marker.border.color),m=t.opacity*t.marker.opacity;g[3]*=m,this.pointcloudOptions.color=g;var y=t.marker.blend;if(null===y){y=c.length<100||u.length<100}this.pointcloudOptions.blend=y,v[3]*=m,this.pointcloudOptions.borderColor=v;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,k=b/2||.5;t._extremes[_._id]=a(_,[d[0],d[2]],{ppad:k}),t._extremes[w._id]=a(w,[d[1],d[3]],{ppad:k})},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":717,"../../plots/cartesian/autorange":741,"../scatter/get_trace_color":1057,"gl-pointcloud2d":281}],1036:[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":694,"./attributes":1034}],1037:[function(t,e,r){"use strict";var n={};n.attributes=t("./attributes"),n.supplyDefaults=t("./defaults"),n.calc=t("../scatter3d/calc"),n.plot=t("./convert"),n.moduleType="trace",n.name="pointcloud",n.basePlotModule=t("../../plots/gl2d"),n.categories=["gl","gl2d","showLegend"],n.meta={},e.exports=n},{"../../plots/gl2d":782,"../scatter3d/calc":1075,"./attributes":1034,"./convert":1035,"./defaults":1036}],1038:[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("../../components/fx/hovertemplate_attributes"),c=t("../../lib/extend").extendFlat,u=t("../../plot_api/edit_types").overrideAll;(e.exports=u({hoverinfo:c({},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({}),node:{label:{valType:"data_array",dflt:[]},color:{valType:"color",arrayOk:!0},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},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"]})}},"calc","nested")).transforms=void 0},{"../../components/color/attributes":570,"../../components/fx/attributes":601,"../../components/fx/hovertemplate_attributes":609,"../../lib/extend":684,"../../plot_api/edit_types":725,"../../plots/attributes":739,"../../plots/domain":768,"../../plots/font_attributes":769}],1039:[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");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.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()}},{"../../components/fx/layout_attributes":611,"../../plot_api/edit_types":725,"../../plots/get_data":779,"./plot":1044}],1040:[function(t,e,r){"use strict";var n=t("strongly-connected-components"),i=t("../../lib"),a=t("../../lib/gup").wrap;e.exports=function(t,e){return function(t,e,r){for(var a=t.length,o=i.init2dArray(a,0),s=0;s1})}(e.node.label,e.link.source,e.link.target)&&(i.error("Circularity is present in the Sankey data. Removing all nodes and links."),e.link.label=[],e.link.source=[],e.link.target=[],e.link.value=[],e.link.color=[],e.node.label=[],e.node.color=[]),a({link:e.link,node:e.node})}},{"../../lib":694,"../../lib/gup":692,"strongly-connected-components":508}],1041:[function(t,e,r){"use strict";e.exports={nodeTextOffsetHorizontal:4,nodeTextOffsetVertical:3,nodePadAcross:10,sankeyIterations:50,forceIterations:5,forceTicksPerFrame:10,duration:500,ease:"cubic-in-out",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"}}},{}],1042:[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");e.exports=function(t,e,r,u){function f(r,a){return n.coerce(t,e,i,r,a)}var h=n.extendDeep(u.hoverlabel,t.hoverlabel),p=t.node,d=c.newContainer(e,"node");function g(t,e){return n.coerce(p,d,i.node,t,e)}g("label"),g("pad"),g("thickness"),g("line.color"),g("line.width"),g("hoverinfo",t.hoverinfo),l(p,d,g,h),g("hovertemplate");var v=u.colorway;g("color",d.label.map(function(t,e){return a.addOpacity(function(t){return v[t%v.length]}(e),.8)}));var m=t.link,y=c.newContainer(e,"link");function x(t,e){return n.coerce(m,y,i.link,t,e)}x("label"),x("source"),x("target"),x("value"),x("line.color"),x("line.width"),x("hoverinfo",t.hoverinfo),l(m,y,x,h),x("hovertemplate");var b=o(u.paper_bgcolor).getLuminance()<.333?"rgba(255, 255, 255, 0.6)":"rgba(0, 0, 0, 0.2)";x("color",n.repeat(b,y.value.length)),s(e,u,f),f("orientation"),f("valueformat"),f("valuesuffix"),f("arrangement"),n.coerceFont(f,"textfont",n.extendFlat({},u.font)),e._length=null}},{"../../components/color":571,"../../components/fx/hoverlabel_defaults":608,"../../lib":694,"../../plot_api/plot_template":732,"../../plots/domain":768,"./attributes":1038,tinycolor2:515}],1043:[function(t,e,r){"use strict";var n={};n.attributes=t("./attributes"),n.supplyDefaults=t("./defaults"),n.calc=t("./calc"),n.plot=t("./plot"),n.moduleType="trace",n.name="sankey",n.basePlotModule=t("./base_plot"),n.categories=["noOpacity"],n.meta={},e.exports=n},{"./attributes":1038,"./base_plot":1039,"./calc":1040,"./defaults":1042,"./plot":1044}],1044:[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 v(t,e,r){e&&r&&f(r,e).selectAll("."+l.sankeyLink).filter(d(e)).call(y.bind(0,e,r,!1))}function m(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",.4),i&&f(e,t).selectAll("."+l.sankeyLink).filter(function(t){return t.link.label===i}).style("fill-opacity",.4),r&&f(e,t).selectAll("."+l.sankeyNode).filter(g(t)).call(v)}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(m)}function b(t,e){var r=t.hoverlabel||{},n=s.nestedProperty(r,e).get();return!Array.isArray(n)&&n}e.exports=function(t,e){var r=t._fullLayout,s=r._paper,f=r._size,d=c(t,"source:")+" ",g=c(t,"target:")+" ",_=c(t,"incoming flow count:")+" ",w=c(t,"outgoing flow count:")+" ";i(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){var l=t._fullLayout._paperdiv.node().getBoundingClientRect(),c=e.getBoundingClientRect(),f=c.left+c.width/2,v=c.top+c.height/2,m={valueLabel:n.format(i.valueFormat)(i.link.value)+i.valueSuffix};i.link.fullData=i.link.trace;var y=a.loneHover({x:f-l.left,y:v-l.top,name:m.valueLabel,text:[i.link.label||"",d+i.link.source.label,g+i.link.target.label].filter(u).join("
"),color:b(s,"bgcolor")||o.addOpacity(i.tinyColorHue,1),borderColor:b(s,"bordercolor"),fontFamily:b(s,"font.family"),fontSize:b(s,"font.size"),fontColor:b(s,"font.color"),idealAlign:n.event.x"),color:b(o,"bgcolor")||i.tinyColorHue,borderColor:b(o,"bordercolor"),fontFamily:b(o,"font.family"),fontSize:b(o,"font.size"),fontColor:b(o,"font.color"),idealAlign:"left",hovertemplate:o.hovertemplate,hovertemplateLabels:m,eventData:[i.node]},{container:r._hoverlayer.node(),outerContainer:r._paper.node(),gd:t});h(y,.85),p(y)}}},unhover:function(e,i,o){!1!==t._fullLayout.hovermode&&(n.select(e).call(m,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(m,r,i),a.click(t,{target:!0})}}})}},{"../../components/color":571,"../../components/fx":610,"../../lib":694,"./constants":1041,"./render":1045,d3:149}],1045:[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").sankey,c=t("d3-force"),u=t("../../lib"),f=u.isArrayOrTypedArray,h=u.isIndex,p=t("../../lib/gup"),d=p.keyFun,g=p.repeat,v=p.unwrap;function m(t){t.lastDraggedX=t.x,t.lastDraggedY=t.y}function y(t){return function(e){return e.node.originalX===t.node.originalX}}function x(t){for(var e=0;e1||t.linkLineWidth>0}function T(t){return"translate("+t.translateX+","+t.translateY+")"+(t.horizontal?"matrix(1 0 0 1 0 0)":"matrix(0 1 1 0 0 0)")}function S(t){return"translate("+(t.horizontal?0:t.labelY)+" "+(t.horizontal?t.labelY:0)+")"}function C(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 E(t){return t.horizontal?"matrix(1 0 0 1 0 0)":"matrix(0 1 1 0 0 0)"}function L(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 I(t,e,r){t.on(".basic",null).on("mouseover.basic",function(t){t.interactionState.dragInProgress||(r.hover(this,t,e),t.interactionState.hovered=[this,t])}).on("mousemove.basic",function(t){t.interactionState.dragInProgress||(r.follow(this,t),t.interactionState.hovered=[this,t])}).on("mouseout.basic",function(t){t.interactionState.dragInProgress||(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||r.select(this,t,e)})}function D(t,e,r){var a=i.behavior.drag().origin(function(t){return t.node}).on("dragstart",function(i){if("fixed"!==i.arrangement&&(u.raiseToTop(this),i.interactionState.dragInProgress=i.node,m(i.node),i.interactionState.hovered&&(r.nodeEvents.unhover.apply(0,i.interactionState.hovered),i.interactionState.hovered=!1),"snap"===i.arrangement)){var a=i.traceId+"|"+Math.floor(i.node.originalX);i.forceLayouts[a]?i.forceLayouts[a].alpha(1):function(t,e,r){var i=r.sankey.nodes().filter(function(t){return t.originalX===r.node.originalX});r.forceLayouts[e]=c.forceSimulation(i).alphaDecay(0).force("collide",c.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;a0&&i.forceLayouts[e].alpha(0)}}(0,e,i,r)).stop()}(0,a,i),function(t,e,r,i){window.requestAnimationFrame(function a(){for(var o=0;o0&&window.requestAnimationFrame(a)})}(t,e,i,a)}}).on("drag",function(r){if("fixed"!==r.arrangement){var n=i.event.x,a=i.event.y;"snap"===r.arrangement?(r.node.x=n,r.node.y=a):("freeform"===r.arrangement&&(r.node.x=n),r.node.y=Math.max(r.node.dy/2,Math.min(r.size-r.node.dy/2,a))),m(r.node),"snap"!==r.arrangement&&(r.sankey.relayout(),k(t.filter(y(r)),e))}}).on("dragend",function(t){t.interactionState.dragInProgress=!1});t.on(".drag",null).call(a)}e.exports=function(t,e,r,i){var c=t.selectAll("."+n.cn.sankey).data(e.filter(function(t){return v(t).trace.visible}).map(function(t,e,r){var i,a=v(e).trace,o=a.domain,s=a.node,c=a.link,p=a.arrangement,d="h"===a.orientation,g=a.node.pad,m=a.node.thickness,y=a.node.line.color,b=a.node.line.width,_=a.link.line.color,w=a.link.line.width,k=a.valueformat,A=a.valuesuffix,M=a.textfont,T=t.width*(o.x[1]-o.x[0]),S=t.height*(o.y[1]-o.y[0]),C=[],E=f(c.color),L={},z=s.label.length;for(i=0;i0&&h(I,z)&&h(D,z)&&(D=+D,L[I=+I]=L[D]=!0,C.push({pointNumber:i,label:c.label[i],color:E?c.color[i]:c.color,source:I,target:D,value:+O}))}var P=f(s.color),R=[],F=!1,B={};for(i=0;i5?t.node.label:""}).attr("text-anchor",function(t){return t.horizontal&&t.left?"end":"start"}),N.transition().ease(n.ease).duration(n.duration).attr("startOffset",O).style("fill",z)}},{"../../components/color":571,"../../components/drawing":592,"../../lib":694,"../../lib/gup":692,"./constants":1041,"@plotly/d3-sankey":47,d3:149,"d3-force":145,tinycolor2:515}],1046:[function(t,e,r){"use strict";var n=t("../../lib");e.exports=function(t,e){for(var r=0;rs&&M[v].gap;)v--;for(y=M[v].s,d=M.length-1;d>v;d--)M[d].s=y;for(;sT[u]&&u=0;i--){var a=t[i];if("scatter"===a.type&&a.xaxis===r.xaxis&&a.yaxis===r.yaxis){a.opacity=void 0;break}}}}}},{}],1054:[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("./stack_defaults"),u=t("./marker_defaults"),f=t("./line_defaults"),h=t("./line_shape_defaults"),p=t("./text_defaults"),d=t("./fillcolor_defaults");e.exports=function(t,e,r,g){function v(r,i){return n.coerce(t,e,a,r,i)}var m=l(t,e,g,v);if(m||(e.visible=!1),e.visible){var y=c(t,e,g,v),x=!y&&mG!=(F=O[L][1])>=G&&(D=O[L-1][0],P=O[L][0],F-R&&(I=D+(P-D)*(G-R)/(F-R),V=Math.min(V,I),U=Math.max(U,I)));V=Math.max(V,0),U=Math.min(U,h._length);var W=s.defaultLine;return s.opacity(f.fillcolor)?W=f.fillcolor:s.opacity((f.line||{}).color)&&(W=f.line.color),n.extendFlat(t,{distance:t.maxHoverDistance,x0:V,x1:U,y0:G,y1:G,color:W,hovertemplate:"%{name}"}),delete t.index,f.text&&!Array.isArray(f.text)?t.text=String(f.text):t.text=f.name,[t]}}}},{"../../components/color":571,"../../components/fx":610,"../../lib":694,"../../registry":825,"./fill_hover_text":1055,"./get_trace_color":1057}],1059:[function(t,e,r){"use strict";var n={},i=t("./subtypes");n.hasLines=i.hasLines,n.hasMarkers=i.hasMarkers,n.hasText=i.hasText,n.isBubble=i.isBubble,n.attributes=t("./attributes"),n.supplyDefaults=t("./defaults"),n.crossTraceDefaults=t("./cross_trace_defaults"),n.calc=t("./calc").calc,n.crossTraceCalc=t("./cross_trace_calc"),n.arraysToCalcdata=t("./arrays_to_calcdata"),n.plot=t("./plot"),n.colorbar=t("./marker_colorbar"),n.style=t("./style").style,n.styleOnSelect=t("./style").styleOnSelect,n.hoverPoints=t("./hover"),n.selectPoints=t("./select"),n.animatable=!0,n.moduleType="trace",n.name="scatter",n.basePlotModule=t("../../plots/cartesian"),n.categories=["cartesian","svg","symbols","errorBarsOK","showLegend","scatter-like","zoomScale"],n.meta={},e.exports=n},{"../../plots/cartesian":754,"./arrays_to_calcdata":1046,"./attributes":1047,"./calc":1048,"./cross_trace_calc":1052,"./cross_trace_defaults":1053,"./defaults":1054,"./hover":1058,"./marker_colorbar":1065,"./plot":1067,"./select":1068,"./style":1070,"./subtypes":1071}],1060:[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":581,"../../components/colorscale/helpers":582,"../../lib":694}],1061:[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,v,m,y,x,b,_,w,k,A,M,T,S=e.xaxis,C=e.yaxis,E="log"===S.type,L="log"===C.type,z=S._length,O=C._length,I=e.connectGaps,D=e.baseTolerance,P=e.shape,R="linear"===P,F=[],B=f.minTolerance,N=new Array(t.length),j=0;function V(e){var r=t[e];if(!r)return!1;var n=S.c2p(r.x),a=C.c2p(r.y);if(n===i){if(E&&(n=S.c2p(r.x,!0)),n===i)return!1;L&&a===i&&(n*=Math.abs(S._m*O*(S._m>0?o:s)/(C._m*z*(C._m>0?o:s)))),n*=1e3}if(a===i){if(L&&(a=C.c2p(r.y,!0)),a===i)return!1;a*=1e3}return[n,a]}function U(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&&ctt||t[1]rt)return[u(t[0],Q,tt),u(t[1],et,rt)]}function at(t,e){return t[0]===e[0]&&(t[0]===Q||t[0]===tt)||(t[1]===e[1]&&(t[1]===et||t[1]===rt)||void 0)}function ot(t,e,r){return function(n,i){var a=it(n),o=it(i),s=[];if(a&&o&&at(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 st(t){var e=t[0],r=t[1],n=e===N[j-1][0],i=r===N[j-1][1];if(!n||!i)if(j>1){var a=e===N[j-2][0],o=r===N[j-2][1];n&&(e===Q||e===tt)&&a?o?j--:N[j-1]=t:i&&(r===et||r===rt)&&o?a?j--:N[j-1]=t:N[j++]=t}else N[j++]=t}function lt(t){N[j-1][0]!==t[0]&&N[j-1][1]!==t[1]&&st([Y,X]),st(t),Z=null,Y=X=0}function ct(t){if(M=t[0]/z,T=t[1]/O,G=t[0]tt?tt:0,W=t[1]rt?rt:0,G||W){if(j)if(Z){var e=J(Z,t);e.length>1&&(lt(e[0]),N[j++]=e[1])}else $=J(N[j-1],t)[0],N[j++]=$;else N[j++]=[G||t[0],W||t[1]];var r=N[j-1];G&&W&&(r[0]!==G||r[1]!==W)?(Z&&(Y!==G&&X!==W?st(Y&&X?(n=Z,a=(i=t)[0]-n[0],o=(i[1]-n[1])/a,(n[1]*i[0]-i[1]*n[0])/a>0?[o>0?Q:tt,rt]:[o>0?tt:Q,et]):[Y||G,X||W]):Y&&X&&st([Y,X])),st([G,W])):Y-G&&X-W&&st([G||Y,W||X]),Z=t,Y=G,X=W}else Z&<(J(Z,t)[0]),N[j++]=t;var n,i,a,o}for("linear"===P||"spline"===P?J=function(t,e){for(var r=[],n=0,i=0;i<4;i++){var a=nt[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&&H(o,t)q(d,ut))break;a=d,(_=m[0]*v[0]+m[1]*v[1])>x?(x=_,h=d,g=!1):_=t.length||!d)break;ct(d),n=d}}else ct(h)}Z&&st([Y||Z[0],X||Z[1]]),F.push(N.slice(0,j))}return F}},{"../../constants/numerical":671,"../../lib":694,"./constants":1051}],1062:[function(t,e,r){"use strict";e.exports=function(t,e,r){"spline"===r("line.shape")&&r("line.smoothing")}},{}],1063:[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=0?l=p:(l=p=h,h++),l0?Math.max(e,i):0}}},{"fast-isnumeric":215}],1065:[function(t,e,r){"use strict";e.exports={container:"marker",min:"cmin",max:"cmax"}},{}],1066:[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":571,"../../components/colorscale/defaults":581,"../../components/colorscale/helpers":582,"./subtypes":1071}],1067:[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 v;!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),v=0;o.forEach(function(t,r){var n=t[0].trace;c.hasMarkers(n)&&n.marker.maxdisplayed>0&&r0;function y(t){return m?t.transition():t}var x=r.xaxis,b=r.yaxis,_=f[0].trace,w=_.line,k=n.select(d),A=o(k,"g","errorbars"),M=o(k,"g","lines"),T=o(k,"g","points"),S=o(k,"g","text");if(i.getComponentMethod("errorbars","plot")(t,A,r,g),!0===_.visible){var C,E;y(k).style("opacity",_.opacity);var L=_.fill.charAt(_.fill.length-1);"x"!==L&&"y"!==L&&(L=""),r.isRangePlot||(f[0].node3=k);var z,O,I="",D=[],P=_._prevtrace;P&&(I=P._prevRevpath||"",E=P._nextFill,D=P._polygons);var R,F,B,N,j,V,U,q="",H="",G=[],W=a.noop;if(C=_._ownFill,c.hasLines(_)||"none"!==_.fill){for(E&&E.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}),U=_._polygons=new Array(G.length),v=0;v1){var r=n.select(this);if(r.datum(f),t)y(r.style("opacity",0).attr("d",z).call(l.lineGroupStyle)).style("opacity",1);else{var i=y(r);i.attr("d",z),l.singleLineStyle(f,i)}}}}}var Y=M.selectAll(".js-line").data(G);y(Y.exit()).style("opacity",0).remove(),Y.each(W(!1)),Y.enter().append("path").classed("js-line",!0).style("vector-effect","non-scaling-stroke").call(l.lineGroupStyle).each(W(!0)),l.setClipUrl(Y,r.layerClipId,t),G.length?(C?(C.datum(f),N&&V&&(L?("y"===L?N[1]=V[1]=b.c2p(0,!0):"x"===L&&(N[0]=V[0]=x.c2p(0,!0)),y(C).attr("d","M"+V+"L"+N+"L"+q.substr(1)).call(l.singleFillStyle)):y(C).attr("d",q+"Z").call(l.singleFillStyle))):E&&("tonext"===_.fill.substr(0,6)&&q&&I?("tonext"===_.fill?y(E).attr("d",q+"Z"+I+"Z").call(l.singleFillStyle):y(E).attr("d",q+"L"+I.substr(1)+"Z").call(l.singleFillStyle),_._polygons=_._polygons.concat(D)):(Z(E),_._polygons=null)),_._prevRevpath=H,_._prevPolygons=U):(C?Z(C):E&&Z(E),_._polygons=_._prevRevpath=_._prevPolygons=null),T.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 v=s,_=u.stackgroup,w=_&&"infer zero"===t._fullLayout._scatterStackOpts[x._id+b._id][_].stackgaps;u.marker.maxdisplayed||u._needsCull?v=w?J:$:_&&!w&&(v=K),f&&(d=v),h&&(g=v)}var k,A=(o=e.selectAll("path.point").data(d,p)).enter().append("path").classed("point",!0);m&&A.call(l.pointStyle,u,t).call(l.translatePoints,x,b).style("opacity",0).transition().style("opacity",1),o.order(),f&&(k=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,k,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()}),m?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()}(T,S,f);var X=!1===_.cliponaxis?null:r.layerClipId;l.setClipUrl(T,X,t),l.setClipUrl(S,X,t)}function Z(t){y(t).attr("d","M0,0Z")}function $(t){return t.filter(function(t){return!t.gap&&t.vis})}function J(t){return t.filter(function(t){return t.vis})}function K(t){return t.filter(function(t){return!t.gap})}function Q(t){return t.id}function tt(t){if(t.ids)return Q}function et(){return!1}}e.exports=function(t,e,r,i,a,c){var u,h,d=!a,g=!!a&&a.duration>0,v=f(t,e,r);((u=i.selectAll("g.trace").data(v,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,v,this,a)})})):u.each(function(r,n){p(t,n,e,r,v,this,a)});d&&u.exit().remove(),i.selectAll("path:not([d])").remove()}},{"../../components/drawing":592,"../../lib":694,"../../lib/polygon":706,"../../registry":825,"./line_points":1061,"./link_traces":1063,"./subtypes":1071,d3:149}],1068:[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;r0){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-1?-1:t.indexOf("right")>-1?1:0}function y(t){return null==t?0:t.indexOf("top")>-1?-1:t.indexOf("bottom")>-1?1:0}function x(t,e){return e(4*t)}function b(t){return p[t]}function _(t,e,r,n,i){var a=null;if(l.isArrayOrTypedArray(t)){a=[];for(var o=0;o=0){var g=function(t,e,r){var n,i=(r+1)%3,a=(r+2)%3,o=[],l=[];for(n=0;n=0&&f("surfacecolor",h||p);for(var d=["x","y","z"],g=0;g<3;++g){var v="projection."+d[g];f(v+".show")&&(f(v+".opacity"),f(v+".scale"))}var m=n.getComponentMethod("errorbars","supplyDefaults");m(t,e,h||p||r,{axis:"z"}),m(t,e,h||p||r,{axis:"y",inherit:"z"}),m(t,e,h||p||r,{axis:"x",inherit:"z"})}else e.visible=!1}},{"../../lib":694,"../../registry":825,"../scatter/line_defaults":1060,"../scatter/marker_defaults":1066,"../scatter/subtypes":1071,"../scatter/text_defaults":1072,"./attributes":1074}],1079:[function(t,e,r){"use strict";var n={};n.plot=t("./convert"),n.attributes=t("./attributes"),n.markerSymbols=t("../../constants/gl3d_markers"),n.supplyDefaults=t("./defaults"),n.colorbar=[{container:"marker",min:"cmin",max:"cmax"},{container:"line",min:"cmin",max:"cmax"}],n.calc=t("./calc"),n.moduleType="trace",n.name="scatter3d",n.basePlotModule=t("../../plots/gl3d"),n.categories=["gl3d","symbols","showLegend"],n.meta={},e.exports=n},{"../../constants/gl3d_markers":669,"../../plots/gl3d":785,"./attributes":1074,"./calc":1075,"./convert":1077,"./defaults":1078}],1080:[function(t,e,r){"use strict";var n=t("../scatter/attributes"),i=t("../../plots/attributes"),a=t("../../components/colorscale/attributes"),o=t("../../components/colorbar/attributes"),s=t("../../lib/extend").extendFlat,l=n.marker,c=n.line,u=l.line;e.exports={carpet:{valType:"string",editType:"calc"},a:{valType:"data_array",editType:"calc"},b:{valType:"data_array",editType:"calc"},mode:s({},n.mode,{dflt:"markers"}),text:s({},n.text,{}),line:{color:c.color,width:c.width,dash:c.dash,shape:s({},c.shape,{values:["linear","spline"]}),smoothing:c.smoothing,editType:"calc"},connectgaps:n.connectgaps,fill:s({},n.fill,{values:["none","toself","tonext"],dflt:"none"}),fillcolor:n.fillcolor,marker:s({symbol:l.symbol,opacity:l.opacity,maxdisplayed:l.maxdisplayed,size:l.size,sizeref:l.sizeref,sizemin:l.sizemin,sizemode:l.sizemode,line:s({width:u.width,editType:"calc"},a("marker.line")),gradient:l.gradient,editType:"calc"},a("marker"),{colorbar:o}),textfont:n.textfont,textposition:n.textposition,selected:n.selected,unselected:n.unselected,hoverinfo:s({},i.hoverinfo,{flags:["a","b","text","name"]}),hoveron:n.hoveron}},{"../../components/colorbar/attributes":572,"../../components/colorscale/attributes":578,"../../lib/extend":684,"../../plots/attributes":739,"../scatter/attributes":1047}],1081:[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"),a}function w(t,e){var r;r=t.labelprefix&&t.labelprefix.length>0?t.labelprefix.replace(/ = $/,""):t._hovertitle,g.push(r+": "+e.toFixed(3)+t.labelsuffix)}}},{"../scatter/hover":1058}],1085:[function(t,e,r){"use strict";var n={};n.attributes=t("./attributes"),n.supplyDefaults=t("./defaults"),n.colorbar=t("../scatter/marker_colorbar"),n.calc=t("./calc"),n.plot=t("./plot"),n.style=t("../scatter/style").style,n.styleOnSelect=t("../scatter/style").styleOnSelect,n.hoverPoints=t("./hover"),n.selectPoints=t("../scatter/select"),n.eventData=t("./event_data"),n.moduleType="trace",n.name="scattercarpet",n.basePlotModule=t("../../plots/cartesian"),n.categories=["svg","carpet","symbols","showLegend","carpetDependent","zoomScale"],n.meta={},e.exports=n},{"../../plots/cartesian":754,"../scatter/marker_colorbar":1065,"../scatter/select":1068,"../scatter/style":1070,"./attributes":1080,"./calc":1081,"./defaults":1082,"./event_data":1083,"./hover":1084,"./plot":1086}],1086:[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")}(u,v,p.mockAxis,c[0].t.labels),t.hovertemplate=u.hovertemplate,[t]}}},{"../../components/fx":610,"../../constants/numerical":671,"../../plots/cartesian/axes":742,"../scatter/fill_hover_text":1055,"../scatter/get_trace_color":1057,"./attributes":1087}],1092:[function(t,e,r){"use strict";var n={};n.attributes=t("./attributes"),n.supplyDefaults=t("./defaults"),n.colorbar=t("../scatter/marker_colorbar"),n.calc=t("./calc"),n.plot=t("./plot"),n.style=t("./style"),n.styleOnSelect=t("../scatter/style").styleOnSelect,n.hoverPoints=t("./hover"),n.eventData=t("./event_data"),n.selectPoints=t("./select"),n.moduleType="trace",n.name="scattergeo",n.basePlotModule=t("../../plots/geo"),n.categories=["geo","symbols","showLegend","scatter-like"],n.meta={},e.exports=n},{"../../plots/geo":773,"../scatter/marker_colorbar":1065,"../scatter/style":1070,"./attributes":1087,"./calc":1088,"./defaults":1089,"./event_data":1090,"./hover":1091,"./plot":1093,"./select":1094,"./style":1095}],1093:[function(t,e,r){"use strict";var n=t("d3"),i=t("../../lib"),a=t("../../constants/numerical").BADNUM,o=t("../../lib/topojson_utils").getTopojsonFeatures,s=t("../../lib/geo_location_utils").locationToFeature,l=t("../../lib/geojson_utils"),c=t("../scatter/subtypes"),u=t("./style");function f(t,e){var r=t[0].trace;if(Array.isArray(r.locations))for(var n=o(r,e),i=r.locationmode,l=0;lp.TOO_MANY_POINTS?"rect":f.hasMarkers(e)?"rect":"round";if(c&&e.connectgaps){var h=n[0],d=n[1];for(i=0;i1?l[i]:l[0]:l,d=Array.isArray(c)?c.length>1?c[i]:c[0]:c,v=g[p],m=g[d],y=u?u/.8+1:0,x=-m*y-.5*m;o.offset[i]=[v*y/h,x/h]}}return o}}},{"../../components/drawing":592,"../../constants/interactions":670,"../../lib":694,"../../lib/gl_format_color":691,"../../plots/cartesian/axis_ids":745,"../../registry":825,"../scatter/make_bubble_size_func":1064,"../scatter/subtypes":1071,"./constants":1097,"color-normalize":109,"fast-isnumeric":215,"svg-path-sdf":513}],1099:[function(t,e,r){"use strict";var n=t("../../lib"),i=t("../../registry"),a=t("./attributes"),o=t("../scatter/constants"),s=t("../scatter/subtypes"),l=t("../scatter/xy_defaults"),c=t("../scatter/marker_defaults"),u=t("../scatter/line_defaults"),f=t("../scatter/fillcolor_defaults"),h=t("../scatter/text_defaults");e.exports=function(t,e,r,p){function d(r,i){return n.coerce(t,e,a,r,i)}var g=!!t.marker&&/-open/.test(t.marker.symbol),v=s.isBubble(t),m=l(t,e,p,d);if(m){var y=m1&&u.extendFlat(o.line,A.linePositions(t,r,n)),o.errorX||o.errorY){var s=A.errorBarPositions(t,r,n,i,a);o.errorX&&u.extendFlat(o.errorX,s.x),o.errorY&&u.extendFlat(o.errorY,s.y)}return o.text&&(u.extendFlat(o.text,{positions:n},A.textPosition(t,r,o.text,o.marker)),u.extendFlat(o.textSel,{positions:n},A.textPosition(t,r,o.text,o.markerSel)),u.extendFlat(o.textUnsel,{positions:n},A.textPosition(t,r,o.text,o.markerUnsel))),o}(t,0,e,_,g,v),L=E(0,c);return x(a,e),f=T&&(S.marker.cluster=d.tree),L.lineOptions.push(S.line),L.errorXOptions.push(S.errorX),L.errorYOptions.push(S.errorY),L.fillOptions.push(S.fill),L.markerOptions.push(S.marker),L.markerSelectedOptions.push(S.markerSel),L.markerUnselectedOptions.push(S.markerUnsel),L.textOptions.push(S.text),L.textSelectedOptions.push(S.textSel),L.textUnselectedOptions.push(S.textUnsel),d._scene=L,d.index=L.count,d.x=g,d.y=v,d.positions=_,L.count++,[{x:!1,y:!1,t:d,trace:e}]},plot:function(t,e,r){if(r.length){var o,s,c=t._fullLayout,h=e._scene,p=e.xaxis,d=e.yaxis;if(h)if(f(t,["ANGLE_instanced_arrays","OES_element_index_uint"])){var g=c._glcanvas.data()[0].regl;if(_(t,e,r),h.dirty){if(!0===h.error2d&&(h.error2d=a(g)),!0===h.line2d&&(h.line2d=i(g)),!0===h.scatter2d&&(h.scatter2d=n(g)),!0===h.fill2d&&(h.fill2d=i(g)),!0===h.glText)for(h.glText=new Array(h.count),o=0;or&&(isNaN(e[n])||isNaN(e[n+1]));)n-=2;t.positions=e.slice(r,n+2)}return t}),h.line2d.update(h.lineOptions)),h.error2d){var v=(h.errorXOptions||[]).concat(h.errorYOptions||[]);h.error2d.update(v)}h.scatter2d&&h.scatter2d.update(h.markerOptions),h.fillOrder=u.repeat(null,h.count),h.fill2d&&(h.fillOptions=h.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=h.lineOptions[e],u=[];s._ownfill&&u.push(e),s._nexttrace&&u.push(e+1),u.length&&(h.fillOrder[e]=u);var f,p,d=[],g=c&&c.positions||l.positions;if("tozeroy"===s.fill){for(f=0;ff&&isNaN(g[p+1]);)p-=2;0!==g[f+1]&&(d=[g[f],0]),d=d.concat(g.slice(f,p+2)),0!==g[p+1]&&(d=d.concat([g[p],0]))}else if("tozerox"===s.fill){for(f=0;ff&&isNaN(g[p]);)p-=2;0!==g[f]&&(d=[0,g[f+1]]),d=d.concat(g.slice(f,p+2)),0!==g[p]&&(d=d.concat([0,g[p+1]]))}else if("toself"===s.fill||"tonext"===s.fill){for(d=[],i=0,a=0;a-1;for(o=0;o=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],v=g.lonlat,m=[i.modHalf(v[0],360)+p,v[1]],y=u.c2p(m),x=f.c2p(m),b=g.mrc||1;return t.x0=y-b,t.x1=y+b,t.y0=x-b,t.y1=x+b,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("
")}(c,g,l[0].t.labels),t.hovertemplate=c.hovertemplate,[t]}}},{"../../components/fx":610,"../../constants/numerical":671,"../../lib":694,"../scatter/fill_hover_text":1055,"../scatter/get_trace_color":1057}],1106:[function(t,e,r){"use strict";var n={};n.attributes=t("./attributes"),n.supplyDefaults=t("./defaults"),n.colorbar=t("../scatter/marker_colorbar"),n.calc=t("../scattergeo/calc"),n.plot=t("./plot"),n.hoverPoints=t("./hover"),n.eventData=t("./event_data"),n.selectPoints=t("./select"),n.style=function(t,e){e&&e[0].trace._glTrace.update(e)},n.moduleType="trace",n.name="scattermapbox",n.basePlotModule=t("../../plots/mapbox"),n.categories=["mapbox","gl","symbols","showLegend","scatterlike"],n.meta={},e.exports=n},{"../../plots/mapbox":800,"../scatter/marker_colorbar":1065,"../scattergeo/calc":1088,"./attributes":1101,"./defaults":1103,"./event_data":1104,"./hover":1105,"./plot":1107,"./select":1108}],1107:[function(t,e,r){"use strict";var n=t("./convert");function i(t,e){this.subplot=t,this.uid=e,this.sourceIds={fill:e+"-source-fill",line:e+"-source-line",circle:e+"-source-circle",symbol:e+"-source-symbol"},this.layerIds={fill:e+"-layer-fill",line:e+"-layer-line",circle:e+"-layer-circle",symbol:e+"-layer-symbol"},this.order=["fill","line","circle","symbol"]}var a=i.prototype;a.addSource=function(t,e){this.subplot.map.addSource(this.sourceIds[t],{type:"geojson",data:e.geojson})},a.setSourceData=function(t,e){this.subplot.map.getSource(this.sourceIds[t]).setData(e.geojson)},a.addLayer=function(t,e){this.subplot.map.addLayer({type:t,id:this.layerIds[t],source:this.sourceIds[t],layout:e.layout,paint:e.paint})},a.update=function(t){for(var e=this.subplot,r=n(t),i=0;i")}}e.exports={hoverPoints:function(t,e,r,i){var a=n(t,e,r,i);if(a&&!1!==a[0].index){var s=a[0];if(void 0===s.index)return a;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,o(c,u,l,s),s.hovertemplate=u.hovertemplate,a}},makeHoverPointText:o}},{"../../lib":694,"../../plots/cartesian/axes":742,"../scatter/hover":1058}],1113:[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"),calc:t("./calc"),plot:t("./plot"),style:t("../scatter/style").style,hoverPoints:t("./hover").hoverPoints,selectPoints:t("../scatter/select"),meta:{}}},{"../../plots/polar":809,"../scatter/marker_colorbar":1065,"../scatter/select":1068,"../scatter/style":1070,"./attributes":1109,"./calc":1110,"./defaults":1111,"./hover":1112,"./plot":1114}],1114:[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=h&&(y.marker.cluster=d.tree),y.marker&&(y.markerSel.positions=y.markerUnsel.positions=y.marker.positions=_),y.line&&_.length>1&&c.extendFlat(y.line,l.linePositions(t,p,_)),y.text&&(c.extendFlat(y.text,{positions:_},l.textPosition(t,p,y.text,y.marker)),c.extendFlat(y.textSel,{positions:_},l.textPosition(t,p,y.text,y.markerSel)),c.extendFlat(y.textUnsel,{positions:_},l.textPosition(t,p,y.text,y.markerUnsel))),y.fill&&!u.fill2d&&(u.fill2d=!0),y.marker&&!u.scatter2d&&(u.scatter2d=!0),y.line&&!u.line2d&&(u.line2d=!0),y.text&&!u.glText&&(u.glText=!0),u.lineOptions.push(y.line),u.fillOptions.push(y.fill),u.markerOptions.push(y.marker),u.markerSelectedOptions.push(y.markerSel),u.markerUnselectedOptions.push(y.markerUnsel),u.textOptions.push(y.text),u.textSelectedOptions.push(y.textSel),u.textUnselectedOptions.push(y.textUnsel),d.x=w,d.y=k,d.rawx=w,d.rawy=k,d.r=v,d.theta=m,d.positions=_,d._scene=u,d.index=u.count,u.count++}}),a.plot(t,e,r)}},hoverPoints:function(t,e,r,n){var i=t.cd[0].t,o=i.r,s=i.theta,l=a.hoverPoints(t,e,r,n);if(l&&!1!==l[0].index){var c=l[0];if(void 0===c.index)return l;var u=t.subplot,h=c.cd[c.index],p=c.trace;if(h.r=o[c.index],h.theta=s[c.index],u.isPtInside(h))return c.xLabelVal=void 0,c.yLabelVal=void 0,f(h,p,u,c),l}},selectPoints:a.selectPoints,meta:{}}},{"../../lib":694,"../../plots/cartesian/axes":742,"../../plots/polar":809,"../scatter/calc":1048,"../scatter/colorscale_calc":1050,"../scatter/marker_colorbar":1065,"../scattergl":1100,"../scattergl/constants":1097,"../scattergl/convert":1098,"../scatterpolar/hover":1112,"./attributes":1115,"./defaults":1116,"fast-isnumeric":215,"point-cluster":455}],1118:[function(t,e,r){"use strict";var n=t("../../components/fx/hovertemplate_attributes"),i=t("../scatter/attributes"),a=t("../../plots/attributes"),o=t("../../components/colorscale/attributes"),s=t("../../components/colorbar/attributes"),l=t("../../components/drawing/attributes").dash,c=t("../../lib/extend").extendFlat,u=i.marker,f=i.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({},i.mode,{dflt:"markers"}),text:c({},i.text,{}),hovertext:c({},i.hovertext,{}),line:{color:f.color,width:f.width,dash:l,shape:c({},f.shape,{values:["linear","spline"]}),smoothing:f.smoothing,editType:"calc"},connectgaps:i.connectgaps,cliponaxis:i.cliponaxis,fill:c({},i.fill,{values:["none","toself","tonext"],dflt:"none"}),fillcolor:i.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"},o("marker.line")),gradient:u.gradient,editType:"calc"},o("marker"),{colorbar:s}),textfont:i.textfont,textposition:i.textposition,selected:i.selected,unselected:i.unselected,hoverinfo:c({},a.hoverinfo,{flags:["a","b","c","text","name"]}),hoveron:i.hoveron,hovertemplate:n()}},{"../../components/colorbar/attributes":572,"../../components/colorscale/attributes":578,"../../components/drawing/attributes":591,"../../components/fx/hovertemplate_attributes":609,"../../lib/extend":684,"../../plots/attributes":739,"../scatter/attributes":1047}],1119:[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,v=e.sum||g,m={a:e.a,b:e.b,c:e.c};for(r=0;r"),s.hovertemplate=p.hovertemplate,o}function y(t,e){v.push(t._hovertitle+": "+i.tickText(t,e,"hover").text)}}},{"../../plots/cartesian/axes":742,"../scatter/hover":1058}],1123:[function(t,e,r){"use strict";var n={};n.attributes=t("./attributes"),n.supplyDefaults=t("./defaults"),n.colorbar=t("../scatter/marker_colorbar"),n.calc=t("./calc"),n.plot=t("./plot"),n.style=t("../scatter/style").style,n.styleOnSelect=t("../scatter/style").styleOnSelect,n.hoverPoints=t("./hover"),n.selectPoints=t("../scatter/select"),n.eventData=t("./event_data"),n.moduleType="trace",n.name="scatterternary",n.basePlotModule=t("../../plots/ternary"),n.categories=["ternary","symbols","showLegend","scatter-like"],n.meta={},e.exports=n},{"../../plots/ternary":821,"../scatter/marker_colorbar":1065,"../scatter/select":1068,"../scatter/style":1070,"./attributes":1118,"./calc":1119,"./defaults":1120,"./event_data":1121,"./hover":1122,"./plot":1124}],1124:[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":1067}],1125:[function(t,e,r){"use strict";var n=t("../scatter/attributes"),i=t("../../components/colorscale/attributes"),a=t("../scattergl/attributes"),o=t("../../plots/cartesian/constants").idRegex,s=t("../../plot_api/plot_template").templatedArray,l=t("../../lib/extend").extendFlat,c=n.marker,u=c.line,f=l(i("marker.line",{editTypeOverride:"calc"}),{width:l({},u.width,{editType:"calc"}),editType:"calc"}),h=l(i("marker"),{symbol:c.symbol,size:l({},c.size,{editType:"markerSize"}),sizeref:c.sizeref,sizemin:c.sizemin,sizemode:c.sizemode,opacity:c.opacity,colorbar:c.colorbar,line:f,editType:"calc"});function p(t){return{valType:"info_array",freeLength:!0,editType:"calc",items:{valType:"subplotid",regex:o[t],editType:"plot"}}}h.color.editType=h.cmin.editType=h.cmax.editType="style",e.exports={dimensions:s("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"},editType:"calc+clearAxisTypes"},editType:"calc+clearAxisTypes"}),text:l({},a.text,{}),marker:h,xaxes:p("x"),yaxes:p("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:a.selected.marker,editType:"calc"},unselected:{marker:a.unselected.marker,editType:"calc"},opacity:a.opacity}},{"../../components/colorscale/attributes":578,"../../lib/extend":684,"../../plot_api/plot_template":732,"../../plots/cartesian/constants":748,"../scatter/attributes":1047,"../scattergl/attributes":1096}],1126:[function(t,e,r){"use strict";var n=t("regl-line2d"),i=t("../../registry"),a=t("../../lib/prepare_regl"),o=t("../../plots/get_data").getModuleCalcData,s=t("../../plots/cartesian"),l=t("../../plots/cartesian/axis_ids").getFromId,c=t("../../plots/cartesian/axes").shouldShowZeroLine,u="splom";function f(t,e,r){for(var n=r.matrixOptions.data.length,i=e._visibleDims,a=r.viewOpts.ranges=new Array(n),o=0;oa&&l?r._splomSubplots[S]=1:i-1,M="lasso"===y||"select"===y||!!h.selectedpoints||A;if(d.selectBatch=null,d.unselectBatch=null,M){var T=h._length;if(d.selectBatch||(d.selectBatch=[],d.unselectBatch=[]),h.selectedpoints){d.selectBatch=h.selectedpoints;var S=h.selectedpoints,C={};for(a=0;am?2*(x.sizeAvg||Math.max(x.size,3)):u(e,y),n=0;n2?t.slice(1,e-1):2===e?[(t[0]+t[1])/2]:t}function p(t){var e=t.length;return 1===e?[.5,.5]:[t[1]-t[0],t[e-1]-t[e-2]]}function d(t,e){var r=t.fullSceneLayout,i=t.dataScale,c=e._len,u={};function d(t,e){var n=r[e],o=i[l[e]];return a.simpleMap(t,function(t){return n.d2l(t)*o})}u.vectors=s(d(e.u,"xaxis"),d(e.v,"yaxis"),d(e.w,"zaxis"),c);var g=f(e.x.slice(0,c)),v=f(e.y.slice(0,c)),m=f(e.z.slice(0,c));if(g.length*v.length*m.length>c)return{positions:[],cells:[]};var y=d(g,"xaxis"),x=d(v,"yaxis"),b=d(m,"zaxis");if(u.meshgrid=[y,x,b],e.starts){var _=e._slen;u.startingPositions=s(d(e.starts.x.slice(0,_),"xaxis"),d(e.starts.y.slice(0,_),"yaxis"),d(e.starts.z.slice(0,_),"zaxis"))}else{for(var w=x[0],k=h(y),A=h(b),M=new Array(k.length*A.length),T=0,S=0;S0){r=h[n];break}return r}function v(t,e){if(!(t<1||e<1)){for(var r=d(t),n=d(e),i=1,a=0;ax;)r--,r/=g(r),++r1?n:1},f.refineCoords=function(t){for(var e=this.dataScaleX,r=this.dataScaleY,n=t[0].shape[0],o=t[0].shape[1],s=0|Math.floor(t[0].shape[0]*e+1),l=0|Math.floor(t[0].shape[1]*r+1),c=1+n+1,u=1+o+1,f=i(new Float32Array(c*u),[c,u]),h=0;ha&&(this.minValues[e]=a),this.maxValues[e]",maxDimensionCount:60,overdrag:45,releaseTransitionDuration:120,releaseTransitionEase:"cubic-out",scrollbarCaptureWidth:18,scrollbarHideDelay:1e3,scrollbarHideDuration:1e3,scrollbarOffset:5,scrollbarWidth:8,transitionDuration:100,transitionEase:"cubic-out",uplift:5,wrapSpacer:" ",wrapSplitCharacter:" ",cn:{table:"table",tableControlView:"table-control-view",scrollBackground:"scroll-background",yColumn:"y-column",columnBlock:"column-block",scrollAreaClip:"scroll-area-clip",scrollAreaClipRect:"scroll-area-clip-rect",columnBoundary:"column-boundary",columnBoundaryClippath:"column-boundary-clippath",columnBoundaryRect:"column-boundary-rect",columnCells:"column-cells",columnCell:"column-cell",cellRect:"cell-rect",cellText:"cell-text",cellTextHolder:"cell-text-holder",scrollbarKit:"scrollbar-kit",scrollbar:"scrollbar",scrollbarSlider:"scrollbar-slider",scrollbarGlyph:"scrollbar-glyph",scrollbarCaptureZone:"scrollbar-capture-zone"}}},{}],1143:[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=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)})),v=e.domain,m=Math.floor(t._fullLayout._size.w*(v.x[1]-v.x[0])),y=Math.floor(t._fullLayout._size.h*(v.y[1]-v.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),k=f(h(x,_),[]),A=f(w,k),M={},T=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}),C=S.reduce(s,0);S=S.map(function(t){return t/C*m});var E=Math.max(o(e.header.line.width),o(e.cells.line.width)),L={key:e.uid+t._context.staticPlot,translateX:v.x[0]*t._fullLayout._size.w,translateY:t._fullLayout._size.h*(1-v.y[1]),size:t._fullLayout._size,width:m,maxLineWidth:E,height:y,columnOrder:T,groupHeight:y,rowBlocks:A,headerRowBlocks:k,scrollY:0,cells:i({},e.cells,{values:r}),headerCells:i({},e.header,{values:g}),gdColumns:g.map(function(t){return t[0]}),gdColumnsOriginalOrder:g.map(function(t){return t[0]}),prevPages:[0,0],scrollbarState:{scrollbarScrollInProgress:!1},columns:g.map(function(t,e){var r=M[t];return M[t]=(r||0)+1,{key:t+"__"+M[t],label:t,specIndex:e,xIndex:T[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":684,"./constants":1142,"fast-isnumeric":215}],1144:[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":684}],1145:[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/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?"":_(t.calcdata.cells.prefix,e,r)||"",d=u?"":_(t.calcdata.cells.suffix,e,r)||"",g=u?null:_(t.calcdata.cells.format,e,r)||null,v=p+(g?i.format(g)(t.value):t.value)+d;if(t.wrappingNeeded=!t.wrapped&&!l&&!u&&(f=b(v)),t.cellHeightMayIncrease=s||u||t.mayHaveMarkup||(void 0===f?b(v):f),t.needsConvertToTspans=t.mayHaveMarkup||t.wrappingNeeded||t.latex,t.wrappingNeeded){var m=(" "===n.wrapSplitCharacter?v.replace(/
i&&n.push(a),i+=l}return n}(i,l,s);1===c.length&&(c[0]===i.length-1?c.unshift(c[0]-1):c.push(c[0]+1)),c[0]%2&&c.reverse(),e.each(function(t,e){t.page=c[e],t.scrollY=l}),e.attr("transform",function(t){return"translate(0 "+(I(t.rowBlocks,t.page)-t.scrollY)+")"}),t&&(C(t,r,e,c,n.prevPages,n,0),C(t,r,e,c,n.prevPages,n,1),m(r,t))}}function S(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 T(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]});y(t,e,a,r),i[o]=n[o]}))}function E(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(),x(o.select("."+n.cn.cellText),r,t,a),i.select(e.parentNode.parentNode).call(O)}}function L(t,e,r,a,o){return function(){if(!o.settledY){var s=i.select(e.parentNode),l=R(o),c=o.key-l.firstRowIndex,u=l.rows[c].rowHeight,f=o.cellHeightMayIncrease?e.parentNode.getBoundingClientRect().height+2*n.cellPad:u,h=Math.max(f,u);h-l.rows[c].rowHeight&&(l.rows[c].rowHeight=h,t.selectAll("."+n.cn.columnCell).call(O),T(null,t.filter(k),0),m(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"translate("+z(o,i.select(this.parentNode).select("."+n.cn.cellTextHolder).node().getBoundingClientRect().width)+" "+a+")"}),o.settledY=!0}}}function z(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 O(t){t.attr("transform",function(t){var e=t.rowBlocks[0].auxiliaryBlocks.reduce(function(t,e){return t+D(e,1/0)},0);return"translate(0 "+(D(R(t),t.key)+e)+")"}).selectAll("."+n.cn.cellRect).attr("height",function(t){return(e=R(t),r=t.key,e.rows[r-e.firstRowIndex]).rowHeight;var e,r})}function I(t,e){for(var r=0,n=e-1;n>=0;n--)r+=P(t[n]);return r}function D(t,e){for(var r=0,n=0;n0){var y,x,b,_,w,k=t.xa,A=t.ya;"h"===h.orientation?(w=e,y="y",b=A,x="x",_=k):(w=r,y="x",b=k,x="y",_=A);var M=f[t.index];if(w>=M.span[0]&&w<=M.span[1]){var T=n.extendFlat({},t),S=_.c2p(w,!0),C=o.getKdeValue(M,h,w),E=o.getPositionOnKdePath(M,h,S),L=b._offset,z=b._length;T[y+"0"]=E[0],T[y+"1"]=E[1],T[x+"0"]=T[x+"1"]=S,T[x+"Label"]=x+": "+i.hoverLabelText(_,w)+", "+f[0].t.labels.kde+" "+C.toFixed(3),T.spikeDistance=m[0].spikeDistance;var O=y+"Spike";T[O]=m[0][O],m[0].spikeDistance=void 0,m[0][O]=void 0,v.push(T),(u={stroke:t.color})[y+"1"]=n.constrain(L+E[0],L,L+z),u[y+"2"]=n.constrain(L+E[1],L,L+z),u[x+"1"]=u[x+"2"]=_._offset+S}}}-1!==p.indexOf("points")&&(c=a.hoverOnPoints(t,e,r));var I=l.selectAll(".violinline-"+h.uid).data(u?[0]:[]);return I.enter().append("line").classed("violinline-"+h.uid,!0).attr("stroke-width",1.5),I.exit().remove(),I.attr(u),"closest"===s?c?[c]:v:c?(v.push(c),v):v}},{"../../lib":694,"../../plots/cartesian/axes":742,"../box/hover":863,"./helpers":1152}],1154:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),layoutAttributes:t("./layout_attributes"),supplyDefaults:t("./defaults"),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":754,"../box/select":868,"../scatter/style":1070,"./attributes":1148,"./calc":1149,"./cross_trace_calc":1150,"./defaults":1151,"./hover":1153,"./layout_attributes":1155,"./layout_defaults":1156,"./plot":1157,"./style":1158}],1155:[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":694,"../box/layout_attributes":865}],1156:[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":694,"../box/layout_defaults":866,"./layout_attributes":1155}],1157:[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});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(e.isRangePlot||(a.node3=r),!0!==c.visible||s.empty)r.remove();else{var d=s.bPos,g=s.bdPos,v=e[s.valLetter+"axis"],m=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,k=w.length,A=t.pos+d,M=m.c2p(A);if(c.width)e=s.maxKDE/g;else{var T=u._violinScaleGroupStats[c.scalegroup];e="count"===c.scalemode?T.maxKDE/g*(T.maxCount/t.pts.length):T.maxKDE/g}if(x){for(f=new Array(k),o=0;oa&&(a=u,o=c)}}return a?i(o):s};case"rms":return function(t,e){for(var r=0,a=0,o=0;o":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[0]&&es[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 es[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[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?(v=function(t){x[t.astr]=n.extendDeep([],t.get()),t.set(new Array(f))},m=function(t,e){var r=x[t.astr][e];t.get()[e]=r}):(v=function(t){x[t.astr]=n.extendDeep([],t.get()),t.set([])},m=function(t,e){var r=x[t.astr][e];t.get().push(r)}),A(v);for(var w=o(e.transforms,r),k=0;k1?"%{group} (%{trace})":"%{group}");var l=t.styles,c=o.styles=[];if(l)for(a=0;athis.panel.version)&&this.processConfigMigration(),this._updateTraceData(!0)},t.prototype.getProcessedLayout=function(){var e=this.deepCopyWithTemplates(this.cfg.layout);e.plot_bgcolor="transparent",e.paper_bgcolor=e.plot_bgcolor;var n=this.graphDiv.getBoundingClientRect();if(e.autosize=!1,e.height=this.height,e.width=n.width,e.xaxis||(e.xaxis={}),e.yaxis||(e.yaxis={}),this.cfg.fixScale&&("x"===this.cfg.fixScale?e.yaxis.scaleanchor="x":"y"===this.cfg.fixScale?e.xaxis.scaleanchor="y":"z"===this.cfg.fixScale&&(e.xaxis.scaleanchor="z",e.yaxis.scaleanchor="z")),this.is3d())e.zaxis||(e.zaxis={}),e.scene={xaxis:e.xaxis,yaxis:e.yaxis,zaxis:e.zaxis},delete e.xaxis,delete e.yaxis,delete e.zaxis,e.margin={l:0,r:0,t:0,b:5,pad:0};else{if(delete e.zaxis,delete e.scene,!e.xaxis.type||"auto"===e.xaxis.type){var o=i.default.get(this.cfg,"traces[0].mapping.x");o&&0<=o.indexOf("time")&&(e.xaxis.type="date")}var r="date"===e.xaxis.type;if(e.margin={l:e.yaxis.title?50:35,r:5,t:0,b:e.xaxis.title?65:r?40:30,pad:2},r&&!e.xaxis.range){var s=this.timeSrv.timeRange();e.xaxis.range=[s.from.valueOf(),s.to.valueOf()]}var l=this.getCssRule("div.flot-text");if(l){var c=l.style.color;e.font||(e.font={}),e.font.color=c,c=a.default.color.parse(c).scale("a",.22).toString(),e.xaxis.gridcolor=c,e.yaxis.gridcolor=c}e.yaxis2=t.yaxis2}return e},t.prototype.onRender=function(){var e=this;if(!this.otherPanelInFullscreenMode()&&this.graphDiv&&d)if(this.initialized)this.initialized?d.redraw(this.graphDiv):console.log("Not initialized yet!");else{var t={showLink:!1,displaylogo:!1,displayModeBar:this.cfg.settings.displayModeBar,modeBarButtonsToRemove:["sendDataToCloud"]};this.layout=this.getProcessedLayout(),this.layout.shapes=this.annotations.shapes;var n=this.traces;0n.length&&(n=Array.from(Array(3),function(){return 0})):(t.error||(t.error=""),t.error+="Unable to find: "+o.key+" (using zeros). "),a||(a=n),i.default.set(e,o.path,a)})}),!0},t.prototype.onConfigChanged=function(){var e=this;this._updateTraceData(!0),d&&(0,c.loadIfNecessary)(this.cfg).then(function(t){if(t&&(d&&d.purge(e.graphDiv),d=t),e.initialized&&e.graphDiv){e.cfg.showAnnotations||e.annotations.clear();var n={showLink:!1,displaylogo:!1,displayModeBar:e.cfg.settings.displayModeBar,modeBarButtonsToRemove:["sendDataToCloud"]};e.layout=e.getProcessedLayout(),e.layout.shapes=e.annotations.shapes;var o=e.traces;0=this.ctrl.cfg.traces.length&&(t=this.ctrl.cfg.traces.length-1),this.trace=this.ctrl.cfg.traces[t],this.traceIndex=t,i.default.defaults(this.trace,r.PlotlyPanelCtrl.defaultTrace),this.trace.name||(this.trace.name=e.createTraceName(t)),this.symbol=this.ctrl.uiSegmentSrv.newSegment({value:this.trace.settings.marker.symbol}),this.mapping={},i.default.forEach(this.trace.mapping,function(e,t){n.updateSegMapping(e,t)}),console.log("Editor Info",this),this.onConfigChanged(),this.ctrl.refresh()},e.prototype.updateSegMapping=function(e,t,n){if(void 0===n&&(n=!1),a===e)this.mapping[t]=this.ctrl.uiSegmentSrv.newSegment({value:"Select Metric",fake:!0}),e=null;else if(e){var o=this.ctrl.seriesByKey.get(e),i={value:e,series:o};o||(i.html=e+' '),this.mapping[t]=this.ctrl.uiSegmentSrv.newSegment(i)}else this.mapping[t]=this.ctrl.uiSegmentSrv.newSegment({value:"Select Metric",fake:!0});n&&(this.trace.mapping[t]=e,console.log("SET",t,e,this.trace.mapping))},e.prototype.createTrace=function(){var t={};(t=0=this.traces.length&&(e=this.traces.length-1),this.ctrl.onConfigChanged(),this.ctrl._updateTraceData(!0),this.selectTrace(e),void this.ctrl.refresh();console.error("Could not find",this)}},e.createTraceName=function(e){return"Trace "+(e+1)},e.prototype.getSeriesSegs=function(e){var t=this;return void 0===e&&(e=!1),new Promise(function(n,o){var i=[];e&&i.push(t.ctrl.uiSegmentSrv.newSegment({fake:!0,value:a,series:null})),t.ctrl.series.forEach(function(e){i.push(t.ctrl.uiSegmentSrv.newSegment({value:e.name,series:e}))}),n(i)})},e.prototype.onAxisSeriesChanged=function(e){this.updateSegMapping(e.segment.value,e.property,!0),this.onConfigChanged()},e.prototype.getTextSegments=function(){return[this.mapping.text]},e.prototype.onTextMetricChanged=function(e){var t=this.mapping.text;this.updateSegMapping(t.value,"text",!0),this.onConfigChanged()},e.prototype.getColorSegments=function(){return"ramp"===this.trace.settings.color_option?[this.mapping.color]:[]},e.prototype.onColorChanged=function(){var e=this.mapping.color;this.updateSegMapping(e.value,"color",!0),this.onConfigChanged()},e.prototype.onSymbolChanged=function(){this.trace.settings.marker.symbol=this.symbol.value,this.onConfigChanged()},e.prototype.getSymbolSegs=function(){var e=this;return new Promise(function(t,n){var o=[];i.default.forEach(["circle","circle-open","circle-dot","circle-open-dot","square","square-open","square-dot","square-open-dot","diamond","diamond-open","diamond-dot","diamond-open-dot","cross","cross-open","cross-dot","cross-open-dot","x","x-open","x-dot","x-open-dot","triangle-up","triangle-up-open","triangle-up-dot","triangle-up-open-dot","triangle-down","triangle-down-open","triangle-down-dot","triangle-down-open-dot","triangle-left","triangle-left-open","triangle-left-dot","triangle-left-open-dot","triangle-right","triangle-right-open","triangle-right-dot","triangle-right-open-dot","triangle-ne","triangle-ne-open","triangle-ne-dot","triangle-ne-open-dot","triangle-se","triangle-se-open","triangle-se-dot","triangle-se-open-dot","triangle-sw","triangle-sw-open","triangle-sw-dot","triangle-sw-open-dot","triangle-nw","triangle-nw-open","triangle-nw-dot","triangle-nw-open-dot","pentagon","pentagon-open","pentagon-dot","pentagon-open-dot","hexagon","hexagon-open","hexagon-dot","hexagon-open-dot","hexagon2","hexagon2-open","hexagon2-dot","hexagon2-open-dot","octagon","octagon-open","octagon-dot","octagon-open-dot","star","star-open","star-dot","star-open-dot","hexagram","hexagram-open","hexagram-dot","hexagram-open-dot","star-triangle-up","star-triangle-up-open","star-triangle-up-dot","star-triangle-up-open-dot","star-triangle-down","star-triangle-down-open","star-triangle-down-dot","star-triangle-down-open-dot","star-square","star-square-open","star-square-dot","star-square-open-dot","star-diamond","star-diamond-open","star-diamond-dot","star-diamond-open-dot","diamond-tall","diamond-tall-open","diamond-tall-dot","diamond-tall-open-dot","diamond-wide","diamond-wide-open","diamond-wide-dot","diamond-wide-open-dot","hourglass","hourglass-open","bowtie","bowtie-open","circle-cross","circle-cross-open","circle-x","circle-x-open","square-cross","square-cross-open","square-x","square-x-open","diamond-cross","diamond-cross-open","diamond-x","diamond-x-open","cross-thin","cross-thin-open","x-thin","x-thin-open","asterisk","asterisk-open","hash","hash-open","hash-dot","hash-open-dot","y-up","y-up-open","y-down","y-down-open","y-left","y-left-open","y-right","y-right-open","line-ew","line-ew-open","line-ns","line-ns-open","line-ne","line-ne-open","line-nw","line-nw-open"],function(t){o.push(e.ctrl.uiSegmentSrv.newSegment(t))}),t(o)})},e}();t.EditorHelper=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.loadPlotly=l,t.loadIfNecessary=function(e){return i?s===e.loadFromCDN?"scatter"===e.settings.type||a?Promise.resolve(null):(console.log("Switching to the full plotly library"),i=null,l(e)):(console.log("Use CDN",e.loadFromCDN),i=null,l(e)):l(e)};var o,i,r=(o=n(8))&&o.__esModule?o:{default:o},a=!1,s=!1;function l(e){if(i)return console.log("using already loaded value"),Promise.resolve(i);var t="scatter"!==e.settings.type,n="public/plugins/natel-plotly-panel/lib/plotly-cartesian.min.js";return e.loadFromCDN?n=t?"https://cdn.plot.ly/plotly-latest.min.js":"https://cdn.plot.ly/plotly-cartesian-latest.min.js":t&&(n="public/plugins/natel-plotly-panel/lib/plotly.min.js"),new Promise(function(e,t){(0,r.default)(n,e)}).then(function(n){return a=t,s=e.loadFromCDN,i=window.Plotly})}},function(e,t,n){var o,i,r; +/*! + * $script.js JS loader & dependency manager + * https://github.com/ded/script.js + * (c) Dustin Diaz 2014 | License MIT + */ +/*! + * $script.js JS loader & dependency manager + * https://github.com/ded/script.js + * (c) Dustin Diaz 2014 | License MIT + */r=function(){var e,t,n=document,o=n.getElementsByTagName("head")[0],i=!1,r="push",a="readyState",s="onreadystatechange",l={},c={},p={},u={};function h(e,t){for(var n=0,o=e.length;n\n\nimport {MetricsPanelCtrl} from 'app/plugins/sdk';\n\nimport _ from 'lodash';\nimport moment from 'moment';\nimport $ from 'jquery';\n\nimport {\n SeriesWrapper,\n SeriesWrapperSeries,\n SeriesWrapperTable,\n SeriesWrapperTableRow,\n} from './SeriesWrapper';\nimport {EditorHelper} from './editor';\n\nimport {loadPlotly, loadIfNecessary} from './libLoader';\nimport {AnnoInfo} from './anno';\nimport {Axis} from 'plotly.js';\n\nlet Plotly: any; // Loaded dynamically!\n\nclass PlotlyPanelCtrl extends MetricsPanelCtrl {\n static templateUrl = 'partials/module.html';\n static configVersion = 1; // An index to help config migration\n\n initialized: boolean;\n //$tooltip: any;\n\n static defaultTrace = {\n mapping: {\n x: null,\n y: null,\n z: null,\n text: null,\n color: null,\n size: null,\n },\n show: {\n line: true,\n markers: true,\n },\n settings: {\n line: {\n color: '#005f81',\n width: 6,\n dash: 'solid',\n shape: 'linear',\n },\n marker: {\n size: 15,\n symbol: 'circle',\n color: '#33B5E5',\n colorscale: 'YlOrRd',\n sizemode: 'diameter',\n sizemin: 3,\n sizeref: 0.2,\n line: {\n color: '#DDD',\n width: 0,\n },\n showscale: false,\n },\n color_option: 'ramp',\n },\n };\n\n static yaxis2: Partial = {\n title: 'Annotations',\n type: 'linear',\n range: [0, 1],\n visible: false,\n };\n\n static defaults = {\n pconfig: {\n loadFromCDN: false,\n showAnnotations: true,\n fixScale: '',\n traces: [PlotlyPanelCtrl.defaultTrace],\n settings: {\n type: 'scatter',\n displayModeBar: false,\n },\n layout: {\n showlegend: false,\n legend: {\n orientation: 'h',\n },\n dragmode: 'lasso', // (enumerated: \"zoom\" | \"pan\" | \"select\" | \"lasso\" | \"orbit\" | \"turntable\" )\n hovermode: 'closest',\n font: {\n family: '\"Open Sans\", Helvetica, Arial, sans-serif',\n },\n xaxis: {\n showgrid: true,\n zeroline: false,\n type: 'auto',\n rangemode: 'normal', // (enumerated: \"normal\" | \"tozero\" | \"nonnegative\" )\n },\n yaxis: {\n showgrid: true,\n zeroline: false,\n type: 'linear',\n rangemode: 'normal', // (enumerated: \"normal\" | \"tozero\" | \"nonnegative\" ),\n },\n zaxis: {\n showgrid: true,\n zeroline: false,\n type: 'linear',\n rangemode: 'normal', // (enumerated: \"normal\" | \"tozero\" | \"nonnegative\" )\n },\n },\n },\n };\n\n graphDiv: any;\n annotations = new AnnoInfo();\n series: SeriesWrapper[];\n seriesByKey: Map = new Map();\n seriesHash = '?';\n\n traces: any[]; // The data sent directly to Plotly -- with a special __copy element\n layout: any; // The layout used by Plotly\n\n mouse: any;\n cfg: any;\n\n // For editor\n editor: EditorHelper;\n dataWarnings: string[]; // warnings about loading data\n\n /** @ngInject **/\n constructor(\n $scope,\n $injector,\n $window,\n private $rootScope,\n public uiSegmentSrv,\n private annotationsSrv\n ) {\n super($scope, $injector);\n\n this.initialized = false;\n\n //this.$tooltip = $('