@clickview/reports 0.85.0-rc.1 → 0.85.0-rc.2
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/dist/.vite/manifest.json +284 -284
- package/dist/bundles.json +1 -1
- package/dist/en.json +1 -1
- package/dist/scripts/{DMI-Lxl02.chunk.js → BCcIdtcy2.chunk.js} +2 -2
- package/dist/scripts/{DMI-Lxl02.chunk.js.map → BCcIdtcy2.chunk.js.map} +1 -1
- package/dist/scripts/{ClOZ7MLV.chunk.js → BIlepbnA.chunk.js} +2 -2
- package/dist/scripts/{ClOZ7MLV.chunk.js.map → BIlepbnA.chunk.js.map} +1 -1
- package/dist/scripts/{3EzrYsbw2.chunk.js → BX5YDJVD2.chunk.js} +2 -2
- package/dist/scripts/{3EzrYsbw2.chunk.js.map → BX5YDJVD2.chunk.js.map} +1 -1
- package/dist/scripts/{Bua2prVk2.chunk.js → BY9ZIRoW2.chunk.js} +2 -2
- package/dist/scripts/{Bua2prVk2.chunk.js.map → BY9ZIRoW2.chunk.js.map} +1 -1
- package/dist/scripts/{CowZxgkl2.chunk.js → BkkPVinl2.chunk.js} +2 -2
- package/dist/scripts/{CowZxgkl2.chunk.js.map → BkkPVinl2.chunk.js.map} +1 -1
- package/dist/scripts/{Udxe63DQ.chunk.js → BsAss53i.chunk.js} +2 -2
- package/dist/scripts/{Udxe63DQ.chunk.js.map → BsAss53i.chunk.js.map} +1 -1
- package/dist/scripts/{CJIwkABI.chunk.js → BsTmrvS_.chunk.js} +2 -2
- package/dist/scripts/{CJIwkABI.chunk.js.map → BsTmrvS_.chunk.js.map} +1 -1
- package/dist/scripts/{1pdbKMyH.chunk.js → BzSZm3J1.chunk.js} +2 -2
- package/dist/scripts/{1pdbKMyH.chunk.js.map → BzSZm3J1.chunk.js.map} +1 -1
- package/dist/scripts/{c7dUmf3R.chunk.js → C5k6lVOP.chunk.js} +2 -2
- package/dist/scripts/{c7dUmf3R.chunk.js.map → C5k6lVOP.chunk.js.map} +1 -1
- package/dist/scripts/{DTy5e0Yv2.chunk.js → CPp4jaPB2.chunk.js} +2 -2
- package/dist/scripts/{DTy5e0Yv2.chunk.js.map → CPp4jaPB2.chunk.js.map} +1 -1
- package/dist/scripts/{r-dVoZ7W2.chunk.js → Cdlk0Qkj2.chunk.js} +2 -2
- package/dist/scripts/{r-dVoZ7W2.chunk.js.map → Cdlk0Qkj2.chunk.js.map} +1 -1
- package/dist/scripts/ClX2mOw_.chunk.js +1 -0
- package/dist/scripts/{CMKPCLR42.chunk.js → D0fFZDhm2.chunk.js} +2 -2
- package/dist/scripts/{CMKPCLR42.chunk.js.map → D0fFZDhm2.chunk.js.map} +1 -1
- package/dist/scripts/{B9S_LeFP.chunk.js → DMuXCE-z.chunk.js} +2 -2
- package/dist/scripts/{B9S_LeFP.chunk.js.map → DMuXCE-z.chunk.js.map} +1 -1
- package/dist/scripts/{3q7nyVif2.chunk.js → DNZvrGV22.chunk.js} +2 -2
- package/dist/scripts/{3q7nyVif2.chunk.js.map → DNZvrGV22.chunk.js.map} +1 -1
- package/dist/scripts/{2MxiB_er.chunk.js → DUzAx5n_.chunk.js} +2 -2
- package/dist/scripts/{2MxiB_er.chunk.js.map → DUzAx5n_.chunk.js.map} +1 -1
- package/dist/scripts/DaBzvZF9.chunk.js +1 -0
- package/dist/scripts/{Cpm-LpwK.chunk.js → DkhktXkG.chunk.js} +2 -2
- package/dist/scripts/{Cpm-LpwK.chunk.js.map → DkhktXkG.chunk.js.map} +1 -1
- package/dist/scripts/{Bx5qk-PZ.chunk.js → DtSAu9Xt.chunk.js} +3 -3
- package/dist/scripts/{Bx5qk-PZ.chunk.js.map → DtSAu9Xt.chunk.js.map} +1 -1
- package/dist/scripts/{ktNy7dHM2.chunk.js → DvxtrAxT2.chunk.js} +2 -2
- package/dist/scripts/{ktNy7dHM2.chunk.js.map → DvxtrAxT2.chunk.js.map} +1 -1
- package/dist/scripts/{BvNaANAO2.chunk.js → DxD2uVzf2.chunk.js} +2 -2
- package/dist/scripts/{BvNaANAO2.chunk.js.map → DxD2uVzf2.chunk.js.map} +1 -1
- package/dist/scripts/{DgPadkLi2.chunk.js → I9MVVxo82.chunk.js} +2 -2
- package/dist/scripts/{DgPadkLi2.chunk.js.map → I9MVVxo82.chunk.js.map} +1 -1
- package/dist/scripts/{BnfA2fln.chunk.js → IH7D3jLI.chunk.js} +2 -2
- package/dist/scripts/{BnfA2fln.chunk.js.map → IH7D3jLI.chunk.js.map} +1 -1
- package/dist/scripts/{CKRKdk5U.chunk.js → OU_kRJz_.chunk.js} +2 -2
- package/dist/scripts/{CKRKdk5U.chunk.js.map → OU_kRJz_.chunk.js.map} +1 -1
- package/dist/scripts/{n2iCrpxU.chunk.js → P4zTQoDZ.chunk.js} +2 -2
- package/dist/scripts/{n2iCrpxU.chunk.js.map → P4zTQoDZ.chunk.js.map} +1 -1
- package/dist/scripts/{CqCz1X85.chunk.js → PZOjj17O.chunk.js} +2 -2
- package/dist/scripts/{CqCz1X85.chunk.js.map → PZOjj17O.chunk.js.map} +1 -1
- package/dist/scripts/{CCLDpjnt2.chunk.js → XgwoBT6z2.chunk.js} +2 -2
- package/dist/scripts/{CCLDpjnt2.chunk.js.map → XgwoBT6z2.chunk.js.map} +1 -1
- package/dist/scripts/{app-BigOHyYp.js → app-m6P7KXE1.js} +3 -3
- package/dist/scripts/{app-BigOHyYp.js.map → app-m6P7KXE1.js.map} +1 -1
- package/dist/scripts/{BpzXy-5d.chunk.js → bNV2NeSi.chunk.js} +2 -2
- package/dist/scripts/{BpzXy-5d.chunk.js.map → bNV2NeSi.chunk.js.map} +1 -1
- package/dist/scripts/{BKW2JeVr.chunk.js → fIFpt-kC.chunk.js} +2 -2
- package/dist/scripts/{BKW2JeVr.chunk.js.map → fIFpt-kC.chunk.js.map} +1 -1
- package/dist/scripts/{CKVaLGJC.chunk.js → fOHWXn7-.chunk.js} +2 -2
- package/dist/scripts/{CKVaLGJC.chunk.js.map → fOHWXn7-.chunk.js.map} +1 -1
- package/dist/scripts/{BfhdSOSX2.chunk.js → jXHCFC1j2.chunk.js} +2 -2
- package/dist/scripts/{BfhdSOSX2.chunk.js.map → jXHCFC1j2.chunk.js.map} +1 -1
- package/package.json +1 -1
- package/dist/scripts/Bs1YLdQb.chunk.js +0 -1
- package/dist/scripts/Cah5ISd-.chunk.js +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{Jn as e,Kn as t,P as n,st as r}from"./CM0wW4AE.chunk.js";import{d as i}from"./dUFTODMz.chunk.js";import{t as a}from"./C5CZZ7Gl.chunk.js";import{r as o}from"./NaTUzw6f.chunk.js";import{t as s}from"./I5Dnl_eN.chunk.js";import{t as c}from"./CO7H3BC5.chunk.js";import{dt as l,tt as u}from"./app-
|
|
1
|
+
import{Jn as e,Kn as t,P as n,st as r}from"./CM0wW4AE.chunk.js";import{d as i}from"./dUFTODMz.chunk.js";import{t as a}from"./C5CZZ7Gl.chunk.js";import{r as o}from"./NaTUzw6f.chunk.js";import{t as s}from"./I5Dnl_eN.chunk.js";import{t as c}from"./CO7H3BC5.chunk.js";import{dt as l,tt as u}from"./app-m6P7KXE1.js";function d(e){let t=i(u.userProducts()).data?.find(e=>e.id===c.Primary);if(t)return n=>e(t,n)}var f=t(((e,t)=>{(function(n,r){typeof e==`object`&&typeof t==`object`?(n._Highcharts=r(),t.exports=n._Highcharts):typeof define==`function`&&define.amd?define(`highcharts/highcharts`,[],r):typeof e==`object`?(n._Highcharts=r(),e.highcharts=n._Highcharts):(n.Highcharts&&n.Highcharts.error(16,!0),n.Highcharts=r())})(`u`<typeof window?e:window,()=>(()=>{let e,t,n,r,i,a;var o,s,c,l,u,d,f,p,m,h,g,_,v,y,b,x,S,C,w,T,E,D,O,k,A,j,M,ee,N={};N.d=(e,t)=>{for(var n in t)N.o(t,n)&&!N.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},N.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);var te={};N.d(te,{default:()=>jd}),(o=g||={}).SVG_NS=`http://www.w3.org/2000/svg`,o.product=`Highcharts`,o.version=`12.5.0`,o.win=`u`>typeof window?window:{},o.doc=o.win.document,o.svg=!!o.doc?.createElementNS?.(o.SVG_NS,`svg`)?.createSVGRect,o.pageLang=o.doc?.documentElement?.closest(`[lang]`)?.lang,o.userAgent=o.win.navigator?.userAgent||``,o.isChrome=o.win.chrome,o.isFirefox=o.userAgent.indexOf(`Firefox`)!==-1,o.isMS=/(edge|msie|trident)/i.test(o.userAgent)&&!o.win.opera,o.isSafari=!o.isChrome&&o.userAgent.indexOf(`Safari`)!==-1,o.isTouchDevice=/(Mobile|Android|Windows Phone)/.test(o.userAgent),o.isWebKit=o.userAgent.indexOf(`AppleWebKit`)!==-1,o.deg2rad=2*Math.PI/360,o.marginNames=[`plotTop`,`marginRight`,`marginBottom`,`plotLeft`],o.noop=function(){},o.supportsPassiveEvents=function(){let e=!1;if(!o.isMS){let t=Object.defineProperty({},`passive`,{get:function(){e=!0}});o.win.addEventListener&&o.win.removeEventListener&&(o.win.addEventListener(`testPassive`,o.noop,t),o.win.removeEventListener(`testPassive`,o.noop,t))}return e}(),o.charts=[],o.composed=[],o.dateFormats={},o.seriesTypes={},o.symbolSizes={},o.chartCount=0;let P=g,{charts:ne,doc:re,win:ie}=P;function ae(e,t,n,r){let i=t?`Highcharts error`:`Highcharts warning`;e===32&&(e=`${i}: Deprecated member`);let a=fe(e),o=a?`${i} #${e}: www.highcharts.com/errors/${e}/`:e.toString();if(r!==void 0){let e=``;a&&(o+=`?`),Se(r,function(t,n){e+=`
|
|
2
2
|
- ${n}: ${t}`,a&&(o+=encodeURI(n)+`=`+encodeURI(t))}),o+=e}we(P,`displayError`,{chart:n,code:e,message:o,params:r},function(){if(t)throw Error(o);ie.console&&ae.messages.indexOf(o)===-1&&console.warn(o)}),ae.messages.push(o)}function oe(e,t){return parseInt(e,t||10)}function se(e){return typeof e==`string`}function ce(e){let t=Object.prototype.toString.call(e);return t===`[object Array]`||t===`[object Array Iterator]`}function le(e,t){return!!e&&typeof e==`object`&&(!t||!ce(e))}function ue(e){return le(e)&&typeof e.nodeType==`number`}function de(e){let t=e?.constructor;return!!(le(e,!0)&&!ue(e)&&t?.name&&t.name!==`Object`)}function fe(e){return typeof e==`number`&&!isNaN(e)&&e<1/0&&e>-1/0}function pe(e){return e!=null}function me(e,t,n){let r,i=se(t)&&!pe(n),a=(t,n)=>{pe(t)?e.setAttribute(n,t):i?(r=e.getAttribute(n))||n!==`class`||(r=e.getAttribute(n+`Name`)):e.removeAttribute(n)};return se(t)?a(n,t):Se(t,a),r}function he(e){return ce(e)?e:[e]}function ge(e,t){let n;for(n in e||={},t)e[n]=t[n];return e}function _e(){let e=arguments,t=e.length;for(let n=0;n<t;n++){let t=e[n];if(t!=null)return t}}function ve(e,t){ge(e.style,t)}function ye(e){return 10**Math.floor(Math.log(e)/Math.LN10)}function be(e,t){return e>0x5af3107a4000?e:parseFloat(e.toPrecision(t||14))}(ae||={}).messages=[],Math.easeInOutSine=function(e){return-.5*(Math.cos(Math.PI*e)-1)};let xe=Array.prototype.find?function(e,t){return e.find(t)}:function(e,t){let n,r=e.length;for(n=0;n<r;n++)if(t(e[n],n))return e[n]};function Se(e,t,n){for(let r in e)Object.hasOwnProperty.call(e,r)&&t.call(n||e[r],e[r],r,e)}function Ce(e,t,n){function r(t,n){let r=e.removeEventListener;r&&r.call(e,t,n,!1)}function i(n){let i,a;e.nodeName&&(t?(i={})[t]=!0:i=n,Se(i,function(e,t){if(n[t])for(a=n[t].length;a--;)r(t,n[t][a].fn)}))}let a=typeof e==`function`&&e.prototype||e;if(Object.hasOwnProperty.call(a,`hcEvents`)){let e=a.hcEvents;if(t){let a=e[t]||[];n?(e[t]=a.filter(function(e){return n!==e.fn}),r(t,n)):(i(e),e[t]=[])}else i(e),delete a.hcEvents}}function we(e,t,n,r){if(n||={},re?.createEvent&&(e.dispatchEvent||e.fireEvent&&e!==P)){let r=re.createEvent(`Events`);r.initEvent(t,!0,!0),n=ge(r,n),e.dispatchEvent?e.dispatchEvent(n):e.fireEvent(t,n)}else if(e.hcEvents){n.target||ge(n,{preventDefault:function(){n.defaultPrevented=!0},target:e,type:t});let r=[],i=e,a=!1;for(;i.hcEvents;)Object.hasOwnProperty.call(i,`hcEvents`)&&i.hcEvents[t]&&(r.length&&(a=!0),r.unshift.apply(r,i.hcEvents[t])),i=Object.getPrototypeOf(i);a&&r.sort((e,t)=>e.order-t.order),r.forEach(t=>{!1===t.fn.call(e,n)&&n.preventDefault()})}r&&!n.defaultPrevented&&r.call(e,n)}let Te=(n=Math.random().toString(36).substring(2,9)+`-`,r=0,function(){return`highcharts-`+(e?``:n)+ r++});ie.jQuery&&(ie.jQuery.fn.highcharts=function(){let e=[].slice.call(arguments);if(this[0])return e[0]?(new P[se(e[0])?e.shift():`Chart`](this[0],e[0],e[1]),this):ne[me(this[0],`data-highcharts-chart`)]});let F={addEvent:function(e,t,n,r={}){let i=typeof e==`function`&&e.prototype||e;Object.hasOwnProperty.call(i,`hcEvents`)||(i.hcEvents={});let a=i.hcEvents;P.Point&&e instanceof P.Point&&e.series&&e.series.chart&&(e.series.chart.runTrackerClick=!0);let o=e.addEventListener;o&&o.call(e,t,n,!!P.supportsPassiveEvents&&{passive:r.passive===void 0?t.indexOf(`touch`)!==-1:r.passive,capture:!1}),a[t]||(a[t]=[]);let s={fn:n,order:typeof r.order==`number`?r.order:1/0};return a[t].push(s),a[t].sort((e,t)=>e.order-t.order),function(){Ce(e,t,n)}},arrayMax:function(e){let t=e.length,n=e[0];for(;t--;)e[t]>n&&(n=e[t]);return n},arrayMin:function(e){let t=e.length,n=e[0];for(;t--;)e[t]<n&&(n=e[t]);return n},attr:me,clamp:function(e,t,n){return e>t?e<n?e:n:t},clearTimeout:function(e){pe(e)&&clearTimeout(e)},correctFloat:be,createElement:function(e,t,n,r,i){let a=re.createElement(e);return t&&ge(a,t),i&&ve(a,{padding:`0`,border:`none`,margin:`0`}),n&&ve(a,n),r&&r.appendChild(a),a},crisp:function(e,t=0,n){let r=t%2/2,i=n?-1:1;return(Math.round(e*i-r)+r)*i},css:ve,defined:pe,destroyObjectProperties:function(e,t,n){Se(e,function(r,i){r!==t&&r?.destroy&&r.destroy(),(r?.destroy||!n)&&delete e[i]})},diffObjects:function(e,t,n,r){let i={};return function e(t,i,a,o){let s=n?i:t;Se(t,function(n,c){if(!o&&r&&r.indexOf(c)>-1&&i[c]){n=he(n),a[c]=[];for(let t=0;t<Math.max(n.length,i[c].length);t++)i[c][t]&&(n[t]===void 0?a[c][t]=i[c][t]:(a[c][t]={},e(n[t],i[c][t],a[c][t],o+1)))}else le(n,!0)&&!n.nodeType?(a[c]=ce(n)?[]:{},e(n,i[c]||{},a[c],o+1),Object.keys(a[c]).length===0&&(c!==`colorAxis`||o!==0)&&delete a[c]):(t[c]!==i[c]||c in t&&!(c in i))&&c!==`__proto__`&&c!==`constructor`&&(a[c]=s[c])})}(e,t,i,0),i},discardElement:function(e){e?.parentElement?.removeChild(e)},erase:function(e,t){let n=e.length;for(;n--;)if(e[n]===t){e.splice(n,1);break}},error:ae,extend:ge,extendClass:function(e,t){let n=function(){};return n.prototype=new e,ge(n.prototype,t),n},find:xe,fireEvent:we,getAlignFactor:(e=``)=>({center:.5,right:1,middle:.5,bottom:1})[e]||0,getClosestDistance:function(e,t){let n,r,i,a=!t;return e.forEach(e=>{if(e.length>1)for(i=e.length-1;i>0;i--)(r=e[i]-e[i-1])<0&&!a?(t?.(),t=void 0):r&&(n===void 0||r<n)&&(n=r)}),n},getMagnitude:ye,getNestedProperty:function(e,t){let n=e.split(`.`);for(;n.length&&pe(t);){let e=n.shift();if(e===void 0||e===`__proto__`)return;if(e===`this`){let e;return le(t)&&(e=t[`@this`]),e??t}let r=t[e.replace(/[\\'"]/g,``)];if(!pe(r)||typeof r==`function`||typeof r.nodeType==`number`||r===ie)return;t=r}return t},getStyle:function e(t,n,r){let i;if(n===`width`){let n=Math.min(t.offsetWidth,t.scrollWidth),r=t.getBoundingClientRect?.().width;return r<n&&r>=n-1&&(n=Math.floor(r)),Math.max(0,n-(e(t,`padding-left`,!0)||0)-(e(t,`padding-right`,!0)||0))}if(n===`height`)return Math.max(0,Math.min(t.offsetHeight,t.scrollHeight)-(e(t,`padding-top`,!0)||0)-(e(t,`padding-bottom`,!0)||0));let a=ie.getComputedStyle(t,void 0);return a&&(i=a.getPropertyValue(n),_e(r,n!==`opacity`)&&(i=oe(i))),i},insertItem:function(e,t){let n,r=e.options.index,i=t.length;for(n=e.options.isInternal?i:0;n<i+1;n++)if(!t[n]||fe(r)&&r<_e(t[n].options.index,t[n]._i)||t[n].options.isInternal){t.splice(n,0,e);break}return n},isArray:ce,isClass:de,isDOMElement:ue,isFunction:function(e){return typeof e==`function`},isNumber:fe,isObject:le,isString:se,merge:function(e,...t){let n,r=[e,...t],i={},a=function(e,t){return typeof e!=`object`&&(e={}),Se(t,function(n,r){r!==`__proto__`&&r!==`constructor`&&(!le(n,!0)||de(n)||ue(n)?e[r]=t[r]:e[r]=a(e[r]||{},n))}),e};!0===e&&(i=r[1],r=Array.prototype.slice.call(r,2));let o=r.length;for(n=0;n<o;n++)i=a(i,r[n]);return i},normalizeTickInterval:function(e,t,n,r,i){let a,o=e;n=_e(n,ye(e));let s=e/n;for(!t&&(t=i?[1,1.2,1.5,2,2.5,3,4,5,6,8,10]:[1,2,2.5,5,10],!1===r&&(n===1?t=t.filter(function(e){return e%1==0}):n<=.1&&(t=[1/n]))),a=0;a<t.length&&(o=t[a],(!i||!(o*n>=e))&&(i||!(s<=(t[a]+(t[a+1]||t[a]))/2)));a++);return be(o*n,-Math.round(Math.log(.001)/Math.LN10))},objectEach:Se,offset:function(e){let t=re.documentElement,n=e.parentElement||e.parentNode?e.getBoundingClientRect():{top:0,left:0,width:0,height:0};return{top:n.top+(ie.pageYOffset||t.scrollTop)-(t.clientTop||0),left:n.left+(ie.pageXOffset||t.scrollLeft)-(t.clientLeft||0),width:n.width,height:n.height}},pad:function(e,t,n){return Array((t||2)+1-String(e).replace(`-`,``).length).join(n||`0`)+e},pick:_e,pInt:oe,pushUnique:function(e,t){return 0>e.indexOf(t)&&!!e.push(t)},relativeLength:function(e,t,n){return/%$/.test(e)?t*parseFloat(e)/100+(n||0):parseFloat(e)},removeEvent:Ce,replaceNested:function(e,...t){let n,r;do for(r of(n=e,t))e=e.replace(r[0],r[1]);while(e!==n);return e},splat:he,stableSort:function(e,t){let n,r,i=e.length;for(r=0;r<i;r++)e[r].safeI=r;for(e.sort(function(e,r){return(n=t(e,r))===0?e.safeI-r.safeI:n}),r=0;r<i;r++)delete e[r].safeI},syncTimeout:function(e,t,n){return t>0?setTimeout(e,t,n):(e.call(0,n),-1)},timeUnits:{millisecond:1,second:1e3,minute:6e4,hour:36e5,day:864e5,week:6048e5,month:24192e5,year:314496e5},ucfirst:function(e){return se(e)?e.substring(0,1).toUpperCase()+e.substring(1):String(e)},uniqueKey:Te,useSerialIds:function(t){return e=_e(t,e)},wrap:function(e,t,n){let r=e[t];e[t]=function(){let e=arguments,t=this;return n.apply(this,[function(){return r.apply(t,arguments.length?arguments:e)}].concat([].slice.call(arguments)))}}},{pageLang:Ee,win:De}=P,{defined:Oe,error:ke,extend:Ae,isNumber:je,isObject:Me,isString:Ne,merge:Pe,objectEach:Fe,pad:Ie,splat:Le,timeUnits:Re,ucfirst:ze}=F,Be=P.isSafari&&De.Intl&&!De.Intl.DateTimeFormat.prototype.formatRange,Ve=class{constructor(e,t){this.options={timezone:`UTC`},this.variableTimezone=!1,this.Date=De.Date,this.update(e),this.lang=t}update(e={}){this.dTLCache={},this.options=e=Pe(!0,this.options,e);let{timezoneOffset:t,useUTC:n,locale:r}=e;this.Date=e.Date||De.Date||Date;let i=e.timezone;Oe(n)&&(i=n?`UTC`:void 0),t&&t%60==0&&(i=`Etc/GMT`+(t>0?`+`:``)+t/60),this.variableTimezone=i!==`UTC`&&i?.indexOf(`Etc/GMT`)!==0,this.timezone=i,this.lang&&r&&(this.lang.locale=r),[`months`,`shortMonths`,`weekdays`,`shortWeekdays`].forEach(e=>{let t=/months/i.test(e),n=/short/.test(e),r={timeZone:`UTC`};r[t?`month`:`weekday`]=n?`short`:`long`,this[e]=(t?[0,1,2,3,4,5,6,7,8,9,10,11]:[3,4,5,6,7,8,9]).map(e=>this.dateFormat(r,(t?31:1)*24*36e5*e))})}toParts(e){let[t,n,r,i,a,o,s]=this.dateTimeFormat({weekday:`narrow`,day:`numeric`,month:`numeric`,year:`numeric`,hour:`numeric`,minute:`numeric`,second:`numeric`},e,`es`).split(/(?:, | |\/|:)/g);return[i,r-1,n,a,o,s,Math.floor(Number(e)||0)%1e3,`DLMXJVS`.indexOf(t)].map(Number)}dateTimeFormat(e,t,n=this.options.locale||Ee){let r=JSON.stringify(e)+n;Ne(e)&&(e=this.str2dtf(e));let i=this.dTLCache[r];if(!i){e.timeZone??=this.timezone;try{i=new Intl.DateTimeFormat(n,e)}catch(t){/Invalid time zone/i.test(t.message)?(ke(34),e.timeZone=`UTC`,i=new Intl.DateTimeFormat(n,e)):ke(t.message,!1)}}return this.dTLCache[r]=i,i?.format(t)||``}str2dtf(e,t={}){let n={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(n).forEach(r=>{e.indexOf(r)!==-1&&Ae(t,n[r])}),t}makeTime(e,t,n=1,r=0,i,a,o){let s=this.Date.UTC(e,t,n,r,i||0,a||0,o||0);if(this.timezone!==`UTC`){let e=this.getTimezoneOffset(s);if(s+=e,[2,3,8,9,10,11].indexOf(t)!==-1&&(r<5||r>20)){let t=this.getTimezoneOffset(s);e===t?e-36e5!==this.getTimezoneOffset(s-36e5)||Be||(s-=36e5):s+=t-e}}return s}parse(e){if(!Ne(e))return e??void 0;let t=(e=e.replace(/\//g,`-`).replace(/(GMT|UTC)/,``)).indexOf(`Z`)>-1||/([+-][0-9]{2}):?[0-9]{2}$/.test(e),n=/^[0-9]{4}-[0-9]{2}(-[0-9]{2}|)$/.test(e);t||n||(e+=`Z`);let r=Date.parse(e);if(je(r))return r+(!t||n?this.getTimezoneOffset(r):0)}getTimezoneOffset(e){if(this.timezone!==`UTC`){let[t,n,r,i,a=0]=this.dateTimeFormat({timeZoneName:`shortOffset`},e,`en`).split(/(GMT|:)/).map(Number),o=-(60*(r+a/60)*6e4);if(je(o))return o}return 0}dateFormat(e,t,n){let r=this.lang;if(!Oe(t)||isNaN(t))return r?.invalidDate||``;if(Ne(e??=`%Y-%m-%d %H:%M:%S`)){let n,i=/%\[([a-zA-Z]+)\]/g;for(;n=i.exec(e);)e=e.replace(n[0],this.dateTimeFormat(n[1],t,r?.locale))}if(Ne(e)&&e.indexOf(`%`)!==-1){let n=this,[i,a,o,s,c,l,u,d]=this.toParts(t),f=r?.weekdays||this.weekdays,p=r?.shortWeekdays||this.shortWeekdays,m=r?.months||this.months,h=r?.shortMonths||this.shortMonths;Fe(Ae({a:p?p[d]:f[d].substr(0,3),A:f[d],d:Ie(o),e:Ie(o,2,` `),w:d,v:r?.weekFrom??``,b:h[a],B:m[a],m:Ie(a+1),o:a+1,y:i.toString().substr(2,2),Y:i,H:Ie(s),k:s,I:Ie(s%12||12),l:s%12||12,M:Ie(c),p:s<12?`AM`:`PM`,P:s<12?`am`:`pm`,S:Ie(l),L:Ie(u,3)},P.dateFormats),function(r,i){if(Ne(e))for(;e.indexOf(`%`+i)!==-1;)e=e.replace(`%`+i,typeof r==`function`?r.call(n,t):r)})}else if(Me(e)){let n=(this.getTimezoneOffset(t)||0)/36e5,r=this.timezone||`Etc/GMT`+(n>=0?`+`:``)+n,{prefix:i=``,suffix:a=``}=e;e=i+this.dateTimeFormat(Ae({timeZone:r},e),t)+a}return n?ze(e):e}resolveDTLFormat(e){return Me(e,!0)?Me(e,!0)&&e.main===void 0?{main:e}:e:{main:(e=Le(e))[0],from:e[1],to:e[2]}}getDateFormat(e,t,n,r){let i=this.dateFormat(`%m-%d %H:%M:%S.%L`,t),a=`01-01 00:00:00.000`,o={millisecond:15,second:12,minute:9,hour:6,day:3},s=`millisecond`,c=s;for(s in Re){if(e&&e===Re.week&&+this.dateFormat(`%w`,t)===n&&i.substr(6)===a.substr(6)){s=`week`;break}if(e&&Re[s]>e){s=c;break}if(o[s]&&i.substr(o[s])!==a.substr(o[s]))break;s!==`week`&&(c=s)}return this.resolveDTLFormat(r[s]).main}},{defined:He,extend:Ue,timeUnits:I}=F,We=class extends Ve{getTimeTicks(e,t,n,r){let i=this,a=[],o={},{count:s=1,unitRange:c}=e,[l,u,d,f,p,m]=i.toParts(t),h=(t||0)%1e3,g;if(r??=1,He(t)){if(h=c>=I.second?0:s*Math.floor(h/s),c>=I.second&&(m=c>=I.minute?0:s*Math.floor(m/s)),c>=I.minute&&(p=c>=I.hour?0:s*Math.floor(p/s)),c>=I.hour&&(f=c>=I.day?0:s*Math.floor(f/s)),c>=I.day&&(d=c>=I.month?1:Math.max(1,s*Math.floor(d/s))),c>=I.month&&(u=c>=I.year?0:s*Math.floor(u/s)),c>=I.year&&(l-=l%s),c===I.week){s&&(t=i.makeTime(l,u,d,f,p,m,h));let e=this.dateTimeFormat({timeZone:this.timezone,weekday:`narrow`},t,`es`),n=`DLMXJVS`.indexOf(e);d+=-n+r+(n<r?-7:0)}t=i.makeTime(l,u,d,f,p,m,h),i.variableTimezone&&He(n)&&(g=n-t>4*I.month||i.getTimezoneOffset(t)!==i.getTimezoneOffset(n));let e=t,_=1;for(;e<n;)a.push(e),c===I.year?e=i.makeTime(l+_*s,0):c===I.month?e=i.makeTime(l,u+_*s):g&&(c===I.day||c===I.week)?e=i.makeTime(l,u,d+_*s*(c===I.day?1:7)):g&&c===I.hour&&s>1?e=i.makeTime(l,u,d,f+_*s):e+=c*s,_++;a.push(e),c<=I.hour&&a.length<1e4&&a.forEach(e=>{e%18e5==0&&i.dateFormat(`%H%M%S%L`,e)===`000000000`&&(o[e]=`day`)})}return a.info=Ue(e,{higherRanks:o,totalRange:c*s}),a}},{isTouchDevice:Ge}=P,{fireEvent:Ke,merge:qe}=F,Je={colors:[`#2caffe`,`#544fc5`,`#00e272`,`#fe6a35`,`#6b8abc`,`#d568fb`,`#2ee0ca`,`#fa4b42`,`#feb56a`,`#91e8e1`],symbols:[`circle`,`diamond`,`square`,`triangle`,`triangle-down`],lang:{weekFrom:`week from`,chartTitle:`Chart title`,locale:void 0,loading:`Loading...`,months:void 0,seriesName:`Series {add index 1}`,shortMonths:void 0,weekdays:void 0,numericSymbols:[`k`,`M`,`G`,`T`,`P`,`E`],pieSliceName:`Slice`,resetZoom:`Reset zoom`,yAxisTitle:`Values`,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:{color:`#333333`,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:e=>Math.sqrt(1-(e-1)**2)},borderRadius:3,dateTimeLabelFormats:{millisecond:`%[AebHMSL]`,second:`%[AebHMS]`,minute:`%[AebHM]`,hour:`%[AebHM]`,day:`%[AebY]`,week:`%v %[AebY]`,month:`%[BY]`,year:`%Y`},footerFormat:``,headerShape:`callout`,hideDelay:500,padding:8,position:{x:0,y:3},shared:!1,snap:Ge?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,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`}},Ye=new We(Je.time,Je.lang),Xe={defaultOptions:Je,defaultTime:Ye,getOptions:function(){return Je},setOptions:function(e){return Ke(P,`setOptions`,{options:e}),qe(!0,Je,e),e.time&&Ye.update(Je.time),e.lang&&`locale`in e.lang&&Ye.update({locale:e.lang.locale}),e.lang?.chartTitle&&(Je.title={...Je.title,text:e.lang.chartTitle}),Je}},{win:Ze}=P,{isNumber:Qe,isString:$e,merge:et,pInt:L,defined:tt}=F,nt=(e,t,n)=>`color-mix(in srgb,${e},${t} ${100*n}%)`,rt=e=>$e(e)&&!!e&&e!==`none`;class R{static parse(e){return e?new R(e):R.None}constructor(e){let t,n,r,i;this.rgba=[NaN,NaN,NaN,NaN],this.input=e;let a=P.Color;if(a&&a!==R)return new a(e);if(typeof e==`object`&&e.stops!==void 0)this.stops=e.stops.map(e=>new R(e[1]));else if(typeof e==`string`)for(this.input=e=R.names[e.toLowerCase()]||e,r=R.parsers.length;r--&&!n;)(t=(i=R.parsers[r]).regex.exec(e))&&(n=i.parse(t));n&&(this.rgba=n)}get(e){let t=this.input,n=this.rgba;if(this.output)return this.output;if(typeof t==`object`&&this.stops!==void 0){let n=et(t);return n.stops=[].slice.call(n.stops),this.stops.forEach((t,r)=>{n.stops[r]=[n.stops[r][0],t.get(e)]}),n}return n&&Qe(n[0])?e!==`rgb`&&(e||n[3]!==1)?e===`a`?`${n[3]}`:`rgba(`+n.join(`,`)+`)`:`rgb(`+n[0]+`,`+n[1]+`,`+n[2]+`)`:t}brighten(e){let t=this.rgba;if(this.stops)this.stops.forEach(function(t){t.brighten(e)});else if(Qe(e)&&e!==0)if(Qe(t[0]))for(let n=0;n<3;n++)t[n]+=L(255*e),t[n]<0&&(t[n]=0),t[n]>255&&(t[n]=255);else R.useColorMix&&rt(this.input)&&(this.output=nt(this.input,e>0?`white`:`black`,Math.abs(e)));return this}setOpacity(e){return this.rgba[3]=e,this}tweenTo(e,t){let n=this.rgba,r=e.rgba;if(!Qe(n[0])||!Qe(r[0]))return R.useColorMix&&rt(this.input)&&rt(e.input)&&t<.99?nt(this.input,e.input,t):e.input||`none`;let i=r[3]!==1||n[3]!==1,a=(e,r)=>e+(n[r]-e)*(1-t),o=r.slice(0,3).map(a).map(Math.round);return i&&o.push(a(r[3],3)),(i?`rgba(`:`rgb(`)+o.join(`,`)+`)`}}R.names={white:`#ffffff`,black:`#000000`},R.parsers=[{regex:/rgba\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d?(?:\.\d+)?)\s*\)/,parse:function(e){return[L(e[1]),L(e[2]),L(e[3]),parseFloat(e[4],10)]}},{regex:/rgb\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*\)/,parse:function(e){return[L(e[1]),L(e[2]),L(e[3]),1]}},{regex:/^#([a-f0-9])([a-f0-9])([a-f0-9])([a-f0-9])?$/i,parse:function(e){return[L(e[1]+e[1],16),L(e[2]+e[2],16),L(e[3]+e[3],16),tt(e[4])?L(e[4]+e[4],16)/255:1]}},{regex:/^#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})?$/i,parse:function(e){return[L(e[1],16),L(e[2],16),L(e[3],16),tt(e[4])?L(e[4],16)/255:1]}}],R.useColorMix=Ze.CSS?.supports(`color`,`color-mix(in srgb,red,blue 9%)`),R.None=new R(``);let{parse:it}=R,{win:at}=P,{isNumber:ot,objectEach:st}=F;class z{constructor(e,t,n){this.pos=NaN,this.options=t,this.elem=e,this.prop=n}dSetter(){let e=this.paths,t=e?.[0],n=e?.[1],r=this.now||0,i=[];if(r!==1&&t&&n)if(t.length===n.length&&r<1)for(let e=0;e<n.length;e++){let a=t[e],o=n[e],s=[];for(let e=0;e<o.length;e++){let t=a[e],n=o[e];ot(t)&&ot(n)&&(o[0]!==`A`||e!==4&&e!==5)?s[e]=t+r*(n-t):s[e]=n}i.push(s)}else i=n;else i=this.toD||[];this.elem.attr(`d`,i,void 0,!0)}update(){let e=this.elem,t=this.prop,n=this.now,r=this.options.step;this[t+`Setter`]?this[t+`Setter`]():e.attr?e.element&&e.attr(t,n,null,!0):e.style[t]=n+this.unit,r&&r.call(e,n,this)}run(e,t,n){let r=this,i=r.options,a=function(e){return!a.stopped&&r.step(e)},o=at.requestAnimationFrame||function(e){setTimeout(e,13)},s=function(){for(let e=0;e<z.timers.length;e++)z.timers[e]()||z.timers.splice(e--,1);z.timers.length&&o(s)};e!==t||this.elem[`forceAnimate:`+this.prop]?(this.startTime=+new Date,this.start=e,this.end=t,this.unit=n,this.now=this.start,this.pos=0,a.elem=this.elem,a.prop=this.prop,a()&&z.timers.push(a)===1&&o(s)):(delete i.curAnim[this.prop],i.complete&&Object.keys(i.curAnim).length===0&&i.complete.call(this.elem))}step(e){let t,n,r=+new Date,i=this.options,a=this.elem,o=i.complete,s=i.duration,c=i.curAnim;return a.attr&&!a.element?t=!1:e||r>=s+this.startTime?(this.now=this.end,this.pos=1,this.update(),c[this.prop]=!0,n=!0,st(c,function(e){!0!==e&&(n=!1)}),n&&o&&o.call(a),t=!1):(this.pos=i.easing((r-this.startTime)/s),this.now=this.start+(this.end-this.start)*this.pos,this.update(),t=!0),t}initPath(e,t,n){let r=e.startX,i=e.endX,a=n.slice(),o=e.isArea,s=o?2:1,c=t&&n.length>t.length&&n.hasStackedCliffs,l,u,d,f,p=t?.slice();if(!p||c)return[a,a];function m(e,t){for(;e.length<u;){let n=e[0],r=t[u-e.length];if(r&&n[0]===`M`&&(r[0]===`C`?e[0]=[`C`,n[1],n[2],n[1],n[2],n[1],n[2]]:e[0]=[`L`,n[1],n[2]]),e.unshift(n),o){let t=e.pop();e.push(e[e.length-1],t)}}}function h(e){for(;e.length<u;){let t=e[Math.floor(e.length/s)-1].slice();if(t[0]===`C`&&(t[1]=t[5],t[2]=t[6]),o){let n=e[Math.floor(e.length/s)].slice();e.splice(e.length/2,0,t,n)}else e.push(t)}}if(r&&i&&i.length){for(d=0;d<r.length;d++)if(r[d]===i[0]){l=d;break}else if(r[0]===i[i.length-r.length+d]){l=d,f=!0;break}else if(r[r.length-1]===i[i.length-r.length+d]){l=r.length-d;break}l===void 0&&(p=[])}return p.length&&ot(l)&&(u=a.length+l*s,f?(m(p,a),h(a)):(m(a,p),h(p))),[p,a]}fillSetter(){z.prototype.strokeSetter.apply(this,arguments)}strokeSetter(){this.elem.attr(this.prop,it(this.start).tweenTo(it(this.end),this.pos),void 0,!0)}}z.timers=[];let{defined:ct,getStyle:lt,isArray:ut,isNumber:dt,isObject:ft,merge:pt,objectEach:mt,pick:ht}=F;function gt(e){return ft(e)?pt({duration:500,defer:0},e):{duration:500*!!e,defer:0}}function _t(e,t){let n=z.timers.length;for(;n--;)z.timers[n].elem!==e||t&&t!==z.timers[n].prop||(z.timers[n].stopped=!0)}let B={animate:function(e,t,n){let r,i=``,a,o,s;ft(n)||(s=arguments,n={duration:s[2],easing:s[3],complete:s[4]}),dt(n.duration)||(n.duration=400),n.easing=typeof n.easing==`function`?n.easing:Math[n.easing]||Math.easeInOutSine,n.curAnim=pt(t),mt(t,function(s,c){_t(e,c),o=new z(e,n,c),a=void 0,c===`d`&&ut(t.d)?(o.paths=o.initPath(e,e.pathArray,t.d),o.toD=t.d,r=0,a=1):e.attr?r=e.attr(c):(r=parseFloat(lt(e,c))||0,c!==`opacity`&&(i=`px`)),a||=s,typeof a==`string`&&a.match(`px`)&&(a=a.replace(/px/g,``)),o.run(r,a,i)})},animObject:gt,getDeferredAnimation:function(e,t,n){let r=gt(t),i=n?[n]:e.series,a=0,o=0;return i.forEach(e=>{let n=gt(e.options.animation);a=ft(t)&&ct(t.defer)?r.defer:Math.max(a,n.duration+n.defer),o=Math.min(r.duration,n.duration)}),e.renderer.forExport&&(a=0),{defer:Math.max(0,a-o),duration:Math.min(a,o)}},setAnimation:function(e,t){t.renderer.globalAnimation=ht(e,t.options.chart.animation,!0)},stop:_t},{SVG_NS:vt,win:yt}=P,{attr:bt,createElement:xt,css:St,error:Ct,isFunction:wt,isString:Tt,objectEach:Et,splat:Dt}=F,{trustedTypes:Ot}=yt,kt=Ot&&wt(Ot.createPolicy)&&Ot.createPolicy(`highcharts`,{createHTML:e=>e}),At=kt?kt.createHTML(``):``;class V{static filterUserAttributes(e){return Et(e,(t,n)=>{let r=!0;V.allowedAttributes.indexOf(n)===-1&&(r=!1),[`background`,`dynsrc`,`href`,`lowsrc`,`src`].indexOf(n)!==-1&&(r=Tt(t)&&V.allowedReferences.some(e=>t.indexOf(e)===0)),r||(Ct(33,!1,void 0,{"Invalid attribute in config":`${n}`}),delete e[n]),Tt(t)&&e[n]&&(e[n]=t.replace(/</g,`<`))}),e}static parseStyle(e){return e.split(`;`).reduce((e,t)=>{let n=t.split(`:`).map(e=>e.trim()),r=n.shift();return r&&n.length&&(e[r.replace(/-([a-z])/g,e=>e[1].toUpperCase())]=n.join(`:`)),e},{})}static setElementHTML(e,t){e.innerHTML=V.emptyHTML,t&&new V(t).addToDOM(e)}constructor(e){this.nodes=typeof e==`string`?this.parseMarkup(e):e}addToDOM(e){return function e(t,n){let r;return Dt(t).forEach(function(t){let i,a=t.tagName,o=t.textContent?P.doc.createTextNode(t.textContent):void 0,s=V.bypassHTMLFiltering;if(a)if(a===`#text`)i=o;else if(V.allowedTags.indexOf(a)!==-1||s){let r=a===`svg`?vt:n.namespaceURI||vt,c=P.doc.createElementNS(r,a),l=t.attributes||{};Et(t,function(e,t){t!==`tagName`&&t!==`attributes`&&t!==`children`&&t!==`style`&&t!==`textContent`&&(l[t]=e)}),bt(c,s?l:V.filterUserAttributes(l)),t.style&&St(c,t.style),o&&c.appendChild(o),e(t.children||[],c),i=c}else Ct(33,!1,void 0,{"Invalid tagName in config":a});i&&n.appendChild(i),r=i}),r}(this.nodes,e)}parseMarkup(e){let t,n=[];e=e.trim().replace(/ style=(["'])/g,` data-style=$1`);try{t=new DOMParser().parseFromString(kt?kt.createHTML(e):e,`text/html`)}catch{}if(!t){let n=xt(`div`);n.innerHTML=e,t={body:n}}let r=(e,t)=>{let n=e.nodeName.toLowerCase(),i={tagName:n};n===`#text`&&(i.textContent=e.textContent||``);let a=e.attributes;if(a){let e={};[].forEach.call(a,t=>{t.name===`data-style`?i.style=V.parseStyle(t.value):e[t.name]=t.value}),i.attributes=e}if(e.childNodes.length){let t=[];[].forEach.call(e.childNodes,e=>{r(e,t)}),t.length&&(i.children=t)}t.push(i)};return[].forEach.call(t.body.childNodes,e=>r(e,n)),n}}V.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.disabled.dx.dy.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.result.role.rowspan.scope.slope.src.startOffset.stdDeviation.stroke-linecap.stroke-width.stroke.style.summary.tabindex.tableValues.target.text-align.text-anchor.textAnchor.textLength.title.type.valign.width.x.x1.x2.xlink:href.y.y1.y2.zIndex`.split(`.`),V.allowedReferences=[`https://`,`http://`,`mailto:`,`/`,`../`,`./`,`#`],V.allowedTags=`#text.a.abbr.b.br.button.caption.circle.clipPath.code.dd.defs.div.dl.dt.em.feComponentTransfer.feComposite.feDropShadow.feFlood.feFuncA.feFuncB.feFuncG.feFuncR.feGaussianBlur.feMerge.feMergeNode.feMorphology.feOffset.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.tbody.td.text.textPath.th.thead.title.tr.tspan.u.ul`.split(`.`),V.emptyHTML=At,V.bypassHTMLFiltering=!1;let{defaultOptions:jt,defaultTime:Mt}=Xe,{pageLang:Nt}=P,{extend:Pt,getNestedProperty:Ft,isArray:It,isNumber:Lt,isObject:Rt,isString:zt,pick:Bt,ucfirst:Vt}=F,Ht={add:(e,t)=>e+t,divide:(e,t)=>t===0?``:e/t,eq:(e,t)=>e==t,each:function(e){let t=arguments[arguments.length-1];return!!It(e)&&e.map((n,r)=>Wt(t.body,Pt(Rt(n)?n:{"@this":n},{"@index":r,"@first":r===0,"@last":r===e.length-1}))).join(``)},ge:(e,t)=>e>=t,gt:(e,t)=>e>t,if:e=>!!e,le:(e,t)=>e<=t,lt:(e,t)=>e<t,multiply:(e,t)=>e*t,ne:(e,t)=>e!=t,subtract:(e,t)=>e-t,ucfirst:Vt,unless:e=>!e},Ut={};function Wt(e=``,t,n){let r=RegExp(`\\{([\\p{L}\\d:\\.,;\\-\\/<>\\[\\]%_@+"'’= #\\(\\)]+)\\}`,`gu`),i=RegExp(`\\(([\\p{L}\\d:\\.,;\\-\\/<>\\[\\]%_@+"'= ]+)\\)`,`gu`),a=[],o=/f$/,s=/\.(\d)/,c=n?.options?.lang||jt.lang,l=n?.time||Mt,u=n?.numberFormatter||Gt.bind(n),d=(e=``)=>{let n;return e===`true`||e!==`false`&&((n=Number(e)).toString()===e?n:/^["'].+["']$/.test(e)?e.slice(1,-1):Ft(e,t))},f,p,m=0,h;for(;(f=r.exec(e))!==null;){let n=f,r=i.exec(f[1]);r&&(f=r,h=!0),p?.isBlock||(p={ctx:t,expression:f[1],find:f[0],isBlock:f[1].charAt(0)===`#`,start:f.index,startInner:f.index+f[0].length,length:f[0].length});let o=(p.isBlock?n:f)[1].split(` `)[0].replace(`#`,``);Ht[o]&&(p.isBlock&&o===p.fn&&m++,p.fn||=o);let s=f[1]===`else`;if(p.isBlock&&p.fn&&(f[1]===`/${p.fn}`||s))if(m)!s&&m--;else{let t=p.startInner,n=e.substr(t,f.index-t);p.body===void 0?(p.body=n,p.startInner=f.index+f[0].length):p.elseBody=n,p.find+=n+f[0],s||(a.push(p),p=void 0)}else p.isBlock||a.push(p);if(r&&!p?.isBlock)break}return a.forEach(r=>{let a,f,{body:p,elseBody:m,expression:h,fn:g}=r;if(g){let e=[r],i=[],o=h.length,s=0,c;for(f=0;f<=o;f++){let e=h.charAt(f);c||e!==`"`&&e!==`'`?c===e&&(c=``):c=e,c||e!==` `&&f!==o||(i.push(h.substr(s,f-s)),s=f+1)}for(f=Ht[g].length;f--;)e.unshift(d(i[f+1]));a=Ht[g].apply(t,e),r.isBlock&&typeof a==`boolean`&&(a=Wt(a?p:m,t,n))}else{let e=/^["'].+["']$/.test(h)?[h]:h.split(`:`);if(a=d(e.shift()||``),e.length&&typeof a==`number`){let t=e.join(`:`);if(o.test(t)){let e=parseInt((t.match(s)||[``,`-1`])[1],10);a!==null&&(a=u(a,e,c.decimalPoint,t.indexOf(`,`)>-1?c.thousandsSep:``))}else a=l.dateFormat(t,a)}i.lastIndex=0,i.test(r.find)&&zt(a)&&(a=`"${a}"`)}e=e.replace(r.find,Bt(a,``))}),h?Wt(e,t,n):e}function Gt(e,t,n,r){t*=1;let i,a,[o,s]=(e=+e||0).toString().split(`e`).map(Number),c=this?.options?.lang||jt.lang,l=(e.toString().split(`.`)[1]||``).split(`e`)[0].length,u=t,d={};n??=c.decimalPoint,r??=c.thousandsSep,t===-1?t=Math.min(l,20):Lt(t)?t&&s<0&&((a=t+s)>=0?(o=+o.toExponential(a).split(`e`)[0],t=a):(o=Math.floor(o),e=t<20?+(o*10**s).toFixed(t):0,s=0)):t=2,s&&(t??=2,e=o),Lt(t)&&t>=0&&(d.minimumFractionDigits=t,d.maximumFractionDigits=t),r===``&&(d.useGrouping=!1);let f=r||n,p=f?`en`:this?.locale||c.locale||Nt,m=JSON.stringify(d)+p;return i=(Ut[m]??(Ut[m]=new Intl.NumberFormat(p,d))).format(e),f&&(i=i.replace(/([,\.])/g,`_$1`).replace(/_\,/g,r??`,`).replace(`_.`,n??`.`)),(t||+i!=0)&&(!(s<0)||u)||(i=`0`),s&&+i!=0&&(i+=`e`+(s<0?``:`+`)+s),i}let Kt={dateFormat:function(e,t,n){return Mt.dateFormat(e,t,n)},format:Wt,helpers:Ht,numberFormat:Gt};(s=_||={}).rendererTypes={},s.getRendererType=function(e=i){return s.rendererTypes[e]||s.rendererTypes[i]},s.registerRendererType=function(e,t,n){s.rendererTypes[e]=t,(!i||n)&&(i=e,P.Renderer=t)};let qt=_,{clamp:Jt,pick:Yt,pushUnique:Xt,stableSort:Zt}=F;(v||={}).distribute=function e(t,n,r){let i=t,a=i.reducedLen||n,o=(e,t)=>e.target-t.target,s=[],c=t.length,l=[],u=s.push,d,f,p,m=!0,h,g,_=0,v;for(d=c;d--;)_+=t[d].size;if(_>a){for(Zt(t,(e,t)=>(t.rank||0)-(e.rank||0)),p=(v=t[0].rank===t[t.length-1].rank)?c/2:-1,f=v?p:c-1;p&&_>a;)h=t[d=Math.floor(f)],Xt(l,d)&&(_-=h.size),f+=p,v&&f>=t.length&&(p/=2,f=p);l.sort((e,t)=>t-e).forEach(e=>u.apply(s,t.splice(e,1)))}for(Zt(t,o),t=t.map(e=>({size:e.size,targets:[e.target],align:Yt(e.align,.5)}));m;){for(d=t.length;d--;)h=t[d],g=(Math.min.apply(0,h.targets)+Math.max.apply(0,h.targets))/2,h.pos=Jt(g-h.size*h.align,0,n-h.size);for(d=t.length,m=!1;d--;)d>0&&t[d-1].pos+t[d-1].size>t[d].pos&&(t[d-1].size+=t[d].size,t[d-1].targets=t[d-1].targets.concat(t[d].targets),t[d-1].align=.5,t[d-1].pos+t[d-1].size>n&&(t[d-1].pos=n-t[d-1].size),t.splice(d,1),m=!0)}return u.apply(i,s),d=0,t.some(t=>{let a=0;return(t.targets||[]).some(()=>(i[d].pos=t.pos+a,r!==void 0&&Math.abs(i[d].pos-i[d].target)>r?(i.slice(0,d+1).forEach(e=>delete e.pos),i.reducedLen=(i.reducedLen||n)-.1*n,i.reducedLen>.1*n&&e(i,n,r),!0):(a+=i[d].size,d++,!1)))}),Zt(i,o),i};let Qt=v,{animate:$t,animObject:en,stop:tn}=B,{deg2rad:nn,doc:rn,svg:an,SVG_NS:on,win:sn,isFirefox:cn}=P,{addEvent:ln,attr:un,createElement:dn,crisp:fn,css:pn,defined:mn,erase:hn,extend:gn,fireEvent:_n,getAlignFactor:vn,isArray:yn,isFunction:bn,isNumber:xn,isObject:Sn,isString:Cn,merge:wn,objectEach:Tn,pick:En,pInt:Dn,pushUnique:On,replaceNested:kn,syncTimeout:An,uniqueKey:jn}=F;class H{_defaultGetter(e){let t=En(this[e+`Value`],this[e],this.element?this.element.getAttribute(e):null,0);return/^-?[\d\.]+$/.test(t)&&(t=parseFloat(t)),t}_defaultSetter(e,t,n){n.setAttribute(t,e)}add(e){let t,n=this.renderer,r=this.element;return e&&(this.parentGroup=e),this.textStr!==void 0&&this.element.nodeName===`text`&&n.buildText(this),this.added=!0,(!e||e.handleZ||this.zIndex)&&(t=this.zIndexSetter()),t||(e?e.element:n.box).appendChild(r),this.onAdd&&this.onAdd(),this}addClass(e,t){let n=t?``:this.attr(`class`)||``;return(e=(e||``).split(/ /g).reduce(function(e,t){return n.indexOf(t)===-1&&e.push(t),e},n?[n]:[]).join(` `))!==n&&this.attr(`class`,e),this}afterSetters(){this.doTransform&&=(this.updateTransform(),!1)}align(e,t,n,r=!0){let i=this.renderer,a=i.alignedObjects,o=!!e;e?(this.alignOptions=e,this.alignByTranslate=t,this.alignTo=n):(e=this.alignOptions||{},t=this.alignByTranslate,n=this.alignTo);let s=!n||Cn(n)?n||`renderer`:void 0;s&&(o&&On(a,this),n=void 0);let c=En(n,i[s],i),l=(c.x||0)+(e.x||0)+((c.width||0)-(e.width||0))*vn(e.align),u=(c.y||0)+(e.y||0)+((c.height||0)-(e.height||0))*vn(e.verticalAlign),d={};return e.align&&(d[`text-align`]=e.align),d[t?`translateX`:`x`]=Math.round(l),d[t?`translateY`:`y`]=Math.round(u),r&&(this[this.placed?`animate`:`attr`](d),this.placed=!0),this.alignAttr=d,this}alignSetter(e){let t={left:`start`,center:`middle`,right:`end`};t[e]&&(this.alignValue=e,this.element.setAttribute(`text-anchor`,t[e]))}animate(e,t,n){let r=en(En(t,this.renderer.globalAnimation,!0)),i=r.defer;return rn.hidden&&(r.duration=0),r.duration===0?(this.attr(e,void 0,n||r.complete),Tn(e,function(e,t){r.step&&r.step.call(this,e,{prop:t,pos:1,elem:this})},this)):(n&&(r.complete=n),An(()=>{this.element&&$t(this,e,r)},i)),this}applyTextOutline(e){let t=this.element;e.indexOf(`contrast`)!==-1&&(e=e.replace(/contrast/g,this.renderer.getContrast(t.style.fill)));let n=e.indexOf(` `),r=e.substring(n+1),i=e.substring(0,n);if(i&&i!==`none`&&P.svg){this.fakeTS=!0,i=i.replace(/(^[\d\.]+)(.*?)$/g,function(e,t,n){return 2*Number(t)+n}),this.removeTextOutline();let e=rn.createElementNS(on,`tspan`);un(e,{class:`highcharts-text-outline`,fill:r,stroke:r,"stroke-width":i,"stroke-linejoin":`round`});let n=t.querySelector(`textPath`)||t;[].forEach.call(n.childNodes,t=>{let n=t.cloneNode(!0);n.removeAttribute&&[`fill`,`stroke`,`stroke-width`,`stroke`].forEach(e=>n.removeAttribute(e)),e.appendChild(n)});let a=0;[].forEach.call(n.querySelectorAll(`text tspan`),e=>{a+=Number(e.getAttribute(`dy`))});let o=rn.createElementNS(on,`tspan`);o.textContent=``,un(o,{x:Number(t.getAttribute(`x`)),dy:-a}),e.appendChild(o),n.insertBefore(e,n.firstChild)}}attr(e,t,n,r){let{element:i}=this,a=H.symbolCustomAttribs,o,s,c=this,l;return typeof e==`string`&&t!==void 0&&(o=e,(e={})[o]=t),typeof e==`string`?c=(this[e+`Getter`]||this._defaultGetter).call(this,e,i):(Tn(e,function(t,n){l=!1,r||tn(this,n),this.symbolName&&a.indexOf(n)!==-1&&(s||=(this.symbolAttr(e),!0),l=!0),this.rotation&&(n===`x`||n===`y`)&&(this.doTransform=!0),l||(this[n+`Setter`]||this._defaultSetter).call(this,t,n,i)},this),this.afterSetters()),n&&n.call(this),c}clip(e){if(e&&!e.clipPath){let t=jn()+`-`,n=this.renderer.createElement(`clipPath`).attr({id:t}).add(this.renderer.defs);gn(e,{clipPath:n,id:t,count:0}),e.add(n)}return this.attr(`clip-path`,e?`url(${this.renderer.url}#${e.id})`:`none`)}crisp(e,t){t=Math.round(t||e.strokeWidth||0);let n=e.x||this.x||0,r=e.y||this.y||0,i=(e.width||this.width||0)+n,a=(e.height||this.height||0)+r,o=fn(n,t),s=fn(r,t);return gn(e,{x:o,y:s,width:fn(i,t)-o,height:fn(a,t)-s}),mn(e.strokeWidth)&&(e.strokeWidth=t),e}complexColor(e,t,n){let r=this.renderer,i,a,o,s,c,l,u,d,f,p,m=[],h;_n(this.renderer,`complexColor`,{args:arguments},function(){if(e.radialGradient?a=`radialGradient`:e.linearGradient&&(a=`linearGradient`),a){if(o=e[a],c=r.gradients,l=e.stops,f=n.radialReference,yn(o)&&(e[a]=o={x1:o[0],y1:o[1],x2:o[2],y2:o[3],gradientUnits:`userSpaceOnUse`}),a===`radialGradient`&&f&&!mn(o.gradientUnits)&&(s=o,o=wn(o,r.getRadialAttr(f,s),{gradientUnits:`userSpaceOnUse`})),Tn(o,function(e,t){t!==`id`&&m.push(t,e)}),Tn(l,function(e){m.push(e)}),c[m=m.join(`,`)])p=c[m].attr(`id`);else{o.id=p=jn();let e=c[m]=r.createElement(a).attr(o).add(r.defs);e.radAttr=s,e.stops=[],l.forEach(function(t){t[1].indexOf(`rgba`)===0?(u=(i=R.parse(t[1])).get(`rgb`),d=i.get(`a`)):(u=t[1],d=1);let n=r.createElement(`stop`).attr({offset:t[0],"stop-color":u,"stop-opacity":d}).add(e);e.stops.push(n)})}h=`url(`+r.url+`#`+p+`)`,n.setAttribute(t,h),n.gradient=m,e.toString=function(){return h}}})}css(e){let t=this.styles,n={},r=this.element,i,a=!t;if(t&&Tn(e,function(e,r){t&&t[r]!==e&&(n[r]=e,a=!0)}),a){t&&(e=gn(t,n)),e.width===null||e.width===`auto`?delete this.textWidth:r.nodeName.toLowerCase()===`text`&&e.width&&(i=this.textWidth=Dn(e.width)),gn(this.styles,e),i&&!an&&this.renderer.forExport&&delete e.width;let a=cn&&e.fontSize||null;a&&(xn(a)||/^\d+$/.test(a))&&(e.fontSize+=`px`);let o=wn(e);r.namespaceURI===this.SVG_NS&&([`textOutline`,`textOverflow`,`whiteSpace`,`width`].forEach(e=>o&&delete o[e]),o.color&&(o.fill=o.color,delete o.color)),pn(r,o)}return this.added&&(this.element.nodeName===`text`&&this.renderer.buildText(this),e.textOutline&&this.applyTextOutline(e.textOutline)),this}dashstyleSetter(e){let t,n=this[`stroke-width`];if(n===`inherit`&&(n=1),e){let r=(e=e.toLowerCase()).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(t=r.length;t--;)r[t]=``+Dn(r[t])*En(n,NaN);e=r.join(`,`).replace(/NaN/g,`none`),this.element.setAttribute(`stroke-dasharray`,e)}}destroy(){let e=this,{element:t={},renderer:n,stops:r}=e,i=t.ownerSVGElement,a=t.nodeName===`SPAN`&&e.parentGroup||void 0,o;if(t.onclick=t.onmouseout=t.onmouseover=t.onmousemove=t.point=null,tn(e),e.clipPath&&i){let t=e.clipPath;[].forEach.call(i.querySelectorAll(`[clip-path],[CLIP-PATH]`),function(e){e.getAttribute(`clip-path`).indexOf(t.element.id)>-1&&e.removeAttribute(`clip-path`)}),e.clipPath=t.destroy()}if(r){for(let e of r)e.destroy();r.length=0}for(e.safeRemoveChild(t);a?.div&&a.div.childNodes.length===0;)o=a.parentGroup,e.safeRemoveChild(a.div),delete a.div,a=o;e.alignOptions&&hn(n.alignedObjects,e),Tn(e,(t,n)=>{(e[n]?.parentGroup===e||[`connector`,`foreignObject`].indexOf(n)!==-1)&&e[n]?.destroy?.(),delete e[n]})}dSetter(e,t,n){yn(e)&&(typeof e[0]==`string`&&(e=this.renderer.pathToSegments(e)),this.pathArray=e,e=e.reduce((e,t,n)=>t?.join?(n?e+` `:``)+t.join(` `):(t||``).toString(),``)),/(NaN| {2}|^$)/.test(e)&&(e=`M 0 0`),this[t]!==e&&(n.setAttribute(t,e),this[t]=e)}fillSetter(e,t,n){typeof e==`string`?n.setAttribute(t,e):e&&this.complexColor(e,t,n)}hrefSetter(e,t,n){n.setAttributeNS(`http://www.w3.org/1999/xlink`,t,e)}getBBox(e,t){let n,r,i,{element:a,renderer:o,styles:s,textStr:c}=this,{cache:l,cacheKeys:u}=o,d=a.namespaceURI===this.SVG_NS,f=En(t,this.rotation,0),p=o.styledMode?a&&H.prototype.getStyle.call(a,`font-size`):s.fontSize,m=this.getBBoxCacheKey([o.rootFontSize,this.textWidth,this.alignValue,s.fontWeight,s.lineClamp,s.textOverflow,p,f]);if(m&&!e&&(n=l[m]),!n||n.polygon){if(d||o.forExport){try{i=this.fakeTS&&function(e){let t=a.querySelector(`.highcharts-text-outline`);t&&pn(t,{display:e})},bn(i)&&i(`none`),n=a.getBBox?gn({},a.getBBox()):{width:a.offsetWidth,height:a.offsetHeight,x:0,y:0},bn(i)&&i(``)}catch{}(!n||n.width<0)&&(n={x:0,y:0,width:0,height:0})}else n=this.htmlGetBBox();r=n.height,d&&(n.height=r={"11px,17":14,"13px,20":16}[`${p||``},${Math.round(r)}`]||r),f&&(n=this.getRotatedBox(n,f));let e={bBox:n};_n(this,`afterGetBBox`,e),n=e.bBox}if(m&&(c===``||n.height>0)){for(;u.length>250;)delete l[u.shift()];l[m]||u.push(m),l[m]=n}return n}getBBoxCacheKey(e){if(mn(this.textStr)){let t=``+this.textStr;return t.indexOf(`<`)===-1&&(t=t.replace(/\d/g,`0`)),[t,...e].join(`,`)}}getRotatedBox(e,t){let{x:n,y:r,width:i,height:a}=e,{alignValue:o,translateY:s,rotationOriginX:c=0,rotationOriginY:l=0}=this,u=vn(o),d=Number(this.element.getAttribute(`y`)||0)-(s?0:r),f=t*nn,p=(t-90)*nn,m=Math.cos(f),h=Math.sin(f),g=i*m,_=i*h,v=Math.cos(p),y=Math.sin(p),[[b,x],[S,C]]=[c,l].map(e=>[e-e*m,e*h]),w=n+u*(i-g)+b+C+d*v,T=w+g,E=T-a*v,D=E-g,O=r+d-u*_-x+S+d*y,k=O+_,A=k-a*y,j=A-_,M=Math.min(w,T,E,D),ee=Math.min(O,k,A,j);return{x:M,y:ee,width:Math.max(w,T,E,D)-M,height:Math.max(O,k,A,j)-ee,polygon:[[w,O],[T,k],[E,A],[D,j]]}}getStyle(e){return sn.getComputedStyle(this.element||this,``).getPropertyValue(e)}hasClass(e){return(``+this.attr(`class`)).split(` `).indexOf(e)!==-1}hide(){return this.attr({visibility:`hidden`})}htmlGetBBox(){return{height:0,width:0,x:0,y:0}}constructor(e,t){this.onEvents={},this.opacity=1,this.SVG_NS=on,this.element=t===`span`||t===`body`?dn(t):rn.createElementNS(this.SVG_NS,t),this.renderer=e,this.styles={},_n(this,`afterInit`)}on(e,t){let{onEvents:n}=this;return n[e]&&n[e](),n[e]=ln(this.element,e,t),this}opacitySetter(e,t,n){let r=Number(Number(e).toFixed(3));this.opacity=r,n.setAttribute(t,r)}reAlign(){this.alignOptions?.width&&this.alignOptions.align!==`left`&&(this.alignOptions.width=this.getBBox().width,this.placed=!1,this.align())}removeClass(e){return this.attr(`class`,(``+this.attr(`class`)).replace(Cn(e)?RegExp(`(^| )${e}( |$)`):e,` `).replace(/ +/g,` `).trim())}removeTextOutline(){let e=this.element.querySelector(`tspan.highcharts-text-outline`);e&&this.safeRemoveChild(e)}safeRemoveChild(e){let t=e.parentNode;t&&t.removeChild(e)}setRadialReference(e){let t=this.element.gradient&&this.renderer.gradients[this.element.gradient]||void 0;return this.element.radialReference=e,t?.radAttr&&t.animate(this.renderer.getRadialAttr(e,t.radAttr)),this}shadow(e){let{renderer:t}=this,n=wn(this.parentGroup?.rotation===90?{offsetX:-1,offsetY:-1}:{},Sn(e)?e:{}),r=t.shadowDefinition(n);return this.attr({filter:e?`url(${t.url}#${r})`:`none`})}show(e=!0){return this.attr({visibility:e?`inherit`:`visible`})}"stroke-widthSetter"(e,t,n){this[t]=e,n.setAttribute(t,e)}strokeWidth(){if(!this.renderer.styledMode)return this[`stroke-width`]||0;let e=this.getStyle(`stroke-width`),t=0,n;return/px$/.test(e)?t=Dn(e):e!==``&&(un(n=rn.createElementNS(on,`rect`),{width:e,"stroke-width":0}),this.element.parentNode.appendChild(n),t=n.getBBox().width,n.parentNode.removeChild(n)),t}symbolAttr(e){let t=this;H.symbolCustomAttribs.forEach(function(n){t[n]=En(e[n],t[n])}),t.attr({d:t.renderer.symbols[t.symbolName](t.x,t.y,t.width,t.height,t)})}textSetter(e){e!==this.textStr&&(delete this.textPxLength,this.textStr=e,this.added&&this.renderer.buildText(this),this.reAlign())}titleSetter(e){let t=this.element,n=t.getElementsByTagName(`title`)[0]||rn.createElementNS(this.SVG_NS,`title`);t.insertBefore?t.insertBefore(n,t.firstChild):t.appendChild(n),n.textContent=kn(En(e,``),[/<[^>]*>/g,``]).replace(/</g,`<`).replace(/>/g,`>`)}toFront(){let e=this.element;return e.parentNode.appendChild(e),this}translate(e,t){return this.attr({translateX:e,translateY:t})}updateTransform(e=`transform`){let{element:t,foreignObject:n,matrix:r,padding:i,rotation:a=0,rotationOriginX:o,rotationOriginY:s,scaleX:c,scaleY:l,text:u,translateX:d=0,translateY:f=0}=this,p=[`translate(${d},${f})`];mn(r)&&p.push(`matrix(`+r.join(`,`)+`)`),a&&(p.push(`rotate(`+a+` `+(o??t.getAttribute(`x`)??this.x??0)+` `+(s??t.getAttribute(`y`)??this.y??0)+`)`),u?.element.tagName!==`SPAN`||u?.foreignObject||u.attr({rotation:a,rotationOriginX:(o||0)-i,rotationOriginY:(s||0)-i})),(mn(c)||mn(l))&&p.push(`scale(${c??1} ${l??1})`),p.length&&!(u||this).textPath&&(n?.element||t).setAttribute(e,p.join(` `))}visibilitySetter(e,t,n){e===`inherit`?n.removeAttribute(t):this[t]!==e&&n.setAttribute(t,e),this[t]=e}xGetter(e){return this.element.nodeName===`circle`&&(e===`x`?e=`cx`:e===`y`&&(e=`cy`)),this._defaultGetter(e)}zIndexSetter(e,t){let n=this.renderer,r=this.parentGroup,i=(r||n).element||n.box,a=this.element,o=i===n.box,s,c,l,u=!1,d,f=this.added,p;if(mn(e)?(a.setAttribute(`data-z-index`,e),e*=1,this[t]===e&&(f=!1)):mn(this[t])&&a.removeAttribute(`data-z-index`),this[t]=e,f){for((e=this.zIndex)&&r&&(r.handleZ=!0),p=(s=i.childNodes).length-1;p>=0&&!u;p--)d=!mn(l=(c=s[p]).getAttribute(`data-z-index`)),c!==a&&(e<0&&d&&!o&&!p?(i.insertBefore(a,s[p]),u=!0):(Dn(l)<=e||d&&(!mn(e)||e>=0))&&(i.insertBefore(a,s[p+1]),u=!0));u||=(i.insertBefore(a,s[3*!!o]),!0)}return u}}H.symbolCustomAttribs=[`anchorX`,`anchorY`,`clockwise`,`end`,`height`,`innerR`,`r`,`start`,`width`,`x`,`y`],H.prototype.strokeSetter=H.prototype.fillSetter,H.prototype.yGetter=H.prototype.xGetter,H.prototype.matrixSetter=H.prototype.rotationOriginXSetter=H.prototype.rotationOriginYSetter=H.prototype.rotationSetter=H.prototype.scaleXSetter=H.prototype.scaleYSetter=H.prototype.translateXSetter=H.prototype.translateYSetter=H.prototype.verticalAlignSetter=function(e,t){this[t]=e,this.doTransform=!0};let Mn=H,{defined:Nn,extend:Pn,getAlignFactor:Fn,isNumber:In,merge:Ln,pick:Rn,removeEvent:zn}=F;class Bn extends Mn{constructor(e,t,n,r,i,a,o,s,c,l){let u;super(e,`g`),this.paddingLeftSetter=this.paddingSetter,this.paddingRightSetter=this.paddingSetter,this.doUpdate=!1,this.textStr=t,this.x=n,this.y=r,this.anchorX=a,this.anchorY=o,this.baseline=c,this.className=l,this.addClass(l===`button`?`highcharts-no-tooltip`:`highcharts-label`),l&&this.addClass(`highcharts-`+l),this.text=e.text(void 0,0,0,s).attr({zIndex:1}),typeof i==`string`&&((u=/^url\((.*?)\)$/.test(i))||this.renderer.symbols[i])&&(this.symbolKey=i),this.bBox=Bn.emptyBBox,this.padding=3,this.baselineOffset=0,this.needsBox=e.styledMode||u,this.deferredAttr={},this.alignFactor=0}alignSetter(e){let t=Fn(e);this.textAlign=e,t!==this.alignFactor&&(this.alignFactor=t,this.bBox&&In(this.xSetting)&&this.attr({x:this.xSetting}),this.updateTextPadding())}anchorXSetter(e,t){this.anchorX=e,this.boxAttr(t,Math.round(e)-this.getCrispAdjust()-this.xSetting)}anchorYSetter(e,t){this.anchorY=e,this.boxAttr(t,e-this.ySetting)}boxAttr(e,t){this.box?this.box.attr(e,t):this.deferredAttr[e]=t}css(e){if(e){let t={};e=Ln(e),Bn.textProps.forEach(n=>{e[n]!==void 0&&(t[n]=e[n],delete e[n])}),this.text.css(t),`fontSize`in t||`fontWeight`in t||`width`in t?this.updateTextPadding():`textOverflow`in t&&this.updateBoxSize()}return Mn.prototype.css.call(this,e)}destroy(){zn(this.element,`mouseenter`),zn(this.element,`mouseleave`),this.text&&this.text.destroy(),this.box&&=this.box.destroy(),Mn.prototype.destroy.call(this)}fillSetter(e,t){e&&(this.needsBox=!0),this.fill=e,this.boxAttr(t,e)}getBBox(e,t){(this.textStr&&this.bBox.width===0&&this.bBox.height===0||this.rotation)&&this.updateBoxSize();let{padding:n,height:r=0,translateX:i=0,translateY:a=0,width:o=0}=this,s=Rn(this.paddingLeft,n),c=t??(this.rotation||0),l={width:o,height:r,x:i+this.bBox.x-s,y:a+this.bBox.y-n+this.baselineOffset};return c&&(l=this.getRotatedBox(l,c)),l}getCrispAdjust(){return(this.renderer.styledMode&&this.box?this.box.strokeWidth():this[`stroke-width`]?parseInt(this[`stroke-width`],10):0)%2/2}heightSetter(e){this.heightSetting=e,this.doUpdate=!0}afterSetters(){super.afterSetters(),this.doUpdate&&=(this.updateBoxSize(),!1)}onAdd(){this.text.add(this),this.attr({text:Rn(this.textStr,``),x:this.x||0,y:this.y||0}),this.box&&Nn(this.anchorX)&&this.attr({anchorX:this.anchorX,anchorY:this.anchorY})}paddingSetter(e,t){In(e)?e!==this[t]&&(this[t]=e,this.updateTextPadding()):this[t]=void 0}rSetter(e,t){this.boxAttr(t,e)}strokeSetter(e,t){this.stroke=e,this.boxAttr(t,e)}"stroke-widthSetter"(e,t){e&&(this.needsBox=!0),this[`stroke-width`]=e,this.boxAttr(t,e)}"text-alignSetter"(e){this.textAlign=this[`text-align`]=e,this.updateTextPadding()}textSetter(e){e!==void 0&&this.text.attr({text:e}),this.updateTextPadding(),this.reAlign()}updateBoxSize(){let e,t=this.text,n={},r=this.padding,i=this.bBox=(!In(this.widthSetting)||!In(this.heightSetting)||this.textAlign)&&Nn(t.textStr)?t.getBBox(void 0,0):Bn.emptyBBox;this.width=this.getPaddedWidth(),this.height=(this.heightSetting||i.height||0)+2*r;let a=this.renderer.fontMetrics(t);if(this.baselineOffset=r+Math.min((this.text.firstLineMetrics||a).b,i.height||1/0),this.heightSetting&&(this.baselineOffset+=(this.heightSetting-a.h)/2),this.needsBox&&!t.textPath){if(!this.box){let e=this.box=this.symbolKey?this.renderer.symbol(this.symbolKey):this.renderer.rect();e.addClass((this.className===`button`?``:`highcharts-label-box`)+(this.className?` highcharts-`+this.className+`-box`:``)),e.add(this)}n.x=e=this.getCrispAdjust(),n.y=(this.baseline?-this.baselineOffset:0)+e,n.width=Math.round(this.width),n.height=Math.round(this.height),this.box.attr(Pn(n,this.deferredAttr)),this.deferredAttr={}}}updateTextPadding(){let e=this.text,t=e.styles.textAlign||this.textAlign;if(!e.textPath){this.updateBoxSize();let n=this.baseline?0:this.baselineOffset,r=(this.paddingLeft??this.padding)+Fn(t)*(this.widthSetting??this.bBox.width);(r!==e.x||n!==e.y)&&(e.attr({align:t,x:r}),n!==void 0&&e.attr(`y`,n)),e.x=r,e.y=n}}widthSetter(e){this.widthSetting=In(e)?e:void 0,this.doUpdate=!0}getPaddedWidth(){let e=this.padding,t=Rn(this.paddingLeft,e),n=Rn(this.paddingRight,e);return(this.widthSetting||this.bBox.width||0)+t+n}xSetter(e){this.x=e,this.alignFactor&&(e-=this.alignFactor*this.getPaddedWidth(),this[`forceAnimate:x`]=!0),this.anchorX&&(this[`forceAnimate:anchorX`]=!0),this.xSetting=Math.round(e),this.attr(`translateX`,this.xSetting)}ySetter(e){this.anchorY&&(this[`forceAnimate:anchorY`]=!0),this.ySetting=this.y=Math.round(e),this.attr(`translateY`,this.ySetting)}}Bn.emptyBBox={width:0,height:0,x:0,y:0},Bn.textProps=[`color`,`direction`,`fontFamily`,`fontSize`,`fontStyle`,`fontWeight`,`lineClamp`,`lineHeight`,`textAlign`,`textDecoration`,`textOutline`,`textOverflow`,`whiteSpace`,`width`];let{defined:Vn,isNumber:Hn,pick:Un}=F;function Wn(e,t,n,r,i){let a=[];if(i){let o=i.start||0,s=i.end||0,c=Un(i.r,n),l=Un(i.r,r||n),u=2e-4/(i.borderRadius?1:Math.max(c,1)),d=Math.abs(s-o-2*Math.PI)<u;d&&(o=Math.PI/2,s=2.5*Math.PI-u);let f=i.innerR,p=Un(i.open,d),m=Math.cos(o),h=Math.sin(o),g=Math.cos(s),_=Math.sin(s),v=Un(i.longArc,s-o-Math.PI<u?0:1),y=[`A`,c,l,0,v,Un(i.clockwise,1),e+c*g,t+l*_];y.params={start:o,end:s,cx:e,cy:t},a.push([`M`,e+c*m,t+l*h],y),Vn(f)&&((y=[`A`,f,f,0,v,Vn(i.clockwise)?1-i.clockwise:0,e+f*m,t+f*h]).params={start:s,end:o,cx:e,cy:t},a.push(p?[`M`,e+f*g,t+f*_]:[`L`,e+f*g,t+f*_],y)),p||a.push([`Z`])}return a}function Gn(e,t,n,r,i){return i?.r?Kn(e,t,n,r,i):[[`M`,e,t],[`L`,e+n,t],[`L`,e+n,t+r],[`L`,e,t+r],[`Z`]]}function Kn(e,t,n,r,i){let a=i?.r||0;return[[`M`,e+a,t],[`L`,e+n-a,t],[`A`,a,a,0,0,1,e+n,t+a],[`L`,e+n,t+r-a],[`A`,a,a,0,0,1,e+n-a,t+r],[`L`,e+a,t+r],[`A`,a,a,0,0,1,e,t+r-a],[`L`,e,t+a],[`A`,a,a,0,0,1,e+a,t],[`Z`]]}let qn={arc:Wn,callout:function(e,t,n,r,i){let a=Math.min(i?.r||0,n,r),o=a+6,s=i?.anchorX,c=i?.anchorY||0,l=Kn(e,t,n,r,{r:a});if(!Hn(s)||s<n&&s>0&&c<r&&c>0)return l;if(e+s>n-o)if(c>t+o&&c<t+r-o)l.splice(3,1,[`L`,e+n,c-6],[`L`,e+n+6,c],[`L`,e+n,c+6],[`L`,e+n,t+r-a]);else if(s<n){let i=c<t+o,u=i?t:t+r;l.splice(i?2:5,0,[`L`,s,c],[`L`,e+n-a,u])}else l.splice(3,1,[`L`,e+n,r/2],[`L`,s,c],[`L`,e+n,r/2],[`L`,e+n,t+r-a]);else if(e+s<o)if(c>t+o&&c<t+r-o)l.splice(7,1,[`L`,e,c+6],[`L`,e-6,c],[`L`,e,c-6],[`L`,e,t+a]);else if(s>0){let n=c<t+o,i=n?t:t+r;l.splice(n?1:6,0,[`L`,s,c],[`L`,e+a,i])}else l.splice(7,1,[`L`,e,r/2],[`L`,s,c],[`L`,e,r/2],[`L`,e,t+a]);else c>r&&s<n-o?l.splice(5,1,[`L`,s+6,t+r],[`L`,s,t+r+6],[`L`,s-6,t+r],[`L`,e+a,t+r]):c<0&&s>o&&l.splice(1,1,[`L`,s-6,t],[`L`,s,t-6],[`L`,s+6,t],[`L`,n-a,t]);return l},circle:function(e,t,n,r){return Wn(e+n/2,t+r/2,n/2,r/2,{start:.5*Math.PI,end:2.5*Math.PI,open:!1})},diamond:function(e,t,n,r){return[[`M`,e+n/2,t],[`L`,e+n,t+r/2],[`L`,e+n/2,t+r],[`L`,e,t+r/2],[`Z`]]},rect:Gn,roundedRect:Kn,square:Gn,triangle:function(e,t,n,r){return[[`M`,e+n/2,t],[`L`,e+n,t+r],[`L`,e,t+r],[`Z`]]},"triangle-down":function(e,t,n,r){return[[`M`,e,t],[`L`,e+n,t],[`L`,e+n/2,t+r],[`Z`]]}},{doc:Jn,SVG_NS:Yn,win:Xn}=P,{attr:Zn,extend:Qn,fireEvent:$n,isString:er,objectEach:tr,pick:nr}=F,rr=(e,t)=>e.substring(0,t)+`…`,ir=class{constructor(e){let t=e.styles;this.renderer=e.renderer,this.svgElement=e,this.width=e.textWidth,this.textLineHeight=t?.lineHeight,this.textOutline=t?.textOutline,this.ellipsis=t?.textOverflow===`ellipsis`,this.lineClamp=t?.lineClamp,this.noWrap=t?.whiteSpace===`nowrap`}buildSVG(){let e=this.svgElement,t=e.element,n=e.renderer,r=nr(e.textStr,``).toString(),i=r.indexOf(`<`)!==-1,a=t.childNodes,o=!e.added&&n.box,s=[r,this.ellipsis,this.noWrap,this.textLineHeight,this.textOutline,e.getStyle(`font-size`),e.styles.lineClamp,this.width].join(`,`);if(s!==e.textCache){e.textCache=s,delete e.actualWidth;for(let e=a.length;e--;)t.removeChild(a[e]);if(i||this.ellipsis||this.width||e.textPath||r.indexOf(` `)!==-1&&(!this.noWrap||/<br.*?>/g.test(r))){if(r!==``){o&&o.appendChild(t);let n=new V(r);this.modifyTree(n.nodes),n.addToDOM(t),this.modifyDOM(),this.ellipsis&&(t.textContent||``).indexOf(`…`)!==-1&&e.attr(`title`,this.unescapeEntities(e.textStr||``,[`<`,`>`])),o&&o.removeChild(t)}}else t.appendChild(Jn.createTextNode(this.unescapeEntities(r)));er(this.textOutline)&&e.applyTextOutline&&e.applyTextOutline(this.textOutline)}}modifyDOM(){let e,t=this.svgElement,n=Zn(t.element,`x`);for(t.firstLineMetrics=void 0;(e=t.element.firstChild)&&/^[\s\u200B]*$/.test(e.textContent||` `);)t.element.removeChild(e);[].forEach.call(t.element.querySelectorAll(`tspan.highcharts-br`),(e,r)=>{e.nextSibling&&e.previousSibling&&(r===0&&e.previousSibling.nodeType===1&&(t.firstLineMetrics=t.renderer.fontMetrics(e.previousSibling)),Zn(e,{dy:this.getLineHeight(e.nextSibling),x:n}))});let r=this.width||0;if(!r)return;let i=(e,i)=>{let a=e.textContent||``,o=a.replace(/([^\^])-/g,`$1- `).split(` `),s=!this.noWrap&&(o.length>1||t.element.childNodes.length>1),c=this.getLineHeight(i),l=Math.max(0,r-.8*c),u=0,d=t.actualWidth;if(s){let a=[],s=[];for(;i.firstChild&&i.firstChild!==e;)s.push(i.firstChild),i.removeChild(i.firstChild);for(;o.length;)if(o.length&&!this.noWrap&&u>0&&(a.push(e.textContent||``),e.textContent=o.join(` `).replace(/- /g,`-`)),this.truncate(e,void 0,o,u===0&&d||0,r,l,(e,t)=>o.slice(0,t).join(` `).replace(/- /g,`-`)),d=t.actualWidth,u++,this.lineClamp&&u>=this.lineClamp){o.length&&(this.truncate(e,e.textContent||``,void 0,0,r,l,rr),e.textContent=e.textContent?.replace(`…`,``)+`…`);break}s.forEach(t=>{i.insertBefore(t,e)}),a.forEach(t=>{i.insertBefore(Jn.createTextNode(t),e);let r=Jn.createElementNS(Yn,`tspan`);r.textContent=``,Zn(r,{dy:c,x:n}),i.insertBefore(r,e)})}else this.ellipsis&&a&&this.truncate(e,a,void 0,0,r,l,rr)},a=e=>{[].slice.call(e.childNodes).forEach(n=>{n.nodeType===Xn.Node.TEXT_NODE?i(n,e):(n.className.baseVal.indexOf(`highcharts-br`)!==-1&&(t.actualWidth=0),a(n))})};a(t.element)}getLineHeight(e){let t=e.nodeType===Xn.Node.TEXT_NODE?e.parentElement:e;return this.textLineHeight?parseInt(this.textLineHeight.toString(),10):this.renderer.fontMetrics(t||this.svgElement.element).h}modifyTree(e){let t=(n,r)=>{let{attributes:i={},children:a,style:o={},tagName:s}=n,c=this.renderer.styledMode;if(s===`b`||s===`strong`?c?i.class=`highcharts-strong`:o.fontWeight=`bold`:(s===`i`||s===`em`)&&(c?i.class=`highcharts-emphasized`:o.fontStyle=`italic`),o?.color&&(o.fill=o.color),s===`br`){i.class=`highcharts-br`,n.textContent=``;let t=e[r+1];t?.textContent&&(t.textContent=t.textContent.replace(/^ +/gm,``))}else s===`a`&&a&&a.some(e=>e.tagName===`#text`)&&(n.children=[{children:a,tagName:`tspan`}]);s!==`#text`&&s!==`a`&&(n.tagName=`tspan`),Qn(n,{attributes:i,style:o}),a&&a.filter(e=>e.tagName!==`#text`).forEach(t)};e.forEach(t),$n(this.svgElement,`afterModifyTree`,{nodes:e})}truncate(e,t,n,r,i,a,o){let s,c,l=this.svgElement,{rotation:u}=l,d=[],f=n&&!r?1:0,p=(t||n||``).length,m=p;n||(i=a);let h=function(t,i){let a=i||t,o=e.parentNode;if(o&&d[a]===void 0&&o.getSubStringLength)try{d[a]=r+o.getSubStringLength(0,n?a+1:a)}catch{}return d[a]};if(l.rotation=0,r+(c=h(e.textContent.length))>i){for(;f<=p;)m=Math.ceil((f+p)/2),n&&(s=o(n,m)),c=h(m,s&&s.length-1),f===p?f=p+1:c>i?p=m-1:f=m;p===0?e.textContent=``:t&&p===t.length-1||(e.textContent=s||o(t||n,m)),this.ellipsis&&c>i&&this.truncate(e,e.textContent||``,void 0,0,i,a,rr)}n&&n.splice(0,m),l.actualWidth=c,l.rotation=u}unescapeEntities(e,t){return tr(this.renderer.escapes,function(n,r){t&&t.indexOf(n)!==-1||(e=e.toString().replace(RegExp(n,`g`),r))}),e}},{defaultOptions:ar}=Xe,{charts:or,deg2rad:sr,doc:cr,isFirefox:lr,isMS:ur,isWebKit:dr,noop:fr,SVG_NS:pr,symbolSizes:mr,win:hr}=P,{addEvent:gr,attr:_r,createElement:vr,crisp:yr,css:br,defined:xr,destroyObjectProperties:Sr,extend:Cr,isArray:wr,isNumber:Tr,isObject:Er,isString:Dr,merge:Or,pick:kr,pInt:Ar,replaceNested:jr,uniqueKey:Mr}=F;class Nr{constructor(e,t,n,r,i,a,o){let s,c;this.x=0,this.y=0;let l=this.createElement(`svg`).attr({version:`1.1`,class:`highcharts-root`}),u=l.element;o||l.css(this.getStyle(r||{})),e.appendChild(u),_r(e,`dir`,`ltr`),e.innerHTML.indexOf(`xmlns`)===-1&&_r(u,`xmlns`,this.SVG_NS),this.box=u,this.boxWrapper=l,this.alignedObjects=[],this.url=this.getReferenceURL(),this.createElement(`desc`).add().element.appendChild(cr.createTextNode(`Created with Highcharts 12.5.0`)),this.defs=this.createElement(`defs`).add(),this.allowHTML=a,this.forExport=i,this.styledMode=o,this.gradients={},this.cache={},this.cacheKeys=[],this.imgCount=0,this.rootFontSize=l.getStyle(`font-size`),this.setSize(t,n,!1),lr&&e.getBoundingClientRect&&((s=function(){br(e,{left:0,top:0}),c=e.getBoundingClientRect(),br(e,{left:Math.ceil(c.left)-c.left+`px`,top:Math.ceil(c.top)-c.top+`px`})})(),this.unSubPixelFix=gr(hr,`resize`,s))}definition(e){return new V([e]).addToDOM(this.defs.element)}getReferenceURL(){if((lr||dr)&&cr.getElementsByTagName(`base`).length){if(!xr(t)){let e=Mr(),n=new V([{tagName:`svg`,attributes:{width:8,height:8},children:[{tagName:`defs`,children:[{tagName:`clipPath`,attributes:{id:e},children:[{tagName:`rect`,attributes:{width:4,height:4}}]}]},{tagName:`rect`,attributes:{id:`hitme`,width:8,height:8,"clip-path":`url(#${e})`,fill:`rgba(0,0,0,0.001)`}}]}]).addToDOM(cr.body);br(n,{position:`fixed`,top:0,left:0,zIndex:9e5}),t=cr.elementFromPoint(6,6)?.id===`hitme`,cr.body.removeChild(n)}if(t)return jr(hr.location.href.split(`#`)[0],[/<[^>]*>/g,``],[/([\('\)])/g,`\\$1`],[/ /g,`%20`])}return``}getStyle(e){return this.style=Cr({fontFamily:`-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", sans-serif`,fontSize:`1rem`},e),this.style}setStyle(e){this.boxWrapper.css(this.getStyle(e))}isHidden(){return!this.boxWrapper.getBBox().width}destroy(){let e=this.defs;return this.box=null,this.boxWrapper=this.boxWrapper.destroy(),Sr(this.gradients||{}),this.gradients=null,this.defs=e.destroy(),this.unSubPixelFix&&this.unSubPixelFix(),this.alignedObjects=null,null}createElement(e){return new this.Element(this,e)}getRadialAttr(e,t){return{cx:e[0]-e[2]/2+(t.cx||0)*e[2],cy:e[1]-e[2]/2+(t.cy||0)*e[2],r:(t.r||0)*e[2]}}shadowDefinition(e){let t=[`highcharts-drop-shadow-${this.chartIndex}`,...Object.keys(e).map(t=>`${t}-${e[t]}`)].join(`-`).toLowerCase().replace(/[^a-z\d\-]/g,``),n=Or({color:`#000000`,offsetX:1,offsetY:1,opacity:.15,width:5},e);return this.defs.element.querySelector(`#${t}`)||this.definition({tagName:`filter`,attributes:{id:t,filterUnits:n.filterUnits},children:this.getShadowFilterContent(n)}),t}getShadowFilterContent(e){return[{tagName:`feDropShadow`,attributes:{dx:e.offsetX,dy:e.offsetY,"flood-color":e.color,"flood-opacity":Math.min(5*e.opacity,1),stdDeviation:e.width/2}}]}buildText(e){new ir(e).buildSVG()}getContrast(e){if(e===`transparent`)return`#000000`;let t=R.parse(e).rgba;if(Tr(t[0])||!R.useColorMix){let e=t.map(e=>{let t=e/255;return t<=.04?t/12.92:((t+.055)/1.055)**2.4}),n=.2126*e[0]+.7152*e[1]+.0722*e[2];return 1.05/(n+.05)>(n+.05)/.05?`#FFFFFF`:`#000000`}return`color(from `+e+` srgb clamp(0,calc(9e9*(0.5 - (0.2126*r + 0.7152*g + 0.0722*b))),1) clamp(0,calc(9e9*(0.5 - (0.2126*r + 0.7152*g + 0.0722*b))),1) clamp(0,calc(9e9*(0.5 - (0.2126*r + 0.7152*g + 0.0722*b))),1))`}button(e,t,n,r,i={},a,o,s,c,l){let u=this.label(e,t,n,c,void 0,void 0,l,void 0,`button`),d=this.styledMode,f=arguments,p=0;i=Or(ar.global.buttonTheme,i),d&&(delete i.fill,delete i.stroke,delete i[`stroke-width`]);let m=i.states||{},h=i.style||{};delete i.states,delete i.style;let g=[V.filterUserAttributes(i)],_=[h];return d||[`hover`,`select`,`disabled`].forEach((e,t)=>{g.push(Or(g[0],V.filterUserAttributes(f[t+5]||m[e]||{}))),_.push(g[t+1].style),delete g[t+1].style}),gr(u.element,ur?`mouseover`:`mouseenter`,function(){p!==3&&u.setState(1)}),gr(u.element,ur?`mouseout`:`mouseleave`,function(){p!==3&&u.setState(p)}),u.setState=(e=0)=>{if(e!==1&&(u.state=p=e),u.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass(`highcharts-button-`+[`normal`,`hover`,`pressed`,`disabled`][e]),!d){u.attr(g[e]);let t=_[e];Er(t)&&u.css(t)}},u.attr(g[0]),!d&&(u.css(Cr({cursor:`default`},h)),l&&u.text.css({pointerEvents:`none`})),u.on(`touchstart`,e=>e.stopPropagation()).on(`click`,function(e){p!==3&&r?.call(u,e)})}crispLine(e,t){let[n,r]=e;return xr(n[1])&&n[1]===r[1]&&(n[1]=r[1]=yr(n[1],t)),xr(n[2])&&n[2]===r[2]&&(n[2]=r[2]=yr(n[2],t)),e}path(e){let t=this.styledMode?{}:{fill:`none`};return wr(e)?t.d=e:Er(e)&&Cr(t,e),this.createElement(`path`).attr(t)}circle(e,t,n){let r=Er(e)?e:e===void 0?{}:{x:e,y:t,r:n},i=this.createElement(`circle`);return i.xSetter=i.ySetter=function(e,t,n){n.setAttribute(`c`+t,e)},i.attr(r)}arc(e,t,n,r,i,a){let o;Er(e)?(t=(o=e).y,n=o.r,r=o.innerR,i=o.start,a=o.end,e=o.x):o={innerR:r,start:i,end:a};let s=this.symbol(`arc`,e,t,n,n,o);return s.r=n,s}rect(e,t,n,r,i,a){let o=Er(e)?e:e===void 0?{}:{x:e,y:t,r:i,width:Math.max(n||0,0),height:Math.max(r||0,0)},s=this.createElement(`rect`);return this.styledMode||(a!==void 0&&(o[`stroke-width`]=a,Cr(o,s.crisp(o))),o.fill=`none`),s.rSetter=function(e,t,n){s.r=e,_r(n,{rx:e,ry:e})},s.rGetter=function(){return s.r||0},s.attr(o)}roundedRect(e){return this.symbol(`roundedRect`).attr(e)}setSize(e,t,n){this.width=e,this.height=t,this.boxWrapper.animate({width:e,height:t},{step:function(){this.attr({viewBox:`0 0 `+this.attr(`width`)+` `+this.attr(`height`)})},duration:kr(n,!0)?void 0:0}),this.alignElements()}g(e){let t=this.createElement(`g`);return e?t.attr({class:`highcharts-`+e}):t}image(e,t,n,r,i,a){let o={preserveAspectRatio:`none`};Tr(t)&&(o.x=t),Tr(n)&&(o.y=n),Tr(r)&&(o.width=r),Tr(i)&&(o.height=i);let s=this.createElement(`image`).attr(o),c=function(t){s.attr({href:e}),a.call(s,t)};if(a){s.attr({href:`data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==`});let t=new hr.Image;gr(t,`load`,c),t.src=e,t.complete&&c({})}else s.attr({href:e});return s}symbol(e,t,n,r,i,a){let o,s,c,l,u=this,d=/^url\((.*?)\)$/,f=d.test(e),p=!f&&(this.symbols[e]?e:`circle`),m=p&&this.symbols[p];if(m)typeof t==`number`&&(s=m.call(this.symbols,t||0,n||0,r||0,i||0,a)),o=this.path(s),u.styledMode||o.attr(`fill`,`none`),Cr(o,{symbolName:p||void 0,x:t,y:n,width:r,height:i}),a&&Cr(o,a);else if(f){c=e.match(d)[1];let r=o=this.image(c);r.imgwidth=kr(a?.width,mr[c]?.width),r.imgheight=kr(a?.height,mr[c]?.height),l=e=>e.attr({width:e.width,height:e.height}),[`width`,`height`].forEach(e=>{r[`${e}Setter`]=function(e,t){this[t]=e;let{alignByTranslate:n,element:r,width:i,height:o,imgwidth:s,imgheight:c}=this,l=t===`width`?s:c,u=1;a&&a.backgroundSize===`within`&&i&&o&&s&&c?(u=Math.min(i/s,o/c),_r(r,{width:Math.round(s*u),height:Math.round(c*u)})):r&&l&&r.setAttribute(t,l),!n&&s&&c&&this.translate(((i||0)-s*u)/2,((o||0)-c*u)/2)}}),xr(t)&&r.attr({x:t,y:n}),r.isImg=!0,r.symbolUrl=e,xr(r.imgwidth)&&xr(r.imgheight)?l(r):(r.attr({width:0,height:0}),vr(`img`,{onload:function(){let e=or[u.chartIndex];this.width===0&&(br(this,{position:`absolute`,top:`-999em`}),cr.body.appendChild(this)),mr[c]={width:this.width,height:this.height},r.imgwidth=this.width,r.imgheight=this.height,r.element&&l(r),this.parentNode&&this.parentNode.removeChild(this),u.imgCount--,u.imgCount||!e||e.hasLoaded||e.onload()},src:c}),this.imgCount++)}return o}clipRect(e,t,n,r){return this.rect(e,t,n,r,0)}text(e,t,n,r){let i={};if(r&&(this.allowHTML||!this.forExport))return this.html(e,t,n);i.x=Math.round(t||0),n&&(i.y=Math.round(n)),xr(e)&&(i.text=e);let a=this.createElement(`text`).attr(i);return r&&(!this.forExport||this.allowHTML)||(a.xSetter=function(e,t,n){let r=n.getElementsByTagName(`tspan`),i=n.getAttribute(t);for(let n=0,a;n<r.length;n++)(a=r[n]).getAttribute(t)===i&&a.setAttribute(t,e);n.setAttribute(t,e)}),a}fontMetrics(e){let t=Tr(e)?e:Ar(Mn.prototype.getStyle.call(e,`font-size`)||0),n=t<24?t+3:Math.round(1.2*t);return{h:n,b:Math.round(.8*n),f:t}}rotCorr(e,t,n){let r=e;return t&&n&&(r=Math.max(r*Math.cos(t*sr),4)),{x:-e/3*Math.sin(t*sr),y:r}}pathToSegments(e){let t=[],n=[],r={A:8,C:7,H:2,L:3,M:3,Q:5,S:5,T:3,V:2};for(let i=0;i<e.length;i++)Dr(n[0])&&Tr(e[i])&&n.length===r[n[0].toUpperCase()]&&e.splice(i,0,n[0].replace(`M`,`L`).replace(`m`,`l`)),typeof e[i]==`string`&&(n.length&&t.push(n.slice(0)),n.length=0),n.push(e[i]);return t.push(n.slice(0)),t}label(e,t,n,r,i,a,o,s,c){return new Bn(this,e,t,n,r,i,a,o,s,c)}alignElements(){this.alignedObjects.forEach(e=>e.align())}}Cr(Nr.prototype,{Element:Mn,SVG_NS:pr,escapes:{"&":`&`,"<":`<`,">":`>`,"'":`'`,'"':`"`},symbols:qn,draw:fr}),qt.registerRendererType(`svg`,Nr,!0);let{composed:Pr,isFirefox:Fr}=P,{attr:Ir,css:Lr,createElement:Rr,defined:zr,extend:Br,getAlignFactor:Vr,isNumber:Hr,pInt:Ur,pushUnique:Wr}=F;function Gr(e,t,n){let r=this.div?.style;Mn.prototype[`${t}Setter`].call(this,e,t,n),r&&(n.style[t]=r[t]=e)}let Kr=(e,t)=>{if(!e.div){let n=Ir(e.element,`class`),r=e.css,i=Rr(`div`,n?{className:n}:void 0,{position:`absolute`,left:`${e.translateX||0}px`,top:`${e.translateY||0}px`,...e.styles,display:e.display,opacity:e.opacity,visibility:e.visibility},e.parentGroup?.div||t);e.classSetter=(e,t,n)=>{n.setAttribute(`class`,e),i.className=e},e.translateXSetter=e.translateYSetter=(t,n)=>{e[n]=t,i.style[n===`translateX`?`left`:`top`]=`${t}px`,e.doTransform=!0},e.scaleXSetter=e.scaleYSetter=(t,n)=>{e[n]=t,e.doTransform=!0},e.opacitySetter=e.visibilitySetter=Gr,e.css=t=>(r.call(e,t),t.cursor&&(i.style.cursor=t.cursor),t.pointerEvents&&(i.style.pointerEvents=t.pointerEvents),e),e.on=function(){return Mn.prototype.on.apply({element:i,onEvents:e.onEvents},arguments),e},e.div=i}return e.div};class qr extends Mn{static compose(e){Wr(Pr,this.compose)&&(e.prototype.html=function(e,t,n){return new qr(this,`span`).attr({text:e,x:Math.round(t),y:Math.round(n)})})}constructor(e,t){super(e,t),qr.useForeignObject?this.foreignObject=e.createElement(`foreignObject`).attr({zIndex:2}):this.css({position:`absolute`,...e.styledMode?{}:{fontFamily:e.style.fontFamily,fontSize:e.style.fontSize}}),this.element.style.whiteSpace=`nowrap`}getSpanCorrection(e,t,n){this.xCorr=-e*n,this.yCorr=-t}css(e){let t,{element:n}=this,r=n.tagName===`SPAN`&&e&&`width`in e,i=r&&e.width;return r&&(delete e.width,this.textWidth=Ur(i)||void 0,t=!0),e?.textOverflow===`ellipsis`&&(e.overflow=`hidden`,e.whiteSpace=`nowrap`),e?.lineClamp&&(e.display=`-webkit-box`,e.WebkitLineClamp=e.lineClamp,e.WebkitBoxOrient=`vertical`,e.overflow=`hidden`),Hr(Number(e?.fontSize))&&(e.fontSize+=`px`),Br(this.styles,e),Lr(n,e),t&&this.updateTransform(),this}htmlGetBBox(){let{element:e}=this;return{x:e.offsetLeft,y:e.offsetTop,width:e.offsetWidth,height:e.offsetHeight}}updateTransform(){if(!this.added){this.alignOnAdd=!0;return}let{element:e,foreignObject:t,oldTextWidth:n,renderer:r,rotation:i,rotationOriginX:a,rotationOriginY:o,scaleX:s,scaleY:c,styles:{display:l=`inline-block`,whiteSpace:u},textAlign:d=`left`,textWidth:f,translateX:p=0,translateY:m=0,x:h=0,y:g=0}=this,_=()=>this.textPxLength?this.textPxLength:(Lr(e,{width:``,whiteSpace:u||`nowrap`}),e.offsetWidth);if(t||Lr(e,{marginLeft:`${p}px`,marginTop:`${m}px`}),e.tagName===`SPAN`){let p,m=[i,d,e.innerHTML,f,this.textAlign].join(`,`),v=-(this.parentGroup?.padding*1)||0;if(f!==n){let t=_(),a=f||0,o=!r.styledMode&&e.style.textOverflow===``&&e.style.webkitLineClamp;(a>n||t>a||o)&&(/[\-\s\u00AD]/.test(e.textContent||e.innerText)||e.style.textOverflow===`ellipsis`)&&(Lr(e,{width:(i||s||t>a||o)&&Hr(f)?f+`px`:`auto`,display:l,whiteSpace:u||`normal`}),this.oldTextWidth=f)}t&&(Lr(e,{display:`inline-block`,verticalAlign:`top`}),t.attr({width:r.width,height:r.height})),m!==this.cTT&&(p=r.fontMetrics(e).b,zr(i)&&!t&&(i!==(this.oldRotation||0)||d!==this.oldAlign)&&Lr(e,{transform:`rotate(${i}deg)`,transformOrigin:`${v}% ${v}px`}),this.getSpanCorrection(!zr(i)&&!this.textWidth&&this.textPxLength||e.offsetWidth,p,Vr(d)));let{xCorr:y=0,yCorr:b=0}=this,x={left:`${h+y}px`,top:`${g+b}px`,textAlign:d,transformOrigin:`${(a??h)-y-h-v}px ${(o??g)-b-g-v}px`};(s||c)&&(x.transform=`scale(${s??1},${c??1})`),t?(super.updateTransform(),Hr(h)&&Hr(g)?(t.attr({x:h+y,y:g+b,width:e.offsetWidth+3,height:e.offsetHeight,"transform-origin":e.getAttribute(`transform-origin`)||`0 0`}),Lr(e,{display:l,textAlign:d})):Fr&&t.attr({width:0,height:0})):Lr(e,x),this.cTT=m,this.oldRotation=i,this.oldAlign=d}}add(e){let{foreignObject:t,renderer:n}=this,r=n.box.parentNode,i=[];if(t)t.add(e),super.add(n.createElement(`body`).attr({xmlns:`http://www.w3.org/1999/xhtml`}).css({background:`transparent`,margin:`0 3px 0 0`}).add(t));else{let t;if(this.parentGroup=e,e&&!(t=e.div)){let n=e;for(;n;)i.push(n),n=n.parentGroup;for(let e of i.reverse())t=Kr(e,r)}(t||r).appendChild(this.element)}return this.added=!0,this.alignOnAdd&&this.updateTransform(),this}textSetter(e){e!==this.textStr&&(delete this.bBox,delete this.oldTextWidth,V.setElementHTML(this.element,e??``),this.textStr=e,this.doTransform=!0)}alignSetter(e){this.alignValue=this.textAlign=e,this.doTransform=!0}xSetter(e,t){this[t]=e,this.doTransform=!0}}let Jr=qr.prototype;Jr.visibilitySetter=Jr.opacitySetter=Gr,Jr.ySetter=Jr.rotationSetter=Jr.rotationOriginXSetter=Jr.rotationOriginYSetter=Jr.xSetter,(c=y||={}).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,tickmarkPlacement:`between`,tickPixelInterval:100,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`},c.yAxis={reversedStacks:!0,endOnTick:!0,maxPadding:.05,minPadding:.05,tickPixelInterval:72,showLastLabel:!0,labels:{x:void 0},startOnTick:!0,title:{},stackLabels:{animation:{},allowOverlap:!1,enabled:!1,crop:!0,overflow:`justify`,formatter:function(){let{numberFormatter:e}=this.axis.chart;return e(this.total||0,-1)},style:{color:`#000000`,fontSize:`0.7em`,fontWeight:`bold`,textOutline:`1px contrast`}},gridLineWidth:1,lineWidth:0};let Yr=y,{addEvent:Xr,isFunction:Zr,objectEach:Qr,removeEvent:$r}=F;(b||={}).registerEventOptions=function(e,t){e.eventOptions=e.eventOptions||{},Qr(t.events,function(t,n){e.eventOptions[n]!==t&&(e.eventOptions[n]&&($r(e,n,e.eventOptions[n]),delete e.eventOptions[n]),Zr(t)&&(e.eventOptions[n]=t,Xr(e,n,t,{order:0})))})};let ei=b,{deg2rad:ti}=P,{clamp:ni,correctFloat:ri,defined:ii,destroyObjectProperties:ai,extend:oi,fireEvent:si,getAlignFactor:ci,isNumber:li,merge:ui,objectEach:di,pick:fi}=F,pi=class{constructor(e,t,n,r,i){this.isNew=!0,this.isNewLabel=!0,this.axis=e,this.pos=t,this.type=n||``,this.parameters=i||{},this.tickmarkOffset=this.parameters.tickmarkOffset,this.options=this.parameters.options,si(this,`init`),n||r||this.addLabel()}addLabel(){let e=this,t=e.axis,n=t.options,r=t.chart,i=t.categories,a=t.logarithmic,o=t.names,s=e.pos,c=fi(e.options?.labels,n.labels),l=t.tickPositions,u=s===l[0],d=s===l[l.length-1],f=(!c.step||c.step===1)&&t.tickInterval===1,p=l.info,m=e.label,h,g,_,v=this.parameters.category||(i?fi(i[s],o[s],s):s);a&&li(v)&&(v=ri(a.lin2log(v))),t.dateTime&&(p?h=(g=r.time.resolveDTLFormat(n.dateTimeLabelFormats[!n.grid?.enabled&&p.higherRanks[s]||p.unitName])).main:li(v)&&(h=t.dateTime.getXDateFormat(v,n.dateTimeLabelFormats||{}))),e.isFirst=u,e.isLast=d;let y={axis:t,chart:r,dateTimeLabelFormat:h,isFirst:u,isLast:d,pos:s,tick:e,tickPositionInfo:p,value:v};si(this,`labelFormat`,y);let b=e=>c.formatter?c.formatter.call(e,e):c.format?(e.text=t.defaultLabelFormatter.call(e),Kt.format(c.format,e,r)):t.defaultLabelFormatter.call(e),x=b.call(y,y),S=g?.list;S?e.shortenLabel=function(){for(_=0;_<S.length;_++)if(oi(y,{dateTimeLabelFormat:S[_]}),m.attr({text:b.call(y,y)}),m.getBBox().width<t.getSlotWidth(e)-2*(c.padding||0))return;m.attr({text:``})}:e.shortenLabel=void 0,f&&t._addedPlotLB&&e.moveLabel(x,c),ii(m)||e.movedLabel?m&&m.textStr!==x&&!f&&(!m.textWidth||c.style.width||m.styles.width||m.css({width:null}),m.attr({text:x}),m.textPxLength=m.getBBox().width):(e.label=m=e.createLabel(x,c),e.rotation=0)}createLabel(e,t,n){let r=this.axis,{renderer:i,styledMode:a}=r.chart,o=t.style.whiteSpace,s=ii(e)&&t.enabled?i.text(e,n?.x,n?.y,t.useHTML).add(r.labelGroup):void 0;return s&&(a||s.css(ui(t.style)),s.textPxLength=s.getBBox().width,!a&&o&&s.css({whiteSpace:o})),s}destroy(){ai(this,this.axis)}getPosition(e,t,n,r){let i=this.axis,a=i.chart,o=r&&a.oldChartHeight||a.chartHeight,s={x:e?ri(i.translate(t+n,void 0,void 0,r)+i.transB):i.left+i.offset+(i.opposite?(r&&a.oldChartWidth||a.chartWidth)-i.right-i.left:0),y:e?o-i.bottom+i.offset-(i.opposite?i.height:0):ri(o-i.translate(t+n,void 0,void 0,r)-i.transB)};return s.y=ni(s.y,-1e9,1e9),si(this,`afterGetPosition`,{pos:s}),s}getLabelPosition(e,t,n,r,i,a,o,s){let c,l,u=this.axis,d=u.transA,f=u.isLinked&&u.linkedParent?u.linkedParent.reversed:u.reversed,p=u.staggerLines,m=u.tickRotCorr||{x:0,y:0},h=r||u.reserveSpaceDefault?0:-u.labelOffset*(u.labelAlign===`center`?.5:1),g=i.distance,_={};return c=u.side===0?n.rotation?-g:-n.getBBox().height:u.side===2?m.y+g:Math.cos(n.rotation*ti)*(m.y-n.getBBox(!1,0).height/2),ii(i.y)&&(c=u.side===0&&u.horiz?i.y+c:i.y),e=e+fi(i.x,[0,1,0,-1][u.side]*g)+h+m.x-(a&&r?a*d*(f?-1:1):0),t=t+c-(a&&!r?a*d*(f?1:-1):0),p&&(l=o/(s||1)%p,u.opposite&&(l=p-l-1),t+=l*(u.labelOffset/p)),_.x=e,_.y=Math.round(t),si(this,`afterGetLabelPosition`,{pos:_,tickmarkOffset:a,index:o}),_}getLabelSize(){return this.label?this.label.getBBox()[this.axis.horiz?`height`:`width`]:0}getMarkPath(e,t,n,r,i=!1,a){return a.crispLine([[`M`,e,t],[`L`,e+(i?0:-n),t+(i?n:0)]],r)}handleOverflow(e){let t=this.axis,n=t.options.labels,r=e.x,i=t.chart.chartWidth,a=t.chart.spacing,o=fi(t.labelLeft,Math.min(t.pos,a[3])),s=fi(t.labelRight,Math.max(t.isRadial?0:t.pos+t.len,i-a[1])),c=this.label,l=this.rotation,u=ci(t.labelAlign||c.attr(`align`)),d=c.getBBox().width,f=t.getSlotWidth(this),p=f,m=1,h;l||n.overflow!==`justify`?l<0&&r-u*d<o?h=Math.round(r/Math.cos(l*ti)-o):l>0&&r+u*d>s&&(h=Math.round((i-r)/Math.cos(l*ti))):(r-u*d<o?p=e.x+p*(1-u)-o:r+(1-u)*d>s&&(p=s-e.x+p*u,m=-1),(p=Math.min(f,p))<f&&t.labelAlign===`center`&&(e.x+=m*(f-p-u*(f-Math.min(d,p)))),(d>p||t.autoRotation&&c?.styles?.width)&&(h=p)),h&&c&&(this.shortenLabel?this.shortenLabel():c.css(oi({},{width:Math.floor(h)+`px`,lineClamp:+!t.isRadial})))}moveLabel(e,t){let n=this,r=n.label,i=n.axis,a=!1,o;r&&r.textStr===e?(n.movedLabel=r,a=!0,delete n.label):di(i.ticks,function(t){a||t.isNew||t===n||!t.label||t.label.textStr!==e||(n.movedLabel=t.label,a=!0,t.labelPos=n.movedLabel.xy,delete t.label)}),!a&&(n.labelPos||r)&&(o=n.labelPos||r.xy,n.movedLabel=n.createLabel(e,t,o),n.movedLabel&&n.movedLabel.attr({opacity:0}))}render(e,t,n){let r=this.axis,i=r.horiz,a=this.pos,o=fi(this.tickmarkOffset,r.tickmarkOffset),s=this.getPosition(i,a,o,t),c=s.x,l=s.y,u=r.pos,d=u+r.len,f=i?c:l,p=fi(n,this.label?.newOpacity,1);!r.chart.polar&&(ri(f)<u||f>d)&&(n=0),n??=1,this.isActive=!0,this.renderGridLine(t,n),this.renderMark(s,n),this.renderLabel(s,t,p,e),this.isNew=!1,si(this,`afterRender`)}renderGridLine(e,t){let n=this.axis,r=n.options,i={},a=this.pos,o=this.type,s=fi(this.tickmarkOffset,n.tickmarkOffset),c=n.chart.renderer,l=this.gridLine,u,d=r.gridLineWidth,f=r.gridLineColor,p=r.gridLineDashStyle;this.type===`minor`&&(d=r.minorGridLineWidth,f=r.minorGridLineColor,p=r.minorGridLineDashStyle),l||(n.chart.styledMode||(i.stroke=f,i[`stroke-width`]=d||0,i.dashstyle=p),o||(i.zIndex=1),e&&(t=0),this.gridLine=l=c.path().attr(i).addClass(`highcharts-`+(o?o+`-`:``)+`grid-line`).add(n.gridGroup)),l&&(u=n.getPlotLinePath({value:a+s,lineWidth:l.strokeWidth(),force:`pass`,old:e,acrossPanes:!1}))&&l[e||this.isNew?`attr`:`animate`]({d:u,opacity:t})}renderMark(e,t){let n=this.axis,r=n.options,i=n.chart.renderer,a=this.type,o=n.tickSize(a?a+`Tick`:`tick`),s=e.x,c=e.y,l=fi(r[a===`minor`?`minorTickWidth`:`tickWidth`],!a&&n.isXAxis?1:0),u=r[a===`minor`?`minorTickColor`:`tickColor`],d=this.mark,f=!d;o&&(n.opposite&&(o[0]=-o[0]),!d&&(this.mark=d=i.path().addClass(`highcharts-`+(a?a+`-`:``)+`tick`).add(n.axisGroup),n.chart.styledMode||d.attr({stroke:u,"stroke-width":l})),d[f?`attr`:`animate`]({d:this.getMarkPath(s,c,o[0],d.strokeWidth(),n.horiz,i),opacity:t}))}renderLabel(e,t,n,r){let i=this.axis,a=i.horiz,o=i.options,s=this.label,c=o.labels,l=c.step,u=fi(this.tickmarkOffset,i.tickmarkOffset),d=e.x,f=e.y,p=!0;s&&li(d)&&(s.xy=e=this.getLabelPosition(d,f,s,a,c,u,r,l),(!this.isFirst||this.isLast||o.showFirstLabel)&&(!this.isLast||this.isFirst||o.showLastLabel)?!a||c.step||c.rotation||t||n===0||this.handleOverflow(e):p=!1,l&&r%l&&(p=!1),p&&li(e.y)?(e.opacity=n,s[this.isNewLabel?`attr`:`animate`](e).show(!0),this.isNewLabel=!1):(s.hide(),this.isNewLabel=!0))}replaceMovedLabel(){let e=this.label,t=this.axis;e&&!this.isNew&&(e.animate({opacity:0},void 0,e.destroy),delete this.label),t.isDirty=!0,this.label=this.movedLabel,delete this.movedLabel}},{animObject:mi}=B,{xAxis:hi,yAxis:gi}=Yr,{defaultOptions:_i}=Xe,{registerEventOptions:vi}=ei,{deg2rad:yi}=P,{arrayMax:bi,arrayMin:xi,clamp:Si,correctFloat:Ci,defined:U,destroyObjectProperties:wi,erase:Ti,error:Ei,extend:Di,fireEvent:W,getClosestDistance:Oi,insertItem:ki,isArray:Ai,isNumber:G,isString:ji,merge:Mi,normalizeTickInterval:Ni,objectEach:Pi,pick:K,relativeLength:Fi,removeEvent:Ii,splat:Li,syncTimeout:Ri}=F,zi=(e,t)=>Ni(t,void 0,void 0,K(e.options.allowDecimals,t<.5||e.tickAmount!==void 0),!!e.tickAmount);Di(_i,{xAxis:hi,yAxis:Mi(hi,gi)});class Bi{constructor(e,t,n){this.init(e,t,n)}init(e,t,n=this.coll){let r=n===`xAxis`,i=this.isZAxis||(e.inverted?!r:r);this.chart=e,this.horiz=i,this.isXAxis=r,this.coll=n,W(this,`init`,{userOptions:t}),this.opposite=K(t.opposite,this.opposite),this.side=K(t.side,this.side,i?2*!this.opposite:this.opposite?1:3),this.setOptions(t);let a=this.options,o=a.labels;this.type??=a.type||`linear`,this.uniqueNames??=a.uniqueNames??!0,W(this,`afterSetType`),this.userOptions=t,this.minPixelPadding=0,this.reversed=K(a.reversed,this.reversed),this.visible=a.visible,this.zoomEnabled=a.zoomEnabled,this.hasNames=this.type===`category`||!0===a.categories,this.categories=Ai(a.categories)&&a.categories||(this.hasNames?[]:void 0),this.names||(this.names=[],this.names.keys={}),this.plotLinesAndBandsGroups={},this.positiveValuesOnly=!!this.logarithmic,this.isLinked=U(a.linkedTo),this.ticks={},this.labelEdge=[],this.minorTicks={},this.plotLinesAndBands=[],this.alternateBands={},this.len??=0,this.minRange=this.userMinRange=a.minRange||a.maxZoom,this.range=a.range,this.offset=a.offset||0,this.max=void 0,this.min=void 0;let s=K(a.crosshair,Li(e.options.tooltip.crosshairs)[+!r]);this.crosshair=!0===s?{}:s,e.axes.indexOf(this)===-1&&(r?e.axes.splice(e.xAxis.length,0,this):e.axes.push(this),ki(this,e[this.coll])),e.orderItems(this.coll),this.series=this.series||[],e.inverted&&!this.isZAxis&&r&&!U(this.reversed)&&(this.reversed=!0),this.labelRotation=G(o.rotation)?o.rotation:void 0,vi(this,a),W(this,`afterInit`)}setOptions(e){this.options=Mi(this.horiz?{labels:{autoRotation:[-45],padding:3},margin:15}:{labels:{padding:1},title:{rotation:90*this.side}},this.coll===`yAxis`?{title:{text:this.chart.options.lang.yAxisTitle}}:{},_i[this.coll],e),W(this,`afterSetOptions`,{userOptions:e})}defaultLabelFormatter(){let e=this.axis,{numberFormatter:t}=this.chart,n=G(this.value)?this.value:NaN,r=e.chart.time,i=e.categories,a=this.dateTimeLabelFormat,o=_i.lang,s=o.numericSymbols,c=o.numericSymbolMagnitude||1e3,l=e.logarithmic?Math.abs(n):e.tickInterval,u=s?.length,d,f;if(i)f=`${this.value}`;else if(a)f=r.dateFormat(a,n,!0);else if(u&&s&&l>=1e3)for(;u--&&f===void 0;)l>=(d=c**+(u+1))&&10*n%d==0&&s[u]!==null&&n!==0&&(f=t(n/d,-1)+s[u]);return f===void 0&&(f=Math.abs(n)>=1e4?t(n,-1):t(n,-1,void 0,``)),f}getSeriesExtremes(){let e,t=this;W(this,`getSeriesExtremes`,null,function(){t.hasVisibleSeries=!1,t.dataMin=t.dataMax=t.threshold=void 0,t.softThreshold=!t.isXAxis,t.series.forEach(n=>{if(n.reserveSpace()){let r=n.options,i,a=r.threshold,o,s;if(t.hasVisibleSeries=!0,t.positiveValuesOnly&&0>=(a||0)&&(a=void 0),t.isXAxis)(i=n.getColumn(`x`)).length&&(i=t.logarithmic?i.filter(e=>e>0):i,o=(e=n.getXExtremes(i)).min,s=e.max,G(o)||o instanceof Date||(i=i.filter(G),o=(e=n.getXExtremes(i)).min,s=e.max),i.length&&(t.dataMin=Math.min(K(t.dataMin,o),o),t.dataMax=Math.max(K(t.dataMax,s),s)));else{let e=n.applyExtremes();G(e.dataMin)&&(o=e.dataMin,t.dataMin=Math.min(K(t.dataMin,o),o)),G(e.dataMax)&&(s=e.dataMax,t.dataMax=Math.max(K(t.dataMax,s),s)),U(a)&&(t.threshold=a),(!r.softThreshold||t.positiveValuesOnly)&&(t.softThreshold=!1)}}})}),W(this,`afterGetSeriesExtremes`)}translate(e,t,n,r,i,a){let o=this.linkedParent||this,s=r&&o.old?o.old.min:o.min;if(!G(s))return NaN;let c=o.minPixelPadding,l=(o.isOrdinal||o.brokenAxis?.hasBreaks||o.logarithmic&&i)&&!!o.lin2val,u=1,d=0,f=r&&o.old?o.old.transA:o.transA,p=0;return f||=o.transA,n&&(u*=-1,d=o.len),o.reversed&&(u*=-1,d-=u*(o.sector||o.len)),t?(p=(e=e*u+d-c)/f+s,l&&(p=o.lin2val(p))):(l&&(e=o.val2lin(e)),p=u*(e-s)*f+d+u*c+(G(a)?f*a:0),o.isRadial||(p=Ci(p))),p}toPixels(e,t){return this.translate(this.chart?.time.parse(e)??NaN,!1,!this.horiz,void 0,!0)+(t?0:this.pos)}toValue(e,t){return this.translate(e-(t?0:this.pos),!0,!this.horiz,void 0,!0)}getPlotLinePath(e){let t=this,n=t.chart,r=t.left,i=t.top,a=e.old,o=e.value,s=e.lineWidth,c=a&&n.oldChartHeight||n.chartHeight,l=a&&n.oldChartWidth||n.chartWidth,u=t.transB,d=e.translatedValue,f=e.force,p,m,h,g,_;function v(e,t,n){return f!==`pass`&&(e<t||e>n)&&(f?e=Si(e,t,n):_=!0),e}let y={value:o,lineWidth:s,old:a,force:f,acrossPanes:e.acrossPanes,translatedValue:d};return W(this,`getPlotLinePath`,y,function(e){p=h=(d=Si(d=K(d,t.translate(o,void 0,void 0,a)),-1e9,1e9))+u,m=g=c-d-u,G(d)?t.horiz?(m=i,g=c-t.bottom+(t.options.isInternal?0:n.scrollablePixelsY||0),p=h=v(p,r,r+t.width)):(p=r,h=l-t.right+(n.scrollablePixelsX||0),m=g=v(m,i,i+t.height)):(_=!0,f=!1),e.path=_&&!f?void 0:n.renderer.crispLine([[`M`,p,m],[`L`,h,g]],s||1)}),y.path}getLinearTickPositions(e,t,n){let r,i,a,o=Ci(Math.floor(t/e)*e),s=Ci(Math.ceil(n/e)*e),c=[];if(Ci(o+e)===o&&(a=20),this.single)return[t];for(r=o;r<=s&&(c.push(r),(r=Ci(r+e,a))!==i);)i=r;return c}getMinorTickInterval(){let{minorTicks:e,minorTickInterval:t}=this.options;return!0===e?K(t,`auto`):!1===e?void 0:t}getMinorTickPositions(){let e=this.options,t=this.tickPositions,n=this.minorTickInterval,r=this.pointRangePadding||0,i=(this.min||0)-r,a=(this.max||0)+r,o=this.brokenAxis?.hasBreaks?this.brokenAxis.unitLength:a-i,s=[],c;if(o&&o/n<this.len/3){let r=this.logarithmic;if(r)this.paddedTicks.forEach(function(e,t,i){t&&s.push.apply(s,r.getLogTickPositions(n,i[t-1],i[t],!0))});else if(this.dateTime&&this.getMinorTickInterval()===`auto`)s=s.concat(this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(n),i,a,e.startOfWeek));else for(c=i+(t[0]-i)%n;c<=a&&c!==s[0];c+=n)s.push(c)}return s.length!==0&&this.trimTicks(s),s}adjustForMinRange(){let e=this.options,t=this.logarithmic,n=this.chart.time,{max:r,min:i,minRange:a}=this,o,s,c,l;this.isXAxis&&a===void 0&&!t&&(a=U(e.min)||U(e.max)||U(e.floor)||U(e.ceiling)?null:Math.min(5*(Oi(this.series.map(e=>{let t=e.getColumn(`x`);return e.xIncrement?t.slice(0,2):t}))||0),this.dataMax-this.dataMin)),G(r)&&G(i)&&G(a)&&r-i<a&&(s=this.dataMax-this.dataMin>=a,o=(a-r+i)/2,c=[i-o,n.parse(e.min)??i-o],s&&(c[2]=t?t.log2lin(this.dataMin):this.dataMin),l=[(i=bi(c))+a,n.parse(e.max)??i+a],s&&(l[2]=t?t.log2lin(this.dataMax):this.dataMax),(r=xi(l))-i<a&&(c[0]=r-a,c[1]=n.parse(e.min)??r-a,i=bi(c))),this.minRange=a,this.min=i,this.max=r}getClosest(){let e,t;if(this.categories)t=1;else{let n=[];this.series.forEach(function(e){let r=e.closestPointRange,i=e.getColumn(`x`);i.length===1?n.push(i[0]):e.sorted&&U(r)&&e.reserveSpace()&&(t=U(t)?Math.min(t,r):r)}),n.length&&(n.sort((e,t)=>e-t),e=Oi([n]))}return e&&t?Math.min(e,t):e||t}nameToX(e){let t=Ai(this.options.categories),n=t?this.categories:this.names,r=e.options.x,i;return e.series.requireSorting=!1,U(r)||(r=this.uniqueNames&&n?t?n.indexOf(e.name):K(n.keys[e.name],-1):e.series.autoIncrement()),r===-1?!t&&n&&(i=n.length):G(r)&&(i=r),i===void 0?e.x&&(i=e.x):(this.names[i]=e.name,this.names.keys[e.name]=i),i}updateNames(){let e=this,t=this.names;t.length>0&&(Object.keys(t.keys).forEach(function(e){delete t.keys[e]}),t.length=0,this.minRange=this.userMinRange,(this.series||[]).forEach(t=>{t.xIncrement=null,(!t.points||t.isDirtyData)&&(e.max=Math.max(e.max||0,t.dataTable.rowCount-1),t.processData(),t.generatePoints());let n=t.getColumn(`x`).slice();t.data.forEach((t,r)=>{let i=n[r];t?.options&&t.name!==void 0&&(i=e.nameToX(t))!==void 0&&i!==t.x&&(n[r]=t.x=i)}),t.dataTable.setColumn(`x`,n)}))}setAxisTranslation(){let e=this,t=e.max-e.min,n=e.linkedParent,r=!!e.categories,i=e.isXAxis,a=e.axisPointRange||0,o,s=0,c=0,l,u=e.transA;(i||r||a)&&(o=e.getClosest(),n?(s=n.minPointOffset,c=n.pointRangePadding):e.series.forEach(function(t){let n=r?1:i?K(t.options.pointRange,o,0):e.axisPointRange||0,l=t.options.pointPlacement;if(a=Math.max(a,n),!e.single||r){let e=t.is(`xrange`)?!i:i;s=Math.max(s,e&&ji(l)?0:n/2),c=Math.max(c,e&&l===`on`?0:n)}}),l=e.ordinal?.slope&&o?e.ordinal.slope/o:1,e.minPointOffset=s*=l,e.pointRangePadding=c*=l,e.pointRange=Math.min(a,e.single&&r?1:t),i&&(e.closestPointRange=o)),e.translationSlope=e.transA=u=e.staticScale||e.len/(t+c||1),e.transB=e.horiz?e.left:e.bottom,e.minPixelPadding=u*s,W(this,`afterSetAxisTranslation`)}minFromRange(){let{max:e,min:t}=this;return G(e)&&G(t)&&e-t||void 0}setTickInterval(e){let{categories:t,chart:n,dataMax:r,dataMin:i,dateTime:a,isXAxis:o,logarithmic:s,options:c,softThreshold:l}=this,u=n.time,d=G(this.threshold)?this.threshold:void 0,f=this.minRange||0,{ceiling:p,floor:m,linkedTo:h,softMax:g,softMin:_}=c,v=G(h)&&n[this.coll]?.[h],y=c.tickPixelInterval,b=c.maxPadding,x=c.minPadding,S=0,C,w=G(c.tickInterval)&&c.tickInterval>=0?c.tickInterval:void 0,T,E,D,O;if(a||t||v||this.getTickAmount(),D=K(this.userMin,u.parse(c.min)),O=K(this.userMax,u.parse(c.max)),v?(this.linkedParent=v,C=v.getExtremes(),this.min=K(C.min,C.dataMin),this.max=K(C.max,C.dataMax),this.type!==v.type&&Ei(11,!0,n)):(l&&U(d)&&G(r)&&G(i)&&(i>=d?(T=d,x=0):r<=d&&(E=d,b=0)),this.min=K(D,T,i),this.max=K(O,E,r)),G(this.max)&&G(this.min)&&(s&&(this.positiveValuesOnly&&!e&&0>=Math.min(this.min,K(i,this.min))&&Ei(10,!0,n),this.min=Ci(s.log2lin(this.min),16),this.max=Ci(s.log2lin(this.max),16)),this.range&&G(i)&&(this.userMin=this.min=D=Math.max(i,this.minFromRange()||0),this.userMax=O=this.max,this.range=void 0)),W(this,`foundExtremes`),this.adjustForMinRange(),G(this.min)&&G(this.max)){if(!G(this.userMin)&&G(_)&&_<this.min&&(this.min=D=_),!G(this.userMax)&&G(g)&&g>this.max&&(this.max=O=g),t||this.axisPointRange||this.stacking?.usePercentage||v||(S=this.max-this.min)&&(!U(D)&&x&&(this.min-=S*x),!U(O)&&b&&(this.max+=S*b)),!G(this.userMin)&&G(m)&&(this.min=Math.max(this.min,m)),!G(this.userMax)&&G(p)&&(this.max=Math.min(this.max,p)),l&&G(i)&&G(r)){let e=d||0;!U(D)&&this.min<e&&i>=e?this.min=c.minRange?Math.min(e,this.max-f):e:!U(O)&&this.max>e&&r<=e&&(this.max=c.minRange?Math.max(e,this.min+f):e)}!n.polar&&this.min>this.max&&(U(c.min)?this.max=this.min:U(c.max)&&(this.min=this.max)),S=this.max-this.min}if(this.min!==this.max&&G(this.min)&&G(this.max)?v&&!w&&y===v.options.tickPixelInterval?this.tickInterval=w=v.tickInterval:this.tickInterval=K(w,this.tickAmount?S/Math.max(this.tickAmount-1,1):void 0,t?1:S*y/Math.max(this.len,y)):this.tickInterval=1,o&&!e){let e=this.min!==this.old?.min||this.max!==this.old?.max;this.series.forEach(function(t){t.forceCrop=t.forceCropping?.(),t.processData(e)}),W(this,`postProcessData`,{hasExtremesChanged:e})}this.setAxisTranslation(),W(this,`initialAxisTranslation`),this.pointRange&&!w&&(this.tickInterval=Math.max(this.pointRange,this.tickInterval));let k=K(c.minTickInterval,a&&!this.series.some(e=>!e.sorted)?this.closestPointRange:0);!w&&k&&this.tickInterval<k&&(this.tickInterval=k),a||s||w||(this.tickInterval=zi(this,this.tickInterval)),this.tickAmount||(this.tickInterval=this.unsquish()),this.setTickPositions()}setTickPositions(){let e=this.options,t=e.tickPositions,n=e.tickPositioner,r=this.getMinorTickInterval(),i=!this.isPanning,a=i&&e.startOnTick,o=i&&e.endOnTick,s=[],c;if(this.tickmarkOffset=this.categories&&e.tickmarkPlacement===`between`&&this.tickInterval===1?.5:0,this.single=this.min===this.max&&U(this.min)&&!this.tickAmount&&(this.min%1==0||!1!==e.allowDecimals),t)s=t.slice();else if(G(this.min)&&G(this.max)){if(!this.ordinal?.positions&&(this.max-this.min)/this.tickInterval>Math.max(2*this.len,200))s=[this.min,this.max],Ei(19,!1,this.chart);else if(this.dateTime)s=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)s=this.logarithmic.getLogTickPositions(this.tickInterval,this.min,this.max);else{let e=this.tickInterval,t=e;for(;t<=2*e&&(s=this.getLinearTickPositions(this.tickInterval,this.min,this.max),this.tickAmount&&s.length>this.tickAmount);)this.tickInterval=zi(this,t*=1.1)}s.length>this.len&&(s=[s[0],s[s.length-1]])[0]===s[1]&&(s.length=1),n&&(this.tickPositions=s,(c=n.apply(this,[this.min,this.max]))&&(s=c))}this.tickPositions=s,this.minorTickInterval=r===`auto`&&this.tickInterval?this.tickInterval/e.minorTicksPerMajor:r,this.paddedTicks=s.slice(0),this.trimTicks(s,a,o),!this.isLinked&&G(this.min)&&G(this.max)&&(this.single&&s.length<2&&!this.categories&&!this.series.some(e=>e.is(`heatmap`)&&e.options.pointPlacement===`between`)&&(this.min-=.5,this.max+=.5),t||c||this.adjustTickAmount()),W(this,`afterSetTickPositions`)}trimTicks(e,t,n){let r=e[0],i=e[e.length-1],a=!this.isOrdinal&&this.minPointOffset||0;if(W(this,`trimTicks`),!this.isLinked||!this.grid){if(t&&r!==-1/0)this.min=r;else for(;this.min-a>e[0];)e.shift();if(n)this.max=i;else for(;this.max+a<e[e.length-1];)e.pop();e.length===0&&U(r)&&!this.options.tickPositions&&e.push((i+r)/2)}}alignToOthers(){let e,t=this,n=t.chart,r=[this],i=t.options,a=n.options.chart,o=this.coll===`yAxis`&&a.alignThresholds,s=[];if(t.thresholdAlignment=void 0,(!1!==a.alignTicks&&i.alignTicks||o)&&!1!==i.startOnTick&&!1!==i.endOnTick&&!t.logarithmic){let i=e=>{let{horiz:t,options:n}=e;return[t?n.left:n.top,n.width,n.height,n.pane].join(`,`)},a=i(this);n[this.coll].forEach(function(n){let{series:o}=n;o.length&&o.some(e=>e.visible)&&n!==t&&i(n)===a&&(e=!0,r.push(n))})}if(e&&o){r.forEach(e=>{let n=e.getThresholdAlignment(t);G(n)&&s.push(n)});let e=s.length>1?s.reduce((e,t)=>e+=t,0)/s.length:void 0;r.forEach(t=>{t.thresholdAlignment=e})}return e}getThresholdAlignment(e){if((!G(this.dataMin)||this!==e&&this.series.some(e=>e.isDirty||e.isDirtyData||e.xAxis?.isDirty))&&this.getSeriesExtremes(),G(this.threshold)){let e=Si((this.threshold-(this.dataMin||0))/((this.dataMax||0)-(this.dataMin||0)),0,1);return this.options.reversed&&(e=1-e),e}}getTickAmount(){let e=this.options,t=e.tickPixelInterval,n=e.tickAmount;U(e.tickInterval)||n||!(this.len<t)||this.isRadial||this.logarithmic||!e.startOnTick||!e.endOnTick||(n=2),!n&&this.alignToOthers()&&(n=Math.ceil(this.len/t)+1),n<4&&(this.finalTickAmt=n,n=5),this.tickAmount=n}adjustTickAmount(){let e=this,{finalTickAmt:t,max:n,min:r,options:i,tickPositions:a,tickAmount:o,thresholdAlignment:s}=e,c=a?.length,l=K(e.threshold,e.softThreshold?0:null),u,d,f=e.tickInterval,p,m=()=>a.push(Ci(a[a.length-1]+f)),h=()=>a.unshift(Ci(a[0]-f));if(G(s)&&(p=s===0?0:s===1?o-1:Math.round(Si(s*(o-1),1,o-2)),i.reversed&&(p=o-1-p)),e.hasData()&&G(r)&&G(n)){let s=()=>{e.transA*=(c-1)/(o-1),e.min=i.startOnTick?a[0]:Math.min(r,a[0]),e.max=i.endOnTick?a[a.length-1]:Math.max(n,a[a.length-1])};if(G(p)&&G(e.threshold)){for(;a[p]!==l||a.length!==o||a[0]>r||a[a.length-1]<n;){for(a.length=0,a.push(e.threshold);a.length<o;)a[p]===void 0||a[p]>e.threshold?h():m();if(f>8*e.tickInterval)break;f*=2}s()}else if(c<o){for(;a.length<o;)a.length%2||r===l?m():h();s()}if(U(t)){for(d=u=a.length;d--;)(t===3&&d%2==1||t<=2&&d>0&&d<u-1)&&a.splice(d,1);e.finalTickAmt=void 0}}}setScale(){let{coll:e,stacking:t}=this,n=!1,r=!1;this.series.forEach(e=>{n=n||e.isDirtyData||e.isDirty,r=r||e.xAxis?.isDirty||!1}),this.setAxisSize();let i=this.len!==this.old?.len;i||n||r||this.isLinked||this.forceRedraw||this.userMin!==this.old?.userMin||this.userMax!==this.old?.userMax||this.alignToOthers()?(t&&e===`yAxis`&&t.buildStacks(),this.forceRedraw=!1,this.userMinRange||(this.minRange=void 0),this.getSeriesExtremes(),this.setTickInterval(),t&&e===`xAxis`&&t.buildStacks(),this.isDirty||=i||this.min!==this.old?.min||this.max!==this.old?.max):t&&t.cleanStacks(),n&&delete this.allExtremes,W(this,`afterSetScale`)}setExtremes(e,t,n=!0,r,i){let a=this.chart;this.series.forEach(e=>{delete e.kdTree}),e=a.time.parse(e),t=a.time.parse(t),W(this,`setExtremes`,i=Di(i,{min:e,max:t}),e=>{this.userMin=e.min,this.userMax=e.max,this.eventArgs=e,n&&a.redraw(r)})}setAxisSize(){let e=this.chart,t=this.options,n=t.offsets||[0,0,0,0],r=this.horiz,i=this.width=Math.round(Fi(K(t.width,e.plotWidth-n[3]+n[1]),e.plotWidth)),a=this.height=Math.round(Fi(K(t.height,e.plotHeight-n[0]+n[2]),e.plotHeight)),o=this.top=Math.round(Fi(K(t.top,e.plotTop+n[0]),e.plotHeight,e.plotTop)),s=this.left=Math.round(Fi(K(t.left,e.plotLeft+n[3]),e.plotWidth,e.plotLeft));this.bottom=e.chartHeight-a-o,this.right=e.chartWidth-i-s,this.len=Math.max(r?i:a,0),this.pos=r?s:o}getExtremes(){let e=this.logarithmic;return{min:e?Ci(e.lin2log(this.min)):this.min,max:e?Ci(e.lin2log(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}}getThreshold(e){let t=this.logarithmic,n=t?t.lin2log(this.min):this.min,r=t?t.lin2log(this.max):this.max;return e===null||e===-1/0?e=n:e===1/0?e=r:n>e?e=n:r<e&&(e=r),this.translate(e,0,1,0,1)}autoLabelAlign(e){let t=((e-90*this.side)%360+360)%360,n={align:`center`};return W(this,`autoLabelAlign`,n,function(e){t>15&&t<165?e.align=`right`:t>195&&t<345&&(e.align=`left`)}),n.align}tickSize(e){let t=this.options,n=K(t[e===`tick`?`tickWidth`:`minorTickWidth`],e===`tick`&&this.isXAxis&&!this.categories?1:0),r=t[e===`tick`?`tickLength`:`minorTickLength`],i;n&&r&&(t[e+`Position`]===`inside`&&(r=-r),i=[r,n]);let a={tickSize:i};return W(this,`afterTickSize`,a),a.tickSize}labelMetrics(){let e=this.chart.renderer,t=this.ticks,n=t[Object.keys(t)[0]]||{};return this.chart.renderer.fontMetrics(n.label||n.movedLabel||e.box)}unsquish(){let e=this.options.labels,t=e.padding||0,n=this.horiz,r=this.tickInterval,i=this.len/((+!!this.categories+this.max-this.min)/r),a=e.rotation,o=Ci(.8*this.labelMetrics().h),s=Math.max(this.max-this.min,0),c=function(e){let n=(e+2*t)/(i||1);return(n=n>1?Math.ceil(n):1)*r>s&&e!==1/0&&i!==1/0&&s&&(n=Math.ceil(s/r)),Ci(n*r)},l=r,u,d=Number.MAX_VALUE,f;if(n){if(!e.staggerLines&&(G(a)?f=[a]:i<e.autoRotationLimit&&(f=e.autoRotation)),f){let e,t;for(let n of f)(n===a||n&&n>=-90&&n<=90)&&(t=(e=c(Math.abs(o/Math.sin(yi*n))))+Math.abs(n/360))<d&&(d=t,u=n,l=e)}}else l=c(.75*o);return this.autoRotation=f,this.labelRotation=K(u,G(a)?a:0),e.step?r:l}getSlotWidth(e){let t=this.chart,n=this.horiz,r=this.options.labels,i=Math.max(this.tickPositions.length-!this.categories,1),a=t.margin[3];if(e&&G(e.slotWidth))return e.slotWidth;if(n&&r.step<2&&!this.isRadial)return r.rotation?0:(this.staggerLines||1)*this.len/i;if(!n){let e=r.style.width;if(e!==void 0)return parseInt(String(e),10);if(!this.opposite&&a)return a-t.spacing[3]}return .33*t.chartWidth}renderUnsquish(){let e=this.chart,t=e.renderer,n=this.tickPositions,r=this.ticks,i=this.options.labels,a=i.style,o=this.horiz,s=this.getSlotWidth(),c=Math.max(1,Math.round(s-(o?2*(i.padding||0):i.distance||0))),l={},u=this.labelMetrics(),d=a.lineClamp,f,p=d??(Math.floor(this.len/(n.length*u.h))||1),m=0;ji(i.rotation)||(l.rotation=i.rotation||0),n.forEach(function(e){let t=r[e];t.movedLabel&&t.replaceMovedLabel();let n=t.label?.textPxLength||0;n>m&&(m=n)}),this.maxLabelLength=m,this.autoRotation?m>c&&m>u.h?l.rotation=this.labelRotation:this.labelRotation=0:s&&(f=c),l.rotation&&(f=m>.5*e.chartHeight?.33*e.chartHeight:m,d||(p=1)),this.labelAlign=i.align||this.autoLabelAlign(this.labelRotation||0),this.labelAlign&&(l.align=this.labelAlign),n.forEach(function(e){let t=r[e],n=t?.label,i=a.width,o={};n&&(n.attr(l),t.shortenLabel?t.shortenLabel():f&&!i&&a.whiteSpace!==`nowrap`&&(f<(n.textPxLength||0)||n.element.tagName===`SPAN`)?n.css(Di(o,{width:`${f}px`,lineClamp:p})):!n.styles.width||o.width||i||n.css({width:`auto`}),t.rotation=l.rotation)},this),this.tickRotCorr=t.rotCorr(u.b,this.labelRotation||0,this.side!==0)}hasData(){return this.series.some(function(e){return e.hasData()})||this.options.showEmpty&&U(this.min)&&U(this.max)}addTitle(e){let t,n=this.chart.renderer,r=this.horiz,i=this.opposite,a=this.options.title,o=this.chart.styledMode;this.axisTitle||((t=a.textAlign)||(t=(r?{low:`left`,middle:`center`,high:`right`}:{low:i?`right`:`left`,middle:`center`,high:i?`left`:`right`})[a.align]),this.axisTitle=n.text(a.text||``,0,0,a.useHTML).attr({zIndex:7,rotation:a.rotation||0,align:t}).addClass(`highcharts-axis-title`),o||this.axisTitle.css(Mi(a.style)),this.axisTitle.add(this.axisGroup),this.axisTitle.isNew=!0),o||a.style.width||this.isRadial||this.axisTitle.css({width:this.len+`px`}),this.axisTitle[e?`show`:`hide`](e)}generateTick(e){let t=this.ticks;t[e]?t[e].addLabel():t[e]=new pi(this,e)}createGroups(){let{axisParent:e,chart:t,coll:n,options:r}=this,i=t.renderer,a=(t,a,o)=>i.g(t).attr({zIndex:o}).addClass(`highcharts-${n.toLowerCase()}${a} `+(this.isRadial?`highcharts-radial-axis${a} `:``)+(r.className||``)).add(e);this.axisGroup||(this.gridGroup=a(`grid`,`-grid`,r.gridZIndex),this.axisGroup=a(`axis`,``,r.zIndex),this.labelGroup=a(`axis-labels`,`-labels`,r.labels.zIndex))}getOffset(){let e=this,{chart:t,horiz:n,options:r,side:i,ticks:a,tickPositions:o,coll:s}=e,c=t.inverted&&!e.isZAxis?[1,0,3,2][i]:i,l=e.hasData(),u=r.title,d=r.labels,f=G(r.crossing),p=t.axisOffset,m=t.clipOffset,h=[-1,1,1,-1][i],g,_=0,v,y=0,b=0,x,S;if(e.showAxis=g=l||r.showEmpty,e.staggerLines=e.horiz&&d.staggerLines||void 0,e.createGroups(),l||e.isLinked?(o.forEach(function(t){e.generateTick(t)}),e.renderUnsquish(),e.reserveSpaceDefault=i===0||i===2||{1:`left`,3:`right`}[i]===e.labelAlign,K(d.reserveSpace,!f&&null,e.labelAlign===`center`||null,e.reserveSpaceDefault)&&o.forEach(function(e){b=Math.max(a[e].getLabelSize(),b)}),e.staggerLines&&(b*=e.staggerLines),e.labelOffset=b*(e.opposite?-1:1)):Pi(a,function(e,t){e.destroy(),delete a[t]}),u?.text&&!1!==u.enabled&&(e.addTitle(g),g&&!f&&!1!==u.reserveSpace&&(e.titleOffset=_=e.axisTitle.getBBox()[n?`height`:`width`],y=U(v=u.offset)?0:K(u.margin,n?5:10))),e.renderLine(),e.offset=h*K(r.offset,p[i]?p[i]+(r.margin||0):0),e.tickRotCorr=e.tickRotCorr||{x:0,y:0},S=i===0?-e.labelMetrics().h:i===2?e.tickRotCorr.y:0,x=Math.abs(b)+y,b&&(x-=S,x+=h*(n?K(d.y,e.tickRotCorr.y+h*d.distance):K(d.x,h*d.distance))),e.axisTitleMargin=K(v,x),e.getMaxLabelDimensions&&(e.maxLabelDimensions=e.getMaxLabelDimensions(a,o)),s!==`colorAxis`&&m){let t=this.tickSize(`tick`);p[i]=Math.max(p[i],(e.axisTitleMargin||0)+_+h*e.offset,x,o?.length&&t?t[0]+h*e.offset:0);let n=!e.axisLine||r.offset?0:e.axisLine.strokeWidth()/2;m[c]=Math.max(m[c],n)}W(this,`afterGetOffset`)}getLinePath(e){let t=this.chart,n=this.opposite,r=this.offset,i=this.horiz,a=this.left+(n?this.width:0)+r,o=t.chartHeight-this.bottom-(n?this.height:0)+r;return n&&(e*=-1),t.renderer.crispLine([[`M`,i?this.left:a,i?o:this.top],[`L`,i?t.chartWidth-this.right:a,i?o:t.chartHeight-this.bottom]],e)}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(e){let t=this.horiz,n=this.left,r=this.top,i=this.len,a=this.options.title,o=t?n:r,s=this.opposite,c=this.offset,l=a.x,u=a.y,d=this.chart.renderer.fontMetrics(e),f=e?Math.max(e.getBBox(!1,0).height-d.h-1,0):0,p={low:o+(t?0:i),middle:o+i/2,high:o+(t?i:0)}[a.align],m=(t?r+this.height:n)+(t?1:-1)*(s?-1:1)*(this.axisTitleMargin||0)+[-f,f,d.f,-f][this.side],h={x:t?p+l:m+(s?this.width:0)+c+l,y:t?m+u-(s?this.height:0)+c:p+u};return W(this,`afterGetTitlePosition`,{titlePosition:h}),h}renderMinorTick(e,t){let n=this.minorTicks;n[e]||(n[e]=new pi(this,e,`minor`)),t&&n[e].isNew&&n[e].render(null,!0),n[e].render(null,!1,1)}renderTick(e,t,n){let r=this.isLinked,i=this.ticks;(!r||e>=this.min&&e<=this.max||this.grid?.isColumn)&&(i[e]||(i[e]=new pi(this,e)),n&&i[e].isNew&&i[e].render(t,!0,-1),i[e].render(t))}render(){let e,t,n=this,r=n.chart,i=n.logarithmic,a=r.renderer,o=n.options,s=n.isLinked,c=n.tickPositions,l=n.axisTitle,u=n.ticks,d=n.minorTicks,f=n.alternateBands,p=o.stackLabels,m=o.alternateGridColor,h=o.crossing,g=n.tickmarkOffset,_=n.axisLine,v=n.showAxis,y=mi(a.globalAnimation);if(n.labelEdge.length=0,n.overlap=!1,[u,d,f].forEach(function(e){Pi(e,function(e){e.isActive=!1})}),G(h)){let e=this.isXAxis?r.yAxis[0]:r.xAxis[0],t=[1,-1,-1,1][this.side];if(e){let r=e.toPixels(h,!0);n.horiz&&(r=e.len-r),n.offset=t*r}}if(n.hasData()||s){let a=n.chart.hasRendered&&n.old&&G(n.old.min);n.minorTickInterval&&!n.categories&&n.getMinorTickPositions().forEach(function(e){n.renderMinorTick(e,a)}),c.length&&(c.forEach(function(e,t){n.renderTick(e,t,a)}),g&&(n.min===0||n.single)&&(u[-1]||=new pi(n,-1,null,!0),u[-1].render(-1))),m&&c.forEach(function(a,o){t=c[o+1]===void 0?n.max-g:c[o+1]+g,o%2==0&&a<n.max&&t<=n.max+(r.polar?-g:g)&&(f[a]||(f[a]=new P.PlotLineOrBand(n,{})),e=a+g,f[a].options={from:i?i.lin2log(e):e,to:i?i.lin2log(t):t,color:m,className:`highcharts-alternate-grid`},f[a].render(),f[a].isActive=!0)}),n._addedPlotLB||(n._addedPlotLB=!0,(o.plotLines||[]).concat(o.plotBands||[]).forEach(function(e){n.addPlotBandOrLine(e)}))}[u,d,f].forEach(function(e){let t=[],n=y.duration;Pi(e,function(e,n){e.isActive||(e.render(n,!1,0),e.isActive=!1,t.push(n))}),Ri(function(){let n=t.length;for(;n--;)e[t[n]]&&!e[t[n]].isActive&&(e[t[n]].destroy(),delete e[t[n]])},e!==f&&r.hasRendered&&n?n:0)}),_&&(_[_.isPlaced?`animate`:`attr`]({d:this.getLinePath(_.strokeWidth())}),_.isPlaced=!0,_[v?`show`:`hide`](v)),l&&v&&(l[l.isNew?`attr`:`animate`](n.getTitlePosition(l)),l.isNew=!1),p?.enabled&&n.stacking&&n.stacking.renderStackTotals(),n.old={len:n.len,max:n.max,min:n.min,transA:n.transA,userMax:n.userMax,userMin:n.userMin},n.isDirty=!1,W(this,`afterRender`)}redraw(){this.visible&&(this.render(),this.plotLinesAndBands.forEach(function(e){e.render()})),this.series.forEach(function(e){e.isDirty=!0})}getKeepProps(){return this.keepProps||Bi.keepProps}destroy(e){let t=this,n=t.plotLinesAndBands,r=this.eventOptions;if(W(this,`destroy`,{keepEvents:e}),e||Ii(t),[t.ticks,t.minorTicks,t.alternateBands].forEach(function(e){wi(e)}),n){let e=n.length;for(;e--;)n[e].destroy()}for(let e in[`axisLine`,`axisTitle`,`axisGroup`,`gridGroup`,`labelGroup`,`cross`,`scrollbar`].forEach(function(e){t[e]&&(t[e]=t[e].destroy())}),t.plotLinesAndBandsGroups)t.plotLinesAndBandsGroups[e]=t.plotLinesAndBandsGroups[e].destroy();Pi(t,function(e,n){t.getKeepProps().indexOf(n)===-1&&delete t[n]}),this.eventOptions=r}drawCrosshair(e,t){let n=this.crosshair,r=n?.snap??!0,i=this.chart,a,o,s,c=this.cross,l;if(W(this,`drawCrosshair`,{e,point:t}),e||=this.cross?.e,n&&!1!==(U(t)||!r)){if(r?U(t)&&(o=K(this.coll===`colorAxis`?null:t.crosshairPos,this.isXAxis?t.plotX:this.len-t.plotY)):o=e&&(this.horiz?e.chartX-this.pos:this.len-e.chartY+this.pos),U(o)&&(l={value:t&&(this.isXAxis?t.x:K(t.stackY,t.y)),translatedValue:o},i.polar&&Di(l,{isCrosshair:!0,chartX:e?.chartX,chartY:e?.chartY,point:t}),a=this.getPlotLinePath(l)||null),!U(a))return void this.hideCrosshair();s=this.categories&&!this.isRadial,c||(this.cross=c=i.renderer.path().addClass(`highcharts-crosshair highcharts-crosshair-`+(s?`category `:`thin `)+(n.className||``)).attr({zIndex:K(n.zIndex,2)}).add(),!i.styledMode&&(c.attr({stroke:n.color||(s?R.parse(`#ccd3ff`).setOpacity(.25).get():`#cccccc`),"stroke-width":K(n.width,1)}).css({"pointer-events":`none`}),n.dashStyle&&c.attr({dashstyle:n.dashStyle}))),c.show().attr({d:a}),s&&!n.width&&c.attr({"stroke-width":this.transA}),this.cross.e=e}else this.hideCrosshair();W(this,`afterDrawCrosshair`,{e,point:t})}hideCrosshair(){this.cross&&this.cross.hide(),W(this,`afterHideCrosshair`)}update(e,t){let n=this.chart;e=Mi(this.userOptions,e),this.destroy(!0),this.init(n,e),n.isDirtyBox=!0,K(t,!0)&&n.redraw()}remove(e){let t=this.chart,n=this.coll,r=this.series,i=r.length;for(;i--;)r[i]&&r[i].remove(!1);Ti(t.axes,this),Ti(t[n]||[],this),t.orderItems(n),this.destroy(),t.isDirtyBox=!0,K(e,!0)&&t.redraw()}setTitle(e,t){this.update({title:e},t)}setCategories(e,t){this.update({categories:e},t)}}Bi.keepProps=[`coll`,`extKey`,`hcEvents`,`len`,`names`,`series`,`userMax`,`userMin`];let{addEvent:Vi,getMagnitude:Hi,normalizeTickInterval:Ui,timeUnits:Wi}=F;(function(e){function t(){return this.chart.time.getTimeTicks.apply(this.chart.time,arguments)}function n(){if(this.type!==`datetime`){this.dateTime=void 0;return}this.dateTime||=new r(this)}e.compose=function(e){return e.keepProps.includes(`dateTime`)||(e.keepProps.push(`dateTime`),e.prototype.getTimeTicks=t,Vi(e,`afterSetType`,n)),e};class r{constructor(e){this.axis=e}normalizeTimeTickInterval(e,t){let n=t||[[`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]],r=n[n.length-1],i=Wi[r[0]],a=r[1],o;for(o=0;o<n.length&&(i=Wi[(r=n[o])[0]],a=r[1],!n[o+1]||!(e<=(i*a[a.length-1]+Wi[n[o+1][0]])/2));o++);i===Wi.year&&e<5*i&&(a=[1,2,5]);let s=Ui(e/i,a,r[0]===`year`?Math.max(Hi(e/i),1):1);return{unitRange:i,count:s,unitName:r[0]}}getXDateFormat(e,t){let{axis:n}=this,r=n.chart.time;return n.closestPointRange?r.getDateFormat(n.closestPointRange,e,n.options.startOfWeek,t)||r.resolveDTLFormat(t.year).main:r.resolveDTLFormat(t.day).main}}e.Additions=r})(x||={});let Gi=x,{addEvent:Ki,normalizeTickInterval:qi,pick:Ji}=F;(function(e){function t(){this.type===`logarithmic`?this.logarithmic??=new r(this):this.logarithmic=void 0}function n(){let e=this.logarithmic;e&&(this.lin2val=function(t){return e.lin2log(t)},this.val2lin=function(t){return e.log2lin(t)})}e.compose=function(e){return e.keepProps.includes(`logarithmic`)||(e.keepProps.push(`logarithmic`),Ki(e,`afterSetType`,t),Ki(e,`afterInit`,n)),e};class r{constructor(e){this.axis=e}getLogTickPositions(e,t,n,r){let i=this.axis,a=i.len,o=i.options,s=[];if(r||(this.minorAutoInterval=void 0),e>=.5)e=Math.round(e),s=i.getLinearTickPositions(e,t,n);else if(e>=.08){let i,a,o,c,l,u,d,f=Math.floor(t);for(i=e>.3?[1,2,4]:e>.15?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9],a=f;a<n+1&&!d;a++)for(o=0,c=i.length;o<c&&!d;o++)(l=this.log2lin(this.lin2log(a)*i[o]))>t&&(!r||u<=n)&&u!==void 0&&s.push(u),u>n&&(d=!0),u=l}else{let c=this.lin2log(t),l=this.lin2log(n),u=r?i.getMinorTickInterval():o.tickInterval,d=o.tickPixelInterval/(r?5:1),f=r?a/i.tickPositions.length:a;e=qi(e=Ji(u===`auto`?null:u,this.minorAutoInterval,(l-c)*d/(f||1))),s=i.getLinearTickPositions(e,c,l).map(this.log2lin),r||(this.minorAutoInterval=e/5)}return r||(i.tickInterval=e),s}lin2log(e){return 10**e}log2lin(e){return Math.log(e)/Math.LN10}}e.Additions=r})(S||={});let Yi=S,{erase:Xi,extend:Zi,isNumber:Qi}=F;(function(e){let t;function n(e){return this.addPlotBandOrLine(e,`plotBands`)}function r(e,n){let r=this.userOptions,i=new t(this,e);if(this.visible&&(i=i.render()),i){if(this._addedPlotLB||(this._addedPlotLB=!0,(r.plotLines||[]).concat(r.plotBands||[]).forEach(e=>{this.addPlotBandOrLine(e)})),n){let t=r[n]||[];t.push(e),r[n]=t}this.plotLinesAndBands.push(i)}return i}function i(e){return this.addPlotBandOrLine(e,`plotLines`)}function a(e,t,n){n||=this.options;let r=this.getPlotLinePath({value:t,force:!0,acrossPanes:n.acrossPanes}),i=[],a=this.horiz,o=!Qi(this.min)||!Qi(this.max)||e<this.min&&t<this.min||e>this.max&&t>this.max,s=this.getPlotLinePath({value:e,force:!0,acrossPanes:n.acrossPanes}),c,l=1,u;if(s&&r)for(o&&(u=s.toString()===r.toString(),l=0),c=0;c<s.length;c+=2){let e=s[c],t=s[c+1],n=r[c],o=r[c+1];(e[0]===`M`||e[0]===`L`)&&(t[0]===`M`||t[0]===`L`)&&(n[0]===`M`||n[0]===`L`)&&(o[0]===`M`||o[0]===`L`)&&(a&&n[1]===e[1]?(n[1]+=l,o[1]+=l):a||n[2]!==e[2]||(n[2]+=l,o[2]+=l),i.push([`M`,e[1],e[2]],[`L`,t[1],t[2]],[`L`,o[1],o[2]],[`L`,n[1],n[2]],[`Z`])),i.isFlat=u}return i}function o(e){this.removePlotBandOrLine(e)}function s(e){let t=this.plotLinesAndBands,n=this.options,r=this.userOptions;if(t){let i=t.length;for(;i--;)t[i].id===e&&t[i].destroy();[n.plotLines||[],r.plotLines||[],n.plotBands||[],r.plotBands||[]].forEach(function(t){for(i=t.length;i--;)t[i]?.id===e&&Xi(t,t[i])})}}function c(e){this.removePlotBandOrLine(e)}e.compose=function(e,l){let u=l.prototype;return u.addPlotBand||(t=e,Zi(u,{addPlotBand:n,addPlotLine:i,addPlotBandOrLine:r,getPlotBandPath:a,removePlotBand:o,removePlotLine:c,removePlotBandOrLine:s})),l}})(C||={});let $i=C,{addEvent:ea,arrayMax:ta,arrayMin:na,defined:ra,destroyObjectProperties:ia,erase:aa,fireEvent:oa,merge:sa,objectEach:ca,pick:la}=F;class ua{static compose(e,t){return ea(e,`afterInit`,function(){this.labelCollectors.push(()=>{let e=[];for(let t of this.axes)for(let{label:n,options:r}of t.plotLinesAndBands)n&&!r?.label?.allowOverlap&&e.push(n);return e})}),$i.compose(ua,t)}constructor(e,t){this.axis=e,this.options=t,this.id=t.id}render(){oa(this,`render`);let{axis:e,options:t}=this,{horiz:n,logarithmic:r}=e,{color:i,events:a,zIndex:o=0}=t,{renderer:s,time:c}=e.chart,l={},u=c.parse(t.to),d=c.parse(t.from),f=c.parse(t.value),p=t.borderWidth,m=t.label,{label:h,svgElem:g}=this,_=[],v,y=ra(d)&&ra(u),b=ra(f),x=!g,S={class:`highcharts-plot-`+(y?`band `:`line `)+(t.className||``)},C=y?`bands`:`lines`;if(!e.chart.styledMode&&(b?(S.stroke=i||`#999999`,S[`stroke-width`]=la(t.width,1),t.dashStyle&&(S.dashstyle=t.dashStyle)):y&&(S.fill=i||`#e6e9ff`,p&&(S.stroke=t.borderColor,S[`stroke-width`]=p))),l.zIndex=o,C+=`-`+o,(v=e.plotLinesAndBandsGroups[C])||(e.plotLinesAndBandsGroups[C]=v=s.g(`plot-`+C).attr(l).add()),g||(this.svgElem=g=s.path().attr(S).add(v)),ra(f))_=e.getPlotLinePath({value:r?.log2lin(f)??f,lineWidth:g.strokeWidth(),acrossPanes:t.acrossPanes});else{if(!(ra(d)&&ra(u)))return;_=e.getPlotBandPath(r?.log2lin(d)??d,r?.log2lin(u)??u,t)}return!this.eventsAdded&&a&&(ca(a,(e,t)=>{g?.on(t,e=>{a[t].apply(this,[e])})}),this.eventsAdded=!0),(x||!g.d)&&_?.length?g.attr({d:_}):g&&(_?(g.show(),g.animate({d:_})):g.d&&(g.hide(),h&&(this.label=h=h.destroy()))),m&&(ra(m.text)||ra(m.formatter))&&_?.length&&e.width>0&&e.height>0&&!_.isFlat?(m=sa({align:n&&y?`center`:void 0,x:n?!y&&4:10,verticalAlign:!n&&y?`middle`:void 0,y:n?y?16:10:y?6:-4,rotation:n&&!y?90:0,...y?{inside:!0}:{}},m),this.renderLabel(m,_,y,o)):h&&h.hide(),this}renderLabel(e,t,n,r){let i=this.axis,a=i.chart.renderer,o=e.inside,s=this.label;s||(this.label=s=a.text(this.getLabelText(e),0,0,e.useHTML).attr({align:e.textAlign||e.align,rotation:e.rotation,class:`highcharts-plot-`+(n?`band`:`line`)+`-label `+(e.className||``),zIndex:r}),i.chart.styledMode||s.css(sa({color:i.chart.options.title?.style?.color,fontSize:`0.8em`,textOverflow:n&&!o?``:`ellipsis`},e.style)),s.add());let c=t.xBounds||[t[0][1],t[1][1],n?t[2][1]:t[0][1]],l=t.yBounds||[t[0][2],t[1][2],n?t[2][2]:t[0][2]],u=na(c),d=na(l),f=ta(c)-u;s.align(e,!1,{x:u,y:d,width:f,height:ta(l)-d}),s.alignAttr.y-=a.fontMetrics(s).b,(!s.alignValue||s.alignValue===`left`||ra(o))&&s.css({width:(e.style?.width||(n&&o?f:s.rotation===90?i.height-(s.alignAttr.y-i.top):(e.clip?i.width:i.chart.chartWidth)-(s.alignAttr.x-i.left)))+`px`}),s.show(!0)}getLabelText(e){return ra(e.formatter)?e.formatter.call(this):e.text}destroy(){aa(this.axis.plotLinesAndBands,this),delete this.axis,ia(this)}}let{animObject:da}=B,{format:fa}=Kt,{composed:pa,dateFormats:ma,doc:ha,isSafari:ga}=P,{distribute:_a}=Qt,{addEvent:va,clamp:ya,css:ba,clearTimeout:xa,discardElement:Sa,extend:Ca,fireEvent:wa,getAlignFactor:Ta,isArray:Ea,isNumber:Da,isObject:Oa,isString:ka,merge:Aa,pick:ja,pushUnique:Ma,splat:Na,syncTimeout:Pa}=F;class Fa{constructor(e,t,n){this.allowShared=!0,this.crosshairs=[],this.distance=0,this.isHidden=!0,this.isSticky=!1,this.options={},this.outside=!1,this.chart=e,this.init(e,t),this.pointer=n}bodyFormatter(e){return e.map(e=>{let t=e.series.tooltipOptions,n=e.formatPrefix||`point`;return(t[n+`Formatter`]||e.tooltipFormatter).call(e,t[n+`Format`]||``)})}cleanSplit(e){this.chart.series.forEach(function(t){let n=t?.tt;n&&(!n.isActive||e?t.tt=n.destroy():n.isActive=!1)})}defaultFormatter(e){let t,n=this.points||Na(this);return(t=(t=[e.headerFooterFormatter(n[0])]).concat(e.bodyFormatter(n))).push(e.headerFooterFormatter(n[0],!0)),t}destroy(){this.label&&=this.label.destroy(),this.split&&(this.cleanSplit(!0),this.tt&&=this.tt.destroy()),this.renderer&&(this.renderer=this.renderer.destroy(),Sa(this.container)),xa(this.hideTimer)}getAnchor(e,t){let n,{chart:r,pointer:i}=this,a=r.inverted,o=r.plotTop,s=r.plotLeft;if(e=Na(e),e[0].series?.yAxis&&!e[0].series.yAxis.options.reversedStacks&&(e=e.slice().reverse()),this.followPointer&&t)t.chartX===void 0&&(t=i.normalize(t)),n=[t.chartX-s,t.chartY-o];else if(e[0].tooltipPos)n=e[0].tooltipPos;else{let r=0,i=0;e.forEach(function(e){let t=e.pos(!0);t&&(r+=t[0],i+=t[1])}),r/=e.length,i/=e.length,this.shared&&e.length>1&&t&&(a?r=t.chartX:i=t.chartY),n=[r-s,i-o]}let c={point:e[0],ret:n};return wa(this,`getAnchor`,c),c.ret.map(Math.round)}getClassName(e,t,n){let r=this.options,i=e.series,a=i.options;return[r.className,`highcharts-label`,n&&`highcharts-tooltip-header`,t?`highcharts-tooltip-box`:`highcharts-tooltip`,!n&&`highcharts-color-`+ja(e.colorIndex,i.colorIndex),a?.className].filter(ka).join(` `)}getLabel({anchorX:e,anchorY:t}={anchorX:0,anchorY:0}){let n=this,r=this.chart.styledMode,i=this.options,a=this.split&&this.allowShared,o=this.container,s=this.chart.renderer;if(this.label){let e=!this.label.hasClass(`highcharts-label`);(!a&&e||a&&!e)&&this.destroy()}if(!this.label){if(this.outside){let e=this.chart,t=e.options.chart.style,n=qt.getRendererType();this.container=o=P.doc.createElement(`div`),o.className=`highcharts-tooltip-container `+(e.renderTo.className.match(/(highcharts[a-zA-Z0-9-]+)\s?/gm)||``),ba(o,{position:`absolute`,top:`1px`,pointerEvents:`none`,zIndex:Math.max(this.options.style.zIndex||0,(t?.zIndex||0)+3)}),this.renderer=s=new n(o,0,0,t,void 0,void 0,s.styledMode)}if(a?this.label=s.g(`tooltip`):(this.label=s.label(``,e,t,i.shape||`callout`,void 0,void 0,i.useHTML,void 0,`tooltip`).attr({padding:i.padding,r:i.borderRadius}),r||this.label.attr({fill:i.backgroundColor,"stroke-width":i.borderWidth||0}).css(i.style).css({pointerEvents:i.style.pointerEvents||(this.shouldStickOnContact()?`auto`:`none`)})),n.outside){let e=this.label;[e.xSetter,e.ySetter].forEach((t,r)=>{e[r?`ySetter`:`xSetter`]=i=>{t.call(e,n.distance),e[r?`y`:`x`]=i,o&&(o.style[r?`top`:`left`]=`${i}px`)}})}this.label.attr({zIndex:8}).shadow(i.shadow??!i.fixed).add()}return o&&!o.parentElement&&P.doc.body.appendChild(o),this.label}getPlayingField(){let{body:e,documentElement:t}=ha,{chart:n,distance:r,outside:i}=this;return{width:i?Math.max(e.scrollWidth,t.scrollWidth,e.offsetWidth,t.offsetWidth,t.clientWidth)-2*r-2:n.chartWidth,height:i?Math.max(e.scrollHeight,t.scrollHeight,e.offsetHeight,t.offsetHeight,t.clientHeight):n.chartHeight}}getPosition(e,t,n){let{distance:r,chart:i,outside:a,pointer:o}=this,{inverted:s,plotLeft:c,plotTop:l,polar:u}=i,{plotX:d=0,plotY:f=0}=n,p={},m=s&&n.h||0,{height:h,width:g}=this.getPlayingField(),_=o.getChartPosition(),v=n=>{let o=n===`x`;return[n,o?g:h,o?e:t].concat(a?[o?e*_.scaleX:t*_.scaleY,o?_.left-r+(d+c)*_.scaleX:_.top-r+(f+l)*_.scaleY,0,o?g:h]:[o?e:t,o?d+c:f+l,o?c:l,o?c+i.plotWidth:l+i.plotHeight])},y=v(`y`),b=v(`x`),x,S=!!n.negative;!u&&i.hoverSeries?.yAxis?.reversed&&(S=!S);let C=!this.followPointer&&ja(n.ttBelow,!u&&!s===S),w=function(e,t,n,i,o,s,c){let l=a?e===`y`?r*_.scaleY:r*_.scaleX:r,u=(n-i)/2,d=i<o-r,f=o+r+i<t,h=o-l-n+u,g=o+l-u;if(C&&f)p[e]=g;else if(!C&&d)p[e]=h;else if(d)p[e]=Math.min(c-i,h-m<0?h:h-m);else{if(!f)return p[e]=0,!1;p[e]=Math.max(s,g+m+n>t?g:g+m)}},T=function(e,t,n,i,a){if(a<r||a>t-r)return!1;a<n/2?p[e]=1:a>t-i/2?p[e]=t-i-2:p[e]=a-n/2},E=function(e){[y,b]=[b,y],x=e},D=()=>{!1===w.apply(0,y)?x?p.x=p.y=0:(E(!0),D()):!1!==T.apply(0,b)||x||(E(!0),D())};return(s&&!u||this.len>1)&&E(),D(),p}getFixedPosition(e,t,n){let r=n.series,{chart:i,options:a,split:o}=this,s=a.position,c=s.relativeTo,l=a.shared||r?.yAxis?.isRadial&&(c===`pane`||!c)?`plotBox`:c,u=l===`chart`?i.renderer:i[l]||i.getClipBox(r,!0);return{x:u.x+(u.width-e)*Ta(s.align)+s.x,y:u.y+(u.height-t)*Ta(s.verticalAlign)+(!o&&s.y||0)}}hide(e){let t=this;xa(this.hideTimer),e=ja(e,this.options.hideDelay),this.isHidden||(this.hideTimer=Pa(function(){let n=t.getLabel();t.getLabel().animate({opacity:0},{duration:e&&150,complete:()=>{n.hide(),t.container&&t.container.remove()}}),t.isHidden=!0},e))}init(e,t){this.chart=e,this.options=t,this.crosshairs=[],this.isHidden=!0,this.split=t.split&&!e.inverted&&!e.polar,this.shared=t.shared||this.split,this.outside=ja(t.outside,!!(e.scrollablePixelsX||e.scrollablePixelsY))}shouldStickOnContact(e){return!!(!this.followPointer&&this.options.stickOnContact&&(!e||this.pointer.inClass(e.target,`highcharts-tooltip`)))}move(e,t,n,r){let{followPointer:i,options:a}=this,o=da(!i&&!this.isHidden&&!a.fixed&&a.animation),s=i||(this.len||0)>1,c={x:e,y:t};s?c.anchorX=c.anchorY=NaN:(c.anchorX=n,c.anchorY=r),o.step=()=>this.drawTracker(),this.getLabel().animate(c,o)}refresh(e,t){let{chart:n,options:r,pointer:i,shared:a}=this,o=Na(e),s=o[0],c=r.format,l=r.formatter||this.defaultFormatter,u=n.styledMode,d=this.allowShared;if(!r.enabled||!s.series)return;xa(this.hideTimer),this.allowShared=!(!Ea(e)&&e.series&&e.series.noSharedTooltip),d&&=!this.allowShared,this.followPointer=!this.split&&s.series.tooltipOptions.followPointer;let f=this.getAnchor(e,t),p=f[0],m=f[1];a&&this.allowShared&&(i.applyInactiveState(o),o.forEach(e=>e.setState(`hover`)),s.points=o),this.len=o.length;let h=ka(c)?fa(c,s,n):l.call(s,this);s.points=void 0;let g=s.series;if(this.distance=ja(g.tooltipOptions.distance,16),!1===h)this.hide();else{if(this.split&&this.allowShared)this.renderSplit(h,o);else{let e=p,a=m;if(t&&i.isDirectTouch&&(e=t.chartX-n.plotLeft,a=t.chartY-n.plotTop),!(n.polar||!1===g.options.clip||o.some(t=>i.isDirectTouch||t.series.shouldShowTooltip(e,a))))return void this.hide();{let e=this.getLabel(d&&this.tt||{});(!r.style.width||u)&&e.css({width:(this.outside?this.getPlayingField():n.spacingBox).width+`px`}),e.attr({class:this.getClassName(s),text:h&&h.join?h.join(``):h}),this.outside&&e.attr({x:ya(e.x||0,0,this.getPlayingField().width-(e.width||0)-1)}),u||e.attr({stroke:r.borderColor||s.color||g.color||`#666666`}),this.updatePosition({plotX:p,plotY:m,negative:s.negative,ttBelow:s.ttBelow,series:g,h:f[2]||0})}}this.isHidden&&this.label&&this.label.attr({opacity:1}).show(),this.isHidden=!1}wa(this,`refresh`)}renderSplit(e,t){let n=this,{chart:r,chart:{chartWidth:i,chartHeight:a,plotHeight:o,plotLeft:s,plotTop:c,scrollablePixelsY:l=0,scrollablePixelsX:u,styledMode:d},distance:f,options:p,options:{fixed:m,position:h,positioner:g},pointer:_}=n,{scrollLeft:v=0,scrollTop:y=0}=r.scrollablePlotArea?.scrollingContainer||{},b=n.outside&&typeof u!=`number`?ha.documentElement.getBoundingClientRect():{left:v,right:v+i,top:y,bottom:y+a},x=n.getLabel(),S=this.renderer||r.renderer,C=!!r.xAxis[0]?.opposite,{left:w,top:T}=_.getChartPosition(),E=g||m,D=c+y,O=0,k=o-l,A=function(e,t,r,i=[0,0],a=!0){let o,s;if(r.isHeader)s=C?0:k,o=ya(i[0]-e/2,b.left,b.right-e-(n.outside?w:0));else if(m&&r){let i=n.getFixedPosition(e,t,r);o=i.x,s=i.y-D}else s=i[1]-D,o=ya(o=a?i[0]-e-f:i[0]+f,a?o:b.left,b.right);return{x:o,y:s}};ka(e)&&(e=[!1,e]);let j=e.slice(0,t.length+1).reduce(function(e,r,i){if(!1!==r&&r!==``){let a=t[i-1]||{isHeader:!0,plotX:t[0].plotX,plotY:o,series:{}},l=a.isHeader,u=l?n:a.series,h=u.tt=function(e,t,r){let i=e,{isHeader:a,series:o}=t,s=o.tooltipOptions||p;if(!i){let e={padding:s.padding,r:s.borderRadius};d||(e.fill=s.backgroundColor,e[`stroke-width`]=s.borderWidth??(m&&!a?0:1)),i=S.label(``,0,0,s[a?`headerShape`:`shape`]||(m&&!a?`rect`:`callout`),void 0,void 0,s.useHTML).addClass(n.getClassName(t,!0,a)).attr(e).add(x)}return i.isActive=!0,i.attr({text:r}),d||i.css(s.style).attr({stroke:s.borderColor||t.color||o.color||`#333333`}),i}(u.tt,a,r.toString()),_=h.getBBox(),v=_.width+h.strokeWidth();l&&(O=_.height,k+=O,C&&(D-=O));let{anchorX:y,anchorY:w}=function(e){let t,n,{isHeader:r,plotX:i=0,plotY:a=0,series:l}=e;if(r)t=Math.max(s+i,s),n=c+o/2;else{let{xAxis:e,yAxis:r}=l;t=e.pos+ya(i,-f,e.len+f),l.shouldShowTooltip(0,r.pos-c+a,{ignoreX:!0})&&(n=r.pos+a)}return{anchorX:t=ya(t,b.left-f,b.right+f),anchorY:n}}(a);if(typeof w==`number`){let t=_.height+1,r=(g||A).call(n,v,t,a,[y,w]);e.push({align:E?0:void 0,anchorX:y,anchorY:w,boxWidth:v,point:a,rank:ja(r.rank,+!!l),size:t,target:r.y,tt:h,x:r.x})}else h.isActive=!1}return e},[]);!E&&j.some(e=>{let{outside:t}=n,r=(t?w:0)+e.anchorX;return r<b.left&&r+e.boxWidth<b.right||r<w-b.left+e.boxWidth&&b.right-r>r})&&(j=j.map(e=>{let{x:t,y:n}=A.call(this,e.boxWidth,e.size,e.point,[e.anchorX,e.anchorY],!1);return Ca(e,{target:n,x:t})})),n.cleanSplit(),_a(j,k);let M={left:w,right:w};j.forEach(function(e){let{x:t,boxWidth:r,isHeader:i}=e;!i&&(n.outside&&w+t<M.left&&(M.left=w+t),!i&&n.outside&&M.left+r>M.right&&(M.right=w+t))}),j.forEach(function(e){let{x:t,anchorX:r,anchorY:i,pos:a,point:{isHeader:o}}=e,s={visibility:a===void 0?`hidden`:`inherit`,x:t,y:(a||0)+D+(m&&h.y||0),anchorX:r,anchorY:i};if(n.outside&&t<r){let e=w-M.left;e>0&&(o||(s.x=t+e,s.anchorX=r+e),o&&(s.x=(M.right-M.left)/2,s.anchorX=r+e))}e.tt.attr(s)});let{container:ee,outside:N,renderer:te}=n;if(N&&ee&&te){let{width:e,height:t,x:n,y:r}=x.getBBox();te.setSize(e+n,t+r,!1),ee.style.left=M.left+`px`,ee.style.top=T+`px`}ga&&x.attr({opacity:x.opacity===1?.999:1})}drawTracker(){let e=this;if(!this.shouldStickOnContact()){e.tracker&&=e.tracker.destroy();return}let t=e.chart,n=e.label,r=e.shared?t.hoverPoints:t.hoverPoint;if(!n||!r)return;let i={x:0,y:0,width:0,height:0},a=this.getAnchor(r),o=n.getBBox();a[0]+=t.plotLeft-(n.translateX||0),a[1]+=t.plotTop-(n.translateY||0),i.x=Math.min(0,a[0]),i.y=Math.min(0,a[1]),i.width=a[0]<0?Math.max(Math.abs(a[0]),o.width-a[0]):Math.max(Math.abs(a[0]),o.width),i.height=a[1]<0?Math.max(Math.abs(a[1]),o.height-Math.abs(a[1])):Math.max(Math.abs(a[1]),o.height),e.tracker?e.tracker.attr(i):(e.tracker=n.renderer.rect(i).addClass(`highcharts-tracker`).add(n),va(e.tracker.element,`mouseenter`,()=>{xa(e.hideTimer)}),t.styledMode||e.tracker.attr({fill:`rgba(0,0,0,0)`}))}styledModeFormat(e){return e.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(e,t){let n=e.series,r=n.tooltipOptions,i=n.xAxis?.dateTime,a={isFooter:t,point:e},o=r.xDateFormat||``,s=r[t?`footerFormat`:`headerFormat`];return wa(this,`headerFormatter`,a,function(t){if(i&&!o&&Da(e.key)&&(o=i.getXDateFormat(e.key,r.dateTimeLabelFormats)),i&&o){if(Oa(o)){let e=o;ma[0]=t=>n.chart.time.dateFormat(e,t),o=`%0`}(e.tooltipDateKeys||[`key`]).forEach(e=>{s=s.replace(RegExp(`point\\.`+e+`([ \\)}])`),`(point.${e}:${o})$1`)})}n.chart.styledMode&&(s=this.styledModeFormat(s)),t.text=fa(s,e,this.chart)}),a.text||``}update(e){this.destroy(),this.init(this.chart,Aa(!0,this.options,e))}updatePosition(e){let{chart:t,container:n,distance:r,options:i,pointer:a,renderer:o}=this,{height:s=0,width:c=0}=this.getLabel(),{fixed:l,positioner:u}=i,{left:d,top:f,scaleX:p,scaleY:m}=a.getChartPosition(),h=(u||l&&this.getFixedPosition||this.getPosition).call(this,c,s,e),g=P.doc,_=(e.plotX||0)+t.plotLeft,v=(e.plotY||0)+t.plotTop,y;if(o&&n){if(u||l){let{scrollLeft:e=0,scrollTop:n=0}=t.scrollablePlotArea?.scrollingContainer||{};h.x+=e+d-r,h.y+=n+f-r}y=(i.borderWidth||0)+2*r+2,o.setSize(ya(c+y,0,g.documentElement.clientWidth)-1,s+y,!1),(p!==1||m!==1)&&(ba(n,{transform:`scale(${p}, ${m})`}),_*=p,v*=m),_+=d-h.x,v+=f-h.y}this.move(Math.round(h.x),Math.round(h.y||0),_,v)}}(l=Fa||={}).compose=function(e){Ma(pa,`Core.Tooltip`)&&va(e,`afterInit`,function(){let e=this.chart;e.options.tooltip&&(e.tooltip=new l(e,e.options.tooltip,this))})};let Ia=Fa,{animObject:La}=B,{defaultOptions:Ra}=Xe,{format:za}=Kt,{addEvent:Ba,crisp:Va,erase:Ha,extend:Ua,fireEvent:Wa,getNestedProperty:Ga,isArray:Ka,isFunction:qa,isNumber:Ja,isObject:Ya,merge:Xa,pick:Za,syncTimeout:Qa,removeEvent:$a,uniqueKey:eo}=F;class to{constructor(e,t,n){this.formatPrefix=`point`,this.visible=!0,this.point=this,this.series=e,this.applyOptions(t,n),this.id??=eo(),this.resolveColor(),this.dataLabelOnNull??=e.options.nullInteraction,e.chart.pointCount++,this.category=e.xAxis?.categories?.[this.x]??this.x,this.key=this.name??this.category,Wa(this,`afterInit`)}animateBeforeDestroy(){let e=this,t={x:e.startXPos,opacity:0},n=e.getGraphicalProps();n.singular.forEach(function(n){e[n]=e[n].animate(n===`dataLabel`?{x:e[n].startXPos,y:e[n].startYPos,opacity:0}:t)}),n.plural.forEach(function(t){e[t].forEach(function(t){t.element&&t.animate(Ua({x:e.startXPos},t.startYPos?{x:t.startXPos,y:t.startYPos}:{}))})})}applyOptions(e,t){let n=this.series,r=n.options.pointValKey||n.pointValKey;return Ua(this,e=to.prototype.optionsToObject.call(this,e)),this.options=this.options?Ua(this.options,e):e,e.group&&delete this.group,e.dataLabels&&delete this.dataLabels,r&&(this.y=to.prototype.getNestedProperty.call(this,r)),this.selected&&(this.state=`select`),`name`in this&&t===void 0&&n.xAxis&&n.xAxis.hasNames&&(this.x=n.xAxis.nameToX(this)),this.x===void 0&&n?this.x=t??n.autoIncrement():Ja(e.x)&&n.options.relativeXValue?this.x=n.autoIncrement(e.x):typeof this.x==`string`&&(t??=n.chart.time.parse(this.x),Ja(t)&&(this.x=t)),this.isNull=this.isValid&&!this.isValid(),this.formatPrefix=this.isNull?`null`:`point`,this}destroy(){if(!this.destroyed){let e=this,t=e.series,n=t.chart,r=t.options.dataSorting,i=n.hoverPoints,a=La(e.series.chart.renderer.globalAnimation),o=()=>{for(let t in(e.graphic||e.graphics||e.dataLabel||e.dataLabels)&&($a(e),e.destroyElements()),e)delete e[t]};e.legendItem&&n.legend.destroyItem(e),i&&(e.setState(),Ha(i,e),i.length||(n.hoverPoints=null)),e===n.hoverPoint&&e.onMouseOut(),r?.enabled?(this.animateBeforeDestroy(),Qa(o,a.duration)):o(),n.pointCount--}this.destroyed=!0}destroyElements(e){let t=this,n=t.getGraphicalProps(e);n.singular.forEach(function(e){t[e]=t[e].destroy()}),n.plural.forEach(function(e){t[e].forEach(function(e){e?.element&&e.destroy()}),delete t[e]})}firePointEvent(e,t,n){let r=this,i=this.series.options;r.manageEvent(e),e===`click`&&i.allowPointSelect&&(n=function(e){!r.destroyed&&r.select&&r.select(null,e.ctrlKey||e.metaKey||e.shiftKey)}),Wa(r,e,t,n)}getClassName(){return`highcharts-point`+(this.selected?` highcharts-point-select`:``)+(this.negative?` highcharts-negative`:``)+(this.isNull?` highcharts-null-point`:``)+(this.colorIndex===void 0?``:` highcharts-color-`+this.colorIndex)+(this.options.className?` `+this.options.className:``)+(this.zone?.className?` `+this.zone.className.replace(`highcharts-negative`,``):``)}getGraphicalProps(e){let t,n,r=this,i=[],a={singular:[],plural:[]};for((e||={graphic:1,dataLabel:1}).graphic&&i.push(`graphic`,`connector`),e.dataLabel&&i.push(`dataLabel`,`dataLabelPath`,`dataLabelUpper`),n=i.length;n--;)r[t=i[n]]&&a.singular.push(t);return[`graphic`,`dataLabel`].forEach(function(t){let n=t+`s`;e[t]&&r[n]&&a.plural.push(n)}),a}getNestedProperty(e){if(e)return e.indexOf(`custom.`)===0?Ga(e,this.options):this[e]}getZone(){let e=this.series,t=e.zones,n=e.zoneAxis||`y`,r,i=0;for(r=t[0];this[n]>=r.value;)r=t[++i];return this.nonZonedColor||=this.color,r?.color&&!this.options.color?this.color=r.color:this.color=this.nonZonedColor,r}hasNewShapeType(){return(this.graphic&&(this.graphic.symbolName||this.graphic.element.nodeName))!==this.shapeType}isValid(){return(Ja(this.x)||this.x instanceof Date)&&Ja(this.y)}optionsToObject(e){let t=this.series,n=t.options.keys,r=n||t.pointArrayMap||[`y`],i=r.length,a={},o,s=0,c=0;if(Ja(e)||e===null)a[r[0]]=e;else if(Ka(e))for(!n&&e.length>i&&((o=typeof e[0])==`string`?t.xAxis?.dateTime?a.x=t.chart.time.parse(e[0]):a.name=e[0]:o===`number`&&(a.x=e[0]),s++);c<i;)n&&e[s]===void 0||(r[c].indexOf(`.`)>0?to.prototype.setNestedProperty(a,e[s],r[c]):a[r[c]]=e[s]),s++,c++;else typeof e==`object`&&(a=e,e.dataLabels&&(t.hasDataLabels=()=>!0),e.marker&&(t._hasPointMarkers=!0));return a}pos(e,t=this.plotY){if(!this.destroyed){let{plotX:n,series:r}=this,{chart:i,xAxis:a,yAxis:o}=r,s=0,c=0;if(Ja(n)&&Ja(t))return e&&(s=a?a.pos:i.plotLeft,c=o?o.pos:i.plotTop),i.inverted&&a&&o?[o.len-t+c,a.len-n+s]:[n+s,t+c]}}resolveColor(){let e=this.series,t=e.chart.options.chart,n=e.chart.styledMode,r,i,a=t.colorCount,o;delete this.nonZonedColor,e.options.colorByPoint?(n||(r=(i=e.options.colors||e.chart.options.colors)[e.colorCounter],a=i.length),o=e.colorCounter,e.colorCounter++,e.colorCounter===a&&(e.colorCounter=0)):(n||(r=e.color),o=e.colorIndex),this.colorIndex=Za(this.options.colorIndex,o),this.color=Za(this.options.color,r)}setNestedProperty(e,t,n){return n.split(`.`).reduce(function(e,n,r,i){return e[n]=i.length-1===r?t:Ya(e[n],!0)?e[n]:{},e[n]},e),e}shouldDraw(){return!this.isNull}tooltipFormatter(e){let{chart:t,pointArrayMap:n=[`y`],tooltipOptions:r}=this.series,{valueDecimals:i=``,valuePrefix:a=``,valueSuffix:o=``}=r;return t.styledMode&&(e=t.tooltip?.styledModeFormat(e)||e),n.forEach(t=>{t=`{point.`+t,(a||o)&&(e=e.replace(RegExp(t+`}`,`g`),a+t+`}`+o)),e=e.replace(RegExp(t+`}`,`g`),t+`:,.`+i+`f}`)}),za(e,this,t)}update(e,t,n,r){let i,a=this,o=a.series,s=a.graphic,c=o.chart,l=o.options;function u(){a.applyOptions(e);let r=s&&a.hasMockGraphic,u=a.y===null?!r:r;s&&u&&(a.graphic=s.destroy(),delete a.hasMockGraphic),Ya(e,!0)&&(s?.element&&e&&e.marker&&e.marker.symbol!==void 0&&(a.graphic=s.destroy()),e?.dataLabels&&a.dataLabel&&(a.dataLabel=a.dataLabel.destroy())),i=a.index;let d={};for(let e of o.dataColumnKeys())d[e]=a[e];o.dataTable.setRow(d,i),l.data[i]=Ya(l.data[i],!0)||Ya(e,!0)?a.options:Za(e,l.data[i]),o.isDirty=o.isDirtyData=!0,!o.fixedBox&&o.hasCartesianSeries&&(c.isDirtyBox=!0),l.legendType===`point`&&(c.isDirtyLegend=!0),t&&c.redraw(n)}t=Za(t,!0),!1===r?u():a.firePointEvent(`update`,{options:e},u)}remove(e,t){this.series.removePoint(this.series.data.indexOf(this),e,t)}select(e,t){let n=this,r=n.series,i=r.chart;e=Za(e,!n.selected),this.selectedStaging=e,n.firePointEvent(e?`select`:`unselect`,{accumulate:t},function(){n.selected=n.options.selected=e,r.options.data[r.data.indexOf(n)]=n.options,n.setState(e&&`select`),t||i.getSelectedPoints().forEach(function(e){let t=e.series;e.selected&&e!==n&&(e.selected=e.options.selected=!1,t.options.data[t.data.indexOf(e)]=e.options,e.setState(i.hoverPoints&&t.options.inactiveOtherPoints?`inactive`:``),e.firePointEvent(`unselect`))})}),delete this.selectedStaging}onMouseOver(e){let{inverted:t,pointer:n}=this.series.chart;n&&(e=e?n.normalize(e):n.getChartCoordinatesFromPoint(this,t),n.runPointActions(e,this))}onMouseOut(){let e=this.series.chart;this.firePointEvent(`mouseOut`),this.series.options.inactiveOtherPoints||(e.hoverPoints||[]).forEach(function(e){e.setState()}),e.hoverPoints=e.hoverPoint=null}manageEvent(e){let t=Xa(this.series.options.point,this.options).events?.[e];qa(t)&&(!this.hcEvents?.[e]||this.hcEvents?.[e]?.map(e=>e.fn).indexOf(t)===-1)?(this.importedUserEvent?.(),this.importedUserEvent=Ba(this,e,t),this.hcEvents&&(this.hcEvents[e].userEvent=!0)):this.importedUserEvent&&!t&&this.hcEvents?.[e]&&this.hcEvents?.[e].userEvent&&($a(this,e),delete this.hcEvents[e],Object.keys(this.hcEvents)||delete this.importedUserEvent)}setState(e,t){let n=this.series,r=this.state,i=n.options.states[e||`normal`]||{},a=Ra.plotOptions[n.type].marker&&n.options.marker,o=a&&!1===a.enabled,s=a?.states?.[e||`normal`]||{},c=!1===s.enabled,l=this.marker||{},u=n.chart,d=a&&n.markerAttribs,f=n.halo,p,m,h,g=n.stateMarkerGraphic,_;if((e||=``)===this.state&&!t||this.selected&&e!==`select`||!1===i.enabled||e&&(c||o&&!1===s.enabled)||e&&l.states&&l.states[e]&&!1===l.states[e].enabled)return;if(this.state=e,d&&(p=n.markerAttribs(this,e)),this.graphic&&!this.hasMockGraphic){if(r&&this.graphic.removeClass(`highcharts-point-`+r),e&&this.graphic.addClass(`highcharts-point-`+e),!u.styledMode){m=n.pointAttribs(this,e),h=Za(u.options.chart.animation,i.animation);let t=m.opacity;n.options.inactiveOtherPoints&&Ja(t)&&(this.dataLabels||[]).forEach(function(e){e&&!e.hasClass(`highcharts-data-label-hidden`)&&(e.animate({opacity:t},h),e.connector&&e.connector.animate({opacity:t},h))}),this.graphic.animate(m,h)}p&&this.graphic.animate(p,Za(u.options.chart.animation,s.animation,a.animation)),g&&g.hide()}else e&&s&&(_=l.symbol||n.symbol,g&&g.currentSymbol!==_&&(g=g.destroy()),p&&(g?g[t?`animate`:`attr`]({x:p.x,y:p.y}):_&&(n.stateMarkerGraphic=g=u.renderer.symbol(_,p.x,p.y,p.width,p.height,Xa(a,s)).add(n.markerGroup),g.currentSymbol=_)),!u.styledMode&&g&&this.state!==`inactive`&&g.attr(n.pointAttribs(this,e))),g&&(g[e&&this.isInside?`show`:`hide`](),g.element.point=this,g.addClass(this.getClassName(),!0));let v=i.halo,y=this.graphic||g,b=y?.visibility||`inherit`;v?.size&&y&&b!==`hidden`&&!this.isCluster?(f||(n.halo=f=u.renderer.path().add(y.parentGroup)),f.show()[t?`animate`:`attr`]({d:this.haloPath(v.size)}),f.attr({class:`highcharts-halo highcharts-color-`+Za(this.colorIndex,n.colorIndex)+(this.className?` `+this.className:``),visibility:b,zIndex:-1}),f.point=this,u.styledMode||f.attr(Ua({fill:this.color||n.color,"fill-opacity":v.opacity},V.filterUserAttributes(v.attributes||{})))):f?.point?.haloPath&&!f.point.destroyed&&f.animate({d:f.point.haloPath(0)},null,f.hide),Wa(this,`afterSetState`,{state:e})}haloPath(e){let t=this.pos();return t?this.series.chart.renderer.symbols.circle(Va(t[0],1)-e,t[1]-e,2*e,2*e):[]}}let no=to,{parse:ro}=R,{charts:io,composed:ao,isTouchDevice:oo}=P,{addEvent:so,attr:co,css:lo,extend:uo,find:fo,fireEvent:po,isNumber:mo,isObject:ho,objectEach:go,offset:_o,pick:vo,pushUnique:yo,splat:bo}=F;class q{applyInactiveState(e=[]){let t=[];for(let n of(e.forEach(e=>{let n=e.series;t.push(n),n.linkedParent&&t.push(n.linkedParent),n.linkedSeries&&t.push.apply(t,n.linkedSeries),n.navigatorSeries&&t.push(n.navigatorSeries),n.boosted&&n.markerGroup&&t.push.apply(t,this.chart.series.filter(e=>e.markerGroup===n.markerGroup))}),this.chart.series)){let e=n.options;e.states?.inactive?.enabled!==!1&&(t.indexOf(n)===-1?n.setState(`inactive`,!0):e.inactiveOtherPoints&&n.setAllPointsToState(`inactive`))}}destroy(){let e=this;this.eventsToUnbind.forEach(e=>e()),this.eventsToUnbind=[],!P.chartCount&&(q.unbindDocumentMouseUp.forEach(e=>e.unbind()),q.unbindDocumentMouseUp.length=0,q.unbindDocumentTouchEnd&&=q.unbindDocumentTouchEnd()),go(e,function(t,n){e[n]=void 0})}getSelectionMarkerAttrs(e,t){let n={args:{chartX:e,chartY:t},attrs:{},shapeType:`rect`};return po(this,`getSelectionMarkerAttrs`,n,n=>{let r,{chart:i,zoomHor:a,zoomVert:o}=this,{mouseDownX:s=0,mouseDownY:c=0}=i,l=n.attrs;l.x=i.plotLeft,l.y=i.plotTop,l.width=a?1:i.plotWidth,l.height=o?1:i.plotHeight,a&&(l.width=Math.max(1,Math.abs(r=e-s)),l.x=(r>0?0:r)+s),o&&(l.height=Math.max(1,Math.abs(r=t-c)),l.y=(r>0?0:r)+c)}),n}drag(e){let{chart:t}=this,{mouseDownX:n=0,mouseDownY:r=0}=t,{panning:i,panKey:a,selectionMarkerFill:o}=t.options.chart,s=t.plotLeft,c=t.plotTop,l=t.plotWidth,u=t.plotHeight,d=ho(i)?i.enabled:i,f=a&&e[`${a}Key`],p=e.chartX,m=e.chartY,h,g=this.selectionMarker;if((!g||!g.touch)&&(p<s?p=s:p>s+l&&(p=s+l),m<c?m=c:m>c+u&&(m=c+u),this.hasDragged=Math.sqrt((n-p)**2+(r-m)**2),this.hasDragged>10)){h=t.isInsidePlot(n-s,r-c,{visiblePlotOnly:!0});let{shapeType:a,attrs:l}=this.getSelectionMarkerAttrs(p,m);this.hasZoom&&h&&!f&&!g&&(this.selectionMarker=g=t.renderer[a](),g.attr({class:`highcharts-selection-marker`,zIndex:7}).add(),t.styledMode||g.attr({fill:o||ro(`#334eff`).setOpacity(.25).get()})),g&&g.attr(l),h&&!g&&d&&t.pan(e,i)}}dragStart(e){let t=this.chart;t.mouseIsDown=e.type,t.cancelClick=!1,t.mouseDownX=e.chartX,t.mouseDownY=e.chartY}getSelectionBox(e){let t={args:{marker:e},result:e.getBBox()};return po(this,`getSelectionBox`,t),t.result}drop(e){let t,{chart:n,selectionMarker:r}=this;for(let e of n.axes)e.isPanning&&(e.isPanning=!1,(e.options.startOnTick||e.options.endOnTick||e.series.some(e=>e.boosted))&&(e.forceRedraw=!0,e.setExtremes(e.userMin,e.userMax,!1),t=!0));if(t&&n.redraw(),r&&e){if(this.hasDragged){let t=this.getSelectionBox(r);n.transform({axes:n.axes.filter(e=>e.zoomEnabled&&(e.coll===`xAxis`&&this.zoomX||e.coll===`yAxis`&&this.zoomY)),selection:{originalEvent:e,xAxis:[],yAxis:[],...t},from:t})}mo(n.index)&&(this.selectionMarker=r.destroy())}n&&mo(n.index)&&(lo(n.container,{cursor:n._cursor}),n.cancelClick=this.hasDragged>10,n.mouseIsDown=!1,this.hasDragged=0,this.pinchDown=[],this.hasPinchMoved=!1)}findNearestKDPoint(e,t,n){let r;return e.forEach(function(e){var i;let a,o,s,c=!(e.noSharedTooltip&&t)&&0>e.options.findNearestPointBy.indexOf(`y`),l=e.searchPoint(n,c);ho(l,!0)&&l.series&&(!ho(r,!0)||(a=(i=r).distX-l.distX,o=i.dist-l.dist,s=l.series.group?.zIndex-i.series.group?.zIndex,(a!==0&&t?a:o===0?s===0?i.series.index>l.series.index?-1:1:s:o)>0))&&(r=l)}),r}getChartCoordinatesFromPoint(e,t){let{xAxis:n,yAxis:r}=e.series,i=e.shapeArgs;if(n&&r){let a=e.clientX??e.plotX??0,o=e.plotY||0;return e.isNode&&i&&mo(i.x)&&mo(i.y)&&(a=i.x,o=i.y),t?{chartX:r.len+r.pos-o,chartY:n.len+n.pos-a}:{chartX:a+n.pos,chartY:o+r.pos}}if(i?.x&&i.y)return{chartX:i.x,chartY:i.y}}getChartPosition(){if(this.chartPosition)return this.chartPosition;let{container:e}=this.chart,t=_o(e);this.chartPosition={left:t.left,top:t.top,scaleX:1,scaleY:1};let{offsetHeight:n,offsetWidth:r}=e;return r>2&&n>2&&(this.chartPosition.scaleX=t.width/r,this.chartPosition.scaleY=t.height/n),this.chartPosition}getCoordinates(e){let t={xAxis:[],yAxis:[]};for(let n of this.chart.axes)t[n.isXAxis?`xAxis`:`yAxis`].push({axis:n,value:n.toValue(e[n.horiz?`chartX`:`chartY`])});return t}getHoverData(e,t,n,r,i,a){let o=[],s=function(e){return e.visible&&!(!i&&e.directTouch)&&vo(e.options.enableMouseTracking,!0)},c=t,l,u={chartX:a?a.chartX:void 0,chartY:a?a.chartY:void 0,shared:i};po(this,`beforeGetHoverData`,u),l=c&&!c.stickyTracking?[c]:n.filter(e=>e.stickyTracking&&(u.filter||s)(e));let d=r&&e||!a?e:this.findNearestKDPoint(l,i,a);return c=d?.series,d&&(i&&!c.noSharedTooltip?(l=n.filter(function(e){return u.filter?u.filter(e):s(e)&&!e.noSharedTooltip})).forEach(function(e){let t=e.options?.nullInteraction,n=fo(e.points,function(e){return e.x===d.x&&(!e.isNull||!!t)});ho(n)&&(e.boosted&&e.boost&&(n=e.boost.getPoint(n)),o.push(n))}):o.push(d)),po(this,`afterGetHoverData`,u={hoverPoint:d}),{hoverPoint:u.hoverPoint,hoverSeries:c,hoverPoints:o}}getPointFromEvent(e){let t=e.target,n;for(;t&&!n;)n=t.point,t=t.parentNode;return n}onTrackerMouseOut(e){let t=this.chart,n=e.relatedTarget,r=t.hoverSeries;this.isDirectTouch=!1,!r||!n||r.stickyTracking||this.inClass(n,`highcharts-tooltip`)||this.inClass(n,`highcharts-series-`+r.index)&&this.inClass(n,`highcharts-tracker`)||r.onMouseOut()}inClass(e,t){let n=e,r;for(;n;){if(r=co(n,`class`)){if(r.indexOf(t)!==-1)return!0;if(r.indexOf(`highcharts-container`)!==-1)return!1}n=n.parentElement}}constructor(e,t){this.hasDragged=0,this.pointerCaptureEventsToUnbind=[],this.eventsToUnbind=[],this.options=t,this.chart=e,this.runChartClick=!!t.chart.events?.click,this.pinchDown=[],this.setDOMEvents(),po(this,`afterInit`)}normalize(e,t){let n=e.touches,r=n?n.length?n.item(0):vo(n.changedTouches,e.changedTouches)[0]:e;t||=this.getChartPosition();let i=r.pageX-t.left,a=r.pageY-t.top;return uo(e,{chartX:Math.round(i/=t.scaleX),chartY:Math.round(a/=t.scaleY)})}onContainerClick(e){let t=this.chart,n=t.hoverPoint,r=this.normalize(e),i=t.plotLeft,a=t.plotTop;!t.cancelClick&&(n&&this.inClass(r.target,`highcharts-tracker`)?(po(n.series,`click`,uo(r,{point:n})),t.hoverPoint&&n.firePointEvent(`click`,r)):(uo(r,this.getCoordinates(r)),t.isInsidePlot(r.chartX-i,r.chartY-a,{visiblePlotOnly:!0})&&po(t,`click`,r)))}onContainerMouseDown(e){let t=(1&(e.buttons||e.button))==1;e=this.normalize(e),P.isFirefox&&e.button!==0&&this.onContainerMouseMove(e),(e.button===void 0||t)&&(this.zoomOption(e),t&&e.preventDefault?.(),this.dragStart(e))}onContainerMouseLeave(e){let{pointer:t}=io[vo(q.hoverChartIndex,-1)]||{};e=this.normalize(e),this.onContainerMouseMove(e),t&&!this.inClass(e.relatedTarget,`highcharts-tooltip`)&&(t.reset(),t.chartPosition=void 0)}onContainerMouseEnter(){delete this.chartPosition}onContainerMouseMove(e){let t=this.chart,n=t.tooltip,r=this.normalize(e);this.setHoverChartIndex(e),(t.mouseIsDown===`mousedown`||this.touchSelect(r))&&this.drag(r),!t.exporting?.openMenu&&(this.inClass(r.target,`highcharts-tracker`)||t.isInsidePlot(r.chartX-t.plotLeft,r.chartY-t.plotTop,{visiblePlotOnly:!0}))&&!n?.shouldStickOnContact(r)&&(this.inClass(r.target,`highcharts-no-tooltip`)?this.reset(!1,0):this.runPointActions(r))}onDocumentTouchEnd(e){this.onDocumentMouseUp(e)}onContainerTouchMove(e){this.touchSelect(e)?this.onContainerMouseMove(e):this.touch(e)}onContainerTouchStart(e){this.touchSelect(e)?this.onContainerMouseDown(e):(this.zoomOption(e),this.touch(e,!0))}onDocumentMouseMove(e){let t=this.chart,n=t.tooltip,r=this.chartPosition,i=this.normalize(e,r);!r||t.isInsidePlot(i.chartX-t.plotLeft,i.chartY-t.plotTop,{visiblePlotOnly:!0})||n?.shouldStickOnContact(i)||i.target!==t.container.ownerDocument&&this.inClass(i.target,`highcharts-tracker`)||this.reset()}onDocumentMouseUp(e){e?.touches&&this.hasPinchMoved&&e?.preventDefault?.(),io[vo(q.hoverChartIndex,-1)]?.pointer?.drop(e)}pinch(e){let t=this,{chart:n,hasZoom:r,lastTouches:i}=t,a=[].map.call(e.touches||[],e=>t.normalize(e)),o=a.length,s=o===1&&(t.inClass(e.target,`highcharts-tracker`)&&n.runTrackerClick||t.runChartClick),c=n.tooltip,l=o===1&&vo(c?.options.followTouchMove,!0);o>1?t.initiated=!0:l&&(t.initiated=!1),r&&t.initiated&&!s&&!1!==e.cancelable&&e.preventDefault(),e.type===`touchstart`?(t.pinchDown=a,t.res=!0,n.mouseDownX=e.chartX):l?this.runPointActions(t.normalize(e)):i&&(po(n,`touchpan`,{originalEvent:e,touches:a},()=>{let t=e=>{let t=e[0],n=e[1]||t;return{x:t.chartX,y:t.chartY,width:n.chartX-t.chartX,height:n.chartY-t.chartY}};n.transform({axes:n.axes.filter(e=>e.zoomEnabled&&(this.zoomHor&&e.horiz||this.zoomVert&&!e.horiz)),to:t(a),from:t(i),trigger:e.type})}),t.res&&(t.res=!1,this.reset(!1,0))),t.lastTouches=a}reset(e,t){let n=this.chart,r=n.hoverSeries,i=n.hoverPoint,a=n.hoverPoints,o=n.tooltip,s=o?.shared?a:i;e&&s&&bo(s).forEach(function(t){t.series.isCartesian&&t.plotX===void 0&&(e=!1)}),e?o&&s&&bo(s).length&&(o.refresh(s),o.shared&&a?a.forEach(function(e){e.setState(e.state,!0),e.series.isCartesian&&(e.series.xAxis.crosshair&&e.series.xAxis.drawCrosshair(null,e),e.series.yAxis.crosshair&&e.series.yAxis.drawCrosshair(null,e))}):i&&(i.setState(i.state,!0),n.axes.forEach(function(e){e.crosshair&&i.series[e.coll]===e&&e.drawCrosshair(null,i)}))):(i&&i.onMouseOut(),a&&a.forEach(function(e){e.setState()}),r&&r.onMouseOut(),o&&o.hide(t),this.unDocMouseMove&&=this.unDocMouseMove(),n.axes.forEach(function(e){e.hideCrosshair()}),n.hoverPoints=n.hoverPoint=void 0)}runPointActions(e,t,n){let r=this.chart,i=r.series,a=r.tooltip?.options.enabled?r.tooltip:void 0,o=!!a&&a.shared,s=t||r.hoverPoint,c=s?.series||r.hoverSeries,l=(!e||e.type!==`touchmove`)&&(!!t||c?.directTouch&&this.isDirectTouch),u=this.getHoverData(s,c,i,l,o,e);s=u.hoverPoint,c=u.hoverSeries;let d=u.hoverPoints,f=c?.tooltipOptions.followPointer&&!c.tooltipOptions.split,p=o&&c&&!c.noSharedTooltip;if(s&&(n||s!==r.hoverPoint||a?.isHidden)){if((r.hoverPoints||[]).forEach(function(e){d.indexOf(e)===-1&&e.setState()}),r.hoverSeries!==c&&c.onMouseOver(),this.applyInactiveState(d),(d||[]).forEach(function(e){e.setState(`hover`)}),r.hoverPoint&&r.hoverPoint.firePointEvent(`mouseOut`),!s.series)return;r.hoverPoints=d,r.hoverPoint=s,s.firePointEvent(`mouseOver`,void 0,()=>{a&&s&&a.refresh(p?d:s,e)})}else if(f&&a&&!a.isHidden){let t=a.getAnchor([{}],e);r.isInsidePlot(t[0],t[1],{visiblePlotOnly:!0})&&a.updatePosition({plotX:t[0],plotY:t[1]})}this.unDocMouseMove||(this.unDocMouseMove=so(r.container.ownerDocument,`mousemove`,e=>io[q.hoverChartIndex??-1]?.pointer?.onDocumentMouseMove(e)),this.eventsToUnbind.push(this.unDocMouseMove)),r.axes.forEach(function(t){let n,i=t.crosshair?.snap??!0;i&&((n=r.hoverPoint)&&n.series[t.coll]===t||(n=fo(d,e=>e.series?.[t.coll]===t))),n||!i?t.drawCrosshair(e,n):t.hideCrosshair()})}setDOMEvents(){let e=this.chart.container,t=e.ownerDocument,n=e=>e.parentElement||e.getRootNode()?.host?.parentElement;e.onmousedown=this.onContainerMouseDown.bind(this),e.onmousemove=this.onContainerMouseMove.bind(this),e.onclick=this.onContainerClick.bind(this),this.eventsToUnbind.push(so(e,`mouseenter`,this.onContainerMouseEnter.bind(this)),so(e,`mouseleave`,this.onContainerMouseLeave.bind(this))),q.unbindDocumentMouseUp.some(e=>e.doc===t)||q.unbindDocumentMouseUp.push({doc:t,unbind:so(t,`mouseup`,this.onDocumentMouseUp.bind(this))});let r=n(this.chart.renderTo);for(;r&&r.tagName!==`BODY`;)this.eventsToUnbind.push(so(r,`scroll`,()=>{delete this.chartPosition})),r=n(r);this.eventsToUnbind.push(so(e,`touchstart`,this.onContainerTouchStart.bind(this),{passive:!1}),so(e,`touchmove`,this.onContainerTouchMove.bind(this),{passive:!1})),q.unbindDocumentTouchEnd||=so(t,`touchend`,this.onDocumentTouchEnd.bind(this),{passive:!1}),this.setPointerCapture(),so(this.chart,`redraw`,this.setPointerCapture.bind(this))}setPointerCapture(){if(!oo)return;let e=this.pointerCaptureEventsToUnbind,t=this.chart,n=t.container,r=vo(t.options.tooltip?.followTouchMove,!0)&&t.series.some(e=>e.options.findNearestPointBy.indexOf(`y`)>-1);!this.hasPointerCapture&&r?(e.push(so(n,`pointerdown`,e=>{e.target?.hasPointerCapture(e.pointerId)&&e.target?.releasePointerCapture(e.pointerId)}),so(n,`pointermove`,e=>{t.pointer?.getPointFromEvent(e)?.onMouseOver(e)})),t.styledMode||lo(n,{"touch-action":`none`}),n.className+=` highcharts-no-touch-action`,this.hasPointerCapture=!0):this.hasPointerCapture&&!r&&(e.forEach(e=>e()),e.length=0,t.styledMode||lo(n,{"touch-action":vo(t.options.chart.style?.[`touch-action`],`manipulation`)}),n.className=n.className.replace(` highcharts-no-touch-action`,``),this.hasPointerCapture=!1)}setHoverChartIndex(e){let t=this.chart,n=P.charts[vo(q.hoverChartIndex,-1)];if(n&&n!==t){let r={relatedTarget:t.container};e&&!e?.relatedTarget&&Object.assign({},e,r),n.pointer?.onContainerMouseLeave(e||r)}n?.mouseIsDown||(q.hoverChartIndex=t.index)}touch(e,t){let n,{chart:r,pinchDown:i=[]}=this;this.setHoverChartIndex(),(e=this.normalize(e)).touches.length===1?r.isInsidePlot(e.chartX-r.plotLeft,e.chartY-r.plotTop,{visiblePlotOnly:!0})&&!r.exporting?.openMenu?(t&&this.runPointActions(e),e.type===`touchmove`&&(this.hasPinchMoved=n=!!i[0]&&(i[0].chartX-e.chartX)**2+(i[0].chartY-e.chartY)**2>=16),vo(n,!0)&&this.pinch(e)):t&&this.reset():e.touches.length===2&&this.pinch(e)}touchSelect(e){return!!(this.chart.zooming.singleTouch&&e.touches&&e.touches.length===1)}zoomOption(e){let t=this.chart,n=t.inverted,r=t.zooming.type||``,i,a;/touch/.test(e.type)&&(r=vo(t.zooming.pinchType,r)),this.zoomX=i=/x/.test(r),this.zoomY=a=/y/.test(r),this.zoomHor=i&&!n||a&&n,this.zoomVert=a&&!n||i&&n,this.hasZoom=i||a}}q.unbindDocumentMouseUp=[],(u=q||={}).compose=function(e){yo(ao,`Core.Pointer`)&&so(e,`beforeRender`,function(){this.pointer=new u(this,this.options)})};let xo=q;(d=w||={}).setLength=function(e,t,n){return Array.isArray(e)?(e.length=t,e):e[n?`subarray`:`slice`](0,t)},d.splice=function(e,t,n,r,i=[]){if(Array.isArray(e))return Array.isArray(i)||(i=Array.from(i)),{removed:e.splice(t,n,...i),array:e};let a=Object.getPrototypeOf(e).constructor,o=e[r?`subarray`:`slice`](t,t+n),s=new a(e.length-n+i.length);return s.set(e.subarray(0,t),0),s.set(i,t),s.set(e.subarray(t+n),t+i.length),{removed:o,array:s}},d.convertToNumber=function(e,t){switch(typeof e){case`boolean`:return+!!e;case`number`:return isNaN(e)&&!t?null:e;default:return isNaN(e=parseFloat(`${e??``}`))&&!t?null:e}};let{setLength:So,splice:Co}=w,{fireEvent:wo,objectEach:To,uniqueKey:Eo}=F,Do=class{constructor(e={}){this.autoId=!e.id,this.columns={},this.id=e.id||Eo(),this.rowCount=0,this.versionTag=Eo();let t=0;To(e.columns||{},(e,n)=>{this.columns[n]=e.slice(),t=Math.max(t,e.length)}),this.applyRowCount(t)}applyRowCount(e){this.rowCount=e,To(this.columns,(t,n)=>{t.length!==e&&(this.columns[n]=So(t,e))})}deleteRows(e,t=1){if(t>0&&e<this.rowCount){let n=0;To(this.columns,(r,i)=>{this.columns[i]=Co(r,e,t).array,n=r.length}),this.rowCount=n}wo(this,`afterDeleteRows`,{rowIndex:e,rowCount:t}),this.versionTag=Eo()}getColumn(e,t){return this.columns[e]}getColumns(e,t){return(e||Object.keys(this.columns)).reduce((e,t)=>(e[t]=this.columns[t],e),{})}getRow(e,t){return(t||Object.keys(this.columns)).map(t=>this.columns[t]?.[e])}setColumn(e,t=[],n=0,r){this.setColumns({[e]:t},n,r)}setColumns(e,t,n){let r=this.rowCount;To(e,(e,t)=>{this.columns[t]=e.slice(),r=e.length}),this.applyRowCount(r),n?.silent||(wo(this,`afterSetColumns`),this.versionTag=Eo())}setRow(e,t=this.rowCount,n,r){let{columns:i}=this,a=n?this.rowCount+1:t+1,o=Object.keys(e);if(r?.addColumns!==!1)for(let e=0,t=o.length;e<t;e++){let t=o[e];i[t]||(i[t]=[])}To(i,(o,s)=>{o||r?.addColumns===!1||(o=Array(a)),o&&(n?o=Co(o,t,0,!0,[e[s]??null]).array:o[t]=e[s]??null,i[s]=o)}),a>this.rowCount&&this.applyRowCount(a),r?.silent||(wo(this,`afterSetRows`),this.versionTag=Eo())}getModified(){return this.modified||this}},{extend:Oo,merge:ko,pick:Ao}=F;var jo=T||={};function Mo(e,t,n){let r=this.legendItem=this.legendItem||{},{chart:i,options:a}=this,{baseline:o=0,symbolWidth:s,symbolHeight:c}=e,l=this.symbol||`circle`,u=c/2,d=i.renderer,f=r.group,p=o-Math.round((e.fontMetrics?.b||c)*(n?.4:.3)),m={},h,g=a.marker,_=0;if(i.styledMode||(m[`stroke-width`]=Math.min(a.lineWidth||0,24),a.dashStyle?m.dashstyle=a.dashStyle:a.linecap!==`square`&&(m[`stroke-linecap`]=`round`)),r.line=d.path().addClass(`highcharts-graph`).attr(m).add(f),n&&(r.area=d.path().addClass(`highcharts-area`).add(f)),m[`stroke-linecap`]&&(_=Math.min(r.line.strokeWidth(),s)/2),s){let e=[[`M`,_,p],[`L`,s-_,p]];r.line.attr({d:e}),r.area?.attr({d:[...e,[`L`,s-_,o],[`L`,_,o]]})}if(g&&!1!==g.enabled&&s){let e=Math.min(Ao(g.radius,u),u);l.indexOf(`url`)===0&&(g=ko(g,{width:c,height:c}),e=0),r.symbol=h=d.symbol(l,s/2-e,p-e,2*e,2*e,Oo({context:`legend`},g)).addClass(`highcharts-point`).add(f),h.isMarker=!0}}jo.areaMarker=function(e,t){Mo.call(this,e,t,!0)},jo.lineMarker=Mo,jo.rectangle=function(e,t){let n=t.legendItem||{},r=e.options,i=e.symbolHeight,a=r.squareSymbol,o=a?i:e.symbolWidth;n.symbol=this.chart.renderer.rect(a?(e.symbolWidth-i)/2:0,e.baseline-i+1,o,i,Ao(e.options.symbolRadius,i/2)).addClass(`highcharts-point`).attr({zIndex:3}).add(n.group)};let No=T,{defaultOptions:Po}=Xe,{extend:Fo,extendClass:Io,merge:Lo}=F;var Ro=E||={};function zo(e,t){let n=Po.plotOptions||{},r=t.defaultOptions,i=t.prototype;return i.type=e,i.pointClass||=no,!Ro.seriesTypes[e]&&(r&&(n[e]=r),Ro.seriesTypes[e]=t,!0)}Ro.seriesTypes=P.seriesTypes,Ro.registerSeriesType=zo,Ro.seriesType=function(e,t,n,r,i){let a=Po.plotOptions||{};if(t||=``,a[e]=Lo(a[t],n),delete Ro.seriesTypes[e],zo(e,Io(Ro.seriesTypes[t]||P.Series,r)),Ro.seriesTypes[e].prototype.type=e,i){class t extends no{}Fo(t.prototype,i),Ro.seriesTypes[e].prototype.pointClass=t}return Ro.seriesTypes[e]};let J=E,{animObject:Bo,setAnimation:Vo}=B,{defaultOptions:Ho}=Xe,{registerEventOptions:Uo}=ei,{svg:Wo,win:Go}=P,{seriesTypes:Ko}=J,{format:qo}=Kt,{arrayMax:Jo,arrayMin:Yo,clamp:Xo,correctFloat:Zo,crisp:Qo,defined:Y,destroyObjectProperties:$o,diffObjects:es,erase:ts,error:ns,extend:rs,find:is,fireEvent:X,getClosestDistance:as,getNestedProperty:os,insertItem:ss,isArray:cs,isNumber:Z,isString:ls,merge:us,objectEach:ds,pick:Q,removeEvent:fs,syncTimeout:ps}=F;class ms{constructor(){this.zoneAxis=`y`}init(e,t){let n;X(this,`init`,{options:t}),this.dataTable??=new Do;let r=e.series;this.eventsToUnbind=[],this.chart=e,this.options=this.setOptions(t);let i=this.options,a=!1!==i.visible;this.linkedSeries=[],this.bindAxes(),rs(this,{name:i.name,state:``,visible:a,selected:!0===i.selected}),Uo(this,i),(i.events?.click||i.point?.events?.click||i.allowPointSelect)&&(e.runTrackerClick=!0),this.getColor(),this.getSymbol(),this.isCartesian&&(e.hasCartesianSeries=!0),r.length&&(n=r[r.length-1]),this._i=Q(n?._i,-1)+1,this.opacity=this.options.opacity,e.orderItems(`series`,ss(this,r)),i.dataSorting?.enabled?this.setDataSortingOptions():this.points||this.data||this.setData(i.data,!1),X(this,`afterInit`)}is(e){return Ko[e]&&this instanceof Ko[e]}bindAxes(){let e,t=this,n=t.options,r=t.chart;X(this,`bindAxes`,null,function(){(t.axisTypes||[]).forEach(function(i){(r[i]||[]).forEach(function(r){e=r.options,(Q(n[i],0)===r.index||n[i]!==void 0&&n[i]===e.id)&&(ss(t,r.series),t[i]=r,r.isDirty=!0)}),t[i]||t.optionalAxis===i||ns(18,!0,r)})}),X(this,`afterBindAxes`)}hasData(){return this.visible&&this.dataMax!==void 0&&this.dataMin!==void 0||this.visible&&this.dataTable.rowCount>0}hasMarkerChanged(e,t){let n=e.marker,r=t.marker||{};return n&&(r.enabled&&!n.enabled||r.symbol!==n.symbol||r.height!==n.height||r.width!==n.width)}autoIncrement(e){let t,n=this.options,{pointIntervalUnit:r,relativeXValue:i}=this.options,a=this.chart.time,o=this.xIncrement??a.parse(n.pointStart)??0;if(this.pointInterval=t=Q(this.pointInterval,n.pointInterval,1),i&&Z(e)&&(t*=e),r){let e=a.toParts(o);r===`day`?e[2]+=t:r===`month`?e[1]+=t:r===`year`&&(e[0]+=t),t=a.makeTime.apply(a,e)-o}return i&&Z(e)?o+t:(this.xIncrement=o+t,o)}setDataSortingOptions(){let e=this.options;rs(this,{requireSorting:!1,sorted:!1,enabledDataSorting:!0,allowDG:!1}),Y(e.pointRange)||(e.pointRange=1)}setOptions(e){let t,n=this.chart,r=n.options.plotOptions,i=n.userOptions||{},a=us(e),o=n.styledMode,s={plotOptions:r,userOptions:a};X(this,`setOptions`,s);let c=s.plotOptions[this.type],l=i.plotOptions||{},u=l.series||{},d=Ho.plotOptions[this.type]||{},f=l[this.type]||{};c.dataLabels=this.mergeArrays(d.dataLabels,c.dataLabels),this.userOptions=s.userOptions;let p=us(c,r.series,f,a);this.tooltipOptions=us(Ho.tooltip,Ho.plotOptions.series?.tooltip,d?.tooltip,n.userOptions.tooltip,l.series?.tooltip,f.tooltip,a.tooltip),this.stickyTracking=Q(a.stickyTracking,f.stickyTracking,u.stickyTracking,!!this.tooltipOptions.shared&&!this.noSharedTooltip||p.stickyTracking),c.marker===null&&delete p.marker,this.zoneAxis=p.zoneAxis||`y`;let m=this.zones=(p.zones||[]).map(e=>({...e}));return(p.negativeColor||p.negativeFillColor)&&!p.zones&&(t={value:p[this.zoneAxis+`Threshold`]||p.threshold||0,className:`highcharts-negative`},o||(t.color=p.negativeColor,t.fillColor=p.negativeFillColor),m.push(t)),m.length&&Y(m[m.length-1].value)&&m.push(o?{}:{color:this.color,fillColor:this.fillColor}),X(this,`afterSetOptions`,{options:p}),p}getName(){return this.options.name??qo(this.chart.options.lang.seriesName,this,this.chart)}getCyclic(e,t,n){let r,i,a=this.chart,o=`${e}Index`,s=`${e}Counter`,c=n?.length||a.options.chart.colorCount;!t&&(Y(i=Q(e===`color`?this.options.colorIndex:void 0,this[o]))?r=i:(a.series.length||(a[s]=0),r=a[s]%c,a[s]+=1),n&&(t=n[r])),r!==void 0&&(this[o]=r),this[e]=t}getColor(){this.chart.styledMode?this.getCyclic(`color`):this.options.colorByPoint?this.color=`#cccccc`:this.getCyclic(`color`,this.options.color||Ho.plotOptions[this.type].color,this.chart.options.colors)}getPointsCollection(){return(this.hasGroupedData?this.points:this.data)||[]}getSymbol(){let e=this.options.marker;this.getCyclic(`symbol`,e.symbol,this.chart.options.symbols)}getColumn(e,t){return(t?this.dataTable.getModified():this.dataTable).getColumn(e,!0)||[]}findPointIndex(e,t){let n,r,i,{id:a,x:o}=e,s=this.points,c=this.options.dataSorting,l=this.cropStart||0;if(a){let e=this.chart.get(a);e instanceof no&&(n=e)}else if(this.linkedParent||this.enabledDataSorting||this.options.relativeXValue){let t=t=>!t.touched&&t.index===e.index;if(c?.matchByName?t=t=>!t.touched&&t.name===e.name:this.options.relativeXValue&&(t=t=>!t.touched&&t.options.x===e.x),!(n=is(s,t)))return}return n&&(i=n?.index)!==void 0&&(r=!0),i===void 0&&Z(o)&&(i=this.getColumn(`x`).indexOf(o,t)),i!==-1&&i!==void 0&&this.cropped&&(i=i>=l?i-l:i),!r&&Z(i)&&s[i]?.touched&&(i=void 0),i}updateData(e,t){let{options:n,requireSorting:r}=this,i=n.dataSorting,a=this.points,o=[],s=e.length===a.length,c=this.xIncrement,l,u,d,f,p=!0;if(this.xIncrement=null,e.forEach((e,t)=>{let c,u=Y(e)&&this.pointClass.prototype.optionsToObject.call({series:this},e)||{},{id:d,x:p}=u;d||Z(p)?((c=this.findPointIndex(u,f))===-1||c===void 0?o.push(e):a[c]&&e!==n.data?.[c]?(a[c].update(e,!1,void 0,!1),a[c].touched=!0,r&&(f=c+1)):a[c]&&(a[c].touched=!0),(!s||t!==c||i?.enabled||this.hasDerivedData)&&(l=!0)):o.push(e)},this),l)for(u=a.length;u--;)(d=a[u])&&!d.touched&&d.remove?.(!1,t);else s&&!i?.enabled?(e.forEach((e,t)=>{e===a[t].y||a[t].destroyed||a[t].update(e,!1,void 0,!1)}),o.length=0):p=!1;if(a.forEach(e=>{e&&(e.touched=!1)}),!p)return!1;o.forEach(e=>{this.addPoint(e,!1,void 0,void 0,!1)},this);let m=this.getColumn(`x`);return c!==null&&this.xIncrement===null&&m.length&&(this.xIncrement=Jo(m),this.autoIncrement()),!0}dataColumnKeys(){return[`x`,...this.pointArrayMap||[`y`]]}setData(e,t=!0,n,r){let i=this.points,a=i?.length||0,o=this.options,s=this.chart,c=o.dataSorting,l=this.xAxis,u=o.turboThreshold,d=this.dataTable,f=this.dataColumnKeys(),p=this.pointValKey||`y`,m=(this.pointArrayMap||[]).length,h=o.keys,g,_,v=0,y=1,b;s.options.chart.allowMutatingData||(o.data&&delete this.options.data,this.userOptions.data&&delete this.userOptions.data,b=us(!0,e));let x=(e=b||e||[]).length;if(c?.enabled&&(e=this.sortData(e)),s.options.chart.allowMutatingData&&!1!==r&&x&&a&&!this.cropped&&!this.hasGroupedData&&this.visible&&!this.boosted&&(_=this.updateData(e,n)),!_){this.xIncrement=null,this.colorCounter=0;let t=u&&!o.relativeXValue&&x>u;if(t){let n=this.getFirstValidPoint(e),r=this.getFirstValidPoint(e,x-1,-1),i=e=>!!(cs(e)&&(h||Z(e[0])));if(Z(n)&&Z(r)){let t=[],n=[];for(let r of e)t.push(this.autoIncrement()),n.push(r);d.setColumns({x:t,[p]:n})}else if(i(n)&&i(r))if(m){let t=+(n.length===m),r=Array(f.length).fill(0).map(()=>[]);for(let n of e){t&&r[0].push(this.autoIncrement());for(let e=t;e<=m;e++)r[e]?.push(n[e-t])}d.setColumns(f.reduce((e,t,n)=>(e[t]=r[n],e),{}))}else{h&&(v=h.indexOf(`x`),y=h.indexOf(`y`),v=v>=0?v:0,y=y>=0?y:1),n.length===1&&(y=0);let t=[],r=[];if(v===y)for(let n of e)t.push(this.autoIncrement()),r.push(n[y]);else for(let n of e)t.push(n[v]),r.push(n[y]);d.setColumns({x:t,[p]:r})}else t=!1}if(!t){let t=f.reduce((e,t)=>(e[t]=[],e),{});for(g=0;g<x;g++){let n=this.pointClass.prototype.applyOptions.apply({series:this},[e[g]]);for(let e of f)t[e][g]=n[e]}d.setColumns(t)}for(ls(this.getColumn(`y`)[0])&&ns(14,!0,s),this.data=[],this.options.data=this.userOptions.data=e,g=a;g--;)i[g]?.destroy();l&&(l.minRange=l.userMinRange),this.isDirty=s.isDirtyBox=!0,this.isDirtyData=!!i,n=!1}o.legendType===`point`&&(this.processData(),this.generatePoints()),t&&s.redraw(n)}sortData(e){let t=this,n=t.options.dataSorting.sortKey||`y`,r=function(e,t){return Y(t)&&e.pointClass.prototype.optionsToObject.call({series:e},t)||{}};return e.forEach(function(n,i){e[i]=r(t,n),e[i].index=i},this),e.concat().sort((e,t)=>{let r=os(n,e),i=os(n,t);return i<r?-1:+(i>r)}).forEach(function(e,t){e.x=t},this),t.linkedSeries&&t.linkedSeries.forEach(function(t){let n=t.options,i=n.data;!n.dataSorting?.enabled&&i&&(i.forEach(function(n,a){i[a]=r(t,n),e[a]&&(i[a].x=e[a].x,i[a].index=a)}),t.setData(i,!1))}),e}getProcessedData(e){let t=this,{dataTable:n,isCartesian:r,options:i,xAxis:a}=t,o=i.cropThreshold,s=e||t.getExtremesFromAll,c=a?.logarithmic,l=n.rowCount,u,d,f=0,p,m,h,g=t.getColumn(`x`),_=n,v=!1;return a&&(m=(p=a.getExtremes()).min,h=p.max,v=!!(a.categories&&!a.names.length),r&&t.sorted&&!s&&(!o||l>o||t.forceCrop)&&(g[l-1]<m||g[0]>h?_=new Do:t.getColumn(t.pointValKey||`y`).length&&(g[0]<m||g[l-1]>h)&&(_=(u=this.cropData(n,m,h)).modified,f=u.start,d=!0))),g=_.getColumn(`x`)||[],{modified:_,cropped:d,cropStart:f,closestPointRange:as([c?g.map(c.log2lin):g],()=>t.requireSorting&&!v&&ns(15,!1,t.chart))}}processData(e){let t=this.xAxis,n=this.dataTable;if(this.isCartesian&&!this.isDirty&&!t.isDirty&&!this.yAxis.isDirty&&!e)return!1;let r=this.getProcessedData();n.modified=r.modified,this.cropped=r.cropped,this.cropStart=r.cropStart,this.closestPointRange=this.basePointRange=r.closestPointRange,X(this,`afterProcessData`)}cropData(e,t,n){let r=e.getColumn(`x`,!0)||[],i=r.length,a={},o,s,c=0,l=i;for(o=0;o<i;o++)if(r[o]>=t){c=Math.max(0,o-1);break}for(s=o;s<i;s++)if(r[s]>n){l=s+1;break}for(let t of this.dataColumnKeys()){let n=e.getColumn(t,!0);n&&(a[t]=n.slice(c,l))}return{modified:new Do({columns:a}),start:c,end:l}}generatePoints(){let e=this.options,t=this.processedData||e.data,n=this.dataTable.getModified(),r=this.getColumn(`x`,!0),i=this.pointClass,a=n.rowCount,o=this.cropStart||0,s=this.hasGroupedData,c=e.keys,l=[],u=e.dataGrouping?.groupAll?o:0,d=this.pointArrayMap||[`y`],f=this.dataColumnKeys(),p,m,h,g,_=this.data,v;if(!_&&!s){let e=[];e.length=t?.length||0,_=this.data=e}for(c&&s&&(this.options.keys=!1),g=0;g<a;g++)m=o+g,s?((h=new i(this,n.getRow(g,f)||[])).dataGroup=this.groupMap?.[u+g],h.dataGroup?.options&&(h.options=h.dataGroup.options,rs(h,h.dataGroup.options),delete h.dataLabels,h.key=h.name??h.category)):(h=_[m],v=t?t[m]:n.getRow(g,d),h||v===void 0?h&&(h.category=this.xAxis?.categories?.[h.x]??h.x,h.key=h.name??h.category):_[m]=h=new i(this,v,r[g])),h&&(h.index=s?u+g:m,l[g]=h);if(this.options.keys=c,_&&(a!==(p=_.length)||s))for(g=0;g<p;g++)g!==o||s||(g+=a),_[g]&&(_[g].destroyElements(),_[g].plotX=void 0);this.data=_,this.points=l,X(this,`afterGeneratePoints`)}getXExtremes(e){return{min:Yo(e),max:Jo(e)}}getExtremes(e,t){let{xAxis:n,yAxis:r}=this,i=t||this.getExtremesFromAll||this.options.getExtremesFromAll,a=i&&this.cropped?this.dataTable:this.dataTable.getModified(),o=a.rowCount,s=e||this.stackedYData,c=s?[s]:(this.keysAffectYAxis||this.pointArrayMap||[`y`])?.map(e=>a.getColumn(e,!0)||[])||[],l=this.getColumn(`x`,!0),u=[],d=this.requireSorting&&!this.is(`column`)?1:0,f=!!r&&r.positiveValuesOnly,p=i||this.cropped||!n,m,h,g,_=0,v=0;for(n&&(_=(m=n.getExtremes()).min,v=m.max),g=0;g<o;g++)if(h=l[g],p||(l[g+d]||h)>=_&&(l[g-d]||h)<=v)for(let e of c){let t=e[g];Z(t)&&(t>0||!f)&&u.push(t)}let y={activeYData:u,dataMin:Yo(u),dataMax:Jo(u)};return X(this,`afterGetExtremes`,{dataExtremes:y}),y}applyExtremes(){let e=this.getExtremes();return this.dataMin=e.dataMin,this.dataMax=e.dataMax,e}getFirstValidPoint(e,t=0,n=1){let r=e.length,i=t;for(;i>=0&&i<r;){if(Y(e[i]))return e[i];i+=n}}translate(){this.generatePoints();let e=this.options,t=e.stacking,n=this.xAxis,r=this.enabledDataSorting,i=this.yAxis,a=this.points,o=a.length,s=this.pointPlacementToXValue(),c=!!s,l=e.threshold,u=e.startFromThreshold?l:0,d=e?.nullInteraction&&i.len,f,p,m,h,g=Number.MAX_VALUE;function _(e){return Xo(e,-1e9,1e9)}for(f=0;f<o;f++){let e,o=a[f],v=o.x,y,b,x=o.y,S=o.low,C=t&&i.stacking?.stacks[(this.negStacks&&x<(u?0:l)?`-`:``)+this.stackKey];o.plotX=Z(p=n.translate(v,!1,!1,!1,!0,s))?Zo(_(p)):void 0,t&&this.visible&&C&&C[v]&&(h=this.getStackIndicator(h,v,this.index),!o.isNull&&h.key&&(b=(y=C[v]).points[h.key]),y&&cs(b)&&(S=b[0],x=b[1],S===u&&h.key===C[v].base&&(S=Q(Z(l)?l:i.min)),i.positiveValuesOnly&&Y(S)&&S<=0&&(S=void 0),o.total=o.stackTotal=Q(y.total),o.percentage=Y(o.y)&&y.total?o.y/y.total*100:void 0,o.stackY=x,this.irregularWidths||y.setOffset(this.pointXOffset||0,this.barW||0,void 0,void 0,void 0,this.xAxis))),o.yBottom=Y(S)?_(i.translate(S,!1,!0,!1,!0)):void 0,this.dataModify&&(x=this.dataModify.modifyValue(x,f)),Z(x)&&o.plotX!==void 0?e=Z(e=i.translate(x,!1,!0,!1,!0))?_(e):void 0:!Z(x)&&d&&(e=d),o.plotY=e,o.isInside=this.isPointInside(o),o.clientX=c?Zo(n.translate(v,!1,!1,!1,!0,s)):p,o.negative=(o.y||0)<(l||0),o.isNull||!1===o.visible||(m!==void 0&&(g=Math.min(g,Math.abs(p-m))),m=p),o.zone=this.zones.length?o.getZone():void 0,!o.graphic&&this.group&&r&&(o.isNew=!0)}this.closestPointRangePx=g,X(this,`afterTranslate`)}getValidPoints(e,t,n){let r=this.chart;return(e||this.points||[]).filter(function(e){let{plotX:i,plotY:a}=e;return(!!n||!e.isNull&&!!Z(a))&&(!t||!!r.isInsidePlot(i,a,{inverted:r.inverted}))&&!1!==e.visible})}getSharedClipKey(){return this.sharedClipKey=(this.options.xAxis||0)+`,`+(this.options.yAxis||0),this.sharedClipKey}setClip(){let{chart:e,group:t,markerGroup:n}=this,r=e.sharedClips,i=e.renderer,a=e.getClipBox(this),o=this.getSharedClipKey(),s=r[o];X(this,`setClip`,{clipBox:a}),s?s.animate(a):r[o]=s=i.clipRect(a),t&&t.clip(!1===this.options.clip?void 0:s),n&&n.clip()}animate(e){let{chart:t,group:n,markerGroup:r}=this,i=t.inverted,a=Bo(this.options.animation),o=[this.getSharedClipKey(),a.duration,a.easing,a.defer].join(`,`),s=t.sharedClips[o],c=t.sharedClips[o+`m`];if(e&&n){let e=t.getClipBox(this);if(s)s.attr(`height`,e.height);else{e.width=0,i&&(e.x=t.plotHeight),s=t.renderer.clipRect(e),t.sharedClips[o]=s;let n={x:-99,y:-99,width:i?t.plotWidth+199:99,height:i?99:t.plotHeight+199};c=t.renderer.clipRect(n),t.sharedClips[o+`m`]=c}n.clip(s),r?.clip(c)}else if(s&&!s.hasClass(`highcharts-animating`)){let e=t.getClipBox(this),n=a.step;(r?.element.childNodes.length||t.series.length>1)&&(a.step=function(e,t){n&&n.apply(t,arguments),t.prop===`width`&&c?.element&&c.attr(i?`height`:`width`,e+99)}),s.addClass(`highcharts-animating`).animate(e,a)}}afterAnimate(){this.setClip(),ds(this.chart.sharedClips,(e,t,n)=>{e&&!this.chart.container.querySelector(`[clip-path="url(#${e.id})"]`)&&(e.destroy(),delete n[t])}),this.finishedAnimating=!0,X(this,`afterAnimate`)}drawPoints(e=this.points){let t,n,r,i,a,o,s,c=this.chart,l=c.styledMode,{colorAxis:u,options:d}=this,f=d.marker,p=d.nullInteraction,m=this[this.specialGroup||`markerGroup`],h=this.xAxis,g=Q(f.enabled,!h||!!h.isRadial||null,this.closestPointRangePx>=f.enabledThreshold*f.radius);if(!1!==f.enabled||this._hasPointMarkers)for(t=0;t<e.length;t++){i=(r=(n=e[t]).graphic)?`animate`:`attr`,a=n.marker||{},o=!!n.marker;let d=n.isNull;if((g&&!Y(a.enabled)||a.enabled)&&(!d||p)&&!1!==n.visible){let e=Q(a.symbol,this.symbol,`rect`);s=this.markerAttribs(n,n.selected&&`select`),this.enabledDataSorting&&(n.startXPos=h.reversed?-(s.width||0):h.width);let t=!1!==n.isInside;if(!r&&t&&((s.width||0)>0||n.hasImage)&&(n.graphic=r=c.renderer.symbol(e,s.x,s.y,s.width,s.height,o?a:f).add(m),this.enabledDataSorting&&c.hasRendered&&(r.attr({x:n.startXPos}),i=`animate`)),r&&i===`animate`&&r[t?`show`:`hide`](t).animate(s),r){let e=this.pointAttribs(n,l||!n.selected?void 0:`select`);l?u&&r.css({fill:e.fill}):r[i](e)}r&&r.addClass(n.getClassName(),!0)}else r&&(n.graphic=r.destroy())}}markerAttribs(e,t){let n=this.options,r=n.marker,i=e.marker||{},a=i.symbol||r.symbol,o={},s,c,l=Q(i.radius,r?.radius);t&&(s=r.states[t],c=i.states&&i.states[t],l=Q(c?.radius,s?.radius,l&&l+(s?.radiusPlus||0))),e.hasImage=a&&a.indexOf(`url`)===0,e.hasImage&&(l=0);let u=e.pos();return Z(l)&&u&&(n.crisp&&(u[0]=Qo(u[0],e.hasImage?0:a===`rect`?r?.lineWidth||0:1)),o.x=u[0]-l,o.y=u[1]-l),l&&(o.width=o.height=2*l),o}pointAttribs(e,t){let n=this.options,r=n.marker,i=e?.options,a=i?.marker||{},o=i?.color,s=e?.color,c=e?.zone?.color,l,u,d=this.color,f,p,m=Q(a.lineWidth,r.lineWidth),h=e?.isNull&&n.nullInteraction?0:1;return d=o||c||s||d,f=a.fillColor||r.fillColor||d,p=a.lineColor||r.lineColor||d,t||=`normal`,l=r.states[t]||{},m=Q((u=a.states&&a.states[t]||{}).lineWidth,l.lineWidth,m+Q(u.lineWidthPlus,l.lineWidthPlus,0)),f=u.fillColor||l.fillColor||f,p=u.lineColor||l.lineColor||p,{stroke:p,"stroke-width":m,fill:f,opacity:h=Q(u.opacity,l.opacity,h)}}destroy(e){let t,n,r=this,i=r.chart,a=/AppleWebKit\/533/.test(Go.navigator.userAgent),o=r.data||[];for(X(r,`destroy`,{keepEventsForUpdate:e}),this.removeEvents(e),(r.axisTypes||[]).forEach(function(e){n=r[e],n?.series&&(ts(n.series,r),n.isDirty=n.forceRedraw=!0)}),r.legendItem&&r.chart.legend.destroyItem(r),t=o.length;t--;)o[t]?.destroy?.();for(let e of r.zones)$o(e,void 0,!0);F.clearTimeout(r.animationTimeout),ds(r,function(e,t){e instanceof Mn&&!e.survive&&e[a&&t===`group`?`hide`:`destroy`]()}),i.hoverSeries===r&&(i.hoverSeries=void 0),ts(i.series,r),i.orderItems(`series`),ds(r,function(t,n){e&&n===`hcEvents`||delete r[n]})}applyZones(){let{area:e,chart:t,graph:n,zones:r,points:i,xAxis:a,yAxis:o,zoneAxis:s}=this,{inverted:c,renderer:l}=t,u=this[`${s}Axis`],{isXAxis:d,len:f=0,minPointOffset:p=0}=u||{},m=(n?.strokeWidth()||0)/2+1,h=(e,t=0,n=0)=>{c&&(n=f-n);let{translated:r=0,lineClip:i}=e,a=n-r;i?.push([`L`,t,Math.abs(a)<m?n-m*(a<=0?-1:1):r])};if(r.length&&(n||e)&&u&&Z(u.min)){let t=u.getExtremes().max+p,m=e=>{e.forEach((t,n)=>{(t[0]===`M`||t[0]===`L`)&&(e[n]=[t[0],d?f-t[1]:t[1],d?t[2]:f-t[2]])})};if(r.forEach(e=>{e.lineClip=[],e.translated=Xo(u.toPixels(Q(e.value,t),!0)||0,0,f)}),n&&!this.showLine&&n.hide(),e&&e.hide(),s===`y`&&i.length<a.len)for(let e of i){let{plotX:t,plotY:n,zone:i}=e,a=i&&r[r.indexOf(i)-1];i&&h(i,t,n),a&&h(a,t,n)}let g=[],_=u.toPixels(u.getExtremes().min-p,!0);r.forEach(t=>{let r=t.lineClip||[],i=Math.round(t.translated||0);a.reversed&&r.reverse();let{clip:s,simpleClip:u}=t,f=0,p=0,h=a.len,v=o.len;d?(f=i,h=_):(p=i,v=_);let y=[[`M`,f,p],[`L`,h,p],[`L`,h,v],[`L`,f,v],[`Z`]],b=[y[0],...r,y[1],y[2],...g,y[3],y[4]];g=r.reverse(),_=i,c&&(m(b),e&&m(y)),s?(s.animate({d:b}),u?.animate({d:y})):(s=t.clip=l.path(b),e&&(u=t.simpleClip=l.path(y))),n&&t.graph?.clip(s),e&&t.area?.clip(u)})}else this.visible&&(n&&n.show(),e&&e.show())}plotGroup(e,t,n,r,i){let a=this[e],o=!a,s={visibility:n,zIndex:r||.1};return Y(this.opacity)&&!this.chart.styledMode&&this.state!==`inactive`&&(s.opacity=this.opacity),a||(this[e]=a=this.chart.renderer.g().add(i)),a.addClass(`highcharts-`+t+` highcharts-series-`+this.index+` highcharts-`+this.type+`-series `+(Y(this.colorIndex)?`highcharts-color-`+this.colorIndex+` `:``)+(this.options.className||``)+(a.hasClass(`highcharts-tracker`)?` highcharts-tracker`:``),!0),a.attr(s)[o?`attr`:`animate`](this.getPlotBox(t)),a}getPlotBox(e){let t=this.xAxis,n=this.yAxis,r=this.chart,i=r.inverted&&!r.polar&&t&&this.invertible&&e===`series`;r.inverted&&(t=n,n=this.xAxis);let a={scale:1,translateX:t?t.left:r.plotLeft,translateY:n?n.top:r.plotTop,name:e};X(this,`getPlotBox`,a);let{scale:o,translateX:s,translateY:c}=a;return{translateX:s,translateY:c,rotation:90*!!i,rotationOriginX:i?o*(t.len-n.len)/2:0,rotationOriginY:i?o*(t.len+n.len)/2:0,scaleX:i?-o:o,scaleY:o}}removeEvents(e){let{eventsToUnbind:t}=this;e||fs(this),t.length&&=(t.forEach(e=>{e()}),0)}render(){let e=this,{chart:t,options:n,hasRendered:r}=e,i=Bo(n.animation),a=e.visible?`inherit`:`hidden`,o=n.zIndex,s=t.seriesGroup,c=e.finishedAnimating?0:i.duration;X(this,`render`),e.plotGroup(`group`,`series`,a,o,s),e.markerGroup=e.plotGroup(`markerGroup`,`markers`,a,o,s),!1!==n.clip&&e.setClip(),c&&e.animate?.(!0),e.drawGraph&&(e.drawGraph(),e.applyZones()),e.visible&&e.drawPoints(),e.drawDataLabels?.(),e.redrawPoints?.(),n.enableMouseTracking&&e.drawTracker?.(),c&&e.animate?.(),r||(c&&i.defer&&(c+=i.defer),e.animationTimeout=ps(()=>{e.afterAnimate()},c||0)),e.isDirty=!1,e.hasRendered=!0,X(e,`afterRender`)}redraw(){let e=this.isDirty||this.isDirtyData;this.translate(),this.render(),e&&delete this.kdTree}reserveSpace(){return this.visible||!this.chart.options.chart.ignoreHiddenSeries}searchPoint(e,t){let{xAxis:n,yAxis:r}=this,i=this.chart.inverted;return this.searchKDTree({clientX:i?n.len-e.chartY+n.pos:e.chartX-n.pos,plotY:i?r.len-e.chartX+r.pos:e.chartY-r.pos},t,e)}buildKDTree(e){this.buildingKdTree=!0;let t=this,n=t.options,r=n.findNearestPointBy.indexOf(`y`)>-1?2:1;delete t.kdTree,ps(function(){t.kdTree=function e(n,r,i){let a,o,s=n?.length;if(s)return a=t.kdAxisArray[r%i],n.sort((e,t)=>(e[a]||0)-(t[a]||0)),{point:n[o=Math.floor(s/2)],left:e(n.slice(0,o),r+1,i),right:e(n.slice(o+1),r+1,i)}}(t.getValidPoints(void 0,!t.directTouch,n?.nullInteraction),r,r),t.buildingKdTree=!1},n.kdNow||e?.type===`touchstart`?0:1)}searchKDTree(e,t,n,r,i){let a=this,[o,s]=this.kdAxisArray,c=t?`distX`:`dist`,l=(a.options.findNearestPointBy||``).indexOf(`y`)>-1?2:1,u=!!a.isBubble,d=r||((e,t,n)=>{let r=e[n]||0,i=t[n]||0;return[r===i&&e.index>t.index||r<i?e:t,!1]}),f=i||((e,t)=>e<t);if(this.kdTree||this.buildingKdTree||this.buildKDTree(n),this.kdTree)return function e(t,n,r,i){let l,p,m,h,g,_,v,y=n.point,b=a.kdAxisArray[r%i],x=y,S=!1;l=t[o],p=y[o],m=Y(l)&&Y(p)?l-p:null,h=t[s],g=y[s],_=Y(h)&&Y(g)?h-g:0,v=u&&y.marker?.radius||0,y.dist=Math.sqrt((m&&m*m||0)+_*_)-v,y.distX=Y(m)?Math.abs(m)-v:Number.MAX_VALUE;let C=(t[b]||0)-(y[b]||0)+(u&&y.marker?.radius||0),w=C<0?`left`:`right`,T=C<0?`right`:`left`;return n[w]&&([x,S]=d(y,e(t,n[w],r+1,i),c)),n[T]&&f(Math.sqrt(C*C),x[c],S)&&(x=d(x,e(t,n[T],r+1,i),c)[0]),x}(e,this.kdTree,l,l)}pointPlacementToXValue(){let{options:e,xAxis:t}=this,n=e.pointPlacement;return n===`between`&&(n=t.reversed?-.5:.5),Z(n)?n*(e.pointRange||t.pointRange):0}isPointInside(e){let{chart:t,xAxis:n,yAxis:r}=this,{plotX:i=-1,plotY:a=-1}=e;return a>=0&&a<=(r?r.len:t.plotHeight)&&i>=0&&i<=(n?n.len:t.plotWidth)}drawTracker(){let e=this,t=e.options,n=t.trackByArea,r=[].concat((n?e.areaPath:e.graphPath)||[]),i=e.chart,a=i.pointer,o=i.renderer,s=i.options.tooltip?.snap||0,c=()=>{t.enableMouseTracking&&i.hoverSeries!==e&&e.onMouseOver()},l=`rgba(192,192,192,`+(Wo?1e-4:.002)+`)`,u=e.tracker;u?u.attr({d:r}):e.graph&&(e.tracker=u=o.path(r).attr({visibility:e.visible?`inherit`:`hidden`,zIndex:2}).addClass(n?`highcharts-tracker-area`:`highcharts-tracker-line`).add(e.group),i.styledMode||u.attr({"stroke-linecap":`round`,"stroke-linejoin":`round`,stroke:l,fill:n?l:`none`,"stroke-width":e.graph.strokeWidth()+(n?0:2*s)}),[e.tracker,e.markerGroup,...e.dataLabelsGroups||[]].forEach(e=>{e&&(e.addClass(`highcharts-tracker`).on(`mouseover`,c).on(`mouseout`,e=>{a?.onTrackerMouseOut(e)}),t.cursor&&!i.styledMode&&e.css({cursor:t.cursor}),e.on(`touchstart`,c))})),X(this,`afterDrawTracker`)}addPoint(e,t,n,r,i){let a,o,s=this.options,{chart:c,data:l,dataTable:u,xAxis:d}=this,f=d?.hasNames&&d.names,p=s.data,m=this.getColumn(`x`);t=Q(t,!0);let h={series:this};this.pointClass.prototype.applyOptions.apply(h,[e]);let g=h.x;if(o=m.length,this.requireSorting&&g<m[o-1])for(a=!0;o&&m[o-1]>g;)o--;u.setRow(h,o,!0,{addColumns:!1}),f&&h.name&&(f[g]=h.name),p?.splice(o,0,e),(a||this.processedData)&&(this.data.splice(o,0,null),this.processData()),s.legendType===`point`&&this.generatePoints(),n&&(l[0]&&l[0].remove?l[0].remove(!1):([l,p].filter(Y).forEach(e=>{e.shift()}),u.deleteRows(0))),!1!==i&&X(this,`addPoint`,{point:h}),this.isDirty=!0,this.isDirtyData=!0,t&&c.redraw(r)}removePoint(e,t,n){let r=this,{chart:i,data:a,points:o,dataTable:s}=r,c=a[e],l=function(){[o?.length===a.length?o:void 0,a,r.options.data].filter(Y).forEach(t=>{t.splice(e,1)}),s.deleteRows(e),c?.destroy(),r.isDirty=!0,r.isDirtyData=!0,t&&i.redraw()};Vo(n,i),t=Q(t,!0),c?c.firePointEvent(`remove`,null,l):l()}remove(e,t,n,r){let i=this,a=i.chart;function o(){i.destroy(r),a.isDirtyLegend=a.isDirtyBox=!0,a.linkSeries(r),Q(e,!0)&&a.redraw(t)}!1===n?o():X(i,`remove`,null,o)}update(e,t){X(this,`update`,{options:e=es(e,this.userOptions)});let n=this,r=n.chart,i=n.userOptions,a=n.initialType||n.type,o=r.options.plotOptions,s=Ko[a].prototype,c=n.finishedAnimating&&{animation:!1},l={},u,d,f=ms.keepProps.slice(),p=e.type||i.type||r.options.chart.type,m=!(this.hasDerivedData||p&&p!==this.type||e.keys!==void 0||e.pointStart!==void 0||e.pointInterval!==void 0||e.relativeXValue!==void 0||e.joinBy||e.mapData||[`dataGrouping`,`pointStart`,`pointInterval`,`pointIntervalUnit`,`keys`].some(e=>n.hasOptionChanged(e)));p||=a,m?(f.push.apply(f,ms.keepPropsForPoints),!1!==e.visible&&f.push(`area`,`graph`),n.parallelArrays.forEach(function(e){f.push(e+`Data`)}),e.data&&(e.dataSorting&&rs(n.options.dataSorting,e.dataSorting),this.setData(e.data,!1))):this.dataTable.modified=this.dataTable,e.dataLabels&&i.dataLabels&&(e.dataLabels=this.mergeArrays(i.dataLabels,e.dataLabels)),e=us(i,{index:i.index===void 0?n.index:i.index,pointStart:o?.series?.pointStart??i.pointStart??n.getColumn(`x`)[0]},!m&&{data:n.options.data},e,c),m&&e.data&&(e.data=n.options.data),(f=[`dataLabelsGroup`,`dataLabelsGroups`,`dataLabelsParentGroups`,`group`,`markerGroup`,`transformGroup`].concat(f)).forEach(function(e){f[e]=n[e],delete n[e]});let h=!1;if(Ko[p]){if(h=p!==n.type,n.remove(!1,!1,!1,!0),h)if(r.propFromSeries(),Object.setPrototypeOf)Object.setPrototypeOf(n,Ko[p].prototype);else{let e=Object.hasOwnProperty.call(n,`hcEvents`)&&n.hcEvents;for(d in s)n[d]=void 0;rs(n,Ko[p].prototype),e?n.hcEvents=e:delete n.hcEvents}}else ns(17,!0,r,{missingModuleFor:p});if(f.forEach(function(e){n[e]=f[e]}),n.init(r,e),m&&this.points)for(let e of(!1===(u=n.options).visible?(l.graphic=1,l.dataLabel=1):(this.hasMarkerChanged(u,i)&&(l.graphic=1),n.hasDataLabels?.()||(l.dataLabel=1)),this.points))e?.series&&(e.resolveColor(),Object.keys(l).length&&e.destroyElements(l),!1===u.showInLegend&&e.legendItem&&r.legend.destroyItem(e));n.initialType=a,r.linkSeries(),r.setSortedData(),h&&n.linkedSeries.length&&(n.isDirtyData=!0),X(this,`afterUpdate`),Q(t,!0)&&r.redraw(!!m&&void 0)}setName(e){this.name=this.options.name=this.userOptions.name=e,this.chart.isDirtyLegend=!0}hasOptionChanged(e){let t=this.chart,n=this.options[e],r=t.options.plotOptions,i=this.userOptions[e],a=Q(r?.[this.type]?.[e],r?.series?.[e]);return i&&!Y(a)?n!==i:n!==Q(a,n)}onMouseOver(){let e=this.chart,t=e.hoverSeries;e.pointer?.setHoverChartIndex(),t&&t!==this&&t.onMouseOut(),this.options.events.mouseOver&&X(this,`mouseOver`),this.setState(`hover`),e.hoverSeries=this}onMouseOut(){let e=this.options,t=this.chart,n=t.tooltip,r=t.hoverPoint;t.hoverSeries=null,r&&r.onMouseOut(),this&&e.events.mouseOut&&X(this,`mouseOut`),n&&!this.stickyTracking&&(!n.shared||this.noSharedTooltip)&&n.hide(),t.series.forEach(function(e){e.setState(``,!0)})}setState(e,t){let n=this,{graph:r,options:i}=n,{inactiveOtherPoints:a,states:o}=i,s=Q(o?.[e||`normal`]?.animation,n.chart.options.chart.animation),{lineWidth:c,opacity:l}=i;if(e||=``,n.state!==e&&([n.group,n.markerGroup,...n.dataLabelsGroups||[]].forEach(function(t){t&&(n.state&&t.removeClass(`highcharts-series-`+n.state),e&&t.addClass(`highcharts-series-`+e))}),n.state=e,!n.chart.styledMode)){if(o[e]?.enabled===!1)return;if(e&&(c=o[e].lineWidth||c+(o[e].lineWidthPlus||0),l=Q(o[e].opacity,l)),r&&!r.dashstyle&&Z(c))for(let e of[r,...this.zones.map(e=>e.graph)])e?.animate({"stroke-width":c},s);a||[n.group,n.markerGroup,...n.dataLabelsGroups||[],n.labelBySeries].forEach(function(e){e?.animate({opacity:l},s)})}t&&a&&n.points&&n.setAllPointsToState(e||void 0)}setAllPointsToState(e){this.points.forEach(function(t){t.setState&&t.setState(e)})}setVisible(e,t){let n=this,r=n.chart,i=r.options.chart.ignoreHiddenSeries,a=n.visible;n.visible=e=n.options.visible=n.userOptions.visible=e===void 0?!a:e;let o=e?`show`:`hide`;[`group`,`markerGroup`,`tracker`,`tt`].forEach(e=>{n[e]?.[o]()}),n.dataLabelsGroups?.forEach(e=>{e?.[o]()}),(r.hoverSeries===n||r.hoverPoint?.series===n)&&n.onMouseOut(),n.legendItem&&r.legend.colorizeItem(n,e),n.isDirty=!0,n.options.stacking&&r.series.forEach(e=>{e.options.stacking&&e.visible&&(e.isDirty=!0)}),n.linkedSeries.forEach(t=>{t.setVisible(e,!1)}),i&&(r.isDirtyBox=!0),X(n,o),!1!==t&&r.redraw()}show(){this.setVisible(!0)}hide(){this.setVisible(!1)}select(e){this.selected=e=this.options.selected=e===void 0?!this.selected:e,this.checkbox&&(this.checkbox.checked=e),X(this,e?`select`:`unselect`)}shouldShowTooltip(e,t,n={}){return n.series=this,n.visiblePlotOnly=!0,this.chart.isInsidePlot(e,t,n)}drawLegendSymbol(e,t){No[this.options.legendSymbol||`rectangle`]?.call(this,e,t)}}ms.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:e}=this.series.chart;return typeof this.y==`number`?e(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`},ms.types=J.seriesTypes,ms.registerType=J.registerSeriesType,ms.keepProps=[`colorIndex`,`eventOptions`,`navigatorSeries`,`symbolIndex`,`baseSeries`],ms.keepPropsForPoints=[`data`,`isDirtyData`,`isDirtyCanvas`,`points`,`dataTable`,`processedData`,`xIncrement`,`cropped`,`_hasPointMarkers`,`hasDataLabels`,`nodes`,`layout`,`level`,`mapMap`,`mapData`,`minY`,`maxY`,`minX`,`maxX`,`transformGroups`],rs(ms.prototype,{axisTypes:[`xAxis`,`yAxis`],coll:`series`,colorCounter:0,directTouch:!1,invertible:!0,isCartesian:!0,kdAxisArray:[`clientX`,`plotY`],parallelArrays:[`x`,`y`],pointClass:no,requireSorting:!0,sorted:!0}),J.series=ms;let hs=ms,{animObject:gs,setAnimation:_s}=B,{registerEventOptions:vs}=ei,{composed:ys,marginNames:bs}=P,{distribute:xs}=Qt,{format:Ss}=Kt,{addEvent:Cs,createElement:ws,css:Ts,defined:Es,discardElement:Ds,find:Os,fireEvent:ks,isNumber:As,merge:js,pick:Ms,pushUnique:Ns,relativeLength:Ps,stableSort:Fs,syncTimeout:Is}=F;class Ls{constructor(e,t){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=e,this.setOptions(t),t.enabled&&(this.render(),vs(this,t),Cs(this.chart,`endResize`,function(){this.legend.positionCheckboxes()})),Cs(this.chart,`render`,()=>{this.options.enabled&&this.proximate&&(this.proximatePositions(),this.positionItems())})}setOptions(e){let t=Ms(e.padding,8);this.options=e,this.chart.styledMode||(this.itemStyle=e.itemStyle,this.itemHiddenStyle=js(this.itemStyle,e.itemHiddenStyle)),this.itemMarginTop=e.itemMarginTop,this.itemMarginBottom=e.itemMarginBottom,this.padding=t,this.initialItemY=t-5,this.symbolWidth=Ms(e.symbolWidth,16),this.pages=[],this.proximate=e.layout===`proximate`&&!this.chart.inverted,this.baseline=void 0}update(e,t){let n=this.chart;this.setOptions(js(!0,this.options,e)),`events`in this.options&&vs(this,this.options),this.destroy(),n.isDirtyLegend=n.isDirtyBox=!0,Ms(t,!0)&&n.redraw(),ks(this,`afterUpdate`,{redraw:t})}colorizeItem(e,t){let n=e.color,{area:r,group:i,label:a,line:o,symbol:s}=e.legendItem||{};if((e instanceof hs||e instanceof no)&&(e.color=e.options?.legendSymbolColor||n),i?.[t?`removeClass`:`addClass`](`highcharts-legend-item-hidden`),!this.chart.styledMode){let{itemHiddenStyle:n={}}=this,i=n.color,{fillColor:c,fillOpacity:l,lineColor:u,marker:d}=e.options,f=e=>(!t&&(e.fill&&=i,e.stroke&&=i),e);a?.css(js(t?this.itemStyle:n)),o?.attr(f({stroke:u||e.color})),s&&s.attr(f(d&&s.isMarker?e.pointAttribs():{fill:e.color})),r?.attr(f({fill:c||e.color,"fill-opacity":c?1:l??.75}))}e.color=n,ks(this,`afterColorizeItem`,{item:e,visible:t})}positionItems(){this.allItems.forEach(this.positionItem,this),this.chart.isResizing||this.positionCheckboxes()}positionItem(e){let{group:t,x:n=0,y:r=0}=e.legendItem||{},i=this.options,a=i.symbolPadding,o=!i.rtl,s=e.checkbox;if(t?.element){let i={translateX:o?n:this.legendWidth-n-2*a-4,translateY:r};t[Es(t.translateY)?`animate`:`attr`](i,void 0,()=>{ks(this,`afterPositionItem`,{item:e})})}s&&(s.x=n,s.y=r)}destroyItem(e){let t=e.legendItem||{};for(let e of[`group`,`label`,`line`,`symbol`])t[e]&&(t[e]=t[e].destroy());e.checkbox=Ds(e.checkbox),e.legendItem=void 0}destroy(){for(let e of this.getAllItems())this.destroyItem(e);for(let e of[`clipRect`,`up`,`down`,`pager`,`nav`,`box`,`title`,`group`])this[e]&&(this[e]=this[e].destroy());this.display=null}positionCheckboxes(){let e,t=this.group?.alignAttr,n=this.clipHeight||this.legendHeight,r=this.titleHeight;t&&(e=t.translateY,this.allItems.forEach(function(i){let a,o=i.checkbox;o&&(a=e+r+o.y+(this.scrollOffset||0)+3,Ts(o,{left:t.translateX+i.checkboxOffset+o.x-20+`px`,top:a+`px`,display:this.proximate||a>e-6&&a<e+n-6?``:`none`}))},this))}renderTitle(){let e=this.options,t=this.padding,n=e.title,r,i=0;n.text&&(this.title||(this.title=this.chart.renderer.label(n.text,t-3,t-4,void 0,void 0,void 0,e.useHTML,void 0,`legend-title`).attr({zIndex:1}),this.chart.styledMode||this.title.css(n.style),this.title.add(this.group)),n.width||this.title.css({width:this.maxLegendWidth+`px`}),i=(r=this.title.getBBox()).height,this.offsetWidth=r.width,this.contentGroup.attr({translateY:i})),this.titleHeight=i}setText(e){let t=this.options;e.legendItem.label.attr({text:t.labelFormat?Ss(t.labelFormat,e,this.chart):t.labelFormatter.call(e)})}renderItem(e){let t=e.legendItem=e.legendItem||{},n=this.chart,r=n.renderer,i=this.options,a=i.layout===`horizontal`,o=this.symbolWidth,s=i.symbolPadding||0,c=this.itemStyle,l=this.itemHiddenStyle,u=a?Ms(i.itemDistance,20):0,d=!i.rtl,f=!e.series,p=!f&&e.series.drawLegendSymbol?e.series:e,m=p.options,h=!!this.createCheckboxForItem&&m&&m.showCheckbox,g=i.useHTML,_=e.options.className,v=t.label,y=o+s+u+20*!!h;!v&&(t.group=r.g(`legend-item`).addClass(`highcharts-`+p.type+`-series highcharts-color-`+e.colorIndex+(_?` `+_:``)+(f?` highcharts-series-`+e.index:``)).attr({zIndex:1}).add(this.scrollGroup),t.label=v=r.text(``,d?o+s:-s,this.baseline||0,g),n.styledMode||v.css(js(e.visible?c:l)),v.attr({align:d?`left`:`right`,zIndex:2}).add(t.group),!this.baseline&&(this.fontMetrics=r.fontMetrics(v),this.baseline=this.fontMetrics.f+3+this.itemMarginTop,v.attr(`y`,this.baseline),this.symbolHeight=Ms(i.symbolHeight,this.fontMetrics.f),i.squareSymbol&&(this.symbolWidth=Ms(i.symbolWidth,Math.max(this.symbolHeight,16)),y=this.symbolWidth+s+u+20*!!h,d&&v.attr(`x`,this.symbolWidth+s))),p.drawLegendSymbol(this,e),this.setItemEvents&&this.setItemEvents(e,v,g)),h&&!e.checkbox&&this.createCheckboxForItem&&this.createCheckboxForItem(e),this.colorizeItem(e,e.visible),(n.styledMode||!c.width)&&v.css({width:Math.min(i.itemWidth||this.widthOption||n.spacingBox.width,i.maxWidth?Ps(i.maxWidth,n.chartWidth):1/0)-y+`px`}),this.setText(e);let b=v.getBBox(),x=this.fontMetrics?.h||0;e.itemWidth=e.checkboxOffset=i.itemWidth||t.labelWidth||b.width+y,this.maxItemWidth=Math.max(this.maxItemWidth,e.itemWidth),this.totalItemWidth+=e.itemWidth,this.itemHeight=e.itemHeight=Math.round(t.labelHeight||(b.height>1.5*x?b.height:x))}layoutItem(e){let t=this.options,n=this.padding,r=t.layout===`horizontal`,i=e.itemHeight,a=this.itemMarginBottom,o=this.itemMarginTop,s=r?Ms(t.itemDistance,20):0,c=this.maxLegendWidth,l=t.alignColumns&&this.totalItemWidth>c?this.maxItemWidth:e.itemWidth,u=e.legendItem||{};r&&this.itemX-n+l>c&&(this.itemX=n,this.lastLineHeight&&(this.itemY+=o+this.lastLineHeight+a),this.lastLineHeight=0),this.lastItemY=o+this.itemY+a,this.lastLineHeight=Math.max(i,this.lastLineHeight),u.x=this.itemX,u.y=this.itemY,r?this.itemX+=l:(this.itemY+=o+i+a,this.lastLineHeight=i),this.offsetWidth=this.widthOption||Math.max((r?this.itemX-n-(e.checkbox?0:s):l)+n,this.offsetWidth)}getAllItems(){let e=[];return this.chart.series.forEach(function(t){let n=t?.options;t&&Ms(n.showInLegend,!Es(n.linkedTo)&&void 0,!0)&&(e=e.concat(t.legendItem?.labels||(n.legendType===`point`?t.data:t)))}),ks(this,`afterGetAllItems`,{allItems:e}),e}getAlignment(){let e=this.options;return this.proximate?e.align.charAt(0)+`tv`:e.floating?``:e.align.charAt(0)+e.verticalAlign.charAt(0)+e.layout.charAt(0)}adjustMargins(e,t){let n=this.chart,r=this.options,i=this.getAlignment();i&&[/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/].forEach((a,o)=>{a.test(i)&&!Es(e[o])&&(n[bs[o]]=Math.max(n[bs[o]],n.legend[(o+1)%2?`legendHeight`:`legendWidth`]+[1,-1,-1,1][o]*r[o%2?`x`:`y`]+(r.margin??12)+t[o]+(n.titleOffset[o]||0)))})}proximatePositions(){let e,t=this.chart,n=[],r=this.options.align===`left`;for(let i of(this.allItems.forEach(function(e){let i,a,o=r,s,c;e.yAxis&&(e.xAxis.options.reversed&&(o=!o),e.points&&(i=Os(o?e.points:e.points.slice(0).reverse(),function(e){return As(e.plotY)})),a=this.itemMarginTop+e.legendItem.label.getBBox().height+this.itemMarginBottom,c=e.yAxis.top-t.plotTop,s=e.visible?(i?i.plotY:e.yAxis.height)+(c-.3*a):c+e.yAxis.height,n.push({target:s,size:a,item:e}))},this),xs(n,t.plotHeight)))e=i.item.legendItem||{},As(i.pos)&&(e.y=t.plotTop-t.spacing[0]+i.pos)}render(){let e=this.chart,t=e.spacingBox.width,n=e.renderer,r=this.options,i=this.padding,a=this.getAllItems(),o,s,c,l=this.group,u,d=this.box;this.itemX=i,this.itemY=this.initialItemY,this.offsetWidth=0,this.lastItemY=0,this.widthOption=Ps(r.width,t-i),u=t-2*i-r.x,[`rm`,`lm`].indexOf(this.getAlignment().substring(0,2))>-1&&(u/=2),this.maxLegendWidth=this.widthOption||u,l||(this.group=l=n.g(`legend`).addClass(r.className||``).attr({zIndex:7}).add(),this.contentGroup=n.g().attr({zIndex:1}).add(l),this.scrollGroup=n.g().add(this.contentGroup)),this.renderTitle(),Fs(a,(e,t)=>(e.options?.legendIndex||0)-(t.options?.legendIndex||0)),r.reversed&&a.reverse(),this.allItems=a,this.display=o=!!a.length,this.lastLineHeight=0,this.maxItemWidth=0,this.totalItemWidth=0,this.itemHeight=0,a.forEach(this.renderItem,this),a.forEach(this.layoutItem,this),s=(r.maxWidth?Math.min(this.widthOption||this.offsetWidth,u,Ps(r.maxWidth,e.chartWidth)||1/0):this.widthOption||this.offsetWidth)+i,c=this.lastItemY+this.lastLineHeight+this.titleHeight,c=this.handleOverflow(c)+i,d||(this.box=d=n.rect().addClass(`highcharts-legend-box`).attr({r:r.borderRadius}).add(l)),e.styledMode||d.attr({stroke:r.borderColor,"stroke-width":r.borderWidth||0,fill:r.backgroundColor||`none`}).shadow(r.shadow),s>0&&c>0&&d[d.placed?`animate`:`attr`](d.crisp.call({},{x:0,y:0,width:s,height:c},d.strokeWidth())),l[o?`show`:`hide`](),e.styledMode&&l.getStyle(`display`)===`none`&&(s=c=0),this.legendWidth=s,this.legendHeight=c,o&&this.align(),this.proximate||this.positionItems(),ks(this,`afterRender`)}align(e=this.chart.spacingBox){let t=this.chart,n=this.options,r=e.y;/(lth|ct|rth)/.test(this.getAlignment())&&t.titleOffset[0]>0?r+=t.titleOffset[0]:/(lbh|cb|rbh)/.test(this.getAlignment())&&t.titleOffset[2]>0&&(r-=t.titleOffset[2]),r!==e.y&&(e=js(e,{y:r})),t.hasRendered||(this.group.placed=!1),this.group.align(js(n,{width:this.legendWidth,height:this.legendHeight,verticalAlign:this.proximate?`top`:n.verticalAlign}),!0,e)}handleOverflow(e){let t=this,n=this.chart,r=n.renderer,i=this.options,a=i.y,o=i.verticalAlign===`top`,s=this.padding,c=i.maxHeight,l=i.navigation,u=Ms(l.animation,!0),d=l.arrowSize||12,f=this.pages,p=this.allItems,m=function(e){typeof e==`number`?S.attr({height:e}):S&&(t.clipRect=S.destroy(),t.contentGroup.clip()),t.contentGroup.div&&(t.contentGroup.div.style.clip=e?`rect(`+s+`px,9999px,`+(s+e)+`px,0)`:`auto`)},h=function(e){return t[e]=r.circle(0,0,1.3*d).translate(d/2,d/2).add(x),n.styledMode||t[e].attr(`fill`,`rgba(0,0,0,0.0001)`),t[e]},g,_,v,y,b=n.spacingBox.height+(o?-a:a)-s,x=this.nav,S=this.clipRect;return i.layout!==`horizontal`||i.verticalAlign===`middle`||i.floating||(b/=2),c&&(b=Math.min(b,c)),f.length=0,e&&b>0&&e>b&&!1!==l.enabled?(this.clipHeight=g=Math.max(b-20-this.titleHeight-s,0),this.currentPage=Ms(this.currentPage,1),this.fullHeight=e,p.forEach((e,t)=>{let n=(v=e.legendItem||{}).y||0,r=Math.round(v.label.getBBox().height),i=f.length;(!i||n-f[i-1]>g&&(_||n)!==f[i-1])&&(f.push(_||n),i++),v.pageIx=i-1,_&&y&&(y.pageIx=i-1),t===p.length-1&&n+r-f[i-1]>g&&n>f[i-1]&&(f.push(n),v.pageIx=i),n!==_&&(_=n),y=v}),S||(S=t.clipRect=r.clipRect(0,s-2,9999,0),t.contentGroup.clip(S)),m(g),x||(this.nav=x=r.g().attr({zIndex:1}).add(this.group),this.up=r.symbol(`triangle`,0,0,d,d).add(x),h(`upTracker`).on(`click`,function(){t.scroll(-1,u)}),this.pager=r.text(``,15,10).addClass(`highcharts-legend-navigation`),!n.styledMode&&l.style&&this.pager.css(l.style),this.pager.add(x),this.down=r.symbol(`triangle-down`,0,0,d,d).add(x),h(`downTracker`).on(`click`,function(){t.scroll(1,u)})),t.scroll(0),e=b):x&&(m(),this.nav=x.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0),e}scroll(e,t){let n=this.chart,r=this.pages,i=r.length,a=this.clipHeight,o=this.options.navigation,s=this.pager,c=this.padding,l=this.currentPage+e;l>i&&(l=i),l>0&&(t!==void 0&&_s(t,n),this.nav.attr({translateX:c,translateY:a+this.padding+7+this.titleHeight,visibility:`inherit`}),[this.up,this.upTracker].forEach(function(e){e.attr({class:l===1?`highcharts-legend-nav-inactive`:`highcharts-legend-nav-active`})}),s.attr({text:l+`/`+i}),[this.down,this.downTracker].forEach(function(e){e.attr({x:18+this.pager.getBBox().width,class:l===i?`highcharts-legend-nav-inactive`:`highcharts-legend-nav-active`})},this),n.styledMode||(this.up.attr({fill:l===1?o.inactiveColor:o.activeColor}),this.upTracker.css({cursor:l===1?`default`:`pointer`}),this.down.attr({fill:l===i?o.inactiveColor:o.activeColor}),this.downTracker.css({cursor:l===i?`default`:`pointer`})),this.scrollOffset=-r[l-1]+this.initialItemY,this.scrollGroup.animate({translateY:this.scrollOffset}),this.currentPage=l,this.positionCheckboxes(),Is(()=>{ks(this,`afterScroll`,{currentPage:l})},gs(Ms(t,n.renderer.globalAnimation,!0)).duration))}setItemEvents(e,t,n){let r=this,i=e.legendItem||{},a=r.chart.renderer.boxWrapper,o=e instanceof no,s=e instanceof hs,c=`highcharts-legend-`+(o?`point`:`series`)+`-active`,l=r.chart.styledMode,u=n?[t,i.symbol]:[i.group],d=t=>{r.allItems.forEach(n=>{e!==n&&[n].concat(n.linkedSeries||[]).forEach(e=>{e.setState(t,!o)})})};for(let n of u)n&&n.on(`mouseover`,function(){e.visible&&d(`inactive`),e.setState(`hover`),e.visible&&a.addClass(c),l||t.css(r.options.itemHoverStyle)}).on(`mouseout`,function(){r.chart.styledMode||t.css(js(e.visible?r.itemStyle:r.itemHiddenStyle)),d(``),a.removeClass(c),e.setState()}).on(`click`,function(t){a.removeClass(c),ks(r,`itemClick`,{browserEvent:t,legendItem:e},function(){e.setVisible&&e.setVisible(),d(e.visible?`inactive`:``)}),o?e.firePointEvent(`legendItemClick`,{browserEvent:t}):s&&ks(e,`legendItemClick`,{browserEvent:t})})}createCheckboxForItem(e){e.checkbox=ws(`input`,{type:`checkbox`,className:`highcharts-legend-checkbox`,checked:e.selected,defaultChecked:e.selected},this.options.itemCheckboxStyle,this.chart.container),Cs(e.checkbox,`click`,function(t){let n=t.target;ks(e.series||e,`checkboxClick`,{checked:n.checked,item:e},function(){e.select()})})}}(f=Ls||={}).compose=function(e){Ns(ys,`Core.Legend`)&&Cs(e,`beforeMargins`,function(){this.legend=new f(this,this.options.legend)})};let Rs=Ls,{animate:zs,animObject:Bs,setAnimation:Vs}=B,{defaultOptions:Hs}=Xe,{numberFormat:Us}=Kt,{registerEventOptions:Ws}=ei,{charts:Gs,doc:Ks,marginNames:qs,svg:Js,win:Ys}=P,{seriesTypes:Xs}=J,{addEvent:Zs,attr:Qs,createElement:$s,css:ec,defined:tc,diffObjects:nc,discardElement:rc,erase:ic,error:ac,extend:oc,find:sc,fireEvent:$,getAlignFactor:cc,getStyle:lc,isArray:uc,isNumber:dc,isObject:fc,isString:pc,merge:mc,objectEach:hc,pick:gc,pInt:_c,relativeLength:vc,removeEvent:yc,splat:bc,syncTimeout:xc,uniqueKey:Sc}=F;class Cc{static chart(e,t,n){return new Cc(e,t,n)}constructor(e,t,n){this.sharedClips={};let r=[...arguments];(pc(e)||e.nodeName)&&(this.renderTo=r.shift()),this.init(r[0],r[1])}setZoomOptions(){let e=this.options.chart,t=e.zooming;this.zooming={...t,type:gc(e.zoomType,t.type),key:gc(e.zoomKey,t.key),pinchType:gc(e.pinchType,t.pinchType),singleTouch:gc(e.zoomBySingleTouch,t.singleTouch,!1),resetButton:mc(t.resetButton,e.resetZoomButton)}}init(e,t){$(this,`init`,{args:arguments},function(){let n=mc(Hs,e),r=n.chart,i=this.renderTo||r.renderTo;this.userOptions=oc({},e),(this.renderTo=pc(i)?Ks.getElementById(i):i)||ac(13,!0,this),this.margin=[],this.spacing=[],this.labelCollectors=[],this.callback=t,this.isResizing=0,this.options=n,this.axes=[],this.series=[],this.locale=n.lang.locale??this.renderTo.closest(`[lang]`)?.lang,this.time=new We(oc(n.time||{},{locale:this.locale}),n.lang),n.time=this.time.options,this.numberFormatter=(r.numberFormatter||Us).bind(this),this.styledMode=r.styledMode,this.hasCartesianSeries=r.showAxes,this.index=Gs.length,Gs.push(this),P.chartCount++,Ws(this,r),this.xAxis=[],this.yAxis=[],this.pointCount=this.colorCounter=this.symbolCounter=0,this.setZoomOptions(),$(this,`afterInit`),this.firstRender()})}initSeries(e){let t=this.options.chart,n=e.type||t.type,r=Xs[n];r||ac(17,!0,this,{missingModuleFor:n});let i=new r;return typeof i.init==`function`&&i.init(this,e),i}setSortedData(){this.getSeriesOrderByLinks().forEach(function(e){e.points||e.data||!e.enabledDataSorting||e.setData(e.options.data,!1)})}getSeriesOrderByLinks(){return this.series.concat().sort(function(e,t){return e.linkedSeries.length||t.linkedSeries.length?t.linkedSeries.length-e.linkedSeries.length:0})}orderItems(e,t=0){let n=this[e],r=this.options[e]=bc(this.options[e]).slice(),i=this.userOptions[e]=this.userOptions[e]?bc(this.userOptions[e]).slice():[];if(this.hasRendered&&(r.splice(t),i.splice(t)),n)for(let e=t,a=n.length;e<a;++e){let t=n[e];t&&(t.index=e,t instanceof hs&&(t.name=t.getName()),t.options.isInternal||(r[e]=t.options,i[e]=t.userOptions))}}getClipBox(e,t){let n=this.inverted,{xAxis:r,yAxis:i}=e||{},{x:a,y:o,width:s,height:c}=mc(this.clipBox);return e&&(r&&r.len!==this.plotSizeX&&(s=r.len),i&&i.len!==this.plotSizeY&&(c=i.len),n&&!e.invertible&&([s,c]=[c,s])),t&&(a+=(n?i:r)?.pos??this.plotLeft,o+=(n?r:i)?.pos??this.plotTop),{x:a,y:o,width:s,height:c}}isInsidePlot(e,t,n={}){let{inverted:r,plotBox:i,plotLeft:a,plotTop:o,scrollablePlotBox:s}=this,{scrollLeft:c=0,scrollTop:l=0}=n.visiblePlotOnly&&this.scrollablePlotArea?.scrollingContainer||{},u=n.series,d=n.visiblePlotOnly&&s||i,f=n.inverted?t:e,p=n.inverted?e:t,m={x:f,y:p,isInsidePlot:!0,options:n};if(!n.ignoreX){let e=u&&(r&&!this.polar?u.yAxis:u.xAxis)||{pos:a,len:1/0},t=n.paneCoordinates?e.pos+f:a+f;t>=Math.max(c+a,e.pos)&&t<=Math.min(c+a+d.width,e.pos+e.len)||(m.isInsidePlot=!1)}if(!n.ignoreY&&m.isInsidePlot){let e=!r&&n.axis&&!n.axis.isXAxis&&n.axis||u&&(r?u.xAxis:u.yAxis)||{pos:o,len:1/0},t=n.paneCoordinates?e.pos+p:o+p;t>=Math.max(l+o,e.pos)&&t<=Math.min(l+o+d.height,e.pos+e.len)||(m.isInsidePlot=!1)}return $(this,`afterIsInsidePlot`,m),m.isInsidePlot}redraw(e){$(this,`beforeRedraw`);let t=this.hasCartesianSeries?this.axes:this.colorAxis||[],n=this.series,r=this.pointer,i=this.legend,a=this.userOptions.legend,o=this.renderer,s=o.isHidden(),c=[],l,u,d,f=this.isDirtyBox,p=this.isDirtyLegend,m;for(o.rootFontSize=o.boxWrapper.getStyle(`font-size`),this.setResponsive&&this.setResponsive(!1),Vs(!!this.hasRendered&&e,this),s&&this.temporaryDisplay(),this.layOutTitles(!1),d=n.length;d--;)if(((m=n[d]).options.stacking||m.options.centerInCategory)&&(u=!0,m.isDirty)){l=!0;break}if(l)for(d=n.length;d--;)(m=n[d]).options.stacking&&(m.isDirty=!0);n.forEach(function(e){e.isDirty&&(e.options.legendType===`point`?(typeof e.updateTotals==`function`&&e.updateTotals(),p=!0):a&&(a.labelFormatter||a.labelFormat)&&(p=!0)),e.isDirtyData&&$(e,`updatedData`)}),p&&i&&i.options.enabled&&(i.render(),this.isDirtyLegend=!1),u&&this.getStacks(),t.forEach(function(e){e.updateNames(),e.setScale()}),this.getMargins(),t.forEach(function(e){e.isDirty&&(f=!0)}),t.forEach(function(e){let t=e.min+`,`+e.max;e.extKey!==t&&(e.extKey=t,c.push(function(){$(e,`afterSetExtremes`,oc(e.eventArgs,e.getExtremes())),delete e.eventArgs})),(f||u)&&e.redraw()}),f&&this.drawChartBox(),$(this,`predraw`),n.forEach(function(e){(f||e.isDirty)&&e.visible&&e.redraw(),e.isDirtyData=!1}),r&&r.reset(!0),o.draw(),$(this,`redraw`),$(this,`render`),s&&this.temporaryDisplay(!0),c.forEach(function(e){e.call()})}get(e){let t=this.series;function n(t){return t.id===e||t.options&&t.options.id===e}let r=sc(this.axes,n)||sc(this.series,n);for(let e=0;!r&&e<t.length;e++)r=sc(t[e].points||[],n);return r}createAxes(){let e=this.userOptions;for(let t of($(this,`createAxes`),[`xAxis`,`yAxis`]))for(let n of e[t]=bc(e[t]||{}))new Bi(this,n,t);$(this,`afterCreateAxes`)}getSelectedPoints(){return this.series.reduce((e,t)=>(t.getPointsCollection().forEach(t=>{gc(t.selectedStaging,t.selected)&&e.push(t)}),e),[])}getSelectedSeries(){return this.series.filter(e=>e.selected)}setTitle(e,t,n){this.applyDescription(`title`,e),this.applyDescription(`subtitle`,t),this.applyDescription(`caption`,void 0),this.layOutTitles(n)}applyDescription(e,t){let n=this,r=this.options[e]=mc(this.options[e],t),i=this[e];i&&t&&(this[e]=i=i.destroy()),r&&!i&&((i=this.renderer.text(r.text,0,0,r.useHTML).attr({align:r.align,class:`highcharts-`+e,zIndex:r.zIndex||4}).css({textOverflow:`ellipsis`,whiteSpace:`nowrap`}).add()).update=function(t,r){n.applyDescription(e,t),n.layOutTitles(r)},this.styledMode||i.css(oc(e===`title`?{fontSize:this.options.isStock?`1em`:`1.2em`}:{},r.style)),i.textPxLength=i.getBBox().width,i.css({whiteSpace:r.style?.whiteSpace}),this[e]=i)}layOutTitles(e=!0){let t=[0,0,0],{options:n,renderer:r,spacingBox:i}=this;[`title`,`subtitle`,`caption`].forEach(e=>{let n=this[e],a=this.options[e],o=mc(i),s=n?.textPxLength||0;if(n&&a){$(this,`layOutTitle`,{alignTo:o,key:e,textPxLength:s});let i=r.fontMetrics(n),c=i.b,l=i.h,u=a.verticalAlign||`top`,d=u===`top`,f=d&&a.minScale||1,p=e===`title`?d?-3:0:d?t[0]+2:0,m=Math.min(o.width/s,1),h=Math.max(f,m),g=mc({y:u===`bottom`?c:p+c},{align:e===`title`?m<f?`left`:`center`:this.title?.alignValue},a),_=(a.width||(m>f?this.chartWidth:o.width)/h)+`px`;n.alignValue!==g.align&&(n.placed=!1);let v=Math.round(n.css({width:_}).getBBox(a.useHTML).height);if(g.height=v,n.align(g,!1,o).attr({align:g.align,scaleX:h,scaleY:h,"transform-origin":`${o.x+s*h*cc(g.align)} ${l}`}),!a.floating){let e=v*(v<1.2*l?1:h);u===`top`?t[0]=Math.ceil(t[0]+e):u===`bottom`&&(t[2]=Math.ceil(t[2]+e))}}},this),t[0]&&(n.title?.verticalAlign||`top`)===`top`&&(t[0]+=n.title?.margin||0),t[2]&&n.caption?.verticalAlign===`bottom`&&(t[2]+=n.caption?.margin||0);let a=!this.titleOffset||this.titleOffset.join(`,`)!==t.join(`,`);this.titleOffset=t,$(this,`afterLayOutTitles`),!this.isDirtyBox&&a&&(this.isDirtyBox=this.isDirtyLegend=a,this.hasRendered&&e&&this.isDirtyBox&&this.redraw())}getContainerBox(){let e=[].map.call(this.renderTo.children,e=>{if(e!==this.container){let t=e.style.display;return e.style.display=`none`,[e,t]}}),t={width:lc(this.renderTo,`width`,!0)||0,height:lc(this.renderTo,`height`,!0)||0};return e.filter(Boolean).forEach(([e,t])=>{e.style.display=t}),t}getChartSize(){let e=this.options.chart,t=e.width,n=e.height,r=this.getContainerBox(),i=r.height<=1||!this.renderTo.parentElement?.style.height&&this.renderTo.style.height===`100%`;this.chartWidth=Math.max(0,t||r.width||600),this.chartHeight=Math.max(0,vc(n,this.chartWidth)||(i?400:r.height)),this.containerBox=r}temporaryDisplay(e){let t=this.renderTo,n;if(e)for(;t?.style;)t.hcOrigStyle&&(ec(t,t.hcOrigStyle),delete t.hcOrigStyle),t.hcOrigDetached&&(Ks.body.removeChild(t),t.hcOrigDetached=!1),t=t.parentNode;else for(;t?.style&&(Ks.body.contains(t)||t.parentNode||(t.hcOrigDetached=!0,Ks.body.appendChild(t)),(lc(t,`display`,!1)===`none`||t.hcOricDetached)&&(t.hcOrigStyle={display:t.style.display,height:t.style.height,overflow:t.style.overflow},n={display:`block`,overflow:`hidden`},t!==this.renderTo&&(n.height=0),ec(t,n),t.offsetWidth||t.style.setProperty(`display`,`block`,`important`)),(t=t.parentNode)!==Ks.body););}setClassName(e){this.container.className=`highcharts-container `+(e||``)}getContainer(){let e,t=this.options,n=t.chart,r=`data-highcharts-chart`,i=Sc(),a=this.renderTo,o=_c(Qs(a,r));dc(o)&&Gs[o]&&Gs[o].hasRendered&&Gs[o].destroy(),Qs(a,r,this.index),a.innerHTML=V.emptyHTML,n.skipClone||a.offsetWidth||this.temporaryDisplay(),this.getChartSize();let s=this.chartHeight,c=this.chartWidth;ec(a,{overflow:`hidden`}),this.styledMode||(e=oc({position:`relative`,overflow:`hidden`,width:c+`px`,height:s+`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`},n.style||{}));let l=$s(`div`,{id:i},e,a);if(this.container=l,this.getChartSize(),c!==this.chartWidth&&(c=this.chartWidth,this.styledMode||ec(l,{width:gc(n.style?.width,c+`px`)})),this.containerBox=this.getContainerBox(),this._cursor=l.style.cursor,this.renderer=new(n.renderer||!Js?qt.getRendererType(n.renderer):Nr)(l,c,s,void 0,n.forExport,t.exporting?.allowHTML,this.styledMode),Vs(void 0,this),this.setClassName(n.className),this.styledMode)for(let e in t.defs)this.renderer.definition(t.defs[e]);else this.renderer.setStyle(n.style);this.renderer.chartIndex=this.index,$(this,`afterGetContainer`)}getMargins(e){let{spacing:t,margin:n,titleOffset:r}=this;this.resetMargins(),r[0]&&!tc(n[0])&&(this.plotTop=Math.max(this.plotTop,r[0]+t[0])),r[2]&&!tc(n[2])&&(this.marginBottom=Math.max(this.marginBottom,r[2]+t[2])),this.legend?.display&&this.legend.adjustMargins(n,t),$(this,`getMargins`),e||this.getAxisMargins()}getAxisMargins(){let e=this,t=e.axisOffset=[0,0,0,0],n=e.colorAxis,r=e.margin,i=e=>{e.forEach(e=>{e.visible&&e.getOffset()})};e.hasCartesianSeries?i(e.axes):n?.length&&i(n),qs.forEach((n,i)=>{tc(r[i])||(e[n]+=t[i])}),e.setChartSize()}getOptions(){return nc(this.userOptions,Hs)}reflow(e){let t=this,n=t.containerBox,r=t.getContainerBox();delete t.pointer?.chartPosition,!t.exporting?.isPrinting&&!t.isResizing&&n&&r.width&&((r.width!==n.width||r.height!==n.height)&&(F.clearTimeout(t.reflowTimeout),t.reflowTimeout=xc(function(){t.container&&t.setSize(void 0,void 0,!1)},100*!!e)),t.containerBox=r)}setReflow(){let e=this,t=t=>{e.options?.chart.reflow&&e.hasLoaded&&e.reflow(t)};if(typeof ResizeObserver==`function`)new ResizeObserver(t).observe(e.renderTo);else{let e=Zs(Ys,`resize`,t);Zs(this,`destroy`,e)}}setSize(e,t,n){let r=this,i=r.renderer;r.isResizing+=1,Vs(n,r);let a=i.globalAnimation;r.oldChartHeight=r.chartHeight,r.oldChartWidth=r.chartWidth,e!==void 0&&(r.options.chart.width=e),t!==void 0&&(r.options.chart.height=t),r.getChartSize();let{chartWidth:o,chartHeight:s,scrollablePixelsX:c=0,scrollablePixelsY:l=0}=r;(r.isDirtyBox||o!==r.oldChartWidth||s!==r.oldChartHeight)&&(r.styledMode||(a?zs:ec)(r.container,{width:`${o+c}px`,height:`${s+l}px`},a),r.setChartSize(!0),i.setSize(o,s,a),r.axes.forEach(function(e){e.isDirty=!0,e.setScale()}),r.isDirtyLegend=!0,r.isDirtyBox=!0,r.layOutTitles(),r.getMargins(),r.redraw(a),r.oldChartHeight=void 0,$(r,`resize`),setTimeout(()=>{r&&$(r,`endResize`)},Bs(a).duration)),--r.isResizing}setChartSize(e){let t,n,r,i,{chartHeight:a,chartWidth:o,inverted:s,spacing:c,renderer:l}=this,u=this.clipOffset,d=Math[s?`floor`:`round`];this.plotLeft=t=Math.round(this.plotLeft),this.plotTop=n=Math.round(this.plotTop),this.plotWidth=r=Math.max(0,Math.round(o-t-(this.marginRight??0))),this.plotHeight=i=Math.max(0,Math.round(a-n-(this.marginBottom??0))),this.plotSizeX=s?i:r,this.plotSizeY=s?r:i,this.spacingBox=l.spacingBox={x:c[3],y:c[0],width:o-c[3]-c[1],height:a-c[0]-c[2]},this.plotBox=l.plotBox={x:t,y:n,width:r,height:i},u&&(this.clipBox={x:d(u[3]),y:d(u[0]),width:d(this.plotSizeX-u[1]-u[3]),height:d(this.plotSizeY-u[0]-u[2])}),e||(this.axes.forEach(function(e){e.setAxisSize(),e.setAxisTranslation()}),l.alignElements()),$(this,`afterSetChartSize`,{skipAxes:e})}resetMargins(){$(this,`resetMargins`);let e=this,t=e.options.chart,n=t.plotBorderWidth||0,r=Math.round(n)/2;[`margin`,`spacing`].forEach(n=>{let r=t[n],i=fc(r)?r:[r,r,r,r];[`Top`,`Right`,`Bottom`,`Left`].forEach((r,a)=>{e[n][a]=t[`${n}${r}`]??i[a]})}),qs.forEach((t,n)=>{e[t]=e.margin[n]??e.spacing[n]}),e.axisOffset=[0,0,0,0],e.clipOffset=[r,r,r,r],e.plotBorderWidth=n}drawChartBox(){let e=this.options.chart,t=this.renderer,n=this.chartWidth,r=this.chartHeight,i=this.styledMode,a=this.plotBGImage,o=e.backgroundColor,s=e.plotBackgroundColor,c=e.plotBackgroundImage,l=this.plotLeft,u=this.plotTop,d=this.plotWidth,f=this.plotHeight,p=this.plotBox,m=this.clipRect,h=this.clipBox,g=this.chartBackground,_=this.plotBackground,v=this.plotBorder,y,b,x,S=`animate`;g||(this.chartBackground=g=t.rect().addClass(`highcharts-background`).add(),S=`attr`),i?y=b=g.strokeWidth():(b=(y=e.borderWidth||0)+8*!!e.shadow,x={fill:o||`none`},(y||g[`stroke-width`])&&(x.stroke=e.borderColor,x[`stroke-width`]=y),g.attr(x).shadow(e.shadow)),g[S]({x:b/2,y:b/2,width:n-b-y%2,height:r-b-y%2,r:e.borderRadius}),S=`animate`,_||(S=`attr`,this.plotBackground=_=t.rect().addClass(`highcharts-plot-background`).add()),_[S](p),!i&&(_.attr({fill:s||`none`}).shadow(e.plotShadow),c&&(a?(c!==a.attr(`href`)&&a.attr(`href`,c),a.animate(p)):this.plotBGImage=t.image(c,l,u,d,f).add())),m?m.animate({width:h.width,height:h.height}):this.clipRect=t.clipRect(h),S=`animate`,v||(S=`attr`,this.plotBorder=v=t.rect().addClass(`highcharts-plot-border`).attr({zIndex:1}).add()),i||v.attr({stroke:e.plotBorderColor,"stroke-width":e.plotBorderWidth||0,fill:`none`}),v[S](v.crisp(p,-v.strokeWidth())),this.isDirtyBox=!1,$(this,`afterDrawChartBox`)}propFromSeries(){let e,t,n,r=this,i=r.options.chart,a=r.options.series;[`inverted`,`angular`,`polar`].forEach(function(o){for(t=Xs[i.type],n=i[o]||t&&t.prototype[o],e=a?.length;!n&&e--;)(t=Xs[a[e].type])&&t.prototype[o]&&(n=!0);r[o]=n})}linkSeries(e){let t=this,n=t.series;n.forEach(function(e){e.linkedSeries.length=0}),n.forEach(function(e){let{linkedTo:r}=e.options,i=pc(r)&&(r===`:previous`?n[e.index-1]:t.get(r));i&&i.linkedParent!==e&&(i.linkedSeries.push(e),e.linkedParent=i,i.enabledDataSorting&&e.setDataSortingOptions(),e.visible=e.options.visible??i.options.visible??e.visible)}),$(this,`afterLinkSeries`,{isUpdating:e})}renderSeries(){this.series.forEach(function(e){e.translate(),e.render()})}render(){let e=this.axes,t=this.colorAxis,n=this.renderer,r=this.options.chart.axisLayoutRuns||2,i=e=>{e.forEach(e=>{e.visible&&e.render()})},a=0,o=!0,s,c=0;for(let t of(this.setTitle(),$(this,`beforeMargins`),this.getStacks?.(),this.getMargins(!0),this.setChartSize(),e)){let{options:e}=t,{labels:n}=e;if(this.hasCartesianSeries&&t.horiz&&t.visible&&n.enabled&&t.series.length&&t.coll!==`colorAxis`&&!this.polar){a=e.tickLength,t.createGroups();let r=new pi(t,0,``,!0),i=r.createLabel(`x`,n);if(r.destroy(),i&&gc(n.reserveSpace,!dc(e.crossing))&&(a=i.getBBox().height+n.distance+Math.max(e.offset||0,0)),a){i?.destroy();break}}}for(this.plotHeight=Math.max(this.plotHeight-a,0);(o||s||r>1)&&c<r;){let t=this.plotWidth,n=this.plotHeight;for(let t of e)c===0?t.setScale():(t.horiz&&o||!t.horiz&&s)&&t.setTickInterval(!0);c===0?this.getAxisMargins():this.getMargins(),o=t/this.plotWidth>(c?1:1.1),s=n/this.plotHeight>(c?1:1.05),c++}this.drawChartBox(),this.hasCartesianSeries?i(e):t?.length&&i(t),this.seriesGroup||=n.g(`series-group`).attr({zIndex:3}).shadow(this.options.chart.seriesGroupShadow).add(),this.renderSeries(),this.addCredits(),this.setResponsive&&this.setResponsive(),this.hasRendered=!0}addCredits(e){let t=this,n=mc(!0,this.options.credits,e);n.enabled&&!this.credits&&(this.credits=this.renderer.text(n.text+(this.mapCredits||``),0,0).addClass(`highcharts-credits`).on(`click`,function(){n.href&&(Ys.location.href=n.href)}).attr({align:n.position.align,zIndex:8}),t.styledMode||this.credits.css(n.style),this.credits.add().align(n.position),this.credits.update=function(e){t.credits=t.credits.destroy(),t.addCredits(e)})}destroy(){let e,t=this,n=t.axes,r=t.series,i=t.container,a=i?.parentNode;for($(t,`destroy`),t.renderer.forExport?ic(Gs,t):Gs[t.index]=void 0,P.chartCount--,t.renderTo.removeAttribute(`data-highcharts-chart`),yc(t),e=n.length;e--;)n[e]=n[e].destroy();for(this.scroller?.destroy?.(),e=r.length;e--;)r[e]=r[e].destroy();[`title`,`subtitle`,`chartBackground`,`plotBackground`,`plotBGImage`,`plotBorder`,`seriesGroup`,`clipRect`,`credits`,`pointer`,`rangeSelector`,`legend`,`resetZoomButton`,`tooltip`,`renderer`].forEach(e=>{t[e]=t[e]?.destroy?.()}),i&&(i.innerHTML=V.emptyHTML,yc(i),a&&rc(i)),hc(t,function(e,n){delete t[n]})}firstRender(){let e=this,t=e.options;e.getContainer(),e.resetMargins(),e.setChartSize(),e.propFromSeries(),e.createAxes();let n=uc(t.series)?t.series:[];t.series=[],n.forEach(function(t){e.initSeries(t)}),e.linkSeries(),e.setSortedData(),$(e,`beforeRender`),e.render(),e.pointer?.getChartPosition(),e.renderer.imgCount||e.hasLoaded||e.onload(),e.temporaryDisplay(!0)}onload(){this.callbacks.concat([this.callback]).forEach(function(e){e&&this.index!==void 0&&e.apply(this,[this])},this),$(this,`load`),$(this,`render`),tc(this.index)&&this.setReflow(),this.warnIfA11yModuleNotLoaded(),this.warnIfCSSNotLoaded(),this.hasLoaded=!0}warnIfA11yModuleNotLoaded(){let{options:e,title:t}=this;e&&!this.accessibility&&(this.renderer.boxWrapper.attr({role:`img`,"aria-label":(t?.element.textContent||``).replace(/</g,`<`)}),e.accessibility&&!1===e.accessibility.enabled||ac(`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))}warnIfCSSNotLoaded(){this.styledMode&&Ys.getComputedStyle(this.container).zIndex!==`0`&&ac(35,!1,this)}addSeries(e,t,n){let r,i=this;return e&&(t=gc(t,!0),$(i,`addSeries`,{options:e},function(){r=i.initSeries(e),i.isDirtyLegend=!0,i.linkSeries(),r.enabledDataSorting&&r.setData(e.data,!1),$(i,`afterAddSeries`,{series:r}),t&&i.redraw(n)})),r}addAxis(e,t,n,r){return this.createAxis(t?`xAxis`:`yAxis`,{axis:e,redraw:n,animation:r})}addColorAxis(e,t,n){return this.createAxis(`colorAxis`,{axis:e,redraw:t,animation:n})}createAxis(e,t){let n=new Bi(this,t.axis,e);return gc(t.redraw,!0)&&this.redraw(t.animation),n}showLoading(e){let t=this,n=t.options,r=n.loading,i=function(){a&&ec(a,{left:t.plotLeft+`px`,top:t.plotTop+`px`,width:t.plotWidth+`px`,height:t.plotHeight+`px`})},a=t.loadingDiv,o=t.loadingSpan;a||(t.loadingDiv=a=$s(`div`,{className:`highcharts-loading highcharts-loading-hidden`},null,t.container)),o||(t.loadingSpan=o=$s(`span`,{className:`highcharts-loading-inner`},null,a),Zs(t,`redraw`,i)),a.className=`highcharts-loading`,V.setElementHTML(o,gc(e,n.lang.loading,``)),!t.styledMode&&(ec(a,oc(r.style,{zIndex:10})),ec(o,r.labelStyle),t.loadingShown||(ec(a,{opacity:0,display:``}),zs(a,{opacity:r.style.opacity||.5},{duration:r.showDuration||0}))),t.loadingShown=!0,i()}hideLoading(){let e=this.options,t=this.loadingDiv;t&&(t.className=`highcharts-loading highcharts-loading-hidden`,this.styledMode||zs(t,{opacity:0},{duration:e.loading.hideDuration||100,complete:function(){ec(t,{display:`none`})}})),this.loadingShown=!1}update(e,t,n,r){let i,a,o,s=this,c={credits:`addCredits`,title:`setTitle`,subtitle:`setSubtitle`,caption:`setCaption`},l=e.isResponsiveOptions,u=[];$(s,`update`,{options:e}),l||s.setResponsive(!1,!0),e=nc(e,s.options),s.userOptions=mc(s.userOptions,e);let d=e.chart;d&&(mc(!0,s.options.chart,d),this.setZoomOptions(),`className`in d&&s.setClassName(d.className),(`inverted`in d||`polar`in d||`type`in d)&&(s.propFromSeries(),i=!0),`alignTicks`in d&&(i=!0),`events`in d&&Ws(this,d),hc(d,function(e,t){s.propsRequireUpdateSeries.indexOf(`chart.`+t)!==-1&&(a=!0),s.propsRequireDirtyBox.indexOf(t)!==-1&&(s.isDirtyBox=!0),s.propsRequireReflow.indexOf(t)!==-1&&(s.isDirtyBox=!0,l||(o=!0))}),!s.styledMode&&d.style&&s.renderer.setStyle(s.options.chart.style||{})),!s.styledMode&&e.colors&&(this.options.colors=e.colors),hc(e,function(t,n){s[n]&&typeof s[n].update==`function`?s[n].update(t,!1):typeof s[c[n]]==`function`?s[c[n]](t):n!==`colors`&&s.collectionsWithUpdate.indexOf(n)===-1&&mc(!0,s.options[n],e[n]),n!==`chart`&&s.propsRequireUpdateSeries.indexOf(n)!==-1&&(a=!0)}),this.collectionsWithUpdate.forEach(function(t){e[t]&&(bc(e[t]).forEach(function(e,r){let i,a=tc(e.id);a&&(i=s.get(e.id)),!i&&s[t]&&(i=s[t][gc(e.index,r)])&&(a&&tc(i.options.id)||i.options.isInternal)&&(i=void 0),i&&i.coll===t&&(i.update(e,!1),n&&(i.touched=!0)),!i&&n&&s.collectionsWithInit[t]&&(s.collectionsWithInit[t][0].apply(s,[e].concat(s.collectionsWithInit[t][1]||[],[!1])).touched=!0)}),n&&s[t].forEach(function(e){e.touched||e.options.isInternal?delete e.touched:u.push(e)}))}),u.forEach(function(e){e.chart&&e.remove&&e.remove(!1)}),i&&s.axes.forEach(function(e){e.update({},!1)}),a&&s.getSeriesOrderByLinks().forEach(function(e){e.chart&&e.update({},!1)},this);let f=d?.width,p=d&&(pc(d.height)?vc(d.height,f||s.chartWidth):d.height);o||dc(f)&&f!==s.chartWidth||dc(p)&&p!==s.chartHeight?s.setSize(f,p,r):gc(t,!0)&&s.redraw(r),$(s,`afterUpdate`,{options:e,redraw:t,animation:r})}setSubtitle(e,t){this.applyDescription(`subtitle`,e),this.layOutTitles(t)}setCaption(e,t){this.applyDescription(`caption`,e),this.layOutTitles(t)}showResetZoom(){let e=this,t=Hs.lang,n=e.zooming.resetButton,r=n.theme,i=n.relativeTo===`chart`||n.relativeTo===`spacingBox`?null:`plotBox`;function a(){e.zoomOut()}$(this,`beforeShowResetZoom`,null,function(){e.resetZoomButton=e.renderer.button(t.resetZoom,null,null,a,r).attr({align:n.position.align,title:t.resetZoomTitle}).addClass(`highcharts-reset-zoom`).add().align(n.position,!1,i)}),$(this,`afterShowResetZoom`)}zoomOut(){$(this,`selection`,{resetSelection:!0},()=>this.transform({reset:!0,trigger:`zoom`}))}pan(e,t){let n=this,r=typeof t==`object`?t:{enabled:t,type:`x`},i=r.type,a=i&&n[{x:`xAxis`,xy:`axes`,y:`yAxis`}[i]].filter(e=>e.options.panningEnabled&&!e.options.isInternal),o=n.options.chart;o?.panning&&(o.panning=r),$(this,`pan`,{originalEvent:e},()=>{n.transform({axes:a,event:e,to:{x:e.chartX-(n.mouseDownX||0),y:e.chartY-(n.mouseDownY||0)},trigger:`pan`}),ec(n.container,{cursor:`move`})})}transform(e){let{axes:t=this.axes,event:n,from:r={},reset:i,selection:a,to:o={},trigger:s,allowResetButton:c=!0}=e,{inverted:l,time:u}=this;this.hoverPoints?.forEach(e=>e.setState()),$(this,`transform`,e);let d=e.hasZoomed||!1,f,p;for(let e of t){let{horiz:t,len:m,minPointOffset:h=0,options:g,reversed:_}=e,v=t?`width`:`height`,y=t?`x`:`y`,b=gc(o[v],e.len),x=gc(r[v],e.len),S=10>Math.abs(b)?1:b/x,C=(r[y]||0)+x/2-e.pos,w=C-((o[y]??e.pos)+b/2-e.pos)/S,T=_&&!l||!_&&l?-1:1;if(!i&&(C<0||C>e.len))continue;let E=e.chart.polar||e.isOrdinal?0:h*T||0,D=e.toValue(w,!0),O=e.toValue(w+m/S,!0),k=D+E,A=O-E,j=e.allExtremes;if(a&&a[e.coll].push({axis:e,min:Math.min(D,O),max:Math.max(D,O)}),k>A&&([k,A]=[A,k]),S===1&&!i&&e.coll===`yAxis`&&!j){for(let t of e.series){let e=t.getExtremes(t.getProcessedData(!0).modified.getColumn(t.pointValKey||`y`)||[],!0);j??={dataMin:Number.MAX_VALUE,dataMax:-Number.MAX_VALUE},dc(e.dataMin)&&dc(e.dataMax)&&(j.dataMin=Math.min(e.dataMin,j.dataMin),j.dataMax=Math.max(e.dataMax,j.dataMax))}e.allExtremes=j}let{dataMin:M,dataMax:ee,min:N,max:te}=oc(e.getExtremes(),j||{}),P=u.parse(g.min),ne=u.parse(g.max),re=M??P,ie=ee??ne,ae=A-k,oe=e.categories?0:Math.min(ae,ie-re),se=re-oe*(tc(P)?0:g.minPadding),ce=ie+oe*(tc(ne)?0:g.maxPadding),le=e.allowZoomOutside||S===1||s!==`zoom`&&S>1,ue=Math.min(P??se,se,le?N:se),de=Math.max(ne??ce,ce,le?te:ce);(!e.isOrdinal||S!==1||i)&&(k<ue&&(k=ue,S>=1&&(A=k+ae)),A>de&&(A=de,S>=1&&(k=A-ae)),(i||e.series.length&&(k!==N||A!==te)&&k>=ue&&A<=de)&&(a?a[e.coll].push({axis:e,min:k,max:A}):(e.isPanning=s!==`zoom`,e.isPanning&&s!==`mousewheel`&&(p=!0),e.setExtremes(i?void 0:k,i?void 0:A,!1,!1,{move:w,trigger:s,scale:S}),!i&&(k>ue||A<de)&&(f=c)),d=!0),this.hasCartesianSeries||i||(f=c),n&&(this[t?`mouseDownX`:`mouseDownY`]=n[t?`chartX`:`chartY`]))}return d&&(a?$(this,`selection`,a,()=>{delete e.selection,e.trigger=`zoom`,this.transform(e)}):(!f||p||this.resetZoomButton?!f&&this.resetZoomButton&&(this.resetZoomButton=this.resetZoomButton.destroy()):this.showResetZoom(),this.redraw(s===`zoom`&&(this.options.chart.animation??this.pointCount<100)))),d}}oc(Cc.prototype,{callbacks:[],collectionsWithInit:{xAxis:[Cc.prototype.addAxis,[!0]],yAxis:[Cc.prototype.addAxis,[!1]],series:[Cc.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:wc}=B,{composed:Tc}=P,{addEvent:Ec,createElement:Dc,css:Oc,defined:kc,erase:Ac,merge:jc,pushUnique:Mc}=F;function Nc(){let e=this.scrollablePlotArea;(this.scrollablePixelsX||this.scrollablePixelsY)&&!e&&(this.scrollablePlotArea=e=new Fc(this)),e?.applyFixed()}function Pc(){this.chart.scrollablePlotArea&&(this.chart.scrollablePlotArea.isDirty=!0)}class Fc{static compose(e,t,n){Mc(Tc,this.compose)&&(Ec(e,`afterInit`,Pc),Ec(t,`afterSetChartSize`,e=>this.afterSetSize(e.target,e)),Ec(t,`render`,Nc),Ec(n,`show`,Pc))}static afterSetSize(e,t){let n,r,i,{minWidth:a,minHeight:o}=e.options.chart.scrollablePlotArea||{},{clipBox:s,plotBox:c,inverted:l,renderer:u}=e;if(!u.forExport)if(a?(e.scrollablePixelsX=n=Math.max(0,a-e.chartWidth),n&&(e.scrollablePlotBox=jc(e.plotBox),c.width=e.plotWidth+=n,s[l?`height`:`width`]+=n,i=!0)):o&&(e.scrollablePixelsY=r=Math.max(0,o-e.chartHeight),kc(r)&&(e.scrollablePlotBox=jc(e.plotBox),c.height=e.plotHeight+=r,s[l?`width`:`height`]+=r,i=!1)),kc(i)){if(!t.skipAxes)for(let t of e.axes)(t.horiz===i||e.hasParallelCoordinates&&t.coll===`yAxis`)&&(t.setAxisSize(),t.setAxisTranslation())}else delete e.scrollablePlotBox}constructor(e){let t,n=e.options.chart,r=qt.getRendererType(),i=n.scrollablePlotArea||{},a=this.moveFixedElements.bind(this),o={WebkitOverflowScrolling:`touch`,overflowX:`hidden`,overflowY:`hidden`};e.scrollablePixelsX&&(o.overflowX=`auto`),e.scrollablePixelsY&&(o.overflowY=`auto`),this.chart=e;let s=this.scrollingContainer=Dc(`div`,{className:`highcharts-scrolling`},o,this.parentDiv=Dc(`div`,{className:`highcharts-scrolling-parent`},{position:`relative`},e.renderTo)),c=this.innerContainer=Dc(`div`,{className:`highcharts-inner-container`},void 0,s),l=this.fixedDiv=Dc(`div`,{className:`highcharts-fixed`},{position:`absolute`,overflow:`hidden`,pointerEvents:`none`,zIndex:(n.style?.zIndex||0)+2,top:0},void 0,!0);this.mask=(this.fixedRenderer=new r(l,e.chartWidth,e.chartHeight,n.style)).path().attr({fill:n.backgroundColor||`#fff`,"fill-opacity":i.opacity??.85,zIndex:-1}).addClass(`highcharts-scrollable-mask`).add(),s.parentNode.insertBefore(l,s),Oc(e.renderTo,{overflow:`visible`}),Ec(e,`afterShowResetZoom`,a),Ec(e,`afterApplyDrilldown`,a),Ec(e,`afterLayOutTitles`,a),Ec(s,`scroll`,()=>{let{pointer:n,hoverPoint:r}=e;n&&(delete n.chartPosition,r&&(t=r),n.runPointActions(void 0,t,!0))}),c.appendChild(e.container)}applyFixed(){let{chart:e,fixedRenderer:t,isDirty:n,scrollingContainer:r}=this,{axisOffset:i,chartWidth:a,chartHeight:o,container:s,plotHeight:c,plotLeft:l,plotTop:u,plotWidth:d,scrollablePixelsX:f=0,scrollablePixelsY:p=0}=e,{scrollPositionX:m=0,scrollPositionY:h=0}=e.options.chart.scrollablePlotArea||{},g=a+f,_=o+p;t.setSize(a,o),(n??!0)&&(this.isDirty=!1,this.moveFixedElements()),wc(e.container),Oc(s,{width:`${g}px`,height:`${_}px`}),e.renderer.boxWrapper.attr({width:g,height:_,viewBox:[`0 0`,g,_].join(` `)}),e.chartBackground?.attr({width:g,height:_}),Oc(r,{width:`${a}px`,height:`${o}px`}),kc(n)||(r.scrollLeft=f*m,r.scrollTop=p*h);let v=u-i[0]-1,y=l-i[3]-1,b=u+c+i[2]+1,x=l+d+i[1]+1,S=l+d-f,C=u+c-p,w=[[`M`,0,0]];f?w=[[`M`,0,v],[`L`,l-1,v],[`L`,l-1,b],[`L`,0,b],[`Z`],[`M`,S,v],[`L`,a,v],[`L`,a,b],[`L`,S,b],[`Z`]]:p&&(w=[[`M`,y,0],[`L`,y,u-1],[`L`,x,u-1],[`L`,x,0],[`Z`],[`M`,y,C],[`L`,y,o],[`L`,x,o],[`L`,x,C],[`Z`]]),e.redrawTrigger!==`adjustHeight`&&this.mask.attr({d:w})}moveFixedElements(){let e,{container:t,inverted:n,scrollablePixelsX:r,scrollablePixelsY:i}=this.chart,a=this.fixedRenderer,o=Fc.fixedSelectors;if(r&&!n?e=`.highcharts-yaxis`:r&&n||i&&!n?e=`.highcharts-xaxis`:i&&n&&(e=`.highcharts-yaxis`),e&&!(this.chart.hasParallelCoordinates&&e===`.highcharts-yaxis`))for(let t of[`${e}:not(.highcharts-radial-axis)`,`${e}-labels:not(.highcharts-radial-axis-labels)`])Mc(o,t);else for(let e of[`.highcharts-xaxis`,`.highcharts-yaxis`])for(let t of[`${e}:not(.highcharts-radial-axis)`,`${e}-labels:not(.highcharts-radial-axis-labels)`])Ac(o,t);for(let e of o)[].forEach.call(t.querySelectorAll(e),e=>{(e.namespaceURI===a.SVG_NS?a.box:a.box.parentNode).appendChild(e),e.style.pointerEvents=`auto`})}}Fc.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:Ic}=Kt,{series:Lc}=J,{destroyObjectProperties:Rc,fireEvent:zc,getAlignFactor:Bc,isNumber:Vc,pick:Hc}=F,Uc=class{constructor(e,t,n,r,i){let a=e.chart.inverted,o=e.reversed;this.axis=e;let s=this.isNegative=!!n!=!!o;this.options=t||={},this.x=r,this.total=null,this.cumulative=null,this.points={},this.hasValidPoints=!1,this.stack=i,this.leftCliff=0,this.rightCliff=0,this.alignOptions={align:t.align||(a?s?`left`:`right`:`center`),verticalAlign:t.verticalAlign||(a?`middle`:s?`bottom`:`top`),y:t.y,x:t.x},this.textAlign=t.textAlign||(a?s?`right`:`left`:`center`)}destroy(){Rc(this,this.axis)}render(e){let t=this.axis.chart,n=this.options,r=n.format,i=r?Ic(r,this,t):n.formatter.call(this);if(this.label)this.label.attr({text:i,visibility:`hidden`});else{this.label=t.renderer.label(i,null,void 0,n.shape,void 0,void 0,n.useHTML,!1,`stack-labels`);let r={r:n.borderRadius||0,text:i,padding:Hc(n.padding,5),visibility:`hidden`};t.styledMode||(r.fill=n.backgroundColor,r.stroke=n.borderColor,r[`stroke-width`]=n.borderWidth,this.label.css(n.style||{})),this.label.attr(r),this.label.added||this.label.add(e)}this.label.labelrank=t.plotSizeY,zc(this,`afterRender`)}setOffset(e,t,n,r,i,a){let{alignOptions:o,axis:s,label:c,options:l,textAlign:u}=this,d=s.chart,f=this.getStackBox({xOffset:e,width:t,boxBottom:n,boxTop:r,defaultX:i,xAxis:a}),{verticalAlign:p}=o;if(c&&f){let e=c.getBBox(void 0,0),t=c.padding,n=Hc(l.overflow,`justify`)===`justify`,r;o.x=l.x||0,o.y=l.y||0;let{x:i,y:a}=this.adjustStackPosition({labelBox:e,verticalAlign:p,textAlign:u});f.x-=i,f.y-=a,c.align(o,!1,f),(r=d.isInsidePlot(c.alignAttr.x+o.x+i,c.alignAttr.y+o.y+a))||(n=!1),n&&Lc.prototype.justifyDataLabel.call(s,c,o,c.alignAttr,e,f),c.attr({x:c.alignAttr.x,y:c.alignAttr.y,rotation:l.rotation,rotationOriginX:e.width*Bc(l.textAlign||`center`),rotationOriginY:e.height/2}),Hc(!n&&l.crop,!0)&&(r=Vc(c.x)&&Vc(c.y)&&d.isInsidePlot(c.x-t+(c.width||0),c.y)&&d.isInsidePlot(c.x+t,c.y)),c[r?`show`:`hide`]()}zc(this,`afterSetOffset`,{xOffset:e,width:t})}adjustStackPosition({labelBox:e,verticalAlign:t,textAlign:n}){return{x:e.width/2+e.width/2*(2*Bc(n)-1),y:e.height/2*2*(1-Bc(t))}}getStackBox(e){let t=this.axis,n=t.chart,{boxTop:r,defaultX:i,xOffset:a,width:o,boxBottom:s}=e,c=t.stacking.usePercentage?100:Hc(r,this.total,0),l=t.toPixels(c),u=e.xAxis||n.xAxis[0],d=Hc(i,u.translate(this.x))+a,f=Math.abs(l-t.toPixels(s||Vc(t.min)&&t.logarithmic&&t.logarithmic.lin2log(t.min)||0)),p=n.inverted,m=this.isNegative;return p?{x:(m?l:l-f)-n.plotLeft,y:u.height-d-o+u.top-n.plotTop,width:f,height:o}:{x:d+u.transB-n.plotLeft,y:(m?l-f:l)-n.plotTop,width:o,height:f}}},{getDeferredAnimation:Wc}=B,{series:{prototype:Gc}}=J,{addEvent:Kc,correctFloat:qc,defined:Jc,destroyObjectProperties:Yc,fireEvent:Xc,isNumber:Zc,objectEach:Qc,pick:$c}=F;function el(){let e=this.inverted;this.axes.forEach(e=>{e.stacking?.stacks&&e.hasVisibleSeries&&(e.stacking.oldStacks=e.stacking.stacks)}),this.series.forEach(t=>{let n=t.xAxis?.options||{};t.options.stacking&&t.reserveSpace()&&(t.stackKey=[t.type,$c(t.options.stack,``),e?n.top:n.left,e?n.height:n.width].join(`,`))})}function tl(){let e=this.stacking;if(e){let t=e.stacks;Qc(t,(e,n)=>{Yc(e),delete t[n]}),e.stackTotalGroup?.destroy()}}function nl(){this.stacking||=new cl(this)}function rl(e,t,n,r){return!Jc(e)||e.x!==t||r&&e.stackKey!==r?e={x:t,index:0,key:r,stackKey:r}:e.index++,e.key=[n,t,e.index].join(`,`),e}function il(){let e,t=this,n=t.yAxis,r=t.stackKey||``,i=n.stacking.stacks,a=t.getColumn(`x`,!0),o=t[t.options.stacking+`Stacker`];o&&[r,`-`+r].forEach(n=>{let r=a.length,s,c,l;for(;r--;)s=a[r],e=t.getStackIndicator(e,s,t.index,n),c=i[n]?.[s],(l=c?.points[e.key||``])&&o.call(t,l,c,r)})}function al(e,t,n){let r=t.total?100/t.total:0;e[0]=qc(e[0]*r),e[1]=qc(e[1]*r),this.stackedYData[n]=e[1]}function ol(e){(this.is(`column`)||this.is(`columnrange`))&&(this.options.centerInCategory&&this.chart.series.length>1?Gc.setStackedPoints.call(this,e,`group`):e.stacking.resetStacks())}function sl(e,t){let n,r,i,a,o,s,c,l=t||this.options.stacking;if(!l||!this.reserveSpace()||({group:`xAxis`}[l]||`yAxis`)!==e.coll)return;let u=this.getColumn(`x`,!0),d=this.getColumn(this.pointValKey||`y`,!0),f=[],p=d.length,m=this.options,h=m.threshold||0,g=m.startFromThreshold?h:0,_=m.stack,v=t?`${this.type},${l}`:this.stackKey||``,y=`-`+v,b=this.negStacks,x=e.stacking,S=x.stacks,C=x.oldStacks;for(x.stacksTouched+=1,c=0;c<p;c++){let t=u[c]||0,p=d[c],m=Zc(p)&&p||0;s=(n=this.getStackIndicator(n,t,this.index)).key||``,S[o=(r=b&&m<(g?0:h))?y:v]||(S[o]={}),S[o][t]||(C[o]?.[t]?(S[o][t]=C[o][t],S[o][t].total=null):S[o][t]=new Uc(e,e.options.stackLabels,!!r,t,_)),i=S[o][t],p===null?(delete i.points[s],delete i.points[this.index]):(i.points[s]=i.points[this.index]=[$c(i.cumulative,g)],Jc(i.cumulative)||(i.base=s),i.touched=x.stacksTouched,n.index>0&&!1===this.singleStacks&&(i.points[s][0]=i.points[this.index+`,`+t+`,0`][0]));let w=i.total||0;l===`percent`?(a=r?v:y,w=b&&S[a]?.[t]?(a=S[a][t]).total=Math.max(a.total||0,w)+Math.abs(m):qc(w+Math.abs(m))):l===`group`?Zc(p)&&w++:w=qc(w+m),l===`group`?i.cumulative=(w||1)-1:i.cumulative=qc($c(i.cumulative,g)+m),i.total=w,p!==null&&(i.points[s].push(i.cumulative),f[c]=i.cumulative,i.hasValidPoints=!0)}l===`percent`&&(x.usePercentage=!0),l!==`group`&&(this.stackedYData=f),x.oldStacks={}}class cl{constructor(e){this.oldStacks={},this.stacks={},this.stacksTouched=0,this.axis=e}buildStacks(){let e,t,n=this.axis,r=n.series,i=n.coll===`xAxis`,a=n.options.reversedStacks,o=r.length;for(this.resetStacks(),this.usePercentage=!1,t=o;t--;)e=r[a?t:o-t-1],i&&e.setGroupedPoints(n),e.setStackedPoints(n);if(!i)for(t=0;t<o;t++)r[t].modifyStacks();Xc(n,`afterBuildStacks`)}cleanStacks(){this.oldStacks&&(this.stacks=this.oldStacks,Qc(this.stacks,e=>{Qc(e,e=>{e.cumulative=e.total})}))}resetStacks(){Qc(this.stacks,e=>{Qc(e,(t,n)=>{Zc(t.touched)&&t.touched<this.stacksTouched?(t.destroy(),delete e[n]):(t.total=null,t.cumulative=null)})})}renderStackTotals(){let e=this.axis,t=e.chart,n=t.renderer,r=this.stacks,i=Wc(t,e.options.stackLabels?.animation||!1),a=this.stackTotalGroup=this.stackTotalGroup||n.g(`stack-labels`).attr({zIndex:6,opacity:0}).add();a.translate(t.plotLeft,t.plotTop),Qc(r,e=>{Qc(e,e=>{e.render(a)})}),a.animate({opacity:1},i)}}(D||={}).compose=function(e,t,n){let r=t.prototype,i=n.prototype;r.getStacks||(Kc(e,`init`,nl),Kc(e,`destroy`,tl),r.getStacks=el,i.getStackIndicator=rl,i.modifyStacks=il,i.percentStacker=al,i.setGroupedPoints=ol,i.setStackedPoints=sl)};let ll=D,{defined:ul,merge:dl,isObject:fl}=F;class pl extends hs{drawGraph(){let e=this.options,t=(this.gappedPath||this.getGraphPath).call(this),n=this.chart.styledMode;[this,...this.zones].forEach((r,i)=>{let a,o=r.graph,s=o?`animate`:`attr`,c=r.dashStyle||e.dashStyle;o?(o.endX=this.preventGraphAnimation?null:t.xMap,o.animate({d:t})):t.length&&(r.graph=o=this.chart.renderer.path(t).addClass(`highcharts-graph`+(i?` highcharts-zone-graph-${i-1} `:` `)+(i&&r.className||``)).attr({zIndex:1}).add(this.group)),o&&!n&&(a={stroke:!i&&e.lineColor||r.color||this.color||`#cccccc`,"stroke-width":e.lineWidth||0,fill:this.fillGraph&&this.color||`none`},c?a.dashstyle=c:e.linecap!==`square`&&(a[`stroke-linecap`]=a[`stroke-linejoin`]=`round`),o[s](a).shadow(e.shadow&&dl({filterUnits:`userSpaceOnUse`},fl(e.shadow)?e.shadow:{}))),o&&(o.startX=t.xMap,o.isArea=t.isArea)})}getGraphPath(e,t,n){let r=this,i=r.options,a=[],o=[],s,c=i.step,l=(e||=r.points).reversed;return l&&e.reverse(),(c={right:1,center:2}[c]||c&&3)&&l&&(c=4-c),(e=this.getValidPoints(e,!1,i.nullInteraction||!(i.connectNulls&&!t&&!n))).forEach(function(l,u){let d,f=l.plotX,p=l.plotY,m=e[u-1],h=l.isNull||typeof p!=`number`;(l.leftCliff||m?.rightCliff)&&!n&&(s=!0),h&&!ul(t)&&u>0?s=!i.connectNulls:h&&!t?s=!0:(u===0||s?d=[[`M`,l.plotX,l.plotY]]:r.getPointSpline?d=[r.getPointSpline(e,l,u)]:c?(d=c===1?[[`L`,m.plotX,p]]:c===2?[[`L`,(m.plotX+f)/2,m.plotY],[`L`,(m.plotX+f)/2,p]]:[[`L`,f,m.plotY]]).push([`L`,f,p]):d=[[`L`,f,p]],o.push(l.x),c&&(o.push(l.x),c===2&&o.push(l.x)),a.push.apply(a,d),s=!1)}),a.xMap=o,r.graphPath=a,a}}pl.defaultOptions=dl(hs.defaultOptions,{legendSymbol:`lineMarker`}),J.registerSeriesType(`line`,pl);let{seriesTypes:{line:ml}}=J,{extend:hl,merge:gl,objectEach:_l,pick:vl}=F;class yl extends ml{drawGraph(){this.areaPath=[],super.drawGraph.apply(this);let{areaPath:e,options:t}=this;[this,...this.zones].forEach((n,r)=>{let i={},a=n.fillColor||t.fillColor,o=n.area,s=o?`animate`:`attr`;o?(o.endX=this.preventGraphAnimation?null:e.xMap,o.animate({d:e})):(i.zIndex=0,(o=n.area=this.chart.renderer.path(e).addClass(`highcharts-area`+(r?` highcharts-zone-area-${r-1} `:` `)+(r&&n.className||``)).add(this.group)).isArea=!0),this.chart.styledMode||(i.fill=a||n.color||this.color,i[`fill-opacity`]=a?1:t.fillOpacity??.75,o.css({pointerEvents:this.stickyTracking?`none`:`auto`})),o[s](i),o.startX=e.xMap,o.shiftUnit=t.step?2:1})}getGraphPath(e){let t,n,r,i=ml.prototype.getGraphPath,a=this.options,o=a.stacking,s=this.yAxis,c=[],l=[],u=this.index,d=s.stacking.stacks[this.stackKey],f=a.threshold,p=Math.round(s.getThreshold(a.threshold)),m=vl(a.connectNulls,o===`percent`),h=function(n,r,i){let a=e[n],m=o&&d[a.x].points[u],h=a[i+`Null`]||0,g=a[i+`Cliff`]||0,_,v,y=!0;g||h?(_=(h?m[0]:m[1])+g,v=m[0]+g,y=!!h):!o&&e[r]&&e[r].isNull&&(_=v=f),_!==void 0&&(l.push({plotX:t,plotY:_===null?p:s.getThreshold(_),isNull:y,isCliff:!0}),c.push({plotX:t,plotY:v===null?p:s.getThreshold(v),doCurve:!1}))};e||=this.points,o&&(e=this.getStackPoints(e));for(let i=0,a=e.length;i<a;++i)o||(e[i].leftCliff=e[i].rightCliff=e[i].leftNull=e[i].rightNull=void 0),n=e[i].isNull,t=vl(e[i].rectPlotX,e[i].plotX),r=o?vl(e[i].yBottom,p):p,(!n||m)&&(m||h(i,i-1,`left`),n&&!o&&m||(l.push(e[i]),c.push({x:i,plotX:t,plotY:r})),m||h(i,i+1,`right`));let g=i.call(this,l,!0,!0);c.reversed=!0;let _=i.call(this,c,!0,!0),v=_[0];v&&v[0]===`M`&&(_[0]=[`L`,v[1],v[2]]);let y=g.concat(_);y.length&&y.push([`Z`]);let b=i.call(this,l,!1,m);return this.chart.series.length>1&&o&&l.some(e=>e.isCliff)&&(y.hasStackedCliffs=b.hasStackedCliffs=!0),y.xMap=g.xMap,this.areaPath=y,b}getStackPoints(e){let t=this,n=[],r=[],i=this.xAxis,a=this.yAxis,o=a.stacking.stacks[this.stackKey],s={},c=a.series,l=c.length,u=a.options.reversedStacks?1:-1,d=c.indexOf(t);if(e||=this.points,this.options.stacking){for(let t=0;t<e.length;t++)e[t].leftNull=e[t].rightNull=void 0,s[e[t].x]=e[t];_l(o,function(e,t){e.total!==null&&r.push(t)}),r.sort(function(e,t){return e-t});let f=c.map(e=>e.visible);r.forEach(function(e,p){let m=0,h,g;if(s[e]&&!s[e].isNull)n.push(s[e]),[-1,1].forEach(function(n){let i=n===1?`rightNull`:`leftNull`,a=o[r[p+n]],m=0;if(a){let n=d;for(;n>=0&&n<l;){let r=c[n].index;!(h=a.points[r])&&(r===t.index?s[e][i]=!0:f[n]&&(g=o[e].points[r])&&(m-=g[1]-g[0])),n+=u}}s[e][n===1?`rightCliff`:`leftCliff`]=m});else{let t=d;for(;t>=0&&t<l;){let n=c[t].index;if(h=o[e].points[n]){m=h[1];break}t+=u}m=vl(m,0),m=a.translate(m,0,1,0,1),n.push({isNull:!0,plotX:i.translate(e,0,0,0,1),x:e,plotY:m,yBottom:m})}})}return n}}yl.defaultOptions=gl(ml.defaultOptions,{threshold:0,legendSymbol:`areaMarker`}),hl(yl.prototype,{singleStacks:!1}),J.registerSeriesType(`area`,yl);let{line:bl}=J.seriesTypes,{merge:xl,pick:Sl}=F;class Cl extends bl{getPointSpline(e,t,n){let r,i,a,o,s=t.plotX||0,c=t.plotY||0,l=e[n-1],u=e[n+1];function d(e){return e&&!e.isNull&&!1!==e.doCurve&&!t.isCliff}if(d(l)&&d(u)){let e=l.plotX||0,n=l.plotY||0,d=u.plotX||0,f=u.plotY||0,p=0;r=(1.5*s+e)/2.5,i=(1.5*c+n)/2.5,a=(1.5*s+d)/2.5,o=(1.5*c+f)/2.5,a!==r&&(p=(o-i)*(a-s)/(a-r)+c-o),i+=p,o+=p,i>n&&i>c?(i=Math.max(n,c),o=2*c-i):i<n&&i<c&&(i=Math.min(n,c),o=2*c-i),o>f&&o>c?(o=Math.max(f,c),i=2*c-o):o<f&&o<c&&(o=Math.min(f,c),i=2*c-o),t.rightContX=a,t.rightContY=o,t.controlPoints={low:[r,i],high:[a,o]}}let f=[`C`,Sl(l.rightContX,l.plotX,0),Sl(l.rightContY,l.plotY,0),Sl(r,s,0),Sl(i,c,0),s,c];return l.rightContX=l.rightContY=void 0,f}}Cl.defaultOptions=xl(bl.defaultOptions),J.registerSeriesType(`spline`,Cl);let wl=Cl,{area:Tl,area:{prototype:El}}=J.seriesTypes,{extend:Dl,merge:Ol}=F;class kl extends wl{}kl.defaultOptions=Ol(wl.defaultOptions,Tl.defaultOptions),Dl(kl.prototype,{getGraphPath:El.getGraphPath,getStackPoints:El.getStackPoints,drawGraph:El.drawGraph}),J.registerSeriesType(`areaspline`,kl);let{animObject:Al}=B,{parse:jl}=R,{noop:Ml}=P,{clamp:Nl,crisp:Pl,defined:Fl,extend:Il,fireEvent:Ll,isArray:Rl,isNumber:zl,merge:Bl,pick:Vl,objectEach:Hl}=F;class Ul extends hs{animate(e){let t,n,r=this,i=this.yAxis,a=i.pos,o=i.reversed,s=r.options,{clipOffset:c,inverted:l}=this.chart,u={},d=l?`translateX`:`translateY`;e&&c?(u.scaleY=.001,n=Nl(i.toPixels(s.threshold||0),a,a+i.len),l?u.translateX=(n+=o?-Math.floor(c[0]):Math.ceil(c[2]))-i.len:u.translateY=n+=o?Math.ceil(c[0]):-Math.floor(c[2]),r.clipBox&&r.setClip(),r.group.attr(u)):(t=Number(r.group.attr(d)),r.group.animate({scaleY:1},Il(Al(r.options.animation),{step:function(e,n){r.group&&(u[d]=t+n.pos*(a-t),r.group.attr(u))}})))}init(e,t){super.init.apply(this,arguments);let n=this;(e=n.chart).hasRendered&&e.series.forEach(function(e){e.type===n.type&&(e.isDirty=!0)})}getColumnMetrics(){let e=this,t=e.options,n=e.xAxis,r=e.yAxis,i=n.options.reversedStacks,a=n.reversed&&!i||!n.reversed&&i,o={},s,c=0;!1===t.grouping?c=1:e.chart.series.forEach(function(t){let n,i=t.yAxis,a=t.options;t.type===e.type&&t.reserveSpace()&&r.len===i.len&&r.pos===i.pos&&(a.stacking&&a.stacking!==`group`?(o[s=t.stackKey]===void 0&&(o[s]=c++),n=o[s]):!1!==a.grouping&&(n=c++),t.columnIndex=n)});let l=Math.min(Math.abs(n.transA)*(!n.brokenAxis?.hasBreaks&&n.ordinal?.slope||t.pointRange||n.closestPointRange||n.tickInterval||1),n.len),u=l*t.groupPadding,d=(l-2*u)/(c||1),f=Math.min(t.maxPointWidth||n.len,Vl(t.pointWidth,d*(1-2*t.pointPadding))),p=(e.columnIndex||0)+ +!!a;return e.columnMetrics={width:f,offset:(d-f)/2+(u+p*d-l/2)*(a?-1:1),paddedWidth:d,columnCount:c},e.columnMetrics}crispCol(e,t,n,r){let i=this.borderWidth,a=this.chart.inverted;return r=Pl(t+r,i,a)-(t=Pl(t,i,a)),this.options.crisp&&(n=Pl(e+n,i)-(e=Pl(e,i))),{x:e,y:t,width:n,height:r}}adjustForMissingColumns(e,t,n,r){if(!n.isNull&&r.columnCount>1){let i=this.xAxis.series.filter(e=>e.visible).map(e=>e.index),a=0,o=0;Hl(this.xAxis.stacking?.stacks,e=>{let t=typeof n.x==`number`?e[n.x.toString()]?.points:void 0,r=t?.[this.index],s={};if(t&&Rl(r)){let e=this.index,n=Object.keys(t).filter(e=>!e.match(`,`)&&t[e]&&t[e].length>1).map(parseFloat).filter(e=>i.indexOf(e)!==-1).filter(t=>{let n=this.chart.series[t].options,r=n.stacking&&n.stack;if(Fl(r)){if(zl(s[r]))return e===t&&(e=s[r]),!1;s[r]=t}return!0}).sort((e,t)=>t-e);a=n.indexOf(e),o=n.length}}),a=this.xAxis.reversed?o-1-a:a;let s=(o-1)*r.paddedWidth+t;e=(n.plotX||0)+s/2-t-a*r.paddedWidth}return e}translate(){let e=this,t=e.chart,n=e.options,r=e.dense=e.closestPointRange*e.xAxis.transA<2,i=e.borderWidth=Vl(n.borderWidth,+!r),a=e.xAxis,o=e.yAxis,s=n.threshold,c=Vl(n.minPointLength,5),l=e.getColumnMetrics(),u=l.width,d=e.pointXOffset=l.offset,f=e.dataMin,p=e.dataMax,m=e.translatedThreshold=o.getThreshold(s),h=e.barW=Math.max(u,1+2*i);n.pointPadding&&n.crisp&&(h=Math.ceil(h)),hs.prototype.translate.apply(e),e.points.forEach(function(r){let i=Vl(r.yBottom,m),g=999+Math.abs(i),_=r.plotX||0,v=Nl(r.plotY,-g,o.len+g),y,b=Math.min(v,i),x=Math.max(v,i)-b,S=u,C=_+d,w=h;c&&Math.abs(x)<c&&(x=c,y=!o.reversed&&!r.negative||o.reversed&&r.negative,zl(s)&&zl(p)&&r.y===s&&p<=s&&(o.min||0)<s&&(f!==p||(o.max||0)<=s)&&(y=!y,r.negative=!r.negative),b=Math.abs(b-m)>c?i-c:m-(y?c:0)),Fl(r.options.pointWidth)&&(C-=Math.round(((S=w=Math.ceil(r.options.pointWidth))-u)/2)),n.centerInCategory&&(C=e.adjustForMissingColumns(C,S,r,l)),r.barX=C,r.pointWidth=S,r.tooltipPos=t.inverted?[Nl(o.len+o.pos-t.plotLeft-v,o.pos-t.plotLeft,o.len+o.pos-t.plotLeft),a.len+a.pos-t.plotTop-C-w/2,x]:[a.left-t.plotLeft+C+w/2,Nl(v+o.pos-t.plotTop,o.pos-t.plotTop,o.len+o.pos-t.plotTop),x],r.shapeType=e.pointClass.prototype.shapeType||`roundedRect`,r.shapeArgs=e.crispCol(C,b,w,r.isNull?0:x)}),Ll(this,`afterColumnTranslate`)}drawGraph(){this.group[this.dense?`addClass`:`removeClass`](`highcharts-dense-data`)}pointAttribs(e,t){let n=this.options,r=this.pointAttrToOptions||{},i=r.stroke||`borderColor`,a=r[`stroke-width`]||`borderWidth`,o,s,c,l=e&&e.color||this.color,u=e&&e[i]||n[i]||l,d=e&&e.options.dashStyle||n.dashStyle,f=e&&e[a]||n[a]||this[a]||0,p=e?.isNull&&n.nullInteraction?0:e?.opacity??n.opacity??1;e&&this.zones.length&&(s=e.getZone(),l=e.options.color||s&&(s.color||e.nonZonedColor)||this.color,s&&(u=s.borderColor||u,d=s.dashStyle||d,f=s.borderWidth||f)),t&&e&&(c=(o=Bl(n.states[t],e.options.states?.[t]||{})).brightness,l=o.color||c!==void 0&&jl(l).brighten(o.brightness).get()||l,u=o[i]||u,f=o[a]||f,d=o.dashStyle||d,p=Vl(o.opacity,p));let m={fill:l,stroke:u,"stroke-width":f,opacity:p};return d&&(m.dashstyle=d),m}drawPoints(e=this.points){let t,n=this,r=this.chart,i=n.options,a=i.nullInteraction,o=r.renderer,s=i.animationLimit||250;e.forEach(function(e){let c=e.plotY,l=e.graphic,u=!!l,d=l&&r.pointCount<s?`animate`:`attr`;zl(c)&&(e.y!==null||a)?(t=e.shapeArgs,l&&e.hasNewShapeType()&&(l=l.destroy()),n.enabledDataSorting&&(e.startXPos=n.xAxis.reversed?-(t&&t.width||0):n.xAxis.width),!l&&(e.graphic=l=o[e.shapeType](t).add(e.group||n.group),l&&n.enabledDataSorting&&r.hasRendered&&r.pointCount<s&&(l.attr({x:e.startXPos}),u=!0,d=`animate`)),l&&u&&l[d](Bl(t)),r.styledMode||l[d](n.pointAttribs(e,e.selected&&`select`)).shadow(!1!==e.allowShadow&&i.shadow),l&&(l.addClass(e.getClassName(),!0),l.attr({visibility:e.visible?`inherit`:`hidden`}))):l&&(e.graphic=l.destroy())})}drawTracker(e=this.points){let t,n=this,r=n.chart,i=r.pointer,a=function(e){i?.normalize(e);let t=i?.getPointFromEvent(e);i&&t&&n.options.enableMouseTracking&&(r.isInsidePlot(e.chartX-r.plotLeft,e.chartY-r.plotTop,{visiblePlotOnly:!0})||i?.inClass(e.target,`highcharts-data-label`))&&(i.isDirectTouch=!0,t.onMouseOver(e))};e.forEach(function(e){t=Rl(e.dataLabels)?e.dataLabels:e.dataLabel?[e.dataLabel]:[],e.graphic&&(e.graphic.element.point=e),t.forEach(function(t){(t.div||t.element).point=e})}),n._hasTracking||=(n.trackerGroups?.reduce((e,t)=>(t===`dataLabelsGroup`?e.push(...n.dataLabelsGroups||[]):e.push(n[t]),e),[]).forEach(e=>{e&&(e.addClass(`highcharts-tracker`).on(`mouseover`,a).on(`mouseout`,function(e){i?.onTrackerMouseOut(e)}).on(`touchstart`,a),!r.styledMode&&n.options.cursor&&e.css({cursor:n.options.cursor}))}),!0),Ll(this,`afterDrawTracker`)}remove(){let e=this,t=e.chart;t.hasRendered&&t.series.forEach(function(t){t.type===e.type&&(t.isDirty=!0)}),hs.prototype.remove.apply(e,arguments)}}Ul.defaultOptions=Bl(hs.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`}),Il(Ul.prototype,{directTouch:!0,getSymbol:Ml,negStacks:!0,trackerGroups:[`group`,`dataLabelsGroup`]}),J.registerSeriesType(`column`,Ul);let Wl=Ul,{getDeferredAnimation:Gl}=B,{format:Kl}=Kt,{defined:ql,extend:Jl,fireEvent:Yl,getAlignFactor:Xl,isArray:Zl,isString:Ql,merge:$l,objectEach:eu,pick:tu,pInt:nu,splat:ru}=F;(function(e){function t(){return c(this).some(e=>e?.enabled)}function n(e,t,n,r,i){let{chart:a,enabledDataSorting:o}=this,s=this.isCartesian&&a.inverted,c=e.plotX,l=e.plotY,u=n.rotation||0,d=ql(c)&&ql(l)&&a.isInsidePlot(c,Math.round(l),{inverted:s,paneCoordinates:!0,series:this}),f=u===0&&tu(n.overflow,o?`none`:`justify`)===`justify`,p=this.visible&&!1!==e.visible&&ql(c)&&(e.series.forceDL||o&&!f||d||tu(n.inside,!!this.options.stacking)&&r&&a.isInsidePlot(c,s?r.x+1:r.y+r.height-1,{inverted:s,paneCoordinates:!0,series:this})),m=e.pos();if(p&&m){var h;let c=t.getBBox(),l=t.getBBox(void 0,0);if(r=Jl({x:m[0],y:Math.round(m[1]),width:0,height:0},r||{}),n.alignTo===`plotEdges`&&this.isCartesian&&(r[s?`x`:`y`]=0,r[s?`width`:`height`]=this.yAxis?.len||0),Jl(n,{width:c.width,height:c.height}),h=r,o&&this.xAxis&&!f&&this.setDataLabelStartPos(e,t,i,d,h),t.align($l(n,{width:l.width,height:l.height}),!1,r,!1),t.alignAttr.x+=Xl(n.align)*(l.width-c.width),t.alignAttr.y+=Xl(n.verticalAlign)*(l.height-c.height),t[t.placed?`animate`:`attr`]({"text-align":t.alignAttr[`text-align`]||`center`,x:t.alignAttr.x+(c.width-l.width)/2,y:t.alignAttr.y+(c.height-l.height)/2,rotationOriginX:(t.width||0)/2,rotationOriginY:(t.height||0)/2}),f&&r.height>=0)this.justifyDataLabel(t,n,t.alignAttr,c,r,i);else if(tu(n.crop,!0)){let{x:e,y:n}=t.alignAttr;p=a.isInsidePlot(e,n,{paneCoordinates:!0,series:this})&&a.isInsidePlot(e+c.width-1,n+c.height-1,{paneCoordinates:!0,series:this})}n.shape&&!u&&t[i?`attr`:`animate`]({anchorX:m[0],anchorY:m[1]})}i&&o&&(t.placed=!1),p||o&&!f?(t.show(),t.placed=!0):(t.hide(),t.placed=!1)}function r(e,t){Yl(this,`initDataLabelsGroup`,{index:e,zIndex:t?.zIndex??6}),this.dataLabelsGroup=this.dataLabelsGroups?.[e];let n=this.plotGroup(`dataLabelsGroup`,`data-labels`,this.hasRendered?`inherit`:`hidden`,t?.zIndex??6,this.dataLabelsParentGroups?.[e]);return this.dataLabelsGroups||=[],this.dataLabelsGroups[e]=n,this.dataLabelsGroup=this.dataLabelsGroups[0],n}function i(e,t,n){let r=!!this.hasRendered,i=this.initDataLabelsGroup(e,n).attr({opacity:+r});return!r&&i&&(this.visible&&i.show(),this.options.animation?i.animate({opacity:1},t):i.attr({opacity:1})),i}function a(e){let t;e||=this.points;let n=this,r=n.chart,i=n.options,a=r.renderer,{backgroundColor:o,plotBackgroundColor:l}=r.options.chart,u=a.getContrast(Ql(l)&&l||Ql(o)&&o||`#000000`),d=c(n),{animation:f,defer:p}=d[0],m=p?Gl(r,f,n):{defer:0,duration:0};Yl(this,`drawDataLabels`),n.hasDataLabels?.()&&e.forEach(e=>{let o=e.dataLabels||[],c=e.color||n.color;ru(s(d,e.dlOptions||e.options?.dataLabels)).forEach((s,l)=>{t=this.initDataLabels(l,m,s);let d=s.enabled&&(e.visible||e.dataLabelOnHidden)&&(!e.isNull||e.dataLabelOnNull)&&function(e,t){let n=t.filter;if(n){let t=n.operator,r=e[n.property],i=n.value;return t===`>`&&r>i||t===`<`&&r<i||t===`>=`&&r>=i||t===`<=`&&r<=i||t===`==`&&r==i||t===`===`&&r===i||t===`!=`&&r!=i||t===`!==`&&r!==i||!1}return!0}(e,s),{backgroundColor:f,borderColor:p,distance:h,style:g={}}=s,_,v,y,b={},x=o[l],S=!x,C;d&&(v=ql(_=tu(s[e.formatPrefix+`Format`],s.format))?Kl(_,e,r):(s[e.formatPrefix+`Formatter`]||s.formatter).call(e,s),y=s.rotation,!r.styledMode&&(g.color=tu(s.color,g.color,Ql(n.color)?n.color:void 0,`#000000`),g.color===`contrast`?(f!==`none`&&(C=f),e.contrastColor=a.getContrast(C!==`auto`&&Ql(C)&&C||(Ql(c)?c:``)),g.color=C||!ql(h)&&s.inside||0>nu(h||0)||i.stacking?e.contrastColor:u):delete e.contrastColor,i.cursor&&(g.cursor=i.cursor)),b={r:s.borderRadius||0,rotation:y,padding:s.padding,zIndex:1},r.styledMode||(b.fill=f===`auto`?e.color:f,b.stroke=p===`auto`?e.color:p,b[`stroke-width`]=s.borderWidth),eu(b,(e,t)=>{e===void 0&&delete b[t]})),!x||d&&ql(v)&&!!(x.div||x.text?.foreignObject)==!!s.useHTML&&(x.rotation&&s.rotation||x.rotation===s.rotation)||(x=void 0,S=!0),d&&ql(v)&&v!==``&&(x?b.text=v:(x=a.label(v,0,0,s.shape,void 0,void 0,s.useHTML,void 0,`data-label`)).addClass(` highcharts-data-label-color-`+e.colorIndex+` `+(s.className||``)+(s.useHTML?` highcharts-tracker`:``)),x&&(x.options=s,x.attr(b),r.styledMode?g.width&&x.css({width:g.width,textOverflow:g.textOverflow,whiteSpace:g.whiteSpace}):x.css(g).shadow(s.shadow),Yl(x,`beforeAddingDataLabel`,{labelOptions:s,point:e}),x.added||x.add(t),n.alignDataLabel(e,x,s,void 0,S),x.isActive=!0,o[l]&&o[l]!==x&&o[l].destroy(),o[l]=x))});let l=o.length;for(;l--;)o[l]?.isActive?o[l].isActive=!1:(o[l]?.destroy(),o.splice(l,1));e.dataLabel=o[0],e.dataLabels=o}),Yl(this,`afterDrawDataLabels`)}function o(e,t,n,r,i,a){let o=this.chart,s=t.align,c=t.verticalAlign,l=e.box?0:e.padding||0,u=o.inverted?this.yAxis:this.xAxis,d=u?u.left-o.plotLeft:0,f=o.inverted?this.xAxis:this.yAxis,p=f?f.top-o.plotTop:0,{x:m=0,y:h=0}=t,g,_;return(g=(n.x||0)+l+d)<0&&(s===`right`&&m>=0?(t.align=`left`,t.inside=!0):m-=g,_=!0),(g=(n.x||0)+r.width-l+d)>o.plotWidth&&(s===`left`&&m<=0?(t.align=`right`,t.inside=!0):m+=o.plotWidth-g,_=!0),(g=n.y+l+p)<0&&(c===`bottom`&&h>=0?(t.verticalAlign=`top`,t.inside=!0):h-=g,_=!0),(g=(n.y||0)+r.height-l+p)>o.plotHeight&&(c===`top`&&h<=0?(t.verticalAlign=`bottom`,t.inside=!0):h+=o.plotHeight-g,_=!0),_&&(t.x=m,t.y=h,e.placed=!a,e.align(t,void 0,i)),_}function s(e,t){let n=[],r;if(Zl(e)&&!Zl(t))n=e.map(function(e){return $l(e,t)});else if(Zl(t)&&!Zl(e))n=t.map(function(t){return $l(e,t)});else if(Zl(e)||Zl(t)){if(Zl(e)&&Zl(t))for(r=Math.max(e.length,t.length);r--;)n[r]=$l(e[r],t[r])}else n=$l(e,t);return n}function c(e){let t=e.chart.options.plotOptions;return ru(s(s(t?.series?.dataLabels,t?.[e.type]?.dataLabels),e.options.dataLabels))}function l(e,t,n,r,i){let a=this.chart,o=a.inverted,s=this.xAxis,c=s.reversed,l=((o?t.height:t.width)||0)/2,u=e.pointWidth,d=u?u/2:0;t.startXPos=o?i.x:c?-l-d:s.width-l+d,t.startYPos=o?c?this.yAxis.height-l+d:-l-d:i.y,r?t.visibility===`hidden`&&(t.show(),t.attr({opacity:0}).animate({opacity:1})):t.attr({opacity:1}).animate({opacity:0},void 0,t.hide),a.hasRendered&&(n&&t.attr({x:t.startXPos,y:t.startYPos}),t.placed=!0)}e.compose=function(e){let c=e.prototype;c.initDataLabels||(c.initDataLabels=i,c.initDataLabelsGroup=r,c.alignDataLabel=n,c.drawDataLabels=a,c.justifyDataLabel=o,c.mergeArrays=s,c.setDataLabelStartPos=l,c.hasDataLabels=t)}})(O||={});let iu=O,{composed:au}=P,{series:ou}=J,{merge:su,pushUnique:cu}=F;function lu(e,t,n,r,i){let{chart:a,options:o}=this,s=a.inverted,c=this.xAxis?.len||a.plotSizeX||0,l=this.yAxis?.len||a.plotSizeY||0,u=e.dlBox||e.shapeArgs,d=e.below??(e.plotY||0)>(this.translatedThreshold??l),f=n.inside??!!o.stacking;if(u){if(r=su(u),n.overflow!==`allow`||!1!==n.crop||!1!==o.clip){r.y<0&&(r.height+=r.y,r.y=0);let e=r.y+r.height-l;e>0&&e<r.height-1&&(r.height-=e)}s&&(r={x:l-r.y-r.height,y:c-r.x-r.width,width:r.height,height:r.width}),f||(s?(r.x+=d?0:r.width,r.width=0):(r.y+=d?r.height:0,r.height=0))}n.align??=!s||f?`center`:d?`right`:`left`,n.verticalAlign??=s||f?`middle`:d?`top`:`bottom`,ou.prototype.alignDataLabel.call(this,e,t,n,r,i),n.inside&&e.contrastColor&&t.css({color:e.contrastColor})}(k||={}).compose=function(e){iu.compose(ou),cu(au,`ColumnDataLabel`)&&(e.prototype.alignDataLabel=lu)};let uu=k,{extend:du,merge:fu}=F;class pu extends Wl{}pu.defaultOptions=fu(Wl.defaultOptions,{}),du(pu.prototype,{inverted:!0}),J.registerSeriesType(`bar`,pu);let{column:mu,line:hu}=J.seriesTypes,{addEvent:gu,extend:_u,merge:vu}=F;class yu extends hu{applyJitter(){let e=this,t=this.options.jitter,n=this.points.length;t&&this.points.forEach(function(r,i){[`x`,`y`].forEach(function(a,o){if(t[a]&&!r.isNull){let s=`plot${a.toUpperCase()}`,c=e[`${a}Axis`],l=t[a]*c.transA;if(c&&!c.logarithmic){let e,t=Math.max(0,(r[s]||0)-l);r[s]=t+(Math.min(c.len,(r[s]||0)+l)-t)*((e=1e4*Math.sin(i+o*n))-Math.floor(e)),a===`x`&&(r.clientX=r.plotX)}}})})}drawGraph(){this.options.lineWidth?super.drawGraph():this.graph&&=this.graph.destroy()}}yu.defaultOptions=vu(hu.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/>`}}),_u(yu.prototype,{drawTracker:mu.prototype.drawTracker,sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:[`group`,`markerGroup`,`dataLabelsGroup`]}),gu(yu,`afterTranslate`,function(){this.applyJitter()}),J.registerSeriesType(`scatter`,yu);let{deg2rad:bu}=P,{fireEvent:xu,isNumber:Su,pick:Cu,relativeLength:wu}=F;(p=A||={}).getCenter=function(){let e=this.options,t=this.chart,n=2*(e.slicedOffset||0),r=t.plotWidth-2*n,i=t.plotHeight-2*n,a=e.center,o=Math.min(r,i),s=e.thickness,c,l=e.size,u=e.innerSize||0,d,f;typeof l==`string`&&(l=parseFloat(l)),typeof u==`string`&&(u=parseFloat(u));let p=[Cu(a?.[0],`50%`),Cu(a?.[1],`50%`),Cu(l&&l<0?void 0:e.size,`100%`),Cu(u&&u<0?void 0:e.innerSize||0,`0%`)];for(!t.angular||this instanceof hs||(p[3]=0),d=0;d<4;++d)f=p[d],c=d<2||d===2&&/%$/.test(f),p[d]=wu(f,[r,i,o,p[2]][d])+(c?n:0);return p[3]>p[2]&&(p[3]=p[2]),Su(s)&&2*s<p[2]&&s>0&&(p[3]=p[2]-2*s),xu(this,`afterGetCenter`,{positions:p}),p},p.getStartAndEndRadians=function(e,t){let n=Su(e)?e:0,r=Su(t)&&t>n&&t-n<360?t:n+360;return{start:bu*(n+-90),end:bu*(r+-90)}};let Tu=A,{setAnimation:Eu}=B,{addEvent:Du,defined:Ou,extend:ku,isNumber:Au,pick:ju,relativeLength:Mu}=F;class Nu extends no{getConnectorPath(e){let t=e.dataLabelPosition,n=e.options||{},r=n.connectorShape,i=this.connectorShapes[r]||r;return t&&i.call(this,{...t.computed,alignment:t.alignment},t.connectorPosition,n)||[]}getTranslate(){return this.sliced&&this.slicedTranslation||{translateX:0,translateY:0}}haloPath(e){let t=this.shapeArgs;return this.sliced||!this.visible?[]:this.series.chart.renderer.symbols.arc(t.x,t.y,t.r+e,t.r+e,{innerR:t.r-1,start:t.start,end:t.end,borderRadius:t.borderRadius})}constructor(e,t,n){super(e,t,n),this.half=0,this.name??=e.chart.options.lang.pieSliceName;let r=e=>{this.slice(e.type===`select`)};Du(this,`select`,r),Du(this,`unselect`,r)}isValid(){return Au(this.y)&&this.y>=0}setVisible(e,t=!0){e!==this.visible&&this.update({visible:e??!this.visible},t,void 0,!1)}slice(e,t,n){let r=this.series;Eu(n,r.chart),t=ju(t,!0),this.sliced=this.options.sliced=e=Ou(e)?e:!this.sliced,r.options.data[r.data.indexOf(this)]=this.options,this.graphic&&this.graphic.animate(this.getTranslate())}}ku(Nu.prototype,{connectorShapes:{fixedOffset:function(e,t,n){let r=t.breakAt,i=t.touchingSliceAt,a=n.softConnector?[`C`,e.x+(e.alignment===`left`?-5:5),e.y,2*r.x-i.x,2*r.y-i.y,r.x,r.y]:[`L`,r.x,r.y];return[[`M`,e.x,e.y],a,[`L`,i.x,i.y]]},straight:function(e,t){let n=t.touchingSliceAt;return[[`M`,e.x,e.y],[`L`,n.x,n.y]]},crookedLine:function(e,t,n){let{angle:r=this.angle||0,breakAt:i,touchingSliceAt:a}=t,{series:o}=this,[s,c,l]=o.center,u=l/2,{plotLeft:d,plotWidth:f}=o.chart,p=e.alignment===`left`,{x:m,y:h}=e,g=i.x;if(n.crookDistance){let e=Mu(n.crookDistance,1);g=p?s+u+(f+d-s-u)*(1-e):d+(s-u)*e}else g=s+(c-h)*Math.tan(r-Math.PI/2);let _=[[`M`,m,h]];return(p?g<=m&&g>=i.x:g>=m&&g<=i.x)&&_.push([`L`,g,h]),_.push([`L`,i.x,i.y],[`L`,a.x,a.y]),_}}});let{getStartAndEndRadians:Pu}=Tu,{noop:Fu}=P,{clamp:Iu,extend:Lu,fireEvent:Ru,merge:zu,pick:Bu}=F;class Vu extends hs{animate(e){let t=this,n=t.points,r=t.startAngleRad;e||n.forEach(function(e){let n=e.graphic,i=e.shapeArgs;n&&i&&(n.attr({r:Bu(e.startR,t.center&&t.center[3]/2),start:r,end:r}),n.animate({r:i.r,start:i.start,end:i.end},t.options.animation))})}drawEmpty(){let e,t,n=this.startAngleRad,r=this.endAngleRad,i=this.options;this.total===0&&this.center?(e=this.center[0],t=this.center[1],this.graph||=this.chart.renderer.arc(e,t,this.center[1]/2,0,n,r).addClass(`highcharts-empty-series`).add(this.group),this.graph.attr({d:qn.arc(e,t,this.center[2]/2,0,{start:n,end:r,innerR:this.center[3]/2})}),this.chart.styledMode||this.graph.attr({"stroke-width":i.borderWidth,fill:i.fillColor||`none`,stroke:i.color||`#cccccc`})):this.graph&&=this.graph.destroy()}drawPoints(){let e=this.chart.renderer;this.points.forEach(function(t){t.graphic&&t.hasNewShapeType()&&(t.graphic=t.graphic.destroy()),t.graphic||(t.graphic=e[t.shapeType](t.shapeArgs).add(t.series.group),t.delayedRendering=!0)})}generatePoints(){super.generatePoints(),this.updateTotals()}getX(e,t,n,r){let i=this.center,a=this.radii?this.radii[n.index]||0:i[2]/2,o=r.dataLabelPosition?.distance||0,s=Math.asin(Iu((e-i[1])/(a+o),-1,1));return i[0]+Math.cos(s)*(a+o)*(t?-1:1)+(o>0?(t?-1:1)*(r.padding||0):0)}hasData(){return this.points.some(e=>e.visible)}redrawPoints(){let e,t,n,r,i=this,a=i.chart;this.drawEmpty(),i.group&&!a.styledMode&&i.group.shadow(i.options.shadow),i.points.forEach(function(o){let s={};t=o.graphic,!o.isNull&&t?(r=o.shapeArgs,e=o.getTranslate(),a.styledMode||(n=i.pointAttribs(o,o.selected&&`select`)),o.delayedRendering?(t.setRadialReference(i.center).attr(r).attr(e),a.styledMode||t.attr(n).attr({"stroke-linejoin":`round`}),o.delayedRendering=!1):(t.setRadialReference(i.center),a.styledMode||zu(!0,s,n),zu(!0,s,r,e),t.animate(s)),t.attr({visibility:o.visible?`inherit`:`hidden`}),t.addClass(o.getClassName(),!0)):t&&(o.graphic=t.destroy())})}sortByAngle(e,t){e.sort(function(e,n){return e.angle!==void 0&&(n.angle-e.angle)*t})}translate(e){Ru(this,`translate`),this.generatePoints();let t=this.options,n=t.slicedOffset,r=Pu(t.startAngle,t.endAngle),i=this.startAngleRad=r.start,a=(this.endAngleRad=r.end)-i,o=this.points,s=t.ignoreHiddenPoint,c=o.length,l,u,d,f,p,m,h,g=0;for(e||(this.center=e=this.getCenter()),m=0;m<c;m++){h=o[m],l=i+g*a,h.isValid()&&(!s||h.visible)&&(g+=h.percentage/100),u=i+g*a;let t={x:e[0],y:e[1],r:e[2]/2,innerR:e[3]/2,start:Math.round(1e3*l)/1e3,end:Math.round(1e3*u)/1e3};h.shapeType=`arc`,h.shapeArgs=t,(d=(u+l)/2)>1.5*Math.PI?d-=2*Math.PI:d<-Math.PI/2&&(d+=2*Math.PI),h.slicedTranslation={translateX:Math.round(Math.cos(d)*n),translateY:Math.round(Math.sin(d)*n)},f=Math.cos(d)*e[2]/2,p=Math.sin(d)*e[2]/2,h.tooltipPos=[e[0]+.7*f,e[1]+.7*p],h.half=+(d<-Math.PI/2||d>Math.PI/2),h.angle=d}Ru(this,`afterTranslate`)}updateTotals(){let e=this.points,t=e.length,n=this.options.ignoreHiddenPoint,r,i,a=0;for(r=0;r<t;r++)(i=e[r]).isValid()&&(!n||i.visible)&&(a+=i.y);for(r=0,this.total=a;r<t;r++)(i=e[r]).percentage=a>0&&(i.visible||!n)?i.y/a*100:0,i.total=a}}Vu.defaultOptions=zu(hs.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}}}),Lu(Vu.prototype,{axisTypes:[],directTouch:!0,drawGraph:void 0,drawTracker:Wl.prototype.drawTracker,getCenter:Tu.getCenter,getSymbol:Fu,invertible:!1,isCartesian:!1,noSharedTooltip:!0,pointAttribs:Wl.prototype.pointAttribs,pointClass:Nu,requireSorting:!1,searchPoint:Fu,trackerGroups:[`group`,`dataLabelsGroup`]}),J.registerSeriesType(`pie`,Vu);let{composed:Hu,noop:Uu}=P,{distribute:Wu}=Qt,{series:Gu}=J,{arrayMax:Ku,clamp:qu,defined:Ju,isNumber:Yu,pick:Xu,pushUnique:Zu,relativeLength:Qu}=F;(function(e){let t={radialDistributionY:function(e,t){return(t.dataLabelPosition?.top||0)+e.distributeBox.pos},radialDistributionX:function(e,t,n,r,i){let a=i.dataLabelPosition;return e.getX(n<(a?.top||0)+2||n>(a?.bottom||0)-2?r:n,t.half,t,i)},justify:function(e,t,n,r){return r[0]+(e.half?-1:1)*(n+(t.dataLabelPosition?.distance||0))},alignToPlotEdges:function(e,t,n,r){let i=e.getBBox().width;return t?i+r:n-i-r},alignToConnectors:function(e,t,n,r){let i=0,a;return e.forEach(function(e){(a=e.dataLabel.getBBox().width)>i&&(i=a)}),t?i+r:n-i-r}};function n(e,t){let n=Math.PI/2,{start:r=0,end:i=0}=e.shapeArgs||{},a=e.angle||0;t>0&&r<n&&i>n&&a>n/2&&a<1.5*n&&(a=a<=n?Math.max(n/2,(r+n)/2):Math.min(1.5*n,(n+i)/2));let{center:o,options:s}=this,c=o[2]/2,l=Math.cos(a),u=Math.sin(a),d=o[0]+l*c,f=o[1]+u*c,p=Math.min((s.slicedOffset||0)+(s.borderWidth||0),t/5);return{natural:{x:d+l*t,y:f+u*t},computed:{},alignment:t<0?`center`:e.half?`right`:`left`,connectorPosition:{angle:a,breakAt:{x:d+l*p,y:f+u*p},touchingSliceAt:{x:d,y:f}},distance:t}}function r(){let e=this,t=e.points,n=e.chart,r=n.plotWidth,i=n.plotHeight,a=n.plotLeft,o=Math.round(n.chartWidth/3),s=e.center,c=s[2]/2,l=s[1],u=[[],[]],d=[0,0,0,0],f=e.dataLabelPositioners,p,m,h,g=0;e.visible&&e.hasDataLabels?.()&&(t.forEach(e=>{(e.dataLabels||[]).forEach(e=>{e.shortened&&=(e.attr({width:`auto`}).css({width:`auto`,textOverflow:`clip`}),!1)})}),Gu.prototype.drawDataLabels.apply(e),t.forEach(e=>{(e.dataLabels||[]).forEach((t,n)=>{let r=s[2]/2,i=t.options,a=Qu(i?.distance||0,r);n===0&&u[e.half].push(e),!Ju(i?.style?.width)&&t.getBBox().width>o&&(t.css({width:Math.round(.7*o)+`px`}),t.shortened=!0),t.dataLabelPosition=this.getDataLabelPosition(e,a),g=Math.max(g,a)})}),u.forEach((t,o)=>{let u=t.length,p=[],_,v,y=0,b;u&&(e.sortByAngle(t,o-.5),g>0&&(_=Math.max(0,l-c-g),v=Math.min(l+c+g,n.plotHeight),t.forEach(e=>{(e.dataLabels||[]).forEach(t=>{let r=t.dataLabelPosition;r&&r.distance>0&&(r.top=Math.max(0,l-c-r.distance),r.bottom=Math.min(l+c+r.distance,n.plotHeight),y=t.getBBox().height||21,t.lineHeight=n.renderer.fontMetrics(t.text||t).h+2*t.padding,e.distributeBox={target:(t.dataLabelPosition?.natural.y||0)-r.top+t.lineHeight/2,size:y,rank:e.y},p.push(e.distributeBox))})}),Wu(p,b=v+y-_,b/5)),t.forEach(n=>{(n.dataLabels||[]).forEach(l=>{let u=l.options||{},g=n.distributeBox,_=l.dataLabelPosition,v=_?.natural.y||0,y=u.connectorPadding||0,b=l.lineHeight||21,x=(b-l.getBBox().height)/2,S=0,C=v,w=`inherit`;if(_){if(p&&Ju(g)&&_.distance>0&&(g.pos===void 0?w=`hidden`:(h=g.size,C=f.radialDistributionY(n,l))),u.justify)S=f.justify(n,l,c,s);else switch(u.alignTo){case`connectors`:S=f.alignToConnectors(t,o,r,a);break;case`plotEdges`:S=f.alignToPlotEdges(l,o,r,a);break;default:S=f.radialDistributionX(e,n,C-x,v,l)}if(_.attribs={visibility:w,align:_.alignment},_.posAttribs={x:S+(u.x||0)+({left:y,right:-y}[_.alignment]||0),y:C+(u.y||0)-b/2},_.computed.x=S,_.computed.y=C-x,Xu(u.crop,!0)){let e;S-(m=l.getBBox().width)<y&&o===1?(e=Math.round(m-S+y),d[3]=Math.max(e,d[3])):S+m>r-y&&o===0&&(e=Math.round(S+m-r+y),d[1]=Math.max(e,d[1])),C-h/2<0?d[0]=Math.max(Math.round(-C+h/2),d[0]):C+h/2>i&&(d[2]=Math.max(Math.round(C+h/2-i),d[2])),_.sideOverflow=e}}})}))}),(Ku(d)===0||this.verifyDataLabelOverflow(d))&&(this.placeDataLabels(),this.points.forEach(t=>{t.dataLabels?.forEach((r,i)=>{let{connectorColor:a,connectorWidth:o=1}=r.options||{},s=r.dataLabelPosition;if(Yu(o)){let c;p=r.connector,s&&s.distance>0?(c=!p,p||(r.connector=p=n.renderer.path().addClass(`highcharts-data-label-connector highcharts-color-`+t.colorIndex+(t.className?` `+t.className:``)).add(e.dataLabelsGroups?.[i])),n.styledMode||p.attr({"stroke-width":o,stroke:a||t.color||`#666666`}),p[c?`attr`:`animate`]({d:t.getConnectorPath(r)}),p.attr({visibility:s.attribs?.visibility})):p&&(r.connector=p.destroy())}})})))}function i(){this.points.forEach(e=>{(e.dataLabels||[]).forEach(e=>{let t=e.dataLabelPosition;t?(t.sideOverflow&&(e.css({width:Math.max(e.getBBox().width-t.sideOverflow,0)+`px`,textOverflow:e.options?.style?.textOverflow||`ellipsis`}),e.shortened=!0),e.attr(t.attribs),e[e.moved?`animate`:`attr`](t.posAttribs),e.moved=!0):e&&e.attr({y:-9999})}),delete e.distributeBox},this)}function a(e){let t=this.center,n=this.options,r=n.center,i=n.minSize||80,a=i,o=n.size!==null;return!o&&(r[0]===null?(a=Math.max(t[2]-e[1]-e[3],i),t[0]+=(e[3]-e[1])/2):a=Math.max(t[2]-Math.max(e[1],e[3]),i),r[1]===null?(a=qu(a,i,t[2]-e[0]-e[2]),t[1]+=(e[0]-e[2])/2):a=qu(a,i,t[2]-Math.max(e[0],e[2])),a<t[2]?(t[2]=a,t[3]=Math.min(n.thickness?Math.max(0,a-2*n.thickness):Math.max(0,Qu(n.innerSize||0,a)),a),this.translate(t),this.drawDataLabels&&this.drawDataLabels()):o=!0),o}e.compose=function(e){if(iu.compose(Gu),Zu(Hu,`PieDataLabel`)){let o=e.prototype;o.dataLabelPositioners=t,o.alignDataLabel=Uu,o.drawDataLabels=r,o.getDataLabelPosition=n,o.placeDataLabels=i,o.verifyDataLabelOverflow=a}}})(j||={});let $u=j;(m=M||={}).getCenterOfPoints=function(e){let t=e.reduce((e,t)=>(e.x+=t.x,e.y+=t.y,e),{x:0,y:0});return{x:t.x/e.length,y:t.y/e.length}},m.getDistanceBetweenPoints=function(e,t){return Math.sqrt((t.x-e.x)**2+(t.y-e.y)**2)},m.getAngleBetweenPoints=function(e,t){return Math.atan2(t.x-e.x,t.y-e.y)},m.pointInPolygon=function({x:e,y:t},n){let r=n.length,i,a,o=!1;for(i=0,a=r-1;i<r;a=i++){let[r,s]=n[i],[c,l]=n[a];s>t!=l>t&&e<(c-r)*(t-s)/(l-s)+r&&(o=!o)}return o};let{pointInPolygon:ed}=M,{addEvent:td,getAlignFactor:nd,fireEvent:rd,objectEach:id,pick:ad}=F;function od(e,t){let n,r=!1;return e&&(n=e.newOpacity,e.oldOpacity!==n&&(e.hasClass(`highcharts-data-label`)?(e[n?`removeClass`:`addClass`](`highcharts-data-label-hidden`),r=!0,e[e.isOld?`animate`:`attr`]({opacity:n},void 0,function(){t.styledMode||e.css({pointerEvents:n?`auto`:`none`})}),rd(t,`afterHideOverlappingLabel`)):e.attr({opacity:n})),e.isOld=!0),r}let{defaultOptions:sd}=Xe,{noop:cd}=P,{addEvent:ld,extend:ud,isObject:dd,merge:fd,relativeLength:pd}=F,md={radius:0,scope:`stack`,where:void 0},hd=cd,gd=cd;function _d(e,t,n,r,i={}){let a=hd(e,t,n,r,i),{brStart:o=!0,brEnd:s=!0,innerR:c=0,r:l=n,start:u=0,end:d=0}=i;if(i.open||!i.borderRadius)return a;let f=d-u,p=Math.sin(f/2),m=Math.max(Math.min(pd(i.borderRadius||0,l-c),(l-c)/2,l*p/(1+p)),0),h=Math.min(m,f/Math.PI*2*c),g=a.length-1;for(;g--;)(o||g!==0&&g!==3)&&(s||g!==1&&g!==2)&&function(e,t,n){let r,i,a,o=e[t],s=e[t+1];if(s[0]===`Z`&&(s=e[0]),(o[0]===`M`||o[0]===`L`)&&s[0]===`A`?(r=o,i=s,a=!0):o[0]===`A`&&(s[0]===`M`||s[0]===`L`)&&(r=s,i=o),r&&i&&i.params){let o=i[1],s=i[5],c=i.params,{start:l,end:u,cx:d,cy:f}=c,p=s?o-n:o+n,m=p?Math.asin(n/p):0,h=s?m:-m,g=Math.cos(m)*p;a?(c.start=l+h,r[1]=d+g*Math.cos(l),r[2]=f+g*Math.sin(l),e.splice(t+1,0,[`A`,n,n,0,0,1,d+o*Math.cos(c.start),f+o*Math.sin(c.start)])):(c.end=u-h,i[6]=d+o*Math.cos(c.end),i[7]=f+o*Math.sin(c.end),e.splice(t+1,0,[`A`,n,n,0,0,1,d+g*Math.cos(u),f+g*Math.sin(u)])),i[4]=Math.abs(c.end-c.start)<Math.PI?0:1}}(a,g,g>1?h:m);return a}function vd(){if(this.options.borderRadius&&!(this.chart.is3d&&this.chart.is3d())){let{options:e,yAxis:t}=this,n=e.stacking===`percent`,r=sd.plotOptions?.[this.type]?.borderRadius,i=yd(e.borderRadius,dd(r)?r:{}),a=t.options.reversed;for(let r of this.points){let{shapeArgs:o}=r;if(r.shapeType===`roundedRect`&&o){let{width:s=0,height:c=0,y:l=0}=o,u=l,d=c;if(i.scope===`stack`&&r.stackTotal){let i=t.translate(n?100:r.stackTotal,!1,!0,!1,!0),a=t.translate(e.threshold||0,!1,!0,!1,!0),o=this.crispCol(0,Math.min(i,a),0,Math.abs(i-a));u=o.y,d=o.height}let f=(r.negative?-1:1)*(a?-1:1)==-1,p=i.where;!p&&this.is(`waterfall`)&&Math.abs((r.yBottom||0)-(this.translatedThreshold||0))>this.borderWidth&&(p=`all`),p||=`end`;let m=Math.min(pd(i.radius,s),s/2,p===`all`?c/2:1/0)||0;p===`end`&&(f&&(u-=m),d+=m),ud(o,{brBoxHeight:d,brBoxY:u,r:m})}}}}function yd(e,t){return dd(e)||(e={radius:e||0}),fd(md,t,e)}function bd(){let e=yd(this.options.borderRadius);for(let t of this.points){let n=t.shapeArgs;n&&(n.borderRadius=pd(e.radius,(n.r||0)-(n.innerR||0)))}}function xd(e,t,n,r,i={}){let a=gd(e,t,n,r,i),{r:o=0,brBoxHeight:s=r,brBoxY:c=t}=i,l=t-c,u=c+s-(t+r),d=l-o>-.1?0:o,f=u-o>-.1?0:o,p=Math.max(d&&l,0),m=Math.max(f&&u,0),h=[e+d,t],g=[e+n-d,t],_=[e+n,t+d],v=[e+n,t+r-f],y=[e+n-f,t+r],b=[e+f,t+r],x=[e,t+r-f],S=[e,t+d],C=(e,t)=>Math.sqrt(e**2-t**2);if(p){let e=C(d,d-p);h[0]-=e,g[0]+=e,_[1]=S[1]=t+d-p}if(r<d-p){let i=C(d,d-p-r);_[0]=v[0]=e+n-d+i,y[0]=Math.min(_[0],y[0]),b[0]=Math.max(v[0],b[0]),x[0]=S[0]=e+d-i,_[1]=S[1]=t+r}if(m){let e=C(f,f-m);y[0]+=e,b[0]-=e,v[1]=x[1]=t+r-f+m}if(r<f-m){let i=C(f,f-m-r);_[0]=v[0]=e+n-f+i,g[0]=Math.min(_[0],g[0]),h[0]=Math.max(v[0],h[0]),x[0]=S[0]=e+f-i,v[1]=x[1]=t}return a.length=0,a.push([`M`,...h],[`L`,...g],[`A`,d,d,0,0,1,..._],[`L`,...v],[`A`,f,f,0,0,1,...y],[`L`,...b],[`A`,f,f,0,0,1,...x],[`L`,...S],[`A`,d,d,0,0,1,...h],[`Z`]),a}let{diffObjects:Sd,extend:Cd,find:wd,merge:Td,pick:Ed,uniqueKey:Dd}=F;function Od(e,t){let n=e.condition;(n.callback||function(){return this.chartWidth<=Ed(n.maxWidth,Number.MAX_VALUE)&&this.chartHeight<=Ed(n.maxHeight,Number.MAX_VALUE)&&this.chartWidth>=Ed(n.minWidth,0)&&this.chartHeight>=Ed(n.minHeight,0)}).call(this)&&t.push(e._id)}function kd(e,t){let n=this.options.responsive,r=this.currentResponsive,i=[],a;!t&&n&&n.rules&&n.rules.forEach(e=>{e._id===void 0&&(e._id=Dd()),this.matchResponsiveRule(e,i)},this);let o=Td(...i.map(e=>wd(n?.rules||[],t=>t._id===e)).map(e=>e?.chartOptions));o.isResponsiveOptions=!0,i=i.toString()||void 0;let s=r?.ruleIds;i!==s&&(r&&(this.currentResponsive=void 0,this.updatingResponsive=!0,this.update(r.undoOptions,e,!0),this.updatingResponsive=!1),i?((a=Sd(o,this.options,!0,this.collectionsWithUpdate)).isResponsiveOptions=!0,this.currentResponsive={ruleIds:i,mergedOptions:o,undoOptions:a},this.updatingResponsive||this.update(o,e,!0)):this.currentResponsive=void 0)}(ee||={}).compose=function(e){let t=e.prototype;return t.matchResponsiveRule||Cd(t,{matchResponsiveRule:Od,setResponsive:kd}),e};let Ad=ee;P.AST=V,P.Axis=Bi,P.Chart=Cc,P.Color=R,P.DataLabel=iu,P.DataTableCore=Do,P.Fx=z,P.HTMLElement=qr,P.Legend=Rs,P.LegendSymbol=No,P.PlotLineOrBand=ua,P.Point=no,P.Pointer=xo,P.RendererRegistry=qt,P.Series=hs,P.SeriesRegistry=J,P.StackItem=Uc,P.SVGElement=Mn,P.SVGRenderer=Nr,P.Templating=Kt,P.Tick=pi,P.Time=We,P.Tooltip=Ia,P.animate=B.animate,P.animObject=B.animObject,P.chart=Cc.chart,P.color=R.parse,P.dateFormat=Kt.dateFormat,P.defaultOptions=Xe.defaultOptions,P.distribute=Qt.distribute,P.format=Kt.format,P.getDeferredAnimation=B.getDeferredAnimation,P.getOptions=Xe.getOptions,P.numberFormat=Kt.numberFormat,P.seriesType=J.seriesType,P.setAnimation=B.setAnimation,P.setOptions=Xe.setOptions,P.stop=B.stop,P.time=Xe.defaultTime,P.timers=z.timers,{compose:function(e,t,n){let r=e.types.pie;if(!t.symbolCustomAttribs.includes(`borderRadius`)){let i=n.prototype.symbols;ld(e,`afterColumnTranslate`,vd,{order:9}),ld(r,`afterTranslate`,bd),t.symbolCustomAttribs.push(`borderRadius`,`brBoxHeight`,`brBoxY`,`brEnd`,`brStart`),hd=i.arc,gd=i.roundedRect,i.arc=_d,i.roundedRect=xd}},optionsToObject:yd}.compose(P.Series,P.SVGElement,P.SVGRenderer),uu.compose(P.Series.types.column),iu.compose(P.Series),Gi.compose(P.Axis),qr.compose(P.SVGRenderer),Rs.compose(P.Chart),Yi.compose(P.Axis),(a=(h=P.Chart).prototype).hideOverlappingLabels||(a.hideOverlappingLabels=function(e){let t=e.length,n=(e,t)=>!(t.x>=e.x+e.width||t.x+t.width<=e.x||t.y>=e.y+e.height||t.y+t.height<=e.y),r=(e,t)=>{for(let n of e)if(ed({x:n[0],y:n[1]},t))return!0;return!1},i,a,o,s,c,l=!1;for(let n=0;n<t;n++)(i=e[n])&&(i.oldOpacity=i.opacity,i.newOpacity=1,i.absoluteBox=function(e){if(e&&(!e.alignAttr||e.placed)){let t=e.box?0:e.padding||0,n=e.alignAttr||{x:e.attr(`x`),y:e.attr(`y`)},{height:r,polygon:i,width:a}=e.getBBox(),o=nd(e.alignValue)*a;return e.width=a,e.height=r,{x:n.x+(e.parentGroup?.translateX||0)+t-o,y:n.y+(e.parentGroup?.translateY||0)+t,width:a-2*t,height:r-2*t,polygon:i}}}(i));e.sort((e,t)=>(t?.labelrank||0)-(e?.labelrank||0));for(let i=0;i<t;++i){s=(a=e[i])&&a.absoluteBox;let l=s?.polygon;for(let u=i+1;u<t;++u){c=(o=e[u])&&o.absoluteBox;let t=!1;if(s&&c&&a!==o&&a?.newOpacity!==0&&o?.newOpacity!==0&&a?.visibility!==`hidden`&&o?.visibility!==`hidden`){let e=c.polygon;if(l&&e&&l!==e?r(l,e)&&(t=!0):n(s,c)&&(t=!0),t){let e=a?.labelrank<o?.labelrank?a:o,t=e?.text;e&&(e.newOpacity=0),t?.element.querySelector(`textPath`)&&t.hide()}}}}for(let t of e)t&&od(t,this)&&(l=!0);l&&rd(this,`afterHideAllOverlappingLabels`)},td(h,`render`,function(){let e=this,t=[];for(let n of e.labelCollectors||[])t=t.concat(n());for(let n of e.yAxis||[])n.stacking&&n.options.stackLabels&&!n.options.stackLabels.allowOverlap&&id(n.stacking.stacks,e=>{id(e,e=>{e.label&&t.push(e.label)})});for(let n of e.series||[])if(n.visible&&n.hasDataLabels?.()){let r=n=>{for(let r of n)r.visible&&(r.dataLabels||[]).forEach(n=>{let i=n.options||{};n.labelrank=ad(i.labelrank,r.labelrank,r.shapeArgs?.height),i.allowOverlap??Number(i.distance)>0?(n.oldOpacity=n.opacity,n.newOpacity=1,od(n,e)):t.push(n)})};r(n.nodes||[]),r(n.points)}this.hideOverlappingLabels(t)})),$u.compose(P.Series.types.pie),ua.compose(P.Chart,P.Axis),xo.compose(P.Chart),Ad.compose(P.Chart),Fc.compose(P.Axis,P.Chart,P.Series),ll.compose(P.Axis,P.Chart,P.Series),Ia.compose(P.Pointer),F.extend(P,F);let jd=P;return te.default})())})),p=t(((e,t)=>{(function(n,i){typeof e==`object`&&typeof t==`object`?t.exports=i(r()):typeof define==`function`&&define.amd?define([`react`],i):typeof e==`object`?e.HighchartsReact=i(r()):n.HighchartsReact=i(n.React)})(typeof self<`u`?self:e,function(e){return function(e){function t(r){if(n[r])return n[r].exports;var i=n[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,t),i.l=!0,i.exports}var n={};return t.m=e,t.c=n,t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,`a`,n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p=``,t(t.s=0)}([function(e,t,n){function r(){return r=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},r.apply(this,arguments)}function i(e){return c(e)||s(e)||o(e)||a()}function a(){throw TypeError(`Invalid attempt to spread non-iterable instance.
|
|
3
3
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function o(e,t){if(e){if(typeof e==`string`)return l(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?l(e,t):void 0}}function s(e){if(typeof Symbol<`u`&&e[Symbol.iterator]!=null||e[`@@iterator`]!=null)return Array.from(e)}function c(e){if(Array.isArray(e))return l(e)}function l(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function u(e){"@babel/helpers - typeof";return(u=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e})(e)}Object.defineProperty(t,`__esModule`,{value:!0}),n.d(t,`HighchartsReact`,function(){return m});var d=n(1),f=n.n(d),p=typeof window<`u`?d.useLayoutEffect:d.useEffect,m=(0,d.memo)((0,d.forwardRef)(function(e,t){var n=(0,d.useRef)(),a=(0,d.useRef)(),o=(0,d.useRef)(e.constructorType),s=(0,d.useRef)(e.highcharts);return p(function(){function t(){var t=e.highcharts||(typeof window>`u`?`undefined`:u(window))===`object`&&window.Highcharts,r=e.constructorType||`chart`;t?t[r]?e.options?a.current=t[r](n.current,e.options,e.callback):console.warn(`The "options" property was not passed.`):console.warn(`The "constructorType" property is incorrect or some required module is not imported.`):console.warn(`The "highcharts" property was not passed.`)}if(a.current){if(!1!==e.allowChartUpdate)if(e.constructorType!==o.current||e.highcharts!==s.current)o.current=e.constructorType,s.current=e.highcharts,t();else if(!e.immutable&&a.current){var r;(r=a.current).update.apply(r,[e.options].concat(i(e.updateArgs||[!0,!0])))}else t()}else t()},[e.options,e.allowChartUpdate,e.updateArgs,e.containerProps,e.highcharts,e.constructorType]),p(function(){return function(){a.current&&=(a.current.destroy(),null)}},[]),(0,d.useImperativeHandle)(t,function(){return{get chart(){return a.current},container:n}},[]),f.a.createElement(`div`,r({},e.containerProps,{ref:n}))}));t.default=m},function(t,n){t.exports=e}])})})),m=`M14.447 4.008a1.806 1.806 0 0 0-1.217.588l-.63.693-.003.002a.8.8 0 0 1-.597.266.8.8 0 0 1-.598-.266l-.002-.002-.625-.691h-.002a1.803 1.803 0 0 0-2.86.246c-.198.313-.296.681-.279 1.052l.043.936v.002a.8.8 0 0 1-.05.332.81.81 0 0 1-.795.516l-.934-.047h-.002A1.802 1.802 0 0 0 4.05 9.832c.081.363.273.691.548.941l.694.631h.002a.8.8 0 0 1 .265.6.8.8 0 0 1-.265.598l-.696.626a1.81 1.81 0 0 0-.455 2.032 1.81 1.81 0 0 0 1.762 1.111l.932-.047a.803.803 0 0 1 .845.846l-.046.931v.004a1.802 1.802 0 0 0 2.197 1.844c.362-.081.691-.272.941-.547l.631-.693.002-.002a.8.8 0 0 1 .598-.266q.17.001.326.07a.8.8 0 0 1 .271.196l.627.695.002.002a1.807 1.807 0 0 0 3.137-1.299v-.004l-.047-.933a.805.805 0 0 1 .846-.846l.933.047a1.806 1.806 0 0 0 1.303-3.142v-.002l-.695-.625a.81.81 0 0 1-.198-.928.8.8 0 0 1 .198-.27l.695-.627a1.81 1.81 0 0 0 .457-2.03 1.811 1.811 0 0 0-1.758-1.113l-.933.046a.8.8 0 0 1-.608-.235.8.8 0 0 1-.234-.609l.047-.934a1.807 1.807 0 0 0-1.926-1.892m.068.998a.8.8 0 0 1 .735.373c.089.14.131.304.123.47l-.047.934a1.81 1.81 0 0 0 1.152 1.776c.235.09.487.131.738.119h.002l.932-.047a.804.804 0 0 1 .826.982.8.8 0 0 1-.246.42l-.693.627a1.81 1.81 0 0 0-.44 2.074c.103.231.252.438.44.608l.695.627a.806.806 0 0 1-.111 1.277v.002a.8.8 0 0 1-.47.123l-.934-.047a1.8 1.8 0 0 0-1.895 1.895l.047.933a.806.806 0 0 1-1.399.578l-.002-.002-.624-.69a1.805 1.805 0 0 0-2.68 0l-.631.692a.81.81 0 0 1-.902.204v-.002a.8.8 0 0 1-.498-.778v-.004l.046-.93a1.804 1.804 0 0 0-1.894-1.896l-.934.047a.8.8 0 0 1-.472-.121.809.809 0 0 1-.355-.86.8.8 0 0 1 .245-.42l.694-.626a1.806 1.806 0 0 0 0-2.68l-.694-.63a.804.804 0 0 1 .578-1.401l.934.047a1.806 1.806 0 0 0 1.896-1.897v-.002l-.044-.931a.8.8 0 0 1 .496-.782.81.81 0 0 1 .904.201l.627.692a1.807 1.807 0 0 0 2.678.002l.002-.004h.002l.627-.69.001-.001a.8.8 0 0 1 .545-.262M12 8.5A3.51 3.51 0 0 0 8.5 12c0 1.927 1.573 3.5 3.5 3.5s3.5-1.573 3.5-3.5-1.573-3.5-3.5-3.5m0 1c1.386 0 2.5 1.113 2.5 2.5s-1.114 2.5-2.5 2.5A2.49 2.49 0 0 1 9.5 12c0-1.387 1.113-2.5 2.5-2.5`,h={labelAnnotated:`_labelAnnotated_1k0fm_1`,annotationIcon:`_annotationIcon_1k0fm_6`},g=e(r()),_=e(f()),v=p(),y=n();_.default.AST.allowedAttributes.push(`data-annotation-key`,`data-annotation-tooltip`,`viewBox`,`d`,`fill`);var b=`<svg viewBox="0 0 24 24"><path fill="currentColor" d="${m}"/></svg>`;function x(e){return e.replace(/&/g,`&`).replace(/"/g,`"`).replace(/</g,`<`).replace(/>/g,`>`)}function S(e,t){let n=t?.[e];if(n){let t=n.tooltip?` data-annotation-tooltip="${x(n.tooltip)}"`:``;return`<span class="${h.labelAnnotated}">${e} <span class="${h.annotationIcon}" data-annotation-key="${e}"${t}>${b}</span></span>`}return e}function C(e){let t=g.useRef(null);return g.useEffect(()=>{let n=t.current;if(!n||!e.annotations)return;let r=t=>{let n=t.target.closest(`.${h.annotationIcon}`);if(!n)return;t.preventDefault(),t.stopPropagation();let r=n.getAttribute(`data-annotation-key`);r&&e.annotations?.[r]?.onClick()};return n.addEventListener(`click`,r,!0),()=>n.removeEventListener(`click`,r,!0)},[e.annotations]),g.useEffect(()=>{let e=t.current;if(!e)return;let n=new Map,r=()=>{e.querySelectorAll(`.${h.annotationIcon}[data-annotation-tooltip]`).forEach(e=>{if(n.has(e))return;let t=new l(e,{title:e.getAttribute(`data-annotation-tooltip`)||``,trigger:`hover`,placement:`top`,container:`body`});n.set(e,t)}),n.forEach((t,r)=>{e.contains(r)||(t.dispose(),n.delete(r))})};r();let i=new MutationObserver(r);return i.observe(e,{childList:!0,subtree:!0}),()=>{i.disconnect(),n.forEach(e=>e.dispose()),n.clear()}},[]),(0,y.jsx)(`div`,{ref:t,className:e.className,children:(0,y.jsx)(v.HighchartsReact,{highcharts:_.default,options:e.options,containerProps:e.containerProps})})}var w=function(e){return e.ORANGE=`#FF9300`,e.BLUE=`#38A2E8`,e.DARK=`#313543`,e.YELLOW=`#FFCD52`,e.PURPLE=`#7A76E8`,e.GREEN=`#5DC786`,e.ULTRAMARINE=`#4C68DB`,e.PINK=`#F7847B`,e.NAVY=`#1B2D71`,e}({}),T={fontSize:`14px`,fontFamily:`"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"`,fontWeight:`400`,color:w.DARK},E={chart:{spacing:[0,36,0,0]},title:{text:null},tooltip:{enabled:!1},credits:{enabled:!1},yAxis:{gridLineWidth:0,labels:{enabled:!1},title:{text:null}},xAxis:{lineWidth:0,labels:{style:T,align:`left`,reserveSpace:!0}},legend:{enabled:!1},plotOptions:{bar:{borderRadius:{radius:4,scope:`point`,where:`all`},dataLabels:{enabled:!0,style:T,inside:!1,crop:!1,overflow:`allow`},pointWidth:12,pointPadding:0,minPointLength:8}}},D=(e,t,n)=>({...E,chart:{...E.chart,height:8+t.length*40,...n&&e.some(e=>e in n)?{marginLeft:170}:{}},xAxis:{...E.xAxis,categories:e,labels:{...E.xAxis.labels,useHTML:!0,formatter:function(){return S(this.value,n)}}},series:[{type:`bar`,label:{enabled:!1},states:{hover:{enabled:!1}},data:t}]});function O(e){return(0,y.jsx)(C,{options:D(e.data.map(e=>e.name),e.data,e.labelAnnotations),annotations:e.labelAnnotations})}var k=[{name:`Staff`,priority:0},{name:`Classroom views`,priority:1},{name:`Anonymous`,priority:3}],A=2;function j(e){return k.find(t=>t.name===e)?.priority??A}function M(e){if(!e)return 1/0;let t=e.match(/\d+/);return t?parseInt(t[0]):0}function ee(e,t){let n=j(e)-j(t);return n===0?M(t)-M(e):n}var N=s.encloseNamespace(`reportsShared.utils`);function te(e){switch(e){case o.Learner:return N(`student`);case o.Staff:return N(`staff`);case o.System:case`255`:return N(`anon`);case null:return N(`anon`);case`Student reach`:return N(`classroomViews`);default:return e}}function P(e){switch(e){case o.Learner:return w.BLUE;case o.Staff:return w.NAVY;case o.System:case`255`:return w.PINK;case null:return w.PINK;case`Student reach`:return w.ORANGE;default:return w.BLUE}}function ne(e){return e===null?N(`anon`):e===`Student reach`?N(`classroomViews`):e}function re(e){return e===`user_type`?te:e===`year_group`?ne:e=>e}function ie(e,t){return e?e.map(e=>({name:t?t(e.name):e.name,y:e.count,color:P(e.name)})).sort((e,t)=>ee(e.name,t.name)):null}var ae=s.encloseNamespace(`reportsShared.lineChart`),oe={title:{text:null},credits:{enabled:!1},yAxis:{title:{text:null},labels:{style:T},gridLineDashStyle:`LongDash`,endOnTick:!0,tickAmount:5,min:0},xAxis:{labels:{style:T},min:0},chart:{backgroundColor:`transparent`,spacing:[40,0,0,4]},legend:{enabled:!0,align:`right`,verticalAlign:`top`,floating:!0,y:-40,itemStyle:T,symbolWidth:10,symbolHeight:10,symbolRadius:5},plotOptions:{line:{legendSymbol:`rectangle`,marker:{enabled:!1,symbol:`circle`}}},tooltip:{style:{...T,fontSize:`12px`},borderRadius:6}},se=(e,t,n)=>{let r=a.first(t)?.data.length;return{...oe,yAxis:{...oe.yAxis,max:r?null:100},xAxis:{...oe.xAxis,categories:e,max:e.length-1},legend:{...oe.legend,...r?{}:{symbolPadding:0,symbolWidth:0,symbolHeight:0,squareSymbol:!1},...n?{useHTML:!0,labelFormatter:function(){return S(this.name,n)}}:{}},series:r?t:[{type:`line`,name:ae(`noViews`),data:[]}]}};function ce(e){return(0,y.jsx)(C,{options:se(e.categories,e.data,e.legendAnnotations),annotations:e.legendAnnotations,className:`h-100`,containerProps:{className:`h-100`}})}export{te as a,w as c,S as d,m as f,P as i,T as l,d as m,ie as n,ee as o,f as p,re as r,O as s,ce as t,C as u};
|
|
4
|
-
//# sourceMappingURL=
|
|
4
|
+
//# sourceMappingURL=XgwoBT6z2.chunk.js.map
|