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 0000000..c738be3 Binary files /dev/null and b/docs/reference/ggeo_coord-1.png differ diff --git a/docs/reference/ggeo_remove_breaks-1.png b/docs/reference/ggeo_remove_breaks-1.png new file mode 100644 index 0000000..7203048 Binary files /dev/null and b/docs/reference/ggeo_remove_breaks-1.png differ 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