@ons/design-system 73.6.0 → 74.0.0-next.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/cookies-banner/_macro.njk +0 -1
- package/js/chart.js +4 -0
- package/js/main.js +0 -4
- package/layout/_template.njk +5 -0
- package/package.json +1 -1
- package/scripts/chart.es5.js +5 -0
- package/scripts/chart.js +3 -0
- package/scripts/main.es5.js +3 -5
- package/scripts/main.js +2 -4
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
!function t(e,i,s){function o(n,a){if(!i[n]){if(!e[n]){var l="function"==typeof require&&require;if(!a&&l)return l(n,!0);if(r)return r(n,!0);var h=new Error("Cannot find module '"+n+"'");throw h.code="MODULE_NOT_FOUND",h}var c=i[n]={exports:{}};e[n][0].call(c.exports,function(t){return o(e[n][1][t]||t)},c,c.exports,t,e,i,s)}return i[n].exports}for(var r="function"==typeof require&&require,n=0;n<s.length;n++)o(s[n]);return o}({1:[function(t,e,i){e.exports=function(t,e){this.v=t,this.k=e},e.exports.__esModule=!0,e.exports.default=e.exports},{}],2:[function(t,e,i){e.exports=function(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,s=Array(e);i<e;i++)s[i]=t[i];return s},e.exports.__esModule=!0,e.exports.default=e.exports},{}],3:[function(t,e,i){var s=t("./arrayLikeToArray.js");e.exports=function(t){if(Array.isArray(t))return s(t)},e.exports.__esModule=!0,e.exports.default=e.exports},{"./arrayLikeToArray.js":2}],4:[function(t,e,i){function s(t,e,i,s,o,r,n){try{var a=t[r](n),l=a.value}catch(t){return void i(t)}a.done?e(l):Promise.resolve(l).then(s,o)}e.exports=function(t){return function(){var e=this,i=arguments;return new Promise(function(o,r){var n=t.apply(e,i);function a(t){s(n,o,r,a,l,"next",t)}function l(t){s(n,o,r,a,l,"throw",t)}a(void 0)})}},e.exports.__esModule=!0,e.exports.default=e.exports},{}],5:[function(t,e,i){e.exports=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},e.exports.__esModule=!0,e.exports.default=e.exports},{}],6:[function(t,e,i){var s=t("./toPropertyKey.js");function o(t,e){for(var i=0;i<e.length;i++){var o=e[i];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,s(o.key),o)}}e.exports=function(t,e,i){return e&&o(t.prototype,e),i&&o(t,i),Object.defineProperty(t,"prototype",{writable:!1}),t},e.exports.__esModule=!0,e.exports.default=e.exports},{"./toPropertyKey.js":22}],7:[function(t,e,i){var s=t("./toPropertyKey.js");e.exports=function(t,e,i){return(e=s(e))in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t},e.exports.__esModule=!0,e.exports.default=e.exports},{"./toPropertyKey.js":22}],8:[function(t,e,i){e.exports=function(t){return t&&t.__esModule?t:{default:t}},e.exports.__esModule=!0,e.exports.default=e.exports},{}],9:[function(t,e,i){e.exports=function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)},e.exports.__esModule=!0,e.exports.default=e.exports},{}],10:[function(t,e,i){e.exports=function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")},e.exports.__esModule=!0,e.exports.default=e.exports},{}],11:[function(t,e,i){e.exports=function(t){throw new TypeError('"'+t+'" is read-only')},e.exports.__esModule=!0,e.exports.default=e.exports},{}],12:[function(t,e,i){var s=t("./regeneratorDefine.js");function o(){
|
|
2
|
+
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */
|
|
3
|
+
var t,i,r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",a=r.toStringTag||"@@toStringTag";function l(e,o,r,n){var a=o&&o.prototype instanceof c?o:c,l=Object.create(a.prototype);return s(l,"_invoke",function(e,s,o){var r,n,a,l=0,c=o||[],d=!1,p={p:0,n:0,v:t,a:u,f:u.bind(t,4),d:function(e,i){return r=e,n=0,a=t,p.n=i,h}};function u(e,s){for(n=e,a=s,i=0;!d&&l&&!o&&i<c.length;i++){var o,r=c[i],u=p.p,g=r[2];e>3?(o=g===s)&&(a=r[(n=r[4])?5:(n=3,3)],r[4]=r[5]=t):r[0]<=u&&((o=e<2&&u<r[1])?(n=0,p.v=s,p.n=r[1]):u<g&&(o=e<3||r[0]>s||s>g)&&(r[4]=e,r[5]=s,p.n=g,n=0))}if(o||e>1)return h;throw d=!0,s}return function(o,c,g){if(l>1)throw TypeError("Generator is already running");for(d&&1===c&&u(c,g),n=c,a=g;(i=n<2?t:a)||!d;){r||(n?n<3?(n>1&&(p.n=-1),u(n,a)):p.n=a:p.v=a);try{if(l=2,r){if(n||(o="next"),i=r[o]){if(!(i=i.call(r,a)))throw TypeError("iterator result is not an object");if(!i.done)return i;a=i.value,n<2&&(n=0)}else 1===n&&(i=r.return)&&i.call(r),n<2&&(a=TypeError("The iterator does not provide a '"+o+"' method"),n=1);r=t}else if((i=(d=p.n<0)?a:e.call(s,p))!==h)break}catch(e){r=t,n=1,a=e}finally{l=1}}return{value:i,done:d}}}(e,r,n),!0),l}var h={};function c(){}function d(){}function p(){}i=Object.getPrototypeOf;var u=[][n]?i(i([][n]())):(s(i={},n,function(){return this}),i),g=p.prototype=c.prototype=Object.create(u);function f(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,p):(t.__proto__=p,s(t,a,"GeneratorFunction")),t.prototype=Object.create(g),t}return d.prototype=p,s(g,"constructor",p),s(p,"constructor",d),d.displayName="GeneratorFunction",s(p,a,"GeneratorFunction"),s(g),s(g,a,"Generator"),s(g,n,function(){return this}),s(g,"toString",function(){return"[object Generator]"}),(e.exports=o=function(){return{w:l,m:f}},e.exports.__esModule=!0,e.exports.default=e.exports)()}e.exports=o,e.exports.__esModule=!0,e.exports.default=e.exports},{"./regeneratorDefine.js":16}],13:[function(t,e,i){var s=t("./regeneratorAsyncGen.js");e.exports=function(t,e,i,o,r){var n=s(t,e,i,o,r);return n.next().then(function(t){return t.done?t.value:n.next()})},e.exports.__esModule=!0,e.exports.default=e.exports},{"./regeneratorAsyncGen.js":14}],14:[function(t,e,i){var s=t("./regenerator.js"),o=t("./regeneratorAsyncIterator.js");e.exports=function(t,e,i,r,n){return new o(s().w(t,e,i,r),n||Promise)},e.exports.__esModule=!0,e.exports.default=e.exports},{"./regenerator.js":12,"./regeneratorAsyncIterator.js":15}],15:[function(t,e,i){var s=t("./OverloadYield.js"),o=t("./regeneratorDefine.js");e.exports=function t(e,i){function r(t,o,n,a){try{var l=e[t](o),h=l.value;return h instanceof s?i.resolve(h.v).then(function(t){r("next",t,n,a)},function(t){r("throw",t,n,a)}):i.resolve(h).then(function(t){l.value=t,n(l)},function(t){return r("throw",t,n,a)})}catch(t){a(t)}}var n;this.next||(o(t.prototype),o(t.prototype,"function"==typeof Symbol&&Symbol.asyncIterator||"@asyncIterator",function(){return this})),o(this,"_invoke",function(t,e,s){function o(){return new i(function(e,i){r(t,s,e,i)})}return n=n?n.then(o,o):o()},!0)},e.exports.__esModule=!0,e.exports.default=e.exports},{"./OverloadYield.js":1,"./regeneratorDefine.js":16}],16:[function(t,e,i){function s(t,i,o,r){var n=Object.defineProperty;try{n({},"",{})}catch(t){n=0}e.exports=s=function(t,e,i,o){function r(e,i){s(t,e,function(t){return this._invoke(e,i,t)})}e?n?n(t,e,{value:i,enumerable:!o,configurable:!o,writable:!o}):t[e]=i:(r("next",0),r("throw",1),r("return",2))},e.exports.__esModule=!0,e.exports.default=e.exports,s(t,i,o,r)}e.exports=s,e.exports.__esModule=!0,e.exports.default=e.exports},{}],17:[function(t,e,i){e.exports=function(t){var e=Object(t),i=[];for(var s in e)i.unshift(s);return function t(){for(;i.length;)if((s=i.pop())in e)return t.value=s,t.done=!1,t;return t.done=!0,t}},e.exports.__esModule=!0,e.exports.default=e.exports},{}],18:[function(t,e,i){var s=t("./OverloadYield.js"),o=t("./regenerator.js"),r=t("./regeneratorAsync.js"),n=t("./regeneratorAsyncGen.js"),a=t("./regeneratorAsyncIterator.js"),l=t("./regeneratorKeys.js"),h=t("./regeneratorValues.js");function c(){"use strict";var t=o(),i=t.m(c),d=(Object.getPrototypeOf?Object.getPrototypeOf(i):i.__proto__).constructor;function p(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===d||"GeneratorFunction"===(e.displayName||e.name))}var u={throw:1,return:2,break:3,continue:3};function g(t){var e,i;return function(s){e||(e={stop:function(){return i(s.a,2)},catch:function(){return s.v},abrupt:function(t,e){return i(s.a,u[t],e)},delegateYield:function(t,o,r){return e.resultName=o,i(s.d,h(t),r)},finish:function(t){return i(s.f,t)}},i=function(t,i,o){s.p=e.prev,s.n=e.next;try{return t(i,o)}finally{e.next=s.n}}),e.resultName&&(e[e.resultName]=s.v,e.resultName=void 0),e.sent=s.v,e.next=s.n;try{return t.call(this,e)}finally{s.p=e.prev,s.n=e.next}}}return(e.exports=c=function(){return{wrap:function(e,i,s,o){return t.w(g(e),i,s,o&&o.reverse())},isGeneratorFunction:p,mark:t.m,awrap:function(t,e){return new s(t,e)},AsyncIterator:a,async:function(t,e,i,s,o){return(p(e)?n:r)(g(t),e,i,s,o)},keys:l,values:h}},e.exports.__esModule=!0,e.exports.default=e.exports)()}e.exports=c,e.exports.__esModule=!0,e.exports.default=e.exports},{"./OverloadYield.js":1,"./regenerator.js":12,"./regeneratorAsync.js":13,"./regeneratorAsyncGen.js":14,"./regeneratorAsyncIterator.js":15,"./regeneratorKeys.js":17,"./regeneratorValues.js":19}],19:[function(t,e,i){var s=t("./typeof.js").default;e.exports=function(t){if(null!=t){var e=t["function"==typeof Symbol&&Symbol.iterator||"@@iterator"],i=0;if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length))return{next:function(){return t&&i>=t.length&&(t=void 0),{value:t&&t[i++],done:!t}}}}throw new TypeError(s(t)+" is not iterable")},e.exports.__esModule=!0,e.exports.default=e.exports},{"./typeof.js":23}],20:[function(t,e,i){var s=t("./arrayWithoutHoles.js"),o=t("./iterableToArray.js"),r=t("./unsupportedIterableToArray.js"),n=t("./nonIterableSpread.js");e.exports=function(t){return s(t)||o(t)||r(t)||n()},e.exports.__esModule=!0,e.exports.default=e.exports},{"./arrayWithoutHoles.js":3,"./iterableToArray.js":9,"./nonIterableSpread.js":10,"./unsupportedIterableToArray.js":24}],21:[function(t,e,i){var s=t("./typeof.js").default;e.exports=function(t,e){if("object"!=s(t)||!t)return t;var i=t[Symbol.toPrimitive];if(void 0!==i){var o=i.call(t,e||"default");if("object"!=s(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)},e.exports.__esModule=!0,e.exports.default=e.exports},{"./typeof.js":23}],22:[function(t,e,i){var s=t("./typeof.js").default,o=t("./toPrimitive.js");e.exports=function(t){var e=o(t,"string");return"symbol"==s(e)?e:e+""},e.exports.__esModule=!0,e.exports.default=e.exports},{"./toPrimitive.js":21,"./typeof.js":23}],23:[function(t,e,i){function s(t){return e.exports=s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},e.exports.__esModule=!0,e.exports.default=e.exports,s(t)}e.exports=s,e.exports.__esModule=!0,e.exports.default=e.exports},{}],24:[function(t,e,i){var s=t("./arrayLikeToArray.js");e.exports=function(t,e){if(t){if("string"==typeof t)return s(t,e);var i={}.toString.call(t).slice(8,-1);return"Object"===i&&t.constructor&&(i=t.constructor.name),"Map"===i||"Set"===i?Array.from(t):"Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?s(t,e):void 0}},e.exports.__esModule=!0,e.exports.default=e.exports},{"./arrayLikeToArray.js":2}],25:[function(t,e,i){var s=t("../helpers/regeneratorRuntime")();e.exports=s;try{regeneratorRuntime=s}catch(t){"object"==typeof globalThis?globalThis.regeneratorRuntime=s:Function("r","regeneratorRuntime = r")(s)}},{"../helpers/regeneratorRuntime":18}],26:[function(t,e,i){var s,o;s="undefined"==typeof window?this:window,o=(t,e,i,s,o,r,n,a,l,h)=>(()=>{"use strict";var c,d,p,u={960:t=>{t.exports=a},620:t=>{t.exports=o},260:t=>{t.exports=n},28:t=>{t.exports=l},448:t=>{t.exports=s},820:t=>{t.exports=i},512:t=>{t.exports=e},184:t=>{t.exports=h},984:t=>{t.exports=r},944:e=>{e.exports=t}},g={};function f(t){var e=g[t];if(void 0!==e)return e.exports;var i=g[t]={exports:{}};return u[t](i,i.exports,f),i.exports}f.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return f.d(e,{a:e}),e},f.d=(t,e)=>{for(var i in e)f.o(e,i)&&!f.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:e[i]})},f.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);var m={};f.d(m,{default:()=>Ho});var b=f(944),x=f.n(b),y=f(512),v=f.n(y),w=f(820),k=f.n(w);let{deg2rad:A}=x(),{fireEvent:M,isNumber:C,pick:P,relativeLength:S}=x();!function(t){t.getCenter=function(){let t,e,i,s=this.options,o=this.chart,r=2*(s.slicedOffset||0),n=o.plotWidth-2*r,a=o.plotHeight-2*r,l=s.center,h=Math.min(n,a),c=s.thickness,d=s.size,p=s.innerSize||0;"string"==typeof d&&(d=parseFloat(d)),"string"==typeof p&&(p=parseFloat(p));let u=[P(l?.[0],"50%"),P(l?.[1],"50%"),P(d&&d<0?void 0:s.size,"100%"),P(p&&p<0?void 0:s.innerSize||0,"0%")];for(!o.angular||this instanceof k()||(u[3]=0),e=0;e<4;++e)i=u[e],t=e<2||2===e&&/%$/.test(i),u[e]=S(i,[n,a,h,u[2]][e])+(t?r:0);return u[3]>u[2]&&(u[3]=u[2]),C(c)&&2*c<u[2]&&c>0&&(u[3]=u[2]-2*c),M(this,"afterGetCenter",{positions:u}),u},t.getStartAndEndRadians=function(t,e){let i=C(t)?t:0,s=C(e)&&e>i&&e-i<360?e:i+360;return{start:A*(i+-90),end:A*(s+-90)}}}(c||(c={}));let T=c,{addEvent:E,correctFloat:L,defined:O,pick:D}=x();function I(t){let e,i=this;return t&&i.pane.forEach(s=>{N(t.chartX-i.plotLeft,t.chartY-i.plotTop,s.center)&&(e=s)}),e}function N(t,e,i,s,o){let r=!0,n=i[0],a=i[1],l=Math.sqrt(Math.pow(t-n,2)+Math.pow(e-a,2));if(O(s)&&O(o)){let i=Math.atan2(L(e-a,8),L(t-n,8));o!==s&&(r=s>o?i>=s&&i<=Math.PI||i<=o&&i>=-Math.PI:i>=s&&i<=L(o,8))}return l<=Math.ceil(i[2]/2)&&r}function B(t){this.polar&&(t.options.inverted&&([t.x,t.y]=[t.y,t.x]),t.isInsidePlot=this.pane.some(e=>N(t.x,t.y,e.center,e.axis&&e.axis.normalizedStartAngleRad,e.axis&&e.axis.normalizedEndAngleRad)))}function R(t){let e=this.chart;t.hoverPoint&&t.hoverPoint.plotX&&t.hoverPoint.plotY&&e.hoverPane&&!N(t.hoverPoint.plotX,t.hoverPoint.plotY,e.hoverPane.center)&&(t.hoverPoint=void 0)}function z(t){let e=this.chart;e.polar?(e.hoverPane=e.getHoverPane(t),t.filter=function(i){return i.visible&&!(!t.shared&&i.directTouch)&&D(i.options.enableMouseTracking,!0)&&(!e.hoverPane||i.xAxis.pane===e.hoverPane)}):e.hoverPane=void 0}let F={pane:{center:["50%","50%"],size:"85%",innerSize:"0%",startAngle:0},background:{shape:"circle",borderRadius:0,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%"}},{extend:H,merge:X,splat:W}=x();class Y{constructor(t,e){this.coll="pane",this.init(t,e)}init(t,e){this.chart=e,this.background=[],e.pane.push(this),this.setOptions(t)}setOptions(t){this.options=t=X(F.pane,this.chart.angular?{background:{}}:void 0,t)}render(){let t=this.options,e=this.chart.renderer;this.group||(this.group=e.g("pane-group").attr({zIndex:t.zIndex||0}).add()),this.updateCenter();let i=this.options.background;if(i){let t=Math.max((i=W(i)).length,this.background.length||0);for(let e=0;e<t;e++)i[e]&&this.axis?this.renderBackground(X(F.background,i[e]),e):this.background[e]&&(this.background[e]=this.background[e].destroy(),this.background.splice(e,1))}}renderBackground(t,e){let i={class:"highcharts-pane "+(t.className||"")},s="animate";this.chart.styledMode||H(i,{fill:t.backgroundColor,stroke:t.borderColor,"stroke-width":t.borderWidth}),this.background[e]||(this.background[e]=this.chart.renderer.path().add(this.group),s="attr"),this.background[e][s]({d:this.axis.getPlotBandPath(t.from,t.to,t)}).attr(i)}updateCenter(t){this.center=(t||this.axis||{}).center=T.getCenter.call(this)}update(t,e){X(!0,this.options,t),this.setOptions(this.options),this.render(),this.chart.axes.forEach(function(t){t.pane===this&&(t.pane=null,t.update({},e))},this)}}Y.compose=function(t,e){let i=t.prototype;i.getHoverPane||(i.collectionsWithUpdate.push("pane"),i.getHoverPane=I,E(t,"afterIsInsidePlot",B),E(e,"afterGetHoverData",R),E(e,"beforeGetHoverData",z))};let{area:{prototype:{pointClass:j,pointClass:{prototype:G}}}}=v().seriesTypes,{defined:_,isNumber:q}=x(),{noop:U}=x(),{area:V,area:{prototype:K},column:{prototype:$}}=v().seriesTypes,{addEvent:Z,defined:J,extend:Q,isArray:tt,isNumber:et,pick:it,merge:st}=x();class ot extends V{toYData(t){return[t.low,t.high]}highToXY(t){let e=this.chart,i=this.xAxis.postTranslate(t.rectPlotX||0,this.yAxis.len-(t.plotHigh||0));t.plotHighX=i.x-e.plotLeft,t.plotHigh=i.y-e.plotTop,t.plotLowX=t.plotX}getGraphPath(t){let e,i,s,o=[],r=[],n=K.getGraphPath,a=this.options,l=this.chart.polar,h=l&&!1!==a.connectEnds,c=a.connectNulls,d=a.step;for(e=(t=t||this.points).length;e--;){i=t[e];let n=l?{plotX:i.rectPlotX,plotY:i.yBottom,doCurve:!1}:{plotX:i.plotX,plotY:i.plotY,doCurve:!1};i.isNull||h||c||t[e+1]&&!t[e+1].isNull||r.push(n),s={polarPlotY:i.polarPlotY,rectPlotX:i.rectPlotX,yBottom:i.yBottom,plotX:it(i.plotHighX,i.plotX),plotY:i.plotHigh,isNull:i.isNull},r.push(s),o.push(s),i.isNull||h||c||t[e-1]&&!t[e-1].isNull||r.push(n)}let p=n.call(this,t);d&&(!0===d&&(d="left"),a.step={left:"right",center:"center",right:"left"}[d]);let u=n.call(this,o),g=n.call(this,r);a.step=d;let f=[].concat(p,u);return!this.chart.polar&&g[0]&&"M"===g[0][0]&&(g[0]=["L",g[0][1],g[0][2]]),this.graphPath=f,this.areaPath=p.concat(g),f.isArea=!0,f.xMap=p.xMap,this.areaPath.xMap=p.xMap,f}drawDataLabels(){let t,e,i,s,o,r=this.points,n=r.length,a=[],l=this.options.dataLabels,h=this.chart.inverted;if(l){if(tt(l)?(s=l[0]||{enabled:!1},o=l[1]||{enabled:!1}):((s=Q({},l)).x=l.xHigh,s.y=l.yHigh,(o=Q({},l)).x=l.xLow,o.y=l.yLow),s.enabled||this.hasDataLabels?.()){for(t=n;t--;)if(e=r[t]){let{plotHigh:o=0,plotLow:r=0}=e;i=s.inside?o<r:o>r,e.y=e.high,e._plotY=e.plotY,e.plotY=o,a[t]=e.dataLabel,e.dataLabel=e.dataLabelUpper,e.below=i,h?s.align||(s.align=i?"right":"left"):s.verticalAlign||(s.verticalAlign=i?"top":"bottom")}for(this.options.dataLabels=s,K.drawDataLabels&&K.drawDataLabels.apply(this,arguments),t=n;t--;)(e=r[t])&&(e.dataLabelUpper=e.dataLabel,e.dataLabel=a[t],delete e.dataLabels,e.y=e.low,e.plotY=e._plotY)}if(o.enabled||this.hasDataLabels?.()){for(t=n;t--;)if(e=r[t]){let{plotHigh:t=0,plotLow:s=0}=e;i=o.inside?t<s:t>s,e.below=!i,h?o.align||(o.align=i?"left":"right"):o.verticalAlign||(o.verticalAlign=i?"bottom":"top")}this.options.dataLabels=o,K.drawDataLabels&&K.drawDataLabels.apply(this,arguments)}if(s.enabled)for(t=n;t--;)(e=r[t])&&(e.dataLabels=[e.dataLabelUpper,e.dataLabel].filter(function(t){return!!t}));this.options.dataLabels=l}}alignDataLabel(){$.alignDataLabel.apply(this,arguments)}modifyMarkerSettings(){let t={marker:this.options.marker,symbol:this.symbol};if(this.options.lowMarker){let{options:{marker:t,lowMarker:e}}=this;this.options.marker=st(t,e),e.symbol&&(this.symbol=e.symbol)}return t}restoreMarkerSettings(t){this.options.marker=t.marker,this.symbol=t.symbol}drawPoints(){let t,e,i=this.points.length,s=this.modifyMarkerSettings();for(K.drawPoints.apply(this,arguments),this.restoreMarkerSettings(s),t=0;t<i;)(e=this.points[t]).graphics=e.graphics||[],e.origProps={plotY:e.plotY,plotX:e.plotX,isInside:e.isInside,negative:e.negative,zone:e.zone,y:e.y},(e.graphic||e.graphics[0])&&(e.graphics[0]=e.graphic),e.graphic=e.graphics[1],e.plotY=e.plotHigh,J(e.plotHighX)&&(e.plotX=e.plotHighX),e.y=it(e.high,e.origProps.y),e.negative=e.y<(this.options.threshold||0),this.zones.length&&(e.zone=e.getZone()),this.chart.polar||(e.isInside=e.isTopInside=void 0!==e.plotY&&e.plotY>=0&&e.plotY<=this.yAxis.len&&e.plotX>=0&&e.plotX<=this.xAxis.len),t++;for(K.drawPoints.apply(this,arguments),t=0;t<i;)(e=this.points[t]).graphics=e.graphics||[],(e.graphic||e.graphics[1])&&(e.graphics[1]=e.graphic),e.graphic=e.graphics[0],e.origProps&&(Q(e,e.origProps),delete e.origProps),t++}hasMarkerChanged(t,e){let i=t.lowMarker,s=e.lowMarker||{};return i&&(!1===i.enabled||s.symbol!==i.symbol||s.height!==i.height||s.width!==i.width)||super.hasMarkerChanged(t,e)}}ot.defaultOptions=st(V.defaultOptions,{lineWidth:1,threshold:null,tooltip:{pointFormat:'<span style="color:{series.color}">●</span> {series.name}: <b>{point.low}</b> - <b>{point.high}</b><br/>'},trackByArea:!0,dataLabels:{align:void 0,verticalAlign:void 0,xLow:0,xHigh:0,yLow:0,yHigh:0}}),Z(ot,"afterTranslate",function(){"low,high"===this.pointArrayMap.join(",")&&this.points.forEach(t=>{let e=t.high,i=t.plotY;t.isNull?t.plotY=void 0:(t.plotLow=i,t.plotHigh=et(e)?this.yAxis.translate(this.dataModify?this.dataModify.modifyValue(e):e,!1,!0,void 0,!0):void 0,this.dataModify&&(t.yBottom=t.plotHigh))})},{order:0}),Z(ot,"afterTranslate",function(){this.points.forEach(t=>{if(this.chart.polar)this.highToXY(t),t.plotLow=t.plotY,t.tooltipPos=[((t.plotHighX||0)+(t.plotLowX||0))/2,((t.plotHigh||0)+(t.plotLow||0))/2];else{let e=t.pos(!1,t.plotLow),i=t.pos(!1,t.plotHigh);e&&i&&(e[0]=(e[0]+i[0])/2,e[1]=(e[1]+i[1])/2),t.tooltipPos=e}})},{order:3}),Q(ot.prototype,{deferTranslatePolar:!0,pointArrayMap:["low","high"],pointClass:class extends j{setState(){let t=this.state,e=this.series,i=e.chart.polar;_(this.plotHigh)||(this.plotHigh=e.yAxis.toPixels(this.high,!0)),_(this.plotLow)||(this.plotLow=this.plotY=e.yAxis.toPixels(this.low,!0)),e.lowerStateMarkerGraphic=e.stateMarkerGraphic,e.stateMarkerGraphic=e.upperStateMarkerGraphic,this.graphic=this.graphics&&this.graphics[1],this.plotY=this.plotHigh,i&&q(this.plotHighX)&&(this.plotX=this.plotHighX),G.setState.apply(this,arguments),this.state=t,this.plotY=this.plotLow,this.graphic=this.graphics&&this.graphics[0],i&&q(this.plotLowX)&&(this.plotX=this.plotLowX),e.upperStateMarkerGraphic=e.stateMarkerGraphic,e.stateMarkerGraphic=e.lowerStateMarkerGraphic,e.lowerStateMarkerGraphic=void 0;let s=e.modifyMarkerSettings();G.setState.apply(this,arguments),e.restoreMarkerSettings(s)}haloPath(){let t=this.series.chart.polar,e=[];return this.plotY=this.plotLow,t&&q(this.plotLowX)&&(this.plotX=this.plotLowX),this.isInside&&(e=G.haloPath.apply(this,arguments)),this.plotY=this.plotHigh,t&&q(this.plotHighX)&&(this.plotX=this.plotHighX),this.isTopInside&&(e=e.concat(G.haloPath.apply(this,arguments))),e}isValid(){return q(this.low)&&q(this.high)}},pointValKey:"low",setStackedPoints:U}),v().registerSeriesType("arearange",ot);let rt=ot,{spline:{prototype:nt}}=v().seriesTypes,{merge:at,extend:lt}=x();class ht extends rt{}ht.defaultOptions=at(rt.defaultOptions),lt(ht.prototype,{getPointSpline:nt.getPointSpline}),v().registerSeriesType("areasplinerange",ht);var ct=f(448),dt=f.n(ct);let{noop:pt}=x(),{crisp:ut,extend:gt,merge:ft,pick:mt,relativeLength:bt}=x();class xt extends(dt()){pointAttribs(){return{}}getWhiskerPair(t,e,i,s,o){let r=o.whiskers.strokeWidth(),n=(i,s)=>{let o=bt(i,2*t)/2,n=ut(s,r);return[["M",ut(e-o),n],["L",ut(e+o),n]]};return[...n(i,o.highPlot),...n(s,o.lowPlot)]}translate(){let t=this.yAxis,e=this.pointArrayMap;super.translate.apply(this),this.points.forEach(function(i){e.forEach(function(e){null!==i[e]&&(i[e+"Plot"]=t.translate(i[e],0,1,0,1))}),i.plotHigh=i.highPlot})}drawPoints(){let t,e,i,s,o,r,n,a,l,h=this.points,c=this.options,d=this.chart,p=d.renderer,u=!1!==this.doQuartiles,g=this.options.whiskerLength;for(let f of h){let h=(r=f.graphic)?"animate":"attr",m=f.shapeArgs,b={},x={},y={},v={},w=f.color||this.color,k=f.options.whiskerLength||g;if(void 0!==f.plotY){let A;n=m.width,l=(a=m.x)+n,t=u?f.q1Plot:f.lowPlot,e=u?f.q3Plot:f.lowPlot,i=f.highPlot,s=f.lowPlot,r||(f.graphic=r=p.g("point").add(this.group),f.stem=p.path().addClass("highcharts-boxplot-stem").add(r),g&&(f.whiskers=p.path().addClass("highcharts-boxplot-whisker").add(r)),u&&(f.box=p.path(void 0).addClass("highcharts-boxplot-box").add(r)),f.medianShape=p.path(void 0).addClass("highcharts-boxplot-median").add(r)),d.styledMode||(x.stroke=f.stemColor||c.stemColor||w,x["stroke-width"]=mt(f.stemWidth,c.stemWidth,c.lineWidth),x.dashstyle=f.stemDashStyle||c.stemDashStyle||c.dashStyle,f.stem.attr(x),k&&(y.stroke=f.whiskerColor||c.whiskerColor||w,y["stroke-width"]=mt(f.whiskerWidth,c.whiskerWidth,c.lineWidth),y.dashstyle=f.whiskerDashStyle||c.whiskerDashStyle||c.dashStyle,f.whiskers.attr(y)),u&&(b.fill=f.fillColor||c.fillColor||w,b.stroke=c.lineColor||w,b["stroke-width"]=c.lineWidth||0,b.dashstyle=f.boxDashStyle||c.boxDashStyle||c.dashStyle,f.box.attr(b)),v.stroke=f.medianColor||c.medianColor||w,v["stroke-width"]=mt(f.medianWidth,c.medianWidth,c.lineWidth),v.dashstyle=f.medianDashStyle||c.medianDashStyle||c.dashStyle,f.medianShape.attr(v));let M=ut((f.plotX||0)+(this.pointXOffset||0)+(this.barW||0)/2,f.stem.strokeWidth());if(A=[["M",M,e],["L",M,i],["M",M,t],["L",M,s]],f.stem[h]({d:A}),u){let i=f.box.strokeWidth();t=ut(t,i),e=ut(e,i),A=[["M",a=ut(a,i),e],["L",a,t],["L",l=ut(l,i),t],["L",l,e],["L",a,e],["Z"]],f.box[h]({d:A})}if(k){let t=n/2,e=this.getWhiskerPair(t,M,f.upperWhiskerLength??c.upperWhiskerLength??k,f.lowerWhiskerLength??c.lowerWhiskerLength??k,f);f.whiskers[h]({d:e})}A=[["M",a,o=ut(f.medianPlot,f.medianShape.strokeWidth())],["L",l,o]],f.medianShape[h]({d:A})}}}toYData(t){return[t.low,t.q1,t.median,t.q3,t.high]}}xt.defaultOptions=ft(dt().defaultOptions,{threshold:null,tooltip:{pointFormat:'<span style="color:{point.color}">●</span> <b>{series.name}</b><br/>Maximum: {point.high}<br/>Upper quartile: {point.q3}<br/>Median: {point.median}<br/>Lower quartile: {point.q1}<br/>Minimum: {point.low}<br/>'},whiskerLength:"50%",fillColor:"#ffffff",lineWidth:1,medianWidth:2,whiskerWidth:2}),gt(xt.prototype,{pointArrayMap:["low","q1","median","q3","high"],pointValKey:"high",drawDataLabels:pt,setStackedPoints:pt}),v().registerSeriesType("boxplot",xt);let yt=xt,vt={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:"0.9em",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};var wt=f(620),kt=f.n(wt),At=f(984),Mt=f.n(At);let{parse:Ct}=kt(),{noop:Pt}=x(),{arrayMax:St,arrayMin:Tt,isNumber:Et,merge:Lt,pick:Ot,stableSort:Dt}=x(),It=class{constructor(t,e){this.setState=Pt,this.init(t,e)}init(t,e){this.options=t,this.visible=!0,this.chart=e.chart,this.legend=e}addToLegend(t){t.splice(this.options.legendIndex,0,this)}drawLegendSymbol(t){let e,i=Ot(t.options.itemDistance,20),s=this.legendItem||{},o=this.options,r=o.ranges,n=o.connectorDistance;if(!r||!r.length||!Et(r[0].value))return void(t.options.bubbleLegend.autoRanges=!0);Dt(r,function(t,e){return e.value-t.value}),this.ranges=r,this.setOptions(),this.render();let a=this.getMaxLabelSize(),l=this.ranges[0].radius,h=2*l;e=(e=n-l+a.width)>0?e:0,this.maxLabel=a,this.movementX="left"===o.labels.align?e:0,s.labelWidth=h+e+i,s.labelHeight=h+a.height/2}setOptions(){let t=this.ranges,e=this.options,i=this.chart.series[e.seriesIndex],s=this.legend.baseline,o={zIndex:e.zIndex,"stroke-width":e.borderWidth},r={zIndex:e.zIndex,"stroke-width":e.connectorWidth},n={align:this.legend.options.rtl||"left"===e.labels.align?"right":"left",zIndex:e.zIndex},a=i.options.marker.fillOpacity,l=this.chart.styledMode;t.forEach(function(h,c){l||(o.stroke=Ot(h.borderColor,e.borderColor,i.color),o.fill=Ot(h.color,e.color,1!==a?Ct(i.color).setOpacity(a).get("rgba"):i.color),r.stroke=Ot(h.connectorColor,e.connectorColor,i.color)),t[c].radius=this.getRangeRadius(h.value),t[c]=Lt(t[c],{center:t[0].radius-t[c].radius+s}),l||Lt(!0,t[c],{bubbleAttribs:Lt(o),connectorAttribs:Lt(r),labelAttribs:n})},this)}getRangeRadius(t){let e=this.options,i=this.options.seriesIndex,s=this.chart.series[i],o=e.ranges[0].value,r=e.ranges[e.ranges.length-1].value,n=e.minSize,a=e.maxSize;return s.getRadius.call(this,r,o,n,a,t)}render(){let t=this.legendItem||{},e=this.chart.renderer,i=this.options.zThreshold;for(let s of(this.symbols||(this.symbols={connectors:[],bubbleItems:[],labels:[]}),t.symbol=e.g("bubble-legend"),t.label=e.g("bubble-legend-item").css(this.legend.itemStyle||{}),t.symbol.translateX=0,t.symbol.translateY=0,t.symbol.add(t.label),t.label.add(t.group),this.ranges))s.value>=i&&this.renderRange(s);this.hideOverlappingLabels()}renderRange(t){let e=this.ranges[0],i=this.legend,s=this.options,o=s.labels,r=this.chart,n=r.series[s.seriesIndex],a=r.renderer,l=this.symbols,h=l.labels,c=t.center,d=Math.abs(t.radius),p=s.connectorDistance||0,u=o.align,g=i.options.rtl,f=s.borderWidth,m=s.connectorWidth,b=e.radius||0,x=c-d-f/2+m/2,y=(x%1?1:.5)-(m%2?0:.5),v=a.styledMode,w=g||"left"===u?-p:p;"center"===u&&(w=0,s.connectorDistance=0,t.labelAttribs.align="center"),l.bubbleItems.push(a.circle(b,c+y,d).attr(v?{}:t.bubbleAttribs).addClass((v?"highcharts-color-"+n.colorIndex+" ":"")+"highcharts-bubble-legend-symbol "+(s.className||"")).add(this.legendItem.symbol)),l.connectors.push(a.path(a.crispLine([["M",b,x],["L",b+w,x]],s.connectorWidth)).attr(v?{}:t.connectorAttribs).addClass((v?"highcharts-color-"+this.options.seriesIndex+" ":"")+"highcharts-bubble-legend-connectors "+(s.connectorClassName||"")).add(this.legendItem.symbol));let k=a.text(this.formatLabel(t)).attr(v?{}:t.labelAttribs).css(v?{}:o.style).addClass("highcharts-bubble-legend-labels "+(s.labels.className||"")).add(this.legendItem.symbol),A={x:b+w+s.labels.x,y:x+s.labels.y+.4*k.getBBox().height};k.attr(A),h.push(k),k.placed=!0,k.alignAttr=A}getMaxLabelSize(){let t,e;return this.symbols.labels.forEach(function(i){e=i.getBBox(!0),t=t?e.width>t.width?e:t:e}),t||{}}formatLabel(t){let e=this.options,i=e.labels.formatter,s=e.labels.format,{numberFormatter:o}=this.chart;return s?Mt().format(s,t,this.chart):i?i.call(t):o(t.value,1)}hideOverlappingLabels(){let t=this.chart,e=this.options.labels.allowOverlap,i=this.symbols;!e&&i&&(t.hideOverlappingLabels(i.labels),i.labels.forEach(function(t,e){t.newOpacity?t.newOpacity!==t.oldOpacity&&i.connectors[e].show():i.connectors[e].hide()}))}getRanges(){let t,e,i=this.legend.bubbleLegend,s=i.chart.series,o=i.options.ranges,r=Number.MAX_VALUE,n=-Number.MAX_VALUE;return s.forEach(function(t){t.isBubble&&!t.ignoreSeries&&(e=t.getColumn("z").filter(Et)).length&&(r=Ot(t.options.zMin,Math.min(r,Math.max(Tt(e),!1===t.options.displayNegative?t.options.zThreshold:-Number.MAX_VALUE))),n=Ot(t.options.zMax,Math.max(n,St(e))))}),t=r===n?[{value:n}]:[{value:r},{value:(r+n)/2},{value:n,autoRanges:!0}],o.length&&o[0].radius&&t.reverse(),t.forEach(function(e,i){o&&o[i]&&(t[i]=Lt(o[i],e))}),t}predictBubbleSizes(){let t,e=this.chart,i=e.legend.options,s=i.floating,o="horizontal"===i.layout,r=o?e.legend.lastLineHeight:0,n=e.plotSizeX,a=e.plotSizeY,l=e.series[this.options.seriesIndex],h=l.getPxExtremes(),c=Math.ceil(h.minPxSize),d=Math.ceil(h.maxPxSize),p=Math.min(a,n),u=l.options.maxSize;return s||!/%$/.test(u)?t=d:(t=(p+r)*(u=parseFloat(u))/100/(u/100+1),(o&&a-t>=n||!o&&n-t>=a)&&(t=d)),[c,Math.ceil(t)]}updateRanges(t,e){let i=this.legend.options.bubbleLegend;i.minSize=t,i.maxSize=e,i.ranges=this.getRanges()}correctSizes(){let t=this.legend,e=this.chart.series[this.options.seriesIndex].getPxExtremes();Math.abs(Math.ceil(e.maxPxSize)-this.options.maxSize)>1&&(this.updateRanges(this.options.minSize,e.maxPxSize),t.render())}},{setOptions:Nt}=x(),{composed:Bt}=x(),{addEvent:Rt,objectEach:zt,pushUnique:Ft,wrap:Ht}=x();function Xt(t,e,i){let s,o,r,n=this.legend,a=Wt(this)>=0;n&&n.options.enabled&&n.bubbleLegend&&n.options.bubbleLegend.autoRanges&&a?(s=n.bubbleLegend.options,o=n.bubbleLegend.predictBubbleSizes(),n.bubbleLegend.updateRanges(o[0],o[1]),s.placed||(n.group.placed=!1,n.allItems.forEach(t=>{(r=t.legendItem||{}).group&&(r.group.translateY=void 0)})),n.render(),s.placed||(this.getMargins(),this.axes.forEach(t=>{t.setScale(),t.updateNames(),zt(t.ticks,function(t){t.isNew=!0,t.isNewLabel=!0})}),this.getMargins()),s.placed=!0,t.call(this,e,i),n.bubbleLegend.correctSizes(),_t(n,Yt(n))):(t.call(this,e,i),n&&n.options.enabled&&n.bubbleLegend&&(n.render(),_t(n,Yt(n))))}function Wt(t){let e=t.series,i=0;for(;i<e.length;){if(e[i]&&e[i].isBubble&&e[i].visible&&e[i].dataTable.rowCount)return i;i++}return-1}function Yt(t){let e,i,s,o=t.allItems,r=[],n=o.length,a=0,l=0;for(a=0;a<n;a++)if(i=o[a].legendItem||{},s=(o[a+1]||{}).legendItem||{},i.labelHeight&&(o[a].itemHeight=i.labelHeight),o[a]===o[n-1]||i.y!==s.y){for(r.push({height:0}),e=r[r.length-1];l<=a;l++)o[l].itemHeight>e.height&&(e.height=o[l].itemHeight);e.step=a}return r}function jt(t){let e=this.bubbleLegend,i=this.options,s=i.bubbleLegend,o=Wt(this.chart);e&&e.ranges&&e.ranges.length&&(s.ranges.length&&(s.autoRanges=!!s.ranges[0].autoRanges),this.destroyItem(e)),o>=0&&i.enabled&&s.enabled&&(s.seriesIndex=o,this.bubbleLegend=new It(s,this),this.bubbleLegend.addToLegend(t.allItems))}function Gt(t){let e;if(t.defaultPrevented)return!1;let i=t.legendItem,s=this.chart,o=i.visible;this&&this.bubbleLegend&&(i.visible=!o,i.ignoreSeries=o,e=Wt(s)>=0,this.bubbleLegend.visible!==e&&(this.update({bubbleLegend:{enabled:e}}),this.bubbleLegend.visible=e),i.visible=o)}function _t(t,e){let i,s,o,r,n=t.allItems,a=t.options.rtl,l=0;n.forEach((t,n)=>{(r=t.legendItem||{}).group&&(i=r.group.translateX||0,s=r.y||0,((o=t.movementX)||a&&t.ranges)&&(o=a?i-t.options.maxSize/2:i+o,r.group.attr({translateX:o})),n>e[l].step&&l++,r.group.attr({translateY:Math.round(s+e[l].height/2)}),r.y=s+e[l].height/2)})}let qt=function(t,e){Ft(Bt,"Series.BubbleLegend")&&(Nt({legend:{bubbleLegend:vt}}),Ht(t.prototype,"drawChartBox",Xt),Rt(e,"afterGetAllItems",jt),Rt(e,"itemClick",Gt))};var Ut=f(260),Vt=f.n(Ut);let{seriesTypes:{scatter:{prototype:{pointClass:Kt}}}}=v(),{extend:$t}=x();class Zt extends Kt{haloPath(t){let e=(t&&this.marker&&this.marker.radius||0)+t;if(this.series.chart.inverted){let t=this.pos()||[0,0],{xAxis:i,yAxis:s,chart:o}=this.series;return o.renderer.symbols.circle(i.len-t[1]-e,s.len-t[0]-e,2*e,2*e)}return Vt().prototype.haloPath.call(this,e)}}$t(Zt.prototype,{ttBelow:!1});let{parse:Jt}=kt(),{composed:Qt,noop:te}=x(),{series:ee,seriesTypes:{column:{prototype:ie},scatter:se}}=v(),{addEvent:oe,arrayMax:re,arrayMin:ne,clamp:ae,extend:le,isNumber:he,merge:ce,pick:de,pushUnique:pe}=x();function ue(){let t,e=this.len,{coll:i,isXAxis:s,min:o}=this,r=(this.max||0)-(o||0),n=0,a=e,l=e/r;("xAxis"===i||"yAxis"===i)&&(this.series.forEach(e=>{if(e.bubblePadding&&e.reserveSpace()){this.allowZoomOutside=!0,t=!0;let i=e.getColumn(s?"x":"y");if(s&&((e.onPoint||e).getRadii(0,0,e),e.onPoint&&(e.radii=e.onPoint.radii)),r>0){let t=i.length;for(;t--;)if(he(i[t])&&this.dataMin<=i[t]&&i[t]<=this.max){let s=e.radii&&e.radii[t]||0;n=Math.min((i[t]-o)*l-s,n),a=Math.max((i[t]-o)*l+s,a)}}}}),t&&r>0&&!this.logarithmic&&(a-=e,l*=(e+Math.max(0,n)-Math.min(a,e))/e,[["min","userMin",n],["max","userMax",a]].forEach(t=>{void 0===de(this.options[t[0]],this[t[1]])&&(this[t[0]]+=t[2]/l)})))}function ge(){let{ticks:t,tickPositions:e,dataMin:i=0,dataMax:s=0,categories:o}=this,r=this.options.type;if((o?.length||"category"===r)&&this.series.find(t=>t.bubblePadding)){let o=e.length;for(;o--;){let r=t[e[o]],n=r.pos||0;(n>s||n<i)&&r.label?.hide()}}}class fe extends se{static compose(t,e,i){qt(e,i),pe(Qt,"Series.Bubble")&&(oe(t,"foundExtremes",ue),oe(t,"afterRender",ge))}animate(t){!t&&this.points.length<this.options.animationLimit&&this.points.forEach(function(t){let{graphic:e,plotX:i=0,plotY:s=0}=t;e&&e.width&&(this.hasRendered||e.attr({x:i,y:s,width:1,height:1}),e.animate(this.markerAttribs(t),this.options.animation))},this)}getRadii(){let t,e,i,s=this.getColumn("z"),o=this.getColumn("y"),r=[],n=this.chart.bubbleZExtremes,{minPxSize:a,maxPxSize:l}=this.getPxExtremes();if(!n){let t,e=Number.MAX_VALUE,i=-Number.MAX_VALUE;this.chart.series.forEach(s=>{if(s.bubblePadding&&s.reserveSpace()){let o=(s.onPoint||s).getZExtremes();o&&(e=Math.min(de(e,o.zMin),o.zMin),i=Math.max(de(i,o.zMax),o.zMax),t=!0)}}),t?(n={zMin:e,zMax:i},this.chart.bubbleZExtremes=n):n={zMin:0,zMax:0}}for(e=0,t=s.length;e<t;e++)i=s[e],r.push(this.getRadius(n.zMin,n.zMax,a,l,i,o&&o[e]));this.radii=r}getRadius(t,e,i,s,o,r){let n=this.options,a="width"!==n.sizeBy,l=n.zThreshold,h=e-t,c=.5;if(null===r||null===o)return null;if(he(o)){if(n.sizeByAbsoluteValue&&(o=Math.abs(o-l),e=h=Math.max(e-l,Math.abs(t-l)),t=0),o<t)return i/2-1;h>0&&(c=(o-t)/h)}return a&&c>=0&&(c=Math.sqrt(c)),Math.ceil(i+c*(s-i))/2}hasData(){return!!this.dataTable.rowCount}markerAttribs(t,e){let i=super.markerAttribs(t,e),{height:s=0,width:o=0}=i;return this.chart.inverted?le(i,{x:(t.plotX||0)-o/2,y:(t.plotY||0)-s/2}):i}pointAttribs(t,e){let i=this.options.marker.fillOpacity,s=ee.prototype.pointAttribs.call(this,t,e);return 1!==i&&(s.fill=Jt(s.fill).setOpacity(i).get("rgba")),s}translate(){super.translate.call(this),this.getRadii(),this.translateBubble()}translateBubble(){let{data:t,options:e,radii:i}=this,{minPxSize:s}=this.getPxExtremes(),o=t.length;for(;o--;){let r=t[o],n=i?i[o]:0;"z"===this.zoneAxis&&(r.negative=(r.z||0)<(e.zThreshold||0)),he(n)&&n>=s/2?(r.marker=le(r.marker,{radius:n,width:2*n,height:2*n}),r.dlBox={x:r.plotX-n,y:r.plotY-n,width:2*n,height:2*n}):(r.shapeArgs=r.plotY=r.dlBox=void 0,r.isInside=!1)}}getPxExtremes(){let t=Math.min(this.chart.plotWidth,this.chart.plotHeight),e=e=>{let i;return"string"==typeof e&&(i=/%$/.test(e),e=parseInt(e,10)),i?t*e/100:e},i=e(de(this.options.minSize,8));return{minPxSize:i,maxPxSize:Math.max(e(de(this.options.maxSize,"20%")),i)}}getZExtremes(){let t=this.options,e=this.getColumn("z").filter(he);if(e.length){let i=de(t.zMin,ae(ne(e),!1===t.displayNegative?t.zThreshold||0:-Number.MAX_VALUE,Number.MAX_VALUE)),s=de(t.zMax,re(e));if(he(i)&&he(s))return{zMin:i,zMax:s}}}searchKDTree(t,e,i,s=te,o=te){return s=(t,e,i)=>{let s,o=t[i]||0,r=e[i]||0,n=!1;return o<0&&r<0?(s=o-(t.marker?.radius||0)>=r-(e.marker?.radius||0)?t:e,n=!0):s=o<r?t:e,[s,n]},o=(t,e,i)=>!i&&t>e||t<e,super.searchKDTree(t,e,i,s,o)}}fe.defaultOptions=ce(se.defaultOptions,{dataLabels:{formatter:function(){let{numberFormatter:t}=this.series.chart,{z:e}=this.point;return he(e)?t(e,-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"}),le(fe.prototype,{alignDataLabel:ie.alignDataLabel,applyZones:te,bubblePadding:!0,isBubble:!0,keysAffectYAxis:["y"],pointArrayMap:["y","z"],pointClass:Zt,parallelArrays:["x","y","z"],trackerGroups:["group","dataLabelsGroup"],specialGroup:"group",zoneAxis:"z"}),oe(fe,"updatedData",t=>{delete t.target.chart.bubbleZExtremes}),oe(fe,"remove",t=>{delete t.target.chart.bubbleZExtremes}),v().registerSeriesType("bubble",fe);let{seriesTypes:{column:{prototype:{pointClass:{prototype:me}}},arearange:{prototype:{pointClass:be}}}}=v(),{extend:xe,isNumber:ye}=x();class ve extends be{isValid(){return ye(this.low)}}xe(ve.prototype,{setState:me.setState});let{noop:we}=x(),{seriesTypes:{arearange:ke,column:Ae,column:{prototype:Me}}}=v(),{addEvent:Ce,clamp:Pe,extend:Se,isNumber:Te,merge:Ee,pick:Le}=x();class Oe extends ke{setOptions(){return Ee(!0,arguments[0],{stacking:void 0}),ke.prototype.setOptions.apply(this,arguments)}translate(){return Me.translate.apply(this)}pointAttribs(){return Me.pointAttribs.apply(this,arguments)}translate3dPoints(){return Me.translate3dPoints.apply(this,arguments)}translate3dShapes(){return Me.translate3dShapes.apply(this,arguments)}afterColumnTranslate(){let t,e,i,s,o=this.yAxis,r=this.xAxis,n=r.startAngleRad,a=this.chart,l=this.xAxis.isRadial,h=Math.max(a.chartWidth,a.chartHeight)+999;this.points.forEach(c=>{let d=c.shapeArgs||{},p=this.options.minPointLength,u=c.plotY,g=o.translate(c.high,0,1,0,1);if(Te(g)&&Te(u))if(c.plotHigh=Pe(g,-h,h),c.plotLow=Pe(u,-h,h),s=c.plotHigh,Math.abs(t=Le(c.rectPlotY,c.plotY)-c.plotHigh)<p?(e=p-t,t+=e,s-=e/2):t<0&&(t*=-1,s-=t),l&&this.polar)i=c.barX+n,c.shapeType="arc",c.shapeArgs=this.polar.arc(s+t,s,i,i+c.pointWidth);else{d.height=t,d.y=s;let{x:e=0,width:i=0}=d;c.shapeArgs=Ee(c.shapeArgs,this.crispCol(e,s,i,t)),c.tooltipPos=a.inverted?[o.len+o.pos-a.plotLeft-s-t/2,r.len+r.pos-a.plotTop-e-i/2,t]:[r.left-a.plotLeft+e+i/2,o.pos-a.plotTop+s+t/2,t]}})}}Oe.defaultOptions=Ee(Ae.defaultOptions,ke.defaultOptions,{borderRadius:{where:"all"},pointRange:null,legendSymbol:"rectangle",marker:null,states:{hover:{halo:!1}}}),Ce(Oe,"afterColumnTranslate",function(){Oe.prototype.afterColumnTranslate.apply(this)},{order:5}),Se(Oe.prototype,{directTouch:!0,pointClass:ve,trackerGroups:["group","dataLabelsGroup"],adjustForMissingColumns:Me.adjustForMissingColumns,animate:Me.animate,crispCol:Me.crispCol,drawGraph:we,drawPoints:Me.drawPoints,getSymbol:we,drawTracker:Me.drawTracker,getColumnMetrics:Me.getColumnMetrics}),v().registerSeriesType("columnrange",Oe);let{column:De}=v().seriesTypes,{clamp:Ie,merge:Ne,pick:Be}=x();class Re extends De{translate(){let t=this.chart,e=this.options,i=this.dense=this.closestPointRange*this.xAxis.transA<2,s=this.borderWidth=Be(e.borderWidth,i?0:1),o=this.yAxis,r=e.threshold,n=Be(e.minPointLength,5),a=this.getColumnMetrics(),l=a.width,h=this.pointXOffset=a.offset,c=this.translatedThreshold=o.getThreshold(r),d=this.barW=Math.max(l,1+2*s);for(let i of(t.inverted&&(c-=.5),e.pointPadding&&(d=Math.ceil(d)),super.translate(),this.points)){let s,p,u,g,f,m,b,x,y,v,w,k=Be(i.yBottom,c),A=999+Math.abs(k),M=Ie(i.plotY,-A,o.len+A),C=d/2,P=Math.min(M,k),S=Math.max(M,k)-P,T=i.plotX+h;e.centerInCategory&&(T=this.adjustForMissingColumns(T,l,i,a)),i.barX=T,i.pointWidth=l,i.tooltipPos=t.inverted?[o.len+o.pos-t.plotLeft-M,this.xAxis.len-T-C,S]:[T+C,M+o.pos-t.plotTop,S],s=r+(i.total||i.y),"percent"===e.stacking&&(s=r+(i.y<0)?-100:100);let E=o.toPixels(s,!0);u=(p=t.plotHeight-E-(t.plotHeight-c))?C*(P-E)/p:0,g=p?C*(P+S-E)/p:0,m=T-u+C,b=T+u+C,x=T+g+C,y=T-g+C,v=P-n,w=P+S,i.y<0&&(v=P,w=P+S+n),t.inverted&&(f=o.width-P,p=E-(o.width-c),u=C*(E-f)/p,g=C*(E-(f-S))/p,b=(m=T+C+u)-2*u,x=T-g+C,y=T+g+C,v=P,w=P+S-n,i.y<0&&(w=P+S+n)),i.shapeType="path",i.shapeArgs={x:m,y:v,width:b-m,height:S,d:[["M",m,v],["L",b,v],["L",x,w],["L",y,w],["Z"]]}}}}Re.defaultOptions=Ne(De.defaultOptions,{}),v().registerSeriesType("columnpyramid",Re);let{arearange:ze}=v().seriesTypes,{addEvent:Fe,merge:He,extend:Xe}=x();class We extends yt{getColumnMetrics(){return this.linkedParent&&this.linkedParent.columnMetrics||dt().prototype.getColumnMetrics.call(this)}drawDataLabels(){let t=this.pointValKey;if(ze)for(let e of(ze.prototype.drawDataLabels.call(this),this.points))e.y=e[t]}toYData(t){return[t.low,t.high]}}We.defaultOptions=He(yt.defaultOptions,{color:"#000000",grouping:!1,linkedTo:":previous",tooltip:{pointFormat:'<span style="color:{point.color}">●</span> {series.name}: <b>{point.low}</b> - <b>{point.high}</b><br/>'},whiskerWidth:null}),Fe(We,"afterTranslate",function(){for(let t of this.points)t.plotLow=t.plotY},{order:0}),Xe(We.prototype,{pointArrayMap:["low","high"],pointValKey:"high",doQuartiles:!1}),v().registerSeriesType("errorbar",We);let{series:{prototype:{pointClass:Ye}}}=v(),{noop:je}=x(),{series:Ge,seriesTypes:{column:_e}}=v(),{clamp:qe,isNumber:Ue,extend:Ve,merge:Ke,pick:$e,pInt:Ze,defined:Je}=x();class Qe extends Ge{translate(){let t=this.yAxis,e=this.options,i=t.center;this.generatePoints(),this.points.forEach(s=>{let o=Ke(e.dial,s.dial),r=Ze(o.radius)*i[2]/200,n=Ze(o.baseLength)*r/100,a=Ze(o.rearLength)*r/100,l=o.baseWidth,h=o.topWidth,c=e.overshoot,d=t.startAngleRad+t.translate(s.y,void 0,void 0,void 0,!0);(Ue(c)||!1===e.wrap)&&(c=Ue(c)?c/180*Math.PI:0,d=qe(d,t.startAngleRad-c,t.endAngleRad+c)),d=180*d/Math.PI,s.shapeType="path";let p=o.path||[["M",-a,-l/2],["L",n,-l/2],["L",r,-h/2],["L",r,h/2],["L",n,l/2],["L",-a,l/2],["Z"]];s.shapeArgs={d:p,translateX:i[0],translateY:i[1],rotation:d},s.plotX=i[0],s.plotY=i[1],Je(s.y)&&t.max-t.min&&(s.percentage=(s.y-t.min)/(t.max-t.min)*100)})}drawPoints(){let t=this,e=t.chart,i=t.yAxis.center,s=t.pivot,o=t.options,r=o.pivot,n=e.renderer;t.points.forEach(i=>{let s=i.graphic,r=i.shapeArgs,a=r.d,l=Ke(o.dial,i.dial);s?(s.animate(r),r.d=a):i.graphic=n[i.shapeType](r).addClass("highcharts-dial").add(t.group),e.styledMode||i.graphic[s?"animate":"attr"]({stroke:l.borderColor,"stroke-width":l.borderWidth,fill:l.backgroundColor})}),s?s.animate({translateX:i[0],translateY:i[1]}):r&&(t.pivot=n.circle(0,0,r.radius).attr({zIndex:2}).addClass("highcharts-pivot").translate(i[0],i[1]).add(t.group),e.styledMode||t.pivot.attr({fill:r.backgroundColor,stroke:r.borderColor,"stroke-width":r.borderWidth}))}animate(t){let e=this;t||e.points.forEach(t=>{let i=t.graphic;i&&(i.attr({rotation:180*e.yAxis.startAngleRad/Math.PI}),i.animate({rotation:t.shapeArgs.rotation},e.options.animation))})}render(){this.group=this.plotGroup("group","series",this.visible?"inherit":"hidden",this.options.zIndex,this.chart.seriesGroup),Ge.prototype.render.call(this),this.group.clip(this.chart.clipRect)}setData(t,e){Ge.prototype.setData.call(this,t,!1),this.processData(),this.generatePoints(),$e(e,!0)&&this.chart.redraw()}hasData(){return!!this.points.length}}Qe.defaultOptions=Ke(Ge.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}),Ve(Qe.prototype,{angular:!0,directTouch:!0,drawGraph:je,drawTracker:_e.prototype.drawTracker,fixedBox:!0,forceDL:!0,noSharedTooltip:!0,pointClass:class extends Ye{setState(t){this.state=t}},trackerGroups:["group","dataLabelsGroup"]}),v().registerSeriesType("gauge",Qe);let{composed:ti}=x(),{addEvent:ei,pushUnique:ii}=x();function si(){let t,e,i,s=this;s.container&&(t=ei(s.container,"mousedown",t=>{let o=s.hoverPoint;o&&o.series&&o.series.hasDraggableNodes&&o.series.options.draggable&&(o.series.onMouseDown(o,t),e=ei(s.container,"mousemove",t=>o&&o.series&&o.series.onMouseMove(o,t)),i=ei(s.container.ownerDocument,"mouseup",t=>(e(),i(),o&&o.series&&o.series.onMouseUp(o,t))))})),ei(s,"destroy",function(){t()})}let oi={compose:function(t){ii(ti,"DragNodes")&&ei(t,"load",si)},onMouseDown:function(t,e){let i=this.chart.pointer?.normalize(e)||e;t.fixedPosition={chartX:i.chartX,chartY:i.chartY,plotX:t.plotX,plotY:t.plotY},t.inDragMode=!0},onMouseMove:function(t,e){if(t.fixedPosition&&t.inDragMode){let i,s,o=this.chart,r=o.pointer?.normalize(e)||e,n=t.fixedPosition.chartX-r.chartX,a=t.fixedPosition.chartY-r.chartY,l=o.graphLayoutsLookup;(Math.abs(n)>5||Math.abs(a)>5)&&(i=t.fixedPosition.plotX-n,s=t.fixedPosition.plotY-a,o.isInsidePlot(i,s)&&(t.plotX=i,t.plotY=s,t.hasDragged=!0,this.redrawHalo(t),l.forEach(t=>{t.restartSimulation()})))}},onMouseUp:function(t){t.fixedPosition&&(t.hasDragged&&(this.layout.enableSimulation?this.layout.start():this.chart.redraw()),t.inDragMode=t.hasDragged=!1,this.options.fixedDraggable||delete t.fixedPosition)},redrawHalo:function(t){t&&this.halo&&this.halo.attr({d:t.haloPath(this.options.states.hover.halo.size)})}},{setAnimation:ri}=x(),{composed:ni}=x(),{addEvent:ai,pushUnique:li}=x();function hi(){this.graphLayoutsLookup&&(this.graphLayoutsLookup.forEach(t=>{t.updateSimulation()}),this.redraw())}function ci(){this.graphLayoutsLookup&&(this.graphLayoutsLookup.forEach(t=>{t.updateSimulation(!1)}),this.redraw())}function di(){this.graphLayoutsLookup&&this.graphLayoutsLookup.forEach(t=>{t.stop()})}function pi(){let t,e=!1,i=i=>{i.maxIterations--&&isFinite(i.temperature)&&!i.isStable()&&!i.enableSimulation&&(i.beforeStep&&i.beforeStep(),i.step(),t=!1,e=!0)};if(this.graphLayoutsLookup){for(ri(!1,this),this.graphLayoutsLookup.forEach(t=>t.start());!t;)t=!0,this.graphLayoutsLookup.forEach(i);e&&this.series.forEach(t=>{t&&t.layout&&t.render()})}}let ui={compose:function(t){li(ni,"GraphLayout")&&(ai(t,"afterPrint",hi),ai(t,"beforePrint",ci),ai(t,"predraw",di),ai(t,"render",pi))},integrations:{},layouts:{}};var gi=f(960),fi=f.n(gi);let{seriesTypes:{bubble:{prototype:{pointClass:mi}}}}=v(),{isNumber:bi}=x(),xi={attractive:function(t,e,i){let s=t.getMass(),o=-i.x*e*this.diffTemperature,r=-i.y*e*this.diffTemperature;t.fromNode.fixedPosition||(t.fromNode.plotX-=o*s.fromNode/t.fromNode.degree,t.fromNode.plotY-=r*s.fromNode/t.fromNode.degree),t.toNode.fixedPosition||(t.toNode.plotX+=o*s.toNode/t.toNode.degree,t.toNode.plotY+=r*s.toNode/t.toNode.degree)},attractiveForceFunction:function(t,e){return(e-t)/t},barycenter:function(){let t=this.options.gravitationalConstant||0,e=(this.barycenter.xFactor-(this.box.left+this.box.width)/2)*t,i=(this.barycenter.yFactor-(this.box.top+this.box.height)/2)*t;this.nodes.forEach(function(t){t.fixedPosition||(t.plotX-=e/t.mass/t.degree,t.plotY-=i/t.mass/t.degree)})},getK:function(t){return Math.pow(t.box.width*t.box.height/t.nodes.length,.5)},integrate:function(t,e){let i=-t.options.friction,s=t.options.maxSpeed,o=e.prevX,r=e.prevY,n=(e.plotX+e.dispX-o)*i,a=(e.plotY+e.dispY-r)*i,l=Math.abs,h=l(n)/(n||1),c=l(a)/(a||1),d=h*Math.min(s,Math.abs(n)),p=c*Math.min(s,Math.abs(a));e.prevX=e.plotX+e.dispX,e.prevY=e.plotY+e.dispY,e.plotX+=d,e.plotY+=p,e.temperature=t.vectorLength({x:d,y:p})},repulsive:function(t,e,i){let s=e*this.diffTemperature/t.mass/t.degree;t.fixedPosition||(t.plotX+=i.x*s,t.plotY+=i.y*s)},repulsiveForceFunction:function(t,e){return(e-t)/t*(e>t?1:0)}},{noop:yi}=x(),vi={barycenter:function(){let t,e,i=this.options.gravitationalConstant,s=this.box,o=this.nodes;for(let r of o)this.options.splitSeries&&!r.isParentNode?(t=r.series.parentNode.plotX,e=r.series.parentNode.plotY):(t=s.width/2,e=s.height/2),r.fixedPosition||(r.plotX-=(r.plotX-t)*i/(r.mass*Math.sqrt(o.length)),r.plotY-=(r.plotY-e)*i/(r.mass*Math.sqrt(o.length)))},getK:yi,integrate:xi.integrate,repulsive:function(t,e,i,s){let o=e*this.diffTemperature/t.mass/t.degree,r=i.x*o,n=i.y*o;t.fixedPosition||(t.plotX+=r,t.plotY+=n),s.fixedPosition||(s.plotX-=r,s.plotY-=n)},repulsiveForceFunction:function(t,e,i,s){return Math.min(t,(i.marker.radius+s.marker.radius)/2)}},wi={attractive:function(t,e,i,s){let o=t.getMass(),r=i.x/s*e,n=i.y/s*e;t.fromNode.fixedPosition||(t.fromNode.dispX-=r*o.fromNode/t.fromNode.degree,t.fromNode.dispY-=n*o.fromNode/t.fromNode.degree),t.toNode.fixedPosition||(t.toNode.dispX+=r*o.toNode/t.toNode.degree,t.toNode.dispY+=n*o.toNode/t.toNode.degree)},attractiveForceFunction:function(t,e){return t*t/e},barycenter:function(){let t=this.options.gravitationalConstant,e=this.barycenter.xFactor,i=this.barycenter.yFactor;this.nodes.forEach(function(s){if(!s.fixedPosition){let o=s.getDegree(),r=o*(1+o/2);s.dispX+=(e-s.plotX)*t*r/s.degree,s.dispY+=(i-s.plotY)*t*r/s.degree}})},getK:function(t){return Math.pow(t.box.width*t.box.height/t.nodes.length,.3)},integrate:function(t,e){e.dispX+=e.dispX*t.options.friction,e.dispY+=e.dispY*t.options.friction;let i=e.temperature=t.vectorLength({x:e.dispX,y:e.dispY});0!==i&&(e.plotX+=e.dispX/i*Math.min(Math.abs(e.dispX),t.temperature),e.plotY+=e.dispY/i*Math.min(Math.abs(e.dispY),t.temperature))},repulsive:function(t,e,i,s){t.dispX+=i.x/s*e/t.degree,t.dispY+=i.y/s*e/t.degree},repulsiveForceFunction:function(t,e){return e*e/t}};class ki{constructor(t){this.body=!1,this.isEmpty=!1,this.isInternal=!1,this.nodes=[],this.box=t,this.boxSize=Math.min(t.width,t.height)}divideBox(){let t=this.box.width/2,e=this.box.height/2;this.nodes[0]=new ki({left:this.box.left,top:this.box.top,width:t,height:e}),this.nodes[1]=new ki({left:this.box.left+t,top:this.box.top,width:t,height:e}),this.nodes[2]=new ki({left:this.box.left+t,top:this.box.top+e,width:t,height:e}),this.nodes[3]=new ki({left:this.box.left,top:this.box.top+e,width:t,height:e})}getBoxPosition(t){let e=t.plotX<this.box.left+this.box.width/2,i=t.plotY<this.box.top+this.box.height/2;return e?i?0:3:i?1:2}insert(t,e){let i;this.isInternal?this.nodes[this.getBoxPosition(t)].insert(t,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(t)].insert(t,e-1)):((i=new ki({top:t.plotX||NaN,left:t.plotY||NaN,width:.1,height:.1})).body=t,i.isInternal=!1,this.nodes.push(i)):(this.isInternal=!1,this.body=t))}updateMassAndCenter(){let t=0,e=0,i=0;if(this.isInternal){for(let s of this.nodes)s.isEmpty||(t+=s.mass,e+=s.plotX*s.mass,i+=s.plotY*s.mass);e/=t,i/=t}else this.body&&(t=this.body.mass,e=this.body.plotX,i=this.body.plotY);this.mass=t,this.plotX=e,this.plotY=i}}let Ai=class{constructor(t,e,i,s){this.box={left:t,top:e,width:i,height:s},this.maxDepth=25,this.root=new ki(this.box),this.root.isInternal=!0,this.root.isRoot=!0,this.root.divideBox()}calculateMassAndCenter(){this.visitNodeRecursive(null,null,function(t){t.updateMassAndCenter()})}insertNodes(t){for(let e of t)this.root.insert(e,this.maxDepth)}visitNodeRecursive(t,e,i){let s;if(t||(t=this.root),t===this.root&&e&&(s=e(t)),!1!==s){for(let o of t.nodes){if(o.isInternal){if(e&&(s=e(o)),!1===s)continue;this.visitNodeRecursive(o,e,i)}else o.body&&e&&e(o.body);i&&i(o)}t===this.root&&i&&i(t)}}},{win:Mi}=x(),{clamp:Ci,defined:Pi,isFunction:Si,fireEvent:Ti,pick:Ei}=x();class Li{constructor(){this.box={},this.currentStep=0,this.initialRendering=!0,this.links=[],this.nodes=[],this.series=[],this.simulation=!1}static compose(t){ui.compose(t),ui.integrations.euler=wi,ui.integrations.verlet=xi,ui.layouts["reingold-fruchterman"]=Li}init(t){this.options=t,this.nodes=[],this.links=[],this.series=[],this.box={x:0,y:0,width:0,height:0},this.setInitialRendering(!0),this.integration=ui.integrations[t.integration],this.enableSimulation=t.enableSimulation,this.attractiveForce=Ei(t.attractiveForce,this.integration.attractiveForceFunction),this.repulsiveForce=Ei(t.repulsiveForce,this.integration.repulsiveForceFunction),this.approximation=t.approximation}updateSimulation(t){this.enableSimulation=Ei(t,this.options.enableSimulation)}start(){let t=this.series,e=this.options;this.currentStep=0,this.forces=t[0]&&t[0].forces||[],this.chart=t[0]&&t[0].chart,this.initialRendering&&(this.initPositions(),t.forEach(function(t){t.finishedAnimating=!0,t.render()})),this.setK(),this.resetSimulation(e),this.enableSimulation&&this.step()}step(){let t=this.series;for(let t of(this.currentStep++,"barnes-hut"===this.approximation&&(this.createQuadTree(),this.quadTree.calculateMassAndCenter()),this.forces||[]))this[t+"Forces"](this.temperature);if(this.applyLimits(),this.temperature=this.coolDown(this.startTemperature,this.diffTemperature,this.currentStep),this.prevSystemTemperature=this.systemTemperature,this.systemTemperature=this.getSystemTemperature(),this.enableSimulation){for(let e of t)e.chart&&e.render();this.maxIterations--&&isFinite(this.temperature)&&!this.isStable()?(this.simulation&&Mi.cancelAnimationFrame(this.simulation),this.simulation=Mi.requestAnimationFrame(()=>this.step())):(this.simulation=!1,this.series.forEach(t=>{Ti(t,"afterSimulation")}))}}stop(){this.simulation&&Mi.cancelAnimationFrame(this.simulation)}setArea(t,e,i,s){this.box={left:t,top:e,width:i,height:s}}setK(){this.k=this.options.linkLength||this.integration.getK(this)}addElementsToCollection(t,e){for(let i of t)-1===e.indexOf(i)&&e.push(i)}removeElementFromCollection(t,e){let i=e.indexOf(t);-1!==i&&e.splice(i,1)}clear(){this.nodes.length=0,this.links.length=0,this.series.length=0,this.resetSimulation()}resetSimulation(){this.forcedStop=!1,this.systemTemperature=0,this.setMaxIterations(),this.setTemperature(),this.setDiffTemperature()}restartSimulation(){this.simulation?this.resetSimulation():(this.setInitialRendering(!1),this.enableSimulation?this.start():this.setMaxIterations(1),this.chart&&this.chart.redraw(),this.setInitialRendering(!0))}setMaxIterations(t){this.maxIterations=Ei(t,this.options.maxIterations)}setTemperature(){this.temperature=this.startTemperature=Math.sqrt(this.nodes.length)}setDiffTemperature(){this.diffTemperature=this.startTemperature/(this.options.maxIterations+1)}setInitialRendering(t){this.initialRendering=t}createQuadTree(){this.quadTree=new Ai(this.box.left,this.box.top,this.box.width,this.box.height),this.quadTree.insertNodes(this.nodes)}initPositions(){let t=this.options.initialPositions;if(Si(t))for(let e of(t.call(this),this.nodes))Pi(e.prevX)||(e.prevX=e.plotX),Pi(e.prevY)||(e.prevY=e.plotY),e.dispX=0,e.dispY=0;else"circle"===t?this.setCircularPositions():this.setRandomPositions()}setCircularPositions(){let t,e=this.box,i=this.nodes,s=2*Math.PI/(i.length+1),o=i.filter(function(t){return 0===t.linksTo.length}),r={},n=this.options.initialPositionRadius,a=t=>{for(let e of t.linksFrom||[])r[e.toNode.id]||(r[e.toNode.id]=!0,l.push(e.toNode),a(e.toNode))},l=[];for(let t of o)l.push(t),a(t);if(l.length)for(let t of i)-1===l.indexOf(t)&&l.push(t);else l=i;for(let i=0,o=l.length;i<o;++i)(t=l[i]).plotX=t.prevX=Ei(t.plotX,e.width/2+n*Math.cos(i*s)),t.plotY=t.prevY=Ei(t.plotY,e.height/2+n*Math.sin(i*s)),t.dispX=0,t.dispY=0}setRandomPositions(){let t,e=this.box,i=this.nodes,s=i.length+1,o=t=>{let e=t*t/Math.PI;return e-Math.floor(e)};for(let r=0,n=i.length;r<n;++r)(t=i[r]).plotX=t.prevX=Ei(t.plotX,e.width*o(r)),t.plotY=t.prevY=Ei(t.plotY,e.height*o(s+r)),t.dispX=0,t.dispY=0}force(t,...e){this.integration[t].apply(this,e)}barycenterForces(){this.getBarycenter(),this.force("barycenter")}getBarycenter(){let t=0,e=0,i=0;for(let s of this.nodes)e+=s.plotX*s.mass,i+=s.plotY*s.mass,t+=s.mass;return this.barycenter={x:e,y:i,xFactor:e/t,yFactor:i/t},this.barycenter}barnesHutApproximation(t,e){let i,s,o=this.getDistXY(t,e),r=this.vectorLength(o);return t!==e&&0!==r&&(e.isInternal?e.boxSize/r<this.options.theta&&0!==r?(s=this.repulsiveForce(r,this.k),this.force("repulsive",t,s*e.mass,o,r),i=!1):i=!0:(s=this.repulsiveForce(r,this.k),this.force("repulsive",t,s*e.mass,o,r))),i}repulsiveForces(){if("barnes-hut"===this.approximation)for(let t of this.nodes)this.quadTree.visitNodeRecursive(null,e=>this.barnesHutApproximation(t,e));else{let t,e,i;for(let s of this.nodes)for(let o of this.nodes)s===o||s.fixedPosition||(i=this.getDistXY(s,o),0!==(e=this.vectorLength(i))&&(t=this.repulsiveForce(e,this.k),this.force("repulsive",s,t*o.mass,i,e)))}}attractiveForces(){let t,e,i;for(let s of this.links)s.fromNode&&s.toNode&&(t=this.getDistXY(s.fromNode,s.toNode),0!==(e=this.vectorLength(t))&&(i=this.attractiveForce(e,this.k),this.force("attractive",s,i,t,e)))}applyLimits(){for(let t of this.nodes)t.fixedPosition||(this.integration.integrate(this,t),this.applyLimitBox(t,this.box),t.dispX=0,t.dispY=0)}applyLimitBox(t,e){let i=t.radius;t.plotX=Ci(t.plotX,e.left+i,e.width-i),t.plotY=Ci(t.plotY,e.top+i,e.height-i)}coolDown(t,e,i){return t-e*i}isStable(){return 1e-5>Math.abs(this.systemTemperature-this.prevSystemTemperature)||this.temperature<=0}getSystemTemperature(){let t=0;for(let e of this.nodes)t+=e.temperature;return t}vectorLength(t){return Math.sqrt(t.x*t.x+t.y*t.y)}getDistR(t,e){let i=this.getDistXY(t,e);return this.vectorLength(i)}getDistXY(t,e){let i=t.plotX-e.plotX,s=t.plotY-e.plotY;return{x:i,y:s,absX:Math.abs(i),absY:Math.abs(s)}}}let Oi=Li,{addEvent:Di,pick:Ii}=x();function Ni(){let t=this.series,e=[];return t.forEach(t=>{t.parentNode&&t.parentNode.selected&&e.push(t.parentNode)}),e}function Bi(){this.allDataPoints&&delete this.allDataPoints}class Ri extends Oi{constructor(){super(...arguments),this.index=NaN,this.nodes=[],this.series=[]}static compose(t){Oi.compose(t),ui.integrations.packedbubble=vi,ui.layouts.packedbubble=Ri;let e=t.prototype;e.getSelectedParentNodes||(Di(t,"beforeRedraw",Bi),e.getSelectedParentNodes=Ni)}beforeStep(){this.options.marker&&this.series.forEach(t=>{t&&t.calculateParentRadius()})}isStable(){let t=Math.abs(this.prevSystemTemperature-this.systemTemperature);return 1>Math.abs(10*this.systemTemperature/Math.sqrt(this.nodes.length))&&t<1e-5||this.temperature<=0}setCircularPositions(){let t,e,i=this.box,s=this.nodes,o=2*Math.PI/(s.length+1),r=this.options.initialPositionRadius,n=0;for(let a of s)this.options.splitSeries&&!a.isParentNode?(t=a.series.parentNode.plotX,e=a.series.parentNode.plotY):(t=i.width/2,e=i.height/2),a.plotX=a.prevX=Ii(a.plotX,t+r*Math.cos(a.index||n*o)),a.plotY=a.prevY=Ii(a.plotY,e+r*Math.sin(a.index||n*o)),a.dispX=0,a.dispY=0,n++}repulsiveForces(){let t,e,i,s=this,o=s.options.bubblePadding,r=s.nodes;r.forEach(n=>{n.degree=n.mass,n.neighbours=0,r.forEach(r=>{t=0,n!==r&&!n.fixedPosition&&(s.options.seriesInteraction||n.series===r.series)&&(i=s.getDistXY(n,r),(e=s.vectorLength(i)-(n.marker.radius+r.marker.radius+o))<0&&(n.degree+=.01,n.neighbours++,t=s.repulsiveForce(-e/Math.sqrt(n.neighbours),s.k,n,r)),s.force("repulsive",n,t*r.mass,i,r,e))})})}applyLimitBox(t,e){let i,s;this.options.splitSeries&&!t.isParentNode&&this.options.parentNodeLimit&&(i=this.getDistXY(t,t.series.parentNode),(s=t.series.parentNodeRadius-t.marker.radius-this.vectorLength(i))<0&&s>-2*t.marker.radius&&(t.plotX-=.01*i.x,t.plotY-=.01*i.y)),super.applyLimitBox(t,e)}}ui.layouts.packedbubble=Ri;let{merge:zi,syncTimeout:Fi}=x(),{animObject:Hi}=x();var Xi=f(28),Wi=f.n(Xi);let{deg2rad:Yi}=x(),{addEvent:ji,merge:Gi,uniqueKey:_i,defined:qi,extend:Ui}=x();function Vi(t,e){e=Gi(!0,{enabled:!0,attributes:{dy:-5,startOffset:"50%",textAnchor:"middle"}},e);let i=this.renderer.url,s=this.text||this,o=s.textPath,{attributes:r,enabled:n}=e;if(t=t||o&&o.path,o&&o.undo(),t&&n){let e=ji(s,"afterModifyTree",e=>{if(t&&n){let o=t.attr("id");o||t.attr("id",o=_i());let n={x:0,y:0};qi(r.dx)&&(n.dx=r.dx,delete r.dx),qi(r.dy)&&(n.dy=r.dy,delete r.dy),s.attr(n),this.attr({transform:""}),this.box&&(this.box=this.box.destroy());let a=e.nodes.slice(0);e.nodes.length=0,e.nodes[0]={tagName:"textPath",attributes:Ui(r,{"text-anchor":r.textAnchor,href:`${i}#${o}`}),children:a}}});s.textPath={path:t,undo:e}}else s.attr({dx:0,dy:0}),delete s.textPath;return this.added&&(s.textCache="",this.renderer.buildText(s)),this}function Ki(t){let e=t.bBox,i=this.element?.querySelector("textPath");if(i){let s=[],{b:o,h:r}=this.renderer.fontMetrics(this.element),n=r-o,a=RegExp('(<tspan>|<tspan(?!\\sclass="highcharts-br")[^>]*>|<\\/tspan>)',"g"),l=i.innerHTML.replace(a,"").split(/<tspan class="highcharts-br"[^>]*>/),h=l.length,c=(t,e)=>{let{x:s,y:r}=e,a=(i.getRotationOfChar(t)-90)*Yi,l=Math.cos(a),h=Math.sin(a);return[[s-n*l,r-n*h],[s+o*l,r+o*h]]};for(let e=0,o=0;o<h;o++){let r=l[o].length;for(let n=0;n<r;n+=5)try{let t=e+n+o,[r,a]=c(t,i.getStartPositionOfChar(t));0===n?(s.push(a),s.push(r)):(0===o&&s.unshift(a),o===h-1&&s.push(r))}catch(t){break}e+=r-1;try{let t=e+o,r=i.getEndPositionOfChar(t),[n,a]=c(t,r);s.unshift(a),s.unshift(n)}catch(t){break}}s.length&&s.push(s[0].slice()),e.polygon=s}return e}function $i(t){let e=t.labelOptions,i=t.point,s=e[i.formatPrefix+"TextPath"]||e.textPath;s&&!e.useHTML&&(this.setTextPath(i.getDataLabelPath?.(this)||i.graphic,s),i.dataLabelPath&&!s.enabled&&(i.dataLabelPath=i.dataLabelPath.destroy()))}let{parse:Zi}=kt(),{noop:Ji}=x(),{series:{prototype:Qi},seriesTypes:{bubble:ts}}=v(),{initDataLabels:es,initDataLabelsDefer:is}={initDataLabels:function(){let t=this.options.dataLabels;if(!this.dataLabelsGroup){let e=this.initDataLabelsGroup();return!this.chart.styledMode&&t?.style&&e.css(t.style),e.attr({opacity:0}),this.visible&&e.show(),e}return this.dataLabelsGroup.attr(zi({opacity:1},this.getPlotBox("data-labels"))),this.dataLabelsGroup},initDataLabelsDefer:function(){let t=this.options.dataLabels;t?.defer&&this.options.layoutAlgorithm?.enableSimulation?Fi(()=>{this.deferDataLabels=!1},t?Hi(t.animation).defer:0):this.deferDataLabels=!1}},{addEvent:ss,clamp:os,defined:rs,extend:ns,fireEvent:as,isArray:ls,isNumber:hs,merge:cs,pick:ds}=x();!function(t){ji(t,"afterGetBBox",Ki),ji(t,"beforeAddingDataLabel",$i);let e=t.prototype;e.setTextPath||(e.setTextPath=Vi)}(Wi());class ps extends ts{constructor(){super(...arguments),this.parentNodeMass=0,this.deferDataLabels=!0}static compose(t,e,i){ts.compose(t,e,i),oi.compose(e),Ri.compose(e)}accumulateAllPoints(){let t=this.chart,e=[];for(let i of t.series)if(i.is("packedbubble")&&i.reserveSpace()){let t=i.getColumn("value");for(let s=0;s<t.length;s++)e.push([null,null,t[s],i.index,s,{id:s,marker:{radius:0}}])}return e}addLayout(){let t,e=this.options.layoutAlgorithm=this.options.layoutAlgorithm||{},i=e.type||"packedbubble",s=this.chart.options.chart,o=this.chart.graphLayoutsStorage,r=this.chart.graphLayoutsLookup;o||(this.chart.graphLayoutsStorage=o={},this.chart.graphLayoutsLookup=r=[]),(t=o[i])||(e.enableSimulation=rs(s.forExport)?!s.forExport:e.enableSimulation,o[i]=t=new ui.layouts[i],t.init(e),r.splice(t.index,0,t)),this.layout=t,this.points.forEach(t=>{t.mass=2,t.degree=1,t.collisionNmb=1}),t.setArea(0,0,this.chart.plotWidth,this.chart.plotHeight),t.addElementsToCollection([this],t.series),t.addElementsToCollection(this.points,t.nodes)}addSeriesLayout(){let t=this.options.layoutAlgorithm=this.options.layoutAlgorithm||{},e=t.type||"packedbubble",i=this.chart.graphLayoutsStorage,s=this.chart.graphLayoutsLookup,o=cs(t,t.parentNodeOptions,{enableSimulation:this.layout.options.enableSimulation}),r=i[e+"-series"];r||(i[e+"-series"]=r=new ui.layouts[e],r.init(o),s.splice(r.index,0,r)),this.parentNodeLayout=r,this.createParentNodes()}calculateParentRadius(){let t=this.seriesBox();this.parentNodeRadius=os(Math.sqrt(2*this.parentNodeMass/Math.PI)+20,20,t?Math.max(Math.sqrt(Math.pow(t.width,2)+Math.pow(t.height,2))/2+20,20):Math.sqrt(2*this.parentNodeMass/Math.PI)+20),this.parentNode&&(this.parentNode.marker.radius=this.parentNode.radius=this.parentNodeRadius)}calculateZExtremes(){let t=this.chart.series,e=this.options.zMin,i=this.options.zMax,s=1/0,o=-1/0;return e&&i?[e,i]:(t.forEach(t=>{t.getColumn("value").forEach(t=>{rs(t)&&(t>o&&(o=t),t<s&&(s=t))})}),[e=ds(e,s),i=ds(i,o)])}checkOverlap(t,e){let i=t[0]-e[0],s=t[1]-e[1];return Math.sqrt(i*i+s*s)-Math.abs(t[2]+e[2])<-.001}createParentNodes(){let t,e=this.pointClass,i=this.chart,s=this.parentNodeLayout,o=this.layout.options,r=this.parentNode,n={radius:this.parentNodeRadius,lineColor:this.color,fillColor:Zi(this.color).brighten(.4).get()};o.parentNodeOptions&&(n=cs(o.parentNodeOptions.marker||{},n)),this.parentNodeMass=0,this.points.forEach(t=>{this.parentNodeMass+=Math.PI*Math.pow(t.marker.radius,2)}),this.calculateParentRadius(),s.nodes.forEach(e=>{e.seriesIndex===this.index&&(t=!0)}),s.setArea(0,0,i.plotWidth,i.plotHeight),t||(r||(r=new e(this,{mass:this.parentNodeRadius/2,marker:n,dataLabels:{inside:!1},states:{normal:{marker:n},hover:{marker:n}},dataLabelOnNull:!0,degree:this.parentNodeRadius,isParentNode:!0,seriesIndex:this.index})),this.parentNode&&(r.plotX=this.parentNode.plotX,r.plotY=this.parentNode.plotY),this.parentNode=r,s.addElementsToCollection([this],s.series),s.addElementsToCollection([r],s.nodes))}deferLayout(){let t=this.options.layoutAlgorithm;this.visible&&(this.addLayout(),t.splitSeries&&this.addSeriesLayout())}destroy(){this.chart.graphLayoutsLookup&&this.chart.graphLayoutsLookup.forEach(t=>{t.removeElementFromCollection(this,t.series)},this),this.parentNode&&this.parentNodeLayout&&(this.parentNodeLayout.removeElementFromCollection(this.parentNode,this.parentNodeLayout.nodes),this.parentNode.dataLabel&&(this.parentNode.dataLabel=this.parentNode.dataLabel.destroy())),Qi.destroy.apply(this,arguments)}drawDataLabels(){!this.deferDataLabels&&(Qi.drawDataLabels.call(this,this.points),this.parentNode&&(this.parentNode.formatPrefix="parentNode",Qi.drawDataLabels.call(this,[this.parentNode])))}drawGraph(){if(!this.layout||!this.layout.options.splitSeries)return;let t=this.chart,e=this.layout.options.parentNodeOptions.marker,i={fill:e.fillColor||Zi(this.color).brighten(.4).get(),opacity:e.fillOpacity,stroke:e.lineColor||this.color,"stroke-width":ds(e.lineWidth,this.options.lineWidth)},s={};this.parentNodesGroup=this.plotGroup("parentNodesGroup","parentNode",this.visible?"inherit":"hidden",.1,t.seriesGroup),this.group?.attr({zIndex:2}),this.calculateParentRadius(),this.parentNode&&rs(this.parentNode.plotX)&&rs(this.parentNode.plotY)&&rs(this.parentNodeRadius)&&(s=cs({x:this.parentNode.plotX-this.parentNodeRadius,y:this.parentNode.plotY-this.parentNodeRadius,width:2*this.parentNodeRadius,height:2*this.parentNodeRadius},i),this.parentNode.graphic||(this.graph=this.parentNode.graphic=t.renderer.symbol(i.symbol).add(this.parentNodesGroup)),this.parentNode.graphic.attr(s))}drawTracker(){let t,e=this.parentNode;super.drawTracker(),e&&(t=ls(e.dataLabels)?e.dataLabels:e.dataLabel?[e.dataLabel]:[],e.graphic&&(e.graphic.element.point=e),t.forEach(t=>{(t.div||t.element).point=e}))}getPointRadius(){let t,e,i,s,o=this.chart,r=o.plotWidth,n=o.plotHeight,a=this.options,l=a.useSimulation,h=Math.min(r,n),c={},d=[],p=o.allDataPoints||[],u=p.length;["minSize","maxSize"].forEach(t=>{let e=parseInt(a[t],10),i=/%$/.test(a[t]);c[t]=i?h*e/100:e*Math.sqrt(u)}),o.minRadius=t=c.minSize/Math.sqrt(u),o.maxRadius=e=c.maxSize/Math.sqrt(u);let g=l?this.calculateZExtremes():[t,e];p.forEach((o,r)=>{i=l?os(o[2],g[0],g[1]):o[2],0===(s=this.getRadius(g[0],g[1],t,e,i))&&(s=null),p[r][2]=s,d.push(s)}),this.radii=d}init(){return Qi.init.apply(this,arguments),is.call(this),this.eventsToUnbind.push(ss(this,"updatedData",function(){this.chart.series.forEach(t=>{t.type===this.type&&(t.isDirty=!0)},this)})),this}onMouseUp(t){if(t.fixedPosition&&!t.removed){let e,i=this.layout,s=this.parentNodeLayout;s&&i.options.dragBetweenSeries&&s.nodes.forEach(s=>{t&&t.marker&&s!==t.series.parentNode&&(e=i.getDistXY(t,s),i.vectorLength(e)-s.marker.radius-t.marker.radius<0&&(s.series.addPoint(cs(t.options,{plotX:t.plotX,plotY:t.plotY}),!1),i.removeElementFromCollection(t,i.nodes),t.remove()))}),oi.onMouseUp.apply(this,arguments)}}placeBubbles(t){let e,i,s=this.checkOverlap,o=this.positionBubble,r=[],n=1,a=0,l=0,h=[],c=t.sort((t,e)=>e[2]-t[2]);if(c.length){if(r.push([[0,0,c[0][2],c[0][3],c[0][4]]]),c.length>1)for(r.push([[0,0-c[1][2]-c[0][2],c[1][2],c[1][3],c[1][4]]]),i=2;i<c.length;i++)c[i][2]=c[i][2]||1,s(e=o(r[n][a],r[n-1][l],c[i]),r[n][0])?(r.push([]),l=0,r[n+1].push(o(r[n][a],r[n][0],c[i])),n++,a=0):n>1&&r[n-1][l+1]&&s(e,r[n-1][l+1])?(l++,r[n].push(o(r[n][a],r[n-1][l],c[i])),a++):(a++,r[n].push(e));this.chart.stages=r,this.chart.rawPositions=[].concat.apply([],r),this.resizeRadius(),h=this.chart.rawPositions}return h}pointAttribs(t,e){let i=this.options,s=t&&t.isParentNode,o=i.marker;s&&i.layoutAlgorithm&&i.layoutAlgorithm.parentNodeOptions&&(o=i.layoutAlgorithm.parentNodeOptions.marker);let r=o.fillOpacity,n=Qi.pointAttribs.call(this,t,e);return 1!==r&&(n["fill-opacity"]=r),n}positionBubble(t,e,i){let s=Math.asin,o=Math.acos,r=Math.pow,n=Math.abs,a=(0,Math.sqrt)(r(t[0]-e[0],2)+r(t[1]-e[1],2)),l=o((r(a,2)+r(i[2]+e[2],2)-r(i[2]+t[2],2))/(2*(i[2]+e[2])*a)),h=s(n(t[0]-e[0])/a),c=(t[1]-e[1]<0?0:Math.PI)+l+h*((t[0]-e[0])*(t[1]-e[1])<0?1:-1),d=Math.cos(c),p=Math.sin(c);return[e[0]+(e[2]+i[2])*p,e[1]-(e[2]+i[2])*d,i[2],i[3],i[4]]}render(){let t=[];Qi.render.apply(this,arguments),!this.options.dataLabels.allowOverlap&&(this.data.forEach(e=>{ls(e.dataLabels)&&e.dataLabels.forEach(e=>{t.push(e)})}),this.options.useSimulation&&this.chart.hideOverlappingLabels(t))}resizeRadius(){let t,e,i,s,o,r=this.chart,n=r.rawPositions,a=Math.min,l=Math.max,h=r.plotLeft,c=r.plotTop,d=r.plotHeight,p=r.plotWidth;for(let r of(t=i=Number.POSITIVE_INFINITY,e=s=Number.NEGATIVE_INFINITY,n))o=r[2],t=a(t,r[0]-o),e=l(e,r[0]+o),i=a(i,r[1]-o),s=l(s,r[1]+o);let u=[e-t,s-i],g=[(p-h)/u[0],(d-c)/u[1]],f=a.apply([],g);if(Math.abs(f-1)>1e-10){for(let t of n)t[2]*=f;this.placeBubbles(n)}else r.diffY=d/2+c-i-(s-i)/2,r.diffX=p/2+h-t-(e-t)/2}seriesBox(){let t,e=this.chart,i=this.data,s=Math.max,o=Math.min,r=[e.plotLeft,e.plotLeft+e.plotWidth,e.plotTop,e.plotTop+e.plotHeight];return i.forEach(e=>{rs(e.plotX)&&rs(e.plotY)&&e.marker.radius&&(t=e.marker.radius,r[0]=o(r[0],e.plotX-t),r[1]=s(r[1],e.plotX+t),r[2]=o(r[2],e.plotY-t),r[3]=s(r[3],e.plotY+t))}),hs(r.width/r.height)?r:null}setVisible(){let t=this;Qi.setVisible.apply(t,arguments),t.parentNodeLayout&&t.graph?t.visible?(t.graph.show(),t.parentNode.dataLabel&&t.parentNode.dataLabel.show()):(t.graph.hide(),t.parentNodeLayout.removeElementFromCollection(t.parentNode,t.parentNodeLayout.nodes),t.parentNode.dataLabel&&t.parentNode.dataLabel.hide()):t.layout&&(t.visible?t.layout.addElementsToCollection(t.points,t.layout.nodes):t.points.forEach(e=>{t.layout.removeElementFromCollection(e,t.layout.nodes)}))}translate(){let t,e,i,s=this.chart,o=this.data,r=this.index,n=this.options.useSimulation;for(let a of(this.generatePoints(),rs(s.allDataPoints)||(s.allDataPoints=this.accumulateAllPoints(),this.getPointRadius()),n?i=s.allDataPoints:(i=this.placeBubbles(s.allDataPoints),this.options.draggable=!1),i))a[3]===r&&(t=o[a[4]],e=ds(a[2],void 0),n||(t.plotX=a[0]-s.plotLeft+s.diffX,t.plotY=a[1]-s.plotTop+s.diffY),hs(e)&&(t.marker=ns(t.marker,{radius:e,width:2*e,height:2*e}),t.radius=e));n&&this.deferLayout(),as(this,"afterTranslate")}}ps.defaultOptions=cs(ts.defaultOptions,{minSize:"10%",maxSize:"50%",sizeBy:"area",zoneAxis:"y",crisp:!1,tooltip:{pointFormat:"Value: {point.value}"},draggable:!0,useSimulation:!0,parentNode:{allowPointSelect:!1},dataLabels:{formatter:function(){let{numberFormatter:t}=this.series.chart,{value:e}=this.point;return bi(e)?t(e,-1):""},parentNodeFormatter:function(){return this.name||""},parentNodeTextPath:{enabled:!0},padding:0,style:{transition:"opacity 2000ms"}},layoutAlgorithm:{initialPositions:"circle",initialPositionRadius:20,bubblePadding:5,parentNodeLimit:!1,seriesInteraction:!0,dragBetweenSeries:!1,parentNodeOptions:{maxIterations:400,gravitationalConstant:.03,maxSpeed:50,initialPositionRadius:100,seriesInteraction:!0,marker:{fillColor:null,fillOpacity:1,lineWidth:null,lineColor:null,symbol:"circle"}},enableSimulation:!0,type:"packedbubble",integration:"packedbubble",maxIterations:1e3,splitSeries:!1,maxSpeed:5,gravitationalConstant:.01,friction:-.981}}),ns(ps.prototype,{pointClass:class extends mi{destroy(){return this.series?.layout&&this.series.layout.removeElementFromCollection(this,this.series.layout.nodes),Vt().prototype.destroy.apply(this,arguments)}firePointEvent(){let t=this.series.options;if(this.isParentNode&&t.parentNode){let e=t.allowPointSelect;t.allowPointSelect=t.parentNode.allowPointSelect,Vt().prototype.firePointEvent.apply(this,arguments),t.allowPointSelect=e}else Vt().prototype.firePointEvent.apply(this,arguments)}select(){let t=this.series.chart;this.isParentNode?(t.getSelectedPoints=t.getSelectedParentNodes,Vt().prototype.select.apply(this,arguments),t.getSelectedPoints=fi().prototype.getSelectedPoints):Vt().prototype.select.apply(this,arguments)}},axisTypes:[],directTouch:!0,forces:["barycenter","repulsive"],hasDraggableNodes:!0,invertible:!1,isCartesian:!1,noSharedTooltip:!0,pointArrayMap:["value"],pointValKey:"value",requireSorting:!1,trackerGroups:["group","dataLabelsGroup","parentNodesGroup"],initDataLabels:es,alignDataLabel:Qi.alignDataLabel,indexateNodes:Ji,onMouseDown:oi.onMouseDown,onMouseMove:oi.onMouseMove,redrawHalo:oi.redrawHalo,searchPoint:Ji}),v().registerSeriesType("packedbubble",ps);let{noop:us}=x(),{area:gs,line:fs,scatter:ms}=v().seriesTypes,{extend:bs,merge:xs}=x();class ys extends ms{getGraphPath(){let t=fs.prototype.getGraphPath.call(this),e=t.length+1;for(;e--;)(e===t.length||"M"===t[e][0])&&e>0&&t.splice(e,0,["Z"]);return this.areaPath=t,t}drawGraph(){this.options.fillColor=this.color,gs.prototype.drawGraph.call(this)}}ys.defaultOptions=xs(ms.defaultOptions,{marker:{enabled:!1,states:{hover:{enabled:!1}}},stickyTracking:!1,tooltip:{followPointer:!0,pointFormat:""},trackByArea:!0,legendSymbol:"rectangle"}),bs(ys.prototype,{type:"polygon",drawTracker:fs.prototype.drawTracker,setStackedPoints:us}),v().registerSeriesType("polygon",ys);let vs={circular:{gridLineWidth:1,labels:{align:void 0,x:0,y:void 0},maxPadding:0,minPadding:0,showLastLabel:!1,tickLength:0},radial:{gridLineInterpolation:"circle",gridLineWidth:1,labels:{align:"right",padding:5,x:-3,y:-2},showLastLabel:!1,title:{x:4,text:null,rotation:90}},radialGauge:{endOnTick:!1,gridLineWidth:0,labels:{align:"center",distance:-25,x:0,y:void 0},lineWidth:1,minorGridLineWidth:0,minorTickInterval:"auto",minorTickLength:10,minorTickPosition:"inside",minorTickWidth:1,startOnTick:!1,tickLength:10,tickPixelInterval:100,tickPosition:"inside",tickWidth:2,title:{rotation:0,text:""},zIndex:2}},{defaultOptions:ws}=x(),{composed:ks,noop:As}=x(),{addEvent:Ms,correctFloat:Cs,defined:Ps,extend:Ss,fireEvent:Ts,isObject:Es,merge:Ls,pick:Os,pushUnique:Ds,relativeLength:Is,wrap:Ns}=x();!function(t){function e(){this.autoConnect=this.isCircular&&void 0===Os(this.userMax,this.options.max)&&Cs(this.endAngleRad-this.startAngleRad)===Cs(2*Math.PI),!this.isCircular&&this.chart.inverted&&this.max++,this.autoConnect&&(this.max+=(this.categories?1:this.pointRange)||this.closestPointRange||0)}function i(){return()=>{if(this.isRadial&&this.tickPositions&&this.options.labels&&!0!==this.options.labels.allowOverlap)return this.tickPositions.map(t=>this.ticks[t]&&this.ticks[t].label).filter(t=>!!t)}}function s(){return As}function o(t,e,i){let s,o,r,n=this.pane.center,a=t.value;return this.isCircular?(Ps(a)?t.point&&(t.point.shapeArgs||{}).start&&(a=this.chart.inverted?this.translate(t.point.rectPlotY,!0):t.point.x):(o=t.chartX||0,r=t.chartY||0,a=this.translate(Math.atan2(r-i,o-e)-this.startAngleRad,!0)),o=(s=this.getPosition(a)).x,r=s.y):(Ps(a)||(o=t.chartX,r=t.chartY),Ps(o)&&Ps(r)&&(i=n[1]+this.chart.plotTop,a=this.translate(Math.min(Math.sqrt(Math.pow(o-e,2)+Math.pow(r-i,2)),n[2]/2)-n[3]/2,!0))),[a,o||0,r||0]}function r(t,e,i){let s,o,r=this.pane.center,n=this.chart,a=this.left||0,l=this.top||0,h=Os(e,r[2]/2-this.offset);return void 0===i&&(i=this.horiz?0:this.center&&-this.center[3]/2),i&&(h+=i),this.isCircular||void 0!==e?((o=this.chart.renderer.symbols.arc(a+r[0],l+r[1],h,h,{start:this.startAngleRad,end:this.endAngleRad,open:!0,innerR:0})).xBounds=[a+r[0]],o.yBounds=[l+r[1]-h]):(s=this.postTranslate(this.angleRad,h),o=[["M",this.center[0]+n.plotLeft,this.center[1]+n.plotTop],["L",s.x,s.y]]),o}function n(){this.constructor.prototype.getOffset.call(this),this.chart.axisOffset[this.side]=0}function a(t,e,i){let s,o,r,n,a,l,h=this.chart,c=t=>{if("string"==typeof t){let e=parseInt(t,10);return b.test(t)&&(e=e*u/100),e}return t},d=this.center,p=this.startAngleRad,u=d[2]/2,g=Math.min(this.offset,0),f=this.left||0,m=this.top||0,b=/%$/,x=this.isCircular,y=Os(c(i.outerRadius),u),v=c(i.innerRadius),w=Os(c(i.thickness),10);if("polygon"===this.options.gridLineInterpolation)l=this.getPlotLinePath({value:t}).concat(this.getPlotLinePath({value:e,reverse:!0}));else{t=Math.max(t,this.min),e=Math.min(e,this.max);let c=this.translate(t),u=this.translate(e);x||(y=c||0,v=u||0),"circle"!==i.shape&&x?(s=p+(c||0),o=p+(u||0)):(s=-Math.PI/2,o=1.5*Math.PI,a=!0),y-=g,w-=g,l=h.renderer.symbols.arc(f+d[0],m+d[1],y,y,{start:Math.min(s,o),end:Math.max(s,o),innerR:Os(v,y-w),open:a,borderRadius:i.borderRadius}),x&&(r=(o+s)/2,n=f+d[0]+d[2]/2*Math.cos(r),l.xBounds=r>-Math.PI/2&&r<Math.PI/2?[n,h.plotWidth]:[0,n],l.yBounds=[m+d[1]+d[2]/2*Math.sin(r)],l.yBounds[0]+=r>-Math.PI&&r<0||r>Math.PI?-10:10)}return l}function l(t){let e,i,s,o,r,n,a,l,h,c=this.pane.center,d=this.chart,p=d.inverted,u=t.reverse,g=this.pane.options.background?this.pane.options.background[0]||this.pane.options.background:{},f=g.innerRadius||"0%",m=g.outerRadius||"100%",b=c[0]+d.plotLeft,x=c[1]+d.plotTop,y=this.height,v=t.isCrosshair,w=c[3]/2,k=t.value,A=this.getPosition(k),M=A.x,C=A.y;if(v&&(k=(l=this.getCrosshairPosition(t,b,x))[0],M=l[1],C=l[2]),this.isCircular)i=Math.sqrt(Math.pow(M-b,2)+Math.pow(C-x,2)),s="string"==typeof f?Is(f,1):f/i,o="string"==typeof m?Is(m,1):m/i,c&&w&&(s<(e=w/i)&&(s=e),o<e&&(o=e)),h=[["M",b+s*(M-b),x-s*(x-C)],["L",M-(1-o)*(M-b),C+(1-o)*(x-C)]];else if((k=this.translate(k))&&(k<0||k>y)&&(k=0),"circle"===this.options.gridLineInterpolation)h=this.getLinePath(0,k,w);else if(h=[],d[p?"yAxis":"xAxis"].forEach(t=>{t.pane===this.pane&&(r=t)}),r){a=r.tickPositions,r.autoConnect&&(a=a.concat([a[0]])),u&&(a=a.slice().reverse()),k&&(k+=w);for(let t=0;t<a.length;t++)n=r.getPosition(a[t],k),h.push(t?["L",n.x,n.y]:["M",n.x,n.y])}return h}function h(t,e){let i=this.translate(t);return this.postTranslate(this.isCircular?i:this.angleRad,Os(this.isCircular?e:i<0?0:i,this.center[2]/2)-this.offset)}function c(){let t=this.center,e=this.chart,i=this.options.title;return{x:e.plotLeft+t[0]+(i.x||0),y:e.plotTop+t[1]-{high:.5,middle:.25,low:0}[i.align]*t[2]+(i.y||0)}}function d(t){t.beforeSetTickPositions=e,t.createLabelCollector=i,t.getCrosshairPosition=o,t.getLinePath=r,t.getOffset=n,t.getPlotBandPath=a,t.getPlotLinePath=l,t.getPosition=h,t.getTitlePosition=c,t.postTranslate=w,t.setAxisSize=A,t.setAxisTranslation=M,t.setOptions=C}function p(){let t=this.chart,e=this.options,i=t.angular&&this.isXAxis,s=this.pane,o=s&&s.options;if(!i&&s&&(t.angular||t.polar)){let t=2*Math.PI,i=(Os(o.startAngle,0)-90)*Math.PI/180,s=(Os(o.endAngle,Os(o.startAngle,0)+360)-90)*Math.PI/180;this.angleRad=(e.angle||0)*Math.PI/180,this.startAngleRad=i,this.endAngleRad=s,this.offset=e.offset||0;let r=(i%t+t)%t,n=(s%t+t)%t;r>Math.PI&&(r-=t),n>Math.PI&&(n-=t),this.normalizedStartAngleRad=r,this.normalizedEndAngleRad=n}}function u(t){this.isRadial&&(t.align=void 0,t.preventDefault())}function g(){if(this.chart&&this.chart.labelCollectors){let t=this.labelCollector?this.chart.labelCollectors.indexOf(this.labelCollector):-1;t>=0&&this.chart.labelCollectors.splice(t,1)}}function f(t){let e,i=this.chart,o=i.angular,r=i.polar,n=this.isXAxis,a=this.coll,l=t.userOptions.pane||0,h=this.pane=i.pane&&i.pane[l];"colorAxis"!==a?(o?(o&&n?(this.isHidden=!0,this.createLabelCollector=s,this.getOffset=As,this.redraw=k,this.render=k,this.setScale=As,this.setCategories=As,this.setTitle=As):d(this),e=!n):r&&(d(this),e=this.horiz),o||r?(this.isRadial=!0,this.labelCollector||(this.labelCollector=this.createLabelCollector()),this.labelCollector&&i.labelCollectors.push(this.labelCollector)):this.isRadial=!1,h&&e&&(h.axis=this),this.isCircular=e):this.isRadial=!1}function m(){this.isRadial&&this.beforeSetTickPositions()}function b(t){let e=this.label;if(!e)return;let i,s=this.axis,o=e.getBBox(),r=s.options.labels,n=(s.translate(this.pos)+s.startAngleRad+Math.PI/2)/Math.PI*180%360,a=Math.round(n),l=Ps(r.y)?0:-.3*o.height,h=r.y,c=20,d=r.align,p="end",u=a<0?a+360:a,g=u,f=0,m=0;s.isRadial&&(i=s.getPosition(this.pos,s.center[2]/2+Is(Os(r.distance,-25),s.center[2]/2,-s.center[2]/2)),"auto"===r.rotation?e.attr({rotation:n}):Ps(h)||(h=s.chart.renderer.fontMetrics(e).b-o.height/2),Ps(d)||(s.isCircular?(o.width>s.len*s.tickInterval/(s.max-s.min)&&(c=0),d=n>c&&n<180-c?"left":n>180+c&&n<360-c?"right":"center"):d="center",e.attr({align:d})),"auto"===d&&2===s.tickPositions.length&&s.isCircular&&(u>90&&u<180?u=180-u:u>270&&u<=360&&(u=540-u),g>180&&g<=360&&(g=360-g),(s.pane.options.startAngle===a||s.pane.options.startAngle===a+360||s.pane.options.startAngle===a-360)&&(p="start"),d=a>=-90&&a<=90||a>=-360&&a<=-270||a>=270&&a<=360?"start"===p?"right":"left":"start"===p?"left":"right",g>70&&g<110&&(d="center"),u<15||u>=180&&u<195?f=.3*o.height:u>=15&&u<=35?f="start"===p?0:.75*o.height:u>=195&&u<=215?f="start"===p?.75*o.height:0:u>35&&u<=90?f="start"===p?-.25*o.height:o.height:u>215&&u<=270&&(f="start"===p?o.height:-.25*o.height),g<15?m="start"===p?-.15*o.height:.15*o.height:g>165&&g<=180&&(m="start"===p?.15*o.height:-.15*o.height),e.attr({align:d}),e.translate(m,f+l)),t.pos.x=i.x+(r.x||0),t.pos.y=i.y+(h||0))}function y(t){this.axis.getPosition&&Ss(t.pos,this.axis.getPosition(this.pos))}function v({options:e}){e.xAxis&&Ls(!0,t.radialDefaultOptions.circular,e.xAxis),e.yAxis&&Ls(!0,t.radialDefaultOptions.radialGauge,e.yAxis)}function w(t,e){let i=this.chart,s=this.center;return t=this.startAngleRad+t,{x:i.plotLeft+s[0]+Math.cos(t)*e,y:i.plotTop+s[1]+Math.sin(t)*e}}function k(){this.isDirty=!1}function A(){let t,e;this.constructor.prototype.setAxisSize.call(this),this.isRadial&&(this.pane.updateCenter(this),t=this.center=this.pane.center.slice(),this.isCircular?this.sector=this.endAngleRad-this.startAngleRad:(e=this.postTranslate(this.angleRad,t[3]/2),t[0]=e.x-this.chart.plotLeft,t[1]=e.y-this.chart.plotTop),this.len=this.width=this.height=(t[2]-t[3])*Os(this.sector,1)/2)}function M(){this.constructor.prototype.setAxisTranslation.call(this),this.center&&(this.isCircular?this.transA=(this.endAngleRad-this.startAngleRad)/(this.max-this.min||1):this.transA=(this.center[2]-this.center[3])/2/(this.max-this.min||1),this.isXAxis?this.minPixelPadding=this.transA*this.minPointOffset:this.minPixelPadding=0)}function C(e){let{coll:i}=this,{angular:s,inverted:o,polar:r}=this.chart,n={};s?this.isXAxis||(n=Ls(ws.yAxis,t.radialDefaultOptions.radialGauge)):r&&(n=this.horiz?Ls(ws.xAxis,t.radialDefaultOptions.circular):Ls("xAxis"===i?ws.xAxis:ws.yAxis,t.radialDefaultOptions.radial)),o&&"yAxis"===i&&(n.stackLabels=Es(ws.yAxis,!0)?ws.yAxis.stackLabels:{},n.reversedStacks=!0);let a=this.options=Ls(n,e);a.plotBands||(a.plotBands=[]),Ts(this,"afterSetOptions")}function P(t,e,i,s,o,r,n){let a,l=this.axis;return l.isRadial?["M",e,i,"L",(a=l.getPosition(this.pos,l.center[2]/2+s)).x,a.y]:t.call(this,e,i,s,o,r,n)}t.radialDefaultOptions=Ls(vs),t.compose=function(t,e){return Ds(ks,"Axis.Radial")&&(Ms(t,"afterInit",p),Ms(t,"autoLabelAlign",u),Ms(t,"destroy",g),Ms(t,"init",f),Ms(t,"initialAxisTranslation",m),Ms(e,"afterGetLabelPosition",b),Ms(e,"afterGetPosition",y),Ms(x(),"setOptions",v),Ns(e.prototype,"getMarkPath",P)),t}}(d||(d={}));let Bs=d,{animObject:Rs}=x(),{composed:zs}=x(),{addEvent:Fs,defined:Hs,find:Xs,isNumber:Ws,merge:Ys,pick:js,pushUnique:Gs,relativeLength:_s,splat:qs,uniqueKey:Us,wrap:Vs}=x();function Ks(){(this.pane||[]).forEach(t=>{t.render()})}function $s(t){let e=t.args[0].xAxis,i=t.args[0].yAxis,s=t.args[0].chart;e&&i&&("polygon"===i.gridLineInterpolation?(e.startOnTick=!0,e.endOnTick=!0):"polygon"===e.gridLineInterpolation&&s.inverted&&(i.startOnTick=!0,i.endOnTick=!0))}function Zs(){this.pane||(this.pane=[]),this.options.pane=qs(this.options.pane||{}),this.options.pane.forEach(t=>{new Y(t,this)},this)}function Js(t){let e=t.args.marker,i=this.chart.xAxis[0],s=this.chart.yAxis[0],o=this.chart.inverted,r=o?s:i,n=o?i:s;if(this.chart.polar){t.preventDefault();let i=(e.attr?e.attr("start"):e.start)-r.startAngleRad,s=e.attr?e.attr("r"):e.r,o=(e.attr?e.attr("end"):e.end)-r.startAngleRad,a=e.attr?e.attr("innerR"):e.innerR;t.result.x=i+r.pos,t.result.width=o-i,t.result.y=n.len+n.pos-s,t.result.height=s-a}}function Qs(t){let e=this.chart;if(e.polar&&e.hoverPane&&e.hoverPane.axis){t.preventDefault();let i=e.hoverPane.center,s=e.mouseDownX||0,o=e.mouseDownY||0,r=t.args.chartY,n=t.args.chartX,a=2*Math.PI,l=e.hoverPane.axis.startAngleRad,h=e.hoverPane.axis.endAngleRad,c=e.inverted?e.xAxis[0]:e.yAxis[0],d={},p="arc";if(d.x=i[0]+e.plotLeft,d.y=i[1]+e.plotTop,this.zoomHor){let t=l>0?h-l:Math.abs(l)+Math.abs(h),u=Math.atan2(o-e.plotTop-i[1],s-e.plotLeft-i[0])-l,g=Math.atan2(r-e.plotTop-i[1],n-e.plotLeft-i[0])-l;d.r=i[2]/2,d.innerR=i[3]/2,u<=0&&(u+=a),g<=0&&(g+=a),g<u&&(g=[u,u=g][0]),t<a&&l+g>h+(a-t)/2&&(g=u,u=l<=0?l:0);let f=d.start=Math.max(u+l,l),m=d.end=Math.min(g+l,h);if("polygon"===c.options.gridLineInterpolation){let t=e.hoverPane.axis,s=f-t.startAngleRad+t.pos,o=c.getPlotLinePath({value:c.max}),r=t.toValue(s),n=t.toValue(s+(m-f));if(r<t.getExtremes().min){let{min:e,max:i}=t.getExtremes();r=i-(e-r)}if(n<t.getExtremes().min){let{min:e,max:i}=t.getExtremes();n=i-(e-n)}n<r&&(n=[r,r=n][0]),(o=so(o,r,n,t)).push(["L",i[0]+e.plotLeft,e.plotTop+i[1]]),d.d=o,p="path"}}if(this.zoomVert){let t=e.inverted?e.xAxis[0]:e.yAxis[0],a=Math.sqrt(Math.pow(s-e.plotLeft-i[0],2)+Math.pow(o-e.plotTop-i[1],2)),c=Math.sqrt(Math.pow(n-e.plotLeft-i[0],2)+Math.pow(r-e.plotTop-i[1],2));if(c<a&&(a=[c,c=a][0]),c>i[2]/2&&(c=i[2]/2),a<i[3]/2&&(a=i[3]/2),this.zoomHor||(d.start=l,d.end=h),d.r=c,d.innerR=a,"polygon"===t.options.gridLineInterpolation){let e=t.toValue(t.len+t.pos-a),i=t.toValue(t.len+t.pos-c),s=t.getPlotLinePath({value:i}).concat(t.getPlotLinePath({value:e,reverse:!0}));d.d=s,p="path"}}if(this.zoomHor&&this.zoomVert&&"polygon"===c.options.gridLineInterpolation){let t=e.hoverPane.axis,i=d.start||0,s=d.end||0,o=i-t.startAngleRad+t.pos,r=t.toValue(o),n=t.toValue(o+(s-i));if(d.d instanceof Array){let t=d.d.slice(0,d.d.length/2),i=d.d.slice(d.d.length/2,d.d.length);i=[...i].reverse();let s=e.hoverPane.axis;t=so(t,r,n,s),(i=so(i,r,n,s))&&(i[0][0]="L"),i=[...i].reverse(),d.d=t.concat(i),p="path"}}t.attrs=d,t.shapeType=p}}function to(){let t=this.chart;t.polar&&(this.polar=new go(this),t.inverted&&(this.isRadialSeries=!0,this.is("column")&&(this.isRadialBar=!0)))}function eo(){if(this.chart.polar&&this.xAxis){let{xAxis:t,yAxis:e}=this,i=this.chart;this.kdByAngle=i.tooltip&&i.tooltip.shared,this.kdByAngle||i.inverted?this.searchPoint=io:this.options.findNearestPointBy="xy";let s=this.points,o=s.length;for(;o--;)this.is("column")||this.is("columnrange")||this.polar.toXY(s[o]),i.hasParallelCoordinates||this.yAxis.reversed||(js(s[o].y,Number.MIN_VALUE)<e.min||s[o].x<t.min||s[o].x>t.max?(s[o].isNull=!0,s[o].plotY=NaN):s[o].isNull=s[o].isValid&&!s[o].isValid());this.hasClipCircleSetter||(this.hasClipCircleSetter=!!this.eventsToUnbind.push(Fs(this,"afterRender",function(){let t;i.polar&&!1!==this.options.clip&&(t=this.yAxis.pane.center,this.clipCircle?this.clipCircle.animate({x:t[0],y:t[1],r:t[2]/2,innerR:t[3]/2}):this.clipCircle=function(t,e,i,s,o){let r=Us(),n=t.createElement("clipPath").attr({id:r}).add(t.defs),a=o?t.arc(e,i,s,o,0,2*Math.PI).add(n):t.circle(e,i,s).add(n);return a.id=r,a.clipPath=n,a}(i.renderer,t[0],t[1],t[2]/2,t[3]/2),this.group.clip(this.clipCircle),this.setClip=x().noop)})))}}function io(t){let e=this.chart,i=this.xAxis,s=this.yAxis,o=i.pane&&i.pane.center,r=t.chartX-(o&&o[0]||0)-e.plotLeft,n=t.chartY-(o&&o[1]||0)-e.plotTop,a=e.inverted?{clientX:t.chartX-s.pos,plotY:t.chartY-i.pos}:{clientX:180+-180/Math.PI*Math.atan2(r,n)};return this.searchKDTree(a)}function so(t,e,i,s){let o=s.tickInterval,r=s.tickPositions,n=Xs(r,t=>t>=i),a=Xs([...r].reverse(),t=>t<=e);return Hs(n)||(n=r[r.length-1]),Hs(a)||(a=r[0],n+=o,t[0][0]="L",t.unshift(t[t.length-3])),(t=t.slice(r.indexOf(a),r.indexOf(n)+1))[0][0]="M",t}function oo(t,e){return Xs(this.pane||[],t=>t.options.id===e)||t.call(this,e)}function ro(t,e,i,s,o,r){let n,a,l,h=this.chart,c=js(s.inside,!!this.options.stacking);if(h.polar){if(n=e.rectPlotX/Math.PI*180,h.inverted)this.forceDL=h.isInsidePlot(e.plotX,e.plotY),c&&e.shapeArgs?(a=e.shapeArgs,o=Ys(o,{x:(l=this.yAxis.postTranslate(((a.start||0)+(a.end||0))/2-this.xAxis.startAngleRad,e.barX+e.pointWidth/2)).x-h.plotLeft,y:l.y-h.plotTop})):e.tooltipPos&&(o=Ys(o,{x:e.tooltipPos[0],y:e.tooltipPos[1]})),s.align=js(s.align,"center"),s.verticalAlign=js(s.verticalAlign,"middle");else{var d;let t,e;null===(d=s).align&&(t=n>20&&n<160?"left":n>200&&n<340?"right":"center",d.align=t),null===d.verticalAlign&&(e=n<45||n>315?"bottom":n>135&&n<225?"top":"middle",d.verticalAlign=e),s=d}k().prototype.alignDataLabel.call(this,e,i,s,o,r),this.isRadialBar&&e.shapeArgs&&e.shapeArgs.start===e.shapeArgs.end?i.hide():i.show()}else t.call(this,e,i,s,o,r)}function no(){let t,e,i,s,o,r,n,a,l,h,c,d,p,u=this.options,g=u.stacking,f=this.chart,m=this.xAxis,b=this.yAxis,y=b.reversed,v=b.center,w=m.startAngleRad,k=m.endAngleRad-w,A=u.threshold,M=0,C=0,P=0;if(m.isRadial)for(i=(t=this.points).length,s=b.translate(b.min),o=b.translate(b.max),A=u.threshold||0,f.inverted&&Ws(A)&&Hs(M=b.translate(A))&&(M<0?M=0:M>k&&(M=k),this.translatedThreshold=M+w);i--;){if(c=(e=t[i]).barX,n=e.x,a=e.y,e.shapeType="arc",f.inverted){e.plotY=b.translate(a),g&&b.stacking?(h=b.stacking.stacks[(a<0?"-":"")+this.stackKey],this.visible&&h&&h[n]&&!e.isNull&&(l=h[n].points[this.getStackIndicator(void 0,n,this.index).key],C=b.translate(l[0]),P=b.translate(l[1]),Hs(C)&&(C=x().clamp(C,0,k)))):(C=M,P=e.plotY),C>P&&(P=[C,C=P][0]),y?P>s?P=s:C<o?C=o:(C>s||P<o)&&(C=P=k):C<s?C=s:P>o?P=o:(P<s||C>o)&&(C=P=0),b.min>b.max&&(C=P=y?k:0),C+=w,P+=w,v&&(e.barX=c+=v[3]/2),d=Math.max(c,0),p=Math.max(c+e.pointWidth,0);let t=u.borderRadius,i=_s(("object"==typeof t?t.radius:t)||0,p-d);e.shapeArgs={x:v[0],y:v[1],r:p,innerR:d,start:C,end:P,borderRadius:i},e.opacity=C===P?0:void 0,e.plotY=(Hs(this.translatedThreshold)&&(C<this.translatedThreshold?C:P))-w}else C=c+w,e.shapeArgs=this.polar.arc(e.yBottom,e.plotY,C,C+e.pointWidth),e.shapeArgs.borderRadius=0;this.polar.toXY(e),f.inverted?(r=b.postTranslate(e.rectPlotY,c+e.pointWidth/2),e.tooltipPos=[r.x-f.plotLeft,r.y-f.plotTop]):e.tooltipPos=[e.plotX,e.plotY],v&&(e.ttBelow=e.plotY>v[1])}}function ao(t,e){let i,s,o=this;if(this.chart.polar){e=e||this.points;for(let t=0;t<e.length;t++)if(!e[t].isNull){i=t;break}!1!==this.options.connectEnds&&void 0!==i&&(this.connectEnds=!0,e.splice(e.length,0,e[i]),s=!0),e.forEach(t=>{void 0===t.polarPlotY&&o.polar.toXY(t)})}let r=t.apply(this,[].slice.call(arguments,1));return s&&e.pop(),r}function lo(t,e){let i=this.chart,s={xAxis:[],yAxis:[]};return i.polar?i.axes.forEach(t=>{if("colorAxis"===t.coll)return;let o=t.isXAxis,r=t.center,n=e.chartX-r[0]-i.plotLeft,a=e.chartY-r[1]-i.plotTop;s[o?"xAxis":"yAxis"].push({axis:t,value:t.translate(o?Math.PI-Math.atan2(n,a):Math.sqrt(Math.pow(n,2)+Math.pow(a,2)),!0)})}):s=t.call(this,e),s}function ho(t,e){this.chart.polar||t.call(this,e)}function co(t,e){let i,s,o,r,n,a,l=this,h=this.chart,c=this.group,d=this.markerGroup,p=this.xAxis&&this.xAxis.center,u=h.plotLeft,g=h.plotTop,f=this.options.animation;h.polar?l.isRadialBar?e||(l.startAngleRad=js(l.translatedThreshold,l.xAxis.startAngleRad),x().seriesTypes.pie.prototype.animate.call(l,e)):(f=Rs(f),l.is("column")?e||(s=p[3]/2,l.points.forEach(t=>{o=t.graphic,n=(r=t.shapeArgs)&&r.r,a=r&&r.innerR,o&&r&&(o.attr({r:s,innerR:s}),o.animate({r:n,innerR:a},l.options.animation))})):e?(i={translateX:p[0]+u,translateY:p[1]+g,scaleX:.001,scaleY:.001},c.attr(i),d&&d.attr(i)):(i={translateX:u,translateY:g,scaleX:1,scaleY:1},c.animate(i,f),d&&d.animate(i,f))):t.call(this,e)}function po(t,e,i,s){let o,r;if(this.chart.polar)if(s){let t=(r=function t(e,i,s,o){let r,n,a,l,h,c,d=o?1:0,p=(r=i>=0&&i<=e.length-1?i:i<0?e.length-1+i:0)-1<0?e.length-(1+d):r-1,u=r+1>e.length-1?d:r+1,g=e[p],f=e[u],m=g.plotX,b=g.plotY,x=f.plotX,y=f.plotY,v=e[r].plotX,w=e[r].plotY;n=(1.5*v+m)/2.5,a=(1.5*w+b)/2.5,l=(1.5*v+x)/2.5,h=(1.5*w+y)/2.5;let k=Math.sqrt(Math.pow(n-v,2)+Math.pow(a-w,2)),A=Math.sqrt(Math.pow(l-v,2)+Math.pow(h-w,2)),M=Math.atan2(a-w,n-v);c=Math.PI/2+(M+Math.atan2(h-w,l-v))/2,Math.abs(M-c)>Math.PI/2&&(c-=Math.PI),n=v+Math.cos(c)*k,a=w+Math.sin(c)*k;let C={rightContX:l=v+Math.cos(Math.PI+c)*A,rightContY:h=w+Math.sin(Math.PI+c)*A,leftContX:n,leftContY:a,plotX:v,plotY:w};return s&&(C.prevPointCont=t(e,p,!1,o)),C}(e,s,!0,this.connectEnds)).prevPointCont&&r.prevPointCont.rightContX,i=r.prevPointCont&&r.prevPointCont.rightContY;o=["C",Ws(t)?t:r.plotX,Ws(i)?i:r.plotY,Ws(r.leftContX)?r.leftContX:r.plotX,Ws(r.leftContY)?r.leftContY:r.plotY,r.plotX,r.plotY]}else o=["M",i.plotX,i.plotY];else o=t.call(this,e,i,s);return o}function uo(t,e,i=this.plotY){if(!this.destroyed){let{plotX:s,series:o}=this,{chart:r}=o;return r.polar&&Ws(s)&&Ws(i)?[s+(e?r.plotLeft:0),i+(e?r.plotTop:0)]:t.call(this,e,i)}}class go{static compose(t,e,i,s,o,r,n,a,l,h){if(Y.compose(e,i),Bs.compose(t,o),Gs(zs,"Polar")){let t=e.prototype,o=r.prototype,c=i.prototype,d=s.prototype;if(Fs(e,"afterDrawChartBox",Ks),Fs(e,"createAxes",Zs),Fs(e,"init",$s),Vs(t,"get",oo),Vs(c,"getCoordinates",lo),Vs(c,"pinch",ho),Fs(i,"getSelectionMarkerAttrs",Qs),Fs(i,"getSelectionBox",Js),Fs(s,"afterInit",to),Fs(s,"afterTranslate",eo,{order:2}),Fs(s,"afterColumnTranslate",no,{order:4}),Vs(d,"animate",co),Vs(o,"pos",uo),a){let t=a.prototype;Vs(t,"alignDataLabel",ro),Vs(t,"animate",co)}if(l&&Vs(l.prototype,"getGraphPath",ao),h){let t=h.prototype;Vs(t,"getPointSpline",po),n&&(n.prototype.getPointSpline=t.getPointSpline)}}}constructor(t){this.series=t}arc(t,e,i,s){let o=this.series,r=o.xAxis.center,n=o.yAxis.len,a=r[3]/2,l=n-e+a,h=n-js(t,n)+a;return o.yAxis.reversed&&(l<0&&(l=a),h<0&&(h=a)),{x:r[0],y:r[1],r:l,innerR:h,start:i,end:s}}toXY(t){let e,i=this.series,s=i.chart,o=i.xAxis,r=i.yAxis,n=t.plotX,a=s.inverted,l=t.y,h=t.plotY,c=a?n:r.len-h;if(a&&i&&!i.isRadialBar&&(t.plotY=h=Ws(l)?r.translate(l):0),t.rectPlotX=n,t.rectPlotY=h,r.center&&(c+=r.center[3]/2),Ws(h)){let e=a?r.postTranslate(h,c):o.postTranslate(n,c);t.plotX=t.polarPlotX=e.x-s.plotLeft,t.plotY=t.polarPlotY=e.y-s.plotTop}i.kdByAngle?((e=(n/Math.PI*180+o.pane.options.startAngle)%360)<0&&(e+=360),t.clientX=e):t.clientX=t.plotX}}var fo=f(184),mo=f.n(fo);let{composed:bo}=x(),{addEvent:xo,objectEach:yo,pushUnique:vo}=x();!function(t){function e(){let t=this.waterfall.stacks;t&&(t.changed=!1,delete t.alreadyChanged)}function i(){let t=this.options.stackLabels;t&&t.enabled&&this.waterfall.stacks&&this.waterfall.renderStackTotals()}function s(){this.waterfall||(this.waterfall=new r(this))}function o(){let t=this.axes;for(let e of this.series)if(e.options.stacking){for(let e of t)e.isXAxis||(e.waterfall.stacks.changed=!0);break}}t.compose=function(t,r){vo(bo,"Axis.Waterfall")&&(xo(t,"init",s),xo(t,"afterBuildStacks",e),xo(t,"afterRender",i),xo(r,"beforeRedraw",o))};class r{constructor(t){this.axis=t,this.stacks={changed:!1}}renderStackTotals(){let t=this.axis,e=t.waterfall.stacks,i=t.stacking&&t.stacking.stackTotalGroup,s=new(mo())(t,t.options.stackLabels||{},!1,0,void 0);this.dummyStackItem=s,i&&yo(e,t=>{yo(t,(t,e)=>{s.total=t.stackTotal,s.x=+e,t.label&&(s.label=t.label),mo().prototype.render.call(s,i),t.label=s.label,delete s.label})}),s.total=null}}t.Composition=r}(p||(p={}));let wo=p,{isNumber:ko}=x();class Ao extends dt().prototype.pointClass{getClassName(){let t=Vt().prototype.getClassName.call(this);return this.isSum?t+=" highcharts-sum":this.isIntermediateSum&&(t+=" highcharts-intermediate-sum"),t}isValid(){return ko(this.y)||this.isSum||!!this.isIntermediateSum}}let{column:Mo,line:Co}=v().seriesTypes,{addEvent:Po,arrayMax:So,arrayMin:To,correctFloat:Eo,crisp:Lo,extend:Oo,isNumber:Do,merge:Io,objectEach:No,pick:Bo}=x();function Ro(t,e){return Object.hasOwnProperty.call(t,e)}class zo extends Mo{generatePoints(){Mo.prototype.generatePoints.apply(this);let t=this.getColumn("y",!0);for(let e=0,i=this.points.length;e<i;e++){let i=this.points[e],s=t[e];Do(s)&&(i.isIntermediateSum||i.isSum)&&(i.y=Eo(s))}}processData(t){let e,i,s,o,r,n,a=this.options,l=this.getColumn("y"),h=a.data,c=l.length,d=a.threshold||0;s=i=o=r=0;for(let t=0;t<c;t++)n=l[t],e=h?.[t]||{},"sum"===n||e.isSum?l[t]=Eo(s):"intermediateSum"===n||e.isIntermediateSum?(l[t]=Eo(i),i=0):(s+=n,i+=n),o=Math.min(s,o),r=Math.max(s,r);super.processData.call(this,t),a.stacking||(this.dataMin=o+d,this.dataMax=r)}toYData(t){return t.isSum?"sum":t.isIntermediateSum?"intermediateSum":t.y}pointAttribs(t,e){let i=this.options.upColor;i&&!t.options.color&&Do(t.y)&&(t.color=t.y>0?i:void 0);let s=Mo.prototype.pointAttribs.call(this,t,e);return delete s.dashstyle,s}getGraphPath(){return[["M",0,0]]}getCrispPath(){let t=this.data.filter(t=>Do(t.y)),e=this.yAxis,i=t.length,s=this.graph?.strokeWidth()||0,o=this.xAxis.reversed,r=this.yAxis.reversed,n=this.options.stacking,a=[];for(let l=1;l<i;l++){if(!this.options.connectNulls&&!Do(this.data[t[l].index-1].y))continue;let i=t[l].box,h=t[l-1],c=h.y||0,d=t[l-1].box;if(!i||!d)continue;let p=e.waterfall.stacks[this.stackKey],u=c>0?-d.height:0;if(p&&d&&i){let t,c=p[l-1];if(n){let i=c.connectorThreshold;t=Lo(e.translate(i,!1,!0,!1,!0)+(r?u:0),s)}else t=Lo(d.y+(h.minPointLengthOffset||0),s);a.push(["M",(d.x||0)+(o?0:d.width||0),t],["L",(i.x||0)+(o&&i.width||0),t])}if(d&&a.length&&(!n&&c<0&&!r||c>0&&r)){let t=a[a.length-2];t&&"number"==typeof t[2]&&(t[2]+=d.height||0);let e=a[a.length-1];e&&"number"==typeof e[2]&&(e[2]+=d.height||0)}}return a}drawGraph(){Co.prototype.drawGraph.call(this),this.graph&&this.graph.attr({d:this.getCrispPath()})}setStackedPoints(t){let e,i,s,o,r,n,a,l,h,c=this.options,d=t.waterfall?.stacks,p=c.threshold||0,u=this.stackKey,g=this.getColumn("x"),f=this.getColumn("y"),m=g.length,b=p,x=b,y=0,v=0,w=0,k=(t,s,o,r)=>{if(e){if(i)for(;o<i;o++)e.stackState[o]+=r;else e.stackState[0]=t,i=e.stackState.length;e.stackState.push(e.stackState[i-1]+s)}};if(t.stacking&&d&&this.reserveSpace()){h=d.changed,(l=d.alreadyChanged)&&0>l.indexOf(u)&&(h=!0),d[u]||(d[u]={});let t=d[u];if(t)for(let l=0;l<m;l++)(!t[a=g[l]]||h)&&(t[a]={negTotal:0,posTotal:0,stackTotal:0,threshold:0,stateIndex:0,stackState:[],label:h&&t[a]?t[a].label:void 0}),e=t[a],(n=f[l])>=0?e.posTotal+=n:e.negTotal+=n,r=c.data[l],s=e.absolutePos=e.posTotal,o=e.absoluteNeg=e.negTotal,e.stackTotal=s+o,i=e.stackState.length,r&&r.isIntermediateSum?(k(w,v,0,w),w=v,v=p,b^=x,x^=b,b^=x):r&&r.isSum?(k(p,y,i,0),b=p):(k(b,n,0,y),r&&(y+=n,v+=n)),e.stateIndex++,e.threshold=b,b+=e.stackTotal;d.changed=!1,d.alreadyChanged||(d.alreadyChanged=[]),d.alreadyChanged.push(u)}}getExtremes(){let t,e,i,s=this.options.stacking;return s?(t=this.yAxis.waterfall.stacks,e=this.stackedYNeg=[],i=this.stackedYPos=[],No(t[this.stackKey],"overlap"===s?function(t){e.push(To(t.stackState)),i.push(So(t.stackState))}:function(t){e.push(t.negTotal+t.threshold),i.push(t.posTotal+t.threshold)}),{dataMin:To(e),dataMax:So(i)}):{dataMin:this.dataMin,dataMax:this.dataMax}}}zo.defaultOptions=Io(Mo.defaultOptions,{dataLabels:{inside:!0},lineWidth:1,lineColor:"#333333",dashStyle:"Dot",borderColor:"#333333",states:{hover:{lineWidthPlus:0}}}),zo.compose=wo.compose,Oo(zo.prototype,{pointValKey:"y",showLine:!0,pointClass:Ao}),Po(zo,"afterColumnTranslate",function(){let t,e,i,s,{options:o,points:r,yAxis:n}=this,a=Bo(o.minPointLength,5),l=a/2,h=o.threshold||0,c=o.stacking,d=n.waterfall.stacks[this.stackKey],p=this.getColumn("y",!0),u=h,g=h;for(let o=0;o<r.length;o++){let f=r[o],m=p[o],b=Oo({x:0,y:0,width:0,height:0},f.shapeArgs||{});f.box=b;let x=[0,m],y=f.y||0;if(c){if(d){let r=d[o];"overlap"===c?(e=r.stackState[r.stateIndex--],t=y>=0?e:e-y,Ro(r,"absolutePos")&&delete r.absolutePos,Ro(r,"absoluteNeg")&&delete r.absoluteNeg):(y>=0?(e=r.threshold+r.posTotal,r.posTotal-=y,t=e):(e=r.threshold+r.negTotal,r.negTotal-=y,t=e-y),!r.posTotal&&Do(r.absolutePos)&&Ro(r,"absolutePos")&&(r.posTotal=r.absolutePos,delete r.absolutePos),!r.negTotal&&Do(r.absoluteNeg)&&Ro(r,"absoluteNeg")&&(r.negTotal=r.absoluteNeg,delete r.absoluteNeg)),f.isSum||(r.connectorThreshold=r.threshold+r.stackTotal),n.reversed?(i=y>=0?t-y:t+y,s=t):(i=t,s=t-y),f.below=i<=h,b.y=n.translate(i,!1,!0,!1,!0),b.height=Math.abs(b.y-n.translate(s,!1,!0,!1,!0));let a=n.waterfall.dummyStackItem;a&&(a.x=o,a.label=d[o].label,a.setOffset(this.pointXOffset||0,this.barW||0,this.stackedYNeg[o],this.stackedYPos[o],void 0,this.xAxis))}}else t=Math.max(g,g+y)+x[0],b.y=n.translate(t,!1,!0,!1,!0),f.isSum?(b.y=n.translate(x[1],!1,!0,!1,!0),b.height=Math.min(n.translate(x[0],!1,!0,!1,!0),n.len)-b.y,f.below=x[1]<=h):f.isIntermediateSum?(y>=0?(i=x[1]+u,s=u):(i=u,s=x[1]+u),n.reversed&&(i^=s,s^=i,i^=s),b.y=n.translate(i,!1,!0,!1,!0),b.height=Math.abs(b.y-Math.min(n.translate(s,!1,!0,!1,!0),n.len)),u+=x[1],f.below=i<=h):(b.height=m>0?n.translate(g,!1,!0,!1,!0)-b.y:n.translate(g,!1,!0,!1,!0)-n.translate(g-m,!1,!0,!1,!0),g+=m,f.below=g<h),b.height<0&&(b.y+=b.height,b.height*=-1);f.plotY=b.y,f.yBottom=b.y+b.height,b.height<=a&&!f.isNull?(b.height=a,b.y-=l,f.yBottom=b.y+b.height,f.plotY=b.y,f.minPointLengthOffset=y<0?-l:l):(f.isNull&&(b.width=0),f.minPointLengthOffset=0);let v=f.plotY+(f.negative?b.height:0);f.below&&(f.plotY+=b.height),f.tooltipPos&&(this.chart.inverted?f.tooltipPos[0]=n.len-v:f.tooltipPos[1]=v),f.isInside=this.isPointInside(f);let w=Lo(f.yBottom,this.borderWidth);b.y=Lo(b.y,this.borderWidth),b.height=w-b.y,Io(!0,f.shapeArgs,b)}},{order:2}),v().registerSeriesType("waterfall",zo);let Fo=x();Fo.RadialAxis=Bs,fe.compose(Fo.Axis,Fo.Chart,Fo.Legend),ps.compose(Fo.Axis,Fo.Chart,Fo.Legend),Y.compose(Fo.Chart,Fo.Pointer),go.compose(Fo.Axis,Fo.Chart,Fo.Pointer,Fo.Series,Fo.Tick,Fo.Point,v().seriesTypes.areasplinerange,v().seriesTypes.column,v().seriesTypes.line,v().seriesTypes.spline),zo.compose(Fo.Axis,Fo.Chart);let Ho=Fo;return m.default})(),"object"==typeof i&&"object"==typeof e?e.exports=o(s._Highcharts,s._Highcharts.SeriesRegistry,s._Highcharts.Series,s._Highcharts.Series.types.column,s._Highcharts.Color,s._Highcharts.Templating,s._Highcharts.Point,s._Highcharts.Chart,s._Highcharts.SVGElement,s._Highcharts.StackItem):"function"==typeof define&&define.amd?define("highcharts/highcharts-more",["highcharts/highcharts"],function(t){return o(t,t.SeriesRegistry,t.Series,t.Series,["types"],["column"],t.Color,t.Templating,t.Point,t.Chart,t.SVGElement,t.StackItem)}):"object"==typeof i?i["highcharts/highcharts-more"]=o(s._Highcharts,s._Highcharts.SeriesRegistry,s._Highcharts.Series,s._Highcharts.Series.types.column,s._Highcharts.Color,s._Highcharts.Templating,s._Highcharts.Point,s._Highcharts.Chart,s._Highcharts.SVGElement,s._Highcharts.StackItem):s.Highcharts=o(s.Highcharts,s.Highcharts.SeriesRegistry,s.Highcharts.Series,s.Highcharts.Series.types.column,s.Highcharts.Color,s.Highcharts.Templating,s.Highcharts.Point,s.Highcharts.Chart,s.Highcharts.SVGElement,s.Highcharts.StackItem)},{}],27:[function(t,e,i){var s,o;s="undefined"==typeof window?this:window,o=()=>(()=>{"use strict";let t,e;var i,s,o,r,n,a,l,h,c,d,p,u,g,f,m,b,x,y={d:(t,e)=>{for(var i in e)y.o(e,i)&&!y.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:e[i]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e)},v={};y.d(v,{default:()=>td}),function(t){t.SVG_NS="http://www.w3.org/2000/svg",t.product="Highcharts",t.version="12.1.2",t.win="undefined"!=typeof window?window:{},t.doc=t.win.document,t.svg=t.doc&&t.doc.createElementNS&&!!t.doc.createElementNS(t.SVG_NS,"svg").createSVGRect,t.pageLang=t.doc?.documentElement?.closest("[lang]")?.lang,t.userAgent=t.win.navigator&&t.win.navigator.userAgent||"",t.isChrome=t.win.chrome,t.isFirefox=-1!==t.userAgent.indexOf("Firefox"),t.isMS=/(edge|msie|trident)/i.test(t.userAgent)&&!t.win.opera,t.isSafari=!t.isChrome&&-1!==t.userAgent.indexOf("Safari"),t.isTouchDevice=/(Mobile|Android|Windows Phone)/.test(t.userAgent),t.isWebKit=-1!==t.userAgent.indexOf("AppleWebKit"),t.deg2rad=2*Math.PI/360,t.marginNames=["plotTop","marginRight","marginBottom","plotLeft"],t.noop=function(){},t.supportsPassiveEvents=function(){let e=!1;if(!t.isMS){let i=Object.defineProperty({},"passive",{get:function(){e=!0}});t.win.addEventListener&&t.win.removeEventListener&&(t.win.addEventListener("testPassive",t.noop,i),t.win.removeEventListener("testPassive",t.noop,i))}return e}(),t.charts=[],t.composed=[],t.dateFormats={},t.seriesTypes={},t.symbolSizes={},t.chartCount=0}(i||(i={}));let w=i,{charts:k,doc:A,win:M}=w;function C(t,e,i,s){let o=e?"Highcharts error":"Highcharts warning";32===t&&(t=`${o}: Deprecated member`);let r=D(t),n=r?`${o} #${t}: www.highcharts.com/errors/${t}/`:t.toString();if(void 0!==s){let t="";r&&(n+="?"),Y(s,function(e,i){t+=`\n - ${i}: ${e}`,r&&(n+=encodeURI(i)+"="+encodeURI(e))}),n+=t}G(w,"displayError",{chart:i,code:t,message:n,params:s},function(){if(e)throw Error(n);M.console&&C.messages.indexOf(n)}),C.messages.push(n)}function P(t,e){return parseInt(t,e||10)}function S(t){return"string"==typeof t}function T(t){let e=Object.prototype.toString.call(t);return"[object Array]"===e||"[object Array Iterator]"===e}function E(t,e){return!(!t||"object"!=typeof t||e&&T(t))}function L(t){return E(t)&&"number"==typeof t.nodeType}function O(t){let e=t&&t.constructor;return!(!E(t,!0)||L(t)||!e||!e.name||"Object"===e.name)}function D(t){return"number"==typeof t&&!isNaN(t)&&t<1/0&&t>-1/0}function I(t){return null!=t}function N(t,e,i){let s,o=S(e)&&!I(i),r=(e,i)=>{I(e)?t.setAttribute(i,e):o?(s=t.getAttribute(i))||"class"!==i||(s=t.getAttribute(i+"Name")):t.removeAttribute(i)};return S(e)?r(i,e):Y(e,r),s}function B(t){return T(t)?t:[t]}function R(t,e){let i;for(i in t||(t={}),e)t[i]=e[i];return t}function z(){let t=arguments,e=t.length;for(let i=0;i<e;i++){let e=t[i];if(null!=e)return e}}function F(t,e){R(t.style,e)}function H(t){return Math.pow(10,Math.floor(Math.log(t)/Math.LN10))}function X(t,e){return t>1e14?t:parseFloat(t.toPrecision(e||14))}(C||(C={})).messages=[],Math.easeInOutSine=function(t){return-.5*(Math.cos(Math.PI*t)-1)};let W=Array.prototype.find?function(t,e){return t.find(e)}:function(t,e){let i,s=t.length;for(i=0;i<s;i++)if(e(t[i],i))return t[i]};function Y(t,e,i){for(let s in t)Object.hasOwnProperty.call(t,s)&&e.call(i||t[s],t[s],s,t)}function j(t,e,i){function s(e,i){let s=t.removeEventListener;s&&s.call(t,e,i,!1)}function o(i){let o,r;t.nodeName&&(e?(o={})[e]=!0:o=i,Y(o,function(t,e){if(i[e])for(r=i[e].length;r--;)s(e,i[e][r].fn)}))}let r="function"==typeof t&&t.prototype||t;if(Object.hasOwnProperty.call(r,"hcEvents")){let t=r.hcEvents;if(e){let r=t[e]||[];i?(t[e]=r.filter(function(t){return i!==t.fn}),s(e,i)):(o(t),t[e]=[])}else o(t),delete r.hcEvents}}function G(t,e,i,s){if(i=i||{},A.createEvent&&(t.dispatchEvent||t.fireEvent&&t!==w)){let s=A.createEvent("Events");s.initEvent(e,!0,!0),i=R(s,i),t.dispatchEvent?t.dispatchEvent(i):t.fireEvent(e,i)}else if(t.hcEvents){i.target||R(i,{preventDefault:function(){i.defaultPrevented=!0},target:t,type:e});let s=[],o=t,r=!1;for(;o.hcEvents;)Object.hasOwnProperty.call(o,"hcEvents")&&o.hcEvents[e]&&(s.length&&(r=!0),s.unshift.apply(s,o.hcEvents[e])),o=Object.getPrototypeOf(o);r&&s.sort((t,e)=>t.order-e.order),s.forEach(e=>{!1===e.fn.call(t,i)&&i.preventDefault()})}s&&!i.defaultPrevented&&s.call(t,i)}let _=function(){let e=Math.random().toString(36).substring(2,9)+"-",i=0;return function(){return"highcharts-"+(t?"":e)+i++}}();M.jQuery&&(M.jQuery.fn.highcharts=function(){let t=[].slice.call(arguments);if(this[0])return t[0]?(new(w[S(t[0])?t.shift():"Chart"])(this[0],t[0],t[1]),this):k[N(this[0],"data-highcharts-chart")]});let q={addEvent:function(t,e,i,s={}){let o="function"==typeof t&&t.prototype||t;Object.hasOwnProperty.call(o,"hcEvents")||(o.hcEvents={});let r=o.hcEvents;w.Point&&t instanceof w.Point&&t.series&&t.series.chart&&(t.series.chart.runTrackerClick=!0);let n=t.addEventListener;n&&n.call(t,e,i,!!w.supportsPassiveEvents&&{passive:void 0===s.passive?-1!==e.indexOf("touch"):s.passive,capture:!1}),r[e]||(r[e]=[]);let a={fn:i,order:"number"==typeof s.order?s.order:1/0};return r[e].push(a),r[e].sort((t,e)=>t.order-e.order),function(){j(t,e,i)}},arrayMax:function(t){let e=t.length,i=t[0];for(;e--;)t[e]>i&&(i=t[e]);return i},arrayMin:function(t){let e=t.length,i=t[0];for(;e--;)t[e]<i&&(i=t[e]);return i},attr:N,clamp:function(t,e,i){return t>e?t<i?t:i:e},clearTimeout:function(t){I(t)&&clearTimeout(t)},correctFloat:X,createElement:function(t,e,i,s,o){let r=A.createElement(t);return e&&R(r,e),o&&F(r,{padding:"0",border:"none",margin:"0"}),i&&F(r,i),s&&s.appendChild(r),r},crisp:function(t,e=0,i){let s=e%2/2,o=i?-1:1;return(Math.round(t*o-s)+s)*o},css:F,defined:I,destroyObjectProperties:function(t,e,i){Y(t,function(s,o){s!==e&&s?.destroy&&s.destroy(),(s?.destroy||!i)&&delete t[o]})},diffObjects:function(t,e,i,s){let o={};return function t(e,o,r,n){let a=i?o:e;Y(e,function(i,l){if(!n&&s&&s.indexOf(l)>-1&&o[l]){i=B(i),r[l]=[];for(let e=0;e<Math.max(i.length,o[l].length);e++)o[l][e]&&(void 0===i[e]?r[l][e]=o[l][e]:(r[l][e]={},t(i[e],o[l][e],r[l][e],n+1)))}else E(i,!0)&&!i.nodeType?(r[l]=T(i)?[]:{},t(i,o[l]||{},r[l],n+1),0!==Object.keys(r[l]).length||"colorAxis"===l&&0===n||delete r[l]):(e[l]!==o[l]||l in e&&!(l in o))&&"__proto__"!==l&&"constructor"!==l&&(r[l]=a[l])})}(t,e,o,0),o},discardElement:function(t){t&&t.parentElement&&t.parentElement.removeChild(t)},erase:function(t,e){let i=t.length;for(;i--;)if(t[i]===e){t.splice(i,1);break}},error:C,extend:R,extendClass:function(t,e){let i=function(){};return R(i.prototype=new t,e),i},find:W,fireEvent:G,getAlignFactor:(t="")=>({center:.5,right:1,middle:.5,bottom:1}[t]||0),getClosestDistance:function(t,e){let i,s,o,r,n=!e;return t.forEach(t=>{if(t.length>1)for(r=s=t.length-1;r>0;r--)(o=t[r]-t[r-1])<0&&!n?(e?.(),e=void 0):o&&(void 0===i||o<i)&&(i=o)}),i},getMagnitude:H,getNestedProperty:function(t,e){let i=t.split(".");for(;i.length&&I(e);){let t=i.shift();if(void 0===t||"__proto__"===t)return;if("this"===t){let t;return E(e)&&(t=e["@this"]),t??e}let s=e[t.replace(/[\\'"]/g,"")];if(!I(s)||"function"==typeof s||"number"==typeof s.nodeType||s===M)return;e=s}return e},getStyle:function t(e,i,s){let o;if("width"===i){let i=Math.min(e.offsetWidth,e.scrollWidth),s=e.getBoundingClientRect&&e.getBoundingClientRect().width;return s<i&&s>=i-1&&(i=Math.floor(s)),Math.max(0,i-(t(e,"padding-left",!0)||0)-(t(e,"padding-right",!0)||0))}if("height"===i)return Math.max(0,Math.min(e.offsetHeight,e.scrollHeight)-(t(e,"padding-top",!0)||0)-(t(e,"padding-bottom",!0)||0));let r=M.getComputedStyle(e,void 0);return r&&(o=r.getPropertyValue(i),z(s,"opacity"!==i)&&(o=P(o))),o},insertItem:function(t,e){let i,s=t.options.index,o=e.length;for(i=t.options.isInternal?o:0;i<o+1;i++)if(!e[i]||D(s)&&s<z(e[i].options.index,e[i]._i)||e[i].options.isInternal){e.splice(i,0,t);break}return i},isArray:T,isClass:O,isDOMElement:L,isFunction:function(t){return"function"==typeof t},isNumber:D,isObject:E,isString:S,merge:function(t,...e){let i,s=[t,...e],o={},r=function(t,e){return"object"!=typeof t&&(t={}),Y(e,function(i,s){"__proto__"!==s&&"constructor"!==s&&(!E(i,!0)||O(i)||L(i)?t[s]=e[s]:t[s]=r(t[s]||{},i))}),t};!0===t&&(o=s[1],s=Array.prototype.slice.call(s,2));let n=s.length;for(i=0;i<n;i++)o=r(o,s[i]);return o},normalizeTickInterval:function(t,e,i,s,o){let r,n=t,a=t/(i=z(i,H(t)));for(!e&&(e=o?[1,1.2,1.5,2,2.5,3,4,5,6,8,10]:[1,2,2.5,5,10],!1===s&&(1===i?e=e.filter(function(t){return t%1==0}):i<=.1&&(e=[1/i]))),r=0;r<e.length&&(n=e[r],(!o||!(n*i>=t))&&(o||!(a<=(e[r]+(e[r+1]||e[r]))/2)));r++);return X(n*i,-Math.round(Math.log(.001)/Math.LN10))},objectEach:Y,offset:function(t){let e=A.documentElement,i=t.parentElement||t.parentNode?t.getBoundingClientRect():{top:0,left:0,width:0,height:0};return{top:i.top+(M.pageYOffset||e.scrollTop)-(e.clientTop||0),left:i.left+(M.pageXOffset||e.scrollLeft)-(e.clientLeft||0),width:i.width,height:i.height}},pad:function(t,e,i){return Array((e||2)+1-String(t).replace("-","").length).join(i||"0")+t},pick:z,pInt:P,pushUnique:function(t,e){return 0>t.indexOf(e)&&!!t.push(e)},relativeLength:function(t,e,i){return/%$/.test(t)?e*parseFloat(t)/100+(i||0):parseFloat(t)},removeEvent:j,replaceNested:function(t,...e){let i,s;do{for(s of(i=t,e))t=t.replace(s[0],s[1])}while(t!==i);return t},splat:B,stableSort:function(t,e){let i,s,o=t.length;for(s=0;s<o;s++)t[s].safeI=s;for(t.sort(function(t,s){return 0===(i=e(t,s))?t.safeI-s.safeI:i}),s=0;s<o;s++)delete t[s].safeI},syncTimeout:function(t,e,i){return e>0?setTimeout(t,e,i):(t.call(0,i),-1)},timeUnits:{millisecond:1,second:1e3,minute:6e4,hour:36e5,day:864e5,week:6048e5,month:24192e5,year:314496e5},ucfirst:function(t){return S(t)?t.substring(0,1).toUpperCase()+t.substring(1):String(t)},uniqueKey:_,useSerialIds:function(e){return t=z(e,t)},wrap:function(t,e,i){let s=t[e];t[e]=function(){let t=arguments,e=this;return i.apply(this,[function(){return s.apply(e,arguments.length?arguments:t)}].concat([].slice.call(arguments)))}}},{pageLang:U,win:V}=w,{defined:K,error:$,extend:Z,isNumber:J,isObject:Q,isString:tt,merge:et,objectEach:it,pad:st,splat:ot,timeUnits:rt,ucfirst:nt}=q,at=w.isSafari&&V.Intl&&!V.Intl.DateTimeFormat.prototype.formatRange,lt=t=>["D","L","M","X","J","V","S"].indexOf(t),ht=class{constructor(t){this.options={timezone:"UTC"},this.variableTimezone=!1,this.Date=V.Date,this.update(t)}update(t={}){this.dTLCache={},this.options=t=et(!0,this.options,t);let{timezoneOffset:e,useUTC:i}=t;this.Date=t.Date||V.Date||Date;let s=t.timezone;K(i)&&(s=i?"UTC":void 0),e&&e%60==0&&(s="Etc/GMT"+(e>0?"+":"")+e/60),this.variableTimezone="UTC"!==s&&0!==s?.indexOf("Etc/GMT"),this.timezone=s,["months","shortMonths","weekdays","shortWeekdays"].forEach(t=>{let e=/months/i.test(t),i=/short/.test(t),s={timeZone:"UTC"};s[e?"month":"weekday"]=i?"short":"long",this[t]=(e?[0,1,2,3,4,5,6,7,8,9,10,11]:[3,4,5,6,7,8,9]).map(t=>this.dateFormat(s,24*(e?31:1)*36e5*t))})}toParts(t){let[e,i,s,o,r,n,a]=this.dateTimeFormat({weekday:"narrow",day:"numeric",month:"numeric",year:"numeric",hour:"numeric",minute:"numeric",second:"numeric"},t,"es").split(/(?:, |\/|:)/g);return[o,+s-1,i,r,n,a,Math.floor(Number(t)||0)%1e3,lt(e)].map(Number)}dateTimeFormat(t,e,i=this.options.locale||U){let s=JSON.stringify(t)+i;tt(t)&&(t=this.str2dtf(t));let o=this.dTLCache[s];if(!o){t.timeZone??(t.timeZone=this.timezone);try{o=new Intl.DateTimeFormat(i,t)}catch(e){/Invalid time zone/i.test(e.message)?($(34),t.timeZone="UTC",o=new Intl.DateTimeFormat(i,t)):$(e.message,!1)}}return this.dTLCache[s]=o,o?.format(e)||""}str2dtf(t,e={}){let i={L:{fractionalSecondDigits:3},S:{second:"2-digit"},M:{minute:"numeric"},H:{hour:"2-digit"},k:{hour:"numeric"},E:{weekday:"narrow"},a:{weekday:"short"},A:{weekday:"long"},d:{day:"2-digit"},e:{day:"numeric"},b:{month:"short"},B:{month:"long"},m:{month:"2-digit"},o:{month:"numeric"},y:{year:"2-digit"},Y:{year:"numeric"}};return Object.keys(i).forEach(s=>{-1!==t.indexOf(s)&&Z(e,i[s])}),e}makeTime(t,e,i=1,s=0,o,r,n){let a=this.Date.UTC(t,e,i,s,o||0,r||0,n||0);if("UTC"!==this.timezone){let t=this.getTimezoneOffset(a);if(a+=t,-1!==[2,3,8,9,10,11].indexOf(e)&&(s<5||s>20)){let e=this.getTimezoneOffset(a);t!==e?a+=e-t:t-36e5!==this.getTimezoneOffset(a-36e5)||at||(a-=36e5)}}return a}parse(t){if(!tt(t))return t??void 0;let e=(t=t.replace(/\//g,"-").replace(/(GMT|UTC)/,"")).indexOf("Z")>-1||/([+-][0-9]{2}):?[0-9]{2}$/.test(t),i=/^[0-9]{4}-[0-9]{2}-[0-9]{2}$/.test(t);e||i||(t+="Z");let s=Date.parse(t);return J(s)?s+(!e||i?this.getTimezoneOffset(s):0):void 0}getTimezoneOffset(t){if("UTC"!==this.timezone){let[e,i,s,o,r=0]=this.dateTimeFormat({timeZoneName:"shortOffset"},t,"en").split(/(GMT|:)/).map(Number),n=-36e5*(s+r/60);if(J(n))return n}return 0}dateFormat(t,e,i){let s=w.defaultOptions?.lang;if(!K(e)||isNaN(e))return s?.invalidDate||"";if(tt(t=t??"%Y-%m-%d %H:%M:%S")){let i,s=/%\[([a-zA-Z]+)\]/g;for(;i=s.exec(t);)t=t.replace(i[0],this.dateTimeFormat(i[1],e))}if(tt(t)&&-1!==t.indexOf("%")){let i=this,[o,r,n,a,l,h,c,d]=this.toParts(e),p=s?.weekdays||this.weekdays,u=s?.shortWeekdays||this.shortWeekdays,g=s?.months||this.months,f=s?.shortMonths||this.shortMonths;it(Z({a:u?u[d]:p[d].substr(0,3),A:p[d],d:st(n),e:st(n,2," "),w:d,b:f[r],B:g[r],m:st(r+1),o:r+1,y:o.toString().substr(2,2),Y:o,H:st(a),k:a,I:st(a%12||12),l:a%12||12,M:st(l),p:a<12?"AM":"PM",P:a<12?"am":"pm",S:st(h),L:st(c,3)},w.dateFormats),function(s,o){if(tt(t))for(;-1!==t.indexOf("%"+o);)t=t.replace("%"+o,"function"==typeof s?s.call(i,e):s)})}else if(Q(t)){let i=(this.getTimezoneOffset(e)||0)/36e5,s=this.timezone||"Etc/GMT"+(i>=0?"+":"")+i,{prefix:o="",suffix:r=""}=t;t=o+this.dateTimeFormat(Z({timeZone:s},t),e)+r}return i?nt(t):t}resolveDTLFormat(t){return Q(t,!0)?Q(t,!0)&&(t=>void 0===t.main)(t)?{main:t}:t:{main:(t=ot(t))[0],from:t[1],to:t[2]}}getTimeTicks(t,e,i,s){let o,r=this,n=[],a={},{count:l=1,unitRange:h}=t,[c,d,p,u,g,f]=r.toParts(e),m=(e||0)%1e3;if(s??(s=1),K(e)){if(m=h>=rt.second?0:l*Math.floor(m/l),h>=rt.second&&(f=h>=rt.minute?0:l*Math.floor(f/l)),h>=rt.minute&&(g=h>=rt.hour?0:l*Math.floor(g/l)),h>=rt.hour&&(u=h>=rt.day?0:l*Math.floor(u/l)),h>=rt.day&&(p=h>=rt.month?1:Math.max(1,l*Math.floor(p/l))),h>=rt.month&&(d=h>=rt.year?0:l*Math.floor(d/l)),h>=rt.year&&(c-=c%l),h===rt.week){l&&(e=r.makeTime(c,d,p,u,g,f,m));let t=lt(this.dateTimeFormat({timeZone:this.timezone,weekday:"narrow"},e,"es"));p+=-t+s+(t<s?-7:0)}e=r.makeTime(c,d,p,u,g,f,m),r.variableTimezone&&K(i)&&(o=i-e>4*rt.month||r.getTimezoneOffset(e)!==r.getTimezoneOffset(i));let t=e,b=1;for(;t<i;)n.push(t),h===rt.year?t=r.makeTime(c+b*l,0):h===rt.month?t=r.makeTime(c,d+b*l):!o||h!==rt.day&&h!==rt.week?o&&h===rt.hour&&l>1?t=r.makeTime(c,d,p,u+b*l):t+=h*l:t=r.makeTime(c,d,p+b*l*(h===rt.day?1:7)),b++;n.push(t),h<=rt.hour&&n.length<1e4&&n.forEach(t=>{t%18e5==0&&"000000000"===r.dateFormat("%H%M%S%L",t)&&(a[t]="day")})}return n.info=Z(t,{higherRanks:a,totalRange:h*l}),n}getDateFormat(t,e,i,s){let o=this.dateFormat("%m-%d %H:%M:%S.%L",e),r="01-01 00:00:00.000",n={millisecond:15,second:12,minute:9,hour:6,day:3},a="millisecond",l=a;for(a in rt){if(t===rt.week&&+this.dateFormat("%w",e)===i&&o.substr(6)===r.substr(6)){a="week";break}if(rt[a]>t){a=l;break}if(n[a]&&o.substr(n[a])!==r.substr(n[a]))break;"week"!==a&&(l=a)}return this.resolveDTLFormat(s[a]).main}},{isTouchDevice:ct}=w,{fireEvent:dt,merge:pt}=q,ut={colors:["#2caffe","#544fc5","#00e272","#fe6a35","#6b8abc","#d568fb","#2ee0ca","#fa4b42","#feb56a","#91e8e1"],symbols:["circle","diamond","square","triangle","triangle-down"],lang:{locale:void 0,loading:"Loading...",months:void 0,shortMonths:void 0,weekdays:void 0,numericSymbols:["k","M","G","T","P","E"],resetZoom:"Reset zoom",resetZoomTitle:"Reset zoom level 1:1"},global:{buttonTheme:{fill:"#f7f7f7",padding:8,r:2,stroke:"#cccccc","stroke-width":1,style:{color:"#333333",cursor:"pointer",fontSize:"0.8em",fontWeight:"normal"},states:{hover:{fill:"#e6e6e6"},select:{fill:"#e6e9ff",style:{color:"#000000",fontWeight:"bold"}},disabled:{style:{color:"#cccccc"}}}}},time:{Date:void 0,timezone:"UTC",timezoneOffset:0,useUTC:void 0},chart:{alignThresholds:!1,panning:{enabled:!1,type:"x"},styledMode:!1,borderRadius:0,colorCount:10,allowMutatingData:!0,ignoreHiddenSeries:!0,spacing:[10,10,15,10],resetZoomButton:{theme:{},position:{}},reflow:!0,type:"line",zooming:{singleTouch:!1,resetButton:{theme:{zIndex:6},position:{align:"right",x:-10,y:10}}},width:null,height:null,borderColor:"#334eff",backgroundColor:"#ffffff",plotBorderColor:"#cccccc"},title:{style:{color:"#333333",fontWeight:"bold"},text:"Chart title",margin:15,minScale:.67},subtitle:{style:{color:"#666666",fontSize:"0.8em"},text:""},caption:{margin:15,style:{color:"#666666",fontSize:"0.8em"},text:"",align:"left",verticalAlign:"bottom"},plotOptions:{},legend:{enabled:!0,align:"center",alignColumns:!0,className:"highcharts-no-tooltip",events:{},layout:"horizontal",itemMarginBottom:2,itemMarginTop:2,labelFormatter:function(){return this.name},borderColor:"#999999",borderRadius:0,navigation:{style:{fontSize:"0.8em"},activeColor:"#0022ff",inactiveColor:"#cccccc"},itemStyle:{color:"#333333",cursor:"pointer",fontSize:"0.8em",textDecoration:"none",textOverflow:"ellipsis"},itemHoverStyle:{color:"#000000"},itemHiddenStyle:{color:"#666666",textDecoration:"line-through"},shadow:!1,itemCheckboxStyle:{position:"absolute",width:"13px",height:"13px"},squareSymbol:!0,symbolPadding:5,verticalAlign:"bottom",x:0,y:0,title:{style:{fontSize:"0.8em",fontWeight:"bold"}}},loading:{labelStyle:{fontWeight:"bold",position:"relative",top:"45%"},style:{position:"absolute",backgroundColor:"#ffffff",opacity:.5,textAlign:"center"}},tooltip:{enabled:!0,animation:{duration:300,easing:t=>Math.sqrt(1-Math.pow(t-1,2))},borderRadius:3,dateTimeLabelFormats:{millisecond:"%[AebHMSL]",second:"%[AebHMS]",minute:"%[AebHM]",hour:"%[AebHM]",day:"%[AebY]",week:"Week from %[AebY]",month:"%[BY]",year:"%Y"},footerFormat:"",headerShape:"callout",hideDelay:500,padding:8,shape:"callout",shared:!1,snap:ct?25:10,headerFormat:'<span style="font-size: 0.8em">{ucfirst point.key}</span><br/>',pointFormat:'<span style="color:{point.color}">●</span> {series.name}: <b>{point.y}</b><br/>',backgroundColor:"#ffffff",borderWidth:void 0,shadow:!0,stickOnContact:!1,style:{color:"#333333",cursor:"default",fontSize:"0.8em"},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:"0.6em"},text:"Highcharts.com"}},gt=new ht(ut.time),ft={defaultOptions:ut,defaultTime:gt,getOptions:function(){return ut},setOptions:function(t){return dt(w,"setOptions",{options:t}),pt(!0,ut,t),t.time&>.update(ut.time),t.lang&&"locale"in t.lang&>.update({locale:t.lang.locale}),ut}},{isNumber:mt,merge:bt,pInt:xt,defined:yt}=q;class vt{static parse(t){return t?new vt(t):vt.None}constructor(t){let e,i,s,o;this.rgba=[NaN,NaN,NaN,NaN],this.input=t;let r=w.Color;if(r&&r!==vt)return new r(t);if("object"==typeof t&&void 0!==t.stops)this.stops=t.stops.map(t=>new vt(t[1]));else if("string"==typeof t)for(this.input=t=vt.names[t.toLowerCase()]||t,s=vt.parsers.length;s--&&!i;)(e=(o=vt.parsers[s]).regex.exec(t))&&(i=o.parse(e));i&&(this.rgba=i)}get(t){let e=this.input,i=this.rgba;if("object"==typeof e&&void 0!==this.stops){let i=bt(e);return i.stops=[].slice.call(i.stops),this.stops.forEach((e,s)=>{i.stops[s]=[i.stops[s][0],e.get(t)]}),i}return i&&mt(i[0])?"rgb"===t||!t&&1===i[3]?"rgb("+i[0]+","+i[1]+","+i[2]+")":"a"===t?`${i[3]}`:"rgba("+i.join(",")+")":e}brighten(t){let e=this.rgba;if(this.stops)this.stops.forEach(function(e){e.brighten(t)});else if(mt(t)&&0!==t)for(let i=0;i<3;i++)e[i]+=xt(255*t),e[i]<0&&(e[i]=0),e[i]>255&&(e[i]=255);return this}setOpacity(t){return this.rgba[3]=t,this}tweenTo(t,e){let i=this.rgba,s=t.rgba;if(!mt(i[0])||!mt(s[0]))return t.input||"none";let o=1!==s[3]||1!==i[3],r=(t,s)=>t+(i[s]-t)*(1-e),n=s.slice(0,3).map(r).map(Math.round);return o&&n.push(r(s[3],3)),(o?"rgba(":"rgb(")+n.join(",")+")"}}vt.names={white:"#ffffff",black:"#000000"},vt.parsers=[{regex:/rgba\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d?(?:\.\d+)?)\s*\)/,parse:function(t){return[xt(t[1]),xt(t[2]),xt(t[3]),parseFloat(t[4],10)]}},{regex:/rgb\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*\)/,parse:function(t){return[xt(t[1]),xt(t[2]),xt(t[3]),1]}},{regex:/^#([a-f0-9])([a-f0-9])([a-f0-9])([a-f0-9])?$/i,parse:function(t){return[xt(t[1]+t[1],16),xt(t[2]+t[2],16),xt(t[3]+t[3],16),yt(t[4])?xt(t[4]+t[4],16)/255:1]}},{regex:/^#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})?$/i,parse:function(t){return[xt(t[1],16),xt(t[2],16),xt(t[3],16),yt(t[4])?xt(t[4],16)/255:1]}}],vt.None=new vt("");let{parse:wt}=vt,{win:kt}=w,{isNumber:At,objectEach:Mt}=q;class Ct{constructor(t,e,i){this.pos=NaN,this.options=e,this.elem=t,this.prop=i}dSetter(){let t=this.paths,e=t&&t[0],i=t&&t[1],s=this.now||0,o=[];if(1!==s&&e&&i)if(e.length===i.length&&s<1)for(let t=0;t<i.length;t++){let r=e[t],n=i[t],a=[];for(let t=0;t<n.length;t++){let e=r[t],i=n[t];At(e)&&At(i)&&("A"!==n[0]||4!==t&&5!==t)?a[t]=e+s*(i-e):a[t]=i}o.push(a)}else o=i;else o=this.toD||[];this.elem.attr("d",o,void 0,!0)}update(){let t=this.elem,e=this.prop,i=this.now,s=this.options.step;this[e+"Setter"]?this[e+"Setter"]():t.attr?t.element&&t.attr(e,i,null,!0):t.style[e]=i+this.unit,s&&s.call(t,i,this)}run(t,e,i){let s=this,o=s.options,r=function(t){return!r.stopped&&s.step(t)},n=kt.requestAnimationFrame||function(t){setTimeout(t,13)},a=function(){for(let t=0;t<Ct.timers.length;t++)Ct.timers[t]()||Ct.timers.splice(t--,1);Ct.timers.length&&n(a)};t!==e||this.elem["forceAnimate:"+this.prop]?(this.startTime=+new Date,this.start=t,this.end=e,this.unit=i,this.now=this.start,this.pos=0,r.elem=this.elem,r.prop=this.prop,r()&&1===Ct.timers.push(r)&&n(a)):(delete o.curAnim[this.prop],o.complete&&0===Object.keys(o.curAnim).length&&o.complete.call(this.elem))}step(t){let e,i,s=+new Date,o=this.options,r=this.elem,n=o.complete,a=o.duration,l=o.curAnim;return r.attr&&!r.element?e=!1:t||s>=a+this.startTime?(this.now=this.end,this.pos=1,this.update(),l[this.prop]=!0,i=!0,Mt(l,function(t){!0!==t&&(i=!1)}),i&&n&&n.call(r),e=!1):(this.pos=o.easing((s-this.startTime)/a),this.now=this.start+(this.end-this.start)*this.pos,this.update(),e=!0),e}initPath(t,e,i){let s,o,r,n,a=t.startX,l=t.endX,h=i.slice(),c=t.isArea,d=c?2:1,p=e&&i.length>e.length&&i.hasStackedCliffs,u=e&&e.slice();if(!u||p)return[h,h];function g(t,e){for(;t.length<o;){let i=t[0],s=e[o-t.length];if(s&&"M"===i[0]&&("C"===s[0]?t[0]=["C",i[1],i[2],i[1],i[2],i[1],i[2]]:t[0]=["L",i[1],i[2]]),t.unshift(i),c){let e=t.pop();t.push(t[t.length-1],e)}}}function f(t){for(;t.length<o;){let e=t[Math.floor(t.length/d)-1].slice();if("C"===e[0]&&(e[1]=e[5],e[2]=e[6]),c){let i=t[Math.floor(t.length/d)].slice();t.splice(t.length/2,0,e,i)}else t.push(e)}}if(a&&l&&l.length){for(r=0;r<a.length;r++){if(a[r]===l[0]){s=r;break}if(a[0]===l[l.length-a.length+r]){s=r,n=!0;break}if(a[a.length-1]===l[l.length-a.length+r]){s=a.length-r;break}}void 0===s&&(u=[])}return u.length&&At(s)&&(o=h.length+s*d,n?(g(u,h),f(h)):(g(h,u),f(u))),[u,h]}fillSetter(){Ct.prototype.strokeSetter.apply(this,arguments)}strokeSetter(){this.elem.attr(this.prop,wt(this.start).tweenTo(wt(this.end),this.pos),void 0,!0)}}Ct.timers=[];let{defined:Pt,getStyle:St,isArray:Tt,isNumber:Et,isObject:Lt,merge:Ot,objectEach:Dt,pick:It}=q;function Nt(t){return Lt(t)?Ot({duration:500,defer:0},t):{duration:t?500:0,defer:0}}function Bt(t,e){let i=Ct.timers.length;for(;i--;)Ct.timers[i].elem!==t||e&&e!==Ct.timers[i].prop||(Ct.timers[i].stopped=!0)}let Rt={animate:function(t,e,i){let s,o,r,n,a="";Lt(i)||(n=arguments,i={duration:n[2],easing:n[3],complete:n[4]}),Et(i.duration)||(i.duration=400),i.easing="function"==typeof i.easing?i.easing:Math[i.easing]||Math.easeInOutSine,i.curAnim=Ot(e),Dt(e,function(n,l){Bt(t,l),r=new Ct(t,i,l),o=void 0,"d"===l&&Tt(e.d)?(r.paths=r.initPath(t,t.pathArray,e.d),r.toD=e.d,s=0,o=1):t.attr?s=t.attr(l):(s=parseFloat(St(t,l))||0,"opacity"!==l&&(a="px")),o||(o=n),"string"==typeof o&&o.match("px")&&(o=o.replace(/px/g,"")),r.run(s,o,a)})},animObject:Nt,getDeferredAnimation:function(t,e,i){let s=Nt(e),o=i?[i]:t.series,r=0,n=0;return o.forEach(t=>{let i=Nt(t.options.animation);r=Lt(e)&&Pt(e.defer)?s.defer:Math.max(r,i.duration+i.defer),n=Math.min(s.duration,i.duration)}),t.renderer.forExport&&(r=0),{defer:Math.max(0,r-n),duration:Math.min(r,n)}},setAnimation:function(t,e){e.renderer.globalAnimation=It(t,e.options.chart.animation,!0)},stop:Bt},{SVG_NS:zt,win:Ft}=w,{attr:Ht,createElement:Xt,css:Wt,error:Yt,isFunction:jt,isString:Gt,objectEach:_t,splat:qt}=q,{trustedTypes:Ut}=Ft,Vt=Ut&&jt(Ut.createPolicy)&&Ut.createPolicy("highcharts",{createHTML:t=>t}),Kt=Vt?Vt.createHTML(""):"";class $t{static filterUserAttributes(t){return _t(t,(e,i)=>{let s=!0;-1===$t.allowedAttributes.indexOf(i)&&(s=!1),-1!==["background","dynsrc","href","lowsrc","src"].indexOf(i)&&(s=Gt(e)&&$t.allowedReferences.some(t=>0===e.indexOf(t))),s||(Yt(33,!1,void 0,{"Invalid attribute in config":`${i}`}),delete t[i]),Gt(e)&&t[i]&&(t[i]=e.replace(/</g,"<"))}),t}static parseStyle(t){return t.split(";").reduce((t,e)=>{let i=e.split(":").map(t=>t.trim()),s=i.shift();return s&&i.length&&(t[s.replace(/-([a-z])/g,t=>t[1].toUpperCase())]=i.join(":")),t},{})}static setElementHTML(t,e){t.innerHTML=$t.emptyHTML,e&&new $t(e).addToDOM(t)}constructor(t){this.nodes="string"==typeof t?this.parseMarkup(t):t}addToDOM(t){return function t(e,i){let s;return qt(e).forEach(function(e){let o,r=e.tagName,n=e.textContent?w.doc.createTextNode(e.textContent):void 0,a=$t.bypassHTMLFiltering;if(r)if("#text"===r)o=n;else if(-1!==$t.allowedTags.indexOf(r)||a){let s="svg"===r?zt:i.namespaceURI||zt,l=w.doc.createElementNS(s,r),h=e.attributes||{};_t(e,function(t,e){"tagName"!==e&&"attributes"!==e&&"children"!==e&&"style"!==e&&"textContent"!==e&&(h[e]=t)}),Ht(l,a?h:$t.filterUserAttributes(h)),e.style&&Wt(l,e.style),n&&l.appendChild(n),t(e.children||[],l),o=l}else Yt(33,!1,void 0,{"Invalid tagName in config":r});o&&i.appendChild(o),s=o}),s}(this.nodes,t)}parseMarkup(t){let e,i=[];t=t.trim().replace(/ style=(["'])/g," data-style=$1");try{e=(new DOMParser).parseFromString(Vt?Vt.createHTML(t):t,"text/html")}catch(t){}if(!e){let i=Xt("div");i.innerHTML=t,e={body:i}}let s=(t,e)=>{let i=t.nodeName.toLowerCase(),o={tagName:i};"#text"===i&&(o.textContent=t.textContent||"");let r=t.attributes;if(r){let t={};[].forEach.call(r,e=>{"data-style"===e.name?o.style=$t.parseStyle(e.value):t[e.name]=e.value}),o.attributes=t}if(t.childNodes.length){let e=[];[].forEach.call(t.childNodes,t=>{s(t,e)}),e.length&&(o.children=e)}e.push(o)};return[].forEach.call(e.body.childNodes,t=>s(t,i)),i}}$t.allowedAttributes=["alt","aria-controls","aria-describedby","aria-expanded","aria-haspopup","aria-hidden","aria-label","aria-labelledby","aria-live","aria-pressed","aria-readonly","aria-roledescription","aria-selected","class","clip-path","color","colspan","cx","cy","d","dx","dy","disabled","fill","filterUnits","flood-color","flood-opacity","height","href","id","in","in2","markerHeight","markerWidth","offset","opacity","operator","orient","padding","paddingLeft","paddingRight","patternUnits","r","radius","refX","refY","role","scope","slope","src","startOffset","stdDeviation","stroke","stroke-linecap","stroke-width","style","tableValues","result","rowspan","summary","target","tabindex","text-align","text-anchor","textAnchor","textLength","title","type","valign","width","x","x1","x2","xlink:href","y","y1","y2","zIndex"],$t.allowedReferences=["https://","http://","mailto:","/","../","./","#"],$t.allowedTags=["a","abbr","b","br","button","caption","circle","clipPath","code","dd","defs","div","dl","dt","em","feComponentTransfer","feComposite","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feMorphology","feOffset","feMerge","feMergeNode","filter","h1","h2","h3","h4","h5","h6","hr","i","img","li","linearGradient","marker","ol","p","path","pattern","pre","rect","small","span","stop","strong","style","sub","sup","svg","table","text","textPath","thead","title","tbody","tspan","td","th","tr","u","ul","#text"],$t.emptyHTML=Kt,$t.bypassHTMLFiltering=!1;let{defaultOptions:Zt,defaultTime:Jt}=ft,{pageLang:Qt}=w,{extend:te,getNestedProperty:ee,isArray:ie,isNumber:se,isObject:oe,isString:re,pick:ne,ucfirst:ae}=q,le={add:(t,e)=>t+e,divide:(t,e)=>0!==e?t/e:"",eq:(t,e)=>t==e,each:function(t){let e=arguments[arguments.length-1];return!!ie(t)&&t.map((i,s)=>de(e.body,te(oe(i)?i:{"@this":i},{"@index":s,"@first":0===s,"@last":s===t.length-1}))).join("")},ge:(t,e)=>t>=e,gt:(t,e)=>t>e,if:t=>!!t,le:(t,e)=>t<=e,lt:(t,e)=>t<e,multiply:(t,e)=>t*e,ne:(t,e)=>t!=e,subtract:(t,e)=>t-e,ucfirst:ae,unless:t=>!t},he={},ce=t=>/^["'].+["']$/.test(t);function de(t="",e,i){let s,o,r,n=/\{([\p{L}\d:\.,;\-\/<>\[\]%_@+"'’= #\(\)]+)\}/gu,a=/\(([\p{L}\d:\.,;\-\/<>\[\]%_@+"'= ]+)\)/gu,l=[],h=/f$/,c=/\.(\d)/,d=i?.options.lang||Zt.lang,p=i&&i.time||Jt,u=i&&i.numberFormatter||pe,g=(t="")=>{let i;return"true"===t||"false"!==t&&((i=Number(t)).toString()===t?i:ce(t)?t.slice(1,-1):ee(t,e))},f=0;for(;null!==(s=n.exec(t));){let i=s,n=a.exec(s[1]);n&&(s=n,r=!0),o&&o.isBlock||(o={ctx:e,expression:s[1],find:s[0],isBlock:"#"===s[1].charAt(0),start:s.index,startInner:s.index+s[0].length,length:s[0].length});let h=(o.isBlock?i:s)[1].split(" ")[0].replace("#","");le[h]&&(o.isBlock&&h===o.fn&&f++,o.fn||(o.fn=h));let c="else"===s[1];if(o.isBlock&&o.fn&&(s[1]===`/${o.fn}`||c))if(f)!c&&f--;else{let e=o.startInner,i=t.substr(e,s.index-e);void 0===o.body?(o.body=i,o.startInner=s.index+s[0].length):o.elseBody=i,o.find+=i+s[0],c||(l.push(o),o=void 0)}else o.isBlock||l.push(o);if(n&&!o?.isBlock)break}return l.forEach(s=>{let o,r,{body:n,elseBody:l,expression:f,fn:m}=s;if(m){let t,a=[s],h=[],c=f.length,d=0;for(r=0;r<=c;r++){let e=f.charAt(r);t||'"'!==e&&"'"!==e?t===e&&(t=""):t=e,t||" "!==e&&r!==c||(h.push(f.substr(d,r-d)),d=r+1)}for(r=le[m].length;r--;)a.unshift(g(h[r+1]));o=le[m].apply(e,a),s.isBlock&&"boolean"==typeof o&&(o=de(o?n:l,e,i))}else{let t=ce(f)?[f]:f.split(":");if(o=g(t.shift()||""),t.length&&"number"==typeof o){let e=t.join(":");if(h.test(e)){let t=parseInt((e.match(c)||["","-1"])[1],10);null!==o&&(o=u(o,t,d.decimalPoint,e.indexOf(",")>-1?d.thousandsSep:""))}else o=p.dateFormat(e,o)}a.lastIndex=0,a.test(s.find)&&re(o)&&(o=`"${o}"`)}t=t.replace(s.find,ne(o,""))}),r?de(t,e,i):t}function pe(t,e,i,s){e=+e;let o,r,[n,a]=(t=+t||0).toString().split("e").map(Number),l=this?.options?.lang||Zt.lang,h=(t.toString().split(".")[1]||"").split("e")[0].length,c=e,d={};i??(i=l.decimalPoint),s??(s=l.thousandsSep),-1===e?e=Math.min(h,20):se(e)?e&&a<0&&((r=e+a)>=0?(n=+n.toExponential(r).split("e")[0],e=r):(n=Math.floor(n),t=e<20?+(n*Math.pow(10,a)).toFixed(e):0,a=0)):e=2,a&&(e??(e=2),t=n),se(e)&&e>=0&&(d.minimumFractionDigits=e,d.maximumFractionDigits=e),""===s&&(d.useGrouping=!1);let p=s||i,u=p?"en":this?.locale||l.locale||Qt,g=JSON.stringify(d)+u;return o=(he[g]??(he[g]=new Intl.NumberFormat(u,d))).format(t),p&&(o=o.replace(/([,\.])/g,"_$1").replace(/_\,/g,s??",").replace("_.",i??".")),(e||0!=+o)&&(!(a<0)||c)||(o="0"),a&&0!=+o&&(o+="e"+(a<0?"":"+")+a),o}let ue={dateFormat:function(t,e,i){return Jt.dateFormat(t,e,i)},format:de,helpers:le,numberFormat:pe};!function(t){let e;t.rendererTypes={},t.getRendererType=function(i=e){return t.rendererTypes[i]||t.rendererTypes[e]},t.registerRendererType=function(i,s,o){t.rendererTypes[i]=s,(!e||o)&&(e=i,w.Renderer=s)}}(s||(s={}));let ge=s,{clamp:fe,pick:me,pushUnique:be,stableSort:xe}=q;(o||(o={})).distribute=function t(e,i,s){let o,r,n,a,l,h,c=e,d=c.reducedLen||i,p=(t,e)=>t.target-e.target,u=[],g=e.length,f=[],m=u.push,b=!0,x=0;for(o=g;o--;)x+=e[o].size;if(x>d){for(xe(e,(t,e)=>(e.rank||0)-(t.rank||0)),n=(h=e[0].rank===e[e.length-1].rank)?g/2:-1,r=h?n:g-1;n&&x>d;)a=e[o=Math.floor(r)],be(f,o)&&(x-=a.size),r+=n,h&&r>=e.length&&(n/=2,r=n);f.sort((t,e)=>e-t).forEach(t=>m.apply(u,e.splice(t,1)))}for(xe(e,p),e=e.map(t=>({size:t.size,targets:[t.target],align:me(t.align,.5)}));b;){for(o=e.length;o--;)a=e[o],l=(Math.min.apply(0,a.targets)+Math.max.apply(0,a.targets))/2,a.pos=fe(l-a.size*a.align,0,i-a.size);for(o=e.length,b=!1;o--;)o>0&&e[o-1].pos+e[o-1].size>e[o].pos&&(e[o-1].size+=e[o].size,e[o-1].targets=e[o-1].targets.concat(e[o].targets),e[o-1].align=.5,e[o-1].pos+e[o-1].size>i&&(e[o-1].pos=i-e[o-1].size),e.splice(o,1),b=!0)}return m.apply(c,u),o=0,e.some(e=>{let r=0;return(e.targets||[]).some(()=>(c[o].pos=e.pos+r,void 0!==s&&Math.abs(c[o].pos-c[o].target)>s?(c.slice(0,o+1).forEach(t=>delete t.pos),c.reducedLen=(c.reducedLen||i)-.1*i,c.reducedLen>.1*i&&t(c,i,s),!0):(r+=c[o].size,o++,!1)))}),xe(c,p),c};let ye=o,{animate:ve,animObject:we,stop:ke}=Rt,{deg2rad:Ae,doc:Me,svg:Ce,SVG_NS:Pe,win:Se,isFirefox:Te}=w,{addEvent:Ee,attr:Le,createElement:Oe,crisp:De,css:Ie,defined:Ne,erase:Be,extend:Re,fireEvent:ze,getAlignFactor:Fe,isArray:He,isFunction:Xe,isNumber:We,isObject:Ye,isString:je,merge:Ge,objectEach:_e,pick:qe,pInt:Ue,pushUnique:Ve,replaceNested:Ke,syncTimeout:$e,uniqueKey:Ze}=q;class Je{_defaultGetter(t){let e=qe(this[t+"Value"],this[t],this.element?this.element.getAttribute(t):null,0);return/^-?[\d\.]+$/.test(e)&&(e=parseFloat(e)),e}_defaultSetter(t,e,i){i.setAttribute(e,t)}add(t){let e,i=this.renderer,s=this.element;return t&&(this.parentGroup=t),void 0!==this.textStr&&"text"===this.element.nodeName&&i.buildText(this),this.added=!0,(!t||t.handleZ||this.zIndex)&&(e=this.zIndexSetter()),e||(t?t.element:i.box).appendChild(s),this.onAdd&&this.onAdd(),this}addClass(t,e){let i=e?"":this.attr("class")||"";return(t=(t||"").split(/ /g).reduce(function(t,e){return-1===i.indexOf(e)&&t.push(e),t},i?[i]:[]).join(" "))!==i&&this.attr("class",t),this}afterSetters(){this.doTransform&&(this.updateTransform(),this.doTransform=!1)}align(t,e,i,s=!0){let o=this.renderer,r=o.alignedObjects,n=!!t;t?(this.alignOptions=t,this.alignByTranslate=e,this.alignTo=i):(t=this.alignOptions||{},e=this.alignByTranslate,i=this.alignTo);let a=!i||je(i)?i||"renderer":void 0;a&&(n&&Ve(r,this),i=void 0);let l=qe(i,o[a],o),h=(l.x||0)+(t.x||0)+((l.width||0)-(t.width||0))*Fe(t.align),c=(l.y||0)+(t.y||0)+((l.height||0)-(t.height||0))*Fe(t.verticalAlign),d={"text-align":t?.align};return d[e?"translateX":"x"]=Math.round(h),d[e?"translateY":"y"]=Math.round(c),s&&(this[this.placed?"animate":"attr"](d),this.placed=!0),this.alignAttr=d,this}alignSetter(t){let e={left:"start",center:"middle",right:"end"};e[t]&&(this.alignValue=t,this.element.setAttribute("text-anchor",e[t]))}animate(t,e,i){let s=we(qe(e,this.renderer.globalAnimation,!0)),o=s.defer;return Me.hidden&&(s.duration=0),0!==s.duration?(i&&(s.complete=i),$e(()=>{this.element&&ve(this,t,s)},o)):(this.attr(t,void 0,i||s.complete),_e(t,function(t,e){s.step&&s.step.call(this,t,{prop:e,pos:1,elem:this})},this)),this}applyTextOutline(t){let e=this.element;-1!==t.indexOf("contrast")&&(t=t.replace(/contrast/g,this.renderer.getContrast(e.style.fill)));let i=t.split(" "),s=i[i.length-1],o=i[0];if(o&&"none"!==o&&w.svg){this.fakeTS=!0,o=o.replace(/(^[\d\.]+)(.*?)$/g,function(t,e,i){return 2*Number(e)+i}),this.removeTextOutline();let t=Me.createElementNS(Pe,"tspan");Le(t,{class:"highcharts-text-outline",fill:s,stroke:s,"stroke-width":o,"stroke-linejoin":"round"});let i=e.querySelector("textPath")||e;[].forEach.call(i.childNodes,e=>{let i=e.cloneNode(!0);i.removeAttribute&&["fill","stroke","stroke-width","stroke"].forEach(t=>i.removeAttribute(t)),t.appendChild(i)});let r=0;[].forEach.call(i.querySelectorAll("text tspan"),t=>{r+=Number(t.getAttribute("dy"))});let n=Me.createElementNS(Pe,"tspan");n.textContent="",Le(n,{x:Number(e.getAttribute("x")),dy:-r}),t.appendChild(n),i.insertBefore(t,i.firstChild)}}attr(t,e,i,s){let o,r,n,{element:a}=this,l=Je.symbolCustomAttribs,h=this;return"string"==typeof t&&void 0!==e&&(o=t,(t={})[o]=e),"string"==typeof t?h=(this[t+"Getter"]||this._defaultGetter).call(this,t,a):(_e(t,function(e,i){n=!1,s||ke(this,i),this.symbolName&&-1!==l.indexOf(i)&&(r||(this.symbolAttr(t),r=!0),n=!0),this.rotation&&("x"===i||"y"===i)&&(this.doTransform=!0),n||(this[i+"Setter"]||this._defaultSetter).call(this,e,i,a)},this),this.afterSetters()),i&&i.call(this),h}clip(t){if(t&&!t.clipPath){let e=Ze()+"-",i=this.renderer.createElement("clipPath").attr({id:e}).add(this.renderer.defs);Re(t,{clipPath:i,id:e,count:0}),t.add(i)}return this.attr("clip-path",t?`url(${this.renderer.url}#${t.id})`:"none")}crisp(t,e){e=Math.round(e||t.strokeWidth||0);let i=t.x||this.x||0,s=t.y||this.y||0,o=(t.width||this.width||0)+i,r=(t.height||this.height||0)+s,n=De(i,e),a=De(s,e);return Re(t,{x:n,y:a,width:De(o,e)-n,height:De(r,e)-a}),Ne(t.strokeWidth)&&(t.strokeWidth=e),t}complexColor(t,e,i){let s,o,r,n,a,l,h,c,d,p,u,g=this.renderer,f=[];ze(this.renderer,"complexColor",{args:arguments},function(){if(t.radialGradient?o="radialGradient":t.linearGradient&&(o="linearGradient"),o){if(r=t[o],a=g.gradients,l=t.stops,d=i.radialReference,He(r)&&(t[o]=r={x1:r[0],y1:r[1],x2:r[2],y2:r[3],gradientUnits:"userSpaceOnUse"}),"radialGradient"===o&&d&&!Ne(r.gradientUnits)&&(n=r,r=Ge(r,g.getRadialAttr(d,n),{gradientUnits:"userSpaceOnUse"})),_e(r,function(t,e){"id"!==e&&f.push(e,t)}),_e(l,function(t){f.push(t)}),a[f=f.join(",")])p=a[f].attr("id");else{r.id=p=Ze();let t=a[f]=g.createElement(o).attr(r).add(g.defs);t.radAttr=n,t.stops=[],l.forEach(function(e){0===e[1].indexOf("rgba")?(h=(s=vt.parse(e[1])).get("rgb"),c=s.get("a")):(h=e[1],c=1);let i=g.createElement("stop").attr({offset:e[0],"stop-color":h,"stop-opacity":c}).add(t);t.stops.push(i)})}u="url("+g.url+"#"+p+")",i.setAttribute(e,u),i.gradient=f,t.toString=function(){return u}}})}css(t){let e,i=this.styles,s={},o=this.element,r=!i;if(i&&_e(t,function(t,e){i&&i[e]!==t&&(s[e]=t,r=!0)}),r){i&&(t=Re(i,s)),null===t.width||"auto"===t.width?delete this.textWidth:"text"===o.nodeName.toLowerCase()&&t.width&&(e=this.textWidth=Ue(t.width)),Re(this.styles,t),e&&!Ce&&this.renderer.forExport&&delete t.width;let r=Te&&t.fontSize||null;r&&(We(r)||/^\d+$/.test(r))&&(t.fontSize+="px");let n=Ge(t);o.namespaceURI===this.SVG_NS&&(["textOutline","textOverflow","whiteSpace","width"].forEach(t=>n&&delete n[t]),n.color&&(n.fill=n.color)),Ie(o,n)}return this.added&&("text"===this.element.nodeName&&this.renderer.buildText(this),t.textOutline&&this.applyTextOutline(t.textOutline)),this}dashstyleSetter(t){let e,i=this["stroke-width"];if("inherit"===i&&(i=1),t=t&&t.toLowerCase()){let s=t.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(e=s.length;e--;)s[e]=""+Ue(s[e])*qe(i,NaN);t=s.join(",").replace(/NaN/g,"none"),this.element.setAttribute("stroke-dasharray",t)}}destroy(){let t,e,i=this,s=i.element||{},o=i.renderer,r=s.ownerSVGElement,n="SPAN"===s.nodeName&&i.parentGroup||void 0;if(s.onclick=s.onmouseout=s.onmouseover=s.onmousemove=s.point=null,ke(i),i.clipPath&&r){let t=i.clipPath;[].forEach.call(r.querySelectorAll("[clip-path],[CLIP-PATH]"),function(e){e.getAttribute("clip-path").indexOf(t.element.id)>-1&&e.removeAttribute("clip-path")}),i.clipPath=t.destroy()}if(i.connector=i.connector?.destroy(),i.stops){for(e=0;e<i.stops.length;e++)i.stops[e].destroy();i.stops.length=0,i.stops=void 0}for(i.safeRemoveChild(s);n&&n.div&&0===n.div.childNodes.length;)t=n.parentGroup,i.safeRemoveChild(n.div),delete n.div,n=t;i.alignOptions&&Be(o.alignedObjects,i),_e(i,function(t,e){i[e]&&i[e].parentGroup===i&&i[e].destroy&&i[e].destroy(),delete i[e]})}dSetter(t,e,i){He(t)&&("string"==typeof t[0]&&(t=this.renderer.pathToSegments(t)),this.pathArray=t,t=t.reduce((t,e,i)=>e&&e.join?(i?t+" ":"")+e.join(" "):(e||"").toString(),"")),/(NaN| {2}|^$)/.test(t)&&(t="M 0 0"),this[e]!==t&&(i.setAttribute(e,t),this[e]=t)}fillSetter(t,e,i){"string"==typeof t?i.setAttribute(e,t):t&&this.complexColor(t,e,i)}hrefSetter(t,e,i){i.setAttributeNS("http://www.w3.org/1999/xlink",e,t)}getBBox(t,e){let i,s,o,r,{alignValue:n,element:a,renderer:l,styles:h,textStr:c}=this,{cache:d,cacheKeys:p}=l,u=a.namespaceURI===this.SVG_NS,g=qe(e,this.rotation,0),f=l.styledMode?a&&Je.prototype.getStyle.call(a,"font-size"):h.fontSize;if(Ne(c)&&(-1===(r=c.toString()).indexOf("<")&&(r=r.replace(/\d/g,"0")),r+=["",l.rootFontSize,f,g,this.textWidth,n,h.lineClamp,h.textOverflow,h.fontWeight].join(",")),r&&!t&&(i=d[r]),!i||i.polygon){if(u||l.forExport){try{o=this.fakeTS&&function(t){let e=a.querySelector(".highcharts-text-outline");e&&Ie(e,{display:t})},Xe(o)&&o("none"),i=a.getBBox?Re({},a.getBBox()):{width:a.offsetWidth,height:a.offsetHeight,x:0,y:0},Xe(o)&&o("")}catch(t){}(!i||i.width<0)&&(i={x:0,y:0,width:0,height:0})}else i=this.htmlGetBBox();s=i.height,u&&(i.height=s={"11px,17":14,"13px,20":16}[`${f||""},${Math.round(s)}`]||s),g&&(i=this.getRotatedBox(i,g));let e={bBox:i};ze(this,"afterGetBBox",e),i=e.bBox}if(r&&(""===c||i.height>0)){for(;p.length>250;)delete d[p.shift()];d[r]||p.push(r),d[r]=i}return i}getRotatedBox(t,e){let{x:i,y:s,width:o,height:r}=t,{alignValue:n,translateY:a,rotationOriginX:l=0,rotationOriginY:h=0}=this,c=Fe(n),d=Number(this.element.getAttribute("y")||0)-(a?0:s),p=e*Ae,u=(e-90)*Ae,g=Math.cos(p),f=Math.sin(p),m=o*g,b=o*f,x=Math.cos(u),y=Math.sin(u),[[v,w],[k,A]]=[l,h].map(t=>[t-t*g,t*f]),M=i+c*(o-m)+v+A+d*x,C=M+m,P=C-r*x,S=P-m,T=s+d-c*b-w+k+d*y,E=T+b,L=E-r*y,O=L-b,D=Math.min(M,C,P,S),I=Math.min(T,E,L,O);return{x:D,y:I,width:Math.max(M,C,P,S)-D,height:Math.max(T,E,L,O)-I,polygon:[[M,T],[C,E],[P,L],[S,O]]}}getStyle(t){return Se.getComputedStyle(this.element||this,"").getPropertyValue(t)}hasClass(t){return-1!==(""+this.attr("class")).split(" ").indexOf(t)}hide(){return this.attr({visibility:"hidden"})}htmlGetBBox(){return{height:0,width:0,x:0,y:0}}constructor(t,e){this.onEvents={},this.opacity=1,this.SVG_NS=Pe,this.element="span"===e||"body"===e?Oe(e):Me.createElementNS(this.SVG_NS,e),this.renderer=t,this.styles={},ze(this,"afterInit")}on(t,e){let{onEvents:i}=this;return i[t]&&i[t](),i[t]=Ee(this.element,t,e),this}opacitySetter(t,e,i){let s=Number(Number(t).toFixed(3));this.opacity=s,i.setAttribute(e,s)}reAlign(){this.alignOptions?.width&&"left"!==this.alignOptions.align&&(this.alignOptions.width=this.getBBox().width,this.placed=!1,this.align())}removeClass(t){return this.attr("class",(""+this.attr("class")).replace(je(t)?RegExp(`(^| )${t}( |$)`):t," ").replace(/ +/g," ").trim())}removeTextOutline(){let t=this.element.querySelector("tspan.highcharts-text-outline");t&&this.safeRemoveChild(t)}safeRemoveChild(t){let e=t.parentNode;e&&e.removeChild(t)}setRadialReference(t){let e=this.element.gradient&&this.renderer.gradients[this.element.gradient];return this.element.radialReference=t,e&&e.radAttr&&e.animate(this.renderer.getRadialAttr(t,e.radAttr)),this}shadow(t){let{renderer:e}=this,i=Ge(90===this.parentGroup?.rotation?{offsetX:-1,offsetY:-1}:{},Ye(t)?t:{}),s=e.shadowDefinition(i);return this.attr({filter:t?`url(${e.url}#${s})`:"none"})}show(t=!0){return this.attr({visibility:t?"inherit":"visible"})}"stroke-widthSetter"(t,e,i){this[e]=t,i.setAttribute(e,t)}strokeWidth(){if(!this.renderer.styledMode)return this["stroke-width"]||0;let t,e=this.getStyle("stroke-width"),i=0;return/px$/.test(e)?i=Ue(e):""!==e&&(Le(t=Me.createElementNS(Pe,"rect"),{width:e,"stroke-width":0}),this.element.parentNode.appendChild(t),i=t.getBBox().width,t.parentNode.removeChild(t)),i}symbolAttr(t){let e=this;Je.symbolCustomAttribs.forEach(function(i){e[i]=qe(t[i],e[i])}),e.attr({d:e.renderer.symbols[e.symbolName](e.x,e.y,e.width,e.height,e)})}textSetter(t){t!==this.textStr&&(delete this.textPxLength,this.textStr=t,this.added&&this.renderer.buildText(this),this.reAlign())}titleSetter(t){let e=this.element,i=e.getElementsByTagName("title")[0]||Me.createElementNS(this.SVG_NS,"title");e.insertBefore?e.insertBefore(i,e.firstChild):e.appendChild(i),i.textContent=Ke(qe(t,""),[/<[^>]*>/g,""]).replace(/</g,"<").replace(/>/g,">")}toFront(){let t=this.element;return t.parentNode.appendChild(t),this}translate(t,e){return this.attr({translateX:t,translateY:e})}updateTransform(t="transform"){let{element:e,matrix:i,rotation:s=0,rotationOriginX:o,rotationOriginY:r,scaleX:n,scaleY:a,translateX:l=0,translateY:h=0}=this,c=["translate("+l+","+h+")"];Ne(i)&&c.push("matrix("+i.join(",")+")"),s&&(c.push("rotate("+s+" "+qe(o,e.getAttribute("x"),0)+" "+qe(r,e.getAttribute("y")||0)+")"),"SPAN"===this.text?.element.tagName&&this.text.attr({rotation:s,rotationOriginX:(o||0)-this.padding,rotationOriginY:(r||0)-this.padding})),(Ne(n)||Ne(a))&&c.push("scale("+qe(n,1)+" "+qe(a,1)+")"),c.length&&!(this.text||this).textPath&&e.setAttribute(t,c.join(" "))}visibilitySetter(t,e,i){"inherit"===t?i.removeAttribute(e):this[e]!==t&&i.setAttribute(e,t),this[e]=t}xGetter(t){return"circle"===this.element.nodeName&&("x"===t?t="cx":"y"===t&&(t="cy")),this._defaultGetter(t)}zIndexSetter(t,e){let i,s,o,r,n,a=this.renderer,l=this.parentGroup,h=(l||a).element||a.box,c=this.element,d=h===a.box,p=!1,u=this.added;if(Ne(t)?(c.setAttribute("data-z-index",t),t=+t,this[e]===t&&(u=!1)):Ne(this[e])&&c.removeAttribute("data-z-index"),this[e]=t,u){for((t=this.zIndex)&&l&&(l.handleZ=!0),n=(i=h.childNodes).length-1;n>=0&&!p;n--)r=!Ne(o=(s=i[n]).getAttribute("data-z-index")),s!==c&&(t<0&&r&&!d&&!n?(h.insertBefore(c,i[n]),p=!0):(Ue(o)<=t||r&&(!Ne(t)||t>=0))&&(h.insertBefore(c,i[n+1]),p=!0));p||(h.insertBefore(c,i[d?3:0]),p=!0)}return p}}Je.symbolCustomAttribs=["anchorX","anchorY","clockwise","end","height","innerR","r","start","width","x","y"],Je.prototype.strokeSetter=Je.prototype.fillSetter,Je.prototype.yGetter=Je.prototype.xGetter,Je.prototype.matrixSetter=Je.prototype.rotationOriginXSetter=Je.prototype.rotationOriginYSetter=Je.prototype.rotationSetter=Je.prototype.scaleXSetter=Je.prototype.scaleYSetter=Je.prototype.translateXSetter=Je.prototype.translateYSetter=Je.prototype.verticalAlignSetter=function(t,e){this[e]=t,this.doTransform=!0};let Qe=Je,{defined:ti,extend:ei,getAlignFactor:ii,isNumber:si,merge:oi,pick:ri,removeEvent:ni}=q;class ai extends Qe{constructor(t,e,i,s,o,r,n,a,l,h){let c;super(t,"g"),this.paddingLeftSetter=this.paddingSetter,this.paddingRightSetter=this.paddingSetter,this.doUpdate=!1,this.textStr=e,this.x=i,this.y=s,this.anchorX=r,this.anchorY=n,this.baseline=l,this.className=h,this.addClass("button"===h?"highcharts-no-tooltip":"highcharts-label"),h&&this.addClass("highcharts-"+h),this.text=t.text(void 0,0,0,a).attr({zIndex:1}),"string"==typeof o&&((c=/^url\((.*?)\)$/.test(o))||this.renderer.symbols[o])&&(this.symbolKey=o),this.bBox=ai.emptyBBox,this.padding=3,this.baselineOffset=0,this.needsBox=t.styledMode||c,this.deferredAttr={},this.alignFactor=0}alignSetter(t){let e=ii(t);this.textAlign=t,e!==this.alignFactor&&(this.alignFactor=e,this.bBox&&si(this.xSetting)&&this.attr({x:this.xSetting}))}anchorXSetter(t,e){this.anchorX=t,this.boxAttr(e,Math.round(t)-this.getCrispAdjust()-this.xSetting)}anchorYSetter(t,e){this.anchorY=t,this.boxAttr(e,t-this.ySetting)}boxAttr(t,e){this.box?this.box.attr(t,e):this.deferredAttr[t]=e}css(t){if(t){let e={};t=oi(t),ai.textProps.forEach(i=>{void 0!==t[i]&&(e[i]=t[i],delete t[i])}),this.text.css(e),"fontSize"in e||"fontWeight"in e?this.updateTextPadding():("width"in e||"textOverflow"in e)&&this.updateBoxSize()}return Qe.prototype.css.call(this,t)}destroy(){ni(this.element,"mouseenter"),ni(this.element,"mouseleave"),this.text&&this.text.destroy(),this.box&&(this.box=this.box.destroy()),Qe.prototype.destroy.call(this)}fillSetter(t,e){t&&(this.needsBox=!0),this.fill=t,this.boxAttr(e,t)}getBBox(t,e){this.textStr&&0===this.bBox.width&&0===this.bBox.height&&this.updateBoxSize();let{padding:i,height:s=0,translateX:o=0,translateY:r=0,width:n=0}=this,a=ri(this.paddingLeft,i),l=e??(this.rotation||0),h={width:n,height:s,x:o+this.bBox.x-a,y:r+this.bBox.y-i+this.baselineOffset};return l&&(h=this.getRotatedBox(h,l)),h}getCrispAdjust(){return(this.renderer.styledMode&&this.box?this.box.strokeWidth():this["stroke-width"]?parseInt(this["stroke-width"],10):0)%2/2}heightSetter(t){this.heightSetting=t,this.doUpdate=!0}afterSetters(){super.afterSetters(),this.doUpdate&&(this.updateBoxSize(),this.doUpdate=!1)}onAdd(){this.text.add(this),this.attr({text:ri(this.textStr,""),x:this.x||0,y:this.y||0}),this.box&&ti(this.anchorX)&&this.attr({anchorX:this.anchorX,anchorY:this.anchorY})}paddingSetter(t,e){si(t)?t!==this[e]&&(this[e]=t,this.updateTextPadding()):this[e]=void 0}rSetter(t,e){this.boxAttr(e,t)}strokeSetter(t,e){this.stroke=t,this.boxAttr(e,t)}"stroke-widthSetter"(t,e){t&&(this.needsBox=!0),this["stroke-width"]=t,this.boxAttr(e,t)}"text-alignSetter"(t){this.textAlign=this["text-align"]=t,this.updateTextPadding()}textSetter(t){void 0!==t&&this.text.attr({text:t}),this.updateTextPadding(),this.reAlign()}updateBoxSize(){let t,e=this.text,i={},s=this.padding,o=this.bBox=si(this.widthSetting)&&si(this.heightSetting)&&!this.textAlign||!ti(e.textStr)?ai.emptyBBox:e.getBBox(void 0,0);this.width=this.getPaddedWidth(),this.height=(this.heightSetting||o.height||0)+2*s;let r=this.renderer.fontMetrics(e);if(this.baselineOffset=s+Math.min((this.text.firstLineMetrics||r).b,o.height||1/0),this.heightSetting&&(this.baselineOffset+=(this.heightSetting-r.h)/2),this.needsBox&&!e.textPath){if(!this.box){let t=this.box=this.symbolKey?this.renderer.symbol(this.symbolKey):this.renderer.rect();t.addClass(("button"===this.className?"":"highcharts-label-box")+(this.className?" highcharts-"+this.className+"-box":"")),t.add(this)}t=this.getCrispAdjust(),i.x=t,i.y=(this.baseline?-this.baselineOffset:0)+t,i.width=Math.round(this.width),i.height=Math.round(this.height),this.box.attr(ei(i,this.deferredAttr)),this.deferredAttr={}}}updateTextPadding(){let t=this.text,e=t.styles.textAlign||this.textAlign;if(!t.textPath){this.updateBoxSize();let i=this.baseline?0:this.baselineOffset,s=(this.paddingLeft??this.padding)+ii(e)*(this.widthSetting??this.bBox.width);(s!==t.x||i!==t.y)&&(t.attr({align:e,x:s}),void 0!==i&&t.attr("y",i)),t.x=s,t.y=i}}widthSetter(t){this.widthSetting=si(t)?t:void 0,this.doUpdate=!0}getPaddedWidth(){let t=this.padding,e=ri(this.paddingLeft,t),i=ri(this.paddingRight,t);return(this.widthSetting||this.bBox.width||0)+e+i}xSetter(t){this.x=t,this.alignFactor&&(t-=this.alignFactor*this.getPaddedWidth(),this["forceAnimate:x"]=!0),this.xSetting=Math.round(t),this.attr("translateX",this.xSetting)}ySetter(t){this.ySetting=this.y=Math.round(t),this.attr("translateY",this.ySetting)}}ai.emptyBBox={width:0,height:0,x:0,y:0},ai.textProps=["color","direction","fontFamily","fontSize","fontStyle","fontWeight","lineClamp","lineHeight","textAlign","textDecoration","textOutline","textOverflow","whiteSpace","width"];let{defined:li,isNumber:hi,pick:ci}=q;function di(t,e,i,s,o){let r=[];if(o){let n=o.start||0,a=ci(o.r,i),l=ci(o.r,s||i),h=2e-4/(o.borderRadius?1:Math.max(a,1)),c=Math.abs((o.end||0)-n-2*Math.PI)<h,d=(o.end||0)-(c?h:0),p=o.innerR,u=ci(o.open,c),g=Math.cos(n),f=Math.sin(n),m=Math.cos(d),b=Math.sin(d),x=ci(o.longArc,d-n-Math.PI<h?0:1),y=["A",a,l,0,x,ci(o.clockwise,1),t+a*m,e+l*b];y.params={start:n,end:d,cx:t,cy:e},r.push(["M",t+a*g,e+l*f],y),li(p)&&((y=["A",p,p,0,x,li(o.clockwise)?1-o.clockwise:0,t+p*g,e+p*f]).params={start:d,end:n,cx:t,cy:e},r.push(u?["M",t+p*m,e+p*b]:["L",t+p*m,e+p*b],y)),u||r.push(["Z"])}return r}function pi(t,e,i,s,o){return o&&o.r?ui(t,e,i,s,o):[["M",t,e],["L",t+i,e],["L",t+i,e+s],["L",t,e+s],["Z"]]}function ui(t,e,i,s,o){let r=o?.r||0;return[["M",t+r,e],["L",t+i-r,e],["A",r,r,0,0,1,t+i,e+r],["L",t+i,e+s-r],["A",r,r,0,0,1,t+i-r,e+s],["L",t+r,e+s],["A",r,r,0,0,1,t,e+s-r],["L",t,e+r],["A",r,r,0,0,1,t+r,e],["Z"]]}let gi={arc:di,callout:function(t,e,i,s,o){let r=Math.min(o&&o.r||0,i,s),n=r+6,a=o&&o.anchorX,l=o&&o.anchorY||0,h=ui(t,e,i,s,{r:r});if(!hi(a)||a<i&&a>0&&l<s&&l>0)return h;if(t+a>i-n)if(l>e+n&&l<e+s-n)h.splice(3,1,["L",t+i,l-6],["L",t+i+6,l],["L",t+i,l+6],["L",t+i,e+s-r]);else if(a<i){let o=l<e+n,c=o?e:e+s;h.splice(o?2:5,0,["L",a,l],["L",t+i-r,c])}else h.splice(3,1,["L",t+i,s/2],["L",a,l],["L",t+i,s/2],["L",t+i,e+s-r]);else if(t+a<n)if(l>e+n&&l<e+s-n)h.splice(7,1,["L",t,l+6],["L",t-6,l],["L",t,l-6],["L",t,e+r]);else if(a>0){let i=l<e+n,o=i?e:e+s;h.splice(i?1:6,0,["L",a,l],["L",t+r,o])}else h.splice(7,1,["L",t,s/2],["L",a,l],["L",t,s/2],["L",t,e+r]);else l>s&&a<i-n?h.splice(5,1,["L",a+6,e+s],["L",a,e+s+6],["L",a-6,e+s],["L",t+r,e+s]):l<0&&a>n&&h.splice(1,1,["L",a-6,e],["L",a,e-6],["L",a+6,e],["L",i-r,e]);return h},circle:function(t,e,i,s){return di(t+i/2,e+s/2,i/2,s/2,{start:.5*Math.PI,end:2.5*Math.PI,open:!1})},diamond:function(t,e,i,s){return[["M",t+i/2,e],["L",t+i,e+s/2],["L",t+i/2,e+s],["L",t,e+s/2],["Z"]]},rect:pi,roundedRect:ui,square:pi,triangle:function(t,e,i,s){return[["M",t+i/2,e],["L",t+i,e+s],["L",t,e+s],["Z"]]},"triangle-down":function(t,e,i,s){return[["M",t,e],["L",t+i,e],["L",t+i/2,e+s],["Z"]]}},{doc:fi,SVG_NS:mi,win:bi}=w,{attr:xi,extend:yi,fireEvent:vi,isString:wi,objectEach:ki,pick:Ai}=q,Mi=(t,e)=>t.substring(0,e)+"…",Ci=class{constructor(t){let e=t.styles;this.renderer=t.renderer,this.svgElement=t,this.width=t.textWidth,this.textLineHeight=e&&e.lineHeight,this.textOutline=e&&e.textOutline,this.ellipsis=!(!e||"ellipsis"!==e.textOverflow),this.lineClamp=e?.lineClamp,this.noWrap=!(!e||"nowrap"!==e.whiteSpace)}buildSVG(){let t=this.svgElement,e=t.element,i=t.renderer,s=Ai(t.textStr,"").toString(),o=-1!==s.indexOf("<"),r=e.childNodes,n=!t.added&&i.box,a=[s,this.ellipsis,this.noWrap,this.textLineHeight,this.textOutline,t.getStyle("font-size"),t.styles.lineClamp,this.width].join(",");if(a!==t.textCache){t.textCache=a,delete t.actualWidth;for(let t=r.length;t--;)e.removeChild(r[t]);if(o||this.ellipsis||this.width||t.textPath||-1!==s.indexOf(" ")&&(!this.noWrap||/<br.*?>/g.test(s))){if(""!==s){n&&n.appendChild(e);let i=new $t(s);this.modifyTree(i.nodes),i.addToDOM(e),this.modifyDOM(),this.ellipsis&&-1!==(e.textContent||"").indexOf("…")&&t.attr("title",this.unescapeEntities(t.textStr||"",["<",">"])),n&&n.removeChild(e)}}else e.appendChild(fi.createTextNode(this.unescapeEntities(s)));wi(this.textOutline)&&t.applyTextOutline&&t.applyTextOutline(this.textOutline)}}modifyDOM(){let t,e=this.svgElement,i=xi(e.element,"x");for(e.firstLineMetrics=void 0;(t=e.element.firstChild)&&/^[\s\u200B]*$/.test(t.textContent||" ");)e.element.removeChild(t);[].forEach.call(e.element.querySelectorAll("tspan.highcharts-br"),(t,s)=>{t.nextSibling&&t.previousSibling&&(0===s&&1===t.previousSibling.nodeType&&(e.firstLineMetrics=e.renderer.fontMetrics(t.previousSibling)),xi(t,{dy:this.getLineHeight(t.nextSibling),x:i}))});let s=this.width||0;if(!s)return;let o=(t,o)=>{let r=t.textContent||"",n=r.replace(/([^\^])-/g,"$1- ").split(" "),a=!this.noWrap&&(n.length>1||e.element.childNodes.length>1),l=this.getLineHeight(o),h=Math.max(0,s-.8*l),c=0,d=e.actualWidth;if(a){let r=[],a=[];for(;o.firstChild&&o.firstChild!==t;)a.push(o.firstChild),o.removeChild(o.firstChild);for(;n.length;)if(n.length&&!this.noWrap&&c>0&&(r.push(t.textContent||""),t.textContent=n.join(" ").replace(/- /g,"-")),this.truncate(t,void 0,n,0===c&&d||0,s,h,(t,e)=>n.slice(0,e).join(" ").replace(/- /g,"-")),d=e.actualWidth,c++,this.lineClamp&&c>=this.lineClamp){n.length&&(this.truncate(t,t.textContent||"",void 0,0,s,h,Mi),t.textContent=t.textContent?.replace("…","")+"…");break}a.forEach(e=>{o.insertBefore(e,t)}),r.forEach(e=>{o.insertBefore(fi.createTextNode(e),t);let s=fi.createElementNS(mi,"tspan");s.textContent="",xi(s,{dy:l,x:i}),o.insertBefore(s,t)})}else this.ellipsis&&r&&this.truncate(t,r,void 0,0,s,h,Mi)},r=t=>{[].slice.call(t.childNodes).forEach(i=>{i.nodeType===bi.Node.TEXT_NODE?o(i,t):(-1!==i.className.baseVal.indexOf("highcharts-br")&&(e.actualWidth=0),r(i))})};r(e.element)}getLineHeight(t){let e=t.nodeType===bi.Node.TEXT_NODE?t.parentElement:t;return this.textLineHeight?parseInt(this.textLineHeight.toString(),10):this.renderer.fontMetrics(e||this.svgElement.element).h}modifyTree(t){let e=(i,s)=>{let{attributes:o={},children:r,style:n={},tagName:a}=i,l=this.renderer.styledMode;if("b"===a||"strong"===a?l?o.class="highcharts-strong":n.fontWeight="bold":("i"===a||"em"===a)&&(l?o.class="highcharts-emphasized":n.fontStyle="italic"),n&&n.color&&(n.fill=n.color),"br"===a){o.class="highcharts-br",i.textContent="";let e=t[s+1];e&&e.textContent&&(e.textContent=e.textContent.replace(/^ +/gm,""))}else"a"===a&&r&&r.some(t=>"#text"===t.tagName)&&(i.children=[{children:r,tagName:"tspan"}]);"#text"!==a&&"a"!==a&&(i.tagName="tspan"),yi(i,{attributes:o,style:n}),r&&r.filter(t=>"#text"!==t.tagName).forEach(e)};t.forEach(e),vi(this.svgElement,"afterModifyTree",{nodes:t})}truncate(t,e,i,s,o,r,n){let a,l,h=this.svgElement,{rotation:c}=h,d=[],p=i&&!s?1:0,u=(e||i||"").length,g=u;i||(o=r);let f=function(e,o){let r=o||e,n=t.parentNode;if(n&&void 0===d[r]&&n.getSubStringLength)try{d[r]=s+n.getSubStringLength(0,i?r+1:r)}catch(t){}return d[r]};if(h.rotation=0,s+(l=f(t.textContent.length))>o){for(;p<=u;)g=Math.ceil((p+u)/2),i&&(a=n(i,g)),l=f(g,a&&a.length-1),p===u?p=u+1:l>o?u=g-1:p=g;0===u?t.textContent="":e&&u===e.length-1||(t.textContent=a||n(e||i,g)),this.ellipsis&&l>o&&this.truncate(t,t.textContent||"",void 0,0,o,r,Mi)}i&&i.splice(0,g),h.actualWidth=l,h.rotation=c}unescapeEntities(t,e){return ki(this.renderer.escapes,function(i,s){e&&-1!==e.indexOf(i)||(t=t.toString().replace(RegExp(i,"g"),s))}),t}},{defaultOptions:Pi}=ft,{charts:Si,deg2rad:Ti,doc:Ei,isFirefox:Li,isMS:Oi,isWebKit:Di,noop:Ii,SVG_NS:Ni,symbolSizes:Bi,win:Ri}=w,{addEvent:zi,attr:Fi,createElement:Hi,crisp:Xi,css:Wi,defined:Yi,destroyObjectProperties:ji,extend:Gi,isArray:_i,isNumber:qi,isObject:Ui,isString:Vi,merge:Ki,pick:$i,pInt:Zi,replaceNested:Ji,uniqueKey:Qi}=q;class ts{constructor(t,e,i,s,o,r,n){let a,l,h=this.createElement("svg").attr({version:"1.1",class:"highcharts-root"}),c=h.element;n||h.css(this.getStyle(s||{})),t.appendChild(c),Fi(t,"dir","ltr"),-1===t.innerHTML.indexOf("xmlns")&&Fi(c,"xmlns",this.SVG_NS),this.box=c,this.boxWrapper=h,this.alignedObjects=[],this.url=this.getReferenceURL(),this.createElement("desc").add().element.appendChild(Ei.createTextNode("Created with Highcharts 12.1.2")),this.defs=this.createElement("defs").add(),this.allowHTML=r,this.forExport=o,this.styledMode=n,this.gradients={},this.cache={},this.cacheKeys=[],this.imgCount=0,this.rootFontSize=h.getStyle("font-size"),this.setSize(e,i,!1),Li&&t.getBoundingClientRect&&((a=function(){Wi(t,{left:0,top:0}),l=t.getBoundingClientRect(),Wi(t,{left:Math.ceil(l.left)-l.left+"px",top:Math.ceil(l.top)-l.top+"px"})})(),this.unSubPixelFix=zi(Ri,"resize",a))}definition(t){return new $t([t]).addToDOM(this.defs.element)}getReferenceURL(){if((Li||Di)&&Ei.getElementsByTagName("base").length){if(!Yi(e)){let t=Qi(),i=new $t([{tagName:"svg",attributes:{width:8,height:8},children:[{tagName:"defs",children:[{tagName:"clipPath",attributes:{id:t},children:[{tagName:"rect",attributes:{width:4,height:4}}]}]},{tagName:"rect",attributes:{id:"hitme",width:8,height:8,"clip-path":`url(#${t})`,fill:"rgba(0,0,0,0.001)"}}]}]).addToDOM(Ei.body);Wi(i,{position:"fixed",top:0,left:0,zIndex:9e5});let s=Ei.elementFromPoint(6,6);e="hitme"===(s&&s.id),Ei.body.removeChild(i)}if(e)return Ji(Ri.location.href.split("#")[0],[/<[^>]*>/g,""],[/([\('\)])/g,"\\$1"],[/ /g,"%20"])}return""}getStyle(t){return this.style=Gi({fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", sans-serif',fontSize:"1rem"},t),this.style}setStyle(t){this.boxWrapper.css(this.getStyle(t))}isHidden(){return!this.boxWrapper.getBBox().width}destroy(){let t=this.defs;return this.box=null,this.boxWrapper=this.boxWrapper.destroy(),ji(this.gradients||{}),this.gradients=null,this.defs=t.destroy(),this.unSubPixelFix&&this.unSubPixelFix(),this.alignedObjects=null,null}createElement(t){return new this.Element(this,t)}getRadialAttr(t,e){return{cx:t[0]-t[2]/2+(e.cx||0)*t[2],cy:t[1]-t[2]/2+(e.cy||0)*t[2],r:(e.r||0)*t[2]}}shadowDefinition(t){let e=[`highcharts-drop-shadow-${this.chartIndex}`,...Object.keys(t).map(e=>`${e}-${t[e]}`)].join("-").toLowerCase().replace(/[^a-z\d\-]/g,""),i=Ki({color:"#000000",offsetX:1,offsetY:1,opacity:.15,width:5},t);return this.defs.element.querySelector(`#${e}`)||this.definition({tagName:"filter",attributes:{id:e,filterUnits:i.filterUnits},children:this.getShadowFilterContent(i)}),e}getShadowFilterContent(t){return[{tagName:"feDropShadow",attributes:{dx:t.offsetX,dy:t.offsetY,"flood-color":t.color,"flood-opacity":Math.min(5*t.opacity,1),stdDeviation:t.width/2}}]}buildText(t){new Ci(t).buildSVG()}getContrast(t){let e=vt.parse(t).rgba.map(t=>{let e=t/255;return e<=.03928?e/12.92:Math.pow((e+.055)/1.055,2.4)}),i=.2126*e[0]+.7152*e[1]+.0722*e[2];return 1.05/(i+.05)>(i+.05)/.05?"#FFFFFF":"#000000"}button(t,e,i,s,o={},r,n,a,l,h){let c=this.label(t,e,i,l,void 0,void 0,h,void 0,"button"),d=this.styledMode,p=arguments,u=0;o=Ki(Pi.global.buttonTheme,o),d&&(delete o.fill,delete o.stroke,delete o["stroke-width"]);let g=o.states||{},f=o.style||{};delete o.states,delete o.style;let m=[$t.filterUserAttributes(o)],b=[f];return d||["hover","select","disabled"].forEach((t,e)=>{m.push(Ki(m[0],$t.filterUserAttributes(p[e+5]||g[t]||{}))),b.push(m[e+1].style),delete m[e+1].style}),zi(c.element,Oi?"mouseover":"mouseenter",function(){3!==u&&c.setState(1)}),zi(c.element,Oi?"mouseout":"mouseleave",function(){3!==u&&c.setState(u)}),c.setState=(t=0)=>{if(1!==t&&(c.state=u=t),c.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed","disabled"][t]),!d){c.attr(m[t]);let e=b[t];Ui(e)&&c.css(e)}},c.attr(m[0]),!d&&(c.css(Gi({cursor:"default"},f)),h&&c.text.css({pointerEvents:"none"})),c.on("touchstart",t=>t.stopPropagation()).on("click",function(t){3!==u&&s.call(c,t)})}crispLine(t,e){let[i,s]=t;return Yi(i[1])&&i[1]===s[1]&&(i[1]=s[1]=Xi(i[1],e)),Yi(i[2])&&i[2]===s[2]&&(i[2]=s[2]=Xi(i[2],e)),t}path(t){let e=this.styledMode?{}:{fill:"none"};return _i(t)?e.d=t:Ui(t)&&Gi(e,t),this.createElement("path").attr(e)}circle(t,e,i){let s=Ui(t)?t:void 0===t?{}:{x:t,y:e,r:i},o=this.createElement("circle");return o.xSetter=o.ySetter=function(t,e,i){i.setAttribute("c"+e,t)},o.attr(s)}arc(t,e,i,s,o,r){let n;Ui(t)?(e=(n=t).y,i=n.r,s=n.innerR,o=n.start,r=n.end,t=n.x):n={innerR:s,start:o,end:r};let a=this.symbol("arc",t,e,i,i,n);return a.r=i,a}rect(t,e,i,s,o,r){let n=Ui(t)?t:void 0===t?{}:{x:t,y:e,r:o,width:Math.max(i||0,0),height:Math.max(s||0,0)},a=this.createElement("rect");return this.styledMode||(void 0!==r&&(n["stroke-width"]=r,Gi(n,a.crisp(n))),n.fill="none"),a.rSetter=function(t,e,i){a.r=t,Fi(i,{rx:t,ry:t})},a.rGetter=function(){return a.r||0},a.attr(n)}roundedRect(t){return this.symbol("roundedRect").attr(t)}setSize(t,e,i){this.width=t,this.height=e,this.boxWrapper.animate({width:t,height:e},{step:function(){this.attr({viewBox:"0 0 "+this.attr("width")+" "+this.attr("height")})},duration:$i(i,!0)?void 0:0}),this.alignElements()}g(t){let e=this.createElement("g");return t?e.attr({class:"highcharts-"+t}):e}image(t,e,i,s,o,r){let n={preserveAspectRatio:"none"};qi(e)&&(n.x=e),qi(i)&&(n.y=i),qi(s)&&(n.width=s),qi(o)&&(n.height=o);let a=this.createElement("image").attr(n),l=function(e){a.attr({href:t}),r.call(a,e)};if(r){a.attr({href:"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="});let e=new Ri.Image;zi(e,"load",l),e.src=t,e.complete&&l({})}else a.attr({href:t});return a}symbol(t,e,i,s,o,r){let n,a,l,h,c=this,d=/^url\((.*?)\)$/,p=d.test(t),u=!p&&(this.symbols[t]?t:"circle"),g=u&&this.symbols[u];if(g)"number"==typeof e&&(a=g.call(this.symbols,e||0,i||0,s||0,o||0,r)),n=this.path(a),c.styledMode||n.attr("fill","none"),Gi(n,{symbolName:u||void 0,x:e,y:i,width:s,height:o}),r&&Gi(n,r);else if(p){l=t.match(d)[1];let s=n=this.image(l);s.imgwidth=$i(r&&r.width,Bi[l]&&Bi[l].width),s.imgheight=$i(r&&r.height,Bi[l]&&Bi[l].height),h=t=>t.attr({width:t.width,height:t.height}),["width","height"].forEach(t=>{s[`${t}Setter`]=function(t,e){this[e]=t;let{alignByTranslate:i,element:s,width:o,height:n,imgwidth:a,imgheight:l}=this,h="width"===e?a:l,c=1;r&&"within"===r.backgroundSize&&o&&n&&a&&l?(c=Math.min(o/a,n/l),Fi(s,{width:Math.round(a*c),height:Math.round(l*c)})):s&&h&&s.setAttribute(e,h),!i&&a&&l&&this.translate(((o||0)-a*c)/2,((n||0)-l*c)/2)}}),Yi(e)&&s.attr({x:e,y:i}),s.isImg=!0,s.symbolUrl=t,Yi(s.imgwidth)&&Yi(s.imgheight)?h(s):(s.attr({width:0,height:0}),Hi("img",{onload:function(){let t=Si[c.chartIndex];0===this.width&&(Wi(this,{position:"absolute",top:"-999em"}),Ei.body.appendChild(this)),Bi[l]={width:this.width,height:this.height},s.imgwidth=this.width,s.imgheight=this.height,s.element&&h(s),this.parentNode&&this.parentNode.removeChild(this),c.imgCount--,c.imgCount||!t||t.hasLoaded||t.onload()},src:l}),this.imgCount++)}return n}clipRect(t,e,i,s){return this.rect(t,e,i,s,0)}text(t,e,i,s){let o={};if(s&&(this.allowHTML||!this.forExport))return this.html(t,e,i);o.x=Math.round(e||0),i&&(o.y=Math.round(i)),Yi(t)&&(o.text=t);let r=this.createElement("text").attr(o);return s&&(!this.forExport||this.allowHTML)||(r.xSetter=function(t,e,i){let s=i.getElementsByTagName("tspan"),o=i.getAttribute(e);for(let i,r=0;r<s.length;r++)(i=s[r]).getAttribute(e)===o&&i.setAttribute(e,t);i.setAttribute(e,t)}),r}fontMetrics(t){let e=Zi(Qe.prototype.getStyle.call(t,"font-size")||0),i=e<24?e+3:Math.round(1.2*e);return{h:i,b:Math.round(.8*i),f:e}}rotCorr(t,e,i){let s=t;return e&&i&&(s=Math.max(s*Math.cos(e*Ti),4)),{x:-t/3*Math.sin(e*Ti),y:s}}pathToSegments(t){let e=[],i=[],s={A:8,C:7,H:2,L:3,M:3,Q:5,S:5,T:3,V:2};for(let o=0;o<t.length;o++)Vi(i[0])&&qi(t[o])&&i.length===s[i[0].toUpperCase()]&&t.splice(o,0,i[0].replace("M","L").replace("m","l")),"string"==typeof t[o]&&(i.length&&e.push(i.slice(0)),i.length=0),i.push(t[o]);return e.push(i.slice(0)),e}label(t,e,i,s,o,r,n,a,l){return new ai(this,t,e,i,s,o,r,n,a,l)}alignElements(){this.alignedObjects.forEach(t=>t.align())}}Gi(ts.prototype,{Element:Qe,SVG_NS:Ni,escapes:{"&":"&","<":"<",">":">","'":"'",'"':"""},symbols:gi,draw:Ii}),ge.registerRendererType("svg",ts,!0);let{composed:es}=w,{attr:is,css:ss,createElement:os,defined:rs,extend:ns,getAlignFactor:as,isNumber:ls,pInt:hs,pushUnique:cs}=q;function ds(t,e,i){let s=this.div?.style||i.style;Qe.prototype[`${e}Setter`].call(this,t,e,i),s&&(s[e]=t)}let ps=(t,e)=>{if(!t.div){let i=is(t.element,"class"),s=t.css,o=os("div",i?{className:i}:void 0,{position:"absolute",left:`${t.translateX||0}px`,top:`${t.translateY||0}px`,...t.styles,display:t.display,opacity:t.opacity,visibility:t.visibility},t.parentGroup?.div||e);t.classSetter=(t,e,i)=>{i.setAttribute("class",t),o.className=t},t.translateXSetter=t.translateYSetter=(e,i)=>{t[i]=e,o.style["translateX"===i?"left":"top"]=`${e}px`,t.doTransform=!0},t.opacitySetter=t.visibilitySetter=ds,t.css=e=>(s.call(t,e),e.cursor&&(o.style.cursor=e.cursor),e.pointerEvents&&(o.style.pointerEvents=e.pointerEvents),t),t.on=function(){return Qe.prototype.on.apply({element:o,onEvents:t.onEvents},arguments),t},t.div=o}return t.div};class us extends Qe{static compose(t){cs(es,this.compose)&&(t.prototype.html=function(t,e,i){return new us(this,"span").attr({text:t,x:Math.round(e),y:Math.round(i)})})}constructor(t,e){super(t,e),this.css({position:"absolute",...t.styledMode?{}:{fontFamily:t.style.fontFamily,fontSize:t.style.fontSize}})}getSpanCorrection(t,e,i){this.xCorr=-t*i,this.yCorr=-e}css(t){let e,{element:i}=this,s="SPAN"===i.tagName&&t&&"width"in t,o=s&&t.width;return s&&(delete t.width,this.textWidth=hs(o)||void 0,e=!0),"ellipsis"===t?.textOverflow&&(t.overflow="hidden"),t?.lineClamp&&(t.display="-webkit-box",t.WebkitLineClamp=t.lineClamp,t.WebkitBoxOrient="vertical",t.overflow="hidden"),ls(Number(t?.fontSize))&&(t.fontSize=t.fontSize+"px"),ns(this.styles,t),ss(i,t),e&&this.updateTransform(),this}htmlGetBBox(){let{element:t}=this;return{x:t.offsetLeft,y:t.offsetTop,width:t.offsetWidth,height:t.offsetHeight}}updateTransform(){if(!this.added)return void(this.alignOnAdd=!0);let{element:t,renderer:e,rotation:i,rotationOriginX:s,rotationOriginY:o,scaleX:r,scaleY:n,styles:a,textAlign:l="left",textWidth:h,translateX:c=0,translateY:d=0,x:p=0,y:u=0}=this,{display:g="block",whiteSpace:f}=a;if(ss(t,{marginLeft:`${c}px`,marginTop:`${d}px`}),"SPAN"===t.tagName){let a,c=[i,l,t.innerHTML,h,this.textAlign].join(","),d=-1*this.parentGroup?.padding||0;if(h!==this.oldTextWidth){let e=this.textPxLength?this.textPxLength:(ss(t,{width:"",whiteSpace:f||"nowrap"}),t.offsetWidth),s=h||0;(s>this.oldTextWidth||e>s)&&(/[ \-]/.test(t.textContent||t.innerText)||"ellipsis"===t.style.textOverflow)&&(ss(t,{width:e>s||i||r?h+"px":"auto",display:g,whiteSpace:f||"normal"}),this.oldTextWidth=h)}c!==this.cTT&&(a=e.fontMetrics(t).b,rs(i)&&(i!==(this.oldRotation||0)||l!==this.oldAlign)&&this.setSpanRotation(i,d,d),this.getSpanCorrection(!rs(i)&&!this.textWidth&&this.textPxLength||t.offsetWidth,a,as(l)));let{xCorr:m=0,yCorr:b=0}=this,x={left:`${p+m}px`,top:`${u+b}px`,textAlign:l,transformOrigin:`${(s??p)-m-p-d}px ${(o??u)-b-u-d}px`};(r||n)&&(x.transform=`scale(${r??1},${n??1})`),ss(t,x),this.cTT=c,this.oldRotation=i,this.oldAlign=l}}setSpanRotation(t,e,i){ss(this.element,{transform:`rotate(${t}deg)`,transformOrigin:`${e}% ${i}px`})}add(t){let e,i=this.renderer.box.parentNode,s=[];if(this.parentGroup=t,t&&!(e=t.div)){let o=t;for(;o;)s.push(o),o=o.parentGroup;for(let t of s.reverse())e=ps(t,i)}return(e||i).appendChild(this.element),this.added=!0,this.alignOnAdd&&this.updateTransform(),this}textSetter(t){t!==this.textStr&&(delete this.bBox,delete this.oldTextWidth,$t.setElementHTML(this.element,t??""),this.textStr=t,this.doTransform=!0)}alignSetter(t){this.alignValue=this.textAlign=t,this.doTransform=!0}xSetter(t,e){this[e]=t,this.doTransform=!0}}let gs=us.prototype;gs.visibilitySetter=gs.opacitySetter=ds,gs.ySetter=gs.rotationSetter=gs.rotationOriginXSetter=gs.rotationOriginYSetter=gs.xSetter,function(t){t.xAxis={alignTicks:!0,allowDecimals:void 0,panningEnabled:!0,zIndex:2,zoomEnabled:!0,dateTimeLabelFormats:{millisecond:{main:"%[HMSL]",range:!1},second:{main:"%[HMS]",range:!1},minute:{main:"%[HM]",range:!1},hour:{main:"%[HM]",range:!1},day:{main:"%[eb]"},week:{main:"%[eb]"},month:{main:"%[bY]"},year:{main:"%Y"}},endOnTick:!1,gridLineDashStyle:"Solid",gridZIndex:1,labels:{autoRotationLimit:80,distance:15,enabled:!0,indentation:10,overflow:"justify",reserveSpace:void 0,rotation:void 0,staggerLines:0,step:0,useHTML:!1,zIndex:7,style:{color:"#333333",cursor:"default",fontSize:"0.8em",textOverflow:"ellipsis"}},maxPadding:.01,minorGridLineDashStyle:"Solid",minorTickLength:2,minorTickPosition:"outside",minorTicksPerMajor:5,minPadding:.01,offset:void 0,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",useHTML:!1,x:0,y:0,style:{color:"#666666",fontSize:"0.8em"}},visible:!0,minorGridLineColor:"#f2f2f2",minorGridLineWidth:1,minorTickColor:"#999999",lineColor:"#333333",lineWidth:1,gridLineColor:"#e6e6e6",gridLineWidth:void 0,tickColor:"#333333"},t.yAxis={reversedStacks:!0,endOnTick:!0,maxPadding:.05,minPadding:.05,tickPixelInterval:72,showLastLabel:!0,labels:{x:void 0},startOnTick:!0,title:{text:"Values"},stackLabels:{animation:{},allowOverlap:!1,enabled:!1,crop:!0,overflow:"justify",formatter:function(){let{numberFormatter:t}=this.axis.chart;return t(this.total||0,-1)},style:{color:"#000000",fontSize:"0.7em",fontWeight:"bold",textOutline:"1px contrast"}},gridLineWidth:1,lineWidth:0}}(r||(r={}));let fs=r,{addEvent:ms,isFunction:bs,objectEach:xs,removeEvent:ys}=q;(n||(n={})).registerEventOptions=function(t,e){t.eventOptions=t.eventOptions||{},xs(e.events,function(e,i){t.eventOptions[i]!==e&&(t.eventOptions[i]&&(ys(t,i,t.eventOptions[i]),delete t.eventOptions[i]),bs(e)&&(t.eventOptions[i]=e,ms(t,i,e,{order:0})))})};let vs=n,{deg2rad:ws}=w,{clamp:ks,correctFloat:As,defined:Ms,destroyObjectProperties:Cs,extend:Ps,fireEvent:Ss,getAlignFactor:Ts,isNumber:Es,merge:Ls,objectEach:Os,pick:Ds}=q,Is=class{constructor(t,e,i,s,o){this.isNew=!0,this.isNewLabel=!0,this.axis=t,this.pos=e,this.type=i||"",this.parameters=o||{},this.tickmarkOffset=this.parameters.tickmarkOffset,this.options=this.parameters.options,Ss(this,"init"),i||s||this.addLabel()}addLabel(){let t,e,i,s=this,o=s.axis,r=o.options,n=o.chart,a=o.categories,l=o.logarithmic,h=o.names,c=s.pos,d=Ds(s.options&&s.options.labels,r.labels),p=o.tickPositions,u=c===p[0],g=c===p[p.length-1],f=(!d.step||1===d.step)&&1===o.tickInterval,m=p.info,b=s.label,x=this.parameters.category||(a?Ds(a[c],h[c],c):c);l&&Es(x)&&(x=As(l.lin2log(x))),o.dateTime&&(m?t=(e=n.time.resolveDTLFormat(r.dateTimeLabelFormats[!r.grid&&m.higherRanks[c]||m.unitName])).main:Es(x)&&(t=o.dateTime.getXDateFormat(x,r.dateTimeLabelFormats||{}))),s.isFirst=u,s.isLast=g;let y={axis:o,chart:n,dateTimeLabelFormat:t,isFirst:u,isLast:g,pos:c,tick:s,tickPositionInfo:m,value:x};Ss(this,"labelFormat",y);let v=t=>d.formatter?d.formatter.call(t,t):d.format?(t.text=o.defaultLabelFormatter.call(t),ue.format(d.format,t,n)):o.defaultLabelFormatter.call(t),w=v.call(y,y),k=e&&e.list;s.shortenLabel=k?function(){for(i=0;i<k.length;i++)if(Ps(y,{dateTimeLabelFormat:k[i]}),b.attr({text:v.call(y,y)}),b.getBBox().width<o.getSlotWidth(s)-2*(d.padding||0))return;b.attr({text:""})}:void 0,f&&o._addedPlotLB&&s.moveLabel(w,d),Ms(b)||s.movedLabel?b&&b.textStr!==w&&!f&&(!b.textWidth||d.style.width||b.styles.width||b.css({width:null}),b.attr({text:w}),b.textPxLength=b.getBBox().width):(s.label=b=s.createLabel(w,d),s.rotation=0)}createLabel(t,e,i){let s=this.axis,{renderer:o,styledMode:r}=s.chart,n=Ms(t)&&e.enabled?o.text(t,i?.x,i?.y,e.useHTML).add(s.labelGroup):void 0;if(n){let t=e.style.whiteSpace||"normal";r||n.css(Ls(e.style,{whiteSpace:"nowrap"})),n.textPxLength=n.getBBox().width,r||n.css({whiteSpace:t})}return n}destroy(){Cs(this,this.axis)}getPosition(t,e,i,s){let o=this.axis,r=o.chart,n=s&&r.oldChartHeight||r.chartHeight,a={x:t?As(o.translate(e+i,void 0,void 0,s)+o.transB):o.left+o.offset+(o.opposite?(s&&r.oldChartWidth||r.chartWidth)-o.right-o.left:0),y:t?n-o.bottom+o.offset-(o.opposite?o.height:0):As(n-o.translate(e+i,void 0,void 0,s)-o.transB)};return a.y=ks(a.y,-1e9,1e9),Ss(this,"afterGetPosition",{pos:a}),a}getLabelPosition(t,e,i,s,o,r,n,a){let l,h,c=this.axis,d=c.transA,p=c.isLinked&&c.linkedParent?c.linkedParent.reversed:c.reversed,u=c.staggerLines,g=c.tickRotCorr||{x:0,y:0},f=s||c.reserveSpaceDefault?0:-c.labelOffset*("center"===c.labelAlign?.5:1),m=o.distance,b={};return l=0===c.side?i.rotation?-m:-i.getBBox().height:2===c.side?g.y+m:Math.cos(i.rotation*ws)*(g.y-i.getBBox(!1,0).height/2),Ms(o.y)&&(l=0===c.side&&c.horiz?o.y+l:o.y),t=t+Ds(o.x,[0,1,0,-1][c.side]*m)+f+g.x-(r&&s?r*d*(p?-1:1):0),e=e+l-(r&&!s?r*d*(p?1:-1):0),u&&(h=n/(a||1)%u,c.opposite&&(h=u-h-1),e+=h*(c.labelOffset/u)),b.x=t,b.y=Math.round(e),Ss(this,"afterGetLabelPosition",{pos:b,tickmarkOffset:r,index:n}),b}getLabelSize(){return this.label?this.label.getBBox()[this.axis.horiz?"height":"width"]:0}getMarkPath(t,e,i,s,o=!1,r){return r.crispLine([["M",t,e],["L",t+(o?0:-i),e+(o?i:0)]],s)}handleOverflow(t){let e,i,s,o=this.axis,r=o.options.labels,n=t.x,a=o.chart.chartWidth,l=o.chart.spacing,h=Ds(o.labelLeft,Math.min(o.pos,l[3])),c=Ds(o.labelRight,Math.max(o.isRadial?0:o.pos+o.len,a-l[1])),d=this.label,p=this.rotation,u=Ts(o.labelAlign||d.attr("align")),g=d.getBBox().width,f=o.getSlotWidth(this),m=f,b=1;p||"justify"!==r.overflow?p<0&&n-u*g<h?s=Math.round(n/Math.cos(p*ws)-h):p>0&&n+u*g>c&&(s=Math.round((a-n)/Math.cos(p*ws))):(e=n-u*g,i=n+(1-u)*g,e<h?m=t.x+m*(1-u)-h:i>c&&(m=c-t.x+m*u,b=-1),(m=Math.min(f,m))<f&&"center"===o.labelAlign&&(t.x+=b*(f-m-u*(f-Math.min(g,m)))),(g>m||o.autoRotation&&(d.styles||{}).width)&&(s=m)),s&&d&&(this.shortenLabel?this.shortenLabel():d.css(Ps({},{width:Math.floor(s)+"px",lineClamp:o.isRadial?0:1})))}moveLabel(t,e){let i,s=this,o=s.label,r=s.axis,n=!1;o&&o.textStr===t?(s.movedLabel=o,n=!0,delete s.label):Os(r.ticks,function(e){n||e.isNew||e===s||!e.label||e.label.textStr!==t||(s.movedLabel=e.label,n=!0,e.labelPos=s.movedLabel.xy,delete e.label)}),!n&&(s.labelPos||o)&&(i=s.labelPos||o.xy,s.movedLabel=s.createLabel(t,e,i),s.movedLabel&&s.movedLabel.attr({opacity:0}))}render(t,e,i){let s=this.axis,o=s.horiz,r=this.pos,n=Ds(this.tickmarkOffset,s.tickmarkOffset),a=this.getPosition(o,r,n,e),l=a.x,h=a.y,c=s.pos,d=c+s.len,p=o?l:h;!s.chart.polar&&this.isNew&&(As(p)<c||p>d)&&(i=0);let u=Ds(i,this.label&&this.label.newOpacity,1);i=Ds(i,1),this.isActive=!0,this.renderGridLine(e,i),this.renderMark(a,i),this.renderLabel(a,e,u,t),this.isNew=!1,Ss(this,"afterRender")}renderGridLine(t,e){let i,s=this.axis,o=s.options,r={},n=this.pos,a=this.type,l=Ds(this.tickmarkOffset,s.tickmarkOffset),h=s.chart.renderer,c=this.gridLine,d=o.gridLineWidth,p=o.gridLineColor,u=o.gridLineDashStyle;"minor"===this.type&&(d=o.minorGridLineWidth,p=o.minorGridLineColor,u=o.minorGridLineDashStyle),c||(s.chart.styledMode||(r.stroke=p,r["stroke-width"]=d||0,r.dashstyle=u),a||(r.zIndex=1),t&&(e=0),this.gridLine=c=h.path().attr(r).addClass("highcharts-"+(a?a+"-":"")+"grid-line").add(s.gridGroup)),c&&(i=s.getPlotLinePath({value:n+l,lineWidth:c.strokeWidth(),force:"pass",old:t,acrossPanes:!1}))&&c[t||this.isNew?"attr":"animate"]({d:i,opacity:e})}renderMark(t,e){let i=this.axis,s=i.options,o=i.chart.renderer,r=this.type,n=i.tickSize(r?r+"Tick":"tick"),a=t.x,l=t.y,h=Ds(s["minor"!==r?"tickWidth":"minorTickWidth"],!r&&i.isXAxis?1:0),c=s["minor"!==r?"tickColor":"minorTickColor"],d=this.mark,p=!d;n&&(i.opposite&&(n[0]=-n[0]),d||(this.mark=d=o.path().addClass("highcharts-"+(r?r+"-":"")+"tick").add(i.axisGroup),i.chart.styledMode||d.attr({stroke:c,"stroke-width":h})),d[p?"attr":"animate"]({d:this.getMarkPath(a,l,n[0],d.strokeWidth(),i.horiz,o),opacity:e}))}renderLabel(t,e,i,s){let o=this.axis,r=o.horiz,n=o.options,a=this.label,l=n.labels,h=l.step,c=Ds(this.tickmarkOffset,o.tickmarkOffset),d=t.x,p=t.y,u=!0;a&&Es(d)&&(a.xy=t=this.getLabelPosition(d,p,a,r,l,c,s,h),this.isFirst&&!this.isLast&&!n.showFirstLabel||this.isLast&&!this.isFirst&&!n.showLastLabel?u=!1:!r||l.step||l.rotation||e||0===i||this.handleOverflow(t),h&&s%h&&(u=!1),u&&Es(t.y)?(t.opacity=i,a[this.isNewLabel?"attr":"animate"](t).show(!0),this.isNewLabel=!1):(a.hide(),this.isNewLabel=!0))}replaceMovedLabel(){let t=this.label,e=this.axis;t&&!this.isNew&&(t.animate({opacity:0},void 0,t.destroy),delete this.label),e.isDirty=!0,this.label=this.movedLabel,delete this.movedLabel}},{animObject:Ns}=Rt,{xAxis:Bs,yAxis:Rs}=fs,{defaultOptions:zs}=ft,{registerEventOptions:Fs}=vs,{deg2rad:Hs}=w,{arrayMax:Xs,arrayMin:Ws,clamp:Ys,correctFloat:js,defined:Gs,destroyObjectProperties:_s,erase:qs,error:Us,extend:Vs,fireEvent:Ks,getClosestDistance:$s,insertItem:Zs,isArray:Js,isNumber:Qs,isString:to,merge:eo,normalizeTickInterval:io,objectEach:so,pick:oo,relativeLength:ro,removeEvent:no,splat:ao,syncTimeout:lo}=q,ho=(t,e)=>io(e,void 0,void 0,oo(t.options.allowDecimals,e<.5||void 0!==t.tickAmount),!!t.tickAmount);Vs(zs,{xAxis:Bs,yAxis:eo(Bs,Rs)});class co{constructor(t,e,i){this.init(t,e,i)}init(t,e,i=this.coll){let s="xAxis"===i,o=this.isZAxis||(t.inverted?!s:s);this.chart=t,this.horiz=o,this.isXAxis=s,this.coll=i,Ks(this,"init",{userOptions:e}),this.opposite=oo(e.opposite,this.opposite),this.side=oo(e.side,this.side,o?this.opposite?0:2:this.opposite?1:3),this.setOptions(e);let r=this.options,n=r.labels;this.type??(this.type=r.type||"linear"),this.uniqueNames??(this.uniqueNames=r.uniqueNames??!0),Ks(this,"afterSetType"),this.userOptions=e,this.minPixelPadding=0,this.reversed=oo(r.reversed,this.reversed),this.visible=r.visible,this.zoomEnabled=r.zoomEnabled,this.hasNames="category"===this.type||!0===r.categories,this.categories=Js(r.categories)&&r.categories||(this.hasNames?[]:void 0),this.names||(this.names=[],this.names.keys={}),this.plotLinesAndBandsGroups={},this.positiveValuesOnly=!!this.logarithmic,this.isLinked=Gs(r.linkedTo),this.ticks={},this.labelEdge=[],this.minorTicks={},this.plotLinesAndBands=[],this.alternateBands={},this.len??(this.len=0),this.minRange=this.userMinRange=r.minRange||r.maxZoom,this.range=r.range,this.offset=r.offset||0,this.max=void 0,this.min=void 0;let a=oo(r.crosshair,ao(t.options.tooltip.crosshairs)[s?0:1]);this.crosshair=!0===a?{}:a,-1===t.axes.indexOf(this)&&(s?t.axes.splice(t.xAxis.length,0,this):t.axes.push(this),Zs(this,t[this.coll])),t.orderItems(this.coll),this.series=this.series||[],t.inverted&&!this.isZAxis&&s&&!Gs(this.reversed)&&(this.reversed=!0),this.labelRotation=Qs(n.rotation)?n.rotation:void 0,Fs(this,r),Ks(this,"afterInit")}setOptions(t){let e=this.horiz?{labels:{autoRotation:[-45],padding:3},margin:15}:{labels:{padding:1},title:{rotation:90*this.side}};this.options=eo(e,zs[this.coll],t),Ks(this,"afterSetOptions",{userOptions:t})}defaultLabelFormatter(){let t,e,i=this.axis,{numberFormatter:s}=this.chart,o=Qs(this.value)?this.value:NaN,r=i.chart.time,n=i.categories,a=this.dateTimeLabelFormat,l=zs.lang,h=l.numericSymbols,c=l.numericSymbolMagnitude||1e3,d=i.logarithmic?Math.abs(o):i.tickInterval,p=h&&h.length;if(n)e=`${this.value}`;else if(a)e=r.dateFormat(a,o,!0);else if(p&&h&&d>=1e3)for(;p--&&void 0===e;)d>=(t=Math.pow(c,p+1))&&10*o%t==0&&null!==h[p]&&0!==o&&(e=s(o/t,-1)+h[p]);return void 0===e&&(e=Math.abs(o)>=1e4?s(o,-1):s(o,-1,void 0,"")),e}getSeriesExtremes(){let t,e=this;Ks(this,"getSeriesExtremes",null,function(){e.hasVisibleSeries=!1,e.dataMin=e.dataMax=e.threshold=void 0,e.softThreshold=!e.isXAxis,e.series.forEach(i=>{if(i.reserveSpace()){let s,o,r,n=i.options,a=n.threshold;if(e.hasVisibleSeries=!0,e.positiveValuesOnly&&0>=(a||0)&&(a=void 0),e.isXAxis)(s=i.getColumn("x")).length&&(s=e.logarithmic?s.filter(t=>t>0):s,o=(t=i.getXExtremes(s)).min,r=t.max,Qs(o)||o instanceof Date||(s=s.filter(Qs),o=(t=i.getXExtremes(s)).min,r=t.max),s.length&&(e.dataMin=Math.min(oo(e.dataMin,o),o),e.dataMax=Math.max(oo(e.dataMax,r),r)));else{let t=i.applyExtremes();Qs(t.dataMin)&&(o=t.dataMin,e.dataMin=Math.min(oo(e.dataMin,o),o)),Qs(t.dataMax)&&(r=t.dataMax,e.dataMax=Math.max(oo(e.dataMax,r),r)),Gs(a)&&(e.threshold=a),(!n.softThreshold||e.positiveValuesOnly)&&(e.softThreshold=!1)}}})}),Ks(this,"afterGetSeriesExtremes")}translate(t,e,i,s,o,r){let n=this.linkedParent||this,a=s&&n.old?n.old.min:n.min;if(!Qs(a))return NaN;let l=n.minPixelPadding,h=(n.isOrdinal||n.brokenAxis?.hasBreaks||n.logarithmic&&o)&&n.lin2val,c=1,d=0,p=s&&n.old?n.old.transA:n.transA,u=0;return p||(p=n.transA),i&&(c*=-1,d=n.len),n.reversed&&(c*=-1,d-=c*(n.sector||n.len)),e?(u=(t=t*c+d-l)/p+a,h&&(u=n.lin2val(u))):(h&&(t=n.val2lin(t)),u=c*(t-a)*p+d+c*l+(Qs(r)?p*r:0),n.isRadial||(u=js(u))),u}toPixels(t,e){return this.translate(this.chart?.time.parse(t)??NaN,!1,!this.horiz,void 0,!0)+(e?0:this.pos)}toValue(t,e){return this.translate(t-(e?0:this.pos),!0,!this.horiz,void 0,!0)}getPlotLinePath(t){let e,i,s,o,r,n=this,a=n.chart,l=n.left,h=n.top,c=t.old,d=t.value,p=t.lineWidth,u=c&&a.oldChartHeight||a.chartHeight,g=c&&a.oldChartWidth||a.chartWidth,f=n.transB,m=t.translatedValue,b=t.force;function x(t,e,i){return"pass"!==b&&(t<e||t>i)&&(b?t=Ys(t,e,i):r=!0),t}let y={value:d,lineWidth:p,old:c,force:b,acrossPanes:t.acrossPanes,translatedValue:m};return Ks(this,"getPlotLinePath",y,function(t){e=s=(m=Ys(m=oo(m,n.translate(d,void 0,void 0,c)),-1e9,1e9))+f,i=o=u-m-f,Qs(m)?n.horiz?(i=h,o=u-n.bottom+(n.options.isInternal?0:a.scrollablePixelsY||0),e=s=x(e,l,l+n.width)):(e=l,s=g-n.right+(a.scrollablePixelsX||0),i=o=x(i,h,h+n.height)):(r=!0,b=!1),t.path=r&&!b?void 0:a.renderer.crispLine([["M",e,i],["L",s,o]],p||1)}),y.path}getLinearTickPositions(t,e,i){let s,o,r,n=js(Math.floor(e/t)*t),a=js(Math.ceil(i/t)*t),l=[];if(js(n+t)===n&&(r=20),this.single)return[e];for(s=n;s<=a&&(l.push(s),(s=js(s+t,r))!==o);)o=s;return l}getMinorTickInterval(){let{minorTicks:t,minorTickInterval:e}=this.options;return!0===t?oo(e,"auto"):!1!==t?e:void 0}getMinorTickPositions(){let t,e=this.options,i=this.tickPositions,s=this.minorTickInterval,o=this.pointRangePadding||0,r=(this.min||0)-o,n=(this.max||0)+o,a=this.brokenAxis?.hasBreaks?this.brokenAxis.unitLength:n-r,l=[];if(a&&a/s<this.len/3){let o=this.logarithmic;if(o)this.paddedTicks.forEach(function(t,e,i){e&&l.push.apply(l,o.getLogTickPositions(s,i[e-1],i[e],!0))});else if(this.dateTime&&"auto"===this.getMinorTickInterval())l=l.concat(this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(s),r,n,e.startOfWeek));else for(t=r+(i[0]-r)%s;t<=n&&t!==l[0];t+=s)l.push(t)}return 0!==l.length&&this.trimTicks(l),l}adjustForMinRange(){let t,e,i,s,o=this.options,r=this.logarithmic,n=this.chart.time,{max:a,min:l,minRange:h}=this;this.isXAxis&&void 0===h&&!r&&(h=Gs(o.min)||Gs(o.max)||Gs(o.floor)||Gs(o.ceiling)?null:Math.min(5*($s(this.series.map(t=>{let e=t.getColumn("x");return t.xIncrement?e.slice(0,2):e}))||0),this.dataMax-this.dataMin)),Qs(a)&&Qs(l)&&Qs(h)&&a-l<h&&(e=this.dataMax-this.dataMin>=h,t=(h-a+l)/2,i=[l-t,n.parse(o.min)??l-t],e&&(i[2]=r?r.log2lin(this.dataMin):this.dataMin),s=[(l=Xs(i))+h,n.parse(o.max)??l+h],e&&(s[2]=r?r.log2lin(this.dataMax):this.dataMax),(a=Ws(s))-l<h&&(i[0]=a-h,i[1]=n.parse(o.min)??a-h,l=Xs(i))),this.minRange=h,this.min=l,this.max=a}getClosest(){let t,e;if(this.categories)e=1;else{let i=[];this.series.forEach(function(t){let s=t.closestPointRange,o=t.getColumn("x");1===o.length?i.push(o[0]):t.sorted&&Gs(s)&&t.reserveSpace()&&(e=Gs(e)?Math.min(e,s):s)}),i.length&&(i.sort((t,e)=>t-e),t=$s([i]))}return t&&e?Math.min(t,e):t||e}nameToX(t){let e,i=Js(this.options.categories),s=i?this.categories:this.names,o=t.options.x;return t.series.requireSorting=!1,Gs(o)||(o=this.uniqueNames&&s?i?s.indexOf(t.name):oo(s.keys[t.name],-1):t.series.autoIncrement()),-1===o?!i&&s&&(e=s.length):Qs(o)&&(e=o),void 0!==e?(this.names[e]=t.name,this.names.keys[t.name]=e):t.x&&(e=t.x),e}updateNames(){let t=this,e=this.names;e.length>0&&(Object.keys(e.keys).forEach(function(t){delete e.keys[t]}),e.length=0,this.minRange=this.userMinRange,(this.series||[]).forEach(e=>{e.xIncrement=null,(!e.points||e.isDirtyData)&&(t.max=Math.max(t.max||0,e.dataTable.rowCount-1),e.processData(),e.generatePoints());let i=e.getColumn("x").slice();e.data.forEach((e,s)=>{let o=i[s];e?.options&&void 0!==e.name&&void 0!==(o=t.nameToX(e))&&o!==e.x&&(i[s]=e.x=o)}),e.dataTable.setColumn("x",i)}))}setAxisTranslation(){let t,e,i=this,s=i.max-i.min,o=i.linkedParent,r=!!i.categories,n=i.isXAxis,a=i.axisPointRange||0,l=0,h=0,c=i.transA;(n||r||a)&&(t=i.getClosest(),o?(l=o.minPointOffset,h=o.pointRangePadding):i.series.forEach(function(e){let s=r?1:n?oo(e.options.pointRange,t,0):i.axisPointRange||0,o=e.options.pointPlacement;if(a=Math.max(a,s),!i.single||r){let t=e.is("xrange")?!n:n;l=Math.max(l,t&&to(o)?0:s/2),h=Math.max(h,t&&"on"===o?0:s)}}),e=i.ordinal&&i.ordinal.slope&&t?i.ordinal.slope/t:1,i.minPointOffset=l*=e,i.pointRangePadding=h*=e,i.pointRange=Math.min(a,i.single&&r?1:s),n&&t&&(i.closestPointRange=t)),i.translationSlope=i.transA=c=i.staticScale||i.len/(s+h||1),i.transB=i.horiz?i.left:i.bottom,i.minPixelPadding=c*l,Ks(this,"afterSetAxisTranslation")}minFromRange(){let{max:t,min:e}=this;return Qs(t)&&Qs(e)&&t-e||void 0}setTickInterval(t){let e,i,s,o,r,{categories:n,chart:a,dataMax:l,dataMin:h,dateTime:c,isXAxis:d,logarithmic:p,options:u,softThreshold:g}=this,f=a.time,m=Qs(this.threshold)?this.threshold:void 0,b=this.minRange||0,{ceiling:x,floor:y,linkedTo:v,softMax:w,softMin:k}=u,A=Qs(v)&&a[this.coll]?.[v],M=u.tickPixelInterval,C=u.maxPadding,P=u.minPadding,S=0,T=Qs(u.tickInterval)&&u.tickInterval>=0?u.tickInterval:void 0;if(c||n||A||this.getTickAmount(),o=oo(this.userMin,f.parse(u.min)),r=oo(this.userMax,f.parse(u.max)),A?(this.linkedParent=A,e=A.getExtremes(),this.min=oo(e.min,e.dataMin),this.max=oo(e.max,e.dataMax),this.type!==A.type&&Us(11,!0,a)):(g&&Gs(m)&&Qs(l)&&Qs(h)&&(h>=m?(i=m,P=0):l<=m&&(s=m,C=0)),this.min=oo(o,i,h),this.max=oo(r,s,l)),Qs(this.max)&&Qs(this.min)&&(p&&(this.positiveValuesOnly&&!t&&0>=Math.min(this.min,oo(h,this.min))&&Us(10,!0,a),this.min=js(p.log2lin(this.min),16),this.max=js(p.log2lin(this.max),16)),this.range&&Qs(h)&&(this.userMin=this.min=o=Math.max(h,this.minFromRange()||0),this.userMax=r=this.max,this.range=void 0)),Ks(this,"foundExtremes"),this.adjustForMinRange(),Qs(this.min)&&Qs(this.max)){if(!Qs(this.userMin)&&Qs(k)&&k<this.min&&(this.min=o=k),!Qs(this.userMax)&&Qs(w)&&w>this.max&&(this.max=r=w),n||this.axisPointRange||this.stacking?.usePercentage||A||!(S=this.max-this.min)||(!Gs(o)&&P&&(this.min-=S*P),Gs(r)||!C||(this.max+=S*C)),!Qs(this.userMin)&&Qs(y)&&(this.min=Math.max(this.min,y)),!Qs(this.userMax)&&Qs(x)&&(this.max=Math.min(this.max,x)),g&&Qs(h)&&Qs(l)){let t=m||0;!Gs(o)&&this.min<t&&h>=t?this.min=u.minRange?Math.min(t,this.max-b):t:!Gs(r)&&this.max>t&&l<=t&&(this.max=u.minRange?Math.max(t,this.min+b):t)}!a.polar&&this.min>this.max&&(Gs(u.min)?this.max=this.min:Gs(u.max)&&(this.min=this.max)),S=this.max-this.min}if(this.min!==this.max&&Qs(this.min)&&Qs(this.max)?A&&!T&&M===A.options.tickPixelInterval?this.tickInterval=T=A.tickInterval:this.tickInterval=oo(T,this.tickAmount?S/Math.max(this.tickAmount-1,1):void 0,n?1:S*M/Math.max(this.len,M)):this.tickInterval=1,d&&!t){let t=this.min!==this.old?.min||this.max!==this.old?.max;this.series.forEach(function(e){e.forceCrop=e.forceCropping?.(),e.processData(t)}),Ks(this,"postProcessData",{hasExtremesChanged:t})}this.setAxisTranslation(),Ks(this,"initialAxisTranslation"),this.pointRange&&!T&&(this.tickInterval=Math.max(this.pointRange,this.tickInterval));let E=oo(u.minTickInterval,c&&!this.series.some(t=>!t.sorted)?this.closestPointRange:0);!T&&this.tickInterval<E&&(this.tickInterval=E),c||p||T||(this.tickInterval=ho(this,this.tickInterval)),this.tickAmount||(this.tickInterval=this.unsquish()),this.setTickPositions()}setTickPositions(){let t,e=this.options,i=e.tickPositions,s=e.tickPositioner,o=this.getMinorTickInterval(),r=!this.isPanning,n=r&&e.startOnTick,a=r&&e.endOnTick,l=[];if(this.tickmarkOffset=this.categories&&"between"===e.tickmarkPlacement&&1===this.tickInterval?.5:0,this.single=this.min===this.max&&Gs(this.min)&&!this.tickAmount&&(this.min%1==0||!1!==e.allowDecimals),i)l=i.slice();else if(Qs(this.min)&&Qs(this.max)){if(!this.ordinal?.positions&&(this.max-this.min)/this.tickInterval>Math.max(2*this.len,200))l=[this.min,this.max],Us(19,!1,this.chart);else if(this.dateTime)l=this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(this.tickInterval,e.units),this.min,this.max,e.startOfWeek,this.ordinal?.positions,this.closestPointRange,!0);else if(this.logarithmic)l=this.logarithmic.getLogTickPositions(this.tickInterval,this.min,this.max);else{let t=this.tickInterval,e=t;for(;e<=2*t&&(l=this.getLinearTickPositions(this.tickInterval,this.min,this.max),this.tickAmount&&l.length>this.tickAmount);)this.tickInterval=ho(this,e*=1.1)}l.length>this.len&&(l=[l[0],l[l.length-1]])[0]===l[1]&&(l.length=1),s&&(this.tickPositions=l,(t=s.apply(this,[this.min,this.max]))&&(l=t))}this.tickPositions=l,this.minorTickInterval="auto"===o&&this.tickInterval?this.tickInterval/e.minorTicksPerMajor:o,this.paddedTicks=l.slice(0),this.trimTicks(l,n,a),!this.isLinked&&Qs(this.min)&&Qs(this.max)&&(this.single&&l.length<2&&!this.categories&&!this.series.some(t=>t.is("heatmap")&&"between"===t.options.pointPlacement)&&(this.min-=.5,this.max+=.5),i||t||this.adjustTickAmount()),Ks(this,"afterSetTickPositions")}trimTicks(t,e,i){let s=t[0],o=t[t.length-1],r=!this.isOrdinal&&this.minPointOffset||0;if(Ks(this,"trimTicks"),!this.isLinked){if(e&&s!==-1/0)this.min=s;else for(;this.min-r>t[0];)t.shift();if(i)this.max=o;else for(;this.max+r<t[t.length-1];)t.pop();0===t.length&&Gs(s)&&!this.options.tickPositions&&t.push((o+s)/2)}}alignToOthers(){let t,e=this,i=e.chart,s=[this],o=e.options,r=i.options.chart,n="yAxis"===this.coll&&r.alignThresholds,a=[];if(e.thresholdAlignment=void 0,(!1!==r.alignTicks&&o.alignTicks||n)&&!1!==o.startOnTick&&!1!==o.endOnTick&&!e.logarithmic){let o=t=>{let{horiz:e,options:i}=t;return[e?i.left:i.top,i.width,i.height,i.pane].join(",")},r=o(this);i[this.coll].forEach(function(i){let{series:n}=i;n.length&&n.some(t=>t.visible)&&i!==e&&o(i)===r&&(t=!0,s.push(i))})}if(t&&n){s.forEach(t=>{let i=t.getThresholdAlignment(e);Qs(i)&&a.push(i)});let t=a.length>1?a.reduce((t,e)=>t+e,0)/a.length:void 0;s.forEach(e=>{e.thresholdAlignment=t})}return t}getThresholdAlignment(t){if((!Qs(this.dataMin)||this!==t&&this.series.some(t=>t.isDirty||t.isDirtyData))&&this.getSeriesExtremes(),Qs(this.threshold)){let t=Ys((this.threshold-(this.dataMin||0))/((this.dataMax||0)-(this.dataMin||0)),0,1);return this.options.reversed&&(t=1-t),t}}getTickAmount(){let t=this.options,e=t.tickPixelInterval,i=t.tickAmount;Gs(t.tickInterval)||i||!(this.len<e)||this.isRadial||this.logarithmic||!t.startOnTick||!t.endOnTick||(i=2),!i&&this.alignToOthers()&&(i=Math.ceil(this.len/e)+1),i<4&&(this.finalTickAmt=i,i=5),this.tickAmount=i}adjustTickAmount(){let t,e,i,s=this,{finalTickAmt:o,max:r,min:n,options:a,tickPositions:l,tickAmount:h,thresholdAlignment:c}=s,d=l?.length,p=oo(s.threshold,s.softThreshold?0:null),u=s.tickInterval,g=()=>l.push(js(l[l.length-1]+u)),f=()=>l.unshift(js(l[0]-u));if(Qs(c)&&(i=c<.5?Math.ceil(c*(h-1)):Math.floor(c*(h-1)),a.reversed&&(i=h-1-i)),s.hasData()&&Qs(n)&&Qs(r)){let c=()=>{s.transA*=(d-1)/(h-1),s.min=a.startOnTick?l[0]:Math.min(n,l[0]),s.max=a.endOnTick?l[l.length-1]:Math.max(r,l[l.length-1])};if(Qs(i)&&Qs(s.threshold)){for(;l[i]!==p||l.length!==h||l[0]>n||l[l.length-1]<r;){for(l.length=0,l.push(s.threshold);l.length<h;)void 0===l[i]||l[i]>s.threshold?f():g();if(u>8*s.tickInterval)break;u*=2}c()}else if(d<h){for(;l.length<h;)l.length%2||n===p?g():f();c()}if(Gs(o)){for(e=t=l.length;e--;)(3===o&&e%2==1||o<=2&&e>0&&e<t-1)&&l.splice(e,1);s.finalTickAmt=void 0}}}setScale(){let{coll:t,stacking:e}=this,i=!1,s=!1;this.series.forEach(t=>{i=i||t.isDirtyData||t.isDirty,s=s||t.xAxis&&t.xAxis.isDirty||!1}),this.setAxisSize();let o=this.len!==(this.old&&this.old.len);o||i||s||this.isLinked||this.forceRedraw||this.userMin!==(this.old&&this.old.userMin)||this.userMax!==(this.old&&this.old.userMax)||this.alignToOthers()?(e&&"yAxis"===t&&e.buildStacks(),this.forceRedraw=!1,this.userMinRange||(this.minRange=void 0),this.getSeriesExtremes(),this.setTickInterval(),e&&"xAxis"===t&&e.buildStacks(),this.isDirty||(this.isDirty=o||this.min!==this.old?.min||this.max!==this.old?.max)):e&&e.cleanStacks(),i&&delete this.allExtremes,Ks(this,"afterSetScale")}setExtremes(t,e,i=!0,s,o){let r=this.chart;this.series.forEach(t=>{delete t.kdTree}),t=r.time.parse(t),e=r.time.parse(e),Ks(this,"setExtremes",o=Vs(o,{min:t,max:e}),t=>{this.userMin=t.min,this.userMax=t.max,this.eventArgs=t,i&&r.redraw(s)})}setAxisSize(){let t=this.chart,e=this.options,i=e.offsets||[0,0,0,0],s=this.horiz,o=this.width=Math.round(ro(oo(e.width,t.plotWidth-i[3]+i[1]),t.plotWidth)),r=this.height=Math.round(ro(oo(e.height,t.plotHeight-i[0]+i[2]),t.plotHeight)),n=this.top=Math.round(ro(oo(e.top,t.plotTop+i[0]),t.plotHeight,t.plotTop)),a=this.left=Math.round(ro(oo(e.left,t.plotLeft+i[3]),t.plotWidth,t.plotLeft));this.bottom=t.chartHeight-r-n,this.right=t.chartWidth-o-a,this.len=Math.max(s?o:r,0),this.pos=s?a:n}getExtremes(){let t=this.logarithmic;return{min:t?js(t.lin2log(this.min)):this.min,max:t?js(t.lin2log(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}}getThreshold(t){let e=this.logarithmic,i=e?e.lin2log(this.min):this.min,s=e?e.lin2log(this.max):this.max;return null===t||t===-1/0?t=i:t===1/0?t=s:i>t?t=i:s<t&&(t=s),this.translate(t,0,1,0,1)}autoLabelAlign(t){let e=(oo(t,0)-90*this.side+720)%360,i={align:"center"};return Ks(this,"autoLabelAlign",i,function(t){e>15&&e<165?t.align="right":e>195&&e<345&&(t.align="left")}),i.align}tickSize(t){let e,i=this.options,s=oo(i["tick"===t?"tickWidth":"minorTickWidth"],"tick"===t&&this.isXAxis&&!this.categories?1:0),o=i["tick"===t?"tickLength":"minorTickLength"];s&&o&&("inside"===i[t+"Position"]&&(o=-o),e=[o,s]);let r={tickSize:e};return Ks(this,"afterTickSize",r),r.tickSize}labelMetrics(){let t=this.chart.renderer,e=this.ticks,i=e[Object.keys(e)[0]]||{};return this.chart.renderer.fontMetrics(i.label||i.movedLabel||t.box)}unsquish(){let t,e,i=this.options.labels,s=i.padding||0,o=this.horiz,r=this.tickInterval,n=this.len/(((this.categories?1:0)+this.max-this.min)/r),a=i.rotation,l=js(.8*this.labelMetrics().h),h=Math.max(this.max-this.min,0),c=function(t){let e=(t+2*s)/(n||1);return(e=e>1?Math.ceil(e):1)*r>h&&t!==1/0&&n!==1/0&&h&&(e=Math.ceil(h/r)),js(e*r)},d=r,p=Number.MAX_VALUE;if(o){if(!i.staggerLines&&(Qs(a)?e=[a]:n<i.autoRotationLimit&&(e=i.autoRotation)),e){let i,s;for(let o of e)(o===a||o&&o>=-90&&o<=90)&&(s=(i=c(Math.abs(l/Math.sin(Hs*o))))+Math.abs(o/360))<p&&(p=s,t=o,d=i)}}else d=c(.75*l);return this.autoRotation=e,this.labelRotation=oo(t,Qs(a)?a:0),i.step?r:d}getSlotWidth(t){let e=this.chart,i=this.horiz,s=this.options.labels,o=Math.max(this.tickPositions.length-(this.categories?0:1),1),r=e.margin[3];if(t&&Qs(t.slotWidth))return t.slotWidth;if(i&&s.step<2&&!this.isRadial)return s.rotation?0:(this.staggerLines||1)*this.len/o;if(!i){let t=s.style.width;if(void 0!==t)return parseInt(String(t),10);if(r)return r-e.spacing[3]}return.33*e.chartWidth}renderUnsquish(){let t,e=this.chart,i=e.renderer,s=this.tickPositions,o=this.ticks,r=this.options.labels,n=r.style,a=this.horiz,l=this.getSlotWidth(),h=Math.max(1,Math.round(l-(a?2*(r.padding||0):r.distance||0))),c={},d=this.labelMetrics(),p=n.lineClamp,u=p??(Math.floor(this.len/(s.length*d.h))||1),g=0;to(r.rotation)||(c.rotation=r.rotation||0),s.forEach(function(t){let e=o[t];e.movedLabel&&e.replaceMovedLabel();let i=e.label?.textPxLength||0;i>g&&(g=i)}),this.maxLabelLength=g,this.autoRotation?g>h&&g>d.h?c.rotation=this.labelRotation:this.labelRotation=0:l&&(t=h),c.rotation&&(t=g>.5*e.chartHeight?.33*e.chartHeight:g,p||(u=1)),this.labelAlign=r.align||this.autoLabelAlign(this.labelRotation),this.labelAlign&&(c.align=this.labelAlign),s.forEach(function(e){let i=o[e],s=i&&i.label,r=n.width,a={};s&&(s.attr(c),i.shortenLabel?i.shortenLabel():t&&!r&&"nowrap"!==n.whiteSpace&&(t<(s.textPxLength||0)||"SPAN"===s.element.tagName)?s.css(Vs(a,{width:`${t}px`,lineClamp:u})):!s.styles.width||a.width||r||s.css({width:"auto"}),i.rotation=c.rotation)},this),this.tickRotCorr=i.rotCorr(d.b,this.labelRotation||0,0!==this.side)}hasData(){return this.series.some(function(t){return t.hasData()})||this.options.showEmpty&&Gs(this.min)&&Gs(this.max)}addTitle(t){let e,i=this.chart.renderer,s=this.horiz,o=this.opposite,r=this.options.title,n=this.chart.styledMode;this.axisTitle||((e=r.textAlign)||(e=(s?{low:"left",middle:"center",high:"right"}:{low:o?"right":"left",middle:"center",high:o?"left":"right"})[r.align]),this.axisTitle=i.text(r.text||"",0,0,r.useHTML).attr({zIndex:7,rotation:r.rotation||0,align:e}).addClass("highcharts-axis-title"),n||this.axisTitle.css(eo(r.style)),this.axisTitle.add(this.axisGroup),this.axisTitle.isNew=!0),n||r.style.width||this.isRadial||this.axisTitle.css({width:this.len+"px"}),this.axisTitle[t?"show":"hide"](t)}generateTick(t){let e=this.ticks;e[t]?e[t].addLabel():e[t]=new Is(this,t)}createGroups(){let{axisParent:t,chart:e,coll:i,options:s}=this,o=e.renderer,r=(e,r,n)=>o.g(e).attr({zIndex:n}).addClass(`highcharts-${i.toLowerCase()}${r} `+(this.isRadial?`highcharts-radial-axis${r} `:"")+(s.className||"")).add(t);this.axisGroup||(this.gridGroup=r("grid","-grid",s.gridZIndex),this.axisGroup=r("axis","",s.zIndex),this.labelGroup=r("axis-labels","-labels",s.labels.zIndex))}getOffset(){let t,e,i,s,o=this,{chart:r,horiz:n,options:a,side:l,ticks:h,tickPositions:c,coll:d}=o,p=r.inverted&&!o.isZAxis?[1,0,3,2][l]:l,u=o.hasData(),g=a.title,f=a.labels,m=Qs(a.crossing),b=r.axisOffset,x=r.clipOffset,y=[-1,1,1,-1][l],v=0,w=0,k=0;if(o.showAxis=t=u||a.showEmpty,o.staggerLines=o.horiz&&f.staggerLines||void 0,o.createGroups(),u||o.isLinked?(c.forEach(function(t){o.generateTick(t)}),o.renderUnsquish(),o.reserveSpaceDefault=0===l||2===l||{1:"left",3:"right"}[l]===o.labelAlign,oo(f.reserveSpace,!m&&null,"center"===o.labelAlign||null,o.reserveSpaceDefault)&&c.forEach(function(t){k=Math.max(h[t].getLabelSize(),k)}),o.staggerLines&&(k*=o.staggerLines),o.labelOffset=k*(o.opposite?-1:1)):so(h,function(t,e){t.destroy(),delete h[e]}),g?.text&&!1!==g.enabled&&(o.addTitle(t),t&&!m&&!1!==g.reserveSpace&&(o.titleOffset=v=o.axisTitle.getBBox()[n?"height":"width"],w=Gs(e=g.offset)?0:oo(g.margin,n?5:10))),o.renderLine(),o.offset=y*oo(a.offset,b[l]?b[l]+(a.margin||0):0),o.tickRotCorr=o.tickRotCorr||{x:0,y:0},s=0===l?-o.labelMetrics().h:2===l?o.tickRotCorr.y:0,i=Math.abs(k)+w,k&&(i-=s,i+=y*(n?oo(f.y,o.tickRotCorr.y+y*f.distance):oo(f.x,y*f.distance))),o.axisTitleMargin=oo(e,i),o.getMaxLabelDimensions&&(o.maxLabelDimensions=o.getMaxLabelDimensions(h,c)),"colorAxis"!==d&&x){let t=this.tickSize("tick");b[l]=Math.max(b[l],(o.axisTitleMargin||0)+v+y*o.offset,i,c&&c.length&&t?t[0]+y*o.offset:0);let e=!o.axisLine||a.offset?0:o.axisLine.strokeWidth()/2;x[p]=Math.max(x[p],e)}Ks(this,"afterGetOffset")}getLinePath(t){let e=this.chart,i=this.opposite,s=this.offset,o=this.horiz,r=this.left+(i?this.width:0)+s,n=e.chartHeight-this.bottom-(i?this.height:0)+s;return i&&(t*=-1),e.renderer.crispLine([["M",o?this.left:r,o?n:this.top],["L",o?e.chartWidth-this.right:r,o?n:e.chartHeight-this.bottom]],t)}renderLine(){this.axisLine||(this.axisLine=this.chart.renderer.path().addClass("highcharts-axis-line").add(this.axisGroup),this.chart.styledMode||this.axisLine.attr({stroke:this.options.lineColor,"stroke-width":this.options.lineWidth,zIndex:7}))}getTitlePosition(t){let e=this.horiz,i=this.left,s=this.top,o=this.len,r=this.options.title,n=e?i:s,a=this.opposite,l=this.offset,h=r.x,c=r.y,d=this.chart.renderer.fontMetrics(t),p=t?Math.max(t.getBBox(!1,0).height-d.h-1,0):0,u={low:n+(e?0:o),middle:n+o/2,high:n+(e?o:0)}[r.align],g=(e?s+this.height:i)+(e?1:-1)*(a?-1:1)*(this.axisTitleMargin||0)+[-p,p,d.f,-p][this.side],f={x:e?u+h:g+(a?this.width:0)+l+h,y:e?g+c-(a?this.height:0)+l:u+c};return Ks(this,"afterGetTitlePosition",{titlePosition:f}),f}renderMinorTick(t,e){let i=this.minorTicks;i[t]||(i[t]=new Is(this,t,"minor")),e&&i[t].isNew&&i[t].render(null,!0),i[t].render(null,!1,1)}renderTick(t,e,i){let s=this.isLinked,o=this.ticks;(!s||t>=this.min&&t<=this.max||this.grid&&this.grid.isColumn)&&(o[t]||(o[t]=new Is(this,t)),i&&o[t].isNew&&o[t].render(e,!0,-1),o[t].render(e))}render(){let t,e,i=this,s=i.chart,o=i.logarithmic,r=s.renderer,n=i.options,a=i.isLinked,l=i.tickPositions,h=i.axisTitle,c=i.ticks,d=i.minorTicks,p=i.alternateBands,u=n.stackLabels,g=n.alternateGridColor,f=n.crossing,m=i.tickmarkOffset,b=i.axisLine,x=i.showAxis,y=Ns(r.globalAnimation);if(i.labelEdge.length=0,i.overlap=!1,[c,d,p].forEach(function(t){so(t,function(t){t.isActive=!1})}),Qs(f)){let t=this.isXAxis?s.yAxis[0]:s.xAxis[0],e=[1,-1,-1,1][this.side];if(t){let s=t.toPixels(f,!0);i.horiz&&(s=t.len-s),i.offset=e*s}}if(i.hasData()||a){let r=i.chart.hasRendered&&i.old&&Qs(i.old.min);i.minorTickInterval&&!i.categories&&i.getMinorTickPositions().forEach(function(t){i.renderMinorTick(t,r)}),l.length&&(l.forEach(function(t,e){i.renderTick(t,e,r)}),m&&(0===i.min||i.single)&&(c[-1]||(c[-1]=new Is(i,-1,null,!0)),c[-1].render(-1))),g&&l.forEach(function(r,n){e=void 0!==l[n+1]?l[n+1]+m:i.max-m,n%2==0&&r<i.max&&e<=i.max+(s.polar?-m:m)&&(p[r]||(p[r]=new w.PlotLineOrBand(i,{})),t=r+m,p[r].options={from:o?o.lin2log(t):t,to:o?o.lin2log(e):e,color:g,className:"highcharts-alternate-grid"},p[r].render(),p[r].isActive=!0)}),i._addedPlotLB||(i._addedPlotLB=!0,(n.plotLines||[]).concat(n.plotBands||[]).forEach(function(t){i.addPlotBandOrLine(t)}))}[c,d,p].forEach(function(t){let e=[],i=y.duration;so(t,function(t,i){t.isActive||(t.render(i,!1,0),t.isActive=!1,e.push(i))}),lo(function(){let i=e.length;for(;i--;)t[e[i]]&&!t[e[i]].isActive&&(t[e[i]].destroy(),delete t[e[i]])},t!==p&&s.hasRendered&&i?i:0)}),b&&(b[b.isPlaced?"animate":"attr"]({d:this.getLinePath(b.strokeWidth())}),b.isPlaced=!0,b[x?"show":"hide"](x)),h&&x&&(h[h.isNew?"attr":"animate"](i.getTitlePosition(h)),h.isNew=!1),u&&u.enabled&&i.stacking&&i.stacking.renderStackTotals(),i.old={len:i.len,max:i.max,min:i.min,transA:i.transA,userMax:i.userMax,userMin:i.userMin},i.isDirty=!1,Ks(this,"afterRender")}redraw(){this.visible&&(this.render(),this.plotLinesAndBands.forEach(function(t){t.render()})),this.series.forEach(function(t){t.isDirty=!0})}getKeepProps(){return this.keepProps||co.keepProps}destroy(t){let e=this,i=e.plotLinesAndBands,s=this.eventOptions;if(Ks(this,"destroy",{keepEvents:t}),t||no(e),[e.ticks,e.minorTicks,e.alternateBands].forEach(function(t){_s(t)}),i){let t=i.length;for(;t--;)i[t].destroy()}for(let t in["axisLine","axisTitle","axisGroup","gridGroup","labelGroup","cross","scrollbar"].forEach(function(t){e[t]&&(e[t]=e[t].destroy())}),e.plotLinesAndBandsGroups)e.plotLinesAndBandsGroups[t]=e.plotLinesAndBandsGroups[t].destroy();so(e,function(t,i){-1===e.getKeepProps().indexOf(i)&&delete e[i]}),this.eventOptions=s}drawCrosshair(t,e){let i,s,o,r,n=this.crosshair,a=oo(n&&n.snap,!0),l=this.chart,h=this.cross;if(Ks(this,"drawCrosshair",{e:t,point:e}),t||(t=this.cross&&this.cross.e),n&&!1!==(Gs(e)||!a)){if(a?Gs(e)&&(s=oo("colorAxis"!==this.coll?e.crosshairPos:null,this.isXAxis?e.plotX:this.len-e.plotY)):s=t&&(this.horiz?t.chartX-this.pos:this.len-t.chartY+this.pos),Gs(s)&&(r={value:e&&(this.isXAxis?e.x:oo(e.stackY,e.y)),translatedValue:s},l.polar&&Vs(r,{isCrosshair:!0,chartX:t&&t.chartX,chartY:t&&t.chartY,point:e}),i=this.getPlotLinePath(r)||null),!Gs(i))return void this.hideCrosshair();o=this.categories&&!this.isRadial,h||(this.cross=h=l.renderer.path().addClass("highcharts-crosshair highcharts-crosshair-"+(o?"category ":"thin ")+(n.className||"")).attr({zIndex:oo(n.zIndex,2)}).add(),!l.styledMode&&(h.attr({stroke:n.color||(o?vt.parse("#ccd3ff").setOpacity(.25).get():"#cccccc"),"stroke-width":oo(n.width,1)}).css({"pointer-events":"none"}),n.dashStyle&&h.attr({dashstyle:n.dashStyle}))),h.show().attr({d:i}),o&&!n.width&&h.attr({"stroke-width":this.transA}),this.cross.e=t}else this.hideCrosshair();Ks(this,"afterDrawCrosshair",{e:t,point:e})}hideCrosshair(){this.cross&&this.cross.hide(),Ks(this,"afterHideCrosshair")}update(t,e){let i=this.chart;t=eo(this.userOptions,t),this.destroy(!0),this.init(i,t),i.isDirtyBox=!0,oo(e,!0)&&i.redraw()}remove(t){let e=this.chart,i=this.coll,s=this.series,o=s.length;for(;o--;)s[o]&&s[o].remove(!1);qs(e.axes,this),qs(e[i]||[],this),e.orderItems(i),this.destroy(),e.isDirtyBox=!0,oo(t,!0)&&e.redraw()}setTitle(t,e){this.update({title:t},e)}setCategories(t,e){this.update({categories:t},e)}}co.keepProps=["coll","extKey","hcEvents","len","names","series","userMax","userMin"];let{addEvent:po,getMagnitude:uo,normalizeTickInterval:go,timeUnits:fo}=q;!function(t){function e(){return this.chart.time.getTimeTicks.apply(this.chart.time,arguments)}function i(){"datetime"===this.type?this.dateTime||(this.dateTime=new s(this)):this.dateTime=void 0}t.compose=function(t){return t.keepProps.includes("dateTime")||(t.keepProps.push("dateTime"),t.prototype.getTimeTicks=e,po(t,"afterSetType",i)),t};class s{constructor(t){this.axis=t}normalizeTimeTickInterval(t,e){let i,s=e||[["millisecond",[1,2,5,10,20,25,50,100,200,500]],["second",[1,2,5,10,15,30]],["minute",[1,2,5,10,15,30]],["hour",[1,2,3,4,6,8,12]],["day",[1,2]],["week",[1,2]],["month",[1,2,3,4,6]],["year",null]],o=s[s.length-1],r=fo[o[0]],n=o[1];for(i=0;i<s.length&&(r=fo[(o=s[i])[0]],n=o[1],!(s[i+1]&&t<=(r*n[n.length-1]+fo[s[i+1][0]])/2));i++);return r===fo.year&&t<5*r&&(n=[1,2,5]),{unitRange:r,count:go(t/r,n,"year"===o[0]?Math.max(uo(t/r),1):1),unitName:o[0]}}getXDateFormat(t,e){let{axis:i}=this,s=i.chart.time;return i.closestPointRange?s.getDateFormat(i.closestPointRange,t,i.options.startOfWeek,e)||s.resolveDTLFormat(e.year).main:s.resolveDTLFormat(e.day).main}}t.Additions=s}(a||(a={}));let mo=a,{addEvent:bo,normalizeTickInterval:xo,pick:yo}=q;!function(t){function e(){"logarithmic"!==this.type?this.logarithmic=void 0:this.logarithmic??(this.logarithmic=new s(this))}function i(){let t=this.logarithmic;t&&(this.lin2val=function(e){return t.lin2log(e)},this.val2lin=function(e){return t.log2lin(e)})}t.compose=function(t){return t.keepProps.includes("logarithmic")||(t.keepProps.push("logarithmic"),bo(t,"afterSetType",e),bo(t,"afterInit",i)),t};class s{constructor(t){this.axis=t}getLogTickPositions(t,e,i,s){let o=this.axis,r=o.len,n=o.options,a=[];if(s||(this.minorAutoInterval=void 0),t>=.5)t=Math.round(t),a=o.getLinearTickPositions(t,e,i);else if(t>=.08){let o,r,n,l,h,c,d;for(o=t>.3?[1,2,4]:t>.15?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9],r=Math.floor(e);r<i+1&&!d;r++)for(n=0,l=o.length;n<l&&!d;n++)(h=this.log2lin(this.lin2log(r)*o[n]))>e&&(!s||c<=i)&&void 0!==c&&a.push(c),c>i&&(d=!0),c=h}else{let l=this.lin2log(e),h=this.lin2log(i),c=s?o.getMinorTickInterval():n.tickInterval,d=n.tickPixelInterval/(s?5:1),p=s?r/o.tickPositions.length:r;t=xo(t=yo("auto"===c?null:c,this.minorAutoInterval,(h-l)*d/(p||1))),a=o.getLinearTickPositions(t,l,h).map(this.log2lin),s||(this.minorAutoInterval=t/5)}return s||(o.tickInterval=t),a}lin2log(t){return Math.pow(10,t)}log2lin(t){return Math.log(t)/Math.LN10}}t.Additions=s}(l||(l={}));let vo=l,{erase:wo,extend:ko,isNumber:Ao}=q;!function(t){let e;function i(t){return this.addPlotBandOrLine(t,"plotBands")}function s(t,i){let s=this.userOptions,o=new e(this,t);if(this.visible&&(o=o.render()),o){if(this._addedPlotLB||(this._addedPlotLB=!0,(s.plotLines||[]).concat(s.plotBands||[]).forEach(t=>{this.addPlotBandOrLine(t)})),i){let e=s[i]||[];e.push(t),s[i]=e}this.plotLinesAndBands.push(o)}return o}function o(t){return this.addPlotBandOrLine(t,"plotLines")}function r(t,e,i){i=i||this.options;let s,o,r=this.getPlotLinePath({value:e,force:!0,acrossPanes:i.acrossPanes}),n=[],a=this.horiz,l=!Ao(this.min)||!Ao(this.max)||t<this.min&&e<this.min||t>this.max&&e>this.max,h=this.getPlotLinePath({value:t,force:!0,acrossPanes:i.acrossPanes}),c=1;if(h&&r)for(l&&(o=h.toString()===r.toString(),c=0),s=0;s<h.length;s+=2){let t=h[s],e=h[s+1],i=r[s],l=r[s+1];("M"===t[0]||"L"===t[0])&&("M"===e[0]||"L"===e[0])&&("M"===i[0]||"L"===i[0])&&("M"===l[0]||"L"===l[0])&&(a&&i[1]===t[1]?(i[1]+=c,l[1]+=c):a||i[2]!==t[2]||(i[2]+=c,l[2]+=c),n.push(["M",t[1],t[2]],["L",e[1],e[2]],["L",l[1],l[2]],["L",i[1],i[2]],["Z"])),n.isFlat=o}return n}function n(t){this.removePlotBandOrLine(t)}function a(t){let e=this.plotLinesAndBands,i=this.options,s=this.userOptions;if(e){let o=e.length;for(;o--;)e[o].id===t&&e[o].destroy();[i.plotLines||[],s.plotLines||[],i.plotBands||[],s.plotBands||[]].forEach(function(e){for(o=e.length;o--;)(e[o]||{}).id===t&&wo(e,e[o])})}}function l(t){this.removePlotBandOrLine(t)}t.compose=function(t,h){let c=h.prototype;return c.addPlotBand||(e=t,ko(c,{addPlotBand:i,addPlotLine:o,addPlotBandOrLine:s,getPlotBandPath:r,removePlotBand:n,removePlotLine:l,removePlotBandOrLine:a})),h}}(h||(h={}));let Mo=h,{addEvent:Co,arrayMax:Po,arrayMin:So,defined:To,destroyObjectProperties:Eo,erase:Lo,fireEvent:Oo,merge:Do,objectEach:Io,pick:No}=q;class Bo{static compose(t,e){return Co(t,"afterInit",function(){this.labelCollectors.push(()=>{let t=[];for(let e of this.axes)for(let{label:i,options:s}of e.plotLinesAndBands)i&&!s?.label?.allowOverlap&&t.push(i);return t})}),Mo.compose(Bo,e)}constructor(t,e){this.axis=t,this.options=e,this.id=e.id}render(){Oo(this,"render");let t,{axis:e,options:i}=this,{horiz:s,logarithmic:o}=e,{color:r,events:n,zIndex:a=0}=i,{renderer:l,time:h}=e.chart,c={},d=h.parse(i.to),p=h.parse(i.from),u=h.parse(i.value),g=i.borderWidth,f=i.label,{label:m,svgElem:b}=this,x=[],y=To(p)&&To(d),v=To(u),w=!b,k={class:"highcharts-plot-"+(y?"band ":"line ")+(i.className||"")},A=y?"bands":"lines";if(!e.chart.styledMode&&(v?(k.stroke=r||"#999999",k["stroke-width"]=No(i.width,1),i.dashStyle&&(k.dashstyle=i.dashStyle)):y&&(k.fill=r||"#e6e9ff",g&&(k.stroke=i.borderColor,k["stroke-width"]=g))),c.zIndex=a,A+="-"+a,(t=e.plotLinesAndBandsGroups[A])||(e.plotLinesAndBandsGroups[A]=t=l.g("plot-"+A).attr(c).add()),b||(this.svgElem=b=l.path().attr(k).add(t)),To(u))x=e.getPlotLinePath({value:o?.log2lin(u)??u,lineWidth:b.strokeWidth(),acrossPanes:i.acrossPanes});else{if(!To(p)||!To(d))return;x=e.getPlotBandPath(o?.log2lin(p)??p,o?.log2lin(d)??d,i)}return!this.eventsAdded&&n&&(Io(n,(t,e)=>{b?.on(e,t=>{n[e].apply(this,[t])})}),this.eventsAdded=!0),!w&&b.d||!x?.length?b&&(x?(b.show(),b.animate({d:x})):b.d&&(b.hide(),m&&(this.label=m=m.destroy()))):b.attr({d:x}),f&&(To(f.text)||To(f.formatter))&&x?.length&&e.width>0&&e.height>0&&!x.isFlat?(f=Do({align:s&&y?"center":void 0,x:s?!y&&4:10,verticalAlign:!s&&y?"middle":void 0,y:s?y?16:10:y?6:-4,rotation:s&&!y?90:0,...y?{inside:!0}:{}},f),this.renderLabel(f,x,y,a)):m&&m.hide(),this}renderLabel(t,e,i,s){let o=this.axis,r=o.chart.renderer,n=t.inside,a=this.label;a||(this.label=a=r.text(this.getLabelText(t),0,0,t.useHTML).attr({align:t.textAlign||t.align,rotation:t.rotation,class:"highcharts-plot-"+(i?"band":"line")+"-label "+(t.className||""),zIndex:s}),o.chart.styledMode||a.css(Do({fontSize:"0.8em",textOverflow:i&&!n?"":"ellipsis"},t.style)),a.add());let l=e.xBounds||[e[0][1],e[1][1],i?e[2][1]:e[0][1]],h=e.yBounds||[e[0][2],e[1][2],i?e[2][2]:e[0][2]],c=So(l),d=So(h),p=Po(l)-c;a.align(t,!1,{x:c,y:d,width:p,height:Po(h)-d}),(!a.alignValue||"left"===a.alignValue||To(n))&&a.css({width:(t.style?.width||(i&&n?p:90===a.rotation?o.height-(a.alignAttr.y-o.top):(t.clip?o.width:o.chart.chartWidth)-(a.alignAttr.x-o.left)))+"px"}),a.show(!0)}getLabelText(t){return To(t.formatter)?t.formatter.call(this):t.text}destroy(){Lo(this.axis.plotLinesAndBands,this),delete this.axis,Eo(this)}}let{animObject:Ro}=Rt,{format:zo}=ue,{composed:Fo,dateFormats:Ho,doc:Xo,isSafari:Wo}=w,{distribute:Yo}=ye,{addEvent:jo,clamp:Go,css:_o,discardElement:qo,extend:Uo,fireEvent:Vo,isArray:Ko,isNumber:$o,isObject:Zo,isString:Jo,merge:Qo,pick:tr,pushUnique:er,splat:ir,syncTimeout:sr}=q;class or{constructor(t,e,i){this.allowShared=!0,this.crosshairs=[],this.distance=0,this.isHidden=!0,this.isSticky=!1,this.options={},this.outside=!1,this.chart=t,this.init(t,e),this.pointer=i}bodyFormatter(t){return t.map(t=>{let e=t.series.tooltipOptions,i=t.formatPrefix||"point";return(e[i+"Formatter"]||t.tooltipFormatter).call(t,e[i+"Format"]||"")})}cleanSplit(t){this.chart.series.forEach(function(e){let i=e&&e.tt;i&&(!i.isActive||t?e.tt=i.destroy():i.isActive=!1)})}defaultFormatter(t){let e,i=this.points||ir(this);return(e=(e=[t.headerFooterFormatter(i[0])]).concat(t.bodyFormatter(i))).push(t.headerFooterFormatter(i[0],!0)),e}destroy(){this.label&&(this.label=this.label.destroy()),this.split&&(this.cleanSplit(!0),this.tt&&(this.tt=this.tt.destroy())),this.renderer&&(this.renderer=this.renderer.destroy(),qo(this.container)),q.clearTimeout(this.hideTimer)}getAnchor(t,e){let i,{chart:s,pointer:o}=this,r=s.inverted,n=s.plotTop,a=s.plotLeft;if((t=ir(t))[0].series&&t[0].series.yAxis&&!t[0].series.yAxis.options.reversedStacks&&(t=t.slice().reverse()),this.followPointer&&e)void 0===e.chartX&&(e=o.normalize(e)),i=[e.chartX-a,e.chartY-n];else if(t[0].tooltipPos)i=t[0].tooltipPos;else{let s=0,o=0;t.forEach(function(t){let e=t.pos(!0);e&&(s+=e[0],o+=e[1])}),s/=t.length,o/=t.length,this.shared&&t.length>1&&e&&(r?s=e.chartX:o=e.chartY),i=[s-a,o-n]}return i.map(Math.round)}getClassName(t,e,i){let s=this.options,o=t.series,r=o.options;return[s.className,"highcharts-label",i&&"highcharts-tooltip-header",e?"highcharts-tooltip-box":"highcharts-tooltip",!i&&"highcharts-color-"+tr(t.colorIndex,o.colorIndex),r&&r.className].filter(Jo).join(" ")}getLabel({anchorX:t,anchorY:e}={anchorX:0,anchorY:0}){let i=this,s=this.chart.styledMode,o=this.options,r=this.split&&this.allowShared,n=this.container,a=this.chart.renderer;if(this.label){let t=!this.label.hasClass("highcharts-label");(!r&&t||r&&!t)&&this.destroy()}if(!this.label){if(this.outside){let t=this.chart,e=t.options.chart.style,i=ge.getRendererType();this.container=n=w.doc.createElement("div"),n.className="highcharts-tooltip-container "+(t.renderTo.className.match(/(highcharts[a-zA-Z0-9-]+)\s?/gm)||""),_o(n,{position:"absolute",top:"1px",pointerEvents:"none",zIndex:Math.max(this.options.style.zIndex||0,(e&&e.zIndex||0)+3)}),this.renderer=a=new i(n,0,0,e,void 0,void 0,a.styledMode)}if(r?this.label=a.g("tooltip"):(this.label=a.label("",t,e,o.shape,void 0,void 0,o.useHTML,void 0,"tooltip").attr({padding:o.padding,r:o.borderRadius}),s||this.label.attr({fill:o.backgroundColor,"stroke-width":o.borderWidth||0}).css(o.style).css({pointerEvents:o.style.pointerEvents||(this.shouldStickOnContact()?"auto":"none")})),i.outside){let t=this.label;[t.xSetter,t.ySetter].forEach((e,s)=>{t[s?"ySetter":"xSetter"]=o=>{e.call(t,i.distance),t[s?"y":"x"]=o,n&&(n.style[s?"top":"left"]=`${o}px`)}})}this.label.attr({zIndex:8}).shadow(o.shadow).add()}return n&&!n.parentElement&&w.doc.body.appendChild(n),this.label}getPlayingField(){let{body:t,documentElement:e}=Xo,{chart:i,distance:s,outside:o}=this;return{width:o?Math.max(t.scrollWidth,e.scrollWidth,t.offsetWidth,e.offsetWidth,e.clientWidth)-2*s-2:i.chartWidth,height:o?Math.max(t.scrollHeight,e.scrollHeight,t.offsetHeight,e.offsetHeight,e.clientHeight):i.chartHeight}}getPosition(t,e,i){let s,{distance:o,chart:r,outside:n,pointer:a}=this,{inverted:l,plotLeft:h,plotTop:c,polar:d}=r,{plotX:p=0,plotY:u=0}=i,g={},f=l&&i.h||0,{height:m,width:b}=this.getPlayingField(),x=a.getChartPosition(),y=t=>t*x.scaleX,v=t=>t*x.scaleY,w=i=>{let s="x"===i;return[i,s?b:m,s?t:e].concat(n?[s?y(t):v(e),s?x.left-o+y(p+h):x.top-o+v(u+c),0,s?b:m]:[s?t:e,s?p+h:u+c,s?h:c,s?h+r.plotWidth:c+r.plotHeight])},k=w("y"),A=w("x"),M=!!i.negative;!d&&r.hoverSeries?.yAxis?.reversed&&(M=!M);let C=!this.followPointer&&tr(i.ttBelow,!d&&!l===M),P=function(t,e,i,s,r,a,l){let h=n?"y"===t?v(o):y(o):o,c=(i-s)/2,d=s<r-o,p=r+o+s<e,u=r-h-i+c,m=r+h-c;if(C&&p)g[t]=m;else if(!C&&d)g[t]=u;else if(d)g[t]=Math.min(l-s,u-f<0?u:u-f);else{if(!p)return!1;g[t]=Math.max(a,m+f+i>e?m:m+f)}},S=function(t,e,i,s,r){if(r<o||r>e-o)return!1;g[t]=r<i/2?1:r>e-s/2?e-s-2:r-i/2},T=function(t){[k,A]=[A,k],s=t},E=()=>{!1!==P.apply(0,k)?!1!==S.apply(0,A)||s||(T(!0),E()):s?g.x=g.y=0:(T(!0),E())};return(l&&!d||this.len>1)&&T(),E(),g}hide(t){let e=this;q.clearTimeout(this.hideTimer),t=tr(t,this.options.hideDelay),this.isHidden||(this.hideTimer=sr(function(){let i=e.getLabel();e.getLabel().animate({opacity:0},{duration:t?150:t,complete:()=>{i.hide(),e.container&&e.container.remove()}}),e.isHidden=!0},t))}init(t,e){this.chart=t,this.options=e,this.crosshairs=[],this.isHidden=!0,this.split=e.split&&!t.inverted&&!t.polar,this.shared=e.shared||this.split,this.outside=tr(e.outside,!(!t.scrollablePixelsX&&!t.scrollablePixelsY))}shouldStickOnContact(t){return!(this.followPointer||!this.options.stickOnContact||t&&!this.pointer.inClass(t.target,"highcharts-tooltip"))}move(t,e,i,s){let o=this,r=Ro(!o.isHidden&&o.options.animation),n={x:t,y:e};o.followPointer||(o.len||0)>1||(n.anchorX=i,n.anchorY=s),r.step=()=>o.drawTracker(),o.getLabel().animate(n,r)}refresh(t,e){let{chart:i,options:s,pointer:o,shared:r}=this,n=ir(t),a=n[0],l=s.format,h=s.formatter||this.defaultFormatter,c=i.styledMode,d=this.allowShared;if(!s.enabled||!a.series)return;q.clearTimeout(this.hideTimer),this.allowShared=!(!Ko(t)&&t.series&&t.series.noSharedTooltip),d=d&&!this.allowShared,this.followPointer=!this.split&&a.series.tooltipOptions.followPointer;let p=this.getAnchor(t,e),u=p[0],g=p[1];r&&this.allowShared&&(o.applyInactiveState(n),n.forEach(t=>t.setState("hover")),a.points=n),this.len=n.length;let f=Jo(l)?zo(l,a,i):h.call(a,this);a.points=void 0;let m=a.series;if(this.distance=tr(m.tooltipOptions.distance,16),!1===f)this.hide();else{if(this.split&&this.allowShared)this.renderSplit(f,n);else{let t=u,r=g;if(e&&o.isDirectTouch&&(t=e.chartX-i.plotLeft,r=e.chartY-i.plotTop),!i.polar&&!1!==m.options.clip&&!n.some(e=>o.isDirectTouch||e.series.shouldShowTooltip(t,r)))return void this.hide();{let t=this.getLabel(d&&this.tt||{});(!s.style.width||c)&&t.css({width:(this.outside?this.getPlayingField():i.spacingBox).width+"px"}),t.attr({class:this.getClassName(a),text:f&&f.join?f.join(""):f}),this.outside&&t.attr({x:Go(t.x||0,0,this.getPlayingField().width-(t.width||0)-1)}),c||t.attr({stroke:s.borderColor||a.color||m.color||"#666666"}),this.updatePosition({plotX:u,plotY:g,negative:a.negative,ttBelow:a.ttBelow,h:p[2]||0})}}this.isHidden&&this.label&&this.label.attr({opacity:1}).show(),this.isHidden=!1}Vo(this,"refresh")}renderSplit(t,e){let i=this,{chart:s,chart:{chartWidth:o,chartHeight:r,plotHeight:n,plotLeft:a,plotTop:l,scrollablePixelsY:h=0,scrollablePixelsX:c,styledMode:d},distance:p,options:u,options:{positioner:g},pointer:f}=i,{scrollLeft:m=0,scrollTop:b=0}=s.scrollablePlotArea?.scrollingContainer||{},x=i.outside&&"number"!=typeof c?Xo.documentElement.getBoundingClientRect():{left:m,right:m+o,top:b,bottom:b+r},y=i.getLabel(),v=this.renderer||s.renderer,w=!(!s.xAxis[0]||!s.xAxis[0].opposite),{left:k,top:A}=f.getChartPosition(),M=l+b,C=0,P=n-h;function S(t,e,s,o,r=!0){let n,a;return s?(n=w?0:P,a=Go(t-o/2,x.left,x.right-o-(i.outside?k:0))):(n=e-M,a=Go(a=r?t-o-p:t+p,r?a:x.left,x.right)),{x:a,y:n}}Jo(t)&&(t=[!1,t]);let T=t.slice(0,e.length+1).reduce(function(t,s,o){if(!1!==s&&""!==s){let r=e[o-1]||{isHeader:!0,plotX:e[0].plotX,plotY:n,series:{}},h=r.isHeader,c=h?i:r.series,f=c.tt=function(t,e,s){let o=t,{isHeader:r,series:n}=e;if(!o){let t={padding:u.padding,r:u.borderRadius};d||(t.fill=u.backgroundColor,t["stroke-width"]=u.borderWidth??1),o=v.label("",0,0,u[r?"headerShape":"shape"],void 0,void 0,u.useHTML).addClass(i.getClassName(e,!0,r)).attr(t).add(y)}return o.isActive=!0,o.attr({text:s}),d||o.css(u.style).attr({stroke:u.borderColor||e.color||n.color||"#333333"}),o}(c.tt,r,s.toString()),m=f.getBBox(),b=m.width+f.strokeWidth();h&&(C=m.height,P+=C,w&&(M-=C));let{anchorX:k,anchorY:A}=function(t){let e,i,{isHeader:s,plotX:o=0,plotY:r=0,series:h}=t;if(s)e=Math.max(a+o,a),i=l+n/2;else{let{xAxis:t,yAxis:s}=h;e=t.pos+Go(o,-p,t.len+p),h.shouldShowTooltip(0,s.pos-l+r,{ignoreX:!0})&&(i=s.pos+r)}return{anchorX:e=Go(e,x.left-p,x.right+p),anchorY:i}}(r);if("number"==typeof A){let e=m.height+1,s=g?g.call(i,b,e,r):S(k,A,h,b);t.push({align:g?0:void 0,anchorX:k,anchorY:A,boxWidth:b,point:r,rank:tr(s.rank,h?1:0),size:e,target:s.y,tt:f,x:s.x})}else f.isActive=!1}return t},[]);!g&&T.some(t=>{let{outside:e}=i,s=(e?k:0)+t.anchorX;return s<x.left&&s+t.boxWidth<x.right||s<k-x.left+t.boxWidth&&x.right-s>s})&&(T=T.map(t=>{let{x:e,y:i}=S(t.anchorX,t.anchorY,t.point.isHeader,t.boxWidth,!1);return Uo(t,{target:i,x:e})})),i.cleanSplit(),Yo(T,P);let E={left:k,right:k};T.forEach(function(t){let{x:e,boxWidth:s,isHeader:o}=t;!o&&(i.outside&&k+e<E.left&&(E.left=k+e),!o&&i.outside&&E.left+s>E.right&&(E.right=k+e))}),T.forEach(function(t){let{x:e,anchorX:s,anchorY:o,pos:r,point:{isHeader:n}}=t,a={visibility:void 0===r?"hidden":"inherit",x:e,y:(r||0)+M,anchorX:s,anchorY:o};if(i.outside&&e<s){let t=k-E.left;t>0&&(n||(a.x=e+t,a.anchorX=s+t),n&&(a.x=(E.right-E.left)/2,a.anchorX=s+t))}t.tt.attr(a)});let{container:L,outside:O,renderer:D}=i;if(O&&L&&D){let{width:t,height:e,x:i,y:s}=y.getBBox();D.setSize(t+i,e+s,!1),L.style.left=E.left+"px",L.style.top=A+"px"}Wo&&y.attr({opacity:1===y.opacity?.999:1})}drawTracker(){if(!this.shouldStickOnContact())return void(this.tracker&&(this.tracker=this.tracker.destroy()));let t=this.chart,e=this.label,i=this.shared?t.hoverPoints:t.hoverPoint;if(!e||!i)return;let s={x:0,y:0,width:0,height:0},o=this.getAnchor(i),r=e.getBBox();o[0]+=t.plotLeft-(e.translateX||0),o[1]+=t.plotTop-(e.translateY||0),s.x=Math.min(0,o[0]),s.y=Math.min(0,o[1]),s.width=o[0]<0?Math.max(Math.abs(o[0]),r.width-o[0]):Math.max(Math.abs(o[0]),r.width),s.height=o[1]<0?Math.max(Math.abs(o[1]),r.height-Math.abs(o[1])):Math.max(Math.abs(o[1]),r.height),this.tracker?this.tracker.attr(s):(this.tracker=e.renderer.rect(s).addClass("highcharts-tracker").add(e),t.styledMode||this.tracker.attr({fill:"rgba(0,0,0,0)"}))}styledModeFormat(t){return t.replace('style="font-size: 0.8em"','class="highcharts-header"').replace(/style="color:{(point|series)\.color}"/g,'class="highcharts-color-{$1.colorIndex} {series.options.className} {point.options.className}"')}headerFooterFormatter(t,e){let i=t.series,s=i.tooltipOptions,o=i.xAxis,r=o&&o.dateTime,n={isFooter:e,point:t},a=s.xDateFormat||"",l=s[e?"footerFormat":"headerFormat"];return Vo(this,"headerFormatter",n,function(e){if(r&&!a&&$o(t.key)&&(a=r.getXDateFormat(t.key,s.dateTimeLabelFormats)),r&&a){if(Zo(a)){let t=a;Ho[0]=e=>i.chart.time.dateFormat(t,e),a="%0"}(t.tooltipDateKeys||["key"]).forEach(t=>{l=l.replace(RegExp("point\\."+t+"([ \\)}])",""),`(point.${t}:${a})$1`)})}i.chart.styledMode&&(l=this.styledModeFormat(l)),e.text=zo(l,t,this.chart)}),n.text||""}update(t){this.destroy(),this.init(this.chart,Qo(!0,this.options,t))}updatePosition(t){let e,{chart:i,container:s,distance:o,options:r,pointer:n,renderer:a}=this,{height:l=0,width:h=0}=this.getLabel(),{left:c,top:d,scaleX:p,scaleY:u}=n.getChartPosition(),g=(r.positioner||this.getPosition).call(this,h,l,t),f=w.doc,m=(t.plotX||0)+i.plotLeft,b=(t.plotY||0)+i.plotTop;a&&s&&(r.positioner&&(g.x+=c-o,g.y+=d-o),e=(r.borderWidth||0)+2*o+2,a.setSize(Go(h+e,0,f.documentElement.clientWidth)-1,l+e,!1),(1!==p||1!==u)&&(_o(s,{transform:`scale(${p}, ${u})`}),m*=p,b*=u),m+=c-g.x,b+=d-g.y),this.move(Math.round(g.x),Math.round(g.y||0),m,b)}}!function(t){t.compose=function(e){er(Fo,"Core.Tooltip")&&jo(e,"afterInit",function(){let e=this.chart;e.options.tooltip&&(e.tooltip=new t(e,e.options.tooltip,this))})}}(or||(or={}));let rr=or,{animObject:nr}=Rt,{defaultOptions:ar}=ft,{format:lr}=ue,{addEvent:hr,crisp:cr,erase:dr,extend:pr,fireEvent:ur,getNestedProperty:gr,isArray:fr,isFunction:mr,isNumber:br,isObject:xr,merge:yr,pick:vr,syncTimeout:wr,removeEvent:kr,uniqueKey:Ar}=q;class Mr{animateBeforeDestroy(){let t=this,e={x:t.startXPos,opacity:0},i=t.getGraphicalProps();i.singular.forEach(function(i){t[i]=t[i].animate("dataLabel"===i?{x:t[i].startXPos,y:t[i].startYPos,opacity:0}:e)}),i.plural.forEach(function(e){t[e].forEach(function(e){e.element&&e.animate(pr({x:t.startXPos},e.startYPos?{x:e.startXPos,y:e.startYPos}:{}))})})}applyOptions(t,e){let i=this.series,s=i.options.pointValKey||i.pointValKey;return pr(this,t=Mr.prototype.optionsToObject.call(this,t)),this.options=this.options?pr(this.options,t):t,t.group&&delete this.group,t.dataLabels&&delete this.dataLabels,s&&(this.y=Mr.prototype.getNestedProperty.call(this,s)),this.selected&&(this.state="select"),"name"in this&&void 0===e&&i.xAxis&&i.xAxis.hasNames&&(this.x=i.xAxis.nameToX(this)),void 0===this.x&&i?this.x=e??i.autoIncrement():br(t.x)&&i.options.relativeXValue?this.x=i.autoIncrement(t.x):"string"==typeof this.x&&(e??(e=i.chart.time.parse(this.x)),br(e)&&(this.x=e)),this.isNull=this.isValid&&!this.isValid(),this.formatPrefix=this.isNull?"null":"point",this}destroy(){if(!this.destroyed){let t=this,e=t.series,i=e.chart,s=e.options.dataSorting,o=i.hoverPoints,r=nr(t.series.chart.renderer.globalAnimation),n=()=>{for(let e in(t.graphic||t.graphics||t.dataLabel||t.dataLabels)&&(kr(t),t.destroyElements()),t)delete t[e]};t.legendItem&&i.legend.destroyItem(t),o&&(t.setState(),dr(o,t),o.length||(i.hoverPoints=null)),t===i.hoverPoint&&t.onMouseOut(),s&&s.enabled?(this.animateBeforeDestroy(),wr(n,r.duration)):n(),i.pointCount--}this.destroyed=!0}destroyElements(t){let e=this,i=e.getGraphicalProps(t);i.singular.forEach(function(t){e[t]=e[t].destroy()}),i.plural.forEach(function(t){e[t].forEach(function(t){t&&t.element&&t.destroy()}),delete e[t]})}firePointEvent(t,e,i){let s=this,o=this.series.options;s.manageEvent(t),"click"===t&&o.allowPointSelect&&(i=function(t){!s.destroyed&&s.select&&s.select(null,t.ctrlKey||t.metaKey||t.shiftKey)}),ur(s,t,e,i)}getClassName(){return"highcharts-point"+(this.selected?" highcharts-point-select":"")+(this.negative?" highcharts-negative":"")+(this.isNull?" highcharts-null-point":"")+(void 0!==this.colorIndex?" highcharts-color-"+this.colorIndex:"")+(this.options.className?" "+this.options.className:"")+(this.zone&&this.zone.className?" "+this.zone.className.replace("highcharts-negative",""):"")}getGraphicalProps(t){let e,i,s=this,o=[],r={singular:[],plural:[]};for((t=t||{graphic:1,dataLabel:1}).graphic&&o.push("graphic","connector"),t.dataLabel&&o.push("dataLabel","dataLabelPath","dataLabelUpper"),i=o.length;i--;)s[e=o[i]]&&r.singular.push(e);return["graphic","dataLabel"].forEach(function(e){let i=e+"s";t[e]&&s[i]&&r.plural.push(i)}),r}getNestedProperty(t){return t?0===t.indexOf("custom.")?gr(t,this.options):this[t]:void 0}getZone(){let t,e=this.series,i=e.zones,s=e.zoneAxis||"y",o=0;for(t=i[0];this[s]>=t.value;)t=i[++o];return this.nonZonedColor||(this.nonZonedColor=this.color),t&&t.color&&!this.options.color?this.color=t.color:this.color=this.nonZonedColor,t}hasNewShapeType(){return(this.graphic&&(this.graphic.symbolName||this.graphic.element.nodeName))!==this.shapeType}constructor(t,e,i){this.formatPrefix="point",this.visible=!0,this.point=this,this.series=t,this.applyOptions(e,i),this.id??(this.id=Ar()),this.resolveColor(),t.chart.pointCount++,ur(this,"afterInit")}isValid(){return(br(this.x)||this.x instanceof Date)&&br(this.y)}optionsToObject(t){let e,i=this.series,s=i.options.keys,o=s||i.pointArrayMap||["y"],r=o.length,n={},a=0,l=0;if(br(t)||null===t)n[o[0]]=t;else if(fr(t))for(!s&&t.length>r&&("string"==(e=typeof t[0])?i.xAxis?.dateTime?n.x=i.chart.time.parse(t[0]):n.name=t[0]:"number"===e&&(n.x=t[0]),a++);l<r;)s&&void 0===t[a]||(o[l].indexOf(".")>0?Mr.prototype.setNestedProperty(n,t[a],o[l]):n[o[l]]=t[a]),a++,l++;else"object"==typeof t&&(n=t,t.dataLabels&&(i.hasDataLabels=()=>!0),t.marker&&(i._hasPointMarkers=!0));return n}pos(t,e=this.plotY){if(!this.destroyed){let{plotX:i,series:s}=this,{chart:o,xAxis:r,yAxis:n}=s,a=0,l=0;if(br(i)&&br(e))return t&&(a=r?r.pos:o.plotLeft,l=n?n.pos:o.plotTop),o.inverted&&r&&n?[n.len-e+l,r.len-i+a]:[i+a,e+l]}}resolveColor(){let t,e,i,s=this.series,o=s.chart.options.chart,r=s.chart.styledMode,n=o.colorCount;delete this.nonZonedColor,s.options.colorByPoint?(r||(t=(e=s.options.colors||s.chart.options.colors)[s.colorCounter],n=e.length),i=s.colorCounter,s.colorCounter++,s.colorCounter===n&&(s.colorCounter=0)):(r||(t=s.color),i=s.colorIndex),this.colorIndex=vr(this.options.colorIndex,i),this.color=vr(this.options.color,t)}setNestedProperty(t,e,i){return i.split(".").reduce(function(t,i,s,o){let r=o.length-1===s;return t[i]=r?e:xr(t[i],!0)?t[i]:{},t[i]},t),t}shouldDraw(){return!this.isNull}tooltipFormatter(t){let{chart:e,pointArrayMap:i=["y"],tooltipOptions:s}=this.series,{valueDecimals:o="",valuePrefix:r="",valueSuffix:n=""}=s;return e.styledMode&&(t=e.tooltip?.styledModeFormat(t)||t),i.forEach(e=>{e="{point."+e,(r||n)&&(t=t.replace(RegExp(e+"}","g"),r+e+"}"+n)),t=t.replace(RegExp(e+"}","g"),e+":,."+o+"f}")}),lr(t,this,e)}update(t,e,i,s){let o,r=this,n=r.series,a=r.graphic,l=n.chart,h=n.options;function c(){r.applyOptions(t);let s=a&&r.hasMockGraphic,c=null===r.y?!s:s;a&&c&&(r.graphic=a.destroy(),delete r.hasMockGraphic),xr(t,!0)&&(a&&a.element&&t&&t.marker&&void 0!==t.marker.symbol&&(r.graphic=a.destroy()),t?.dataLabels&&r.dataLabel&&(r.dataLabel=r.dataLabel.destroy())),o=r.index;let d={};for(let t of n.dataColumnKeys())d[t]=r[t];n.dataTable.setRow(d,o),h.data[o]=xr(h.data[o],!0)||xr(t,!0)?r.options:vr(t,h.data[o]),n.isDirty=n.isDirtyData=!0,!n.fixedBox&&n.hasCartesianSeries&&(l.isDirtyBox=!0),"point"===h.legendType&&(l.isDirtyLegend=!0),e&&l.redraw(i)}e=vr(e,!0),!1===s?c():r.firePointEvent("update",{options:t},c)}remove(t,e){this.series.removePoint(this.series.data.indexOf(this),t,e)}select(t,e){let i=this,s=i.series,o=s.chart;t=vr(t,!i.selected),this.selectedStaging=t,i.firePointEvent(t?"select":"unselect",{accumulate:e},function(){i.selected=i.options.selected=t,s.options.data[s.data.indexOf(i)]=i.options,i.setState(t&&"select"),e||o.getSelectedPoints().forEach(function(t){let e=t.series;t.selected&&t!==i&&(t.selected=t.options.selected=!1,e.options.data[e.data.indexOf(t)]=t.options,t.setState(o.hoverPoints&&e.options.inactiveOtherPoints?"inactive":""),t.firePointEvent("unselect"))})}),delete this.selectedStaging}onMouseOver(t){let{inverted:e,pointer:i}=this.series.chart;i&&(t=t?i.normalize(t):i.getChartCoordinatesFromPoint(this,e),i.runPointActions(t,this))}onMouseOut(){let t=this.series.chart;this.firePointEvent("mouseOut"),this.series.options.inactiveOtherPoints||(t.hoverPoints||[]).forEach(function(t){t.setState()}),t.hoverPoints=t.hoverPoint=null}manageEvent(t){let e=yr(this.series.options.point,this.options),i=e.events?.[t];!mr(i)||this.hcEvents?.[t]&&-1!==this.hcEvents?.[t]?.map(t=>t.fn).indexOf(i)?this.importedUserEvent&&!i&&this.hcEvents?.[t]&&this.hcEvents?.[t].userEvent&&(kr(this,t),delete this.hcEvents[t],Object.keys(this.hcEvents)||delete this.importedUserEvent):(this.importedUserEvent?.(),this.importedUserEvent=hr(this,t,i),this.hcEvents&&(this.hcEvents[t].userEvent=!0))}setState(t,e){let i,s,o,r,n=this.series,a=this.state,l=n.options.states[t||"normal"]||{},h=ar.plotOptions[n.type].marker&&n.options.marker,c=h&&!1===h.enabled,d=h&&h.states&&h.states[t||"normal"]||{},p=!1===d.enabled,u=this.marker||{},g=n.chart,f=h&&n.markerAttribs,m=n.halo,b=n.stateMarkerGraphic;if((t=t||"")===this.state&&!e||this.selected&&"select"!==t||!1===l.enabled||t&&(p||c&&!1===d.enabled)||t&&u.states&&u.states[t]&&!1===u.states[t].enabled)return;if(this.state=t,f&&(i=n.markerAttribs(this,t)),this.graphic&&!this.hasMockGraphic){if(a&&this.graphic.removeClass("highcharts-point-"+a),t&&this.graphic.addClass("highcharts-point-"+t),!g.styledMode){s=n.pointAttribs(this,t),o=vr(g.options.chart.animation,l.animation);let e=s.opacity;n.options.inactiveOtherPoints&&br(e)&&(this.dataLabels||[]).forEach(function(t){t&&!t.hasClass("highcharts-data-label-hidden")&&(t.animate({opacity:e},o),t.connector&&t.connector.animate({opacity:e},o))}),this.graphic.animate(s,o)}i&&this.graphic.animate(i,vr(g.options.chart.animation,d.animation,h.animation)),b&&b.hide()}else t&&d&&(r=u.symbol||n.symbol,b&&b.currentSymbol!==r&&(b=b.destroy()),i&&(b?b[e?"animate":"attr"]({x:i.x,y:i.y}):r&&(n.stateMarkerGraphic=b=g.renderer.symbol(r,i.x,i.y,i.width,i.height,yr(h,d)).add(n.markerGroup),b.currentSymbol=r)),!g.styledMode&&b&&"inactive"!==this.state&&b.attr(n.pointAttribs(this,t))),b&&(b[t&&this.isInside?"show":"hide"](),b.element.point=this,b.addClass(this.getClassName(),!0));let x=l.halo,y=this.graphic||b,v=y&&y.visibility||"inherit";x&&x.size&&y&&"hidden"!==v&&!this.isCluster?(m||(n.halo=m=g.renderer.path().add(y.parentGroup)),m.show()[e?"animate":"attr"]({d:this.haloPath(x.size)}),m.attr({class:"highcharts-halo highcharts-color-"+vr(this.colorIndex,n.colorIndex)+(this.className?" "+this.className:""),visibility:v,zIndex:-1}),m.point=this,g.styledMode||m.attr(pr({fill:this.color||n.color,"fill-opacity":x.opacity},$t.filterUserAttributes(x.attributes||{})))):m?.point?.haloPath&&!m.point.destroyed&&m.animate({d:m.point.haloPath(0)},null,m.hide),ur(this,"afterSetState",{state:t})}haloPath(t){let e=this.pos();return e?this.series.chart.renderer.symbols.circle(cr(e[0],1)-t,e[1]-t,2*t,2*t):[]}}let Cr=Mr,{parse:Pr}=vt,{charts:Sr,composed:Tr,isTouchDevice:Er}=w,{addEvent:Lr,attr:Or,css:Dr,extend:Ir,find:Nr,fireEvent:Br,isNumber:Rr,isObject:zr,objectEach:Fr,offset:Hr,pick:Xr,pushUnique:Wr,splat:Yr}=q;class jr{applyInactiveState(t){let e,i=[];(t||[]).forEach(function(t){e=t.series,i.push(e),e.linkedParent&&i.push(e.linkedParent),e.linkedSeries&&(i=i.concat(e.linkedSeries)),e.navigatorSeries&&i.push(e.navigatorSeries)}),this.chart.series.forEach(function(t){-1===i.indexOf(t)?t.setState("inactive",!0):t.options.inactiveOtherPoints&&t.setAllPointsToState("inactive")})}destroy(){let t=this;this.eventsToUnbind.forEach(t=>t()),this.eventsToUnbind=[],!w.chartCount&&(jr.unbindDocumentMouseUp.forEach(t=>t.unbind()),jr.unbindDocumentMouseUp.length=0,jr.unbindDocumentTouchEnd&&(jr.unbindDocumentTouchEnd=jr.unbindDocumentTouchEnd())),clearInterval(t.tooltipTimeout),Fr(t,function(e,i){t[i]=void 0})}getSelectionMarkerAttrs(t,e){let i={args:{chartX:t,chartY:e},attrs:{},shapeType:"rect"};return Br(this,"getSelectionMarkerAttrs",i,i=>{let s,{chart:o,zoomHor:r,zoomVert:n}=this,{mouseDownX:a=0,mouseDownY:l=0}=o,h=i.attrs;h.x=o.plotLeft,h.y=o.plotTop,h.width=r?1:o.plotWidth,h.height=n?1:o.plotHeight,r&&(s=t-a,h.width=Math.max(1,Math.abs(s)),h.x=(s>0?0:s)+a),n&&(s=e-l,h.height=Math.max(1,Math.abs(s)),h.y=(s>0?0:s)+l)}),i}drag(t){let e,{chart:i}=this,{mouseDownX:s=0,mouseDownY:o=0}=i,{panning:r,panKey:n,selectionMarkerFill:a}=i.options.chart,l=i.plotLeft,h=i.plotTop,c=i.plotWidth,d=i.plotHeight,p=zr(r)?r.enabled:r,u=n&&t[`${n}Key`],g=t.chartX,f=t.chartY,m=this.selectionMarker;if((!m||!m.touch)&&(g<l?g=l:g>l+c&&(g=l+c),f<h?f=h:f>h+d&&(f=h+d),this.hasDragged=Math.sqrt(Math.pow(s-g,2)+Math.pow(o-f,2)),this.hasDragged>10)){e=i.isInsidePlot(s-l,o-h,{visiblePlotOnly:!0});let{shapeType:n,attrs:c}=this.getSelectionMarkerAttrs(g,f);(i.hasCartesianSeries||i.mapView)&&this.hasZoom&&e&&!u&&!m&&(this.selectionMarker=m=i.renderer[n](),m.attr({class:"highcharts-selection-marker",zIndex:7}).add(),i.styledMode||m.attr({fill:a||Pr("#334eff").setOpacity(.25).get()})),m&&m.attr(c),e&&!m&&p&&i.pan(t,r)}}dragStart(t){let e=this.chart;e.mouseIsDown=t.type,e.cancelClick=!1,e.mouseDownX=t.chartX,e.mouseDownY=t.chartY}getSelectionBox(t){let e={args:{marker:t},result:t.getBBox()};return Br(this,"getSelectionBox",e),e.result}drop(t){let e,{chart:i,selectionMarker:s}=this;for(let t of i.axes)t.isPanning&&(t.isPanning=!1,(t.options.startOnTick||t.options.endOnTick||t.series.some(t=>t.boosted))&&(t.forceRedraw=!0,t.setExtremes(t.userMin,t.userMax,!1),e=!0));if(e&&i.redraw(),s&&t){if(this.hasDragged){let e=this.getSelectionBox(s);i.transform({axes:i.axes.filter(t=>t.zoomEnabled&&("xAxis"===t.coll&&this.zoomX||"yAxis"===t.coll&&this.zoomY)),selection:{originalEvent:t,xAxis:[],yAxis:[],...e},from:e})}Rr(i.index)&&(this.selectionMarker=s.destroy())}i&&Rr(i.index)&&(Dr(i.container,{cursor:i._cursor}),i.cancelClick=this.hasDragged>10,i.mouseIsDown=!1,this.hasDragged=0,this.pinchDown=[])}findNearestKDPoint(t,e,i){let s;return t.forEach(function(t){let o=!(t.noSharedTooltip&&e)&&0>t.options.findNearestPointBy.indexOf("y"),r=t.searchPoint(i,o);zr(r,!0)&&r.series&&(!zr(s,!0)||function(t,i){let s=t.distX-i.distX,o=t.dist-i.dist,r=i.series.group?.zIndex-t.series.group?.zIndex;return 0!==s&&e?s:0!==o?o:0!==r?r:t.series.index>i.series.index?-1:1}(s,r)>0)&&(s=r)}),s}getChartCoordinatesFromPoint(t,e){let{xAxis:i,yAxis:s}=t.series,o=t.shapeArgs;if(i&&s){let r=t.clientX??t.plotX??0,n=t.plotY||0;return t.isNode&&o&&Rr(o.x)&&Rr(o.y)&&(r=o.x,n=o.y),e?{chartX:s.len+s.pos-n,chartY:i.len+i.pos-r}:{chartX:r+i.pos,chartY:n+s.pos}}if(o&&o.x&&o.y)return{chartX:o.x,chartY:o.y}}getChartPosition(){if(this.chartPosition)return this.chartPosition;let{container:t}=this.chart,e=Hr(t);this.chartPosition={left:e.left,top:e.top,scaleX:1,scaleY:1};let{offsetHeight:i,offsetWidth:s}=t;return s>2&&i>2&&(this.chartPosition.scaleX=e.width/s,this.chartPosition.scaleY=e.height/i),this.chartPosition}getCoordinates(t){let e={xAxis:[],yAxis:[]};for(let i of this.chart.axes)e[i.isXAxis?"xAxis":"yAxis"].push({axis:i,value:i.toValue(t[i.horiz?"chartX":"chartY"])});return e}getHoverData(t,e,i,s,o,r){let n,a=[],l=function(t){return t.visible&&!(!o&&t.directTouch)&&Xr(t.options.enableMouseTracking,!0)},h=e,c={chartX:r?r.chartX:void 0,chartY:r?r.chartY:void 0,shared:o};Br(this,"beforeGetHoverData",c),n=h&&!h.stickyTracking?[h]:i.filter(t=>t.stickyTracking&&(c.filter||l)(t));let d=s&&t||!r?t:this.findNearestKDPoint(n,o,r);return h=d&&d.series,d&&(o&&!h.noSharedTooltip?(n=i.filter(function(t){return c.filter?c.filter(t):l(t)&&!t.noSharedTooltip})).forEach(function(t){let e=Nr(t.points,function(t){return t.x===d.x&&!t.isNull});zr(e)&&(t.boosted&&t.boost&&(e=t.boost.getPoint(e)),a.push(e))}):a.push(d)),Br(this,"afterGetHoverData",c={hoverPoint:d}),{hoverPoint:c.hoverPoint,hoverSeries:h,hoverPoints:a}}getPointFromEvent(t){let e,i=t.target;for(;i&&!e;)e=i.point,i=i.parentNode;return e}onTrackerMouseOut(t){let e=this.chart,i=t.relatedTarget,s=e.hoverSeries;this.isDirectTouch=!1,!s||!i||s.stickyTracking||this.inClass(i,"highcharts-tooltip")||this.inClass(i,"highcharts-series-"+s.index)&&this.inClass(i,"highcharts-tracker")||s.onMouseOut()}inClass(t,e){let i,s=t;for(;s;){if(i=Or(s,"class")){if(-1!==i.indexOf(e))return!0;if(-1!==i.indexOf("highcharts-container"))return!1}s=s.parentElement}}constructor(t,e){this.hasDragged=0,this.pointerCaptureEventsToUnbind=[],this.eventsToUnbind=[],this.options=e,this.chart=t,this.runChartClick=!!e.chart.events?.click,this.pinchDown=[],this.setDOMEvents(),Br(this,"afterInit")}normalize(t,e){let i=t.touches,s=i?i.length?i.item(0):Xr(i.changedTouches,t.changedTouches)[0]:t;e||(e=this.getChartPosition());let o=s.pageX-e.left,r=s.pageY-e.top;return Ir(t,{chartX:Math.round(o/=e.scaleX),chartY:Math.round(r/=e.scaleY)})}onContainerClick(t){let e=this.chart,i=e.hoverPoint,s=this.normalize(t),o=e.plotLeft,r=e.plotTop;!e.cancelClick&&(i&&this.inClass(s.target,"highcharts-tracker")?(Br(i.series,"click",Ir(s,{point:i})),e.hoverPoint&&i.firePointEvent("click",s)):(Ir(s,this.getCoordinates(s)),e.isInsidePlot(s.chartX-o,s.chartY-r,{visiblePlotOnly:!0})&&Br(e,"click",s)))}onContainerMouseDown(t){let e=!(1&~(t.buttons||t.button));t=this.normalize(t),w.isFirefox&&0!==t.button&&this.onContainerMouseMove(t),(void 0===t.button||e)&&(this.zoomOption(t),e&&t.preventDefault?.(),this.dragStart(t))}onContainerMouseLeave(t){let{pointer:e}=Sr[Xr(jr.hoverChartIndex,-1)]||{};t=this.normalize(t),this.onContainerMouseMove(t),e&&!this.inClass(t.relatedTarget,"highcharts-tooltip")&&(e.reset(),e.chartPosition=void 0)}onContainerMouseEnter(){delete this.chartPosition}onContainerMouseMove(t){let e=this.chart,i=e.tooltip,s=this.normalize(t);this.setHoverChartIndex(t),("mousedown"===e.mouseIsDown||this.touchSelect(s))&&this.drag(s),!e.openMenu&&(this.inClass(s.target,"highcharts-tracker")||e.isInsidePlot(s.chartX-e.plotLeft,s.chartY-e.plotTop,{visiblePlotOnly:!0}))&&(!i||!i.shouldStickOnContact(s))&&(this.inClass(s.target,"highcharts-no-tooltip")?this.reset(!1,0):this.runPointActions(s))}onDocumentTouchEnd(t){this.onDocumentMouseUp(t)}onContainerTouchMove(t){this.touchSelect(t)?this.onContainerMouseMove(t):this.touch(t)}onContainerTouchStart(t){this.touchSelect(t)?this.onContainerMouseDown(t):(this.zoomOption(t),this.touch(t,!0))}onDocumentMouseMove(t){let e=this.chart,i=e.tooltip,s=this.chartPosition,o=this.normalize(t,s);!s||e.isInsidePlot(o.chartX-e.plotLeft,o.chartY-e.plotTop,{visiblePlotOnly:!0})||i&&i.shouldStickOnContact(o)||o.target!==e.container.ownerDocument&&this.inClass(o.target,"highcharts-tracker")||this.reset()}onDocumentMouseUp(t){Sr[Xr(jr.hoverChartIndex,-1)]?.pointer?.drop(t)}pinch(t){let e=this,{chart:i,hasZoom:s,lastTouches:o}=e,r=[].map.call(t.touches||[],t=>e.normalize(t)),n=r.length,a=1===n&&(e.inClass(t.target,"highcharts-tracker")&&i.runTrackerClick||e.runChartClick),l=i.tooltip,h=1===n&&Xr(l?.options.followTouchMove,!0);n>1?e.initiated=!0:h&&(e.initiated=!1),s&&e.initiated&&!a&&!1!==t.cancelable&&t.preventDefault(),"touchstart"===t.type?(e.pinchDown=r,e.res=!0,i.mouseDownX=t.chartX):h?this.runPointActions(e.normalize(t)):o&&(Br(i,"touchpan",{originalEvent:t,touches:r},()=>{let e=t=>{let e=t[0],i=t[1]||e;return{x:e.chartX,y:e.chartY,width:i.chartX-e.chartX,height:i.chartY-e.chartY}};i.transform({axes:i.axes.filter(t=>t.zoomEnabled&&(this.zoomHor&&t.horiz||this.zoomVert&&!t.horiz)),to:e(r),from:e(o),trigger:t.type})}),e.res&&(e.res=!1,this.reset(!1,0))),e.lastTouches=r}reset(t,e){let i=this.chart,s=i.hoverSeries,o=i.hoverPoint,r=i.hoverPoints,n=i.tooltip,a=n&&n.shared?r:o;t&&a&&Yr(a).forEach(function(e){e.series.isCartesian&&void 0===e.plotX&&(t=!1)}),t?n&&a&&Yr(a).length&&(n.refresh(a),n.shared&&r?r.forEach(function(t){t.setState(t.state,!0),t.series.isCartesian&&(t.series.xAxis.crosshair&&t.series.xAxis.drawCrosshair(null,t),t.series.yAxis.crosshair&&t.series.yAxis.drawCrosshair(null,t))}):o&&(o.setState(o.state,!0),i.axes.forEach(function(t){t.crosshair&&o.series[t.coll]===t&&t.drawCrosshair(null,o)}))):(o&&o.onMouseOut(),r&&r.forEach(function(t){t.setState()}),s&&s.onMouseOut(),n&&n.hide(e),this.unDocMouseMove&&(this.unDocMouseMove=this.unDocMouseMove()),i.axes.forEach(function(t){t.hideCrosshair()}),i.hoverPoints=i.hoverPoint=void 0)}runPointActions(t,e,i){let s=this.chart,o=s.series,r=s.tooltip&&s.tooltip.options.enabled?s.tooltip:void 0,n=!!r&&r.shared,a=e||s.hoverPoint,l=a&&a.series||s.hoverSeries,h=(!t||"touchmove"!==t.type)&&(!!e||l&&l.directTouch&&this.isDirectTouch),c=this.getHoverData(a,l,o,h,n,t);a=c.hoverPoint,l=c.hoverSeries;let d=c.hoverPoints,p=l&&l.tooltipOptions.followPointer&&!l.tooltipOptions.split,u=n&&l&&!l.noSharedTooltip;if(a&&(i||a!==s.hoverPoint||r&&r.isHidden)){if((s.hoverPoints||[]).forEach(function(t){-1===d.indexOf(t)&&t.setState()}),s.hoverSeries!==l&&l.onMouseOver(),this.applyInactiveState(d),(d||[]).forEach(function(t){t.setState("hover")}),s.hoverPoint&&s.hoverPoint.firePointEvent("mouseOut"),!a.series)return;s.hoverPoints=d,s.hoverPoint=a,a.firePointEvent("mouseOver",void 0,()=>{r&&a&&r.refresh(u?d:a,t)})}else if(p&&r&&!r.isHidden){let e=r.getAnchor([{}],t);s.isInsidePlot(e[0],e[1],{visiblePlotOnly:!0})&&r.updatePosition({plotX:e[0],plotY:e[1]})}this.unDocMouseMove||(this.unDocMouseMove=Lr(s.container.ownerDocument,"mousemove",t=>Sr[jr.hoverChartIndex??-1]?.pointer?.onDocumentMouseMove(t)),this.eventsToUnbind.push(this.unDocMouseMove)),s.axes.forEach(function(e){let i,o=Xr((e.crosshair||{}).snap,!0);!o||(i=s.hoverPoint)&&i.series[e.coll]===e||(i=Nr(d,t=>t.series&&t.series[e.coll]===e)),i||!o?e.drawCrosshair(t,i):e.hideCrosshair()})}setDOMEvents(){let t=this.chart.container,e=t.ownerDocument;t.onmousedown=this.onContainerMouseDown.bind(this),t.onmousemove=this.onContainerMouseMove.bind(this),t.onclick=this.onContainerClick.bind(this),this.eventsToUnbind.push(Lr(t,"mouseenter",this.onContainerMouseEnter.bind(this)),Lr(t,"mouseleave",this.onContainerMouseLeave.bind(this))),jr.unbindDocumentMouseUp.some(t=>t.doc===e)||jr.unbindDocumentMouseUp.push({doc:e,unbind:Lr(e,"mouseup",this.onDocumentMouseUp.bind(this))});let i=this.chart.renderTo.parentElement;for(;i&&"BODY"!==i.tagName;)this.eventsToUnbind.push(Lr(i,"scroll",()=>{delete this.chartPosition})),i=i.parentElement;this.eventsToUnbind.push(Lr(t,"touchstart",this.onContainerTouchStart.bind(this),{passive:!1}),Lr(t,"touchmove",this.onContainerTouchMove.bind(this),{passive:!1})),jr.unbindDocumentTouchEnd||(jr.unbindDocumentTouchEnd=Lr(e,"touchend",this.onDocumentTouchEnd.bind(this),{passive:!1})),this.setPointerCapture(),Lr(this.chart,"redraw",this.setPointerCapture.bind(this))}setPointerCapture(){if(!Er)return;let t=this.pointerCaptureEventsToUnbind,e=this.chart,i=e.container,s=Xr(e.options.tooltip?.followTouchMove,!0)&&e.series.some(t=>t.options.findNearestPointBy.indexOf("y")>-1);!this.hasPointerCapture&&s?(t.push(Lr(i,"pointerdown",t=>{t.target?.hasPointerCapture(t.pointerId)&&t.target?.releasePointerCapture(t.pointerId)}),Lr(i,"pointermove",t=>{e.pointer?.getPointFromEvent(t)?.onMouseOver(t)})),e.styledMode||Dr(i,{"touch-action":"none"}),i.className+=" highcharts-no-touch-action",this.hasPointerCapture=!0):this.hasPointerCapture&&!s&&(t.forEach(t=>t()),t.length=0,e.styledMode||Dr(i,{"touch-action":Xr(e.options.chart.style?.["touch-action"],"manipulation")}),i.className=i.className.replace(" highcharts-no-touch-action",""),this.hasPointerCapture=!1)}setHoverChartIndex(t){let e=this.chart,i=w.charts[Xr(jr.hoverChartIndex,-1)];if(i&&i!==e){let s={relatedTarget:e.container};t&&!t?.relatedTarget&&Object.assign({},t,s),i.pointer?.onContainerMouseLeave(t||s)}i&&i.mouseIsDown||(jr.hoverChartIndex=e.index)}touch(t,e){let i,{chart:s,pinchDown:o=[]}=this;this.setHoverChartIndex(),1===(t=this.normalize(t)).touches.length?s.isInsidePlot(t.chartX-s.plotLeft,t.chartY-s.plotTop,{visiblePlotOnly:!0})&&!s.openMenu?(e&&this.runPointActions(t),"touchmove"===t.type&&(i=!!o[0]&&Math.pow(o[0].chartX-t.chartX,2)+Math.pow(o[0].chartY-t.chartY,2)>=16),Xr(i,!0)&&this.pinch(t)):e&&this.reset():2===t.touches.length&&this.pinch(t)}touchSelect(t){return!(!this.chart.zooming.singleTouch||!t.touches||1!==t.touches.length)}zoomOption(t){let e,i,s=this.chart,o=s.inverted,r=s.zooming.type||"";/touch/.test(t.type)&&(r=Xr(s.zooming.pinchType,r)),this.zoomX=e=/x/.test(r),this.zoomY=i=/y/.test(r),this.zoomHor=e&&!o||i&&o,this.zoomVert=i&&!o||e&&o,this.hasZoom=e||i}}jr.unbindDocumentMouseUp=[],function(t){t.compose=function(e){Wr(Tr,"Core.Pointer")&&Lr(e,"beforeRender",function(){this.pointer=new t(this,this.options)})}}(jr||(jr={}));let Gr=jr,{fireEvent:_r,isArray:qr,objectEach:Ur,uniqueKey:Vr}=q,Kr=class{constructor(t={}){this.autoId=!t.id,this.columns={},this.id=t.id||Vr(),this.modified=this,this.rowCount=0,this.versionTag=Vr();let e=0;Ur(t.columns||{},(t,i)=>{this.columns[i]=t.slice(),e=Math.max(e,t.length)}),this.applyRowCount(e)}applyRowCount(t){this.rowCount=t,Ur(this.columns,e=>{qr(e)&&(e.length=t)})}getColumn(t,e){return this.columns[t]}getColumns(t,e){return(t||Object.keys(this.columns)).reduce((t,e)=>(t[e]=this.columns[e],t),{})}getRow(t,e){return(e||Object.keys(this.columns)).map(e=>this.columns[e]?.[t])}setColumn(t,e=[],i=0,s){this.setColumns({[t]:e},i,s)}setColumns(t,e,i){let s=this.rowCount;Ur(t,(t,e)=>{this.columns[e]=t.slice(),s=t.length}),this.applyRowCount(s),i?.silent||(_r(this,"afterSetColumns"),this.versionTag=Vr())}setRow(t,e=this.rowCount,i,s){let{columns:o}=this,r=i?this.rowCount+1:e+1;Ur(t,(t,n)=>{let a=o[n]||!1!==s?.addColumns&&Array(r);a&&(i?a.splice(e,0,t):a[e]=t,o[n]=a)}),r>this.rowCount&&this.applyRowCount(r),s?.silent||(_r(this,"afterSetRows"),this.versionTag=Vr())}},{extend:$r,merge:Zr,pick:Jr}=q;!function(t){function e(t,e,i){let s,o=this.legendItem=this.legendItem||{},{chart:r,options:n}=this,{baseline:a=0,symbolWidth:l,symbolHeight:h}=t,c=this.symbol||"circle",d=h/2,p=r.renderer,u=o.group,g=a-Math.round((t.fontMetrics?.b||h)*(i?.4:.3)),f={},m=n.marker,b=0;if(r.styledMode||(f["stroke-width"]=Math.min(n.lineWidth||0,24),n.dashStyle?f.dashstyle=n.dashStyle:"square"===n.linecap||(f["stroke-linecap"]="round")),o.line=p.path().addClass("highcharts-graph").attr(f).add(u),i&&(o.area=p.path().addClass("highcharts-area").add(u)),f["stroke-linecap"]&&(b=Math.min(o.line.strokeWidth(),l)/2),l){let t=[["M",b,g],["L",l-b,g]];o.line.attr({d:t}),o.area?.attr({d:[...t,["L",l-b,a],["L",b,a]]})}if(m&&!1!==m.enabled&&l){let t=Math.min(Jr(m.radius,d),d);0===c.indexOf("url")&&(m=Zr(m,{width:h,height:h}),t=0),o.symbol=s=p.symbol(c,l/2-t,g-t,2*t,2*t,$r({context:"legend"},m)).addClass("highcharts-point").add(u),s.isMarker=!0}}t.areaMarker=function(t,i){e.call(this,t,i,!0)},t.lineMarker=e,t.rectangle=function(t,e){let i=e.legendItem||{},s=t.options,o=t.symbolHeight,r=s.squareSymbol,n=r?o:t.symbolWidth;i.symbol=this.chart.renderer.rect(r?(t.symbolWidth-o)/2:0,t.baseline-o+1,n,o,Jr(t.options.symbolRadius,o/2)).addClass("highcharts-point").attr({zIndex:3}).add(i.group)}}(c||(c={}));let Qr=c,{defaultOptions:tn}=ft,{extend:en,extendClass:sn,merge:on}=q;!function(t){function e(e,i){let s=tn.plotOptions||{},o=i.defaultOptions,r=i.prototype;return r.type=e,r.pointClass||(r.pointClass=Cr),!t.seriesTypes[e]&&(o&&(s[e]=o),t.seriesTypes[e]=i,!0)}t.seriesTypes=w.seriesTypes,t.registerSeriesType=e,t.seriesType=function(i,s,o,r,n){let a=tn.plotOptions||{};if(s=s||"",a[i]=on(a[s],o),delete t.seriesTypes[i],e(i,sn(t.seriesTypes[s]||function(){},r)),t.seriesTypes[i].prototype.type=i,n){class e extends Cr{}en(e.prototype,n),t.seriesTypes[i].prototype.pointClass=e}return t.seriesTypes[i]}}(d||(d={}));let rn=d,{animObject:nn,setAnimation:an}=Rt,{defaultOptions:ln}=ft,{registerEventOptions:hn}=vs,{svg:cn,win:dn}=w,{seriesTypes:pn}=rn,{arrayMax:un,arrayMin:gn,clamp:fn,correctFloat:mn,crisp:bn,defined:xn,destroyObjectProperties:yn,diffObjects:vn,erase:wn,error:kn,extend:An,find:Mn,fireEvent:Cn,getClosestDistance:Pn,getNestedProperty:Sn,insertItem:Tn,isArray:En,isNumber:Ln,isString:On,merge:Dn,objectEach:In,pick:Nn,removeEvent:Bn,syncTimeout:Rn}=q;class zn{constructor(){this.zoneAxis="y"}init(t,e){let i;Cn(this,"init",{options:e}),this.dataTable??(this.dataTable=new Kr);let s=t.series;this.eventsToUnbind=[],this.chart=t,this.options=this.setOptions(e);let o=this.options,r=!1!==o.visible;this.linkedSeries=[],this.bindAxes(),An(this,{name:o.name,state:"",visible:r,selected:!0===o.selected}),hn(this,o);let n=o.events;(n&&n.click||o.point&&o.point.events&&o.point.events.click||o.allowPointSelect)&&(t.runTrackerClick=!0),this.getColor(),this.getSymbol(),this.isCartesian&&(t.hasCartesianSeries=!0),s.length&&(i=s[s.length-1]),this._i=Nn(i&&i._i,-1)+1,this.opacity=this.options.opacity,t.orderItems("series",Tn(this,s)),o.dataSorting&&o.dataSorting.enabled?this.setDataSortingOptions():this.points||this.data||this.setData(o.data,!1),Cn(this,"afterInit")}is(t){return pn[t]&&this instanceof pn[t]}bindAxes(){let t,e=this,i=e.options,s=e.chart;Cn(this,"bindAxes",null,function(){(e.axisTypes||[]).forEach(function(o){(s[o]||[]).forEach(function(s){t=s.options,(Nn(i[o],0)===s.index||void 0!==i[o]&&i[o]===t.id)&&(Tn(e,s.series),e[o]=s,s.isDirty=!0)}),e[o]||e.optionalAxis===o||kn(18,!0,s)})}),Cn(this,"afterBindAxes")}hasData(){return this.visible&&void 0!==this.dataMax&&void 0!==this.dataMin||this.visible&&this.dataTable.rowCount>0}hasMarkerChanged(t,e){let i=t.marker,s=e.marker||{};return i&&(s.enabled&&!i.enabled||s.symbol!==i.symbol||s.height!==i.height||s.width!==i.width)}autoIncrement(t){let e,i=this.options,{pointIntervalUnit:s,relativeXValue:o}=this.options,r=this.chart.time,n=this.xIncrement??r.parse(i.pointStart)??0;if(this.pointInterval=e=Nn(this.pointInterval,i.pointInterval,1),o&&Ln(t)&&(e*=t),s){let t=r.toParts(n);"day"===s?t[2]+=e:"month"===s?t[1]+=e:"year"===s&&(t[0]+=e),e=r.makeTime.apply(r,t)-n}return o&&Ln(t)?n+e:(this.xIncrement=n+e,n)}setDataSortingOptions(){let t=this.options;An(this,{requireSorting:!1,sorted:!1,enabledDataSorting:!0,allowDG:!1}),xn(t.pointRange)||(t.pointRange=1)}setOptions(t){let e,i=this.chart,s=i.options.plotOptions,o=i.userOptions||{},r=Dn(t),n=i.styledMode,a={plotOptions:s,userOptions:r};Cn(this,"setOptions",a);let l=a.plotOptions[this.type],h=o.plotOptions||{},c=h.series||{},d=ln.plotOptions[this.type]||{},p=h[this.type]||{};this.userOptions=a.userOptions;let u=Dn(l,s.series,p,r);this.tooltipOptions=Dn(ln.tooltip,ln.plotOptions.series?.tooltip,d?.tooltip,i.userOptions.tooltip,h.series?.tooltip,p.tooltip,r.tooltip),this.stickyTracking=Nn(r.stickyTracking,p.stickyTracking,c.stickyTracking,!!this.tooltipOptions.shared&&!this.noSharedTooltip||u.stickyTracking),null===l.marker&&delete u.marker,this.zoneAxis=u.zoneAxis||"y";let g=this.zones=(u.zones||[]).map(t=>({...t}));return(u.negativeColor||u.negativeFillColor)&&!u.zones&&(e={value:u[this.zoneAxis+"Threshold"]||u.threshold||0,className:"highcharts-negative"},n||(e.color=u.negativeColor,e.fillColor=u.negativeFillColor),g.push(e)),g.length&&xn(g[g.length-1].value)&&g.push(n?{}:{color:this.color,fillColor:this.fillColor}),Cn(this,"afterSetOptions",{options:u}),u}getName(){return Nn(this.options.name,"Series "+(this.index+1))}getCyclic(t,e,i){let s,o,r=this.chart,n=`${t}Index`,a=`${t}Counter`,l=i?.length||r.options.chart.colorCount;!e&&(xn(o=Nn("color"===t?this.options.colorIndex:void 0,this[n]))?s=o:(r.series.length||(r[a]=0),s=r[a]%l,r[a]+=1),i&&(e=i[s])),void 0!==s&&(this[n]=s),this[t]=e}getColor(){this.chart.styledMode?this.getCyclic("color"):this.options.colorByPoint?this.color="#cccccc":this.getCyclic("color",this.options.color||ln.plotOptions[this.type].color,this.chart.options.colors)}getPointsCollection(){return(this.hasGroupedData?this.points:this.data)||[]}getSymbol(){let t=this.options.marker;this.getCyclic("symbol",t.symbol,this.chart.options.symbols)}getColumn(t,e){return(e?this.dataTable.modified:this.dataTable).getColumn(t,!0)||[]}findPointIndex(t,e){let i,s,o,r=t.id,n=t.x,a=this.points,l=this.options.dataSorting;if(r){let t=this.chart.get(r);t instanceof Cr&&(i=t)}else if(this.linkedParent||this.enabledDataSorting||this.options.relativeXValue){let e=e=>!e.touched&&e.index===t.index;if(l&&l.matchByName?e=e=>!e.touched&&e.name===t.name:this.options.relativeXValue&&(e=e=>!e.touched&&e.options.x===t.x),!(i=Mn(a,e)))return}return i&&void 0!==(o=i&&i.index)&&(s=!0),void 0===o&&Ln(n)&&(o=this.getColumn("x").indexOf(n,e)),-1!==o&&void 0!==o&&this.cropped&&(o=o>=this.cropStart?o-this.cropStart:o),!s&&Ln(o)&&a[o]&&a[o].touched&&(o=void 0),o}updateData(t,e){let i,s,o,r,n=this.options,a=n.dataSorting,l=this.points,h=[],c=this.requireSorting,d=t.length===l.length,p=!0;if(this.xIncrement=null,t.forEach(function(t,e){let s,o=xn(t)&&this.pointClass.prototype.optionsToObject.call({series:this},t)||{},p=o.x;o.id||Ln(p)?(-1===(s=this.findPointIndex(o,r))||void 0===s?h.push(t):l[s]&&t!==n.data[s]?(l[s].update(t,!1,null,!1),l[s].touched=!0,c&&(r=s+1)):l[s]&&(l[s].touched=!0),(!d||e!==s||a&&a.enabled||this.hasDerivedData)&&(i=!0)):h.push(t)},this),i)for(s=l.length;s--;)(o=l[s])&&!o.touched&&o.remove&&o.remove(!1,e);else!d||a&&a.enabled?p=!1:(t.forEach(function(t,e){t===l[e].y||l[e].destroyed||l[e].update(t,!1,null,!1)}),h.length=0);if(l.forEach(function(t){t&&(t.touched=!1)}),!p)return!1;h.forEach(function(t){this.addPoint(t,!1,null,null,!1)},this);let u=this.getColumn("x");return null===this.xIncrement&&u.length&&(this.xIncrement=un(u),this.autoIncrement()),!0}dataColumnKeys(){return["x",...this.pointArrayMap||["y"]]}setData(t,e=!0,i,s){let o,r,n,a=this.points,l=a&&a.length||0,h=this.options,c=this.chart,d=h.dataSorting,p=this.xAxis,u=h.turboThreshold,g=this.dataTable,f=this.dataColumnKeys(),m=this.pointValKey||"y",b=(this.pointArrayMap||[]).length,x=h.keys,y=0,v=1;c.options.chart.allowMutatingData||(h.data&&delete this.options.data,this.userOptions.data&&delete this.userOptions.data,n=Dn(!0,t));let w=(t=n||t||[]).length;if(d&&d.enabled&&(t=this.sortData(t)),c.options.chart.allowMutatingData&&!1!==s&&w&&l&&!this.cropped&&!this.hasGroupedData&&this.visible&&!this.boosted&&(r=this.updateData(t,i)),!r){this.xIncrement=null,this.colorCounter=0;let e=u&&w>u;if(e){let i=this.getFirstValidPoint(t),s=this.getFirstValidPoint(t,w-1,-1),o=t=>!(!En(t)||!x&&!Ln(t[0]));if(Ln(i)&&Ln(s)){let e=[],i=[];for(let s of t)e.push(this.autoIncrement()),i.push(s);g.setColumns({x:e,[m]:i})}else if(o(i)&&o(s))if(b){let e=i.length===b?1:0,s=Array(f.length).fill(0).map(()=>[]);for(let i of t){e&&s[0].push(this.autoIncrement());for(let t=e;t<=b;t++)s[t]?.push(i[t-e])}g.setColumns(f.reduce((t,e,i)=>(t[e]=s[i],t),{}))}else{x&&(y=x.indexOf("x"),v=x.indexOf("y"),y=y>=0?y:0,v=v>=0?v:1),1===i.length&&(v=0);let e=[],s=[];if(y===v)for(let i of t)e.push(this.autoIncrement()),s.push(i[v]);else for(let i of t)e.push(i[y]),s.push(i[v]);g.setColumns({x:e,[m]:s})}else e=!1}if(!e){let e=f.reduce((t,e)=>(t[e]=[],t),{});for(o=0;o<w;o++){let i=this.pointClass.prototype.applyOptions.apply({series:this},[t[o]]);for(let t of f)e[t][o]=i[t]}g.setColumns(e)}for(On(this.getColumn("y")[0])&&kn(14,!0,c),this.data=[],this.options.data=this.userOptions.data=t,o=l;o--;)a[o]?.destroy();p&&(p.minRange=p.userMinRange),this.isDirty=c.isDirtyBox=!0,this.isDirtyData=!!a,i=!1}"point"===h.legendType&&(this.processData(),this.generatePoints()),e&&c.redraw(i)}sortData(t){let e=this,i=e.options.dataSorting.sortKey||"y",s=function(t,e){return xn(e)&&t.pointClass.prototype.optionsToObject.call({series:t},e)||{}};return t.forEach(function(i,o){t[o]=s(e,i),t[o].index=o},this),t.concat().sort((t,e)=>{let s=Sn(i,t),o=Sn(i,e);return o<s?-1:o>s?1:0}).forEach(function(t,e){t.x=e},this),e.linkedSeries&&e.linkedSeries.forEach(function(e){let i=e.options,o=i.data;i.dataSorting&&i.dataSorting.enabled||!o||(o.forEach(function(i,r){o[r]=s(e,i),t[r]&&(o[r].x=t[r].x,o[r].index=r)}),e.setData(o,!1))}),t}getProcessedData(t){let e,i,s,o,r,n=this,{dataTable:a,isCartesian:l,options:h,xAxis:c}=n,d=h.cropThreshold,p=t||n.getExtremesFromAll,u=c?.logarithmic,g=a.rowCount,f=0,m=n.getColumn("x"),b=a,x=!1;return c&&(o=(s=c.getExtremes()).min,r=s.max,x=!(!c.categories||c.names.length),l&&n.sorted&&!p&&(!d||g>d||n.forceCrop)&&(m[g-1]<o||m[0]>r?b=new Kr:n.getColumn(n.pointValKey||"y").length&&(m[0]<o||m[g-1]>r)&&(b=(e=this.cropData(a,o,r)).modified,f=e.start,i=!0))),m=b.getColumn("x")||[],{modified:b,cropped:i,cropStart:f,closestPointRange:Pn([u?m.map(u.log2lin):m],()=>n.requireSorting&&!x&&kn(15,!1,n.chart))}}processData(t){let e=this.xAxis,i=this.dataTable;if(this.isCartesian&&!this.isDirty&&!e.isDirty&&!this.yAxis.isDirty&&!t)return!1;let s=this.getProcessedData();i.modified=s.modified,this.cropped=s.cropped,this.cropStart=s.cropStart,this.closestPointRange=this.basePointRange=s.closestPointRange,Cn(this,"afterProcessData")}cropData(t,e,i){let s,o,r=t.getColumn("x",!0)||[],n=r.length,a={},l=0,h=n;for(s=0;s<n;s++)if(r[s]>=e){l=Math.max(0,s-1);break}for(o=s;o<n;o++)if(r[o]>i){h=o+1;break}for(let e of this.dataColumnKeys()){let i=t.getColumn(e,!0);i&&(a[e]=i.slice(l,h))}return{modified:new Kr({columns:a}),start:l,end:h}}generatePoints(){let t,e,i,s,o,r=this.options,n=this.processedData||r.data,a=this.dataTable.modified,l=this.getColumn("x",!0),h=this.pointClass,c=a.rowCount,d=this.cropStart||0,p=this.hasGroupedData,u=r.keys,g=[],f=r.dataGrouping&&r.dataGrouping.groupAll?d:0,m=this.xAxis?.categories,b=this.pointArrayMap||["y"],x=this.dataColumnKeys(),y=this.data;if(!y&&!p){let t=[];t.length=n?.length||0,y=this.data=t}for(u&&p&&(this.options.keys=!1),s=0;s<c;s++)e=d+s,p?((i=new h(this,a.getRow(s,x)||[])).dataGroup=this.groupMap[f+s],i.dataGroup?.options&&(i.options=i.dataGroup.options,An(i,i.dataGroup.options),delete i.dataLabels)):(i=y[e],o=n?n[e]:a.getRow(s,b),i||void 0===o||(y[e]=i=new h(this,o,l[s]))),i&&(i.index=p?f+s:e,g[s]=i,i.category=m?.[i.x]??i.x,i.key=i.name??i.category);if(this.options.keys=u,y&&(c!==(t=y.length)||p))for(s=0;s<t;s++)s!==d||p||(s+=c),y[s]&&(y[s].destroyElements(),y[s].plotX=void 0);this.data=y,this.points=g,Cn(this,"afterGeneratePoints")}getXExtremes(t){return{min:gn(t),max:un(t)}}getExtremes(t,e){let i,s,o,{xAxis:r,yAxis:n}=this,a=e||this.getExtremesFromAll||this.options.getExtremesFromAll,l=a&&this.cropped?this.dataTable:this.dataTable.modified,h=l.rowCount,c=t||this.stackedYData,d=c?[c]:(this.keysAffectYAxis||this.pointArrayMap||["y"])?.map(t=>l.getColumn(t,!0)||[])||[],p=this.getColumn("x",!0),u=[],g=this.requireSorting&&!this.is("column")?1:0,f=!!n&&n.positiveValuesOnly,m=a||this.cropped||!r,b=0,x=0;for(r&&(b=(i=r.getExtremes()).min,x=i.max),o=0;o<h;o++)if(s=p[o],m||(p[o+g]||s)>=b&&(p[o-g]||s)<=x)for(let t of d){let e=t[o];Ln(e)&&(e>0||!f)&&u.push(e)}let y={activeYData:u,dataMin:gn(u),dataMax:un(u)};return Cn(this,"afterGetExtremes",{dataExtremes:y}),y}applyExtremes(){let t=this.getExtremes();return this.dataMin=t.dataMin,this.dataMax=t.dataMax,t}getFirstValidPoint(t,e=0,i=1){let s=t.length,o=e;for(;o>=0&&o<s;){if(xn(t[o]))return t[o];o+=i}}translate(){this.generatePoints();let t,e,i,s,o=this.options,r=o.stacking,n=this.xAxis,a=this.enabledDataSorting,l=this.yAxis,h=this.points,c=h.length,d=this.pointPlacementToXValue(),p=!!d,u=o.threshold,g=o.startFromThreshold?u:0,f=Number.MAX_VALUE;function m(t){return fn(t,-1e9,1e9)}for(t=0;t<c;t++){let o,c,b,x=h[t],y=x.x,v=x.y,w=x.low,k=r&&l.stacking?.stacks[(this.negStacks&&v<(g?0:u)?"-":"")+this.stackKey];e=n.translate(y,!1,!1,!1,!0,d),x.plotX=Ln(e)?mn(m(e)):void 0,r&&this.visible&&k&&k[y]&&(s=this.getStackIndicator(s,y,this.index),!x.isNull&&s.key&&(b=(c=k[y]).points[s.key]),c&&En(b)&&(w=b[0],v=b[1],w===g&&s.key===k[y].base&&(w=Nn(Ln(u)?u:l.min)),l.positiveValuesOnly&&xn(w)&&w<=0&&(w=void 0),x.total=x.stackTotal=Nn(c.total),x.percentage=xn(x.y)&&c.total?x.y/c.total*100:void 0,x.stackY=v,this.irregularWidths||c.setOffset(this.pointXOffset||0,this.barW||0,void 0,void 0,void 0,this.xAxis))),x.yBottom=xn(w)?m(l.translate(w,!1,!0,!1,!0)):void 0,this.dataModify&&(v=this.dataModify.modifyValue(v,t)),Ln(v)&&void 0!==x.plotX&&(o=Ln(o=l.translate(v,!1,!0,!1,!0))?m(o):void 0),x.plotY=o,x.isInside=this.isPointInside(x),x.clientX=p?mn(n.translate(y,!1,!1,!1,!0,d)):e,x.negative=(x.y||0)<(u||0),x.isNull||!1===x.visible||(void 0!==i&&(f=Math.min(f,Math.abs(e-i))),i=e),x.zone=this.zones.length?x.getZone():void 0,!x.graphic&&this.group&&a&&(x.isNew=!0)}this.closestPointRangePx=f,Cn(this,"afterTranslate")}getValidPoints(t,e,i){let s=this.chart;return(t||this.points||[]).filter(function(t){let{plotX:o,plotY:r}=t;return!(!(i||!t.isNull&&Ln(r))||e&&!s.isInsidePlot(o,r,{inverted:s.inverted}))&&!1!==t.visible})}getClipBox(){let{chart:t,xAxis:e,yAxis:i}=this,{x:s,y:o,width:r,height:n}=Dn(t.clipBox);return e&&e.len!==t.plotSizeX&&(r=e.len),i&&i.len!==t.plotSizeY&&(n=i.len),t.inverted&&!this.invertible&&([r,n]=[n,r]),{x:s,y:o,width:r,height:n}}getSharedClipKey(){return this.sharedClipKey=(this.options.xAxis||0)+","+(this.options.yAxis||0),this.sharedClipKey}setClip(){let{chart:t,group:e,markerGroup:i}=this,s=t.sharedClips,o=t.renderer,r=this.getClipBox(),n=this.getSharedClipKey(),a=s[n];a?a.animate(r):s[n]=a=o.clipRect(r),e&&e.clip(!1===this.options.clip?void 0:a),i&&i.clip()}animate(t){let{chart:e,group:i,markerGroup:s}=this,o=e.inverted,r=nn(this.options.animation),n=[this.getSharedClipKey(),r.duration,r.easing,r.defer].join(","),a=e.sharedClips[n],l=e.sharedClips[n+"m"];if(t&&i){let t=this.getClipBox();if(a)a.attr("height",t.height);else{t.width=0,o&&(t.x=e.plotHeight),a=e.renderer.clipRect(t),e.sharedClips[n]=a;let i={x:-99,y:-99,width:o?e.plotWidth+199:99,height:o?99:e.plotHeight+199};l=e.renderer.clipRect(i),e.sharedClips[n+"m"]=l}i.clip(a),s?.clip(l)}else if(a&&!a.hasClass("highcharts-animating")){let t=this.getClipBox(),i=r.step;(s?.element.childNodes.length||e.series.length>1)&&(r.step=function(t,e){i&&i.apply(e,arguments),"width"===e.prop&&l?.element&&l.attr(o?"height":"width",t+99)}),a.addClass("highcharts-animating").animate(t,r)}}afterAnimate(){this.setClip(),In(this.chart.sharedClips,(t,e,i)=>{t&&!this.chart.container.querySelector(`[clip-path="url(#${t.id})"]`)&&(t.destroy(),delete i[e])}),this.finishedAnimating=!0,Cn(this,"afterAnimate")}drawPoints(t=this.points){let e,i,s,o,r,n,a,l=this.chart,h=l.styledMode,{colorAxis:c,options:d}=this,p=d.marker,u=this[this.specialGroup||"markerGroup"],g=this.xAxis,f=Nn(p.enabled,!g||!!g.isRadial||null,this.closestPointRangePx>=p.enabledThreshold*p.radius);if(!1!==p.enabled||this._hasPointMarkers)for(e=0;e<t.length;e++)if(o=(s=(i=t[e]).graphic)?"animate":"attr",r=i.marker||{},n=!!i.marker,(f&&void 0===r.enabled||r.enabled)&&!i.isNull&&!1!==i.visible){let t=Nn(r.symbol,this.symbol,"rect");a=this.markerAttribs(i,i.selected&&"select"),this.enabledDataSorting&&(i.startXPos=g.reversed?-(a.width||0):g.width);let e=!1!==i.isInside;if(!s&&e&&((a.width||0)>0||i.hasImage)&&(i.graphic=s=l.renderer.symbol(t,a.x,a.y,a.width,a.height,n?r:p).add(u),this.enabledDataSorting&&l.hasRendered&&(s.attr({x:i.startXPos}),o="animate")),s&&"animate"===o&&s[e?"show":"hide"](e).animate(a),s){let t=this.pointAttribs(i,h||!i.selected?void 0:"select");h?c&&s.css({fill:t.fill}):s[o](t)}s&&s.addClass(i.getClassName(),!0)}else s&&(i.graphic=s.destroy())}markerAttribs(t,e){let i,s,o=this.options,r=o.marker,n=t.marker||{},a=n.symbol||r.symbol,l={},h=Nn(n.radius,r&&r.radius);e&&(i=r.states[e],h=Nn((s=n.states&&n.states[e])&&s.radius,i&&i.radius,h&&h+(i&&i.radiusPlus||0))),t.hasImage=a&&0===a.indexOf("url"),t.hasImage&&(h=0);let c=t.pos();return Ln(h)&&c&&(o.crisp&&(c[0]=bn(c[0],t.hasImage?0:"rect"===a?r?.lineWidth||0:1)),l.x=c[0]-h,l.y=c[1]-h),h&&(l.width=l.height=2*h),l}pointAttribs(t,e){let i,s,o,r,n=this.options.marker,a=t&&t.options,l=a&&a.marker||{},h=a&&a.color,c=t&&t.color,d=t&&t.zone&&t.zone.color,p=this.color,u=Nn(l.lineWidth,n.lineWidth),g=1;return p=h||d||c||p,o=l.fillColor||n.fillColor||p,r=l.lineColor||n.lineColor||p,e=e||"normal",i=n.states[e]||{},u=Nn((s=l.states&&l.states[e]||{}).lineWidth,i.lineWidth,u+Nn(s.lineWidthPlus,i.lineWidthPlus,0)),o=s.fillColor||i.fillColor||o,{stroke:r=s.lineColor||i.lineColor||r,"stroke-width":u,fill:o,opacity:g=Nn(s.opacity,i.opacity,g)}}destroy(t){let e,i,s,o=this,r=o.chart,n=/AppleWebKit\/533/.test(dn.navigator.userAgent),a=o.data||[];for(Cn(o,"destroy",{keepEventsForUpdate:t}),this.removeEvents(t),(o.axisTypes||[]).forEach(function(t){(s=o[t])&&s.series&&(wn(s.series,o),s.isDirty=s.forceRedraw=!0)}),o.legendItem&&o.chart.legend.destroyItem(o),e=a.length;e--;)(i=a[e])&&i.destroy&&i.destroy();for(let t of o.zones)yn(t,void 0,!0);q.clearTimeout(o.animationTimeout),In(o,function(t,e){t instanceof Qe&&!t.survive&&t[n&&"group"===e?"hide":"destroy"]()}),r.hoverSeries===o&&(r.hoverSeries=void 0),wn(r.series,o),r.orderItems("series"),In(o,function(e,i){t&&"hcEvents"===i||delete o[i]})}applyZones(){let{area:t,chart:e,graph:i,zones:s,points:o,xAxis:r,yAxis:n,zoneAxis:a}=this,{inverted:l,renderer:h}=e,c=this[`${a}Axis`],{isXAxis:d,len:p=0,minPointOffset:u=0}=c||{},g=(i?.strokeWidth()||0)/2+1,f=(t,e=0,i=0)=>{l&&(i=p-i);let{translated:s=0,lineClip:o}=t,r=i-s;o?.push(["L",e,Math.abs(r)<g?i-g*(r<=0?-1:1):s])};if(s.length&&(i||t)&&c&&Ln(c.min)){let e=c.getExtremes().max+u,g=t=>{t.forEach((e,i)=>{("M"===e[0]||"L"===e[0])&&(t[i]=[e[0],d?p-e[1]:e[1],d?e[2]:p-e[2]])})};if(s.forEach(t=>{t.lineClip=[],t.translated=fn(c.toPixels(Nn(t.value,e),!0)||0,0,p)}),i&&!this.showLine&&i.hide(),t&&t.hide(),"y"===a&&o.length<r.len)for(let t of o){let{plotX:e,plotY:i,zone:o}=t,r=o&&s[s.indexOf(o)-1];o&&f(o,e,i),r&&f(r,e,i)}let m=[],b=c.toPixels(c.getExtremes().min-u,!0);s.forEach(e=>{let s=e.lineClip||[],o=Math.round(e.translated||0);r.reversed&&s.reverse();let{clip:a,simpleClip:c}=e,p=0,u=0,f=r.len,x=n.len;d?(p=o,f=b):(u=o,x=b);let y=[["M",p,u],["L",f,u],["L",f,x],["L",p,x],["Z"]],v=[y[0],...s,y[1],y[2],...m,y[3],y[4]];m=s.reverse(),b=o,l&&(g(v),t&&g(y)),a?(a.animate({d:v}),c?.animate({d:y})):(a=e.clip=h.path(v),t&&(c=e.simpleClip=h.path(y))),i&&e.graph?.clip(a),t&&e.area?.clip(c)})}else this.visible&&(i&&i.show(),t&&t.show())}plotGroup(t,e,i,s,o){let r=this[t],n=!r,a={visibility:i,zIndex:s||.1};return xn(this.opacity)&&!this.chart.styledMode&&"inactive"!==this.state&&(a.opacity=this.opacity),r||(this[t]=r=this.chart.renderer.g().add(o)),r.addClass("highcharts-"+e+" highcharts-series-"+this.index+" highcharts-"+this.type+"-series "+(xn(this.colorIndex)?"highcharts-color-"+this.colorIndex+" ":"")+(this.options.className||"")+(r.hasClass("highcharts-tracker")?" highcharts-tracker":""),!0),r.attr(a)[n?"attr":"animate"](this.getPlotBox(e)),r}getPlotBox(t){let e=this.xAxis,i=this.yAxis,s=this.chart,o=s.inverted&&!s.polar&&e&&this.invertible&&"series"===t;return s.inverted&&(e=i,i=this.xAxis),{translateX:e?e.left:s.plotLeft,translateY:i?i.top:s.plotTop,rotation:o?90:0,rotationOriginX:o?(e.len-i.len)/2:0,rotationOriginY:o?(e.len+i.len)/2:0,scaleX:o?-1:1,scaleY:1}}removeEvents(t){let{eventsToUnbind:e}=this;t||Bn(this),e.length&&(e.forEach(t=>{t()}),e.length=0)}render(){let t=this,{chart:e,options:i,hasRendered:s}=t,o=nn(i.animation),r=t.visible?"inherit":"hidden",n=i.zIndex,a=e.seriesGroup,l=t.finishedAnimating?0:o.duration;Cn(this,"render"),t.plotGroup("group","series",r,n,a),t.markerGroup=t.plotGroup("markerGroup","markers",r,n,a),!1!==i.clip&&t.setClip(),l&&t.animate?.(!0),t.drawGraph&&(t.drawGraph(),t.applyZones()),t.visible&&t.drawPoints(),t.drawDataLabels?.(),t.redrawPoints?.(),i.enableMouseTracking&&t.drawTracker?.(),l&&t.animate?.(),s||(l&&o.defer&&(l+=o.defer),t.animationTimeout=Rn(()=>{t.afterAnimate()},l||0)),t.isDirty=!1,t.hasRendered=!0,Cn(t,"afterRender")}redraw(){let t=this.isDirty||this.isDirtyData;this.translate(),this.render(),t&&delete this.kdTree}reserveSpace(){return this.visible||!this.chart.options.chart.ignoreHiddenSeries}searchPoint(t,e){let{xAxis:i,yAxis:s}=this,o=this.chart.inverted;return this.searchKDTree({clientX:o?i.len-t.chartY+i.pos:t.chartX-i.pos,plotY:o?s.len-t.chartX+s.pos:t.chartY-s.pos},e,t)}buildKDTree(t){this.buildingKdTree=!0;let e=this,i=e.options.findNearestPointBy.indexOf("y")>-1?2:1;delete e.kdTree,Rn(function(){e.kdTree=function t(i,s,o){let r,n,a=i?.length;if(a)return r=e.kdAxisArray[s%o],i.sort((t,e)=>(t[r]||0)-(e[r]||0)),{point:i[n=Math.floor(a/2)],left:t(i.slice(0,n),s+1,o),right:t(i.slice(n+1),s+1,o)}}(e.getValidPoints(void 0,!e.directTouch),i,i),e.buildingKdTree=!1},e.options.kdNow||"touchstart"===t?.type?0:1)}searchKDTree(t,e,i,s,o){let r=this,[n,a]=this.kdAxisArray,l=e?"distX":"dist",h=(r.options.findNearestPointBy||"").indexOf("y")>-1?2:1,c=!!r.isBubble,d=s||((t,e,i)=>[(t[i]||0)<(e[i]||0)?t:e,!1]),p=o||((t,e)=>t<e);if(this.kdTree||this.buildingKdTree||this.buildKDTree(i),this.kdTree)return function t(e,i,s,o){let h=i.point,u=r.kdAxisArray[s%o],g=h,f=!1;!function(t,e){let i=t[n],s=e[n],o=xn(i)&&xn(s)?i-s:null,r=t[a],l=e[a],h=xn(r)&&xn(l)?r-l:0,d=c&&e.marker?.radius||0;e.dist=Math.sqrt((o&&o*o||0)+h*h)-d,e.distX=xn(o)?Math.abs(o)-d:Number.MAX_VALUE}(e,h);let m=(e[u]||0)-(h[u]||0)+(c&&h.marker?.radius||0),b=m<0?"left":"right",x=m<0?"right":"left";return i[b]&&([g,f]=d(h,t(e,i[b],s+1,o),l)),i[x]&&p(Math.sqrt(m*m),g[l],f)&&(g=d(g,t(e,i[x],s+1,o),l)[0]),g}(t,this.kdTree,h,h)}pointPlacementToXValue(){let{options:t,xAxis:e}=this,i=t.pointPlacement;return"between"===i&&(i=e.reversed?-.5:.5),Ln(i)?i*(t.pointRange||e.pointRange):0}isPointInside(t){let{chart:e,xAxis:i,yAxis:s}=this,{plotX:o=-1,plotY:r=-1}=t;return r>=0&&r<=(s?s.len:e.plotHeight)&&o>=0&&o<=(i?i.len:e.plotWidth)}drawTracker(){let t=this,e=t.options,i=e.trackByArea,s=[].concat((i?t.areaPath:t.graphPath)||[]),o=t.chart,r=o.pointer,n=o.renderer,a=o.options.tooltip?.snap||0,l=()=>{e.enableMouseTracking&&o.hoverSeries!==t&&t.onMouseOver()},h="rgba(192,192,192,"+(cn?1e-4:.002)+")",c=t.tracker;c?c.attr({d:s}):t.graph&&(t.tracker=c=n.path(s).attr({visibility:t.visible?"inherit":"hidden",zIndex:2}).addClass(i?"highcharts-tracker-area":"highcharts-tracker-line").add(t.group),o.styledMode||c.attr({"stroke-linecap":"round","stroke-linejoin":"round",stroke:h,fill:i?h:"none","stroke-width":t.graph.strokeWidth()+(i?0:2*a)}),[t.tracker,t.markerGroup,t.dataLabelsGroup].forEach(t=>{t&&(t.addClass("highcharts-tracker").on("mouseover",l).on("mouseout",t=>{r?.onTrackerMouseOut(t)}),e.cursor&&!o.styledMode&&t.css({cursor:e.cursor}),t.on("touchstart",l))})),Cn(this,"afterDrawTracker")}addPoint(t,e,i,s,o){let r,n,a=this.options,{chart:l,data:h,dataTable:c,xAxis:d}=this,p=d&&d.hasNames&&d.names,u=a.data,g=this.getColumn("x");e=Nn(e,!0);let f={series:this};this.pointClass.prototype.applyOptions.apply(f,[t]);let m=f.x;if(n=g.length,this.requireSorting&&m<g[n-1])for(r=!0;n&&g[n-1]>m;)n--;c.setRow(f,n,!0,{addColumns:!1}),p&&f.name&&(p[m]=f.name),u?.splice(n,0,t),(r||this.processedData)&&(this.data.splice(n,0,null),this.processData()),"point"===a.legendType&&this.generatePoints(),i&&(h[0]&&h[0].remove?h[0].remove(!1):([h,u,...Object.values(c.getColumns())].filter(xn).forEach(t=>{t.shift()}),c.rowCount-=1,Cn(c,"afterDeleteRows"))),!1!==o&&Cn(this,"addPoint",{point:f}),this.isDirty=!0,this.isDirtyData=!0,e&&l.redraw(s)}removePoint(t,e,i){let s=this,{chart:o,data:r,points:n,dataTable:a}=s,l=r[t],h=function(){[n?.length===r.length?n:void 0,r,s.options.data,...Object.values(a.getColumns())].filter(xn).forEach(e=>{e.splice(t,1)}),a.rowCount-=1,Cn(a,"afterDeleteRows"),l?.destroy(),s.isDirty=!0,s.isDirtyData=!0,e&&o.redraw()};an(i,o),e=Nn(e,!0),l?l.firePointEvent("remove",null,h):h()}remove(t,e,i,s){let o=this,r=o.chart;function n(){o.destroy(s),r.isDirtyLegend=r.isDirtyBox=!0,r.linkSeries(s),Nn(t,!0)&&r.redraw(e)}!1!==i?Cn(o,"remove",null,n):n()}update(t,e){Cn(this,"update",{options:t=vn(t,this.userOptions)});let i,s,o=this,r=o.chart,n=o.userOptions,a=o.initialType||o.type,l=r.options.plotOptions,h=pn[a].prototype,c=o.finishedAnimating&&{animation:!1},d={},p=["colorIndex","eventOptions","navigatorSeries","symbolIndex","baseSeries"],u=t.type||n.type||r.options.chart.type,g=!(this.hasDerivedData||u&&u!==this.type||void 0!==t.keys||void 0!==t.pointStart||void 0!==t.pointInterval||void 0!==t.relativeXValue||t.joinBy||t.mapData||["dataGrouping","pointStart","pointInterval","pointIntervalUnit","keys"].some(t=>o.hasOptionChanged(t)));u=u||a,g?(p.push("data","isDirtyData","isDirtyCanvas","points","dataTable","processedData","xIncrement","cropped","_hasPointMarkers","hasDataLabels","nodes","layout","level","mapMap","mapData","minY","maxY","minX","maxX","transformGroups"),!1!==t.visible&&p.push("area","graph"),o.parallelArrays.forEach(function(t){p.push(t+"Data")}),t.data&&(t.dataSorting&&An(o.options.dataSorting,t.dataSorting),this.setData(t.data,!1))):this.dataTable.modified=this.dataTable,t=Dn(n,{index:void 0===n.index?o.index:n.index,pointStart:l?.series?.pointStart??n.pointStart??o.getColumn("x")[0]},!g&&{data:o.options.data},t,c),g&&t.data&&(t.data=o.options.data),(p=["group","markerGroup","dataLabelsGroup","transformGroup"].concat(p)).forEach(function(t){p[t]=o[t],delete o[t]});let f=!1;if(pn[u]){if(f=u!==o.type,o.remove(!1,!1,!1,!0),f)if(r.propFromSeries(),Object.setPrototypeOf)Object.setPrototypeOf(o,pn[u].prototype);else{let t=Object.hasOwnProperty.call(o,"hcEvents")&&o.hcEvents;for(s in h)o[s]=void 0;An(o,pn[u].prototype),t?o.hcEvents=t:delete o.hcEvents}}else kn(17,!0,r,{missingModuleFor:u});if(p.forEach(function(t){o[t]=p[t]}),o.init(r,t),g&&this.points)for(let t of(!1===(i=o.options).visible?(d.graphic=1,d.dataLabel=1):(this.hasMarkerChanged(i,n)&&(d.graphic=1),o.hasDataLabels?.()||(d.dataLabel=1)),this.points))t&&t.series&&(t.resolveColor(),Object.keys(d).length&&t.destroyElements(d),!1===i.showInLegend&&t.legendItem&&r.legend.destroyItem(t));o.initialType=a,r.linkSeries(),r.setSortedData(),f&&o.linkedSeries.length&&(o.isDirtyData=!0),Cn(this,"afterUpdate"),Nn(e,!0)&&r.redraw(!!g&&void 0)}setName(t){this.name=this.options.name=this.userOptions.name=t,this.chart.isDirtyLegend=!0}hasOptionChanged(t){let e=this.chart,i=this.options[t],s=e.options.plotOptions,o=this.userOptions[t],r=Nn(s?.[this.type]?.[t],s?.series?.[t]);return o&&!xn(r)?i!==o:i!==Nn(r,i)}onMouseOver(){let t=this.chart,e=t.hoverSeries,i=t.pointer;i?.setHoverChartIndex(),e&&e!==this&&e.onMouseOut(),this.options.events.mouseOver&&Cn(this,"mouseOver"),this.setState("hover"),t.hoverSeries=this}onMouseOut(){let t=this.options,e=this.chart,i=e.tooltip,s=e.hoverPoint;e.hoverSeries=null,s&&s.onMouseOut(),this&&t.events.mouseOut&&Cn(this,"mouseOut"),i&&!this.stickyTracking&&(!i.shared||this.noSharedTooltip)&&i.hide(),e.series.forEach(function(t){t.setState("",!0)})}setState(t,e){let i=this,s=i.options,o=i.graph,r=s.inactiveOtherPoints,n=s.states,a=Nn(n[t||"normal"]&&n[t||"normal"].animation,i.chart.options.chart.animation),l=s.lineWidth,h=s.opacity;if(t=t||"",i.state!==t&&([i.group,i.markerGroup,i.dataLabelsGroup].forEach(function(e){e&&(i.state&&e.removeClass("highcharts-series-"+i.state),t&&e.addClass("highcharts-series-"+t))}),i.state=t,!i.chart.styledMode)){if(n[t]&&!1===n[t].enabled)return;if(t&&(l=n[t].lineWidth||l+(n[t].lineWidthPlus||0),h=Nn(n[t].opacity,h)),o&&!o.dashstyle&&Ln(l))for(let t of[o,...this.zones.map(t=>t.graph)])t?.animate({"stroke-width":l},a);r||[i.group,i.markerGroup,i.dataLabelsGroup,i.labelBySeries].forEach(function(t){t&&t.animate({opacity:h},a)})}e&&r&&i.points&&i.setAllPointsToState(t||void 0)}setAllPointsToState(t){this.points.forEach(function(e){e.setState&&e.setState(t)})}setVisible(t,e){let i=this,s=i.chart,o=s.options.chart.ignoreHiddenSeries,r=i.visible;i.visible=t=i.options.visible=i.userOptions.visible=void 0===t?!r:t;let n=t?"show":"hide";["group","dataLabelsGroup","markerGroup","tracker","tt"].forEach(t=>{i[t]?.[n]()}),(s.hoverSeries===i||s.hoverPoint?.series===i)&&i.onMouseOut(),i.legendItem&&s.legend.colorizeItem(i,t),i.isDirty=!0,i.options.stacking&&s.series.forEach(t=>{t.options.stacking&&t.visible&&(t.isDirty=!0)}),i.linkedSeries.forEach(e=>{e.setVisible(t,!1)}),o&&(s.isDirtyBox=!0),Cn(i,n),!1!==e&&s.redraw()}show(){this.setVisible(!0)}hide(){this.setVisible(!1)}select(t){this.selected=t=this.options.selected=void 0===t?!this.selected:t,this.checkbox&&(this.checkbox.checked=t),Cn(this,t?"select":"unselect")}shouldShowTooltip(t,e,i={}){return i.series=this,i.visiblePlotOnly=!0,this.chart.isInsidePlot(t,e,i)}drawLegendSymbol(t,e){Qr[this.options.legendSymbol||"rectangle"]?.call(this,t,e)}}zn.defaultOptions={lineWidth:2,allowPointSelect:!1,crisp:!0,showCheckbox:!1,animation:{duration:1e3},enableMouseTracking:!0,events:{},marker:{enabledThreshold:2,lineColor:"#ffffff",lineWidth:0,radius:4,states:{normal:{animation:!0},hover:{animation:{duration:150},enabled:!0,radiusPlus:2,lineWidthPlus:1},select:{fillColor:"#cccccc",lineColor:"#000000",lineWidth:2}}},point:{events:{}},dataLabels:{animation:{},align:"center",borderWidth:0,defer:!0,formatter:function(){let{numberFormatter:t}=this.series.chart;return"number"!=typeof this.y?"":t(this.y,-1)},padding:5,style:{fontSize:"0.7em",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:150},lineWidthPlus:1,marker:{},halo:{size:10,opacity:.25}},select:{animation:{duration:0}},inactive:{animation:{duration:150},opacity:.2}},stickyTracking:!0,turboThreshold:1e3,findNearestPointBy:"x"},zn.types=rn.seriesTypes,zn.registerType=rn.registerSeriesType,An(zn.prototype,{axisTypes:["xAxis","yAxis"],coll:"series",colorCounter:0,directTouch:!1,invertible:!0,isCartesian:!0,kdAxisArray:["clientX","plotY"],parallelArrays:["x","y"],pointClass:Cr,requireSorting:!0,sorted:!0}),rn.series=zn;let Fn=zn,{animObject:Hn,setAnimation:Xn}=Rt,{registerEventOptions:Wn}=vs,{composed:Yn,marginNames:jn}=w,{distribute:Gn}=ye,{format:_n}=ue,{addEvent:qn,createElement:Un,css:Vn,defined:Kn,discardElement:$n,find:Zn,fireEvent:Jn,isNumber:Qn,merge:ta,pick:ea,pushUnique:ia,relativeLength:sa,stableSort:oa,syncTimeout:ra}=q;class na{constructor(t,e){this.allItems=[],this.initialItemY=0,this.itemHeight=0,this.itemMarginBottom=0,this.itemMarginTop=0,this.itemX=0,this.itemY=0,this.lastItemY=0,this.lastLineHeight=0,this.legendHeight=0,this.legendWidth=0,this.maxItemWidth=0,this.maxLegendWidth=0,this.offsetWidth=0,this.padding=0,this.pages=[],this.symbolHeight=0,this.symbolWidth=0,this.titleHeight=0,this.totalItemWidth=0,this.widthOption=0,this.chart=t,this.setOptions(e),e.enabled&&(this.render(),Wn(this,e),qn(this.chart,"endResize",function(){this.legend.positionCheckboxes()})),qn(this.chart,"render",()=>{this.options.enabled&&this.proximate&&(this.proximatePositions(),this.positionItems())})}setOptions(t){let e=ea(t.padding,8);this.options=t,this.chart.styledMode||(this.itemStyle=t.itemStyle,this.itemHiddenStyle=ta(this.itemStyle,t.itemHiddenStyle)),this.itemMarginTop=t.itemMarginTop,this.itemMarginBottom=t.itemMarginBottom,this.padding=e,this.initialItemY=e-5,this.symbolWidth=ea(t.symbolWidth,16),this.pages=[],this.proximate="proximate"===t.layout&&!this.chart.inverted,this.baseline=void 0}update(t,e){let i=this.chart;this.setOptions(ta(!0,this.options,t)),"events"in this.options&&Wn(this,this.options),this.destroy(),i.isDirtyLegend=i.isDirtyBox=!0,ea(e,!0)&&i.redraw(),Jn(this,"afterUpdate",{redraw:e})}colorizeItem(t,e){let i=t.color,{area:s,group:o,label:r,line:n,symbol:a}=t.legendItem||{};if((t instanceof Fn||t instanceof Cr)&&(t.color=t.options?.legendSymbolColor||i),o?.[e?"removeClass":"addClass"]("highcharts-legend-item-hidden"),!this.chart.styledMode){let{itemHiddenStyle:i={}}=this,o=i.color,{fillColor:l,fillOpacity:h,lineColor:c,marker:d}=t.options,p=t=>(!e&&(t.fill&&(t.fill=o),t.stroke&&(t.stroke=o)),t);r?.css(ta(e?this.itemStyle:i)),n?.attr(p({stroke:c||t.color})),a&&a.attr(p(d&&a.isMarker?t.pointAttribs():{fill:t.color})),s?.attr(p({fill:l||t.color,"fill-opacity":l?1:h??.75}))}t.color=i,Jn(this,"afterColorizeItem",{item:t,visible:e})}positionItems(){this.allItems.forEach(this.positionItem,this),this.chart.isResizing||this.positionCheckboxes()}positionItem(t){let{group:e,x:i=0,y:s=0}=t.legendItem||{},o=this.options,r=o.symbolPadding,n=!o.rtl,a=t.checkbox;if(e&&e.element){let o={translateX:n?i:this.legendWidth-i-2*r-4,translateY:s};e[Kn(e.translateY)?"animate":"attr"](o,void 0,()=>{Jn(this,"afterPositionItem",{item:t})})}a&&(a.x=i,a.y=s)}destroyItem(t){let e=t.checkbox,i=t.legendItem||{};for(let t of["group","label","line","symbol"])i[t]&&(i[t]=i[t].destroy());e&&$n(e),t.legendItem=void 0}destroy(){for(let t of this.getAllItems())this.destroyItem(t);for(let t of["clipRect","up","down","pager","nav","box","title","group"])this[t]&&(this[t]=this[t].destroy());this.display=null}positionCheckboxes(){let t,e=this.group&&this.group.alignAttr,i=this.clipHeight||this.legendHeight,s=this.titleHeight;e&&(t=e.translateY,this.allItems.forEach(function(o){let r,n=o.checkbox;n&&(r=t+s+n.y+(this.scrollOffset||0)+3,Vn(n,{left:e.translateX+o.checkboxOffset+n.x-20+"px",top:r+"px",display:this.proximate||r>t-6&&r<t+i-6?"":"none"}))},this))}renderTitle(){let t,e=this.options,i=this.padding,s=e.title,o=0;s.text&&(this.title||(this.title=this.chart.renderer.label(s.text,i-3,i-4,void 0,void 0,void 0,e.useHTML,void 0,"legend-title").attr({zIndex:1}),this.chart.styledMode||this.title.css(s.style),this.title.add(this.group)),s.width||this.title.css({width:this.maxLegendWidth+"px"}),o=(t=this.title.getBBox()).height,this.offsetWidth=t.width,this.contentGroup.attr({translateY:o})),this.titleHeight=o}setText(t){let e=this.options;t.legendItem.label.attr({text:e.labelFormat?_n(e.labelFormat,t,this.chart):e.labelFormatter.call(t)})}renderItem(t){let e=t.legendItem=t.legendItem||{},i=this.chart,s=i.renderer,o=this.options,r="horizontal"===o.layout,n=this.symbolWidth,a=o.symbolPadding||0,l=this.itemStyle,h=this.itemHiddenStyle,c=r?ea(o.itemDistance,20):0,d=!o.rtl,p=!t.series,u=!p&&t.series.drawLegendSymbol?t.series:t,g=u.options,f=!!this.createCheckboxForItem&&g&&g.showCheckbox,m=o.useHTML,b=t.options.className,x=e.label,y=n+a+c+(f?20:0);!x&&(e.group=s.g("legend-item").addClass("highcharts-"+u.type+"-series highcharts-color-"+t.colorIndex+(b?" "+b:"")+(p?" highcharts-series-"+t.index:"")).attr({zIndex:1}).add(this.scrollGroup),e.label=x=s.text("",d?n+a:-a,this.baseline||0,m),i.styledMode||x.css(ta(t.visible?l:h)),x.attr({align:d?"left":"right",zIndex:2}).add(e.group),!this.baseline&&(this.fontMetrics=s.fontMetrics(x),this.baseline=this.fontMetrics.f+3+this.itemMarginTop,x.attr("y",this.baseline),this.symbolHeight=ea(o.symbolHeight,this.fontMetrics.f),o.squareSymbol&&(this.symbolWidth=ea(o.symbolWidth,Math.max(this.symbolHeight,16)),y=this.symbolWidth+a+c+(f?20:0),d&&x.attr("x",this.symbolWidth+a))),u.drawLegendSymbol(this,t),this.setItemEvents&&this.setItemEvents(t,x,m)),f&&!t.checkbox&&this.createCheckboxForItem&&this.createCheckboxForItem(t),this.colorizeItem(t,t.visible),(i.styledMode||!l.width)&&x.css({width:(o.itemWidth||this.widthOption||i.spacingBox.width)-y+"px"}),this.setText(t);let v=x.getBBox(),w=this.fontMetrics&&this.fontMetrics.h||0;t.itemWidth=t.checkboxOffset=o.itemWidth||e.labelWidth||v.width+y,this.maxItemWidth=Math.max(this.maxItemWidth,t.itemWidth),this.totalItemWidth+=t.itemWidth,this.itemHeight=t.itemHeight=Math.round(e.labelHeight||(v.height>1.5*w?v.height:w))}layoutItem(t){let e=this.options,i=this.padding,s="horizontal"===e.layout,o=t.itemHeight,r=this.itemMarginBottom,n=this.itemMarginTop,a=s?ea(e.itemDistance,20):0,l=this.maxLegendWidth,h=e.alignColumns&&this.totalItemWidth>l?this.maxItemWidth:t.itemWidth,c=t.legendItem||{};s&&this.itemX-i+h>l&&(this.itemX=i,this.lastLineHeight&&(this.itemY+=n+this.lastLineHeight+r),this.lastLineHeight=0),this.lastItemY=n+this.itemY+r,this.lastLineHeight=Math.max(o,this.lastLineHeight),c.x=this.itemX,c.y=this.itemY,s?this.itemX+=h:(this.itemY+=n+o+r,this.lastLineHeight=o),this.offsetWidth=this.widthOption||Math.max((s?this.itemX-i-(t.checkbox?0:a):h)+i,this.offsetWidth)}getAllItems(){let t=[];return this.chart.series.forEach(function(e){let i=e&&e.options;e&&ea(i.showInLegend,!Kn(i.linkedTo)&&void 0,!0)&&(t=t.concat((e.legendItem||{}).labels||("point"===i.legendType?e.data:e)))}),Jn(this,"afterGetAllItems",{allItems:t}),t}getAlignment(){let t=this.options;return this.proximate?t.align.charAt(0)+"tv":t.floating?"":t.align.charAt(0)+t.verticalAlign.charAt(0)+t.layout.charAt(0)}adjustMargins(t,e){let i=this.chart,s=this.options,o=this.getAlignment();o&&[/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/].forEach(function(r,n){r.test(o)&&!Kn(t[n])&&(i[jn[n]]=Math.max(i[jn[n]],i.legend[(n+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][n]*s[n%2?"x":"y"]+ea(s.margin,12)+e[n]+(i.titleOffset[n]||0)))})}proximatePositions(){let t,e=this.chart,i=[],s="left"===this.options.align;for(let o of(this.allItems.forEach(function(t){let o,r,n,a,l=s;t.yAxis&&(t.xAxis.options.reversed&&(l=!l),t.points&&(o=Zn(l?t.points:t.points.slice(0).reverse(),function(t){return Qn(t.plotY)})),r=this.itemMarginTop+t.legendItem.label.getBBox().height+this.itemMarginBottom,a=t.yAxis.top-e.plotTop,n=t.visible?(o?o.plotY:t.yAxis.height)+(a-.3*r):a+t.yAxis.height,i.push({target:n,size:r,item:t}))},this),Gn(i,e.plotHeight)))t=o.item.legendItem||{},Qn(o.pos)&&(t.y=e.plotTop-e.spacing[0]+o.pos)}render(){let t,e,i,s,o=this.chart,r=o.renderer,n=this.options,a=this.padding,l=this.getAllItems(),h=this.group,c=this.box;this.itemX=a,this.itemY=this.initialItemY,this.offsetWidth=0,this.lastItemY=0,this.widthOption=sa(n.width,o.spacingBox.width-a),s=o.spacingBox.width-2*a-n.x,["rm","lm"].indexOf(this.getAlignment().substring(0,2))>-1&&(s/=2),this.maxLegendWidth=this.widthOption||s,h||(this.group=h=r.g("legend").addClass(n.className||"").attr({zIndex:7}).add(),this.contentGroup=r.g().attr({zIndex:1}).add(h),this.scrollGroup=r.g().add(this.contentGroup)),this.renderTitle(),oa(l,(t,e)=>(t.options&&t.options.legendIndex||0)-(e.options&&e.options.legendIndex||0)),n.reversed&&l.reverse(),this.allItems=l,this.display=t=!!l.length,this.lastLineHeight=0,this.maxItemWidth=0,this.totalItemWidth=0,this.itemHeight=0,l.forEach(this.renderItem,this),l.forEach(this.layoutItem,this),e=(this.widthOption||this.offsetWidth)+a,i=this.lastItemY+this.lastLineHeight+this.titleHeight,i=this.handleOverflow(i)+a,c||(this.box=c=r.rect().addClass("highcharts-legend-box").attr({r:n.borderRadius}).add(h)),o.styledMode||c.attr({stroke:n.borderColor,"stroke-width":n.borderWidth||0,fill:n.backgroundColor||"none"}).shadow(n.shadow),e>0&&i>0&&c[c.placed?"animate":"attr"](c.crisp.call({},{x:0,y:0,width:e,height:i},c.strokeWidth())),h[t?"show":"hide"](),o.styledMode&&"none"===h.getStyle("display")&&(e=i=0),this.legendWidth=e,this.legendHeight=i,t&&this.align(),this.proximate||this.positionItems(),Jn(this,"afterRender")}align(t=this.chart.spacingBox){let e=this.chart,i=this.options,s=t.y;/(lth|ct|rth)/.test(this.getAlignment())&&e.titleOffset[0]>0?s+=e.titleOffset[0]:/(lbh|cb|rbh)/.test(this.getAlignment())&&e.titleOffset[2]>0&&(s-=e.titleOffset[2]),s!==t.y&&(t=ta(t,{y:s})),e.hasRendered||(this.group.placed=!1),this.group.align(ta(i,{width:this.legendWidth,height:this.legendHeight,verticalAlign:this.proximate?"top":i.verticalAlign}),!0,t)}handleOverflow(t){let e,i,s,o=this,r=this.chart,n=r.renderer,a=this.options,l=a.y,h="top"===a.verticalAlign,c=this.padding,d=a.maxHeight,p=a.navigation,u=ea(p.animation,!0),g=p.arrowSize||12,f=this.pages,m=this.allItems,b=function(t){"number"==typeof t?w.attr({height:t}):w&&(o.clipRect=w.destroy(),o.contentGroup.clip()),o.contentGroup.div&&(o.contentGroup.div.style.clip=t?"rect("+c+"px,9999px,"+(c+t)+"px,0)":"auto")},x=function(t){return o[t]=n.circle(0,0,1.3*g).translate(g/2,g/2).add(v),r.styledMode||o[t].attr("fill","rgba(0,0,0,0.0001)"),o[t]},y=r.spacingBox.height+(h?-l:l)-c,v=this.nav,w=this.clipRect;return"horizontal"!==a.layout||"middle"===a.verticalAlign||a.floating||(y/=2),d&&(y=Math.min(y,d)),f.length=0,t&&y>0&&t>y&&!1!==p.enabled?(this.clipHeight=e=Math.max(y-20-this.titleHeight-c,0),this.currentPage=ea(this.currentPage,1),this.fullHeight=t,m.forEach((t,o)=>{let r=(s=t.legendItem||{}).y||0,n=Math.round(s.label.getBBox().height),a=f.length;(!a||r-f[a-1]>e&&(i||r)!==f[a-1])&&(f.push(i||r),a++),s.pageIx=a-1,i&&((m[o-1].legendItem||{}).pageIx=a-1),o===m.length-1&&r+n-f[a-1]>e&&r>f[a-1]&&(f.push(r),s.pageIx=a),r!==i&&(i=r)}),w||(w=o.clipRect=n.clipRect(0,c-2,9999,0),o.contentGroup.clip(w)),b(e),v||(this.nav=v=n.g().attr({zIndex:1}).add(this.group),this.up=n.symbol("triangle",0,0,g,g).add(v),x("upTracker").on("click",function(){o.scroll(-1,u)}),this.pager=n.text("",15,10).addClass("highcharts-legend-navigation"),!r.styledMode&&p.style&&this.pager.css(p.style),this.pager.add(v),this.down=n.symbol("triangle-down",0,0,g,g).add(v),x("downTracker").on("click",function(){o.scroll(1,u)})),o.scroll(0),t=y):v&&(b(),this.nav=v.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0),t}scroll(t,e){let i=this.chart,s=this.pages,o=s.length,r=this.clipHeight,n=this.options.navigation,a=this.pager,l=this.padding,h=this.currentPage+t;h>o&&(h=o),h>0&&(void 0!==e&&Xn(e,i),this.nav.attr({translateX:l,translateY:r+this.padding+7+this.titleHeight,visibility:"inherit"}),[this.up,this.upTracker].forEach(function(t){t.attr({class:1===h?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})}),a.attr({text:h+"/"+o}),[this.down,this.downTracker].forEach(function(t){t.attr({x:18+this.pager.getBBox().width,class:h===o?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})},this),i.styledMode||(this.up.attr({fill:1===h?n.inactiveColor:n.activeColor}),this.upTracker.css({cursor:1===h?"default":"pointer"}),this.down.attr({fill:h===o?n.inactiveColor:n.activeColor}),this.downTracker.css({cursor:h===o?"default":"pointer"})),this.scrollOffset=-s[h-1]+this.initialItemY,this.scrollGroup.animate({translateY:this.scrollOffset}),this.currentPage=h,this.positionCheckboxes(),ra(()=>{Jn(this,"afterScroll",{currentPage:h})},Hn(ea(e,i.renderer.globalAnimation,!0)).duration))}setItemEvents(t,e,i){let s=this,o=t.legendItem||{},r=s.chart.renderer.boxWrapper,n=t instanceof Cr,a=t instanceof Fn,l="highcharts-legend-"+(n?"point":"series")+"-active",h=s.chart.styledMode,c=i?[e,o.symbol]:[o.group],d=e=>{s.allItems.forEach(i=>{t!==i&&[i].concat(i.linkedSeries||[]).forEach(t=>{t.setState(e,!n)})})};for(let i of c)i&&i.on("mouseover",function(){t.visible&&d("inactive"),t.setState("hover"),t.visible&&r.addClass(l),h||e.css(s.options.itemHoverStyle)}).on("mouseout",function(){s.chart.styledMode||e.css(ta(t.visible?s.itemStyle:s.itemHiddenStyle)),d(""),r.removeClass(l),t.setState()}).on("click",function(e){r.removeClass(l),Jn(s,"itemClick",{browserEvent:e,legendItem:t},function(){t.setVisible&&t.setVisible(),d(t.visible?"inactive":"")}),n?t.firePointEvent("legendItemClick",{browserEvent:e}):a&&Jn(t,"legendItemClick",{browserEvent:e})})}createCheckboxForItem(t){t.checkbox=Un("input",{type:"checkbox",className:"highcharts-legend-checkbox",checked:t.selected,defaultChecked:t.selected},this.options.itemCheckboxStyle,this.chart.container),qn(t.checkbox,"click",function(e){let i=e.target;Jn(t.series||t,"checkboxClick",{checked:i.checked,item:t},function(){t.select()})})}}!function(t){t.compose=function(e){ia(Yn,"Core.Legend")&&qn(e,"beforeMargins",function(){this.legend=new t(this,this.options.legend)})}}(na||(na={}));let aa=na,{animate:la,animObject:ha,setAnimation:ca}=Rt,{defaultOptions:da}=ft,{numberFormat:pa}=ue,{registerEventOptions:ua}=vs,{charts:ga,doc:fa,marginNames:ma,svg:ba,win:xa}=w,{seriesTypes:ya}=rn,{addEvent:va,attr:wa,createElement:ka,css:Aa,defined:Ma,diffObjects:Ca,discardElement:Pa,erase:Sa,error:Ta,extend:Ea,find:La,fireEvent:Oa,getAlignFactor:Da,getStyle:Ia,isArray:Na,isNumber:Ba,isObject:Ra,isString:za,merge:Fa,objectEach:Ha,pick:Xa,pInt:Wa,relativeLength:Ya,removeEvent:ja,splat:Ga,syncTimeout:_a,uniqueKey:qa}=q;class Ua{static chart(t,e,i){return new Ua(t,e,i)}constructor(t,e,i){this.sharedClips={};let s=[...arguments];(za(t)||t.nodeName)&&(this.renderTo=s.shift()),this.init(s[0],s[1])}setZoomOptions(){let t=this.options.chart,e=t.zooming;this.zooming={...e,type:Xa(t.zoomType,e.type),key:Xa(t.zoomKey,e.key),pinchType:Xa(t.pinchType,e.pinchType),singleTouch:Xa(t.zoomBySingleTouch,e.singleTouch,!1),resetButton:Fa(e.resetButton,t.resetZoomButton)}}init(t,e){Oa(this,"init",{args:arguments},function(){let i=Fa(da,t),s=i.chart,o=this.renderTo||s.renderTo;this.userOptions=Ea({},t),(this.renderTo=za(o)?fa.getElementById(o):o)||Ta(13,!0,this),this.margin=[],this.spacing=[],this.labelCollectors=[],this.callback=e,this.isResizing=0,this.options=i,this.axes=[],this.series=[],this.locale=i.lang.locale??this.renderTo.closest("[lang]")?.lang,this.time=new ht(Ea(i.time||{},{locale:this.locale})),i.time=this.time.options,this.numberFormatter=(s.numberFormatter||pa).bind(this),this.styledMode=s.styledMode,this.hasCartesianSeries=s.showAxes,this.index=ga.length,ga.push(this),w.chartCount++,ua(this,s),this.xAxis=[],this.yAxis=[],this.pointCount=this.colorCounter=this.symbolCounter=0,this.setZoomOptions(),Oa(this,"afterInit"),this.firstRender()})}initSeries(t){let e=this.options.chart,i=t.type||e.type,s=ya[i];s||Ta(17,!0,this,{missingModuleFor:i});let o=new s;return"function"==typeof o.init&&o.init(this,t),o}setSortedData(){this.getSeriesOrderByLinks().forEach(function(t){t.points||t.data||!t.enabledDataSorting||t.setData(t.options.data,!1)})}getSeriesOrderByLinks(){return this.series.concat().sort(function(t,e){return t.linkedSeries.length||e.linkedSeries.length?e.linkedSeries.length-t.linkedSeries.length:0})}orderItems(t,e=0){let i=this[t],s=this.options[t]=Ga(this.options[t]).slice(),o=this.userOptions[t]=this.userOptions[t]?Ga(this.userOptions[t]).slice():[];if(this.hasRendered&&(s.splice(e),o.splice(e)),i)for(let t=e,r=i.length;t<r;++t){let e=i[t];e&&(e.index=t,e instanceof Fn&&(e.name=e.getName()),e.options.isInternal||(s[t]=e.options,o[t]=e.userOptions))}}isInsidePlot(t,e,i={}){let{inverted:s,plotBox:o,plotLeft:r,plotTop:n,scrollablePlotBox:a}=this,{scrollLeft:l=0,scrollTop:h=0}=i.visiblePlotOnly&&this.scrollablePlotArea?.scrollingContainer||{},c=i.series,d=i.visiblePlotOnly&&a||o,p=i.inverted?e:t,u=i.inverted?t:e,g={x:p,y:u,isInsidePlot:!0,options:i};if(!i.ignoreX){let t=c&&(s&&!this.polar?c.yAxis:c.xAxis)||{pos:r,len:1/0},e=i.paneCoordinates?t.pos+p:r+p;e>=Math.max(l+r,t.pos)&&e<=Math.min(l+r+d.width,t.pos+t.len)||(g.isInsidePlot=!1)}if(!i.ignoreY&&g.isInsidePlot){let t=!s&&i.axis&&!i.axis.isXAxis&&i.axis||c&&(s?c.xAxis:c.yAxis)||{pos:n,len:1/0},e=i.paneCoordinates?t.pos+u:n+u;e>=Math.max(h+n,t.pos)&&e<=Math.min(h+n+d.height,t.pos+t.len)||(g.isInsidePlot=!1)}return Oa(this,"afterIsInsidePlot",g),g.isInsidePlot}redraw(t){Oa(this,"beforeRedraw");let e,i,s,o,r=this.hasCartesianSeries?this.axes:this.colorAxis||[],n=this.series,a=this.pointer,l=this.legend,h=this.userOptions.legend,c=this.renderer,d=c.isHidden(),p=[],u=this.isDirtyBox,g=this.isDirtyLegend;for(c.rootFontSize=c.boxWrapper.getStyle("font-size"),this.setResponsive&&this.setResponsive(!1),ca(!!this.hasRendered&&t,this),d&&this.temporaryDisplay(),this.layOutTitles(!1),s=n.length;s--;)if(((o=n[s]).options.stacking||o.options.centerInCategory)&&(i=!0,o.isDirty)){e=!0;break}if(e)for(s=n.length;s--;)(o=n[s]).options.stacking&&(o.isDirty=!0);n.forEach(function(t){t.isDirty&&("point"===t.options.legendType?("function"==typeof t.updateTotals&&t.updateTotals(),g=!0):h&&(h.labelFormatter||h.labelFormat)&&(g=!0)),t.isDirtyData&&Oa(t,"updatedData")}),g&&l&&l.options.enabled&&(l.render(),this.isDirtyLegend=!1),i&&this.getStacks(),r.forEach(function(t){t.updateNames(),t.setScale()}),this.getMargins(),r.forEach(function(t){t.isDirty&&(u=!0)}),r.forEach(function(t){let e=t.min+","+t.max;t.extKey!==e&&(t.extKey=e,p.push(function(){Oa(t,"afterSetExtremes",Ea(t.eventArgs,t.getExtremes())),delete t.eventArgs})),(u||i)&&t.redraw()}),u&&this.drawChartBox(),Oa(this,"predraw"),n.forEach(function(t){(u||t.isDirty)&&t.visible&&t.redraw(),t.isDirtyData=!1}),a&&a.reset(!0),c.draw(),Oa(this,"redraw"),Oa(this,"render"),d&&this.temporaryDisplay(!0),p.forEach(function(t){t.call()})}get(t){let e=this.series;function i(e){return e.id===t||e.options&&e.options.id===t}let s=La(this.axes,i)||La(this.series,i);for(let t=0;!s&&t<e.length;t++)s=La(e[t].points||[],i);return s}createAxes(){let t=this.userOptions;for(let e of(Oa(this,"createAxes"),["xAxis","yAxis"]))for(let i of t[e]=Ga(t[e]||{}))new co(this,i,e);Oa(this,"afterCreateAxes")}getSelectedPoints(){return this.series.reduce((t,e)=>(e.getPointsCollection().forEach(e=>{Xa(e.selectedStaging,e.selected)&&t.push(e)}),t),[])}getSelectedSeries(){return this.series.filter(t=>t.selected)}setTitle(t,e,i){this.applyDescription("title",t),this.applyDescription("subtitle",e),this.applyDescription("caption",void 0),this.layOutTitles(i)}applyDescription(t,e){let i=this,s=this.options[t]=Fa(this.options[t],e),o=this[t];o&&e&&(this[t]=o=o.destroy()),s&&!o&&((o=this.renderer.text(s.text,0,0,s.useHTML).attr({align:s.align,class:"highcharts-"+t,zIndex:s.zIndex||4}).css({textOverflow:"ellipsis",whiteSpace:"nowrap"}).add()).update=function(e,s){i.applyDescription(t,e),i.layOutTitles(s)},this.styledMode||o.css(Ea("title"===t?{fontSize:this.options.isStock?"1em":"1.2em"}:{},s.style)),o.textPxLength=o.getBBox().width,o.css({whiteSpace:s.style?.whiteSpace}),this[t]=o)}layOutTitles(t=!0){let e=[0,0,0],{options:i,renderer:s,spacingBox:o}=this;["title","subtitle","caption"].forEach(t=>{let i=this[t],r=this.options[t],n=Fa(o),a=i?.textPxLength||0;if(i&&r){Oa(this,"layOutTitle",{alignTo:n,key:t,textPxLength:a});let o=s.fontMetrics(i),l=o.b,h=o.h,c=r.verticalAlign||"top",d="top"===c,p=d&&r.minScale||1,u="title"===t?d?-3:0:d?e[0]+2:0,g=Math.min(n.width/a,1),f=Math.max(p,g),m=Fa({y:"bottom"===c?l:u+l},{align:"title"===t?g<p?"left":"center":this.title?.alignValue},r),b=r.width||(g>p?this.chartWidth:n.width)/f;i.alignValue!==m.align&&(i.placed=!1);let x=Math.round(i.css({width:`${b}px`}).getBBox(r.useHTML).height);if(m.height=x,i.align(m,!1,n).attr({align:m.align,scaleX:f,scaleY:f,"transform-origin":`${n.x+a*f*Da(m.align)} ${h}`}),!r.floating){let t=x*(x<1.2*h?1:f);"top"===c?e[0]=Math.ceil(e[0]+t):"bottom"===c&&(e[2]=Math.ceil(e[2]+t))}}},this),e[0]&&"top"===(i.title?.verticalAlign||"top")&&(e[0]+=i.title?.margin||0),e[2]&&"bottom"===i.caption?.verticalAlign&&(e[2]+=i.caption?.margin||0);let r=!this.titleOffset||this.titleOffset.join(",")!==e.join(",");this.titleOffset=e,Oa(this,"afterLayOutTitles"),!this.isDirtyBox&&r&&(this.isDirtyBox=this.isDirtyLegend=r,this.hasRendered&&t&&this.isDirtyBox&&this.redraw())}getContainerBox(){let t=[].map.call(this.renderTo.children,t=>{if(t!==this.container){let e=t.style.display;return t.style.display="none",[t,e]}}),e={width:Ia(this.renderTo,"width",!0)||0,height:Ia(this.renderTo,"height",!0)||0};return t.filter(Boolean).forEach(([t,e])=>{t.style.display=e}),e}getChartSize(){let t=this.options.chart,e=t.width,i=t.height,s=this.getContainerBox(),o=s.height<=1||!this.renderTo.parentElement?.style.height&&"100%"===this.renderTo.style.height;this.chartWidth=Math.max(0,e||s.width||600),this.chartHeight=Math.max(0,Ya(i,this.chartWidth)||(o?400:s.height)),this.containerBox=s}temporaryDisplay(t){let e,i=this.renderTo;if(t)for(;i&&i.style;)i.hcOrigStyle&&(Aa(i,i.hcOrigStyle),delete i.hcOrigStyle),i.hcOrigDetached&&(fa.body.removeChild(i),i.hcOrigDetached=!1),i=i.parentNode;else for(;i&&i.style&&(fa.body.contains(i)||i.parentNode||(i.hcOrigDetached=!0,fa.body.appendChild(i)),("none"===Ia(i,"display",!1)||i.hcOricDetached)&&(i.hcOrigStyle={display:i.style.display,height:i.style.height,overflow:i.style.overflow},e={display:"block",overflow:"hidden"},i!==this.renderTo&&(e.height=0),Aa(i,e),i.offsetWidth||i.style.setProperty("display","block","important")),(i=i.parentNode)!==fa.body););}setClassName(t){this.container.className="highcharts-container "+(t||"")}getContainer(){let t,e=this.options,i=e.chart,s="data-highcharts-chart",o=qa(),r=this.renderTo,n=Wa(wa(r,s));Ba(n)&&ga[n]&&ga[n].hasRendered&&ga[n].destroy(),wa(r,s,this.index),r.innerHTML=$t.emptyHTML,i.skipClone||r.offsetWidth||this.temporaryDisplay(),this.getChartSize();let a=this.chartHeight,l=this.chartWidth;Aa(r,{overflow:"hidden"}),this.styledMode||(t=Ea({position:"relative",overflow:"hidden",width:l+"px",height:a+"px",textAlign:"left",lineHeight:"normal",zIndex:0,"-webkit-tap-highlight-color":"rgba(0,0,0,0)",userSelect:"none","touch-action":"manipulation",outline:"none",padding:"0px"},i.style||{}));let h=ka("div",{id:o},t,r);this.container=h,this.getChartSize(),l===this.chartWidth||(l=this.chartWidth,this.styledMode||Aa(h,{width:Xa(i.style?.width,l+"px")})),this.containerBox=this.getContainerBox(),this._cursor=h.style.cursor;let c=i.renderer||!ba?ge.getRendererType(i.renderer):ts;if(this.renderer=new c(h,l,a,void 0,i.forExport,e.exporting&&e.exporting.allowHTML,this.styledMode),ca(void 0,this),this.setClassName(i.className),this.styledMode)for(let t in e.defs)this.renderer.definition(e.defs[t]);else this.renderer.setStyle(i.style);this.renderer.chartIndex=this.index,Oa(this,"afterGetContainer")}getMargins(t){let{spacing:e,margin:i,titleOffset:s}=this;this.resetMargins(),s[0]&&!Ma(i[0])&&(this.plotTop=Math.max(this.plotTop,s[0]+e[0])),s[2]&&!Ma(i[2])&&(this.marginBottom=Math.max(this.marginBottom,s[2]+e[2])),this.legend&&this.legend.display&&this.legend.adjustMargins(i,e),Oa(this,"getMargins"),t||this.getAxisMargins()}getAxisMargins(){let t=this,e=t.axisOffset=[0,0,0,0],i=t.colorAxis,s=t.margin,o=function(t){t.forEach(function(t){t.visible&&t.getOffset()})};t.hasCartesianSeries?o(t.axes):i&&i.length&&o(i),ma.forEach(function(i,o){Ma(s[o])||(t[i]+=e[o])}),t.setChartSize()}getOptions(){return Ca(this.userOptions,da)}reflow(t){let e=this,i=e.containerBox,s=e.getContainerBox();delete e.pointer?.chartPosition,!e.isPrinting&&!e.isResizing&&i&&s.width&&((s.width!==i.width||s.height!==i.height)&&(q.clearTimeout(e.reflowTimeout),e.reflowTimeout=_a(function(){e.container&&e.setSize(void 0,void 0,!1)},t?100:0)),e.containerBox=s)}setReflow(){let t=this,e=e=>{t.options?.chart.reflow&&t.hasLoaded&&t.reflow(e)};if("function"==typeof ResizeObserver)new ResizeObserver(e).observe(t.renderTo);else{let t=va(xa,"resize",e);va(this,"destroy",t)}}setSize(t,e,i){let s=this,o=s.renderer;s.isResizing+=1,ca(i,s);let r=o.globalAnimation;s.oldChartHeight=s.chartHeight,s.oldChartWidth=s.chartWidth,void 0!==t&&(s.options.chart.width=t),void 0!==e&&(s.options.chart.height=e),s.getChartSize();let{chartWidth:n,chartHeight:a,scrollablePixelsX:l=0,scrollablePixelsY:h=0}=s;(s.isDirtyBox||n!==s.oldChartWidth||a!==s.oldChartHeight)&&(s.styledMode||(r?la:Aa)(s.container,{width:`${n+l}px`,height:`${a+h}px`},r),s.setChartSize(!0),o.setSize(n,a,r),s.axes.forEach(function(t){t.isDirty=!0,t.setScale()}),s.isDirtyLegend=!0,s.isDirtyBox=!0,s.layOutTitles(),s.getMargins(),s.redraw(r),s.oldChartHeight=void 0,Oa(s,"resize"),setTimeout(()=>{s&&Oa(s,"endResize")},ha(r).duration)),s.isResizing-=1}setChartSize(t){let e,i,s,o,{chartHeight:r,chartWidth:n,inverted:a,spacing:l,renderer:h}=this,c=this.clipOffset,d=Math[a?"floor":"round"];this.plotLeft=e=Math.round(this.plotLeft),this.plotTop=i=Math.round(this.plotTop),this.plotWidth=s=Math.max(0,Math.round(n-e-this.marginRight)),this.plotHeight=o=Math.max(0,Math.round(r-i-this.marginBottom)),this.plotSizeX=a?o:s,this.plotSizeY=a?s:o,this.spacingBox=h.spacingBox={x:l[3],y:l[0],width:n-l[3]-l[1],height:r-l[0]-l[2]},this.plotBox=h.plotBox={x:e,y:i,width:s,height:o},c&&(this.clipBox={x:d(c[3]),y:d(c[0]),width:d(this.plotSizeX-c[1]-c[3]),height:d(this.plotSizeY-c[0]-c[2])}),t||(this.axes.forEach(function(t){t.setAxisSize(),t.setAxisTranslation()}),h.alignElements()),Oa(this,"afterSetChartSize",{skipAxes:t})}resetMargins(){Oa(this,"resetMargins");let t=this,e=t.options.chart,i=e.plotBorderWidth||0,s=i/2;["margin","spacing"].forEach(function(i){let s=e[i],o=Ra(s)?s:[s,s,s,s];["Top","Right","Bottom","Left"].forEach(function(s,r){t[i][r]=Xa(e[i+s],o[r])})}),ma.forEach(function(e,i){t[e]=Xa(t.margin[i],t.spacing[i])}),t.axisOffset=[0,0,0,0],t.clipOffset=[s,s,s,s],t.plotBorderWidth=i}drawChartBox(){let t,e,i,s=this.options.chart,o=this.renderer,r=this.chartWidth,n=this.chartHeight,a=this.styledMode,l=this.plotBGImage,h=s.backgroundColor,c=s.plotBackgroundColor,d=s.plotBackgroundImage,p=this.plotLeft,u=this.plotTop,g=this.plotWidth,f=this.plotHeight,m=this.plotBox,b=this.clipRect,x=this.clipBox,y=this.chartBackground,v=this.plotBackground,w=this.plotBorder,k="animate";y||(this.chartBackground=y=o.rect().addClass("highcharts-background").add(),k="attr"),a?t=e=y.strokeWidth():(e=(t=s.borderWidth||0)+(s.shadow?8:0),i={fill:h||"none"},(t||y["stroke-width"])&&(i.stroke=s.borderColor,i["stroke-width"]=t),y.attr(i).shadow(s.shadow)),y[k]({x:e/2,y:e/2,width:r-e-t%2,height:n-e-t%2,r:s.borderRadius}),k="animate",v||(k="attr",this.plotBackground=v=o.rect().addClass("highcharts-plot-background").add()),v[k](m),!a&&(v.attr({fill:c||"none"}).shadow(s.plotShadow),d&&(l?(d!==l.attr("href")&&l.attr("href",d),l.animate(m)):this.plotBGImage=o.image(d,p,u,g,f).add())),b?b.animate({width:x.width,height:x.height}):this.clipRect=o.clipRect(x),k="animate",w||(k="attr",this.plotBorder=w=o.rect().addClass("highcharts-plot-border").attr({zIndex:1}).add()),a||w.attr({stroke:s.plotBorderColor,"stroke-width":s.plotBorderWidth||0,fill:"none"}),w[k](w.crisp({x:p,y:u,width:g,height:f},-w.strokeWidth())),this.isDirtyBox=!1,Oa(this,"afterDrawChartBox")}propFromSeries(){let t,e,i,s=this,o=s.options.chart,r=s.options.series;["inverted","angular","polar"].forEach(function(n){for(e=ya[o.type],i=o[n]||e&&e.prototype[n],t=r&&r.length;!i&&t--;)(e=ya[r[t].type])&&e.prototype[n]&&(i=!0);s[n]=i})}linkSeries(t){let e=this,i=e.series;i.forEach(function(t){t.linkedSeries.length=0}),i.forEach(function(t){let{linkedTo:i}=t.options;if(za(i)){let s;(s=":previous"===i?e.series[t.index-1]:e.get(i))&&s.linkedParent!==t&&(s.linkedSeries.push(t),t.linkedParent=s,s.enabledDataSorting&&t.setDataSortingOptions(),t.visible=Xa(t.options.visible,s.options.visible,t.visible))}}),Oa(this,"afterLinkSeries",{isUpdating:t})}renderSeries(){this.series.forEach(function(t){t.translate(),t.render()})}render(){let t,e=this.axes,i=this.colorAxis,s=this.renderer,o=this.options.chart.axisLayoutRuns||2,r=t=>{t.forEach(t=>{t.visible&&t.render()})},n=0,a=!0,l=0;for(let t of(this.setTitle(),Oa(this,"beforeMargins"),this.getStacks?.(),this.getMargins(!0),this.setChartSize(),e)){let{options:e}=t,{labels:i}=e;if(this.hasCartesianSeries&&t.horiz&&t.visible&&i.enabled&&t.series.length&&"colorAxis"!==t.coll&&!this.polar){n=e.tickLength,t.createGroups();let s=new Is(t,0,"",!0),o=s.createLabel("x",i);if(s.destroy(),o&&Xa(i.reserveSpace,!Ba(e.crossing))&&(n=o.getBBox().height+i.distance+Math.max(e.offset||0,0)),n){o?.destroy();break}}}for(this.plotHeight=Math.max(this.plotHeight-n,0);(a||t||o>1)&&l<o;){let i=this.plotWidth,s=this.plotHeight;for(let i of e)0===l?i.setScale():(i.horiz&&a||!i.horiz&&t)&&i.setTickInterval(!0);0===l?this.getAxisMargins():this.getMargins(),a=i/this.plotWidth>(l?1:1.1),t=s/this.plotHeight>(l?1:1.05),l++}this.drawChartBox(),this.hasCartesianSeries?r(e):i&&i.length&&r(i),this.seriesGroup||(this.seriesGroup=s.g("series-group").attr({zIndex:3}).shadow(this.options.chart.seriesGroupShadow).add()),this.renderSeries(),this.addCredits(),this.setResponsive&&this.setResponsive(),this.hasRendered=!0}addCredits(t){let e=this,i=Fa(!0,this.options.credits,t);i.enabled&&!this.credits&&(this.credits=this.renderer.text(i.text+(this.mapCredits||""),0,0).addClass("highcharts-credits").on("click",function(){i.href&&(xa.location.href=i.href)}).attr({align:i.position.align,zIndex:8}),e.styledMode||this.credits.css(i.style),this.credits.add().align(i.position),this.credits.update=function(t){e.credits=e.credits.destroy(),e.addCredits(t)})}destroy(){let t,e=this,i=e.axes,s=e.series,o=e.container,r=o&&o.parentNode;for(Oa(e,"destroy"),e.renderer.forExport?Sa(ga,e):ga[e.index]=void 0,w.chartCount--,e.renderTo.removeAttribute("data-highcharts-chart"),ja(e),t=i.length;t--;)i[t]=i[t].destroy();for(this.scroller&&this.scroller.destroy&&this.scroller.destroy(),t=s.length;t--;)s[t]=s[t].destroy();["title","subtitle","chartBackground","plotBackground","plotBGImage","plotBorder","seriesGroup","clipRect","credits","pointer","rangeSelector","legend","resetZoomButton","tooltip","renderer"].forEach(function(t){let i=e[t];i&&i.destroy&&(e[t]=i.destroy())}),o&&(o.innerHTML=$t.emptyHTML,ja(o),r&&Pa(o)),Ha(e,function(t,i){delete e[i]})}firstRender(){let t=this,e=t.options;t.getContainer(),t.resetMargins(),t.setChartSize(),t.propFromSeries(),t.createAxes();let i=Na(e.series)?e.series:[];e.series=[],i.forEach(function(e){t.initSeries(e)}),t.linkSeries(),t.setSortedData(),Oa(t,"beforeRender"),t.render(),t.pointer?.getChartPosition(),t.renderer.imgCount||t.hasLoaded||t.onload(),t.temporaryDisplay(!0)}onload(){this.callbacks.concat([this.callback]).forEach(function(t){t&&void 0!==this.index&&t.apply(this,[this])},this),Oa(this,"load"),Oa(this,"render"),Ma(this.index)&&this.setReflow(),this.warnIfA11yModuleNotLoaded(),this.hasLoaded=!0}warnIfA11yModuleNotLoaded(){let{options:t,title:e}=this;!t||this.accessibility||(this.renderer.boxWrapper.attr({role:"img","aria-label":(e&&e.element.textContent||"").replace(/</g,"<")}),t.accessibility&&!1===t.accessibility.enabled||Ta('Highcharts warning: Consider including the "accessibility.js" module to make your chart more usable for people with disabilities. Set the "accessibility.enabled" option to false to remove this warning. See https://www.highcharts.com/docs/accessibility/accessibility-module.',!1,this))}addSeries(t,e,i){let s,o=this;return t&&(e=Xa(e,!0),Oa(o,"addSeries",{options:t},function(){s=o.initSeries(t),o.isDirtyLegend=!0,o.linkSeries(),s.enabledDataSorting&&s.setData(t.data,!1),Oa(o,"afterAddSeries",{series:s}),e&&o.redraw(i)})),s}addAxis(t,e,i,s){return this.createAxis(e?"xAxis":"yAxis",{axis:t,redraw:i,animation:s})}addColorAxis(t,e,i){return this.createAxis("colorAxis",{axis:t,redraw:e,animation:i})}createAxis(t,e){let i=new co(this,e.axis,t);return Xa(e.redraw,!0)&&this.redraw(e.animation),i}showLoading(t){let e=this,i=e.options,s=i.loading,o=function(){r&&Aa(r,{left:e.plotLeft+"px",top:e.plotTop+"px",width:e.plotWidth+"px",height:e.plotHeight+"px"})},r=e.loadingDiv,n=e.loadingSpan;r||(e.loadingDiv=r=ka("div",{className:"highcharts-loading highcharts-loading-hidden"},null,e.container)),n||(e.loadingSpan=n=ka("span",{className:"highcharts-loading-inner"},null,r),va(e,"redraw",o)),r.className="highcharts-loading",$t.setElementHTML(n,Xa(t,i.lang.loading,"")),e.styledMode||(Aa(r,Ea(s.style,{zIndex:10})),Aa(n,s.labelStyle),e.loadingShown||(Aa(r,{opacity:0,display:""}),la(r,{opacity:s.style.opacity||.5},{duration:s.showDuration||0}))),e.loadingShown=!0,o()}hideLoading(){let t=this.options,e=this.loadingDiv;e&&(e.className="highcharts-loading highcharts-loading-hidden",this.styledMode||la(e,{opacity:0},{duration:t.loading.hideDuration||100,complete:function(){Aa(e,{display:"none"})}})),this.loadingShown=!1}update(t,e,i,s){let o,r,n,a=this,l={credits:"addCredits",title:"setTitle",subtitle:"setSubtitle",caption:"setCaption"},h=t.isResponsiveOptions,c=[];Oa(a,"update",{options:t}),h||a.setResponsive(!1,!0),t=Ca(t,a.options),a.userOptions=Fa(a.userOptions,t);let d=t.chart;d&&(Fa(!0,a.options.chart,d),this.setZoomOptions(),"className"in d&&a.setClassName(d.className),("inverted"in d||"polar"in d||"type"in d)&&(a.propFromSeries(),o=!0),"alignTicks"in d&&(o=!0),"events"in d&&ua(this,d),Ha(d,function(t,e){-1!==a.propsRequireUpdateSeries.indexOf("chart."+e)&&(r=!0),-1!==a.propsRequireDirtyBox.indexOf(e)&&(a.isDirtyBox=!0),-1===a.propsRequireReflow.indexOf(e)||(a.isDirtyBox=!0,h||(n=!0))}),!a.styledMode&&d.style&&a.renderer.setStyle(a.options.chart.style||{})),!a.styledMode&&t.colors&&(this.options.colors=t.colors),Ha(t,function(e,i){a[i]&&"function"==typeof a[i].update?a[i].update(e,!1):"function"==typeof a[l[i]]?a[l[i]](e):"colors"!==i&&-1===a.collectionsWithUpdate.indexOf(i)&&Fa(!0,a.options[i],t[i]),"chart"!==i&&-1!==a.propsRequireUpdateSeries.indexOf(i)&&(r=!0)}),this.collectionsWithUpdate.forEach(function(e){t[e]&&(Ga(t[e]).forEach(function(t,s){let o,r=Ma(t.id);r&&(o=a.get(t.id)),!o&&a[e]&&(o=a[e][Xa(t.index,s)])&&(r&&Ma(o.options.id)||o.options.isInternal)&&(o=void 0),o&&o.coll===e&&(o.update(t,!1),i&&(o.touched=!0)),!o&&i&&a.collectionsWithInit[e]&&(a.collectionsWithInit[e][0].apply(a,[t].concat(a.collectionsWithInit[e][1]||[]).concat([!1])).touched=!0)}),i&&a[e].forEach(function(t){t.touched||t.options.isInternal?delete t.touched:c.push(t)}))}),c.forEach(function(t){t.chart&&t.remove&&t.remove(!1)}),o&&a.axes.forEach(function(t){t.update({},!1)}),r&&a.getSeriesOrderByLinks().forEach(function(t){t.chart&&t.update({},!1)},this);let p=d&&d.width,u=d&&(za(d.height)?Ya(d.height,p||a.chartWidth):d.height);n||Ba(p)&&p!==a.chartWidth||Ba(u)&&u!==a.chartHeight?a.setSize(p,u,s):Xa(e,!0)&&a.redraw(s),Oa(a,"afterUpdate",{options:t,redraw:e,animation:s})}setSubtitle(t,e){this.applyDescription("subtitle",t),this.layOutTitles(e)}setCaption(t,e){this.applyDescription("caption",t),this.layOutTitles(e)}showResetZoom(){let t=this,e=da.lang,i=t.zooming.resetButton,s=i.theme,o="chart"===i.relativeTo||"spacingBox"===i.relativeTo?null:"plotBox";function r(){t.zoomOut()}Oa(this,"beforeShowResetZoom",null,function(){t.resetZoomButton=t.renderer.button(e.resetZoom,null,null,r,s).attr({align:i.position.align,title:e.resetZoomTitle}).addClass("highcharts-reset-zoom").add().align(i.position,!1,o)}),Oa(this,"afterShowResetZoom")}zoomOut(){Oa(this,"selection",{resetSelection:!0},()=>this.transform({reset:!0,trigger:"zoom"}))}pan(t,e){let i=this,s="object"==typeof e?e:{enabled:e,type:"x"},o=s.type,r=o&&i[{x:"xAxis",xy:"axes",y:"yAxis"}[o]].filter(t=>t.options.panningEnabled&&!t.options.isInternal),n=i.options.chart;n?.panning&&(n.panning=s),Oa(this,"pan",{originalEvent:t},()=>{i.transform({axes:r,event:t,to:{x:t.chartX-(i.mouseDownX||0),y:t.chartY-(i.mouseDownY||0)},trigger:"pan"}),Aa(i.container,{cursor:"move"})})}transform(t){let e,i,{axes:s=this.axes,event:o,from:r={},reset:n,selection:a,to:l={},trigger:h}=t,{inverted:c,time:d}=this,p=!1;for(let t of(this.hoverPoints?.forEach(t=>t.setState()),s)){let{horiz:s,len:u,minPointOffset:g=0,options:f,reversed:m}=t,b=s?"width":"height",x=s?"x":"y",y=Xa(l[b],t.len),v=Xa(r[b],t.len),w=10>Math.abs(y)?1:y/v,k=(r[x]||0)+v/2-t.pos,A=k-((l[x]??t.pos)+y/2-t.pos)/w,M=m&&!c||!m&&c?-1:1;if(!n&&(k<0||k>t.len))continue;let C=t.toValue(A,!0)+(a||t.isOrdinal?0:g*M),P=t.toValue(A+u/w,!0)-(a||t.isOrdinal?0:g*M||0),S=t.allExtremes;if(C>P&&([C,P]=[P,C]),1===w&&!n&&"yAxis"===t.coll&&!S){for(let e of t.series){let t=e.getExtremes(e.getProcessedData(!0).modified.getColumn("y")||[],!0);S??(S={dataMin:Number.MAX_VALUE,dataMax:-Number.MAX_VALUE}),Ba(t.dataMin)&&Ba(t.dataMax)&&(S.dataMin=Math.min(t.dataMin,S.dataMin),S.dataMax=Math.max(t.dataMax,S.dataMax))}t.allExtremes=S}let{dataMin:T,dataMax:E,min:L,max:O}=Ea(t.getExtremes(),S||{}),D=d.parse(f.min),I=d.parse(f.max),N=T??D,B=E??I,R=P-C,z=t.categories?0:Math.min(R,B-N),F=N-z*(Ma(D)?0:f.minPadding),H=B+z*(Ma(I)?0:f.maxPadding),X=t.allowZoomOutside||1===w||"zoom"!==h&&w>1,W=Math.min(D??F,F,X?L:F),Y=Math.max(I??H,H,X?O:H);(!t.isOrdinal||t.options.overscroll||1!==w||n)&&(C<W&&(C=W,w>=1&&(P=C+R)),P>Y&&(P=Y,w>=1&&(C=P-R)),(n||t.series.length&&(C!==L||P!==O)&&C>=W&&P<=Y)&&(a?a[t.coll].push({axis:t,min:C,max:P}):(t.isPanning="zoom"!==h,t.isPanning&&(i=!0),t.setExtremes(n?void 0:C,n?void 0:P,!1,!1,{move:A,trigger:h,scale:w}),!n&&(C>W||P<Y)&&"mousewheel"!==h&&(e=!0)),p=!0),o&&(this[s?"mouseDownX":"mouseDownY"]=o[s?"chartX":"chartY"]))}return p&&(a?Oa(this,"selection",a,()=>{delete t.selection,t.trigger="zoom",this.transform(t)}):(!e||i||this.resetZoomButton?!e&&this.resetZoomButton&&(this.resetZoomButton=this.resetZoomButton.destroy()):this.showResetZoom(),this.redraw("zoom"===h&&(this.options.chart.animation??this.pointCount<100)))),p}}Ea(Ua.prototype,{callbacks:[],collectionsWithInit:{xAxis:[Ua.prototype.addAxis,[!0]],yAxis:[Ua.prototype.addAxis,[!1]],series:[Ua.prototype.addSeries]},collectionsWithUpdate:["xAxis","yAxis","series"],propsRequireDirtyBox:["backgroundColor","borderColor","borderWidth","borderRadius","plotBackgroundColor","plotBackgroundImage","plotBorderColor","plotBorderWidth","plotShadow","shadow"],propsRequireReflow:["margin","marginTop","marginRight","marginBottom","marginLeft","spacing","spacingTop","spacingRight","spacingBottom","spacingLeft"],propsRequireUpdateSeries:["chart.inverted","chart.polar","chart.ignoreHiddenSeries","chart.type","colors","plotOptions","time","tooltip"]});let{stop:Va}=Rt,{composed:Ka}=w,{addEvent:$a,createElement:Za,css:Ja,defined:Qa,erase:tl,merge:el,pushUnique:il}=q;function sl(){let t=this.scrollablePlotArea;(this.scrollablePixelsX||this.scrollablePixelsY)&&!t&&(this.scrollablePlotArea=t=new rl(this)),t?.applyFixed()}function ol(){this.chart.scrollablePlotArea&&(this.chart.scrollablePlotArea.isDirty=!0)}class rl{static compose(t,e,i){il(Ka,this.compose)&&($a(t,"afterInit",ol),$a(e,"afterSetChartSize",t=>this.afterSetSize(t.target,t)),$a(e,"render",sl),$a(i,"show",ol))}static afterSetSize(t,e){let i,s,o,{minWidth:r,minHeight:n}=t.options.chart.scrollablePlotArea||{},{clipBox:a,plotBox:l,inverted:h,renderer:c}=t;if(!c.forExport&&(r?(t.scrollablePixelsX=i=Math.max(0,r-t.chartWidth),i&&(t.scrollablePlotBox=el(t.plotBox),l.width=t.plotWidth+=i,a[h?"height":"width"]+=i,o=!0)):n&&(t.scrollablePixelsY=s=Math.max(0,n-t.chartHeight),Qa(s)&&(t.scrollablePlotBox=el(t.plotBox),l.height=t.plotHeight+=s,a[h?"width":"height"]+=s,o=!1)),Qa(o)&&!e.skipAxes))for(let e of t.axes)(e.horiz===o||t.hasParallelCoordinates&&"yAxis"===e.coll)&&(e.setAxisSize(),e.setAxisTranslation())}constructor(t){let e,i=t.options.chart,s=ge.getRendererType(),o=i.scrollablePlotArea||{},r=this.moveFixedElements.bind(this),n={WebkitOverflowScrolling:"touch",overflowX:"hidden",overflowY:"hidden"};t.scrollablePixelsX&&(n.overflowX="auto"),t.scrollablePixelsY&&(n.overflowY="auto"),this.chart=t;let a=this.parentDiv=Za("div",{className:"highcharts-scrolling-parent"},{position:"relative"},t.renderTo),l=this.scrollingContainer=Za("div",{className:"highcharts-scrolling"},n,a),h=this.innerContainer=Za("div",{className:"highcharts-inner-container"},void 0,l),c=this.fixedDiv=Za("div",{className:"highcharts-fixed"},{position:"absolute",overflow:"hidden",pointerEvents:"none",zIndex:(i.style?.zIndex||0)+2,top:0},void 0,!0),d=this.fixedRenderer=new s(c,t.chartWidth,t.chartHeight,i.style);this.mask=d.path().attr({fill:i.backgroundColor||"#fff","fill-opacity":o.opacity??.85,zIndex:-1}).addClass("highcharts-scrollable-mask").add(),l.parentNode.insertBefore(c,l),Ja(t.renderTo,{overflow:"visible"}),$a(t,"afterShowResetZoom",r),$a(t,"afterApplyDrilldown",r),$a(t,"afterLayOutTitles",r),$a(l,"scroll",()=>{let{pointer:i,hoverPoint:s}=t;i&&(delete i.chartPosition,s&&(e=s),i.runPointActions(void 0,e,!0))}),h.appendChild(t.container)}applyFixed(){let{chart:t,fixedRenderer:e,isDirty:i,scrollingContainer:s}=this,{axisOffset:o,chartWidth:r,chartHeight:n,container:a,plotHeight:l,plotLeft:h,plotTop:c,plotWidth:d,scrollablePixelsX:p=0,scrollablePixelsY:u=0}=t,{scrollPositionX:g=0,scrollPositionY:f=0}=t.options.chart.scrollablePlotArea||{},m=r+p,b=n+u;e.setSize(r,n),(i??!0)&&(this.isDirty=!1,this.moveFixedElements()),Va(t.container),Ja(a,{width:`${m}px`,height:`${b}px`}),t.renderer.boxWrapper.attr({width:m,height:b,viewBox:[0,0,m,b].join(" ")}),t.chartBackground?.attr({width:m,height:b}),Ja(s,{width:`${r}px`,height:`${n}px`}),Qa(i)||(s.scrollLeft=p*g,s.scrollTop=u*f);let x=c-o[0]-1,y=h-o[3]-1,v=c+l+o[2]+1,w=h+d+o[1]+1,k=h+d-p,A=c+l-u,M=[["M",0,0]];p?M=[["M",0,x],["L",h-1,x],["L",h-1,v],["L",0,v],["Z"],["M",k,x],["L",r,x],["L",r,v],["L",k,v],["Z"]]:u&&(M=[["M",y,0],["L",y,c-1],["L",w,c-1],["L",w,0],["Z"],["M",y,A],["L",y,n],["L",w,n],["L",w,A],["Z"]]),"adjustHeight"!==t.redrawTrigger&&this.mask.attr({d:M})}moveFixedElements(){let t,{container:e,inverted:i,scrollablePixelsX:s,scrollablePixelsY:o}=this.chart,r=this.fixedRenderer,n=rl.fixedSelectors;if(s&&!i?t=".highcharts-yaxis":s&&i||o&&!i?t=".highcharts-xaxis":o&&i&&(t=".highcharts-yaxis"),!t||this.chart.hasParallelCoordinates&&".highcharts-yaxis"===t)for(let t of[".highcharts-xaxis",".highcharts-yaxis"])for(let e of[`${t}:not(.highcharts-radial-axis)`,`${t}-labels:not(.highcharts-radial-axis-labels)`])tl(n,e);else for(let e of[`${t}:not(.highcharts-radial-axis)`,`${t}-labels:not(.highcharts-radial-axis-labels)`])il(n,e);for(let t of n)[].forEach.call(e.querySelectorAll(t),t=>{(t.namespaceURI===r.SVG_NS?r.box:r.box.parentNode).appendChild(t),t.style.pointerEvents="auto"})}}rl.fixedSelectors=[".highcharts-breadcrumbs-group",".highcharts-contextbutton",".highcharts-caption",".highcharts-credits",".highcharts-drillup-button",".highcharts-legend",".highcharts-legend-checkbox",".highcharts-navigator-series",".highcharts-navigator-xaxis",".highcharts-navigator-yaxis",".highcharts-navigator",".highcharts-range-selector-group",".highcharts-reset-zoom",".highcharts-scrollbar",".highcharts-subtitle",".highcharts-title"];let{format:nl}=ue,{series:al}=rn,{destroyObjectProperties:ll,fireEvent:hl,getAlignFactor:cl,isNumber:dl,pick:pl}=q,ul=class{constructor(t,e,i,s,o){let r=t.chart.inverted,n=t.reversed;this.axis=t;let a=this.isNegative=!!i!=!!n;this.options=e=e||{},this.x=s,this.total=null,this.cumulative=null,this.points={},this.hasValidPoints=!1,this.stack=o,this.leftCliff=0,this.rightCliff=0,this.alignOptions={align:e.align||(r?a?"left":"right":"center"),verticalAlign:e.verticalAlign||(r?"middle":a?"bottom":"top"),y:e.y,x:e.x},this.textAlign=e.textAlign||(r?a?"right":"left":"center")}destroy(){ll(this,this.axis)}render(t){let e=this.axis.chart,i=this.options,s=i.format,o=s?nl(s,this,e):i.formatter.call(this);if(this.label)this.label.attr({text:o,visibility:"hidden"});else{this.label=e.renderer.label(o,null,void 0,i.shape,void 0,void 0,i.useHTML,!1,"stack-labels");let s={r:i.borderRadius||0,text:o,padding:pl(i.padding,5),visibility:"hidden"};e.styledMode||(s.fill=i.backgroundColor,s.stroke=i.borderColor,s["stroke-width"]=i.borderWidth,this.label.css(i.style||{})),this.label.attr(s),this.label.added||this.label.add(t)}this.label.labelrank=e.plotSizeY,hl(this,"afterRender")}setOffset(t,e,i,s,o,r){let{alignOptions:n,axis:a,label:l,options:h,textAlign:c}=this,d=a.chart,p=this.getStackBox({xOffset:t,width:e,boxBottom:i,boxTop:s,defaultX:o,xAxis:r}),{verticalAlign:u}=n;if(l&&p){let t,e=l.getBBox(void 0,0),i=l.padding,s="justify"===pl(h.overflow,"justify");n.x=h.x||0,n.y=h.y||0;let{x:o,y:r}=this.adjustStackPosition({labelBox:e,verticalAlign:u,textAlign:c});p.x-=o,p.y-=r,l.align(n,!1,p),(t=d.isInsidePlot(l.alignAttr.x+n.x+o,l.alignAttr.y+n.y+r))||(s=!1),s&&al.prototype.justifyDataLabel.call(a,l,n,l.alignAttr,e,p),l.attr({x:l.alignAttr.x,y:l.alignAttr.y,rotation:h.rotation,rotationOriginX:e.width*cl(h.textAlign||"center"),rotationOriginY:e.height/2}),pl(!s&&h.crop,!0)&&(t=dl(l.x)&&dl(l.y)&&d.isInsidePlot(l.x-i+(l.width||0),l.y)&&d.isInsidePlot(l.x+i,l.y)),l[t?"show":"hide"]()}hl(this,"afterSetOffset",{xOffset:t,width:e})}adjustStackPosition({labelBox:t,verticalAlign:e,textAlign:i}){return{x:t.width/2+t.width/2*(2*cl(i)-1),y:t.height/2*2*(1-cl(e))}}getStackBox(t){let e=this.axis,i=e.chart,{boxTop:s,defaultX:o,xOffset:r,width:n,boxBottom:a}=t,l=e.stacking.usePercentage?100:pl(s,this.total,0),h=e.toPixels(l),c=t.xAxis||i.xAxis[0],d=pl(o,c.translate(this.x))+r,p=Math.abs(h-e.toPixels(a||dl(e.min)&&e.logarithmic&&e.logarithmic.lin2log(e.min)||0)),u=i.inverted,g=this.isNegative;return u?{x:(g?h:h-p)-i.plotLeft,y:c.height-d-n+c.top-i.plotTop,width:p,height:n}:{x:d+c.transB-i.plotLeft,y:(g?h-p:h)-i.plotTop,width:n,height:p}}},{getDeferredAnimation:gl}=Rt,{series:{prototype:fl}}=rn,{addEvent:ml,correctFloat:bl,defined:xl,destroyObjectProperties:yl,fireEvent:vl,isNumber:wl,objectEach:kl,pick:Al}=q;function Ml(){let t=this.inverted;this.axes.forEach(t=>{t.stacking&&t.stacking.stacks&&t.hasVisibleSeries&&(t.stacking.oldStacks=t.stacking.stacks)}),this.series.forEach(e=>{let i=e.xAxis&&e.xAxis.options||{};e.options.stacking&&e.reserveSpace()&&(e.stackKey=[e.type,Al(e.options.stack,""),t?i.top:i.left,t?i.height:i.width].join(","))})}function Cl(){let t=this.stacking;if(t){let e=t.stacks;kl(e,(t,i)=>{yl(t),delete e[i]}),t.stackTotalGroup?.destroy()}}function Pl(){this.stacking||(this.stacking=new Dl(this))}function Sl(t,e,i,s){return!xl(t)||t.x!==e||s&&t.stackKey!==s?t={x:e,index:0,key:s,stackKey:s}:t.index++,t.key=[i,e,t.index].join(","),t}function Tl(){let t,e=this,i=e.yAxis,s=e.stackKey||"",o=i.stacking.stacks,r=e.getColumn("x",!0),n=e.options.stacking,a=e[n+"Stacker"];a&&[s,"-"+s].forEach(i=>{let s,n,l,h=r.length;for(;h--;)s=r[h],t=e.getStackIndicator(t,s,e.index,i),n=o[i]?.[s],(l=n?.points[t.key||""])&&a.call(e,l,n,h)})}function El(t,e,i){let s=e.total?100/e.total:0;t[0]=bl(t[0]*s),t[1]=bl(t[1]*s),this.stackedYData[i]=t[1]}function Ll(t){(this.is("column")||this.is("columnrange"))&&(this.options.centerInCategory&&this.chart.series.length>1?fl.setStackedPoints.call(this,t,"group"):t.stacking.resetStacks())}function Ol(t,e){let i,s,o,r,n,a,l,h=e||this.options.stacking;if(!h||!this.reserveSpace()||({group:"xAxis"}[h]||"yAxis")!==t.coll)return;let c=this.getColumn("x",!0),d=this.getColumn(this.pointValKey||"y",!0),p=[],u=d.length,g=this.options,f=g.threshold||0,m=g.startFromThreshold?f:0,b=g.stack,x=e?`${this.type},${h}`:this.stackKey||"",y="-"+x,v=this.negStacks,w=t.stacking,k=w.stacks,A=w.oldStacks;for(w.stacksTouched+=1,l=0;l<u;l++){let e=c[l]||0,u=d[l],g=wl(u)&&u||0;a=(i=this.getStackIndicator(i,e,this.index)).key||"",k[n=(s=v&&g<(m?0:f))?y:x]||(k[n]={}),k[n][e]||(A[n]?.[e]?(k[n][e]=A[n][e],k[n][e].total=null):k[n][e]=new ul(t,t.options.stackLabels,!!s,e,b)),o=k[n][e],null!==u?(o.points[a]=o.points[this.index]=[Al(o.cumulative,m)],xl(o.cumulative)||(o.base=a),o.touched=w.stacksTouched,i.index>0&&!1===this.singleStacks&&(o.points[a][0]=o.points[this.index+","+e+",0"][0])):(delete o.points[a],delete o.points[this.index]);let M=o.total||0;"percent"===h?(r=s?x:y,M=v&&k[r]?.[e]?(r=k[r][e]).total=Math.max(r.total||0,M)+Math.abs(g):bl(M+Math.abs(g))):"group"===h?wl(u)&&M++:M=bl(M+g),o.cumulative="group"===h?(M||1)-1:bl(Al(o.cumulative,m)+g),o.total=M,null!==u&&(o.points[a].push(o.cumulative),p[l]=o.cumulative,o.hasValidPoints=!0)}"percent"===h&&(w.usePercentage=!0),"group"!==h&&(this.stackedYData=p),w.oldStacks={}}class Dl{constructor(t){this.oldStacks={},this.stacks={},this.stacksTouched=0,this.axis=t}buildStacks(){let t,e,i=this.axis,s=i.series,o="xAxis"===i.coll,r=i.options.reversedStacks,n=s.length;for(this.resetStacks(),this.usePercentage=!1,e=n;e--;)t=s[r?e:n-e-1],o&&t.setGroupedPoints(i),t.setStackedPoints(i);if(!o)for(e=0;e<n;e++)s[e].modifyStacks();vl(i,"afterBuildStacks")}cleanStacks(){this.oldStacks&&(this.stacks=this.oldStacks,kl(this.stacks,t=>{kl(t,t=>{t.cumulative=t.total})}))}resetStacks(){kl(this.stacks,t=>{kl(t,(e,i)=>{wl(e.touched)&&e.touched<this.stacksTouched?(e.destroy(),delete t[i]):(e.total=null,e.cumulative=null)})})}renderStackTotals(){let t=this.axis,e=t.chart,i=e.renderer,s=this.stacks,o=gl(e,t.options.stackLabels?.animation||!1),r=this.stackTotalGroup=this.stackTotalGroup||i.g("stack-labels").attr({zIndex:6,opacity:0}).add();r.translate(e.plotLeft,e.plotTop),kl(s,t=>{kl(t,t=>{t.render(r)})}),r.animate({opacity:1},o)}}(p||(p={})).compose=function(t,e,i){let s=e.prototype,o=i.prototype;s.getStacks||(ml(t,"init",Pl),ml(t,"destroy",Cl),s.getStacks=Ml,o.getStackIndicator=Sl,o.modifyStacks=Tl,o.percentStacker=El,o.setGroupedPoints=Ll,o.setStackedPoints=Ol)};let Il=p,{defined:Nl,merge:Bl,isObject:Rl}=q;class zl extends Fn{drawGraph(){let t=this.options,e=(this.gappedPath||this.getGraphPath).call(this),i=this.chart.styledMode;[this,...this.zones].forEach((s,o)=>{let r,n=s.graph,a=n?"animate":"attr",l=s.dashStyle||t.dashStyle;n?(n.endX=this.preventGraphAnimation?null:e.xMap,n.animate({d:e})):e.length&&(s.graph=n=this.chart.renderer.path(e).addClass("highcharts-graph"+(o?` highcharts-zone-graph-${o-1} `:" ")+(o&&s.className||"")).attr({zIndex:1}).add(this.group)),n&&!i&&(r={stroke:!o&&t.lineColor||s.color||this.color||"#cccccc","stroke-width":t.lineWidth||0,fill:this.fillGraph&&this.color||"none"},l?r.dashstyle=l:"square"!==t.linecap&&(r["stroke-linecap"]=r["stroke-linejoin"]="round"),n[a](r).shadow(t.shadow&&Bl({filterUnits:"userSpaceOnUse"},Rl(t.shadow)?t.shadow:{}))),n&&(n.startX=e.xMap,n.isArea=e.isArea)})}getGraphPath(t,e,i){let s,o=this,r=o.options,n=[],a=[],l=r.step,h=(t=t||o.points).reversed;return h&&t.reverse(),(l={right:1,center:2}[l]||l&&3)&&h&&(l=4-l),(t=this.getValidPoints(t,!1,!(r.connectNulls&&!e&&!i))).forEach(function(h,c){let d,p=h.plotX,u=h.plotY,g=t[c-1],f=h.isNull||"number"!=typeof u;(h.leftCliff||g&&g.rightCliff)&&!i&&(s=!0),f&&!Nl(e)&&c>0?s=!r.connectNulls:f&&!e?s=!0:(0===c||s?d=[["M",h.plotX,h.plotY]]:o.getPointSpline?d=[o.getPointSpline(t,h,c)]:l?(d=1===l?[["L",g.plotX,u]]:2===l?[["L",(g.plotX+p)/2,g.plotY],["L",(g.plotX+p)/2,u]]:[["L",p,g.plotY]]).push(["L",p,u]):d=[["L",p,u]],a.push(h.x),l&&(a.push(h.x),2===l&&a.push(h.x)),n.push.apply(n,d),s=!1)}),n.xMap=a,o.graphPath=n,n}}zl.defaultOptions=Bl(Fn.defaultOptions,{legendSymbol:"lineMarker"}),rn.registerSeriesType("line",zl);let{seriesTypes:{line:Fl}}=rn,{extend:Hl,merge:Xl,objectEach:Wl,pick:Yl}=q;class jl extends Fl{drawGraph(){this.areaPath=[],super.drawGraph.apply(this);let{areaPath:t,options:e}=this;[this,...this.zones].forEach((i,s)=>{let o={},r=i.fillColor||e.fillColor,n=i.area,a=n?"animate":"attr";n?(n.endX=this.preventGraphAnimation?null:t.xMap,n.animate({d:t})):(o.zIndex=0,(n=i.area=this.chart.renderer.path(t).addClass("highcharts-area"+(s?` highcharts-zone-area-${s-1} `:" ")+(s&&i.className||"")).add(this.group)).isArea=!0),this.chart.styledMode||(o.fill=r||i.color||this.color,o["fill-opacity"]=r?1:e.fillOpacity??.75,n.css({pointerEvents:this.stickyTracking?"none":"auto"})),n[a](o),n.startX=t.xMap,n.shiftUnit=e.step?2:1})}getGraphPath(t){let e,i,s,o=Fl.prototype.getGraphPath,r=this.options,n=r.stacking,a=this.yAxis,l=[],h=[],c=this.index,d=a.stacking.stacks[this.stackKey],p=r.threshold,u=Math.round(a.getThreshold(r.threshold)),g=Yl(r.connectNulls,"percent"===n),f=function(i,s,o){let r,g,f=t[i],m=n&&d[f.x].points[c],b=f[o+"Null"]||0,x=f[o+"Cliff"]||0,y=!0;x||b?(r=(b?m[0]:m[1])+x,g=m[0]+x,y=!!b):!n&&t[s]&&t[s].isNull&&(r=g=p),void 0!==r&&(h.push({plotX:e,plotY:null===r?u:a.getThreshold(r),isNull:y,isCliff:!0}),l.push({plotX:e,plotY:null===g?u:a.getThreshold(g),doCurve:!1}))};t=t||this.points,n&&(t=this.getStackPoints(t));for(let o=0,r=t.length;o<r;++o)n||(t[o].leftCliff=t[o].rightCliff=t[o].leftNull=t[o].rightNull=void 0),i=t[o].isNull,e=Yl(t[o].rectPlotX,t[o].plotX),s=n?Yl(t[o].yBottom,u):u,i&&!g||(g||f(o,o-1,"left"),i&&!n&&g||(h.push(t[o]),l.push({x:o,plotX:e,plotY:s})),g||f(o,o+1,"right"));let m=o.call(this,h,!0,!0);l.reversed=!0;let b=o.call(this,l,!0,!0),x=b[0];x&&"M"===x[0]&&(b[0]=["L",x[1],x[2]]);let y=m.concat(b);y.length&&y.push(["Z"]);let v=o.call(this,h,!1,g);return this.chart.series.length>1&&n&&h.some(t=>t.isCliff)&&(y.hasStackedCliffs=v.hasStackedCliffs=!0),y.xMap=m.xMap,this.areaPath=y,v}getStackPoints(t){let e=this,i=[],s=[],o=this.xAxis,r=this.yAxis,n=r.stacking.stacks[this.stackKey],a={},l=r.series,h=l.length,c=r.options.reversedStacks?1:-1,d=l.indexOf(e);if(t=t||this.points,this.options.stacking){for(let e=0;e<t.length;e++)t[e].leftNull=t[e].rightNull=void 0,a[t[e].x]=t[e];Wl(n,function(t,e){null!==t.total&&s.push(e)}),s.sort(function(t,e){return t-e});let p=l.map(t=>t.visible);s.forEach(function(t,u){let g,f,m=0;if(a[t]&&!a[t].isNull)i.push(a[t]),[-1,1].forEach(function(i){let o=1===i?"rightNull":"leftNull",r=n[s[u+i]],m=0;if(r){let i=d;for(;i>=0&&i<h;){let s=l[i].index;!(g=r.points[s])&&(s===e.index?a[t][o]=!0:p[i]&&(f=n[t].points[s])&&(m-=f[1]-f[0])),i+=c}}a[t][1===i?"rightCliff":"leftCliff"]=m});else{let e=d;for(;e>=0&&e<h;){let i=l[e].index;if(g=n[t].points[i]){m=g[1];break}e+=c}m=Yl(m,0),m=r.translate(m,0,1,0,1),i.push({isNull:!0,plotX:o.translate(t,0,0,0,1),x:t,plotY:m,yBottom:m})}})}return i}}jl.defaultOptions=Xl(Fl.defaultOptions,{threshold:0,legendSymbol:"areaMarker"}),Hl(jl.prototype,{singleStacks:!1}),rn.registerSeriesType("area",jl);let{line:Gl}=rn.seriesTypes,{merge:_l,pick:ql}=q;class Ul extends Gl{getPointSpline(t,e,i){let s,o,r,n,a=e.plotX||0,l=e.plotY||0,h=t[i-1],c=t[i+1];function d(t){return t&&!t.isNull&&!1!==t.doCurve&&!e.isCliff}if(d(h)&&d(c)){let t=h.plotX||0,i=h.plotY||0,d=c.plotX||0,p=c.plotY||0,u=0;s=(1.5*a+t)/2.5,o=(1.5*l+i)/2.5,r=(1.5*a+d)/2.5,n=(1.5*l+p)/2.5,r!==s&&(u=(n-o)*(r-a)/(r-s)+l-n),o+=u,n+=u,o>i&&o>l?(o=Math.max(i,l),n=2*l-o):o<i&&o<l&&(o=Math.min(i,l),n=2*l-o),n>p&&n>l?(n=Math.max(p,l),o=2*l-n):n<p&&n<l&&(n=Math.min(p,l),o=2*l-n),e.rightContX=r,e.rightContY=n,e.controlPoints={low:[s,o],high:[r,n]}}let p=["C",ql(h.rightContX,h.plotX,0),ql(h.rightContY,h.plotY,0),ql(s,a,0),ql(o,l,0),a,l];return h.rightContX=h.rightContY=void 0,p}}Ul.defaultOptions=_l(Gl.defaultOptions),rn.registerSeriesType("spline",Ul);let Vl=Ul,{area:Kl,area:{prototype:$l}}=rn.seriesTypes,{extend:Zl,merge:Jl}=q;class Ql extends Vl{}Ql.defaultOptions=Jl(Vl.defaultOptions,Kl.defaultOptions),Zl(Ql.prototype,{getGraphPath:$l.getGraphPath,getStackPoints:$l.getStackPoints,drawGraph:$l.drawGraph}),rn.registerSeriesType("areaspline",Ql);let{animObject:th}=Rt,{parse:eh}=vt,{noop:ih}=w,{clamp:sh,crisp:oh,defined:rh,extend:nh,fireEvent:ah,isArray:lh,isNumber:hh,merge:ch,pick:dh,objectEach:ph}=q;class uh extends Fn{animate(t){let e,i,s=this,o=this.yAxis,r=o.pos,n=o.reversed,a=s.options,{clipOffset:l,inverted:h}=this.chart,c={},d=h?"translateX":"translateY";t&&l?(c.scaleY=.001,i=sh(o.toPixels(a.threshold||0),r,r+o.len),h?(i+=n?-Math.floor(l[0]):Math.ceil(l[2]),c.translateX=i-o.len):(i+=n?Math.ceil(l[0]):-Math.floor(l[2]),c.translateY=i),s.clipBox&&s.setClip(),s.group.attr(c)):(e=Number(s.group.attr(d)),s.group.animate({scaleY:1},nh(th(s.options.animation),{step:function(t,i){s.group&&(c[d]=e+i.pos*(r-e),s.group.attr(c))}})))}init(t,e){super.init.apply(this,arguments);let i=this;(t=i.chart).hasRendered&&t.series.forEach(function(t){t.type===i.type&&(t.isDirty=!0)})}getColumnMetrics(){let t,e=this,i=e.options,s=e.xAxis,o=e.yAxis,r=s.options.reversedStacks,n=s.reversed&&!r||!s.reversed&&r,a={},l=0;!1===i.grouping?l=1:e.chart.series.forEach(function(i){let s,r=i.yAxis,n=i.options;i.type===e.type&&i.reserveSpace()&&o.len===r.len&&o.pos===r.pos&&(n.stacking&&"group"!==n.stacking?(void 0===a[t=i.stackKey]&&(a[t]=l++),s=a[t]):!1!==n.grouping&&(s=l++),i.columnIndex=s)});let h=Math.min(Math.abs(s.transA)*(!s.brokenAxis?.hasBreaks&&s.ordinal?.slope||i.pointRange||s.closestPointRange||s.tickInterval||1),s.len),c=h*i.groupPadding,d=(h-2*c)/(l||1),p=Math.min(i.maxPointWidth||s.len,dh(i.pointWidth,d*(1-2*i.pointPadding))),u=(e.columnIndex||0)+(n?1:0);return e.columnMetrics={width:p,offset:(d-p)/2+(c+u*d-h/2)*(n?-1:1),paddedWidth:d,columnCount:l},e.columnMetrics}crispCol(t,e,i,s){let o=this.borderWidth,r=this.chart.inverted;return s=oh(e+s,o,r)-(e=oh(e,o,r)),this.options.crisp&&(i=oh(t+i,o)-(t=oh(t,o))),{x:t,y:e,width:i,height:s}}adjustForMissingColumns(t,e,i,s){if(!i.isNull&&s.columnCount>1){let o=this.xAxis.series.filter(t=>t.visible).map(t=>t.index),r=0,n=0;ph(this.xAxis.stacking?.stacks,t=>{let e="number"==typeof i.x?t[i.x.toString()]?.points:void 0,s=e?.[this.index],a={};if(e&&lh(s)){let t=this.index,i=Object.keys(e).filter(t=>!t.match(",")&&e[t]&&e[t].length>1).map(parseFloat).filter(t=>-1!==o.indexOf(t)).filter(e=>{let i=this.chart.series[e].options,s=i.stacking&&i.stack;if(rh(s)){if(hh(a[s]))return t===e&&(t=a[s]),!1;a[s]=e}return!0}).sort((t,e)=>e-t);r=i.indexOf(t),n=i.length}}),r=this.xAxis.reversed?n-1-r:r;let a=(n-1)*s.paddedWidth+e;t=(i.plotX||0)+a/2-e-r*s.paddedWidth}return t}translate(){let t=this,e=t.chart,i=t.options,s=t.dense=t.closestPointRange*t.xAxis.transA<2,o=t.borderWidth=dh(i.borderWidth,s?0:1),r=t.xAxis,n=t.yAxis,a=i.threshold,l=dh(i.minPointLength,5),h=t.getColumnMetrics(),c=h.width,d=t.pointXOffset=h.offset,p=t.dataMin,u=t.dataMax,g=t.translatedThreshold=n.getThreshold(a),f=t.barW=Math.max(c,1+2*o);i.pointPadding&&i.crisp&&(f=Math.ceil(f)),Fn.prototype.translate.apply(t),t.points.forEach(function(s){let o,m=dh(s.yBottom,g),b=999+Math.abs(m),x=s.plotX||0,y=sh(s.plotY,-b,n.len+b),v=Math.min(y,m),w=Math.max(y,m)-v,k=c,A=x+d,M=f;l&&Math.abs(w)<l&&(w=l,o=!n.reversed&&!s.negative||n.reversed&&s.negative,hh(a)&&hh(u)&&s.y===a&&u<=a&&(n.min||0)<a&&(p!==u||(n.max||0)<=a)&&(o=!o,s.negative=!s.negative),v=Math.abs(v-g)>l?m-l:g-(o?l:0)),rh(s.options.pointWidth)&&(A-=Math.round(((k=M=Math.ceil(s.options.pointWidth))-c)/2)),i.centerInCategory&&(A=t.adjustForMissingColumns(A,k,s,h)),s.barX=A,s.pointWidth=k,s.tooltipPos=e.inverted?[sh(n.len+n.pos-e.plotLeft-y,n.pos-e.plotLeft,n.len+n.pos-e.plotLeft),r.len+r.pos-e.plotTop-A-M/2,w]:[r.left-e.plotLeft+A+M/2,sh(y+n.pos-e.plotTop,n.pos-e.plotTop,n.len+n.pos-e.plotTop),w],s.shapeType=t.pointClass.prototype.shapeType||"roundedRect",s.shapeArgs=t.crispCol(A,s.isNull?g:v,M,s.isNull?0:w)}),ah(this,"afterColumnTranslate")}drawGraph(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")}pointAttribs(t,e){let i,s,o,r=this.options,n=this.pointAttrToOptions||{},a=n.stroke||"borderColor",l=n["stroke-width"]||"borderWidth",h=t&&t.color||this.color,c=t&&t[a]||r[a]||h,d=t&&t.options.dashStyle||r.dashStyle,p=t&&t[l]||r[l]||this[l]||0,u=dh(t&&t.opacity,r.opacity,1);t&&this.zones.length&&(s=t.getZone(),h=t.options.color||s&&(s.color||t.nonZonedColor)||this.color,s&&(c=s.borderColor||c,d=s.dashStyle||d,p=s.borderWidth||p)),e&&t&&(o=(i=ch(r.states[e],t.options.states&&t.options.states[e]||{})).brightness,h=i.color||void 0!==o&&eh(h).brighten(i.brightness).get()||h,c=i[a]||c,p=i[l]||p,d=i.dashStyle||d,u=dh(i.opacity,u));let g={fill:h,stroke:c,"stroke-width":p,opacity:u};return d&&(g.dashstyle=d),g}drawPoints(t=this.points){let e,i=this,s=this.chart,o=i.options,r=s.renderer,n=o.animationLimit||250;t.forEach(function(t){let a=t.plotY,l=t.graphic,h=!!l,c=l&&s.pointCount<n?"animate":"attr";hh(a)&&null!==t.y?(e=t.shapeArgs,l&&t.hasNewShapeType()&&(l=l.destroy()),i.enabledDataSorting&&(t.startXPos=i.xAxis.reversed?-(e&&e.width||0):i.xAxis.width),!l&&(t.graphic=l=r[t.shapeType](e).add(t.group||i.group),l&&i.enabledDataSorting&&s.hasRendered&&s.pointCount<n&&(l.attr({x:t.startXPos}),h=!0,c="animate")),l&&h&&l[c](ch(e)),s.styledMode||l[c](i.pointAttribs(t,t.selected&&"select")).shadow(!1!==t.allowShadow&&o.shadow),l&&(l.addClass(t.getClassName(),!0),l.attr({visibility:t.visible?"inherit":"hidden"}))):l&&(t.graphic=l.destroy())})}drawTracker(t=this.points){let e,i=this,s=i.chart,o=s.pointer,r=function(t){o?.normalize(t);let e=o?.getPointFromEvent(t),r=!s.scrollablePlotArea||s.isInsidePlot(t.chartX-s.plotLeft,t.chartY-s.plotTop,{visiblePlotOnly:!0});o&&e&&i.options.enableMouseTracking&&r&&(o.isDirectTouch=!0,e.onMouseOver(t))};t.forEach(function(t){e=lh(t.dataLabels)?t.dataLabels:t.dataLabel?[t.dataLabel]:[],t.graphic&&(t.graphic.element.point=t),e.forEach(function(e){(e.div||e.element).point=t})}),i._hasTracking||(i.trackerGroups.forEach(function(t){i[t]&&(i[t].addClass("highcharts-tracker").on("mouseover",r).on("mouseout",function(t){o?.onTrackerMouseOut(t)}).on("touchstart",r),!s.styledMode&&i.options.cursor&&i[t].css({cursor:i.options.cursor}))}),i._hasTracking=!0),ah(this,"afterDrawTracker")}remove(){let t=this,e=t.chart;e.hasRendered&&e.series.forEach(function(e){e.type===t.type&&(e.isDirty=!0)}),Fn.prototype.remove.apply(t,arguments)}}uh.defaultOptions=ch(Fn.defaultOptions,{borderRadius:3,centerInCategory:!1,groupPadding:.2,marker:null,pointPadding:.1,minPointLength:0,cropThreshold:50,pointRange:null,states:{hover:{halo:!1,brightness:.1},select:{color:"#cccccc",borderColor:"#000000"}},dataLabels:{align:void 0,verticalAlign:void 0,y:void 0},startFromThreshold:!0,stickyTracking:!1,tooltip:{distance:6},threshold:0,borderColor:"#ffffff"}),nh(uh.prototype,{directTouch:!0,getSymbol:ih,negStacks:!0,trackerGroups:["group","dataLabelsGroup"]}),rn.registerSeriesType("column",uh);let gh=uh,{getDeferredAnimation:fh}=Rt,{format:mh}=ue,{defined:bh,extend:xh,fireEvent:yh,getAlignFactor:vh,isArray:wh,isString:kh,merge:Ah,objectEach:Mh,pick:Ch,pInt:Ph,splat:Sh}=q;!function(t){function e(){return l(this).some(t=>t?.enabled)}function i(t,e,i,s,o){let{chart:r,enabledDataSorting:n}=this,a=this.isCartesian&&r.inverted,l=t.plotX,h=t.plotY,c=i.rotation||0,d=bh(l)&&bh(h)&&r.isInsidePlot(l,Math.round(h),{inverted:a,paneCoordinates:!0,series:this}),p=0===c&&"justify"===Ch(i.overflow,n?"none":"justify"),u=this.visible&&!1!==t.visible&&bh(l)&&(t.series.forceDL||n&&!p||d||Ch(i.inside,!!this.options.stacking)&&s&&r.isInsidePlot(l,a?s.x+1:s.y+s.height-1,{inverted:a,paneCoordinates:!0,series:this})),g=t.pos();if(u&&g){var f;let l=e.getBBox(),h=e.getBBox(void 0,0);if(s=xh({x:g[0],y:Math.round(g[1]),width:0,height:0},s||{}),"plotEdges"===i.alignTo&&this.isCartesian&&(s[a?"x":"y"]=0,s[a?"width":"height"]=this.yAxis?.len||0),xh(i,{width:l.width,height:l.height}),f=s,n&&this.xAxis&&!p&&this.setDataLabelStartPos(t,e,o,d,f),e.align(Ah(i,{width:h.width,height:h.height}),!1,s,!1),e.alignAttr.x+=vh(i.align)*(h.width-l.width),e.alignAttr.y+=vh(i.verticalAlign)*(h.height-l.height),e[e.placed?"animate":"attr"]({"text-align":e.alignAttr["text-align"]||"center",x:e.alignAttr.x+(l.width-h.width)/2,y:e.alignAttr.y+(l.height-h.height)/2,rotationOriginX:(e.width||0)/2,rotationOriginY:(e.height||0)/2}),p&&s.height>=0)this.justifyDataLabel(e,i,e.alignAttr,l,s,o);else if(Ch(i.crop,!0)){let{x:t,y:i}=e.alignAttr;u=r.isInsidePlot(t,i,{paneCoordinates:!0,series:this})&&r.isInsidePlot(t+l.width-1,i+l.height-1,{paneCoordinates:!0,series:this})}i.shape&&!c&&e[o?"attr":"animate"]({anchorX:g[0],anchorY:g[1]})}o&&n&&(e.placed=!1),u||n&&!p?(e.show(),e.placed=!0):(e.hide(),e.placed=!1)}function s(){return this.plotGroup("dataLabelsGroup","data-labels",this.hasRendered?"inherit":"hidden",this.options.dataLabels.zIndex||6)}function o(t){let e=this.hasRendered||0,i=this.initDataLabelsGroup().attr({opacity:+e});return!e&&i&&(this.visible&&i.show(),this.options.animation?i.animate({opacity:1},t):i.attr({opacity:1})),i}function r(t){let e;t=t||this.points;let i=this,s=i.chart,o=i.options,r=s.renderer,{backgroundColor:n,plotBackgroundColor:h}=s.options.chart,c=r.getContrast(kh(h)&&h||kh(n)&&n||"#000000"),d=l(i),{animation:p,defer:u}=d[0],g=u?fh(s,p,i):{defer:0,duration:0};yh(this,"drawDataLabels"),i.hasDataLabels?.()&&(e=this.initDataLabels(g),t.forEach(t=>{let n=t.dataLabels||[];Sh(a(d,t.dlOptions||t.options?.dataLabels)).forEach((a,l)=>{let h,d,p,u,g=a.enabled&&(t.visible||t.dataLabelOnHidden)&&(!t.isNull||t.dataLabelOnNull)&&function(t,e){let i=e.filter;if(i){let e=i.operator,s=t[i.property],o=i.value;return">"===e&&s>o||"<"===e&&s<o||">="===e&&s>=o||"<="===e&&s<=o||"=="===e&&s==o||"==="===e&&s===o||"!="===e&&s!=o||"!=="===e&&s!==o}return!0}(t,a),{backgroundColor:f,borderColor:m,distance:b,style:x={}}=a,y={},v=n[l],w=!v;g&&(d=bh(h=Ch(a[t.formatPrefix+"Format"],a.format))?mh(h,t,s):(a[t.formatPrefix+"Formatter"]||a.formatter).call(t,a),p=a.rotation,!s.styledMode&&(x.color=Ch(a.color,x.color,kh(i.color)?i.color:void 0,"#000000"),"contrast"===x.color?("none"!==f&&(u=f),t.contrastColor=r.getContrast("auto"!==u&&u||t.color||i.color),x.color=u||!bh(b)&&a.inside||0>Ph(b||0)||o.stacking?t.contrastColor:c):delete t.contrastColor,o.cursor&&(x.cursor=o.cursor)),y={r:a.borderRadius||0,rotation:p,padding:a.padding,zIndex:1},s.styledMode||(y.fill="auto"===f?t.color:f,y.stroke="auto"===m?t.color:m,y["stroke-width"]=a.borderWidth),Mh(y,(t,e)=>{void 0===t&&delete y[e]})),!v||g&&bh(d)&&!!v.div==!!a.useHTML&&(v.rotation&&a.rotation||v.rotation===a.rotation)||(v=void 0,w=!0),g&&bh(d)&&(v?y.text=d:(v=r.label(d,0,0,a.shape,void 0,void 0,a.useHTML,void 0,"data-label")).addClass(" highcharts-data-label-color-"+t.colorIndex+" "+(a.className||"")+(a.useHTML?" highcharts-tracker":"")),v&&(v.options=a,v.attr(y),s.styledMode?x.width&&v.css({width:x.width,textOverflow:x.textOverflow,whiteSpace:x.whiteSpace}):v.css(x).shadow(a.shadow),yh(v,"beforeAddingDataLabel",{labelOptions:a,point:t}),v.added||v.add(e),i.alignDataLabel(t,v,a,void 0,w),v.isActive=!0,n[l]&&n[l]!==v&&n[l].destroy(),n[l]=v))});let l=n.length;for(;l--;)n[l]&&n[l].isActive?n[l].isActive=!1:(n[l]?.destroy(),n.splice(l,1));t.dataLabel=n[0],t.dataLabels=n})),yh(this,"afterDrawDataLabels")}function n(t,e,i,s,o,r){let n,a,l=this.chart,h=e.align,c=e.verticalAlign,d=t.box?0:t.padding||0,p=l.inverted?this.yAxis:this.xAxis,u=p?p.left-l.plotLeft:0,g=l.inverted?this.xAxis:this.yAxis,f=g?g.top-l.plotTop:0,{x:m=0,y:b=0}=e;return(n=(i.x||0)+d+u)<0&&("right"===h&&m>=0?(e.align="left",e.inside=!0):m-=n,a=!0),(n=(i.x||0)+s.width-d+u)>l.plotWidth&&("left"===h&&m<=0?(e.align="right",e.inside=!0):m+=l.plotWidth-n,a=!0),(n=i.y+d+f)<0&&("bottom"===c&&b>=0?(e.verticalAlign="top",e.inside=!0):b-=n,a=!0),(n=(i.y||0)+s.height-d+f)>l.plotHeight&&("top"===c&&b<=0?(e.verticalAlign="bottom",e.inside=!0):b+=l.plotHeight-n,a=!0),a&&(e.x=m,e.y=b,t.placed=!r,t.align(e,void 0,o)),a}function a(t,e){let i,s=[];if(wh(t)&&!wh(e))s=t.map(function(t){return Ah(t,e)});else if(wh(e)&&!wh(t))s=e.map(function(e){return Ah(t,e)});else if(wh(t)||wh(e)){if(wh(t)&&wh(e))for(i=Math.max(t.length,e.length);i--;)s[i]=Ah(t[i],e[i])}else s=Ah(t,e);return s}function l(t){let e=t.chart.options.plotOptions;return Sh(a(a(e?.series?.dataLabels,e?.[t.type]?.dataLabels),t.options.dataLabels))}function h(t,e,i,s,o){let r=this.chart,n=r.inverted,a=this.xAxis,l=a.reversed,h=((n?e.height:e.width)||0)/2,c=t.pointWidth,d=c?c/2:0;e.startXPos=n?o.x:l?-h-d:a.width-h+d,e.startYPos=n?l?this.yAxis.height-h+d:-h-d:o.y,s?"hidden"===e.visibility&&(e.show(),e.attr({opacity:0}).animate({opacity:1})):e.attr({opacity:1}).animate({opacity:0},void 0,e.hide),r.hasRendered&&(i&&e.attr({x:e.startXPos,y:e.startYPos}),e.placed=!0)}t.compose=function(t){let a=t.prototype;a.initDataLabels||(a.initDataLabels=o,a.initDataLabelsGroup=s,a.alignDataLabel=i,a.drawDataLabels=r,a.justifyDataLabel=n,a.setDataLabelStartPos=h,a.hasDataLabels=e)}}(u||(u={}));let Th=u,{composed:Eh}=w,{series:Lh}=rn,{merge:Oh,pick:Dh,pushUnique:Ih}=q;!function(t){function e(t,e,i,s,o){let r=this.chart.inverted,n=t.series,a=(n.xAxis?n.xAxis.len:this.chart.plotSizeX)||0,l=(n.yAxis?n.yAxis.len:this.chart.plotSizeY)||0,h=t.dlBox||t.shapeArgs,c=Dh(t.below,t.plotY>Dh(this.translatedThreshold,l)),d=Dh(i.inside,!!this.options.stacking);if(h){if(s=Oh(h),"allow"!==i.overflow||!1!==i.crop){s.y<0&&(s.height+=s.y,s.y=0);let t=s.y+s.height-l;t>0&&t<s.height-1&&(s.height-=t)}r&&(s={x:l-s.y-s.height,y:a-s.x-s.width,width:s.height,height:s.width}),d||(r?(s.x+=c?0:s.width,s.width=0):(s.y+=c?s.height:0,s.height=0))}i.align=Dh(i.align,!r||d?"center":c?"right":"left"),i.verticalAlign=Dh(i.verticalAlign,r||d?"middle":c?"top":"bottom"),Lh.prototype.alignDataLabel.call(this,t,e,i,s,o),i.inside&&t.contrastColor&&e.css({color:t.contrastColor})}t.compose=function(t){Th.compose(Lh),Ih(Eh,"ColumnDataLabel")&&(t.prototype.alignDataLabel=e)}}(g||(g={}));let Nh=g,{extend:Bh,merge:Rh}=q;class zh extends gh{}zh.defaultOptions=Rh(gh.defaultOptions,{}),Bh(zh.prototype,{inverted:!0}),rn.registerSeriesType("bar",zh);let{column:Fh,line:Hh}=rn.seriesTypes,{addEvent:Xh,extend:Wh,merge:Yh}=q;class jh extends Hh{applyJitter(){let t=this,e=this.options.jitter,i=this.points.length;e&&this.points.forEach(function(s,o){["x","y"].forEach(function(r,n){if(e[r]&&!s.isNull){let a=`plot${r.toUpperCase()}`,l=t[`${r}Axis`],h=e[r]*l.transA;if(l&&!l.logarithmic){let t=Math.max(0,(s[a]||0)-h),e=Math.min(l.len,(s[a]||0)+h);s[a]=t+(e-t)*function(t){let e=1e4*Math.sin(t);return e-Math.floor(e)}(o+n*i),"x"===r&&(s.clientX=s.plotX)}}})})}drawGraph(){this.options.lineWidth?super.drawGraph():this.graph&&(this.graph=this.graph.destroy())}}jh.defaultOptions=Yh(Hh.defaultOptions,{lineWidth:0,findNearestPointBy:"xy",jitter:{x:0,y:0},marker:{enabled:!0},tooltip:{headerFormat:'<span style="color:{point.color}">●</span> <span style="font-size: 0.8em"> {series.name}</span><br/>',pointFormat:"x: <b>{point.x}</b><br/>y: <b>{point.y}</b><br/>"}}),Wh(jh.prototype,{drawTracker:Fh.prototype.drawTracker,sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","markerGroup","dataLabelsGroup"]}),Xh(jh,"afterTranslate",function(){this.applyJitter()}),rn.registerSeriesType("scatter",jh);let{deg2rad:Gh}=w,{fireEvent:_h,isNumber:qh,pick:Uh,relativeLength:Vh}=q;!function(t){t.getCenter=function(){let t,e,i,s=this.options,o=this.chart,r=2*(s.slicedOffset||0),n=o.plotWidth-2*r,a=o.plotHeight-2*r,l=s.center,h=Math.min(n,a),c=s.thickness,d=s.size,p=s.innerSize||0;"string"==typeof d&&(d=parseFloat(d)),"string"==typeof p&&(p=parseFloat(p));let u=[Uh(l?.[0],"50%"),Uh(l?.[1],"50%"),Uh(d&&d<0?void 0:s.size,"100%"),Uh(p&&p<0?void 0:s.innerSize||0,"0%")];for(!o.angular||this instanceof Fn||(u[3]=0),e=0;e<4;++e)i=u[e],t=e<2||2===e&&/%$/.test(i),u[e]=Vh(i,[n,a,h,u[2]][e])+(t?r:0);return u[3]>u[2]&&(u[3]=u[2]),qh(c)&&2*c<u[2]&&c>0&&(u[3]=u[2]-2*c),_h(this,"afterGetCenter",{positions:u}),u},t.getStartAndEndRadians=function(t,e){let i=qh(t)?t:0,s=qh(e)&&e>i&&e-i<360?e:i+360;return{start:Gh*(i+-90),end:Gh*(s+-90)}}}(f||(f={}));let Kh=f,{setAnimation:$h}=Rt,{addEvent:Zh,defined:Jh,extend:Qh,isNumber:tc,pick:ec,relativeLength:ic}=q;class sc extends Cr{getConnectorPath(t){let e=t.dataLabelPosition,i=t.options||{},s=i.connectorShape,o=this.connectorShapes[s]||s;return e&&o.call(this,{...e.computed,alignment:e.alignment},e.connectorPosition,i)||[]}getTranslate(){return this.sliced&&this.slicedTranslation||{translateX:0,translateY:0}}haloPath(t){let e=this.shapeArgs;return this.sliced||!this.visible?[]:this.series.chart.renderer.symbols.arc(e.x,e.y,e.r+t,e.r+t,{innerR:e.r-1,start:e.start,end:e.end,borderRadius:e.borderRadius})}constructor(t,e,i){super(t,e,i),this.half=0,this.name??(this.name="Slice");let s=t=>{this.slice("select"===t.type)};Zh(this,"select",s),Zh(this,"unselect",s)}isValid(){return tc(this.y)&&this.y>=0}setVisible(t,e=!0){t!==this.visible&&this.update({visible:t??!this.visible},e,void 0,!1)}slice(t,e,i){let s=this.series;$h(i,s.chart),e=ec(e,!0),this.sliced=this.options.sliced=t=Jh(t)?t:!this.sliced,s.options.data[s.data.indexOf(this)]=this.options,this.graphic&&this.graphic.animate(this.getTranslate())}}Qh(sc.prototype,{connectorShapes:{fixedOffset:function(t,e,i){let s=e.breakAt,o=e.touchingSliceAt,r=i.softConnector?["C",t.x+("left"===t.alignment?-5:5),t.y,2*s.x-o.x,2*s.y-o.y,s.x,s.y]:["L",s.x,s.y];return[["M",t.x,t.y],r,["L",o.x,o.y]]},straight:function(t,e){let i=e.touchingSliceAt;return[["M",t.x,t.y],["L",i.x,i.y]]},crookedLine:function(t,e,i){let{angle:s=this.angle||0,breakAt:o,touchingSliceAt:r}=e,{series:n}=this,[a,l,h]=n.center,c=h/2,{plotLeft:d,plotWidth:p}=n.chart,u="left"===t.alignment,{x:g,y:f}=t,m=o.x;if(i.crookDistance){let t=ic(i.crookDistance,1);m=u?a+c+(p+d-a-c)*(1-t):d+(a-c)*t}else m=a+(l-f)*Math.tan(s-Math.PI/2);let b=[["M",g,f]];return(u?m<=g&&m>=o.x:m>=g&&m<=o.x)&&b.push(["L",m,f]),b.push(["L",o.x,o.y],["L",r.x,r.y]),b}}});let{getStartAndEndRadians:oc}=Kh,{noop:rc}=w,{clamp:nc,extend:ac,fireEvent:lc,merge:hc,pick:cc}=q;class dc extends Fn{animate(t){let e=this,i=e.points,s=e.startAngleRad;t||i.forEach(function(t){let i=t.graphic,o=t.shapeArgs;i&&o&&(i.attr({r:cc(t.startR,e.center&&e.center[3]/2),start:s,end:s}),i.animate({r:o.r,start:o.start,end:o.end},e.options.animation))})}drawEmpty(){let t,e,i=this.startAngleRad,s=this.endAngleRad,o=this.options;0===this.total&&this.center?(t=this.center[0],e=this.center[1],this.graph||(this.graph=this.chart.renderer.arc(t,e,this.center[1]/2,0,i,s).addClass("highcharts-empty-series").add(this.group)),this.graph.attr({d:gi.arc(t,e,this.center[2]/2,0,{start:i,end:s,innerR:this.center[3]/2})}),this.chart.styledMode||this.graph.attr({"stroke-width":o.borderWidth,fill:o.fillColor||"none",stroke:o.color||"#cccccc"})):this.graph&&(this.graph=this.graph.destroy())}drawPoints(){let t=this.chart.renderer;this.points.forEach(function(e){e.graphic&&e.hasNewShapeType()&&(e.graphic=e.graphic.destroy()),e.graphic||(e.graphic=t[e.shapeType](e.shapeArgs).add(e.series.group),e.delayedRendering=!0)})}generatePoints(){super.generatePoints(),this.updateTotals()}getX(t,e,i,s){let o=this.center,r=this.radii?this.radii[i.index]||0:o[2]/2,n=s.dataLabelPosition,a=n?.distance||0,l=Math.asin(nc((t-o[1])/(r+a),-1,1));return o[0]+Math.cos(l)*(r+a)*(e?-1:1)+(a>0?(e?-1:1)*(s.padding||0):0)}hasData(){return!!this.dataTable.rowCount}redrawPoints(){let t,e,i,s,o=this,r=o.chart;this.drawEmpty(),o.group&&!r.styledMode&&o.group.shadow(o.options.shadow),o.points.forEach(function(n){let a={};e=n.graphic,!n.isNull&&e?(s=n.shapeArgs,t=n.getTranslate(),r.styledMode||(i=o.pointAttribs(n,n.selected&&"select")),n.delayedRendering?(e.setRadialReference(o.center).attr(s).attr(t),r.styledMode||e.attr(i).attr({"stroke-linejoin":"round"}),n.delayedRendering=!1):(e.setRadialReference(o.center),r.styledMode||hc(!0,a,i),hc(!0,a,s,t),e.animate(a)),e.attr({visibility:n.visible?"inherit":"hidden"}),e.addClass(n.getClassName(),!0)):e&&(n.graphic=e.destroy())})}sortByAngle(t,e){t.sort(function(t,i){return void 0!==t.angle&&(i.angle-t.angle)*e})}translate(t){lc(this,"translate"),this.generatePoints();let e,i,s,o,r,n,a,l=this.options,h=l.slicedOffset,c=oc(l.startAngle,l.endAngle),d=this.startAngleRad=c.start,p=(this.endAngleRad=c.end)-d,u=this.points,g=l.ignoreHiddenPoint,f=u.length,m=0;for(t||(this.center=t=this.getCenter()),n=0;n<f;n++){a=u[n],e=d+m*p,a.isValid()&&(!g||a.visible)&&(m+=a.percentage/100),i=d+m*p;let l={x:t[0],y:t[1],r:t[2]/2,innerR:t[3]/2,start:Math.round(1e3*e)/1e3,end:Math.round(1e3*i)/1e3};a.shapeType="arc",a.shapeArgs=l,(s=(i+e)/2)>1.5*Math.PI?s-=2*Math.PI:s<-Math.PI/2&&(s+=2*Math.PI),a.slicedTranslation={translateX:Math.round(Math.cos(s)*h),translateY:Math.round(Math.sin(s)*h)},o=Math.cos(s)*t[2]/2,r=Math.sin(s)*t[2]/2,a.tooltipPos=[t[0]+.7*o,t[1]+.7*r],a.half=s<-Math.PI/2||s>Math.PI/2?1:0,a.angle=s}lc(this,"afterTranslate")}updateTotals(){let t,e,i=this.points,s=i.length,o=this.options.ignoreHiddenPoint,r=0;for(t=0;t<s;t++)(e=i[t]).isValid()&&(!o||e.visible)&&(r+=e.y);for(t=0,this.total=r;t<s;t++)(e=i[t]).percentage=r>0&&(e.visible||!o)?e.y/r*100:0,e.total=r}}dc.defaultOptions=hc(Fn.defaultOptions,{borderRadius:3,center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{connectorPadding:5,connectorShape:"crookedLine",crookDistance:void 0,distance:30,enabled:!0,formatter:function(){return this.isNull?void 0:this.name},softConnector:!0,x:0},fillColor:void 0,ignoreHiddenPoint:!0,inactiveOtherPoints:!0,legendType:"point",marker:null,size:null,showInLegend:!1,slicedOffset:10,stickyTracking:!1,tooltip:{followPointer:!0},borderColor:"#ffffff",borderWidth:1,lineWidth:void 0,states:{hover:{brightness:.1}}}),ac(dc.prototype,{axisTypes:[],directTouch:!0,drawGraph:void 0,drawTracker:gh.prototype.drawTracker,getCenter:Kh.getCenter,getSymbol:rc,invertible:!1,isCartesian:!1,noSharedTooltip:!0,pointAttribs:gh.prototype.pointAttribs,pointClass:sc,requireSorting:!1,searchPoint:rc,trackerGroups:["group","dataLabelsGroup"]}),rn.registerSeriesType("pie",dc);let{composed:pc,noop:uc}=w,{distribute:gc}=ye,{series:fc}=rn,{arrayMax:mc,clamp:bc,defined:xc,pick:yc,pushUnique:vc,relativeLength:wc}=q;!function(t){let e={radialDistributionY:function(t,e){return(e.dataLabelPosition?.top||0)+t.distributeBox.pos},radialDistributionX:function(t,e,i,s,o){let r=o.dataLabelPosition;return t.getX(i<(r?.top||0)+2||i>(r?.bottom||0)-2?s:i,e.half,e,o)},justify:function(t,e,i,s){return s[0]+(t.half?-1:1)*(i+(e.dataLabelPosition?.distance||0))},alignToPlotEdges:function(t,e,i,s){let o=t.getBBox().width;return e?o+s:i-o-s},alignToConnectors:function(t,e,i,s){let o,r=0;return t.forEach(function(t){(o=t.dataLabel.getBBox().width)>r&&(r=o)}),e?r+s:i-r-s}};function i(t,e){let i=Math.PI/2,{start:s=0,end:o=0}=t.shapeArgs||{},r=t.angle||0;e>0&&s<i&&o>i&&r>i/2&&r<1.5*i&&(r=r<=i?Math.max(i/2,(s+i)/2):Math.min(1.5*i,(i+o)/2));let{center:n,options:a}=this,l=n[2]/2,h=Math.cos(r),c=Math.sin(r),d=n[0]+h*l,p=n[1]+c*l,u=Math.min((a.slicedOffset||0)+(a.borderWidth||0),e/5);return{natural:{x:d+h*e,y:p+c*e},computed:{},alignment:e<0?"center":t.half?"right":"left",connectorPosition:{angle:r,breakAt:{x:d+h*u,y:p+c*u},touchingSliceAt:{x:d,y:p}},distance:e}}function s(){let t,e,i,s=this,o=s.points,r=s.chart,n=r.plotWidth,a=r.plotHeight,l=r.plotLeft,h=Math.round(r.chartWidth/3),c=s.center,d=c[2]/2,p=c[1],u=[[],[]],g=[0,0,0,0],f=s.dataLabelPositioners,m=0;s.visible&&s.hasDataLabels?.()&&(o.forEach(t=>{(t.dataLabels||[]).forEach(t=>{t.shortened&&(t.attr({width:"auto"}).css({width:"auto",textOverflow:"clip"}),t.shortened=!1)})}),fc.prototype.drawDataLabels.apply(s),o.forEach(t=>{(t.dataLabels||[]).forEach((e,i)=>{let s=c[2]/2,o=e.options,r=wc(o?.distance||0,s);0===i&&u[t.half].push(t),!xc(o?.style?.width)&&e.getBBox().width>h&&(e.css({width:Math.round(.7*h)+"px"}),e.shortened=!0),e.dataLabelPosition=this.getDataLabelPosition(t,r),m=Math.max(m,r)})}),u.forEach((t,o)=>{let h,u,b,x=t.length,y=[],v=0;x&&(s.sortByAngle(t,o-.5),m>0&&(h=Math.max(0,p-d-m),u=Math.min(p+d+m,r.plotHeight),t.forEach(t=>{(t.dataLabels||[]).forEach(e=>{let i=e.dataLabelPosition;i&&i.distance>0&&(i.top=Math.max(0,p-d-i.distance),i.bottom=Math.min(p+d+i.distance,r.plotHeight),v=e.getBBox().height||21,e.lineHeight=r.renderer.fontMetrics(e.text||e).h+2*e.padding,t.distributeBox={target:(e.dataLabelPosition?.natural.y||0)-i.top+e.lineHeight/2,size:v,rank:t.y},y.push(t.distributeBox))})}),gc(y,b=u+v-h,b/5)),t.forEach(r=>{(r.dataLabels||[]).forEach(h=>{let p=h.options||{},u=r.distributeBox,m=h.dataLabelPosition,b=m?.natural.y||0,x=p.connectorPadding||0,v=h.lineHeight||21,w=(v-h.getBBox().height)/2,k=0,A=b,M="inherit";if(m){if(y&&xc(u)&&m.distance>0&&(void 0===u.pos?M="hidden":(i=u.size,A=f.radialDistributionY(r,h))),p.justify)k=f.justify(r,h,d,c);else switch(p.alignTo){case"connectors":k=f.alignToConnectors(t,o,n,l);break;case"plotEdges":k=f.alignToPlotEdges(h,o,n,l);break;default:k=f.radialDistributionX(s,r,A-w,b,h)}if(m.attribs={visibility:M,align:m.alignment},m.posAttribs={x:k+(p.x||0)+({left:x,right:-x}[m.alignment]||0),y:A+(p.y||0)-v/2},m.computed.x=k,m.computed.y=A-w,yc(p.crop,!0)){let t;k-(e=h.getBBox().width)<x&&1===o?(t=Math.round(e-k+x),g[3]=Math.max(t,g[3])):k+e>n-x&&0===o&&(t=Math.round(k+e-n+x),g[1]=Math.max(t,g[1])),A-i/2<0?g[0]=Math.max(Math.round(i/2-A),g[0]):A+i/2>a&&(g[2]=Math.max(Math.round(A+i/2-a),g[2])),m.sideOverflow=t}}})}))}),(0===mc(g)||this.verifyDataLabelOverflow(g))&&(this.placeDataLabels(),this.points.forEach(e=>{(e.dataLabels||[]).forEach(i=>{let{connectorColor:o,connectorWidth:n=1}=i.options||{},a=i.dataLabelPosition;if(n){let l;t=i.connector,a&&a.distance>0?(l=!t,t||(i.connector=t=r.renderer.path().addClass("highcharts-data-label-connector highcharts-color-"+e.colorIndex+(e.className?" "+e.className:"")).add(s.dataLabelsGroup)),r.styledMode||t.attr({"stroke-width":n,stroke:o||e.color||"#666666"}),t[l?"attr":"animate"]({d:e.getConnectorPath(i)}),t.attr({visibility:a.attribs?.visibility})):t&&(i.connector=t.destroy())}})})))}function o(){this.points.forEach(t=>{(t.dataLabels||[]).forEach(t=>{let e=t.dataLabelPosition;e?(e.sideOverflow&&(t.css({width:Math.max(t.getBBox().width-e.sideOverflow,0)+"px",textOverflow:(t.options?.style||{}).textOverflow||"ellipsis"}),t.shortened=!0),t.attr(e.attribs),t[t.moved?"animate":"attr"](e.posAttribs),t.moved=!0):t&&t.attr({y:-9999})}),delete t.distributeBox},this)}function r(t){let e=this.center,i=this.options,s=i.center,o=i.minSize||80,r=o,n=null!==i.size;return!n&&(null!==s[0]?r=Math.max(e[2]-Math.max(t[1],t[3]),o):(r=Math.max(e[2]-t[1]-t[3],o),e[0]+=(t[3]-t[1])/2),null!==s[1]?r=bc(r,o,e[2]-Math.max(t[0],t[2])):(r=bc(r,o,e[2]-t[0]-t[2]),e[1]+=(t[0]-t[2])/2),r<e[2]?(e[2]=r,e[3]=Math.min(i.thickness?Math.max(0,r-2*i.thickness):Math.max(0,wc(i.innerSize||0,r)),r),this.translate(e),this.drawDataLabels&&this.drawDataLabels()):n=!0),n}t.compose=function(t){if(Th.compose(fc),vc(pc,"PieDataLabel")){let n=t.prototype;n.dataLabelPositioners=e,n.alignDataLabel=uc,n.drawDataLabels=s,n.getDataLabelPosition=i,n.placeDataLabels=o,n.verifyDataLabelOverflow=r}}}(m||(m={}));let kc=m;!function(t){t.getCenterOfPoints=function(t){let e=t.reduce((t,e)=>(t.x+=e.x,t.y+=e.y,t),{x:0,y:0});return{x:e.x/t.length,y:e.y/t.length}},t.getDistanceBetweenPoints=function(t,e){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))},t.getAngleBetweenPoints=function(t,e){return Math.atan2(e.x-t.x,e.y-t.y)},t.pointInPolygon=function({x:t,y:e},i){let s,o,r=i.length,n=!1;for(s=0,o=r-1;s<r;o=s++){let[r,a]=i[s],[l,h]=i[o];a>e!=h>e&&t<(l-r)*(e-a)/(h-a)+r&&(n=!n)}return n}}(b||(b={}));let{pointInPolygon:Ac}=b,{addEvent:Mc,fireEvent:Cc,objectEach:Pc,pick:Sc}=q;function Tc(t){let e,i,s,o,r,n=t.length,a=(t,e)=>!(e.x>=t.x+t.width||e.x+e.width<=t.x||e.y>=t.y+t.height||e.y+e.height<=t.y),l=(t,e)=>{for(let i of t)if(Ac({x:i[0],y:i[1]},e))return!0;return!1},h=!1;for(let i=0;i<n;i++)(e=t[i])&&(e.oldOpacity=e.opacity,e.newOpacity=1,e.absoluteBox=function(t){if(t&&(!t.alignAttr||t.placed)){let e=t.box?0:t.padding||0,i=t.alignAttr||{x:t.attr("x"),y:t.attr("y")},s=t.getBBox();return t.width=s.width,t.height=s.height,{x:i.x+(t.parentGroup?.translateX||0)+e,y:i.y+(t.parentGroup?.translateY||0)+e,width:(t.width||0)-2*e,height:(t.height||0)-2*e,polygon:s?.polygon}}}(e));t.sort((t,e)=>(e.labelrank||0)-(t.labelrank||0));for(let e=0;e<n;++e){o=(i=t[e])&&i.absoluteBox;let h=o?.polygon;for(let c=e+1;c<n;++c){r=(s=t[c])&&s.absoluteBox;let e=!1;if(o&&r&&i!==s&&0!==i.newOpacity&&0!==s.newOpacity&&"hidden"!==i.visibility&&"hidden"!==s.visibility){let t=r.polygon;if(h&&t&&h!==t?l(h,t)&&(e=!0):a(o,r)&&(e=!0),e){let t=i.labelrank<s.labelrank?i:s,e=t.text;t.newOpacity=0,e?.element.querySelector("textPath")&&e.hide()}}}}for(let e of t)Ec(e,this)&&(h=!0);h&&Cc(this,"afterHideAllOverlappingLabels")}function Ec(t,e){let i,s,o=!1;return t&&(s=t.newOpacity,t.oldOpacity!==s&&(t.hasClass("highcharts-data-label")?(t[s?"removeClass":"addClass"]("highcharts-data-label-hidden"),i=function(){e.styledMode||t.css({pointerEvents:s?"auto":"none"})},o=!0,t[t.isOld?"animate":"attr"]({opacity:s},void 0,i),Cc(e,"afterHideOverlappingLabel")):t.attr({opacity:s})),t.isOld=!0),o}function Lc(){let t=this,e=[];for(let i of t.labelCollectors||[])e=e.concat(i());for(let i of t.yAxis||[])i.stacking&&i.options.stackLabels&&!i.options.stackLabels.allowOverlap&&Pc(i.stacking.stacks,t=>{Pc(t,t=>{t.label&&e.push(t.label)})});for(let i of t.series||[])if(i.visible&&i.hasDataLabels?.()){let s=i=>{for(let s of i)s.visible&&(s.dataLabels||[]).forEach(i=>{let o=i.options||{};i.labelrank=Sc(o.labelrank,s.labelrank,s.shapeArgs?.height),o.allowOverlap??Number(o.distance)>0?(i.oldOpacity=i.opacity,i.newOpacity=1,Ec(i,t)):e.push(i)})};s(i.nodes||[]),s(i.points)}this.hideOverlappingLabels(e)}let Oc={compose:function(t){let e=t.prototype;e.hideOverlappingLabels||(e.hideOverlappingLabels=Tc,Mc(t,"render",Lc))}},{defaultOptions:Dc}=ft,{noop:Ic}=w,{addEvent:Nc,extend:Bc,isObject:Rc,merge:zc,relativeLength:Fc}=q,Hc={radius:0,scope:"stack",where:void 0},Xc=Ic,Wc=Ic;function Yc(t,e,i,s,o={}){let r=Xc(t,e,i,s,o),{innerR:n=0,r:a=i,start:l=0,end:h=0}=o;if(o.open||!o.borderRadius)return r;let c=h-l,d=Math.sin(c/2),p=Math.max(Math.min(Fc(o.borderRadius||0,a-n),(a-n)/2,a*d/(1+d)),0),u=Math.min(p,c/Math.PI*2*n),g=r.length-1;for(;g--;)!function(t,e,i){let s,o,r,n=t[e],a=t[e+1];if("Z"===a[0]&&(a=t[0]),"M"!==n[0]&&"L"!==n[0]||"A"!==a[0]?"A"===n[0]&&("M"===a[0]||"L"===a[0])&&(s=a,o=n):(s=n,o=a,r=!0),s&&o&&o.params){let n=o[1],a=o[5],l=o.params,{start:h,end:c,cx:d,cy:p}=l,u=a?n-i:n+i,g=u?Math.asin(i/u):0,f=a?g:-g,m=Math.cos(g)*u;r?(l.start=h+f,s[1]=d+m*Math.cos(h),s[2]=p+m*Math.sin(h),t.splice(e+1,0,["A",i,i,0,0,1,d+n*Math.cos(l.start),p+n*Math.sin(l.start)])):(l.end=c-f,o[6]=d+n*Math.cos(l.end),o[7]=p+n*Math.sin(l.end),t.splice(e+1,0,["A",i,i,0,0,1,d+m*Math.cos(c),p+m*Math.sin(c)])),o[4]=Math.abs(l.end-l.start)<Math.PI?0:1}}(r,g,g>1?u:p);return r}function jc(){if(this.options.borderRadius&&(!this.chart.is3d||!this.chart.is3d())){let{options:t,yAxis:e}=this,i="percent"===t.stacking,s=Dc.plotOptions?.[this.type]?.borderRadius,o=Gc(t.borderRadius,Rc(s)?s:{}),r=e.options.reversed;for(let s of this.points){let{shapeArgs:n}=s;if("roundedRect"===s.shapeType&&n){let{width:a=0,height:l=0,y:h=0}=n,c=h,d=l;if("stack"===o.scope&&s.stackTotal){let o=e.translate(i?100:s.stackTotal,!1,!0,!1,!0),r=e.translate(t.threshold||0,!1,!0,!1,!0),n=this.crispCol(0,Math.min(o,r),0,Math.abs(o-r));c=n.y,d=n.height}let p=(s.negative?-1:1)*(r?-1:1)==-1,u=o.where;!u&&this.is("waterfall")&&Math.abs((s.yBottom||0)-(this.translatedThreshold||0))>this.borderWidth&&(u="all"),u||(u="end");let g=Math.min(Fc(o.radius,a),a/2,"all"===u?l/2:1/0)||0;"end"===u&&(p&&(c-=g),d+=g),Bc(n,{brBoxHeight:d,brBoxY:c,r:g})}}}}function Gc(t,e){return Rc(t)||(t={radius:t||0}),zc(Hc,e,t)}function _c(){let t=Gc(this.options.borderRadius);for(let e of this.points){let i=e.shapeArgs;i&&(i.borderRadius=Fc(t.radius,(i.r||0)-(i.innerR||0)))}}function qc(t,e,i,s,o={}){let r=Wc(t,e,i,s,o),{r:n=0,brBoxHeight:a=s,brBoxY:l=e}=o,h=e-l,c=l+a-(e+s),d=h-n>-.1?0:n,p=c-n>-.1?0:n,u=Math.max(d&&h,0),g=Math.max(p&&c,0),f=[t+d,e],m=[t+i-d,e],b=[t+i,e+d],x=[t+i,e+s-p],y=[t+i-p,e+s],v=[t+p,e+s],w=[t,e+s-p],k=[t,e+d],A=(t,e)=>Math.sqrt(Math.pow(t,2)-Math.pow(e,2));if(u){let t=A(d,d-u);f[0]-=t,m[0]+=t,b[1]=k[1]=e+d-u}if(s<d-u){let o=A(d,d-u-s);b[0]=x[0]=t+i-d+o,y[0]=Math.min(b[0],y[0]),v[0]=Math.max(x[0],v[0]),w[0]=k[0]=t+d-o,b[1]=k[1]=e+s}if(g){let t=A(p,p-g);y[0]+=t,v[0]-=t,x[1]=w[1]=e+s-p+g}if(s<p-g){let o=A(p,p-g-s);b[0]=x[0]=t+i-p+o,m[0]=Math.min(b[0],m[0]),f[0]=Math.max(x[0],f[0]),w[0]=k[0]=t+p-o,x[1]=w[1]=e}return r.length=0,r.push(["M",...f],["L",...m],["A",d,d,0,0,1,...b],["L",...x],["A",p,p,0,0,1,...y],["L",...v],["A",p,p,0,0,1,...w],["L",...k],["A",d,d,0,0,1,...f],["Z"]),r}let{diffObjects:Uc,extend:Vc,find:Kc,merge:$c,pick:Zc,uniqueKey:Jc}=q;!function(t){function e(t,e){let i=t.condition;(i.callback||function(){return this.chartWidth<=Zc(i.maxWidth,Number.MAX_VALUE)&&this.chartHeight<=Zc(i.maxHeight,Number.MAX_VALUE)&&this.chartWidth>=Zc(i.minWidth,0)&&this.chartHeight>=Zc(i.minHeight,0)}).call(this)&&e.push(t._id)}function i(t,e){let i,s=this.options.responsive,o=this.currentResponsive,r=[];!e&&s&&s.rules&&s.rules.forEach(t=>{void 0===t._id&&(t._id=Jc()),this.matchResponsiveRule(t,r)},this);let n=$c(...r.map(t=>Kc((s||{}).rules||[],e=>e._id===t)).map(t=>t&&t.chartOptions));n.isResponsiveOptions=!0,r=r.toString()||void 0;let a=o&&o.ruleIds;r===a||(o&&(this.currentResponsive=void 0,this.updatingResponsive=!0,this.update(o.undoOptions,t,!0),this.updatingResponsive=!1),r?((i=Uc(n,this.options,!0,this.collectionsWithUpdate)).isResponsiveOptions=!0,this.currentResponsive={ruleIds:r,mergedOptions:n,undoOptions:i},this.updatingResponsive||this.update(n,t,!0)):this.currentResponsive=void 0)}t.compose=function(t){let s=t.prototype;return s.matchResponsiveRule||Vc(s,{matchResponsiveRule:e,setResponsive:i}),t}}(x||(x={}));let Qc=x;w.AST=$t,w.Axis=co,w.Chart=Ua,w.Color=vt,w.DataLabel=Th,w.DataTableCore=Kr,w.Fx=Ct,w.HTMLElement=us,w.Legend=aa,w.LegendSymbol=Qr,w.OverlappingDataLabels=w.OverlappingDataLabels||Oc,w.PlotLineOrBand=Bo,w.Point=Cr,w.Pointer=Gr,w.RendererRegistry=ge,w.Series=Fn,w.SeriesRegistry=rn,w.StackItem=ul,w.SVGElement=Qe,w.SVGRenderer=ts,w.Templating=ue,w.Tick=Is,w.Time=ht,w.Tooltip=rr,w.animate=Rt.animate,w.animObject=Rt.animObject,w.chart=Ua.chart,w.color=vt.parse,w.dateFormat=ue.dateFormat,w.defaultOptions=ft.defaultOptions,w.distribute=ye.distribute,w.format=ue.format,w.getDeferredAnimation=Rt.getDeferredAnimation,w.getOptions=ft.getOptions,w.numberFormat=ue.numberFormat,w.seriesType=rn.seriesType,w.setAnimation=Rt.setAnimation,w.setOptions=ft.setOptions,w.stop=Rt.stop,w.time=ft.defaultTime,w.timers=Ct.timers,function(t,e,i){let s=t.types.pie;if(!e.symbolCustomAttribs.includes("borderRadius")){let o=i.prototype.symbols;Nc(t,"afterColumnTranslate",jc,{order:9}),Nc(s,"afterTranslate",_c),e.symbolCustomAttribs.push("borderRadius","brBoxHeight","brBoxY"),Xc=o.arc,Wc=o.roundedRect,o.arc=Yc,o.roundedRect=qc}}(w.Series,w.SVGElement,w.SVGRenderer),Nh.compose(w.Series.types.column),Th.compose(w.Series),mo.compose(w.Axis),us.compose(w.SVGRenderer),aa.compose(w.Chart),vo.compose(w.Axis),Oc.compose(w.Chart),kc.compose(w.Series.types.pie),Bo.compose(w.Chart,w.Axis),Gr.compose(w.Chart),Qc.compose(w.Chart),rl.compose(w.Axis,w.Chart,w.Series),Il.compose(w.Axis,w.Chart,w.Series),rr.compose(w.Pointer),q.extend(w,q);let td=w;return v.default})(),"object"==typeof i&&"object"==typeof e?(s._Highcharts=o(),e.exports=s._Highcharts):"function"==typeof define&&define.amd?define("highcharts/highcharts",[],o):"object"==typeof i?(s._Highcharts=o(),i.highcharts=s._Highcharts):(s.Highcharts&&s.Highcharts.error(16,!0),s.Highcharts=o())},{}],28:[function(t,e,i){var s,o;s="undefined"==typeof window?this:window,o=(t,e,i,s,o,r,n,a,l,h,c)=>(()=>{"use strict";let d;var p,u,g,f,m={660:t=>{t.exports=i},532:t=>{t.exports=o},620:t=>{t.exports=r},632:t=>{t.exports=s},260:t=>{t.exports=h},608:t=>{t.exports=a},540:t=>{t.exports=l},820:t=>{t.exports=c},512:t=>{t.exports=n},984:t=>{t.exports=e},944:e=>{e.exports=t}},b={};function x(t){var e=b[t];if(void 0!==e)return e.exports;var i=b[t]={exports:{}};return m[t](i,i.exports,x),i.exports}x.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return x.d(e,{a:e}),e},x.d=(t,e)=>{for(var i in e)x.o(e,i)&&!x.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:e[i]})},x.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);var y={};x.d(y,{default:()=>sr});var v=x(944),w=x.n(v);let{doc:k,win:A}=w(),{css:M}=w(),C=A.EventTarget&&new A.EventTarget||"none";function P(t){if("function"==typeof A.MouseEvent)return new A.MouseEvent(t.type,t);if(k.createEvent){let e=k.createEvent("MouseEvent");if(e.initMouseEvent)return e.initMouseEvent(t.type,t.bubbles,t.cancelable,t.view||A,t.detail,t.screenX,t.screenY,t.clientX,t.clientY,t.ctrlKey,t.altKey,t.shiftKey,t.metaKey,t.button,t.relatedTarget),e}return S(t.type)}function S(t,e,i){let s=e||{x:0,y:0};if("function"==typeof A.MouseEvent)return new A.MouseEvent(t,{bubbles:!0,cancelable:!0,composed:!0,button:0,buttons:1,relatedTarget:i||C,view:A,detail:"click"===t?1:0,screenX:s.x,screenY:s.y,clientX:s.x,clientY:s.y});if(k.createEvent){let e=k.createEvent("MouseEvent");if(e.initMouseEvent)return e.initMouseEvent(t,!0,!0,A,"click"===t?1:0,s.x,s.y,s.x,s.y,!1,!1,!1,!1,0,null),e}return{type:t}}let T={addClass:function(t,e){t.classList?t.classList.add(e):0>t.className.indexOf(e)&&(t.className+=" "+e)},cloneMouseEvent:P,cloneTouchEvent:function(t){let e=t=>{let e=[];for(let i=0;i<t.length;++i){let s=t.item(i);s&&e.push(s)}return e};if("function"==typeof A.TouchEvent){let i=new A.TouchEvent(t.type,{touches:e(t.touches),targetTouches:e(t.targetTouches),changedTouches:e(t.changedTouches),ctrlKey:t.ctrlKey,shiftKey:t.shiftKey,altKey:t.altKey,metaKey:t.metaKey,bubbles:t.bubbles,cancelable:t.cancelable,composed:t.composed,detail:t.detail,view:t.view});return t.defaultPrevented&&i.preventDefault(),i}let i=P(t);return i.touches=t.touches,i.changedTouches=t.changedTouches,i.targetTouches=t.targetTouches,i},escapeStringForHTML:function(t){return t.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/")},getElement:function(t){return k.getElementById(t)},getFakeMouseEvent:S,getHeadingTagNameForElement:function(t){let e=t=>"h"+Math.min(6,parseInt(t.slice(1),10)+1),i=t=>/^H[1-6]$/i.test(t),s=t=>{let o=(t=>{let e=t;for(;e=e.previousSibling;){let t=e.tagName||"";if(i(t))return t}return""})(t);if(o)return e(o);let r=t.parentElement;if(!r)return"h6";let n=r.tagName;return i(n)?e(n):s(r)};return s(t)},removeChildNodes:function(t){for(;t.lastChild;)t.removeChild(t.lastChild)},removeClass:function(t,e){t.classList?t.classList.remove(e):t.className=t.className.replace(RegExp(e,"g"),"")},removeElement:function(t){t&&t.parentNode&&t.parentNode.removeChild(t)},reverseChildNodes:function(t){let e=t.childNodes.length;for(;e--;)t.appendChild(t.childNodes[e])},simulatedEventTarget:C,stripHTMLTagsFromString:function(t,e=!1){return"string"==typeof t?e?t.replace(/<\/?[^>]+(>|$)/g,""):t.replace(/<\/?(?!\s)[^>]+(>|$)/g,""):t},visuallyHideElement:function(t){M(t,{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})}};var E=x(984),L=x.n(E);let{format:O}=L(),{getNestedProperty:D,pick:I}=w();!function(t){function e(t,e,i){let s,o,r=(t,e)=>{let i=t.slice(e||0),s=i.indexOf("{"),o=i.indexOf("}");if(s>-1&&o>s)return{statement:i.substring(s+1,o),begin:e+s+1,end:e+o}},n=[],a=0;do{s=r(t,a),(o=t.substring(a,s&&s.begin-1)).length&&n.push({value:o,type:"constant"}),s&&n.push({value:s.statement,type:"statement"}),a=s?s.end+1:a+1}while(s);return n.forEach(t=>{"statement"===t.type&&(t.value=function(t,e){let i,s,o=t.indexOf("#each("),r=t.indexOf("#plural("),n=t.indexOf("["),a=t.indexOf("]");if(o>-1){let r,n=t.slice(o).indexOf(")")+o,a=t.substring(0,o),l=t.substring(n+1),h=t.substring(o+6,n).split(","),c=Number(h[1]);if(s="",i=D(h[0],e)){r=(c=isNaN(c)?i.length:c)<0?i.length+c:Math.min(c,i.length);for(let t=0;t<r;++t)s+=a+i[t]+l}return s.length?s:""}if(r>-1){var l;let i=t.slice(r).indexOf(")")+r,o=t.substring(r+8,i).split(",");switch(Number(D(o[0],e))){case 0:s=I(o[4],o[1]);break;case 1:s=I(o[2],o[1]);break;case 2:s=I(o[3],o[1]);break;default:s=o[1]}return s?(l=s).trim&&l.trim()||l.replace(/^\s+|\s+$/g,""):""}if(n>-1){let s,o=t.substring(0,n),r=Number(t.substring(n+1,a));return i=D(o,e),!isNaN(r)&&i&&(r<0?void 0===(s=i[i.length+r])&&(s=i[0]):void 0===(s=i[r])&&(s=i[i.length-1])),void 0!==s?s:""}return"{"+t+"}"}(t.value,e))}),O(n.reduce((t,e)=>t+e.value,""),e,i)}function i(t,i){let s=t.split("."),o=this.options.lang,r=0;for(;r<s.length;++r)o=o&&o[s[r]];return"string"==typeof o?e(o,i,this):""}t.compose=function(t){let e=t.prototype;e.langFormat||(e.langFormat=i)},t.i18nFormat=e}(p||(p={}));let N=p,{doc:B}=w(),{stripHTMLTagsFromString:R}=T,{defined:z,find:F,fireEvent:H}=w();function X(t){if(t.points&&t.points.length){let e=F(t.points,t=>!!t.graphic);return e&&e.graphic&&e.graphic.element}}function W(t){let e=X(t);return e&&e.parentNode||t.graph&&t.graph.element||t.group&&t.group.element}let Y={fireEventOnWrappedOrUnwrappedElement:function t(e,i){let s=i.type,o=e.hcEvents;B.createEvent&&(e.dispatchEvent||e.fireEvent)?e.dispatchEvent?e.dispatchEvent(i):e.fireEvent(s,i):o&&o[s]?H(e,s,i):e.element&&t(e.element,i)},getChartTitle:function(t){return R(t.options.title.text||t.langFormat("accessibility.defaultChartTitle",{chart:t}),t.renderer.forExport)},getAxisDescription:function(t){return t&&(t.options.accessibility?.description||t.axisTitle?.textStr||t.options.id||t.categories&&"categories"||t.dateTime&&"Time"||"values")},getAxisRangeDescription:function(t){let e=t.options||{};return e.accessibility&&void 0!==e.accessibility.rangeDescription?e.accessibility.rangeDescription:t.categories?function(t){let e=t.chart;return t.dataMax&&t.dataMin?e.langFormat("accessibility.axis.rangeCategories",{chart:e,axis:t,numCategories:t.dataMax-t.dataMin+1}):""}(t):!t.dateTime||0!==t.min&&0!==t.dataMin?function(t){let e=t.chart,i=e.options,s=i&&i.accessibility&&i.accessibility.screenReaderSection.axisRangeDateFormat||"",o={min:t.dataMin||t.min||0,max:t.dataMax||t.max||0},r=function(i){return t.dateTime?e.time.dateFormat(s,o[i]):o[i].toString()};return e.langFormat("accessibility.axis.rangeFromTo",{chart:e,axis:t,rangeFrom:r("min"),rangeTo:r("max")})}(t):function(t){let e=t.chart,i={},s=t.dataMin||t.min||0,o=t.dataMax||t.max||0,r="Seconds";i.Seconds=(o-s)/1e3,i.Minutes=i.Seconds/60,i.Hours=i.Minutes/60,i.Days=i.Hours/24,["Minutes","Hours","Days"].forEach(function(t){i[t]>2&&(r=t)});let n=i[r].toFixed("Seconds"!==r&&"Minutes"!==r?1:0);return e.langFormat("accessibility.axis.timeRange"+r,{chart:e,axis:t,range:n.replace(".0","")})}(t)},getPointFromXY:function(t,e,i){let s,o=t.length;for(;o--;)if(s=F(t[o].points||[],function(t){return t.x===e&&t.y===i}))return s},getSeriesFirstPointElement:X,getSeriesFromName:function(t,e){return e?(t.series||[]).filter(function(t){return t.name===e}):t.series},getSeriesA11yElement:W,unhideChartElementFromAT:function t(e,i){i.setAttribute("aria-hidden",!1),i!==e.renderTo&&i.parentNode&&i.parentNode!==B.body&&(Array.prototype.forEach.call(i.parentNode.childNodes,function(t){t.hasAttribute("aria-hidden")||t.setAttribute("aria-hidden",!0)}),t(e,i.parentNode))},hideSeriesFromAT:function(t){let e=W(t);e&&e.setAttribute("aria-hidden",!0)},scrollAxisToPoint:function(t){let e=t.series.xAxis,i=t.series.yAxis,s=e&&e.scrollbar?e:i,o=s&&s.scrollbar;if(o&&z(o.to)&&z(o.from)){let e=o.to-o.from,i=function(t,e){if(!z(t.dataMin)||!z(t.dataMax))return 0;let i=t.toPixels(t.dataMin),s=t.toPixels(t.dataMax),o="xAxis"===t.coll?"x":"y";return(t.toPixels(e[o]||0)-i)/(s-i)}(s,t);o.updatePosition(i-e/2,i+e/2),H(o,"changed",{from:o.from,to:o.to,trigger:"scrollbar",DOMEvent:null})}}},{doc:j}=w(),{removeElement:G}=T,_=class{constructor(){this.elements=[]}createElement(){let t=j.createElement.apply(j,arguments);return this.elements.push(t),t}removeElement(t){G(t),this.elements.splice(this.elements.indexOf(t),1)}destroyCreatedElements(){this.elements.forEach(function(t){G(t)}),this.elements=[]}},{addEvent:q}=w(),U=class{constructor(){this.eventRemovers=[]}addEvent(){let t=q.apply(w(),arguments);return this.eventRemovers.push({element:arguments[0],remover:t}),t}removeEvent(t){let e=this.eventRemovers.map(t=>t.remover).indexOf(t);this.eventRemovers[e].remover(),this.eventRemovers.splice(e,1)}removeAddedEvents(){this.eventRemovers.map(t=>t.remover).forEach(t=>t()),this.eventRemovers=[]}},{fireEventOnWrappedOrUnwrappedElement:V}=Y,{getFakeMouseEvent:K}=T,$=class{destroy(){}getKeyboardNavigation(){return[]}init(){}onChartRender(){}onChartUpdate(){}initBase(t,e){this.chart=t,this.eventProvider=new U,this.domElementProvider=new _,this.proxyProvider=e,this.keyCodes={left:37,right:39,up:38,down:40,enter:13,space:32,esc:27,tab:9,pageUp:33,pageDown:34,end:35,home:36}}addEvent(t,e,i,s){return this.eventProvider.addEvent(t,e,i,s)}createElement(t,e){return this.domElementProvider.createElement(t,e)}fakeClickEvent(t){V(t,K("click"))}destroyBase(){this.domElementProvider.destroyCreatedElements(),this.eventProvider.removeAddedEvents()}},{find:Z}=w(),J=class{constructor(t,e){this.chart=t,this.keyCodeMap=e.keyCodeMap||[],this.validate=e.validate,this.init=e.init,this.terminate=e.terminate,this.response={success:1,prev:2,next:3,noHandler:4,fail:5}}run(t){let e=t.which||t.keyCode,i=this.response.noHandler,s=Z(this.keyCodeMap,function(t){return t[0].indexOf(e)>-1});return s?i=s[1].call(this,e,t):9===e&&(i=this.response[t.shiftKey?"prev":"next"]),i}},{unhideChartElementFromAT:Q,getChartTitle:tt}=Y,{doc:et}=w(),{stripHTMLTagsFromString:it}=T,st=class extends ${onChartUpdate(){this.handleSVGTitleElement(),this.setSVGContainerLabel(),this.setGraphicContainerAttrs(),this.setRenderToAttrs(),this.makeCreditsAccessible()}handleSVGTitleElement(){let t=this.chart,e="highcharts-title-"+t.index,i=it(t.langFormat("accessibility.svgContainerTitle",{chartTitle:tt(t)}));if(i.length){let s=this.svgTitleElement=this.svgTitleElement||et.createElementNS("http://www.w3.org/2000/svg","title");s.textContent=i,s.id=e,t.renderTo.insertBefore(s,t.renderTo.firstChild)}}setSVGContainerLabel(){let t=this.chart,e=t.langFormat("accessibility.svgContainerLabel",{chartTitle:tt(t)});t.renderer.box&&e.length&&t.renderer.box.setAttribute("aria-label",e)}setGraphicContainerAttrs(){let t=this.chart,e=t.langFormat("accessibility.graphicContainerLabel",{chartTitle:tt(t)});e.length&&t.container.setAttribute("aria-label",e)}setRenderToAttrs(){let t=this.chart,e="disabled"!==t.options.accessibility.landmarkVerbosity,i=t.langFormat("accessibility.chartContainerLabel",{title:tt(t),chart:t});i&&(t.renderTo.setAttribute("role",e?"region":"group"),t.renderTo.setAttribute("aria-label",i))}makeCreditsAccessible(){let t=this.chart,e=t.credits;e&&(e.textStr&&e.element.setAttribute("aria-label",t.langFormat("accessibility.credits",{creditsStr:it(e.textStr,t.renderer.forExport)})),Q(t,e.element))}getKeyboardNavigation(){let t=this.chart;return new J(t,{keyCodeMap:[],validate:function(){return!0},init:function(){let e=t.accessibility;e&&e.keyboardNavigation.tabindexContainer.focus()}})}destroy(){this.chart.renderTo.setAttribute("aria-hidden",!0)}},{addEvent:ot,pick:rt}=w();!function(t){let e=["x","y","transform","width","height","r","d","stroke-width"];function i(){let t=this.focusElement,e=this.options.accessibility.keyboardNavigation.focusBorder;t&&(t.removeFocusBorder(),e.enabled&&t.addFocusBorder(e.margin,{stroke:e.style.color,strokeWidth:e.style.lineWidth,r:e.style.borderRadius}))}function s(t,e){let i=this.options.accessibility.keyboardNavigation.focusBorder,s=e||t.element;s&&s.focus&&(s.hcEvents&&s.hcEvents.focusin||ot(s,"focusin",function(){}),s.focus(),i.hideBrowserFocusOutline&&(s.style.outline="none")),this.focusElement&&this.focusElement.removeFocusBorder(),this.focusElement=t,this.renderFocusBorder()}function o(t,i){this.focusBorder&&this.removeFocusBorder();let s=this.getBBox(),o=rt(t,3),r=this.parentGroup,n=this.scaleX||r&&r.scaleX,a=this.scaleY||r&&r.scaleY,l=(n?!a:a)?Math.abs(n||a||1):(Math.abs(n||1)+Math.abs(a||1))/2,h=this.renderer.fontMetrics(this).h;s.x+=this.translateX?this.translateX:0,s.y+=this.translateY?this.translateY:0;let c=s.x-o,d=s.y-o,p=s.width+2*o,u=s.height+2*o,g=!!this.text;if("text"===this.element.nodeName||g){let t,e,i=!!this.rotation,r=g?{x:i?1:0,y:0}:(t=0,e=0,"middle"===this.attr("text-anchor")?t=e=.5:this.rotation?t=.25:e=.75,{x:t,y:e}),n=+this.attr("x"),a=+this.attr("y");if(isNaN(n)||(c=n-s.width*r.x-o),isNaN(a)||(d=a-("start"===this.attr("text-anchor")?h:s.height)*r.y-o),g&&i){let t=p;p=u,u=t,isNaN(n)||(c=n-s.height*r.x-o),isNaN(a)||(d=a-s.width*r.y-o)}}this.focusBorder=this.renderer.rect(c,d,p,u,parseInt((i&&i.r||0).toString(),10)/l).addClass("highcharts-focus-border").attr({zIndex:99}).add(r),this.renderer.styledMode||this.focusBorder.attr({stroke:i&&i.stroke,"stroke-width":(i&&i.strokeWidth||0)/l}),function(t,...i){t.focusBorderUpdateHooks||(t.focusBorderUpdateHooks={},e.forEach(e=>{let s=e+"Setter",o=t[s]||t._defaultSetter;t.focusBorderUpdateHooks[s]=o,t[s]=function(){let e=o.apply(t,arguments);return t.addFocusBorder.apply(t,i),e}}))}(this,t,i),function(t){if(t.focusBorderDestroyHook)return;let e=t.destroy;t.destroy=function(){return t.focusBorder&&t.focusBorder.destroy&&t.focusBorder.destroy(),e.apply(t,arguments)},t.focusBorderDestroyHook=e}(this)}function r(){var t;(t=this).focusBorderUpdateHooks&&(Object.keys(t.focusBorderUpdateHooks).forEach(e=>{let i=t.focusBorderUpdateHooks[e];i===t._defaultSetter?delete t[e]:t[e]=i}),delete t.focusBorderUpdateHooks),this.focusBorderDestroyHook&&(this.destroy=this.focusBorderDestroyHook,delete this.focusBorderDestroyHook),this.focusBorder&&(this.focusBorder.destroy(),delete this.focusBorder)}t.compose=function(t,e){let n=t.prototype,a=e.prototype;n.renderFocusBorder||(n.renderFocusBorder=i,n.setFocusToElement=s),a.addFocusBorder||(a.addFocusBorder=o,a.removeFocusBorder=r)}}(u||(u={}));let nt=u;var at=x(660),lt=x.n(at);let{doc:ht}=w(),{addClass:ct,visuallyHideElement:dt}=T,{attr:pt}=w(),ut=class{constructor(t,e){this.chart=t,this.domElementProvider=new _,this.announceRegion=this.addAnnounceRegion(e)}destroy(){this.domElementProvider.destroyCreatedElements()}announce(t){lt().setElementHTML(this.announceRegion,t),this.clearAnnouncementRegionTimer&&clearTimeout(this.clearAnnouncementRegionTimer),this.clearAnnouncementRegionTimer=setTimeout(()=>{this.announceRegion.innerHTML=lt().emptyHTML,delete this.clearAnnouncementRegionTimer},3e3)}addAnnounceRegion(t){let e=this.chart.announcerContainer||this.createAnnouncerContainer(),i=this.domElementProvider.createElement("div");return pt(i,{"aria-hidden":!1,"aria-live":t,"aria-atomic":!0}),this.chart.styledMode?ct(i,"highcharts-visually-hidden"):dt(i),e.appendChild(i),i}createAnnouncerContainer(){let t=this.chart,e=ht.createElement("div");return pt(e,{"aria-hidden":!1,class:"highcharts-announcer-container"}),e.style.position="relative",t.renderTo.insertBefore(e,t.renderTo.firstChild),t.announcerContainer=e,e}},{escapeStringForHTML:gt,stripHTMLTagsFromString:ft}=T;function mt(t){return(t.annotations||[]).reduce((t,e)=>(e.options&&!1!==e.options.visible&&(t=t.concat(e.labels)),t),[])}function bt(t){return t.options&&t.options.accessibility&&t.options.accessibility.description||t.graphic&&t.graphic.text&&t.graphic.text.textStr||""}function xt(t){let e=t.options&&t.options.accessibility&&t.options.accessibility.description;if(e)return e;let i=t.chart,s=bt(t),o=t.points,r=o.filter(t=>!!t.graphic).map(t=>{let e=t.accessibility&&t.accessibility.valueDescription||(t=>t.graphic&&t.graphic.element&&t.graphic.element.getAttribute("aria-label")||"")(t),i=t&&t.series.name||"";return(i?i+", ":"")+"data point "+e}).filter(t=>!!t),n=r.length,a=n>1?"MultiplePoints":n?"SinglePoint":"NoPoints",l={annotationText:s,annotation:t,numPoints:n,annotationPoint:r[0],additionalAnnotationPoints:r.slice(1)};return i.langFormat("accessibility.screenReaderSection.annotations.description"+a,l)}function yt(t){return mt(t).map(e=>{let i=gt(ft(xt(e),t.renderer.forExport));return i?`<li>${i}</li>`:""})}let vt={getAnnotationsInfoHTML:function(t){let e=t.annotations;return e&&e.length?`<ul style="list-style-type: none">${yt(t).join(" ")}</ul>`:""},getAnnotationLabelDescription:xt,getAnnotationListItems:yt,getPointAnnotationTexts:function(t){let e=mt(t.series.chart).filter(e=>e.points.indexOf(t)>-1);return e.length?e.map(t=>`${bt(t)}`):[]}},{getAnnotationsInfoHTML:wt}=vt,{getAxisDescription:kt,getAxisRangeDescription:At,getChartTitle:Mt,unhideChartElementFromAT:Ct}=Y,{format:Pt}=L(),{doc:St}=w(),{addClass:Tt,getElement:Et,getHeadingTagNameForElement:Lt,stripHTMLTagsFromString:Ot,visuallyHideElement:Dt}=T,{attr:It,pick:Nt,replaceNested:Bt}=w();function Rt(t){return Bt(t,[/<([\w\-.:!]+)\b[^<>]*>\s*<\/\1>/g,""])}let zt=class extends ${constructor(){super(...arguments),this.screenReaderSections={}}init(){let t=this.chart,e=this;this.initRegionsDefinitions(),this.addEvent(t,"aftergetTableAST",function(t){e.onDataTableCreated(t)}),this.addEvent(t,"afterViewData",function(t){t.wasHidden&&(e.dataTableDiv=t.element,setTimeout(function(){e.focusDataTable()},300))}),this.addEvent(t,"afterHideData",function(){e.viewDataTableButton&&e.viewDataTableButton.setAttribute("aria-expanded","false")}),t.exporting&&this.addEvent(t,"afterPrint",function(){e.updateAllScreenReaderSections()}),this.announcer=new ut(t,"assertive")}initRegionsDefinitions(){let t=this,e=this.chart.options.accessibility;this.screenReaderSections={before:{element:null,buildContent:function(i){let s=e.screenReaderSection.beforeChartFormatter;return s?s(i):t.defaultBeforeChartFormatter(i)},insertIntoDOM:function(t,e){e.renderTo.insertBefore(t,e.renderTo.firstChild)},afterInserted:function(){void 0!==t.sonifyButtonId&&t.initSonifyButton(t.sonifyButtonId),void 0!==t.dataTableButtonId&&t.initDataTableButton(t.dataTableButtonId)}},after:{element:null,buildContent:function(i){let s=e.screenReaderSection.afterChartFormatter;return s?s(i):t.defaultAfterChartFormatter()},insertIntoDOM:function(t,e){e.renderTo.insertBefore(t,e.container.nextSibling)},afterInserted:function(){t.chart.accessibility&&e.keyboardNavigation.enabled&&t.chart.accessibility.keyboardNavigation.updateExitAnchor()}}}}onChartRender(){this.linkedDescriptionElement=this.getLinkedDescriptionElement(),this.setLinkedDescriptionAttrs(),this.updateAllScreenReaderSections()}updateAllScreenReaderSections(){let t=this;Object.keys(this.screenReaderSections).forEach(function(e){t.updateScreenReaderSection(e)})}getLinkedDescriptionElement(){let t=this.chart.options.accessibility.linkedDescription;if(!t)return;if("string"!=typeof t)return t;let e=Pt(t,this.chart),i=St.querySelectorAll(e);return 1===i.length?i[0]:void 0}setLinkedDescriptionAttrs(){let t=this.linkedDescriptionElement;t&&(t.setAttribute("aria-hidden","true"),Tt(t,"highcharts-linked-description"))}updateScreenReaderSection(t){let e=this.chart,i=this.screenReaderSections[t],s=i.buildContent(e),o=i.element=i.element||this.createElement("div"),r=o.firstChild||this.createElement("div");s?(this.setScreenReaderSectionAttribs(o,t),lt().setElementHTML(r,s),o.appendChild(r),i.insertIntoDOM(o,e),e.styledMode?Tt(r,"highcharts-visually-hidden"):Dt(r),Ct(e,r),i.afterInserted&&i.afterInserted()):(o.parentNode&&o.parentNode.removeChild(o),i.element=null)}setScreenReaderSectionAttribs(t,e){let i=this.chart,s=i.langFormat("accessibility.screenReaderSection."+e+"RegionLabel",{chart:i,chartTitle:Mt(i)});It(t,{id:`highcharts-screen-reader-region-${e}-${i.index}`,"aria-label":s||void 0}),t.style.position="relative",s&&t.setAttribute("role","all"===i.options.accessibility.landmarkVerbosity?"region":"group")}defaultBeforeChartFormatter(){let t=this.chart,e=t.options.accessibility.screenReaderSection.beforeChartFormat;if(!e)return"";let i=this.getAxesDescription(),s=t.sonify&&t.options.sonification&&t.options.sonification.enabled,o="highcharts-a11y-sonify-data-btn-"+t.index,r="hc-linkto-highcharts-data-table-"+t.index,n=wt(t),a=t.langFormat("accessibility.screenReaderSection.annotations.heading",{chart:t}),l={headingTagName:Lt(t.renderTo),chartTitle:Mt(t),typeDescription:this.getTypeDescriptionText(),chartSubtitle:this.getSubtitleText(),chartLongdesc:this.getLongdescText(),xAxisDescription:i.xAxis,yAxisDescription:i.yAxis,playAsSoundButton:s?this.getSonifyButtonText(o):"",viewTableButton:t.getCSV?this.getDataTableButtonText(r):"",annotationsTitle:n?a:"",annotationsList:n},h=N.i18nFormat(e,l,t);return this.dataTableButtonId=r,this.sonifyButtonId=o,Rt(h)}defaultAfterChartFormatter(){let t=this.chart,e=t.options.accessibility.screenReaderSection.afterChartFormat;if(!e)return"";let i={endOfChartMarker:this.getEndOfChartMarkerText()};return Rt(N.i18nFormat(e,i,t))}getLinkedDescription(){let t=this.linkedDescriptionElement;return Ot(t&&t.innerHTML||"",this.chart.renderer.forExport)}getLongdescText(){let t=this.chart.options,e=t.caption,i=e&&e.text,s=this.getLinkedDescription();return t.accessibility.description||s||i||""}getTypeDescriptionText(){let t=this.chart;return t.types?t.options.accessibility.typeDescription||function(t,e){let i=e[0],s=t.series&&t.series[0]||{},o=t.mapView&&t.mapView.geoMap&&t.mapView.geoMap.title,r={numSeries:t.series.length,numPoints:s.points&&s.points.length,chart:t,mapTitle:o};return i?"map"===i||"tiledwebmap"===i?r.mapTitle?t.langFormat("accessibility.chartTypes.mapTypeDescription",r):t.langFormat("accessibility.chartTypes.unknownMap",r):t.types.length>1?t.langFormat("accessibility.chartTypes.combinationChart",r):function(t,e,i){let s=e[0],o=t.langFormat("accessibility.seriesTypeDescriptions."+s,i),r=t.series&&t.series.length<2?"Single":"Multiple";return(t.langFormat("accessibility.chartTypes."+s+r,i)||t.langFormat("accessibility.chartTypes.default"+r,i))+(o?" "+o:"")}(t,e,r):t.langFormat("accessibility.chartTypes.emptyChart",r)}(t,t.types):""}getDataTableButtonText(t){let e=this.chart;return'<button id="'+t+'">'+e.langFormat("accessibility.table.viewAsDataTableButtonText",{chart:e,chartTitle:Mt(e)})+"</button>"}getSonifyButtonText(t){let e=this.chart;return e.options.sonification&&!1===e.options.sonification.enabled?"":'<button id="'+t+'">'+e.langFormat("accessibility.sonification.playAsSoundButtonText",{chart:e,chartTitle:Mt(e)})+"</button>"}getSubtitleText(){let t=this.chart.options.subtitle;return Ot(t&&t.text||"",this.chart.renderer.forExport)}getEndOfChartMarkerText(){let t=Et(`highcharts-end-of-chart-marker-${this.chart.index}`);if(t)return t.outerHTML;let e=this.chart,i=e.langFormat("accessibility.screenReaderSection.endOfChartMarker",{chart:e});return'<div id="highcharts-end-of-chart-marker-'+e.index+'">'+i+"</div>"}onDataTableCreated(t){let e=this.chart;if(e.options.accessibility.enabled){this.viewDataTableButton&&this.viewDataTableButton.setAttribute("aria-expanded","true");let i=t.tree.attributes||{};i.tabindex=-1,i.summary=e.langFormat("accessibility.table.tableSummary",{chart:e}),t.tree.attributes=i}}focusDataTable(){let t=this.dataTableDiv,e=t&&t.getElementsByTagName("table")[0];e&&e.focus&&e.focus()}initSonifyButton(t){let e=this.sonifyButton=Et(t),i=this.chart,s=t=>{e&&(e.setAttribute("aria-hidden","true"),e.setAttribute("aria-label","")),t.preventDefault(),t.stopPropagation();let s=i.langFormat("accessibility.sonification.playAsSoundClickAnnouncement",{chart:i});this.announcer.announce(s),setTimeout(()=>{e&&(e.removeAttribute("aria-hidden"),e.removeAttribute("aria-label")),i.sonify&&i.sonify()},1e3)};e&&i&&(e.setAttribute("tabindex",-1),e.onclick=function(t){(i.options.accessibility&&i.options.accessibility.screenReaderSection.onPlayAsSoundClick||s).call(this,t,i)})}initDataTableButton(t){let e=this.viewDataTableButton=Et(t),i=this.chart,s=t.replace("hc-linkto-","");e&&(It(e,{tabindex:-1,"aria-expanded":!!Et(s)}),e.onclick=i.options.accessibility.screenReaderSection.onViewDataTableClick||function(){i.viewData()})}getAxesDescription(){let t=this.chart,e=function(e,i){let s=t[e];return s.length>1||s[0]&&Nt(s[0].options.accessibility&&s[0].options.accessibility.enabled,i)},i=!!t.types&&0>t.types.indexOf("map")&&0>t.types.indexOf("treemap")&&0>t.types.indexOf("tilemap"),s=!!t.hasCartesianSeries,o=e("xAxis",!t.angular&&s&&i),r=e("yAxis",s&&i),n={};return o&&(n.xAxis=this.getAxisDescriptionText("xAxis")),r&&(n.yAxis=this.getAxisDescriptionText("yAxis")),n}getAxisDescriptionText(t){let e=this.chart,i=e[t];return e.langFormat("accessibility.axis."+t+"Description"+(i.length>1?"Plural":"Singular"),{chart:e,names:i.map(function(t){return kt(t)}),ranges:i.map(function(t){return At(t)}),numAxes:i.length})}destroy(){this.announcer&&this.announcer.destroy()}},{attr:Ft}=w(),{getChartTitle:Ht,unhideChartElementFromAT:Xt}=Y,{getFakeMouseEvent:Wt}=T;function Yt(t){return t.exportSVGElements&&t.exportSVGElements[0]}class jt extends ${init(){let t=this.chart,e=this;this.addEvent(t,"exportMenuShown",function(){e.onMenuShown()}),this.addEvent(t,"exportMenuHidden",function(){e.onMenuHidden()}),this.createProxyGroup()}onMenuHidden(){let t=this.chart.exportContextMenu;t&&t.setAttribute("aria-hidden","true"),this.setExportButtonExpandedState("false")}onMenuShown(){let t=this.chart,e=t.exportContextMenu;e&&(this.addAccessibleContextMenuAttribs(),Xt(t,e)),this.setExportButtonExpandedState("true")}setExportButtonExpandedState(t){this.exportButtonProxy&&this.exportButtonProxy.innerElement.setAttribute("aria-expanded",t)}onChartRender(){let t=this.chart,e=t.focusElement,i=t.accessibility;this.proxyProvider.clearGroup("chartMenu"),this.proxyMenuButton(),this.exportButtonProxy&&e&&e===t.exportingGroup&&(e.focusBorder?t.setFocusToElement(e,this.exportButtonProxy.innerElement):i&&i.keyboardNavigation.tabindexContainer.focus())}proxyMenuButton(){let t=this.chart,e=this.proxyProvider,i=Yt(t);(function(t){let e=t.options.exporting,i=Yt(t);return!!(e&&!1!==e.enabled&&e.accessibility&&e.accessibility.enabled&&i&&i.element)})(t)&&i&&(this.exportButtonProxy=e.addProxyElement("chartMenu",{click:i},"button",{"aria-label":t.langFormat("accessibility.exporting.menuButtonLabel",{chart:t,chartTitle:Ht(t)}),"aria-expanded":!1,title:t.options.lang.contextButtonTitle||null}))}createProxyGroup(){this.chart&&this.proxyProvider&&this.proxyProvider.addGroup("chartMenu")}addAccessibleContextMenuAttribs(){let t=this.chart,e=t.exportDivElements;if(e&&e.length){e.forEach(t=>{t&&("LI"!==t.tagName||t.children&&t.children.length?t.setAttribute("aria-hidden","true"):t.setAttribute("tabindex",-1))});let i=e[0]&&e[0].parentNode;i&&Ft(i,{"aria-hidden":void 0,"aria-label":t.langFormat("accessibility.exporting.chartMenuLabel",{chart:t}),role:"list"})}}getKeyboardNavigation(){let t=this.keyCodes,e=this.chart,i=this;return new J(e,{keyCodeMap:[[[t.left,t.up],function(){return i.onKbdPrevious(this)}],[[t.right,t.down],function(){return i.onKbdNext(this)}],[[t.enter,t.space],function(){return i.onKbdClick(this)}]],validate:function(){return!!e.exporting&&!1!==e.options.exporting.enabled&&!1!==e.options.exporting.accessibility.enabled},init:function(){let t=i.exportButtonProxy,s=i.chart.exportingGroup;t&&s&&e.setFocusToElement(s,t.innerElement)},terminate:function(){e.hideExportMenu()}})}onKbdPrevious(t){let e=this.chart,i=e.options.accessibility,s=t.response,o=e.highlightedExportItemIx||0;for(;o--;)if(e.highlightExportItem(o))return s.success;return i.keyboardNavigation.wrapAround?(e.highlightLastExportItem(),s.success):s.prev}onKbdNext(t){let e=this.chart,i=e.options.accessibility,s=t.response;for(let t=(e.highlightedExportItemIx||0)+1;t<e.exportDivElements.length;++t)if(e.highlightExportItem(t))return s.success;return i.keyboardNavigation.wrapAround?(e.highlightExportItem(0),s.success):s.next}onKbdClick(t){let e=this.chart,i=e.exportDivElements[e.highlightedExportItemIx],s=Yt(e).element;return e.openMenu?this.fakeClickEvent(i):(this.fakeClickEvent(s),e.highlightExportItem(0)),t.response.success}}!function(t){function e(){let t=Yt(this);if(t){let e=t.element;e.onclick&&e.onclick(Wt("click"))}}function i(){let t=this.exportDivElements;t&&this.exportContextMenu&&this.openMenu&&(t.forEach(t=>{t&&"highcharts-menu-item"===t.className&&t.onmouseout&&t.onmouseout(Wt("mouseout"))}),this.highlightedExportItemIx=0,this.exportContextMenu.hideMenu(),this.container.focus())}function s(t){let e=this.exportDivElements&&this.exportDivElements[t],i=this.exportDivElements&&this.exportDivElements[this.highlightedExportItemIx];if(e&&"LI"===e.tagName&&(!e.children||!e.children.length)){let s=!!(this.renderTo.getElementsByTagName("g")[0]||{}).focus;return e.focus&&s&&e.focus(),i&&i.onmouseout&&i.onmouseout(Wt("mouseout")),e.onmouseover&&e.onmouseover(Wt("mouseover")),this.highlightedExportItemIx=t,!0}return!1}function o(){if(this.exportDivElements){let t=this.exportDivElements.length;for(;t--;)if(this.highlightExportItem(t))return!0}return!1}t.compose=function(t){let r=t.prototype;r.hideExportMenu||(r.hideExportMenu=i,r.highlightExportItem=s,r.highlightLastExportItem=o,r.showExportMenu=e)}}(jt||(jt={}));let Gt=jt,{doc:_t,win:qt}=w(),{addEvent:Ut,defined:Vt,fireEvent:Kt}=w(),{getElement:$t,simulatedEventTarget:Zt}=T;class Jt{constructor(t,e){this.currentModuleIx=NaN,this.modules=[],this.init(t,e)}init(t,e){let i=this.eventProvider=new U;this.chart=t,this.components=e,this.modules=[],this.currentModuleIx=0,this.update(),i.addEvent(this.tabindexContainer,"keydown",t=>this.onKeydown(t)),i.addEvent(this.tabindexContainer,"focus",t=>this.onFocus(t)),["mouseup","touchend"].forEach(t=>i.addEvent(_t,t,t=>this.onMouseUp(t))),["mousedown","touchstart"].forEach(e=>i.addEvent(t.renderTo,e,()=>{this.isClickingChart=!0}))}update(t){let e=this.chart.options.accessibility,i=e&&e.keyboardNavigation,s=this.components;this.updateContainerTabindex(),i&&i.enabled&&t&&t.length?(this.modules=t.reduce(function(t,e){let i=s[e].getKeyboardNavigation();return t.concat(i)},[]),this.updateExitAnchor()):(this.modules=[],this.currentModuleIx=0,this.removeExitAnchor())}updateExitAnchor(){let t=$t(`highcharts-end-of-chart-marker-${this.chart.index}`);this.removeExitAnchor(),t?(this.makeElementAnExitAnchor(t),this.exitAnchor=t):this.createExitAnchor()}move(t){let e=this.modules&&this.modules[this.currentModuleIx];e&&e.terminate&&e.terminate(t),this.chart.focusElement&&this.chart.focusElement.removeFocusBorder(),this.currentModuleIx+=t;let i=this.modules&&this.modules[this.currentModuleIx];if(i){if(i.validate&&!i.validate())return this.move(t);if(i.init)return i.init(t),!0}return this.currentModuleIx=0,this.exiting=!0,t>0?this.exitAnchor&&this.exitAnchor.focus():this.tabindexContainer.focus(),!1}onFocus(t){let e=this.chart,i=t.relatedTarget&&e.container.contains(t.relatedTarget),s=e.options.accessibility,o=s&&s.keyboardNavigation;if(o&&o.enabled&&!this.exiting&&!this.tabbingInBackwards&&!this.isClickingChart&&!i){let t=this.getFirstValidModuleIx();null!==t&&(this.currentModuleIx=t,this.modules[t].init(1))}this.keyboardReset=!1,this.exiting=!1}onMouseUp(t){if(delete this.isClickingChart,!this.keyboardReset&&t.relatedTarget!==Zt){let e=this.chart;if(!t.target||!e.container.contains(t.target)){let t=this.modules&&this.modules[this.currentModuleIx||0];t&&t.terminate&&t.terminate(),this.currentModuleIx=0}e.focusElement&&(e.focusElement.removeFocusBorder(),delete e.focusElement),this.keyboardReset=!0}}onKeydown(t){let e,i=t||qt.event,s=this.modules&&this.modules.length&&this.modules[this.currentModuleIx],o=i.target;if((!o||"INPUT"!==o.nodeName||o.classList.contains("highcharts-a11y-proxy-element"))&&(this.keyboardReset=!1,this.exiting=!1,s)){let t=s.run(i);t===s.response.success?e=!0:t===s.response.prev?e=this.move(-1):t===s.response.next&&(e=this.move(1)),e&&(i.preventDefault(),i.stopPropagation())}}updateContainerTabindex(){let t,e=this.chart.options.accessibility,i=e&&e.keyboardNavigation,s=!(i&&!1===i.enabled),o=this.chart,r=o.container;o.renderTo.hasAttribute("tabindex")?(r.removeAttribute("tabindex"),t=o.renderTo):t=r,this.tabindexContainer=t;let n=t.getAttribute("tabindex");s&&!n?t.setAttribute("tabindex","0"):s||o.container.removeAttribute("tabindex")}createExitAnchor(){let t=this.chart,e=this.exitAnchor=_t.createElement("div");t.renderTo.appendChild(e),this.makeElementAnExitAnchor(e)}makeElementAnExitAnchor(t){let e=this.tabindexContainer.getAttribute("tabindex")||0;t.setAttribute("class","highcharts-exit-anchor"),t.setAttribute("tabindex",e),t.setAttribute("aria-hidden",!1),this.addExitAnchorEventsToEl(t)}removeExitAnchor(){if(this.exitAnchor){let t=this.eventProvider.eventRemovers.find(t=>t.element===this.exitAnchor);t&&Vt(t.remover)&&this.eventProvider.removeEvent(t.remover),this.exitAnchor.parentNode&&this.exitAnchor.parentNode.removeChild(this.exitAnchor),delete this.exitAnchor}}addExitAnchorEventsToEl(t){let e=this.chart,i=this;this.eventProvider.addEvent(t,"focus",function(t){let s=t||qt.event,o=!(s.relatedTarget&&e.container.contains(s.relatedTarget)||i.exiting);if(e.focusElement&&delete e.focusElement,o){if(i.tabbingInBackwards=!0,i.tabindexContainer.focus(),delete i.tabbingInBackwards,s.preventDefault(),i.modules&&i.modules.length){i.currentModuleIx=i.modules.length-1;let t=i.modules[i.currentModuleIx];t&&t.validate&&!t.validate()?i.move(-1):t&&t.init(-1)}}else i.exiting=!1})}getFirstValidModuleIx(){let t=this.modules.length;for(let e=0;e<t;++e){let t=this.modules[e];if(!t.validate||t.validate())return e}return null}destroy(){this.removeExitAnchor(),this.eventProvider.removeAddedEvents(),this.chart.container.removeAttribute("tabindex")}}!function(t){function e(){let t=this;Kt(this,"dismissPopupContent",{},function(){t.tooltip&&t.tooltip.hide(0),t.hideExportMenu()})}function i(t){27===(t.which||t.keyCode)&&w().charts&&w().charts.forEach(t=>{t&&t.dismissPopupContent&&t.dismissPopupContent()})}t.compose=function(t){Gt.compose(t);let s=t.prototype;return s.dismissPopupContent||(s.dismissPopupContent=e,Ut(_t,"keydown",i)),t}}(Jt||(Jt={}));let Qt=Jt;var te=x(632),ee=x.n(te);let{animObject:ie}=w(),{doc:se}=w(),{addEvent:oe,fireEvent:re,isNumber:ne,pick:ae,syncTimeout:le}=w(),{getChartTitle:he}=Y,{stripHTMLTagsFromString:ce,addClass:de,removeClass:pe}=T;function ue(t){let e=t.legend&&t.legend.allItems,i=t.options.legend.accessibility||{},s=t.colorAxis&&t.colorAxis.some(t=>!t.dataClasses||!t.dataClasses.length);return!(!e||!e.length||s||!1===i.enabled)}function ge(t,e){let i=e.legendItem||{};for(let s of(e.setState(t?"hover":"",!0),["group","label","symbol"])){let e=i[s],o=e&&e.element||e;o&&re(o,t?"mouseover":"mouseout")}}class fe extends ${constructor(){super(...arguments),this.highlightedLegendItemIx=NaN,this.proxyGroup=null}init(){let t=this;this.recreateProxies(),this.addEvent(ee(),"afterScroll",function(){this.chart===t.chart&&(t.proxyProvider.updateGroupProxyElementPositions("legend"),t.updateLegendItemProxyVisibility(),t.highlightedLegendItemIx>-1&&this.chart.highlightLegendItem(t.highlightedLegendItemIx))}),this.addEvent(ee(),"afterPositionItem",function(e){this.chart===t.chart&&this.chart.renderer&&t.updateProxyPositionForItem(e.item)}),this.addEvent(ee(),"afterRender",function(){this.chart===t.chart&&this.chart.renderer&&t.recreateProxies()&&le(()=>t.proxyProvider.updateGroupProxyElementPositions("legend"),ie(ae(this.chart.renderer.globalAnimation,!0)).duration)})}updateLegendItemProxyVisibility(){let t,e=this.chart,i=e.legend,s=i.allItems||[],o=i.currentPage||1,r=i.clipHeight||0;s.forEach(s=>{if(s.a11yProxyElement){let n=i.pages&&i.pages.length,a=s.a11yProxyElement.element,l=!1;if(t=s.legendItem||{},n){let e=t.pageIx||0;l=(t.y||0)+(t.label?Math.round(t.label.getBBox().height):0)-i.pages[e]>r||e!==o-1}l?e.styledMode?de(a,"highcharts-a11y-invisible"):a.style.visibility="hidden":(pe(a,"highcharts-a11y-invisible"),a.style.visibility="")}})}onChartRender(){ue(this.chart)||this.removeProxies()}highlightAdjacentLegendPage(t){let e=this.chart,i=e.legend,s=(i.currentPage||1)+t,o=i.pages||[];if(s>0&&s<=o.length){let t=0;for(let o of i.allItems)((o.legendItem||{}).pageIx||0)+1===s&&e.highlightLegendItem(t)&&(this.highlightedLegendItemIx=t),++t}}updateProxyPositionForItem(t){t.a11yProxyElement&&t.a11yProxyElement.refreshPosition()}recreateProxies(){let t=se.activeElement,e=this.proxyGroup,i=t&&e&&e.contains(t);return this.removeProxies(),!!ue(this.chart)&&(this.addLegendProxyGroup(),this.proxyLegendItems(),this.updateLegendItemProxyVisibility(),this.updateLegendTitle(),i&&this.chart.highlightLegendItem(this.highlightedLegendItemIx),!0)}removeProxies(){this.proxyProvider.removeGroup("legend")}updateLegendTitle(){let t=this.chart,e=ce((t.legend&&t.legend.options.title&&t.legend.options.title.text||"").replace(/<br ?\/?>/g," "),t.renderer.forExport),i=t.langFormat("accessibility.legend.legendLabel"+(e?"":"NoTitle"),{chart:t,legendTitle:e,chartTitle:he(t)});this.proxyProvider.updateGroupAttrs("legend",{"aria-label":i})}addLegendProxyGroup(){let t="all"===this.chart.options.accessibility.landmarkVerbosity?"region":null;this.proxyGroup=this.proxyProvider.addGroup("legend","ul",{"aria-label":"_placeholder_",role:t})}proxyLegendItems(){let t,e=this;((this.chart.legend||{}).allItems||[]).forEach(i=>{(t=i.legendItem||{}).label&&t.label.element&&e.proxyLegendItem(i)})}proxyLegendItem(t){let e=t.legendItem||{};if(!e.label||!e.group)return;let i=this.chart.langFormat("accessibility.legend.legendItem",{chart:this.chart,itemName:ce(t.name,this.chart.renderer.forExport),item:t}),s={tabindex:-1,"aria-pressed":t.visible,"aria-label":i},o=e.group.div?e.label:e.group;t.a11yProxyElement=this.proxyProvider.addProxyElement("legend",{click:e.label,visual:o.element},"button",s)}getKeyboardNavigation(){let t=this.keyCodes,e=this,i=this.chart;return new J(i,{keyCodeMap:[[[t.left,t.right,t.up,t.down],function(t){return e.onKbdArrowKey(this,t)}],[[t.enter,t.space],function(){return e.onKbdClick(this)}],[[t.pageDown,t.pageUp],function(i){let s=i===t.pageDown?1:-1;return e.highlightAdjacentLegendPage(s),this.response.success}]],validate:function(){return e.shouldHaveLegendNavigation()},init:function(){i.highlightLegendItem(0),e.highlightedLegendItemIx=0},terminate:function(){e.highlightedLegendItemIx=-1,i.legend.allItems.forEach(t=>ge(!1,t))}})}onKbdArrowKey(t,e){let{keyCodes:{left:i,up:s},highlightedLegendItemIx:o,chart:r}=this,n=r.legend.allItems.length,a=r.options.accessibility.keyboardNavigation.wrapAround,l=e===i||e===s?-1:1;return r.highlightLegendItem(o+l)?this.highlightedLegendItemIx+=l:a&&n>1&&(this.highlightedLegendItemIx=l>0?0:n-1,r.highlightLegendItem(this.highlightedLegendItemIx)),t.response.success}onKbdClick(t){let e=this.chart.legend.allItems[this.highlightedLegendItemIx];return e&&e.a11yProxyElement&&e.a11yProxyElement.click(),t.response.success}shouldHaveLegendNavigation(){if(!ue(this.chart))return!1;let t=this.chart,e=(t.options.legend||{}).accessibility||{};return!!(t.legend.display&&e.keyboardNavigation&&e.keyboardNavigation.enabled)}destroy(){this.removeProxies()}}!function(t){function e(t){let e=this.legend.allItems,i=this.accessibility&&this.accessibility.components.legend.highlightedLegendItemIx,s=e[t],o=s?.legendItem||{};if(s){ne(i)&&e[i]&&ge(!1,e[i]),function(t,e){let i=(t.allItems[e].legendItem||{}).pageIx,s=t.currentPage;void 0!==i&&i+1!==s&&t.scroll(1+i-s)}(this.legend,t);let r=o.label,n=s.a11yProxyElement&&s.a11yProxyElement.innerElement;return r&&r.element&&n&&this.setFocusToElement(r,n),ge(!0,s),!0}return!1}function i(t){let e=this.chart.options.accessibility,i=t.item;e.enabled&&i&&i.a11yProxyElement&&i.a11yProxyElement.innerElement.setAttribute("aria-pressed",t.visible?"true":"false")}t.compose=function(t,s){let o=t.prototype;o.highlightLegendItem||(o.highlightLegendItem=e,oe(s,"afterColorizeItem",i))}}(fe||(fe={}));let me=fe;var be=x(532),xe=x.n(be);let{isTouchDevice:ye}=w(),{addEvent:ve,merge:we,pick:ke}=w(),Ae=[];function Me(){this.navigator&&this.navigator.setBaseSeries(null,!1)}function Ce(){let t,e,i,s=this.legend,o=this.navigator;if(o){t=s&&s.options,e=o.xAxis,i=o.yAxis;let{scrollbarHeight:r,scrollButtonSize:n}=o;this.inverted?(o.left=o.opposite?this.chartWidth-r-o.height:this.spacing[3]+r,o.top=this.plotTop+n):(o.left=ke(e.left,this.plotLeft+n),o.top=o.navigatorOptions.top||this.chartHeight-o.height-r-(this.scrollbar?.options.margin||0)-this.spacing[2]-(this.rangeSelector&&this.extraBottomMargin?this.rangeSelector.getHeight():0)-(t&&"bottom"===t.verticalAlign&&"proximate"!==t.layout&&t.enabled&&!t.floating?s.legendHeight+ke(t.margin,10):0)-(this.titleOffset?this.titleOffset[2]:0)),e&&i&&(this.inverted?e.options.left=i.options.left=o.left:e.options.top=i.options.top=o.top,e.setAxisSize(),i.setAxisSize())}}function Pe(t){!this.navigator&&!this.scroller&&(this.options.navigator.enabled||this.options.scrollbar.enabled)&&(this.scroller=this.navigator=new d(this),ke(t.redraw,!0)&&this.redraw(t.animation))}function Se(){let t=this.options;(t.navigator.enabled||t.scrollbar.enabled)&&(this.scroller=this.navigator=new d(this))}function Te(){let t=this.options,e=t.navigator,i=t.rangeSelector;if((e&&e.enabled||i&&i.enabled)&&(!ye&&"x"===this.zooming.type||ye&&"x"===this.zooming.pinchType))return!1}function Ee(t){let e=t.navigator;if(e&&t.xAxis[0]){let i=t.xAxis[0].getExtremes();e.render(i.min,i.max)}}function Le(t){let e=t.options.navigator||{},i=t.options.scrollbar||{};!this.navigator&&!this.scroller&&(e.enabled||i.enabled)&&(we(!0,this.options.navigator,e),we(!0,this.options.scrollbar,i),delete t.options.navigator,delete t.options.scrollbar)}let Oe=function(t,e){if(w().pushUnique(Ae,t)){let i=t.prototype;d=e,i.callbacks.push(Ee),ve(t,"afterAddSeries",Me),ve(t,"afterSetChartSize",Ce),ve(t,"afterUpdate",Pe),ve(t,"beforeRender",Se),ve(t,"beforeShowResetZoom",Te),ve(t,"update",Le)}},{isTouchDevice:De}=w(),{addEvent:Ie,correctFloat:Ne,defined:Be,isNumber:Re,pick:ze}=w();function Fe(){this.navigatorAxis||(this.navigatorAxis=new Xe(this))}function He(t){let e,i=this.chart,s=i.options,o=s.navigator,r=this.navigatorAxis,n=i.zooming.pinchType,a=s.rangeSelector,l=i.zooming.type;if(this.isXAxis&&(o?.enabled||a?.enabled))if("y"===l&&"zoom"===t.trigger)e=!1;else if(("zoom"===t.trigger&&"xy"===l||De&&"xy"===n)&&this.options.range){let e=r.previousZoom;Be(t.min)?r.previousZoom=[this.min,this.max]:e&&(t.min=e[0],t.max=e[1],r.previousZoom=void 0)}void 0!==e&&t.preventDefault()}class Xe{static compose(t){t.keepProps.includes("navigatorAxis")||(t.keepProps.push("navigatorAxis"),Ie(t,"init",Fe),Ie(t,"setExtremes",He))}constructor(t){this.axis=t}destroy(){this.axis=void 0}toFixedRange(t,e,i,s){let o=this.axis,r=(o.pointRange||0)/2,n=ze(i,o.translate(t,!0,!o.horiz)),a=ze(s,o.translate(e,!0,!o.horiz));return Be(i)||(n=Ne(n+r)),Be(s)||(a=Ne(a-r)),Re(n)&&Re(a)||(n=a=void 0),{min:n,max:a}}}var We=x(620),Ye=x.n(We),je=x(512),Ge=x.n(je);let{parse:_e}=Ye(),{seriesTypes:qe}=Ge(),Ue={height:40,margin:25,maskInside:!0,handles:{width:7,borderRadius:0,height:15,symbols:["navigator-handle","navigator-handle"],enabled:!0,lineWidth:1,backgroundColor:"#f2f2f2",borderColor:"#999999"},maskFill:_e("#667aff").setOpacity(.3).get(),outlineColor:"#999999",outlineWidth:1,series:{type:void 0===qe.areaspline?"line":"areaspline",fillOpacity:.05,lineWidth:1,compare:null,sonification:{enabled:!1},dataGrouping:{approximation:"average",enabled:!0,groupPixelWidth:2,firstAnchor:"firstPoint",anchor:"middle",lastAnchor:"lastPoint",units:[["millisecond",[1,2,5,10,20,25,50,100,200,500]],["second",[1,2,5,10,15,30]],["minute",[1,2,5,10,15,30]],["hour",[1,2,3,4,6,8,12]],["day",[1,2,3,4]],["week",[1,2,3]],["month",[1,3,6]],["year",null]]},dataLabels:{enabled:!1,zIndex:2},id:"highcharts-navigator-series",className:"highcharts-navigator-series",lineColor:null,marker:{enabled:!1},threshold:null},xAxis:{className:"highcharts-navigator-xaxis",tickLength:0,lineWidth:0,gridLineColor:"#e6e6e6",id:"navigator-x-axis",gridLineWidth:1,tickPixelInterval:200,labels:{align:"left",style:{color:"#000000",fontSize:"0.7em",opacity:.6,textOutline:"2px contrast"},x:3,y:-4},crosshair:!1},yAxis:{className:"highcharts-navigator-yaxis",gridLineWidth:0,startOnTick:!1,endOnTick:!1,minPadding:.1,id:"navigator-y-axis",maxPadding:.1,labels:{enabled:!1},crosshair:!1,title:{text:null},tickLength:0,tickWidth:0}},{defined:Ve,isNumber:Ke,pick:$e}=w(),Ze=function(t,e,i,s,o){return o&&o.r?function(t,e,i,s,o){let r=o?.r||0;return[["M",t+r,e],["L",t+i-r,e],["A",r,r,0,0,1,t+i,e+r],["L",t+i,e+s-r],["A",r,r,0,0,1,t+i-r,e+s],["L",t+r,e+s],["A",r,r,0,0,1,t,e+s-r],["L",t,e+r],["A",r,r,0,0,1,t+r,e],["Z"]]}(t,e,i,s,o):[["M",t,e],["L",t+i,e],["L",t+i,e+s],["L",t,e+s],["Z"]]},{relativeLength:Je}=w(),Qe={"navigator-handle":function(t,e,i,s,o={}){let r=o.width?o.width/2:i,n=Je(o.borderRadius||0,Math.min(2*r,s));return[["M",-1.5,(s=o.height||s)/2-3.5],["L",-1.5,s/2+4.5],["M",.5,s/2-3.5],["L",.5,s/2+4.5],...Ze(-r-1,.5,2*r+1,s,{r:n})]}};var ti=x(608),ei=x.n(ti);let{defined:ii}=w(),{setOptions:si}=w(),{composed:oi}=w(),{getRendererType:ri}=ei(),{setFixedRange:ni}={setFixedRange:function(t){let e=this.xAxis[0];ii(e.dataMax)&&ii(e.dataMin)&&t?this.fixedRange=Math.min(t,e.dataMax-e.dataMin):this.fixedRange=t}},{addEvent:ai,extend:li,pushUnique:hi}=w();function ci(){this.chart.navigator&&!this.options.isInternal&&this.chart.navigator.setBaseSeries(null,!1)}let di=function(t,e,i){Xe.compose(e),hi(oi,"Navigator")&&(t.prototype.setFixedRange=ni,li(ri().prototype.symbols,Qe),ai(i,"afterUpdate",ci),si({navigator:Ue}))},{composed:pi}=w(),{addEvent:ui,defined:gi,pick:fi,pushUnique:mi}=w();!function(t){let e;function i(t){let e=fi(t.options&&t.options.min,t.min),i=fi(t.options&&t.options.max,t.max);return{axisMin:e,axisMax:i,scrollMin:gi(t.dataMin)?Math.min(e,t.min,t.dataMin,fi(t.threshold,1/0)):e,scrollMax:gi(t.dataMax)?Math.max(i,t.max,t.dataMax,fi(t.threshold,-1/0)):i}}function s(){let t=this.scrollbar,e=t&&!t.options.opposite,i=this.horiz?2:e?3:1;t&&(this.chart.scrollbarsOffsets=[0,0],this.chart.axisOffset[i]+=t.size+(t.options.margin||0))}function o(){let t=this;t.options&&t.options.scrollbar&&t.options.scrollbar.enabled&&(t.options.scrollbar.vertical=!t.horiz,t.options.startOnTick=t.options.endOnTick=!1,t.scrollbar=new e(t.chart.renderer,t.options.scrollbar,t.chart),ui(t.scrollbar,"changed",function(e){let s,o,{axisMin:r,axisMax:n,scrollMin:a,scrollMax:l}=i(t),h=l-a;if(gi(r)&&gi(n))if(t.horiz&&!t.reversed||!t.horiz&&t.reversed?(s=a+h*this.to,o=a+h*this.from):(s=a+h*(1-this.from),o=a+h*(1-this.to)),this.shouldUpdateExtremes(e.DOMType)){let i="mousemove"!==e.DOMType&&"touchmove"!==e.DOMType&&void 0;t.setExtremes(o,s,!0,i,e)}else this.setRange(this.from,this.to)}))}function r(){let t,e,s,{scrollMin:o,scrollMax:r}=i(this),n=this.scrollbar,a=this.axisTitleMargin+(this.titleOffset||0),l=this.chart.scrollbarsOffsets,h=this.options.margin||0;if(n&&l){if(this.horiz)this.opposite||(l[1]+=a),n.position(this.left,this.top+this.height+2+l[1]-(this.opposite?h:0),this.width,this.height),this.opposite||(l[1]+=h),t=1;else{let e;this.opposite&&(l[0]+=a),e=n.options.opposite?this.left+this.width+2+l[0]-(this.opposite?0:h):this.opposite?0:h,n.position(e,this.top,this.width,this.height),this.opposite&&(l[0]+=h),t=0}if(l[t]+=n.size+(n.options.margin||0),isNaN(o)||isNaN(r)||!gi(this.min)||!gi(this.max)||this.dataMin===this.dataMax)n.setRange(0,1);else if(this.min===this.max){let t=this.pointRange/(this.dataMax+1);e=t*this.min,s=t*(this.max+1),n.setRange(e,s)}else e=(this.min-o)/(r-o),s=(this.max-o)/(r-o),this.horiz&&!this.reversed||!this.horiz&&this.reversed?n.setRange(e,s):n.setRange(1-s,1-e)}}t.compose=function(t,i){mi(pi,"Axis.Scrollbar")&&(e=i,ui(t,"afterGetOffset",s),ui(t,"afterInit",o),ui(t,"afterRender",r))}}(g||(g={}));let bi=g,xi={height:10,barBorderRadius:5,buttonBorderRadius:0,buttonsEnabled:!1,liveRedraw:void 0,margin:void 0,minWidth:6,opposite:!0,step:.2,zIndex:3,barBackgroundColor:"#cccccc",barBorderWidth:0,barBorderColor:"#cccccc",buttonArrowColor:"#333333",buttonBackgroundColor:"#e6e6e6",buttonBorderColor:"#cccccc",buttonBorderWidth:1,rifleColor:"none",trackBackgroundColor:"rgba(255, 255, 255, 0.001)",trackBorderColor:"#cccccc",trackBorderRadius:5,trackBorderWidth:1},{defaultOptions:yi}=w(),{addEvent:vi,correctFloat:wi,crisp:ki,defined:Ai,destroyObjectProperties:Mi,fireEvent:Ci,merge:Pi,pick:Si,removeEvent:Ti}=w();class Ei{static compose(t){bi.compose(t,Ei)}static swapXY(t,e){return e&&t.forEach(t=>{let e,i=t.length;for(let s=0;s<i;s+=2)"number"==typeof(e=t[s+1])&&(t[s+1]=t[s+2],t[s+2]=e)}),t}constructor(t,e,i){this._events=[],this.chartX=0,this.chartY=0,this.from=0,this.scrollbarButtons=[],this.scrollbarLeft=0,this.scrollbarStrokeWidth=1,this.scrollbarTop=0,this.size=0,this.to=0,this.trackBorderWidth=1,this.x=0,this.y=0,this.init(t,e,i)}addEvents(){let t=this.options.inverted?[1,0]:[0,1],e=this.scrollbarButtons,i=this.scrollbarGroup.element,s=this.track.element,o=this.mouseDownHandler.bind(this),r=this.mouseMoveHandler.bind(this),n=this.mouseUpHandler.bind(this),a=[[e[t[0]].element,"click",this.buttonToMinClick.bind(this)],[e[t[1]].element,"click",this.buttonToMaxClick.bind(this)],[s,"click",this.trackClick.bind(this)],[i,"mousedown",o],[i.ownerDocument,"mousemove",r],[i.ownerDocument,"mouseup",n],[i,"touchstart",o],[i.ownerDocument,"touchmove",r],[i.ownerDocument,"touchend",n]];a.forEach(function(t){vi.apply(null,t)}),this._events=a}buttonToMaxClick(t){let e=(this.to-this.from)*Si(this.options.step,.2);this.updatePosition(this.from+e,this.to+e),Ci(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMEvent:t})}buttonToMinClick(t){let e=wi(this.to-this.from)*Si(this.options.step,.2);this.updatePosition(wi(this.from-e),wi(this.to-e)),Ci(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMEvent:t})}cursorToScrollbarPosition(t){let e=this.options,i=e.minWidth>this.calculatedWidth?e.minWidth:0;return{chartX:(t.chartX-this.x-this.xOffset)/(this.barWidth-i),chartY:(t.chartY-this.y-this.yOffset)/(this.barWidth-i)}}destroy(){let t=this,e=t.chart.scroller;t.removeEvents(),["track","scrollbarRifles","scrollbar","scrollbarGroup","group"].forEach(function(e){t[e]&&t[e].destroy&&(t[e]=t[e].destroy())}),e&&t===e.scrollbar&&(e.scrollbar=null,Mi(e.scrollbarButtons))}drawScrollbarButton(t){let e=this.renderer,i=this.scrollbarButtons,s=this.options,o=this.size,r=e.g().add(this.group);if(i.push(r),s.buttonsEnabled){let n=e.rect().addClass("highcharts-scrollbar-button").add(r);this.chart.styledMode||n.attr({stroke:s.buttonBorderColor,"stroke-width":s.buttonBorderWidth,fill:s.buttonBackgroundColor}),n.attr(n.crisp({x:-.5,y:-.5,width:o,height:o,r:s.buttonBorderRadius},n.strokeWidth()));let a=e.path(Ei.swapXY([["M",o/2+(t?-1:1),o/2-3],["L",o/2+(t?-1:1),o/2+3],["L",o/2+(t?2:-2),o/2]],s.vertical)).addClass("highcharts-scrollbar-arrow").add(i[t]);this.chart.styledMode||a.attr({fill:s.buttonArrowColor})}}init(t,e,i){this.scrollbarButtons=[],this.renderer=t,this.userOptions=e,this.options=Pi(xi,yi.scrollbar,e),this.options.margin=Si(this.options.margin,10),this.chart=i,this.size=Si(this.options.size,this.options.height),e.enabled&&(this.render(),this.addEvents())}mouseDownHandler(t){let e=this.chart.pointer?.normalize(t)||t,i=this.cursorToScrollbarPosition(e);this.chartX=i.chartX,this.chartY=i.chartY,this.initPositions=[this.from,this.to],this.grabbedCenter=!0}mouseMoveHandler(t){let e,i=this.chart.pointer?.normalize(t)||t,s=this.options.vertical?"chartY":"chartX",o=this.initPositions||[];this.grabbedCenter&&(!t.touches||0!==t.touches[0][s])&&(e=this.cursorToScrollbarPosition(i)[s]-this[s],this.hasDragged=!0,this.updatePosition(o[0]+e,o[1]+e),this.hasDragged&&Ci(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:t.type,DOMEvent:t}))}mouseUpHandler(t){this.hasDragged&&Ci(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:t.type,DOMEvent:t}),this.grabbedCenter=this.hasDragged=this.chartX=this.chartY=null}position(t,e,i,s){let{buttonsEnabled:o,margin:r=0,vertical:n}=this.options,a=this.rendered?"animate":"attr",l=s,h=0;this.group.show(),this.x=t,this.y=e+this.trackBorderWidth,this.width=i,this.height=s,this.xOffset=l,this.yOffset=h,n?(this.width=this.yOffset=i=h=this.size,this.xOffset=l=0,this.yOffset=h=o?this.size:0,this.barWidth=s-(o?2*i:0),this.x=t+=r):(this.height=s=this.size,this.xOffset=l=o?this.size:0,this.barWidth=i-(o?2*s:0),this.y=this.y+r),this.group[a]({translateX:t,translateY:this.y}),this.track[a]({width:i,height:s}),this.scrollbarButtons[1][a]({translateX:n?0:i-l,translateY:n?s-h:0})}removeEvents(){this._events.forEach(function(t){Ti.apply(null,t)}),this._events.length=0}render(){let t=this.renderer,e=this.options,i=this.size,s=this.chart.styledMode,o=t.g("scrollbar").attr({zIndex:e.zIndex}).hide().add();this.group=o,this.track=t.rect().addClass("highcharts-scrollbar-track").attr({r:e.trackBorderRadius||0,height:i,width:i}).add(o),s||this.track.attr({fill:e.trackBackgroundColor,stroke:e.trackBorderColor,"stroke-width":e.trackBorderWidth});let r=this.trackBorderWidth=this.track.strokeWidth();this.track.attr({x:-ki(0,r),y:-ki(0,r)}),this.scrollbarGroup=t.g().add(o),this.scrollbar=t.rect().addClass("highcharts-scrollbar-thumb").attr({height:i-r,width:i-r,r:e.barBorderRadius||0}).add(this.scrollbarGroup),this.scrollbarRifles=t.path(Ei.swapXY([["M",-3,i/4],["L",-3,2*i/3],["M",0,i/4],["L",0,2*i/3],["M",3,i/4],["L",3,2*i/3]],e.vertical)).addClass("highcharts-scrollbar-rifles").add(this.scrollbarGroup),s||(this.scrollbar.attr({fill:e.barBackgroundColor,stroke:e.barBorderColor,"stroke-width":e.barBorderWidth}),this.scrollbarRifles.attr({stroke:e.rifleColor,"stroke-width":1})),this.scrollbarStrokeWidth=this.scrollbar.strokeWidth(),this.scrollbarGroup.translate(-ki(0,this.scrollbarStrokeWidth),-ki(0,this.scrollbarStrokeWidth)),this.drawScrollbarButton(0),this.drawScrollbarButton(1)}setRange(t,e){let i,s,o=this.options,r=o.vertical,n=o.minWidth,a=this.barWidth,l=!this.rendered||this.hasDragged||this.chart.navigator&&this.chart.navigator.hasDragged?"attr":"animate";if(!Ai(a))return;let h=a*Math.min(e,1);i=Math.ceil(a*(t=Math.max(t,0))),this.calculatedWidth=s=wi(h-i),s<n&&(i=(a-n+s)*t,s=n);let c=Math.floor(i+this.xOffset+this.yOffset),d=s/2-.5;this.from=t,this.to=e,r?(this.scrollbarGroup[l]({translateY:c}),this.scrollbar[l]({height:s}),this.scrollbarRifles[l]({translateY:d}),this.scrollbarTop=c,this.scrollbarLeft=0):(this.scrollbarGroup[l]({translateX:c}),this.scrollbar[l]({width:s}),this.scrollbarRifles[l]({translateX:d}),this.scrollbarLeft=c,this.scrollbarTop=0),s<=12?this.scrollbarRifles.hide():this.scrollbarRifles.show(),!1===o.showFull&&(t<=0&&e>=1?this.group.hide():this.group.show()),this.rendered=!0}shouldUpdateExtremes(t){return Si(this.options.liveRedraw,w().svg&&!w().isTouchDevice&&!this.chart.boosted)||"mouseup"===t||"touchend"===t||!Ai(t)}trackClick(t){let e=this.chart.pointer?.normalize(t)||t,i=this.to-this.from,s=this.y+this.scrollbarTop,o=this.x+this.scrollbarLeft;this.options.vertical&&e.chartY>s||!this.options.vertical&&e.chartX>o?this.updatePosition(this.from+i,this.to+i):this.updatePosition(this.from-i,this.to-i),Ci(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMEvent:t})}update(t){this.destroy(),this.init(this.chart.renderer,Pi(!0,this.options,t),this.chart)}updatePosition(t,e){e>1&&(t=wi(1-wi(e-t)),e=1),t<0&&(e=wi(e-t),t=0),this.from=t,this.to=e}}Ei.defaultOptions=xi,yi.scrollbar=Pi(!0,Ei.defaultOptions,yi.scrollbar);var Li=x(540),Oi=x.n(Li);let{defaultOptions:Di}=w(),{isTouchDevice:Ii}=w(),{prototype:{symbols:Ni}}=Oi(),{addEvent:Bi,clamp:Ri,correctFloat:zi,defined:Fi,destroyObjectProperties:Hi,erase:Xi,extend:Wi,find:Yi,fireEvent:ji,isArray:Gi,isNumber:_i,merge:qi,pick:Ui,removeEvent:Vi,splat:Ki}=w();function $i(t,...e){let i=[].filter.call(e,_i);if(i.length)return Math[t].apply(0,i)}class Zi{static compose(t,e,i){Oe(t,Zi),di(t,e,i)}constructor(t){this.isDirty=!1,this.scrollbarHeight=0,this.init(t)}drawHandle(t,e,i,s){let o=this.navigatorOptions.handles.height;this.handles[e][s](i?{translateX:Math.round(this.left+this.height/2),translateY:Math.round(this.top+parseInt(t,10)+.5-o)}:{translateX:Math.round(this.left+parseInt(t,10)),translateY:Math.round(this.top+this.height/2-o/2-1)})}drawOutline(t,e,i,s){let o,r,n=this.navigatorOptions.maskInside,a=this.outline.strokeWidth(),l=a/2,h=a%2/2,c=this.scrollButtonSize,d=this.size,p=this.top,u=this.height,g=p-l,f=p+u,m=this.left;i?(o=p+e+h,r=[["M",m+u,p-c-h],["L",m+u,o],["L",m,o],["M",m,e=p+t+h],["L",m+u,e],["L",m+u,p+d+c]],n&&r.push(["M",m+u,o-l],["L",m+u,e+l])):(m-=c,r=[["M",m,g],["L",t+=m+c-h,g],["L",t,f],["M",e+=m+c-h,f],["L",e,g],["L",m+d+2*c,g]],n&&r.push(["M",t-l,g],["L",e+l,g])),this.outline[s]({d:r})}drawMasks(t,e,i,s){let o,r,n,a,l=this.left,h=this.top,c=this.height;i?(n=[l,l,l],a=[h,h+t,h+e],r=[c,c,c],o=[t,e-t,this.size-e]):(n=[l,l+t,l+e],a=[h,h,h],r=[t,e-t,this.size-e],o=[c,c,c]),this.shades.forEach((t,e)=>{t[s]({x:n[e],y:a[e],width:r[e],height:o[e]})})}renderElements(){let t=this,e=t.navigatorOptions,i=e.maskInside,s=t.chart,o=s.inverted,r=s.renderer,n={cursor:o?"ns-resize":"ew-resize"},a=t.navigatorGroup??(t.navigatorGroup=r.g("navigator").attr({zIndex:8,visibility:"hidden"}).add());if([!i,i,!i].forEach((i,o)=>{let l=t.shades[o]??(t.shades[o]=r.rect().addClass("highcharts-navigator-mask"+(1===o?"-inside":"-outside")).add(a));s.styledMode||(l.attr({fill:i?e.maskFill:"rgba(0,0,0,0)"}),1===o&&l.css(n))}),t.outline||(t.outline=r.path().addClass("highcharts-navigator-outline").add(a)),s.styledMode||t.outline.attr({"stroke-width":e.outlineWidth,stroke:e.outlineColor}),e.handles?.enabled){let i=e.handles,{height:o,width:l}=i;[0,1].forEach(e=>{let h=i.symbols[e];if(t.handles[e]&&t.handles[e].symbolUrl===h){if(!t.handles[e].isImg&&t.handles[e].symbolName!==h){let i=Ni[h].call(Ni,-l/2-1,0,l,o);t.handles[e].attr({d:i}),t.handles[e].symbolName=h}}else t.handles[e]?.destroy(),t.handles[e]=r.symbol(h,-l/2-1,0,l,o,i),t.handles[e].attr({zIndex:7-e}).addClass("highcharts-navigator-handle highcharts-navigator-handle-"+["left","right"][e]).add(a),t.addMouseEvents();s.inverted&&t.handles[e].attr({rotation:90,rotationOriginX:Math.floor(-l/2),rotationOriginY:(o+l)/2}),s.styledMode||t.handles[e].attr({fill:i.backgroundColor,stroke:i.borderColor,"stroke-width":i.lineWidth,width:i.width,height:i.height,x:-l/2-1,y:0}).css(n)})}}update(t,e=!1){let i=this.chart,s=i.options.chart.inverted!==i.scrollbar?.options.vertical;if(qi(!0,i.options.navigator,t),this.navigatorOptions=i.options.navigator||{},this.setOpposite(),Fi(t.enabled)||s)return this.destroy(),this.navigatorEnabled=t.enabled||this.navigatorEnabled,this.init(i);if(this.navigatorEnabled&&(this.isDirty=!0,!1===t.adaptToUpdatedData&&this.baseSeries.forEach(t=>{Vi(t,"updatedData",this.updatedDataHandler)},this),t.adaptToUpdatedData&&this.baseSeries.forEach(t=>{t.eventsToUnbind.push(Bi(t,"updatedData",this.updatedDataHandler))},this),(t.series||t.baseSeries)&&this.setBaseSeries(void 0,!1),t.height||t.xAxis||t.yAxis)){this.height=t.height??this.height;let e=this.getXAxisOffsets();this.xAxis.update({...t.xAxis,offsets:e,[i.inverted?"width":"height"]:this.height,[i.inverted?"height":"width"]:void 0},!1),this.yAxis.update({...t.yAxis,[i.inverted?"width":"height"]:this.height},!1)}e&&i.redraw()}render(t,e,i,s){let o,r,n,a,l,h=this.chart,c=this.xAxis,d=c.pointRange||0,p=c.navigatorAxis.fake?h.xAxis[0]:c,u=this.navigatorEnabled,g=this.rendered,f=h.inverted,m=h.xAxis[0].minRange,b=h.xAxis[0].options.maxRange,x=this.scrollButtonSize,y=this.scrollbarHeight;if(this.hasDragged&&!Fi(i))return;if(this.isDirty&&this.renderElements(),t=zi(t-d/2),e=zi(e+d/2),!_i(t)||!_i(e)){if(!g)return;i=0,s=Ui(c.width,p.width)}this.left=Ui(c.left,h.plotLeft+x+(f?h.plotWidth:0));let v=this.size=a=Ui(c.len,(f?h.plotHeight:h.plotWidth)-2*x);o=f?y:a+2*x,i=Ui(i,c.toPixels(t,!0)),s=Ui(s,c.toPixels(e,!0)),_i(i)&&Math.abs(i)!==1/0||(i=0,s=o);let w=c.toValue(i,!0),k=c.toValue(s,!0),A=Math.abs(zi(k-w));A<m?this.grabbedLeft?i=c.toPixels(k-m-d,!0):this.grabbedRight&&(s=c.toPixels(w+m+d,!0)):Fi(b)&&zi(A-d)>b&&(this.grabbedLeft?i=c.toPixels(k-b-d,!0):this.grabbedRight&&(s=c.toPixels(w+b+d,!0))),this.zoomedMax=Ri(Math.max(i,s),0,v),this.zoomedMin=Ri(this.fixedWidth?this.zoomedMax-this.fixedWidth:Math.min(i,s),0,v),this.range=this.zoomedMax-this.zoomedMin,v=Math.round(this.zoomedMax);let M=Math.round(this.zoomedMin);u&&(this.navigatorGroup.attr({visibility:"inherit"}),l=g&&!this.hasDragged?"animate":"attr",this.drawMasks(M,v,f,l),this.drawOutline(M,v,f,l),this.navigatorOptions.handles.enabled&&(this.drawHandle(M,0,f,l),this.drawHandle(v,1,f,l))),this.scrollbar&&(f?(n=this.top-x,r=this.left-y+(u||!p.opposite?0:(p.titleOffset||0)+p.axisTitleMargin),y=a+2*x):(n=this.top+(u?this.height:-y),r=this.left-x),this.scrollbar.position(r,n,o,y),this.scrollbar.setRange(this.zoomedMin/(a||1),this.zoomedMax/(a||1))),this.rendered=!0,this.isDirty=!1,ji(this,"afterRender")}addMouseEvents(){let t,e,i=this,s=i.chart,o=s.container,r=[];i.mouseMoveHandler=t=function(t){i.onMouseMove(t)},i.mouseUpHandler=e=function(t){i.onMouseUp(t)},(r=i.getPartsEvents("mousedown")).push(Bi(s.renderTo,"mousemove",t),Bi(o.ownerDocument,"mouseup",e),Bi(s.renderTo,"touchmove",t),Bi(o.ownerDocument,"touchend",e)),r.concat(i.getPartsEvents("touchstart")),i.eventsToUnbind=r,i.series&&i.series[0]&&r.push(Bi(i.series[0].xAxis,"foundExtremes",function(){s.navigator.modifyNavigatorAxisExtremes()}))}getPartsEvents(t){let e=this,i=[];return["shades","handles"].forEach(function(s){e[s].forEach(function(o,r){i.push(Bi(o.element,t,function(t){e[s+"Mousedown"](t,r)}))})}),i}shadesMousedown(t,e){t=this.chart.pointer?.normalize(t)||t;let i,s,o,r,n=this.chart,a=this.xAxis,l=this.zoomedMin,h=this.size,c=this.range,d=this.left,p=t.chartX;n.inverted&&(p=t.chartY,d=this.top),1===e?(this.grabbedCenter=p,this.fixedWidth=c,this.dragOffset=p-l):(r=p-d-c/2,0===e?r=Math.max(0,r):2===e&&r+c>=h&&(r=h-c,this.reversedExtremes?(r-=c,s=this.getUnionExtremes().dataMin):i=this.getUnionExtremes().dataMax),r!==l&&(this.fixedWidth=c,Fi((o=a.navigatorAxis.toFixedRange(r,r+c,s,i)).min)&&ji(this,"setRange",{min:Math.min(o.min,o.max),max:Math.max(o.min,o.max),redraw:!0,eventArguments:{trigger:"navigator"}})))}handlesMousedown(t,e){t=this.chart.pointer?.normalize(t)||t;let i=this.chart,s=i.xAxis[0],o=this.reversedExtremes;0===e?(this.grabbedLeft=!0,this.otherHandlePos=this.zoomedMax,this.fixedExtreme=o?s.min:s.max):(this.grabbedRight=!0,this.otherHandlePos=this.zoomedMin,this.fixedExtreme=o?s.max:s.min),i.setFixedRange(void 0)}onMouseMove(t){let e,i=this,s=i.chart,o=i.navigatorSize,r=i.range,n=i.dragOffset,a=s.inverted,l=i.left;(!t.touches||0!==t.touches[0].pageX)&&(e=(t=s.pointer?.normalize(t)||t).chartX,a&&(l=i.top,e=t.chartY),i.grabbedLeft?(i.hasDragged=!0,i.render(0,0,e-l,i.otherHandlePos)):i.grabbedRight?(i.hasDragged=!0,i.render(0,0,i.otherHandlePos,e-l)):i.grabbedCenter&&(i.hasDragged=!0,e<n?e=n:e>o+n-r&&(e=o+n-r),i.render(0,0,e-n,e-n+r)),i.hasDragged&&i.scrollbar&&Ui(i.scrollbar.options.liveRedraw,!Ii&&!this.chart.boosted)&&(t.DOMType=t.type,setTimeout(function(){i.onMouseUp(t)},0)))}onMouseUp(t){let e,i,s,o,r,n,a=this.chart,l=this.xAxis,h=this.scrollbar,c=t.DOMEvent||t,d=a.inverted,p=this.rendered&&!this.hasDragged?"animate":"attr";(this.hasDragged&&(!h||!h.hasDragged)||"scrollbar"===t.trigger)&&(s=this.getUnionExtremes(),this.zoomedMin===this.otherHandlePos?o=this.fixedExtreme:this.zoomedMax===this.otherHandlePos&&(r=this.fixedExtreme),this.zoomedMax===this.size&&(r=this.reversedExtremes?s.dataMin:s.dataMax),0===this.zoomedMin&&(o=this.reversedExtremes?s.dataMax:s.dataMin),Fi((n=l.navigatorAxis.toFixedRange(this.zoomedMin,this.zoomedMax,o,r)).min)&&ji(this,"setRange",{min:Math.min(n.min,n.max),max:Math.max(n.min,n.max),redraw:!0,animation:!this.hasDragged&&null,eventArguments:{trigger:"navigator",triggerOp:"navigator-drag",DOMEvent:c}})),"mousemove"!==t.DOMType&&"touchmove"!==t.DOMType&&(this.grabbedLeft=this.grabbedRight=this.grabbedCenter=this.fixedWidth=this.fixedExtreme=this.otherHandlePos=this.hasDragged=this.dragOffset=null),this.navigatorEnabled&&_i(this.zoomedMin)&&_i(this.zoomedMax)&&(i=Math.round(this.zoomedMin),e=Math.round(this.zoomedMax),this.shades&&this.drawMasks(i,e,d,p),this.outline&&this.drawOutline(i,e,d,p),this.navigatorOptions.handles.enabled&&Object.keys(this.handles).length===this.handles.length&&(this.drawHandle(i,0,d,p),this.drawHandle(e,1,d,p)))}removeEvents(){this.eventsToUnbind&&(this.eventsToUnbind.forEach(function(t){t()}),this.eventsToUnbind=void 0),this.removeBaseSeriesEvents()}removeBaseSeriesEvents(){let t=this.baseSeries||[];this.navigatorEnabled&&t[0]&&(!1!==this.navigatorOptions.adaptToUpdatedData&&t.forEach(function(t){Vi(t,"updatedData",this.updatedDataHandler)},this),t[0].xAxis&&Vi(t[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes))}getXAxisOffsets(){return this.chart.inverted?[this.scrollButtonSize,0,-this.scrollButtonSize,0]:[0,-this.scrollButtonSize,0,this.scrollButtonSize]}init(t){let e=t.options,i=e.navigator||{},s=i.enabled,o=e.scrollbar||{},r=o.enabled,n=s&&i.height||0,a=r&&o.height||0,l=o.buttonsEnabled&&a||0;this.handles=[],this.shades=[],this.chart=t,this.setBaseSeries(),this.height=n,this.scrollbarHeight=a,this.scrollButtonSize=l,this.scrollbarEnabled=r,this.navigatorEnabled=s,this.navigatorOptions=i,this.scrollbarOptions=o,this.setOpposite();let h=this,c=h.baseSeries,d=t.xAxis.length,p=t.yAxis.length,u=c&&c[0]&&c[0].xAxis||t.xAxis[0]||{options:{}};if(t.isDirtyBox=!0,h.navigatorEnabled){let e=this.getXAxisOffsets();h.xAxis=new(xe())(t,qi({breaks:u.options.breaks,ordinal:u.options.ordinal,overscroll:u.options.overscroll},i.xAxis,{type:"datetime",yAxis:i.yAxis?.id,index:d,isInternal:!0,offset:0,keepOrdinalPadding:!0,startOnTick:!1,endOnTick:!1,minPadding:u.options.ordinal?0:u.options.minPadding,maxPadding:u.options.ordinal?0:u.options.maxPadding,zoomEnabled:!1},t.inverted?{offsets:e,width:n}:{offsets:e,height:n}),"xAxis"),h.yAxis=new(xe())(t,qi(i.yAxis,{alignTicks:!1,offset:0,index:p,isInternal:!0,reversed:Ui(i.yAxis&&i.yAxis.reversed,t.yAxis[0]&&t.yAxis[0].reversed,!1),zoomEnabled:!1},t.inverted?{width:n}:{height:n}),"yAxis"),c||i.series.data?h.updateNavigatorSeries(!1):0===t.series.length&&(h.unbindRedraw=Bi(t,"beforeRedraw",function(){t.series.length>0&&!h.series&&(h.setBaseSeries(),h.unbindRedraw())})),h.reversedExtremes=t.inverted&&!h.xAxis.reversed||!t.inverted&&h.xAxis.reversed,h.renderElements(),h.addMouseEvents()}else h.xAxis={chart:t,navigatorAxis:{fake:!0},translate:function(e,i){let s=t.xAxis[0],o=s.getExtremes(),r=s.len-2*l,n=$i("min",s.options.min,o.dataMin),a=$i("max",s.options.max,o.dataMax)-n;return i?e*a/r+n:r*(e-n)/a},toPixels:function(t){return this.translate(t)},toValue:function(t){return this.translate(t,!0)}},h.xAxis.navigatorAxis.axis=h.xAxis,h.xAxis.navigatorAxis.toFixedRange=Xe.prototype.toFixedRange.bind(h.xAxis.navigatorAxis);if(t.options.scrollbar.enabled){let e=qi(t.options.scrollbar,{vertical:t.inverted});!_i(e.margin)&&h.navigatorEnabled&&(e.margin=t.inverted?-3:3),t.scrollbar=h.scrollbar=new Ei(t.renderer,e,t),Bi(h.scrollbar,"changed",function(t){let e=h.size,i=e*this.to,s=e*this.from;h.hasDragged=h.scrollbar.hasDragged,h.render(0,0,s,i),this.shouldUpdateExtremes(t.DOMType)&&setTimeout(function(){h.onMouseUp(t)})})}h.addBaseSeriesEvents(),h.addChartEvents()}setOpposite(){let t=this.navigatorOptions,e=this.navigatorEnabled,i=this.chart;this.opposite=Ui(t.opposite,!(e||!i.inverted))}getUnionExtremes(t){let e,i=this.chart.xAxis[0],s=this.chart.time,o=this.xAxis,r=o.options,n=i.options;return t&&null===i.dataMin||(e={dataMin:Ui(s.parse(r?.min),$i("min",s.parse(n.min),i.dataMin,o.dataMin,o.min)),dataMax:Ui(s.parse(r?.max),$i("max",s.parse(n.max),i.dataMax,o.dataMax,o.max))}),e}setBaseSeries(t,e){let i=this.chart,s=this.baseSeries=[];t=t||i.options&&i.options.navigator.baseSeries||(i.series.length?Yi(i.series,t=>!t.options.isInternal).index:0),(i.series||[]).forEach((e,i)=>{!e.options.isInternal&&(e.options.showInNavigator||(i===t||e.options.id===t)&&!1!==e.options.showInNavigator)&&s.push(e)}),this.xAxis&&!this.xAxis.navigatorAxis.fake&&this.updateNavigatorSeries(!0,e)}updateNavigatorSeries(t,e){let i,s,o,r=this,n=r.chart,a=r.baseSeries,l={enableMouseTracking:!1,index:null,linkedTo:null,group:"nav",padXAxis:!1,xAxis:this.navigatorOptions.xAxis?.id,yAxis:this.navigatorOptions.yAxis?.id,showInLegend:!1,stacking:void 0,isInternal:!0,states:{inactive:{opacity:1}}},h=r.series=(r.series||[]).filter(t=>{let e=t.baseSeries;return!(0>a.indexOf(e)&&(e&&(Vi(e,"updatedData",r.updatedDataHandler),delete e.navigatorSeries),t.chart&&t.destroy(),1))}),c=r.navigatorOptions.series;a&&a.length&&a.forEach(t=>{let d=t.navigatorSeries,p=Wi({color:t.color,visible:t.visible},Gi(c)?Di.navigator.series:c);if(d&&!1===r.navigatorOptions.adaptToUpdatedData)return;l.name="Navigator "+a.length,o=(i=t.options||{}).navigatorOptions||{},p.dataLabels=Ki(p.dataLabels),(s=qi(i,l,p,o)).pointRange=Ui(p.pointRange,o.pointRange,Di.plotOptions[s.type||"line"].pointRange);let u=o.data||p.data;r.hasNavigatorData=r.hasNavigatorData||!!u,s.data=u||i.data?.slice(0),d&&d.options?d.update(s,e):(t.navigatorSeries=n.initSeries(s),n.setSortedData(),t.navigatorSeries.baseSeries=t,h.push(t.navigatorSeries))}),(c.data&&!(a&&a.length)||Gi(c))&&(r.hasNavigatorData=!1,(c=Ki(c)).forEach((t,e)=>{l.name="Navigator "+(h.length+1),(s=qi(Di.navigator.series,{color:n.series[e]&&!n.series[e].options.isInternal&&n.series[e].color||n.options.colors[e]||n.options.colors[0]},l,t)).data=t.data,s.data&&(r.hasNavigatorData=!0,h.push(n.initSeries(s)))})),t&&this.addBaseSeriesEvents()}addBaseSeriesEvents(){let t=this,e=t.baseSeries||[];e[0]&&e[0].xAxis&&e[0].eventsToUnbind.push(Bi(e[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes)),e.forEach(i=>{i.eventsToUnbind.push(Bi(i,"show",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!0,!1)})),i.eventsToUnbind.push(Bi(i,"hide",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!1,!1)})),!1!==this.navigatorOptions.adaptToUpdatedData&&i.xAxis&&i.eventsToUnbind.push(Bi(i,"updatedData",this.updatedDataHandler)),i.eventsToUnbind.push(Bi(i,"remove",function(){e&&Xi(e,i),this.navigatorSeries&&t.series&&(Xi(t.series,this.navigatorSeries),Fi(this.navigatorSeries.options)&&this.navigatorSeries.remove(!1),delete this.navigatorSeries)}))})}getBaseSeriesMin(t){return this.baseSeries.reduce(function(t,e){return Math.min(t,e.getColumn("x")[0]??t)},t)}modifyNavigatorAxisExtremes(){let t=this.xAxis;if(void 0!==t.getExtremes){let e=this.getUnionExtremes(!0);e&&(e.dataMin!==t.min||e.dataMax!==t.max)&&(t.min=e.dataMin,t.max=e.dataMax)}}modifyBaseAxisExtremes(){let t,e,i=this.chart.navigator,s=this.getExtremes(),o=s.min,r=s.max,n=s.dataMin,a=s.dataMax,l=r-o,h=i.stickToMin,c=i.stickToMax,d=Ui(this.ordinal?.convertOverscroll(this.options.overscroll),0),p=i.series&&i.series[0],u=!!this.setExtremes;!(this.eventArgs&&"rangeSelectorButton"===this.eventArgs.trigger)&&(h&&(t=(e=n)+l),c&&(t=a+d,h||(e=Math.max(n,t-l,i.getBaseSeriesMin(p&&p.xData?p.xData[0]:-Number.MAX_VALUE)))),u&&(h||c)&&_i(e)&&(this.min=this.userMin=e,this.max=this.userMax=t)),i.stickToMin=i.stickToMax=null}updatedDataHandler(){let t=this.chart.navigator,e=this.navigatorSeries,i=t.reversedExtremes?0===Math.round(t.zoomedMin):Math.round(t.zoomedMax)>=Math.round(t.size);t.stickToMax=Ui(this.chart.options.navigator&&this.chart.options.navigator.stickToMax,i),t.stickToMin=t.shouldStickToMin(this,t),e&&!t.hasNavigatorData&&(e.options.pointStart=this.getColumn("x")[0],e.setData(this.options.data,!1,null,!1))}shouldStickToMin(t,e){let i=e.getBaseSeriesMin(t.getColumn("x")[0]),s=t.xAxis,o=s.max,r=s.min,n=s.options.range;return!(!_i(o)||!_i(r))&&(n&&o-i>0?o-i<n:r<=i)}addChartEvents(){this.eventsToUnbind||(this.eventsToUnbind=[]),this.eventsToUnbind.push(Bi(this.chart,"redraw",function(){let t=this.navigator,e=t&&(t.baseSeries&&t.baseSeries[0]&&t.baseSeries[0].xAxis||this.xAxis[0]);e&&t.render(e.min,e.max)}),Bi(this.chart,"getMargins",function(){let t=this.navigator,e=t.opposite?"plotTop":"marginBottom";this.inverted&&(e=t.opposite?"marginRight":"plotLeft"),this[e]=(this[e]||0)+(t.navigatorEnabled||!this.inverted?t.height+t.scrollbarHeight:0)+t.navigatorOptions.margin}),Bi(Zi,"setRange",function(t){this.chart.xAxis[0].setExtremes(t.min,t.max,t.redraw,t.animation,t.eventArguments)}))}destroy(){this.removeEvents(),this.xAxis&&(Xi(this.chart.xAxis,this.xAxis),Xi(this.chart.axes,this.xAxis)),this.yAxis&&(Xi(this.chart.yAxis,this.yAxis),Xi(this.chart.axes,this.yAxis)),(this.series||[]).forEach(t=>{t.destroy&&t.destroy()}),["series","xAxis","yAxis","shades","outline","scrollbarTrack","scrollbarRifles","scrollbarGroup","scrollbar","navigatorGroup","rendered"].forEach(t=>{this[t]&&this[t].destroy&&this[t].destroy(),this[t]=null}),[this.handles].forEach(t=>{Hi(t)}),this.navigatorEnabled=!1}}let{animObject:Ji}=w(),{format:Qi}=L(),{clamp:ts,pick:es,syncTimeout:is}=w(),{getFakeMouseEvent:ss}=T,{getAxisRangeDescription:os,fireEventOnWrappedOrUnwrappedElement:rs}=Y,ns=class extends ${init(){let t=this.chart,e=this;this.announcer=new ut(t,"polite"),this.addEvent(Zi,"afterRender",function(){this.chart===e.chart&&this.chart.renderer&&is(()=>{e.proxyProvider.updateGroupProxyElementPositions("navigator"),e.updateHandleValues()},Ji(es(this.chart.renderer.globalAnimation,!0)).duration)})}onChartUpdate(){let t=this.chart,e=t.options,i=e.navigator;if(i.enabled&&i.accessibility?.enabled){let i=e.accessibility.landmarkVerbosity,s=e.lang.accessibility?.navigator.groupLabel;this.proxyProvider.removeGroup("navigator"),this.proxyProvider.addGroup("navigator","div",{role:"all"===i?"region":"group","aria-label":Qi(s,{chart:t},t)});let o=e.lang.accessibility?.navigator.handleLabel;[0,1].forEach(e=>{let i=this.getHandleByIx(e);if(i){let s=this.proxyProvider.addProxyElement("navigator",{click:i},"input",{type:"range","aria-label":Qi(o,{handleIx:e,chart:t},t)});this[e?"maxHandleProxy":"minHandleProxy"]=s.innerElement,s.innerElement.style.pointerEvents="none",s.innerElement.oninput=()=>this.updateNavigator()}}),this.updateHandleValues()}else this.proxyProvider.removeGroup("navigator")}getNavigatorHandleNavigation(t){let e=this,i=this.chart,s=t?this.maxHandleProxy:this.minHandleProxy,o=this.keyCodes;return new J(i,{keyCodeMap:[[[o.left,o.right,o.up,o.down],function(r){if(s){let n=r===o.left||r===o.up?-1:1;s.value=""+ts(parseFloat(s.value)+n,0,100),e.updateNavigator(()=>{let o=e.getHandleByIx(t);o&&i.setFocusToElement(o,s)})}return this.response.success}]],init:()=>{i.setFocusToElement(this.getHandleByIx(t),s)},validate:()=>!!(this.getHandleByIx(t)&&s&&i.options.navigator.accessibility?.enabled)})}getKeyboardNavigation(){return[this.getNavigatorHandleNavigation(0),this.getNavigatorHandleNavigation(1)]}destroy(){this.updateNavigatorThrottleTimer&&clearTimeout(this.updateNavigatorThrottleTimer),this.proxyProvider.removeGroup("navigator"),this.announcer&&this.announcer.destroy()}updateHandleValues(){let t=this.chart.navigator;if(t&&this.minHandleProxy&&this.maxHandleProxy){let e=t.size;this.minHandleProxy.value=""+Math.round(t.zoomedMin/e*100),this.maxHandleProxy.value=""+Math.round(t.zoomedMax/e*100)}}getHandleByIx(t){let e=this.chart.navigator;return e&&e.handles&&e.handles[t]}updateNavigator(t){this.updateNavigatorThrottleTimer&&clearTimeout(this.updateNavigatorThrottleTimer),this.updateNavigatorThrottleTimer=setTimeout((t=>{let e=this.chart,{navigator:i,pointer:s}=e;if(i&&s&&this.minHandleProxy&&this.maxHandleProxy){let o=s.getChartPosition(),r=parseFloat(this.minHandleProxy.value)/100*i.size,n=parseFloat(this.maxHandleProxy.value)/100*i.size;[[0,"mousedown",i.zoomedMin],[0,"mousemove",r],[0,"mouseup",r],[1,"mousedown",i.zoomedMax],[1,"mousemove",n],[1,"mouseup",n]].forEach(([t,e,s])=>{let r=this.getHandleByIx(t)?.element;r&&rs(r,ss(e,{x:o.left+i.left+s,y:o.top+i.top},r))}),t&&t();let a=e.options.lang.accessibility?.navigator.changeAnnouncement,l=os(e.xAxis[0]);this.announcer.announce(Qi(a,{axisRangeDescription:l,chart:e},e))}}).bind(this,t),20)}},{getPointAnnotationTexts:as}=vt,{getAxisDescription:ls,getSeriesFirstPointElement:hs,getSeriesA11yElement:cs,unhideChartElementFromAT:ds}=Y,{format:ps,numberFormat:us}=L(),{reverseChildNodes:gs,stripHTMLTagsFromString:fs}=T,{find:ms,isNumber:bs,isString:xs,pick:ys,defined:vs}=w();function ws(t){let e=t.chart.options.accessibility.series.pointDescriptionEnabledThreshold;return!!(!1!==e&&t.points&&t.points.length>=+e)}function ks(t,e){let i=t.series,s=i.chart,o=s.options.accessibility.point||{},r=i.options.accessibility&&i.options.accessibility.point||{},n=i.tooltipOptions||{},a=s.options.lang;return bs(e)?us(e,r.valueDecimals||o.valueDecimals||n.valueDecimals||-1,a.decimalPoint,a.accessibility.thousandsSep||a.thousandsSep):e}function As(t,e){let i=t[e];return t.chart.langFormat("accessibility.series."+e+"Description",{name:ls(i),series:t})}function Ms(t){let e=t.series,i=e.chart.series.length>1||e.options.name,s=function(t){let e=t.series,i=e.chart,s=e.options.accessibility,o=s&&s.point&&s.point.valueDescriptionFormat||i.options.accessibility.point.valueDescriptionFormat,r=ys(e.xAxis&&e.xAxis.options.accessibility&&e.xAxis.options.accessibility.enabled,!i.angular&&"flowmap"!==e.type),n=r?function(t){let e=function(t){let e=t.series,i=e.chart,s=e.options.accessibility&&e.options.accessibility.point||{},o=i.options.accessibility.point||{},r=e.xAxis&&e.xAxis.dateTime;if(r){let e=r.getXDateFormat(t.x||0,i.options.tooltip.dateTimeLabelFormats),n=s.dateFormatter&&s.dateFormatter(t)||o.dateFormatter&&o.dateFormatter(t)||s.dateFormat||o.dateFormat||e;return i.time.dateFormat(n,t.x||0,void 0)}}(t),i=(t.series.xAxis||{}).categories&&vs(t.category)&&(""+t.category).replace("<br/>"," "),s=vs(t.id)&&0>(""+t.id).indexOf("highcharts-"),o="x, "+t.x;return t.name||e||i||(s?t.id:o)}(t):"";return ps(o,{point:t,index:vs(t.index)?t.index+1:"",xDescription:n,value:function(t){let e=t.series,i=e.chart.options.accessibility.point||{},s=e.chart.options.accessibility&&e.chart.options.accessibility.point||{},o=e.tooltipOptions||{},r=s.valuePrefix||i.valuePrefix||o.valuePrefix||"",n=s.valueSuffix||i.valueSuffix||o.valueSuffix||"",a=ks(t,t[void 0!==t.value?"value":"y"]);return t.isNull?e.chart.langFormat("accessibility.series.nullPointValue",{point:t}):e.pointArrayMap?function(t,e,i){let s=e||"",o=i||"",r=function(e){let i=ks(t,ys(t[e],t.options[e]));return void 0!==i?e+": "+s+i+o:i};return t.series.pointArrayMap.reduce(function(t,e){let i=r(e);return i?t+(t.length?", ":"")+i:t},"")}(t,r,n):r+a+n}(t),separator:r?", ":""},i)}(t),o=t.options&&t.options.accessibility&&t.options.accessibility.description,r=i?" "+e.name+".":"",n=function(t){let e=t.series.chart,i=as(t);return i.length?e.langFormat("accessibility.series.pointAnnotationsDescription",{point:t,annotations:i}):""}(t);return t.accessibility=t.accessibility||{},t.accessibility.valueDescription=s,s+(o?" "+o:"")+r+(n?" "+n:"")}function Cs(t){let e=t.chart,i=e.types||[],s=function(t){let e=(t.options.accessibility||{}).description;return e&&t.chart.langFormat("accessibility.series.description",{description:e,series:t})||""}(t),o=function(i){return e[i]&&e[i].length>1&&t[i]},r=t.index+1,n=As(t,"xAxis"),a=As(t,"yAxis"),l={seriesNumber:r,series:t,chart:e},h=i.length>1?"Combination":"",c=e.langFormat("accessibility.series.summary."+t.type+h,l)||e.langFormat("accessibility.series.summary.default"+h,l),d=(o("yAxis")?" "+a+".":"")+(o("xAxis")?" "+n+".":"");return ps(ys(t.options.accessibility&&t.options.accessibility.descriptionFormat,e.options.accessibility.series.descriptionFormat,""),{seriesDescription:c,authorDescription:s?" "+s:"",axisDescription:d,series:t,chart:e,seriesNumber:r},void 0)}let Ps={defaultPointDescriptionFormatter:Ms,defaultSeriesDescriptionFormatter:Cs,describeSeries:function(t){let e=t.chart,i=hs(t),s=cs(t),o=e.is3d&&e.is3d();s&&(s.lastChild!==i||o||gs(s),function(t){let e=function(t){let e=t.options.accessibility||{};return!ws(t)&&!e.exposeAsGroupOnly}(t),i=function(t){let e=t.chart.options.accessibility.keyboardNavigation.seriesNavigation;return!(!t.points||!(t.points.length<+e.pointNavigationEnabledThreshold||!1===e.pointNavigationEnabledThreshold))}(t),s=t.chart.options.accessibility.point.describeNull;(e||i)&&t.points.forEach(i=>{let o=i.graphic&&i.graphic.element||function(t){let e=t.series,i=e&&e.chart,s=e&&e.is("sunburst"),o=t.isNull,r=i&&i.options.accessibility.point.describeNull;return o&&!s&&r}(i)&&function(t){let e=t.series,i=function(t){let e=t.index;return t.series&&t.series.data&&vs(e)&&ms(t.series.data,function(t){return!!(t&&void 0!==t.index&&t.index>e&&t.graphic&&t.graphic.element)})||null}(t),s=i&&i.graphic,o=s?s.parentGroup:e.graph||e.group,r=function(t,e){let i=t.series.chart.renderer.rect(e.x,e.y,1,1);return i.attr({class:"highcharts-a11y-mock-point",fill:"none",opacity:0,"fill-opacity":0,"stroke-opacity":0}),i}(t,i?{x:ys(t.plotX,i.plotX,0),y:ys(t.plotY,i.plotY,0)}:{x:ys(t.plotX,0),y:ys(t.plotY,0)});if(o&&o.element)return t.graphic=r,t.hasMockGraphic=!0,r.add(o),o.element.insertBefore(r.element,s?s.element:null),r.element}(i),r=i.options&&i.options.accessibility&&!1===i.options.accessibility.enabled;if(o){if(i.isNull&&!s)return void o.setAttribute("aria-hidden",!0);o.setAttribute("tabindex","-1"),t.chart.styledMode||(o.style.outline="none"),e&&!r?function(t,e){let i=t.series,s=i.options.accessibility?.point||{},o=i.chart.options.accessibility.point||{},r=fs(xs(s.descriptionFormat)&&ps(s.descriptionFormat,t,i.chart)||s.descriptionFormatter?.(t)||xs(o.descriptionFormat)&&ps(o.descriptionFormat,t,i.chart)||o.descriptionFormatter?.(t)||Ms(t),i.chart.renderer.forExport);e.setAttribute("role","img"),e.setAttribute("aria-label",r)}(i,o):o.setAttribute("aria-hidden",!0)}})}(t),ds(e,s),function(t){let e=t.chart,i=e.options.chart,s=i.options3d&&i.options3d.enabled,o=e.series.length>1,r=e.options.accessibility.series.describeSingleSeries,n=(t.options.accessibility||{}).exposeAsGroupOnly;return!(s&&o)&&(o||r||n||ws(t))}(t)?function(t,e){let i=t.options.accessibility||{},s=t.chart.options.accessibility,o=s.landmarkVerbosity;i.exposeAsGroupOnly?e.setAttribute("role","img"):"all"===o?e.setAttribute("role","region"):e.setAttribute("role","group"),e.setAttribute("tabindex","-1"),t.chart.styledMode||(e.style.outline="none"),e.setAttribute("aria-label",fs(s.series.descriptionFormatter&&s.series.descriptionFormatter(t)||Cs(t),t.chart.renderer.forExport))}(t,s):s.removeAttribute("aria-label"))}},{composed:Ss}=w(),{addEvent:Ts,defined:Es,pushUnique:Ls}=w(),{getChartTitle:Os}=Y,{defaultPointDescriptionFormatter:Ds,defaultSeriesDescriptionFormatter:Is}=Ps;function Ns(t){return!!t.options.accessibility.announceNewData.enabled}class Bs{constructor(t){this.dirty={allSeries:{}},this.lastAnnouncementTime=0,this.chart=t}init(){let t=this.chart,e=t.options.accessibility.announceNewData.interruptUser?"assertive":"polite";this.lastAnnouncementTime=0,this.dirty={allSeries:{}},this.eventProvider=new U,this.announcer=new ut(t,e),this.addEventListeners()}destroy(){this.eventProvider.removeAddedEvents(),this.announcer.destroy()}addEventListeners(){let t=this,e=this.chart,i=this.eventProvider;i.addEvent(e,"afterApplyDrilldown",function(){t.lastAnnouncementTime=0}),i.addEvent(e,"afterAddSeries",function(e){t.onSeriesAdded(e.series)}),i.addEvent(e,"redraw",function(){t.announceDirtyData()})}onSeriesAdded(t){Ns(this.chart)&&(this.dirty.hasDirty=!0,this.dirty.allSeries[t.name+t.index]=t,this.dirty.newSeries=Es(this.dirty.newSeries)?void 0:t)}announceDirtyData(){let t=this.chart,e=this;if(t.options.accessibility.announceNewData&&this.dirty.hasDirty){let t=this.dirty.newPoint;t&&(t=function(t){let e=t.series.data.filter(e=>t.x===e.x&&t.y===e.y);return 1===e.length?e[0]:t}(t)),this.queueAnnouncement(Object.keys(this.dirty.allSeries).map(t=>e.dirty.allSeries[t]),this.dirty.newSeries,t),this.dirty={allSeries:{}}}}queueAnnouncement(t,e,i){let s=this.chart.options.accessibility.announceNewData;if(s.enabled){let o=+new Date,r=o-this.lastAnnouncementTime,n=Math.max(0,s.minAnnounceInterval-r),a=function(t,e){let i=(t||[]).concat(e||[]).reduce((t,e)=>(t[e.name+e.index]=e,t),{});return Object.keys(i).map(t=>i[t])}(this.queuedAnnouncement&&this.queuedAnnouncement.series,t),l=this.buildAnnouncementMessage(a,e,i);l&&(this.queuedAnnouncement&&clearTimeout(this.queuedAnnouncementTimer),this.queuedAnnouncement={time:o,message:l,series:a},this.queuedAnnouncementTimer=setTimeout(()=>{this&&this.announcer&&(this.lastAnnouncementTime=+new Date,this.announcer.announce(this.queuedAnnouncement.message),delete this.queuedAnnouncement,delete this.queuedAnnouncementTimer)},n))}}buildAnnouncementMessage(t,e,i){let s=this.chart,o=s.options.accessibility.announceNewData;if(o.announcementFormatter){let s=o.announcementFormatter(t,e,i);if(!1!==s)return s.length?s:null}let r=w().charts&&w().charts.length>1?"Multiple":"Single",n=e?"newSeriesAnnounce"+r:i?"newPointAnnounce"+r:"newDataAnnounce",a=Os(s);return s.langFormat("accessibility.announceNewData."+n,{chartTitle:a,seriesDesc:e?Is(e):null,pointDesc:i?Ds(i):null,point:i,series:e})}}!function(t){function e(t){let e=this.chart,i=e.accessibility?.components.series.newDataAnnouncer;i&&i.chart===e&&Ns(e)&&(i.dirty.newPoint=Es(i.dirty.newPoint)?void 0:t.point)}function i(){let t=this.chart,e=t.accessibility?.components.series.newDataAnnouncer;e&&e.chart===t&&Ns(t)&&(e.dirty.hasDirty=!0,e.dirty.allSeries[this.name+this.index]=this)}t.compose=function(t){Ls(Ss,"A11y.NDA")&&(Ts(t,"addPoint",e),Ts(t,"updatedData",i))}}(Bs||(Bs={}));let Rs=Bs,{doc:zs}=w(),{attr:Fs,css:Hs,merge:Xs}=w(),{fireEventOnWrappedOrUnwrappedElement:Ws}=Y,{cloneMouseEvent:Ys,cloneTouchEvent:js,getFakeMouseEvent:Gs,removeElement:_s}=T,qs=class{constructor(t,e,i="button",s,o){this.chart=t,this.target=e,this.eventProvider=new U;let r=this.innerElement=zs.createElement(i),n=this.element=s?zs.createElement(s):r;t.styledMode||this.hideElementVisually(r),s&&("li"!==s||t.styledMode||(n.style.listStyle="none"),n.appendChild(r),this.element=n),this.updateTarget(e,o)}click(){let t=this.getTargetPosition();t.x+=t.width/2,t.y+=t.height/2;let e=Gs("click",t);Ws(this.target.click,e)}updateTarget(t,e){this.target=t,this.updateCSSClassName();let i=e||{};Object.keys(i).forEach(t=>{null===i[t]&&delete i[t]});let s=this.getTargetAttr(t.click,"aria-label");Fs(this.innerElement,Xs(s?{"aria-label":s}:{},i)),this.eventProvider.removeAddedEvents(),this.addProxyEventsToElement(this.innerElement,t.click),this.refreshPosition()}refreshPosition(){let t=this.getTargetPosition();Hs(this.innerElement,{width:(t.width||1)+"px",height:(t.height||1)+"px",left:(Math.round(t.x)||0)+"px",top:(Math.round(t.y)||0)+"px"})}remove(){this.eventProvider.removeAddedEvents(),_s(this.element)}updateCSSClassName(){let t=t=>t.indexOf("highcharts-no-tooltip")>-1,e=this.chart.legend,i=e.group&&e.group.div,s=t(i&&i.className||""),o=t(this.getTargetAttr(this.target.click,"class")||"");this.innerElement.className=s||o?"highcharts-a11y-proxy-element highcharts-no-tooltip":"highcharts-a11y-proxy-element"}addProxyEventsToElement(t,e){["click","touchstart","touchend","touchcancel","touchmove","mouseover","mouseenter","mouseleave","mouseout"].forEach(i=>{let s=0===i.indexOf("touch");this.eventProvider.addEvent(t,i,t=>{let i=s?js(t):Ys(t);e&&Ws(e,i),t.stopPropagation(),s||t.preventDefault()},{passive:!1})})}hideElementVisually(t){Hs(t,{borderWidth:0,backgroundColor:"transparent",cursor:"pointer",outline:"none",opacity:.001,filter:"alpha(opacity=1)",zIndex:999,overflow:"hidden",padding:0,margin:0,display:"block",position:"absolute","-ms-filter":"progid:DXImageTransform.Microsoft.Alpha(Opacity=1)"})}getTargetPosition(){let t=this.target.click,e=t.element?t.element:t,i=this.target.visual||e,s=this.chart.renderTo,o=this.chart.pointer;if(s&&i?.getBoundingClientRect&&o){let t=i.getBoundingClientRect(),e=o.getChartPosition();return{x:(t.left-e.left)/e.scaleX,y:(t.top-e.top)/e.scaleY,width:t.right/e.scaleX-t.left/e.scaleX,height:t.bottom/e.scaleY-t.top/e.scaleY}}return{x:0,y:0,width:1,height:1}}getTargetAttr(t,e){return t.element?t.element.getAttribute(e):t.getAttribute(e)}},{doc:Us}=w(),{attr:Vs,css:Ks}=w(),{unhideChartElementFromAT:$s}=Y,{removeChildNodes:Zs}=T,Js=class{constructor(t){this.chart=t,this.domElementProvider=new _,this.groups={},this.groupOrder=[],this.beforeChartProxyPosContainer=this.createProxyPosContainer("before"),this.afterChartProxyPosContainer=this.createProxyPosContainer("after"),this.update()}addProxyElement(t,e,i="button",s){let o=this.groups[t];if(!o)throw Error("ProxyProvider.addProxyElement: Invalid group key "+t);let r="ul"===o.type||"ol"===o.type?"li":void 0,n=new qs(this.chart,e,i,r,s);return o.proxyContainerElement.appendChild(n.element),o.proxyElements.push(n),n}addGroup(t,e="div",i){let s,o=this.groups[t];if(o)return o.groupElement;let r=this.domElementProvider.createElement(e);return i&&i.role&&"div"!==e?(s=this.domElementProvider.createElement("div")).appendChild(r):s=r,s.className="highcharts-a11y-proxy-group highcharts-a11y-proxy-group-"+t.replace(/\W/g,"-"),this.groups[t]={proxyContainerElement:r,groupElement:s,type:e,proxyElements:[]},Vs(s,i||{}),"ul"===e&&r.setAttribute("role","list"),this.afterChartProxyPosContainer.appendChild(s),this.updateGroupOrder(this.groupOrder),s}updateGroupAttrs(t,e){let i=this.groups[t];if(!i)throw Error("ProxyProvider.updateGroupAttrs: Invalid group key "+t);Vs(i.groupElement,e)}updateGroupOrder(t){if(this.groupOrder=t.slice(),this.isDOMOrderGroupOrder())return;let e=t.indexOf("series"),i=e>-1?t.slice(0,e):t,s=e>-1?t.slice(e+1):[],o=Us.activeElement;["before","after"].forEach(t=>{let e=this["before"===t?"beforeChartProxyPosContainer":"afterChartProxyPosContainer"];Zs(e),("before"===t?i:s).forEach(t=>{let i=this.groups[t];i&&e.appendChild(i.groupElement)})}),(this.beforeChartProxyPosContainer.contains(o)||this.afterChartProxyPosContainer.contains(o))&&o&&o.focus&&o.focus()}clearGroup(t){let e=this.groups[t];if(!e)throw Error("ProxyProvider.clearGroup: Invalid group key "+t);Zs(e.proxyContainerElement)}removeGroup(t){let e=this.groups[t];e&&(this.domElementProvider.removeElement(e.groupElement),e.groupElement!==e.proxyContainerElement&&this.domElementProvider.removeElement(e.proxyContainerElement),delete this.groups[t])}update(){this.updatePosContainerPositions(),this.updateGroupOrder(this.groupOrder),this.updateProxyElementPositions()}updateProxyElementPositions(){Object.keys(this.groups).forEach(this.updateGroupProxyElementPositions.bind(this))}updateGroupProxyElementPositions(t){let e=this.groups[t];e&&e.proxyElements.forEach(t=>t.refreshPosition())}destroy(){this.domElementProvider.destroyCreatedElements()}createProxyPosContainer(t){let e=this.domElementProvider.createElement("div");return e.setAttribute("aria-hidden","false"),e.className="highcharts-a11y-proxy-container"+(t?"-"+t:""),Ks(e,{top:"0",left:"0"}),this.chart.styledMode||(e.style.whiteSpace="nowrap",e.style.position="absolute"),e}getCurrentGroupOrderInDOM(){let t=t=>{let e=Object.keys(this.groups),i=e.length;for(;i--;){let s=e[i],o=this.groups[s];if(o&&t===o.groupElement)return s}},e=e=>{let i=[],s=e.children;for(let e=0;e<s.length;++e){let o=t(s[e]);o&&i.push(o)}return i},i=e(this.beforeChartProxyPosContainer),s=e(this.afterChartProxyPosContainer);return i.push("series"),i.concat(s)}isDOMOrderGroupOrder(){let t=this.getCurrentGroupOrderInDOM(),e=this.groupOrder.filter(t=>"series"===t||!!this.groups[t]),i=t.length;if(i!==e.length)return!1;for(;i--;)if(t[i]!==e[i])return!1;return!0}updatePosContainerPositions(){let t=this.chart;if(t.renderer.forExport)return;let e=t.renderer.box;t.container.insertBefore(this.afterChartProxyPosContainer,e.nextSibling),t.container.insertBefore(this.beforeChartProxyPosContainer,e),$s(this.chart,this.afterChartProxyPosContainer),$s(this.chart,this.beforeChartProxyPosContainer)}},{unhideChartElementFromAT:Qs,getAxisRangeDescription:to}=Y,{addEvent:eo,attr:io}=w();class so extends ${init(){let t=this.chart;this.announcer=new ut(t,"polite")}onChartUpdate(){let t=this.chart,e=this,i=t.rangeSelector;i&&(this.updateSelectorVisibility(),this.setDropdownAttrs(),i.buttons&&i.buttons.length&&i.buttons.forEach(t=>{e.setRangeButtonAttrs(t)}),i.maxInput&&i.minInput&&["minInput","maxInput"].forEach(function(s,o){let r=i[s];r&&(Qs(t,r),e.setRangeInputAttrs(r,"accessibility.rangeSelector."+(o?"max":"min")+"InputLabel"))}))}updateSelectorVisibility(){let t=this.chart,e=t.rangeSelector,i=e&&e.dropdown,s=e&&e.buttons||[],o=t=>t.setAttribute("aria-hidden",!0);e&&e.hasVisibleDropdown&&i?(Qs(t,i),s.forEach(t=>o(t.element))):(i&&o(i),s.forEach(e=>Qs(t,e.element)))}setDropdownAttrs(){let t=this.chart,e=t.rangeSelector&&t.rangeSelector.dropdown;if(e){let i=t.langFormat("accessibility.rangeSelector.dropdownLabel",{rangeTitle:t.options.lang.rangeSelectorZoom});e.setAttribute("aria-label",i),e.setAttribute("tabindex",-1)}}setRangeButtonAttrs(t){io(t.element,{tabindex:-1,role:"button"})}setRangeInputAttrs(t,e){let i=this.chart;io(t,{tabindex:-1,"aria-label":i.langFormat(e,{chart:i})})}onButtonNavKbdArrowKey(t,e){let i=t.response,s=this.keyCodes,o=this.chart,r=o.options.accessibility.keyboardNavigation.wrapAround,n=e===s.left||e===s.up?-1:1;return o.highlightRangeSelectorButton(o.highlightedRangeSelectorItemIx+n)?i.success:r?(t.init(n),i.success):i[n>0?"next":"prev"]}onButtonNavKbdClick(t){let e=t.response,i=this.chart;return 3!==i.oldRangeSelectorItemState&&this.fakeClickEvent(i.rangeSelector.buttons[i.highlightedRangeSelectorItemIx].element),e.success}onAfterBtnClick(){let t=this.chart,e=to(t.xAxis[0]),i=t.langFormat("accessibility.rangeSelector.clickButtonAnnouncement",{chart:t,axisRangeDescription:e});i&&this.announcer.announce(i)}onInputKbdMove(t){let e=this.chart,i=e.rangeSelector,s=e.highlightedInputRangeIx=(e.highlightedInputRangeIx||0)+t;if(s>1||s<0){if(e.accessibility)return e.accessibility.keyboardNavigation.exiting=!0,e.accessibility.keyboardNavigation.tabindexContainer.focus(),e.accessibility.keyboardNavigation.move(t)}else if(i){let t=i[s?"maxDateBox":"minDateBox"],o=i[s?"maxInput":"minInput"];t&&o&&e.setFocusToElement(t,o)}return!0}onInputNavInit(t){let e=this,i=this.chart,s=t>0?0:1,o=i.rangeSelector,r=o&&o[s?"maxDateBox":"minDateBox"],n=o&&o.minInput,a=o&&o.maxInput;if(i.highlightedInputRangeIx=s,r&&n&&a){i.setFocusToElement(r,s?a:n),this.removeInputKeydownHandler&&this.removeInputKeydownHandler();let t=t=>{(t.which||t.keyCode)===this.keyCodes.tab&&e.onInputKbdMove(t.shiftKey?-1:1)&&(t.preventDefault(),t.stopPropagation())},o=eo(n,"keydown",t),l=eo(a,"keydown",t);this.removeInputKeydownHandler=()=>{o(),l()}}}onInputNavTerminate(){let t=this.chart.rangeSelector||{};t.maxInput&&t.hideInput("max"),t.minInput&&t.hideInput("min"),this.removeInputKeydownHandler&&(this.removeInputKeydownHandler(),delete this.removeInputKeydownHandler)}initDropdownNav(){let t=this.chart,e=t.rangeSelector,i=e&&e.dropdown;e&&i&&(t.setFocusToElement(e.buttonGroup,i),this.removeDropdownKeydownHandler&&this.removeDropdownKeydownHandler(),this.removeDropdownKeydownHandler=eo(i,"keydown",e=>{let i=(e.which||e.keyCode)===this.keyCodes.tab,s=t.accessibility;i&&(e.preventDefault(),e.stopPropagation(),s&&s.keyboardNavigation.move(e.shiftKey?-1:1))}))}getRangeSelectorButtonNavigation(){let t=this.chart,e=this.keyCodes,i=this;return new J(t,{keyCodeMap:[[[e.left,e.right,e.up,e.down],function(t){return i.onButtonNavKbdArrowKey(this,t)}],[[e.enter,e.space],function(){return i.onButtonNavKbdClick(this)}]],validate:function(){return!!(t.rangeSelector&&t.rangeSelector.buttons&&t.rangeSelector.buttons.length)},init:function(e){let s=t.rangeSelector;if(s&&s.hasVisibleDropdown)i.initDropdownNav();else if(s){let i=s.buttons.length-1;t.highlightRangeSelectorButton(e>0?0:i)}},terminate:function(){i.removeDropdownKeydownHandler&&(i.removeDropdownKeydownHandler(),delete i.removeDropdownKeydownHandler)}})}getRangeSelectorInputNavigation(){let t=this.chart,e=this;return new J(t,{keyCodeMap:[],validate:function(){return!!(t.rangeSelector&&t.rangeSelector.inputGroup&&"hidden"!==t.rangeSelector.inputGroup.element.style.visibility&&!1!==t.options.rangeSelector.inputEnabled&&t.rangeSelector.minInput&&t.rangeSelector.maxInput)},init:function(t){e.onInputNavInit(t)},terminate:function(){e.onInputNavTerminate()}})}getKeyboardNavigation(){return[this.getRangeSelectorButtonNavigation(),this.getRangeSelectorInputNavigation()]}destroy(){this.removeDropdownKeydownHandler&&this.removeDropdownKeydownHandler(),this.removeInputKeydownHandler&&this.removeInputKeydownHandler(),this.announcer&&this.announcer.destroy()}}!function(t){function e(t){let e=this.rangeSelector&&this.rangeSelector.buttons||[],i=this.highlightedRangeSelectorItemIx,s=this.rangeSelector&&this.rangeSelector.selected;return void 0!==i&&e[i]&&i!==s&&e[i].setState(this.oldRangeSelectorItemState||0),this.highlightedRangeSelectorItemIx=t,!!e[t]&&(this.setFocusToElement(e[t].box,e[t].element),t!==s&&(this.oldRangeSelectorItemState=e[t].state,e[t].setState(1)),!0)}function i(){let t=this.chart.accessibility;if(t&&t.components.rangeSelector)return t.components.rangeSelector.onAfterBtnClick()}t.compose=function(t,s){let o=t.prototype;o.highlightRangeSelectorButton||(o.highlightRangeSelectorButton=e,eo(s,"afterBtnClick",i))}}(so||(so={}));let oo=so,{composed:ro}=w(),{addEvent:no,merge:ao,pushUnique:lo}=w();!function(t){function e(t){ao(!0,t,{marker:{enabled:!0,states:{normal:{opacity:0}}}})}function i(t){return t.marker.states&&t.marker.states.normal&&t.marker.states.normal.opacity}function s(t){return!!(t._hasPointMarkers&&t.points&&t.points.length)}function o(){this.chart.styledMode&&(this.markerGroup&&this.markerGroup[this.a11yMarkersForced?"addClass":"removeClass"]("highcharts-a11y-markers-hidden"),s(this)&&this.points.forEach(t=>{t.graphic&&(t.graphic[t.hasForcedA11yMarker?"addClass":"removeClass"]("highcharts-a11y-marker-hidden"),t.graphic[!1===t.hasForcedA11yMarker?"addClass":"removeClass"]("highcharts-a11y-marker-visible"))}))}function r(t){this.resetA11yMarkerOptions=ao(t.options.marker||{},this.userOptions.marker||{})}function n(){let t=this.options;!function(t){let e=t.chart.options.accessibility.enabled,i=!1!==(t.options.accessibility&&t.options.accessibility.enabled);return e&&i&&function(t){let e=t.chart.options.accessibility;return t.points.length<e.series.pointDescriptionEnabledThreshold||!1===e.series.pointDescriptionEnabledThreshold}(t)}(this)?this.a11yMarkersForced&&(delete this.a11yMarkersForced,function(t){let e=t.resetA11yMarkerOptions;if(e){let i=e.states&&e.states.normal&&e.states.normal.opacity;t.userOptions&&t.userOptions.marker&&(t.userOptions.marker.enabled=!0),t.update({marker:{enabled:e.enabled,states:{normal:{opacity:i}}}})}}(this),delete this.resetA11yMarkerOptions):(t.marker&&!1===t.marker.enabled&&(this.a11yMarkersForced=!0,e(this.options)),s(this)&&function(t){let s=t.points.length;for(;s--;){let o=t.points[s],r=o.options,n=o.hasForcedA11yMarker;if(delete o.hasForcedA11yMarker,r.marker){let t=n&&0===i(r);r.marker.enabled&&!t?(ao(!0,r.marker,{states:{normal:{opacity:i(r)||1}}}),o.hasForcedA11yMarker=!1):!1===r.marker.enabled&&(e(r),o.hasForcedA11yMarker=!0)}}}(this))}function a(){this.boosted&&this.a11yMarkersForced&&(ao(!0,this.options,{marker:{enabled:!1}}),delete this.a11yMarkersForced)}t.compose=function(t){lo(ro,"A11y.FM")&&(no(t,"afterSetOptions",r),no(t,"render",n),no(t,"afterRender",o),no(t,"renderCanvas",a))}}(f||(f={}));let ho=f;var co=x(260),po=x.n(co),uo=x(820),go=x.n(uo);let{seriesTypes:fo}=Ge(),{doc:mo}=w(),{defined:bo,fireEvent:xo}=w(),{getPointFromXY:yo,getSeriesFromName:vo,scrollAxisToPoint:wo}=Y;function ko(t){let e=t.index,i=t.series.points,s=i.length;if(i[e]===t)return e;for(;s--;)if(i[s]===t)return s}function Ao(t){let e=t.chart.options.accessibility.keyboardNavigation.seriesNavigation,i=t.options.accessibility||{},s=i.keyboardNavigation;return s&&!1===s.enabled||!1===i.enabled||!1===t.options.enableMouseTracking||!t.visible||e.pointNavigationEnabledThreshold&&+e.pointNavigationEnabledThreshold<=t.points.length}function Mo(t){let e=t.series.chart.options.accessibility,i=t.options.accessibility&&!1===t.options.accessibility.enabled;return t.isNull&&e.keyboardNavigation.seriesNavigation.skipNullPoints||!1===t.visible||!1===t.isInside||i||Ao(t.series)}function Co(t){let e=t.series||[],i=e.length;for(let t=0;t<i;++t)if(!Ao(e[t])){let i=function(t){let e=t.points||[],i=e.length;for(let t=0;t<i;++t)if(!Mo(e[t]))return e[t];return null}(e[t]);if(i)return i}return null}function Po(t){let e=t.series.length,i=!1;for(;e--&&(t.highlightedPoint=t.series[e].points[t.series[e].points.length-1],!(i=t.series[e].highlightNextValidPoint())););return i}function So(t){delete t.highlightedPoint;let e=Co(t);return!!e&&e.highlight()}class To{constructor(t,e){this.keyCodes=e,this.chart=t}init(){let t=this,e=this.chart,i=this.eventProvider=new U;i.addEvent(go(),"destroy",function(){return t.onSeriesDestroy(this)}),i.addEvent(e,"afterApplyDrilldown",function(){!function(t){let e=Co(t);e&&e.highlight(!1)}(this)}),i.addEvent(e,"drilldown",function(e){let i=e.point,s=i.series;t.lastDrilledDownPoint={x:i.x,y:i.y,seriesName:s?s.name:""}}),i.addEvent(e,"drillupall",function(){setTimeout(function(){t.onDrillupAll()},10)}),i.addEvent(po(),"afterSetState",function(){let t=this.graphic&&this.graphic.element,i=mo.activeElement,s=i&&i.getAttribute("class"),o=s&&s.indexOf("highcharts-a11y-proxy-element")>-1;e.highlightedPoint===this&&i!==t&&!o&&t&&t.focus&&t.focus()})}onDrillupAll(){let t,e=this.lastDrilledDownPoint,i=this.chart,s=e&&vo(i,e.seriesName);e&&s&&bo(e.x)&&bo(e.y)&&(t=yo(s,e.x,e.y)),t=t||Co(i),i.container&&i.container.focus(),t&&t.highlight&&t.highlight(!1)}getKeyboardNavigationHandler(){let t=this,e=this.keyCodes,i=this.chart,s=i.inverted;return new J(i,{keyCodeMap:[[s?[e.up,e.down]:[e.left,e.right],function(e){return t.onKbdSideways(this,e)}],[s?[e.left,e.right]:[e.up,e.down],function(e){return t.onKbdVertical(this,e)}],[[e.enter,e.space],function(t,e){let s=i.highlightedPoint;if(s){let{plotLeft:t,plotTop:i}=this.chart,{plotX:o=0,plotY:r=0}=s;e={...e,chartX:t+o,chartY:i+r,point:s,target:s.graphic?.element||e.target},xo(s.series,"click",e),s.firePointEvent("click",e)}return this.response.success}],[[e.home],function(){return So(i),this.response.success}],[[e.end],function(){return Po(i),this.response.success}],[[e.pageDown,e.pageUp],function(t){return i.highlightAdjacentSeries(t===e.pageDown),this.response.success}]],init:function(){return t.onHandlerInit(this)},validate:function(){return!!Co(i)},terminate:function(){return t.onHandlerTerminate()}})}onKbdSideways(t,e){let i=this.keyCodes,s=e===i.right||e===i.down;return this.attemptHighlightAdjacentPoint(t,s)}onHandlerInit(t){let e=this.chart;return e.options.accessibility.keyboardNavigation.seriesNavigation.rememberPointFocus&&e.highlightedPoint?e.highlightedPoint.highlight():So(e),t.response.success}onKbdVertical(t,e){let i=this.chart,s=this.keyCodes,o=e===s.down||e===s.right,r=i.options.accessibility.keyboardNavigation.seriesNavigation;return r.mode&&"serialize"===r.mode?this.attemptHighlightAdjacentPoint(t,o):(i[i.highlightedPoint&&i.highlightedPoint.series.keyboardMoveVertical?"highlightAdjacentPointVertical":"highlightAdjacentSeries"](o),t.response.success)}onHandlerTerminate(){let t=this.chart,e=t.options.accessibility.keyboardNavigation;t.tooltip&&t.tooltip.hide(0);let i=t.highlightedPoint&&t.highlightedPoint.series;i&&i.onMouseOut&&i.onMouseOut(),t.highlightedPoint&&t.highlightedPoint.onMouseOut&&t.highlightedPoint.onMouseOut(),e.seriesNavigation.rememberPointFocus||delete t.highlightedPoint}attemptHighlightAdjacentPoint(t,e){let i=this.chart,s=i.options.accessibility.keyboardNavigation.wrapAround;return i.highlightAdjacentPoint(e)||s&&(e?So(i):Po(i))?t.response.success:t.response[e?"next":"prev"]}onSeriesDestroy(t){let e=this.chart;e.highlightedPoint&&e.highlightedPoint.series===t&&(delete e.highlightedPoint,e.focusElement&&e.focusElement.removeFocusBorder())}destroy(){this.eventProvider.removeAddedEvents()}}!function(t){function e(t){let e,i,s=this.series,o=this.highlightedPoint,r=o&&ko(o)||0,n=o&&o.series.points||[],a=this.series&&this.series[this.series.length-1],l=a&&a.points&&a.points[a.points.length-1];if(!s[0]||!s[0].points)return!1;if(o){if(e=s[o.series.index+(t?1:-1)],(i=n[r+(t?1:-1)])||!e||(i=e.points[t?0:e.points.length-1]),!i)return!1}else i=t?s[0].points[0]:l;return Mo(i)?(Ao(e=i.series)?this.highlightedPoint=t?e.points[e.points.length-1]:e.points[0]:this.highlightedPoint=i,this.highlightAdjacentPoint(t)):i.highlight()}function i(t){let e,i=this.highlightedPoint,s=1/0;return!(!bo(i.plotX)||!bo(i.plotY))&&(this.series.forEach(o=>{Ao(o)||o.points.forEach(r=>{if(!bo(r.plotY)||!bo(r.plotX)||r===i)return;let n=r.plotY-i.plotY,a=Math.abs(r.plotX-i.plotX),l=Math.abs(n)*Math.abs(n)+a*a*4;o.yAxis&&o.yAxis.reversed&&(n*=-1),!(n<=0&&t||n>=0&&!t||l<5||Mo(r))&&l<s&&(s=l,e=r)})}),!!e&&e.highlight())}function s(t){let e,i,s,o=this.highlightedPoint,r=this.series&&this.series[this.series.length-1],n=r&&r.points&&r.points[r.points.length-1];return this.highlightedPoint?!(!(e=this.series[o.series.index+(t?-1:1)])||!(i=function(t,e){let i,s,o,r=1/0,n=e.points.length,a=t=>!(bo(t.plotX)&&bo(t.plotY));if(!a(t)){for(;n--;)!a(i=e.points[n])&&(o=(t.plotX-i.plotX)*(t.plotX-i.plotX)*4+(t.plotY-i.plotY)*(t.plotY-i.plotY)*1)<r&&(r=o,s=n);return bo(s)?e.points[s]:void 0}}(o,e)))&&(Ao(e)?(i.highlight(),(s=this.highlightAdjacentSeries(t))?s:(o.highlight(),!1)):(i.highlight(),i.series.highlightNextValidPoint())):(e=t?this.series&&this.series[0]:r,!!(i=t?e&&e.points&&e.points[0]:n)&&i.highlight())}function o(t=!0){let e=this.series.chart,i=e.tooltip?.label?.element;!this.isNull&&t?this.onMouseOver():e.tooltip&&e.tooltip.hide(0),wo(this),this.graphic&&(e.setFocusToElement(this.graphic),!t&&e.focusElement&&e.focusElement.removeFocusBorder()),e.highlightedPoint=this;let s=i?.getBoundingClientRect().top;if(i&&s&&s<0){let t=window.scrollY;window.scrollTo({behavior:"smooth",top:t+s})}return this}function r(){let t=this.chart.highlightedPoint,e=(t&&t.series)===this?ko(t):0,i=this.points,s=i.length;if(i&&s){for(let t=e;t<s;++t)if(!Mo(i[t]))return i[t].highlight();for(let t=e;t>=0;--t)if(!Mo(i[t]))return i[t].highlight()}return!1}t.compose=function(t,n,a){let l=t.prototype,h=n.prototype,c=a.prototype;l.highlightAdjacentPoint||(l.highlightAdjacentPoint=e,l.highlightAdjacentPointVertical=i,l.highlightAdjacentSeries=s,h.highlight=o,c.keyboardMoveVertical=!0,["column","gantt","pie"].forEach(t=>{fo[t]&&(fo[t].prototype.keyboardMoveVertical=!1)}),c.highlightNextValidPoint=r)}}(To||(To={}));let Eo=To,{hideSeriesFromAT:Lo}=Y,{describeSeries:Oo}=Ps,Do=class extends ${static compose(t,e,i){Rs.compose(i),ho.compose(i),Eo.compose(t,e,i)}init(){this.newDataAnnouncer=new Rs(this.chart),this.newDataAnnouncer.init(),this.keyboardNavigation=new Eo(this.chart,this.keyCodes),this.keyboardNavigation.init(),this.hideTooltipFromATWhenShown(),this.hideSeriesLabelsFromATWhenShown()}hideTooltipFromATWhenShown(){let t=this;this.chart.tooltip&&this.addEvent(this.chart.tooltip.constructor,"refresh",function(){this.chart===t.chart&&this.label&&this.label.element&&this.label.element.setAttribute("aria-hidden",!0)})}hideSeriesLabelsFromATWhenShown(){this.addEvent(this.chart,"afterDrawSeriesLabels",function(){this.series.forEach(function(t){t.labelBySeries&&t.labelBySeries.attr("aria-hidden",!0)})})}onChartRender(){this.chart.series.forEach(function(t){!1!==(t.options.accessibility&&t.options.accessibility.enabled)&&t.visible&&0!==t.getPointsCollection().length?Oo(t):Lo(t)})}getKeyboardNavigation(){return this.keyboardNavigation.getKeyboardNavigationHandler()}destroy(){this.newDataAnnouncer.destroy(),this.keyboardNavigation.destroy()}},{unhideChartElementFromAT:Io}=Y,{getFakeMouseEvent:No}=T,{attr:Bo,pick:Ro}=w(),zo=class extends ${constructor(){super(...arguments),this.focusedMapNavButtonIx=-1}init(){let t=this,e=this.chart;this.proxyProvider.addGroup("zoom","div"),["afterShowResetZoom","afterApplyDrilldown","drillupall"].forEach(i=>{t.addEvent(e,i,function(){t.updateProxyOverlays()})})}onChartUpdate(){let t=this.chart,e=this;t.mapNavigation&&t.mapNavigation.navButtons.forEach((i,s)=>{Io(t,i.element),e.setMapNavButtonAttrs(i.element,"accessibility.zoom.mapZoom"+(s?"Out":"In"))})}setMapNavButtonAttrs(t,e){let i=this.chart;Bo(t,{tabindex:-1,role:"button","aria-label":i.langFormat(e,{chart:i})})}onChartRender(){this.updateProxyOverlays()}updateProxyOverlays(){let t=this.chart;if(this.proxyProvider.clearGroup("zoom"),t.resetZoomButton&&this.createZoomProxyButton(t.resetZoomButton,"resetZoomProxyButton",t.langFormat("accessibility.zoom.resetZoomButton",{chart:t})),t.drillUpButton&&t.breadcrumbs&&t.breadcrumbs.list){let e=t.breadcrumbs.list[t.breadcrumbs.list.length-1];this.createZoomProxyButton(t.drillUpButton,"drillUpProxyButton",t.langFormat("accessibility.drillUpButton",{chart:t,buttonText:t.breadcrumbs.getButtonText(e)}))}}createZoomProxyButton(t,e,i){this[e]=this.proxyProvider.addProxyElement("zoom",{click:t},"button",{"aria-label":i,tabindex:-1})}getMapZoomNavigation(){let t=this.keyCodes,e=this.chart,i=this;return new J(e,{keyCodeMap:[[[t.up,t.down,t.left,t.right],function(t){return i.onMapKbdArrow(this,t)}],[[t.tab],function(t,e){return i.onMapKbdTab(this,e)}],[[t.space,t.enter],function(){return i.onMapKbdClick(this)}]],validate:function(){return!!(e.mapView&&e.mapNavigation&&e.mapNavigation.navButtons.length)},init:function(t){return i.onMapNavInit(t)}})}onMapKbdArrow(t,e){let i=this.chart,s=this.keyCodes,o=i.container,r=e===s.up||e===s.down,n=e===s.left||e===s.up?1:-1,a=(r?i.plotHeight:i.plotWidth)/10*n,l=10*Math.random(),h={x:o.offsetLeft+i.plotLeft+i.plotWidth/2+l,y:o.offsetTop+i.plotTop+i.plotHeight/2+l},c=r?{x:h.x,y:h.y+a}:{x:h.x+a,y:h.y};return[No("mousedown",h),No("mousemove",c),No("mouseup",c)].forEach(t=>o.dispatchEvent(t)),t.response.success}onMapKbdTab(t,e){let i=this.chart,s=t.response,o=e.shiftKey,r=o&&!this.focusedMapNavButtonIx||!o&&this.focusedMapNavButtonIx;if(i.mapNavigation.navButtons[this.focusedMapNavButtonIx].setState(0),r)return i.mapView&&i.mapView.zoomBy(),s[o?"prev":"next"];this.focusedMapNavButtonIx+=o?-1:1;let n=i.mapNavigation.navButtons[this.focusedMapNavButtonIx];return i.setFocusToElement(n.box,n.element),n.setState(2),s.success}onMapKbdClick(t){let e=this.chart.mapNavigation.navButtons[this.focusedMapNavButtonIx].element;return this.fakeClickEvent(e),t.response.success}onMapNavInit(t){let e=this.chart,i=e.mapNavigation.navButtons[0],s=e.mapNavigation.navButtons[1],o=t>0?i:s;e.setFocusToElement(o.box,o.element),o.setState(2),this.focusedMapNavButtonIx=t>0?0:1}simpleButtonNavigation(t,e,i){let s=this.keyCodes,o=this,r=this.chart;return new J(r,{keyCodeMap:[[[s.tab,s.up,s.down,s.left,s.right],function(t,e){let i=t===s.tab&&e.shiftKey||t===s.left||t===s.up;return this.response[i?"prev":"next"]}],[[s.space,s.enter],function(){return Ro(i(this,r),this.response.success)}]],validate:function(){return r[t]&&r[t].box&&o[e].innerElement},init:function(){r.setFocusToElement(r[t].box,o[e].innerElement)}})}getKeyboardNavigation(){return[this.simpleButtonNavigation("resetZoomButton","resetZoomProxyButton",function(t,e){e.zoomOut()}),this.simpleButtonNavigation("drillUpButton","drillUpProxyButton",function(t,e){return e.drillUp(),t.response.prev}),this.getMapZoomNavigation()]}},{doc:Fo,isMS:Ho,win:Xo}=w(),Wo=function(){let t=/(Edg)/.test(Xo.navigator.userAgent);if(Xo.matchMedia&&t)return Xo.matchMedia("(-ms-high-contrast: active)").matches;if(Ho&&Xo.getComputedStyle){let t=Fo.createElement("div");t.style.backgroundImage="url(data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==)",Fo.body.appendChild(t);let e=(t.currentStyle||Xo.getComputedStyle(t)).backgroundImage;return Fo.body.removeChild(t),"none"===e}return Xo.matchMedia&&Xo.matchMedia("(forced-colors: active)").matches},Yo=function(t){t.highContrastModeActive=!0;let e=t.options.accessibility.highContrastTheme;t.update(e,!1);let i=e.colors?.length>1;t.series.forEach(function(t){let s=e.plotOptions[t.type]||{},o=i&&void 0!==t.colorIndex?e.colors[t.colorIndex]:s.color||"window",r={color:s.color||"windowText",colors:i?e.colors:[s.color||"windowText"],borderColor:s.borderColor||"window",fillColor:o};t.update(r,!1),t.points&&t.points.forEach(function(t){t.options&&t.options.color&&t.update({color:s.color||"windowText",borderColor:s.borderColor||"window"},!1)})}),t.redraw()},{error:jo,pick:Go}=w();function _o(t,e,i){let s,o=t,r=0;for(;r<e.length-1;++r)o=o[s=e[r]]=Go(o[s],{});o[e[e.length-1]]=i}function qo(t,e,i,s){function o(t,e){return e.reduce(function(t,e){return t[e]},t)}let r=o(t.options,e),n=o(t.options,i);Object.keys(s).forEach(function(o){let a=r[o];void 0!==a&&(_o(n,s[o],a),jo(32,!1,t,{[e.join(".")+"."+o]:i.join(".")+"."+s[o].join(".")}))})}let{defaultOptions:Uo}=w(),{doc:Vo}=w(),{addEvent:Ko,extend:$o,fireEvent:Zo,merge:Jo}=w(),{removeElement:Qo}=T;class tr{constructor(t){this.init(t)}init(t){if(this.chart=t,!Vo.addEventListener)return this.zombie=!0,this.components={},void t.renderTo.setAttribute("aria-hidden",!0);(function(t){!function(t){let e=t.options.chart,i=t.options.accessibility||{};["description","typeDescription"].forEach(function(s){e[s]&&(i[s]=e[s],jo(32,!1,t,{[`chart.${s}`]:`use accessibility.${s}`}))})}(t),function(t){t.axes.forEach(function(e){let i=e.options;i&&i.description&&(i.accessibility=i.accessibility||{},i.accessibility.description=i.description,jo(32,!1,t,{"axis.description":"use axis.accessibility.description"}))})}(t),t.series&&function(t){let e={description:["accessibility","description"],exposeElementToA11y:["accessibility","exposeAsGroupOnly"],pointDescriptionFormatter:["accessibility","point","descriptionFormatter"],skipKeyboardNavigation:["accessibility","keyboardNavigation","enabled"],"accessibility.pointDescriptionFormatter":["accessibility","point","descriptionFormatter"]};t.series.forEach(function(i){Object.keys(e).forEach(function(s){let o=i.options[s];"accessibility.pointDescriptionFormatter"===s&&(o=i.options.accessibility&&i.options.accessibility.pointDescriptionFormatter),void 0!==o&&(_o(i.options,e[s],"skipKeyboardNavigation"===s?!o:o),jo(32,!1,t,{[`series.${s}`]:"series."+e[s].join(".")}))})})}(t),qo(t,["accessibility"],["accessibility"],{pointDateFormat:["point","dateFormat"],pointDateFormatter:["point","dateFormatter"],pointDescriptionFormatter:["point","descriptionFormatter"],pointDescriptionThreshold:["series","pointDescriptionEnabledThreshold"],pointNavigationThreshold:["keyboardNavigation","seriesNavigation","pointNavigationEnabledThreshold"],pointValueDecimals:["point","valueDecimals"],pointValuePrefix:["point","valuePrefix"],pointValueSuffix:["point","valueSuffix"],screenReaderSectionFormatter:["screenReaderSection","beforeChartFormatter"],describeSingleSeries:["series","describeSingleSeries"],seriesDescriptionFormatter:["series","descriptionFormatter"],onTableAnchorClick:["screenReaderSection","onViewDataTableClick"],axisRangeDateFormat:["screenReaderSection","axisRangeDateFormat"]}),qo(t,["accessibility","keyboardNavigation"],["accessibility","keyboardNavigation","seriesNavigation"],{skipNullPoints:["skipNullPoints"],mode:["mode"]}),qo(t,["lang","accessibility"],["lang","accessibility"],{legendItem:["legend","legendItem"],legendLabel:["legend","legendLabel"],mapZoomIn:["zoom","mapZoomIn"],mapZoomOut:["zoom","mapZoomOut"],resetZoomButton:["zoom","resetZoomButton"],screenReaderRegionLabel:["screenReaderSection","beforeRegionLabel"],rangeSelectorButton:["rangeSelector","buttonText"],rangeSelectorMaxInput:["rangeSelector","maxInputLabel"],rangeSelectorMinInput:["rangeSelector","minInputLabel"],svgContainerEnd:["screenReaderSection","endOfChartMarker"],viewAsDataTable:["table","viewAsDataTableButtonText"],tableSummary:["table","tableSummary"]})})(t),this.proxyProvider=new Js(this.chart),this.initComponents(),this.keyboardNavigation=new Qt(t,this.components)}initComponents(){let t=this.chart,e=this.proxyProvider,i=t.options.accessibility;this.components={container:new st,infoRegions:new zt,legend:new me,chartMenu:new Gt,rangeSelector:new oo,series:new Do,zoom:new zo,navigator:new ns},i.customComponents&&$o(this.components,i.customComponents);let s=this.components;this.getComponentOrder().forEach(function(i){s[i].initBase(t,e),s[i].init()})}getComponentOrder(){return this.components?this.components.series?["series"].concat(Object.keys(this.components).filter(t=>"series"!==t)):Object.keys(this.components):[]}update(){let t=this.components,e=this.chart,i=e.options.accessibility;Zo(e,"beforeA11yUpdate"),e.types=this.getChartTypes();let s=i.keyboardNavigation.order;this.proxyProvider.updateGroupOrder(s),this.getComponentOrder().forEach(function(i){t[i].onChartUpdate(),Zo(e,"afterA11yComponentUpdate",{name:i,component:t[i]})}),this.keyboardNavigation.update(s),!e.highContrastModeActive&&!1!==i.highContrastMode&&(Wo()||!0===i.highContrastMode)&&Yo(e),Zo(e,"afterA11yUpdate",{accessibility:this})}destroy(){let t=this.chart||{},e=this.components;Object.keys(e).forEach(function(t){e[t].destroy(),e[t].destroyBase()}),this.proxyProvider&&this.proxyProvider.destroy(),t.announcerContainer&&Qo(t.announcerContainer),this.keyboardNavigation&&this.keyboardNavigation.destroy(),t.renderTo&&t.renderTo.setAttribute("aria-hidden",!0),t.focusElement&&t.focusElement.removeFocusBorder()}getChartTypes(){let t={};return this.chart.series.forEach(function(e){t[e.type]=1}),Object.keys(t)}}!function(t){function e(){this.accessibility&&this.accessibility.destroy()}function i(){this.a11yDirty&&this.renderTo&&(delete this.a11yDirty,this.updateA11yEnabled());let t=this.accessibility;t&&!t.zombie&&(t.proxyProvider.updateProxyElementPositions(),t.getComponentOrder().forEach(function(e){t.components[e].onChartRender()}))}function s(t){let e=t.options.accessibility;e&&(e.customComponents&&(this.options.accessibility.customComponents=e.customComponents,delete e.customComponents),Jo(!0,this.options.accessibility,e),this.accessibility&&this.accessibility.destroy&&(this.accessibility.destroy(),delete this.accessibility)),this.a11yDirty=!0}function o(){let e=this.accessibility,i=this.options.accessibility,s=this.renderer.boxWrapper.element,o=this.title;if(i&&i.enabled)e&&!e.zombie?e.update():(this.accessibility=e=new t(this),e&&!e.zombie&&e.update(),"img"===s.getAttribute("role")&&s.removeAttribute("role"));else if(e)e.destroy&&e.destroy(),delete this.accessibility;else{this.renderTo.setAttribute("role","img"),this.renderTo.setAttribute("aria-hidden",!1),this.renderTo.setAttribute("aria-label",(o&&o.element.textContent||"").replace(/</g,"<")),s.setAttribute("aria-hidden",!0);let t=document.getElementsByClassName("highcharts-description")[0];t&&(t.setAttribute("aria-hidden",!1),t.classList.remove("highcharts-linked-description"))}}function r(){this.series.chart.accessibility&&(this.series.chart.a11yDirty=!0)}t.i18nFormat=N.i18nFormat,t.compose=function(t,n,a,l,h,c){Qt.compose(t),Rs.compose(l),me.compose(t,n),Gt.compose(t),Do.compose(t,a,l),N.compose(t),nt.compose(t,h),c&&oo.compose(t,c);let d=t.prototype;d.updateA11yEnabled||(d.updateA11yEnabled=o,Ko(t,"destroy",e),Ko(t,"render",i),Ko(t,"update",s),["addSeries","init"].forEach(e=>{Ko(t,e,function(){this.a11yDirty=!0})}),["afterApplyDrilldown","drillupall"].forEach(e=>{Ko(t,e,function(){let t=this.accessibility;t&&!t.zombie&&t.update()})}),Ko(a,"update",r),["update","updatedData","remove"].forEach(t=>{Ko(l,t,function(){this.chart.accessibility&&(this.chart.a11yDirty=!0)})}))}}(tr||(tr={})),Jo(!0,Uo,{accessibility:{enabled:!0,screenReaderSection:{beforeChartFormat:"<{headingTagName}>{chartTitle}</{headingTagName}><div>{typeDescription}</div><div>{chartSubtitle}</div><div>{chartLongdesc}</div><div>{playAsSoundButton}</div><div>{viewTableButton}</div><div>{xAxisDescription}</div><div>{yAxisDescription}</div><div>{annotationsTitle}{annotationsList}</div>",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',highContrastMode:"auto",keyboardNavigation:{enabled:!0,focusBorder:{enabled:!0,hideBrowserFocusOutline:!0,style:{color:"#334eff",lineWidth:2,borderRadius:3},margin:2},order:["series","zoom","rangeSelector","navigator","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}},navigator:{accessibility:{enabled:!0}}},{accessibility:{highContrastTheme:{chart:{backgroundColor:"window"},title:{style:{color:"windowText"}},subtitle:{style:{color:"windowText"}},colorAxis:{minColor:"windowText",maxColor:"windowText",stops:[],dataClasses:[]},colors:["windowText"],xAxis:{gridLineColor:"windowText",labels:{style:{color:"windowText"}},lineColor:"windowText",minorGridLineColor:"windowText",tickColor:"windowText",title:{style:{color:"windowText"}}},yAxis:{gridLineColor:"windowText",labels:{style:{color:"windowText"}},lineColor:"windowText",minorGridLineColor:"windowText",tickColor:"windowText",title:{style:{color:"windowText"}}},tooltip:{backgroundColor:"window",borderColor:"windowText",style:{color:"windowText"}},plotOptions:{series:{lineColor:"windowText",fillColor:"window",borderColor:"windowText",edgeColor:"windowText",borderWidth:1,dataLabels:{connectorColor:"windowText",color:"windowText",style:{color:"windowText",textOutline:"none"}},marker:{lineColor:"windowText",fillColor:"windowText"}},pie:{color:"window",colors:["window"],borderColor:"windowText",borderWidth:1},boxplot:{fillColor:"window"},candlestick:{lineColor:"windowText",fillColor:"window"},errorbar:{fillColor:"window"}},legend:{backgroundColor:"window",itemStyle:{color:"windowText"},itemHoverStyle:{color:"windowText"},itemHiddenStyle:{color:"#555"},title:{style:{color:"windowText"}}},credits:{style:{color:"windowText"}},drilldown:{activeAxisLabelStyle:{color:"windowText"},activeDataLabelStyle:{color:"windowText"}},navigation:{buttonOptions:{symbolStroke:"windowText",theme:{fill:"window"}}},rangeSelector:{buttonTheme:{fill:"window",stroke:"windowText",style:{color:"windowText"},states:{hover:{fill:"window",stroke:"windowText",style:{color:"windowText"}},select:{fill:"#444",stroke:"windowText",style:{color:"windowText"}}}},inputBoxBorderColor:"windowText",inputStyle:{backgroundColor:"window",color:"windowText"},labelStyle:{color:"windowText"}},navigator:{handles:{backgroundColor:"window",borderColor:"windowText"},outlineColor:"windowText",maskFill:"transparent",series:{color:"windowText",lineColor:"windowText"},xAxis:{gridLineColor:"windowText"}},scrollbar:{barBackgroundColor:"#444",barBorderColor:"windowText",buttonArrowColor:"windowText",buttonBackgroundColor:"window",buttonBorderColor:"windowText",rifleColor:"windowText",trackBackgroundColor:"window",trackBorderColor:"windowText"}}},lang:{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}{#each additionalAnnotationPoints}, also related to {this}{/each}",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}"},navigator:{handleLabel:"{#eq handleIx 0}Start, percent{else}End, percent{/eq}",groupLabel:"Axis zoom",changeAnnouncement:"{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 {#eq numPoints 1}point{else}points{/eq}.",defaultMultiple:"Chart with {numSeries} data series.",splineSingle:"Line chart with {numPoints} data {#eq numPoints 1}point{else}points{/eq}.",splineMultiple:"Line chart with {numSeries} lines.",lineSingle:"Line chart with {numPoints} data {#eq numPoints 1}point{else}points{/eq}.",lineMultiple:"Line chart with {numSeries} lines.",columnSingle:"Bar chart with {numPoints} {#eq numPoints 1}bar{else}bars{/eq}.",columnMultiple:"Bar chart with {numSeries} data series.",barSingle:"Bar chart with {numPoints} {#eq numPoints 1}bar{else}bars{/eq}.",barMultiple:"Bar chart with {numSeries} data series.",pieSingle:"Pie chart with {numPoints} {#eq numPoints 1}slice{else}slices{/eq}.",pieMultiple:"Pie chart with {numSeries} pies.",scatterSingle:"Scatter chart with {numPoints} {#eq numPoints 1}point{else}points{/eq}.",scatterMultiple:"Scatter chart with {numSeries} data series.",boxplotSingle:"Boxplot with {numPoints} {#eq numPoints 1}box{else}boxes{/eq}.",boxplotMultiple:"Boxplot with {numSeries} data series.",bubbleSingle:"Bubble chart with {numPoints} {#eq numPoints 1}bubbles{else}bubble{/eq}.",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}{#unless @first},{/unless}{#if @last} and{/if} {this}{/each}.",yAxisDescriptionSingular:"The chart has 1 Y axis displaying {names[0]}. {ranges[0]}",yAxisDescriptionPlural:"The chart has {numAxes} Y axes displaying {#each names}{#unless @first},{/unless}{#if @last} and{/if} {this}{/each}.",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 {#eq series.points.length 1}point{else}points{/eq}.",defaultCombination:"{series.name}, series {seriesNumber} of {chart.series.length} with {series.points.length} data {#eq series.points.length 1}point{else}points{/eq}.",line:"{series.name}, line {seriesNumber} of {chart.series.length} with {series.points.length} data {#eq series.points.length 1}point{else}points{/eq}.",lineCombination:"{series.name}, series {seriesNumber} of {chart.series.length}. Line with {series.points.length} data {#eq series.points.length 1}point{else}points{/eq}.",spline:"{series.name}, line {seriesNumber} of {chart.series.length} with {series.points.length} data {#eq series.points.length 1}point{else}points{/eq}.",splineCombination:"{series.name}, series {seriesNumber} of {chart.series.length}. Line with {series.points.length} data {#eq series.points.length 1}point{else}points{/eq}.",column:"{series.name}, bar series {seriesNumber} of {chart.series.length} with {series.points.length} {#eq series.points.length 1}bar{else}bars{/eq}.",columnCombination:"{series.name}, series {seriesNumber} of {chart.series.length}. Bar series with {series.points.length} {#eq series.points.length 1}bar{else}bars{/eq}.",bar:"{series.name}, bar series {seriesNumber} of {chart.series.length} with {series.points.length} {#eq series.points.length 1}bar{else}bars{/eq}.",barCombination:"{series.name}, series {seriesNumber} of {chart.series.length}. Bar series with {series.points.length} {#eq series.points.length 1}bar{else}bars{/eq}.",pie:"{series.name}, pie {seriesNumber} of {chart.series.length} with {series.points.length} {#eq series.points.length 1}slice{else}slices{/eq}.",pieCombination:"{series.name}, series {seriesNumber} of {chart.series.length}. Pie with {series.points.length} {#eq series.points.length 1}slice{else}slices{/eq}.",scatter:"{series.name}, scatter plot {seriesNumber} of {chart.series.length} with {series.points.length} {#eq series.points.length 1}point{else}points{/eq}.",scatterCombination:"{series.name}, series {seriesNumber} of {chart.series.length}, scatter plot with {series.points.length} {#eq series.points.length 1}point{else}points{/eq}.",boxplot:"{series.name}, boxplot {seriesNumber} of {chart.series.length} with {series.points.length} {#eq series.points.length 1}box{else}boxes{/eq}.",boxplotCombination:"{series.name}, series {seriesNumber} of {chart.series.length}. Boxplot with {series.points.length} {#eq series.points.length 1}box{else}boxes{/eq}.",bubble:"{series.name}, bubble series {seriesNumber} of {chart.series.length} with {series.points.length} {#eq series.points.length 1}bubble{else}bubbles{/eq}.",bubbleCombination:"{series.name}, series {seriesNumber} of {chart.series.length}. Bubble series with {series.points.length} {#eq series.points.length 1}bubble{else}bubbles{/eq}.",map:"{series.name}, map {seriesNumber} of {chart.series.length} with {series.points.length} {#eq series.points.length 1}area{else}areas{/eq}.",mapCombination:"{series.name}, series {seriesNumber} of {chart.series.length}. Map with {series.points.length} {#eq series.points.length 1}area{else}areas{/eq}.",mapline:"{series.name}, line {seriesNumber} of {chart.series.length} with {series.points.length} data {#eq series.points.length 1}point{else}points{/eq}.",maplineCombination:"{series.name}, series {seriesNumber} of {chart.series.length}. Line with {series.points.length} data {#eq series.points.length 1}point{else}points{/eq}.",mapbubble:"{series.name}, bubble series {seriesNumber} of {chart.series.length} with {series.points.length} {#eq series.points.length 1}bubble{else}bubbles{/eq}.",mapbubbleCombination:"{series.name}, series {seriesNumber} of {chart.series.length}. Bubble series with {series.points.length} {#eq series.points.length 1}bubble{else}bubbles{/eq}."},description:"{description}",xAxisDescription:"X axis, {name}",yAxisDescription:"Y axis, {name}",nullPointValue:"No value",pointAnnotationsDescription:"{#each annotations}Annotation: {this}{/each}"}}}});let er=tr,ir=w();ir.i18nFormat=er.i18nFormat,ir.A11yChartUtilities=Y,ir.A11yHTMLUtilities=T,ir.AccessibilityComponent=$,ir.KeyboardNavigationHandler=J,ir.SeriesAccessibilityDescriber=Ps,er.compose(ir.Chart,ir.Legend,ir.Point,ir.Series,ir.SVGElement,ir.RangeSelector);let sr=w();return y.default})(),"object"==typeof i&&"object"==typeof e?e.exports=o(s._Highcharts,s._Highcharts.Templating,s._Highcharts.AST,s._Highcharts.Legend,s._Highcharts.Axis,s._Highcharts.Color,s._Highcharts.SeriesRegistry,s._Highcharts.RendererRegistry,s._Highcharts.SVGRenderer,s._Highcharts.Point,s._Highcharts.Series):"function"==typeof define&&define.amd?define("highcharts/modules/accessibility",["highcharts/highcharts"],function(t){return o(t,t.Templating,t.AST,t.Legend,t.Axis,t.Color,t.SeriesRegistry,t.RendererRegistry,t.SVGRenderer,t.Point,t.Series)}):"object"==typeof i?i["highcharts/modules/accessibility"]=o(s._Highcharts,s._Highcharts.Templating,s._Highcharts.AST,s._Highcharts.Legend,s._Highcharts.Axis,s._Highcharts.Color,s._Highcharts.SeriesRegistry,s._Highcharts.RendererRegistry,s._Highcharts.SVGRenderer,s._Highcharts.Point,s._Highcharts.Series):s.Highcharts=o(s.Highcharts,s.Highcharts.Templating,s.Highcharts.AST,s.Highcharts.Legend,s.Highcharts.Axis,s.Highcharts.Color,s.Highcharts.SeriesRegistry,s.Highcharts.RendererRegistry,s.Highcharts.SVGRenderer,s.Highcharts.Point,s.Highcharts.Series)},{}],29:[function(t,e,i){var s,o;s="undefined"==typeof window?this:window,o=(t,e,i,s)=>(()=>{"use strict";var o,r,n,a,l={660:t=>{t.exports=s},512:t=>{t.exports=e},984:t=>{t.exports=i},944:e=>{e.exports=t}},h={};function c(t){var e=h[t];if(void 0!==e)return e.exports;var i=h[t]={exports:{}};return l[t](i,i.exports,c),i.exports}c.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return c.d(e,{a:e}),e},c.d=(t,e)=>{for(var i in e)c.o(e,i)&&!c.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:e[i]})},c.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);var d={};c.d(d,{default:()=>Ai});var p=c(944),u=c.n(p);let{addEvent:g,erase:f,find:m,fireEvent:b,pick:x,wrap:y}=u();function v(t,e){let i=this.initAnnotation(t);return this.options.annotations.push(i.options),x(e,!0)&&(i.redraw(),i.graphic.attr({opacity:1})),i}function w(){let t=this;t.plotBoxClip=this.renderer.clipRect(this.plotBox),t.controlPointsGroup=t.renderer.g("control-points").attr({zIndex:99}).clip(t.plotBoxClip).add(),t.options.annotations.forEach((e,i)=>{if(!t.annotations.some(t=>t.options===e)){let s=t.initAnnotation(e);t.options.annotations[i]=s.options}}),t.drawAnnotations(),g(t,"redraw",t.drawAnnotations),g(t,"destroy",function(){t.plotBoxClip.destroy(),t.controlPointsGroup.destroy()}),g(t,"exportData",function(e){let i=t.annotations,s=(this.options.exporting&&this.options.exporting.csv||{}).columnHeaderFormatter,o=!e.dataRows[1].xValues,r=t.options.lang&&t.options.lang.exportData&&t.options.lang.exportData.annotationHeader,n=e.dataRows[0].length,a=t.options.exporting&&t.options.exporting.csv&&t.options.exporting.csv.annotations&&t.options.exporting.csv.annotations.itemDelimiter,l=t.options.exporting&&t.options.exporting.csv&&t.options.exporting.csv.annotations&&t.options.exporting.csv.annotations.join;i.forEach(t=>{t.options.labelOptions&&t.options.labelOptions.includeInDataExport&&t.labels.forEach(t=>{if(t.options.text){let i=t.options.text;t.points.forEach(t=>{let s=t.x,o=t.series.xAxis?t.series.xAxis.index:-1,r=!1;if(-1===o){let t=e.dataRows[0].length,n=Array(t);for(let e=0;e<t;++e)n[e]="";n.push(i),n.xValues=[],n.xValues[o]=s,e.dataRows.push(n),r=!0}if(r||e.dataRows.forEach(t=>{!r&&t.xValues&&void 0!==o&&s===t.xValues[o]&&(l&&t.length>n?t[t.length-1]+=a+i:t.push(i),r=!0)}),!r){let t=e.dataRows[0].length,r=Array(t);for(let e=0;e<t;++e)r[e]="";r[0]=s,r.push(i),r.xValues=[],void 0!==o&&(r.xValues[o]=s),e.dataRows.push(r)}})}})});let h=0;e.dataRows.forEach(t=>{h=Math.max(h,t.length)});let c=h-e.dataRows[0].length;for(let t=0;t<c;t++){let i=function(t){let e;return s&&!1!==(e=s(t))?e:(e=r+" "+t,o?{columnTitle:e,topLevelColumnTitle:e}:e)}(t+1);o?(e.dataRows[0].push(i.topLevelColumnTitle),e.dataRows[1].push(i.columnTitle)):e.dataRows[0].push(i)}})}function k(){this.plotBoxClip.attr(this.plotBox),this.annotations.forEach(t=>{t.redraw(),t.graphic.animate({opacity:1},t.animationConfig)})}function A(t){let e=this.annotations,i="annotations"===t.coll?t:m(e,function(e){return e.options.id===t});i&&(b(i,"remove"),f(this.options.annotations,i.options),f(e,i),i.destroy())}function M(){this.annotations=[],this.options.annotations||(this.options.annotations=[])}function C(t){this.chart.hasDraggedAnnotation||t.apply(this,Array.prototype.slice.call(arguments,1))}(o||(o={})).compose=function(t,e,i){let s=e.prototype;if(!s.addAnnotation){let o=i.prototype;g(e,"afterInit",M),s.addAnnotation=v,s.callbacks.push(w),s.collectionsWithInit.annotations=[v],s.collectionsWithUpdate.push("annotations"),s.drawAnnotations=k,s.removeAnnotation=A,s.initAnnotation=function(e){let i=new(t.types[e.type]||t)(this,e);return this.annotations.push(i),i},y(o,"onContainerMouseDown",C)}};let P=o,{defined:S}=u(),{doc:T,isTouchDevice:E}=u(),{addEvent:L,fireEvent:O,objectEach:D,pick:I,removeEvent:N}=u(),B=class{addEvents(){let t=this,e=function(e){L(e,E?"touchstart":"mousedown",e=>{t.onMouseDown(e)},{passive:!1})};if(e(this.graphic.element),(t.labels||[]).forEach(t=>{t.options.useHTML&&t.graphic.text&&e(t.graphic.text.element)}),D(t.options.events,(e,i)=>{let s=function(s){"click"===i&&t.cancelClick||e.call(t,t.chart.pointer?.normalize(s),t.target)};-1===(t.nonDOMEvents||[]).indexOf(i)?(L(t.graphic.element,i,s,{passive:!1}),t.graphic.div&&L(t.graphic.div,i,s,{passive:!1})):L(t,i,s,{passive:!1})}),t.options.draggable&&(L(t,"drag",t.onDrag),!t.graphic.renderer.styledMode)){let e={cursor:{x:"ew-resize",y:"ns-resize",xy:"move"}[t.options.draggable]};t.graphic.css(e),(t.labels||[]).forEach(t=>{t.options.useHTML&&t.graphic.text&&t.graphic.text.css(e)})}t.isUpdating||O(t,"add")}destroy(){this.removeDocEvents(),N(this),this.hcEvents=null}mouseMoveToRadians(t,e,i){let s,o=t.prevChartY-i,r=t.prevChartX-e,n=t.chartY-i,a=t.chartX-e;return this.chart.inverted&&(s=r,r=o,o=s,s=a,a=n,n=s),Math.atan2(n,a)-Math.atan2(o,r)}mouseMoveToScale(t,e,i){let s=t.prevChartX-e,o=t.prevChartY-i,r=(t.chartX-e||1)/(s||1),n=(t.chartY-i||1)/(o||1);if(this.chart.inverted){let t=n;n=r,r=t}return{x:r,y:n}}mouseMoveToTranslation(t){let e,i=t.chartX-t.prevChartX,s=t.chartY-t.prevChartY;return this.chart.inverted&&(e=s,s=i,i=e),{x:i,y:s}}onDrag(t){if(this.chart.isInsidePlot(t.chartX-this.chart.plotLeft,t.chartY-this.chart.plotTop,{visiblePlotOnly:!0})){let e=this.mouseMoveToTranslation(t);"x"===this.options.draggable&&(e.y=0),"y"===this.options.draggable&&(e.x=0),this.points.length?this.translate(e.x,e.y):(this.shapes.forEach(t=>t.translate(e.x,e.y)),this.labels.forEach(t=>t.translate(e.x,e.y))),this.redraw(!1)}}onMouseDown(t){if(t.preventDefault&&t.preventDefault(),2===t.button)return;let e=this,i=e.chart.pointer,s=t?.sourceCapabilities?.firesTouchEvents||!1,o=(t=i?.normalize(t)||t).chartX,r=t.chartY;e.cancelClick=!1,e.chart.hasDraggedAnnotation=!0,e.removeDrag=L(T,E||s?"touchmove":"mousemove",function(t){e.hasDragged=!0,(t=i?.normalize(t)||t).prevChartX=o,t.prevChartY=r,O(e,"drag",t),o=t.chartX,r=t.chartY},E||s?{passive:!1}:void 0),e.removeMouseUp=L(T,E||s?"touchend":"mouseup",function(){let t=I(e.target&&e.target.annotation,e.target);t&&(t.cancelClick=e.hasDragged),e.cancelClick=e.hasDragged,e.chart.hasDraggedAnnotation=!1,e.hasDragged&&O(I(t,e),"afterUpdate"),e.hasDragged=!1,e.onMouseUp()},E||s?{passive:!1}:void 0)}onMouseUp(){this.removeDocEvents()}removeDocEvents(){this.removeDrag&&(this.removeDrag=this.removeDrag()),this.removeMouseUp&&(this.removeMouseUp=this.removeMouseUp())}},{merge:R,pick:z}=u(),F=class extends B{constructor(t,e,i,s){super(),this.nonDOMEvents=["drag"],this.chart=t,this.target=e,this.options=i,this.index=z(i.index,s)}destroy(){super.destroy(),this.graphic&&(this.graphic=this.graphic.destroy()),this.chart=null,this.target=null,this.options=null}redraw(t){this.graphic[t?"animate":"attr"](this.options.positioner.call(this,this.target))}render(){let t=this.chart,e=this.options;this.graphic=t.renderer.symbol(e.symbol,0,0,e.width,e.height).add(t.controlPointsGroup).css(e.style),this.setVisibility(e.visible),this.addEvents()}setVisibility(t){this.graphic[t?"show":"hide"](),this.options.visible=t}update(t){let e=this.chart,i=this.target,s=this.index,o=R(!0,this.options,t);this.destroy(),this.constructor(e,i,o,s),this.render(e.controlPointsGroup),this.redraw()}};var H=c(512),X=c.n(H);let{series:{prototype:W}}=X(),{defined:Y,fireEvent:j}=u();class G{static fromPoint(t){return new G(t.series.chart,null,{x:t.x,y:t.y,xAxis:t.series.xAxis,yAxis:t.series.yAxis})}static pointToPixels(t,e){let i,s=t.series,o=s.chart,r=t.plotX||0,n=t.plotY||0;return o.inverted&&(t.mock?(r=t.plotY,n=t.plotX):(r=o.plotWidth-(t.plotY||0),n=o.plotHeight-(t.plotX||0))),s&&!e&&(r+=(i=s.getPlotBox()).translateX,n+=i.translateY),{x:r,y:n}}static pointToOptions(t){return{x:t.x,y:t.y,xAxis:t.series.xAxis,yAxis:t.series.yAxis}}constructor(t,e,i){this.mock=!0,this.point=this,this.series={visible:!0,chart:t,getPlotBox:W.getPlotBox},this.target=e||null,this.options=i,this.applyOptions(this.getOptions())}applyOptions(t){this.command=t.command,this.setAxis(t,"x"),this.setAxis(t,"y"),this.refresh()}getOptions(){return this.hasDynamicOptions()?this.options(this.target):this.options}hasDynamicOptions(){return"function"==typeof this.options}isInsidePlot(){let t=this.plotX,e=this.plotY,i=this.series.xAxis,s=this.series.yAxis,o={x:t,y:e,isInsidePlot:!0,options:{}};return i&&(o.isInsidePlot=Y(t)&&t>=0&&t<=i.len),s&&(o.isInsidePlot=o.isInsidePlot&&Y(e)&&e>=0&&e<=s.len),j(this.series.chart,"afterIsInsidePlot",o),o.isInsidePlot}refresh(){let t=this.series,e=t.xAxis,i=t.yAxis,s=this.getOptions();e?(this.x=s.x,this.plotX=e.toPixels(s.x,!0)):(this.x=void 0,this.plotX=s.x),i?(this.y=s.y,this.plotY=i.toPixels(s.y,!0)):(this.y=null,this.plotY=s.y),this.isInside=this.isInsidePlot()}refreshOptions(){let t=this.series,e=t.xAxis,i=t.yAxis;this.x=this.options.x=e?this.options.x=e.toValue(this.plotX,!0):this.plotX,this.y=this.options.y=i?i.toValue(this.plotY,!0):this.plotY}rotate(t,e,i){if(!this.hasDynamicOptions()){let s=Math.cos(i),o=Math.sin(i),r=this.plotX-t,n=this.plotY-e;this.plotX=r*s-n*o+t,this.plotY=r*o+n*s+e,this.refreshOptions()}}scale(t,e,i,s){if(!this.hasDynamicOptions()){let o=this.plotX*i,r=this.plotY*s;this.plotX=(1-i)*t+o,this.plotY=(1-s)*e+r,this.refreshOptions()}}setAxis(t,e){let i=e+"Axis",s=t[i],o=this.series.chart;this.series[i]="object"==typeof s?s:Y(s)?o[i][s]||o.get(s):null}toAnchor(){let t=[this.plotX,this.plotY,0,0];return this.series.chart.inverted&&(t[0]=this.plotY,t[1]=this.plotX),t}translate(t,e,i,s){this.hasDynamicOptions()||(this.plotX+=i,this.plotY+=s,this.refreshOptions())}}!function(t){function e(){let t=this.controlPoints,e=this.options.controlPoints||[];e.forEach((i,s)=>{let o=u().merge(this.options.controlPointOptions,i);o.index||(o.index=s),e[s]=o,t.push(new F(this.chart,this,o))})}function i(t){let e=t.series.getPlotBox(),i=t.series.chart,s=t.mock?t.toAnchor():i.tooltip&&i.tooltip.getAnchor.call({chart:t.series.chart},t)||[0,0,0,0],o={x:s[0]+(this.options.x||0),y:s[1]+(this.options.y||0),height:s[2]||0,width:s[3]||0};return{relativePosition:o,absolutePosition:u().merge(o,{x:o.x+(t.mock?e.translateX:i.plotLeft),y:o.y+(t.mock?e.translateY:i.plotTop)})}}function s(){this.controlPoints.forEach(t=>t.destroy()),this.chart=null,this.controlPoints=null,this.points=null,this.options=null,this.annotation&&(this.annotation=null)}function o(){let t=this.options;return t.points||t.point&&u().splat(t.point)}function r(){let t,e,i=this.getPointsOptions(),s=this.points,o=i&&i.length||0;for(t=0;t<o;t++){if(!(e=this.point(i[t],s[t])))return void(s.length=0);e.mock&&e.refresh(),s[t]=e}return s}function n(t,e){if(t&&t.series)return t;if(!e||null===e.series)if(u().isObject(t))e=new G(this.chart,this,t);else if(u().isString(t))e=this.chart.get(t)||null;else if("function"==typeof t){let i=t.call(e,this);e=i.series?i:new G(this.chart,this,t)}return e}function a(t){this.controlPoints.forEach(e=>e.redraw(t))}function l(){this.controlPoints.forEach(t=>t.render())}function h(t,e,i,s,o){if(this.chart.inverted){let t=e;e=i,i=t}this.points.forEach((r,n)=>this.transformPoint(t,e,i,s,o,n),this)}function c(t,e,i,s,o,r){let n=this.points[r];n.mock||(n=this.points[r]=G.fromPoint(n)),n[t](e,i,s,o)}function d(t,e){this.transform("translate",null,null,t,e)}function p(t,e,i){this.transformPoint("translate",null,null,t,e,i)}t.compose=function(t){let g=t.prototype;g.addControlPoints||u().merge(!0,g,{addControlPoints:e,anchor:i,destroyControlTarget:s,getPointsOptions:o,linkPoints:r,point:n,redrawControlPoints:a,renderControlPoints:l,transform:h,transformPoint:c,translate:d,translatePoint:p})}}(r||(r={}));let _=r,{merge:q}=u();class U{constructor(t,e,i,s){this.annotation=t,this.chart=t.chart,this.collection="label"===s?"labels":"shapes",this.controlPoints=[],this.options=e,this.points=[],this.index=i,this.itemType=s,this.init(t,e,i)}attr(...t){this.graphic.attr.apply(this.graphic,arguments)}attrsFromOptions(t){let e,i,s=this.constructor.attrsMap,o={},r=this.chart.styledMode;for(e in t)i=s[e],void 0===s[e]||r&&-1!==["fill","stroke","stroke-width"].indexOf(i)||(o[i]=t[e]);return o}destroy(){this.graphic&&(this.graphic=this.graphic.destroy()),this.tracker&&(this.tracker=this.tracker.destroy()),this.destroyControlTarget()}init(t,e,i){this.annotation=t,this.chart=t.chart,this.options=e,this.points=[],this.controlPoints=[],this.index=i,this.linkPoints(),this.addControlPoints()}redraw(t){this.redrawControlPoints(t)}render(t){this.options.className&&this.graphic&&this.graphic.addClass(this.options.className),this.renderControlPoints()}rotate(t,e,i){this.transform("rotate",t,e,i)}scale(t,e,i,s){this.transform("scale",t,e,i,s)}setControlPointsVisibility(t){this.controlPoints.forEach(e=>{e.setVisibility(t)})}shouldBeDrawn(){return!!this.points.length}translateShape(t,e,i){let s=this.annotation.chart,o=this.annotation.userOptions,r=s.annotations.indexOf(this.annotation),n=s.options.annotations[r];this.translatePoint(t,e,0),i&&this.translatePoint(t,e,1),n[this.collection][this.index].point=this.options.point,o[this.collection][this.index].point=this.options.point}update(t){let e=this.annotation,i=q(!0,this.options,t),s=this.graphic.parentGroup,o=this.constructor;this.destroy(),q(!0,this,new o(e,i,this.index,this.itemType)),this.render(s),this.redraw()}}_.compose(U);let V=U,{defaultMarkers:K}={defaultMarkers:{arrow:{tagName:"marker",attributes:{id:"arrow",refY:5,refX:9,markerWidth:10,markerHeight:10},children:[{tagName:"path",attributes:{d:"M 0 0 L 10 5 L 0 10 Z","stroke-width":0}}]},"reverse-arrow":{tagName:"marker",attributes:{id:"reverse-arrow",refY:5,refX:1,markerWidth:10,markerHeight:10},children:[{tagName:"path",attributes:{d:"M 0 5 L 10 0 L 10 10 Z","stroke-width":0}}]}}},{addEvent:$,defined:Z,extend:J,merge:Q,uniqueKey:tt}=u(),et=ot("marker-end"),it=ot("marker-start"),st="rgba(192,192,192,"+(u().svg?1e-4:.002)+")";function ot(t){return function(e){this.attr(t,"url(#"+e+")")}}function rt(){this.options.defs=Q(K,this.options.defs||{})}function nt(t,e){let i={attributes:{id:t}},s={stroke:e.color||"none",fill:e.color||"rgba(0, 0, 0, 0.75)"};i.children=e.children&&e.children.map(function(t){return Q(s,t)});let o=Q(!0,{attributes:{markerWidth:20,markerHeight:20,refX:0,refY:0,orient:"auto"}},e,i),r=this.definition(o);return r.id=t,r}class at extends V{static compose(t,e){let i=e.prototype;i.addMarker||($(t,"afterGetContainer",rt),i.addMarker=nt)}constructor(t,e,i){super(t,e,i,"shape"),this.type="path"}toD(){let t=this.options.d;if(t)return"function"==typeof t?t.call(this):t;let e,i=this.points,s=i.length,o=[],r=s,n=i[0],a=r&&this.anchor(n).absolutePosition,l=0;if(a)for(o.push(["M",a.x,a.y]);++l<s&&r;)e=(n=i[l]).command||"L",a=this.anchor(n).absolutePosition,"M"===e||"L"===e?o.push([e,a.x,a.y]):"Z"===e&&o.push([e]),r=n.series.visible;return r&&this.graphic?this.chart.renderer.crispLine(o,this.graphic.strokeWidth()):null}shouldBeDrawn(){return super.shouldBeDrawn()||!!this.options.d}render(t){let e=this.options,i=this.attrsFromOptions(e);this.graphic=this.annotation.chart.renderer.path([["M",0,0]]).attr(i).add(t),this.tracker=this.annotation.chart.renderer.path([["M",0,0]]).addClass("highcharts-tracker-line").attr({zIndex:2}).add(t),this.annotation.chart.styledMode||this.tracker.attr({"stroke-linejoin":"round",stroke:st,fill:st,"stroke-width":this.graphic.strokeWidth()+2*e.snap}),super.render(),J(this.graphic,{markerStartSetter:it,markerEndSetter:et}),this.setMarkers(this)}redraw(t){if(this.graphic){let e=this.toD(),i=t?"animate":"attr";e?(this.graphic[i]({d:e}),this.tracker[i]({d:e})):(this.graphic.attr({d:"M 0 -9000000000"}),this.tracker.attr({d:"M 0 -9000000000"})),this.graphic.placed=this.tracker.placed=!!e}super.redraw(t)}setMarkers(t){let e=t.options,i=t.chart,s=i.options.defs,o=e.fill,r=Z(o)&&"none"!==o?o:e.stroke;["markerStart","markerEnd"].forEach(function(o){let n,a,l,h,c=e[o];if(c){for(l in s)if((c===((n=s[l]).attributes&&n.attributes.id)||c===n.id)&&"marker"===n.tagName){a=n;break}a&&(h=t[o]=i.renderer.addMarker((e.id||tt())+"-"+c,Q(a,{color:r})),t.attr(o,h.getAttribute("id")))}})}}at.attrsMap={dashStyle:"dashstyle",strokeWidth:"stroke-width",stroke:"stroke",fill:"fill",zIndex:"zIndex"};let{merge:lt}=u();class ht extends V{constructor(t,e,i){super(t,e,i,"shape"),this.type="rect",this.translate=super.translateShape}render(t){let e=this.attrsFromOptions(this.options);this.graphic=this.annotation.chart.renderer.rect(0,-9e9,0,0).attr(e).add(t),super.render()}redraw(t){if(this.graphic){let e=this.anchor(this.points[0]).absolutePosition;e?this.graphic[t?"animate":"attr"]({x:e.x,y:e.y,width:this.options.width,height:this.options.height}):this.attr({x:0,y:-9e9}),this.graphic.placed=!!e}super.redraw(t)}}ht.attrsMap=lt(at.attrsMap,{width:"width",height:"height"});let{merge:ct}=u();class dt extends V{constructor(t,e,i){super(t,e,i,"shape"),this.type="circle",this.translate=super.translateShape}redraw(t){if(this.graphic){let e=this.anchor(this.points[0]).absolutePosition;e?this.graphic[t?"animate":"attr"]({x:e.x,y:e.y,r:this.options.r}):this.graphic.attr({x:0,y:-9e9}),this.graphic.placed=!!e}super.redraw.call(this,t)}render(t){let e=this.attrsFromOptions(this.options);this.graphic=this.annotation.chart.renderer.circle(0,-9e9,0).attr(e).add(t),super.render()}setRadius(t){this.options.r=t}}dt.attrsMap=ct(at.attrsMap,{r:"r"});let{merge:pt,defined:ut}=u();class gt extends V{constructor(t,e,i){super(t,e,i,"shape"),this.type="ellipse"}init(t,e,i){ut(e.yAxis)&&e.points.forEach(t=>{t.yAxis=e.yAxis}),ut(e.xAxis)&&e.points.forEach(t=>{t.xAxis=e.xAxis}),super.init(t,e,i)}render(t){this.graphic=this.annotation.chart.renderer.createElement("ellipse").attr(this.attrsFromOptions(this.options)).add(t),super.render()}translate(t,e){super.translateShape(t,e,!0)}getDistanceFromLine(t,e,i,s){return Math.abs((e.y-t.y)*i-(e.x-t.x)*s+e.x*t.y-e.y*t.x)/Math.sqrt((e.y-t.y)*(e.y-t.y)+(e.x-t.x)*(e.x-t.x))}getAttrs(t,e){let i=t.x,s=t.y,o=e.x,r=e.y,n=(i+o)/2,a=Math.sqrt((i-o)*(i-o)/4+(s-r)*(s-r)/4),l=180*Math.atan((r-s)/(o-i))/Math.PI;return n<i&&(l+=180),{cx:n,cy:(s+r)/2,rx:a,ry:this.getRY(),angle:l}}getRY(){let t=this.getYAxis();return ut(t)?Math.abs(t.toPixels(this.options.ry)-t.toPixels(0)):this.options.ry}getYAxis(){let t=this.options.yAxis;return this.chart.yAxis[t]}getAbsolutePosition(t){return this.anchor(t).absolutePosition}redraw(t){if(this.graphic){let e=this.getAbsolutePosition(this.points[0]),i=this.getAbsolutePosition(this.points[1]),s=this.getAttrs(e,i);e?this.graphic[t?"animate":"attr"]({cx:s.cx,cy:s.cy,rx:s.rx,ry:s.ry,rotation:s.angle,rotationOriginX:s.cx,rotationOriginY:s.cy}):this.graphic.attr({x:0,y:-9e9}),this.graphic.placed=!!e}super.redraw(t)}setYRadius(t){let e=this.annotation.userOptions.shapes;this.options.ry=t,e&&e[0]&&(e[0].ry=t,e[0].ry=t)}}gt.attrsMap=pt(at.attrsMap,{ry:"ry"});var ft=c(984),mt=c.n(ft);let{format:bt}=mt(),{extend:xt,getAlignFactor:yt,isNumber:vt,pick:wt}=u();function kt(t,e,i,s,o){let r,n,a=o&&o.anchorX,l=o&&o.anchorY,h=i/2;return vt(a)&&vt(l)&&(r=[["M",a,l]],(n=e-l)<0&&(n=-s-n),n<i&&(h=a<t+i/2?n:i-n),l>e+s?r.push(["L",t+h,e+s]):l<e?r.push(["L",t+h,e]):a<t?r.push(["L",t,e+s/2]):a>t+i&&r.push(["L",t+i,e+s/2])),r||[]}class At extends V{static alignedPosition(t,e){return{x:Math.round((e.x||0)+(t.x||0)+(e.width-(t.width||0))*yt(t.align)),y:Math.round((e.y||0)+(t.y||0)+(e.height-(t.height||0))*yt(t.verticalAlign))}}static compose(t){t.prototype.symbols.connector=kt}static justifiedOptions(t,e,i,s){let o,r=i.align,n=i.verticalAlign,a=e.box?0:e.padding||0,l=e.getBBox(),h={align:r,verticalAlign:n,x:i.x,y:i.y,width:e.width,height:e.height},c=(s.x||0)-t.plotLeft,d=(s.y||0)-t.plotTop;return(o=c+a)<0&&("right"===r?h.align="left":h.x=(h.x||0)-o),(o=c+l.width-a)>t.plotWidth&&("left"===r?h.align="right":h.x=(h.x||0)+t.plotWidth-o),(o=d+a)<0&&("bottom"===n?h.verticalAlign="top":h.y=(h.y||0)-o),(o=d+l.height-a)>t.plotHeight&&("top"===n?h.verticalAlign="bottom":h.y=(h.y||0)+t.plotHeight-o),h}constructor(t,e,i){super(t,e,i,"label")}translatePoint(t,e){super.translatePoint(t,e,0)}translate(t,e){let i=this.annotation.chart,s=this.annotation.userOptions,o=i.annotations.indexOf(this.annotation),r=i.options.annotations[o];if(i.inverted){let i=t;t=e,e=i}this.options.x+=t,this.options.y+=e,r[this.collection][this.index].x=this.options.x,r[this.collection][this.index].y=this.options.y,s[this.collection][this.index].x=this.options.x,s[this.collection][this.index].y=this.options.y}render(t){let e=this.options,i=this.attrsFromOptions(e),s=e.style;this.graphic=this.annotation.chart.renderer.label("",0,-9999,e.shape,null,null,e.useHTML,null,"annotation-label").attr(i).add(t),this.annotation.chart.styledMode||("contrast"===s.color&&(s.color=this.annotation.chart.renderer.getContrast(At.shapesWithoutBackground.indexOf(e.shape)>-1?"#FFFFFF":e.backgroundColor)),this.graphic.css(e.style).shadow(e.shadow)),this.graphic.labelrank=e.labelrank,super.render()}redraw(t){let e=this.options,i=this.text||e.format||e.text,s=this.graphic,o=this.points[0];if(!s)return void this.redraw(t);s.attr({text:i?bt(String(i),o,this.annotation.chart):e.formatter.call(o,this)});let r=this.anchor(o),n=this.position(r);n?(s.alignAttr=n,n.anchorX=r.absolutePosition.x,n.anchorY=r.absolutePosition.y,s[t?"animate":"attr"](n)):s.attr({x:0,y:-9999}),s.placed=!!n,super.redraw(t)}anchor(t){let e=super.anchor.apply(this,arguments),i=this.options.x||0,s=this.options.y||0;return e.absolutePosition.x-=i,e.absolutePosition.y-=s,e.relativePosition.x-=i,e.relativePosition.y-=s,e}position(t){let e,i,s,o,r=this.graphic,n=this.annotation.chart,a=n.tooltip,l=this.points[0],h=this.options,c=t.absolutePosition,d=t.relativePosition,p=l.series.visible&&G.prototype.isInsidePlot.call(l);if(r&&p){let{width:t=0,height:u=0}=r;h.distance&&a?e=a.getPosition.call({chart:n,distance:wt(h.distance,16),getPlayingField:a.getPlayingField,pointer:a.pointer},t,u,{plotX:d.x,plotY:d.y,negative:l.negative,ttBelow:l.ttBelow,h:d.height||d.width}):h.positioner?e=h.positioner.call(this):(i={x:c.x,y:c.y,width:0,height:0},e=At.alignedPosition(xt(h,{width:t,height:u}),i),"justify"===this.options.overflow&&(e=At.alignedPosition(At.justifiedOptions(n,r,h,e),i))),h.crop&&(s=e.x-n.plotLeft,o=e.y-n.plotTop,p=n.isInsidePlot(s,o)&&n.isInsidePlot(s+t,o+u))}return p?e:null}}At.attrsMap={backgroundColor:"fill",borderColor:"stroke",borderWidth:"stroke-width",zIndex:"zIndex",borderRadius:"r",padding:"padding"},At.shapesWithoutBackground=["connector"];class Mt extends V{constructor(t,e,i){super(t,e,i,"shape"),this.type="image",this.translate=super.translateShape}render(t){let e=this.attrsFromOptions(this.options),i=this.options;this.graphic=this.annotation.chart.renderer.image(i.src,0,-9e9,i.width,i.height).attr(e).add(t),this.graphic.width=i.width,this.graphic.height=i.height,super.render()}redraw(t){if(this.graphic){let e=this.anchor(this.points[0]),i=At.prototype.position.call(this,e);i?this.graphic[t?"animate":"attr"]({x:i.x,y:i.y}):this.graphic.attr({x:0,y:-9e9}),this.graphic.placed=!!i}super.redraw(t)}}Mt.attrsMap={width:"width",height:"height",zIndex:"zIndex"};var Ct=c(660),Pt=c.n(Ct);let{addEvent:St,createElement:Tt}=u(),Et=class{constructor(t,e){this.iconsURL=e,this.container=this.createPopupContainer(t),this.closeButton=this.addCloseButton()}createPopupContainer(t,e="highcharts-popup highcharts-no-tooltip"){return Tt("div",{className:e},void 0,t)}addCloseButton(t="highcharts-popup-close"){let e=this,i=this.iconsURL,s=Tt("button",{className:t},void 0,this.container);return s.style["background-image"]="url("+(i.match(/png|svg|jpeg|jpg|gif/gi)?i:i+"close.svg")+")",["click","touchstart"].forEach(t=>{St(s,t,e.closeButtonEvents.bind(e))}),St(document,"keydown",function(t){"Escape"===t.code&&e.closeButtonEvents()}),s}closeButtonEvents(){this.closePopup()}showPopup(t="highcharts-annotation-toolbar"){let e=this.container,i=this.closeButton;this.type=void 0,e.innerHTML=Pt().emptyHTML,e.className.indexOf(t)>=0&&(e.classList.remove(t),e.removeAttribute("style")),e.appendChild(i),e.style.display="block",e.style.height=""}closePopup(){this.container.style.display="none"}},{doc:Lt,isFirefox:Ot}=u(),{createElement:Dt,isArray:It,isObject:Nt,objectEach:Bt,pick:Rt,stableSort:zt}=u();function Ft(t,e,i,s,o,r){let n,a;if(!e)return;let l=this.addInput,h=this.lang;Bt(s,(s,r)=>{n=""!==i?i+"."+r:r,Nt(s)&&(!It(s)||It(s)&&Nt(s[0])?((a=h[r]||r).match(/\d/g)||o.push([!0,a,t]),Ft.call(this,t,e,n,s,o,!1)):o.push([this,n,"annotation",t,s]))}),r&&(zt(o,t=>t[1].match(/format/g)?-1:1),Ot&&o.reverse(),o.forEach(t=>{!0===t[0]?Dt("span",{className:"highcharts-annotation-title"},void 0,t[2]).appendChild(Lt.createTextNode(t[1])):(t[4]={value:t[4][0],type:t[4][1]},l.apply(t[0],t.splice(1)))}))}let{doc:Ht}=u(),{seriesTypes:Xt}=X(),{addEvent:Wt,createElement:Yt,defined:jt,isArray:Gt,isObject:_t,objectEach:qt,stableSort:Ut}=u();!function(t){t[t["params.algorithm"]=0]="params.algorithm",t[t["params.average"]=1]="params.average"}(n||(n={}));let Vt={"algorithm-pivotpoints":["standard","fibonacci","camarilla"],"average-disparityindex":["sma","ema","dema","tema","wma"]};function Kt(t){let e=Yt("div",{className:"highcharts-popup-lhs-col"},void 0,t),i=Yt("div",{className:"highcharts-popup-rhs-col"},void 0,t);return Yt("div",{className:"highcharts-popup-rhs-col-wrapper"},void 0,i),{lhsCol:e,rhsCol:i}}function $t(t,e,i,s){let o=e.params||e.options.params;s.innerHTML=Pt().emptyHTML,Yt("h3",{className:"highcharts-indicator-title"},void 0,s).appendChild(Ht.createTextNode(oe(e,i).indicatorFullName)),Yt("input",{type:"hidden",name:"highcharts-type-"+i,value:i},void 0,s),re.call(this,i,"series",t,s,e,e.linkedParent&&e.linkedParent.options.id),o.volumeSeriesID&&re.call(this,i,"volume",t,s,e,e.linkedParent&&o.volumeSeriesID),Jt.call(this,t,"params",o,i,s)}function Zt(t,e,i,s){function o(e,i){let s=g.parentNode.children[1];$t.call(r,t,e,i,g),s&&(s.style.display="block"),h&&e.options&&Yt("input",{type:"hidden",name:"highcharts-id-"+i,value:e.options.id},void 0,g).setAttribute("highcharts-data-series-id",e.options.id)}let r=this,n=r.lang,a=e.querySelectorAll(".highcharts-popup-lhs-col")[0],l=e.querySelectorAll(".highcharts-popup-rhs-col")[0],h="edit"===i,c=h?t.series:t.options.plotOptions||{};if(!t&&c)return;let d,p=[];h||Gt(c)?Gt(c)&&(p=se.call(this,c)):p=ie.call(this,c,s),Ut(p,(t,e)=>{let i=t.indicatorFullName.toLowerCase(),s=e.indicatorFullName.toLowerCase();return i<s?-1:i>s?1:0}),a.children[1]&&a.children[1].remove();let u=Yt("ul",{className:"highcharts-indicator-list"},void 0,a),g=l.querySelectorAll(".highcharts-popup-rhs-col-wrapper")[0];if(p.forEach(t=>{let{indicatorFullName:e,indicatorType:i,series:s}=t;d=Yt("li",{className:"highcharts-indicator-list"},void 0,u);let r=Yt("button",{className:"highcharts-indicator-list-item",textContent:e},void 0,d);["click","touchstart"].forEach(t=>{Wt(r,t,function(){o(s,i)})})}),p.length>0){let{series:t,indicatorType:e}=p[0];o(t,e)}else h||(Pt().setElementHTML(g.parentNode.children[0],n.noFilterMatch||""),g.parentNode.children[1].style.display="none")}function Jt(t,e,i,s,o){if(!t)return;let r=this.addInput;qt(i,(i,a)=>{let l=e+"."+a;if(jt(i)&&l)if(_t(i)&&(r.call(this,l,s,o,{}),Jt.call(this,t,l,i,s,o)),l in n){let r=te.call(this,s,l,o);ee.call(this,t,e,r,s,a,i)}else"params.volumeSeriesID"===l||Gt(i)||r.call(this,l,s,o,{value:i,type:"number"})})}function Qt(t,e){let i=this,s=e.querySelectorAll(".highcharts-popup-lhs-col")[0],o=this.lang.clearFilter,r=Yt("div",{className:"highcharts-input-wrapper"},void 0,s),n=function(e){Zt.call(i,t,i.container,"add",e)},a=this.addInput("searchIndicators","input",r,{value:"",type:"text",htmlFor:"search-indicators",labelClassName:"highcharts-input-search-indicators-label"}),l=Yt("a",{textContent:o},void 0,r);a.classList.add("highcharts-input-search-indicators"),l.classList.add("clear-filter-button"),Wt(a,"input",function(){n(this.value),this.value.length?l.style.display="inline-block":l.style.display="none"}),["click","touchstart"].forEach(t=>{Wt(l,t,function(){a.value="",n(""),l.style.display="none"})})}function te(t,e,i){let s=e.split("."),o=s[s.length-1],r="highcharts-"+e+"-type-"+t,n=this.lang;Yt("label",{htmlFor:r},null,i).appendChild(Ht.createTextNode(n[o]||e));let a=Yt("select",{name:r,className:"highcharts-popup-field",id:"highcharts-select-"+e},null,i);return a.setAttribute("id","highcharts-select-"+e),a}function ee(t,e,i,s,o,r,n){"series"===e||"volume"===e?t.series.forEach(t=>{let s=t.options,o=s.name||s.params?t.name:s.id||"";"highcharts-navigator-series"!==s.id&&s.id!==(n&&n.options&&n.options.id)&&(jt(r)||"volume"!==e||"column"!==t.type||(r=s.id),Yt("option",{value:s.id},void 0,i).appendChild(Ht.createTextNode(o)))}):s&&o&&Vt[o+"-"+s].forEach(t=>{Yt("option",{value:t},void 0,i).appendChild(Ht.createTextNode(t))}),jt(r)&&(i.value=r)}function ie(t,e){let i,s=this.chart&&this.chart.options.lang,o=s&&s.navigation&&s.navigation.popup&&s.navigation.popup.indicatorAliases,r=[];return qt(t,(t,s)=>{let n=t&&t.options;if(t.params||n&&n.params){let{indicatorFullName:n,indicatorType:a}=oe(t,s);if(e){let s=RegExp(e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"i"),l=o&&o[a]&&o[a].join(" ")||"";(n.match(s)||l.match(s))&&(i={indicatorFullName:n,indicatorType:a,series:t},r.push(i))}else i={indicatorFullName:n,indicatorType:a,series:t},r.push(i)}}),r}function se(t){let e=[];return t.forEach(t=>{t.is("sma")&&e.push({indicatorFullName:t.name,indicatorType:t.type,series:t})}),e}function oe(t,e){let i=t.options,s=Xt[e]&&Xt[e].prototype.nameBase||e.toUpperCase(),o=e;return i&&i.type&&(o=t.options.type,s=t.name),{indicatorFullName:s,indicatorType:o}}function re(t,e,i,s,o,r){if(!i)return;let n=te.call(this,t,e,s);ee.call(this,i,e,n,void 0,void 0,void 0,o),jt(r)&&(n.value=r)}let{doc:ne}=u(),{addEvent:ae,createElement:le}=u();function he(){return le("div",{className:"highcharts-tab-item-content highcharts-no-mousewheel"},void 0,this.container)}function ce(t,e){let i=this.container,s=this.lang,o="highcharts-tab-item";0===e&&(o+=" highcharts-tab-disabled");let r=le("button",{className:o},void 0,i);return r.appendChild(ne.createTextNode(s[t+"Button"]||t)),r.setAttribute("highcharts-data-tab-type",t),r}function de(){let t=this.container,e=t.querySelectorAll(".highcharts-tab-item"),i=t.querySelectorAll(".highcharts-tab-item-content");for(let t=0;t<e.length;t++)e[t].classList.remove("highcharts-tab-item-active"),i[t].classList.remove("highcharts-tab-item-show")}function pe(t,e){let i=this.container.querySelectorAll(".highcharts-tab-item-content");t.className+=" highcharts-tab-item-active",i[e].className+=" highcharts-tab-item-show"}function ue(t){let e=this;this.container.querySelectorAll(".highcharts-tab-item").forEach((i,s)=>{(0!==t||"edit"!==i.getAttribute("highcharts-data-tab-type"))&&["click","touchstart"].forEach(t=>{ae(i,t,function(){de.call(e),pe.call(e,this,s)})})})}let{doc:ge}=u(),{getOptions:fe}=u(),{addEvent:me,createElement:be,extend:xe,fireEvent:ye,pick:ve}=u();class we extends Et{constructor(t,e,i){super(t,e),this.chart=i,this.lang=(fe().lang.navigation||{}).popup||{},me(this.container,"mousedown",()=>{let t=i&&i.navigationBindings&&i.navigationBindings.activeAnnotation;if(t){t.cancelClick=!0;let e=me(ge,"click",()=>{setTimeout(()=>{t.cancelClick=!1},0),e()})}})}addInput(t,e,i,s){let o=t.split("."),r=o[o.length-1],n=this.lang,a="highcharts-"+e+"-"+ve(s.htmlFor,r);r.match(/^\d+$/)||be("label",{htmlFor:a,className:s.labelClassName},void 0,i).appendChild(ge.createTextNode(n[r]||r));let l=be("input",{name:a,value:s.value,type:s.type,className:"highcharts-popup-field"},void 0,i);return l.setAttribute("highcharts-data-name",t),l}closeButtonEvents(){if(this.chart){let t=this.chart.navigationBindings;ye(t,"closePopup"),t&&t.selectedButtonElement&&ye(t,"deselectButton",{button:t.selectedButtonElement})}else super.closeButtonEvents()}addButton(t,e,i,s,o){let r=be("button",void 0,void 0,t);return r.appendChild(ge.createTextNode(e)),o&&["click","touchstart"].forEach(t=>{me(r,t,()=>(this.closePopup(),o(function(t,e){let i=Array.prototype.slice.call(t.querySelectorAll("input")),s=Array.prototype.slice.call(t.querySelectorAll("select")),o=t.querySelectorAll("#highcharts-select-series > option:checked")[0],r=t.querySelectorAll("#highcharts-select-volume > option:checked")[0],n={actionType:e,linkedTo:o&&o.getAttribute("value")||"",fields:{}};return i.forEach(t=>{let e=t.getAttribute("highcharts-data-name");t.getAttribute("highcharts-data-series-id")?n.seriesId=t.value:e?n.fields[e]=t.value:n.type=t.value}),s.forEach(t=>{let e=t.id;if("highcharts-select-series"!==e&&"highcharts-select-volume"!==e){let i=e.split("highcharts-select-")[1];n.fields[i]=t.value}}),r&&(n.fields["params.volumeSeriesID"]=r.getAttribute("value")||""),n}(s,i))))}),r}showForm(t,e,i,s){e&&(this.showPopup(),"indicators"===t&&this.indicators.addForm.call(this,e,i,s),"annotation-toolbar"===t&&this.annotations.addToolbar.call(this,e,i,s),"annotation-edit"===t&&this.annotations.addForm.call(this,e,i,s),"flag"===t&&this.annotations.addForm.call(this,e,i,s,!0),this.type=t,this.container.style.height=this.container.offsetHeight+"px")}}xe(we.prototype,{annotations:{addForm:function(t,e,i,s){if(!t)return;let o=this.container,r=this.lang,n=Dt("h2",{className:"highcharts-popup-main-title"},void 0,o);n.appendChild(Lt.createTextNode(r[e.langKey]||e.langKey||"")),n=Dt("div",{className:"highcharts-popup-lhs-col highcharts-popup-lhs-full"},void 0,o);let a=Dt("div",{className:"highcharts-popup-bottom-row"},void 0,o);Ft.call(this,n,t,"",e,[],!0),this.addButton(a,s?r.addButton||"Add":r.saveButton||"Save",s?"add":"save",o,i)},addToolbar:function(t,e,i){let s=this.lang,o=this.container,r=this.showForm,n="highcharts-annotation-toolbar";-1===o.className.indexOf(n)&&(o.className+=" "+n+" highcharts-no-mousewheel"),t&&(o.style.top=t.plotTop+10+"px");let a=Dt("p",{className:"highcharts-annotation-label"},void 0,o);a.setAttribute("aria-label","Annotation type"),a.appendChild(Lt.createTextNode(Rt(s[e.langKey]||e.langKey,e.shapes&&e.shapes[0].type,"")));let l=this.addButton(o,s.editButton||"Edit","edit",o,()=>{r.call(this,"annotation-edit",t,e,i)});l.className+=" highcharts-annotation-edit-button",l.style["background-image"]="url("+this.iconsURL+"edit.svg)",l=this.addButton(o,s.removeButton||"Remove","remove",o,i),l.className+=" highcharts-annotation-remove-button",l.style["background-image"]="url("+this.iconsURL+"destroy.svg)"}},indicators:{addForm:function(t,e,i){let s,o=this.lang;if(!t)return;this.tabs.init.call(this,t);let r=this.container.querySelectorAll(".highcharts-tab-item-content");Kt(r[0]),Qt.call(this,t,r[0]),Zt.call(this,t,r[0],"add"),s=r[0].querySelectorAll(".highcharts-popup-rhs-col")[0],this.addButton(s,o.addButton||"add","add",s,i),Kt(r[1]),Zt.call(this,t,r[1],"edit"),s=r[1].querySelectorAll(".highcharts-popup-rhs-col")[0],this.addButton(s,o.saveButton||"save","edit",s,i),this.addButton(s,o.removeButton||"remove","remove",s,i)},getAmount:function(){let t=0;return this.series.forEach(e=>{(e.params||e.options.params)&&t++}),t}},tabs:{init:function(t){if(!t)return;let e=this.indicators.getAmount.call(t),i=ce.call(this,"add");ce.call(this,"edit",e),he.call(this),he.call(this),ue.call(this,e),pe.call(this,i,0)}}});let{composed:ke}=u(),{addEvent:Ae,pushUnique:Me,wrap:Ce}=u();function Pe(){this.popup&&this.popup.closePopup()}function Se(t){this.popup||(this.popup=new we(this.chart.container,this.chart.options.navigation.iconsURL||this.chart.options.stockTools&&this.chart.options.stockTools.gui.iconsURL||"https://code.highcharts.com/12.1.2/gfx/stock-icons/",this.chart)),this.popup.showForm(t.formType,this.chart,t.options,t.onSubmit)}function Te(t,e){this.inClass(e.target,"highcharts-popup")||t.apply(this,Array.prototype.slice.call(arguments,1))}let Ee=function(t,e){Me(ke,"Popup")&&(Ae(t,"closePopup",Pe),Ae(t,"showPopup",Se),Ce(e.prototype,"onContainerMouseDown",Te))},{getDeferredAnimation:Le}=u(),{destroyObjectProperties:Oe,erase:De,fireEvent:Ie,merge:Ne,pick:Be,splat:Re}=u();function ze(t,e){let i={};return["labels","shapes"].forEach(s=>{let o=t[s],r=e[s];o&&(i[s]=r?Re(r).map((t,e)=>Ne(o[e],t)):t[s])}),i}class Fe extends B{static compose(t,e,i,s){P.compose(Fe,t,i),At.compose(s),at.compose(t,s),e.compose(Fe,t),Ee(e,i)}constructor(t,e){super(),this.coll="annotations",this.chart=t,this.points=[],this.controlPoints=[],this.coll="annotations",this.index=-1,this.labels=[],this.shapes=[],this.options=Ne(this.defaultOptions,e),this.userOptions=e;let i=ze(this.options,e);this.options.labels=i.labels,this.options.shapes=i.shapes,this.init(t,this.options)}addClipPaths(){this.setClipAxes(),this.clipXAxis&&this.clipYAxis&&this.options.crop&&(this.clipRect=this.chart.renderer.clipRect(this.getClipBox()))}addLabels(){let t=this.options.labels||[];t.forEach((e,i)=>{let s=this.initLabel(e,i);Ne(!0,t[i],s.options)})}addShapes(){let t=this.options.shapes||[];t.forEach((e,i)=>{let s=this.initShape(e,i);Ne(!0,t[i],s.options)})}destroy(){let t=this.chart,e=function(t){t.destroy()};this.labels.forEach(e),this.shapes.forEach(e),this.clipXAxis=null,this.clipYAxis=null,De(t.labelCollectors,this.labelCollector),super.destroy(),this.destroyControlTarget(),Oe(this,t)}destroyItem(t){De(this[t.itemType+"s"],t),t.destroy()}getClipBox(){if(this.clipXAxis&&this.clipYAxis)return{x:this.clipXAxis.left,y:this.clipYAxis.top,width:this.clipXAxis.width,height:this.clipYAxis.height}}initProperties(t,e){this.setOptions(e);let i=ze(this.options,e);this.options.labels=i.labels,this.options.shapes=i.shapes,this.chart=t,this.points=[],this.controlPoints=[],this.coll="annotations",this.userOptions=e,this.labels=[],this.shapes=[]}init(t,e,i=this.index){let s=this.chart,o=this.options.animation;this.index=i,this.linkPoints(),this.addControlPoints(),this.addShapes(),this.addLabels(),this.setLabelCollector(),this.animationConfig=Le(s,o)}initLabel(t,e){let i=new At(this,Ne(this.options.labelOptions,{controlPointOptions:this.options.controlPointOptions},t),e);return i.itemType="label",this.labels.push(i),i}initShape(t,e){let i=Ne(this.options.shapeOptions,{controlPointOptions:this.options.controlPointOptions},t),s=new Fe.shapesMap[i.type](this,i,e);return s.itemType="shape",this.shapes.push(s),s}redraw(t){this.linkPoints(),this.graphic||this.render(),this.clipRect&&this.clipRect.animate(this.getClipBox()),this.redrawItems(this.shapes,t),this.redrawItems(this.labels,t),this.redrawControlPoints(t)}redrawItem(t,e){t.linkPoints(),t.shouldBeDrawn()?(t.graphic||this.renderItem(t),t.redraw(Be(e,!0)&&t.graphic.placed),t.points.length&&function(t){let e=t.graphic,i=t.points.some(t=>!1!==t.series.visible&&!1!==t.visible);e&&(i?"hidden"===e.visibility&&e.show():e.hide())}(t)):this.destroyItem(t)}redrawItems(t,e){let i=t.length;for(;i--;)this.redrawItem(t[i],e)}remove(){return this.chart.removeAnnotation(this)}render(){let t=this.chart.renderer;this.graphic=t.g("annotation").attr({opacity:0,zIndex:this.options.zIndex,visibility:this.options.visible?"inherit":"hidden"}).add(),this.shapesGroup=t.g("annotation-shapes").add(this.graphic),this.options.crop&&this.shapesGroup.clip(this.chart.plotBoxClip),this.labelsGroup=t.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(),this.renderControlPoints()}renderItem(t){t.render("label"===t.itemType?this.labelsGroup:this.shapesGroup)}renderItems(t){let e=t.length;for(;e--;)this.renderItem(t[e])}setClipAxes(){let t=this.chart.xAxis,e=this.chart.yAxis,i=(this.options.labels||[]).concat(this.options.shapes||[]).reduce((i,s)=>{let o=s&&(s.point||s.points&&s.points[0]);return[t[o&&o.xAxis]||i[0],e[o&&o.yAxis]||i[1]]},[]);this.clipXAxis=i[0],this.clipYAxis=i[1]}setControlPointsVisibility(t){let e=function(e){e.setControlPointsVisibility(t)};this.controlPoints.forEach(e=>{e.setVisibility(t)}),this.shapes.forEach(e),this.labels.forEach(e)}setLabelCollector(){let t=this;t.labelCollector=function(){return t.labels.reduce(function(t,e){return e.options.allowOverlap||t.push(e.graphic),t},[])},t.chart.labelCollectors.push(t.labelCollector)}setOptions(t){this.options=Ne(this.defaultOptions,t)}setVisibility(t){let e=this.options,i=this.chart.navigationBindings,s=Be(t,!e.visible);if(this.graphic.attr("visibility",s?"inherit":"hidden"),!s){let t=function(t){t.setControlPointsVisibility(s)};this.shapes.forEach(t),this.labels.forEach(t),i.activeAnnotation===this&&i.popup&&"annotation-toolbar"===i.popup.type&&Ie(i,"closePopup")}e.visible=s}update(t,e){let i=this.chart,s=ze(this.userOptions,t),o=i.annotations.indexOf(this),r=Ne(!0,this.userOptions,t);r.labels=s.labels,r.shapes=s.shapes,this.destroy(),this.initProperties(i,r),this.init(i,r),i.options.annotations[o]=this.options,this.isUpdating=!0,Be(e,!0)&&i.drawAnnotations(),Ie(this,"afterUpdate"),this.isUpdating=!1}}Fe.ControlPoint=F,Fe.MockPoint=G,Fe.shapesMap={rect:ht,circle:dt,ellipse:gt,path:at,image:Mt},Fe.types={},Fe.prototype.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 S(this.y)?""+this.y:"Annotation label"},includeInDataExport:!0,overflow:"justify",padding:5,shadow:!1,shape:"callout",style:{fontSize:"0.7em",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:{events:{},style:{cursor:"pointer",fill:"#ffffff",stroke:"#000000","stroke-width":2},height:10,symbol:"circle",visible:!1,width:10},events:{},zIndex:6},Fe.prototype.nonDOMEvents=["add","afterUpdate","drag","remove"],_.compose(Fe),function(t){t.compose=function(t){return t.navigation||(t.navigation=new e(t)),t};class e{constructor(t){this.updates=[],this.chart=t}addUpdate(t){this.chart.navigation.updates.push(t)}update(t,e){this.updates.forEach(i=>{i.call(this.chart,t,e)})}}t.Additions=e}(a||(a={}));let He=a,{defined:Xe,isNumber:We,pick:Ye}=u(),je={backgroundColor:"string",borderColor:"string",borderRadius:"string",color:"string",fill:"string",fontSize:"string",labels:"string",name:"string",stroke:"string",title:"string"},Ge={annotationsFieldsTypes:je,getAssignedAxis:function(t){return t.filter(t=>{let e=t.axis.getExtremes(),i=e.min,s=e.max,o=Ye(t.axis.minPointOffset,0);return We(i)&&We(s)&&t.value>=i-o&&t.value<=s+o&&!t.axis.options.isInternal})[0]},getFieldType:function(t,e){let i=je[t],s=typeof e;return Xe(i)&&(s=i),{string:"text",number:"number",boolean:"checkbox"}[s]}},{getAssignedAxis:_e}=Ge,{isNumber:qe,merge:Ue}=u(),Ve={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(t){let e=this.chart.pointer?.getCoordinates(t),i=e&&_e(e.xAxis),s=e&&_e(e.yAxis),o=this.chart.options.navigation;if(i&&s)return this.chart.addAnnotation(Ue({langKey:"circle",type:"basicAnnotation",shapes:[{type:"circle",point:{x:i.value,y:s.value,xAxis:i.axis.index,yAxis:s.axis.index},r:5}]},o.annotationsOptions,o.bindings.circleAnnotation.annotationsOptions))},steps:[function(t,e){let i,s=e.options.shapes,o=s&&s[0]&&s[0].point||{};if(qe(o.xAxis)&&qe(o.yAxis)){let e=this.chart.inverted,s=this.chart.xAxis[o.xAxis].toPixels(o.x),r=this.chart.yAxis[o.yAxis].toPixels(o.y);i=Math.max(Math.sqrt(Math.pow(e?r-t.chartX:s-t.chartX,2)+Math.pow(e?s-t.chartY:r-t.chartY,2)),5)}e.update({shapes:[{r:i}]})}]},ellipseAnnotation:{className:"highcharts-ellipse-annotation",start:function(t){let e=this.chart.pointer?.getCoordinates(t),i=e&&_e(e.xAxis),s=e&&_e(e.yAxis),o=this.chart.options.navigation;if(i&&s)return this.chart.addAnnotation(Ue({langKey:"ellipse",type:"basicAnnotation",shapes:[{type:"ellipse",xAxis:i.axis.index,yAxis:s.axis.index,points:[{x:i.value,y:s.value},{x:i.value,y:s.value}],ry:1}]},o.annotationsOptions,o.bindings.ellipseAnnotation.annotationOptions))},steps:[function(t,e){let i=e.shapes[0],s=i.getAbsolutePosition(i.points[1]);i.translatePoint(t.chartX-s.x,t.chartY-s.y,1),i.redraw(!1)},function(t,e){let i=e.shapes[0],s=i.getAbsolutePosition(i.points[0]),o=i.getAbsolutePosition(i.points[1]),r=i.getDistanceFromLine(s,o,t.chartX,t.chartY),n=i.getYAxis(),a=Math.abs(n.toValue(0)-n.toValue(r));i.setYRadius(a),i.redraw(!1)}]},rectangleAnnotation:{className:"highcharts-rectangle-annotation",start:function(t){let e=this.chart.pointer?.getCoordinates(t),i=e&&_e(e.xAxis),s=e&&_e(e.yAxis);if(!i||!s)return;let o=i.value,r=s.value,n=i.axis.index,a=s.axis.index,l=this.chart.options.navigation;return this.chart.addAnnotation(Ue({langKey:"rectangle",type:"basicAnnotation",shapes:[{type:"path",points:[{xAxis:n,yAxis:a,x:o,y:r},{xAxis:n,yAxis:a,x:o,y:r},{xAxis:n,yAxis:a,x:o,y:r},{xAxis:n,yAxis:a,x:o,y:r},{command:"Z"}]}]},l.annotationsOptions,l.bindings.rectangleAnnotation.annotationsOptions))},steps:[function(t,e){let i=e.options.shapes,s=i&&i[0]&&i[0].points||[],o=this.chart.pointer?.getCoordinates(t),r=o&&_e(o.xAxis),n=o&&_e(o.yAxis);if(r&&n){let t=r.value,i=n.value;s[1].x=t,s[2].x=t,s[2].y=i,s[3].y=i,e.update({shapes:[{points:s}]})}}]},labelAnnotation:{className:"highcharts-label-annotation",start:function(t){let e=this.chart.pointer?.getCoordinates(t),i=e&&_e(e.xAxis),s=e&&_e(e.yAxis),o=this.chart.options.navigation;if(i&&s)return this.chart.addAnnotation(Ue({langKey:"label",type:"basicAnnotation",labelOptions:{format:"{y:.2f}",overflow:"none",crop:!0},labels:[{point:{xAxis:i.axis.index,yAxis:s.axis.index,x:i.value,y:s.value}}]},o.annotationsOptions,o.bindings.labelAnnotation.annotationsOptions))}}},events:{},annotationsOptions:{animation:{defer:0}}}},{setOptions:Ke}=u(),{format:$e}=mt(),{composed:Ze,doc:Je,win:Qe}=u(),{getAssignedAxis:ti,getFieldType:ei}=Ge,{addEvent:ii,attr:si,defined:oi,fireEvent:ri,isArray:ni,isFunction:ai,isNumber:li,isObject:hi,merge:ci,objectEach:di,pick:pi,pushUnique:ui}=u();function gi(){this.chart.navigationBindings&&this.chart.navigationBindings.deselectAnnotation()}function fi(){this.navigationBindings&&this.navigationBindings.destroy()}function mi(){let t=this.options;t&&t.navigation&&t.navigation.bindings&&(this.navigationBindings=new wi(this,t.navigation),this.navigationBindings.initEvents(),this.navigationBindings.initUpdate())}function bi(){let t=this.navigationBindings,e="highcharts-disabled-btn";if(this&&t){let i=!1;if(this.series.forEach(t=>{!t.options.isInternal&&t.visible&&(i=!0)}),this.navigationBindings&&this.navigationBindings.container&&this.navigationBindings.container[0]){let s=this.navigationBindings.container[0];di(t.boundClassNames,(t,o)=>{let r=s.querySelectorAll("."+o);if(r)for(let s=0;s<r.length;s++){let o=r[s],n=o.className;"normal"===t.noDataState||i?-1!==n.indexOf(e)&&o.classList.remove(e):-1===n.indexOf(e)&&(o.className+=" "+e)}})}}}function xi(){this.deselectAnnotation()}function yi(){this.selectedButtonElement=null}function vi(t){let e,i,s=t.prototype.defaultOptions.events&&t.prototype.defaultOptions.events.click;function o(t){let e=this,i=e.chart.navigationBindings,o=i.activeAnnotation;s&&s.call(e,t),o!==e?(i.deselectAnnotation(),i.activeAnnotation=e,e.setControlPointsVisibility(!0),ri(i,"showPopup",{annotation:e,formType:"annotation-toolbar",options:i.annotationToFields(e),onSubmit:function(t){if("remove"===t.actionType)i.activeAnnotation=!1,i.chart.removeAnnotation(e);else{let s={};i.fieldsToOptions(t.fields,s),i.deselectAnnotation();let o=s.typeOptions;"measure"===e.options.type&&(o.crosshairY.enabled=0!==o.crosshairY.strokeWidth,o.crosshairX.enabled=0!==o.crosshairX.strokeWidth),e.update(s)}}})):ri(i,"closePopup"),t.activeAnnotation=!0}ci(!0,t.prototype.defaultOptions.events,{click:o,touchstart:function(t){e=t.touches[0].clientX,i=t.touches[0].clientY},touchend:function(t){e&&Math.sqrt(Math.pow(e-t.changedTouches[0].clientX,2)+Math.pow(i-t.changedTouches[0].clientY,2))>=4||o.call(this,t)}})}class wi{static compose(t,e){ui(Ze,"NavigationBindings")&&(ii(t,"remove",gi),vi(t),di(t.types,t=>{vi(t)}),ii(e,"destroy",fi),ii(e,"load",mi),ii(e,"render",bi),ii(wi,"closePopup",xi),ii(wi,"deselectButton",yi),Ke(Ve))}constructor(t,e){this.boundClassNames=void 0,this.chart=t,this.options=e,this.eventsToUnbind=[],this.container=this.chart.container.getElementsByClassName(this.options.bindingsClassName||""),this.container.length||(this.container=Je.getElementsByClassName(this.options.bindingsClassName||""))}getCoords(t){let e=this.chart.pointer?.getCoordinates(t);return[e&&ti(e.xAxis),e&&ti(e.yAxis)]}initEvents(){let t=this,e=t.chart,i=t.container,s=t.options;t.boundClassNames={},di(s.bindings||{},e=>{t.boundClassNames[e.className]=e}),[].forEach.call(i,e=>{t.eventsToUnbind.push(ii(e,"click",i=>{let s=t.getButtonEvents(e,i);s&&!s.button.classList.contains("highcharts-disabled-btn")&&t.bindingsButtonClick(s.button,s.events,i)}))}),di(s.events||{},(e,i)=>{ai(e)&&t.eventsToUnbind.push(ii(t,i,e,{passive:!1}))}),t.eventsToUnbind.push(ii(e.container,"click",function(i){!e.cancelClick&&e.isInsidePlot(i.chartX-e.plotLeft,i.chartY-e.plotTop,{visiblePlotOnly:!0})&&t.bindingsChartClick(this,i)})),t.eventsToUnbind.push(ii(e.container,u().isTouchDevice?"touchmove":"mousemove",function(e){t.bindingsContainerMouseMove(this,e)},u().isTouchDevice?{passive:!1}:void 0))}initUpdate(){let t=this;He.compose(this.chart).navigation.addUpdate(e=>{t.update(e)})}bindingsButtonClick(t,e,i){let s=this.chart,o=s.renderer.boxWrapper,r=!0;this.selectedButtonElement&&(this.selectedButtonElement.classList===t.classList&&(r=!1),ri(this,"deselectButton",{button:this.selectedButtonElement}),this.nextEvent&&(this.currentUserDetails&&"annotations"===this.currentUserDetails.coll&&s.removeAnnotation(this.currentUserDetails),this.mouseMoveEvent=this.nextEvent=!1)),r?(this.selectedButton=e,this.selectedButtonElement=t,ri(this,"selectButton",{button:t}),e.init&&e.init.call(this,t,i),(e.start||e.steps)&&s.renderer.boxWrapper.addClass("highcharts-draw-mode")):(s.stockTools&&t.classList.remove("highcharts-active"),o.removeClass("highcharts-draw-mode"),this.nextEvent=!1,this.mouseMoveEvent=!1,this.selectedButton=null)}bindingsChartClick(t,e){t=this.chart;let i=this.activeAnnotation,s=this.selectedButton,o=t.renderer.boxWrapper;i&&(i.cancelClick||e.activeAnnotation||!e.target.parentNode||function(t,e){let i=Qe.Element.prototype,s=i.matches||i.msMatchesSelector||i.webkitMatchesSelector,o=null;if(i.closest)o=i.closest.call(t,e);else do{if(s.call(t,e))return t;t=t.parentElement||t.parentNode}while(null!==t&&1===t.nodeType);return o}(e.target,".highcharts-popup")?i.cancelClick&&setTimeout(()=>{i.cancelClick=!1},0):ri(this,"closePopup")),s&&s.start&&(this.nextEvent?(this.nextEvent(e,this.currentUserDetails),this.steps&&(this.stepIndex++,s.steps[this.stepIndex]?this.mouseMoveEvent=this.nextEvent=s.steps[this.stepIndex]:(ri(this,"deselectButton",{button:this.selectedButtonElement}),o.removeClass("highcharts-draw-mode"),s.end&&s.end.call(this,e,this.currentUserDetails),this.nextEvent=!1,this.mouseMoveEvent=!1,this.selectedButton=null))):(this.currentUserDetails=s.start.call(this,e),this.currentUserDetails&&s.steps?(this.stepIndex=0,this.steps=!0,this.mouseMoveEvent=this.nextEvent=s.steps[this.stepIndex]):(ri(this,"deselectButton",{button:this.selectedButtonElement}),o.removeClass("highcharts-draw-mode"),this.steps=!1,this.selectedButton=null,s.end&&s.end.call(this,e,this.currentUserDetails))))}bindingsContainerMouseMove(t,e){this.mouseMoveEvent&&this.mouseMoveEvent(e,this.currentUserDetails)}fieldsToOptions(t,e){return di(t,(t,i)=>{let s=parseFloat(t),o=i.split("."),r=o.length-1;if(!li(s)||t.match(/px|em/g)||i.match(/format/g)||(t=s),"undefined"!==t){let i=e;o.forEach((e,s)=>{if("__proto__"!==e&&"constructor"!==e){let n=pi(o[s+1],"");r===s?i[e]=t:(i[e]||(i[e]=n.match(/\d/g)?[]:{}),i=i[e])}})}}),e}deselectAnnotation(){this.activeAnnotation&&(this.activeAnnotation.setControlPointsVisibility(!1),this.activeAnnotation=!1)}annotationToFields(t){let e=t.options,i=wi.annotationsEditable,s=i.nestedOptions,o=pi(e.type,e.shapes&&e.shapes[0]&&e.shapes[0].type,e.labels&&e.labels[0]&&e.labels[0].type,"label"),r=wi.annotationsNonEditable[e.langKey]||[],n={langKey:e.langKey,type:o};function a(e,i,o,n,l){let h;o&&oi(e)&&-1===r.indexOf(i)&&((o.indexOf&&o.indexOf(i))>=0||o[i]||!0===o)&&(ni(e)?(n[i]=[],e.forEach((t,e)=>{hi(t)?(n[i][e]={},di(t,(t,o)=>{a(t,o,s[i],n[i][e],i)})):a(t,0,s[i],n[i],i)})):hi(e)?(h={},ni(n)?(n.push(h),h[i]={},h=h[i]):n[i]=h,di(e,(t,e)=>{a(t,e,0===i?o:s[i],h,i)})):"format"===i?n[i]=[$e(e,t.labels[0].points[0]).toString(),"text"]:ni(n)?n.push([e,ei(l,e)]):n[i]=[e,ei(i,e)])}return di(e,(t,r)=>{"typeOptions"===r?(n[r]={},di(e[r],(t,e)=>{a(t,e,s,n[r],e)})):a(t,r,i[o],n,r)}),n}getClickedClassNames(t,e){let i,s=e.target,o=[];for(;s&&s.tagName&&((i=si(s,"class"))&&(o=o.concat(i.split(" ").map(t=>[t,s]))),(s=s.parentNode)!==t););return o}getButtonEvents(t,e){let i,s=this;return this.getClickedClassNames(t,e).forEach(t=>{s.boundClassNames[t[0]]&&!i&&(i={events:s.boundClassNames[t[0]],button:t[1]})}),i}update(t){this.options=ci(!0,this.options,t),this.removeEvents(),this.initEvents()}removeEvents(){this.eventsToUnbind.forEach(t=>t())}destroy(){this.removeEvents()}}wi.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"]},wi.annotationsNonEditable={rectangle:["crosshairX","crosshairY","labelOptions"],ellipse:["labelOptions"],circle:["labelOptions"]};let ki=u();ki.Annotation=ki.Annotation||Fe,ki.NavigationBindings=ki.NavigationBindings||wi,ki.Annotation.compose(ki.Chart,ki.NavigationBindings,ki.Pointer,ki.SVGRenderer);let Ai=u();return d.default})(),"object"==typeof i&&"object"==typeof e?e.exports=o(s._Highcharts,s._Highcharts.SeriesRegistry,s._Highcharts.Templating,s._Highcharts.AST):"function"==typeof define&&define.amd?define("highcharts/modules/annotations",["highcharts/highcharts"],function(t){return o(t,t.SeriesRegistry,t.Templating,t.AST)}):"object"==typeof i?i["highcharts/modules/annotations"]=o(s._Highcharts,s._Highcharts.SeriesRegistry,s._Highcharts.Templating,s._Highcharts.AST):s.Highcharts=o(s.Highcharts,s.Highcharts.SeriesRegistry,s.Highcharts.Templating,s.Highcharts.AST)},{}],30:[function(t,e,i){
|
|
4
|
+
/*! pym.js - v1.3.2 - 2018-02-13 */
|
|
5
|
+
!function(t){"function"==typeof define&&define.amd?define(t):void 0!==e&&e.exports?e.exports=t():window.pym=t.call(this)}(function(){var t="xPYMx",e={},i=function(t){var e=document.createEvent("Event");e.initEvent("pym:"+t,!0,!0),document.dispatchEvent(e)},s=function(t){var e=new RegExp("[\\?&]"+t.replace(/[\[]/,"\\[").replace(/[\]]/,"\\]")+"=([^&#]*)").exec(location.search);return null===e?"":decodeURIComponent(e[1].replace(/\+/g," "))},o=function(t,e){if(("*"===e.xdomain||t.origin.match(new RegExp(e.xdomain+"$")))&&"string"==typeof t.data)return!0},r=function(e,i,s){return["pym",e,i,s].join(t)},n=Date.now||function(){return(new Date).getTime()},a=function(){for(var t=e.autoInitInstances.length-1;t>=0;t--){var i=e.autoInitInstances[t];i.el.getElementsByTagName("iframe").length&&i.el.getElementsByTagName("iframe")[0].contentWindow||e.autoInitInstances.splice(t,1)}};return e.autoInitInstances=[],e.autoInit=function(t){var s=document.querySelectorAll("[data-pym-src]:not([data-pym-auto-initialized])"),o=s.length;a();for(var r=0;r<o;++r){var n=s[r];n.setAttribute("data-pym-auto-initialized",""),""===n.id&&(n.id="pym-"+r+"-"+Math.random().toString(36).substr(2,5));var l=n.getAttribute("data-pym-src"),h={xdomain:"string",title:"string",name:"string",id:"string",sandbox:"string",allowfullscreen:"boolean",parenturlparam:"string",parenturlvalue:"string",optionalparams:"boolean",trackscroll:"boolean",scrollwait:"number"},c={};for(var d in h)if(null!==n.getAttribute("data-pym-"+d))switch(h[d]){case"boolean":c[d]=!("false"===n.getAttribute("data-pym-"+d));break;case"string":c[d]=n.getAttribute("data-pym-"+d);break;case"number":var p=Number(n.getAttribute("data-pym-"+d));isNaN(p)||(c[d]=p)}var u=new e.Parent(n.id,l,c);e.autoInitInstances.push(u)}return t||i("pym-initialized"),e.autoInitInstances},e.Parent=function(e,i,s){for(var l in this.id=e,this.url=i,this.el=document.getElementById(e),this.iframe=null,this.settings={xdomain:"*",optionalparams:!0,parenturlparam:"parentUrl",parenturlvalue:window.location.href,trackscroll:!1,scrollwait:100},this.messageRegex=function(e){return new RegExp("^"+["pym",e,"(\\S+)","(.*)"].join(t)+"$")}(this.id),this.messageHandlers={},s=s||{},this._constructIframe=function(){var t=this.el.offsetWidth.toString();this.iframe=document.createElement("iframe");var e="",i=this.url.indexOf("#");for(i>-1&&(e=this.url.substring(i,this.url.length),this.url=this.url.substring(0,i)),this.url.indexOf("?")<0?this.url+="?":this.url+="&",this.iframe.src=this.url+"initialWidth="+t+"&childId="+this.id,this.settings.optionalparams&&(this.iframe.src+="&parentTitle="+encodeURIComponent(document.title),this.iframe.src+="&"+this.settings.parenturlparam+"="+encodeURIComponent(this.settings.parenturlvalue)),this.iframe.src+=e,this.iframe.setAttribute("width","100%"),this.iframe.setAttribute("scrolling","no"),this.iframe.setAttribute("marginheight","0"),this.iframe.setAttribute("frameborder","0"),this.settings.title&&this.iframe.setAttribute("title",this.settings.title),void 0!==this.settings.allowfullscreen&&!1!==this.settings.allowfullscreen&&this.iframe.setAttribute("allowfullscreen",""),void 0!==this.settings.sandbox&&"string"==typeof this.settings.sandbox&&this.iframe.setAttribute("sandbox",this.settings.sandbox),this.settings.id&&(document.getElementById(this.settings.id)||this.iframe.setAttribute("id",this.settings.id)),this.settings.name&&this.iframe.setAttribute("name",this.settings.name);this.el.firstChild;)this.el.removeChild(this.el.firstChild);this.el.appendChild(this.iframe),window.addEventListener("resize",this._onResize),this.settings.trackscroll&&window.addEventListener("scroll",this._throttleOnScroll)},this._onResize=function(){this.sendWidth(),this.settings.trackscroll&&this.sendViewportAndIFramePosition()}.bind(this),this._onScroll=function(){this.sendViewportAndIFramePosition()}.bind(this),this._fire=function(t,e){if(t in this.messageHandlers)for(var i=0;i<this.messageHandlers[t].length;i++)this.messageHandlers[t][i].call(this,e)},this.remove=function(){window.removeEventListener("message",this._processMessage),window.removeEventListener("resize",this._onResize),this.el.removeChild(this.iframe),a()},this._processMessage=function(t){if(o(t,this.settings)&&"string"==typeof t.data){var e=t.data.match(this.messageRegex);if(!e||3!==e.length)return!1;var i=e[1],s=e[2];this._fire(i,s)}}.bind(this),this._onHeightMessage=function(t){var e=parseInt(t);this.iframe.setAttribute("height",e+"px")},this._onNavigateToMessage=function(t){(function(t){if(t.match(/^(?:(?:https?|mailto|ftp):|[^&:/?#]*(?:[/?#]|$))/gi))return!0})(t)&&(document.location.href=t)},this._onScrollToChildPosMessage=function(t){var e=document.getElementById(this.id).getBoundingClientRect().top+window.pageYOffset+parseInt(t);window.scrollTo(0,e)},this.onMessage=function(t,e){t in this.messageHandlers||(this.messageHandlers[t]=[]),this.messageHandlers[t].push(e)},this.sendMessage=function(t,e){this.el.getElementsByTagName("iframe").length&&(this.el.getElementsByTagName("iframe")[0].contentWindow?this.el.getElementsByTagName("iframe")[0].contentWindow.postMessage(r(this.id,t,e),"*"):this.remove())},this.sendWidth=function(){var t=this.el.offsetWidth.toString();this.sendMessage("width",t)},this.sendViewportAndIFramePosition=function(){var t=this.iframe.getBoundingClientRect(),e=(window.innerWidth||document.documentElement.clientWidth)+" "+(window.innerHeight||document.documentElement.clientHeight);e+=" "+t.top+" "+t.left,e+=" "+t.bottom+" "+t.right,this.sendMessage("viewport-iframe-position",e)},s)this.settings[l]=s[l];return this._throttleOnScroll=function(t,e,i){var s,o,r,a=null,l=0;i||(i={});var h=function(){l=!1===i.leading?0:n(),a=null,r=t.apply(s,o),a||(s=o=null)};return function(){var c=n();l||!1!==i.leading||(l=c);var d=e-(c-l);return s=this,o=arguments,d<=0||d>e?(a&&(clearTimeout(a),a=null),l=c,r=t.apply(s,o),a||(s=o=null)):a||!1===i.trailing||(a=setTimeout(h,d)),r}}(this._onScroll.bind(this),this.settings.scrollwait),this.onMessage("height",this._onHeightMessage),this.onMessage("navigateTo",this._onNavigateToMessage),this.onMessage("scrollToChildPos",this._onScrollToChildPosMessage),this.onMessage("parentPositionInfo",this.sendViewportAndIFramePosition),window.addEventListener("message",this._processMessage,!1),this._constructIframe(),this},e.Child=function(e){this.parentWidth=null,this.id=null,this.parentTitle=null,this.parentUrl=null,this.settings={renderCallback:null,xdomain:"*",polling:0,parenturlparam:"parentUrl"},this.timerId=null,this.messageRegex=null,this.messageHandlers={},e=e||{},this.onMessage=function(t,e){t in this.messageHandlers||(this.messageHandlers[t]=[]),this.messageHandlers[t].push(e)},this._fire=function(t,e){if(t in this.messageHandlers)for(var i=0;i<this.messageHandlers[t].length;i++)this.messageHandlers[t][i].call(this,e)},this._processMessage=function(t){if(o(t,this.settings)&&"string"==typeof t.data){var e=t.data.match(this.messageRegex);if(e&&3===e.length){var i=e[1],s=e[2];this._fire(i,s)}}}.bind(this),this._onWidthMessage=function(t){var e=parseInt(t);e!==this.parentWidth&&(this.parentWidth=e,this.settings.renderCallback&&this.settings.renderCallback(e),this.sendHeight())},this.sendMessage=function(t,e){window.parent.postMessage(r(this.id,t,e),"*")},this.sendHeight=function(){var t=document.getElementsByTagName("body")[0].offsetHeight.toString();return this.sendMessage("height",t),t}.bind(this),this.getParentPositionInfo=function(){this.sendMessage("parentPositionInfo")},this.scrollParentTo=function(t){this.sendMessage("navigateTo","#"+t)},this.navigateParentTo=function(t){this.sendMessage("navigateTo",t)},this.scrollParentToChildEl=function(t){var e=document.getElementById(t).getBoundingClientRect().top+window.pageYOffset;this.scrollParentToChildPos(e)},this.scrollParentToChildPos=function(t){this.sendMessage("scrollToChildPos",t.toString())};for(var n in this.remove=function(){window.removeEventListener("message",this._processMessage),this.timerId&&clearInterval(this.timerId)},e)this.settings[n]=e[n];this.id=s("childId")||e.id,this.messageRegex=new RegExp("^pym"+t+this.id+t+"(\\S+)"+t+"(.*)$");var a=parseInt(s("initialWidth"));return this.parentUrl=s(this.settings.parenturlparam),this.parentTitle=s("parentTitle"),this.onMessage("width",this._onWidthMessage),window.addEventListener("message",this._processMessage,!1),this.settings.renderCallback&&this.settings.renderCallback(a),this.sendHeight(),this.settings.polling&&(this.timerId=window.setInterval(this.sendHeight,this.settings.polling)),function(t){var e,s=document.getElementsByTagName("html")[0],o=s.className;try{e=window.self!==window.top?"embedded":"not-embedded"}catch(t){e="embedded"}o.indexOf(e)<0&&(s.className=o?o+" "+e:e,t&&t(e),i("marked-embedded"))}(e.onMarkedEmbeddedStatus),this},"undefined"!=typeof document&&e.autoInit(!0),e})},{}],31:[function(t,e,i){"use strict";var s=t("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(i,"__esModule",{value:!0}),i.default=void 0;var o=s(t("@babel/runtime/helpers/createClass")),r=s(t("@babel/runtime/helpers/classCallCheck")),n=s(t("@babel/runtime/helpers/defineProperty")),a=s(t("./chart-constants")),l=(0,o.default)(function t(e){var i=this,s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];(0,r.default)(this,t),(0,n.default)(this,"buildPointAccessibilityDescription",function(t){var e=t.point.x,s=t.point.y,o=Number.isInteger(e)&&i.xAxisCategories.length>e?i.xAxisCategories[e]:e;return"".concat(t.text,". Related to ").concat(o,", ").concat(s)}),(0,n.default)(this,"getAnnotationsOptionsDesktop",function(){var t=[{labels:[],labelOptions:{useHTML:!0,shape:"connector",borderColor:i.constants.labelColor,padding:3,style:{color:i.constants.labelColor,fontSize:i.constants.defaultFontSize,width:150,textAlign:"left"}},draggable:""}];return i.annotations.forEach(function(e){t[0].labels.push({point:{x:e.point.x,y:e.point.y,xAxis:0,yAxis:0},text:e.text,x:e.labelOffsetX,y:e.labelOffsetY,accessibility:{description:i.buildPointAccessibilityDescription(e)}})}),t}),(0,n.default)(this,"getAnnotationsOptionsMobile",function(){var t=[{labels:[],labelOptions:{backgroundColor:"transparent",borderColor:"transparent",useHTML:!0,className:"ons-chart__annotations-footnotes-number"},draggable:""}];return i.annotations.forEach(function(e,s){t[0].labels.push({point:{x:e.point.x,y:e.point.y,xAxis:0,yAxis:0},text:s+1,x:0,y:0,accessibility:{description:i.buildPointAccessibilityDescription(e)}})}),t}),this.constants=a.default.constants(),this.annotations=e,this.xAxisCategories=s});i.default=l},{"./chart-constants":35,"@babel/runtime/helpers/classCallCheck":5,"@babel/runtime/helpers/createClass":6,"@babel/runtime/helpers/defineProperty":7,"@babel/runtime/helpers/interopRequireDefault":8}],32:[function(t,e,i){"use strict";var s=t("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(i,"__esModule",{value:!0}),i.default=void 0;var o=s(t("@babel/runtime/helpers/createClass")),r=s(t("@babel/runtime/helpers/classCallCheck")),n=s(t("@babel/runtime/helpers/defineProperty")),a=(0,o.default)(function t(){(0,r.default)(this,t),(0,n.default)(this,"getAreaChartOptions",function(){return{legend:{symbolWidth:12,symbolHeight:12},yAxis:{reversedStacks:!1},plotOptions:{area:{fillOpacity:1,legendSymbol:"rectangle",stacking:"normal",lineWidth:0},series:{marker:{enabled:!1}}}}})});i.default=a},{"@babel/runtime/helpers/classCallCheck":5,"@babel/runtime/helpers/createClass":6,"@babel/runtime/helpers/defineProperty":7,"@babel/runtime/helpers/interopRequireDefault":8}],33:[function(t,e,i){"use strict";var s=t("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(i,"__esModule",{value:!0}),i.default=void 0;var o=s(t("@babel/runtime/helpers/createClass")),r=s(t("@babel/runtime/helpers/classCallCheck")),n=s(t("@babel/runtime/helpers/defineProperty")),a=s(t("./chart-constants"));function l(t,e){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(t);e&&(s=s.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),i.push.apply(i,s)}return i}function h(t){for(var e=1;e<arguments.length;e++){var i=null!=arguments[e]?arguments[e]:{};e%2?l(Object(i),!0).forEach(function(e){(0,n.default)(t,e,i[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(i)):l(Object(i)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(i,e))})}return t}var c=(0,o.default)(function t(){var e=this;(0,r.default)(this,t),(0,n.default)(this,"getBarChartOptions",function(t){return{plotOptions:{bar:{pointWidth:30,pointPadding:0,groupPadding:0,borderWidth:0,borderRadius:0,dataLabels:{enabled:!0,inside:!1,style:{textOutline:"none",fontWeight:"700",color:e.constants.labelColor,fontSize:e.constants.defaultFontSize}}},series:{stacking:t?"normal":null}},xAxis:{labels:{style:{textOverflow:"ellipsis",color:e.constants.categoryLabelColor},useHTML:!1},tickWidth:0,tickLength:0,tickColor:"transparent",title:{text:"",textAlign:"middle",reserveSpace:!1,rotation:0,y:-25,useHTML:!0}},yAxis:{labels:{rotation:0,useHTML:!0,style:{whiteSpace:"nowrap",color:e.constants.categoryLabelColor}},title:{textAlign:"right",offset:void 0,y:0,reserveSpace:!0,useHTML:!1},reversedStacks:!1}}}),(0,n.default)(this,"postLoadDataLabels",function(t){var i=e.getBarChartLabelsInsideOptions(),s=e.getBarChartLabelsOutsideOptions();t.series.forEach(function(t){"line"!=t.type&&("scatter"!=t.type&&t.data.forEach(function(t){if(t.dataLabel){var e=t.dataLabel.getBBox().width;t.shapeArgs.height>e+5?t.y<0?t.update({dataLabels:h(h({},i),{},{align:"left"})},!1):t.update({dataLabels:h(h({},i),{},{align:"right"})},!1):t.update({dataLabels:s},!1)}}))})}),(0,n.default)(this,"getBarChartLabelsInsideOptions",function(){return{inside:!0,verticalAlign:"middle",style:{color:"white",fontWeight:"bold"}}}),(0,n.default)(this,"getBarChartLabelsOutsideOptions",function(){return{inside:!1,align:void 0,verticalAlign:void 0,overflow:"allow",style:{textOutline:"none",fontWeight:"700",color:e.constants.labelColor,fontSize:e.constants.defaultFontSize}}}),(0,n.default)(this,"updateBarChartHeight",function(t,e,i){var s=t.xAxis.categories.length,o=e.series.length,r=30,n=0,a=0,l=0;if(0==i&&o>1){r=28,o>=3&&(r=20);var h=(n=14)/2/(((a=s*r*o)+(l=s*n))/s);e.series.forEach(function(t){t.update({groupPadding:h,pointWidth:r})})}else a=s*r,l=(s-1)*(n=10);t.xAxis.height=a+l;var c=e.plotTop+t.xAxis.height+e.marginBottom;c!==e.chartHeight&&e.setSize(null,c,!1),e.redraw()}),this.constants=a.default.constants()});i.default=c},{"./chart-constants":35,"@babel/runtime/helpers/classCallCheck":5,"@babel/runtime/helpers/createClass":6,"@babel/runtime/helpers/defineProperty":7,"@babel/runtime/helpers/interopRequireDefault":8}],34:[function(t,e,i){"use strict";var s=t("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(i,"__esModule",{value:!0}),i.default=void 0;var o=s(t("@babel/runtime/helpers/createClass")),r=s(t("@babel/runtime/helpers/classCallCheck")),n=s(t("@babel/runtime/helpers/defineProperty")),a=s(t("./chart-constants")),l=s(t("./column-chart"));function h(t,e){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(t);e&&(s=s.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),i.push.apply(i,s)}return i}function c(t){for(var e=1;e<arguments.length;e++){var i=null!=arguments[e]?arguments[e]:{};e%2?h(Object(i),!0).forEach(function(e){(0,n.default)(t,e,i[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(i)):h(Object(i)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(i,e))})}return t}var d=(0,o.default)(function t(){var e=this;(0,r.default)(this,t),(0,n.default)(this,"getBoxplotOptions",function(t,i,s){return{plotOptions:{boxplot:c(c({},e.columnChart.getPointPadding(t,i,s,!1)),{},{boxDashStyle:"Solid",fillColor:e.constants.uncertaintyRangeColor,lineWidth:0,medianColor:e.constants.estimateLineColor,medianDashStyle:"Solid",medianWidth:3,stemWidth:0,whiskerWidth:0})},legend:{enabled:!1,symbolRadius:0,itemStyle:{fontSize:e.constants.defaultFontSize,color:e.constants.legendLabelColor}},tooltip:{enabled:!1}}}),this.constants=a.default.constants(),this.columnChart=new l.default});i.default=d},{"./chart-constants":35,"./column-chart":40,"@babel/runtime/helpers/classCallCheck":5,"@babel/runtime/helpers/createClass":6,"@babel/runtime/helpers/defineProperty":7,"@babel/runtime/helpers/interopRequireDefault":8}],35:[function(t,e,i){"use strict";var s=t("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(i,"__esModule",{value:!0}),i.default=void 0;s(t("@babel/runtime/helpers/readOnlyError"));var o=s(t("@babel/runtime/helpers/classCallCheck")),r=s(t("@babel/runtime/helpers/createClass")),n=function(){return(0,r.default)(function t(){(0,o.default)(this,t)},null,[{key:"constants",value:function(){return{primaryTheme:["#206095","#a8bd3a","#871a5b","#f66068","#05341a","#27a0cc"],linePrimaryTheme:["#206095","#a8bd3a","#871a5b","#f66068","#27a0cc","#05341a"],alternateTheme:["#206095","#27A0CC","#871A5B","#A8BD3A","#F66068"],labelColor:"#414042",axisLabelColor:"#707071",categoryLabelColor:"#414042",gridLineColor:"#d9d9d9",zeroLineColor:"#b3b3b3",estimateLineColor:"#003c57",uncertaintyRangeColor:"rgba(32, 96, 149, 0.65)",defaultFontSize:"0.875rem",extraLineColor:"#222222",shadingColor:"#ececec",lineMarkerStyles:[{radius:4,symbol:"circle"},{radius:4,symbol:"square"},{radius:5,symbol:"diamond"},{radius:5,symbol:"triangle"},{radius:5,symbol:"triangle-down"},{radius:4,symbol:"circle",fillColor:"white",lineWidth:2.5,lineColor:null},{radius:4,symbol:"square",fillColor:"white",lineWidth:2.5,lineColor:null},{radius:5,symbol:"diamond",fillColor:"white",lineWidth:2.5,lineColor:null},{radius:5,symbol:"triangle",fillColor:"white",lineWidth:2.5,lineColor:null},{radius:5,symbol:"triangle-down",fillColor:"white",lineWidth:2.5,lineColor:null}],scatterMarkerStyles:[{radius:5,symbol:"circle",lineWidth:1,lineColor:"#ffffff"},{radius:5,symbol:"square",lineWidth:1,lineColor:"#ffffff"},{radius:6,symbol:"diamond",lineWidth:1,lineColor:"#ffffff"},{radius:6,symbol:"triangle",lineWidth:1,lineColor:"#ffffff"}],confidenceLevelMarkerStyles:[{radius:6,symbol:"diamond",lineWidth:2,lineColor:"#222",outline:!0,fillColor:"white"}]}}}])}();i.default=n},{"@babel/runtime/helpers/classCallCheck":5,"@babel/runtime/helpers/createClass":6,"@babel/runtime/helpers/interopRequireDefault":8,"@babel/runtime/helpers/readOnlyError":11}],36:[function(t,e,i){"use strict";var s=t("@babel/runtime/helpers/interopRequireDefault"),o=s(t("@babel/runtime/regenerator")),r=s(t("@babel/runtime/helpers/asyncToGenerator")),n=s(t("./chart-iframe-resize"));(0,s(t("../../js/domready")).default)((0,r.default)(o.default.mark(function t(){return o.default.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:[n.default].forEach(function(t){document.querySelectorAll(t.selector()).forEach(function(e){return new t(e)})});case 1:case"end":return t.stop()}},t)})))},{"../../js/domready":50,"./chart-iframe-resize":37,"@babel/runtime/helpers/asyncToGenerator":4,"@babel/runtime/helpers/interopRequireDefault":8,"@babel/runtime/regenerator":25}],37:[function(t,e,i){"use strict";var s=t("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(i,"__esModule",{value:!0}),i.default=void 0;var o=s(t("@babel/runtime/helpers/classCallCheck")),r=s(t("@babel/runtime/helpers/createClass")),n=s(t("pym.js")),a=function(){return(0,r.default)(function t(e){(0,o.default)(this,t),this.node=e,new n.default.Child(this.node.getAttribute("id"),this.node.dataset.url,{title:this.node.dataset.title})},null,[{key:"selector",value:function(){return".ons-chart__iframe-wrapper iframe"}}])}();i.default=a},{"@babel/runtime/helpers/classCallCheck":5,"@babel/runtime/helpers/createClass":6,"@babel/runtime/helpers/interopRequireDefault":8,"pym.js":30}],38:[function(t,e,i){"use strict";var s=t("@babel/runtime/helpers/interopRequireDefault"),o=s(t("@babel/runtime/regenerator")),r=s(t("@babel/runtime/helpers/asyncToGenerator")),n=s(t("./chart")),a=s(t("../../js/domready"));document.fonts.ready.then(function(){(0,a.default)((0,r.default)(o.default.mark(function t(){return o.default.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:[n.default].forEach(function(t){document.querySelectorAll(t.selector()).forEach(function(e){return new t(e)})});case 1:case"end":return t.stop()}},t)})))})},{"../../js/domready":50,"./chart":39,"@babel/runtime/helpers/asyncToGenerator":4,"@babel/runtime/helpers/interopRequireDefault":8,"@babel/runtime/regenerator":25}],39:[function(t,e,i){"use strict";var s=t("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(i,"__esModule",{value:!0}),i.default=void 0;var o=s(t("@babel/runtime/helpers/toConsumableArray")),r=s(t("@babel/runtime/helpers/classCallCheck")),n=s(t("@babel/runtime/helpers/createClass")),a=s(t("@babel/runtime/helpers/defineProperty")),l=s(t("highcharts"));t("highcharts/modules/accessibility"),t("highcharts/modules/annotations"),t("highcharts/highcharts-more");var h=s(t("./common-chart-options")),c=s(t("./specific-chart-options")),d=s(t("./line-chart")),p=s(t("./bar-chart")),u=s(t("./column-chart")),g=s(t("./scatter-chart")),f=s(t("./boxplot")),m=s(t("./annotations-options")),b=s(t("./range-annotations-options")),x=s(t("./reference-line-annotations-options")),y=t("./utilities"),v=s(t("./area-chart")),w=s(t("./columnrange-chart"));function k(t,e){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(t);e&&(s=s.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),i.push.apply(i,s)}return i}function A(t){for(var e=1;e<arguments.length;e++){var i=null!=arguments[e]?arguments[e]:{};e%2?k(Object(i),!0).forEach(function(e){(0,a.default)(t,e,i[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(i)):k(Object(i)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(i,e))})}return t}var M=function(){return(0,n.default)(function t(e){var i=this;(0,r.default)(this,t),(0,a.default)(this,"setAnnotationsAccessibilityDescription",function(){var t=[];if(i.rangeAnnotationsOptions&&t.push.apply(t,(0,o.default)(i.rangeAnnotationsOptions.getAccessibilityDescriptions())),i.referenceLineAnnotationsOptions&&t.push.apply(t,(0,o.default)(i.referenceLineAnnotationsOptions.getAccessibilityDescriptions())),t.length>0){i.config.accessibility||(i.config.accessibility={});var e=t.map(function(t){return"<li>".concat(t,"</li>")}).join("");i.config.accessibility.description='<ul style="list-style-type: none">'.concat(e,"</ul>")}}),(0,a.default)(this,"checkForExtraLines",function(){return"line"===i.chartType?0:i.config.series.filter(function(t){return"line"===t.type}).length}),(0,a.default)(this,"updateExtraLineZIndex",function(){i.config.series.forEach(function(t){"line"===t.type&&(t.zIndex=i.config.series.length+1)})}),(0,a.default)(this,"checkForExtraScatter",function(){return"scatter"===i.chartType?0:i.config.series.filter(function(t){return"scatter"===t.type}).length}),(0,a.default)(this,"setCommonChartOptions",function(){var t=i.commonChartOptions.getOptions();l.default.setOptions(t)}),(0,a.default)(this,"setSpecificChartOptions",function(){var t=i.specificChartOptions.getOptions(),e=i.lineChart.getLineChartOptions(),s=i.barChart.getBarChartOptions(i.useStackedLayout),o=i.columnRangeChart.getColumnRangeChartOptions(),r=i.columnChart.getColumnChartOptions(i.config,i.useStackedLayout,i.extraLines),n=i.areaChart.getAreaChartOptions(),a=i.scatterChart.getScatterChartOptions(),l=i.boxplot.getBoxplotOptions(i.config,i.useStackedLayout,i.extraLines);i.config=(0,y.mergeConfigs)(i.config,t),"line"===i.chartType&&(i.config=(0,y.mergeConfigs)(i.config,e)),"bar"===i.chartType&&(i.config=(0,y.mergeConfigs)(i.config,s)),"columnrange"===i.chartType&&(i.config=(0,y.mergeConfigs)(i.config,o)),"column"===i.chartType&&(i.config=(0,y.mergeConfigs)(i.config,r)),"area"===i.chartType&&(i.config=(0,y.mergeConfigs)(i.config,n)),"scatter"===i.chartType&&(i.config=(0,y.mergeConfigs)(i.config,a),i.specificChartOptions.limitSeriesForScatterChart()),"boxplot"===i.chartType&&(i.config=(0,y.mergeConfigs)(i.config,l)),i.extraLines>0&&(i.updateExtraLineZIndex(),i.config=(0,y.mergeConfigs)(i.config,i.lineChart.getLineChartOptions()),i.config=(0,y.mergeConfigs)(i.config,i.lineChart.getExtraLineChartOptions(i.config.series.length+1)),"column"===i.chartType&&(i.config=(0,y.mergeConfigs)(i.config,r))),i.extraScatter>0&&"columnrange"===i.chartType&&(i.config=(0,y.mergeConfigs)(i.config,o)),i.specificChartOptions.limitSeriesToThemeLength(),i.specificChartOptions.disableLegendForSingleSeries(i.config)}),(0,a.default)(this,"checkHideDataLabels",function(){var t="bar"===i.chartType&&i.config.series.length>2||!0===i.useStackedLayout;return i.config.series.forEach(function(e){e.data.length>20&&(t=!0)}),t}),(0,a.default)(this,"setResponsiveOptions",function(){var t=i.specificChartOptions.getMobileOptions(i.xAxisTickIntervalMobile,i.yAxisTickIntervalMobile);if("column"===i.chartType||"boxplot"===i.chartType){var e=i.columnChart.getColumnChartMobileOptions(i.config,i.useStackedLayout,i.extraLines);t=(0,y.mergeConfigs)(t,e)}i.config.responsive||(i.config.responsive={});var s=(0,y.preparePlotLinesAndBands)(i.annotations,i.rangeAnnotations,i.rangeAnnotationsOptions,i.referenceLineAnnotationsOptions,i.specificChartOptions,i.chartType,i.customReferenceLineValue),o=s.desktopAllPlotLinesAndBands,r=s.mobileAllPlotLinesAndBands,n=[{condition:{maxWidth:400},chartOptions:A({},t)},{condition:{maxWidth:600},chartOptions:A({annotations:i.annotationsOptions?i.annotationsOptions.getAnnotationsOptionsMobile():void 0},r!={}?r:null)},{condition:{minWidth:601},chartOptions:A({annotations:i.annotationsOptions?i.annotationsOptions.getAnnotationsOptionsDesktop():void 0},o!={}?o:null)}];i.config.responsive.rules=n}),(0,a.default)(this,"setLoadEvent",function(){i.config.chart.events||(i.config.chart.events={}),i.config.chart.events.load=function(t){var e=t.target;if("line"===i.chartType&&(i.lineChart.updateLastPointMarker(e.series),i.specificChartOptions.hideDataLabels(e.series)),"bar"===i.chartType&&(i.barChart.updateBarChartHeight(i.config,e,i.useStackedLayout),i.hideDataLabels?i.specificChartOptions.hideDataLabels(e.series):i.barChart.postLoadDataLabels(e)),"column"===i.chartType&&i.specificChartOptions.hideDataLabels(e.series),"scatter"===i.chartType&&(i.scatterChart.updateMarkers(e),i.specificChartOptions.hideDataLabels(e.series)),"boxplot"===i.chartType&&i.specificChartOptions.hideDataLabels(e.series),"columnrange"===i.chartType&&(i.columnRangeChart.updateColumnRangeChartHeight(i.config,e),i.specificChartOptions.hideDataLabels(e.series),i.extraScatter>0)){var s=e.series.filter(function(t){return"scatter"===t.type});i.scatterChart.updateMarkersForConfidenceLevels(s)}i.extraLines>0&&e.series.forEach(function(t){"line"===t.type&&i.specificChartOptions.hideDataLabels([t])});var o=e.renderer.box.querySelector("desc");o&&(o.textContent=""),e.redraw(!1)}}),(0,a.default)(this,"setRenderEvent",function(){i.config.chart.events||(i.config.chart.events={}),i.config.chart.events.render=function(t){var e=t.target;i.rangeAnnotationsOptions&&i.rangeAnnotationsOptions.addLine(e),"bar"!=i.chartType&&"columnrange"!=i.chartType&&i.specificChartOptions.adjustChartHeight(e,i.percentageHeightDesktop,i.percentageHeightMobile),i.specificChartOptions.updateLegendSymbols(e)}}),(0,a.default)(this,"setWindowResizeEvent",function(){window.addEventListener("resize",function(){clearTimeout(i.resizeTimeout),i.resizeTimeout=setTimeout(function(){var t=l.default.charts.find(function(t){return t&&t.container===i.chart.container});"bar"!==i.chartType||i.hideDataLabels||(i.barChart.postLoadDataLabels(t),t.redraw(!1))},50)})}),this.node=e,this.chartType=this.node.dataset.highchartsType,this.theme=this.node.dataset.highchartsTheme;var s=this.node.querySelector("[data-highcharts-chart]");if(s){var n,k;if(s.classList.add("".concat(this.chartType,"-chart-container")),this.id=this.node.dataset.highchartsId,this.useStackedLayout=this.node.hasAttribute("data-highcharts-use-stacked-layout"),this.config=JSON.parse(this.node.querySelector("[data-highcharts-config--".concat(this.id,"]")).textContent),this.node.querySelector("[data-highcharts-annotations--".concat(this.id,"]")))this.annotations=JSON.parse(this.node.querySelector("[data-highcharts-annotations--".concat(this.id,"]")).textContent),this.annotationsOptions=new m.default(this.annotations,null!==(n=null===(k=this.config.xAxis)||void 0===k?void 0:k.categories)&&void 0!==n?n:[]);this.node.querySelector("[data-highcharts-range-annotations--".concat(this.id,"]"))&&(this.rangeAnnotations=JSON.parse(this.node.querySelector("[data-highcharts-range-annotations--".concat(this.id,"]")).textContent),this.rangeAnnotationsOptions=new b.default(this.rangeAnnotations)),this.node.querySelector("[data-highcharts-reference-line-annotations--".concat(this.id,"]"))&&(this.referenceLineAnnotations=JSON.parse(this.node.querySelector("[data-highcharts-reference-line-annotations--".concat(this.id,"]")).textContent),this.referenceLineAnnotationsOptions=new x.default(this.referenceLineAnnotations)),this.percentageHeightDesktop=this.node.dataset.highchartsPercentageHeightDesktop,this.percentageHeightMobile=this.node.dataset.highchartsPercentageHeightMobile,this.xAxisTickIntervalMobile=this.node.dataset.highchartsXAxisTickIntervalMobile?parseFloat(this.node.dataset.highchartsXAxisTickIntervalMobile):void 0,this.xAxisTickIntervalDesktop=this.node.dataset.highchartsXAxisTickIntervalDesktop?parseFloat(this.node.dataset.highchartsXAxisTickIntervalDesktop):void 0,this.yAxisTickIntervalMobile=this.node.dataset.highchartsYAxisTickIntervalMobile?parseFloat(this.node.dataset.highchartsYAxisTickIntervalMobile):void 0,this.yAxisTickIntervalDesktop=this.node.dataset.highchartsYAxisTickIntervalDesktop?parseFloat(this.node.dataset.highchartsYAxisTickIntervalDesktop):void 0,this.commonChartOptions=new h.default,this.estimateLineLabel=this.node.dataset.highchartsEstimateLineLabel,this.uncertainyRangeLabel=this.node.dataset.highchartsUncertaintyRangeLabel,this.customReferenceLineValue=this.node.dataset.highchartsCustomReferenceLineValue?parseFloat(this.node.dataset.highchartsCustomReferenceLineValue):void 0,this.specificChartOptions=new c.default(this.theme,this.chartType,this.config,this.xAxisTickIntervalDesktop,this.yAxisTickIntervalDesktop),this.lineChart=new d.default,this.barChart=new p.default,this.columnChart=new u.default,this.areaChart=new v.default,this.scatterChart=new g.default,this.columnRangeChart=new w.default,this.boxplot=new f.default,this.extraLines=this.checkForExtraLines(),this.extraScatter=this.checkForExtraScatter(),void 0===window.isCommonChartOptionsDefined&&(this.setCommonChartOptions(),window.isCommonChartOptionsDefined=!0),this.hideDataLabels=this.checkHideDataLabels(),this.setSpecificChartOptions(),this.setAnnotationsAccessibilityDescription(),this.setResponsiveOptions(),this.setLoadEvent(),this.setRenderEvent(),this.setWindowResizeEvent(),this.chart=l.default.chart(s,this.config)}},null,[{key:"selector",value:function(){return"[data-highcharts-base-chart]"}}])}();i.default=M},{"./annotations-options":31,"./area-chart":32,"./bar-chart":33,"./boxplot":34,"./column-chart":40,"./columnrange-chart":41,"./common-chart-options":42,"./line-chart":43,"./range-annotations-options":44,"./reference-line-annotations-options":45,"./scatter-chart":46,"./specific-chart-options":47,"./utilities":48,"@babel/runtime/helpers/classCallCheck":5,"@babel/runtime/helpers/createClass":6,"@babel/runtime/helpers/defineProperty":7,"@babel/runtime/helpers/interopRequireDefault":8,"@babel/runtime/helpers/toConsumableArray":20,highcharts:27,"highcharts/highcharts-more":26,"highcharts/modules/accessibility":28,"highcharts/modules/annotations":29}],40:[function(t,e,i){"use strict";var s=t("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(i,"__esModule",{value:!0}),i.default=void 0;var o=s(t("@babel/runtime/helpers/createClass")),r=s(t("@babel/runtime/helpers/classCallCheck")),n=s(t("@babel/runtime/helpers/defineProperty"));function a(t,e){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(t);e&&(s=s.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),i.push.apply(i,s)}return i}function l(t){for(var e=1;e<arguments.length;e++){var i=null!=arguments[e]?arguments[e]:{};e%2?a(Object(i),!0).forEach(function(e){(0,n.default)(t,e,i[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(i)):a(Object(i)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(i,e))})}return t}var h=(0,o.default)(function t(){var e=this;(0,r.default)(this,t),(0,n.default)(this,"getColumnChartOptions",function(t,i,s){return{yAxis:{reversedStacks:!1},plotOptions:{column:l(l({},e.getPointPadding(t,i,s,!1)),{},{borderRadius:0,borderWidth:0}),series:{stacking:i?"normal":null}}}}),(0,n.default)(this,"getColumnChartMobileOptions",function(t,i,s){return{plotOptions:{column:l({},e.getPointPadding(t,i,s,!0))}}}),(0,n.default)(this,"getPointPadding",function(t,e,i,s){var o=0,r=0,n=(t.xAxis.categories?t.xAxis.categories.length:0)>=(s?10:20)?.1:.2;return 1===t.series.length-i||!0===e?o=n:r=n,{pointPadding:o,groupPadding:r,maxPointWidth:s?55:75}})});i.default=h},{"@babel/runtime/helpers/classCallCheck":5,"@babel/runtime/helpers/createClass":6,"@babel/runtime/helpers/defineProperty":7,"@babel/runtime/helpers/interopRequireDefault":8}],41:[function(t,e,i){"use strict";var s=t("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(i,"__esModule",{value:!0}),i.default=void 0;var o=s(t("@babel/runtime/helpers/createClass")),r=s(t("@babel/runtime/helpers/classCallCheck")),n=s(t("@babel/runtime/helpers/defineProperty")),a=s(t("./chart-constants")),l=(0,o.default)(function t(){var e=this;(0,r.default)(this,t),(0,n.default)(this,"getColumnRangeChartOptions",function(){return{plotOptions:{columnrange:{color:e.constants.uncertaintyRangeColor,pointWidth:20,pointPadding:0,groupPadding:0,borderWidth:0,borderRadius:0,dataLabels:{enabled:!1}}},tooltip:{enabled:!1},xAxis:{labels:{style:{color:e.constants.categoryLabelColor},useHTML:!1},tickWidth:0,tickLength:0,gridlineWidth:0,tickColor:"transparent",title:{align:"high",textAlign:"middle",reserveSpace:!1,rotation:0,y:-25,useHTML:!0}},yAxis:{labels:{rotation:0,useHTML:!0,style:{whiteSpace:"nowrap",color:e.constants.categoryLabelColor}},tickLength:0,tickWidth:0,tickColor:"transparent",gridlineWidth:0,title:{textAlign:"right",offset:void 0,y:0,reserveSpace:!0,useHTML:!1}},chart:{inverted:!0},legend:{symbolRadius:0,itemStyle:{fontSize:e.constants.defaultFontSize,color:e.constants.legendLabelColor}}}}),(0,n.default)(this,"updateColumnRangeChartHeight",function(t,e){var i,s,o=t.xAxis.categories.length;i=20*o,s=14*o,t.xAxis.height=i+s;var r=e.plotTop+t.xAxis.height+e.marginBottom;r!==e.chartHeight&&e.setSize(null,r,!1),e.redraw()}),this.constants=a.default.constants()});i.default=l},{"./chart-constants":35,"@babel/runtime/helpers/classCallCheck":5,"@babel/runtime/helpers/createClass":6,"@babel/runtime/helpers/defineProperty":7,"@babel/runtime/helpers/interopRequireDefault":8}],42:[function(t,e,i){"use strict";var s=t("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(i,"__esModule",{value:!0}),i.default=void 0;var o=s(t("@babel/runtime/helpers/createClass")),r=s(t("@babel/runtime/helpers/classCallCheck")),n=s(t("@babel/runtime/helpers/defineProperty")),a=s(t("./chart-constants")),l=(0,o.default)(function t(){var e=this;(0,r.default)(this,t),(0,n.default)(this,"getOptions",function(){return e.options}),this.constants=a.default.constants(),this.options={chart:{backgroundColor:"transparent",style:{fontFamily:'"OpenSans", "Helvetica Neue", arial, sans-serif',color:"#222222"}},legend:{align:"left",verticalAlign:"top",layout:"horizontal",symbolWidth:20,margin:50,navigation:{enabled:!1},itemDistance:30,itemHoverStyle:{color:this.constants.labelColor},itemStyle:{color:this.constants.labelColor,fontSize:this.constants.defaultFontSize,fontWeight:"normal"},events:{itemClick:function(){return!1}},accessibility:{keyboardNavigation:{enabled:!1}}},title:{text:""},credits:{enabled:!1},lang:{accessibility:{chartContainerLabel:"{title}",svgContainerLabel:""}},accessibility:{enabled:!0,keyboardNavigation:{focusBorder:{enabled:!1},enabled:!0,seriesNavigation:{mode:"serialize"}}},yAxis:{labels:{style:{color:this.constants.axisLabelColor,fontSize:this.constants.defaultFontSize}},title:{text:"",align:"high",textAlign:"middle",reserveSpace:!1,useHTML:!0,offset:15,rotation:0,y:-25,style:{color:this.constants.axisLabelColor,fontSize:this.constants.defaultFontSize}},lineColor:this.constants.gridLineColor,gridLineColor:this.constants.gridLineColor,tickWidth:1,tickLength:6,tickColor:this.constants.gridLineColor},xAxis:{labels:{useHTML:!0,rotation:0,style:{color:this.constants.axisLabelColor,fontSize:this.constants.defaultFontSize}},title:{align:"high",style:{color:this.constants.axisLabelColor,fontSize:this.constants.defaultFontSize}},lineColor:this.constants.gridLineColor,gridLineColor:this.constants.gridLineColor,tickWidth:1,tickLength:6,tickColor:this.constants.gridLineColor},plotOptions:{series:{animation:!1,states:{inactive:{opacity:1,enabled:!1},hover:{enabled:!1}}}},tooltip:{animation:!1}}});i.default=l},{"./chart-constants":35,"@babel/runtime/helpers/classCallCheck":5,"@babel/runtime/helpers/createClass":6,"@babel/runtime/helpers/defineProperty":7,"@babel/runtime/helpers/interopRequireDefault":8}],43:[function(t,e,i){"use strict";var s=t("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(i,"__esModule",{value:!0}),i.default=void 0;var o=s(t("@babel/runtime/helpers/createClass")),r=s(t("@babel/runtime/helpers/classCallCheck")),n=s(t("@babel/runtime/helpers/defineProperty")),a=s(t("./chart-constants")),l=(0,o.default)(function t(){var e=this;(0,r.default)(this,t),(0,n.default)(this,"getLineChartOptions",function(){return{plotOptions:{line:{lineWidth:3,linecap:"round"},marker:{enabled:!0}}}}),(0,n.default)(this,"getExtraLineChartOptions",function(){return{plotOptions:{line:{color:e.chartConstants.extraLineColor}}}}),(0,n.default)(this,"updateLastPointMarker",function(t){t.forEach(function(t,i){if(!1===t.userOptions.marker.enabled){var s=t.points;if(s&&s.length>0)s[s.length-1].update({marker:{enabled:!0}})}t.update({marker:null!=e.markerStyles[i]?e.markerStyles[i]:e.markerStyles[0]},!1)})}),this.chartConstants=a.default.constants(),this.markerStyles=this.chartConstants.lineMarkerStyles});i.default=l},{"./chart-constants":35,"@babel/runtime/helpers/classCallCheck":5,"@babel/runtime/helpers/createClass":6,"@babel/runtime/helpers/defineProperty":7,"@babel/runtime/helpers/interopRequireDefault":8}],44:[function(t,e,i){"use strict";var s=t("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(i,"__esModule",{value:!0}),i.default=void 0;var o=s(t("@babel/runtime/helpers/toConsumableArray")),r=s(t("@babel/runtime/helpers/createClass")),n=s(t("@babel/runtime/helpers/classCallCheck")),a=s(t("@babel/runtime/helpers/defineProperty")),l=s(t("./chart-constants")),h=(0,r.default)(function t(e){var i=this;(0,n.default)(this,t),(0,a.default)(this,"buildRangeAccessibilityDescription",function(t){var e,i,s="x"===t.axis?"x-axis":"y-axis",o=null===(e=t.range)||void 0===e?void 0:e.axisValue1,r=null===(i=t.range)||void 0===i?void 0:i.axisValue2,n=void 0!==o&&void 0!==r?"from ".concat(o," to ").concat(r):"for a range";return"Range annotation on the ".concat(s," ").concat(n,": ").concat(t.text)}),(0,a.default)(this,"getRangeAnnotationsOptionsDesktop",function(t){var e=[],s=[];return i.rangeAnnotations.forEach(function(o){var r=i.adjustRangeForCategoryAxis(o,t),n=void 0;o.labelInside||(n=o.labelWidth?o.labelWidth:150);var a={from:r.axisValue1,to:r.axisValue2,label:{text:o.text,useHTML:!0,className:o.labelInside?"ons-chart__range-annotation-label ons-chart__range-annotation-label--".concat(o.axis):"ons-chart__range-annotation-label--outside",allowOverlap:!0,accessibility:{description:i.buildRangeAccessibilityDescription(o)},style:{color:i.constants.labelColor,fontSize:i.constants.defaultFontSize,width:n}},color:i.constants.shadingColor};!o.labelInside&&o.labelOffsetX&&(a.label.x=o.labelOffsetX),!o.labelInside&&o.labelOffsetY&&(a.label.y=o.labelOffsetY),"x"===o.axis?e.push(a):"y"===o.axis&&s.push(a)}),{xAxis:e.length>0?{plotBands:e}:void 0,yAxis:s.length>0?{plotBands:s}:void 0}}),(0,a.default)(this,"getRangeAnnotationsOptionsMobile",function(t,e){var s=[],o=[];return i.rangeAnnotations.forEach(function(r,n){var a=i.adjustRangeForCategoryAxis(r,e),l={from:a.axisValue1,to:a.axisValue2,label:{text:"".concat(t+n+1),useHTML:!0,className:"ons-chart__annotations-footnotes-number",allowOverlap:!0,accessibility:{description:i.buildRangeAccessibilityDescription(r)},style:{color:i.constants.labelColor,fontSize:i.constants.defaultFontSize}},color:i.constants.shadingColor};"x"===r.axis?s.push(l):"y"===r.axis&&o.push(l)}),{xAxis:s.length>0?{plotBands:s}:void 0,yAxis:o.length>0?{plotBands:o}:void 0}}),(0,a.default)(this,"getLabelPosition",function(t,e,i,s){var o=!1,r=!1,n=!1,a=!1;return("bar"===t?!s:s)?(e.right<i.left&&(o=!0),e.left>i.right&&(r=!0)):(e.bottom<i.top&&(n=!0),e.top>i.bottom&&(a=!0)),{isToLeft:o,isToRight:r,isToTop:n,isToBottom:a}}),(0,a.default)(this,"addLine",function(t){var e=t.container.querySelectorAll("[data-range-annotation-line]");e.length>0&&e.forEach(function(t){t.remove()});var s=t.xAxis[0].plotLinesAndBands.filter(function(t){return void 0!==t.options.from}),r=t.yAxis[0].plotLinesAndBands.filter(function(t){return void 0!==t.options.from});[].concat((0,o.default)(s),(0,o.default)(r)).forEach(function(e){if(void 0!==e.options.label.x||void 0!==e.options.label.y){var s=e.svgElem.element.getBoundingClientRect(),o=e.label.element,r=o.getBoundingClientRect(),n=i.getLabelPosition(t.userOptions.chart.type,r,s,e.axis.isXAxis);if(n.isToLeft||n.isToRight||n.isToTop||n.isToBottom){var a=document.createElement("tspan");if(a.classList.add("ons-chart__connector-line"),a.setAttribute("data-range-annotation-line",!0),o.appendChild(a),n.isToRight){var l=r.left-s.right;a.style.width="".concat(l,"px"),a.style.height="1px",a.style.top="".concat(r.height/2,"px"),a.style.left="-".concat(l,"px"),o.classList.add("ons-chart__range-annotation-label--right")}if(n.isToLeft){var h=s.left-r.right;a.style.width="".concat(h,"px"),a.style.height="1px",a.style.top="".concat(r.height/2,"px"),a.style.right="-".concat(h,"px"),o.classList.add("ons-chart__range-annotation-label--left")}if(n.isToTop){var c=s.top-r.bottom;a.style.height="".concat(c,"px"),a.style.width="1px",a.style.top="".concat(r.height,"px"),a.style.left="".concat(r.width/2,"px"),o.classList.add("ons-chart__range-annotation-label--top")}if(n.isToBottom){var d=r.top-s.bottom;a.style.height="".concat(d,"px"),a.style.width="1px",a.style.top="-".concat(d,"px"),a.style.left="".concat(r.width/2,"px"),o.classList.add("ons-chart__range-annotation-label--bottom")}}}})}),(0,a.default)(this,"getAccessibilityDescriptions",function(){return i.rangeAnnotations.map(function(t){return i.buildRangeAccessibilityDescription(t)})}),(0,a.default)(this,"adjustRangeForCategoryAxis",function(t,e){var i=t.range.axisValue1,s=t.range.axisValue2;return("bar"===e&&"x"===t.axis||"column"===e&&"x"===t.axis)&&(i=t.range.axisValue1-.5,s=t.range.axisValue2-.5),{axisValue1:i,axisValue2:s}}),this.constants=l.default.constants(),this.rangeAnnotations=e});i.default=h},{"./chart-constants":35,"@babel/runtime/helpers/classCallCheck":5,"@babel/runtime/helpers/createClass":6,"@babel/runtime/helpers/defineProperty":7,"@babel/runtime/helpers/interopRequireDefault":8,"@babel/runtime/helpers/toConsumableArray":20}],45:[function(t,e,i){"use strict";var s=t("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(i,"__esModule",{value:!0}),i.default=void 0;var o=s(t("@babel/runtime/helpers/createClass")),r=s(t("@babel/runtime/helpers/classCallCheck")),n=s(t("@babel/runtime/helpers/defineProperty")),a=s(t("./chart-constants")),l=(0,o.default)(function t(e){var i=this;(0,r.default)(this,t),(0,n.default)(this,"buildReferenceLineAccessibilityDescription",function(t){var e="x"===t.axis?"x-axis":"y-axis",i=void 0!==t.value?"at ".concat(t.value):"at a value";return"Reference line annotation on the ".concat(e," ").concat(i,": ").concat(t.text)}),(0,n.default)(this,"getAccessibilityDescriptions",function(){return i.referenceLineAnnotations.map(function(t){return i.buildReferenceLineAccessibilityDescription(t)})}),(0,n.default)(this,"getReferenceLineAnnotationsOptionsDesktop",function(){var t=[],e=[];return i.referenceLineAnnotations.forEach(function(s){var o={label:{text:s.text,useHTML:!0,style:{color:i.constants.labelColor,fontSize:i.constants.defaultFontSize,width:s.labelWidth?s.labelWidth:150},x:s.labelOffsetX?s.labelOffsetX:10,y:s.labelOffsetY?s.labelOffsetY:20,rotation:0,align:"left",textAlign:"left",accessibility:{description:i.buildReferenceLineAccessibilityDescription(s)}},color:i.constants.zeroLineColor,dashStyle:"2 2",width:2,value:s.value,zIndex:3};"x"===s.axis?t.push(o):"y"===s.axis&&e.push(o)}),{xAxis:t.length>0?{plotLines:t}:void 0,yAxis:e.length>0?{plotLines:e}:void 0}}),(0,n.default)(this,"getReferenceLineAnnotationsOptionsMobile",function(t,e){var s=[],o=[];return i.referenceLineAnnotations.forEach(function(r,n){var a="x"===r.axis;"bar"===e&&(a=!a);var l={label:{text:"".concat(t+n+1),useHTML:!0,className:"ons-chart__annotations-footnotes-number",allowOverlap:!0,accessibility:{description:i.buildReferenceLineAccessibilityDescription(r)},style:{color:i.constants.labelColor,fontSize:i.constants.defaultFontSize},x:a?7:0,y:a?13:-10,rotation:0,zIndex:3},color:i.constants.zeroLineColor,dashStyle:"2 2",width:2,value:r.value,zIndex:3};"x"===r.axis?s.push(l):"y"===r.axis&&o.push(l)}),{xAxis:s.length>0?{plotLines:s}:void 0,yAxis:o.length>0?{plotLines:o}:void 0}}),this.constants=a.default.constants(),this.referenceLineAnnotations=e});i.default=l},{"./chart-constants":35,"@babel/runtime/helpers/classCallCheck":5,"@babel/runtime/helpers/createClass":6,"@babel/runtime/helpers/defineProperty":7,"@babel/runtime/helpers/interopRequireDefault":8}],46:[function(t,e,i){"use strict";var s=t("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(i,"__esModule",{value:!0}),i.default=void 0;var o=s(t("@babel/runtime/helpers/createClass")),r=s(t("@babel/runtime/helpers/classCallCheck")),n=s(t("@babel/runtime/helpers/defineProperty")),a=s(t("./chart-constants")),l=(0,o.default)(function t(){var e=this;(0,r.default)(this,t),(0,n.default)(this,"getScatterChartOptions",function(){return{xAxis:{gridLineWidth:1},yAxis:{gridLineWidth:1}}}),(0,n.default)(this,"updateMarkers",function(t){t.series.forEach(function(t,i){t.update({marker:null!=e.markerStyles[i]?e.markerStyles[i]:e.markerStyles[0]},!1)})}),(0,n.default)(this,"updateMarkersForConfidenceLevels",function(t){t.forEach(function(t,i){t.update({marker:null!=e.confidenceLevelMarkerStyles[i]?e.confidenceLevelMarkerStyles[i]:e.confidenceLevelMarkerStyles[0]},!1)})}),this.chartConstants=a.default.constants(),this.markerStyles=this.chartConstants.scatterMarkerStyles,this.confidenceLevelMarkerStyles=this.chartConstants.confidenceLevelMarkerStyles});i.default=l},{"./chart-constants":35,"@babel/runtime/helpers/classCallCheck":5,"@babel/runtime/helpers/createClass":6,"@babel/runtime/helpers/defineProperty":7,"@babel/runtime/helpers/interopRequireDefault":8}],47:[function(t,e,i){"use strict";var s=t("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(i,"__esModule",{value:!0}),i.default=void 0;var o=s(t("@babel/runtime/helpers/createClass")),r=s(t("@babel/runtime/helpers/classCallCheck")),n=s(t("@babel/runtime/helpers/defineProperty")),a=s(t("./chart-constants")),l=(0,o.default)(function t(e,i,s,o,l){var h,c,d,p,u,g,f,m,b,x,y,v,w,k,A,M,C=this;(0,r.default)(this,t),(0,n.default)(this,"limitSeriesToThemeLength",function(){var t="alternate"===C.theme?C.constants.alternateTheme:C.constants.primaryTheme;"scatter"!==C.type&&C.config.series.length>t.length&&(C.config.series.length=t.length)}),(0,n.default)(this,"limitSeriesForScatterChart",function(){C.config.series.length>4&&(C.config.series.length=4)}),(0,n.default)(this,"getOptions",function(){return C.options}),(0,n.default)(this,"getMobileOptions",function(t,e){return{tooltip:{enabled:!1},xAxis:{tickInterval:t},yAxis:{tickInterval:e}}}),(0,n.default)(this,"hideDataLabels",function(t){t.forEach(function(t){t.update({dataLabels:{enabled:!1}})})}),(0,n.default)(this,"disableLegendForSingleSeries",function(t){"boxplot"!=t.chart.type&&1===t.series.length&&(t.legend={enabled:!1},t.chart.marginTop=50)}),(0,n.default)(this,"adjustChartHeight",function(t,e,i){var s=t.plotWidth,o=void 0,r=400;s>400?void 0!==e&&(o=Math.round(s*(e/100))):void 0!==i&&(o=Math.round(s*(i/100))),void 0!==o&&(r=t.plotTop+o+t.marginBottom),r!==t.chartHeight&&t.setSize(null,r,!1)}),(0,n.default)(this,"getReferenceLine",function(t,e){var i=0;return!t||"line"!==e&&"column"!==e||(i=t),{yAxis:{plotLines:[{color:C.constants.zeroLineColor,width:1.5,value:i,zIndex:2}]}}}),(0,n.default)(this,"updateLegendSymbols",function(t){t.legend.options.enabled&&t.legend.allItems.forEach(function(e,i){var s=e.legendItem,o=e.userOptions,r=null==o?void 0:o.type,n=s||{},a=n.label,l=n.symbol,h=n.line;if("line"===r){if("line"!==t.userOptions.chart.type&&(null==a||a.attr({x:30})),!l&&a&&a.element&&"line"===t.userOptions.chart.type){h&&h.hide(),a.parentGroup.element.querySelectorAll("[data-custom-legend-symbol]").forEach(function(t){return t.remove()});var c=t.renderer,d=a.element.getBBox(),p=C.constants.lineMarkerStyles[i%C.constants.lineMarkerStyles.length];c.symbol(p.symbol,d.x-22,d.y+4,12,p.radius,p.radius).attr({fill:e.color,stroke:e.color,"stroke-width":1,width:10,height:10,"data-custom-legend-symbol":!0}).add(a.parentGroup),null==a||a.attr({x:15})}}else if("scatter"===r)l.attr({width:13,height:13,y:7});else{if(!l)return;l.attr({width:12,height:12,y:8})}})}),this.constants=a.default.constants(),this.theme=e,this.config=s,this.options={colors:"alternate"===this.theme?this.constants.alternateTheme:"line"==i?this.constants.linePrimaryTheme:this.constants.primaryTheme,chart:{type:i,marginTop:this.config.legend.enabled?"boxplot"===i?50:void 0:50},yAxis:{tickInterval:l,min:null!==(h=null===(c=this.config.yAxis)||void 0===c?void 0:c.min)&&void 0!==h?h:void 0,max:null!==(d=null===(p=this.config.yAxis)||void 0===p?void 0:p.max)&&void 0!==d?d:void 0,startOnTick:null===(u=null===(g=this.config.yAxis)||void 0===g?void 0:g.startOnTick)||void 0===u||u,endOnTick:null===(f=null===(m=this.config.yAxis)||void 0===m?void 0:m.endOnTick)||void 0===f||f},xAxis:{tickInterval:o,min:null!==(b=null===(x=this.config.xAxis)||void 0===x?void 0:x.min)&&void 0!==b?b:void 0,max:null!==(y=null===(v=this.config.xAxis)||void 0===v?void 0:v.max)&&void 0!==y?y:void 0,startOnTick:null!==(w=null===(k=this.config.xAxis)||void 0===k?void 0:k.startOnTick)&&void 0!==w&&w,endOnTick:null!==(A=null===(M=this.config.xAxis)||void 0===M?void 0:M.endOnTick)&&void 0!==A&&A}}});i.default=l},{"./chart-constants":35,"@babel/runtime/helpers/classCallCheck":5,"@babel/runtime/helpers/createClass":6,"@babel/runtime/helpers/defineProperty":7,"@babel/runtime/helpers/interopRequireDefault":8}],48:[function(t,e,i){"use strict";var s=t("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(i,"__esModule",{value:!0}),i.preparePlotLinesAndBands=i.mergeConfigs=void 0;var o=s(t("@babel/runtime/helpers/typeof")),r=s(t("@babel/runtime/helpers/defineProperty"));function n(t,e){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(t);e&&(s=s.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),i.push.apply(i,s)}return i}function a(t){for(var e=1;e<arguments.length;e++){var i=null!=arguments[e]?arguments[e]:{};e%2?n(Object(i),!0).forEach(function(e){(0,r.default)(t,e,i[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(i)):n(Object(i)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(i,e))})}return t}var l=i.mergeConfigs=function(t,e){if(!e)return t;var i=a({},t);return Object.keys(e).forEach(function(t){var s=i[t],r=e[t];s&&r&&"object"===(0,o.default)(s)&&"object"===(0,o.default)(r)&&!Array.isArray(s)&&!Array.isArray(r)?i[t]=l(s,r):i[t]=null!=r?r:s}),i};i.preparePlotLinesAndBands=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:void 0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:void 0,o=arguments.length>4?arguments[4]:void 0,r=arguments.length>5?arguments[5]:void 0,n=arguments.length>6?arguments[6]:void 0,h=(t?t.length:0)+(e?e.length:0),c={},d={},p={},u={},g={},f={};i&&(c=i.getRangeAnnotationsOptionsDesktop(r),d=i.getRangeAnnotationsOptionsMobile(t?t.length:0,r)),s&&(p=s.getReferenceLineAnnotationsOptionsDesktop(),u=s.getReferenceLineAnnotationsOptionsMobile(h,r));var m=o.getReferenceLine(n,r);if(g=a({},p),f=a({},u),void 0!==p.yAxis){var b=p.yAxis.plotLines.concat(m.yAxis.plotLines),x=u.yAxis.plotLines.concat(m.yAxis.plotLines);g.yAxis.plotLines=b,f.yAxis.plotLines=x}else g.yAxis=a({},m.yAxis),f.yAxis=a({},m.yAxis);return{desktopAllPlotLinesAndBands:l(c,g),mobileAllPlotLinesAndBands:l(d,f)}}},{"@babel/runtime/helpers/defineProperty":7,"@babel/runtime/helpers/interopRequireDefault":8,"@babel/runtime/helpers/typeof":23}],49:[function(t,e,i){"use strict";t("../components/chart/chart"),t("../components/chart/chart.dom"),t("../components/chart/chart-iframe-resize"),t("../components/chart/chart-iframe-resize.dom")},{"../components/chart/chart":39,"../components/chart/chart-iframe-resize":37,"../components/chart/chart-iframe-resize.dom":36,"../components/chart/chart.dom":38}],50:[function(t,e,i){"use strict";Object.defineProperty(i,"__esModule",{value:!0}),i.default=function(t){"loading"===document.readyState?s.push(t):t.call()};var s=[];document.addEventListener("DOMContentLoaded",function(){s.forEach(function(t){return t.call()}),s=[],window.onsDOMReady=!0})},{}]},{},[49]);
|