From e83384cdeba51b9278b45dea5f90bf9bd99e113b Mon Sep 17 00:00:00 2001 From: Pascal Burkhard Date: Wed, 1 May 2024 22:04:56 +0200 Subject: [PATCH] Update documentation --- .Rbuildignore | 5 + DESCRIPTION | 8 +- README.md | 2 +- _pkgdown.yml | 7 +- {inst/data-raw => data-raw}/ggeodata.R | 0 docs/reference/ggeo_coord-1.png | Bin 0 -> 211372 bytes docs/reference/ggeo_remove_breaks-1.png | Bin 0 -> 35091 bytes .../highchart-binding-0.9.4.9000/highchart.js | 260 +++++ .../highcharts-10.2.0/css/htmlwdgtgrid.css | 279 ++++++ .../libs/highcharts-10.2.0/css/motion.css | 48 + .../libs/highcharts-10.2.0/custom/appear.js | 70 ++ .../custom/delay-animation.js | 135 +++ .../libs/highcharts-10.2.0/custom/reset.js | 12 + .../highcharts-10.2.0/custom/symbols-extra.js | 46 + .../highcharts-10.2.0/custom/text-symbols.js | 40 + .../highcharts-10.2.0/custom/tooltip-delay.js | 48 + .../libs/highcharts-10.2.0/highcharts-3d.js | 106 +++ .../libs/highcharts-10.2.0/highcharts-more.js | 201 ++++ .../libs/highcharts-10.2.0/highcharts.js | 602 ++++++++++++ .../modules/accessibility.js | 261 +++++ .../modules/annotations-advanced.js | 201 ++++ .../highcharts-10.2.0/modules/annotations.js | 135 +++ .../highcharts-10.2.0/modules/arc-diagram.js | 25 + .../modules/arrow-symbols.js | 13 + .../highcharts-10.2.0/modules/boost-canvas.js | 26 + .../libs/highcharts-10.2.0/modules/boost.js | 92 ++ .../highcharts-10.2.0/modules/broken-axis.js | 20 + .../libs/highcharts-10.2.0/modules/bullet.js | 18 + .../highcharts-10.2.0/modules/coloraxis.js | 33 + .../modules/current-date-indicator.js | 14 + .../highcharts-10.2.0/modules/cylinder.js | 20 + .../libs/highcharts-10.2.0/modules/data.js | 42 + .../highcharts-10.2.0/modules/datagrouping.js | 30 + .../highcharts-10.2.0/modules/debugger.js | 31 + .../modules/dependency-wheel.js | 21 + .../libs/highcharts-10.2.0/modules/dotplot.js | 15 + .../highcharts-10.2.0/modules/drag-panes.js | 20 + .../modules/draggable-points.js | 42 + .../highcharts-10.2.0/modules/drilldown.js | 46 + .../highcharts-10.2.0/modules/dumbbell.js | 24 + .../highcharts-10.2.0/modules/export-data.js | 33 + .../highcharts-10.2.0/modules/exporting.js | 48 + .../highcharts-10.2.0/modules/full-screen.js | 18 + .../libs/highcharts-10.2.0/modules/funnel.js | 21 + .../highcharts-10.2.0/modules/funnel3d.js | 30 + .../libs/highcharts-10.2.0/modules/gantt.js | 227 +++++ .../highcharts-10.2.0/modules/grid-axis.js | 32 + .../libs/highcharts-10.2.0/modules/heatmap.js | 47 + .../highcharts-10.2.0/modules/heikinashi.js | 17 + .../modules/histogram-bellcurve.js | 21 + .../modules/hollowcandlestick.js | 18 + .../highcharts-10.2.0/modules/item-series.js | 21 + .../highcharts-10.2.0/modules/lollipop.js | 14 + .../libs/highcharts-10.2.0/modules/map.js | 180 ++++ .../modules/marker-clusters.js | 45 + .../highcharts-10.2.0/modules/networkgraph.js | 59 ++ .../modules/no-data-to-display.js | 15 + .../modules/offline-exporting.js | 29 + .../modules/oldie-polyfills.js | 17 + .../libs/highcharts-10.2.0/modules/oldie.js | 40 + .../highcharts-10.2.0/modules/organization.js | 24 + .../modules/overlapping-datalabels.js | 10 + .../modules/parallel-coordinates.js | 20 + .../libs/highcharts-10.2.0/modules/pareto.js | 16 + .../highcharts-10.2.0/modules/pathfinder.js | 40 + .../highcharts-10.2.0/modules/pattern-fill.js | 25 + .../modules/price-indicator.js | 15 + .../highcharts-10.2.0/modules/pyramid3d.js | 13 + .../libs/highcharts-10.2.0/modules/sankey.js | 41 + .../highcharts-10.2.0/modules/series-label.js | 25 + .../modules/series-on-point.js | 18 + .../highcharts-10.2.0/modules/solid-gauge.js | 19 + .../highcharts-10.2.0/modules/sonification.js | 68 ++ .../highcharts-10.2.0/modules/static-scale.js | 14 + .../highcharts-10.2.0/modules/stock-tools.js | 189 ++++ .../libs/highcharts-10.2.0/modules/stock.js | 214 +++++ .../highcharts-10.2.0/modules/streamgraph.js | 14 + .../highcharts-10.2.0/modules/sunburst.js | 81 ++ .../libs/highcharts-10.2.0/modules/tilemap.js | 26 + .../highcharts-10.2.0/modules/timeline.js | 28 + .../highcharts-10.2.0/modules/treegrid.js | 66 ++ .../libs/highcharts-10.2.0/modules/treemap.js | 62 ++ .../highcharts-10.2.0/modules/variable-pie.js | 18 + .../highcharts-10.2.0/modules/variwide.js | 21 + .../libs/highcharts-10.2.0/modules/vector.js | 17 + .../libs/highcharts-10.2.0/modules/venn.js | 39 + .../highcharts-10.2.0/modules/windbarb.js | 24 + .../highcharts-10.2.0/modules/wordcloud.js | 31 + .../libs/highcharts-10.2.0/modules/xrange.js | 26 + .../plugins/draggable-legend.js | 97 ++ .../plugins/grouped-categories.js | 626 ++++++++++++ .../plugins/highcharts-regression.js | 667 +++++++++++++ .../libs/highcharts-10.2.0/plugins/motion.js | 256 +++++ .../plugins/multicolor_series.js | 662 +++++++++++++ .../libs/htmlwidgets-1.6.4/htmlwidgets.js | 901 ++++++++++++++++++ docs/reference/libs/proj4js-2.3.15/proj4.js | 3 + 96 files changed, 8335 insertions(+), 11 deletions(-) rename {inst/data-raw => data-raw}/ggeodata.R (100%) create mode 100644 docs/reference/ggeo_coord-1.png create mode 100644 docs/reference/ggeo_remove_breaks-1.png create mode 100644 docs/reference/libs/highchart-binding-0.9.4.9000/highchart.js create mode 100644 docs/reference/libs/highcharts-10.2.0/css/htmlwdgtgrid.css create mode 100644 docs/reference/libs/highcharts-10.2.0/css/motion.css create mode 100644 docs/reference/libs/highcharts-10.2.0/custom/appear.js create mode 100644 docs/reference/libs/highcharts-10.2.0/custom/delay-animation.js create mode 100644 docs/reference/libs/highcharts-10.2.0/custom/reset.js create mode 100644 docs/reference/libs/highcharts-10.2.0/custom/symbols-extra.js create mode 100644 docs/reference/libs/highcharts-10.2.0/custom/text-symbols.js create mode 100644 docs/reference/libs/highcharts-10.2.0/custom/tooltip-delay.js create mode 100644 docs/reference/libs/highcharts-10.2.0/highcharts-3d.js create mode 100644 docs/reference/libs/highcharts-10.2.0/highcharts-more.js create mode 100644 docs/reference/libs/highcharts-10.2.0/highcharts.js create mode 100644 docs/reference/libs/highcharts-10.2.0/modules/accessibility.js create mode 100644 docs/reference/libs/highcharts-10.2.0/modules/annotations-advanced.js create mode 100644 docs/reference/libs/highcharts-10.2.0/modules/annotations.js create mode 100644 docs/reference/libs/highcharts-10.2.0/modules/arc-diagram.js create mode 100644 docs/reference/libs/highcharts-10.2.0/modules/arrow-symbols.js create mode 100644 docs/reference/libs/highcharts-10.2.0/modules/boost-canvas.js create mode 100644 docs/reference/libs/highcharts-10.2.0/modules/boost.js create mode 100644 docs/reference/libs/highcharts-10.2.0/modules/broken-axis.js create mode 100644 docs/reference/libs/highcharts-10.2.0/modules/bullet.js create mode 100644 docs/reference/libs/highcharts-10.2.0/modules/coloraxis.js create mode 100644 docs/reference/libs/highcharts-10.2.0/modules/current-date-indicator.js create mode 100644 docs/reference/libs/highcharts-10.2.0/modules/cylinder.js create mode 100644 docs/reference/libs/highcharts-10.2.0/modules/data.js create mode 100644 docs/reference/libs/highcharts-10.2.0/modules/datagrouping.js create mode 100644 docs/reference/libs/highcharts-10.2.0/modules/debugger.js create mode 100644 docs/reference/libs/highcharts-10.2.0/modules/dependency-wheel.js create mode 100644 docs/reference/libs/highcharts-10.2.0/modules/dotplot.js create mode 100644 docs/reference/libs/highcharts-10.2.0/modules/drag-panes.js create mode 100644 docs/reference/libs/highcharts-10.2.0/modules/draggable-points.js create mode 100644 docs/reference/libs/highcharts-10.2.0/modules/drilldown.js create mode 100644 docs/reference/libs/highcharts-10.2.0/modules/dumbbell.js create mode 100644 docs/reference/libs/highcharts-10.2.0/modules/export-data.js create mode 100644 docs/reference/libs/highcharts-10.2.0/modules/exporting.js create mode 100644 docs/reference/libs/highcharts-10.2.0/modules/full-screen.js create mode 100644 docs/reference/libs/highcharts-10.2.0/modules/funnel.js create mode 100644 docs/reference/libs/highcharts-10.2.0/modules/funnel3d.js create mode 100644 docs/reference/libs/highcharts-10.2.0/modules/gantt.js create mode 100644 docs/reference/libs/highcharts-10.2.0/modules/grid-axis.js create mode 100644 docs/reference/libs/highcharts-10.2.0/modules/heatmap.js create mode 100644 docs/reference/libs/highcharts-10.2.0/modules/heikinashi.js create mode 100644 docs/reference/libs/highcharts-10.2.0/modules/histogram-bellcurve.js create mode 100644 docs/reference/libs/highcharts-10.2.0/modules/hollowcandlestick.js create mode 100644 docs/reference/libs/highcharts-10.2.0/modules/item-series.js create mode 100644 docs/reference/libs/highcharts-10.2.0/modules/lollipop.js create mode 100644 docs/reference/libs/highcharts-10.2.0/modules/map.js create mode 100644 docs/reference/libs/highcharts-10.2.0/modules/marker-clusters.js create mode 100644 docs/reference/libs/highcharts-10.2.0/modules/networkgraph.js create mode 100644 docs/reference/libs/highcharts-10.2.0/modules/no-data-to-display.js create mode 100644 docs/reference/libs/highcharts-10.2.0/modules/offline-exporting.js create mode 100644 docs/reference/libs/highcharts-10.2.0/modules/oldie-polyfills.js create mode 100644 docs/reference/libs/highcharts-10.2.0/modules/oldie.js create mode 100644 docs/reference/libs/highcharts-10.2.0/modules/organization.js create mode 100644 docs/reference/libs/highcharts-10.2.0/modules/overlapping-datalabels.js create mode 100644 docs/reference/libs/highcharts-10.2.0/modules/parallel-coordinates.js create mode 100644 docs/reference/libs/highcharts-10.2.0/modules/pareto.js create mode 100644 docs/reference/libs/highcharts-10.2.0/modules/pathfinder.js create mode 100644 docs/reference/libs/highcharts-10.2.0/modules/pattern-fill.js create mode 100644 docs/reference/libs/highcharts-10.2.0/modules/price-indicator.js create mode 100644 docs/reference/libs/highcharts-10.2.0/modules/pyramid3d.js create mode 100644 docs/reference/libs/highcharts-10.2.0/modules/sankey.js create mode 100644 docs/reference/libs/highcharts-10.2.0/modules/series-label.js create mode 100644 docs/reference/libs/highcharts-10.2.0/modules/series-on-point.js create mode 100644 docs/reference/libs/highcharts-10.2.0/modules/solid-gauge.js create mode 100644 docs/reference/libs/highcharts-10.2.0/modules/sonification.js create mode 100644 docs/reference/libs/highcharts-10.2.0/modules/static-scale.js create mode 100644 docs/reference/libs/highcharts-10.2.0/modules/stock-tools.js create mode 100644 docs/reference/libs/highcharts-10.2.0/modules/stock.js create mode 100644 docs/reference/libs/highcharts-10.2.0/modules/streamgraph.js create mode 100644 docs/reference/libs/highcharts-10.2.0/modules/sunburst.js create mode 100644 docs/reference/libs/highcharts-10.2.0/modules/tilemap.js create mode 100644 docs/reference/libs/highcharts-10.2.0/modules/timeline.js create mode 100644 docs/reference/libs/highcharts-10.2.0/modules/treegrid.js create mode 100644 docs/reference/libs/highcharts-10.2.0/modules/treemap.js create mode 100644 docs/reference/libs/highcharts-10.2.0/modules/variable-pie.js create mode 100644 docs/reference/libs/highcharts-10.2.0/modules/variwide.js create mode 100644 docs/reference/libs/highcharts-10.2.0/modules/vector.js create mode 100644 docs/reference/libs/highcharts-10.2.0/modules/venn.js create mode 100644 docs/reference/libs/highcharts-10.2.0/modules/windbarb.js create mode 100644 docs/reference/libs/highcharts-10.2.0/modules/wordcloud.js create mode 100644 docs/reference/libs/highcharts-10.2.0/modules/xrange.js create mode 100644 docs/reference/libs/highcharts-10.2.0/plugins/draggable-legend.js create mode 100644 docs/reference/libs/highcharts-10.2.0/plugins/grouped-categories.js create mode 100644 docs/reference/libs/highcharts-10.2.0/plugins/highcharts-regression.js create mode 100644 docs/reference/libs/highcharts-10.2.0/plugins/motion.js create mode 100644 docs/reference/libs/highcharts-10.2.0/plugins/multicolor_series.js create mode 100644 docs/reference/libs/htmlwidgets-1.6.4/htmlwidgets.js create mode 100644 docs/reference/libs/proj4js-2.3.15/proj4.js diff --git a/.Rbuildignore b/.Rbuildignore index e13c405..b98c885 100644 --- a/.Rbuildignore +++ b/.Rbuildignore @@ -1,3 +1,8 @@ ^.*\.Rproj$ ^\.Rproj\.user$ +^_pkgdown\.yml$ +^data-raw$ +^docs$ +^pkgdown$ +^\.github$ ^LICENSE\.md$ diff --git a/DESCRIPTION b/DESCRIPTION index 9945afd..e0886c8 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -2,8 +2,9 @@ Package: ggeo Type: Package Title: Provide Helpers and Themes for ggplot Version: 0.1.0 -Author: Pascal Burkhard -Maintainer: Pascal Burkhard +Authors@R: + person("Pascal", "Burkhard", , "pascal.burkhard@gmail.com", role = c("aut", "cre"), + comment = c(ORCID = "0009-0001-5504-5084")) Description: This package provides helper functions for ggplot graphs and maps. License: MIT + file LICENSE Encoding: UTF-8 @@ -37,5 +38,4 @@ Depends: R (>= 4.1) Roxygen: list(markdown = TRUE) URL: https://ggeo.nenuial.org -Authors@R: - person("Pascal", "Burkhard", , "pascal.burkhard@gmail.com", role = c("aut", "cre")) +Config/Needs/website: nenuial/geopkg diff --git a/README.md b/README.md index 0553d61..d8dcebf 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ [![R-CMD-check](https://github.com/Nenuial/ggeo/actions/workflows/R-CMD-check.yaml/badge.svg)](https://github.com/Nenuial/ggeo/actions/workflows/R-CMD-check.yaml) -[![geotools status badge](https://nenuial.r-universe.dev/badges/ggeo)](https://nenuial.r-universe.dev/ggeo) +[![ggeo status badge](https://nenuial.r-universe.dev/badges/ggeo)](https://nenuial.r-universe.dev/ggeo) The goal of ggeo is to provide support functions to create plots and maps using {[ggplot2](https://ggplot2.tidyverse.org/)}. They are mainly used in my {[geographer](https://github.com/Nenuial/geographer)} package. diff --git a/_pkgdown.yml b/_pkgdown.yml index 1194b1d..f362af9 100644 --- a/_pkgdown.yml +++ b/_pkgdown.yml @@ -1,11 +1,6 @@ url: https://ggeo.nenuial.org template: - package: preferably - bootstrap: 5 - -home: - sidebar: - structure: [license, authors, dev] + package: geopkg reference: - title: Plot themes diff --git a/inst/data-raw/ggeodata.R b/data-raw/ggeodata.R similarity index 100% rename from inst/data-raw/ggeodata.R rename to data-raw/ggeodata.R diff --git a/docs/reference/ggeo_coord-1.png b/docs/reference/ggeo_coord-1.png new file mode 100644 index 0000000000000000000000000000000000000000..c738be34bc0a25279b7c975a87fc2f87795c9488 GIT binary patch literal 211372 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

^0_{e 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̢Y)w>j@)}fJEWOZRD*4 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⁢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 literal 0 HcmV?d00001 diff --git a/docs/reference/ggeo_remove_breaks-1.png b/docs/reference/ggeo_remove_breaks-1.png new file mode 100644 index 0000000000000000000000000000000000000000..72030481fb08118498f8a950194166f2c558e04a GIT binary patch literal 35091 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 literal 0 HcmV?d00001 diff --git a/docs/reference/libs/highchart-binding-0.9.4.9000/highchart.js b/docs/reference/libs/highchart-binding-0.9.4.9000/highchart.js new file mode 100644 index 0000000..88bc96f --- /dev/null +++ b/docs/reference/libs/highchart-binding-0.9.4.9000/highchart.js @@ -0,0 +1,260 @@ +HTMLWidgets.widget({ + + name: 'highchart', + + type: 'output', + + initialize: function(el, width, height) { + + return { + // TODO: add instance fields as required + }; + + }, + + renderValue: function(el, x, instance) { + + if(x.debug) { + window.xclone = JSON.parse(JSON.stringify(x)); + window.elclone = $(el); + console.log(el); + console.log("hc_opts", x.hc_opts); + console.log("theme", x.theme); + console.log("conf_opts", x.conf_opts); + } + + if(x.fonts !== undefined) { + + x.fonts = ((typeof(x.fonts) == "string") ? [x.fonts] : x.fonts); + + x.fonts.forEach(function(s){ + /* http://stackoverflow.com/questions/4724606 */ + var urlfont = 'https://fonts.googleapis.com/css?family=' + s; + if (!$("link[href='" + urlfont + "']").length) { + $('').appendTo("head"); + } + + }); + + } + + ResetHighchartsOptions(); + + if(x.theme !== null) { + + if(x.debug) console.log("adding THEME"); + + Highcharts.setOptions(x.theme); + + } + + if((x.theme && x.theme.chart.divBackgroundImage !== undefined) | + (x.hc_opts.chart && x.hc_opts.chart.divBackgroundImage !== undefined)) { + + if(x.debug) console.log("adding BackgroundImage"); + + var bkgrnd = x.theme.chart.divBackgroundImage || x.hc_opts.chart.divBackgroundImage; + + Highcharts.wrap(Highcharts.Chart.prototype, "getContainer", function (proceed) { + + proceed.call(this); + + $("#" + el.id).css("background-image", "url(" + bkgrnd + ")"); + $("#" + el.id).css("-webkit-background-size", "cover"); + $("#" + el.id).css("-moz-background-size", "cover"); + $("#" + el.id).css("-o-background-size", "cover"); + $("#" + el.id).css("background-size", "cover"); + + }); + + } + + Highcharts.setOptions(x.conf_opts); + + if(x.type == "chart") { + if(x.debug) console.log("charting CHART"); + $("#" + el.id).highcharts(x.hc_opts); + } else if (x.type == "stock") { + if(x.debug) console.log("charting STOCK"); + $("#" + el.id).highcharts('StockChart', x.hc_opts); + } else if (x.type == "map"){ + if(x.debug) console.log("charting MAP"); + + x.hc_opts.series = x.hc_opts.series.map(function(e){ + if(e.geojson === true) { + if(x.debug) console.log("geojson\n\t", e.type, "\n\t", typeof(e.series)); + e.data = Highcharts.geojson(e.data, e.type); + } + return e; + }); + + $("#" + el.id).highcharts('Map', x.hc_opts); + + if(x.hc_opts.mapNavigation !== undefined && x.hc_opts.mapNavigation.enabled === true){ + /* if have navigation option and enabled true: http://stackoverflow.com/questions/7600454 */ + $("#" + el.id).bind( 'mousewheel DOMMouseScroll', function ( e ) { + var e0 = e.originalEvent, + delta = e0.wheelDelta || -e0.detail; + this.scrollTop += ( delta < 0 ? 1 : -1 ) * 30; + e.preventDefault(); + + }); + + } + + } else if (x.type == "gantt") { + + if(x.debug) console.log("charting GANTT"); + + chart = Highcharts.ganttChart(el.id, x.hc_opts); + + } + + if(x.hc_opts.motion !== undefined) { + + $("#" + el.id).css({"position" : "relative" }); + + if(x.debug) console.log("setting MOTION options"); + + var pc = $($("#" + el.id).find("#play-controls")[0]); + + var ct = x.theme.chart; + + if(ct.backgroundColor !== undefined) $(pc.find("#play-pause-button")[0]).css({backgroundColor : x.theme.chart.backgroundColor}); + if(ct.style !== undefined) $(pc.find("#play-output")[0]).css(x.theme.chart.style); + if(ct.style !== undefined && ct.style.color !== undefined) $(pc.find("#play-pause-button")[0]).css({color : x.theme.chart.style.color}); + + + } + + }, + + resize: function(el, width, height, instance) { + + /* http://stackoverflow.com/questions/18445784/ */ + var chart = $("#" +el.id).highcharts(); + + if (chart && chart.options.chart.reflow === true) { // _check for reflow option_ + var w = chart.renderTo.clientWidth; + var h = chart.renderTo.clientHeight; + chart.setSize(w, h); + } + + } + +}); + +if (HTMLWidgets.shinyMode) { + + Shiny.addCustomMessageHandler('addSeries', function(msg) { + + var chart = $("#" + msg.id).highcharts(); + + chart.addSeries(msg.series); + + }); + + Shiny.addCustomMessageHandler('removeSeries', function(msg) { + + var chart = $("#" + msg.id).highcharts(); + + chart.get(msg.idSeries).remove(); + + }); + + Shiny.addCustomMessageHandler('removeAllSeries', function(msg) { + + var chart = $("#" + msg.id).highcharts(); + + while (chart.series.length) { + chart.series[0].remove(); + } + + }); + + Shiny.addCustomMessageHandler('updateChart', function(msg) { + + var chart = $("#" + msg.id).highcharts(); + + chart.update(msg.options); + + }); + + Shiny.addCustomMessageHandler('updateSeries', function(msg) { + + var chart = $("#" + msg.id).highcharts(); + + chart.get(msg.idSeries).update(msg.options); + + }); + + Shiny.addCustomMessageHandler('updatePoint', function(msg) { + + var chart = $("#" + msg.id).highcharts(); + + chart.get(msg.idSeries).data[msg.idPoint].update(msg.options); + + }); + + Shiny.addCustomMessageHandler('showLoading', function(msg) { + + var chart = $("#" + msg.id).highcharts(); + + if (msg.showLoading) { + + chart.showLoading(); + + } else { + + chart.hideLoading(); + + } + + }); + + Shiny.addCustomMessageHandler('addPoint', function(msg) { + + var chart = $("#" + msg.id).highcharts(); + + chart.get(msg.idSeries).addPoint(msg.point, msg.redraw, msg.shift, msg.animation); + + }); + + Shiny.addCustomMessageHandler('removePoint', function(msg) { + + var chart = $("#" + msg.id).highcharts(); + + chart.get(msg.idSeries).removePoint(msg.i, msg.redraw); + + }); + + Shiny.addCustomMessageHandler('setData', function(msg) { + + var chart = $("#" + msg.id).highcharts(); + + if (typeof chart != 'undefined') { + + chart.series[msg.serie].setData( + data = msg.data, + redraw = msg.redraw, + animation = msg.animation, + updatePoints = msg.updatePoints + ); + + } + + }); + + Shiny.addCustomMessageHandler('redraw', function(msg) { + + var chart = $("#" + msg.id).highcharts(); + + if (typeof chart != 'undefined') { + + chart.redraw(); + + } + + }); + +} diff --git a/docs/reference/libs/highcharts-10.2.0/css/htmlwdgtgrid.css b/docs/reference/libs/highcharts-10.2.0/css/htmlwdgtgrid.css new file mode 100644 index 0000000..646ae38 --- /dev/null +++ b/docs/reference/libs/highcharts-10.2.0/css/htmlwdgtgrid.css @@ -0,0 +1,279 @@ +/* + Simple Grid + Project Page - http://thisisdallas.github.com/Simple-Grid/ + Author - Dallas Bass + Site - http://dallasbass.com +*/ + +*, *:after, *:before { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} + +body { + margin: 0; +} + +[class*='col-'] { + float: left; + min-height: 1px; + padding-right: 0px; /* column-space */ +} + +.grid { + width: 100%; + /*max-width: 1140px;*/ + /*min-width: 748px; /* when using padded grid on ipad in portrait mode, width should be viewport-width - padding = (768 - 20) = 748. actually, it should be even smaller to allow for padding of grid containing element */ + margin: 0 auto; + overflow: hidden; +} + +.grid:after { + content: ""; + display: table; + clear: both; +} + +.grid-pad { + padding-top: 0px; + padding-left: 0px; /* grid-space to left */ + padding-right: 0; /* grid-space to right: (grid-space-left - column-space) e.g. 20px-20px=0 */ +} + +.push-right { + float: right; +} + +/* Content Columns */ + +.col-1-1 { + width: 100%; +} +.col-2-3, .col-8-12 { + width: 66.66%; +} + +.col-1-2, .col-6-12 { + width: 50%; +} + +.col-1-3, .col-4-12 { + width: 33.33%; +} + +.col-1-4, .col-3-12 { + width: 25%; +} + +.col-1-5 { + width: 20%; +} + +.col-1-6, .col-2-12 { + width: 16.667%; +} + +.col-1-7 { + width: 14.28%; +} + +.col-1-8 { + width: 12.5%; +} + +.col-1-9 { + width: 11.1%; +} + +.col-1-10 { + width: 10%; +} + +.col-1-11 { + width: 9.09%; +} + +.col-1-12 { + width: 8.33% +} + +/* Layout Columns */ + +.col-11-12 { + width: 91.66% +} + +.col-10-12 { + width: 83.333%; +} + +.col-9-12 { + width: 75%; +} + +.col-5-12 { + width: 41.66%; +} + +.col-7-12 { + width: 58.33% +} + +/* Pushing blocks */ + +.push-2-3, .push-8-12 { + margin-left: 66.66%; +} + +.push-1-2, .push-6-12 { + margin-left: 50%; +} + +.push-1-3, .push-4-12 { + margin-left: 33.33%; +} + +.push-1-4, .push-3-12 { + margin-left: 25%; +} + +.push-1-5 { + margin-left: 20%; +} + +.push-1-6, .push-2-12 { + margin-left: 16.667%; +} + +.push-1-7 { + margin-left: 14.28%; +} + +.push-1-8 { + margin-left: 12.5%; +} + +.push-1-9 { + margin-left: 11.1%; +} + +.push-1-10 { + margin-left: 10%; +} + +.push-1-11 { + margin-left: 9.09%; +} + +.push-1-12 { + margin-left: 8.33% +} + +@media handheld, only screen and (max-width: 767px) { + .grid { + width: 100%; + min-width: 0; + margin-left: 0; + margin-right: 0; + padding-left: 20px; /* grid-space to left */ + padding-right: 10px; /* grid-space to right: (grid-space-left - column-space) e.g. 20px-10px=10px */ + } + + [class*='col-'] { + width: auto; + float: none; + margin: 10px 0; + padding-left: 0; + padding-right: 10px; /* column-space */ + } + + /* Mobile Layout */ + + [class*='mobile-col-'] { + float: left; + margin: 0 0 10px; + padding-left: 0; + padding-right: 10px; /* column-space */ + padding-bottom: 0; + } + + .mobile-col-1-1 { + width: 100%; + } + .mobile-col-2-3, .mobile-col-8-12 { + width: 66.66%; + } + + .mobile-col-1-2, .mobile-col-6-12 { + width: 50%; + } + + .mobile-col-1-3, .mobile-col-4-12 { + width: 33.33%; + } + + .mobile-col-1-4, .mobile-col-3-12 { + width: 25%; + } + + .mobile-col-1-5 { + width: 20%; + } + + .mobile-col-1-6, .mobile-col-2-12 { + width: 16.667%; + } + + .mobile-col-1-7 { + width: 14.28%; + } + + .mobile-col-1-8 { + width: 12.5%; + } + + .mobile-col-1-9 { + width: 11.1%; + } + + .mobile-col-1-10 { + width: 10%; + } + + .mobile-col-1-11 { + width: 9.09%; + } + + .mobile-col-1-12 { + width: 8.33% + } + + /* Layout Columns */ + + .mobile-col-11-12 { + width: 91.66% + } + + .mobile-col-10-12 { + width: 83.333%; + } + + .mobile-col-9-12 { + width: 75%; + } + + .mobile-col-5-12 { + width: 41.66%; + } + + .mobile-col-7-12 { + width: 58.33% + } + + .hide-on-mobile { + display: none !important; + width: 0; + height: 0; + } +} diff --git a/docs/reference/libs/highcharts-10.2.0/css/motion.css b/docs/reference/libs/highcharts-10.2.0/css/motion.css new file mode 100644 index 0000000..385e4be --- /dev/null +++ b/docs/reference/libs/highcharts-10.2.0/css/motion.css @@ -0,0 +1,48 @@ +/* $("div:has(#play-controls)").css({"position" : "relative"}) +div:has(#play-controls) { + position : relative; +} + */ + +.loading { + margin-top: 10em; + text-align: center; + color: gray; +} + +#play-controls { + position: absolute; + bottom: 0; + text-align: center; + min-width: 310px; + max-width: 800px; + margin: 0 auto; + padding: 5px 0 1em 0; +} + +#play-controls * { + display: inline-block; + vertical-align: middle; +} + +#play-pause-button { + color: #666666; + width: 30px; + height: 30px; + text-align: center; + font-size: 15px; + cursor: pointer; + border: 1px solid silver; + border-radius: 3px; + background: #f8f8f8; +} + +#play-range { + margin: 2.5%; + width: 70%; +} + +#play-output { + color: #666666; + font-family: Arial, Helvetica, sans-serif; +} diff --git a/docs/reference/libs/highcharts-10.2.0/custom/appear.js b/docs/reference/libs/highcharts-10.2.0/custom/appear.js new file mode 100644 index 0000000..a14c1da --- /dev/null +++ b/docs/reference/libs/highcharts-10.2.0/custom/appear.js @@ -0,0 +1,70 @@ +/** +* https://jsfiddle.net/gh/get/library/pure/highcharts/highcharts/tree/master/samples/highcharts/studies/appear/ +* Highcharts plugin to defer initial series animation until the element has +* appeared. +* + * Updated 2019-04-10 +* + * @todo +* - If the element is greater than the viewport (or a certain fraction of it), +* show the series when it is partially visible. +*/ + (function (H) { + + var pendingRenders = []; + + // https://stackoverflow.com/questions/123999/how-to-tell-if-a-dom-element-is-visible-in-the-current-viewport/7557433#7557433 + function isElementInViewport(el) { + + var rect = el.getBoundingClientRect(); + + return ( + rect.top >= 0 && + rect.left >= 0 && + rect.bottom <= ( + window.innerHeight || + document.documentElement.clientHeight + ) && + rect.right <= ( + window.innerWidth || + document.documentElement.clientWidth + ) + ); + } + + H.wrap(H.Series.prototype, 'render', function deferRender(proceed) { + var series = this, + renderTo = this.chart.container.parentNode; + + // It is appeared, render it + if (isElementInViewport(renderTo) || !series.options.animation) { + proceed.call(series); + + // It is not appeared, halt renering until appear + } else { + pendingRenders.push({ + element: renderTo, + appear: function () { + proceed.call(series); + } + }); + } + }); + + function recalculate() { + pendingRenders.forEach(function (item) { + if (isElementInViewport(item.element)) { + item.appear(); + H.erase(pendingRenders, item); + } + }); + } + + if (window.addEventListener) { + ['DOMContentLoaded', 'load', 'scroll', 'resize'] + .forEach(function (eventType) { + addEventListener(eventType, recalculate, false); + }); + } + + }(Highcharts)); diff --git a/docs/reference/libs/highcharts-10.2.0/custom/delay-animation.js b/docs/reference/libs/highcharts-10.2.0/custom/delay-animation.js new file mode 100644 index 0000000..730e6af --- /dev/null +++ b/docs/reference/libs/highcharts-10.2.0/custom/delay-animation.js @@ -0,0 +1,135 @@ +/** + * by @TorsteinHonsi and modified by @frank-eisen + * returns a highcharts animation object with an own easing-function + * @param {number} duration + * @param {number} delay + * @param {function} timingFunction + * @return {number|object} + */ +function highchartsAnimation(duration, delay, timingFunction) +{ + if(typeof duration === 'number' && typeof delay === 'number' && typeof timingFunction === 'function') { + var delay_percent = delay / (duration + delay), + perc = 1 - delay_percent; + + return { + duration: duration + delay, + easing: function(pos) { + if(pos <= delay_percent) { + return 0; + } + else { + return timingFunction((pos - delay_percent) / perc); + } + } + }; + } + else { + return 750; + } +} + +/** + * returns a timing function + * @param name + * @return {function} + */ +function getTimingFunction(name) +{ + var args = arguments; + + function needArgumentsCount(need_count) + { + if(args.length < need_count) { + throw new Error('TimingFunction.' + name + ' needs ' + need_count + ' arguments'); + } + } + + switch(name) { + case 'pow': + case 'power': + needArgumentsCount(1); + return function power(percent_done) { + return Math.pow(percent_done, args[1]); + }; + + case 'quad': + return getTimingFunction.apply(this, ['pow', 2]); + + case 'cubic': + return getTimingFunction.apply(this, ['pow', 3]); + + case 'sqrt': + case 'squareroot': + return function sqrt(percent_done) { + return Math.sqrt(percent_done); + }; + + case 'sine': + case 'sinus': + return function sinus(percent_done) { + return Math.sin(percent_done * (Math.PI / 2)); + }; + + case 'steps': + needArgumentsCount(2); + return function steps(percent_done) { + return Math.floor(percent_done * (args[1])) / (args[1]); + }; + + case 'bezier': + needArgumentsCount(5); + + var bezier = simpleBezier([0, 0], [args[1], args[2]], [args[3], args[4]], [1, 1]); + + return function bez(percent_done) { + var coords = bezier(percent_done); + + return coords[1]; + }; + + case 'linear': + default: + return function linear(percent_done) { + return percent_done; + }; + } + + + function simpleBezier(p0, p1, p2, p3) + { + var x_c = getC(p0[0], p1[0]), + x_b = getB(p1[0], p2[0], x_c), + x_a = getA(p0[0], p3[0], x_b, x_c), + y_c = getC(p0[1], p1[1]), + y_b = getB(p1[1], p2[1], y_c), + y_a = getA(p0[1], p3[1], y_b, y_c); + + function getC(p0, p1) + { + return 3 * (p1 - p0); + } + + function getB(p1, p2, c) + { + return 3 * (p2 - p1) - c + } + + function getA(p0, p3, b, c) + { + return p3 - p0 - c - b + } + + function calculateBezier(a, b, c, t, position) + { + return (a * Math.pow(t, 3)) + (b * Math.pow(t, 2)) + (c * t) + position; + } + + return function getPositionFor(t) { + return [ + calculateBezier(x_a, x_b, x_c, t, p0[0]), + calculateBezier(y_a, y_b, y_c, t, p0[1]) + ]; + }; + } +} diff --git a/docs/reference/libs/highcharts-10.2.0/custom/reset.js b/docs/reference/libs/highcharts-10.2.0/custom/reset.js new file mode 100644 index 0000000..074e274 --- /dev/null +++ b/docs/reference/libs/highcharts-10.2.0/custom/reset.js @@ -0,0 +1,12 @@ +var HCDefaults = $.extend(true, {}, Highcharts.getOptions(), {}); + +function ResetHighchartsOptions() { + // Fortunately, Highcharts returns the reference to defaultOptions itself + // We can manipulate this and delete all the properties + var defaultOptions = Highcharts.getOptions(); + for (var prop in defaultOptions) { + if (typeof defaultOptions[prop] !== 'function') delete defaultOptions[prop]; + } + // Fall back to the defaults that we captured initially, this resets the theme + Highcharts.setOptions(HCDefaults); +} diff --git a/docs/reference/libs/highcharts-10.2.0/custom/symbols-extra.js b/docs/reference/libs/highcharts-10.2.0/custom/symbols-extra.js new file mode 100644 index 0000000..92bb788 --- /dev/null +++ b/docs/reference/libs/highcharts-10.2.0/custom/symbols-extra.js @@ -0,0 +1,46 @@ +(function (H) { + + // cross http://stackoverflow.com/a/25379352/829971 + Highcharts.Renderer.prototype.symbols.cross = function (x, y, radius) { + var r = radius * 0.4, + e = r * 0.8, + a = e / Math.sqrt(2), + p = r / Math.sqrt(2); + return [ + 'M', x, y + a, + 'L', x + p, y + a + p, + x, y + a + (2 * p), + x + a, y + (2 * a) + (2 * p), + x + a + p, y + (2 * a) + p, + x + a + (2 * p), y + (2 * a) + (2 * p), + x + (2 * a) + (2 * p), y + a + (2 * p), + x + (2 * a) + p, y + a + p, + x + (2 * a) + (2 * p), y + a, + x + a + (2 * p), y, + x + a + p, y + p, + x + a, y, + 'Z']; + }; + + // plus http://stackoverflow.com/a/36270224/829971 + Highcharts.SVGRenderer.prototype.symbols.plus = function (x, y, w, h) { + return [ + 'M', x, y + (5 * h) / 8, + 'L', x, y + (3 * h) / 8, + 'L', x + (3 * w) / 8, y + (3 * h) / 8, + 'L', x + (3 * w) / 8, y, + 'L', x + (5 * w) / 8, y, + 'L', x + (5 * w) / 8, y + (3 * h) / 8, + 'L', x + w, y + (3 * h) / 8, + 'L', x + w, y + (5 * h) / 8, + 'L', x + (5 * w) / 8, y + (5 * h) / 8, + 'L', x + (5 * w) / 8, y + h, + 'L', x + (3 * w) / 8, y + h, + 'L', x + (3 * w) / 8, y + (5 * h) / 8, + 'L', x, y + (5 * h) / 8, + 'z' + ]; + }; + + +}(Highcharts)); diff --git a/docs/reference/libs/highcharts-10.2.0/custom/text-symbols.js b/docs/reference/libs/highcharts-10.2.0/custom/text-symbols.js new file mode 100644 index 0000000..5e82ac9 --- /dev/null +++ b/docs/reference/libs/highcharts-10.2.0/custom/text-symbols.js @@ -0,0 +1,40 @@ +/* Highcharts plugin to handle text symbols */ +(function (H) { + function symbolWrap(proceed, symbol, x, y, w, h, options) { + if (symbol.indexOf('text:') === 0) { + var text = unescape(JSON.parse('"\\u' + symbol.split(':')[1] + '"')), + svgElem = this.text(text, x, y) + .attr({ + translateY: h, + translateX: -1 + }) + .css({ + fontFamily: 'FontAwesome', + fontSize: h * 2 + }); + + if (svgElem.renderer.isVML) { + svgElem.fillSetter = function (value, key, element) { + element.style.color = H.Color(value).get('rgb'); + }; + } + return svgElem; + } + return proceed.apply(this, [].slice.call(arguments, 1)); + } + H.wrap(H.SVGRenderer.prototype, 'symbol', symbolWrap); + if (H.VMLRenderer) { + H.wrap(H.VMLRenderer.prototype, 'symbol', symbolWrap); + } + + // Load the font for SVG files also + /* + H.wrap(H.Chart.prototype, 'getSVG', function (proceed) { + var svg = proceed.call(this); + svg = '' + + svg; + return svg; + }); + */ +}(Highcharts)); diff --git a/docs/reference/libs/highcharts-10.2.0/custom/tooltip-delay.js b/docs/reference/libs/highcharts-10.2.0/custom/tooltip-delay.js new file mode 100644 index 0000000..b7e902d --- /dev/null +++ b/docs/reference/libs/highcharts-10.2.0/custom/tooltip-delay.js @@ -0,0 +1,48 @@ +(function(H) { + + let timerId = {}; + + const generatePointsUniqueKey = (points) => { + + const generatePointKey = (point) => { + return point.category + " " + point.series.name + ": " + point.x + " " + point.y; + }; + + const result = points.map(generatePointKey).join(', '); + + return result; + } + + H.wrap(H.Tooltip.prototype, 'refresh', function(proceed) { + let seriesName; + + if (Array.isArray(arguments[ 1 ])) { + // Can be array in case that, it's shared tooltip + seriesName = generatePointsUniqueKey(arguments[ 1 ]); + } else { + seriesName = arguments[ 1 ].series.name; + } + + const delayForDisplay = this.chart.options.tooltip.delayForDisplay ? this.chart.options.tooltip.delayForDisplay : 1000; + + if (timerId[ seriesName ]) { + clearTimeout(timerId[ seriesName ]); + delete timerId[ seriesName ]; + } + + timerId[ seriesName ] = window.setTimeout(function() { + let pointOrPoints = this.refreshArguments[ 0 ]; + + if (pointOrPoints === this.chart.hoverPoint || $.inArray(this.chart.hoverPoint, pointOrPoints) > -1) { + proceed.apply(this.tooltip, this.refreshArguments); + } + + }.bind({ + refreshArguments: Array.prototype.slice.call(arguments, 1), + chart: this.chart, + tooltip: this + }), delayForDisplay); + + }); + +}(Highcharts)); \ No newline at end of file diff --git a/docs/reference/libs/highcharts-10.2.0/highcharts-3d.js b/docs/reference/libs/highcharts-10.2.0/highcharts-3d.js new file mode 100644 index 0000000..3e8327d --- /dev/null +++ b/docs/reference/libs/highcharts-10.2.0/highcharts-3d.js @@ -0,0 +1,106 @@ +/* + Highcharts JS v10.2.0 (2022-07-05) + + 3D features for Highcharts JS + + License: www.highcharts.com/license +*/ +(function(a){"object"===typeof module&&module.exports?(a["default"]=a,module.exports=a):"function"===typeof define&&define.amd?define("highcharts/highcharts-3d",["highcharts"],function(E){a(E);a.Highcharts=E;return a}):a("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(a){function E(a,w,t,D){a.hasOwnProperty(w)||(a[w]=D.apply(null,t),"function"===typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:w,module:a[w]}})))}a=a?a._modules:{};E(a,"Extensions/Math3D.js", +[a["Core/Globals.js"],a["Core/Utilities.js"]],function(a,w){function t(d,c,b){c=0g&&y-g>Math.PI/2+.0001?(H=H.concat(this.curveTo(b,e,h,r,g,g+Math.PI/2,c,d)),H=H.concat(this.curveTo(b,e,h,r,g+Math.PI/2,y,c,d))):yMath.PI/2+.0001?(H=H.concat(this.curveTo(b,e,h,r,g,g-Math.PI/2,c,d)),H=H.concat(this.curveTo(b,e,h,r,g-Math.PI/2,y,c,d))):[["C",b+h*Math.cos(g)-h*B*a*Math.sin(g)+c,e+r*Math.sin(g)+r*B*a*Math.cos(g)+d,b+h*Math.cos(y)+h*B*a*Math.sin(y)+c,e+r*Math.sin(y)-r*B* +a*Math.cos(y)+d,b+h*Math.cos(y)+c,e+r*Math.sin(y)+d]]};m.prototype.toLinePath=function(b,e){var h=[];b.forEach(function(b){h.push(["L",b.x,b.y])});b.length&&(h[0][0]="M",e&&h.push(["Z"]));return h};m.prototype.toLineSegments=function(b){var e=[],h=!0;b.forEach(function(b){e.push(h?["M",b.x,b.y]:["L",b.x,b.y]);h=!h});return e};m.prototype.face3d=function(c){var d=this,h=this.createElement("path");h.vertexes=[];h.insidePlotArea=!1;h.enabled=!0;h.attr=function(h){if("object"===typeof h&&(e(h.enabled)|| +e(h.vertexes)||e(h.insidePlotArea))){this.enabled=p(h.enabled,this.enabled);this.vertexes=p(h.vertexes,this.vertexes);this.insidePlotArea=p(h.insidePlotArea,this.insidePlotArea);delete h.enabled;delete h.vertexes;delete h.insidePlotArea;var g=q(this.vertexes,b[d.chartIndex],this.insidePlotArea),y=d.toLinePath(g,!0);g=A(g);h.d=y;h.visibility=this.enabled&&0b.faces.length;)h.faces.pop().destroy();for(;h.faces.lengthb.faces.length;)h.faces.pop().destroy();for(;h.faces.lengthb?{x:m[b].x,y:m[b].y+10,z:m[b].z}:m[0].x===m[7].x&&4<=b?{x:m[b].x+10,y:m[b].y,z:m[b].z}:0===n&&2>b||5A(r)?y=[r,0]:0>A(d)?y=[d,1]:e&&(C.push(e),y=0>A(b)?[r,0]:0>A(g)?[d,1]:[r,0]);return y};var l=J([3,2,1,0],[7,6,5,4],"front");e=l[0];var G=l[1];l=J([1,6,7,0],[4,5,2,3],"top");a=l[0];var k=l[1];l=J([1,2,5,6],[0,7,4,3],"side");J=l[0];l=l[1];1===l?u+=1E6*(f.plotWidth-r):l||(u+=1E6*r);u+=10*(!k||0<=p&&180>=p||360>p&&357.5Math.PI&&(b=2*Math.PI-b);return b}var h=b.x||0,r=b.y||0,g=b.start||0,c=(b.end||0)-.00001,d=b.r||0,a=b.innerR||0,n=b.depth||0,f=b.alpha||0,p=b.beta||0,u=Math.cos(g),l=Math.sin(g);b=Math.cos(c);var q=Math.sin(c),k=d*Math.cos(p);d*=Math.cos(f);var A=a*Math.cos(p),v=a*Math.cos(f);a=n*Math.sin(p);var B=n*Math.sin(f);n=[["M",h+k*u,r+d*l]];n=n.concat(m.curveTo(h,r,k,d,g,c,0,0)); +n.push(["L",h+A*b,r+v*q]);n=n.concat(m.curveTo(h,r,A,v,c,g,0,0));n.push(["Z"]);var z=0-z?g:c>-z?-z:g;var t=cx&&gI-p&&g +b?-1:0},u=f([{x:d,y:p,z:n},{x:a,y:p,z:n},{x:a,y:p,z:0},{x:d,y:p,z:0}]),m=f([{x:d,y:h,z:0},{x:a,y:h,z:0},{x:a,y:h,z:n},{x:d,y:h,z:n}]),k=f([{x:d,y:h,z:0},{x:d,y:h,z:n},{x:d,y:p,z:n},{x:d,y:p,z:0}]),q=f([{x:a,y:h,z:n},{x:a,y:h,z:0},{x:a,y:p,z:0},{x:a,y:p,z:n}]),l=f([{x:d,y:p,z:0},{x:a,y:p,z:0},{x:a,y:h,z:0},{x:d,y:h,z:0}]);f=f([{x:d,y:h,z:n},{x:a,y:h,z:n},{x:a,y:p,z:n},{x:d,y:p,z:n}]);var C=!1,G=!1,B=!1,A=!1;[].concat(e.xAxis,e.yAxis,e.zAxis).forEach(function(b){b&&(b.horiz?b.opposite?G=!0:C=!0:b.opposite? +A=!0:B=!0)});var t=function(e,c,d){for(var g=["size","color","visible"],a={},p=0;pd*g[a][c]?a=p:d*g[p][c]===d*g[a][c]&&g[p].zf&&(k=Math.min(k,1-Math.abs((c+h)/(f+h))%1));dm&&(k=0>m?Math.min(k,(a+n)/(-m+a+n)):Math.min(k,1-(a+n)/(m+n)%1));pthis.pos&&(d(this.start)||d(this.end))){var b=this.start||[1,0,0,1,0,0],e=this.end||[1,0,0,1,0,0];var c=[];for(var a=0;6>a;a++)c.push(this.pos*e[a]+(1-this.pos)* +b[a])}else c=this.end;this.elem.attr(this.prop,c,null,!0)};c(!0,x,a.defaultOptions);k(b,"init",B);k(b,"addSeries",e);k(b,"afterDrawChartBox",n);k(b,"afterGetContainer",u);k(b,"afterInit",p);k(b,"afterSetChartSize",q);k(b,"beforeRedraw",C);k(b,"beforeRender",A);l(g,"isInsidePlot",m);l(b,"renderSeries",t);l(b,"setClassName",w)}})(q||(q={}));"";return q});E(a,"Core/Axis/ZAxis.js",[a["Core/Axis/Axis.js"],a["Core/Utilities.js"]],function(a,w){var t=this&&this.__extends||function(){var a=function(c,b){a= +Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(b,c){b.__proto__=c}||function(b,c){for(var a in c)c.hasOwnProperty(a)&&(b[a]=c[a])};return a(c,b)};return function(c,b){function d(){this.constructor=c}a(c,b);c.prototype=null===b?Object.create(b):(d.prototype=b.prototype,new d)}}(),F=w.addEvent,f=w.merge,z=w.pick,v=w.splat,x=function(){function a(){}a.compose=function(c){F(c,"afterGetAxes",a.onAfterGetAxes);c=c.prototype;c.addZAxis=a.wrapAddZAxis;c.collectionsWithInit.zAxis=[c.addZAxis]; +c.collectionsWithUpdate.push("zAxis")};a.onAfterGetAxes=function(){var c=this,b=this.options;b=b.zAxis=v(b.zAxis||{});c.is3d()&&(c.zAxis=[],b.forEach(function(b,a){b.index=a;b.isX=!0;c.addZAxis(b).setScale()}))};a.wrapAddZAxis=function(c){return new k(this,c)};return a}(),k=function(a){function c(b,c){b=a.call(this,b,c)||this;b.isZAxis=!0;return b}t(c,a);c.prototype.getSeriesExtremes=function(){var b=this,c=b.chart;b.hasVisibleSeries=!1;b.dataMin=b.dataMax=b.ignoreMinPadding=b.ignoreMaxPadding=void 0; +b.stacking&&b.stacking.buildStacks();b.series.forEach(function(a){if(a.visible||!c.options.chart.ignoreHiddenSeries)b.hasVisibleSeries=!0,a=a.zData,a.length&&(b.dataMin=Math.min(z(b.dataMin,a[0]),Math.min.apply(null,a)),b.dataMax=Math.max(z(b.dataMax,a[0]),Math.max.apply(null,a)))})};c.prototype.setAxisSize=function(){var b=this.chart;a.prototype.setAxisSize.call(this);this.width=this.len=b.options.chart.options3d&&b.options.chart.options3d.depth||0;this.right=b.chartWidth-this.width-this.left};c.prototype.setOptions= +function(b){b=f({offset:0,lineWidth:0},b);this.isZAxis=!0;a.prototype.setOptions.call(this,b);this.coll="zAxis"};c.ZChartComposition=x;return c}(a);return k});E(a,"Core/Axis/Tick3D.js",[a["Core/Utilities.js"]],function(a){var w=a.addEvent,t=a.extend,F=a.wrap;return function(){function a(){}a.compose=function(f){w(f,"afterGetLabelPosition",a.onAfterGetLabelPosition);F(f.prototype,"getMarkPath",a.wrapGetMarkPath)};a.onAfterGetLabelPosition=function(a){var f=this.axis.axis3D;f&&t(a.pos,f.fix3dPosition(a.pos))}; +a.wrapGetMarkPath=function(a){var f=this.axis.axis3D,t=a.apply(this,[].slice.call(arguments,1));if(f){var k=t[0],d=t[1];if("M"===k[0]&&"L"===d[0])return f=[f.fix3dPosition({x:k[1],y:k[2],z:0}),f.fix3dPosition({x:d[1],y:d[2],z:0})],this.axis.chart.renderer.toLineSegments(f)}return t};return a}()});E(a,"Core/Axis/Axis3D.js",[a["Core/Globals.js"],a["Extensions/Math3D.js"],a["Core/Axis/Tick.js"],a["Core/Axis/Tick3D.js"],a["Core/Utilities.js"]],function(a,w,t,D,f){var z=a.deg2rad,v=w.perspective,x=w.perspective3D, +k=w.shapeArea,d=f.addEvent,c=f.merge,b=f.pick,l=f.wrap,q=function(){function c(b){this.axis=b}c.prototype.fix3dPosition=function(e,c){var a=this.axis,d=a.chart;if("colorAxis"===a.coll||!d.chart3d||!d.is3d())return e;var n=z*d.options.chart.options3d.alpha,f=z*d.options.chart.options3d.beta,q=b(c&&a.options.title.position3d,a.options.labels.position3d);c=b(c&&a.options.title.skew3d,a.options.labels.skew3d);var l=d.chart3d.frame3d,m=d.plotLeft,t=d.plotWidth+m,A=d.plotTop,x=d.plotHeight+A,h=d=0,r={x:0, +y:1,z:0},g=!1;e=a.axis3D.swapZ({x:e.x,y:e.y,z:0});if(a.isZAxis)if(a.opposite){if(null===l.axes.z.top)return{};h=e.y-A;e.x=l.axes.z.top.x;e.y=l.axes.z.top.y;m=l.axes.z.top.xDir;g=!l.top.frontFacing}else{if(null===l.axes.z.bottom)return{};h=e.y-x;e.x=l.axes.z.bottom.x;e.y=l.axes.z.bottom.y;m=l.axes.z.bottom.xDir;g=!l.bottom.frontFacing}else if(a.horiz)if(a.opposite){if(null===l.axes.x.top)return{};h=e.y-A;e.y=l.axes.x.top.y;e.z=l.axes.x.top.z;m=l.axes.x.top.xDir;g=!l.top.frontFacing}else{if(null=== +l.axes.x.bottom)return{};h=e.y-x;e.y=l.axes.x.bottom.y;e.z=l.axes.x.bottom.z;m=l.axes.x.bottom.xDir;g=!l.bottom.frontFacing}else if(a.opposite){if(null===l.axes.y.right)return{};d=e.x-t;e.x=l.axes.y.right.x;e.z=l.axes.y.right.z;m=l.axes.y.right.xDir;m={x:m.z,y:m.y,z:-m.x}}else{if(null===l.axes.y.left)return{};d=e.x-m;e.x=l.axes.y.left.x;e.z=l.axes.y.left.z;m=l.axes.y.left.xDir}"chart"!==q&&("flap"===q?a.horiz?(f=Math.sin(n),n=Math.cos(n),a.opposite&&(f=-f),g&&(f=-f),r={x:m.z*f,y:n,z:-m.x*f}):m={x:Math.cos(f), +y:0,z:Math.sin(f)}:"ortho"===q?a.horiz?(r=Math.cos(n),q=Math.sin(f)*r,n=-Math.sin(n),f=-r*Math.cos(f),r={x:m.y*f-m.z*n,y:m.z*q-m.x*f,z:m.x*n-m.y*q},n=1/Math.sqrt(r.x*r.x+r.y*r.y+r.z*r.z),g&&(n=-n),r={x:n*r.x,y:n*r.y,z:n*r.z}):m={x:Math.cos(f),y:0,z:Math.sin(f)}:a.horiz?r={x:Math.sin(f)*Math.sin(n),y:Math.cos(n),z:-Math.cos(f)*Math.sin(n)}:m={x:Math.cos(f),y:0,z:Math.sin(f)});e.x+=d*m.x+h*r.x;e.y+=d*m.y+h*r.y;e.z+=d*m.z+h*r.z;d=v([e],a.chart)[0];c&&(0>k(v([e,{x:e.x+m.x,y:e.y+m.y,z:e.z+m.z},{x:e.x+ +r.x,y:e.y+r.y,z:e.z+r.z}],a.chart))&&(m={x:-m.x,y:-m.y,z:-m.z}),e=v([{x:e.x,y:e.y,z:e.z},{x:e.x+m.x,y:e.y+m.y,z:e.z+m.z},{x:e.x+r.x,y:e.y+r.y,z:e.z+r.z}],a.chart),d.matrix=[e[1].x-e[0].x,e[1].y-e[0].y,e[2].x-e[0].x,e[2].y-e[0].y,d.x,d.y],d.matrix[4]-=d.x*d.matrix[0]+d.y*d.matrix[2],d.matrix[5]-=d.x*d.matrix[1]+d.y*d.matrix[3]);return d};c.prototype.swapZ=function(b,a){var e=this.axis;return e.isZAxis?(a=a?0:e.chart.plotLeft,{x:a+b.z,y:b.y,z:b.x-a}):b};return c}();return function(){function a(){}a.compose= +function(b){c(!0,b.defaultOptions,a.defaultOptions);b.keepProps.push("axis3D");d(b,"init",a.onInit);d(b,"afterSetOptions",a.onAfterSetOptions);d(b,"drawCrosshair",a.onDrawCrosshair);b=b.prototype;l(b,"getLinePath",a.wrapGetLinePath);l(b,"getPlotBandPath",a.wrapGetPlotBandPath);l(b,"getPlotLinePath",a.wrapGetPlotLinePath);l(b,"getSlotWidth",a.wrapGetSlotWidth);l(b,"getTitlePosition",a.wrapGetTitlePosition);D.compose(t)};a.onAfterSetOptions=function(){var a=this.chart,c=this.options;a.is3d&&a.is3d()&& +"colorAxis"!==this.coll&&(c.tickWidth=b(c.tickWidth,0),c.gridLineWidth=b(c.gridLineWidth,1))};a.onDrawCrosshair=function(b){this.chart.is3d()&&"colorAxis"!==this.coll&&b.point&&(b.point.crosshairPos=this.isXAxis?b.point.axisXpos:this.len-b.point.axisYpos)};a.onInit=function(){this.axis3D||(this.axis3D=new q(this))};a.wrapGetLinePath=function(b){return this.chart.is3d()&&"colorAxis"!==this.coll?[]:b.apply(this,[].slice.call(arguments,1))};a.wrapGetPlotBandPath=function(b){if(!this.chart.is3d()||"colorAxis"=== +this.coll)return b.apply(this,[].slice.call(arguments,1));var a=arguments,c=a[2],e=[];a=this.getPlotLinePath({value:a[1]});c=this.getPlotLinePath({value:c});if(a&&c)for(var d=0;d=c.min&&u<=c.max:!1}else b.plotZ=this.zPadding;b.axisXpos=b.plotX;b.axisYpos=b.plotY;b.axisZpos=b.plotZ;d.push({x:b.plotX,y:b.plotY,z:b.plotZ});n.push(b.plotX||0)}this.rawPointsX=n;a=f(d,a,!0);for(e=0;ep&&(e[a[1]]+=e[a[0]]+k,e[a[0]]=-k,p=0);p+e[a[1]]>b[a[0]+"Axis"].len&&0!==e[a[1]]&&(e[a[1]]= +b[a[0]+"Axis"].len-e[a[0]]);if(0!==e[a[1]]&&(e[a[0]]>=b[a[0]+"Axis"].len||e[a[0]]+e[a[1]]<=k)){for(var d in e)e[d]="y"===d?-9999:0;c.outside3dPlot=!0}});"rect"===c.shapeType&&(c.shapeType="cuboid");e.z=f;e.depth=d;e.insidePlotArea=!0;l={x:e.x+e.width/2,y:e.y,z:f+d/2};a.inverted&&(l.x=e.height,l.y=c.clientX);c.plot3d=q([l],a,!0,!1)[0];n=q([{x:n[0],y:n[1],z:f+d/2}],a,!0,!1)[0];c.tooltipPos=[n.x,n.y]}});b.z=f};v(b,"animate",function(b){if(this.chart.is3d()){var a=arguments[1],c=this.yAxis,e=this,d=this.yAxis.reversed; +l&&(a?e.data.forEach(function(b){null!==b.y&&(b.height=b.shapeArgs.height,b.shapey=b.shapeArgs.y,b.shapeArgs.height=1,d||(b.shapeArgs.y=b.stackY?b.plotY+c.translate(b.stackY):b.plotY+(b.negative?-b.height:b.height)))}):(e.data.forEach(function(b){if(null!==b.y&&(b.shapeArgs.height=b.height,b.shapeArgs.y=b.shapey,b.graphic))b.graphic[b.outside3dPlot?"attr":"animate"](b.shapeArgs,e.options.animation)}),this.drawDataLabels()))}else b.apply(this,[].slice.call(arguments,1))});v(b,"plotGroup",function(b, +a,c,d,f,k){"dataLabelsGroup"!==a&&this.chart.is3d()&&(this[a]&&delete this[a],k&&(this.chart.columnGroup||(this.chart.columnGroup=this.chart.renderer.g("columnGroup").add(k)),this[a]=this.chart.columnGroup,this.chart.columnGroup.attr(this.getPlotBox()),this[a].survive=!0,"group"===a||"markerGroup"===a))&&(arguments[3]="visible");return b.apply(this,Array.prototype.slice.call(arguments,1))});v(b,"setVisible",function(b,a){var c=this;c.chart.is3d()&&c.data.forEach(function(b){b.visible=b.options.visible= +a="undefined"===typeof a?!A(c.visible,b.visible):a;c.options.data[c.data.indexOf(b)]=b.options;b.graphic&&b.graphic.attr({visibility:a?"visible":"hidden"})});b.apply(this,Array.prototype.slice.call(arguments,1))});w(a,"afterInit",function(){if(this.chart.is3d()){var b=this.options,a=b.grouping,c=b.stacking,d=this.yAxis.options.reversedStacks,f=0;if("undefined"===typeof a||a){a=x(this.chart,c);f=b.stack||0;for(c=0;c=m.alpha&&(k.y+=a.shapeArgs.width));k=q([k],e,!0,!1)[0];f.x=k.x-p;f.y=a.outside3dPlot?-9E9:k.y}b.apply(this,[].slice.call(arguments,1))});v(z.prototype,"getStackBox",function(b,a,c,d,k,l,t,v){var e=b.apply(this,[].slice.call(arguments,1));if(a.is3d()&&c.base){var p=+c.base.split(",")[0], +n=a.series[p];p=a.options.chart.options3d;n&&n instanceof f.seriesTypes.column&&(n={x:e.x+(a.inverted?t:l/2),y:e.y,z:n.options.depth/2},a.inverted&&(e.width=0,90<=p.alpha&&270>=p.alpha&&(n.y+=l)),n=q([n],a,!0,!1)[0],e.x=n.x-l/2,e.y=n.y)}return e});"";return a});E(a,"Series/Pie3D/Pie3DPoint.js",[a["Core/Series/SeriesRegistry.js"]],function(a){var w=this&&this.__extends||function(){var a=function(f,t){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,f){a.__proto__=f}||function(a, +f){for(var k in f)f.hasOwnProperty(k)&&(a[k]=f[k])};return a(f,t)};return function(f,t){function v(){this.constructor=f}a(f,t);f.prototype=null===t?Object.create(t):(v.prototype=t.prototype,new v)}}();a=a.seriesTypes.pie.prototype.pointClass;var t=a.prototype.haloPath;return function(a){function f(){var f=null!==a&&a.apply(this,arguments)||this;f.series=void 0;return f}w(f,a);f.prototype.haloPath=function(){return this.series.chart.is3d()?[]:t.apply(this,arguments)};return f}(a)});E(a,"Series/Pie3D/Pie3DSeries.js", +[a["Core/Globals.js"],a["Series/Pie3D/Pie3DPoint.js"],a["Core/Series/SeriesRegistry.js"],a["Core/Utilities.js"]],function(a,w,t,D){var f=this&&this.__extends||function(){var a=function(d,c){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(b,a){b.__proto__=a}||function(b,a){for(var c in a)a.hasOwnProperty(c)&&(b[c]=a[c])};return a(d,c)};return function(d,c){function b(){this.constructor=d}a(d,c);d.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)}}(),z=a.deg2rad, +v=a.svg;a=D.extend;var x=D.pick;t=function(a){function d(){return null!==a&&a.apply(this,arguments)||this}f(d,a);d.prototype.addPoint=function(){a.prototype.addPoint.apply(this,arguments);this.chart.is3d()&&this.update(this.userOptions,!0)};d.prototype.animate=function(c){if(this.chart.is3d()){var b=this.options.animation;var d=this.center;var f=this.group,k=this.markerGroup;v&&(!0===b&&(b={}),c?(f.oldtranslateX=x(f.oldtranslateX,f.translateX),f.oldtranslateY=x(f.oldtranslateY,f.translateY),d={translateX:d[0], +translateY:d[1],scaleX:.001,scaleY:.001},f.attr(d),k&&(k.attrSetters=f.attrSetters,k.attr(d))):(d={translateX:f.oldtranslateX,translateY:f.oldtranslateY,scaleX:1,scaleY:1},f.animate(d,b),k&&k.animate(d,b)))}else a.prototype.animate.apply(this,arguments)};d.prototype.drawDataLabels=function(){if(this.chart.is3d()){var c=this.chart.options.chart.options3d;this.data.forEach(function(b){var a=b.shapeArgs,d=a.r,f=(a.start+a.end)/2;b=b.labelPosition;var e=b.connectorPosition,k=-d*(1-Math.cos((a.alpha|| +c.alpha)*z))*Math.sin(f),t=d*(Math.cos((a.beta||c.beta)*z)-1)*Math.cos(f);[b.natural,e.breakAt,e.touchingSliceAt].forEach(function(b){b.x+=t;b.y+=k})})}a.prototype.drawDataLabels.apply(this,arguments)};d.prototype.pointAttribs=function(c){var b=a.prototype.pointAttribs.apply(this,arguments),d=this.options;this.chart.is3d()&&!this.chart.styledMode&&(b.stroke=d.edgeColor||c.color||this.color,b["stroke-width"]=x(d.edgeWidth,1));return b};d.prototype.translate=function(){a.prototype.translate.apply(this, +arguments);if(this.chart.is3d()){var c=this,b=c.options,d=b.depth||0,f=c.chart.options.chart.options3d,k=f.alpha,e=f.beta,n=b.stacking?(b.stack||0)*d:c._i*d;n+=d/2;!1!==b.grouping&&(n=0);c.data.forEach(function(a){var f=a.shapeArgs;a.shapeType="arc3d";f.z=n;f.depth=.75*d;f.alpha=k;f.beta=e;f.center=c.center;f=(f.end+f.start)/2;a.slicedTranslation={translateX:Math.round(Math.cos(f)*b.slicedOffset*Math.cos(k*z)),translateY:Math.round(Math.sin(f)*b.slicedOffset*Math.cos(k*z))}})}};d.prototype.drawTracker= +function(){a.prototype.drawTracker.apply(this,arguments);this.chart.is3d()&&this.points.forEach(function(a){a.graphic&&["out","inn","side1","side2"].forEach(function(b){a.graphic&&(a.graphic[b].element.point=a)})})};return d}(t.seriesTypes.pie);a(t.prototype,{pointClass:w});"";return t});E(a,"Series/Pie3D/Pie3DComposition.js",[a["Series/Pie3D/Pie3DPoint.js"],a["Series/Pie3D/Pie3DSeries.js"],a["Core/Series/SeriesRegistry.js"]],function(a,w,t){t.seriesTypes.pie.prototype.pointClass.prototype.haloPath= +a.prototype.haloPath;t.seriesTypes.pie=w});E(a,"Series/Scatter3D/Scatter3DPoint.js",[a["Series/Scatter/ScatterSeries.js"],a["Core/Utilities.js"]],function(a,w){var t=this&&this.__extends||function(){var a=function(f,t){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,f){a.__proto__=f}||function(a,f){for(var d in f)f.hasOwnProperty(d)&&(a[d]=f[d])};return a(f,t)};return function(f,t){function v(){this.constructor=f}a(f,t);f.prototype=null===t?Object.create(t):(v.prototype=t.prototype, +new v)}}(),F=w.defined;return function(a){function f(){var f=null!==a&&a.apply(this,arguments)||this;f.options=void 0;f.series=void 0;return f}t(f,a);f.prototype.applyOptions=function(){a.prototype.applyOptions.apply(this,arguments);F(this.z)||(this.z=0);return this};return f}(a.prototype.pointClass)});E(a,"Series/Scatter3D/Scatter3DSeries.js",[a["Extensions/Math3D.js"],a["Series/Scatter3D/Scatter3DPoint.js"],a["Series/Scatter/ScatterSeries.js"],a["Core/Series/SeriesRegistry.js"],a["Core/Utilities.js"]], +function(a,w,t,D,f){var z=this&&this.__extends||function(){var a=function(d,c){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,c){a.__proto__=c}||function(a,c){for(var b in c)c.hasOwnProperty(b)&&(a[b]=c[b])};return a(d,c)};return function(d,c){function b(){this.constructor=d}a(d,c);d.prototype=null===c?Object.create(c):(b.prototype=c.prototype,new b)}}(),v=a.pointCameraDistance;a=f.extend;var x=f.merge;f=function(a){function d(){var c=null!==a&&a.apply(this,arguments)||this;c.data= +void 0;c.options=void 0;c.points=void 0;return c}z(d,a);d.prototype.pointAttribs=function(c){var b=a.prototype.pointAttribs.apply(this,arguments);this.chart.is3d()&&c&&(b.zIndex=v(c,this.chart));return b};d.defaultOptions=x(t.defaultOptions,{tooltip:{pointFormat:"x: {point.x}
y: {point.y}
z: {point.z}
"}});return d}(t);a(f.prototype,{axisTypes:["xAxis","yAxis","zAxis"],directTouch:!0,parallelArrays:["x","y","z"],pointArrayMap:["x","y","z"],pointClass:w});D.registerSeriesType("scatter3d", +f);"";return f});E(a,"Series/Area3DSeries.js",[a["Extensions/Math3D.js"],a["Core/Series/SeriesRegistry.js"],a["Core/Utilities.js"]],function(a,w,t){var F=a.perspective;a=w.seriesTypes;var f=a.line,z=t.pick;t=t.wrap;t(a.area.prototype,"getGraphPath",function(a){var t=a.apply(this,[].slice.call(arguments,1));if(!this.chart.is3d())return t;var k=f.prototype.getGraphPath,d=this.options;var c=[];var b=[],l=z(d.connectNulls,"percent"===d.stacking),q=Math.round(this.yAxis.getThreshold(d.threshold));if(this.rawPointsX)for(var v= +0;vd.beta?d.depth-Math.round(this.zPadding||0):Math.round(this.zPadding||0))}));c.reversed= +!0;c=k.call(this,c,!0,!0);c[0]&&"M"===c[0][0]&&(c[0]=["L",c[0][1],c[0][2]]);this.areaPath&&(c=this.areaPath.splice(0,this.areaPath.length/2).concat(c),c.xMap=this.areaPath.xMap,this.areaPath=c,k.call(this,b,!1,l));return t})});E(a,"masters/highcharts-3d.src.js",[a["Core/Globals.js"],a["Core/Renderer/SVG/SVGRenderer3D.js"],a["Core/Chart/Chart3D.js"],a["Core/Axis/ZAxis.js"],a["Core/Axis/Axis3D.js"]],function(a,w,t,D,f){w.compose(a.SVGRenderer);t.compose(a.Chart,a.Fx);D.ZChartComposition.compose(a.Chart); +f.compose(a.Axis)})}); +//# sourceMappingURL=highcharts-3d.js.map \ No newline at end of file diff --git a/docs/reference/libs/highcharts-10.2.0/highcharts-more.js b/docs/reference/libs/highcharts-10.2.0/highcharts-more.js new file mode 100644 index 0000000..9599406 --- /dev/null +++ b/docs/reference/libs/highcharts-10.2.0/highcharts-more.js @@ -0,0 +1,201 @@ +/* + Highcharts JS v10.2.0 (2022-07-05) + + (c) 2009-2021 Torstein Honsi + + License: www.highcharts.com/license +*/ +(function(f){"object"===typeof module&&module.exports?(f["default"]=f,module.exports=f):"function"===typeof define&&define.amd?define("highcharts/highcharts-more",["highcharts"],function(A){f(A);f.Highcharts=A;return f}):f("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(f){function A(f,b,e,a){f.hasOwnProperty(b)||(f[b]=a.apply(null,e),"function"===typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:b,module:f[b]}})))}f=f?f._modules:{};A(f, +"Extensions/Pane.js",[f["Core/Chart/Chart.js"],f["Series/CenteredUtilities.js"],f["Core/Globals.js"],f["Core/Pointer.js"],f["Core/Utilities.js"]],function(f,b,e,a,d){function p(c,t,h){return Math.sqrt(Math.pow(c-h[0],2)+Math.pow(t-h[1],2))<=h[2]/2}var l=d.addEvent,k=d.extend,y=d.merge,B=d.pick,c=d.splat;f.prototype.collectionsWithUpdate.push("pane");d=function(){function g(c,h){this.options=this.chart=this.center=this.background=void 0;this.coll="pane";this.defaultOptions={center:["50%","50%"],size:"85%", +innerSize:"0%",startAngle:0};this.defaultBackgroundOptions={shape:"circle",borderWidth:1,borderColor:"#cccccc",backgroundColor:{linearGradient:{x1:0,y1:0,x2:0,y2:1},stops:[[0,"#ffffff"],[1,"#e6e6e6"]]},from:-Number.MAX_VALUE,innerRadius:0,to:Number.MAX_VALUE,outerRadius:"105%"};this.init(c,h)}g.prototype.init=function(c,h){this.chart=h;this.background=[];h.pane.push(this);this.setOptions(c)};g.prototype.setOptions=function(c){this.options=y(this.defaultOptions,this.chart.angular?{background:{}}:void 0, +c)};g.prototype.render=function(){var g=this.options,h=this.options.background,z=this.chart.renderer;this.group||(this.group=z.g("pane-group").attr({zIndex:g.zIndex||0}).add());this.updateCenter();if(h)for(h=c(h),g=Math.max(h.length,this.background.length||0),z=0;z\u25cf {series.name}: {point.low} - {point.high}
'},trackByArea:!0,dataLabels:{align:void 0,verticalAlign:void 0,xLow:0,xHigh:0,yLow:0,yHigh:0}};a=function(a){function b(){var c=null!==a&&a.apply(this,arguments)||this;c.data=void 0;c.options=void 0;c.points=void 0;c.lowerStateMarkerGraphic=void 0;c.xAxis=void 0;return c}d(b,a);b.prototype.toYData=function(c){return[c.low,c.high]};b.prototype.highToXY=function(c){var a= +this.chart,C=this.xAxis.postTranslate(c.rectPlotX||0,this.yAxis.len-c.plotHigh);c.plotHighX=C.x-a.plotLeft;c.plotHigh=C.y-a.plotTop;c.plotLowX=c.plotX};b.prototype.translate=function(){var c=this,a=c.yAxis;k.translate.apply(c);c.points.forEach(function(C){var g=C.high,r=C.plotY;C.isNull?C.plotY=null:(C.plotLow=r,C.plotHigh=a.translate(c.dataModify?c.dataModify.modifyValue(g):g,0,1,0,1),c.dataModify&&(C.yBottom=C.plotHigh))});this.chart.polar&&this.points.forEach(function(a){c.highToXY(a);a.tooltipPos= +[(a.plotHighX+a.plotLowX)/2,(a.plotHigh+a.plotLow)/2]})};b.prototype.getGraphPath=function(c){var a=[],g=[],h=k.getGraphPath,r=this.options,q=this.chart.polar,v=q&&!1!==r.connectEnds,b=r.connectNulls,d,z=r.step;c=c||this.points;for(d=c.length;d--;){var e=c[d];var n=q?{plotX:e.rectPlotX,plotY:e.yBottom,doCurve:!1}:{plotX:e.plotX,plotY:e.plotY,doCurve:!1};e.isNull||v||b||c[d+1]&&!c[d+1].isNull||g.push(n);var m={polarPlotY:e.polarPlotY,rectPlotX:e.rectPlotX,yBottom:e.yBottom,plotX:t(e.plotHighX,e.plotX), +plotY:e.plotHigh,isNull:e.isNull};g.push(m);a.push(m);e.isNull||v||b||c[d-1]&&!c[d-1].isNull||g.push(n)}c=h.call(this,c);z&&(!0===z&&(z="left"),r.step={left:"right",center:"center",right:"left"}[z]);a=h.call(this,a);g=h.call(this,g);r.step=z;r=[].concat(c,a);!this.chart.polar&&g[0]&&"M"===g[0][0]&&(g[0]=["L",g[0][1],g[0][2]]);this.graphPath=r;this.areaPath=c.concat(g);r.isArea=!0;r.xMap=c.xMap;this.areaPath.xMap=c.xMap;return r};b.prototype.drawDataLabels=function(){var a=this.points,h=a.length,C= +[],b=this.options.dataLabels,r=this.chart.inverted,q,v;if(b){if(g(b)){var d=b[0]||{enabled:!1};var z=b[1]||{enabled:!1}}else d=c({},b),d.x=b.xHigh,d.y=b.yHigh,z=c({},b),z.x=b.xLow,z.y=b.yLow;if(d.enabled||this._hasPointLabels){for(q=h;q--;)if(v=a[q]){var t=d.inside?v.plotHighv.plotLow;v.y=v.high;v._plotY=v.plotY;v.plotY=v.plotHigh;C[q]=v.dataLabel;v.dataLabel=v.dataLabelUpper;v.below=t;r?d.align||(d.align=t?"right":"left"):d.verticalAlign||(d.verticalAlign=t?"top":"bottom")}this.options.dataLabels= +d;k.drawDataLabels&&k.drawDataLabels.apply(this,arguments);for(q=h;q--;)if(v=a[q])v.dataLabelUpper=v.dataLabel,v.dataLabel=C[q],delete v.dataLabels,v.y=v.low,v.plotY=v._plotY}if(z.enabled||this._hasPointLabels){for(q=h;q--;)if(v=a[q])t=z.inside?v.plotHighv.plotLow,v.below=!t,r?z.align||(z.align=t?"left":"right"):z.verticalAlign||(z.verticalAlign=t?"bottom":"top");this.options.dataLabels=z;k.drawDataLabels&&k.drawDataLabels.apply(this,arguments)}if(d.enabled)for(q=h;q--;)if(v= +a[q])v.dataLabels=[v.dataLabelUpper,v.dataLabel].filter(function(c){return!!c});this.options.dataLabels=b}};b.prototype.alignDataLabel=function(){y.alignDataLabel.apply(this,arguments)};b.prototype.drawPoints=function(){var a=this.points.length,g;k.drawPoints.apply(this,arguments);for(g=0;g\u25cf {series.name}
Maximum: {point.high}
Upper quartile: {point.q3}
Median: {point.median}
Lower quartile: {point.q1}
Minimum: {point.low}
'},whiskerLength:"50%",fillColor:"#ffffff",lineWidth:1,medianWidth:2,whiskerWidth:2});return b}(f);p(a.prototype,{pointArrayMap:["low","q1", +"median","q3","high"],pointValKey:"high",drawDataLabels:b,setStackedPoints:b});e.registerSeriesType("boxplot",a);"";return a});A(f,"Series/Bubble/BubbleLegendDefaults.js",[],function(){return{borderColor:void 0,borderWidth:2,className:void 0,color:void 0,connectorClassName:void 0,connectorColor:void 0,connectorDistance:60,connectorWidth:1,enabled:!1,labels:{className:void 0,allowOverlap:!1,format:"",formatter:void 0,align:"right",style:{fontSize:"10px",color:"#000000"},x:0,y:0},maxSize:60,minSize:10, +legendIndex:0,ranges:{value:void 0,borderColor:void 0,color:void 0,connectorColor:void 0},sizeBy:"area",sizeByAbsoluteValue:!1,zIndex:1,zThreshold:0}});A(f,"Series/Bubble/BubbleLegendItem.js",[f["Core/Color/Color.js"],f["Core/FormatUtilities.js"],f["Core/Globals.js"],f["Core/Utilities.js"]],function(f,b,e,a){var d=f.parse,p=e.noop,l=a.arrayMax,k=a.arrayMin,y=a.isNumber,B=a.merge,c=a.pick,g=a.stableSort;"";return function(){function a(c,a){this.options=this.symbols=this.visible=this.selected=this.ranges= +this.movementX=this.maxLabel=this.legendSymbol=this.legendItemWidth=this.legendItemHeight=this.legendItem=this.legendGroup=this.legend=this.fontMetrics=this.chart=void 0;this.setState=p;this.init(c,a)}a.prototype.init=function(c,a){this.options=c;this.visible=!0;this.chart=a.chart;this.legend=a};a.prototype.addToLegend=function(c){c.splice(this.options.legendIndex,0,this)};a.prototype.drawLegendSymbol=function(a){var h=this.chart,b=this.options,d=c(a.options.itemDistance,20),e=b.ranges,k=b.connectorDistance; +this.fontMetrics=h.renderer.fontMetrics(b.labels.style.fontSize);e&&e.length&&y(e[0].value)?(g(e,function(c,a){return a.value-c.value}),this.ranges=e,this.setOptions(),this.render(),a=this.getMaxLabelSize(),e=this.ranges[0].radius,h=2*e,k=k-e+a.width,k=0=a&&this.renderRange(c)},this);this.legendSymbol.add(this.legendItem);this.legendItem.add(this.legendGroup);this.hideOverlappingLabels()};a.prototype.renderRange=function(c){var a=this.options,g=a.labels,b=this.chart,h=b.series[a.seriesIndex],d=b.renderer,e=this.symbols;b=e.labels;var k=c.center,r=Math.abs(c.radius),q=a.connectorDistance|| +0,v=g.align,f=a.connectorWidth,H=this.ranges[0].radius||0,t=k-r-a.borderWidth/2+f/2,l=this.fontMetrics;l=l.f/2-(l.h-l.f)/2;var n=d.styledMode;q=this.legend.options.rtl||"left"===v?-q:q;"center"===v&&(q=0,a.connectorDistance=0,c.labelAttribs.align="center");v=t+a.labels.y;var m=H+q+a.labels.x;e.bubbleItems.push(d.circle(H,k+((t%1?1:.5)-(f%2?0:.5)),r).attr(n?{}:c.bubbleAttribs).addClass((n?"highcharts-color-"+h.colorIndex+" ":"")+"highcharts-bubble-legend-symbol "+(a.className||"")).add(this.legendSymbol)); +e.connectors.push(d.path(d.crispLine([["M",H,t],["L",H+q,t]],a.connectorWidth)).attr(n?{}:c.connectorAttribs).addClass((n?"highcharts-color-"+this.options.seriesIndex+" ":"")+"highcharts-bubble-legend-connectors "+(a.connectorClassName||"")).add(this.legendSymbol));c=d.text(this.formatLabel(c),m,v+l).attr(n?{}:c.labelAttribs).css(n?{}:g.style).addClass("highcharts-bubble-legend-labels "+(a.labels.className||"")).add(this.legendSymbol);b.push(c);c.placed=!0;c.alignAttr={x:m,y:v+l}};a.prototype.getMaxLabelSize= +function(){var c,a;this.symbols.labels.forEach(function(g){a=g.getBBox(!0);c=c?a.width>c.width?a:c:a});return c||{}};a.prototype.formatLabel=function(c){var a=this.options,g=a.labels.formatter;a=a.labels.format;var d=this.chart.numberFormatter;return a?b.format(a,c):g?g.call(c):d(c.value,1)};a.prototype.hideOverlappingLabels=function(){var c=this.chart,a=this.symbols;!this.options.labels.allowOverlap&&a&&(c.hideOverlappingLabels(a.labels),a.labels.forEach(function(c,g){c.newOpacity?c.newOpacity!== +c.oldOpacity&&a.connectors[g].show():a.connectors[g].hide()}))};a.prototype.getRanges=function(){var a=this.legend.bubbleLegend,g=a.options.ranges,b,d=Number.MAX_VALUE,e=-Number.MAX_VALUE;a.chart.series.forEach(function(a){a.isBubble&&!a.ignoreSeries&&(b=a.zData.filter(y),b.length&&(d=c(a.options.zMin,Math.min(d,Math.max(k(b),!1===a.options.displayNegative?a.options.zThreshold:-Number.MAX_VALUE))),e=c(a.options.zMax,Math.max(e,l(b)))))});var f=d===e?[{value:e}]:[{value:d},{value:(d+e)/2},{value:e, +autoRanges:!0}];g.length&&g[0].radius&&f.reverse();f.forEach(function(c,a){g&&g[a]&&(f[a]=B(g[a],c))});return f};a.prototype.predictBubbleSizes=function(){var c=this.chart,a=this.fontMetrics,g=c.legend.options,b=g.floating,d=(g="horizontal"===g.layout)?c.legend.lastLineHeight:0,e=c.plotSizeX,k=c.plotSizeY,D=c.series[this.options.seriesIndex],r=D.getPxExtremes();c=Math.ceil(r.minPxSize);r=Math.ceil(r.maxPxSize);var q=Math.min(k,e);D=D.options.maxSize;if(b||!/%$/.test(D))a=r;else if(D=parseFloat(D), +a=(q+d-a.h/2)*D/100/(D/100+1),g&&k-a>=e||!g&&e-a>=k)a=r;return[c,Math.ceil(a)]};a.prototype.updateRanges=function(c,a){var g=this.legend.options.bubbleLegend;g.minSize=c;g.maxSize=a;g.ranges=this.getRanges()};a.prototype.correctSizes=function(){var c=this.legend,a=this.chart.series[this.options.seriesIndex].getPxExtremes();1d.height&&(d.height=c[r].itemHeight);d.step=b}return a}function h(c){var a=this.bubbleLegend,d=this.options,h=d.bubbleLegend,r=g(this.chart);a&&a.ranges&&a.ranges.length&&(h.ranges.length&&(h.autoRanges=!!h.ranges[0].autoRanges),this.destroyItem(a)); +0<=r&&d.enabled&&h.enabled&&(h.seriesIndex=r,this.bubbleLegend=new b(h,this),this.bubbleLegend.addToLegend(c.allItems))}function z(){var c=this.chart,a=this.visible,b=this.chart.legend;b&&b.bubbleLegend&&(this.visible=!a,this.ignoreSeries=a,c=0<=g(c),b.bubbleLegend.visible!==c&&(b.update({bubbleLegend:{enabled:c}}),b.bubbleLegend.visible=c),this.visible=a)}function y(c,a){var g=c.options.rtl,b,r,d,h=0;c.allItems.forEach(function(c,q){b=c.legendGroup.translateX;r=c._legendItemPos[1];if((d=c.movementX)|| +g&&c.ranges)d=g?b-c.options.maxSize/2:b+d,c.legendGroup.attr({translateX:d});q>a[h].step&&h++;c.legendGroup.attr({translateY:Math.round(r+a[h].height/2)});c._legendItemPos[1]=r+a[h].height/2})}var B=[];a.compose=function(a,g,b){-1===B.indexOf(a)&&(B.push(a),d({legend:{bubbleLegend:f}}),k(a.prototype,"drawChartBox",c));-1===B.indexOf(g)&&(B.push(g),p(g,"afterGetAllItems",h));-1===B.indexOf(b)&&(B.push(b),p(b,"legendItemClick",z))}})(y||(y={}));return y});A(f,"Series/Bubble/BubblePoint.js",[f["Core/Series/Point.js"], +f["Core/Series/SeriesRegistry.js"],f["Core/Utilities.js"]],function(f,b,e){var a=this&&this.__extends||function(){var a=function(b,d){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,b){a.__proto__=b}||function(a,b){for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d])};return a(b,d)};return function(b,d){function e(){this.constructor=b}a(b,d);b.prototype=null===d?Object.create(d):(e.prototype=d.prototype,new e)}}();e=e.extend;b=function(b){function d(){var a=null!==b&&b.apply(this,arguments)|| +this;a.options=void 0;a.series=void 0;return a}a(d,b);d.prototype.haloPath=function(a){return f.prototype.haloPath.call(this,0===a?0:(this.marker?this.marker.radius||0:0)+a)};return d}(b.seriesTypes.scatter.prototype.pointClass);e(b.prototype,{ttBelow:!1});return b});A(f,"Series/Bubble/BubbleSeries.js",[f["Core/Axis/Axis.js"],f["Series/Bubble/BubbleLegendComposition.js"],f["Series/Bubble/BubblePoint.js"],f["Core/Color/Color.js"],f["Core/Globals.js"],f["Core/Series/Series.js"],f["Core/Series/SeriesRegistry.js"], +f["Core/Utilities.js"]],function(f,b,e,a,d,p,l,k){var y=this&&this.__extends||function(){var c=function(a,r){c=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(c,a){c.__proto__=a}||function(c,a){for(var r in a)a.hasOwnProperty(r)&&(c[r]=a[r])};return c(a,r)};return function(a,r){function b(){this.constructor=a}c(a,r);a.prototype=null===r?Object.create(r):(b.prototype=r.prototype,new b)}}(),B=a.parse;a=d.noop;var c=l.seriesTypes;d=c.column;var g=c.scatter;c=k.addEvent;var t=k.arrayMax, +h=k.arrayMin,z=k.clamp,J=k.extend,I=k.isNumber,K=k.merge,E=k.pick;k=function(c){function a(){var a=null!==c&&c.apply(this,arguments)||this;a.data=void 0;a.maxPxSize=void 0;a.minPxSize=void 0;a.options=void 0;a.points=void 0;a.radii=void 0;a.yData=void 0;a.zData=void 0;return a}y(a,c);a.prototype.animate=function(a){!a&&this.points.length=b/2?(d.marker=J(d.marker,{radius:h,width:2*h,height:2*h}),d.dlBox= +{x:d.plotX-h,y:d.plotY-h,width:2*h,height:2*h}):(d.shapeArgs=d.dlBox=void 0,d.plotY=0,d.marker={width:0,height:0})}};a.prototype.getPxExtremes=function(){var a=Math.min(this.chart.plotWidth,this.chart.plotHeight),c=function(c){if("string"===typeof c){var b=/%$/.test(c);c=parseInt(c,10)}return b?a*c/100:c},b=c(E(this.options.minSize,8));c=Math.max(c(E(this.options.maxSize,"20%")),b);return{minPxSize:b,maxPxSize:c}};a.prototype.getZExtremes=function(){var c=this.options,a=(this.zData||[]).filter(I); +if(a.length){var b=E(c.zMin,z(h(a),!1===c.displayNegative?c.zThreshold||0:-Number.MAX_VALUE,Number.MAX_VALUE));c=E(c.zMax,t(a));if(I(b)&&I(c))return{zMin:b,zMax:c}}};a.compose=b.compose;a.defaultOptions=K(g.defaultOptions,{dataLabels:{formatter:function(){var c=this.series.chart.numberFormatter,a=this.point.z;return I(a)?c(a,-1):""},inside:!0,verticalAlign:"middle"},animationLimit:250,marker:{lineColor:null,lineWidth:1,fillOpacity:.5,radius:null,states:{hover:{radiusPlus:0}},symbol:"circle"},minSize:8, +maxSize:"20%",softThreshold:!1,states:{hover:{halo:{size:5}}},tooltip:{pointFormat:"({point.x}, {point.y}), Size: {point.z}"},turboThreshold:0,zThreshold:0,zoneAxis:"z"});return a}(g);J(k.prototype,{alignDataLabel:d.prototype.alignDataLabel,applyZones:a,bubblePadding:!0,buildKDTree:a,directTouch:!0,isBubble:!0,pointArrayMap:["y","z"],pointClass:e,parallelArrays:["x","y","z"],trackerGroups:["group","dataLabelsGroup"],specialGroup:"group",zoneAxis:"z"});c(k,"updatedData",function(c){delete c.target.chart.bubbleZExtremes}); +f.prototype.beforePadding=function(){var c=this,a=this.len,b=this.chart,g=0,d=a,h=this.isXAxis,e=h?"xData":"yData",k=this.min,f=this.max-k,n=a/f,m;this.series.forEach(function(a){if(a.bubblePadding&&(a.visible||!b.options.chart.ignoreHiddenSeries)){m=c.allowZoomOutside=!0;var r=a[e];h&&((a.onPoint||a).getRadii(0,0,a),a.onPoint&&(a.radii=a.onPoint.radii));if(0q&&(q*=-1,l-=q);e&&a.polar?(k=v.barX+d,v.shapeType="arc",v.shapeArgs= +a.polar.arc(l+q,l,k,k+v.pointWidth)):(n.height=q,n.y=l,m=n.x,m=void 0===m?0:m,n=n.width,n=void 0===n?0:n,v.tooltipPos=h.inverted?[c.len+c.pos-h.plotLeft-l-q/2,b.len+b.pos-h.plotTop-m-n/2,q]:[b.left-h.plotLeft+m+n/2,c.pos-h.plotTop+l+q/2,q])})};b.prototype.pointAttribs=function(){return y.pointAttribs.apply(this,arguments)};b.prototype.translate3dPoints=function(){return y.translate3dPoints.apply(this,arguments)};b.prototype.translate3dShapes=function(){return y.translate3dShapes.apply(this,arguments)}; +b.defaultOptions=c(k.defaultOptions,l.defaultOptions,t);return b}(l);p(a.prototype,{directTouch:!0,pointClass:f,trackerGroups:["group","dataLabelsGroup"],adjustForMissingColumns:y.adjustForMissingColumns,animate:y.animate,crispCol:y.crispCol,drawGraph:b,drawPoints:y.drawPoints,getSymbol:b,drawTracker:y.drawTracker,getColumnMetrics:y.getColumnMetrics});e.registerSeriesType("columnrange",a);"";return a});A(f,"Series/ColumnPyramid/ColumnPyramidSeries.js",[f["Series/Column/ColumnSeries.js"],f["Core/Series/SeriesRegistry.js"], +f["Core/Utilities.js"]],function(f,b,e){var a=this&&this.__extends||function(){var a=function(b,c){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,c){a.__proto__=c}||function(a,c){for(var b in c)c.hasOwnProperty(b)&&(a[b]=c[b])};return a(b,c)};return function(b,c){function d(){this.constructor=b}a(b,c);b.prototype=null===c?Object.create(c):(d.prototype=c.prototype,new d)}}(),d=f.prototype,p=e.clamp,l=e.merge,k=e.pick;e=function(b){function e(){var a=null!==b&&b.apply(this,arguments)|| +this;a.data=void 0;a.options=void 0;a.points=void 0;return a}a(e,b);e.prototype.translate=function(){var a=this,b=a.chart,e=a.options,h=a.dense=2>a.closestPointRange*a.xAxis.transA;h=a.borderWidth=k(e.borderWidth,h?0:1);var f=a.yAxis,l=e.threshold,B=a.translatedThreshold=f.getThreshold(l),y=k(e.minPointLength,5),E=a.getColumnMetrics(),C=E.width,D=a.barW=Math.max(C,1+2*h),r=a.pointXOffset=E.offset;b.inverted&&(B-=.5);e.pointPadding&&(D=Math.ceil(D));d.translate.apply(a);a.points.forEach(function(c){var d= +k(c.yBottom,B),g=999+Math.abs(d),h=p(c.plotY,-g,f.len+g);g=c.plotX+r;var q=D/2,t=Math.min(h,d);d=Math.max(h,d)-t;var n;c.barX=g;c.pointWidth=C;c.tooltipPos=b.inverted?[f.len+f.pos-b.plotLeft-h,a.xAxis.len-g-q,d]:[g+q,h+f.pos-b.plotTop,d];h=l+(c.total||c.y);"percent"===e.stacking&&(h=l+(0>c.y)?-100:100);h=f.toPixels(h,!0);var m=(n=b.plotHeight-h-(b.plotHeight-B))?q*(t-h)/n:0;var z=n?q*(t+d-h)/n:0;n=g-m+q;m=g+m+q;var u=g+z+q;z=g-z+q;var w=t-y;var x=t+d;0>c.y&&(w=t,x=t+d+y);b.inverted&&(u=f.width-t, +n=h-(f.width-B),m=q*(h-u)/n,z=q*(h-(u-d))/n,n=g+q+m,m=n-2*m,u=g-z+q,z=g+z+q,w=t,x=t+d-y,0>c.y&&(x=t+d+y));c.shapeType="path";c.shapeArgs={x:n,y:w,width:m-n,height:d,d:[["M",n,w],["L",m,w],["L",u,x],["L",z,x],["Z"]]}})};e.defaultOptions=l(f.defaultOptions,{});return e}(f);b.registerSeriesType("columnpyramid",e);"";return e});A(f,"Series/ErrorBar/ErrorBarSeries.js",[f["Series/BoxPlot/BoxPlotSeries.js"],f["Series/Column/ColumnSeries.js"],f["Core/Series/SeriesRegistry.js"],f["Core/Utilities.js"]],function(f, +b,e,a){var d=this&&this.__extends||function(){var a=function(b,c){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,c){a.__proto__=c}||function(a,c){for(var b in c)c.hasOwnProperty(b)&&(a[b]=c[b])};return a(b,c)};return function(b,c){function d(){this.constructor=b}a(b,c);b.prototype=null===c?Object.create(c):(d.prototype=c.prototype,new d)}}(),p=e.seriesTypes.arearange,l=a.merge;a=a.extend;var k=function(a){function e(){var c=null!==a&&a.apply(this,arguments)||this;c.data=void 0; +c.options=void 0;c.points=void 0;return c}d(e,a);e.prototype.getColumnMetrics=function(){return this.linkedParent&&this.linkedParent.columnMetrics||b.prototype.getColumnMetrics.call(this)};e.prototype.drawDataLabels=function(){var a=this.pointValKey;p&&(p.prototype.drawDataLabels.call(this),this.data.forEach(function(c){c.y=c[a]}))};e.prototype.toYData=function(a){return[a.low,a.high]};e.defaultOptions=l(f.defaultOptions,{color:"#000000",grouping:!1,linkedTo:":previous",tooltip:{pointFormat:'\u25cf {series.name}: {point.low} - {point.high}
'}, +whiskerWidth:null});return e}(f);a(k.prototype,{pointArrayMap:["low","high"],pointValKey:"high",doQuartiles:!1});e.registerSeriesType("errorbar",k);"";return k});A(f,"Series/Gauge/GaugePoint.js",[f["Core/Series/SeriesRegistry.js"]],function(f){var b=this&&this.__extends||function(){var b=function(a,d){b=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,b){a.__proto__=b}||function(a,b){for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d])};return b(a,d)};return function(a,d){function e(){this.constructor= +a}b(a,d);a.prototype=null===d?Object.create(d):(e.prototype=d.prototype,new e)}}();return function(e){function a(){var a=null!==e&&e.apply(this,arguments)||this;a.options=void 0;a.series=void 0;a.shapeArgs=void 0;return a}b(a,e);a.prototype.setState=function(a){this.state=a};return a}(f.series.prototype.pointClass)});A(f,"Series/Gauge/GaugeSeries.js",[f["Series/Gauge/GaugePoint.js"],f["Core/Globals.js"],f["Core/Series/SeriesRegistry.js"],f["Core/Utilities.js"]],function(f,b,e,a){var d=this&&this.__extends|| +function(){var a=function(c,b){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,c){a.__proto__=c}||function(a,c){for(var b in c)c.hasOwnProperty(b)&&(a[b]=c[b])};return a(c,b)};return function(c,b){function d(){this.constructor=c}a(c,b);c.prototype=null===b?Object.create(b):(d.prototype=b.prototype,new d)}}();b=b.noop;var p=e.series,l=e.seriesTypes.column,k=a.clamp,y=a.isNumber,B=a.extend,c=a.merge,g=a.pick,t=a.pInt;a=function(a){function b(){var c=null!==a&&a.apply(this,arguments)|| +this;c.data=void 0;c.points=void 0;c.options=void 0;c.yAxis=void 0;return c}d(b,a);b.prototype.translate=function(){var a=this.yAxis,b=this.options,d=a.center;this.generatePoints();this.points.forEach(function(g){var h=c(b.dial,g.dial),e=t(h.radius)*d[2]/200,r=t(h.baseLength)*e/100,f=t(h.rearLength)*e/100,v=h.baseWidth,l=h.topWidth,p=b.overshoot,z=a.startAngleRad+a.translate(g.y,void 0,void 0,void 0,!0);if(y(p)||!1===b.wrap)p=y(p)?p/180*Math.PI:0,z=k(z,a.startAngleRad-p,a.endAngleRad+p);z=180*z/Math.PI; +g.shapeType="path";g.shapeArgs={d:h.path||[["M",-f,-v/2],["L",r,-v/2],["L",e,-l/2],["L",e,l/2],["L",r,v/2],["L",-f,v/2],["Z"]],translateX:d[0],translateY:d[1],rotation:z};g.plotX=d[0];g.plotY=d[1]})};b.prototype.drawPoints=function(){var a=this,b=a.chart,d=a.yAxis.center,g=a.pivot,h=a.options,e=h.pivot,r=b.renderer;a.points.forEach(function(d){var g=d.graphic,e=d.shapeArgs,f=e.d,q=c(h.dial,d.dial);g?(g.animate(e),e.d=f):d.graphic=r[d.shapeType](e).attr({rotation:e.rotation,zIndex:1}).addClass("highcharts-dial").add(a.group); +if(!b.styledMode)d.graphic[g?"animate":"attr"]({stroke:q.borderColor,"stroke-width":q.borderWidth,fill:q.backgroundColor})});g?g.animate({translateX:d[0],translateY:d[1]}):e&&(a.pivot=r.circle(0,0,e.radius).attr({zIndex:2}).addClass("highcharts-pivot").translate(d[0],d[1]).add(a.group),b.styledMode||a.pivot.attr({fill:e.backgroundColor,stroke:e.borderColor,"stroke-width":e.borderWidth}))};b.prototype.animate=function(a){var c=this;a||c.points.forEach(function(a){var b=a.graphic;b&&(b.attr({rotation:180* +c.yAxis.startAngleRad/Math.PI}),b.animate({rotation:a.shapeArgs.rotation},c.options.animation))})};b.prototype.render=function(){this.group=this.plotGroup("group","series",this.visible?"inherit":"hidden",this.options.zIndex,this.chart.seriesGroup);p.prototype.render.call(this);this.group.clip(this.chart.clipRect)};b.prototype.setData=function(a,c){p.prototype.setData.call(this,a,!1);this.processData();this.generatePoints();g(c,!0)&&this.chart.redraw()};b.prototype.hasData=function(){return!!this.points.length}; +b.defaultOptions=c(p.defaultOptions,{dataLabels:{borderColor:"#cccccc",borderRadius:3,borderWidth:1,crop:!1,defer:!1,enabled:!0,verticalAlign:"top",y:15,zIndex:2},dial:{backgroundColor:"#000000",baseLength:"70%",baseWidth:3,borderColor:"#cccccc",borderWidth:0,radius:"80%",rearLength:"10%",topWidth:1},pivot:{radius:5,borderWidth:0,borderColor:"#cccccc",backgroundColor:"#000000"},tooltip:{headerFormat:""},showInLegend:!1});return b}(p);B(a.prototype,{angular:!0,directTouch:!0,drawGraph:b,drawTracker:l.prototype.drawTracker, +fixedBox:!0,forceDL:!0,noSharedTooltip:!0,pointClass:f,trackerGroups:["group","dataLabelsGroup"]});e.registerSeriesType("gauge",a);"";return a});A(f,"Series/PackedBubble/PackedBubblePoint.js",[f["Core/Chart/Chart.js"],f["Core/Series/Point.js"],f["Core/Series/SeriesRegistry.js"]],function(f,b,e){var a=this&&this.__extends||function(){var a=function(b,d){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,b){a.__proto__=b}||function(a,b){for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d])}; +return a(b,d)};return function(b,d){function e(){this.constructor=b}a(b,d);b.prototype=null===d?Object.create(d):(e.prototype=d.prototype,new e)}}();return function(d){function e(){var a=null!==d&&d.apply(this,arguments)||this;a.degree=NaN;a.mass=NaN;a.radius=NaN;a.options=void 0;a.series=void 0;a.value=null;return a}a(e,d);e.prototype.destroy=function(){this.series.layout&&this.series.layout.removeElementFromCollection(this,this.series.layout.nodes);return b.prototype.destroy.apply(this,arguments)}; +e.prototype.firePointEvent=function(){var a=this.series.options;if(this.isParentNode&&a.parentNode){var d=a.allowPointSelect;a.allowPointSelect=a.parentNode.allowPointSelect;b.prototype.firePointEvent.apply(this,arguments);a.allowPointSelect=d}else b.prototype.firePointEvent.apply(this,arguments)};e.prototype.select=function(){var a=this.series.chart;this.isParentNode?(a.getSelectedPoints=a.getSelectedParentNodes,b.prototype.select.apply(this,arguments),a.getSelectedPoints=f.prototype.getSelectedPoints): +b.prototype.select.apply(this,arguments)};return e}(e.seriesTypes.bubble.prototype.pointClass)});A(f,"Series/Networkgraph/DraggableNodes.js",[f["Core/Chart/Chart.js"],f["Core/Globals.js"],f["Core/Utilities.js"]],function(f,b,e){var a=e.addEvent;b.dragNodesMixin={onMouseDown:function(a,b){b=this.chart.pointer.normalize(b);a.fixedPosition={chartX:b.chartX,chartY:b.chartY,plotX:a.plotX,plotY:a.plotY};a.inDragMode=!0},onMouseMove:function(a,b){if(a.fixedPosition&&a.inDragMode){var d=this.chart,e=d.pointer.normalize(b); +b=a.fixedPosition.chartX-e.chartX;e=a.fixedPosition.chartY-e.chartY;var f=void 0,p=void 0,c=d.graphLayoutsLookup;if(5b?1:0)},barycenter:function(){var b=this.options.gravitationalConstant,e=this.barycenter.xFactor,a=this.barycenter.yFactor;e=(e-(this.box.left+this.box.width)/2)*b;a=(a-(this.box.top+this.box.height)/2)*b;this.nodes.forEach(function(b){b.fixedPosition|| +(b.plotX-=e/b.mass/b.degree,b.plotY-=a/b.mass/b.degree)})},repulsive:function(b,e,a){e=e*this.diffTemperature/b.mass/b.degree;b.fixedPosition||(b.plotX+=a.x*e,b.plotY+=a.y*e)},attractive:function(b,e,a){var d=b.getMass(),f=-a.x*e*this.diffTemperature;e=-a.y*e*this.diffTemperature;b.fromNode.fixedPosition||(b.fromNode.plotX-=f*d.fromNode/b.fromNode.degree,b.fromNode.plotY-=e*d.fromNode/b.fromNode.degree);b.toNode.fixedPosition||(b.toNode.plotX+=f*d.toNode/b.toNode.degree,b.toNode.plotY+=e*d.toNode/ +b.toNode.degree)},integrate:function(b,e){var a=-b.options.friction,d=b.options.maxSpeed,f=(e.plotX+e.dispX-e.prevX)*a;a*=e.plotY+e.dispY-e.prevY;var l=Math.abs,k=l(f)/(f||1);l=l(a)/(a||1);f=k*Math.min(d,Math.abs(f));a=l*Math.min(d,Math.abs(a));e.prevX=e.plotX+e.dispX;e.prevY=e.plotY+e.dispY;e.plotX+=f;e.plotY+=a;e.temperature=b.vectorLength({x:f,y:a})},getK:function(b){return Math.pow(b.box.width*b.box.height/b.nodes.length,.5)}},euler:{attractiveForceFunction:function(b,e){return b*b/e},repulsiveForceFunction:function(b, +e){return e*e/b},barycenter:function(){var b=this.options.gravitationalConstant,e=this.barycenter.xFactor,a=this.barycenter.yFactor;this.nodes.forEach(function(d){if(!d.fixedPosition){var f=d.getDegree();f*=1+f/2;d.dispX+=(e-d.plotX)*b*f/d.degree;d.dispY+=(a-d.plotY)*b*f/d.degree}})},repulsive:function(b,e,a,d){b.dispX+=a.x/d*e/b.degree;b.dispY+=a.y/d*e/b.degree},attractive:function(b,e,a,d){var f=b.getMass(),l=a.x/d*e;e*=a.y/d;b.fromNode.fixedPosition||(b.fromNode.dispX-=l*f.fromNode/b.fromNode.degree, +b.fromNode.dispY-=e*f.fromNode/b.fromNode.degree);b.toNode.fixedPosition||(b.toNode.dispX+=l*f.toNode/b.toNode.degree,b.toNode.dispY+=e*f.toNode/b.toNode.degree)},integrate:function(b,e){e.dispX+=e.dispX*b.options.friction;e.dispY+=e.dispY*b.options.friction;var a=e.temperature=b.vectorLength({x:e.dispX,y:e.dispY});0!==a&&(e.plotX+=e.dispX/a*Math.min(Math.abs(e.dispX),b.temperature),e.plotY+=e.dispY/a*Math.min(Math.abs(e.dispY),b.temperature))},getK:function(b){return Math.pow(b.box.width*b.box.height/ +b.nodes.length,.3)}}}});A(f,"Series/Networkgraph/QuadTree.js",[f["Core/Globals.js"],f["Core/Utilities.js"]],function(f,b){b=b.extend;var e=f.QuadTreeNode=function(a){this.box=a;this.boxSize=Math.min(a.width,a.height);this.nodes=[];this.body=this.isInternal=!1;this.isEmpty=!0};b(e.prototype,{insert:function(a,b){this.isInternal?this.nodes[this.getBoxPosition(a)].insert(a,b-1):(this.isEmpty=!1,this.body?b?(this.isInternal=!0,this.divideBox(),!0!==this.body&&(this.nodes[this.getBoxPosition(this.body)].insert(this.body, +b-1),this.body=!0),this.nodes[this.getBoxPosition(a)].insert(a,b-1)):(b=new e({top:a.plotX,left:a.plotY,width:.1,height:.1}),b.body=a,b.isInternal=!1,this.nodes.push(b)):(this.isInternal=!1,this.body=a))},updateMassAndCenter:function(){var a=0,b=0,e=0;this.isInternal?(this.nodes.forEach(function(d){d.isEmpty||(a+=d.mass,b+=d.plotX*d.mass,e+=d.plotY*d.mass)}),b/=a,e/=a):this.body&&(a=this.body.mass,b=this.body.plotX,e=this.body.plotY);this.mass=a;this.plotX=b;this.plotY=e},divideBox:function(){var a= +this.box.width/2,b=this.box.height/2;this.nodes[0]=new e({left:this.box.left,top:this.box.top,width:a,height:b});this.nodes[1]=new e({left:this.box.left+a,top:this.box.top,width:a,height:b});this.nodes[2]=new e({left:this.box.left+a,top:this.box.top+b,width:a,height:b});this.nodes[3]=new e({left:this.box.left,top:this.box.top+b,width:a,height:b})},getBoxPosition:function(a){var b=a.plotYMath.abs(this.systemTemperature-this.prevSystemTemperature)||0>=this.temperature}, +getSystemTemperature:function(){return this.nodes.reduce(function(a,b){return a+b.temperature},0)},vectorLength:function(a){return Math.sqrt(a.x*a.x+a.y*a.y)},getDistR:function(a,b){a=this.getDistXY(a,b);return this.vectorLength(a)},getDistXY:function(a,b){var c=a.plotX-b.plotX;a=a.plotY-b.plotY;return{x:c,y:a,absX:Math.abs(c),absY:Math.abs(a)}}});b(f,"predraw",function(){this.graphLayoutsLookup&&this.graphLayoutsLookup.forEach(function(a){a.stop()})});b(f,"render",function(){function a(a){a.maxIterations--&& +isFinite(a.temperature)&&!a.isStable()&&!a.enableSimulation&&(a.beforeStep&&a.beforeStep(),a.step(),e=!1,b=!0)}var b=!1;if(this.graphLayoutsLookup){d(!1,this);for(this.graphLayoutsLookup.forEach(function(a){a.start()});!e;){var e=!0;this.graphLayoutsLookup.forEach(a)}b&&this.series.forEach(function(a){a&&a.layout&&a.render()})}});b(f,"beforePrint",function(){this.graphLayoutsLookup&&(this.graphLayoutsLookup.forEach(function(a){a.updateSimulation(!1)}),this.redraw())});b(f,"afterPrint",function(){this.graphLayoutsLookup&& +this.graphLayoutsLookup.forEach(function(a){a.updateSimulation()});this.redraw()})});A(f,"Series/PackedBubble/PackedBubbleComposition.js",[f["Core/Chart/Chart.js"],f["Core/Globals.js"],f["Core/Utilities.js"]],function(f,b,e){var a=b.layouts["reingold-fruchterman"],d=e.addEvent,p=e.extendClass,l=e.pick;f.prototype.getSelectedParentNodes=function(){var a=[];this.series.forEach(function(b){b.parentNode&&b.parentNode.selected&&a.push(b.parentNode)});return a};b.networkgraphIntegrations.packedbubble={repulsiveForceFunction:function(a, +b,d,c){return Math.min(a,(d.marker.radius+c.marker.radius)/2)},barycenter:function(){var a=this,b=a.options.gravitationalConstant,d=a.box,c=a.nodes,e,f;c.forEach(function(g){a.options.splitSeries&&!g.isParentNode?(e=g.series.parentNode.plotX,f=g.series.parentNode.plotY):(e=d.width/2,f=d.height/2);g.fixedPosition||(g.plotX-=(g.plotX-e)*b/(g.mass*Math.sqrt(c.length)),g.plotY-=(g.plotY-f)*b/(g.mass*Math.sqrt(c.length)))})},repulsive:function(a,b,d,c){var e=b*this.diffTemperature/a.mass/a.degree;b=d.x* +e;d=d.y*e;a.fixedPosition||(a.plotX+=b,a.plotY+=d);c.fixedPosition||(c.plotX-=b,c.plotY-=d)},integrate:b.networkgraphIntegrations.verlet.integrate,getK:b.noop};b.layouts.packedbubble=p(a,{beforeStep:function(){this.options.marker&&this.series.forEach(function(a){a&&a.calculateParentRadius()})},isStable:function(){var a=Math.abs(this.prevSystemTemperature-this.systemTemperature);return 1>Math.abs(10*this.systemTemperature/Math.sqrt(this.nodes.length))&&.00001>a||0>=this.temperature},setCircularPositions:function(){var a= +this,b=a.box,d=a.nodes,c=2*Math.PI/(d.length+1),e,f,h=a.options.initialPositionRadius;d.forEach(function(d,g){a.options.splitSeries&&!d.isParentNode?(e=d.series.parentNode.plotX,f=d.series.parentNode.plotY):(e=b.width/2,f=b.height/2);d.plotX=d.prevX=l(d.plotX,e+h*Math.cos(d.index||g*c));d.plotY=d.prevY=l(d.plotY,f+h*Math.sin(d.index||g*c));d.dispX=0;d.dispY=0})},repulsiveForces:function(){var a=this,b,d,c,e=a.options.bubblePadding;a.nodes.forEach(function(f){f.degree=f.mass;f.neighbours=0;a.nodes.forEach(function(g){b= +0;f===g||f.fixedPosition||!a.options.seriesInteraction&&f.series!==g.series||(c=a.getDistXY(f,g),d=a.vectorLength(c)-(f.marker.radius+g.marker.radius+e),0>d&&(f.degree+=.01,f.neighbours++,b=a.repulsiveForce(-d/Math.sqrt(f.neighbours),a.k,f,g)),a.force("repulsive",f,b*g.mass,c,g,d))})})},applyLimitBox:function(b){if(this.options.splitSeries&&!b.isParentNode&&this.options.parentNodeLimit){var d=this.getDistXY(b,b.series.parentNode);var e=b.series.parentNodeRadius-b.marker.radius-this.vectorLength(d); +0>e&&e>-2*b.marker.radius&&(b.plotX-=.01*d.x,b.plotY-=.01*d.y)}a.prototype.applyLimitBox.apply(this,arguments)}});d(f,"beforeRedraw",function(){this.allDataPoints&&delete this.allDataPoints})});A(f,"Series/PackedBubble/PackedBubbleSeries.js",[f["Core/Color/Color.js"],f["Core/Globals.js"],f["Series/PackedBubble/PackedBubblePoint.js"],f["Core/Series/SeriesRegistry.js"],f["Core/Utilities.js"]],function(f,b,e,a,d){var p=this&&this.__extends||function(){var a=function(b,c){a=Object.setPrototypeOf||{__proto__:[]}instanceof +Array&&function(a,b){a.__proto__=b}||function(a,b){for(var c in b)b.hasOwnProperty(c)&&(a[c]=b[c])};return a(b,c)};return function(b,c){function d(){this.constructor=b}a(b,c);b.prototype=null===c?Object.create(c):(d.prototype=c.prototype,new d)}}(),l=f.parse,k=a.series,y=a.seriesTypes.bubble,B=d.addEvent,c=d.clamp,g=d.defined,t=d.extend,h=d.fireEvent,z=d.isArray,J=d.isNumber,A=d.merge,I=d.pick,E=b.dragNodesMixin;f=function(a){function d(){var b=null!==a&&a.apply(this,arguments)||this;b.chart=void 0; +b.data=void 0;b.layout=void 0;b.options=void 0;b.points=void 0;b.xData=void 0;return b}p(d,a);d.prototype.accumulateAllPoints=function(a){var b=a.chart,c=[],d,e;for(d=0;dd&&(d=a),aMath.sqrt(c*c+d*d)-Math.abs(a[2]+b[2])};d.prototype.createParentNodes=function(){var a=this,b=a.chart,c=a.parentNodeLayout,d,e=a.parentNode,f=a.pointClass,g=a.layout.options,h={radius:a.parentNodeRadius,lineColor:a.color,fillColor:l(a.color).brighten(.4).get()};g.parentNodeOptions&&(h=A(g.parentNodeOptions.marker||{},h));a.parentNodeMass=0;a.points.forEach(function(b){a.parentNodeMass+=Math.PI*Math.pow(b.marker.radius,2)});a.calculateParentRadius();c.nodes.forEach(function(b){b.seriesIndex=== +a.index&&(d=!0)});c.setArea(0,0,b.plotWidth,b.plotHeight);d||(e||(e=(new f).init(this,{mass:a.parentNodeRadius/2,marker:h,dataLabels:{inside:!1},states:{normal:{marker:h},hover:{marker:h}},dataLabelOnNull:!0,degree:a.parentNodeRadius,isParentNode:!0,seriesIndex:a.index})),a.parentNode&&(e.plotX=a.parentNode.plotX,e.plotY=a.parentNode.plotY),a.parentNode=e,c.addElementsToCollection([a],c.series),c.addElementsToCollection([e],c.nodes))};d.prototype.deferLayout=function(){var a=this.options.layoutAlgorithm; +this.visible&&(this.addLayout(),a.splitSeries&&this.addSeriesLayout())};d.prototype.destroy=function(){this.chart.graphLayoutsLookup&&this.chart.graphLayoutsLookup.forEach(function(a){a.removeElementFromCollection(this,a.series)},this);this.parentNode&&this.parentNodeLayout&&(this.parentNodeLayout.removeElementFromCollection(this.parentNode,this.parentNodeLayout.nodes),this.parentNode.dataLabel&&(this.parentNode.dataLabel=this.parentNode.dataLabel.destroy()));k.prototype.destroy.apply(this,arguments)}; +d.prototype.drawDataLabels=function(){var a=this.options.dataLabels.textPath,b=this.points;k.prototype.drawDataLabels.apply(this,arguments);this.parentNode&&(this.parentNode.formatPrefix="parentNode",this.points=[this.parentNode],this.options.dataLabels.textPath=this.options.dataLabels.parentNodeTextPath,k.prototype.drawDataLabels.apply(this,arguments),this.points=b,this.options.dataLabels.textPath=a)};d.prototype.drawGraph=function(){if(this.layout&&this.layout.options.splitSeries){var a=this.chart; +var b=this.layout.options.parentNodeOptions.marker;var c={fill:b.fillColor||l(this.color).brighten(.4).get(),opacity:b.fillOpacity,stroke:b.lineColor||this.color,"stroke-width":I(b.lineWidth,this.options.lineWidth)};this.parentNodesGroup||(this.parentNodesGroup=this.plotGroup("parentNodesGroup","parentNode",this.visible?"inherit":"hidden",.1,a.seriesGroup),this.group.attr({zIndex:2}));this.calculateParentRadius();b=A({x:this.parentNode.plotX-this.parentNodeRadius,y:this.parentNode.plotY-this.parentNodeRadius, +width:2*this.parentNodeRadius,height:2*this.parentNodeRadius},c);this.parentNode.graphic||(this.graph=this.parentNode.graphic=a.renderer.symbol(c.symbol).add(this.parentNodesGroup));this.parentNode.graphic.attr(b)}};d.prototype.drawTracker=function(){var b=this.parentNode;a.prototype.drawTracker.call(this);if(b){var c=z(b.dataLabels)?b.dataLabels:b.dataLabel?[b.dataLabel]:[];b.graphic&&(b.graphic.element.point=b);c.forEach(function(a){a.div?a.div.point=b:a.element.point=b})}};d.prototype.getPointRadius= +function(){var a=this,b=a.chart,d=a.options,e=d.useSimulation,f=Math.min(b.plotWidth,b.plotHeight),g={},h=[],n=b.allDataPoints,m,k,u,w;["minSize","maxSize"].forEach(function(a){var b=parseInt(d[a],10),c=/%$/.test(d[a]);g[a]=c?f*b/100:b*Math.sqrt(n.length)});b.minRadius=m=g.minSize/Math.sqrt(n.length);b.maxRadius=k=g.maxSize/Math.sqrt(n.length);var x=e?a.calculateZExtremes():[m,k];(n||[]).forEach(function(b,d){u=e?c(b[2],x[0],x[1]):b[2];w=a.getRadius(x[0],x[1],m,k,u);0===w&&(w=null);n[d][2]=w;h.push(w)}); +a.radii=h};d.prototype.init=function(){k.prototype.init.apply(this,arguments);this.eventsToUnbind.push(B(this,"updatedData",function(){this.chart.series.forEach(function(a){a.type===this.type&&(a.isDirty=!0)},this)}));return this};d.prototype.onMouseUp=function(a){if(a.fixedPosition&&!a.removed){var b,c,d=this.layout,e=this.parentNodeLayout;e&&d.options.dragBetweenSeries&&e.nodes.forEach(function(e){a&&a.marker&&e!==a.series.parentNode&&(b=d.getDistXY(a,e),c=d.vectorLength(b)-e.marker.radius-a.marker.radius, +0>c&&(e.series.addPoint(A(a.options,{plotX:a.plotX,plotY:a.plotY}),!1),d.removeElementFromCollection(a,d.nodes),a.remove()))});E.onMouseUp.apply(this,arguments)}};d.prototype.placeBubbles=function(a){var b=this.checkOverlap,c=this.positionBubble,d=[],e=1,f=0,g=0;var h=[];var m;a=a.sort(function(a,b){return b[2]-a[2]});if(a.length){d.push([[0,0,a[0][2],a[0][3],a[0][4]]]);if(1a[1]-b[1]?0:Math.PI)+f+e*(0>(a[0]-b[0])*(a[1]-b[1])?1:-1);return[b[0]+(b[2]+c[2])*Math.sin(a),b[1]-(b[2]+c[2])*Math.cos(a),c[2],c[3],c[4]]};d.prototype.render=function(){var a=[]; +k.prototype.render.apply(this,arguments);this.options.dataLabels.allowOverlap||(this.data.forEach(function(b){z(b.dataLabels)&&b.dataLabels.forEach(function(b){a.push(b)})}),this.options.useSimulation&&this.chart.hideOverlappingLabels(a))};d.prototype.resizeRadius=function(){var a=this.chart,b=a.rawPositions,c=Math.min,d=Math.max,e=a.plotLeft,f=a.plotTop,g=a.plotHeight,h=a.plotWidth,m,k,u;var w=m=Number.POSITIVE_INFINITY;var x=k=Number.NEGATIVE_INFINITY;for(u=0;uu.height&&(u.y+=u.height,u.height*=-1);m.plotY=u.y=Math.round(u.y|| +0)-this.borderWidth%2/2;u.height=Math.max(Math.round(u.height||0),.001);m.yBottom=u.y+u.height;u.height<=c&&!m.isNull?(u.height=c,u.y-=d,m.plotY=u.y,m.minPointLengthOffset=0>m.y?-d:d):(m.isNull&&(u.width=0),m.minPointLengthOffset=0);x=m.plotY+(m.negative?u.height:0);m.below&&(m.plotY+=u.height);m.tooltipPos&&(this.chart.inverted?m.tooltipPos[0]=b.len-x:m.tooltipPos[1]=x);m.isInside=this.isPointInside(m)}}};b.prototype.processData=function(b){var c=this.options,d=this.yData,e=c.data,f=d.length,g=c.threshold|| +0,h,k,l,n,m;for(m=k=h=l=n=0;ml.y&&!g||0n.indexOf(g)&&(w=!0);c[g]||(c[g]={});n=c[g];for(var x=0;x-Math.PI/2&&u-Math.PI&&0>u||u>Math.PI?-10:10)}return h}function I(a){var b=this,c=this.pane.center,d=this.chart,e=d.inverted,f=a.reverse,g=this.pane.options.background?this.pane.options.background[0]||this.pane.options.background:{},m=g.innerRadius||"0%",n=g.outerRadius||"100%", +k=c[0]+d.plotLeft,w=c[1]+d.plotTop,u=this.height,l=a.isCrosshair;g=c[3]/2;var x=a.value,p;var r=this.getPosition(x);var q=r.x;r=r.y;l&&(r=this.getCrosshairPosition(a,k,w),x=r[0],q=r[1],r=r[2]);if(this.isCircular)x=Math.sqrt(Math.pow(q-k,2)+Math.pow(r-w,2)),f="string"===typeof m?h(m,1):m/x,d="string"===typeof n?h(n,1):n/x,c&&g&&(g/=x,fx||x>u)&&(x=0),"circle"===this.options.gridLineInterpolation)c= +this.getLinePath(0,x,g);else if(c=[],d[e?"yAxis":"xAxis"].forEach(function(a){a.pane===b.pane&&(p=a)}),p)for(k=p.tickPositions,p.autoConnect&&(k=k.concat([k[0]])),f&&(k=k.slice().reverse()),x&&(x+=g),w=0;wa?0:a,this.center[2]/2)-this.offset)}function G(){var a=this.center,b=this.chart,c=this.options.title; +return{x:b.plotLeft+a[0]+(c.x||0),y:b.plotTop+a[1]-{high:.5,middle:.25,low:0}[c.align]*a[2]+(c.y||0)}}function J(a){a.beforeSetTickPositions=b;a.createLabelCollector=e;a.getCrosshairPosition=D;a.getLinePath=r;a.getOffset=q;a.getPlotBandPath=v;a.getPlotLinePath=I;a.getPosition=H;a.getTitlePosition=G;a.postTranslate=P;a.setAxisSize=V;a.setAxisTranslation=W;a.setOptions=U}function n(){var a=this.chart,b=this.options,c=this.pane,d=c&&c.options;a.angular&&this.isXAxis||!c||!a.angular&&!a.polar||(this.angleRad= +(b.angle||0)*Math.PI/180,this.startAngleRad=(d.startAngle-90)*Math.PI/180,this.endAngleRad=(t(d.endAngle,d.startAngle+360)-90)*Math.PI/180,this.offset=b.offset||0)}function m(a){this.isRadial&&(a.align=void 0,a.preventDefault())}function F(){if(this.chart&&this.chart.labelCollectors){var a=this.labelCollector?this.chart.labelCollectors.indexOf(this.labelCollector):-1;0<=a&&this.chart.labelCollectors.splice(a,1)}}function u(a){var b=this.chart,c=b.inverted,d=b.angular,e=b.polar,m=this.isXAxis,h=this.coll, +n=d&&m,k=b.options;a=a.userOptions.pane||0;a=this.pane=b.pane&&b.pane[a];var w;if("colorAxis"===h)this.isRadial=!1;else{if(d){if(n?(this.isHidden=!0,this.createLabelCollector=A,this.getOffset=p,this.render=this.redraw=Q,this.setTitle=this.setCategories=this.setScale=p):J(this),w=!m)this.defaultPolarOptions=T}else e&&(J(this),this.defaultPolarOptions=(w=this.horiz)?S:g("xAxis"===h?f.defaultXAxisOptions:f.defaultYAxisOptions,X),c&&"yAxis"===h&&(this.defaultPolarOptions.stackLabels=f.defaultYAxisOptions.stackLabels, +this.defaultPolarOptions.reversedStacks=!0));d||e?(this.isRadial=!0,k.chart.zoomType=null,this.labelCollector||(this.labelCollector=this.createLabelCollector()),this.labelCollector&&b.labelCollectors.push(this.labelCollector)):this.isRadial=!1;a&&w&&(a.axis=this);this.isCircular=w}}function w(){this.isRadial&&this.beforeSetTickPositions()}function x(a){var b=this.label;if(b){var c=this.axis,d=b.getBBox(),e=c.options.labels,f=(c.translate(this.pos)+c.startAngleRad+Math.PI/2)/Math.PI*180%360,g=Math.round(f), +m=y(e.y)?0:.3*-d.height,n=e.y,k=20,w=e.align,u="end",x=0>g?g+360:g,l=x,p=0,r=0;if(c.isRadial){var q=c.getPosition(this.pos,c.center[2]/2+h(t(e.distance,-25),c.center[2]/2,-c.center[2]/2));"auto"===e.rotation?b.attr({rotation:f}):y(n)||(n=c.chart.renderer.fontMetrics(b.styles&&b.styles.fontSize).b-d.height/2);y(w)||(c.isCircular?(d.width>c.len*c.tickInterval/(c.max-c.min)&&(k=0),w=f>k&&f<180-k?"left":f>180+k&&f<360-k?"right":"center"):w="center",b.attr({align:w}));if("auto"===w&&2===c.tickPositions.length&& +c.isCircular){90x?x=180-x:270=x&&(x=540-x);180=l&&(l=360-l);if(c.pane.options.startAngle===g||c.pane.options.startAngle===g+360||c.pane.options.startAngle===g-360)u="start";w=-90<=g&&90>=g||-360<=g&&-270>=g||270<=g&&360>=g?"start"===u?"right":"left":"start"===u?"left":"right";70l&&(w="center");15>x||180<=x&&195>x?p=.3*d.height:15<=x&&35>=x?p="start"===u?0:.75*d.height:195<=x&&215>=x?p="start"===u?.75*d.height:0:35=x?p="start"===u?.25*-d.height:d.height:215=x&&(p="start"===u?d.height:.25*-d.height);15>l?r="start"===u?.15*-d.height:.15*d.height:165=l&&(r="start"===u?.15*d.height:.15*-d.height);b.attr({align:w});b.translate(r,p+m)}a.pos.x=q.x+(e.x||0);a.pos.y=q.y+(n||0)}}}function O(a){this.axis.getPosition&&B(a.pos,this.axis.getPosition(this.pos))}function P(a,b){var c=this.chart,d=this.center;a=this.startAngleRad+a;return{x:c.plotLeft+d[0]+Math.cos(a)*b,y:c.plotTop+d[1]+Math.sin(a)*b}}function Q(){this.isDirty=!1}function V(){this.constructor.prototype.setAxisSize.call(this); +if(this.isRadial){this.pane.updateCenter(this);var a=this.center=this.pane.center.slice();if(this.isCircular)this.sector=this.endAngleRad-this.startAngleRad;else{var b=this.postTranslate(this.angleRad,a[3]/2);a[0]=b.x-this.chart.plotLeft;a[1]=b.y-this.chart.plotTop}this.len=this.width=this.height=(a[2]-a[3])*t(this.sector,1)/2}}function W(){this.constructor.prototype.setAxisTranslation.call(this);this.center&&(this.transA=this.isCircular?(this.endAngleRad-this.startAngleRad)/(this.max-this.min||1): +(this.center[2]-this.center[3])/2/(this.max-this.min||1),this.minPixelPadding=this.isXAxis?this.transA*this.minPointOffset:0)}function U(a){a=this.options=g(this.constructor.defaultOptions,this.defaultPolarOptions,d[this.coll],a);a.plotBands||(a.plotBands=[]);c(this,"afterSetOptions")}function R(a,b,c,d,e,f,g){var m=this.axis;m.isRadial?(a=m.getPosition(this.pos,m.center[2]/2+d),b=["M",b,c,"L",a.x,a.y]):b=a.call(this,b,c,d,e,f,g);return b}var M=[],S={gridLineWidth:1,labels:{align:void 0,distance:15, +x:0,y:void 0,style:{textOverflow:"none"}},maxPadding:0,minPadding:0,showLastLabel:!1,tickLength:0},T={labels:{align:"center",x:0,y:void 0},minorGridLineWidth:0,minorTickInterval:"auto",minorTickLength:10,minorTickPosition:"inside",minorTickWidth:1,tickLength:10,tickPosition:"inside",tickWidth:2,title:{rotation:0},zIndex:2},X={gridLineInterpolation:"circle",gridLineWidth:1,labels:{align:"right",x:-3,y:-2},showLastLabel:!1,title:{x:4,text:null,rotation:90}};a.compose=function(a,b){-1===M.indexOf(a)&& +(M.push(a),l(a,"afterInit",n),l(a,"autoLabelAlign",m),l(a,"destroy",F),l(a,"init",u),l(a,"initialAxisTranslation",w));-1===M.indexOf(b)&&(M.push(b),l(b,"afterGetLabelPosition",x),l(b,"afterGetPosition",O),z(b.prototype,"getMarkPath",R));return a}})(A||(A={}));return A});A(f,"Series/PolarComposition.js",[f["Core/Animation/AnimationUtilities.js"],f["Core/Globals.js"],f["Extensions/Pane.js"],f["Core/Axis/RadialAxis.js"],f["Core/Utilities.js"]],function(f,b,e,a,d){function p(a,b,c,d){var e=d?1:0;var f= +0<=b&&b<=a.length-1?b:0>b?a.length-1+b:0;b=0>f-1?a.length-(1+e):f-1;var g=a[b];e=a[f+1>a.length-1?e:f+1];var m=g.plotY;var h=e.plotX;var k=e.plotY;e=a[f].plotX;f=a[f].plotY;g=(1.5*e+g.plotX)/2.5;m=(1.5*f+m)/2.5;h=(1.5*e+h)/2.5;var n=(1.5*f+k)/2.5;k=Math.sqrt(Math.pow(g-e,2)+Math.pow(m-f,2));var u=Math.sqrt(Math.pow(h-e,2)+Math.pow(n-f,2));g=Math.atan2(m-f,g-e);n=Math.PI/2+(g+Math.atan2(n-f,h-e))/2;Math.abs(g-n)>Math.PI/2&&(n-=Math.PI);g=e+Math.cos(n)*k;m=f+Math.sin(n)*k;h=e+Math.cos(Math.PI+n)*u; +n=f+Math.sin(Math.PI+n)*u;e={rightContX:h,rightContY:n,leftContX:g,leftContY:m,plotX:e,plotY:f};c&&(e.prevPointCont=p(a,b,!1,d));return e}function l(){(this.pane||[]).forEach(function(a){a.render()})}function k(){var a=this;this.pane||(this.pane=[]);this.options.pane=v(this.options.pane);this.options.pane.forEach(function(b){new e(b,a)},this)}function y(){var a=this.chart;a.polar&&(this.polar=new N(this),a.inverted&&(this.isRadialSeries=!0,this.is("column")&&(this.isRadialBar=!0)))}function B(){if(this.chart.polar&& +this.xAxis){var a=this.chart;(this.kdByAngle=a.tooltip&&a.tooltip.shared)?this.searchPoint=this.polar.searchPointByAngle:this.options.findNearestPointBy="xy";if(!this.preventPostTranslate)for(var c=this.points,d=c.length,e=void 0;d--;)e=c[d],this.polar.toXY(e),!a.hasParallelCoordinates&&!this.yAxis.reversed&&e.ya?"left":200a?"right":"center"),null===d.verticalAlign&&(d.verticalAlign=45> +a||315a?"top":"middle")),Object.getPrototypeOf(Object.getPrototypeOf(this)).alignDataLabel.call(this,b,c,d,e,f),this.isRadialBar&&b.shapeArgs&&b.shapeArgs.start===b.shapeArgs.end?c.hide():c.show()):a.call(this,b,c,d,e,f)}function t(a){var b=this.options,c=b.stacking,e=this.chart,f=this.xAxis,g=this.yAxis,h=g.reversed,k=g.center,n=f.startAngleRad,l=f.endAngleRad-n,p=0,q=0,t=0;this.preventPostTranslate=!0;a.call(this);if(f.isRadial){a=this.points;f=a.length;var v=g.translate(g.min); +var z=g.translate(g.max);b=b.threshold||0;e.inverted&&r(b)&&(p=g.translate(b),C(p)&&(0>p?p=0:p>l&&(p=l),this.translatedThreshold=p+n));for(;f--;){b=a[f];var y=b.barX;var B=b.x;var A=b.y;b.shapeType="arc";if(e.inverted){b.plotY=g.translate(A);c&&g.stacking?(A=g.stacking.stacks[(0>A?"-":"")+this.stackKey],this.visible&&A&&A[B]&&!b.isNull&&(t=A[B].points[this.getStackIndicator(void 0,B,this.index).key],q=g.translate(t[0]),t=g.translate(t[1]),C(q)&&(q=d.clamp(q,0,l)))):(q=p,t=b.plotY);q>t&&(t=[q,q=t][0]); +if(!h)if(qz)t=z;else{if(tz)q=t=0}else if(t>v)t=v;else if(qv||tg.max&&(q=t=h?l:0);q+=n;t+=n;k&&(b.barX=y+=k[3]/2);B=Math.max(y,0);A=Math.max(y+b.pointWidth,0);b.shapeArgs={x:k&&k[0],y:k&&k[1],r:A,innerR:B,start:q,end:t};b.opacity=q===t?0:void 0;b.plotY=(C(this.translatedThreshold)&&(qk[1])}}}function h(a,b){var c=this;if(this.chart.polar){b=b||this.points;for(var d=0;db&&(b=h),0>a&&(a=h));return{x:f[0],y:f[1],r:b,innerR:a,start:c,end:d}};b.prototype.searchPointByAngle=function(a){var b=this.series,c=b.chart,d=b.xAxis.pane.center;return b.searchKDTree({clientX:180+-180/Math.PI*Math.atan2(a.chartX- +d[0]-c.plotLeft,a.chartY-d[1]-c.plotTop)})};b.prototype.toXY=function(a){var b=this.series,c=b.chart,d=b.xAxis,e=b.yAxis,f=a.plotX,g=c.inverted,h=a.y,k=a.plotY,l=g?f:e.len-k;g&&b&&!b.isRadialBar&&(a.plotY=k=r(h)?e.translate(h):0);a.rectPlotX=f;a.rectPlotY=k;e.center&&(l+=e.center[3]/2);r(k)&&(e=g?e.postTranslate(k,l):d.postTranslate(f,l),a.plotX=a.polarPlotX=e.x-c.plotLeft,a.plotY=a.polarPlotY=e.y-c.plotTop);b.kdByAngle?(b=(f/Math.PI*180+d.pane.options.startAngle)%360,0>b&&(b+=360),a.clientX=b):a.clientX= +a.plotX};return b}();return N});A(f,"masters/highcharts-more.src.js",[f["Core/Globals.js"],f["Core/Series/SeriesRegistry.js"],f["Series/Bubble/BubbleSeries.js"],f["Series/PolarComposition.js"]],function(f,b,e,a){e.compose(f.Chart,f.Legend,f.Series);a.compose(f.Axis,f.Chart,f.Pointer,f.Series,f.Tick,b.seriesTypes.areasplinerange,b.seriesTypes.column,b.seriesTypes.line,b.seriesTypes.spline)})}); +//# sourceMappingURL=highcharts-more.js.map \ No newline at end of file diff --git a/docs/reference/libs/highcharts-10.2.0/highcharts.js b/docs/reference/libs/highcharts-10.2.0/highcharts.js new file mode 100644 index 0000000..f49bbdc --- /dev/null +++ b/docs/reference/libs/highcharts-10.2.0/highcharts.js @@ -0,0 +1,602 @@ +/* + Highcharts JS v10.2.0 (2022-07-05) + + (c) 2009-2021 Torstein Honsi + + License: www.highcharts.com/license +*/ +(function(Y,K){"object"===typeof module&&module.exports?(K["default"]=K,module.exports=Y.document?K(Y):K):"function"===typeof define&&define.amd?define("highcharts/highcharts",function(){return K(Y)}):(Y.Highcharts&&Y.Highcharts.error(16,!0),Y.Highcharts=K(Y))})("undefined"!==typeof window?window:this,function(Y){function K(f,e,l,C){f.hasOwnProperty(e)||(f[e]=C.apply(null,l),"function"===typeof CustomEvent&&Y.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:e,module:f[e]}})))} +var l={};K(l,"Core/Globals.js",[],function(){var f;(function(e){e.SVG_NS="http://www.w3.org/2000/svg";e.product="Highcharts";e.version="10.2.0";e.win="undefined"!==typeof Y?Y:{};e.doc=e.win.document;e.svg=e.doc&&e.doc.createElementNS&&!!e.doc.createElementNS(e.SVG_NS,"svg").createSVGRect;e.userAgent=e.win.navigator&&e.win.navigator.userAgent||"";e.isChrome=-1!==e.userAgent.indexOf("Chrome");e.isFirefox=-1!==e.userAgent.indexOf("Firefox");e.isMS=/(edge|msie|trident)/i.test(e.userAgent)&&!e.win.opera; +e.isSafari=!e.isChrome&&-1!==e.userAgent.indexOf("Safari");e.isTouchDevice=/(Mobile|Android|Windows Phone)/.test(e.userAgent);e.isWebKit=-1!==e.userAgent.indexOf("AppleWebKit");e.deg2rad=2*Math.PI/360;e.hasBidiBug=e.isFirefox&&4>parseInt(e.userAgent.split("Firefox/")[1],10);e.hasTouch=!!e.win.TouchEvent;e.marginNames=["plotTop","marginRight","marginBottom","plotLeft"];e.noop=function(){};e.supportsPassiveEvents=function(){var f=!1;if(!e.isMS){var l=Object.defineProperty({},"passive",{get:function(){f= +!0}});e.win.addEventListener&&e.win.removeEventListener&&(e.win.addEventListener("testPassive",e.noop,l),e.win.removeEventListener("testPassive",e.noop,l))}return f}();e.charts=[];e.dateFormats={};e.seriesTypes={};e.symbolSizes={};e.chartCount=0})(f||(f={}));"";return f});K(l,"Core/Utilities.js",[l["Core/Globals.js"]],function(f){function e(c,u,g,k){var A=u?"Highcharts error":"Highcharts warning";32===c&&(c=""+A+": Deprecated member");var m=t(c),n=m?""+A+" #"+c+": www.highcharts.com/errors/"+c+"/": +c.toString();if("undefined"!==typeof k){var b="";m&&(n+="?");w(k,function(a,c){b+="\n - ".concat(c,": ").concat(a);m&&(n+=encodeURI(c)+"="+encodeURI(a))});n+=b}x(f,"displayError",{chart:g,code:c,message:n,params:k},function(){if(u)throw Error(n);a.console&&-1===e.messages.indexOf(n)&&console.warn(n)});e.messages.push(n)}function l(a,c){var A={};w(a,function(u,g){if(G(a[g],!0)&&!a.nodeType&&c[g])u=l(a[g],c[g]),Object.keys(u).length&&(A[g]=u);else if(G(a[g])||a[g]!==c[g]||g in a&&!(g in c))A[g]=a[g]}); +return A}function C(a,c){return parseInt(a,c||10)}function v(a){return"string"===typeof a}function E(a){a=Object.prototype.toString.call(a);return"[object Array]"===a||"[object Array Iterator]"===a}function G(a,c){return!!a&&"object"===typeof a&&(!c||!E(a))}function B(a){return G(a)&&"number"===typeof a.nodeType}function y(a){var c=a&&a.constructor;return!(!G(a,!0)||B(a)||!c||!c.name||"Object"===c.name)}function t(a){return"number"===typeof a&&!isNaN(a)&&Infinity>a&&-Infinity=u-1&&(u=Math.floor(g)),Math.max(0,u-(A(c,"padding-left",!0)||0)-(A(c,"padding-right",!0)||0));if("height"===u)return Math.max(0,Math.min(c.offsetHeight,c.scrollHeight)-(A(c,"padding-top",!0)||0)-(A(c, +"padding-bottom",!0)||0));a.getComputedStyle||e(27,!0);if(c=a.getComputedStyle(c,void 0)){var k=c.getPropertyValue(u);p(g,"opacity"!==u)&&(k=C(k))}return k}function w(a,c,g){for(var A in a)Object.hasOwnProperty.call(a,A)&&c.call(g||a[A],a[A],A,a)}function z(a,c,g){function A(c,I){var A=a.removeEventListener||f.removeEventListenerPolyfill;A&&A.call(a,c,I,!1)}function u(u){var I;if(a.nodeName){if(c){var H={};H[c]=!0}else H=u;w(H,function(a,c){if(u[c])for(I=u[c].length;I--;)A(c,u[c][I].fn)})}}var k= +"function"===typeof a&&a.prototype||a;if(Object.hasOwnProperty.call(k,"hcEvents")){var m=k.hcEvents;c?(k=m[c]||[],g?(m[c]=k.filter(function(a){return g!==a.fn}),A(c,g)):(u(m),m[c]=[])):(u(m),delete k.hcEvents)}}function x(a,c,g,m){g=g||{};if(k.createEvent&&(a.dispatchEvent||a.fireEvent&&a!==f)){var A=k.createEvent("Events");A.initEvent(c,!0,!0);g=b(A,g);a.dispatchEvent?a.dispatchEvent(g):a.fireEvent(c,g)}else if(a.hcEvents){g.target||b(g,{preventDefault:function(){g.defaultPrevented=!0},target:a, +type:c});A=[];for(var u=a,n=!1;u.hcEvents;)Object.hasOwnProperty.call(u,"hcEvents")&&u.hcEvents[c]&&(A.length&&(n=!0),A.unshift.apply(A,u.hcEvents[c])),u=Object.getPrototypeOf(u);n&&A.sort(function(a,c){return a.order-c.order});A.forEach(function(c){!1===c.fn.call(a,g)&&g.preventDefault()})}m&&!g.defaultPrevented&&m.call(a,g)}var m=f.charts,k=f.doc,a=f.win;(e||(e={})).messages=[];Math.easeInOutSine=function(a){return-.5*(Math.cos(Math.PI*a)-1)};var g=Array.prototype.find?function(a,c){return a.find(c)}: +function(a,c){var A,u=a.length;for(A=0;Ag&&(g=a[c]);return g},arrayMin:function(a){for(var c=a.length,g=a[0];c--;)a[c]c?a=g&&(c=[1/g])));for(k=0;k=a||!m&&A<=(c[k]+(c[k+1]||c[k]))/2);k++);return u=n(u*g,-Math.round(Math.log(.001)/Math.LN10))},objectEach:w,offset:function(c){var g=k.documentElement;c=c.parentElement||c.parentNode?c.getBoundingClientRect():{top:0,left:0,width:0,height:0};return{top:c.top+(a.pageYOffset||g.scrollTop)-(g.clientTop||0),left:c.left+(a.pageXOffset||g.scrollLeft)- +(g.clientLeft||0),width:c.width,height:c.height}},pad:function(a,c,g){return Array((c||2)+1-String(a).replace("-","").length).join(g||"0")+a},pick:p,pInt:C,relativeLength:function(a,c,g){return/%$/.test(a)?c*parseFloat(a)/100+(g||0):parseFloat(a)},removeEvent:z,splat:function(a){return E(a)?a:[a]},stableSort:function(a,c){var g=a.length,k,u;for(u=0;u>16,(t&65280)>>8,t&255,1]: +4===y&&(B=[(t&3840)>>4|(t&3840)>>8,(t&240)>>4|t&240,(t&15)<<4|t&15,1])}if(!B)for(t=e.parsers.length;t--&&!B;){var h=e.parsers[t];(y=h.regex.exec(f))&&(B=h.parse(y))}}B&&(this.rgba=B)};e.prototype.get=function(e){var B=this.input,y=this.rgba;if("object"===typeof B&&"undefined"!==typeof this.stops){var t=C(B);t.stops=[].slice.call(t.stops);this.stops.forEach(function(h,d){t.stops[d]=[t.stops[d][0],h.get(e)]});return t}return y&&l(y[0])?"rgb"===e||!e&&1===y[3]?"rgb("+y[0]+","+y[1]+","+y[2]+")":"a"=== +e?"".concat(y[3]):"rgba("+y.join(",")+")":B};e.prototype.brighten=function(e){var B=this.rgba;if(this.stops)this.stops.forEach(function(t){t.brighten(e)});else if(l(e)&&0!==e)for(var y=0;3>y;y++)B[y]+=v(255*e),0>B[y]&&(B[y]=0),255m?"AM":"PM",P:12>m?"am":"pm",S:t(p.getSeconds()),L:t(Math.floor(d%1E3),3)},f.dateFormats);y(p,function(a,c){for(;-1!==b.indexOf("%"+c);)b=b.replace("%"+c,"function"===typeof a?a.call(n,d):a)});return r?b.substr(0, +1).toUpperCase()+b.substr(1):b};r.prototype.resolveDTLFormat=function(b){return G(b,!0)?b:(b=d(b),{main:b[0],from:b[1],to:b[2]})};r.prototype.getTimeTicks=function(d,r,p,q){var n=this,m=[],k={},a=new n.Date(r),g=d.unitRange,c=d.count||1,D;q=h(q,1);if(C(r)){n.set("Milliseconds",a,g>=b.second?0:c*Math.floor(n.get("Milliseconds",a)/c));g>=b.second&&n.set("Seconds",a,g>=b.minute?0:c*Math.floor(n.get("Seconds",a)/c));g>=b.minute&&n.set("Minutes",a,g>=b.hour?0:c*Math.floor(n.get("Minutes",a)/c));g>=b.hour&& +n.set("Hours",a,g>=b.day?0:c*Math.floor(n.get("Hours",a)/c));g>=b.day&&n.set("Date",a,g>=b.month?1:Math.max(1,c*Math.floor(n.get("Date",a)/c)));if(g>=b.month){n.set("Month",a,g>=b.year?0:c*Math.floor(n.get("Month",a)/c));var A=n.get("FullYear",a)}g>=b.year&&n.set("FullYear",a,A-A%c);g===b.week&&(A=n.get("Day",a),n.set("Date",a,n.get("Date",a)-A+q+(A4*b.month||n.getTimezoneOffset(r)!==n.getTimezoneOffset(p));r=a.getTime();for(a=1;rm.length&&m.forEach(function(a){0===a%18E5&&"000000000"===n.dateFormat("%H%M%S%L",a)&&(k[a]="day")})}m.info=E(d,{higherRanks:k,totalRange:g*c});return m};r.prototype.getDateFormat=function(n,d,r, +p){var q=this.dateFormat("%m-%d %H:%M:%S.%L",d),m={millisecond:15,second:12,minute:9,hour:6,day:3},k="millisecond";for(a in b){if(n===b.week&&+this.dateFormat("%w",d)===r&&"00:00:00.000"===q.substr(6)){var a="week";break}if(b[a]>n){a=k;break}if(m[a]&&q.substr(m[a])!=="01-01 00:00:00.000".substr(m[a]))break;"week"!==a&&(k=a)}return this.resolveDTLFormat(p[a]).main};return r}();"";return e});K(l,"Core/DefaultOptions.js",[l["Core/Chart/ChartDefaults.js"],l["Core/Color/Color.js"],l["Core/Globals.js"], +l["Core/Color/Palettes.js"],l["Core/Time.js"],l["Core/Utilities.js"]],function(f,e,l,C,v,E){e=e.parse;var P=E.merge,B={colors:C.colors,symbols:["circle","diamond","square","triangle","triangle-down"],lang:{loading:"Loading...",months:"January February March April May June July August September October November December".split(" "),shortMonths:"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),weekdays:"Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),decimalPoint:".", +numericSymbols:"kMGTPE".split(""),resetZoom:"Reset zoom",resetZoomTitle:"Reset zoom level 1:1",thousandsSep:" "},global:{},time:{Date:void 0,getTimezoneOffset:void 0,timezone:void 0,timezoneOffset:0,useUTC:!0},chart:f,title:{text:"Chart title",align:"center",margin:15,widthAdjust:-44},subtitle:{text:"",align:"center",widthAdjust:-44},caption:{margin:15,text:"",align:"left",verticalAlign:"bottom"},plotOptions:{},labels:{style:{position:"absolute",color:"#333333"}},legend:{enabled:!0,align:"center", +alignColumns:!0,className:"highcharts-no-tooltip",layout:"horizontal",labelFormatter:function(){return this.name},borderColor:"#999999",borderRadius:0,navigation:{activeColor:"#003399",inactiveColor:"#cccccc"},itemStyle:{color:"#333333",cursor:"pointer",fontSize:"12px",fontWeight:"bold",textOverflow:"ellipsis"},itemHoverStyle:{color:"#000000"},itemHiddenStyle:{color:"#cccccc"},shadow:!1,itemCheckboxStyle:{position:"absolute",width:"13px",height:"13px"},squareSymbol:!0,symbolPadding:5,verticalAlign:"bottom", +x:0,y:0,title:{style:{fontWeight:"bold"}}},loading:{labelStyle:{fontWeight:"bold",position:"relative",top:"45%"},style:{position:"absolute",backgroundColor:"#ffffff",opacity:.5,textAlign:"center"}},tooltip:{enabled:!0,animation:l.svg,borderRadius:3,dateTimeLabelFormats:{millisecond:"%A, %b %e, %H:%M:%S.%L",second:"%A, %b %e, %H:%M:%S",minute:"%A, %b %e, %H:%M",hour:"%A, %b %e, %H:%M",day:"%A, %b %e, %Y",week:"Week from %A, %b %e, %Y",month:"%B %Y",year:"%Y"},footerFormat:"",headerShape:"callout", +hideDelay:500,padding:8,shape:"callout",shared:!1,snap:l.isTouchDevice?25:10,headerFormat:'{point.key}
',pointFormat:'\u25cf {series.name}: {point.y}
',backgroundColor:e("#f7f7f7").setOpacity(.85).get(),borderWidth:1,shadow:!0,stickOnContact:!1,style:{color:"#333333",cursor:"default",fontSize:"12px",whiteSpace:"nowrap"},useHTML:!1},credits:{enabled:!0,href:"https://www.highcharts.com?credits",position:{align:"right", +x:-10,verticalAlign:"bottom",y:-5},style:{cursor:"pointer",color:"#999999",fontSize:"9px"},text:"Highcharts.com"}};B.chart.styledMode=!1;"";var y=new v(P(B.global,B.time));f={defaultOptions:B,defaultTime:y,getOptions:function(){return B},setOptions:function(t){P(!0,B,t);if(t.time||t.global)l.time?l.time.update(P(B.global,B.time,t.global,t.time)):l.time=y;return B}};"";return f});K(l,"Core/Animation/Fx.js",[l["Core/Color/Color.js"],l["Core/Globals.js"],l["Core/Utilities.js"]],function(f,e,l){var P= +f.parse,v=e.win,E=l.isNumber,G=l.objectEach;return function(){function e(e,t,h){this.pos=NaN;this.options=t;this.elem=e;this.prop=h}e.prototype.dSetter=function(){var e=this.paths,t=e&&e[0];e=e&&e[1];var h=this.now||0,d=[];if(1!==h&&t&&e)if(t.length===e.length&&1>h)for(var b=0;b=p+this.startTime){this.now=this.end;this.pos=1;this.update();var r=q[this.prop]=!0;G(q, +function(b){!0!==b&&(r=!1)});r&&b&&b.call(d);e=!1}else this.pos=h.easing((t-this.startTime)/p),this.now=this.start+(this.end-this.start)*this.pos,this.update(),e=!0;return e};e.prototype.initPath=function(e,t,h){function d(b,m){for(;b.lengthr[1]){var J=h+ +r[1];0<=J?(r[0]=(+r[0]).toExponential(J).split("e")[0],h=J):(r[0]=r[0].split(".")[0]||0,e=20>h?(r[0]*Math.pow(10,r[1])).toFixed(h):0,r[1]=0)}J=(Math.abs(r[1]?r[0]:e)+Math.pow(10,-Math.max(h,q)- +1)).toFixed(h);q=String(y(J));var w=3e?"-":"")+(w?q.substr(0,w)+b:"");e=0>+r[1]&&!n?"0":e+q.substr(w).replace(/(\d{3})(?=\d)/g,"$1"+b);h&&(e+=d+J.slice(-h));r[1]&&0!==+e&&(e+="e"+r[1]);return e}var C=f.defaultOptions,v=f.defaultTime,E=e.getNestedProperty,G=e.isNumber,B=e.pick,y=e.pInt;return{dateFormat:function(e,h,d){return v.dateFormat(e,h,d)},format:function(e,h,d){var b="{",p=!1,q=/f$/,r=/\.([0-9])/,n=C.lang,J=d&&d.time|| +v;d=d&&d.numberFormatter||l;for(var w=[];e;){var z=e.indexOf(b);if(-1===z)break;var x=e.slice(0,z);if(p){x=x.split(":");b=E(x.shift()||"",h);if(x.length&&"number"===typeof b)if(x=x.join(":"),q.test(x)){var m=parseInt((x.match(r)||["","-1"])[1],10);null!==b&&(b=d(b,m,n.decimalPoint,-1d){C(f,b);for(J=q=0;J<=d;)J+=f[q].size,q++;n=f.splice(q-1,f.length)}C(f,p);for(f=f.map(function(b){return{size:b.size,targets:[b.target],align:l(b.align,.5)}});r;){for(q=f.length;q--;)d=f[q],b=(Math.min.apply(0,d.targets)+Math.max.apply(0,d.targets))/ +2,d.pos=e(b-d.size*d.align,0,y-d.size);q=f.length;for(r=!1;q--;)0f[q].pos&&(f[q-1].size+=f[q].size,f[q-1].targets=f[q-1].targets.concat(f[q].targets),f[q-1].align=.5,f[q-1].pos+f[q-1].size>y&&(f[q-1].pos=y-f[q-1].size),f.splice(q,1),r=!0)}h.push.apply(h,n);q=0;f.some(function(b){var d=0;return(b.targets||[]).some(function(){h[q].pos=b.pos+d;if("undefined"!==typeof t&&Math.abs(h[q].pos-h[q].target)>t)return h.slice(0,q+1).forEach(function(b){return delete b.pos}),h.reducedLen= +(h.reducedLen||y)-.1*y,h.reducedLen>.1*y&&v(h,y,t),!0;d+=h[q].size;q++;return!1})});C(h,p);return h}f.distribute=v})(v||(v={}));return v});K(l,"Core/Renderer/SVG/SVGElement.js",[l["Core/Animation/AnimationUtilities.js"],l["Core/Renderer/HTML/AST.js"],l["Core/Color/Color.js"],l["Core/Globals.js"],l["Core/Utilities.js"]],function(f,e,l,C,v){var P=f.animate,G=f.animObject,B=f.stop,y=C.deg2rad,t=C.doc,h=C.noop,d=C.svg,b=C.SVG_NS,p=C.win,q=v.addEvent,r=v.attr,n=v.createElement,J=v.css,w=v.defined,z=v.erase, +x=v.extend,m=v.fireEvent,k=v.isArray,a=v.isFunction,g=v.isNumber,c=v.isString,D=v.merge,A=v.objectEach,u=v.pick,L=v.pInt,S=v.syncTimeout,R=v.uniqueKey;f=function(){function f(){this.element=void 0;this.onEvents={};this.opacity=1;this.renderer=void 0;this.SVG_NS=b;this.symbolCustomAttribs="x y width height r start end innerR anchorX anchorY rounded".split(" ")}f.prototype._defaultGetter=function(a){a=u(this[a+"Value"],this[a],this.element?this.element.getAttribute(a):null,0);/^[\-0-9\.]+$/.test(a)&& +(a=parseFloat(a));return a};f.prototype._defaultSetter=function(a,c,g){g.setAttribute(c,a)};f.prototype.add=function(a){var c=this.renderer,g=this.element;a&&(this.parentGroup=a);this.parentInverted=a&&a.inverted;"undefined"!==typeof this.textStr&&"text"===this.element.nodeName&&c.buildText(this);this.added=!0;if(!a||a.handleZ||this.zIndex)var b=this.zIndexSetter();b||(a?a.element:c.box).appendChild(g);if(this.onAdd)this.onAdd();return this};f.prototype.addClass=function(a,c){var g=c?"":this.attr("class")|| +"";a=(a||"").split(/ /g).reduce(function(a,c){-1===g.indexOf(c)&&a.push(c);return a},g?[g]:[]).join(" ");a!==g&&this.attr("class",a);return this};f.prototype.afterSetters=function(){this.doTransform&&(this.updateTransform(),this.doTransform=!1)};f.prototype.align=function(a,g,I){var b={},k=this.renderer,m=k.alignedObjects,d,p,F;if(a){if(this.alignOptions=a,this.alignByTranslate=g,!I||c(I))this.alignTo=d=I||"renderer",z(m,this),m.push(this),I=void 0}else a=this.alignOptions,g=this.alignByTranslate, +d=this.alignTo;I=u(I,k[d],"scrollablePlotBox"===d?k.plotBox:void 0,k);d=a.align;var A=a.verticalAlign;k=(I.x||0)+(a.x||0);m=(I.y||0)+(a.y||0);"right"===d?p=1:"center"===d&&(p=2);p&&(k+=(I.width-(a.width||0))/p);b[g?"translateX":"x"]=Math.round(k);"bottom"===A?F=1:"middle"===A&&(F=2);F&&(m+=(I.height-(a.height||0))/F);b[g?"translateY":"y"]=Math.round(m);this[this.placed?"animate":"attr"](b);this.placed=!0;this.alignAttr=b;return this};f.prototype.alignSetter=function(a){var c={left:"start",center:"middle", +right:"end"};c[a]&&(this.alignValue=a,this.element.setAttribute("text-anchor",c[a]))};f.prototype.animate=function(a,c,g){var I=this,b=G(u(c,this.renderer.globalAnimation,!0));c=b.defer;u(t.hidden,t.msHidden,t.webkitHidden,!1)&&(b.duration=0);0!==b.duration?(g&&(b.complete=g),S(function(){I.element&&P(I,a,b)},c)):(this.attr(a,void 0,g||b.complete),A(a,function(a,c){b.step&&b.step.call(this,a,{prop:c,pos:1,elem:this})},this));return this};f.prototype.applyTextOutline=function(a){var c=this.element; +-1!==a.indexOf("contrast")&&(a=a.replace(/contrast/g,this.renderer.getContrast(c.style.fill)));var g=a.split(" ");a=g[g.length-1];if((g=g[0])&&"none"!==g&&C.svg){this.fakeTS=!0;this.ySetter=this.xSetter;g=g.replace(/(^[\d\.]+)(.*?)$/g,function(a,c,g){return 2*Number(c)+g});this.removeTextOutline();var k=t.createElementNS(b,"tspan");r(k,{"class":"highcharts-text-outline",fill:a,stroke:a,"stroke-width":g,"stroke-linejoin":"round"});[].forEach.call(c.childNodes,function(a){var c=a.cloneNode(!0);c.removeAttribute&& +["fill","stroke","stroke-width","stroke"].forEach(function(a){return c.removeAttribute(a)});k.appendChild(c)});var u=t.createElementNS(b,"tspan");u.textContent="\u200b";["x","y"].forEach(function(a){var g=c.getAttribute(a);g&&u.setAttribute(a,g)});k.appendChild(u);c.insertBefore(k,c.firstChild)}};f.prototype.attr=function(a,c,g,b){var I=this.element,k=this.symbolCustomAttribs,H,u=this,F,m;if("string"===typeof a&&"undefined"!==typeof c){var d=a;a={};a[d]=c}"string"===typeof a?u=(this[a+"Getter"]|| +this._defaultGetter).call(this,a,I):(A(a,function(c,g){F=!1;b||B(this,g);this.symbolName&&-1!==k.indexOf(g)&&(H||(this.symbolAttr(a),H=!0),F=!0);!this.rotation||"x"!==g&&"y"!==g||(this.doTransform=!0);F||(m=this[g+"Setter"]||this._defaultSetter,m.call(this,c,g,I),!this.styledMode&&this.shadows&&/^(width|height|visibility|x|y|d|transform|cx|cy|r)$/.test(g)&&this.updateShadows(g,c,m))},this),this.afterSetters());g&&g.call(this);return u};f.prototype.clip=function(a){return this.attr("clip-path",a?"url("+ +this.renderer.url+"#"+a.id+")":"none")};f.prototype.crisp=function(a,c){c=c||a.strokeWidth||0;var g=Math.round(c)%2/2;a.x=Math.floor(a.x||this.x||0)+g;a.y=Math.floor(a.y||this.y||0)+g;a.width=Math.floor((a.width||this.width||0)-2*g);a.height=Math.floor((a.height||this.height||0)-2*g);w(a.strokeWidth)&&(a.strokeWidth=c);return a};f.prototype.complexColor=function(a,c,g){var b=this.renderer,I,u,d,p,F,n,r,q,h,z,e=[],x;m(this.renderer,"complexColor",{args:arguments},function(){a.radialGradient?u="radialGradient": +a.linearGradient&&(u="linearGradient");if(u){d=a[u];F=b.gradients;n=a.stops;h=g.radialReference;k(d)&&(a[u]=d={x1:d[0],y1:d[1],x2:d[2],y2:d[3],gradientUnits:"userSpaceOnUse"});"radialGradient"===u&&h&&!w(d.gradientUnits)&&(p=d,d=D(d,b.getRadialAttr(h,p),{gradientUnits:"userSpaceOnUse"}));A(d,function(a,c){"id"!==c&&e.push(c,a)});A(n,function(a){e.push(a)});e=e.join(",");if(F[e])z=F[e].attr("id");else{d.id=z=R();var H=F[e]=b.createElement(u).attr(d).add(b.defs);H.radAttr=p;H.stops=[];n.forEach(function(a){0=== +a[1].indexOf("rgba")?(I=l.parse(a[1]),r=I.get("rgb"),q=I.get("a")):(r=a[1],q=1);a=b.createElement("stop").attr({offset:a[0],"stop-color":r,"stop-opacity":q}).add(H);H.stops.push(a)})}x="url("+b.url+"#"+z+")";g.setAttribute(c,x);g.gradient=e;a.toString=function(){return x}}})};f.prototype.css=function(a){var c=this.styles,g={},b=this.element,k=!c;a.color&&(a.fill=a.color);c&&A(a,function(a,b){c&&c[b]!==a&&(g[b]=a,k=!0)});if(k){c&&(a=x(c,g));if(null===a.width||"auto"===a.width)delete this.textWidth; +else if("text"===b.nodeName.toLowerCase()&&a.width)var u=this.textWidth=L(a.width);this.styles=a;u&&!d&&this.renderer.forExport&&delete a.width;var m=D(a);b.namespaceURI===this.SVG_NS&&["textOutline","textOverflow","width"].forEach(function(a){return m&&delete m[a]});J(b,m);this.added&&("text"===this.element.nodeName&&this.renderer.buildText(this),a.textOutline&&this.applyTextOutline(a.textOutline))}return this};f.prototype.dashstyleSetter=function(a){var c=this["stroke-width"];"inherit"===c&&(c= +1);if(a=a&&a.toLowerCase()){var g=a.replace("shortdashdotdot","3,1,1,1,1,1,").replace("shortdashdot","3,1,1,1").replace("shortdot","1,1,").replace("shortdash","3,1,").replace("longdash","8,3,").replace(/dot/g,"1,3,").replace("dash","4,3,").replace(/,$/,"").split(",");for(a=g.length;a--;)g[a]=""+L(g[a])*u(c,NaN);a=g.join(",").replace(/NaN/g,"none");this.element.setAttribute("stroke-dasharray",a)}};f.prototype.destroy=function(){var a=this,c=a.element||{},g=a.renderer,b=c.ownerSVGElement,k=g.isSVG&& +"SPAN"===c.nodeName&&a.parentGroup||void 0;c.onclick=c.onmouseout=c.onmouseover=c.onmousemove=c.point=null;B(a);if(a.clipPath&&b){var u=a.clipPath;[].forEach.call(b.querySelectorAll("[clip-path],[CLIP-PATH]"),function(a){-1D.width)D={x:0,y:0,width:0,height:0}}else D=this.htmlGetBBox();if(d.isSVG&&(d=D.width,c=D.height,n&&(D.height=c={"11px,17":14,"13px,20":16}[""+(r||"")+",".concat(Math.round(c))]||c),g)){n=Number(k.getAttribute("y")||0)-D.y;b={right:1,center:.5}[b||0]||0;m=g*y;r=(g-90)*y;var z=d*Math.cos(m);g=d*Math.sin(m);h=Math.cos(r);m=Math.sin(r);d=D.x+b*(d-z)+n*h;r=d+z;h=r-c*h;z=h-z;n=D.y+n-b*g+n*m;b=n+g;c=b-c*m;g=c-g;D.x=Math.min(d,r,h,z);D.y=Math.min(n,b,c,g);D.width=Math.max(d,r, +h,z)-D.x;D.height=Math.max(n,b,c,g)-D.y}if(q&&(""===p||0]*>/g,"").replace(/</g,"<").replace(/>/g,">")};f.prototype.toFront=function(){var a=this.element;a.parentNode.appendChild(a);return this};f.prototype.translate= +function(a,c){return this.attr({translateX:a,translateY:c})};f.prototype.updateShadows=function(a,c,g){var b=this.shadows;if(b)for(var k=b.length;k--;)g.call(b[k],"height"===a?Math.max(c-(b[k].cutHeight||0),0):"d"===a?this.d:c,a,b[k])};f.prototype.updateTransform=function(){var a=this.scaleX,c=this.scaleY,g=this.inverted,b=this.rotation,k=this.matrix,m=this.element,d=this.translateX||0,n=this.translateY||0;g&&(d+=this.width,n+=this.height);d=["translate("+d+","+n+")"];w(k)&&d.push("matrix("+k.join(",")+ +")");g?d.push("rotate(90) scale(-1,1)"):b&&d.push("rotate("+b+" "+u(this.rotationOriginX,m.getAttribute("x"),0)+" "+u(this.rotationOriginY,m.getAttribute("y")||0)+")");(w(a)||w(c))&&d.push("scale("+u(a,1)+" "+u(c,1)+")");d.length&&m.setAttribute("transform",d.join(" "))};f.prototype.visibilitySetter=function(a,c,g){"inherit"===a?g.removeAttribute(c):this[c]!==a&&g.setAttribute(c,a);this[c]=a};f.prototype.xGetter=function(a){"circle"===this.element.nodeName&&("x"===a?a="cx":"y"===a&&(a="cy"));return this._defaultGetter(a)}; +f.prototype.zIndexSetter=function(a,c){var g=this.renderer,b=this.parentGroup,k=(b||g).element||g.box,u=this.element;g=k===g.box;var d=!1;var m=this.added;var F;w(a)?(u.setAttribute("data-z-index",a),a=+a,this[c]===a&&(m=!1)):w(this[c])&&u.removeAttribute("data-z-index");this[c]=a;if(m){(a=this.zIndex)&&b&&(b.handleZ=!0);c=k.childNodes;for(F=c.length-1;0<=F&&!d;F--){b=c[F];m=b.getAttribute("data-z-index");var n=!w(m);if(b!==u)if(0>a&&n&&!g&&!F)k.insertBefore(u,c[F]),d=!0;else if(L(m)<=a||n&&(!w(a)|| +0<=a))k.insertBefore(u,c[F+1]||null),d=!0}d||(k.insertBefore(u,c[g?3:0]||null),d=!0)}return d};return f}();f.prototype["stroke-widthSetter"]=f.prototype.strokeSetter;f.prototype.yGetter=f.prototype.xGetter;f.prototype.matrixSetter=f.prototype.rotationOriginXSetter=f.prototype.rotationOriginYSetter=f.prototype.rotationSetter=f.prototype.scaleXSetter=f.prototype.scaleYSetter=f.prototype.translateXSetter=f.prototype.translateYSetter=f.prototype.verticalAlignSetter=function(a,c){this[c]=a;this.doTransform= +!0};"";return f});K(l,"Core/Renderer/RendererRegistry.js",[l["Core/Globals.js"]],function(f){var e;(function(e){e.rendererTypes={};var l;e.getRendererType=function(f){void 0===f&&(f=l);return e.rendererTypes[f]||e.rendererTypes[l]};e.registerRendererType=function(v,P,G){e.rendererTypes[v]=P;if(!l||G)l=v,f.Renderer=P}})(e||(e={}));return e});K(l,"Core/Renderer/SVG/SVGLabel.js",[l["Core/Renderer/SVG/SVGElement.js"],l["Core/Utilities.js"]],function(f,e){var l=this&&this.__extends||function(){var e=function(h, +d){e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(b,d){b.__proto__=d}||function(b,d){for(var p in d)d.hasOwnProperty(p)&&(b[p]=d[p])};return e(h,d)};return function(h,d){function b(){this.constructor=h}e(h,d);h.prototype=null===d?Object.create(d):(b.prototype=d.prototype,new b)}}(),C=e.defined,v=e.extend,E=e.isNumber,G=e.merge,B=e.pick,y=e.removeEvent;return function(e){function h(d,b,p,q,r,n,f,w,z,x){var m=e.call(this)||this;m.paddingLeftSetter=m.paddingSetter;m.paddingRightSetter= +m.paddingSetter;m.init(d,"g");m.textStr=b;m.x=p;m.y=q;m.anchorX=n;m.anchorY=f;m.baseline=z;m.className=x;m.addClass("button"===x?"highcharts-no-tooltip":"highcharts-label");x&&m.addClass("highcharts-"+x);m.text=d.text(void 0,0,0,w).attr({zIndex:1});var k;"string"===typeof r&&((k=/^url\((.*?)\)$/.test(r))||m.renderer.symbols[r])&&(m.symbolKey=r);m.bBox=h.emptyBBox;m.padding=3;m.baselineOffset=0;m.needsBox=d.styledMode||k;m.deferredAttr={};m.alignFactor=0;return m}l(h,e);h.prototype.alignSetter=function(d){d= +{left:0,center:.5,right:1}[d];d!==this.alignFactor&&(this.alignFactor=d,this.bBox&&E(this.xSetting)&&this.attr({x:this.xSetting}))};h.prototype.anchorXSetter=function(d,b){this.anchorX=d;this.boxAttr(b,Math.round(d)-this.getCrispAdjust()-this.xSetting)};h.prototype.anchorYSetter=function(d,b){this.anchorY=d;this.boxAttr(b,d-this.ySetting)};h.prototype.boxAttr=function(d,b){this.box?this.box.attr(d,b):this.deferredAttr[d]=b};h.prototype.css=function(d){if(d){var b={};d=G(d);h.textProps.forEach(function(p){"undefined"!== +typeof d[p]&&(b[p]=d[p],delete d[p])});this.text.css(b);var p="width"in b;"fontSize"in b||"fontWeight"in b?this.updateTextPadding():p&&this.updateBoxSize()}return f.prototype.css.call(this,d)};h.prototype.destroy=function(){y(this.element,"mouseenter");y(this.element,"mouseleave");this.text&&this.text.destroy();this.box&&(this.box=this.box.destroy());f.prototype.destroy.call(this)};h.prototype.fillSetter=function(d,b){d&&(this.needsBox=!0);this.fill=d;this.boxAttr(b,d)};h.prototype.getBBox=function(){this.textStr&& +0===this.bBox.width&&0===this.bBox.height&&this.updateBoxSize();var d=this.padding,b=B(this.paddingLeft,d);return{width:this.width,height:this.height,x:this.bBox.x-b,y:this.bBox.y-d}};h.prototype.getCrispAdjust=function(){return this.renderer.styledMode&&this.box?this.box.strokeWidth()%2/2:(this["stroke-width"]?parseInt(this["stroke-width"],10):0)%2/2};h.prototype.heightSetter=function(d){this.heightSetting=d};h.prototype.onAdd=function(){var d=this.textStr;this.text.add(this);this.attr({text:C(d)? +d:"",x:this.x,y:this.y});this.box&&C(this.anchorX)&&this.attr({anchorX:this.anchorX,anchorY:this.anchorY})};h.prototype.paddingSetter=function(d,b){E(d)?d!==this[b]&&(this[b]=d,this.updateTextPadding()):this[b]=void 0};h.prototype.rSetter=function(d,b){this.boxAttr(b,d)};h.prototype.shadow=function(d){d&&!this.renderer.styledMode&&(this.updateBoxSize(),this.box&&this.box.shadow(d));return this};h.prototype.strokeSetter=function(d,b){this.stroke=d;this.boxAttr(b,d)};h.prototype["stroke-widthSetter"]= +function(d,b){d&&(this.needsBox=!0);this["stroke-width"]=d;this.boxAttr(b,d)};h.prototype["text-alignSetter"]=function(d){this.textAlign=d};h.prototype.textSetter=function(d){"undefined"!==typeof d&&this.text.attr({text:d});this.updateTextPadding()};h.prototype.updateBoxSize=function(){var d=this.text.element.style,b={},p=this.padding,q=this.bBox=E(this.widthSetting)&&E(this.heightSetting)&&!this.textAlign||!C(this.text.textStr)?h.emptyBBox:this.text.getBBox();this.width=this.getPaddedWidth();this.height= +(this.heightSetting||q.height||0)+2*p;d=this.renderer.fontMetrics(d&&d.fontSize,this.text);this.baselineOffset=p+Math.min((this.text.firstLineMetrics||d).b,q.height||Infinity);this.heightSetting&&(this.baselineOffset+=(this.heightSetting-d.h)/2);this.needsBox&&(this.box||(p=this.box=this.symbolKey?this.renderer.symbol(this.symbolKey):this.renderer.rect(),p.addClass(("button"===this.className?"":"highcharts-label-box")+(this.className?" highcharts-"+this.className+"-box":"")),p.add(this)),p=this.getCrispAdjust(), +b.x=p,b.y=(this.baseline?-this.baselineOffset:0)+p,b.width=Math.round(this.width),b.height=Math.round(this.height),this.box.attr(v(b,this.deferredAttr)),this.deferredAttr={})};h.prototype.updateTextPadding=function(){var d=this.text;this.updateBoxSize();var b=this.baseline?0:this.baselineOffset,p=B(this.paddingLeft,this.padding);C(this.widthSetting)&&this.bBox&&("center"===this.textAlign||"right"===this.textAlign)&&(p+={center:.5,right:1}[this.textAlign]*(this.widthSetting-this.bBox.width));if(p!== +d.x||b!==d.y)d.attr("x",p),d.hasBoxWidthChanged&&(this.bBox=d.getBBox(!0)),"undefined"!==typeof b&&d.attr("y",b);d.x=p;d.y=b};h.prototype.widthSetter=function(d){this.widthSetting=E(d)?d:void 0};h.prototype.getPaddedWidth=function(){var d=this.padding,b=B(this.paddingLeft,d);d=B(this.paddingRight,d);return(this.widthSetting||this.bBox.width||0)+b+d};h.prototype.xSetter=function(d){this.x=d;this.alignFactor&&(d-=this.alignFactor*this.getPaddedWidth(),this["forceAnimate:x"]=!0);this.xSetting=Math.round(d); +this.attr("translateX",this.xSetting)};h.prototype.ySetter=function(d){this.ySetting=this.y=Math.round(d);this.attr("translateY",this.ySetting)};h.emptyBBox={width:0,height:0,x:0,y:0};h.textProps="color direction fontFamily fontSize fontStyle fontWeight lineHeight textAlign textDecoration textOutline textOverflow width".split(" ");return h}(f)});K(l,"Core/Renderer/SVG/Symbols.js",[l["Core/Utilities.js"]],function(f){function e(e,f,t,h,d){var b=[];if(d){var p=d.start||0,q=G(d.r,t);t=G(d.r,h||t);var r= +(d.end||0)-.001;h=d.innerR;var n=G(d.open,.001>Math.abs((d.end||0)-p-2*Math.PI)),J=Math.cos(p),w=Math.sin(p),z=Math.cos(r),x=Math.sin(r);p=G(d.longArc,.001>r-p-Math.PI?0:1);b.push(["M",e+q*J,f+t*w],["A",q,t,0,p,G(d.clockwise,1),e+q*z,f+t*x]);v(h)&&b.push(n?["M",e+h*z,f+h*x]:["L",e+h*z,f+h*x],["A",h,h,0,p,v(d.clockwise)?1-d.clockwise:0,e+h*J,f+h*w]);n||b.push(["Z"])}return b}function l(e,f,t,h,d){return d&&d.r?C(e,f,t,h,d):[["M",e,f],["L",e+t,f],["L",e+t,f+h],["L",e,f+h],["Z"]]}function C(e,f,t,h, +d){d=d&&d.r||0;return[["M",e+d,f],["L",e+t-d,f],["C",e+t,f,e+t,f,e+t,f+d],["L",e+t,f+h-d],["C",e+t,f+h,e+t,f+h,e+t-d,f+h],["L",e+d,f+h],["C",e,f+h,e,f+h,e,f+h-d],["L",e,f+d],["C",e,f,e,f,e+d,f]]}var v=f.defined,E=f.isNumber,G=f.pick;return{arc:e,callout:function(e,f,t,h,d){var b=Math.min(d&&d.r||0,t,h),p=b+6,q=d&&d.anchorX;d=d&&d.anchorY||0;var r=C(e,f,t,h,{r:b});if(!E(q))return r;e+q>=t?d>f+p&&d=e+q?d>f+p&&dh&&q>e+p&&qd&&q>e+p&&q/g,z=[r,this.ellipsis,this.noWrap,this.textLineHeight, +this.textOutline,this.fontSize,this.width].join();if(z!==b.textCache){b.textCache=z;delete b.actualWidth;for(z=J.length;z--;)d.removeChild(J[z]);n||this.ellipsis||this.width||-1!==r.indexOf(" ")&&(!this.noWrap||w.test(r))?""!==r&&(e&&e.appendChild(d),r=new f(r),this.modifyTree(r.nodes),r.addToDOM(b.element),this.modifyDOM(),this.ellipsis&&-1!==(d.textContent||"").indexOf("\u2026")&&b.attr("title",this.unescapeEntities(b.textStr||"",["<",">"])),e&&e.removeChild(d)):d.appendChild(P.createTextNode(this.unescapeEntities(r))); +y(this.textOutline)&&b.applyTextOutline&&b.applyTextOutline(this.textOutline)}};d.prototype.modifyDOM=function(){var b=this,d=this.svgElement,e=G(d.element,"x");d.firstLineMetrics=void 0;for(var r;r=d.element.firstChild;)if(/^[\s\u200B]*$/.test(r.textContent||" "))d.element.removeChild(r);else break;[].forEach.call(d.element.querySelectorAll("tspan.highcharts-br"),function(n,r){n.nextSibling&&n.previousSibling&&(0===r&&1===n.previousSibling.nodeType&&(d.firstLineMetrics=d.renderer.fontMetrics(void 0, +n.previousSibling)),G(n,{dy:b.getLineHeight(n.nextSibling),x:e}))});var n=this.width||0;if(n){var h=function(r,p){var m=r.textContent||"",k=m.replace(/([^\^])-/g,"$1- ").split(" "),a=!b.noWrap&&(1n){for(;k<=a;)g=Math.ceil((k+a)/2),e&&(c=h(e,g)),A=D(g,c&&c.length-1),k===a?k=a+1:A>n?a=g-1:k=g;0===a?b.textContent="":d&&a===d.length-1||(b.textContent=c||h(d||e,g))}e&&e.splice(0,g);p.actualWidth=A;p.rotation=q};d.prototype.unescapeEntities=function(b,d){t(this.renderer.escapes,function(e,r){d&&-1!==d.indexOf(e)||(b=b.toString().replace(new RegExp(e,"g"),r))});return b};return d}()}); +K(l,"Core/Renderer/SVG/SVGRenderer.js",[l["Core/Renderer/HTML/AST.js"],l["Core/Color/Color.js"],l["Core/Globals.js"],l["Core/Renderer/RendererRegistry.js"],l["Core/Renderer/SVG/SVGElement.js"],l["Core/Renderer/SVG/SVGLabel.js"],l["Core/Renderer/SVG/Symbols.js"],l["Core/Renderer/SVG/TextBuilder.js"],l["Core/Utilities.js"]],function(f,e,l,C,v,E,G,B,y){var t=l.charts,h=l.deg2rad,d=l.doc,b=l.isFirefox,p=l.isMS,q=l.isWebKit,r=l.noop,n=l.SVG_NS,J=l.symbolSizes,w=l.win,z=y.addEvent,x=y.attr,m=y.createElement, +k=y.css,a=y.defined,g=y.destroyObjectProperties,c=y.extend,D=y.isArray,A=y.isNumber,u=y.isObject,L=y.isString,S=y.merge,R=y.pick,M=y.pInt,U=y.uniqueKey,aa;l=function(){function I(a,c,g,b,d,k,m){this.width=this.url=this.style=this.isSVG=this.imgCount=this.height=this.gradients=this.globalAnimation=this.defs=this.chartIndex=this.cacheKeys=this.cache=this.boxWrapper=this.box=this.alignedObjects=void 0;this.init(a,c,g,b,d,k,m)}I.prototype.init=function(a,c,g,m,u,F,I){var n=this.createElement("svg").attr({version:"1.1", +"class":"highcharts-root"}),H=n.element;I||n.css(this.getStyle(m));a.appendChild(H);x(a,"dir","ltr");-1===a.innerHTML.indexOf("xmlns")&&x(H,"xmlns",this.SVG_NS);this.isSVG=!0;this.box=H;this.boxWrapper=n;this.alignedObjects=[];this.url=this.getReferenceURL();this.createElement("desc").add().element.appendChild(d.createTextNode("Created with Highcharts 10.2.0"));this.defs=this.createElement("defs").add();this.allowHTML=F;this.forExport=u;this.styledMode=I;this.gradients={};this.cache={};this.cacheKeys= +[];this.imgCount=0;this.setSize(c,g,!1);var e;b&&a.getBoundingClientRect&&(c=function(){k(a,{left:0,top:0});e=a.getBoundingClientRect();k(a,{left:Math.ceil(e.left)-e.left+"px",top:Math.ceil(e.top)-e.top+"px"})},c(),this.unSubPixelFix=z(w,"resize",c))};I.prototype.definition=function(a){return(new f([a])).addToDOM(this.defs.element)};I.prototype.getReferenceURL=function(){if((b||q)&&d.getElementsByTagName("base").length){if(!a(aa)){var c=U();c=(new f([{tagName:"svg",attributes:{width:8,height:8},children:[{tagName:"defs", +children:[{tagName:"clipPath",attributes:{id:c},children:[{tagName:"rect",attributes:{width:4,height:4}}]}]},{tagName:"rect",attributes:{id:"hitme",width:8,height:8,"clip-path":"url(#".concat(c,")"),fill:"rgba(0,0,0,0.001)"}}]}])).addToDOM(d.body);k(c,{position:"fixed",top:0,left:0,zIndex:9E5});var g=d.elementFromPoint(6,6);aa="hitme"===(g&&g.id);d.body.removeChild(c)}if(aa)return w.location.href.split("#")[0].replace(/<[^>]*>/g,"").replace(/([\('\)])/g,"\\$1").replace(/ /g,"%20")}return""};I.prototype.getStyle= +function(a){return this.style=c({fontFamily:'"Lucida Grande", "Lucida Sans Unicode", Arial, Helvetica, sans-serif',fontSize:"12px"},a)};I.prototype.setStyle=function(a){this.boxWrapper.css(this.getStyle(a))};I.prototype.isHidden=function(){return!this.boxWrapper.getBBox().width};I.prototype.destroy=function(){var a=this.defs;this.box=null;this.boxWrapper=this.boxWrapper.destroy();g(this.gradients||{});this.gradients=null;a&&(this.defs=a.destroy());this.unSubPixelFix&&this.unSubPixelFix();return this.alignedObjects= +null};I.prototype.createElement=function(a){var c=new this.Element;c.init(this,a);return c};I.prototype.getRadialAttr=function(a,c){return{cx:a[0]-a[2]/2+(c.cx||0)*a[2],cy:a[1]-a[2]/2+(c.cy||0)*a[2],r:(c.r||0)*a[2]}};I.prototype.buildText=function(a){(new B(a)).buildSVG()};I.prototype.getContrast=function(a){a=e.parse(a).rgba.map(function(a){a/=255;return.03928>=a?a/12.92:Math.pow((a+.055)/1.055,2.4)});a=.2126*a[0]+.7152*a[1]+.0722*a[2];return 1.05/(a+.05)>(a+.05)/.05?"#FFFFFF":"#000000"};I.prototype.button= +function(a,g,b,d,k,m,I,n,e,r){void 0===k&&(k={});var F=this.label(a,g,b,e,void 0,void 0,r,void 0,"button"),D=this.styledMode;a=k.states||{};var A=0;k=S(k);delete k.states;var H=S({color:"#333333",cursor:"pointer",fontWeight:"normal"},k.style);delete k.style;var h=f.filterUserAttributes(k);F.attr(S({padding:8,r:2},h));if(!D){h=S({fill:"#f7f7f7",stroke:"#cccccc","stroke-width":1},h);m=S(h,{fill:"#e6e6e6"},f.filterUserAttributes(m||a.hover||{}));var q=m.style;delete m.style;I=S(h,{fill:"#e6ebf5",style:{color:"#000000", +fontWeight:"bold"}},f.filterUserAttributes(I||a.select||{}));var N=I.style;delete I.style;n=S(h,{style:{color:"#cccccc"}},f.filterUserAttributes(n||a.disabled||{}));var w=n.style;delete n.style}z(F.element,p?"mouseover":"mouseenter",function(){3!==A&&F.setState(1)});z(F.element,p?"mouseout":"mouseleave",function(){3!==A&&F.setState(A)});F.setState=function(a){1!==a&&(F.state=A=a);F.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed", +"disabled"][a||0]);D||(F.attr([h,m,I,n][a||0]),a=[H,q,N,w][a||0],u(a)&&F.css(a))};D||F.attr(h).css(c({cursor:"default"},H));return F.on("touchstart",function(a){return a.stopPropagation()}).on("click",function(a){3!==A&&d.call(F,a)})};I.prototype.crispLine=function(c,g,b){void 0===b&&(b="round");var d=c[0],k=c[1];a(d[1])&&d[1]===k[1]&&(d[1]=k[1]=Math[b](d[1])-g%2/2);a(d[2])&&d[2]===k[2]&&(d[2]=k[2]=Math[b](d[2])+g%2/2);return c};I.prototype.path=function(a){var g=this.styledMode?{}:{fill:"none"}; +D(a)?g.d=a:u(a)&&c(g,a);return this.createElement("path").attr(g)};I.prototype.circle=function(a,c,g){a=u(a)?a:"undefined"===typeof a?{}:{x:a,y:c,r:g};c=this.createElement("circle");c.xSetter=c.ySetter=function(a,c,g){g.setAttribute("c"+c,a)};return c.attr(a)};I.prototype.arc=function(a,c,g,b,d,k){u(a)?(b=a,c=b.y,g=b.r,a=b.x):b={innerR:b,start:d,end:k};a=this.symbol("arc",a,c,g,g,b);a.r=g;return a};I.prototype.rect=function(a,c,g,b,d,k){d=u(a)?a.r:d;var m=this.createElement("rect");a=u(a)?a:"undefined"=== +typeof a?{}:{x:a,y:c,width:Math.max(g,0),height:Math.max(b,0)};this.styledMode||("undefined"!==typeof k&&(a["stroke-width"]=k,a=m.crisp(a)),a.fill="none");d&&(a.r=d);m.rSetter=function(a,c,g){m.r=a;x(g,{rx:a,ry:a})};m.rGetter=function(){return m.r||0};return m.attr(a)};I.prototype.setSize=function(a,c,g){this.width=a;this.height=c;this.boxWrapper.animate({width:a,height:c},{step:function(){this.attr({viewBox:"0 0 "+this.attr("width")+" "+this.attr("height")})},duration:R(g,!0)?void 0:0});this.alignElements()}; +I.prototype.g=function(a){var c=this.createElement("g");return a?c.attr({"class":"highcharts-"+a}):c};I.prototype.image=function(a,c,g,b,d,k){var m={preserveAspectRatio:"none"},u=function(a,c){a.setAttributeNS?a.setAttributeNS("http://www.w3.org/1999/xlink","href",c):a.setAttribute("hc-svg-href",c)};A(c)&&(m.x=c);A(g)&&(m.y=g);A(b)&&(m.width=b);A(d)&&(m.height=d);var F=this.createElement("image").attr(m);c=function(c){u(F.element,a);k.call(F,c)};k?(u(F.element,"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="), +g=new w.Image,z(g,"load",c),g.src=a,g.complete&&c({})):u(F.element,a);return F};I.prototype.symbol=function(g,b,u,I,n,F){var e=this,r=/^url\((.*?)\)$/,D=r.test(g),p=!D&&(this.symbols[g]?g:"circle"),A=p&&this.symbols[p],h;if(A){"number"===typeof b&&(h=A.call(this.symbols,Math.round(b||0),Math.round(u||0),I||0,n||0,F));var f=this.path(h);e.styledMode||f.attr("fill","none");c(f,{symbolName:p||void 0,x:b,y:u,width:I,height:n});F&&c(f,F)}else if(D){var q=g.match(r)[1];var H=f=this.image(q);H.imgwidth= +R(J[q]&&J[q].width,F&&F.width);H.imgheight=R(J[q]&&J[q].height,F&&F.height);var z=function(a){return a.attr({width:a.width,height:a.height})};["width","height"].forEach(function(c){H[c+"Setter"]=function(c,g){var b=this["img"+g];this[g]=c;a(b)&&(F&&"within"===F.backgroundSize&&this.width&&this.height&&(b=Math.round(b*Math.min(this.width/this.imgwidth,this.height/this.imgheight))),this.element&&this.element.setAttribute(g,b),this.alignByTranslate||(c=((this[g]||0)-b)/2,this.attr("width"===g?{translateX:c}: +{translateY:c})))}});a(b)&&H.attr({x:b,y:u});H.isImg=!0;a(H.imgwidth)&&a(H.imgheight)?z(H):(H.attr({width:0,height:0}),m("img",{onload:function(){var a=t[e.chartIndex];0===this.width&&(k(this,{position:"absolute",top:"-999em"}),d.body.appendChild(this));J[q]={width:this.width,height:this.height};H.imgwidth=this.width;H.imgheight=this.height;H.element&&z(H);this.parentNode&&this.parentNode.removeChild(this);e.imgCount--;if(!e.imgCount&&a&&!a.hasLoaded)a.onload()},src:q}),this.imgCount++)}return f}; +I.prototype.clipRect=function(a,c,g,b){var d=U()+"-",k=this.createElement("clipPath").attr({id:d}).add(this.defs);a=this.rect(a,c,g,b,0).add(k);a.id=d;a.clipPath=k;a.count=0;return a};I.prototype.text=function(c,g,b,d){var k={};if(d&&(this.allowHTML||!this.forExport))return this.html(c,g,b);k.x=Math.round(g||0);b&&(k.y=Math.round(b));a(c)&&(k.text=c);c=this.createElement("text").attr(k);if(!d||this.forExport&&!this.allowHTML)c.xSetter=function(a,c,g){for(var b=g.getElementsByTagName("tspan"),d=g.getAttribute(c), +k=0,m;ka?a+3:Math.round(1.2*a);return{h:c,b:Math.round(.8*c),f:a}};I.prototype.rotCorr=function(a,c,g){var b=a;c&&g&&(b=Math.max(b*Math.cos(c*h),4));return{x:-a/3*Math.sin(c*h), +y:b}};I.prototype.pathToSegments=function(a){for(var c=[],g=[],b={A:8,C:7,H:2,L:3,M:3,Q:5,S:5,T:3,V:2},d=0;d":">","'":"'",'"':"""},symbols:G,draw:r});C.registerRendererType("svg",l,!0);"";return l});K(l,"Core/Renderer/HTML/HTMLElement.js",[l["Core/Globals.js"],l["Core/Renderer/SVG/SVGElement.js"],l["Core/Utilities.js"]],function(f,e,l){var C=this&&this.__extends||function(){var b=function(d,e){b=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(b,d){b.__proto__=d}||function(b,d){for(var n in d)d.hasOwnProperty(n)&& +(b[n]=d[n])};return b(d,e)};return function(d,e){function n(){this.constructor=d}b(d,e);d.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}}(),v=f.isFirefox,E=f.isMS,G=f.isWebKit,B=f.win,y=l.css,t=l.defined,h=l.extend,d=l.pick,b=l.pInt;return function(e){function p(){return null!==e&&e.apply(this,arguments)||this}C(p,e);p.compose=function(b){if(-1===p.composedClasses.indexOf(b)){p.composedClasses.push(b);var d=p.prototype,e=b.prototype;e.getSpanCorrection=d.getSpanCorrection;e.htmlCss= +d.htmlCss;e.htmlGetBBox=d.htmlGetBBox;e.htmlUpdateTransform=d.htmlUpdateTransform;e.setSpanRotation=d.setSpanRotation}return b};p.prototype.getSpanCorrection=function(b,d,e){this.xCorr=-b*e;this.yCorr=-d};p.prototype.htmlCss=function(b){var n="SPAN"===this.element.tagName&&b&&"width"in b,e=d(n&&b.width,void 0);if(n){delete b.width;this.textWidth=e;var p=!0}b&&"ellipsis"===b.textOverflow&&(b.whiteSpace="nowrap",b.overflow="hidden");this.styles=h(this.styles,b);y(this.element,b);p&&this.htmlUpdateTransform(); +return this};p.prototype.htmlGetBBox=function(){var b=this.element;return{x:b.offsetLeft,y:b.offsetTop,width:b.offsetWidth,height:b.offsetHeight}};p.prototype.htmlUpdateTransform=function(){if(this.added){var d=this.renderer,n=this.element,e=this.translateX||0,p=this.translateY||0,h=this.x||0,f=this.y||0,m=this.textAlign||"left",k={left:0,center:.5,right:1}[m],a=this.styles;a=a&&a.whiteSpace;y(n,{marginLeft:e,marginTop:p});!d.styledMode&&this.shadows&&this.shadows.forEach(function(a){y(a,{marginLeft:e+ +1,marginTop:p+1})});this.inverted&&[].forEach.call(n.childNodes,function(a){d.invertChild(a,n)});if("SPAN"===n.tagName){var g=this.rotation,c=this.textWidth&&b(this.textWidth),D=[g,m,n.innerHTML,this.textWidth,this.textAlign].join(),A=void 0;A=!1;if(c!==this.oldTextWidth){if(this.textPxLength)var u=this.textPxLength;else y(n,{width:"",whiteSpace:a||"nowrap"}),u=n.offsetWidth;(c>this.oldTextWidth||u>c)&&(/[ \-]/.test(n.textContent||n.innerText)||"ellipsis"===n.style.textOverflow)&&(y(n,{width:u>c|| +g?c+"px":"auto",display:"block",whiteSpace:a||"normal"}),this.oldTextWidth=c,A=!0)}this.hasBoxWidthChanged=A;D!==this.cTT&&(A=d.fontMetrics(n.style.fontSize,n).b,!t(g)||g===(this.oldRotation||0)&&m===this.oldAlign||this.setSpanRotation(g,k,A),this.getSpanCorrection(!t(g)&&this.textPxLength||n.offsetWidth,A,k,g,m));y(n,{left:h+(this.xCorr||0)+"px",top:f+(this.yCorr||0)+"px"});this.cTT=D;this.oldRotation=g;this.oldAlign=m}}else this.alignOnAdd=!0};p.prototype.setSpanRotation=function(b,d,e){var n={}, +p=E&&!/Edge/.test(B.navigator.userAgent)?"-ms-transform":G?"-webkit-transform":v?"MozTransform":B.opera?"-o-transform":void 0;p&&(n[p]=n.transform="rotate("+b+"deg)",n[p+(v?"Origin":"-origin")]=n.transformOrigin=100*d+"% "+e+"px",y(this.element,n))};p.composedClasses=[];return p}(e)});K(l,"Core/Renderer/HTML/HTMLRenderer.js",[l["Core/Renderer/HTML/AST.js"],l["Core/Renderer/SVG/SVGElement.js"],l["Core/Renderer/SVG/SVGRenderer.js"],l["Core/Utilities.js"]],function(f,e,l,C){var v=this&&this.__extends|| +function(){var e=function(h,d){e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(b,d){b.__proto__=d}||function(b,d){for(var e in d)d.hasOwnProperty(e)&&(b[e]=d[e])};return e(h,d)};return function(h,d){function b(){this.constructor=h}e(h,d);h.prototype=null===d?Object.create(d):(b.prototype=d.prototype,new b)}}(),E=C.attr,G=C.createElement,B=C.extend,y=C.pick;return function(t){function h(){return null!==t&&t.apply(this,arguments)||this}v(h,t);h.compose=function(d){-1===h.composedClasses.indexOf(d)&& +(h.composedClasses.push(d),d.prototype.html=h.prototype.html);return d};h.prototype.html=function(d,b,p){var h=this.createElement("span"),r=h.element,n=h.renderer,t=n.isSVG,w=function(b,d){["opacity","visibility"].forEach(function(m){b[m+"Setter"]=function(k,a,g){var c=b.div?b.div.style:d;e.prototype[m+"Setter"].call(this,k,a,g);c&&(c[a]=k)}});b.addedSetters=!0};h.textSetter=function(b){b!==this.textStr&&(delete this.bBox,delete this.oldTextWidth,f.setElementHTML(this.element,y(b,"")),this.textStr= +b,h.doTransform=!0)};t&&w(h,h.element.style);h.xSetter=h.ySetter=h.alignSetter=h.rotationSetter=function(b,d){"align"===d?h.alignValue=h.textAlign=b:h[d]=b;h.doTransform=!0};h.afterSetters=function(){this.doTransform&&(this.htmlUpdateTransform(),this.doTransform=!1)};h.attr({text:d,x:Math.round(b),y:Math.round(p)}).css({position:"absolute"});n.styledMode||h.css({fontFamily:this.style.fontFamily,fontSize:this.style.fontSize});r.style.whiteSpace="nowrap";h.css=h.htmlCss;t&&(h.add=function(b){var d= +n.box.parentNode,m=[];if(this.parentGroup=b){var k=b.div;if(!k){for(;b;)m.push(b),b=b.parentGroup;m.reverse().forEach(function(a){function g(c,g){a[g]=c;"translateX"===g?e.left=c+"px":e.top=c+"px";a.doTransform=!0}var c=E(a.element,"class"),b=a.styles||{};k=a.div=a.div||G("div",c?{className:c}:void 0,{position:"absolute",left:(a.translateX||0)+"px",top:(a.translateY||0)+"px",display:a.display,opacity:a.opacity,cursor:b.cursor,pointerEvents:b.pointerEvents,visibility:a.visibility},k||d);var e=k.style; +B(a,{classSetter:function(a){return function(c){this.element.setAttribute("class",c);a.className=c}}(k),on:function(){m[0].div&&h.on.apply({element:m[0].div,onEvents:a.onEvents},arguments);return a},translateXSetter:g,translateYSetter:g});a.addedSetters||w(a)})}}else k=d;k.appendChild(r);h.added=!0;h.alignOnAdd&&h.htmlUpdateTransform();return h});return h};h.composedClasses=[];return h}(l)});K(l,"Core/Axis/AxisDefaults.js",[],function(){var f;(function(e){e.defaultXAxisOptions={alignTicks:!0,allowDecimals:void 0, +panningEnabled:!0,zIndex:2,zoomEnabled:!0,dateTimeLabelFormats:{millisecond:{main:"%H:%M:%S.%L",range:!1},second:{main:"%H:%M:%S",range:!1},minute:{main:"%H:%M",range:!1},hour:{main:"%H:%M",range:!1},day:{main:"%e. %b"},week:{main:"%e. %b"},month:{main:"%b '%y"},year:{main:"%Y"}},endOnTick:!1,gridLineDashStyle:"Solid",gridZIndex:1,labels:{autoRotation:void 0,autoRotationLimit:80,distance:void 0,enabled:!0,indentation:10,overflow:"justify",padding:5,reserveSpace:void 0,rotation:void 0,staggerLines:0, +step:0,useHTML:!1,x:0,zIndex:7,style:{color:"#666666",cursor:"default",fontSize:"11px"}},maxPadding:.01,minorGridLineDashStyle:"Solid",minorTickLength:2,minorTickPosition:"outside",minPadding:.01,offset:void 0,opposite:!1,reversed:void 0,reversedStacks:!1,showEmpty:!0,showFirstLabel:!0,showLastLabel:!0,startOfWeek:1,startOnTick:!1,tickLength:10,tickPixelInterval:100,tickmarkPlacement:"between",tickPosition:"outside",title:{align:"middle",rotation:0,useHTML:!1,x:0,y:0,style:{color:"#666666"}},type:"linear", +uniqueNames:!0,visible:!0,minorGridLineColor:"#f2f2f2",minorGridLineWidth:1,minorTickColor:"#999999",lineColor:"#ccd6eb",lineWidth:1,gridLineColor:"#e6e6e6",gridLineWidth:void 0,tickColor:"#ccd6eb"};e.defaultYAxisOptions={reversedStacks:!0,endOnTick:!0,maxPadding:.05,minPadding:.05,tickPixelInterval:72,showLastLabel:!0,labels:{x:-8},startOnTick:!0,title:{rotation:270,text:"Values"},stackLabels:{animation:{},allowOverlap:!1,enabled:!1,crop:!0,overflow:"justify",formatter:function(){var e=this.axis.chart.numberFormatter; +return e(this.total,-1)},style:{color:"#000000",fontSize:"11px",fontWeight:"bold",textOutline:"1px contrast"}},gridLineWidth:1,lineWidth:0};e.defaultLeftAxisOptions={labels:{x:-15},title:{rotation:270}};e.defaultRightAxisOptions={labels:{x:15},title:{rotation:90}};e.defaultBottomAxisOptions={labels:{autoRotation:[-45],x:0},margin:15,title:{rotation:0}};e.defaultTopAxisOptions={labels:{autoRotation:[-45],x:0},margin:15,title:{rotation:0}}})(f||(f={}));return f});K(l,"Core/Foundation.js",[l["Core/Utilities.js"]], +function(f){var e=f.addEvent,l=f.isFunction,C=f.objectEach,v=f.removeEvent,E;(function(f){f.registerEventOptions=function(f,y){f.eventOptions=f.eventOptions||{};C(y.events,function(t,h){f.eventOptions[h]!==t&&(f.eventOptions[h]&&(v(f,h,f.eventOptions[h]),delete f.eventOptions[h]),l(t)&&(f.eventOptions[h]=t,e(f,h,t)))})}})(E||(E={}));return E});K(l,"Core/Axis/Tick.js",[l["Core/FormatUtilities.js"],l["Core/Globals.js"],l["Core/Utilities.js"]],function(f,e,l){var C=e.deg2rad,v=l.clamp,E=l.correctFloat, +G=l.defined,B=l.destroyObjectProperties,y=l.extend,t=l.fireEvent,h=l.isNumber,d=l.merge,b=l.objectEach,p=l.pick;e=function(){function e(b,d,e,p,h){this.isNewLabel=this.isNew=!0;this.axis=b;this.pos=d;this.type=e||"";this.parameters=h||{};this.tickmarkOffset=this.parameters.tickmarkOffset;this.options=this.parameters.options;t(this,"init");e||p||this.addLabel()}e.prototype.addLabel=function(){var b=this,d=b.axis,e=d.options,q=d.chart,z=d.categories,x=d.logarithmic,m=d.names,k=b.pos,a=p(b.options&& +b.options.labels,e.labels),g=d.tickPositions,c=k===g[0],D=k===g[g.length-1],A=(!a.step||1===a.step)&&1===d.tickInterval;g=g.info;var u=b.label,l;z=this.parameters.category||(z?p(z[k],m[k],k):k);x&&h(z)&&(z=E(x.lin2log(z)));if(d.dateTime)if(g){var S=q.time.resolveDTLFormat(e.dateTimeLabelFormats[!e.grid&&g.higherRanks[k]||g.unitName]);var R=S.main}else h(z)&&(R=d.dateTime.getXDateFormat(z,e.dateTimeLabelFormats||{}));b.isFirst=c;b.isLast=D;var M={axis:d,chart:q,dateTimeLabelFormat:R,isFirst:c,isLast:D, +pos:k,tick:b,tickPositionInfo:g,value:z};t(this,"labelFormat",M);var B=function(c){return a.formatter?a.formatter.call(c,c):a.format?(c.text=d.defaultLabelFormatter.call(c),f.format(a.format,c,q)):d.defaultLabelFormatter.call(c,c)};e=B.call(M,M);var aa=S&&S.list;b.shortenLabel=aa?function(){for(l=0;la&&h-g*cr&&(l=Math.round((f-h)/Math.cos(a*C)));else if(f=h+(1-g)*c,h-g*cr&&(u=r-b.x+u*g,q=-1),u=Math.min(D,u),uu||d.autoRotation&&(k.styles||{}).width)l=u;l&&(this.shortenLabel?this.shortenLabel():(A.width=Math.floor(l)+"px",(e.style||{}).textOverflow||(A.textOverflow= +"ellipsis"),k.css(A)))};e.prototype.moveLabel=function(d,e){var h=this,p=h.label,n=h.axis,f=n.reversed,m=!1;p&&p.textStr===d?(h.movedLabel=p,m=!0,delete h.label):b(n.ticks,function(a){m||a.isNew||a===h||!a.label||a.label.textStr!==d||(h.movedLabel=a.label,m=!0,a.labelPos=h.movedLabel.xy,delete a.label)});if(!m&&(h.labelPos||p)){var k=h.labelPos||p.xy;p=n.horiz?f?0:n.width+n.left:k.x;n=n.horiz?k.y:f?n.width+n.left:0;h.movedLabel=h.createLabel({x:p,y:n},d,e);h.movedLabel&&h.movedLabel.attr({opacity:0})}}; +e.prototype.render=function(b,d,e){var h=this.axis,n=h.horiz,f=this.pos,m=p(this.tickmarkOffset,h.tickmarkOffset);f=this.getPosition(n,f,m,d);m=f.x;var k=f.y;h=n&&m===h.pos+h.len||!n&&k===h.pos?-1:1;n=p(e,this.label&&this.label.newOpacity,1);e=p(e,1);this.isActive=!0;this.renderGridLine(d,e,h);this.renderMark(f,e,h);this.renderLabel(f,d,n,b);this.isNew=!1;t(this,"afterRender")};e.prototype.renderGridLine=function(b,d,e){var h=this.axis,n=h.options,f={},m=this.pos,k=this.type,a=p(this.tickmarkOffset, +h.tickmarkOffset),g=h.chart.renderer,c=this.gridLine,D=n.gridLineWidth,A=n.gridLineColor,u=n.gridLineDashStyle;"minor"===this.type&&(D=n.minorGridLineWidth,A=n.minorGridLineColor,u=n.minorGridLineDashStyle);c||(h.chart.styledMode||(f.stroke=A,f["stroke-width"]=D||0,f.dashstyle=u),k||(f.zIndex=1),b&&(d=0),this.gridLine=c=g.path().attr(f).addClass("highcharts-"+(k?k+"-":"")+"grid-line").add(h.gridGroup));if(c&&(e=h.getPlotLinePath({value:m+a,lineWidth:c.strokeWidth()*e,force:"pass",old:b})))c[b||this.isNew? +"attr":"animate"]({d:e,opacity:d})};e.prototype.renderMark=function(b,d,e){var h=this.axis,n=h.options,f=h.chart.renderer,m=this.type,k=h.tickSize(m?m+"Tick":"tick"),a=b.x;b=b.y;var g=p(n["minor"!==m?"tickWidth":"minorTickWidth"],!m&&h.isXAxis?1:0);n=n["minor"!==m?"tickColor":"minorTickColor"];var c=this.mark,D=!c;k&&(h.opposite&&(k[0]=-k[0]),c||(this.mark=c=f.path().addClass("highcharts-"+(m?m+"-":"")+"tick").add(h.axisGroup),h.chart.styledMode||c.attr({stroke:n,"stroke-width":g})),c[D?"attr":"animate"]({d:this.getMarkPath(a, +b,k[0],c.strokeWidth()*e,h.horiz,f),opacity:d}))};e.prototype.renderLabel=function(b,d,e,f){var n=this.axis,r=n.horiz,m=n.options,k=this.label,a=m.labels,g=a.step;n=p(this.tickmarkOffset,n.tickmarkOffset);var c=b.x;b=b.y;var D=!0;k&&h(c)&&(k.xy=b=this.getLabelPosition(c,b,k,r,a,n,f,g),this.isFirst&&!this.isLast&&!m.showFirstLabel||this.isLast&&!this.isFirst&&!m.showLastLabel?D=!1:!r||a.step||a.rotation||d||0===e||this.handleOverflow(b),g&&f%g&&(D=!1),D&&h(b.y)?(b.opacity=e,k[this.isNewLabel?"attr": +"animate"](b).show(!0),this.isNewLabel=!1):(k.hide(),this.isNewLabel=!0))};e.prototype.replaceMovedLabel=function(){var b=this.label,d=this.axis,e=d.reversed;if(b&&!this.isNew){var h=d.horiz?e?d.left:d.width+d.left:b.xy.x;e=d.horiz?b.xy.y:e?d.width+d.top:d.top;b.animate({x:h,y:e,opacity:0},void 0,b.destroy);delete this.label}d.isDirty=!0;this.label=this.movedLabel;delete this.movedLabel};return e}();"";return e});K(l,"Core/Axis/Axis.js",[l["Core/Animation/AnimationUtilities.js"],l["Core/Axis/AxisDefaults.js"], +l["Core/Color/Color.js"],l["Core/DefaultOptions.js"],l["Core/Foundation.js"],l["Core/Globals.js"],l["Core/Axis/Tick.js"],l["Core/Utilities.js"]],function(f,e,l,C,v,E,G,B){var y=f.animObject,t=C.defaultOptions,h=v.registerEventOptions,d=E.deg2rad,b=B.arrayMax,p=B.arrayMin,q=B.clamp,r=B.correctFloat,n=B.defined,J=B.destroyObjectProperties,w=B.erase,z=B.error,x=B.extend,m=B.fireEvent,k=B.isArray,a=B.isNumber,g=B.isString,c=B.merge,D=B.normalizeTickInterval,A=B.objectEach,u=B.pick,L=B.relativeLength, +S=B.removeEvent,R=B.splat,M=B.syncTimeout,U=function(a,c){return D(c,void 0,void 0,u(a.options.allowDecimals,.5>c||void 0!==a.tickAmount),!!a.tickAmount)};f=function(){function f(a,c){this.zoomEnabled=this.width=this.visible=this.userOptions=this.translationSlope=this.transB=this.transA=this.top=this.ticks=this.tickRotCorr=this.tickPositions=this.tickmarkOffset=this.tickInterval=this.tickAmount=this.side=this.series=this.right=this.positiveValuesOnly=this.pos=this.pointRangePadding=this.pointRange= +this.plotLinesAndBandsGroups=this.plotLinesAndBands=this.paddedTicks=this.overlap=this.options=this.offset=this.names=this.minPixelPadding=this.minorTicks=this.minorTickInterval=this.min=this.maxLabelLength=this.max=this.len=this.left=this.labelFormatter=this.labelEdge=this.isLinked=this.height=this.hasVisibleSeries=this.hasNames=this.eventOptions=this.coll=this.closestPointRange=this.chart=this.bottom=this.alternateBands=void 0;this.init(a,c)}f.prototype.init=function(c,b){var g=b.isX;this.chart= +c;this.horiz=c.inverted&&!this.isZAxis?!g:g;this.isXAxis=g;this.coll=this.coll||(g?"xAxis":"yAxis");m(this,"init",{userOptions:b});this.opposite=u(b.opposite,this.opposite);this.side=u(b.side,this.side,this.horiz?this.opposite?0:2:this.opposite?1:3);this.setOptions(b);var d=this.options,k=d.labels,e=d.type;this.userOptions=b;this.minPixelPadding=0;this.reversed=u(d.reversed,this.reversed);this.visible=d.visible;this.zoomEnabled=d.zoomEnabled;this.hasNames="category"===e||!0===d.categories;this.categories= +d.categories||(this.hasNames?[]:void 0);this.names||(this.names=[],this.names.keys={});this.plotLinesAndBandsGroups={};this.positiveValuesOnly=!!this.logarithmic;this.isLinked=n(d.linkedTo);this.ticks={};this.labelEdge=[];this.minorTicks={};this.plotLinesAndBands=[];this.alternateBands={};this.len=0;this.minRange=this.userMinRange=d.minRange||d.maxZoom;this.range=d.range;this.offset=d.offset||0;this.min=this.max=null;b=u(d.crosshair,R(c.options.tooltip.crosshairs)[g?0:1]);this.crosshair=!0===b?{}: +b;-1===c.axes.indexOf(this)&&(g?c.axes.splice(c.xAxis.length,0,this):c.axes.push(this),c[this.coll].push(this));this.series=this.series||[];c.inverted&&!this.isZAxis&&g&&"undefined"===typeof this.reversed&&(this.reversed=!0);this.labelRotation=a(k.rotation)?k.rotation:void 0;h(this,d);m(this,"afterInit")};f.prototype.setOptions=function(a){this.options=c(e.defaultXAxisOptions,"yAxis"===this.coll&&e.defaultYAxisOptions,[e.defaultTopAxisOptions,e.defaultRightAxisOptions,e.defaultBottomAxisOptions,e.defaultLeftAxisOptions][this.side], +c(t[this.coll],a));m(this,"afterSetOptions",{userOptions:a})};f.prototype.defaultLabelFormatter=function(c){var b=this.axis;c=this.chart.numberFormatter;var g=a(this.value)?this.value:NaN,d=b.chart.time,k=this.dateTimeLabelFormat,e=t.lang,m=e.numericSymbols;e=e.numericSymbolMagnitude||1E3;var u=b.logarithmic?Math.abs(g):b.tickInterval,h=m&&m.length;if(b.categories)var f="".concat(this.value);else if(k)f=d.dateFormat(k,g);else if(h&&1E3<=u)for(;h--&&"undefined"===typeof f;)b=Math.pow(e,h+1),u>=b&& +0===10*g%b&&null!==m[h]&&0!==g&&(f=c(g/b,-1)+m[h]);"undefined"===typeof f&&(f=1E4<=Math.abs(g)?c(g,-1):c(g,-1,void 0,""));return f};f.prototype.getSeriesExtremes=function(){var c=this,b=c.chart,g;m(this,"getSeriesExtremes",null,function(){c.hasVisibleSeries=!1;c.dataMin=c.dataMax=c.threshold=null;c.softThreshold=!c.isXAxis;c.stacking&&c.stacking.buildStacks();c.series.forEach(function(d){if(d.visible||!b.options.chart.ignoreHiddenSeries){var k=d.options,e=k.threshold;c.hasVisibleSeries=!0;c.positiveValuesOnly&& +0>=e&&(e=null);if(c.isXAxis){if(k=d.xData,k.length){k=c.logarithmic?k.filter(c.validatePositiveValue):k;g=d.getXExtremes(k);var m=g.min;var h=g.max;a(m)||m instanceof Date||(k=k.filter(a),g=d.getXExtremes(k),m=g.min,h=g.max);k.length&&(c.dataMin=Math.min(u(c.dataMin,m),m),c.dataMax=Math.max(u(c.dataMax,h),h))}}else if(d=d.applyExtremes(),a(d.dataMin)&&(m=d.dataMin,c.dataMin=Math.min(u(c.dataMin,m),m)),a(d.dataMax)&&(h=d.dataMax,c.dataMax=Math.max(u(c.dataMax,h),h)),n(e)&&(c.threshold=e),!k.softThreshold|| +c.positiveValuesOnly)c.softThreshold=!1}})});m(this,"afterGetSeriesExtremes")};f.prototype.translate=function(c,b,g,d,k,e){var m=this.linkedParent||this,u=d&&m.old?m.old.min:m.min;if(!a(u))return NaN;var h=m.minPixelPadding;k=(m.isOrdinal||m.brokenAxis&&m.brokenAxis.hasBreaks||m.logarithmic&&k)&&m.lin2val;var f=1,p=0;d=d&&m.old?m.old.transA:m.transA;d||(d=m.transA);g&&(f*=-1,p=m.len);m.reversed&&(f*=-1,p-=f*(m.sector||m.len));b?(e=(c*f+p-h)/d+u,k&&(e=m.lin2val(e))):(k&&(c=m.val2lin(c)),c=f*(c-u)* +d,e=(m.isRadial?c:r(c))+p+f*h+(a(e)?d*e:0));return e};f.prototype.toPixels=function(a,c){return this.translate(a,!1,!this.horiz,void 0,!0)+(c?0:this.pos)};f.prototype.toValue=function(a,c){return this.translate(a-(c?0:this.pos),!0,!this.horiz,void 0,!0)};f.prototype.getPlotLinePath=function(c){function b(a,c,g){if("pass"!==r&&ag)r?a=q(a,c,g):L=!0;return a}var g=this,d=g.chart,k=g.left,e=g.top,h=c.old,f=c.value,p=c.lineWidth,n=h&&d.oldChartHeight||d.chartHeight,I=h&&d.oldChartWidth||d.chartWidth, +D=g.transB,A=c.translatedValue,r=c.force,l,t,x,z,L;c={value:f,lineWidth:p,old:h,force:r,acrossPanes:c.acrossPanes,translatedValue:A};m(this,"getPlotLinePath",c,function(c){A=u(A,g.translate(f,void 0,void 0,h));A=q(A,-1E5,1E5);l=x=Math.round(A+D);t=z=Math.round(n-A-D);a(A)?g.horiz?(t=e,z=n-g.bottom,l=x=b(l,k,k+g.width)):(l=k,x=I-g.right,t=z=b(t,e,e+g.height)):(L=!0,r=!1);c.path=L&&!r?null:d.renderer.crispLine([["M",l,t],["L",x,z]],p||1)});return c.path};f.prototype.getLinearTickPositions=function(a, +c,g){var b=r(Math.floor(c/a)*a);g=r(Math.ceil(g/a)*a);var d=[],k;r(b+a)===b&&(k=20);if(this.single)return[c];for(c=b;c<=g;){d.push(c);c=r(c+a,k);if(c===m)break;var m=c}return d};f.prototype.getMinorTickInterval=function(){var a=this.options;return!0===a.minorTicks?u(a.minorTickInterval,"auto"):!1===a.minorTicks?null:a.minorTickInterval};f.prototype.getMinorTickPositions=function(){var a=this.options,c=this.tickPositions,g=this.minorTickInterval,b=this.pointRangePadding||0,d=this.min-b;b=this.max+ +b;var k=b-d,m=[];if(k&&k/g=this.minRange;var D=this.minRange;var r=(D-d+g)/2;r=[g-r,u(a.min,g-r)];A&&(r[2]=this.logarithmic?this.logarithmic.log2lin(this.dataMin): +this.dataMin);g=b(r);d=[g+D,u(a.max,g+D)];A&&(d[2]=c?c.log2lin(this.dataMax):this.dataMax);d=p(d);d-g=q)x=q,D=0;else if(this.dataMax<=q){var L=q;A=0}this.min=u(l,x,this.dataMin);this.max=u(t,L,this.dataMax)}b&&(this.positiveValuesOnly&&!c&&0>=Math.min(this.min,u(this.dataMin,this.min))&&z(10,1,g),this.min=r(b.log2lin(this.min),16),this.max=r(b.log2lin(this.max),16));this.range&&n(this.max)&&(this.userMin=this.min=l=Math.max(this.dataMin, +this.minFromRange()),this.userMax=t=this.max,this.range=null);m(this,"foundExtremes");this.beforePadding&&this.beforePadding();this.adjustForMinRange();!(f||this.axisPointRange||this.stacking&&this.stacking.usePercentage||e)&&n(this.min)&&n(this.max)&&(g=this.max-this.min)&&(!n(l)&&D&&(this.min-=g*D),!n(t)&&A&&(this.max+=g*A));a(this.userMin)||(a(d.softMin)&&d.softMinthis.max&& +(this.max=t=d.softMax),a(d.ceiling)&&(this.max=Math.min(this.max,d.ceiling)));p&&n(this.dataMin)&&(q=q||0,!n(l)&&this.min=q?this.min=this.options.minRange?Math.min(q,this.max-this.minRange):q:!n(t)&&this.max>q&&this.dataMax<=q&&(this.max=this.options.minRange?Math.max(q,this.min+this.minRange):q));a(this.min)&&a(this.max)&&!this.chart.polar&&this.min>this.max&&(n(this.options.min)?this.max=this.min:n(this.options.max)&&(this.min=this.max));this.tickInterval=this.min===this.max||"undefined"=== +typeof this.min||"undefined"===typeof this.max?1:e&&this.linkedParent&&!I&&h===this.linkedParent.options.tickPixelInterval?I=this.linkedParent.tickInterval:u(I,this.tickAmount?(this.max-this.min)/Math.max(this.tickAmount-1,1):void 0,f?1:(this.max-this.min)*h/Math.max(this.len,h));if(k&&!c){var w=this.min!==(this.old&&this.old.min)||this.max!==(this.old&&this.old.max);this.series.forEach(function(a){a.forceCrop=a.forceCropping&&a.forceCropping();a.processData(w)});m(this,"postProcessData",{hasExtemesChanged:w})}this.setAxisTranslation(); +m(this,"initialAxisTranslation");this.pointRange&&!I&&(this.tickInterval=Math.max(this.pointRange,this.tickInterval));c=u(d.minTickInterval,this.dateTime&&!this.series.some(function(a){return a.noSharedTooltip})?this.closestPointRange:0);!I&&this.tickIntervalMath.max(2*this.len,200)))if(this.dateTime)g=this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(this.tickInterval,a.units),this.min,this.max,a.startOfWeek,this.ordinal&&this.ordinal.positions,this.closestPointRange,!0);else if(this.logarithmic)g=this.logarithmic.getLogTickPositions(this.tickInterval,this.min,this.max);else for(var e=a=this.tickInterval;e<=2*a;)if(g=this.getLinearTickPositions(this.tickInterval,this.min,this.max), +this.tickAmount&&g.length>this.tickAmount)this.tickInterval=U(this,e*=1.1);else break;else g=[this.min,this.max],z(19,!1,this.chart);g.length>this.len&&(g=[g[0],g.pop()],g[0]===g[1]&&(g.length=1));this.tickPositions=g;d&&(d=d.apply(this,[this.min,this.max]))&&(this.tickPositions=g=d)}this.paddedTicks=g.slice(0);this.trimTicks(g,k,b);this.isLinked||(this.single&&2>g.length&&!this.categories&&!this.series.some(function(a){return a.is("heatmap")&&"between"===a.options.pointPlacement})&&(this.min-=.5, +this.max+=.5),c||d||this.adjustTickAmount());m(this,"afterSetTickPositions")};f.prototype.trimTicks=function(a,c,g){var b=a[0],d=a[a.length-1],k=!this.isOrdinal&&this.minPointOffset||0;m(this,"trimTicks");if(!this.isLinked){if(c&&-Infinity!==b)this.min=b;else for(;this.min-k>a[0];)a.shift();if(g)this.max=d;else for(;this.max+kg&&(this.finalTickAmt=g,g=5);this.tickAmount=g};f.prototype.adjustTickAmount=function(){var c=this,g=c.finalTickAmt,b=c.max,d=c.min,k=c.options,m=c.tickPositions,e=c.tickAmount,h=c.thresholdAlignment,f=m&&m.length,p=u(c.threshold,c.softThreshold?0:null);var A=c.tickInterval;if(a(h)){var D=.5>h?Math.ceil(h* +(e-1)):Math.floor(h*(e-1));k.reversed&&(D=e-1-D)}if(c.hasData()&&a(d)&&a(b)){h=function(){c.transA*=(f-1)/(e-1);c.min=k.startOnTick?m[0]:Math.min(d,m[0]);c.max=k.endOnTick?m[m.length-1]:Math.max(b,m[m.length-1])};if(a(D)&&a(c.threshold)){for(;m[D]!==p||m.length!==e||m[0]>d||m[m.length-1]c.threshold?m.unshift(r(m[0]-A)):m.push(r(m[m.length-1]+A));if(A>8*c.tickInterval)break;A*=2}h()}else if(f=g&&0h&&(c=h)),n(d)&&(kh&&(k=h))),g.displayBtn="undefined"!==typeof c||"undefined"!==typeof k,g.setExtremes(c,k,!1,void 0,{trigger:"zoom"});a.zoomed= +!0});return a.zoomed};f.prototype.setAxisSize=function(){var a=this.chart,c=this.options,g=c.offsets||[0,0,0,0],b=this.horiz,d=this.width=Math.round(L(u(c.width,a.plotWidth-g[3]+g[1]),a.plotWidth)),k=this.height=Math.round(L(u(c.height,a.plotHeight-g[0]+g[2]),a.plotHeight)),m=this.top=Math.round(L(u(c.top,a.plotTop+g[0]),a.plotHeight,a.plotTop));c=this.left=Math.round(L(u(c.left,a.plotLeft+g[3]),a.plotWidth,a.plotLeft));this.bottom=a.chartHeight-k-m;this.right=a.chartWidth-d-c;this.len=Math.max(b? +d:k,0);this.pos=b?c:m};f.prototype.getExtremes=function(){var a=this.logarithmic;return{min:a?r(a.lin2log(this.min)):this.min,max:a?r(a.lin2log(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}};f.prototype.getThreshold=function(a){var c=this.logarithmic,g=c?c.lin2log(this.min):this.min;c=c?c.lin2log(this.max):this.max;null===a||-Infinity===a?a=g:Infinity===a?a=c:g>a?a=g:cc?a.align="right":195c&&(a.align="left")});return a.align};f.prototype.tickSize=function(a){var c=this.options,g=u(c["tick"===a?"tickWidth":"minorTickWidth"],"tick"===a&&this.isXAxis&&!this.categories?1:0),b=c["tick"===a?"tickLength":"minorTickLength"];if(g&&b){"inside"===c[a+"Position"]&&(b=-b);var d=[b,g]}a={tickSize:d};m(this,"afterTickSize",a);return a.tickSize};f.prototype.labelMetrics= +function(){var a=this.tickPositions&&this.tickPositions[0]||0;return this.chart.renderer.fontMetrics(this.options.labels.style.fontSize,this.ticks[a]&&this.ticks[a].label)};f.prototype.unsquish=function(){var c=this.options.labels,g=this.horiz,b=this.tickInterval,k=this.len/(((this.categories?1:0)+this.max-this.min)/b),m=c.rotation,e=this.labelMetrics(),h=Math.max(this.max-this.min,0),f=function(a){var c=a/(k||1);c=1h&&Infinity!==a&&Infinity!==k&&h&&(c=Math.ceil(h/b));return r(c* +b)},p=b,n,A,D=Number.MAX_VALUE;if(g){if(!c.staggerLines&&!c.step)if(a(m))var q=[m];else k=a){A=f(Math.abs(e.h/Math.sin(d*a)));var c=A+Math.abs(a/360);cd.step)return d.rotation?0:(this.staggerLines||1)*this.len/k;if(!b){c=d.style.width;if(void 0!==c)return parseInt(String(c),10);if(m)return m-g.spacing[3]}return.33*g.chartWidth};f.prototype.renderUnsquish=function(){var a=this.chart,c=a.renderer,b=this.tickPositions,d=this.ticks,k=this.options.labels,m=k.style,e=this.horiz,h=this.getSlotWidth(),u=Math.max(1,Math.round(h-2*k.padding)),f={},p=this.labelMetrics(),n=m.textOverflow,A=0;g(k.rotation)|| +(f.rotation=k.rotation||0);b.forEach(function(a){a=d[a];a.movedLabel&&a.replaceMovedLabel();a&&a.label&&a.label.textPxLength>A&&(A=a.label.textPxLength)});this.maxLabelLength=A;if(this.autoRotation)A>u&&A>p.h?f.rotation=this.labelRotation:this.labelRotation=0;else if(h){var D=u;if(!n){var r="clip";for(u=b.length;!e&&u--;){var q=b[u];if(q=d[q].label)q.styles&&"ellipsis"===q.styles.textOverflow?q.css({textOverflow:"clip"}):q.textPxLength>h&&q.css({width:h+"px"}),q.getBBox().height>this.len/b.length- +(p.h-p.f)&&(q.specificTextOverflow="ellipsis")}}}f.rotation&&(D=A>.5*a.chartHeight?.33*a.chartHeight:A,n||(r="ellipsis"));if(this.labelAlign=k.align||this.autoLabelAlign(this.labelRotation))f.align=this.labelAlign;b.forEach(function(a){var c=(a=d[a])&&a.label,g=m.width,b={};c&&(c.attr(f),a.shortenLabel?a.shortenLabel():D&&!g&&"nowrap"!==m.whiteSpace&&(D=this.min&&a<=this.max||this.grid&&this.grid.isColumn)b[a]||(b[a]=new G(this,a)),g&&b[a].isNew&&b[a].render(c,!0,-1),b[a].render(c)};f.prototype.render=function(){var c=this,g=c.chart,b=c.logarithmic,d=c.options,k=c.isLinked,e=c.tickPositions,h=c.axisTitle,f=c.ticks,u=c.minorTicks,p=c.alternateBands,n=d.stackLabels,D=d.alternateGridColor,r=c.tickmarkOffset, +q=c.axisLine,l=c.showAxis,t=y(g.renderer.globalAnimation),x,z;c.labelEdge.length=0;c.overlap=!1;[f,u,p].forEach(function(a){A(a,function(a){a.isActive=!1})});if(c.hasData()||k){var L=c.chart.hasRendered&&c.old&&a(c.old.min);c.minorTickInterval&&!c.categories&&c.getMinorTickPositions().forEach(function(a){c.renderMinorTick(a,L)});e.length&&(e.forEach(function(a,g){c.renderTick(a,g,L)}),r&&(0===c.min||c.single)&&(f[-1]||(f[-1]=new G(c,-1,null,!0)),f[-1].render(-1)));D&&e.forEach(function(a,d){z="undefined"!== +typeof e[d+1]?e[d+1]+r:c.max-r;0===d%2&&ab&&(!h||q<=e)&&"undefined"!==typeof q&&t.push(q);q>e&&(m=!0);q=a}}}else b=this.lin2log(b),e=this.lin2log(e),d=h?f.getMinorTickInterval():q.tickInterval,d=C("auto"===d?null:d,this.minorAutoInterval,q.tickPixelInterval/(h?5:1)*(e-b)/((h?p/f.tickPositions.length:p)||1)),d=l(d),t=f.getLinearTickPositions(d,b,e).map(this.log2lin),h||(this.minorAutoInterval=d/5);h||(f.tickInterval=d);return t};e.prototype.lin2log=function(d){return Math.pow(10,d)};e.prototype.log2lin= +function(d){return Math.log(d)/Math.LN10};return e}();f.Additions=t})(v||(v={}));return v});K(l,"Core/Axis/PlotLineOrBand/PlotLineOrBandAxis.js",[l["Core/Utilities.js"]],function(f){var e=f.erase,l=f.extend,C=f.isNumber,v;(function(f){var v=[],B;f.compose=function(e,h){B||(B=e);-1===v.indexOf(h)&&(v.push(h),l(h.prototype,y.prototype));return h};var y=function(){function f(){}f.prototype.getPlotBandPath=function(e,d,b){void 0===b&&(b=this.options);var h=this.getPlotLinePath({value:d,force:!0,acrossPanes:b.acrossPanes}), +f=[],r=this.horiz;d=!C(this.min)||!C(this.max)||ethis.max&&d>this.max;e=this.getPlotLinePath({value:e,force:!0,acrossPanes:b.acrossPanes});b=1;if(e&&h){if(d){var n=e.toString()===h.toString();b=0}for(d=0;dr-e?r:r-e);else if(F)k[a]=Math.max(h,f+e+g>c?f:f+e);else return!1},w=function(a,c,g,b,e){var m;ec-d?m=!1:k[a]=ec-b/2?c-b-2:e-g/2;return m},F=function(a){var c=r;r=q;q=c;l=a},T=function(){!1!==x.apply(0,r)?!1!==w.apply(0,q)||l||(F(!0),T()):l?k.x=k.y=0:(F(!0),T())};(b.inverted||1c})&&(a= +a.map(function(a){var b=c(a.anchorX,a.anchorY,a.point.isHeader,a.boxWidth,!1);return p(a,{target:b.y,x:b.x})}));b.cleanSplit();B(a,E);var C=Q,P=Q;a.forEach(function(a){var c=a.x,g=a.boxWidth;a=a.isHeader;a||(b.outside&&Q+cP&&(P=Q+c))});a.forEach(function(a){var c=a.x,g=a.anchorX,d=a.pos,k=a.point.isHeader;d={visibility:"undefined"===typeof d?"hidden":"inherit",x:c,y:d+Z,anchorX:g,anchorY:a.anchorY};if(b.outside&&cc[0]?Math.max(Math.abs(c[0]),k.width-c[0]):Math.max(Math.abs(c[0]),k.width);d.height=0>c[1]?Math.max(Math.abs(c[1]),k.height-Math.abs(c[1])):Math.max(Math.abs(c[1]),k.height);this.tracker?this.tracker.attr(d):(this.tracker=b.renderer.rect(d).addClass("highcharts-tracker").add(b),a.styledMode||this.tracker.attr({fill:"rgba(0,0,0,0)"}))}}};k.prototype.styledModeFormat=function(a){return a.replace('style="font-size: 10px"','class="highcharts-header"').replace(/style="color:{(point|series)\.color}"/g, +'class="highcharts-color-{$1.colorIndex}"')};k.prototype.tooltipFooterHeaderFormatter=function(a,b){var c=a.series,g=c.tooltipOptions,d=c.xAxis,k=d&&d.dateTime;d={isFooter:b,labelConfig:a};var e=g.xDateFormat,m=g[b?"footerFormat":"headerFormat"];q(this,"headerFormatter",d,function(b){k&&!e&&n(a.key)&&(e=k.getXDateFormat(a.key,g.dateTimeLabelFormats));k&&e&&(a.point&&a.point.tooltipDateKeys||["key"]).forEach(function(a){m=m.replace("{point."+a+"}","{point."+a+":"+e+"}")});c.chart.styledMode&&(m=this.styledModeFormat(m)); +b.text=E(m,{point:a,series:c},this.chart)});return d.text};k.prototype.update=function(a){this.destroy();w(!0,this.chart.options.tooltip.userOptions,a);this.init(this.chart,w(!0,this.options,a))};k.prototype.updatePosition=function(a){var b=this.chart,c=this.options,d=b.pointer,k=this.getLabel();d=d.getChartPosition();var e=(c.positioner||this.getPosition).call(this,k.width,k.height,a),m=a.plotX+b.plotLeft;a=a.plotY+b.plotTop;if(this.outside){c=c.borderWidth+2*this.distance;this.renderer.setSize(k.width+ +c,k.height+c,!1);if(1!==d.scaleX||1!==d.scaleY)h(this.container,{transform:"scale(".concat(d.scaleX,", ").concat(d.scaleY,")")}),m*=d.scaleX,a*=d.scaleY;m+=d.left-e.x;a+=d.top-e.y}this.move(Math.round(e.x),Math.round(e.y||0),m,a)};return k}();"";return f});K(l,"Core/Series/Point.js",[l["Core/Renderer/HTML/AST.js"],l["Core/Animation/AnimationUtilities.js"],l["Core/DefaultOptions.js"],l["Core/FormatUtilities.js"],l["Core/Utilities.js"]],function(f,e,l,C,v){var E=e.animObject,G=l.defaultOptions,B=C.format, +y=v.addEvent,t=v.defined,h=v.erase,d=v.extend,b=v.fireEvent,p=v.getNestedProperty,q=v.isArray,r=v.isFunction,n=v.isNumber,J=v.isObject,w=v.merge,z=v.objectEach,x=v.pick,m=v.syncTimeout,k=v.removeEvent,a=v.uniqueKey;e=function(){function g(){this.colorIndex=this.category=void 0;this.formatPrefix="point";this.id=void 0;this.isNull=!1;this.percentage=this.options=this.name=void 0;this.selected=!1;this.total=this.shapeArgs=this.series=void 0;this.visible=!0;this.x=void 0}g.prototype.animateBeforeDestroy= +function(){var a=this,b={x:a.startXPos,opacity:0},g=a.getGraphicalProps();g.singular.forEach(function(c){a[c]=a[c].animate("dataLabel"===c?{x:a[c].startXPos,y:a[c].startYPos,opacity:0}:b)});g.plural.forEach(function(c){a[c].forEach(function(c){c.element&&c.animate(d({x:a.startXPos},c.startYPos?{x:c.startXPos,y:c.startYPos}:{}))})})};g.prototype.applyOptions=function(a,b){var c=this.series,k=c.options.pointValKey||c.pointValKey;a=g.prototype.optionsToObject.call(this,a);d(this,a);this.options=this.options? +d(this.options,a):a;a.group&&delete this.group;a.dataLabels&&delete this.dataLabels;k&&(this.y=g.prototype.getNestedProperty.call(this,k));this.formatPrefix=(this.isNull=x(this.isValid&&!this.isValid(),null===this.x||!n(this.y)))?"null":"point";this.selected&&(this.state="select");"name"in this&&"undefined"===typeof b&&c.xAxis&&c.xAxis.hasNames&&(this.x=c.xAxis.nameToX(this));"undefined"===typeof this.x&&c?this.x="undefined"===typeof b?c.autoIncrement():b:n(a.x)&&c.options.relativeXValue&&(this.x= +c.autoIncrement(a.x));return this};g.prototype.destroy=function(){function a(){if(b.graphic||b.dataLabel||b.dataLabels)k(b),b.destroyElements();for(p in b)b[p]=null}var b=this,g=b.series,d=g.chart;g=g.options.dataSorting;var e=d.hoverPoints,f=E(b.series.chart.renderer.globalAnimation),p;b.legendItem&&d.legend.destroyItem(b);e&&(b.setState(),h(e,b),e.length||(d.hoverPoints=null));if(b===d.hoverPoint)b.onMouseOut();g&&g.enabled?(this.animateBeforeDestroy(),m(a,f.duration)):a();d.pointCount--};g.prototype.destroyElements= +function(a){var c=this;a=c.getGraphicalProps(a);a.singular.forEach(function(a){c[a]=c[a].destroy()});a.plural.forEach(function(a){c[a].forEach(function(a){a.element&&a.destroy()});delete c[a]})};g.prototype.firePointEvent=function(a,g,d){var c=this,k=this.series.options;(k.point.events[a]||c.options&&c.options.events&&c.options.events[a])&&c.importEvents();"click"===a&&k.allowPointSelect&&(d=function(a){c.select&&c.select(null,a.ctrlKey||a.metaKey||a.shiftKey)});b(c,a,g,d)};g.prototype.getClassName= +function(){return"highcharts-point"+(this.selected?" highcharts-point-select":"")+(this.negative?" highcharts-negative":"")+(this.isNull?" highcharts-null-point":"")+("undefined"!==typeof this.colorIndex?" highcharts-color-"+this.colorIndex:"")+(this.options.className?" "+this.options.className:"")+(this.zone&&this.zone.className?" "+this.zone.className.replace("highcharts-negative",""):"")};g.prototype.getGraphicalProps=function(a){var c=this,b=[],g={singular:[],plural:[]},d;a=a||{graphic:1,dataLabel:1}; +a.graphic&&b.push("graphic","upperGraphic","shadowGroup");a.dataLabel&&b.push("dataLabel","dataLabelUpper","connector");for(d=b.length;d--;){var k=b[d];c[k]&&g.singular.push(k)}["dataLabel","connector"].forEach(function(b){var d=b+"s";a[b]&&c[d]&&g.plural.push(d)});return g};g.prototype.getLabelConfig=function(){return{x:this.category,y:this.y,color:this.color,colorIndex:this.colorIndex,key:this.name||this.category,series:this.series,point:this,percentage:this.percentage,total:this.total||this.stackTotal}}; +g.prototype.getNestedProperty=function(a){if(a)return 0===a.indexOf("custom.")?p(a,this.options):this[a]};g.prototype.getZone=function(){var a=this.series,b=a.zones;a=a.zoneAxis||"y";var g,d=0;for(g=b[d];this[a]>=g.value;)g=b[++d];this.nonZonedColor||(this.nonZonedColor=this.color);this.color=g&&g.color&&!this.options.color?g.color:this.nonZonedColor;return g};g.prototype.hasNewShapeType=function(){return(this.graphic&&(this.graphic.symbolName||this.graphic.element.nodeName))!==this.shapeType};g.prototype.init= +function(c,g,d){this.series=c;this.applyOptions(g,d);this.id=t(this.id)?this.id:a();this.resolveColor();c.chart.pointCount++;b(this,"afterInit");return this};g.prototype.optionsToObject=function(a){var c=this.series,b=c.options.keys,d=b||c.pointArrayMap||["y"],k=d.length,e={},m=0,f=0;if(n(a)||null===a)e[d[0]]=a;else if(q(a))for(!b&&a.length>k&&(c=typeof a[0],"string"===c?e.name=a[0]:"number"===c&&(e.x=a[0]),m++);fe+f&&(t=e+f),zm+h&&(z=m+h),this.hasDragged=Math.sqrt(Math.pow(p-t,2)+Math.pow(n-z,2)),10c.options.findNearestPointBy.indexOf("y");c=c.searchPoint(a,b);if((b=r(c,!0)&&c.series)&&!(b=!r(k,!0))){b=k.distX-c.distX;var g=k.dist-c.dist,e=(c.series.group&&c.series.group.zIndex)-(k.series.group&&k.series.group.zIndex);b=0<(0!==b&&d?b:0!==g?g:0!==e?e:k.series.index>c.series.index?-1:1)}b&&(k=c)});return k};f.prototype.getChartCoordinatesFromPoint= +function(b,d){var a=b.series,g=a.xAxis;a=a.yAxis;var c=b.shapeArgs;if(g&&a){var k=w(b.clientX,b.plotX),e=b.plotY||0;b.isNode&&c&&q(c.x)&&q(c.y)&&(k=c.x,e=c.y);return d?{chartX:a.len+a.pos-e,chartY:g.len+g.pos-k}:{chartX:k+g.pos,chartY:e+a.pos}}if(c&&c.x&&c.y)return{chartX:c.x,chartY:c.y}};f.prototype.getChartPosition=function(){if(this.chartPosition)return this.chartPosition;var b=this.chart.container,d=J(b);this.chartPosition={left:d.left,top:d.top,scaleX:1,scaleY:1};var a=b.offsetWidth;b=b.offsetHeight; +2l.max&&(a=l.max-z,y=!0);y?(N-=.8*(N-f[m][0]),"number"===typeof x&&(x-=.8*(x-f[m][1])),d()):f[m]=[N,x];q||(e[m]=F-r,e[u]=z);e=q?1/w:w;c[u]=z;c[m]=a;g[q?b?"scaleY":"scaleX":"scale"+p]=w;g["translate"+p]=e*r+(N-e*A)};f.prototype.reset=function(b,d){var a=this.chart,g=a.hoverSeries,c=a.hoverPoint,e=a.hoverPoints,k=a.tooltip,f=k&&k.shared?e:c;b&&f&&z(f).forEach(function(a){a.series.isCartesian&& +"undefined"===typeof a.plotX&&(b=!1)});if(b)k&&f&&z(f).length&&(k.refresh(f),k.shared&&e?e.forEach(function(a){a.setState(a.state,!0);a.series.isCartesian&&(a.series.xAxis.crosshair&&a.series.xAxis.drawCrosshair(null,a),a.series.yAxis.crosshair&&a.series.yAxis.drawCrosshair(null,a))}):c&&(c.setState(c.state,!0),a.axes.forEach(function(a){a.crosshair&&c.series[a.coll]===a&&a.drawCrosshair(null,c)})));else{if(c)c.onMouseOut();e&&e.forEach(function(a){a.setState()});if(g)g.onMouseOut();k&&k.hide(d); +this.unDocMouseMove&&(this.unDocMouseMove=this.unDocMouseMove());a.axes.forEach(function(a){a.hideCrosshair()});this.hoverX=a.hoverPoints=a.hoverPoint=null}};f.prototype.runPointActions=function(d,e){var a=this.chart,g=a.tooltip&&a.tooltip.options.enabled?a.tooltip:void 0,c=g?g.shared:!1,k=e||a.hoverPoint,h=k&&k.series||a.hoverSeries;e=this.getHoverData(k,h,a.series,(!d||"touchmove"!==d.type)&&(!!e||h&&h.directTouch&&this.isDirectTouch),c,d);k=e.hoverPoint;h=e.hoverSeries;var m=e.hoverPoints;e=h&& +h.tooltipOptions.followPointer&&!h.tooltipOptions.split;var p=c&&h&&!h.noSharedTooltip;if(k&&(k!==a.hoverPoint||g&&g.isHidden)){(a.hoverPoints||[]).forEach(function(a){-1===m.indexOf(a)&&a.setState()});if(a.hoverSeries!==h)h.onMouseOver();this.applyInactiveState(m);(m||[]).forEach(function(a){a.setState("hover")});a.hoverPoint&&a.hoverPoint.firePointEvent("mouseOut");if(!k.series)return;a.hoverPoints=m;a.hoverPoint=k;k.firePointEvent("mouseOver",void 0,function(){g&&k&&g.refresh(p?m:k,d)})}else e&& +g&&!g.isHidden&&(c=g.getAnchor([{}],d),a.isInsidePlot(c[0],c[1],{visiblePlotOnly:!0})&&g.updatePosition({plotX:c[0],plotY:c[1]}));this.unDocMouseMove||(this.unDocMouseMove=B(a.container.ownerDocument,"mousemove",function(a){var c=E[f.hoverChartIndex];if(c)c.pointer.onDocumentMouseMove(a)}),this.eventsToUnbind.push(this.unDocMouseMove));a.axes.forEach(function(c){var g=w((c.crosshair||{}).snap,!0),e;g&&((e=a.hoverPoint)&&e.series[c.coll]===c||(e=b(m,function(a){return a.series&&a.series[c.coll]=== +c})));e||!g?c.drawCrosshair(d,e):c.hideCrosshair()})};f.prototype.scaleGroups=function(b,d){var a=this.chart;a.series.forEach(function(g){var c=b||g.getPlotBox();g.group&&(g.xAxis&&g.xAxis.zoomEnabled||a.mapView)&&(g.group.attr(c),g.markerGroup&&(g.markerGroup.attr(c),g.markerGroup.clip(d?a.clipRect:null)),g.dataLabelsGroup&&g.dataLabelsGroup.attr(c))});a.clipRect.attr(d||a.clipBox)};f.prototype.setDOMEvents=function(){var b=this,d=this.chart.container,a=d.ownerDocument;d.onmousedown=this.onContainerMouseDown.bind(this); +d.onmousemove=this.onContainerMouseMove.bind(this);d.onclick=this.onContainerClick.bind(this);this.eventsToUnbind.push(B(d,"mouseenter",this.onContainerMouseEnter.bind(this)));this.eventsToUnbind.push(B(d,"mouseleave",this.onContainerMouseLeave.bind(this)));f.unbindDocumentMouseUp||(f.unbindDocumentMouseUp=B(a,"mouseup",this.onDocumentMouseUp.bind(this)));for(var g=this.chart.renderTo.parentElement;g&&"BODY"!==g.tagName;)this.eventsToUnbind.push(B(g,"scroll",function(){delete b.chartPosition})),g= +g.parentElement;e.hasTouch&&(this.eventsToUnbind.push(B(d,"touchstart",this.onContainerTouchStart.bind(this),{passive:!1})),this.eventsToUnbind.push(B(d,"touchmove",this.onContainerTouchMove.bind(this),{passive:!1})),f.unbindDocumentTouchEnd||(f.unbindDocumentTouchEnd=B(a,"touchend",this.onDocumentTouchEnd.bind(this),{passive:!1})))};f.prototype.setHoverChartIndex=function(){var b=this.chart,d=e.charts[w(f.hoverChartIndex,-1)];if(d&&d!==b)d.pointer.onContainerMouseLeave({relatedTarget:b.container}); +d&&d.mouseIsDown||(f.hoverChartIndex=b.index)};f.prototype.touch=function(b,d){var a=this.chart,g;this.setHoverChartIndex();if(1===b.touches.length)if(b=this.normalize(b),(g=a.isInsidePlot(b.chartX-a.plotLeft,b.chartY-a.plotTop,{visiblePlotOnly:!0}))&&!a.openMenu){d&&this.runPointActions(b);if("touchmove"===b.type){d=this.pinchDown;var c=d[0]?4<=Math.sqrt(Math.pow(d[0].chartX-b.chartX,2)+Math.pow(d[0].chartY-b.chartY,2)):!1}w(c,!0)&&this.pinch(b)}else d&&this.reset();else 2===b.touches.length&&this.pinch(b)}; +f.prototype.touchSelect=function(b){return!(!this.chart.options.chart.zoomBySingleTouch||!b.touches||1!==b.touches.length)};f.prototype.zoomOption=function(b){var d=this.chart,a=d.options.chart;d=d.inverted;var g=a.zoomType||"";/touch/.test(b.type)&&(g=w(a.pinchType,g));this.zoomX=b=/x/.test(g);this.zoomY=a=/y/.test(g);this.zoomHor=b&&!d||a&&d;this.zoomVert=a&&!d||b&&d;this.hasZoom=b||a};return f}();"";return f});K(l,"Core/MSPointer.js",[l["Core/Globals.js"],l["Core/Pointer.js"],l["Core/Utilities.js"]], +function(f,e,l){function C(){var d=[];d.item=function(b){return this[b]};b(q,function(b){d.push({pageX:b.pageX,pageY:b.pageY,target:b.target})});return d}function v(b,d,f,h){var p=G[e.hoverChartIndex||NaN];"touch"!==b.pointerType&&b.pointerType!==b.MSPOINTER_TYPE_TOUCH||!p||(p=p.pointer,h(b),p[d]({type:f,target:b.currentTarget,preventDefault:y,touches:C()}))}var E=this&&this.__extends||function(){var b=function(d,e){b=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(b,d){b.__proto__= +d}||function(b,d){for(var e in d)d.hasOwnProperty(e)&&(b[e]=d[e])};return b(d,e)};return function(d,e){function f(){this.constructor=d}b(d,e);d.prototype=null===e?Object.create(e):(f.prototype=e.prototype,new f)}}(),G=f.charts,B=f.doc,y=f.noop,t=f.win,h=l.addEvent,d=l.css,b=l.objectEach,p=l.removeEvent,q={},r=!!t.PointerEvent;return function(b){function e(){return null!==b&&b.apply(this,arguments)||this}E(e,b);e.isRequired=function(){return!(f.hasTouch||!t.PointerEvent&&!t.MSPointerEvent)};e.prototype.batchMSEvents= +function(b){b(this.chart.container,r?"pointerdown":"MSPointerDown",this.onContainerPointerDown);b(this.chart.container,r?"pointermove":"MSPointerMove",this.onContainerPointerMove);b(B,r?"pointerup":"MSPointerUp",this.onDocumentPointerUp)};e.prototype.destroy=function(){this.batchMSEvents(p);b.prototype.destroy.call(this)};e.prototype.init=function(e,f){b.prototype.init.call(this,e,f);this.hasZoom&&d(e.container,{"-ms-touch-action":"none","touch-action":"none"})};e.prototype.onContainerPointerDown= +function(b){v(b,"onContainerTouchStart","touchstart",function(b){q[b.pointerId]={pageX:b.pageX,pageY:b.pageY,target:b.currentTarget}})};e.prototype.onContainerPointerMove=function(b){v(b,"onContainerTouchMove","touchmove",function(b){q[b.pointerId]={pageX:b.pageX,pageY:b.pageY};q[b.pointerId].target||(q[b.pointerId].target=b.currentTarget)})};e.prototype.onDocumentPointerUp=function(b){v(b,"onDocumentTouchEnd","touchend",function(b){delete q[b.pointerId]})};e.prototype.setDOMEvents=function(){b.prototype.setDOMEvents.call(this); +(this.hasZoom||this.followTouchMove)&&this.batchMSEvents(h)};return e}(e)});K(l,"Core/Legend/Legend.js",[l["Core/Animation/AnimationUtilities.js"],l["Core/FormatUtilities.js"],l["Core/Globals.js"],l["Core/Series/Point.js"],l["Core/Renderer/RendererUtilities.js"],l["Core/Utilities.js"]],function(f,e,l,C,v,E){var G=f.animObject,B=f.setAnimation,y=e.format;f=l.isFirefox;var t=l.marginNames;l=l.win;var h=v.distribute,d=E.addEvent,b=E.createElement,p=E.css,q=E.defined,r=E.discardElement,n=E.find,J=E.fireEvent, +w=E.isNumber,z=E.merge,x=E.pick,m=E.relativeLength,k=E.stableSort,a=E.syncTimeout;v=E.wrap;E=function(){function g(a,b){this.allItems=[];this.contentGroup=this.box=void 0;this.display=!1;this.group=void 0;this.offsetWidth=this.maxLegendWidth=this.maxItemWidth=this.legendWidth=this.legendHeight=this.lastLineHeight=this.lastItemY=this.itemY=this.itemX=this.itemMarginTop=this.itemMarginBottom=this.itemHeight=this.initialItemY=0;this.options=void 0;this.padding=0;this.pages=[];this.proximate=!1;this.scrollGroup= +void 0;this.widthOption=this.totalItemWidth=this.titleHeight=this.symbolWidth=this.symbolHeight=0;this.chart=a;this.init(a,b)}g.prototype.init=function(a,b){this.chart=a;this.setOptions(b);b.enabled&&(this.render(),d(this.chart,"endResize",function(){this.legend.positionCheckboxes()}),this.proximate?this.unchartrender=d(this.chart,"render",function(){this.legend.proximatePositions();this.legend.positionItems()}):this.unchartrender&&this.unchartrender())};g.prototype.setOptions=function(a){var c=x(a.padding, +8);this.options=a;this.chart.styledMode||(this.itemStyle=a.itemStyle,this.itemHiddenStyle=z(this.itemStyle,a.itemHiddenStyle));this.itemMarginTop=a.itemMarginTop||0;this.itemMarginBottom=a.itemMarginBottom||0;this.padding=c;this.initialItemY=c-5;this.symbolWidth=x(a.symbolWidth,16);this.pages=[];this.proximate="proximate"===a.layout&&!this.chart.inverted;this.baseline=void 0};g.prototype.update=function(a,b){var c=this.chart;this.setOptions(z(!0,this.options,a));this.destroy();c.isDirtyLegend=c.isDirtyBox= +!0;x(b,!0)&&c.redraw();J(this,"afterUpdate")};g.prototype.colorizeItem=function(a,b){a.legendGroup[b?"removeClass":"addClass"]("highcharts-legend-item-hidden");if(!this.chart.styledMode){var c=this.options,d=a.legendItem,g=a.legendLine,e=a.legendSymbol,f=this.itemHiddenStyle.color;c=b?c.itemStyle.color:f;var k=b?a.color||f:f,h=a.options&&a.options.marker,m={fill:k};d&&d.css({fill:c,color:c});g&&g.attr({stroke:k});e&&(h&&e.isMarker&&(m=a.pointAttribs(),b||(m.stroke=m.fill=f)),e.attr(m))}J(this,"afterColorizeItem", +{item:a,visible:b})};g.prototype.positionItems=function(){this.allItems.forEach(this.positionItem,this);this.chart.isResizing||this.positionCheckboxes()};g.prototype.positionItem=function(a){var c=this,b=this.options,d=b.symbolPadding,g=!b.rtl,e=a._legendItemPos;b=e[0];e=e[1];var f=a.checkbox,k=a.legendGroup;k&&k.element&&(d={translateX:g?b:this.legendWidth-b-2*d-4,translateY:e},g=function(){J(c,"afterPositionItem",{item:a})},q(k.translateY)?k.animate(d,void 0,g):(k.attr(d),g()));f&&(f.x=b,f.y=e)}; +g.prototype.destroyItem=function(a){var c=a.checkbox;["legendItem","legendLine","legendSymbol","legendGroup"].forEach(function(c){a[c]&&(a[c]=a[c].destroy())});c&&r(a.checkbox)};g.prototype.destroy=function(){function a(a){this[a]&&(this[a]=this[a].destroy())}this.getAllItems().forEach(function(c){["legendItem","legendGroup"].forEach(a,c)});"clipRect up down pager nav box title group".split(" ").forEach(a,this);this.display=null};g.prototype.positionCheckboxes=function(){var a=this.group&&this.group.alignAttr, +b=this.clipHeight||this.legendHeight,d=this.titleHeight;if(a){var g=a.translateY;this.allItems.forEach(function(c){var e=c.checkbox;if(e){var f=g+d+e.y+(this.scrollOffset||0)+3;p(e,{left:a.translateX+c.checkboxOffset+e.x-20+"px",top:f+"px",display:this.proximate||f>g-6&&f1.5*b?c.height:b))};g.prototype.layoutItem=function(a){var c=this.options,b=this.padding,d="horizontal"===c.layout,g=a.itemHeight,e=this.itemMarginBottom,f=this.itemMarginTop,k=d?x(c.itemDistance,20):0,h=this.maxLegendWidth;c=c.alignColumns&&this.totalItemWidth>h?this.maxItemWidth:a.itemWidth;d&&this.itemX-b+c>h&&(this.itemX=b,this.lastLineHeight&&(this.itemY+=f+this.lastLineHeight+e),this.lastLineHeight=0);this.lastItemY=f+this.itemY+e;this.lastLineHeight= +Math.max(g,this.lastLineHeight);a._legendItemPos=[this.itemX,this.itemY];d?this.itemX+=c:(this.itemY+=f+g+e,this.lastLineHeight=g);this.offsetWidth=this.widthOption||Math.max((d?this.itemX-b-(a.checkbox?0:k):c)+b,this.offsetWidth)};g.prototype.getAllItems=function(){var a=[];this.chart.series.forEach(function(c){var b=c&&c.options;c&&x(b.showInLegend,q(b.linkedTo)?!1:void 0,!0)&&(a=a.concat(c.legendItems||("point"===b.legendType?c.data:c)))});J(this,"afterGetAllItems",{allItems:a});return a};g.prototype.getAlignment= +function(){var a=this.options;return this.proximate?a.align.charAt(0)+"tv":a.floating?"":a.align.charAt(0)+a.verticalAlign.charAt(0)+a.layout.charAt(0)};g.prototype.adjustMargins=function(a,b){var c=this.chart,d=this.options,g=this.getAlignment();g&&[/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/].forEach(function(e,f){e.test(g)&&!q(a[f])&&(c[t[f]]=Math.max(c[t[f]],c.legend[(f+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][f]*d[f%2?"x":"y"]+x(d.margin,12)+b[f]+(c.titleOffset[f]||0)))})}; +g.prototype.proximatePositions=function(){var a=this.chart,b=[],d="left"===this.options.align;this.allItems.forEach(function(c){var g;var e=d;if(c.yAxis){c.xAxis.options.reversed&&(e=!e);c.points&&(g=n(e?c.points:c.points.slice(0).reverse(),function(a){return w(a.plotY)}));e=this.itemMarginTop+c.legendItem.getBBox().height+this.itemMarginBottom;var f=c.yAxis.top-a.plotTop;c.visible?(g=g?g.plotY:c.yAxis.height,g+=f-.3*e):g=f+c.yAxis.height;b.push({target:g,size:e,item:c})}},this);h(b,a.plotHeight).forEach(function(c){c.item._legendItemPos&& +c.pos&&(c.item._legendItemPos[1]=a.plotTop-a.spacing[0]+c.pos)})};g.prototype.render=function(){var a=this.chart,b=a.renderer,d=this.options,g=this.padding,e=this.getAllItems(),f=this.group,h=this.box;this.itemX=g;this.itemY=this.initialItemY;this.lastItemY=this.offsetWidth=0;this.widthOption=m(d.width,a.spacingBox.width-g);var p=a.spacingBox.width-2*g-d.x;-1<["rm","lm"].indexOf(this.getAlignment().substring(0,2))&&(p/=2);this.maxLegendWidth=this.widthOption||p;f||(this.group=f=b.g("legend").addClass(d.className|| +"").attr({zIndex:7}).add(),this.contentGroup=b.g().attr({zIndex:1}).add(f),this.scrollGroup=b.g().add(this.contentGroup));this.renderTitle();k(e,function(a,c){return(a.options&&a.options.legendIndex||0)-(c.options&&c.options.legendIndex||0)});d.reversed&&e.reverse();this.allItems=e;this.display=p=!!e.length;this.itemHeight=this.totalItemWidth=this.maxItemWidth=this.lastLineHeight=0;e.forEach(this.renderItem,this);e.forEach(this.layoutItem,this);e=(this.widthOption||this.offsetWidth)+g;var n=this.lastItemY+ +this.lastLineHeight+this.titleHeight;n=this.handleOverflow(n);n+=g;h||(this.box=h=b.rect().addClass("highcharts-legend-box").attr({r:d.borderRadius}).add(f));a.styledMode||h.attr({stroke:d.borderColor,"stroke-width":d.borderWidth||0,fill:d.backgroundColor||"none"}).shadow(d.shadow);if(0e&&!1!==m.enabled?(this.clipHeight=F=Math.max(e-20-this.titleHeight-k,0),this.currentPage=x(this.currentPage,1),this.fullHeight=a,r.forEach(function(a,c){var b=a._legendItemPos[1],d=Math.round(a.legendItem.getBBox().height), +g=l.length;if(!g||b-l[g-1]>F&&(z||b)!==l[g-1])l.push(z||b),g++;a.pageIx=g-1;z&&(r[c-1].pageIx=g-1);c===r.length-1&&b+d-l[g-1]>F&&d<=F&&(l.push(b),a.pageIx=g);b!==z&&(z=b)}),w||(w=c.clipRect=d.clipRect(0,k,9999,0),c.contentGroup.clip(w)),q(F),N||(this.nav=N=d.g().attr({zIndex:1}).add(this.group),this.up=d.symbol("triangle",0,0,n,n).add(N),t("upTracker").on("click",function(){c.scroll(-1,p)}),this.pager=d.text("",15,10).addClass("highcharts-legend-navigation"),!b.styledMode&&m.style&&this.pager.css(m.style), +this.pager.add(N),this.down=d.symbol("triangle-down",0,0,n,n).add(N),t("downTracker").on("click",function(){c.scroll(1,p)})),c.scroll(0),a=e):N&&(q(),this.nav=N.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0);return a};g.prototype.scroll=function(c,b){var d=this,g=this.chart,e=this.pages,f=e.length,k=this.clipHeight,h=this.options.navigation,m=this.pager,p=this.padding,n=this.currentPage+c;n>f&&(n=f);0=Math.max(h+e,n.pos)&&k<=Math.min(h+e+g.width,n.pos+n.len)||(a.isInsidePlot=!1)}!b.ignoreY&&a.isInsidePlot&&(d=p&&(d?p.xAxis:p.yAxis)||{pos:f,len:Infinity},b=b.paneCoordinates?d.pos+c:f+ +c,b>=Math.max(m+f,d.pos)&&b<=Math.min(m+f+g.height,d.pos+d.len)||(a.isInsidePlot=!1));O(this,"afterIsInsidePlot",a);return a.isInsidePlot};f.prototype.redraw=function(a){O(this,"beforeRedraw");var c=this.hasCartesianSeries?this.axes:this.colorAxis||[],b=this.series,d=this.pointer,g=this.legend,e=this.userOptions.legend,f=this.renderer,k=f.isHidden(),h=[],m=this.isDirtyBox,p=this.isDirtyLegend;this.setResponsive&&this.setResponsive(!1);J(this.hasRendered?a:!1,this);k&&this.temporaryDisplay();this.layOutTitles(); +for(a=b.length;a--;){var n=b[a];if(n.options.stacking||n.options.centerInCategory){var l=!0;if(n.isDirty){var F=!0;break}}}if(F)for(a=b.length;a--;)n=b[a],n.options.stacking&&(n.isDirty=!0);b.forEach(function(a){a.isDirty&&("point"===a.options.legendType?("function"===typeof a.updateTotals&&a.updateTotals(),p=!0):e&&(e.labelFormatter||e.labelFormat)&&(p=!0));a.isDirtyData&&O(a,"updatedData")});p&&g&&g.options.enabled&&(g.render(),this.isDirtyLegend=!1);l&&this.getStacks();c.forEach(function(a){a.updateNames(); +a.setScale()});this.getMargins();c.forEach(function(a){a.isDirty&&(m=!0)});c.forEach(function(a){var c=a.min+","+a.max;a.extKey!==c&&(a.extKey=c,h.push(function(){O(a,"afterSetExtremes",K(a.eventArgs,a.getExtremes()));delete a.eventArgs}));(m||l)&&a.redraw()});m&&this.drawChartBox();O(this,"predraw");b.forEach(function(a){(m||a.isDirty)&&a.visible&&a.redraw();a.isDirtyData=!1});d&&d.reset(!0);f.draw();O(this,"redraw");O(this,"render");k&&this.temporaryDisplay(!0);h.forEach(function(a){a.call()})}; +f.prototype.get=function(a){function c(c){return c.id===a||c.options&&c.options.id===a}for(var b=this.series,d=da(this.axes,c)||da(this.series,c),g=0;!d&&g=k&&d<=h||m||!U(d))n=!0;b[m?"zoomX":"zoomY"]&&n&&(e=f.zoom(a.min,a.max),f.displayBtn&&(g=!0))});var f=c.resetZoomButton;g&&!f?c.showResetZoom():!g&&N(f)&&(c.resetZoomButton=f.destroy());e&&c.redraw(Q(c.options.chart.animation,a&&a.animation,100>c.pointCount))}; +f.prototype.pan=function(a,c){var b=this,d=b.hoverPoints;c="object"===typeof c?c:{enabled:c,type:"x"};var g=b.options.chart;g&&g.panning&&(g.panning=c);var e=c.type,f;O(this,"pan",{originalEvent:a},function(){d&&d.forEach(function(a){a.setState()});var c=b.xAxis;"xy"===e?c=c.concat(b.yAxis):"y"===e&&(c=b.yAxis);var g={};c.forEach(function(c){if(c.options.panningEnabled&&!c.options.isInternal){var d=c.horiz,k=a[d?"chartX":"chartY"];d=d?"mouseDownX":"mouseDownY";var h=b[d],m=c.minPointOffset||0,n=c.reversed&& +!b.inverted||!c.reversed&&b.inverted?-1:1,p=c.getExtremes(),l=c.toValue(h-k,!0)+m*n,F=c.toValue(h+c.len-k,!0)-(m*n||c.isXAxis&&c.pointRangePadding||0),r=F=n&&l<=F&&(c.setExtremes(h,l,!1,!1,{trigger:"pan"}),!b.resetZoomButton&&h!==n&&l!==F&&e.match("y")&&(b.showResetZoom(),c.displayBtn= +!1),f=!0),g[d]=k)}});X(g,function(a,c){b[c]=a});f&&b.redraw(!1);M(b.container,{cursor:"move"})})};return f}();K(f.prototype,{callbacks:[],collectionsWithInit:{xAxis:[f.prototype.addAxis,[!0]],yAxis:[f.prototype.addAxis,[!1]],series:[f.prototype.addSeries]},collectionsWithUpdate:["xAxis","yAxis","series"],propsRequireDirtyBox:"backgroundColor borderColor borderWidth borderRadius plotBackgroundColor plotBackgroundImage plotBorderColor plotBorderWidth plotShadow shadow".split(" "),propsRequireReflow:"margin marginTop marginRight marginBottom marginLeft spacing spacingTop spacingRight spacingBottom spacingLeft".split(" "), +propsRequireUpdateSeries:"chart.inverted chart.polar chart.ignoreHiddenSeries chart.type colors plotOptions time tooltip".split(" ")});"";return f});K(l,"Core/Legend/LegendSymbol.js",[l["Core/Utilities.js"]],function(f){var e=f.merge,l=f.pick,C;(function(f){f.drawLineMarker=function(f){var v=this.options,B=f.symbolWidth,y=f.symbolHeight,t=y/2,h=this.chart.renderer,d=this.legendGroup;f=f.baseline-Math.round(.3*f.fontMetrics.b);var b={},p=v.marker;this.chart.styledMode||(b={"stroke-width":v.lineWidth|| +0},v.dashStyle&&(b.dashstyle=v.dashStyle));this.legendLine=h.path([["M",0,f],["L",B,f]]).addClass("highcharts-graph").attr(b).add(d);p&&!1!==p.enabled&&B&&(v=Math.min(l(p.radius,t),t),0===this.symbol.indexOf("url")&&(p=e(p,{width:y,height:y}),v=0),this.legendSymbol=B=h.symbol(this.symbol,B/2-v,f-v,2*v,2*v,p).addClass("highcharts-point").add(d),B.isMarker=!0)};f.drawRectangle=function(e,f){var v=e.symbolHeight,y=e.options.squareSymbol;f.legendSymbol=this.chart.renderer.rect(y?(e.symbolWidth-v)/2:0, +e.baseline-v+1,y?v:e.symbolWidth,v,l(e.options.symbolRadius,v/2)).addClass("highcharts-point").attr({zIndex:3}).add(f.legendGroup)}})(C||(C={}));return C});K(l,"Core/Series/SeriesDefaults.js",[],function(){return{lineWidth:2,allowPointSelect:!1,crisp:!0,showCheckbox:!1,animation:{duration:1E3},events:{},marker:{enabledThreshold:2,lineColor:"#ffffff",lineWidth:0,radius:4,states:{normal:{animation:!0},hover:{animation:{duration:50},enabled:!0,radiusPlus:2,lineWidthPlus:1},select:{fillColor:"#cccccc", +lineColor:"#000000",lineWidth:2}}},point:{events:{}},dataLabels:{animation:{},align:"center",defer:!0,formatter:function(){var f=this.series.chart.numberFormatter;return"number"!==typeof this.y?"":f(this.y,-1)},padding:5,style:{fontSize:"11px",fontWeight:"bold",color:"contrast",textOutline:"1px contrast"},verticalAlign:"bottom",x:0,y:0},cropThreshold:300,opacity:1,pointRange:0,softThreshold:!0,states:{normal:{animation:!0},hover:{animation:{duration:50},lineWidthPlus:1,marker:{},halo:{size:10,opacity:.25}}, +select:{animation:{duration:0}},inactive:{animation:{duration:50},opacity:.2}},stickyTracking:!0,turboThreshold:1E3,findNearestPointBy:"x"}});K(l,"Core/Series/Series.js",[l["Core/Animation/AnimationUtilities.js"],l["Core/DefaultOptions.js"],l["Core/Foundation.js"],l["Core/Globals.js"],l["Core/Legend/LegendSymbol.js"],l["Core/Series/Point.js"],l["Core/Series/SeriesDefaults.js"],l["Core/Series/SeriesRegistry.js"],l["Core/Renderer/SVG/SVGElement.js"],l["Core/Utilities.js"]],function(f,e,l,C,v,E,G,B, +y,t){var h=f.animObject,d=f.setAnimation,b=e.defaultOptions,p=l.registerEventOptions,q=C.hasTouch,r=C.svg,n=C.win,J=B.seriesTypes,w=t.addEvent,z=t.arrayMax,x=t.arrayMin,m=t.clamp,k=t.cleanRecursively,a=t.correctFloat,g=t.defined,c=t.erase,D=t.error,A=t.extend,u=t.find,L=t.fireEvent,S=t.getNestedProperty,R=t.isArray,M=t.isNumber,U=t.isString,P=t.merge,I=t.objectEach,H=t.pick,K=t.removeEvent,da=t.splat,O=t.syncTimeout;f=function(){function e(){this.zones=this.yAxis=this.xAxis=this.userOptions=this.tooltipOptions= +this.processedYData=this.processedXData=this.points=this.options=this.linkedSeries=this.index=this.eventsToUnbind=this.eventOptions=this.data=this.chart=this._i=void 0}e.prototype.init=function(a,c){L(this,"init",{options:c});var b=this,d=a.series;this.eventsToUnbind=[];b.chart=a;b.options=b.setOptions(c);c=b.options;b.linkedSeries=[];b.bindAxes();A(b,{name:c.name,state:"",visible:!1!==c.visible,selected:!0===c.selected});p(this,c);var g=c.events;if(g&&g.click||c.point&&c.point.events&&c.point.events.click|| +c.allowPointSelect)a.runTrackerClick=!0;b.getColor();b.getSymbol();b.parallelArrays.forEach(function(a){b[a+"Data"]||(b[a+"Data"]=[])});b.isCartesian&&(a.hasCartesianSeries=!0);var e;d.length&&(e=d[d.length-1]);b._i=H(e&&e._i,-1)+1;b.opacity=b.options.opacity;a.orderSeries(this.insert(d));c.dataSorting&&c.dataSorting.enabled?b.setDataSortingOptions():b.points||b.data||b.setData(c.data,!1);L(this,"afterInit")};e.prototype.is=function(a){return J[a]&&this instanceof J[a]};e.prototype.insert=function(a){var c= +this.options.index,b;if(M(c)){for(b=a.length;b--;)if(c>=H(a[b].options.index,a[b]._i)){a.splice(b+1,0,this);break}-1===b&&a.unshift(this);b+=1}else a.push(this);return H(b,a.length-1)};e.prototype.bindAxes=function(){var a=this,c=a.options,b=a.chart,d;L(this,"bindAxes",null,function(){(a.axisTypes||[]).forEach(function(g){var e=0;b[g].forEach(function(b){d=b.options;if(c[g]===e&&!d.isInternal||"undefined"!==typeof c[g]&&c[g]===d.id||"undefined"===typeof c[g]&&0===d.index)a.insert(b.series),a[g]=b, +b.isDirty=!0;d.isInternal||e++});a[g]||a.optionalAxis===g||D(18,!0,b)})});L(this,"afterBindAxes")};e.prototype.updateParallelArrays=function(a,c){var b=a.series,d=arguments,g=M(c)?function(d){var g="y"===d&&b.toYData?b.toYData(a):a[d];b[d+"Data"][c]=g}:function(a){Array.prototype[c].apply(b[a+"Data"],Array.prototype.slice.call(d,2))};b.parallelArrays.forEach(g)};e.prototype.hasData=function(){return this.visible&&"undefined"!==typeof this.dataMax&&"undefined"!==typeof this.dataMin||this.visible&& +this.yData&&0=this.cropStart?h-this.cropStart:h);!k&&M(h)&&g[h]&&g[h].touched&&(h=void 0);return h};e.prototype.updateData=function(a,c){var b=this.options,d=b.dataSorting,e=this.points,f=[],k=this.requireSorting,h=a.length===e.length,m,n,p,l=!0;this.xIncrement=null;a.forEach(function(a,c){var n=g(a)&&this.pointClass.prototype.optionsToObject.call({series:this}, +a)||{},l=n.x;if(n.id||M(l)){if(n=this.findPointIndex(n,p),-1===n||"undefined"===typeof n?f.push(a):e[n]&&a!==b.data[n]?(e[n].update(a,!1,null,!1),e[n].touched=!0,k&&(p=n+1)):e[n]&&(e[n].touched=!0),!h||c!==n||d&&d.enabled||this.hasDerivedData)m=!0}else f.push(a)},this);if(m)for(a=e.length;a--;)(n=e[a])&&!n.touched&&n.remove&&n.remove(!1,c);else!h||d&&d.enabled?l=!1:(a.forEach(function(a,c){a!==e[c].y&&e[c].update&&e[c].update(a,!1,null,!1)}),f.length=0);e.forEach(function(a){a&&(a.touched=!1)});if(!l)return!1; +f.forEach(function(a){this.addPoint(a,!1,null,null,!1)},this);null===this.xIncrement&&this.xData&&this.xData.length&&(this.xIncrement=z(this.xData),this.autoIncrement());return!0};e.prototype.setData=function(a,c,b,d){var g=this,e=g.points,f=e&&e.length||0,k=g.options,h=g.chart,m=k.dataSorting,n=g.xAxis,p=k.turboThreshold,l=this.xData,r=this.yData,q=g.pointArrayMap;q=q&&q.length;var F=k.keys,u,t=0,z=1,w=null;if(!h.options.chart.allowMutatingData){k.data&&delete g.options.data;g.userOptions.data&& +delete g.userOptions.data;var x=P(!0,a)}a=x||a||[];x=a.length;c=H(c,!0);m&&m.enabled&&(a=this.sortData(a));h.options.chart.allowMutatingData&&!1!==d&&x&&f&&!g.cropped&&!g.hasGroupedData&&g.visible&&!g.isSeriesBoosting&&(u=this.updateData(a,b));if(!u){g.xIncrement=null;g.colorCounter=0;this.parallelArrays.forEach(function(a){g[a+"Data"].length=0});if(p&&x>p)if(w=g.getFirstValidPoint(a),M(w))for(b=0;ba?1:0}).forEach(function(a, +c){a.x=c},this);c.linkedSeries&&c.linkedSeries.forEach(function(c){var b=c.options,g=b.data;b.dataSorting&&b.dataSorting.enabled||!g||(g.forEach(function(b,e){g[e]=d(c,b);a[e]&&(g[e].x=a[e].x,g[e].index=e)}),c.setData(g,!1))});return a};e.prototype.getProcessedData=function(a){var c=this.xAxis,b=this.options,d=b.cropThreshold,g=a||this.getExtremesFromAll||b.getExtremesFromAll,e=this.isCartesian;a=c&&c.val2lin;b=!(!c||!c.logarithmic);var f=0,k=this.xData,h=this.yData,m=this.requireSorting;var n=!1; +var p=k.length;if(c){n=c.getExtremes();var l=n.min;var r=n.max;n=!(!c.categories||c.names.length)}if(e&&this.sorted&&!g&&(!d||p>d||this.forceCrop))if(k[p-1]r)k=[],h=[];else if(this.yData&&(k[0]r)){var q=this.cropData(this.xData,this.yData,l,r);k=q.xData;h=q.yData;f=q.start;q=!0}for(d=k.length||1;--d;)if(c=b?a(k[d])-a(k[d-1]):k[d]-k[d-1],0c&&m&&!n&&(D(15,!1,this.chart),m=!1);return{xData:k,yData:h,cropped:q,cropStart:f,closestPointRange:u}}; +e.prototype.processData=function(a){var c=this.xAxis;if(this.isCartesian&&!this.isDirty&&!c.isDirty&&!this.yAxis.isDirty&&!a)return!1;a=this.getProcessedData();this.cropped=a.cropped;this.cropStart=a.cropStart;this.processedXData=a.xData;this.processedYData=a.yData;this.closestPointRange=this.basePointRange=a.closestPointRange;L(this,"afterProcessData")};e.prototype.cropData=function(a,c,b,d,g){var e=a.length,f,k=0,h=e;g=H(g,this.cropShoulder);for(f=0;f=b){k=Math.max(0,f-g);break}for(b= +f;bd){h=b+g;break}return{xData:a.slice(k,h),yData:c.slice(k,h),start:k,end:h}};e.prototype.generatePoints=function(){var a=this.options,c=this.processedData||a.data,b=this.processedXData,d=this.processedYData,g=this.pointClass,e=b.length,f=this.cropStart||0,k=this.hasGroupedData,h=a.keys,m=[];a=a.dataGrouping&&a.dataGrouping.groupAll?f:0;var n,p,l=this.data;if(!l&&!k){var r=[];r.length=c.length;l=this.data=r}h&&k&&(this.options.keys=!1);for(p=0;p=h&&(g[k-f]||q)<=m;if(r&& +q)if(r=l.length)for(;r--;)M(l[r])&&(e[n++]=l[r]);else e[n++]=l}a={activeYData:e,dataMin:x(e),dataMax:z(e)};L(this,"afterGetExtremes",{dataExtremes:a});return a};e.prototype.applyExtremes=function(){var a=this.getExtremes();this.dataMin=a.dataMin;this.dataMax=a.dataMax;return a};e.prototype.getFirstValidPoint=function(a){for(var c=a.length,b=0,d=null;null===d&&b=J&&(J=null),x.total=x.stackTotal=y.total,x.percentage=y.total&&x.y/y.total*100,x.stackY=v,this.irregularWidths||y.setOffset(this.pointXOffset||0,this.barW||0));x.yBottom=g(J)?m(k.translate(J,0,1,0,1),-1E5,1E5):null;this.dataModify&&(v= +this.dataModify.modifyValue(v,t));x.plotY=void 0;M(v)&&(y=k.translate(v,!1,!0,!1,!0),"undefined"!==typeof y&&(x.plotY=m(y,-1E5,1E5)));x.isInside=this.isPointInside(x);x.clientX=l?a(d.translate(A,0,0,0,1,p)):z;x.negative=x[u]<(c[u+"Threshold"]||q||0);x.category=H(e&&e[x.x],x.x);if(!x.isNull&&!1!==x.visible){"undefined"!==typeof G&&(w=Math.min(w,Math.abs(z-G)));var G=z}x.zone=this.zones.length?x.getZone():void 0;!x.graphic&&this.group&&f&&(x.isNew=!0)}this.closestPointRangePx=w;L(this,"afterTranslate")}; +e.prototype.getValidPoints=function(a,c,b){var d=this.chart;return(a||this.points||[]).filter(function(a){return c&&!d.isInsidePlot(a.plotX,a.plotY,{inverted:d.inverted})?!1:!1!==a.visible&&(b||!a.isNull)})};e.prototype.getClipBox=function(){var a=this.chart,c=this.xAxis,b=this.yAxis,d=P(a.clipBox);c&&c.len!==a.plotSizeX&&(d.width=c.len);b&&b.len!==a.plotSizeY&&(d.height=b.len);return d};e.prototype.getSharedClipKey=function(){return this.sharedClipKey=(this.options.xAxis||0)+","+(this.options.yAxis|| +0)};e.prototype.setClip=function(){var a=this.chart,c=this.group,b=this.markerGroup,d=a.sharedClips;a=a.renderer;var g=this.getClipBox(),e=this.getSharedClipKey(),f=d[e];f?f.animate(g):d[e]=f=a.clipRect(g);c&&c.clip(!1===this.options.clip?void 0:f);b&&b.clip()};e.prototype.animate=function(a){var c=this.chart,b=this.group,d=this.markerGroup,g=c.inverted,e=h(this.options.animation),f=[this.getSharedClipKey(),e.duration,e.easing,e.defer].join(),k=c.sharedClips[f],m=c.sharedClips[f+"m"];if(a&&b)e=this.getClipBox(), +k?k.attr("height",e.height):(e.width=0,g&&(e.x=c.plotHeight),k=c.renderer.clipRect(e),c.sharedClips[f]=k,m=c.renderer.clipRect({x:g?(c.plotSizeX||0)+99:-99,y:g?-c.plotLeft:-c.plotTop,width:99,height:g?c.chartWidth:c.chartHeight}),c.sharedClips[f+"m"]=m),b.clip(k),d&&d.clip(m);else if(k&&!k.hasClass("highcharts-animating")){c=this.getClipBox();var n=e.step;d&&d.element.childNodes.length&&(e.step=function(a,c){n&&n.apply(c,arguments);m&&m.element&&m.attr(c.prop,"width"===c.prop?a+99:a)});k.addClass("highcharts-animating").animate(c, +e)}};e.prototype.afterAnimate=function(){var a=this;this.setClip();I(this.chart.sharedClips,function(c,b,d){c&&!a.chart.container.querySelector('[clip-path="url(#'.concat(c.id,')"]'))&&(c.destroy(),delete d[b])});this.finishedAnimating=!0;L(this,"afterAnimate")};e.prototype.drawPoints=function(){var a=this.points,c=this.chart,b=this.options.marker,d=this[this.specialGroup]||this.markerGroup,g=this.xAxis,e=H(b.enabled,!g||g.isRadial?!0:null,this.closestPointRangePx>=b.enabledThreshold*b.radius),f, +k;if(!1!==b.enabled||this._hasPointMarkers)for(f=0;fD.max;a.resetZones&&0===l&&(l=void 0)});this.clips=g}else a.visible&&(e&&e.show(),f&&f.show())};e.prototype.invertGroups= +function(a){function c(){["group","markerGroup"].forEach(function(c){b[c]&&(d.renderer.isVML&&b[c].attr({width:b.yAxis.len,height:b.xAxis.len}),b[c].width=b.yAxis.len,b[c].height=b.xAxis.len,b[c].invert(b.isRadialSeries?!1:a))})}var b=this,d=b.chart;b.xAxis&&(b.eventsToUnbind.push(w(d,"resize",c)),c(),b.invertGroups=c)};e.prototype.plotGroup=function(a,c,b,d,e){var f=this[a],k=!f;b={visibility:b,zIndex:d||.1};"undefined"===typeof this.opacity||this.chart.styledMode||"inactive"===this.state||(b.opacity= +this.opacity);k&&(this[a]=f=this.chart.renderer.g().add(e));f.addClass("highcharts-"+c+" highcharts-series-"+this.index+" highcharts-"+this.type+"-series "+(g(this.colorIndex)?"highcharts-color-"+this.colorIndex+" ":"")+(this.options.className||"")+(f.hasClass("highcharts-tracker")?" highcharts-tracker":""),!0);f.attr(b)[k?"attr":"animate"](this.getPlotBox());return f};e.prototype.getPlotBox=function(){var a=this.chart,c=this.xAxis,b=this.yAxis;a.inverted&&(c=b,b=this.xAxis);return{translateX:c?c.left: +a.plotLeft,translateY:b?b.top:a.plotTop,scaleX:1,scaleY:1}};e.prototype.removeEvents=function(a){a||K(this);this.eventsToUnbind.length&&(this.eventsToUnbind.forEach(function(a){a()}),this.eventsToUnbind.length=0)};e.prototype.render=function(){var a=this,c=a.chart,b=a.options,d=h(b.animation),g=a.visible?"inherit":"hidden",e=b.zIndex,f=a.hasRendered,k=c.seriesGroup,m=c.inverted;c=!a.finishedAnimating&&c.renderer.isSVG?d.duration:0;L(this,"render");var n=a.plotGroup("group","series",g,e,k);a.markerGroup= +a.plotGroup("markerGroup","markers",g,e,k);!1!==b.clip&&a.setClip();a.animate&&c&&a.animate(!0);n.inverted=H(a.invertible,a.isCartesian)?m:!1;a.drawGraph&&(a.drawGraph(),a.applyZones());a.visible&&a.drawPoints();a.drawDataLabels&&a.drawDataLabels();a.redrawPoints&&a.redrawPoints();a.drawTracker&&!1!==a.options.enableMouseTracking&&a.drawTracker();a.invertGroups(m);a.animate&&c&&a.animate();f||(c&&d.defer&&(c+=d.defer),a.animationTimeout=O(function(){a.afterAnimate()},c||0));a.isDirty=!1;a.hasRendered= +!0;L(a,"afterRender")};e.prototype.redraw=function(){var a=this.chart,c=this.isDirty||this.isDirtyData,b=this.group,d=this.xAxis,g=this.yAxis;b&&(a.inverted&&b.attr({width:a.plotWidth,height:a.plotHeight}),b.animate({translateX:H(d&&d.left,a.plotLeft),translateY:H(g&&g.top,a.plotTop)}));this.translate();this.render();c&&delete this.kdTree};e.prototype.searchPoint=function(a,c){var b=this.xAxis,d=this.yAxis,g=this.chart.inverted;return this.searchKDTree({clientX:g?b.len-a.chartY+b.pos:a.chartX-b.pos, +plotY:g?d.len-a.chartX+d.pos:a.chartY-d.pos},c,a)};e.prototype.buildKDTree=function(a){function c(a,d,g){var e=a&&a.length;if(e){var f=b.kdAxisArray[d%g];a.sort(function(a,c){return a[f]-c[f]});e=Math.floor(e/2);return{point:a[e],left:c(a.slice(0,e),d+1,g),right:c(a.slice(e+1),d+1,g)}}}this.buildingKdTree=!0;var b=this,d=-1p?"left":"right";q=0>p?"right":"left";c[r]&&(r=d(a,c[r],b+1,m),l=r[h]q;)r--;this.updateParallelArrays(l,"splice",r,0,0);this.updateParallelArrays(l,r);h&&l.name&&(h[q]=l.name);m.splice(r,0,a);if(p||this.processedData)this.data.splice(r,0,null),this.processData();"point"===e.legendType&&this.generatePoints(); +b&&(f[0]&&f[0].remove?f[0].remove(!1):(f.shift(),this.updateParallelArrays(l,"shift"),m.shift()));!1!==g&&L(this,"addPoint",{point:l});this.isDirtyData=this.isDirty=!0;c&&k.redraw(d)};e.prototype.removePoint=function(a,c,b){var g=this,e=g.data,f=e[a],k=g.points,h=g.chart,m=function(){k&&k.length===e.length&&k.splice(a,1);e.splice(a,1);g.options.data.splice(a,1);g.updateParallelArrays(f||{series:g},"splice",a,1);f&&f.destroy();g.isDirty=!0;g.isDirtyData=!0;c&&h.redraw()};d(b,h);c=H(c,!0);f?f.firePointEvent("remove", +null,m):m()};e.prototype.remove=function(a,c,b,d){function g(){e.destroy(d);f.isDirtyLegend=f.isDirtyBox=!0;f.linkSeries();H(a,!0)&&f.redraw(c)}var e=this,f=e.chart;!1!==b?L(e,"remove",null,g):g()};e.prototype.update=function(a,c){a=k(a,this.userOptions);L(this,"update",{options:a});var b=this,d=b.chart,g=b.userOptions,e=b.initialType||b.type,f=d.options.plotOptions,h=J[e].prototype,m=b.finishedAnimating&&{animation:!1},n={},p,l=["eventOptions","navigatorSeries","baseSeries"],q=a.type||g.type||d.options.chart.type, +r=!(this.hasDerivedData||q&&q!==this.type||"undefined"!==typeof a.pointStart||"undefined"!==typeof a.pointInterval||"undefined"!==typeof a.relativeXValue||a.joinBy||a.mapData||b.hasOptionChanged("dataGrouping")||b.hasOptionChanged("pointStart")||b.hasOptionChanged("pointInterval")||b.hasOptionChanged("pointIntervalUnit")||b.hasOptionChanged("keys"));q=q||e;r&&(l.push("data","isDirtyData","points","processedData","processedXData","processedYData","xIncrement","cropped","_hasPointMarkers","_hasPointLabels", +"clips","nodes","layout","level","mapMap","mapData","minY","maxY","minX","maxX"),!1!==a.visible&&l.push("area","graph"),b.parallelArrays.forEach(function(a){l.push(a+"Data")}),a.data&&(a.dataSorting&&A(b.options.dataSorting,a.dataSorting),this.setData(a.data,!1)));a=P(g,m,{index:"undefined"===typeof g.index?b.index:g.index,pointStart:H(f&&f.series&&f.series.pointStart,g.pointStart,b.xData[0])},!r&&{data:b.options.data},a);r&&a.data&&(a.data=b.options.data);l=["group","markerGroup","dataLabelsGroup", +"transformGroup"].concat(l);l.forEach(function(a){l[a]=b[a];delete b[a]});f=!1;if(J[q]){if(f=q!==b.type,b.remove(!1,!1,!1,!0),f)if(Object.setPrototypeOf)Object.setPrototypeOf(b,J[q].prototype);else{m=Object.hasOwnProperty.call(b,"hcEvents")&&b.hcEvents;for(p in h)b[p]=void 0;A(b,J[q].prototype);m?b.hcEvents=m:delete b.hcEvents}}else D(17,!0,d,{missingModuleFor:q});l.forEach(function(a){b[a]=l[a]});b.init(d,a);if(r&&this.points){var u=b.options;!1===u.visible?(n.graphic=1,n.dataLabel=1):b._hasPointLabels|| +(a=u.marker,h=u.dataLabels,!a||!1!==a.enabled&&(g.marker&&g.marker.symbol)===a.symbol||(n.graphic=1),h&&!1===h.enabled&&(n.dataLabel=1));this.points.forEach(function(a){a&&a.series&&(a.resolveColor(),Object.keys(n).length&&a.destroyElements(n),!1===u.showInLegend&&a.legendItem&&d.legend.destroyItem(a))},this)}b.initialType=e;d.linkSeries();f&&b.linkedSeries.length&&(b.isDirtyData=!0);L(this,"afterUpdate");H(c,!0)&&d.redraw(r?void 0:!1)};e.prototype.setName=function(a){this.name=this.options.name= +this.userOptions.name=a;this.chart.isDirtyLegend=!0};e.prototype.hasOptionChanged=function(a){var c=this.options[a],b=this.chart.options.plotOptions,d=this.userOptions[a];return d?c!==d:c!==H(b&&b[this.type]&&b[this.type][a],b&&b.series&&b.series[a],c)};e.prototype.onMouseOver=function(){var a=this.chart,c=a.hoverSeries;a.pointer.setHoverChartIndex();if(c&&c!==this)c.onMouseOut();this.options.events.mouseOver&&L(this,"mouseOver");this.setState("hover");a.hoverSeries=this};e.prototype.onMouseOut=function(){var a= +this.options,c=this.chart,b=c.tooltip,d=c.hoverPoint;c.hoverSeries=null;if(d)d.onMouseOut();this&&a.events.mouseOut&&L(this,"mouseOut");!b||this.stickyTracking||b.shared&&!this.noSharedTooltip||b.hide();c.series.forEach(function(a){a.setState("",!0)})};e.prototype.setState=function(a,c){var b=this,d=b.options,g=b.graph,e=d.inactiveOtherPoints,f=d.states,k=H(f[a||"normal"]&&f[a||"normal"].animation,b.chart.options.chart.animation),h=d.lineWidth,m=0,n=d.opacity;a=a||"";if(b.state!==a&&([b.group,b.markerGroup, +b.dataLabelsGroup].forEach(function(c){c&&(b.state&&c.removeClass("highcharts-series-"+b.state),a&&c.addClass("highcharts-series-"+a))}),b.state=a,!b.chart.styledMode)){if(f[a]&&!1===f[a].enabled)return;a&&(h=f[a].lineWidth||h+(f[a].lineWidthPlus||0),n=H(f[a].opacity,n));if(g&&!g.dashstyle)for(d={"stroke-width":h},g.animate(d,k);b["zone-graph-"+m];)b["zone-graph-"+m].animate(d,k),m+=1;e||[b.group,b.markerGroup,b.dataLabelsGroup,b.labelBySeries].forEach(function(a){a&&a.animate({opacity:n},k)})}c&& +e&&b.points&&b.setAllPointsToState(a||void 0)};e.prototype.setAllPointsToState=function(a){this.points.forEach(function(c){c.setState&&c.setState(a)})};e.prototype.setVisible=function(a,c){var b=this,d=b.chart,g=b.legendItem,e=d.options.chart.ignoreHiddenSeries,f=b.visible,k=(b.visible=a=b.options.visible=b.userOptions.visible="undefined"===typeof a?!f:a)?"show":"hide";["group","dataLabelsGroup","markerGroup","tracker","tt"].forEach(function(a){if(b[a])b[a][k]()});if(d.hoverSeries===b||(d.hoverPoint&& +d.hoverPoint.series)===b)b.onMouseOut();g&&d.legend.colorizeItem(b,a);b.isDirty=!0;b.options.stacking&&d.series.forEach(function(a){a.options.stacking&&a.visible&&(a.isDirty=!0)});b.linkedSeries.forEach(function(c){c.setVisible(a,!1)});e&&(d.isDirtyBox=!0);L(b,k);!1!==c&&d.redraw()};e.prototype.show=function(){this.setVisible(!0)};e.prototype.hide=function(){this.setVisible(!1)};e.prototype.select=function(a){this.selected=a=this.options.selected="undefined"===typeof a?!this.selected:a;this.checkbox&& +(this.checkbox.checked=a);L(this,a?"select":"unselect")};e.prototype.shouldShowTooltip=function(a,c,b){void 0===b&&(b={});b.series=this;b.visiblePlotOnly=!0;return this.chart.isInsidePlot(a,c,b)};e.defaultOptions=G;return e}();A(f.prototype,{axisTypes:["xAxis","yAxis"],coll:"series",colorCounter:0,cropShoulder:1,directTouch:!1,drawLegendSymbol:v.drawLineMarker,isCartesian:!0,kdAxisArray:["clientX","plotY"],parallelArrays:["x","y"],pointClass:E,requireSorting:!0,sorted:!0});B.series=f;"";"";return f}); +K(l,"Extensions/ScrollablePlotArea.js",[l["Core/Animation/AnimationUtilities.js"],l["Core/Axis/Axis.js"],l["Core/Chart/Chart.js"],l["Core/Series/Series.js"],l["Core/Renderer/RendererRegistry.js"],l["Core/Utilities.js"]],function(f,e,l,C,v,E){var G=f.stop,B=E.addEvent,y=E.createElement,t=E.defined,h=E.merge,d=E.pick;B(l,"afterSetChartSize",function(b){var d=this.options.chart.scrollablePlotArea,f=d&&d.minWidth;d=d&&d.minHeight;if(!this.renderer.forExport){if(f){if(this.scrollablePixelsX=f=Math.max(0, +f-this.chartWidth)){this.scrollablePlotBox=this.renderer.scrollablePlotBox=h(this.plotBox);this.plotBox.width=this.plotWidth+=f;this.inverted?this.clipBox.height+=f:this.clipBox.width+=f;var l={1:{name:"right",value:f}}}}else d&&(this.scrollablePixelsY=f=Math.max(0,d-this.chartHeight),t(f)&&(this.scrollablePlotBox=this.renderer.scrollablePlotBox=h(this.plotBox),this.plotBox.height=this.plotHeight+=f,this.inverted?this.clipBox.width+=f:this.clipBox.height+=f,l={2:{name:"bottom",value:f}}));l&&!b.skipAxes&& +this.axes.forEach(function(b){l[b.side]?b.getPlotLinePath=function(){var d=l[b.side].name,f=this[d];this[d]=f-l[b.side].value;var h=e.prototype.getPlotLinePath.apply(this,arguments);this[d]=f;return h}:(b.setAxisSize(),b.setAxisTranslation())})}});B(l,"render",function(){this.scrollablePixelsX||this.scrollablePixelsY?(this.setUpScrolling&&this.setUpScrolling(),this.applyFixed()):this.fixedDiv&&this.applyFixed()});l.prototype.setUpScrolling=function(){var b=this,d={WebkitOverflowScrolling:"touch", +overflowX:"hidden",overflowY:"hidden"};this.scrollablePixelsX&&(d.overflowX="auto");this.scrollablePixelsY&&(d.overflowY="auto");this.scrollingParent=y("div",{className:"highcharts-scrolling-parent"},{position:"relative"},this.renderTo);this.scrollingContainer=y("div",{className:"highcharts-scrolling"},d,this.scrollingParent);B(this.scrollingContainer,"scroll",function(){b.pointer&&delete b.pointer.chartPosition});this.innerContainer=y("div",{className:"highcharts-inner-container"},null,this.scrollingContainer); +this.innerContainer.appendChild(this.container);this.setUpScrolling=null};l.prototype.moveFixedElements=function(){var b=this.container,d=this.fixedRenderer,e=".highcharts-contextbutton .highcharts-credits .highcharts-legend .highcharts-legend-checkbox .highcharts-navigator-series .highcharts-navigator-xaxis .highcharts-navigator-yaxis .highcharts-navigator .highcharts-reset-zoom .highcharts-drillup-button .highcharts-scrollbar .highcharts-subtitle .highcharts-title".split(" "),f;this.scrollablePixelsX&& +!this.inverted?f=".highcharts-yaxis":this.scrollablePixelsX&&this.inverted?f=".highcharts-xaxis":this.scrollablePixelsY&&!this.inverted?f=".highcharts-xaxis":this.scrollablePixelsY&&this.inverted&&(f=".highcharts-yaxis");f&&e.push(""+f+":not(.highcharts-radial-axis)",""+f+"-labels:not(.highcharts-radial-axis-labels)");e.forEach(function(e){[].forEach.call(b.querySelectorAll(e),function(b){(b.namespaceURI===d.SVG_NS?d.box:d.box.parentNode).appendChild(b);b.style.pointerEvents="auto"})})};l.prototype.applyFixed= +function(){var b=!this.fixedDiv,e=this.options.chart,f=e.scrollablePlotArea,h=v.getRendererType();b?(this.fixedDiv=y("div",{className:"highcharts-fixed"},{position:"absolute",overflow:"hidden",pointerEvents:"none",zIndex:(e.style&&e.style.zIndex||0)+2,top:0},null,!0),this.scrollingContainer&&this.scrollingContainer.parentNode.insertBefore(this.fixedDiv,this.scrollingContainer),this.renderTo.style.overflow="visible",this.fixedRenderer=e=new h(this.fixedDiv,this.chartWidth,this.chartHeight,this.options.chart.style), +this.scrollableMask=e.path().attr({fill:this.options.chart.backgroundColor||"#fff","fill-opacity":d(f.opacity,.85),zIndex:-1}).addClass("highcharts-scrollable-mask").add(),B(this,"afterShowResetZoom",this.moveFixedElements),B(this,"afterApplyDrilldown",this.moveFixedElements),B(this,"afterLayOutTitles",this.moveFixedElements)):this.fixedRenderer.setSize(this.chartWidth,this.chartHeight);if(this.scrollableDirty||b)this.scrollableDirty=!1,this.moveFixedElements();e=this.chartWidth+(this.scrollablePixelsX|| +0);h=this.chartHeight+(this.scrollablePixelsY||0);G(this.container);this.container.style.width=e+"px";this.container.style.height=h+"px";this.renderer.boxWrapper.attr({width:e,height:h,viewBox:[0,0,e,h].join(" ")});this.chartBackground.attr({width:e,height:h});this.scrollingContainer.style.height=this.chartHeight+"px";b&&(f.scrollPositionX&&(this.scrollingContainer.scrollLeft=this.scrollablePixelsX*f.scrollPositionX),f.scrollPositionY&&(this.scrollingContainer.scrollTop=this.scrollablePixelsY*f.scrollPositionY)); +h=this.axisOffset;b=this.plotTop-h[0]-1;f=this.plotLeft-h[3]-1;e=this.plotTop+this.plotHeight+h[2]+1;h=this.plotLeft+this.plotWidth+h[1]+1;var n=this.plotLeft+this.plotWidth-(this.scrollablePixelsX||0),l=this.plotTop+this.plotHeight-(this.scrollablePixelsY||0);b=this.scrollablePixelsX?[["M",0,b],["L",this.plotLeft-1,b],["L",this.plotLeft-1,e],["L",0,e],["Z"],["M",n,b],["L",this.chartWidth,b],["L",this.chartWidth,e],["L",n,e],["Z"]]:this.scrollablePixelsY?[["M",f,0],["L",f,this.plotTop-1],["L",h,this.plotTop- +1],["L",h,0],["Z"],["M",f,l],["L",f,this.chartHeight],["L",h,this.chartHeight],["L",h,l],["Z"]]:[["M",0,0]];"adjustHeight"!==this.redrawTrigger&&this.scrollableMask.attr({d:b})};B(e,"afterInit",function(){this.chart.scrollableDirty=!0});B(C,"show",function(){this.chart.scrollableDirty=!0});""});K(l,"Core/Axis/StackingAxis.js",[l["Core/Animation/AnimationUtilities.js"],l["Core/Axis/Axis.js"],l["Core/Utilities.js"]],function(f,e,l){var C=f.getDeferredAnimation,v=l.addEvent,E=l.destroyObjectProperties, +G=l.fireEvent,B=l.isNumber,y=l.objectEach,t;(function(e){function d(){var b=this.stacking;if(b){var d=b.stacks;y(d,function(b,e){E(b);d[e]=null});b&&b.stackTotalGroup&&b.stackTotalGroup.destroy()}}function b(){this.stacking||(this.stacking=new h(this))}var f=[];e.compose=function(e){-1===f.indexOf(e)&&(f.push(e),v(e,"init",b),v(e,"destroy",d));return e};var h=function(){function b(b){this.oldStacks={};this.stacks={};this.stacksTouched=0;this.axis=b}b.prototype.buildStacks=function(){var b=this.axis, +d=b.series,e=b.options.reversedStacks,f=d.length,h;if(!b.isXAxis){this.usePercentage=!1;for(h=f;h--;){var m=d[e?h:f-h-1];m.setStackedPoints();m.setGroupedPoints()}for(h=0;hl&&f.shadow));n&&(n.startX=h.xMap,n.isArea=h.isArea)})};l.prototype.getGraphPath=function(e,f,h){var d=this,b=d.options,p=[],l=[],r,n=b.step;e=e||d.points;var t=e.reversed;t&&e.reverse();(n={right:1, +center:2}[n]||n&&3)&&t&&(n=4-n);e=this.getValidPoints(e,!1,!(b.connectNulls&&!f&&!h));e.forEach(function(q,t){var x=q.plotX,m=q.plotY,k=e[t-1];(q.leftCliff||k&&k.rightCliff)&&!h&&(r=!0);q.isNull&&!v(f)&&0e&&t>b?(t=Math.max(e,b),w=2*b-t):th&&w>b?(w=Math.max(h,b),t=2*b-w):w=Math.abs(b)&&.5a.closestPointRange*a.xAxis.transA;e=a.borderWidth=z(c.borderWidth,e?0:1);var f=a.xAxis,k=a.yAxis,h=c.threshold,m=a.translatedThreshold=k.getThreshold(h),l=z(c.minPointLength,5),n=a.getColumnMetrics(),q=n.width,r=a.pointXOffset=n.offset,t=a.dataMin,x=a.dataMax,w=a.barW=Math.max(q,1+2*e);b.inverted&&(m-=.5);c.pointPadding&&(w=Math.ceil(w)); +v.prototype.translate.apply(a);a.points.forEach(function(e){var g=z(e.yBottom,m),u=999+Math.abs(g),A=e.plotX||0;u=d(e.plotY,-u,k.len+u);var v=Math.min(u,g),y=Math.max(u,g)-v,D=q,B=A+r,C=w;l&&Math.abs(y)l?g-l:m-(A?l:0));p(e.options.pointWidth)&&(D=C=Math.ceil(e.options.pointWidth),B-=Math.round((D-q)/2));c.centerInCategory&&(B=a.adjustForMissingColumns(B, +D,e,n));e.barX=B;e.pointWidth=D;e.tooltipPos=b.inverted?[d(k.len+k.pos-b.plotLeft-u,k.pos-b.plotLeft,k.len+k.pos-b.plotLeft),f.len+f.pos-b.plotTop-B-C/2,y]:[f.left-b.plotLeft+B+C/2,d(u+k.pos-b.plotTop,k.pos-b.plotTop,k.len+k.pos-b.plotTop),y];e.shapeType=a.pointClass.prototype.shapeType||"rect";e.shapeArgs=a.crispCol.apply(a,e.isNull?[B,m,C,0]:[B,v,C,y])})};f.prototype.drawGraph=function(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")};f.prototype.pointAttribs=function(a, +b){var c=this.options,d=this.pointAttrToOptions||{},e=d.stroke||"borderColor",g=d["stroke-width"]||"borderWidth",f=a&&a.color||this.color,k=a&&a[e]||c[e]||f;d=a&&a.options.dashStyle||c.dashStyle;var h=a&&a[g]||c[g]||this[g]||0,m=z(a&&a.opacity,c.opacity,1);if(a&&this.zones.length){var l=a.getZone();f=a.options.color||l&&(l.color||a.nonZonedColor)||this.color;l&&(k=l.borderColor||k,d=l.dashStyle||d,h=l.borderWidth||h)}b&&a&&(a=w(c.states[b],a.options.states&&a.options.states[b]||{}),b=a.brightness, +f=a.color||"undefined"!==typeof b&&t(f).brighten(a.brightness).get()||f,k=a[e]||k,h=a[g]||h,d=a.dashStyle||d,m=z(a.opacity,m));e={fill:f,stroke:k,"stroke-width":h,opacity:m};d&&(e.dashstyle=d);return e};f.prototype.drawPoints=function(){var a=this,b=this.chart,c=a.options,d=b.renderer,e=c.animationLimit||250,f;a.points.forEach(function(g){var k=g.graphic,h=!!k,m=k&&b.pointCount"===a&&b>d||"<"===a&&b="===a&&b>=d||"<="===a&&b<=d||"=="===a&&b==d||"==="===a&&b===d?!0:!1):!0}function p(){var e=this,a=e.chart,g=e.options,c=e.points,f=e.hasRendered||0,m=a.renderer,p=g.dataLabels,n,q= +p.animation;q=p.defer?C(a,q,e):{defer:0,duration:0};p=z(z(a.options.plotOptions&&a.options.plotOptions.series&&a.options.plotOptions.series.dataLabels,a.options.plotOptions&&a.options.plotOptions[e.type]&&a.options.plotOptions[e.type].dataLabels),p);B(this,"drawDataLabels");if(y(p)||p.enabled||e._hasPointLabels){var r=e.plotGroup("dataLabelsGroup","data-labels",f?"inherit":"hidden",p.zIndex||6);r.attr({opacity:+f});!f&&(f=e.dataLabelsGroup)&&(e.visible&&r.show(),f[g.animation?"animate":"attr"]({opacity:1}, +q));c.forEach(function(c){n=b(z(p,c.dlOptions||c.options&&c.options.dataLabels));n.forEach(function(b,f){var k=b.enabled&&(!c.isNull||c.dataLabelOnNull)&&l(c,b),p=c.connectors?c.connectors[f]:c.connector,n=c.dataLabels?c.dataLabels[f]:c.dataLabel,q=!n,t=d(b.distance,c.labelDistance);if(k){var u=c.getLabelConfig();var x=d(b[c.formatPrefix+"Format"],b.format);u=E(x)?v(x,u,a):(b[c.formatPrefix+"Formatter"]||b.formatter).call(u,b);x=b.style;var z=b.rotation;a.styledMode||(x.color=d(b.color,x.color,e.color, +"#000000"),"contrast"===x.color?(c.contrastColor=m.getContrast(c.color||e.color),x.color=!E(t)&&b.inside||0>t||g.stacking?c.contrastColor:"#000000"):delete c.contrastColor,g.cursor&&(x.cursor=g.cursor));var w={r:b.borderRadius||0,rotation:z,padding:b.padding,zIndex:1};a.styledMode||(w.fill=b.backgroundColor,w.stroke=b.borderColor,w["stroke-width"]=b.borderWidth);h(w,function(a,b){"undefined"===typeof a&&delete w[b]})}!n||k&&E(u)&&!!n.div===!!b.useHTML&&(n.rotation&&b.rotation||n.rotation===b.rotation)|| +(q=!0,c.dataLabel=n=c.dataLabel&&c.dataLabel.destroy(),c.dataLabels&&(1===c.dataLabels.length?delete c.dataLabels:delete c.dataLabels[f]),f||delete c.dataLabel,p&&(c.connector=c.connector.destroy(),c.connectors&&(1===c.connectors.length?delete c.connectors:delete c.connectors[f])));k&&E(u)?(n?w.text=u:(c.dataLabels=c.dataLabels||[],n=c.dataLabels[f]=z?m.text(u,0,0,b.useHTML).addClass("highcharts-data-label"):m.label(u,0,0,b.shape,null,null,b.useHTML,null,"data-label"),f||(c.dataLabel=n),n.addClass(" highcharts-data-label-color-"+ +c.colorIndex+" "+(b.className||"")+(b.useHTML?" highcharts-tracker":""))),n.options=b,n.attr(w),a.styledMode||n.css(x).shadow(b.shadow),n.added||n.add(r),b.textPath&&!b.useHTML&&(n.setTextPath(c.getDataLabelPath&&c.getDataLabelPath(n)||c.graphic,b.textPath),c.dataLabelPath&&!b.textPath.enabled&&(c.dataLabelPath=c.dataLabelPath.destroy())),e.alignDataLabel(c,n,b,null,q)):n&&n.hide()})})}B(this,"afterDrawDataLabels")}function q(b,a,d,c,e,f){var g=this.chart,k=a.align,h=a.verticalAlign,m=b.box?0:b.padding|| +0,l=a.x;l=void 0===l?0:l;var n=a.y;n=void 0===n?0:n;var p=(d.x||0)+m;if(0>p){"right"===k&&0<=l?(a.align="left",a.inside=!0):l-=p;var q=!0}p=(d.x||0)+c.width-m;p>g.plotWidth&&("left"===k&&0>=l?(a.align="right",a.inside=!0):l+=g.plotWidth-p,q=!0);p=d.y+m;0>p&&("bottom"===h&&0<=n?(a.verticalAlign="top",a.inside=!0):n-=p,q=!0);p=(d.y||0)+c.height-m;p>g.plotHeight&&("top"===h&&0>=n?(a.verticalAlign="bottom",a.inside=!0):n+=g.plotHeight-p,q=!0);q&&(a.x=l,a.y=n,b.placed=!f,b.align(a,void 0,e));return q} +function z(b,a){var d=[],c;if(y(b)&&!y(a))d=b.map(function(b){return t(b,a)});else if(y(a)&&!y(b))d=a.map(function(a){return t(b,a)});else if(y(b)||y(a))for(c=Math.max(b.length,a.length);c--;)d[c]=t(b[c],a[c]);else d=t(b,a);return d}function x(b,a,d,c,e){var g=this.chart,f=g.inverted,h=this.xAxis,k=h.reversed,m=f?a.height/2:a.width/2;b=(b=b.pointWidth)?b/2:0;a.startXPos=f?e.x:k?-m-b:h.width-m+b;a.startYPos=f?k?this.yAxis.height-m+b:-m-b:e.y;c?"hidden"===a.visibility&&(a.show(),a.attr({opacity:0}).animate({opacity:1})): +a.attr({opacity:1}).animate({opacity:0},void 0,a.hide);g.hasRendered&&(d&&a.attr({x:a.startXPos,y:a.startYPos}),a.placed=!0)}var m=[];e.compose=function(b){if(-1===m.indexOf(b)){var a=b.prototype;m.push(b);a.alignDataLabel=f;a.drawDataLabels=p;a.justifyDataLabel=q;a.setDataLabelStartPos=x}}})(p||(p={}));"";return p});K(l,"Series/Column/ColumnDataLabel.js",[l["Core/Series/DataLabel.js"],l["Core/Series/SeriesRegistry.js"],l["Core/Utilities.js"]],function(f,e,l){var C=e.series,v=l.merge,E=l.pick,G;(function(e){function l(e, +d,b,f,l){var h=this.chart.inverted,n=e.series,p=(n.xAxis?n.xAxis.len:this.chart.plotSizeX)||0;n=(n.yAxis?n.yAxis.len:this.chart.plotSizeY)||0;var q=e.dlBox||e.shapeArgs,t=E(e.below,e.plotY>E(this.translatedThreshold,n)),x=E(b.inside,!!this.options.stacking);q&&(f=v(q),0>f.y&&(f.height+=f.y,f.y=0),q=f.y+f.height-n,0\u25cf {series.name}
', +pointFormat:"x: {point.x}
y: {point.y}
"}});return f}(E);G(e.prototype,{drawTracker:v.prototype.drawTracker,sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","markerGroup","dataLabelsGroup"],takeOrdinalPosition:!1});C(e,"afterTranslate",function(){this.applyJitter()});f.registerSeriesType("scatter",e);"";return e});K(l,"Series/CenteredUtilities.js",[l["Core/Globals.js"],l["Core/Series/Series.js"],l["Core/Utilities.js"]],function(f,e,l){var C=f.deg2rad,v=l.fireEvent, +E=l.isNumber,G=l.pick,B=l.relativeLength,y;(function(f){f.getCenter=function(){var f=this.options,d=this.chart,b=2*(f.slicedOffset||0),l=d.plotWidth-2*b,q=d.plotHeight-2*b,r=f.center,n=Math.min(l,q),t=f.thickness,w=f.size,z=f.innerSize||0;"string"===typeof w&&(w=parseFloat(w));"string"===typeof z&&(z=parseFloat(z));f=[G(r[0],"50%"),G(r[1],"50%"),G(w&&0>w?void 0:f.size,"100%"),G(z&&0>z?void 0:f.innerSize||0,"0%")];!d.angular||this instanceof e||(f[3]=0);for(r=0;4>r;++r)w=f[r],d=2>r||2===r&&/%$/.test(w), +f[r]=B(w,[l,q,n,f[2]][r])+(d?b:0);f[3]>f[2]&&(f[3]=f[2]);E(t)&&2*te&&360>d-e?d:e+360;return{start:C*(e+-90),end:C*(d+-90)}}})(y||(y={}));"";return y});K(l,"Series/Pie/PiePoint.js",[l["Core/Animation/AnimationUtilities.js"],l["Core/Series/Point.js"],l["Core/Utilities.js"]],function(f,e,l){var C=this&&this.__extends||function(){var e=function(d,b){e=Object.setPrototypeOf|| +{__proto__:[]}instanceof Array&&function(b,d){b.__proto__=d}||function(b,d){for(var e in d)d.hasOwnProperty(e)&&(b[e]=d[e])};return e(d,b)};return function(d,b){function f(){this.constructor=d}e(d,b);d.prototype=null===b?Object.create(b):(f.prototype=b.prototype,new f)}}(),v=f.setAnimation,E=l.addEvent,G=l.defined;f=l.extend;var B=l.isNumber,y=l.pick,t=l.relativeLength;e=function(e){function d(){var b=null!==e&&e.apply(this,arguments)||this;b.labelDistance=void 0;b.options=void 0;b.series=void 0; +return b}C(d,e);d.prototype.getConnectorPath=function(){var b=this.labelPosition,d=this.series.options.dataLabels,e=this.connectorShapes,f=d.connectorShape;e[f]&&(f=e[f]);return f.call(this,{x:b.final.x,y:b.final.y,alignment:b.alignment},b.connectorPosition,d)};d.prototype.getTranslate=function(){return this.sliced?this.slicedTranslation:{translateX:0,translateY:0}};d.prototype.haloPath=function(b){var d=this.shapeArgs;return this.sliced||!this.visible?[]:this.series.chart.renderer.symbols.arc(d.x, +d.y,d.r+b,d.r+b,{innerR:d.r-1,start:d.start,end:d.end})};d.prototype.init=function(){var b=this;e.prototype.init.apply(this,arguments);this.name=y(this.name,"Slice");var d=function(d){b.slice("select"===d.type)};E(this,"select",d);E(this,"unselect",d);return this};d.prototype.isValid=function(){return B(this.y)&&0<=this.y};d.prototype.setVisible=function(b,d){var e=this,f=this.series,h=f.chart,l=f.options.ignoreHiddenPoint;d=y(d,l);b!==this.visible&&(this.visible=this.options.visible=b="undefined"=== +typeof b?!this.visible:b,f.options.data[f.data.indexOf(this)]=this.options,["graphic","dataLabel","connector","shadowGroup"].forEach(function(d){if(e[d])e[d][b?"show":"hide"](b)}),this.legendItem&&h.legend.colorizeItem(this,b),b||"hover"!==this.state||this.setState(""),l&&(f.isDirty=!0),d&&h.redraw())};d.prototype.slice=function(b,d,e){var f=this.series;v(e,f.chart);y(d,!0);this.sliced=this.options.sliced=G(b)?b:!this.sliced;f.options.data[f.data.indexOf(this)]=this.options;this.graphic&&this.graphic.animate(this.getTranslate()); +this.shadowGroup&&this.shadowGroup.animate(this.getTranslate())};return d}(e);f(e.prototype,{connectorShapes:{fixedOffset:function(e,d,b){var f=d.breakAt;d=d.touchingSliceAt;return[["M",e.x,e.y],b.softConnector?["C",e.x+("left"===e.alignment?-5:5),e.y,2*f.x-d.x,2*f.y-d.y,f.x,f.y]:["L",f.x,f.y],["L",d.x,d.y]]},straight:function(e,d){d=d.touchingSliceAt;return[["M",e.x,e.y],["L",d.x,d.y]]},crookedLine:function(e,d,b){d=d.touchingSliceAt;var f=this.series,h=f.center[0],l=f.chart.plotWidth,n=f.chart.plotLeft; +f=e.alignment;var v=this.shapeArgs.r;b=t(b.crookDistance,1);l="left"===f?h+v+(l+n-h-v)*(1-b):n+(h-v)*b;b=["L",l,e.y];h=!0;if("left"===f?l>e.x||ld.x)h=!1;e=[["M",e.x,e.y]];h&&e.push(b);e.push(["L",d.x,d.y]);return e}}});return e});K(l,"Series/Pie/PieSeries.js",[l["Series/CenteredUtilities.js"],l["Series/Column/ColumnSeries.js"],l["Core/Globals.js"],l["Core/Legend/LegendSymbol.js"],l["Series/Pie/PiePoint.js"],l["Core/Series/Series.js"],l["Core/Series/SeriesRegistry.js"],l["Core/Renderer/SVG/Symbols.js"], +l["Core/Utilities.js"]],function(f,e,l,C,v,E,G,B,y){var t=this&&this.__extends||function(){var b=function(d,e){b=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(b,d){b.__proto__=d}||function(b,d){for(var e in d)d.hasOwnProperty(e)&&(b[e]=d[e])};return b(d,e)};return function(d,e){function f(){this.constructor=d}b(d,e);d.prototype=null===e?Object.create(e):(f.prototype=e.prototype,new f)}}(),h=f.getStartAndEndRadians;l=l.noop;var d=y.clamp,b=y.extend,p=y.fireEvent,q=y.merge,r=y.pick, +n=y.relativeLength;y=function(b){function e(){var d=null!==b&&b.apply(this,arguments)||this;d.center=void 0;d.data=void 0;d.maxLabelDistance=void 0;d.options=void 0;d.points=void 0;return d}t(e,b);e.prototype.animate=function(b){var d=this,e=d.points,f=d.startAngleRad;b||e.forEach(function(a){var b=a.graphic,c=a.shapeArgs;b&&c&&(b.attr({r:r(a.startR,d.center&&d.center[3]/2),start:f,end:f}),b.animate({r:c.r,start:c.start,end:c.end},d.options.animation))})};e.prototype.drawEmpty=function(){var b=this.startAngleRad, +d=this.endAngleRad,e=this.options;if(0===this.total&&this.center){var f=this.center[0];var a=this.center[1];this.graph||(this.graph=this.chart.renderer.arc(f,a,this.center[1]/2,0,b,d).addClass("highcharts-empty-series").add(this.group));this.graph.attr({d:B.arc(f,a,this.center[2]/2,0,{start:b,end:d,innerR:this.center[3]/2})});this.chart.styledMode||this.graph.attr({"stroke-width":e.borderWidth,fill:e.fillColor||"none",stroke:e.color||"#cccccc"})}else this.graph&&(this.graph=this.graph.destroy())}; +e.prototype.drawPoints=function(){var b=this.chart.renderer;this.points.forEach(function(d){d.graphic&&d.hasNewShapeType()&&(d.graphic=d.graphic.destroy());d.graphic||(d.graphic=b[d.shapeType](d.shapeArgs).add(d.series.group),d.delayedRendering=!0)})};e.prototype.generatePoints=function(){b.prototype.generatePoints.call(this);this.updateTotals()};e.prototype.getX=function(b,e,f){var k=this.center,a=this.radii?this.radii[f.index]||0:k[2]/2;b=Math.asin(d((b-k[1])/(a+f.labelDistance),-1,1));return k[0]+ +(e?-1:1)*Math.cos(b)*(a+f.labelDistance)+(01.5*Math.PI?y-=2*Math.PI:y<-Math.PI/2&&(y+=2*Math.PI);w.slicedTranslation={translateX:Math.round(Math.cos(y)*e),translateY:Math.round(Math.sin(y)* +e)};B=Math.cos(y)*b[2]/2;var C=Math.sin(y)*b[2]/2;w.tooltipPos=[b[0]+.7*B,b[1]+.7*C];w.half=y<-Math.PI/2||y>Math.PI/2?1:0;w.angle=y;z=Math.min(f,w.labelDistance/5);w.labelPosition={natural:{x:b[0]+B+Math.cos(y)*w.labelDistance,y:b[1]+C+Math.sin(y)*w.labelDistance},"final":{},alignment:0>w.labelDistance?"center":w.half?"right":"left",connectorPosition:{breakAt:{x:b[0]+B+Math.cos(y)*z,y:b[1]+C+Math.sin(y)*z},touchingSliceAt:{x:b[0]+B,y:b[1]+C}}}}p(this,"afterTranslate")};e.prototype.updateTotals=function(){var b= +this.points,d=b.length,e=this.options.ignoreHiddenPoint,f,a=0;for(f=0;fq&&(a.dataLabel.css({width:Math.round(.7*q)+"px"}),a.dataLabel.shortened=!0)):(a.dataLabel=a.dataLabel.destroy(),a.dataLabels&&1===a.dataLabels.length&&delete a.dataLabels))}),v.forEach(function(d,f){var k=d.length,m=[],q;if(k){e.sortByAngle(d,f-.5);if(0l-c&&0===f&&(u=Math.round(N+P-l+c),w[1]=Math.max(u,w[1])),0>V-T/2?w[0]=Math.max(Math.round(-V+T/2),w[0]):V+T/2>n&&(w[2]=Math.max(Math.round(V+T/2-n),w[2])),K.sideOverflow=u)}}}),0===y(w)||this.verifyDataLabelOverflow(w))&&(this.placeDataLabels(),this.points.forEach(function(c){Q=d(g,c.options.dataLabels);if(E=b(Q.connectorWidth,1)){var f;J=c.connector;if((K=c.dataLabel)&&K._pos&&c.visible&&0d.bottom-2?e:a,d.half,d)},justify:function(b,d,a){return a[0]+(b.half?-1:1)*(d+b.labelDistance)},alignToPlotEdges:function(b, +d,a,e){b=b.getBBox().width;return d?b+e:a-b-e},alignToConnectors:function(b,d,a,e){var c=0,f;b.forEach(function(a){f=a.dataLabel.getBBox().width;f>c&&(c=f)});return d?c+e:a-c-e}};e.compose=function(b){f.compose(B);-1===v.indexOf(b)&&(v.push(b),b=b.prototype,b.dataLabelPositioners=x,b.alignDataLabel=E,b.drawDataLabels=l,b.placeDataLabels=q,b.verifyDataLabelOverflow=r)}})(q||(q={}));return q});K(l,"Extensions/OverlappingDataLabels.js",[l["Core/Chart/Chart.js"],l["Core/Utilities.js"]],function(f,e){function l(e, +f){var d=!1;if(e){var b=e.newOpacity;e.oldOpacity!==b&&(e.alignAttr&&e.placed?(e[b?"removeClass":"addClass"]("highcharts-data-label-hidden"),d=!0,e.alignAttr.opacity=b,e[e.isOld?"animate":"attr"](e.alignAttr,null,function(){f.styledMode||e.css({pointerEvents:b?"auto":"none"})}),v(f,"afterHideOverlappingLabel")):e.attr({opacity:b}));e.isOld=!0}return d}var C=e.addEvent,v=e.fireEvent,E=e.isArray,G=e.isNumber,B=e.objectEach,y=e.pick;C(f,"render",function(){var e=this,f=[];(this.labelCollectors||[]).forEach(function(d){f= +f.concat(d())});(this.yAxis||[]).forEach(function(d){d.stacking&&d.options.stackLabels&&!d.options.stackLabels.allowOverlap&&B(d.stacking.stacks,function(b){B(b,function(b){b.label&&f.push(b.label)})})});(this.series||[]).forEach(function(d){var b=d.options.dataLabels;d.visible&&(!1!==b.enabled||d._hasPointLabels)&&(b=function(b){return b.forEach(function(b){b.visible&&(E(b.dataLabels)?b.dataLabels:b.dataLabel?[b.dataLabel]:[]).forEach(function(d){var h=d.options;d.labelrank=y(h.labelrank,b.labelrank, +b.shapeArgs&&b.shapeArgs.height);h.allowOverlap?(d.oldOpacity=d.opacity,d.newOpacity=1,l(d,e)):f.push(d)})})},b(d.nodes||[]),b(d.points))});this.hideOverlappingLabels(f)});f.prototype.hideOverlappingLabels=function(e){var f=this,d=e.length,b=f.renderer,p,q,r,n=!1;var t=function(d){var e,f=d.box?0:d.padding||0,a=e=0,g;if(d&&(!d.alignAttr||d.placed)){var c=d.alignAttr||{x:d.attr("x"),y:d.attr("y")};var h=d.parentGroup;d.width||(e=d.getBBox(),d.width=e.width,d.height=e.height,e=b.fontMetrics(null,d.element).h); +var l=d.width-2*f;(g={left:"0",center:"0.5",right:"1"}[d.alignValue])?a=+g*l:G(d.x)&&Math.round(d.x)!==d.translateX&&(a=d.x-d.translateX);return{x:c.x+(h.translateX||0)+f-(a||0),y:c.y+(h.translateY||0)+f-e,width:d.width-2*f,height:d.height-2*f}}};for(q=0;q=w.x+w.width||z.x+z.width<=w.x||z.y>=w.y+w.height||z.y+z.height<=w.y||((t.labelrank=B(e.minWidth,0)&&this.chartHeight>=B(e.minHeight,0)}).call(this)&&d.push(b._id)};b.prototype.setResponsive=function(b,d){var e=this,f=this.options.responsive,h=this.currentResponsive,n=[];!d&&f&&f.rules&&f.rules.forEach(function(b){"undefined"===typeof b._id&&(b._id=t());e.matchResponsiveRule(b, +n)},this);d=E.apply(void 0,n.map(function(b){return l((f||{}).rules||[],function(d){return d._id===b})}).map(function(b){return b&&b.chartOptions}));d.isResponsiveOptions=!0;n=n.toString()||void 0;n!==(h&&h.ruleIds)&&(h&&this.update(h.undoOptions,b,!0),n?(h=this.currentOptions(d),h.isResponsiveOptions=!0,this.currentResponsive={ruleIds:n,mergedOptions:d,undoOptions:h},this.update(d,b,!0)):this.currentResponsive=void 0)};return b}()})(h||(h={}));"";"";return h});K(l,"masters/highcharts.src.js",[l["Core/Globals.js"], +l["Core/Utilities.js"],l["Core/DefaultOptions.js"],l["Core/Animation/Fx.js"],l["Core/Animation/AnimationUtilities.js"],l["Core/Renderer/HTML/AST.js"],l["Core/FormatUtilities.js"],l["Core/Renderer/RendererUtilities.js"],l["Core/Renderer/SVG/SVGElement.js"],l["Core/Renderer/SVG/SVGRenderer.js"],l["Core/Renderer/HTML/HTMLElement.js"],l["Core/Renderer/HTML/HTMLRenderer.js"],l["Core/Axis/Axis.js"],l["Core/Axis/DateTimeAxis.js"],l["Core/Axis/LogarithmicAxis.js"],l["Core/Axis/PlotLineOrBand/PlotLineOrBand.js"], +l["Core/Axis/Tick.js"],l["Core/Tooltip.js"],l["Core/Series/Point.js"],l["Core/Pointer.js"],l["Core/MSPointer.js"],l["Core/Legend/Legend.js"],l["Core/Chart/Chart.js"],l["Core/Series/Series.js"],l["Core/Series/SeriesRegistry.js"],l["Series/Column/ColumnSeries.js"],l["Series/Column/ColumnDataLabel.js"],l["Series/Pie/PieSeries.js"],l["Series/Pie/PieDataLabel.js"],l["Core/Series/DataLabel.js"],l["Core/Responsive.js"],l["Core/Color/Color.js"],l["Core/Time.js"]],function(f,e,l,C,v,E,G,B,y,t,h,d,b,p,q,r, +n,J,w,z,x,m,k,a,g,c,D,A,u,K,S,R,M){f.animate=v.animate;f.animObject=v.animObject;f.getDeferredAnimation=v.getDeferredAnimation;f.setAnimation=v.setAnimation;f.stop=v.stop;f.timers=C.timers;f.AST=E;f.Axis=b;f.Chart=k;f.chart=k.chart;f.Fx=C;f.Legend=m;f.PlotLineOrBand=r;f.Point=w;f.Pointer=x.isRequired()?x:z;f.Series=a;f.SVGElement=y;f.SVGRenderer=t;f.Tick=n;f.Time=M;f.Tooltip=J;f.Color=R;f.color=R.parse;d.compose(t);h.compose(y);f.defaultOptions=l.defaultOptions;f.getOptions=l.getOptions;f.time=l.defaultTime; +f.setOptions=l.setOptions;f.dateFormat=G.dateFormat;f.format=G.format;f.numberFormat=G.numberFormat;f.addEvent=e.addEvent;f.arrayMax=e.arrayMax;f.arrayMin=e.arrayMin;f.attr=e.attr;f.clearTimeout=e.clearTimeout;f.correctFloat=e.correctFloat;f.createElement=e.createElement;f.css=e.css;f.defined=e.defined;f.destroyObjectProperties=e.destroyObjectProperties;f.discardElement=e.discardElement;f.distribute=B.distribute;f.erase=e.erase;f.error=e.error;f.extend=e.extend;f.extendClass=e.extendClass;f.find= +e.find;f.fireEvent=e.fireEvent;f.getMagnitude=e.getMagnitude;f.getStyle=e.getStyle;f.inArray=e.inArray;f.isArray=e.isArray;f.isClass=e.isClass;f.isDOMElement=e.isDOMElement;f.isFunction=e.isFunction;f.isNumber=e.isNumber;f.isObject=e.isObject;f.isString=e.isString;f.keys=e.keys;f.merge=e.merge;f.normalizeTickInterval=e.normalizeTickInterval;f.objectEach=e.objectEach;f.offset=e.offset;f.pad=e.pad;f.pick=e.pick;f.pInt=e.pInt;f.relativeLength=e.relativeLength;f.removeEvent=e.removeEvent;f.seriesType= +g.seriesType;f.splat=e.splat;f.stableSort=e.stableSort;f.syncTimeout=e.syncTimeout;f.timeUnits=e.timeUnits;f.uniqueKey=e.uniqueKey;f.useSerialIds=e.useSerialIds;f.wrap=e.wrap;D.compose(c);K.compose(a);p.compose(b);q.compose(b);u.compose(A);r.compose(b);S.compose(k);return f});l["masters/highcharts.src.js"]._modules=l;return l["masters/highcharts.src.js"]}); +//# sourceMappingURL=highcharts.js.map \ No newline at end of file diff --git a/docs/reference/libs/highcharts-10.2.0/modules/accessibility.js b/docs/reference/libs/highcharts-10.2.0/modules/accessibility.js new file mode 100644 index 0000000..cb449f5 --- /dev/null +++ b/docs/reference/libs/highcharts-10.2.0/modules/accessibility.js @@ -0,0 +1,261 @@ +/* + Highcharts JS v10.2.0 (2022-07-05) + + Accessibility module + + (c) 2010-2021 Highsoft AS + Author: Oystein Moseng + + License: www.highcharts.com/license +*/ +(function(a){"object"===typeof module&&module.exports?(a["default"]=a,module.exports=a):"function"===typeof define&&define.amd?define("highcharts/modules/accessibility",["highcharts"],function(x){a(x);a.Highcharts=x;return a}):a("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(a){function x(a,h,n,u){a.hasOwnProperty(h)||(a[h]=u.apply(null,n),"function"===typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:h,module:a[h]}})))}a=a?a._modules:{}; +x(a,"Accessibility/A11yI18n.js",[a["Core/FormatUtilities.js"],a["Core/Utilities.js"]],function(a,h){var n=a.format,u=h.getNestedProperty,q=h.pick,l;(function(a){function y(c,e){var d=c.indexOf("#each("),b=c.indexOf("#plural("),f=c.indexOf("["),v=c.indexOf("]");if(-1d?e.length+d:Math.min(d,e.length),v=0;vf?(c=e[e.length+f],"undefined"===typeof c&&(c=e[0])):(c=e[f],"undefined"===typeof c&&(c=e[e.length-1]))),"undefined"!==typeof c?c:""):"{"+ +c+"}"}function g(c,e,d){var b=function(b,d){b=b.slice(d||0);var f=b.indexOf("{"),c=b.indexOf("}");if(-1f)return{statement:b.substring(f+1,c),begin:d+f+1,end:d+c}},f=[],v=0;do{var z=b(c,v);var a=c.substring(v,z&&z.begin-1);a.length&&f.push({value:a,type:"constant"});z&&f.push({value:z.statement,type:"statement"});v=z?z.end+1:v+1}while(z);f.forEach(function(b){"statement"===b.type&&(b.value=y(b.value,e))});return n(f.reduce(function(b,d){return b+d.value},""),e,d)}function p(c,e){c=c.split("."); +for(var d=this.options.lang,b=0;ba.className.indexOf(g)&&(a.className+=" "+g)},cloneMouseEvent:n,cloneTouchEvent:function(a){var g=function(a){for(var k=[],c=0;c/g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/")},getElement:function(a){return q.getElementById(a)},getFakeMouseEvent:u, +getHeadingTagNameForElement:function(a){var g=function(a){a=parseInt(a.slice(1),10);return"h"+Math.min(6,a+1)},y=function(a){var c;a:{for(c=a;c=c.previousSibling;){var e=c.tagName||"";if(/H[1-6]/.test(e)){c=e;break a}}c=""}if(c)return g(c);a=a.parentElement;if(!a)return"p";c=a.tagName;return/H[1-6]/.test(c)?g(c):y(a)};return y(a)},removeChildNodes:function(a){for(;a.lastChild;)a.removeChild(a.lastChild)},removeClass:function(a,g){a.classList?a.classList.remove(g):a.className=a.className.replace(new RegExp(g, +"g"),"")},removeElement:function(a){a&&a.parentNode&&a.parentNode.removeChild(a)},reverseChildNodes:function(a){for(var g=a.childNodes.length;g--;)a.appendChild(a.childNodes[g])},stripHTMLTagsFromString:function(a){return"string"===typeof a?a.replace(/<\/?[^>]+(>|$)/g,""):a},visuallyHideElement:function(a){w(a,{position:"absolute",width:"1px",height:"1px",overflow:"hidden",whiteSpace:"nowrap",clip:"rect(1px, 1px, 1px, 1px)",marginTop:"-3px","-ms-filter":"progid:DXImageTransform.Microsoft.Alpha(Opacity=1)", +filter:"alpha(opacity=1)",opacity:.01})}}});x(a,"Accessibility/Utils/ChartUtilities.js",[a["Core/Globals.js"],a["Accessibility/Utils/HTMLUtilities.js"],a["Core/Utilities.js"]],function(a,h,n){function u(b,f){var c=f.type,e=b.hcEvents;p.createEvent&&(b.dispatchEvent||b.fireEvent)?b.dispatchEvent?b.dispatchEvent(f):b.fireEvent(c,f):e&&e[c]?d(b,c,f):b.element&&u(b.element,f)}function q(b){var d=b.chart,c={},e="Seconds";c.Seconds=((b.dataMax||b.max||0)-(b.dataMin||b.min||0))/1E3;c.Minutes=c.Seconds/60; +c.Hours=c.Minutes/60;c.Days=c.Hours/24;["Minutes","Hours","Days"].forEach(function(b){2".concat(a,""):""})}var l=a.escapeStringForHTML,G=a.stripHTMLTagsFromString;return{getAnnotationsInfoHTML:function(a){var g=a.annotations;if(!g|| +!g.length)return"";a=q(a);return'

    '.concat(a.join(" "),"
")},getAnnotationLabelDescription:w,getAnnotationListItems:q,getPointAnnotationTexts:function(a){var g=h(a.series.chart).filter(function(g){return-1b.series.length?"Single":"Multiple";return(b.langFormat("accessibility.chartTypes."+a+c,r)||b.langFormat("accessibility.chartTypes.default"+c,r))+(d?" "+d:"")}var c=this&&this.__extends||function(){var b=function(a, +d){b=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(b,a){b.__proto__=a}||function(b,a){for(var d in a)a.hasOwnProperty(d)&&(b[d]=a[d])};return b(a,d)};return function(a,d){function r(){this.constructor=a}b(a,d);a.prototype=null===d?Object.create(d):(r.prototype=d.prototype,new r)}}(),e=u.getAnnotationsInfoHTML,d=l.getAxisDescription,b=l.getAxisRangeDescription,f=l.getChartTitle,v=l.unhideChartElementFromAT,z=G.format,L=y.doc,w=g.addClass,x=g.getElement,A=g.getHeadingTagNameForElement, +E=g.stripHTMLTagsFromString,B=g.visuallyHideElement,C=p.attr,D=p.pick;return function(g){function t(){var b=null!==g&&g.apply(this,arguments)||this;b.announcer=void 0;b.screenReaderSections={};return b}c(t,g);t.prototype.init=function(){var b=this.chart,a=this;this.initRegionsDefinitions();this.addEvent(b,"aftergetTableAST",function(b){a.onDataTableCreated(b)});this.addEvent(b,"afterViewData",function(b){a.dataTableDiv=b;setTimeout(function(){a.focusDataTable()},300)});this.announcer=new n(b,"assertive")}; +t.prototype.initRegionsDefinitions=function(){var b=this;this.screenReaderSections={before:{element:null,buildContent:function(a){var d=a.options.accessibility.screenReaderSection.beforeChartFormatter;return d?d(a):b.defaultBeforeChartFormatter(a)},insertIntoDOM:function(b,a){a.renderTo.insertBefore(b,a.renderTo.firstChild)},afterInserted:function(){"undefined"!==typeof b.sonifyButtonId&&b.initSonifyButton(b.sonifyButtonId);"undefined"!==typeof b.dataTableButtonId&&b.initDataTableButton(b.dataTableButtonId)}}, +after:{element:null,buildContent:function(a){var d=a.options.accessibility.screenReaderSection.afterChartFormatter;return d?d(a):b.defaultAfterChartFormatter()},insertIntoDOM:function(b,a){a.renderTo.insertBefore(b,a.container.nextSibling)},afterInserted:function(){b.chart.accessibility&&b.chart.accessibility.keyboardNavigation.updateExitAnchor()}}}};t.prototype.onChartRender=function(){var b=this;this.linkedDescriptionElement=this.getLinkedDescriptionElement();this.setLinkedDescriptionAttrs();Object.keys(this.screenReaderSections).forEach(function(a){b.updateScreenReaderSection(a)})}; +t.prototype.getLinkedDescriptionElement=function(){var b=this.chart.options.accessibility.linkedDescription;if(b){if("string"!==typeof b)return b;b=z(b,this.chart);b=L.querySelectorAll(b);if(1===b.length)return b[0]}};t.prototype.setLinkedDescriptionAttrs=function(){var b=this.linkedDescriptionElement;b&&(b.setAttribute("aria-hidden","true"),w(b,"highcharts-linked-description"))};t.prototype.updateScreenReaderSection=function(b){var a=this.chart,d=this.screenReaderSections[b],c=d.buildContent(a), +m=d.element=d.element||this.createElement("div"),f=m.firstChild||this.createElement("div");c?(this.setScreenReaderSectionAttribs(m,b),q.setElementHTML(f,c),m.appendChild(f),d.insertIntoDOM(m,a),a.styledMode?w(f,"highcharts-visually-hidden"):B(f),v(a,f),d.afterInserted&&d.afterInserted()):(m.parentNode&&m.parentNode.removeChild(m),d.element=null)};t.prototype.setScreenReaderSectionAttribs=function(b,a){var d=this.chart,c=d.langFormat("accessibility.screenReaderSection."+a+"RegionLabel",{chart:d,chartTitle:f(d)}); +a="highcharts-screen-reader-region-".concat(a,"-").concat(d.index);C(b,{id:a,"aria-label":c||void 0});b.style.position="relative";c&&b.setAttribute("role","all"===d.options.accessibility.landmarkVerbosity?"region":"group")};t.prototype.defaultBeforeChartFormatter=function(){var b=this.chart,d=b.options.accessibility.screenReaderSection.beforeChartFormat;if(!d)return"";var c=this.getAxesDescription(),M=b.sonify&&b.options.sonification&&b.options.sonification.enabled,I="highcharts-a11y-sonify-data-btn-"+ +b.index,v="hc-linkto-highcharts-data-table-"+b.index,t=e(b),C=b.langFormat("accessibility.screenReaderSection.annotations.heading",{chart:b});c={headingTagName:A(b.renderTo),chartTitle:f(b),typeDescription:this.getTypeDescriptionText(),chartSubtitle:this.getSubtitleText(),chartLongdesc:this.getLongdescText(),xAxisDescription:c.xAxis,yAxisDescription:c.yAxis,playAsSoundButton:M?this.getSonifyButtonText(I):"",viewTableButton:b.getCSV?this.getDataTableButtonText(v):"",annotationsTitle:t?C:"",annotationsList:t}; +b=a.i18nFormat(d,c,b);this.dataTableButtonId=v;this.sonifyButtonId=I;return b.replace(/<(\w+)[^>]*?>\s*<\/\1>/g,"")};t.prototype.defaultAfterChartFormatter=function(){var b=this.chart,d=b.options.accessibility.screenReaderSection.afterChartFormat;if(!d)return"";var c={endOfChartMarker:this.getEndOfChartMarkerText()};return a.i18nFormat(d,c,b).replace(/<(\w+)[^>]*?>\s*<\/\1>/g,"")};t.prototype.getLinkedDescription=function(){var b=this.linkedDescriptionElement;return E(b&&b.innerHTML||"")};t.prototype.getLongdescText= +function(){var b=this.chart.options,a=b.caption;a=a&&a.text;var d=this.getLinkedDescription();return b.accessibility.description||d||a||""};t.prototype.getTypeDescriptionText=function(){var b=this.chart;return b.types?b.options.accessibility.typeDescription||k(b,b.types):""};t.prototype.getDataTableButtonText=function(b){var a=this.chart;a=a.langFormat("accessibility.table.viewAsDataTableButtonText",{chart:a,chartTitle:f(a)});return'"};t.prototype.getSonifyButtonText= +function(b){var a=this.chart;if(a.options.sonification&&!1===a.options.sonification.enabled)return"";a=a.langFormat("accessibility.sonification.playAsSoundButtonText",{chart:a,chartTitle:f(a)});return'"};t.prototype.getSubtitleText=function(){var b=this.chart.options.subtitle;return E(b&&b.text||"")};t.prototype.getEndOfChartMarkerText=function(){var b=this.chart,a=b.langFormat("accessibility.screenReaderSection.endOfChartMarker",{chart:b});return'
'+a+"
"};t.prototype.onDataTableCreated=function(b){var a=this.chart;if(a.options.accessibility.enabled){this.viewDataTableButton&&this.viewDataTableButton.setAttribute("aria-expanded","true");var d=b.tree.attributes||{};d.tabindex=-1;d.summary=a.langFormat("accessibility.table.tableSummary",{chart:a});b.tree.attributes=d}};t.prototype.focusDataTable=function(){var b=this.dataTableDiv;(b=b&&b.getElementsByTagName("table")[0])&&b.focus&&b.focus()};t.prototype.initSonifyButton=function(b){var a= +this,d=this.sonifyButton=x(b),c=this.chart,f=function(b){d&&(d.setAttribute("aria-hidden","true"),d.setAttribute("aria-label",""));b.preventDefault();b.stopPropagation();b=c.langFormat("accessibility.sonification.playAsSoundClickAnnouncement",{chart:c});a.announcer.announce(b);setTimeout(function(){d&&(d.removeAttribute("aria-hidden"),d.removeAttribute("aria-label"));c.sonify&&c.sonify()},1E3)};d&&c&&(d.setAttribute("tabindex",-1),d.onclick=function(b){(c.options.accessibility&&c.options.accessibility.screenReaderSection.onPlayAsSoundClick|| +f).call(this,b,c)})};t.prototype.initDataTableButton=function(b){var a=this.viewDataTableButton=x(b),d=this.chart;b=b.replace("hc-linkto-","");a&&(C(a,{tabindex:-1,"aria-expanded":!!x(b)}),a.onclick=d.options.accessibility.screenReaderSection.onViewDataTableClick||function(){d.viewData()})};t.prototype.getAxesDescription=function(){var b=this.chart,a=function(a,d){a=b[a];return 1b.types.indexOf("map")&& +0>b.types.indexOf("treemap")&&0>b.types.indexOf("tilemap"),c=!!b.hasCartesianSeries,f=a("xAxis",!b.angular&&c&&d);a=a("yAxis",c&&d);d={};f&&(d.xAxis=this.getAxisDescriptionText("xAxis"));a&&(d.yAxis=this.getAxisDescriptionText("yAxis"));return d};t.prototype.getAxisDescriptionText=function(a){var c=this.chart,f=c[a];return c.langFormat("accessibility.axis."+a+"Description"+(1c||e!==d-1}e?a.styledMode?F(r,"highcharts-a11y-invisible"):r.style.visibility="hidden":(A(r,"highcharts-a11y-invisible"),r.style.visibility="")}})};b.prototype.onChartRender=function(){g(this.chart)||this.removeProxies()};b.prototype.highlightAdjacentLegendPage=function(a){var b=this.chart,d=b.legend;a=(d.currentPage||1)+a;var c=d.pages||[];if(0/g," "));a=a.langFormat("accessibility.legend.legendLabel"+(b?"":"NoTitle"),{chart:a,legendTitle:b,chartTitle:w(a)});this.proxyProvider.updateGroupAttrs("legend",{"aria-label":a})};b.prototype.addLegendProxyGroup=function(){this.proxyGroup=this.proxyProvider.addGroup("legend","ul",{"aria-label":"_placeholder_",role:"all"===this.chart.options.accessibility.landmarkVerbosity? +"region":null})};b.prototype.proxyLegendItems=function(){var a=this;(this.chart.legend&&this.chart.legend.allItems||[]).forEach(function(b){b.legendItem&&b.legendItem.element&&a.proxyLegendItem(b)})};b.prototype.proxyLegendItem=function(a){if(a.legendItem&&a.legendGroup){var b=this.chart.langFormat("accessibility.legend.legendItem",{chart:this.chart,itemName:x(a.name),item:a});a.a11yProxyElement=this.proxyProvider.addProxyElement("legend",{click:a.legendItem,visual:(a.legendGroup.div?a.legendItem: +a.legendGroup).element},{tabindex:-1,"aria-pressed":a.visible,"aria-label":b})}};b.prototype.getKeyboardNavigation=function(){var a=this.keyCodes,b=this,d=this.chart;return new l(d,{keyCodeMap:[[[a.left,a.right,a.up,a.down],function(a){return b.onKbdArrowKey(this,a)}],[[a.enter,a.space],function(d){return h.isFirefox&&d===a.space?this.response.success:b.onKbdClick(this)}],[[a.pageDown,a.pageUp],function(d){b.highlightAdjacentLegendPage(d===a.pageDown?1:-1);return this.response.success}]],validate:function(){return b.shouldHaveLegendNavigation()}, +init:function(){d.highlightLegendItem(0);b.highlightedLegendItemIx=0},terminate:function(){b.highlightedLegendItemIx=-1;d.legend.allItems.forEach(function(a){return p(!1,a)})}})};b.prototype.onKbdArrowKey=function(a,b){var d=this.keyCodes,c=a.response,f=this.chart,r=f.options.accessibility,e=f.legend.allItems.length;b=b===d.left||b===d.up?-1:1;if(f.highlightLegendItem(this.highlightedLegendItemIx+b))return this.highlightedLegendItemIx+=b,c.success;1b&&a.graphic&&a.graphic.element)})||null:null}function w(a){var b=a.chart.options.accessibility.series.pointDescriptionEnabledThreshold;return!!(!1!==b&&a.points&&a.points.length>=b)}function y(a){var b=a.options.accessibility||{};return!w(a)&&!b.exposeAsGroupOnly}function g(a){var b=a.chart.options.accessibility.keyboardNavigation.seriesNavigation;return!(!a.points||!(a.points.length< +b.pointNavigationEnabledThreshold||!1===b.pointNavigationEnabledThreshold))}function p(a,b){var d=a.series,c=d.chart;a=c.options.accessibility.point||{};var f=d.options.accessibility&&d.options.accessibility.point||{};d=d.tooltipOptions||{};c=c.options.lang;return H(b)?E(b,f.valueDecimals||a.valueDecimals||d.valueDecimals||-1,c.decimalPoint,c.accessibility.thousandsSep||c.thousandsSep):b}function k(a){var b=(a.options.accessibility||{}).description;return b&&a.chart.langFormat("accessibility.series.description", +{description:b,series:a})||""}function c(a,b){return a.chart.langFormat("accessibility.series."+b+"Description",{name:z(a[b]),series:a})}function e(a,b,d){var c=b||"",f=d||"";return a.series.pointArrayMap.reduce(function(b,d){b+=b.length?", ":"";var r=p(a,t(a[d],a.options[d]));return b+(d+": "+c+r+f)},"")}function d(a){var b=a.series,d=1"," ");h=a.id&&0>a.id.indexOf("highcharts-");g="x, "+a.x;k=a.name||k||z||(h?a.id:g)}else k="";z=m(a.index)?a.index+1:"";h=a.series;var l=h.chart.options.accessibility.point||{},n=h.chart.options.accessibility&&h.chart.options.accessibility.point||{},B=h.tooltipOptions||{};g=n.valuePrefix||l.valuePrefix||B.valuePrefix||"";l=n.valueSuffix||l.valueSuffix||B.valueSuffix||"";n=p(a,a["undefined"!==typeof a.value?"value":"y"]);h=a.isNull?h.chart.langFormat("accessibility.series.nullPointValue", +{point:a}):h.pointArrayMap?e(a,g,l):g+n+l;f=A(r,{point:a,index:z,xDescription:k,value:h,separator:c?", ":""},f);r=(r=a.options&&a.options.accessibility&&a.options.accessibility.description)?" "+r:"";b=d?" "+b.name+".":"";d=a.series.chart;c=v(a);k={point:a,annotations:c};d=c.length?d.langFormat("accessibility.series.pointAnnotationsDescription",k):"";a.accessibility=a.accessibility||{};a.accessibility.valueDescription=f;return f+r+b+(d?" "+d:"")}function b(a){var b=y(a),c=g(a),f=a.chart.options.accessibility.point.describeNull; +(b||c)&&a.points.forEach(function(c){var e;if(!(e=c.graphic&&c.graphic.element)){var r=c.series;e=r&&r.chart;r=r&&r.is("sunburst");e=e&&e.options.accessibility.point.describeNull;if(e=c.isNull&&!r&&e){r=c.series;var m=l(c);r=(e=m&&m.graphic)?e.parentGroup:r.graph||r.group;m=m?{x:t(c.plotX,m.plotX,0),y:t(c.plotY,m.plotY,0)}:{x:t(c.plotX,0),y:t(c.plotY,0)};m=c.series.chart.renderer.rect(m.x,m.y,1,1);m.attr({"class":"highcharts-a11y-dummy-point",fill:"none",opacity:0,"fill-opacity":0,"stroke-opacity":0}); +r&&r.element?(c.graphic=m,c.hasDummyGraphic=!0,m.add(r),r.element.insertBefore(m.element,e?e.element:null),e=m.element):e=void 0}}r=c.options&&c.options.accessibility&&!1===c.options.accessibility.enabled;e&&(c.isNull&&!f?e.setAttribute("aria-hidden",!0):(e.setAttribute("tabindex","-1"),a.chart.styledMode||(e.style.outline="none"),b&&!r?(m=c.series,r=m.chart.options.accessibility.point||{},m=m.options.accessibility&&m.options.accessibility.point||{},c=C(m.descriptionFormatter&&m.descriptionFormatter(c)|| +r.descriptionFormatter&&r.descriptionFormatter(c)||d(c)),e.setAttribute("role","img"),e.setAttribute("aria-label",c)):e.setAttribute("aria-hidden",!0)))})}function f(a){var b=a.chart,d=b.types||[],f=k(a),e=function(d){return b[d]&&1h-k,w=r=864E5*{month:28,year:365}[g]*I-N&&e-36E5<=864E5*{month:31,year:366}[g]*I+N?r=!0:"ytd"===g?(r=p-t+N===e,u=!b):"all"===g&&(r=c.max-c.min>=h-k,A=!b&&l&&r);g=!n&&(B||w||A||f);I=b&&r||r&&!l&&!u||b&&a.frozenStates;g?J=3:I&&(l=!0,J=2);M.state!==J&&(M.setState(J),d&&(d.options[m+1].disabled=g,2===J&&(d.selectedIndex=m+1)),0===J&&v===m&&a.setSelected())})};f.prototype.computeButtonRange=function(a){var b=a.type, +d=a.count||1,c={millisecond:1,second:1E3,minute:6E4,hour:36E5,day:864E5,week:6048E5};if(c[b])a._range=c[b]*d;else if("month"===b||"year"===b)a._range=864E5*{month:30,year:365}[b]*d;a._offsetMin=A(a.offsetMin,0);a._offsetMax=A(a.offsetMax,0);a._range+=a._offsetMax-a._offsetMin};f.prototype.getInputValue=function(a){a="min"===a?this.minInput:this.maxInput;var b=this.chart.options.rangeSelector,d=this.chart.time;return a?("text"===a.type&&b.inputDateParser||this.defaultInputDateParser)(a.value,d.useUTC, +d):0};f.prototype.setInputValue=function(a,b){var d=this.options,e=this.chart.time,f="min"===a?this.minInput:this.maxInput;a="min"===a?this.minDateBox:this.maxDateBox;if(f){var m=f.getAttribute("data-hc-time");m=c(m)?Number(m):void 0;c(b)&&(c(m)&&f.setAttribute("data-hc-time-previous",m),f.setAttribute("data-hc-time",b),m=b);f.value=e.dateFormat(this.inputTypeFormats[f.type]||d.inputEditDateFormat,m);a&&a.attr({text:e.dateFormat(d.inputDateFormat,m)})}};f.prototype.setInputExtremes=function(a,b,d){if(a= +"min"===a?this.minInput:this.maxInput){var c=this.inputTypeFormats[a.type],e=this.chart.time;c&&(b=e.dateFormat(c,b),a.min!==b&&(a.min=b),d=e.dateFormat(c,d),a.max!==d&&(a.max=d))}};f.prototype.showInput=function(a){var b="min"===a?this.minDateBox:this.maxDateBox;if((a="min"===a?this.minInput:this.maxInput)&&b&&this.inputGroup){var d="text"===a.type,c=this.inputGroup,e=c.translateX;c=c.translateY;var f=this.options.inputBoxWidth;k(a,{width:d?b.width+(f?-2:20)+"px":"auto",height:d?b.height-2+"px": +"auto",border:"2px solid silver"});d&&f?k(a,{left:e+b.x+"px",top:c+"px"}):k(a,{left:Math.min(Math.round(b.x+e-(a.offsetWidth-b.width)/2),this.chart.chartWidth-a.offsetWidth)+"px",top:c-(a.offsetHeight-b.height)/2+"px"})}};f.prototype.hideInput=function(a){(a="min"===a?this.minInput:this.maxInput)&&k(a,{top:"-9999em",border:0,width:"1px",height:"1px"})};f.prototype.defaultInputDateParser=function(a,b,d){var c=a.split("/").join("-").split(" ").join("T");-1===c.indexOf("T")&&(c+="T00:00");if(b)c+="Z"; +else{var e;if(e=n.isSafari)e=c,e=!(6=e?"+".concat(F(-e),":00"):"-".concat(F(e),":00"))}c=Date.parse(c);z(c)||(a=a.split("-"),c=Date.UTC(E(a[0]),E(a[1])-1,E(a[2])));d&&b&&z(c)&&(c+=d.getTimezoneOffset(c));return c};f.prototype.drawInput=function(a){function d(){var b=m.getInputValue(a),d=c.xAxis[0],e=c.scroller&&c.scroller.xAxis?c.scroller.xAxis:d,f=e.dataMin;e=e.dataMax;var r= +m.maxInput,g=m.minInput;b!==Number(q.getAttribute("data-hc-time-previous"))&&z(b)&&(q.setAttribute("data-hc-time-previous",b),v&&r&&z(f)?b>Number(r.getAttribute("data-hc-time"))?b=void 0:be&&(b=e)),"undefined"!==typeof b&&d.setExtremes(v?b:d.min,v?d.max:b,void 0,void 0,{trigger:"rangeSelectorInput"}))}var c=this.chart,e=this.div,f=this.inputGroup,m=this,g=c.renderer.style||{},h=c.renderer,t=c.options.rangeSelector,v="min"===a, +l=y.lang[v?"rangeSelectorFrom":"rangeSelectorTo"]||"";l=h.label(l,0).addClass("highcharts-range-label").attr({padding:l?2:0,height:l?t.inputBoxHeight:0}).add(f);h=h.label("",0).addClass("highcharts-range-input").attr({padding:2,width:t.inputBoxWidth,height:t.inputBoxHeight,"text-align":"center"}).on("click",function(){m.showInput(a);m[a+"Input"].focus()});c.styledMode||h.attr({stroke:t.inputBoxBorderColor,"stroke-width":1});h.add(f);var q=p("input",{name:a,className:"highcharts-range-selector"},void 0, +e);q.setAttribute("type",w(t.inputDateFormat||"%b %e, %Y"));c.styledMode||(l.css(x(g,t.labelStyle)),h.css(x({color:"#333333"},g,t.inputStyle)),k(q,b({position:"absolute",border:0,boxShadow:"0 0 15px rgba(0,0,0,0.3)",width:"1px",height:"1px",padding:0,textAlign:"center",fontSize:g.fontSize,fontFamily:g.fontFamily,top:"-9999em"},t.inputStyle)));q.onfocus=function(){m.showInput(a)};q.onblur=function(){q===n.doc.activeElement&&d();m.hideInput(a);m.setInputValue(a);q.blur()};var B=!1;q.onchange=function(){B|| +(d(),m.hideInput(a),q.blur())};q.onkeypress=function(a){13===a.keyCode&&d()};q.onkeydown=function(a){B=!0;38!==a.keyCode&&40!==a.keyCode||d()};q.onkeyup=function(){B=!1};return{dateBox:h,input:q,label:l}};f.prototype.getPosition=function(){var a=this.chart,b=a.options.rangeSelector;a="top"===b.verticalAlign?a.plotTop-a.axisOffset[0]:0;return{buttonTop:a+b.buttonPosition.y,inputTop:a+b.inputPosition.y-10}};f.prototype.getYTDExtremes=function(a,b,d){var c=this.chart.time,e=new c.Date(a),f=c.get("FullYear", +e);d=d?c.Date.UTC(f,0,1):+new c.Date(f,0,1);b=Math.max(b,d);e=e.getTime();return{max:Math.min(a||e,e),min:b}};f.prototype.render=function(a,b){var d=this.chart,e=d.renderer,f=d.container,g=d.options,r=g.rangeSelector,m=A(g.chart.style&&g.chart.style.zIndex,0)+1;g=r.inputEnabled;if(!1!==r.enabled){this.rendered||(this.group=e.g("range-selector-group").attr({zIndex:7}).add(),this.div=p("div",void 0,{position:"relative",height:0,zIndex:m}),this.buttonOptions.length&&this.renderButtons(),f.parentNode&& +f.parentNode.insertBefore(this.div,f),g&&(this.inputGroup=e.g("input-group").add(this.group),e=this.drawInput("min"),this.minDateBox=e.dateBox,this.minLabel=e.label,this.minInput=e.input,e=this.drawInput("max"),this.maxDateBox=e.dateBox,this.maxLabel=e.label,this.maxInput=e.input));if(g&&(this.setInputValue("min",a),this.setInputValue("max",b),a=d.scroller&&d.scroller.getUnionExtremes()||d.xAxis[0]||{},c(a.dataMin)&&c(a.dataMax)&&(d=d.xAxis[0].minRange||0,this.setInputExtremes("min",a.dataMin,Math.min(a.dataMax, +this.getInputValue("max"))-d),this.setInputExtremes("max",Math.max(a.dataMin,this.getInputValue("min"))+d,a.dataMax)),this.inputGroup)){var k=0;[this.minLabel,this.minDateBox,this.maxLabel,this.maxDateBox].forEach(function(a){if(a){var b=a.getBBox().width;b&&(a.attr({x:k}),k+=b+r.inputSpacing)}})}this.alignElements();this.rendered=!0}};f.prototype.renderButtons=function(){var a=this,b=this.buttons,d=this.options,c=y.lang,e=this.chart.renderer,f=x(d.buttonTheme),k=f&&f.states,h=f.width||28;delete f.width; +delete f.states;this.buttonGroup=e.g("range-selector-buttons").add(this.group);var t=this.dropdown=p("select",void 0,{position:"absolute",width:"1px",height:"1px",padding:0,border:0,top:"-9999em",cursor:"pointer",opacity:.0001},this.div);g(t,"touchstart",function(){t.style.fontSize="16px"});[[n.isMS?"mouseover":"mouseenter"],[n.isMS?"mouseout":"mouseleave"],["change","click"]].forEach(function(d){var c=d[0],e=d[1];g(t,c,function(){var d=b[a.currentButtonIndex()];d&&v(d.element,e||c)})});this.zoomText= +e.label(c&&c.rangeSelectorZoom||"",0).attr({padding:d.buttonTheme.padding,height:d.buttonTheme.height,paddingLeft:0,paddingRight:0}).add(this.buttonGroup);this.chart.styledMode||(this.zoomText.css(d.labelStyle),f["stroke-width"]=A(f["stroke-width"],0));p("option",{textContent:this.zoomText.textStr,disabled:!0},void 0,t);this.buttonOptions.forEach(function(d,c){p("option",{textContent:d.title||d.text},void 0,t);b[c]=e.button(d.text,0,0,function(b){var e=d.events&&d.events.click,f;e&&(f=e.call(d,b)); +!1!==f&&a.clickButton(c);a.isActive=!0},f,k&&k.hover,k&&k.select,k&&k.disabled).attr({"text-align":"center",width:h}).add(a.buttonGroup);d.title&&b[c].attr("title",d.title)})};f.prototype.alignElements=function(){var a=this,b=this.buttonGroup,d=this.buttons,c=this.chart,e=this.group,f=this.inputGroup,g=this.options,k=this.zoomText,h=c.options,t=h.exporting&&!1!==h.exporting.enabled&&h.navigation&&h.navigation.buttonOptions;h=g.buttonPosition;var p=g.inputPosition,v=g.verticalAlign,l=function(b,d){return t&& +a.titleCollision(c)&&"top"===v&&"right"===d.align&&d.y-b.getBBox().height-12<(t.y||0)+(t.height||0)+c.spacing[0]?-40:0},q=c.plotLeft;if(e&&h&&p){var n=h.x-c.spacing[3];if(b){this.positionButtons();if(!this.initialButtonGroupWidth){var B=0;k&&(B+=k.getBBox().width+5);d.forEach(function(a,b){B+=a.width;b!==d.length-1&&(B+=g.buttonSpacing)});this.initialButtonGroupWidth=B}q-=c.spacing[3];this.updateButtonStates();k=l(b,h);this.alignButtonGroup(k);e.placed=b.placed=c.hasLoaded}b=0;f&&(b=l(f,p),"left"=== +p.align?n=q:"right"===p.align&&(n=-Math.max(c.axisOffset[1],-b)),f.align({y:p.y,width:f.getBBox().width,align:p.align,x:p.x+n-2},!0,c.spacingBox),f.placed=c.hasLoaded);this.handleCollision(b);e.align({verticalAlign:v},!0,c.spacingBox);f=e.alignAttr.translateY;b=e.getBBox().height+20;l=0;"bottom"===v&&(l=(l=c.legend&&c.legend.options)&&"bottom"===l.verticalAlign&&l.enabled&&!l.floating?c.legend.legendHeight+A(l.margin,10):0,b=b+l-20,l=f-b-(g.floating?0:g.y)-(c.titleOffset?c.titleOffset[2]:0)-10);if("top"=== +v)g.floating&&(l=0),c.titleOffset&&c.titleOffset[0]&&(l=c.titleOffset[0]),l+=c.margin[0]-c.spacing[0]||0;else if("middle"===v)if(p.y===h.y)l=f;else if(p.y||h.y)l=0>p.y||0>h.y?l-Math.min(p.y,h.y):f-b;e.translate(g.x,g.y+Math.floor(l));h=this.minInput;p=this.maxInput;f=this.dropdown;g.inputEnabled&&h&&p&&(h.style.marginTop=e.translateY+"px",p.style.marginTop=e.translateY+"px");f&&(f.style.marginTop=e.translateY+"px")}};f.prototype.alignButtonGroup=function(a,b){var d=this.chart,c=this.buttonGroup,e= +this.options.buttonPosition,f=d.plotLeft-d.spacing[3],g=e.x-d.spacing[3];"right"===e.align?g+=a-f:"center"===e.align&&(g-=f/2);c&&c.align({y:e.y,width:A(b,this.initialButtonGroupWidth),align:e.align,x:g},!0,d.spacingBox)};f.prototype.positionButtons=function(){var a=this.buttons,b=this.chart,d=this.options,c=this.zoomText,e=b.hasLoaded?"animate":"attr",f=d.buttonPosition,g=b.plotLeft,k=g;c&&"hidden"!==c.visibility&&(c[e]({x:A(g+f.x,g)}),k+=f.x+c.getBBox().width+5);this.buttonOptions.forEach(function(b, +c){if("hidden"!==a[c].visibility)a[c][e]({x:k}),k+=a[c].width+d.buttonSpacing;else a[c][e]({x:g})})};f.prototype.handleCollision=function(a){var b=this,d=this.chart,c=this.buttonGroup,e=this.inputGroup,f=this.options,g=f.buttonPosition,k=f.dropdown,m=f.inputPosition;f=function(){var a=0;b.buttons.forEach(function(b){b=b.getBBox();b.width>a&&(a=b.width)});return a};var h=function(b){if(e&&c){var d=e.alignAttr.translateX+e.alignOptions.x-a+e.getBBox().x+2,f=e.alignOptions.width,k=c.alignAttr.translateX+ +c.getBBox().x;return k+b>d&&d+f>k&&g.y=-a?0:-a),translateY:e.alignAttr.translateY+c.getBBox().height+10})};if(c){if("always"===k){this.collapseButtons(a);h(f())&&t();return}"never"===k&&this.expandButtons()}e&&c?m.align===g.align||h(this.initialButtonGroupWidth+20)?"responsive"===k?(this.collapseButtons(a),h(f())&&t()):t():"responsive"===k&&this.expandButtons():c&&"responsive"===k&&(this.initialButtonGroupWidth> +d.plotWidth?this.collapseButtons(a):this.expandButtons())};f.prototype.collapseButtons=function(a){var b=this.buttons,d=this.buttonOptions,c=this.chart,e=this.dropdown,f=this.options,g=this.zoomText,k=c.userOptions.rangeSelector&&c.userOptions.rangeSelector.buttonTheme||{},h=function(a){return{text:a?""+a+" \u25be":"\u25be",width:"auto",paddingLeft:A(f.buttonTheme.paddingLeft,k.padding,8),paddingRight:A(f.buttonTheme.paddingRight,k.padding,8)}};g&&g.hide();var m=!1;d.forEach(function(a,d){d=b[d]; +2!==d.state?d.hide():(d.show(),d.attr(h(a.text)),m=!0)});m||(e&&(e.selectedIndex=0),b[0].show(),b[0].attr(h(this.zoomText&&this.zoomText.textStr)));d=f.buttonPosition.align;this.positionButtons();"right"!==d&&"center"!==d||this.alignButtonGroup(a,b[this.currentButtonIndex()].getBBox().width);this.showDropdown()};f.prototype.expandButtons=function(){var a=this.buttons,b=this.buttonOptions,d=this.options,c=this.zoomText;this.hideDropdown();c&&c.show();b.forEach(function(b,c){c=a[c];c.show();c.attr({text:b.text, +width:d.buttonTheme.width||28,paddingLeft:A(d.buttonTheme.paddingLeft,"unset"),paddingRight:A(d.buttonTheme.paddingRight,"unset")});2>c.state&&c.setState(0)});this.positionButtons()};f.prototype.currentButtonIndex=function(){var a=this.dropdown;return a&&0e&&0>c||0d?b.accessibility&&(b.accessibility.keyboardNavigation.tabindexContainer.focus(),b.accessibility.keyboardNavigation.move(a)):c&&(a=c[d?"maxDateBox":"minDateBox"],c=c[d?"maxInput":"minInput"],a&&c&&b.setFocusToElement(a,c))};c.prototype.onInputNavInit=function(a){var b=this,c=this,d=this.chart,e=0=g&&a||0<=g&&!a||5>h||k(f))&&hc&&be.dataMax&&(f=e.dataMax,b=f-g);d.setExtremes(b,f);return a.response.success};g.prototype.onMapKbdTab=function(a,c){var e=this.chart;a=a.response;var d=(c=c.shiftKey)&&!this.focusedMapNavButtonIx||!c&&this.focusedMapNavButtonIx;e.mapNavigation.navButtons[this.focusedMapNavButtonIx].setState(0);if(d)return e.mapZoom(),a[c?"prev":"next"];this.focusedMapNavButtonIx+=c?-1:1;c=e.mapNavigation.navButtons[this.focusedMapNavButtonIx];e.setFocusToElement(c.box, +c.element);c.setState(2);return a.success};g.prototype.onMapKbdClick=function(a){this.fakeClickEvent(this.chart.mapNavButtons[this.focusedMapNavButtonIx].element);return a.response.success};g.prototype.onMapNavInit=function(a){var c=this.chart,e=c.mapNavigation.navButtons[0],d=c.mapNavigation.navButtons[1];e=0{chartTitle}
{typeDescription}
{chartSubtitle}
{chartLongdesc}
{playAsSoundButton}
{viewTableButton}
{xAxisDescription}
{yAxisDescription}
{annotationsTitle}{annotationsList}
",afterChartFormat:"{endOfChartMarker}", +axisRangeDateFormat:"%Y-%m-%d %H:%M:%S"},series:{descriptionFormat:"{seriesDescription}{authorDescription}{axisDescription}",describeSingleSeries:!1,pointDescriptionEnabledThreshold:200},point:{valueDescriptionFormat:"{xDescription}{separator}{value}.",describeNull:!0},landmarkVerbosity:"all",linkedDescription:'*[data-highcharts-chart="{index}"] + .highcharts-description',keyboardNavigation:{enabled:!0,focusBorder:{enabled:!0,hideBrowserFocusOutline:!0,style:{color:"#335cad",lineWidth:2,borderRadius:3}, +margin:2},order:["series","zoom","rangeSelector","legend","chartMenu"],wrapAround:!0,seriesNavigation:{skipNullPoints:!0,pointNavigationEnabledThreshold:!1,rememberPointFocus:!1}},announceNewData:{enabled:!1,minAnnounceInterval:5E3,interruptUser:!1}},legend:{accessibility:{enabled:!0,keyboardNavigation:{enabled:!0}}},exporting:{accessibility:{enabled:!0}}}});x(a,"Accessibility/Options/LangDefaults.js",[],function(){return{accessibility:{defaultChartTitle:"Chart",chartContainerLabel:"{title}. Highcharts interactive chart.", +svgContainerLabel:"Interactive chart",drillUpButton:"{buttonText}",credits:"Chart credits: {creditsStr}",thousandsSep:",",svgContainerTitle:"",graphicContainerLabel:"",screenReaderSection:{beforeRegionLabel:"",afterRegionLabel:"",annotations:{heading:"Chart annotations summary",descriptionSinglePoint:"{annotationText}. Related to {annotationPoint}",descriptionMultiplePoints:"{annotationText}. Related to {annotationPoint}{ Also related to, #each(additionalAnnotationPoints)}",descriptionNoPoints:"{annotationText}"}, +endOfChartMarker:"End of interactive chart."},sonification:{playAsSoundButtonText:"Play as sound, {chartTitle}",playAsSoundClickAnnouncement:"Play"},legend:{legendLabelNoTitle:"Toggle series visibility, {chartTitle}",legendLabel:"Chart legend: {legendTitle}",legendItem:"Show {itemName}"},zoom:{mapZoomIn:"Zoom chart",mapZoomOut:"Zoom out chart",resetZoomButton:"Reset zoom"},rangeSelector:{dropdownLabel:"{rangeTitle}",minInputLabel:"Select start date.",maxInputLabel:"Select end date.",clickButtonAnnouncement:"Viewing {axisRangeDescription}"}, +table:{viewAsDataTableButtonText:"View as data table, {chartTitle}",tableSummary:"Table representation of chart."},announceNewData:{newDataAnnounce:"Updated data for chart {chartTitle}",newSeriesAnnounceSingle:"New data series: {seriesDesc}",newPointAnnounceSingle:"New data point: {pointDesc}",newSeriesAnnounceMultiple:"New data series in chart {chartTitle}: {seriesDesc}",newPointAnnounceMultiple:"New data point in chart {chartTitle}: {pointDesc}"},seriesTypeDescriptions:{boxplot:"Box plot charts are typically used to display groups of statistical data. Each data point in the chart can have up to 5 values: minimum, lower quartile, median, upper quartile, and maximum.", +arearange:"Arearange charts are line charts displaying a range between a lower and higher value for each point.",areasplinerange:"These charts are line charts displaying a range between a lower and higher value for each point.",bubble:"Bubble charts are scatter charts where each data point also has a size value.",columnrange:"Columnrange charts are column charts displaying a range between a lower and higher value for each point.",errorbar:"Errorbar series are used to display the variability of the data.", +funnel:"Funnel charts are used to display reduction of data in stages.",pyramid:"Pyramid charts consist of a single pyramid with item heights corresponding to each point value.",waterfall:"A waterfall chart is a column chart where each column contributes towards a total end value."},chartTypes:{emptyChart:"Empty chart",mapTypeDescription:"Map of {mapTitle} with {numSeries} data series.",unknownMap:"Map of unspecified region with {numSeries} data series.",combinationChart:"Combination chart with {numSeries} data series.", +defaultSingle:"Chart with {numPoints} data {#plural(numPoints, points, point)}.",defaultMultiple:"Chart with {numSeries} data series.",splineSingle:"Line chart with {numPoints} data {#plural(numPoints, points, point)}.",splineMultiple:"Line chart with {numSeries} lines.",lineSingle:"Line chart with {numPoints} data {#plural(numPoints, points, point)}.",lineMultiple:"Line chart with {numSeries} lines.",columnSingle:"Bar chart with {numPoints} {#plural(numPoints, bars, bar)}.",columnMultiple:"Bar chart with {numSeries} data series.", +barSingle:"Bar chart with {numPoints} {#plural(numPoints, bars, bar)}.",barMultiple:"Bar chart with {numSeries} data series.",pieSingle:"Pie chart with {numPoints} {#plural(numPoints, slices, slice)}.",pieMultiple:"Pie chart with {numSeries} pies.",scatterSingle:"Scatter chart with {numPoints} {#plural(numPoints, points, point)}.",scatterMultiple:"Scatter chart with {numSeries} data series.",boxplotSingle:"Boxplot with {numPoints} {#plural(numPoints, boxes, box)}.",boxplotMultiple:"Boxplot with {numSeries} data series.", +bubbleSingle:"Bubble chart with {numPoints} {#plural(numPoints, bubbles, bubble)}.",bubbleMultiple:"Bubble chart with {numSeries} data series."},axis:{xAxisDescriptionSingular:"The chart has 1 X axis displaying {names[0]}. {ranges[0]}",xAxisDescriptionPlural:"The chart has {numAxes} X axes displaying {#each(names, -1) }and {names[-1]}.",yAxisDescriptionSingular:"The chart has 1 Y axis displaying {names[0]}. {ranges[0]}",yAxisDescriptionPlural:"The chart has {numAxes} Y axes displaying {#each(names, -1) }and {names[-1]}.", +timeRangeDays:"Data range: {range} days.",timeRangeHours:"Data range: {range} hours.",timeRangeMinutes:"Data range: {range} minutes.",timeRangeSeconds:"Data range: {range} seconds.",rangeFromTo:"Data ranges from {rangeFrom} to {rangeTo}.",rangeCategories:"Data range: {numCategories} categories."},exporting:{chartMenuLabel:"Chart menu",menuButtonLabel:"View chart menu, {chartTitle}"},series:{summary:{"default":"{series.name}, series {seriesNumber} of {chart.series.length} with {series.points.length} data {#plural(series.points.length, points, point)}.", +defaultCombination:"{series.name}, series {seriesNumber} of {chart.series.length} with {series.points.length} data {#plural(series.points.length, points, point)}.",line:"{series.name}, line {seriesNumber} of {chart.series.length} with {series.points.length} data {#plural(series.points.length, points, point)}.",lineCombination:"{series.name}, series {seriesNumber} of {chart.series.length}. Line with {series.points.length} data {#plural(series.points.length, points, point)}.",spline:"{series.name}, line {seriesNumber} of {chart.series.length} with {series.points.length} data {#plural(series.points.length, points, point)}.", +splineCombination:"{series.name}, series {seriesNumber} of {chart.series.length}. Line with {series.points.length} data {#plural(series.points.length, points, point)}.",column:"{series.name}, bar series {seriesNumber} of {chart.series.length} with {series.points.length} {#plural(series.points.length, bars, bar)}.",columnCombination:"{series.name}, series {seriesNumber} of {chart.series.length}. Bar series with {series.points.length} {#plural(series.points.length, bars, bar)}.",bar:"{series.name}, bar series {seriesNumber} of {chart.series.length} with {series.points.length} {#plural(series.points.length, bars, bar)}.", +barCombination:"{series.name}, series {seriesNumber} of {chart.series.length}. Bar series with {series.points.length} {#plural(series.points.length, bars, bar)}.",pie:"{series.name}, pie {seriesNumber} of {chart.series.length} with {series.points.length} {#plural(series.points.length, slices, slice)}.",pieCombination:"{series.name}, series {seriesNumber} of {chart.series.length}. Pie with {series.points.length} {#plural(series.points.length, slices, slice)}.",scatter:"{series.name}, scatter plot {seriesNumber} of {chart.series.length} with {series.points.length} {#plural(series.points.length, points, point)}.", +scatterCombination:"{series.name}, series {seriesNumber} of {chart.series.length}, scatter plot with {series.points.length} {#plural(series.points.length, points, point)}.",boxplot:"{series.name}, boxplot {seriesNumber} of {chart.series.length} with {series.points.length} {#plural(series.points.length, boxes, box)}.",boxplotCombination:"{series.name}, series {seriesNumber} of {chart.series.length}. Boxplot with {series.points.length} {#plural(series.points.length, boxes, box)}.",bubble:"{series.name}, bubble series {seriesNumber} of {chart.series.length} with {series.points.length} {#plural(series.points.length, bubbles, bubble)}.", +bubbleCombination:"{series.name}, series {seriesNumber} of {chart.series.length}. Bubble series with {series.points.length} {#plural(series.points.length, bubbles, bubble)}.",map:"{series.name}, map {seriesNumber} of {chart.series.length} with {series.points.length} {#plural(series.points.length, areas, area)}.",mapCombination:"{series.name}, series {seriesNumber} of {chart.series.length}. Map with {series.points.length} {#plural(series.points.length, areas, area)}.",mapline:"{series.name}, line {seriesNumber} of {chart.series.length} with {series.points.length} data {#plural(series.points.length, points, point)}.", +maplineCombination:"{series.name}, series {seriesNumber} of {chart.series.length}. Line with {series.points.length} data {#plural(series.points.length, points, point)}.",mapbubble:"{series.name}, bubble series {seriesNumber} of {chart.series.length} with {series.points.length} {#plural(series.points.length, bubbles, bubble)}.",mapbubbleCombination:"{series.name}, series {seriesNumber} of {chart.series.length}. Bubble series with {series.points.length} {#plural(series.points.length, bubbles, bubble)}."}, +description:"{description}",xAxisDescription:"X axis, {name}",yAxisDescription:"Y axis, {name}",nullPointValue:"No value",pointAnnotationsDescription:"{Annotation: #each(annotations). }"}}}});x(a,"Accessibility/Options/DeprecatedOptions.js",[a["Core/Utilities.js"]],function(a){function h(a,h,k){for(var c,e=0;ep&&("right"===g?a.align="left":a.x=(a.x||0)-p);p=d+c.width-e;p>b.plotWidth&&("left"===g?a.align="right":a.x=(a.x||0)+b.plotWidth-p);p=f+e;0>p&&("bottom"===r?a.verticalAlign="top":a.y=(a.y||0)-p);p=f+c.height-e;p>b.plotHeight&&("top"===r?a.verticalAlign="bottom":a.y=(a.y||0)+b.plotHeight-p);return a};b.prototype.translatePoint= +function(b,a){c.translatePoint.call(this,b,a,0)};b.prototype.translate=function(b,a){var d=this.annotation.chart,f=this.annotation.userOptions,g=d.annotations.indexOf(this.annotation);g=d.options.annotations[g];d.inverted&&(d=b,b=a,a=d);this.options.x+=b;this.options.y+=a;g[this.collection][this.index].x=this.options.x;g[this.collection][this.index].y=this.options.y;f[this.collection][this.index].x=this.options.x;f[this.collection][this.index].y=this.options.y};b.prototype.render=function(a){var d= +this.options,f=this.attrsFromOptions(d),g=d.style;this.graphic=this.annotation.chart.renderer.label("",0,-9999,d.shape,null,null,d.useHTML,null,"annotation-label").attr(f).add(a);this.annotation.chart.styledMode||("contrast"===g.color&&(g.color=this.annotation.chart.renderer.getContrast(-1p&&(p=-c-p);pd+c?r.push(["L",a+g,d+c]):ua+e&&r.push(["L",a+e,d+c/2])}return r||[]};return m});v(c,"Extensions/Annotations/Controllables/ControllableImage.js",[c["Extensions/Annotations/Controllables/ControllableLabel.js"],c["Extensions/Annotations/Mixins/ControllableMixin.js"]], +function(c,l){return function(){function h(c,h,m){this.addControlPoints=l.addControlPoints;this.anchor=l.anchor;this.attr=l.attr;this.attrsFromOptions=l.attrsFromOptions;this.destroy=l.destroy;this.getPointsOptions=l.getPointsOptions;this.init=l.init;this.linkPoints=l.linkPoints;this.point=l.point;this.rotate=l.rotate;this.scale=l.scale;this.setControlPointsVisibility=l.setControlPointsVisibility;this.shouldBeDrawn=l.shouldBeDrawn;this.transform=l.transform;this.transformPoint=l.transformPoint;this.translatePoint= +l.translatePoint;this.translateShape=l.translateShape;this.update=l.update;this.type="image";this.translate=l.translateShape;this.init(c,h,m);this.collection="shapes"}h.prototype.render=function(c){var h=this.attrsFromOptions(this.options),m=this.options;this.graphic=this.annotation.chart.renderer.image(m.src,0,-9E9,m.width,m.height).attr(h).add(c);this.graphic.width=m.width;this.graphic.height=m.height;l.render.call(this)};h.prototype.redraw=function(h){var k=this.anchor(this.points[0]);if(k=c.prototype.position.call(this, +k))this.graphic[h?"animate":"attr"]({x:k.x,y:k.y});else this.graphic.attr({x:0,y:-9E9});this.graphic.placed=!!k;l.redraw.call(this,h)};h.attrsMap={width:"width",height:"height",zIndex:"zIndex"};return h}()});v(c,"Extensions/Annotations/Annotation.js",[c["Core/Animation/AnimationUtilities.js"],c["Core/Chart/Chart.js"],c["Extensions/Annotations/Mixins/ControllableMixin.js"],c["Extensions/Annotations/Controllables/ControllableRect.js"],c["Extensions/Annotations/Controllables/ControllableCircle.js"], +c["Extensions/Annotations/Controllables/ControllableEllipse.js"],c["Extensions/Annotations/Controllables/ControllablePath.js"],c["Extensions/Annotations/Controllables/ControllableImage.js"],c["Extensions/Annotations/Controllables/ControllableLabel.js"],c["Extensions/Annotations/ControlPoint.js"],c["Extensions/Annotations/Mixins/EventEmitterMixin.js"],c["Core/Globals.js"],c["Extensions/Annotations/MockPoint.js"],c["Core/Pointer.js"],c["Core/Utilities.js"]],function(c,l,n,k,q,m,e,a,b,d,f,g,r,p,u){var h= +c.getDeferredAnimation;c=l.prototype;var C=u.addEvent,D=u.defined,A=u.destroyObjectProperties,y=u.erase,B=u.extend,E=u.find,x=u.fireEvent,t=u.merge,w=u.pick,z=u.splat;u=u.wrap;var F=function(){function g(a,b){this.annotation=void 0;this.coll="annotations";this.shapesGroup=this.labelsGroup=this.labelCollector=this.group=this.graphic=this.animationConfig=this.collection=void 0;this.chart=a;this.points=[];this.controlPoints=[];this.coll="annotations";this.labels=[];this.shapes=[];this.options=t(this.defaultOptions, +b);this.userOptions=b;b=this.getLabelsAndShapesOptions(this.options,b);this.options.labels=b.labels;this.options.shapes=b.shapes;this.init(a,this.options)}g.prototype.init=function(){var a=this.chart,b=this.options.animation;this.linkPoints();this.addControlPoints();this.addShapes();this.addLabels();this.setLabelCollector();this.animationConfig=h(a,b)};g.prototype.getLabelsAndShapesOptions=function(a,b){var d={};["labels","shapes"].forEach(function(f){var g=a[f];g&&(d[f]=b[f]?z(b[f]).map(function(a, +b){return t(g[b],a)}):a[f])});return d};g.prototype.addShapes=function(){var a=this.options.shapes||[];a.forEach(function(b,d){b=this.initShape(b,d);t(!0,a[d],b.options)},this)};g.prototype.addLabels=function(){(this.options.labels||[]).forEach(function(a,b){a=this.initLabel(a,b);t(!0,this.options.labels[b],a.options)},this)};g.prototype.addClipPaths=function(){this.setClipAxes();this.clipXAxis&&this.clipYAxis&&this.options.crop&&(this.clipRect=this.chart.renderer.clipRect(this.getClipBox()))};g.prototype.setClipAxes= +function(){var a=this.chart.xAxis,b=this.chart.yAxis,d=(this.options.labels||[]).concat(this.options.shapes||[]).reduce(function(d,f){f=f&&(f.point||f.points&&f.points[0]);return[a[f&&f.xAxis]||d[0],b[f&&f.yAxis]||d[1]]},[]);this.clipXAxis=d[0];this.clipYAxis=d[1]};g.prototype.getClipBox=function(){if(this.clipXAxis&&this.clipYAxis)return{x:this.clipXAxis.left,y:this.clipYAxis.top,width:this.clipXAxis.width,height:this.clipYAxis.height}};g.prototype.setLabelCollector=function(){var a=this;a.labelCollector= +function(){return a.labels.reduce(function(a,b){b.options.allowOverlap||a.push(b.graphic);return a},[])};a.chart.labelCollectors.push(a.labelCollector)};g.prototype.setOptions=function(a){this.options=t(this.defaultOptions,a)};g.prototype.redraw=function(a){this.linkPoints();this.graphic||this.render();this.clipRect&&this.clipRect.animate(this.getClipBox());this.redrawItems(this.shapes,a);this.redrawItems(this.labels,a);n.redraw.call(this,a)};g.prototype.redrawItems=function(a,b){for(var d=a.length;d--;)this.redrawItem(a[d], +b)};g.prototype.renderItems=function(a){for(var b=a.length;b--;)this.renderItem(a[b])};g.prototype.render=function(){var a=this.chart.renderer;this.graphic=a.g("annotation").attr({opacity:0,zIndex:this.options.zIndex,visibility:this.options.visible?"inherit":"hidden"}).add();this.shapesGroup=a.g("annotation-shapes").add(this.graphic);this.options.crop&&this.shapesGroup.clip(this.chart.plotBoxClip);this.labelsGroup=a.g("annotation-labels").attr({translateX:0,translateY:0}).add(this.graphic);this.addClipPaths(); +this.clipRect&&this.graphic.clip(this.clipRect);this.renderItems(this.shapes);this.renderItems(this.labels);this.addEvents();n.render.call(this)};g.prototype.setVisibility=function(a){var b=this.options,d=this.chart.navigationBindings;a=w(a,!b.visible);this.graphic.attr("visibility",a?"inherit":"hidden");a||(this.setControlPointsVisibility(!1),d.activeAnnotation===this&&d.popup&&"annotation-toolbar"===d.popup.formType&&x(d,"closePopup"));b.visible=a};g.prototype.setControlPointsVisibility=function(a){var b= +function(b){b.setControlPointsVisibility(a)};n.setControlPointsVisibility.call(this,a);this.shapes.forEach(b);this.labels.forEach(b)};g.prototype.destroy=function(){var a=this.chart,b=function(a){a.destroy()};this.labels.forEach(b);this.shapes.forEach(b);this.clipYAxis=this.clipXAxis=null;y(a.labelCollectors,this.labelCollector);f.destroy.call(this);n.destroy.call(this);A(this,a)};g.prototype.remove=function(){return this.chart.removeAnnotation(this)};g.prototype.update=function(a,b){var d=this.chart, +f=this.getLabelsAndShapesOptions(this.userOptions,a),g=d.annotations.indexOf(this);a=t(!0,this.userOptions,a);a.labels=f.labels;a.shapes=f.shapes;this.destroy();this.constructor(d,a);d.options.annotations[g]=a;this.isUpdating=!0;w(b,!0)&&d.redraw();x(this,"afterUpdate");this.isUpdating=!1};g.prototype.initShape=function(a,b){a=t(this.options.shapeOptions,{controlPointOptions:this.options.controlPointOptions},a);b=new g.shapesMap[a.type](this,a,b);b.itemType="shape";this.shapes.push(b);return b};g.prototype.initLabel= +function(a,d){a=t(this.options.labelOptions,{controlPointOptions:this.options.controlPointOptions},a);d=new b(this,a,d);d.itemType="label";this.labels.push(d);return d};g.prototype.redrawItem=function(a,b){a.linkPoints();a.shouldBeDrawn()?(a.graphic||this.renderItem(a),a.redraw(w(b,!0)&&a.graphic.placed),a.points.length&&this.adjustVisibility(a)):this.destroyItem(a)};g.prototype.adjustVisibility=function(a){var b=!1,d=a.graphic;a.points.forEach(function(a){!1!==a.series.visible&&!1!==a.visible&&(b= +!0)});b?"hidden"===d.visibility&&d.show():d.hide()};g.prototype.destroyItem=function(a){y(this[a.itemType+"s"],a);a.destroy()};g.prototype.renderItem=function(a){a.render("label"===a.itemType?this.labelsGroup:this.shapesGroup)};g.ControlPoint=d;g.MockPoint=r;g.shapesMap={rect:k,circle:q,ellipse:m,path:e,image:a};g.types={};return g}();t(!0,F.prototype,n,f,t(F.prototype,{nonDOMEvents:["add","afterUpdate","drag","remove"],defaultOptions:{visible:!0,animation:{},crop:!0,draggable:"xy",labelOptions:{align:"center", +allowOverlap:!1,backgroundColor:"rgba(0, 0, 0, 0.75)",borderColor:"#000000",borderRadius:3,borderWidth:1,className:"highcharts-no-tooltip",crop:!1,formatter:function(){return D(this.y)?this.y:"Annotation label"},includeInDataExport:!0,overflow:"justify",padding:5,shadow:!1,shape:"callout",style:{fontSize:"11px",fontWeight:"normal",color:"contrast"},useHTML:!1,verticalAlign:"bottom",x:0,y:-16},shapeOptions:{stroke:"rgba(0, 0, 0, 0.75)",strokeWidth:1,fill:"rgba(0, 0, 0, 0.75)",r:0,snap:2},controlPointOptions:{symbol:"circle", +width:10,height:10,style:{cursor:"pointer",fill:"#ffffff",stroke:"#000000","stroke-width":2},visible:!1,events:{}},events:{},zIndex:6}}));g.extendAnnotation=function(a,b,d,f){b=b||F;B(a.prototype,t(b.prototype,d));a.prototype.defaultOptions=t(a.prototype.defaultOptions,f||{})};B(c,{initAnnotation:function(a){a=new (F.types[a.type]||F)(this,a);this.annotations.push(a);return a},addAnnotation:function(a,b){a=this.initAnnotation(a);this.options.annotations.push(a.options);w(b,!0)&&(a.redraw(),a.graphic.attr({opacity:1})); +return a},removeAnnotation:function(a){var b=this.annotations,d="annotations"===a.coll?a:E(b,function(b){return b.options.id===a});d&&(x(d,"remove"),y(this.options.annotations,d.options),y(b,d),d.destroy())},drawAnnotations:function(){this.plotBoxClip.attr(this.plotBox);this.annotations.forEach(function(a){a.redraw();a.graphic.animate({opacity:1},a.animationConfig)})}});c.collectionsWithUpdate.push("annotations");c.collectionsWithInit.annotations=[c.addAnnotation];C(l,"afterInit",function(){this.annotations= +[];this.options.annotations||(this.options.annotations=[])});c.callbacks.push(function(a){a.plotBoxClip=this.renderer.clipRect(this.plotBox);a.controlPointsGroup=a.renderer.g("control-points").attr({zIndex:99}).clip(a.plotBoxClip).add();a.options.annotations.forEach(function(b,d){if(!a.annotations.some(function(a){return a.options===b})){var f=a.initAnnotation(b);a.options.annotations[d]=f.options}});a.drawAnnotations();C(a,"redraw",a.drawAnnotations);C(a,"destroy",function(){a.plotBoxClip.destroy(); +a.controlPointsGroup.destroy()});C(a,"exportData",function(b){var d=(this.options.exporting&&this.options.exporting.csv||{}).columnHeaderFormatter,f=!b.dataRows[1].xValues,g=a.options.lang&&a.options.lang.exportData&&a.options.lang.exportData.annotationHeader,c=function(a){if(d){var b=d(a);if(!1!==b)return b}b=g+" "+a;return f?{columnTitle:b,topLevelColumnTitle:b}:b},e=b.dataRows[0].length,r=a.options.exporting&&a.options.exporting.csv&&a.options.exporting.csv.annotations&&a.options.exporting.csv.annotations.itemDelimiter, +t=a.options.exporting&&a.options.exporting.csv&&a.options.exporting.csv.annotations&&a.options.exporting.csv.annotations.join;a.annotations.forEach(function(a){a.options.labelOptions&&a.options.labelOptions.includeInDataExport&&a.labels.forEach(function(a){if(a.options.text){var d=a.options.text;a.points.forEach(function(a){var f=a.x,g=a.series.xAxis?a.series.xAxis.options.index:-1,c=!1;if(-1===g){a=b.dataRows[0].length;for(var w=Array(a),p=0;pe?a[a.length-1]+=r+d:a.push(d),c=!0)});if(!c){a=b.dataRows[0].length;w=Array(a);for(p=0;ph?k:m;var q=0>l?g:e;k={x:0===h?p.x:m,y:0===l?p.y:q};0!==h&&0!==l&&(h=a.findEdgeCoordinate(p,d,"y",m),p=a.findEdgeCoordinate(p,d,"x",q),h>=g&&h<=e?(k.x=m,k.y=h):(k.x=p,k.y=q));k.x-=c.plotLeft;k.y-=c.plotTop;b.series.chart.inverted&&(b=k.x,k.x=k.y,k.y=b);return k};a.prototype.addShapes=function(){var b=this.options.typeOptions,d=[this.points[0],a.endEdgePoint]; +b.type.match(/line/gi)&&(d[0]=a.startEdgePoint);d=this.initShape(m(b.line,{type:"path",points:d}),0);b.line=d.options};a.endEdgePoint=a.edgePoint(0,1);a.startEdgePoint=a.edgePoint(1,0);return a}(l);k.prototype.defaultOptions=m(l.prototype.defaultOptions,{});c.types.infinityLine=k;"";return k});v(c,"Extensions/Annotations/Types/TimeCycles.js",[c["Extensions/Annotations/Annotation.js"],c["Extensions/Annotations/Types/CrookedLine.js"],c["Extensions/Annotations/ControlPoint.js"],c["Core/Utilities.js"]], +function(c,l,n,k){function h(a,b,c,e){for(var d=[],g=1;g<=b;g++)d.push(["A",a/2,a/2,0,1,1,c+g*a,e]);return d}var m=this&&this.__extends||function(){var a=function(b,d){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,b){a.__proto__=b}||function(a,b){for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d])};return a(b,d)};return function(b,d){function c(){this.constructor=b}a(b,d);b.prototype=null===d?Object.create(d):(c.prototype=d.prototype,new c)}}(),e=k.merge,a=k.isNumber,b=k.defined; +k=function(d){function c(){return null!==d&&d.apply(this,arguments)||this}m(c,d);c.prototype.init=function(a,c,f){b(c.yAxis)&&c.points.forEach(function(a){a.yAxis=c.yAxis});b(c.xAxis)&&c.points.forEach(function(a){a.xAxis=c.xAxis});d.prototype.init.call(this,a,c,f)};c.prototype.setPath=function(){this.shapes[0].options.d=this.getPath()};c.prototype.getPath=function(){return[["M",this.startX,this.y]].concat(h(this.pixelInterval,this.numberOfCircles,this.startX,this.y))};c.prototype.addShapes=function(){var a= +this.options.typeOptions;this.setPathProperties();var b=this.initShape(e(a.line,{type:"path",d:this.getPath(),points:this.options.points}),0);a.line=b.options};c.prototype.addControlPoints=function(){var a=this,b=this.options,d=b.typeOptions;b.controlPointOptions.style.cursor=this.chart.inverted?"ns-resize":"ew-resize";d.controlPointOptions.forEach(function(d){d=e(b.controlPointOptions,d);d=new n(a.chart,a,d,0);a.controlPoints.push(d)})};c.prototype.setPathProperties=function(){var b=this.options.typeOptions, +d=b.points;if(d){var c=d[0],f=this.chart.xAxis[b.xAxis||0],e=this.chart.yAxis[b.yAxis||0];b=c.x;var h=c.y;c=d[1].x;b&&c&&(d=a(h)?e.toPixels(h):e.top+e.height,b=a(b)?f.toPixels(b):f.left,e=a(c)?f.toPixels(c):f.left+30,e=Math.round(Math.max(Math.abs(e-b),2)),c=Math.floor(f.len/e)+2,this.startX=b-(Math.floor((b-f.left)/e)+1)*e,this.y=d,this.pixelInterval=e,this.numberOfCircles=c)}};c.prototype.redraw=function(a){this.setPathProperties();this.setPath();d.prototype.redraw.call(this,a)};return c}(l);k.prototype.defaultOptions= +e(l.prototype.defaultOptions,{typeOptions:{controlPointOptions:[{positioner:function(a){return{x:a.anchor(a.points[0]).absolutePosition.x-this.graphic.width/2,y:a.y-this.graphic.height}},events:{drag:function(a,b){var d=b.anchor(b.points[0]).absolutePosition;b.translatePoint(a.chartX-d.x,0,0);b.redraw(!1)}}},{positioner:function(a){return{x:a.anchor(a.points[1]).absolutePosition.x-this.graphic.width/2,y:a.y-this.graphic.height}},events:{drag:function(a,b){var d=b.anchor(b.points[1]).absolutePosition; +b.translatePoint(a.chartX-d.x,0,1);b.redraw(!1)}}}]}});c.types.timeCycles=k;"";return k});v(c,"Extensions/Annotations/Types/Fibonacci.js",[c["Extensions/Annotations/Annotation.js"],c["Extensions/Annotations/MockPoint.js"],c["Extensions/Annotations/Types/Tunnel.js"],c["Core/Utilities.js"]],function(c,l,n,k){var h=this&&this.__extends||function(){var a=function(b,d){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,b){a.__proto__=b}||function(a,b){for(var d in b)b.hasOwnProperty(d)&& +(a[d]=b[d])};return a(b,d)};return function(b,d){function c(){this.constructor=b}a(b,d);b.prototype=null===d?Object.create(d):(c.prototype=d.prototype,new c)}}(),m=k.merge,e=function(a,b){return function(){var d=this.annotation;if(!d.startRetracements||!d.endRetracements)return[];var c=this.anchor(d.startRetracements[a]).absolutePosition,g=this.anchor(d.endRetracements[a]).absolutePosition;c=[["M",Math.round(c.x),Math.round(c.y)],["L",Math.round(g.x),Math.round(g.y)]];b&&(g=this.anchor(d.endRetracements[a- +1]).absolutePosition,d=this.anchor(d.startRetracements[a-1]).absolutePosition,c.push(["L",Math.round(g.x),Math.round(g.y)],["L",Math.round(d.x),Math.round(d.y)]));return c}};k=function(a){function b(b,c){return a.call(this,b,c)||this}h(b,a);b.prototype.linkPoints=function(){a.prototype.linkPoints.call(this);this.linkRetracementsPoints()};b.prototype.linkRetracementsPoints=function(){var a=this.points,c=a[0].y-a[3].y,g=a[1].y-a[2].y,e=a[0].x,p=a[1].x;b.levels.forEach(function(b,d){var f=a[0].y-c*b; +b=a[1].y-g*b;this.startRetracements=this.startRetracements||[];this.endRetracements=this.endRetracements||[];this.linkRetracementPoint(d,e,f,this.startRetracements);this.linkRetracementPoint(d,p,b,this.endRetracements)},this)};b.prototype.linkRetracementPoint=function(a,b,c,e){var d=e[a],f=this.options.typeOptions;d?(d.options.x=b,d.options.y=c,d.refresh()):e[a]=new l(this.chart,this,{x:b,y:c,xAxis:f.xAxis,yAxis:f.yAxis})};b.prototype.addShapes=function(){b.levels.forEach(function(a,b){var d=this.options.typeOptions; +a=d.backgroundColors;var c=d.lineColor;d=d.lineColors;this.initShape({type:"path",d:e(b),stroke:d[b]||c},b);0c;c++){var e=c?b:0;e=[this.edgePoint(1,0,e),this.edgePoint(0,1,e)];d=b+d;b=d-b;1===c&&(this.secondLineEdgePoints=[e[0],e[1]]);this.initShape(a(this.options.typeOptions.line,{type:"path",points:e}),c)}};d.prototype.addControlPoints=function(){var b=this.options,d=b.typeOptions;b=new l(this.chart,this,a(b.controlPointOptions,d.controlPointOptions), +0);this.controlPoints.push(b);d.controlPointOptions=b.options};return d}(n);m.prototype.defaultOptions=a(n.prototype.defaultOptions,{typeOptions:{line:{stroke:"rgba(0, 0, 0, 0.75)",strokeWidth:1,fill:void 0},controlPointOptions:{positioner:function(){var a=this.target,d=this.graphic,c=a.secondLineEdgePoints,e={annotation:a};var r=c[0](e).y;var h=c[1](e).y;a=this.chart.plotLeft;var u=this.chart.plotTop;c=c[0](e).x;r=(r+h)/2;this.chart.inverted&&(r=[r,c],c=r[0],r=r[1]);return{x:a+c-d.width/2,y:u+r- +d.height/2}},events:{drag:function(a,d){d.chart.isInsidePlot(a.chartX-d.chart.plotLeft,a.chartY-d.chart.plotTop,{visiblePlotOnly:!0})&&(a=this.mouseMoveToTranslation(a),d.translatePoint(a.x,0,1),d.redraw(!1))}}}}});c.types.fibonacciTimeZones=m;"";return m});v(c,"Extensions/Annotations/Types/Pitchfork.js",[c["Extensions/Annotations/Annotation.js"],c["Extensions/Annotations/Types/InfinityLine.js"],c["Extensions/Annotations/MockPoint.js"],c["Core/Utilities.js"]],function(c,l,n,k){var h=this&&this.__extends|| +function(){var c=function(a,b){c=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,b){a.__proto__=b}||function(a,b){for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d])};return c(a,b)};return function(a,b){function d(){this.constructor=a}c(a,b);a.prototype=null===b?Object.create(b):(d.prototype=b.prototype,new d)}}(),m=k.merge;k=function(c){function a(a,d){return c.call(this,a,d)||this}h(a,c);a.outerLineEdgePoint=function(b){return function(d){var c=d.annotation,e=c.points;return a.findEdgePoint(e[b], +e[0],new n(c.chart,d,c.midPointOptions()))}};a.findEdgePoint=function(a,d,c){d=Math.atan2(c.plotY-d.plotY,c.plotX-d.plotX);return{x:a.plotX+1E7*Math.cos(d),y:a.plotY+1E7*Math.sin(d)}};a.middleLineEdgePoint=function(a){var b=a.annotation;return l.findEdgePoint(b.points[0],new n(b.chart,a,b.midPointOptions()))};a.prototype.midPointOptions=function(){var a=this.points;return{x:(a[1].x+a[2].x)/2,y:(a[1].y+a[2].y)/2,xAxis:a[0].series.xAxis,yAxis:a[0].series.yAxis}};a.prototype.addShapes=function(){this.addLines(); +this.addBackgrounds()};a.prototype.addLines=function(){this.initShape({type:"path",points:[this.points[0],a.middleLineEdgePoint]},0);this.initShape({type:"path",points:[this.points[1],a.topLineEdgePoint]},1);this.initShape({type:"path",points:[this.points[2],a.bottomLineEdgePoint]},2)};a.prototype.addBackgrounds=function(){var a=this.shapes,d=this.options.typeOptions,c=this.initShape(m(d.innerBackground,{type:"path",points:[function(a){var b=a.annotation;a=b.points;b=b.midPointOptions();return{x:(a[1].x+ +b.x)/2,y:(a[1].y+b.y)/2,xAxis:b.xAxis,yAxis:b.yAxis}},a[1].points[1],a[2].points[1],function(a){var b=a.annotation;a=b.points;b=b.midPointOptions();return{x:(b.x+a[2].x)/2,y:(b.y+a[2].y)/2,xAxis:b.xAxis,yAxis:b.yAxis}}]}),3);a=this.initShape(m(d.outerBackground,{type:"path",points:[this.points[1],a[1].points[1],a[2].points[1],this.points[2]]}),4);d.innerBackground=c.options;d.outerBackground=a.options};a.topLineEdgePoint=a.outerLineEdgePoint(1);a.bottomLineEdgePoint=a.outerLineEdgePoint(0);return a}(l); +k.prototype.defaultOptions=m(l.prototype.defaultOptions,{typeOptions:{innerBackground:{fill:"rgba(130, 170, 255, 0.4)",strokeWidth:0},outerBackground:{fill:"rgba(156, 229, 161, 0.4)",strokeWidth:0}}});return c.types.pitchfork=k});v(c,"Extensions/Annotations/Types/VerticalLine.js",[c["Extensions/Annotations/Annotation.js"],c["Extensions/Annotations/MockPoint.js"],c["Core/Utilities.js"]],function(c,l,n){var h=this&&this.__extends||function(){var c=function(a,b){c=Object.setPrototypeOf||{__proto__:[]}instanceof +Array&&function(a,b){a.__proto__=b}||function(a,b){for(var c in b)b.hasOwnProperty(c)&&(a[c]=b[c])};return c(a,b)};return function(a,b){function d(){this.constructor=a}c(a,b);a.prototype=null===b?Object.create(b):(d.prototype=b.prototype,new d)}}(),q=n.merge,m=n.pick;n=function(c){function a(a,d){return c.call(this,a,d)||this}h(a,c);a.connectorFirstPoint=function(a){var b=a.annotation;a=b.chart;var c=a.inverted,e=b.points[0],h=m(e.series.yAxis&&e.series.yAxis.left,0),p=m(e.series.yAxis&&e.series.yAxis.top, +0);b=b.options.typeOptions.label.offset;var u=l.pointToPixels(e,!0)[c?"x":"y"];return{x:e.x,xAxis:e.series.xAxis,y:u+b+(c?h-a.plotLeft:p-a.plotTop)}};a.connectorSecondPoint=function(a){var b=a.annotation;a=b.chart;var c=a.inverted,e=b.options.typeOptions;b=b.points[0];var h=m(b.series.yAxis&&b.series.yAxis.left,0),p=m(b.series.yAxis&&b.series.yAxis.top,0),u=e.yOffset,k=l.pointToPixels(b,!0)[c?"x":"y"];0>e.label.offset&&(u*=-1);return{x:b.x,xAxis:b.series.xAxis,y:k+u+(c?h-a.plotLeft:p-a.plotTop)}}; +a.prototype.getPointsOptions=function(){return[this.options.typeOptions.point]};a.prototype.addShapes=function(){var b=this.options.typeOptions,c=this.initShape(q(b.connector,{type:"path",points:[a.connectorFirstPoint,a.connectorSecondPoint]}),0);b.connector=c.options};a.prototype.addLabels=function(){var a=this.options.typeOptions,c=a.label,e=0,g=c.offset,h=0>c.offset?"bottom":"top",p="center";this.chart.inverted&&(e=c.offset,g=0,h="middle",p=0>c.offset?"right":"left");c=this.initLabel(q(c,{verticalAlign:h, +align:p,x:e,y:g}));a.label=c.options};return a}(c);n.prototype.defaultOptions=q(c.prototype.defaultOptions,{typeOptions:{yOffset:10,label:{offset:-40,point:function(c){return c.annotation.points[0]},allowOverlap:!0,backgroundColor:"none",borderWidth:0,crop:!0,overflow:"none",shape:"rect",text:"{y:.2f}"},connector:{strokeWidth:1,markerEnd:"arrow"}}});return c.types.verticalLine=n});v(c,"Extensions/Annotations/Types/Measure.js",[c["Extensions/Annotations/Annotation.js"],c["Extensions/Annotations/ControlPoint.js"], +c["Core/Utilities.js"]],function(c,l,n){var h=this&&this.__extends||function(){var a=function(b,c){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,b){a.__proto__=b}||function(a,b){for(var c in b)b.hasOwnProperty(c)&&(a[c]=b[c])};return a(b,c)};return function(b,c){function d(){this.constructor=b}a(b,c);b.prototype=null===c?Object.create(c):(d.prototype=c.prototype,new d)}}(),q=n.defined,m=n.extend,e=n.isNumber,a=n.merge,b=n.pick,d=function(d){function g(a,b){return d.call(this, +a,b)||this}h(g,d);g.prototype.init=function(a,b,d){c.prototype.init.call(this,a,b,d);this.resizeY=this.resizeX=this.offsetY=this.offsetX=0;g.calculations.init.call(this);this.addValues();this.addShapes()};g.prototype.setClipAxes=function(){this.clipXAxis=this.chart.xAxis[this.options.typeOptions.xAxis];this.clipYAxis=this.chart.yAxis[this.options.typeOptions.yAxis]};g.prototype.pointsOptions=function(){return this.options.points};g.prototype.shapePointsOptions=function(){var a=this.options.typeOptions, +b=a.xAxis;a=a.yAxis;return[{x:this.xAxisMin,y:this.yAxisMin,xAxis:b,yAxis:a},{x:this.xAxisMax,y:this.yAxisMin,xAxis:b,yAxis:a},{x:this.xAxisMax,y:this.yAxisMax,xAxis:b,yAxis:a},{x:this.xAxisMin,y:this.yAxisMax,xAxis:b,yAxis:a}]};g.prototype.addControlPoints=function(){var a=this.chart.inverted,b=this.options.controlPointOptions,c=this.options.typeOptions.selectType;q(this.userOptions.controlPointOptions&&this.userOptions.controlPointOptions.style.cursor)||("x"===c?b.style.cursor=a?"ns-resize":"ew-resize": +"y"===c&&(b.style.cursor=a?"ew-resize":"ns-resize"));a=new l(this.chart,this,this.options.controlPointOptions,0);this.controlPoints.push(a);"xy"!==c&&(a=new l(this.chart,this,this.options.controlPointOptions,1),this.controlPoints.push(a))};g.prototype.addValues=function(a){var c=this.options.typeOptions,d=c.label.formatter;g.calculations.recalculate.call(this,a);c.label.enabled&&(0Max: "+this.max+"
Average: "+this.average+"
Bins: "+this.bins},getExtremes:function(a,b,c,d){return{xAxisMin:Math.min(b,a),xAxisMax:Math.max(b,a),yAxisMin:Math.min(d,c),yAxisMax:Math.max(d,c)}}, +min:function(){var a=Infinity,b=this.chart.series,c=g.calculations.getExtremes(this.xAxisMin,this.xAxisMax,this.yAxisMin,this.yAxisMax),d=!1;b.forEach(function(b){b.visible&&"highcharts-navigator-series"!==b.options.id&&b.points.forEach(function(b){!b.isNull&&b.yc.xAxisMin&&b.x<=c.xAxisMax&&b.y>c.yAxisMin&&b.y<=c.yAxisMax&&(a=b.y,d=!0)})});d||(a="");return a},max:function(){var a=-Infinity,b=this.chart.series,c=g.calculations.getExtremes(this.xAxisMin,this.xAxisMax,this.yAxisMin,this.yAxisMax), +d=!1;b.forEach(function(b){b.visible&&"highcharts-navigator-series"!==b.options.id&&b.points.forEach(function(b){!b.isNull&&b.y>a&&b.x>c.xAxisMin&&b.x<=c.xAxisMax&&b.y>c.yAxisMin&&b.y<=c.yAxisMax&&(a=b.y,d=!0)})});d||(a="");return a},average:function(){var a="";""!==this.max&&""!==this.min&&(a=(this.max+this.min)/2);return a},bins:function(){var a=0,b=this.chart.series,c=g.calculations.getExtremes(this.xAxisMin,this.xAxisMax,this.yAxisMin,this.yAxisMax),d=!1;b.forEach(function(b){b.visible&&"highcharts-navigator-series"!== +b.options.id&&b.points.forEach(function(b){!b.isNull&&b.x>c.xAxisMin&&b.x<=c.xAxisMax&&b.y>c.yAxisMin&&b.y<=c.yAxisMax&&(a++,d=!0)})});d||(a="");return a}};return g}(c);d.prototype.defaultOptions=a(c.prototype.defaultOptions,{typeOptions:{selectType:"xy",xAxis:0,yAxis:0,background:{fill:"rgba(130, 170, 255, 0.4)",strokeWidth:0,stroke:void 0},crosshairX:{enabled:!0,zIndex:6,dashStyle:"Dash",markerEnd:"arrow"},crosshairY:{enabled:!0,zIndex:6,dashStyle:"Dash",markerEnd:"arrow"},label:{enabled:!0,style:{fontSize:"11px", +color:"#666666"},formatter:void 0}},controlPointOptions:{positioner:function(a){var b=this.index,c=a.chart,e=a.options,f=e.typeOptions,h=f.selectType;e=e.controlPointOptions;var l=c.inverted,k=c.xAxis[f.xAxis];c=c.yAxis[f.yAxis];f=a.xAxisMax;var m=a.yAxisMax,n=d.calculations.getExtremes(a.xAxisMin,a.xAxisMax,a.yAxisMin,a.yAxisMax);"x"===h&&(m=(n.yAxisMax-n.yAxisMin)/2,0===b&&(f=a.xAxisMin));"y"===h&&(f=n.xAxisMin+(n.xAxisMax-n.xAxisMin)/2,0===b&&(m=a.yAxisMin));l?(a=c.toPixels(m),b=k.toPixels(f)): +(a=k.toPixels(f),b=c.toPixels(m));return{x:a-e.width/2,y:b-e.height/2}},events:{drag:function(a,b){var c=this.mouseMoveToTranslation(a);a=b.options.typeOptions.selectType;var d="y"===a?0:c.x;c="x"===a?0:c.y;b.resize(d,c,this.index,a);b.resizeX+=d;b.resizeY+=c;b.redraw(!1,!0)}}}});return c.types.measure=d});v(c,"Core/Chart/ChartNavigationComposition.js",[],function(){var c;(function(c){c.compose=function(c){c.navigation||(c.navigation=new h(c));return c};var h=function(){function c(c){this.updates= +[];this.chart=c}c.prototype.addUpdate=function(c){this.chart.navigation.updates.push(c)};c.prototype.update=function(c,h){var e=this;this.updates.forEach(function(a){a.call(e.chart,c,h)})};return c}();c.Additions=h})(c||(c={}));return c});v(c,"Extensions/Annotations/NavigationBindings.js",[c["Extensions/Annotations/Annotation.js"],c["Core/Chart/Chart.js"],c["Core/Chart/ChartNavigationComposition.js"],c["Core/FormatUtilities.js"],c["Core/Globals.js"],c["Core/DefaultOptions.js"],c["Core/Utilities.js"]], +function(c,l,n,k,q,m,e){function a(a,b){var c=E.Element.prototype,d=c.matches||c.msMatchesSelector||c.webkitMatchesSelector,e=null;if(c.closest)e=c.closest.call(a,b);else{do{if(d.call(a,b))return a;a=a.parentElement||a.parentNode}while(null!==a&&1===a.nodeType)}return e}function b(a){var b=a.prototype.defaultOptions.events&&a.prototype.defaultOptions.events.click;D(!0,a.prototype.defaultOptions.events,{click:function(a){var c=this,d=c.chart.navigationBindings,e=d.activeAnnotation;b&&b.call(c,a);e!== +c?(d.deselectAnnotation(),d.activeAnnotation=c,c.setControlPointsVisibility(!0),h(d,"showPopup",{annotation:c,formType:"annotation-toolbar",options:d.annotationToFields(c),onSubmit:function(a){var b={};"remove"===a.actionType?(d.activeAnnotation=!1,d.chart.removeAnnotation(c)):(d.fieldsToOptions(a.fields,b),d.deselectAnnotation(),a=b.typeOptions,"measure"===c.options.type&&(a.crosshairY.enabled=0!==a.crosshairY.strokeWidth,a.crosshairX.enabled=0!==a.crosshairX.strokeWidth),c.update(b))}})):h(d,"closePopup"); +a.activeAnnotation=!0}})}var d=k.format;k=m.setOptions;var f=e.addEvent,g=e.attr,h=e.fireEvent,p=e.isArray,u=e.isFunction,v=e.isNumber,C=e.isObject,D=e.merge,A=e.objectEach,y=e.pick,B=q.doc,E=q.win,x=function(){function b(a,b){this.selectedButton=this.boundClassNames=void 0;this.chart=a;this.options=b;this.eventsToUnbind=[];this.container=B.getElementsByClassName(this.options.bindingsClassName||"")}b.prototype.initEvents=function(){var a=this,b=a.chart,c=a.container,d=a.options;a.boundClassNames= +{};A(d.bindings||{},function(b){a.boundClassNames[b.className]=b});[].forEach.call(c,function(b){a.eventsToUnbind.push(f(b,"click",function(c){var d=a.getButtonEvents(b,c);d&&-1===d.button.className.indexOf("highcharts-disabled-btn")&&a.bindingsButtonClick(d.button,d.events,c)}))});A(d.events||{},function(b,c){u(b)&&a.eventsToUnbind.push(f(a,c,b,{passive:!1}))});a.eventsToUnbind.push(f(b.container,"click",function(c){!b.cancelClick&&b.isInsidePlot(c.chartX-b.plotLeft,c.chartY-b.plotTop,{visiblePlotOnly:!0})&& +a.bindingsChartClick(this,c)}));a.eventsToUnbind.push(f(b.container,q.isTouchDevice?"touchmove":"mousemove",function(b){a.bindingsContainerMouseMove(this,b)},q.isTouchDevice?{passive:!1}:void 0))};b.prototype.initUpdate=function(){var a=this;n.compose(this.chart).navigation.addUpdate(function(b){a.update(b)})};b.prototype.bindingsButtonClick=function(a,b,c){var d=this.chart,e=d.renderer.boxWrapper,f=!0;this.selectedButtonElement&&(this.selectedButtonElement.classList===a.classList&&(f=!1),h(this, +"deselectButton",{button:this.selectedButtonElement}),this.nextEvent&&(this.currentUserDetails&&"annotations"===this.currentUserDetails.coll&&d.removeAnnotation(this.currentUserDetails),this.mouseMoveEvent=this.nextEvent=!1));f?(this.selectedButton=b,this.selectedButtonElement=a,h(this,"selectButton",{button:a}),b.init&&b.init.call(this,a,c),(b.start||b.steps)&&d.renderer.boxWrapper.addClass("highcharts-draw-mode")):(d.stockTools&&d.stockTools.toggleButtonAciveClass(a),e.removeClass("highcharts-draw-mode"), +this.mouseMoveEvent=this.nextEvent=!1,this.selectedButton=null)};b.prototype.bindingsChartClick=function(b,c){b=this.chart;var d=this.activeAnnotation,e=this.selectedButton;b=b.renderer.boxWrapper;d&&(d.cancelClick||c.activeAnnotation||!c.target.parentNode||a(c.target,".highcharts-popup")?d.cancelClick&&setTimeout(function(){d.cancelClick=!1},0):h(this,"closePopup"));e&&e.start&&(this.nextEvent?(this.nextEvent(c,this.currentUserDetails),this.steps&&(this.stepIndex++,e.steps[this.stepIndex]?this.mouseMoveEvent= +this.nextEvent=e.steps[this.stepIndex]:(h(this,"deselectButton",{button:this.selectedButtonElement}),b.removeClass("highcharts-draw-mode"),e.end&&e.end.call(this,c,this.currentUserDetails),this.mouseMoveEvent=this.nextEvent=!1,this.selectedButton=null))):(this.currentUserDetails=e.start.call(this,c))&&e.steps?(this.stepIndex=0,this.steps=!0,this.mouseMoveEvent=this.nextEvent=e.steps[this.stepIndex]):(h(this,"deselectButton",{button:this.selectedButtonElement}),b.removeClass("highcharts-draw-mode"), +this.steps=!1,this.selectedButton=null,e.end&&e.end.call(this,c,this.currentUserDetails)))};b.prototype.bindingsContainerMouseMove=function(a,b){this.mouseMoveEvent&&this.mouseMoveEvent(b,this.currentUserDetails)};b.prototype.fieldsToOptions=function(a,b){A(a,function(a,c){var d=parseFloat(a),e=c.split("."),f=b,g=e.length-1;!v(d)||a.match(/px/g)||c.match(/format/g)||(a=d);""!==a&&"undefined"!==a&&e.forEach(function(b,c){var d=y(e[c+1],"");g===c?f[b]=a:(f[b]||(f[b]=d.match(/\d/g)?[]:{}),f=f[b])})}); +return b};b.prototype.deselectAnnotation=function(){this.activeAnnotation&&(this.activeAnnotation.setControlPointsVisibility(!1),this.activeAnnotation=!1)};b.prototype.annotationToFields=function(a){function c(b,e,f,t){if(f&&b&&-1===w.indexOf(e)&&(0<=(f.indexOf&&f.indexOf(e))||f[e]||!0===f))if(p(b))t[e]=[],b.forEach(function(a,b){C(a)?(t[e][b]={},A(a,function(a,d){c(a,d,g[e],t[e][b])})):c(a,0,g[e],t[e])});else if(C(b)){var z={};p(t)?(t.push(z),z[e]={},z=z[e]):t[e]=z;A(b,function(a,b){c(a,b,0===e? +f:g[e],z)})}else"format"===e?t[e]=[d(b,a.labels[0].points[0]).toString(),"text"]:p(t)?t.push([b,h(b)]):t[e]=[b,h(b)]}var e=a.options,f=b.annotationsEditable,g=f.nestedOptions,h=this.utils.getFieldType,t=y(e.type,e.shapes&&e.shapes[0]&&e.shapes[0].type,e.labels&&e.labels[0]&&e.labels[0].itemType,"label"),w=b.annotationsNonEditable[e.langKey]||[],x={langKey:e.langKey,type:t};A(e,function(a,b){"typeOptions"===b?(x[b]={},A(e[b],function(a,d){c(a,d,g,x[b],!0)})):c(a,b,f[t],x)});return x};b.prototype.getClickedClassNames= +function(a,b){var c=b.target;b=[];for(var d;c&&((d=g(c,"class"))&&(b=b.concat(d.split(" ").map(function(a){return[a,c]}))),c=c.parentNode,c!==a););return b};b.prototype.getButtonEvents=function(a,b){var c=this,d;this.getClickedClassNames(a,b).forEach(function(a){c.boundClassNames[a[0]]&&!d&&(d={events:c.boundClassNames[a[0]],button:a[1]})});return d};b.prototype.update=function(a){this.options=D(!0,this.options,a);this.removeEvents();this.initEvents()};b.prototype.removeEvents=function(){this.eventsToUnbind.forEach(function(a){a()})}; +b.prototype.destroy=function(){this.removeEvents()};b.annotationsEditable={nestedOptions:{labelOptions:["style","format","backgroundColor"],labels:["style"],label:["style"],style:["fontSize","color"],background:["fill","strokeWidth","stroke"],innerBackground:["fill","strokeWidth","stroke"],outerBackground:["fill","strokeWidth","stroke"],shapeOptions:["fill","strokeWidth","stroke"],shapes:["fill","strokeWidth","stroke"],line:["strokeWidth","stroke"],backgroundColors:[!0],connector:["fill","strokeWidth", +"stroke"],crosshairX:["strokeWidth","stroke"],crosshairY:["strokeWidth","stroke"]},circle:["shapes"],ellipse:["shapes"],verticalLine:[],label:["labelOptions"],measure:["background","crosshairY","crosshairX"],fibonacci:[],tunnel:["background","line","height"],pitchfork:["innerBackground","outerBackground"],rect:["shapes"],crookedLine:[],basicAnnotation:["shapes","labelOptions"]};b.annotationsNonEditable={rectangle:["crosshairX","crosshairY","labelOptions"],ellipse:["labelOptions"],circle:["labelOptions"]}; +return b}();x.prototype.utils={getFieldType:function(a){return{string:"text",number:"number","boolean":"checkbox"}[typeof a]},updateRectSize:function(a,b){var c=b.chart,d=b.options.typeOptions,e=v(d.xAxis)&&c.xAxis[d.xAxis],f=v(d.yAxis)&&c.yAxis[d.yAxis];e&&f&&(e=e.toValue(a[e.horiz?"chartX":"chartY"]),a=f.toValue(a[f.horiz?"chartX":"chartY"]),f=e-d.point.x,d=d.point.y-a,b.update({typeOptions:{background:{width:c.inverted?d:f,height:c.inverted?f:d}}}))},getAssignedAxis:function(a){return a.filter(function(a){var b= +a.axis.getExtremes(),c=b.min;b=b.max;var d=y(a.axis.minPointOffset,0);return v(c)&&v(b)&&a.value>=c-d&&a.value<=b+d&&!a.axis.options.isInternal})[0]}};l.prototype.initNavigationBindings=function(){var a=this.options;a&&a.navigation&&a.navigation.bindings&&(this.navigationBindings=new x(this,a.navigation),this.navigationBindings.initEvents(),this.navigationBindings.initUpdate())};f(l,"load",function(){this.initNavigationBindings()});f(l,"destroy",function(){this.navigationBindings&&this.navigationBindings.destroy()}); +f(x,"deselectButton",function(){this.selectedButtonElement=null});f(c,"remove",function(){this.chart.navigationBindings&&this.chart.navigationBindings.deselectAnnotation()});q.Annotation&&(b(c),A(c.types,function(a){b(a)}));k({lang:{navigation:{popup:{simpleShapes:"Simple shapes",lines:"Lines",circle:"Circle",ellipse:"Ellipse",rectangle:"Rectangle",label:"Label",shapeOptions:"Shape options",typeOptions:"Details",fill:"Fill",format:"Text",strokeWidth:"Line width",stroke:"Line color",title:"Title", +name:"Name",labelOptions:"Label options",labels:"Labels",backgroundColor:"Background color",backgroundColors:"Background colors",borderColor:"Border color",borderRadius:"Border radius",borderWidth:"Border width",style:"Style",padding:"Padding",fontSize:"Font size",color:"Color",height:"Height",shapes:"Shape options"}}},navigation:{bindingsClassName:"highcharts-bindings-container",bindings:{circleAnnotation:{className:"highcharts-circle-annotation",start:function(a){var b=this.chart.pointer.getCoordinates(a); +a=this.utils.getAssignedAxis(b.xAxis);b=this.utils.getAssignedAxis(b.yAxis);var c=this.chart.options.navigation;if(a&&b)return this.chart.addAnnotation(D({langKey:"circle",type:"basicAnnotation",shapes:[{type:"circle",point:{x:a.value,y:b.value,xAxis:a.axis.options.index,yAxis:b.axis.options.index},r:5}]},c.annotationsOptions,c.bindings.circleAnnotation.annotationsOptions))},steps:[function(a,b){var c=b.options.shapes;c=c&&c[0]&&c[0].point||{};if(v(c.xAxis)&&v(c.yAxis)){var d=this.chart.inverted; +var e=this.chart.xAxis[c.xAxis].toPixels(c.x);c=this.chart.yAxis[c.yAxis].toPixels(c.y);d=Math.max(Math.sqrt(Math.pow(d?c-a.chartX:e-a.chartX,2)+Math.pow(d?e-a.chartY:c-a.chartY,2)),5)}b.update({shapes:[{r:d}]})}]},ellipseAnnotation:{className:"highcharts-ellipse-annotation",start:function(a){var b=this.chart.pointer.getCoordinates(a);a=this.utils.getAssignedAxis(b.xAxis);b=this.utils.getAssignedAxis(b.yAxis);var c=this.chart.options.navigation;if(a&&b)return this.chart.addAnnotation(D({langKey:"ellipse", +type:"basicAnnotation",shapes:[{type:"ellipse",xAxis:a.axis.options.index,yAxis:b.axis.options.index,points:[{x:a.value,y:b.value},{x:a.value,y:b.value}],ry:1}]},c.annotationsOptions,c.bindings.ellipseAnnotation.annotationOptions))},steps:[function(a,b){b=b.shapes[0];var c=b.getAbsolutePosition(b.points[1]);b.translatePoint(a.chartX-c.x,a.chartY-c.y,1);b.redraw(!1)},function(a,b){b=b.shapes[0];var c=b.getAbsolutePosition(b.points[0]),d=b.getAbsolutePosition(b.points[1]);a=b.getDistanceFromLine(c, +d,a.chartX,a.chartY);c=b.getYAxis();a=Math.abs(c.toValue(0)-c.toValue(a));b.setYRadius(a);b.redraw(!1)}]},rectangleAnnotation:{className:"highcharts-rectangle-annotation",start:function(a){a=this.chart.pointer.getCoordinates(a);var b=this.utils.getAssignedAxis(a.xAxis),c=this.utils.getAssignedAxis(a.yAxis);if(b&&c){a=b.value;var d=c.value;b=b.axis.options.index;c=c.axis.options.index;var e=this.chart.options.navigation;return this.chart.addAnnotation(D({langKey:"rectangle",type:"basicAnnotation", +shapes:[{type:"path",points:[{xAxis:b,yAxis:c,x:a,y:d},{xAxis:b,yAxis:c,x:a,y:d},{xAxis:b,yAxis:c,x:a,y:d},{xAxis:b,yAxis:c,x:a,y:d},{command:"Z"}]}]},e.annotationsOptions,e.bindings.rectangleAnnotation.annotationsOptions))}},steps:[function(a,b){var c=b.options.shapes;c=c&&c[0]&&c[0].points||[];var d=this.chart.pointer.getCoordinates(a);a=this.utils.getAssignedAxis(d.xAxis);d=this.utils.getAssignedAxis(d.yAxis);a&&d&&(a=a.value,d=d.value,c[1].x=a,c[2].x=a,c[2].y=d,c[3].y=d,b.update({shapes:[{points:c}]}))}]}, +labelAnnotation:{className:"highcharts-label-annotation",start:function(a){var b=this.chart.pointer.getCoordinates(a);a=this.utils.getAssignedAxis(b.xAxis);b=this.utils.getAssignedAxis(b.yAxis);var c=this.chart.options.navigation;if(a&&b)return this.chart.addAnnotation(D({langKey:"label",type:"basicAnnotation",labelOptions:{format:"{y:.2f}"},labels:[{point:{xAxis:a.axis.options.index,yAxis:b.axis.options.index,x:a.value,y:b.value},overflow:"none",crop:!0}]},c.annotationsOptions,c.bindings.labelAnnotation.annotationsOptions))}}}, +events:{},annotationsOptions:{animation:{defer:0}}}});f(l,"render",function(){var a=this,b=a.navigationBindings;if(a&&b){var c=!1;a.series.forEach(function(a){!a.options.isInternal&&a.visible&&(c=!0)});A(b.boundClassNames,function(b,d){if(a.navigationBindings&&a.navigationBindings.container&&a.navigationBindings.container[0]&&(d=a.navigationBindings.container[0].querySelectorAll("."+d)))for(var e=0;e option:checked")[0];a=a.querySelectorAll("#highcharts-select-volume > option:checked")[0];var f= +{actionType:b,linkedTo:e&&e.getAttribute("value")||"",fields:{}};c.forEach(function(a){var b=a.getAttribute("highcharts-data-name");a.getAttribute("highcharts-data-series-id")?f.seriesId=a.value:b?f.fields[b]=a.value:f.type=a.value});d.forEach(function(a){var b=a.id;"highcharts-select-series"!==b&&"highcharts-select-volume"!==b&&(b=b.split("highcharts-select-")[1],f.fields[b]=a.value)});a&&(f.fields["params.volumeSeriesID"]=a.getAttribute("value")||"");return f},showPopup:function(){var a=this.container, +b=a.querySelectorAll(".highcharts-popup-close")[0];this.formType=void 0;a.innerHTML=c.emptyHTML;0<=a.className.indexOf("highcharts-annotation-toolbar")&&(a.classList.remove("highcharts-annotation-toolbar"),a.removeAttribute("style"));a.appendChild(b);a.style.display="block";a.style.height=""},closePopup:function(){C(this.popup&&this.popup.container,this.container).style.display="none"},showForm:function(a,b,c,d){b&&(this.popup=b.navigationBindings.popup,this.showPopup(),"indicators"===a&&this.indicators.addForm.call(this, +b,c,d),"annotation-toolbar"===a&&this.annotations.addToolbar.call(this,b,c,d),"annotation-edit"===a&&this.annotations.addForm.call(this,b,c,d),"flag"===a&&this.annotations.addForm.call(this,b,c,d,!0),this.formType=a,this.container.style.height=this.container.offsetHeight+"px")},getLangpack:function(){return b().lang.navigation.popup},annotations:{addToolbar:function(a,b,c){var d=this,g=this.lang,h=this.popup.container,l=this.showForm;-1===h.className.indexOf("highcharts-annotation-toolbar")&&(h.className+= +" highcharts-annotation-toolbar");a&&(h.style.top=a.plotTop+10+"px");f("span",void 0,void 0,h).appendChild(e.createTextNode(C(g[b.langKey]||b.langKey,b.shapes&&b.shapes[0].type,"")));var k=this.addButton(h,g.removeButton||"remove","remove",h,c);k.className+=" highcharts-annotation-remove-button";k.style["background-image"]="url("+this.iconsURL+"destroy.svg)";k=this.addButton(h,g.editButton||"edit","edit",h,function(){l.call(d,"annotation-edit",a,b,c)});k.className+=" highcharts-annotation-edit-button"; +k.style["background-image"]="url("+this.iconsURL+"edit.svg)"},addForm:function(a,b,c,d){var g=this.popup.container,h=this.lang;if(a){var k=f("h2",{className:"highcharts-popup-main-title"},void 0,g);k.appendChild(e.createTextNode(h[b.langKey]||b.langKey||""));k=f("div",{className:"highcharts-popup-lhs-col highcharts-popup-lhs-full"},void 0,g);var l=f("div",{className:"highcharts-popup-bottom-row"},void 0,g);this.annotations.addFormFields.call(this,k,a,"",b,[],!0);this.addButton(l,d?h.addButton||"add": +h.saveButton||"save",d?"add":"save",g,c)}},addFormFields:function(b,c,d,g,h,k){var l=this,m=this.annotations.addFormFields,x=this.addInput,t=this.lang,n,w;c&&(v(g,function(a,e){n=""!==d?d+"."+e:e;u(a)&&(!p(a)||p(a)&&u(a[0])?(w=t[e]||e,w.match(A)||h.push([!0,w,b]),m.call(l,b,c,n,a,h,!1)):h.push([l,n,"annotation",b,a]))}),k&&(D(h,function(a){return a[1].match(/format/g)?-1:1}),a&&h.reverse(),h.forEach(function(a){!0===a[0]?f("span",{className:"highcharts-annotation-title"},void 0,a[2]).appendChild(e.createTextNode(a[1])): +(a[4]={value:a[4][0],type:a[4][1]},x.apply(a[0],a.splice(1)))})))}},indicators:{addForm:function(a,b,c){var d=this.indicators,e=this.lang;if(a){this.tabs.init.call(this,a);b=this.popup.container.querySelectorAll(".highcharts-tab-item-content");this.addColsContainer(b[0]);d.addSearchBox.call(this,a,b[0]);d.addIndicatorList.call(this,a,b[0],"add");var f=b[0].querySelectorAll(".highcharts-popup-rhs-col")[0];this.addButton(f,e.addButton||"add","add",f,c);this.addColsContainer(b[1]);d.addIndicatorList.call(this, +a,b[1],"edit");f=b[1].querySelectorAll(".highcharts-popup-rhs-col")[0];this.addButton(f,e.saveButton||"save","edit",f,c);this.addButton(f,e.removeButton||"remove","remove",f,c)}},filterSeries:function(a,b){var c=this.indicators,d=this.chart&&this.chart.options.lang,e=d&&d.navigation&&d.navigation.popup&&d.navigation.popup.indicatorAliases,f=[],g;v(a,function(a,d){var h=a.options;if(a.params||h&&h.params)if(h=c.getNameType(a,d),d=h.indicatorFullName,h=h.indicatorType,b){var k=b.replace(/[.*+?^${}()|[\]\\]/g, +"\\$&");k=new RegExp(k,"i");var l=e&&e[h]&&e[h].join(" ")||"";if(d.match(k)||l.match(k))g={indicatorFullName:d,indicatorType:h,series:a},f.push(g)}else g={indicatorFullName:d,indicatorType:h,series:a},f.push(g)});return f},filterSeriesArray:function(a){var b=[],c;a.forEach(function(a){a.is("sma")&&(c={indicatorFullName:a.name,indicatorType:a.type,series:a},b.push(c))});return b},addIndicatorList:function(a,b,g,h){var k=this,l=k.indicators,m=k.lang,n=b.querySelectorAll(".highcharts-popup-lhs-col")[0]; +b=b.querySelectorAll(".highcharts-popup-rhs-col")[0];var t="edit"===g,x=this.indicators.addFormFields;g=t?a.series:a.options.plotOptions||{};if(a||!g){var w,E=[];t||p(g)?p(g)&&(E=l.filterSeriesArray.call(this,g)):E=l.filterSeries.call(this,g,h);D(E,function(a,b){a=a.indicatorFullName.toLowerCase();b=b.indicatorFullName.toLowerCase();return ab?1:0});n.children[1]&&n.children[1].remove();var r=f("ul",{className:"highcharts-indicator-list"},void 0,n);var q=b.querySelectorAll(".highcharts-popup-rhs-col-wrapper")[0]; +E.forEach(function(b){var c=b.indicatorFullName,g=b.indicatorType,h=b.series;w=f("li",{className:"highcharts-indicator-list"},void 0,r);w.appendChild(e.createTextNode(c));["click","touchstart"].forEach(function(b){d(w,b,function(){var b=q.parentNode.children[1];x.call(k,a,h,g,q);b&&(b.style.display="block");t&&h.options&&f("input",{type:"hidden",name:"highcharts-id-"+g,value:h.options.id},void 0,q).setAttribute("highcharts-data-series-id",h.options.id)})})});0h&&("right"===f?a.align="left":a.x=(a.x||0)-h);h=c+r.width-k;h>b.plotWidth&&("left"===f?a.align="right":a.x=(a.x||0)+b.plotWidth-h);h=d+k;0>h&&("bottom"===g?a.verticalAlign="top":a.y=(a.y||0)-h);h=d+r.height-k;h>b.plotHeight&&("top"===g?a.verticalAlign="bottom":a.y=(a.y||0)+b.plotHeight-h);return a};a.prototype.translatePoint= +function(b,a){c.translatePoint.call(this,b,a,0)};a.prototype.translate=function(b,a){var c=this.annotation.chart,d=this.annotation.userOptions,f=c.annotations.indexOf(this.annotation);f=c.options.annotations[f];c.inverted&&(c=b,b=a,a=c);this.options.x+=b;this.options.y+=a;f[this.collection][this.index].x=this.options.x;f[this.collection][this.index].y=this.options.y;d[this.collection][this.index].x=this.options.x;d[this.collection][this.index].y=this.options.y};a.prototype.render=function(b){var d= +this.options,f=this.attrsFromOptions(d),g=d.style;this.graphic=this.annotation.chart.renderer.label("",0,-9999,d.shape,null,null,d.useHTML,null,"annotation-label").attr(f).add(b);this.annotation.chart.styledMode||("contrast"===g.color&&(g.color=this.annotation.chart.renderer.getContrast(-1q&&(q=-g-q);qa+g?l.push(["L",b+k,a+g]):hb+c&&l.push(["L",b+c,a+g/2])}return l||[]};return l});u(a,"Extensions/Annotations/Controllables/ControllableImage.js",[a["Extensions/Annotations/Controllables/ControllableLabel.js"],a["Extensions/Annotations/Mixins/ControllableMixin.js"]], +function(a,h){return function(){function c(a,c,l){this.addControlPoints=h.addControlPoints;this.anchor=h.anchor;this.attr=h.attr;this.attrsFromOptions=h.attrsFromOptions;this.destroy=h.destroy;this.getPointsOptions=h.getPointsOptions;this.init=h.init;this.linkPoints=h.linkPoints;this.point=h.point;this.rotate=h.rotate;this.scale=h.scale;this.setControlPointsVisibility=h.setControlPointsVisibility;this.shouldBeDrawn=h.shouldBeDrawn;this.transform=h.transform;this.transformPoint=h.transformPoint;this.translatePoint= +h.translatePoint;this.translateShape=h.translateShape;this.update=h.update;this.type="image";this.translate=h.translateShape;this.init(a,c,l);this.collection="shapes"}c.prototype.render=function(a){var c=this.attrsFromOptions(this.options),l=this.options;this.graphic=this.annotation.chart.renderer.image(l.src,0,-9E9,l.width,l.height).attr(c).add(a);this.graphic.width=l.width;this.graphic.height=l.height;h.render.call(this)};c.prototype.redraw=function(c){var q=this.anchor(this.points[0]);if(q=a.prototype.position.call(this, +q))this.graphic[c?"animate":"attr"]({x:q.x,y:q.y});else this.graphic.attr({x:0,y:-9E9});this.graphic.placed=!!q;h.redraw.call(this,c)};c.attrsMap={width:"width",height:"height",zIndex:"zIndex"};return c}()});u(a,"Extensions/Annotations/Annotation.js",[a["Core/Animation/AnimationUtilities.js"],a["Core/Chart/Chart.js"],a["Extensions/Annotations/Mixins/ControllableMixin.js"],a["Extensions/Annotations/Controllables/ControllableRect.js"],a["Extensions/Annotations/Controllables/ControllableCircle.js"], +a["Extensions/Annotations/Controllables/ControllableEllipse.js"],a["Extensions/Annotations/Controllables/ControllablePath.js"],a["Extensions/Annotations/Controllables/ControllableImage.js"],a["Extensions/Annotations/Controllables/ControllableLabel.js"],a["Extensions/Annotations/ControlPoint.js"],a["Extensions/Annotations/Mixins/EventEmitterMixin.js"],a["Core/Globals.js"],a["Extensions/Annotations/MockPoint.js"],a["Core/Pointer.js"],a["Core/Utilities.js"]],function(a,h,t,v,q,l,b,u,d,g,f,k,r,w,z){var c= +a.getDeferredAnimation;a=h.prototype;var x=z.addEvent,E=z.defined,y=z.destroyObjectProperties,C=z.erase,G=z.extend,n=z.find,m=z.fireEvent,e=z.merge,p=z.pick,A=z.splat;z=z.wrap;var B=function(){function a(a,b){this.annotation=void 0;this.coll="annotations";this.shapesGroup=this.labelsGroup=this.labelCollector=this.group=this.graphic=this.animationConfig=this.collection=void 0;this.chart=a;this.points=[];this.controlPoints=[];this.coll="annotations";this.labels=[];this.shapes=[];this.options=e(this.defaultOptions, +b);this.userOptions=b;b=this.getLabelsAndShapesOptions(this.options,b);this.options.labels=b.labels;this.options.shapes=b.shapes;this.init(a,this.options)}a.prototype.init=function(){var a=this.chart,b=this.options.animation;this.linkPoints();this.addControlPoints();this.addShapes();this.addLabels();this.setLabelCollector();this.animationConfig=c(a,b)};a.prototype.getLabelsAndShapesOptions=function(a,b){var c={};["labels","shapes"].forEach(function(p){var d=a[p];d&&(c[p]=b[p]?A(b[p]).map(function(a, +b){return e(d[b],a)}):a[p])});return c};a.prototype.addShapes=function(){var a=this.options.shapes||[];a.forEach(function(b,c){b=this.initShape(b,c);e(!0,a[c],b.options)},this)};a.prototype.addLabels=function(){(this.options.labels||[]).forEach(function(a,b){a=this.initLabel(a,b);e(!0,this.options.labels[b],a.options)},this)};a.prototype.addClipPaths=function(){this.setClipAxes();this.clipXAxis&&this.clipYAxis&&this.options.crop&&(this.clipRect=this.chart.renderer.clipRect(this.getClipBox()))};a.prototype.setClipAxes= +function(){var a=this.chart.xAxis,b=this.chart.yAxis,c=(this.options.labels||[]).concat(this.options.shapes||[]).reduce(function(c,e){e=e&&(e.point||e.points&&e.points[0]);return[a[e&&e.xAxis]||c[0],b[e&&e.yAxis]||c[1]]},[]);this.clipXAxis=c[0];this.clipYAxis=c[1]};a.prototype.getClipBox=function(){if(this.clipXAxis&&this.clipYAxis)return{x:this.clipXAxis.left,y:this.clipYAxis.top,width:this.clipXAxis.width,height:this.clipYAxis.height}};a.prototype.setLabelCollector=function(){var a=this;a.labelCollector= +function(){return a.labels.reduce(function(a,b){b.options.allowOverlap||a.push(b.graphic);return a},[])};a.chart.labelCollectors.push(a.labelCollector)};a.prototype.setOptions=function(a){this.options=e(this.defaultOptions,a)};a.prototype.redraw=function(a){this.linkPoints();this.graphic||this.render();this.clipRect&&this.clipRect.animate(this.getClipBox());this.redrawItems(this.shapes,a);this.redrawItems(this.labels,a);t.redraw.call(this,a)};a.prototype.redrawItems=function(a,b){for(var c=a.length;c--;)this.redrawItem(a[c], +b)};a.prototype.renderItems=function(a){for(var b=a.length;b--;)this.renderItem(a[b])};a.prototype.render=function(){var a=this.chart.renderer;this.graphic=a.g("annotation").attr({opacity:0,zIndex:this.options.zIndex,visibility:this.options.visible?"inherit":"hidden"}).add();this.shapesGroup=a.g("annotation-shapes").add(this.graphic);this.options.crop&&this.shapesGroup.clip(this.chart.plotBoxClip);this.labelsGroup=a.g("annotation-labels").attr({translateX:0,translateY:0}).add(this.graphic);this.addClipPaths(); +this.clipRect&&this.graphic.clip(this.clipRect);this.renderItems(this.shapes);this.renderItems(this.labels);this.addEvents();t.render.call(this)};a.prototype.setVisibility=function(a){var b=this.options,c=this.chart.navigationBindings;a=p(a,!b.visible);this.graphic.attr("visibility",a?"inherit":"hidden");a||(this.setControlPointsVisibility(!1),c.activeAnnotation===this&&c.popup&&"annotation-toolbar"===c.popup.formType&&m(c,"closePopup"));b.visible=a};a.prototype.setControlPointsVisibility=function(a){var b= +function(b){b.setControlPointsVisibility(a)};t.setControlPointsVisibility.call(this,a);this.shapes.forEach(b);this.labels.forEach(b)};a.prototype.destroy=function(){var a=this.chart,b=function(a){a.destroy()};this.labels.forEach(b);this.shapes.forEach(b);this.clipYAxis=this.clipXAxis=null;C(a.labelCollectors,this.labelCollector);f.destroy.call(this);t.destroy.call(this);y(this,a)};a.prototype.remove=function(){return this.chart.removeAnnotation(this)};a.prototype.update=function(a,b){var c=this.chart, +d=this.getLabelsAndShapesOptions(this.userOptions,a),A=c.annotations.indexOf(this);a=e(!0,this.userOptions,a);a.labels=d.labels;a.shapes=d.shapes;this.destroy();this.constructor(c,a);c.options.annotations[A]=a;this.isUpdating=!0;p(b,!0)&&c.redraw();m(this,"afterUpdate");this.isUpdating=!1};a.prototype.initShape=function(b,c){b=e(this.options.shapeOptions,{controlPointOptions:this.options.controlPointOptions},b);c=new a.shapesMap[b.type](this,b,c);c.itemType="shape";this.shapes.push(c);return c};a.prototype.initLabel= +function(a,b){a=e(this.options.labelOptions,{controlPointOptions:this.options.controlPointOptions},a);b=new d(this,a,b);b.itemType="label";this.labels.push(b);return b};a.prototype.redrawItem=function(a,b){a.linkPoints();a.shouldBeDrawn()?(a.graphic||this.renderItem(a),a.redraw(p(b,!0)&&a.graphic.placed),a.points.length&&this.adjustVisibility(a)):this.destroyItem(a)};a.prototype.adjustVisibility=function(a){var b=!1,c=a.graphic;a.points.forEach(function(a){!1!==a.series.visible&&!1!==a.visible&&(b= +!0)});b?"hidden"===c.visibility&&c.show():c.hide()};a.prototype.destroyItem=function(a){C(this[a.itemType+"s"],a);a.destroy()};a.prototype.renderItem=function(a){a.render("label"===a.itemType?this.labelsGroup:this.shapesGroup)};a.ControlPoint=g;a.MockPoint=r;a.shapesMap={rect:v,circle:q,ellipse:l,path:b,image:u};a.types={};return a}();e(!0,B.prototype,t,f,e(B.prototype,{nonDOMEvents:["add","afterUpdate","drag","remove"],defaultOptions:{visible:!0,animation:{},crop:!0,draggable:"xy",labelOptions:{align:"center", +allowOverlap:!1,backgroundColor:"rgba(0, 0, 0, 0.75)",borderColor:"#000000",borderRadius:3,borderWidth:1,className:"highcharts-no-tooltip",crop:!1,formatter:function(){return E(this.y)?this.y:"Annotation label"},includeInDataExport:!0,overflow:"justify",padding:5,shadow:!1,shape:"callout",style:{fontSize:"11px",fontWeight:"normal",color:"contrast"},useHTML:!1,verticalAlign:"bottom",x:0,y:-16},shapeOptions:{stroke:"rgba(0, 0, 0, 0.75)",strokeWidth:1,fill:"rgba(0, 0, 0, 0.75)",r:0,snap:2},controlPointOptions:{symbol:"circle", +width:10,height:10,style:{cursor:"pointer",fill:"#ffffff",stroke:"#000000","stroke-width":2},visible:!1,events:{}},events:{},zIndex:6}}));k.extendAnnotation=function(a,b,c,p){b=b||B;G(a.prototype,e(b.prototype,c));a.prototype.defaultOptions=e(a.prototype.defaultOptions,p||{})};G(a,{initAnnotation:function(a){a=new (B.types[a.type]||B)(this,a);this.annotations.push(a);return a},addAnnotation:function(a,b){a=this.initAnnotation(a);this.options.annotations.push(a.options);p(b,!0)&&(a.redraw(),a.graphic.attr({opacity:1})); +return a},removeAnnotation:function(a){var b=this.annotations,c="annotations"===a.coll?a:n(b,function(b){return b.options.id===a});c&&(m(c,"remove"),C(this.options.annotations,c.options),C(b,c),c.destroy())},drawAnnotations:function(){this.plotBoxClip.attr(this.plotBox);this.annotations.forEach(function(a){a.redraw();a.graphic.animate({opacity:1},a.animationConfig)})}});a.collectionsWithUpdate.push("annotations");a.collectionsWithInit.annotations=[a.addAnnotation];x(h,"afterInit",function(){this.annotations= +[];this.options.annotations||(this.options.annotations=[])});a.callbacks.push(function(a){a.plotBoxClip=this.renderer.clipRect(this.plotBox);a.controlPointsGroup=a.renderer.g("control-points").attr({zIndex:99}).clip(a.plotBoxClip).add();a.options.annotations.forEach(function(b,c){if(!a.annotations.some(function(a){return a.options===b})){var e=a.initAnnotation(b);a.options.annotations[c]=e.options}});a.drawAnnotations();x(a,"redraw",a.drawAnnotations);x(a,"destroy",function(){a.plotBoxClip.destroy(); +a.controlPointsGroup.destroy()});x(a,"exportData",function(b){var c=(this.options.exporting&&this.options.exporting.csv||{}).columnHeaderFormatter,e=!b.dataRows[1].xValues,p=a.options.lang&&a.options.lang.exportData&&a.options.lang.exportData.annotationHeader,d=function(a){if(c){var b=c(a);if(!1!==b)return b}b=p+" "+a;return e?{columnTitle:b,topLevelColumnTitle:b}:b},A=b.dataRows[0].length,B=a.options.exporting&&a.options.exporting.csv&&a.options.exporting.csv.annotations&&a.options.exporting.csv.annotations.itemDelimiter, +f=a.options.exporting&&a.options.exporting.csv&&a.options.exporting.csv.annotations&&a.options.exporting.csv.annotations.join;a.annotations.forEach(function(a){a.options.labelOptions&&a.options.labelOptions.includeInDataExport&&a.labels.forEach(function(a){if(a.options.text){var c=a.options.text;a.points.forEach(function(a){var e=a.x,p=a.series.xAxis?a.series.xAxis.options.index:-1,d=!1;if(-1===p){a=b.dataRows[0].length;for(var m=Array(a),n=0;nA?a[a.length-1]+=B+c:a.push(c),d=!0)});if(!d){a=b.dataRows[0].length;m=Array(a);for(n=0;n=c-e&&a.value<=b+e&&!a.axis.options.isInternal})[0]}}; +h.prototype.initNavigationBindings=function(){var a=this.options;a&&a.navigation&&a.navigation.bindings&&(this.navigationBindings=new m(this,a.navigation),this.navigationBindings.initEvents(),this.navigationBindings.initUpdate())};f(h,"load",function(){this.initNavigationBindings()});f(h,"destroy",function(){this.navigationBindings&&this.navigationBindings.destroy()});f(m,"deselectButton",function(){this.selectedButtonElement=null});f(a,"remove",function(){this.chart.navigationBindings&&this.chart.navigationBindings.deselectAnnotation()}); +q.Annotation&&(d(a),y(a.types,function(a){d(a)}));v({lang:{navigation:{popup:{simpleShapes:"Simple shapes",lines:"Lines",circle:"Circle",ellipse:"Ellipse",rectangle:"Rectangle",label:"Label",shapeOptions:"Shape options",typeOptions:"Details",fill:"Fill",format:"Text",strokeWidth:"Line width",stroke:"Line color",title:"Title",name:"Name",labelOptions:"Label options",labels:"Labels",backgroundColor:"Background color",backgroundColors:"Background colors",borderColor:"Border color",borderRadius:"Border radius", +borderWidth:"Border width",style:"Style",padding:"Padding",fontSize:"Font size",color:"Color",height:"Height",shapes:"Shape options"}}},navigation:{bindingsClassName:"highcharts-bindings-container",bindings:{circleAnnotation:{className:"highcharts-circle-annotation",start:function(a){var b=this.chart.pointer.getCoordinates(a);a=this.utils.getAssignedAxis(b.xAxis);b=this.utils.getAssignedAxis(b.yAxis);var c=this.chart.options.navigation;if(a&&b)return this.chart.addAnnotation(E({langKey:"circle",type:"basicAnnotation", +shapes:[{type:"circle",point:{x:a.value,y:b.value,xAxis:a.axis.options.index,yAxis:b.axis.options.index},r:5}]},c.annotationsOptions,c.bindings.circleAnnotation.annotationsOptions))},steps:[function(a,b){var c=b.options.shapes;c=c&&c[0]&&c[0].point||{};if(D(c.xAxis)&&D(c.yAxis)){var e=this.chart.inverted;var d=this.chart.xAxis[c.xAxis].toPixels(c.x);c=this.chart.yAxis[c.yAxis].toPixels(c.y);e=Math.max(Math.sqrt(Math.pow(e?c-a.chartX:d-a.chartX,2)+Math.pow(e?d-a.chartY:c-a.chartY,2)),5)}b.update({shapes:[{r:e}]})}]}, +ellipseAnnotation:{className:"highcharts-ellipse-annotation",start:function(a){var b=this.chart.pointer.getCoordinates(a);a=this.utils.getAssignedAxis(b.xAxis);b=this.utils.getAssignedAxis(b.yAxis);var c=this.chart.options.navigation;if(a&&b)return this.chart.addAnnotation(E({langKey:"ellipse",type:"basicAnnotation",shapes:[{type:"ellipse",xAxis:a.axis.options.index,yAxis:b.axis.options.index,points:[{x:a.value,y:b.value},{x:a.value,y:b.value}],ry:1}]},c.annotationsOptions,c.bindings.ellipseAnnotation.annotationOptions))}, +steps:[function(a,b){b=b.shapes[0];var c=b.getAbsolutePosition(b.points[1]);b.translatePoint(a.chartX-c.x,a.chartY-c.y,1);b.redraw(!1)},function(a,b){b=b.shapes[0];var c=b.getAbsolutePosition(b.points[0]),e=b.getAbsolutePosition(b.points[1]);a=b.getDistanceFromLine(c,e,a.chartX,a.chartY);c=b.getYAxis();a=Math.abs(c.toValue(0)-c.toValue(a));b.setYRadius(a);b.redraw(!1)}]},rectangleAnnotation:{className:"highcharts-rectangle-annotation",start:function(a){a=this.chart.pointer.getCoordinates(a);var b= +this.utils.getAssignedAxis(a.xAxis),c=this.utils.getAssignedAxis(a.yAxis);if(b&&c){a=b.value;var e=c.value;b=b.axis.options.index;c=c.axis.options.index;var d=this.chart.options.navigation;return this.chart.addAnnotation(E({langKey:"rectangle",type:"basicAnnotation",shapes:[{type:"path",points:[{xAxis:b,yAxis:c,x:a,y:e},{xAxis:b,yAxis:c,x:a,y:e},{xAxis:b,yAxis:c,x:a,y:e},{xAxis:b,yAxis:c,x:a,y:e},{command:"Z"}]}]},d.annotationsOptions,d.bindings.rectangleAnnotation.annotationsOptions))}},steps:[function(a, +b){var c=b.options.shapes;c=c&&c[0]&&c[0].points||[];var d=this.chart.pointer.getCoordinates(a);a=this.utils.getAssignedAxis(d.xAxis);d=this.utils.getAssignedAxis(d.yAxis);a&&d&&(a=a.value,d=d.value,c[1].x=a,c[2].x=a,c[2].y=d,c[3].y=d,b.update({shapes:[{points:c}]}))}]},labelAnnotation:{className:"highcharts-label-annotation",start:function(a){var b=this.chart.pointer.getCoordinates(a);a=this.utils.getAssignedAxis(b.xAxis);b=this.utils.getAssignedAxis(b.yAxis);var c=this.chart.options.navigation; +if(a&&b)return this.chart.addAnnotation(E({langKey:"label",type:"basicAnnotation",labelOptions:{format:"{y:.2f}"},labels:[{point:{xAxis:a.axis.options.index,yAxis:b.axis.options.index,x:a.value,y:b.value},overflow:"none",crop:!0}]},c.annotationsOptions,c.bindings.labelAnnotation.annotationsOptions))}}},events:{},annotationsOptions:{animation:{defer:0}}}});f(h,"render",function(){var a=this,b=a.navigationBindings;if(a&&b){var c=!1;a.series.forEach(function(a){!a.options.isInternal&&a.visible&&(c=!0)}); +y(b.boundClassNames,function(b,d){if(a.navigationBindings&&a.navigationBindings.container&&a.navigationBindings.container[0]&&(d=a.navigationBindings.container[0].querySelectorAll("."+d)))for(var e=0;e option:checked")[0];a=a.querySelectorAll("#highcharts-select-volume > option:checked")[0];var f={actionType:b,linkedTo:m&&m.getAttribute("value")||"",fields:{}};c.forEach(function(a){var b=a.getAttribute("highcharts-data-name");a.getAttribute("highcharts-data-series-id")?f.seriesId= +a.value:b?f.fields[b]=a.value:f.type=a.value});d.forEach(function(a){var b=a.id;"highcharts-select-series"!==b&&"highcharts-select-volume"!==b&&(b=b.split("highcharts-select-")[1],f.fields[b]=a.value)});a&&(f.fields["params.volumeSeriesID"]=a.getAttribute("value")||"");return f},showPopup:function(){var b=this.container,c=b.querySelectorAll(".highcharts-popup-close")[0];this.formType=void 0;b.innerHTML=a.emptyHTML;0<=b.className.indexOf("highcharts-annotation-toolbar")&&(b.classList.remove("highcharts-annotation-toolbar"), +b.removeAttribute("style"));b.appendChild(c);b.style.display="block";b.style.height=""},closePopup:function(){F(this.popup&&this.popup.container,this.container).style.display="none"},showForm:function(a,b,c,d){b&&(this.popup=b.navigationBindings.popup,this.showPopup(),"indicators"===a&&this.indicators.addForm.call(this,b,c,d),"annotation-toolbar"===a&&this.annotations.addToolbar.call(this,b,c,d),"annotation-edit"===a&&this.annotations.addForm.call(this,b,c,d),"flag"===a&&this.annotations.addForm.call(this, +b,c,d,!0),this.formType=a,this.container.style.height=this.container.offsetHeight+"px")},getLangpack:function(){return d().lang.navigation.popup},annotations:{addToolbar:function(a,c,d){var e=this,m=this.lang,g=this.popup.container,h=this.showForm;-1===g.className.indexOf("highcharts-annotation-toolbar")&&(g.className+=" highcharts-annotation-toolbar");a&&(g.style.top=a.plotTop+10+"px");f("span",void 0,void 0,g).appendChild(b.createTextNode(F(m[c.langKey]||c.langKey,c.shapes&&c.shapes[0].type,""))); +var n=this.addButton(g,m.removeButton||"remove","remove",g,d);n.className+=" highcharts-annotation-remove-button";n.style["background-image"]="url("+this.iconsURL+"destroy.svg)";n=this.addButton(g,m.editButton||"edit","edit",g,function(){h.call(e,"annotation-edit",a,c,d)});n.className+=" highcharts-annotation-edit-button";n.style["background-image"]="url("+this.iconsURL+"edit.svg)"},addForm:function(a,c,d,g){var e=this.popup.container,m=this.lang;if(a){var n=f("h2",{className:"highcharts-popup-main-title"}, +void 0,e);n.appendChild(b.createTextNode(m[c.langKey]||c.langKey||""));n=f("div",{className:"highcharts-popup-lhs-col highcharts-popup-lhs-full"},void 0,e);var p=f("div",{className:"highcharts-popup-bottom-row"},void 0,e);this.annotations.addFormFields.call(this,n,a,"",c,[],!0);this.addButton(p,g?m.addButton||"add":m.saveButton||"save",g?"add":"save",e,d)}},addFormFields:function(a,d,e,g,h,k){var m=this,n=this.annotations.addFormFields,p=this.addInput,l=this.lang,A,B;d&&(D(g,function(b,c){A=""!== +e?e+"."+c:c;z(b)&&(!u(b)||u(b)&&z(b[0])?(B=l[c]||c,B.match(y)||h.push([!0,B,a]),n.call(m,a,d,A,b,h,!1)):h.push([m,A,"annotation",a,b]))}),k&&(E(h,function(a){return a[1].match(/format/g)?-1:1}),c&&h.reverse(),h.forEach(function(a){!0===a[0]?f("span",{className:"highcharts-annotation-title"},void 0,a[2]).appendChild(b.createTextNode(a[1])):(a[4]={value:a[4][0],type:a[4][1]},p.apply(a[0],a.splice(1)))})))}},indicators:{addForm:function(a,b,c){var d=this.indicators,e=this.lang;if(a){this.tabs.init.call(this, +a);b=this.popup.container.querySelectorAll(".highcharts-tab-item-content");this.addColsContainer(b[0]);d.addSearchBox.call(this,a,b[0]);d.addIndicatorList.call(this,a,b[0],"add");var f=b[0].querySelectorAll(".highcharts-popup-rhs-col")[0];this.addButton(f,e.addButton||"add","add",f,c);this.addColsContainer(b[1]);d.addIndicatorList.call(this,a,b[1],"edit");f=b[1].querySelectorAll(".highcharts-popup-rhs-col")[0];this.addButton(f,e.saveButton||"save","edit",f,c);this.addButton(f,e.removeButton||"remove", +"remove",f,c)}},filterSeries:function(a,b){var c=this.indicators,d=this.chart&&this.chart.options.lang,f=d&&d.navigation&&d.navigation.popup&&d.navigation.popup.indicatorAliases,g=[],m;D(a,function(a,d){var e=a.options;if(a.params||e&&e.params)if(e=c.getNameType(a,d),d=e.indicatorFullName,e=e.indicatorType,b){var h=b.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");h=new RegExp(h,"i");var n=f&&f[e]&&f[e].join(" ")||"";if(d.match(h)||n.match(h))m={indicatorFullName:d,indicatorType:e,series:a},g.push(m)}else m= +{indicatorFullName:d,indicatorType:e,series:a},g.push(m)});return g},filterSeriesArray:function(a){var b=[],c;a.forEach(function(a){a.is("sma")&&(c={indicatorFullName:a.name,indicatorType:a.type,series:a},b.push(c))});return b},addIndicatorList:function(c,d,e,h){var m=this,n=m.indicators,p=m.lang,k=d.querySelectorAll(".highcharts-popup-lhs-col")[0];d=d.querySelectorAll(".highcharts-popup-rhs-col")[0];var l="edit"===e,q=this.indicators.addFormFields;e=l?c.series:c.options.plotOptions||{};if(c||!e){var r, +t=[];l||u(e)?u(e)&&(t=n.filterSeriesArray.call(this,e)):t=n.filterSeries.call(this,e,h);E(t,function(a,b){a=a.indicatorFullName.toLowerCase();b=b.indicatorFullName.toLowerCase();return ab?1:0});k.children[1]&&k.children[1].remove();var v=f("ul",{className:"highcharts-indicator-list"},void 0,k);var w=d.querySelectorAll(".highcharts-popup-rhs-col-wrapper")[0];t.forEach(function(a){var d=a.indicatorFullName,e=a.indicatorType,h=a.series;r=f("li",{className:"highcharts-indicator-list"},void 0, +v);r.appendChild(b.createTextNode(d));["click","touchstart"].forEach(function(a){g(r,a,function(){var a=w.parentNode.children[1];q.call(m,c,h,e,w);a&&(a.style.display="block");l&&h.options&&f("input",{type:"hidden",name:"highcharts-id-"+e,value:h.options.id},void 0,w).setAttribute("highcharts-data-series-id",h.options.id)})})});0b.indexOf(g)&&(d[g]=a[g]);if(null!=a&&"function"===typeof Object.getOwnPropertySymbols){var c=0;for(g=Object.getOwnPropertySymbols(a);cb.indexOf(g[c])&&Object.prototype.propertyIsEnumerable.call(a,g[c])&&(d[g[c]]=a[g[c]])}return d},y=v.prototype.symbols,t=q.seriesTypes.sankey;v=b.extend;var x=b.merge,w=b.pick,z=b.relativeLength;b=function(a){function b(){var d= +null!==a&&a.apply(this,arguments)||this;d.data=void 0;d.options=void 0;d.nodeColumns=void 0;d.nodes=void 0;d.points=void 0;return d}l(b,a);b.prototype.createNodeColumns=function(){var d=this,a=this,c=a.chart,b=e.compose([],a);b.sankeyColumn.maxLength=c.inverted?c.plotHeight:c.plotWidth;b.sankeyColumn.getTranslationFactor=function(a){for(var g=b.slice(),f=d.options.minLinkWidth||0,r=0,k,p,h=0,e=1,l=0,n=(c.plotSizeX||0)-(a.options.marker&&a.options.marker.lineWidth||0)-(b.length-1)*a.nodePadding;b.length;){r= +n/b.sankeyColumn.sum();a=!1;for(k=b.length;k--;){p=b[k].getSum()*r*e;var q=Math.min(c.plotHeight,c.plotWidth);p>q?e=Math.min(q/p,e):pc&&(c=[c,h],h=c[0],c=c[1]);m.reversed&&(c=[c,h],h=c[0],c=c[1],k=(d.plotSizeY||0)-k);a.shapeType="path";a.linkBase=[h,h+f,c,c+f];m=(c+f-h)/Math.abs(c+f-h)*w(m.linkRadius,Math.min(Math.abs(c+ +f-h)/2,b.nodeY-Math.abs(f)));a.shapeArgs={d:[["M",h,k],["A",(c+f-h)/2,m,0,0,1,c+f,k],["L",c,k],["A",(c-h-f)/2,m-f,0,0,0,h+f,k],["Z"]]};a.dlBox={x:h+(c-h)/2,y:k-m,height:f,width:0};a.tooltipPos=d.inverted?[(d.plotSizeY||0)-a.dlBox.y-f/2,(d.plotSizeX||0)-a.dlBox.x]:[a.dlBox.x,a.dlBox.y+f/2];a.y=a.plotY=1;a.x=a.plotX=1;a.color||(a.color=b.color)};b.prototype.translateNode=function(a,b){var c=this.translationFactor,d=this.chart,e=this.options,m=Math.min(d.plotWidth,d.plotHeight,(d.inverted?d.plotWidth: +d.plotHeight)/a.series.nodes.length-this.nodePadding),f=a.getSum()*(b.sankeyColumn.scale||0);m=e.equalNodes?m:Math.max(f*c,this.options.minLinkWidth||0);var g=Math.round(e.marker&&e.marker.lineWidth||0)%2/2,k=b.sankeyColumn.offset(a,c);c=Math.floor(w(k&&k.absoluteLeft,(b.sankeyColumn.left(c)||0)+(k&&k.relativeLeft||0)))+g;var l=x(e.marker,a.options.marker);k=l.symbol;var h=l.radius;b=parseInt(e.offset,10)*((d.inverted?d.plotWidth:d.plotHeight)-(Math.floor(this.colDistance*(a.column||0)+(l.lineWidth|| +0)/2)+g+(b.sankeyColumn.scale||0)*(b.sankeyColumn.maxRadius||0)/2))/100;(a.sum=f)?(a.nodeX=c,a.nodeY=b,f=a.options.width||e.width||m,m=a.options.height||e.height||m,g=b,e.reversed&&(g=(d.plotSizeY||0)-b,d.inverted&&(g=(d.plotSizeY||0)-b)),this.mapOptionsToLevel&&(a.dlOptions=t.getDLOptions({level:this.mapOptionsToLevel[a.level],optionsPoint:a.options})),a.plotX=1,a.plotY=1,a.tooltipPos=d.inverted?[(d.plotSizeY||0)-g-m/2,(d.plotSizeX||0)-c-f/2]:[c+f/2,g+m/2],a.shapeType="path",a.shapeArgs={d:y[k|| +"circle"](c,g-(h||m)/2,h||f,h||m),width:h||f,height:h||m},a.dlBox={x:c+f/2,y:g,height:0,width:0}):a.dlOptions={enabled:!1}};b.prototype.drawDataLabels=function(){if(this.options.dataLabels){var b=this.options.dataLabels.textPath;t.prototype.drawDataLabels.apply(this,arguments);this.points=this.data;this.options.dataLabels.textPath=this.options.dataLabels.linkTextPath;a.prototype.drawDataLabels.apply(this,arguments);this.points=this.points.concat(this.nodes||[]);this.options.dataLabels.textPath=b}}; +b.prototype.pointAttribs=function(b,e){if(b&&b.isNode){var c=u.prototype.pointAttribs.apply(this,arguments);return n(c,["opacity"])}return a.prototype.pointAttribs.apply(this,arguments)};b.prototype.markerAttribs=function(b){return b.isNode?a.prototype.markerAttribs.apply(this,arguments):{}};b.defaultOptions=x(t.defaultOptions,{centeredLinks:!1,offset:"100%",equalNodes:!1,reversed:!1,dataLabels:{linkTextPath:{attributes:{startOffset:"25%"}}},marker:{symbol:"circle",fillOpacity:1,states:{}}});return b}(t); +v(b.prototype,{orderNodes:!1});b.prototype.pointClass=a;q.registerSeriesType("arcdiagram",b);"";return b});e(a,"masters/modules/arc-diagram.src.js",[],function(){})}); +//# sourceMappingURL=arc-diagram.js.map \ No newline at end of file diff --git a/docs/reference/libs/highcharts-10.2.0/modules/arrow-symbols.js b/docs/reference/libs/highcharts-10.2.0/modules/arrow-symbols.js new file mode 100644 index 0000000..f9e7193 --- /dev/null +++ b/docs/reference/libs/highcharts-10.2.0/modules/arrow-symbols.js @@ -0,0 +1,13 @@ +/* + Highcharts JS v10.2.0 (2022-07-05) + + Arrow Symbols + + (c) 2017-2021 Lars A. V. Cabrera + + License: www.highcharts.com/license +*/ +(function(a){"object"===typeof module&&module.exports?(a["default"]=a,module.exports=a):"function"===typeof define&&define.amd?define("highcharts/modules/arrow-symbols",["highcharts"],function(b){a(b);a.Highcharts=b;return a}):a("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(a){function b(a,f,b,g){a.hasOwnProperty(f)||(a[f]=g.apply(null,b),"function"===typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:f,module:a[f]}})))}a=a?a._modules:{}; +b(a,"Extensions/ArrowSymbols.js",[a["Core/Renderer/SVG/SVGRenderer.js"]],function(a){function b(a,d,b,c){return[["M",a,d+c/2],["L",a+b,d],["L",a,d+c/2],["L",a+b,d+c]]}function h(a,b,e,c){return[["M",a+e,b],["L",a,b+c/2],["L",a+e,b+c],["Z"]]}function g(a,b,e,c){return h(a,b,e/2,c)}a=a.prototype.symbols;a.arrow=b;a["arrow-filled"]=h;a["arrow-filled-half"]=g;a["arrow-half"]=function(a,d,e,c){return b(a,d,e/2,c)};a["triangle-left"]=h;a["triangle-left-half"]=g;return a});b(a,"masters/modules/arrow-symbols.src.js", +[],function(){})}); +//# sourceMappingURL=arrow-symbols.js.map \ No newline at end of file diff --git a/docs/reference/libs/highcharts-10.2.0/modules/boost-canvas.js b/docs/reference/libs/highcharts-10.2.0/modules/boost-canvas.js new file mode 100644 index 0000000..bb55e8d --- /dev/null +++ b/docs/reference/libs/highcharts-10.2.0/modules/boost-canvas.js @@ -0,0 +1,26 @@ +/* + Highcharts JS v10.2.0 (2022-07-05) + + Boost module + + (c) 2010-2021 Highsoft AS + Author: Torstein Honsi + + License: www.highcharts.com/license +*/ +(function(c){"object"===typeof module&&module.exports?(c["default"]=c,module.exports=c):"function"===typeof define&&define.amd?define("highcharts/modules/boost-canvas",["highcharts"],function(g){c(g);c.Highcharts=g;return c}):c("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(c){function g(c,x,v,g){c.hasOwnProperty(x)||(c[x]=g.apply(null,v),"function"===typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:x,module:c[x]}})))}c=c?c._modules:{}; +g(c,"Extensions/BoostCanvas.js",[c["Core/Chart/Chart.js"],c["Core/Color/Color.js"],c["Core/Globals.js"],c["Core/Series/Series.js"],c["Core/Series/SeriesRegistry.js"],c["Core/Utilities.js"]],function(c,g,v,C,D,r){var x=g.parse,E=v.doc,ea=v.noop,m=D.seriesTypes,F=r.addEvent,z=r.extend,fa=r.fireEvent,ha=r.isNumber,ia=r.merge,ja=r.pick,A=r.wrap,P;return function(){v.seriesTypes.heatmap&&A(v.seriesTypes.heatmap.prototype,"drawPoints",function(){var a=this.chart,b=this.getContext(),f=this.chart.inverted, +c=this.xAxis,d=this.yAxis;b?(this.points.forEach(function(e){var k=e.plotY;if("undefined"!==typeof k&&!isNaN(k)&&null!==e.y&&b){var l=e.shapeArgs||{};k=l.x;k=void 0===k?0:k;var g=l.y;g=void 0===g?0:g;var u=l.width;u=void 0===u?0:u;l=l.height;l=void 0===l?0:l;e=a.styledMode?e.series.colorAttribs(e):e.series.pointAttribs(e);b.fillStyle=e.fill;f?b.fillRect(d.len-g+c.left,c.len-k+d.top,-l,-u):b.fillRect(k+c.left,g+d.top,u,l)}}),this.canvasToSVG()):this.chart.showLoading("Your browser doesn't support HTML5 canvas,
please use a modern browser")}); +z(C.prototype,{getContext:function(){var a=this.chart,b=a.chartWidth,f=a.chartHeight,c=a.seriesGroup||this.group,d=this,g=function(a,d,f,b,c,e,g){a.call(this,f,d,b,c,e,g)};a.isChartSeriesBoosting()&&(d=a,c=a.seriesGroup);var k=d.ctx;d.canvas||(d.canvas=E.createElement("canvas"),d.renderTarget=a.renderer.image("",0,0,b,f).addClass("highcharts-boost-canvas").add(c),d.ctx=k=d.canvas.getContext("2d"),a.inverted&&["moveTo","lineTo","rect","arc"].forEach(function(a){A(k,a,g)}),d.boostCopy=function(){d.renderTarget.attr({href:d.canvas.toDataURL("image/png")})}, +d.boostClear=function(){k.clearRect(0,0,d.canvas.width,d.canvas.height);d===this&&d.renderTarget.attr({href:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII="})},d.boostClipRect=a.renderer.clipRect(),d.renderTarget.clip(d.boostClipRect));d.canvas.width!==b&&(d.canvas.width=b);d.canvas.height!==f&&(d.canvas.height=f);d.renderTarget.attr({x:0,y:0,width:b,height:f,style:"pointer-events: none",href:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII="}); +d.boostClipRect.attr(a.getBoostClipRect(d));return k},canvasToSVG:function(){this.chart.isChartSeriesBoosting()?this.boostClear&&this.boostClear():(this.boostCopy||this.chart.boostCopy)&&(this.boostCopy||this.chart.boostCopy)()},cvsLineTo:function(a,b,f){a.lineTo(b,f)},renderCanvas:function(){var a=this,b=a.options,f=a.chart,c=this.xAxis,d=this.yAxis,m=(f.options.boost||{}).timeRendering||!1,k=0,l=a.processedXData,A=a.processedYData,u=b.data,n=c.getExtremes(),G=n.min,H=n.max;n=d.getExtremes();var C= +n.min,D=n.max,Q={},I,E=!!a.sampling,J=b.marker&&b.marker.radius,R=this.cvsDrawPoint,K=b.lineWidth?this.cvsLineTo:void 0,S=J&&1>=J?this.cvsMarkerSquare:this.cvsMarkerCircle,ka=this.cvsStrokeBatch||1E3,la=!1!==b.enableMouseTracking,T;n=b.threshold;var w=d.getThreshold(n),U=ha(n),V=w,ma=this.fill,W=a.pointArrayMap&&"low,high"===a.pointArrayMap.join(","),X=!!b.stacking,Y=a.cropStart||0;n=f.options.loading;var na=a.requireSorting,Z,oa=b.connectNulls,aa=!l,L,M,y,B,N,t=X?a.data:l||u,pa=a.fillOpacity?g.parse(a.color).setOpacity(ja(b.fillOpacity, +.75)).get():a.color,ba=function(){ma?(p.fillStyle=pa,p.fill()):(p.strokeStyle=a.color,p.lineWidth=b.lineWidth,p.stroke())},ca=function(d,b,c,e){0===k&&(p.beginPath(),K&&(p.lineJoin="round"));f.scroller&&"highcharts-navigator-series"===a.options.className?(b+=f.scroller.top,c&&(c+=f.scroller.top)):b+=f.plotTop;d+=f.plotLeft;Z?p.moveTo(d,b):R?R(p,d,b,c,T):K?K(p,d,b):S&&S.call(a,p,d,b,J,e);k+=1;k===ka&&(ba(),k=0);T={clientX:d,plotY:b,yBottom:c}},qa="x"===b.findNearestPointBy,da=this.xData||this.options.xData|| +this.processedXData||!1,O=function(a,b,e){N=qa?a:a+","+b;la&&!Q[N]&&(Q[N]=!0,f.inverted&&(a=c.len-a,b=d.len-b),ra.push({x:da?da[Y+e]:!1,clientX:a,plotX:a,plotY:b,i:Y+e}))};this.renderTarget&&this.renderTarget.attr({href:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII="});(this.points||this.graph)&&this.destroyGraphics();a.plotGroup("group","series",a.visible?"visible":"hidden",b.zIndex,f.seriesGroup);a.markerGroup=a.group;F(a,"destroy", +function(){a.markerGroup=null});var ra=this.points=[];var p=this.getContext();a.buildKDTree=ea;this.boostClear&&this.boostClear();this.visible&&(99999=G&&l<=H&&(g=!0);m&&m>=G&&m<=H&&(k=!0);if(W){aa&&(h=b.slice(1,3));var r=h[0];h=h[1]}else X&&(q=b.x,h=b.stackY,r=h-b.y);b=null===h;na||(p=h>=C&&h<=D);if(!b&&(q>=G&&q<=H&&p||g||k))if(q=Math.round(c.toPixels(q,!0)),E){if("undefined"===typeof y||q===I){W||(r=h);if("undefined"===typeof B||h>M)M=h,B=e;if("undefined"===typeof y||r 0.0 ? (value - zMin) / zRange : 0.5;\nif (bubbleSizeByArea && pos > 0.0){\npos = sqrt(pos);\n}\nradius = ceil(bubbleMinSize + pos * (bubbleMaxSize - bubbleMinSize)) / 2.0;\n}\nreturn radius * 2.0;\n}\nfloat translate(float val,\nfloat pointPlacement,\nfloat localA,\nfloat localMin,\nfloat minPixelPadding,\nfloat pointRange,\nfloat len,\nbool cvsCoord,\nbool isLog,\nbool reversed\n){\nfloat sign = 1.0;\nfloat cvsOffset = 0.0;\nif (cvsCoord) {\nsign *= -1.0;\ncvsOffset = len;\n}\nif (isLog) {\nval = log(val) / LN10;\n}\nif (reversed) {\nsign *= -1.0;\ncvsOffset -= sign * len;\n}\nreturn sign * (val - localMin) * localA + cvsOffset + \n(sign * minPixelPadding);\n}\nfloat xToPixels(float value) {\nif (skipTranslation){\nreturn value;// + xAxisPos;\n}\nreturn translate(value, 0.0, xAxisTrans, xAxisMin, xAxisMinPad, xAxisPointRange, xAxisLen, xAxisCVSCoord, xAxisIsLog, xAxisReversed);// + xAxisPos;\n}\nfloat yToPixels(float value, float checkTreshold) {\nfloat v;\nif (skipTranslation){\nv = value;// + yAxisPos;\n} else {\nv = translate(value, 0.0, yAxisTrans, yAxisMin, yAxisMinPad, yAxisPointRange, yAxisLen, yAxisCVSCoord, yAxisIsLog, yAxisReversed);// + yAxisPos;\nif (v > yAxisLen) {\nv = yAxisLen;\n}\n}\nif (checkTreshold > 0.0 && hasThreshold) {\nv = min(v, translatedThreshold);\n}\nreturn v;\n}\nvoid main(void) {\nif (isBubble){\ngl_PointSize = bubbleRadius();\n} else {\ngl_PointSize = pSize;\n}\nvColor = aColor;\nif (skipTranslation && isInverted) {\ngl_Position = uPMatrix * vec4(aVertexPosition.y + yAxisPos, aVertexPosition.x + xAxisPos, 0.0, 1.0);\n} else if (isInverted) {\ngl_Position = uPMatrix * vec4(yToPixels(aVertexPosition.y, aVertexPosition.z) + yAxisPos, xToPixels(aVertexPosition.x) + xAxisPos, 0.0, 1.0);\n} else {\ngl_Position = uPMatrix * vec4(xToPixels(aVertexPosition.x) + xAxisPos, yToPixels(aVertexPosition.y, aVertexPosition.z) + yAxisPos, 0.0, 1.0);\n}\n}", +"vertex"),l=y("precision highp float;\nuniform vec4 fillColor;\nvarying highp vec2 position;\nvarying highp vec4 vColor;\nuniform sampler2D uSampler;\nuniform bool isCircle;\nuniform bool hasColor;\nvoid main(void) {\nvec4 col = fillColor;\nvec4 tcol = texture2D(uSampler, gl_PointCoord.st);\nif (hasColor) {\ncol = vColor;\n}\nif (isCircle) {\ncol *= tcol;\nif (tcol.r < 0.0) {\ndiscard;\n} else {\ngl_FragColor = col;\n}\n} else {\ngl_FragColor = col;\n}\n}","fragment");if(!p||!l)return h=!1,b(),!1; +h=d.createProgram();d.attachShader(h,p);d.attachShader(h,l);d.linkProgram(h);if(!d.getProgramParameter(h,d.LINK_STATUS))return c.push(d.getProgramInfoLog(h)),b(),h=!1;d.useProgram(h);d.bindAttribLocation(h,0,"aVertexPosition");e=k("uPMatrix");r=k("pSize");w=k("fillColor");V=k("isBubble");G=k("bubbleSizeAbs");D=k("bubbleSizeByArea");W=k("uSampler");F=k("skipTranslation");a=k("isCircle");f=k("isInverted");return!0}function u(a,c){d&&h&&(a=x[a]=x[a]||d.getUniformLocation(h,a),d.uniform1f(a,c))}var x= +{},h,e,r,w,V,G,D,F,a,f,c=[],W;return d&&!q()?!1:{psUniform:function(){return r},pUniform:function(){return e},fillColorUniform:function(){return w},setBubbleUniforms:function(k,c,f,e){void 0===e&&(e=1);var l=k.options,g=Number.MAX_VALUE,b=-Number.MAX_VALUE;if(d&&h&&k.is("bubble")){var r=k.getPxExtremes();g=m(l.zMin,n(c,!1===l.displayNegative?l.zThreshold:-Number.MAX_VALUE,g));b=m(l.zMax,Math.max(b,f));d.uniform1i(V,1);d.uniform1i(a,1);d.uniform1i(D,"width"!==k.options.sizeBy);d.uniform1i(G,k.options.sizeByAbsoluteValue); +u("bubbleZMin",g);u("bubbleZMax",b);u("bubbleZThreshold",k.options.zThreshold);u("bubbleMinSize",r.minPxSize*e);u("bubbleMaxSize",r.maxPxSize*e)}},bind:function(){d&&h&&d.useProgram(h)},program:function(){return h},create:q,setUniform:u,setPMatrix:function(a){d&&h&&d.uniformMatrix4fv(e,!1,a)},setColor:function(a){d&&h&&d.uniform4f(w,a[0]/255,a[1]/255,a[2]/255,a[3])},setPointSize:function(a){d&&h&&d.uniform1f(r,a)},setSkipTranslation:function(a){d&&h&&d.uniform1i(F,!0===a?1:0)},setTexture:function(a){d&& +h&&d.uniform1i(W,a)},setDrawAsCircle:function(c){d&&h&&d.uniform1i(a,c?1:0)},reset:function(){d&&h&&(d.uniform1i(V,0),d.uniform1i(a,0))},setInverted:function(a){d&&h&&d.uniform1i(f,a)},destroy:function(){d&&h&&(d.deleteProgram(h),h=!1)}}}});t(b,"Extensions/Boost/WGLVBuffer.js",[],function(){return function(b,y,A){function m(){d&&(b.deleteBuffer(d),v=d=!1);u=0;n=A||2;x=[]}var d=!1,v=!1,n=A||2,q=!1,u=0,x;return{destroy:m,bind:function(){if(!d)return!1;b.vertexAttribPointer(v,n,b.FLOAT,!1,0,0)},data:x, +build:function(h,e,r){var w;x=h||[];if(!(x&&0!==x.length||q))return m(),!1;n=r||n;d&&b.deleteBuffer(d);q||(w=new Float32Array(x));d=b.createBuffer();b.bindBuffer(b.ARRAY_BUFFER,d);b.bufferData(b.ARRAY_BUFFER,q||w,b.STATIC_DRAW);v=b.getAttribLocation(y.program(),e);b.enableVertexAttribArray(v);return!0},render:function(h,e,r){var w=q?q.length:x.length;if(!d||!w)return!1;if(!h||h>w||0>h)h=0;if(!e||e>w)e=w;if(h>=e)return!1;b.drawArrays(b[(r||"points").toUpperCase()],h/n,(e-h)/n);return!0},allocate:function(b){u= +-1;q=new Float32Array(4*b)},push:function(b,e,d,w){q&&(q[++u]=b,q[++u]=e,q[++u]=d,q[++u]=w)}}}});t(b,"Extensions/Boost/WGLRenderer.js",[b["Core/Color/Color.js"],b["Extensions/Boost/WGLShader.js"],b["Extensions/Boost/WGLVBuffer.js"],b["Core/Globals.js"],b["Core/Utilities.js"]],function(b,y,A,m,d){var v=b.parse,n=m.doc,q=m.win,u=d.isNumber,x=d.isObject,h=d.merge,e=d.objectEach,r=d.pick;return function(d){function w(){return z.pixelRatio||q.devicePixelRatio||1}function G(a){if(a.isSeriesBoosting){var c= +!!a.options.stacking;var k=a.xData||a.options.xData||a.processedXData;c=(c?a.data:k||a.options.data).length;"treemap"===a.type?c*=12:"heatmap"===a.type?c*=6:fa[a.type]&&(c*=2);return c}return 0}function D(){g.clear(g.COLOR_BUFFER_BIT|g.DEPTH_BUFFER_BIT)}function F(a,c){function k(a){a&&(c.colorData.push(a[0]),c.colorData.push(a[1]),c.colorData.push(a[2]),c.colorData.push(a[3]))}function f(a,f,b,g,l){void 0===g&&(g=1);k(l);1===la||z.useGPUTranslations&&!c.skipTranslation||(a*=la,f*=la,g*=la);z.usePreallocated? +(Q.push(a,f,b?1:0,g),sa+=4):(M.push(a),M.push(f),M.push(b?la:0),M.push(g))}function b(){c.segments.length&&(c.segments[c.segments.length-1].to=M.length||sa)}function g(){c.segments.length&&c.segments[c.segments.length-1].from===(M.length||sa)||(b(),c.segments.push({from:M.length||sa}))}function l(a,c,b,g,l){k(l);f(a+b,c);k(l);f(a,c);k(l);f(a,c+g);k(l);f(a,c+g);k(l);f(a+b,c+g);k(l);f(a+b,c)}function e(a,k){z.useGPUTranslations||(c.skipTranslation=!0,a.x=y.toPixels(a.x,!0),a.y=D.toPixels(a.y,!0));k? +M=[a.x,a.y,0,2].concat(M):f(a.x,a.y,0,2)}var d=a.pointArrayMap&&"low,high"===a.pointArrayMap.join(","),r=a.chart,B=a.options,h=!!B.stacking,W=B.data,p=a.xAxis.getExtremes(),q=p.min,m=p.max;p=a.yAxis.getExtremes();var u=p.min,ba=p.max,n=a.xData||B.xData||a.processedXData,V=a.yData||B.yData||a.processedYData,G=a.zData||B.zData||a.processedZData,D=a.yAxis,y=a.xAxis,A=a.chart.plotWidth,t=!n||0===n.length,F=B.connectNulls;p=a.points||!1;var O=!1,L=!1,J,da,S=h?a.data:n||W,I={x:Number.MAX_VALUE,y:0},pa= +{x:-Number.MAX_VALUE,y:0},aa=0,U=!1,E,C,N,Ca,K=-1,ea=!1,P=!1,T,Sa="undefined"===typeof r.index,Da=!1,Ea=!1,H=!1,Qa=fa[a.type],Fa=!1,Ka=!0,La=!0,Ra=B.zoneAxis||"y",qa=B.zones||!1,R=!1,Ma=B.threshold,Ga=!1,la=w();if(!(B.boostData&&0c.node.levelDynamic)return 1;if(a.node.levelDynamicc.zMax&&(c.zMax=N[2]),N[2]c.zMax&&(c.zMax=G[K]),G[K]=q&&P<=m&&(Da=!0);ea&&ea>=q&&ea<=m&&(Ea=!0);d?(t&&(C=N.slice(1,3)),T=C[0], +C=C[1]):h&&(E=N.x,C=N.stackY,T=C-N.y);null!==u&&"undefined"!==typeof u&&null!==ba&&"undefined"!==typeof ba&&(Ka=C>=u&&C<=ba);E>m&&pa.xq&&(I.x=E,I.y=C);if(null===C&&F)return"continue";if(null===C||!Ka&&!Da&&!Ea)return g(),"continue";(P>=q||E>=q)&&(ea<=m||E<=m)&&(Fa=!0);if(!Fa&&!Da&&!Ea)return"continue";Ga&&E-ea>Ga&&g();if(qa){var b;qa.some(function(a,c){var f=qa[c-1];return"x"===Ra?"undefined"!==typeof a.value&&E<=a.value?(ra[c]&&(!f||E>=f.value)&&(b=ra[c]),!0):!1:"undefined"!== +typeof a.value&&C<=a.value?(ra[c]&&(!f||C>=f.value)&&(b=ra[c]),!0):!1});H=b||R||H}if(!z.useGPUTranslations&&(c.skipTranslation=!0,E=y.toPixels(E,!0),C=D.toPixels(C,!0),E>A&&"points"===c.drawMode))return"continue";c.hasMarkers&&Fa&&!1!==O&&(a.closestPointRangePx=Math.min(a.closestPointRangePx,Math.abs(E-O)));if(!z.useGPUTranslations&&!z.usePreallocated&&O&&1>Math.abs(E-O)&&L&&1>Math.abs(C-L))return z.debug.showSkipSummary&&++aa,"continue";if(Qa){J=T;if(!1===T||"undefined"===typeof T)J=0>C?C:0;d||h|| +(J=Math.max(null===Ma?u:Ma,u));z.useGPUTranslations||(J=D.toPixels(J,!0));f(E,J,0,0,H)}B.step&&!La&&f(E,L,0,2,H);f(E,C,0,"bubble"===a.type?Ca||1:2,H);O=E;L=C;U=!0;La=!1};K-Number.MAX_VALUE&&e(pa))}b()}}function a(){I=[];P.data=M=[];L=[];Q&&Q.destroy()}function f(a){if(l){var c=w();l.setUniform("xAxisTrans",a.transA*c);l.setUniform("xAxisMin", +a.min);l.setUniform("xAxisMinPad",a.minPixelPadding*c);l.setUniform("xAxisPointRange",a.pointRange);l.setUniform("xAxisLen",a.len*c);l.setUniform("xAxisPos",a.pos*c);l.setUniform("xAxisCVSCoord",!a.horiz);l.setUniform("xAxisIsLog",!!a.logarithmic);l.setUniform("xAxisReversed",!!a.reversed)}}function c(a){if(l){var c=w();l.setUniform("yAxisTrans",a.transA*c);l.setUniform("yAxisMin",a.min);l.setUniform("yAxisMinPad",a.minPixelPadding*c);l.setUniform("yAxisPointRange",a.pointRange);l.setUniform("yAxisLen", +a.len*c);l.setUniform("yAxisPos",a.pos*c);l.setUniform("yAxisCVSCoord",!a.horiz);l.setUniform("yAxisIsLog",!!a.logarithmic);l.setUniform("yAxisReversed",!!a.reversed)}}function W(a,c){l.setUniform("hasThreshold",a);l.setUniform("translatedThreshold",c)}function k(k){var e=w();if(k)O=k.chartWidth*e,t=k.chartHeight*e;else return!1;if(!(g&&O&&t&&l))return!1;z.debug.timeRendering&&console.time("gl rendering");g.canvas.width=O;g.canvas.height=t;l.bind();g.viewport(0,0,O,t);l.setPMatrix([2/O,0,0,0,0,-(2/ +t),0,0,0,0,-2,0,-1,1,-1,1]);12*((p.marker?p.marker.radius:10)||10));h=aa[h&&h.symbol||a.series.symbol]||aa.circle;if(0!== +a.segments.length&&a.segments[0].from!==a.segments[0].to){h.isReady&&(g.bindTexture(g.TEXTURE_2D,h.handle),l.setTexture(h.handle));k.styledMode?h=a.series.markerGroup&&a.series.markerGroup.getStyle("fill"):(h="points"===a.drawMode&&a.series.pointAttribs&&a.series.pointAttribs().fill||a.series.color,p.colorByPoint&&(h=a.series.chart.options.colors[d]));a.series.fillOpacity&&p.fillOpacity&&(h=(new b(h)).setOpacity(r(p.fillOpacity,1)).get());h=v(h).rgba;z.useAlpha||(h[3]=1);"lines"===a.drawMode&&z.useAlpha&& +1>h[3]&&(h[3]/=10);"add"===p.boostBlending?(g.blendFunc(g.SRC_ALPHA,g.ONE),g.blendEquation(g.FUNC_ADD)):"mult"===p.boostBlending||"multiply"===p.boostBlending?g.blendFunc(g.DST_COLOR,g.ZERO):"darken"===p.boostBlending?(g.blendFunc(g.ONE,g.ONE),g.blendEquation(g.FUNC_MIN)):g.blendFuncSeparate(g.SRC_ALPHA,g.ONE_MINUS_SRC_ALPHA,g.ONE,g.ONE_MINUS_SRC_ALPHA);l.reset();0=I.length?I.push(c):I[a.index]=c;F(a,c);z.debug.timeSeriesProcessing&&console.timeEnd("building "+a.type+" series")},setSize:function(a,c){O===a&&t===c||!l||(O=a,t=c,l.bind(),l.setPMatrix([2/O,0, +0,0,0,-(2/t),0,0,0,0,-2,0,-1,1,-1,1]))},inited:function(){return U},setThreshold:W,init:function(c,f){function k(a,c){var k={isReady:!1,texture:n.createElement("canvas"),handle:g.createTexture()},f=k.texture.getContext("2d");aa[a]=k;k.texture.width=512;k.texture.height=512;f.mozImageSmoothingEnabled=!1;f.webkitImageSmoothingEnabled=!1;f.msImageSmoothingEnabled=!1;f.imageSmoothingEnabled=!1;f.strokeStyle="rgba(255, 255, 255, 0)";f.fillStyle="#FFF";c(f);try{g.activeTexture(g.TEXTURE0),g.bindTexture(g.TEXTURE_2D, +k.handle),g.texImage2D(g.TEXTURE_2D,0,g.RGBA,g.RGBA,g.UNSIGNED_BYTE,k.texture),g.texParameteri(g.TEXTURE_2D,g.TEXTURE_WRAP_S,g.CLAMP_TO_EDGE),g.texParameteri(g.TEXTURE_2D,g.TEXTURE_WRAP_T,g.CLAMP_TO_EDGE),g.texParameteri(g.TEXTURE_2D,g.TEXTURE_MAG_FILTER,g.LINEAR),g.texParameteri(g.TEXTURE_2D,g.TEXTURE_MIN_FILTER,g.LINEAR),g.bindTexture(g.TEXTURE_2D,null),k.isReady=!0}catch(ca){}}var b=0,e=["webgl","experimental-webgl","moz-webgl","webkit-3d"];U=!1;if(!c)return!1;for(z.debug.timeSetup&&console.time("gl setup");b< +e.length&&!(g=c.getContext(e[b],{}));b++);if(g)f||a();else return!1;g.enable(g.BLEND);g.blendFunc(g.SRC_ALPHA,g.ONE_MINUS_SRC_ALPHA);g.disable(g.DEPTH_TEST);g.depthFunc(g.LESS);l=y(g);if(!l)return!1;Q=A(g,l);k("circle",function(a){a.beginPath();a.arc(256,256,256,0,2*Math.PI);a.stroke();a.fill()});k("square",function(a){a.fillRect(0,0,512,512)});k("diamond",function(a){a.beginPath();a.moveTo(256,0);a.lineTo(512,256);a.lineTo(256,512);a.lineTo(0,256);a.lineTo(256,0);a.fill()});k("triangle",function(a){a.beginPath(); +a.moveTo(0,512);a.lineTo(256,0);a.lineTo(512,512);a.lineTo(0,512);a.fill()});k("triangle-down",function(a){a.beginPath();a.moveTo(0,0);a.lineTo(256,512);a.lineTo(512,0);a.lineTo(0,0);a.fill()});U=!0;z.debug.timeSetup&&console.timeEnd("gl setup");return!0},render:p,settings:z,valid:function(){return!1!==g},clear:D,flush:a,setXAxis:f,setYAxis:c,data:M,gl:function(){return g},allocateBuffer:function(a){var c=0;z.usePreallocated&&(a.series.forEach(function(a){a.isSeriesBoosting&&(c+=G(a))}),Q.allocate(c))}, +destroy:function(){a();Q.destroy();l.destroy();g&&(e(aa,function(a){a.handle&&g.deleteTexture(a.handle)}),g.canvas.width=1,g.canvas.height=1)},setOptions:function(a){"pixelRatio"in a||(a.pixelRatio=1);h(!0,z,a)}}}});t(b,"Extensions/Boost/BoostAttach.js",[b["Core/Chart/Chart.js"],b["Extensions/Boost/WGLRenderer.js"],b["Core/Globals.js"],b["Core/Utilities.js"]],function(b,y,t,m){var d=t.doc,v=m.error,n;return function(q,m){var x=q.chartWidth,h=q.chartHeight,e=q,r=q.seriesGroup||m.group,w=d.implementation.hasFeature("www.http://w3.org/TR/SVG11/feature#Extensibility", +"1.1");e=q.isChartSeriesBoosting()?q:m;w=!1;n||(n=d.createElement("canvas"));e.renderTarget||(e.canvas=n,q.renderer.forExport||!w?(e.renderTarget=q.renderer.image("",0,0,x,h).addClass("highcharts-boost-canvas").add(r),e.boostClear=function(){e.renderTarget.attr({href:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII="})},e.boostCopy=function(){e.boostResizeTarget();e.renderTarget.attr({href:e.canvas.toDataURL("image/png")})}):(e.renderTargetFo= +q.renderer.createElement("foreignObject").add(r),e.renderTarget=d.createElement("canvas"),e.renderTargetCtx=e.renderTarget.getContext("2d"),e.renderTargetFo.element.appendChild(e.renderTarget),e.boostClear=function(){e.renderTarget.width=e.canvas.width;e.renderTarget.height=e.canvas.height},e.boostCopy=function(){e.renderTarget.width=e.canvas.width;e.renderTarget.height=e.canvas.height;e.renderTargetCtx.drawImage(e.canvas,0,0)}),e.boostResizeTarget=function(){x=q.chartWidth;h=q.chartHeight;(e.renderTargetFo|| +e.renderTarget).attr({x:0,y:0,width:x,height:h}).css({pointerEvents:"none",mixedBlendMode:"normal",opacity:1});e instanceof b&&e.markerGroup.translate(q.plotLeft,q.plotTop)},e.boostClipRect=q.renderer.clipRect(),(e.renderTargetFo||e.renderTarget).clip(e.boostClipRect),e instanceof b&&(e.markerGroup=e.renderer.g().add(r),e.markerGroup.translate(m.xAxis.pos,m.yAxis.pos)));e.canvas.width=x;e.canvas.height=h;e.boostClipRect.attr(q.getBoostClipRect(e));e.boostResizeTarget();e.boostClear();e.ogl||(e.ogl= +y(function(){e.ogl.settings.debug.timeBufferCopy&&console.time("buffer copy");e.boostCopy();e.ogl.settings.debug.timeBufferCopy&&console.timeEnd("buffer copy")}),e.ogl.init(e.canvas)||v("[highcharts boost] - unable to init WebGL renderer"),e.ogl.setOptions(q.options.boost||{}),e instanceof b&&e.ogl.allocateBuffer(q));e.ogl.setSize(x,h);return e.ogl}});t(b,"Extensions/Boost/BoostUtils.js",[b["Core/Globals.js"],b["Extensions/Boost/BoostableMap.js"],b["Extensions/Boost/BoostAttach.js"],b["Core/Utilities.js"]], +function(b,y,t,m){function d(){for(var b=[],e=0;e= +(r.options.boostThreshold||Number.MAX_VALUE)&&++h)}b.boostForceChartBoost=q&&(m===b.series.length&&0=y&&d<=u);if(null!==d&&e>=v&&e<=t&&k)if(a=m.toPixels(e,!0),V){if("undefined"===typeof Y||a===F){ba||(b=d);if("undefined"===typeof ca||d>na)na=d,ca=c;if("undefined"===typeof Y||bplease use a modern browser")});e(m.prototype,{getContext:function(){var a=this.chart,b=a.chartWidth,c=a.chartHeight,d=a.seriesGroup||this.group,k=this, +e=function(a,b,c,f,d,k,e){a.call(this,c,b,f,d,k,e)};a.isChartSeriesBoosting()&&(k=a,d=a.seriesGroup);var h=k.ctx;k.canvas||(k.canvas=q.createElement("canvas"),k.renderTarget=a.renderer.image("",0,0,b,c).addClass("highcharts-boost-canvas").add(d),k.ctx=h=k.canvas.getContext("2d"),a.inverted&&["moveTo","lineTo","rect","arc"].forEach(function(a){D(h,a,e)}),k.boostCopy=function(){k.renderTarget.attr({href:k.canvas.toDataURL("image/png")})},k.boostClear=function(){h.clearRect(0,0,k.canvas.width,k.canvas.height); +k===this&&k.renderTarget.attr({href:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII="})},k.boostClipRect=a.renderer.clipRect(),k.renderTarget.clip(k.boostClipRect));k.canvas.width!==b&&(k.canvas.width=b);k.canvas.height!==c&&(k.canvas.height=c);k.renderTarget.attr({x:0,y:0,width:b,height:c,style:"pointer-events: none",href:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII="}); +k.boostClipRect.attr(a.getBoostClipRect(k));return h},canvasToSVG:function(){this.chart.isChartSeriesBoosting()?this.boostClear&&this.boostClear():(this.boostCopy||this.chart.boostCopy)&&(this.boostCopy||this.chart.boostCopy)()},cvsLineTo:function(a,b,c){a.lineTo(b,c)},renderCanvas:function(){var a=this,b=a.options,c=a.chart,d=this.xAxis,k=this.yAxis,m=(c.options.boost||{}).timeRendering||!1,l=0,q=a.processedXData,x=a.processedYData,g=b.data,u=d.getExtremes(),D=u.min,M=u.max;u=k.getExtremes();var L= +u.min,P=u.max,U={},I,aa=!!a.sampling,fa=b.marker&&b.marker.radius,T=this.cvsDrawPoint,z=b.lineWidth?this.cvsLineTo:void 0,B=fa&&1>=fa?this.cvsMarkerSquare:this.cvsMarkerCircle,ba=this.cvsStrokeBatch||1E3,ta=!1!==b.enableMouseTracking,ka;u=b.threshold;var X=k.getThreshold(u),ma=w(u),ha=X,na=this.fill,Y=a.pointArrayMap&&"low,high"===a.pointArrayMap.join(","),ca=!!b.stacking,oa=a.cropStart||0;u=c.options.loading;var ua=a.requireSorting,ia,va=b.connectNulls,wa=!q,ya,za,ja,xa,Aa,Z=ca?a.data:q||g,Na=a.fillOpacity? +t.parse(a.color).setOpacity(G(b.fillOpacity,.75)).get():a.color,Ha=function(){na?(J.fillStyle=Na,J.fill()):(J.strokeStyle=a.color,J.lineWidth=b.lineWidth,J.stroke())},Ia=function(b,f,d,k){0===l&&(J.beginPath(),z&&(J.lineJoin="round"));c.scroller&&"highcharts-navigator-series"===a.options.className?(f+=c.scroller.top,d&&(d+=c.scroller.top)):f+=c.plotTop;b+=c.plotLeft;ia?J.moveTo(b,f):T?T(J,b,f,d,ka):z?z(J,b,f):B&&B.call(a,J,b,f,fa,k);l+=1;l===ba&&(Ha(),l=0);ka={clientX:b,plotY:f,yBottom:d}},Oa="x"=== +b.findNearestPointBy,Ja=this.xData||this.options.xData||this.processedXData||!1,Ba=function(a,b,f){Aa=Oa?a:a+","+b;ta&&!U[Aa]&&(U[Aa]=!0,c.inverted&&(a=d.len-a,b=k.len-b),Pa.push({x:Ja?Ja[oa+f]:!1,clientX:a,plotX:a,plotY:b,i:oa+f}))};this.renderTarget&&this.renderTarget.attr({href:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII="});(this.points||this.graph)&&this.destroyGraphics();a.plotGroup("group","series",a.visible?"visible":"hidden", +b.zIndex,c.seriesGroup);a.markerGroup=a.group;h(a,"destroy",function(){a.markerGroup=null});var Pa=this.points=[];var J=this.getContext();a.buildKDTree=y;this.boostClear&&this.boostClear();this.visible&&(99999=D&&g<=M&&(e=!0);l&&l>=D&&l<=M&&(h=!0);if(Y){wa&&(p=b.slice(1,3));var r=p[0];p=p[1]}else ca&&(n=b.x,p=b.stackY,r=p-b.y);b=null===p;ua||(q=p>=L&&p<=P);if(!b&&(n>=D&&n<=M&&q||e||h))if(n=Math.round(d.toPixels(n,!0)),aa){if("undefined"===typeof ja||n===I){Y||(r=p);if("undefined"===typeof xa|| +p>za)za=p,xa=f;if("undefined"===typeof ja||r=a.length?(b.y=Math.min(a[0].pos, +b.y),b.height=a[0].pos-this.plotTop+a[0].len):b.height=this.plotHeight);return b};m.prototype.getPoint=function(a){var b=a,c=this.xData||this.options.xData||this.processedXData||!1;!a||a instanceof this.pointClass||(b=(new this.pointClass).init(this,this.options.data[a.i],c?c[a.i]:void 0),b.category=w(this.xAxis.categories?this.xAxis.categories[b.x]:b.x,b.x),b.dist=a.dist,b.distX=a.distX,b.plotX=a.plotX,b.plotY=a.plotY,b.index=a.i,b.isInside=this.isPointInside(a));return b};y(m.prototype,"searchPoint", +function(a){return this.getPoint(a.apply(this,[].slice.call(arguments,1)))});y(A.prototype,"haloPath",function(a){var b=this.series,c=this.plotX,d=this.plotY,e=b.chart.inverted;b.isSeriesBoosting&&e&&(this.plotX=b.yAxis.len-d,this.plotY=b.xAxis.len-c);var h=a.apply(this,Array.prototype.slice.call(arguments,1));b.isSeriesBoosting&&e&&(this.plotX=c,this.plotY=d);return h});y(m.prototype,"markerAttribs",function(a,b){var c=b.plotX,d=b.plotY,e=this.chart.inverted;this.isSeriesBoosting&&e&&(b.plotX=this.yAxis.len- +d,b.plotY=this.xAxis.len-c);var f=a.apply(this,Array.prototype.slice.call(arguments,1));this.isSeriesBoosting&&e&&(b.plotX=c,b.plotY=d);return f});d(m,"destroy",function(){var a=this,b=a.chart;b.markerGroup===a.markerGroup&&(a.markerGroup=null);b.hoverPoints&&(b.hoverPoints=b.hoverPoints.filter(function(b){return b.series===a}));b.hoverPoint&&b.hoverPoint.series===a&&(b.hoverPoint=null)});y(m.prototype,"getExtremes",function(a){return this.isSeriesBoosting&&this.hasExtremes&&this.hasExtremes()?{}: +a.apply(this,Array.prototype.slice.call(arguments,1))});["translate","generatePoints","drawTracker","drawPoints","render"].forEach(function(a){function b(b){var c=this.options.stacking&&("translate"===a||"generatePoints"===a);if(!this.isSeriesBoosting||c||!G(this.chart)||"heatmap"===this.type||"treemap"===this.type||!u[this.type]||0===this.options.boostThreshold)b.call(this);else if(this[a+"Canvas"])this[a+"Canvas"]()}y(m.prototype,a,b);"translate"===a&&"column bar arearange columnrange heatmap treemap".split(" ").forEach(function(c){n[c]&& +y(n[c].prototype,a,b)})});y(m.prototype,"processData",function(a){function b(a){return c.forceCrop?!1:c.chart.isChartSeriesBoosting()||(a?a.length:0)>=(c.options.boostThreshold||Number.MAX_VALUE)}var c=this,d=this.options.data;G(this.chart)&&u[this.type]?(b(d)&&"heatmap"!==this.type&&"treemap"!==this.type&&!this.options.stacking&&this.hasExtremes&&this.hasExtremes(!0)||(a.apply(this,Array.prototype.slice.call(arguments,1)),d=this.processedXData),(this.isSeriesBoosting=b(d))?(d=void 0,this.options.data&& +this.options.data.length&&(d=this.getFirstValidPoint(this.options.data),r(d)||e(d)||h(12,!1,this.chart)),this.enterBoost()):this.exitBoost&&this.exitBoost()):a.apply(this,Array.prototype.slice.call(arguments,1))});d(m,"hide",function(){this.canvas&&this.renderTarget&&(this.ogl&&this.ogl.clear(),this.boostClear())});m.prototype.enterBoost=function(){this.alteredByBoost=[];["allowDG","directTouch","stickyTracking"].forEach(function(a){this.alteredByBoost.push({prop:a,val:this[a],own:Object.hasOwnProperty.call(this, +a)})},this);this.directTouch=this.allowDG=!1;this.finishedAnimating=this.stickyTracking=!0;this.labelBySeries&&(this.labelBySeries=this.labelBySeries.destroy())};m.prototype.exitBoost=function(){(this.alteredByBoost||[]).forEach(function(a){a.own?this[a.prop]=a.val:delete this[a.prop]},this);this.boostClear&&this.boostClear()};m.prototype.hasExtremes=function(a){var b=this.options,c=this.xAxis&&this.xAxis.options,d=this.yAxis&&this.yAxis.options,e=this.colorAxis&&this.colorAxis.options;return b.data.length> +(b.boostThreshold||Number.MAX_VALUE)&&r(d.min)&&r(d.max)&&(!a||r(c.min)&&r(c.max))&&(!e||r(e.min)&&r(e.max))};m.prototype.destroyGraphics=function(){var a=this,b=this,c=this.points,d,e;if(c)for(e=0;ea.to||d>a.from&&ka.from&&ka.from&&k>a.to&&ke&&b>=this.basePointRange&&(e=b),d=void 0;a--;)d&&!1!==d.visible||(d=c[a+1]),b=c[a],!1!==d.visible&&!1!==b.visible&&(d.x-b.x>e&&(d=(b.x+d.x)/2,c.splice(a+1,0,{isNull:!0,x:d}),g.stacking&&this.options.stacking&&(d=g.stacking.stacks[this.stackKey][d]=new f(g,g.options.stackLabels,!1,d,this.stack),d.total=0)), +d=b);return this.getGraphPath(c)}var w=[];h.compose=function(c,b){-1===w.indexOf(c)&&(w.push(c),c.keepProps.push("brokenAxis"),n(c,"init",C),n(c,"afterInit",v),n(c,"afterSetTickPositions",B),n(c,"afterSetOptions",A));if(-1===w.indexOf(b)){w.push(b);var g=b.prototype;g.drawBreaks=F;g.gappedPath=G;n(b,"afterGeneratePoints",D);n(b,"afterRender",E)}return c};var y=function(){function c(b){this.hasBreaks=!1;this.axis=b}c.isInBreak=function(b,c){var e=b.repeat||Infinity,a=b.from,d=b.to-b.from;c=c>=a?(c- +a)%e:e-(a-c)%e;return b.inclusive?c<=d:c=b)break;else a.to=b)break;else if(c.isInBreak(d,b)){e-=b-d.from;break}}return e};c.prototype.findBreakAt= +function(b,c){return l(c,function(c){return c.fromp;)q-=r;for(;q\u25cf {series.name}: {point.y}. Target: {point.target}
'}}); +return a}(c);t(a.prototype,{parallelArrays:["x","y","target"],pointArrayMap:["y","target"]});a.prototype.pointClass=b;d.registerSeriesType("bullet",a);"";return a});e(b,"masters/modules/bullet.src.js",[],function(){})}); +//# sourceMappingURL=bullet.js.map \ No newline at end of file diff --git a/docs/reference/libs/highcharts-10.2.0/modules/coloraxis.js b/docs/reference/libs/highcharts-10.2.0/modules/coloraxis.js new file mode 100644 index 0000000..8e06226 --- /dev/null +++ b/docs/reference/libs/highcharts-10.2.0/modules/coloraxis.js @@ -0,0 +1,33 @@ +/* + Highcharts JS v10.2.0 (2022-07-05) + + ColorAxis module + + (c) 2012-2021 Pawel Potaczek + + License: www.highcharts.com/license +*/ +(function(b){"object"===typeof module&&module.exports?(b["default"]=b,module.exports=b):"function"===typeof define&&define.amd?define("highcharts/modules/color-axis",["highcharts"],function(n){b(n);b.Highcharts=n;return b}):b("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(b){function n(b,h,t,p){b.hasOwnProperty(h)||(b[h]=p.apply(null,t),"function"===typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:h,module:b[h]}})))}b=b?b._modules:{};n(b, +"Core/Axis/Color/ColorAxisComposition.js",[b["Core/Color/Color.js"],b["Core/Utilities.js"]],function(b,h){var m=b.parse,p=h.addEvent,n=h.extend,y=h.merge,z=h.pick,r=h.splat,u;(function(b){function h(){var c=this,a=this.options;this.colorAxis=[];a.colorAxis&&(a.colorAxis=r(a.colorAxis),a.colorAxis.forEach(function(a,d){a.index=d;new k(c,a)}))}function u(a){var c=this,d=function(d){d=a.allItems.indexOf(d);-1!==d&&(c.destroyItem(a.allItems[d]),a.allItems.splice(d,1))},e=[],l,k;(this.chart.colorAxis|| +[]).forEach(function(a){(l=a.options)&&l.showInLegend&&(l.dataClasses&&l.visible?e=e.concat(a.getDataClassLegendSymbols()):l.visible&&e.push(a),a.series.forEach(function(a){if(!a.options.showInLegend||l.dataClasses)"point"===a.options.legendType?a.points.forEach(function(a){d(a)}):d(a)}))});for(k=e.length;k--;)a.allItems.unshift(e[k])}function t(a){a.visible&&a.item.legendColor&&a.item.legendSymbol.attr({fill:a.item.legendColor})}function v(){var a=this.chart.colorAxis;a&&a.forEach(function(a,d,c){a.update({}, +c)})}function x(){(this.chart.colorAxis&&this.chart.colorAxis.length||this.colorAttribs)&&this.translateColors()}function q(){var a=this.axisTypes;a?-1===a.indexOf("colorAxis")&&a.push("colorAxis"):this.axisTypes=["colorAxis"]}function B(a){var d=this,c=a?"show":"hide";d.visible=d.options.visible=!!a;["graphic","dataLabel"].forEach(function(a){if(d[a])d[a][c]()});this.series.buildKDTree()}function f(){var a=this,d=this.options.nullColor,c=this.colorAxis,e=this.colorKey;(this.data.length?this.data: +this.points).forEach(function(k){var f=k.getNestedProperty(e);(f=k.options.color||(k.isNull||null===k.value?d:c&&"undefined"!==typeof f?c.toColor(f,k):k.color||a.color))&&k.color!==f&&(k.color=f,"point"===a.options.legendType&&k.legendItem&&a.chart.legend.colorizeItem(k,k.visible))})}function a(a){var d=a.prototype.createAxis;a.prototype.createAxis=function(a,c){if("colorAxis"!==a)return d.apply(this,arguments);var e=new k(this,y(c.axis,{index:this[a].length,isX:!1}));this.isDirtyLegend=!0;this.axes.forEach(function(a){a.series= +[]});this.series.forEach(function(a){a.bindAxes();a.isDirtyData=!0});z(c.redraw,!0)&&this.redraw(c.animation);return e}}function d(){this.elem.attr("fill",m(this.start).tweenTo(m(this.end),this.pos),void 0,!0)}function e(){this.elem.attr("stroke",m(this.start).tweenTo(m(this.end),this.pos),void 0,!0)}var c=[],k;b.compose=function(l,g,b,w,m){k||(k=l);-1===c.indexOf(g)&&(c.push(g),l=g.prototype,l.collectionsWithUpdate.push("colorAxis"),l.collectionsWithInit.colorAxis=[l.addColorAxis],p(g,"afterGetAxes", +h),a(g));-1===c.indexOf(b)&&(c.push(b),g=b.prototype,g.fillSetter=d,g.strokeSetter=e);-1===c.indexOf(w)&&(c.push(w),p(w,"afterGetAllItems",u),p(w,"afterColorizeItem",t),p(w,"afterUpdate",v));-1===c.indexOf(m)&&(c.push(m),n(m.prototype,{optionalAxis:"colorAxis",translateColors:f}),n(m.prototype.pointClass.prototype,{setVisible:B}),p(m,"afterTranslate",x),p(m,"bindAxes",q))};b.pointSetVisible=B})(u||(u={}));return u});n(b,"Core/Axis/Color/ColorAxisDefaults.js",[],function(){return{lineWidth:0,minPadding:0, +maxPadding:0,gridLineWidth:1,tickPixelInterval:72,startOnTick:!0,endOnTick:!0,offset:0,marker:{animation:{duration:50},width:.01,color:"#999999"},labels:{overflow:"justify",rotation:0},minColor:"#e6ebf5",maxColor:"#003399",tickLength:5,showInLegend:!0}});n(b,"Core/Axis/Color/ColorAxis.js",[b["Core/Axis/Axis.js"],b["Core/Color/Color.js"],b["Core/Axis/Color/ColorAxisComposition.js"],b["Core/Axis/Color/ColorAxisDefaults.js"],b["Core/Globals.js"],b["Core/Legend/LegendSymbol.js"],b["Core/Series/SeriesRegistry.js"], +b["Core/Utilities.js"]],function(b,h,n,p,C,y,z,r){var m=this&&this.__extends||function(){var b=function(f,a){b=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,e){a.__proto__=e}||function(a,e){for(var c in e)e.hasOwnProperty(c)&&(a[c]=e[c])};return b(f,a)};return function(f,a){function d(){this.constructor=f}b(f,a);f.prototype=null===a?Object.create(a):(d.prototype=a.prototype,new d)}}(),v=h.parse,t=C.noop,A=z.series,D=r.extend,E=r.isNumber,x=r.merge,q=r.pick;h=function(b){function f(a, +d){var e=b.call(this,a,d)||this;e.beforePadding=!1;e.chart=void 0;e.coll="colorAxis";e.dataClasses=void 0;e.legendItem=void 0;e.legendItems=void 0;e.name="";e.options=void 0;e.stops=void 0;e.visible=!0;e.init(a,d);return e}m(f,b);f.compose=function(a,d,e,c){n.compose(f,a,d,e,c)};f.prototype.init=function(a,d){var e=a.options.legend||{},c=d.layout?"vertical"!==d.layout:"vertical"!==e.layout,k=d.visible;e=x(f.defaultColorAxisOptions,d,{showEmpty:!1,title:null,visible:e.enabled&&!1!==k});this.coll="colorAxis"; +this.side=d.side||c?2:1;this.reversed=d.reversed||!c;this.opposite=!c;b.prototype.init.call(this,a,e);this.userOptions.visible=k;d.dataClasses&&this.initDataClasses(d);this.initStops();this.horiz=c;this.zoomEnabled=!1};f.prototype.initDataClasses=function(a){var d=this.chart,e=this.options,c=a.dataClasses.length,k,b=0,f=d.options.chart.colorCount;this.dataClasses=k=[];this.legendItems=[];(a.dataClasses||[]).forEach(function(a,g){a=x(a);k.push(a);if(d.styledMode||!a.color)"category"===e.dataClassColor? +(d.styledMode||(g=d.options.colors,f=g.length,a.color=g[b]),a.colorIndex=b,b++,b===f&&(b=0)):a.color=v(e.minColor).tweenTo(v(e.maxColor),2>c?.5:g/(c-1))})};f.prototype.hasData=function(){return!!(this.tickPositions||[]).length};f.prototype.setTickPositions=function(){if(!this.dataClasses)return b.prototype.setTickPositions.call(this)};f.prototype.initStops=function(){this.stops=this.options.stops||[[0,this.options.minColor],[1,this.options.maxColor]];this.stops.forEach(function(a){a.color=v(a[1])})}; +f.prototype.setOptions=function(a){b.prototype.setOptions.call(this,a);this.options.crosshair=this.options.marker};f.prototype.setAxisSize=function(){var a=this.legendSymbol,d=this.chart,e=d.options.legend||{},c,b;a?(this.left=e=a.attr("x"),this.top=c=a.attr("y"),this.width=b=a.attr("width"),this.height=a=a.attr("height"),this.right=d.chartWidth-e-b,this.bottom=d.chartHeight-c-a,this.len=this.horiz?b:a,this.pos=this.horiz?e:c):this.len=(this.horiz?e.symbolWidth:e.symbolHeight)||f.defaultLegendLength}; +f.prototype.normalizedValue=function(a){this.logarithmic&&(a=this.logarithmic.log2lin(a));return 1-(this.max-a)/(this.max-this.min||1)};f.prototype.toColor=function(a,d){var e=this.dataClasses,c=this.stops,b;if(e)for(b=e.length;b--;){var f=e[b];var g=f.from;c=f.to;if(("undefined"===typeof g||a>=g)&&("undefined"===typeof c||a<=c)){var h=f.color;d&&(d.dataClass=b,d.colorIndex=f.colorIndex);break}}else{a=this.normalizedValue(a);for(b=c.length;b--&&!(a>c[b][0]););g=c[b]||c[b+1];c=c[b+1]||g;a=1-(c[0]- +a)/(c[0]-g[0]||1);h=g.color.tweenTo(c.color,a)}return h};f.prototype.getOffset=function(){var a=this.legendGroup,d=this.chart.axisOffset[this.side];if(a){this.axisParent=a;b.prototype.getOffset.call(this);var e=this.chart.legend;e.allItems.forEach(function(a){a instanceof f&&a.drawLegendSymbol(e,a)});e.render();this.chart.getMargins(!0);this.added||(this.added=!0,this.labelLeft=0,this.labelRight=this.width);this.chart.axisOffset[this.side]=d}};f.prototype.setLegendColor=function(){var a=this.reversed, +d=a?1:0;a=a?0:1;d=this.horiz?[d,0,a,0]:[0,a,0,d];this.legendColor={linearGradient:{x1:d[0],y1:d[1],x2:d[2],y2:d[3]},stops:this.stops}};f.prototype.drawLegendSymbol=function(a,d){var e=a.padding,c=a.options,b=this.horiz,l=q(c.symbolWidth,b?f.defaultLegendLength:12),g=q(c.symbolHeight,b?12:f.defaultLegendLength),h=q(c.labelPadding,b?16:30);c=q(c.itemDistance,10);this.setLegendColor();d.legendSymbol||(d.legendSymbol=this.chart.renderer.rect(0,a.baseline-11,l,g).attr({zIndex:1}).add(d.legendGroup));this.legendItemWidth= +l+e+(b?c:this.options.labels.x+this.maxLabelLength);this.legendItemHeight=g+e+(b?h:0)};f.prototype.setState=function(a){this.series.forEach(function(d){d.setState(a)})};f.prototype.setVisible=function(){};f.prototype.getSeriesExtremes=function(){var a=this.series,d=a.length,b;this.dataMin=Infinity;for(this.dataMax=-Infinity;d--;){var c=a[d];var f=c.colorKey=q(c.options.colorKey,c.colorKey,c.pointValKey,c.zoneAxis,"y");var l=c.pointArrayMap;var g=c[f+"Min"]&&c[f+"Max"];if(c[f+"Data"])var h=c[f+"Data"]; +else if(l){h=[];l=l.indexOf(f);var m=c.yData;if(0<=l&&m)for(b=0;bf+h&&(g=f+h+2);d.plotX=g;d.plotY=this.len-g;b.prototype.drawCrosshair.call(this,a,d);d.plotX=e;d.plotY=c;this.cross&&!this.cross.addedToColorAxis&&this.legendGroup&&(this.cross.addClass("highcharts-coloraxis-marker").add(this.legendGroup),this.cross.addedToColorAxis=!0,this.chart.styledMode||"object"!==typeof this.crosshair||this.cross.attr({fill:this.crosshair.color}))}};f.prototype.getPlotLinePath= +function(a){var d=this.left,e=a.translatedValue,c=this.top;return E(e)?this.horiz?[["M",e-4,c-6],["L",e+4,c-6],["L",e,c],["Z"]]:[["M",d,e],["L",d-6,e+6],["L",d-6,e-6],["Z"]]:b.prototype.getPlotLinePath.call(this,a)};f.prototype.update=function(a,d){var e=this.chart.legend;this.series.forEach(function(a){a.isDirtyData=!0});(a.dataClasses&&e.allItems||this.dataClasses)&&this.destroyItems();b.prototype.update.call(this,a,d);this.legendItem&&(this.setLegendColor(),e.colorizeItem(this,!0))};f.prototype.destroyItems= +function(){var a=this.chart;this.legendItem?a.legend.destroyItem(this):this.legendItems&&this.legendItems.forEach(function(d){a.legend.destroyItem(d)});a.isDirtyLegend=!0};f.prototype.destroy=function(){this.chart.isDirtyLegend=!0;this.destroyItems();b.prototype.destroy.apply(this,[].slice.call(arguments))};f.prototype.remove=function(a){this.destroyItems();b.prototype.remove.call(this,a)};f.prototype.getDataClassLegendSymbols=function(){var a=this,d=a.chart,b=a.legendItems,c=d.options.legend,f=c.valueDecimals, +h=c.valueSuffix||"",g;b.length||a.dataClasses.forEach(function(c,e){var k=c.from,m=c.to,l=d.numberFormatter,n=!0;g="";"undefined"===typeof k?g="< ":"undefined"===typeof m&&(g="> ");"undefined"!==typeof k&&(g+=l(k,f)+h);"undefined"!==typeof k&&"undefined"!==typeof m&&(g+=" - ");"undefined"!==typeof m&&(g+=l(m,f)+h);b.push(D({chart:d,name:g,options:{},drawLegendSymbol:y.drawRectangle,visible:!0,setState:t,isDataClass:!0,setVisible:function(){this.visible=n=a.visible=!n;a.series.forEach(function(a){a.points.forEach(function(a){a.dataClass=== +e&&a.setVisible(n)})});d.legend.colorizeItem(this,n)}},c))});return b};f.defaultColorAxisOptions=p;f.defaultLegendLength=200;f.keepProps=["legendGroup","legendItemHeight","legendItemWidth","legendItem","legendSymbol"];return f}(b);Array.prototype.push.apply(b.keepProps,h.keepProps);"";return h});n(b,"masters/modules/coloraxis.src.js",[b["Core/Globals.js"],b["Core/Axis/Color/ColorAxis.js"]],function(b,h){b.ColorAxis=h;h.compose(b.Chart,b.Fx,b.Legend,b.Series)})}); +//# sourceMappingURL=coloraxis.js.map \ No newline at end of file diff --git a/docs/reference/libs/highcharts-10.2.0/modules/current-date-indicator.js b/docs/reference/libs/highcharts-10.2.0/modules/current-date-indicator.js new file mode 100644 index 0000000..72996ba --- /dev/null +++ b/docs/reference/libs/highcharts-10.2.0/modules/current-date-indicator.js @@ -0,0 +1,14 @@ +/* + Highcharts Gantt JS v10.2.0 (2022-07-05) + + CurrentDateIndicator + + (c) 2010-2021 Lars A. V. Cabrera + + License: www.highcharts.com/license +*/ +(function(a){"object"===typeof module&&module.exports?(a["default"]=a,module.exports=a):"function"===typeof define&&define.amd?define("highcharts/modules/current-date-indicator",["highcharts"],function(b){a(b);a.Highcharts=b;return a}):a("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(a){function b(a,d,e,b){a.hasOwnProperty(d)||(a[d]=b.apply(null,e),"function"===typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:d,module:a[d]}})))}a=a?a._modules: +{};b(a,"Extensions/CurrentDateIndication.js",[a["Core/Axis/Axis.js"],a["Core/Axis/PlotLineOrBand/PlotLineOrBand.js"],a["Core/Utilities.js"]],function(a,b,e){var d=e.addEvent,f=e.merge;e=e.wrap;var g={color:"#ccd6eb",width:2,label:{format:"%a, %b %d %Y, %H:%M",formatter:function(a,c){return this.axis.chart.time.dateFormat(c||"",a)},rotation:0,style:{fontSize:"10px"}}};d(a,"afterSetOptions",function(){var a=this.options,c=a.currentDateIndicator;c&&(c="object"===typeof c?f(g,c):f(g),c.value=Date.now(), +c.className="highcharts-current-date-indicator",a.plotLines||(a.plotLines=[]),a.plotLines.push(c))});d(b,"render",function(){this.label&&this.label.attr({text:this.getLabelText(this.options.label)})});e(b.prototype,"getLabelText",function(a,c){var b=this.options;return b&&b.className&&-1!==b.className.indexOf("highcharts-current-date-indicator")&&b.label&&"function"===typeof b.label.formatter?(b.value=Date.now(),b.label.formatter.call(this,b.value,b.label.format)):a.call(this,c)})});b(a,"masters/modules/current-date-indicator.src.js", +[],function(){})}); +//# sourceMappingURL=current-date-indicator.js.map \ No newline at end of file diff --git a/docs/reference/libs/highcharts-10.2.0/modules/cylinder.js b/docs/reference/libs/highcharts-10.2.0/modules/cylinder.js new file mode 100644 index 0000000..f46adc6 --- /dev/null +++ b/docs/reference/libs/highcharts-10.2.0/modules/cylinder.js @@ -0,0 +1,20 @@ +/* + Highcharts JS v10.2.0 (2022-07-05) + + Highcharts cylinder module + + (c) 2010-2021 Kacper Madej + + License: www.highcharts.com/license +*/ +(function(a){"object"===typeof module&&module.exports?(a["default"]=a,module.exports=a):"function"===typeof define&&define.amd?define("highcharts/modules/cylinder",["highcharts","highcharts/highcharts-3d"],function(h){a(h);a.Highcharts=h;return a}):a("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(a){function h(a,d,l,b){a.hasOwnProperty(d)||(a[d]=b.apply(null,l),"function"===typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:d,module:a[d]}})))} +a=a?a._modules:{};h(a,"Series/Cylinder/CylinderPoint.js",[a["Core/Series/SeriesRegistry.js"],a["Core/Utilities.js"]],function(a,d){var l=this&&this.__extends||function(){var a=function(b,g){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,b){a.__proto__=b}||function(a,b){for(var g in b)b.hasOwnProperty(g)&&(a[g]=b[g])};return a(b,g)};return function(b,g){function d(){this.constructor=b}a(b,g);b.prototype=null===g?Object.create(g):(d.prototype=g.prototype,new d)}}();d=d.extend;a= +function(a){function b(){var b=null!==a&&a.apply(this,arguments)||this;b.options=void 0;b.series=void 0;return b}l(b,a);return b}(a.seriesTypes.column.prototype.pointClass);d(a.prototype,{shapeType:"cylinder"});return a});h(a,"Series/Cylinder/CylinderComposition.js",[a["Core/Color/Color.js"],a["Core/Globals.js"],a["Extensions/Math3D.js"],a["Core/Renderer/RendererRegistry.js"],a["Core/Utilities.js"]],function(a,d,l,b,h){var g=a.parse,m=d.charts,u=d.deg2rad,v=l.perspective;a=h.merge;var w=h.pick;b= +b.getRendererType().prototype;var n=b.cuboidPath,p=function(c){return!c.some(function(c){return"C"===c[0]})};h=a(b.elements3d.cuboid,{parts:["top","bottom","front","back"],pathType:"cylinder",fillSetter:function(c){this.singleSetterForParts("fill",null,{front:c,back:c,top:g(c).brighten(.1).get(),bottom:g(c).brighten(-.1).get()});this.color=this.fill=c;return this}});b.elements3d.cylinder=h;b.cylinder=function(c){return this.element3d("cylinder",c)};b.cylinderPath=function(c){var a=m[this.chartIndex], +e=n.call(this,c),f=!e.isTop,b=!e.isFront,d=this.getCylinderEnd(a,c);c=this.getCylinderEnd(a,c,!0);return{front:this.getCylinderFront(d,c),back:this.getCylinderBack(d,c),top:d,bottom:c,zIndexes:{top:f?3:0,bottom:f?0:3,front:b?2:1,back:b?1:2,group:e.zIndexes.group}}};b.getCylinderFront=function(c,a){c=c.slice(0,3);if(p(a)){var e=a[0];"M"===e[0]&&(c.push(a[2]),c.push(a[1]),c.push(["L",e[1],e[2]]))}else{e=a[0];var f=a[1];a=a[2];"M"===e[0]&&"C"===f[0]&&"C"===a[0]&&(c.push(["L",a[5],a[6]]),c.push(["C", +a[3],a[4],a[1],a[2],f[5],f[6]]),c.push(["C",f[3],f[4],f[1],f[2],e[1],e[2]]))}c.push(["Z"]);return c};b.getCylinderBack=function(c,a){var e=[];if(p(c)){var f=c[0],b=c[2];"M"===f[0]&&"L"===b[0]&&(e.push(["M",b[1],b[2]]),e.push(c[3]),e.push(["L",f[1],f[2]]))}else"C"===c[2][0]&&e.push(["M",c[2][5],c[2][6]]),e.push(c[3],c[4]);p(a)?(f=a[0],"M"===f[0]&&(e.push(["L",f[1],f[2]]),e.push(a[3]),e.push(a[2]))):(c=a[2],f=a[3],a=a[4],"C"===c[0]&&"C"===f[0]&&"C"===a[0]&&(e.push(["L",a[5],a[6]]),e.push(["C",a[3], +a[4],a[1],a[2],f[5],f[6]]),e.push(["C",f[3],f[4],f[1],f[2],c[5],c[6]])));e.push(["Z"]);return e};b.getCylinderEnd=function(a,b,e){var c=b.width;c=void 0===c?0:c;var d=b.height,g=void 0===d?0:d;d=b.alphaCorrection;var h=void 0===d?0:d;d=w(b.depth,c,0);var k=Math.min(c,d)/2;h=u*(a.options.chart.options3d.beta-90+h);e=(b.y||0)+(e?g:0);g=.5519*k;var l=c/2+(b.x||0),p=d/2+(b.z||0),n=[{x:0,y:e,z:k},{x:g,y:e,z:k},{x:k,y:e,z:g},{x:k,y:e,z:0},{x:k,y:e,z:-g},{x:g,y:e,z:-k},{x:0,y:e,z:-k},{x:-g,y:e,z:-k},{x:-k, +y:e,z:-g},{x:-k,y:e,z:0},{x:-k,y:e,z:g},{x:-g,y:e,z:k},{x:0,y:e,z:k}],m=Math.cos(h),t=Math.sin(h),q,r;n.forEach(function(a,c){q=a.x;r=a.z;n[c].x=q*m-r*t+l;n[c].z=r*m+q*t+p});a=v(n,a,!0);return 2.5>Math.abs(a[3].y-a[9].y)&&2.5>Math.abs(a[0].y-a[6].y)?this.toLinePath([a[0],a[3],a[6],a[9]],!0):this.getCurvedPath(a)};b.getCurvedPath=function(a){var c=[["M",a[0].x,a[0].y]],b=a.length-2,f;for(f=1;f(new Date).getFullYear()-2E3?d+1900:d+2E3;return Date.UTC(d,b[2]-1,+b[1])},alternative:"mm/dd/YY"},"mm/dd/YY":{regex:/^([0-9]{1,2})[\-\/\.]([0-9]{1,2})[\-\/\.]([0-9]{2})$/,parser:function(b){return b? +Date.UTC(+b[3]+2E3,b[1]-1,+b[2]):NaN}}};this.chart=f;this.chartOptions=g;this.options=b;this.rawColumns=[];this.init(b,g,f)}a.data=function(b,g,f){void 0===g&&(g={});return new a(b,g,f)};a.rowsToColumns=function(b){var g,f;if(b){var a=[];var d=b.length;for(g=0;gt||t>p?(++t,q=""):(!isNaN(parseFloat(q))&&isFinite(q)?(q=parseFloat(q),e("number")):isNaN(Date.parse(q))?e("string"):(q=q.replace(/\//g,"-"),e("date")),k.lengthn[","]?";":",";h.decimalPoint||(h.decimalPoint=g>a?".":",",d.decimalRegex=new RegExp("^(-?[0-9]+)"+h.decimalPoint+"([0-9]+)$"));return f}function e(b,g){var a=[],f=[],e=[],k=0,n=!1,c;if(!g||g>b.length)g=b.length;for(;kl[c]?"YY":"YYYY":12=l[c]?(e[c]="dd",n=!0):e[c].length||(e[c]="mm")))}if(n){for(c=0;cb)b=0;if(!m||m>=c.length)m=c.length-1;if(h.itemDelimiter)var v=h.itemDelimiter;else v= +null,v=a(c);var t=0;for(q=b;q<=m;q++)"#"===c[q][0]?t++:g(c[q],q-b-t);h.columnTypes&&0!==h.columnTypes.length||!l.length||!l[0].length||"date"!==l[0][1]||h.dateFormat||(h.dateFormat=e(k[0]));this.dataFound()}return k};a.prototype.parseTable=function(){var b=this.options,g=this.columns||[],a=b.startRow||0,e=b.endRow||Number.MAX_VALUE,d=b.startColumn||0,c=b.endColumn||Number.MAX_VALUE;b.table&&(b=b.table,"string"===typeof b&&(b=y.getElementById(b)),[].forEach.call(b.getElementsByTagName("tr"),function(b, +f){f>=a&&f<=e&&[].forEach.call(b.children,function(b,e){var k=g[e-d],h=1;if(("TD"===b.tagName||"TH"===b.tagName)&&e>=d&&e<=c)for(g[e-d]||(g[e-d]=[]),g[e-d][f-a]=b.innerHTML;f-a>=h&&void 0===k[f-a-h];)k[f-a-h]=null,h++})}),this.dataFound());return g};a.prototype.fetchLiveData=function(){function b(g){function k(c,k,l){function n(){d&&f.liveDataURL===c&&(a.liveDataTimeout=setTimeout(b,x))}if(!c||!/^(http|\/|\.\/|\.\.\/)/.test(c))return c&&e.error&&e.error("Invalid URL"),!1;g&&(clearTimeout(a.liveDataTimeout), +f.liveDataURL=c);F({url:c,dataType:l||"json",success:function(b){f&&f.series&&k(b);n()},error:function(b,a){3>++h&&n();return e.error&&e.error(a,b)}});return!0}k(c.csvURL,function(b){f.update({data:{csv:b}})},"text")||k(c.rowsURL,function(b){f.update({data:{rows:b}})})||k(c.columnsURL,function(b){f.update({data:{columns:b}})})}var a=this,f=this.chart,e=this.options,d=e.enablePolling,c=B(e),h=0,x=1E3*(e.dataRefreshRate||2);if(!t(e))return!1;1E3>x&&(x=1E3);delete e.csvURL;delete e.rowsURL;delete e.columnsURL; +b(!0);return t(e)};a.prototype.parseGoogleSpreadsheet=function(){function b(g){var d=["https://sheets.googleapis.com/v4/spreadsheets",c,"values",h(),"?alt=json&majorDimension=COLUMNS&valueRenderOption=UNFORMATTED_VALUE&dateTimeRenderOption=FORMATTED_STRING&key="+f.googleAPIKey].join("/");F({url:d,dataType:"json",success:function(d){g(d);f.enablePolling&&(a.liveDataTimeout=setTimeout(function(){b(g)},k))},error:function(b,a){return f.error&&f.error(a,b)}})}var a=this,f=this.options,c=f.googleSpreadsheetKey, +d=this.chart,k=Math.max(1E3*(f.dataRefreshRate||2),4E3),h=function(){if(f.googleSpreadsheetRange)return f.googleSpreadsheetRange;var b=("ABCDEFGHIJKLMNOPQRSTUVWXYZ".charAt(f.startColumn||0)||"A")+((f.startRow||0)+1),a="ABCDEFGHIJKLMNOPQRSTUVWXYZ".charAt(E(f.endColumn,-1))||"ZZ";z(f.endRow)&&(a+=f.endRow+1);return""+b+":".concat(a)};c&&(delete f.googleSpreadsheetKey,b(function(b){b=b.values;if(!b||0===b.length)return!1;var g=b.reduce(function(b,a){return Math.max(b,a.length)},0);b.forEach(function(b){for(var a= +0;ab[n+ +1])):(v&&v.length&&(t=this.parseDate(q)),g&&H(t)&&"float"!==p?(h[n]=q,b[n]=t,b.isDatetime=!0,"undefined"!==typeof b[n+1]&&(q=t>b[n+1],q!==r&&"undefined"!==typeof r&&(this.alternativeFormat?(this.dateFormat=this.alternativeFormat,n=b.length,this.alternativeFormat=this.dateFormats[this.dateFormat].alternative):b.unsorted=!0),r=q)):(b[n]=""===v?null:v,0!==n&&(b.isDatetime||b.isNumeric)&&(b.mixed=!0)))}g&&b.mixed&&(c[a]=f[a]);if(g&&r&&this.options.sort)for(a=0;a=c[0]);w++);for(w;w<=t;w++){for(;"undefined"!==typeof c[B+1]&&a[w]>=c[B+1]||w===t;){var q=c[B];e.dataGroupInfo={start:z?r:e.cropStart+r,length:n[0].length};var A=h.apply(e,n);e.pointClass&&!D(e.dataGroupInfo.options)&&(e.dataGroupInfo.options=C(e.pointClass.prototype.optionsToObject.call({series:e}, +e.options.data[e.cropStart+r])),v.forEach(function(a){delete e.dataGroupInfo.options[a]}));"undefined"!==typeof A&&(f.push(q),H.push(A),I.push(e.dataGroupInfo));r=w;for(q=0;q=b[0]){v=this.groupMap[0].start;B=this.groupMap[0].length;var C=void 0;p(v)&&p(B)&&(C=v+(B-1));b[0]={middle:b[0]+.5*n,end:b[0]+n,firstPoint:this.xData[0],lastPoint:C&&this.xData[C]}[y]}u&&"start"!==u&&n&&b[x]>=l-n&&(l=this.groupMap[this.groupMap.length-1].start,b[x]={middle:b[x]+.5*n,end:b[x]+n,firstPoint:l&&this.xData[l], +lastPoint:this.xData[this.xData.length-1]}[u])}for(l=1;lf.max){if(!D(f.options.max)&& +p(f.dataMax)&&f.max>=f.dataMax||f.max===f.dataMax)f.max=Math.max(e[e.length-1],f.max);f.dataMax=Math.max(e[e.length-1],f.dataMax)}}c.groupAll&&(this.allGroupedData=k,c=this.cropData(h,k,f.min,f.max,1),h=c.xData,k=c.yData,this.cropStart=c.start);this.processedXData=h;this.processedYData=k}else this.groupMap=null;this.hasGroupedData=d;this.currentDataGrouping=l;this.preventGraphAnimation=(m&&m.totalRange)!==(l&&l.totalRange)}};r.destroyGroupedData=function(){this.groupedData&&(this.groupedData.forEach(function(a, +b){a&&(this.groupedData[b]=a.destroy?a.destroy():null)},this),this.groupedData.length=0)};r.generatePoints=function(){S.apply(this);this.destroyGroupedData();this.groupedData=this.hasGroupedData?this.points:null};d.prototype.applyGrouping=function(a){var b=this,c=b.series;c.forEach(function(a){a.groupPixelWidth=void 0});c.forEach(function(c){c.groupPixelWidth=b.getGroupPixelWidth&&b.getGroupPixelWidth();c.groupPixelWidth&&(c.hasProcessed=!0);c.applyGrouping(!!a.hasExtemesChanged)})};d.prototype.getGroupPixelWidth= +function(){var a=this.series,b=a.length,c,h=0,e=!1,d;for(c=b;c--;)(d=a[c].options.dataGrouping)&&(h=Math.max(h,A(d.groupPixelWidth,x.groupPixelWidth)));for(c=b;c--;)if(d=a[c].options.dataGrouping)if(b=(a[c].processedXData||a[c].data).length,a[c].groupPixelWidth||b>this.chart.plotSizeX/h||b&&d.forced)e=!0;return e?h:0};d.prototype.setDataGrouping=function(a,b){var c;b=A(b,!0);a||(a={forced:!1,units:null});if(this instanceof d)for(c=this.series.length;c--;)this.series[c].update({dataGrouping:a},!1); +else this.chart.options.series.forEach(function(b){b.dataGrouping="boolean"===typeof a?a:C(a,b.dataGrouping)});this.ordinal&&(this.ordinal.slope=void 0);b&&this.chart.redraw()};g(d,"postProcessData",d.prototype.applyGrouping);g(M,"update",function(){if(this.dataGroup)return G(24,!1,this.series.chart),!1});g(N,"headerFormatter",function(a){var b=this.chart,c=b.time,d=a.labelConfig,e=d.series,g=e.tooltipOptions,k=e.options.dataGrouping,f=g.xDateFormat,m=e.xAxis,r=g[a.isFooter?"footerFormat":"headerFormat"]; +if(m&&"datetime"===m.options.type&&k&&p(d.key)){var t=e.currentDataGrouping;k=k.dateTimeLabelFormats||x.dateTimeLabelFormats;if(t)if(g=k[t.unitName],1===t.count)f=g[0];else{f=g[1];var l=g[2]}else!f&&k&&m.dateTime&&(f=m.dateTime.getXDateFormat(d.x,g.dateTimeLabelFormats));f=c.dateFormat(f,d.key);l&&(f+=c.dateFormat(l,d.key+t.totalRange-1));e.chart.styledMode&&(r=this.styledModeFormat(r));a.text=y(r,{point:R(d.point,{key:f}),series:e},b);a.preventDefault()}});g(F,"destroy",r.destroyGroupedData);g(F, +"afterSetOptions",function(a){a=a.options;var b=this.type,c=this.chart.options.plotOptions,d=O.defaultOptions.plotOptions[b].dataGrouping,e=this.useCommonDataGrouping&&x;if(c&&(K[b]||e)){d||(d=C(x,K[b]));var g=this.chart.rangeSelector;a.dataGrouping=C(e,d,c.series&&c.series.dataGrouping,c[b].dataGrouping,this.userOptions.dataGrouping,!a.isInternal&&g&&p(g.selected)&&g.buttonOptions[g.selected].dataGrouping)}});g(d,"afterSetScale",function(){this.series.forEach(function(a){a.hasProcessed=!1})});E.dataGrouping= +J;"";return J});z(d,"masters/modules/datagrouping.src.js",[d["Extensions/DataGrouping.js"]],function(d){return d})}); +//# sourceMappingURL=datagrouping.js.map \ No newline at end of file diff --git a/docs/reference/libs/highcharts-10.2.0/modules/debugger.js b/docs/reference/libs/highcharts-10.2.0/modules/debugger.js new file mode 100644 index 0000000..37c27cf --- /dev/null +++ b/docs/reference/libs/highcharts-10.2.0/modules/debugger.js @@ -0,0 +1,31 @@ +/* + Highcharts JS v10.2.0 (2022-07-05) + + Debugger module + + (c) 2012-2021 Torstein Honsi + + License: www.highcharts.com/license +*/ +(function(a){"object"===typeof module&&module.exports?(a["default"]=a,module.exports=a):"function"===typeof define&&define.amd?define("highcharts/modules/debugger",["highcharts"],function(b){a(b);a.Highcharts=b;return a}):a("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(a){function b(a,f,b,d){a.hasOwnProperty(f)||(a[f]=d.apply(null,b),"function"===typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:f,module:a[f]}})))}a=a?a._modules:{};b(a, +"Extensions/Debugger/ErrorMessages.js",[],function(){return{10:{title:"Can't plot zero or subzero values on a logarithmic axis",text:'

Can\'t plot zero or subzero values on a logarithmic axis

This error occurs in the following situations:

  • If a zero or subzero data value is added to a logarithmic axis
  • If the minimum of a logarithimic axis is set to 0 or less
  • If the threshold is set to 0 or less

Note: As of Highcharts 5.0.8 it\'s possible to bypass this error message by setting Axis.prototype.allowNegativeLog to true, and add custom conversion functions. View live demo. It is also possible to use a similar workaround for colorAxis. View live demo.

', +enduser:'

Can\'t plot zero or subzero values on a logarithmic axis

This error occurs in the following situations:

  • If a zero or subzero data value is added to a logarithmic axis
  • If the minimum of a logarithimic axis is set to 0 or less
  • If the threshold is set to 0 or less

As of Highcharts 5.0.8 it\'s possible to bypass this error message by setting Axis.prototype.allowNegativeLog to true and add custom conversion functions. ">View Live Demo. It is also possible to use a similar workaround for colorAxis. View live demo.

'}, +11:{title:"Can't link axes of different type",text:"

Can't link axes of different type

This error occurs when using the linkedTo option to link two axes of different types, for example a logarithmic axis to a linear axis. Highcharts can't link these because the calculation of ticks, extremes, padding etc. is different.

"},12:{title:"Highcharts expects point configuration to be numbers or arrays in turbo mode",text:'

Highcharts expects point configuration to be numbers or arrays in turbo mode

This error occurs if the series.data option contains object configurations and the number of points exceeds the turboThreshold. It can be fixed by either setting turboThreshold to a higher value, or changing the point configurations to numbers or arrays.

In boost mode, turbo mode is always on, which means only array of numbers or two dimensional arrays are allowed.

See plotOptions.series.turboThreshold

'}, +13:{title:"Rendering div not found",text:'

Rendering div not found

This error occurs if the chart.renderTo option is misconfigured so that Highcharts is unable to find the HTML element to render the chart in.

If using a DOM ID when creating the chart, make sure a node with the same ID exists somewhere in the DOM.

'},14:{title:"String value sent to series.data, expected Number",text:"

String value sent to series.data, expected Number

This happens if using a string as a data point, for example in a setup like this:

series: [{\n    data: ["3", "5", "1", "6"]\n}]

Highcharts expects numerical data values.

The most common reason for this error this is that data is parsed from CSV or from a XML source, and the implementer forgot to run parseFloat on the parsed value.

Note: For performance reasons internal type casting is not performed, and only the first value is checked (since 2.3).

"}, +15:{title:"Highcharts expects data to be sorted",text:"

Highcharts expects data to be sorted

This happens when creating a line series or a stock chart where the data is not sorted in ascending X order.

For performance reasons, Highcharts does not sort the data, instead it requires that the implementer pre-sorts the data.

"},16:{title:"Highcharts already defined in the page",text:"

Highcharts already defined in the page

This error happens if the Highcharts namespace already exists when loading Highcharts or Highstock.

This is caused by including Highcharts or Highstock more than once.

Keep in mind that the Highcharts.Chart constructor and all features of Highcharts are included in Highstock, so if using the Chart and StockChart constructors in combination, only the highstock.js file is required.

"}, +17:{title:"The requested series type does not exist",text:"

The requested series type does not exist

This error happens when setting chart.type or series.type to a series type that isn't defined in Highcharts. A typical reason may be that the module or extension where the series type is defined isn't included.

For example in order to create an arearange series, the highcharts-more.js file must be loaded.

"},18:{title:"The requested axis does not exist", +text:"

The requested axis does not exist

This error happens when setting a series' xAxis or yAxis property to point to an axis that does not exist.

"},19:{title:"Too many ticks",text:"

Too many ticks

This error happens when applying too many ticks to an axis, specifically when adding more ticks than the axis pixel length.

With default value this won't happen, but there are edge cases, for example when setting axis categories and xAxis.labels.step in combination with a long data range, when the axis is instructed to create a great number of ticks.

"}, +20:{title:"Can't add object point configuration to a long data series",text:"

Can't add object point configuration to a long data series

In Highstock, when trying to add a point using the object literal configuration syntax, it will only work when the number of data points is below the series' turboThreshold. Instead of the object syntax, use the Array syntax.

"},21:{title:"Can't find Proj4js library", +text:'

Can\'t find Proj4js library

Using latitude/longitude functionality in Highmaps requires the Proj4js library to be loaded.

'},22:{title:"Map does not support latitude/longitude",text:'

Map does not support latitude/longitude

The loaded map does not support latitude/longitude functionality. This is only supported with maps from the official Highmaps map collection from version 1.1.0 onwards. If you are using a custom map, consider using the Proj4js library to convert between projections.

'}, +23:{title:"Unsupported color format used for color interpolation",text:"

Unsupported color format used for color interpolation

Highcharts supports three color formats primarily: hex (#FFFFFF), rgb (rgba(255,255,255)) and rgba (rgba(255,255,255,1)). If any other format, like 3-digit colors (#FFF), named colors (white) or gradient structures are used in for example a heatmap, Highcharts will fail to interpolate and will instead use the end-color with no interpolation applied.

We've chosen to preserve this limitation in order to keep the weight of the implementation at a minimum.

"}, +24:{title:"Cannot run Point.update on a grouped point",text:"

Cannot run Point.update on a grouped point

Running Point.update in Highstock when a point is grouped by data grouping is not supported.

This is not supported because when data grouping is enabled, there won't be any references to the raw points, which is required by the Point.update function.

"},25:{title:"Can't find Moment.js library",text:'

Can\'t find Moment.js library

Using the global.timezone option requires the Moment.js library to be loaded.

'}, +26:{title:"WebGL not supported, and no fallback module included",text:"

WebGL not supported, and no fallback module included

This happens when the browser doesn't support WebGL,and the canvas fallback module (boost-canvas.js) hasn't been included OR if the fallback module was includedafter the boost module.

If a fallback is required, make sure to include boost-canvas.js, and that it's included before boost.js.

Please note that the fallback module is not intended as a fully-featured one. Rather, it's a minimal implementation of the WebGL counterpart.

"}, +27:{title:"This browser does not support SVG",text:"

This browser does not support SVG

This happens in old IE when the oldie.js module isn't loaded.

If compatibility with IE versions 6, 7 and 8 is required, add the module after loading highcharts.js. In a website context, it's a good idea to load it in a conditional comment to avoid traffic overhead and dead code in modern browsers:

<!--[if lt IE 9]>\n    <script src='https://code.highcharts.com/modules/oldie.js'></script>\n<![endif]-->
"}, +28:{title:"Fallback to export server disabled",text:'

Fallback to export server disabled

This happens when the offline export module encounters a chart that it can\'t export successfully, and the fallback to the online export server is disabled. The offline exporting module will fail for certain browsers, and certain features (e.g. exporting.allowHTML ), depending on the type of image exporting to. For a compatibility overview, see Client Side Export.

For very complex charts, it\'s possible that exporting fail in browsers that don\'t support Blob objects, due to data URL length limits. It\'s always recommended to define the exporting.error callback when disabling the fallback, so that details can be provided to the end-user if offline export isn\'t working for them.

'}, +29:{title:"Browser does not support WebAudio",text:"

Browser does not support WebAudio

This happens when you attempt to use the sonification module on a chart in a browser or environment that does not support the WebAudio API. This API is supported on all modern browsers, including Microsoft Edge, Google Chrome and Mozilla Firefox.

"},30:{title:"Invalid instrument",text:"

Invalid instrument

This happens when you try to use a sonification instrument that is not valid. If you are using a predefined instrument, make sure your spelling is correct.

"}, +31:{title:"Non-unique point or node id",text:"

Non-unique point or node id

This error occurs when using the same id for two or more points or nodes.

"},32:{title:"Deprecated function or property",text:'

Deprecated function or property

This error occurs when using a deprecated function or property. Consult the API documentation for alternatives, if no replacement is mentioned by the error itself.

'},33:{title:"Invalid attribute or tagName", +text:'

Invalid attribute or tagName

This error occurs if HTML in the chart configuration contains unknown tag names or attributes. Unknown tag names or attributes are those not present in the _allow lists_.

To fix the error, consider

  • Is your tag name or attribute spelled correctly? For example, lineargradient

would be blocked as it is a misspelling for linearGradient.

  • Is it allowed in Highcharts? For example, onclick attributes are blocked as

they pose a real security threat.

This error occurs because attributes and tag names are sanitized of potentially harmful content from the chart configuration before being added to the DOM. Consult the security documentation for more information.

'}}}); +b(a,"Extensions/Debugger/Debugger.js",[a["Core/Chart/Chart.js"],a["Extensions/Debugger/ErrorMessages.js"],a["Core/Globals.js"],a["Core/DefaultOptions.js"],a["Core/Utilities.js"]],function(a,b,k,d,h){var f=k.charts;d=d.setOptions;var l=h.addEvent,m=h.find,n=h.isNumber;d({chart:{displayErrors:!0}});l(k,"displayError",function(a){var c=a.chart||m(f.slice().reverse(),function(a){return!!a});if(c){var e=a.code,g=c.options.chart;a=c.renderer;c.errorElements&&c.errorElements.forEach(function(a){a&&a.destroy()}); +if(g&&g.displayErrors&&a){c.errorElements=[];e=n(e)?"Highcharts error #"+e+": "+b[e].text:e;g=c.chartWidth;var d=c.chartHeight;e=e.replace(/

(.*)<\/h1>/g,'
$1
').replace(/

/g,"").replace(/<\/p>/g,"
");c.errorElements[0]=a.rect(2,2,g-4,d-4).attr({"stroke-width":4,stroke:"#ff0000",zIndex:3}).add();c.errorElements[1]=a.label(e,0,0,"rect",void 0,void 0,void 0,void 0,"debugger").css({color:"#ffffff",width:g-16+"px",padding:0}).attr({fill:"rgba(255, 0, 0, 0.9)", +width:g,padding:8,zIndex:10}).add();c.errorElements[1].attr({y:d-c.errorElements[1].getBBox().height})}}});l(a,"beforeRedraw",function(){var a=this.errorElements;a&&a.length&&a.forEach(function(a){a.destroy()});delete this.errorElements})});b(a,"masters/modules/debugger.src.js",[a["Core/Globals.js"],a["Extensions/Debugger/ErrorMessages.js"]],function(a,b){a.errorMessages=b})}); +//# sourceMappingURL=debugger.js.map \ No newline at end of file diff --git a/docs/reference/libs/highcharts-10.2.0/modules/dependency-wheel.js b/docs/reference/libs/highcharts-10.2.0/modules/dependency-wheel.js new file mode 100644 index 0000000..b023105 --- /dev/null +++ b/docs/reference/libs/highcharts-10.2.0/modules/dependency-wheel.js @@ -0,0 +1,21 @@ +/* + Highcharts JS v10.2.0 (2022-07-05) + + Dependency wheel module + + (c) 2010-2021 Torstein Honsi + + License: www.highcharts.com/license +*/ +(function(b){"object"===typeof module&&module.exports?(b["default"]=b,module.exports=b):"function"===typeof define&&define.amd?define("highcharts/modules/dependency-wheel",["highcharts","highcharts/modules/sankey"],function(f){b(f);b.Highcharts=f;return b}):b("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(b){function f(b,h,f,e){b.hasOwnProperty(h)||(b[h]=e.apply(null,f),"function"===typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:h,module:b[h]}})))} +b=b?b._modules:{};f(b,"Series/DependencyWheel/DependencyWheelPoint.js",[b["Core/Series/SeriesRegistry.js"],b["Core/Utilities.js"]],function(b,f){var h=this&&this.__extends||function(){var b=function(d,a){b=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(b,a){b.__proto__=a}||function(b,a){for(var d in a)a.hasOwnProperty(d)&&(b[d]=a[d])};return b(d,a)};return function(d,a){function e(){this.constructor=d}b(d,a);d.prototype=null===a?Object.create(a):(e.prototype=a.prototype,new e)}}(); +return function(b){function d(){var a=null!==b&&b.apply(this,arguments)||this;a.angle=void 0;a.fromNode=void 0;a.index=void 0;a.linksFrom=void 0;a.linksTo=void 0;a.options=void 0;a.series=void 0;a.shapeArgs=void 0;a.toNode=void 0;return a}h(d,b);d.prototype.getDataLabelPath=function(b){var a=this.series.chart.renderer,d=this.shapeArgs,e=0>this.angle||this.angle>Math.PI,f=d.start||0,h=d.end||0;this.dataLabelPath||(this.dataLabelPath=a.arc({open:!0,longArc:Math.abs(Math.abs(f)-Math.abs(h))b.index){f=f.slice(0,c).reverse().concat(f.slice(c).reverse());var e=!0;break}e|| +f.reverse();for(c=0;cMath.PI&&(e=2*Math.PI-e);e*=k;ew-d.y;g--){var h=d.barX+(v?d.pointWidth/2-n/2:0);var p=a.yAxis.toPixels(g,!0)+f/2;a.options.crisp&&(h=Math.round(h)-t,p=Math.round(p)+t);h={x:h,y:p,width:Math.round(v?n:d.pointWidth),height:Math.round(n), +r:m};e[k]?e[k].animate(h):e[k]=b.symbol(u).attr(q(h,l)).add(d.graphic);e[k].isActive=!0;k--}}x(e,function(a,b){a.isActive?a.isActive=!1:(a.destroy(),delete a[b])})})};c.defaultOptions=m(a.defaultOptions,{itemPadding:.2,marker:{symbol:"circle",states:{hover:{},select:{}}}});return c}(a);q(b.prototype,{markerAttribs:void 0});c.registerSeriesType("dotplot",b);return b});c(a,"masters/modules/dotplot.src.js",[],function(){})}); +//# sourceMappingURL=dotplot.js.map \ No newline at end of file diff --git a/docs/reference/libs/highcharts-10.2.0/modules/drag-panes.js b/docs/reference/libs/highcharts-10.2.0/modules/drag-panes.js new file mode 100644 index 0000000..a62e938 --- /dev/null +++ b/docs/reference/libs/highcharts-10.2.0/modules/drag-panes.js @@ -0,0 +1,20 @@ +/* + Highstock JS v10.2.0 (2022-07-05) + + Drag-panes module + + (c) 2010-2021 Highsoft AS + Author: Kacper Madej + + License: www.highcharts.com/license +*/ +(function(a){"object"===typeof module&&module.exports?(a["default"]=a,module.exports=a):"function"===typeof define&&define.amd?define("highcharts/modules/drag-panes",["highcharts","highcharts/modules/stock"],function(e){a(e);a.Highcharts=e;return a}):a("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(a){function e(a,f,e,n){a.hasOwnProperty(f)||(a[f]=n.apply(null,e),"function"===typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:f,module:a[f]}})))} +a=a?a._modules:{};e(a,"Extensions/DragPanes.js",[a["Core/Globals.js"],a["Core/Axis/Axis.js"],a["Core/Axis/AxisDefaults.js"],a["Core/Pointer.js"],a["Core/Utilities.js"]],function(a,f,e,n,b){var x=a.hasTouch,h=b.addEvent,t=b.clamp,y=b.isNumber,z=b.merge,A=b.objectEach,v=b.relativeLength;b=b.wrap;var u=function(){function a(c){this.options=this.lastPos=this.controlLine=this.axis=void 0;this.init(c)}a.prototype.init=function(c,a){this.axis=c;this.options=c.options.resize;this.render();a||this.addMouseEvents()}; +a.prototype.render=function(){var c=this.axis,a=c.chart,d=this.options,w=d.x||0,b=d.y,l=t(c.top+c.height+b,a.plotTop,a.plotTop+a.plotHeight),m={};a.styledMode||(m={cursor:d.cursor,stroke:d.lineColor,"stroke-width":d.lineWidth,dashstyle:d.lineDashStyle});this.lastPos=l-b;this.controlLine||(this.controlLine=a.renderer.path().addClass("highcharts-axis-resizer"));this.controlLine.add(c.axisGroup);d=a.styledMode?this.controlLine.strokeWidth():d.lineWidth;m.d=a.renderer.crispLine([["M",c.left+w,l],["L", +c.left+c.width+w,l]],d);this.controlLine.attr(m)};a.prototype.addMouseEvents=function(){var c=this,a=c.controlLine.element,d=c.axis.chart.container,b=[],e,l,m;c.mouseMoveHandler=e=function(a){c.onMouseMove(a)};c.mouseUpHandler=l=function(a){c.onMouseUp(a)};c.mouseDownHandler=m=function(a){c.onMouseDown(a)};b.push(h(d,"mousemove",e),h(d.ownerDocument,"mouseup",l),h(a,"mousedown",m));x&&b.push(h(d,"touchmove",e),h(d.ownerDocument,"touchend",l),h(a,"touchstart",m));c.eventsToUnbind=b};a.prototype.onMouseMove= +function(a){a.touches&&0===a.touches[0].pageX||!this.grabbed||(this.hasDragged=!0,this.updateAxes(this.axis.chart.pointer.normalize(a).chartY-this.options.y))};a.prototype.onMouseUp=function(a){this.hasDragged&&this.updateAxes(this.axis.chart.pointer.normalize(a).chartY-this.options.y);this.grabbed=this.hasDragged=this.axis.chart.activeResizer=null};a.prototype.onMouseDown=function(a){this.axis.chart.pointer.reset(!1,0);this.grabbed=this.axis.chart.activeResizer=!0};a.prototype.updateAxes=function(a){var c= +this,d=c.axis.chart,b=c.options.controlledAxis,e=0===b.next.length?[d.yAxis.indexOf(c.axis)+1]:b.next;b=[c.axis].concat(b.prev);var l=[],m=!1,q=d.plotTop,f=d.plotHeight,h=q+f;a=t(a,q,h);var r=a-c.lastPos;1>r*r||([b,e].forEach(function(b,e){b.forEach(function(b,k){var g=(b=y(b)?d.yAxis[b]:e||k?d.get(b):b)&&b.options;if(g&&"navigator-y-axis"!==g.id){k=b.top;var n=Math.round(v(g.minLength,f));var p=Math.round(v(g.maxLength,f));e?(r=a-c.lastPos,g=Math.round(t(b.len-r,n,p)),k=b.top+r,k+g>h&&(p=h-g-k,a+= +p,k+=p),kh&&(g=f)),g===n&&(m=!0),l.push({axis:b,options:{top:100*(k-q)/f+"%",height:100*g/f+"%"}})):(g=Math.round(t(a-k,n,p)),g===p&&(m=!0),a=k+g,l.push({axis:b,options:{height:100*g/f+"%"}}))}})}),m||(l.forEach(function(a){a.axis.update(a.options,!1)}),d.redraw(!1)))};a.prototype.destroy=function(){var a=this;delete a.axis.resizer;this.eventsToUnbind&&this.eventsToUnbind.forEach(function(a){a()});a.controlLine.destroy();A(a,function(b,c){a[c]=null})};a.resizerOptions={minLength:"10%", +maxLength:"100%",resize:{controlledAxis:{next:[],prev:[]},enabled:!1,cursor:"ns-resize",lineColor:"#cccccc",lineDashStyle:"Solid",lineWidth:4,x:0,y:0}};return a}();f.keepProps.push("resizer");h(f,"afterRender",function(){var a=this.resizer,b=this.options.resize;b&&(b=!1!==b.enabled,a?b?a.init(this,!0):a.destroy():b&&(this.resizer=new u(this)))});h(f,"destroy",function(a){!a.keepEvents&&this.resizer&&this.resizer.destroy()});b(n.prototype,"runPointActions",function(a){this.chart.activeResizer||a.apply(this, +Array.prototype.slice.call(arguments,1))});b(n.prototype,"drag",function(a){this.chart.activeResizer||a.apply(this,Array.prototype.slice.call(arguments,1))});z(!0,e.defaultYAxisOptions,u.resizerOptions);a.AxisResizer=u;return a.AxisResizer});e(a,"masters/modules/drag-panes.src.js",[],function(){})}); +//# sourceMappingURL=drag-panes.js.map \ No newline at end of file diff --git a/docs/reference/libs/highcharts-10.2.0/modules/draggable-points.js b/docs/reference/libs/highcharts-10.2.0/modules/draggable-points.js new file mode 100644 index 0000000..cab8f52 --- /dev/null +++ b/docs/reference/libs/highcharts-10.2.0/modules/draggable-points.js @@ -0,0 +1,42 @@ +/* + Highcharts JS v10.2.0 (2022-07-05) + + (c) 2009-2021 Torstein Honsi + + License: www.highcharts.com/license +*/ +(function(e){"object"===typeof module&&module.exports?(e["default"]=e,module.exports=e):"function"===typeof define&&define.amd?define("highcharts/modules/draggable-points",["highcharts"],function(n){e(n);e.Highcharts=n;return e}):e("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(e){function n(e,p,n,w){e.hasOwnProperty(p)||(e[p]=w.apply(null,n),"function"===typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:p,module:e[p]}})))}e=e?e._modules: +{};n(e,"Extensions/DraggablePoints.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Chart/Chart.js"],e["Core/Globals.js"],e["Core/Series/Point.js"],e["Core/Series/Series.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(e,p,n,w,E,x,l){function F(a){return{left:"right",right:"left",top:"bottom",bottom:"top"}[a]}function M(a){var b=["draggableX","draggableY"],c;r(a.dragDropProps,function(a){a.optionName&&b.push(a.optionName)});for(c=b.length;c--;)if(a.options.dragDrop[b[c]])return!0} +function N(a){var b=a.series?a.series.length:0;if(a.hasCartesianSeries&&!a.polar)for(;b--;)if(a.series[b].options.dragDrop&&M(a.series[b]))return!0}function O(a){var b=a.series,c=b.options.dragDrop||{};a=a.options&&a.options.dragDrop;var d,f;r(b.dragDropProps,function(a){"x"===a.axis&&a.move?d=!0:"y"===a.axis&&a.move&&(f=!0)});return(c.draggableX&&d||c.draggableY&&f)&&!(a&&!1===a.draggableX&&!1===a.draggableY)&&b.yAxis&&b.xAxis}function A(a,b){return"undefined"===typeof a.chartX||"undefined"===typeof a.chartY? +b.pointer.normalize(a):a}function B(a,b,c,d){var f=b.map(function(b){return t(a,b,c,d)});return function(){f.forEach(function(a){a()})}}function P(a,b,c){var d=b.dragDropData.origin;b=d.chartX;d=d.chartY;var f=a.chartX;a=a.chartY;return Math.sqrt((f-b)*(f-b)+(a-d)*(a-d))>c}function Q(a,b,c){var d={chartX:a.chartX,chartY:a.chartY,guideBox:c&&{x:c.attr("x"),y:c.attr("y"),width:c.attr("width"),height:c.attr("height")},points:{}};b.forEach(function(b){var c={};r(b.series.dragDropProps,function(d,f){d= +b.series[d.axis+"Axis"];c[f]=b[f];c[f+"Offset"]=d.toPixels(b[f])-(d.horiz?a.chartX:a.chartY)});c.point=b;d.points[b.id]=c});return d}function R(a){var b=a.series,c=[],d=b.options.dragDrop.groupBy;b.isSeriesBoosting?b.options.data.forEach(function(a,d){c.push((new b.pointClass).init(b,a));c[c.length-1].index=d}):c=b.points;return a.options[d]?c.filter(function(b){return b.options[d]===a.options[d]}):[a]}function G(a,b){var c=R(b),d=b.series,f=d.chart,k;z(d.options.dragDrop&&d.options.dragDrop.liveRedraw, +!0)||(f.dragGuideBox=k=d.getGuideBox(c),f.setGuideBoxState("default",d.options.dragDrop.guideBox).add(d.group));f.dragDropData={origin:Q(a,c,k),point:b,groupedPoints:c,isDragging:!0}}function S(a,b){var c=a.point,d=q(c.series.options.dragDrop,c.options.dragDrop),f={},k=a.updateProp,e={};r(c.series.dragDropProps,function(a,b){if(!k||k===b&&a.resize&&(!a.optionName||!1!==d[a.optionName]))if(k||a.move&&("x"===a.axis&&d.draggableX||"y"===a.axis&&d.draggableY))f[b]=a});(k?[c]:a.groupedPoints).forEach(function(c){e[c.id]= +{point:c,newValues:c.getDropValues(a.origin,b,f)}});return e}function H(a,b){var c=a.dragDropData.newPoints;b=T(b);a.isDragDropAnimating=!0;r(c,function(a){a.point.update(a.newValues,!1)});a.redraw(b);setTimeout(function(){delete a.isDragDropAnimating;a.hoverPoint&&!a.dragHandles&&a.hoverPoint.showDragHandles()},b.duration)}function I(a){var b=a.series&&a.series.chart,c=b&&b.dragDropData;!b||!b.dragHandles||c&&(c.isDragging&&c.draggedPastSensitivity||c.isHoveringHandle===a.id)||b.hideDragHandles()} +function J(a){var b=0,c;for(c in a)Object.hasOwnProperty.call(a,c)&&b++;return b}function K(a){for(var b in a)if(Object.hasOwnProperty.call(a,b))return a[b]}function U(a,b){if(!b.zoomOrPanKeyPressed(a)){var c=b.dragDropData;var d=0;if(c&&c.isDragging&&c.point.series){var f=c.point;d=f.series.options.dragDrop;a.preventDefault();c.draggedPastSensitivity||(c.draggedPastSensitivity=P(a,b,z(f.options.dragDrop&&f.options.dragDrop.dragSensitivity,d&&d.dragSensitivity,2)));c.draggedPastSensitivity&&(c.newPoints= +S(c,a),b=c.newPoints,d=J(b),b=1===d?K(b):null,f.firePointEvent("drag",{origin:c.origin,newPoints:c.newPoints,newPoint:b&&b.newValues,newPointId:b&&b.point.id,numNewPoints:d,chartX:a.chartX,chartY:a.chartY},function(){var b=f.series,c=b.chart,d=c.dragDropData,e=q(b.options.dragDrop,f.options.dragDrop),g=e.draggableX,m=e.draggableY;b=d.origin;var h=a.chartX-b.chartX,C=a.chartY-b.chartY,v=h;d=d.updateProp;c.inverted&&(h=-C,C=-v);if(z(e.liveRedraw,!0))H(c,!1),f.showDragHandles();else if(d){g=h;c=C;v= +f.series;m=v.chart;d=m.dragDropData;e=v.dragDropProps[d.updateProp];var n=d.newPoints[f.id].newValues;var p="function"===typeof e.resizeSide?e.resizeSide(n,f):e.resizeSide;e.beforeResize&&e.beforeResize(m.dragGuideBox,n,f);m=m.dragGuideBox;v="x"===e.axis&&v.xAxis.reversed||"y"===e.axis&&v.yAxis.reversed?F(p):p;g="x"===e.axis?g-(d.origin.prevdX||0):0;c="y"===e.axis?c-(d.origin.prevdY||0):0;switch(v){case "left":var l={x:m.attr("x")+g,width:Math.max(1,m.attr("width")-g)};break;case "right":l={width:Math.max(1, +m.attr("width")+g)};break;case "top":l={y:m.attr("y")+c,height:Math.max(1,m.attr("height")-c)};break;case "bottom":l={height:Math.max(1,m.attr("height")+c)}}m.attr(l)}else c.dragGuideBox.translate(g?h:0,m?C:0);b.prevdX=h;b.prevdY=C}))}}}function D(a,b){var c=b.dragDropData;if(c&&c.isDragging&&c.draggedPastSensitivity&&c.point.series){var d=c.point,f=c.newPoints,e=J(f),g=1===e?K(f):null;b.dragHandles&&b.hideDragHandles();a.preventDefault();b.cancelClick=!0;d.firePointEvent("drop",{origin:c.origin, +chartX:a.chartX,chartY:a.chartY,newPoints:f,numNewPoints:e,newPoint:g&&g.newValues,newPointId:g&&g.point.id},function(){H(b)})}delete b.dragDropData;b.dragGuideBox&&(b.dragGuideBox.destroy(),delete b.dragGuideBox)}function V(a){var b=a.container,c=n.doc;N(a)&&(B(b,["mousedown","touchstart"],function(b){b=A(b,a);var c=a.hoverPoint,d=q(c&&c.series.options.dragDrop,c&&c.options.dragDrop),e=d.draggableX||!1;d=d.draggableY||!1;a.cancelClick=!1;!e&&!d||a.zoomOrPanKeyPressed(b)||a.hasDraggedAnnotation|| +(a.dragDropData&&a.dragDropData.isDragging?D(b,a):c&&O(c)&&(a.mouseIsDown=!1,G(b,c),c.firePointEvent("dragStart",b)))}),B(b,["mousemove","touchmove"],function(b){U(A(b,a),a)},{passive:!1}),t(b,"mouseleave",function(b){D(A(b,a),a)}),a.unbindDragDropMouseUp=B(c,["mouseup","touchend"],function(b){D(A(b,a),a)},{passive:!1}),a.hasAddedDragDropEvents=!0,t(a,"destroy",function(){a.unbindDragDropMouseUp&&a.unbindDragDropMouseUp()}))}var T=e.animObject,g=x.seriesTypes,t=l.addEvent,W=l.clamp,X=l.isNumber,q= +l.merge,r=l.objectEach,z=l.pick;e=function(a){a=a.shapeArgs||a.graphic.getBBox();var b=a.r||0,c=a.height/2;return[["M",0,b],["L",0,c-5],["A",1,1,0,0,0,0,c+5],["A",1,1,0,0,0,0,c-5],["M",0,c+5],["L",0,a.height-b]]};x=E.prototype.dragDropProps={x:{axis:"x",move:!0},y:{axis:"y",move:!0}};g.flags&&(g.flags.prototype.dragDropProps=x);var h=g.column.prototype.dragDropProps={x:{axis:"x",move:!0},y:{axis:"y",move:!1,resize:!0,beforeResize:function(a,b,c){var d=c.series.translatedThreshold,f=a.attr("y");b.y>= +c.series.options.threshold?(b=a.attr("height"),a.attr({height:Math.max(0,Math.round(b+(d?d-(f+b):0)))})):a.attr({y:Math.round(f+(d?d-f:0))})},resizeSide:function(a,b){var c=b.series.chart.dragHandles;a=a.y>=(b.series.options.threshold||0)?"top":"bottom";b=F(a);c[b]&&(c[b].destroy(),delete c[b]);return a},handlePositioner:function(a){var b=a.shapeArgs||a.graphic&&a.graphic.getBBox()||{},c=a.series.yAxis.reversed,d=a.series.options.threshold||0;a=a.y||0;return{x:b.x||0,y:!c&&a>=d||c&&a=b.low}}});g.boxplot&&(g.boxplot.prototype.dragDropProps={x:h.x,low:{optionName:"draggableLow",axis:"y",move:!0,resize:!0,resizeSide:"bottom",handlePositioner:function(a){return{x:a.shapeArgs.x||0,y:a.lowPlot}},handleFormatter:h.y.handleFormatter,propValidate:function(a,b){return a<=b.q1}},q1:{optionName:"draggableQ1",axis:"y",move:!0,resize:!0,resizeSide:"bottom",handlePositioner:function(a){return{x:a.shapeArgs.x||0,y:a.q1Plot}},handleFormatter:h.y.handleFormatter,propValidate:function(a, +b){return a<=b.median&&a>=b.low}},median:{axis:"y",move:!0},q3:{optionName:"draggableQ3",axis:"y",move:!0,resize:!0,resizeSide:"top",handlePositioner:function(a){return{x:a.shapeArgs.x||0,y:a.q3Plot}},handleFormatter:h.y.handleFormatter,propValidate:function(a,b){return a<=b.high&&a>=b.median}},high:{optionName:"draggableHigh",axis:"y",move:!0,resize:!0,resizeSide:"top",handlePositioner:function(a){return{x:a.shapeArgs.x||0,y:a.highPlot}},handleFormatter:h.y.handleFormatter,propValidate:function(a, +b){return a>=b.q3}}});g.ohlc&&(g.ohlc.prototype.dragDropProps={x:h.x,low:{optionName:"draggableLow",axis:"y",move:!0,resize:!0,resizeSide:"bottom",handlePositioner:function(a){return{x:a.shapeArgs.x,y:a.plotLow}},handleFormatter:h.y.handleFormatter,propValidate:function(a,b){return a<=b.open&&a<=b.close}},high:{optionName:"draggableHigh",axis:"y",move:!0,resize:!0,resizeSide:"top",handlePositioner:function(a){return{x:a.shapeArgs.x,y:a.plotHigh}},handleFormatter:h.y.handleFormatter,propValidate:function(a, +b){return a>=b.open&&a>=b.close}},open:{optionName:"draggableOpen",axis:"y",move:!0,resize:!0,resizeSide:function(a){return a.open>=a.close?"top":"bottom"},handlePositioner:function(a){return{x:a.shapeArgs.x,y:a.plotOpen}},handleFormatter:h.y.handleFormatter,propValidate:function(a,b){return a<=b.high&&a>=b.low}},close:{optionName:"draggableClose",axis:"y",move:!0,resize:!0,resizeSide:function(a){return a.open>=a.close?"bottom":"top"},handlePositioner:function(a){return{x:a.shapeArgs.x,y:a.plotClose}}, +handleFormatter:h.y.handleFormatter,propValidate:function(a,b){return a<=b.high&&a>=b.low}}});g.arearange&&(x=g.columnrange.prototype.dragDropProps,l=function(a){a=a.graphic?a.graphic.getBBox().width/2+1:4;return[["M",0-a,0],["a",a,a,0,1,0,2*a,0],["a",a,a,0,1,0,-2*a,0]]},g.arearange.prototype.dragDropProps={x:x.x,low:{optionName:"draggableLow",axis:"y",move:!0,resize:!0,resizeSide:"bottom",handlePositioner:function(a){return(a=a.lowerGraphic&&a.lowerGraphic.getBBox())?{x:a.x+a.width/2,y:a.y+a.height/ +2}:{x:-999,y:-999}},handleFormatter:l,propValidate:x.low.propValidate},high:{optionName:"draggableHigh",axis:"y",move:!0,resize:!0,resizeSide:"top",handlePositioner:function(a){return(a=a.upperGraphic&&a.upperGraphic.getBBox())?{x:a.x+a.width/2,y:a.y+a.height/2}:{x:-999,y:-999}},handleFormatter:l,propValidate:x.high.propValidate}});g.waterfall&&(g.waterfall.prototype.dragDropProps={x:h.x,y:q(h.y,{handleFormatter:function(a){return a.isSum||a.isIntermediateSum?null:h.y.handleFormatter(a)}})});if(g.xrange){var L= +function(a,b){var c=a.series,d=c.xAxis,f=c.yAxis,e=c.chart.inverted;b=d.toPixels(a[b],!0);var g=f.toPixels(a.y,!0);a=c.columnMetrics?c.columnMetrics.offset:-a.shapeArgs.height/2;e&&(b=d.len-b,g=f.len-g);return{x:Math.round(b),y:Math.round(g+a)}};e=g.xrange.prototype.dragDropProps={y:{axis:"y",move:!0},x:{optionName:"draggableX1",axis:"x",move:!0,resize:!0,resizeSide:"left",handlePositioner:function(a){return L(a,"x")},handleFormatter:e,propValidate:function(a,b){return a<=b.x2}},x2:{optionName:"draggableX2", +axis:"x",move:!0,resize:!0,resizeSide:"right",handlePositioner:function(a){return L(a,"x2")},handleFormatter:e,propValidate:function(a,b){return a>=b.x}}};g.gantt&&(g.gantt.prototype.dragDropProps={y:e.y,start:q(e.x,{optionName:"draggableStart",validateIndividualDrag:function(a){return!a.milestone}}),end:q(e.x2,{optionName:"draggableEnd",validateIndividualDrag:function(a){return!a.milestone}})})}"gauge pie sunburst wordcloud sankey histogram pareto vector windbarb treemap bellcurve sma map mapline".split(" ").forEach(function(a){g[a]&& +(g[a].prototype.dragDropProps=null)});var Y={"default":{className:"highcharts-drag-box-default",lineWidth:1,lineColor:"#888",color:"rgba(0, 0, 0, 0.1)",cursor:"move",zIndex:900}},Z={className:"highcharts-drag-handle",color:"#fff",lineColor:"rgba(0, 0, 0, 0.6)",lineWidth:1,zIndex:901};p.prototype.setGuideBoxState=function(a,b){var c=this.dragGuideBox;b=q(Y,b);a=q(b["default"],b[a]);return c.attr({className:a.className,stroke:a.lineColor,strokeWidth:a.lineWidth,fill:a.color,cursor:a.cursor,zIndex:a.zIndex}).css({pointerEvents:"none"})}; +w.prototype.getDropValues=function(a,b,c){var d=this,f=d.series,e=q(f.options.dragDrop,d.options.dragDrop),g={},h=a.points[d.id],u;for(u in c)if(Object.hasOwnProperty.call(c,u)){if("undefined"!==typeof l){var l=!1;break}l=!0}r(c,function(a,c){var m=h[c],k=f[a.axis+"Axis"];k=k.toValue((k.horiz?b.chartX:b.chartY)+h[c+"Offset"]);var y=a.axis.toUpperCase(),u=f[y.toLowerCase()+"Axis"].categories?1:0;u=z(e["dragPrecision"+y],u);var n=z(e["dragMin"+y],-Infinity);y=z(e["dragMax"+y],Infinity);u&&(k=Math.round(k/ +u)*u);k=W(k,n,y);l&&a.propValidate&&!a.propValidate(k,d)||"undefined"===typeof m||(g[c]=k)});return g};E.prototype.getGuideBox=function(a){var b=this.chart,c=Infinity,d=-Infinity,e=Infinity,g=-Infinity,h;a.forEach(function(a){var b=a.graphic&&a.graphic.getBBox()||a.shapeArgs;if(b){var f=void 0,k=a.x2;X(k)&&(f=a.series.xAxis.translate(k,!1,!1,!1,!0));k=!(b.width||b.height||b.x||b.y);h=!0;c=Math.min(a.plotX||0,f||0,k?Infinity:b.x||0,c);d=Math.max(a.plotX||0,f||0,(b.x||0)+(b.width||0),d);e=Math.min(a.plotY|| +0,k?Infinity:b.y||0,e);g=Math.max((b.y||0)+(b.height||0),g)}});return h?b.renderer.rect(c,e,d-c,g-e):b.renderer.g()};w.prototype.showDragHandles=function(){var a=this,b=a.series,c=b.chart,d=c.renderer,e=q(b.options.dragDrop,a.options.dragDrop);r(b.dragDropProps,function(f,g){var h=q(Z,f.handleOptions,e.dragHandle),k={"class":h.className,"stroke-width":h.lineWidth,fill:h.color,stroke:h.lineColor},l=h.pathFormatter||f.handleFormatter,m=f.handlePositioner,n=f.validateIndividualDrag?f.validateIndividualDrag(a): +!0;f.resize&&n&&f.resizeSide&&l&&(e["draggable"+f.axis.toUpperCase()]||e[f.optionName])&&!1!==e[f.optionName]&&(c.dragHandles||(c.dragHandles={group:d.g("drag-drop-handles").add(b.markerGroup||b.group)}),c.dragHandles.point=a.id,m=m(a),k.d=l=l(a),n=a.series.xAxis.categories?-.5:0,!l||m.xm.y||(k.cursor=h.cursor||("x"===f.axis!==!!c.inverted?"ew-resize":"ns-resize"),(h=c.dragHandles[f.optionName])||(h=c.dragHandles[f.optionName]=d.path().add(c.dragHandles.group)),h.translate(m.x,m.y).attr(k), +B(h.element,["touchstart","mousedown"],function(b){b=A(b,c);var d=a.series.chart;d.zoomOrPanKeyPressed(b)||(d.mouseIsDown=!1,G(b,a),d.dragDropData.updateProp=b.updateProp=g,a.firePointEvent("dragStart",b),b.stopPropagation(),b.preventDefault())},{passive:!1}),t(c.dragHandles.group.element,"mouseover",function(){c.dragDropData=c.dragDropData||{};c.dragDropData.isHoveringHandle=a.id}),B(c.dragHandles.group.element,["touchend","mouseout"],function(){var b=a.series.chart;b.dragDropData&&a.id===b.dragDropData.isHoveringHandle&& +delete b.dragDropData.isHoveringHandle;b.hoverPoint||I(a)})))})};p.prototype.hideDragHandles=function(){this.dragHandles&&(r(this.dragHandles,function(a,b){"group"!==b&&a.destroy&&a.destroy()}),this.dragHandles.group&&this.dragHandles.group.destroy&&this.dragHandles.group.destroy(),delete this.dragHandles)};t(w,"mouseOver",function(){var a=this;setTimeout(function(){var b=a.series,c=b&&b.chart,d=c&&c.dragDropData,e=c&&c.is3d&&c.is3d();!c||d&&d.isDragging&&d.draggedPastSensitivity||c.isDragDropAnimating|| +!b.options.dragDrop||e||(c.dragHandles&&c.hideDragHandles(),a.showDragHandles())},12)});t(w,"mouseOut",function(){var a=this;setTimeout(function(){a.series&&I(a)},10)});t(w,"remove",function(){var a=this.series.chart,b=a.dragHandles;b&&b.point===this.id&&a.hideDragHandles()});p.prototype.zoomOrPanKeyPressed=function(a){var b=this.userOptions.chart||{},c=b.panKey&&b.panKey+"Key";return a[b.zoomKey&&b.zoomKey+"Key"]||a[c]};t(p,"render",function(){this.hasAddedDragDropEvents||V(this)});""});n(e,"masters/modules/draggable-points.src.js", +[],function(){})}); +//# sourceMappingURL=draggable-points.js.map \ No newline at end of file diff --git a/docs/reference/libs/highcharts-10.2.0/modules/drilldown.js b/docs/reference/libs/highcharts-10.2.0/modules/drilldown.js new file mode 100644 index 0000000..f8b4cb7 --- /dev/null +++ b/docs/reference/libs/highcharts-10.2.0/modules/drilldown.js @@ -0,0 +1,46 @@ +/* + Highcharts JS v10.2.0 (2022-07-05) + + Highcharts Drilldown module + + Author: Torstein Honsi + License: www.highcharts.com/license + +*/ +(function(a){"object"===typeof module&&module.exports?(a["default"]=a,module.exports=a):"function"===typeof define&&define.amd?define("highcharts/modules/drilldown",["highcharts"],function(x){a(x);a.Highcharts=x;return a}):a("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(a){function x(a,w,m,q){a.hasOwnProperty(w)||(a[w]=q.apply(null,m),"function"===typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:w,module:a[w]}})))}a=a?a._modules:{};x(a, +"Extensions/Breadcrumbs.js",[a["Core/Chart/Chart.js"],a["Core/Globals.js"],a["Core/DefaultOptions.js"],a["Core/Utilities.js"],a["Core/FormatUtilities.js"]],function(a,w,m,q,p){var x=p.format;p=q.addEvent;var C=q.objectEach,G=q.extend,z=q.fireEvent,A=q.merge,y=q.pick,H=q.defined,E=q.isString;G(m.defaultOptions.lang,{mainBreadcrumb:"Main"});m=function(){function a(b,d){this.group=void 0;this.list=[];this.elementList={};this.isDirty=!0;this.level=0;this.options=void 0;d=A(b.options.drilldown&&b.options.drilldown.drillUpButton, +a.defaultBreadcrumbsOptions,b.options.navigation&&b.options.navigation.breadcrumbs,d);this.chart=b;this.options=d||{}}a.prototype.updateProperties=function(b){this.setList(b);this.setLevel();this.isDirty=!0};a.prototype.setList=function(b){this.list=b};a.prototype.setLevel=function(){this.level=this.list.length&&this.list.length-1};a.prototype.getLevel=function(){return this.level};a.prototype.getButtonText=function(b){var a=this.chart,e=this.options,h=a.options.lang,g=y(e.format,e.showFullPath?"{level.name}": +"\u2190 {level.name}");h=h&&y(h.drillUpText,h.mainBreadcrumb);b=e.formatter&&e.formatter(b)||x(g,{level:b.levelOptions},a)||"";(E(b)&&!b.length||"\u2190 "===b)&&H(h)&&(b=e.showFullPath?h:"\u2190 "+h);return b};a.prototype.redraw=function(){this.isDirty&&this.render();this.group&&this.group.align();this.isDirty=!1};a.prototype.render=function(){var a=this.chart,d=this.options;!this.group&&d&&(this.group=a.renderer.g("breadcrumbs-group").addClass("highcharts-no-tooltip highcharts-breadcrumbs").attr({zIndex:d.zIndex}).add()); +d.showFullPath?this.renderFullPathButtons():this.renderSingleButton();this.alignBreadcrumbsGroup()};a.prototype.renderFullPathButtons=function(){this.destroySingleButton();this.resetElementListState();this.updateListElements();this.destroyListElements()};a.prototype.renderSingleButton=function(){var a=this.chart,d=this.list,e=this.options.buttonSpacing;this.destroyListElements();var h=this.group?this.group.getBBox().width:e;d=d[d.length-2];!a.drillUpButton&&0c[c.length-1].level&&c.push({level:a.levelNumber+1,levelOptions:t({name:a.lowerSeries.name},a.pointOptions)})}));return c};m.prototype.drillUp=function(){if(this.drilldownLevels&&0!==this.drilldownLevels.length){r(this, +"beforeDrillUp");for(var a=this,c=a.drilldownLevels,b=c[c.length-1].levelNumber,l=c.length,d=a.series,v,e,n,g,h=function(c){d.forEach(function(a){a.options._ddSeriesId===c._ddSeriesId&&(f=a)});var f=f||a.addSeries(c,!1);f.type===n.type&&f.animateDrillupTo&&(f.animate=f.animateDrillupTo);c===e.seriesPurgedOptions&&(g=f)},k=a.drilldownLevels.length;l--;)if(e=c[l],e.levelNumber===b){c.pop();n=e.lowerSeries;if(!n.chart)for(v=d.length;v--;)if(d[v].options.id===e.lowerSeriesOptions.id&&d[v].options._levelNumber=== +b+1){n=d[v];break}n.xData=[];n.xAxis&&n.xAxis.names&&(0===k||l===k)&&(n.xAxis.names.length=0);e.levelSeriesOptions.forEach(h);r(a,"drillup",{seriesOptions:e.seriesPurgedOptions||e.seriesOptions});g.type===n.type&&(g.drilldownLevel=e,g.options.animation=a.options.drilldown.animation,n.animateDrillupFrom&&n.chart&&n.animateDrillupFrom(e));g.options._levelNumber=b;n.remove(!1);g.xAxis&&(v=e.oldExtremes,g.xAxis.setExtremes(v.xMin,v.xMax,!1),g.yAxis.setExtremes(v.yMin,v.yMax,!1));e.resetZoomButton&&(a.resetZoomButton= +e.resetZoomButton)}r(a,"afterDrillUp");this.redraw();this.ddDupes&&(this.ddDupes.length=0);r(a,"drillupall")}};g(m,"afterInit",function(){var a=this;a.drilldown={chart:a,fadeInGroup:d,update:function(c,f){t(!0,a.options.drilldown,c);D(f,!0)&&a.redraw()}}});g(m,"render",function(){(this.xAxis||[]).forEach(function(a){a.ddPoints={};a.series.forEach(function(c){var f,b=c.xData||[],d=c.points;for(f=0;fr?r=0:r>=e.len&&(r=e.len);0>p?p=0:p>=e.len&&(p=e.len);if(0>a.plotX||a.plotX>c.len)f=0;a.upperGraphic&&(c={y:a.y,zone:a.zone},a.y=a.high,a.zone=a.zone?a.getZone():void 0,h=n(g.connectorColor,d.connectorColor,g.color,a.zone?a.zone.color: +void 0,a.color),q(a,c));a={d:m.prototype.crispLine([["M",a.plotX,r],["L",a.plotX,p]],f,"ceil")};b.styledMode||(a.stroke=h,a["stroke-width"]=f,l&&(a.dashstyle=l));return a};e.prototype.drawConnector=function(a){var b=n(this.options.animationLimit,250);b=a.connector&&this.chart.pointCountb.userAgent.indexOf("Chrome"),z=t.URL||t.webkitURL|| +t;try{if(b.msSaveOrOpenBlob&&t.MSBlobBuilder){var g=new t.MSBlobBuilder;g.append(a);return g.getBlob("image/svg+xml")}if(!B)return z.createObjectURL(new t.Blob(["\ufeff"+a],{type:e}))}catch(Q){}}var w=this&&this.__spreadArray||function(a,e,k){if(k||2===arguments.length)for(var b=0,z=e.length,g;b")};a=this.getTableAST(a);return b(a)};d.prototype.getTableAST=function(a){var b=0,c=[],d=this.options,f=a?(1.1).toLocaleString()[1]: +".",g=x(d.exporting.useMultiLevelHeaders,!0);a=this.getDataRows(g);var l=g?a.shift():null,m=a.shift(),n=function(a,b,c,e){var d=x(e,"");b="highcharts-text"+(b?" "+b:"");"number"===typeof d?(d=d.toString(),","===f&&(d=d.replace(".",f)),b="highcharts-number"):e||(b="highcharts-empty");c=J({"class":b},c);return{tagName:a,attributes:c,textContent:d}};!1!==d.exporting.tableCaption&&c.push({tagName:"caption",attributes:{"class":"highcharts-table-caption"},textContent:x(d.exporting.tableCaption,d.title.text? +d.title.text:"Chart")});for(var p=0,r=a.length;pb&&(b=a[p].length);c.push(function(a,b,c){var e=[],f=0;c=c||b&&b.length;var l=0,h;if(h=g&&a&&b){a:if(h=a.length,b.length===h){for(;h--;)if(a[h]!==b[h]){h=!1;break a}h=!0}else h=!1;h=!h}if(h){for(h=[];f";K(m(a,"application/vnd.ms-excel")||"data:application/vnd.ms-excel;base64,"+t.btoa(unescape(encodeURIComponent(a))),this.getFilename()+".xls")};d.prototype.viewData=function(){this.toggleDataTable(!0)};d.prototype.hideData=function(){this.toggleDataTable(!1)};d.prototype.toggleDataTable=function(a){(a=x(a,!this.isDataTableVisible))&&!this.dataTableDiv&&(this.dataTableDiv=l.createElement("div"),this.dataTableDiv.className="highcharts-data-table",this.renderTo.parentNode.insertBefore(this.dataTableDiv, +this.renderTo.nextSibling));this.dataTableDiv&&(this.dataTableDiv.style.display=a?"block":"none",a&&(this.dataTableDiv.innerHTML=c.emptyHTML,(new c([this.getTableAST()])).addToDOM(this.dataTableDiv),G(this,"afterViewData",this.dataTableDiv)));this.isDataTableVisible=a;a=this.exportDivElements;var b=this.options.exporting,d=b&&b.buttons&&b.buttons.contextButton.menuItems;b=this.options.lang;C&&C.menuItemDefinitions&&b&&b.viewData&&b.hideData&&d&&a&&(a=a[d.indexOf("viewData")])&&c.setElementHTML(a, +this.isDataTableVisible?b.hideData:b.viewData)};var C=p().exporting;C&&(J(C.menuItemDefinitions,{downloadCSV:{textKey:"downloadCSV",onclick:function(){this.downloadCSV()}},downloadXLS:{textKey:"downloadXLS",onclick:function(){this.downloadXLS()}},viewData:{textKey:"viewData",onclick:function(){this.toggleDataTable()}}}),C.buttons&&C.buttons.contextButton.menuItems.push("separator","downloadCSV","downloadXLS","viewData"));n.map&&(n.map.prototype.exportKey="name");n.mapbubble&&(n.mapbubble.prototype.exportKey= +"name");n.treemap&&(n.treemap.prototype.exportKey="name")});m(a,"masters/modules/export-data.src.js",[],function(){})}); +//# sourceMappingURL=export-data.js.map \ No newline at end of file diff --git a/docs/reference/libs/highcharts-10.2.0/modules/exporting.js b/docs/reference/libs/highcharts-10.2.0/modules/exporting.js new file mode 100644 index 0000000..a40706f --- /dev/null +++ b/docs/reference/libs/highcharts-10.2.0/modules/exporting.js @@ -0,0 +1,48 @@ +/* + Highcharts JS v10.2.0 (2022-07-05) + + Exporting module + + (c) 2010-2021 Torstein Honsi + + License: www.highcharts.com/license +*/ +(function(a){"object"===typeof module&&module.exports?(a["default"]=a,module.exports=a):"function"===typeof define&&define.amd?define("highcharts/modules/exporting",["highcharts"],function(g){a(g);a.Highcharts=g;return a}):a("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(a){function g(a,e,t,n){a.hasOwnProperty(e)||(a[e]=n.apply(null,t),"function"===typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:e,module:a[e]}})))}a=a?a._modules:{};g(a, +"Extensions/FullScreen.js",[a["Core/Chart/Chart.js"],a["Core/Globals.js"],a["Core/Renderer/HTML/AST.js"],a["Core/Utilities.js"]],function(a,e,t,n){var l=n.addEvent,k=n.fireEvent;n=function(){function a(b){this.chart=b;this.isOpen=!1;b=b.renderTo;this.browserProps||("function"===typeof b.requestFullscreen?this.browserProps={fullscreenChange:"fullscreenchange",requestFullscreen:"requestFullscreen",exitFullscreen:"exitFullscreen"}:b.mozRequestFullScreen?this.browserProps={fullscreenChange:"mozfullscreenchange", +requestFullscreen:"mozRequestFullScreen",exitFullscreen:"mozCancelFullScreen"}:b.webkitRequestFullScreen?this.browserProps={fullscreenChange:"webkitfullscreenchange",requestFullscreen:"webkitRequestFullScreen",exitFullscreen:"webkitExitFullscreen"}:b.msRequestFullscreen&&(this.browserProps={fullscreenChange:"MSFullscreenChange",requestFullscreen:"msRequestFullscreen",exitFullscreen:"msExitFullscreen"}))}a.prototype.close=function(){var b=this,c=b.chart,a=c.options.chart;k(c,"fullscreenClose",null, +function(){if(b.isOpen&&b.browserProps&&c.container.ownerDocument instanceof Document)c.container.ownerDocument[b.browserProps.exitFullscreen]();b.unbindFullscreenEvent&&(b.unbindFullscreenEvent=b.unbindFullscreenEvent());c.setSize(b.origWidth,b.origHeight,!1);b.origWidth=void 0;b.origHeight=void 0;a.width=b.origWidthOption;a.height=b.origHeightOption;b.origWidthOption=void 0;b.origHeightOption=void 0;b.isOpen=!1;b.setButtonText()})};a.prototype.open=function(){var b=this,c=b.chart,a=c.options.chart; +k(c,"fullscreenOpen",null,function(){a&&(b.origWidthOption=a.width,b.origHeightOption=a.height);b.origWidth=c.chartWidth;b.origHeight=c.chartHeight;if(b.browserProps){var k=l(c.container.ownerDocument,b.browserProps.fullscreenChange,function(){b.isOpen?(b.isOpen=!1,b.close()):(c.setSize(null,null,!1),b.isOpen=!0,b.setButtonText())}),e=l(c,"destroy",k);b.unbindFullscreenEvent=function(){k();e()};var p=c.renderTo[b.browserProps.requestFullscreen]();if(p)p["catch"](function(){alert("Full screen is not supported inside a frame.")})}})}; +a.prototype.setButtonText=function(){var b=this.chart,c=b.exportDivElements,a=b.options.exporting,k=a&&a.buttons&&a.buttons.contextButton.menuItems;b=b.options.lang;a&&a.menuItemDefinitions&&b&&b.exitFullscreen&&b.viewFullscreen&&k&&c&&(c=c[k.indexOf("viewFullscreen")])&&t.setElementHTML(c,this.isOpen?b.exitFullscreen:a.menuItemDefinitions.viewFullscreen.text||b.viewFullscreen)};a.prototype.toggle=function(){this.isOpen?this.close():this.open()};return a}();e.Fullscreen=n;l(a,"beforeRender",function(){this.fullscreen= +new e.Fullscreen(this)});"";return e.Fullscreen});g(a,"Core/Chart/ChartNavigationComposition.js",[],function(){var a;(function(a){a.compose=function(a){a.navigation||(a.navigation=new e(a));return a};var e=function(){function a(a){this.updates=[];this.chart=a}a.prototype.addUpdate=function(a){this.chart.navigation.updates.push(a)};a.prototype.update=function(a,k){var e=this;this.updates.forEach(function(b){b.call(e.chart,a,k)})};return a}();a.Additions=e})(a||(a={}));return a});g(a,"Extensions/Exporting/ExportingDefaults.js", +[a["Core/Globals.js"]],function(a){a=a.isTouchDevice;return{exporting:{type:"image/png",url:"https://export.highcharts.com/",pdfFont:{normal:void 0,bold:void 0,bolditalic:void 0,italic:void 0},printMaxWidth:780,scale:2,buttons:{contextButton:{className:"highcharts-contextbutton",menuClassName:"highcharts-contextmenu",symbol:"menu",titleKey:"contextButtonTitle",menuItems:"viewFullscreen printChart separator downloadPNG downloadJPEG downloadPDF downloadSVG".split(" ")}},menuItemDefinitions:{viewFullscreen:{textKey:"viewFullscreen", +onclick:function(){this.fullscreen.toggle()}},printChart:{textKey:"printChart",onclick:function(){this.print()}},separator:{separator:!0},downloadPNG:{textKey:"downloadPNG",onclick:function(){this.exportChart()}},downloadJPEG:{textKey:"downloadJPEG",onclick:function(){this.exportChart({type:"image/jpeg"})}},downloadPDF:{textKey:"downloadPDF",onclick:function(){this.exportChart({type:"application/pdf"})}},downloadSVG:{textKey:"downloadSVG",onclick:function(){this.exportChart({type:"image/svg+xml"})}}}}, +lang:{viewFullscreen:"View in full screen",exitFullscreen:"Exit from full screen",printChart:"Print chart",downloadPNG:"Download PNG image",downloadJPEG:"Download JPEG image",downloadPDF:"Download PDF document",downloadSVG:"Download SVG vector image",contextButtonTitle:"Chart context menu"},navigation:{buttonOptions:{symbolSize:14,symbolX:12.5,symbolY:10.5,align:"right",buttonSpacing:3,height:22,verticalAlign:"top",width:24,symbolFill:"#666666",symbolStroke:"#666666",symbolStrokeWidth:3,theme:{padding:5}}, +menuStyle:{border:"1px solid ".concat("#999999"),background:"#ffffff",padding:"5px 0"},menuItemStyle:{padding:"0.5em 1em",color:"#333333",background:"none",fontSize:a?"14px":"11px",transition:"background 250ms, color 250ms"},menuItemHoverStyle:{background:"#335cad",color:"#ffffff"}}}});g(a,"Extensions/Exporting/ExportingSymbols.js",[],function(){var a;(function(a){function e(a,e,b,c){return[["M",a,e+2.5],["L",a+b,e+2.5],["M",a,e+c/2+.5],["L",a+b,e+c/2+.5],["M",a,e+c-1.5],["L",a+b,e+c-1.5]]}function l(a, +e,b,c){a=c/3-2;c=[];return c=c.concat(this.circle(b-a,e,a,a),this.circle(b-a,e+a+4,a,a),this.circle(b-a,e+2*(a+4),a,a))}var g=[];a.compose=function(a){-1===g.indexOf(a)&&(g.push(a),a=a.prototype.symbols,a.menu=e,a.menuball=l.bind(a))}})(a||(a={}));return a});g(a,"Core/HttpUtilities.js",[a["Core/Globals.js"],a["Core/Utilities.js"]],function(a,e){var l=a.doc,g=e.createElement,z=e.discardElement,k=e.merge,p=e.objectEach,b={ajax:function(a){var b={json:"application/json",xml:"application/xml",text:"text/plain", +octet:"application/octet-stream"},c=new XMLHttpRequest;if(!a.url)return!1;c.open((a.type||"get").toUpperCase(),a.url,!0);a.headers&&a.headers["Content-Type"]||c.setRequestHeader("Content-Type",b[a.dataType||"json"]||b.text);p(a.headers,function(a,b){c.setRequestHeader(b,a)});a.responseType&&(c.responseType=a.responseType);c.onreadystatechange=function(){if(4===c.readyState){if(200===c.status){if("blob"!==a.responseType){var b=c.responseText;if("json"===a.dataType)try{b=JSON.parse(b)}catch(x){if(x instanceof +Error){a.error&&a.error(c,x);return}}}return a.success&&a.success(b,c)}a.error&&a.error(c,c.responseText)}};a.data&&"string"!==typeof a.data&&(a.data=JSON.stringify(a.data));c.send(a.data)},getJSON:function(a,e){b.ajax({url:a,success:e,dataType:"json",headers:{"Content-Type":"text/plain"}})},post:function(a,b,e){var c=g("form",k({method:"post",action:a,enctype:"multipart/form-data"},e),{display:"none"},l.body);p(b,function(a,b){g("input",{type:"hidden",name:b,value:a},void 0,c)});c.submit();z(c)}}; +"";return b});g(a,"Extensions/Exporting/Exporting.js",[a["Core/Renderer/HTML/AST.js"],a["Core/Chart/Chart.js"],a["Core/Chart/ChartNavigationComposition.js"],a["Core/DefaultOptions.js"],a["Extensions/Exporting/ExportingDefaults.js"],a["Extensions/Exporting/ExportingSymbols.js"],a["Core/Globals.js"],a["Core/HttpUtilities.js"],a["Core/Utilities.js"]],function(a,e,g,n,z,k,p,b,c){e=n.defaultOptions;var l=p.doc,t=p.SVG_NS,A=p.win,x=c.addEvent,v=c.css,C=c.createElement,J=c.discardElement,D=c.extend,N=c.find, +E=c.fireEvent,O=c.isObject,q=c.merge,P=c.objectEach,y=c.pick,Q=c.removeEvent,R=c.uniqueKey,F;(function(e){function n(a){var d=this,b=d.renderer,c=q(d.options.navigation.buttonOptions,a),e=c.onclick,m=c.menuItems,r=c.symbolSize||12;d.btnCount||(d.btnCount=0);d.exportDivElements||(d.exportDivElements=[],d.exportSVGElements=[]);if(!1!==c.enabled&&c.theme){var f=c.theme,I;d.styledMode||(f.fill=y(f.fill,"#ffffff"),f.stroke=y(f.stroke,"none"));e?I=function(a){a&&a.stopPropagation();e.call(d,a)}:m&&(I=function(a){a&& +a.stopPropagation();d.contextMenu(u.menuClassName,m,u.translateX,u.translateY,u.width,u.height,u);u.setState(2)});c.text&&c.symbol?f.paddingLeft=y(f.paddingLeft,30):c.text||D(f,{width:c.width,height:c.height,padding:0});d.styledMode||(f["stroke-linecap"]="round",f.fill=y(f.fill,"#ffffff"),f.stroke=y(f.stroke,"none"));var u=b.button(c.text,0,0,I,f).addClass(a.className).attr({title:y(d.options.lang[c._titleKey||c.titleKey],"")});u.menuClassName=a.menuClassName||"highcharts-menu-"+d.btnCount++;if(c.symbol){var l= +b.symbol(c.symbol,c.symbolX-r/2,c.symbolY-r/2,r,r,{width:r,height:r}).addClass("highcharts-button-symbol").attr({zIndex:1}).add(u);d.styledMode||l.attr({stroke:c.symbolStroke,fill:c.symbolFill,"stroke-width":c.symbolStrokeWidth||1})}u.add(d.exportingGroup).align(D(c,{width:u.width,x:y(c.x,d.buttonOffset)}),!0,"spacingBox");d.buttonOffset+=(u.width+c.buttonSpacing)*("right"===c.align?-1:1);d.exportSVGElements.push(u,l)}}function z(){if(this.printReverseInfo){var a=this.printReverseInfo,c=a.childNodes, +b=a.origDisplay;a=a.resetParams;this.moveContainers(this.renderTo);[].forEach.call(c,function(a,d){1===a.nodeType&&(a.style.display=b[d]||"")});this.isPrinting=!1;a&&this.setSize.apply(this,a);delete this.printReverseInfo;G=void 0;E(this,"afterPrint")}}function F(){var a=l.body,c=this.options.exporting.printMaxWidth,b={childNodes:a.childNodes,origDisplay:[],resetParams:void 0};this.isPrinting=!0;this.pointer.reset(null,0);E(this,"beforePrint");c&&this.chartWidth>c&&(b.resetParams=[this.options.chart.width, +void 0,!1],this.setSize(c,void 0,!1));[].forEach.call(b.childNodes,function(a,d){1===a.nodeType&&(b.origDisplay[d]=a.style.display,a.style.display="none")});this.moveContainers(a);this.printReverseInfo=b}function S(a){a.renderExporting();x(a,"redraw",a.renderExporting);x(a,"destroy",a.destroyExport)}function T(d,b,e,H,K,m,r){var f=this,w=f.options.navigation,B=f.chartWidth,g=f.chartHeight,p="cache-"+d,k=Math.max(K,m),h=f[p];if(!h){f.exportContextMenu=f[p]=h=C("div",{className:d},{position:"absolute", +zIndex:1E3,padding:k+"px",pointerEvents:"auto"},f.fixedDiv||f.container);var q=C("ul",{className:"highcharts-menu"},{listStyle:"none",margin:0,padding:0},h);f.styledMode||v(q,D({MozBoxShadow:"3px 3px 10px #888",WebkitBoxShadow:"3px 3px 10px #888",boxShadow:"3px 3px 10px #888"},w.menuStyle));h.hideMenu=function(){v(h,{display:"none"});r&&r.setState(0);f.openMenu=!1;v(f.renderTo,{overflow:"hidden"});v(f.container,{overflow:"hidden"});c.clearTimeout(h.hideTimer);E(f,"exportMenuHidden")};f.exportEvents.push(x(h, +"mouseleave",function(){h.hideTimer=A.setTimeout(h.hideMenu,500)}),x(h,"mouseenter",function(){c.clearTimeout(h.hideTimer)}),x(l,"mouseup",function(a){f.pointer.inClass(a.target,d)||h.hideMenu()}),x(h,"click",function(){f.openMenu&&h.hideMenu()}));b.forEach(function(d){"string"===typeof d&&(d=f.options.exporting.menuItemDefinitions[d]);if(O(d,!0)){var b=void 0;d.separator?b=C("hr",void 0,void 0,q):("viewData"===d.textKey&&f.isDataTableVisible&&(d.textKey="hideData"),b=C("li",{className:"highcharts-menu-item", +onclick:function(a){a&&a.stopPropagation();h.hideMenu();d.onclick&&d.onclick.apply(f,arguments)}},void 0,q),a.setElementHTML(b,d.text||f.options.lang[d.textKey]),f.styledMode||(b.onmouseover=function(){v(this,w.menuItemHoverStyle)},b.onmouseout=function(){v(this,w.menuItemStyle)},v(b,D({cursor:"pointer"},w.menuItemStyle||{}))));f.exportDivElements.push(b)}});f.exportDivElements.push(q,h);f.exportMenuWidth=h.offsetWidth;f.exportMenuHeight=h.offsetHeight}b={display:"block"};e+f.exportMenuWidth>B?b.right= +B-e-K-k+"px":b.left=e-k+"px";H+m+f.exportMenuHeight>g&&"top"!==r.alignOptions.verticalAlign?b.bottom=g-H-k+"px":b.top=H+m-k+"px";v(h,b);v(f.renderTo,{overflow:""});v(f.container,{overflow:""});f.openMenu=!0;E(f,"exportMenuShown")}function U(a){var d=a?a.target:this,b=d.exportSVGElements,e=d.exportDivElements;a=d.exportEvents;var l;b&&(b.forEach(function(a,c){a&&(a.onclick=a.ontouchstart=null,l="cache-"+a.menuClassName,d[l]&&delete d[l],b[c]=a.destroy())}),b.length=0);d.exportingGroup&&(d.exportingGroup.destroy(), +delete d.exportingGroup);e&&(e.forEach(function(a,d){a&&(c.clearTimeout(a.hideTimer),Q(a,"mouseleave"),e[d]=a.onmouseout=a.onmouseover=a.ontouchstart=a.onclick=null,J(a))}),e.length=0);a&&(a.forEach(function(a){a()}),a.length=0)}function V(a,c){c=this.getSVGForExport(a,c);a=q(this.options.exporting,a);b.post(a.url,{filename:a.filename?a.filename.replace(/\//g,"-"):this.getFilename(),type:a.type,width:a.width||0,scale:a.scale,svg:c},a.formAttributes)}function W(){this.styledMode&&this.inlineStyles(); +return this.container.innerHTML}function X(){var a=this.userOptions.title&&this.userOptions.title.text,b=this.options.exporting.filename;if(b)return b.replace(/\//g,"-");"string"===typeof a&&(b=a.toLowerCase().replace(/<\/?[^>]+(>|$)/g,"").replace(/[\s_]+/g,"-").replace(/[^a-z0-9\-]/g,"").replace(/^[\-]+/g,"").replace(/[\-]+/g,"-").substr(0,24).replace(/[\-]+$/g,""));if(!b||5>b.length)b="chart";return b}function Y(a){var b,d=q(this.options,a);d.plotOptions=q(this.userOptions.plotOptions,a&&a.plotOptions); +d.time=q(this.userOptions.time,a&&a.time);var c=C("div",null,{position:"absolute",top:"-9999em",width:this.chartWidth+"px",height:this.chartHeight+"px"},l.body),e=this.renderTo.style.width;var m=this.renderTo.style.height;e=d.exporting.sourceWidth||d.chart.width||/px$/.test(e)&&parseInt(e,10)||(d.isGantt?800:600);m=d.exporting.sourceHeight||d.chart.height||/px$/.test(m)&&parseInt(m,10)||400;D(d.chart,{animation:!1,renderTo:c,forExport:!0,renderer:"SVGRenderer",width:e,height:m});d.exporting.enabled= +!1;delete d.data;d.series=[];this.series.forEach(function(a){b=q(a.userOptions,{animation:!1,enableMouseTracking:!1,showCheckbox:!1,visible:a.visible});b.isInternal||d.series.push(b)});var g={};this.axes.forEach(function(a){a.userOptions.internalKey||(a.userOptions.internalKey=R());a.options.isInternal||(g[a.coll]||(g[a.coll]=!0,d[a.coll]=[]),d[a.coll].push(q(a.userOptions,{visible:a.visible})))});var f=new this.constructor(d,this.callback);a&&["xAxis","yAxis","series"].forEach(function(d){var b= +{};a[d]&&(b[d]=a[d],f.update(b))});this.axes.forEach(function(a){var d=N(f.axes,function(d){return d.options.internalKey===a.userOptions.internalKey}),b=a.getExtremes(),c=b.userMin;b=b.userMax;d&&("undefined"!==typeof c&&c!==d.min||"undefined"!==typeof b&&b!==d.max)&&d.setExtremes(c,b,!0,!1)});m=f.getChartHTML();E(this,"getSVG",{chartCopy:f});m=this.sanitizeSVG(m,d);d=null;f.destroy();J(c);return m}function Z(a,b){var d=this.options.exporting;return this.getSVG(q({chart:{borderRadius:0}},d.chartOptions, +b,{exporting:{sourceWidth:a&&a.sourceWidth||d.sourceWidth,sourceHeight:a&&a.sourceHeight||d.sourceHeight}}))}function aa(a){return a.replace(/([A-Z])/g,function(a,b){return"-"+b.toLowerCase()})}function ba(){function a(d){var e={},f,w;if(r&&1===d.nodeType&&-1===ca.indexOf(d.nodeName)){var l=A.getComputedStyle(d,null);var m="svg"===d.nodeName?{}:A.getComputedStyle(d.parentNode,null);if(!g[d.nodeName]){k=r.getElementsByTagName("svg")[0];var h=r.createElementNS(d.namespaceURI,d.nodeName);k.appendChild(h); +g[d.nodeName]=q(A.getComputedStyle(h,null));"text"===d.nodeName&&delete g.text.fill;k.removeChild(h)}for(var B in l)if(p.isFirefox||p.isMS||p.isSafari||Object.hasOwnProperty.call(l,B)){var t=l[B],n=B;h=f=!1;if(c.length){for(w=c.length;w--&&!f;)f=c[w].test(n);h=!f}"transform"===n&&"none"===t&&(h=!0);for(w=b.length;w--&&!h;)h=b[w].test(n)||"function"===typeof t;h||m[n]===t&&"svg"!==d.nodeName||g[d.nodeName][n]===t||(L&&-1===L.indexOf(n)?"parentRule"!==n&&(e[n]=t):t&&d.setAttribute(aa(n),t))}v(d,e); +"svg"===d.nodeName&&d.setAttribute("stroke-width","1px");"text"!==d.nodeName&&[].forEach.call(d.children||d.childNodes,a)}}var b=da,c=e.inlineWhitelist,g={},k,m=l.createElement("iframe");v(m,{width:"1px",height:"1px",visibility:"hidden"});l.body.appendChild(m);var r=m.contentWindow&&m.contentWindow.document;r&&r.body.appendChild(r.createElementNS(t,"svg"));a(this.container.querySelector("svg"));k.parentNode.removeChild(k);m.parentNode.removeChild(m)}function ea(a){(this.fixedDiv?[this.fixedDiv,this.scrollingContainer]: +[this.container]).forEach(function(d){a.appendChild(d)})}function fa(){var a=this;a.exporting={update:function(d,b){a.isDirtyExporting=!0;q(!0,a.options.exporting,d);y(b,!0)&&a.redraw()}};g.compose(a).navigation.addUpdate(function(d,b){a.isDirtyExporting=!0;q(!0,a.options.navigation,d);y(b,!0)&&a.redraw()})}function ha(){var a=this;a.isPrinting||(G=a,p.isSafari||a.beforePrint(),setTimeout(function(){A.focus();A.print();p.isSafari||setTimeout(function(){a.afterPrint()},1E3)},1))}function ia(){var a= +this,b=a.options.exporting,c=b.buttons,e=a.isDirtyExporting||!a.exportSVGElements;a.buttonOffset=0;a.isDirtyExporting&&a.destroyExport();e&&!1!==b.enabled&&(a.exportEvents=[],a.exportingGroup=a.exportingGroup||a.renderer.g("exporting-group").attr({zIndex:3}).add(),P(c,function(b){a.addButton(b)}),a.isDirtyExporting=!1)}function ja(a,b){var c=a.indexOf("")+6,d=a.substr(c);a=a.substr(0,c);b&&b.exporting&&b.exporting.allowHTML&&d&&(d=''+d.replace(/(<(?:img|br).*?(?=>))>/g,"$1 />")+"",a=a.replace("",d+""));a=a.replace(/zIndex="[^"]+"/g,"").replace(/symbolName="[^"]+"/g,"").replace(/jQuery[0-9]+="[^"]+"/g,"").replace(/url\(("|")(.*?)("|");?\)/g,"url($2)").replace(/url\([^#]+#/g,"url(#").replace(/A||w===H?z:z+(n-z)*(1-(a-b)/(w-H))};e.getX=function(a,b,c){return m+(b?-1:1)*(e.getWidthAt(d?2*p-a:a)/2+c.labelDistance)};e.center=[m,p,w];e.centerX=m;f.forEach(function(a){h&&!1===a.visible||(b+=a.y)});f.forEach(function(a){t=null;F=b?a.y/b:0;q=p-w/2+y*w;r=q+F*w;v=e.getWidthAt(q);E=m-v/2;G=E+v;v=e.getWidthAt(r);x=m-v/2;C=x+v;q>A?(E=x=m-z/2,G=C=m+z/2):r>A&&(t=r,v=e.getWidthAt(A),x=m-v/2,C=x+v,r=A);d&&(q=2*p-q,r=2*p-r,null!==t&&(t=2*p- +t));B=[["M",E,q],["L",G,q],["L",C,r]];null!==t&&B.push(["L",C,t],["L",x,t]);B.push(["L",x,r],["Z"]);a.shapeType="path";a.shapeArgs={d:B};a.percentage=100*F;a.plotX=m;a.plotY=(q+(t||r))/2;a.tooltipPos=[m,a.plotY];a.dlBox={x:x,y:q,topWidth:G-E,bottomWidth:C-x,height:Math.abs(I(t,r)-q),width:NaN};a.slice=J;a.half=K;h&&!1===a.visible||(y+=F)});L(e,"afterTranslate")};b.prototype.sortByAngle=function(a){a.sort(function(a,b){return a.plotY-b.plotY})};b.defaultOptions=B(c.defaultOptions,{animation:!1,center:["50%", +"50%"],width:"90%",neckWidth:"30%",height:"100%",neckHeight:"25%",reversed:!1,size:!0,dataLabels:{connectorWidth:1,verticalAlign:"middle"},states:{select:{color:"#cccccc",borderColor:"#000000"}}});return b}(c);z(d.prototype,{animate:J});l(a,"afterHideAllOverlappingLabels",function(){this.series.forEach(function(a){var b=a.options&&a.options.dataLabels;A(b)&&(b=b[0]);a.is("pie")&&a.placeDataLabels&&b&&!b.inside&&a.placeDataLabels()})});f.registerSeriesType("funnel",d);"";return d});n(a,"Series/Pyramid/PyramidSeries.js", +[a["Series/Funnel/FunnelSeries.js"],a["Core/Series/SeriesRegistry.js"],a["Core/Utilities.js"]],function(a,l,f){var d=this&&this.__extends||function(){var a=function(d,c){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,c){a.__proto__=c}||function(a,c){for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d])};return a(d,c)};return function(d,c){function f(){this.constructor=d}a(d,c);d.prototype=null===c?Object.create(c):(f.prototype=c.prototype,new f)}}(),n=f.merge;f=function(f){function l(){var a= +null!==f&&f.apply(this,arguments)||this;a.data=void 0;a.options=void 0;a.points=void 0;return a}d(l,f);l.defaultOptions=n(a.defaultOptions,{neckWidth:"0%",neckHeight:"0%",reversed:!0});return l}(a);l.registerSeriesType("pyramid",f);"";return f});n(a,"masters/modules/funnel.src.js",[],function(){})}); +//# sourceMappingURL=funnel.js.map \ No newline at end of file diff --git a/docs/reference/libs/highcharts-10.2.0/modules/funnel3d.js b/docs/reference/libs/highcharts-10.2.0/modules/funnel3d.js new file mode 100644 index 0000000..4c067b5 --- /dev/null +++ b/docs/reference/libs/highcharts-10.2.0/modules/funnel3d.js @@ -0,0 +1,30 @@ +/* + Highcharts JS v10.2.0 (2022-07-05) + + Highcharts funnel module + + (c) 2010-2021 Kacper Madej + + License: www.highcharts.com/license +*/ +(function(a){"object"===typeof module&&module.exports?(a["default"]=a,module.exports=a):"function"===typeof define&&define.amd?define("highcharts/modules/funnel3d",["highcharts","highcharts/highcharts-3d","highcharts/modules/cylinder"],function(q){a(q);a.Highcharts=q;return a}):a("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(a){function q(a,h,F,f){a.hasOwnProperty(h)||(a[h]=f.apply(null,F),"function"===typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded", +{detail:{path:h,module:a[h]}})))}a=a?a._modules:{};q(a,"Series/Funnel3D/Funnel3DComposition.js",[a["Core/Color/Color.js"],a["Core/Globals.js"],a["Core/Renderer/SVG/SVGRenderer3D.js"],a["Core/Utilities.js"]],function(a,h,F,f){var d=a.parse,w=h.charts,N=f.error,O=f.extend,m=f.merge,l;(function(a){function f(a){a.funnel3d=m(a.cuboid,{parts:"top bottom frontUpper backUpper frontLower backLower rightUpper rightLower".split(" "),mainParts:["top","bottom"],sideGroups:["upperGroup","lowerGroup"],sideParts:{upperGroup:["frontUpper", +"backUpper","rightUpper"],lowerGroup:["frontLower","backLower","rightLower"]},pathType:"funnel3d",opacitySetter:function(a){var b=this,c=b.parts,k=h.charts[b.renderer.chartIndex],e="group-opacity-"+a+"-"+k.index;b.parts=b.mainParts;b.singleSetterForParts("opacity",a);b.parts=c;k.renderer.filterId||(k.renderer.definition({tagName:"filter",attributes:{id:e},children:[{tagName:"feComponentTransfer",children:[{tagName:"feFuncA",attributes:{type:"table",tableValues:"0 "+a}}]}]}),b.sideGroups.forEach(function(c){b[c].attr({filter:"url(#"+ +e+")"})}),b.renderer.styledMode&&(k.renderer.definition({tagName:"style",textContent:".highcharts-"+e+" {filter:url(#"+e+")}"}),b.sideGroups.forEach(function(b){b.addClass("highcharts-"+e)})));return b},fillSetter:function(a){var b=this,c=d(a),k=c.rgba[3],e={top:d(a).brighten(.1).get(),bottom:d(a).brighten(-.2).get()};1>k?(c.rgba[3]=1,c=c.get("rgb"),b.attr({opacity:k})):c=a;c.linearGradient||c.radialGradient||!b.gradientForSides||(c={linearGradient:{x1:0,x2:1,y1:1,y2:1},stops:[[0,d(a).brighten(-.2).get()], +[.5,a],[1,d(a).brighten(-.2).get()]]});c.linearGradient?b.sideGroups.forEach(function(a){var k=b[a].gradientBox,z=c.linearGradient,f=m(c,{linearGradient:{x1:k.x+z.x1*k.width,y1:k.y+z.y1*k.height,x2:k.x+z.x2*k.width,y2:k.y+z.y2*k.height}});b.sideParts[a].forEach(function(b){e[b]=f})}):(m(!0,e,{frontUpper:c,backUpper:c,rightUpper:c,frontLower:c,backLower:c,rightLower:c}),c.radialGradient&&b.sideGroups.forEach(function(c){var a=b[c].gradientBox,e=a.x+a.width/2,k=a.y+a.height/2,z=Math.min(a.width,a.height); +b.sideParts[c].forEach(function(c){b[c].setRadialReference([e,k,z])})}));b.singleSetterForParts("fill",null,e);b.color=b.fill=a;c.linearGradient&&[b.frontLower,b.frontUpper].forEach(function(c){(c=(c=c.element)&&b.renderer.gradients[c.gradient])&&"userSpaceOnUse"!==c.attr("gradientUnits")&&c.attr({gradientUnits:"userSpaceOnUse"})});return b},adjustForGradient:function(){var a=this,b;a.sideGroups.forEach(function(c){var k={x:Number.MAX_VALUE,y:Number.MAX_VALUE},e={x:-Number.MAX_VALUE,y:-Number.MAX_VALUE}; +a.sideParts[c].forEach(function(c){b=a[c].getBBox(!0);k={x:Math.min(k.x,b.x),y:Math.min(k.y,b.y)};e={x:Math.max(e.x,b.x+b.width),y:Math.max(e.y,b.y+b.height)}});a[c].gradientBox={x:k.x,width:e.x-k.x,y:k.y,height:e.y-k.y}})},zIndexSetter:function(){this.finishedOnAdd&&this.adjustForGradient();return this.renderer.Element.prototype.zIndexSetter.apply(this,arguments)},onAdd:function(){this.adjustForGradient();this.finishedOnAdd=!0}})}function l(a){var f=a.prototype;O(f,{funnel3d:function(b){var c=this.element3d("funnel3d", +b),a=this.styledMode,e={"stroke-width":1,stroke:"none"};c.upperGroup=this.g("funnel3d-upper-group").attr({zIndex:c.frontUpper.zIndex}).add(c);[c.frontUpper,c.backUpper,c.rightUpper].forEach(function(b){a||b.attr(e);b.add(c.upperGroup)});c.lowerGroup=this.g("funnel3d-lower-group").attr({zIndex:c.frontLower.zIndex}).add(c);[c.frontLower,c.backLower,c.rightLower].forEach(function(b){a||b.attr(e);b.add(c.lowerGroup)});c.gradientForSides=b.gradientForSides;return c},funnel3dPath:function(b){this.getCylinderEnd|| +N("A required Highcharts module is missing: cylinder.js",!0,w[this.chartIndex]);var c=w[this.chartIndex],a=b.alphaCorrection=90-Math.abs(c.options.chart.options3d.alpha%180-90),e=f.cuboidPath.call(this,m(b,{depth:b.width,width:(b.width+b.bottom.width)/2})),z=e.isTop,d=!e.isFront,h=!!b.middle,A=this.getCylinderEnd(c,m(b,{x:b.x-b.width/2,z:b.z-b.width/2,alphaCorrection:a})),g=b.bottom.width,l=m(b,{width:g,x:b.x-g/2,z:b.z-g/2,alphaCorrection:a}),v=this.getCylinderEnd(c,l,!0),n=g,u=l,r=v,x=v;h&&(n=b.middle.width, +u=m(b,{y:b.y+b.middle.fraction*b.height,width:n,x:b.x-n/2,z:b.z-n/2}),r=this.getCylinderEnd(c,u,!1),x=this.getCylinderEnd(c,u,!1));e={top:A,bottom:v,frontUpper:this.getCylinderFront(A,r),zIndexes:{group:e.zIndexes.group,top:0!==z?0:3,bottom:1!==z?0:3,frontUpper:d?2:1,backUpper:d?1:2,rightUpper:d?2:1}};e.backUpper=this.getCylinderBack(A,r);A=1!==Math.min(n,b.width)/Math.max(n,b.width);e.rightUpper=this.getCylinderFront(this.getCylinderEnd(c,m(b,{x:b.x-b.width/2,z:b.z-b.width/2,alphaCorrection:A?-a: +0}),!1),this.getCylinderEnd(c,m(u,{alphaCorrection:A?-a:0}),!h));h&&(A=1!==Math.min(n,g)/Math.max(n,g),m(!0,e,{frontLower:this.getCylinderFront(x,v),backLower:this.getCylinderBack(x,v),rightLower:this.getCylinderFront(this.getCylinderEnd(c,m(l,{alphaCorrection:A?-a:0}),!0),this.getCylinderEnd(c,m(u,{alphaCorrection:A?-a:0}),!1)),zIndexes:{frontLower:d?2:1,backLower:d?1:2,rightLower:d?1:2}}));return e}})}a.compose=function(a){F.compose(a);f(a.prototype.elements3d);l(a)}})(l||(l={}));return l});q(a, +"Series/Funnel3D/Funnel3DPoint.js",[a["Core/Series/SeriesRegistry.js"],a["Core/Utilities.js"]],function(a,h){var l=this&&this.__extends||function(){var a=function(d,f){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,d){a.__proto__=d}||function(a,d){for(var f in d)d.hasOwnProperty(f)&&(a[f]=d[f])};return a(d,f)};return function(d,f){function h(){this.constructor=d}a(d,f);d.prototype=null===f?Object.create(f):(h.prototype=f.prototype,new h)}}();h=h.extend;a=function(a){function d(){var d= +null!==a&&a.apply(this,arguments)||this;d.dlBoxRaw=void 0;d.options=void 0;d.series=void 0;d.y=void 0;return d}l(d,a);return d}(a.seriesTypes.column.prototype.pointClass);h(a.prototype,{shapeType:"funnel3d"});return a});q(a,"Series/Funnel3D/Funnel3DSeries.js",[a["Series/Funnel3D/Funnel3DComposition.js"],a["Series/Funnel3D/Funnel3DPoint.js"],a["Core/Globals.js"],a["Extensions/Math3D.js"],a["Core/Series/SeriesRegistry.js"],a["Core/Utilities.js"]],function(a,h,q,f,d,w){var l=this&&this.__extends||function(){var a= +function(b,c){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,b){a.__proto__=b}||function(a,b){for(var c in b)b.hasOwnProperty(c)&&(a[c]=b[c])};return a(b,c)};return function(b,c){function d(){this.constructor=b}a(b,c);b.prototype=null===c?Object.create(c):(d.prototype=c.prototype,new d)}}();q=q.noop;var F=f.perspective,m=d.series,B=d.seriesTypes.column,I=w.extend,M=w.merge,G=w.pick,u=w.relativeLength;f=function(d){function b(){var a=null!==d&&d.apply(this,arguments)||this;a.center= +void 0;a.data=void 0;a.options=void 0;a.points=void 0;return a}l(b,d);b.prototype.alignDataLabel=function(a,b,e){var c=a.dlBoxRaw,d=this.chart.inverted,k=a.plotY>G(this.translatedThreshold,this.yAxis.len),f=G(e.inside,!!this.options.stacking),g={x:c.x,y:c.y,height:0};e.align=G(e.align,!d||f?"center":k?"right":"left");e.verticalAlign=G(e.verticalAlign,d||f?"middle":k?"top":"bottom");"top"!==e.verticalAlign&&(g.y+=c.bottom/("bottom"===e.verticalAlign?1:2));g.width=this.getWidthAt(g.y);this.options.reversed&& +(g.width=c.fullWidth-g.width);f?g.x-=g.width/2:"left"===e.align?(e.align="right",g.x-=1.5*g.width):"right"===e.align?(e.align="left",g.x+=g.width/2):g.x-=g.width/2;a.dlBox=g;B.prototype.alignDataLabel.apply(this,arguments)};b.prototype.bindAxes=function(){m.prototype.bindAxes.apply(this,arguments);I(this.xAxis.options,{gridLineWidth:0,lineWidth:0,title:void 0,tickPositions:[]});M(!0,this.yAxis.options,{gridLineWidth:0,title:void 0,labels:{enabled:!1}})};b.prototype.translate=function(){m.prototype.translate.apply(this, +arguments);var a=0,b=this.chart,e=this.options,d=e.reversed,f=e.ignoreHiddenPoint,h=b.plotWidth,l=b.plotHeight,g=0,q=e.center,v=u(q[0],h),n=u(q[1],l),w=u(e.width,h),r,x,t=u(e.height,l),B=u(e.neckWidth,h),J=u(e.neckHeight,l),E=n-t/2+t-J;h=this.data;var C,K,y,D,L,H,p;this.getWidthAt=x=function(a){var b=n-t/2;return a>E||t===J?B:B+(w-B)*(1-(a-b)/(t-J))};this.center=[v,n,t];this.centerX=v;h.forEach(function(b){f&&!1===b.visible||(a+=b.y)});h.forEach(function(c){L=null;C=a?c.y/a:0;y=n-t/2+g*t;D=y+C*t; +r=x(y);H=D-y;p={gradientForSides:G(c.options.gradientForSides,e.gradientForSides),x:v,y:y,height:H,width:r,z:1,top:{width:r}};r=x(D);p.bottom={fraction:C,width:r};y>=E?p.isCylinder=!0:D>E&&(L=D,r=x(E),D=E,p.bottom.width=r,p.middle={fraction:H?(E-y)/H:0,width:r});d&&(p.y=y=n+t/2-(g+C)*t,p.middle&&(p.middle.fraction=1-(H?p.middle.fraction:0)),r=p.width,p.width=p.bottom.width,p.bottom.width=r);c.shapeArgs=I(c.shapeArgs,p);c.percentage=100*C;c.plotX=v;c.plotY=d?n+t/2-(g+C/2)*t:(y+(L||D))/2;K=F([{x:v, +y:c.plotY,z:d?-(w-x(c.plotY))/2:-x(c.plotY)/2}],b,!0)[0];c.tooltipPos=[K.x,K.y];c.dlBoxRaw={x:v,width:x(c.plotY),y:y,bottom:p.height||0,fullWidth:w};f&&!1===c.visible||(g+=C)})};b.compose=a.compose;b.defaultOptions=M(B.defaultOptions,{center:["50%","50%"],width:"90%",neckWidth:"30%",height:"100%",neckHeight:"25%",reversed:!1,gradientForSides:!0,animation:!1,edgeWidth:0,colorByPoint:!0,showInLegend:!1,dataLabels:{align:"right",crop:!1,inside:!1,overflow:"allow"}});return b}(B);I(f.prototype,{pointClass:h, +translate3dShapes:q});d.registerSeriesType("funnel3d",f);"";return f});q(a,"masters/modules/funnel3d.src.js",[a["Core/Renderer/RendererRegistry.js"],a["Series/Funnel3D/Funnel3DSeries.js"]],function(a,h){h.compose(a.getRendererType());return h})}); +//# sourceMappingURL=funnel3d.js.map \ No newline at end of file diff --git a/docs/reference/libs/highcharts-10.2.0/modules/gantt.js b/docs/reference/libs/highcharts-10.2.0/modules/gantt.js new file mode 100644 index 0000000..a382714 --- /dev/null +++ b/docs/reference/libs/highcharts-10.2.0/modules/gantt.js @@ -0,0 +1,227 @@ +/* + Highcharts Gantt JS v10.2.0 (2022-07-05) + + Gantt series + + (c) 2016-2021 Lars A. V. Cabrera + + License: www.highcharts.com/license +*/ +(function(b){"object"===typeof module&&module.exports?(b["default"]=b,module.exports=b):"function"===typeof define&&define.amd?define("highcharts/modules/gantt",["highcharts"],function(F){b(F);b.Highcharts=F;return b}):b("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(b){function F(b,r,y,v){b.hasOwnProperty(r)||(b[r]=v.apply(null,y),"function"===typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:r,module:b[r]}})))}b=b?b._modules:{};F(b,"Series/XRange/XRangePoint.js", +[b["Core/Series/Point.js"],b["Core/Series/SeriesRegistry.js"],b["Core/Utilities.js"]],function(b,r,y){var v=this&&this.__extends||function(){var b=function(n,h){b=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(h,f){h.__proto__=f}||function(h,f){for(var p in f)f.hasOwnProperty(p)&&(h[p]=f[p])};return b(n,h)};return function(n,h){function t(){this.constructor=n}b(n,h);n.prototype=null===h?Object.create(h):(t.prototype=h.prototype,new t)}}();y=y.extend;r=function(r){function n(){var h= +null!==r&&r.apply(this,arguments)||this;h.options=void 0;h.series=void 0;return h}v(n,r);n.getColorByCategory=function(h,t){var f=h.options.colors||h.chart.options.colors;h=t.y%(f?f.length:h.chart.options.chart.colorCount);return{colorIndex:h,color:f&&f[h]}};n.prototype.resolveColor=function(){var h=this.series;if(h.options.colorByPoint&&!this.options.color){var t=n.getColorByCategory(h,this);h.chart.styledMode||(this.color=t.color);this.options.colorIndex||(this.colorIndex=t.colorIndex)}else this.color|| +(this.color=h.color)};n.prototype.init=function(){b.prototype.init.apply(this,arguments);this.y||(this.y=0);return this};n.prototype.setState=function(){b.prototype.setState.apply(this,arguments);this.series.drawPoint(this,this.series.getAnimationVerb())};n.prototype.getLabelConfig=function(){var h=b.prototype.getLabelConfig.call(this),t=this.series.yAxis.categories;h.x2=this.x2;h.yCategory=this.yCategory=t&&t[this.y];return h};n.prototype.isValid=function(){return"number"===typeof this.x&&"number"=== +typeof this.x2};return n}(r.seriesTypes.column.prototype.pointClass);y(r.prototype,{ttBelow:!1,tooltipDateKeys:["x","x2"]});return r});F(b,"Series/XRange/XRangeComposition.js",[b["Core/Axis/Axis.js"],b["Core/Utilities.js"]],function(b,r){var y=r.addEvent,v=r.pick;y(b,"afterGetSeriesExtremes",function(){var b=this.series,n;if(this.isXAxis){var h=v(this.dataMax,-Number.MAX_VALUE);b.forEach(function(t){t.x2Data&&t.x2Data.forEach(function(f){f>h&&(h=f,n=!0)})});n&&(this.dataMax=h)}})});F(b,"Series/XRange/XRangeSeries.js", +[b["Core/Globals.js"],b["Core/Color/Color.js"],b["Core/Series/SeriesRegistry.js"],b["Core/Utilities.js"],b["Series/XRange/XRangePoint.js"]],function(b,r,y,v,Q){var n=this&&this.__extends||function(){var a=function(d,l){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(l,a){l.__proto__=a}||function(l,a){for(var x in a)a.hasOwnProperty(x)&&(l[x]=a[x])};return a(d,l)};return function(d,l){function x(){this.constructor=d}a(d,l);d.prototype=null===l?Object.create(l):(x.prototype=l.prototype, +new x)}}(),h=r.parse,t=y.series,f=y.seriesTypes.column,p=f.prototype,c=v.clamp,B=v.correctFloat,H=v.defined;r=v.extend;var K=v.find,g=v.isNumber,a=v.isObject,d=v.merge,w=v.pick;v=function(C){function J(){var a=null!==C&&C.apply(this,arguments)||this;a.data=void 0;a.options=void 0;a.points=void 0;return a}n(J,C);J.prototype.init=function(){f.prototype.init.apply(this,arguments);this.options.stacking=void 0};J.prototype.getColumnMetrics=function(){function a(){x.series.forEach(function(a){var l=a.xAxis; +a.xAxis=a.yAxis;a.yAxis=l})}var x=this.chart;a();var d=p.getColumnMetrics.call(this);a();return d};J.prototype.cropData=function(a,x,d,g){x=t.prototype.cropData.call(this,this.x2Data,x,d,g);x.xData=a.slice(x.start,x.end);return x};J.prototype.findPointIndex=function(a){var l=this.cropped,d=this.cropStart,w=this.points,c=a.id;if(c)var f=(f=K(w,function(a){return a.id===c}))?f.index:void 0;"undefined"===typeof f&&(f=(f=K(w,function(l){return l.x===a.x&&l.x2===a.x2&&!l.touched}))?f.index:void 0);l&& +g(f)&&g(d)&&f>=d&&(f-=d);return f};J.prototype.translatePoint=function(l){var x=this.xAxis,G=this.yAxis,f=this.columnMetrics,E=this.options,C=E.minPointLength||0,p=(l.shapeArgs&&l.shapeArgs.width||0)/2,A=this.pointXOffset=f.offset,m=l.plotX,z=w(l.x2,l.x+(l.len||0)),u=x.translate(z,0,0,0,1);z=Math.abs(u-m);var e=this.chart.inverted,k=w(E.borderWidth,1)%2/2,q=f.offset,N=Math.round(f.width);C&&(C-=z,0>C&&(C=0),m-=C/2,u+=C/2);m=Math.max(m,-10);u=c(u,-10,x.len+10);H(l.options.pointWidth)&&(q-=(Math.ceil(l.options.pointWidth)- +N)/2,N=Math.ceil(l.options.pointWidth));E.pointPlacement&&g(l.plotY)&&G.categories&&(l.plotY=G.translate(l.y,0,1,0,1,E.pointPlacement));E=Math.floor(Math.min(m,u))+k;E={x:E,y:Math.floor(l.plotY+q)+k,width:Math.floor(Math.max(m,u))+k-E,height:N,r:this.options.borderRadius};l.shapeArgs=E;e?l.tooltipPos[1]+=A+p:l.tooltipPos[0]-=p+A-E.width/2;p=E.x;A=p+E.width;0>p||A>x.len?(p=c(p,0,x.len),A=c(A,0,x.len),u=A-p,l.dlBox=d(E,{x:p,width:A-p,centerX:u?u/2:null})):l.dlBox=null;p=l.tooltipPos;A=e?1:0;u=e?0:1; +f=this.columnMetrics?this.columnMetrics.offset:-f.width/2;p[A]=e?p[A]+E.width/2:p[A]+(x.reversed?-1:0)*E.width;p[u]=c(p[u]+(e?-1:1)*f,0,G.len-1);if(G=l.partialFill)a(G)&&(G=G.amount),g(G)||(G=0),l.partShapeArgs=d(E,{r:this.options.borderRadius}),m=Math.max(Math.round(z*G+l.plotX-m),0),l.clipRectArgs={x:x.reversed?E.x+z-m:E.x,y:E.y,width:m,height:E.height}};J.prototype.translate=function(){p.translate.apply(this,arguments);this.points.forEach(function(a){this.translatePoint(a)},this)};J.prototype.drawPoint= +function(l,x){var g=this.options,f=this.chart.renderer,c=l.graphic,p=l.shapeType,C=l.shapeArgs,A=l.partShapeArgs,m=l.clipRectArgs,z=l.partialFill,u=g.stacking&&!g.borderRadius,e=l.state,k=g.states[e||"normal"]||{},q="undefined"===typeof e?"attr":x;e=this.pointAttribs(l,e);k=w(this.chart.options.chart.animation,k.animation);if(l.isNull||!1===l.visible)c&&(l.graphic=c.destroy());else{if(c)c.rect[x](C);else l.graphic=c=f.g("point").addClass(l.getClassName()).add(l.group||this.group),c.rect=f[p](d(C)).addClass(l.getClassName()).addClass("highcharts-partfill-original").add(c); +A&&(c.partRect?(c.partRect[x](d(A)),c.partialClipRect[x](d(m))):(c.partialClipRect=f.clipRect(m.x,m.y,m.width,m.height),c.partRect=f[p](A).addClass("highcharts-partfill-overlay").add(c).clip(c.partialClipRect)));this.chart.styledMode||(c.rect[x](e,k).shadow(g.shadow,null,u),A&&(a(z)||(z={}),a(g.partialFill)&&(z=d(g.partialFill,z)),l=z.fill||h(e.fill).brighten(-.3).get()||h(l.color||this.color).brighten(-.3).get(),e.fill=l,c.partRect[q](e,k).shadow(g.shadow,null,u)))}};J.prototype.drawPoints=function(){var a= +this,d=a.getAnimationVerb();a.points.forEach(function(l){a.drawPoint(l,d)})};J.prototype.getAnimationVerb=function(){return this.chart.pointCount<(this.options.animationLimit||250)?"animate":"attr"};J.prototype.isPointInside=function(a){var l=a.shapeArgs,d=a.plotX,g=a.plotY;return l?"undefined"!==typeof d&&"undefined"!==typeof g&&0<=g&&g<=this.yAxis.len&&0<=(l.x||0)+(l.width||0)&&d<=this.xAxis.len:C.prototype.isPointInside.apply(this,arguments)};J.defaultOptions=d(f.defaultOptions,{colorByPoint:!0, +dataLabels:{formatter:function(){var l=this.point.partialFill;a(l)&&(l=l.amount);if(g(l)&&0{point.x} - {point.x2}
',pointFormat:'\u25cf {series.name}: {point.yCategory}
'},borderRadius:3,pointRange:0});return J}(f);r(v.prototype,{type:"xrange",parallelArrays:["x","x2","y"],requireSorting:!1,animate:t.prototype.animate,cropShoulder:1, +getExtremesFromAll:!0,autoIncrement:b.noop,buildKDTree:b.noop,pointClass:Q});y.registerSeriesType("xrange",v);"";return v});F(b,"Series/Gantt/GanttPoint.js",[b["Core/Series/SeriesRegistry.js"],b["Core/Utilities.js"]],function(b,r){var y=this&&this.__extends||function(){var b=function(n,h){b=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(h,f){h.__proto__=f}||function(h,f){for(var p in f)f.hasOwnProperty(p)&&(h[p]=f[p])};return b(n,h)};return function(n,h){function t(){this.constructor= +n}b(n,h);n.prototype=null===h?Object.create(h):(t.prototype=h.prototype,new t)}}(),v=r.pick;return function(b){function n(){var h=null!==b&&b.apply(this,arguments)||this;h.options=void 0;h.series=void 0;return h}y(n,b);n.setGanttPointAliases=function(h){function b(f,p){"undefined"!==typeof p&&(h[f]=p)}b("x",v(h.start,h.x));b("x2",v(h.end,h.x2));b("partialFill",v(h.completed,h.partialFill))};n.prototype.applyOptions=function(h,t){h=b.prototype.applyOptions.call(this,h,t);n.setGanttPointAliases(h); +return h};n.prototype.isValid=function(){return("number"===typeof this.start||"number"===typeof this.x)&&("number"===typeof this.end||"number"===typeof this.x2||this.milestone)};return n}(b.seriesTypes.xrange.prototype.pointClass)});F(b,"Core/Axis/BrokenAxis.js",[b["Extensions/Stacking.js"],b["Core/Utilities.js"]],function(b,r){var y=r.addEvent,v=r.find,D=r.fireEvent,n=r.isArray,h=r.isNumber,t=r.pick,f;(function(f){function c(){"undefined"!==typeof this.brokenAxis&&this.brokenAxis.setBreaks(this.options.breaks, +!1)}function p(){this.brokenAxis&&this.brokenAxis.hasBreaks&&(this.options.ordinal=!1)}function H(){var a=this.brokenAxis;if(a&&a.hasBreaks){for(var d=this.tickPositions,g=this.tickPositions.info,c=[],w=0;we.to||c>e.from&&Ae.from&&Ae.from&&A>e.to&&Ac&&d>=this.basePointRange&&(c=d),f=void 0;w--;)f&&!1!== +f.visible||(f=a[w+1]),d=a[w],!1!==f.visible&&!1!==d.visible&&(f.x-d.x>c&&(f=(d.x+f.x)/2,a.splice(w+1,0,{isNull:!0,x:f}),g.stacking&&this.options.stacking&&(f=g.stacking.stacks[this.stackKey][f]=new b(g,g.options.stackLabels,!1,f,this.stack),f.total=0)),f=d);return this.getGraphPath(a)}var C=[];f.compose=function(l,f){-1===C.indexOf(l)&&(C.push(l),l.keepProps.push("brokenAxis"),y(l,"init",K),y(l,"afterInit",c),y(l,"afterSetTickPositions",H),y(l,"afterSetOptions",p));if(-1===C.indexOf(f)){C.push(f); +var x=f.prototype;x.drawBreaks=d;x.gappedPath=w;y(f,"afterGeneratePoints",g);y(f,"afterRender",a)}return l};var J=function(){function a(a){this.hasBreaks=!1;this.axis=a}a.isInBreak=function(a,d){var l=a.repeat||Infinity,g=a.from,c=a.to-a.from;d=d>=g?(d-g)%l:l-(g-d)%l;return a.inclusive?d<=c:d=d)break;else c.to=d)break;else if(a.isInBreak(f,d)){g-=d-f.from;break}}return g};a.prototype.findBreakAt=function(a,d){return v(d,function(d){return d.fromk;)P-=e;for(;Pe?this.hiddenLabels.push(c.hide()):c.show());(c=this.ticks[a].label)&&(a-m>e?this.hiddenLabels.push(c.hide()):c.show());(d=this.ticks[a].mark)&&a-mq&&!e.startOnTick&&(a[0]=q),m>c&&m-uw?a:w;h=h+1+g.descendants;K=Math.max(g.height+1,K);return g});p&&(p.start=v(p.start,d),p.end=v(p.end,w));r(t,{children:a,descendants:h,height:K});"function"===typeof g&&g(t,B);return t};return{getListOfParents:D,getNode:n,getTree:function(b,t){var f=b.map(function(f){return f.id});b=D(b,f);return n("",null,1,null,b,t)}}});F(b,"Core/Axis/TreeGridTick.js",[b["Core/Utilities.js"]],function(b){var r=b.addEvent,y=b.isObject,v=b.isNumber,D=b.pick,n=b.wrap, +h;(function(b){function f(){this.treeGrid||(this.treeGrid=new K(this))}function p(c,a){c=c.treeGrid;var d=!c.labelIcon,f=a.renderer,g=a.xy,b=a.options,l=b.width||0,x=b.height||0,p=g.x-l/2-(b.padding||0);g=g.y-x/2;var h=a.collapsed?90:180,B=a.show&&v(g),n=c.labelIcon;n||(c.labelIcon=n=f.path(f.symbols[b.type](b.x||0,b.y||0,l,x)).addClass("highcharts-label-icon").add(a.group));n[B?"show":"hide"]();f.styledMode||n.attr({cursor:"pointer",fill:D(a.color,"#666666"),"stroke-width":1,stroke:b.lineColor,strokeWidth:b.lineWidth|| +0});n[d?"attr":"animate"]({translateX:p,translateY:g,rotation:h})}function c(c,a,d,f,b,p,l,x,h){var g=D(this.options&&this.options.labels,p);p=this.pos;var w=this.axis,C="treegrid"===w.options.type;c=c.apply(this,[a,d,f,b,g,l,x,h]);C&&(a=g&&y(g.symbol,!0)?g.symbol:{},g=g&&v(g.indentation)?g.indentation:0,p=(p=(w=w.treeGrid.mapOfPosToGridNode)&&w[p])&&p.depth||1,c.x+=(a.width||0)+2*(a.padding||0)+(p-1)*g);return c}function h(c){var a=this,d=a.pos,f=a.axis,g=a.label,b=f.treeGrid.mapOfPosToGridNode, +l=f.options,x=D(a.options&&a.options.labels,l&&l.labels),h=x&&y(x.symbol,!0)?x.symbol:{},B=(b=b&&b[d])&&b.depth;l="treegrid"===l.type;var n=-1=d&&(a-=.5);return{from:a,to:c,showPoints:!1}} +function n(a,d,c){var m=[],u=[],e={},k="boolean"===typeof d?d:!1,q={},g=-1;a=y.getTree(a,{after:function(e){e=q[e.pos];var k=0,a=0;e.children.forEach(function(e){a+=(e.descendants||0)+1;k=Math.max((e.height||0)+1,k)});e.descendants=a;e.height=k;e.collapsed&&u.push(e)},before:function(a){var d=B(a.data,!0)?a.data:{},c=H(d.name)?d.name:"",u=e[a.parent];u=B(u,!0)?q[u.pos]:null;var z=function(e){return e.name===c},l;k&&B(u,!0)&&(l=f(u.children,z))?(z=l.pos,l.nodes.push(a)):z=g++;q[z]||(q[z]=l={depth:u? +u.depth+1:0,name:c,id:d.id,nodes:[a],children:[],pos:z},-1!==z&&m.push(c),B(u,!0)&&u.children.push(l));H(a.id)&&(e[a.id]=a);l&&!0===d.collapsed&&(l.collapsed=!0);a.pos=z}});q=function(e,k){var a=function(e,d,c){var m=d+(-1===d?0:k-1),q=(m-d)/2,u=d+q;e.nodes.forEach(function(e){var k=e.data;B(k,!0)&&(k.y=d+(k.seriesIndex||0),delete k.seriesIndex);e.pos=u});c[u]=e;e.pos=u;e.tickmarkOffset=q+.5;e.collapseStart=m+.5;e.children.forEach(function(e){a(e,m+1,c);m=(e.collapseEnd||0)-.5});e.collapseEnd=m+.5; +return c};return a(e["-1"],-1,{})}(q,c);return{categories:m,mapOfIdToNode:e,mapOfPosToGridNode:q,collapsedNodes:u,tree:a}}function l(a){a.target.axes.filter(function(a){return"treegrid"===a.options.type}).forEach(function(d){var m=d.options||{},g=m.labels,u=m.uniqueNames;m=m.max;var e=0;if(!d.treeGrid.mapOfPosToGridNode||d.series.some(function(e){return!e.hasRendered||e.isDirtyData||e.isDirty})){var k=d.series.reduce(function(k,a){a.visible&&((a.options.data||[]).forEach(function(d){a.options.keys&& +a.options.keys.length&&(d=a.pointClass.prototype.optionsToObject.call({series:a},d),a.pointClass.setGanttPointAliases(d));B(d,!0)&&(d.seriesIndex=e,k.push(d))}),!0===u&&e++);return k},[]);if(m&&k.length=d&&e<=c)||a.brokenAxis&&a.brokenAxis.isInAnyBreak(e)||m.push(e);return m},[])};a.prototype.isCollapsed=function(a){var d=this.axis,c=d.options.breaks||[],u=w(a,d.max);return c.some(function(e){return e.from===u.from&& +e.to===u.to})};a.prototype.toggleCollapse=function(a){return this.isCollapsed(a)?this.expand(a):this.collapse(a)};return a}();d.Additions=D})(d||(d={}));return d});F(b,"Extensions/CurrentDateIndication.js",[b["Core/Axis/Axis.js"],b["Core/Axis/PlotLineOrBand/PlotLineOrBand.js"],b["Core/Utilities.js"]],function(b,r,y){var v=y.addEvent,D=y.merge;y=y.wrap;var n={color:"#ccd6eb",width:2,label:{format:"%a, %b %d %Y, %H:%M",formatter:function(b,n){return this.axis.chart.time.dateFormat(n||"",b)},rotation:0, +style:{fontSize:"10px"}}};v(b,"afterSetOptions",function(){var b=this.options,t=b.currentDateIndicator;t&&(t="object"===typeof t?D(n,t):D(n),t.value=Date.now(),t.className="highcharts-current-date-indicator",b.plotLines||(b.plotLines=[]),b.plotLines.push(t))});v(r,"render",function(){this.label&&this.label.attr({text:this.getLabelText(this.options.label)})});y(r.prototype,"getLabelText",function(b,n){var f=this.options;return f&&f.className&&-1!==f.className.indexOf("highcharts-current-date-indicator")&& +f.label&&"function"===typeof f.label.formatter?(f.value=Date.now(),f.label.formatter.call(this,f.value,f.label.format)):b.call(this,n)})});F(b,"Extensions/StaticScale.js",[b["Core/Axis/Axis.js"],b["Core/Chart/Chart.js"],b["Core/Utilities.js"]],function(b,r,y){var v=y.addEvent,D=y.defined,n=y.isNumber,h=y.pick;v(b,"afterSetOptions",function(){var b=this.chart.options.chart;!this.horiz&&n(this.options.staticScale)&&(!b.height||b.scrollablePlotArea&&b.scrollablePlotArea.minHeight)&&(this.staticScale= +this.options.staticScale)});r.prototype.adjustHeight=function(){"adjustHeight"!==this.redrawTrigger&&((this.axes||[]).forEach(function(b){var f=b.chart,n=!!f.initiatedScale&&f.options.animation,c=b.options.staticScale;if(b.staticScale&&D(b.min)){var B=h(b.brokenAxis&&b.brokenAxis.unitLength,b.max+b.tickInterval-b.min)*c;B=Math.max(B,c);c=B-f.plotHeight;!f.scrollablePixelsY&&1<=Math.abs(c)&&(f.plotHeight=B,f.redrawTrigger="adjustHeight",f.setSize(void 0,f.chartHeight+c,n));b.series.forEach(function(c){(c= +c.sharedClipKey&&f.sharedClips[c.sharedClipKey])&&c.attr(f.inverted?{width:f.plotHeight}:{height:f.plotHeight})})}}),this.initiatedScale=!0);this.redrawTrigger=null};v(r,"render",r.prototype.adjustHeight)});F(b,"Extensions/ArrowSymbols.js",[b["Core/Renderer/SVG/SVGRenderer.js"]],function(b){function r(b,n,h,t){return[["M",b,n+t/2],["L",b+h,n],["L",b,n+t/2],["L",b+h,n+t]]}function y(b,n,h,t){return[["M",b+h,n],["L",b,n+t/2],["L",b+h,n+t],["Z"]]}function v(b,n,h,t){return y(b,n,h/2,t)}b=b.prototype.symbols; +b.arrow=r;b["arrow-filled"]=y;b["arrow-filled-half"]=v;b["arrow-half"]=function(b,n,h,t){return r(b,n,h/2,t)};b["triangle-left"]=y;b["triangle-left-half"]=v;return b});F(b,"Gantt/Connection.js",[b["Core/Globals.js"],b["Core/DefaultOptions.js"],b["Core/Series/Point.js"],b["Core/Utilities.js"]],function(b,r,y,v){function D(c){var g=c.shapeArgs;return g?{xMin:g.x||0,xMax:(g.x||0)+(g.width||0),yMin:g.y||0,yMax:(g.y||0)+(g.height||0)}:(g=c.graphic&&c.graphic.getBBox())?{xMin:c.plotX-g.width/2,xMax:c.plotX+ +g.width/2,yMin:c.plotY-g.height/2,yMax:c.plotY+g.height/2}:null}"";var n=v.defined,h=v.error,t=v.extend,f=v.merge,p=v.objectEach,c=b.deg2rad,B=Math.max,H=Math.min;t(r.defaultOptions,{connectors:{type:"straight",lineWidth:1,marker:{enabled:!1,align:"center",verticalAlign:"middle",inside:!1,lineWidth:1},startMarker:{symbol:"diamond"},endMarker:{symbol:"arrow-filled"}}});r=function(){function b(c,a,d){this.toPoint=this.pathfinder=this.graphics=this.fromPoint=this.chart=void 0;this.init(c,a,d)}b.prototype.init= +function(c,a,d){this.fromPoint=c;this.toPoint=a;this.options=d;this.chart=c.series.chart;this.pathfinder=this.chart.pathfinder};b.prototype.renderPath=function(c,a,d){var b=this.chart,g=b.styledMode,f=b.pathfinder,l=!b.options.chart.forExport&&!1!==d,x=this.graphics&&this.graphics.path;f.group||(f.group=b.renderer.g().addClass("highcharts-pathfinder-group").attr({zIndex:-1}).add(b.seriesGroup));f.group.translate(b.plotLeft,b.plotTop);x&&x.renderer||(x=b.renderer.path().add(f.group),g||x.attr({opacity:0})); +x.attr(a);c={d:c};g||(c.opacity=1);x[l?"animate":"attr"](c,d);this.graphics=this.graphics||{};this.graphics.path=x};b.prototype.addMarker=function(b,a,d){var g=this.fromPoint.series.chart,f=g.pathfinder;g=g.renderer;var h="start"===b?this.fromPoint:this.toPoint,l=h.getPathfinderAnchorPoint(a);if(a.enabled&&((d="start"===b?d[1]:d[d.length-2])&&"M"===d[0]||"L"===d[0])){d={x:d[1],y:d[2]};d=h.getRadiansToVector(d,l);l=h.getMarkerVector(d,a.radius,l);d=-d/c;if(a.width&&a.height){var x=a.width;var n=a.height}else x= +n=2*a.radius;this.graphics=this.graphics||{};l={x:l.x-x/2,y:l.y-n/2,width:x,height:n,rotation:d,rotationOriginX:l.x,rotationOriginY:l.y};this.graphics[b]?this.graphics[b].animate(l):(this.graphics[b]=g.symbol(a.symbol).addClass("highcharts-point-connecting-path-"+b+"-marker").attr(l).add(f.group),g.styledMode||this.graphics[b].attr({fill:a.color||this.fromPoint.color,stroke:a.lineColor,"stroke-width":a.lineWidth,opacity:0}).animate({opacity:1},h.series.options.animation))}};b.prototype.getPath=function(c){var a= +this.pathfinder,d=this.chart,b=a.algorithms[c.type],g=a.chartObstacles;if("function"!==typeof b)return h('"'+c.type+'" is not a Pathfinder algorithm.'),{path:[],obstacles:[]};b.requiresObstacles&&!g&&(g=a.chartObstacles=a.getChartObstacles(c),d.options.connectors.algorithmMargin=c.algorithmMargin,a.chartObstacleMetrics=a.getObstacleMetrics(g));return b(this.fromPoint.getPathfinderAnchorPoint(c.startMarker),this.toPoint.getPathfinderAnchorPoint(c.endMarker),f({chartObstacles:g,lineObstacles:a.lineObstacles|| +[],obstacleMetrics:a.chartObstacleMetrics,hardBounds:{xMin:0,xMax:d.plotWidth,yMin:0,yMax:d.plotHeight},obstacleOptions:{margin:c.algorithmMargin},startDirectionX:a.getAlgorithmStartDirection(c.startMarker)},c))};b.prototype.render=function(){var c=this.fromPoint,a=c.series,d=a.chart,b=d.pathfinder,h=f(d.options.connectors,a.options.connectors,c.options.connectors,this.options),p={};d.styledMode||(p.stroke=h.lineColor||c.color,p["stroke-width"]=h.lineWidth,h.dashStyle&&(p.dashstyle=h.dashStyle)); +p["class"]="highcharts-point-connecting-path highcharts-color-"+c.colorIndex;h=f(p,h);n(h.marker.radius)||(h.marker.radius=H(B(Math.ceil((h.algorithmMargin||8)/2)-1,1),5));c=this.getPath(h);d=c.path;c.obstacles&&(b.lineObstacles=b.lineObstacles||[],b.lineObstacles=b.lineObstacles.concat(c.obstacles));this.renderPath(d,p,a.options.animation);this.addMarker("start",f(h.marker,h.startMarker),d);this.addMarker("end",f(h.marker,h.endMarker),d)};b.prototype.destroy=function(){this.graphics&&(p(this.graphics, +function(c){c.destroy()}),delete this.graphics)};return b}();b.Connection=r;t(y.prototype,{getPathfinderAnchorPoint:function(c){var b=D(this);switch(c.align){case "right":var a="xMax";break;case "left":a="xMin"}switch(c.verticalAlign){case "top":var d="yMin";break;case "bottom":d="yMax"}return{x:a?b[a]:(b.xMin+b.xMax)/2,y:d?b[d]:(b.yMin+b.yMax)/2}},getRadiansToVector:function(c,b){var a;n(b)||(a=D(this))&&(b={x:(a.xMin+a.xMax)/2,y:(a.yMin+a.yMax)/2});return Math.atan2(b.y-c.y,c.x-b.x)},getMarkerVector:function(c, +b,a){var d=2*Math.PI,f=D(this),g=f.xMax-f.xMin,h=f.yMax-f.yMin,l=Math.atan2(h,g),x=!1;g/=2;var n=h/2,p=f.xMin+g;f=f.yMin+n;for(var B=p,H=f,t=1,A=1;c<-Math.PI;)c+=d;for(;c>Math.PI;)c-=d;d=Math.tan(c);c>-l&&c<=l?(A=-1,x=!0):c>l&&c<=Math.PI-l?A=-1:c>Math.PI-l||c<=-(Math.PI-l)?(t=-1,x=!0):t=-1;x?(B+=t*g,H+=A*g*d):(B+=h/(2*d)*t,H+=A*n);a.x!==p&&(B=a.x);a.y!==f&&(H=a.y);return{x:B+b*Math.cos(c),y:H-b*Math.sin(c)}}});return r});F(b,"Gantt/PathfinderAlgorithms.js",[b["Core/Utilities.js"]],function(b){function r(c, +b,f){f=f||0;var h=c.length-1;b-=1e-7;for(var g,a;f<=h;)if(g=h+f>>1,a=b-c[g].xMin,0a)h=g-1;else return g;return 0=b.x)h=c[f],h=b.x<=h.xMax&&b.x>=h.xMin&&b.y<=h.yMax&&b.y>=h.yMin;if(h)return f}return-1}function v(c){var b=[];if(c.length){b.push(["M",c[0].start.x,c[0].start.y]);for(var f=0;ff(d[c]-a[c+"Max"]);return p(d,c,a,c+(b?"Max":"Min"),b?1:-1)}var a=[],d=n(h.startDirectionX,f(b.x-c.x)>f(b.y-c.y))?"x":"y",w=h.chartObstacles,t=y(w,c);h=y(w,b);if(-1= +c[d]===h[d]>=l[d]&&(d="y"===d?"x":"y",b=c[d]c?h(r(I,m.x),I.length-1):0;I[k]&&(0c&&I[k].xMax>=b.x);){if(I[k].xMin<=m.x&&I[k].xMax>=b.x&&I[k].yMin<=u.y&&I[k].yMax>=f.y)return e?{y:a.y,x:a.x=b[q+"Max"];b=a[q+"Min"]<=b[q+"Min"];var g=a[q+"Max"]>=m[q+"Max"];m=a[q+"Min"]<=m[q+"Min"];var z=f(a[q+"Min"]-d[q]),h=f(a[q+"Max"]-d[q]);e=10>f(z-h)?d[q]f(b.y-c.y)),C=w?"x":"y",J=[],l=!1,x=p.obstacleMetrics,G=h(c.x,b.x)-x.maxWidth-10,H=t(c.x,b.x)+x.maxWidth+10,E=h(c.y,b.y)-x.maxHeight-10,L=t(c.y,b.y)+x.maxHeight+10,I=p.chartObstacles;var A=r(I,G);x=r(I,H);I=I.slice(A,x+1);if(-1<(x=y(I,b))){var m=d(I[x], +b,c);J.push({end:b,start:m});b=m}for(;-1<(x=y(I,b));)A=0>b[C]-c[C],m={x:b.x,y:b.y},m[C]=I[x][A?C+"Max":C+"Min"]+(A?1:-1),J.push({end:b,start:m}),b=m;c=a(c,b,w);c=c.concat(J.reverse());return{path:v(c),obstacles:c}};p.requiresObstacles=!0;return{fastAvoid:p,straight:function(c,b){return{path:[["M",c.x,c.y],["L",b.x,b.y]],obstacles:[{start:c,end:b}]}},simpleConnect:b}});F(b,"Gantt/Pathfinder.js",[b["Gantt/Connection.js"],b["Core/Chart/Chart.js"],b["Core/Globals.js"],b["Core/DefaultOptions.js"],b["Core/Series/Point.js"], +b["Core/Utilities.js"],b["Gantt/PathfinderAlgorithms.js"]],function(b,r,y,v,Q,n,h){function t(a){var d=a.shapeArgs;return d?{xMin:d.x||0,xMax:(d.x||0)+(d.width||0),yMin:d.y||0,yMax:(d.y||0)+(d.height||0)}:(d=a.graphic&&a.graphic.getBBox())?{xMin:a.plotX-d.width/2,xMax:a.plotX+d.width/2,yMin:a.plotY-d.height/2,yMax:a.plotY+d.height/2}:null}function f(d){for(var c=d.length,b=0,f,g,l=[],h=function(d,c,b){b=a(b,10);var m=d.yMax+b>c.yMin-b&&d.yMin-bc.xMin-b&&d.xMin-bc.xMax?d.xMin-c.xMax:c.xMin-d.xMax:Infinity,f=e?d.yMin>c.yMax?d.yMin-c.yMax:c.yMin-d.yMax:Infinity;return e&&m?b?h(d,c,Math.floor(b/2)):Infinity:C(k,f)};bg&&l.push(g);l.push(80);return w(Math.floor(l.sort(function(a,d){return a-d})[Math.floor(l.length/10)]/2-1),1)}function p(a){if(a.options.pathfinder||a.series.reduce(function(a,d){d.options&&g(!0,d.options.connectors=d.options.connectors||{},d.options.pathfinder);return a||d.options&&d.options.pathfinder}, +!1))g(!0,a.options.connectors=a.options.connectors||{},a.options.pathfinder),H('WARNING: Pathfinder options have been renamed. Use "chart.connectors" or "series.connectors" instead.')}"";var c=n.addEvent,B=n.defined,H=n.error,K=n.extend,g=n.merge,a=n.pick,d=n.splat,w=Math.max,C=Math.min;K(v.defaultOptions,{connectors:{type:"straight",lineWidth:1,marker:{enabled:!1,align:"center",verticalAlign:"middle",inside:!1,lineWidth:1},startMarker:{symbol:"diamond"},endMarker:{symbol:"arrow-filled"}}});var J= +function(){function g(a){this.lineObstacles=this.group=this.connections=this.chartObstacleMetrics=this.chartObstacles=this.chart=void 0;this.init(a)}g.prototype.init=function(a){this.chart=a;this.connections=[];c(a,"redraw",function(){this.pathfinder.update()})};g.prototype.update=function(a){var c=this.chart,f=this,g=f.connections;f.connections=[];c.series.forEach(function(a){a.visible&&!a.options.isInternal&&a.points.forEach(function(e){var a=e.options;a&&a.dependency&&(a.connect=a.dependency); +var m;a=e.options&&e.options.connect&&d(e.options.connect);e.visible&&!1!==e.isInside&&a&&a.forEach(function(a){m=c.get("string"===typeof a?a:a.to);m instanceof Q&&m.series.visible&&m.visible&&!1!==m.isInside&&f.connections.push(new b(e,m,"string"===typeof a?{}:a))})})});for(var l=0,h=void 0,w=void 0,m=g.length,z=f.connections.length;lMath.PI;)a-=b;b= +Math.tan(a);a>-h&&a<=h?(w=-1,m=!0):a>h&&a<=Math.PI-h?w=-1:a>Math.PI-h||a<=-(Math.PI-h)?(q=-1,m=!0):q=-1;m?(e+=q*g,k+=w*g*b):(e+=l/(2*b)*q,k+=w*z);c.x!==u&&(e=c.x);c.y!==f&&(k=c.y);return{x:e+d*Math.cos(a),y:k-d*Math.sin(a)}}});r.prototype.callbacks.push(function(a){!1!==a.options.connectors.enabled&&(p(a),this.pathfinder=new J(this),this.pathfinder.update(!0))});return J});F(b,"Series/Gantt/GanttSeries.js",[b["Core/Axis/Axis.js"],b["Core/Chart/Chart.js"],b["Series/Gantt/GanttPoint.js"],b["Core/Series/SeriesRegistry.js"], +b["Core/Axis/Tick.js"],b["Core/Utilities.js"],b["Core/Axis/TreeGridAxis.js"]],function(b,r,y,v,Q,n,h){var t=this&&this.__extends||function(){var c=function(b,a){c=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,c){a.__proto__=c}||function(a,c){for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d])};return c(b,a)};return function(b,a){function d(){this.constructor=b}c(b,a);b.prototype=null===a?Object.create(a):(d.prototype=a.prototype,new d)}}(),f=v.series,p=v.seriesTypes.xrange,c=n.extend, +B=n.isNumber,H=n.merge;h.compose(b,r,f,Q);b=function(c){function b(){var a=null!==c&&c.apply(this,arguments)||this;a.data=void 0;a.options=void 0;a.points=void 0;return a}t(b,c);b.prototype.drawPoint=function(a,d){var c=this.options,b=this.chart.renderer,f=a.shapeArgs,g=a.plotY,h=a.graphic,n=a.selected&&"select",t=c.stacking&&!c.borderRadius;if(a.options.milestone)if(B(g)&&null!==a.y&&!1!==a.visible){f=b.symbols.diamond(f.x||0,f.y||0,f.width||0,f.height||0);if(h)h[d]({d:f});else a.graphic=b.path(f).addClass(a.getClassName(), +!0).add(a.group||this.group);this.chart.styledMode||a.graphic.attr(this.pointAttribs(a,n)).shadow(c.shadow,null,t)}else h&&(a.graphic=h.destroy());else p.prototype.drawPoint.call(this,a,d)};b.prototype.translatePoint=function(a){p.prototype.translatePoint.call(this,a);if(a.options.milestone){var d=a.shapeArgs;var c=d.height||0;a.shapeArgs={x:(d.x||0)-c/2,y:d.y,width:c,height:c}}};b.defaultOptions=H(p.defaultOptions,{grouping:!1,dataLabels:{enabled:!0},tooltip:{headerFormat:'{series.name}
', +pointFormat:null,pointFormatter:function(){var a=this.series,d=a.xAxis,c=a.tooltipOptions.dateTimeLabelFormats,b=d.options.startOfWeek,f=a.tooltipOptions,g=f.xDateFormat,h=this.options.milestone,p=""+(this.name||this.yCategory)+"";if(f.pointFormat)return this.tooltipFormatter(f.pointFormat);!g&&B(this.start)&&(g=a.chart.time.getDateFormat(d.closestPointRange,this.start,b,c||{}));d=a.chart.time.dateFormat(g,this.start);a=a.chart.time.dateFormat(g,this.end);p+="
";return h?p+(d+"
"): +p+("Start: "+d+"
End: ")+(a+"
")}},connectors:{type:"simpleConnect",animation:{reversed:!0},startMarker:{enabled:!0,symbol:"arrow-filled",radius:4,fill:"#fa0",align:"left"},endMarker:{enabled:!1,align:"right"}}});return b}(p);c(b.prototype,{pointArrayMap:["start","end","y"],pointClass:y,setData:f.prototype.setData});v.registerSeriesType("gantt",b);"";return b});F(b,"Core/Chart/GanttChart.js",[b["Core/Chart/Chart.js"],b["Core/DefaultOptions.js"],b["Core/Utilities.js"]],function(b,r,y){var v= +this&&this.__extends||function(){var b=function(f,c){b=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(c,b){c.__proto__=b}||function(c,b){for(var f in b)b.hasOwnProperty(f)&&(c[f]=b[f])};return b(f,c)};return function(f,c){function h(){this.constructor=f}b(f,c);f.prototype=null===c?Object.create(c):(h.prototype=c.prototype,new h)}}(),D=r.getOptions,n=y.isArray,h=y.merge,t=y.splat;b=function(b){function f(){return null!==b&&b.apply(this,arguments)||this}v(f,b);f.prototype.init=function(c, +f){var p=D(),r=c.xAxis,g=c.yAxis,a;c.xAxis=c.yAxis=void 0;var d=h(!0,{chart:{type:"gantt"},title:{text:null},legend:{enabled:!1},navigator:{series:{type:"gantt"},yAxis:{type:"category"}}},c,{isGantt:!0});c.xAxis=r;c.yAxis=g;d.xAxis=(n(c.xAxis)?c.xAxis:[c.xAxis||{},{}]).map(function(d,c){1===c&&(a=0);return h(p.xAxis,{grid:{enabled:!0},opposite:!0,linkedTo:a},d,{type:"datetime"})});d.yAxis=t(c.yAxis||{}).map(function(a){return h(p.yAxis,{grid:{enabled:!0},staticScale:50,reversed:!0,type:a.categories? +a.type:"treegrid"},a)});b.prototype.init.call(this,d,f)};return f}(b);(function(b){b.ganttChart=function(f,c,h){return new b(f,c,h)}})(b||(b={}));return b});F(b,"Core/Axis/ScrollbarAxis.js",[b["Core/Utilities.js"]],function(b){var r=b.addEvent,y=b.defined,v=b.pick;return function(){function b(){}b.compose=function(n,h){if(-1===b.composed.indexOf(n))b.composed.push(n);else return n;var t=function(b){var f=v(b.options&&b.options.min,b.min),c=v(b.options&&b.options.max,b.max);return{axisMin:f,axisMax:c, +scrollMin:y(b.dataMin)?Math.min(f,b.min,b.dataMin,v(b.threshold,Infinity)):f,scrollMax:y(b.dataMax)?Math.max(c,b.max,b.dataMax,v(b.threshold,-Infinity)):c}};r(n,"afterInit",function(){var b=this;b.options&&b.options.scrollbar&&b.options.scrollbar.enabled&&(b.options.scrollbar.vertical=!b.horiz,b.options.startOnTick=b.options.endOnTick=!1,b.scrollbar=new h(b.chart.renderer,b.options.scrollbar,b.chart),r(b.scrollbar,"changed",function(f){var c=t(b),h=c.axisMax,n=c.scrollMin,p=c.scrollMax-n;y(c.axisMin)&& +y(h)&&(b.horiz&&!b.reversed||!b.horiz&&b.reversed?(c=n+p*this.to,n+=p*this.from):(c=n+p*(1-this.from),n+=p*(1-this.to)),this.shouldUpdateExtremes(f.DOMType)?b.setExtremes(n,c,!0,"mousemove"!==f.DOMType&&"touchmove"!==f.DOMType,f):this.setRange(this.from,this.to))}))});r(n,"afterRender",function(){var b=t(this),h=b.scrollMin,c=b.scrollMax;b=this.scrollbar;var n=this.axisTitleMargin+(this.titleOffset||0),r=this.chart.scrollbarsOffsets,v=this.options.margin||0;b&&(this.horiz?(this.opposite||(r[1]+=n), +b.position(this.left,this.top+this.height+2+r[1]-(this.opposite?v:0),this.width,this.height),this.opposite||(r[1]+=v),n=1):(this.opposite&&(r[0]+=n),b.position(b.options.opposite?this.left+this.width+2+r[0]-(this.opposite?0:v):this.opposite?0:v,this.top,this.width,this.height),this.opposite&&(r[0]+=v),n=0),r[n]+=b.size+b.options.margin,isNaN(h)||isNaN(c)||!y(this.min)||!y(this.max)||this.min===this.max?b.setRange(0,1):(r=(this.min-h)/(c-h),h=(this.max-h)/(c-h),this.horiz&&!this.reversed||!this.horiz&& +this.reversed?b.setRange(r,h):b.setRange(1-h,1-r)))});r(n,"afterGetOffset",function(){var b=this.scrollbar&&!this.scrollbar.options.opposite;b=this.horiz?2:b?3:1;var h=this.scrollbar;h&&(this.chart.scrollbarsOffsets=[0,0],this.chart.axisOffset[b]+=h.size+h.options.margin)});return n};b.composed=[];return b}()});F(b,"Core/ScrollbarDefaults.js",[b["Core/Globals.js"]],function(b){return{height:b.isTouchDevice?20:14,barBorderRadius:0,buttonBorderRadius:0,liveRedraw:void 0,margin:10,minWidth:6,opposite:!0, +step:.2,zIndex:3,barBackgroundColor:"#cccccc",barBorderWidth:1,barBorderColor:"#cccccc",buttonArrowColor:"#333333",buttonBackgroundColor:"#e6e6e6",buttonBorderColor:"#cccccc",buttonBorderWidth:1,rifleColor:"#333333",trackBackgroundColor:"#f2f2f2",trackBorderColor:"#f2f2f2",trackBorderWidth:1}});F(b,"Core/Scrollbar.js",[b["Core/DefaultOptions.js"],b["Core/Globals.js"],b["Core/Axis/ScrollbarAxis.js"],b["Core/ScrollbarDefaults.js"],b["Core/Utilities.js"]],function(b,r,y,v,F){var n=b.defaultOptions,h= +F.addEvent,t=F.correctFloat,f=F.defined,p=F.destroyObjectProperties,c=F.fireEvent,B=F.merge,H=F.pick,D=F.removeEvent;b=function(){function b(a,d,b){this._events=[];this.chart=void 0;this.from=this.chartY=this.chartX=0;this.scrollbar=this.renderer=this.options=this.group=void 0;this.scrollbarButtons=[];this.scrollbarGroup=void 0;this.scrollbarLeft=0;this.scrollbarRifles=void 0;this.scrollbarStrokeWidth=1;this.to=this.size=this.scrollbarTop=0;this.track=void 0;this.trackBorderWidth=1;this.userOptions= +void 0;this.y=this.x=0;this.init(a,d,b)}b.compose=function(a){y.compose(a,b)};b.swapXY=function(a,d){d&&a.forEach(function(a){for(var d=a.length,b,c=0;cthis.calculatedWidth?d.minWidth:0;return{chartX:(a.chartX-this.x-this.xOffset)/(this.barWidth-d),chartY:(a.chartY-this.y- +this.yOffset)/(this.barWidth-d)}};b.prototype.destroy=function(){var a=this,d=a.chart.scroller;a.removeEvents();["track","scrollbarRifles","scrollbar","scrollbarGroup","group"].forEach(function(d){a[d]&&a[d].destroy&&(a[d]=a[d].destroy())});d&&a===d.scrollbar&&(d.scrollbar=null,p(d.scrollbarButtons))};b.prototype.drawScrollbarButton=function(a){var d=this.renderer,c=this.scrollbarButtons,f=this.options,g=this.size,h=d.g().add(this.group);c.push(h);h=d.rect().addClass("highcharts-scrollbar-button").add(h); +this.chart.styledMode||h.attr({stroke:f.buttonBorderColor,"stroke-width":f.buttonBorderWidth,fill:f.buttonBackgroundColor});h.attr(h.crisp({x:-.5,y:-.5,width:g+1,height:g+1,r:f.buttonBorderRadius},h.strokeWidth()));h=d.path(b.swapXY([["M",g/2+(a?-1:1),g/2-3],["L",g/2+(a?-1:1),g/2+3],["L",g/2+(a?2:-2),g/2]],f.vertical)).addClass("highcharts-scrollbar-arrow").add(c[a]);this.chart.styledMode||h.attr({fill:f.buttonArrowColor})};b.prototype.init=function(a,d,b){this.scrollbarButtons=[];this.renderer=a; +this.userOptions=d;this.options=B(v,n.scrollbar,d);this.chart=b;this.size=H(this.options.size,this.options.height);d.enabled&&(this.render(),this.addEvents())};b.prototype.mouseDownHandler=function(a){a=this.chart.pointer.normalize(a);a=this.cursorToScrollbarPosition(a);this.chartX=a.chartX;this.chartY=a.chartY;this.initPositions=[this.from,this.to];this.grabbedCenter=!0};b.prototype.mouseMoveHandler=function(a){var d=this.chart.pointer.normalize(a),b=this.options.vertical?"chartY":"chartX",f=this.initPositions|| +[];!this.grabbedCenter||a.touches&&0===a.touches[0][b]||(d=this.cursorToScrollbarPosition(d)[b],b=this[b],b=d-b,this.hasDragged=!0,this.updatePosition(f[0]+b,f[1]+b),this.hasDragged&&c(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:a.type,DOMEvent:a}))};b.prototype.mouseUpHandler=function(a){this.hasDragged&&c(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:a.type,DOMEvent:a});this.grabbedCenter=this.hasDragged=this.chartX=this.chartY=null};b.prototype.position= +function(a,d,b,c){var f=this.options.vertical,g=this.rendered?"animate":"attr",h=c,n=0;this.group.show();this.x=a;this.y=d+this.trackBorderWidth;this.width=b;this.height=c;this.xOffset=h;this.yOffset=n;f?(this.width=this.yOffset=b=n=this.size,this.xOffset=h=0,this.barWidth=c-2*b,this.x=a+=this.options.margin):(this.height=this.xOffset=c=h=this.size,this.barWidth=b-2*c,this.y+=this.options.margin);this.group[g]({translateX:a,translateY:this.y});this.track[g]({width:b,height:c});this.scrollbarButtons[1][g]({translateX:f? +0:b-h,translateY:f?c-n:0})};b.prototype.removeEvents=function(){this._events.forEach(function(a){D.apply(null,a)});this._events.length=0};b.prototype.render=function(){var a=this.renderer,d=this.options,c=this.size,f=this.chart.styledMode,g=a.g("scrollbar").attr({zIndex:d.zIndex}).hide().add();this.group=g;this.track=a.rect().addClass("highcharts-scrollbar-track").attr({x:0,r:d.trackBorderRadius||0,height:c,width:c}).add(g);f||this.track.attr({fill:d.trackBackgroundColor,stroke:d.trackBorderColor, +"stroke-width":d.trackBorderWidth});this.trackBorderWidth=this.track.strokeWidth();this.track.attr({y:-this.trackBorderWidth%2/2});this.scrollbarGroup=a.g().add(g);this.scrollbar=a.rect().addClass("highcharts-scrollbar-thumb").attr({height:c,width:c,r:d.barBorderRadius||0}).add(this.scrollbarGroup);this.scrollbarRifles=a.path(b.swapXY([["M",-3,c/4],["L",-3,2*c/3],["M",0,c/4],["L",0,2*c/3],["M",3,c/4],["L",3,2*c/3]],d.vertical)).addClass("highcharts-scrollbar-rifles").add(this.scrollbarGroup);f||(this.scrollbar.attr({fill:d.barBackgroundColor, +stroke:d.barBorderColor,"stroke-width":d.barBorderWidth}),this.scrollbarRifles.attr({stroke:d.rifleColor,"stroke-width":1}));this.scrollbarStrokeWidth=this.scrollbar.strokeWidth();this.scrollbarGroup.translate(-this.scrollbarStrokeWidth%2/2,-this.scrollbarStrokeWidth%2/2);this.drawScrollbarButton(0);this.drawScrollbarButton(1)};b.prototype.setRange=function(a,d){var b=this.options,c=b.vertical,g=b.minWidth,h=this.barWidth,n=!this.rendered||this.hasDragged||this.chart.navigator&&this.chart.navigator.hasDragged? +"attr":"animate";if(f(h)){var p=h*Math.min(d,1);a=Math.max(a,0);var r=Math.ceil(h*a);this.calculatedWidth=p=t(p-r);p=p?this.scrollbarRifles.hide():this.scrollbarRifles.show();!1===b.showFull&&(0>=a&&1<=d?this.group.hide():this.group.show());this.rendered=!0}};b.prototype.shouldUpdateExtremes=function(a){return H(this.options.liveRedraw,r.svg&&!r.isTouchDevice&&!this.chart.isBoosting)||"mouseup"===a||"touchend"===a||!f(a)};b.prototype.trackClick=function(a){var b=this.chart.pointer.normalize(a),f=this.to-this.from,g=this.y+this.scrollbarTop,h=this.x+this.scrollbarLeft;this.options.vertical&&b.chartY>g||!this.options.vertical&& +b.chartX>h?this.updatePosition(this.from+f,this.to+f):this.updatePosition(this.from-f,this.to-f);c(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMEvent:a})};b.prototype.update=function(a){this.destroy();this.init(this.chart.renderer,B(!0,this.options,a),this.chart)};b.prototype.updatePosition=function(a,b){1a&&(b=t(b-a),a=0);this.from=a;this.to=b};b.defaultOptions=v;return b}();n.scrollbar=B(!0,b.defaultOptions,n.scrollbar);return b});F(b,"Extensions/RangeSelector.js", +[b["Core/Axis/Axis.js"],b["Core/Chart/Chart.js"],b["Core/Globals.js"],b["Core/DefaultOptions.js"],b["Core/Renderer/SVG/SVGElement.js"],b["Core/Utilities.js"]],function(b,r,y,v,F,n){function h(a){if(-1!==a.indexOf("%L"))return"text";var b="aAdewbBmoyY".split("").some(function(b){return-1!==a.indexOf("%"+b)}),d="HkIlMS".split("").some(function(b){return-1!==a.indexOf("%"+b)});return b&&d?"datetime-local":b?"date":d?"time":"text"}var t=v.defaultOptions,f=n.addEvent,p=n.createElement,c=n.css,B=n.defined, +H=n.destroyObjectProperties,D=n.discardElement,g=n.extend,a=n.find,d=n.fireEvent,w=n.isNumber,C=n.merge,J=n.objectEach,l=n.pad,x=n.pick,G=n.pInt,M=n.splat;g(t,{rangeSelector:{allButtonsEnabled:!1,buttons:void 0,buttonSpacing:5,dropdown:"responsive",enabled:void 0,verticalAlign:"top",buttonTheme:{width:28,height:18,padding:2,zIndex:7},floating:!1,x:0,y:0,height:void 0,inputBoxBorderColor:"none",inputBoxHeight:17,inputBoxWidth:void 0,inputDateFormat:"%b %e, %Y",inputDateParser:void 0,inputEditDateFormat:"%Y-%m-%d", +inputEnabled:!0,inputPosition:{align:"right",x:0,y:0},inputSpacing:5,selected:void 0,buttonPosition:{align:"left",x:0,y:0},inputStyle:{color:"#335cad",cursor:"pointer"},labelStyle:{color:"#666666"}}});g(t.lang,{rangeSelectorZoom:"Zoom",rangeSelectorFrom:"",rangeSelectorTo:"\u2192"});var E=function(){function a(b){this.buttons=void 0;this.buttonOptions=a.prototype.defaultButtons;this.initialButtonGroupWidth=0;this.options=void 0;this.chart=b;this.init(b)}a.prototype.clickButton=function(a,c){var m= +this.chart,e=this.buttonOptions[a],k=m.xAxis[0],q=m.scroller&&m.scroller.getUnionExtremes()||k||{},g=q.dataMin,h=q.dataMax,l=k&&Math.round(Math.min(k.max,x(h,k.max))),z=e.type;q=e._range;var n,p=e.dataGrouping;var r=!0;if(null!==g&&null!==h){m.fixedRange=q;this.setSelected(a);p&&(this.forcedDataGrouping=!0,b.prototype.setDataGrouping.call(k||{chart:this.chart},p,!1),this.frozenStates=e.preserveDataGrouping);if("month"===z||"year"===z)if(k){r={range:e,max:l,chart:m,dataMin:g,dataMax:h};var t=k.minFromRange.call(r); +w(r.newMax)&&(l=r.newMax);r=!1}else q=e;else if(q)t=Math.max(l-q,g),l=Math.min(t+q,h),r=!1;else if("ytd"===z)if(k){if("undefined"===typeof h||"undefined"===typeof g)g=Number.MAX_VALUE,h=Number.MIN_VALUE,m.series.forEach(function(a){if(a=a.xData)g=Math.min(a[0],g),h=Math.max(a[a.length-1],h)}),c=!1;l=this.getYTDExtremes(h,g,m.time.useUTC);t=n=l.min;l=l.max}else{this.deferredYTDClick=a;return}else"all"===z&&k&&(m.navigator&&m.navigator.baseSeries[0]&&(m.navigator.baseSeries[0].xAxis.options.range=void 0), +t=g,l=h);r&&e._offsetMin&&B(t)&&(t+=e._offsetMin);e._offsetMax&&B(l)&&(l+=e._offsetMax);this.dropdown&&(this.dropdown.selectedIndex=a+1);if(k)k.setExtremes(t,l,x(c,!0),void 0,{trigger:"rangeSelectorButton",rangeSelectorButton:e});else{var A=M(m.options.xAxis)[0];var v=A.range;A.range=q;var y=A.min;A.min=n;f(m,"load",function(){A.range=v;A.min=y})}d(this,"afterBtnClick")}};a.prototype.setSelected=function(a){this.selected=this.options.selected=a};a.prototype.init=function(a){var b=this,c=a.options.rangeSelector, +e=c.buttons||b.defaultButtons.slice(),k=c.selected,m=function(){var a=b.minInput,e=b.maxInput;a&&a.blur&&d(a,"blur");e&&e.blur&&d(e,"blur")};b.chart=a;b.options=c;b.buttons=[];b.buttonOptions=e;this.eventsToUnbind=[];this.eventsToUnbind.push(f(a.container,"mousedown",m));this.eventsToUnbind.push(f(a,"resize",m));e.forEach(b.computeButtonRange);"undefined"!==typeof k&&e[k]&&this.clickButton(k,!1);this.eventsToUnbind.push(f(a,"load",function(){a.xAxis&&a.xAxis[0]&&f(a.xAxis[0],"setExtremes",function(e){this.max- +this.min!==a.fixedRange&&"rangeSelectorButton"!==e.trigger&&"updatedData"!==e.trigger&&b.forcedDataGrouping&&!b.frozenStates&&this.setDataGrouping(!1,!1)})}))};a.prototype.updateButtonStates=function(){var a=this,b=this.chart,d=this.dropdown,e=b.xAxis[0],c=Math.round(e.max-e.min),f=!e.hasVisibleSeries,g=b.scroller&&b.scroller.getUnionExtremes()||e,h=g.dataMin,l=g.dataMax;b=a.getYTDExtremes(l,h,b.time.useUTC);var n=b.min,p=b.max,r=a.selected,t=w(r),A=a.options.allButtonsEnabled,v=a.buttons;a.buttonOptions.forEach(function(b, +k){var m=b._range,q=b.type,g=b.count||1,u=v[k],z=0,N=b._offsetMax-b._offsetMin;b=k===r;var R=m>l-h,O=m=864E5*{month:28,year:365}[q]*g-N&&c-36E5<=864E5*{month:31,year:366}[q]*g+N?m=!0:"ytd"===q?(m=p-n+N===c,P=!b):"all"===q&&(m=e.max-e.min>=l-h,w=!b&&t&&m);q=!A&&(R||O||w||f);g=b&&m||m&&!t&&!P||b&&a.frozenStates;q?z=3:g&&(t=!0,z=2);u.state!==z&&(u.setState(z),d&&(d.options[k+1].disabled=q,2===z&&(d.selectedIndex=k+1)),0===z&&r===k&&a.setSelected())})}; +a.prototype.computeButtonRange=function(a){var b=a.type,d=a.count||1,e={millisecond:1,second:1E3,minute:6E4,hour:36E5,day:864E5,week:6048E5};if(e[b])a._range=e[b]*d;else if("month"===b||"year"===b)a._range=864E5*{month:30,year:365}[b]*d;a._offsetMin=x(a.offsetMin,0);a._offsetMax=x(a.offsetMax,0);a._range+=a._offsetMax-a._offsetMin};a.prototype.getInputValue=function(a){a="min"===a?this.minInput:this.maxInput;var b=this.chart.options.rangeSelector,d=this.chart.time;return a?("text"===a.type&&b.inputDateParser|| +this.defaultInputDateParser)(a.value,d.useUTC,d):0};a.prototype.setInputValue=function(a,b){var d=this.options,e=this.chart.time,c="min"===a?this.minInput:this.maxInput;a="min"===a?this.minDateBox:this.maxDateBox;if(c){var f=c.getAttribute("data-hc-time");f=B(f)?Number(f):void 0;B(b)&&(B(f)&&c.setAttribute("data-hc-time-previous",f),c.setAttribute("data-hc-time",b),f=b);c.value=e.dateFormat(this.inputTypeFormats[c.type]||d.inputEditDateFormat,f);a&&a.attr({text:e.dateFormat(d.inputDateFormat,f)})}}; +a.prototype.setInputExtremes=function(a,b,d){if(a="min"===a?this.minInput:this.maxInput){var e=this.inputTypeFormats[a.type],c=this.chart.time;e&&(b=c.dateFormat(e,b),a.min!==b&&(a.min=b),d=c.dateFormat(e,d),a.max!==d&&(a.max=d))}};a.prototype.showInput=function(a){var b="min"===a?this.minDateBox:this.maxDateBox;if((a="min"===a?this.minInput:this.maxInput)&&b&&this.inputGroup){var d="text"===a.type,e=this.inputGroup,k=e.translateX;e=e.translateY;var f=this.options.inputBoxWidth;c(a,{width:d?b.width+ +(f?-2:20)+"px":"auto",height:d?b.height-2+"px":"auto",border:"2px solid silver"});d&&f?c(a,{left:k+b.x+"px",top:e+"px"}):c(a,{left:Math.min(Math.round(b.x+k-(a.offsetWidth-b.width)/2),this.chart.chartWidth-a.offsetWidth)+"px",top:e-(a.offsetHeight-b.height)/2+"px"})}};a.prototype.hideInput=function(a){(a="min"===a?this.minInput:this.maxInput)&&c(a,{top:"-9999em",border:0,width:"1px",height:"1px"})};a.prototype.defaultInputDateParser=function(a,b,d){var e=a.split("/").join("-").split(" ").join("T"); +-1===e.indexOf("T")&&(e+="T00:00");if(b)e+="Z";else{var c;if(c=y.isSafari)c=e,c=!(6=c?"+".concat(l(-c),":00"):"-".concat(l(c),":00"))}e=Date.parse(e);w(e)||(a=a.split("-"),e=Date.UTC(G(a[0]),G(a[1])-1,G(a[2])));d&&b&&w(e)&&(e+=d.getTimezoneOffset(e));return e};a.prototype.drawInput=function(a){function b(){var b=f.getInputValue(a),e=d.xAxis[0],c=d.scroller&&d.scroller.xAxis? +d.scroller.xAxis:e,k=c.dataMin;c=c.dataMax;var g=f.maxInput,q=f.minInput;b!==Number(A.getAttribute("data-hc-time-previous"))&&w(b)&&(A.setAttribute("data-hc-time-previous",b),r&&g&&w(k)?b>Number(g.getAttribute("data-hc-time"))?b=void 0:bc&&(b=c)),"undefined"!==typeof b&&e.setExtremes(r?b:e.min,r?e.max:b,void 0,void 0,{trigger:"rangeSelectorInput"}))}var d=this.chart,e=this.div,k=this.inputGroup,f=this,m=d.renderer.style||{},l= +d.renderer,n=d.options.rangeSelector,r="min"===a,R=t.lang[r?"rangeSelectorFrom":"rangeSelectorTo"]||"";R=l.label(R,0).addClass("highcharts-range-label").attr({padding:R?2:0,height:R?n.inputBoxHeight:0}).add(k);l=l.label("",0).addClass("highcharts-range-input").attr({padding:2,width:n.inputBoxWidth,height:n.inputBoxHeight,"text-align":"center"}).on("click",function(){f.showInput(a);f[a+"Input"].focus()});d.styledMode||l.attr({stroke:n.inputBoxBorderColor,"stroke-width":1});l.add(k);var A=p("input", +{name:a,className:"highcharts-range-selector"},void 0,e);A.setAttribute("type",h(n.inputDateFormat||"%b %e, %Y"));d.styledMode||(R.css(C(m,n.labelStyle)),l.css(C({color:"#333333"},m,n.inputStyle)),c(A,g({position:"absolute",border:0,boxShadow:"0 0 15px rgba(0,0,0,0.3)",width:"1px",height:"1px",padding:0,textAlign:"center",fontSize:m.fontSize,fontFamily:m.fontFamily,top:"-9999em"},n.inputStyle)));A.onfocus=function(){f.showInput(a)};A.onblur=function(){A===y.doc.activeElement&&b();f.hideInput(a);f.setInputValue(a); +A.blur()};var v=!1;A.onchange=function(){v||(b(),f.hideInput(a),A.blur())};A.onkeypress=function(a){13===a.keyCode&&b()};A.onkeydown=function(a){v=!0;38!==a.keyCode&&40!==a.keyCode||b()};A.onkeyup=function(){v=!1};return{dateBox:l,input:A,label:R}};a.prototype.getPosition=function(){var a=this.chart,b=a.options.rangeSelector;a="top"===b.verticalAlign?a.plotTop-a.axisOffset[0]:0;return{buttonTop:a+b.buttonPosition.y,inputTop:a+b.inputPosition.y-10}};a.prototype.getYTDExtremes=function(a,b,d){var e= +this.chart.time,c=new e.Date(a),f=e.get("FullYear",c);d=d?e.Date.UTC(f,0,1):+new e.Date(f,0,1);b=Math.max(b,d);c=c.getTime();return{max:Math.min(a||c,c),min:b}};a.prototype.render=function(a,b){var d=this.chart,e=d.renderer,c=d.container,f=d.options,g=f.rangeSelector,m=x(f.chart.style&&f.chart.style.zIndex,0)+1;f=g.inputEnabled;if(!1!==g.enabled){this.rendered||(this.group=e.g("range-selector-group").attr({zIndex:7}).add(),this.div=p("div",void 0,{position:"relative",height:0,zIndex:m}),this.buttonOptions.length&& +this.renderButtons(),c.parentNode&&c.parentNode.insertBefore(this.div,c),f&&(this.inputGroup=e.g("input-group").add(this.group),e=this.drawInput("min"),this.minDateBox=e.dateBox,this.minLabel=e.label,this.minInput=e.input,e=this.drawInput("max"),this.maxDateBox=e.dateBox,this.maxLabel=e.label,this.maxInput=e.input));if(f&&(this.setInputValue("min",a),this.setInputValue("max",b),a=d.scroller&&d.scroller.getUnionExtremes()||d.xAxis[0]||{},B(a.dataMin)&&B(a.dataMax)&&(d=d.xAxis[0].minRange||0,this.setInputExtremes("min", +a.dataMin,Math.min(a.dataMax,this.getInputValue("max"))-d),this.setInputExtremes("max",Math.max(a.dataMin,this.getInputValue("min"))+d,a.dataMax)),this.inputGroup)){var h=0;[this.minLabel,this.minDateBox,this.maxLabel,this.maxDateBox].forEach(function(a){if(a){var b=a.getBBox().width;b&&(a.attr({x:h}),h+=b+g.inputSpacing)}})}this.alignElements();this.rendered=!0}};a.prototype.renderButtons=function(){var a=this,b=this.buttons,c=this.options,e=t.lang,k=this.chart.renderer,g=C(c.buttonTheme),h=g&&g.states, +l=g.width||28;delete g.width;delete g.states;this.buttonGroup=k.g("range-selector-buttons").add(this.group);var n=this.dropdown=p("select",void 0,{position:"absolute",width:"1px",height:"1px",padding:0,border:0,top:"-9999em",cursor:"pointer",opacity:.0001},this.div);f(n,"touchstart",function(){n.style.fontSize="16px"});[[y.isMS?"mouseover":"mouseenter"],[y.isMS?"mouseout":"mouseleave"],["change","click"]].forEach(function(e){var c=e[0],k=e[1];f(n,c,function(){var e=b[a.currentButtonIndex()];e&&d(e.element, +k||c)})});this.zoomText=k.label(e&&e.rangeSelectorZoom||"",0).attr({padding:c.buttonTheme.padding,height:c.buttonTheme.height,paddingLeft:0,paddingRight:0}).add(this.buttonGroup);this.chart.styledMode||(this.zoomText.css(c.labelStyle),g["stroke-width"]=x(g["stroke-width"],0));p("option",{textContent:this.zoomText.textStr,disabled:!0},void 0,n);this.buttonOptions.forEach(function(e,d){p("option",{textContent:e.title||e.text},void 0,n);b[d]=k.button(e.text,0,0,function(b){var c=e.events&&e.events.click, +k;c&&(k=c.call(e,b));!1!==k&&a.clickButton(d);a.isActive=!0},g,h&&h.hover,h&&h.select,h&&h.disabled).attr({"text-align":"center",width:l}).add(a.buttonGroup);e.title&&b[d].attr("title",e.title)})};a.prototype.alignElements=function(){var a=this,b=this.buttonGroup,d=this.buttons,e=this.chart,c=this.group,f=this.inputGroup,g=this.options,h=this.zoomText,l=e.options,n=l.exporting&&!1!==l.exporting.enabled&&l.navigation&&l.navigation.buttonOptions;l=g.buttonPosition;var p=g.inputPosition,r=g.verticalAlign, +t=function(b,d){return n&&a.titleCollision(e)&&"top"===r&&"right"===d.align&&d.y-b.getBBox().height-12<(n.y||0)+(n.height||0)+e.spacing[0]?-40:0},A=e.plotLeft;if(c&&l&&p){var w=l.x-e.spacing[3];if(b){this.positionButtons();if(!this.initialButtonGroupWidth){var v=0;h&&(v+=h.getBBox().width+5);d.forEach(function(a,b){v+=a.width;b!==d.length-1&&(v+=g.buttonSpacing)});this.initialButtonGroupWidth=v}A-=e.spacing[3];this.updateButtonStates();h=t(b,l);this.alignButtonGroup(h);c.placed=b.placed=e.hasLoaded}b= +0;f&&(b=t(f,p),"left"===p.align?w=A:"right"===p.align&&(w=-Math.max(e.axisOffset[1],-b)),f.align({y:p.y,width:f.getBBox().width,align:p.align,x:p.x+w-2},!0,e.spacingBox),f.placed=e.hasLoaded);this.handleCollision(b);c.align({verticalAlign:r},!0,e.spacingBox);f=c.alignAttr.translateY;b=c.getBBox().height+20;t=0;"bottom"===r&&(t=(t=e.legend&&e.legend.options)&&"bottom"===t.verticalAlign&&t.enabled&&!t.floating?e.legend.legendHeight+x(t.margin,10):0,b=b+t-20,t=f-b-(g.floating?0:g.y)-(e.titleOffset?e.titleOffset[2]: +0)-10);if("top"===r)g.floating&&(t=0),e.titleOffset&&e.titleOffset[0]&&(t=e.titleOffset[0]),t+=e.margin[0]-e.spacing[0]||0;else if("middle"===r)if(p.y===l.y)t=f;else if(p.y||l.y)t=0>p.y||0>l.y?t-Math.min(p.y,l.y):f-b;c.translate(g.x,g.y+Math.floor(t));l=this.minInput;p=this.maxInput;f=this.dropdown;g.inputEnabled&&l&&p&&(l.style.marginTop=c.translateY+"px",p.style.marginTop=c.translateY+"px");f&&(f.style.marginTop=c.translateY+"px")}};a.prototype.alignButtonGroup=function(a,b){var d=this.chart,e= +this.buttonGroup,c=this.options.buttonPosition,f=d.plotLeft-d.spacing[3],g=c.x-d.spacing[3];"right"===c.align?g+=a-f:"center"===c.align&&(g-=f/2);e&&e.align({y:c.y,width:x(b,this.initialButtonGroupWidth),align:c.align,x:g},!0,d.spacingBox)};a.prototype.positionButtons=function(){var a=this.buttons,b=this.chart,d=this.options,e=this.zoomText,c=b.hasLoaded?"animate":"attr",f=d.buttonPosition,g=b.plotLeft,h=g;e&&"hidden"!==e.visibility&&(e[c]({x:x(g+f.x,g)}),h+=f.x+e.getBBox().width+5);this.buttonOptions.forEach(function(b, +e){if("hidden"!==a[e].visibility)a[e][c]({x:h}),h+=a[e].width+d.buttonSpacing;else a[e][c]({x:g})})};a.prototype.handleCollision=function(a){var b=this,d=this.chart,e=this.buttonGroup,c=this.inputGroup,f=this.options,g=f.buttonPosition,h=f.dropdown,m=f.inputPosition;f=function(){var a=0;b.buttons.forEach(function(b){b=b.getBBox();b.width>a&&(a=b.width)});return a};var l=function(b){if(c&&e){var d=c.alignAttr.translateX+c.alignOptions.x-a+c.getBBox().x+2,k=c.alignOptions.width,f=e.alignAttr.translateX+ +e.getBBox().x;return f+b>d&&d+k>f&&g.y=-a?0:-a),translateY:c.alignAttr.translateY+e.getBBox().height+10})};if(e){if("always"===h){this.collapseButtons(a);l(f())&&n();return}"never"===h&&this.expandButtons()}c&&e?m.align===g.align||l(this.initialButtonGroupWidth+20)?"responsive"===h?(this.collapseButtons(a),l(f())&&n()):n():"responsive"===h&&this.expandButtons():e&&"responsive"===h&&(this.initialButtonGroupWidth> +d.plotWidth?this.collapseButtons(a):this.expandButtons())};a.prototype.collapseButtons=function(a){var b=this.buttons,d=this.buttonOptions,e=this.chart,c=this.dropdown,f=this.options,g=this.zoomText,h=e.userOptions.rangeSelector&&e.userOptions.rangeSelector.buttonTheme||{},m=function(a){return{text:a?""+a+" \u25be":"\u25be",width:"auto",paddingLeft:x(f.buttonTheme.paddingLeft,h.padding,8),paddingRight:x(f.buttonTheme.paddingRight,h.padding,8)}};g&&g.hide();var l=!1;d.forEach(function(a,e){e=b[e]; +2!==e.state?e.hide():(e.show(),e.attr(m(a.text)),l=!0)});l||(c&&(c.selectedIndex=0),b[0].show(),b[0].attr(m(this.zoomText&&this.zoomText.textStr)));d=f.buttonPosition.align;this.positionButtons();"right"!==d&&"center"!==d||this.alignButtonGroup(a,b[this.currentButtonIndex()].getBBox().width);this.showDropdown()};a.prototype.expandButtons=function(){var a=this.buttons,b=this.buttonOptions,d=this.options,e=this.zoomText;this.hideDropdown();e&&e.show();b.forEach(function(b,e){e=a[e];e.show();e.attr({text:b.text, +width:d.buttonTheme.width||28,paddingLeft:x(d.buttonTheme.paddingLeft,"unset"),paddingRight:x(d.buttonTheme.paddingRight,"unset")});2>e.state&&e.setState(0)});this.positionButtons()};a.prototype.currentButtonIndex=function(){var a=this.dropdown;return a&&0c&&0>e||0c&&(r?b=f-a:f=b+a);h(b)&&h(f)||(b=f=void 0);return{min:b,max:f}};return b}();return function(){function b(){}b.compose=function(b){b.keepProps.push("navigatorAxis");v(b,"init",function(){this.navigatorAxis||(this.navigatorAxis=new f(this))});v(b,"zoom",function(b){var c=this.chart.options,f=c.navigator,g=this.navigatorAxis,a=c.chart.pinchType, +d=c.rangeSelector;c=c.chart.zoomType;this.isXAxis&&(f&&f.enabled||d&&d.enabled)&&("y"===c?b.zoomed=!1:(!y&&"xy"===c||y&&"xy"===a)&&this.options.range&&(f=g.previousZoom,n(b.newMin)?g.previousZoom=[this.min,this.max]:f&&(b.newMin=f[0],b.newMax=f[1],g.previousZoom=void 0)));"undefined"!==typeof b.zoomed&&b.preventDefault()})};b.AdditionsClass=f;return b}()});F(b,"Core/Navigator.js",[b["Core/Axis/Axis.js"],b["Core/Chart/Chart.js"],b["Core/Color/Color.js"],b["Core/Globals.js"],b["Core/Axis/NavigatorAxis.js"], +b["Core/DefaultOptions.js"],b["Core/Renderer/RendererRegistry.js"],b["Core/Scrollbar.js"],b["Core/Series/Series.js"],b["Core/Series/SeriesRegistry.js"],b["Core/Utilities.js"]],function(b,r,y,v,F,n,h,t,f,p,c){y=y.parse;var B=v.hasTouch,D=v.isTouchDevice,K=n.defaultOptions,g=c.addEvent,a=c.clamp,d=c.correctFloat,w=c.defined,C=c.destroyObjectProperties,J=c.erase,l=c.extend,x=c.find,G=c.isArray,M=c.isNumber,E=c.merge,L=c.pick,I=c.removeEvent,A=c.splat,m=function(a){for(var b=[],d=1;dv&&(this.grabbedLeft?f=l.toPixels(c-v-q,!0):this.grabbedRight&&(g=l.toPixels(b+v+q,!0)));this.zoomedMax=a(Math.max(f,g),0,p);this.zoomedMin=a(this.fixedWidth?this.zoomedMax-this.fixedWidth:Math.min(f,g),0,p);this.range=this.zoomedMax-this.zoomedMin;p=Math.round(this.zoomedMax);f=Math.round(this.zoomedMin);n&&(this.navigatorGroup.attr({visibility:"inherit"}),r=r&&!this.hasDragged?"animate":"attr",this.drawMasks(f,p,t,r),this.drawOutline(f, +p,t,r),this.navigatorOptions.handles.enabled&&(this.drawHandle(f,0,t,r),this.drawHandle(p,1,t,r)));this.scrollbar&&(t?(t=this.top-k,m=this.left-k+(n||!m.opposite?0:(m.titleOffset||0)+m.axisTitleMargin),k=h+2*k):(t=this.top+(n?this.height:-k),m=this.left-k),this.scrollbar.position(m,t,e,k),this.scrollbar.setRange(this.zoomedMin/(h||1),this.zoomedMax/(h||1)));this.rendered=!0}};c.prototype.addMouseEvents=function(){var a=this,b=a.chart,c=b.container,d=[],f,h;a.mouseMoveHandler=f=function(b){a.onMouseMove(b)}; +a.mouseUpHandler=h=function(b){a.onMouseUp(b)};d=a.getPartsEvents("mousedown");d.push(g(b.renderTo,"mousemove",f),g(c.ownerDocument,"mouseup",h));B&&(d.push(g(b.renderTo,"touchmove",f),g(c.ownerDocument,"touchend",h)),d.concat(a.getPartsEvents("touchstart")));a.eventsToUnbind=d;a.series&&a.series[0]&&d.push(g(a.series[0].xAxis,"foundExtremes",function(){b.navigator.modifyNavigatorAxisExtremes()}))};c.prototype.getPartsEvents=function(a){var b=this,c=[];["shades","handles"].forEach(function(d){b[d].forEach(function(e, +f){c.push(g(e.element,a,function(a){b[d+"Mousedown"](a,f)}))})});return c};c.prototype.shadesMousedown=function(a,b){a=this.chart.pointer.normalize(a);var c=this.chart,d=this.xAxis,e=this.zoomedMin,f=this.left,k=this.size,g=this.range,h=a.chartX;c.inverted&&(h=a.chartY,f=this.top);if(1===b)this.grabbedCenter=h,this.fixedWidth=g,this.dragOffset=h-e;else{a=h-f-g/2;if(0===b)a=Math.max(0,a);else if(2===b&&a+g>=k)if(a=k-g,this.reversedExtremes){a-=g;var l=this.getUnionExtremes().dataMin}else var m=this.getUnionExtremes().dataMax; +a!==e&&(this.fixedWidth=g,b=d.navigatorAxis.toFixedRange(a,a+g,l,m),w(b.min)&&c.xAxis[0].setExtremes(Math.min(b.min,b.max),Math.max(b.min,b.max),!0,null,{trigger:"navigator"}))}};c.prototype.handlesMousedown=function(a,b){this.chart.pointer.normalize(a);a=this.chart;var c=a.xAxis[0],d=this.reversedExtremes;0===b?(this.grabbedLeft=!0,this.otherHandlePos=this.zoomedMax,this.fixedExtreme=d?c.min:c.max):(this.grabbedRight=!0,this.otherHandlePos=this.zoomedMin,this.fixedExtreme=d?c.max:c.min);a.fixedRange= +null};c.prototype.onMouseMove=function(a){var b=this,c=b.chart,d=b.left,e=b.navigatorSize,f=b.range,g=b.dragOffset,h=c.inverted;a.touches&&0===a.touches[0].pageX||(a=c.pointer.normalize(a),c=a.chartX,h&&(d=b.top,c=a.chartY),b.grabbedLeft?(b.hasDragged=!0,b.render(0,0,c-d,b.otherHandlePos)):b.grabbedRight?(b.hasDragged=!0,b.render(0,0,b.otherHandlePos,c-d)):b.grabbedCenter&&(b.hasDragged=!0,ce+g-f&&(c=e+g-f),b.render(0,0,c-g,c-g+f)),b.hasDragged&&b.scrollbar&&L(b.scrollbar.options.liveRedraw, +v.svg&&!D&&!this.chart.isBoosting)&&(a.DOMType=a.type,setTimeout(function(){b.onMouseUp(a)},0)))};c.prototype.onMouseUp=function(a){var b=this.chart,c=this.xAxis,d=this.scrollbar,e=a.DOMEvent||a,f=b.inverted,g=this.rendered&&!this.hasDragged?"animate":"attr";if(this.hasDragged&&(!d||!d.hasDragged)||"scrollbar"===a.trigger){d=this.getUnionExtremes();if(this.zoomedMin===this.otherHandlePos)var h=this.fixedExtreme;else if(this.zoomedMax===this.otherHandlePos)var l=this.fixedExtreme;this.zoomedMax=== +this.size&&(l=this.reversedExtremes?d.dataMin:d.dataMax);0===this.zoomedMin&&(h=this.reversedExtremes?d.dataMax:d.dataMin);c=c.navigatorAxis.toFixedRange(this.zoomedMin,this.zoomedMax,h,l);w(c.min)&&b.xAxis[0].setExtremes(Math.min(c.min,c.max),Math.max(c.min,c.max),!0,this.hasDragged?!1:null,{trigger:"navigator",triggerOp:"navigator-drag",DOMEvent:e})}"mousemove"!==a.DOMType&&"touchmove"!==a.DOMType&&(this.grabbedLeft=this.grabbedRight=this.grabbedCenter=this.fixedWidth=this.fixedExtreme=this.otherHandlePos= +this.hasDragged=this.dragOffset=null);this.navigatorEnabled&&M(this.zoomedMin)&&M(this.zoomedMax)&&(b=Math.round(this.zoomedMin),a=Math.round(this.zoomedMax),this.shades&&this.drawMasks(b,a,f,g),this.outline&&this.drawOutline(b,a,f,g),this.navigatorOptions.handles.enabled&&Object.keys(this.handles).length===this.handles.length&&(this.drawHandle(b,0,f,g),this.drawHandle(a,1,f,g)))};c.prototype.removeEvents=function(){this.eventsToUnbind&&(this.eventsToUnbind.forEach(function(a){a()}),this.eventsToUnbind= +void 0);this.removeBaseSeriesEvents()};c.prototype.removeBaseSeriesEvents=function(){var a=this.baseSeries||[];this.navigatorEnabled&&a[0]&&(!1!==this.navigatorOptions.adaptToUpdatedData&&a.forEach(function(a){I(a,"updatedData",this.updatedDataHandler)},this),a[0].xAxis&&I(a[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes))};c.prototype.init=function(a){var c=a.options,d=c.navigator,e=d.enabled,f=c.scrollbar,h=f.enabled;c=e?d.height:0;var l=h?f.height:0;this.handles=[];this.shades=[];this.chart= +a;this.setBaseSeries();this.height=c;this.scrollbarHeight=l;this.scrollbarEnabled=h;this.navigatorEnabled=e;this.navigatorOptions=d;this.scrollbarOptions=f;this.outlineHeight=c+l;this.opposite=L(d.opposite,!(e||!a.inverted));var n=this;e=n.baseSeries;f=a.xAxis.length;h=a.yAxis.length;var p=e&&e[0]&&e[0].xAxis||a.xAxis[0]||{options:{}};a.isDirtyBox=!0;n.navigatorEnabled?(n.xAxis=new b(a,E({breaks:p.options.breaks,ordinal:p.options.ordinal},d.xAxis,{id:"navigator-x-axis",yAxis:"navigator-y-axis",isX:!0, +type:"datetime",index:f,isInternal:!0,offset:0,keepOrdinalPadding:!0,startOnTick:!1,endOnTick:!1,minPadding:0,maxPadding:0,zoomEnabled:!1},a.inverted?{offsets:[l,0,-l,0],width:c}:{offsets:[0,-l,0,l],height:c})),n.yAxis=new b(a,E(d.yAxis,{id:"navigator-y-axis",alignTicks:!1,offset:0,index:h,isInternal:!0,reversed:L(d.yAxis&&d.yAxis.reversed,a.yAxis[0]&&a.yAxis[0].reversed,!1),zoomEnabled:!1},a.inverted?{width:c}:{height:c})),e||d.series.data?n.updateNavigatorSeries(!1):0===a.series.length&&(n.unbindRedraw= +g(a,"beforeRedraw",function(){0e.indexOf(b)?(b&&(I(b,"updatedData",c.updatedDataHandler),delete b.navigatorSeries),a.chart&&a.destroy(),!1):!0});e&&e.length&&e.forEach(function(a){var q=a.navigatorSeries,p=l({color:a.color,visible:a.visible},G(h)?K.navigator.series:h);q&&!1===c.navigatorOptions.adaptToUpdatedData||(m.name="Navigator "+e.length,f=a.options||{},k=f.navigatorOptions||{},p.dataLabels=A(p.dataLabels), +g=E(f,m,p,k),g.pointRange=L(p.pointRange,k.pointRange,K.plotOptions[g.type||"line"].pointRange),p=k.data||p.data,c.hasNavigatorData=c.hasNavigatorData||!!p,g.data=p||f.data&&f.data.slice(0),q&&q.options?q.update(g,b):(a.navigatorSeries=d.initSeries(g),a.navigatorSeries.baseSeries=a,n.push(a.navigatorSeries)))});if(h.data&&(!e||!e.length)||G(h))c.hasNavigatorData=!1,h=A(h),h.forEach(function(a,b){m.name="Navigator "+(n.length+1);g=E(K.navigator.series,{color:d.series[b]&&!d.series[b].options.isInternal&& +d.series[b].color||d.options.colors[b]||d.options.colors[0]},m,a);g.data=a.data;g.data&&(c.hasNavigatorData=!0,n.push(d.initSeries(g)))});a&&this.addBaseSeriesEvents()};c.prototype.addBaseSeriesEvents=function(){var a=this,b=a.baseSeries||[];b[0]&&b[0].xAxis&&b[0].eventsToUnbind.push(g(b[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes));b.forEach(function(b){b.eventsToUnbind.push(g(b,"show",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!0,!1)}));b.eventsToUnbind.push(g(b,"hide", +function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!1,!1)}));!1!==this.navigatorOptions.adaptToUpdatedData&&b.xAxis&&b.eventsToUnbind.push(g(b,"updatedData",this.updatedDataHandler));b.eventsToUnbind.push(g(b,"remove",function(){this.navigatorSeries&&(J(a.series,this.navigatorSeries),w(this.navigatorSeries.options)&&this.navigatorSeries.remove(!1),delete this.navigatorSeries)}))},this)};c.prototype.getBaseSeriesMin=function(a){return this.baseSeries.reduce(function(a,b){return Math.min(a, +b.xData&&b.xData.length?b.xData[0]:a)},a)};c.prototype.modifyNavigatorAxisExtremes=function(){var a=this.xAxis,b;"undefined"!==typeof a.getExtremes&&(!(b=this.getUnionExtremes(!0))||b.dataMin===a.min&&b.dataMax===a.max||(a.min=b.dataMin,a.max=b.dataMax))};c.prototype.modifyBaseAxisExtremes=function(){var a=this.chart.navigator,b=this.getExtremes(),c=b.dataMin,d=b.dataMax;b=b.max-b.min;var f=a.stickToMin,g=a.stickToMax,h=L(this.options.overscroll,0),l=a.series&&a.series[0],m=!!this.setExtremes;if(!this.eventArgs|| +"rangeSelectorButton"!==this.eventArgs.trigger){if(f){var n=c;var p=n+b}g&&(p=d+h,f||(n=Math.max(c,p-b,a.getBaseSeriesMin(l&&l.xData?l.xData[0]:-Number.MAX_VALUE))));m&&(f||g)&&M(n)&&(this.min=this.userMin=n,this.max=this.userMax=p)}a.stickToMin=a.stickToMax=null};c.prototype.updatedDataHandler=function(){var a=this.chart.navigator,b=this.navigatorSeries;a.stickToMax=a.reversedExtremes?0===Math.round(a.zoomedMin):Math.round(a.zoomedMax)>=Math.round(a.size);a.stickToMin=a.shouldStickToMin(this,a); +b&&!a.hasNavigatorData&&(b.options.pointStart=this.xData[0],b.setData(this.options.data,!1,null,!1))};c.prototype.shouldStickToMin=function(a,b){b=b.getBaseSeriesMin(a.xData[0]);var c=a.xAxis;a=c.max;var d=c.min;c=c.options.range;return M(a)&&M(d)?c&&0a?this.hiddenLabels.push(k.hide()):k.show());(k=this.ticks[b].label)&&(b-d>a?this.hiddenLabels.push(k.hide()):k.show());(c=this.ticks[b].mark)&&b-dg&&!a.startOnTick&&(c[0]=g),e>f&&e-hc?.5:g/(c-1))})};g.prototype.hasData=function(){return!!(this.tickPositions||[]).length};g.prototype.setTickPositions=function(){if(!this.dataClasses)return b.prototype.setTickPositions.call(this)};g.prototype.initStops=function(){this.stops=this.options.stops||[[0,this.options.minColor],[1,this.options.maxColor]];this.stops.forEach(function(f){f.color=e(f[1])})}; +g.prototype.setOptions=function(f){b.prototype.setOptions.call(this,f);this.options.crosshair=this.options.marker};g.prototype.setAxisSize=function(){var f=this.legendSymbol,d=this.chart,a=d.options.legend||{},c,k;f?(this.left=a=f.attr("x"),this.top=c=f.attr("y"),this.width=k=f.attr("width"),this.height=f=f.attr("height"),this.right=d.chartWidth-a-k,this.bottom=d.chartHeight-c-f,this.len=this.horiz?k:f,this.pos=this.horiz?a:c):this.len=(this.horiz?a.symbolWidth:a.symbolHeight)||g.defaultLegendLength}; +g.prototype.normalizedValue=function(f){this.logarithmic&&(f=this.logarithmic.log2lin(f));return 1-(this.max-f)/(this.max-this.min||1)};g.prototype.toColor=function(f,d){var a=this.dataClasses,c=this.stops,k;if(a)for(k=a.length;k--;){var b=a[k];var e=b.from;c=b.to;if(("undefined"===typeof e||f>=e)&&("undefined"===typeof c||f<=c)){var g=b.color;d&&(d.dataClass=k,d.colorIndex=b.colorIndex);break}}else{f=this.normalizedValue(f);for(k=c.length;k--&&!(f>c[k][0]););e=c[k]||c[k+1];c=c[k+1]||e;f=1-(c[0]- +f)/(c[0]-e[0]||1);g=e.color.tweenTo(c.color,f)}return g};g.prototype.getOffset=function(){var f=this.legendGroup,d=this.chart.axisOffset[this.side];if(f){this.axisParent=f;b.prototype.getOffset.call(this);var a=this.chart.legend;a.allItems.forEach(function(c){c instanceof g&&c.drawLegendSymbol(a,c)});a.render();this.chart.getMargins(!0);this.added||(this.added=!0,this.labelLeft=0,this.labelRight=this.width);this.chart.axisOffset[this.side]=d}};g.prototype.setLegendColor=function(){var f=this.reversed, +d=f?1:0;f=f?0:1;d=this.horiz?[d,0,f,0]:[0,f,0,d];this.legendColor={linearGradient:{x1:d[0],y1:d[1],x2:d[2],y2:d[3]},stops:this.stops}};g.prototype.drawLegendSymbol=function(f,d){var a=f.padding,c=f.options,k=this.horiz,e=t(c.symbolWidth,k?g.defaultLegendLength:12),b=t(c.symbolHeight,k?12:g.defaultLegendLength),x=t(c.labelPadding,k?16:30);c=t(c.itemDistance,10);this.setLegendColor();d.legendSymbol||(d.legendSymbol=this.chart.renderer.rect(0,f.baseline-11,e,b).attr({zIndex:1}).add(d.legendGroup));this.legendItemWidth= +e+a+(k?c:this.options.labels.x+this.maxLabelLength);this.legendItemHeight=b+a+(k?x:0)};g.prototype.setState=function(f){this.series.forEach(function(d){d.setState(f)})};g.prototype.setVisible=function(){};g.prototype.getSeriesExtremes=function(){var f=this.series,d=f.length,a;this.dataMin=Infinity;for(this.dataMax=-Infinity;d--;){var c=f[d];var k=c.colorKey=t(c.options.colorKey,c.colorKey,c.pointValKey,c.zoneAxis,"y");var e=c.pointArrayMap;var b=c[k+"Min"]&&c[k+"Max"];if(c[k+"Data"])var g=c[k+"Data"]; +else if(e){g=[];e=e.indexOf(k);var r=c.yData;if(0<=e&&r)for(a=0;ae+g&&(l=e+g+2);d.plotX=l;d.plotY=this.len-l;b.prototype.drawCrosshair.call(this,f,d);d.plotX=a;d.plotY=c;this.cross&&!this.cross.addedToColorAxis&&this.legendGroup&&(this.cross.addClass("highcharts-coloraxis-marker").add(this.legendGroup),this.cross.addedToColorAxis=!0,this.chart.styledMode||"object"!==typeof this.crosshair||this.cross.attr({fill:this.crosshair.color}))}};g.prototype.getPlotLinePath= +function(f){var d=this.left,a=f.translatedValue,c=this.top;return E(a)?this.horiz?[["M",a-4,c-6],["L",a+4,c-6],["L",a,c],["Z"]]:[["M",d,a],["L",d-6,a+6],["L",d-6,a-6],["Z"]]:b.prototype.getPlotLinePath.call(this,f)};g.prototype.update=function(f,d){var a=this.chart.legend;this.series.forEach(function(a){a.isDirtyData=!0});(f.dataClasses&&a.allItems||this.dataClasses)&&this.destroyItems();b.prototype.update.call(this,f,d);this.legendItem&&(this.setLegendColor(),a.colorizeItem(this,!0))};g.prototype.destroyItems= +function(){var f=this.chart;this.legendItem?f.legend.destroyItem(this):this.legendItems&&this.legendItems.forEach(function(d){f.legend.destroyItem(d)});f.isDirtyLegend=!0};g.prototype.destroy=function(){this.chart.isDirtyLegend=!0;this.destroyItems();b.prototype.destroy.apply(this,[].slice.call(arguments))};g.prototype.remove=function(f){this.destroyItems();b.prototype.remove.call(this,f)};g.prototype.getDataClassLegendSymbols=function(){var f=this,d=f.chart,a=f.legendItems,c=d.options.legend,e=c.valueDecimals, +b=c.valueSuffix||"",g;a.length||f.dataClasses.forEach(function(c,k){var l=c.from,h=c.to,A=d.numberFormatter,x=!0;g="";"undefined"===typeof l?g="< ":"undefined"===typeof h&&(g="> ");"undefined"!==typeof l&&(g+=A(l,e)+b);"undefined"!==typeof l&&"undefined"!==typeof h&&(g+=" - ");"undefined"!==typeof h&&(g+=A(h,e)+b);a.push(D({chart:d,name:g,options:{},drawLegendSymbol:m.drawRectangle,visible:!0,setState:r,isDataClass:!0,setVisible:function(){this.visible=x=f.visible=!x;f.series.forEach(function(a){a.points.forEach(function(a){a.dataClass=== +k&&a.setVisible(x)})});d.legend.colorizeItem(this,x)}},c))});return a};g.defaultColorAxisOptions=p;g.defaultLegendLength=200;g.keepProps=["legendGroup","legendItemHeight","legendItemWidth","legendItem","legendSymbol"];return g}(b);Array.prototype.push.apply(b.keepProps,h.keepProps);"";return h});q(b,"Series/ColorMapComposition.js",[b["Core/Series/SeriesRegistry.js"],b["Core/Utilities.js"]],function(b,h){var u=b.seriesTypes.column.prototype,p=h.addEvent,q=h.defined,m;(function(b){function h(e){this.moveToTopOnHover&& +this.graphic&&this.graphic.attr({zIndex:e&&"hover"===e.state?1:0})}var n=[];b.pointMembers={dataLabelOnNull:!0,moveToTopOnHover:!0,isValid:function(){return null!==this.value&&Infinity!==this.value&&-Infinity!==this.value&&(void 0===this.value||!isNaN(this.value))}};b.seriesMembers={colorKey:"value",axisTypes:["xAxis","yAxis","colorAxis"],parallelArrays:["x","y","value"],pointArrayMap:["value"],trackerGroups:["group","markerGroup","dataLabelsGroup"],colorAttribs:function(e){var b={};!q(e.color)|| +e.state&&"normal"!==e.state||(b[this.colorProp||"fill"]=e.color);return b},pointAttribs:u.pointAttribs};b.compose=function(e){var b=e.prototype.pointClass;-1===n.indexOf(b)&&(n.push(b),p(b,"afterSetState",h));return e}})(m||(m={}));return m});q(b,"Series/Heatmap/HeatmapPoint.js",[b["Core/Series/SeriesRegistry.js"],b["Core/Utilities.js"]],function(b,h){var u=this&&this.__extends||function(){var b=function(h,e){b=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(b,e){b.__proto__=e}||function(b, +e){for(var h in e)e.hasOwnProperty(h)&&(b[h]=e[h])};return b(h,e)};return function(h,e){function r(){this.constructor=h}b(h,e);h.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}}(),p=h.clamp,q=h.defined,m=h.extend,w=h.pick;b=function(b){function h(){var e=null!==b&&b.apply(this,arguments)||this;e.options=void 0;e.series=void 0;e.value=void 0;e.x=void 0;e.y=void 0;return e}u(h,b);h.prototype.applyOptions=function(e,h){e=b.prototype.applyOptions.call(this,e,h);e.formatPrefix=e.isNull|| +null===e.value?"null":"point";return e};h.prototype.getCellAttributes=function(){var b=this.series,h=b.options,u=(h.colsize||1)/2,n=(h.rowsize||1)/2,m=b.xAxis,v=b.yAxis,t=this.options.marker||b.options.marker;b=b.pointPlacementToXValue();var y=w(this.pointPadding,h.pointPadding,0),g={x1:p(Math.round(m.len-m.translate(this.x-u,!1,!0,!1,!0,-b)),-m.len,2*m.len),x2:p(Math.round(m.len-m.translate(this.x+u,!1,!0,!1,!0,-b)),-m.len,2*m.len),y1:p(Math.round(v.translate(this.y-n,!1,!0,!1,!0)),-v.len,2*v.len), +y2:p(Math.round(v.translate(this.y+n,!1,!0,!1,!0)),-v.len,2*v.len)};[["width","x"],["height","y"]].forEach(function(b){var d=b[0];b=b[1];var a=b+"1",c=b+"2",f=Math.abs(g[a]-g[c]),e=t&&t.lineWidth||0,h=Math.abs(g[a]+g[c])/2;d=t&&t[d];q(d)&&d"}, +states:{hover:{halo:!1,brightness:.2}}});return d}(F);E(m.prototype,{axisTypes:h.seriesMembers.axisTypes,colorKey:h.seriesMembers.colorKey,directTouch:!0,getExtremesFromAll:!0,parallelArrays:h.seriesMembers.parallelArrays,pointArrayMap:["y","value"],pointClass:q,trackerGroups:h.seriesMembers.trackerGroups,alignDataLabel:r.prototype.alignDataLabel,colorAttribs:h.seriesMembers.colorAttribs,drawLegendSymbol:p.drawRectangle,getSymbol:n.prototype.getSymbol});h.compose(m);z.registerSeriesType("heatmap", +m);"";"";return m});q(b,"masters/modules/heatmap.src.js",[b["Core/Globals.js"],b["Core/Axis/Color/ColorAxis.js"]],function(b,h){b.ColorAxis=h;h.compose(b.Chart,b.Fx,b.Legend,b.Series)})}); +//# sourceMappingURL=heatmap.js.map \ No newline at end of file diff --git a/docs/reference/libs/highcharts-10.2.0/modules/heikinashi.js b/docs/reference/libs/highcharts-10.2.0/modules/heikinashi.js new file mode 100644 index 0000000..6dc20d0 --- /dev/null +++ b/docs/reference/libs/highcharts-10.2.0/modules/heikinashi.js @@ -0,0 +1,17 @@ +/* + Highstock JS v10.2.0 (2022-07-05) + + HeikinAshi series type for Highcharts Stock + + (c) 2010-2021 Karol Kolodziej + + License: www.highcharts.com/license +*/ +(function(b){"object"===typeof module&&module.exports?(b["default"]=b,module.exports=b):"function"===typeof define&&define.amd?define("highcharts/modules/heikinashi",["highcharts","highcharts/modules/stock"],function(g){b(g);b.Highcharts=g;return b}):b("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(b){function g(b,c,a,h){b.hasOwnProperty(c)||(b[c]=h.apply(null,a),"function"===typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:c,module:b[c]}})))} +b=b?b._modules:{};g(b,"Series/HeikinAshi/HeikinAshiPoint.js",[b["Core/Series/SeriesRegistry.js"]],function(b){var c=this&&this.__extends||function(){var b=function(a,d){b=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(b,a){b.__proto__=a}||function(b,a){for(var d in a)a.hasOwnProperty(d)&&(b[d]=a[d])};return b(a,d)};return function(a,d){function c(){this.constructor=a}b(a,d);a.prototype=null===d?Object.create(d):(c.prototype=d.prototype,new c)}}();return function(b){function a(){var a= +null!==b&&b.apply(this,arguments)||this;a.series=void 0;return a}c(a,b);return a}(b.seriesTypes.candlestick.prototype.pointClass)});g(b,"Series/HeikinAshi/HeikinAshiSeries.js",[b["Series/HeikinAshi/HeikinAshiPoint.js"],b["Core/Series/SeriesRegistry.js"],b["Core/Utilities.js"],b["Core/Axis/Axis.js"]],function(b,c,a,g){var d=this&&this.__extends||function(){var b=function(a,f){b=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(b,f){b.__proto__=f}||function(b,f){for(var a in f)f.hasOwnProperty(a)&& +(b[a]=f[a])};return b(a,f)};return function(a,f){function m(){this.constructor=a}b(a,f);a.prototype=null===f?Object.create(f):(m.prototype=f.prototype,new m)}}(),l=c.seriesTypes.candlestick,k=a.addEvent,h=a.merge;a=function(b){function a(){var a=null!==b&&b.apply(this,arguments)||this;a.data=void 0;a.heikiashiData=[];a.options=void 0;a.points=void 0;a.yData=void 0;a.processedYData=void 0;return a}d(a,b);a.prototype.getHeikinashiData=function(){var a=this.allGroupedData||this.yData,b=this.heikiashiData; +if(!b.length&&a&&a.length){this.modifyFirstPointValue(a[0]);for(var e=1;e=b||0>=l(l(f+k.length*b)-c));c=l(c+b))k.push(c),e[c]=0;0!==e[f]&&(k.push(f),e[f]=0);var t=g(k.map(function(a){return parseFloat(a)}));a.forEach(function(a){a=l(t(a));e[a]++});q(e,function(a,c){h.push({x:Number(c),y:a,x2:l(Number(c)+b)})});h.sort(function(a,c){return a.x-c.x});h[h.length-1].x2=m;return h};c.prototype.setDerivedData=function(){var a=this.baseSeries.yData;a.length? +(a=this.derivedData(a,this.binsNumber(),this.options.binWidth),this.setData(a,!1)):this.setData([])};c.defaultOptions=f(n.defaultOptions,{binsNumber:"square-root",binWidth:void 0,pointPadding:0,groupPadding:0,grouping:!1,pointPlacement:"between",tooltip:{headerFormat:"",pointFormat:'{point.x} - {point.x2}
\u25cf {series.name} {point.y}
'}});return c}(n);m(b.prototype,{hasDerivedData:a.hasDerivedData});a.compose(b); +e.registerSeriesType("histogram",b);"";return b});g(a,"Series/Bellcurve/BellcurveSeries.js",[a["Series/DerivedComposition.js"],a["Core/Series/SeriesRegistry.js"],a["Core/Utilities.js"]],function(a,e,b){var g=this&&this.__extends||function(){var a=function(b,d){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,d){a.__proto__=d}||function(a,d){for(var b in d)d.hasOwnProperty(b)&&(a[b]=d[b])};return a(b,d)};return function(b,d){function f(){this.constructor=b}a(b,d);b.prototype=null=== +d?Object.create(d):(f.prototype=d.prototype,new f)}}(),h=e.seriesTypes.areaspline,n=b.correctFloat,p=b.isNumber,r=b.merge;b=function(a){function b(){var b=null!==a&&a.apply(this,arguments)||this;b.data=void 0;b.options=void 0;b.points=void 0;return b}g(b,a);b.mean=function(a){var b=a.length;a=a.reduce(function(a,b){return a+b},0);return 0b)break;a--}else for(a=Math.floor(a);aB+(h&&A?h.length:0);)for(y=q,q=g.length=0,h= +m,m=[],l++,p=c/l/2,k?(d=(p-k)/p*c,0<=d?p=k:(d=0,z=1)):p=Math.floor(p*z),f=p;0\u25cf {series.name}: {point.y}
'}}); +return a}(e);c(a.prototype,{pointArrayMap:["y"],pointValKey:"y",translatePoint:g.translate,drawPoint:g.drawPoints,drawDataLabels:h.drawDataLabels,setShapeArgs:h.translate,pointClass:b});d.registerSeriesType("lollipop",a);"";return a});c(b,"masters/modules/lollipop.src.js",[],function(){})}); +//# sourceMappingURL=lollipop.js.map \ No newline at end of file diff --git a/docs/reference/libs/highcharts-10.2.0/modules/map.js b/docs/reference/libs/highcharts-10.2.0/modules/map.js new file mode 100644 index 0000000..5d2feab --- /dev/null +++ b/docs/reference/libs/highcharts-10.2.0/modules/map.js @@ -0,0 +1,180 @@ +/* + Highmaps JS v10.2.0 (2022-07-05) + + Highmaps as a plugin for Highcharts or Highcharts Stock. + + (c) 2011-2021 Torstein Honsi + + License: www.highcharts.com/license +*/ +(function(b){"object"===typeof module&&module.exports?(b["default"]=b,module.exports=b):"function"===typeof define&&define.amd?define("highcharts/modules/map",["highcharts"],function(v){b(v);b.Highcharts=v;return b}):b("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(b){function v(b,l,q,k){b.hasOwnProperty(l)||(b[l]=k.apply(null,q),"function"===typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:l,module:b[l]}})))}b=b?b._modules:{};v(b,"Core/Axis/Color/ColorAxisComposition.js", +[b["Core/Color/Color.js"],b["Core/Utilities.js"]],function(b,l){var q=b.parse,k=l.addEvent,p=l.extend,h=l.merge,e=l.pick,t=l.splat,n;(function(d){function n(){var f=this,m=this.options;this.colorAxis=[];m.colorAxis&&(m.colorAxis=t(m.colorAxis),m.colorAxis.forEach(function(m,a){m.index=a;new B(f,m)}))}function a(f){var m=this,a=function(a){a=f.allItems.indexOf(a);-1!==a&&(m.destroyItem(f.allItems[a]),f.allItems.splice(a,1))},c=[],w,x;(this.chart.colorAxis||[]).forEach(function(f){(w=f.options)&&w.showInLegend&& +(w.dataClasses&&w.visible?c=c.concat(f.getDataClassLegendSymbols()):w.visible&&c.push(f),f.series.forEach(function(f){if(!f.options.showInLegend||w.dataClasses)"point"===f.options.legendType?f.points.forEach(function(f){a(f)}):a(f)}))});for(x=c.length;x--;)f.allItems.unshift(c[x])}function c(f){f.visible&&f.item.legendColor&&f.item.legendSymbol.attr({fill:f.item.legendColor})}function g(){var f=this.chart.colorAxis;f&&f.forEach(function(f,m,a){f.update({},a)})}function u(){(this.chart.colorAxis&& +this.chart.colorAxis.length||this.colorAttribs)&&this.translateColors()}function D(){var f=this.axisTypes;f?-1===f.indexOf("colorAxis")&&f.push("colorAxis"):this.axisTypes=["colorAxis"]}function F(f){var m=this,a=f?"show":"hide";m.visible=m.options.visible=!!f;["graphic","dataLabel"].forEach(function(f){if(m[f])m[f][a]()});this.series.buildKDTree()}function r(){var f=this,m=this.options.nullColor,a=this.colorAxis,c=this.colorKey;(this.data.length?this.data:this.points).forEach(function(w){var x=w.getNestedProperty(c); +(x=w.options.color||(w.isNull||null===w.value?m:a&&"undefined"!==typeof x?a.toColor(x,w):w.color||f.color))&&w.color!==x&&(w.color=x,"point"===f.options.legendType&&w.legendItem&&f.chart.legend.colorizeItem(w,w.visible))})}function z(f){var m=f.prototype.createAxis;f.prototype.createAxis=function(f,a){if("colorAxis"!==f)return m.apply(this,arguments);var c=new B(this,h(a.axis,{index:this[f].length,isX:!1}));this.isDirtyLegend=!0;this.axes.forEach(function(f){f.series=[]});this.series.forEach(function(f){f.bindAxes(); +f.isDirtyData=!0});e(a.redraw,!0)&&this.redraw(a.animation);return c}}function x(){this.elem.attr("fill",q(this.start).tweenTo(q(this.end),this.pos),void 0,!0)}function f(){this.elem.attr("stroke",q(this.start).tweenTo(q(this.end),this.pos),void 0,!0)}var m=[],B;d.compose=function(d,h,e,y,w){B||(B=d);-1===m.indexOf(h)&&(m.push(h),d=h.prototype,d.collectionsWithUpdate.push("colorAxis"),d.collectionsWithInit.colorAxis=[d.addColorAxis],k(h,"afterGetAxes",n),z(h));-1===m.indexOf(e)&&(m.push(e),h=e.prototype, +h.fillSetter=x,h.strokeSetter=f);-1===m.indexOf(y)&&(m.push(y),k(y,"afterGetAllItems",a),k(y,"afterColorizeItem",c),k(y,"afterUpdate",g));-1===m.indexOf(w)&&(m.push(w),p(w.prototype,{optionalAxis:"colorAxis",translateColors:r}),p(w.prototype.pointClass.prototype,{setVisible:F}),k(w,"afterTranslate",u),k(w,"bindAxes",D))};d.pointSetVisible=F})(n||(n={}));return n});v(b,"Core/Axis/Color/ColorAxisDefaults.js",[],function(){return{lineWidth:0,minPadding:0,maxPadding:0,gridLineWidth:1,tickPixelInterval:72, +startOnTick:!0,endOnTick:!0,offset:0,marker:{animation:{duration:50},width:.01,color:"#999999"},labels:{overflow:"justify",rotation:0},minColor:"#e6ebf5",maxColor:"#003399",tickLength:5,showInLegend:!0}});v(b,"Core/Axis/Color/ColorAxis.js",[b["Core/Axis/Axis.js"],b["Core/Color/Color.js"],b["Core/Axis/Color/ColorAxisComposition.js"],b["Core/Axis/Color/ColorAxisDefaults.js"],b["Core/Globals.js"],b["Core/Legend/LegendSymbol.js"],b["Core/Series/SeriesRegistry.js"],b["Core/Utilities.js"]],function(b,l, +q,k,p,h,e,t){var n=this&&this.__extends||function(){var a=function(c,g){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,f){a.__proto__=f}||function(a,f){for(var m in f)f.hasOwnProperty(m)&&(a[m]=f[m])};return a(c,g)};return function(c,g){function x(){this.constructor=c}a(c,g);c.prototype=null===g?Object.create(g):(x.prototype=g.prototype,new x)}}(),d=l.parse,y=p.noop,a=e.series,c=t.extend,g=t.isNumber,u=t.merge,D=t.pick;l=function(e){function r(a,c){var f=e.call(this,a,c)||this; +f.beforePadding=!1;f.chart=void 0;f.coll="colorAxis";f.dataClasses=void 0;f.legendItem=void 0;f.legendItems=void 0;f.name="";f.options=void 0;f.stops=void 0;f.visible=!0;f.init(a,c);return f}n(r,e);r.compose=function(a,c,f,m){q.compose(r,a,c,f,m)};r.prototype.init=function(a,c){var f=a.options.legend||{},m=c.layout?"vertical"!==c.layout:"vertical"!==f.layout,g=c.visible;f=u(r.defaultColorAxisOptions,c,{showEmpty:!1,title:null,visible:f.enabled&&!1!==g});this.coll="colorAxis";this.side=c.side||m?2: +1;this.reversed=c.reversed||!m;this.opposite=!m;e.prototype.init.call(this,a,f);this.userOptions.visible=g;c.dataClasses&&this.initDataClasses(c);this.initStops();this.horiz=m;this.zoomEnabled=!1};r.prototype.initDataClasses=function(a){var c=this.chart,f=this.options,m=a.dataClasses.length,g,z=0,r=c.options.chart.colorCount;this.dataClasses=g=[];this.legendItems=[];(a.dataClasses||[]).forEach(function(a,x){a=u(a);g.push(a);if(c.styledMode||!a.color)"category"===f.dataClassColor?(c.styledMode||(x= +c.options.colors,r=x.length,a.color=x[z]),a.colorIndex=z,z++,z===r&&(z=0)):a.color=d(f.minColor).tweenTo(d(f.maxColor),2>m?.5:x/(m-1))})};r.prototype.hasData=function(){return!!(this.tickPositions||[]).length};r.prototype.setTickPositions=function(){if(!this.dataClasses)return e.prototype.setTickPositions.call(this)};r.prototype.initStops=function(){this.stops=this.options.stops||[[0,this.options.minColor],[1,this.options.maxColor]];this.stops.forEach(function(a){a.color=d(a[1])})};r.prototype.setOptions= +function(a){e.prototype.setOptions.call(this,a);this.options.crosshair=this.options.marker};r.prototype.setAxisSize=function(){var a=this.legendSymbol,c=this.chart,f=c.options.legend||{},m,g;a?(this.left=f=a.attr("x"),this.top=m=a.attr("y"),this.width=g=a.attr("width"),this.height=a=a.attr("height"),this.right=c.chartWidth-f-g,this.bottom=c.chartHeight-m-a,this.len=this.horiz?g:a,this.pos=this.horiz?f:m):this.len=(this.horiz?f.symbolWidth:f.symbolHeight)||r.defaultLegendLength};r.prototype.normalizedValue= +function(a){this.logarithmic&&(a=this.logarithmic.log2lin(a));return 1-(this.max-a)/(this.max-this.min||1)};r.prototype.toColor=function(a,c){var f=this.dataClasses,m=this.stops,g;if(f)for(g=f.length;g--;){var x=f[g];var u=x.from;m=x.to;if(("undefined"===typeof u||a>=u)&&("undefined"===typeof m||a<=m)){var d=x.color;c&&(c.dataClass=g,c.colorIndex=x.colorIndex);break}}else{a=this.normalizedValue(a);for(g=m.length;g--&&!(a>m[g][0]););u=m[g]||m[g+1];m=m[g+1]||u;a=1-(m[0]-a)/(m[0]-u[0]||1);d=u.color.tweenTo(m.color, +a)}return d};r.prototype.getOffset=function(){var a=this.legendGroup,c=this.chart.axisOffset[this.side];if(a){this.axisParent=a;e.prototype.getOffset.call(this);var f=this.chart.legend;f.allItems.forEach(function(a){a instanceof r&&a.drawLegendSymbol(f,a)});f.render();this.chart.getMargins(!0);this.added||(this.added=!0,this.labelLeft=0,this.labelRight=this.width);this.chart.axisOffset[this.side]=c}};r.prototype.setLegendColor=function(){var a=this.reversed,c=a?1:0;a=a?0:1;c=this.horiz?[c,0,a,0]: +[0,a,0,c];this.legendColor={linearGradient:{x1:c[0],y1:c[1],x2:c[2],y2:c[3]},stops:this.stops}};r.prototype.drawLegendSymbol=function(a,c){var f=a.padding,m=a.options,g=this.horiz,x=D(m.symbolWidth,g?r.defaultLegendLength:12),u=D(m.symbolHeight,g?12:r.defaultLegendLength),d=D(m.labelPadding,g?16:30);m=D(m.itemDistance,10);this.setLegendColor();c.legendSymbol||(c.legendSymbol=this.chart.renderer.rect(0,a.baseline-11,x,u).attr({zIndex:1}).add(c.legendGroup));this.legendItemWidth=x+f+(g?m:this.options.labels.x+ +this.maxLabelLength);this.legendItemHeight=u+f+(g?d:0)};r.prototype.setState=function(a){this.series.forEach(function(c){c.setState(a)})};r.prototype.setVisible=function(){};r.prototype.getSeriesExtremes=function(){var c=this.series,g=c.length,f;this.dataMin=Infinity;for(this.dataMax=-Infinity;g--;){var m=c[g];var u=m.colorKey=D(m.options.colorKey,m.colorKey,m.pointValKey,m.zoneAxis,"y");var d=m.pointArrayMap;var r=m[u+"Min"]&&m[u+"Max"];if(m[u+"Data"])var e=m[u+"Data"];else if(d){e=[];d=d.indexOf(u); +var n=m.yData;if(0<=d&&n)for(f=0;fg+u&&(d=g+u+2);c.plotX=d;c.plotY=this.len-d;e.prototype.drawCrosshair.call(this,a,c);c.plotX=f;c.plotY=m;this.cross&&!this.cross.addedToColorAxis&&this.legendGroup&&(this.cross.addClass("highcharts-coloraxis-marker").add(this.legendGroup),this.cross.addedToColorAxis=!0,this.chart.styledMode||"object"!==typeof this.crosshair||this.cross.attr({fill:this.crosshair.color}))}};r.prototype.getPlotLinePath=function(a){var c= +this.left,f=a.translatedValue,m=this.top;return g(f)?this.horiz?[["M",f-4,m-6],["L",f+4,m-6],["L",f,m],["Z"]]:[["M",c,f],["L",c-6,f+6],["L",c-6,f-6],["Z"]]:e.prototype.getPlotLinePath.call(this,a)};r.prototype.update=function(a,c){var f=this.chart.legend;this.series.forEach(function(a){a.isDirtyData=!0});(a.dataClasses&&f.allItems||this.dataClasses)&&this.destroyItems();e.prototype.update.call(this,a,c);this.legendItem&&(this.setLegendColor(),f.colorizeItem(this,!0))};r.prototype.destroyItems=function(){var a= +this.chart;this.legendItem?a.legend.destroyItem(this):this.legendItems&&this.legendItems.forEach(function(c){a.legend.destroyItem(c)});a.isDirtyLegend=!0};r.prototype.destroy=function(){this.chart.isDirtyLegend=!0;this.destroyItems();e.prototype.destroy.apply(this,[].slice.call(arguments))};r.prototype.remove=function(a){this.destroyItems();e.prototype.remove.call(this,a)};r.prototype.getDataClassLegendSymbols=function(){var a=this,g=a.chart,f=a.legendItems,m=g.options.legend,u=m.valueDecimals,d= +m.valueSuffix||"",r;f.length||a.dataClasses.forEach(function(m,x){var w=m.from,A=m.to,L=g.numberFormatter,J=!0;r="";"undefined"===typeof w?r="< ":"undefined"===typeof A&&(r="> ");"undefined"!==typeof w&&(r+=L(w,u)+d);"undefined"!==typeof w&&"undefined"!==typeof A&&(r+=" - ");"undefined"!==typeof A&&(r+=L(A,u)+d);f.push(c({chart:g,name:r,options:{},drawLegendSymbol:h.drawRectangle,visible:!0,setState:y,isDataClass:!0,setVisible:function(){this.visible=J=a.visible=!J;a.series.forEach(function(a){a.points.forEach(function(a){a.dataClass=== +x&&a.setVisible(J)})});g.legend.colorizeItem(this,J)}},m))});return f};r.defaultColorAxisOptions=k;r.defaultLegendLength=200;r.keepProps=["legendGroup","legendItemHeight","legendItemWidth","legendItem","legendSymbol"];return r}(b);Array.prototype.push.apply(b.keepProps,l.keepProps);"";return l});v(b,"Maps/MapNavigationOptionsDefault.js",[b["Core/DefaultOptions.js"],b["Core/Utilities.js"]],function(b,l){l=l.extend;var q={buttonOptions:{alignTo:"plotBox",align:"left",verticalAlign:"top",x:0,width:18, +height:18,padding:5,style:{fontSize:"15px",fontWeight:"bold"},theme:{"stroke-width":1,"text-align":"center"}},buttons:{zoomIn:{onclick:function(){this.mapZoom(.5)},text:"+",y:0},zoomOut:{onclick:function(){this.mapZoom(2)},text:"-",y:28}},mouseWheelSensitivity:1.1};l(b.defaultOptions.lang,{zoomIn:"Zoom in",zoomOut:"Zoom out"});return b.defaultOptions.mapNavigation=q});v(b,"Maps/MapNavigation.js",[b["Core/Chart/Chart.js"],b["Core/Globals.js"],b["Core/Utilities.js"]],function(b,l,q){function k(a){a&& +(a.preventDefault&&a.preventDefault(),a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)}function p(a){this.navButtons=[];this.init(a)}var h=l.doc,e=q.addEvent,t=q.extend,n=q.isNumber,d=q.merge,y=q.objectEach,a=q.pick;p.prototype.init=function(a){this.chart=a};p.prototype.update=function(c){var g=this,u=this.chart,n=u.options.mapNavigation,h,r=function(a){this.handler.call(u,a);k(a)},p=g.navButtons;c&&(n=u.options.mapNavigation=d(u.options.mapNavigation,c));for(;p.length;)p.pop().destroy(); +a(n.enableButtons,n.enabled)&&!u.renderer.forExport&&(g.navButtonsGroup||(g.navButtonsGroup=u.renderer.g().attr({zIndex:4}).add()),y(n.buttons,function(a,f){a=d(n.buttonOptions,a);!u.styledMode&&a.theme&&(h=a.theme,h.style=d(a.theme.style,a.style));var c=u.renderer.button(a.text||"",0,0,r,h,void 0,void 0,void 0,"zoomIn"===f?"topbutton":"bottombutton").addClass("highcharts-map-navigation highcharts-"+{zoomIn:"zoom-in",zoomOut:"zoom-out"}[f]).attr({width:a.width,height:a.height,title:u.options.lang[f], +padding:a.padding,zIndex:5}).add(g.navButtonsGroup);c.handler=a.onclick;e(c.element,"dblclick",k);p.push(c);t(a,{width:c.width,height:2*c.height});if(u.hasLoaded)c.align(a,!1,a.alignTo);else var x=e(u,"load",function(){c.element&&c.align(a,!1,a.alignTo);x()})}),c=function(){var a=u.exportingGroup&&u.exportingGroup.getBBox();if(a){var f=g.navButtonsGroup.getBBox();if(!(f.x>=a.x+a.width||f.x+f.width<=a.x||f.y>=a.y+a.height||f.y+f.height<=a.y)){var c=-f.y-f.height+a.y-5;a=a.y+a.height-f.y+5;g.navButtonsGroup.attr({translateY:"bottom"=== +(n.buttonOptions&&n.buttonOptions.verticalAlign)?c:a})}}},u.hasLoaded||e(u,"render",c));this.updateEvents(n)};p.prototype.updateEvents=function(c){var g=this.chart;a(c.enableDoubleClickZoom,c.enabled)||c.enableDoubleClickZoomTo?this.unbindDblClick=this.unbindDblClick||e(g.container,"dblclick",function(a){g.pointer.onContainerDblClick(a)}):this.unbindDblClick&&(this.unbindDblClick=this.unbindDblClick());a(c.enableMouseWheelZoom,c.enabled)?this.unbindMouseWheel=this.unbindMouseWheel||e(g.container, +void 0!==h.onwheel?"wheel":void 0!==h.onmousewheel?"mousewheel":"DOMMouseScroll",function(a){g.pointer.inClass(a.target,"highcharts-no-mousewheel")||(g.pointer.onContainerMouseWheel(a),k(a));return!1}):this.unbindMouseWheel&&(this.unbindMouseWheel=this.unbindMouseWheel())};t(b.prototype,{fitToBox:function(a,g){[["x","width"],["y","height"]].forEach(function(c){var d=c[0];c=c[1];a[d]+a[c]>g[d]+g[c]&&(a[c]>g[c]?(a[c]=g[c],a[d]=g[d]):a[d]=g[d]+g[c]-a[c]);a[c]>g[c]&&(a[c]=g[c]);a[d]e&&d.isInsidePlot(n.chartX-d.plotLeft,n.chartY-d.plotTop)&&d.mapView&&d.mapView.zoomBy((d.options.mapNavigation.mouseWheelSensitivity-1)*-h,void 0,[n.chartX,n.chartY],1>Math.abs(h)?!1:void 0)}});l(b.prototype,"zoomOption",function(e){var d=this.chart.options.mapNavigation;p(d.enableTouchZoom,d.enabled)&&(this.chart.options.chart.pinchType= +"xy");e.apply(this,[].slice.call(arguments,1))});l(b.prototype,"pinchTranslate",function(e,d,h,a,c,g,u){e.call(this,d,h,a,c,g,u);"map"===this.chart.options.chart.type&&this.hasZoom&&(e=a.scaleX>a.scaleY,this.pinchTranslateDirection(!e,d,h,a,c,g,u,e?a.scaleX:a.scaleY))})});v(b,"Series/ColorMapComposition.js",[b["Core/Series/SeriesRegistry.js"],b["Core/Utilities.js"]],function(b,l){var q=b.seriesTypes.column.prototype,k=l.addEvent,p=l.defined,h;(function(e){function h(d){this.moveToTopOnHover&&this.graphic&& +this.graphic.attr({zIndex:d&&"hover"===d.state?1:0})}var n=[];e.pointMembers={dataLabelOnNull:!0,moveToTopOnHover:!0,isValid:function(){return null!==this.value&&Infinity!==this.value&&-Infinity!==this.value&&(void 0===this.value||!isNaN(this.value))}};e.seriesMembers={colorKey:"value",axisTypes:["xAxis","yAxis","colorAxis"],parallelArrays:["x","y","value"],pointArrayMap:["value"],trackerGroups:["group","markerGroup","dataLabelsGroup"],colorAttribs:function(d){var e={};!p(d.color)||d.state&&"normal"!== +d.state||(e[this.colorProp||"fill"]=d.color);return e},pointAttribs:q.pointAttribs};e.compose=function(d){var e=d.prototype.pointClass;-1===n.indexOf(e)&&(n.push(e),k(e,"afterSetState",h));return d}})(h||(h={}));return h});v(b,"Maps/MapSymbols.js",[b["Core/Renderer/SVG/SVGRenderer.js"]],function(b){function l(b,k,p,h,e,t,n,d){return[["M",b+e,k],["L",b+p-t,k],["C",b+p-t/2,k,b+p,k+t/2,b+p,k+t],["L",b+p,k+h-n],["C",b+p,k+h-n/2,b+p-n/2,k+h,b+p-n,k+h],["L",b+d,k+h],["C",b+d/2,k+h,b,k+h-d/2,b,k+h-d],["L", +b,k+e],["C",b,k+e/2,b+e/2,k,b+e,k],["Z"]]}b=b.prototype.symbols;b.bottombutton=function(b,k,p,h,e){e=e&&e.r||0;return l(b-1,k-1,p,h,0,0,e,e)};b.topbutton=function(b,k,p,h,e){e=e&&e.r||0;return l(b-1,k-1,p,h,e,e,0,0)};return b});v(b,"Core/Chart/MapChart.js",[b["Core/Chart/Chart.js"],b["Core/DefaultOptions.js"],b["Core/Renderer/SVG/SVGRenderer.js"],b["Core/Utilities.js"]],function(b,l,q,k){var p=this&&this.__extends||function(){var e=function(d,b){e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&& +function(a,c){a.__proto__=c}||function(a,c){for(var g in c)c.hasOwnProperty(g)&&(a[g]=c[g])};return e(d,b)};return function(d,b){function a(){this.constructor=d}e(d,b);d.prototype=null===b?Object.create(b):(a.prototype=b.prototype,new a)}}(),h=l.getOptions,e=k.merge,t=k.pick;b=function(b){function d(){return null!==b&&b.apply(this,arguments)||this}p(d,b);d.prototype.init=function(d,a){var c=h().credits;d=e({chart:{panning:{enabled:!0,type:"xy"},type:"map"},credits:{mapText:t(c.mapText,' \u00a9 {geojson.copyrightShort}'), +mapTextFull:t(c.mapTextFull,"{geojson.copyright}")},mapView:{},tooltip:{followTouchMove:!1}},d);b.prototype.init.call(this,d,a)};return d}(b);(function(e){e.maps={};e.mapChart=function(d,b,a){return new e(d,b,a)};e.splitPath=function(d){"string"===typeof d&&(d=d.replace(/([A-Za-z])/g," $1 ").replace(/^\s*/,"").replace(/\s*$/,""),d=d.split(/[ ,;]+/).map(function(d){return/[A-za-z]/.test(d)?d:parseFloat(d)}));return q.prototype.pathToSegments(d)}})(b||(b={}));return b});v(b,"Maps/MapUtilities.js",[], +function(){return{boundsFromPath:function(b){var l=-Number.MAX_VALUE,q=Number.MAX_VALUE,k=-Number.MAX_VALUE,p=Number.MAX_VALUE,h;b.forEach(function(e){var b=e[e.length-2];e=e[e.length-1];"number"===typeof b&&"number"===typeof e&&(q=Math.min(q,b),l=Math.max(l,b),p=Math.min(p,e),k=Math.max(k,e),h=!0)});if(h)return{x1:q,y1:p,x2:l,y2:k}},pointInPolygon:function(b,l){var q,k=!1,p=b.x,h=b.y;b=0;for(q=l.length-1;bh;var t=l[q][1]>h;e!==t&&p<(l[q][0]-l[b][0])*(h-l[b][1])/(l[q][1]- +l[b][1])+l[b][0]&&(k=!k)}return k}}});v(b,"Series/Map/MapPoint.js",[b["Series/ColorMapComposition.js"],b["Maps/MapUtilities.js"],b["Core/Series/SeriesRegistry.js"],b["Core/Utilities.js"]],function(b,l,q,k){var p=this&&this.__extends||function(){var d=function(b,a){d=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,g){a.__proto__=g}||function(a,g){for(var c in g)g.hasOwnProperty(c)&&(a[c]=g[c])};return d(b,a)};return function(b,a){function c(){this.constructor=b}d(b,a);b.prototype= +null===a?Object.create(a):(c.prototype=a.prototype,new c)}}(),h=l.boundsFromPath,e=k.extend,t=k.isNumber,n=k.pick;l=function(b){function d(){var a=null!==b&&b.apply(this,arguments)||this;a.options=void 0;a.path=void 0;a.series=void 0;return a}p(d,b);d.getProjectedPath=function(a,c){a.projectedPath||(c&&a.geometry?(c.hasCoordinates=!0,a.projectedPath=c.path(a.geometry)):a.projectedPath=a.path);return a.projectedPath||[]};d.prototype.applyOptions=function(a,c){var g=this.series;a=b.prototype.applyOptions.call(this, +a,c);c=g.joinBy;g.mapData&&g.mapMap&&(c=b.prototype.getNestedProperty.call(a,c[1]),(g="undefined"!==typeof c&&g.mapMap[c])?e(a,g):a.value=a.value||null);return a};d.prototype.getProjectedBounds=function(a){a=d.getProjectedPath(this,a);a=h(a);var c=this.properties;if(a){var g=c&&c["hc-middle-x"];c=c&&c["hc-middle-y"];a.midX=a.x1+(a.x2-a.x1)*n(this.middleX,t(g)?g:.5);g=n(this.middleY,t(c)?c:.5);this.geometry||(g=1-g);a.midY=a.y2-(a.y2-a.y1)*g;return a}};d.prototype.onMouseOver=function(a){k.clearTimeout(this.colorInterval); +if(!this.isNull||this.series.options.nullInteraction)b.prototype.onMouseOver.call(this,a);else this.series.onMouseOut(a)};d.prototype.zoomTo=function(){var a=this.series.chart;a.mapView&&this.bounds&&(a.mapView.fitToBounds(this.bounds,void 0,!1),this.series.isDirty=!0,a.redraw())};return d}(q.seriesTypes.scatter.prototype.pointClass);e(l.prototype,{dataLabelOnNull:b.pointMembers.dataLabelOnNull,moveToTopOnHover:b.pointMembers.moveToTopOnHover,isValid:b.pointMembers.isValid});return l});v(b,"Maps/MapViewOptionsDefault.js", +[],function(){return{center:[0,0],maxZoom:void 0,padding:0,projection:{name:void 0,parallels:void 0,rotation:void 0},zoom:void 0}});v(b,"Maps/MapViewInsetsOptionsDefault.js",[],function(){return{borderColor:"#cccccc",borderWidth:1,center:[0,0],padding:"10%",relativeTo:"mapBoundingBox",units:"percent"}});v(b,"Extensions/GeoJSON.js",[b["Core/Chart/Chart.js"],b["Core/FormatUtilities.js"],b["Core/Globals.js"],b["Core/Utilities.js"]],function(b,l,q,k){function p(a,c){c||(c=Object.keys(a.objects)[0]);c= +a.objects[c];if(c["hc-decoded-geojson"])return c["hc-decoded-geojson"];var g=a.arcs;if(a.transform){var b=a.transform,d=b.scale,e=b.translate;g=a.arcs.map(function(a){var c=0,f=0;return a.map(function(a){a=a.slice();a[0]=(c+=a[0])*d[0]+e[0];a[1]=(f+=a[1])*d[1]+e[1];return a})})}var r=function(a){return"number"===typeof a[0]?a.reduce(function(a,f,c){var m=0>f?g[~f]:g[f];0>f?(m=m.slice(0,0===c?m.length:m.length-1),m.reverse()):c&&(m=m.slice(1));return a.concat(m)},[]):a.map(r)};b=c.geometries.map(function(a){return{type:"Feature", +properties:a.properties,geometry:{type:a.type,coordinates:a.coordinates||r(a.arcs)}}});a={type:"FeatureCollection",copyright:a.copyright,copyrightShort:a.copyrightShort,copyrightUrl:a.copyrightUrl,features:b,"hc-recommended-mapview":c["hc-recommended-mapview"],bbox:a.bbox,title:a.title};return c["hc-decoded-geojson"]=a}function h(a,c,g){void 0===c&&(c="map");var b=[];a="Topology"===a.type?p(a):a;a.features.forEach(function(a){var g=a.geometry||{},e=g.type;g=g.coordinates;a=a.properties;var u;"map"!== +c&&"mapbubble"!==c||"Polygon"!==e&&"MultiPolygon"!==e?"mapline"!==c||"LineString"!==e&&"MultiLineString"!==e?"mappoint"===c&&"Point"===e&&g.length&&(u={geometry:{coordinates:g,type:e}}):g.length&&(u={geometry:{coordinates:g,type:e}}):g.length&&(u={geometry:{coordinates:g,type:e}});u&&(e=a&&(a.name||a.NAME),b.push(d(u,{name:"string"===typeof e?e:void 0,properties:a})))});g&&a.copyrightShort&&(g.chart.mapCredits=e(g.chart.options.credits.mapText,{geojson:a}),g.chart.mapCreditsFull=e(g.chart.options.credits.mapTextFull, +{geojson:a}));return b}var e=l.format,t=q.win,n=k.error,d=k.extend,y=k.merge;l=k.wrap;"";b.prototype.transformFromLatLon=function(a,c){var g=this.options.chart.proj4||t.proj4;if(g){var b=c.jsonmarginX;b=void 0===b?0:b;var d=c.jsonmarginY;d=void 0===d?0:d;var e=c.jsonres;e=void 0===e?1:e;var r=c.scale;r=void 0===r?1:r;var h=c.xoffset;h=void 0===h?0:h;var p=c.xpan;p=void 0===p?0:p;var f=c.yoffset;f=void 0===f?0:f;var m=c.ypan;m=void 0===m?0:m;a=g(c.crs,[a.lon,a.lat]);g=c.cosAngle||c.rotation&&Math.cos(c.rotation); +var k=c.sinAngle||c.rotation&&Math.sin(c.rotation);c=c.rotation?[a[0]*g+a[1]*k,-a[0]*k+a[1]*g]:a;return{x:((c[0]-h)*r+p)*e+b,y:-(((f-c[1])*r+m)*e-d)}}n(21,!1,this)};b.prototype.transformToLatLon=function(a,c){var g=this.options.chart.proj4||t.proj4;if(!g)n(21,!1,this);else if(null!==a.y){var b=c.jsonmarginX,d=c.jsonmarginY,e=c.jsonres;e=void 0===e?1:e;var r=c.scale;r=void 0===r?1:r;var h=c.xoffset,p=c.xpan,f=c.yoffset,m=c.ypan;a={x:((a.x-(void 0===b?0:b))/e-(void 0===p?0:p))/r+(void 0===h?0:h),y:((a.y- +(void 0===d?0:d))/e+(void 0===m?0:m))/r+(void 0===f?0:f)};b=c.cosAngle||c.rotation&&Math.cos(c.rotation);d=c.sinAngle||c.rotation&&Math.sin(c.rotation);c=g(c.crs,"WGS84",c.rotation?{x:a.x*b+a.y*-d,y:a.x*d+a.y*b}:a);return{lat:c.y,lon:c.x}}};b.prototype.fromPointToLatLon=function(a){return this.mapView&&this.mapView.projectedUnitsToLonLat(a)};b.prototype.fromLatLonToPoint=function(a){return this.mapView&&this.mapView.lonLatToProjectedUnits(a)};l(b.prototype,"addCredits",function(a,c){c=y(!0,this.options.credits, +c);this.mapCredits&&(c.href=null);a.call(this,c);this.credits&&this.mapCreditsFull&&this.credits.attr({title:this.mapCreditsFull})});q.geojson=h;return{geojson:h,topo2geo:p}});v(b,"Core/Geometry/PolygonClip.js",[],function(){var b=function(b,p,h){return(p[0]-b[0])*(h[1]-b[1])>(p[1]-b[1])*(h[0]-b[0])},l=function(b,p,h,e){var k=[b[0]-p[0],b[1]-p[1]],n=[h[0]-e[0],h[1]-e[1]];b=b[0]*p[1]-b[1]*p[0];h=h[0]*e[1]-h[1]*e[0];e=1/(k[0]*n[1]-k[1]*n[0]);k=[(b*n[0]-h*k[0])*e,(b*n[1]-h*k[1])*e];k.isIntersection= +!0;return k},q;(function(k){k.clipLineString=function(b,h){var e=[];b=k.clipPolygon(b,h,!1);for(h=1;hMath.abs(p)&&(p=1e-10* +(b(p)||1));this.n=p;this.c=h*Math.pow(Math.tan((q+k)/2),p)/p}k.prototype.forward=function(b){var h=b[0]*l,e=this.c,k=this.n,n=this.projectedBounds;b=b[1]*l;0q-.000001&&(b=q-.000001);var d=e/Math.pow(Math.tan((q+b)/2),k);b=d*Math.sin(k*h)*63.78137;h=63.78137*(e-d*Math.cos(k*h));e=[b,h];n&&(bn.x2||hn.y2)&&(e.outside=!0);return e};k.prototype.inverse=function(k){var h=k[0]/63.78137,e=this.c,p=this.n;k=e-k[1]/63.78137;var n=b(p)*Math.sqrt(h*h+k*k),d= +Math.atan2(h,Math.abs(k))*b(k);0>k*p&&(d-=Math.PI*b(h)*b(k));return[d/p/l,(2*Math.atan(Math.pow(e/n,1/p))-q)/l]};return k}()});v(b,"Maps/Projections/EqualEarth.js",[],function(){var b=Math.sqrt(3)/2;return function(){function l(){this.bounds={x1:-200.37508342789243,x2:200.37508342789243,y1:-97.52595454902263,y2:97.52595454902263}}l.prototype.forward=function(l){var k=Math.PI/180,p=Math.asin(b*Math.sin(l[1]*k)),h=p*p,e=h*h*h;return[l[0]*k*Math.cos(p)*74.03120656864502/(b*(1.340264+3*-.081106*h+e*(7* +.000893+.034164*h))),74.03120656864502*p*(1.340264+-.081106*h+e*(.000893+.003796*h))]};l.prototype.inverse=function(l){var k=l[0]/74.03120656864502;l=l[1]/74.03120656864502;var p=180/Math.PI,h=l,e;for(e=0;12>e;++e){var q=h*h;var n=q*q*q;var d=h*(1.340264+-.081106*q+n*(.000893+.003796*q))-l;q=1.340264+3*-.081106*q+n*(7*.000893+.034164*q);h-=d/=q;if(1e-9>Math.abs(d))break}q=h*h;return[p*b*k*(1.340264+3*-.081106*q+q*q*q*(7*.000893+.034164*q))/Math.cos(h),p*Math.asin(Math.sin(h)/b)]};return l}()});v(b, +"Maps/Projections/Miller.js",[],function(){var b=Math.PI/4,l=Math.PI/180;return function(){function q(){this.bounds={x1:-200.37508342789243,x2:200.37508342789243,y1:-146.91480769173063,y2:146.91480769173063}}q.prototype.forward=function(k){return[k[0]*l*63.78137,79.7267125*Math.log(Math.tan(b+.4*k[1]*l))]};q.prototype.inverse=function(k){return[k[0]/63.78137/l,2.5*(Math.atan(Math.exp(k[1]/63.78137*.8))-b)/l]};return q}()});v(b,"Maps/Projections/Orthographic.js",[],function(){var b=Math.PI/180;return function(){function l(){this.antimeridianCutting= +!1;this.bounds={x1:-63.78460826781007,x2:63.78460826781007,y1:-63.78460826781007,y2:63.78460826781007}}l.prototype.forward=function(l){var k=l[0];l=l[1]*b;l=[Math.cos(l)*Math.sin(k*b)*63.78460826781007,63.78460826781007*Math.sin(l)];if(-90>k||90b&&(b+=360);180t;t+=a){var C=d((1-t)*p)/d(p),G=d(t*p)/d(p),w=C*e(k)*e(l)+G*e(f)*e(m),A=C*e(k)*d(l)+G*e(f)*d(m);C=C*d(k)+G*d(f);C=c(C,h(w*w+A*A));w=c(A,w);q.push([w/n,C/n])}g&&q.push(b);return q};b.insertGreatCircles=function(a){for(var c=a.length-1;c--;)if(10=f!==a[b]>=f)return c=c[g]+(f-c[b])/(a[b]-c[b])*(a[g]-c[g]),b?[c,f]:[f,c]},k=a[0];if(b=h(a,0,b.x1))k=b,a[1]=b;else if(b=h(a,0,g))k=b,a[1]=b;if(b=h(a,1,e))k= +b;else if(b=h(a,1,d))k=b;return k};b.prototype.getRotator=function(a){var b=a[0]*n,g=(a[1]||0)*n;a=(a[2]||0)*n;var e=Math.cos(g),d=Math.sin(g),h=Math.cos(a),k=Math.sin(a);if(0!==b||0!==g||0!==a)return{forward:function(a){var c=a[0]*n+b,f=a[1]*n,g=Math.cos(f);a=Math.cos(c)*g;c=Math.sin(c)*g;f=Math.sin(f);g=f*e+a*d;return[Math.atan2(c*h-g*k,a*e-f*d)/n,Math.asin(g*h+c*k)/n]},inverse:function(a){var c=a[0]*n,f=a[1]*n,g=Math.cos(f);a=Math.cos(c)*g;c=Math.sin(c)*g;f=Math.sin(f);g=f*h-c*k;return[(Math.atan2(c* +h+f*k,a*e+g*d)-b)/n,Math.asin(g*e-a*d)/n]}}};b.prototype.forward=function(a){return a};b.prototype.inverse=function(a){return a};b.prototype.cutOnAntimeridian=function(a,c){var g=[],h=[a];a.forEach(function(b,f){var d=a[f-1];if(!f){if(!c)return;d=a[a.length-1]}var m=d[0],w=b[0];(-90>m||90w||90m?1:-1,previousLonLat:d,lonLat:b}))});if(g.length)if(c){if(1===g.length%2){var l= +g.slice().sort(function(a,b){return Math.abs(b.lat)-Math.abs(a.lat)})[0];t(g,l)}for(var n=g.length-2;0<=n;){var r=g[n].i,p=d(180+.000001*g[n].direction),x=d(180-.000001*g[n].direction);r=a.splice.apply(a,k([r,g[n+1].i-r],b.greatCircle([p,g[n].lat],[p,g[n+1].lat],!0),!1));r.push.apply(r,b.greatCircle([x,g[n+1].lat],[x,g[n].lat],!0));h.push(r);n-=2}if(l)for(p=0;pf?-1:1)*this.maxLatitude;var m=d(180+.000001*n),q=d(180- +.000001*n);f=b.greatCircle([m,f],[m,p],!0);for(m+=120*n;-180m;m+=120*n)f.push([m,p]);f.push.apply(f,b.greatCircle([q,p],[q,l.lat],!0));x.splice.apply(x,k([r,0],f,!1));break}}}else for(n=g.length;n--;)r=g[n].i,r=a.splice(r,a.length,[d(180+.000001*g[n].direction),g[n].lat]),r.unshift([d(180-.000001*g[n].direction),g[n].lat]),h.push(r);return h};b.prototype.path=function(a){var c=this,g=this.bounds,d=this.def,e=this.rotator,k=[],n="Polygon"===a.type||"MultiPolygon"===a.type,l=this.hasGeoProjection, +x=!d||!1!==d.antimeridianCutting,f=x?e:void 0,m=x?d||this:this,q;g&&(q=[[g.x1,g.y1],[g.x2,g.y1],[g.x2,g.y2],[g.x1,g.y2]]);var t=function(a){a=a.map(function(a){if(x){f&&(a=f.forward(a));var b=a[0];.000001>Math.abs(b-180)&&(b=180>b?179.999999:180.000001);a=[b,a[1]]}return a});var d=[a];l&&(b.insertGreatCircles(a),x&&(d=c.cutOnAntimeridian(a,n)));d.forEach(function(a){if(!(2>a.length)){var f=!1,c=!1,d=function(a){f?k.push(["L",a[0],a[1]]):(k.push(["M",a[0],a[1]]),f=!0)},e=!1,r=!1,u=a.map(function(a){a= +m.forward(a);a.outside?e=!0:r=!0;Infinity===a[1]?a[1]=1E10:-Infinity===a[1]&&(a[1]=-1E10);return a});if(x){n&&u.push(u[0]);if(e){if(!r)return;if(q)if(n)u=h(u,q);else if(g){p(u,q).forEach(function(a){f=!1;a.forEach(d)});return}}u.forEach(d)}else for(var K=0;Kb+m&&l>b&&(a[0]+=Math.min(n-m-b, +l-b)/h);k-pe+g&&p>e&&(a[1]-=Math.min(k-g-e,p-e)/h);this.center=this.projection.inverse(a);this.insets.forEach(function(a){a.options.field&&(a.hitZone=a.getHitZone(),a.playingField=a.getField())});this.render()}D(this,"afterSetView");f&&this.redraw(c)};a.prototype.projectedUnitsToPixels=function(a){var b=this.getScale(),f=this.projection.forward(this.center),c=this.playingField;return{x:c.x+c.width/2-b*(f[0]-a.x),y:c.y+c.height/2+b*(f[1]-a.y)}}; +a.prototype.pixelsToLonLat=function(a){return this.projectedUnitsToLonLat(this.pixelsToProjectedUnits(a))};a.prototype.pixelsToProjectedUnits=function(a){var b=a.x;a=a.y;var f=this.getScale(),c=this.projection.forward(this.center),d=this.playingField;return{x:c[0]+(b-(d.x+d.width/2))/f,y:c[1]-(a-(d.y+d.height/2))/f}};a.prototype.setUpEvents=function(){var a=this,b=this.chart,f,c,d,e=function(g){var e=b.pointer.pinchDown,m=a.projection,h=b.mouseDownX,k=b.mouseDownY;1===e.length&&(h=e[0].chartX,k=e[0].chartY); +if("number"===typeof h&&"number"===typeof k){var n=""+h+",".concat(k),l=g.originalEvent;e=l.chartX;l=l.chartY;n!==c&&(c=n,f=a.projection.forward(a.center),d=(a.projection.options.rotation||[0,0]).slice());n=(n=m.def&&m.def.bounds)&&H(n,a.playingField)||-Infinity;"Orthographic"===m.options.name&&(a.minZoom||Infinity)<1.1*n?(m=440/(a.getScale()*Math.min(b.plotWidth,b.plotHeight)),d&&(h=(h-e)*m-d[0],k=u(-d[1]-(k-l)*m,-80,80),e=a.zoom,a.update({projection:{rotation:[-h,-k]}},!1),a.zoom=e,b.redraw(!1))): +(m=a.getScale(),k=a.projection.inverse([f[0]+(h-e)/m,f[1]-(k-l)/m]),a.setView(k,void 0,!0,!1));g.preventDefault()}};g(b,"pan",e);g(b,"touchpan",e);g(b,"selection",function(f){if(f.resetSelection)a.zoomBy();else{var c=f.x-b.plotLeft,d=f.y-b.plotTop,g=a.pixelsToProjectedUnits({x:c,y:d}),e=g.y;g=g.x;c=a.pixelsToProjectedUnits({x:c+f.width,y:d+f.height});a.fitToBounds({x1:g,y1:e,x2:c.x,y2:c.y},void 0,!0,f.originalEvent.touches?!1:void 0);/^touch/.test(f.originalEvent.type)||b.showResetZoom();f.preventDefault()}})}; +a.prototype.render=function(){this.group||(this.group=this.chart.renderer.g("map-view").attr({zIndex:4}).add())};a.prototype.update=function(a,b,c){void 0===b&&(b=!0);var d=a.projection;d=d&&h.toString(d)!==h.toString(this.options.projection);var g=!1;f(!0,this.userOptions,a);f(!0,this.options,a);"insets"in a&&(this.insets.forEach(function(a){return a.destroy()}),this.insets.length=0,g=!0);if(d||g)this.chart.series.forEach(function(a){var b=a.transformGroups;a.clearBounds&&a.clearBounds();a.isDirty= +!0;a.isDirtyData=!0;if(g&&b)for(;1=b.x1&&a.x<=b.x2&&a.y>=b.y1&&a.y<=b.y2&&f&&c(a,f))};d.prototype.render=function(){var a=this.chart,b=this.mapView,f=this.options,c=f.borderPath||f.field;if(c&&b.group){var d=!0;this.border||(this.border=a.renderer.path().addClass("highcharts-mapview-inset-border").add(b.group), +d=!1);a.styledMode||this.border.attr({stroke:f.borderColor,"stroke-width":f.borderWidth});var g=Math.round(this.border.strokeWidth())%2/2,e="mapBoundingBox"===f.relativeTo&&b.getMapBBox()||b.playingField;b=(c.coordinates||[]).reduce(function(b,c){return c.reduce(function(b,c,d){var m=c[0];c=c[1];"percent"===f.units&&(m=a.plotLeft+B(""+m+"%",e.width,e.x),c=a.plotTop+B(""+c+"%",e.height,e.y));m=Math.floor(m)+g;c=Math.floor(c)+g;b.push(0===d?["M",m,c]:["L",m,c]);return b},b)},[]);this.border[d?"animate": +"attr"]({d:b})}};d.prototype.destroy=function(){this.border&&(this.border=this.border.destroy());this.eventsToUnbind.forEach(function(a){return a()})};d.prototype.setUpEvents=function(){};return d}(I);g(k,"afterInit",function(){this.mapView=new I(this,this.options.mapView)});return I});v(b,"Series/Map/MapSeries.js",[b["Core/Animation/AnimationUtilities.js"],b["Series/ColorMapComposition.js"],b["Series/CenteredUtilities.js"],b["Core/Globals.js"],b["Core/Legend/LegendSymbol.js"],b["Core/Chart/MapChart.js"], +b["Series/Map/MapPoint.js"],b["Maps/MapView.js"],b["Core/Series/Series.js"],b["Core/Series/SeriesRegistry.js"],b["Core/Renderer/SVG/SVGRenderer.js"],b["Core/Utilities.js"]],function(b,l,q,k,p,h,e,t,n,d,y,a){var c=this&&this.__extends||function(){var a=function(b,f){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,b){a.__proto__=b}||function(a,b){for(var f in b)b.hasOwnProperty(f)&&(a[f]=b[f])};return a(b,f)};return function(b,f){function c(){this.constructor=b}a(b,f);b.prototype= +null===f?Object.create(f):(c.prototype=f.prototype,new c)}}(),g=b.animObject;b=k.noop;var u=h.splitPath;h=d.seriesTypes;var D=h.column,F=h.scatter;h=a.extend;var r=a.find,z=a.fireEvent,x=a.getNestedProperty,f=a.isArray,m=a.isNumber,B=a.isObject,H=a.merge,I=a.objectEach,C=a.pick,G=a.splat;a=function(a){function b(){var b=null!==a&&a.apply(this,arguments)||this;b.chart=void 0;b.data=void 0;b.group=void 0;b.joinBy=void 0;b.options=void 0;b.points=void 0;b.processedData=[];return b}c(b,a);b.prototype.animate= +function(a){var b=this.chart,f=this.group,c=g(this.options.animation);b.renderer.isSVG&&(a?f.attr({translateX:b.plotLeft+b.plotWidth/2,translateY:b.plotTop+b.plotHeight/2,scaleX:.001,scaleY:.001}):f.animate({translateX:b.plotLeft,translateY:b.plotTop,scaleX:1,scaleY:1},c))};b.prototype.animateDrilldown=function(a){var b=this.chart,f=this.group;b.renderer.isSVG&&(a?f.attr({translateX:b.plotLeft+b.plotWidth/2,translateY:b.plotTop+b.plotHeight/2,scaleX:.1,scaleY:.1,opacity:.01}):(f.animate({translateX:b.plotLeft, +translateY:b.plotTop,scaleX:1,scaleY:1,opacity:1},this.chart.options.drilldown.animation),b.drilldown&&b.drilldown.fadeInGroup(this.dataLabelsGroup)))};b.prototype.animateDrillupFrom=function(){var a=this.chart;a.renderer.isSVG&&this.group.animate({translateX:a.plotLeft+a.plotWidth/2,translateY:a.plotTop+a.plotHeight/2,scaleX:.1,scaleY:.1,opacity:.01})};b.prototype.animateDrillupTo=function(a){D.prototype.animateDrillupTo.call(this,a)};b.prototype.clearBounds=function(){this.points.forEach(function(a){delete a.bounds; +delete a.insetIndex;delete a.projectedPath});delete this.bounds};b.prototype.doFullTranslate=function(){return!(!(this.isDirtyData||this.chart.isResizing||this.chart.renderer.isVML)&&this.hasRendered)};b.prototype.drawMapDataLabels=function(){n.prototype.drawDataLabels.call(this);this.dataLabelsGroup&&this.dataLabelsGroup.clip(this.chart.clipRect)};b.prototype.drawPoints=function(){var a=this,b=this,f=this.chart,c=this.group,d=this.transformGroups,g=void 0===d?[]:d,e=f.mapView,m=f.renderer;e&&(this.transformGroups= +g,g[0]||(g[0]=m.g().add(c)),e.insets.forEach(function(a,b){g[b+1]||g.push(m.g().add(c))}),this.doFullTranslate()&&(this.points.forEach(function(b){var c=b.graphic,d=b.shapeArgs;b.group=g["number"===typeof b.insetIndex?b.insetIndex+1:0];c&&c.parentGroup!==b.group&&c.add(b.group);d&&f.hasRendered&&!f.styledMode&&(d.fill=a.pointAttribs(b,b.state).fill)}),D.prototype.drawPoints.apply(this),this.points.forEach(function(c){var d=c.graphic;if(d){var g=d.animate,e="";c.name&&(e+="highcharts-name-"+c.name.replace(/ /g, +"-").toLowerCase());c.properties&&c.properties["hc-key"]&&(e+=" highcharts-key-"+c.properties["hc-key"].toString().toLowerCase());e&&d.addClass(e);f.styledMode&&d.css(a.pointAttribs(c,c.selected&&"select"||void 0));d.animate=function(a,c,e){var m=!1;if(a["stroke-width"]){var h=C(b.getStrokeWidth(b.options),1)/(f.mapView&&f.mapView.getScale()||1);"inherit"===d["stroke-width"]&&(d["stroke-width"]=h);"inherit"===a["stroke-width"]&&(a["stroke-width"]=h,m=!0)}return g.call(d,a,c,m?function(){d.attr({"stroke-width":"inherit"}); +e&&e.apply(this,arguments)}:e)}}})),g.forEach(function(b,c){var d=(0===c?e:e.insets[c-1]).getSVGTransform(),g=C(a.getStrokeWidth(a.options),1),h=d.scaleX,k=0g.length&&"string"===typeof c[0]&&(r[h]["hc-key"]=c[0],++k);for(var n=0;n"},turboThreshold:0,allAreas:!0,borderColor:"#cccccc",borderWidth:1,joinBy:"hc-key",states:{hover:{halo:null,brightness:.2},normal:{animation:!0},select:{color:"#cccccc"},inactive:{opacity:1}}});return b}(F);h(a.prototype,{type:"map",axisTypes:l.seriesMembers.axisTypes, +colorAttribs:l.seriesMembers.colorAttribs,colorKey:l.seriesMembers.colorKey,directTouch:!0,drawDataLabels:b,drawGraph:b,drawLegendSymbol:p.drawRectangle,forceDL:!0,getCenter:q.getCenter,getExtremesFromAll:!0,getSymbol:b,isCartesian:!1,parallelArrays:l.seriesMembers.parallelArrays,pointArrayMap:l.seriesMembers.pointArrayMap,pointClass:e,preserveAspectRatio:!0,searchPoint:b,trackerGroups:l.seriesMembers.trackerGroups,useMapGeometry:!0});l.compose(a);d.registerSeriesType("map",a);"";return a});v(b,"Series/MapLine/MapLineSeries.js", +[b["Series/Map/MapSeries.js"],b["Core/Series/SeriesRegistry.js"],b["Core/Utilities.js"]],function(b,l,q){var k=this&&this.__extends||function(){var b=function(e,d){b=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(b,a){b.__proto__=a}||function(b,a){for(var c in a)a.hasOwnProperty(c)&&(b[c]=a[c])};return b(e,d)};return function(e,d){function h(){this.constructor=e}b(e,d);e.prototype=null===d?Object.create(d):(h.prototype=d.prototype,new h)}}(),p=l.series,h=q.extend,e=q.merge;q=function(h){function n(){var b= +null!==h&&h.apply(this,arguments)||this;b.data=void 0;b.options=void 0;b.points=void 0;return b}k(n,h);n.prototype.pointAttribs=function(d,e){d=b.prototype.pointAttribs.call(this,d,e);d.fill=this.options.fillColor;return d};n.defaultOptions=e(b.defaultOptions,{lineWidth:1,fillColor:"none"});return n}(b);h(q.prototype,{type:"mapline",colorProp:"stroke",drawLegendSymbol:p.prototype.drawLegendSymbol,pointAttrToOptions:{stroke:"color","stroke-width":"lineWidth"}});l.registerSeriesType("mapline",q);""; +return q});v(b,"Series/MapPoint/MapPointPoint.js",[b["Core/Series/SeriesRegistry.js"],b["Core/Utilities.js"]],function(b,l){var q=this&&this.__extends||function(){var b=function(h,e){b=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(b,e){b.__proto__=e}||function(b,e){for(var d in e)e.hasOwnProperty(d)&&(b[d]=e[d])};return b(h,e)};return function(h,e){function k(){this.constructor=h}b(h,e);h.prototype=null===e?Object.create(e):(k.prototype=e.prototype,new k)}}(),k=l.isNumber;return function(b){function h(){var e= +null!==b&&b.apply(this,arguments)||this;e.options=void 0;e.series=void 0;return e}q(h,b);h.prototype.isValid=function(){return!!(this.options.geometry||k(this.x)&&k(this.y)||k(this.options.lon)&&k(this.options.lat))};return h}(b.seriesTypes.scatter.prototype.pointClass)});v(b,"Series/MapPoint/MapPointSeries.js",[b["Core/Globals.js"],b["Series/MapPoint/MapPointPoint.js"],b["Core/Series/SeriesRegistry.js"],b["Core/Utilities.js"]],function(b,l,q,k){var p=this&&this.__extends||function(){var b=function(a, +c){b=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,b){a.__proto__=b}||function(a,b){for(var c in b)b.hasOwnProperty(c)&&(a[c]=b[c])};return b(a,c)};return function(a,c){function d(){this.constructor=a}b(a,c);a.prototype=null===c?Object.create(c):(d.prototype=c.prototype,new d)}}();b=b.noop;var h=q.seriesTypes.scatter,e=k.extend,t=k.fireEvent,n=k.isNumber,d=k.merge;k=function(b){function a(){var a=null!==b&&b.apply(this,arguments)||this;a.chart=void 0;a.data=void 0;a.options=void 0; +a.points=void 0;return a}p(a,b);a.prototype.drawDataLabels=function(){b.prototype.drawDataLabels.call(this);this.dataLabelsGroup&&this.dataLabelsGroup.clip(this.chart.clipRect)};a.prototype.projectPoint=function(a){var b=this.chart.mapView;if(b){var c=a.geometry,d=a.lon;a=a.lat;c=c&&"Point"===c.type&&c.coordinates;n(d)&&n(a)&&(c=[d,a]);if(c)return b.lonLatToProjectedUnits({lon:c[0],lat:c[1]})}};a.prototype.translate=function(){var a=this,b=this.chart.mapView;this.processedXData||this.processData(); +this.generatePoints();this.getProjectedBounds&&this.isDirtyData&&(delete this.bounds,this.getProjectedBounds());if(b){var d=b.projection.hasCoordinates;this.points.forEach(function(c){var g=c.x;g=void 0===g?void 0:g;var e=c.y;e=void 0===e?void 0:e;var h=a.projectPoint(c.options);h?(g=h.x,e=h.y):c.bounds&&(g=c.bounds.midX,e=c.bounds.midY);n(g)&&n(e)?(g=b.projectedUnitsToPixels({x:g,y:e}),c.plotX=g.x,c.plotY=d?g.y:a.chart.plotHeight-g.y):c.y=c.plotX=c.plotY=void 0;c.isInside=a.isPointInside(c);c.zone= +a.zones.length?c.getZone():void 0})}t(this,"afterTranslate")};a.defaultOptions=d(h.defaultOptions,{dataLabels:{crop:!1,defer:!1,enabled:!0,formatter:function(){return this.point.name},overflow:!1,style:{color:"#000000"}}});return a}(h);e(k.prototype,{type:"mappoint",axisTypes:["colorAxis"],forceDL:!0,isCartesian:!1,pointClass:l,searchPoint:b,useMapGeometry:!0});q.registerSeriesType("mappoint",k);"";return k});v(b,"Series/Bubble/BubbleLegendDefaults.js",[],function(){return{borderColor:void 0,borderWidth:2, +className:void 0,color:void 0,connectorClassName:void 0,connectorColor:void 0,connectorDistance:60,connectorWidth:1,enabled:!1,labels:{className:void 0,allowOverlap:!1,format:"",formatter:void 0,align:"right",style:{fontSize:"10px",color:"#000000"},x:0,y:0},maxSize:60,minSize:10,legendIndex:0,ranges:{value:void 0,borderColor:void 0,color:void 0,connectorColor:void 0},sizeBy:"area",sizeByAbsoluteValue:!1,zIndex:1,zThreshold:0}});v(b,"Series/Bubble/BubbleLegendItem.js",[b["Core/Color/Color.js"],b["Core/FormatUtilities.js"], +b["Core/Globals.js"],b["Core/Utilities.js"]],function(b,l,q,k){var p=b.parse,h=q.noop,e=k.arrayMax,t=k.arrayMin,n=k.isNumber,d=k.merge,y=k.pick,a=k.stableSort;"";return function(){function b(a,b){this.options=this.symbols=this.visible=this.selected=this.ranges=this.movementX=this.maxLabel=this.legendSymbol=this.legendItemWidth=this.legendItemHeight=this.legendItem=this.legendGroup=this.legend=this.fontMetrics=this.chart=void 0;this.setState=h;this.init(a,b)}b.prototype.init=function(a,b){this.options= +a;this.visible=!0;this.chart=b.chart;this.legend=b};b.prototype.addToLegend=function(a){a.splice(this.options.legendIndex,0,this)};b.prototype.drawLegendSymbol=function(b){var c=this.chart,d=this.options,g=y(b.options.itemDistance,20),e=d.ranges,h=d.connectorDistance;this.fontMetrics=c.renderer.fontMetrics(d.labels.style.fontSize);e&&e.length&&n(e[0].value)?(a(e,function(a,b){return b.value-a.value}),this.ranges=e,this.setOptions(),this.render(),b=this.getMaxLabelSize(),e=this.ranges[0].radius,c= +2*e,h=h-e+b.width,h=0=b&&this.renderRange(a)},this);this.legendSymbol.add(this.legendItem);this.legendItem.add(this.legendGroup); +this.hideOverlappingLabels()};b.prototype.renderRange=function(a){var b=this.options,c=b.labels,d=this.chart,e=d.series[b.seriesIndex],g=d.renderer,h=this.symbols;d=h.labels;var f=a.center,m=Math.abs(a.radius),k=b.connectorDistance||0,n=c.align,l=b.connectorWidth,p=this.ranges[0].radius||0,q=f-m-b.borderWidth/2+l/2,t=this.fontMetrics;t=t.f/2-(t.h-t.f)/2;var y=g.styledMode;k=this.legend.options.rtl||"left"===n?-k:k;"center"===n&&(k=0,b.connectorDistance=0,a.labelAttribs.align="center");n=q+b.labels.y; +var v=p+k+b.labels.x;h.bubbleItems.push(g.circle(p,f+((q%1?1:.5)-(l%2?0:.5)),m).attr(y?{}:a.bubbleAttribs).addClass((y?"highcharts-color-"+e.colorIndex+" ":"")+"highcharts-bubble-legend-symbol "+(b.className||"")).add(this.legendSymbol));h.connectors.push(g.path(g.crispLine([["M",p,q],["L",p+k,q]],b.connectorWidth)).attr(y?{}:a.connectorAttribs).addClass((y?"highcharts-color-"+this.options.seriesIndex+" ":"")+"highcharts-bubble-legend-connectors "+(b.connectorClassName||"")).add(this.legendSymbol)); +a=g.text(this.formatLabel(a),v,n+t).attr(y?{}:a.labelAttribs).css(y?{}:c.style).addClass("highcharts-bubble-legend-labels "+(b.labels.className||"")).add(this.legendSymbol);d.push(a);a.placed=!0;a.alignAttr={x:v,y:n+t}};b.prototype.getMaxLabelSize=function(){var a,b;this.symbols.labels.forEach(function(c){b=c.getBBox(!0);a=a?b.width>a.width?b:a:b});return a||{}};b.prototype.formatLabel=function(a){var b=this.options,c=b.labels.formatter;b=b.labels.format;var d=this.chart.numberFormatter;return b? +l.format(b,a):c?c.call(a):d(a.value,1)};b.prototype.hideOverlappingLabels=function(){var a=this.chart,b=this.symbols;!this.options.labels.allowOverlap&&b&&(a.hideOverlappingLabels(b.labels),b.labels.forEach(function(a,c){a.newOpacity?a.newOpacity!==a.oldOpacity&&b.connectors[c].show():b.connectors[c].hide()}))};b.prototype.getRanges=function(){var a=this.legend.bubbleLegend,b=a.options.ranges,c,h=Number.MAX_VALUE,k=-Number.MAX_VALUE;a.chart.series.forEach(function(a){a.isBubble&&!a.ignoreSeries&& +(c=a.zData.filter(n),c.length&&(h=y(a.options.zMin,Math.min(h,Math.max(t(c),!1===a.options.displayNegative?a.options.zThreshold:-Number.MAX_VALUE))),k=y(a.options.zMax,Math.max(k,e(c)))))});var l=h===k?[{value:k}]:[{value:h},{value:(h+k)/2},{value:k,autoRanges:!0}];b.length&&b[0].radius&&l.reverse();l.forEach(function(a,c){b&&b[c]&&(l[c]=d(b[c],a))});return l};b.prototype.predictBubbleSizes=function(){var a=this.chart,b=this.fontMetrics,c=a.legend.options,d=c.floating,e=(c="horizontal"===c.layout)? +a.legend.lastLineHeight:0,h=a.plotSizeX,k=a.plotSizeY,f=a.series[this.options.seriesIndex],m=f.getPxExtremes();a=Math.ceil(m.minPxSize);m=Math.ceil(m.maxPxSize);var l=Math.min(k,h);f=f.options.maxSize;if(d||!/%$/.test(f))b=m;else if(f=parseFloat(f),b=(l+e-b.h/2)*f/100/(f/100+1),c&&k-b>=h||!c&&h-b>=k)b=m;return[a,Math.ceil(b)]};b.prototype.updateRanges=function(a,b){var c=this.legend.options.bubbleLegend;c.minSize=a;c.maxSize=b;c.ranges=this.getRanges()};b.prototype.correctSizes=function(){var a=this.legend, +b=this.chart.series[this.options.seriesIndex].getPxExtremes();1e.height&&(e.height=a[d].itemHeight);e.step=f}return b}function g(b){var c=this.bubbleLegend,d=this.options,f=d.bubbleLegend,e=a(this.chart);c&&c.ranges&&c.ranges.length&&(f.ranges.length&&(f.autoRanges=!!f.ranges[0].autoRanges),this.destroyItem(c));0<=e&&d.enabled&&f.enabled&&(f.seriesIndex=e,this.bubbleLegend=new l(f,this),this.bubbleLegend.addToLegend(b.allItems))}function n(){var b=this.chart,c=this.visible,d=this.chart.legend;d&&d.bubbleLegend&&(this.visible= +!c,this.ignoreSeries=c,b=0<=a(b),d.bubbleLegend.visible!==b&&(d.update({bubbleLegend:{enabled:b}}),d.bubbleLegend.visible=b),this.visible=c)}function q(a,b){var c=a.options.rtl,d,e,g,h=0;a.allItems.forEach(function(a,f){d=a.legendGroup.translateX;e=a._legendItemPos[1];if((g=a.movementX)||c&&a.ranges)g=c?d-a.options.maxSize/2:d+g,a.legendGroup.attr({translateX:g});f>b[h].step&&h++;a.legendGroup.attr({translateY:Math.round(e+b[h].height/2)});a._legendItemPos[1]=e+b[h].height/2})}var v=[];d.compose= +function(a,c,d){-1===v.indexOf(a)&&(v.push(a),p({legend:{bubbleLegend:b}}),t(a.prototype,"drawChartBox",k));-1===v.indexOf(c)&&(v.push(c),h(c,"afterGetAllItems",g));-1===v.indexOf(d)&&(v.push(d),h(d,"legendItemClick",n))}})(n||(n={}));return n});v(b,"Series/Bubble/BubblePoint.js",[b["Core/Series/Point.js"],b["Core/Series/SeriesRegistry.js"],b["Core/Utilities.js"]],function(b,l,q){var k=this&&this.__extends||function(){var b=function(h,e){b=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(b, +e){b.__proto__=e}||function(b,e){for(var d in e)e.hasOwnProperty(d)&&(b[d]=e[d])};return b(h,e)};return function(h,e){function k(){this.constructor=h}b(h,e);h.prototype=null===e?Object.create(e):(k.prototype=e.prototype,new k)}}();q=q.extend;l=function(l){function h(){var b=null!==l&&l.apply(this,arguments)||this;b.options=void 0;b.series=void 0;return b}k(h,l);h.prototype.haloPath=function(e){return b.prototype.haloPath.call(this,0===e?0:(this.marker?this.marker.radius||0:0)+e)};return h}(l.seriesTypes.scatter.prototype.pointClass); +q(l.prototype,{ttBelow:!1});return l});v(b,"Series/Bubble/BubbleSeries.js",[b["Core/Axis/Axis.js"],b["Series/Bubble/BubbleLegendComposition.js"],b["Series/Bubble/BubblePoint.js"],b["Core/Color/Color.js"],b["Core/Globals.js"],b["Core/Series/Series.js"],b["Core/Series/SeriesRegistry.js"],b["Core/Utilities.js"]],function(b,l,q,k,p,h,e,t){var n=this&&this.__extends||function(){var a=function(b,c){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,b){a.__proto__=b}||function(a,b){for(var c in b)b.hasOwnProperty(c)&& +(a[c]=b[c])};return a(b,c)};return function(b,c){function d(){this.constructor=b}a(b,c);b.prototype=null===c?Object.create(c):(d.prototype=c.prototype,new d)}}(),d=k.parse;k=p.noop;var y=e.seriesTypes;p=y.column;var a=y.scatter;y=t.addEvent;var c=t.arrayMax,g=t.arrayMin,u=t.clamp,v=t.extend,E=t.isNumber,r=t.merge,z=t.pick;t=function(b){function f(){var a=null!==b&&b.apply(this,arguments)||this;a.data=void 0;a.maxPxSize=void 0;a.minPxSize=void 0;a.options=void 0;a.points=void 0;a.radii=void 0;a.yData= +void 0;a.zData=void 0;return a}n(f,b);f.prototype.animate=function(a){!a&&this.points.length=c/2?(f.marker=v(f.marker,{radius:e,width:2*e,height:2*e}),f.dlBox={x:f.plotX-e,y:f.plotY-e,width:2*e,height:2*e}):(f.shapeArgs=f.dlBox=void 0,f.plotY=0,f.marker={width:0,height:0})}};f.prototype.getPxExtremes=function(){var a=Math.min(this.chart.plotWidth,this.chart.plotHeight),b=function(b){if("string"===typeof b){var c= +/%$/.test(b);b=parseInt(b,10)}return c?a*b/100:b},c=b(z(this.options.minSize,8));b=Math.max(b(z(this.options.maxSize,"20%")),c);return{minPxSize:c,maxPxSize:b}};f.prototype.getZExtremes=function(){var a=this.options,b=(this.zData||[]).filter(E);if(b.length){var d=z(a.zMin,u(g(b),!1===a.displayNegative?a.zThreshold||0:-Number.MAX_VALUE,Number.MAX_VALUE));a=z(a.zMax,c(b));if(E(d)&&E(a))return{zMin:d,zMax:a}}};f.compose=l.compose;f.defaultOptions=r(a.defaultOptions,{dataLabels:{formatter:function(){var a= +this.series.chart.numberFormatter,b=this.point.z;return E(b)?a(b,-1):""},inside:!0,verticalAlign:"middle"},animationLimit:250,marker:{lineColor:null,lineWidth:1,fillOpacity:.5,radius:null,states:{hover:{radiusPlus:0}},symbol:"circle"},minSize:8,maxSize:"20%",softThreshold:!1,states:{hover:{halo:{size:5}}},tooltip:{pointFormat:"({point.x}, {point.y}), Size: {point.z}"},turboThreshold:0,zThreshold:0,zoneAxis:"z"});return f}(a);v(t.prototype,{alignDataLabel:p.prototype.alignDataLabel,applyZones:k,bubblePadding:!0, +buildKDTree:k,directTouch:!0,isBubble:!0,pointArrayMap:["y","z"],pointClass:q,parallelArrays:["x","y","z"],trackerGroups:["group","dataLabelsGroup"],specialGroup:"group",zoneAxis:"z"});y(t,"updatedData",function(a){delete a.target.chart.bubbleZExtremes});b.prototype.beforePadding=function(){var a=this,b=this.len,c=this.chart,d=0,e=b,g=this.isXAxis,h=g?"xData":"yData",k=this.min,l=this.max-k,n=b/l,p;this.series.forEach(function(b){if(b.bubblePadding&&(b.visible||!c.options.chart.ignoreHiddenSeries)){p= +a.allowZoomOutside=!0;var f=b[h];g&&((b.onPoint||b).getRadii(0,0,b),b.onPoint&&(b.radii=b.onPoint.radii));if(0"},states:{hover:{halo:!1,brightness:.2}}});return e}(a);g(h.prototype,{axisTypes:l.seriesMembers.axisTypes,colorKey:l.seriesMembers.colorKey,directTouch:!0,getExtremesFromAll:!0,parallelArrays:l.seriesMembers.parallelArrays,pointArrayMap:["y","value"],pointClass:q,trackerGroups:l.seriesMembers.trackerGroups, +alignDataLabel:v.prototype.alignDataLabel,colorAttribs:l.seriesMembers.colorAttribs,drawLegendSymbol:k.drawRectangle,getSymbol:n.prototype.getSymbol});l.compose(h);p.registerSeriesType("heatmap",h);"";"";return h});v(b,"masters/modules/map.src.js",[b["Core/Globals.js"],b["Core/Axis/Color/ColorAxis.js"],b["Series/MapBubble/MapBubbleSeries.js"],b["Core/Chart/MapChart.js"],b["Maps/MapView.js"],b["Maps/Projection.js"]],function(b,l,q,k,p,h){b.ColorAxis=l;b.MapChart=k;b.mapChart=b.Map=k.mapChart;b.MapView= +p;b.maps=k.maps;b.Projection=h;l.compose(b.Chart,b.Fx,b.Legend,b.Series);q.compose(b.Chart,b.Legend,b.Series)})}); +//# sourceMappingURL=map.js.map \ No newline at end of file diff --git a/docs/reference/libs/highcharts-10.2.0/modules/marker-clusters.js b/docs/reference/libs/highcharts-10.2.0/modules/marker-clusters.js new file mode 100644 index 0000000..00a1db3 --- /dev/null +++ b/docs/reference/libs/highcharts-10.2.0/modules/marker-clusters.js @@ -0,0 +1,45 @@ +/* + Highcharts JS v10.2.0 (2022-07-05) + + Marker clusters module for Highcharts + + (c) 2010-2021 Wojciech Chmiel + + License: www.highcharts.com/license +*/ +(function(n){"object"===typeof module&&module.exports?(n["default"]=n,module.exports=n):"function"===typeof define&&define.amd?define("highcharts/modules/marker-clusters",["highcharts"],function(w){n(w);n.Highcharts=w;return n}):n("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(n){function w(n,E,w,J){n.hasOwnProperty(E)||(n[E]=J.apply(null,w),"function"===typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:E,module:n[E]}})))}n=n?n._modules: +{};w(n,"Extensions/MarkerClusters.js",[n["Core/Animation/AnimationUtilities.js"],n["Core/Chart/Chart.js"],n["Core/DefaultOptions.js"],n["Core/Series/Point.js"],n["Core/Series/Series.js"],n["Core/Series/SeriesRegistry.js"],n["Core/Renderer/SVG/SVGRenderer.js"],n["Core/Utilities.js"],n["Core/Axis/Axis.js"]],function(n,w,ea,J,N,O,t,x,fa){function E(a){var b=a.length,c=0,e=0,d;for(d=0;dClustered points: {point.clusterPointsAmount}
"}});var I=function(a,b){var c=a.chart,e=a.xAxis;a=a.yAxis;return c.mapView?c.mapView.pixelsToProjectedUnits(b): +{x:e?e.toValue(b.x):0,y:a?a.toValue(b.y):0}},H=function(a,b){var c=a.chart,e=a.xAxis;a=a.yAxis;return c.mapView?c.mapView.projectedUnitsToPixels(b):{x:e?e.toPixels(b.x):0,y:a?a.toPixels(b.y):0}};K.cluster=function(a,b,c,e){c/=2;e/=2;var d=K.arc(a+c,b+e,c-4,e-4,{start:.5*Math.PI,end:2.5*Math.PI,open:!1}),h=K.arc(a+c,b+e,c-3,e-3,{start:.5*Math.PI,end:2.5*Math.PI,innerR:c-2,open:!1});return K.arc(a+c,b+e,c-1,e-1,{start:.5*Math.PI,end:2.5*Math.PI,innerR:c,open:!1}).concat(h,d)};t.prototype.animateClusterPoint= +function(a){var b=this.chart,c=b.mapView,e=X((this.options.cluster||{}).animation),d=e.duration||500,h=(this.markerClusterInfo||{}).pointsState,k=(h||{}).newState,m=(h||{}).oldState,r=[],p=h=0,q=0,l=!1,y=!1;if(m&&k){var g=k[a.stateId];h=H(this,g);p=h.x-(c?0:b.plotLeft);q=h.y-(c?0:b.plotTop);if(1===g.parentsId.length){a=(k||{})[a.stateId].parentsId[0];var f=m[a];g.point&&g.point.graphic&&f&&f.point&&f.point.plotX&&f.point.plotY&&f.point.plotX!==g.point.plotX&&f.point.plotY!==g.point.plotY&&(a=g.point.graphic.getBBox(), +h=g.point.graphic&&g.point.graphic.isImg?0:a.width/2,g.point.graphic.attr({x:f.point.plotX-h,y:f.point.plotY-h}),g.point.graphic.animate({x:p-(g.point.graphic.radius||0),y:q-(g.point.graphic.radius||0)},e,function(){y=!0;f.point&&f.point.destroy&&f.point.destroy()}),g.point.dataLabel&&g.point.dataLabel.alignAttr&&f.point.dataLabel&&f.point.dataLabel.alignAttr&&(g.point.dataLabel.attr({x:f.point.dataLabel.alignAttr.x,y:f.point.dataLabel.alignAttr.y}),g.point.dataLabel.animate({x:g.point.dataLabel.alignAttr.x, +y:g.point.dataLabel.alignAttr.y},e)))}else 0===g.parentsId.length?(V(g,!0,!0),L(function(){U(g,.1,e,!0,!0)},d/2)):(V(g,!0,!0),g.parentsId.forEach(function(a){m&&m[a]&&(f=m[a],r.push(f),f.point&&f.point.graphic&&(l=!0,f.point.graphic.show(),f.point.graphic.animate({x:p-(f.point.graphic.radius||0),y:q-(f.point.graphic.radius||0),opacity:.4},e,function(){y=!0;P(g,r,e,.7)}),f.point.dataLabel&&-9999!==f.point.dataLabel.y&&g.point&&g.point.dataLabel&&g.point.dataLabel.alignAttr&&(f.point.dataLabel.show(), +f.point.dataLabel.animate({x:g.point.dataLabel.alignAttr.x,y:g.point.dataLabel.alignAttr.y,opacity:.4},e))))}),L(function(){y||P(g,r,e,.85)},d),l||L(function(){P(g,r,e,.1)},d/2))}};t.prototype.getGridOffset=function(){var a=this.chart,b=this.xAxis,c=this.yAxis;b=b&&this.dataMinX&&this.dataMaxX?b.reversed?b.toPixels(this.dataMaxX):b.toPixels(this.dataMinX):a.plotLeft;a=c&&this.dataMinY&&this.dataMaxY?c.reversed?c.toPixels(this.dataMinY):c.toPixels(this.dataMaxY):a.plotTop;return{plotLeft:b,plotTop:a}}; +t.prototype.getScaledGridSize=function(a){var b=this.xAxis,c=this.chart.mapView;a=a.processedGridSize||C.layoutAlgorithm.gridSize;var e=!0,d=1,h=1;this.gridValueSize||(this.gridValueSize=c?a/c.getScale():Math.abs(b.toValue(a)-b.toValue(0)));b=c?this.gridValueSize*c.getScale():b.toPixels(this.gridValueSize)-b.toPixels(0);for(b=+(a/b).toFixed(14);e&&1!==b;)c=Math.pow(2,d),.75b?e=!1:b>=1/c&&b<1/c*2?(e=!1,h=c):b<=c&&b>c/2&&(e=!1,h=1/c),d++;return a/h/b};t.prototype.getRealExtremes=function(){var a= +this.chart,b=a.mapView?0:a.plotLeft,c=I(this,{x:b,y:a.mapView?0:a.plotTop}),e=I(this,{x:b+a.plotWidth,y:b+a.plotHeight});a=c.x;b=e.x;c=c.y;e=e.y;return{minX:Math.min(a,b),maxX:Math.max(a,b),minY:Math.min(c,e),maxY:Math.max(c,e)}};t.prototype.onDrillToCluster=function(a){(a.point||a.target).firePointEvent("drillToCluster",a,function(a){var b=a.point||a.target,e=b.series.xAxis,d=b.series.yAxis,h=b.series.chart,k=h.mapView;if((b.series.options.cluster||{}).drillToCluster&&b.clusteredData){var m=b.clusteredData.map(function(a){return a.x}).sort(function(a, +b){return a-b});b=b.clusteredData.map(function(a){return a.y}).sort(function(a,b){return a-b});var r=m[0],p=m[m.length-1];m=b[0];var q=b[b.length-1],l=Math.abs(.1*(p-r)),y=Math.abs(.1*(q-m));b=Math.min(r,p)-l;r=Math.max(r,p)+l;p=Math.min(m,q)-y;m=Math.max(m,q)+y;k?k.fitToBounds({x1:b,x2:r,y1:p,y2:m}):e&&d&&(h.pointer.zoomX=!0,h.pointer.zoomY=!0,h.zoom({originalEvent:a,xAxis:[{axis:e,min:b,max:r}],yAxis:[{axis:d,min:p,max:m}]}))}})};t.prototype.getClusterDistancesFromPoint=function(a,b,c){for(var e= +[],d=0;dd[f].oldX+1||d[f].posXd[f].oldY+1||d[f].posY +m.minX||d.initMaxY&&d.initMaxYm.minY?(d.initMaxX=m.maxX,d.initMinX=m.minX,d.initMaxY=m.maxY,d.initMinY=m.minY,k=d.markerClusterAlgorithms?d.markerClusterAlgorithms.kmeans.call(d,a,b,c,e):{},d.baseClusters=null):(d.baseClusters||(d.baseClusters={clusters:d.markerClusterInfo.clusters,noise:d.markerClusterInfo.noise}),d.baseClusters.clusters.forEach(function(a){a.pointsOutside=[];a.pointsInside=[];a.data.forEach(function(b){var e=H(d,b),c=H(d,a);q=Math.sqrt(Math.pow(e.x- +c.x,2)+Math.pow(e.y-c.y,2));l=a.clusterZone&&a.clusterZone.marker&&a.clusterZone.marker.radius?a.clusterZone.marker.radius:r&&r.radius?r.radius:C.marker.radius;p=0<=h-l?h-l:l;q>l+p&&B(a.pointsOutside)?a.pointsOutside.push(b):B(a.pointsInside)&&a.pointsInside.push(b)});a.pointsInside.length&&(k[a.id]=a.pointsInside);a.pointsOutside.forEach(function(b,e){k[a.id+"_noise"+e]=[b]})}),d.baseClusters.noise.forEach(function(a){k[a.id]=a.data}));return k}};t.prototype.preventClusterCollisions=function(a){var b= +this,c=a.key.split("-").map(parseFloat),e=c[0],d=c[1],h=a.gridSize,k=a.groupedData,m=a.defaultRadius,r=a.clusterRadius,p=d*h,q=e*h;c=H(b,a);var l=c.x,y=c.y;c=[];var g=0,f=0,n=(b.options.cluster||{}).marker,u=(b.options.cluster||{}).zones,v=b.getGridOffset(),t,da,z,x,w,A,F;l-=v.plotLeft;y-=v.plotTop;for(z=1;5>z;z++){var G=z%2?-1:1;var D=3>z?-1:1;G=Math.floor((l+G*r)/h);D=Math.floor((y+D*r)/h);G=[D+"-"+G,D+"-"+d,e+"-"+G];for(D=0;D=u[z].from&&g<=u[z].to&&(f=B((u[z].marker||{}).radius)?u[z].marker.radius||0:n&&n.radius?n.radius:C.marker.radius);1x-d?p+r:p+h-r);w!==e&&Math.abs(y-da)w-e?q+r:q+h-r)}});c=I(b,{x:l+ +v.plotLeft,y:y+v.plotTop});k[a.key].posX=c.x;k[a.key].posY=c.y;return c};t.prototype.isValidGroupedDataObject=function(a){var b=!1,c;if(!R(a))return!1;W(a,function(a){b=!0;if(Z(a)&&a.length)for(c=0;c=r){var l=a[q];var n=Math.random().toString(36).substring(2,7)+"-"+ca++;var g=l.length;if(b.zones)for(p=0;p=b.zones[p].from&&g<=b.zones[p].to){var f=b.zones[p];f.zoneIndex=p;var t=b.zones[p].marker;var u=b.zones[p].className}var v=E(l);"grid"!==b.layoutAlgorithm.type||b.allowOverlap?v={x:v.x,y:v.y}:(p=this.options.marker||{},v=this.preventClusterCollisions({x:v.x,y:v.y,key:q,groupedData:a,gridSize:this.getScaledGridSize(b.layoutAlgorithm), +defaultRadius:p.radius||3+(p.lineWidth||0),clusterRadius:t&&t.radius?t.radius:(b.marker||{}).radius||C.marker.radius}));for(p=0;p=k.minX-f&&e[u]<=k.maxX+f&&(d[u]||k.minY)>=k.minY-x&&(d[u]||k.maxY)<=k.maxY+x&&(m.push(e[u]),n.push(d[u]),p.push(u))}B(v)&&B(q)&&F(w)&&F(l)&&(a.dataMaxX=v,a.dataMinX=q,a.dataMaxY=w,a.dataMinY=l);k=Q(g)?g:a.markerClusterAlgorithms? +g&&a.markerClusterAlgorithms[g]?a.markerClusterAlgorithms[g]:m.lengtha?1:0)},barycenter:function(){var a=this.options.gravitationalConstant,d=this.barycenter.xFactor,c=this.barycenter.yFactor;d=(d-(this.box.left+this.box.width)/2)*a;c=(c-(this.box.top+this.box.height)/2)*a;this.nodes.forEach(function(a){a.fixedPosition||(a.plotX-=d/a.mass/a.degree,a.plotY-=c/a.mass/a.degree)})},repulsive:function(a,d,c){d=d*this.diffTemperature/a.mass/a.degree;a.fixedPosition|| +(a.plotX+=c.x*d,a.plotY+=c.y*d)},attractive:function(a,d,c){var e=a.getMass(),h=-c.x*d*this.diffTemperature;d=-c.y*d*this.diffTemperature;a.fromNode.fixedPosition||(a.fromNode.plotX-=h*e.fromNode/a.fromNode.degree,a.fromNode.plotY-=d*e.fromNode/a.fromNode.degree);a.toNode.fixedPosition||(a.toNode.plotX+=h*e.toNode/a.toNode.degree,a.toNode.plotY+=d*e.toNode/a.toNode.degree)},integrate:function(a,d){var c=-a.options.friction,e=a.options.maxSpeed,h=(d.plotX+d.dispX-d.prevX)*c;c*=d.plotY+d.dispY-d.prevY; +var f=Math.abs,m=f(h)/(h||1);f=f(c)/(c||1);h=m*Math.min(e,Math.abs(h));c=f*Math.min(e,Math.abs(c));d.prevX=d.plotX+d.dispX;d.prevY=d.plotY+d.dispY;d.plotX+=h;d.plotY+=c;d.temperature=a.vectorLength({x:h,y:c})},getK:function(a){return Math.pow(a.box.width*a.box.height/a.nodes.length,.5)}},euler:{attractiveForceFunction:function(a,d){return a*a/d},repulsiveForceFunction:function(a,d){return d*d/a},barycenter:function(){var a=this.options.gravitationalConstant,d=this.barycenter.xFactor,c=this.barycenter.yFactor; +this.nodes.forEach(function(e){if(!e.fixedPosition){var h=e.getDegree();h*=1+h/2;e.dispX+=(d-e.plotX)*a*h/e.degree;e.dispY+=(c-e.plotY)*a*h/e.degree}})},repulsive:function(a,d,c,e){a.dispX+=c.x/e*d/a.degree;a.dispY+=c.y/e*d/a.degree},attractive:function(a,d,c,e){var h=a.getMass(),f=c.x/e*d;d*=c.y/e;a.fromNode.fixedPosition||(a.fromNode.dispX-=f*h.fromNode/a.fromNode.degree,a.fromNode.dispY-=d*h.fromNode/a.fromNode.degree);a.toNode.fixedPosition||(a.toNode.dispX+=f*h.toNode/a.toNode.degree,a.toNode.dispY+= +d*h.toNode/a.toNode.degree)},integrate:function(a,d){d.dispX+=d.dispX*a.options.friction;d.dispY+=d.dispY*a.options.friction;var c=d.temperature=a.vectorLength({x:d.dispX,y:d.dispY});0!==c&&(d.plotX+=d.dispX/c*Math.min(Math.abs(d.dispX),a.temperature),d.plotY+=d.dispY/c*Math.min(Math.abs(d.dispY),a.temperature))},getK:function(a){return Math.pow(a.box.width*a.box.height/a.nodes.length,.3)}}}});l(f,"Series/Networkgraph/QuadTree.js",[f["Core/Globals.js"],f["Core/Utilities.js"]],function(f,a){a=a.extend; +var d=f.QuadTreeNode=function(a){this.box=a;this.boxSize=Math.min(a.width,a.height);this.nodes=[];this.body=this.isInternal=!1;this.isEmpty=!0};a(d.prototype,{insert:function(a,e){this.isInternal?this.nodes[this.getBoxPosition(a)].insert(a,e-1):(this.isEmpty=!1,this.body?e?(this.isInternal=!0,this.divideBox(),!0!==this.body&&(this.nodes[this.getBoxPosition(this.body)].insert(this.body,e-1),this.body=!0),this.nodes[this.getBoxPosition(a)].insert(a,e-1)):(e=new d({top:a.plotX,left:a.plotY,width:.1, +height:.1}),e.body=a,e.isInternal=!1,this.nodes.push(e)):(this.isInternal=!1,this.body=a))},updateMassAndCenter:function(){var a=0,e=0,d=0;this.isInternal?(this.nodes.forEach(function(c){c.isEmpty||(a+=c.mass,e+=c.plotX*c.mass,d+=c.plotY*c.mass)}),e/=a,d/=a):this.body&&(a=this.body.mass,e=this.body.plotX,d=this.body.plotY);this.mass=a;this.plotX=e;this.plotY=d},divideBox:function(){var a=this.box.width/2,e=this.box.height/2;this.nodes[0]=new d({left:this.box.left,top:this.box.top,width:a,height:e}); +this.nodes[1]=new d({left:this.box.left+a,top:this.box.top,width:a,height:e});this.nodes[2]=new d({left:this.box.left+a,top:this.box.top+e,width:a,height:e});this.nodes[3]=new d({left:this.box.left,top:this.box.top+e,width:a,height:e})},getBoxPosition:function(a){var c=a.plotYMath.abs(this.systemTemperature-this.prevSystemTemperature)||0>=this.temperature},getSystemTemperature:function(){return this.nodes.reduce(function(a,c){return a+c.temperature},0)},vectorLength:function(a){return Math.sqrt(a.x*a.x+ +a.y*a.y)},getDistR:function(a,c){a=this.getDistXY(a,c);return this.vectorLength(a)},getDistXY:function(a,c){var b=a.plotX-c.plotX;a=a.plotY-c.plotY;return{x:b,y:a,absX:Math.abs(b),absY:Math.abs(a)}}});a(f,"predraw",function(){this.graphLayoutsLookup&&this.graphLayoutsLookup.forEach(function(a){a.stop()})});a(f,"render",function(){function a(a){a.maxIterations--&&isFinite(a.temperature)&&!a.isStable()&&!a.enableSimulation&&(a.beforeStep&&a.beforeStep(),a.step(),d=!1,c=!0)}var c=!1;if(this.graphLayoutsLookup){e(!1, +this);for(this.graphLayoutsLookup.forEach(function(a){a.start()});!d;){var d=!0;this.graphLayoutsLookup.forEach(a)}c&&this.series.forEach(function(a){a&&a.layout&&a.render()})}});a(f,"beforePrint",function(){this.graphLayoutsLookup&&(this.graphLayoutsLookup.forEach(function(a){a.updateSimulation(!1)}),this.redraw())});a(f,"afterPrint",function(){this.graphLayoutsLookup&&this.graphLayoutsLookup.forEach(function(a){a.updateSimulation()});this.redraw()})});l(f,"Series/Networkgraph/DraggableNodes.js", +[f["Core/Chart/Chart.js"],f["Core/Globals.js"],f["Core/Utilities.js"]],function(f,a,d){var c=d.addEvent;a.dragNodesMixin={onMouseDown:function(a,c){c=this.chart.pointer.normalize(c);a.fixedPosition={chartX:c.chartX,chartY:c.chartY,plotX:a.plotX,plotY:a.plotY};a.inDragMode=!0},onMouseMove:function(a,c){if(a.fixedPosition&&a.inDragMode){var d=this.chart,e=d.pointer.normalize(c);c=a.fixedPosition.chartX-e.chartX;e=a.fixedPosition.chartY-e.chartY;var f=void 0,h=void 0,b=d.graphLayoutsLookup;if(5"+this.point.toNode.name},linkTextPath:{enabled:!0},textPath:{enabled:!1},style:{transition:"opacity 2000ms"}},link:{color:"rgba(100, 100, 100, 0.5)",width:1},draggable:!0,layoutAlgorithm:{initialPositions:"circle",initialPositionRadius:1,enableSimulation:!1,theta:.5,maxSpeed:10,approximation:"none",type:"reingold-fruchterman",integration:"euler",maxIterations:1E3,gravitationalConstant:.0625,friction:-.981},showInLegend:!1});return b}(c); +v(h.prototype,{forces:["barycenter","repulsive","attractive"],hasDraggableNodes:!0,drawGraph:void 0,isCartesian:!1,requireSorting:!1,directTouch:!0,noSharedTooltip:!0,pointArrayMap:["from","to"],trackerGroups:["group","markerGroup","dataLabelsGroup"],drawTracker:m.column.prototype.drawTracker,animate:void 0,buildKDTree:f.noop,createNode:a.createNode,destroy:function(){this.layout&&this.layout.removeElementFromCollection(this,this.layout.series);a.destroy.call(this)},init:function(){var a=this;c.prototype.init.apply(this, +arguments);t(this,"updatedData",function(){a.layout&&a.layout.stop()});t(this,"afterUpdate",function(){a.nodes.forEach(function(a){a&&a.series&&a.resolveColor()})});return this},generatePoints:function(){var b;a.generatePoints.apply(this,arguments);this.options.nodes&&this.options.nodes.forEach(function(a){this.nodeLookup[a.id]||(this.nodeLookup[a.id]=this.createNode(a.id))},this);for(b=this.nodes.length-1;0<=b;b--){var c=this.nodes[b];c.degree=c.getDegree();c.radius=p(c.marker&&c.marker.radius,this.options.marker&& +this.options.marker.radius,0);this.nodeLookup[c.id]||c.remove()}this.data.forEach(function(a){a.formatPrefix="link"});this.indexateNodes()},getPointsCollection:function(){return this.nodes||[]},indexateNodes:function(){this.nodes.forEach(function(a,b){a.index=b})},markerAttribs:function(a,d){d=c.prototype.markerAttribs.call(this,a,d);b(a.plotY)||(d.y=0);d.x=(a.plotX||0)-(d.width||0)/2;return d},translate:function(){this.processedXData||this.processData();this.generatePoints();this.deferLayout();this.nodes.forEach(function(a){a.isInside= +!0;a.linksFrom.forEach(function(a){a.shapeType="path";a.y=1})})},deferLayout:function(){var a=this.options.layoutAlgorithm,c=this.chart.graphLayoutsStorage,d=this.chart.graphLayoutsLookup,e=this.chart.options.chart;if(this.visible){c||(this.chart.graphLayoutsStorage=c={},this.chart.graphLayoutsLookup=d=[]);var h=c[a.type];h||(a.enableSimulation=b(e.forExport)?!e.forExport:a.enableSimulation,c[a.type]=h=new f.layouts[a.type],h.init(a),d.splice(h.index,0,h));this.layout=h;h.setArea(0,0,this.chart.plotWidth, +this.chart.plotHeight);h.addElementsToCollection([this],h.series);h.addElementsToCollection(this.nodes,h.nodes);h.addElementsToCollection(this.points,h.links)}},render:function(){var a=this.points,b=this.chart.hoverPoint,c=[];this.points=this.nodes;m.line.prototype.render.call(this);this.points=a;a.forEach(function(a){a.fromNode&&a.toNode&&(a.renderLink(),a.redrawLink())});b&&b.series===this&&this.redrawHalo(b);this.chart.hasRendered&&!this.options.dataLabels.allowOverlap&&(this.nodes.concat(this.points).forEach(function(a){a.dataLabel&& +c.push(a.dataLabel)}),this.chart.hideOverlappingLabels(c))},drawDataLabels:function(){var a=this.options.dataLabels.textPath;c.prototype.drawDataLabels.apply(this,arguments);this.points=this.data;this.options.dataLabels.textPath=this.options.dataLabels.linkTextPath;c.prototype.drawDataLabels.apply(this,arguments);this.points=this.nodes;this.options.dataLabels.textPath=a},pointAttribs:function(a,b){var d=b||a&&a.state||"normal";b=c.prototype.pointAttribs.call(this,a,d);d=this.options.states[d];a&& +!a.isNode&&(b=a.getLinkAttributes(),d&&(b={stroke:d.linkColor||b.stroke,dashstyle:d.linkDashStyle||b.dashstyle,opacity:p(d.linkOpacity,b.opacity),"stroke-width":d.linkColor||b["stroke-width"]}));return b},redrawHalo:q.redrawHalo,onMouseDown:q.onMouseDown,onMouseMove:q.onMouseMove,onMouseUp:q.onMouseUp,setState:function(a,b){b?(this.points=this.nodes.concat(this.data),c.prototype.setState.apply(this,arguments),this.points=this.data):c.prototype.setState.apply(this,arguments);this.layout.simulation|| +a||this.render()}});q=function(a){function b(){var b=null!==a&&a.apply(this,arguments)||this;b.degree=void 0;b.linksFrom=void 0;b.linksTo=void 0;b.options=void 0;b.radius=void 0;b.series=void 0;b.toNode=void 0;return b}l(b,a);return b}(c.prototype.pointClass);v(q.prototype,{setState:a.setNodeState,init:function(){d.prototype.init.apply(this,arguments);this.series.options.draggable&&!this.series.chart.styledMode&&(t(this,"mouseOver",function(){k(this.series.chart.container,{cursor:"move"})}),t(this, +"mouseOut",function(){k(this.series.chart.container,{cursor:"default"})}));return this},getDegree:function(){var a=this.isNode?this.linksFrom.length+this.linksTo.length:0;return 0===a?1:a},getLinkAttributes:function(){var a=this.series.options.link,b=this.options;return{"stroke-width":p(b.width,a.width),stroke:b.color||a.color,dashstyle:b.dashStyle||a.dashStyle,opacity:p(b.opacity,a.opacity,1)}},renderLink:function(){if(!this.graphic&&(this.graphic=this.series.chart.renderer.path(this.getLinkPath()).addClass(this.getClassName(), +!0).add(this.series.group),!this.series.chart.styledMode)){var a=this.series.pointAttribs(this);this.graphic.attr(a);(this.dataLabels||[]).forEach(function(b){b&&b.attr({opacity:a.opacity})})}},redrawLink:function(){var a=this.getLinkPath();if(this.graphic){this.shapeArgs={d:a};if(!this.series.chart.styledMode){var b=this.series.pointAttribs(this);this.graphic.attr(b);(this.dataLabels||[]).forEach(function(a){a&&a.attr({opacity:b.opacity})})}this.graphic.animate(this.shapeArgs);var c=a[0];a=a[1]; +"M"===c[0]&&"L"===a[0]&&(this.plotX=(c[1]+a[1])/2,this.plotY=(c[2]+a[2])/2)}},getMass:function(){var a=this.fromNode.mass,b=this.toNode.mass,c=a+b;return{fromNode:1-a/c,toNode:1-b/c}},getLinkPath:function(){var a=this.fromNode,b=this.toNode;a.plotX>b.plotX&&(a=this.toNode,b=this.fromNode);return[["M",a.plotX||0,a.plotY||0],["L",b.plotX||0,b.plotY||0]]},isValid:function(){return!this.isNode||b(this.id)},remove:function(a,b){var d=this.series,e=d.options.nodes||[],f,g=e.length;if(this.isNode){d.points= +[];[].concat(this.linksFrom).concat(this.linksTo).forEach(function(a){f=a.fromNode.linksFrom.indexOf(a);-1c.indexOf("Chrome");try{if(!c&&-1===a.indexOf("c?"p":"l","pt",[c,b]);[].forEach.call(a.querySelectorAll('*[visibility="hidden"]'),function(a){a.parentNode.removeChild(a)}); +for(var f=a.querySelectorAll("linearGradient"),k=0;k]*width\s*=\s*"?(\d+)"?[^>]*>/)[1]*u,p=c.match(/^]*height\s*=\s*"?(\d+)"?[^>]*>/)[1]*u,n=function(){h.canvg.Canvg.fromString(b,c).start();try{k(h.navigator.msSaveOrOpenBlob?a.msToBlob():a.toDataURL(q),r),d&&d()}catch(P){f(P)}finally{B()}};a.width=g;a.height=p;h.canvg?n():(y=!0,e(l+"canvg.js",function(){n()}))},f,f,function(){y&&B()})}};b.getScript=e;b.imageToDataUrl=x;b.svgToDataUrl=E;b.svgToPdf=z})(x||(x={})); +return x});e(a,"masters/modules/offline-exporting.src.js",[a["Core/Globals.js"],a["Extensions/OfflineExporting/OfflineExporting.js"]],function(a,e){a.downloadSVGLocal=e.downloadSVGLocal;e.compose(a.Chart)})}); +//# sourceMappingURL=offline-exporting.js.map \ No newline at end of file diff --git a/docs/reference/libs/highcharts-10.2.0/modules/oldie-polyfills.js b/docs/reference/libs/highcharts-10.2.0/modules/oldie-polyfills.js new file mode 100644 index 0000000..06fe991 --- /dev/null +++ b/docs/reference/libs/highcharts-10.2.0/modules/oldie-polyfills.js @@ -0,0 +1,17 @@ +/* + Highcharts JS v10.2.0 (2022-07-05) + + Old IE (v6, v7, v8) array polyfills for Highcharts v7+. + + (c) 2010-2021 Highsoft AS + Author: Torstein Honsi + + License: www.highcharts.com/license +*/ +(function(e){"object"===typeof module&&module.exports?(e["default"]=e,module.exports=e):"function"===typeof define&&define.amd?define("highcharts/modules/oldie-polyfills",["highcharts"],function(f){e(f);e.Highcharts=f;return e}):e("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(e){function f(c,b,a,d){c.hasOwnProperty(b)||(c[b]=d.apply(null,a),"function"===typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:b,module:c[b]}})))}e=e?e._modules: +{};f(e,"Extensions/OldiePolyfills.js",[],function(){String.prototype.trim||(String.prototype.trim=function(){return this.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")});Array.prototype.forEach||(Array.prototype.forEach=function(c,b){for(var a=0,d=this.length;a/g,"<$1title>").replace(/height=([^" ]+)/g,'height="$1"').replace(/width=([^" ]+)/g,'width="$1"').replace(/hc-svg-href="([^"]+)">/g, +'xlink:href="$1"/>').replace(/ id=([^" >]+)/g,' id="$1"').replace(/class=([^" >]+)/g,'class="$1"').replace(/ transform /g," ").replace(/:(path|rect)/g,"$1").replace(/style="([^"]+)"/g,function(a){return a.toLowerCase()})},c.prototype.isReadyToRender=function(){var a=this;return E||v!=v.top||"complete"===k.readyState?!0:(k.attachEvent("onreadystatechange",function(){k.detachEvent("onreadystatechange",a.firstRender);"complete"===k.readyState&&a.firstRender()}),!1)},k.createElementNS||(k.createElementNS= +function(a,b){return k.createElement(b)}),e.addEventListenerPolyfill=function(a,b){function d(a){a.target=a.srcElement||v;b.call(c,a)}var c=this;c.attachEvent&&(c.hcEventsIE||(c.hcEventsIE={}),b.hcKey||(b.hcKey=S()),c.hcEventsIE[b.hcKey]=d,c.attachEvent("on"+a,d))},e.removeEventListenerPolyfill=function(a,b){this.detachEvent&&(b=this.hcEventsIE[b.hcKey],this.detachEvent("on"+a,b))},c={docMode8:k&&8===k.documentMode,init:function(a,b){var d=["<",b,' filled="f" stroked="f"'],c=["position: ","absolute", +";"],f="div"===b;("shape"===b||f)&&c.push("left:0;top:0;width:1px;height:1px;");c.push("visibility: ",f?"hidden":"visible");d.push(' style="',c.join(""),'"/>');b&&(d=f||"span"===b||"img"===b?d.join(""):a.prepVML(d),this.element=F(d));this.renderer=a},add:function(a){var b=this.renderer,d=this.element,c=b.box,f=a&&a.inverted;c=a?a.element||a:c;a&&(this.parentGroup=a);f&&b.invertChild(d,c);c.appendChild(d);this.added=!0;this.alignOnAdd&&!this.deferUpdateTransform&&this.updateTransform();if(this.onAdd)this.onAdd(); +this.className&&this.attr("class",this.className);return this},updateTransform:y.prototype.htmlUpdateTransform,setSpanRotation:function(){var a=this.rotation,b=Math.cos(a*u),d=Math.sin(a*u);z(this.element,{filter:a?["progid:DXImageTransform.Microsoft.Matrix(M11=",b,", M12=",-d,", M21=",d,", M22=",b,", sizingMethod='auto expand')"].join(""):"none"})},getSpanCorrection:function(a,b,d,c,f){var r=c?Math.cos(c*u):1,e=c?Math.sin(c*u):0,J=B(this.elemHeight,this.element.offsetHeight);this.xCorr=0>r&&-a;this.yCorr= +0>e&&-J;var A=0>r*e;this.xCorr+=e*b*(A?1-d:d);this.yCorr-=r*b*(c?A?d:1-d:1);f&&"left"!==f&&(this.xCorr-=a*d*(0>r?-1:1),c&&(this.yCorr-=J*d*(0>e?-1:1)),z(this.element,{textAlign:f}))},pathToVML:function(a){for(var b=a.length,d=[];b--;)O(a[b])?d[b]=Math.round(10*a[b])-5:"Z"===a[b]?d[b]="x":(d[b]=a[b],!a.isArc||"wa"!==a[b]&&"at"!==a[b]||(d[b+5]===d[b+7]&&(d[b+7]+=a[b+7]>a[b+5]?1:-1),d[b+6]===d[b+8]&&(d[b+8]+=a[b+8]>a[b+6]?1:-1)));return d.join(" ")||"x"},clip:function(a){var b=this;if(a){var d=a.members; +N(d,b);d.push(b);b.destroyClip=function(){N(d,b)};a=a.getCSS(b)}else b.destroyClip&&b.destroyClip(),a={clip:b.docMode8?"inherit":"rect(auto)"};return b.css(a)},css:y.prototype.htmlCss,safeRemoveChild:function(a){a.parentNode&&I(a)},destroy:function(){this.destroyClip&&this.destroyClip();return y.prototype.destroy.apply(this)},on:function(a,b){this.element["on"+a]=function(){var a=v.event;a.target=a.srcElement;b(a)};return this},cutOffPath:function(a,b){a=a.split(/[ ,]/);var d=a.length;if(9===d||11=== +d)a[d-4]=a[d-2]=t(a[d-2])-10*b;return a.join(" ")},shadow:function(a,b,d){var c=[],f,e=this.element,h=this.renderer,J=e.style,A=e.path;A&&"string"!==typeof A.value&&(A="x");var k=A;if(a){var P=B(a.width,3);var n=(a.opacity||.15)/P;for(f=1;3>=f;f++){var m=2*P+1-2*f;d&&(k=this.cutOffPath(A.value,m+.5));var l=[''];var g=F(h.prepVML(l),null,{left:t(J.left)+B(a.offsetX,1)+"px",top:t(J.top)+ +B(a.offsetY,1)+"px"});d&&(g.cutOff=m+1);l=[''];F(h.prepVML(l),null,null,g);b?b.element.appendChild(g):e.parentNode.insertBefore(g,e);c.push(g)}this.shadows=c}return this},updateShadows:q,setAttr:function(a,b){this.docMode8?this.element[a]=b:this.element.setAttribute(a,b)},getAttr:function(a){return this.docMode8?this.element[a]:this.element.getAttribute(a)},classSetter:function(a){(this.added?this.element:this).className=a},dashstyleSetter:function(a, +b,d){(d.getElementsByTagName("stroke")[0]||F(this.renderer.prepVML([""]),null,null,d))[b]=a||"solid";this[b]=a},dSetter:function(a,b,d){var c=this.shadows;a=a||[];this.d=a.join&&a.join(" ");d.path=a=this.pathToVML(a);if(c)for(d=c.length;d--;)c[d].path=c[d].cutOff?this.cutOffPath(a,c[d].cutOff):a;this.setAttr(b,a)},fillSetter:function(a,b,d){var c=d.nodeName;"SPAN"===c?d.style.color=a:"IMG"!==c&&(d.filled="none"!==a,this.setAttr("fillcolor",this.renderer.color(a,d,b,this)))},"fill-opacitySetter":function(a, +b,d){F(this.renderer.prepVML(["<",b.split("-")[0],' opacity="',a,'"/>']),null,null,d)},opacitySetter:q,rotationSetter:function(a,b,d){d=d.style;this[b]=d[b]=a;d.left=-Math.round(Math.sin(a*u)+1)+"px";d.top=Math.round(Math.cos(a*u))+"px"},strokeSetter:function(a,b,d){this.setAttr("strokecolor",this.renderer.color(a,d,b,this))},"stroke-widthSetter":function(a,b,d){d.stroked=!!a;this[b]=a;O(a)&&(a+="px");this.setAttr("strokeweight",a)},titleSetter:function(a,b){this.setAttr(b,a)},visibilitySetter:function(a, +b,d){"inherit"===a&&(a="visible");this.shadows&&this.shadows.forEach(function(d){d.style[b]=a});"DIV"===d.nodeName&&(a="hidden"===a?"-999em":0,this.docMode8||(d.style[b]=a?"visible":"hidden"),b="top");d.style[b]=a},xSetter:function(a,b,d){this[b]=a;"x"===b?b="left":"y"===b&&(b="top");this.updateClipping?(this[b]=a,this.updateClipping()):d.style[b]=a},zIndexSetter:function(a,b,d){d.style[b]=a},fillGetter:function(){return this.getAttr("fillcolor")||""},strokeGetter:function(){return this.getAttr("strokecolor")|| +""},classGetter:function(){return this.getAttr("className")||""}},c["stroke-opacitySetter"]=c["fill-opacitySetter"],e.VMLElement=c=p(y,c),c.prototype.ySetter=c.prototype.widthSetter=c.prototype.heightSetter=c.prototype.xSetter,c={Element:c,isIE8:-1'];F(f.prepVML(r),null,null, +b)};l=a[0];p=a[a.length-1];0p[0]&&a.push([1,p[1]]);a.forEach(function(a,b){e.test(a[1])?(K=x(a[1]),g=K.get("rgb"),m=K.get("a")):(g=a[1],m=1);B.push(100*a[0]+"% "+g);b?(v=m,w=g):(u=m,y=g)});if("fill"===d)if("gradient"===h)l=n.x1||n[0]||0,p=n.y1||n[1]||0,q=n.x2||n[2]||0,t=n.y2||n[3]||0,z='angle="'+(90-180*Math.atan((t-p)/(q-l))/Math.PI)+'"',D();else{d=n.r;var E=2*d,G=2*d,H=n.cx,I=n.cy,L=b.radialReference,C;n=function(){L&&(C=c.getBBox(),H+=(L[0]-C.x)/C.width-.5,I+=(L[1]- +C.y)/C.height-.5,E*=L[2]/C.width,G*=L[2]/C.height);z='src="'+M().global.VMLRadialGradientURL+'" size="'+E+","+G+'" origin="0.5,0.5" position="'+H+","+I+'" color2="'+y+'" ';D()};c.added?n():c.onAdd=n;k=w}else k=g}else if(e.test(a)&&"IMG"!==b.tagName){var K=x(a);c[d+"-opacitySetter"](K.get("a"),d,b);k=K.get("rgb")}else n=b.getElementsByTagName(d),n.length&&(n[0].opacity=1,n[0].type="solid"),k=a;return k},prepVML:function(a){var b=this.isIE8;a=a.join("");b?(a=a.replace("/>",' xmlns="urn:schemas-microsoft-com:vml" />'), +a=-1===a.indexOf('style="')?a.replace("/>",' style="display:inline-block;behavior:url(#default#VML);" />'):a.replace('style="','style="display:inline-block;behavior:url(#default#VML);')):a=a.replace("<","=m)&&(g=l=Math.floor(l+(n?-.5:.5)*a.shapeArgs.width)+f,p=a.shapeArgs.y,0b+g;)e.height-= +b,c=c.hangsFrom;else e.height-=b,this.chart.inverted||(e.y+=b);a.nodeHeight=this.chart.inverted?e.width:e.height};b.defaultOptions=w(r.defaultOptions,{borderColor:"#666666",borderRadius:3,linkRadius:10,borderWidth:1,dataLabels:{nodeFormatter:function(){function a(a){return Object.keys(a).reduce(function(b,c){return b+c+":"+a[c]+";"},'style="')+'"'}var b={width:"100%",height:"100%",display:"flex","flex-direction":"row","align-items":"center","justify-content":"center"},f={"max-height":"100%","border-radius":"50%"}, +g={width:"100%",padding:0,"text-align":"center","white-space":"normal"},e={margin:0},h={margin:0},k={opacity:.75,margin:"5px"};this.point.image&&(f["max-width"]="30%",g.width="70%");this.series.chart.renderer.forExport&&(b.display="block",g.position="absolute",g.left=this.point.image?"30%":0,g.top=0);b="

";this.point.image&&(b+='");b+="
";this.point.name&&(b+="

"+this.point.name+"

");this.point.title&&(b+="

"+(this.point.title||"")+"

");this.point.description&&(b+="

"+this.point.description+"

");return b+"
"},style:{fontWeight:"normal",fontSize:"13px"},useHTML:!0},hangingIndent:20,hangingIndentTranslation:"inherit",linkColor:"#666666",linkLineWidth:1,minNodeLength:10,nodeWidth:50,tooltip:{nodeFormat:"{point.name}
{point.title}
{point.description}"}});return b}(r);v(k.prototype,{pointClass:b});m.registerSeriesType("organization",k);"";"";return k});g(b,"masters/modules/organization.src.js", +[],function(){})}); +//# sourceMappingURL=organization.js.map \ No newline at end of file diff --git a/docs/reference/libs/highcharts-10.2.0/modules/overlapping-datalabels.js b/docs/reference/libs/highcharts-10.2.0/modules/overlapping-datalabels.js new file mode 100644 index 0000000..31533aa --- /dev/null +++ b/docs/reference/libs/highcharts-10.2.0/modules/overlapping-datalabels.js @@ -0,0 +1,10 @@ +/* + Highcharts JS v10.2.0 (2022-07-05) + + (c) 2009-2021 Torstein Honsi + + License: www.highcharts.com/license +*/ +(function(a){"object"===typeof module&&module.exports?(a["default"]=a,module.exports=a):"function"===typeof define&&define.amd?define("highcharts/modules/overlapping-datalabels",["highcharts"],function(c){a(c);a.Highcharts=c;return a}):a("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(a){(function(a,b,d,e){a.hasOwnProperty(b)||(a[b]=e.apply(null,d),"function"===typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:b,module:a[b]}})))})(a?a._modules: +{},"masters/modules/overlapping-datalabels.src.js",[],function(){})}); +//# sourceMappingURL=overlapping-datalabels.js.map \ No newline at end of file diff --git a/docs/reference/libs/highcharts-10.2.0/modules/parallel-coordinates.js b/docs/reference/libs/highcharts-10.2.0/modules/parallel-coordinates.js new file mode 100644 index 0000000..bdba43f --- /dev/null +++ b/docs/reference/libs/highcharts-10.2.0/modules/parallel-coordinates.js @@ -0,0 +1,20 @@ +/* + Highcharts JS v10.2.0 (2022-07-05) + + Support for parallel coordinates in Highcharts + + (c) 2010-2021 Pawel Fus + + License: www.highcharts.com/license +*/ +(function(b){"object"===typeof module&&module.exports?(b["default"]=b,module.exports=b):"function"===typeof define&&define.amd?define("highcharts/modules/parallel-coordinates",["highcharts"],function(g){b(g);b.Highcharts=g;return b}):b("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(b){function g(b,k,g,q){b.hasOwnProperty(k)||(b[k]=q.apply(null,g),"function"===typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:k,module:b[k]}})))}b=b?b._modules: +{};g(b,"Extensions/ParallelCoordinates.js",[b["Core/Axis/Axis.js"],b["Core/Chart/Chart.js"],b["Core/FormatUtilities.js"],b["Core/Globals.js"],b["Core/DefaultOptions.js"],b["Core/Series/Series.js"],b["Core/Utilities.js"]],function(b,k,g,q,x,r,d){function y(a){var c=this.series&&this.series.chart,b=a.apply(this,Array.prototype.slice.call(arguments,1)),h;if(c&&c.hasParallelCoordinates&&!n(b.formattedValue)){var e=c.yAxis[this.x];var f=e.options;c=(h=t(f.tooltipValueFormat,f.labels.format))?z(h,u(this, +{value:this.y}),c):e.dateTime?c.time.dateFormat(c.time.resolveDTLFormat(f.dateTimeLabelFormats[e.tickPositions.info.unitName]).main,this.y):f.categories?f.categories[this.y]:this.y;b.formattedValue=b.point.formattedValue=c}return b}var z=g.format;g=x.setOptions;var l=d.addEvent,A=d.arrayMax,B=d.arrayMin,n=d.defined,C=d.erase,u=d.extend,m=d.merge,t=d.pick,v=d.splat,D=d.wrap;d=k.prototype;var w={lineWidth:0,tickLength:0,opposite:!0,type:"category"};g({chart:{parallelCoordinates:!1,parallelAxes:{lineWidth:1, +title:{text:"",reserveSpace:!1},labels:{x:0,y:4,align:"center",reserveSpace:!1},offset:0}}});l(k,"init",function(a){a=a.args[0];var c=v(a.yAxis||{}),b=[],h=c.length;if(this.hasParallelCoordinates=a.chart&&a.chart.parallelCoordinates){for(this.setParallelInfo(a);h<=this.parallelInfo.counter;h++)b.push({});a.legend||(a.legend={});"undefined"===typeof a.legend.enabled&&(a.legend.enabled=!1);m(!0,a,{boost:{seriesThreshold:Number.MAX_VALUE},plotOptions:{series:{boostThreshold:Number.MAX_VALUE}}});a.yAxis= +c.concat(b);a.xAxis=m(w,v(a.xAxis||{})[0])}});l(k,"update",function(a){a=a.options;a.chart&&(n(a.chart.parallelCoordinates)&&(this.hasParallelCoordinates=a.chart.parallelCoordinates),this.options.chart.parallelAxes=m(this.options.chart.parallelAxes,a.chart.parallelAxes));this.hasParallelCoordinates&&(a.series&&this.setParallelInfo(a),this.yAxis.forEach(function(a){a.update({},!1)}))});u(d,{setParallelInfo:function(a){var c=this;a=a.series;c.parallelInfo={counter:0};a.forEach(function(a){a.data&&(c.parallelInfo.counter= +Math.max(c.parallelInfo.counter,a.data.length-1))})}});l(r,"bindAxes",function(a){if(this.chart.hasParallelCoordinates){var c=this;this.chart.axes.forEach(function(a){c.insert(a.series);a.isDirty=!0});c.xAxis=this.chart.xAxis[0];c.yAxis=this.chart.yAxis[0];a.preventDefault()}});l(r,"afterTranslate",function(){var a=this.chart,c=this.points,b=c&&c.length,h=Number.MAX_VALUE,e;if(this.chart.hasParallelCoordinates){for(e=0;eMath.PI;)b-=d;d=Math.tan(b);b>-e&&b<=e?(v=-1,g=!0):b>e&&b<=Math.PI- +e?v=-1:b>Math.PI-e||b<=-(Math.PI-e)?(m=-1,g=!0):m=-1;g?(F+=m*h,G+=v*h*d):(F+=l/(2*d)*m,G+=v*u);f.x!==H&&(F=f.x);f.y!==c&&(G=f.y);return{x:F+a*Math.cos(b),y:G-a*Math.sin(b)}}});return r});w(a,"Gantt/PathfinderAlgorithms.js",[a["Core/Utilities.js"]],function(a){function r(a,d,h){h=h||0;var b=a.length-1;d-=1e-7;for(var f,l;h<=b;)if(f=b+h>>1,l=d-a[f].xMin,0l)b=f-1;else return f;return 0=d.x)b=a[f],b=d.x<=b.xMax&& +d.x>=b.xMin&&d.y<=b.yMax&&d.y>=b.yMin;if(b)return f}return-1}function A(a){var f=[];if(a.length){f.push(["M",a[0].start.x,a[0].start.y]);for(var h=0;hx(e[f]- +a[f+"Max"]);return b(e,f,a,f+(g?"Max":"Min"),g?1:-1)}var l=[],k=n(h.startDirectionX,x(d.x-a.x)>x(d.y-a.y))?"x":"y",p=h.chartObstacles,q=z(p,a);h=z(p,d);if(-1=a[k]===h[k]>=e[k]&&(k="y"===k?"x":"y",d=a[k]f?p(r(m,u.x),m.length-1):0;m[e]&&(0f&&m[e].xMax>=d.x);){if(m[e].xMin<=u.x&&m[e].xMax>=d.x&&m[e].yMin<=t.y&&m[e].yMax>=C.y)return g?{y:a.y,x:a.x=u[c+"Max"];u=a[c+"Min"]<=u[c+"Min"];var t=a[c+"Max"]>=m[c+"Max"];m=a[c+"Min"]<=m[c+"Min"];var l=x(a[c+"Min"]-e[c]),k=x(a[c+"Max"]-e[c]);g=10>x(l-k)?e[c]x(d.y-a.y)),q=D?"x":"y",E=[],e=!1,g=h.obstacleMetrics,u=p(a.x,d.x)-g.maxWidth-10,H=l(a.x,d.x)+g.maxWidth+10,F=p(a.y,d.y)-g.maxHeight-10,G=l(a.y,d.y)+g.maxHeight+10,m=h.chartObstacles;var v=r(m,u);g=r(m,H);m=m.slice(v,g+1);if(-1<(g=z(m,d))){var B=k(m[g],d,a);E.push({end:d,start:B});d=B}for(;-1<(g=z(m,d));)v=0>d[q]-a[q],B={x:d.x,y:d.y},B[q]=m[g][v?q+"Max":q+"Min"]+(v?1:-1),E.push({end:d,start:B}),d=B;a=y(a,d,D);a=a.concat(E.reverse());return{path:A(a),obstacles:a}};I.requiresObstacles=!0; +return{fastAvoid:I,straight:function(a,d){return{path:[["M",a.x,a.y],["L",d.x,d.y]],obstacles:[{start:a,end:d}]}},simpleConnect:a}});w(a,"Gantt/Pathfinder.js",[a["Gantt/Connection.js"],a["Core/Chart/Chart.js"],a["Core/Globals.js"],a["Core/DefaultOptions.js"],a["Core/Series/Point.js"],a["Core/Utilities.js"],a["Gantt/PathfinderAlgorithms.js"]],function(a,r,z,A,w,n,p){function l(a){var b=a.shapeArgs;return b?{xMin:b.x||0,xMax:(b.x||0)+(b.width||0),yMin:b.y||0,yMax:(b.y||0)+(b.height||0)}:(b=a.graphic&& +a.graphic.getBBox())?{xMin:a.plotX-b.width/2,xMax:a.plotX+b.width/2,yMin:a.plotY-b.height/2,yMax:a.plotY+b.height/2}:null}function x(a){for(var b=a.length,e=0,c,d,f=[],m=function(a,b,e){e=y(e,10);var c=a.yMax+e>b.yMin-e&&a.yMin-eb.xMin-e&&a.xMin-eb.xMax?a.xMin-b.xMax:b.xMin-a.xMax:Infinity,f=d?a.yMin>b.yMax?a.yMin-b.yMax:b.yMin-a.yMax:Infinity;return d&&c?e?m(a,b,Math.floor(e/2)):Infinity:q(g,f)};ed&&f.push(d);f.push(80); +return D(Math.floor(f.sort(function(a,b){return a-b})[Math.floor(f.length/10)]/2-1),1)}function I(a){if(a.options.pathfinder||a.series.reduce(function(a,b){b.options&&c(!0,b.options.connectors=b.options.connectors||{},b.options.pathfinder);return a||b.options&&b.options.pathfinder},!1))c(!0,a.options.connectors=a.options.connectors||{},a.options.pathfinder),h('WARNING: Pathfinder options have been renamed. Use "chart.connectors" or "series.connectors" instead.')}"";var f=n.addEvent,d=n.defined,h= +n.error,b=n.extend,c=n.merge,y=n.pick,k=n.splat,D=Math.max,q=Math.min;b(A.defaultOptions,{connectors:{type:"straight",lineWidth:1,marker:{enabled:!1,align:"center",verticalAlign:"middle",inside:!1,lineWidth:1},startMarker:{symbol:"diamond"},endMarker:{symbol:"arrow-filled"}}});var E=function(){function b(a){this.lineObstacles=this.group=this.connections=this.chartObstacleMetrics=this.chartObstacles=this.chart=void 0;this.init(a)}b.prototype.init=function(a){this.chart=a;this.connections=[];f(a,"redraw", +function(){this.pathfinder.update()})};b.prototype.update=function(b){var e=this.chart,c=this,d=c.connections;c.connections=[];e.series.forEach(function(b){b.visible&&!b.options.isInternal&&b.points.forEach(function(b){var d=b.options;d&&d.dependency&&(d.connect=d.dependency);var g;d=b.options&&b.options.connect&&k(b.options.connect);b.visible&&!1!==b.isInside&&d&&d.forEach(function(d){g=e.get("string"===typeof d?d:d.to);g instanceof w&&g.series.visible&&g.visible&&!1!==g.isInside&&c.connections.push(new a(b, +g,"string"===typeof d?{}:d))})})});for(var g=0,f=void 0,h=void 0,l=d.length,p=c.connections.length;gMath.PI;)a-=d;d=Math.tan(a);a>-h&&a<=h?(u=-1,k=!0):a>h&&a<=Math.PI-h?u=-1:a>Math.PI-h||a<=-(Math.PI-h)?(r=-1,k=!0):r=-1;k?(t+=r*f,q+=u*f*d):(t+=g/(2*d)*r,q+=u*n);c.x!==p&&(t=c.x);c.y!==e&&(q=c.y);return{x:t+ +b*Math.cos(a),y:q-b*Math.sin(a)}}});r.prototype.callbacks.push(function(a){!1!==a.options.connectors.enabled&&(I(a),this.pathfinder=new E(this),this.pathfinder.update(!0))});return E});w(a,"masters/modules/pathfinder.src.js",[],function(){})}); +//# sourceMappingURL=pathfinder.js.map \ No newline at end of file diff --git a/docs/reference/libs/highcharts-10.2.0/modules/pattern-fill.js b/docs/reference/libs/highcharts-10.2.0/modules/pattern-fill.js new file mode 100644 index 0000000..650ed11 --- /dev/null +++ b/docs/reference/libs/highcharts-10.2.0/modules/pattern-fill.js @@ -0,0 +1,25 @@ +/* + Highcharts JS v10.2.0 (2022-07-05) + + Module for adding patterns and images as point fills. + + (c) 2010-2021 Highsoft AS + Author: Torstein Hnsi, ystein Moseng + + License: www.highcharts.com/license +*/ +(function(c){"object"===typeof module&&module.exports?(c["default"]=c,module.exports=c):"function"===typeof define&&define.amd?define("highcharts/modules/pattern-fill",["highcharts"],function(f){c(f);c.Highcharts=f;return c}):c("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(c){function f(c,g,f,p){c.hasOwnProperty(g)||(c[g]=p.apply(null,f),"function"===typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:g,module:c[g]}})))}c=c?c._modules:{}; +f(c,"Extensions/PatternFill.js",[c["Core/Animation/AnimationUtilities.js"],c["Core/Chart/Chart.js"],c["Core/Globals.js"],c["Core/DefaultOptions.js"],c["Core/Series/Point.js"],c["Core/Series/Series.js"],c["Core/Renderer/SVG/SVGRenderer.js"],c["Core/Utilities.js"]],function(c,f,x,p,r,t,u,l){function g(a,b){a=JSON.stringify(a);var c=a.length||0,e=0,d=0;if(b){b=Math.max(Math.floor(c/500),1);for(var n=0;nb&&(a._inverted=!0);return}a.aspectRatio&&(b.aspectRatio=b.width/b.height,a.aspectRatio>b.aspectRatio?b.aspectWidth=b.height*a.aspectRatio:b.aspectHeight=b.width/a.aspectRatio);a._width=a.width||Math.ceil(b.aspectWidth||b.width);a._height=a.height||Math.ceil(b.aspectHeight||b.height)}a.width||(a._x= +a.x||0,a._x+=b.x-Math.round(b.aspectWidth?Math.abs(b.aspectWidth-b.width)/2:0));a.height||(a._y=a.y||0,a._y+=b.y-Math.round(b.aspectHeight?Math.abs(b.aspectHeight-b.height)/2:0))}};u.prototype.addPattern=function(a,b){b=q(b,!0);var c=y(b),e=a.width||a._width||32,d=a.height||a._height||32,n=a.color||"#343434",h=a.id,f=this,g=function(a){f.rect(0,0,e,d).attr({fill:a}).add(m)};h||(this.idCounter=this.idCounter||0,h="highcharts-pattern-"+this.idCounter+"-"+(this.chartIndex||0),++this.idCounter);this.forExport&& +(h+="-export");this.defIds=this.defIds||[];if(!(-1d&&e.fromNode!==this&&(c=e.fromNode,d=c.column)}return{fromNode:c,fromColumn:d}};g.prototype.setNodeColumn=function(){w(this.options.column)||(this.column=0===this.linksTo.length?0:this.getFromNode().fromColumn+1)};g.prototype.isValid=function(){return this.isNode||"number"===typeof this.weight};return g}(f.seriesTypes.column.prototype.pointClass)});q(c,"Series/Sankey/SankeyColumnComposition.js",[c["Core/Utilities.js"]], +function(c){var f=c.defined,m=c.relativeLength,k;(function(c){c.compose=function(c,d){c.sankeyColumn=new k(c,d);return c};var k=function(){function c(d,c){this.points=d;this.series=c}c.prototype.getTranslationFactor=function(d){for(var c=this.points,a=c.slice(),e=d.options.minLinkWidth||0,g=0,u,f=(d.chart.plotSizeY||0)-(d.options.borderWidth||0)-(c.length-1)*d.nodePadding;c.length;){g=f/c.sankeyColumn.sum();d=!1;for(u=c.length;u--;)c[u].getSum()*gthis.chart.plotSizeY&&(b=this.chart.plotSizeY/a)}return b}; +d.prototype.hasData=function(){return!!this.processedXData.length};d.prototype.pointAttribs=function(b,a){if(!b)return{};var d=this,l=d.mapOptionsToLevel[(b.isNode?b.level:b.fromNode.level)||0]||{},g=b.options,f=l.states&&l.states[a||""]||{};a=["colorByPoint","borderColor","borderWidth","linkOpacity","opacity"].reduce(function(a,b){a[b]=t(f[b],g[b],l[b],d.options[b]);return a},{});var E=t(f.color,g.color,a.colorByPoint?b.color:l.color);return b.isNode?{fill:E,stroke:a.borderColor,"stroke-width":a.borderWidth, +opacity:a.opacity}:{fill:c.parse(E).setOpacity(a.linkOpacity).get()}};d.prototype.render=function(){var a=this.points;this.points=this.points.concat(this.nodes||[]);e.prototype.render.call(this);this.points=a};d.prototype.translate=function(){this.processedXData||this.processData();this.generatePoints();this.nodeColumns=this.createNodeColumns();this.nodeWidth=p(this.options.nodeWidth,this.chart.plotSizeX);var a=this,c=this.chart,d=this.options,g=this.nodeWidth,f=this.nodeColumns;this.nodePadding= +this.getNodePadding();this.translationFactor=f.reduce(function(b,c){return Math.min(b,c.sankeyColumn.getTranslationFactor(a))},Infinity);this.colDistance=(c.plotSizeX-g-d.borderWidth)/Math.max(1,f.length-1);a.mapOptionsToLevel=w({from:1,levels:d.levels,to:f.length-1,defaults:{borderColor:d.borderColor,borderRadius:d.borderRadius,borderWidth:d.borderWidth,color:a.color,colorByPoint:d.colorByPoint,levelIsConstant:!0,linkColor:d.linkColor,linkLineWidth:d.linkLineWidth,linkOpacity:d.linkOpacity,states:d.states}}); +f.forEach(function(b){b.forEach(function(c){a.translateNode(c,b)})},this);this.nodes.forEach(function(b){b.linksFrom.forEach(function(b){(b.weight||b.isNull)&&b.to&&(a.translateLink(b),b.allowShadow=!1)})})};d.prototype.translateLink=function(a){var b=function(b,d){d=b.offset(a,d)*g;return Math.min(b.nodeY+d,b.nodeY+(b.shapeArgs&&b.shapeArgs.height||0)-e)},c=a.fromNode,d=a.toNode,f=this.chart,g=this.translationFactor,e=Math.max(a.weight*g,this.options.minLinkWidth),h=(f.inverted?-this.colDistance: +this.colDistance)*this.options.curveFactor,k=b(c,"linksFrom");b=b(d,"linksTo");var p=c.nodeX,m=this.nodeWidth;d=d.nodeX;var q=a.outgoing,n=d>p+m;f.inverted&&(k=f.plotSizeY-k,b=(f.plotSizeY||0)-b,m=-m,e=-e,n=p>d);a.shapeType="path";a.linkBase=[k,k+e,b,b+e];if(n&&"number"===typeof b)a.shapeArgs={d:[["M",p+m,k],["C",p+m+h,k,d-h,b,d,b],["L",d+(q?m:0),b+e/2],["L",d,b+e],["C",d-h,b+e,p+m+h,k+e,p+m,k+e],["Z"]]};else if("number"===typeof b){h=d-20-e;q=d-20;n=p+m;var r=n+20,t=r+e,v=k,u=k+e,x=u+20,w=x+(f.plotHeight- +k-e),B=w+20,z=B+e,D=b,C=D+e,F=C+20,G=B+.7*e,H=d-.7*e,I=n+.7*e;a.shapeArgs={d:[["M",n,v],["C",I,v,t,u-.7*e,t,x],["L",t,w],["C",t,G,I,z,n,z],["L",d,z],["C",H,z,h,G,h,w],["L",h,F],["C",h,C-.7*e,H,D,d,D],["L",d,C],["C",q,C,q,C,q,F],["L",q,w],["C",q,B,q,B,d,B],["L",n,B],["C",r,B,r,B,r,w],["L",r,x],["C",r,u,r,u,n,u],["Z"]]}}a.dlBox={x:p+(d-p+m)/2,y:k+(b-k)/2,height:e,width:0};a.tooltipPos=f.inverted?[f.plotSizeY-a.dlBox.y-e/2,f.plotSizeX-a.dlBox.x]:[a.dlBox.x,a.dlBox.y+e/2];a.y=a.plotY=1;a.x=a.plotX=1; +a.color||(a.color=c.color)};d.prototype.translateNode=function(a,c){var b=this.translationFactor,e=this.chart,f=this.options,g=a.getSum(),h=Math.max(Math.round(g*b),this.options.minLinkWidth),k=Math.round(this.nodeWidth),l=Math.round(f.borderWidth)%2/2,m=c.sankeyColumn.offset(a,b);c=Math.floor(t(m.absoluteTop,c.sankeyColumn.top(b)+m.relativeTop))+l;l=Math.floor(this.colDistance*a.column+f.borderWidth/2)+p(a.options.offsetHorizontal||0,k)+l;l=e.inverted?e.plotSizeX-l:l;if(a.sum=g){a.shapeType="rect"; +a.nodeX=l;a.nodeY=c;g=l;b=c;m=a.options.width||f.width||k;var n=a.options.height||f.height||h;e.inverted&&(g=l-k,b=e.plotSizeY-c-h,m=a.options.height||f.height||k,n=a.options.width||f.width||h);a.dlOptions=d.getDLOptions({level:this.mapOptionsToLevel[a.level],optionsPoint:a.options});a.plotX=1;a.plotY=1;a.tooltipPos=e.inverted?[e.plotSizeY-b-n/2,e.plotSizeX-g-m/2]:[g+m/2,b+n/2];a.shapeArgs={x:g,y:b,width:m,height:n,display:a.hasShape()?"":"none"}}else a.dlOptions={enabled:!1}};d.defaultOptions=v(e.defaultOptions, +{borderWidth:0,colorByPoint:!0,curveFactor:.33,dataLabels:{enabled:!0,backgroundColor:"none",crop:!1,nodeFormat:void 0,nodeFormatter:function(){return this.point.name},format:void 0,formatter:function(){},inside:!0},inactiveOtherPoints:!0,linkOpacity:.5,opacity:1,minLinkWidth:0,nodeWidth:20,nodePadding:10,showInLegend:!1,states:{hover:{linkOpacity:1,opacity:1},inactive:{linkOpacity:.1,opacity:.1,animation:{duration:50}}},tooltip:{followPointer:!0,headerFormat:'{series.name}
', +pointFormat:"{point.fromNode.name} \u2192 {point.toNode.name}: {point.weight}
",nodeFormat:"{point.name}: {point.sum}
"}});return d}(e);m.compose(k,d);g(d.prototype,{animate:a.prototype.animate,createNode:m.createNode,forceDL:!0,invertible:!0,isCartesian:!1,orderNodes:!0,noSharedTooltip:!0,pointArrayMap:["from","to","weight"],pointClass:k,searchPoint:f.noop});q.registerSeriesType("sankey",d);"";"";return d});q(c,"masters/modules/sankey.src.js",[],function(){})}); +//# sourceMappingURL=sankey.js.map \ No newline at end of file diff --git a/docs/reference/libs/highcharts-10.2.0/modules/series-label.js b/docs/reference/libs/highcharts-10.2.0/modules/series-label.js new file mode 100644 index 0000000..0d51797 --- /dev/null +++ b/docs/reference/libs/highcharts-10.2.0/modules/series-label.js @@ -0,0 +1,25 @@ +/* + Highcharts JS v10.2.0 (2022-07-05) + + (c) 2009-2021 Torstein Honsi + + License: www.highcharts.com/license +*/ +(function(a){"object"===typeof module&&module.exports?(a["default"]=a,module.exports=a):"function"===typeof define&&define.amd?define("highcharts/modules/series-label",["highcharts"],function(r){a(r);a.Highcharts=r;return a}):a("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(a){function r(a,f,A,d){a.hasOwnProperty(f)||(a[f]=d.apply(null,A),"function"===typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:f,module:a[f]}})))}a=a?a._modules:{}; +r(a,"Extensions/SeriesLabel/SeriesLabelDefaults.js",[],function(){return{enabled:!0,connectorAllowed:!1,connectorNeighbourDistance:24,format:void 0,formatter:void 0,minFontSize:null,maxFontSize:null,onArea:null,style:{fontWeight:"bold"},boxesToAvoid:[]}});r(a,"Extensions/SeriesLabel/SeriesLabelUtilities.js",[],function(){function a(a,d,f,v,p,t){a=(t-d)*(f-a)-(v-d)*(p-a);return 0a)}function f(A,d,f,v,p,t,y,z){return a(A,d,p,t,y,z)!==a(f,v,p,t,y,z)&&a(A,d,f,v,p,t)!==a(A,d,f,v,y,z)}return{boxIntersectLine:function(a, +d,r,v,p,t,y,z){return f(a,d,a+r,d,p,t,y,z)||f(a+r,d,a+r,d+v,p,t,y,z)||f(a,d+v,a+r,d+v,p,t,y,z)||f(a,d,a,d+v,p,t,y,z)},intersectRect:function(a,d){return!(d.left>a.right||d.righta.bottom||d.bottom=a-16&&h[k-1].chartX<=a+w.width+16){if(I(a,b,w.width,w.height,h[k-1].chartX, +h[k-1].chartY,h[k].chartX,h[k].chartY))return!1;c===f&&!d&&g&&(d=I(a-16,b-16,w.width+32,w.height+32,h[k-1].chartX,h[k-1].chartY,h[k].chartX,h[k].chartY))}if((m||d)&&(c!==f||D)){var p=a+w.width/2-h[k].chartX;var t=b+w.height/2-h[k].chartY;l=Math.min(l,p*p+t*t)}}if(!D&&m&&c===f&&(g&&!d||le&&b<=g-a.width&&c>=q&&c<=q+p-a.height}var g=b.options.label;if(g&&(b.xAxis||b.yAxis)){var e="highcharts-color-"+B(b.colorIndex,"none"),D=!b.labelBySeries,m=g.minFontSize,l=g.maxFontSize,d=c.inverted,f=d?b.yAxis.pos:b.xAxis.pos,q=d?b.xAxis.pos:b.yAxis.pos,k=c.inverted?b.yAxis.len:b.xAxis.len,p=c.inverted?b.xAxis.len:b.yAxis.len,h=b.interpolatedPoints,r=B(g.onArea,!!b.area),x=[],n,u=b.labelBySeries;if(r&&!d){d=[b.xAxis.toPixels(b.xData[0]), +b.xAxis.toPixels(b.xData[b.xData.length-1])];var v=Math.min.apply(Math,d);var y=Math.max.apply(Math,d)}if(b.visible&&!b.isSeriesBoosting&&h){u||(u=b.name,"string"===typeof g.format?u=O(g.format,b,c):g.formatter&&(u=g.formatter.call(b)),b.labelBySeries=u=c.renderer.label(u,0,0,"connector").addClass("highcharts-series-label highcharts-series-label-"+b.index+" "+(b.options.className||"")+" "+e),c.renderer.styledMode||(u.css(J({color:r?c.renderer.getContrast(b.color):b.color},g.style||{})),u.attr({opacity:c.renderer.forExport? +1:0,stroke:b.color,"stroke-width":1})),m&&l&&u.css({fontSize:m+b.sum/b.chart.labelSeriesMaxSum*(l-m)+"px"}),u.attr({padding:0,zIndex:3}).add());e=u.getBBox();e.width=Math.round(e.width);for(d=h.length-1;0=f;m-=16)for(l=q;l=h&&(g={x:x.x,y:x.y},x={}),h=void 0,D&&(h=F(b.options.animation),h.duration*=.2),b.labelBySeries.attr(J(x,{anchorX:n.connectorPoint&&n.connectorPoint.plotX+f,anchorY:n.connectorPoint&&n.connectorPoint.plotY+q})).animate(g,h),b.options.kdNow=!0,b.buildKDTree(),b=b.searchPoint({chartX:n.x,chartY:n.y},!0)))u.closest=[b,n.x-(b.plotX||0),n.y-(b.plotY||0)]}else u&&(b.labelBySeries=u.destroy())}else u&&(b.labelBySeries=u.destroy())}});P(c,"afterDrawSeriesLabels")} +function z(c){function a(b){var a=Math.round(b.plotX/8)+","+Math.round(b.plotY/8);t[a]||(t[a]=1,d.push(b))}if(c.xAxis||c.yAxis){var b=c.points,d=[],g=c.graph||c.area,e=g.element,f=c.chart.inverted,m=c.xAxis,l=c.yAxis,p=f?l.pos:m.pos;f=f?m.pos:l.pos;m=B(c.options.label.onArea,!!c.area);l=l.getThreshold(c.options.threshold);var t={},q;if(c.getPointSpline&&e.getPointAtLength&&!m&&b.lengthl&&(l=-d-l); +la+d?m.push(["L",c+f,a+d]):gc+b&&m.push(["L",c+b,a+d/2])}return m||[]}var F=a.animObject,O=r.format,H=d.setOptions,I=v.boxIntersectLine,N=v.intersectRect,K=p.addEvent,J=p.extend,P=p.fireEvent,G=p.isNumber,B=p.pick,Q=p.syncTimeout,C=[];"";return{compose:function(a,d){-1===C.indexOf(a)&&(C.push(a),K(f,"load",A),K(f,"redraw",A));-1===C.indexOf(d)&&(C.push(d),d.prototype.symbols.connector=L);-1===C.indexOf(H)&&(C.push(H),H({plotOptions:{series:{label:M}}}))}}}); +r(a,"masters/modules/series-label.src.js",[a["Core/Globals.js"],a["Extensions/SeriesLabel/SeriesLabel.js"]],function(a,f){f.compose(a.Chart,a.SVGRenderer)})}); +//# sourceMappingURL=series-label.js.map \ No newline at end of file diff --git a/docs/reference/libs/highcharts-10.2.0/modules/series-on-point.js b/docs/reference/libs/highcharts-10.2.0/modules/series-on-point.js new file mode 100644 index 0000000..3127733 --- /dev/null +++ b/docs/reference/libs/highcharts-10.2.0/modules/series-on-point.js @@ -0,0 +1,18 @@ +/* + Highcharts JS v10.2.0 (2022-07-05) + + Series on point module + + (c) 2010-2022 Highsoft AS + Author: Rafal Sebestjanski and Piotr Madej + + License: www.highcharts.com/license +*/ +(function(c){"object"===typeof module&&module.exports?(c["default"]=c,module.exports=c):"function"===typeof define&&define.amd?define("highcharts/modules/series-on-point",["highcharts"],function(g){c(g);c.Highcharts=g;return c}):c("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(c){function g(c,d,a,g){c.hasOwnProperty(d)||(c[d]=g.apply(null,a),"function"===typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:d,module:c[d]}})))}var a=c?c._modules: +{};g(a,"Series/SeriesOnPointComposition.js",[a["Core/Series/Point.js"],a["Core/Series/Series.js"],a["Core/Series/SeriesRegistry.js"],a["Core/Renderer/SVG/SVGRenderer.js"],a["Core/Utilities.js"]],function(c,d,a,g,h){a=a.seriesTypes;var n=a.bubble,q=a.pie,k=h.addEvent,l=h.defined,r=h.find,t=h.isNumber,m;(function(a){var h=[];a.compose=function(c,p){var b=m.prototype,e=b.chartGetZData,f=b.seriesAfterInit,a=b.seriesAfterRender,u=b.seriesGetCenter,g=b.seriesShowOrHide;b=b.seriesTranslate;q.prototype.onPointSupported= +!0;-1===h.indexOf(c)&&(h.push(c),k(d,"afterInit",f),k(d,"afterRender",a),k(d,"afterGetCenter",u),k(d,"hide",g),k(d,"show",g),k(d,"translate",b));-1===h.indexOf(p)&&(h.push(p),k(p,"beforeRender",e),k(p,"beforeRedraw",e));return c};var m=function(){function a(a){this.getRadii=n.prototype.getRadii;this.getRadius=n.prototype.getRadius;this.getPxExtremes=n.prototype.getPxExtremes;this.getZExtremes=n.prototype.getZExtremes;this.chart=a.chart;this.series=a;this.options=a.options.onPoint}a.prototype.drawConnector= +function(){this.connector||(this.connector=this.series.chart.renderer.path().addClass("highcharts-connector-seriesonpoint").attr({zIndex:-1}).add(this.series.markerGroup));var a=this.getConnectorAttributes();a&&this.connector.animate(a)};a.prototype.getConnectorAttributes=function(){var a=this.series.chart,b=this.options;if(b){var e=b.connectorOptions||{},f=b.position,d=a.get(b.id);if(d instanceof c&&f&&l(d.plotX)&&l(d.plotY)){b=l(f.x)?f.x:d.plotX;var h=l(f.y)?f.y:d.plotY,k=e.width||1;d=e.stroke|| +this.series.color;e=e.dashstyle;f={d:g.prototype.crispLine([["M",b,h],["L",b+(f.offsetX||0),h+(f.offsetY||0)]],k,"ceil"),"stroke-width":k};a.styledMode||(f.stroke=d,f.dashstyle=e);return f}}};a.prototype.seriesAfterInit=function(){this.onPointSupported&&this.options.onPoint&&(this.useMapGeometry=this.bubblePadding=!0,this.onPoint=new a(this))};a.prototype.seriesAfterRender=function(){delete this.chart.bubbleZExtremes;this.onPoint&&this.onPoint.drawConnector()};a.prototype.seriesGetCenter=function(a){var b= +this.options.onPoint,e=a.positions;if(b){var f=this.chart.get(b.id);f instanceof c&&l(f.plotX)&&l(f.plotY)&&(e[0]=f.plotX,e[1]=f.plotY);if(b=b.position)l(b.x)&&(e[0]=b.x),l(b.y)&&(e[1]=b.y),b.offsetX&&(e[0]+=b.offsetX),b.offsetY&&(e[1]+=b.offsetY)}b=this.radii&&this.radii[this.index];t(b)&&(e[2]=2*b);a.positions=e};a.prototype.seriesShowOrHide=function(){var a=this.chart.series;this.points.forEach(function(b){var c=r(a,function(a){return(a=((a.onPoint||{}).options||{}).id)?a===b.id:!1});c&&c.setVisible(!c.visible, +!1)})};a.prototype.seriesTranslate=function(){this.onPoint&&(this.onPoint.getRadii(),this.radii=this.onPoint.radii)};a.prototype.chartGetZData=function(){var a=[];this.series.forEach(function(b){b=b.options.onPoint;a.push(b&&b.z?b.z:null)});this.series.forEach(function(b){b.onPoint&&(b.onPoint.zData=b.zData=a)})};return a}();a.Additions=m})(m||(m={}));"";return m});g(a,"masters/modules/series-on-point.src.js",[a["Series/SeriesOnPointComposition.js"]],function(a){a.compose(c.Series,c.Chart)})}); +//# sourceMappingURL=series-on-point.js.map \ No newline at end of file diff --git a/docs/reference/libs/highcharts-10.2.0/modules/solid-gauge.js b/docs/reference/libs/highcharts-10.2.0/modules/solid-gauge.js new file mode 100644 index 0000000..6b17a59 --- /dev/null +++ b/docs/reference/libs/highcharts-10.2.0/modules/solid-gauge.js @@ -0,0 +1,19 @@ +/* + Highcharts JS v10.2.0 (2022-07-05) + + Solid angular gauge module + + (c) 2010-2021 Torstein Honsi + + License: www.highcharts.com/license +*/ +(function(a){"object"===typeof module&&module.exports?(a["default"]=a,module.exports=a):"function"===typeof define&&define.amd?define("highcharts/modules/solid-gauge",["highcharts","highcharts/highcharts-more"],function(f){a(f);a.Highcharts=f;return a}):a("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(a){function f(a,e,l,c){a.hasOwnProperty(e)||(a[e]=c.apply(null,l),"function"===typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:e,module:a[e]}})))} +a=a?a._modules:{};f(a,"Core/Axis/SolidGaugeAxis.js",[a["Core/Color/Color.js"],a["Core/Utilities.js"]],function(a,e){var l=a.parse,c=e.extend,k=e.merge,m;(function(a){var b={initDataClasses:function(a){var c=this.chart,n,p=0,g=this.options;this.dataClasses=n=[];a.dataClasses.forEach(function(b,d){b=k(b);n.push(b);b.color||("category"===g.dataClassColor?(d=c.options.colors,b.color=d[p++],p===d.length&&(p=0)):b.color=l(g.minColor).tweenTo(l(g.maxColor),d/(a.dataClasses.length-1)))})},initStops:function(a){this.stops= +a.stops||[[0,this.options.minColor],[1,this.options.maxColor]];this.stops.forEach(function(a){a.color=l(a[1])})},toColor:function(a,c){var b=this.stops,l=this.dataClasses,g;if(l)for(g=l.length;g--;){var e=l[g];var d=e.from;b=e.to;if(("undefined"===typeof d||a>=d)&&("undefined"===typeof b||a<=b)){var k=e.color;c&&(c.dataClass=g);break}}else{this.logarithmic&&(a=this.val2lin(a));a=1-(this.max-a)/(this.max-this.min);for(g=b.length;g--&&!(a>b[g][0]););d=b[g]||b[g+1];b=b[g+1]||d;a=1-(b[0]-a)/(b[0]-d[0]|| +1);k=d.color.tweenTo(b.color,a)}return k}};a.init=function(a){c(a,b)}})(m||(m={}));return m});f(a,"Series/SolidGauge/SolidGaugeComposition.js",[a["Core/Renderer/SVG/SVGRenderer.js"]],function(a){a=a.prototype;var e=a.symbols.arc;a.symbols.arc=function(a,c,k,m,b){a=e(a,c,k,m,b);b&&b.rounded&&(k=((b.r||k)-(b.innerR||0))/2,c=a[0],b=a[2],"M"===c[0]&&"L"===b[0]&&(c=["A",k,k,0,1,1,c[1],c[2]],a[2]=["A",k,k,0,1,1,b[1],b[2]],a[4]=c));return a}});f(a,"Series/SolidGauge/SolidGaugeSeries.js",[a["Core/Legend/LegendSymbol.js"], +a["Core/Series/SeriesRegistry.js"],a["Core/Axis/SolidGaugeAxis.js"],a["Core/Utilities.js"]],function(a,e,l,c){var k=this&&this.__extends||function(){var a=function(b,h){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,b){a.__proto__=b}||function(a,b){for(var h in b)b.hasOwnProperty(h)&&(a[h]=b[h])};return a(b,h)};return function(b,h){function c(){this.constructor=b}a(b,h);b.prototype=null===h?Object.create(h):(c.prototype=h.prototype,new c)}}(),m=e.seriesTypes,b=m.gauge,f=m.pie.prototype, +p=c.clamp,u=c.extend,n=c.isNumber,w=c.merge,g=c.pick,v=c.pInt,d={colorByPoint:!0,dataLabels:{y:0}};c=function(a){function c(){var b=null!==a&&a.apply(this,arguments)||this;b.data=void 0;b.points=void 0;b.options=void 0;b.axis=void 0;b.yAxis=void 0;b.startAngleRad=void 0;b.thresholdAngleRad=void 0;return b}k(c,a);c.prototype.translate=function(){var a=this.yAxis;l.init(a);!a.dataClasses&&a.options.dataClasses&&a.initDataClasses(a.options);a.initStops(a.options);b.prototype.translate.call(this)};c.prototype.drawPoints= +function(){var a=this,b=a.yAxis,c=b.center,e=a.options,k=a.chart.renderer,d=e.overshoot,l=n(d)?d/180*Math.PI:0,f;n(e.threshold)&&(f=b.startAngleRad+b.translate(e.threshold,void 0,void 0,void 0,!0));this.thresholdAngleRad=g(f,b.startAngleRad);a.points.forEach(function(d){if(!d.isNull){var h=d.graphic,f=b.startAngleRad+b.translate(d.y,void 0,void 0,void 0,!0),m=v(g(d.options.radius,e.radius,100))*c[2]/200,q=v(g(d.options.innerRadius,e.innerRadius,60))*c[2]/200,r=b.toColor(d.y,d),t=Math.min(b.startAngleRad, +b.endAngleRad),n=Math.max(b.startAngleRad,b.endAngleRad);"none"===r&&(r=d.color||a.color||"none");"none"!==r&&(d.color=r);f=p(f,t-l,n+l);!1===e.wrap&&(f=p(f,t,n));t=Math.min(f,a.thresholdAngleRad);f=Math.max(f,a.thresholdAngleRad);f-t>2*Math.PI&&(f=t+2*Math.PI);d.shapeArgs=q={x:c[0],y:c[1],r:m,innerR:q,start:t,end:f,rounded:e.rounded};d.startR=m;h?(m=q.d,h.animate(u({fill:r},q)),m&&(q.d=m)):d.graphic=h=k.arc(q).attr({fill:r,"sweep-flag":0}).add(a.group);a.chart.styledMode||("square"!==e.linecap&& +h.attr({"stroke-linecap":"round","stroke-linejoin":"round"}),h.attr({stroke:e.borderColor||"none","stroke-width":e.borderWidth||0}));h&&h.addClass(d.getClassName(),!0)}})};c.prototype.animate=function(a){a||(this.startAngleRad=this.thresholdAngleRad,f.animate.call(this,a))};c.defaultOptions=w(b.defaultOptions,d);return c}(b);u(c.prototype,{drawLegendSymbol:a.drawRectangle});e.registerSeriesType("solidgauge",c);"";return c});f(a,"masters/modules/solid-gauge.src.js",[],function(){})}); +//# sourceMappingURL=solid-gauge.js.map \ No newline at end of file diff --git a/docs/reference/libs/highcharts-10.2.0/modules/sonification.js b/docs/reference/libs/highcharts-10.2.0/modules/sonification.js new file mode 100644 index 0000000..6b9efc3 --- /dev/null +++ b/docs/reference/libs/highcharts-10.2.0/modules/sonification.js @@ -0,0 +1,68 @@ +/* + Highcharts JS v10.2.0 (2022-07-05) + + Sonification module + + (c) 2012-2021 ystein Moseng + + License: www.highcharts.com/license +*/ +(function(a){"object"===typeof module&&module.exports?(a["default"]=a,module.exports=a):"function"===typeof define&&define.amd?define("highcharts/modules/sonification",["highcharts"],function(l){a(l);a.Highcharts=l;return a}):a("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(a){function l(a,d,h,k){a.hasOwnProperty(d)||(a[d]=k.apply(null,h),"function"===typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:d,module:a[d]}})))}a=a?a._modules:{}; +l(a,"Extensions/Sonification/MusicalFrequencies.js",[],function(){return[16.351597831287414,17.323914436054505,18.354047994837977,19.445436482630058,20.601722307054366,21.826764464562746,23.12465141947715,24.499714748859326,25.956543598746574,27.5,29.13523509488062,30.86770632850775,32.70319566257483,34.64782887210901,36.70809598967594,38.890872965260115,41.20344461410875,43.653528929125486,46.2493028389543,48.999429497718666,51.91308719749314,55,58.27047018976124,61.7354126570155,65.40639132514966, +69.29565774421802,73.41619197935188,77.78174593052023,82.4068892282175,87.30705785825097,92.4986056779086,97.99885899543733,103.82617439498628,110,116.54094037952248,123.47082531403103,130.8127826502993,138.59131548843604,146.8323839587038,155.56349186104046,164.81377845643496,174.61411571650194,184.9972113558172,195.99771799087463,207.65234878997256,220,233.08188075904496,246.94165062806206,261.6255653005986,277.1826309768721,293.6647679174076,311.1269837220809,329.6275569128699,349.2282314330039, +369.9944227116344,391.99543598174927,415.3046975799451,440,466.1637615180899,493.8833012561241,523.2511306011972,554.3652619537442,587.3295358348151,622.2539674441618,659.2551138257398,698.4564628660078,739.9888454232688,783.9908719634985,830.6093951598903,880,932.3275230361799,987.7666025122483,1046.5022612023945,1108.7305239074883,1174.6590716696303,1244.5079348883237,1318.5102276514797,1396.9129257320155,1479.9776908465376,1567.981743926997,1661.2187903197805,1760,1864.6550460723597,1975.533205024496, +2093.004522404789,2217.4610478149766,2349.31814333926,2489.0158697766474,2637.02045530296,2793.825851464031,2959.955381693075,3135.9634878539946,3322.437580639561,3520,3729.3100921447194,3951.066410048992,4186.009044809578]});l(a,"Extensions/Sonification/SignalHandler.js",[],function(){return function(){function a(a){this.supportedSignals=this.signals=void 0;this.init(a||[])}a.prototype.init=function(a){this.supportedSignals=a;this.signals={}};a.prototype.registerSignalCallbacks=function(a){var d= +this;d.supportedSignals.forEach(function(k){var n=a[k];n&&(d.signals[k]=d.signals[k]||[]).push(n)})};a.prototype.clearSignalCallbacks=function(a){var d=this;a?a.forEach(function(a){d.signals[a]&&delete d.signals[a]}):d.signals={}};a.prototype.emitSignal=function(a,h){var d;this.signals[a]&&this.signals[a].forEach(function(a){a=a(h);d="undefined"!==typeof a?a:d});return d};return a}()});l(a,"Extensions/Sonification/SonificationUtilities.js",[a["Extensions/Sonification/MusicalFrequencies.js"],a["Extensions/Sonification/SignalHandler.js"], +a["Core/Utilities.js"]],function(a,d,h){var k=h.clamp,n=h.merge,g={musicalFrequencies:a,SignalHandler:d,getExtremesForInstrumentProps:function(a,b,f){var c=a.options.sonification&&a.options.sonification.defaultInstrumentOptions,q=function(a){return{instrumentMapping:a.mapping}},r=(b||[]).slice(0);c&&r.push(q(c));a.series.forEach(function(a){(a=a.options.sonification&&a.options.sonification.instruments)&&(r=r.concat(a.map(q)))});return r.reduce(function(c,b){Object.keys(b.instrumentMapping||{}).forEach(function(q){q= +b.instrumentMapping[q];"string"!==typeof q||c[q]||(c[q]=g.calculateDataExtremes(a,q))});return c},n(f))},getMusicalScale:function(c){return a.filter(function(a,f){var b=f%12+1;return c.some(function(a){return a===b})})},calculateDataExtremes:function(a,b){return a.series.reduce(function(a,c){c.points.forEach(function(c){c="undefined"!==typeof c[b]?c[b]:c.options[b];a.min=Math.min(a.min,c);a.max=Math.max(a.max,c)});return a},{min:Infinity,max:-Infinity})},virtualAxisTranslate:function(a,b,f,d){var c= +b.max-b.min;a=f.min+Math.abs(f.max-f.min)*(d?b.max-a:a-b.min)/c;return 0d?c:b},Infinity):a};a.prototype.clearPlayCallbackTimers=function(){this.playCallbackTimers.forEach(function(a){clearInterval(a)});this.playCallbackTimers=[]};a.prototype.setFrequency=function(a,b){b=b||{};a=this.getValidFrequency(a,b.min,b.max);"oscillator"===this.options.type&&this.oscillatorPlay(a)};a.prototype.oscillatorPlay=function(b){this.oscillatorStarted||(this.oscillator.start(),this.oscillatorStarted=!0);this.oscillator.frequency.setValueAtTime(b,a.audioContext.currentTime)}; +a.prototype.preparePlay=function(){this.setGain(.001);"suspended"===a.audioContext.state&&a.audioContext.resume();this.oscillator&&!this.oscillatorStarted&&(this.oscillator.start(),this.oscillatorStarted=!0)};a.prototype.play=function(c){var e=this,m=c.duration||0,f=function(a,b,f){var m=c.duration,d=e.options.playCallbackInterval,g=0;if("function"===typeof a){var w=setInterval(function(){g++;var c=g*d/m;if(1<=c)e[b](a(1),f),clearInterval(w);else e[b](a(c),f)},d);e.playCallbackTimers.push(w)}else e[b](a, +f)};if(e.id)if("suspended"===a.audioContext.state||this.oscillator&&!this.oscillatorStarted)e.preparePlay(),setTimeout(function(){e.play(c)},10);else{e.playCallbackTimers.length&&e.clearPlayCallbackTimers();e.cancelGainRamp();e.stopOscillatorTimeout&&(clearTimeout(e.stopOscillatorTimeout),delete e.stopOscillatorTimeout);e.stopTimeout&&(clearTimeout(e.stopTimeout),delete e.stopTimeout,e.stopCallback&&(e._play=e.play,e.play=function(){},e.stopCallback("cancelled"),e.play=e._play));var g=m=g.length&&(k&&!e?(b.cursor+=c,n(k).forEach(function(a){a[0k?(b.cursor+=a,b.playEvents(a)):this.nextScheduledPlay=setTimeout(function(){b.cursor+=a;b.playEvents(a)},k)}};return g}();"";return h});l(a,"Extensions/Sonification/SeriesSonify.js",[a["Extensions/Sonification/Earcon.js"],a["Extensions/Sonification/Instrument.js"],a["Core/Series/Point.js"],a["Extensions/Sonification/SonificationUtilities.js"],a["Extensions/Sonification/Timeline.js"],a["Extensions/Sonification/TimelineEvent.js"],a["Extensions/Sonification/TimelinePath.js"], +a["Core/Utilities.js"]],function(a,d,h,k,n,g,c,b){var f=k.getExtremesForInstrumentProps,t=k.virtualAxisTranslate,q=b.extend,r=b.find,e=b.isArray,m=b.merge,w=b.objectEach,l=b.pick,u;(function(b){function k(a,b){a.forEach(function(a){a=a.instrument;"string"!==typeof a&&a.setMasterVolume(b)});return a}function y(a,b){var e=b.timeExtremes||G(a,b.pointPlayTime),p=f(a.chart,b.instruments,b.dataExtremes),d=u(a,b.instruments,p),m=l(b.masterVolume,1),A=E(b.instruments),v=k(A,m);A=a.points.reduce(function(a, +c){var N=D(c,b.earcons||[]),f=t(x(c,b.pointPlayTime),e,{min:0,max:Math.max(b.duration-d,10)});return a.concat(new g({eventObject:c,time:f,id:c.id,playOptions:{instruments:v,dataExtremes:p,masterVolume:m}}),N.map(function(a){return new g({eventObject:a,time:f,playOptions:{volume:m}})}))},[]);return new c({events:A,onStart:function(){if(b.onStart)b.onStart(a)},onEventStart:function(a){var c=a.options&&a.options.eventObject;if(c instanceof h){if(!c.series.visible&&!c.series.chart.series.some(function(a){return a.visible}))return a.timelinePath.timeline.pause(), +a.timelinePath.timeline.resetCursor(),!1;if(b.onPointStart)b.onPointStart(a,c)}},onEventEnd:function(a){var c=a.event&&a.event.options&&a.event.options.eventObject;if(c instanceof h&&b.onPointEnd)b.onPointEnd(a.event,c)},onEnd:function(){if(b.onEnd)b.onEnd(a)},targetDuration:b.duration})}function z(a){var b=a.options.sonification||{},c=a.chart.options.sonification||{},e=c.events||{},d=b.events||{};return{onEnd:d.onSeriesEnd||e.onSeriesEnd,onStart:d.onSeriesStart||e.onSeriesStart,onPointEnd:d.onPointEnd|| +e.onPointEnd,onPointStart:d.onPointStart||e.onPointStart,pointPlayTime:c.defaultInstrumentOptions&&c.defaultInstrumentOptions.mapping&&c.defaultInstrumentOptions.mapping.pointPlayTime,masterVolume:c.masterVolume,instruments:C(a),earcons:b.earcons||c.earcons}}function u(a,b,c){var e=a.points[a.points.length-1];return b.reduce(function(a,b){b=b.instrumentMapping.duration;b="string"===typeof b?0:"function"===typeof b?b(e,c):b;return Math.max(a,b)},0)}function D(b,c){return c.reduce(function(c,e){var d= +e.earcon;e.condition?(e=e.condition(b),e instanceof a?c.push(e):e&&c.push(d)):e.onPoint&&b.id===e.onPoint&&c.push(d);return c},[])}function x(a,b){return"function"===typeof b?b(a):l(a[b],a.options[b])}function C(a,b){if(b&&b.instruments)return b.instruments;var c=a.chart.options.sonification&&a.chart.options.sonification.defaultInstrumentOptions||{},e=function(a){w(a,function(b,c){null===b&&delete a[c]})};return(a.options.sonification&&a.options.sonification.instruments||[{}]).map(function(a){e(a.mapping|| +{});e(a);return{instrument:a.instrument||c.instrument,instrumentOptions:m(c,a,{mapping:void 0,instrument:void 0}),instrumentMapping:m(c.mapping,a.mapping)}})}function G(a,b){return a.points.reduce(function(a,c){c=x(c,b);a.min=Math.min(a.min,c);a.max=Math.max(a.max,c);return a},{min:Infinity,max:-Infinity})}function E(a){return a.map(function(a){var b=a.instrument;b=("string"===typeof b?d.definitions[b]:b).copy();return m(a,{instrument:b})})}function F(a){var b=this.chart.options.sonification,c=this.options.sonification; +a=m({duration:c&&c.duration||b&&b.duration},z(this),a);b=y(this,a);if(c=this.chart.sonification)c.timeline&&c.timeline.pause(),c.duration=a.duration,c.timeline=new n({paths:[b]}),c.timeline.play()}var B=[];b.compose=function(a){-1===B.indexOf(a)&&(B.push(a),q(a.prototype,{sonify:F}));return a};b.buildChartSonifySeriesOptions=function(a,b,c){var d=c.seriesOptions||{},f=a.chart.options.sonification;f=f&&f.defaultInstrumentOptions&&f.defaultInstrumentOptions.mapping&&f.defaultInstrumentOptions.mapping.pointPlayTime|| +"x";var g=z(a);return m(g,{dataExtremes:b,timeExtremes:G(a,f),instruments:c.instruments||g.instruments,onStart:c.onSeriesStart||g.onStart,onEnd:c.onSeriesEnd||g.onEnd,earcons:c.earcons||g.earcons,masterVolume:l(c.masterVolume,g.masterVolume)},e(d)?r(d,function(b){return b.id===l(a.id,a.options.id)})||{}:d,{pointPlayTime:f})};b.buildTimelinePathFromSeries=y})(u||(u={}));return u});l(a,"Extensions/Sonification/ChartSonify.js",[a["Extensions/Sonification/Earcon.js"],a["Core/Series/Point.js"],a["Extensions/Sonification/SeriesSonify.js"], +a["Extensions/Sonification/SonificationUtilities.js"],a["Extensions/Sonification/Timeline.js"],a["Extensions/Sonification/TimelineEvent.js"],a["Extensions/Sonification/TimelinePath.js"],a["Core/Utilities.js"]],function(a,d,h,k,n,g,c,b){function f(b,e,d){if("sequential"===b||"simultaneous"===b){var p=e.series.reduce(function(a,b){b.visible&&!1!==(b.options.sonification&&b.options.sonification.enabled)&&a.push({series:b,seriesOptions:d(b)});return a},[]);"simultaneous"===b&&(p=[p])}else p=b.reduce(function(b, +p){p=v(p).reduce(function(b,p){var f;if("string"===typeof p){var m=e.get(p);m.visible&&(f={series:m,seriesOptions:d(m)})}else p instanceof a&&(f=new c({events:[new g({eventObject:p})]}));p.silentWait&&(f=new c({silentWait:p.silentWait}));f&&b.push(f);return b},[]);p.length&&b.push(p);return b},[]);return p}function l(a,b){return b?a.reduce(function(e,d,p){d=v(d);e.push(d);p=b.max||d.push(new g({time:b.max}));d.length&&a.addTimelineEvents(d)})}function e(a){return a.reduce(function(a, +b){return a+v(b).reduce(function(a,b){return(b=b.series&&b.seriesOptions&&b.seriesOptions.timeExtremes)?Math.max(a,b.max-b.min):a},0)},0)}function m(a,b){var d=Math.max(b-q(a),0),p=e(a);return a.reduce(function(a,b){b=v(b).reduce(function(a,b){b instanceof c?a.push(b):b.series&&(b.seriesOptions.duration=b.seriesOptions.duration||M(b.seriesOptions.timeExtremes.max-b.seriesOptions.timeExtremes.min,{min:0,max:p},{min:0,max:d}),a.push(h.buildTimelinePathFromSeries(b.series,b.seriesOptions)));return a}, +[]);a.push(b);return a},[])}function w(a,b){a=a.options.sonification||{};return B({duration:a.duration,afterSeriesWait:a.afterSeriesWait,pointPlayTime:a.defaultInstrumentOptions&&a.defaultInstrumentOptions.mapping&&a.defaultInstrumentOptions.mapping.pointPlayTime,order:a.order,onSeriesStart:a.events&&a.events.onSeriesStart,onSeriesEnd:a.events&&a.events.onSeriesEnd,onEnd:a.events&&a.events.onEnd},b)}function x(a){var b=w(this,a);this.sonification.timeline&&this.sonification.timeline.pause();this.sonification.duration= +b.duration;var c=L(this,b.instruments,b.dataExtremes);a=f(b.order,this,function(a){return h.buildChartSonifySeriesOptions(a,c,b)});a=l(a,b.afterSeriesWait||0);a=m(a,b.duration);a.forEach(function(a){r(a)});this.sonification.timeline=new n({paths:a,onEnd:b.onEnd});this.sonification.timeline.play()}function u(){if(this.sonification.timeline){var a=this.sonification.timeline.getCursor();return Object.keys(a).map(function(b){return a[b].options.eventObject}).filter(function(a){return a instanceof d})}return[]} +function C(a){var b=this.sonification.timeline;b&&v(a).forEach(function(a){b.setCursor(a.id)})}function H(a){this.sonification.timeline?this.sonification.timeline.pause(A(a,!0)):this.sonification.currentlyPlayingPoint&&this.sonification.currentlyPlayingPoint.cancelSonify(a)}function y(a){this.sonification.timeline&&this.sonification.timeline.play(a)}function z(a){this.sonification.timeline&&this.sonification.timeline.rewind(a)}function I(a){this.pauseSonify(a);this.resetSonifyCursor()}function D(){this.sonification.timeline&& +this.sonification.timeline.resetCursor()}function J(){this.sonification.timeline&&this.sonification.timeline.resetCursorEnd()}var L=k.getExtremesForInstrumentProps,M=k.virtualAxisTranslate,E=b.addEvent,F=b.extend,B=b.merge,A=b.pick,v=b.splat,K=[];k={chartSonify:x,compose:function(a){-1===K.indexOf(a)&&(K.push(a),F(a.prototype,{sonify:x,pauseSonify:H,resumeSonify:y,rewindSonify:z,cancelSonify:I,getCurrentSonifyPoints:u,setSonifyCursor:C,resetSonifyCursor:D,resetSonifyCursorEnd:J}),E(a,"init",function(){this.sonification= +{}}),E(a,"update",function(a){(a=a.options.sonification)&&B(!0,this.options.sonification,a)}));return a},pause:H,resume:y,rewind:z,cancel:I,getCurrentPoints:u,setCursor:C,resetCursor:D,resetCursorEnd:J};"";return k});l(a,"Extensions/Sonification/PointSonify.js",[a["Extensions/Sonification/Instrument.js"],a["Core/Utilities.js"],a["Extensions/Sonification/SonificationUtilities.js"]],function(a,d,h){var k=d.error,n=d.merge,g=d.pick,c=[],b={minDuration:20,maxDuration:2E3,minVolume:.1,maxVolume:1,minPan:-1, +maxPan:1,minFrequency:220,maxFrequency:2200},f;(function(d){function f(c){var d=this,e=d.series.chart,f=g(c.masterVolume,e.options.sonification&&e.options.sonification.masterVolume),l=c.dataExtremes||{},q=function(a,b,c){if("function"===typeof a)return b?function(b){return a(d,l,b)}:a(d,l);if("string"===typeof a){var e=(b="-"===a.charAt(0))?a.slice(1):a,f=g(d[e],d.options[e]);l[e]=l[e]||h.calculateDataExtremes(d.series.chart,e);return h.virtualAxisTranslate(f,l[e],c,b)}return a};e.sonification.currentlyPlayingPoint= +d;d.sonification=d.sonification||{};d.sonification.instrumentsPlaying=d.sonification.instrumentsPlaying||{};var r=d.sonification.signalHandler=d.sonification.signalHandler||new h.SignalHandler(["onEnd"]);r.clearSignalCallbacks();r.registerSignalCallbacks({onEnd:c.onEnd});!d.isNull&&d.visible&&d.series.visible?c.instruments.forEach(function(c){var g="string"===typeof c.instrument?a.definitions[c.instrument]:c.instrument,m=c.instrumentMapping||{},h=n(b,c.instrumentOptions),l=g.id,t=function(a){c.onEnd&& +c.onEnd.apply(this,arguments);e.sonification&&e.sonification.currentlyPlayingPoint&&delete e.sonification.currentlyPlayingPoint;d.sonification&&d.sonification.instrumentsPlaying&&(delete d.sonification.instrumentsPlaying[l],Object.keys(d.sonification.instrumentsPlaying).length||r.emitSignal("onEnd",a))};g&&g.play?("undefined"!==typeof f&&g.setMasterVolume(f),d.sonification.instrumentsPlaying[g.id]=g,g.play({frequency:q(m.frequency,!0,{min:h.minFrequency,max:h.maxFrequency}),duration:q(m.duration, +!1,{min:h.minDuration,max:h.maxDuration}),pan:q(m.pan,!0,{min:h.minPan,max:h.maxPan}),volume:q(m.volume,!0,{min:h.minVolume,max:h.maxVolume}),onEnd:t,minFrequency:h.minFrequency,maxFrequency:h.maxFrequency})):k(30)}):r.emitSignal("onEnd")}function l(a){var b=this.sonification&&this.sonification.instrumentsPlaying,c=b&&Object.keys(b);c&&c.length&&(c.forEach(function(c){b[c].stop(!a,null,"cancelled")}),this.sonification.instrumentsPlaying={},this.sonification.signalHandler.emitSignal("onEnd","cancelled"))} +d.compose=function(a){if(-1===c.indexOf(a)){c.push(a);var b=a.prototype;b.sonify=f;b.cancelSonify=l}return a}})(f||(f={}));"";return f});l(a,"masters/modules/sonification.src.js",[a["Core/Globals.js"],a["Extensions/Sonification/ChartSonify.js"],a["Extensions/Sonification/Earcon.js"],a["Extensions/Sonification/Instrument.js"],a["Extensions/Sonification/PointSonify.js"],a["Extensions/Sonification/SeriesSonify.js"],a["Extensions/Sonification/Sonification.js"],a["Extensions/Sonification/Timeline.js"], +a["Extensions/Sonification/TimelineEvent.js"],a["Extensions/Sonification/TimelinePath.js"]],function(a,d,h,k,l,g,c,b,f,t){var n=this&&this.__assign||function(){n=Object.assign||function(a){for(var b,c=1,d=arguments.length;cf&&("right"===d?a.align="left":a.x=(a.x||0)-f);f=c+p.width-l;f>b.plotWidth&&("left"===d?a.align="right":a.x=(a.x||0)+b.plotWidth-f);f=e+l;0>f&&("bottom"===k?a.verticalAlign="top":a.y=(a.y||0)-f);f=e+p.height-l;f>b.plotHeight&&("top"===k?a.verticalAlign="bottom":a.y=(a.y||0)+b.plotHeight-f);return a};a.prototype.translatePoint= +function(b,a){c.translatePoint.call(this,b,a,0)};a.prototype.translate=function(b,a){var c=this.annotation.chart,e=this.annotation.userOptions,d=c.annotations.indexOf(this.annotation);d=c.options.annotations[d];c.inverted&&(c=b,b=a,a=c);this.options.x+=b;this.options.y+=a;d[this.collection][this.index].x=this.options.x;d[this.collection][this.index].y=this.options.y;e[this.collection][this.index].x=this.options.x;e[this.collection][this.index].y=this.options.y};a.prototype.render=function(b){var e= +this.options,f=this.attrsFromOptions(e),g=e.style;this.graphic=this.annotation.chart.renderer.label("",0,-9999,e.shape,null,null,e.useHTML,null,"annotation-label").attr(f).add(b);this.annotation.chart.styledMode||("contrast"===g.color&&(g.color=this.annotation.chart.renderer.getContrast(-1p&&(p=-h-p);pa+h?l.push(["L",b+k,a+h]):gb+c&&l.push(["L",b+c,a+h/2])}return l||[]};return q});y(a,"Extensions/Annotations/Controllables/ControllableImage.js",[a["Extensions/Annotations/Controllables/ControllableLabel.js"],a["Extensions/Annotations/Mixins/ControllableMixin.js"]], +function(a,n){return function(){function c(a,c,q){this.addControlPoints=n.addControlPoints;this.anchor=n.anchor;this.attr=n.attr;this.attrsFromOptions=n.attrsFromOptions;this.destroy=n.destroy;this.getPointsOptions=n.getPointsOptions;this.init=n.init;this.linkPoints=n.linkPoints;this.point=n.point;this.rotate=n.rotate;this.scale=n.scale;this.setControlPointsVisibility=n.setControlPointsVisibility;this.shouldBeDrawn=n.shouldBeDrawn;this.transform=n.transform;this.transformPoint=n.transformPoint;this.translatePoint= +n.translatePoint;this.translateShape=n.translateShape;this.update=n.update;this.type="image";this.translate=n.translateShape;this.init(a,c,q);this.collection="shapes"}c.prototype.render=function(a){var c=this.attrsFromOptions(this.options),q=this.options;this.graphic=this.annotation.chart.renderer.image(q.src,0,-9E9,q.width,q.height).attr(c).add(a);this.graphic.width=q.width;this.graphic.height=q.height;n.render.call(this)};c.prototype.redraw=function(c){var m=this.anchor(this.points[0]);if(m=a.prototype.position.call(this, +m))this.graphic[c?"animate":"attr"]({x:m.x,y:m.y});else this.graphic.attr({x:0,y:-9E9});this.graphic.placed=!!m;n.redraw.call(this,c)};c.attrsMap={width:"width",height:"height",zIndex:"zIndex"};return c}()});y(a,"Extensions/Annotations/Annotation.js",[a["Core/Animation/AnimationUtilities.js"],a["Core/Chart/Chart.js"],a["Extensions/Annotations/Mixins/ControllableMixin.js"],a["Extensions/Annotations/Controllables/ControllableRect.js"],a["Extensions/Annotations/Controllables/ControllableCircle.js"], +a["Extensions/Annotations/Controllables/ControllableEllipse.js"],a["Extensions/Annotations/Controllables/ControllablePath.js"],a["Extensions/Annotations/Controllables/ControllableImage.js"],a["Extensions/Annotations/Controllables/ControllableLabel.js"],a["Extensions/Annotations/ControlPoint.js"],a["Extensions/Annotations/Mixins/EventEmitterMixin.js"],a["Core/Globals.js"],a["Extensions/Annotations/MockPoint.js"],a["Core/Pointer.js"],a["Core/Utilities.js"]],function(a,n,r,x,m,q,b,y,e,h,t,f,u,z,g){var d= +a.getDeferredAnimation;a=n.prototype;var c=g.addEvent,l=g.defined,p=g.destroyObjectProperties,w=g.erase,A=g.extend,G=g.find,E=g.fireEvent,v=g.merge,F=g.pick,B=g.splat;g=g.wrap;var C=function(){function a(a,d){this.annotation=void 0;this.coll="annotations";this.shapesGroup=this.labelsGroup=this.labelCollector=this.group=this.graphic=this.animationConfig=this.collection=void 0;this.chart=a;this.points=[];this.controlPoints=[];this.coll="annotations";this.labels=[];this.shapes=[];this.options=v(this.defaultOptions, +d);this.userOptions=d;d=this.getLabelsAndShapesOptions(this.options,d);this.options.labels=d.labels;this.options.shapes=d.shapes;this.init(a,this.options)}a.prototype.init=function(){var a=this.chart,b=this.options.animation;this.linkPoints();this.addControlPoints();this.addShapes();this.addLabels();this.setLabelCollector();this.animationConfig=d(a,b)};a.prototype.getLabelsAndShapesOptions=function(a,d){var b={};["labels","shapes"].forEach(function(c){var k=a[c];k&&(b[c]=d[c]?B(d[c]).map(function(a, +d){return v(k[d],a)}):a[c])});return b};a.prototype.addShapes=function(){var a=this.options.shapes||[];a.forEach(function(d,b){d=this.initShape(d,b);v(!0,a[b],d.options)},this)};a.prototype.addLabels=function(){(this.options.labels||[]).forEach(function(a,d){a=this.initLabel(a,d);v(!0,this.options.labels[d],a.options)},this)};a.prototype.addClipPaths=function(){this.setClipAxes();this.clipXAxis&&this.clipYAxis&&this.options.crop&&(this.clipRect=this.chart.renderer.clipRect(this.getClipBox()))};a.prototype.setClipAxes= +function(){var a=this.chart.xAxis,d=this.chart.yAxis,b=(this.options.labels||[]).concat(this.options.shapes||[]).reduce(function(b,c){c=c&&(c.point||c.points&&c.points[0]);return[a[c&&c.xAxis]||b[0],d[c&&c.yAxis]||b[1]]},[]);this.clipXAxis=b[0];this.clipYAxis=b[1]};a.prototype.getClipBox=function(){if(this.clipXAxis&&this.clipYAxis)return{x:this.clipXAxis.left,y:this.clipYAxis.top,width:this.clipXAxis.width,height:this.clipYAxis.height}};a.prototype.setLabelCollector=function(){var a=this;a.labelCollector= +function(){return a.labels.reduce(function(a,d){d.options.allowOverlap||a.push(d.graphic);return a},[])};a.chart.labelCollectors.push(a.labelCollector)};a.prototype.setOptions=function(a){this.options=v(this.defaultOptions,a)};a.prototype.redraw=function(a){this.linkPoints();this.graphic||this.render();this.clipRect&&this.clipRect.animate(this.getClipBox());this.redrawItems(this.shapes,a);this.redrawItems(this.labels,a);r.redraw.call(this,a)};a.prototype.redrawItems=function(a,d){for(var b=a.length;b--;)this.redrawItem(a[b], +d)};a.prototype.renderItems=function(a){for(var d=a.length;d--;)this.renderItem(a[d])};a.prototype.render=function(){var a=this.chart.renderer;this.graphic=a.g("annotation").attr({opacity:0,zIndex:this.options.zIndex,visibility:this.options.visible?"inherit":"hidden"}).add();this.shapesGroup=a.g("annotation-shapes").add(this.graphic);this.options.crop&&this.shapesGroup.clip(this.chart.plotBoxClip);this.labelsGroup=a.g("annotation-labels").attr({translateX:0,translateY:0}).add(this.graphic);this.addClipPaths(); +this.clipRect&&this.graphic.clip(this.clipRect);this.renderItems(this.shapes);this.renderItems(this.labels);this.addEvents();r.render.call(this)};a.prototype.setVisibility=function(a){var d=this.options,b=this.chart.navigationBindings;a=F(a,!d.visible);this.graphic.attr("visibility",a?"inherit":"hidden");a||(this.setControlPointsVisibility(!1),b.activeAnnotation===this&&b.popup&&"annotation-toolbar"===b.popup.formType&&E(b,"closePopup"));d.visible=a};a.prototype.setControlPointsVisibility=function(a){var d= +function(d){d.setControlPointsVisibility(a)};r.setControlPointsVisibility.call(this,a);this.shapes.forEach(d);this.labels.forEach(d)};a.prototype.destroy=function(){var a=this.chart,d=function(a){a.destroy()};this.labels.forEach(d);this.shapes.forEach(d);this.clipYAxis=this.clipXAxis=null;w(a.labelCollectors,this.labelCollector);t.destroy.call(this);r.destroy.call(this);p(this,a)};a.prototype.remove=function(){return this.chart.removeAnnotation(this)};a.prototype.update=function(a,d){var b=this.chart, +c=this.getLabelsAndShapesOptions(this.userOptions,a),k=b.annotations.indexOf(this);a=v(!0,this.userOptions,a);a.labels=c.labels;a.shapes=c.shapes;this.destroy();this.constructor(b,a);b.options.annotations[k]=a;this.isUpdating=!0;F(d,!0)&&b.redraw();E(this,"afterUpdate");this.isUpdating=!1};a.prototype.initShape=function(d,b){d=v(this.options.shapeOptions,{controlPointOptions:this.options.controlPointOptions},d);b=new a.shapesMap[d.type](this,d,b);b.itemType="shape";this.shapes.push(b);return b};a.prototype.initLabel= +function(a,d){a=v(this.options.labelOptions,{controlPointOptions:this.options.controlPointOptions},a);d=new e(this,a,d);d.itemType="label";this.labels.push(d);return d};a.prototype.redrawItem=function(a,d){a.linkPoints();a.shouldBeDrawn()?(a.graphic||this.renderItem(a),a.redraw(F(d,!0)&&a.graphic.placed),a.points.length&&this.adjustVisibility(a)):this.destroyItem(a)};a.prototype.adjustVisibility=function(a){var d=!1,b=a.graphic;a.points.forEach(function(a){!1!==a.series.visible&&!1!==a.visible&&(d= +!0)});d?"hidden"===b.visibility&&b.show():b.hide()};a.prototype.destroyItem=function(a){w(this[a.itemType+"s"],a);a.destroy()};a.prototype.renderItem=function(a){a.render("label"===a.itemType?this.labelsGroup:this.shapesGroup)};a.ControlPoint=h;a.MockPoint=u;a.shapesMap={rect:x,circle:m,ellipse:q,path:b,image:y};a.types={};return a}();v(!0,C.prototype,r,t,v(C.prototype,{nonDOMEvents:["add","afterUpdate","drag","remove"],defaultOptions:{visible:!0,animation:{},crop:!0,draggable:"xy",labelOptions:{align:"center", +allowOverlap:!1,backgroundColor:"rgba(0, 0, 0, 0.75)",borderColor:"#000000",borderRadius:3,borderWidth:1,className:"highcharts-no-tooltip",crop:!1,formatter:function(){return l(this.y)?this.y:"Annotation label"},includeInDataExport:!0,overflow:"justify",padding:5,shadow:!1,shape:"callout",style:{fontSize:"11px",fontWeight:"normal",color:"contrast"},useHTML:!1,verticalAlign:"bottom",x:0,y:-16},shapeOptions:{stroke:"rgba(0, 0, 0, 0.75)",strokeWidth:1,fill:"rgba(0, 0, 0, 0.75)",r:0,snap:2},controlPointOptions:{symbol:"circle", +width:10,height:10,style:{cursor:"pointer",fill:"#ffffff",stroke:"#000000","stroke-width":2},visible:!1,events:{}},events:{},zIndex:6}}));f.extendAnnotation=function(a,d,b,c){d=d||C;A(a.prototype,v(d.prototype,b));a.prototype.defaultOptions=v(a.prototype.defaultOptions,c||{})};A(a,{initAnnotation:function(a){a=new (C.types[a.type]||C)(this,a);this.annotations.push(a);return a},addAnnotation:function(a,d){a=this.initAnnotation(a);this.options.annotations.push(a.options);F(d,!0)&&(a.redraw(),a.graphic.attr({opacity:1})); +return a},removeAnnotation:function(a){var d=this.annotations,b="annotations"===a.coll?a:G(d,function(d){return d.options.id===a});b&&(E(b,"remove"),w(this.options.annotations,b.options),w(d,b),b.destroy())},drawAnnotations:function(){this.plotBoxClip.attr(this.plotBox);this.annotations.forEach(function(a){a.redraw();a.graphic.animate({opacity:1},a.animationConfig)})}});a.collectionsWithUpdate.push("annotations");a.collectionsWithInit.annotations=[a.addAnnotation];c(n,"afterInit",function(){this.annotations= +[];this.options.annotations||(this.options.annotations=[])});a.callbacks.push(function(a){a.plotBoxClip=this.renderer.clipRect(this.plotBox);a.controlPointsGroup=a.renderer.g("control-points").attr({zIndex:99}).clip(a.plotBoxClip).add();a.options.annotations.forEach(function(d,b){if(!a.annotations.some(function(a){return a.options===d})){var c=a.initAnnotation(d);a.options.annotations[b]=c.options}});a.drawAnnotations();c(a,"redraw",a.drawAnnotations);c(a,"destroy",function(){a.plotBoxClip.destroy(); +a.controlPointsGroup.destroy()});c(a,"exportData",function(d){var b=(this.options.exporting&&this.options.exporting.csv||{}).columnHeaderFormatter,c=!d.dataRows[1].xValues,k=a.options.lang&&a.options.lang.exportData&&a.options.lang.exportData.annotationHeader,l=function(a){if(b){var d=b(a);if(!1!==d)return d}d=k+" "+a;return c?{columnTitle:d,topLevelColumnTitle:d}:d},e=d.dataRows[0].length,p=a.options.exporting&&a.options.exporting.csv&&a.options.exporting.csv.annotations&&a.options.exporting.csv.annotations.itemDelimiter, +F=a.options.exporting&&a.options.exporting.csv&&a.options.exporting.csv.annotations&&a.options.exporting.csv.annotations.join;a.annotations.forEach(function(a){a.options.labelOptions&&a.options.labelOptions.includeInDataExport&&a.labels.forEach(function(a){if(a.options.text){var b=a.options.text;a.points.forEach(function(a){var c=a.x,k=a.series.xAxis?a.series.xAxis.options.index:-1,l=!1;if(-1===k){a=d.dataRows[0].length;for(var v=Array(a),B=0;Be?a[a.length-1]+=p+b:a.push(b),l=!0)});if(!l){a=d.dataRows[0].length;v=Array(a);for(B=0;B=c-k&&a.value<=b+k&&!a.axis.options.isInternal})[0]}}; +n.prototype.initNavigationBindings=function(){var a=this.options;a&&a.navigation&&a.navigation.bindings&&(this.navigationBindings=new E(this,a.navigation),this.navigationBindings.initEvents(),this.navigationBindings.initUpdate())};t(n,"load",function(){this.initNavigationBindings()});t(n,"destroy",function(){this.navigationBindings&&this.navigationBindings.destroy()});t(E,"deselectButton",function(){this.selectedButtonElement=null});t(a,"remove",function(){this.chart.navigationBindings&&this.chart.navigationBindings.deselectAnnotation()}); +m.Annotation&&(e(a),p(a.types,function(a){e(a)}));x({lang:{navigation:{popup:{simpleShapes:"Simple shapes",lines:"Lines",circle:"Circle",ellipse:"Ellipse",rectangle:"Rectangle",label:"Label",shapeOptions:"Shape options",typeOptions:"Details",fill:"Fill",format:"Text",strokeWidth:"Line width",stroke:"Line color",title:"Title",name:"Name",labelOptions:"Label options",labels:"Labels",backgroundColor:"Background color",backgroundColors:"Background colors",borderColor:"Border color",borderRadius:"Border radius", +borderWidth:"Border width",style:"Style",padding:"Padding",fontSize:"Font size",color:"Color",height:"Height",shapes:"Shape options"}}},navigation:{bindingsClassName:"highcharts-bindings-container",bindings:{circleAnnotation:{className:"highcharts-circle-annotation",start:function(a){var d=this.chart.pointer.getCoordinates(a);a=this.utils.getAssignedAxis(d.xAxis);d=this.utils.getAssignedAxis(d.yAxis);var b=this.chart.options.navigation;if(a&&d)return this.chart.addAnnotation(l({langKey:"circle",type:"basicAnnotation", +shapes:[{type:"circle",point:{x:a.value,y:d.value,xAxis:a.axis.options.index,yAxis:d.axis.options.index},r:5}]},b.annotationsOptions,b.bindings.circleAnnotation.annotationsOptions))},steps:[function(a,b){var c=b.options.shapes;c=c&&c[0]&&c[0].point||{};if(d(c.xAxis)&&d(c.yAxis)){var k=this.chart.inverted;var l=this.chart.xAxis[c.xAxis].toPixels(c.x);c=this.chart.yAxis[c.yAxis].toPixels(c.y);k=Math.max(Math.sqrt(Math.pow(k?c-a.chartX:l-a.chartX,2)+Math.pow(k?l-a.chartY:c-a.chartY,2)),5)}b.update({shapes:[{r:k}]})}]}, +ellipseAnnotation:{className:"highcharts-ellipse-annotation",start:function(a){var d=this.chart.pointer.getCoordinates(a);a=this.utils.getAssignedAxis(d.xAxis);d=this.utils.getAssignedAxis(d.yAxis);var b=this.chart.options.navigation;if(a&&d)return this.chart.addAnnotation(l({langKey:"ellipse",type:"basicAnnotation",shapes:[{type:"ellipse",xAxis:a.axis.options.index,yAxis:d.axis.options.index,points:[{x:a.value,y:d.value},{x:a.value,y:d.value}],ry:1}]},b.annotationsOptions,b.bindings.ellipseAnnotation.annotationOptions))}, +steps:[function(a,d){d=d.shapes[0];var b=d.getAbsolutePosition(d.points[1]);d.translatePoint(a.chartX-b.x,a.chartY-b.y,1);d.redraw(!1)},function(a,d){d=d.shapes[0];var b=d.getAbsolutePosition(d.points[0]),c=d.getAbsolutePosition(d.points[1]);a=d.getDistanceFromLine(b,c,a.chartX,a.chartY);b=d.getYAxis();a=Math.abs(b.toValue(0)-b.toValue(a));d.setYRadius(a);d.redraw(!1)}]},rectangleAnnotation:{className:"highcharts-rectangle-annotation",start:function(a){a=this.chart.pointer.getCoordinates(a);var d= +this.utils.getAssignedAxis(a.xAxis),b=this.utils.getAssignedAxis(a.yAxis);if(d&&b){a=d.value;var c=b.value;d=d.axis.options.index;b=b.axis.options.index;var k=this.chart.options.navigation;return this.chart.addAnnotation(l({langKey:"rectangle",type:"basicAnnotation",shapes:[{type:"path",points:[{xAxis:d,yAxis:b,x:a,y:c},{xAxis:d,yAxis:b,x:a,y:c},{xAxis:d,yAxis:b,x:a,y:c},{xAxis:d,yAxis:b,x:a,y:c},{command:"Z"}]}]},k.annotationsOptions,k.bindings.rectangleAnnotation.annotationsOptions))}},steps:[function(a, +d){var b=d.options.shapes;b=b&&b[0]&&b[0].points||[];var c=this.chart.pointer.getCoordinates(a);a=this.utils.getAssignedAxis(c.xAxis);c=this.utils.getAssignedAxis(c.yAxis);a&&c&&(a=a.value,c=c.value,b[1].x=a,b[2].x=a,b[2].y=c,b[3].y=c,d.update({shapes:[{points:b}]}))}]},labelAnnotation:{className:"highcharts-label-annotation",start:function(a){var d=this.chart.pointer.getCoordinates(a);a=this.utils.getAssignedAxis(d.xAxis);d=this.utils.getAssignedAxis(d.yAxis);var b=this.chart.options.navigation; +if(a&&d)return this.chart.addAnnotation(l({langKey:"label",type:"basicAnnotation",labelOptions:{format:"{y:.2f}"},labels:[{point:{xAxis:a.axis.options.index,yAxis:d.axis.options.index,x:a.value,y:d.value},overflow:"none",crop:!0}]},b.annotationsOptions,b.bindings.labelAnnotation.annotationsOptions))}}},events:{},annotationsOptions:{animation:{defer:0}}}});t(n,"render",function(){var a=this,d=a.navigationBindings;if(a&&d){var b=!1;a.series.forEach(function(a){!a.options.isInternal&&a.visible&&(b=!0)}); +p(d.boundClassNames,function(d,c){if(a.navigationBindings&&a.navigationBindings.container&&a.navigationBindings.container[0]&&(c=a.navigationBindings.container[0].querySelectorAll("."+c)))for(var k=0;kMath.abs(a.x-f)&&(d=Math.abs(a.x-f),c=a)})});if(c&&c.x&&c.y)return{x:c.x,y:c.y,below:b=a&&(b.x=k.toValue(d[k.horiz?"chartX":"chartY"]),b.y=e.toValue(d[e.horiz?"chartX":"chartY"]))}),b.update({typeOptions:{points:c.points}}))}};e(r.prototype,{getYAxisPositions:function(a,c,e,p){function d(a){return y(a)&&!t(a)&&a.match("%")}var k=0,l;if(p){var f=b(parseFloat(p.top)/100);var h= +b(parseFloat(p.height)/100)}return{positions:a.map(function(p,g){var w=b(d(p.options.height)?parseFloat(p.options.height)/100:p.height/c);p=b(d(p.options.top)?parseFloat(p.options.top)/100:(p.top-p.chart.plotTop)/c);h?(p>f&&(p-=h),k=Math.max(k,(p||0)+(w||0))):(t(w)||(w=a[g-1].series.every(function(a){return a.is("sma")})?l:e/100),t(p)||(p=k),l=w,k=b(Math.max(k,(p||0)+(w||0))));return{height:100*w,top:100*p}}),allAxesHeight:k}},getYAxisResizers:function(a){var d=[];a.forEach(function(b,c){b=a[c+1]; +d[c]=b?{enabled:!0,controlledAxis:{next:[u(b.options.id,b.options.index)]}}:{enabled:!1}});return d},resizeYAxes:function(a){var d=this.chart,c=d.yAxis.filter(g.isNotNavigatorYAxis);d=this.getYAxisPositions(c,d.plotHeight,20,a);var e=d.positions,f=d.allAxesHeight,h=this.getYAxisResizers(c);!a&&f<=b(1)?e[e.length-1]={height:20,top:b(100*f-20)}:e.forEach(function(a){a.height=a.height/(100*f)*100;a.top=a.top/(100*f)*100});e.forEach(function(a,d){c[d].update({height:a.height+"%",top:a.top+"%",resize:h[d], +offset:0},!1)})},recalculateYAxisPositions:function(a,c,e,p){a.forEach(function(d,k){k=a[k-1];d.top=k?b(k.height+k.top):0;e&&(d.height=b(d.height+p*c))});return a}});m={segment:{className:"highcharts-segment",start:function(a){var d=this.chart.pointer.getCoordinates(a);a=this.utils.getAssignedAxis(d.xAxis);d=this.utils.getAssignedAxis(d.yAxis);var b=this.chart.options.navigation;if(a&&d)return a=f({langKey:"segment",type:"crookedLine",typeOptions:{xAxis:a.axis.options.index,yAxis:d.axis.options.index, +points:[{x:a.value,y:d.value},{x:a.value,y:d.value}]}},b.annotationsOptions,b.bindings.segment.annotationsOptions),this.chart.addAnnotation(a)},steps:[g.updateNthPoint(1)]},arrowSegment:{className:"highcharts-arrow-segment",start:function(a){var d=this.chart.pointer.getCoordinates(a);a=this.utils.getAssignedAxis(d.xAxis);d=this.utils.getAssignedAxis(d.yAxis);var b=this.chart.options.navigation;if(a&&d)return a=f({langKey:"arrowSegment",type:"crookedLine",typeOptions:{line:{markerEnd:"arrow"},xAxis:a.axis.options.index, +yAxis:d.axis.options.index,points:[{x:a.value,y:d.value},{x:a.value,y:d.value}]}},b.annotationsOptions,b.bindings.arrowSegment.annotationsOptions),this.chart.addAnnotation(a)},steps:[g.updateNthPoint(1)]},ray:{className:"highcharts-ray",start:function(a){var d=this.chart.pointer.getCoordinates(a);a=this.utils.getAssignedAxis(d.xAxis);d=this.utils.getAssignedAxis(d.yAxis);var b=this.chart.options.navigation;if(a&&d)return a=f({langKey:"ray",type:"infinityLine",typeOptions:{type:"ray",xAxis:a.axis.options.index, +yAxis:d.axis.options.index,points:[{x:a.value,y:d.value},{x:a.value,y:d.value}]}},b.annotationsOptions,b.bindings.ray.annotationsOptions),this.chart.addAnnotation(a)},steps:[g.updateNthPoint(1)]},arrowRay:{className:"highcharts-arrow-ray",start:function(a){var d=this.chart.pointer.getCoordinates(a);a=this.utils.getAssignedAxis(d.xAxis);d=this.utils.getAssignedAxis(d.yAxis);var b=this.chart.options.navigation;if(a&&d)return a=f({langKey:"arrowRay",type:"infinityLine",typeOptions:{type:"ray",line:{markerEnd:"arrow"}, +xAxis:a.axis.options.index,yAxis:d.axis.options.index,points:[{x:a.value,y:d.value},{x:a.value,y:d.value}]}},b.annotationsOptions,b.bindings.arrowRay.annotationsOptions),this.chart.addAnnotation(a)},steps:[g.updateNthPoint(1)]},infinityLine:{className:"highcharts-infinity-line",start:function(a){var d=this.chart.pointer.getCoordinates(a);a=this.utils.getAssignedAxis(d.xAxis);d=this.utils.getAssignedAxis(d.yAxis);var b=this.chart.options.navigation;if(a&&d)return a=f({langKey:"infinityLine",type:"infinityLine", +typeOptions:{type:"line",xAxis:a.axis.options.index,yAxis:d.axis.options.index,points:[{x:a.value,y:d.value},{x:a.value,y:d.value}]}},b.annotationsOptions,b.bindings.infinityLine.annotationsOptions),this.chart.addAnnotation(a)},steps:[g.updateNthPoint(1)]},arrowInfinityLine:{className:"highcharts-arrow-infinity-line",start:function(a){var d=this.chart.pointer.getCoordinates(a);a=this.utils.getAssignedAxis(d.xAxis);d=this.utils.getAssignedAxis(d.yAxis);var b=this.chart.options.navigation;if(a&&d)return a= +f({langKey:"arrowInfinityLine",type:"infinityLine",typeOptions:{type:"line",line:{markerEnd:"arrow"},xAxis:a.axis.options.index,yAxis:d.axis.options.index,points:[{x:a.value,y:d.value},{x:a.value,y:d.value}]}},b.annotationsOptions,b.bindings.arrowInfinityLine.annotationsOptions),this.chart.addAnnotation(a)},steps:[g.updateNthPoint(1)]},horizontalLine:{className:"highcharts-horizontal-line",start:function(a){var d=this.chart.pointer.getCoordinates(a);a=this.utils.getAssignedAxis(d.xAxis);d=this.utils.getAssignedAxis(d.yAxis); +var b=this.chart.options.navigation;a&&d&&(a=f({langKey:"horizontalLine",type:"infinityLine",draggable:"y",typeOptions:{type:"horizontalLine",xAxis:a.axis.options.index,yAxis:d.axis.options.index,points:[{x:a.value,y:d.value}]}},b.annotationsOptions,b.bindings.horizontalLine.annotationsOptions),this.chart.addAnnotation(a))}},verticalLine:{className:"highcharts-vertical-line",start:function(a){var d=this.chart.pointer.getCoordinates(a);a=this.utils.getAssignedAxis(d.xAxis);d=this.utils.getAssignedAxis(d.yAxis); +var b=this.chart.options.navigation;a&&d&&(a=f({langKey:"verticalLine",type:"infinityLine",draggable:"x",typeOptions:{type:"verticalLine",xAxis:a.axis.options.index,yAxis:d.axis.options.index,points:[{x:a.value,y:d.value}]}},b.annotationsOptions,b.bindings.verticalLine.annotationsOptions),this.chart.addAnnotation(a))}},crooked3:{className:"highcharts-crooked3",start:function(a){var d=this.chart.pointer.getCoordinates(a);a=this.utils.getAssignedAxis(d.xAxis);d=this.utils.getAssignedAxis(d.yAxis);if(a&& +d){var b=a.value,c=d.value,e=this.chart.options.navigation;a=f({langKey:"crooked3",type:"crookedLine",typeOptions:{xAxis:a.axis.options.index,yAxis:d.axis.options.index,points:[{x:b,y:c},{x:b,y:c},{x:b,y:c}]}},e.annotationsOptions,e.bindings.crooked3.annotationsOptions);return this.chart.addAnnotation(a)}},steps:[g.updateNthPoint(1),g.updateNthPoint(2)]},crooked5:{className:"highcharts-crooked5",start:function(a){var b=this.chart.pointer.getCoordinates(a);a=this.utils.getAssignedAxis(b.xAxis);b=this.utils.getAssignedAxis(b.yAxis); +if(a&&b){var d=a.value,c=b.value,e=this.chart.options.navigation;a=f({langKey:"crooked5",type:"crookedLine",typeOptions:{xAxis:a.axis.options.index,yAxis:b.axis.options.index,points:[{x:d,y:c},{x:d,y:c},{x:d,y:c},{x:d,y:c},{x:d,y:c}]}},e.annotationsOptions,e.bindings.crooked5.annotationsOptions);return this.chart.addAnnotation(a)}},steps:[g.updateNthPoint(1),g.updateNthPoint(2),g.updateNthPoint(3),g.updateNthPoint(4)]},elliott3:{className:"highcharts-elliott3",start:function(a){var b=this.chart.pointer.getCoordinates(a); +a=this.utils.getAssignedAxis(b.xAxis);b=this.utils.getAssignedAxis(b.yAxis);if(a&&b){var d=a.value,c=b.value,e=this.chart.options.navigation;a=f({langKey:"elliott3",type:"elliottWave",typeOptions:{xAxis:a.axis.options.index,yAxis:b.axis.options.index,points:[{x:d,y:c},{x:d,y:c},{x:d,y:c},{x:d,y:c}]},labelOptions:{style:{color:"#666666"}}},e.annotationsOptions,e.bindings.elliott3.annotationsOptions);return this.chart.addAnnotation(a)}},steps:[g.updateNthPoint(1),g.updateNthPoint(2),g.updateNthPoint(3)]}, +elliott5:{className:"highcharts-elliott5",start:function(a){var b=this.chart.pointer.getCoordinates(a);a=this.utils.getAssignedAxis(b.xAxis);b=this.utils.getAssignedAxis(b.yAxis);if(a&&b){var d=a.value,c=b.value,e=this.chart.options.navigation;a=f({langKey:"elliott5",type:"elliottWave",typeOptions:{xAxis:a.axis.options.index,yAxis:b.axis.options.index,points:[{x:d,y:c},{x:d,y:c},{x:d,y:c},{x:d,y:c},{x:d,y:c},{x:d,y:c}]},labelOptions:{style:{color:"#666666"}}},e.annotationsOptions,e.bindings.elliott5.annotationsOptions); +return this.chart.addAnnotation(a)}},steps:[g.updateNthPoint(1),g.updateNthPoint(2),g.updateNthPoint(3),g.updateNthPoint(4),g.updateNthPoint(5)]},measureX:{className:"highcharts-measure-x",start:function(a){var b=this.chart.pointer.getCoordinates(a);a=this.utils.getAssignedAxis(b.xAxis);b=this.utils.getAssignedAxis(b.yAxis);if(a&&b){var d=this.chart.options.navigation;a=f({langKey:"measure",type:"measure",typeOptions:{selectType:"x",xAxis:a.axis.options.index,yAxis:b.axis.options.index,point:{x:a.value, +y:b.value},crosshairX:{strokeWidth:1,stroke:"#000000"},crosshairY:{enabled:!1,strokeWidth:0,stroke:"#000000"},background:{width:0,height:0,strokeWidth:0,stroke:"#ffffff"}},labelOptions:{style:{color:"#666666"}}},d.annotationsOptions,d.bindings.measureX.annotationsOptions);return this.chart.addAnnotation(a)}},steps:[g.updateRectSize]},measureY:{className:"highcharts-measure-y",start:function(a){var b=this.chart.pointer.getCoordinates(a);a=this.utils.getAssignedAxis(b.xAxis);b=this.utils.getAssignedAxis(b.yAxis); +if(a&&b){var d=this.chart.options.navigation;a=f({langKey:"measure",type:"measure",typeOptions:{selectType:"y",xAxis:a.axis.options.index,yAxis:b.axis.options.index,point:{x:a.value,y:b.value},crosshairX:{enabled:!1,strokeWidth:0,stroke:"#000000"},crosshairY:{strokeWidth:1,stroke:"#000000"},background:{width:0,height:0,strokeWidth:0,stroke:"#ffffff"}},labelOptions:{style:{color:"#666666"}}},d.annotationsOptions,d.bindings.measureY.annotationsOptions);return this.chart.addAnnotation(a)}},steps:[g.updateRectSize]}, +measureXY:{className:"highcharts-measure-xy",start:function(a){var b=this.chart.pointer.getCoordinates(a);a=this.utils.getAssignedAxis(b.xAxis);b=this.utils.getAssignedAxis(b.yAxis);if(a&&b){var d=this.chart.options.navigation;a=f({langKey:"measure",type:"measure",typeOptions:{selectType:"xy",xAxis:a.axis.options.index,yAxis:b.axis.options.index,point:{x:a.value,y:b.value},background:{width:0,height:0,strokeWidth:10},crosshairX:{strokeWidth:1,stroke:"#000000"},crosshairY:{strokeWidth:1,stroke:"#000000"}}, +labelOptions:{style:{color:"#666666"}}},d.annotationsOptions,d.bindings.measureXY.annotationsOptions);return this.chart.addAnnotation(a)}},steps:[g.updateRectSize]},fibonacci:{className:"highcharts-fibonacci",start:function(a){var b=this.chart.pointer.getCoordinates(a);a=this.utils.getAssignedAxis(b.xAxis);b=this.utils.getAssignedAxis(b.yAxis);if(a&&b){var d=a.value,c=b.value,e=this.chart.options.navigation;a=f({langKey:"fibonacci",type:"fibonacci",typeOptions:{xAxis:a.axis.options.index,yAxis:b.axis.options.index, +points:[{x:d,y:c},{x:d,y:c}]},labelOptions:{style:{color:"#666666"}}},e.annotationsOptions,e.bindings.fibonacci.annotationsOptions);return this.chart.addAnnotation(a)}},steps:[g.updateNthPoint(1),g.updateHeight]},parallelChannel:{className:"highcharts-parallel-channel",start:function(a){var b=this.chart.pointer.getCoordinates(a);a=this.utils.getAssignedAxis(b.xAxis);b=this.utils.getAssignedAxis(b.yAxis);if(a&&b){var d=a.value,c=b.value,e=this.chart.options.navigation;a=f({langKey:"parallelChannel", +type:"tunnel",typeOptions:{xAxis:a.axis.options.index,yAxis:b.axis.options.index,points:[{x:d,y:c},{x:d,y:c}]}},e.annotationsOptions,e.bindings.parallelChannel.annotationsOptions);return this.chart.addAnnotation(a)}},steps:[g.updateNthPoint(1),g.updateHeight]},pitchfork:{className:"highcharts-pitchfork",start:function(a){var b=this.chart.pointer.getCoordinates(a);a=this.utils.getAssignedAxis(b.xAxis);b=this.utils.getAssignedAxis(b.yAxis);if(a&&b){var d=a.value,c=b.value,e=this.chart.options.navigation; +a=f({langKey:"pitchfork",type:"pitchfork",typeOptions:{xAxis:a.axis.options.index,yAxis:b.axis.options.index,points:[{x:a.value,y:b.value,controlPoint:{style:{fill:"#f21313"}}},{x:d,y:c},{x:d,y:c}],innerBackground:{fill:"rgba(100, 170, 255, 0.8)"}},shapeOptions:{strokeWidth:2}},e.annotationsOptions,e.bindings.pitchfork.annotationsOptions);return this.chart.addAnnotation(a)}},steps:[g.updateNthPoint(1),g.updateNthPoint(2)]},verticalCounter:{className:"highcharts-vertical-counter",start:function(a){a= +g.attractToPoint(a,this.chart);var b=this.chart.options.navigation;a&&(this.verticalCounter=this.verticalCounter||0,a=f({langKey:"verticalCounter",type:"verticalLine",typeOptions:{point:{x:a.x,y:a.y,xAxis:a.xAxis,yAxis:a.yAxis},label:{offset:a.below?40:-40,text:this.verticalCounter.toString()}},labelOptions:{style:{color:"#666666",fontSize:"11px"}},shapeOptions:{stroke:"rgba(0, 0, 0, 0.75)",strokeWidth:1}},b.annotationsOptions,b.bindings.verticalCounter.annotationsOptions),a=this.chart.addAnnotation(a), +this.verticalCounter++,a.options.events.click.call(a,{}))}},timeCycles:{className:"highcharts-time-cycles",start:function(a){a=g.attractToPoint(a,this.chart);var b=this.chart.options.navigation;if(a)return a=f({langKey:"timeCycles",type:"timeCycles",typeOptions:{xAxis:a.xAxis,yAxis:a.yAxis,points:[{x:a.x},{x:a.x}],line:{stroke:"rgba(0, 0, 0, 0.75)",fill:"transparent",strokeWidth:2}}},b.annotationsOptions,b.bindings.timeCycles.annotationsOptions),a=this.chart.addAnnotation(a),a.options.events.click.call(a, +{}),a},steps:[g.updateNthPoint(1)]},verticalLabel:{className:"highcharts-vertical-label",start:function(a){a=g.attractToPoint(a,this.chart);var b=this.chart.options.navigation;a&&(a=f({langKey:"verticalLabel",type:"verticalLine",typeOptions:{point:{x:a.x,y:a.y,xAxis:a.xAxis,yAxis:a.yAxis},label:{offset:a.below?40:-40}},labelOptions:{style:{color:"#666666",fontSize:"11px"}},shapeOptions:{stroke:"rgba(0, 0, 0, 0.75)",strokeWidth:1}},b.annotationsOptions,b.bindings.verticalLabel.annotationsOptions), +a=this.chart.addAnnotation(a),a.options.events.click.call(a,{}))}},verticalArrow:{className:"highcharts-vertical-arrow",start:function(a){a=g.attractToPoint(a,this.chart);var b=this.chart.options.navigation;a&&(a=f({langKey:"verticalArrow",type:"verticalLine",typeOptions:{point:{x:a.x,y:a.y,xAxis:a.xAxis,yAxis:a.yAxis},label:{offset:a.below?40:-40,format:" "},connector:{fill:"none",stroke:a.below?"#f21313":"#06b535"}},shapeOptions:{stroke:"rgba(0, 0, 0, 0.75)",strokeWidth:1}},b.annotationsOptions, +b.bindings.verticalArrow.annotationsOptions),a=this.chart.addAnnotation(a),a.options.events.click.call(a,{}))}},fibonacciTimeZones:{className:"highcharts-fibonacci-time-zones",start:function(a){var b=this.chart.pointer.getCoordinates(a);a=this.utils.getAssignedAxis(b.xAxis);b=this.utils.getAssignedAxis(b.yAxis);if(a&&b){var c=this.chart.options.navigation;a=f({type:"fibonacciTimeZones",langKey:"fibonacciTimeZones",typeOptions:{xAxis:a.axis.options.index,yAxis:b.axis.options.index,points:[{x:a.value}]}}, +c.annotationsOptions,c.bindings.fibonacciTimeZones.annotationsOptions);return this.chart.addAnnotation(a)}},steps:[function(a,b){var c=b.options.typeOptions.points;c=c&&c[0].x;var d=this.chart.pointer.getCoordinates(a);a=this.utils.getAssignedAxis(d.xAxis);d=this.utils.getAssignedAxis(d.yAxis);b.update({typeOptions:{xAxis:a.axis.options.index,yAxis:d.axis.options.index,points:[{x:c},{x:a.value}]}})}]},flagCirclepin:{className:"highcharts-flag-circlepin",start:g.addFlagFromForm("circlepin")},flagDiamondpin:{className:"highcharts-flag-diamondpin", +start:g.addFlagFromForm("flag")},flagSquarepin:{className:"highcharts-flag-squarepin",start:g.addFlagFromForm("squarepin")},flagSimplepin:{className:"highcharts-flag-simplepin",start:g.addFlagFromForm("nopin")},zoomX:{className:"highcharts-zoom-x",init:function(a){this.chart.update({chart:{zoomType:"x"}});h(this,"deselectButton",{button:a})}},zoomY:{className:"highcharts-zoom-y",init:function(a){this.chart.update({chart:{zoomType:"y"}});h(this,"deselectButton",{button:a})}},zoomXY:{className:"highcharts-zoom-xy", +init:function(a){this.chart.update({chart:{zoomType:"xy"}});h(this,"deselectButton",{button:a})}},seriesTypeLine:{className:"highcharts-series-type-line",init:function(a){this.chart.series[0].update({type:"line",useOhlcData:!0});h(this,"deselectButton",{button:a})}},seriesTypeOhlc:{className:"highcharts-series-type-ohlc",init:function(a){this.chart.series[0].update({type:"ohlc"});h(this,"deselectButton",{button:a})}},seriesTypeCandlestick:{className:"highcharts-series-type-candlestick",init:function(a){this.chart.series[0].update({type:"candlestick"}); +h(this,"deselectButton",{button:a})}},seriesTypeHeikinAshi:{className:"highcharts-series-type-heikinashi",init:function(a){this.chart.series[0].update({type:"heikinashi"});h(this,"deselectButton",{button:a})}},seriesTypeHLC:{className:"highcharts-series-type-hlc",init:function(a){this.chart.series[0].update({type:"hlc",useOhlcData:!0});h(this,"deselectButton",{button:a})}},seriesTypeHollowCandlestick:{className:"highcharts-series-type-hollowcandlestick",init:function(a){this.chart.series[0].update({type:"hollowcandlestick"}); +h(this,"deselectButton",{button:a})}},fullScreen:{className:"highcharts-full-screen",noDataState:"normal",init:function(a){this.chart.fullscreen.toggle();h(this,"deselectButton",{button:a})}},currentPriceIndicator:{className:"highcharts-current-price-indicator",init:function(a){var b=this.chart,c=b.series,d=b.stockTools,e=g.isPriceIndicatorEnabled(b.series);d&&d.guiEnabled&&(c.forEach(function(a){a.update({lastPrice:{enabled:!e},lastVisiblePrice:{enabled:!e,label:{enabled:!0}}},!1)}),b.redraw()); +h(this,"deselectButton",{button:a})}},indicators:{className:"highcharts-indicators",init:function(){var a=this;h(a,"showPopup",{formType:"indicators",options:{},onSubmit:function(b){a.utils.manageIndicators.call(a,b)}})}},toggleAnnotations:{className:"highcharts-toggle-annotations",init:function(a){var b=this.chart,c=b.stockTools,d=c.getIconsURL();this.toggledAnnotations=!this.toggledAnnotations;(b.annotations||[]).forEach(function(a){a.setVisibility(!this.toggledAnnotations)},this);c&&c.guiEnabled&& +(a.firstChild.style["background-image"]=this.toggledAnnotations?'url("'+d+'annotations-hidden.svg")':'url("'+d+'annotations-visible.svg")');h(this,"deselectButton",{button:a})}},saveChart:{className:"highcharts-save-chart",noDataState:"normal",init:function(a){var b=this.chart,c=[],d=[],e=[],f=[];b.annotations.forEach(function(a,b){c[b]=a.userOptions});b.series.forEach(function(a){a.is("sma")?d.push(a.userOptions):"flags"===a.type&&e.push(a.userOptions)});b.yAxis.forEach(function(a){g.isNotNavigatorYAxis(a)&& +f.push(a.options)});n.win.localStorage.setItem("highcharts-chart",JSON.stringify({annotations:c,indicators:d,flags:e,yAxes:f}));h(this,"deselectButton",{button:a})}}};a({navigation:{bindings:m}});r.prototype.utils=f(g,r.prototype.utils)});y(a,"Stock/StockToolsGui.js",[a["Core/Chart/Chart.js"],a["Core/Globals.js"],a["Extensions/Annotations/NavigationBindings.js"],a["Core/DefaultOptions.js"],a["Core/Utilities.js"]],function(a,n,r,x,m){x=x.setOptions;var c=m.addEvent,b=m.createElement,y=m.css,e=m.extend, +h=m.fireEvent,t=m.getStyle,f=m.isArray,u=m.merge,z=m.pick;x({lang:{stockTools:{gui:{simpleShapes:"Simple shapes",lines:"Lines",crookedLines:"Crooked lines",measure:"Measure",advanced:"Advanced",toggleAnnotations:"Toggle annotations",verticalLabels:"Vertical labels",flags:"Flags",zoomChange:"Zoom change",typeChange:"Type change",saveChart:"Save chart",indicators:"Indicators",currentPriceIndicator:"Current Price Indicators",zoomX:"Zoom X",zoomY:"Zoom Y",zoomXY:"Zooom XY",fullScreen:"Fullscreen",typeOHLC:"OHLC", +typeLine:"Line",typeCandlestick:"Candlestick",typeHLC:"HLC",typeHollowCandlestick:"Hollow Candlestick",typeHeikinAshi:"Heikin Ashi",circle:"Circle",ellipse:"Ellipse",label:"Label",rectangle:"Rectangle",flagCirclepin:"Flag circle",flagDiamondpin:"Flag diamond",flagSquarepin:"Flag square",flagSimplepin:"Flag simple",measureXY:"Measure XY",measureX:"Measure X",measureY:"Measure Y",segment:"Segment",arrowSegment:"Arrow segment",ray:"Ray",arrowRay:"Arrow ray",line:"Line",arrowInfinityLine:"Arrow line", +horizontalLine:"Horizontal line",verticalLine:"Vertical line",infinityLine:"Infinity line",crooked3:"Crooked 3 line",crooked5:"Crooked 5 line",elliott3:"Elliott 3 line",elliott5:"Elliott 5 line",verticalCounter:"Vertical counter",verticalLabel:"Vertical label",verticalArrow:"Vertical arrow",fibonacci:"Fibonacci",fibonacciTimeZones:"Fibonacci Time Zones",pitchfork:"Pitchfork",parallelChannel:"Parallel channel",timeCycles:"Time Cycles"}},navigation:{popup:{circle:"Circle",ellipse:"Ellipse",rectangle:"Rectangle", +label:"Label",segment:"Segment",arrowSegment:"Arrow segment",ray:"Ray",arrowRay:"Arrow ray",line:"Line",arrowInfinityLine:"Arrow line",horizontalLine:"Horizontal line",verticalLine:"Vertical line",crooked3:"Crooked 3 line",crooked5:"Crooked 5 line",elliott3:"Elliott 3 line",elliott5:"Elliott 5 line",verticalCounter:"Vertical counter",verticalLabel:"Vertical label",verticalArrow:"Vertical arrow",fibonacci:"Fibonacci",fibonacciTimeZones:"Fibonacci Time Zones",pitchfork:"Pitchfork",parallelChannel:"Parallel channel", +infinityLine:"Infinity line",measure:"Measure",measureXY:"Measure XY",measureX:"Measure X",measureY:"Measure Y",timeCycles:"Time Cycles",flags:"Flags",addButton:"add",saveButton:"save",editButton:"edit",removeButton:"remove",series:"Series",volume:"Volume",connector:"Connector",innerBackground:"Inner background",outerBackground:"Outer background",crosshairX:"Crosshair X",crosshairY:"Crosshair Y",tunnel:"Tunnel",background:"Background",noFilterMatch:"No match",searchIndicators:"Search Indicators", +clearFilter:"\u2715 clear filter",index:"Index",period:"Period",periods:"Periods",standardDeviation:"Standard deviation",periodTenkan:"Tenkan period",periodSenkouSpanB:"Senkou Span B period",periodATR:"ATR period",multiplierATR:"ATR multiplier",shortPeriod:"Short period",longPeriod:"Long period",signalPeriod:"Signal period",decimals:"Decimals",algorithm:"Algorithm",topBand:"Top band",bottomBand:"Bottom band",initialAccelerationFactor:"Initial acceleration factor",maxAccelerationFactor:"Max acceleration factor", +increment:"Increment",multiplier:"Multiplier",ranges:"Ranges",highIndex:"High index",lowIndex:"Low index",deviation:"Deviation",xAxisUnit:"x-axis unit",factor:"Factor",fastAvgPeriod:"Fast average period",slowAvgPeriod:"Slow average period",average:"Average",indicatorAliases:{abands:["Acceleration Bands"],bb:["Bollinger Bands"],dema:["Double Exponential Moving Average"],ema:["Exponential Moving Average"],ikh:["Ichimoku Kinko Hyo"],keltnerchannels:["Keltner Channels"],linearRegression:["Linear Regression"], +pivotpoints:["Pivot Points"],pc:["Price Channel"],priceenvelopes:["Price Envelopes"],psar:["Parabolic SAR"],sma:["Simple Moving Average"],supertrend:["Super Trend"],tema:["Triple Exponential Moving Average"],vbp:["Volume by Price"],vwap:["Volume Weighted Moving Average"],wma:["Weighted Moving Average"],zigzag:["Zig Zag"],apo:["Absolute price indicator"],ad:["Accumulation/Distribution"],aroon:["Aroon"],aroonoscillator:["Aroon oscillator"],atr:["Average True Range"],ao:["Awesome oscillator"],cci:["Commodity Channel Index"], +chaikin:["Chaikin"],cmf:["Chaikin Money Flow"],cmo:["Chande Momentum Oscillator"],disparityindex:["Disparity Index"],dmi:["Directional Movement Index"],dpo:["Detrended price oscillator"],klinger:["Klinger Oscillator"],linearRegressionAngle:["Linear Regression Angle"],linearRegressionIntercept:["Linear Regression Intercept"],linearRegressionSlope:["Linear Regression Slope"],macd:["Moving Average Convergence Divergence"],mfi:["Money Flow Index"],momentum:["Momentum"],natr:["Normalized Average True Range"], +obv:["On-Balance Volume"],ppo:["Percentage Price oscillator"],roc:["Rate of Change"],rsi:["Relative Strength Index"],slowstochastic:["Slow Stochastic"],stochastic:["Stochastic"],trix:["TRIX"],williamsr:["Williams %R"]}}}},stockTools:{gui:{enabled:!0,className:"highcharts-bindings-wrapper",toolbarClassName:"stocktools-toolbar",buttons:"indicators separator simpleShapes lines crookedLines measure advanced toggleAnnotations separator verticalLabels flags separator zoomChange fullScreen typeChange separator currentPriceIndicator saveChart".split(" "), +definitions:{separator:{symbol:"separator.svg"},simpleShapes:{items:["label","circle","ellipse","rectangle"],circle:{symbol:"circle.svg"},ellipse:{symbol:"ellipse.svg"},rectangle:{symbol:"rectangle.svg"},label:{symbol:"label.svg"}},flags:{items:["flagCirclepin","flagDiamondpin","flagSquarepin","flagSimplepin"],flagSimplepin:{symbol:"flag-basic.svg"},flagDiamondpin:{symbol:"flag-diamond.svg"},flagSquarepin:{symbol:"flag-trapeze.svg"},flagCirclepin:{symbol:"flag-elipse.svg"}},lines:{items:"segment arrowSegment ray arrowRay line arrowInfinityLine horizontalLine verticalLine".split(" "), +segment:{symbol:"segment.svg"},arrowSegment:{symbol:"arrow-segment.svg"},ray:{symbol:"ray.svg"},arrowRay:{symbol:"arrow-ray.svg"},line:{symbol:"line.svg"},arrowInfinityLine:{symbol:"arrow-line.svg"},verticalLine:{symbol:"vertical-line.svg"},horizontalLine:{symbol:"horizontal-line.svg"}},crookedLines:{items:["elliott3","elliott5","crooked3","crooked5"],crooked3:{symbol:"crooked-3.svg"},crooked5:{symbol:"crooked-5.svg"},elliott3:{symbol:"elliott-3.svg"},elliott5:{symbol:"elliott-5.svg"}},verticalLabels:{items:["verticalCounter", +"verticalLabel","verticalArrow"],verticalCounter:{symbol:"vertical-counter.svg"},verticalLabel:{symbol:"vertical-label.svg"},verticalArrow:{symbol:"vertical-arrow.svg"}},advanced:{items:["fibonacci","fibonacciTimeZones","pitchfork","parallelChannel","timeCycles"],pitchfork:{symbol:"pitchfork.svg"},fibonacci:{symbol:"fibonacci.svg"},fibonacciTimeZones:{symbol:"fibonacci-timezone.svg"},parallelChannel:{symbol:"parallel-channel.svg"},timeCycles:{symbol:"time-cycles.svg"}},measure:{items:["measureXY", +"measureX","measureY"],measureX:{symbol:"measure-x.svg"},measureY:{symbol:"measure-y.svg"},measureXY:{symbol:"measure-xy.svg"}},toggleAnnotations:{symbol:"annotations-visible.svg"},currentPriceIndicator:{symbol:"current-price-show.svg"},indicators:{symbol:"indicators.svg"},zoomChange:{items:["zoomX","zoomY","zoomXY"],zoomX:{symbol:"zoom-x.svg"},zoomY:{symbol:"zoom-y.svg"},zoomXY:{symbol:"zoom-xy.svg"}},typeChange:{items:"typeOHLC typeLine typeCandlestick typeHollowCandlestick typeHLC typeHeikinAshi".split(" "), +typeOHLC:{symbol:"series-ohlc.svg"},typeLine:{symbol:"series-line.svg"},typeCandlestick:{symbol:"series-candlestick.svg"},typeHLC:{symbol:"series-hlc.svg"},typeHeikinAshi:{symbol:"series-heikin-ashi.svg"},typeHollowCandlestick:{symbol:"series-hollow-candlestick.svg"}},fullScreen:{symbol:"fullscreen.svg"},saveChart:{symbol:"save-chart.svg"}}}}});c(a,"afterGetContainer",function(){this.setStockTools()});c(a,"getMargins",function(){var a=this.stockTools&&this.stockTools.listWrapper;(a=a&&(a.startWidth+ +t(a,"padding-left")+t(a,"padding-right")||a.offsetWidth))&&ah.offsetHeight&&f.offsetTop>n||(n=0),y(q,{top:-n+"px",left:l+3+"px"}),f.className+=" highcharts-current",g.startWidth=h.offsetWidth,g.style.width=g.startWidth+t(g,"padding-left")+q.offsetWidth+3+"px")}))};a.prototype.addSubmenuItems=function(a,b){var d=this,e=this.submenu,f=this.lang,k=this.listWrapper,l;b.items.forEach(function(g){l=d.addButton(e,b,g,f);d.eventsToUnbind.push(c(l.mainButton,"click",function(){d.switchSymbol(this, +a,!0);k.style.width=k.startWidth+"px";e.style.display="none"}))});var g=e.querySelectorAll("li > .highcharts-menu-item-btn")[0];d.switchSymbol(g,!1)};a.prototype.eraseActiveButtons=function(a,b,c){[].forEach.call(a,function(a){a!==b&&(a.classList.remove("highcharts-current"),a.classList.remove("highcharts-active"),c=a.querySelectorAll(".highcharts-submenu-wrapper"),0 +this.wrapper.offsetHeight-50?this.arrowWrapper.style.display="block":(this.toolbar.style.marginTop="0px",this.arrowWrapper.style.display="none")};a.prototype.showHideToolbar=function(){var a=this.chart,d=this.wrapper,e=this.listWrapper,f=this.submenu,g=this.visible,h;this.showhideBtn=h=b("div",{className:"highcharts-toggle-toolbar highcharts-arrow-left"},void 0,d);h.style.backgroundImage="url("+this.iconsURL+"arrow-right.svg)";g?(d.style.height="100%",h.style.top=t(e,"padding-top")+"px",h.style.left= +d.offsetWidth+t(e,"padding-left")+"px"):(f&&(f.style.display="none"),h.style.left="0px",this.visible=g=!1,e.classList.add("highcharts-hide"),h.classList.toggle("highcharts-arrow-right"),d.style.height=h.offsetHeight+"px");this.eventsToUnbind.push(c(h,"click",function(){a.update({stockTools:{gui:{visible:!g,placed:!0}}})}))};a.prototype.switchSymbol=function(a,b){var c=a.parentNode,d=c.className;c=c.parentNode.parentNode;-1n.length||"undefined"===typeof e)return Q.getTimeTicks.apply(Q,arguments); +var m=n.length;for(G=0;Gc;n[G]5*h||F){if(n[G]>k){for(z=Q.getTimeTicks(f,n[g],n[G],p);z.length&&z[0]<=k;)z.shift();z.length&&(k=z[z.length-1]);B.push(x.length);x=x.concat(z)}g=G+1}if(F)break}if(z){z=z.info;if(u&&z.unitRange<=d.hour){G=x.length-1;for(g=1;gc?z-1:z;for(G=void 0;q--;)B=Q[q],z=Math.abs(G-B),G&&z<.8*P&&(null===g||z<.8*g)?(w[x[q]]&&!w[x[q+1]]?(z=q+1,G=B):z=q,x.splice(z,1)):G=B}return x}function L(f){var e=this.ordinal.positions;if(!e)return f;var c=e.length-1;if(0>f)f=e[0];else if(f>c)f=e[c];else{c=Math.floor(f);var p=f-c}return"undefined"!==typeof p&&"undefined"!==typeof e[c]?e[c]+(p?p*(e[c+1]-e[c]): +0):f}function K(f){var e=this.ordinal,c=e.positions;if(!c)return f;var p=(f-(this.old?this.old.min:this.min))*(this.old?this.old.transA:this.transA)+this.minPixelPadding;0f?p+ +n*f:c+n*(f-e)}return f}function q(f,e){var c=k.Additions.findIndexOf(f,e,!0);return f[c]===e?c:c+(e-f[c])/(f[c+1]-f[c])}function a(){this.ordinal||(this.ordinal=new k.Additions(this))}function l(){this.isXAxis&&t(this.options.overscroll)&&this.max===this.dataMax&&(!this.chart.mouseIsDown||this.isInternal)&&(!this.eventArgs||this.eventArgs&&"navigator"!==this.eventArgs.trigger)&&(this.max+=this.options.overscroll,!this.isInternal&&t(this.userMin)&&(this.min+=this.options.overscroll))}function F(){this.horiz&& +!this.isDirty&&(this.isDirty=this.isOrdinal&&this.chart.navigator&&!this.chart.navigator.adaptToUpdatedData)}function M(){this.ordinal&&(this.ordinal.beforeSetTickPositions(),this.tickInterval=this.ordinal.postProcessTickInterval(this.tickInterval))}function g(f){var e=this.xAxis[0],c=e.options.overscroll,p=f.originalEvent.chartX,n=this.options.chart.panning,h=!1;if(n&&"y"!==n.type&&e.options.ordinal&&e.series.length){var u=this.mouseDownX,w=e.getExtremes(),P=w.dataMax,Q=w.min,B=w.max,G=this.hoverPoints, +z=e.closestPointRange||e.ordinal&&e.ordinal.overscrollPointsRange;u=(u-p)/(e.translationSlope*(e.ordinal.slope||z));z=e.ordinal.getExtendedPositions();z={ordinal:{positions:z,extendedOrdinalPositions:z}};var g=e.index2val,x=e.val2lin,d=void 0,q=d=void 0,k=void 0;z.ordinal.positions?1u?(q=z,k=e.ordinal.positions?e:z):(q=e.ordinal.positions?e:z,k=z),d=k.ordinal.positions,P>d[d.length-1]&&d.push(P),this.fixedRange=B-Q,d=e.navigatorAxis.toFixedRange(void 0, +void 0,g.apply(q,[x.apply(q,[Q,!0])+u]),g.apply(k,[x.apply(k,[B,!0])+u])),d.min>=Math.min(w.dataMin,Q)&&d.max<=Math.max(P,B)+c&&e.setExtremes(d.min,d.max,!0,!1,{trigger:"pan"}),this.mouseDownX=p,D(this.container,{cursor:"move"})):h=!0}else h=!0;h||n&&/y/.test(n.type)?c&&(e.max=e.dataMax+c):f.preventDefault()}function O(){var f=this.xAxis;f&&f.options.ordinal&&(delete f.ordinal.index,delete f.ordinal.extendedOrdinalPositions)}function x(f,e){var c=this.ordinal,p=c.positions,n=c.slope,h=c.extendedOrdinalPositions; +if(!p)return f;var u=p.length;if(p[0]<=f&&p[u-1]>=f)f=q(p,f);else{h||(h=c.getExtendedPositions&&c.getExtendedPositions(),c.extendedOrdinalPositions=h);if(!h||!h.length)return f;u=h.length;n||(n=(h[u-1]-h[0])/u);p=q(h,p[0]);f>=h[0]&&f<=h[u-1]?f=q(h,f)-p:fb||h-B[B.length-1]>b)&&(z=!0)}else e.options.overscroll&&(2===q?G=B[1]-B[0]:1===q?(G=e.options.overscroll,B=[B[0],B[0]+G]):G=c.overscrollPointsRange);z||e.forceOrdinal?(e.options.overscroll&&(c.overscrollPointsRange=G,B=B.concat(c.getOverscrollPositions())),c.positions=B,b=e.ordinal2lin(Math.max(n,B[0]),!0),g=Math.max(e.ordinal2lin(Math.min(h,B[B.length-1]),!0),1),c.slope=h=(h- +n)/(g-b),c.offset=n-b*h):(c.overscrollPointsRange=m(e.closestPointRange,c.overscrollPointsRange),c.positions=e.ordinal.slope=c.offset=void 0)}e.isOrdinal=p&&z;c.groupIntervalFactor=null};f.findIndexOf=function(e,c,p){for(var n=0,h=e.length-1,u;n=(this.xAxis.min||0)){this.dataModify.compareValue=w;break}}}}function g(e, +c){this.setModifier("compare",e,c)}function O(e,c){e=K(e,!1);this.options.cumulative=this.userOptions.cumulative=e;this.update({},K(c,!0));this.dataModify?this.dataModify.initCumulative():this.points.forEach(function(c){delete c.cumulativeSum})}function x(e,c){this.setModifier("cumulative",e,c)}var I=[];L.compose=function(e,c,p){if(-1===I.indexOf(e)){I.push(e);var n=e.prototype;n.setCompare=F;n.setCumulative=O;r(e,"afterInit",E);r(e,"afterGetExtremes",l);r(e,"afterProcessData",M)}-1===I.indexOf(c)&& +(I.push(c),c=c.prototype,c.setCompare=g,c.setModifier=a,c.setCumulative=x);-1===I.indexOf(p)&&(I.push(p),p.prototype.tooltipFormatter=q);return e};var f=function(){function e(c){this.series=c}e.prototype.modifyValue=function(){return 0};e.getCumulativeExtremes=function(c){var e=Infinity,n=-Infinity;c.reduce(function(h,c){c=h+c;e=Math.min(e,c,h);n=Math.max(n,c,h);return c});return[e,n]};e.prototype.initCompare=function(c){this.modifyValue=function(e,n){null===e&&(e=0);var h=this.compareValue;return"undefined"!== +typeof e&&"undefined"!==typeof h?(e="value"===c?e-h:e/h*100-(100===this.series.options.compareBase?0:100),"undefined"!==typeof n&&(n=this.series.points[n])&&(n.change=e),e):0}};e.prototype.initCumulative=function(){this.modifyValue=function(c,e){null===c&&(c=0);if(void 0!==c&&void 0!==e){var n=0h.to||b>h.from&&eh.from&&eh.from&&e>h.to&&eb&&q>=this.basePointRange&&(b=q),k=void 0;x--;)k&&!1!==k.visible||(k=d[x+1]),q=d[x],!1!==k.visible&&!1!==q.visible&&(k.x-q.x>b&&(k=(q.x+k.x)/2,d.splice(x+1,0,{isNull:!0,x:k}),g.stacking&&this.options.stacking&&(k=g.stacking.stacks[this.stackKey][k]=new a(g,g.options.stackLabels,!1,k,this.stack),k.total=0)),k=q);return this.getGraphPath(d)} +var R=[];b.compose=function(b,a){-1===R.indexOf(b)&&(R.push(b),b.keepProps.push("brokenAxis"),A(b,"init",K),A(b,"afterInit",d),A(b,"afterSetTickPositions",k),A(b,"afterSetOptions",m));if(-1===R.indexOf(a)){R.push(a);var g=a.prototype;g.drawBreaks=H;g.gappedPath=q;A(a,"afterGeneratePoints",E);A(a,"afterRender",L)}return b};var N=function(){function d(d){this.hasBreaks=!1;this.axis=d}d.isInBreak=function(d,g){var b=d.repeat||Infinity,k=d.from,q=d.to-d.from;g=g>=k?(g-k)%b:b-(k-g)%b;return d.inclusive? +g<=q:g=b)break;else q.to=b)break;else if(d.isInBreak(m,b)){k-=b-m.from;break}}return k};d.prototype.findBreakAt=function(d,b){return l(b,function(b){return b.from< +d&&du;)B-=h;for(;B=c[0]);C++);for(C;C<=b;C++){for(;"undefined"!==typeof c[K+1]&&f[C]>=c[K+1]||C===b;){var t=c[K];n.dataGroupInfo={start:x?H:n.cropStart+H,length:z[0].length};var l=p.apply(n,z);n.pointClass&& +!E(n.dataGroupInfo.options)&&(n.dataGroupInfo.options=R(n.pointClass.prototype.optionsToObject.call({series:n},n.options.data[n.cropStart+H])),L.forEach(function(h){delete n.dataGroupInfo.options[h]}));"undefined"!==typeof l&&(w.push(t),g.push(l),d.push(n.dataGroupInfo));H=C;for(t=0;t=e[0]){x=this.groupMap[0].start;C=this.groupMap[0].length;var H=void 0;q(x)&&q(C)&&(H=x+(C-1));e[0]={middle:e[0]+.5*z,end:e[0]+z,firstPoint:this.xData[0],lastPoint:H&&this.xData[H]}[K]}m&&"start"!==m&&z&&e[a]>=k- +z&&(k=this.groupMap[this.groupMap.length-1].start,e[a]={middle:e[a]+.5*z,end:e[a]+z,firstPoint:k&&this.xData[k],lastPoint:this.xData[this.xData.length-1]}[m])}for(k=1;kw.max){if(!E(w.options.max)&&q(w.dataMax)&&w.max>=w.dataMax||w.max===w.dataMax)w.max=Math.max(n[n.length-1],w.max);w.dataMax=Math.max(n[n.length-1],w.dataMax)}}c.groupAll&&(this.allGroupedData=g,c=this.cropData(p,g,w.min,w.max,1),p=c.xData,g=c.yData,this.cropStart=c.start);this.processedXData=p;this.processedYData=g}else this.groupMap=null;this.hasGroupedData=h;this.currentDataGrouping=k;this.preventGraphAnimation= +(u&&u.totalRange)!==(k&&k.totalRange)}};d.destroyGroupedData=function(){this.groupedData&&(this.groupedData.forEach(function(f,e){f&&(this.groupedData[e]=f.destroy?f.destroy():null)},this),this.groupedData.length=0)};d.generatePoints=function(){g.apply(this);this.destroyGroupedData();this.groupedData=this.hasGroupedData?this.points:null};a.prototype.applyGrouping=function(f){var e=this,c=e.series;c.forEach(function(c){c.groupPixelWidth=void 0});c.forEach(function(c){c.groupPixelWidth=e.getGroupPixelWidth&& +e.getGroupPixelWidth();c.groupPixelWidth&&(c.hasProcessed=!0);c.applyGrouping(!!f.hasExtemesChanged)})};a.prototype.getGroupPixelWidth=function(){var f=this.series,e=f.length,c,p=0,n=!1,h;for(c=e;c--;)(h=f[c].options.dataGrouping)&&(p=Math.max(p,N(h.groupPixelWidth,O.groupPixelWidth)));for(c=e;c--;)if(h=f[c].options.dataGrouping)if(e=(f[c].processedXData||f[c].data).length,f[c].groupPixelWidth||e>this.chart.plotSizeX/p||e&&h.forced)n=!0;return n?p:0};a.prototype.setDataGrouping=function(f,e){var c; +e=N(e,!0);f||(f={forced:!1,units:null});if(this instanceof a)for(c=this.series.length;c--;)this.series[c].update({dataGrouping:f},!1);else this.chart.options.series.forEach(function(c){c.dataGrouping="boolean"===typeof f?f:R(f,c.dataGrouping)});this.ordinal&&(this.ordinal.slope=void 0);e&&this.chart.redraw()};A(a,"postProcessData",a.prototype.applyGrouping);A(y,"update",function(){if(this.dataGroup)return L(24,!1,this.series.chart),!1});A(D,"headerFormatter",function(f){var e=this.chart,c=e.time, +p=f.labelConfig,n=p.series,h=n.tooltipOptions,u=n.options.dataGrouping,w=h.xDateFormat,g=n.xAxis,b=h[f.isFooter?"footerFormat":"headerFormat"];if(g&&"datetime"===g.options.type&&u&&q(p.key)){var d=n.currentDataGrouping;u=u.dateTimeLabelFormats||O.dateTimeLabelFormats;if(d)if(h=u[d.unitName],1===d.count)w=h[0];else{w=h[1];var k=h[2]}else!w&&u&&g.dateTime&&(w=g.dateTime.getXDateFormat(p.x,h.dateTimeLabelFormats));w=c.dateFormat(w,p.key);k&&(w+=c.dateFormat(k,p.key+d.totalRange-1));n.chart.styledMode&& +(b=this.styledModeFormat(b));f.text=m(b,{point:H(p.point,{key:w}),series:n},e);f.preventDefault()}});A(r,"destroy",d.destroyGroupedData);A(r,"afterSetOptions",function(f){f=f.options;var e=this.type,c=this.chart.options.plotOptions,p=t.defaultOptions.plotOptions[e].dataGrouping,n=this.useCommonDataGrouping&&O;if(c&&(x[e]||n)){p||(p=R(O,x[e]));var h=this.chart.rangeSelector;f.dataGrouping=R(n,p,c.series&&c.series.dataGrouping,c[e].dataGrouping,this.userOptions.dataGrouping,!f.isInternal&&h&&q(h.selected)&& +h.buttonOptions[h.selected].dataGrouping)}});A(a,"afterSetScale",function(){this.series.forEach(function(f){f.hasProcessed=!1})});l.dataGrouping=M;"";return M});J(a,"Series/HLC/HLCPoint.js",[a["Core/Series/SeriesRegistry.js"]],function(a){var v=this&&this.__extends||function(){var a=function(l,y){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,l){a.__proto__=l}||function(a,l){for(var t in l)l.hasOwnProperty(t)&&(a[t]=l[t])};return a(l,y)};return function(l,y){function r(){this.constructor= +l}a(l,y);l.prototype=null===y?Object.create(y):(r.prototype=y.prototype,new r)}}();return function(a){function l(){var l=null!==a&&a.apply(this,arguments)||this;l.close=void 0;l.high=void 0;l.low=void 0;l.options=void 0;l.plotClose=void 0;l.series=void 0;return l}v(l,a);return l}(a.seriesTypes.column.prototype.pointClass)});J(a,"Series/HLC/HLCSeries.js",[a["Series/HLC/HLCPoint.js"],a["Core/Series/SeriesRegistry.js"],a["Core/Utilities.js"]],function(a,v,A){var l=this&&this.__extends||function(){var a= +function(b,m){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(b,m){b.__proto__=m}||function(b,m){for(var d in m)m.hasOwnProperty(d)&&(b[d]=m[d])};return a(b,m)};return function(b,m){function d(){this.constructor=b}a(b,m);b.prototype=null===m?Object.create(m):(d.prototype=m.prototype,new d)}}(),y=v.seriesTypes.column,r=A.extend,D=A.merge;A=function(a){function b(){var b=null!==a&&a.apply(this,arguments)||this;b.data=void 0;b.options=void 0;b.points=void 0;b.yData=void 0;return b} +l(b,a);b.prototype.extendStem=function(b,d,a){var k=b[0];b=b[1];"number"===typeof k[2]&&(k[2]=Math.max(a+d,k[2]));"number"===typeof b[2]&&(b[2]=Math.min(a-d,b[2]))};b.prototype.getPointPath=function(b,d){d=d.strokeWidth();var a=b.series,k=d%2/2,m=Math.round(b.plotX)-k,E=Math.round(b.shapeArgs.width/2);var L=[["M",m,Math.round(b.yBottom)],["L",m,Math.round(b.plotHigh)]];null!==b.close&&(b=Math.round(b.plotClose)+k,L.push(["M",m,b],["L",m+E,b]),a.extendStem(L,d/2,b));return L};b.prototype.drawSinglePoint= +function(b){var d=b.series,a=d.chart,k=b.graphic,m=!k;"undefined"!==typeof b.plotY&&(k||(b.graphic=k=a.renderer.path().add(d.group)),a.styledMode||k.attr(d.pointAttribs(b,b.selected&&"select")),d=d.getPointPath(b,k),k[m?"attr":"animate"]({d:d}).addClass(b.getClassName(),!0))};b.prototype.drawPoints=function(){this.points.forEach(this.drawSinglePoint)};b.prototype.init=function(){a.prototype.init.apply(this,arguments);this.options.stacking=void 0};b.prototype.pointAttribs=function(b,d){b=a.prototype.pointAttribs.call(this, +b,d);delete b.fill;return b};b.prototype.toYData=function(b){return[b.high,b.low,b.close]};b.prototype.translate=function(){var b=this,d=b.yAxis,l=this.pointArrayMap&&this.pointArrayMap.slice()||[],k=l.map(function(b){return"plot".concat(b.charAt(0).toUpperCase()+b.slice(1))});k.push("yBottom");l.push("low");a.prototype.translate.apply(b);b.points.forEach(function(a){l.forEach(function(m,L){m=a[m];null!==m&&(b.dataModify&&(m=b.dataModify.modifyValue(m)),a[k[L]]=d.toPixels(m,!0))});a.tooltipPos[1]= +a.plotHigh+d.pos-b.chart.plotTop})};b.defaultOptions=D(y.defaultOptions,{lineWidth:1,tooltip:{pointFormat:'\u25cf {series.name}
High: {point.high}
Low: {point.low}
Close: {point.close}
'},threshold:null,states:{hover:{lineWidth:3}},stickyTracking:!0});return b}(y);r(A.prototype,{animate:null,directTouch:!1,pointArrayMap:["high","low","close"],pointAttrToOptions:{stroke:"color","stroke-width":"lineWidth"},pointValKey:"close"});A.prototype.pointClass= +a;v.registerSeriesType("hlc",A);"";return A});J(a,"Series/OHLC/OHLCPoint.js",[a["Core/Series/SeriesRegistry.js"]],function(a){var v=this&&this.__extends||function(){var a=function(l,y){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,l){a.__proto__=l}||function(a,l){for(var t in l)l.hasOwnProperty(t)&&(a[t]=l[t])};return a(l,y)};return function(l,y){function r(){this.constructor=l}a(l,y);l.prototype=null===y?Object.create(y):(r.prototype=y.prototype,new r)}}();return function(a){function l(){var l= +null!==a&&a.apply(this,arguments)||this;l.open=void 0;l.options=void 0;l.plotOpen=void 0;l.series=void 0;return l}v(l,a);l.prototype.getClassName=function(){return a.prototype.getClassName.call(this)+(this.open\u25cf {series.name}
Open: {point.open}
High: {point.high}
Low: {point.low}
Close: {point.close}
'}});return a}(r);t(m.prototype,{pointArrayMap:["open","high","low","close"]});m.prototype.pointClass=a;v.registerSeriesType("ohlc",m);D(y,"init",function(b){b=b.options;b.useOhlcData&&"highcharts-navigator-series"!==b.id&&t(this,{pointValKey:m.prototype.pointValKey, +pointArrayMap:m.prototype.pointArrayMap,toYData:m.prototype.toYData})});D(y,"afterSetOptions",function(b){b=b.options;var d=b.dataGrouping;d&&b.useOhlcData&&"highcharts-navigator-series"!==b.id&&(d.approximation="ohlc")});"";return m});J(a,"Series/Candlestick/CandlestickSeries.js",[a["Core/DefaultOptions.js"],a["Core/Series/SeriesRegistry.js"],a["Core/Utilities.js"]],function(a,v,A){var l=this&&this.__extends||function(){var b=function(a,d){b=Object.setPrototypeOf||{__proto__:[]}instanceof Array&& +function(b,a){b.__proto__=a}||function(b,a){for(var d in a)a.hasOwnProperty(d)&&(b[d]=a[d])};return b(a,d)};return function(a,d){function m(){this.constructor=a}b(a,d);a.prototype=null===d?Object.create(d):(m.prototype=d.prototype,new m)}}(),y=a.defaultOptions;a=v.seriesTypes;var r=a.column,D=a.ohlc,t=A.merge;A=function(b){function a(){var a=null!==b&&b.apply(this,arguments)||this;a.data=void 0;a.options=void 0;a.points=void 0;return a}l(a,b);a.prototype.pointAttribs=function(b,a){var d=r.prototype.pointAttribs.call(this, +b,a),m=this.options,l=b.opend)break}}}m.forEach(function(c,h){c.plotX+=x;if("undefined"===typeof c.plotY||y)0<=c.plotX&&c.plotX<=F.len?y?(c.plotY=F.translate(c.x,0,1,0,1),c.plotX=r(c.y)?v.translate(c.y,0,0,0,1):0):c.plotY=(F.opposite? +0:b.yAxis.len)+F.offset:c.shapeArgs={};if((g=m[h-1])&&g.plotX===c.plotX){"undefined"===typeof g.stackIndex&&(g.stackIndex=0);var u=g.stackIndex+1}c.stackIndex=u});this.onSeries=H}var t=[];b.compose=function(b){if(-1===t.indexOf(b)){t.push(b);var k=b.prototype;k.getPlotBox=a;k.translate=d}return b};b.getPlotBox=a;b.translate=d})(t||(t={}));return t});J(a,"Series/Flags/FlagsSymbols.js",[a["Core/Renderer/RendererRegistry.js"],a["Core/Renderer/SVG/SVGRenderer.js"]],function(a,v){function A(a){l[a+"pin"]= +function(r,y,t,b,m){var d=m&&m.anchorX;m=m&&m.anchorY;"circle"===a&&b>t&&(r-=Math.round((b-t)/2),t=b);var C=l[a](r,y,t,b);if(d&&m){var k=d;"circle"===a?k=r+t/2:(r=C[0],t=C[1],"M"===r[0]&&"L"===t[0]&&(k=(r[1]+t[1])/2));C.push(["M",k,y>m?y:y+b],["L",d,m]);C=C.concat(l.circle(d-1,m-1,2,2))}return C}}var l=v.prototype.symbols;l.flag=function(a,r,v,t,b){var m=b&&b.anchorX||a;b=b&&b.anchorY||r;var d=l.circle(m-1,b-1,2,2);d.push(["M",m,b],["L",a,r+t],["L",a,r],["L",a+v,r],["L",a+v,r+t],["L",a,r+t],["Z"]); +return d};A("circle");A("square");a=a.getRendererType();a!==v&&(a.prototype.symbols.circlepin=l.circlepin,a.prototype.symbols.flag=l.flag,a.prototype.symbols.squarepin=l.squarepin);return l});J(a,"Series/Flags/FlagsSeries.js",[a["Series/Flags/FlagsPoint.js"],a["Core/Globals.js"],a["Series/OnSeriesComposition.js"],a["Core/Renderer/RendererUtilities.js"],a["Core/Series/SeriesRegistry.js"],a["Core/Renderer/SVG/SVGElement.js"],a["Core/Utilities.js"]],function(a,v,A,l,y,r,D){var t=this&&this.__extends|| +function(){var b=function(a,d){b=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(b,a){b.__proto__=a}||function(b,a){for(var d in a)a.hasOwnProperty(d)&&(b[d]=a[d])};return b(a,d)};return function(a,d){function q(){this.constructor=a}b(a,d);a.prototype=null===d?Object.create(d):(q.prototype=d.prototype,new q)}}();v=v.noop;var b=l.distribute,m=y.series,d=y.seriesTypes.column,C=D.addEvent,k=D.defined;l=D.extend;var K=D.merge,E=D.objectEach,L=D.wrap;D=function(a){function q(){var b=null!== +a&&a.apply(this,arguments)||this;b.data=void 0;b.options=void 0;b.points=void 0;return b}t(q,a);q.prototype.animate=function(b){b&&this.setClip()};q.prototype.drawPoints=function(){var a=this.points,d=this.chart,q=d.renderer,m=d.inverted,g=this.options,l=g.y,x,t=this.yAxis,f={},e=[];for(x=a.length;x--;){var c=a[x];var p=(m?c.plotY:c.plotX)>this.xAxis.len;var n=c.plotX;var h=c.stackIndex;var u=c.options.shape||g.shape;var w=c.plotY;"undefined"!==typeof w&&(w=c.plotY+l-("undefined"!==typeof h&&h*g.stackDistance)); +c.anchorX=h?void 0:c.plotX;var P=h?void 0:c.plotY;var Q="flag"!==u;h=c.graphic;"undefined"!==typeof w&&0<=n&&!p?(h&&c.hasNewShapeType()&&(h=h.destroy()),h||(h=c.graphic=q.label("",null,null,u,null,null,g.useHTML).addClass("highcharts-point").add(this.markerGroup),c.graphic.div&&(c.graphic.div.point=c),h.isNew=!0),h.attr({align:Q?"center":"left",width:g.width,height:g.height,"text-align":g.textAlign}),d.styledMode||h.attr(this.pointAttribs(c)).css(K(g.style,c.style)).shadow(g.shadow),0this.calculatedWidth?b.minWidth:0;return{chartX:(a.chartX-this.x-this.xOffset)/(this.barWidth-b),chartY:(a.chartY- +this.y-this.yOffset)/(this.barWidth-b)}};a.prototype.destroy=function(){var a=this,b=a.chart.scroller;a.removeEvents();["track","scrollbarRifles","scrollbar","scrollbarGroup","group"].forEach(function(b){a[b]&&a[b].destroy&&(a[b]=a[b].destroy())});b&&a===b.scrollbar&&(b.scrollbar=null,m(b.scrollbarButtons))};a.prototype.drawScrollbarButton=function(b){var d=this.renderer,q=this.scrollbarButtons,k=this.options,l=this.size,m=d.g().add(this.group);q.push(m);m=d.rect().addClass("highcharts-scrollbar-button").add(m); +this.chart.styledMode||m.attr({stroke:k.buttonBorderColor,"stroke-width":k.buttonBorderWidth,fill:k.buttonBackgroundColor});m.attr(m.crisp({x:-.5,y:-.5,width:l+1,height:l+1,r:k.buttonBorderRadius},m.strokeWidth()));m=d.path(a.swapXY([["M",l/2+(b?-1:1),l/2-3],["L",l/2+(b?-1:1),l/2+3],["L",l/2+(b?2:-2),l/2]],k.vertical)).addClass("highcharts-scrollbar-arrow").add(q[b]);this.chart.styledMode||m.attr({fill:k.buttonArrowColor})};a.prototype.init=function(a,b,d){this.scrollbarButtons=[];this.renderer=a; +this.userOptions=b;this.options=C(l,r.scrollbar,b);this.chart=d;this.size=k(this.options.size,this.options.height);b.enabled&&(this.render(),this.addEvents())};a.prototype.mouseDownHandler=function(a){a=this.chart.pointer.normalize(a);a=this.cursorToScrollbarPosition(a);this.chartX=a.chartX;this.chartY=a.chartY;this.initPositions=[this.from,this.to];this.grabbedCenter=!0};a.prototype.mouseMoveHandler=function(a){var b=this.chart.pointer.normalize(a),k=this.options.vertical?"chartY":"chartX",l=this.initPositions|| +[];!this.grabbedCenter||a.touches&&0===a.touches[0][k]||(b=this.cursorToScrollbarPosition(b)[k],k=this[k],k=b-k,this.hasDragged=!0,this.updatePosition(l[0]+k,l[1]+k),this.hasDragged&&d(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:a.type,DOMEvent:a}))};a.prototype.mouseUpHandler=function(a){this.hasDragged&&d(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:a.type,DOMEvent:a});this.grabbedCenter=this.hasDragged=this.chartX=this.chartY=null};a.prototype.position= +function(a,b,d,k){var q=this.options.vertical,l=this.rendered?"animate":"attr",m=k,g=0;this.group.show();this.x=a;this.y=b+this.trackBorderWidth;this.width=d;this.height=k;this.xOffset=m;this.yOffset=g;q?(this.width=this.yOffset=d=g=this.size,this.xOffset=m=0,this.barWidth=k-2*d,this.x=a+=this.options.margin):(this.height=this.xOffset=k=m=this.size,this.barWidth=d-2*k,this.y+=this.options.margin);this.group[l]({translateX:a,translateY:this.y});this.track[l]({width:d,height:k});this.scrollbarButtons[1][l]({translateX:q? +0:d-m,translateY:q?k-g:0})};a.prototype.removeEvents=function(){this._events.forEach(function(a){K.apply(null,a)});this._events.length=0};a.prototype.render=function(){var b=this.renderer,d=this.options,k=this.size,l=this.chart.styledMode,m=b.g("scrollbar").attr({zIndex:d.zIndex}).hide().add();this.group=m;this.track=b.rect().addClass("highcharts-scrollbar-track").attr({x:0,r:d.trackBorderRadius||0,height:k,width:k}).add(m);l||this.track.attr({fill:d.trackBackgroundColor,stroke:d.trackBorderColor, +"stroke-width":d.trackBorderWidth});this.trackBorderWidth=this.track.strokeWidth();this.track.attr({y:-this.trackBorderWidth%2/2});this.scrollbarGroup=b.g().add(m);this.scrollbar=b.rect().addClass("highcharts-scrollbar-thumb").attr({height:k,width:k,r:d.barBorderRadius||0}).add(this.scrollbarGroup);this.scrollbarRifles=b.path(a.swapXY([["M",-3,k/4],["L",-3,2*k/3],["M",0,k/4],["L",0,2*k/3],["M",3,k/4],["L",3,2*k/3]],d.vertical)).addClass("highcharts-scrollbar-rifles").add(this.scrollbarGroup);l||(this.scrollbar.attr({fill:d.barBackgroundColor, +stroke:d.barBorderColor,"stroke-width":d.barBorderWidth}),this.scrollbarRifles.attr({stroke:d.rifleColor,"stroke-width":1}));this.scrollbarStrokeWidth=this.scrollbar.strokeWidth();this.scrollbarGroup.translate(-this.scrollbarStrokeWidth%2/2,-this.scrollbarStrokeWidth%2/2);this.drawScrollbarButton(0);this.drawScrollbarButton(1)};a.prototype.setRange=function(a,d){var k=this.options,l=k.vertical,m=k.minWidth,r=this.barWidth,v=!this.rendered||this.hasDragged||this.chart.navigator&&this.chart.navigator.hasDragged? +"attr":"animate";if(b(r)){var g=r*Math.min(d,1);a=Math.max(a,0);var y=Math.ceil(r*a);this.calculatedWidth=g=t(g-y);g=g?this.scrollbarRifles.hide():this.scrollbarRifles.show();!1===k.showFull&&(0>=a&&1<=d?this.group.hide():this.group.show());this.rendered=!0}};a.prototype.shouldUpdateExtremes=function(a){return k(this.options.liveRedraw,v.svg&&!v.isTouchDevice&&!this.chart.isBoosting)||"mouseup"===a||"touchend"===a||!b(a)};a.prototype.trackClick=function(a){var b=this.chart.pointer.normalize(a),k=this.to-this.from,l=this.y+this.scrollbarTop,m=this.x+this.scrollbarLeft;this.options.vertical&&b.chartY>l||!this.options.vertical&& +b.chartX>m?this.updatePosition(this.from+k,this.to+k):this.updatePosition(this.from-k,this.to-k);d(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMEvent:a})};a.prototype.update=function(a){this.destroy();this.init(this.chart.renderer,C(!0,this.options,a),this.chart)};a.prototype.updatePosition=function(a,b){1a&&(b=t(b-a),a=0);this.from=a;this.to=b};a.defaultOptions=l;return a}();r.scrollbar=C(!0,a.defaultOptions,r.scrollbar);return a});J(a,"Core/Axis/NavigatorAxis.js", +[a["Core/Globals.js"],a["Core/Utilities.js"]],function(a,v){var A=a.isTouchDevice,l=v.addEvent,y=v.correctFloat,r=v.defined,D=v.isNumber,t=v.pick,b=function(){function a(a){this.axis=a}a.prototype.destroy=function(){this.axis=void 0};a.prototype.toFixedRange=function(a,b,k,l){var d=this.axis,m=d.chart;m=m&&m.fixedRange;var v=(d.pointRange||0)/2;a=t(k,d.translate(a,!0,!d.horiz));b=t(l,d.translate(b,!0,!d.horiz));d=m&&(b-a)/m;r(k)||(a=y(a+v));r(l)||(b=y(b-v));.7d&&(l?a=b-m:b=a+m);D(a)&&D(b)|| +(a=b=void 0);return{min:a,max:b}};return a}();return function(){function a(){}a.compose=function(a){a.keepProps.push("navigatorAxis");l(a,"init",function(){this.navigatorAxis||(this.navigatorAxis=new b(this))});l(a,"zoom",function(a){var b=this.chart.options,d=b.navigator,l=this.navigatorAxis,m=b.chart.pinchType,t=b.rangeSelector;b=b.chart.zoomType;this.isXAxis&&(d&&d.enabled||t&&t.enabled)&&("y"===b?a.zoomed=!1:(!A&&"xy"===b||A&&"xy"===m)&&this.options.range&&(d=l.previousZoom,r(a.newMin)?l.previousZoom= +[this.min,this.max]:d&&(a.newMin=d[0],a.newMax=d[1],l.previousZoom=void 0)));"undefined"!==typeof a.zoomed&&a.preventDefault()})};a.AdditionsClass=b;return a}()});J(a,"Core/Navigator.js",[a["Core/Axis/Axis.js"],a["Core/Chart/Chart.js"],a["Core/Color/Color.js"],a["Core/Globals.js"],a["Core/Axis/NavigatorAxis.js"],a["Core/DefaultOptions.js"],a["Core/Renderer/RendererRegistry.js"],a["Core/Scrollbar.js"],a["Core/Series/Series.js"],a["Core/Series/SeriesRegistry.js"],a["Core/Utilities.js"]],function(a, +v,A,l,y,r,D,t,b,m,d){A=A.parse;var C=l.hasTouch,k=l.isTouchDevice,K=r.defaultOptions,E=d.addEvent,L=d.clamp,H=d.correctFloat,q=d.defined,J=d.destroyObjectProperties,N=d.erase,F=d.extend,M=d.find,g=d.isArray,O=d.isNumber,x=d.merge,I=d.pick,f=d.removeEvent,e=d.splat,c=function(c){for(var h=[],a=1;aP&&(this.grabbedLeft?b=n.toPixels(a-P-w,!0):this.grabbedRight&&(e=n.toPixels(c+P+w,!0)));this.zoomedMax= +L(Math.max(b,e),0,g);this.zoomedMin=L(this.fixedWidth?this.zoomedMax-this.fixedWidth:Math.min(b,e),0,g);this.range=this.zoomedMax-this.zoomedMin;g=Math.round(this.zoomedMax);b=Math.round(this.zoomedMin);f&&(this.navigatorGroup.attr({visibility:"inherit"}),k=k&&!this.hasDragged?"animate":"attr",this.drawMasks(b,g,l,k),this.drawOutline(b,g,l,k),this.navigatorOptions.handles.enabled&&(this.drawHandle(b,0,l,k),this.drawHandle(g,1,l,k)));this.scrollbar&&(l?(l=this.top-u,p=this.left-u+(f||!p.opposite?0: +(p.titleOffset||0)+p.axisTitleMargin),u=d+2*u):(l=this.top+(f?this.height:-u),p=this.left-u),this.scrollbar.position(p,l,h,u),this.scrollbar.setRange(this.zoomedMin/(d||1),this.zoomedMax/(d||1)));this.rendered=!0}};b.prototype.addMouseEvents=function(){var c=this,a=c.chart,b=a.container,e=[],d,n;c.mouseMoveHandler=d=function(a){c.onMouseMove(a)};c.mouseUpHandler=n=function(a){c.onMouseUp(a)};e=c.getPartsEvents("mousedown");e.push(E(a.renderTo,"mousemove",d),E(b.ownerDocument,"mouseup",n));C&&(e.push(E(a.renderTo, +"touchmove",d),E(b.ownerDocument,"touchend",n)),e.concat(c.getPartsEvents("touchstart")));c.eventsToUnbind=e;c.series&&c.series[0]&&e.push(E(c.series[0].xAxis,"foundExtremes",function(){a.navigator.modifyNavigatorAxisExtremes()}))};b.prototype.getPartsEvents=function(c){var a=this,h=[];["shades","handles"].forEach(function(b){a[b].forEach(function(e,u){h.push(E(e.element,c,function(c){a[b+"Mousedown"](c,u)}))})});return h};b.prototype.shadesMousedown=function(c,a){c=this.chart.pointer.normalize(c); +var b=this.chart,h=this.xAxis,e=this.zoomedMin,u=this.left,d=this.size,n=this.range,p=c.chartX;b.inverted&&(p=c.chartY,u=this.top);if(1===a)this.grabbedCenter=p,this.fixedWidth=n,this.dragOffset=p-e;else{c=p-u-n/2;if(0===a)c=Math.max(0,c);else if(2===a&&c+n>=d)if(c=d-n,this.reversedExtremes){c-=n;var f=this.getUnionExtremes().dataMin}else var g=this.getUnionExtremes().dataMax;c!==e&&(this.fixedWidth=n,a=h.navigatorAxis.toFixedRange(c,c+n,f,g),q(a.min)&&b.xAxis[0].setExtremes(Math.min(a.min,a.max), +Math.max(a.min,a.max),!0,null,{trigger:"navigator"}))}};b.prototype.handlesMousedown=function(c,a){this.chart.pointer.normalize(c);c=this.chart;var b=c.xAxis[0],h=this.reversedExtremes;0===a?(this.grabbedLeft=!0,this.otherHandlePos=this.zoomedMax,this.fixedExtreme=h?b.min:b.max):(this.grabbedRight=!0,this.otherHandlePos=this.zoomedMin,this.fixedExtreme=h?b.max:b.min);c.fixedRange=null};b.prototype.onMouseMove=function(c){var a=this,b=a.chart,h=a.left,e=a.navigatorSize,d=a.range,n=a.dragOffset,p=b.inverted; +c.touches&&0===c.touches[0].pageX||(c=b.pointer.normalize(c),b=c.chartX,p&&(h=a.top,b=c.chartY),a.grabbedLeft?(a.hasDragged=!0,a.render(0,0,b-h,a.otherHandlePos)):a.grabbedRight?(a.hasDragged=!0,a.render(0,0,a.otherHandlePos,b-h)):a.grabbedCenter&&(a.hasDragged=!0,be+n-d&&(b=e+n-d),a.render(0,0,b-n,b-n+d)),a.hasDragged&&a.scrollbar&&I(a.scrollbar.options.liveRedraw,l.svg&&!k&&!this.chart.isBoosting)&&(c.DOMType=c.type,setTimeout(function(){a.onMouseUp(c)},0)))};b.prototype.onMouseUp=function(c){var a= +this.chart,b=this.xAxis,h=this.scrollbar,e=c.DOMEvent||c,d=a.inverted,n=this.rendered&&!this.hasDragged?"animate":"attr";if(this.hasDragged&&(!h||!h.hasDragged)||"scrollbar"===c.trigger){h=this.getUnionExtremes();if(this.zoomedMin===this.otherHandlePos)var p=this.fixedExtreme;else if(this.zoomedMax===this.otherHandlePos)var f=this.fixedExtreme;this.zoomedMax===this.size&&(f=this.reversedExtremes?h.dataMin:h.dataMax);0===this.zoomedMin&&(p=this.reversedExtremes?h.dataMax:h.dataMin);b=b.navigatorAxis.toFixedRange(this.zoomedMin, +this.zoomedMax,p,f);q(b.min)&&a.xAxis[0].setExtremes(Math.min(b.min,b.max),Math.max(b.min,b.max),!0,this.hasDragged?!1:null,{trigger:"navigator",triggerOp:"navigator-drag",DOMEvent:e})}"mousemove"!==c.DOMType&&"touchmove"!==c.DOMType&&(this.grabbedLeft=this.grabbedRight=this.grabbedCenter=this.fixedWidth=this.fixedExtreme=this.otherHandlePos=this.hasDragged=this.dragOffset=null);this.navigatorEnabled&&O(this.zoomedMin)&&O(this.zoomedMax)&&(a=Math.round(this.zoomedMin),c=Math.round(this.zoomedMax), +this.shades&&this.drawMasks(a,c,d,n),this.outline&&this.drawOutline(a,c,d,n),this.navigatorOptions.handles.enabled&&Object.keys(this.handles).length===this.handles.length&&(this.drawHandle(a,0,d,n),this.drawHandle(c,1,d,n)))};b.prototype.removeEvents=function(){this.eventsToUnbind&&(this.eventsToUnbind.forEach(function(c){c()}),this.eventsToUnbind=void 0);this.removeBaseSeriesEvents()};b.prototype.removeBaseSeriesEvents=function(){var c=this.baseSeries||[];this.navigatorEnabled&&c[0]&&(!1!==this.navigatorOptions.adaptToUpdatedData&& +c.forEach(function(c){f(c,"updatedData",this.updatedDataHandler)},this),c[0].xAxis&&f(c[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes))};b.prototype.init=function(b){var h=b.options,e=h.navigator,d=e.enabled,n=h.scrollbar,p=n.enabled;h=d?e.height:0;var f=p?n.height:0;this.handles=[];this.shades=[];this.chart=b;this.setBaseSeries();this.height=h;this.scrollbarHeight=f;this.scrollbarEnabled=p;this.navigatorEnabled=d;this.navigatorOptions=e;this.scrollbarOptions=n;this.outlineHeight=h+f;this.opposite= +I(e.opposite,!(d||!b.inverted));var g=this;d=g.baseSeries;n=b.xAxis.length;p=b.yAxis.length;var k=d&&d[0]&&d[0].xAxis||b.xAxis[0]||{options:{}};b.isDirtyBox=!0;g.navigatorEnabled?(g.xAxis=new a(b,x({breaks:k.options.breaks,ordinal:k.options.ordinal},e.xAxis,{id:"navigator-x-axis",yAxis:"navigator-y-axis",isX:!0,type:"datetime",index:n,isInternal:!0,offset:0,keepOrdinalPadding:!0,startOnTick:!1,endOnTick:!1,minPadding:0,maxPadding:0,zoomEnabled:!1},b.inverted?{offsets:[f,0,-f,0],width:h}:{offsets:[0, +-f,0,f],height:h})),g.yAxis=new a(b,x(e.yAxis,{id:"navigator-y-axis",alignTicks:!1,offset:0,index:p,isInternal:!0,reversed:I(e.yAxis&&e.yAxis.reversed,b.yAxis[0]&&b.yAxis[0].reversed,!1),zoomEnabled:!1},b.inverted?{width:h}:{height:h})),d||e.series.data?g.updateNavigatorSeries(!1):0===b.series.length&&(g.unbindRedraw=E(b,"beforeRedraw",function(){0d.indexOf(a)?(a&&(f(a,"updatedData",b.updatedDataHandler),delete a.navigatorSeries), +c.chart&&c.destroy(),!1):!0});d&&d.length&&d.forEach(function(c){var f=c.navigatorSeries,w=F({color:c.color,visible:c.visible},g(p)?K.navigator.series:p);f&&!1===b.navigatorOptions.adaptToUpdatedData||(l.name="Navigator "+d.length,n=c.options||{},k=n.navigatorOptions||{},w.dataLabels=e(w.dataLabels),u=x(n,l,w,k),u.pointRange=I(w.pointRange,k.pointRange,K.plotOptions[u.type||"line"].pointRange),w=k.data||w.data,b.hasNavigatorData=b.hasNavigatorData||!!w,u.data=w||n.data&&n.data.slice(0),f&&f.options? +f.update(u,a):(c.navigatorSeries=h.initSeries(u),c.navigatorSeries.baseSeries=c,m.push(c.navigatorSeries)))});if(p.data&&(!d||!d.length)||g(p))b.hasNavigatorData=!1,p=e(p),p.forEach(function(c,a){l.name="Navigator "+(m.length+1);u=x(K.navigator.series,{color:h.series[a]&&!h.series[a].options.isInternal&&h.series[a].color||h.options.colors[a]||h.options.colors[0]},l,c);u.data=c.data;u.data&&(b.hasNavigatorData=!0,m.push(h.initSeries(u)))});c&&this.addBaseSeriesEvents()};b.prototype.addBaseSeriesEvents= +function(){var c=this,a=c.baseSeries||[];a[0]&&a[0].xAxis&&a[0].eventsToUnbind.push(E(a[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes));a.forEach(function(a){a.eventsToUnbind.push(E(a,"show",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!0,!1)}));a.eventsToUnbind.push(E(a,"hide",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!1,!1)}));!1!==this.navigatorOptions.adaptToUpdatedData&&a.xAxis&&a.eventsToUnbind.push(E(a,"updatedData",this.updatedDataHandler)); +a.eventsToUnbind.push(E(a,"remove",function(){this.navigatorSeries&&(N(c.series,this.navigatorSeries),q(this.navigatorSeries.options)&&this.navigatorSeries.remove(!1),delete this.navigatorSeries)}))},this)};b.prototype.getBaseSeriesMin=function(c){return this.baseSeries.reduce(function(c,a){return Math.min(c,a.xData&&a.xData.length?a.xData[0]:c)},c)};b.prototype.modifyNavigatorAxisExtremes=function(){var c=this.xAxis,a;"undefined"!==typeof c.getExtremes&&(!(a=this.getUnionExtremes(!0))||a.dataMin=== +c.min&&a.dataMax===c.max||(c.min=a.dataMin,c.max=a.dataMax))};b.prototype.modifyBaseAxisExtremes=function(){var c=this.chart.navigator,a=this.getExtremes(),b=a.dataMin,e=a.dataMax;a=a.max-a.min;var d=c.stickToMin,n=c.stickToMax,p=I(this.options.overscroll,0),f=c.series&&c.series[0],g=!!this.setExtremes;if(!this.eventArgs||"rangeSelectorButton"!==this.eventArgs.trigger){if(d){var k=b;var l=k+a}n&&(l=e+p,d||(k=Math.max(b,l-a,c.getBaseSeriesMin(f&&f.xData?f.xData[0]:-Number.MAX_VALUE))));g&&(d||n)&& +O(k)&&(this.min=this.userMin=k,this.max=this.userMax=l)}c.stickToMin=c.stickToMax=null};b.prototype.updatedDataHandler=function(){var c=this.chart.navigator,a=this.navigatorSeries;c.stickToMax=c.reversedExtremes?0===Math.round(c.zoomedMin):Math.round(c.zoomedMax)>=Math.round(c.size);c.stickToMin=c.shouldStickToMin(this,c);a&&!c.hasNavigatorData&&(a.options.pointStart=this.xData[0],a.setData(this.options.data,!1,null,!1))};b.prototype.shouldStickToMin=function(c,a){a=a.getBaseSeriesMin(c.xData[0]); +var b=c.xAxis;c=b.max;var h=b.min;b=b.options.range;return O(c)&&O(h)?b&&0l-k,B=n=864E5*{month:28,year:365}[p]*g-q&&d-36E5<=864E5*{month:31,year:366}[p]*g+q?n=!0:"ytd"===p?(n=x-m+q===d,G=!a):"all"===p&&(n=e.max-e.min>=l-k,P=!a&&r&&n);p=!v&&(z||B||P||f);g=a&&n||n&&!r&&!G||a&&c.frozenStates;p?w=3:g&&(r=!0,w=2);u.state!== +w&&(u.setState(w),b&&(b.options[h+1].disabled=p,2===w&&(b.selectedIndex=h+1)),0===w&&t===h&&c.setSelected())})};e.prototype.computeButtonRange=function(c){var a=c.type,b=c.count||1,e={millisecond:1,second:1E3,minute:6E4,hour:36E5,day:864E5,week:6048E5};if(e[a])c._range=e[a]*b;else if("month"===a||"year"===a)c._range=864E5*{month:30,year:365}[a]*b;c._offsetMin=M(c.offsetMin,0);c._offsetMax=M(c.offsetMax,0);c._range+=c._offsetMax-c._offsetMin};e.prototype.getInputValue=function(c){c="min"===c?this.minInput: +this.maxInput;var a=this.chart.options.rangeSelector,b=this.chart.time;return c?("text"===c.type&&a.inputDateParser||this.defaultInputDateParser)(c.value,b.useUTC,b):0};e.prototype.setInputValue=function(c,a){var b=this.options,e=this.chart.time,d="min"===c?this.minInput:this.maxInput;c="min"===c?this.minDateBox:this.maxDateBox;if(d){var f=d.getAttribute("data-hc-time");f=C(f)?Number(f):void 0;C(a)&&(C(f)&&d.setAttribute("data-hc-time-previous",f),d.setAttribute("data-hc-time",a),f=a);d.value=e.dateFormat(this.inputTypeFormats[d.type]|| +b.inputEditDateFormat,f);c&&c.attr({text:e.dateFormat(b.inputDateFormat,f)})}};e.prototype.setInputExtremes=function(c,a,b){if(c="min"===c?this.minInput:this.maxInput){var e=this.inputTypeFormats[c.type],d=this.chart.time;e&&(a=d.dateFormat(e,a),c.min!==a&&(c.min=a),b=d.dateFormat(e,b),c.max!==b&&(c.max=b))}};e.prototype.showInput=function(c){var a="min"===c?this.minDateBox:this.maxDateBox;if((c="min"===c?this.minInput:this.maxInput)&&a&&this.inputGroup){var b="text"===c.type,e=this.inputGroup,f= +e.translateX;e=e.translateY;var g=this.options.inputBoxWidth;d(c,{width:b?a.width+(g?-2:20)+"px":"auto",height:b?a.height-2+"px":"auto",border:"2px solid silver"});b&&g?d(c,{left:f+a.x+"px",top:e+"px"}):d(c,{left:Math.min(Math.round(a.x+f-(c.offsetWidth-a.width)/2),this.chart.chartWidth-c.offsetWidth)+"px",top:e-(c.offsetHeight-a.height)/2+"px"})}};e.prototype.hideInput=function(c){(c="min"===c?this.minInput:this.maxInput)&&d(c,{top:"-9999em",border:0,width:"1px",height:"1px"})};e.prototype.defaultInputDateParser= +function(c,a,b){var e=c.split("/").join("-").split(" ").join("T");-1===e.indexOf("T")&&(e+="T00:00");if(a)e+="Z";else{var d;if(d=A.isSafari)d=e,d=!(6=d?"+".concat(F(-d),":00"):"-".concat(F(d),":00"))}e=Date.parse(e);q(e)||(c=c.split("-"),e=Date.UTC(g(c[0]),g(c[1])-1,g(c[2])));b&&a&&q(e)&&(e+=b.getTimezoneOffset(e));return e};e.prototype.drawInput=function(c){function a(){var a= +g.getInputValue(c),e=b.xAxis[0],d=b.scroller&&b.scroller.xAxis?b.scroller.xAxis:e,h=d.dataMin;d=d.dataMax;var f=g.maxInput,n=g.minInput;a!==Number(v.getAttribute("data-hc-time-previous"))&&q(a)&&(v.setAttribute("data-hc-time-previous",a),r&&f&&q(h)?a>Number(f.getAttribute("data-hc-time"))?a=void 0:ad&&(a=d)),"undefined"!==typeof a&&e.setExtremes(r?a:e.min,r?e.max:a,void 0,void 0,{trigger:"rangeSelectorInput"}))}var b=this.chart, +e=this.div,f=this.inputGroup,g=this,k=b.renderer.style||{},l=b.renderer,x=b.options.rangeSelector,r="min"===c,z=t.lang[r?"rangeSelectorFrom":"rangeSelectorTo"]||"";z=l.label(z,0).addClass("highcharts-range-label").attr({padding:z?2:0,height:z?x.inputBoxHeight:0}).add(f);l=l.label("",0).addClass("highcharts-range-input").attr({padding:2,width:x.inputBoxWidth,height:x.inputBoxHeight,"text-align":"center"}).on("click",function(){g.showInput(c);g[c+"Input"].focus()});b.styledMode||l.attr({stroke:x.inputBoxBorderColor, +"stroke-width":1});l.add(f);var v=m("input",{name:c,className:"highcharts-range-selector"},void 0,e);v.setAttribute("type",D(x.inputDateFormat||"%b %e, %Y"));b.styledMode||(z.css(J(k,x.labelStyle)),l.css(J({color:"#333333"},k,x.inputStyle)),d(v,E({position:"absolute",border:0,boxShadow:"0 0 15px rgba(0,0,0,0.3)",width:"1px",height:"1px",padding:0,textAlign:"center",fontSize:k.fontSize,fontFamily:k.fontFamily,top:"-9999em"},x.inputStyle)));v.onfocus=function(){g.showInput(c)};v.onblur=function(){v=== +A.doc.activeElement&&a();g.hideInput(c);g.setInputValue(c);v.blur()};var y=!1;v.onchange=function(){y||(a(),g.hideInput(c),v.blur())};v.onkeypress=function(c){13===c.keyCode&&a()};v.onkeydown=function(c){y=!0;38!==c.keyCode&&40!==c.keyCode||a()};v.onkeyup=function(){y=!1};return{dateBox:l,input:v,label:z}};e.prototype.getPosition=function(){var a=this.chart,b=a.options.rangeSelector;a="top"===b.verticalAlign?a.plotTop-a.axisOffset[0]:0;return{buttonTop:a+b.buttonPosition.y,inputTop:a+b.inputPosition.y- +10}};e.prototype.getYTDExtremes=function(a,b,e){var c=this.chart.time,d=new c.Date(a),f=c.get("FullYear",d);e=e?c.Date.UTC(f,0,1):+new c.Date(f,0,1);b=Math.max(b,e);d=d.getTime();return{max:Math.min(a||d,d),min:b}};e.prototype.render=function(a,b){var c=this.chart,e=c.renderer,d=c.container,f=c.options,g=f.rangeSelector,p=M(f.chart.style&&f.chart.style.zIndex,0)+1;f=g.inputEnabled;if(!1!==g.enabled){this.rendered||(this.group=e.g("range-selector-group").attr({zIndex:7}).add(),this.div=m("div",void 0, +{position:"relative",height:0,zIndex:p}),this.buttonOptions.length&&this.renderButtons(),d.parentNode&&d.parentNode.insertBefore(this.div,d),f&&(this.inputGroup=e.g("input-group").add(this.group),e=this.drawInput("min"),this.minDateBox=e.dateBox,this.minLabel=e.label,this.minInput=e.input,e=this.drawInput("max"),this.maxDateBox=e.dateBox,this.maxLabel=e.label,this.maxInput=e.input));if(f&&(this.setInputValue("min",a),this.setInputValue("max",b),a=c.scroller&&c.scroller.getUnionExtremes()||c.xAxis[0]|| +{},C(a.dataMin)&&C(a.dataMax)&&(c=c.xAxis[0].minRange||0,this.setInputExtremes("min",a.dataMin,Math.min(a.dataMax,this.getInputValue("max"))-c),this.setInputExtremes("max",Math.max(a.dataMin,this.getInputValue("min"))+c,a.dataMax)),this.inputGroup)){var k=0;[this.minLabel,this.minDateBox,this.maxLabel,this.maxDateBox].forEach(function(a){if(a){var c=a.getBBox().width;c&&(a.attr({x:k}),k+=c+g.inputSpacing)}})}this.alignElements();this.rendered=!0}};e.prototype.renderButtons=function(){var a=this,e= +this.buttons,d=this.options,h=t.lang,f=this.chart.renderer,g=J(d.buttonTheme),k=g&&g.states,l=g.width||28;delete g.width;delete g.states;this.buttonGroup=f.g("range-selector-buttons").add(this.group);var q=this.dropdown=m("select",void 0,{position:"absolute",width:"1px",height:"1px",padding:0,border:0,top:"-9999em",cursor:"pointer",opacity:.0001},this.div);b(q,"touchstart",function(){q.style.fontSize="16px"});[[A.isMS?"mouseover":"mouseenter"],[A.isMS?"mouseout":"mouseleave"],["change","click"]].forEach(function(c){var d= +c[0],h=c[1];b(q,d,function(){var c=e[a.currentButtonIndex()];c&&H(c.element,h||d)})});this.zoomText=f.label(h&&h.rangeSelectorZoom||"",0).attr({padding:d.buttonTheme.padding,height:d.buttonTheme.height,paddingLeft:0,paddingRight:0}).add(this.buttonGroup);this.chart.styledMode||(this.zoomText.css(d.labelStyle),g["stroke-width"]=M(g["stroke-width"],0));m("option",{textContent:this.zoomText.textStr,disabled:!0},void 0,q);this.buttonOptions.forEach(function(c,b){m("option",{textContent:c.title||c.text}, +void 0,q);e[b]=f.button(c.text,0,0,function(e){var d=c.events&&c.events.click,h;d&&(h=d.call(c,e));!1!==h&&a.clickButton(b);a.isActive=!0},g,k&&k.hover,k&&k.select,k&&k.disabled).attr({"text-align":"center",width:l}).add(a.buttonGroup);c.title&&e[b].attr("title",c.title)})};e.prototype.alignElements=function(){var a=this,b=this.buttonGroup,e=this.buttons,d=this.chart,f=this.group,g=this.inputGroup,k=this.options,l=this.zoomText,m=d.options,q=m.exporting&&!1!==m.exporting.enabled&&m.navigation&&m.navigation.buttonOptions; +m=k.buttonPosition;var x=k.inputPosition,t=k.verticalAlign,r=function(c,b){return q&&a.titleCollision(d)&&"top"===t&&"right"===b.align&&b.y-c.getBBox().height-12<(q.y||0)+(q.height||0)+d.spacing[0]?-40:0},v=d.plotLeft;if(f&&m&&x){var y=m.x-d.spacing[3];if(b){this.positionButtons();if(!this.initialButtonGroupWidth){var A=0;l&&(A+=l.getBBox().width+5);e.forEach(function(a,c){A+=a.width;c!==e.length-1&&(A+=k.buttonSpacing)});this.initialButtonGroupWidth=A}v-=d.spacing[3];this.updateButtonStates();l= +r(b,m);this.alignButtonGroup(l);f.placed=b.placed=d.hasLoaded}b=0;g&&(b=r(g,x),"left"===x.align?y=v:"right"===x.align&&(y=-Math.max(d.axisOffset[1],-b)),g.align({y:x.y,width:g.getBBox().width,align:x.align,x:x.x+y-2},!0,d.spacingBox),g.placed=d.hasLoaded);this.handleCollision(b);f.align({verticalAlign:t},!0,d.spacingBox);g=f.alignAttr.translateY;b=f.getBBox().height+20;r=0;"bottom"===t&&(r=(r=d.legend&&d.legend.options)&&"bottom"===r.verticalAlign&&r.enabled&&!r.floating?d.legend.legendHeight+M(r.margin, +10):0,b=b+r-20,r=g-b-(k.floating?0:k.y)-(d.titleOffset?d.titleOffset[2]:0)-10);if("top"===t)k.floating&&(r=0),d.titleOffset&&d.titleOffset[0]&&(r=d.titleOffset[0]),r+=d.margin[0]-d.spacing[0]||0;else if("middle"===t)if(x.y===m.y)r=g;else if(x.y||m.y)r=0>x.y||0>m.y?r-Math.min(x.y,m.y):g-b;f.translate(k.x,k.y+Math.floor(r));m=this.minInput;x=this.maxInput;g=this.dropdown;k.inputEnabled&&m&&x&&(m.style.marginTop=f.translateY+"px",x.style.marginTop=f.translateY+"px");g&&(g.style.marginTop=f.translateY+ +"px")}};e.prototype.alignButtonGroup=function(a,b){var c=this.chart,e=this.buttonGroup,d=this.options.buttonPosition,f=c.plotLeft-c.spacing[3],g=d.x-c.spacing[3];"right"===d.align?g+=a-f:"center"===d.align&&(g-=f/2);e&&e.align({y:d.y,width:M(b,this.initialButtonGroupWidth),align:d.align,x:g},!0,c.spacingBox)};e.prototype.positionButtons=function(){var a=this.buttons,b=this.chart,e=this.options,d=this.zoomText,f=b.hasLoaded?"animate":"attr",g=e.buttonPosition,k=b.plotLeft,l=k;d&&"hidden"!==d.visibility&& +(d[f]({x:M(k+g.x,k)}),l+=g.x+d.getBBox().width+5);this.buttonOptions.forEach(function(c,b){if("hidden"!==a[b].visibility)a[b][f]({x:l}),l+=a[b].width+e.buttonSpacing;else a[b][f]({x:k})})};e.prototype.handleCollision=function(a){var c=this,b=this.chart,e=this.buttonGroup,d=this.inputGroup,f=this.options,g=f.buttonPosition,k=f.dropdown,l=f.inputPosition;f=function(){var a=0;c.buttons.forEach(function(c){c=c.getBBox();c.width>a&&(a=c.width)});return a};var m=function(c){if(d&&e){var b=d.alignAttr.translateX+ +d.alignOptions.x-a+d.getBBox().x+2,f=d.alignOptions.width,h=e.alignAttr.translateX+e.getBBox().x;return h+c>b&&b+f>h&&g.y=-a?0:-a),translateY:d.alignAttr.translateY+e.getBBox().height+10})};if(e){if("always"===k){this.collapseButtons(a);m(f())&&q();return}"never"===k&&this.expandButtons()}d&&e?l.align===g.align||m(this.initialButtonGroupWidth+20)?"responsive"===k?(this.collapseButtons(a), +m(f())&&q()):q():"responsive"===k&&this.expandButtons():e&&"responsive"===k&&(this.initialButtonGroupWidth>b.plotWidth?this.collapseButtons(a):this.expandButtons())};e.prototype.collapseButtons=function(a){var c=this.buttons,b=this.buttonOptions,e=this.chart,d=this.dropdown,f=this.options,g=this.zoomText,k=e.userOptions.rangeSelector&&e.userOptions.rangeSelector.buttonTheme||{},l=function(a){return{text:a?""+a+" \u25be":"\u25be",width:"auto",paddingLeft:M(f.buttonTheme.paddingLeft,k.padding,8),paddingRight:M(f.buttonTheme.paddingRight, +k.padding,8)}};g&&g.hide();var m=!1;b.forEach(function(a,b){b=c[b];2!==b.state?b.hide():(b.show(),b.attr(l(a.text)),m=!0)});m||(d&&(d.selectedIndex=0),c[0].show(),c[0].attr(l(this.zoomText&&this.zoomText.textStr)));b=f.buttonPosition.align;this.positionButtons();"right"!==b&&"center"!==b||this.alignButtonGroup(a,c[this.currentButtonIndex()].getBBox().width);this.showDropdown()};e.prototype.expandButtons=function(){var a=this.buttons,b=this.buttonOptions,e=this.options,d=this.zoomText;this.hideDropdown(); +d&&d.show();b.forEach(function(c,b){b=a[b];b.show();b.attr({text:c.text,width:e.buttonTheme.width||28,paddingLeft:M(e.buttonTheme.paddingLeft,"unset"),paddingRight:M(e.buttonTheme.paddingRight,"unset")});2>b.state&&b.setState(0)});this.positionButtons()};e.prototype.currentButtonIndex=function(){var a=this.dropdown;return a&&0 +f&&0>d||0c+d.width)&&(z?l=m=K(l,c,c+d.width):b=!0);b||r.push(["M",l,h],["L",m,t])}):D.forEach(function(a){var b;l=a.pos;m=l+a.len;h=t=Math.round(k+d.height-J);"pass"!==z&&(hk+d.height)&&(z?h=t=K(h,k,k+d.height):b=!0);b||r.push(["M",l,h],["L",m,t])}));a.path=0D&&r=d&&(A=-(m.translateX+e.width- +d));m.attr({x:f+A,y:h,anchorX:c?f:this.opposite?0:g.chartWidth,anchorY:c?this.opposite?g.chartHeight:0:h+e.height/2})}});r.prototype.forceCropping=function(){var a=this.chart,b=this.options.dataGrouping;return!1!==this.allowDG&&b&&F(b.enabled,a.options.isStock)};a(A,"update",function(a){a=a.options;"scrollbar"in a&&this.navigator&&(N(!0,this.options.scrollbar,a.scrollbar),this.navigator.update({},!1),delete a.scrollbar)});return t});J(a,"masters/modules/stock.src.js",[a["Core/Globals.js"],a["Core/Axis/OrdinalAxis.js"], +a["Series/DataModifyComposition.js"],a["Core/Scrollbar.js"],a["Core/Chart/StockChart.js"]],function(a,v,A,l,y){a.Scrollbar=l;a.StockChart=a.stockChart=y.stockChart;l.compose(a.Axis);v.compose(a.Axis,a.Series,a.Chart);A.compose(a.Series,a.Axis,a.Point)})}); +//# sourceMappingURL=stock.js.map \ No newline at end of file diff --git a/docs/reference/libs/highcharts-10.2.0/modules/streamgraph.js b/docs/reference/libs/highcharts-10.2.0/modules/streamgraph.js new file mode 100644 index 0000000..d074785 --- /dev/null +++ b/docs/reference/libs/highcharts-10.2.0/modules/streamgraph.js @@ -0,0 +1,14 @@ +/* + Highcharts JS v10.2.0 (2022-07-05) + + Streamgraph module + + (c) 2010-2021 Torstein Honsi + + License: www.highcharts.com/license +*/ +(function(a){"object"===typeof module&&module.exports?(a["default"]=a,module.exports=a):"function"===typeof define&&define.amd?define("highcharts/modules/streamgraph",["highcharts"],function(d){a(d);a.Highcharts=d;return a}):a("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(a){function d(a,e,d,f){a.hasOwnProperty(e)||(a[e]=f.apply(null,d),"function"===typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:e,module:a[e]}})))}a=a?a._modules:{}; +d(a,"Series/Streamgraph/StreamgraphSeries.js",[a["Core/Series/SeriesRegistry.js"],a["Core/Utilities.js"]],function(a,e){var d=this&&this.__extends||function(){var a=function(b,c){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,c){a.__proto__=c}||function(a,c){for(var b in c)c.hasOwnProperty(b)&&(a[b]=c[b])};return a(b,c)};return function(b,c){function d(){this.constructor=b}a(b,c);b.prototype=null===c?Object.create(c):(d.prototype=c.prototype,new d)}}(),f=a.seriesTypes.areaspline, +h=e.merge;e=e.extend;var g=function(a){function b(){var c=null!==a&&a.apply(this,arguments)||this;c.data=void 0;c.points=void 0;c.options=void 0;return c}d(b,a);b.prototype.streamStacker=function(a,b,d){a[0]-=b.total/2;a[1]-=b.total/2;this.stackedYData[d]=a};b.defaultOptions=h(f.defaultOptions,{fillOpacity:1,lineWidth:0,marker:{enabled:!1},stacking:"stream"});return b}(f);e(g.prototype,{negStacks:!1});a.registerSeriesType("streamgraph",g);"";return g});d(a,"masters/modules/streamgraph.src.js",[], +function(){})}); +//# sourceMappingURL=streamgraph.js.map \ No newline at end of file diff --git a/docs/reference/libs/highcharts-10.2.0/modules/sunburst.js b/docs/reference/libs/highcharts-10.2.0/modules/sunburst.js new file mode 100644 index 0000000..ac9525e --- /dev/null +++ b/docs/reference/libs/highcharts-10.2.0/modules/sunburst.js @@ -0,0 +1,81 @@ +/* + Highcharts JS v10.2.0 (2022-07-05) + + (c) 2016-2021 Highsoft AS + Authors: Jon Arild Nygard + + License: www.highcharts.com/license +*/ +(function(a){"object"===typeof module&&module.exports?(a["default"]=a,module.exports=a):"function"===typeof define&&define.amd?define("highcharts/modules/sunburst",["highcharts"],function(x){a(x);a.Highcharts=x;return a}):a("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(a){function x(a,e,h,n){a.hasOwnProperty(e)||(a[e]=n.apply(null,h),"function"===typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:e,module:a[e]}})))}a=a?a._modules:{};x(a, +"Series/ColorMapComposition.js",[a["Core/Series/SeriesRegistry.js"],a["Core/Utilities.js"]],function(a,e){var h=a.seriesTypes.column.prototype,n=e.addEvent,g=e.defined,p;(function(a){function l(c){this.moveToTopOnHover&&this.graphic&&this.graphic.attr({zIndex:c&&"hover"===c.state?1:0})}var d=[];a.pointMembers={dataLabelOnNull:!0,moveToTopOnHover:!0,isValid:function(){return null!==this.value&&Infinity!==this.value&&-Infinity!==this.value&&(void 0===this.value||!isNaN(this.value))}};a.seriesMembers= +{colorKey:"value",axisTypes:["xAxis","yAxis","colorAxis"],parallelArrays:["x","y","value"],pointArrayMap:["value"],trackerGroups:["group","markerGroup","dataLabelsGroup"],colorAttribs:function(c){var b={};!g(c.color)||c.state&&"normal"!==c.state||(b[this.colorProp||"fill"]=c.color);return b},pointAttribs:h.pointAttribs};a.compose=function(c){var b=c.prototype.pointClass;-1===d.indexOf(b)&&(d.push(b),n(b,"afterSetState",l));return c}})(p||(p={}));return p});x(a,"Series/Treemap/TreemapAlgorithmGroup.js", +[],function(){return function(){function a(a,h,n,g){this.height=a;this.width=h;this.plot=g;this.startDirection=this.direction=n;this.lH=this.nH=this.lW=this.nW=this.total=0;this.elArr=[];this.lP={total:0,lH:0,nH:0,lW:0,nW:0,nR:0,lR:0,aspectRatio:function(a,d){return Math.max(a/d,d/a)}}}a.prototype.addElement=function(a){this.lP.total=this.elArr[this.elArr.length-1];this.total+=a;0===this.direction?(this.lW=this.nW,this.lP.lH=this.lP.total/this.lW,this.lP.lR=this.lP.aspectRatio(this.lW,this.lP.lH), +this.nW=this.total/this.height,this.lP.nH=this.lP.total/this.nW,this.lP.nR=this.lP.aspectRatio(this.nW,this.lP.nH)):(this.lH=this.nH,this.lP.lW=this.lP.total/this.lH,this.lP.lR=this.lP.aspectRatio(this.lP.lW,this.lH),this.nH=this.total/this.width,this.lP.nW=this.lP.total/this.nH,this.lP.nR=this.lP.aspectRatio(this.lP.nW,this.nH));this.elArr.push(a)};a.prototype.reset=function(){this.lW=this.nW=0;this.elArr=[];this.total=0};return a}()});x(a,"Series/DrawPointUtilities.js",[a["Core/Utilities.js"]], +function(a){function e(a){switch(a.series&&a.series.type){case "treemap":return h(a.plotY)&&null!==a.y;default:return!a.isNull}}var h=a.isNumber;return{draw:function(a,g){var p=g.animatableAttribs,d=g.onComplete,l=g.css,h=g.renderer,c=a.series&&a.series.chart.hasRendered?void 0:a.series&&a.series.options.animation,b=a.graphic;g.attribs=g.attribs||{};g.attribs["class"]=a.getClassName();if(e(a))b||(a.graphic=b="text"===g.shapeType?h.text():h[g.shapeType](g.shapeArgs||{}),b.add(g.group)),l&&b.css(l), +b.attr(g.attribs).animate(p,g.isNew?!1:c,d);else if(b){var H=function(){a.graphic=b=b&&b.destroy();"function"===typeof d&&d()};Object.keys(p).length?b.animate(p,void 0,function(){return H()}):H()}},shouldDraw:e}});x(a,"Series/Treemap/TreemapPoint.js",[a["Series/DrawPointUtilities.js"],a["Core/Series/SeriesRegistry.js"],a["Core/Utilities.js"]],function(a,e,h){var n=this&&this.__extends||function(){var c=function(b,a){c=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(c,a){c.__proto__= +a}||function(c,a){for(var b in a)a.hasOwnProperty(b)&&(c[b]=a[b])};return c(b,a)};return function(a,d){function b(){this.constructor=a}c(a,d);a.prototype=null===d?Object.create(d):(b.prototype=d.prototype,new b)}}(),g=e.series.prototype.pointClass,p=e.seriesTypes;e=p.pie.prototype.pointClass;var d=h.extend,l=h.isNumber,q=h.pick;h=function(c){function b(){var a=null!==c&&c.apply(this,arguments)||this;a.name=void 0;a.node=void 0;a.options=void 0;a.series=void 0;a.value=void 0;return a}n(b,c);b.prototype.draw= +function(c){a.draw(this,c)};b.prototype.getClassName=function(){var a=g.prototype.getClassName.call(this),c=this.series,b=c.options;this.node.level<=c.nodeMap[c.rootNode].level?a+=" highcharts-above-level":this.node.isLeaf||q(b.interactByLeaf,!b.allowTraversingTree)?this.node.isLeaf||(a+=" highcharts-internal-node"):a+=" highcharts-internal-node-interactive";return a};b.prototype.isValid=function(){return!(!this.id&&!l(this.value))};b.prototype.setState=function(a){g.prototype.setState.call(this, +a);this.graphic&&this.graphic.attr({zIndex:"hover"===a?1:0})};b.prototype.shouldDraw=function(){return a.shouldDraw(this)};return b}(p.scatter.prototype.pointClass);d(h.prototype,{setVisible:e.prototype.setVisible});return h});x(a,"Series/Treemap/TreemapUtilities.js",[a["Core/Utilities.js"]],function(a){var e=a.objectEach,h;(function(a){function g(a,d,l){void 0===l&&(l=this);a=d.call(l,a);!1!==a&&g(a,d,l)}a.AXIS_MAX=100;a.isBoolean=function(a){return"boolean"===typeof a};a.eachObject=function(a,d, +l){l=l||this;e(a,function(g,c){d.call(l,g,c,a)})};a.recursive=g})(h||(h={}));return h});x(a,"Series/TreeUtilities.js",[a["Core/Color/Color.js"],a["Core/Utilities.js"]],function(a,e){function h(a,b){var c=b.before,d=b.idRoot,u=b.mapIdToNode[d],r=b.points[a.i],w=r&&r.options||{},C=[],D=0;a.levelDynamic=a.level-(!1!==b.levelIsConstant?0:u.level);a.name=q(r&&r.name,"");a.visible=d===a.id||!0===b.visible;"function"===typeof c&&(a=c(a,b));a.children.forEach(function(c,r){var w=n({},b);n(w,{index:r,siblings:a.children.length, +visible:a.visible});c=h(c,w);C.push(c);c.visible&&(D+=c.val)});c=q(w.value,D);a.visible=0<=c&&(0g.lP.lR&&m.algorithmCalcPoints(a,!1,g,f,d);k===e&&m.algorithmCalcPoints(a,!0,g,f,d);k+=1});return f};b.prototype.alignDataLabel=function(a,b,c){var f=c.style;f&&!F(f.textOverflow)&&b.text&&b.getBBox().width>b.text.textWidth&&b.css({textOverflow:"ellipsis",width:f.width+="px"});r.prototype.alignDataLabel.apply(this, +arguments);a.dataLabel&&a.dataLabel.attr({zIndex:(a.node.zIndex||0)+1})};b.prototype.buildNode=function(a,b,c,d,k){var f=this,m=[],t=f.points[b],e=0,g;(d[a]||[]).forEach(function(b){g=f.buildNode(f.points[b].id,b,c+1,d,a);e=Math.max(g.height+1,e);m.push(g)});b={id:a,i:b,children:m,height:e,level:c,parent:k,visible:!1};f.nodeMap[b.id]=b;t&&(t.node=b);return b};b.prototype.calculateChildrenAreas=function(a,b){var f=this,c=f.options,m=f.mapOptionsToLevel[a.level+1],d=v(f[m&&m.layoutAlgorithm]&&m.layoutAlgorithm, +c.layoutAlgorithm),k=c.alternateStartingDirection,e=[];a=a.children.filter(function(a){return!a.ignore});m&&m.layoutStartingDirection&&(b.direction="vertical"===m.layoutStartingDirection?0:1);e=f[d](b,a);a.forEach(function(a,c){c=e[c];a.values=z(c,{val:a.childrenTotal,direction:k?1-b.direction:b.direction});a.pointValues=z(c,{x:c.x/f.axisRatio,y:l.AXIS_MAX-c.y-c.height,width:c.width/f.axisRatio});a.children.length&&f.calculateChildrenAreas(a,a.values)})};b.prototype.createList=function(a){var b=this.chart, +f=[];if(b.breadcrumbs){var c=0;f.push({level:c,levelOptions:b.series[0]});b=a.target.nodeMap[a.newRootId];for(var d=[];b.parent||""===b.parent;)d.push(b),b=a.target.nodeMap[b.parent];d.reverse().forEach(function(a){f.push({level:++c,levelOptions:a})});1>=f.length&&(f.length=0)}return f};b.prototype.drawDataLabels=function(){var a=this,b=a.mapOptionsToLevel,c,d;a.points.filter(function(a){return a.node.visible}).forEach(function(f){d=b[f.node.level];c={style:{}};f.node.isLeaf||(c.enabled=!1);d&&d.dataLabels&& +(c=z(c,d.dataLabels),a._hasPointLabels=!0);f.shapeArgs&&(c.style.width=f.shapeArgs.width,f.dataLabel&&f.dataLabel.css({width:f.shapeArgs.width+"px"}));f.dlOptions=z(c,f.options.dataLabels)});u.prototype.drawDataLabels.call(this)};b.prototype.drawPoints=function(){var a=this,b=a.chart,c=b.renderer,d=b.styledMode,k=a.options,e=d?{}:k.shadow,g=k.borderRadius,l=b.pointCount{point.name}
: {point.value}
"},ignoreHiddenPoint:!0,layoutAlgorithm:"sliceAndDice",layoutStartingDirection:"vertical",alternateStartingDirection:!1, +levelIsConstant:!0,traverseUpButton:{position:{align:"right",x:-10,y:10}},borderColor:"#e6e6e6",borderWidth:1,colorKey:"colorValue",opacity:.15,states:{hover:{borderColor:"#999999",brightness:w?0:.1,halo:!1,opacity:.75,shadow:!1}}});return b}(x);K(q.prototype,{buildKDTree:a,colorAttribs:e.seriesMembers.colorAttribs,colorKey:"colorValue",directTouch:!0,drawLegendSymbol:n.drawRectangle,getExtremesFromAll:!0,getSymbol:a,optionalAxis:"colorAxis",parallelArrays:["x","y","value","colorValue"],pointArrayMap:["value"], +pointClass:d,trackerGroups:["group","dataLabelsGroup"],utils:{recursive:l.recursive}});e.compose(q);g.registerSeriesType("treemap",q);"";return q});x(a,"Series/Sunburst/SunburstPoint.js",[a["Core/Series/SeriesRegistry.js"],a["Core/Utilities.js"]],function(a,e){var h=this&&this.__extends||function(){var a=function(d,e){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,c){a.__proto__=c}||function(a,c){for(var b in c)c.hasOwnProperty(b)&&(a[b]=c[b])};return a(d,e)};return function(d, +e){function g(){this.constructor=d}a(d,e);d.prototype=null===e?Object.create(e):(g.prototype=e.prototype,new g)}}(),n=a.series.prototype.pointClass,g=e.correctFloat;e=e.extend;a=function(a){function d(){var d=null!==a&&a.apply(this,arguments)||this;d.node=void 0;d.options=void 0;d.series=void 0;d.shapeExisting=void 0;return d}h(d,a);d.prototype.getDataLabelPath=function(a){var d=this.series.chart.renderer,c=this.shapeExisting,b=c.start,e=c.end,h=b+(e-b)/2;h=0>h&&h>-Math.PI||h>Math.PI;var l=c.r+(a.options.distance|| +0);b===-Math.PI/2&&g(e)===g(1.5*Math.PI)&&(b=-Math.PI+Math.PI/360,e=-Math.PI/360,h=!0);if(e-b>Math.PI){h=!1;var p=!0}this.dataLabelPath&&(this.dataLabelPath=this.dataLabelPath.destroy());this.dataLabelPath=d.arc({open:!0,longArc:p?1:0}).add(a);this.dataLabelPath.attr({start:h?b:e,end:h?e:b,clockwise:+h,x:c.x,y:c.y,r:(l+c.innerR)/2});return this.dataLabelPath};d.prototype.isValid=function(){return!0};return d}(a.seriesTypes.treemap.prototype.pointClass);e(a.prototype,{getClassName:n.prototype.getClassName, +haloPath:n.prototype.haloPath,setState:n.prototype.setState});return a});x(a,"Series/Sunburst/SunburstUtilities.js",[a["Core/Series/SeriesRegistry.js"],a["Core/Utilities.js"]],function(a,e){var h=a.seriesTypes.treemap,n=e.isNumber,g=e.isObject,p=e.merge,d;(function(a){function d(a,b){var c=[];if(n(a)&&n(b)&&a<=b)for(;a<=b;a++)c.push(a);return c}a.recursive=h.prototype.utils.recursive;a.calculateLevelSizes=function(a,b){b=g(b)?b:{};var c=0,e;if(g(a)){var h=p({},a);a=n(b.from)?b.from:0;var l=n(b.to)? +b.to:0;var q=d(a,l);a=Object.keys(h).filter(function(a){return-1===q.indexOf(+a)});var x=e=n(b.diffRadius)?b.diffRadius:0;q.forEach(function(a){a=h[a];var b=a.levelSize.unit,d=a.levelSize.value;"weight"===b?c+=d:"percentage"===b?(a.levelSize={unit:"pixels",value:d/100*x},e-=a.levelSize.value):"pixels"===b&&(e-=d)});q.forEach(function(a){var b=h[a];"weight"===b.levelSize.unit&&(b=b.levelSize.value,h[a].levelSize={unit:"pixels",value:b/c*e})});a.forEach(function(a){h[a].levelSize={value:0,unit:"pixels"}})}return h}; +a.getLevelFromAndTo=function(a){var b=a.level;return{from:0k.innerArcLength&&k.outerArcLength>l.radius){var G=0;k.dataLabelPath&&"circular"===v&&(m.textPath={enabled:!0})}else 11.5*l.radius?"circular"===v?m.textPath={enabled:!0,attributes:{dy:5}}:v="parallel":(k.dataLabel&&k.dataLabel.textPathWrapper&&"circular"===v&&(m.textPath={enabled:!1}),v="perpendicular");"auto"!==v&&"circular"!==v&&(G=l.end-(l.end-l.start)/2);m.style.width="parallel"===v?Math.min(2.5*l.radius, +(k.outerArcLength+k.innerArcLength)/2):l.radius;"perpendicular"===v&&k.series.chart.renderer.fontMetrics(m.style.fontSize).h>k.outerArcLength&&(m.style.width=1);m.style.width=Math.max(m.style.width-2*(m.padding||0),1);G=G*N%180;"parallel"===v&&(G-=90);90G&&(G+=180);m.rotation=G}m.textPath&&(0===k.shapeExisting.innerR&&m.textPath.enabled?(m.rotation=0,m.textPath.enabled=!1,m.style.width=Math.max(2*k.shapeExisting.r-2*(m.padding||0),1)):k.dlOptions&&k.dlOptions.textPath&&!k.dlOptions.textPath.enabled&& +"circular"===v&&(m.textPath.enabled=!0),m.textPath.enabled&&(m.rotation=0,m.style.width=Math.max((k.outerArcLength+k.innerArcLength)/2-2*(m.padding||0),1)));0===m.rotation&&(m.rotation=.001);k.dlOptions=m;if(!B&&z){B=!0;var A=F}k.draw({animatableAttribs:x,attribs:M(q,!r.styledMode&&a.pointAttribs(k,k.selected&&"select")),onComplete:A,group:d,renderer:D,shapeType:"arc",shapeArgs:t})});q&&B?(a.hasRendered=!1,a.options.dataLabels.defer=!0,x.prototype.drawDataLabels.call(a),a.hasRendered=!0,C&&F()):x.prototype.drawDataLabels.call(a)}; +c.prototype.layoutAlgorithm=function(a,b,c){var d=a.start,e=a.end-d,g=a.val,f=a.x,k=a.y,h=c&&I(c.levelSize)&&E(c.levelSize.value)?c.levelSize.value:0,l=a.r,p=l+h,n=c&&E(c.slicedOffset)?c.slicedOffset:0;return(b||[]).reduce(function(a,b){var c=1/g*b.val*e,m=d+c/2,t=f+Math.cos(m)*n;m=k+Math.sin(m)*n;b={x:b.sliced?t:f,y:b.sliced?m:k,innerR:l,r:p,radius:h,start:d,end:d+c};a.push(b);d=b.end;return a},[])};c.prototype.setShapeArgs=function(a,b,c){var d=[],e=c[a.level+1];a=a.children.filter(function(a){return a.visible}); +d=this.layoutAlgorithm(b,a,e);a.forEach(function(a,b){b=d[b];var e=b.start+(b.end-b.start)/2,f=b.innerR+(b.r-b.innerR)/2,g=b.end-b.start;f=0===b.innerR&&6.28a.val?a.childrenTotal:a.val:a.childrenTotal;this.points[a.i]&&(this.points[a.i].innerArcLength=g*b.innerR,this.points[a.i].outerArcLength=g*b.r);a.shapeArgs=J(b,{plotX:f.x,plotY:f.y+4*Math.abs(Math.cos(e))});a.values=J(b,{val:k});a.children.length&&this.setShapeArgs(a, +a.values,c)},this)};c.prototype.translate=function(){var a=this,c=a.options,d=a.center=a.getCenter(),e=a.startAndEndRadians=b(c.startAngle,c.endAngle),h=d[3]/2,p=d[2]/2-h,f=D(a),m=a.nodeMap,n=m&&m[f],q={};a.shapeRoot=n&&n.shapeArgs;x.prototype.translate.call(a);var r=a.tree=a.getTree();m=a.nodeMap;n=m[f];var u=F(n.parent)?n.parent:"";u=m[u];var A=g.getLevelFromAndTo(n);var B=A.from,E=A.to;A=w({from:B,levels:a.options.levels,to:E,defaults:{colorByPoint:c.colorByPoint,dataLabels:c.dataLabels,levelIsConstant:c.levelIsConstant, +levelSize:c.levelSize,slicedOffset:c.slicedOffset}});A=g.calculateLevelSizes(A,{diffRadius:p,from:B,to:E});C(r,{before:l,idRoot:f,levelIsConstant:c.levelIsConstant,mapOptionsToLevel:A,mapIdToNode:m,points:a.points,series:a});c=m[""].shapeArgs={end:e.end,r:h,start:e.start,val:n.val,x:d[0],y:d[1]};this.setShapeArgs(u,c,A);a.mapOptionsToLevel=A;a.data.forEach(function(b){q[b.id]&&L(31,!1,a.chart);q[b.id]=!0});q={}};c.defaultOptions=J(u.defaultOptions,{center:["50%","50%"],colorByPoint:!1,opacity:1,dataLabels:{allowOverlap:!0, +defer:!0,rotationMode:"auto",style:{textOverflow:"ellipsis"}},rootId:void 0,levelIsConstant:!0,levelSize:{value:1,unit:"weight"},slicedOffset:10});return c}(u);M(p.prototype,{drawDataLabels:a,getCenter:c,onPointSupported:!0,pointAttribs:e.prototype.pointAttribs,pointClass:n,utils:g});h.registerSeriesType("sunburst",p);"";return p});x(a,"masters/modules/sunburst.src.js",[],function(){})}); +//# sourceMappingURL=sunburst.js.map \ No newline at end of file diff --git a/docs/reference/libs/highcharts-10.2.0/modules/tilemap.js b/docs/reference/libs/highcharts-10.2.0/modules/tilemap.js new file mode 100644 index 0000000..1f30e18 --- /dev/null +++ b/docs/reference/libs/highcharts-10.2.0/modules/tilemap.js @@ -0,0 +1,26 @@ +/* + Highmaps JS v10.2.0 (2022-07-05) + + Tilemap module + + (c) 2010-2021 Highsoft AS + + License: www.highcharts.com/license +*/ +(function(a){"object"===typeof module&&module.exports?(a["default"]=a,module.exports=a):"function"===typeof define&&define.amd?define("highcharts/modules/tilemap",["highcharts","highcharts/modules/map"],function(k){a(k);a.Highcharts=k;return a}):a("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(a){function k(a,d,h,g){a.hasOwnProperty(d)||(a[d]=g.apply(null,h),"function"===typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:d,module:a[d]}})))} +a=a?a._modules:{};k(a,"Series/Tilemap/TilemapPoint.js",[a["Core/Axis/Color/ColorAxisComposition.js"],a["Core/Series/SeriesRegistry.js"],a["Core/Utilities.js"]],function(a,d,h){var g=this&&this.__extends||function(){var a=function(e,d){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(b,c){b.__proto__=c}||function(b,c){for(var a in c)c.hasOwnProperty(a)&&(b[a]=c[a])};return a(e,d)};return function(e,d){function b(){this.constructor=e}a(e,d);e.prototype=null===d?Object.create(d):(b.prototype= +d.prototype,new b)}}(),f=d.series.prototype.pointClass;h=h.extend;d=function(a){function e(){var e=null!==a&&a.apply(this,arguments)||this;e.options=void 0;e.radius=void 0;e.series=void 0;e.tileEdges=void 0;return e}g(e,a);e.prototype.haloPath=function(){return this.series.tileShape.haloPath.apply(this,arguments)};return e}(d.seriesTypes.heatmap.prototype.pointClass);h(d.prototype,{setState:f.prototype.setState,setVisible:a.pointSetVisible});return d});k(a,"Series/Tilemap/TilemapShapes.js",[a["Core/Globals.js"], +a["Core/Series/SeriesRegistry.js"],a["Core/Utilities.js"]],function(a,d,h){function g(b,c,a){b=b.options;return{xPad:(b.colsize||1)/-c,yPad:(b.rowsize||1)/-a}}d=d.seriesTypes;var f=d.heatmap,t=d.scatter,e=h.clamp,k=h.pick;return{hexagon:{alignDataLabel:t.prototype.alignDataLabel,getSeriesPadding:function(b){return g(b,3,2)},haloPath:function(b){if(!b)return[];var c=this.tileEdges;return[["M",c.x2-b,c.y1+b],["L",c.x3+b,c.y1+b],["L",c.x4+1.5*b,c.y2],["L",c.x3+b,c.y3-b],["L",c.x2-b,c.y3-b],["L",c.x1- +1.5*b,c.y2],["Z"]]},translate:function(){var b=this.options,c=this.xAxis,a=this.yAxis,d=b.pointPadding||0,r=(b.colsize||1)/3,w=(b.rowsize||1)/2,n;this.generatePoints();this.points.forEach(function(b){var p=e(Math.floor(c.len-c.translate(b.x-2*r,0,1,0,1)),-c.len,2*c.len),h=e(Math.floor(c.len-c.translate(b.x-r,0,1,0,1)),-c.len,2*c.len),v=e(Math.floor(c.len-c.translate(b.x+r,0,1,0,1)),-c.len,2*c.len),u=e(Math.floor(c.len-c.translate(b.x+2*r,0,1,0,1)),-c.len,2*c.len),x=e(Math.floor(a.translate(b.y-w, +0,1,0,1)),-a.len,2*a.len),q=e(Math.floor(a.translate(b.y,0,1,0,1)),-a.len,2*a.len),l=e(Math.floor(a.translate(b.y+w,0,1,0,1)),-a.len,2*a.len),m=k(b.pointPadding,d),f=m*Math.abs(h-p)/Math.abs(l-q);f=c.reversed?-f:f;var g=c.reversed?-m:m;m=a.reversed?-m:m;b.x%2&&(n=n||Math.round(Math.abs(l-x)/2)*(a.reversed?-1:1),x+=n,q+=n,l+=n);b.plotX=b.clientX=(h+v)/2;b.plotY=q;p+=f+g;h+=g;v-=g;u-=f+g;x-=m;l+=m;b.tileEdges={x1:p,x2:h,x3:v,x4:u,y1:x,y2:q,y3:l};b.shapeType="path";b.shapeArgs={d:[["M",h,x],["L",v,x], +["L",u,q],["L",v,l],["L",h,l],["L",p,q],["Z"]]}});this.translateColors()}},diamond:{alignDataLabel:t.prototype.alignDataLabel,getSeriesPadding:function(b){return g(b,2,2)},haloPath:function(b){if(!b)return[];var c=this.tileEdges;return[["M",c.x2,c.y1+b],["L",c.x3+b,c.y2],["L",c.x2,c.y3-b],["L",c.x1-b,c.y2],["Z"]]},translate:function(){var b=this.options,c=this.xAxis,a=this.yAxis,d=b.pointPadding||0,h=b.colsize||1,w=(b.rowsize||1)/2,n;this.generatePoints();this.points.forEach(function(b){var f=e(Math.round(c.len- +c.translate(b.x-h,0,1,0,0)),-c.len,2*c.len),r=e(Math.round(c.len-c.translate(b.x,0,1,0,0)),-c.len,2*c.len),p=e(Math.round(c.len-c.translate(b.x+h,0,1,0,0)),-c.len,2*c.len),u=e(Math.round(a.translate(b.y-w,0,1,0,0)),-a.len,2*a.len),g=e(Math.round(a.translate(b.y,0,1,0,0)),-a.len,2*a.len),q=e(Math.round(a.translate(b.y+w,0,1,0,0)),-a.len,2*a.len),l=k(b.pointPadding,d),m=l*Math.abs(r-f)/Math.abs(q-g);m=c.reversed?-m:m;l=a.reversed?-l:l;b.x%2&&(n=Math.abs(q-u)/2*(a.reversed?-1:1),u+=n,g+=n,q+=n);b.plotX= +b.clientX=r;b.plotY=g;f+=m;p-=m;u-=l;q+=l;b.tileEdges={x1:f,x2:r,x3:p,y1:u,y2:g,y3:q};b.shapeType="path";b.shapeArgs={d:[["M",r,u],["L",p,g],["L",r,q],["L",f,g],["Z"]]}});this.translateColors()}},circle:{alignDataLabel:t.prototype.alignDataLabel,getSeriesPadding:function(b){return g(b,2,2)},haloPath:function(b){return t.prototype.pointClass.prototype.haloPath.call(this,b+(b&&this.radius))},translate:function(){var b=this.options,a=this.xAxis,d=this.yAxis,h=b.pointPadding||0,r=(b.rowsize||1)/2,w=b.colsize|| +1,n,g,f,t,k=!1;this.generatePoints();this.points.forEach(function(b){var c=e(Math.round(a.len-a.translate(b.x,0,1,0,0)),-a.len,2*a.len),p=e(Math.round(d.translate(b.y,0,1,0,0)),-d.len,2*d.len),l=h,m=!1;"undefined"!==typeof b.pointPadding&&(l=b.pointPadding,k=m=!0);if(!t||k)n=Math.abs(e(Math.floor(a.len-a.translate(b.x+w,0,1,0,0)),-a.len,2*a.len)-c),g=Math.abs(e(Math.floor(d.translate(b.y+r,0,1,0,0)),-d.len,2*d.len)-p),f=Math.floor(Math.sqrt(n*n+g*g)/2),t=Math.min(n,f,g)-l,k&&!m&&(k=!1);b.x%2&&(p+= +g*(d.reversed?-1:1));b.plotX=b.clientX=c;b.plotY=p;b.radius=t;b.shapeType="circle";b.shapeArgs={x:c,y:p,r:t}});this.translateColors()}},square:{alignDataLabel:f.prototype.alignDataLabel,translate:f.prototype.translate,getSeriesPadding:a.noop,haloPath:f.prototype.pointClass.prototype.haloPath}}});k(a,"Series/Tilemap/TilemapComposition.js",[a["Core/Axis/Axis.js"],a["Core/Utilities.js"]],function(a,d){d=d.addEvent;d(a,"afterSetAxisTranslation",function(){if(!this.recomputingForTilemap&&"colorAxis"!== +this.coll){var a=this,d=a.series.map(function(d){return d.getSeriesPixelPadding&&d.getSeriesPixelPadding(a)}).reduce(function(a,d){return(a&&a.padding)>(d&&d.padding)?a:d},void 0)||{padding:0,axisLengthFactor:1},f=Math.round(d.padding*d.axisLengthFactor);d.padding&&(a.len-=f,a.recomputingForTilemap=!0,a.setAxisTranslation(),delete a.recomputingForTilemap,a.minPixelPadding+=d.padding,a.len+=f)}})});k(a,"Series/Tilemap/TilemapSeries.js",[a["Core/Globals.js"],a["Core/Series/SeriesRegistry.js"],a["Series/Tilemap/TilemapPoint.js"], +a["Series/Tilemap/TilemapShapes.js"],a["Core/Utilities.js"]],function(a,d,h,g,f){var k=this&&this.__extends||function(){var a=function(b,c){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,b){a.__proto__=b}||function(a,b){for(var c in b)b.hasOwnProperty(c)&&(a[c]=b[c])};return a(b,c)};return function(b,c){function d(){this.constructor=b}a(b,c);b.prototype=null===c?Object.create(c):(d.prototype=c.prototype,new d)}}();a=a.noop;var e=d.seriesTypes,y=e.column,b=e.heatmap;e=e.scatter; +var c=f.extend,v=f.merge;f=function(a){function c(){var b=null!==a&&a.apply(this,arguments)||this;b.data=void 0;b.options=void 0;b.points=void 0;b.tileShape=void 0;return b}k(c,a);c.prototype.alignDataLabel=function(){return this.tileShape.alignDataLabel.apply(this,Array.prototype.slice.call(arguments))};c.prototype.drawPoints=function(){var a=this;y.prototype.drawPoints.call(this);this.points.forEach(function(b){b.graphic&&b.graphic[a.chart.styledMode?"css":"animate"](a.colorAttribs(b))})};c.prototype.getSeriesPixelPadding= +function(a){var b=a.isXAxis,c=this.tileShape.getSeriesPadding(this);if(!c)return{padding:0,axisLengthFactor:1};var d=Math.round(a.translate(b?2*c.xPad:c.yPad,0,1,0,1));a=Math.round(a.translate(b?c.xPad:0,0,1,0,1));return{padding:Math.abs(d-a)||0,axisLengthFactor:b?2:1.1}};c.prototype.setOptions=function(){var b=a.prototype.setOptions.apply(this,Array.prototype.slice.call(arguments));this.tileShape=g[b.tileShape];return b};c.prototype.translate=function(){return this.tileShape.translate.apply(this, +Array.prototype.slice.call(arguments))};c.defaultOptions=v(b.defaultOptions,{marker:null,states:{hover:{halo:{enabled:!0,size:2,opacity:.5,attributes:{zIndex:3}}}},pointPadding:2,tileShape:"hexagon"});return c}(b);c(f.prototype,{getSymbol:a,markerAttribs:e.prototype.markerAttribs,pointAttribs:y.prototype.pointAttribs,pointClass:h});d.registerSeriesType("tilemap",f);"";"";return f});k(a,"masters/modules/tilemap.src.js",[],function(){})}); +//# sourceMappingURL=tilemap.js.map \ No newline at end of file diff --git a/docs/reference/libs/highcharts-10.2.0/modules/timeline.js b/docs/reference/libs/highcharts-10.2.0/modules/timeline.js new file mode 100644 index 0000000..3003914 --- /dev/null +++ b/docs/reference/libs/highcharts-10.2.0/modules/timeline.js @@ -0,0 +1,28 @@ +/* + Highcharts JS v10.2.0 (2022-07-05) + + Timeline series + + (c) 2010-2021 Highsoft AS + Author: Daniel Studencki + + License: www.highcharts.com/license +*/ +(function(a){"object"===typeof module&&module.exports?(a["default"]=a,module.exports=a):"function"===typeof define&&define.amd?define("highcharts/modules/timeline",["highcharts"],function(l){a(l);a.Highcharts=l;return a}):a("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(a){function l(a,f,p,l){a.hasOwnProperty(f)||(a[f]=l.apply(null,p),"function"===typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:f,module:a[f]}})))}a=a?a._modules:{};l(a, +"Series/Timeline/TimelinePoint.js",[a["Core/Series/Point.js"],a["Core/Series/SeriesRegistry.js"],a["Core/Utilities.js"]],function(a,f,p){var l=this&&this.__extends||function(){var a=function(c,h){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(h,a){h.__proto__=a}||function(h,a){for(var n in a)a.hasOwnProperty(n)&&(h[n]=a[n])};return a(c,h)};return function(c,h){function t(){this.constructor=c}a(c,h);c.prototype=null===h?Object.create(h):(t.prototype=h.prototype,new t)}}(),k=f.seriesTypes.pie.prototype.pointClass, +z=p.defined,r=p.isNumber,v=p.merge,w=p.objectEach,q=p.pick;return function(f){function c(){var a=null!==f&&f.apply(this,arguments)||this;a.options=void 0;a.series=void 0;return a}l(c,f);c.prototype.alignConnector=function(){var a=this.series,c=this.connector,g=this.dataLabel,n=this.dataLabel.options=v(a.options.dataLabels,this.options.dataLabels),e=this.series.chart,b=c.getBBox(),d=b.x+g.translateX;b=b.y+g.translateY;e.inverted?b-=g.options.connectorWidth/2:d+=g.options.connectorWidth/2;e=e.isInsidePlot(d, +b);c[e?"animate":"attr"]({d:this.getConnectorPath()});a.chart.styledMode||c.attr({stroke:n.connectorColor||this.color,"stroke-width":n.connectorWidth,opacity:g[z(g.newOpacity)?"newOpacity":"opacity"]})};c.prototype.drawConnector=function(){var a=this.series;this.connector||(this.connector=a.chart.renderer.path(this.getConnectorPath()).attr({zIndex:-1}).add(this.dataLabel));this.series.chart.isInsidePlot(this.dataLabel.x,this.dataLabel.y)&&this.alignConnector()};c.prototype.getConnectorPath=function(){var a= +this.series.chart,c=this.series.xAxis.len,g=a.inverted,n=g?"x2":"y2",e=this.dataLabel,b=e.targetPosition,d={x1:this.plotX,y1:this.plotY,x2:this.plotX,y2:r(b.y)?b.y:e.y},m=(e.alignAttr||e)[n[0]]g*f?"ellipsis":"none"}):m={width:(k.width||u.width||g*f-2*l)+"px"};d.css(m);this.chart.styledMode||d.shadow(u.shadow)}a.prototype.alignDataLabel.apply(this, +arguments)};e.prototype.bindAxes=function(){var b=this;a.prototype.bindAxes.call(b);["xAxis","yAxis"].forEach(function(a){"xAxis"!==a||b[a].userOptions.type||(b[a].categories=b[a].hasNames=!0)})};e.prototype.distributeDL=function(){var a=this,d=a.options.dataLabels,c=1;if(d){var e=d.distance||0;a.points.forEach(function(b){var m;b.options.dataLabels=t((m={},m[a.chart.inverted?"x":"y"]=d.alternate&&c%2?-e:e,m),b.userDLOptions);c++})}};e.prototype.generatePoints=function(){var b=this;a.prototype.generatePoints.apply(b); +b.points.forEach(function(a,c){a.applyOptions({x:b.xData[c]},b.xData[c])})};e.prototype.getVisibilityMap=function(){return(this.data.length?this.data:this.userOptions.data).map(function(a){return a&&!1!==a.visible&&!a.isNull?a:!1})};e.prototype.getXExtremes=function(a){var b=this;a=a.filter(function(a,d){return b.points[d].isValid()&&b.points[d].visible});return{min:c(a),max:y(a)}};e.prototype.init=function(){var b=this;a.prototype.init.apply(b,arguments);b.eventsToUnbind.push(q(b,"afterTranslate", +function(){var a,c=Number.MAX_VALUE;b.points.forEach(function(b){b.isInside=b.isInside&&b.visible;b.visible&&!b.isNull&&(h(a)&&(c=Math.min(c,Math.abs(b.plotX-a))),a=b.plotX)});b.closestPointRangePx=c}));b.eventsToUnbind.push(q(b,"drawDataLabels",function(){b.distributeDL()}));b.eventsToUnbind.push(q(b,"afterDrawDataLabels",function(){var a;b.points.forEach(function(b){if(a=b.dataLabel)return a.animate=function(a){this.targetPosition&&(this.targetPosition=a);return l.prototype.animate.apply(this,arguments)}, +a.targetPosition||(a.targetPosition={}),b.drawConnector()})}));b.eventsToUnbind.push(q(b.chart,"afterHideOverlappingLabel",function(){b.points.forEach(function(a){a.connector&&a.dataLabel&&a.dataLabel.oldOpacity!==a.dataLabel.newOpacity&&a.alignConnector()})}))};e.prototype.markerAttribs=function(b,c){var d=this.options.marker,e=b.marker||{},f=e.symbol||d.symbol,k=g(e.width,d.width,this.closestPointRangePx),l=g(e.height,d.height),h=0;if(this.xAxis.dateTime)return a.prototype.markerAttribs.call(this, +b,c);c&&(d=d.states[c]||{},c=e.states&&e.states[c]||{},h=g(c.radius,d.radius,h+(d.radiusPlus||0)));b.hasImage=f&&0===f.indexOf("url");return{x:Math.floor(b.plotX)-k/2-h/2,y:b.plotY-l/2-h/2,width:k+h,height:l+h}};e.prototype.processData=function(){var b=0,c;this.visibilityMap=this.getVisibilityMap();this.visibilityMap.forEach(function(a){a&&b++});this.visiblePointsCount=b;for(c=0;c\u25cf {point.key}
',pointFormat:"{point.description}"},states:{hover:{lineWidthPlus:0}},dataLabels:{enabled:!0,allowOverlap:!0,alternate:!0,backgroundColor:"#ffffff",borderWidth:1,borderColor:"#999999",borderRadius:3,color:"#333333",connectorWidth:1,distance:100,formatter:function(){var a=this.series.chart.styledMode? +"\u25cf ":'\u25cf ';return a+=''+(this.key||"")+"
"+(this.point.label||"")},style:{textOutline:"none",fontWeight:"normal",fontSize:"12px"},shadow:!1,verticalAlign:"middle"},marker:{enabledThreshold:0,symbol:"square",radius:6,lineWidth:2,height:15},showInLegend:!1,colorKey:"x"});return e}(w);r(k.prototype,{drawLegendSymbol:a.drawRectangle,drawTracker:v.prototype.drawTracker,pointClass:x,trackerGroups:["markerGroup", +"dataLabelsGroup"]});f.registerSeriesType("timeline",k);"";"";return k});l(a,"masters/modules/timeline.src.js",[],function(){})}); +//# sourceMappingURL=timeline.js.map \ No newline at end of file diff --git a/docs/reference/libs/highcharts-10.2.0/modules/treegrid.js b/docs/reference/libs/highcharts-10.2.0/modules/treegrid.js new file mode 100644 index 0000000..ae7f5bf --- /dev/null +++ b/docs/reference/libs/highcharts-10.2.0/modules/treegrid.js @@ -0,0 +1,66 @@ +/* + Highcharts Gantt JS v10.2.0 (2022-07-05) + + Tree Grid + + (c) 2016-2021 Jon Arild Nygard + + License: www.highcharts.com/license +*/ +(function(f){"object"===typeof module&&module.exports?(f["default"]=f,module.exports=f):"function"===typeof define&&define.amd?define("highcharts/modules/treegrid",["highcharts"],function(H){f(H);f.Highcharts=H;return f}):f("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(f){function H(f,q,B,t){f.hasOwnProperty(q)||(f[q]=t.apply(null,B),"function"===typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:q,module:f[q]}})))}f=f?f._modules:{};H(f, +"Core/Axis/BrokenAxis.js",[f["Extensions/Stacking.js"],f["Core/Utilities.js"]],function(f,q){var B=q.addEvent,t=q.find,v=q.fireEvent,y=q.isArray,n=q.isNumber,u=q.pick,F;(function(a){function k(){"undefined"!==typeof this.brokenAxis&&this.brokenAxis.setBreaks(this.options.breaks,!1)}function z(){this.brokenAxis&&this.brokenAxis.hasBreaks&&(this.options.ordinal=!1)}function q(){var a=this.brokenAxis;if(a&&a.hasBreaks){for(var A=this.tickPositions,b=this.tickPositions.info,e=[],c=0;cc.to||J>c.from&&lc.from&&lc.from&&l>c.to&&le&&b>=this.basePointRange&&(e=b),w=void 0;c--;)w&&!1!==w.visible||(w=a[c+1]),b=a[c],!1!==w.visible&&!1!==b.visible&&(w.x-b.x>e&&(w=(b.x+w.x)/2,a.splice(c+1,0,{isNull:!0,x:w}),d.stacking&&this.options.stacking&&(w=d.stacking.stacks[this.stackKey][w]=new f(d,d.options.stackLabels,!1,w,this.stack),w.total=0)), +w=b);return this.getGraphPath(a)}var b=[];a.compose=function(a,A){-1===b.indexOf(a)&&(b.push(a),a.keepProps.push("brokenAxis"),B(a,"init",F),B(a,"afterInit",k),B(a,"afterSetTickPositions",q),B(a,"afterSetOptions",z));if(-1===b.indexOf(A)){b.push(A);var E=A.prototype;E.drawBreaks=m;E.gappedPath=g;B(A,"afterGeneratePoints",p);B(A,"afterRender",d)}return a};var C=function(){function a(a){this.hasBreaks=!1;this.axis=a}a.isInBreak=function(a,b){var e=a.repeat||Infinity,c=a.from,d=a.to-a.from;b=b>=c?(b- +c)%e:e-(c-b)%e;return a.inclusive?b<=d:b=b)break;else c.to=b)break;else if(a.isInBreak(g,b)){e-=b-g.from;break}}return e};a.prototype.findBreakAt= +function(a,b){return t(b,function(b){return b.fromp;)x-=G;for(;xa?this.hiddenLabels.push(e.hide()):e.show());(e=this.ticks[b].label)&&(b-l>a?this.hiddenLabels.push(e.hide()):e.show());(c=this.ticks[b].mark)&&b-ll&&!a.startOnTick&&(c[0]=l),e>g&&e-mg?a:g;n=n+1+b.descendants;v=Math.max(b.height+1,v);return b});a&&(a.start=t(a.start,m),a.end=t(a.end,g));q(u,{children:d,descendants:n,height:v});"function"===typeof p&&p(u,z);return u};return{getListOfParents:v,getNode:y,getTree:function(f, +q){var n=f.map(function(a){return a.id});f=v(f,n);return y("",null,1,null,f,q)}}});H(f,"Core/Axis/TreeGridTick.js",[f["Core/Utilities.js"]],function(f){var q=f.addEvent,B=f.isObject,t=f.isNumber,v=f.pick,y=f.wrap,n;(function(f){function n(){this.treeGrid||(this.treeGrid=new K(this))}function a(a,d){a=a.treeGrid;var m=!a.labelIcon,g=d.renderer,b=d.xy,f=d.options,k=f.width||0,p=f.height||0,n=b.x-k/2-(f.padding||0);b=b.y-p/2;var e=d.collapsed?90:180,c=d.show&&t(b),w=a.labelIcon;w||(a.labelIcon=w=g.path(g.symbols[f.type](f.x|| +0,f.y||0,k,p)).addClass("highcharts-label-icon").add(d.group));w[c?"show":"hide"]();g.styledMode||w.attr({cursor:"pointer",fill:v(d.color,"#666666"),"stroke-width":1,stroke:f.lineColor,strokeWidth:f.lineWidth||0});w[m?"attr":"animate"]({translateX:n,translateY:b,rotation:e})}function k(a,d,f,g,b,k,n,q,z){var e=v(this.options&&this.options.labels,k);k=this.pos;var c=this.axis,m="treegrid"===c.options.type;a=a.apply(this,[d,f,g,b,e,n,q,z]);m&&(d=e&&B(e.symbol,!0)?e.symbol:{},e=e&&t(e.indentation)?e.indentation: +0,k=(k=(c=c.treeGrid.mapOfPosToGridNode)&&c[k])&&k.depth||1,a.x+=(d.width||0)+2*(d.padding||0)+(k-1)*e);return a}function z(f){var d=this,m=d.pos,g=d.axis,b=d.label,k=g.treeGrid.mapOfPosToGridNode,p=g.options,n=v(d.options&&d.options.labels,p&&p.labels),z=n&&B(n.symbol,!0)?n.symbol:{},e=(k=k&&k[m])&&k.depth;p="treegrid"===p.type;var c=-1=b&&(a-=.5);return{from:a,to:c,showPoints:!1}}function m(a,b,c){var d=[],e=[],f={},l="boolean"===typeof b?b:!1,g={},k=-1;a=B.getTree(a,{after:function(a){a=g[a.pos];var b=0,c=0;a.children.forEach(function(a){c+=(a.descendants||0)+1;b=Math.max((a.height||0)+1,b)});a.descendants=c;a.height=b;a.collapsed&&e.push(a)},before:function(a){var b=z(a.data,!0)?a.data:{},c=M(b.name)? +b.name:"",e=f[a.parent];e=z(e,!0)?g[e.pos]:null;var h=function(a){return a.name===c},r;l&&z(e,!0)&&(r=v(e.children,h))?(h=r.pos,r.nodes.push(a)):h=k++;g[h]||(g[h]=r={depth:e?e.depth+1:0,name:c,id:b.id,nodes:[a],children:[],pos:h},-1!==h&&d.push(c),z(e,!0)&&e.children.push(r));M(a.id)&&(f[a.id]=a);r&&!0===b.collapsed&&(r.collapsed=!0);a.pos=h}});g=function(a,b){var c=function(a,d,e){var f=d+(-1===d?0:b-1),g=(f-d)/2,l=d+g;a.nodes.forEach(function(a){var b=a.data;z(b,!0)&&(b.y=d+(b.seriesIndex||0),delete b.seriesIndex); +a.pos=l});e[l]=a;a.pos=l;a.tickmarkOffset=g+.5;a.collapseStart=f+.5;a.children.forEach(function(a){c(a,f+1,e);f=(a.collapseEnd||0)-.5});a.collapseEnd=f+.5;return e};return c(a["-1"],-1,{})}(g,c);return{categories:d,mapOfIdToNode:f,mapOfPosToGridNode:g,collapsedNodes:e,tree:a}}function y(a){a.target.axes.filter(function(a){return"treegrid"===a.options.type}).forEach(function(b){var c=b.options||{},d=c.labels,e=c.uniqueNames;c=c.max;var f=0;if(!b.treeGrid.mapOfPosToGridNode||b.series.some(function(a){return!a.hasRendered|| +a.isDirtyData||a.isDirty})){var g=b.series.reduce(function(a,b){b.visible&&((b.options.data||[]).forEach(function(c){b.options.keys&&b.options.keys.length&&(c=b.pointClass.prototype.optionsToObject.call({series:b},c),b.pointClass.setGanttPointAliases(c));z(c,!0)&&(c.seriesIndex=f,a.push(c))}),!0===e&&f++);return a},[]);if(c&&g.length=b&&e<=c)||a.brokenAxis&&a.brokenAxis.isInAnyBreak(e)|| +d.push(e);return d},[])};a.prototype.isCollapsed=function(a){var c=this.axis,d=c.options.breaks||[],e=b(a,c.max);return d.some(function(a){return a.from===e.from&&a.to===e.to})};a.prototype.toggleCollapse=function(a){return this.isCollapsed(a)?this.expand(a):this.collapse(a)};return a}();g.Additions=w})(m||(m={}));return m});H(f,"masters/modules/treegrid.src.js",[f["Core/Globals.js"],f["Core/Axis/TreeGridAxis.js"]],function(f,q){q.compose(f.Axis,f.Chart,f.Series,f.Tick)})}); +//# sourceMappingURL=treegrid.js.map \ No newline at end of file diff --git a/docs/reference/libs/highcharts-10.2.0/modules/treemap.js b/docs/reference/libs/highcharts-10.2.0/modules/treemap.js new file mode 100644 index 0000000..2b5ae36 --- /dev/null +++ b/docs/reference/libs/highcharts-10.2.0/modules/treemap.js @@ -0,0 +1,62 @@ +/* + Highcharts JS v10.2.0 (2022-07-05) + + (c) 2014-2021 Highsoft AS + Authors: Jon Arild Nygard / Oystein Moseng + + License: www.highcharts.com/license +*/ +(function(a){"object"===typeof module&&module.exports?(a["default"]=a,module.exports=a):"function"===typeof define&&define.amd?define("highcharts/modules/treemap",["highcharts"],function(u){a(u);a.Highcharts=u;return a}):a("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(a){function u(a,c,f,g){a.hasOwnProperty(c)||(a[c]=g.apply(null,f),"function"===typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:c,module:a[c]}})))}a=a?a._modules:{};u(a, +"Series/ColorMapComposition.js",[a["Core/Series/SeriesRegistry.js"],a["Core/Utilities.js"]],function(a,c){var f=a.seriesTypes.column.prototype,g=c.addEvent,e=c.defined,m;(function(a){function c(d){this.moveToTopOnHover&&this.graphic&&this.graphic.attr({zIndex:d&&"hover"===d.state?1:0})}var m=[];a.pointMembers={dataLabelOnNull:!0,moveToTopOnHover:!0,isValid:function(){return null!==this.value&&Infinity!==this.value&&-Infinity!==this.value&&(void 0===this.value||!isNaN(this.value))}};a.seriesMembers= +{colorKey:"value",axisTypes:["xAxis","yAxis","colorAxis"],parallelArrays:["x","y","value"],pointArrayMap:["value"],trackerGroups:["group","markerGroup","dataLabelsGroup"],colorAttribs:function(d){var b={};!e(d.color)||d.state&&"normal"!==d.state||(b[this.colorProp||"fill"]=d.color);return b},pointAttribs:f.pointAttribs};a.compose=function(d){var b=d.prototype.pointClass;-1===m.indexOf(b)&&(m.push(b),g(b,"afterSetState",c));return d}})(m||(m={}));return m});u(a,"Series/Treemap/TreemapAlgorithmGroup.js", +[],function(){return function(){function a(a,f,g,e){this.height=a;this.width=f;this.plot=e;this.startDirection=this.direction=g;this.lH=this.nH=this.lW=this.nW=this.total=0;this.elArr=[];this.lP={total:0,lH:0,nH:0,lW:0,nW:0,nR:0,lR:0,aspectRatio:function(a,g){return Math.max(a/g,g/a)}}}a.prototype.addElement=function(a){this.lP.total=this.elArr[this.elArr.length-1];this.total+=a;0===this.direction?(this.lW=this.nW,this.lP.lH=this.lP.total/this.lW,this.lP.lR=this.lP.aspectRatio(this.lW,this.lP.lH), +this.nW=this.total/this.height,this.lP.nH=this.lP.total/this.nW,this.lP.nR=this.lP.aspectRatio(this.nW,this.lP.nH)):(this.lH=this.nH,this.lP.lW=this.lP.total/this.lH,this.lP.lR=this.lP.aspectRatio(this.lP.lW,this.lH),this.nH=this.total/this.width,this.lP.nW=this.lP.total/this.nH,this.lP.nR=this.lP.aspectRatio(this.lP.nW,this.nH));this.elArr.push(a)};a.prototype.reset=function(){this.lW=this.nW=0;this.elArr=[];this.total=0};return a}()});u(a,"Series/DrawPointUtilities.js",[a["Core/Utilities.js"]], +function(a){function c(a){switch(a.series&&a.series.type){case "treemap":return f(a.plotY)&&null!==a.y;default:return!a.isNull}}var f=a.isNumber;return{draw:function(a,e){var f=e.animatableAttribs,g=e.onComplete,k=e.css,n=e.renderer,d=a.series&&a.series.chart.hasRendered?void 0:a.series&&a.series.options.animation,b=a.graphic;e.attribs=e.attribs||{};e.attribs["class"]=a.getClassName();if(c(a))b||(a.graphic=b="text"===e.shapeType?n.text():n[e.shapeType](e.shapeArgs||{}),b.add(e.group)),k&&b.css(k), +b.attr(e.attribs).animate(f,e.isNew?!1:d,g);else if(b){var y=function(){a.graphic=b=b&&b.destroy();"function"===typeof g&&g()};Object.keys(f).length?b.animate(f,void 0,function(){return y()}):y()}},shouldDraw:c}});u(a,"Series/Treemap/TreemapPoint.js",[a["Series/DrawPointUtilities.js"],a["Core/Series/SeriesRegistry.js"],a["Core/Utilities.js"]],function(a,c,f){var g=this&&this.__extends||function(){var a=function(d,y){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,d){a.__proto__= +d}||function(a,d){for(var l in d)d.hasOwnProperty(l)&&(a[l]=d[l])};return a(d,y)};return function(d,y){function b(){this.constructor=d}a(d,y);d.prototype=null===y?Object.create(y):(b.prototype=y.prototype,new b)}}(),e=c.series.prototype.pointClass,m=c.seriesTypes;c=m.pie.prototype.pointClass;var v=f.extend,k=f.isNumber,n=f.pick;f=function(d){function b(){var a=null!==d&&d.apply(this,arguments)||this;a.name=void 0;a.node=void 0;a.options=void 0;a.series=void 0;a.value=void 0;return a}g(b,d);b.prototype.draw= +function(d){a.draw(this,d)};b.prototype.getClassName=function(){var a=e.prototype.getClassName.call(this),d=this.series,b=d.options;this.node.level<=d.nodeMap[d.rootNode].level?a+=" highcharts-above-level":this.node.isLeaf||n(b.interactByLeaf,!b.allowTraversingTree)?this.node.isLeaf||(a+=" highcharts-internal-node"):a+=" highcharts-internal-node-interactive";return a};b.prototype.isValid=function(){return!(!this.id&&!k(this.value))};b.prototype.setState=function(a){e.prototype.setState.call(this, +a);this.graphic&&this.graphic.attr({zIndex:"hover"===a?1:0})};b.prototype.shouldDraw=function(){return a.shouldDraw(this)};return b}(m.scatter.prototype.pointClass);v(f.prototype,{setVisible:c.prototype.setVisible});return f});u(a,"Series/Treemap/TreemapUtilities.js",[a["Core/Utilities.js"]],function(a){var c=a.objectEach,f;(function(a){function e(a,f,c){void 0===c&&(c=this);a=f.call(c,a);!1!==a&&e(a,f,c)}a.AXIS_MAX=100;a.isBoolean=function(a){return"boolean"===typeof a};a.eachObject=function(a,f, +e){e=e||this;c(a,function(c,d){f.call(e,c,d,a)})};a.recursive=e})(f||(f={}));return f});u(a,"Series/TreeUtilities.js",[a["Core/Color/Color.js"],a["Core/Utilities.js"]],function(a,c){function f(a,b){var d=b.before,e=b.idRoot,r=b.mapIdToNode[e],l=b.points[a.i],p=l&&l.options||{},w=[],x=0;a.levelDynamic=a.level-(!1!==b.levelIsConstant?0:r.level);a.name=n(l&&l.name,"");a.visible=e===a.id||!0===b.visible;"function"===typeof d&&(a=d(a,b));a.children.forEach(function(d,l){var p=g({},b);g(p,{index:l,siblings:a.children.length, +visible:a.visible});d=f(d,p);w.push(d);d.visible&&(x+=d.val)});d=n(p.value,x);a.visible=0<=d&&(0f.lP.lR&&q.algorithmCalcPoints(a,!1,f,h,t);e===g&&q.algorithmCalcPoints(a,!0,f,h,t);e+=1});return h};b.prototype.alignDataLabel=function(a,b,c){var h=c.style;h&&!D(h.textOverflow)&&b.text&&b.getBBox().width>b.text.textWidth&&b.css({textOverflow:"ellipsis",width:h.width+="px"});l.prototype.alignDataLabel.apply(this, +arguments);a.dataLabel&&a.dataLabel.attr({zIndex:(a.node.zIndex||0)+1})};b.prototype.buildNode=function(a,b,c,d,f){var h=this,q=[],t=h.points[b],e=0,g;(d[a]||[]).forEach(function(b){g=h.buildNode(h.points[b].id,b,c+1,d,a);e=Math.max(g.height+1,e);q.push(g)});b={id:a,i:b,children:q,height:e,level:c,parent:f,visible:!1};h.nodeMap[b.id]=b;t&&(t.node=b);return b};b.prototype.calculateChildrenAreas=function(a,b){var h=this,c=h.options,d=h.mapOptionsToLevel[a.level+1],q=z(h[d&&d.layoutAlgorithm]&&d.layoutAlgorithm, +c.layoutAlgorithm),e=c.alternateStartingDirection,f=[];a=a.children.filter(function(a){return!a.ignore});d&&d.layoutStartingDirection&&(b.direction="vertical"===d.layoutStartingDirection?0:1);f=h[q](b,a);a.forEach(function(a,c){c=f[c];a.values=A(c,{val:a.childrenTotal,direction:e?1-b.direction:b.direction});a.pointValues=A(c,{x:c.x/h.axisRatio,y:k.AXIS_MAX-c.y-c.height,width:c.width/h.axisRatio});a.children.length&&h.calculateChildrenAreas(a,a.values)})};b.prototype.createList=function(a){var b=this.chart, +h=[];if(b.breadcrumbs){var c=0;h.push({level:c,levelOptions:b.series[0]});b=a.target.nodeMap[a.newRootId];for(var d=[];b.parent||""===b.parent;)d.push(b),b=a.target.nodeMap[b.parent];d.reverse().forEach(function(a){h.push({level:++c,levelOptions:a})});1>=h.length&&(h.length=0)}return h};b.prototype.drawDataLabels=function(){var a=this,b=a.mapOptionsToLevel,c,d;a.points.filter(function(a){return a.node.visible}).forEach(function(h){d=b[h.node.level];c={style:{}};h.node.isLeaf||(c.enabled=!1);d&&d.dataLabels&& +(c=A(c,d.dataLabels),a._hasPointLabels=!0);h.shapeArgs&&(c.style.width=h.shapeArgs.width,h.dataLabel&&h.dataLabel.css({width:h.shapeArgs.width+"px"}));h.dlOptions=A(c,h.options.dataLabels)});r.prototype.drawDataLabels.call(this)};b.prototype.drawPoints=function(){var a=this,b=a.chart,c=b.renderer,d=b.styledMode,e=a.options,f=d?{}:e.shadow,g=e.borderRadius,k=b.pointCount{point.name}
: {point.value}
"},ignoreHiddenPoint:!0,layoutAlgorithm:"sliceAndDice",layoutStartingDirection:"vertical",alternateStartingDirection:!1, +levelIsConstant:!0,traverseUpButton:{position:{align:"right",x:-10,y:10}},borderColor:"#e6e6e6",borderWidth:1,colorKey:"colorValue",opacity:.15,states:{hover:{borderColor:"#999999",brightness:p?0:.1,halo:!1,opacity:.75,shadow:!1}}});return b}(w);F(n.prototype,{buildKDTree:a,colorAttribs:c.seriesMembers.colorAttribs,colorKey:"colorValue",directTouch:!0,drawLegendSymbol:g.drawRectangle,getExtremesFromAll:!0,getSymbol:a,optionalAxis:"colorAxis",parallelArrays:["x","y","value","colorValue"],pointArrayMap:["value"], +pointClass:v,trackerGroups:["group","dataLabelsGroup"],utils:{recursive:k.recursive}});c.compose(n);e.registerSeriesType("treemap",n);"";return n});u(a,"masters/modules/treemap.src.js",[a["Core/Globals.js"],a["Extensions/Breadcrumbs.js"]],function(a,c){a.Breadcrumbs=c})}); +//# sourceMappingURL=treemap.js.map \ No newline at end of file diff --git a/docs/reference/libs/highcharts-10.2.0/modules/variable-pie.js b/docs/reference/libs/highcharts-10.2.0/modules/variable-pie.js new file mode 100644 index 0000000..681ea40 --- /dev/null +++ b/docs/reference/libs/highcharts-10.2.0/modules/variable-pie.js @@ -0,0 +1,18 @@ +/* + Highcharts JS v10.2.0 (2022-07-05) + + Variable Pie module for Highcharts + + (c) 2010-2021 Grzegorz Blachliski + + License: www.highcharts.com/license +*/ +(function(a){"object"===typeof module&&module.exports?(a["default"]=a,module.exports=a):"function"===typeof define&&define.amd?define("highcharts/modules/variable-pie",["highcharts"],function(e){a(e);a.Highcharts=e;return a}):a("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(a){function e(a,b,e,h){a.hasOwnProperty(b)||(a[b]=h.apply(null,e),"function"===typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:b,module:a[b]}})))}a=a?a._modules:{}; +e(a,"Series/VariablePie/VariablePieSeries.js",[a["Core/Series/SeriesRegistry.js"],a["Core/Utilities.js"]],function(a,b){var e=this&&this.__extends||function(){var a=function(b,c){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(c,a){c.__proto__=a}||function(c,a){for(var b in a)a.hasOwnProperty(b)&&(c[b]=a[b])};return a(b,c)};return function(b,c){function r(){this.constructor=b}a(b,c);b.prototype=null===c?Object.create(c):(r.prototype=c.prototype,new r)}}(),h=a.seriesTypes.pie,v=b.arrayMax, +w=b.arrayMin,y=b.clamp,z=b.extend,A=b.fireEvent,B=b.merge,m=b.pick;b=function(a){function b(){var c=null!==a&&a.apply(this,arguments)||this;c.data=void 0;c.options=void 0;c.points=void 0;c.radii=void 0;return c}e(b,a);b.prototype.calculateExtremes=function(){var c=this.chart,a=this.options;var b=this.zData;var e=Math.min(c.plotWidth,c.plotHeight)-2*(a.slicedOffset||0),k={};c=this.center||this.getCenter();["minPointSize","maxPointSize"].forEach(function(c){var b=a[c],q=/%$/.test(b);b=parseInt(b,10); +k[c]=q?e*b/100:2*b});this.minPxSize=c[3]+k.minPointSize;this.maxPxSize=y(c[2],c[3]+k.minPointSize,k.maxPointSize);b.length&&(c=m(a.zMin,w(b.filter(this.zValEval))),b=m(a.zMax,v(b.filter(this.zValEval))),this.getRadii(c,b,this.minPxSize,this.maxPxSize))};b.prototype.getRadii=function(c,b,a,e){var k=0,q=this.zData,r=q.length,l=[],h="radius"!==this.options.sizeBy,m=b-c;for(k;k=b?g=e/2:(g=01.5*Math.PI?d-=2*Math.PI:d<-Math.PI/2&&(d+=2*Math.PI);f.slicedTranslation={translateX:Math.round(Math.cos(d)*e),translateY:Math.round(Math.sin(d)* +e)};var u=Math.cos(d)*c[2]/2;var w=Math.sin(d)*c[2]/2;p=Math.cos(d)*n;n*=Math.sin(d);f.tooltipPos=[c[0]+.7*u,c[1]+.7*w];f.half=d<-Math.PI/2||d>Math.PI/2?1:0;f.angle=d;u=Math.min(k,f.labelDistance/5);f.labelPosition={natural:{x:c[0]+p+Math.cos(d)*f.labelDistance,y:c[1]+n+Math.sin(d)*f.labelDistance},"final":{},alignment:f.half?"right":"left",connectorPosition:{breakAt:{x:c[0]+p+Math.cos(d)*u,y:c[1]+n+Math.sin(d)*u},touchingSliceAt:{x:c[0]+p,y:c[1]+n}}}}A(this,"afterTranslate")};b.prototype.zValEval= +function(a){return"number"!==typeof a||isNaN(a)?null:!0};b.defaultOptions=B(h.defaultOptions,{minPointSize:"10%",maxPointSize:"100%",zMin:void 0,zMax:void 0,sizeBy:"area",tooltip:{pointFormat:'\u25cf {series.name}
Value: {point.y}
Size: {point.z}
'}});return b}(h);z(b.prototype,{pointArrayMap:["y","z"],parallelArrays:["x","y","z"]});a.registerSeriesType("variablepie",b);"";"";return b});e(a,"masters/modules/variable-pie.src.js",[],function(){})}); +//# sourceMappingURL=variable-pie.js.map \ No newline at end of file diff --git a/docs/reference/libs/highcharts-10.2.0/modules/variwide.js b/docs/reference/libs/highcharts-10.2.0/modules/variwide.js new file mode 100644 index 0000000..61b0c02 --- /dev/null +++ b/docs/reference/libs/highcharts-10.2.0/modules/variwide.js @@ -0,0 +1,21 @@ +/* + Highcharts JS v10.2.0 (2022-07-05) + + Highcharts variwide module + + (c) 2010-2021 Torstein Honsi + + License: www.highcharts.com/license +*/ +(function(a){"object"===typeof module&&module.exports?(a["default"]=a,module.exports=a):"function"===typeof define&&define.amd?define("highcharts/modules/variwide",["highcharts"],function(h){a(h);a.Highcharts=h;return a}):a("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(a){function h(a,f,c,e){a.hasOwnProperty(f)||(a[f]=e.apply(null,c),"function"===typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:f,module:a[f]}})))}a=a?a._modules:{};h(a, +"Series/Variwide/VariwidePoint.js",[a["Core/Series/SeriesRegistry.js"],a["Core/Utilities.js"]],function(a,f){var c=this&&this.__extends||function(){var a=function(b,d){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,b){a.__proto__=b}||function(a,b){for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d])};return a(b,d)};return function(b,d){function c(){this.constructor=b}a(b,d);b.prototype=null===d?Object.create(d):(c.prototype=d.prototype,new c)}}(),e=f.isNumber;return function(a){function b(){var b= +null!==a&&a.apply(this,arguments)||this;b.crosshairWidth=void 0;b.options=void 0;b.series=void 0;return b}c(b,a);b.prototype.isValid=function(){return e(this.y)&&e(this.z)};return b}(a.seriesTypes.column.prototype.pointClass)});h(a,"Series/Variwide/VariwideComposition.js",[a["Core/Axis/Tick.js"],a["Core/Axis/Axis.js"],a["Core/Utilities.js"]],function(a,f,c){var e=c.addEvent;c=c.wrap;a.prototype.postTranslate=function(a,b,c){var d=this.axis,g=a[b]-d.pos;d.horiz||(g=d.len-g);g=d.series[0].postTranslate(c, +g);d.horiz||(g=d.len-g);a[b]=d.pos+g};e(f,"afterDrawCrosshair",function(a){this.variwide&&this.cross&&this.cross.attr("stroke-width",a.point&&a.point.crosshairWidth)});e(f,"afterRender",function(){var a=this;!this.horiz&&this.variwide&&this.chart.labelCollectors.push(function(){return a.tickPositions.filter(function(b){return a.ticks[b].label}).map(function(b,d){b=a.ticks[b].label;b.labelrank=a.zData[d];return b})})});e(a,"afterGetPosition",function(a){var b=this.axis,d=b.horiz?"x":"y";b.variwide&& +(this[d+"Orig"]=a.pos[d],this.postTranslate(a.pos,d,this.pos))});c(a.prototype,"getLabelPosition",function(a,b,c,f,g,r,k,t){var d=Array.prototype.slice.call(arguments,1),p=g?"x":"y";this.axis.variwide&&"number"===typeof this[p+"Orig"]&&(d[g?0:1]=this[p+"Orig"]);d=a.apply(this,d);this.axis.variwide&&this.axis.categories&&this.postTranslate(d,p,this.pos);return d})});h(a,"Series/Variwide/VariwideSeries.js",[a["Core/Series/SeriesRegistry.js"],a["Series/Variwide/VariwidePoint.js"],a["Core/Utilities.js"]], +function(a,f,c){var e=this&&this.__extends||function(){var a=function(b,d){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,b){a.__proto__=b}||function(a,b){for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d])};return a(b,d)};return function(b,d){function k(){this.constructor=b}a(b,d);b.prototype=null===d?Object.create(d):(k.prototype=d.prototype,new k)}}(),d=a.seriesTypes.column,b=c.extend,h=c.merge,q=c.pick;c=function(b){function c(){var a=null!==b&&b.apply(this,arguments)||this;a.data= +void 0;a.options=void 0;a.points=void 0;a.relZ=void 0;a.totalZ=void 0;a.zData=void 0;return a}e(c,b);c.prototype.processData=function(b){this.totalZ=0;this.relZ=[];a.seriesTypes.column.prototype.processData.call(this,b);(this.xAxis.reversed?this.zData.slice().reverse():this.zData).forEach(function(a,b){this.relZ[b]=this.totalZ;this.totalZ+=a},this);this.xAxis.categories&&(this.xAxis.variwide=!0,this.xAxis.zData=this.zData)};c.prototype.postTranslate=function(a,b,d){var c=this.xAxis,l=this.relZ;a= +c.reversed?l.length-a:a;var n=c.reversed?-1:1,m=c.toPixels(c.reversed?(c.dataMax||0)+c.pointRange:c.dataMin||0),f=c.toPixels(c.reversed?c.dataMin||0:(c.dataMax||0)+c.pointRange),k=Math.abs(f-m),e=this.totalZ;c=this.chart.inverted?f-(this.chart.plotTop-n*c.minPixelPadding):m-this.chart.plotLeft-n*c.minPixelPadding;m=a/l.length*k;f=(a+n)/l.length*k;var g=q(l[a],e)/e*k;l=q(l[a+n],e)/e*k;d&&(d.crosshairWidth=l-g);return c+g+(b-(c+m))*(l-g)/(f-m)};c.prototype.translate=function(){var b=this.options.crisp, +c=this.xAxis;this.options.crisp=!1;a.seriesTypes.column.prototype.translate.call(this);this.options.crisp=b;var d=this.chart.inverted,f=this.borderWidth%2/2;this.points.forEach(function(a,b){if(c.variwide){var e=this.postTranslate(b,a.shapeArgs.x,a);b=this.postTranslate(b,a.shapeArgs.x+a.shapeArgs.width)}else e=a.plotX,b=c.translate(a.x+a.z,0,0,0,1);this.options.crisp&&(e=Math.round(e)-f,b=Math.round(b)-f);a.shapeArgs.x=e;a.shapeArgs.width=Math.max(b-e,1);a.plotX=(e+b)/2;d?a.tooltipPos[1]=c.len-a.shapeArgs.x- +a.shapeArgs.width/2:a.tooltipPos[0]=a.shapeArgs.x+a.shapeArgs.width/2},this);this.options.stacking&&this.correctStackLabels()};c.prototype.correctStackLabels=function(){var a=this,b=a.options,c=a.yAxis,d,e,f,g;a.points.forEach(function(h){g=h.x;e=h.shapeArgs.width;(f=c.stacking.stacks[(a.negStacks&&h.y<(b.startFromThreshold?0:b.threshold)?"-":"")+a.stackKey])&&(d=f[g])&&!h.isNull&&d.setOffset(-(e/2)||0,e||0,void 0,void 0,h.plotX)})};c.defaultOptions=h(d.defaultOptions,{pointPadding:0,groupPadding:0}); +return c}(d);b(c.prototype,{irregularWidths:!0,pointArrayMap:["y","z"],parallelArrays:["x","y","z"],pointClass:f});a.registerSeriesType("variwide",c);"";return c});h(a,"masters/modules/variwide.src.js",[],function(){})}); +//# sourceMappingURL=variwide.js.map \ No newline at end of file diff --git a/docs/reference/libs/highcharts-10.2.0/modules/vector.js b/docs/reference/libs/highcharts-10.2.0/modules/vector.js new file mode 100644 index 0000000..ab35151 --- /dev/null +++ b/docs/reference/libs/highcharts-10.2.0/modules/vector.js @@ -0,0 +1,17 @@ +/* + Highcharts JS v10.2.0 (2022-07-05) + + Vector plot series module + + (c) 2010-2021 Torstein Honsi + + License: www.highcharts.com/license +*/ +(function(a){"object"===typeof module&&module.exports?(a["default"]=a,module.exports=a):"function"===typeof define&&define.amd?define("highcharts/modules/vector",["highcharts"],function(d){a(d);a.Highcharts=d;return a}):a("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(a){function d(a,f,d,e){a.hasOwnProperty(f)||(a[f]=e.apply(null,d),"function"===typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:f,module:a[f]}})))}a=a?a._modules:{};d(a,"Series/Vector/VectorSeries.js", +[a["Core/Animation/AnimationUtilities.js"],a["Core/Globals.js"],a["Core/Series/SeriesRegistry.js"],a["Core/Utilities.js"]],function(a,f,d,e){var k=this&&this.__extends||function(){var a=function(c,b){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(b,a){b.__proto__=a}||function(b,a){for(var g in a)a.hasOwnProperty(g)&&(b[g]=a[g])};return a(c,b)};return function(c,b){function g(){this.constructor=c}a(c,b);c.prototype=null===b?Object.create(b):(g.prototype=b.prototype,new g)}}(),l= +a.animObject,m=d.series,h=d.seriesTypes.scatter,n=e.arrayMax;a=e.extend;var p=e.merge,q=e.pick;e=function(a){function c(){var b=null!==a&&a.apply(this,arguments)||this;b.data=void 0;b.lengthMax=void 0;b.options=void 0;b.points=void 0;return b}k(c,a);c.prototype.animate=function(b){b?this.markerGroup.attr({opacity:.01}):this.markerGroup.animate({opacity:1},l(this.options.animation))};c.prototype.arrow=function(b){b=b.length/this.lengthMax*this.options.vectorLength/20;var a={start:10*b,center:0,end:-10* +b}[this.options.rotationOrigin]||0;return[["M",0,7*b+a],["L",-1.5*b,7*b+a],["L",0,10*b+a],["L",1.5*b,7*b+a],["L",0,7*b+a],["L",0,-10*b+a]]};c.prototype.drawPoints=function(){var a=this.chart;this.points.forEach(function(b){var c=b.plotX,d=b.plotY;!1===this.options.clip||a.isInsidePlot(c,d,{inverted:a.inverted})?(b.graphic||(b.graphic=this.chart.renderer.path().add(this.markerGroup).addClass("highcharts-point highcharts-color-"+q(b.colorIndex,b.series.colorIndex))),b.graphic.attr({d:this.arrow(b), +translateX:c,translateY:d,rotation:b.direction}),this.chart.styledMode||b.graphic.attr(this.pointAttribs(b))):b.graphic&&(b.graphic=b.graphic.destroy())},this)};c.prototype.pointAttribs=function(b,a){var c=this.options;b=b.color||this.color;var d=this.options.lineWidth;a&&(b=c.states[a].color||b,d=(c.states[a].lineWidth||d)+(c.states[a].lineWidthPlus||0));return{stroke:b,"stroke-width":d}};c.prototype.translate=function(){m.prototype.translate.call(this);this.lengthMax=n(this.lengthData)};c.defaultOptions= +p(h.defaultOptions,{lineWidth:2,marker:null,rotationOrigin:"center",states:{hover:{lineWidthPlus:1}},tooltip:{pointFormat:"[{point.x}, {point.y}]
Length: {point.length}
Direction: {point.direction}\u00b0
"},vectorLength:20});return c}(h);a(e.prototype,{drawGraph:f.noop,getSymbol:f.noop,markerAttribs:f.noop,parallelArrays:["x","y","length","direction"],pointArrayMap:["y","length","direction"]});d.registerSeriesType("vector",e);"";return e});d(a,"masters/modules/vector.src.js", +[],function(){})}); +//# sourceMappingURL=vector.js.map \ No newline at end of file diff --git a/docs/reference/libs/highcharts-10.2.0/modules/venn.js b/docs/reference/libs/highcharts-10.2.0/modules/venn.js new file mode 100644 index 0000000..c7ca628 --- /dev/null +++ b/docs/reference/libs/highcharts-10.2.0/modules/venn.js @@ -0,0 +1,39 @@ +/* + Highcharts JS v10.2.0 (2022-07-05) + + (c) 2017-2021 Highsoft AS + Authors: Jon Arild Nygard + + License: www.highcharts.com/license +*/ +(function(a){"object"===typeof module&&module.exports?(a["default"]=a,module.exports=a):"function"===typeof define&&define.amd?define("highcharts/modules/venn",["highcharts"],function(p){a(p);a.Highcharts=p;return a}):a("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(a){function p(a,q,m,g){a.hasOwnProperty(q)||(a[q]=g.apply(null,m),"function"===typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:q,module:a[q]}})))}a=a?a._modules:{};p(a,"Core/Geometry/GeometryUtilities.js", +[],function(){var a;(function(a){a.getCenterOfPoints=function(a){var g=a.reduce(function(a,g){a.x+=g.x;a.y+=g.y;return a},{x:0,y:0});return{x:g.x/a.length,y:g.y/a.length}};a.getDistanceBetweenPoints=function(a,g){return Math.sqrt(Math.pow(g.x-a.x,2)+Math.pow(g.y-a.y,2))};a.getAngleBetweenPoints=function(a,g){return Math.atan2(g.x-a.x,g.y-a.y)}})(a||(a={}));return a});p(a,"Core/Geometry/CircleUtilities.js",[a["Core/Geometry/GeometryUtilities.js"]],function(a){var q=a.getAngleBetweenPoints,m=a.getCenterOfPoints, +g=a.getDistanceBetweenPoints,f;(function(a){function f(a,e){e=Math.pow(10,e);return Math.round(a*e)/e}function l(a){if(0>=a)throw Error("radius of circle must be a positive number.");return Math.PI*a*a}function k(a,e){return a*a*Math.acos(1-e/a)-(a-e)*Math.sqrt(e*(2*a-e))}function x(a,e){var t=g(a,e),n=a.r,r=e.r,k=[];if(tMath.abs(n-r)){n*=n;var v=(n-r*r+t*t)/(2*t);r=Math.sqrt(n-v*v);n=a.x;k=e.x;a=a.y;var l=e.y;e=n+v*(k-n)/t;v=a+v*(l-a)/t;a=r/t*-(l-a);t=r/t*-(k-n);k=[{x:f(e+a,14),y:f(v-t,14)}, +{x:f(e-a,14),y:f(v+t,14)}]}return k}function u(a){return a.reduce(function(a,g,f,r){r=r.slice(f+1).reduce(function(a,e,r,k){var t=[f,r+f+1];return a.concat(x(g,e).map(function(a){a.indexes=t;return a}))},[]);return a.concat(r)},[])}function w(a,e){return g(a,e)<=e.r+1e-10}function p(a,e){return!e.some(function(e){return!w(a,e)})}function D(a){return u(a).filter(function(e){return p(e,a)})}a.round=f;a.getAreaOfCircle=l;a.getCircularSegmentArea=k;a.getOverlapBetweenCircles=function(a,e,g){var n=0;g< +a+e&&(g<=Math.abs(e-a)?n=l(a2*b&&(d=2*b);if(!c||c.width>d)c={r:b,largeArc:d>b?1:0,width:d,x:f.x,y:f.y};return c},null);if(x){var C=x.r;e.arcs.push(["A",C,C, +0,x.largeArc,1,x.x,x.y]);e.startPoint=f}return e},{startPoint:k,arcs:[]}).arcs;if(0!==e.length&&1!==e.length){e.unshift(["M",k.x,k.y]);var l={center:f,d:e}}}return l}})(f||(f={}));return f});p(a,"Series/DrawPointUtilities.js",[a["Core/Utilities.js"]],function(a){function q(a){switch(a.series&&a.series.type){case "treemap":return m(a.plotY)&&null!==a.y;default:return!a.isNull}}var m=a.isNumber;return{draw:function(a,f){var g=f.animatableAttribs,m=f.onComplete,l=f.css,k=f.renderer,w=a.series&&a.series.chart.hasRendered? +void 0:a.series&&a.series.options.animation,u=a.graphic;f.attribs=f.attribs||{};f.attribs["class"]=a.getClassName();if(q(a))u||(a.graphic=u="text"===f.shapeType?k.text():k[f.shapeType](f.shapeArgs||{}),u.add(f.group)),l&&u.css(l),u.attr(f.attribs).animate(g,f.isNew?!1:w,m);else if(u){var p=function(){a.graphic=u=u&&u.destroy();"function"===typeof m&&m()};Object.keys(g).length?u.animate(g,void 0,function(){return p()}):p()}},shouldDraw:q}});p(a,"Series/Venn/VennPoint.js",[a["Core/Series/SeriesRegistry.js"], +a["Core/Utilities.js"]],function(a,q){var m=this&&this.__extends||function(){var a=function(f,g){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,f){a.__proto__=f}||function(a,f){for(var g in f)f.hasOwnProperty(g)&&(a[g]=f[g])};return a(f,g)};return function(f,g){function l(){this.constructor=f}a(f,g);f.prototype=null===g?Object.create(g):(l.prototype=g.prototype,new l)}}(),g=q.isNumber;return function(a){function f(){var f=null!==a&&a.apply(this,arguments)||this;f.options=void 0; +f.series=void 0;return f}m(f,a);f.prototype.isValid=function(){return g(this.value)};f.prototype.shouldDraw=function(){return!!this.shapeArgs};return f}(a.seriesTypes.scatter.prototype.pointClass)});p(a,"Series/Venn/VennUtils.js",[a["Core/Geometry/CircleUtilities.js"],a["Core/Geometry/GeometryUtilities.js"],a["Core/Utilities.js"]],function(a,q,m){function g(a){var c=a.filter(function(a){return 2===a.sets.length}).reduce(function(a,d){d.sets.forEach(function(b,c,z){G(a[b])||(a[b]={overlapping:{},totalOverlap:0}); +a[b].totalOverlap+=d.value;a[b].overlapping[z[1-c]]=d.value});return a},{});a.filter(k).forEach(function(a){F(a,c[a.sets[0]])});return a}function f(a,c,b,d,h){var e=a(c),z=a(b);h=h||100;d=d||1e-10;var C=b-c,f=1;if(c>=b)throw Error("a must be smaller than b.");if(0d;){C=(b-c)/2;g=c+C;var k=a(g);0=b?d:I(ag;g++){c.sort(b);var k=c[c.length-1],H=p(c),l=e(H,k,2,-1);if(l.fx=c[c.length-2].fx){var m= +void 0;l.fx>k.fx?(m=e(H,k,.5,.5),c=m.fxb)a.left=b;if(!A(a.right)||a.rightc)a.top=c;if(!A(a.bottom)||a.bottomq)break}}}e.forEach(function(c, +x){c.plotX+=f;if("undefined"===typeof c.plotY||m)0<=c.plotX&&c.plotX<=b.len?m?(c.plotY=b.translate(c.x,0,1,0,1),c.plotX=w(c.y)?h.translate(c.y,0,0,0,1):0):c.plotY=(b.opposite?0:a.yAxis.len)+b.offset:c.shapeArgs={};if((k=e[x-1])&&k.plotX===c.plotX){"undefined"===typeof k.stackIndex&&(k.stackIndex=0);var r=k.stackIndex+1}c.stackIndex=r});this.onSeries=c}var d=[];a.compose=function(a){if(-1===d.indexOf(a)){d.push(a);var g=a.prototype;g.getPlotBox=b;g.translate=k}return a};a.getPlotBox=b;a.translate= +k})(k||(k={}));return k});f(a,"Series/Windbarb/WindbarbPoint.js",[a["Core/Utilities.js"],a["Series/Column/ColumnSeries.js"]],function(a,b){var d=this&&this.__extends||function(){var a=function(b,d){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,b){a.__proto__=b}||function(a,b){for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d])};return a(b,d)};return function(b,d){function h(){this.constructor=b}a(b,d);b.prototype=null===d?Object.create(d):(h.prototype=d.prototype,new h)}}(),f=a.isNumber; +return function(a){function b(){var b=null!==a&&a.apply(this,arguments)||this;b.beaufort=void 0;b.beaufortLevel=void 0;b.direction=void 0;b.options=void 0;b.series=void 0;return b}d(b,a);b.prototype.isValid=function(){return f(this.value)&&0<=this.value};return b}(b.prototype.pointClass)});f(a,"Series/Windbarb/WindbarbSeries.js",[a["Core/Animation/AnimationUtilities.js"],a["Core/Globals.js"],a["Series/OnSeriesComposition.js"],a["Core/Series/SeriesRegistry.js"],a["Core/Utilities.js"],a["Series/Windbarb/WindbarbPoint.js"]], +function(a,b,d,f,h,w){var t=this&&this.__extends||function(){var a=function(b,e){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,e){a.__proto__=e}||function(a,e){for(var c in e)e.hasOwnProperty(c)&&(a[c]=e[c])};return a(b,e)};return function(b,e){function c(){this.constructor=b}a(b,e);b.prototype=null===e?Object.create(e):(c.prototype=e.prototype,new c)}}(),k=a.animObject;a=b.noop;var p=f.series,v=f.seriesTypes.column,u=h.extend,A=h.merge,z=h.pick;h=function(a){function d(){var e= +null!==a&&a.apply(this,arguments)||this;e.data=void 0;e.options=void 0;e.points=void 0;return e}t(d,a);d.registerApproximation=function(){b.approximations&&!b.approximations.windbarb&&(b.approximations.windbarb=function(a,c){var e=0,d=0,m,g=a.length;for(m=0;m\u25cf {series.name}: {point.value} ({point.beaufort})
'},vectorLength:20,colorKey:"value",yOffset:-20,xOffset:0});return d}(v);d.compose(h);u(h.prototype,{beaufortFloor:[0,.3,1.6,3.4,5.5,8,10.8,13.9,17.2,20.8,24.5,28.5,32.7],beaufortName:"Calm;Light air;Light breeze;Gentle breeze;Moderate breeze;Fresh breeze;Strong breeze;Near gale;Gale;Strong gale;Storm;Violent storm;Hurricane".split(";"), +parallelArrays:["x","value","direction"],pointArrayMap:["value","direction"],pointClass:w,trackerGroups:["markerGroup"],invertGroups:a,translate:function(){var a=this.beaufortFloor,b=this.beaufortName;d.translate.call(this);this.points.forEach(function(d){for(var c=0;cd.value);c++);d.beaufortLevel=c-1;d.beaufort=b[c-1]})}});h.registerApproximation();f.registerSeriesType("windbarb",h);"";return h});f(a,"masters/modules/windbarb.src.js",[],function(){})}); +//# sourceMappingURL=windbarb.js.map \ No newline at end of file diff --git a/docs/reference/libs/highcharts-10.2.0/modules/wordcloud.js b/docs/reference/libs/highcharts-10.2.0/modules/wordcloud.js new file mode 100644 index 0000000..e0cf756 --- /dev/null +++ b/docs/reference/libs/highcharts-10.2.0/modules/wordcloud.js @@ -0,0 +1,31 @@ +/* + Highcharts JS v10.2.0 (2022-07-05) + + (c) 2016-2021 Highsoft AS + Authors: Jon Arild Nygard + + License: www.highcharts.com/license +*/ +(function(b){"object"===typeof module&&module.exports?(b["default"]=b,module.exports=b):"function"===typeof define&&define.amd?define("highcharts/modules/wordcloud",["highcharts"],function(h){b(h);b.Highcharts=h;return b}):b("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(b){function h(b,g,k,l){b.hasOwnProperty(g)||(b[g]=l.apply(null,k),"function"===typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:g,module:b[g]}})))}b=b?b._modules:{};h(b, +"Series/DrawPointUtilities.js",[b["Core/Utilities.js"]],function(b){function g(b){switch(b.series&&b.series.type){case "treemap":return k(b.plotY)&&null!==b.y;default:return!b.isNull}}var k=b.isNumber;return{draw:function(b,e){var n=e.animatableAttribs,f=e.onComplete,l=e.css,q=e.renderer,k=b.series&&b.series.chart.hasRendered?void 0:b.series&&b.series.options.animation,p=b.graphic;e.attribs=e.attribs||{};e.attribs["class"]=b.getClassName();if(g(b))p||(b.graphic=p="text"===e.shapeType?q.text():q[e.shapeType](e.shapeArgs|| +{}),p.add(e.group)),l&&p.css(l),p.attr(e.attribs).animate(n,e.isNew?!1:k,f);else if(p){var h=function(){b.graphic=p=p&&p.destroy();"function"===typeof f&&f()};Object.keys(n).length?p.animate(n,void 0,function(){return h()}):h()}},shouldDraw:g}});h(b,"Series/Wordcloud/WordcloudPoint.js",[b["Core/Series/SeriesRegistry.js"],b["Core/Utilities.js"]],function(b,g){var k=this&&this.__extends||function(){var b=function(e,n){b=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(b,e){b.__proto__= +e}||function(b,e){for(var f in e)e.hasOwnProperty(f)&&(b[f]=e[f])};return b(e,n)};return function(e,n){function f(){this.constructor=e}b(e,n);e.prototype=null===n?Object.create(n):(f.prototype=n.prototype,new f)}}();g=g.extend;b=function(b){function e(){var e=null!==b&&b.apply(this,arguments)||this;e.dimensions=void 0;e.options=void 0;e.polygon=void 0;e.rect=void 0;e.series=void 0;return e}k(e,b);e.prototype.isValid=function(){return!0};return e}(b.seriesTypes.column.prototype.pointClass);g(b.prototype, +{weight:1});return b});h(b,"Series/Wordcloud/WordcloudUtils.js",[b["Core/Globals.js"],b["Core/Utilities.js"]],function(b,g){function k(a,c){return!(c.left>a.right||c.righta.bottom||c.bottomb.max||d.max=a&&("boolean"===typeof f&&c>=e-b&&(f={x:d-(e-c),y:-d}),e-=b,"boolean"===typeof f&&c>=e-b&&(f={x:-d,y:-d+(e-c)}),e-=b,"boolean"===typeof f&&(f=c>=e-b?{x:-d+(e-c),y:d}:{x:d,y:d-(e-c-b)}),f.x*=5,f.y*=5);return f}function t(a,c){var d=c.width/2,b=-(c.height/2),e=c.height/2;return!(-(c.width/2)a.right&&ba.bottom)}function p(a,c,d){return d.map(function(d){return[d[0]+a,d[1]+c]})}function w(a,c){c=m(c)? +c:14;c=Math.pow(10,c);return Math.round(a*c)/c}function v(a,c){var d=a[0];a=a[1];var b=y*-c;c=Math.cos(b);b=Math.sin(b);return[w(d*c-a*b),w(d*b+a*c)]}function B(a,c,d){a=v([a[0]-c[0],a[1]-c[1]],d);return[a[0]+c[0],a[1]+c[1]]}var y=b.deg2rad,D=g.extend,A=g.find,m=g.isNumber,C=g.isObject,z=g.merge;return{archimedeanSpiral:function(a,c){var d=c.field;c=!1;d=d.width*d.width+d.height*d.height;var b=.8*a;1E4>=a&&(c={x:b*Math.cos(b),y:b*Math.sin(b)},Math.min(Math.abs(c.x),Math.abs(c.y))d*e?b:d;a=z(a,{width:a.width+d*c*2,height:a.height+d*e*2})}return a},getBoundingBoxFromPolygon:function(a){return a.reduce(function(a,d){var c=d[0];d=d[1];a.left=Math.min(c,a.left);a.right=Math.max(c,a.right);a.bottom=Math.max(d,a.bottom);a.top=Math.min(d,a.top);return a},{left:Number.MAX_VALUE,right:-Number.MAX_VALUE,bottom:-Number.MAX_VALUE,top:Number.MAX_VALUE})},getPlayingField:function(a, +c,d){d=d.reduce(function(a,c){c=c.dimensions;var b=Math.max(c.width,c.height);a.maxHeight=Math.max(a.maxHeight,c.height);a.maxWidth=Math.max(a.maxWidth,c.width);a.area+=b*b;return a},{maxHeight:0,maxWidth:0,area:0});d=Math.max(d.maxHeight,d.maxWidth,.85*Math.sqrt(d.area));var b=a>c?a/c:1;a=c>a?c/a:1;return{width:d*b,height:d*a,ratioX:b,ratioY:a}},getPolygon:function(a,c,b,e,f){var d=[a,c],g=a-b/2;a+=b/2;b=c-e/2;c+=e/2;return[[g,b],[a,b],[a,c],[g,c]].map(function(a){return B(a,d,-f)})},getRandomPosition:function(a){return Math.round(a* +(Math.random()+.5)/2)},getRotation:function(a,c,b,e){var d=!1;m(a)&&m(c)&&m(b)&&m(e)&&0b&&(d=b+c%a*((e-b)/(a-1||1)));return d},getScale:function(a,c,b){var d=2*Math.max(Math.abs(b.top),Math.abs(b.bottom));b=2*Math.max(Math.abs(b.left),Math.abs(b.right));return Math.min(0b;b++)e.push(a(b,c));return function(a){return 1E4>=a?e[a-1]:!1}},intersectionTesting:function(a,b){var c=b.placed,e=b.field,f=b.rectangle,g=b.polygon, +n=b.spiral,h=1,k={x:0,y:0},m=a.rect=D({},f);a.polygon=g;for(a.rotation=b.rotation;!1!==k&&(H(a,c)||t(m,e));)k=n(h),C(k)&&(m.left=f.left+k.x,m.right=f.right+k.x,m.top=f.top+k.y,m.bottom=f.bottom+k.y,a.polygon=p(k.x,k.y,g)),h++;return k},isPolygonsColliding:f,isRectanglesIntersecting:k,rectangularSpiral:function(a,b){a=q(a,b);b=b.field;a&&(a.x*=b.ratioX,a.y*=b.ratioY);return a},rotate2DToOrigin:v,rotate2DToPoint:B,squareSpiral:q,updateFieldBoundaries:function(a,b){if(!m(a.left)||a.left>b.left)a.left= +b.left;if(!m(a.right)||a.rightb.top)a.top=b.top;if(!m(a.bottom)||a.bottom\u25cf {series.name}: {point.weight}
'}});return e}(t);p(f.prototype,{animate:q,animateDrilldown:q,animateDrillupFrom:q,pointClass:n,setClip:q,placementStrategy:{random:function(b,c){var d=c.field;c=c.rotation;return{x:z(d.width)-d.width/2,y:z(d.height)-d.height/2, +rotation:a(c.orientations,b.index,c.from,c.to)}},center:function(b,c){c=c.rotation;return{x:0,y:0,rotation:a(c.orientations,b.index,c.from,c.to)}}},pointArrayMap:["weight"],spirals:{archimedean:e,rectangular:x,square:L},utils:{extendPlayingField:D,getRotation:a,isPolygonsColliding:I,rotate2DToOrigin:J,rotate2DToPoint:K}});h.registerSeriesType("wordcloud",f);"";return f});h(b,"masters/modules/wordcloud.src.js",[],function(){})}); +//# sourceMappingURL=wordcloud.js.map \ No newline at end of file diff --git a/docs/reference/libs/highcharts-10.2.0/modules/xrange.js b/docs/reference/libs/highcharts-10.2.0/modules/xrange.js new file mode 100644 index 0000000..a40f781 --- /dev/null +++ b/docs/reference/libs/highcharts-10.2.0/modules/xrange.js @@ -0,0 +1,26 @@ +/* + Highcharts JS v10.2.0 (2022-07-05) + + X-range series + + (c) 2010-2021 Torstein Honsi, Lars A. V. Cabrera + + License: www.highcharts.com/license +*/ +(function(a){"object"===typeof module&&module.exports?(a["default"]=a,module.exports=a):"function"===typeof define&&define.amd?define("highcharts/modules/xrange",["highcharts"],function(h){a(h);a.Highcharts=h;return a}):a("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(a){function h(a,e,g,b){a.hasOwnProperty(e)||(a[e]=b.apply(null,g),"function"===typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:e,module:a[e]}})))}a=a?a._modules:{};h(a,"Series/XRange/XRangePoint.js", +[a["Core/Series/Point.js"],a["Core/Series/SeriesRegistry.js"],a["Core/Utilities.js"]],function(a,e,g){var b=this&&this.__extends||function(){var a=function(c,d){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,d){a.__proto__=d}||function(a,d){for(var c in d)d.hasOwnProperty(c)&&(a[c]=d[c])};return a(c,d)};return function(c,d){function b(){this.constructor=c}a(c,d);c.prototype=null===d?Object.create(d):(b.prototype=d.prototype,new b)}}();g=g.extend;e=function(e){function c(){var a= +null!==e&&e.apply(this,arguments)||this;a.options=void 0;a.series=void 0;return a}b(c,e);c.getColorByCategory=function(a,c){var d=a.options.colors||a.chart.options.colors;a=c.y%(d?d.length:a.chart.options.chart.colorCount);return{colorIndex:a,color:d&&d[a]}};c.prototype.resolveColor=function(){var a=this.series;if(a.options.colorByPoint&&!this.options.color){var b=c.getColorByCategory(a,this);a.chart.styledMode||(this.color=b.color);this.options.colorIndex||(this.colorIndex=b.colorIndex)}else this.color|| +(this.color=a.color)};c.prototype.init=function(){a.prototype.init.apply(this,arguments);this.y||(this.y=0);return this};c.prototype.setState=function(){a.prototype.setState.apply(this,arguments);this.series.drawPoint(this,this.series.getAnimationVerb())};c.prototype.getLabelConfig=function(){var d=a.prototype.getLabelConfig.call(this),c=this.series.yAxis.categories;d.x2=this.x2;d.yCategory=this.yCategory=c&&c[this.y];return d};c.prototype.isValid=function(){return"number"===typeof this.x&&"number"=== +typeof this.x2};return c}(e.seriesTypes.column.prototype.pointClass);g(e.prototype,{ttBelow:!1,tooltipDateKeys:["x","x2"]});return e});h(a,"Series/XRange/XRangeComposition.js",[a["Core/Axis/Axis.js"],a["Core/Utilities.js"]],function(a,e){var g=e.addEvent,b=e.pick;g(a,"afterGetSeriesExtremes",function(){var a=this.series,c;if(this.isXAxis){var d=b(this.dataMax,-Number.MAX_VALUE);a.forEach(function(a){a.x2Data&&a.x2Data.forEach(function(a){a>d&&(d=a,c=!0)})});c&&(this.dataMax=d)}})});h(a,"Series/XRange/XRangeSeries.js", +[a["Core/Globals.js"],a["Core/Color/Color.js"],a["Core/Series/SeriesRegistry.js"],a["Core/Utilities.js"],a["Series/XRange/XRangePoint.js"]],function(a,e,g,b,h){var c=this&&this.__extends||function(){var a=function(c,f){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(f,a){f.__proto__=a}||function(f,a){for(var q in a)a.hasOwnProperty(q)&&(f[q]=a[q])};return a(c,f)};return function(c,f){function q(){this.constructor=c}a(c,f);c.prototype=null===f?Object.create(f):(q.prototype=f.prototype, +new q)}}(),d=e.parse,z=g.series,r=g.seriesTypes.column,A=r.prototype,v=b.clamp,D=b.correctFloat,E=b.defined;e=b.extend;var B=b.find,u=b.isNumber,w=b.isObject,t=b.merge,x=b.pick;b=function(a){function b(){var f=null!==a&&a.apply(this,arguments)||this;f.data=void 0;f.options=void 0;f.points=void 0;return f}c(b,a);b.prototype.init=function(){r.prototype.init.apply(this,arguments);this.options.stacking=void 0};b.prototype.getColumnMetrics=function(){function f(){a.series.forEach(function(a){var f=a.xAxis; +a.xAxis=a.yAxis;a.yAxis=f})}var a=this.chart;f();var b=A.getColumnMetrics.call(this);f();return b};b.prototype.cropData=function(a,b,c,d){b=z.prototype.cropData.call(this,this.x2Data,b,c,d);b.xData=a.slice(b.start,b.end);return b};b.prototype.findPointIndex=function(a){var f=this.cropped,b=this.cropStart,c=this.points,C=a.id;if(C)var d=(d=B(c,function(a){return a.id===C}))?d.index:void 0;"undefined"===typeof d&&(d=(d=B(c,function(f){return f.x===a.x&&f.x2===a.x2&&!f.touched}))?d.index:void 0);f&& +u(d)&&u(b)&&d>=b&&(d-=b);return d};b.prototype.translatePoint=function(a){var f=this.xAxis,b=this.yAxis,d=this.columnMetrics,c=this.options,e=c.minPointLength||0,k=(a.shapeArgs&&a.shapeArgs.width||0)/2,l=this.pointXOffset=d.offset,m=a.plotX,g=x(a.x2,a.x+(a.len||0)),n=f.translate(g,0,0,0,1);g=Math.abs(n-m);var p=this.chart.inverted,h=x(c.borderWidth,1)%2/2,r=d.offset,y=Math.round(d.width);e&&(e-=g,0>e&&(e=0),m-=e/2,n+=e/2);m=Math.max(m,-10);n=v(n,-10,f.len+10);E(a.options.pointWidth)&&(r-=(Math.ceil(a.options.pointWidth)- +y)/2,y=Math.ceil(a.options.pointWidth));c.pointPlacement&&u(a.plotY)&&b.categories&&(a.plotY=b.translate(a.y,0,1,0,1,c.pointPlacement));c=Math.floor(Math.min(m,n))+h;c={x:c,y:Math.floor(a.plotY+r)+h,width:Math.floor(Math.max(m,n))+h-c,height:y,r:this.options.borderRadius};a.shapeArgs=c;p?a.tooltipPos[1]+=l+k:a.tooltipPos[0]-=k+l-c.width/2;k=c.x;l=k+c.width;0>k||l>f.len?(k=v(k,0,f.len),l=v(l,0,f.len),n=l-k,a.dlBox=t(c,{x:k,width:l-k,centerX:n?n/2:null})):a.dlBox=null;k=a.tooltipPos;l=p?1:0;n=p?0:1; +d=this.columnMetrics?this.columnMetrics.offset:-d.width/2;k[l]=p?k[l]+c.width/2:k[l]+(f.reversed?-1:0)*c.width;k[n]=v(k[n]+(p?-1:1)*d,0,b.len-1);if(b=a.partialFill)w(b)&&(b=b.amount),u(b)||(b=0),a.partShapeArgs=t(c,{r:this.options.borderRadius}),m=Math.max(Math.round(g*b+a.plotX-m),0),a.clipRectArgs={x:f.reversed?c.x+g-m:c.x,y:c.y,width:m,height:c.height}};b.prototype.translate=function(){A.translate.apply(this,arguments);this.points.forEach(function(a){this.translatePoint(a)},this)};b.prototype.drawPoint= +function(a,b){var c=this.options,f=this.chart.renderer,e=a.graphic,g=a.shapeType,k=a.shapeArgs,l=a.partShapeArgs,m=a.clipRectArgs,h=a.partialFill,n=c.stacking&&!c.borderRadius,p=a.state,q=c.states[p||"normal"]||{},r="undefined"===typeof p?"attr":b;p=this.pointAttribs(a,p);q=x(this.chart.options.chart.animation,q.animation);if(a.isNull||!1===a.visible)e&&(a.graphic=e.destroy());else{if(e)e.rect[b](k);else a.graphic=e=f.g("point").addClass(a.getClassName()).add(a.group||this.group),e.rect=f[g](t(k)).addClass(a.getClassName()).addClass("highcharts-partfill-original").add(e); +l&&(e.partRect?(e.partRect[b](t(l)),e.partialClipRect[b](t(m))):(e.partialClipRect=f.clipRect(m.x,m.y,m.width,m.height),e.partRect=f[g](l).addClass("highcharts-partfill-overlay").add(e).clip(e.partialClipRect)));this.chart.styledMode||(e.rect[b](p,q).shadow(c.shadow,null,n),l&&(w(h)||(h={}),w(c.partialFill)&&(h=t(c.partialFill,h)),a=h.fill||d(p.fill).brighten(-.3).get()||d(a.color||this.color).brighten(-.3).get(),p.fill=a,e.partRect[r](p,q).shadow(c.shadow,null,n)))}};b.prototype.drawPoints=function(){var a= +this,b=a.getAnimationVerb();a.points.forEach(function(c){a.drawPoint(c,b)})};b.prototype.getAnimationVerb=function(){return this.chart.pointCount<(this.options.animationLimit||250)?"animate":"attr"};b.prototype.isPointInside=function(b){var c=b.shapeArgs,d=b.plotX,f=b.plotY;return c?"undefined"!==typeof d&&"undefined"!==typeof f&&0<=f&&f<=this.yAxis.len&&0<=(c.x||0)+(c.width||0)&&d<=this.xAxis.len:a.prototype.isPointInside.apply(this,arguments)};b.defaultOptions=t(r.defaultOptions,{colorByPoint:!0, +dataLabels:{formatter:function(){var a=this.point.partialFill;w(a)&&(a=a.amount);if(u(a)&&0{point.x} - {point.x2}
',pointFormat:'\u25cf {series.name}: {point.yCategory}
'},borderRadius:3,pointRange:0});return b}(r);e(b.prototype,{type:"xrange",parallelArrays:["x","x2","y"],requireSorting:!1,animate:z.prototype.animate,cropShoulder:1, +getExtremesFromAll:!0,autoIncrement:a.noop,buildKDTree:a.noop,pointClass:h});g.registerSeriesType("xrange",b);"";return b});h(a,"masters/modules/xrange.src.js",[],function(){})}); +//# sourceMappingURL=xrange.js.map \ No newline at end of file diff --git a/docs/reference/libs/highcharts-10.2.0/plugins/draggable-legend.js b/docs/reference/libs/highcharts-10.2.0/plugins/draggable-legend.js new file mode 100644 index 0000000..04f9771 --- /dev/null +++ b/docs/reference/libs/highcharts-10.2.0/plugins/draggable-legend.js @@ -0,0 +1,97 @@ +/** + * Highcharts plugin for dragging a legend by its title + * + * Author: Torstein Hønsi + * License: MIT License + * Version: 1.3.9 + * Requires: Highcharts 3.0+ + * + * Usage: Set draggable:true and floating:true in the legend options. The legend + * preserves is alignment after dragging. For example if it is aligned to the right, + * if will keep the same distance to the right edge even after chart resize or + * when exporting to a different size. + */ +(function (H) { + var addEvent = H.addEvent; + + H.wrap(H.Chart.prototype, 'init', function (proceed) { + proceed.apply(this, Array.prototype.slice.call(arguments, 1)); + + var chart = this, + legend = chart.legend, + title = legend.title, + options = legend.options, + isDragging, + downX, + downY, + optionsX, + optionsY, + currentX, + currentY; + + + function pointerDown(e) { + e = chart.pointer.normalize(e); + downX = e.chartX; + downY = e.chartY; + optionsX = options.x; + optionsY = options.y; + currentX = legend.group.attr('translateX'); + currentY = legend.group.attr('translateY'); + isDragging = true; + } + + function pointerMove(e) { + if (isDragging) { + e = chart.pointer.normalize(e); + var draggedX = e.chartX - downX, + draggedY = e.chartY - downY; + + // Stop touch-panning the page + e.preventDefault(); + + // Do the move is we're inside the chart + if ( + currentX + draggedX > 0 && + currentX + draggedX + legend.legendWidth < chart.chartWidth && + currentY + draggedY > 0 && + currentY + draggedY + legend.legendHeight < chart.chartHeight + ) { + + options.x = optionsX + draggedX; + options.y = optionsY + draggedY; + legend.group.placed = false; // prevent animation + legend.group.align(H.extend({ + width: legend.legendWidth, + height: legend.legendHeight + }, options), true, 'spacingBox'); + legend.positionCheckboxes(); + } + if (chart.pointer.selectionMarker) { + chart.pointer.selectionMarker = chart.pointer.selectionMarker.destroy(); + } + + } + } + + function pointerUp() { + isDragging = false; + } + + if (options.draggable && title) { + + title.css({ cursor: 'move' }); + + // Mouse events + addEvent(title.element, 'mousedown', pointerDown); + addEvent(chart.container, 'mousemove', pointerMove); + addEvent(document, 'mouseup', pointerUp); + + // Touch events + addEvent(title.element, 'touchstart', pointerDown); + addEvent(chart.container, 'touchmove', pointerMove); + addEvent(document, 'touchend', pointerUp); + + } + }); +}(Highcharts)); \ No newline at end of file diff --git a/docs/reference/libs/highcharts-10.2.0/plugins/grouped-categories.js b/docs/reference/libs/highcharts-10.2.0/plugins/grouped-categories.js new file mode 100644 index 0000000..4bc4a59 --- /dev/null +++ b/docs/reference/libs/highcharts-10.2.0/plugins/grouped-categories.js @@ -0,0 +1,626 @@ +/* global Highcharts module */ +(function (factory) { + if (typeof module === 'object' && module.exports) { + module.exports = factory; + } else { + factory(Highcharts); + } +}(function (HC) { + 'use strict'; + /** + * Grouped Categories v1.3.0 (2022-03-14) + * + * (c) 2012-2022 Black Label + * + * License: Creative Commons Attribution (CC) + */ + + /* jshint expr:true, boss:true */ + var UNDEFINED = void 0, + mathRound = Math.round, + mathMin = Math.min, + mathMax = Math.max, + merge = HC.merge, + pick = HC.pick, + each = HC.each, + + // cache prototypes + axisProto = HC.Axis.prototype, + tickProto = HC.Tick.prototype, + + // cache original methods + protoAxisInit = axisProto.init, + protoAxisRender = axisProto.render, + protoAxisSetCategories = axisProto.setCategories, + protoTickGetLabelSize = tickProto.getLabelSize, + protoTickAddLabel = tickProto.addLabel, + protoTickDestroy = tickProto.destroy, + protoTickRender = tickProto.render; + + function deepClone(thing) { + return JSON.parse(JSON.stringify(thing)); + } + + function Category(obj, parent) { + this.userOptions = deepClone(obj); + this.name = obj.name || obj; + this.parent = parent; + + return this; + } + + Category.prototype.toString = function () { + var parts = [], + cat = this; + + while (cat) { + parts.push(cat.name); + cat = cat.parent; + } + + return parts.join(', '); + }; + + // returns sum of an array + function sum(arr) { + var l = arr.length, + x = 0; + + while (l--) { + x += arr[l]; + } + + return x; + } + + // Adds category leaf to array + function addLeaf(out, cat, parent) { + out.unshift(new Category(cat, parent)); + + while (parent) { + parent.leaves = parent.leaves ? (parent.leaves + 1) : 1; + parent = parent.parent; + } + } + + // Builds reverse category tree + function buildTree(cats, out, options, parent, depth) { + var len = cats.length, + cat; + + depth = depth ? depth : 0; + options.depth = options.depth ? options.depth : 0; + + while (len--) { + cat = cats[len]; + + if (cat.categories) { + if (parent) { + cat.parent = parent; + } + buildTree(cat.categories, out, options, cat, depth + 1); + } else { + addLeaf(out, cat, parent); + } + } + options.depth = mathMax(options.depth, depth); + } + + // Pushes part of grid to path + function addGridPart(path, d, width) { + // Based on crispLine from HC (#65) + if (d[0] === d[2]) { + d[0] = d[2] = mathRound(d[0]) - (width % 2 / 2); + } + if (d[1] === d[3]) { + d[1] = d[3] = mathRound(d[1]) + (width % 2 / 2); + } + + path.push( + 'M', + d[0], d[1], + 'L', + d[2], d[3] + ); + } + + // Returns tick position + function tickPosition(tick, pos) { + return tick.getPosition(tick.axis.horiz, pos, tick.axis.tickmarkOffset); + } + + function walk(arr, key, fn) { + var l = arr.length, + children; + + while (l--) { + children = arr[l][key]; + + if (children) { + walk(children, key, fn); + } + fn(arr[l]); + } + } + + // + // Axis prototype + // + + axisProto.init = function (chart, options) { + // default behaviour + protoAxisInit.call(this, chart, options); + + if (typeof options === 'object' && options.categories) { + this.setupGroups(options); + } + }; + + // setup required axis options + axisProto.setupGroups = function (options) { + var categories = deepClone(options.categories), + reverseTree = [], + stats = {}, + labelOptions = this.options.labels, + userAttr = labelOptions.groupedOptions, + css = labelOptions.style; + + // build categories tree + buildTree(categories, reverseTree, stats); + + // set axis properties + this.categoriesTree = categories; + this.categories = reverseTree; + this.isGrouped = stats.depth !== 0; + this.labelsDepth = stats.depth; + this.labelsSizes = []; + this.labelsGridPath = []; + this.tickLength = options.tickLength || this.tickLength || null; + // #66: tickWidth for x axis defaults to 1, for y to 0 + this.tickWidth = pick(options.tickWidth, this.isXAxis ? 1 : 0); + this.directionFactor = [-1, 1, 1, -1][this.side]; + this.options.lineWidth = pick(options.lineWidth, 1); + // #85: align labels vertically + this.groupFontHeights = []; + for (var i = 0; i <= stats.depth; i++) { + var hasOptions = userAttr && userAttr[i - 1], + mergedCSS = hasOptions && userAttr[i - 1].style ? merge(css, userAttr[i - 1].style) : css; + this.groupFontHeights[i] = Math.round(this.chart.renderer.fontMetrics(mergedCSS ? mergedCSS.fontSize : 0).b * 0.3); + } + }; + + + axisProto.render = function () { + // clear grid path + if (this.isGrouped) { + this.labelsGridPath = []; + } + + // cache original tick length + if (this.originalTickLength === UNDEFINED) { + this.originalTickLength = this.options.tickLength; + } + + // use default tickLength for not-grouped axis + // and generate grid on grouped axes, + // use tiny number to force highcharts to hide tick + this.options.tickLength = this.isGrouped ? 0.001 : this.originalTickLength; + + protoAxisRender.call(this); + + if (!this.isGrouped) { + if (this.labelsGrid) { + this.labelsGrid.attr({ + visibility: 'hidden' + }); + } + return false; + } + + var axis = this, + options = axis.options, + top = axis.top, + left = axis.left, + right = left + axis.width, + bottom = top + axis.height, + visible = axis.hasVisibleSeries || axis.hasData, + depth = axis.labelsDepth, + grid = axis.labelsGrid, + horiz = axis.horiz, + d = axis.labelsGridPath, + i = options.drawHorizontalBorders === false ? (depth + 1) : 0, + offset = axis.opposite ? (horiz ? top : right) : (horiz ? bottom : left), + tickWidth = axis.tickWidth, + part; + + if (axis.userTickLength) { + depth -= 1; + } + + // render grid path for the first time + if (!grid) { + grid = axis.labelsGrid = axis.chart.renderer.path() + .attr({ + // #58: use tickWidth/tickColor instead of lineWidth/lineColor: + strokeWidth: tickWidth, // < 4.0.3 + 'stroke-width': tickWidth, // 4.0.3+ #30 + stroke: options.tickColor || '' // for styled mode (tickColor === undefined) + }) + .add(axis.axisGroup); + // for styled mode - add class + if (!options.tickColor) { + grid.addClass('highcharts-tick'); + } + } + + // go through every level and draw horizontal grid line + while (i <= depth) { + offset += axis.groupSize(i); + + part = horiz ? + [left, offset, right, offset] : + [offset, top, offset, bottom]; + + addGridPart(d, part, tickWidth); + i++; + } + + // draw grid path + grid.attr({ + d: d, + visibility: visible ? 'visible' : 'hidden' + }); + + axis.labelGroup.attr({ + visibility: visible ? 'visible' : 'hidden' + }); + + + walk(axis.categoriesTree, 'categories', function (group) { + var tick = group.tick; + + if (!tick) { + return false; + } + if (tick.startAt + tick.leaves - 1 < axis.min || tick.startAt > axis.max) { + tick.label.hide(); + tick.destroyed = 0; + } else { + tick.label.attr({ + visibility: visible ? 'visible' : 'hidden' + }); + } + return true; + }); + return true; + }; + + axisProto.setCategories = function (newCategories, doRedraw) { + if (this.categories) { + this.cleanGroups(); + } + this.setupGroups({ + categories: newCategories + }); + this.categories = this.userOptions.categories = newCategories; + protoAxisSetCategories.call(this, this.categories, doRedraw); + }; + + // cleans old categories + axisProto.cleanGroups = function () { + var ticks = this.ticks, + n; + + for (n in ticks) { + if (ticks[n].parent) { + delete ticks[n].parent; + } + } + walk(this.categoriesTree, 'categories', function (group) { + var tick = group.tick; + + if (!tick) { + return false; + } + tick.label.destroy(); + + each(tick, function (v, i) { + delete tick[i]; + }); + delete group.tick; + + return true; + }); + this.labelsGrid = null; + }; + + // keeps size of each categories level + axisProto.groupSize = function (level, position) { + var positions = this.labelsSizes, + direction = this.directionFactor, + groupedOptions = this.options.labels.groupedOptions ? this.options.labels.groupedOptions[level - 1] : false, + userXY = 0; + + if (groupedOptions) { + if (direction === -1) { + userXY = groupedOptions.x ? groupedOptions.x : 0; + } else { + userXY = groupedOptions.y ? groupedOptions.y : 0; + } + } + + if (position !== UNDEFINED) { + positions[level] = mathMax(positions[level] || 0, position + 10 + Math.abs(userXY)); + } + + if (level === true) { + return sum(positions) * direction; + } else if (positions[level]) { + return positions[level] * direction; + } + + return 0; + }; + + // + // Tick prototype + // + + // Override methods prototypes + tickProto.addLabel = function () { + var tick = this, + axis = tick.axis, + labelOptions = pick( + tick.options && tick.options.labels, + axis.options.labels + ), + category, + formatter; + + protoTickAddLabel.call(tick); + + if (!axis.categories || !(category = axis.categories[tick.pos])) { + return false; + } + + // set label text - but applied after formatter #46 + if (tick.label) { + formatter = function (ctx) { + if (labelOptions.formatter) { + return labelOptions.formatter.call(ctx, ctx); + } + if (labelOptions.format) { + ctx.text = axis.defaultLabelFormatter.call(ctx); + return HC.format(labelOptions.format, ctx, axis.chart); + } + return axis.defaultLabelFormatter.call(ctx, ctx); + }; + + tick.label.attr('text', formatter({ + axis: axis, + chart: axis.chart, + isFirst: tick.isFirst, + isLast: tick.isLast, + value: category.name, + pos: tick.pos + })); + + // update with new text length, since textSetter removes the size caches when text changes. #137 + tick.label.textPxLength = tick.label.getBBox().width; + } + + // create elements for parent categories + if (axis.isGrouped && axis.options.labels.enabled) { + tick.addGroupedLabels(category); + } + return true; + }; + + // render ancestor label + tickProto.addGroupedLabels = function (category) { + var tick = this, + axis = this.axis, + chart = axis.chart, + options = axis.options.labels, + useHTML = options.useHTML, + css = options.style, + userAttr = options.groupedOptions, + attr = { + align: 'center', + rotation: options.rotation, + x: 0, + y: 0 + }, + size = axis.horiz ? 'height' : 'width', + depth = 0, + label; + + + while (tick) { + if (depth > 0 && !category.tick) { + // render label element + this.value = category.name; + var name = options.formatter ? options.formatter.call(this, category) : category.name, + hasOptions = userAttr && userAttr[depth - 1], + mergedAttrs = hasOptions ? merge(attr, userAttr[depth - 1]) : attr, + mergedCSS = hasOptions && userAttr[depth - 1].style ? merge(css, userAttr[depth - 1].style) : css; + + // #63: style is passed in CSS and not as an attribute + delete mergedAttrs.style; + + label = chart.renderer.text(name, 0, 0, useHTML) + .attr(mergedAttrs) + .add(axis.labelGroup); + + // css should only be set for non styledMode configuration. #167 + if (label && !chart.styledMode) { + label.css(mergedCSS); + } + + // tick properties + tick.startAt = this.pos; + tick.childCount = category.categories.length; + tick.leaves = category.leaves; + tick.visible = this.childCount; + tick.label = label; + tick.labelOffsets = { + x: mergedAttrs.x, + y: mergedAttrs.y + }; + + // link tick with category + category.tick = tick; + } + + // set level size, #93 + if (tick && tick.label) { + axis.groupSize(depth, tick.label.getBBox()[size]); + } + + // go up to the parent category + category = category.parent; + + if (category) { + tick = tick.parent = category.tick || {}; + } else { + tick = null; + } + + depth++; + } + }; + + // set labels position & render categories grid + tickProto.render = function (index, old, opacity) { + protoTickRender.call(this, index, old, opacity); + + var treeCat = this.axis.categories && this.axis.categories[this.pos]; + + if (!this.axis.isGrouped || !treeCat || this.pos > this.axis.max) { + return; + } + + var tick = this, + group = tick, + axis = tick.axis, + tickPos = tick.pos, + isFirst = tick.isFirst, + max = axis.max, + min = axis.min, + horiz = axis.horiz, + grid = axis.labelsGridPath, + size = axis.groupSize(0), + tickWidth = axis.tickWidth, + xy = tickPosition(tick, tickPos), + start = horiz ? xy.y : xy.x, + baseLine = axis.chart.renderer.fontMetrics(axis.options.labels.style ? axis.options.labels.style.fontSize : 0).b, + depth = 1, + reverseCrisp = ((horiz && xy.x === axis.pos + axis.len) || (!horiz && xy.y === axis.pos)) ? -1 : 0, // adjust grid lines for edges + gridAttrs, + lvlSize, + minPos, + maxPos, + attrs, + bBox; + + // render grid for "normal" categories (first-level), render left grid line only for the first category + if (isFirst) { + gridAttrs = horiz ? + [axis.left, xy.y, axis.left, xy.y + axis.groupSize(true)] : axis.isXAxis ? + [xy.x, axis.top, xy.x + axis.groupSize(true), axis.top] : [xy.x, axis.top + axis.len, xy.x + axis.groupSize(true), axis.top + axis.len]; + + addGridPart(grid, gridAttrs, tickWidth); + } + + if (horiz && axis.left < xy.x) { + addGridPart(grid, [xy.x - reverseCrisp, xy.y, xy.x - reverseCrisp, xy.y + size], tickWidth); + } else if (!horiz && axis.top <= xy.y) { + addGridPart(grid, [xy.x, xy.y + reverseCrisp, xy.x + size, xy.y + reverseCrisp], tickWidth); + } + + size = start + size; + + function fixOffset(tCat) { + var ret = 0; + if (isFirst) { + ret = tCat.parent.categories.indexOf(tCat.name); + ret = ret < 0 ? 0 : ret; + return ret; + } + return ret; + } + + + while (group.parent) { + group = group.parent; + + var fix = fixOffset(treeCat), + userX = group.labelOffsets.x, + userY = group.labelOffsets.y; + + minPos = tickPosition(tick, mathMax(group.startAt - 1, min - 1)); + maxPos = tickPosition(tick, mathMin(group.startAt + group.leaves - 1 - fix, max)); + bBox = group.label.getBBox(true); + lvlSize = axis.groupSize(depth); + // check if on the edge to adjust + reverseCrisp = ((horiz && maxPos.x === axis.pos + axis.len) || (!horiz && maxPos.y === axis.pos)) ? -1 : 0; + + attrs = horiz ? { + x: (minPos.x + maxPos.x) / 2 + userX, + y: size + axis.groupFontHeights[depth] + lvlSize / 2 + userY / 2 + } : { + x: size + lvlSize / 2 + userX, + y: (minPos.y + maxPos.y - bBox.height) / 2 + baseLine + userY + }; + + if (!isNaN(attrs.x) && !isNaN(attrs.y)) { + group.label.attr(attrs); + + if (grid) { + if (horiz && axis.left < maxPos.x) { + addGridPart(grid, [maxPos.x - reverseCrisp, size, maxPos.x - reverseCrisp, size + lvlSize], tickWidth); + } else if (!horiz && axis.top <= maxPos.y) { + addGridPart(grid, [size, maxPos.y + reverseCrisp, size + lvlSize, maxPos.y + reverseCrisp], tickWidth); + } + } + } + + size += lvlSize; + depth++; + } + }; + + tickProto.destroy = function () { + var group = this.parent; + + while (group) { + group.destroyed = group.destroyed ? (group.destroyed + 1) : 1; + group = group.parent; + } + + protoTickDestroy.call(this); + }; + + // return size of the label (height for horizontal, width for vertical axes) + tickProto.getLabelSize = function () { + if (this.axis.isGrouped === true) { + // #72, getBBox might need recalculating when chart is tall + var size = protoTickGetLabelSize.call(this) + 10, + topLabelSize = this.axis.labelsSizes[0]; + if (topLabelSize < size) { + this.axis.labelsSizes[0] = size; + } + return sum(this.axis.labelsSizes); + } + return protoTickGetLabelSize.call(this); + }; + + // Since datasorting is not supported by the plugin, + // override replaceMovedLabel method, #146. + HC.wrap(HC.Tick.prototype, 'replaceMovedLabel', function (proceed) { + if (!this.axis.isGrouped) { + proceed.apply(this, Array.prototype.slice.call(arguments, 1)); + } + }); + +})); diff --git a/docs/reference/libs/highcharts-10.2.0/plugins/highcharts-regression.js b/docs/reference/libs/highcharts-10.2.0/plugins/highcharts-regression.js new file mode 100644 index 0000000..6456598 --- /dev/null +++ b/docs/reference/libs/highcharts-10.2.0/plugins/highcharts-regression.js @@ -0,0 +1,667 @@ +(function(factory) { + "use strict"; + + if (typeof module === "object" && module.exports) { + module.exports = factory; + } else { + if(typeof define === "function" && define.amd){ + define(function() { + return factory + }); + } + else{ + if(typeof Highcharts !== "undefined"){ + factory(Highcharts); + } + else{ + void 0; + } + } + } +}(function (H) { + var processSerie = function (s, method, chart) { + if (s.regression && !s.rendered) { + s.regressionSettings = s.regressionSettings || {}; + s.regressionSettings.tooltip = s.regressionSettings.tooltip || {}; + s.regressionSettings.dashStyle = s.regressionSettings.dashStyle || 'solid'; + s.regressionSettings.decimalPlaces = s.regressionSettings.decimalPlaces || 2; + s.regressionSettings.useAllSeries = s.regressionSettings.useAllSeries || false; + s.regressionSettings.regressionSeriesOptions = s.regressionSettings.regressionSeriesOptions || {}; + + var regressionType = s.regressionSettings.type || "linear"; + var regression; + var extraSerie = s.regressionSettings.regressionSeriesOptions; + + // Set default values + extraSerie.data = []; + extraSerie.isRegressionLine = true; + if (extraSerie.color === undefined) extraSerie.color = s.regressionSettings.color || ''; + if (extraSerie.yAxis === undefined) extraSerie.yAxis = s.yAxis; + if (extraSerie.lineWidth === undefined) extraSerie.lineWidth = s.regressionSettings.lineWidth || 2; + if (extraSerie.marker === undefined) extraSerie.marker = { enabled: false }; + if (extraSerie.visible === undefined) extraSerie.visible = s.regressionSettings.visible; + if (extraSerie.type === undefined) extraSerie.type = s.regressionSettings.linetype || 'spline'; + if (extraSerie.name === undefined) extraSerie.name = s.regressionSettings.name || "Equation = %eq"; + if (extraSerie.id === undefined) extraSerie.id = s.regressionSettings.id; + if (extraSerie.dashStyle === undefined) extraSerie.dashStyle = s.regressionSettings.dashStyle || 'solid'; + if (extraSerie.showInLegend === undefined) extraSerie.showInLegend = !s.regressionSettings.hideInLegend; + if (extraSerie.tooltip === undefined) extraSerie.tooltip = s.regressionSettings.tooltip; + + if (s.regressionSettings.tooltip.valueSuffix === undefined) { + extraSerie.tooltip.valueSuffix = ' '; + } + + if (typeof s.regressionSettings.index !== 'undefined') { + extraSerie.index = s.regressionSettings.index; + } + if (typeof s.regressionSettings.legendIndex !== 'undefined') { + extraSerie.legendIndex = s.regressionSettings.legendIndex; + } + + var mergedData = s.data; + if (s.regressionSettings.useAllSeries) { + mergedData = []; + for (di = 0; di < series.length; di++) { + var seriesToMerge = series[di]; + mergedData = mergedData.concat(seriesToMerge.data); + } + } + + if (regressionType == "linear") { + var extrapolate = s.regressionSettings.extrapolate || 0; + regression = _linear(mergedData, s.regressionSettings.decimalPlaces, extrapolate); + extraSerie.type = "line"; + } else if (regressionType == "exponential") { + var extrapolate = s.regressionSettings.extrapolate || 0; + regression = _exponential(mergedData, extrapolate); + } + else if (regressionType == "polynomial") { + var order = s.regressionSettings.order || 2; + var extrapolate = s.regressionSettings.extrapolate || 0; + regression = _polynomial(mergedData, order, extrapolate); + } else if (regressionType == "power") { + var extrapolate = s.regressionSettings.extrapolate || 0; + regression = _power(mergedData, extrapolate); + } else if (regressionType == "logarithmic") { + var extrapolate = s.regressionSettings.extrapolate || 0; + regression = _logarithmic(mergedData, extrapolate); + } else if (regressionType == "loess") { + var loessSmooth = s.regressionSettings.loessSmooth || 25; + regression = _loess(mergedData, loessSmooth / 100); + } else { + console.error("Invalid regression type: ", regressionType); + return; + } + + regression.rSquared = coefficientOfDetermination(mergedData, regression.points); + regression.rValue = _round(Math.sqrt(regression.rSquared), s.regressionSettings.decimalPlaces); + regression.rSquared = _round(regression.rSquared, s.regressionSettings.decimalPlaces); + regression.standardError = _round(standardError(mergedData, regression.points), s.regressionSettings.decimalPlaces); + extraSerie.data = regression.points; + extraSerie.name = replaceRegressionPlaceholders(extraSerie.name, regression); + + if (s.regressionSettings.dataLabels !== undefined) { + for (let i = 0; i < s.regressionSettings.dataLabels.length; i++) { + var dataLabel = s.regressionSettings.dataLabels[i] + var dataLabelPoint = extraSerie.data[dataLabel.pointIndex]; + var dataLabelFormat = replaceRegressionPlaceholders(dataLabel.format, regression); + + if (dataLabelPoint !== undefined) { + extraSerie.data[dataLabel.pointIndex] = { + x: dataLabelPoint[0], + y: dataLabelPoint[1], + dataLabels: { + enabled: true, + format: dataLabelFormat + } + }; + } + } + } + + extraSerie.regressionOutputs = regression; + return extraSerie; + } + } + + H.wrap(H.Chart.prototype, 'init', function (proceed) { + var series = arguments[1].series; + var extraSeries = []; + var i = 0; + if (series) { + for (i = 0; i < series.length; i++) { + var s = series[i]; + if (s.regression) { + var extraSerie = processSerie(s, 'init', this); + extraSeries.push(extraSerie); + arguments[1].series[i].rendered = true; + } + } + } + + if (extraSerie) { + arguments[1].series = series.concat(extraSeries); + } + + proceed.apply(this, Array.prototype.slice.call(arguments, 1)); + + + }); + + H.wrap(H.Chart.prototype, 'addSeries', function (proceed) { + var s = arguments[1]; + var extraSerie = processSerie(s, 'addSeries', this); + arguments[1].rendered = true; + if (extraSerie) { + this.addSeries(extraSerie); + } + return proceed.apply(this, Array.prototype.slice.call(arguments, 1)); + }); + + + /** + * Code extracted from https://github.com/Tom-Alexander/regression-js/ + */ + function _exponential(data, extrapolate) { + var sum = [0, 0, 0, 0, 0, 0], n = 0, results = []; + + for (len = data.length; n < len; n++) { + if (data[n].x != null) { + data[n][0] = data[n].x; + data[n][1] = data[n].y; + } + if (data[n][1] != null) { + sum[0] += data[n][0]; // X + sum[1] += data[n][1]; // Y + sum[2] += data[n][0] * data[n][0] * data[n][1]; // XXY + sum[3] += data[n][1] * Math.log(data[n][1]); // Y Log Y + sum[4] += data[n][0] * data[n][1] * Math.log(data[n][1]); //YY Log Y + sum[5] += data[n][0] * data[n][1]; //XY + } + } + + var denominator = (sum[1] * sum[2] - sum[5] * sum[5]); + var A = Math.pow(Math.E, (sum[2] * sum[3] - sum[5] * sum[4]) / denominator); + var B = (sum[1] * sum[4] - sum[5] * sum[3]) / denominator; + + var resultLength = data.length + extrapolate; + var step = data[data.length - 1][0] - data[data.length - 2][0]; + + for (var i = 0, len = resultLength; i < len; i++) { + var answer = 0; + if(typeof data[i] !== 'undefined') { + var x = data[i][0]; + } else { + var x = data[data.length - 1][0] + (i - data.length) * step; + } + + var coordinate = [x, A * Math.pow(Math.E, B * x)]; + results.push(coordinate); + } + + results.sort(function (a, b) { + if (a[0] > b[0]) { + return 1; + } + if (a[0] < b[0]) { + return -1; + } + return 0; + }); + + var string = 'y = ' + Math.round(A * 100) / 100 + 'e^(' + Math.round(B * 100) / 100 + 'x)'; + + return {equation: [A, B], points: results, string: string}; + } + + + /** + * Code extracted from https://github.com/Tom-Alexander/regression-js/ + * Human readable formulas: + * + * N * Σ(XY) - Σ(X) + * intercept = --------------------- + * N * Σ(X^2) - Σ(X)^2 + * + * correlation = N * Σ(XY) - Σ(X) * Σ (Y) / √ ( N * Σ(X^2) - Σ(X) ) * ( N * Σ(Y^2) - Σ(Y)^2 ) ) ) + * + */ + function _linear(data, decimalPlaces, extrapolate) { + var sum = [0, 0, 0, 0, 0], n = 0, results = [], N = data.length; + + for (; n < data.length; n++) { + if (data[n]['x'] != null) { + data[n][0] = data[n].x; + data[n][1] = data[n].y; + } + if (data[n][1] != null) { + sum[0] += data[n][0]; //Σ(X) + sum[1] += data[n][1]; //Σ(Y) + sum[2] += data[n][0] * data[n][0]; //Σ(X^2) + sum[3] += data[n][0] * data[n][1]; //Σ(XY) + sum[4] += data[n][1] * data[n][1]; //Σ(Y^2) + } else { + N -= 1; + } + } + + var gradient = (N * sum[3] - sum[0] * sum[1]) / (N * sum[2] - sum[0] * sum[0]); + var intercept = (sum[1] / N) - (gradient * sum[0]) / N; + // var correlation = (N * sum[3] - sum[0] * sum[1]) / Math.sqrt((N * sum[2] - sum[0] * sum[0]) * (N * sum[4] - sum[1] * sum[1])); + + var resultLength = data.length + extrapolate; + var step = data[data.length - 1][0] - data[data.length - 2][0]; + + for (var i = 0, len = resultLength; i < len; i++) { + var answer = 0; + if(typeof data[i] !== 'undefined') { + var x = data[i][0]; + } else { + var x = data[data.length - 1][0] + (i - data.length) * step; + } + + var coorY = x * gradient + intercept; + if (decimalPlaces) + coorY = parseFloat(coorY.toFixed(decimalPlaces)); + var coordinate = [x, coorY]; + results.push(coordinate); + } + + results.sort(function (a, b) { + if (a[0] > b[0]) { + return 1; + } + if (a[0] < b[0]) { + return -1; + } + return 0; + }); + + var string = 'y = ' + Math.round(gradient * 100) / 100 + 'x + ' + Math.round(intercept * 100) / 100; + return {equation: [gradient, intercept], points: results, string: string}; + } + + /** + * Code extracted from https://github.com/Tom-Alexander/regression-js/ + */ + function _logarithmic(data, extrapolate) { + var sum = [0, 0, 0, 0], n = 0, results = [], mean = 0; + + + for (len = data.length; n < len; n++) { + if (data[n].x != null) { + data[n][0] = data[n].x; + data[n][1] = data[n].y; + } + if (data[n][1] != null) { + sum[0] += Math.log(data[n][0]); + sum[1] += data[n][1] * Math.log(data[n][0]); + sum[2] += data[n][1]; + sum[3] += Math.pow(Math.log(data[n][0]), 2); + } + } + + var B = (n * sum[1] - sum[2] * sum[0]) / (n * sum[3] - sum[0] * sum[0]); + var A = (sum[2] - B * sum[0]) / n; + + var resultLength = data.length + extrapolate; + var step = data[data.length - 1][0] - data[data.length - 2][0]; + + for (var i = 0, len = resultLength; i < len; i++) { + var answer = 0; + if(typeof data[i] !== 'undefined') { + var x = data[i][0]; + } else { + var x = data[data.length - 1][0] + (i - data.length) * step; + } + + var coordinate = [x, A + B * Math.log(x)]; + results.push(coordinate); + } + + results.sort(function (a, b) { + if (a[0] > b[0]) { + return 1; + } + if (a[0] < b[0]) { + return -1; + } + return 0; + }); + + var string = 'y = ' + Math.round(A * 100) / 100 + ' + ' + Math.round(B * 100) / 100 + ' ln(x)'; + + return {equation: [A, B], points: results, string: string}; + } + + /** + * Code extracted from https://github.com/Tom-Alexander/regression-js/ + */ + function _power(data, extrapolate) { + var sum = [0, 0, 0, 0], n = 0, results = []; + + for (len = data.length; n < len; n++) { + if (data[n].x != null) { + data[n][0] = data[n].x; + data[n][1] = data[n].y; + } + if (data[n][1] != null) { + sum[0] += Math.log(data[n][0]); + sum[1] += Math.log(data[n][1]) * Math.log(data[n][0]); + sum[2] += Math.log(data[n][1]); + sum[3] += Math.pow(Math.log(data[n][0]), 2); + } + } + + var B = (n * sum[1] - sum[2] * sum[0]) / (n * sum[3] - sum[0] * sum[0]); + var A = Math.pow(Math.E, (sum[2] - B * sum[0]) / n); + + var resultLength = data.length + extrapolate; + var step = data[data.length - 1][0] - data[data.length - 2][0]; + + for (var i = 0, len = resultLength; i < len; i++) { + var answer = 0; + if(typeof data[i] !== 'undefined') { + var x = data[i][0]; + } else { + var x = data[data.length - 1][0] + (i - data.length) * step; + } + + var coordinate = [x, A * Math.pow(x, B)]; + results.push(coordinate); + } + + results.sort(function (a, b) { + if (a[0] > b[0]) { + return 1; + } + if (a[0] < b[0]) { + return -1; + } + return 0; + }); + + var string = 'y = ' + Math.round(A * 100) / 100 + 'x^' + Math.round(B * 100) / 100; + + return {equation: [A, B], points: results, string: string}; + } + + /** + * Code extracted from https://github.com/Tom-Alexander/regression-js/ + */ + function _polynomial(data, order, extrapolate) { + if (typeof order == 'undefined') { + order = 2; + } + var lhs = [], rhs = [], results = [], a = 0, b = 0, i = 0, k = order + 1; + + for (; i < k; i++) { + for (var l = 0, len = data.length; l < len; l++) { + if (data[l].x != null) { + data[l][0] = data[l].x; + data[l][1] = data[l].y; + } + if (data[l][1] != null) { + a += Math.pow(data[l][0], i) * data[l][1]; + } + } + lhs.push(a); + a = 0; + var c = []; + for (var j = 0; j < k; j++) { + for (var l = 0, len = data.length; l < len; l++) { + if (data[l][1]) { + b += Math.pow(data[l][0], i + j); + } + } + c.push(b); + b = 0; + } + rhs.push(c); + } + rhs.push(lhs); + + var equation = gaussianElimination(rhs, k); + + var resultLength = data.length + extrapolate; + var step = data[data.length - 1][0] - data[data.length - 2][0]; + for (var i = 0, len = resultLength; i < len; i++) { + var answer = 0; + var x = 0; + if (typeof data[i] !== 'undefined') { + x = data[i][0]; + } else { + x = data[data.length - 1][0] + (i - data.length) * step; + } + + for (var w = 0; w < equation.length; w++) { + answer += equation[w] * Math.pow(x, w); + } + results.push([x, answer]); + } + + results.sort(function (a, b) { + if (a[0] > b[0]) { + return 1; + } + if (a[0] < b[0]) { + return -1; + } + return 0; + }); + + var string = 'y = '; + + for (var i = equation.length - 1; i >= 0; i--) { + if (i > 1) string += Math.round(equation[i] * 100) / 100 + 'x^' + i + ' + '; + else if (i == 1) string += Math.round(equation[i] * 100) / 100 + 'x' + ' + '; + else string += Math.round(equation[i] * 100) / 100; + } + + return {equation: equation, points: results, string: string}; + } + + /** + * @author: Ignacio Vazquez + * Based on + * - http://commons.apache.org/proper/commons-math/download_math.cgi LoesInterpolator.java + * - https://gist.github.com/avibryant/1151823 + */ + function _loess(data, bandwidth) { + bandwidth = bandwidth || 0.25; + + var xval = data.map(function (pair) { + return pair.x || pair[0]; + }); + var distinctX = array_unique(xval); + if (2 / distinctX.length > bandwidth) { + bandwidth = Math.min(2 / distinctX.length, 1); + console.warn("updated bandwith to " + bandwidth); + } + + var yval = data.map(function (pair) { + return pair.y || pair[1]; + }); + + function array_unique(values) { + var o = {}, i, l = values.length, r = []; + for (i = 0; i < l; i += 1) o[values[i]] = values[i]; + for (i in o) r.push(o[i]); + return r; + } + + function tricube(x) { + var tmp = 1 - x * x * x; + return tmp * tmp * tmp; + } + + var res = []; + + var left = 0; + var right = Math.floor(bandwidth * xval.length) - 1; + + for (var i in xval) { + var x = xval[i]; + + if (i > 0) { + if (right < xval.length - 1 && + xval[right + 1] - xval[i] < xval[i] - xval[left]) { + left++; + right++; + } + } + //console.debug("left: "+left + " right: " + right ); + var edge; + if (xval[i] - xval[left] > xval[right] - xval[i]) + edge = left; + else + edge = right; + var denom = Math.abs(1.0 / (xval[edge] - x)); + var sumWeights = 0; + var sumX = 0, sumXSquared = 0, sumY = 0, sumXY = 0; + + var k = left; + while (k <= right) { + var xk = xval[k]; + var yk = yval[k]; + var dist; + if (k < i) { + dist = (x - xk); + } else { + dist = (xk - x); + } + var w = tricube(dist * denom); + var xkw = xk * w; + sumWeights += w; + sumX += xkw; + sumXSquared += xk * xkw; + sumY += yk * w; + sumXY += yk * xkw; + k++; + } + + var meanX = sumX / sumWeights; + //console.debug(meanX); + var meanY = sumY / sumWeights; + var meanXY = sumXY / sumWeights; + var meanXSquared = sumXSquared / sumWeights; + + var beta; + if (meanXSquared == meanX * meanX) + beta = 0; + else + beta = (meanXY - meanX * meanY) / (meanXSquared - meanX * meanX); + + var alpha = meanY - beta * meanX; + res[i] = beta * x + alpha; + } + //console.debug(res); + return { + equation: "", + points: xval.map(function (x, i) { + return [x, res[i]]; + }), + string: "" + }; + } + + + /** + * Code extracted from https://github.com/Tom-Alexander/regression-js/ + */ + function gaussianElimination(a, o) { + var i = 0, j = 0, k = 0, maxrow = 0, tmp = 0, n = a.length - 1, x = new Array(o); + for (i = 0; i < n; i++) { + maxrow = i; + for (j = i + 1; j < n; j++) { + if (Math.abs(a[i][j]) > Math.abs(a[i][maxrow])) + maxrow = j; + } + for (k = i; k < n + 1; k++) { + tmp = a[k][i]; + a[k][i] = a[k][maxrow]; + a[k][maxrow] = tmp; + } + for (j = i + 1; j < n; j++) { + for (k = n; k >= i; k--) { + a[k][j] -= a[k][i] * a[i][j] / a[i][i]; + } + } + } + for (j = n - 1; j >= 0; j--) { + tmp = 0; + for (k = j + 1; k < n; k++) + tmp += a[k][j] * x[k]; + x[j] = (a[n][j] - tmp) / a[j][j]; + } + return (x); + } + + /** + * @author Ignacio Vazquez + * See http://en.wikipedia.org/wiki/Coefficient_of_determination for theaorical details + */ + function coefficientOfDetermination(data, pred) { + // Sort the initial data { pred array (model's predictions) is sorted } + // The initial data must be sorted in the same way in order to calculate the coefficients + data.sort(function (a, b) { + if (a[0] > b[0]) { + return 1; + } + if (a[0] < b[0]) { + return -1; + } + return 0; + }); + + // Calc the mean + var mean = 0; + var N = data.length; + for (var i = 0; i < data.length; i++) { + if (data[i][1] != null) { + mean += data[i][1]; + } else { + N--; + } + } + mean /= N; + + // Calc the coefficent of determination + var SSE = 0; + var SSYY = 0; + for (var i = 0; i < data.length; i++) { + if (data[i][1] != null) { + SSYY += Math.pow(data[i][1] - pred[i][1], 2); + SSE += Math.pow(data[i][1] - mean, 2); + } + } + return 1 - ( SSYY / SSE); + } + + function standardError(data, pred) { + var SE = 0, N = data.length; + + for (var i = 0; i < data.length; i++) { + if (data[i][1] != null) { + SE += Math.pow(data[i][1] - pred[i][1], 2); + } else { + N--; + } + } + SE = Math.sqrt(SE / (N - 2)); + + return SE; + } + + function _round(number, decimalPlaces) { + var decimalFactor = Math.pow(10, decimalPlaces); + return Math.round(number * decimalFactor) / decimalFactor; + } + function replaceRegressionPlaceholders(text, regression) { + return text + .replace("%r2", regression.rSquared) + .replace("%r", regression.rValue) + .replace("%eq", regression.string) + .replace("%se", regression.standardError); + } +})); diff --git a/docs/reference/libs/highcharts-10.2.0/plugins/motion.js b/docs/reference/libs/highcharts-10.2.0/plugins/motion.js new file mode 100644 index 0000000..dc312b5 --- /dev/null +++ b/docs/reference/libs/highcharts-10.2.0/plugins/motion.js @@ -0,0 +1,256 @@ +/** + * @license http://creativecommons.org/licenses/by-sa/4.0/ Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) + * @author Lars Cabrera + * @version 1.0.9 + */ + +// JSLint options: +/*global Highcharts, window*/ + +(function (H) { + // Check if object is array + function isArray(obj) { + return Object.prototype.toString.call(obj) === '[object Array]'; + } + + + // Sets up motion ready to use + function Motion(chart) { + var motion = this; + + this.chart = chart; + this.paused = true; + this.options = H.merge(this.defaultOptions, this.chart.options.motion); + this.dataSeries = []; + this.dataLength = 0; + motion.options.series = H.splat(motion.options.series); + Highcharts.each(this.chart.series, function (series, index) { + if (motion.options.series.indexOf(index) >= 0) { + motion.dataSeries[index] = series; + for (var i = 0; i < series.data.length; i++) { + if (series.data[i].sequence) { + motion.dataLength = Math.max(motion.dataLength, series.data[i].sequence.length); + } + } + } + }); + + // Play-controls HTML-div + this.playControls = H.createElement('div', { + id: 'play-controls' + }, null, this.chart.renderTo, null); + + // Play/pause HTML-button + this.playPauseBtn = H.createElement('button', { + id: 'play-pause-button', + title: 'play' + }, null, this.playControls, null); + this.playPauseBtn.className = this.options.playIcon; + + // Play-range HTML-input + this.playRange = H.createElement('input', { + id: 'play-range', + type: 'range', + min: 0, + max: this.dataLength - 1, + step: this.options.magnet.step + }, null, this.playControls, null); + // Important: max must be set before value in order to allow for + // higher numbers than 100. + this.playRange.value = H.pick(this.options.startIndex, this.dataLength - 1); + + // Play-range HTML-output + this.playOutput = H.createElement('label', { + id: 'play-output', + name: this.options.axisLabel + }, null, this.playControls, null); + if (isArray(this.options.labels)) { + this.playOutput.innerHTML = this.options.labels[this.dataLength - 1] || ''; + } else { + this.playOutput.innerHTML = this.dataLength - 1; + } + + // Common key event handler function + function handleKeyEvents(e) { + e = e || window.event; + switch (e.which) { + case 32: // Space + motion.togglePlayPause(); + break; + case 37: // Left + motion.playRange.value = motion.round(parseFloat(motion.playRange.value) - 1); + motion.updateChart(motion.playRange.value); + break; + case 39: // Right + motion.playRange.value = motion.round(parseFloat(motion.playRange.value) + 1); + motion.updateChart(motion.playRange.value); + break; + default: + return; + } + e.preventDefault(); + } + + // Bind controls to events + Highcharts.addEvent(this.playPauseBtn, 'click', function () { + motion.togglePlayPause(); + }); + Highcharts.addEvent(this.playRange, 'mouseup', function () { + motion.attractToStep(); + }); + Highcharts.addEvent(this.playRange, 'input', function () { + motion.updateChart(this.value); + }); + + // Request focus to the controls when clicking on controls div + Highcharts.addEvent(this.playControls, 'click', function () { + motion.playRange.focus(); + }); + // Bind keys to events + Highcharts.addEvent(this.playPauseBtn, 'keydown', handleKeyEvents); + Highcharts.addEvent(this.playRange, 'keydown', handleKeyEvents); + + // Initial value + this.inputValue = parseFloat(this.playRange.value); + + // Initial update + this.updateChart(this.inputValue); + + // Auto-play + if (this.options.autoPlay) { + this.play(); + } + } + + // Default options for Motion + Motion.prototype.defaultOptions = { + enabled: true, + axisLabel: 'year', + autoPlay : false, + loop: false, + series: 0, + updateInterval: 10, + magnet: { + round: 'round', + step: 0.01 + }, + playIcon: "fa fa-play", + pauseIcon: "fa fa-pause" + }; + + // Toggles between Play and Pause states, and makes calls to changeButtonType() + // From http://www.creativebloq.com/html5/build-custom-html5-video-player-9134473 + Motion.prototype.togglePlayPause = function () { + this[this.paused ? 'play' : 'pause'](); + }; + + // Plays the motion, continuously updating the chart + Motion.prototype.play = function () { + var motion = this; + if (this.paused && parseFloat(this.playRange.value) === parseFloat(this.playRange.max)) { + this.reset(); + } + this.changeButtonType('pause'); + this.paused = false; + this.timer = setInterval(function () { + motion.playUpdate(); + }, this.options.updateInterval); + }; + + // Pauses the motion, which stops updating the chart + Motion.prototype.pause = function () { + this.changeButtonType('play'); + this.paused = true; + window.clearInterval(this.timer); + this.attractToStep(); + }; + + // Resets the motion and updates the chart. Does not pause + Motion.prototype.reset = function () { + this.playRange.value = this.playRange.min; + this.updateChart(this.playRange.value); + }; + + // Updates a button's title, innerHTML and CSS class to a certain value + Motion.prototype.changeButtonType = function (value) { + this.playPauseBtn.title = value; + this.playPauseBtn.className = value + " "; + if (value == 'play') { + this.playPauseBtn.className += this.options.playIcon; + } else if (value == 'pause') { + this.playPauseBtn.className += this.options.pauseIcon;; + } + }; + + // Called continuously while playing + Motion.prototype.playUpdate = function () { + if (!this.paused) { + this.inputValue = parseFloat(this.playRange.value); + this.playRange.value = this.inputValue + this.options.magnet.step; + this.attractToStep(); + this.updateChart(this.playRange.value); // Use playRange.value to get updated value + if (this.playRange.value >= parseFloat(this.playRange.max)) { // Auto-pause + if (this.options.loop) { + this.reset(); + } else { + this.pause(); + } + } + } + }; + + // Updates chart data and redraws the chart + Motion.prototype.updateChart = function (inputValue) { + var seriesKey, + series, + point, + roundedInput = this.round(inputValue), + i; + if (this.currentAxisValue !== roundedInput) { + this.currentAxisValue = roundedInput; + this.chart.options.motion.startIndex = roundedInput; + for (seriesKey in this.dataSeries) { + if (this.dataSeries.hasOwnProperty(seriesKey)) { + series = this.dataSeries[seriesKey]; + for (i = 0; i < series.data.length; i++) { + point = series.data[i]; + try { + if (point.sequence) { + point.update(point.sequence[roundedInput], false, false); + } + } catch (e) { + console.error('Error:', e, ' \nat point:', point, ' \nwith new value:', point.sequence[roundedInput]); + } + } + } + } + this.chart.redraw(); + this.attractToStep(); + } + }; + + // Moves output value to data point + Motion.prototype.attractToStep = function () { + if (isArray(this.options.labels)) { + this.playOutput.innerHTML = this.options.labels[this.round(this.playRange.value)] || ''; + } else { + this.playOutput.innerHTML = this.round(this.playRange.value); + } + }; + + // Returns an integer rounded up, down or even depending on + // motion.magnet.round options. + Motion.prototype.round = function (number) { + return Math[this.options.magnet.round](number); + }; + + // Initiates motion automatically if motion options object exists and + // is not disabled + H.Chart.prototype.callbacks.push(function (chart) { + if (chart.options.motion && chart.options.motion.enabled) { + chart.motion = new Motion(chart); + } + }); + + H.Motion = Motion; +}(Highcharts)); diff --git a/docs/reference/libs/highcharts-10.2.0/plugins/multicolor_series.js b/docs/reference/libs/highcharts-10.2.0/plugins/multicolor_series.js new file mode 100644 index 0000000..75cae30 --- /dev/null +++ b/docs/reference/libs/highcharts-10.2.0/plugins/multicolor_series.js @@ -0,0 +1,662 @@ +/** +* Multicolor Series v2.4.0(2022-03-15) +* +* (c) 2012-2022 Black Label +* +* License: Creative Commons Attribution (CC) +*/ +/* global Highcharts window document module:true */ +/** + * @fileoverview + * @suppress {checkTypes} + */ +(function (factory) { + if (typeof module === 'object' && module.exports) { + module.exports = factory; + } else { + factory(Highcharts); + } +}(function (H) { + var seriesTypes = H.seriesTypes, + pick = H.pick, + UNDEFINED, + NORMAL_STATE = '', + VISIBLE = 'visible', + HIDDEN = 'hidden', + PREFIX = 'highcharts-', + NONE = 'none', + hasTouch = document.documentElement.ontouchstart !== UNDEFINED, + TRACKER_FILL = 'rgba(192,192,192,' + (H.hasSVG ? 0.0001 : 0.002) + ')', // invisible but clickable + M = 'M', + L = 'L'; + + // handle unsorted data, throw error anyway + function error(code, stop) { + var msg = 'Highcharts error #' + code + ': www.highcharts.com/errors/' + code; + if (stop) { + throw msg; + } else if (window.console) { + console.log(msg); // eslint-disable-line + } + } + + /** + If replacing L and M in tracker will be necessary use that getPath(): + + function getPath(arr){ + var ret = []; + arr.forEach(function(el, ind) { + var len = el[0].length; + for(var i = 0; i < len; i++){ + var p = el[0][i]; + if(p == M && ind != 0 && i == 0) { + p = L; + } + ret.push(p); + } + }); + return ret; + } + **/ + + + function getPath(arr) { + var ret = []; + arr.forEach(function (el) { + ret = ret.concat(el[0]); + }); + return ret; + } + + /** + * Return the graph path of a segment - compatibility with 4.2.3+ + * @param {Object} segment of the path + * @returns {Array} Path (SVG) + */ + H.Series.prototype.getSegmentPath = function (segment) { + var series = this, + segmentPath = [], + step = series.options.step; + + // build the segment line + segment.forEach(function (point, i) { + var plotX = point.plotX, + plotY = point.plotY, + lastPoint; + + if (series.getPointSpline) { + // generate the spline as defined in the SplineSeries object + segmentPath.push.apply(segmentPath, series.getPointSpline(segment, point, i)); + } else { + // moveTo or lineTo + segmentPath.push(i ? L : M); + + // step line? + if (step && i) { + lastPoint = segment[i - 1]; + if (step === 'right') { + segmentPath.push( + lastPoint.plotX, + plotY, + L + ); + } else if (step === 'center') { + segmentPath.push( + (lastPoint.plotX + plotX) / 2, + lastPoint.plotY, + L, + (lastPoint.plotX + plotX) / 2, + plotY, + L + ); + } else { + segmentPath.push( + plotX, + lastPoint.plotY, + L + ); + } + } + + // normal line to next point + segmentPath.push( + point.plotX, + point.plotY + ); + } + }); + + return segmentPath; + }; + + /** + * + * ColoredLine series type + * + **/ + + seriesTypes.coloredline = H.extendClass(seriesTypes.line); + + H.seriesTypes.coloredline.prototype.processData = function (force) { + var series = this, + processedXData = series.xData, // copied during slice operation below + processedYData = series.yData, + cropStart = 0, + cropped, + distance, + closestPointRange, + xAxis = series.xAxis, + i, // loop variable + options = series.options, + isCartesian = series.isCartesian; + + // If the series data or axes haven't changed, don't go through this. Return false to pass + // the message on to override methods like in data grouping. + if (isCartesian && !series.isDirty && !xAxis.isDirty && !series.yAxis.isDirty && !force) { + return false; + } + + // Find the closest distance between processed points + for (i = processedXData.length - 1; i >= 0; i--) { + distance = processedXData[i] - processedXData[i - 1]; + if (distance > 0 && (closestPointRange === UNDEFINED || distance < closestPointRange)) { + closestPointRange = distance; + + // Unsorted data is not supported by the line tooltip, as well as data grouping and + // navigation in Stock charts (#725) and width calculation of columns (#1900) + } else if (distance < 0 && series.requireSorting) { + error(15); + } + } + + // Record the properties + series.cropped = cropped; // undefined or true + series.cropStart = cropStart; + series.processedXData = processedXData; + series.processedYData = processedYData; + + if (options.pointRange === null) { // null means auto, as for columns, candlesticks and OHLC + series.pointRange = closestPointRange || 1; + } + series.closestPointRange = closestPointRange; + return true; + }; + + H.seriesTypes.coloredline.prototype.drawTracker = function () { + var series = this, + options = series.options, + trackByArea = options.trackByArea, + trackerPath = [].concat(trackByArea ? series.areaPath : getPath(series.graphPath)), + trackerPathLength = trackerPath.length, + chart = series.chart, + pointer = chart.pointer, + renderer = chart.renderer, + snap = chart.options.tooltip.snap, + tracker = series.tracker, + cursor = options.cursor, + css = cursor && { cursor: cursor }, + singlePoints = series.singlePoints, + singlePoint, + i, + onMouseOver; + + onMouseOver = function () { + if (chart.hoverSeries !== series) { + series.onMouseOver(); + } + }; + // Extend end points. A better way would be to use round linecaps, + // but those are not clickable in VML. + if (trackerPathLength && !trackByArea) { + i = trackerPathLength + 1; + while (i--) { + if (trackerPath[i] === M) { // extend left side + trackerPath.splice(i + 1, 0, trackerPath[i + 1] - snap, trackerPath[i + 2], L); + } + if ((i && trackerPath[i] === M) || i === trackerPathLength) { // extend right side + trackerPath.splice(i, 0, L, trackerPath[i - 2] + snap, trackerPath[i - 1]); + } + } + } + + // handle single points + for (i = 0; i < singlePoints.length; i++) { + singlePoint = singlePoints[i]; + if (singlePoint.plotX && singlePoint.plotY) { + trackerPath.push(M, singlePoint.plotX - snap, singlePoint.plotY, + L, singlePoint.plotX + snap, singlePoint.plotY); + } + } + + // draw the tracker + if (tracker) { + tracker.attr({ d: trackerPath }); + } else { // create + series.tracker = renderer.path(trackerPath) + .attr({ + 'stroke-linejoin': 'round', // #1225 + visibility: series.visible ? VISIBLE : HIDDEN, + stroke: TRACKER_FILL, + fill: trackByArea ? TRACKER_FILL : NONE, + 'stroke-width': options.lineWidth + (trackByArea ? 0 : 2 * snap), + zIndex: 2 + }) + .add(series.group); + + // The tracker is added to the series group, which is clipped, but is covered + // by the marker group. So the marker group also needs to capture events. + [series.tracker, series.markerGroup].forEach(function (track) { + track.addClass(PREFIX + 'tracker') + .on('mouseover', onMouseOver) + .on('mouseout', function (e) { pointer.onTrackerMouseOut(e); }); + + if (css) { + track.css(css); + } + + if (hasTouch) { + track.on('touchstart', onMouseOver); + } + }); + } + + }; + + H.seriesTypes.coloredline.prototype.setState = function (state) { + var series = this, + options = series.options, + graph = series.graph, + stateOptions = options.states, + lineWidth = options.lineWidth, + attribs; + + state = state || NORMAL_STATE; + + if (series.state !== state) { + series.state = state; + + if (stateOptions[state] && stateOptions[state].enabled === false) { + return; + } + + if (state) { + lineWidth = stateOptions[state].lineWidth || lineWidth + 1; + } + + if (graph && !graph.dashstyle) { // hover is turned off for dashed lines in VML + attribs = { + 'stroke-width': lineWidth + }; + // use attr because animate will cause any other animation on the graph to stop + graph.forEach(function (seg) { + seg.attr(attribs); + }); + } + } + }; + + /** + * The main change to get multi color isFinite changes segments array. + * From array of points to object with color and array of points. + * @returns {undefined} + **/ + H.seriesTypes.coloredline.prototype.getSegments = function () { + var series = this, + lastColor = 0, + segments = [], + i, + points = series.points, + pointsLength = points.length; + + if (pointsLength) { // no action required for [] + + // if connect nulls, just remove null points + if (series.options.connectNulls) { + // iterate backwars for secure point removal + for (i = pointsLength - 1; i >= 0; --i) { + if (points[i].y === null) { + points.splice(i, 1); + } + } + pointsLength = points.length; + + points.forEach(function (point, j) { + if (j > 0 && points[j].segmentColor !== points[j - 1].segmentColor) { + segments.push({ + points: points.slice(lastColor, j + 1), + color: points[j - 1].segmentColor + }); + lastColor = j; + } + }); + + if (pointsLength) { + // add the last segment (only single-point last segement is added) + if (lastColor !== pointsLength - 1) { + segments.push({ + points: points.slice(lastColor, pointsLength), + color: points[pointsLength - 1].segmentColor + }); + } + } + + if (points.length && segments.length === 0) { + segments = [points]; + } + + // else, split on null points or different colors + } else { + var previousColor = null; + points.forEach(function (point, j) { + var colorChanged = j > 0 && (point.y === null || points[j - 1].y === null || (point.segmentColor !== points[j - 1].segmentColor && points[j].segmentColor !== previousColor)), + colorExists = points[j - 1] && points[j - 1].segmentColor && points[j - 1].y !== null ? true : false; + + if (colorChanged) { + var p = points.slice(lastColor, j + 1); + if (p.length > 0) { + // do not create segments with null ponits + p.forEach(function (pointObject, k) { + if (pointObject.y === null) { + // remove null points (might be on edges) + p.splice(k, 1); + } + }); + + segments.push({ + points: p, + color: colorExists ? points[j - 1].segmentColor : previousColor + }); + lastColor = j; + } + } else if (j === pointsLength - 1) { + var next = j + 1; + if (point.y === null) { + next--; + } + p = points.slice(lastColor, next); + if (p.length > 0) { + // do not create segments with null ponits + p.forEach(function (pointObject, k) { + if (pointObject.y === null) { + // remove null points (might be on edges) + p.splice(k, 1); + } + }); + segments.push({ + points: p, + color: colorExists ? points[j - 1].segmentColor : previousColor + }); + lastColor = j; + } + + } + + // store previous color + if (point) { + previousColor = point.segmentColor; + } + }); + } + } + // register it + series.segments = segments; + }; + + H.seriesTypes.coloredline.prototype.getGraphPath = function () { + // var ret = f.apply(this, Array.prototype.slice.call(arguments, 1)); + var series = this, + graphPath = [], + segmentPath, + singlePoints = []; // used in drawTracker + // Divide into segments and build graph and area paths + series.segments.forEach(function (segment) { + segmentPath = series.getSegmentPath(segment.points); + // add the segment to the graph, or a single point for tracking + if (segment.points.length > 1) { + graphPath.push([segmentPath, segment.color]); + } else { + singlePoints.push(segment.points); + } + }); + + // Record it for use in drawGraph and drawTracker, and return graphPath + series.singlePoints = singlePoints; + series.graphPath = graphPath; + + return graphPath; + }; + + H.seriesTypes.coloredline.prototype.drawGraph = function () { + var series = this, + options = series.options, + props = [['graph', options.lineColor || series.color]], + lineWidth = options.lineWidth, + dashStyle = options.dashStyle, + roundCap = options.linecap !== 'square', + graphPath = series.getGraphPath(), + graphPathLength = graphPath.length, + graphSegmentsLength = 0; + + function getSegment(segment, prop, i) { + var attribs = { + stroke: prop[1], + 'stroke-width': lineWidth, + fill: 'none', + zIndex: 1 // #1069 + }, + item; + if (dashStyle) { + attribs.dashstyle = dashStyle; + } else if (roundCap) { + attribs['stroke-linecap'] = attribs['stroke-linejoin'] = 'round'; + } + if (segment[1]) { + attribs.stroke = segment[1]; + } + + item = series.chart.renderer.path(segment[0]) + .attr(attribs) + .add(series.group); + + + if (item.shadow) { + item.shadow(!i && options.shadow); + } + + return item; + } + + // draw the graph + props.forEach(function (prop, i) { + var graphKey = prop[0], + graph = series[graphKey], + g; + + if (graph) { // cancel running animations, #459 + // do we have animation + graphPath.forEach(function (segment, j) { + // update color and path + + if (series[graphKey][j]) { + series[graphKey][j].attr({ d: segment[0], stroke: segment[1] }); + } else { + series[graphKey][j] = getSegment(segment, prop, i); + } + }); + + } else if (graphPath.length) { // #1487 + graph = []; + graphPath.forEach(function (segment, j) { + graph[j] = getSegment(segment, prop, i); + }); + series[graphKey] = graph; + // add destroying elements + series[graphKey].destroy = function () { + for (g in series[graphKey]) { // eslint-disable-line + var el = series[graphKey][g]; + if (el && el.destroy) { + el.destroy(); + } + } + }; + } + // Checks if series.graph exists. #3 + graphSegmentsLength = (series.graph && series.graph.length) || -1; + + for (var j = graphSegmentsLength; j >= graphPathLength; j--) { + if (series[graphKey][j]) { + series[graphKey][j].destroy(); + series[graphKey].splice(j, 1); + } + } + }); + }; + + H.wrap(seriesTypes.coloredline.prototype, 'translate', function (proceed) { + proceed.apply(this, [].slice.call(arguments, 1)); + if (this.getSegments) { + this.getSegments(); + } + }); + + H.wrap(H.Series.prototype, 'applyZones', function (proceed) { + var series = this, + parts = ['area', 'graph']; + + parts.forEach(function (part) { + var shape = series[part]; + + if (shape && H.isArray(shape)) { + shape.show = function () { + shape.forEach(function (subGraph) { + subGraph.show(true); + }); + }; + shape.hide = function () { + shape.forEach(function (subGraph) { + subGraph.hide(); + }); + }; + } + }); + + return proceed.apply(this, Array.prototype.slice.call(arguments, 1)); + }); + + H.wrap(seriesTypes.coloredline.prototype, 'destroy', function (proceed) { + // destroy all parts + if (this.graph) { + this.graph.destroy(); + } + proceed.apply(this, Array.prototype.slice.call(arguments, 1)); + }); + + /** + * + * ColoredArea series type + * + **/ + seriesTypes.coloredarea = H.extendClass(seriesTypes.coloredline); + + H.seriesTypes.coloredarea.prototype.init = function (chart, options) { + options.threshold = options.threshold || null; + H.Series.prototype.init.call(this, chart, options); + }; + + H.seriesTypes.coloredarea.prototype.closeSegment = function (path, segment, translatedThreshold) { + path.push( + L, + segment[segment.length - 1].plotX, + translatedThreshold, + L, + segment[0].plotX, + translatedThreshold + ); + }; + + H.seriesTypes.coloredarea.prototype.drawGraph = function (f) { + H.seriesTypes.coloredline.prototype.drawGraph.call(this, f); + var series = this, + options = this.options, + props = [['graph', options.lineColor || series.color]]; + + props.forEach(function (prop) { + var graphKey = prop[0], + graph = series[graphKey]; + + if (graph) { // cancel running animations, #459 + // do we have animation + series.graphPath.forEach(function (segment, j) { + // update color and path + + if (series[graphKey][j]) { + series[graphKey][j].attr({ fill: segment[1] }); + } + }); + + } + }); + }; + + /** + * Extend the base Series getSegmentPath method by adding the path for the area. + * This path is pushed to the series.areaPath property. + * @param {Object} segment of the path + * @returns {Array} Path (SVG) + **/ + H.seriesTypes.coloredarea.prototype.getSegmentPath = function (segment) { + var segmentPath = H.Series.prototype.getSegmentPath.call(this, segment), // call base method + areaSegmentPath = [].concat(segmentPath), // work on a copy for the area path + i, + options = this.options, + segLength = segmentPath.length, + translatedThreshold = this.yAxis.getThreshold(options.threshold), // #2181 + yBottom; + + if (segLength === 3) { // for animation from 1 to two points + areaSegmentPath.push(L, segmentPath[1], segmentPath[2]); + } + if (options.stacking && !this.closedStacks) { + for (i = segment.length - 1; i >= 0; i--) { + + yBottom = pick(segment[i].yBottom, translatedThreshold); + + // step line? + if (i < segment.length - 1 && options.step) { + areaSegmentPath.push(segment[i + 1].plotX, yBottom); + } + areaSegmentPath.push(segment[i].plotX, yBottom); + } + } else { // follow zero line back + this.closeSegment(areaSegmentPath, segment, translatedThreshold); + } + return areaSegmentPath; + }; + + H.seriesTypes.coloredarea.prototype.getGraphPath = function () { + var series = this, + graphPath = [], + segmentPath, + singlePoints = []; // used in drawTracker + // Divide into segments and build graph and area paths + + this.areaPath = []; + series.segments.forEach(function (segment) { + segmentPath = series.getSegmentPath(segment.points); + // add the segment to the graph, or a single point for tracking + if (segment.points.length > 1) { + graphPath.push([segmentPath, segment.color]); + } else { + singlePoints.push(segment.points); + } + }); + + // Record it for use in drawGraph and drawTracker, and return graphPath + series.singlePoints = singlePoints; + series.graphPath = graphPath; + return graphPath; + + }; + + H.seriesTypes.coloredarea.prototype.drawLegendSymbol = Highcharts._modules['Core/Legend/LegendSymbol.js'].drawRectangle; // eslint-disable-line +})); \ No newline at end of file diff --git a/docs/reference/libs/htmlwidgets-1.6.4/htmlwidgets.js b/docs/reference/libs/htmlwidgets-1.6.4/htmlwidgets.js new file mode 100644 index 0000000..1067d02 --- /dev/null +++ b/docs/reference/libs/htmlwidgets-1.6.4/htmlwidgets.js @@ -0,0 +1,901 @@ +(function() { + // If window.HTMLWidgets is already defined, then use it; otherwise create a + // new object. This allows preceding code to set options that affect the + // initialization process (though none currently exist). + window.HTMLWidgets = window.HTMLWidgets || {}; + + // See if we're running in a viewer pane. If not, we're in a web browser. + var viewerMode = window.HTMLWidgets.viewerMode = + /\bviewer_pane=1\b/.test(window.location); + + // See if we're running in Shiny mode. If not, it's a static document. + // Note that static widgets can appear in both Shiny and static modes, but + // obviously, Shiny widgets can only appear in Shiny apps/documents. + var shinyMode = window.HTMLWidgets.shinyMode = + typeof(window.Shiny) !== "undefined" && !!window.Shiny.outputBindings; + + // We can't count on jQuery being available, so we implement our own + // version if necessary. + function querySelectorAll(scope, selector) { + if (typeof(jQuery) !== "undefined" && scope instanceof jQuery) { + return scope.find(selector); + } + if (scope.querySelectorAll) { + return scope.querySelectorAll(selector); + } + } + + function asArray(value) { + if (value === null) + return []; + if ($.isArray(value)) + return value; + return [value]; + } + + // Implement jQuery's extend + function extend(target /*, ... */) { + if (arguments.length == 1) { + return target; + } + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i]; + for (var prop in source) { + if (source.hasOwnProperty(prop)) { + target[prop] = source[prop]; + } + } + } + return target; + } + + // IE8 doesn't support Array.forEach. + function forEach(values, callback, thisArg) { + if (values.forEach) { + values.forEach(callback, thisArg); + } else { + for (var i = 0; i < values.length; i++) { + callback.call(thisArg, values[i], i, values); + } + } + } + + // Replaces the specified method with the return value of funcSource. + // + // Note that funcSource should not BE the new method, it should be a function + // that RETURNS the new method. funcSource receives a single argument that is + // the overridden method, it can be called from the new method. The overridden + // method can be called like a regular function, it has the target permanently + // bound to it so "this" will work correctly. + function overrideMethod(target, methodName, funcSource) { + var superFunc = target[methodName] || function() {}; + var superFuncBound = function() { + return superFunc.apply(target, arguments); + }; + target[methodName] = funcSource(superFuncBound); + } + + // Add a method to delegator that, when invoked, calls + // delegatee.methodName. If there is no such method on + // the delegatee, but there was one on delegator before + // delegateMethod was called, then the original version + // is invoked instead. + // For example: + // + // var a = { + // method1: function() { console.log('a1'); } + // method2: function() { console.log('a2'); } + // }; + // var b = { + // method1: function() { console.log('b1'); } + // }; + // delegateMethod(a, b, "method1"); + // delegateMethod(a, b, "method2"); + // a.method1(); + // a.method2(); + // + // The output would be "b1", "a2". + function delegateMethod(delegator, delegatee, methodName) { + var inherited = delegator[methodName]; + delegator[methodName] = function() { + var target = delegatee; + var method = delegatee[methodName]; + + // The method doesn't exist on the delegatee. Instead, + // call the method on the delegator, if it exists. + if (!method) { + target = delegator; + method = inherited; + } + + if (method) { + return method.apply(target, arguments); + } + }; + } + + // Implement a vague facsimilie of jQuery's data method + function elementData(el, name, value) { + if (arguments.length == 2) { + return el["htmlwidget_data_" + name]; + } else if (arguments.length == 3) { + el["htmlwidget_data_" + name] = value; + return el; + } else { + throw new Error("Wrong number of arguments for elementData: " + + arguments.length); + } + } + + // http://stackoverflow.com/questions/3446170/escape-string-for-use-in-javascript-regex + function escapeRegExp(str) { + return str.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, "\\$&"); + } + + function hasClass(el, className) { + var re = new RegExp("\\b" + escapeRegExp(className) + "\\b"); + return re.test(el.className); + } + + // elements - array (or array-like object) of HTML elements + // className - class name to test for + // include - if true, only return elements with given className; + // if false, only return elements *without* given className + function filterByClass(elements, className, include) { + var results = []; + for (var i = 0; i < elements.length; i++) { + if (hasClass(elements[i], className) == include) + results.push(elements[i]); + } + return results; + } + + function on(obj, eventName, func) { + if (obj.addEventListener) { + obj.addEventListener(eventName, func, false); + } else if (obj.attachEvent) { + obj.attachEvent(eventName, func); + } + } + + function off(obj, eventName, func) { + if (obj.removeEventListener) + obj.removeEventListener(eventName, func, false); + else if (obj.detachEvent) { + obj.detachEvent(eventName, func); + } + } + + // Translate array of values to top/right/bottom/left, as usual with + // the "padding" CSS property + // https://developer.mozilla.org/en-US/docs/Web/CSS/padding + function unpackPadding(value) { + if (typeof(value) === "number") + value = [value]; + if (value.length === 1) { + return {top: value[0], right: value[0], bottom: value[0], left: value[0]}; + } + if (value.length === 2) { + return {top: value[0], right: value[1], bottom: value[0], left: value[1]}; + } + if (value.length === 3) { + return {top: value[0], right: value[1], bottom: value[2], left: value[1]}; + } + if (value.length === 4) { + return {top: value[0], right: value[1], bottom: value[2], left: value[3]}; + } + } + + // Convert an unpacked padding object to a CSS value + function paddingToCss(paddingObj) { + return paddingObj.top + "px " + paddingObj.right + "px " + paddingObj.bottom + "px " + paddingObj.left + "px"; + } + + // Makes a number suitable for CSS + function px(x) { + if (typeof(x) === "number") + return x + "px"; + else + return x; + } + + // Retrieves runtime widget sizing information for an element. + // The return value is either null, or an object with fill, padding, + // defaultWidth, defaultHeight fields. + function sizingPolicy(el) { + var sizingEl = document.querySelector("script[data-for='" + el.id + "'][type='application/htmlwidget-sizing']"); + if (!sizingEl) + return null; + var sp = JSON.parse(sizingEl.textContent || sizingEl.text || "{}"); + if (viewerMode) { + return sp.viewer; + } else { + return sp.browser; + } + } + + // @param tasks Array of strings (or falsy value, in which case no-op). + // Each element must be a valid JavaScript expression that yields a + // function. Or, can be an array of objects with "code" and "data" + // properties; in this case, the "code" property should be a string + // of JS that's an expr that yields a function, and "data" should be + // an object that will be added as an additional argument when that + // function is called. + // @param target The object that will be "this" for each function + // execution. + // @param args Array of arguments to be passed to the functions. (The + // same arguments will be passed to all functions.) + function evalAndRun(tasks, target, args) { + if (tasks) { + forEach(tasks, function(task) { + var theseArgs = args; + if (typeof(task) === "object") { + theseArgs = theseArgs.concat([task.data]); + task = task.code; + } + var taskFunc = tryEval(task); + if (typeof(taskFunc) !== "function") { + throw new Error("Task must be a function! Source:\n" + task); + } + taskFunc.apply(target, theseArgs); + }); + } + } + + // Attempt eval() both with and without enclosing in parentheses. + // Note that enclosing coerces a function declaration into + // an expression that eval() can parse + // (otherwise, a SyntaxError is thrown) + function tryEval(code) { + var result = null; + try { + result = eval("(" + code + ")"); + } catch(error) { + if (!(error instanceof SyntaxError)) { + throw error; + } + try { + result = eval(code); + } catch(e) { + if (e instanceof SyntaxError) { + throw error; + } else { + throw e; + } + } + } + return result; + } + + function initSizing(el) { + var sizing = sizingPolicy(el); + if (!sizing) + return; + + var cel = document.getElementById("htmlwidget_container"); + if (!cel) + return; + + if (typeof(sizing.padding) !== "undefined") { + document.body.style.margin = "0"; + document.body.style.padding = paddingToCss(unpackPadding(sizing.padding)); + } + + if (sizing.fill) { + document.body.style.overflow = "hidden"; + document.body.style.width = "100%"; + document.body.style.height = "100%"; + document.documentElement.style.width = "100%"; + document.documentElement.style.height = "100%"; + cel.style.position = "absolute"; + var pad = unpackPadding(sizing.padding); + cel.style.top = pad.top + "px"; + cel.style.right = pad.right + "px"; + cel.style.bottom = pad.bottom + "px"; + cel.style.left = pad.left + "px"; + el.style.width = "100%"; + el.style.height = "100%"; + + return { + getWidth: function() { return cel.getBoundingClientRect().width; }, + getHeight: function() { return cel.getBoundingClientRect().height; } + }; + + } else { + el.style.width = px(sizing.width); + el.style.height = px(sizing.height); + + return { + getWidth: function() { return cel.getBoundingClientRect().width; }, + getHeight: function() { return cel.getBoundingClientRect().height; } + }; + } + } + + // Default implementations for methods + var defaults = { + find: function(scope) { + return querySelectorAll(scope, "." + this.name); + }, + renderError: function(el, err) { + var $el = $(el); + + this.clearError(el); + + // Add all these error classes, as Shiny does + var errClass = "shiny-output-error"; + if (err.type !== null) { + // use the classes of the error condition as CSS class names + errClass = errClass + " " + $.map(asArray(err.type), function(type) { + return errClass + "-" + type; + }).join(" "); + } + errClass = errClass + " htmlwidgets-error"; + + // Is el inline or block? If inline or inline-block, just display:none it + // and add an inline error. + var display = $el.css("display"); + $el.data("restore-display-mode", display); + + if (display === "inline" || display === "inline-block") { + $el.hide(); + if (err.message !== "") { + var errorSpan = $("").addClass(errClass); + errorSpan.text(err.message); + $el.after(errorSpan); + } + } else if (display === "block") { + // If block, add an error just after the el, set visibility:none on the + // el, and position the error to be on top of the el. + // Mark it with a unique ID and CSS class so we can remove it later. + $el.css("visibility", "hidden"); + if (err.message !== "") { + var errorDiv = $("
").addClass(errClass).css("position", "absolute") + .css("top", el.offsetTop) + .css("left", el.offsetLeft) + // setting width can push out the page size, forcing otherwise + // unnecessary scrollbars to appear and making it impossible for + // the element to shrink; so use max-width instead + .css("maxWidth", el.offsetWidth) + .css("height", el.offsetHeight); + errorDiv.text(err.message); + $el.after(errorDiv); + + // Really dumb way to keep the size/position of the error in sync with + // the parent element as the window is resized or whatever. + var intId = setInterval(function() { + if (!errorDiv[0].parentElement) { + clearInterval(intId); + return; + } + errorDiv + .css("top", el.offsetTop) + .css("left", el.offsetLeft) + .css("maxWidth", el.offsetWidth) + .css("height", el.offsetHeight); + }, 500); + } + } + }, + clearError: function(el) { + var $el = $(el); + var display = $el.data("restore-display-mode"); + $el.data("restore-display-mode", null); + + if (display === "inline" || display === "inline-block") { + if (display) + $el.css("display", display); + $(el.nextSibling).filter(".htmlwidgets-error").remove(); + } else if (display === "block"){ + $el.css("visibility", "inherit"); + $(el.nextSibling).filter(".htmlwidgets-error").remove(); + } + }, + sizing: {} + }; + + // Called by widget bindings to register a new type of widget. The definition + // object can contain the following properties: + // - name (required) - A string indicating the binding name, which will be + // used by default as the CSS classname to look for. + // - initialize (optional) - A function(el) that will be called once per + // widget element; if a value is returned, it will be passed as the third + // value to renderValue. + // - renderValue (required) - A function(el, data, initValue) that will be + // called with data. Static contexts will cause this to be called once per + // element; Shiny apps will cause this to be called multiple times per + // element, as the data changes. + window.HTMLWidgets.widget = function(definition) { + if (!definition.name) { + throw new Error("Widget must have a name"); + } + if (!definition.type) { + throw new Error("Widget must have a type"); + } + // Currently we only support output widgets + if (definition.type !== "output") { + throw new Error("Unrecognized widget type '" + definition.type + "'"); + } + // TODO: Verify that .name is a valid CSS classname + + // Support new-style instance-bound definitions. Old-style class-bound + // definitions have one widget "object" per widget per type/class of + // widget; the renderValue and resize methods on such widget objects + // take el and instance arguments, because the widget object can't + // store them. New-style instance-bound definitions have one widget + // object per widget instance; the definition that's passed in doesn't + // provide renderValue or resize methods at all, just the single method + // factory(el, width, height) + // which returns an object that has renderValue(x) and resize(w, h). + // This enables a far more natural programming style for the widget + // author, who can store per-instance state using either OO-style + // instance fields or functional-style closure variables (I guess this + // is in contrast to what can only be called C-style pseudo-OO which is + // what we required before). + if (definition.factory) { + definition = createLegacyDefinitionAdapter(definition); + } + + if (!definition.renderValue) { + throw new Error("Widget must have a renderValue function"); + } + + // For static rendering (non-Shiny), use a simple widget registration + // scheme. We also use this scheme for Shiny apps/documents that also + // contain static widgets. + window.HTMLWidgets.widgets = window.HTMLWidgets.widgets || []; + // Merge defaults into the definition; don't mutate the original definition. + var staticBinding = extend({}, defaults, definition); + overrideMethod(staticBinding, "find", function(superfunc) { + return function(scope) { + var results = superfunc(scope); + // Filter out Shiny outputs, we only want the static kind + return filterByClass(results, "html-widget-output", false); + }; + }); + window.HTMLWidgets.widgets.push(staticBinding); + + if (shinyMode) { + // Shiny is running. Register the definition with an output binding. + // The definition itself will not be the output binding, instead + // we will make an output binding object that delegates to the + // definition. This is because we foolishly used the same method + // name (renderValue) for htmlwidgets definition and Shiny bindings + // but they actually have quite different semantics (the Shiny + // bindings receive data that includes lots of metadata that it + // strips off before calling htmlwidgets renderValue). We can't + // just ignore the difference because in some widgets it's helpful + // to call this.renderValue() from inside of resize(), and if + // we're not delegating, then that call will go to the Shiny + // version instead of the htmlwidgets version. + + // Merge defaults with definition, without mutating either. + var bindingDef = extend({}, defaults, definition); + + // This object will be our actual Shiny binding. + var shinyBinding = new Shiny.OutputBinding(); + + // With a few exceptions, we'll want to simply use the bindingDef's + // version of methods if they are available, otherwise fall back to + // Shiny's defaults. NOTE: If Shiny's output bindings gain additional + // methods in the future, and we want them to be overrideable by + // HTMLWidget binding definitions, then we'll need to add them to this + // list. + delegateMethod(shinyBinding, bindingDef, "getId"); + delegateMethod(shinyBinding, bindingDef, "onValueChange"); + delegateMethod(shinyBinding, bindingDef, "onValueError"); + delegateMethod(shinyBinding, bindingDef, "renderError"); + delegateMethod(shinyBinding, bindingDef, "clearError"); + delegateMethod(shinyBinding, bindingDef, "showProgress"); + + // The find, renderValue, and resize are handled differently, because we + // want to actually decorate the behavior of the bindingDef methods. + + shinyBinding.find = function(scope) { + var results = bindingDef.find(scope); + + // Only return elements that are Shiny outputs, not static ones + var dynamicResults = results.filter(".html-widget-output"); + + // It's possible that whatever caused Shiny to think there might be + // new dynamic outputs, also caused there to be new static outputs. + // Since there might be lots of different htmlwidgets bindings, we + // schedule execution for later--no need to staticRender multiple + // times. + if (results.length !== dynamicResults.length) + scheduleStaticRender(); + + return dynamicResults; + }; + + // Wrap renderValue to handle initialization, which unfortunately isn't + // supported natively by Shiny at the time of this writing. + + shinyBinding.renderValue = function(el, data) { + Shiny.renderDependencies(data.deps); + // Resolve strings marked as javascript literals to objects + if (!(data.evals instanceof Array)) data.evals = [data.evals]; + for (var i = 0; data.evals && i < data.evals.length; i++) { + window.HTMLWidgets.evaluateStringMember(data.x, data.evals[i]); + } + if (!bindingDef.renderOnNullValue) { + if (data.x === null) { + el.style.visibility = "hidden"; + return; + } else { + el.style.visibility = "inherit"; + } + } + if (!elementData(el, "initialized")) { + initSizing(el); + + elementData(el, "initialized", true); + if (bindingDef.initialize) { + var rect = el.getBoundingClientRect(); + var result = bindingDef.initialize(el, rect.width, rect.height); + elementData(el, "init_result", result); + } + } + bindingDef.renderValue(el, data.x, elementData(el, "init_result")); + evalAndRun(data.jsHooks.render, elementData(el, "init_result"), [el, data.x]); + }; + + // Only override resize if bindingDef implements it + if (bindingDef.resize) { + shinyBinding.resize = function(el, width, height) { + // Shiny can call resize before initialize/renderValue have been + // called, which doesn't make sense for widgets. + if (elementData(el, "initialized")) { + bindingDef.resize(el, width, height, elementData(el, "init_result")); + } + }; + } + + Shiny.outputBindings.register(shinyBinding, bindingDef.name); + } + }; + + var scheduleStaticRenderTimerId = null; + function scheduleStaticRender() { + if (!scheduleStaticRenderTimerId) { + scheduleStaticRenderTimerId = setTimeout(function() { + scheduleStaticRenderTimerId = null; + window.HTMLWidgets.staticRender(); + }, 1); + } + } + + // Render static widgets after the document finishes loading + // Statically render all elements that are of this widget's class + window.HTMLWidgets.staticRender = function() { + var bindings = window.HTMLWidgets.widgets || []; + forEach(bindings, function(binding) { + var matches = binding.find(document.documentElement); + forEach(matches, function(el) { + var sizeObj = initSizing(el, binding); + + var getSize = function(el) { + if (sizeObj) { + return {w: sizeObj.getWidth(), h: sizeObj.getHeight()} + } else { + var rect = el.getBoundingClientRect(); + return {w: rect.width, h: rect.height} + } + }; + + if (hasClass(el, "html-widget-static-bound")) + return; + el.className = el.className + " html-widget-static-bound"; + + var initResult; + if (binding.initialize) { + var size = getSize(el); + initResult = binding.initialize(el, size.w, size.h); + elementData(el, "init_result", initResult); + } + + if (binding.resize) { + var lastSize = getSize(el); + var resizeHandler = function(e) { + var size = getSize(el); + if (size.w === 0 && size.h === 0) + return; + if (size.w === lastSize.w && size.h === lastSize.h) + return; + lastSize = size; + binding.resize(el, size.w, size.h, initResult); + }; + + on(window, "resize", resizeHandler); + + // This is needed for cases where we're running in a Shiny + // app, but the widget itself is not a Shiny output, but + // rather a simple static widget. One example of this is + // an rmarkdown document that has runtime:shiny and widget + // that isn't in a render function. Shiny only knows to + // call resize handlers for Shiny outputs, not for static + // widgets, so we do it ourselves. + if (window.jQuery) { + window.jQuery(document).on( + "shown.htmlwidgets shown.bs.tab.htmlwidgets shown.bs.collapse.htmlwidgets", + resizeHandler + ); + window.jQuery(document).on( + "hidden.htmlwidgets hidden.bs.tab.htmlwidgets hidden.bs.collapse.htmlwidgets", + resizeHandler + ); + } + + // This is needed for the specific case of ioslides, which + // flips slides between display:none and display:block. + // Ideally we would not have to have ioslide-specific code + // here, but rather have ioslides raise a generic event, + // but the rmarkdown package just went to CRAN so the + // window to getting that fixed may be long. + if (window.addEventListener) { + // It's OK to limit this to window.addEventListener + // browsers because ioslides itself only supports + // such browsers. + on(document, "slideenter", resizeHandler); + on(document, "slideleave", resizeHandler); + } + } + + var scriptData = document.querySelector("script[data-for='" + el.id + "'][type='application/json']"); + if (scriptData) { + var data = JSON.parse(scriptData.textContent || scriptData.text); + // Resolve strings marked as javascript literals to objects + if (!(data.evals instanceof Array)) data.evals = [data.evals]; + for (var k = 0; data.evals && k < data.evals.length; k++) { + window.HTMLWidgets.evaluateStringMember(data.x, data.evals[k]); + } + binding.renderValue(el, data.x, initResult); + evalAndRun(data.jsHooks.render, initResult, [el, data.x]); + } + }); + }); + + invokePostRenderHandlers(); + } + + + function has_jQuery3() { + if (!window.jQuery) { + return false; + } + var $version = window.jQuery.fn.jquery; + var $major_version = parseInt($version.split(".")[0]); + return $major_version >= 3; + } + + /* + / Shiny 1.4 bumped jQuery from 1.x to 3.x which means jQuery's + / on-ready handler (i.e., $(fn)) is now asyncronous (i.e., it now + / really means $(setTimeout(fn)). + / https://jquery.com/upgrade-guide/3.0/#breaking-change-document-ready-handlers-are-now-asynchronous + / + / Since Shiny uses $() to schedule initShiny, shiny>=1.4 calls initShiny + / one tick later than it did before, which means staticRender() is + / called renderValue() earlier than (advanced) widget authors might be expecting. + / https://github.com/rstudio/shiny/issues/2630 + / + / For a concrete example, leaflet has some methods (e.g., updateBounds) + / which reference Shiny methods registered in initShiny (e.g., setInputValue). + / Since leaflet is privy to this life-cycle, it knows to use setTimeout() to + / delay execution of those methods (until Shiny methods are ready) + / https://github.com/rstudio/leaflet/blob/18ec981/javascript/src/index.js#L266-L268 + / + / Ideally widget authors wouldn't need to use this setTimeout() hack that + / leaflet uses to call Shiny methods on a staticRender(). In the long run, + / the logic initShiny should be broken up so that method registration happens + / right away, but binding happens later. + */ + function maybeStaticRenderLater() { + if (shinyMode && has_jQuery3()) { + window.jQuery(window.HTMLWidgets.staticRender); + } else { + window.HTMLWidgets.staticRender(); + } + } + + if (document.addEventListener) { + document.addEventListener("DOMContentLoaded", function() { + document.removeEventListener("DOMContentLoaded", arguments.callee, false); + maybeStaticRenderLater(); + }, false); + } else if (document.attachEvent) { + document.attachEvent("onreadystatechange", function() { + if (document.readyState === "complete") { + document.detachEvent("onreadystatechange", arguments.callee); + maybeStaticRenderLater(); + } + }); + } + + + window.HTMLWidgets.getAttachmentUrl = function(depname, key) { + // If no key, default to the first item + if (typeof(key) === "undefined") + key = 1; + + var link = document.getElementById(depname + "-" + key + "-attachment"); + if (!link) { + throw new Error("Attachment " + depname + "/" + key + " not found in document"); + } + return link.getAttribute("href"); + }; + + window.HTMLWidgets.dataframeToD3 = function(df) { + var names = []; + var length; + for (var name in df) { + if (df.hasOwnProperty(name)) + names.push(name); + if (typeof(df[name]) !== "object" || typeof(df[name].length) === "undefined") { + throw new Error("All fields must be arrays"); + } else if (typeof(length) !== "undefined" && length !== df[name].length) { + throw new Error("All fields must be arrays of the same length"); + } + length = df[name].length; + } + var results = []; + var item; + for (var row = 0; row < length; row++) { + item = {}; + for (var col = 0; col < names.length; col++) { + item[names[col]] = df[names[col]][row]; + } + results.push(item); + } + return results; + }; + + window.HTMLWidgets.transposeArray2D = function(array) { + if (array.length === 0) return array; + var newArray = array[0].map(function(col, i) { + return array.map(function(row) { + return row[i] + }) + }); + return newArray; + }; + // Split value at splitChar, but allow splitChar to be escaped + // using escapeChar. Any other characters escaped by escapeChar + // will be included as usual (including escapeChar itself). + function splitWithEscape(value, splitChar, escapeChar) { + var results = []; + var escapeMode = false; + var currentResult = ""; + for (var pos = 0; pos < value.length; pos++) { + if (!escapeMode) { + if (value[pos] === splitChar) { + results.push(currentResult); + currentResult = ""; + } else if (value[pos] === escapeChar) { + escapeMode = true; + } else { + currentResult += value[pos]; + } + } else { + currentResult += value[pos]; + escapeMode = false; + } + } + if (currentResult !== "") { + results.push(currentResult); + } + return results; + } + // Function authored by Yihui/JJ Allaire + window.HTMLWidgets.evaluateStringMember = function(o, member) { + var parts = splitWithEscape(member, '.', '\\'); + for (var i = 0, l = parts.length; i < l; i++) { + var part = parts[i]; + // part may be a character or 'numeric' member name + if (o !== null && typeof o === "object" && part in o) { + if (i == (l - 1)) { // if we are at the end of the line then evalulate + if (typeof o[part] === "string") + o[part] = tryEval(o[part]); + } else { // otherwise continue to next embedded object + o = o[part]; + } + } + } + }; + + // Retrieve the HTMLWidget instance (i.e. the return value of an + // HTMLWidget binding's initialize() or factory() function) + // associated with an element, or null if none. + window.HTMLWidgets.getInstance = function(el) { + return elementData(el, "init_result"); + }; + + // Finds the first element in the scope that matches the selector, + // and returns the HTMLWidget instance (i.e. the return value of + // an HTMLWidget binding's initialize() or factory() function) + // associated with that element, if any. If no element matches the + // selector, or the first matching element has no HTMLWidget + // instance associated with it, then null is returned. + // + // The scope argument is optional, and defaults to window.document. + window.HTMLWidgets.find = function(scope, selector) { + if (arguments.length == 1) { + selector = scope; + scope = document; + } + + var el = scope.querySelector(selector); + if (el === null) { + return null; + } else { + return window.HTMLWidgets.getInstance(el); + } + }; + + // Finds all elements in the scope that match the selector, and + // returns the HTMLWidget instances (i.e. the return values of + // an HTMLWidget binding's initialize() or factory() function) + // associated with the elements, in an array. If elements that + // match the selector don't have an associated HTMLWidget + // instance, the returned array will contain nulls. + // + // The scope argument is optional, and defaults to window.document. + window.HTMLWidgets.findAll = function(scope, selector) { + if (arguments.length == 1) { + selector = scope; + scope = document; + } + + var nodes = scope.querySelectorAll(selector); + var results = []; + for (var i = 0; i < nodes.length; i++) { + results.push(window.HTMLWidgets.getInstance(nodes[i])); + } + return results; + }; + + var postRenderHandlers = []; + function invokePostRenderHandlers() { + while (postRenderHandlers.length) { + var handler = postRenderHandlers.shift(); + if (handler) { + handler(); + } + } + } + + // Register the given callback function to be invoked after the + // next time static widgets are rendered. + window.HTMLWidgets.addPostRenderHandler = function(callback) { + postRenderHandlers.push(callback); + }; + + // Takes a new-style instance-bound definition, and returns an + // old-style class-bound definition. This saves us from having + // to rewrite all the logic in this file to accomodate both + // types of definitions. + function createLegacyDefinitionAdapter(defn) { + var result = { + name: defn.name, + type: defn.type, + initialize: function(el, width, height) { + return defn.factory(el, width, height); + }, + renderValue: function(el, x, instance) { + return instance.renderValue(x); + }, + resize: function(el, width, height, instance) { + return instance.resize(width, height); + } + }; + + if (defn.find) + result.find = defn.find; + if (defn.renderError) + result.renderError = defn.renderError; + if (defn.clearError) + result.clearError = defn.clearError; + + return result; + } +})(); diff --git a/docs/reference/libs/proj4js-2.3.15/proj4.js b/docs/reference/libs/proj4js-2.3.15/proj4.js new file mode 100644 index 0000000..0a07bdb --- /dev/null +++ b/docs/reference/libs/proj4js-2.3.15/proj4.js @@ -0,0 +1,3 @@ +!function(a){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=a();else if("function"==typeof define&&define.amd)define([],a);else{var b;b="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,b.proj4=a()}}(function(){return function a(b,c,d){function e(g,h){if(!c[g]){if(!b[g]){var i="function"==typeof require&&require;if(!h&&i)return i(g,!0);if(f)return f(g,!0);var j=new Error("Cannot find module '"+g+"'");throw j.code="MODULE_NOT_FOUND",j}var k=c[g]={exports:{}};b[g][0].call(k.exports,function(a){var c=b[g][1][a];return e(c?c:a)},k,k.exports,a,b,c,d)}return c[g].exports}for(var f="function"==typeof require&&require,g=0;gf;f++)if(!b||2!==f||void 0!==c.z)switch(0===f?(d=g,e="x"):1===f?(d=h,e="y"):(d=i,e="z"),a.axis[f]){case"e":c[e]=d;break;case"w":c[e]=-d;break;case"n":c[e]=d;break;case"s":c[e]=-d;break;case"u":void 0!==c[e]&&(c.z=d);break;case"d":void 0!==c[e]&&(c.z=-d);break;default:return null}return c}},{}],4:[function(a,b,c){var d=Math.PI/2,e=a("./sign");b.exports=function(a){return Math.abs(a)1&&(a=a>1?1:-1),Math.asin(a)}},{}],7:[function(a,b,c){b.exports=function(a){return 1-.25*a*(1+a/16*(3+1.25*a))}},{}],8:[function(a,b,c){b.exports=function(a){return.375*a*(1+.25*a*(1+.46875*a))}},{}],9:[function(a,b,c){b.exports=function(a){return.05859375*a*a*(1+.75*a)}},{}],10:[function(a,b,c){b.exports=function(a){return a*a*a*(35/3072)}},{}],11:[function(a,b,c){b.exports=function(a,b,c){var d=b*c;return a/Math.sqrt(1-d*d)}},{}],12:[function(a,b,c){b.exports=function(a,b,c,d,e){var f,g;f=a/b;for(var h=0;15>h;h++)if(g=(a-(b*f-c*Math.sin(2*f)+d*Math.sin(4*f)-e*Math.sin(6*f)))/(b-2*c*Math.cos(2*f)+4*d*Math.cos(4*f)-6*e*Math.cos(6*f)),f+=g,Math.abs(g)<=1e-10)return f;return NaN}},{}],13:[function(a,b,c){var d=Math.PI/2;b.exports=function(a,b){var c=1-(1-a*a)/(2*a)*Math.log((1-a)/(1+a));if(Math.abs(Math.abs(b)-c)<1e-6)return 0>b?-1*d:d;for(var e,f,g,h,i=Math.asin(.5*b),j=0;30>j;j++)if(f=Math.sin(i),g=Math.cos(i),h=a*f,e=Math.pow(1-h*h,2)/(2*g)*(b/(1-a*a)-f/(1-h*h)+.5/a*Math.log((1-h)/(1+h))),i+=e,Math.abs(e)<=1e-10)return i;return NaN}},{}],14:[function(a,b,c){b.exports=function(a,b,c,d,e){return a*e-b*Math.sin(2*e)+c*Math.sin(4*e)-d*Math.sin(6*e)}},{}],15:[function(a,b,c){b.exports=function(a,b,c){var d=a*b;return c/Math.sqrt(1-d*d)}},{}],16:[function(a,b,c){var d=Math.PI/2;b.exports=function(a,b){for(var c,e,f=.5*a,g=d-2*Math.atan(b),h=0;15>=h;h++)if(c=a*Math.sin(g),e=d-2*Math.atan(b*Math.pow((1-c)/(1+c),f))-g,g+=e,Math.abs(e)<=1e-10)return g;return-9999}},{}],17:[function(a,b,c){var d=1,e=.25,f=.046875,g=.01953125,h=.01068115234375,i=.75,j=.46875,k=.013020833333333334,l=.007120768229166667,m=.3645833333333333,n=.005696614583333333,o=.3076171875;b.exports=function(a){var b=[];b[0]=d-a*(e+a*(f+a*(g+a*h))),b[1]=a*(i-a*(f+a*(g+a*h)));var c=a*a;return b[2]=c*(j-a*(k+a*l)),c*=a,b[3]=c*(m-a*n),b[4]=c*a*o,b}},{}],18:[function(a,b,c){var d=a("./pj_mlfn"),e=1e-10,f=20;b.exports=function(a,b,c){for(var g=1/(1-b),h=a,i=f;i;--i){var j=Math.sin(h),k=1-b*j*j;if(k=(d(h,j,Math.cos(h),c)-a)*(k*Math.sqrt(k))*g,h-=k,Math.abs(k)1e-7?(c=a*b,(1-a*a)*(b/(1-c*c)-.5/a*Math.log((1-c)/(1+c)))):2*b}},{}],21:[function(a,b,c){b.exports=function(a){return 0>a?-1:1}},{}],22:[function(a,b,c){b.exports=function(a,b){return Math.pow((1-a)/(1+a),b)}},{}],23:[function(a,b,c){b.exports=function(a){var b={x:a[0],y:a[1]};return a.length>2&&(b.z=a[2]),a.length>3&&(b.m=a[3]),b}},{}],24:[function(a,b,c){var d=Math.PI/2;b.exports=function(a,b,c){var e=a*c,f=.5*a;return e=Math.pow((1-e)/(1+e),f),Math.tan(.5*(d-b))/e}},{}],25:[function(a,b,c){c.wgs84={towgs84:"0,0,0",ellipse:"WGS84",datumName:"WGS84"},c.ch1903={towgs84:"674.374,15.056,405.346",ellipse:"bessel",datumName:"swiss"},c.ggrs87={towgs84:"-199.87,74.79,246.62",ellipse:"GRS80",datumName:"Greek_Geodetic_Reference_System_1987"},c.nad83={towgs84:"0,0,0",ellipse:"GRS80",datumName:"North_American_Datum_1983"},c.nad27={nadgrids:"@conus,@alaska,@ntv2_0.gsb,@ntv1_can.dat",ellipse:"clrk66",datumName:"North_American_Datum_1927"},c.potsdam={towgs84:"606.0,23.0,413.0",ellipse:"bessel",datumName:"Potsdam Rauenberg 1950 DHDN"},c.carthage={towgs84:"-263.0,6.0,431.0",ellipse:"clark80",datumName:"Carthage 1934 Tunisia"},c.hermannskogel={towgs84:"653.0,-212.0,449.0",ellipse:"bessel",datumName:"Hermannskogel"},c.ire65={towgs84:"482.530,-130.596,564.557,-1.042,-0.214,-0.631,8.15",ellipse:"mod_airy",datumName:"Ireland 1965"},c.rassadiran={towgs84:"-133.63,-157.5,-158.62",ellipse:"intl",datumName:"Rassadiran"},c.nzgd49={towgs84:"59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993",ellipse:"intl",datumName:"New Zealand Geodetic Datum 1949"},c.osgb36={towgs84:"446.448,-125.157,542.060,0.1502,0.2470,0.8421,-20.4894",ellipse:"airy",datumName:"Airy 1830"},c.s_jtsk={towgs84:"589,76,480",ellipse:"bessel",datumName:"S-JTSK (Ferro)"},c.beduaram={towgs84:"-106,-87,188",ellipse:"clrk80",datumName:"Beduaram"},c.gunung_segara={towgs84:"-403,684,41",ellipse:"bessel",datumName:"Gunung Segara Jakarta"},c.rnb72={towgs84:"106.869,-52.2978,103.724,-0.33657,0.456955,-1.84218,1",ellipse:"intl",datumName:"Reseau National Belge 1972"}},{}],26:[function(a,b,c){c.MERIT={a:6378137,rf:298.257,ellipseName:"MERIT 1983"},c.SGS85={a:6378136,rf:298.257,ellipseName:"Soviet Geodetic System 85"},c.GRS80={a:6378137,rf:298.257222101,ellipseName:"GRS 1980(IUGG, 1980)"},c.IAU76={a:6378140,rf:298.257,ellipseName:"IAU 1976"},c.airy={a:6377563.396,b:6356256.91,ellipseName:"Airy 1830"},c.APL4={a:6378137,rf:298.25,ellipseName:"Appl. Physics. 1965"},c.NWL9D={a:6378145,rf:298.25,ellipseName:"Naval Weapons Lab., 1965"},c.mod_airy={a:6377340.189,b:6356034.446,ellipseName:"Modified Airy"},c.andrae={a:6377104.43,rf:300,ellipseName:"Andrae 1876 (Den., Iclnd.)"},c.aust_SA={a:6378160,rf:298.25,ellipseName:"Australian Natl & S. Amer. 1969"},c.GRS67={a:6378160,rf:298.247167427,ellipseName:"GRS 67(IUGG 1967)"},c.bessel={a:6377397.155,rf:299.1528128,ellipseName:"Bessel 1841"},c.bess_nam={a:6377483.865,rf:299.1528128,ellipseName:"Bessel 1841 (Namibia)"},c.clrk66={a:6378206.4,b:6356583.8,ellipseName:"Clarke 1866"},c.clrk80={a:6378249.145,rf:293.4663,ellipseName:"Clarke 1880 mod."},c.clrk58={a:6378293.645208759,rf:294.2606763692654,ellipseName:"Clarke 1858"},c.CPM={a:6375738.7,rf:334.29,ellipseName:"Comm. des Poids et Mesures 1799"},c.delmbr={a:6376428,rf:311.5,ellipseName:"Delambre 1810 (Belgium)"},c.engelis={a:6378136.05,rf:298.2566,ellipseName:"Engelis 1985"},c.evrst30={a:6377276.345,rf:300.8017,ellipseName:"Everest 1830"},c.evrst48={a:6377304.063,rf:300.8017,ellipseName:"Everest 1948"},c.evrst56={a:6377301.243,rf:300.8017,ellipseName:"Everest 1956"},c.evrst69={a:6377295.664,rf:300.8017,ellipseName:"Everest 1969"},c.evrstSS={a:6377298.556,rf:300.8017,ellipseName:"Everest (Sabah & Sarawak)"},c.fschr60={a:6378166,rf:298.3,ellipseName:"Fischer (Mercury Datum) 1960"},c.fschr60m={a:6378155,rf:298.3,ellipseName:"Fischer 1960"},c.fschr68={a:6378150,rf:298.3,ellipseName:"Fischer 1968"},c.helmert={a:6378200,rf:298.3,ellipseName:"Helmert 1906"},c.hough={a:6378270,rf:297,ellipseName:"Hough"},c.intl={a:6378388,rf:297,ellipseName:"International 1909 (Hayford)"},c.kaula={a:6378163,rf:298.24,ellipseName:"Kaula 1961"},c.lerch={a:6378139,rf:298.257,ellipseName:"Lerch 1979"},c.mprts={a:6397300,rf:191,ellipseName:"Maupertius 1738"},c.new_intl={a:6378157.5,b:6356772.2,ellipseName:"New International 1967"},c.plessis={a:6376523,rf:6355863,ellipseName:"Plessis 1817 (France)"},c.krass={a:6378245,rf:298.3,ellipseName:"Krassovsky, 1942"},c.SEasia={a:6378155,b:6356773.3205,ellipseName:"Southeast Asia"},c.walbeck={a:6376896,b:6355834.8467,ellipseName:"Walbeck"},c.WGS60={a:6378165,rf:298.3,ellipseName:"WGS 60"},c.WGS66={a:6378145,rf:298.25,ellipseName:"WGS 66"},c.WGS7={a:6378135,rf:298.26,ellipseName:"WGS 72"},c.WGS84={a:6378137,rf:298.257223563,ellipseName:"WGS 84"},c.sphere={a:6370997,b:6370997,ellipseName:"Normal Sphere (r=6370997)"}},{}],27:[function(a,b,c){c.greenwich=0,c.lisbon=-9.131906111111,c.paris=2.337229166667,c.bogota=-74.080916666667,c.madrid=-3.687938888889,c.rome=12.452333333333,c.bern=7.439583333333,c.jakarta=106.807719444444,c.ferro=-17.666666666667,c.brussels=4.367975,c.stockholm=18.058277777778,c.athens=23.7163375,c.oslo=10.722916666667},{}],28:[function(a,b,c){c.ft={to_meter:.3048},c["us-ft"]={to_meter:1200/3937}},{}],29:[function(a,b,c){function d(a,b,c){var d;return Array.isArray(c)?(d=g(a,b,c),3===c.length?[d.x,d.y,d.z]:[d.x,d.y]):g(a,b,c)}function e(a){return a instanceof f?a:a.oProj?a.oProj:f(a)}function proj4(a,b,c){a=e(a);var f,g=!1;return"undefined"==typeof b?(b=a,a=h,g=!0):("undefined"!=typeof b.x||Array.isArray(b))&&(c=b,b=a,a=h,g=!0),b=e(b),c?d(a,b,c):(f={forward:function(c){return d(a,b,c)},inverse:function(c){return d(b,a,c)}},g&&(f.oProj=b),f)}var f=a("./Proj"),g=a("./transform"),h=f("WGS84");b.exports=proj4},{"./Proj":2,"./transform":66}],30:[function(a,b,c){var d=Math.PI/2,e=1,f=2,g=3,h=4,i=5,j=484813681109536e-20,k=1.0026,l=.3826834323650898,m=function(a){return this instanceof m?(this.datum_type=h,void(a&&(a.datumCode&&"none"===a.datumCode&&(this.datum_type=i),a.datum_params&&(this.datum_params=a.datum_params.map(parseFloat),0===this.datum_params[0]&&0===this.datum_params[1]&&0===this.datum_params[2]||(this.datum_type=e),this.datum_params.length>3&&(0===this.datum_params[3]&&0===this.datum_params[4]&&0===this.datum_params[5]&&0===this.datum_params[6]||(this.datum_type=f,this.datum_params[3]*=j,this.datum_params[4]*=j,this.datum_params[5]*=j,this.datum_params[6]=this.datum_params[6]/1e6+1))),this.datum_type=a.grids?g:this.datum_type,this.a=a.a,this.b=a.b,this.es=a.es,this.ep2=a.ep2,this.datum_type===g&&(this.grids=a.grids)))):new m(a)};m.prototype={compare_datums:function(a){return this.datum_type!==a.datum_type?!1:this.a!==a.a||Math.abs(this.es-a.es)>5e-11?!1:this.datum_type===e?this.datum_params[0]===a.datum_params[0]&&this.datum_params[1]===a.datum_params[1]&&this.datum_params[2]===a.datum_params[2]:this.datum_type===f?this.datum_params[0]===a.datum_params[0]&&this.datum_params[1]===a.datum_params[1]&&this.datum_params[2]===a.datum_params[2]&&this.datum_params[3]===a.datum_params[3]&&this.datum_params[4]===a.datum_params[4]&&this.datum_params[5]===a.datum_params[5]&&this.datum_params[6]===a.datum_params[6]:this.datum_type===g||a.datum_type===g?this.nadgrids===a.nadgrids:!0},geodetic_to_geocentric:function(a){var b,c,e,f,g,h,i,j=a.x,k=a.y,l=a.z?a.z:0,m=0;if(-d>k&&k>-1.001*d)k=-d;else if(k>d&&1.001*d>k)k=d;else if(-d>k||k>d)return null;return j>Math.PI&&(j-=2*Math.PI),g=Math.sin(k),i=Math.cos(k),h=g*g,f=this.a/Math.sqrt(1-this.es*h),b=(f+l)*i*Math.cos(j),c=(f+l)*i*Math.sin(j),e=(f*(1-this.es)+l)*g,a.x=b,a.y=c,a.z=e,m},geocentric_to_geodetic:function(a){var b,c,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t=1e-12,u=t*t,v=30,w=a.x,x=a.y,y=a.z?a.z:0;if(o=!1,b=Math.sqrt(w*w+x*x),c=Math.sqrt(w*w+x*x+y*y),b/this.au&&v>p);return r=Math.atan(m/Math.abs(l)),a.x=q,a.y=r,a.z=s,a},geocentric_to_geodetic_noniter:function(a){var b,c,e,f,g,h,i,j,m,n,o,p,q,r,s,t,u,v=a.x,w=a.y,x=a.z?a.z:0;if(v=parseFloat(v),w=parseFloat(w),x=parseFloat(x),u=!1,0!==v)b=Math.atan2(w,v);else if(w>0)b=d;else if(0>w)b=-d;else if(u=!0,b=0,x>0)c=d;else{if(!(0>x))return c=d,void(e=-this.b);c=-d}return g=v*v+w*w,f=Math.sqrt(g),h=x*k,j=Math.sqrt(h*h+g),n=h/j,p=f/j,o=n*n*n,i=x+this.b*this.ep2*o,t=f-this.a*this.es*p*p*p,m=Math.sqrt(i*i+t*t),q=i/m,r=t/m,s=this.a/Math.sqrt(1-this.es*q*q),e=r>=l?f/r-s:-l>=r?f/-r-s:x/q+s*(this.es-1),u===!1&&(c=Math.atan(q/r)),a.x=b,a.y=c,a.z=e,a},geocentric_to_wgs84:function(a){if(this.datum_type===e)a.x+=this.datum_params[0],a.y+=this.datum_params[1],a.z+=this.datum_params[2];else if(this.datum_type===f){var b=this.datum_params[0],c=this.datum_params[1],d=this.datum_params[2],g=this.datum_params[3],h=this.datum_params[4],i=this.datum_params[5],j=this.datum_params[6],k=j*(a.x-i*a.y+h*a.z)+b,l=j*(i*a.x+a.y-g*a.z)+c,m=j*(-h*a.x+g*a.y+a.z)+d;a.x=k,a.y=l,a.z=m}},geocentric_from_wgs84:function(a){if(this.datum_type===e)a.x-=this.datum_params[0],a.y-=this.datum_params[1],a.z-=this.datum_params[2];else if(this.datum_type===f){var b=this.datum_params[0],c=this.datum_params[1],d=this.datum_params[2],g=this.datum_params[3],h=this.datum_params[4],i=this.datum_params[5],j=this.datum_params[6],k=(a.x-b)/j,l=(a.y-c)/j,m=(a.z-d)/j;a.x=k+i*l-h*m,a.y=-i*k+l+g*m,a.z=h*k-g*l+m}}},b.exports=m},{}],31:[function(a,b,c){var d=1,e=2,f=3,g=5,h=6378137,i=.006694379990141316;b.exports=function(a,b,c){function j(a){return a===d||a===e}var k,l,m;if(a.compare_datums(b))return c;if(a.datum_type===g||b.datum_type===g)return c;var n=a.a,o=a.es,p=b.a,q=b.es,r=a.datum_type;if(r===f)if(0===this.apply_gridshift(a,0,c))a.a=h,a.es=i;else{if(!a.datum_params)return a.a=n,a.es=a.es,c;for(k=1,l=0,m=a.datum_params.length;m>l;l++)k*=a.datum_params[l];if(0===k)return a.a=n,a.es=a.es,c;r=a.datum_params.length>3?e:d}return b.datum_type===f&&(b.a=h,b.es=i),(a.es!==b.es||a.a!==b.a||j(r)||j(b.datum_type))&&(a.geodetic_to_geocentric(c),j(a.datum_type)&&a.geocentric_to_wgs84(c),j(b.datum_type)&&b.geocentric_from_wgs84(c),b.geocentric_to_geodetic(c)),b.datum_type===f&&this.apply_gridshift(b,1,c),a.a=n,a.es=o,b.a=p,b.es=q,c}},{}],32:[function(a,b,c){function d(a){var b=this;if(2===arguments.length){var c=arguments[1];"string"==typeof c?"+"===c.charAt(0)?d[a]=f(arguments[1]):d[a]=g(arguments[1]):d[a]=c}else if(1===arguments.length){if(Array.isArray(a))return a.map(function(a){Array.isArray(a)?d.apply(b,a):d(a)});if("string"==typeof a){if(a in d)return d[a]}else"EPSG"in a?d["EPSG:"+a.EPSG]=a:"ESRI"in a?d["ESRI:"+a.ESRI]=a:"IAU2000"in a?d["IAU2000:"+a.IAU2000]=a:console.log(a);return}}var e=a("./global"),f=a("./projString"),g=a("./wkt");e(d),b.exports=d},{"./global":35,"./projString":38,"./wkt":67}],33:[function(a,b,c){var d=a("./constants/Datum"),e=a("./constants/Ellipsoid"),f=a("./extend"),g=a("./datum"),h=1e-10,i=.16666666666666666,j=.04722222222222222,k=.022156084656084655;b.exports=function(a){if(a.datumCode&&"none"!==a.datumCode){var b=d[a.datumCode];b&&(a.datum_params=b.towgs84?b.towgs84.split(","):null,a.ellps=b.ellipse,a.datumName=b.datumName?b.datumName:a.datumCode)}if(!a.a){var c=e[a.ellps]?e[a.ellps]:e.WGS84;f(a,c)}return a.rf&&!a.b&&(a.b=(1-1/a.rf)*a.a),(0===a.rf||Math.abs(a.a-a.b)d?this.ns0=(this.ms1*this.ms1-this.ms2*this.ms2)/(this.qs2-this.qs1):this.ns0=this.con,this.c=this.ms1*this.ms1+this.ns0*this.qs1,this.rh=this.a*Math.sqrt(this.c-this.ns0*this.qs0)/this.ns0)},c.forward=function(a){var b=a.x,c=a.y;this.sin_phi=Math.sin(c),this.cos_phi=Math.cos(c);var d=f(this.e3,this.sin_phi,this.cos_phi),e=this.a*Math.sqrt(this.c-this.ns0*d)/this.ns0,h=this.ns0*g(b-this.long0),i=e*Math.sin(h)+this.x0,j=this.rh-e*Math.cos(h)+this.y0;return a.x=i,a.y=j,a},c.inverse=function(a){var b,c,d,e,f,h;return a.x-=this.x0,a.y=this.rh-a.y+this.y0,this.ns0>=0?(b=Math.sqrt(a.x*a.x+a.y*a.y),d=1):(b=-Math.sqrt(a.x*a.x+a.y*a.y),d=-1),e=0,0!==b&&(e=Math.atan2(d*a.x,d*a.y)),d=b*this.ns0/this.a,this.sphere?h=Math.asin((this.c-d*d)/(2*this.ns0)):(c=(this.c-d*d)/this.ns0,h=this.phi1z(this.e3,c)),f=g(e/this.ns0+this.long0),a.x=f,a.y=h,a},c.phi1z=function(a,b){var c,e,f,g,i,j=h(.5*b);if(d>a)return j;for(var k=a*a,l=1;25>=l;l++)if(c=Math.sin(j),e=Math.cos(j),f=a*c,g=1-f*f,i=.5*g*g/e*(b/(1-k)-c/g+.5/a*Math.log((1-f)/(1+f))),j+=i,Math.abs(i)<=1e-7)return j;return null},c.names=["Albers_Conic_Equal_Area","Albers","aea"]},{"../common/adjust_lon":5,"../common/asinz":6,"../common/msfnz":15,"../common/qsfnz":20}],41:[function(a,b,c){var d=a("../common/adjust_lon"),e=Math.PI/2,f=1e-10,g=a("../common/mlfn"),h=a("../common/e0fn"),i=a("../common/e1fn"),j=a("../common/e2fn"),k=a("../common/e3fn"),l=a("../common/gN"),m=a("../common/asinz"),n=a("../common/imlfn");c.init=function(){this.sin_p12=Math.sin(this.lat0),this.cos_p12=Math.cos(this.lat0)},c.forward=function(a){var b,c,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H=a.x,I=a.y,J=Math.sin(a.y),K=Math.cos(a.y),L=d(H-this.long0);return this.sphere?Math.abs(this.sin_p12-1)<=f?(a.x=this.x0+this.a*(e-I)*Math.sin(L),a.y=this.y0-this.a*(e-I)*Math.cos(L),a):Math.abs(this.sin_p12+1)<=f?(a.x=this.x0+this.a*(e+I)*Math.sin(L),a.y=this.y0+this.a*(e+I)*Math.cos(L),a):(B=this.sin_p12*J+this.cos_p12*K*Math.cos(L),z=Math.acos(B),A=z/Math.sin(z),a.x=this.x0+this.a*A*K*Math.sin(L),a.y=this.y0+this.a*A*(this.cos_p12*J-this.sin_p12*K*Math.cos(L)),a):(b=h(this.es),c=i(this.es),m=j(this.es),n=k(this.es),Math.abs(this.sin_p12-1)<=f?(o=this.a*g(b,c,m,n,e),p=this.a*g(b,c,m,n,I),a.x=this.x0+(o-p)*Math.sin(L),a.y=this.y0-(o-p)*Math.cos(L),a):Math.abs(this.sin_p12+1)<=f?(o=this.a*g(b,c,m,n,e),p=this.a*g(b,c,m,n,I),a.x=this.x0+(o+p)*Math.sin(L),a.y=this.y0+(o+p)*Math.cos(L),a):(q=J/K,r=l(this.a,this.e,this.sin_p12),s=l(this.a,this.e,J),t=Math.atan((1-this.es)*q+this.es*r*this.sin_p12/(s*K)),u=Math.atan2(Math.sin(L),this.cos_p12*Math.tan(t)-this.sin_p12*Math.cos(L)),C=0===u?Math.asin(this.cos_p12*Math.sin(t)-this.sin_p12*Math.cos(t)):Math.abs(Math.abs(u)-Math.PI)<=f?-Math.asin(this.cos_p12*Math.sin(t)-this.sin_p12*Math.cos(t)):Math.asin(Math.sin(L)*Math.cos(t)/Math.sin(u)),v=this.e*this.sin_p12/Math.sqrt(1-this.es),w=this.e*this.cos_p12*Math.cos(u)/Math.sqrt(1-this.es),x=v*w,y=w*w,D=C*C,E=D*C,F=E*C,G=F*C,z=r*C*(1-D*y*(1-y)/6+E/8*x*(1-2*y)+F/120*(y*(4-7*y)-3*v*v*(1-7*y))-G/48*x),a.x=this.x0+z*Math.sin(u),a.y=this.y0+z*Math.cos(u),a))},c.inverse=function(a){a.x-=this.x0,a.y-=this.y0;var b,c,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I;if(this.sphere){if(b=Math.sqrt(a.x*a.x+a.y*a.y),b>2*e*this.a)return;return c=b/this.a,o=Math.sin(c),p=Math.cos(c),q=this.long0,Math.abs(b)<=f?r=this.lat0:(r=m(p*this.sin_p12+a.y*o*this.cos_p12/b),s=Math.abs(this.lat0)-e,q=d(Math.abs(s)<=f?this.lat0>=0?this.long0+Math.atan2(a.x,-a.y):this.long0-Math.atan2(-a.x,a.y):this.long0+Math.atan2(a.x*o,b*this.cos_p12*p-a.y*this.sin_p12*o))),a.x=q,a.y=r,a}return t=h(this.es),u=i(this.es),v=j(this.es),w=k(this.es),Math.abs(this.sin_p12-1)<=f?(x=this.a*g(t,u,v,w,e),b=Math.sqrt(a.x*a.x+a.y*a.y),y=x-b,r=n(y/this.a,t,u,v,w),q=d(this.long0+Math.atan2(a.x,-1*a.y)),a.x=q,a.y=r,a):Math.abs(this.sin_p12+1)<=f?(x=this.a*g(t,u,v,w,e),b=Math.sqrt(a.x*a.x+a.y*a.y),y=b-x,r=n(y/this.a,t,u,v,w),q=d(this.long0+Math.atan2(a.x,a.y)),a.x=q,a.y=r,a):(b=Math.sqrt(a.x*a.x+a.y*a.y),B=Math.atan2(a.x,a.y),z=l(this.a,this.e,this.sin_p12),C=Math.cos(B),D=this.e*this.cos_p12*C,E=-D*D/(1-this.es),F=3*this.es*(1-E)*this.sin_p12*this.cos_p12*C/(1-this.es),G=b/z,H=G-E*(1+E)*Math.pow(G,3)/6-F*(1+3*E)*Math.pow(G,4)/24,I=1-E*H*H/2-G*H*H*H/6,A=Math.asin(this.sin_p12*Math.cos(H)+this.cos_p12*Math.sin(H)*C),q=d(this.long0+Math.asin(Math.sin(B)*Math.sin(H)/Math.cos(A))),r=Math.atan((1-this.es*I*this.sin_p12/Math.sin(A))*Math.tan(A)/(1-this.es)),a.x=q,a.y=r,a)},c.names=["Azimuthal_Equidistant","aeqd"]},{"../common/adjust_lon":5,"../common/asinz":6,"../common/e0fn":7,"../common/e1fn":8,"../common/e2fn":9,"../common/e3fn":10,"../common/gN":11,"../common/imlfn":12,"../common/mlfn":14}],42:[function(a,b,c){var d=a("../common/mlfn"),e=a("../common/e0fn"),f=a("../common/e1fn"),g=a("../common/e2fn"),h=a("../common/e3fn"),i=a("../common/gN"),j=a("../common/adjust_lon"),k=a("../common/adjust_lat"),l=a("../common/imlfn"),m=Math.PI/2,n=1e-10;c.init=function(){this.sphere||(this.e0=e(this.es),this.e1=f(this.es),this.e2=g(this.es),this.e3=h(this.es),this.ml0=this.a*d(this.e0,this.e1,this.e2,this.e3,this.lat0))},c.forward=function(a){var b,c,e=a.x,f=a.y;if(e=j(e-this.long0),this.sphere)b=this.a*Math.asin(Math.cos(f)*Math.sin(e)),c=this.a*(Math.atan2(Math.tan(f),Math.cos(e))-this.lat0);else{var g=Math.sin(f),h=Math.cos(f),k=i(this.a,this.e,g),l=Math.tan(f)*Math.tan(f),m=e*Math.cos(f),n=m*m,o=this.es*h*h/(1-this.es),p=this.a*d(this.e0,this.e1,this.e2,this.e3,f);b=k*m*(1-n*l*(1/6-(8-l+8*o)*n/120)),c=p-this.ml0+k*g/h*n*(.5+(5-l+6*o)*n/24)}return a.x=b+this.x0,a.y=c+this.y0,a},c.inverse=function(a){a.x-=this.x0,a.y-=this.y0;var b,c,d=a.x/this.a,e=a.y/this.a;if(this.sphere){var f=e+this.lat0;b=Math.asin(Math.sin(f)*Math.cos(d)),c=Math.atan2(Math.tan(d),Math.cos(f))}else{var g=this.ml0/this.a+e,h=l(g,this.e0,this.e1,this.e2,this.e3);if(Math.abs(Math.abs(h)-m)<=n)return a.x=this.long0,a.y=m,0>e&&(a.y*=-1),a;var o=i(this.a,this.e,Math.sin(h)),p=o*o*o/this.a/this.a*(1-this.es),q=Math.pow(Math.tan(h),2),r=d*this.a/o,s=r*r;b=h-o*Math.tan(h)/p*r*r*(.5-(1+3*q)*r*r/24),c=r*(1-s*(q/3+(1+3*q)*q*s/15))/Math.cos(h)}return a.x=j(c+this.long0),a.y=k(b),a},c.names=["Cassini","Cassini_Soldner","cass"]},{"../common/adjust_lat":4,"../common/adjust_lon":5,"../common/e0fn":7,"../common/e1fn":8,"../common/e2fn":9,"../common/e3fn":10,"../common/gN":11,"../common/imlfn":12,"../common/mlfn":14}],43:[function(a,b,c){var d=a("../common/adjust_lon"),e=a("../common/qsfnz"),f=a("../common/msfnz"),g=a("../common/iqsfnz");c.init=function(){this.sphere||(this.k0=f(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts)))},c.forward=function(a){var b,c,f=a.x,g=a.y,h=d(f-this.long0);if(this.sphere)b=this.x0+this.a*h*Math.cos(this.lat_ts),c=this.y0+this.a*Math.sin(g)/Math.cos(this.lat_ts);else{var i=e(this.e,Math.sin(g));b=this.x0+this.a*this.k0*h,c=this.y0+this.a*i*.5/this.k0}return a.x=b,a.y=c,a},c.inverse=function(a){a.x-=this.x0,a.y-=this.y0;var b,c;return this.sphere?(b=d(this.long0+a.x/this.a/Math.cos(this.lat_ts)),c=Math.asin(a.y/this.a*Math.cos(this.lat_ts))):(c=g(this.e,2*a.y*this.k0/this.a),b=d(this.long0+a.x/(this.a*this.k0))),a.x=b,a.y=c,a},c.names=["cea"]},{"../common/adjust_lon":5,"../common/iqsfnz":13,"../common/msfnz":15,"../common/qsfnz":20}],44:[function(a,b,c){var d=a("../common/adjust_lon"),e=a("../common/adjust_lat");c.init=function(){this.x0=this.x0||0,this.y0=this.y0||0,this.lat0=this.lat0||0,this.long0=this.long0||0,this.lat_ts=this.lat_ts||0,this.title=this.title||"Equidistant Cylindrical (Plate Carre)",this.rc=Math.cos(this.lat_ts)},c.forward=function(a){var b=a.x,c=a.y,f=d(b-this.long0),g=e(c-this.lat0);return a.x=this.x0+this.a*f*this.rc,a.y=this.y0+this.a*g,a},c.inverse=function(a){var b=a.x,c=a.y;return a.x=d(this.long0+(b-this.x0)/(this.a*this.rc)),a.y=e(this.lat0+(c-this.y0)/this.a),a},c.names=["Equirectangular","Equidistant_Cylindrical","eqc"]},{"../common/adjust_lat":4,"../common/adjust_lon":5}],45:[function(a,b,c){var d=a("../common/e0fn"),e=a("../common/e1fn"),f=a("../common/e2fn"),g=a("../common/e3fn"),h=a("../common/msfnz"),i=a("../common/mlfn"),j=a("../common/adjust_lon"),k=a("../common/adjust_lat"),l=a("../common/imlfn"),m=1e-10;c.init=function(){Math.abs(this.lat1+this.lat2)=0?(c=Math.sqrt(a.x*a.x+a.y*a.y), +b=1):(c=-Math.sqrt(a.x*a.x+a.y*a.y),b=-1);var f=0;if(0!==c&&(f=Math.atan2(b*a.x,b*a.y)),this.sphere)return e=j(this.long0+f/this.ns),d=k(this.g-c/this.a),a.x=e,a.y=d,a;var g=this.g-c/this.a;return d=l(g,this.e0,this.e1,this.e2,this.e3),e=j(this.long0+f/this.ns),a.x=e,a.y=d,a},c.names=["Equidistant_Conic","eqdc"]},{"../common/adjust_lat":4,"../common/adjust_lon":5,"../common/e0fn":7,"../common/e1fn":8,"../common/e2fn":9,"../common/e3fn":10,"../common/imlfn":12,"../common/mlfn":14,"../common/msfnz":15}],46:[function(a,b,c){var d=Math.PI/4,e=a("../common/srat"),f=Math.PI/2,g=20;c.init=function(){var a=Math.sin(this.lat0),b=Math.cos(this.lat0);b*=b,this.rc=Math.sqrt(1-this.es)/(1-this.es*a*a),this.C=Math.sqrt(1+this.es*b*b/(1-this.es)),this.phic0=Math.asin(a/this.C),this.ratexp=.5*this.C*this.e,this.K=Math.tan(.5*this.phic0+d)/(Math.pow(Math.tan(.5*this.lat0+d),this.C)*e(this.e*a,this.ratexp))},c.forward=function(a){var b=a.x,c=a.y;return a.y=2*Math.atan(this.K*Math.pow(Math.tan(.5*c+d),this.C)*e(this.e*Math.sin(c),this.ratexp))-f,a.x=this.C*b,a},c.inverse=function(a){for(var b=1e-14,c=a.x/this.C,h=a.y,i=Math.pow(Math.tan(.5*h+d)/this.K,1/this.C),j=g;j>0&&(h=2*Math.atan(i*e(this.e*Math.sin(a.y),-.5*this.e))-f,!(Math.abs(h-a.y)0||Math.abs(i)<=e?(j=this.x0+this.a*h*c*Math.sin(f)/i,k=this.y0+this.a*h*(this.cos_p14*b-this.sin_p14*c*g)/i):(j=this.x0+this.infinity_dist*c*Math.sin(f),k=this.y0+this.infinity_dist*(this.cos_p14*b-this.sin_p14*c*g)),a.x=j,a.y=k,a},c.inverse=function(a){var b,c,e,g,h,i;return a.x=(a.x-this.x0)/this.a,a.y=(a.y-this.y0)/this.a,a.x/=this.k0,a.y/=this.k0,(b=Math.sqrt(a.x*a.x+a.y*a.y))?(g=Math.atan2(b,this.rc),c=Math.sin(g),e=Math.cos(g),i=f(e*this.sin_p14+a.y*c*this.cos_p14/b),h=Math.atan2(a.x*c,b*this.cos_p14*e-a.y*this.sin_p14*c),h=d(this.long0+h)):(i=this.phic0,h=0),a.x=h,a.y=i,a},c.names=["gnom"]},{"../common/adjust_lon":5,"../common/asinz":6}],48:[function(a,b,c){var d=a("../common/adjust_lon");c.init=function(){this.a=6377397.155,this.es=.006674372230614,this.e=Math.sqrt(this.es),this.lat0||(this.lat0=.863937979737193),this.long0||(this.long0=.4334234309119251),this.k0||(this.k0=.9999),this.s45=.785398163397448,this.s90=2*this.s45,this.fi0=this.lat0,this.e2=this.es,this.e=Math.sqrt(this.e2),this.alfa=Math.sqrt(1+this.e2*Math.pow(Math.cos(this.fi0),4)/(1-this.e2)),this.uq=1.04216856380474,this.u0=Math.asin(Math.sin(this.fi0)/this.alfa),this.g=Math.pow((1+this.e*Math.sin(this.fi0))/(1-this.e*Math.sin(this.fi0)),this.alfa*this.e/2),this.k=Math.tan(this.u0/2+this.s45)/Math.pow(Math.tan(this.fi0/2+this.s45),this.alfa)*this.g,this.k1=this.k0,this.n0=this.a*Math.sqrt(1-this.e2)/(1-this.e2*Math.pow(Math.sin(this.fi0),2)),this.s0=1.37008346281555,this.n=Math.sin(this.s0),this.ro0=this.k1*this.n0/Math.tan(this.s0),this.ad=this.s90-this.uq},c.forward=function(a){var b,c,e,f,g,h,i,j=a.x,k=a.y,l=d(j-this.long0);return b=Math.pow((1+this.e*Math.sin(k))/(1-this.e*Math.sin(k)),this.alfa*this.e/2),c=2*(Math.atan(this.k*Math.pow(Math.tan(k/2+this.s45),this.alfa)/b)-this.s45),e=-l*this.alfa,f=Math.asin(Math.cos(this.ad)*Math.sin(c)+Math.sin(this.ad)*Math.cos(c)*Math.cos(e)),g=Math.asin(Math.cos(c)*Math.sin(e)/Math.cos(f)),h=this.n*g,i=this.ro0*Math.pow(Math.tan(this.s0/2+this.s45),this.n)/Math.pow(Math.tan(f/2+this.s45),this.n),a.y=i*Math.cos(h)/1,a.x=i*Math.sin(h)/1,this.czech||(a.y*=-1,a.x*=-1),a},c.inverse=function(a){var b,c,d,e,f,g,h,i,j=a.x;a.x=a.y,a.y=j,this.czech||(a.y*=-1,a.x*=-1),g=Math.sqrt(a.x*a.x+a.y*a.y),f=Math.atan2(a.y,a.x),e=f/Math.sin(this.s0),d=2*(Math.atan(Math.pow(this.ro0/g,1/this.n)*Math.tan(this.s0/2+this.s45))-this.s45),b=Math.asin(Math.cos(this.ad)*Math.sin(d)-Math.sin(this.ad)*Math.cos(d)*Math.cos(e)),c=Math.asin(Math.cos(d)*Math.sin(e)/Math.cos(b)),a.x=this.long0-c/this.alfa,h=b,i=0;var k=0;do a.y=2*(Math.atan(Math.pow(this.k,-1/this.alfa)*Math.pow(Math.tan(b/2+this.s45),1/this.alfa)*Math.pow((1+this.e*Math.sin(h))/(1-this.e*Math.sin(h)),this.e/2))-this.s45),Math.abs(h-a.y)<1e-10&&(i=1),h=a.y,k+=1;while(0===i&&15>k);return k>=15?null:a},c.names=["Krovak","krovak"]},{"../common/adjust_lon":5}],49:[function(a,b,c){var d=Math.PI/2,e=Math.PI/4,f=1e-10,g=a("../common/qsfnz"),h=a("../common/adjust_lon");c.S_POLE=1,c.N_POLE=2,c.EQUIT=3,c.OBLIQ=4,c.init=function(){var a=Math.abs(this.lat0);if(Math.abs(a-d)0){var b;switch(this.qp=g(this.e,1),this.mmf=.5/(1-this.es),this.apa=this.authset(this.es),this.mode){case this.N_POLE:this.dd=1;break;case this.S_POLE:this.dd=1;break;case this.EQUIT:this.rq=Math.sqrt(.5*this.qp),this.dd=1/this.rq,this.xmf=1,this.ymf=.5*this.qp;break;case this.OBLIQ:this.rq=Math.sqrt(.5*this.qp),b=Math.sin(this.lat0),this.sinb1=g(this.e,b)/this.qp,this.cosb1=Math.sqrt(1-this.sinb1*this.sinb1),this.dd=Math.cos(this.lat0)/(Math.sqrt(1-this.es*b*b)*this.rq*this.cosb1),this.ymf=(this.xmf=this.rq)/this.dd,this.xmf*=this.dd}}else this.mode===this.OBLIQ&&(this.sinph0=Math.sin(this.lat0),this.cosph0=Math.cos(this.lat0))},c.forward=function(a){var b,c,i,j,k,l,m,n,o,p,q=a.x,r=a.y;if(q=h(q-this.long0),this.sphere){if(k=Math.sin(r),p=Math.cos(r),i=Math.cos(q),this.mode===this.OBLIQ||this.mode===this.EQUIT){if(c=this.mode===this.EQUIT?1+p*i:1+this.sinph0*k+this.cosph0*p*i,f>=c)return null;c=Math.sqrt(2/c),b=c*p*Math.sin(q),c*=this.mode===this.EQUIT?k:this.cosph0*k-this.sinph0*p*i}else if(this.mode===this.N_POLE||this.mode===this.S_POLE){if(this.mode===this.N_POLE&&(i=-i),Math.abs(r+this.phi0)=0?(b=(o=Math.sqrt(l))*j,c=i*(this.mode===this.S_POLE?o:-o)):b=c=0}}return a.x=this.a*b+this.x0,a.y=this.a*c+this.y0,a},c.inverse=function(a){a.x-=this.x0,a.y-=this.y0;var b,c,e,g,i,j,k,l=a.x/this.a,m=a.y/this.a;if(this.sphere){var n,o=0,p=0;if(n=Math.sqrt(l*l+m*m),c=.5*n,c>1)return null;switch(c=2*Math.asin(c),this.mode!==this.OBLIQ&&this.mode!==this.EQUIT||(p=Math.sin(c),o=Math.cos(c)),this.mode){case this.EQUIT:c=Math.abs(n)<=f?0:Math.asin(m*p/n),l*=p,m=o*n;break;case this.OBLIQ:c=Math.abs(n)<=f?this.phi0:Math.asin(o*this.sinph0+m*p*this.cosph0/n),l*=p*this.cosph0,m=(o-Math.sin(c)*this.sinph0)*n;break;case this.N_POLE:m=-m,c=d-c;break;case this.S_POLE:c-=d}b=0!==m||this.mode!==this.EQUIT&&this.mode!==this.OBLIQ?Math.atan2(l,m):0}else{if(k=0,this.mode===this.OBLIQ||this.mode===this.EQUIT){if(l/=this.dd,m*=this.dd,j=Math.sqrt(l*l+m*m),f>j)return a.x=0,a.y=this.phi0,a;g=2*Math.asin(.5*j/this.rq),e=Math.cos(g),l*=g=Math.sin(g),this.mode===this.OBLIQ?(k=e*this.sinb1+m*g*this.cosb1/j,i=this.qp*k,m=j*this.cosb1*e-m*this.sinb1*g):(k=m*g/j,i=this.qp*k,m=j*e)}else if(this.mode===this.N_POLE||this.mode===this.S_POLE){if(this.mode===this.N_POLE&&(m=-m),i=l*l+m*m,!i)return a.x=0,a.y=this.phi0,a;k=1-i/this.qp,this.mode===this.S_POLE&&(k=-k)}b=Math.atan2(l,m),c=this.authlat(Math.asin(k),this.apa)}return a.x=h(this.long0+b),a.y=c,a},c.P00=.3333333333333333,c.P01=.17222222222222222,c.P02=.10257936507936508,c.P10=.06388888888888888,c.P11=.0664021164021164,c.P20=.016415012942191543,c.authset=function(a){var b,c=[];return c[0]=a*this.P00,b=a*a,c[0]+=b*this.P01,c[1]=b*this.P10,b*=a,c[0]+=b*this.P02,c[1]+=b*this.P11,c[2]=b*this.P20,c},c.authlat=function(a,b){var c=a+a;return a+b[0]*Math.sin(c)+b[1]*Math.sin(c+c)+b[2]*Math.sin(c+c+c)},c.names=["Lambert Azimuthal Equal Area","Lambert_Azimuthal_Equal_Area","laea"]},{"../common/adjust_lon":5,"../common/qsfnz":20}],50:[function(a,b,c){var d=1e-10,e=a("../common/msfnz"),f=a("../common/tsfnz"),g=Math.PI/2,h=a("../common/sign"),i=a("../common/adjust_lon"),j=a("../common/phi2z");c.init=function(){if(this.lat2||(this.lat2=this.lat1),this.k0||(this.k0=1),this.x0=this.x0||0,this.y0=this.y0||0,!(Math.abs(this.lat1+this.lat2)d?this.ns=Math.log(g/k)/Math.log(h/l):this.ns=b,isNaN(this.ns)&&(this.ns=b),this.f0=g/(this.ns*Math.pow(h,this.ns)),this.rh=this.a*this.f0*Math.pow(m,this.ns),this.title||(this.title="Lambert Conformal Conic")}},c.forward=function(a){var b=a.x,c=a.y;Math.abs(2*Math.abs(c)-Math.PI)<=d&&(c=h(c)*(g-2*d));var e,j,k=Math.abs(Math.abs(c)-g);if(k>d)e=f(this.e,c,Math.sin(c)),j=this.a*this.f0*Math.pow(e,this.ns);else{if(k=c*this.ns,0>=k)return null;j=0}var l=this.ns*i(b-this.long0);return a.x=this.k0*(j*Math.sin(l))+this.x0,a.y=this.k0*(this.rh-j*Math.cos(l))+this.y0,a},c.inverse=function(a){var b,c,d,e,f,h=(a.x-this.x0)/this.k0,k=this.rh-(a.y-this.y0)/this.k0;this.ns>0?(b=Math.sqrt(h*h+k*k),c=1):(b=-Math.sqrt(h*h+k*k),c=-1);var l=0;if(0!==b&&(l=Math.atan2(c*h,c*k)),0!==b||this.ns>0){if(c=1/this.ns,d=Math.pow(b/(this.a*this.f0),c),e=j(this.e,d),-9999===e)return null}else e=-g;return f=i(l/this.ns+this.long0),a.x=f,a.y=e,a},c.names=["Lambert Tangential Conformal Conic Projection","Lambert_Conformal_Conic","Lambert_Conformal_Conic_2SP","lcc"]},{"../common/adjust_lon":5,"../common/msfnz":15,"../common/phi2z":16,"../common/sign":21,"../common/tsfnz":24}],51:[function(a,b,c){function d(a){return a}c.init=function(){},c.forward=d,c.inverse=d,c.names=["longlat","identity"]},{}],52:[function(a,b,c){var d=a("../common/msfnz"),e=Math.PI/2,f=1e-10,g=57.29577951308232,h=a("../common/adjust_lon"),i=Math.PI/4,j=a("../common/tsfnz"),k=a("../common/phi2z");c.init=function(){var a=this.b/this.a;this.es=1-a*a,"x0"in this||(this.x0=0),"y0"in this||(this.y0=0),this.e=Math.sqrt(this.es),this.lat_ts?this.sphere?this.k0=Math.cos(this.lat_ts):this.k0=d(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts)):this.k0||(this.k?this.k0=this.k:this.k0=1)},c.forward=function(a){var b=a.x,c=a.y;if(c*g>90&&-90>c*g&&b*g>180&&-180>b*g)return null;var d,k;if(Math.abs(Math.abs(c)-e)<=f)return null;if(this.sphere)d=this.x0+this.a*this.k0*h(b-this.long0),k=this.y0+this.a*this.k0*Math.log(Math.tan(i+.5*c));else{var l=Math.sin(c),m=j(this.e,c,l);d=this.x0+this.a*this.k0*h(b-this.long0),k=this.y0-this.a*this.k0*Math.log(m)}return a.x=d,a.y=k,a},c.inverse=function(a){var b,c,d=a.x-this.x0,f=a.y-this.y0;if(this.sphere)c=e-2*Math.atan(Math.exp(-f/(this.a*this.k0)));else{var g=Math.exp(-f/(this.a*this.k0));if(c=k(this.e,g),-9999===c)return null}return b=h(this.long0+d/(this.a*this.k0)),a.x=b,a.y=c,a},c.names=["Mercator","Popular Visualisation Pseudo Mercator","Mercator_1SP","Mercator_Auxiliary_Sphere","merc"]},{"../common/adjust_lon":5,"../common/msfnz":15,"../common/phi2z":16,"../common/tsfnz":24}],53:[function(a,b,c){var d=a("../common/adjust_lon");c.init=function(){},c.forward=function(a){var b=a.x,c=a.y,e=d(b-this.long0),f=this.x0+this.a*e,g=this.y0+this.a*Math.log(Math.tan(Math.PI/4+c/2.5))*1.25;return a.x=f,a.y=g,a},c.inverse=function(a){a.x-=this.x0,a.y-=this.y0;var b=d(this.long0+a.x/this.a),c=2.5*(Math.atan(Math.exp(.8*a.y/this.a))-Math.PI/4);return a.x=b,a.y=c,a},c.names=["Miller_Cylindrical","mill"]},{"../common/adjust_lon":5}],54:[function(a,b,c){var d=a("../common/adjust_lon"),e=1e-10;c.init=function(){},c.forward=function(a){for(var b=a.x,c=a.y,f=d(b-this.long0),g=c,h=Math.PI*Math.sin(c),i=0;!0;i++){var j=-(g+Math.sin(g)-h)/(1+Math.cos(g));if(g+=j,Math.abs(j).999999999999&&(c=.999999999999),b=Math.asin(c);var e=d(this.long0+a.x/(.900316316158*this.a*Math.cos(b)));e<-Math.PI&&(e=-Math.PI),e>Math.PI&&(e=Math.PI),c=(2*b+Math.sin(2*b))/Math.PI,Math.abs(c)>1&&(c=1);var f=Math.asin(c);return a.x=e,a.y=f,a},c.names=["Mollweide","moll"]},{"../common/adjust_lon":5}],55:[function(a,b,c){var d=484813681109536e-20;c.iterations=1,c.init=function(){this.A=[],this.A[1]=.6399175073,this.A[2]=-.1358797613,this.A[3]=.063294409,this.A[4]=-.02526853,this.A[5]=.0117879,this.A[6]=-.0055161,this.A[7]=.0026906,this.A[8]=-.001333,this.A[9]=67e-5,this.A[10]=-34e-5,this.B_re=[],this.B_im=[],this.B_re[1]=.7557853228,this.B_im[1]=0,this.B_re[2]=.249204646,this.B_im[2]=.003371507,this.B_re[3]=-.001541739,this.B_im[3]=.04105856,this.B_re[4]=-.10162907,this.B_im[4]=.01727609,this.B_re[5]=-.26623489,this.B_im[5]=-.36249218,this.B_re[6]=-.6870983,this.B_im[6]=-1.1651967,this.C_re=[],this.C_im=[],this.C_re[1]=1.3231270439,this.C_im[1]=0,this.C_re[2]=-.577245789,this.C_im[2]=-.007809598,this.C_re[3]=.508307513,this.C_im[3]=-.112208952,this.C_re[4]=-.15094762,this.C_im[4]=.18200602,this.C_re[5]=1.01418179,this.C_im[5]=1.64497696,this.C_re[6]=1.9660549,this.C_im[6]=2.5127645,this.D=[],this.D[1]=1.5627014243,this.D[2]=.5185406398,this.D[3]=-.03333098,this.D[4]=-.1052906,this.D[5]=-.0368594,this.D[6]=.007317,this.D[7]=.0122,this.D[8]=.00394,this.D[9]=-.0013},c.forward=function(a){var b,c=a.x,e=a.y,f=e-this.lat0,g=c-this.long0,h=f/d*1e-5,i=g,j=1,k=0;for(b=1;10>=b;b++)j*=h,k+=this.A[b]*j;var l,m,n=k,o=i,p=1,q=0,r=0,s=0;for(b=1;6>=b;b++)l=p*n-q*o,m=q*n+p*o,p=l,q=m,r=r+this.B_re[b]*p-this.B_im[b]*q,s=s+this.B_im[b]*p+this.B_re[b]*q;return a.x=s*this.a+this.x0,a.y=r*this.a+this.y0,a},c.inverse=function(a){var b,c,e,f=a.x,g=a.y,h=f-this.x0,i=g-this.y0,j=i/this.a,k=h/this.a,l=1,m=0,n=0,o=0;for(b=1;6>=b;b++)c=l*j-m*k,e=m*j+l*k,l=c,m=e,n=n+this.C_re[b]*l-this.C_im[b]*m,o=o+this.C_im[b]*l+this.C_re[b]*m;for(var p=0;p=b;b++)q=s*n-t*o,r=t*n+s*o,s=q,t=r,u+=(b-1)*(this.B_re[b]*s-this.B_im[b]*t),v+=(b-1)*(this.B_im[b]*s+this.B_re[b]*t);s=1,t=0;var w=this.B_re[1],x=this.B_im[1];for(b=2;6>=b;b++)q=s*n-t*o,r=t*n+s*o,s=q,t=r,w+=b*(this.B_re[b]*s-this.B_im[b]*t),x+=b*(this.B_im[b]*s+this.B_re[b]*t);var y=w*w+x*x;n=(u*w+v*x)/y,o=(v*w-u*x)/y}var z=n,A=o,B=1,C=0;for(b=1;9>=b;b++)B*=z,C+=this.D[b]*B;var D=this.lat0+C*d*1e5,E=this.long0+A;return a.x=E,a.y=D,a},c.names=["New_Zealand_Map_Grid","nzmg"]},{}],56:[function(a,b,c){var d=a("../common/tsfnz"),e=a("../common/adjust_lon"),f=a("../common/phi2z"),g=Math.PI/2,h=Math.PI/4,i=1e-10;c.init=function(){this.no_off=this.no_off||!1,this.no_rot=this.no_rot||!1,isNaN(this.k0)&&(this.k0=1);var a=Math.sin(this.lat0),b=Math.cos(this.lat0),c=this.e*a;this.bl=Math.sqrt(1+this.es/(1-this.es)*Math.pow(b,4)),this.al=this.a*this.bl*this.k0*Math.sqrt(1-this.es)/(1-c*c);var f=d(this.e,this.lat0,a),g=this.bl/b*Math.sqrt((1-this.es)/(1-c*c));1>g*g&&(g=1);var h,i;if(isNaN(this.longc)){var j=d(this.e,this.lat1,Math.sin(this.lat1)),k=d(this.e,this.lat2,Math.sin(this.lat2));this.lat0>=0?this.el=(g+Math.sqrt(g*g-1))*Math.pow(f,this.bl):this.el=(g-Math.sqrt(g*g-1))*Math.pow(f,this.bl);var l=Math.pow(j,this.bl),m=Math.pow(k,this.bl);h=this.el/l,i=.5*(h-1/h);var n=(this.el*this.el-m*l)/(this.el*this.el+m*l),o=(m-l)/(m+l),p=e(this.long1-this.long2);this.long0=.5*(this.long1+this.long2)-Math.atan(n*Math.tan(.5*this.bl*p)/o)/this.bl,this.long0=e(this.long0);var q=e(this.long1-this.long0);this.gamma0=Math.atan(Math.sin(this.bl*q)/i),this.alpha=Math.asin(g*Math.sin(this.gamma0))}else h=this.lat0>=0?g+Math.sqrt(g*g-1):g-Math.sqrt(g*g-1),this.el=h*Math.pow(f,this.bl),i=.5*(h-1/h),this.gamma0=Math.asin(Math.sin(this.alpha)/g),this.long0=this.longc-Math.asin(i*Math.tan(this.gamma0))/this.bl;this.no_off?this.uc=0:this.lat0>=0?this.uc=this.al/this.bl*Math.atan2(Math.sqrt(g*g-1),Math.cos(this.alpha)):this.uc=-1*this.al/this.bl*Math.atan2(Math.sqrt(g*g-1),Math.cos(this.alpha))},c.forward=function(a){var b,c,f,j=a.x,k=a.y,l=e(j-this.long0);if(Math.abs(Math.abs(k)-g)<=i)f=k>0?-1:1,c=this.al/this.bl*Math.log(Math.tan(h+f*this.gamma0*.5)),b=-1*f*g*this.al/this.bl;else{var m=d(this.e,k,Math.sin(k)),n=this.el/Math.pow(m,this.bl),o=.5*(n-1/n),p=.5*(n+1/n),q=Math.sin(this.bl*l),r=(o*Math.sin(this.gamma0)-q*Math.cos(this.gamma0))/p;c=Math.abs(Math.abs(r)-1)<=i?Number.POSITIVE_INFINITY:.5*this.al*Math.log((1-r)/(1+r))/this.bl,b=Math.abs(Math.cos(this.bl*l))<=i?this.al*this.bl*l:this.al*Math.atan2(o*Math.cos(this.gamma0)+q*Math.sin(this.gamma0),Math.cos(this.bl*l))/this.bl}return this.no_rot?(a.x=this.x0+b,a.y=this.y0+c):(b-=this.uc,a.x=this.x0+c*Math.cos(this.alpha)+b*Math.sin(this.alpha),a.y=this.y0+b*Math.cos(this.alpha)-c*Math.sin(this.alpha)),a},c.inverse=function(a){var b,c;this.no_rot?(c=a.y-this.y0,b=a.x-this.x0):(c=(a.x-this.x0)*Math.cos(this.alpha)-(a.y-this.y0)*Math.sin(this.alpha),b=(a.y-this.y0)*Math.cos(this.alpha)+(a.x-this.x0)*Math.sin(this.alpha),b+=this.uc);var d=Math.exp(-1*this.bl*c/this.al),h=.5*(d-1/d),j=.5*(d+1/d),k=Math.sin(this.bl*b/this.al),l=(k*Math.cos(this.gamma0)+h*Math.sin(this.gamma0))/j,m=Math.pow(this.el/Math.sqrt((1+l)/(1-l)),1/this.bl);return Math.abs(l-1)0||Math.abs(i)<=e)&&(j=this.a*h*c*Math.sin(f),k=this.y0+this.a*h*(this.cos_p14*b-this.sin_p14*c*g)),a.x=j,a.y=k,a},c.inverse=function(a){var b,c,h,i,j,k,l;return a.x-=this.x0,a.y-=this.y0,b=Math.sqrt(a.x*a.x+a.y*a.y),c=f(b/this.a),h=Math.sin(c),i=Math.cos(c),k=this.long0,Math.abs(b)<=e?(l=this.lat0,a.x=k,a.y=l,a):(l=f(i*this.sin_p14+a.y*h*this.cos_p14/b),j=Math.abs(this.lat0)-g,Math.abs(j)<=e?(k=d(this.lat0>=0?this.long0+Math.atan2(a.x,-a.y):this.long0-Math.atan2(-a.x,a.y)),a.x=k,a.y=l,a):(k=d(this.long0+Math.atan2(a.x*h,b*this.cos_p14*i-a.y*this.sin_p14*h)),a.x=k,a.y=l,a))},c.names=["ortho"]},{"../common/adjust_lon":5,"../common/asinz":6}],58:[function(a,b,c){var d=a("../common/e0fn"),e=a("../common/e1fn"),f=a("../common/e2fn"),g=a("../common/e3fn"),h=a("../common/adjust_lon"),i=a("../common/adjust_lat"),j=a("../common/mlfn"),k=1e-10,l=a("../common/gN"),m=20;c.init=function(){this.temp=this.b/this.a,this.es=1-Math.pow(this.temp,2),this.e=Math.sqrt(this.es),this.e0=d(this.es),this.e1=e(this.es),this.e2=f(this.es),this.e3=g(this.es),this.ml0=this.a*j(this.e0,this.e1,this.e2,this.e3,this.lat0)},c.forward=function(a){var b,c,d,e=a.x,f=a.y,g=h(e-this.long0);if(d=g*Math.sin(f),this.sphere)Math.abs(f)<=k?(b=this.a*g,c=-1*this.a*this.lat0):(b=this.a*Math.sin(d)/Math.tan(f),c=this.a*(i(f-this.lat0)+(1-Math.cos(d))/Math.tan(f)));else if(Math.abs(f)<=k)b=this.a*g,c=-1*this.ml0;else{var m=l(this.a,this.e,Math.sin(f))/Math.tan(f);b=m*Math.sin(d),c=this.a*j(this.e0,this.e1,this.e2,this.e3,f)-this.ml0+m*(1-Math.cos(d))}return a.x=b+this.x0,a.y=c+this.y0,a},c.inverse=function(a){var b,c,d,e,f,g,i,l,n;if(d=a.x-this.x0,e=a.y-this.y0,this.sphere)if(Math.abs(e+this.a*this.lat0)<=k)b=h(d/this.a+this.long0),c=0;else{g=this.lat0+e/this.a,i=d*d/this.a/this.a+g*g,l=g;var o;for(f=m;f;--f)if(o=Math.tan(l),n=-1*(g*(l*o+1)-l-.5*(l*l+i)*o)/((l-g)/o-1),l+=n,Math.abs(n)<=k){c=l;break}b=h(this.long0+Math.asin(d*Math.tan(l)/this.a)/Math.sin(c))}else if(Math.abs(e+this.ml0)<=k)c=0,b=h(this.long0+d/this.a);else{g=(this.ml0+e)/this.a,i=d*d/this.a/this.a+g*g,l=g;var p,q,r,s,t;for(f=m;f;--f)if(t=this.e*Math.sin(l),p=Math.sqrt(1-t*t)*Math.tan(l),q=this.a*j(this.e0,this.e1,this.e2,this.e3,l),r=this.e0-2*this.e1*Math.cos(2*l)+4*this.e2*Math.cos(4*l)-6*this.e3*Math.cos(6*l),s=q/this.a,n=(g*(p*s+1)-s-.5*p*(s*s+i))/(this.es*Math.sin(2*l)*(s*s+i-2*g*s)/(4*p)+(g-s)*(p*r-2/Math.sin(2*l))-r),l-=n,Math.abs(n)<=k){c=l;break}p=Math.sqrt(1-this.es*Math.pow(Math.sin(c),2))*Math.tan(c),b=h(this.long0+Math.asin(d*p/this.a)/Math.sin(c))}return a.x=b,a.y=c,a},c.names=["Polyconic","poly"]},{"../common/adjust_lat":4,"../common/adjust_lon":5,"../common/e0fn":7,"../common/e1fn":8,"../common/e2fn":9,"../common/e3fn":10,"../common/gN":11,"../common/mlfn":14}],59:[function(a,b,c){var d=a("../common/adjust_lon"),e=a("../common/adjust_lat"),f=a("../common/pj_enfn"),g=20,h=a("../common/pj_mlfn"),i=a("../common/pj_inv_mlfn"),j=Math.PI/2,k=1e-10,l=a("../common/asinz");c.init=function(){this.sphere?(this.n=1,this.m=0,this.es=0,this.C_y=Math.sqrt((this.m+1)/this.n),this.C_x=this.C_y/(this.m+1)):this.en=f(this.es)},c.forward=function(a){var b,c,e=a.x,f=a.y;if(e=d(e-this.long0),this.sphere){if(this.m)for(var i=this.n*Math.sin(f),j=g;j;--j){var l=(this.m*f+Math.sin(f)-i)/(this.m+Math.cos(f));if(f-=l,Math.abs(l)g?(g=Math.sin(b),c=this.long0+a.x*Math.sqrt(1-this.es*g*g)/(this.a*Math.cos(b)),f=d(c)):j>g-k&&(f=this.long0)),a.x=f,a.y=b,a},c.names=["Sinusoidal","sinu"]},{"../common/adjust_lat":4,"../common/adjust_lon":5,"../common/asinz":6,"../common/pj_enfn":17,"../common/pj_inv_mlfn":18,"../common/pj_mlfn":19}],60:[function(a,b,c){c.init=function(){var a=this.lat0;this.lambda0=this.long0;var b=Math.sin(a),c=this.a,d=this.rf,e=1/d,f=2*e-Math.pow(e,2),g=this.e=Math.sqrt(f);this.R=this.k0*c*Math.sqrt(1-f)/(1-f*Math.pow(b,2)),this.alpha=Math.sqrt(1+f/(1-f)*Math.pow(Math.cos(a),4)),this.b0=Math.asin(b/this.alpha);var h=Math.log(Math.tan(Math.PI/4+this.b0/2)),i=Math.log(Math.tan(Math.PI/4+a/2)),j=Math.log((1+g*b)/(1-g*b));this.K=h-this.alpha*i+this.alpha*g/2*j},c.forward=function(a){var b=Math.log(Math.tan(Math.PI/4-a.y/2)),c=this.e/2*Math.log((1+this.e*Math.sin(a.y))/(1-this.e*Math.sin(a.y))),d=-this.alpha*(b+c)+this.K,e=2*(Math.atan(Math.exp(d))-Math.PI/4),f=this.alpha*(a.x-this.lambda0),g=Math.atan(Math.sin(f)/(Math.sin(this.b0)*Math.tan(e)+Math.cos(this.b0)*Math.cos(f))),h=Math.asin(Math.cos(this.b0)*Math.sin(e)-Math.sin(this.b0)*Math.cos(e)*Math.cos(f));return a.y=this.R/2*Math.log((1+Math.sin(h))/(1-Math.sin(h)))+this.y0,a.x=this.R*g+this.x0,a},c.inverse=function(a){for(var b=a.x-this.x0,c=a.y-this.y0,d=b/this.R,e=2*(Math.atan(Math.exp(c/this.R))-Math.PI/4),f=Math.asin(Math.cos(this.b0)*Math.sin(e)+Math.sin(this.b0)*Math.cos(e)*Math.cos(d)),g=Math.atan(Math.sin(d)/(Math.cos(this.b0)*Math.cos(d)-Math.sin(this.b0)*Math.tan(e))),h=this.lambda0+g/this.alpha,i=0,j=f,k=-1e3,l=0;Math.abs(j-k)>1e-7;){if(++l>20)return;i=1/this.alpha*(Math.log(Math.tan(Math.PI/4+f/2))-this.K)+this.e*Math.log(Math.tan(Math.PI/4+Math.asin(this.e*Math.sin(j))/2)),k=j,j=2*Math.atan(Math.exp(i))-Math.PI/2}return a.x=h,a.y=j,a},c.names=["somerc"]},{}],61:[function(a,b,c){var d=Math.PI/2,e=1e-10,f=a("../common/sign"),g=a("../common/msfnz"),h=a("../common/tsfnz"),i=a("../common/phi2z"),j=a("../common/adjust_lon");c.ssfn_=function(a,b,c){return b*=c,Math.tan(.5*(d+a))*Math.pow((1-b)/(1+b),.5*c)},c.init=function(){this.coslat0=Math.cos(this.lat0),this.sinlat0=Math.sin(this.lat0),this.sphere?1===this.k0&&!isNaN(this.lat_ts)&&Math.abs(this.coslat0)<=e&&(this.k0=.5*(1+f(this.lat0)*Math.sin(this.lat_ts))):(Math.abs(this.coslat0)<=e&&(this.lat0>0?this.con=1:this.con=-1),this.cons=Math.sqrt(Math.pow(1+this.e,1+this.e)*Math.pow(1-this.e,1-this.e)),1===this.k0&&!isNaN(this.lat_ts)&&Math.abs(this.coslat0)<=e&&(this.k0=.5*this.cons*g(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts))/h(this.e,this.con*this.lat_ts,this.con*Math.sin(this.lat_ts))),this.ms1=g(this.e,this.sinlat0,this.coslat0),this.X0=2*Math.atan(this.ssfn_(this.lat0,this.sinlat0,this.e))-d,this.cosX0=Math.cos(this.X0),this.sinX0=Math.sin(this.X0))},c.forward=function(a){var b,c,f,g,i,k,l=a.x,m=a.y,n=Math.sin(m),o=Math.cos(m),p=j(l-this.long0);return Math.abs(Math.abs(l-this.long0)-Math.PI)<=e&&Math.abs(m+this.lat0)<=e?(a.x=NaN,a.y=NaN,a):this.sphere?(b=2*this.k0/(1+this.sinlat0*n+this.coslat0*o*Math.cos(p)),a.x=this.a*b*o*Math.sin(p)+this.x0,a.y=this.a*b*(this.coslat0*n-this.sinlat0*o*Math.cos(p))+this.y0,a):(c=2*Math.atan(this.ssfn_(m,n,this.e))-d,g=Math.cos(c),f=Math.sin(c),Math.abs(this.coslat0)<=e?(i=h(this.e,m*this.con,this.con*n),k=2*this.a*this.k0*i/this.cons,a.x=this.x0+k*Math.sin(l-this.long0),a.y=this.y0-this.con*k*Math.cos(l-this.long0),a):(Math.abs(this.sinlat0)=k?(a.x=b,a.y=c,a):(c=Math.asin(Math.cos(l)*this.sinlat0+a.y*Math.sin(l)*this.coslat0/k),b=j(Math.abs(this.coslat0)0?this.long0+Math.atan2(a.x,-1*a.y):this.long0+Math.atan2(a.x,a.y):this.long0+Math.atan2(a.x*Math.sin(l),k*this.coslat0*Math.cos(l)-a.y*this.sinlat0*Math.sin(l))),a.x=b,a.y=c,a)}if(Math.abs(this.coslat0)<=e){if(e>=k)return c=this.lat0,b=this.long0,a.x=b,a.y=c,a;a.x*=this.con,a.y*=this.con,f=k*this.cons/(2*this.a*this.k0),c=this.con*i(this.e,f),b=this.con*j(this.con*this.long0+Math.atan2(a.x,-1*a.y))}else g=2*Math.atan(k*this.cosX0/(2*this.a*this.k0*this.ms1)),b=this.long0,e>=k?h=this.X0:(h=Math.asin(Math.cos(g)*this.sinX0+a.y*Math.sin(g)*this.cosX0/k),b=j(this.long0+Math.atan2(a.x*Math.sin(g),k*this.cosX0*Math.cos(g)-a.y*this.sinX0*Math.sin(g)))),c=-1*i(this.e,Math.tan(.5*(d+h)));return a.x=b,a.y=c,a},c.names=["stere","Stereographic_South_Pole","Polar Stereographic (variant B)"]},{"../common/adjust_lon":5,"../common/msfnz":15,"../common/phi2z":16,"../common/sign":21,"../common/tsfnz":24}],62:[function(a,b,c){var d=a("./gauss"),e=a("../common/adjust_lon");c.init=function(){d.init.apply(this),this.rc&&(this.sinc0=Math.sin(this.phic0),this.cosc0=Math.cos(this.phic0),this.R2=2*this.rc,this.title||(this.title="Oblique Stereographic Alternative"))},c.forward=function(a){var b,c,f,g;return a.x=e(a.x-this.long0),d.forward.apply(this,[a]),b=Math.sin(a.y),c=Math.cos(a.y),f=Math.cos(a.x),g=this.k0*this.R2/(1+this.sinc0*b+this.cosc0*c*f),a.x=g*c*Math.sin(a.x),a.y=g*(this.cosc0*b-this.sinc0*c*f),a.x=this.a*a.x+this.x0,a.y=this.a*a.y+this.y0,a},c.inverse=function(a){var b,c,f,g,h;if(a.x=(a.x-this.x0)/this.a,a.y=(a.y-this.y0)/this.a,a.x/=this.k0,a.y/=this.k0,h=Math.sqrt(a.x*a.x+a.y*a.y)){var i=2*Math.atan2(h,this.R2);b=Math.sin(i),c=Math.cos(i),g=Math.asin(c*this.sinc0+a.y*b*this.cosc0/h),f=Math.atan2(a.x*b,h*this.cosc0*c-a.y*this.sinc0*b)}else g=this.phic0,f=0;return a.x=f,a.y=g,d.inverse.apply(this,[a]),a.x=e(a.x+this.long0),a},c.names=["Stereographic_North_Pole","Oblique_Stereographic","Polar_Stereographic","sterea","Oblique Stereographic Alternative"]},{"../common/adjust_lon":5,"./gauss":46}],63:[function(a,b,c){var d=a("../common/e0fn"),e=a("../common/e1fn"),f=a("../common/e2fn"),g=a("../common/e3fn"),h=a("../common/mlfn"),i=a("../common/adjust_lon"),j=Math.PI/2,k=1e-10,l=a("../common/sign"),m=a("../common/asinz");c.init=function(){this.e0=d(this.es),this.e1=e(this.es),this.e2=f(this.es),this.e3=g(this.es),this.ml0=this.a*h(this.e0,this.e1,this.e2,this.e3,this.lat0)},c.forward=function(a){var b,c,d,e=a.x,f=a.y,g=i(e-this.long0),j=Math.sin(f),k=Math.cos(f);if(this.sphere){var l=k*Math.sin(g);if(Math.abs(Math.abs(l)-1)<1e-10)return 93;c=.5*this.a*this.k0*Math.log((1+l)/(1-l)),b=Math.acos(k*Math.cos(g)/Math.sqrt(1-l*l)),0>f&&(b=-b),d=this.a*this.k0*(b-this.lat0)}else{var m=k*g,n=Math.pow(m,2),o=this.ep2*Math.pow(k,2),p=Math.tan(f),q=Math.pow(p,2);b=1-this.es*Math.pow(j,2);var r=this.a/Math.sqrt(b),s=this.a*h(this.e0,this.e1,this.e2,this.e3,f);c=this.k0*r*m*(1+n/6*(1-q+o+n/20*(5-18*q+Math.pow(q,2)+72*o-58*this.ep2)))+this.x0,d=this.k0*(s-this.ml0+r*p*(n*(.5+n/24*(5-q+9*o+4*Math.pow(o,2)+n/30*(61-58*q+Math.pow(q,2)+600*o-330*this.ep2)))))+this.y0}return a.x=c,a.y=d,a},c.inverse=function(a){var b,c,d,e,f,g,h=6;if(this.sphere){var n=Math.exp(a.x/(this.a*this.k0)),o=.5*(n-1/n),p=this.lat0+a.y/(this.a*this.k0),q=Math.cos(p);b=Math.sqrt((1-q*q)/(1+o*o)),f=m(b),0>p&&(f=-f),g=0===o&&0===q?this.long0:i(Math.atan2(o,q)+this.long0)}else{var r=a.x-this.x0,s=a.y-this.y0;for(b=(this.ml0+s/this.k0)/this.a,c=b,e=0;!0&&(d=(b+this.e1*Math.sin(2*c)-this.e2*Math.sin(4*c)+this.e3*Math.sin(6*c))/this.e0-c,c+=d,!(Math.abs(d)<=k));e++)if(e>=h)return 95;if(Math.abs(c)=0?this.y0+Math.PI*this.R*Math.tan(.5*k):this.y0+Math.PI*this.R*-Math.tan(.5*k));var l=.5*Math.abs(Math.PI/j-j/Math.PI),m=l*l,n=Math.sin(k),o=Math.cos(k),p=o/(n+o-1),q=p*p,r=p*(2/n-1),s=r*r,t=Math.PI*this.R*(l*(p-s)+Math.sqrt(m*(p-s)*(p-s)-(s+m)*(q-s)))/(s+m);0>j&&(t=-t),b=this.x0+t;var u=m+p;return t=Math.PI*this.R*(r*u-l*Math.sqrt((s+m)*(m+1)-u*u))/(s+m),c=i>=0?this.y0+t:this.y0-t,a.x=b,a.y=c,a},c.inverse=function(a){var b,c,e,g,h,i,j,k,l,m,n,o,p;return a.x-=this.x0,a.y-=this.y0,n=Math.PI*this.R,e=a.x/n,g=a.y/n,h=e*e+g*g,i=-Math.abs(g)*(1+h), +j=i-2*g*g+e*e,k=-2*i+1+2*g*g+h*h,p=g*g/k+(2*j*j*j/k/k/k-9*i*j/k/k)/27,l=(i-j*j/3/k)/k,m=2*Math.sqrt(-l/3),n=3*p/l/m,Math.abs(n)>1&&(n=n>=0?1:-1),o=Math.acos(n)/3,c=a.y>=0?(-m*Math.cos(o+Math.PI/3)-j/3/k)*Math.PI:-(-m*Math.cos(o+Math.PI/3)-j/3/k)*Math.PI,b=Math.abs(e)-1?(b[c]={name:a[0].toLowerCase(),convert:a[1]},3===a.length&&(b[c].auth=a[2])):"SPHEROID"===c?(b[c]={name:a[0],a:a[1],rf:a[2]},4===a.length&&(b[c].auth=a[3])):["GEOGCS","GEOCCS","DATUM","VERT_CS","COMPD_CS","LOCAL_CS","FITTED_CS","LOCAL_DATUM"].indexOf(c)>-1?(a[0]=["name",a[0]],d(b,c,a)):a.every(function(a){return Array.isArray(a)})?d(b,c,a):e(a,b[c])):b[c]=!0,void 0):void(b[a]=!0)}function f(a,b){var c=b[0],d=b[1];!(c in a)&&d in a&&(a[c]=a[d],3===b.length&&(a[c]=b[2](a[c])))}function g(a){return a*i}function h(a){function b(b){var c=a.to_meter||1;return parseFloat(b,10)*c}"GEOGCS"===a.type?a.projName="longlat":"LOCAL_CS"===a.type?(a.projName="identity",a.local=!0):"object"==typeof a.PROJECTION?a.projName=Object.keys(a.PROJECTION)[0]:a.projName=a.PROJECTION,a.UNIT&&(a.units=a.UNIT.name.toLowerCase(),"metre"===a.units&&(a.units="meter"),a.UNIT.convert&&("GEOGCS"===a.type?a.DATUM&&a.DATUM.SPHEROID&&(a.to_meter=parseFloat(a.UNIT.convert,10)*a.DATUM.SPHEROID.a):a.to_meter=parseFloat(a.UNIT.convert,10))),a.GEOGCS&&(a.GEOGCS.DATUM?a.datumCode=a.GEOGCS.DATUM.name.toLowerCase():a.datumCode=a.GEOGCS.name.toLowerCase(),"d_"===a.datumCode.slice(0,2)&&(a.datumCode=a.datumCode.slice(2)),"new_zealand_geodetic_datum_1949"!==a.datumCode&&"new_zealand_1949"!==a.datumCode||(a.datumCode="nzgd49"),"wgs_1984"===a.datumCode&&("Mercator_Auxiliary_Sphere"===a.PROJECTION&&(a.sphere=!0),a.datumCode="wgs84"),"_ferro"===a.datumCode.slice(-6)&&(a.datumCode=a.datumCode.slice(0,-6)),"_jakarta"===a.datumCode.slice(-8)&&(a.datumCode=a.datumCode.slice(0,-8)),~a.datumCode.indexOf("belge")&&(a.datumCode="rnb72"),a.GEOGCS.DATUM&&a.GEOGCS.DATUM.SPHEROID&&(a.ellps=a.GEOGCS.DATUM.SPHEROID.name.replace("_19","").replace(/[Cc]larke\_18/,"clrk"),"international"===a.ellps.toLowerCase().slice(0,13)&&(a.ellps="intl"),a.a=a.GEOGCS.DATUM.SPHEROID.a,a.rf=parseFloat(a.GEOGCS.DATUM.SPHEROID.rf,10)),~a.datumCode.indexOf("osgb_1936")&&(a.datumCode="osgb36")),a.b&&!isFinite(a.b)&&(a.b=a.a);var c=function(b){return f(a,b)},d=[["standard_parallel_1","Standard_Parallel_1"],["standard_parallel_2","Standard_Parallel_2"],["false_easting","False_Easting"],["false_northing","False_Northing"],["central_meridian","Central_Meridian"],["latitude_of_origin","Latitude_Of_Origin"],["latitude_of_origin","Central_Parallel"],["scale_factor","Scale_Factor"],["k0","scale_factor"],["latitude_of_center","Latitude_of_center"],["lat0","latitude_of_center",g],["longitude_of_center","Longitude_Of_Center"],["longc","longitude_of_center",g],["x0","false_easting",b],["y0","false_northing",b],["long0","central_meridian",g],["lat0","latitude_of_origin",g],["lat0","standard_parallel_1",g],["lat1","standard_parallel_1",g],["lat2","standard_parallel_2",g],["alpha","azimuth",g],["srsCode","name"]];d.forEach(c),a.long0||!a.longc||"Albers_Conic_Equal_Area"!==a.projName&&"Lambert_Azimuthal_Equal_Area"!==a.projName||(a.long0=a.longc),a.lat_ts||!a.lat1||"Stereographic_South_Pole"!==a.projName&&"Polar Stereographic (variant B)"!==a.projName||(a.lat0=g(a.lat1>0?90:-90),a.lat_ts=a.lat1)}var i=.017453292519943295,j=a("./extend");b.exports=function(a,b){var c=JSON.parse((","+a).replace(/\s*\,\s*([A-Z_0-9]+?)(\[)/g,',["$1",').slice(1).replace(/\s*\,\s*([A-Z_0-9]+?)\]/g,',"$1"]').replace(/,\["VERTCS".+/,"")),d=c.shift(),f=c.shift();c.unshift(["name",f]),c.unshift(["type",d]),c.unshift("output");var g={};return e(c,g),h(g.output),j(b,g.output)}},{"./extend":34}],68:[function(a,b,c){function d(a){return a*(Math.PI/180)}function e(a){return 180*(a/Math.PI)}function f(a){var b,c,e,f,g,i,j,k,l,m=a.lat,n=a.lon,o=6378137,p=.00669438,q=.9996,r=d(m),s=d(n);l=Math.floor((n+180)/6)+1,180===n&&(l=60),m>=56&&64>m&&n>=3&&12>n&&(l=32),m>=72&&84>m&&(n>=0&&9>n?l=31:n>=9&&21>n?l=33:n>=21&&33>n?l=35:n>=33&&42>n&&(l=37)),b=6*(l-1)-180+3,k=d(b),c=p/(1-p),e=o/Math.sqrt(1-p*Math.sin(r)*Math.sin(r)),f=Math.tan(r)*Math.tan(r),g=c*Math.cos(r)*Math.cos(r),i=Math.cos(r)*(s-k),j=o*((1-p/4-3*p*p/64-5*p*p*p/256)*r-(3*p/8+3*p*p/32+45*p*p*p/1024)*Math.sin(2*r)+(15*p*p/256+45*p*p*p/1024)*Math.sin(4*r)-35*p*p*p/3072*Math.sin(6*r));var t=q*e*(i+(1-f+g)*i*i*i/6+(5-18*f+f*f+72*g-58*c)*i*i*i*i*i/120)+5e5,u=q*(j+e*Math.tan(r)*(i*i/2+(5-f+9*g+4*g*g)*i*i*i*i/24+(61-58*f+f*f+600*g-330*c)*i*i*i*i*i*i/720));return 0>m&&(u+=1e7),{northing:Math.round(u),easting:Math.round(t),zoneNumber:l,zoneLetter:h(m)}}function g(a){var b=a.northing,c=a.easting,d=a.zoneLetter,f=a.zoneNumber;if(0>f||f>60)return null;var h,i,j,k,l,m,n,o,p,q,r=.9996,s=6378137,t=.00669438,u=(1-Math.sqrt(1-t))/(1+Math.sqrt(1-t)),v=c-5e5,w=b;"N">d&&(w-=1e7),o=6*(f-1)-180+3,h=t/(1-t),n=w/r,p=n/(s*(1-t/4-3*t*t/64-5*t*t*t/256)),q=p+(3*u/2-27*u*u*u/32)*Math.sin(2*p)+(21*u*u/16-55*u*u*u*u/32)*Math.sin(4*p)+151*u*u*u/96*Math.sin(6*p),i=s/Math.sqrt(1-t*Math.sin(q)*Math.sin(q)),j=Math.tan(q)*Math.tan(q),k=h*Math.cos(q)*Math.cos(q),l=s*(1-t)/Math.pow(1-t*Math.sin(q)*Math.sin(q),1.5),m=v/(i*r);var x=q-i*Math.tan(q)/l*(m*m/2-(5+3*j+10*k-4*k*k-9*h)*m*m*m*m/24+(61+90*j+298*k+45*j*j-252*h-3*k*k)*m*m*m*m*m*m/720);x=e(x);var y=(m-(1+2*j+k)*m*m*m/6+(5-2*k+28*j-3*k*k+8*h+24*j*j)*m*m*m*m*m/120)/Math.cos(q);y=o+e(y);var z;if(a.accuracy){var A=g({northing:a.northing+a.accuracy,easting:a.easting+a.accuracy,zoneLetter:a.zoneLetter,zoneNumber:a.zoneNumber});z={top:A.lat,right:A.lon,bottom:x,left:y}}else z={lat:x,lon:y};return z}function h(a){var b="Z";return 84>=a&&a>=72?b="X":72>a&&a>=64?b="W":64>a&&a>=56?b="V":56>a&&a>=48?b="U":48>a&&a>=40?b="T":40>a&&a>=32?b="S":32>a&&a>=24?b="R":24>a&&a>=16?b="Q":16>a&&a>=8?b="P":8>a&&a>=0?b="N":0>a&&a>=-8?b="M":-8>a&&a>=-16?b="L":-16>a&&a>=-24?b="K":-24>a&&a>=-32?b="J":-32>a&&a>=-40?b="H":-40>a&&a>=-48?b="G":-48>a&&a>=-56?b="F":-56>a&&a>=-64?b="E":-64>a&&a>=-72?b="D":-72>a&&a>=-80&&(b="C"),b}function i(a,b){var c="00000"+a.easting,d="00000"+a.northing;return a.zoneNumber+a.zoneLetter+j(a.easting,a.northing,a.zoneNumber)+c.substr(c.length-5,b)+d.substr(d.length-5,b)}function j(a,b,c){var d=k(c),e=Math.floor(a/1e5),f=Math.floor(b/1e5)%20;return l(e,f,d)}function k(a){var b=a%q;return 0===b&&(b=q),b}function l(a,b,c){var d=c-1,e=r.charCodeAt(d),f=s.charCodeAt(d),g=e+a-1,h=f+b,i=!1;g>x&&(g=g-x+t-1,i=!0),(g===u||u>e&&g>u||(g>u||u>e)&&i)&&g++,(g===v||v>e&&g>v||(g>v||v>e)&&i)&&(g++,g===u&&g++),g>x&&(g=g-x+t-1),h>w?(h=h-w+t-1,i=!0):i=!1,(h===u||u>f&&h>u||(h>u||u>f)&&i)&&h++,(h===v||v>f&&h>v||(h>v||v>f)&&i)&&(h++,h===u&&h++),h>w&&(h=h-w+t-1);var j=String.fromCharCode(g)+String.fromCharCode(h);return j}function m(a){if(a&&0===a.length)throw"MGRSPoint coverting from nothing";for(var b,c=a.length,d=null,e="",f=0;!/[A-Z]/.test(b=a.charAt(f));){if(f>=2)throw"MGRSPoint bad conversion from: "+a;e+=b,f++}var g=parseInt(e,10);if(0===f||f+3>c)throw"MGRSPoint bad conversion from: "+a;var h=a.charAt(f++);if("A">=h||"B"===h||"Y"===h||h>="Z"||"I"===h||"O"===h)throw"MGRSPoint zone letter "+h+" not handled: "+a;d=a.substring(f,f+=2);for(var i=k(g),j=n(d.charAt(0),i),l=o(d.charAt(1),i);l0&&(q=1e5/Math.pow(10,v),r=a.substring(f,f+v),w=parseFloat(r)*q,s=a.substring(f+v),x=parseFloat(s)*q),t=w+j,u=x+l,{easting:t,northing:u,zoneLetter:h,zoneNumber:g,accuracy:q}}function n(a,b){for(var c=r.charCodeAt(b-1),d=1e5,e=!1;c!==a.charCodeAt(0);){if(c++,c===u&&c++,c===v&&c++,c>x){if(e)throw"Bad character: "+a;c=t,e=!0}d+=1e5}return d}function o(a,b){if(a>"V")throw"MGRSPoint given invalid Northing "+a;for(var c=s.charCodeAt(b-1),d=0,e=!1;c!==a.charCodeAt(0);){if(c++,c===u&&c++,c===v&&c++,c>w){if(e)throw"Bad character: "+a;c=t,e=!0}d+=1e5}return d}function p(a){var b;switch(a){case"C":b=11e5;break;case"D":b=2e6;break;case"E":b=28e5;break;case"F":b=37e5;break;case"G":b=46e5;break;case"H":b=55e5;break;case"J":b=64e5;break;case"K":b=73e5;break;case"L":b=82e5;break;case"M":b=91e5;break;case"N":b=0;break;case"P":b=8e5;break;case"Q":b=17e5;break;case"R":b=26e5;break;case"S":b=35e5;break;case"T":b=44e5;break;case"U":b=53e5;break;case"V":b=62e5;break;case"W":b=7e6;break;case"X":b=79e5;break;default:b=-1}if(b>=0)return b;throw"Invalid zone letter: "+a}var q=6,r="AJSAJS",s="AFAFAF",t=65,u=73,v=79,w=86,x=90;c.forward=function(a,b){return b=b||5,i(f({lat:a[1],lon:a[0]}),b)},c.inverse=function(a){var b=g(m(a.toUpperCase()));return b.lat&&b.lon?[b.lon,b.lat,b.lon,b.lat]:[b.left,b.bottom,b.right,b.top]},c.toPoint=function(a){var b=g(m(a.toUpperCase()));return b.lat&&b.lon?[b.lon,b.lat]:[(b.left+b.right)/2,(b.top+b.bottom)/2]}},{}],69:[function(a,b,c){b.exports={name:"proj4",version:"2.3.15",description:"Proj4js is a JavaScript library to transform point coordinates from one coordinate system to another, including datum transformations.",main:"lib/index.js",directories:{test:"test",doc:"docs"},scripts:{test:"./node_modules/istanbul/lib/cli.js test ./node_modules/mocha/bin/_mocha test/test.js"},repository:{type:"git",url:"git://github.com/proj4js/proj4js.git"},author:"",license:"MIT",jam:{main:"dist/proj4.js",include:["dist/proj4.js","README.md","AUTHORS","LICENSE.md"]},devDependencies:{"grunt-cli":"~0.1.13",grunt:"~0.4.2","grunt-contrib-connect":"~0.6.0","grunt-contrib-jshint":"~0.8.0",chai:"~1.8.1",mocha:"~1.17.1","grunt-mocha-phantomjs":"~0.4.0",browserify:"~12.0.1","grunt-browserify":"~4.0.1","grunt-contrib-uglify":"~0.11.1",curl:"git://github.com/cujojs/curl.git",istanbul:"~0.2.4",tin:"~0.4.0"},dependencies:{mgrs:"~0.0.2"}}},{}]},{},[36])(36)}); \ No newline at end of file