dealpos 12.36.0 → 12.36.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/POS/{chunk-KHVX5G76.js → chunk-27US3J2A.js} +1 -1
- package/POS/{chunk-6H76W4M6.js → chunk-2JEI5UKW.js} +1 -1
- package/POS/{chunk-D6DDR4ZV.js → chunk-2U36SKOV.js} +1 -1
- package/POS/{chunk-B2LFVHQQ.js → chunk-2V3IV245.js} +1 -1
- package/POS/{chunk-UQSC3UYL.js → chunk-2YFLWSKM.js} +1 -1
- package/POS/{chunk-YUJGGOIK.js → chunk-3DT7FU3L.js} +1 -1
- package/POS/{chunk-T7JPO6JR.js → chunk-3JKMNDJI.js} +1 -1
- package/POS/{chunk-CTX5G4DT.js → chunk-3LYH743J.js} +1 -1
- package/POS/{chunk-HOLBVWKW.js → chunk-3QSNZZMR.js} +1 -1
- package/POS/{chunk-X2VOCGVA.js → chunk-3RBY5EXD.js} +1 -1
- package/POS/{chunk-3GKWOO3A.js → chunk-43NDPZWS.js} +1 -1
- package/POS/{chunk-6AGMZT3A.js → chunk-43PDKWXL.js} +1 -1
- package/POS/{chunk-55GOOJF7.js → chunk-45EV767C.js} +1 -1
- package/POS/{chunk-RUTBWAD3.js → chunk-4IWBBD7S.js} +1 -1
- package/POS/{chunk-JQCXTMZ3.js → chunk-4NH2WDX2.js} +2 -2
- package/POS/{chunk-JTJFDIIC.js → chunk-4SKBTP5F.js} +1 -1
- package/POS/{chunk-CFC4GTQF.js → chunk-4Y6GDOUA.js} +1 -1
- package/POS/chunk-5JOGSLEB.js +1 -0
- package/POS/{chunk-BKY3WUW3.js → chunk-5P3GEHSG.js} +1 -1
- package/POS/{chunk-OGQWLY7W.js → chunk-6DEHGJV5.js} +1 -1
- package/POS/{chunk-JUWGRRQK.js → chunk-7EEQKQMU.js} +1 -1
- package/POS/{chunk-3TOZBOZN.js → chunk-7MRDGZG5.js} +1 -1
- package/POS/{chunk-WRJOMPWQ.js → chunk-7N2FF2BL.js} +1 -1
- package/POS/{chunk-GKFGDQCA.js → chunk-AB5JLY3C.js} +1 -1
- package/POS/{chunk-YYQVA2FD.js → chunk-AHRA274J.js} +1 -1
- package/POS/{chunk-AM3EV3QK.js → chunk-AO5TVUSS.js} +1 -1
- package/POS/{chunk-K7MQJZY7.js → chunk-AVFCF2PB.js} +1 -1
- package/POS/{chunk-GSGFFDJY.js → chunk-AXOMDEFV.js} +1 -1
- package/POS/{chunk-5OSFROJ4.js → chunk-BAP4Z5QY.js} +1 -1
- package/POS/{chunk-7FYOXCXG.js → chunk-BFOYVAFY.js} +1 -1
- package/POS/{chunk-ENBWNK2X.js → chunk-BGX5BH6T.js} +1 -1
- package/POS/{chunk-ILY3J4BN.js → chunk-BHJTSL2R.js} +1 -1
- package/POS/{chunk-JUT3XT6Q.js → chunk-BMAGYV2A.js} +1 -1
- package/POS/{chunk-CVK5STWL.js → chunk-COKKVIJK.js} +1 -1
- package/POS/{chunk-LHV4HVLU.js → chunk-CR3CFCWR.js} +1 -1
- package/POS/{chunk-W2TZVLSI.js → chunk-D4RHFRLX.js} +1 -1
- package/POS/{chunk-DYJFMVN5.js → chunk-DBT2SW6U.js} +1 -1
- package/POS/{chunk-4FFM4FLY.js → chunk-DG2J5FC5.js} +1 -1
- package/POS/{chunk-ENHGUGRV.js → chunk-DIRSW45G.js} +1 -1
- package/POS/{chunk-JF4UW7W4.js → chunk-E6PFSLYL.js} +1 -1
- package/POS/{chunk-FXCFQI6V.js → chunk-E6XV66QS.js} +1 -1
- package/POS/{chunk-GMMVIVWM.js → chunk-E7BEMZDA.js} +1 -1
- package/POS/{chunk-KFRU3VRX.js → chunk-EBMVRDQ6.js} +1 -1
- package/POS/{chunk-CABYARMN.js → chunk-EEQIXZOA.js} +2 -2
- package/POS/{chunk-U55QQTG4.js → chunk-EJX6FYI4.js} +1 -1
- package/POS/{chunk-VMITYZZC.js → chunk-EQFRL24J.js} +1 -1
- package/POS/{chunk-XJHSX3M7.js → chunk-EU75JLWK.js} +1 -1
- package/POS/{chunk-EURNRZLK.js → chunk-EYEYTREM.js} +1 -1
- package/POS/{chunk-4MTSAHJU.js → chunk-FCGUFMZA.js} +1 -1
- package/POS/{chunk-5ETCMCU3.js → chunk-FLIFTKZ2.js} +1 -1
- package/POS/{chunk-ETKETKBW.js → chunk-GEX2JNIR.js} +1 -1
- package/POS/{chunk-57J2OURY.js → chunk-GH44UU2Q.js} +1 -1
- package/POS/{chunk-DJBH6ALQ.js → chunk-GLKLQX5E.js} +1 -1
- package/POS/{chunk-UXZCEBRE.js → chunk-GQKUQKJX.js} +1 -1
- package/POS/{chunk-7H7YOJJN.js → chunk-GRMSKVJQ.js} +2 -2
- package/POS/{chunk-WRV3AEYQ.js → chunk-GXRFGGGW.js} +1 -1
- package/POS/{chunk-T6ZXM4LS.js → chunk-H4TZBG2X.js} +1 -1
- package/POS/{chunk-BZHXOSKP.js → chunk-H6S5DCL2.js} +1 -1
- package/POS/{chunk-S6NWFDV5.js → chunk-H7T5TO2Y.js} +1 -1
- package/POS/{chunk-GVX3OA4K.js → chunk-HIT7VG2N.js} +1 -1
- package/POS/{chunk-OUSLQ7TT.js → chunk-HSYWV4M6.js} +1 -1
- package/POS/{chunk-KT23QOBI.js → chunk-HVWC53XE.js} +1 -1
- package/POS/{chunk-BOTS6FOI.js → chunk-IAAGBYCM.js} +1 -1
- package/POS/{chunk-HYNVMTLL.js → chunk-ICYJH2WJ.js} +1 -1
- package/POS/{chunk-GHEM7C2R.js → chunk-IP2UACZM.js} +1 -1
- package/POS/{chunk-IYM5DIKS.js → chunk-ITTH7FE5.js} +1 -1
- package/POS/{chunk-MOLNIPL4.js → chunk-J7P7T4AP.js} +1 -1
- package/POS/{chunk-BM6D3TGT.js → chunk-JACQZYCS.js} +1 -1
- package/POS/{chunk-GYXYSM4D.js → chunk-JTAIHE6B.js} +1 -1
- package/POS/{chunk-HL6EUUES.js → chunk-JTX4WWQS.js} +1 -1
- package/POS/{chunk-FI6FPARS.js → chunk-JU6KTVPH.js} +1 -1
- package/POS/{chunk-IE64IOO3.js → chunk-K6HNAPE5.js} +1 -1
- package/POS/{chunk-KLLOGO2X.js → chunk-K6U6AO5V.js} +1 -1
- package/POS/{chunk-4SAR2TGF.js → chunk-KG7PVKOG.js} +1 -1
- package/POS/{chunk-SXXIUJTU.js → chunk-KKRLRDZN.js} +1 -1
- package/POS/chunk-KQN7QB33.js +1 -0
- package/POS/{chunk-33UOFJPQ.js → chunk-L5NXTRNZ.js} +1 -1
- package/POS/{chunk-EMKQTDXR.js → chunk-L5VWFQUW.js} +1 -1
- package/POS/{chunk-3GZ55CXX.js → chunk-LKRR65EA.js} +1 -1
- package/POS/{chunk-N7BTBTSQ.js → chunk-LSHDJWY4.js} +1 -1
- package/POS/{chunk-F5GUW2ZD.js → chunk-LUH422D5.js} +1 -1
- package/POS/{chunk-PORHYSP6.js → chunk-M3ZELOH7.js} +2 -2
- package/POS/{chunk-DJPZMAV3.js → chunk-MSIJDMPB.js} +1 -1
- package/POS/{chunk-DQ6YIJ7I.js → chunk-NDYUHH7O.js} +1 -1
- package/POS/{chunk-QBVCE2GI.js → chunk-NUFUJ5L2.js} +1 -1
- package/POS/{chunk-ZLJU6AMF.js → chunk-OG4XYD4A.js} +1 -1
- package/POS/{chunk-2WAWNC7B.js → chunk-OJFLIYHB.js} +1 -1
- package/POS/{chunk-NYL7JYLA.js → chunk-OL2ZER3C.js} +1 -1
- package/POS/{chunk-5YLWMOJC.js → chunk-OLHICGJ2.js} +1 -1
- package/POS/{chunk-27MYDKKS.js → chunk-P2J6DH2Y.js} +1 -1
- package/POS/{chunk-7E2SMVKU.js → chunk-PFH3MUWX.js} +1 -1
- package/POS/{chunk-OXAUWICF.js → chunk-PKPMAC5U.js} +1 -1
- package/POS/{chunk-B6N7DKUZ.js → chunk-PRVTCM7W.js} +1 -1
- package/POS/{chunk-55MLWPJ6.js → chunk-PU6GCJGI.js} +1 -1
- package/POS/{chunk-OONDHID4.js → chunk-QC5WF4O6.js} +1 -1
- package/POS/{chunk-JFYNWCH4.js → chunk-QI2AQZFX.js} +1 -1
- package/POS/{chunk-F7OBADMD.js → chunk-QKVGZ7M5.js} +1 -1
- package/POS/{chunk-NYXPRQC7.js → chunk-QP7LZNSC.js} +1 -1
- package/POS/{chunk-6PNLGKMC.js → chunk-QXWLDBXQ.js} +1 -1
- package/POS/{chunk-2MAPOEHJ.js → chunk-QZSI4SHF.js} +1 -1
- package/POS/{chunk-HSYHUEYX.js → chunk-QZUQAFVZ.js} +1 -1
- package/POS/{chunk-VLXLEOUW.js → chunk-R4345Q2G.js} +1 -1
- package/POS/{chunk-JW34DRBD.js → chunk-R4UTNBXC.js} +1 -1
- package/POS/{chunk-Z44TOHWK.js → chunk-RBQRYA7P.js} +1 -1
- package/POS/{chunk-4DB4LRLE.js → chunk-RBR4B336.js} +1 -1
- package/POS/{chunk-UH6PQBU7.js → chunk-RFLMNXSC.js} +1 -1
- package/POS/{chunk-C7V6KR5L.js → chunk-RFM4OC6E.js} +1 -1
- package/POS/{chunk-QTOFW2QF.js → chunk-RGQU3K7T.js} +1 -1
- package/POS/{chunk-GRTM24IY.js → chunk-RMRVCGEP.js} +1 -1
- package/POS/{chunk-VTUIHVH7.js → chunk-RW3TXRPE.js} +1 -1
- package/POS/{chunk-3VB2JWFR.js → chunk-S6O7RWN4.js} +1 -1
- package/POS/{chunk-NUUYJHLB.js → chunk-SADDJWCL.js} +1 -1
- package/POS/{chunk-SYN7JTFT.js → chunk-SBTZJNCP.js} +1 -1
- package/POS/{chunk-B6HOXLAG.js → chunk-SF2NYNED.js} +1 -1
- package/POS/{chunk-OIHJ7ZRP.js → chunk-SX3XGQTI.js} +1 -1
- package/POS/{chunk-C3KAMY2R.js → chunk-T7HNNZ5O.js} +1 -1
- package/POS/{chunk-5K6A4G2N.js → chunk-TEQBCWSU.js} +1 -1
- package/POS/{chunk-E24O4F7M.js → chunk-TPODACO5.js} +1 -1
- package/POS/{chunk-G7SV5NBP.js → chunk-TR5YMXIV.js} +1 -1
- package/POS/{chunk-EF2XCSAT.js → chunk-TRWEC6AJ.js} +1 -1
- package/POS/{chunk-B6TNK2DB.js → chunk-TUNJB7TE.js} +1 -1
- package/POS/{chunk-HZBTYS7Z.js → chunk-TUW4IBLF.js} +1 -1
- package/POS/{chunk-T6FJZK5G.js → chunk-TZWSSDZB.js} +1 -1
- package/POS/{chunk-V43ROQAM.js → chunk-V77QLTOD.js} +1 -1
- package/POS/{chunk-7FT57XHH.js → chunk-VEWCLVOY.js} +1 -1
- package/POS/{chunk-S63TAJKH.js → chunk-VJI7YM22.js} +1 -1
- package/POS/{chunk-SJNIGFQO.js → chunk-VQFZWQZZ.js} +1 -1
- package/POS/{chunk-5YKHJA2E.js → chunk-WAVNV3OE.js} +1 -1
- package/POS/{chunk-YAL3TJYC.js → chunk-WDNAWIV3.js} +1 -1
- package/POS/{chunk-ZHS7V5SZ.js → chunk-WH2SGKPX.js} +1 -1
- package/POS/{chunk-JWMYB365.js → chunk-WJKTR2ZL.js} +1 -1
- package/POS/{chunk-D5ZQANUV.js → chunk-WTA5PYGW.js} +1 -1
- package/POS/{chunk-7FMM4KBB.js → chunk-X7SFIFB4.js} +1 -1
- package/POS/{chunk-ARKWWLI7.js → chunk-XA3POMJI.js} +1 -1
- package/POS/{chunk-TLFG6U37.js → chunk-XCNP3EMO.js} +1 -1
- package/POS/{chunk-5ZS2WS4E.js → chunk-XFD6U6KJ.js} +1 -1
- package/POS/{chunk-IMMSIKZA.js → chunk-XM5G6YUH.js} +1 -1
- package/POS/{chunk-WRVQUP2J.js → chunk-XMZMZDHN.js} +1 -1
- package/POS/{chunk-RTWGS6XK.js → chunk-XP7UP3BI.js} +1 -1
- package/POS/{chunk-AQVCZ2RQ.js → chunk-XUEU23PO.js} +1 -1
- package/POS/chunk-XY2D5B7X.js +1 -0
- package/POS/{chunk-F2445GXS.js → chunk-Y7PAFDXE.js} +1 -1
- package/POS/chunk-YBAIF7T2.js +1 -0
- package/POS/{chunk-7R4W4TQ7.js → chunk-YIBFHZYM.js} +1 -1
- package/POS/{chunk-GQ47BSHZ.js → chunk-YM3AWURU.js} +2 -2
- package/POS/{chunk-RDGZK3N2.js → chunk-YRBVCZ2Z.js} +1 -1
- package/POS/{chunk-MJEGCTL2.js → chunk-YZMRR2CO.js} +1 -1
- package/POS/{chunk-MTGCG6MU.js → chunk-Z34H4ZGP.js} +1 -1
- package/POS/{chunk-CQISFXZL.js → chunk-ZTIRNBM2.js} +1 -1
- package/POS/{chunk-SLRSX4LR.js → chunk-ZWZ3RISR.js} +1 -1
- package/POS/{chunk-3QZ2T5PF.js → chunk-ZY7KEBHF.js} +1 -1
- package/POS/index.html +2 -2
- package/POS/{main-XNHQBO3N.js → main-YRYUPZY3.js} +2 -2
- package/package.json +1 -1
- package/POS/chunk-4SOVILZX.js +0 -1
- package/POS/chunk-C7CWDPAX.js +0 -1
- package/POS/chunk-HR3VY3VY.js +0 -1
- package/POS/chunk-OQSZABWR.js +0 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as ro}from"./chunk-OYULIJXP.js";import{a as Gl,b as Vl,c as jl,d as Ul}from"./chunk-TMDP5NOF.js";import{a as Ke}from"./chunk-MSFKEMOL.js";import{a as so}from"./chunk-
|
|
1
|
+
import{a as ro}from"./chunk-OYULIJXP.js";import{a as Gl,b as Vl,c as jl,d as Ul}from"./chunk-TMDP5NOF.js";import{a as Ke}from"./chunk-MSFKEMOL.js";import{a as so}from"./chunk-EU75JLWK.js";import{b as eo,c as io}from"./chunk-PU6GCJGI.js";import"./chunk-43NDPZWS.js";import{a as Zn,b as Jn}from"./chunk-DBT2SW6U.js";import"./chunk-E6PFSLYL.js";import"./chunk-7EEQKQMU.js";import"./chunk-QI2AQZFX.js";import"./chunk-ZY7KEBHF.js";import{Aa as Kn,za as qn}from"./chunk-RBR4B336.js";import{F as Ki,N as Zi,Y as to}from"./chunk-HSYWV4M6.js";import"./chunk-WJKTR2ZL.js";import{e as Qn}from"./chunk-T7HNNZ5O.js";import"./chunk-JTX4WWQS.js";import{B as Un,h as Vn,n as jn}from"./chunk-43PDKWXL.js";import"./chunk-AVFCF2PB.js";import"./chunk-2JEI5UKW.js";import{b as qi}from"./chunk-KKRLRDZN.js";import{a as $i}from"./chunk-3F3GWS3L.js";import{$b as wt,Bb as Ue,Da as Hn,Db as X,Dd as Jt,Fd as te,Gc as Ht,Ic as ue,Jc as Wt,La as Xn,Ld as $n,Nc as me,Oc as Gn,Pa as O,Qa as se,Qb as at,Qc as qe,Rb as A,Sb as ot,Sc as Xt,T as Ve,Tb as Mt,Ub as Ft,Vc as Et,W as ji,X as bi,Xb as js,Yb as Us,Zb as $s,_b as $e,ac as bt,bb as Yn,bc as pt,cc as Ui,db as J,ea as Fn,fb as B,gb as re,ha as zn,ic as F,jc as Dt,kc as U,ma as Tt,n as Nn,oc as gt,q as de,sa as je,sb as D,ta as fe,tb as k,ua as pe,ub as mt,vb as dt,wb as ft,xb as Rt,yb as Pe}from"./chunk-TPODACO5.js";import{a as At,b as $t,h as Yl}from"./chunk-HBPJYABI.js";var qs;(function(l){l.SVG_NS="http://www.w3.org/2000/svg",l.product="Highcharts",l.version="@product.version@",l.win=typeof window<"u"?window:{},l.doc=l.win.document,l.svg=l.doc&&l.doc.createElementNS&&!!l.doc.createElementNS(l.SVG_NS,"svg").createSVGRect,l.userAgent=l.win.navigator&&l.win.navigator.userAgent||"",l.isChrome=l.userAgent.indexOf("Chrome")!==-1,l.isFirefox=l.userAgent.indexOf("Firefox")!==-1,l.isMS=/(edge|msie|trident)/i.test(l.userAgent)&&!l.win.opera,l.isSafari=!l.isChrome&&l.userAgent.indexOf("Safari")!==-1,l.isTouchDevice=/(Mobile|Android|Windows Phone)/.test(l.userAgent),l.isWebKit=l.userAgent.indexOf("AppleWebKit")!==-1,l.deg2rad=Math.PI*2/360,l.hasBidiBug=l.isFirefox&&parseInt(l.userAgent.split("Firefox/")[1],10)<4,l.marginNames=["plotTop","marginRight","marginBottom","plotLeft"],l.noop=function(){},l.supportsPassiveEvents=function(){let i=!1;if(!l.isMS){let t=Object.defineProperty({},"passive",{get:function(){i=!0}});l.win.addEventListener&&l.win.removeEventListener&&(l.win.addEventListener("testPassive",l.noop,t),l.win.removeEventListener("testPassive",l.noop,t))}return i}(),l.charts=[],l.composed=[],l.dateFormats={},l.seriesTypes={},l.symbolSizes={},l.chartCount=0})(qs||(qs={}));var _=qs;var{charts:$l,doc:Qi,win:Oe}=_;function ge(l,i,t,e){let s=i?"Highcharts error":"Highcharts warning";l===32&&(l=`${s}: Deprecated member`);let r=Js(l),n=r?`${s} #${l}: www.highcharts.com/errors/${l}/`:l.toString(),o=function(){if(i)throw new Error(n);Oe.console&&ge.messages.indexOf(n)===-1&&console.warn(n)};if(typeof e<"u"){let a="";r&&(n+="?"),xe(e,function(h,c){a+=`
|
|
2
2
|
- ${c}: ${h}`,r&&(n+=encodeURI(c)+"="+encodeURI(h))}),n+=a}po(_,"displayError",{chart:t,code:l,message:n,params:e},o),ge.messages.push(n)}(function(l){l.messages=[]})(ge||(ge={}));function ql(){let l,i=arguments,t={},e=function(r,n){return typeof r!="object"&&(r={}),xe(n,function(o,a){a==="__proto__"||a==="constructor"||(Je(o,!0)&&!oo(o)&&!Qs(o)?r[a]=e(r[a]||{},o):r[a]=n[a])}),r};i[0]===!0&&(t=i[1],i=Array.prototype.slice.call(i,2));let s=i.length;for(l=0;l<s;l++)t=e(t,i[l]);return t}function Kl(l,i,t){return l>i?l<t?l:t:i}var Zl=(l,i=0,t)=>{let e=i%2/2,s=t?-1:1;return(Math.round(l*s-e)+e)*s};function Ql(l,i,t,e){let s={};function r(n,o,a,h){let c=t?o:n;xe(n,function(f,d){if(!h&&e&&e.indexOf(d)>-1&&o[d]){f=lo(f),a[d]=[];for(let p=0;p<Math.max(f.length,o[d].length);p++)o[d][p]&&(f[p]===void 0?a[d][p]=o[d][p]:(a[d][p]={},r(f[p],o[d][p],a[d][p],h+1)))}else Je(f,!0)&&!f.nodeType?(a[d]=ts(f)?[]:{},r(f,o[d]||{},a[d],h+1),Object.keys(a[d]).length===0&&!(d==="colorAxis"&&h===0)&&delete a[d]):(n[d]!==o[d]||d in n&&!(d in o))&&d!=="__proto__"&&d!=="constructor"&&(a[d]=c[d])})}return r(l,i,s,0),s}function no(l,i){return parseInt(l,i||10)}function Ji(l){return typeof l=="string"}function ts(l){let i=Object.prototype.toString.call(l);return i==="[object Array]"||i==="[object Array Iterator]"}function Je(l,i){return!!l&&typeof l=="object"&&(!i||!ts(l))}function Qs(l){return Je(l)&&typeof l.nodeType=="number"}function oo(l){let i=l&&l.constructor;return!!(Je(l,!0)&&!Qs(l)&&i&&i.name&&i.name!=="Object")}function Js(l){return typeof l=="number"&&!isNaN(l)&&l<1/0&&l>-1/0}function Jl(l,i){let t=l.length;for(;t--;)if(l[t]===i){l.splice(t,1);break}}function th(l,i){let t=l.options.index,e=i.length,s;for(s=l.options.isInternal?e:0;s<e+1;s++)if(!i[s]||Js(t)&&t<Si(i[s].options.index,i[s]._i)||i[s].options.isInternal){i.splice(s,0,l);break}return s}function eh(l,i){return l.indexOf(i)<0&&!!l.push(i)}function Ze(l){return typeof l<"u"&&l!==null}function ao(l,i,t){let e=Ji(i)&&!Ze(t),s,r=(n,o)=>{Ze(n)?l.setAttribute(o,n):e?(s=l.getAttribute(o),!s&&o==="class"&&(s=l.getAttribute(o+"Name"))):l.removeAttribute(o)};return Ji(i)?r(t,i):xe(i,r),s}function lo(l){return ts(l)?l:[l]}function ih(l,i,t){return i>0?setTimeout(l,i,t):(l.call(0,t),-1)}function sh(l){Ze(l)&&clearTimeout(l)}function Qe(l,i){let t;l||(l={});for(t in i)l[t]=i[t];return l}function Si(){let l=arguments,i=l.length;for(let t=0;t<i;t++){let e=l[t];if(typeof e<"u"&&e!==null)return e}}function Ks(l,i){Qe(l.style,i)}function rh(l,i,t,e,s){let r=Qi.createElement(l);return i&&Qe(r,i),s&&Ks(r,{padding:"0",border:"none",margin:"0"}),t&&Ks(r,t),e&&e.appendChild(r),r}function nh(l,i){let t=function(){};return t.prototype=new l,Qe(t.prototype,i),t}function oh(l,i,t){return new Array((i||2)+1-String(l).replace("-","").length).join(t||"0")+l}function ah(l,i,t){return/%$/.test(l)?i*parseFloat(l)/100+(t||0):parseFloat(l)}function lh(l,...i){let t,e;do{t=l;for(e of i)l=l.replace(e[0],e[1])}while(l!==t);return l}function hh(l,i,t){let e=l[i];l[i]=function(){let s=arguments,r=this;return t.apply(this,[function(){return e.apply(r,arguments.length?arguments:s)}].concat([].slice.call(arguments)))}}function ho(l){return Math.pow(10,Math.floor(Math.log(l)/Math.LN10))}function ch(l,i,t,e,s){let r,n=l;t=Si(t,ho(l));let o=l/t;for(i||(i=s?[1,1.2,1.5,2,2.5,3,4,5,6,8,10]:[1,2,2.5,5,10],e===!1&&(t===1?i=i.filter(function(a){return a%1===0}):t<=.1&&(i=[1/t]))),r=0;r<i.length&&(n=i[r],!(s&&n*t>=l||!s&&o<=(i[r]+(i[r+1]||i[r]))/2));r++);return n=co(n*t,-Math.round(Math.log(.001)/Math.LN10)),n}function dh(l,i){let t=l.length,e,s;for(s=0;s<t;s++)l[s].safeI=s;for(l.sort(function(r,n){return e=i(r,n),e===0?r.safeI-n.safeI:e}),s=0;s<t;s++)delete l[s].safeI}function fh(l){let i=l.length,t=l[0];for(;i--;)l[i]<t&&(t=l[i]);return t}function ph(l){let i=l.length,t=l[0];for(;i--;)l[i]>t&&(t=l[i]);return t}function uh(l,i,t){xe(l,function(e,s){e!==i&&e?.destroy&&e.destroy(),(e?.destroy||!t)&&delete l[s]})}function mh(l){l&&l.parentElement&&l.parentElement.removeChild(l)}function co(l,i){return l>1e14?l:parseFloat(l.toPrecision(i||14))}var gh={millisecond:1,second:1e3,minute:6e4,hour:36e5,day:24*36e5,week:7*24*36e5,month:28*24*36e5,year:364*24*36e5};Math.easeInOutSine=function(l){return-.5*(Math.cos(Math.PI*l)-1)};function xh(l,i){let t=!i,e,s,r,n;return l.forEach(o=>{if(o.length>1)for(s=o.length-1,n=s;n>0;n--)r=o[n]-o[n-1],r<0&&!t?(i?.(),i=void 0):r&&(typeof e>"u"||r<e)&&(e=r)}),e}function yh(l,i){let t=l.split(".");for(;t.length&&Ze(i);){let e=t.shift();if(typeof e>"u"||e==="__proto__")return;if(e==="this"){let r;return Je(i)&&(r=i["@this"]),r??i}let s=i[e];if(!Ze(s)||typeof s=="function"||typeof s.nodeType=="number"||s===Oe)return;i=s}return i}function vi(l,i,t){let e;if(i==="width"){let r=Math.min(l.offsetWidth,l.scrollWidth),n=l.getBoundingClientRect&&l.getBoundingClientRect().width;return n<r&&n>=r-1&&(r=Math.floor(n)),Math.max(0,r-(vi(l,"padding-left",!0)||0)-(vi(l,"padding-right",!0)||0))}if(i==="height")return Math.max(0,Math.min(l.offsetHeight,l.scrollHeight)-(vi(l,"padding-top",!0)||0)-(vi(l,"padding-bottom",!0)||0));let s=Oe.getComputedStyle(l,void 0);return s&&(e=s.getPropertyValue(i),Si(t,i!=="opacity")&&(e=no(e))),e}function bh(l,i,t){return ge(32,!1,void 0,{"Highcharts.inArray":"use Array.indexOf"}),i.indexOf(l,t)}var vh=Array.prototype.find?function(l,i){return l.find(i)}:function(l,i){let t,e=l.length;for(t=0;t<e;t++)if(i(l[t],t))return l[t]};function Sh(l){return ge(32,!1,void 0,{"Highcharts.keys":"use Object.keys"}),Object.keys(l)}function Ch(l){let i=Qi.documentElement,t=l.parentElement||l.parentNode?l.getBoundingClientRect():{top:0,left:0,width:0,height:0};return{top:t.top+(Oe.pageYOffset||i.scrollTop)-(i.clientTop||0),left:t.left+(Oe.pageXOffset||i.scrollLeft)-(i.clientLeft||0),width:t.width,height:t.height}}function xe(l,i,t){for(let e in l)Object.hasOwnProperty.call(l,e)&&i.call(t||l[e],l[e],e,l)}xe({map:"map",each:"forEach",grep:"filter",reduce:"reduce",some:"some"},function(l,i){_[i]=function(t){return ge(32,!1,void 0,{[`Highcharts.${i}`]:`use Array.${l}`}),Array.prototype[l].apply(t,[].slice.call(arguments,1))}});function Th(l,i,t,e={}){let s=typeof l=="function"&&l.prototype||l;Object.hasOwnProperty.call(s,"hcEvents")||(s.hcEvents={});let r=s.hcEvents;_.Point&&l instanceof _.Point&&l.series&&l.series.chart&&(l.series.chart.runTrackerClick=!0);let n=l.addEventListener;n&&n.call(l,i,t,_.supportsPassiveEvents?{passive:e.passive===void 0?i.indexOf("touch")!==-1:e.passive,capture:!1}:!1),r[i]||(r[i]=[]);let o={fn:t,order:typeof e.order=="number"?e.order:1/0};return r[i].push(o),r[i].sort((a,h)=>a.order-h.order),function(){fo(l,i,t)}}function fo(l,i,t){function e(n,o){let a=l.removeEventListener;a&&a.call(l,n,o,!1)}function s(n){let o,a;l.nodeName&&(i?(o={},o[i]=!0):o=n,xe(o,function(h,c){if(n[c])for(a=n[c].length;a--;)e(c,n[c][a].fn)}))}let r=typeof l=="function"&&l.prototype||l;if(Object.hasOwnProperty.call(r,"hcEvents")){let n=r.hcEvents;if(i){let o=n[i]||[];t?(n[i]=o.filter(function(a){return t!==a.fn}),e(i,t)):(s(n),n[i]=[])}else s(n),delete r.hcEvents}}function po(l,i,t,e){if(t=t||{},Qi.createEvent&&(l.dispatchEvent||l.fireEvent&&l!==_)){let s=Qi.createEvent("Events");s.initEvent(i,!0,!0),t=Qe(s,t),l.dispatchEvent?l.dispatchEvent(t):l.fireEvent(i,t)}else if(l.hcEvents){t.target||Qe(t,{preventDefault:function(){t.defaultPrevented=!0},target:l,type:i});let s=[],r=l,n=!1;for(;r.hcEvents;)Object.hasOwnProperty.call(r,"hcEvents")&&r.hcEvents[i]&&(s.length&&(n=!0),s.unshift.apply(s,r.hcEvents[i])),r=Object.getPrototypeOf(r);n&&s.sort((o,a)=>o.order-a.order),s.forEach(o=>{o.fn.call(l,t)===!1&&t.preventDefault()})}e&&!t.defaultPrevented&&e.call(l,t)}var Zs,Mh=function(){let l=Math.random().toString(36).substring(2,9)+"-",i=0;return function(){return"highcharts-"+(Zs?"":l)+i++}}();function wh(l){return Zs=Si(l,Zs)}function Dh(l){return typeof l=="function"}Oe.jQuery&&(Oe.jQuery.fn.highcharts=function(){let l=[].slice.call(arguments);if(this[0])return l[0]?(new _[Ji(l[0])?l.shift():"Chart"](this[0],l[0],l[1]),this):$l[ao(this[0],"data-highcharts-chart")]});var kh={addEvent:Th,arrayMax:ph,arrayMin:fh,attr:ao,clamp:Kl,clearTimeout:sh,correctFloat:co,createElement:rh,crisp:Zl,css:Ks,defined:Ze,destroyObjectProperties:uh,diffObjects:Ql,discardElement:mh,erase:Jl,error:ge,extend:Qe,extendClass:nh,find:vh,fireEvent:po,getClosestDistance:xh,getMagnitude:ho,getNestedProperty:yh,getStyle:vi,inArray:bh,insertItem:th,isArray:ts,isClass:oo,isDOMElement:Qs,isFunction:Dh,isNumber:Js,isObject:Je,isString:Ji,keys:Sh,merge:ql,normalizeTickInterval:ch,objectEach:xe,offset:Ch,pad:oh,pick:Si,pInt:no,pushUnique:eh,relativeLength:ah,removeEvent:fo,replaceNested:lh,splat:lo,stableSort:dh,syncTimeout:ih,timeUnits:gh,uniqueKey:Mh,useSerialIds:wh,wrap:hh},E=kh;var Ph={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"},uo=Ph;var Oh={colors:["#2caffe","#544fc5","#00e272","#fe6a35","#6b8abc","#d568fb","#2ee0ca","#fa4b42","#feb56a","#91e8e1"]},mo=Oh;var{win:ti}=_,{defined:tr,error:Ah,extend:go,isNumber:Eh,isObject:Lh,merge:Ih,objectEach:_h,pad:ye,pick:Ae,splat:Bh,timeUnits:ut}=E,Rh=_.isSafari&&ti.Intl&&ti.Intl.DateTimeFormat.prototype.formatRange,Wh=_.isSafari&&ti.Intl&&!ti.Intl.DateTimeFormat.prototype.formatRange,Nh=(()=>{class l{constructor(t){this.options={},this.useUTC=!1,this.variableTimezone=!1,this.Date=ti.Date,this.getTimezoneOffset=this.timezoneOffsetFunction(),this.update(t)}get(t,e){if(this.variableTimezone||this.timezoneOffset){let s=e.getTime(),r=s-this.getTimezoneOffset(e);e.setTime(r);let n=e["getUTC"+t]();return e.setTime(s),n}return this.useUTC?e["getUTC"+t]():e["get"+t]()}set(t,e,s){if(this.variableTimezone||this.timezoneOffset){if(t==="Milliseconds"||t==="Seconds"||t==="Minutes"&&this.getTimezoneOffset(e)%36e5===0)return e["setUTC"+t](s);let r=this.getTimezoneOffset(e),n=e.getTime()-r;e.setTime(n),e["setUTC"+t](s);let o=this.getTimezoneOffset(e);return n=e.getTime()+o,e.setTime(n)}return this.useUTC||Rh&&t==="FullYear"?e["setUTC"+t](s):e["set"+t](s)}update(t={}){let e=Ae(t.useUTC,!0);this.options=t=Ih(!0,this.options,t),this.Date=t.Date||ti.Date||Date,this.useUTC=e,this.timezoneOffset=e&&t.timezoneOffset||void 0,this.getTimezoneOffset=this.timezoneOffsetFunction(),this.variableTimezone=e&&!!(t.getTimezoneOffset||t.timezone)}makeTime(t,e,s,r,n,o){let a,h,c;return this.useUTC?(a=this.Date.UTC.apply(0,arguments),h=this.getTimezoneOffset(a),a+=h,c=this.getTimezoneOffset(a),h!==c?a+=c-h:h-36e5===this.getTimezoneOffset(a-36e5)&&!Wh&&(a-=36e5)):a=new this.Date(t,e,Ae(s,1),Ae(r,0),Ae(n,0),Ae(o,0)).getTime(),a}timezoneOffsetFunction(){let t=this,e=this.options,s=e.getTimezoneOffset;return this.useUTC?e.timezone?r=>{try{let n=`shortOffset,${e.timezone||""}`,o=l.formatCache[n]=l.formatCache[n]||Intl.DateTimeFormat("en",{timeZone:e.timezone,timeZoneName:"shortOffset"}),[a,h,c,f,d=0]=o.format(r).split(/(GMT|:)/).map(Number),p=-(c+d/60)*60*6e4;if(Eh(p))return p}catch{Ah(34)}return 0}:this.useUTC&&s?r=>s(r.valueOf())*6e4:()=>(t.timezoneOffset||0)*6e4:r=>new Date(r.toString()).getTimezoneOffset()*6e4}dateFormat(t,e,s){if(!tr(e)||isNaN(e))return _.defaultOptions.lang&&_.defaultOptions.lang.invalidDate||"";t=Ae(t,"%Y-%m-%d %H:%M:%S");let r=this,n=new this.Date(e),o=this.get("Hours",n),a=this.get("Day",n),h=this.get("Date",n),c=this.get("Month",n),f=this.get("FullYear",n),d=_.defaultOptions.lang,p=d&&d.weekdays,u=d&&d.shortWeekdays,m=go({a:u?u[a]:p[a].substr(0,3),A:p[a],d:ye(h),e:ye(h,2," "),w:a,b:d.shortMonths[c],B:d.months[c],m:ye(c+1),o:c+1,y:f.toString().substr(2,2),Y:f,H:ye(o),k:o,I:ye(o%12||12),l:o%12||12,M:ye(this.get("Minutes",n)),p:o<12?"AM":"PM",P:o<12?"am":"pm",S:ye(this.get("Seconds",n)),L:ye(Math.floor(e%1e3),3)},_.dateFormats);return _h(m,function(g,x){for(;t.indexOf("%"+x)!==-1;)t=t.replace("%"+x,typeof g=="function"?g.call(r,e):g)}),s?t.substr(0,1).toUpperCase()+t.substr(1):t}resolveDTLFormat(t){return Lh(t,!0)?t:(t=Bh(t),{main:t[0],from:t[1],to:t[2]})}getTimeTicks(t,e,s,r){let n=this,o=n.Date,a=[],h={},c=new o(e),f=t.unitRange,d=t.count||1,p,u,m,g;if(r=Ae(r,1),tr(e)){n.set("Milliseconds",c,f>=ut.second?0:d*Math.floor(n.get("Milliseconds",c)/d)),f>=ut.second&&n.set("Seconds",c,f>=ut.minute?0:d*Math.floor(n.get("Seconds",c)/d)),f>=ut.minute&&n.set("Minutes",c,f>=ut.hour?0:d*Math.floor(n.get("Minutes",c)/d)),f>=ut.hour&&n.set("Hours",c,f>=ut.day?0:d*Math.floor(n.get("Hours",c)/d)),f>=ut.day&&n.set("Date",c,f>=ut.month?1:Math.max(1,d*Math.floor(n.get("Date",c)/d))),f>=ut.month&&(n.set("Month",c,f>=ut.year?0:d*Math.floor(n.get("Month",c)/d)),u=n.get("FullYear",c)),f>=ut.year&&(u-=u%d,n.set("FullYear",c,u)),f===ut.week&&(g=n.get("Day",c),n.set("Date",c,n.get("Date",c)-g+r+(g<r?-7:0))),u=n.get("FullYear",c);let x=n.get("Month",c),y=n.get("Date",c),b=n.get("Hours",c);e=c.getTime(),(n.variableTimezone||!n.useUTC)&&tr(s)&&(m=s-e>4*ut.month||n.getTimezoneOffset(e)!==n.getTimezoneOffset(s));let v=c.getTime();for(p=1;v<s;)a.push(v),f===ut.year?v=n.makeTime(u+p*d,0):f===ut.month?v=n.makeTime(u,x+p*d):m&&(f===ut.day||f===ut.week)?v=n.makeTime(u,x,y+p*d*(f===ut.day?1:7)):m&&f===ut.hour&&d>1?v=n.makeTime(u,x,y,b+p*d):v+=f*d,p++;a.push(v),f<=ut.hour&&a.length<1e4&&a.forEach(function(C){C%18e5===0&&n.dateFormat("%H%M%S%L",C)==="000000000"&&(h[C]="day")})}return a.info=go(t,{higherRanks:h,totalRange:f*d}),a}getDateFormat(t,e,s,r){let n=this.dateFormat("%m-%d %H:%M:%S.%L",e),o="01-01 00:00:00.000",a={millisecond:15,second:12,minute:9,hour:6,day:3},h="millisecond",c=h;for(h in ut){if(t===ut.week&&+this.dateFormat("%w",e)===s&&n.substr(6)===o.substr(6)){h="week";break}if(ut[h]>t){h=c;break}if(a[h]&&n.substr(a[h])!==o.substr(a[h]))break;h!=="week"&&(c=h)}return this.resolveDTLFormat(r[h]).main}}return l.formatCache={},l})(),Ee=Nh;var{isTouchDevice:Fh}=_,{fireEvent:zh,merge:xo}=E,ne={colors:mo.colors,symbols:["circle","diamond","square","triangle","triangle-down"],lang:{loading:"Loading...",months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],weekdays:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],decimalPoint:".",numericSymbols:["k","M","G","T","P","E"],resetZoom:"Reset zoom",resetZoomTitle:"Reset zoom level 1:1",thousandsSep:" "},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,getTimezoneOffset:void 0,timezone:void 0,timezoneOffset:0,useUTC:!0},chart:uo,title:{style:{color:"#333333",fontWeight:"bold"},text:"Chart title",align:"center",margin:15,widthAdjust:-44},subtitle:{style:{color:"#666666",fontSize:"0.8em"},text:"",align:"center",widthAdjust:-44},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",layout:"horizontal",itemMarginBottom:2,itemMarginTop:2,labelFormatter:function(){return this.name},borderColor:"#999999",borderRadius:0,navigation:{style:{fontSize:"0.8em"},activeColor:"#0022ff",inactiveColor:"#cccccc"},itemStyle:{color:"#333333",cursor:"pointer",fontSize:"0.8em",textDecoration:"none",textOverflow:"ellipsis"},itemHoverStyle:{color:"#000000"},itemHiddenStyle:{color:"#666666",textDecoration:"line-through"},shadow:!1,itemCheckboxStyle:{position:"absolute",width:"13px",height:"13px"},squareSymbol:!0,symbolPadding:5,verticalAlign:"bottom",x:0,y:0,title:{style:{fontSize:"0.8em",fontWeight:"bold"}}},loading:{labelStyle:{fontWeight:"bold",position:"relative",top:"45%"},style:{position:"absolute",backgroundColor:"#ffffff",opacity:.5,textAlign:"center"}},tooltip:{enabled:!0,animation:{duration:300,easing:l=>Math.sqrt(1-Math.pow(l-1,2))},borderRadius:3,dateTimeLabelFormats:{millisecond:"%A, %e %b, %H:%M:%S.%L",second:"%A, %e %b, %H:%M:%S",minute:"%A, %e %b, %H:%M",hour:"%A, %e %b, %H:%M",day:"%A, %e %b %Y",week:"Week from %A, %e %b %Y",month:"%B %Y",year:"%Y"},footerFormat:"",headerShape:"callout",hideDelay:500,padding:8,shape:"callout",shared:!1,snap:Fh?25:10,headerFormat:'<span style="font-size: 0.8em">{point.key}</span><br/>',pointFormat:'<span style="color:{point.color}">\u25CF</span> {series.name}: <b>{point.y}</b><br/>',backgroundColor:"#ffffff",borderWidth:void 0,shadow:!0,stickOnContact:!1,style:{color:"#333333",cursor:"default",fontSize:"0.8em"},useHTML:!1},credits:{enabled:!0,href:"https://www.highcharts.com?credits",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},style:{cursor:"pointer",color:"#999999",fontSize:"0.6em"},text:"Highcharts.com"}};ne.chart.styledMode=!0;ne.chart.styledMode=!1;var yo=new Ee(ne.time);function Hh(){return ne}function Xh(l){return zh(_,"setOptions",{options:l}),xo(!0,ne,l),(l.time||l.global)&&(_.time?_.time.update(xo(ne.global,ne.time,l.global,l.time)):_.time=yo),ne}var Yh={defaultOptions:ne,defaultTime:yo,getOptions:Hh,setOptions:Xh},vt=Yh;var{isNumber:es,merge:Gh,pInt:Le}=E,Ie=class l{static parse(i){return i?new l(i):l.None}constructor(i){this.rgba=[NaN,NaN,NaN,NaN],this.input=i;let t=_.Color;if(t&&t!==l)return new t(i);let e,s,r,n;if(typeof i=="object"&&typeof i.stops<"u")this.stops=i.stops.map(o=>new l(o[1]));else if(typeof i=="string"){if(this.input=i=l.names[i.toLowerCase()]||i,i.charAt(0)==="#"){let o=i.length,a=parseInt(i.substr(1),16);o===7?s=[(a&16711680)>>16,(a&65280)>>8,a&255,1]:o===4&&(s=[(a&3840)>>4|(a&3840)>>8,(a&240)>>4|a&240,(a&15)<<4|a&15,1])}if(!s)for(r=l.parsers.length;r--&&!s;)n=l.parsers[r],e=n.regex.exec(i),e&&(s=n.parse(e))}s&&(this.rgba=s)}get(i){let t=this.input,e=this.rgba;if(typeof t=="object"&&typeof this.stops<"u"){let s=Gh(t);return s.stops=[].slice.call(s.stops),this.stops.forEach((r,n)=>{s.stops[n]=[s.stops[n][0],r.get(i)]}),s}return e&&es(e[0])?i==="rgb"||!i&&e[3]===1?"rgb("+e[0]+","+e[1]+","+e[2]+")":i==="a"?`${e[3]}`:"rgba("+e.join(",")+")":t}brighten(i){let t=this.rgba;if(this.stops)this.stops.forEach(function(e){e.brighten(i)});else if(es(i)&&i!==0)for(let e=0;e<3;e++)t[e]+=Le(i*255),t[e]<0&&(t[e]=0),t[e]>255&&(t[e]=255);return this}setOpacity(i){return this.rgba[3]=i,this}tweenTo(i,t){let e=this.rgba,s=i.rgba;if(!es(e[0])||!es(s[0]))return i.input||"none";let r=s[3]!==1||e[3]!==1;return(r?"rgba(":"rgb(")+Math.round(s[0]+(e[0]-s[0])*(1-t))+","+Math.round(s[1]+(e[1]-s[1])*(1-t))+","+Math.round(s[2]+(e[2]-s[2])*(1-t))+(r?","+(s[3]+(e[3]-s[3])*(1-t)):"")+")"}};Ie.names={white:"#ffffff",black:"#000000"};Ie.parsers=[{regex:/rgba\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]?(?:\.[0-9]+)?)\s*\)/,parse:function(l){return[Le(l[1]),Le(l[2]),Le(l[3]),parseFloat(l[4],10)]}},{regex:/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/,parse:function(l){return[Le(l[1]),Le(l[2]),Le(l[3]),1]}}];Ie.None=new Ie("");var _t=Ie;var{parse:bo}=_t,{win:Vh}=_,{isNumber:er,objectEach:jh}=E,Uh=(()=>{class l{constructor(t,e,s){this.pos=NaN,this.options=e,this.elem=t,this.prop=s}dSetter(){let t=this.paths,e=t&&t[0],s=t&&t[1],r=this.now||0,n=[];if(r===1||!e||!s)n=this.toD||[];else if(e.length===s.length&&r<1)for(let o=0;o<s.length;o++){let a=e[o],h=s[o],c=[];for(let f=0;f<h.length;f++){let d=a[f],p=h[f];er(d)&&er(p)&&!(h[0]==="A"&&(f===4||f===5))?c[f]=d+r*(p-d):c[f]=p}n.push(c)}else n=s;this.elem.attr("d",n,void 0,!0)}update(){let t=this.elem,e=this.prop,s=this.now,r=this.options.step;this[e+"Setter"]?this[e+"Setter"]():t.attr?t.element&&t.attr(e,s,null,!0):t.style[e]=s+this.unit,r&&r.call(t,s,this)}run(t,e,s){let r=this,n=r.options,o=function(c){return o.stopped?!1:r.step(c)},a=Vh.requestAnimationFrame||function(c){setTimeout(c,13)},h=function(){for(let c=0;c<l.timers.length;c++)l.timers[c]()||l.timers.splice(c--,1);l.timers.length&&a(h)};t===e&&!this.elem["forceAnimate:"+this.prop]?(delete n.curAnim[this.prop],n.complete&&Object.keys(n.curAnim).length===0&&n.complete.call(this.elem)):(this.startTime=+new Date,this.start=t,this.end=e,this.unit=s,this.now=this.start,this.pos=0,o.elem=this.elem,o.prop=this.prop,o()&&l.timers.push(o)===1&&a(h))}step(t){let e=+new Date,s=this.options,r=this.elem,n=s.complete,o=s.duration,a=s.curAnim,h,c;return r.attr&&!r.element?h=!1:t||e>=o+this.startTime?(this.now=this.end,this.pos=1,this.update(),a[this.prop]=!0,c=!0,jh(a,function(f){f!==!0&&(c=!1)}),c&&n&&n.call(r),h=!1):(this.pos=s.easing((e-this.startTime)/o),this.now=this.start+(this.end-this.start)*this.pos,this.update(),h=!0),h}initPath(t,e,s){let r=t.startX,n=t.endX,o=s.slice(),a=t.isArea,h=a?2:1,c,f,d,p,u=e&&e.slice();if(!u)return[o,o];function m(x,y){for(;x.length<f;){let b=x[0],v=y[f-x.length];if(v&&b[0]==="M"&&(v[0]==="C"?x[0]=["C",b[1],b[2],b[1],b[2],b[1],b[2]]:x[0]=["L",b[1],b[2]]),x.unshift(b),a){let C=x.pop();x.push(x[x.length-1],C)}}}function g(x){for(;x.length<f;){let y=x[Math.floor(x.length/h)-1].slice();if(y[0]==="C"&&(y[1]=y[5],y[2]=y[6]),!a)x.push(y);else{let b=x[Math.floor(x.length/h)].slice();x.splice(x.length/2,0,y,b)}}}if(r&&n&&n.length){for(d=0;d<r.length;d++)if(r[d]===n[0]){c=d;break}else if(r[0]===n[n.length-r.length+d]){c=d,p=!0;break}else if(r[r.length-1]===n[n.length-r.length+d]){c=r.length-d;break}typeof c>"u"&&(u=[])}return u.length&&er(c)&&(f=o.length+c*h,p?(m(u,o),g(o)):(m(o,u),g(u))),[u,o]}fillSetter(){l.prototype.strokeSetter.apply(this,arguments)}strokeSetter(){this.elem.attr(this.prop,bo(this.start).tweenTo(bo(this.end),this.pos),void 0,!0)}}return l.timers=[],l})(),oe=Uh;var{defined:$h,getStyle:qh,isArray:Kh,isNumber:Zh,isObject:sr,merge:vo,objectEach:Qh,pick:Jh}=E;function tc(l,i){i.renderer.globalAnimation=Jh(l,i.options.chart.animation,!0)}function ir(l){return sr(l)?vo({duration:500,defer:0},l):{duration:l?500:0,defer:0}}function ec(l,i,t){let e=ir(i),s=t?[t]:l.series,r=0,n=0;return s.forEach(a=>{let h=ir(a.options.animation);r=sr(i)&&$h(i.defer)?e.defer:Math.max(r,h.duration+h.defer),n=Math.min(e.duration,h.duration)}),l.renderer.forExport&&(r=0),{defer:Math.max(0,r-n),duration:Math.min(r,n)}}function ic(l,i,t){let e,s="",r,n,o;sr(t)||(o=arguments,t={duration:o[2],easing:o[3],complete:o[4]}),Zh(t.duration)||(t.duration=400),t.easing=typeof t.easing=="function"?t.easing:Math[t.easing]||Math.easeInOutSine,t.curAnim=vo(i),Qh(i,function(a,h){So(l,h),n=new oe(l,t,h),r=void 0,h==="d"&&Kh(i.d)?(n.paths=n.initPath(l,l.pathArray,i.d),n.toD=i.d,e=0,r=1):l.attr?e=l.attr(h):(e=parseFloat(qh(l,h))||0,h!=="opacity"&&(s="px")),r||(r=a),typeof r=="string"&&r.match("px")&&(r=r.replace(/px/g,"")),n.run(e,r,s)})}function So(l,i){let t=oe.timers.length;for(;t--;)oe.timers[t].elem===l&&(!i||i===oe.timers[t].prop)&&(oe.timers[t].stopped=!0)}var sc={animate:ic,animObject:ir,getDeferredAnimation:ec,setAnimation:tc,stop:So},nt=sc;var{SVG_NS:Co,win:rc}=_,{attr:nc,createElement:oc,css:ac,error:To,isFunction:lc,isString:Mo,objectEach:wo,splat:hc}=E,{trustedTypes:rr}=rc,is=rr&&lc(rr.createPolicy)&&rr.createPolicy("highcharts",{createHTML:l=>l}),Do=is?is.createHTML(""):"",cc=function(){try{return!!new DOMParser().parseFromString(Do,"text/html")}catch{return!1}}(),dc=(()=>{class l{static filterUserAttributes(t){return wo(t,(e,s)=>{let r=!0;l.allowedAttributes.indexOf(s)===-1&&(r=!1),["background","dynsrc","href","lowsrc","src"].indexOf(s)!==-1&&(r=Mo(e)&&l.allowedReferences.some(n=>e.indexOf(n)===0)),r||(To(33,!1,void 0,{"Invalid attribute in config":`${s}`}),delete t[s]),Mo(e)&&t[s]&&(t[s]=e.replace(/</g,"<"))}),t}static parseStyle(t){return t.split(";").reduce((e,s)=>{let r=s.split(":").map(o=>o.trim()),n=r.shift();return n&&r.length&&(e[n.replace(/-([a-z])/g,o=>o[1].toUpperCase())]=r.join(":")),e},{})}static setElementHTML(t,e){t.innerHTML=l.emptyHTML,e&&new l(e).addToDOM(t)}constructor(t){this.nodes=typeof t=="string"?this.parseMarkup(t):t}addToDOM(t){function e(s,r){let n;return hc(s).forEach(function(o){let a=o.tagName,h=o.textContent?_.doc.createTextNode(o.textContent):void 0,c=l.bypassHTMLFiltering,f;if(a)if(a==="#text")f=h;else if(l.allowedTags.indexOf(a)!==-1||c){let d=a==="svg"?Co:r.namespaceURI||Co,p=_.doc.createElementNS(d,a),u=o.attributes||{};wo(o,function(m,g){g!=="tagName"&&g!=="attributes"&&g!=="children"&&g!=="style"&&g!=="textContent"&&(u[g]=m)}),nc(p,c?u:l.filterUserAttributes(u)),o.style&&ac(p,o.style),h&&p.appendChild(h),e(o.children||[],p),f=p}else To(33,!1,void 0,{"Invalid tagName in config":a});f&&r.appendChild(f),n=f}),n}return e(this.nodes,t)}parseMarkup(t){let e=[];t=t.trim().replace(/ style=(["'])/g," data-style=$1");let s;if(cc)s=new DOMParser().parseFromString(is?is.createHTML(t):t,"text/html");else{let n=oc("div");n.innerHTML=t,s={body:n}}let r=(n,o)=>{let a=n.nodeName.toLowerCase(),h={tagName:a};a==="#text"&&(h.textContent=n.textContent||"");let c=n.attributes;if(c){let f={};[].forEach.call(c,d=>{d.name==="data-style"?h.style=l.parseStyle(d.value):f[d.name]=d.value}),h.attributes=f}if(n.childNodes.length){let f=[];[].forEach.call(n.childNodes,d=>{r(d,f)}),f.length&&(h.children=f)}o.push(h)};return[].forEach.call(s.body.childNodes,n=>r(n,e)),e}}return l.allowedAttributes=["alt","aria-controls","aria-describedby","aria-expanded","aria-haspopup","aria-hidden","aria-label","aria-labelledby","aria-live","aria-pressed","aria-readonly","aria-roledescription","aria-selected","class","clip-path","color","colspan","cx","cy","d","dx","dy","disabled","fill","filterUnits","flood-color","flood-opacity","height","href","id","in","markerHeight","markerWidth","offset","opacity","orient","padding","paddingLeft","paddingRight","patternUnits","r","refX","refY","role","scope","slope","src","startOffset","stdDeviation","stroke","stroke-linecap","stroke-width","style","tableValues","result","rowspan","summary","target","tabindex","text-align","text-anchor","textAnchor","textLength","title","type","valign","width","x","x1","x2","xlink:href","y","y1","y2","zIndex"],l.allowedReferences=["https://","http://","mailto:","/","../","./","#"],l.allowedTags=["a","abbr","b","br","button","caption","circle","clipPath","code","dd","defs","div","dl","dt","em","feComponentTransfer","feDropShadow","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feOffset","feMerge","feMergeNode","filter","h1","h2","h3","h4","h5","h6","hr","i","img","li","linearGradient","marker","ol","p","path","pattern","pre","rect","small","span","stop","strong","style","sub","sup","svg","table","text","textPath","thead","title","tbody","tspan","td","th","tr","u","ul","#text"],l.emptyHTML=Do,l.bypassHTMLFiltering=!1,l})(),kt=dc;var{defaultOptions:ko,defaultTime:Po}=vt,{extend:fc,getNestedProperty:pc,isArray:uc,isNumber:mc,isObject:gc,pick:nr,pInt:xc}=E,ss={add:(l,i)=>l+i,divide:(l,i)=>i!==0?l/i:"",eq:(l,i)=>l==i,each:function(l){let i=arguments[arguments.length-1];return uc(l)?l.map((t,e)=>rs(i.body,fc(gc(t)?t:{"@this":t},{"@index":e,"@first":e===0,"@last":e===l.length-1}))).join(""):!1},ge:(l,i)=>l>=i,gt:(l,i)=>l>i,if:l=>!!l,le:(l,i)=>l<=i,lt:(l,i)=>l<i,multiply:(l,i)=>l*i,ne:(l,i)=>l!=i,subtract:(l,i)=>l-i,unless:l=>!l};function yc(l,i,t){return Po.dateFormat(l,i,t)}function rs(l="",i,t){let e=/\{([a-zA-Z0-9\:\.\,;\-\/<>%_@"'= #\(\)]+)\}/g,s=/\(([a-zA-Z0-9\:\.\,;\-\/<>%_@"'= ]+)\)/g,r=[],n=/f$/,o=/\.([0-9])/,a=ko.lang,h=t&&t.time||Po,c=t&&t.numberFormatter||Oo,f=(g="")=>{let x;return g==="true"?!0:g==="false"?!1:(x=Number(g)).toString()===g?x:pc(g,i)},d,p,u=0,m;for(;(d=e.exec(l))!==null;){let g=s.exec(d[1]);g&&(d=g,m=!0),(!p||!p.isBlock)&&(p={ctx:i,expression:d[1],find:d[0],isBlock:d[1].charAt(0)==="#",start:d.index,startInner:d.index+d[0].length,length:d[0].length});let x=d[1].split(" ")[0].replace("#","");ss[x]&&(p.isBlock&&x===p.fn&&u++,p.fn||(p.fn=x));let y=d[1]==="else";if(p.isBlock&&p.fn&&(d[1]===`/${p.fn}`||y))if(u)y||u--;else{let b=p.startInner,v=l.substr(b,d.index-b);p.body===void 0?(p.body=v,p.startInner=d.index+d[0].length):p.elseBody=v,p.find+=v+d[0],y||(r.push(p),p=void 0)}else p.isBlock||r.push(p);if(g&&!p?.isBlock)break}return r.forEach(g=>{let{body:x,elseBody:y,expression:b,fn:v}=g,C,S;if(v){let T=[g],M=b.split(" ");for(S=ss[v].length;S--;)T.unshift(f(M[S+1]));C=ss[v].apply(i,T),g.isBlock&&typeof C=="boolean"&&(C=rs(C?x:y,i,t))}else{let T=b.split(":");if(C=f(T.shift()||""),T.length&&typeof C=="number"){let M=T.join(":");if(n.test(M)){let w=parseInt((M.match(o)||["","-1"])[1],10);C!==null&&(C=c(C,w,a.decimalPoint,M.indexOf(",")>-1?a.thousandsSep:""))}else C=h.dateFormat(M,C)}}l=l.replace(g.find,nr(C,""))}),m?rs(l,i,t):l}function Oo(l,i,t,e){l=+l||0,i=+i;let s,r,n=ko.lang,o=(l.toString().split(".")[1]||"").split("e")[0].length,a=l.toString().split("e"),h=i;i===-1?i=Math.min(o,20):mc(i)?i&&a[1]&&a[1]<0&&(r=i+ +a[1],r>=0?(a[0]=(+a[0]).toExponential(r).split("e")[0],i=r):(a[0]=a[0].split(".")[0]||0,i<20?l=(a[0]*Math.pow(10,a[1])).toFixed(i):l=0,a[1]=0)):i=2;let c=(Math.abs(a[1]?a[0]:l)+Math.pow(10,-Math.max(i,o)-1)).toFixed(i),f=String(xc(c)),d=f.length>3?f.length%3:0;return t=nr(t,n.decimalPoint),e=nr(e,n.thousandsSep),s=l<0?"-":"",s+=d?f.substr(0,d)+e:"",+a[1]<0&&!h?s="0":s+=f.substr(d).replace(/(\d{3})(?=\d)/g,"$1"+e),i?s+=t+c.slice(-i):+s==0&&(s="0"),a[1]&&+s!=0&&(s+="e"+a[1]),s}var bc={dateFormat:yc,format:rs,helpers:ss,numberFormat:Oo},St=bc;var or;(function(l){l.rendererTypes={};let i;function t(s=i){return l.rendererTypes[s]||l.rendererTypes[i]}l.getRendererType=t;function e(s,r,n){l.rendererTypes[s]=r,(!i||n)&&(i=s,_.Renderer=r)}l.registerRendererType=e})(or||(or={}));var ee=or;var{clamp:vc,pick:Sc,pushUnique:Cc,stableSort:ar}=E,lr;(function(l){function i(t,e,s){let r=t,n=r.reducedLen||e,o=(C,S)=>(S.rank||0)-(C.rank||0),a=(C,S)=>C.target-S.target,h=[],c=t.length,f=[],d=h.push,p,u,m,g=!0,x,y,b=0,v;for(p=c;p--;)b+=t[p].size;if(b>n){for(ar(t,o),v=t[0].rank===t[t.length-1].rank,m=v?c/2:-1,u=v?m:c-1;m&&b>n;)p=Math.floor(u),x=t[p],Cc(f,p)&&(b-=x.size),u+=m,v&&u>=t.length&&(m/=2,u=m);f.sort((C,S)=>S-C).forEach(C=>d.apply(h,t.splice(C,1)))}for(ar(t,a),t=t.map(C=>({size:C.size,targets:[C.target],align:Sc(C.align,.5)}));g;){for(p=t.length;p--;)x=t[p],y=(Math.min.apply(0,x.targets)+Math.max.apply(0,x.targets))/2,x.pos=vc(y-x.size*x.align,0,e-x.size);for(p=t.length,g=!1;p--;)p>0&&t[p-1].pos+t[p-1].size>t[p].pos&&(t[p-1].size+=t[p].size,t[p-1].targets=t[p-1].targets.concat(t[p].targets),t[p-1].align=.5,t[p-1].pos+t[p-1].size>e&&(t[p-1].pos=e-t[p-1].size),t.splice(p,1),g=!0)}return d.apply(r,h),p=0,t.some(C=>{let S=0;return(C.targets||[]).some(()=>(r[p].pos=C.pos+S,typeof s<"u"&&Math.abs(r[p].pos-r[p].target)>s?(r.slice(0,p+1).forEach(T=>delete T.pos),r.reducedLen=(r.reducedLen||e)-e*.1,r.reducedLen>e*.1&&i(r,e,s),!0):(S+=r[p].size,p++,!1)))}),ar(r,a),r}l.distribute=i})(lr||(lr={}));var be=lr;var{animate:Tc,animObject:Mc,stop:Ao}=nt,{deg2rad:Eo,doc:ei,svg:wc,SVG_NS:ns,win:Dc}=_,{addEvent:Lo,attr:hr,createElement:kc,crisp:os,css:Io,defined:Yt,erase:Pc,extend:ii,fireEvent:_o,isArray:Bo,isFunction:Ro,isObject:Oc,isString:Wo,merge:as,objectEach:si,pick:qt,pInt:ls,pushUnique:Ac,replaceNested:Ec,syncTimeout:Lc,uniqueKey:cr}=E,Nt=(()=>{class l{_defaultGetter(t){let e=qt(this[t+"Value"],this[t],this.element?this.element.getAttribute(t):null,0);return/^[\-0-9\.]+$/.test(e)&&(e=parseFloat(e)),e}_defaultSetter(t,e,s){s.setAttribute(e,t)}add(t){let e=this.renderer,s=this.element,r;return t&&(this.parentGroup=t),typeof this.textStr<"u"&&this.element.nodeName==="text"&&e.buildText(this),this.added=!0,(!t||t.handleZ||this.zIndex)&&(r=this.zIndexSetter()),r||(t?t.element:e.box).appendChild(s),this.onAdd&&this.onAdd(),this}addClass(t,e){let s=e?"":this.attr("class")||"";return t=(t||"").split(/ /g).reduce(function(r,n){return s.indexOf(n)===-1&&r.push(n),r},s?[s]:[]).join(" "),t!==s&&this.attr("class",t),this}afterSetters(){this.doTransform&&(this.updateTransform(),this.doTransform=!1)}align(t,e,s,r=!0){let n={},o=this.renderer,a=o.alignedObjects,h=!!t,c,f,d,p;t?(this.alignOptions=t,this.alignByTranslate=e,this.alignTo=s):(t=this.alignOptions||{},e=this.alignByTranslate,s=this.alignTo);let u=!s||Wo(s)?s||"renderer":void 0;u&&(h&&Ac(a,this),s=void 0);let m=qt(s,o[u],o),g=t.align,x=t.verticalAlign;return c=(m.x||0)+(t.x||0),f=(m.y||0)+(t.y||0),g==="right"?d=1:g==="center"&&(d=2),d&&(c+=((m.width||0)-(t.width||0))/d),n[e?"translateX":"x"]=Math.round(c),x==="bottom"?p=1:x==="middle"&&(p=2),p&&(f+=((m.height||0)-(t.height||0))/p),n[e?"translateY":"y"]=Math.round(f),r&&(this[this.placed?"animate":"attr"](n),this.placed=!0),this.alignAttr=n,this}alignSetter(t){let e={left:"start",center:"middle",right:"end"};e[t]&&(this.alignValue=t,this.element.setAttribute("text-anchor",e[t]))}animate(t,e,s){let r=Mc(qt(e,this.renderer.globalAnimation,!0)),n=r.defer;return ei.hidden&&(r.duration=0),r.duration!==0?(s&&(r.complete=s),Lc(()=>{this.element&&Tc(this,t,r)},n)):(this.attr(t,void 0,s||r.complete),si(t,function(o,a){r.step&&r.step.call(this,o,{prop:a,pos:1,elem:this})},this)),this}applyTextOutline(t){let e=this.element,s=t.indexOf("contrast")!==-1,r={};s&&(r.textOutline=t=t.replace(/contrast/g,this.renderer.getContrast(e.style.fill)));let n=t.split(" "),o=n[n.length-1],a=n[0];if(a&&a!=="none"&&_.svg){this.fakeTS=!0,a=a.replace(/(^[\d\.]+)(.*?)$/g,function(p,u,m){return 2*Number(u)+m}),this.removeTextOutline();let h=ei.createElementNS(ns,"tspan");hr(h,{class:"highcharts-text-outline",fill:o,stroke:o,"stroke-width":a,"stroke-linejoin":"round"});let c=e.querySelector("textPath")||e;[].forEach.call(c.childNodes,p=>{let u=p.cloneNode(!0);u.removeAttribute&&["fill","stroke","stroke-width","stroke"].forEach(m=>u.removeAttribute(m)),h.appendChild(u)});let f=0;[].forEach.call(c.querySelectorAll("text tspan"),p=>{f+=Number(p.getAttribute("dy"))});let d=ei.createElementNS(ns,"tspan");d.textContent="\u200B",hr(d,{x:Number(e.getAttribute("x")),dy:-f}),h.appendChild(d),c.insertBefore(h,c.firstChild)}}attr(t,e,s,r){let{element:n}=this,o=l.symbolCustomAttribs,a,h,c=this,f,d;return typeof t=="string"&&typeof e<"u"&&(a=t,t={},t[a]=e),typeof t=="string"?c=(this[t+"Getter"]||this._defaultGetter).call(this,t,n):(si(t,function(u,m){f=!1,r||Ao(this,m),this.symbolName&&o.indexOf(m)!==-1&&(h||(this.symbolAttr(t),h=!0),f=!0),this.rotation&&(m==="x"||m==="y")&&(this.doTransform=!0),f||(d=this[m+"Setter"]||this._defaultSetter,d.call(this,u,m,n))},this),this.afterSetters()),s&&s.call(this),c}clip(t){if(t&&!t.clipPath){let e=cr()+"-",s=this.renderer.createElement("clipPath").attr({id:e}).add(this.renderer.defs);ii(t,{clipPath:s,id:e,count:0}),t.add(s)}return this.attr("clip-path",t?`url(${this.renderer.url}#${t.id})`:"none")}crisp(t,e){e=Math.round(e||t.strokeWidth||0);let s=t.x||this.x||0,r=t.y||this.y||0,n=(t.width||this.width||0)+s,o=(t.height||this.height||0)+r,a=os(s,e),h=os(r,e),c=os(n,e),f=os(o,e);return ii(t,{x:a,y:h,width:c-a,height:f-h}),Yt(t.strokeWidth)&&(t.strokeWidth=e),t}complexColor(t,e,s){let r=this.renderer,n,o,a,h,c,f,d,p,u,m,g=[],x;_o(this.renderer,"complexColor",{args:arguments},function(){if(t.radialGradient?o="radialGradient":t.linearGradient&&(o="linearGradient"),o){if(a=t[o],c=r.gradients,f=t.stops,u=s.radialReference,Bo(a)&&(t[o]=a={x1:a[0],y1:a[1],x2:a[2],y2:a[3],gradientUnits:"userSpaceOnUse"}),o==="radialGradient"&&u&&!Yt(a.gradientUnits)&&(h=a,a=as(a,r.getRadialAttr(u,h),{gradientUnits:"userSpaceOnUse"})),si(a,function(y,b){b!=="id"&&g.push(b,y)}),si(f,function(y){g.push(y)}),g=g.join(","),c[g])m=c[g].attr("id");else{a.id=m=cr();let y=c[g]=r.createElement(o).attr(a).add(r.defs);y.radAttr=h,y.stops=[],f.forEach(function(b){b[1].indexOf("rgba")===0?(n=_t.parse(b[1]),d=n.get("rgb"),p=n.get("a")):(d=b[1],p=1);let v=r.createElement("stop").attr({offset:b[0],"stop-color":d,"stop-opacity":p}).add(y);y.stops.push(v)})}x="url("+r.url+"#"+m+")",s.setAttribute(e,x),s.gradient=g,t.toString=function(){return x}}})}css(t){let e=this.styles,s={},r=this.element,n,o=!e;if(e&&si(t,function(a,h){e&&e[h]!==a&&(s[h]=a,o=!0)}),o){e&&(t=ii(e,s)),t.width===null||t.width==="auto"?delete this.textWidth:r.nodeName.toLowerCase()==="text"&&t.width&&(n=this.textWidth=ls(t.width)),ii(this.styles,t),n&&!wc&&this.renderer.forExport&&delete t.width;let a=as(t);r.namespaceURI===this.SVG_NS&&(["textOutline","textOverflow","width"].forEach(h=>a&&delete a[h]),a.color&&(a.fill=a.color)),Io(r,a)}return this.added&&(this.element.nodeName==="text"&&this.renderer.buildText(this),t.textOutline&&this.applyTextOutline(t.textOutline)),this}dashstyleSetter(t){let e,s=this["stroke-width"];if(s==="inherit"&&(s=1),t=t&&t.toLowerCase(),t){let r=t.replace("shortdashdotdot","3,1,1,1,1,1,").replace("shortdashdot","3,1,1,1").replace("shortdot","1,1,").replace("shortdash","3,1,").replace("longdash","8,3,").replace(/dot/g,"1,3,").replace("dash","4,3,").replace(/,$/,"").split(",");for(e=r.length;e--;)r[e]=""+ls(r[e])*qt(s,NaN);t=r.join(",").replace(/NaN/g,"none"),this.element.setAttribute("stroke-dasharray",t)}}destroy(){let t=this,e=t.element||{},s=t.renderer,r=e.ownerSVGElement,n=e.nodeName==="SPAN"&&t.parentGroup||void 0,o,a;if(e.onclick=e.onmouseout=e.onmouseover=e.onmousemove=e.point=null,Ao(t),t.clipPath&&r){let h=t.clipPath;[].forEach.call(r.querySelectorAll("[clip-path],[CLIP-PATH]"),function(c){c.getAttribute("clip-path").indexOf(h.element.id)>-1&&c.removeAttribute("clip-path")}),t.clipPath=h.destroy()}if(t.connector=t.connector?.destroy(),t.stops){for(a=0;a<t.stops.length;a++)t.stops[a].destroy();t.stops.length=0,t.stops=void 0}for(t.safeRemoveChild(e);n&&n.div&&n.div.childNodes.length===0;)o=n.parentGroup,t.safeRemoveChild(n.div),delete n.div,n=o;t.alignOptions&&Pc(s.alignedObjects,t),si(t,function(h,c){t[c]&&t[c].parentGroup===t&&t[c].destroy&&t[c].destroy(),delete t[c]})}dSetter(t,e,s){Bo(t)&&(typeof t[0]=="string"&&(t=this.renderer.pathToSegments(t)),this.pathArray=t,t=t.reduce((r,n,o)=>!n||!n.join?(n||"").toString():(o?r+" ":"")+n.join(" "),"")),/(NaN| {2}|^$)/.test(t)&&(t="M 0 0"),this[e]!==t&&(s.setAttribute(e,t),this[e]=t)}fillSetter(t,e,s){typeof t=="string"?s.setAttribute(e,t):t&&this.complexColor(t,e,s)}hrefSetter(t,e,s){s.setAttributeNS("http://www.w3.org/1999/xlink",e,t)}getBBox(t,e){let s=this,{alignValue:r,element:n,renderer:o,styles:a,textStr:h}=s,{cache:c,cacheKeys:f}=o,d=n.namespaceURI===s.SVG_NS,p=qt(e,s.rotation,0),u=o.styledMode?n&&l.prototype.getStyle.call(n,"font-size"):a.fontSize,m,g,x,y;if(Yt(h)&&(y=h.toString(),y.indexOf("<")===-1&&(y=y.replace(/[0-9]/g,"0")),y+=["",o.rootFontSize,u,p,s.textWidth,r,a.textOverflow,a.fontWeight].join(",")),y&&!t&&(m=c[y]),!m){if(d||o.forExport){try{x=this.fakeTS&&function(b){let v=n.querySelector(".highcharts-text-outline");v&&Io(v,{display:b})},Ro(x)&&x("none"),m=n.getBBox?ii({},n.getBBox()):{width:n.offsetWidth,height:n.offsetHeight,x:0,y:0},Ro(x)&&x("")}catch{}(!m||m.width<0)&&(m={x:0,y:0,width:0,height:0})}else m=s.htmlGetBBox();g=m.height,d&&(m.height=g={"11px,17":14,"13px,20":16}[`${u||""},${Math.round(g)}`]||g),p&&(m=this.getRotatedBox(m,p))}if(y&&(h===""||m.height>0)){for(;f.length>250;)delete c[f.shift()];c[y]||f.push(y),c[y]=m}return m}getRotatedBox(t,e){let{x:s,y:r,width:n,height:o}=t,{alignValue:a,translateY:h,rotationOriginX:c=0,rotationOriginY:f=0}=this,d={right:1,center:.5}[a||0]||0,p=Number(this.element.getAttribute("y")||0)-(h?0:r),u=e*Eo,m=(e-90)*Eo,g=Math.cos(u),x=Math.sin(u),y=n*g,b=n*x,v=Math.cos(m),C=Math.sin(m),[[S,T],[M,w]]=[c,f].map(K=>[K-K*g,K*x]),P=s+d*(n-y)+S+w,L=r+p-d*b-T+M,R=P+p*v,I=R+y,z=I-o*v,Y=z-y,W=L+p*C,tt=W+b,it=tt-o*C,rt=it-b,G=Math.min(R,I,z,Y),Q=Math.min(W,tt,it,rt),$=Math.max(R,I,z,Y)-G,V=Math.max(W,tt,it,rt)-Q;return{x:G,y:Q,width:$,height:V}}getStyle(t){return Dc.getComputedStyle(this.element||this,"").getPropertyValue(t)}hasClass(t){return(""+this.attr("class")).split(" ").indexOf(t)!==-1}hide(){return this.attr({visibility:"hidden"})}htmlGetBBox(){return{height:0,width:0,x:0,y:0}}constructor(t,e){this.onEvents={},this.opacity=1,this.SVG_NS=ns,this.element=e==="span"||e==="body"?kc(e):ei.createElementNS(this.SVG_NS,e),this.renderer=t,this.styles={},_o(this,"afterInit")}on(t,e){let{onEvents:s}=this;return s[t]&&s[t](),s[t]=Lo(this.element,t,e),this}opacitySetter(t,e,s){let r=Number(Number(t).toFixed(3));this.opacity=r,s.setAttribute(e,r)}reAlign(){this.alignOptions?.width&&this.alignOptions.align!=="left"&&(this.alignOptions.width=this.getBBox().width,this.placed=!1,this.align())}removeClass(t){return this.attr("class",(""+this.attr("class")).replace(Wo(t)?new RegExp(`(^| )${t}( |$)`):t," ").replace(/ +/g," ").trim())}removeTextOutline(){let t=this.element.querySelector("tspan.highcharts-text-outline");t&&this.safeRemoveChild(t)}safeRemoveChild(t){let e=t.parentNode;e&&e.removeChild(t)}setRadialReference(t){let e=this.element.gradient&&this.renderer.gradients[this.element.gradient];return this.element.radialReference=t,e&&e.radAttr&&e.animate(this.renderer.getRadialAttr(t,e.radAttr)),this}setTextPath(t,e){e=as(!0,{enabled:!0,attributes:{dy:-5,startOffset:"50%",textAnchor:"middle"}},e);let s=this.renderer.url,r=this.text||this,n=r.textPath,{attributes:o,enabled:a}=e;if(t=t||n&&n.path,n&&n.undo(),t&&a){let h=Lo(r,"afterModifyTree",c=>{if(t&&a){let f=t.attr("id");f||t.attr("id",f=cr());let d={x:0,y:0};Yt(o.dx)&&(d.dx=o.dx,delete o.dx),Yt(o.dy)&&(d.dy=o.dy,delete o.dy),r.attr(d),this.attr({transform:""}),this.box&&(this.box=this.box.destroy());let p=c.nodes.slice(0);c.nodes.length=0,c.nodes[0]={tagName:"textPath",attributes:ii(o,{"text-anchor":o.textAnchor,href:`${s}#${f}`}),children:p}}});r.textPath={path:t,undo:h}}else r.attr({dx:0,dy:0}),delete r.textPath;return this.added&&(r.textCache="",this.renderer.buildText(r)),this}shadow(t){let{renderer:e}=this,s=as(this.parentGroup?.rotation===90?{offsetX:-1,offsetY:-1}:{},Oc(t)?t:{}),r=e.shadowDefinition(s);return this.attr({filter:t?`url(${e.url}#${r})`:"none"})}show(t=!0){return this.attr({visibility:t?"inherit":"visible"})}"stroke-widthSetter"(t,e,s){this[e]=t,s.setAttribute(e,t)}strokeWidth(){if(!this.renderer.styledMode)return this["stroke-width"]||0;let t=this.getStyle("stroke-width"),e=0,s;return/px$/.test(t)?e=ls(t):t!==""&&(s=ei.createElementNS(ns,"rect"),hr(s,{width:t,"stroke-width":0}),this.element.parentNode.appendChild(s),e=s.getBBox().width,s.parentNode.removeChild(s)),e}symbolAttr(t){let e=this;l.symbolCustomAttribs.forEach(function(s){e[s]=qt(t[s],e[s])}),e.attr({d:e.renderer.symbols[e.symbolName](e.x,e.y,e.width,e.height,e)})}textSetter(t){t!==this.textStr&&(delete this.textPxLength,this.textStr=t,this.added&&this.renderer.buildText(this),this.reAlign())}titleSetter(t){let e=this.element,s=e.getElementsByTagName("title")[0]||ei.createElementNS(this.SVG_NS,"title");e.insertBefore?e.insertBefore(s,e.firstChild):e.appendChild(s),s.textContent=Ec(qt(t,""),[/<[^>]*>/g,""]).replace(/</g,"<").replace(/>/g,">")}toFront(){let t=this.element;return t.parentNode.appendChild(t),this}translate(t,e){return this.attr({translateX:t,translateY:e})}updateTransform(t="transform"){let{element:e,matrix:s,rotation:r=0,rotationOriginX:n,rotationOriginY:o,scaleX:a,scaleY:h,translateX:c=0,translateY:f=0}=this,d=["translate("+c+","+f+")"];Yt(s)&&d.push("matrix("+s.join(",")+")"),r&&(d.push("rotate("+r+" "+qt(n,e.getAttribute("x"),0)+" "+qt(o,e.getAttribute("y")||0)+")"),this.text?.element.tagName==="SPAN"&&this.text.attr({rotation:r,rotationOriginX:(n||0)-this.padding,rotationOriginY:(o||0)-this.padding})),(Yt(a)||Yt(h))&&d.push("scale("+qt(a,1)+" "+qt(h,1)+")"),d.length&&!(this.text||this).textPath&&e.setAttribute(t,d.join(" "))}visibilitySetter(t,e,s){t==="inherit"?s.removeAttribute(e):this[e]!==t&&s.setAttribute(e,t),this[e]=t}xGetter(t){return this.element.nodeName==="circle"&&(t==="x"?t="cx":t==="y"&&(t="cy")),this._defaultGetter(t)}zIndexSetter(t,e){let s=this.renderer,r=this.parentGroup,n=r||s,o=n.element||s.box,a=this.element,h=o===s.box,c,f,d,p=!1,u,m=this.added,g;if(Yt(t)?(a.setAttribute("data-z-index",t),t=+t,this[e]===t&&(m=!1)):Yt(this[e])&&a.removeAttribute("data-z-index"),this[e]=t,m){for(t=this.zIndex,t&&r&&(r.handleZ=!0),c=o.childNodes,g=c.length-1;g>=0&&!p;g--)f=c[g],d=f.getAttribute("data-z-index"),u=!Yt(d),f!==a&&(t<0&&u&&!h&&!g?(o.insertBefore(a,c[g]),p=!0):(ls(d)<=t||u&&(!Yt(t)||t>=0))&&(o.insertBefore(a,c[g+1]),p=!0));p||(o.insertBefore(a,c[h?3:0]),p=!0)}return p}}return l.symbolCustomAttribs=["anchorX","anchorY","clockwise","end","height","innerR","r","start","width","x","y"],l})();Nt.prototype.strokeSetter=Nt.prototype.fillSetter;Nt.prototype.yGetter=Nt.prototype.xGetter;Nt.prototype.matrixSetter=Nt.prototype.rotationOriginXSetter=Nt.prototype.rotationOriginYSetter=Nt.prototype.rotationSetter=Nt.prototype.scaleXSetter=Nt.prototype.scaleYSetter=Nt.prototype.translateXSetter=Nt.prototype.translateYSetter=Nt.prototype.verticalAlignSetter=function(l,i){this[i]=l,this.doTransform=!0};var Bt=Nt;var{defined:dr,extend:Ic,isNumber:Ci,merge:_c,pick:Ti,removeEvent:No}=E,Bc=(()=>{class l extends Bt{constructor(t,e,s,r,n,o,a,h,c,f){super(t,"g"),this.paddingLeftSetter=this.paddingSetter,this.paddingRightSetter=this.paddingSetter,this.textStr=e,this.x=s,this.y=r,this.anchorX=o,this.anchorY=a,this.baseline=c,this.className=f,this.addClass(f==="button"?"highcharts-no-tooltip":"highcharts-label"),f&&this.addClass("highcharts-"+f),this.text=t.text(void 0,0,0,h).attr({zIndex:1});let d;typeof n=="string"&&(d=/^url\((.*?)\)$/.test(n),(d||this.renderer.symbols[n])&&(this.symbolKey=n)),this.bBox=l.emptyBBox,this.padding=3,this.baselineOffset=0,this.needsBox=t.styledMode||d,this.deferredAttr={},this.alignFactor=0}alignSetter(t){let e={left:0,center:.5,right:1}[t];e!==this.alignFactor&&(this.alignFactor=e,this.bBox&&Ci(this.xSetting)&&this.attr({x:this.xSetting}))}anchorXSetter(t,e){this.anchorX=t,this.boxAttr(e,Math.round(t)-this.getCrispAdjust()-this.xSetting)}anchorYSetter(t,e){this.anchorY=t,this.boxAttr(e,t-this.ySetting)}boxAttr(t,e){this.box?this.box.attr(t,e):this.deferredAttr[t]=e}css(t){if(t){let e={};t=_c(t),l.textProps.forEach(s=>{typeof t[s]<"u"&&(e[s]=t[s],delete t[s])}),this.text.css(e),"fontSize"in e||"fontWeight"in e?this.updateTextPadding():("width"in e||"textOverflow"in e)&&this.updateBoxSize()}return Bt.prototype.css.call(this,t)}destroy(){No(this.element,"mouseenter"),No(this.element,"mouseleave"),this.text&&this.text.destroy(),this.box&&(this.box=this.box.destroy()),Bt.prototype.destroy.call(this)}fillSetter(t,e){t&&(this.needsBox=!0),this.fill=t,this.boxAttr(e,t)}getBBox(t,e){this.textStr&&this.bBox.width===0&&this.bBox.height===0&&this.updateBoxSize();let{padding:s,height:r=0,translateX:n=0,translateY:o=0,width:a=0}=this,h=Ti(this.paddingLeft,s),c=e??(this.rotation||0),f={width:a,height:r,x:n+this.bBox.x-h,y:o+this.bBox.y-s+this.baselineOffset};return c&&(f=this.getRotatedBox(f,c)),f}getCrispAdjust(){return(this.renderer.styledMode&&this.box?this.box.strokeWidth():this["stroke-width"]?parseInt(this["stroke-width"],10):0)%2/2}heightSetter(t){this.heightSetting=t}onAdd(){this.text.add(this),this.attr({text:Ti(this.textStr,""),x:this.x||0,y:this.y||0}),this.box&&dr(this.anchorX)&&this.attr({anchorX:this.anchorX,anchorY:this.anchorY})}paddingSetter(t,e){Ci(t)?t!==this[e]&&(this[e]=t,this.updateTextPadding()):this[e]=void 0}rSetter(t,e){this.boxAttr(e,t)}strokeSetter(t,e){this.stroke=t,this.boxAttr(e,t)}"stroke-widthSetter"(t,e){t&&(this.needsBox=!0),this["stroke-width"]=t,this.boxAttr(e,t)}"text-alignSetter"(t){this.textAlign=t}textSetter(t){typeof t<"u"&&this.text.attr({text:t}),this.updateTextPadding(),this.reAlign()}updateBoxSize(){let t=this.text,e={},s=this.padding,r=this.bBox=(!Ci(this.widthSetting)||!Ci(this.heightSetting)||this.textAlign)&&dr(t.textStr)?t.getBBox(void 0,0):l.emptyBBox,n;this.width=this.getPaddedWidth(),this.height=(this.heightSetting||r.height||0)+2*s;let o=this.renderer.fontMetrics(t);if(this.baselineOffset=s+Math.min((this.text.firstLineMetrics||o).b,r.height||1/0),this.heightSetting&&(this.baselineOffset+=(this.heightSetting-o.h)/2),this.needsBox&&!t.textPath){if(!this.box){let a=this.box=this.symbolKey?this.renderer.symbol(this.symbolKey):this.renderer.rect();a.addClass((this.className==="button"?"":"highcharts-label-box")+(this.className?" highcharts-"+this.className+"-box":"")),a.add(this)}n=this.getCrispAdjust(),e.x=n,e.y=(this.baseline?-this.baselineOffset:0)+n,e.width=Math.round(this.width),e.height=Math.round(this.height),this.box.attr(Ic(e,this.deferredAttr)),this.deferredAttr={}}}updateTextPadding(){let t=this.text;if(!t.textPath){this.updateBoxSize();let e=this.baseline?0:this.baselineOffset,s=Ti(this.paddingLeft,this.padding);dr(this.widthSetting)&&this.bBox&&(this.textAlign==="center"||this.textAlign==="right")&&(s+={center:.5,right:1}[this.textAlign]*(this.widthSetting-this.bBox.width)),(s!==t.x||e!==t.y)&&(t.attr("x",s),t.hasBoxWidthChanged&&(this.bBox=t.getBBox(!0)),typeof e<"u"&&t.attr("y",e)),t.x=s,t.y=e}}widthSetter(t){this.widthSetting=Ci(t)?t:void 0}getPaddedWidth(){let t=this.padding,e=Ti(this.paddingLeft,t),s=Ti(this.paddingRight,t);return(this.widthSetting||this.bBox.width||0)+e+s}xSetter(t){this.x=t,this.alignFactor&&(t-=this.alignFactor*this.getPaddedWidth(),this["forceAnimate:x"]=!0),this.xSetting=Math.round(t),this.attr("translateX",this.xSetting)}ySetter(t){this.ySetting=this.y=Math.round(t),this.attr("translateY",this.ySetting)}}return l.emptyBBox={width:0,height:0,x:0,y:0},l.textProps=["color","direction","fontFamily","fontSize","fontStyle","fontWeight","lineHeight","textAlign","textDecoration","textOutline","textOverflow","whiteSpace","width"],l})(),Fo=Bc;var{defined:zo,isNumber:Rc,pick:Mi}=E;function Xo(l,i,t,e,s){let r=[];if(s){let n=s.start||0,o=Mi(s.r,t),a=Mi(s.r,e||t),h=2e-4/Math.max(o,1),c=Math.abs((s.end||0)-n-2*Math.PI)<h,f=(s.end||0)-h,d=s.innerR,p=Mi(s.open,c),u=Math.cos(n),m=Math.sin(n),g=Math.cos(f),x=Math.sin(f),y=Mi(s.longArc,f-n-Math.PI<h?0:1),b=["A",o,a,0,y,Mi(s.clockwise,1),l+o*g,i+a*x];b.params={start:n,end:f,cx:l,cy:i},r.push(["M",l+o*u,i+a*m],b),zo(d)&&(b=["A",d,d,0,y,zo(s.clockwise)?1-s.clockwise:0,l+d*u,i+d*m],b.params={start:f,end:n,cx:l,cy:i},r.push(p?["M",l+d*g,i+d*x]:["L",l+d*g,i+d*x],b)),p||r.push(["Z"])}return r}function Wc(l,i,t,e,s){let o=Math.min(s&&s.r||0,t,e),a=o+6,h=s&&s.anchorX,c=s&&s.anchorY||0,f=fr(l,i,t,e,{r:o});if(!Rc(h)||h<t&&h>0&&c<e&&c>0)return f;if(l+h>t-a)if(c>i+a&&c<i+e-a)f.splice(3,1,["L",l+t,c-6],["L",l+t+6,c],["L",l+t,c+6],["L",l+t,i+e-o]);else if(h<t){let d=c<i+a,p=d?i:i+e,u=d?2:5;f.splice(u,0,["L",h,c],["L",l+t-o,p])}else f.splice(3,1,["L",l+t,e/2],["L",h,c],["L",l+t,e/2],["L",l+t,i+e-o]);else if(l+h<a)if(c>i+a&&c<i+e-a)f.splice(7,1,["L",l,c+6],["L",l-6,c],["L",l,c-6],["L",l,i+o]);else if(h>0){let d=c<i+a,p=d?i:i+e,u=d?1:6;f.splice(u,0,["L",h,c],["L",l+o,p])}else f.splice(7,1,["L",l,e/2],["L",h,c],["L",l,e/2],["L",l,i+o]);else c>e&&h<t-a?f.splice(5,1,["L",h+6,i+e],["L",h,i+e+6],["L",h-6,i+e],["L",l+o,i+e]):c<0&&h>a&&f.splice(1,1,["L",h-6,i],["L",h,i-6],["L",h+6,i],["L",t-o,i]);return f}function Nc(l,i,t,e){return Xo(l+t/2,i+e/2,t/2,e/2,{start:Math.PI*.5,end:Math.PI*2.5,open:!1})}function Fc(l,i,t,e){return[["M",l+t/2,i],["L",l+t,i+e/2],["L",l+t/2,i+e],["L",l,i+e/2],["Z"]]}function Ho(l,i,t,e,s){return s&&s.r?fr(l,i,t,e,s):[["M",l,i],["L",l+t,i],["L",l+t,i+e],["L",l,i+e],["Z"]]}function fr(l,i,t,e,s){let r=s?.r||0;return[["M",l+r,i],["L",l+t-r,i],["A",r,r,0,0,1,l+t,i+r],["L",l+t,i+e-r],["A",r,r,0,0,1,l+t-r,i+e],["L",l+r,i+e],["A",r,r,0,0,1,l,i+e-r],["L",l,i+r],["A",r,r,0,0,1,l+r,i],["Z"]]}function zc(l,i,t,e){return[["M",l+t/2,i],["L",l+t,i+e],["L",l,i+e],["Z"]]}function Hc(l,i,t,e){return[["M",l,i],["L",l+t,i],["L",l+t/2,i+e],["Z"]]}var Xc={arc:Xo,callout:Wc,circle:Nc,diamond:Fc,rect:Ho,roundedRect:fr,square:Ho,triangle:zc,"triangle-down":Hc},hs=Xc;var{doc:pr,SVG_NS:Yc,win:Yo}=_,{attr:ur,extend:Gc,fireEvent:Vc,isString:jc,objectEach:Uc,pick:$c}=E,mr=class{constructor(i){let t=i.styles;this.renderer=i.renderer,this.svgElement=i,this.width=i.textWidth,this.textLineHeight=t&&t.lineHeight,this.textOutline=t&&t.textOutline,this.ellipsis=!!(t&&t.textOverflow==="ellipsis"),this.noWrap=!!(t&&t.whiteSpace==="nowrap")}buildSVG(){let i=this.svgElement,t=i.element,e=i.renderer,s=$c(i.textStr,"").toString(),r=s.indexOf("<")!==-1,n=t.childNodes,o=!i.added&&e.box,a=/<br.*?>/g,h=[s,this.ellipsis,this.noWrap,this.textLineHeight,this.textOutline,i.getStyle("font-size"),this.width].join(",");if(h!==i.textCache){i.textCache=h,delete i.actualWidth;for(let c=n.length;c--;)t.removeChild(n[c]);if(!r&&!this.ellipsis&&!this.width&&!i.textPath&&(s.indexOf(" ")===-1||this.noWrap&&!a.test(s)))t.appendChild(pr.createTextNode(this.unescapeEntities(s)));else if(s!==""){o&&o.appendChild(t);let c=new kt(s);this.modifyTree(c.nodes),c.addToDOM(t),this.modifyDOM(),this.ellipsis&&(t.textContent||"").indexOf("\u2026")!==-1&&i.attr("title",this.unescapeEntities(i.textStr||"",["<",">"])),o&&o.removeChild(t)}jc(this.textOutline)&&i.applyTextOutline&&i.applyTextOutline(this.textOutline)}}modifyDOM(){let i=this.svgElement,t=ur(i.element,"x");i.firstLineMetrics=void 0;let e;for(;(e=i.element.firstChild)&&/^[\s\u200B]*$/.test(e.textContent||" ");)i.element.removeChild(e);[].forEach.call(i.element.querySelectorAll("tspan.highcharts-br"),(o,a)=>{o.nextSibling&&o.previousSibling&&(a===0&&o.previousSibling.nodeType===1&&(i.firstLineMetrics=i.renderer.fontMetrics(o.previousSibling)),ur(o,{dy:this.getLineHeight(o.nextSibling),x:t}))});let s=this.width||0;if(!s)return;let r=(o,a)=>{let h=o.textContent||"",c=h.replace(/([^\^])-/g,"$1- ").split(" "),f=!this.noWrap&&(c.length>1||i.element.childNodes.length>1),d=this.getLineHeight(a),p=0,u=i.actualWidth;if(this.ellipsis)h&&this.truncate(o,h,void 0,0,Math.max(0,s-.8*d),(m,g)=>m.substring(0,g)+"\u2026");else if(f){let m=[],g=[];for(;a.firstChild&&a.firstChild!==o;)g.push(a.firstChild),a.removeChild(a.firstChild);for(;c.length;)c.length&&!this.noWrap&&p>0&&(m.push(o.textContent||""),o.textContent=c.join(" ").replace(/- /g,"-")),this.truncate(o,void 0,c,p===0&&u||0,s,(x,y)=>c.slice(0,y).join(" ").replace(/- /g,"-")),u=i.actualWidth,p++;g.forEach(x=>{a.insertBefore(x,o)}),m.forEach(x=>{a.insertBefore(pr.createTextNode(x),o);let y=pr.createElementNS(Yc,"tspan");y.textContent="\u200B",ur(y,{dy:d,x:t}),a.insertBefore(y,o)})}},n=o=>{[].slice.call(o.childNodes).forEach(h=>{h.nodeType===Yo.Node.TEXT_NODE?r(h,o):(h.className.baseVal.indexOf("highcharts-br")!==-1&&(i.actualWidth=0),n(h))})};n(i.element)}getLineHeight(i){let t=i.nodeType===Yo.Node.TEXT_NODE?i.parentElement:i;return this.textLineHeight?parseInt(this.textLineHeight.toString(),10):this.renderer.fontMetrics(t||this.svgElement.element).h}modifyTree(i){let t=(e,s)=>{let{attributes:r={},children:n,style:o={},tagName:a}=e,h=this.renderer.styledMode;if(a==="b"||a==="strong"?h?r.class="highcharts-strong":o.fontWeight="bold":(a==="i"||a==="em")&&(h?r.class="highcharts-emphasized":o.fontStyle="italic"),o&&o.color&&(o.fill=o.color),a==="br"){r.class="highcharts-br",e.textContent="\u200B";let c=i[s+1];c&&c.textContent&&(c.textContent=c.textContent.replace(/^ +/gm,""))}else a==="a"&&n&&n.some(c=>c.tagName==="#text")&&(e.children=[{children:n,tagName:"tspan"}]);a!=="#text"&&a!=="a"&&(e.tagName="tspan"),Gc(e,{attributes:r,style:o}),n&&n.filter(c=>c.tagName!=="#text").forEach(t)};i.forEach(t),Vc(this.svgElement,"afterModifyTree",{nodes:i})}truncate(i,t,e,s,r,n){let o=this.svgElement,{rotation:a}=o,h=[],c=e?1:0,f=(t||e||"").length,d=f,p,u,m=function(g,x){let y=x||g,b=i.parentNode;if(b&&typeof h[y]>"u"&&b.getSubStringLength)try{h[y]=s+b.getSubStringLength(0,e?y+1:y)}catch{}return h[y]};if(o.rotation=0,u=m(i.textContent.length),s+u>r){for(;c<=f;)d=Math.ceil((c+f)/2),e&&(p=n(e,d)),u=m(d,p&&p.length-1),c===f?c=f+1:u>r?f=d-1:c=d;f===0?i.textContent="":t&&f===t.length-1||(i.textContent=p||n(t||e,d))}e&&e.splice(0,d),o.actualWidth=u,o.rotation=a}unescapeEntities(i,t){return Uc(this.renderer.escapes,function(e,s){(!t||t.indexOf(e)===-1)&&(i=i.toString().replace(new RegExp(e,"g"),s))}),i}},Go=mr;var{defaultOptions:qc}=vt,{charts:Kc,deg2rad:Vo,doc:ri,isFirefox:jo,isMS:Uo,isWebKit:Zc,noop:Qc,SVG_NS:Jc,symbolSizes:wi,win:gr}=_,{addEvent:cs,attr:ds,createElement:td,crisp:$o,css:fs,defined:_e,destroyObjectProperties:ed,extend:Be,isArray:id,isNumber:Di,isObject:ki,isString:sd,merge:xr,pick:yr,pInt:rd,replaceNested:nd,uniqueKey:od}=E,br,Pi=class{constructor(i,t,e,s,r,n,o){let a=this,h=a.createElement("svg").attr({version:"1.1",class:"highcharts-root"}),c=h.element;o||h.css(this.getStyle(s||{})),i.appendChild(c),ds(i,"dir","ltr"),i.innerHTML.indexOf("xmlns")===-1&&ds(c,"xmlns",this.SVG_NS),this.box=c,this.boxWrapper=h,this.alignedObjects=[],this.url=this.getReferenceURL(),this.createElement("desc").add().element.appendChild(ri.createTextNode("Created with @product.name@ @product.version@")),this.defs=this.createElement("defs").add(),this.allowHTML=n,this.forExport=r,this.styledMode=o,this.gradients={},this.cache={},this.cacheKeys=[],this.imgCount=0,this.rootFontSize=h.getStyle("font-size"),a.setSize(t,e,!1);let d,p;jo&&i.getBoundingClientRect&&(d=function(){fs(i,{left:0,top:0}),p=i.getBoundingClientRect(),fs(i,{left:Math.ceil(p.left)-p.left+"px",top:Math.ceil(p.top)-p.top+"px"})},d(),a.unSubPixelFix=cs(gr,"resize",d))}definition(i){return new kt([i]).addToDOM(this.defs.element)}getReferenceURL(){if((jo||Zc)&&ri.getElementsByTagName("base").length){if(!_e(br)){let i=od(),e=new kt([{tagName:"svg",attributes:{width:8,height:8},children:[{tagName:"defs",children:[{tagName:"clipPath",attributes:{id:i},children:[{tagName:"rect",attributes:{width:4,height:4}}]}]},{tagName:"rect",attributes:{id:"hitme",width:8,height:8,"clip-path":`url(#${i})`,fill:"rgba(0,0,0,0.001)"}}]}]).addToDOM(ri.body);fs(e,{position:"fixed",top:0,left:0,zIndex:9e5});let s=ri.elementFromPoint(6,6);br=(s&&s.id)==="hitme",ri.body.removeChild(e)}if(br)return nd(gr.location.href.split("#")[0],[/<[^>]*>/g,""],[/([\('\)])/g,"\\$1"],[/ /g,"%20"])}return""}getStyle(i){return this.style=Be({fontFamily:"Helvetica, Arial, sans-serif",fontSize:"1rem"},i),this.style}setStyle(i){this.boxWrapper.css(this.getStyle(i))}isHidden(){return!this.boxWrapper.getBBox().width}destroy(){let i=this,t=i.defs;return i.box=null,i.boxWrapper=i.boxWrapper.destroy(),ed(i.gradients||{}),i.gradients=null,i.defs=t.destroy(),i.unSubPixelFix&&i.unSubPixelFix(),i.alignedObjects=null,null}createElement(i){return new this.Element(this,i)}getRadialAttr(i,t){return{cx:i[0]-i[2]/2+(t.cx||0)*i[2],cy:i[1]-i[2]/2+(t.cy||0)*i[2],r:(t.r||0)*i[2]}}shadowDefinition(i){let t=[`highcharts-drop-shadow-${this.chartIndex}`,...Object.keys(i).map(s=>`${s}-${i[s]}`)].join("-").toLowerCase().replace(/[^a-z0-9\-]/g,""),e=xr({color:"#000000",offsetX:1,offsetY:1,opacity:.15,width:5},i);return this.defs.element.querySelector(`#${t}`)||this.definition({tagName:"filter",attributes:{id:t,filterUnits:e.filterUnits},children:[{tagName:"feDropShadow",attributes:{dx:e.offsetX,dy:e.offsetY,"flood-color":e.color,"flood-opacity":Math.min(e.opacity*5,1),stdDeviation:e.width/2}}]}),t}buildText(i){new Go(i).buildSVG()}getContrast(i){let t=_t.parse(i).rgba.map(s=>{let r=s/255;return r<=.03928?r/12.92:Math.pow((r+.055)/1.055,2.4)}),e=.2126*t[0]+.7152*t[1]+.0722*t[2];return 1.05/(e+.05)>(e+.05)/.05?"#FFFFFF":"#000000"}button(i,t,e,s,r={},n,o,a,h,c){let f=this.label(i,t,e,h,void 0,void 0,c,void 0,"button"),d=this.styledMode,p=arguments,u=0;r=xr(qc.global.buttonTheme,r),d&&(delete r.fill,delete r.stroke,delete r["stroke-width"]);let m=r.states||{},g=r.style||{};delete r.states,delete r.style;let x=[kt.filterUserAttributes(r)],y=[g];return d||["hover","select","disabled"].forEach((b,v)=>{x.push(xr(x[0],kt.filterUserAttributes(p[v+5]||m[b]||{}))),y.push(x[v+1].style),delete x[v+1].style}),cs(f.element,Uo?"mouseover":"mouseenter",function(){u!==3&&f.setState(1)}),cs(f.element,Uo?"mouseout":"mouseleave",function(){u!==3&&f.setState(u)}),f.setState=(b=0)=>{if(b!==1&&(f.state=u=b),f.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed","disabled"][b]),!d){f.attr(x[b]);let v=y[b];ki(v)&&f.css(v)}},f.attr(x[0]),d||(f.css(Be({cursor:"default"},g)),c&&f.text.css({pointerEvents:"none"})),f.on("touchstart",b=>b.stopPropagation()).on("click",function(b){u!==3&&s.call(f,b)})}crispLine(i,t){let[e,s]=i;return _e(e[1])&&e[1]===s[1]&&(e[1]=s[1]=$o(e[1],t)),_e(e[2])&&e[2]===s[2]&&(e[2]=s[2]=$o(e[2],t)),i}path(i){let t=this.styledMode?{}:{fill:"none"};return id(i)?t.d=i:ki(i)&&Be(t,i),this.createElement("path").attr(t)}circle(i,t,e){let s=ki(i)?i:typeof i>"u"?{}:{x:i,y:t,r:e},r=this.createElement("circle");return r.xSetter=r.ySetter=function(n,o,a){a.setAttribute("c"+o,n)},r.attr(s)}arc(i,t,e,s,r,n){let o;ki(i)?(o=i,t=o.y,e=o.r,s=o.innerR,r=o.start,n=o.end,i=o.x):o={innerR:s,start:r,end:n};let a=this.symbol("arc",i,t,e,e,o);return a.r=e,a}rect(i,t,e,s,r,n){let o=ki(i)?i:typeof i>"u"?{}:{x:i,y:t,r,width:Math.max(e||0,0),height:Math.max(s||0,0)},a=this.createElement("rect");return this.styledMode||(typeof n<"u"&&(o["stroke-width"]=n,Be(o,a.crisp(o))),o.fill="none"),a.rSetter=function(h,c,f){a.r=h,ds(f,{rx:h,ry:h})},a.rGetter=function(){return a.r||0},a.attr(o)}roundedRect(i){return this.symbol("roundedRect").attr(i)}setSize(i,t,e){let s=this;s.width=i,s.height=t,s.boxWrapper.animate({width:i,height:t},{step:function(){this.attr({viewBox:"0 0 "+this.attr("width")+" "+this.attr("height")})},duration:yr(e,!0)?void 0:0}),s.alignElements()}g(i){let t=this.createElement("g");return i?t.attr({class:"highcharts-"+i}):t}image(i,t,e,s,r,n){let o={preserveAspectRatio:"none"};Di(t)&&(o.x=t),Di(e)&&(o.y=e),Di(s)&&(o.width=s),Di(r)&&(o.height=r);let a=this.createElement("image").attr(o),h=function(c){a.attr({href:i}),n.call(a,c)};if(n){a.attr({href:"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="});let c=new gr.Image;cs(c,"load",h),c.src=i,c.complete&&h({})}else a.attr({href:i});return a}symbol(i,t,e,s,r,n){let o=this,a=/^url\((.*?)\)$/,h=a.test(i),c=!h&&(this.symbols[i]?i:"circle"),f=c&&this.symbols[c],d,p,u,m;if(f)typeof t=="number"&&(p=f.call(this.symbols,t||0,e||0,s||0,r||0,n)),d=this.path(p),o.styledMode||d.attr("fill","none"),Be(d,{symbolName:c||void 0,x:t,y:e,width:s,height:r}),n&&Be(d,n);else if(h){u=i.match(a)[1];let g=d=this.image(u);g.imgwidth=yr(n&&n.width,wi[u]&&wi[u].width),g.imgheight=yr(n&&n.height,wi[u]&&wi[u].height),m=x=>x.attr({width:x.width,height:x.height}),["width","height"].forEach(x=>{g[`${x}Setter`]=function(y,b){this[b]=y;let{alignByTranslate:v,element:C,width:S,height:T,imgwidth:M,imgheight:w}=this,P=b==="width"?M:w,L=1;n&&n.backgroundSize==="within"&&S&&T&&M&&w?(L=Math.min(S/M,T/w),ds(C,{width:Math.round(M*L),height:Math.round(w*L)})):C&&P&&C.setAttribute(b,P),!v&&M&&w&&this.translate(((S||0)-M*L)/2,((T||0)-w*L)/2)}}),_e(t)&&g.attr({x:t,y:e}),g.isImg=!0,_e(g.imgwidth)&&_e(g.imgheight)?m(g):(g.attr({width:0,height:0}),td("img",{onload:function(){let x=Kc[o.chartIndex];this.width===0&&(fs(this,{position:"absolute",top:"-999em"}),ri.body.appendChild(this)),wi[u]={width:this.width,height:this.height},g.imgwidth=this.width,g.imgheight=this.height,g.element&&m(g),this.parentNode&&this.parentNode.removeChild(this),o.imgCount--,!o.imgCount&&x&&!x.hasLoaded&&x.onload()},src:u}),this.imgCount++)}return d}clipRect(i,t,e,s){return this.rect(i,t,e,s,0)}text(i,t,e,s){let r=this,n={};if(s&&(r.allowHTML||!r.forExport))return r.html(i,t,e);n.x=Math.round(t||0),e&&(n.y=Math.round(e)),_e(i)&&(n.text=i);let o=r.createElement("text").attr(n);return(!s||r.forExport&&!r.allowHTML)&&(o.xSetter=function(a,h,c){let f=c.getElementsByTagName("tspan"),d=c.getAttribute(h);for(let p=0,u;p<f.length;p++)u=f[p],u.getAttribute(h)===d&&u.setAttribute(h,a);c.setAttribute(h,a)}),o}fontMetrics(i){let t=rd(Bt.prototype.getStyle.call(i,"font-size")||0),e=t<24?t+3:Math.round(t*1.2),s=Math.round(e*.8);return{h:e,b:s,f:t}}rotCorr(i,t,e){let s=i;return t&&e&&(s=Math.max(s*Math.cos(t*Vo),4)),{x:-i/3*Math.sin(t*Vo),y:s}}pathToSegments(i){let t=[],e=[],s={A:8,C:7,H:2,L:3,M:3,Q:5,S:5,T:3,V:2};for(let r=0;r<i.length;r++)sd(e[0])&&Di(i[r])&&e.length===s[e[0].toUpperCase()]&&i.splice(r,0,e[0].replace("M","L").replace("m","l")),typeof i[r]=="string"&&(e.length&&t.push(e.slice(0)),e.length=0),e.push(i[r]);return t.push(e.slice(0)),t}label(i,t,e,s,r,n,o,a,h){return new Fo(this,i,t,e,s,r,n,o,a,h)}alignElements(){this.alignedObjects.forEach(i=>i.align())}};Be(Pi.prototype,{Element:Bt,SVG_NS:Jc,escapes:{"&":"&","<":"<",">":">","'":"'",'"':"""},symbols:hs,draw:Qc});ee.registerRendererType("svg",Pi,!0);var ps=Pi;var{composed:ad}=_,{attr:ld,css:ni,createElement:hd,defined:qo,extend:cd,pInt:dd,pushUnique:fd}=E;function Ko(l,i,t){let e=this.div?.style||t.style;Bt.prototype[`${i}Setter`].call(this,l,i,t),e&&(e[i]=l)}var pd=(l,i)=>{if(!l.div){let t=ld(l.element,"class"),e=l.css,s=hd("div",t?{className:t}:void 0,$t(At({position:"absolute",left:`${l.translateX||0}px`,top:`${l.translateY||0}px`},l.styles),{display:l.display,opacity:l.opacity,visibility:l.visibility}),l.parentGroup?.div||i);l.classSetter=(r,n,o)=>{o.setAttribute("class",r),s.className=r},l.translateXSetter=l.translateYSetter=(r,n)=>{l[n]=r,s.style[n==="translateX"?"left":"top"]=`${r}px`,l.doTransform=!0},l.opacitySetter=l.visibilitySetter=Ko,l.css=r=>(e.call(l,r),r.cursor&&(s.style.cursor=r.cursor),r.pointerEvents&&(s.style.pointerEvents=r.pointerEvents),l),l.on=function(){return Bt.prototype.on.apply({element:s,onEvents:l.onEvents},arguments),l},l.div=s}return l.div},us=class l extends Bt{static compose(i){fd(ad,this.compose)&&(i.prototype.html=function(t,e,s){return new l(this,"span").attr({text:t,x:Math.round(e),y:Math.round(s)})})}constructor(i,t){super(i,t),this.css(At({position:"absolute"},i.styledMode?{}:{fontFamily:i.style.fontFamily,fontSize:i.style.fontSize})),this.element.style.whiteSpace="nowrap"}getSpanCorrection(i,t,e){this.xCorr=-i*e,this.yCorr=-t}css(i){let{element:t}=this,e=t.tagName==="SPAN"&&i&&"width"in i,s=e&&i.width,r;return e&&(delete i.width,this.textWidth=dd(s)||void 0,r=!0),i?.textOverflow==="ellipsis"&&(i.whiteSpace="nowrap",i.overflow="hidden"),cd(this.styles,i),ni(t,i),r&&this.updateTransform(),this}htmlGetBBox(){let{element:i}=this;return{x:i.offsetLeft,y:i.offsetTop,width:i.offsetWidth,height:i.offsetHeight}}updateTransform(){if(!this.added){this.alignOnAdd=!0;return}let{element:i,renderer:t,rotation:e,rotationOriginX:s,rotationOriginY:r,styles:n,textAlign:o="left",textWidth:a,translateX:h=0,translateY:c=0,x:f=0,y:d=0}=this,p={left:0,center:.5,right:1}[o],u=n.whiteSpace,m=()=>this.textPxLength?this.textPxLength:(ni(i,{width:"",whiteSpace:u||"nowrap"}),i.offsetWidth);if(ni(i,{marginLeft:`${h}px`,marginTop:`${c}px`}),i.tagName==="SPAN"){let g=[e,o,i.innerHTML,a,this.textAlign].join(","),x=this.parentGroup?.padding*-1||0,y,b=!1;if(a!==this.oldTextWidth){let w=m(),P=a||0;(P>this.oldTextWidth||w>P)&&(/[ \-]/.test(i.textContent||i.innerText)||i.style.textOverflow==="ellipsis")&&(ni(i,{width:w>P||e?a+"px":"auto",display:"block",whiteSpace:u||"normal"}),this.oldTextWidth=a,b=!0)}this.hasBoxWidthChanged=b,g!==this.cTT&&(y=t.fontMetrics(i).b,qo(e)&&(e!==(this.oldRotation||0)||o!==this.oldAlign)&&this.setSpanRotation(e,x,x),this.getSpanCorrection(!qo(e)&&this.textPxLength||i.offsetWidth,y,p));let{xCorr:v=0,yCorr:C=0}=this,S=(s??f)-v-f-x,T=(r??d)-C-d-x,M={left:`${f+v}px`,top:`${d+C}px`,transformOrigin:`${S}px ${T}px`};ni(i,M),this.cTT=g,this.oldRotation=e,this.oldAlign=o}}setSpanRotation(i,t,e){ni(this.element,{transform:`rotate(${i}deg)`,transformOrigin:`${t}% ${e}px`})}add(i){let t=this.renderer.box.parentNode,e=[],s;if(this.parentGroup=i,i&&(s=i.div,!s)){let r=i;for(;r;)e.push(r),r=r.parentGroup;for(let n of e.reverse())s=pd(n,t)}return(s||t).appendChild(this.element),this.added=!0,this.alignOnAdd&&this.updateTransform(),this}textSetter(i){i!==this.textStr&&(delete this.bBox,delete this.oldTextWidth,kt.setElementHTML(this.element,i??""),this.textStr=i,this.doTransform=!0)}alignSetter(i){this.alignValue=this.textAlign=i,this.doTransform=!0}xSetter(i,t){this[t]=i,this.doTransform=!0}},Re=us.prototype;Re.visibilitySetter=Re.opacitySetter=Ko;Re.ySetter=Re.rotationSetter=Re.rotationOriginXSetter=Re.rotationOriginYSetter=Re.xSetter;var vr=us;var Zo=function(l){return l.xAxis={alignTicks:!0,allowDecimals:void 0,panningEnabled:!0,zIndex:2,zoomEnabled:!0,dateTimeLabelFormats:{millisecond:{main:"%H:%M:%S.%L",range:!1},second:{main:"%H:%M:%S",range:!1},minute:{main:"%H:%M",range:!1},hour:{main:"%H:%M",range:!1},day:{main:"%e %b"},week:{main:"%e %b"},month:{main:"%b '%y"},year:{main:"%Y"}},endOnTick:!1,gridLineDashStyle:"Solid",gridZIndex:1,labels:{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"}},maxPadding:.01,minorGridLineDashStyle:"Solid",minorTickLength:2,minorTickPosition:"outside",minorTicksPerMajor:5,minPadding:.01,offset:void 0,reversed:void 0,reversedStacks:!1,showEmpty:!0,showFirstLabel:!0,showLastLabel:!0,startOfWeek:1,startOnTick:!1,tickLength:10,tickPixelInterval:100,tickmarkPlacement:"between",tickPosition:"outside",title:{align:"middle",useHTML:!1,x:0,y:0,style:{color:"#666666",fontSize:"0.8em"}},type:"linear",uniqueNames:!0,visible:!0,minorGridLineColor:"#f2f2f2",minorGridLineWidth:1,minorTickColor:"#999999",lineColor:"#333333",lineWidth:1,gridLineColor:"#e6e6e6",gridLineWidth:void 0,tickColor:"#333333"},l.yAxis={reversedStacks:!0,endOnTick:!0,maxPadding:.05,minPadding:.05,tickPixelInterval:72,showLastLabel:!0,labels:{x:void 0},startOnTick:!0,title:{text:"Values"},stackLabels:{animation:{},allowOverlap:!1,enabled:!1,crop:!0,overflow:"justify",formatter:function(){let{numberFormatter:i}=this.axis.chart;return i(this.total||0,-1)},style:{color:"#000000",fontSize:"0.7em",fontWeight:"bold",textOutline:"1px contrast"}},gridLineWidth:1,lineWidth:0},l}(Zo||{}),Qo=Zo;var{addEvent:ud,isFunction:md,objectEach:gd,removeEvent:xd}=E,Sr;(function(l){function i(t,e){t.eventOptions=t.eventOptions||{},gd(e.events,function(s,r){t.eventOptions[r]!==s&&(t.eventOptions[r]&&(xd(t,r,t.eventOptions[r]),delete t.eventOptions[r]),md(s)&&(t.eventOptions[r]=s,ud(t,r,s,{order:0})))})}l.registerEventOptions=i})(Sr||(Sr={}));var oi=Sr;var{deg2rad:Cr}=_,{clamp:yd,correctFloat:ms,defined:Tr,destroyObjectProperties:bd,extend:vd,fireEvent:Oi,isNumber:gs,merge:Sd,objectEach:Cd,pick:Kt}=E,Mr=class{constructor(i,t,e,s,r){this.isNew=!0,this.isNewLabel=!0,this.axis=i,this.pos=t,this.type=e||"",this.parameters=r||{},this.tickmarkOffset=this.parameters.tickmarkOffset,this.options=this.parameters.options,Oi(this,"init"),!e&&!s&&this.addLabel()}addLabel(){let i=this,t=i.axis,e=t.options,s=t.chart,r=t.categories,n=t.logarithmic,o=t.names,a=i.pos,h=Kt(i.options&&i.options.labels,e.labels),c=t.tickPositions,f=a===c[0],d=a===c[c.length-1],p=(!h.step||h.step===1)&&t.tickInterval===1,u=c.info,m=i.label,g,x,y,b=this.parameters.category||(r?Kt(r[a],o[a],a):a);n&&gs(b)&&(b=ms(n.lin2log(b))),t.dateTime&&(u?(x=s.time.resolveDTLFormat(e.dateTimeLabelFormats[!e.grid&&u.higherRanks[a]||u.unitName]),g=x.main):gs(b)&&(g=t.dateTime.getXDateFormat(b,e.dateTimeLabelFormats||{}))),i.isFirst=f,i.isLast=d;let v={axis:t,chart:s,dateTimeLabelFormat:g,isFirst:f,isLast:d,pos:a,tick:i,tickPositionInfo:u,value:b};Oi(this,"labelFormat",v);let C=M=>h.formatter?h.formatter.call(M,M):h.format?(M.text=t.defaultLabelFormatter.call(M),St.format(h.format,M,s)):t.defaultLabelFormatter.call(M),S=C.call(v,v),T=x&&x.list;T?i.shortenLabel=function(){for(y=0;y<T.length;y++)if(vd(v,{dateTimeLabelFormat:T[y]}),m.attr({text:C.call(v,v)}),m.getBBox().width<t.getSlotWidth(i)-2*(h.padding||0))return;m.attr({text:""})}:i.shortenLabel=void 0,p&&t._addedPlotLB&&i.moveLabel(S,h),!Tr(m)&&!i.movedLabel?(i.label=m=i.createLabel(S,h),i.rotation=0):m&&m.textStr!==S&&!p&&(m.textWidth&&!h.style.width&&!m.styles.width&&m.css({width:null}),m.attr({text:S}),m.textPxLength=m.getBBox().width)}createLabel(i,t,e){let s=this.axis,r=s.chart,n=Tr(i)&&t.enabled?r.renderer.text(i,e?.x,e?.y,t.useHTML).add(s.labelGroup):void 0;return n&&(r.styledMode||n.css(Sd(t.style)),n.textPxLength=n.getBBox().width),n}destroy(){bd(this,this.axis)}getPosition(i,t,e,s){let r=this.axis,n=r.chart,o=s&&n.oldChartHeight||n.chartHeight,a={x:i?ms(r.translate(t+e,void 0,void 0,s)+r.transB):r.left+r.offset+(r.opposite?(s&&n.oldChartWidth||n.chartWidth)-r.right-r.left:0),y:i?o-r.bottom+r.offset-(r.opposite?r.height:0):ms(o-r.translate(t+e,void 0,void 0,s)-r.transB)};return a.y=yd(a.y,-1e5,1e5),Oi(this,"afterGetPosition",{pos:a}),a}getLabelPosition(i,t,e,s,r,n,o,a){let h=this.axis,c=h.transA,f=h.isLinked&&h.linkedParent?h.linkedParent.reversed:h.reversed,d=h.staggerLines,p=h.tickRotCorr||{x:0,y:0},u=!s&&!h.reserveSpaceDefault?-h.labelOffset*(h.labelAlign==="center"?.5:1):0,m=r.distance,g={},x,y;return h.side===0?x=e.rotation?-m:-e.getBBox().height:h.side===2?x=p.y+m:x=Math.cos(e.rotation*Cr)*(p.y-e.getBBox(!1,0).height/2),Tr(r.y)&&(x=h.side===0&&h.horiz?r.y+x:r.y),i=i+Kt(r.x,[0,1,0,-1][h.side]*m)+u+p.x-(n&&s?n*c*(f?-1:1):0),t=t+x-(n&&!s?n*c*(f?1:-1):0),d&&(y=o/(a||1)%d,h.opposite&&(y=d-y-1),t+=y*(h.labelOffset/d)),g.x=i,g.y=Math.round(t),Oi(this,"afterGetLabelPosition",{pos:g,tickmarkOffset:n,index:o}),g}getLabelSize(){return this.label?this.label.getBBox()[this.axis.horiz?"height":"width"]:0}getMarkPath(i,t,e,s,r=!1,n){return n.crispLine([["M",i,t],["L",i+(r?0:-e),t+(r?e:0)]],s)}handleOverflow(i){let t=this,e=this.axis,s=e.options.labels,r=i.x,n=e.chart.chartWidth,o=e.chart.spacing,a=Kt(e.labelLeft,Math.min(e.pos,o[3])),h=Kt(e.labelRight,Math.max(e.isRadial?0:e.pos+e.len,n-o[1])),c=this.label,f=this.rotation,d={left:0,center:.5,right:1}[e.labelAlign||c.attr("align")],p=c.getBBox().width,u=e.getSlotWidth(t),m=d,g={},x=u,y=1,b,v,C;!f&&s.overflow==="justify"?(b=r-d*p,v=r+(1-d)*p,b<a?x=i.x+x*(1-d)-a:v>h&&(x=h-i.x+x*d,y=-1),x=Math.min(u,x),x<u&&e.labelAlign==="center"&&(i.x+=y*(u-x-m*(u-Math.min(p,x)))),(p>x||e.autoRotation&&(c.styles||{}).width)&&(C=x)):f<0&&r-d*p<a?C=Math.round(r/Math.cos(f*Cr)-a):f>0&&r+d*p>h&&(C=Math.round((n-r)/Math.cos(f*Cr))),C&&(t.shortenLabel?t.shortenLabel():(g.width=Math.floor(C)+"px",(s.style||{}).textOverflow||(g.textOverflow="ellipsis"),c.css(g)))}moveLabel(i,t){let e=this,s=e.label,r=e.axis,n=!1,o;s&&s.textStr===i?(e.movedLabel=s,n=!0,delete e.label):Cd(r.ticks,function(a){!n&&!a.isNew&&a!==e&&a.label&&a.label.textStr===i&&(e.movedLabel=a.label,n=!0,a.labelPos=e.movedLabel.xy,delete a.label)}),!n&&(e.labelPos||s)&&(o=e.labelPos||s.xy,e.movedLabel=e.createLabel(i,t,o),e.movedLabel&&e.movedLabel.attr({opacity:0}))}render(i,t,e){let s=this,r=s.axis,n=r.horiz,o=s.pos,a=Kt(s.tickmarkOffset,r.tickmarkOffset),h=s.getPosition(n,o,a,t),c=h.x,f=h.y,d=r.pos,p=d+r.len,u=n?c:f;!r.chart.polar&&s.isNew&&(ms(u)<d||u>p)&&(e=0);let m=Kt(e,s.label&&s.label.newOpacity,1);e=Kt(e,1),this.isActive=!0,this.renderGridLine(t,e),this.renderMark(h,e),this.renderLabel(h,t,m,i),s.isNew=!1,Oi(this,"afterRender")}renderGridLine(i,t){let e=this,s=e.axis,r=s.options,n={},o=e.pos,a=e.type,h=Kt(e.tickmarkOffset,s.tickmarkOffset),c=s.chart.renderer,f=e.gridLine,d,p=r.gridLineWidth,u=r.gridLineColor,m=r.gridLineDashStyle;e.type==="minor"&&(p=r.minorGridLineWidth,u=r.minorGridLineColor,m=r.minorGridLineDashStyle),f||(s.chart.styledMode||(n.stroke=u,n["stroke-width"]=p||0,n.dashstyle=m),a||(n.zIndex=1),i&&(t=0),e.gridLine=f=c.path().attr(n).addClass("highcharts-"+(a?a+"-":"")+"grid-line").add(s.gridGroup)),f&&(d=s.getPlotLinePath({value:o+h,lineWidth:f.strokeWidth(),force:"pass",old:i,acrossPanes:!1}),d&&f[i||e.isNew?"attr":"animate"]({d,opacity:t}))}renderMark(i,t){let e=this,s=e.axis,r=s.options,n=s.chart.renderer,o=e.type,a=s.tickSize(o?o+"Tick":"tick"),h=i.x,c=i.y,f=Kt(r[o!=="minor"?"tickWidth":"minorTickWidth"],!o&&s.isXAxis?1:0),d=r[o!=="minor"?"tickColor":"minorTickColor"],p=e.mark,u=!p;a&&(s.opposite&&(a[0]=-a[0]),p||(e.mark=p=n.path().addClass("highcharts-"+(o?o+"-":"")+"tick").add(s.axisGroup),s.chart.styledMode||p.attr({stroke:d,"stroke-width":f})),p[u?"attr":"animate"]({d:e.getMarkPath(h,c,a[0],p.strokeWidth(),s.horiz,n),opacity:t}))}renderLabel(i,t,e,s){let r=this,n=r.axis,o=n.horiz,a=n.options,h=r.label,c=a.labels,f=c.step,d=Kt(r.tickmarkOffset,n.tickmarkOffset),p=i.x,u=i.y,m=!0;h&&gs(p)&&(h.xy=i=r.getLabelPosition(p,u,h,o,c,d,s,f),r.isFirst&&!r.isLast&&!a.showFirstLabel||r.isLast&&!r.isFirst&&!a.showLastLabel?m=!1:o&&!c.step&&!c.rotation&&!t&&e!==0&&r.handleOverflow(i),f&&s%f&&(m=!1),m&&gs(i.y)?(i.opacity=e,h[r.isNewLabel?"attr":"animate"](i).show(!0),r.isNewLabel=!1):(h.hide(),r.isNewLabel=!0))}replaceMovedLabel(){let i=this,t=i.label,e=i.axis;t&&!i.isNew&&(t.animate({opacity:0},void 0,t.destroy),delete i.label),e.isDirty=!0,i.label=i.movedLabel,delete i.movedLabel}},ae=Mr;var{animObject:Td}=nt,{xAxis:Jo,yAxis:Md}=Qo,{defaultOptions:kr}=vt,{registerEventOptions:wd}=oi,{deg2rad:Dd}=_,{arrayMax:ta,arrayMin:kd,clamp:wr,correctFloat:zt,defined:lt,destroyObjectProperties:Pd,erase:ea,error:Dr,extend:Pr,fireEvent:xt,getClosestDistance:ia,insertItem:Od,isArray:sa,isNumber:H,isString:ra,merge:bs,normalizeTickInterval:Ad,objectEach:xs,pick:q,relativeLength:ys,removeEvent:Ed,splat:Ld,syncTimeout:Id}=E,na=(l,i)=>Ad(i,void 0,void 0,q(l.options.allowDecimals,i<.5||l.tickAmount!==void 0),!!l.tickAmount);Pr(kr,{xAxis:Jo,yAxis:bs(Jo,Md)});var _d=(()=>{class l{constructor(t,e,s){this.init(t,e,s)}init(t,e,s=this.coll){let r=s==="xAxis",n=this,o=n.isZAxis||(t.inverted?!r:r);n.chart=t,n.horiz=o,n.isXAxis=r,n.coll=s,xt(this,"init",{userOptions:e}),n.opposite=q(e.opposite,n.opposite),n.side=q(e.side,n.side,o?n.opposite?0:2:n.opposite?1:3),n.setOptions(e);let a=this.options,h=a.labels,c=a.type;n.userOptions=e,n.minPixelPadding=0,n.reversed=q(a.reversed,n.reversed),n.visible=a.visible,n.zoomEnabled=a.zoomEnabled,n.hasNames=c==="category"||a.categories===!0,n.categories=sa(a.categories)&&a.categories||(n.hasNames?[]:void 0),n.names||(n.names=[],n.names.keys={}),n.plotLinesAndBandsGroups={},n.positiveValuesOnly=!!n.logarithmic,n.isLinked=lt(a.linkedTo),n.ticks={},n.labelEdge=[],n.minorTicks={},n.plotLinesAndBands=[],n.alternateBands={},n.len??(n.len=0),n.minRange=n.userMinRange=a.minRange||a.maxZoom,n.range=a.range,n.offset=a.offset||0,n.max=void 0,n.min=void 0;let f=q(a.crosshair,Ld(t.options.tooltip.crosshairs)[r?0:1]);n.crosshair=f===!0?{}:f,t.axes.indexOf(n)===-1&&(r?t.axes.splice(t.xAxis.length,0,n):t.axes.push(n),Od(this,t[this.coll])),t.orderItems(n.coll),n.series=n.series||[],t.inverted&&!n.isZAxis&&r&&!lt(n.reversed)&&(n.reversed=!0),n.labelRotation=H(h.rotation)?h.rotation:void 0,wd(n,a),xt(this,"afterInit")}setOptions(t){let e=this.horiz?{labels:{autoRotation:[-45],padding:4},margin:15}:{labels:{padding:1},title:{rotation:90*this.side}};this.options=bs(e,kr[this.coll],t),xt(this,"afterSetOptions",{userOptions:t})}defaultLabelFormatter(){let t=this.axis,e=this.chart,{numberFormatter:s}=e,r=H(this.value)?this.value:NaN,n=t.chart.time,o=t.categories,a=this.dateTimeLabelFormat,h=kr.lang,c=h.numericSymbols,f=h.numericSymbolMagnitude||1e3,d=t.logarithmic?Math.abs(r):t.tickInterval,p=c&&c.length,u,m;if(o)m=`${this.value}`;else if(a)m=n.dateFormat(a,r);else if(p&&c&&d>=1e3)for(;p--&&typeof m>"u";)u=Math.pow(f,p+1),d>=u&&r*10%u===0&&c[p]!==null&&r!==0&&(m=s(r/u,-1)+c[p]);return typeof m>"u"&&(Math.abs(r)>=1e4?m=s(r,-1):m=s(r,-1,void 0,"")),m}getSeriesExtremes(){let t=this,e;xt(this,"getSeriesExtremes",null,function(){t.hasVisibleSeries=!1,t.dataMin=t.dataMax=t.threshold=void 0,t.softThreshold=!t.isXAxis,t.series.forEach(s=>{if(s.reserveSpace()){let r=s.options,n,o=r.threshold,a,h;if(t.hasVisibleSeries=!0,t.positiveValuesOnly&&(o||0)<=0&&(o=void 0),t.isXAxis)n=s.xData,n&&n.length&&(n=t.logarithmic?n.filter(c=>c>0):n,e=s.getXExtremes(n),a=e.min,h=e.max,!H(a)&&!(a instanceof Date)&&(n=n.filter(H),e=s.getXExtremes(n),a=e.min,h=e.max),n.length&&(t.dataMin=Math.min(q(t.dataMin,a),a),t.dataMax=Math.max(q(t.dataMax,h),h)));else{let c=s.applyExtremes();H(c.dataMin)&&(a=c.dataMin,t.dataMin=Math.min(q(t.dataMin,a),a)),H(c.dataMax)&&(h=c.dataMax,t.dataMax=Math.max(q(t.dataMax,h),h)),lt(o)&&(t.threshold=o),(!r.softThreshold||t.positiveValuesOnly)&&(t.softThreshold=!1)}}})}),xt(this,"afterGetSeriesExtremes")}translate(t,e,s,r,n,o){let a=this.linkedParent||this,h=r&&a.old?a.old.min:a.min;if(!H(h))return NaN;let c=a.minPixelPadding,f=(a.isOrdinal||a.brokenAxis?.hasBreaks||a.logarithmic&&n)&&a.lin2val,d=1,p=0,u=r&&a.old?a.old.transA:a.transA,m=0;return u||(u=a.transA),s&&(d*=-1,p=a.len),a.reversed&&(d*=-1,p-=d*(a.sector||a.len)),e?(t=t*d+p,t-=c,m=t/u+h,f&&(m=a.lin2val(m))):(f&&(t=a.val2lin(t)),m=d*(t-h)*u+p+d*c+(H(o)?u*o:0),a.isRadial||(m=zt(m))),m}toPixels(t,e){return this.translate(t,!1,!this.horiz,void 0,!0)+(e?0:this.pos)}toValue(t,e){return this.translate(t-(e?0:this.pos),!0,!this.horiz,void 0,!0)}getPlotLinePath(t){let e=this,s=e.chart,r=e.left,n=e.top,o=t.old,a=t.value,h=t.lineWidth,c=o&&s.oldChartHeight||s.chartHeight,f=o&&s.oldChartWidth||s.chartWidth,d=e.transB,p=t.translatedValue,u=t.force,m,g,x,y,b;function v(S,T,M){return u!=="pass"&&(S<T||S>M)&&(u?S=wr(S,T,M):b=!0),S}let C={value:a,lineWidth:h,old:o,force:u,acrossPanes:t.acrossPanes,translatedValue:p};return xt(this,"getPlotLinePath",C,function(S){p=q(p,e.translate(a,void 0,void 0,o)),p=wr(p,-1e5,1e5),m=x=p+d,g=y=c-p-d,H(p)?e.horiz?(g=n,y=c-e.bottom+(s.scrollablePixelsY||0),m=x=v(m,r,r+e.width)):(m=r,x=f-e.right+(s.scrollablePixelsX||0),g=y=v(g,n,n+e.height)):(b=!0,u=!1),S.path=b&&!u?void 0:s.renderer.crispLine([["M",m,g],["L",x,y]],h||1)}),C.path}getLinearTickPositions(t,e,s){let r=zt(Math.floor(e/t)*t),n=zt(Math.ceil(s/t)*t),o=[],a,h,c;if(zt(r+t)===r&&(c=20),this.single)return[e];for(a=r;a<=n&&(o.push(a),a=zt(a+t,c),a!==h);)h=a;return o}getMinorTickInterval(){let{minorTicks:t,minorTickInterval:e}=this.options;if(t===!0)return q(e,"auto");if(t!==!1)return e}getMinorTickPositions(){let t=this,e=t.options,s=t.tickPositions,r=t.minorTickInterval,n=t.pointRangePadding||0,o=(t.min||0)-n,a=(t.max||0)+n,h=a-o,c=[],f;if(h&&h/r<t.len/3){let d=t.logarithmic;if(d)this.paddedTicks.forEach(function(p,u,m){u&&c.push.apply(c,d.getLogTickPositions(r,m[u-1],m[u],!0))});else if(t.dateTime&&this.getMinorTickInterval()==="auto")c=c.concat(t.getTimeTicks(t.dateTime.normalizeTimeTickInterval(r),o,a,e.startOfWeek));else for(f=o+(s[0]-o)%r;f<=a&&f!==c[0];f+=r)c.push(f)}return c.length!==0&&t.trimTicks(c),c}adjustForMinRange(){let t=this,e=t.options,s=t.logarithmic,{max:r,min:n,minRange:o}=t,a,h,c,f,d;t.isXAxis&&typeof o>"u"&&!s&&(lt(e.min)||lt(e.max)||lt(e.floor)||lt(e.ceiling)?o=null:(c=ia(t.series.map(p=>(p.xIncrement?p.xData?.slice(0,2):p.xData)||[]))||0,o=Math.min(c*5,t.dataMax-t.dataMin))),H(r)&&H(n)&&H(o)&&r-n<o&&(h=t.dataMax-t.dataMin>=o,a=(o-r+n)/2,f=[n-a,q(e.min,n-a)],h&&(f[2]=s?s.log2lin(t.dataMin):t.dataMin),n=ta(f),d=[n+o,q(e.max,n+o)],h&&(d[2]=s?s.log2lin(t.dataMax):t.dataMax),r=kd(d),r-n<o&&(f[0]=r-o,f[1]=q(e.min,r-o),n=ta(f))),t.minRange=o,t.min=n,t.max=r}getClosest(){let t,e;if(this.categories)e=1;else{let s=[];this.series.forEach(function(r){let n=r.closestPointRange;r.xData?.length===1?s.push(r.xData[0]):!r.noSharedTooltip&<(n)&&r.reserveSpace()&&(e=lt(e)?Math.min(e,n):n)}),s.length&&(s.sort((r,n)=>r-n),t=ia([s]))}return t&&e?Math.min(t,e):t||e}nameToX(t){let e=sa(this.options.categories),s=e?this.categories:this.names,r=t.options.x,n;return t.series.requireSorting=!1,lt(r)||(r=this.options.uniqueNames&&s?e?s.indexOf(t.name):q(s.keys[t.name],-1):t.series.autoIncrement()),r===-1?!e&&s&&(n=s.length):n=r,typeof n<"u"?(this.names[n]=t.name,this.names.keys[t.name]=n):t.x&&(n=t.x),n}updateNames(){let t=this,e=this.names;e.length>0&&(Object.keys(e.keys).forEach(function(r){delete e.keys[r]}),e.length=0,this.minRange=this.userMinRange,(this.series||[]).forEach(r=>{r.xIncrement=null,(!r.points||r.isDirtyData)&&(t.max=Math.max(t.max,r.xData.length-1),r.processData(),r.generatePoints()),r.data.forEach(function(n,o){let a;n?.options&&typeof n.name<"u"&&(a=t.nameToX(n),typeof a<"u"&&a!==n.x&&(n.x=a,r.xData[o]=a))})}))}setAxisTranslation(){let t=this,e=t.max-t.min,s=t.linkedParent,r=!!t.categories,n=t.isXAxis,o=t.axisPointRange||0,a,h=0,c=0,f,d=t.transA;(n||r||o)&&(a=t.getClosest(),s?(h=s.minPointOffset,c=s.pointRangePadding):t.series.forEach(function(p){let u=r?1:n?q(p.options.pointRange,a,0):t.axisPointRange||0,m=p.options.pointPlacement;if(o=Math.max(o,u),!t.single||r){let g=p.is("xrange")?!n:n;h=Math.max(h,g&&ra(m)?0:u/2),c=Math.max(c,g&&m==="on"?0:u)}}),f=t.ordinal&&t.ordinal.slope&&a?t.ordinal.slope/a:1,t.minPointOffset=h=h*f,t.pointRangePadding=c=c*f,t.pointRange=Math.min(o,t.single&&r?1:e),n&&a&&(t.closestPointRange=a)),t.translationSlope=t.transA=d=t.staticScale||t.len/(e+c||1),t.transB=t.horiz?t.left:t.bottom,t.minPixelPadding=d*h,xt(this,"afterSetAxisTranslation")}minFromRange(){let{max:t,min:e}=this;return H(t)&&H(e)&&t-e||void 0}setTickInterval(t){let e=this,{categories:s,chart:r,dataMax:n,dataMin:o,dateTime:a,isXAxis:h,logarithmic:c,options:f,softThreshold:d}=e,p=H(e.threshold)?e.threshold:void 0,u=e.minRange||0,{ceiling:m,floor:g,linkedTo:x,softMax:y,softMin:b}=f,v=H(x)&&r[e.coll]?.[x],C=f.tickPixelInterval,S=f.maxPadding,T=f.minPadding,M=0,w,P=H(f.tickInterval)&&f.tickInterval>=0?f.tickInterval:void 0,L,R,I,z;if(!a&&!s&&!v&&this.getTickAmount(),I=q(e.userMin,f.min),z=q(e.userMax,f.max),v?(e.linkedParent=v,w=v.getExtremes(),e.min=q(w.min,w.dataMin),e.max=q(w.max,w.dataMax),f.type!==v.options.type&&Dr(11,!0,r)):(d&<(p)&&H(n)&&H(o)&&(o>=p?(L=p,T=0):n<=p&&(R=p,S=0)),e.min=q(I,L,o),e.max=q(z,R,n)),H(e.max)&&H(e.min)&&(c&&(e.positiveValuesOnly&&!t&&Math.min(e.min,q(o,e.min))<=0&&Dr(10,!0,r),e.min=zt(c.log2lin(e.min),16),e.max=zt(c.log2lin(e.max),16)),e.range&&H(o)&&(e.userMin=e.min=I=Math.max(o,e.minFromRange()||0),e.userMax=z=e.max,e.range=void 0)),xt(e,"foundExtremes"),e.adjustForMinRange(),H(e.min)&&H(e.max)){if(!H(e.userMin)&&H(b)&&b<e.min&&(e.min=I=b),!H(e.userMax)&&H(y)&&y>e.max&&(e.max=z=y),!s&&!e.axisPointRange&&!e.stacking?.usePercentage&&!v&&(M=e.max-e.min,M&&(!lt(I)&&T&&(e.min-=M*T),!lt(z)&&S&&(e.max+=M*S))),!H(e.userMin)&&H(g)&&(e.min=Math.max(e.min,g)),!H(e.userMax)&&H(m)&&(e.max=Math.min(e.max,m)),d&&H(o)&&H(n)){let W=p||0;!lt(I)&&e.min<W&&o>=W?e.min=f.minRange?Math.min(W,e.max-u):W:!lt(z)&&e.max>W&&n<=W&&(e.max=f.minRange?Math.max(W,e.min+u):W)}!r.polar&&e.min>e.max&&(lt(f.min)?e.max=e.min:lt(f.max)&&(e.min=e.max)),M=e.max-e.min}if(e.min===e.max||!H(e.min)||!H(e.max)?e.tickInterval=1:v&&!P&&C===v.options.tickPixelInterval?e.tickInterval=P=v.tickInterval:e.tickInterval=q(P,this.tickAmount?M/Math.max(this.tickAmount-1,1):void 0,s?1:M*C/Math.max(e.len,C)),h&&!t){let W=e.min!==e.old?.min||e.max!==e.old?.max;e.series.forEach(function(tt){tt.forceCrop=tt.forceCropping?.(),tt.processData(W)}),xt(this,"postProcessData",{hasExtremesChanged:W})}e.setAxisTranslation(),xt(this,"initialAxisTranslation"),e.pointRange&&!P&&(e.tickInterval=Math.max(e.pointRange,e.tickInterval));let Y=q(f.minTickInterval,a&&!e.series.some(W=>W.noSharedTooltip)?e.closestPointRange:0);!P&&e.tickInterval<Y&&(e.tickInterval=Y),!a&&!c&&!P&&(e.tickInterval=na(e,e.tickInterval)),this.tickAmount||(e.tickInterval=e.unsquish()),this.setTickPositions()}setTickPositions(){let t=this,e=this.options,s=e.tickPositions,r=e.tickPositioner,n=this.getMinorTickInterval(),o=!this.isPanning,a=o&&e.startOnTick,h=o&&e.endOnTick,c=[],f;if(this.tickmarkOffset=this.categories&&e.tickmarkPlacement==="between"&&this.tickInterval===1?.5:0,this.minorTickInterval=n==="auto"&&this.tickInterval?this.tickInterval/e.minorTicksPerMajor:n,this.single=this.min===this.max&<(this.min)&&!this.tickAmount&&(this.min%1===0||e.allowDecimals!==!1),s)c=s.slice();else if(H(this.min)&&H(this.max)){if(!t.ordinal?.positions&&(this.max-this.min)/this.tickInterval>Math.max(2*this.len,200))c=[this.min,this.max],Dr(19,!1,this.chart);else if(t.dateTime)c=t.getTimeTicks(t.dateTime.normalizeTimeTickInterval(this.tickInterval,e.units),this.min,this.max,e.startOfWeek,t.ordinal?.positions,this.closestPointRange,!0);else if(t.logarithmic)c=t.logarithmic.getLogTickPositions(this.tickInterval,this.min,this.max);else{let d=this.tickInterval,p=d;for(;p<=d*2&&(c=this.getLinearTickPositions(this.tickInterval,this.min,this.max),this.tickAmount&&c.length>this.tickAmount);)this.tickInterval=na(this,p*=1.1)}c.length>this.len&&(c=[c[0],c[c.length-1]],c[0]===c[1]&&(c.length=1)),r&&(this.tickPositions=c,f=r.apply(t,[this.min,this.max]),f&&(c=f))}this.tickPositions=c,this.paddedTicks=c.slice(0),this.trimTicks(c,a,h),!this.isLinked&&H(this.min)&&H(this.max)&&(this.single&&c.length<2&&!this.categories&&!this.series.some(d=>d.is("heatmap")&&d.options.pointPlacement==="between")&&(this.min-=.5,this.max+=.5),!s&&!f&&this.adjustTickAmount()),xt(this,"afterSetTickPositions")}trimTicks(t,e,s){let r=t[0],n=t[t.length-1],o=!this.isOrdinal&&this.minPointOffset||0;if(xt(this,"trimTicks"),!this.isLinked){if(e&&r!==-1/0)this.min=r;else for(;this.min-o>t[0];)t.shift();if(s)this.max=n;else for(;this.max+o<t[t.length-1];)t.pop();t.length===0&<(r)&&!this.options.tickPositions&&t.push((n+r)/2)}}alignToOthers(){let t=this,e=t.chart,s=[this],r=t.options,n=e.options.chart,o=this.coll==="yAxis"&&n.alignThresholds,a=[],h;if(t.thresholdAlignment=void 0,(n.alignTicks!==!1&&r.alignTicks||o)&&r.startOnTick!==!1&&r.endOnTick!==!1&&!t.logarithmic){let c=d=>{let{horiz:p,options:u}=d;return[p?u.left:u.top,u.width,u.height,u.pane].join(",")},f=c(this);e[this.coll].forEach(function(d){let{series:p}=d;p.length&&p.some(u=>u.visible)&&d!==t&&c(d)===f&&(h=!0,s.push(d))})}if(h&&o){s.forEach(f=>{let d=f.getThresholdAlignment(t);H(d)&&a.push(d)});let c=a.length>1?a.reduce((f,d)=>f+=d,0)/a.length:void 0;s.forEach(f=>{f.thresholdAlignment=c})}return h}getThresholdAlignment(t){if((!H(this.dataMin)||this!==t&&this.series.some(e=>e.isDirty||e.isDirtyData))&&this.getSeriesExtremes(),H(this.threshold)){let e=wr((this.threshold-(this.dataMin||0))/((this.dataMax||0)-(this.dataMin||0)),0,1);return this.options.reversed&&(e=1-e),e}}getTickAmount(){let t=this,e=this.options,s=e.tickPixelInterval,r=e.tickAmount;!lt(e.tickInterval)&&!r&&this.len<s&&!this.isRadial&&!t.logarithmic&&e.startOnTick&&e.endOnTick&&(r=2),!r&&this.alignToOthers()&&(r=Math.ceil(this.len/s)+1),r<4&&(this.finalTickAmt=r,r=5),this.tickAmount=r}adjustTickAmount(){let t=this,{finalTickAmt:e,max:s,min:r,options:n,tickPositions:o,tickAmount:a,thresholdAlignment:h}=t,c=o?.length,f=q(t.threshold,t.softThreshold?0:null),d,p,u=t.tickInterval,m,g=()=>o.push(zt(o[o.length-1]+u)),x=()=>o.unshift(zt(o[0]-u));if(H(h)&&(m=h<.5?Math.ceil(h*(a-1)):Math.floor(h*(a-1)),n.reversed&&(m=a-1-m)),t.hasData()&&H(r)&&H(s)){let y=()=>{t.transA*=(c-1)/(a-1),t.min=n.startOnTick?o[0]:Math.min(r,o[0]),t.max=n.endOnTick?o[o.length-1]:Math.max(s,o[o.length-1])};if(H(m)&&H(t.threshold)){for(;o[m]!==f||o.length!==a||o[0]>r||o[o.length-1]<s;){for(o.length=0,o.push(t.threshold);o.length<a;)o[m]===void 0||o[m]>t.threshold?x():g();if(u>t.tickInterval*8)break;u*=2}y()}else if(c<a){for(;o.length<a;)o.length%2||r===f?g():x();y()}if(lt(e)){for(p=d=o.length;p--;)(e===3&&p%2===1||e<=2&&p>0&&p<d-1)&&o.splice(p,1);t.finalTickAmt=void 0}}}setScale(){let t=this,{coll:e,stacking:s}=t,r=!1,n=!1;t.series.forEach(a=>{r=r||a.isDirtyData||a.isDirty,n=n||a.xAxis&&a.xAxis.isDirty||!1}),t.setAxisSize();let o=t.len!==(t.old&&t.old.len);o||r||n||t.isLinked||t.forceRedraw||t.userMin!==(t.old&&t.old.userMin)||t.userMax!==(t.old&&t.old.userMax)||t.alignToOthers()?(s&&e==="yAxis"&&s.buildStacks(),t.forceRedraw=!1,t.userMinRange||(t.minRange=void 0),t.getSeriesExtremes(),t.setTickInterval(),s&&e==="xAxis"&&s.buildStacks(),t.isDirty||(t.isDirty=o||t.min!==t.old?.min||t.max!==t.old?.max)):s&&s.cleanStacks(),r&&delete t.allExtremes,xt(this,"afterSetScale")}setExtremes(t,e,s=!0,r,n){this.series.forEach(o=>{delete o.kdTree}),n=Pr(n,{min:t,max:e}),xt(this,"setExtremes",n,o=>{this.userMin=o.min,this.userMax=o.max,this.eventArgs=o,s&&this.chart.redraw(r)})}setAxisSize(){let t=this.chart,e=this.options,s=e.offsets||[0,0,0,0],r=this.horiz,n=this.width=Math.round(ys(q(e.width,t.plotWidth-s[3]+s[1]),t.plotWidth)),o=this.height=Math.round(ys(q(e.height,t.plotHeight-s[0]+s[2]),t.plotHeight)),a=this.top=Math.round(ys(q(e.top,t.plotTop+s[0]),t.plotHeight,t.plotTop)),h=this.left=Math.round(ys(q(e.left,t.plotLeft+s[3]),t.plotWidth,t.plotLeft));this.bottom=t.chartHeight-o-a,this.right=t.chartWidth-n-h,this.len=Math.max(r?n:o,0),this.pos=r?h:a}getExtremes(){let t=this,e=t.logarithmic;return{min:e?zt(e.lin2log(t.min)):t.min,max:e?zt(e.lin2log(t.max)):t.max,dataMin:t.dataMin,dataMax:t.dataMax,userMin:t.userMin,userMax:t.userMax}}getThreshold(t){let e=this,s=e.logarithmic,r=s?s.lin2log(e.min):e.min,n=s?s.lin2log(e.max):e.max;return t===null||t===-1/0?t=r:t===1/0?t=n:r>t?t=r:n<t&&(t=n),e.translate(t,0,1,0,1)}autoLabelAlign(t){let e=(q(t,0)-this.side*90+720)%360,s={align:"center"};return xt(this,"autoLabelAlign",s,function(r){e>15&&e<165?r.align="right":e>195&&e<345&&(r.align="left")}),s.align}tickSize(t){let e=this.options,s=q(e[t==="tick"?"tickWidth":"minorTickWidth"],t==="tick"&&this.isXAxis&&!this.categories?1:0),r=e[t==="tick"?"tickLength":"minorTickLength"],n;s&&r&&(e[t+"Position"]==="inside"&&(r=-r),n=[r,s]);let o={tickSize:n};return xt(this,"afterTickSize",o),o.tickSize}labelMetrics(){let t=this.chart.renderer,e=this.ticks,s=e[Object.keys(e)[0]]||{};return this.chart.renderer.fontMetrics(s.label||s.movedLabel||t.box)}unsquish(){let t=this.options.labels,e=t.padding||0,s=this.horiz,r=this.tickInterval,n=this.len/(((this.categories?1:0)+this.max-this.min)/r),o=t.rotation,a=zt(this.labelMetrics().h*.8),h=Math.max(this.max-this.min,0),c=function(m){let g=(m+2*e)/(n||1);return g=g>1?Math.ceil(g):1,g*r>h&&m!==1/0&&n!==1/0&&h&&(g=Math.ceil(h/r)),zt(g*r)},f=r,d,p=Number.MAX_VALUE,u;if(s){if(t.staggerLines||(H(o)?u=[o]:n<t.autoRotationLimit&&(u=t.autoRotation)),u){let m,g;for(let x of u)(x===o||x&&x>=-90&&x<=90)&&(m=c(Math.abs(a/Math.sin(Dd*x))),g=m+Math.abs(x/360),g<p&&(p=g,d=x,f=m))}}else f=c(a*.75);return this.autoRotation=u,this.labelRotation=q(d,H(o)?o:0),t.step?r:f}getSlotWidth(t){let e=this.chart,s=this.horiz,r=this.options.labels,n=Math.max(this.tickPositions.length-(this.categories?0:1),1),o=e.margin[3];if(t&&H(t.slotWidth))return t.slotWidth;if(s&&r.step<2)return r.rotation?0:(this.staggerLines||1)*this.len/n;if(!s){let a=r.style.width;if(a!==void 0)return parseInt(String(a),10);if(o)return o-e.spacing[3]}return e.chartWidth*.33}renderUnsquish(){let t=this.chart,e=t.renderer,s=this.tickPositions,r=this.ticks,n=this.options.labels,o=n.style,a=this.horiz,h=this.getSlotWidth(),c=Math.max(1,Math.round(h-(a?2*(n.padding||0):n.distance||0))),f={},d=this.labelMetrics(),p=o.textOverflow,u,m,g=0,x,y,b;if(ra(n.rotation)||(f.rotation=n.rotation||0),s.forEach(function(v){let C=r[v];C.movedLabel&&C.replaceMovedLabel(),C&&C.label&&C.label.textPxLength>g&&(g=C.label.textPxLength)}),this.maxLabelLength=g,this.autoRotation)g>c&&g>d.h?f.rotation=this.labelRotation:this.labelRotation=0;else if(h&&(u=c,!p))for(m="clip",y=s.length;!a&&y--;)b=s[y],x=r[b].label,x&&(x.styles.textOverflow==="ellipsis"?x.css({textOverflow:"clip"}):x.textPxLength>h&&x.css({width:h+"px"}),x.getBBox().height>this.len/s.length-(d.h-d.f)&&(x.specificTextOverflow="ellipsis"));f.rotation&&(u=g>t.chartHeight*.5?t.chartHeight*.33:g,p||(m="ellipsis")),this.labelAlign=n.align||this.autoLabelAlign(this.labelRotation),this.labelAlign&&(f.align=this.labelAlign),s.forEach(function(v){let C=r[v],S=C&&C.label,T=o.width,M={};S&&(S.attr(f),C.shortenLabel?C.shortenLabel():u&&!T&&o.whiteSpace!=="nowrap"&&(u<S.textPxLength||S.element.tagName==="SPAN")?(M.width=u+"px",p||(M.textOverflow=S.specificTextOverflow||m),S.css(M)):S.styles.width&&!M.width&&!T&&S.css({width:null}),delete S.specificTextOverflow,C.rotation=f.rotation)},this),this.tickRotCorr=e.rotCorr(d.b,this.labelRotation||0,this.side!==0)}hasData(){return this.series.some(function(t){return t.hasData()})||this.options.showEmpty&<(this.min)&<(this.max)}addTitle(t){let e=this,s=e.chart.renderer,r=e.horiz,n=e.opposite,o=e.options,a=o.title,h=e.chart.styledMode,c;e.axisTitle||(c=a.textAlign,c||(c=(r?{low:"left",middle:"center",high:"right"}:{low:n?"right":"left",middle:"center",high:n?"left":"right"})[a.align]),e.axisTitle=s.text(a.text||"",0,0,a.useHTML).attr({zIndex:7,rotation:a.rotation||0,align:c}).addClass("highcharts-axis-title"),h||e.axisTitle.css(bs(a.style)),e.axisTitle.add(e.axisGroup),e.axisTitle.isNew=!0),!h&&!a.style.width&&!e.isRadial&&e.axisTitle.css({width:e.len+"px"}),e.axisTitle[t?"show":"hide"](t)}generateTick(t){let e=this,s=e.ticks;s[t]?s[t].addLabel():s[t]=new ae(e,t)}createGroups(){let{axisParent:t,chart:e,coll:s,options:r}=this,n=e.renderer,o=(a,h,c)=>n.g(a).attr({zIndex:c}).addClass(`highcharts-${s.toLowerCase()}${h} `+(this.isRadial?`highcharts-radial-axis${h} `:"")+(r.className||"")).add(t);this.axisGroup||(this.gridGroup=o("grid","-grid",r.gridZIndex),this.axisGroup=o("axis","",r.zIndex),this.labelGroup=o("axis-labels","-labels",r.labels.zIndex))}getOffset(){let t=this,{chart:e,horiz:s,options:r,side:n,ticks:o,tickPositions:a,coll:h}=t,c=e.inverted&&!t.isZAxis?[1,0,3,2][n]:n,f=t.hasData(),d=r.title,p=r.labels,u=H(r.crossing),m=e.axisOffset,g=e.clipOffset,x=[-1,1,1,-1][n],y,b=0,v,C=0,S=0,T,M;if(t.showAxis=y=f||r.showEmpty,t.staggerLines=t.horiz&&p.staggerLines||void 0,t.createGroups(),f||t.isLinked?(a.forEach(function(w){t.generateTick(w)}),t.renderUnsquish(),t.reserveSpaceDefault=n===0||n===2||{1:"left",3:"right"}[n]===t.labelAlign,q(p.reserveSpace,u?!1:null,t.labelAlign==="center"?!0:null,t.reserveSpaceDefault)&&a.forEach(function(w){S=Math.max(o[w].getLabelSize(),S)}),t.staggerLines&&(S*=t.staggerLines),t.labelOffset=S*(t.opposite?-1:1)):xs(o,function(w,P){w.destroy(),delete o[P]}),d?.text&&d.enabled!==!1&&(t.addTitle(y),y&&!u&&d.reserveSpace!==!1&&(t.titleOffset=b=t.axisTitle.getBBox()[s?"height":"width"],v=d.offset,C=lt(v)?0:q(d.margin,s?5:10))),t.renderLine(),t.offset=x*q(r.offset,m[n]?m[n]+(r.margin||0):0),t.tickRotCorr=t.tickRotCorr||{x:0,y:0},n===0?M=-t.labelMetrics().h:n===2?M=t.tickRotCorr.y:M=0,T=Math.abs(S)+C,S&&(T-=M,T+=x*(s?q(p.y,t.tickRotCorr.y+x*p.distance):q(p.x,x*p.distance))),t.axisTitleMargin=q(v,T),t.getMaxLabelDimensions&&(t.maxLabelDimensions=t.getMaxLabelDimensions(o,a)),h!=="colorAxis"&&g){let w=this.tickSize("tick");m[n]=Math.max(m[n],(t.axisTitleMargin||0)+b+x*t.offset,T,a&&a.length&&w?w[0]+x*t.offset:0);let P=!t.axisLine||r.offset?0:t.axisLine.strokeWidth()/2;g[c]=Math.max(g[c],P)}xt(this,"afterGetOffset")}getLinePath(t){let e=this.chart,s=this.opposite,r=this.offset,n=this.horiz,o=this.left+(s?this.width:0)+r,a=e.chartHeight-this.bottom-(s?this.height:0)+r;return s&&(t*=-1),e.renderer.crispLine([["M",n?this.left:o,n?a:this.top],["L",n?e.chartWidth-this.right:o,n?a:e.chartHeight-this.bottom]],t)}renderLine(){this.axisLine||(this.axisLine=this.chart.renderer.path().addClass("highcharts-axis-line").add(this.axisGroup),this.chart.styledMode||this.axisLine.attr({stroke:this.options.lineColor,"stroke-width":this.options.lineWidth,zIndex:7}))}getTitlePosition(t){let e=this.horiz,s=this.left,r=this.top,n=this.len,o=this.options.title,a=e?s:r,h=this.opposite,c=this.offset,f=o.x,d=o.y,p=this.chart.renderer.fontMetrics(t),u=t?Math.max(t.getBBox(!1,0).height-p.h-1,0):0,m={low:a+(e?0:n),middle:a+n/2,high:a+(e?n:0)}[o.align],g=(e?r+this.height:s)+(e?1:-1)*(h?-1:1)*(this.axisTitleMargin||0)+[-u,u,p.f,-u][this.side],x={x:e?m+f:g+(h?this.width:0)+c+f,y:e?g+d-(h?this.height:0)+c:m+d};return xt(this,"afterGetTitlePosition",{titlePosition:x}),x}renderMinorTick(t,e){let s=this,r=s.minorTicks;r[t]||(r[t]=new ae(s,t,"minor")),e&&r[t].isNew&&r[t].render(null,!0),r[t].render(null,!1,1)}renderTick(t,e,s){let r=this,n=r.isLinked,o=r.ticks;(!n||t>=r.min&&t<=r.max||r.grid&&r.grid.isColumn)&&(o[t]||(o[t]=new ae(r,t)),s&&o[t].isNew&&o[t].render(e,!0,-1),o[t].render(e))}render(){let t=this,e=t.chart,s=t.logarithmic,r=e.renderer,n=t.options,o=t.isLinked,a=t.tickPositions,h=t.axisTitle,c=t.ticks,f=t.minorTicks,d=t.alternateBands,p=n.stackLabels,u=n.alternateGridColor,m=n.crossing,g=t.tickmarkOffset,x=t.axisLine,y=t.showAxis,b=Td(r.globalAnimation),v,C;if(t.labelEdge.length=0,t.overlap=!1,[c,f,d].forEach(function(S){xs(S,function(T){T.isActive=!1})}),H(m)){let S=this.isXAxis?e.yAxis[0]:e.xAxis[0],T=[1,-1,-1,1][this.side];if(S){let M=S.toPixels(m,!0);t.horiz&&(M=S.len-M),t.offset=T*M}}if(t.hasData()||o){let S=t.chart.hasRendered&&t.old&&H(t.old.min);t.minorTickInterval&&!t.categories&&t.getMinorTickPositions().forEach(function(T){t.renderMinorTick(T,S)}),a.length&&(a.forEach(function(T,M){t.renderTick(T,M,S)}),g&&(t.min===0||t.single)&&(c[-1]||(c[-1]=new ae(t,-1,null,!0)),c[-1].render(-1))),u&&a.forEach(function(T,M){C=typeof a[M+1]<"u"?a[M+1]+g:t.max-g,M%2===0&&T<t.max&&C<=t.max+(e.polar?-g:g)&&(d[T]||(d[T]=new _.PlotLineOrBand(t,{})),v=T+g,d[T].options={from:s?s.lin2log(v):v,to:s?s.lin2log(C):C,color:u,className:"highcharts-alternate-grid"},d[T].render(),d[T].isActive=!0)}),t._addedPlotLB||(t._addedPlotLB=!0,(n.plotLines||[]).concat(n.plotBands||[]).forEach(function(T){t.addPlotBandOrLine(T)}))}[c,f,d].forEach(function(S){let T=[],M=b.duration,w=function(){let P=T.length;for(;P--;)S[T[P]]&&!S[T[P]].isActive&&(S[T[P]].destroy(),delete S[T[P]])};xs(S,function(P,L){P.isActive||(P.render(L,!1,0),P.isActive=!1,T.push(L))}),Id(w,S===d||!e.hasRendered||!M?0:M)}),x&&(x[x.isPlaced?"animate":"attr"]({d:this.getLinePath(x.strokeWidth())}),x.isPlaced=!0,x[y?"show":"hide"](y)),h&&y&&(h[h.isNew?"attr":"animate"](t.getTitlePosition(h)),h.isNew=!1),p&&p.enabled&&t.stacking&&t.stacking.renderStackTotals(),t.old={len:t.len,max:t.max,min:t.min,transA:t.transA,userMax:t.userMax,userMin:t.userMin},t.isDirty=!1,xt(this,"afterRender")}redraw(){this.visible&&(this.render(),this.plotLinesAndBands.forEach(function(t){t.render()})),this.series.forEach(function(t){t.isDirty=!0})}getKeepProps(){return this.keepProps||l.keepProps}destroy(t){let e=this,s=e.plotLinesAndBands,r=this.eventOptions;if(xt(this,"destroy",{keepEvents:t}),t||Ed(e),[e.ticks,e.minorTicks,e.alternateBands].forEach(function(n){Pd(n)}),s){let n=s.length;for(;n--;)s[n].destroy()}["axisLine","axisTitle","axisGroup","gridGroup","labelGroup","cross","scrollbar"].forEach(function(n){e[n]&&(e[n]=e[n].destroy())});for(let n in e.plotLinesAndBandsGroups)e.plotLinesAndBandsGroups[n]=e.plotLinesAndBandsGroups[n].destroy();xs(e,function(n,o){e.getKeepProps().indexOf(o)===-1&&delete e[o]}),this.eventOptions=r}drawCrosshair(t,e){let s=this.crosshair,r=q(s&&s.snap,!0),n=this.chart,o,a,h,c=this.cross,f;if(xt(this,"drawCrosshair",{e:t,point:e}),t||(t=this.cross&&this.cross.e),!s||(lt(e)||!r)===!1)this.hideCrosshair();else{if(r?lt(e)&&(a=q(this.coll!=="colorAxis"?e.crosshairPos:null,this.isXAxis?e.plotX:this.len-e.plotY)):a=t&&(this.horiz?t.chartX-this.pos:this.len-t.chartY+this.pos),lt(a)&&(f={value:e&&(this.isXAxis?e.x:q(e.stackY,e.y)),translatedValue:a},n.polar&&Pr(f,{isCrosshair:!0,chartX:t&&t.chartX,chartY:t&&t.chartY,point:e}),o=this.getPlotLinePath(f)||null),!lt(o)){this.hideCrosshair();return}h=this.categories&&!this.isRadial,c||(this.cross=c=n.renderer.path().addClass("highcharts-crosshair highcharts-crosshair-"+(h?"category ":"thin ")+(s.className||"")).attr({zIndex:q(s.zIndex,2)}).add(),n.styledMode||(c.attr({stroke:s.color||(h?_t.parse("#ccd3ff").setOpacity(.25).get():"#cccccc"),"stroke-width":q(s.width,1)}).css({"pointer-events":"none"}),s.dashStyle&&c.attr({dashstyle:s.dashStyle}))),c.show().attr({d:o}),h&&!s.width&&c.attr({"stroke-width":this.transA}),this.cross.e=t}xt(this,"afterDrawCrosshair",{e:t,point:e})}hideCrosshair(){this.cross&&this.cross.hide(),xt(this,"afterHideCrosshair")}update(t,e){let s=this.chart;t=bs(this.userOptions,t),this.destroy(!0),this.init(s,t),s.isDirtyBox=!0,q(e,!0)&&s.redraw()}remove(t){let e=this.chart,s=this.coll,r=this.series,n=r.length;for(;n--;)r[n]&&r[n].remove(!1);ea(e.axes,this),ea(e[s]||[],this),e.orderItems(s),this.destroy(),e.isDirtyBox=!0,q(t,!0)&&e.redraw()}setTitle(t,e){this.update({title:t},e)}setCategories(t,e){this.update({categories:t},e)}}return l.keepProps=["coll","extKey","hcEvents","len","names","series","userMax","userMin"],l})(),Ai=_d;var{addEvent:Bd,getMagnitude:Rd,normalizeTickInterval:Wd,timeUnits:vs}=E,Or;(function(l){function i(r){if(!r.keepProps.includes("dateTime")){r.keepProps.push("dateTime");let n=r.prototype;n.getTimeTicks=t,Bd(r,"afterSetOptions",e)}return r}l.compose=i;function t(){return this.chart.time.getTimeTicks.apply(this.chart.time,arguments)}function e(){if(this.options.type!=="datetime"){this.dateTime=void 0;return}this.dateTime||(this.dateTime=new s(this))}class s{constructor(n){this.axis=n}normalizeTimeTickInterval(n,o){let a=o||[["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]],h=a[a.length-1],c=vs[h[0]],f=h[1],d;for(d=0;d<a.length;d++)if(h=a[d],c=vs[h[0]],f=h[1],a[d+1]){let u=(c*f[f.length-1]+vs[a[d+1][0]])/2;if(n<=u)break}c===vs.year&&n<5*c&&(f=[1,2,5]);let p=Wd(n/c,f,h[0]==="year"?Math.max(Rd(n/c),1):1);return{unitRange:c,count:p,unitName:h[0]}}getXDateFormat(n,o){let{axis:a}=this,h=a.chart.time;return a.closestPointRange?h.getDateFormat(a.closestPointRange,n,a.options.startOfWeek,o)||h.resolveDTLFormat(o.year).main:h.resolveDTLFormat(o.day).main}}l.Additions=s})(Or||(Or={}));var oa=Or;var{addEvent:aa,normalizeTickInterval:Nd,pick:Fd}=E,Ar;(function(l){function i(r){return r.keepProps.includes("logarithmic")||(r.keepProps.push("logarithmic"),aa(r,"init",t),aa(r,"afterInit",e)),r}l.compose=i;function t(r){let n=this,o=r.userOptions,a=n.logarithmic;o.type!=="logarithmic"?n.logarithmic=void 0:a||(a=n.logarithmic=new s(n))}function e(){let r=this,n=r.logarithmic;n&&(r.lin2val=function(o){return n.lin2log(o)},r.val2lin=function(o){return n.log2lin(o)})}class s{constructor(n){this.axis=n}getLogTickPositions(n,o,a,h){let c=this,f=c.axis,d=f.len,p=f.options,u=[];if(h||(c.minorAutoInterval=void 0),n>=.5)n=Math.round(n),u=f.getLinearTickPositions(n,o,a);else if(n>=.08){let m=Math.floor(o),g,x,y,b,v,C,S;for(n>.3?g=[1,2,4]:n>.15?g=[1,2,4,6,8]:g=[1,2,3,4,5,6,7,8,9],x=m;x<a+1&&!S;x++)for(b=g.length,y=0;y<b&&!S;y++)v=c.log2lin(c.lin2log(x)*g[y]),v>o&&(!h||C<=a)&&typeof C<"u"&&u.push(C),C>a&&(S=!0),C=v}else{let m=c.lin2log(o),g=c.lin2log(a),x=h?f.getMinorTickInterval():p.tickInterval,y=x==="auto"?null:x,b=p.tickPixelInterval/(h?5:1),v=h?d/f.tickPositions.length:d;n=Fd(y,c.minorAutoInterval,(g-m)*b/(v||1)),n=Nd(n),u=f.getLinearTickPositions(n,m,g).map(c.log2lin),h||(c.minorAutoInterval=n/5)}return h||(f.tickInterval=n),u}lin2log(n){return Math.pow(10,n)}log2lin(n){return Math.log(n)/Math.LN10}}l.Additions=s})(Ar||(Ar={}));var la=Ar;var{erase:zd,extend:Hd,isNumber:ha}=E,Er;(function(l){let i;function t(c){return this.addPlotBandOrLine(c,"plotBands")}function e(c,f){let d=this.userOptions,p=new i(this,c);if(this.visible&&(p=p.render()),p){if(this._addedPlotLB||(this._addedPlotLB=!0,(d.plotLines||[]).concat(d.plotBands||[]).forEach(u=>{this.addPlotBandOrLine(u)})),f){let u=d[f]||[];u.push(c),d[f]=u}this.plotLinesAndBands.push(p)}return p}function s(c){return this.addPlotBandOrLine(c,"plotLines")}function r(c,f){let d=f.prototype;return d.addPlotBand||(i=c,Hd(d,{addPlotBand:t,addPlotLine:s,addPlotBandOrLine:e,getPlotBandPath:n,removePlotBand:o,removePlotLine:h,removePlotBandOrLine:a})),f}l.compose=r;function n(c,f,d){d=d||this.options;let p=this.getPlotLinePath({value:f,force:!0,acrossPanes:d.acrossPanes}),u=[],m=this.horiz,g=!ha(this.min)||!ha(this.max)||c<this.min&&f<this.min||c>this.max&&f>this.max,x=this.getPlotLinePath({value:c,force:!0,acrossPanes:d.acrossPanes}),y,b=1,v;if(x&&p)for(g&&(v=x.toString()===p.toString(),b=0),y=0;y<x.length;y+=2){let C=x[y],S=x[y+1],T=p[y],M=p[y+1];(C[0]==="M"||C[0]==="L")&&(S[0]==="M"||S[0]==="L")&&(T[0]==="M"||T[0]==="L")&&(M[0]==="M"||M[0]==="L")&&(m&&T[1]===C[1]?(T[1]+=b,M[1]+=b):!m&&T[2]===C[2]&&(T[2]+=b,M[2]+=b),u.push(["M",C[1],C[2]],["L",S[1],S[2]],["L",M[1],M[2]],["L",T[1],T[2]],["Z"])),u.isFlat=v}return u}function o(c){this.removePlotBandOrLine(c)}function a(c){let f=this.plotLinesAndBands,d=this.options,p=this.userOptions;if(f){let u=f.length;for(;u--;)f[u].id===c&&f[u].destroy();[d.plotLines||[],p.plotLines||[],d.plotBands||[],p.plotBands||[]].forEach(function(m){for(u=m.length;u--;)(m[u]||{}).id===c&&zd(m,m[u])})}}function h(c){this.removePlotBandOrLine(c)}})(Er||(Er={}));var ca=Er;var{arrayMax:da,arrayMin:fa,defined:le,destroyObjectProperties:Xd,erase:Yd,fireEvent:Gd,merge:pa,objectEach:Vd,pick:jd}=E,Lr=class l{static compose(i){return ca.compose(l,i)}constructor(i,t){this.axis=i,this.options=t,this.id=t.id}render(){Gd(this,"render");let{axis:i,options:t}=this,{horiz:e,logarithmic:s}=i,{color:r,events:n,zIndex:o=0}=t,a={},h=i.chart.renderer,c=t.to,f=t.from,d=t.value,p=t.borderWidth,u=t.label,{label:m,svgElem:g}=this,x=[],y,b=le(f)&&le(c),v=le(d),C=!g,S={class:"highcharts-plot-"+(b?"band ":"line ")+(t.className||"")},T=b?"bands":"lines";if(i.chart.styledMode||(v?(S.stroke=r||"#999999",S["stroke-width"]=jd(t.width,1),t.dashStyle&&(S.dashstyle=t.dashStyle)):b&&(S.fill=r||"#e6e9ff",p&&(S.stroke=t.borderColor,S["stroke-width"]=p))),a.zIndex=o,T+="-"+o,y=i.plotLinesAndBandsGroups[T],y||(i.plotLinesAndBandsGroups[T]=y=h.g("plot-"+T).attr(a).add()),g||(this.svgElem=g=h.path().attr(S).add(y)),le(d))x=i.getPlotLinePath({value:s?.log2lin(d)??d,lineWidth:g.strokeWidth(),acrossPanes:t.acrossPanes});else if(le(f)&&le(c))x=i.getPlotBandPath(s?.log2lin(f)??f,s?.log2lin(c)??c,t);else return;return!this.eventsAdded&&n&&(Vd(n,(M,w)=>{g?.on(w,P=>{n[w].apply(this,[P])})}),this.eventsAdded=!0),(C||!g.d)&&x?.length?g.attr({d:x}):g&&(x?(g.show(),g.animate({d:x})):g.d&&(g.hide(),m&&(this.label=m=m.destroy()))),u&&(le(u.text)||le(u.formatter))&&x?.length&&i.width>0&&i.height>0&&!x.isFlat?(u=pa({align:e&&b?"center":void 0,x:e?!b&&4:10,verticalAlign:!e&&b?"middle":void 0,y:e?b?16:10:b?6:-4,rotation:e&&!b?90:0},u),this.renderLabel(u,x,b,o)):m&&m.hide(),this}renderLabel(i,t,e,s){let r=this,n=r.axis,o=n.chart.renderer,a=r.label;a||(r.label=a=o.text(this.getLabelText(i),0,0,i.useHTML).attr({align:i.textAlign||i.align,rotation:i.rotation,class:"highcharts-plot-"+(e?"band":"line")+"-label "+(i.className||""),zIndex:s}),n.chart.styledMode||a.css(pa({fontSize:"0.8em",textOverflow:"ellipsis"},i.style)),a.add());let h=t.xBounds||[t[0][1],t[1][1],e?t[2][1]:t[0][1]],c=t.yBounds||[t[0][2],t[1][2],e?t[2][2]:t[0][2]],f=fa(h),d=fa(c);if(a.align(i,!1,{x:f,y:d,width:da(h)-f,height:da(c)-d}),!a.alignValue||a.alignValue==="left"){let p=i.clip?n.width:n.chart.chartWidth;a.css({width:(a.rotation===90?n.height-(a.alignAttr.y-n.top):p-(a.alignAttr.x-n.left))+"px"})}a.show(!0)}getLabelText(i){return le(i.formatter)?i.formatter.call(this):i.text}destroy(){Yd(this.axis.plotLinesAndBands,this),delete this.axis,Xd(this)}},Ir=Lr;var{animObject:Ud}=nt,{format:ua}=St,{composed:$d,doc:ma,isSafari:qd}=_,{distribute:Kd}=be,{addEvent:Zd,clamp:Ss,css:ga,discardElement:Qd,extend:Jd,fireEvent:xa,isArray:tf,isNumber:ef,isString:_r,merge:sf,pick:ai,pushUnique:rf,splat:Br,syncTimeout:nf}=E,Ei=class{constructor(i,t,e){this.allowShared=!0,this.crosshairs=[],this.distance=0,this.isHidden=!0,this.isSticky=!1,this.options={},this.outside=!1,this.chart=i,this.init(i,t),this.pointer=e}bodyFormatter(i){return i.map(function(t){let e=t.series.tooltipOptions;return(e[(t.point.formatPrefix||"point")+"Formatter"]||t.point.tooltipFormatter).call(t.point,e[(t.point.formatPrefix||"point")+"Format"]||"")})}cleanSplit(i){this.chart.series.forEach(function(t){let e=t&&t.tt;e&&(!e.isActive||i?t.tt=e.destroy():e.isActive=!1)})}defaultFormatter(i){let t=this.points||Br(this),e;return e=[i.tooltipFooterHeaderFormatter(t[0])],e=e.concat(i.bodyFormatter(t)),e.push(i.tooltipFooterHeaderFormatter(t[0],!0)),e}destroy(){this.label&&(this.label=this.label.destroy()),this.split&&(this.cleanSplit(!0),this.tt&&(this.tt=this.tt.destroy())),this.renderer&&(this.renderer=this.renderer.destroy(),Qd(this.container)),E.clearTimeout(this.hideTimer)}getAnchor(i,t){let{chart:e,pointer:s}=this,r=e.inverted,n=e.plotTop,o=e.plotLeft,a;if(i=Br(i),i[0].series&&i[0].series.yAxis&&!i[0].series.yAxis.options.reversedStacks&&(i=i.slice().reverse()),this.followPointer&&t)typeof t.chartX>"u"&&(t=s.normalize(t)),a=[t.chartX-o,t.chartY-n];else if(i[0].tooltipPos)a=i[0].tooltipPos;else{let h=0,c=0;i.forEach(function(f){let d=f.pos(!0);d&&(h+=d[0],c+=d[1])}),h/=i.length,c/=i.length,this.shared&&i.length>1&&t&&(r?h=t.chartX:c=t.chartY),a=[h-o,c-n]}return a.map(Math.round)}getClassName(i,t,e){let s=this.options,r=i.series,n=r.options;return[s.className,"highcharts-label",e&&"highcharts-tooltip-header",t?"highcharts-tooltip-box":"highcharts-tooltip",!e&&"highcharts-color-"+ai(i.colorIndex,r.colorIndex),n&&n.className].filter(_r).join(" ")}getLabel(){let i=this,t=this.chart.styledMode,e=this.options,s=this.split&&this.allowShared,r=this.container,n=this.chart.renderer;if(this.label){let o=!this.label.hasClass("highcharts-label");(!s&&o||s&&!o)&&this.destroy()}if(!this.label){if(this.outside){let o=this.chart.options.chart.style,a=ee.getRendererType();this.container=r=_.doc.createElement("div"),r.className="highcharts-tooltip-container",ga(r,{position:"absolute",top:"1px",pointerEvents:"none",zIndex:Math.max(this.options.style.zIndex||0,(o&&o.zIndex||0)+3)}),this.renderer=n=new a(r,0,0,o,void 0,void 0,n.styledMode)}if(s?this.label=n.g("tooltip"):(this.label=n.label("",0,0,e.shape,void 0,void 0,e.useHTML,void 0,"tooltip").attr({padding:e.padding,r:e.borderRadius}),t||this.label.attr({fill:e.backgroundColor,"stroke-width":e.borderWidth||0}).css(e.style).css({pointerEvents:e.style.pointerEvents||(this.shouldStickOnContact()?"auto":"none")})),i.outside){let o=this.label;[o.xSetter,o.ySetter].forEach((a,h)=>{o[h?"ySetter":"xSetter"]=c=>{a.call(o,i.distance),o[h?"y":"x"]=c,r&&(r.style[h?"top":"left"]=`${c}px`)}})}this.label.attr({zIndex:8}).shadow(e.shadow).add()}return r&&!r.parentElement&&_.doc.body.appendChild(r),this.label}getPlayingField(){let{body:i,documentElement:t}=ma,{chart:e,distance:s,outside:r}=this;return{width:r?Math.max(i.scrollWidth,t.scrollWidth,i.offsetWidth,t.offsetWidth,t.clientWidth)-2*s:e.chartWidth,height:r?Math.max(i.scrollHeight,t.scrollHeight,i.offsetHeight,t.offsetHeight,t.clientHeight):e.chartHeight}}getPosition(i,t,e){let{distance:s,chart:r,outside:n,pointer:o}=this,{inverted:a,plotLeft:h,plotTop:c,polar:f}=r,{plotX:d=0,plotY:p=0}=e,u={},m=a&&e.h||0,{height:g,width:x}=this.getPlayingField(),y=o.getChartPosition(),b=Y=>Y*y.scaleX,v=Y=>Y*y.scaleY,C=Y=>{let W=Y==="x";return[Y,W?x:g,W?i:t].concat(n?[W?b(i):v(t),W?y.left-s+b(d+h):y.top-s+v(p+c),0,W?x:g]:[W?i:t,W?d+h:p+c,W?h:c,W?h+r.plotWidth:c+r.plotHeight])},S=C("y"),T=C("x"),M,w=!!e.negative;!f&&r.hoverSeries?.yAxis?.reversed&&(w=!w);let P=!this.followPointer&&ai(e.ttBelow,f?!1:!a===w),L=function(Y,W,tt,it,rt,G,Q){let $=n?Y==="y"?v(s):b(s):s,V=(tt-it)/2,K=it<rt-s,j=rt+s+it<W,Z=rt-$-tt+V,ct=rt+$-V;if(P&&j)u[Y]=ct;else if(!P&&K)u[Y]=Z;else if(K)u[Y]=Math.min(Q-it,Z-m<0?Z:Z-m);else if(j)u[Y]=Math.max(G,ct+m+tt>W?ct:ct+m);else return!1},R=function(Y,W,tt,it,rt){if(rt<s||rt>W-s)return!1;rt<tt/2?u[Y]=1:rt>W-it/2?u[Y]=W-it-2:u[Y]=rt-tt/2},I=function(Y){[S,T]=[T,S],M=Y},z=()=>{L.apply(0,S)!==!1?R.apply(0,T)===!1&&!M&&(I(!0),z()):M?u.x=u.y=0:(I(!0),z())};return(a&&!f||this.len>1)&&I(),z(),u}hide(i){let t=this;E.clearTimeout(this.hideTimer),i=ai(i,this.options.hideDelay),this.isHidden||(this.hideTimer=nf(function(){let e=t.getLabel();t.getLabel().animate({opacity:0},{duration:i&&150,complete:()=>{e.hide(),t.container&&t.container.remove()}}),t.isHidden=!0},i))}init(i,t){this.chart=i,this.options=t,this.crosshairs=[],this.isHidden=!0,this.split=t.split&&!i.inverted&&!i.polar,this.shared=t.shared||this.split,this.outside=ai(t.outside,!!(i.scrollablePixelsX||i.scrollablePixelsY))}shouldStickOnContact(i){return!!(!this.followPointer&&this.options.stickOnContact&&(!i||this.pointer.inClass(i.target,"highcharts-tooltip")))}move(i,t,e,s){let r=this,n=Ud(!r.isHidden&&r.options.animation),o=r.followPointer||(r.len||0)>1,a={x:i,y:t};o||(a.anchorX=e,a.anchorY=s),n.step=()=>r.drawTracker(),r.getLabel().animate(a,n)}refresh(i,t){let e=this,{chart:s,options:r,pointer:n,shared:o}=this,a=Br(i),h=a[0],c=[],f=r.format,d=r.formatter||e.defaultFormatter,p=s.styledMode,u={};if(!r.enabled||!h.series)return;E.clearTimeout(this.hideTimer),e.allowShared=!(!tf(i)&&i.series&&i.series.noSharedTooltip),e.followPointer=!e.split&&h.series.tooltipOptions.followPointer;let m=e.getAnchor(i,t),g=m[0],x=m[1];o&&e.allowShared?(n.applyInactiveState(a),a.forEach(function(v){v.setState("hover"),c.push(v.getLabelConfig())}),u=h.getLabelConfig(),u.points=c):u=h.getLabelConfig(),this.len=c.length;let y=_r(f)?ua(f,u,s):d.call(u,e),b=h.series;if(this.distance=ai(b.tooltipOptions.distance,16),y===!1)this.hide();else{if(e.split&&e.allowShared)this.renderSplit(y,a);else{let v=g,C=x;if(t&&n.isDirectTouch&&(v=t.chartX-s.plotLeft,C=t.chartY-s.plotTop),s.polar||b.options.clip===!1||a.some(S=>n.isDirectTouch||S.series.shouldShowTooltip(v,C))){let S=e.getLabel();(!r.style.width||p)&&S.css({width:(this.outside?this.getPlayingField():s.spacingBox).width+"px"}),S.attr({text:y&&y.join?y.join(""):y}),S.addClass(e.getClassName(h),!0),p||S.attr({stroke:r.borderColor||h.color||b.color||"#666666"}),e.updatePosition({plotX:g,plotY:x,negative:h.negative,ttBelow:h.ttBelow,h:m[2]||0})}else{e.hide();return}}e.isHidden&&e.label&&e.label.attr({opacity:1}).show(),e.isHidden=!1}xa(this,"refresh")}renderSplit(i,t){let e=this,{chart:s,chart:{chartWidth:r,chartHeight:n,plotHeight:o,plotLeft:a,plotTop:h,scrollablePixelsY:c=0,scrollablePixelsX:f,styledMode:d},distance:p,options:u,options:{positioner:m},pointer:g}=e,{scrollLeft:x=0,scrollTop:y=0}=s.scrollablePlotArea?.scrollingContainer||{},b=e.outside&&typeof f!="number"?ma.documentElement.getBoundingClientRect():{left:x,right:x+r,top:y,bottom:y+n},v=e.getLabel(),C=this.renderer||s.renderer,S=!!(s.xAxis[0]&&s.xAxis[0].opposite),{left:T,top:M}=g.getChartPosition(),w=h+y,P=0,L=o-c;function R(G){let{isHeader:Q,plotX:$=0,plotY:V=0,series:K}=G,j,Z;if(Q)j=Math.max(a+$,a),Z=h+o/2;else{let{xAxis:ct,yAxis:It}=K;j=ct.pos+Ss($,-p,ct.len+p),K.shouldShowTooltip(0,It.pos-h+V,{ignoreX:!0})&&(Z=It.pos+V)}return j=Ss(j,b.left-p,b.right+p),{anchorX:j,anchorY:Z}}function I(G,Q,$,V,K=!0){let j,Z;return $?(j=S?0:L,Z=Ss(G-V/2,b.left,b.right-V-(e.outside?T:0))):(j=Q-w,Z=K?G-V-p:G+p,Z=Ss(Z,K?Z:b.left,b.right)),{x:Z,y:j}}function z(G,Q,$){let V=G,{isHeader:K,series:j}=Q;if(!V){let Z={padding:u.padding,r:u.borderRadius};d||(Z.fill=u.backgroundColor,Z["stroke-width"]=u.borderWidth??1),V=C.label("",0,0,u[K?"headerShape":"shape"],void 0,void 0,u.useHTML).addClass(e.getClassName(Q,!0,K)).attr(Z).add(v)}return V.isActive=!0,V.attr({text:$}),d||V.css(u.style).attr({stroke:u.borderColor||Q.color||j.color||"#333333"}),V}_r(i)&&(i=[!1,i]);let Y=i.slice(0,t.length+1).reduce(function(G,Q,$){if(Q!==!1&&Q!==""){let V=t[$-1]||{isHeader:!0,plotX:t[0].plotX,plotY:o,series:{}},K=V.isHeader,j=K?e:V.series,Z=j.tt=z(j.tt,V,Q.toString()),ct=Z.getBBox(),It=ct.width+Z.strokeWidth();K&&(P=ct.height,L+=P,S&&(w-=P));let{anchorX:ie,anchorY:Gs}=R(V);if(typeof Gs=="number"){let Wn=ct.height+1,Vs=m?m.call(e,It,Wn,V):I(ie,Gs,K,It);G.push({align:m?0:void 0,anchorX:ie,anchorY:Gs,boxWidth:It,point:V,rank:ai(Vs.rank,K?1:0),size:Wn,target:Vs.y,tt:Z,x:Vs.x})}else Z.isActive=!1}return G},[]);!m&&Y.some(G=>{let{outside:Q}=e,$=(Q?T:0)+G.anchorX;return $<b.left&&$+G.boxWidth<b.right?!0:$<T-b.left+G.boxWidth&&b.right-$>$})&&(Y=Y.map(G=>{let{x:Q,y:$}=I(G.anchorX,G.anchorY,G.point.isHeader,G.boxWidth,!1);return Jd(G,{target:$,x:Q})})),e.cleanSplit(),Kd(Y,L);let W={left:T,right:T};Y.forEach(function(G){let{x:Q,boxWidth:$,isHeader:V}=G;V||(e.outside&&T+Q<W.left&&(W.left=T+Q),!V&&e.outside&&W.left+$>W.right&&(W.right=T+Q))}),Y.forEach(function(G){let{x:Q,anchorX:$,anchorY:V,pos:K,point:{isHeader:j}}=G,Z={visibility:typeof K>"u"?"hidden":"inherit",x:Q,y:(K||0)+w,anchorX:$,anchorY:V};if(e.outside&&Q<$){let ct=T-W.left;ct>0&&(j||(Z.x=Q+ct,Z.anchorX=$+ct),j&&(Z.x=(W.right-W.left)/2,Z.anchorX=$+ct))}G.tt.attr(Z)});let{container:tt,outside:it,renderer:rt}=e;if(it&&tt&&rt){let{width:G,height:Q,x:$,y:V}=v.getBBox();rt.setSize(G+$,Q+V,!1),tt.style.left=W.left+"px",tt.style.top=M+"px"}qd&&v.attr({opacity:v.opacity===1?.999:1})}drawTracker(){let i=this;if(!this.shouldStickOnContact()){i.tracker&&(i.tracker=i.tracker.destroy());return}let t=i.chart,e=i.label,s=i.shared?t.hoverPoints:t.hoverPoint;if(!e||!s)return;let r={x:0,y:0,width:0,height:0},n=this.getAnchor(s),o=e.getBBox();n[0]+=t.plotLeft-(e.translateX||0),n[1]+=t.plotTop-(e.translateY||0),r.x=Math.min(0,n[0]),r.y=Math.min(0,n[1]),r.width=n[0]<0?Math.max(Math.abs(n[0]),o.width-n[0]):Math.max(Math.abs(n[0]),o.width),r.height=n[1]<0?Math.max(Math.abs(n[1]),o.height-Math.abs(n[1])):Math.max(Math.abs(n[1]),o.height),i.tracker?i.tracker.attr(r):(i.tracker=e.renderer.rect(r).addClass("highcharts-tracker").add(e),t.styledMode||i.tracker.attr({fill:"rgba(0,0,0,0)"}))}styledModeFormat(i){return i.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}"')}tooltipFooterHeaderFormatter(i,t){let e=i.series,s=e.tooltipOptions,r=e.xAxis,n=r&&r.dateTime,o={isFooter:t,labelConfig:i},a=s.xDateFormat,h=s[t?"footerFormat":"headerFormat"];return xa(this,"headerFormatter",o,function(c){n&&!a&&ef(i.key)&&(a=n.getXDateFormat(i.key,s.dateTimeLabelFormats)),n&&a&&(i.point&&i.point.tooltipDateKeys||["key"]).forEach(function(f){h=h.replace("{point."+f+"}","{point."+f+":"+a+"}")}),e.chart.styledMode&&(h=this.styledModeFormat(h)),c.text=ua(h,{point:i,series:e},this.chart)}),o.text}update(i){this.destroy(),this.init(this.chart,sf(!0,this.options,i))}updatePosition(i){let{chart:t,container:e,distance:s,options:r,pointer:n,renderer:o}=this,{height:a=0,width:h=0}=this.getLabel(),{left:c,top:f,scaleX:d,scaleY:p}=n.getChartPosition(),u=(r.positioner||this.getPosition).call(this,h,a,i),m=(i.plotX||0)+t.plotLeft,g=(i.plotY||0)+t.plotTop,x;o&&e&&(r.positioner&&(u.x+=c-s,u.y+=f-s),x=(r.borderWidth||0)+2*s+2,o.setSize(h+x,a+x,!1),(d!==1||p!==1)&&(ga(e,{transform:`scale(${d}, ${p})`}),m*=d,g*=p),m+=c-u.x,g+=f-u.y),this.move(Math.round(u.x),Math.round(u.y||0),m,g)}};(function(l){function i(t){rf($d,"Core.Tooltip")&&Zd(t,"afterInit",function(){let e=this.chart;e.options.tooltip&&(e.tooltip=new l(e,e.options.tooltip,this))})}l.compose=i})(Ei||(Ei={}));var Rr=Ei;var{animObject:of}=nt,{defaultOptions:af}=vt,{format:lf}=St,{addEvent:hf,crisp:cf,erase:df,extend:Cs,fireEvent:Wr,getNestedProperty:ff,isArray:pf,isFunction:uf,isNumber:We,isObject:Ts,merge:mf,pick:he,syncTimeout:gf,removeEvent:ya,uniqueKey:xf}=E,Nr=class l{animateBeforeDestroy(){let i=this,t={x:i.startXPos,opacity:0},e=i.getGraphicalProps();e.singular.forEach(function(s){let r=s==="dataLabel";i[s]=i[s].animate(r?{x:i[s].startXPos,y:i[s].startYPos,opacity:0}:t)}),e.plural.forEach(function(s){i[s].forEach(function(r){r.element&&r.animate(Cs({x:i.startXPos},r.startYPos?{x:r.startXPos,y:r.startYPos}:{}))})})}applyOptions(i,t){let e=this,s=e.series,r=s.options.pointValKey||s.pointValKey;return i=l.prototype.optionsToObject.call(this,i),Cs(e,i),e.options=e.options?Cs(e.options,i):i,i.group&&delete e.group,i.dataLabels&&delete e.dataLabels,r&&(e.y=l.prototype.getNestedProperty.call(e,r)),e.selected&&(e.state="select"),"name"in e&&typeof t>"u"&&s.xAxis&&s.xAxis.hasNames&&(e.x=s.xAxis.nameToX(e)),typeof e.x>"u"&&s?typeof t>"u"?e.x=s.autoIncrement():e.x=t:We(i.x)&&s.options.relativeXValue&&(e.x=s.autoIncrement(i.x)),e.isNull=this.isValid&&!this.isValid(),e.formatPrefix=e.isNull?"null":"point",e}destroy(){if(!this.destroyed){let i=this,t=i.series,e=t.chart,s=t.options.dataSorting,r=e.hoverPoints,n=i.series.chart.renderer.globalAnimation,o=of(n),a=()=>{(i.graphic||i.graphics||i.dataLabel||i.dataLabels)&&(ya(i),i.destroyElements());for(let h in i)delete i[h]};i.legendItem&&e.legend.destroyItem(i),r&&(i.setState(),df(r,i),r.length||(e.hoverPoints=null)),i===e.hoverPoint&&i.onMouseOut(),!s||!s.enabled?a():(this.animateBeforeDestroy(),gf(a,o.duration)),e.pointCount--}this.destroyed=!0}destroyElements(i){let t=this,e=t.getGraphicalProps(i);e.singular.forEach(function(s){t[s]=t[s].destroy()}),e.plural.forEach(function(s){t[s].forEach(function(r){r&&r.element&&r.destroy()}),delete t[s]})}firePointEvent(i,t,e){let s=this,r=this.series,n=r.options;s.manageEvent(i),i==="click"&&n.allowPointSelect&&(e=function(o){!s.destroyed&&s.select&&s.select(null,o.ctrlKey||o.metaKey||o.shiftKey)}),Wr(s,i,t,e)}getClassName(){let i=this;return"highcharts-point"+(i.selected?" highcharts-point-select":"")+(i.negative?" highcharts-negative":"")+(i.isNull?" highcharts-null-point":"")+(typeof i.colorIndex<"u"?" highcharts-color-"+i.colorIndex:"")+(i.options.className?" "+i.options.className:"")+(i.zone&&i.zone.className?" "+i.zone.className.replace("highcharts-negative",""):"")}getGraphicalProps(i){let t=this,e=[],s={singular:[],plural:[]},r,n;for(i=i||{graphic:1,dataLabel:1},i.graphic&&e.push("graphic","connector"),i.dataLabel&&e.push("dataLabel","dataLabelPath","dataLabelUpper"),n=e.length;n--;)r=e[n],t[r]&&s.singular.push(r);return["graphic","dataLabel"].forEach(function(o){let a=o+"s";i[o]&&t[a]&&s.plural.push(a)}),s}getLabelConfig(){return{x:this.category,y:this.y,color:this.color,colorIndex:this.colorIndex,key:this.name||this.category,series:this.series,point:this,percentage:this.percentage,total:this.total||this.stackTotal}}getNestedProperty(i){if(i)return i.indexOf("custom.")===0?ff(i,this.options):this[i]}getZone(){let i=this.series,t=i.zones,e=i.zoneAxis||"y",s,r=0;for(s=t[r];this[e]>=s.value;)s=t[++r];return this.nonZonedColor||(this.nonZonedColor=this.color),s&&s.color&&!this.options.color?this.color=s.color:this.color=this.nonZonedColor,s}hasNewShapeType(){let i=this;return(i.graphic&&(i.graphic.symbolName||i.graphic.element.nodeName))!==this.shapeType}constructor(i,t,e){this.formatPrefix="point",this.visible=!0,this.series=i,this.applyOptions(t,e),this.id??(this.id=xf()),this.resolveColor(),i.chart.pointCount++,Wr(this,"afterInit")}isValid(){return(We(this.x)||this.x instanceof Date)&&We(this.y)}optionsToObject(i){let t=this.series,e=t.options.keys,s=e||t.pointArrayMap||["y"],r=s.length,n={},o,a=0,h=0;if(We(i)||i===null)n[s[0]]=i;else if(pf(i))for(!e&&i.length>r&&(o=typeof i[0],o==="string"?n.name=i[0]:o==="number"&&(n.x=i[0]),a++);h<r;)(!e||typeof i[a]<"u")&&(s[h].indexOf(".")>0?l.prototype.setNestedProperty(n,i[a],s[h]):n[s[h]]=i[a]),a++,h++;else typeof i=="object"&&(n=i,i.dataLabels&&(t.hasDataLabels=()=>!0),i.marker&&(t._hasPointMarkers=!0));return n}pos(i,t=this.plotY){if(!this.destroyed){let{plotX:e,series:s}=this,{chart:r,xAxis:n,yAxis:o}=s,a=0,h=0;if(We(e)&&We(t))return i&&(a=n?n.pos:r.plotLeft,h=o?o.pos:r.plotTop),r.inverted&&n&&o?[o.len-t+h,n.len-e+a]:[e+a,t+h]}}resolveColor(){let i=this.series,t=i.chart.options.chart,e=i.chart.styledMode,s,r,n=t.colorCount,o;delete this.nonZonedColor,i.options.colorByPoint?(e||(r=i.options.colors||i.chart.options.colors,s=r[i.colorCounter],n=r.length),o=i.colorCounter,i.colorCounter++,i.colorCounter===n&&(i.colorCounter=0)):(e||(s=i.color),o=i.colorIndex),this.colorIndex=he(this.options.colorIndex,o),this.color=he(this.options.color,s)}setNestedProperty(i,t,e){return e.split(".").reduce(function(r,n,o,a){let h=a.length-1===o;return r[n]=h?t:Ts(r[n],!0)?r[n]:{},r[n]},i),i}shouldDraw(){return!this.isNull}tooltipFormatter(i){let t=this.series,e=t.tooltipOptions,s=he(e.valueDecimals,""),r=e.valuePrefix||"",n=e.valueSuffix||"";return t.chart.styledMode&&(i=t.chart.tooltip.styledModeFormat(i)),(t.pointArrayMap||["y"]).forEach(function(o){o="{point."+o,(r||n)&&(i=i.replace(RegExp(o+"}","g"),r+o+"}"+n)),i=i.replace(RegExp(o+"}","g"),o+":,."+s+"f}")}),lf(i,{point:this,series:this.series},t.chart)}update(i,t,e,s){let r=this,n=r.series,o=r.graphic,a=n.chart,h=n.options,c;t=he(t,!0);function f(){r.applyOptions(i);let d=o&&r.hasMockGraphic,p=r.y===null?!d:d;o&&p&&(r.graphic=o.destroy(),delete r.hasMockGraphic),Ts(i,!0)&&(o&&o.element&&i&&i.marker&&typeof i.marker.symbol<"u"&&(r.graphic=o.destroy()),i?.dataLabels&&r.dataLabel&&(r.dataLabel=r.dataLabel.destroy())),c=r.index,n.updateParallelArrays(r,c),h.data[c]=Ts(h.data[c],!0)||Ts(i,!0)?r.options:he(i,h.data[c]),n.isDirty=n.isDirtyData=!0,!n.fixedBox&&n.hasCartesianSeries&&(a.isDirtyBox=!0),h.legendType==="point"&&(a.isDirtyLegend=!0),t&&a.redraw(e)}s===!1?f():r.firePointEvent("update",{options:i},f)}remove(i,t){this.series.removePoint(this.series.data.indexOf(this),i,t)}select(i,t){let e=this,s=e.series,r=s.chart;i=he(i,!e.selected),this.selectedStaging=i,e.firePointEvent(i?"select":"unselect",{accumulate:t},function(){e.selected=e.options.selected=i,s.options.data[s.data.indexOf(e)]=e.options,e.setState(i&&"select"),t||r.getSelectedPoints().forEach(function(n){let o=n.series;n.selected&&n!==e&&(n.selected=n.options.selected=!1,o.options.data[o.data.indexOf(n)]=n.options,n.setState(r.hoverPoints&&o.options.inactiveOtherPoints?"inactive":""),n.firePointEvent("unselect"))})}),delete this.selectedStaging}onMouseOver(i){let t=this,e=t.series,{inverted:s,pointer:r}=e.chart;r&&(i=i?r.normalize(i):r.getChartCoordinatesFromPoint(t,s),r.runPointActions(i,t))}onMouseOut(){let i=this,t=i.series.chart;i.firePointEvent("mouseOut"),i.series.options.inactiveOtherPoints||(t.hoverPoints||[]).forEach(function(e){e.setState()}),t.hoverPoints=t.hoverPoint=null}manageEvent(i){let t=this,e=mf(t.series.options.point,t.options),s=e.events?.[i];uf(s)&&(!t.hcEvents?.[i]||t.hcEvents?.[i]?.map(r=>r.fn).indexOf(s)===-1)?(hf(t,i,s),t.hasImportedEvents=!0):t.hasImportedEvents&&!s&&t.hcEvents?.[i]&&(ya(t,i),delete t.hcEvents[i],Object.keys(t.hcEvents)||(t.hasImportedEvents=!1))}setState(i,t){let e=this,s=e.series,r=e.state,n=s.options.states[i||"normal"]||{},o=af.plotOptions[s.type].marker&&s.options.marker,a=o&&o.enabled===!1,h=o&&o.states&&o.states[i||"normal"]||{},c=h.enabled===!1,f=e.marker||{},d=s.chart,p=o&&s.markerAttribs,u=s.halo,m,g,x,y=s.stateMarkerGraphic,b;if(i=i||"",i===e.state&&!t||e.selected&&i!=="select"||n.enabled===!1||i&&(c||a&&h.enabled===!1)||i&&f.states&&f.states[i]&&f.states[i].enabled===!1)return;if(e.state=i,p&&(m=s.markerAttribs(e,i)),e.graphic&&!e.hasMockGraphic){if(r&&e.graphic.removeClass("highcharts-point-"+r),i&&e.graphic.addClass("highcharts-point-"+i),!d.styledMode){g=s.pointAttribs(e,i),x=he(d.options.chart.animation,n.animation);let T=g.opacity;s.options.inactiveOtherPoints&&We(T)&&(e.dataLabels||[]).forEach(function(M){M&&!M.hasClass("highcharts-data-label-hidden")&&(M.animate({opacity:T},x),M.connector&&M.connector.animate({opacity:T},x))}),e.graphic.animate(g,x)}m&&e.graphic.animate(m,he(d.options.chart.animation,h.animation,o.animation)),y&&y.hide()}else i&&h&&(b=f.symbol||s.symbol,y&&y.currentSymbol!==b&&(y=y.destroy()),m&&(y?y[t?"animate":"attr"]({x:m.x,y:m.y}):b&&(s.stateMarkerGraphic=y=d.renderer.symbol(b,m.x,m.y,m.width,m.height).add(s.markerGroup),y.currentSymbol=b)),!d.styledMode&&y&&e.state!=="inactive"&&y.attr(s.pointAttribs(e,i))),y&&(y[i&&e.isInside?"show":"hide"](),y.element.point=e,y.addClass(e.getClassName(),!0));let v=n.halo,C=e.graphic||y,S=C&&C.visibility||"inherit";v&&v.size&&C&&S!=="hidden"&&!e.isCluster?(u||(s.halo=u=d.renderer.path().add(C.parentGroup)),u.show()[t?"animate":"attr"]({d:e.haloPath(v.size)}),u.attr({class:"highcharts-halo highcharts-color-"+he(e.colorIndex,s.colorIndex)+(e.className?" "+e.className:""),visibility:S,zIndex:-1}),u.point=e,d.styledMode||u.attr(Cs({fill:e.color||s.color,"fill-opacity":v.opacity},kt.filterUserAttributes(v.attributes||{})))):u?.point?.haloPath&&!u.point.destroyed&&u.animate({d:u.point.haloPath(0)},null,u.hide),Wr(e,"afterSetState",{state:i})}haloPath(i){let t=this.pos();return t?this.series.chart.renderer.symbols.circle(cf(t[0],1)-i,t[1]-i,i*2,i*2):[]}},Gt=Nr;var{parse:yf}=_t,{charts:Fr,composed:bf,isTouchDevice:vf}=_,{addEvent:Vt,attr:Sf,css:zr,extend:Hr,find:ba,fireEvent:ve,isNumber:Ms,isObject:ws,objectEach:Cf,offset:Tf,pick:Zt,pushUnique:Mf,splat:va}=E,Li=class l{applyInactiveState(i){let t=[],e;(i||[]).forEach(function(s){e=s.series,t.push(e),e.linkedParent&&t.push(e.linkedParent),e.linkedSeries&&(t=t.concat(e.linkedSeries)),e.navigatorSeries&&t.push(e.navigatorSeries)}),this.chart.series.forEach(function(s){t.indexOf(s)===-1?s.setState("inactive",!0):s.options.inactiveOtherPoints&&s.setAllPointsToState("inactive")})}destroy(){let i=this;this.eventsToUnbind.forEach(t=>t()),this.eventsToUnbind=[],_.chartCount||(l.unbindDocumentMouseUp&&(l.unbindDocumentMouseUp=l.unbindDocumentMouseUp()),l.unbindDocumentTouchEnd&&(l.unbindDocumentTouchEnd=l.unbindDocumentTouchEnd())),clearInterval(i.tooltipTimeout),Cf(i,function(t,e){i[e]=void 0})}getSelectionMarkerAttrs(i,t){let e={args:{chartX:i,chartY:t},attrs:{},shapeType:"rect"};return ve(this,"getSelectionMarkerAttrs",e,s=>{let{chart:r,zoomHor:n,zoomVert:o}=this,{mouseDownX:a=0,mouseDownY:h=0}=r,c=s.attrs,f;c.x=r.plotLeft,c.y=r.plotTop,c.width=n?1:r.plotWidth,c.height=o?1:r.plotHeight,n&&(f=i-a,c.width=Math.max(1,Math.abs(f)),c.x=(f>0?0:f)+a),o&&(f=t-h,c.height=Math.max(1,Math.abs(f)),c.y=(f>0?0:f)+h)}),e}drag(i){let{chart:t}=this,{mouseDownX:e=0,mouseDownY:s=0}=t,{panning:r,panKey:n,selectionMarkerFill:o}=t.options.chart,a=t.plotLeft,h=t.plotTop,c=t.plotWidth,f=t.plotHeight,d=ws(r)?r.enabled:r,p=n&&i[`${n}Key`],u=i.chartX,m=i.chartY,g,x=this.selectionMarker;if(!(x&&x.touch)&&(u<a?u=a:u>a+c&&(u=a+c),m<h?m=h:m>h+f&&(m=h+f),this.hasDragged=Math.sqrt(Math.pow(e-u,2)+Math.pow(s-m,2)),this.hasDragged>10)){g=t.isInsidePlot(e-a,s-h,{visiblePlotOnly:!0});let{shapeType:y,attrs:b}=this.getSelectionMarkerAttrs(u,m);(t.hasCartesianSeries||t.mapView)&&this.hasZoom&&g&&!p&&(x||(this.selectionMarker=x=t.renderer[y](),x.attr({class:"highcharts-selection-marker",zIndex:7}).add(),t.styledMode||x.attr({fill:o||yf("#334eff").setOpacity(.25).get()}))),x&&x.attr(b),g&&!x&&d&&t.pan(i,r)}}dragStart(i){let t=this.chart;t.mouseIsDown=i.type,t.cancelClick=!1,t.mouseDownX=i.chartX,t.mouseDownY=i.chartY}getSelectionBox(i){let t={args:{marker:i},result:i.getBBox()};return ve(this,"getSelectionBox",t),t.result}drop(i){let{chart:t,selectionMarker:e}=this,s;for(let r of t.axes)r.isPanning&&(r.isPanning=!1,(r.options.startOnTick||r.options.endOnTick||r.series.some(n=>n.boosted))&&(r.forceRedraw=!0,r.setExtremes(r.userMin,r.userMax,!1),s=!0));if(s&&t.redraw(),e&&i){if(this.hasDragged){let r=this.getSelectionBox(e);t.transform({axes:t.axes.filter(n=>n.zoomEnabled&&(n.coll==="xAxis"&&this.zoomX||n.coll==="yAxis"&&this.zoomY)),selection:At({originalEvent:i,xAxis:[],yAxis:[]},r),from:r})}Ms(t.index)&&(this.selectionMarker=e.destroy())}t&&Ms(t.index)&&(zr(t.container,{cursor:t._cursor}),t.cancelClick=this.hasDragged>10,t.mouseIsDown=!1,this.hasDragged=0,this.pinchDown=[])}findNearestKDPoint(i,t,e){let s;function r(n,o){let a=n.distX-o.distX,h=n.dist-o.dist,c=o.series.group?.zIndex-n.series.group?.zIndex,f;return a!==0&&t?f=a:h!==0?f=h:c!==0?f=c:f=n.series.index>o.series.index?-1:1,f}return i.forEach(function(n){let o=n.noSharedTooltip&&t,a=!o&&n.options.findNearestPointBy.indexOf("y")<0,h=n.searchPoint(e,a);ws(h,!0)&&h.series&&(!ws(s,!0)||r(s,h)>0)&&(s=h)}),s}getChartCoordinatesFromPoint(i,t){let{xAxis:e,yAxis:s}=i.series,r=i.shapeArgs;if(e&&s){let n=i.clientX??i.plotX??0,o=i.plotY||0;return i.isNode&&r&&Ms(r.x)&&Ms(r.y)&&(n=r.x,o=r.y),t?{chartX:s.len+s.pos-o,chartY:e.len+e.pos-n}:{chartX:n+e.pos,chartY:o+s.pos}}if(r&&r.x&&r.y)return{chartX:r.x,chartY:r.y}}getChartPosition(){if(this.chartPosition)return this.chartPosition;let{container:i}=this.chart,t=Tf(i);this.chartPosition={left:t.left,top:t.top,scaleX:1,scaleY:1};let{offsetHeight:e,offsetWidth:s}=i;return s>2&&e>2&&(this.chartPosition.scaleX=t.width/s,this.chartPosition.scaleY=t.height/e),this.chartPosition}getCoordinates(i){let t={xAxis:[],yAxis:[]};for(let e of this.chart.axes)t[e.isXAxis?"xAxis":"yAxis"].push({axis:e,value:e.toValue(i[e.horiz?"chartX":"chartY"])});return t}getHoverData(i,t,e,s,r,n){let o=[],a=!!(s&&i),h=function(m){return m.visible&&!(!r&&m.directTouch)&&Zt(m.options.enableMouseTracking,!0)},c=t,f,d={chartX:n?n.chartX:void 0,chartY:n?n.chartY:void 0,shared:r};ve(this,"beforeGetHoverData",d),f=c&&!c.stickyTracking?[c]:e.filter(m=>m.stickyTracking&&(d.filter||h)(m));let u=a||!n?i:this.findNearestKDPoint(f,r,n);return c=u&&u.series,u&&(r&&!c.noSharedTooltip?(f=e.filter(function(m){return d.filter?d.filter(m):h(m)&&!m.noSharedTooltip}),f.forEach(function(m){let g=ba(m.points,function(x){return x.x===u.x&&!x.isNull});ws(g)&&(m.boosted&&m.boost&&(g=m.boost.getPoint(g)),o.push(g))})):o.push(u)),d={hoverPoint:u},ve(this,"afterGetHoverData",d),{hoverPoint:d.hoverPoint,hoverSeries:c,hoverPoints:o}}getPointFromEvent(i){let t=i.target,e;for(;t&&!e;)e=t.point,t=t.parentNode;return e}onTrackerMouseOut(i){let t=this.chart,e=i.relatedTarget,s=t.hoverSeries;this.isDirectTouch=!1,s&&e&&!s.stickyTracking&&!this.inClass(e,"highcharts-tooltip")&&(!this.inClass(e,"highcharts-series-"+s.index)||!this.inClass(e,"highcharts-tracker"))&&s.onMouseOut()}inClass(i,t){let e=i,s;for(;e;){if(s=Sf(e,"class"),s){if(s.indexOf(t)!==-1)return!0;if(s.indexOf("highcharts-container")!==-1)return!1}e=e.parentElement}}constructor(i,t){this.hasDragged=0,this.pointerCaptureEventsToUnbind=[],this.eventsToUnbind=[],this.options=t,this.chart=i,this.runChartClick=!!t.chart.events?.click,this.pinchDown=[],this.setDOMEvents(),ve(this,"afterInit")}normalize(i,t){let e=i.touches,s=e?e.length?e.item(0):Zt(e.changedTouches,i.changedTouches)[0]:i;t||(t=this.getChartPosition());let r=s.pageX-t.left,n=s.pageY-t.top;return r/=t.scaleX,n/=t.scaleY,Hr(i,{chartX:Math.round(r),chartY:Math.round(n)})}onContainerClick(i){let t=this.chart,e=t.hoverPoint,s=this.normalize(i),r=t.plotLeft,n=t.plotTop;t.cancelClick||(e&&this.inClass(s.target,"highcharts-tracker")?(ve(e.series,"click",Hr(s,{point:e})),t.hoverPoint&&e.firePointEvent("click",s)):(Hr(s,this.getCoordinates(s)),t.isInsidePlot(s.chartX-r,s.chartY-n,{visiblePlotOnly:!0})&&ve(t,"click",s)))}onContainerMouseDown(i){let t=((i.buttons||i.button)&1)===1;i=this.normalize(i),_.isFirefox&&i.button!==0&&this.onContainerMouseMove(i),(typeof i.button>"u"||t)&&(this.zoomOption(i),t&&i.preventDefault?.(),this.dragStart(i))}onContainerMouseLeave(i){let{pointer:t}=Fr[Zt(l.hoverChartIndex,-1)]||{};i=this.normalize(i),this.onContainerMouseMove(i),t&&i.relatedTarget&&!this.inClass(i.relatedTarget,"highcharts-tooltip")&&(t.reset(),t.chartPosition=void 0)}onContainerMouseEnter(){delete this.chartPosition}onContainerMouseMove(i){let t=this.chart,e=t.tooltip,s=this.normalize(i);this.setHoverChartIndex(i),(t.mouseIsDown==="mousedown"||this.touchSelect(s))&&this.drag(s),!t.openMenu&&(this.inClass(s.target,"highcharts-tracker")||t.isInsidePlot(s.chartX-t.plotLeft,s.chartY-t.plotTop,{visiblePlotOnly:!0}))&&!(e&&e.shouldStickOnContact(s))&&(this.inClass(s.target,"highcharts-no-tooltip")?this.reset(!1,0):this.runPointActions(s))}onDocumentTouchEnd(i){this.onDocumentMouseUp(i)}onContainerTouchMove(i){this.touchSelect(i)?this.onContainerMouseMove(i):this.touch(i)}onContainerTouchStart(i){this.touchSelect(i)?this.onContainerMouseDown(i):(this.zoomOption(i),this.touch(i,!0))}onDocumentMouseMove(i){let t=this.chart,e=t.tooltip,s=this.chartPosition,r=this.normalize(i,s);s&&!t.isInsidePlot(r.chartX-t.plotLeft,r.chartY-t.plotTop,{visiblePlotOnly:!0})&&!(e&&e.shouldStickOnContact(r))&&!this.inClass(r.target,"highcharts-tracker")&&this.reset()}onDocumentMouseUp(i){Fr[Zt(l.hoverChartIndex,-1)]?.pointer?.drop(i)}pinch(i){let t=this,{chart:e,hasZoom:s,lastTouches:r}=t,n=[].map.call(i.touches||[],f=>t.normalize(f)),o=n.length,a=o===1&&(t.inClass(i.target,"highcharts-tracker")&&e.runTrackerClick||t.runChartClick),h=e.tooltip,c=o===1&&Zt(h?.options.followTouchMove,!0);o>1?t.initiated=!0:c&&(t.initiated=!1),s&&t.initiated&&!a&&i.cancelable!==!1&&i.preventDefault(),i.type==="touchstart"?(t.pinchDown=n,t.res=!0):c?this.runPointActions(t.normalize(i)):r&&(ve(e,"touchpan",{originalEvent:i,touches:n},()=>{let f=d=>{let p=d[0],u=d[1]||p;return{x:p.chartX,y:p.chartY,width:u.chartX-p.chartX,height:u.chartY-p.chartY}};e.transform({axes:e.axes.filter(d=>d.zoomEnabled&&(this.zoomHor&&d.horiz||this.zoomVert&&!d.horiz)),to:f(n),from:f(r),trigger:i.type})}),t.res&&(t.res=!1,this.reset(!1,0))),t.lastTouches=n}reset(i,t){let e=this,s=e.chart,r=s.hoverSeries,n=s.hoverPoint,o=s.hoverPoints,a=s.tooltip,h=a&&a.shared?o:n;i&&h&&va(h).forEach(function(c){c.series.isCartesian&&typeof c.plotX>"u"&&(i=!1)}),i?a&&h&&va(h).length&&(a.refresh(h),a.shared&&o?o.forEach(function(c){c.setState(c.state,!0),c.series.isCartesian&&(c.series.xAxis.crosshair&&c.series.xAxis.drawCrosshair(null,c),c.series.yAxis.crosshair&&c.series.yAxis.drawCrosshair(null,c))}):n&&(n.setState(n.state,!0),s.axes.forEach(function(c){c.crosshair&&n.series[c.coll]===c&&c.drawCrosshair(null,n)}))):(n&&n.onMouseOut(),o&&o.forEach(function(c){c.setState()}),r&&r.onMouseOut(),a&&a.hide(t),e.unDocMouseMove&&(e.unDocMouseMove=e.unDocMouseMove()),s.axes.forEach(function(c){c.hideCrosshair()}),s.hoverPoints=s.hoverPoint=void 0)}runPointActions(i,t,e){let s=this,r=s.chart,n=r.series,o=r.tooltip&&r.tooltip.options.enabled?r.tooltip:void 0,a=o?o.shared:!1,h=t||r.hoverPoint,c=h&&h.series||r.hoverSeries,f=(!i||i.type!=="touchmove")&&(!!t||c&&c.directTouch&&s.isDirectTouch),d=this.getHoverData(h,c,n,f,a,i);h=d.hoverPoint,c=d.hoverSeries;let p=d.hoverPoints,u=c&&c.tooltipOptions.followPointer&&!c.tooltipOptions.split,m=a&&c&&!c.noSharedTooltip;if(h&&(e||h!==r.hoverPoint||o&&o.isHidden)){if((r.hoverPoints||[]).forEach(function(g){p.indexOf(g)===-1&&g.setState()}),r.hoverSeries!==c&&c.onMouseOver(),s.applyInactiveState(p),(p||[]).forEach(function(g){g.setState("hover")}),r.hoverPoint&&r.hoverPoint.firePointEvent("mouseOut"),!h.series)return;r.hoverPoints=p,r.hoverPoint=h,h.firePointEvent("mouseOver",void 0,()=>{o&&h&&o.refresh(m?p:h,i)})}else if(u&&o&&!o.isHidden){let g=o.getAnchor([{}],i);r.isInsidePlot(g[0],g[1],{visiblePlotOnly:!0})&&o.updatePosition({plotX:g[0],plotY:g[1]})}s.unDocMouseMove||(s.unDocMouseMove=Vt(r.container.ownerDocument,"mousemove",g=>Fr[l.hoverChartIndex??-1]?.pointer?.onDocumentMouseMove(g)),s.eventsToUnbind.push(s.unDocMouseMove)),r.axes.forEach(function(x){let y=Zt((x.crosshair||{}).snap,!0),b;y&&(b=r.hoverPoint,(!b||b.series[x.coll]!==x)&&(b=ba(p,v=>v.series&&v.series[x.coll]===x))),b||!y?x.drawCrosshair(i,b):x.hideCrosshair()})}setDOMEvents(){let i=this.chart.container,t=i.ownerDocument;i.onmousedown=this.onContainerMouseDown.bind(this),i.onmousemove=this.onContainerMouseMove.bind(this),i.onclick=this.onContainerClick.bind(this),this.eventsToUnbind.push(Vt(i,"mouseenter",this.onContainerMouseEnter.bind(this)),Vt(i,"mouseleave",this.onContainerMouseLeave.bind(this))),l.unbindDocumentMouseUp||(l.unbindDocumentMouseUp=Vt(t,"mouseup",this.onDocumentMouseUp.bind(this)));let e=this.chart.renderTo.parentElement;for(;e&&e.tagName!=="BODY";)this.eventsToUnbind.push(Vt(e,"scroll",()=>{delete this.chartPosition})),e=e.parentElement;this.eventsToUnbind.push(Vt(i,"touchstart",this.onContainerTouchStart.bind(this),{passive:!1}),Vt(i,"touchmove",this.onContainerTouchMove.bind(this),{passive:!1})),l.unbindDocumentTouchEnd||(l.unbindDocumentTouchEnd=Vt(t,"touchend",this.onDocumentTouchEnd.bind(this),{passive:!1})),this.setPointerCapture(),Vt(this.chart,"redraw",this.setPointerCapture.bind(this))}setPointerCapture(){if(!vf)return;let i=this,t=i.pointerCaptureEventsToUnbind,e=i.chart,s=e.container,r=Zt(e.options.tooltip?.followTouchMove,!0),n=r&&e.series.some(o=>o.options.findNearestPointBy.indexOf("y")>-1);!i.hasPointerCapture&&n?(t.push(Vt(s,"pointerdown",o=>{o.target?.hasPointerCapture(o.pointerId)&&o.target?.releasePointerCapture(o.pointerId)}),Vt(s,"pointermove",o=>{e.pointer?.getPointFromEvent(o)?.onMouseOver(o)})),e.styledMode||zr(s,{"touch-action":"none"}),s.className+=" highcharts-no-touch-action",i.hasPointerCapture=!0):i.hasPointerCapture&&!n&&(t.forEach(o=>o()),t.length=0,e.styledMode||zr(s,{"touch-action":Zt(e.options.chart.style?.["touch-action"],"manipulation")}),s.className=s.className.replace(" highcharts-no-touch-action",""),i.hasPointerCapture=!1)}setHoverChartIndex(i){let t=this.chart,e=_.charts[Zt(l.hoverChartIndex,-1)];e&&e!==t&&e.pointer?.onContainerMouseLeave(i||{relatedTarget:t.container}),(!e||!e.mouseIsDown)&&(l.hoverChartIndex=t.index)}touch(i,t){let{chart:e,pinchDown:s=[]}=this,r,n;this.setHoverChartIndex(),i.touches.length===1?(i=this.normalize(i),n=e.isInsidePlot(i.chartX-e.plotLeft,i.chartY-e.plotTop,{visiblePlotOnly:!0}),n&&!e.openMenu?(t&&this.runPointActions(i),i.type==="touchmove"&&(r=s[0]?Math.pow(s[0].chartX-i.chartX,2)+Math.pow(s[0].chartY-i.chartY,2)>=16:!1),Zt(r,!0)&&this.pinch(i)):t&&this.reset()):i.touches.length===2&&this.pinch(i)}touchSelect(i){return!!(this.chart.zooming.singleTouch&&i.touches&&i.touches.length===1)}zoomOption(i){let t=this.chart,e=t.inverted,s=t.zooming.type||"",r,n;/touch/.test(i.type)&&(s=Zt(t.zooming.pinchType,s)),this.zoomX=r=/x/.test(s),this.zoomY=n=/y/.test(s),this.zoomHor=r&&!e||n&&e,this.zoomVert=n&&!e||r&&e,this.hasZoom=r||n}};(function(l){function i(t){Mf(bf,"Core.Pointer")&&Vt(t,"beforeRender",function(){this.pointer=new l(this,this.options)})}l.compose=i})(Li||(Li={}));var Xr=Li;var{animObject:wf,setAnimation:Df}=nt,{format:kf}=St,{composed:Pf,marginNames:Sa}=_,{distribute:Of}=be,{addEvent:Ds,createElement:Af,css:Ef,defined:Yr,discardElement:Lf,find:If,fireEvent:Se,isNumber:Ca,merge:Ne,pick:jt,pushUnique:_f,relativeLength:Bf,stableSort:Rf,syncTimeout:Wf}=E,Ii=class{constructor(i,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=i,this.setOptions(t),t.enabled&&(this.render(),Ds(this.chart,"endResize",function(){this.legend.positionCheckboxes()})),Ds(this.chart,"render",()=>{this.options.enabled&&this.proximate&&(this.proximatePositions(),this.positionItems())})}setOptions(i){let t=jt(i.padding,8);this.options=i,this.chart.styledMode||(this.itemStyle=i.itemStyle,this.itemHiddenStyle=Ne(this.itemStyle,i.itemHiddenStyle)),this.itemMarginTop=i.itemMarginTop,this.itemMarginBottom=i.itemMarginBottom,this.padding=t,this.initialItemY=t-5,this.symbolWidth=jt(i.symbolWidth,16),this.pages=[],this.proximate=i.layout==="proximate"&&!this.chart.inverted,this.baseline=void 0}update(i,t){let e=this.chart;this.setOptions(Ne(!0,this.options,i)),this.destroy(),e.isDirtyLegend=e.isDirtyBox=!0,jt(t,!0)&&e.redraw(),Se(this,"afterUpdate",{redraw:t})}colorizeItem(i,t){let{area:e,group:s,label:r,line:n,symbol:o}=i.legendItem||{};if(s?.[t?"removeClass":"addClass"]("highcharts-legend-item-hidden"),!this.chart.styledMode){let{itemHiddenStyle:a={}}=this,h=a.color,{fillColor:c,fillOpacity:f,lineColor:d,marker:p}=i.options,u=m=>(t||(m.fill&&(m.fill=h),m.stroke&&(m.stroke=h)),m);r?.css(Ne(t?this.itemStyle:a)),n?.attr(u({stroke:d||i.color})),o&&o.attr(u(p&&o.isMarker?i.pointAttribs():{fill:i.color})),e?.attr(u({fill:c||i.color,"fill-opacity":c?1:f??.75}))}Se(this,"afterColorizeItem",{item:i,visible:t})}positionItems(){this.allItems.forEach(this.positionItem,this),this.chart.isResizing||this.positionCheckboxes()}positionItem(i){let t=this,{group:e,x:s=0,y:r=0}=i.legendItem||{},n=t.options,o=n.symbolPadding,a=!n.rtl,h=i.checkbox;if(e&&e.element){let c={translateX:a?s:t.legendWidth-s-2*o-4,translateY:r},f=()=>{Se(this,"afterPositionItem",{item:i})};e[Yr(e.translateY)?"animate":"attr"](c,void 0,f)}h&&(h.x=s,h.y=r)}destroyItem(i){let t=i.checkbox,e=i.legendItem||{};for(let s of["group","label","line","symbol"])e[s]&&(e[s]=e[s].destroy());t&&Lf(t),i.legendItem=void 0}destroy(){let i=this;for(let t of this.getAllItems())this.destroyItem(t);for(let t of["clipRect","up","down","pager","nav","box","title","group"])i[t]&&(i[t]=i[t].destroy());this.display=null}positionCheckboxes(){let i=this.group&&this.group.alignAttr,t=this.clipHeight||this.legendHeight,e=this.titleHeight,s;i&&(s=i.translateY,this.allItems.forEach(function(r){let n=r.checkbox,o;n&&(o=s+e+n.y+(this.scrollOffset||0)+3,Ef(n,{left:i.translateX+r.checkboxOffset+n.x-20+"px",top:o+"px",display:this.proximate||o>s-6&&o<s+t-6?"":"none"}))},this))}renderTitle(){let i=this.options,t=this.padding,e=i.title,s,r=0;e.text&&(this.title||(this.title=this.chart.renderer.label(e.text,t-3,t-4,void 0,void 0,void 0,i.useHTML,void 0,"legend-title").attr({zIndex:1}),this.chart.styledMode||this.title.css(e.style),this.title.add(this.group)),e.width||this.title.css({width:this.maxLegendWidth+"px"}),s=this.title.getBBox(),r=s.height,this.offsetWidth=s.width,this.contentGroup.attr({translateY:r})),this.titleHeight=r}setText(i){let t=this.options;i.legendItem.label.attr({text:t.labelFormat?kf(t.labelFormat,i,this.chart):t.labelFormatter.call(i)})}renderItem(i){let t=this,e=i.legendItem=i.legendItem||{},s=t.chart,r=s.renderer,n=t.options,o=n.layout==="horizontal",a=t.symbolWidth,h=n.symbolPadding||0,c=t.itemStyle,f=t.itemHiddenStyle,d=o?jt(n.itemDistance,20):0,p=!n.rtl,u=!i.series,m=!u&&i.series.drawLegendSymbol?i.series:i,g=m.options,x=!!t.createCheckboxForItem&&g&&g.showCheckbox,y=n.useHTML,b=i.options.className,v=e.label,C=a+h+d+(x?20:0);v||(e.group=r.g("legend-item").addClass("highcharts-"+m.type+"-series highcharts-color-"+i.colorIndex+(b?" "+b:"")+(u?" highcharts-series-"+i.index:"")).attr({zIndex:1}).add(t.scrollGroup),e.label=v=r.text("",p?a+h:-h,t.baseline||0,y),s.styledMode||v.css(Ne(i.visible?c:f)),v.attr({align:p?"left":"right",zIndex:2}).add(e.group),t.baseline||(t.fontMetrics=r.fontMetrics(v),t.baseline=t.fontMetrics.f+3+t.itemMarginTop,v.attr("y",t.baseline),t.symbolHeight=jt(n.symbolHeight,t.fontMetrics.f),n.squareSymbol&&(t.symbolWidth=jt(n.symbolWidth,Math.max(t.symbolHeight,16)),C=t.symbolWidth+h+d+(x?20:0),p&&v.attr("x",t.symbolWidth+h))),m.drawLegendSymbol(t,i),t.setItemEvents&&t.setItemEvents(i,v,y)),x&&!i.checkbox&&t.createCheckboxForItem&&t.createCheckboxForItem(i),t.colorizeItem(i,i.visible),(s.styledMode||!c.width)&&v.css({width:(n.itemWidth||t.widthOption||s.spacingBox.width)-C+"px"}),t.setText(i);let S=v.getBBox(),T=t.fontMetrics&&t.fontMetrics.h||0;i.itemWidth=i.checkboxOffset=n.itemWidth||e.labelWidth||S.width+C,t.maxItemWidth=Math.max(t.maxItemWidth,i.itemWidth),t.totalItemWidth+=i.itemWidth,t.itemHeight=i.itemHeight=Math.round(e.labelHeight||(S.height>T*1.5?S.height:T))}layoutItem(i){let t=this.options,e=this.padding,s=t.layout==="horizontal",r=i.itemHeight,n=this.itemMarginBottom,o=this.itemMarginTop,a=s?jt(t.itemDistance,20):0,h=this.maxLegendWidth,c=t.alignColumns&&this.totalItemWidth>h?this.maxItemWidth:i.itemWidth,f=i.legendItem||{};s&&this.itemX-e+c>h&&(this.itemX=e,this.lastLineHeight&&(this.itemY+=o+this.lastLineHeight+n),this.lastLineHeight=0),this.lastItemY=o+this.itemY+n,this.lastLineHeight=Math.max(r,this.lastLineHeight),f.x=this.itemX,f.y=this.itemY,s?this.itemX+=c:(this.itemY+=o+r+n,this.lastLineHeight=r),this.offsetWidth=this.widthOption||Math.max((s?this.itemX-e-(i.checkbox?0:a):c)+e,this.offsetWidth)}getAllItems(){let i=[];return this.chart.series.forEach(function(t){let e=t&&t.options;t&&jt(e.showInLegend,Yr(e.linkedTo)?!1:void 0,!0)&&(i=i.concat((t.legendItem||{}).labels||(e.legendType==="point"?t.data:t)))}),Se(this,"afterGetAllItems",{allItems:i}),i}getAlignment(){let i=this.options;return this.proximate?i.align.charAt(0)+"tv":i.floating?"":i.align.charAt(0)+i.verticalAlign.charAt(0)+i.layout.charAt(0)}adjustMargins(i,t){let e=this.chart,s=this.options,r=this.getAlignment();r&&[/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/].forEach(function(n,o){n.test(r)&&!Yr(i[o])&&(e[Sa[o]]=Math.max(e[Sa[o]],e.legend[(o+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][o]*s[o%2?"x":"y"]+jt(s.margin,12)+t[o]+(e.titleOffset[o]||0)))})}proximatePositions(){let i=this.chart,t=[],e=this.options.align==="left";this.allItems.forEach(function(r){let n,o,a=e,h,c;r.yAxis&&(r.xAxis.options.reversed&&(a=!a),r.points&&(n=If(a?r.points:r.points.slice(0).reverse(),function(f){return Ca(f.plotY)})),o=this.itemMarginTop+r.legendItem.label.getBBox().height+this.itemMarginBottom,c=r.yAxis.top-i.plotTop,r.visible?(h=n?n.plotY:r.yAxis.height,h+=c-.3*o):h=c+r.yAxis.height,t.push({target:h,size:o,item:r}))},this);let s;for(let r of Of(t,i.plotHeight))s=r.item.legendItem||{},Ca(r.pos)&&(s.y=i.plotTop-i.spacing[0]+r.pos)}render(){let i=this,t=i.chart,e=t.renderer,s=i.options,r=i.padding,n=i.getAllItems(),o,a,h,c=i.group,f,d=i.box;i.itemX=r,i.itemY=i.initialItemY,i.offsetWidth=0,i.lastItemY=0,i.widthOption=Bf(s.width,t.spacingBox.width-r),f=t.spacingBox.width-2*r-s.x,["rm","lm"].indexOf(i.getAlignment().substring(0,2))>-1&&(f/=2),i.maxLegendWidth=i.widthOption||f,c||(i.group=c=e.g("legend").addClass(s.className||"").attr({zIndex:7}).add(),i.contentGroup=e.g().attr({zIndex:1}).add(c),i.scrollGroup=e.g().add(i.contentGroup)),i.renderTitle(),Rf(n,(p,u)=>(p.options&&p.options.legendIndex||0)-(u.options&&u.options.legendIndex||0)),s.reversed&&n.reverse(),i.allItems=n,i.display=o=!!n.length,i.lastLineHeight=0,i.maxItemWidth=0,i.totalItemWidth=0,i.itemHeight=0,n.forEach(i.renderItem,i),n.forEach(i.layoutItem,i),a=(i.widthOption||i.offsetWidth)+r,h=i.lastItemY+i.lastLineHeight+i.titleHeight,h=i.handleOverflow(h),h+=r,d||(i.box=d=e.rect().addClass("highcharts-legend-box").attr({r:s.borderRadius}).add(c)),t.styledMode||d.attr({stroke:s.borderColor,"stroke-width":s.borderWidth||0,fill:s.backgroundColor||"none"}).shadow(s.shadow),a>0&&h>0&&d[d.placed?"animate":"attr"](d.crisp.call({},{x:0,y:0,width:a,height:h},d.strokeWidth())),c[o?"show":"hide"](),t.styledMode&&c.getStyle("display")==="none"&&(a=h=0),i.legendWidth=a,i.legendHeight=h,o&&i.align(),this.proximate||this.positionItems(),Se(this,"afterRender")}align(i=this.chart.spacingBox){let t=this.chart,e=this.options,s=i.y;/(lth|ct|rth)/.test(this.getAlignment())&&t.titleOffset[0]>0?s+=t.titleOffset[0]:/(lbh|cb|rbh)/.test(this.getAlignment())&&t.titleOffset[2]>0&&(s-=t.titleOffset[2]),s!==i.y&&(i=Ne(i,{y:s})),t.hasRendered||(this.group.placed=!1),this.group.align(Ne(e,{width:this.legendWidth,height:this.legendHeight,verticalAlign:this.proximate?"top":e.verticalAlign}),!0,i)}handleOverflow(i){let t=this,e=this.chart,s=e.renderer,r=this.options,n=r.y,o=r.verticalAlign==="top",a=this.padding,h=r.maxHeight,c=r.navigation,f=jt(c.animation,!0),d=c.arrowSize||12,p=this.pages,u=this.allItems,m=function(T){typeof T=="number"?S.attr({height:T}):S&&(t.clipRect=S.destroy(),t.contentGroup.clip()),t.contentGroup.div&&(t.contentGroup.div.style.clip=T?"rect("+a+"px,9999px,"+(a+T)+"px,0)":"auto")},g=function(T){return t[T]=s.circle(0,0,d*1.3).translate(d/2,d/2).add(C),e.styledMode||t[T].attr("fill","rgba(0,0,0,0.0001)"),t[T]},x,y,b,v=e.spacingBox.height+(o?-n:n)-a,C=this.nav,S=this.clipRect;return r.layout==="horizontal"&&r.verticalAlign!=="middle"&&!r.floating&&(v/=2),h&&(v=Math.min(v,h)),p.length=0,i&&v>0&&i>v&&c.enabled!==!1?(this.clipHeight=x=Math.max(v-20-this.titleHeight-a,0),this.currentPage=jt(this.currentPage,1),this.fullHeight=i,u.forEach((T,M)=>{b=T.legendItem||{};let w=b.y||0,P=Math.round(b.label.getBBox().height),L=p.length;(!L||w-p[L-1]>x&&(y||w)!==p[L-1])&&(p.push(y||w),L++),b.pageIx=L-1,y&&((u[M-1].legendItem||{}).pageIx=L-1),M===u.length-1&&w+P-p[L-1]>x&&w>p[L-1]&&(p.push(w),b.pageIx=L),w!==y&&(y=w)}),S||(S=t.clipRect=s.clipRect(0,a-2,9999,0),t.contentGroup.clip(S)),m(x),C||(this.nav=C=s.g().attr({zIndex:1}).add(this.group),this.up=s.symbol("triangle",0,0,d,d).add(C),g("upTracker").on("click",function(){t.scroll(-1,f)}),this.pager=s.text("",15,10).addClass("highcharts-legend-navigation"),!e.styledMode&&c.style&&this.pager.css(c.style),this.pager.add(C),this.down=s.symbol("triangle-down",0,0,d,d).add(C),g("downTracker").on("click",function(){t.scroll(1,f)})),t.scroll(0),i=v):C&&(m(),this.nav=C.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0),i}scroll(i,t){let e=this.chart,s=this.pages,r=s.length,n=this.clipHeight,o=this.options.navigation,a=this.pager,h=this.padding,c=this.currentPage+i;if(c>r&&(c=r),c>0){typeof t<"u"&&Df(t,e),this.nav.attr({translateX:h,translateY:n+this.padding+7+this.titleHeight,visibility:"inherit"}),[this.up,this.upTracker].forEach(function(d){d.attr({class:c===1?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})}),a.attr({text:c+"/"+r}),[this.down,this.downTracker].forEach(function(d){d.attr({x:18+this.pager.getBBox().width,class:c===r?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})},this),e.styledMode||(this.up.attr({fill:c===1?o.inactiveColor:o.activeColor}),this.upTracker.css({cursor:c===1?"default":"pointer"}),this.down.attr({fill:c===r?o.inactiveColor:o.activeColor}),this.downTracker.css({cursor:c===r?"default":"pointer"})),this.scrollOffset=-s[c-1]+this.initialItemY,this.scrollGroup.animate({translateY:this.scrollOffset}),this.currentPage=c,this.positionCheckboxes();let f=wf(jt(t,e.renderer.globalAnimation,!0));Wf(()=>{Se(this,"afterScroll",{currentPage:c})},f.duration)}}setItemEvents(i,t,e){let s=this,r=i.legendItem||{},n=s.chart.renderer.boxWrapper,o=i instanceof Gt,a="highcharts-legend-"+(o?"point":"series")+"-active",h=s.chart.styledMode,c=e?[t,r.symbol]:[r.group],f=d=>{s.allItems.forEach(p=>{i!==p&&[p].concat(p.linkedSeries||[]).forEach(u=>{u.setState(d,!o)})})};for(let d of c)d&&d.on("mouseover",function(){i.visible&&f("inactive"),i.setState("hover"),i.visible&&n.addClass(a),h||t.css(s.options.itemHoverStyle)}).on("mouseout",function(){s.chart.styledMode||t.css(Ne(i.visible?s.itemStyle:s.itemHiddenStyle)),f(""),n.removeClass(a),i.setState()}).on("click",function(p){let u="legendItemClick",m=function(){i.setVisible&&i.setVisible(),f(i.visible?"inactive":"")};n.removeClass(a),p={browserEvent:p},i.firePointEvent?i.firePointEvent(u,p,m):Se(i,u,p,m)})}createCheckboxForItem(i){let t=this;i.checkbox=Af("input",{type:"checkbox",className:"highcharts-legend-checkbox",checked:i.selected,defaultChecked:i.selected},t.options.itemCheckboxStyle,t.chart.container),Ds(i.checkbox,"click",function(e){let s=e.target;Se(i.series||i,"checkboxClick",{checked:s.checked,item:i},function(){i.select()})})}};(function(l){function i(t){_f(Pf,"Core.Legend")&&Ds(t,"beforeMargins",function(){this.legend=new l(this,this.options.legend)})}l.compose=i})(Ii||(Ii={}));var Gr=Ii;var{extend:Nf,merge:Ff,pick:Ta}=E,Vr;(function(l){function i(s,r){t.call(this,s,r,!0)}l.areaMarker=i;function t(s,r,n){let o=this.legendItem=this.legendItem||{},{chart:a,options:h}=this,{baseline:c=0,symbolWidth:f,symbolHeight:d}=s,p=this.symbol||"circle",u=d/2,m=a.renderer,g=o.group,x=c-Math.round(d*(n?.4:.3)),y={},b,v=h.marker,C=0;if(a.styledMode||(y["stroke-width"]=Math.min(h.lineWidth||0,24),h.dashStyle?y.dashstyle=h.dashStyle:h.linecap!=="square"&&(y["stroke-linecap"]="round")),o.line=m.path().addClass("highcharts-graph").attr(y).add(g),n&&(o.area=m.path().addClass("highcharts-area").add(g)),y["stroke-linecap"]&&(C=Math.min(o.line.strokeWidth(),f)/2),f){let S=[["M",C,x],["L",f-C,x]];o.line.attr({d:S}),o.area?.attr({d:[...S,["L",f-C,c],["L",C,c]]})}if(v&&v.enabled!==!1&&f){let S=Math.min(Ta(v.radius,u),u);p.indexOf("url")===0&&(v=Ff(v,{width:d,height:d}),S=0),o.symbol=b=m.symbol(p,f/2-S,x-S,2*S,2*S,Nf({context:"legend"},v)).addClass("highcharts-point").add(g),b.isMarker=!0}}l.lineMarker=t;function e(s,r){let n=r.legendItem||{},o=s.options,a=s.symbolHeight,h=o.squareSymbol,c=h?a:s.symbolWidth;n.symbol=this.chart.renderer.rect(h?(s.symbolWidth-a)/2:0,s.baseline-a+1,c,a,Ta(s.options.symbolRadius,a/2)).addClass("highcharts-point").attr({zIndex:3}).add(n.group)}l.rectangle=e})(Vr||(Vr={}));var ks=Vr;var zf={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:l}=this.series.chart;return typeof this.y!="number"?"":l(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"},Ma=zf;var{defaultOptions:wa}=vt,{extend:Hf,extendClass:Xf,merge:Yf}=E,jr;(function(l){l.seriesTypes=_.seriesTypes;function i(e,s){let r=wa.plotOptions||{},n=s.defaultOptions,o=s.prototype;return o.type=e,o.pointClass||(o.pointClass=Gt),l.seriesTypes[e]?!1:(n&&(r[e]=n),l.seriesTypes[e]=s,!0)}l.registerSeriesType=i;function t(e,s,r,n,o){let a=wa.plotOptions||{};if(s=s||"",a[e]=Yf(a[s],r),delete l.seriesTypes[e],i(e,Xf(l.seriesTypes[s]||function(){},n)),l.seriesTypes[e].prototype.type=e,o){class h extends Gt{}Hf(h.prototype,o),l.seriesTypes[e].prototype.pointClass=h}return l.seriesTypes[e]}l.seriesType=t})(jr||(jr={}));var et=jr;var{animObject:Da,setAnimation:Gf}=nt,{defaultOptions:Ps}=vt,{registerEventOptions:Vf}=oi,{svg:jf,win:Uf}=_,{seriesTypes:li}=et,{arrayMax:Ur,arrayMin:ka,clamp:Pa,correctFloat:Oa,crisp:$f,defined:Lt,destroyObjectProperties:qf,diffObjects:Kf,erase:Aa,error:_i,extend:ci,find:Zf,fireEvent:yt,getClosestDistance:Qf,getNestedProperty:Ea,insertItem:La,isArray:$r,isNumber:Ct,isString:Jf,merge:hi,objectEach:qr,pick:ht,removeEvent:tp,splat:ep,syncTimeout:Ia}=E,Ce=class{constructor(){this.zoneAxis="y"}init(i,t){yt(this,"init",{options:t});let e=this,s=i.series;this.eventsToUnbind=[],e.chart=i,e.options=e.setOptions(t);let r=e.options,n=r.visible!==!1;e.linkedSeries=[],e.bindAxes(),ci(e,{name:r.name,state:"",visible:n,selected:r.selected===!0}),Vf(this,r);let o=r.events;(o&&o.click||r.point&&r.point.events&&r.point.events.click||r.allowPointSelect)&&(i.runTrackerClick=!0),e.getColor(),e.getSymbol(),e.parallelArrays.forEach(function(h){e[h+"Data"]||(e[h+"Data"]=[])}),e.isCartesian&&(i.hasCartesianSeries=!0);let a;s.length&&(a=s[s.length-1]),e._i=ht(a&&a._i,-1)+1,e.opacity=e.options.opacity,i.orderItems("series",La(this,s)),r.dataSorting&&r.dataSorting.enabled?e.setDataSortingOptions():!e.points&&!e.data&&e.setData(r.data,!1),yt(this,"afterInit")}is(i){return li[i]&&this instanceof li[i]}bindAxes(){let i=this,t=i.options,e=i.chart,s;yt(this,"bindAxes",null,function(){(i.axisTypes||[]).forEach(function(r){(e[r]||[]).forEach(function(n){s=n.options,(ht(t[r],0)===n.index||typeof t[r]<"u"&&t[r]===s.id)&&(La(i,n.series),i[r]=n,n.isDirty=!0)}),!i[r]&&i.optionalAxis!==r&&_i(18,!0,e)})}),yt(this,"afterBindAxes")}updateParallelArrays(i,t,e){let s=i.series,r=Ct(t)?function(n){let o=n==="y"&&s.toYData?s.toYData(i):i[n];s[n+"Data"][t]=o}:function(n){Array.prototype[t].apply(s[n+"Data"],e)};s.parallelArrays.forEach(r)}hasData(){return this.visible&&typeof this.dataMax<"u"&&typeof this.dataMin<"u"||this.visible&&this.yData&&this.yData.length>0}hasMarkerChanged(i,t){let e=i.marker,s=t.marker||{};return e&&(s.enabled&&!e.enabled||s.symbol!==e.symbol||s.height!==e.height||s.width!==e.width)}autoIncrement(i){let t=this.options,e=t.pointIntervalUnit,s=t.relativeXValue,r=this.chart.time,n=this.xIncrement,o,a;return n=ht(n,t.pointStart,0),this.pointInterval=a=ht(this.pointInterval,t.pointInterval,1),s&&Ct(i)&&(a*=i),e&&(o=new r.Date(n),e==="day"?r.set("Date",o,r.get("Date",o)+a):e==="month"?r.set("Month",o,r.get("Month",o)+a):e==="year"&&r.set("FullYear",o,r.get("FullYear",o)+a),a=o.getTime()-n),s&&Ct(i)?n+a:(this.xIncrement=n+a,n)}setDataSortingOptions(){let i=this.options;ci(this,{requireSorting:!1,sorted:!1,enabledDataSorting:!0,allowDG:!1}),Lt(i.pointRange)||(i.pointRange=1)}setOptions(i){let t=this.chart,e=t.options,s=e.plotOptions,r=t.userOptions||{},n=hi(i),o=t.styledMode,a={plotOptions:s,userOptions:n},h;yt(this,"setOptions",a);let c=a.plotOptions[this.type],f=r.plotOptions||{},d=f.series||{},p=Ps.plotOptions[this.type]||{},u=f[this.type]||{};this.userOptions=a.userOptions;let m=hi(c,s.series,u,n);this.tooltipOptions=hi(Ps.tooltip,Ps.plotOptions.series?.tooltip,p?.tooltip,t.userOptions.tooltip,f.series?.tooltip,u.tooltip,n.tooltip),this.stickyTracking=ht(n.stickyTracking,u.stickyTracking,d.stickyTracking,this.tooltipOptions.shared&&!this.noSharedTooltip?!0:m.stickyTracking),c.marker===null&&delete m.marker,this.zoneAxis=m.zoneAxis||"y";let g=this.zones=(m.zones||[]).map(x=>At({},x));return(m.negativeColor||m.negativeFillColor)&&!m.zones&&(h={value:m[this.zoneAxis+"Threshold"]||m.threshold||0,className:"highcharts-negative"},o||(h.color=m.negativeColor,h.fillColor=m.negativeFillColor),g.push(h)),g.length&&Lt(g[g.length-1].value)&&g.push(o?{}:{color:this.color,fillColor:this.fillColor}),yt(this,"afterSetOptions",{options:m}),m}getName(){return ht(this.options.name,"Series "+(this.index+1))}getCyclic(i,t,e){let s=this.chart,r=`${i}Index`,n=`${i}Counter`,o=e?.length||s.options.chart.colorCount,a,h;t||(h=ht(i==="color"?this.options.colorIndex:void 0,this[r]),Lt(h)?a=h:(s.series.length||(s[n]=0),a=s[n]%o,s[n]+=1),e&&(t=e[a])),typeof a<"u"&&(this[r]=a),this[i]=t}getColor(){this.chart.styledMode?this.getCyclic("color"):this.options.colorByPoint?this.color="#cccccc":this.getCyclic("color",this.options.color||Ps.plotOptions[this.type].color,this.chart.options.colors)}getPointsCollection(){return(this.hasGroupedData?this.points:this.data)||[]}getSymbol(){let i=this.options.marker;this.getCyclic("symbol",i.symbol,this.chart.options.symbols)}findPointIndex(i,t){let e=i.id,s=i.x,r=this.points,n=this.options.dataSorting,o,a,h;if(e){let c=this.chart.get(e);c instanceof Gt&&(o=c)}else if(this.linkedParent||this.enabledDataSorting||this.options.relativeXValue){let c=f=>!f.touched&&f.index===i.index;if(n&&n.matchByName?c=f=>!f.touched&&f.name===i.name:this.options.relativeXValue&&(c=f=>!f.touched&&f.options.x===i.x),o=Zf(r,c),!o)return}return o&&(h=o&&o.index,typeof h<"u"&&(a=!0)),typeof h>"u"&&Ct(s)&&(h=this.xData.indexOf(s,t)),h!==-1&&typeof h<"u"&&this.cropped&&(h=h>=this.cropStart?h-this.cropStart:h),!a&&Ct(h)&&r[h]&&r[h].touched&&(h=void 0),h}updateData(i,t){let e=this.options,s=e.dataSorting,r=this.points,n=[],o=this.requireSorting,a=i.length===r.length,h,c,f,d,p=!0;if(this.xIncrement=null,i.forEach(function(u,m){let g=Lt(u)&&this.pointClass.prototype.optionsToObject.call({series:this},u)||{},x,y=g.x;g.id||Ct(y)?(x=this.findPointIndex(g,d),x===-1||typeof x>"u"?n.push(u):r[x]&&u!==e.data[x]?(r[x].update(u,!1,null,!1),r[x].touched=!0,o&&(d=x+1)):r[x]&&(r[x].touched=!0),(!a||m!==x||s&&s.enabled||this.hasDerivedData)&&(h=!0)):n.push(u)},this),h)for(c=r.length;c--;)f=r[c],f&&!f.touched&&f.remove&&f.remove(!1,t);else a&&(!s||!s.enabled)?(i.forEach(function(u,m){u!==r[m].y&&!r[m].destroyed&&r[m].update(u,!1,null,!1)}),n.length=0):p=!1;return r.forEach(function(u){u&&(u.touched=!1)}),p?(n.forEach(function(u){this.addPoint(u,!1,null,null,!1)},this),this.xIncrement===null&&this.xData&&this.xData.length&&(this.xIncrement=Ur(this.xData),this.autoIncrement()),!0):!1}setData(i,t=!0,e,s){let r=this,n=r.points,o=n&&n.length||0,a=r.options,h=r.chart,c=a.dataSorting,f=r.xAxis,d=a.turboThreshold,p=this.xData,u=this.yData,m=r.pointArrayMap,g=m&&m.length,x=a.keys,y,b,v,C=0,S=1,T=null,M;h.options.chart.allowMutatingData||(a.data&&delete r.options.data,r.userOptions.data&&delete r.userOptions.data,M=hi(!0,i)),i=M||i||[];let w=i.length;if(c&&c.enabled&&(i=this.sortData(i)),h.options.chart.allowMutatingData&&s!==!1&&w&&o&&!r.cropped&&!r.hasGroupedData&&r.visible&&!r.boosted&&(v=this.updateData(i,e)),!v){if(r.xIncrement=null,r.colorCounter=0,this.parallelArrays.forEach(function(P){r[P+"Data"].length=0}),d&&w>d)if(T=r.getFirstValidPoint(i),Ct(T))for(y=0;y<w;y++)p[y]=this.autoIncrement(),u[y]=i[y];else if($r(T))if(g)if(T.length===g)for(y=0;y<w;y++)p[y]=this.autoIncrement(),u[y]=i[y];else for(y=0;y<w;y++)b=i[y],p[y]=b[0],u[y]=b.slice(1,g+1);else if(x&&(C=x.indexOf("x"),S=x.indexOf("y"),C=C>=0?C:0,S=S>=0?S:1),T.length===1&&(S=0),C===S)for(y=0;y<w;y++)p[y]=this.autoIncrement(),u[y]=i[y][S];else for(y=0;y<w;y++)b=i[y],p[y]=b[C],u[y]=b[S];else _i(12,!1,h);else for(y=0;y<w;y++)b={series:r},r.pointClass.prototype.applyOptions.apply(b,[i[y]]),r.updateParallelArrays(b,y);for(u&&Jf(u[0])&&_i(14,!0,h),r.data=[],r.options.data=r.userOptions.data=i,y=o;y--;)n[y]?.destroy();f&&(f.minRange=f.userMinRange),r.isDirty=h.isDirtyBox=!0,r.isDirtyData=!!n,e=!1}a.legendType==="point"&&(this.processData(),this.generatePoints()),t&&h.redraw(e)}sortData(i){let t=this,e=t.options,s=e.dataSorting,r=s.sortKey||"y",n=function(a,h){return Lt(h)&&a.pointClass.prototype.optionsToObject.call({series:a},h)||{}};return i.forEach(function(a,h){i[h]=n(t,a),i[h].index=h},this),i.concat().sort((a,h)=>{let c=Ea(r,a),f=Ea(r,h);return f<c?-1:f>c?1:0}).forEach(function(a,h){a.x=h},this),t.linkedSeries&&t.linkedSeries.forEach(function(a){let h=a.options,c=h.data;(!h.dataSorting||!h.dataSorting.enabled)&&c&&(c.forEach(function(f,d){c[d]=n(a,f),i[d]&&(c[d].x=i[d].x,c[d].index=d)}),a.setData(c,!1))}),i}getProcessedData(i){let t=this,e=t.xAxis,s=t.options,r=s.cropThreshold,n=e?.logarithmic,o=t.isCartesian,a,h,c=0,f,d,p,u=t.xData,m=t.yData,g=!1,x=u.length;e&&(f=e.getExtremes(),d=f.min,p=f.max,g=!!(e.categories&&!e.names.length)),o&&t.sorted&&!i&&(!r||x>r||t.forceCrop)&&(u[x-1]<d||u[0]>p?(u=[],m=[]):t.yData&&(u[0]<d||u[x-1]>p)&&(a=this.cropData(t.xData,t.yData,d,p),u=a.xData,m=a.yData,c=a.start,h=!0));let y=Qf([n?u.map(n.log2lin):u],()=>t.requireSorting&&!g&&_i(15,!1,t.chart));return{xData:u,yData:m,cropped:h,cropStart:c,closestPointRange:y}}processData(i){let t=this,e=t.xAxis;if(t.isCartesian&&!t.isDirty&&!e.isDirty&&!t.yAxis.isDirty&&!i)return!1;let s=t.getProcessedData();t.cropped=s.cropped,t.cropStart=s.cropStart,t.processedXData=s.xData,t.processedYData=s.yData,t.closestPointRange=t.basePointRange=s.closestPointRange,yt(t,"afterProcessData")}cropData(i,t,e,s){let r=i.length,n,o,a=0,h=r;for(n=0;n<r;n++)if(i[n]>=e){a=Math.max(0,n-1);break}for(o=n;o<r;o++)if(i[o]>s){h=o+1;break}return{xData:i.slice(a,h),yData:t.slice(a,h),start:a,end:h}}generatePoints(){let i=this,t=i.options,e=i.processedData||t.data,s=i.processedXData,r=i.processedYData,n=i.pointClass,o=s.length,a=i.cropStart||0,h=i.hasGroupedData,c=t.keys,f=[],d=t.dataGrouping&&t.dataGrouping.groupAll?a:0,p,u,m,g,x=i.data;if(!x&&!h){let y=[];y.length=e.length,x=i.data=y}for(c&&h&&(i.options.keys=!1),g=0;g<o;g++)u=a+g,h?(m=new n(i,[s[g]].concat(ep(r[g]))),m.dataGroup=i.groupMap[d+g],m.dataGroup.options&&(m.options=m.dataGroup.options,ci(m,m.dataGroup.options),delete m.dataLabels)):(m=x[u],!m&&typeof e[u]<"u"&&(x[u]=m=new n(i,e[u],s[g]))),m&&(m.index=h?d+g:u,f[g]=m);if(i.options.keys=c,x&&(o!==(p=x.length)||h))for(g=0;g<p;g++)g===a&&!h&&(g+=o),x[g]&&(x[g].destroyElements(),x[g].plotX=void 0);i.data=x,i.points=f,yt(this,"afterGeneratePoints")}getXExtremes(i){return{min:ka(i),max:Ur(i)}}getExtremes(i,t){let e=this.xAxis,s=this.yAxis,r=[],n=this.requireSorting&&!this.is("column")?1:0,o=s?s.positiveValuesOnly:!1,a=t||this.getExtremesFromAll||this.options.getExtremesFromAll,{processedXData:h,processedYData:c}=this,f,d,p,u,m,g,x,y=0,b=0,v=0;if(this.cropped&&a){let M=this.getProcessedData(!0);h=M.xData,c=M.yData}i=i||this.stackedYData||c||[];let C=i.length,S=h||this.xData;for(e&&(f=e.getExtremes(),y=f.min,b=f.max),g=0;g<C;g++)if(u=S[g],m=i[g],d=(Ct(m)||$r(m))&&((Ct(m)?m>0:m.length)||!o),p=t||this.getExtremesFromAll||this.options.getExtremesFromAll||this.cropped||!e||(S[g+n]||u)>=y&&(S[g-n]||u)<=b,d&&p)if(x=m.length,x)for(;x--;)Ct(m[x])&&(r[v++]=m[x]);else r[v++]=m;let T={activeYData:r,dataMin:ka(r),dataMax:Ur(r)};return yt(this,"afterGetExtremes",{dataExtremes:T}),T}applyExtremes(){let i=this.getExtremes();return this.dataMin=i.dataMin,this.dataMax=i.dataMax,i}getFirstValidPoint(i){let t=i.length,e=0,s=null;for(;s===null&&e<t;)s=i[e],e++;return s}translate(){this.processedXData||this.processData(),this.generatePoints();let i=this,t=i.options,e=t.stacking,s=i.xAxis,r=s.categories,n=i.enabledDataSorting,o=i.yAxis,a=i.points,h=a.length,c=i.pointPlacementToXValue(),f=!!c,d=t.threshold,p=t.startFromThreshold?d:0,u,m,g,x,y=Number.MAX_VALUE;function b(v){return Pa(v,-1e5,1e5)}for(u=0;u<h;u++){let v=a[u],C=v.x,S,T,M=v.y,w=v.low,P=e&&o.stacking?.stacks[(i.negStacks&&M<(p?0:d)?"-":"")+i.stackKey];m=s.translate(C,!1,!1,!1,!0,c),v.plotX=Ct(m)?Oa(b(m)):void 0,e&&i.visible&&P&&P[C]&&(x=i.getStackIndicator(x,C,i.index),!v.isNull&&x.key&&(S=P[C],T=S.points[x.key]),S&&$r(T)&&(w=T[0],M=T[1],w===p&&x.key===P[C].base&&(w=ht(Ct(d)?d:o.min)),o.positiveValuesOnly&&Lt(w)&&w<=0&&(w=void 0),v.total=v.stackTotal=ht(S.total),v.percentage=Lt(v.y)&&S.total?v.y/S.total*100:void 0,v.stackY=M,i.irregularWidths||S.setOffset(i.pointXOffset||0,i.barW||0,void 0,void 0,void 0,i.xAxis))),v.yBottom=Lt(w)?b(o.translate(w,!1,!0,!1,!0)):void 0,i.dataModify&&(M=i.dataModify.modifyValue(M,u));let L;Ct(M)&&v.plotX!==void 0&&(L=o.translate(M,!1,!0,!1,!0),L=Ct(L)?b(L):void 0),v.plotY=L,v.isInside=this.isPointInside(v),v.clientX=f?Oa(s.translate(C,!1,!1,!1,!0,c)):m,v.negative=(v.y||0)<(d||0),v.category=ht(r&&r[v.x],v.x),!v.isNull&&v.visible!==!1&&(typeof g<"u"&&(y=Math.min(y,Math.abs(m-g))),g=m),v.zone=this.zones.length?v.getZone():void 0,!v.graphic&&i.group&&n&&(v.isNew=!0)}i.closestPointRangePx=y,yt(this,"afterTranslate")}getValidPoints(i,t,e){let s=this.chart;return(i||this.points||[]).filter(function(r){let{plotX:n,plotY:o}=r;return!e&&(r.isNull||!Ct(o))||t&&!s.isInsidePlot(n,o,{inverted:s.inverted})?!1:r.visible!==!1})}getClipBox(){let{chart:i,xAxis:t,yAxis:e}=this,{x:s,y:r,width:n,height:o}=hi(i.clipBox);return t&&t.len!==i.plotSizeX&&(n=t.len),e&&e.len!==i.plotSizeY&&(o=e.len),i.inverted&&!this.invertible&&([n,o]=[o,n]),{x:s,y:r,width:n,height:o}}getSharedClipKey(){return this.sharedClipKey=(this.options.xAxis||0)+","+(this.options.yAxis||0),this.sharedClipKey}setClip(){let{chart:i,group:t,markerGroup:e}=this,s=i.sharedClips,r=i.renderer,n=this.getClipBox(),o=this.getSharedClipKey(),a=s[o];a?a.animate(n):s[o]=a=r.clipRect(n),t&&t.clip(this.options.clip===!1?void 0:a),e&&e.clip()}animate(i){let{chart:t,group:e,markerGroup:s}=this,r=t.inverted,n=Da(this.options.animation),o=[this.getSharedClipKey(),n.duration,n.easing,n.defer].join(","),a=t.sharedClips[o],h=t.sharedClips[o+"m"];if(i&&e){let c=this.getClipBox();if(a)a.attr("height",c.height);else{c.width=0,r&&(c.x=t.plotHeight),a=t.renderer.clipRect(c),t.sharedClips[o]=a;let f={x:-99,y:-99,width:r?t.plotWidth+199:99,height:r?99:t.plotHeight+199};h=t.renderer.clipRect(f),t.sharedClips[o+"m"]=h}e.clip(a),s?.clip(h)}else if(a&&!a.hasClass("highcharts-animating")){let c=this.getClipBox(),f=n.step;(s?.element.childNodes.length||t.series.length>1)&&(n.step=function(d,p){f&&f.apply(p,arguments),p.prop==="width"&&h?.element&&h.attr(r?"height":"width",d+99)}),a.addClass("highcharts-animating").animate(c,n)}}afterAnimate(){this.setClip(),qr(this.chart.sharedClips,(i,t,e)=>{i&&!this.chart.container.querySelector(`[clip-path="url(#${i.id})"]`)&&(i.destroy(),delete e[t])}),this.finishedAnimating=!0,yt(this,"afterAnimate")}drawPoints(i=this.points){let t=this,e=t.chart,s=e.styledMode,{colorAxis:r,options:n}=t,o=n.marker,a=t[t.specialGroup||"markerGroup"],h=t.xAxis,c=ht(o.enabled,!h||h.isRadial?!0:null,t.closestPointRangePx>=o.enabledThreshold*o.radius),f,d,p,u,m,g,x;if(o.enabled!==!1||t._hasPointMarkers)for(f=0;f<i.length;f++)if(d=i[f],p=d.graphic,u=p?"animate":"attr",m=d.marker||{},g=!!d.marker,(c&&typeof m.enabled>"u"||m.enabled)&&!d.isNull&&d.visible!==!1){let b=ht(m.symbol,t.symbol,"rect");x=t.markerAttribs(d,d.selected&&"select"),t.enabledDataSorting&&(d.startXPos=h.reversed?-(x.width||0):h.width);let v=d.isInside!==!1;if(!p&&v&&((x.width||0)>0||d.hasImage)&&(d.graphic=p=e.renderer.symbol(b,x.x,x.y,x.width,x.height,g?m:o).add(a),t.enabledDataSorting&&e.hasRendered&&(p.attr({x:d.startXPos}),u="animate")),p&&u==="animate"&&p[v?"show":"hide"](v).animate(x),p){let C=t.pointAttribs(d,s||!d.selected?void 0:"select");s?r&&p.css({fill:C.fill}):p[u](C)}p&&p.addClass(d.getClassName(),!0)}else p&&(d.graphic=p.destroy())}markerAttribs(i,t){let e=this.options,s=e.marker,r=i.marker||{},n=r.symbol||s.symbol,o={},a,h,c=ht(r.radius,s&&s.radius);t&&(a=s.states[t],h=r.states&&r.states[t],c=ht(h&&h.radius,a&&a.radius,c&&c+(a&&a.radiusPlus||0))),i.hasImage=n&&n.indexOf("url")===0,i.hasImage&&(c=0);let f=i.pos();return Ct(c)&&f&&(e.crisp&&(f[0]=$f(f[0],i.hasImage?0:n==="rect"?s?.lineWidth||0:1)),o.x=f[0]-c,o.y=f[1]-c),c&&(o.width=o.height=2*c),o}pointAttribs(i,t){let e=this.options.marker,s=i&&i.options,r=s&&s.marker||{},n=s&&s.color,o=i&&i.color,a=i&&i.zone&&i.zone.color,h,c,f=this.color,d,p,u=ht(r.lineWidth,e.lineWidth),m=1;return f=n||a||o||f,d=r.fillColor||e.fillColor||f,p=r.lineColor||e.lineColor||f,t=t||"normal",t&&(h=e.states[t]||{},c=r.states&&r.states[t]||{},u=ht(c.lineWidth,h.lineWidth,u+ht(c.lineWidthPlus,h.lineWidthPlus,0)),d=c.fillColor||h.fillColor||d,p=c.lineColor||h.lineColor||p,m=ht(c.opacity,h.opacity,m)),{stroke:p,"stroke-width":u,fill:d,opacity:m}}destroy(i){let t=this,e=t.chart,s=/AppleWebKit\/533/.test(Uf.navigator.userAgent),r=t.data||[],n,o,a,h;for(yt(t,"destroy",{keepEventsForUpdate:i}),this.removeEvents(i),(t.axisTypes||[]).forEach(function(c){h=t[c],h&&h.series&&(Aa(h.series,t),h.isDirty=h.forceRedraw=!0)}),t.legendItem&&t.chart.legend.destroyItem(t),o=r.length;o--;)a=r[o],a&&a.destroy&&a.destroy();for(let c of t.zones)qf(c,void 0,!0);E.clearTimeout(t.animationTimeout),qr(t,function(c,f){c instanceof Bt&&!c.survive&&(n=s&&f==="group"?"hide":"destroy",c[n]())}),e.hoverSeries===t&&(e.hoverSeries=void 0),Aa(e.series,t),e.orderItems("series"),qr(t,function(c,f){(!i||f!=="hcEvents")&&delete t[f]})}applyZones(){let i=this,{area:t,chart:e,graph:s,zones:r,points:n,xAxis:o,yAxis:a,zoneAxis:h}=i,{inverted:c,renderer:f}=e,d=this[`${h}Axis`],{isXAxis:p,len:u=0}=d||{},m=(s?.strokeWidth()||0)/2+1,g=(x,y=0,b=0)=>{c&&(b=u-b);let{translated:v=0,lineClip:C}=x,S=b-v;C?.push(["L",y,Math.abs(S)<m?b-m*(S<=0?-1:1):v])};if(r.length&&(s||t)&&d&&Ct(d.min)){let x=d.getExtremes().max,y=C=>{C.forEach((S,T)=>{(S[0]==="M"||S[0]==="L")&&(C[T]=[S[0],p?u-S[1]:S[1],p?S[2]:u-S[2]])})};if(r.forEach(C=>{C.lineClip=[],C.translated=Pa(d.toPixels(ht(C.value,x),!0)||0,0,u)}),s&&!this.showLine&&s.hide(),t&&t.hide(),h==="y"&&n.length<o.len)for(let C of n){let{plotX:S,plotY:T,zone:M}=C,w=M&&r[r.indexOf(M)-1];M&&g(M,S,T),w&&g(w,S,T)}let b=[],v=d.toPixels(d.getExtremes().min,!0);r.forEach(C=>{let S=C.lineClip||[],T=Math.round(C.translated||0);o.reversed&&S.reverse();let{clip:M,simpleClip:w}=C,P=0,L=0,R=o.len,I=a.len;p?(P=T,R=v):(L=T,I=v);let z=[["M",P,L],["L",R,L],["L",R,I],["L",P,I],["Z"]],Y=[z[0],...S,z[1],z[2],...b,z[3],z[4]];b=S.reverse(),v=T,c&&(y(Y),t&&y(z)),M?(M.animate({d:Y}),w?.animate({d:z})):(M=C.clip=f.path(Y),t&&(w=C.simpleClip=f.path(z))),s&&C.graph?.clip(M),t&&C.area?.clip(w)})}else i.visible&&(s&&s.show(),t&&t.show())}plotGroup(i,t,e,s,r){let n=this[i],o=!n,a={visibility:e,zIndex:s||.1};return Lt(this.opacity)&&!this.chart.styledMode&&this.state!=="inactive"&&(a.opacity=this.opacity),n||(this[i]=n=this.chart.renderer.g().add(r)),n.addClass("highcharts-"+t+" highcharts-series-"+this.index+" highcharts-"+this.type+"-series "+(Lt(this.colorIndex)?"highcharts-color-"+this.colorIndex+" ":"")+(this.options.className||"")+(n.hasClass("highcharts-tracker")?" highcharts-tracker":""),!0),n.attr(a)[o?"attr":"animate"](this.getPlotBox(t)),n}getPlotBox(i){let t=this.xAxis,e=this.yAxis,s=this.chart,r=s.inverted&&!s.polar&&t&&this.invertible&&i==="series";return s.inverted&&(t=e,e=this.xAxis),{translateX:t?t.left:s.plotLeft,translateY:e?e.top:s.plotTop,rotation:r?90:0,rotationOriginX:r?(t.len-e.len)/2:0,rotationOriginY:r?(t.len+e.len)/2:0,scaleX:r?-1:1,scaleY:1}}removeEvents(i){let{eventsToUnbind:t}=this;i||tp(this),t.length&&(t.forEach(e=>{e()}),t.length=0)}render(){let i=this,{chart:t,options:e,hasRendered:s}=i,r=Da(e.animation),n=i.visible?"inherit":"hidden",o=e.zIndex,a=t.seriesGroup,h=i.finishedAnimating?0:r.duration;yt(this,"render"),i.plotGroup("group","series",n,o,a),i.markerGroup=i.plotGroup("markerGroup","markers",n,o,a),e.clip!==!1&&i.setClip(),h&&i.animate?.(!0),i.drawGraph&&(i.drawGraph(),i.applyZones()),i.visible&&i.drawPoints(),i.drawDataLabels?.(),i.redrawPoints?.(),e.enableMouseTracking&&i.drawTracker?.(),h&&i.animate?.(),s||(h&&r.defer&&(h+=r.defer),i.animationTimeout=Ia(()=>{i.afterAnimate()},h||0)),i.isDirty=!1,i.hasRendered=!0,yt(i,"afterRender")}redraw(){let i=this.isDirty||this.isDirtyData;this.translate(),this.render(),i&&delete this.kdTree}reserveSpace(){return this.visible||!this.chart.options.chart.ignoreHiddenSeries}searchPoint(i,t){let{xAxis:e,yAxis:s}=this,r=this.chart.inverted;return this.searchKDTree({clientX:r?e.len-i.chartY+e.pos:i.chartX-e.pos,plotY:r?s.len-i.chartX+s.pos:i.chartY-s.pos},t,i)}buildKDTree(i){this.buildingKdTree=!0;let t=this,e=t.options.findNearestPointBy.indexOf("y")>-1?2:1;function s(n,o,a){let h=n?.length,c,f;if(h)return c=t.kdAxisArray[o%a],n.sort((d,p)=>(d[c]||0)-(p[c]||0)),f=Math.floor(h/2),{point:n[f],left:s(n.slice(0,f),o+1,a),right:s(n.slice(f+1),o+1,a)}}function r(){t.kdTree=s(t.getValidPoints(void 0,!t.directTouch),e,e),t.buildingKdTree=!1}delete t.kdTree,Ia(r,t.options.kdNow||i?.type==="touchstart"?0:1)}searchKDTree(i,t,e){let s=this,[r,n]=this.kdAxisArray,o=t?"distX":"dist",a=(s.options.findNearestPointBy||"").indexOf("y")>-1?2:1,h=!!s.isBubble;function c(d,p){let u=d[r],m=p[r],g=Lt(u)&&Lt(m)?u-m:null,x=d[n],y=p[n],b=Lt(x)&&Lt(y)?x-y:0,v=h&&p.marker?.radius||0;p.dist=Math.sqrt((g&&g*g||0)+b*b)-v,p.distX=Lt(g)?Math.abs(g)-v:Number.MAX_VALUE}function f(d,p,u,m){let g=p.point,x=s.kdAxisArray[u%m],y,b,v=g;c(d,g);let C=(d[x]||0)-(g[x]||0)+(h&&g.marker?.radius||0),S=C<0?"left":"right",T=C<0?"right":"left";return p[S]&&(y=f(d,p[S],u+1,m),v=y[o]<v[o]?y:g),p[T]&&Math.sqrt(C*C)<v[o]&&(b=f(d,p[T],u+1,m),v=b[o]<v[o]?b:v),v}if(!this.kdTree&&!this.buildingKdTree&&this.buildKDTree(e),this.kdTree)return f(i,this.kdTree,a,a)}pointPlacementToXValue(){let{options:i,xAxis:t}=this,e=i.pointPlacement;return e==="between"&&(e=t.reversed?-.5:.5),Ct(e)?e*(i.pointRange||t.pointRange):0}isPointInside(i){let{chart:t,xAxis:e,yAxis:s}=this,{plotX:r=-1,plotY:n=-1}=i;return n>=0&&n<=(s?s.len:t.plotHeight)&&r>=0&&r<=(e?e.len:t.plotWidth)}drawTracker(){let i=this,t=i.options,e=t.trackByArea,s=[].concat((e?i.areaPath:i.graphPath)||[]),r=i.chart,n=r.pointer,o=r.renderer,a=r.options.tooltip?.snap||0,h=()=>{t.enableMouseTracking&&r.hoverSeries!==i&&i.onMouseOver()},c="rgba(192,192,192,"+(jf?1e-4:.002)+")",f=i.tracker;f?f.attr({d:s}):i.graph&&(i.tracker=f=o.path(s).attr({visibility:i.visible?"inherit":"hidden",zIndex:2}).addClass(e?"highcharts-tracker-area":"highcharts-tracker-line").add(i.group),r.styledMode||f.attr({"stroke-linecap":"round","stroke-linejoin":"round",stroke:c,fill:e?c:"none","stroke-width":i.graph.strokeWidth()+(e?0:2*a)}),[i.tracker,i.markerGroup,i.dataLabelsGroup].forEach(d=>{d&&(d.addClass("highcharts-tracker").on("mouseover",h).on("mouseout",p=>{n?.onTrackerMouseOut(p)}),t.cursor&&!r.styledMode&&d.css({cursor:t.cursor}),d.on("touchstart",h))})),yt(this,"afterDrawTracker")}addPoint(i,t,e,s,r){let n=this,o=n.options,a=n.data,h=n.chart,c=n.xAxis,f=c&&c.hasNames&&c.names,d=o.data,p=n.xData,u,m;t=ht(t,!0);let g={series:n};n.pointClass.prototype.applyOptions.apply(g,[i]);let x=g.x;if(m=p.length,n.requireSorting&&x<p[m-1])for(u=!0;m&&p[m-1]>x;)m--;n.updateParallelArrays(g,"splice",[m,0,0]),n.updateParallelArrays(g,m),f&&g.name&&(f[x]=g.name),d.splice(m,0,i),(u||n.processedData)&&(n.data.splice(m,0,null),n.processData()),o.legendType==="point"&&n.generatePoints(),e&&(a[0]&&a[0].remove?a[0].remove(!1):(a.shift(),n.updateParallelArrays(g,"shift"),d.shift())),r!==!1&&yt(n,"addPoint",{point:g}),n.isDirty=!0,n.isDirtyData=!0,t&&h.redraw(s)}removePoint(i,t,e){let s=this,r=s.data,n=r[i],o=s.points,a=s.chart,h=function(){o&&o.length===r.length&&o.splice(i,1),r.splice(i,1),s.options.data.splice(i,1),s.updateParallelArrays(n||{series:s},"splice",[i,1]),n&&n.destroy(),s.isDirty=!0,s.isDirtyData=!0,t&&a.redraw()};Gf(e,a),t=ht(t,!0),n?n.firePointEvent("remove",null,h):h()}remove(i,t,e,s){let r=this,n=r.chart;function o(){r.destroy(s),n.isDirtyLegend=n.isDirtyBox=!0,n.linkSeries(s),ht(i,!0)&&n.redraw(t)}e!==!1?yt(r,"remove",null,o):o()}update(i,t){i=Kf(i,this.userOptions),yt(this,"update",{options:i});let e=this,s=e.chart,r=e.userOptions,n=e.initialType||e.type,o=s.options.plotOptions,a=li[n].prototype,h=["group","markerGroup","dataLabelsGroup","transformGroup"],c=["dataGrouping","pointStart","pointInterval","pointIntervalUnit","keys"],f=e.finishedAnimating&&{animation:!1},d={},p,u,m=["colorIndex","eventOptions","navigatorSeries","symbolIndex","baseSeries"],g=i.type||r.type||s.options.chart.type,x=!(this.hasDerivedData||g&&g!==this.type||typeof i.pointStart<"u"||typeof i.pointInterval<"u"||typeof i.relativeXValue<"u"||i.joinBy||i.mapData||c.some(b=>e.hasOptionChanged(b)));g=g||n,x&&(m.push("data","isDirtyData","isDirtyCanvas","points","processedData","processedXData","processedYData","xIncrement","cropped","_hasPointMarkers","hasDataLabels","nodes","layout","level","mapMap","mapData","minY","maxY","minX","maxX","transformGroups"),i.visible!==!1&&m.push("area","graph"),e.parallelArrays.forEach(function(b){m.push(b+"Data")}),i.data&&(i.dataSorting&&ci(e.options.dataSorting,i.dataSorting),this.setData(i.data,!1))),i=hi(r,{index:r.index===void 0?e.index:r.index,pointStart:o?.series?.pointStart??r.pointStart??e.xData?.[0]},!x&&{data:e.options.data},i,f),x&&i.data&&(i.data=e.options.data),m=h.concat(m),m.forEach(function(b){m[b]=e[b],delete e[b]});let y=!1;if(li[g]){if(y=g!==e.type,e.remove(!1,!1,!1,!0),y)if(s.propFromSeries(),Object.setPrototypeOf)Object.setPrototypeOf(e,li[g].prototype);else{let b=Object.hasOwnProperty.call(e,"hcEvents")&&e.hcEvents;for(u in a)e[u]=void 0;ci(e,li[g].prototype),b?e.hcEvents=b:delete e.hcEvents}}else _i(17,!0,s,{missingModuleFor:g});if(m.forEach(function(b){e[b]=m[b]}),e.init(s,i),x&&this.points){p=e.options,p.visible===!1?(d.graphic=1,d.dataLabel=1):(this.hasMarkerChanged(p,r)&&(d.graphic=1),e.hasDataLabels?.()||(d.dataLabel=1));for(let b of this.points)b&&b.series&&(b.resolveColor(),Object.keys(d).length&&b.destroyElements(d),p.showInLegend===!1&&b.legendItem&&s.legend.destroyItem(b))}e.initialType=n,s.linkSeries(),s.setSortedData(),y&&e.linkedSeries.length&&(e.isDirtyData=!0),yt(this,"afterUpdate"),ht(t,!0)&&s.redraw(x?void 0:!1)}setName(i){this.name=this.options.name=this.userOptions.name=i,this.chart.isDirtyLegend=!0}hasOptionChanged(i){let t=this.chart,e=this.options[i],s=t.options.plotOptions,r=this.userOptions[i],n=ht(s?.[this.type]?.[i],s?.series?.[i]);return r&&!Lt(n)?e!==r:e!==ht(n,e)}onMouseOver(){let i=this,t=i.chart,e=t.hoverSeries;t.pointer?.setHoverChartIndex(),e&&e!==i&&e.onMouseOut(),i.options.events.mouseOver&&yt(i,"mouseOver"),i.setState("hover"),t.hoverSeries=i}onMouseOut(){let i=this,t=i.options,e=i.chart,s=e.tooltip,r=e.hoverPoint;e.hoverSeries=null,r&&r.onMouseOut(),i&&t.events.mouseOut&&yt(i,"mouseOut"),s&&!i.stickyTracking&&(!s.shared||i.noSharedTooltip)&&s.hide(),e.series.forEach(function(n){n.setState("",!0)})}setState(i,t){let e=this,s=e.options,r=e.graph,n=s.inactiveOtherPoints,o=s.states,a=ht(o[i||"normal"]&&o[i||"normal"].animation,e.chart.options.chart.animation),h=s.lineWidth,c=s.opacity;if(i=i||"",e.state!==i&&([e.group,e.markerGroup,e.dataLabelsGroup].forEach(function(f){f&&(e.state&&f.removeClass("highcharts-series-"+e.state),i&&f.addClass("highcharts-series-"+i))}),e.state=i,!e.chart.styledMode)){if(o[i]&&o[i].enabled===!1)return;if(i&&(h=o[i].lineWidth||h+(o[i].lineWidthPlus||0),c=ht(o[i].opacity,c)),r&&!r.dashstyle&&Ct(h))for(let f of[r,...this.zones.map(d=>d.graph)])f?.animate({"stroke-width":h},a);n||[e.group,e.markerGroup,e.dataLabelsGroup,e.labelBySeries].forEach(function(f){f&&f.animate({opacity:c},a)})}t&&n&&e.points&&e.setAllPointsToState(i||void 0)}setAllPointsToState(i){this.points.forEach(function(t){t.setState&&t.setState(i)})}setVisible(i,t){let e=this,s=e.chart,r=s.options.chart.ignoreHiddenSeries,n=e.visible;e.visible=i=e.options.visible=e.userOptions.visible=typeof i>"u"?!n:i;let o=i?"show":"hide";["group","dataLabelsGroup","markerGroup","tracker","tt"].forEach(a=>{e[a]?.[o]()}),(s.hoverSeries===e||s.hoverPoint?.series===e)&&e.onMouseOut(),e.legendItem&&s.legend.colorizeItem(e,i),e.isDirty=!0,e.options.stacking&&s.series.forEach(a=>{a.options.stacking&&a.visible&&(a.isDirty=!0)}),e.linkedSeries.forEach(a=>{a.setVisible(i,!1)}),r&&(s.isDirtyBox=!0),yt(e,o),t!==!1&&s.redraw()}show(){this.setVisible(!0)}hide(){this.setVisible(!1)}select(i){let t=this;t.selected=i=this.options.selected=typeof i>"u"?!t.selected:i,t.checkbox&&(t.checkbox.checked=i),yt(t,i?"select":"unselect")}shouldShowTooltip(i,t,e={}){return e.series=this,e.visiblePlotOnly=!0,this.chart.isInsidePlot(i,t,e)}drawLegendSymbol(i,t){ks[this.options.legendSymbol||"rectangle"]?.call(this,i,t)}};Ce.defaultOptions=Ma;Ce.types=et.seriesTypes;Ce.registerType=et.registerSeriesType;ci(Ce.prototype,{axisTypes:["xAxis","yAxis"],coll:"series",colorCounter:0,directTouch:!1,invertible:!0,isCartesian:!0,kdAxisArray:["clientX","plotY"],parallelArrays:["x","y"],pointClass:Gt,requireSorting:!0,sorted:!0});et.series=Ce;var Pt=Ce;var{animate:Kr,animObject:ip,setAnimation:Zr}=nt,{defaultOptions:Qr,defaultTime:sp}=vt,{numberFormat:rp}=St,{registerEventOptions:_a}=oi,{charts:Fe,doc:Bi,marginNames:Ba,svg:np,win:Ra}=_,{seriesTypes:Jr}=et,{addEvent:tn,attr:Wa,createElement:en,css:Qt,defined:Te,diffObjects:Na,discardElement:op,erase:ap,error:sn,extend:we,find:rn,fireEvent:st,getStyle:nn,isArray:lp,isNumber:di,isObject:hp,isString:Os,merge:Me,objectEach:on,pick:Ot,pInt:cp,relativeLength:Fa,removeEvent:za,splat:As,syncTimeout:dp,uniqueKey:fp}=E,ze=class l{static chart(i,t,e){return new l(i,t,e)}constructor(i,t,e){this.sharedClips={};let s=[...arguments];(Os(i)||i.nodeName)&&(this.renderTo=s.shift()),this.init(s[0],s[1])}setZoomOptions(){let i=this,t=i.options.chart,e=t.zooming;i.zooming=$t(At({},e),{type:Ot(t.zoomType,e.type),key:Ot(t.zoomKey,e.key),pinchType:Ot(t.pinchType,e.pinchType),singleTouch:Ot(t.zoomBySingleTouch,e.singleTouch,!1),resetButton:Me(e.resetButton,t.resetZoomButton)})}init(i,t){st(this,"init",{args:arguments},function(){let e=Me(Qr,i),s=e.chart;this.userOptions=we({},i),this.margin=[],this.spacing=[],this.labelCollectors=[],this.callback=t,this.isResizing=0,this.options=e,this.axes=[],this.series=[],this.time=i.time&&Object.keys(i.time).length?new Ee(i.time):_.time,this.numberFormatter=s.numberFormatter||rp,this.styledMode=s.styledMode,this.hasCartesianSeries=s.showAxes;let r=this;r.index=Fe.length,Fe.push(r),_.chartCount++,_a(this,s),r.xAxis=[],r.yAxis=[],r.pointCount=r.colorCounter=r.symbolCounter=0,this.setZoomOptions(),st(r,"afterInit"),r.firstRender()})}initSeries(i){let t=this,e=t.options.chart,s=i.type||e.type,r=Jr[s];r||sn(17,!0,t,{missingModuleFor:s});let n=new r;return typeof n.init=="function"&&n.init(t,i),n}setSortedData(){this.getSeriesOrderByLinks().forEach(function(i){!i.points&&!i.data&&i.enabledDataSorting&&i.setData(i.options.data,!1)})}getSeriesOrderByLinks(){return this.series.concat().sort(function(i,t){return i.linkedSeries.length||t.linkedSeries.length?t.linkedSeries.length-i.linkedSeries.length:0})}orderItems(i,t=0){let e=this[i],s=this.options[i]=As(this.options[i]).slice(),r=this.userOptions[i]=this.userOptions[i]?As(this.userOptions[i]).slice():[];if(this.hasRendered&&(s.splice(t),r.splice(t)),e)for(let n=t,o=e.length;n<o;++n){let a=e[n];a&&(a.index=n,a instanceof Pt&&(a.name=a.getName()),a.options.isInternal||(s[n]=a.options,r[n]=a.userOptions))}}isInsidePlot(i,t,e={}){let{inverted:s,plotBox:r,plotLeft:n,plotTop:o,scrollablePlotBox:a}=this,{scrollLeft:h=0,scrollTop:c=0}=e.visiblePlotOnly&&this.scrollablePlotArea?.scrollingContainer||{},f=e.series,d=e.visiblePlotOnly&&a||r,p=e.inverted?t:i,u=e.inverted?i:t,m={x:p,y:u,isInsidePlot:!0,options:e};if(!e.ignoreX){let g=f&&(s&&!this.polar?f.yAxis:f.xAxis)||{pos:n,len:1/0},x=e.paneCoordinates?g.pos+p:n+p;x>=Math.max(h+n,g.pos)&&x<=Math.min(h+n+d.width,g.pos+g.len)||(m.isInsidePlot=!1)}if(!e.ignoreY&&m.isInsidePlot){let g=!s&&e.axis&&!e.axis.isXAxis&&e.axis||f&&(s?f.xAxis:f.yAxis)||{pos:o,len:1/0},x=e.paneCoordinates?g.pos+u:o+u;x>=Math.max(c+o,g.pos)&&x<=Math.min(c+o+d.height,g.pos+g.len)||(m.isInsidePlot=!1)}return st(this,"afterIsInsidePlot",m),m.isInsidePlot}redraw(i){st(this,"beforeRedraw");let t=this,e=t.hasCartesianSeries?t.axes:t.colorAxis||[],s=t.series,r=t.pointer,n=t.legend,o=t.userOptions.legend,a=t.renderer,h=a.isHidden(),c=[],f,d,p,u=t.isDirtyBox,m=t.isDirtyLegend,g;for(a.rootFontSize=a.boxWrapper.getStyle("font-size"),t.setResponsive&&t.setResponsive(!1),Zr(t.hasRendered?i:!1,t),h&&t.temporaryDisplay(),t.layOutTitles(!1),p=s.length;p--;)if(g=s[p],(g.options.stacking||g.options.centerInCategory)&&(d=!0,g.isDirty)){f=!0;break}if(f)for(p=s.length;p--;)g=s[p],g.options.stacking&&(g.isDirty=!0);s.forEach(function(x){x.isDirty&&(x.options.legendType==="point"?(typeof x.updateTotals=="function"&&x.updateTotals(),m=!0):o&&(o.labelFormatter||o.labelFormat)&&(m=!0)),x.isDirtyData&&st(x,"updatedData")}),m&&n&&n.options.enabled&&(n.render(),t.isDirtyLegend=!1),d&&t.getStacks(),e.forEach(function(x){x.updateNames(),x.setScale()}),t.getMargins(),e.forEach(function(x){x.isDirty&&(u=!0)}),e.forEach(function(x){let y=x.min+","+x.max;x.extKey!==y&&(x.extKey=y,c.push(function(){st(x,"afterSetExtremes",we(x.eventArgs,x.getExtremes())),delete x.eventArgs})),(u||d)&&x.redraw()}),u&&t.drawChartBox(),st(t,"predraw"),s.forEach(function(x){(u||x.isDirty)&&x.visible&&x.redraw(),x.isDirtyData=!1}),r&&r.reset(!0),a.draw(),st(t,"redraw"),st(t,"render"),h&&t.temporaryDisplay(!0),c.forEach(function(x){x.call()})}get(i){let t=this.series;function e(r){return r.id===i||r.options&&r.options.id===i}let s=rn(this.axes,e)||rn(this.series,e);for(let r=0;!s&&r<t.length;r++)s=rn(t[r].points||[],e);return s}getAxes(){let i=this.userOptions;st(this,"getAxes");for(let t of["xAxis","yAxis"]){let e=i[t]=As(i[t]||{});for(let s of e)new Ai(this,s,t)}st(this,"afterGetAxes")}getSelectedPoints(){return this.series.reduce((i,t)=>(t.getPointsCollection().forEach(e=>{Ot(e.selectedStaging,e.selected)&&i.push(e)}),i),[])}getSelectedSeries(){return this.series.filter(function(i){return i.selected})}setTitle(i,t,e){this.applyDescription("title",i),this.applyDescription("subtitle",t),this.applyDescription("caption",void 0),this.layOutTitles(e)}applyDescription(i,t){let e=this,s=this.options[i]=Me(this.options[i],t),r=this[i];r&&t&&(this[i]=r=r.destroy()),s&&!r&&(r=this.renderer.text(s.text,0,0,s.useHTML).attr({align:s.align,class:"highcharts-"+i,zIndex:s.zIndex||4}).add(),r.update=function(n,o){e.applyDescription(i,n),e.layOutTitles(o)},this.styledMode||r.css(we(i==="title"?{fontSize:this.options.isStock?"1em":"1.2em"}:{},s.style)),this[i]=r)}layOutTitles(i=!0){let t=[0,0,0],e=this.renderer,s=this.spacingBox;["title","subtitle","caption"].forEach(function(n){let o=this[n],a=this.options[n],h=a.verticalAlign||"top",c=n==="title"?h==="top"?-3:0:h==="top"?t[0]+2:0;if(o){o.css({width:(a.width||s.width+(a.widthAdjust||0))+"px"});let f=e.fontMetrics(o).b,d=Math.round(o.getBBox(a.useHTML).height);o.align(we({y:h==="bottom"?f:c+f,height:d},a),!1,"spacingBox"),a.floating||(h==="top"?t[0]=Math.ceil(t[0]+d):h==="bottom"&&(t[2]=Math.ceil(t[2]+d)))}},this),t[0]&&(this.options.title.verticalAlign||"top")==="top"&&(t[0]+=this.options.title.margin),t[2]&&this.options.caption.verticalAlign==="bottom"&&(t[2]+=this.options.caption.margin);let r=!this.titleOffset||this.titleOffset.join(",")!==t.join(",");this.titleOffset=t,st(this,"afterLayOutTitles"),!this.isDirtyBox&&r&&(this.isDirtyBox=this.isDirtyLegend=r,this.hasRendered&&i&&this.isDirtyBox&&this.redraw())}getContainerBox(){return{width:nn(this.renderTo,"width",!0)||0,height:nn(this.renderTo,"height",!0)||0}}getChartSize(){let i=this,t=i.options.chart,e=t.width,s=t.height,r=i.getContainerBox();i.chartWidth=Math.max(0,e||r.width||600),i.chartHeight=Math.max(0,Fa(s,i.chartWidth)||(r.height>1?r.height:400)),i.containerBox=r}temporaryDisplay(i){let t=this.renderTo,e;if(i)for(;t&&t.style;)t.hcOrigStyle&&(Qt(t,t.hcOrigStyle),delete t.hcOrigStyle),t.hcOrigDetached&&(Bi.body.removeChild(t),t.hcOrigDetached=!1),t=t.parentNode;else for(;t&&t.style&&(!Bi.body.contains(t)&&!t.parentNode&&(t.hcOrigDetached=!0,Bi.body.appendChild(t)),(nn(t,"display",!1)==="none"||t.hcOricDetached)&&(t.hcOrigStyle={display:t.style.display,height:t.style.height,overflow:t.style.overflow},e={display:"block",overflow:"hidden"},t!==this.renderTo&&(e.height=0),Qt(t,e),t.offsetWidth||t.style.setProperty("display","block","important")),t=t.parentNode,t!==Bi.body););}setClassName(i){this.container.className="highcharts-container "+(i||"")}getContainer(){let i=this,t=i.options,e=t.chart,s="data-highcharts-chart",r=fp(),n,o=i.renderTo;o||(i.renderTo=o=e.renderTo),Os(o)&&(i.renderTo=o=Bi.getElementById(o)),o||sn(13,!0,i);let a=cp(Wa(o,s));di(a)&&Fe[a]&&Fe[a].hasRendered&&Fe[a].destroy(),Wa(o,s,i.index),o.innerHTML=kt.emptyHTML,!e.skipClone&&!o.offsetWidth&&i.temporaryDisplay(),i.getChartSize();let h=i.chartHeight,c=i.chartWidth;Qt(o,{overflow:"hidden"}),i.styledMode||(n=we({position:"relative",overflow:"hidden",width:c+"px",height:h+"px",textAlign:"left",lineHeight:"normal",zIndex:0,"-webkit-tap-highlight-color":"rgba(0,0,0,0)",userSelect:"none","touch-action":"manipulation",outline:"none"},e.style||{}));let f=en("div",{id:r},n,o);i.container=f,i.getChartSize(),c!==i.chartWidth&&(c=i.chartWidth,i.styledMode||Qt(f,{width:Ot(e.style?.width,c+"px")})),i.containerBox=i.getContainerBox(),i._cursor=f.style.cursor;let d=e.renderer||!np?ee.getRendererType(e.renderer):ps;if(i.renderer=new d(f,c,h,void 0,e.forExport,t.exporting&&t.exporting.allowHTML,i.styledMode),Zr(void 0,i),i.setClassName(e.className),!i.styledMode)i.renderer.setStyle(e.style);else for(let p in t.defs)this.renderer.definition(t.defs[p]);i.renderer.chartIndex=i.index,st(this,"afterGetContainer")}getMargins(i){let{spacing:t,margin:e,titleOffset:s}=this;this.resetMargins(),s[0]&&!Te(e[0])&&(this.plotTop=Math.max(this.plotTop,s[0]+t[0])),s[2]&&!Te(e[2])&&(this.marginBottom=Math.max(this.marginBottom,s[2]+t[2])),this.legend&&this.legend.display&&this.legend.adjustMargins(e,t),st(this,"getMargins"),i||this.getAxisMargins()}getAxisMargins(){let i=this,t=i.axisOffset=[0,0,0,0],e=i.colorAxis,s=i.margin,r=function(n){n.forEach(function(o){o.visible&&o.getOffset()})};i.hasCartesianSeries?r(i.axes):e&&e.length&&r(e),Ba.forEach(function(n,o){Te(s[o])||(i[n]+=t[o])}),i.setChartSize()}getOptions(){return Na(this.userOptions,Qr)}reflow(i){let t=this,e=t.containerBox,s=t.getContainerBox();delete t.pointer?.chartPosition,!t.isPrinting&&!t.isResizing&&e&&s.width&&((s.width!==e.width||s.height!==e.height)&&(E.clearTimeout(t.reflowTimeout),t.reflowTimeout=dp(function(){t.container&&t.setSize(void 0,void 0,!1)},i?100:0)),t.containerBox=s)}setReflow(){let i=this,t=e=>{i.options?.chart.reflow&&i.hasLoaded&&i.reflow(e)};if(typeof ResizeObserver=="function")new ResizeObserver(t).observe(i.renderTo);else{let e=tn(Ra,"resize",t);tn(this,"destroy",e)}}setSize(i,t,e){let s=this,r=s.renderer;s.isResizing+=1,Zr(e,s);let n=r.globalAnimation;s.oldChartHeight=s.chartHeight,s.oldChartWidth=s.chartWidth,typeof i<"u"&&(s.options.chart.width=i),typeof t<"u"&&(s.options.chart.height=t),s.getChartSize();let{chartWidth:o,chartHeight:a,scrollablePixelsX:h=0,scrollablePixelsY:c=0}=s;(s.isDirtyBox||o!==s.oldChartWidth||a!==s.oldChartHeight)&&(s.styledMode||(n?Kr:Qt)(s.container,{width:`${o+h}px`,height:`${a+c}px`},n),s.setChartSize(!0),r.setSize(o,a,n),s.axes.forEach(function(f){f.isDirty=!0,f.setScale()}),s.isDirtyLegend=!0,s.isDirtyBox=!0,s.layOutTitles(),s.getMargins(),s.redraw(n),s.oldChartHeight=void 0,st(s,"resize"),setTimeout(()=>{s&&st(s,"endResize")},ip(n).duration)),s.isResizing-=1}setChartSize(i){let t=this,{chartHeight:e,chartWidth:s,inverted:r,spacing:n,renderer:o}=t,a=t.clipOffset,h=Math[r?"floor":"round"],c,f,d,p;t.plotLeft=c=Math.round(t.plotLeft),t.plotTop=f=Math.round(t.plotTop),t.plotWidth=d=Math.max(0,Math.round(s-c-t.marginRight)),t.plotHeight=p=Math.max(0,Math.round(e-f-t.marginBottom)),t.plotSizeX=r?p:d,t.plotSizeY=r?d:p,t.spacingBox=o.spacingBox={x:n[3],y:n[0],width:s-n[3]-n[1],height:e-n[0]-n[2]},t.plotBox=o.plotBox={x:c,y:f,width:d,height:p},a&&(t.clipBox={x:h(a[3]),y:h(a[0]),width:h(t.plotSizeX-a[1]-a[3]),height:h(t.plotSizeY-a[0]-a[2])}),i||(t.axes.forEach(function(u){u.setAxisSize(),u.setAxisTranslation()}),o.alignElements()),st(t,"afterSetChartSize",{skipAxes:i})}resetMargins(){st(this,"resetMargins");let i=this,t=i.options.chart,e=t.plotBorderWidth||0,s=e/2;["margin","spacing"].forEach(function(n){let o=t[n],a=hp(o)?o:[o,o,o,o];["Top","Right","Bottom","Left"].forEach(function(h,c){i[n][c]=Ot(t[n+h],a[c])})}),Ba.forEach(function(r,n){i[r]=Ot(i.margin[n],i.spacing[n])}),i.axisOffset=[0,0,0,0],i.clipOffset=[s,s,s,s],i.plotBorderWidth=e}drawChartBox(){let i=this,t=i.options.chart,e=i.renderer,s=i.chartWidth,r=i.chartHeight,n=i.styledMode,o=i.plotBGImage,a=t.backgroundColor,h=t.plotBackgroundColor,c=t.plotBackgroundImage,f=i.plotLeft,d=i.plotTop,p=i.plotWidth,u=i.plotHeight,m=i.plotBox,g=i.clipRect,x=i.clipBox,y=i.chartBackground,b=i.plotBackground,v=i.plotBorder,C,S,T,M="animate";y||(i.chartBackground=y=e.rect().addClass("highcharts-background").add(),M="attr"),n?C=S=y.strokeWidth():(C=t.borderWidth||0,S=C+(t.shadow?8:0),T={fill:a||"none"},(C||y["stroke-width"])&&(T.stroke=t.borderColor,T["stroke-width"]=C),y.attr(T).shadow(t.shadow)),y[M]({x:S/2,y:S/2,width:s-S-C%2,height:r-S-C%2,r:t.borderRadius}),M="animate",b||(M="attr",i.plotBackground=b=e.rect().addClass("highcharts-plot-background").add()),b[M](m),n||(b.attr({fill:h||"none"}).shadow(t.plotShadow),c&&(o?(c!==o.attr("href")&&o.attr("href",c),o.animate(m)):i.plotBGImage=e.image(c,f,d,p,u).add())),g?g.animate({width:x.width,height:x.height}):i.clipRect=e.clipRect(x),M="animate",v||(M="attr",i.plotBorder=v=e.rect().addClass("highcharts-plot-border").attr({zIndex:1}).add()),n||v.attr({stroke:t.plotBorderColor,"stroke-width":t.plotBorderWidth||0,fill:"none"}),v[M](v.crisp({x:f,y:d,width:p,height:u},-v.strokeWidth())),i.isDirtyBox=!1,st(this,"afterDrawChartBox")}propFromSeries(){let i=this,t=i.options.chart,e=i.options.series,s,r,n;["inverted","angular","polar"].forEach(function(o){for(r=Jr[t.type],n=t[o]||r&&r.prototype[o],s=e&&e.length;!n&&s--;)r=Jr[e[s].type],r&&r.prototype[o]&&(n=!0);i[o]=n})}linkSeries(i){let t=this,e=t.series;e.forEach(function(s){s.linkedSeries.length=0}),e.forEach(function(s){let{linkedTo:r}=s.options;if(Os(r)){let n;r===":previous"?n=t.series[s.index-1]:n=t.get(r),n&&n.linkedParent!==s&&(n.linkedSeries.push(s),s.linkedParent=n,n.enabledDataSorting&&s.setDataSortingOptions(),s.visible=Ot(s.options.visible,n.options.visible,s.visible))}}),st(this,"afterLinkSeries",{isUpdating:i})}renderSeries(){this.series.forEach(function(i){i.translate(),i.render()})}render(){let i=this,t=i.axes,e=i.colorAxis,s=i.renderer,r=i.options.chart.axisLayoutRuns||2,n=f=>{f.forEach(d=>{d.visible&&d.render()})},o=0,a=!0,h,c=0;i.setTitle(),st(i,"beforeMargins"),i.getStacks?.(),i.getMargins(!0),i.setChartSize();for(let f of t){let{options:d}=f,{labels:p}=d;if(i.hasCartesianSeries&&f.horiz&&f.visible&&p.enabled&&f.series.length&&f.coll!=="colorAxis"&&!i.polar){o=d.tickLength,f.createGroups();let u=new ae(f,0,"",!0),m=u.createLabel("x",p);if(u.destroy(),m&&Ot(p.reserveSpace,!di(d.crossing))&&(o=m.getBBox().height+p.distance+Math.max(d.offset||0,0)),o){m?.destroy();break}}}for(i.plotHeight=Math.max(i.plotHeight-o,0);(a||h||r>1)&&c<r;){let f=i.plotWidth,d=i.plotHeight;for(let p of t)c===0?p.setScale():(p.horiz&&a||!p.horiz&&h)&&p.setTickInterval(!0);c===0?i.getAxisMargins():i.getMargins(),a=f/i.plotWidth>(c?1:1.1),h=d/i.plotHeight>(c?1:1.05),c++}i.drawChartBox(),i.hasCartesianSeries?n(t):e&&e.length&&n(e),i.seriesGroup||(i.seriesGroup=s.g("series-group").attr({zIndex:3}).shadow(i.options.chart.seriesGroupShadow).add()),i.renderSeries(),i.addCredits(),i.setResponsive&&i.setResponsive(),i.hasRendered=!0}addCredits(i){let t=this,e=Me(!0,this.options.credits,i);e.enabled&&!this.credits&&(this.credits=this.renderer.text(e.text+(this.mapCredits||""),0,0).addClass("highcharts-credits").on("click",function(){e.href&&(Ra.location.href=e.href)}).attr({align:e.position.align,zIndex:8}),t.styledMode||this.credits.css(e.style),this.credits.add().align(e.position),this.credits.update=function(s){t.credits=t.credits.destroy(),t.addCredits(s)})}destroy(){let i=this,t=i.axes,e=i.series,s=i.container,r=s&&s.parentNode,n;for(st(i,"destroy"),i.renderer.forExport?ap(Fe,i):Fe[i.index]=void 0,_.chartCount--,i.renderTo.removeAttribute("data-highcharts-chart"),za(i),n=t.length;n--;)t[n]=t[n].destroy();for(this.scroller&&this.scroller.destroy&&this.scroller.destroy(),n=e.length;n--;)e[n]=e[n].destroy();["title","subtitle","chartBackground","plotBackground","plotBGImage","plotBorder","seriesGroup","clipRect","credits","pointer","rangeSelector","legend","resetZoomButton","tooltip","renderer"].forEach(function(o){let a=i[o];a&&a.destroy&&(i[o]=a.destroy())}),s&&(s.innerHTML=kt.emptyHTML,za(s),r&&op(s)),on(i,function(o,a){delete i[a]})}firstRender(){let i=this,t=i.options;i.getContainer(),i.resetMargins(),i.setChartSize(),i.propFromSeries(),i.getAxes();let e=lp(t.series)?t.series:[];t.series=[],e.forEach(function(s){i.initSeries(s)}),i.linkSeries(),i.setSortedData(),st(i,"beforeRender"),i.render(),i.pointer?.getChartPosition(),!i.renderer.imgCount&&!i.hasLoaded&&i.onload(),i.temporaryDisplay(!0)}onload(){this.callbacks.concat([this.callback]).forEach(function(i){i&&typeof this.index<"u"&&i.apply(this,[this])},this),st(this,"load"),st(this,"render"),Te(this.index)&&this.setReflow(),this.warnIfA11yModuleNotLoaded(),this.hasLoaded=!0}warnIfA11yModuleNotLoaded(){let{options:i,title:t}=this;i&&!this.accessibility&&(this.renderer.boxWrapper.attr({role:"img","aria-label":(t&&t.element.textContent||"").replace(/</g,"<")}),i.accessibility&&i.accessibility.enabled===!1||sn('Highcharts warning: Consider including the "accessibility.js" module to make your chart more usable for people with disabilities. Set the "accessibility.enabled" option to false to remove this warning. See https://www.highcharts.com/docs/accessibility/accessibility-module.',!1,this))}addSeries(i,t,e){let s=this,r;return i&&(t=Ot(t,!0),st(s,"addSeries",{options:i},function(){r=s.initSeries(i),s.isDirtyLegend=!0,s.linkSeries(),r.enabledDataSorting&&r.setData(i.data,!1),st(s,"afterAddSeries",{series:r}),t&&s.redraw(e)})),r}addAxis(i,t,e,s){return this.createAxis(t?"xAxis":"yAxis",{axis:i,redraw:e,animation:s})}addColorAxis(i,t,e){return this.createAxis("colorAxis",{axis:i,redraw:t,animation:e})}createAxis(i,t){let e=new Ai(this,t.axis,i);return Ot(t.redraw,!0)&&this.redraw(t.animation),e}showLoading(i){let t=this,e=t.options,s=e.loading,r=function(){n&&Qt(n,{left:t.plotLeft+"px",top:t.plotTop+"px",width:t.plotWidth+"px",height:t.plotHeight+"px"})},n=t.loadingDiv,o=t.loadingSpan;n||(t.loadingDiv=n=en("div",{className:"highcharts-loading highcharts-loading-hidden"},null,t.container)),o||(t.loadingSpan=o=en("span",{className:"highcharts-loading-inner"},null,n),tn(t,"redraw",r)),n.className="highcharts-loading",kt.setElementHTML(o,Ot(i,e.lang.loading,"")),t.styledMode||(Qt(n,we(s.style,{zIndex:10})),Qt(o,s.labelStyle),t.loadingShown||(Qt(n,{opacity:0,display:""}),Kr(n,{opacity:s.style.opacity||.5},{duration:s.showDuration||0}))),t.loadingShown=!0,r()}hideLoading(){let i=this.options,t=this.loadingDiv;t&&(t.className="highcharts-loading highcharts-loading-hidden",this.styledMode||Kr(t,{opacity:0},{duration:i.loading.hideDuration||100,complete:function(){Qt(t,{display:"none"})}})),this.loadingShown=!1}update(i,t,e,s){let r=this,n={credits:"addCredits",title:"setTitle",subtitle:"setSubtitle",caption:"setCaption"},o=i.isResponsiveOptions,a=[],h,c,f;st(r,"update",{options:i}),o||r.setResponsive(!1,!0),i=Na(i,r.options),r.userOptions=Me(r.userOptions,i);let d=i.chart;d&&(Me(!0,r.options.chart,d),this.setZoomOptions(),"className"in d&&r.setClassName(d.className),("inverted"in d||"polar"in d||"type"in d)&&(r.propFromSeries(),h=!0),"alignTicks"in d&&(h=!0),"events"in d&&_a(this,d),on(d,function(m,g){r.propsRequireUpdateSeries.indexOf("chart."+g)!==-1&&(c=!0),r.propsRequireDirtyBox.indexOf(g)!==-1&&(r.isDirtyBox=!0),r.propsRequireReflow.indexOf(g)!==-1&&(r.isDirtyBox=!0,o||(f=!0))}),!r.styledMode&&d.style&&r.renderer.setStyle(r.options.chart.style||{})),!r.styledMode&&i.colors&&(this.options.colors=i.colors),i.time&&(this.time===sp&&(this.time=new Ee(i.time)),Me(!0,r.options.time,i.time)),on(i,function(m,g){r[g]&&typeof r[g].update=="function"?r[g].update(m,!1):typeof r[n[g]]=="function"?r[n[g]](m):g!=="colors"&&r.collectionsWithUpdate.indexOf(g)===-1&&Me(!0,r.options[g],i[g]),g!=="chart"&&r.propsRequireUpdateSeries.indexOf(g)!==-1&&(c=!0)}),this.collectionsWithUpdate.forEach(function(m){i[m]&&(As(i[m]).forEach(function(g,x){let y=Te(g.id),b;y&&(b=r.get(g.id)),!b&&r[m]&&(b=r[m][Ot(g.index,x)],b&&(y&&Te(b.options.id)||b.options.isInternal)&&(b=void 0)),b&&b.coll===m&&(b.update(g,!1),e&&(b.touched=!0)),!b&&e&&r.collectionsWithInit[m]&&(r.collectionsWithInit[m][0].apply(r,[g].concat(r.collectionsWithInit[m][1]||[]).concat([!1])).touched=!0)}),e&&r[m].forEach(function(g){!g.touched&&!g.options.isInternal?a.push(g):delete g.touched}))}),a.forEach(function(m){m.chart&&m.remove&&m.remove(!1)}),h&&r.axes.forEach(function(m){m.update({},!1)}),c&&r.getSeriesOrderByLinks().forEach(function(m){m.chart&&m.update({},!1)},this);let p=d&&d.width,u=d&&(Os(d.height)?Fa(d.height,p||r.chartWidth):d.height);f||di(p)&&p!==r.chartWidth||di(u)&&u!==r.chartHeight?r.setSize(p,u,s):Ot(t,!0)&&r.redraw(s),st(r,"afterUpdate",{options:i,redraw:t,animation:s})}setSubtitle(i,t){this.applyDescription("subtitle",i),this.layOutTitles(t)}setCaption(i,t){this.applyDescription("caption",i),this.layOutTitles(t)}showResetZoom(){let i=this,t=Qr.lang,e=i.zooming.resetButton,s=e.theme,r=e.relativeTo==="chart"||e.relativeTo==="spacingBox"?null:"plotBox";function n(){i.zoomOut()}st(this,"beforeShowResetZoom",null,function(){i.resetZoomButton=i.renderer.button(t.resetZoom,null,null,n,s).attr({align:e.position.align,title:t.resetZoomTitle}).addClass("highcharts-reset-zoom").add().align(e.position,!1,r)}),st(this,"afterShowResetZoom")}zoomOut(){st(this,"selection",{resetSelection:!0},()=>this.transform({reset:!0,trigger:"zoom"}))}pan(i,t){let e=this,s=typeof t=="object"?t:{enabled:t,type:"x"},r=s.type,n=r&&e[{x:"xAxis",xy:"axes",y:"yAxis"}[r]].filter(a=>a.options.panningEnabled&&!a.options.isInternal),o=e.options.chart;o?.panning&&(o.panning=s),st(this,"pan",{originalEvent:i},()=>{e.transform({axes:n,event:i,to:{x:i.chartX-(e.mouseDownX||0),y:i.chartY-(e.mouseDownY||0)},trigger:"pan"}),Qt(e.container,{cursor:"move"})})}transform(i){let{axes:t=this.axes,event:e,from:s={},reset:r,selection:n,to:o={},trigger:a}=i,{inverted:h}=this,c=!1,f;this.hoverPoints?.forEach(d=>d.setState());for(let d of t){let{horiz:p,len:u,minPointOffset:m=0,options:g,reversed:x}=d,y=p?"width":"height",b=p?"x":"y",v=Ot(o[y],d.len),C=Ot(s[y],d.len),S=Math.abs(v)<10?1:v/C,T=(s[b]||0)+C/2-d.pos,M=(o[b]??d.pos)+v/2-d.pos,w=T-M/S,P=x&&!h||!x&&h?-1:1,L=w;if(!r&&(T<0||T>d.len))continue;let R=d.toValue(L,!0)+(n?0:m*P),I=d.toValue(L+u/S,!0)-(n?0:m*P||0),z=d.allExtremes;if(R>I&&([R,I]=[I,R]),S===1&&!r&&d.coll==="yAxis"&&!z){for(let It of d.series){let ie=It.getExtremes(It.getProcessedData(!0).yData,!0);z??(z={dataMin:Number.MAX_VALUE,dataMax:-Number.MAX_VALUE}),di(ie.dataMin)&&di(ie.dataMax)&&(z.dataMin=Math.min(ie.dataMin,z.dataMin),z.dataMax=Math.max(ie.dataMax,z.dataMax))}d.allExtremes=z}let{dataMin:Y,dataMax:W,min:tt,max:it}=we(d.getExtremes(),z||{}),rt=Y??g.min,G=W??g.max,Q=I-R,$=d.categories?0:Math.min(Q,G-rt),V=rt-$*(Te(g.min)?0:g.minPadding),K=G+$*(Te(g.max)?0:g.maxPadding),j=d.allowZoomOutside||S===1||a!=="zoom"&&S>1,Z=Math.min(g.min??V,V,j?tt:V),ct=Math.max(g.max??K,K,j?it:K);(!d.isOrdinal||S!==1||r)&&(R<Z&&(R=Z,S>=1&&(I=R+Q)),I>ct&&(I=ct,S>=1&&(R=I-Q)),(r||d.series.length&&(R!==tt||I!==it)&&R>=Z&&I<=ct)&&(n?n[d.coll].push({axis:d,min:R,max:I}):(d.isPanning=a!=="zoom",d.setExtremes(r?void 0:R,r?void 0:I,!1,!1,{move:w,trigger:a,scale:S}),!r&&(R>Z||I<ct)&&a!=="mousewheel"&&(f=!0)),c=!0),e&&(this[p?"mouseDownX":"mouseDownY"]=e[p?"chartX":"chartY"]))}return c&&(n?st(this,"selection",n,()=>{delete i.selection,i.trigger="zoom",this.transform(i)}):(f&&!this.resetZoomButton?this.showResetZoom():!f&&this.resetZoomButton&&(this.resetZoomButton=this.resetZoomButton.destroy()),this.redraw(a==="zoom"&&(this.options.chart.animation??this.pointCount<100)))),c}};we(ze.prototype,{callbacks:[],collectionsWithInit:{xAxis:[ze.prototype.addAxis,[!0]],yAxis:[ze.prototype.addAxis,[!1]],series:[ze.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"]});var an=ze;var{stop:pp}=nt,{composed:up}=_,{addEvent:De,createElement:Es,css:ln,defined:hn,merge:Ha,pushUnique:mp}=E;function gp(){let l=this.scrollablePlotArea;(this.scrollablePixelsX||this.scrollablePixelsY)&&!l&&(this.scrollablePlotArea=l=new Ya(this)),l?.applyFixed()}function Xa(){this.chart.scrollablePlotArea&&(this.chart.scrollablePlotArea.isDirty=!0)}var Ya=(()=>{class l{static compose(t,e,s){mp(up,this.compose)&&(De(t,"afterInit",Xa),De(e,"afterSetChartSize",r=>this.afterSetSize(r.target,r)),De(e,"render",gp),De(s,"show",Xa))}static afterSetSize(t,e){let{minWidth:s,minHeight:r}=t.options.chart.scrollablePlotArea||{},{clipBox:n,plotBox:o,inverted:a,renderer:h}=t,c,f,d;if(!h.forExport&&(s?(t.scrollablePixelsX=c=Math.max(0,s-t.chartWidth),c&&(t.scrollablePlotBox=Ha(t.plotBox),o.width=t.plotWidth+=c,n[a?"height":"width"]+=c,d=!0)):r&&(t.scrollablePixelsY=f=Math.max(0,r-t.chartHeight),hn(f)&&(t.scrollablePlotBox=Ha(t.plotBox),o.height=t.plotHeight+=f,n[a?"width":"height"]+=f,d=!1)),hn(d)&&!e.skipAxes))for(let p of t.axes)p.horiz===d&&(p.setAxisSize(),p.setAxisTranslation())}constructor(t){let e=t.options.chart,s=ee.getRendererType(),r=e.scrollablePlotArea||{},n=this.moveFixedElements.bind(this),o={WebkitOverflowScrolling:"touch",overflowX:"hidden",overflowY:"hidden"};t.scrollablePixelsX&&(o.overflowX="auto"),t.scrollablePixelsY&&(o.overflowY="auto"),this.chart=t;let a=this.parentDiv=Es("div",{className:"highcharts-scrolling-parent"},{position:"relative"},t.renderTo),h=this.scrollingContainer=Es("div",{className:"highcharts-scrolling"},o,a),c=this.innerContainer=Es("div",{className:"highcharts-inner-container"},void 0,h),f=this.fixedDiv=Es("div",{className:"highcharts-fixed"},{position:"absolute",overflow:"hidden",pointerEvents:"none",zIndex:(e.style?.zIndex||0)+2,top:0},void 0,!0),d=this.fixedRenderer=new s(f,t.chartWidth,t.chartHeight,e.style);this.mask=d.path().attr({fill:e.backgroundColor||"#fff","fill-opacity":r.opacity??.85,zIndex:-1}).addClass("highcharts-scrollable-mask").add(),h.parentNode.insertBefore(f,h),ln(t.renderTo,{overflow:"visible"}),De(t,"afterShowResetZoom",n),De(t,"afterApplyDrilldown",n),De(t,"afterLayOutTitles",n);let p;De(h,"scroll",()=>{let{pointer:u,hoverPoint:m}=t;u&&(delete u.chartPosition,m&&(p=m),u.runPointActions(void 0,p,!0))}),c.appendChild(t.container)}applyFixed(){let{chart:t,fixedRenderer:e,isDirty:s,scrollingContainer:r}=this,{axisOffset:n,chartWidth:o,chartHeight:a,container:h,plotHeight:c,plotLeft:f,plotTop:d,plotWidth:p,scrollablePixelsX:u=0,scrollablePixelsY:m=0}=t,g=t.options.chart,x=g.scrollablePlotArea||{},{scrollPositionX:y=0,scrollPositionY:b=0}=x,v=o+u,C=a+m;e.setSize(o,a),(s??!0)&&(this.isDirty=!1,this.moveFixedElements()),pp(t.container),ln(h,{width:`${v}px`,height:`${C}px`}),t.renderer.boxWrapper.attr({width:v,height:C,viewBox:[0,0,v,C].join(" ")}),t.chartBackground?.attr({width:v,height:C}),ln(r,{width:`${o}px`,height:`${a}px`}),hn(s)||(r.scrollLeft=u*y,r.scrollTop=m*b);let S=d-n[0]-1,T=f-n[3]-1,M=d+c+n[2]+1,w=f+p+n[1]+1,P=f+p-u,L=d+c-m,R=[["M",0,0]];u?R=[["M",0,S],["L",f-1,S],["L",f-1,M],["L",0,M],["Z"],["M",P,S],["L",o,S],["L",o,M],["L",P,M],["Z"]]:m&&(R=[["M",T,0],["L",T,d-1],["L",w,d-1],["L",w,0],["Z"],["M",T,L],["L",T,a],["L",w,a],["L",w,L],["Z"]]),t.redrawTrigger!=="adjustHeight"&&this.mask.attr({d:R})}moveFixedElements(){let{container:t,inverted:e,scrollablePixelsX:s,scrollablePixelsY:r}=this.chart,n=this.fixedRenderer,o=l.fixedSelectors,a;s&&!e?a=".highcharts-yaxis":s&&e||r&&!e?a=".highcharts-xaxis":r&&e&&(a=".highcharts-yaxis"),a&&o.push(`${a}:not(.highcharts-radial-axis)`,`${a}-labels:not(.highcharts-radial-axis-labels)`);for(let h of o)[].forEach.call(t.querySelectorAll(h),c=>{(c.namespaceURI===n.SVG_NS?n.box:n.box.parentNode).appendChild(c),c.style.pointerEvents="auto"})}}return l.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"],l})(),Ga=Ya;var{format:xp}=St,{series:yp}=et,{destroyObjectProperties:bp,fireEvent:Va,isNumber:cn,pick:Ri}=E,dn=class{constructor(i,t,e,s,r){let n=i.chart.inverted,o=i.reversed;this.axis=i;let a=this.isNegative=!!e!=!!o;this.options=t=t||{},this.x=s,this.total=null,this.cumulative=null,this.points={},this.hasValidPoints=!1,this.stack=r,this.leftCliff=0,this.rightCliff=0,this.alignOptions={align:t.align||(n?a?"left":"right":"center"),verticalAlign:t.verticalAlign||(n?"middle":a?"bottom":"top"),y:t.y,x:t.x},this.textAlign=t.textAlign||(n?a?"right":"left":"center")}destroy(){bp(this,this.axis)}render(i){let t=this.axis.chart,e=this.options,s=e.format,r=s?xp(s,this,t):e.formatter.call(this);if(this.label)this.label.attr({text:r,visibility:"hidden"});else{this.label=t.renderer.label(r,null,void 0,e.shape,void 0,void 0,e.useHTML,!1,"stack-labels");let n={r:e.borderRadius||0,text:r,padding:Ri(e.padding,5),visibility:"hidden"};t.styledMode||(n.fill=e.backgroundColor,n.stroke=e.borderColor,n["stroke-width"]=e.borderWidth,this.label.css(e.style||{})),this.label.attr(n),this.label.added||this.label.add(i)}this.label.labelrank=t.plotSizeY,Va(this,"afterRender")}setOffset(i,t,e,s,r,n){let{alignOptions:o,axis:a,label:h,options:c,textAlign:f}=this,d=a.chart,p=this.getStackBox({xOffset:i,width:t,boxBottom:e,boxTop:s,defaultX:r,xAxis:n}),{verticalAlign:u}=o;if(h&&p){let m=h.getBBox(void 0,0),g=h.padding,x=Ri(c.overflow,"justify")==="justify",y;o.x=c.x||0,o.y=c.y||0;let{x:b,y:v}=this.adjustStackPosition({labelBox:m,verticalAlign:u,textAlign:f});p.x-=b,p.y-=v,h.align(o,!1,p),y=d.isInsidePlot(h.alignAttr.x+o.x+b,h.alignAttr.y+o.y+v),y||(x=!1),x&&yp.prototype.justifyDataLabel.call(a,h,o,h.alignAttr,m,p),h.attr({x:h.alignAttr.x,y:h.alignAttr.y,rotation:c.rotation,rotationOriginX:m.width*{left:0,center:.5,right:1}[c.textAlign||"center"],rotationOriginY:m.height/2}),Ri(!x&&c.crop,!0)&&(y=cn(h.x)&&cn(h.y)&&d.isInsidePlot(h.x-g+(h.width||0),h.y)&&d.isInsidePlot(h.x+g,h.y)),h[y?"show":"hide"]()}Va(this,"afterSetOffset",{xOffset:i,width:t})}adjustStackPosition({labelBox:i,verticalAlign:t,textAlign:e}){let s={bottom:0,middle:1,top:2,right:1,center:0,left:-1},r=s[t],n=s[e];return{x:i.width/2+i.width/2*n,y:i.height/2*r}}getStackBox(i){let t=this,e=this.axis,s=e.chart,{boxTop:r,defaultX:n,xOffset:o,width:a,boxBottom:h}=i,c=e.stacking.usePercentage?100:Ri(r,this.total,0),f=e.toPixels(c),d=i.xAxis||s.xAxis[0],p=Ri(n,d.translate(this.x))+o,u=e.toPixels(h||cn(e.min)&&e.logarithmic&&e.logarithmic.lin2log(e.min)||0),m=Math.abs(f-u),g=s.inverted,x=t.isNegative;return g?{x:(x?f:f-m)-s.plotLeft,y:d.height-p-a,width:m,height:a}:{x:p+d.transB-s.plotLeft,y:(x?f-m:f)-s.plotTop,width:a,height:m}}},Ls=dn;var{getDeferredAnimation:vp}=nt,{series:{prototype:Sp}}=et,{addEvent:ja,correctFloat:Wi,defined:Ua,destroyObjectProperties:Cp,fireEvent:Tp,isArray:Mp,isNumber:wp,objectEach:He,pick:fn}=E;function Dp(){let l=this,i=l.inverted;l.axes.forEach(t=>{t.stacking&&t.stacking.stacks&&t.hasVisibleSeries&&(t.stacking.oldStacks=t.stacking.stacks)}),l.series.forEach(t=>{let e=t.xAxis&&t.xAxis.options||{};t.options.stacking&&t.reserveSpace()&&(t.stackKey=[t.type,fn(t.options.stack,""),i?e.top:e.left,i?e.height:e.width].join(","))})}function kp(){let l=this.stacking;if(l){let i=l.stacks;He(i,(t,e)=>{Cp(t),delete i[e]}),l.stackTotalGroup?.destroy()}}function Pp(){this.stacking||(this.stacking=new pn(this))}function Op(l,i,t,e){return!Ua(l)||l.x!==i||e&&l.stackKey!==e?l={x:i,index:0,key:e,stackKey:e}:l.index++,l.key=[t,i,l.index].join(","),l}function Ap(){let l=this,i=l.yAxis,t=l.stackKey||"",e=i.stacking.stacks,s=l.processedXData,r=l.options.stacking,n=l[r+"Stacker"],o;n&&[t,"-"+t].forEach(a=>{let h=s.length,c,f,d;for(;h--;)c=s[h],o=l.getStackIndicator(o,c,l.index,a),f=e[a]?.[c],d=f?.points[o.key||""],d&&n.call(l,d,f,h)})}function Ep(l,i,t){let e=i.total?100/i.total:0;l[0]=Wi(l[0]*e),l[1]=Wi(l[1]*e),this.stackedYData[t]=l[1]}function Lp(l){(this.is("column")||this.is("columnrange"))&&(this.options.centerInCategory&&!this.options.stacking&&this.chart.series.length>1?Sp.setStackedPoints.call(this,l,"group"):l.stacking.resetStacks())}function Ip(l,i){let t=i||this.options.stacking;if(!t||!this.reserveSpace()||({group:"xAxis"}[t]||"yAxis")!==l.coll)return;let e=this,s=e.processedXData,r=e.processedYData,n=[],o=r.length,a=e.options,h=a.threshold||0,c=a.startFromThreshold?h:0,f=a.stack,d=i?`${e.type},${t}`:e.stackKey||"",p="-"+d,u=e.negStacks,m=l.stacking,g=m.stacks,x=m.oldStacks,y,b,v,C,S,T,M,w,P;for(m.stacksTouched+=1,M=0;M<o;M++){w=s[M],P=r[M],y=e.getStackIndicator(y,w,e.index),T=y.key||"",b=u&&P<(c?0:h),S=b?p:d,g[S]||(g[S]={}),g[S][w]||(x[S]?.[w]?(g[S][w]=x[S][w],g[S][w].total=null):g[S][w]=new Ls(l,l.options.stackLabels,!!b,w,f)),v=g[S][w],P!==null?(v.points[T]=v.points[e.index]=[fn(v.cumulative,c)],Ua(v.cumulative)||(v.base=T),v.touched=m.stacksTouched,y.index>0&&e.singleStacks===!1&&(v.points[T][0]=v.points[e.index+","+w+",0"][0])):(delete v.points[T],delete v.points[e.index]);let L=v.total||0;t==="percent"?(C=b?d:p,u&&g[C]?.[w]?(C=g[C][w],L=C.total=Math.max(C.total||0,L)+Math.abs(P)||0):L=Wi(L+(Math.abs(P)||0))):t==="group"?(Mp(P)&&(P=P[0]),P!==null&&L++):L=Wi(L+(P||0)),t==="group"?v.cumulative=(L||1)-1:v.cumulative=Wi(fn(v.cumulative,c)+(P||0)),v.total=L,P!==null&&(v.points[T].push(v.cumulative),n[M]=v.cumulative,v.hasValidPoints=!0)}t==="percent"&&(m.usePercentage=!0),t!=="group"&&(this.stackedYData=n),m.oldStacks={}}var pn=class{constructor(i){this.oldStacks={},this.stacks={},this.stacksTouched=0,this.axis=i}buildStacks(){let i=this,t=i.axis,e=t.series,s=t.coll==="xAxis",r=t.options.reversedStacks,n=e.length,o,a;for(this.resetStacks(),i.usePercentage=!1,a=n;a--;)o=e[r?a:n-a-1],s&&o.setGroupedPoints(t),o.setStackedPoints(t);if(!s)for(a=0;a<n;a++)e[a].modifyStacks();Tp(t,"afterBuildStacks")}cleanStacks(){this.oldStacks&&(this.stacks=this.oldStacks,He(this.stacks,i=>{He(i,t=>{t.cumulative=t.total})}))}resetStacks(){He(this.stacks,i=>{He(i,(t,e)=>{wp(t.touched)&&t.touched<this.stacksTouched?(t.destroy(),delete i[e]):(t.total=null,t.cumulative=null)})})}renderStackTotals(){let i=this,t=i.axis,e=t.chart,s=e.renderer,r=i.stacks,n=t.options.stackLabels?.animation,o=vp(e,n||!1),a=i.stackTotalGroup=i.stackTotalGroup||s.g("stack-labels").attr({zIndex:6,opacity:0}).add();a.translate(e.plotLeft,e.plotTop),He(r,h=>{He(h,c=>{c.render(a)})}),a.animate({opacity:1},o)}},un;(function(l){function i(t,e,s){let r=e.prototype,n=s.prototype;r.getStacks||(ja(t,"init",Pp),ja(t,"destroy",kp),r.getStacks=Dp,n.getStackIndicator=Op,n.modifyStacks=Ap,n.percentStacker=Ep,n.setGroupedPoints=Lp,n.setStackedPoints=Ip)}l.compose=i})(un||(un={}));var $a=un;var{defined:_p,merge:qa,isObject:Bp}=E,Is=class extends Pt{drawGraph(){let i=this.options,t=(this.gappedPath||this.getGraphPath).call(this),e=this.chart.styledMode;[this,...this.zones].forEach((s,r)=>{let n,o=s.graph,a=o?"animate":"attr",h=s.dashStyle||i.dashStyle;o?(o.endX=this.preventGraphAnimation?null:t.xMap,o.animate({d:t})):t.length&&(s.graph=o=this.chart.renderer.path(t).addClass("highcharts-graph"+(r?` highcharts-zone-graph-${r-1} `:" ")+(r&&s.className||"")).attr({zIndex:1}).add(this.group)),o&&!e&&(n={stroke:!r&&i.lineColor||s.color||this.color||"#cccccc","stroke-width":i.lineWidth||0,fill:this.fillGraph&&this.color||"none"},h?n.dashstyle=h:i.linecap!=="square"&&(n["stroke-linecap"]=n["stroke-linejoin"]="round"),o[a](n).shadow(r<2&&i.shadow&&qa({filterUnits:"userSpaceOnUse"},Bp(i.shadow)?i.shadow:{}))),o&&(o.startX=t.xMap,o.isArea=t.isArea)})}getGraphPath(i,t,e){let s=this,r=s.options,n=[],o=[],a,h=r.step;i=i||s.points;let c=i.reversed;return c&&i.reverse(),h={right:1,center:2}[h]||h&&3,h&&c&&(h=4-h),i=this.getValidPoints(i,!1,!(r.connectNulls&&!t&&!e)),i.forEach(function(f,d){let p=f.plotX,u=f.plotY,m=i[d-1],g=f.isNull||typeof u!="number",x;(f.leftCliff||m&&m.rightCliff)&&!e&&(a=!0),g&&!_p(t)&&d>0?a=!r.connectNulls:g&&!t?a=!0:(d===0||a?x=[["M",f.plotX,f.plotY]]:s.getPointSpline?x=[s.getPointSpline(i,f,d)]:h?(h===1?x=[["L",m.plotX,u]]:h===2?x=[["L",(m.plotX+p)/2,m.plotY],["L",(m.plotX+p)/2,u]]:x=[["L",p,m.plotY]],x.push(["L",p,u])):x=[["L",p,u]],o.push(f.x),h&&(o.push(f.x),h===2&&o.push(f.x)),n.push.apply(n,x),a=!1)}),n.xMap=o,s.graphPath=n,n}};Is.defaultOptions=qa(Pt.defaultOptions,{legendSymbol:"lineMarker"});et.registerSeriesType("line",Is);var Rp={threshold:0,legendSymbol:"areaMarker"},Ka=Rp;var{seriesTypes:{line:mn}}=et,{extend:Wp,merge:Np,objectEach:Fp,pick:_s}=E,Ni=class extends mn{drawGraph(){this.areaPath=[],super.drawGraph.apply(this);let{areaPath:i,options:t}=this;[this,...this.zones].forEach((e,s)=>{let r={},n=e.fillColor||t.fillColor,o=e.area,a=o?"animate":"attr";o?(o.endX=this.preventGraphAnimation?null:i.xMap,o.animate({d:i})):(r.zIndex=0,o=e.area=this.chart.renderer.path(i).addClass("highcharts-area"+(s?` highcharts-zone-area-${s-1} `:" ")+(s&&e.className||"")).add(this.group),o.isArea=!0),this.chart.styledMode||(r.fill=n||e.color||this.color,r["fill-opacity"]=n?1:t.fillOpacity??.75,o.css({pointerEvents:this.stickyTracking?"none":"auto"})),o[a](r),o.startX=i.xMap,o.shiftUnit=t.step?2:1})}getGraphPath(i){let t=mn.prototype.getGraphPath,e=this.options,s=e.stacking,r=this.yAxis,n=[],o=[],a=this.index,h=r.stacking.stacks[this.stackKey],c=e.threshold,f=Math.round(r.getThreshold(e.threshold)),d=_s(e.connectNulls,s==="percent"),p=function(S,T,M){let w=i[S],P=s&&h[w.x].points[a],L=w[M+"Null"]||0,R=w[M+"Cliff"]||0,I,z,Y=!0;R||L?(I=(L?P[0]:P[1])+R,z=P[0]+R,Y=!!L):!s&&i[T]&&i[T].isNull&&(I=z=c),typeof I<"u"&&(o.push({plotX:u,plotY:I===null?f:r.getThreshold(I),isNull:Y,isCliff:!0}),n.push({plotX:u,plotY:z===null?f:r.getThreshold(z),doCurve:!1}))},u,m,g;i=i||this.points,s&&(i=this.getStackPoints(i));for(let S=0,T=i.length;S<T;++S)s||(i[S].leftCliff=i[S].rightCliff=i[S].leftNull=i[S].rightNull=void 0),m=i[S].isNull,u=_s(i[S].rectPlotX,i[S].plotX),g=s?_s(i[S].yBottom,f):f,(!m||d)&&(d||p(S,S-1,"left"),m&&!s&&d||(o.push(i[S]),n.push({x:S,plotX:u,plotY:g})),d||p(S,S+1,"right"));let x=t.call(this,o,!0,!0);n.reversed=!0;let y=t.call(this,n,!0,!0),b=y[0];b&&b[0]==="M"&&(y[0]=["L",b[1],b[2]]);let v=x.concat(y);v.length&&v.push(["Z"]);let C=t.call(this,o,!1,d);return v.xMap=x.xMap,this.areaPath=v,C}getStackPoints(i){let t=this,e=[],s=[],r=this.xAxis,n=this.yAxis,o=n.stacking.stacks[this.stackKey],a={},h=n.series,c=h.length,f=n.options.reversedStacks?1:-1,d=h.indexOf(t);if(i=i||this.points,this.options.stacking){for(let u=0;u<i.length;u++)i[u].leftNull=i[u].rightNull=void 0,a[i[u].x]=i[u];Fp(o,function(u,m){u.total!==null&&s.push(m)}),s.sort(function(u,m){return u-m});let p=h.map(u=>u.visible);s.forEach(function(u,m){let g=0,x,y;if(a[u]&&!a[u].isNull)e.push(a[u]),[-1,1].forEach(function(b){let v=b===1?"rightNull":"leftNull",C=b===1?"rightCliff":"leftCliff",S=o[s[m+b]],T=0;if(S){let M=d;for(;M>=0&&M<c;){let w=h[M].index;x=S.points[w],x||(w===t.index?a[u][v]=!0:p[M]&&(y=o[u].points[w],y&&(T-=y[1]-y[0]))),M+=f}}a[u][C]=T});else{let b=d;for(;b>=0&&b<c;){let v=h[b].index;if(x=o[u].points[v],x){g=x[1];break}b+=f}g=_s(g,0),g=n.translate(g,0,1,0,1),e.push({isNull:!0,plotX:r.translate(u,0,0,0,1),x:u,plotY:g,yBottom:g})}})}return e}};Ni.defaultOptions=Np(mn.defaultOptions,Ka);Wp(Ni.prototype,{singleStacks:!1});et.registerSeriesType("area",Ni);var{line:Za}=et.seriesTypes,{merge:zp,pick:Bs}=E,Fi=class extends Za{getPointSpline(i,t,e){let n=t.plotX||0,o=t.plotY||0,a=i[e-1],h=i[e+1],c,f,d,p;function u(g){return g&&!g.isNull&&g.doCurve!==!1&&!t.isCliff}if(u(a)&&u(h)){let g=a.plotX||0,x=a.plotY||0,y=h.plotX||0,b=h.plotY||0,v=0;c=(1.5*n+g)/2.5,f=(1.5*o+x)/2.5,d=(1.5*n+y)/2.5,p=(1.5*o+b)/2.5,d!==c&&(v=(p-f)*(d-n)/(d-c)+o-p),f+=v,p+=v,f>x&&f>o?(f=Math.max(x,o),p=2*o-f):f<x&&f<o&&(f=Math.min(x,o),p=2*o-f),p>b&&p>o?(p=Math.max(b,o),f=2*o-p):p<b&&p<o&&(p=Math.min(b,o),f=2*o-p),t.rightContX=d,t.rightContY=p,t.controlPoints={low:[c,f],high:[d,p]}}let m=["C",Bs(a.rightContX,a.plotX,0),Bs(a.rightContY,a.plotY,0),Bs(c,n,0),Bs(f,o,0),n,o];return a.rightContX=a.rightContY=void 0,m}};Fi.defaultOptions=zp(Za.defaultOptions);et.registerSeriesType("spline",Fi);var gn=Fi;var{area:Hp,area:{prototype:xn}}=et.seriesTypes,{extend:Xp,merge:Yp}=E,zi=class extends gn{};zi.defaultOptions=Yp(gn.defaultOptions,Hp.defaultOptions);Xp(zi.prototype,{getGraphPath:xn.getGraphPath,getStackPoints:xn.getStackPoints,drawGraph:xn.drawGraph});et.registerSeriesType("areaspline",zi);var Gp={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"},Qa=Gp;var{animObject:Vp}=nt,{parse:jp}=_t,{noop:Up}=_,{clamp:Rs,crisp:Ws,defined:$p,extend:el,fireEvent:Ja,isArray:tl,isNumber:yn,merge:bn,pick:fi,objectEach:qp}=E,pi=class extends Pt{animate(i){let t=this,e=this.yAxis,s=e.pos,r=e.reversed,n=t.options,{clipOffset:o,inverted:a}=this.chart,h={},c=a?"translateX":"translateY",f,d;i&&o?(h.scaleY=.001,d=Rs(e.toPixels(n.threshold),s,s+e.len),a?(d+=r?-Math.floor(o[0]):Math.ceil(o[2]),h.translateX=d-e.len):(d+=r?Math.ceil(o[0]):-Math.floor(o[2]),h.translateY=d),t.clipBox&&t.setClip(),t.group.attr(h)):(f=Number(t.group.attr(c)),t.group.animate({scaleY:1},el(Vp(t.options.animation),{step:function(p,u){t.group&&(h[c]=f+u.pos*(s-f),t.group.attr(h))}})))}init(i,t){super.init.apply(this,arguments);let e=this;i=e.chart,i.hasRendered&&i.series.forEach(function(s){s.type===e.type&&(s.isDirty=!0)})}getColumnMetrics(){let i=this,t=i.options,e=i.xAxis,s=i.yAxis,r=e.options.reversedStacks,n=e.reversed&&!r||!e.reversed&&r,o={},a,h=0;t.grouping===!1?h=1:i.chart.series.forEach(function(y){let b=y.yAxis,v=y.options,C;y.type===i.type&&y.reserveSpace()&&s.len===b.len&&s.pos===b.pos&&(v.stacking&&v.stacking!=="group"?(a=y.stackKey,typeof o[a]>"u"&&(o[a]=h++),C=o[a]):v.grouping!==!1&&(C=h++),y.columnIndex=C)});let c=Math.min(Math.abs(e.transA)*(!e.brokenAxis?.hasBreaks&&e.ordinal?.slope||t.pointRange||e.closestPointRange||e.tickInterval||1),e.len),f=c*t.groupPadding,d=c-2*f,p=d/(h||1),u=Math.min(t.maxPointWidth||e.len,fi(t.pointWidth,p*(1-2*t.pointPadding))),m=(p-u)/2,g=(i.columnIndex||0)+(n?1:0),x=m+(f+g*p-c/2)*(n?-1:1);return i.columnMetrics={width:u,offset:x,paddedWidth:p,columnCount:h},i.columnMetrics}crispCol(i,t,e,s){let r=this.borderWidth,n=this.chart.inverted,o=Ws(t+s,r,n);if(t=Ws(t,r,n),s=o-t,this.options.crisp){let a=Ws(i+e,r);i=Ws(i,r),e=a-i}return{x:i,y:t,width:e,height:s}}adjustForMissingColumns(i,t,e,s){if(!e.isNull&&s.columnCount>1){let r=this.xAxis.series.filter(h=>h.visible).map(h=>h.index),n=0,o=0;qp(this.xAxis.stacking?.stacks,h=>{if(typeof e.x=="number"){let c=h[e.x.toString()];if(c){let f=c.points[this.index];if(tl(f)){let d=Object.keys(c.points).filter(p=>!p.match(",")&&c.points[p]&&c.points[p].length>1).map(parseFloat).filter(p=>r.indexOf(p)!==-1).sort((p,u)=>u-p);n=d.indexOf(this.index),o=d.length}}}}),n=this.xAxis.reversed?o-1-n:n;let a=(o-1)*s.paddedWidth+t;i=(e.plotX||0)+a/2-t-n*s.paddedWidth}return i}translate(){let i=this,t=i.chart,e=i.options,s=i.dense=i.closestPointRange*i.xAxis.transA<2,r=i.borderWidth=fi(e.borderWidth,s?0:1),n=i.xAxis,o=i.yAxis,a=e.threshold,h=fi(e.minPointLength,5),c=i.getColumnMetrics(),f=c.width,d=i.pointXOffset=c.offset,p=i.dataMin,u=i.dataMax,m=i.translatedThreshold=o.getThreshold(a),g=i.barW=Math.max(f,1+2*r);e.pointPadding&&(g=Math.ceil(g)),Pt.prototype.translate.apply(i),i.points.forEach(function(x){let y=fi(x.yBottom,m),b=999+Math.abs(y),v=x.plotX||0,C=Rs(x.plotY,-b,o.len+b),S,T=Math.min(C,y),M=Math.max(C,y)-T,w=f,P=v+d,L=g;h&&Math.abs(M)<h&&(M=h,S=!o.reversed&&!x.negative||o.reversed&&x.negative,yn(a)&&yn(u)&&x.y===a&&u<=a&&(o.min||0)<a&&(p!==u||(o.max||0)<=a)&&(S=!S,x.negative=!x.negative),T=Math.abs(T-m)>h?y-h:m-(S?h:0)),$p(x.options.pointWidth)&&(w=L=Math.ceil(x.options.pointWidth),P-=Math.round((w-f)/2)),e.centerInCategory&&!e.stacking&&(P=i.adjustForMissingColumns(P,w,x,c)),x.barX=P,x.pointWidth=w,x.tooltipPos=t.inverted?[Rs(o.len+o.pos-t.plotLeft-C,o.pos-t.plotLeft,o.len+o.pos-t.plotLeft),n.len+n.pos-t.plotTop-P-L/2,M]:[n.left-t.plotLeft+P+L/2,Rs(C+o.pos-t.plotTop,o.pos-t.plotTop,o.len+o.pos-t.plotTop),M],x.shapeType=i.pointClass.prototype.shapeType||"roundedRect",x.shapeArgs=i.crispCol(P,x.isNull?m:T,L,x.isNull?0:M)}),Ja(this,"afterColumnTranslate")}drawGraph(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")}pointAttribs(i,t){let e=this.options,s=this.pointAttrToOptions||{},r=s.stroke||"borderColor",n=s["stroke-width"]||"borderWidth",o,a,h,c=i&&i.color||this.color,f=i&&i[r]||e[r]||c,d=i&&i.options.dashStyle||e.dashStyle,p=i&&i[n]||e[n]||this[n]||0,u=fi(i&&i.opacity,e.opacity,1);i&&this.zones.length&&(a=i.getZone(),c=i.options.color||a&&(a.color||i.nonZonedColor)||this.color,a&&(f=a.borderColor||f,d=a.dashStyle||d,p=a.borderWidth||p)),t&&i&&(o=bn(e.states[t],i.options.states&&i.options.states[t]||{}),h=o.brightness,c=o.color||typeof h<"u"&&jp(c).brighten(o.brightness).get()||c,f=o[r]||f,p=o[n]||p,d=o.dashStyle||d,u=fi(o.opacity,u));let m={fill:c,stroke:f,"stroke-width":p,opacity:u};return d&&(m.dashstyle=d),m}drawPoints(i=this.points){let t=this,e=this.chart,s=t.options,r=e.renderer,n=s.animationLimit||250,o;i.forEach(function(a){let h=a.plotY,c=a.graphic,f=!!c,d=c&&e.pointCount<n?"animate":"attr";yn(h)&&a.y!==null?(o=a.shapeArgs,c&&a.hasNewShapeType()&&(c=c.destroy()),t.enabledDataSorting&&(a.startXPos=t.xAxis.reversed?-(o&&o.width||0):t.xAxis.width),c||(a.graphic=c=r[a.shapeType](o).add(a.group||t.group),c&&t.enabledDataSorting&&e.hasRendered&&e.pointCount<n&&(c.attr({x:a.startXPos}),f=!0,d="animate")),c&&f&&c[d](bn(o)),e.styledMode||c[d](t.pointAttribs(a,a.selected&&"select")).shadow(a.allowShadow!==!1&&s.shadow),c&&(c.addClass(a.getClassName(),!0),c.attr({visibility:a.visible?"inherit":"hidden"}))):c&&(a.graphic=c.destroy())})}drawTracker(i=this.points){let t=this,e=t.chart,s=e.pointer,r=function(o){let a=s?.getPointFromEvent(o);s&&a&&t.options.enableMouseTracking&&(s.isDirectTouch=!0,a.onMouseOver(o))},n;i.forEach(function(o){n=tl(o.dataLabels)?o.dataLabels:o.dataLabel?[o.dataLabel]:[],o.graphic&&(o.graphic.element.point=o),n.forEach(function(a){(a.div||a.element).point=o})}),t._hasTracking||(t.trackerGroups.forEach(function(o){t[o]&&(t[o].addClass("highcharts-tracker").on("mouseover",r).on("mouseout",function(a){s?.onTrackerMouseOut(a)}).on("touchstart",r),!e.styledMode&&t.options.cursor&&t[o].css({cursor:t.options.cursor}))}),t._hasTracking=!0),Ja(this,"afterDrawTracker")}remove(){let i=this,t=i.chart;t.hasRendered&&t.series.forEach(function(e){e.type===i.type&&(e.isDirty=!0)}),Pt.prototype.remove.apply(i,arguments)}};pi.defaultOptions=bn(Pt.defaultOptions,Qa);el(pi.prototype,{directTouch:!0,getSymbol:Up,negStacks:!0,trackerGroups:["group","dataLabelsGroup"]});et.registerSeriesType("column",pi);var ui=pi;var{getDeferredAnimation:Kp}=nt,{format:Zp}=St,{defined:Xe,extend:il,fireEvent:sl,isArray:ke,isString:vn,merge:Hi,objectEach:Qp,pick:Xi,pInt:Jp,splat:rl}=E,Sn;(function(l){function i(){return c(this).some(d=>d?.enabled)}function t(d,p,u,m,g){let x=this,{chart:y,enabledDataSorting:b}=this,v=this.isCartesian&&y.inverted,C=d.plotX,S=d.plotY,T=u.rotation||0,M=Xe(C)&&Xe(S)&&y.isInsidePlot(C,Math.round(S),{inverted:v,paneCoordinates:!0,series:x}),w=I=>{b&&x.xAxis&&!P&&x.setDataLabelStartPos(d,p,g,M,I)},P=T===0?Xi(u.overflow,b?"none":"justify")==="justify":!1,L=this.visible&&d.visible!==!1&&Xe(C)&&(d.series.forceDL||b&&!P||M||Xi(u.inside,!!this.options.stacking)&&m&&y.isInsidePlot(C,v?m.x+1:m.y+m.height-1,{inverted:v,paneCoordinates:!0,series:x})),R=d.pos();if(L&&R){let I=p.getBBox(),z=p.getBBox(void 0,0),Y={right:1,center:.5}[u.align||0]||0,W={bottom:1,middle:.5}[u.verticalAlign||0]||0;if(m=il({x:R[0],y:Math.round(R[1]),width:0,height:0},m||{}),u.alignTo==="plotEdges"&&x.isCartesian&&(m[v?"x":"y"]=0,m[v?"width":"height"]=this.yAxis?.len||0),il(u,{width:I.width,height:I.height}),w(m),p.align(Hi(u,{width:z.width,height:z.height}),!1,m,!1),p.alignAttr.x+=Y*(z.width-I.width),p.alignAttr.y+=W*(z.height-I.height),p[p.placed?"animate":"attr"]({x:p.alignAttr.x+(I.width-z.width)/2,y:p.alignAttr.y+(I.height-z.height)/2,rotationOriginX:(p.width||0)/2,rotationOriginY:(p.height||0)/2}),P&&m.height>=0)this.justifyDataLabel(p,u,p.alignAttr,I,m,g);else if(Xi(u.crop,!0)){let{x:tt,y:it}=p.alignAttr,rt=1;L=y.isInsidePlot(tt,it,{paneCoordinates:!0,series:x})&&y.isInsidePlot(tt+I.width-rt,it+I.height-rt,{paneCoordinates:!0,series:x})}u.shape&&!T&&p[g?"attr":"animate"]({anchorX:R[0],anchorY:R[1]})}g&&b&&(p.placed=!1),!L&&(!b||P)?(p.hide(),p.placed=!1):(p.show(),p.placed=!0)}function e(d,p){let u=p.filter;if(u){let m=u.operator,g=d[u.property],x=u.value;return m===">"&&g>x||m==="<"&&g<x||m===">="&&g>=x||m==="<="&&g<=x||m==="=="&&g==x||m==="==="&&g===x||m==="!="&&g!=x||m==="!=="&&g!==x}return!0}function s(d){let p=d.prototype;p.initDataLabels||(p.initDataLabels=n,p.initDataLabelsGroup=r,p.alignDataLabel=t,p.drawDataLabels=o,p.justifyDataLabel=a,p.setDataLabelStartPos=f,p.hasDataLabels=i)}l.compose=s;function r(){return this.plotGroup("dataLabelsGroup","data-labels",this.hasRendered?"inherit":"hidden",this.options.dataLabels.zIndex||6)}function n(d){let p=this,u=p.hasRendered||0,m=this.initDataLabelsGroup().attr({opacity:+u});return!u&&m&&(p.visible&&m.show(),p.options.animation?m.animate({opacity:1},d):m.attr({opacity:1})),m}function o(d){d=d||this.points;let p=this,u=p.chart,m=p.options,g=u.renderer,{backgroundColor:x,plotBackgroundColor:y}=u.options.chart,b=g.getContrast(vn(y)&&y||vn(x)&&x||"#000000"),v=c(p),C,S,{animation:T,defer:M}=v[0],w=M?Kp(u,T,p):{defer:0,duration:0};sl(this,"drawDataLabels"),p.hasDataLabels?.()&&(S=this.initDataLabels(w),d.forEach(P=>{let L=P.dataLabels||[];C=rl(h(v,P.dlOptions||P.options?.dataLabels)),C.forEach((I,z)=>{let Y=I.enabled&&(P.visible||P.dataLabelOnHidden)&&(!P.isNull||P.dataLabelOnNull)&&e(P,I),{backgroundColor:W,borderColor:tt,distance:it,style:rt={}}=I,G,Q,$,V,K={},j=L[z],Z=!j,ct;if(Y&&(Q=Xi(I[P.formatPrefix+"Format"],I.format),G=P.getLabelConfig(),$=Xe(Q)?Zp(Q,G,u):(I[P.formatPrefix+"Formatter"]||I.formatter).call(G,I),V=I.rotation,u.styledMode||(rt.color=Xi(I.color,rt.color,vn(p.color)?p.color:void 0,"#000000"),rt.color==="contrast"?(W!=="none"&&(ct=W),P.contrastColor=g.getContrast(ct!=="auto"&&ct||P.color||p.color),rt.color=ct||!Xe(it)&&I.inside||Jp(it||0)<0||m.stacking?P.contrastColor:b):delete P.contrastColor,m.cursor&&(rt.cursor=m.cursor)),K={r:I.borderRadius||0,rotation:V,padding:I.padding,zIndex:1},u.styledMode||(K.fill=W==="auto"?P.color:W,K.stroke=tt==="auto"?P.color:tt,K["stroke-width"]=I.borderWidth),Qp(K,(It,ie)=>{typeof It>"u"&&delete K[ie]})),j&&(!Y||!Xe($)||!!j.div!=!!I.useHTML||(!j.rotation||!I.rotation)&&j.rotation!==I.rotation)&&(j=void 0,Z=!0),Y&&Xe($)&&(j?K.text=$:(j=g.label($,0,0,I.shape,void 0,void 0,I.useHTML,void 0,"data-label"),j.addClass(" highcharts-data-label-color-"+P.colorIndex+" "+(I.className||"")+(I.useHTML?" highcharts-tracker":""))),j)){j.options=I,j.attr(K),u.styledMode||j.css(rt).shadow(I.shadow);let It=I[P.formatPrefix+"TextPath"]||I.textPath;It&&!I.useHTML&&(j.setTextPath(P.getDataLabelPath?.(j)||P.graphic,It),P.dataLabelPath&&!It.enabled&&(P.dataLabelPath=P.dataLabelPath.destroy())),j.added||j.add(S),p.alignDataLabel(P,j,I,void 0,Z),j.isActive=!0,L[z]&&L[z]!==j&&L[z].destroy(),L[z]=j}});let R=L.length;for(;R--;)!L[R]||!L[R].isActive?(L[R]?.destroy(),L.splice(R,1)):L[R].isActive=!1;P.dataLabel=L[0],P.dataLabels=L})),sl(this,"afterDrawDataLabels")}function a(d,p,u,m,g,x){let y=this.chart,b=p.align,v=p.verticalAlign,C=d.box?0:d.padding||0,S=y.inverted?this.yAxis:this.xAxis,T=S?S.left-y.plotLeft:0,M=y.inverted?this.xAxis:this.yAxis,w=M?M.top-y.plotTop:0,{x:P=0,y:L=0}=p,R,I;return R=(u.x||0)+C+T,R<0&&(b==="right"&&P>=0?(p.align="left",p.inside=!0):P-=R,I=!0),R=(u.x||0)+m.width-C+T,R>y.plotWidth&&(b==="left"&&P<=0?(p.align="right",p.inside=!0):P+=y.plotWidth-R,I=!0),R=u.y+C+w,R<0&&(v==="bottom"&&L>=0?(p.verticalAlign="top",p.inside=!0):L-=R,I=!0),R=(u.y||0)+m.height-C+w,R>y.plotHeight&&(v==="top"&&L<=0?(p.verticalAlign="bottom",p.inside=!0):L+=y.plotHeight-R,I=!0),I&&(p.x=P,p.y=L,d.placed=!x,d.align(p,void 0,g)),I}function h(d,p){let u=[],m;if(ke(d)&&!ke(p))u=d.map(function(g){return Hi(g,p)});else if(ke(p)&&!ke(d))u=p.map(function(g){return Hi(d,g)});else if(!ke(d)&&!ke(p))u=Hi(d,p);else if(ke(d)&&ke(p))for(m=Math.max(d.length,p.length);m--;)u[m]=Hi(d[m],p[m]);return u}function c(d){let p=d.chart.options.plotOptions;return rl(h(h(p?.series?.dataLabels,p?.[d.type]?.dataLabels),d.options.dataLabels))}function f(d,p,u,m,g){let x=this.chart,y=x.inverted,b=this.xAxis,v=b.reversed,C=((y?p.height:p.width)||0)/2,S=d.pointWidth,T=S?S/2:0;p.startXPos=y?g.x:v?-C-T:b.width-C+T,p.startYPos=y?v?this.yAxis.height-C+T:-C-T:g.y,m?p.visibility==="hidden"&&(p.show(),p.attr({opacity:0}).animate({opacity:1})):p.attr({opacity:1}).animate({opacity:0},void 0,p.hide),x.hasRendered&&(u&&p.attr({x:p.startXPos,y:p.startYPos}),p.placed=!0)}})(Sn||(Sn={}));var Ye=Sn;var{composed:tu}=_,{series:nl}=et,{merge:eu,pick:Yi,pushUnique:iu}=E,Cn;(function(l){function i(e,s,r,n,o){let a=this.chart.inverted,h=e.series,c=(h.xAxis?h.xAxis.len:this.chart.plotSizeX)||0,f=(h.yAxis?h.yAxis.len:this.chart.plotSizeY)||0,d=e.dlBox||e.shapeArgs,p=Yi(e.below,e.plotY>Yi(this.translatedThreshold,f)),u=Yi(r.inside,!!this.options.stacking);if(d){if(n=eu(d),!(r.overflow==="allow"&&r.crop===!1)){n.y<0&&(n.height+=n.y,n.y=0);let m=n.y+n.height-f;m>0&&m<n.height-1&&(n.height-=m)}a&&(n={x:f-n.y-n.height,y:c-n.x-n.width,width:n.height,height:n.width}),u||(a?(n.x+=p?0:n.width,n.width=0):(n.y+=p?n.height:0,n.height=0))}r.align=Yi(r.align,!a||u?"center":p?"right":"left"),r.verticalAlign=Yi(r.verticalAlign,a||u?"middle":p?"top":"bottom"),nl.prototype.alignDataLabel.call(this,e,s,r,n,o),r.inside&&e.contrastColor&&s.css({color:e.contrastColor})}function t(e){Ye.compose(nl),iu(tu,"ColumnDataLabel")&&(e.prototype.alignDataLabel=i)}l.compose=t})(Cn||(Cn={}));var ol=Cn;var{extend:su,merge:ru}=E,Gi=class extends ui{};Gi.defaultOptions=ru(ui.defaultOptions,{});su(Gi.prototype,{inverted:!0});et.registerSeriesType("bar",Gi);var nu={lineWidth:0,findNearestPointBy:"xy",jitter:{x:0,y:0},marker:{enabled:!0},tooltip:{headerFormat:'<span style="color:{point.color}">\u25CF</span> <span style="font-size: 0.8em"> {series.name}</span><br/>',pointFormat:"x: <b>{point.x}</b><br/>y: <b>{point.y}</b><br/>"}},al=nu;var{column:ou,line:ll}=et.seriesTypes,{addEvent:au,extend:lu,merge:hu}=E,mi=class extends ll{applyJitter(){let i=this,t=this.options.jitter,e=this.points.length;function s(r){let n=Math.sin(r)*1e4;return n-Math.floor(n)}t&&this.points.forEach(function(r,n){["x","y"].forEach(function(o,a){if(t[o]&&!r.isNull){let h=`plot${o.toUpperCase()}`,c=i[`${o}Axis`],f=t[o]*c.transA;if(c&&!c.logarithmic){let d=Math.max(0,(r[h]||0)-f),p=Math.min(c.len,(r[h]||0)+f);r[h]=d+(p-d)*s(n+a*e),o==="x"&&(r.clientX=r.plotX)}}})})}drawGraph(){this.options.lineWidth?super.drawGraph():this.graph&&(this.graph=this.graph.destroy())}};mi.defaultOptions=hu(ll.defaultOptions,al);lu(mi.prototype,{drawTracker:ou.prototype.drawTracker,sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","markerGroup","dataLabelsGroup"]});au(mi,"afterTranslate",function(){this.applyJitter()});et.registerSeriesType("scatter",mi);var{deg2rad:hl}=_,{fireEvent:cu,isNumber:Tn,pick:Ns,relativeLength:du}=E,Mn;(function(l){function i(){let e=this.options,s=this.chart,r=2*(e.slicedOffset||0),n=s.plotWidth-2*r,o=s.plotHeight-2*r,a=e.center,h=Math.min(n,o),c=e.thickness,f,d=e.size,p=e.innerSize||0,u,m;typeof d=="string"&&(d=parseFloat(d)),typeof p=="string"&&(p=parseFloat(p));let g=[Ns(a[0],"50%"),Ns(a[1],"50%"),Ns(d&&d<0?void 0:e.size,"100%"),Ns(p&&p<0?void 0:e.innerSize||0,"0%")];for(s.angular&&!(this instanceof Pt)&&(g[3]=0),u=0;u<4;++u)m=g[u],f=u<2||u===2&&/%$/.test(m),g[u]=du(m,[n,o,h,g[2]][u])+(f?r:0);return g[3]>g[2]&&(g[3]=g[2]),Tn(c)&&c*2<g[2]&&c>0&&(g[3]=g[2]-c*2),cu(this,"afterGetCenter",{positions:g}),g}l.getCenter=i;function t(e,s){let r=Tn(e)?e:0,n=Tn(s)&&s>r&&s-r<360?s:r+360,o=-90;return{start:hl*(r+o),end:hl*(n+o)}}l.getStartAndEndRadians=t})(Mn||(Mn={}));var wn=Mn;var{setAnimation:fu}=nt,{addEvent:cl,defined:pu,extend:uu,isNumber:mu,pick:gu,relativeLength:xu}=E,Fs=class extends Gt{getConnectorPath(i){let t=i.dataLabelPosition,e=i.options||{},s=e.connectorShape,r=this.connectorShapes[s]||s;return t&&r.call(this,$t(At({},t.computed),{alignment:t.alignment}),t.connectorPosition,e)||[]}getTranslate(){return this.sliced&&this.slicedTranslation||{translateX:0,translateY:0}}haloPath(i){let t=this.shapeArgs;return this.sliced||!this.visible?[]:this.series.chart.renderer.symbols.arc(t.x,t.y,t.r+i,t.r+i,{innerR:t.r-1,start:t.start,end:t.end,borderRadius:t.borderRadius})}constructor(i,t,e){super(i,t,e),this.half=0,this.name??(this.name="Slice");let s=r=>{this.slice(r.type==="select")};cl(this,"select",s),cl(this,"unselect",s)}isValid(){return mu(this.y)&&this.y>=0}setVisible(i,t=!0){i!==this.visible&&this.update({visible:i??!this.visible},t,void 0,!1)}slice(i,t,e){let s=this.series,r=s.chart;fu(e,r),t=gu(t,!0),this.sliced=this.options.sliced=i=pu(i)?i:!this.sliced,s.options.data[s.data.indexOf(this)]=this.options,this.graphic&&this.graphic.animate(this.getTranslate())}};uu(Fs.prototype,{connectorShapes:{fixedOffset:function(l,i,t){let e=i.breakAt,s=i.touchingSliceAt,r=t.softConnector?["C",l.x+(l.alignment==="left"?-5:5),l.y,2*e.x-s.x,2*e.y-s.y,e.x,e.y]:["L",e.x,e.y];return[["M",l.x,l.y],r,["L",s.x,s.y]]},straight:function(l,i){let t=i.touchingSliceAt;return[["M",l.x,l.y],["L",t.x,t.y]]},crookedLine:function(l,i,t){let{breakAt:e,touchingSliceAt:s}=i,{series:r}=this,[n,o,a]=r.center,h=a/2,{plotLeft:c,plotWidth:f}=r.chart,d=l.alignment==="left",{x:p,y:u}=l,m=e.x;if(t.crookDistance){let x=xu(t.crookDistance,1);m=d?n+h+(f+c-n-h)*(1-x):c+(n-h)*x}else m=n+(o-u)*Math.tan((this.angle||0)-Math.PI/2);let g=[["M",p,u]];return(d?m<=p&&m>=e.x:m>=p&&m<=e.x)&&g.push(["L",m,u]),g.push(["L",e.x,e.y],["L",s.x,s.y]),g}}});var dl=Fs;var yu={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.point.isNull?void 0:this.point.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}}},fl=yu;var{getStartAndEndRadians:bu}=wn,{noop:pl}=_,{clamp:vu,extend:Su,fireEvent:ul,merge:Dn,pick:Cu}=E,Vi=class extends Pt{animate(i){let t=this,e=t.points,s=t.startAngleRad;i||e.forEach(function(r){let n=r.graphic,o=r.shapeArgs;n&&o&&(n.attr({r:Cu(r.startR,t.center&&t.center[3]/2),start:s,end:s}),n.animate({r:o.r,start:o.start,end:o.end},t.options.animation))})}drawEmpty(){let i=this.startAngleRad,t=this.endAngleRad,e=this.options,s,r;this.total===0&&this.center?(s=this.center[0],r=this.center[1],this.graph||(this.graph=this.chart.renderer.arc(s,r,this.center[1]/2,0,i,t).addClass("highcharts-empty-series").add(this.group)),this.graph.attr({d:hs.arc(s,r,this.center[2]/2,0,{start:i,end:t,innerR:this.center[3]/2})}),this.chart.styledMode||this.graph.attr({"stroke-width":e.borderWidth,fill:e.fillColor||"none",stroke:e.color||"#cccccc"})):this.graph&&(this.graph=this.graph.destroy())}drawPoints(){let i=this.chart.renderer;this.points.forEach(function(t){t.graphic&&t.hasNewShapeType()&&(t.graphic=t.graphic.destroy()),t.graphic||(t.graphic=i[t.shapeType](t.shapeArgs).add(t.series.group),t.delayedRendering=!0)})}generatePoints(){super.generatePoints(),this.updateTotals()}getX(i,t,e,s){let r=this.center,n=this.radii?this.radii[e.index]||0:r[2]/2,o=s.dataLabelPosition,a=o?.distance||0,h=Math.asin(vu((i-r[1])/(n+a),-1,1));return r[0]+(t?-1:1)*(Math.cos(h)*(n+a))+(a>0?(t?-1:1)*(s.padding||0):0)}hasData(){return!!this.processedXData.length}redrawPoints(){let i=this,t=i.chart,e,s,r,n;this.drawEmpty(),i.group&&!t.styledMode&&i.group.shadow(i.options.shadow),i.points.forEach(function(o){let a={};s=o.graphic,!o.isNull&&s?(n=o.shapeArgs,e=o.getTranslate(),t.styledMode||(r=i.pointAttribs(o,o.selected&&"select")),o.delayedRendering?(s.setRadialReference(i.center).attr(n).attr(e),t.styledMode||s.attr(r).attr({"stroke-linejoin":"round"}),o.delayedRendering=!1):(s.setRadialReference(i.center),t.styledMode||Dn(!0,a,r),Dn(!0,a,n,e),s.animate(a)),s.attr({visibility:o.visible?"inherit":"hidden"}),s.addClass(o.getClassName(),!0)):s&&(o.graphic=s.destroy())})}sortByAngle(i,t){i.sort(function(e,s){return typeof e.angle<"u"&&(s.angle-e.angle)*t})}translate(i){ul(this,"translate"),this.generatePoints();let t=this,e=1e3,s=t.options,r=s.slicedOffset,n=bu(s.startAngle,s.endAngle),o=t.startAngleRad=n.start,a=t.endAngleRad=n.end,h=a-o,c=t.points,f=s.ignoreHiddenPoint,d=c.length,p,u,m,g,x,y,b,v=0;for(i||(t.center=i=t.getCenter()),y=0;y<d;y++){b=c[y],p=o+v*h,b.isValid()&&(!f||b.visible)&&(v+=b.percentage/100),u=o+v*h;let C={x:i[0],y:i[1],r:i[2]/2,innerR:i[3]/2,start:Math.round(p*e)/e,end:Math.round(u*e)/e};b.shapeType="arc",b.shapeArgs=C,m=(u+p)/2,m>1.5*Math.PI?m-=2*Math.PI:m<-Math.PI/2&&(m+=2*Math.PI),b.slicedTranslation={translateX:Math.round(Math.cos(m)*r),translateY:Math.round(Math.sin(m)*r)},g=Math.cos(m)*i[2]/2,x=Math.sin(m)*i[2]/2,b.tooltipPos=[i[0]+g*.7,i[1]+x*.7],b.half=m<-Math.PI/2||m>Math.PI/2?1:0,b.angle=m}ul(t,"afterTranslate")}updateTotals(){let i=this.points,t=i.length,e=this.options.ignoreHiddenPoint,s,r,n=0;for(s=0;s<t;s++)r=i[s],r.isValid()&&(!e||r.visible)&&(n+=r.y);for(this.total=n,s=0;s<t;s++)r=i[s],r.percentage=n>0&&(r.visible||!e)?r.y/n*100:0,r.total=n}};Vi.defaultOptions=Dn(Pt.defaultOptions,fl);Su(Vi.prototype,{axisTypes:[],directTouch:!0,drawGraph:void 0,drawTracker:ui.prototype.drawTracker,getCenter:wn.getCenter,getSymbol:pl,invertible:!1,isCartesian:!1,noSharedTooltip:!0,pointAttribs:ui.prototype.pointAttribs,pointClass:dl,requireSorting:!1,searchPoint:pl,trackerGroups:["group","dataLabelsGroup"]});et.registerSeriesType("pie",Vi);var{composed:Tu,noop:Mu}=_,{distribute:wu}=be,{series:ml}=et,{arrayMax:Du,clamp:gl,defined:xl,pick:ku,pushUnique:Pu,relativeLength:yl}=E,kn;(function(l){let i={radialDistributionY:function(o,a){return(a.dataLabelPosition?.top||0)+o.distributeBox.pos},radialDistributionX:function(o,a,h,c,f){let d=f.dataLabelPosition;return o.getX(h<(d?.top||0)+2||h>(d?.bottom||0)-2?c:h,a.half,a,f)},justify:function(o,a,h,c){return c[0]+(o.half?-1:1)*(h+(a.dataLabelPosition?.distance||0))},alignToPlotEdges:function(o,a,h,c){let f=o.getBBox().width;return a?f+c:h-f-c},alignToConnectors:function(o,a,h,c){let f=0,d;return o.forEach(function(p){d=p.dataLabel.getBBox().width,d>f&&(f=d)}),a?f+c:h-f-c}};function t(o){if(Ye.compose(ml),Pu(Tu,"PieDataLabel")){let a=o.prototype;a.dataLabelPositioners=i,a.alignDataLabel=Mu,a.drawDataLabels=s,a.getDataLabelPosition=e,a.placeDataLabels=r,a.verifyDataLabelOverflow=n}}l.compose=t;function e(o,a){let{center:h,options:c}=this,f=h[2]/2,d=o.angle||0,p=Math.cos(d),u=Math.sin(d),m=h[0]+p*f,g=h[1]+u*f,x=Math.min((c.slicedOffset||0)+(c.borderWidth||0),a/5);return{natural:{x:m+p*a,y:g+u*a},computed:{},alignment:a<0?"center":o.half?"right":"left",connectorPosition:{breakAt:{x:m+p*x,y:g+u*x},touchingSliceAt:{x:m,y:g}},distance:a}}function s(){let o=this,a=o.points,h=o.chart,c=h.plotWidth,f=h.plotHeight,d=h.plotLeft,p=Math.round(h.chartWidth/3),u=o.center,m=u[2]/2,g=u[1],x=[[],[]],y=[0,0,0,0],b=o.dataLabelPositioners,v,C,S,T=0;!o.visible||!o.hasDataLabels?.()||(a.forEach(M=>{(M.dataLabels||[]).forEach(w=>{w.shortened&&(w.attr({width:"auto"}).css({width:"auto",textOverflow:"clip"}),w.shortened=!1)})}),ml.prototype.drawDataLabels.apply(o),a.forEach(M=>{(M.dataLabels||[]).forEach((w,P)=>{let L=u[2]/2,R=w.options,I=yl(R?.distance||0,L);P===0&&x[M.half].push(M),xl(R?.style?.width)||w.getBBox().width>p&&(w.css({width:Math.round(p*.7)+"px"}),w.shortened=!0),w.dataLabelPosition=this.getDataLabelPosition(M,I),T=Math.max(T,I)})}),x.forEach((M,w)=>{let P=M.length,L=[],R,I,z=0,Y;P&&(o.sortByAngle(M,w-.5),T>0&&(R=Math.max(0,g-m-T),I=Math.min(g+m+T,h.plotHeight),M.forEach(W=>{(W.dataLabels||[]).forEach(tt=>{let it=tt.dataLabelPosition;it&&it.distance>0&&(it.top=Math.max(0,g-m-it.distance),it.bottom=Math.min(g+m+it.distance,h.plotHeight),z=tt.getBBox().height||21,W.distributeBox={target:(tt.dataLabelPosition?.natural.y||0)-it.top+z/2,size:z,rank:W.y},L.push(W.distributeBox))})}),Y=I+z-R,wu(L,Y,Y/5)),M.forEach(W=>{(W.dataLabels||[]).forEach(tt=>{let it=tt.options||{},rt=W.distributeBox,G=tt.dataLabelPosition,Q=G?.natural.y||0,$=it.connectorPadding||0,V=0,K=Q,j="inherit";if(G){if(L&&xl(rt)&&G.distance>0&&(typeof rt.pos>"u"?j="hidden":(S=rt.size,K=b.radialDistributionY(W,tt))),it.justify)V=b.justify(W,tt,m,u);else switch(it.alignTo){case"connectors":V=b.alignToConnectors(M,w,c,d);break;case"plotEdges":V=b.alignToPlotEdges(tt,w,c,d);break;default:V=b.radialDistributionX(o,W,K,Q,tt)}if(G.attribs={visibility:j,align:G.alignment},G.posAttribs={x:V+(it.x||0)+({left:$,right:-$}[G.alignment]||0),y:K+(it.y||0)-tt.getBBox().height/2},G.computed.x=V,G.computed.y=K,ku(it.crop,!0)){C=tt.getBBox().width;let Z;V-C<$&&w===1?(Z=Math.round(C-V+$),y[3]=Math.max(Z,y[3])):V+C>c-$&&w===0&&(Z=Math.round(V+C-c+$),y[1]=Math.max(Z,y[1])),K-S/2<0?y[0]=Math.max(Math.round(-K+S/2),y[0]):K+S/2>f&&(y[2]=Math.max(Math.round(K+S/2-f),y[2])),G.sideOverflow=Z}}})}))}),(Du(y)===0||this.verifyDataLabelOverflow(y))&&(this.placeDataLabels(),this.points.forEach(M=>{(M.dataLabels||[]).forEach(w=>{let{connectorColor:P,connectorWidth:L=1}=w.options||{},R=w.dataLabelPosition;if(L){let I;v=w.connector,R&&R.distance>0?(I=!v,v||(w.connector=v=h.renderer.path().addClass("highcharts-data-label-connector highcharts-color-"+M.colorIndex+(M.className?" "+M.className:"")).add(o.dataLabelsGroup)),h.styledMode||v.attr({"stroke-width":L,stroke:P||M.color||"#666666"}),v[I?"attr":"animate"]({d:M.getConnectorPath(w)}),v.attr({visibility:R.attribs?.visibility})):v&&(w.connector=v.destroy())}})})))}function r(){this.points.forEach(o=>{(o.dataLabels||[]).forEach(a=>{let h=a.dataLabelPosition;h?(h.sideOverflow&&(a.css({width:Math.max(a.getBBox().width-h.sideOverflow,0)+"px",textOverflow:(a.options?.style||{}).textOverflow||"ellipsis"}),a.shortened=!0),a.attr(h.attribs),a[a.moved?"animate":"attr"](h.posAttribs),a.moved=!0):a&&a.attr({y:-9999})}),delete o.distributeBox},this)}function n(o){let a=this.center,h=this.options,c=h.center,f=h.minSize||80,d=f,p=h.size!==null;return p||(c[0]!==null?d=Math.max(a[2]-Math.max(o[1],o[3]),f):(d=Math.max(a[2]-o[1]-o[3],f),a[0]+=(o[3]-o[1])/2),c[1]!==null?d=gl(d,f,a[2]-Math.max(o[0],o[2])):(d=gl(d,f,a[2]-o[0]-o[2]),a[1]+=(o[0]-o[2])/2),d<a[2]?(a[2]=d,a[3]=Math.min(h.thickness?Math.max(0,d-h.thickness*2):Math.max(0,yl(h.innerSize||0,d)),d),this.translate(a),this.drawDataLabels&&this.drawDataLabels()):p=!0),p}})(kn||(kn={}));var bl=kn;var{addEvent:Ou,fireEvent:Sl,objectEach:vl,pick:Au}=E;function Eu(l){let i=this,t=l.length,e=(f,d)=>!(d.x>=f.x+f.width||d.x+d.width<=f.x||d.y>=f.y+f.height||d.y+d.height<=f.y);function s(f){if(f&&(!f.alignAttr||f.placed)){let d=f.box?0:f.padding||0,p=f.alignAttr||{x:f.attr("x"),y:f.attr("y")},u=f.getBBox();return f.width=u.width,f.height=u.height,{x:p.x+(f.parentGroup?.translateX||0)+d,y:p.y+(f.parentGroup?.translateY||0)+d,width:(f.width||0)-2*d,height:(f.height||0)-2*d}}}let r,n,o,a,h,c=!1;for(let f=0;f<t;f++)r=l[f],r&&(r.oldOpacity=r.opacity,r.newOpacity=1,r.absoluteBox=s(r));l.sort((f,d)=>(d.labelrank||0)-(f.labelrank||0));for(let f=0;f<t;++f){n=l[f],a=n&&n.absoluteBox;for(let d=f+1;d<t;++d)o=l[d],h=o&&o.absoluteBox,a&&h&&n!==o&&n.newOpacity!==0&&o.newOpacity!==0&&n.visibility!=="hidden"&&o.visibility!=="hidden"&&e(a,h)&&((n.labelrank<o.labelrank?n:o).newOpacity=0)}for(let f of l)Cl(f,i)&&(c=!0);c&&Sl(i,"afterHideAllOverlappingLabels")}function Lu(l){let i=l.prototype;i.hideOverlappingLabels||(i.hideOverlappingLabels=Eu,Ou(l,"render",Iu))}function Cl(l,i){let t,e,s=!1;return l&&(e=l.newOpacity,l.oldOpacity!==e&&(l.hasClass("highcharts-data-label")?(l[e?"removeClass":"addClass"]("highcharts-data-label-hidden"),t=function(){i.styledMode||l.css({pointerEvents:e?"auto":"none"})},s=!0,l[l.isOld?"animate":"attr"]({opacity:e},void 0,t),Sl(i,"afterHideOverlappingLabel")):l.attr({opacity:e})),l.isOld=!0),s}function Iu(){let l=this,i=[];for(let t of l.labelCollectors||[])i=i.concat(t());for(let t of l.yAxis||[])t.stacking&&t.options.stackLabels&&!t.options.stackLabels.allowOverlap&&vl(t.stacking.stacks,e=>{vl(e,s=>{s.label&&i.push(s.label)})});for(let t of l.series||[])if(t.visible&&t.hasDataLabels?.()){let e=s=>{for(let r of s)r.visible&&(r.dataLabels||[]).forEach(n=>{let o=n.options||{};n.labelrank=Au(o.labelrank,r.labelrank,r.shapeArgs?.height),o.allowOverlap??Number(o.distance)>0?(n.oldOpacity=n.opacity,n.newOpacity=1,Cl(n,l)):i.push(n)})};e(t.nodes||[]),e(t.points)}this.hideOverlappingLabels(i)}var _u={compose:Lu},Pn=_u;var{defaultOptions:Bu}=vt,{noop:Ml}=_,{addEvent:Tl,extend:Ru,isObject:wl,merge:Wu,relativeLength:On}=E,Nu={radius:0,scope:"stack",where:void 0},Dl=Ml,kl=Ml;function Fu(l,i,t){let e=l[i],s=l[i+1];s[0]==="Z"&&(s=l[0]);let r,n,o;if((e[0]==="M"||e[0]==="L")&&s[0]==="A"?(r=e,n=s,o=!0):e[0]==="A"&&(s[0]==="M"||s[0]==="L")&&(r=s,n=e),r&&n&&n.params){let a=n[1],h=n[5],c=n.params,{start:f,end:d,cx:p,cy:u}=c,m=h?a-t:a+t,g=m?Math.asin(t/m):0,x=h?g:-g,y=Math.cos(g)*m;o?(c.start=f+x,r[1]=p+y*Math.cos(f),r[2]=u+y*Math.sin(f),l.splice(i+1,0,["A",t,t,0,0,1,p+a*Math.cos(c.start),u+a*Math.sin(c.start)])):(c.end=d-x,n[6]=p+a*Math.cos(c.end),n[7]=u+a*Math.sin(c.end),l.splice(i+1,0,["A",t,t,0,0,1,p+y*Math.cos(d),u+y*Math.sin(d)])),n[4]=Math.abs(c.end-c.start)<Math.PI?0:1}}function zu(l,i,t,e,s={}){let r=Dl(l,i,t,e,s),{innerR:n=0,r:o=t,start:a=0,end:h=0}=s;if(s.open||!s.borderRadius)return r;let c=h-a,f=Math.sin(c/2),d=Math.max(Math.min(On(s.borderRadius||0,o-n),(o-n)/2,o*f/(1+f)),0),p=Math.min(d,2*(c/Math.PI)*n),u=r.length-1;for(;u--;)Fu(r,u,u>1?p:d);return r}function Hu(){if(this.options.borderRadius&&!(this.chart.is3d&&this.chart.is3d())){let{options:l,yAxis:i}=this,t=l.stacking==="percent",e=Bu.plotOptions?.[this.type]?.borderRadius,s=An(l.borderRadius,wl(e)?e:{}),r=i.options.reversed;for(let n of this.points){let{shapeArgs:o}=n;if(n.shapeType==="roundedRect"&&o){let{width:a=0,height:h=0,y:c=0}=o,f=c,d=h;if(s.scope==="stack"&&n.stackTotal){let g=i.translate(t?100:n.stackTotal,!1,!0,!1,!0),x=i.translate(l.threshold||0,!1,!0,!1,!0),y=this.crispCol(0,Math.min(g,x),0,Math.abs(g-x));f=y.y,d=y.height}let p=(n.negative?-1:1)*(r?-1:1)===-1,u=s.where;!u&&this.is("waterfall")&&Math.abs((n.yBottom||0)-(this.translatedThreshold||0))>this.borderWidth&&(u="all"),u||(u="end");let m=Math.min(On(s.radius,a),a/2,u==="all"?h/2:1/0)||0;u==="end"&&(p&&(f-=m),d+=m),Ru(o,{brBoxHeight:d,brBoxY:f,r:m})}}}}function Xu(l,i,t){let e=l.types.pie;if(!i.symbolCustomAttribs.includes("borderRadius")){let s=t.prototype.symbols;Tl(l,"afterColumnTranslate",Hu,{order:9}),Tl(e,"afterTranslate",Yu),i.symbolCustomAttribs.push("borderRadius","brBoxHeight","brBoxY"),Dl=s.arc,kl=s.roundedRect,s.arc=zu,s.roundedRect=Gu}}function An(l,i){return wl(l)||(l={radius:l||0}),Wu(Nu,i,l)}function Yu(){let l=An(this.options.borderRadius);for(let i of this.points){let t=i.shapeArgs;t&&(t.borderRadius=On(l.radius,(t.r||0)-(t.innerR||0)))}}function Gu(l,i,t,e,s={}){let r=kl(l,i,t,e,s),{r:n=0,brBoxHeight:o=e,brBoxY:a=i}=s,h=i-a,c=a+o-(i+e),f=h-n>-.1?0:n,d=c-n>-.1?0:n,p=Math.max(f&&h,0),u=Math.max(d&&c,0),m=[l+f,i],g=[l+t-f,i],x=[l+t,i+f],y=[l+t,i+e-d],b=[l+t-d,i+e],v=[l+d,i+e],C=[l,i+e-d],S=[l,i+f],T=(M,w)=>Math.sqrt(Math.pow(M,2)-Math.pow(w,2));if(p){let M=T(f,f-p);m[0]-=M,g[0]+=M,x[1]=S[1]=i+f-p}if(e<f-p){let M=T(f,f-p-e);x[0]=y[0]=l+t-f+M,b[0]=Math.min(x[0],b[0]),v[0]=Math.max(y[0],v[0]),C[0]=S[0]=l+f-M,x[1]=S[1]=i+e}if(u){let M=T(d,d-u);b[0]+=M,v[0]-=M,y[1]=C[1]=i+e-d+u}if(e<d-u){let M=T(d,d-u-e);x[0]=y[0]=l+t-d+M,g[0]=Math.min(x[0],g[0]),m[0]=Math.max(y[0],m[0]),C[0]=S[0]=l+d-M,y[1]=C[1]=i}return r.length=0,r.push(["M",...m],["L",...g],["A",f,f,0,0,1,...x],["L",...y],["A",d,d,0,0,1,...b],["L",...v],["A",d,d,0,0,1,...C],["L",...S],["A",f,f,0,0,1,...m],["Z"]),r}var Vu={compose:Xu,optionsToObject:An},Pl=Vu;var{diffObjects:ju,extend:Uu,find:$u,merge:qu,pick:zs,uniqueKey:Ku}=E,En;(function(l){function i(s){let r=s.prototype;return r.matchResponsiveRule||Uu(r,{matchResponsiveRule:t,setResponsive:e}),s}l.compose=i;function t(s,r){let n=s.condition;(n.callback||function(){return this.chartWidth<=zs(n.maxWidth,Number.MAX_VALUE)&&this.chartHeight<=zs(n.maxHeight,Number.MAX_VALUE)&&this.chartWidth>=zs(n.minWidth,0)&&this.chartHeight>=zs(n.minHeight,0)}).call(this)&&r.push(s._id)}function e(s,r){let n=this.options.responsive,o=this.currentResponsive,a=[],h;!r&&n&&n.rules&&n.rules.forEach(d=>{typeof d._id>"u"&&(d._id=Ku()),this.matchResponsiveRule(d,a)},this);let c=qu(...a.map(d=>$u((n||{}).rules||[],p=>p._id===d)).map(d=>d&&d.chartOptions));c.isResponsiveOptions=!0,a=a.toString()||void 0;let f=o&&o.ruleIds;a!==f&&(o&&this.update(o.undoOptions,s,!0),a?(h=ju(c,this.options,!0,this.collectionsWithUpdate),h.isResponsiveOptions=!0,this.currentResponsive={ruleIds:a,mergedOptions:c,undoOptions:h},this.update(c,s,!0)):this.currentResponsive=void 0)}})(En||(En={}));var Ol=En;var N=_;N.AST=kt;N.Axis=Ai;N.Chart=an;N.Color=_t;N.DataLabel=Ye;N.Fx=oe;N.HTMLElement=vr;N.Legend=Gr;N.LegendSymbol=ks;N.OverlappingDataLabels=N.OverlappingDataLabels||Pn;N.PlotLineOrBand=Ir;N.Point=Gt;N.Pointer=Xr;N.RendererRegistry=ee;N.Series=Pt;N.SeriesRegistry=et;N.StackItem=Ls;N.SVGElement=Bt;N.SVGRenderer=ps;N.Templating=St;N.Tick=ae;N.Time=Ee;N.Tooltip=Rr;N.animate=nt.animate;N.animObject=nt.animObject;N.chart=an.chart;N.color=_t.parse;N.dateFormat=St.dateFormat;N.defaultOptions=vt.defaultOptions;N.distribute=be.distribute;N.format=St.format;N.getDeferredAnimation=nt.getDeferredAnimation;N.getOptions=vt.getOptions;N.numberFormat=St.numberFormat;N.seriesType=et.seriesType;N.setAnimation=nt.setAnimation;N.setOptions=vt.setOptions;N.stop=nt.stop;N.time=vt.defaultTime;N.timers=oe.timers;Pl.compose(N.Series,N.SVGElement,N.SVGRenderer);ol.compose(N.Series.types.column);Ye.compose(N.Series);oa.compose(N.Axis);vr.compose(N.SVGRenderer);Gr.compose(N.Chart);la.compose(N.Axis);Pn.compose(N.Chart);bl.compose(N.Series.types.pie);Ir.compose(N.Axis);Xr.compose(N.Chart);Ol.compose(N.Chart);Ga.compose(N.Axis,N.Chart,N.Series);$a.compose(N.Axis,N.Chart,N.Series);Rr.compose(N.Pointer);E.extend(N,E);var Al=N;var Ut=(()=>{class l{httpService;widgets$=Nn([{id:"SALES",title:"Sales",value:null,showValue:!0,tooltip:"Total Sales Today"},{id:"PURCHASE",title:"Purchase",value:null,showValue:!0,tooltip:"Total Purchase Today"},{id:"DEBT",title:"Receivable",value:null,showValue:!0},{id:"PRODUCT",title:"Product",showValue:!1},{id:"INVENTORY",title:"Inventory",showValue:!1}]);constructor(t){this.httpService=t}setWidgetData(t,e){return this.widgets$=this.widgets$.pipe(de(s=>s.map(r=>(r.id==e&&(r.value=t),r)))),this.widgets$}getDashboardSales(t){return this.httpService.post(Ke.GetDashboardSales,t)}getDashboardPurchase(t){return this.httpService.post(Ke.GetDashboardPurchase,t)}getDashboardDebt(t){return this.httpService.post(Ke.GetDashboardDebt,t)}getDashboardProduct(t){return this.httpService.post(Ke.GetDashboardProduct,t)}getDashboardInventory(t){return this.httpService.post(Ke.GetDashboardInventory,t)}getLineChartConfig(){return{credits:{enabled:!1},accessibility:{enabled:!1},chart:{type:"areaspline",ignoreHiddenSeries:!1,height:410,spacingTop:-20,spacingRight:15},title:{text:"<br/>"},legend:{enabled:!0,squareSymbol:!0},xAxis:{type:"datetime",labels:{style:{color:"gray"}},lineColor:"gray",tickColor:"gray"},yAxis:{min:0,title:{text:""},labels:{formatter:function(){let e=this.value;if(e==0)return"";var s=parseInt(e).toString();if(s.length<=4)return parseFloat(e).toString();if(s.length>=5&&s.length<=6)return e/1e3+" k";if(s.length>=7&&s.length<=9)return e/1e6+" MM";if(s.length>=10)return e/1e9+" BN"},style:{color:"gray"}}},plotOptions:{series:{pointInterval:864e5},areaspline:{fillOpacity:.1,lineWidth:1.5}},tooltip:{shared:!0},series:[]}}getLinierGradient(t){let e=new Al.Color(t);return{linearGradient:[0,0,0,290],stops:[[0,e.setOpacity(.1).get("rgba")],[1,"#ffffff70"]]}}setSeriesPointStart(t,e){let s=new Date(t);return e.plotOptions.series.pointStart=Date.UTC(s.getFullYear(),s.getMonth(),s.getDate()),e}getTotalData(t,e,s=1){let r=this.filterSeriesByName(t,e);return r?.data?.slice(r?.data?.length-s,r?.data?.length).reduce((o,a)=>o+a,0)}filterSeriesByName(t,e){return e?.find(r=>r.name==t)}static \u0275fac=function(e){return new(e||l)(zn($n))};static \u0275prov=Fn({token:l,factory:l.\u0275fac})}return l})();var gi=class{Cost;Profit;Sales;SalesWithTax;Tax;Count;TopOutlet};var Ge=Yl(Gl());var Zu=Vl(),Qu=jl(),Ju=Ul();Zu(Ge);Ju(Ge);Qu(Ge);var Hs=(()=>{class l{config;containerId;htmlIsRendered=!1;constructor(){}ngAfterViewInit(){$i.IsNotEmpty(this.containerId)&&(this.initChart(),this.htmlIsRendered=!0)}ngOnChanges(t){t.config&&t.config.currentValue&&this.htmlIsRendered&&this.initChart()}initChart(){Ge.chart(this.containerId,this.config),Ge.setOptions({lang:{thousandsSep:","}})}static \u0275fac=function(e){return new(e||l)};static \u0275cmp=Tt({type:l,selectors:[["app-chart-container"]],inputs:{config:"config",containerId:"containerId"},standalone:!0,features:[je,wt],decls:1,vars:1,consts:[[3,"id"]],template:function(e,s){e&1&&mt(0,"div",0),e&2&&B("id",s.containerId)}})}return l})();var Bn=l=>({"border-bottom":l}),In=()=>["/menu/Reports/Sales_Report/Standard/Summary"],_n=(l,i)=>({From:l,To:i}),im=l=>({today:l});function sm(l,i){if(l&1){let t=Pe();dt(0),D(1,"div",15)(2,"a",16),A(3),k(),D(4,"ul",17)(5,"li")(6,"a",18),Ue("click",function(){fe(t);let s=X();return s.isTodayFilter=!s.isTodayFilter,pe(s.onChangeFilterPeriod())}),A(7),k()()()(),ft()}if(l&2){let t=X();O(3),Mt(" ",t.isTodayFilter?"Today":"Last 7 Days"," "),O(),B("ngClass",pt(3,im,!t.isTodayFilter)),O(3),Mt(" ",t.isTodayFilter?"Last 7 Days":"Today"," ")}}function rm(l,i){l&1&&(D(0,"span",19),A(1,"Today"),k())}function nm(l,i){if(l&1&&(dt(0),D(1,"div",20)(2,"a",9),F(3,"ToDateString"),F(4,"date"),F(5,"ToDateString"),F(6,"date"),D(7,"div",10),A(8,"Tax"),k(),D(9,"h2",11),A(10),F(11,"number"),k()()(),D(12,"div",8)(13,"a",9),F(14,"ToDateString"),F(15,"date"),F(16,"ToDateString"),F(17,"date"),D(18,"div",10),A(19,"Sales + Tax"),k(),D(20,"h2",11),A(21),F(22,"number"),k()()(),ft()),l&2){let t=X();O(2),B("routerLink",bt(35,In))("queryParams",Ui(36,_n,U(4,11,Dt(3,9,t.isTodayFilter?t.today:t.chartData==null?null:t.chartData.From),"yyyy-MM-dd"),U(6,16,Dt(5,14,t.isTodayFilter?t.today:t.dateTo),"ddMMyyyy"))),O(8),Ft(" ",t.dashboardConfig==null?null:t.dashboardConfig.CurrencySymbol," ",U(11,19,t.salesData==null?null:t.salesData.Tax,"1.0-0")," "),O(2),B("ngClass",pt(39,Bn,t.role.product.Cost)),O(),B("routerLink",bt(41,In))("queryParams",Ui(42,_n,U(15,24,Dt(14,22,t.isTodayFilter?t.today:t.chartData==null?null:t.chartData.From),"yyyy-MM-dd"),U(17,29,Dt(16,27,t.isTodayFilter?t.today:t.dateTo),"ddMMyyyy"))),O(8),Ft("",t.dashboardConfig==null?null:t.dashboardConfig.CurrencySymbol," ",U(22,32,t.salesData==null?null:t.salesData.SalesWithTax,"1.0-0")," ")}}function om(l,i){if(l&1&&(dt(0),D(1,"div",8)(2,"div")(3,"div",21),A(4,"Cost"),k(),D(5,"h2",11),A(6),F(7,"number"),k()()(),ft()),l&2){let t=X();O(),B("ngClass",pt(6,Bn,t.role.report.Profit)),O(5),Ft("",t.dashboardConfig==null?null:t.dashboardConfig.CurrencySymbol," ",U(7,3,t.salesData==null?null:t.salesData.Cost,"1.0-0"),"")}}function am(l,i){if(l&1&&(dt(0),D(1,"div",22)(2,"div")(3,"div",23),A(4),k(),D(5,"h2",11),A(6),F(7,"number"),k()()(),ft()),l&2){let t=X();O(4),ot(t.includeTax?"Gross Profit":"Profit"),O(2),Ft("",t.dashboardConfig==null?null:t.dashboardConfig.CurrencySymbol," ",U(7,3,t.salesData==null?null:t.salesData.Profit,"1.0-0"),"")}}var El=(()=>{class l{dashboardService;role;chartData;salesData;dashboardConfig;filterSalesWidget=new Hn;chartConfig;todaySalesData;weeklySalesData;isTodayFilter=!0;showPeriodFilter;includeTax;today=new Date;dateTo;constructor(t,e){this.dashboardService=t,this.role=e,this.chartConfig=this.dashboardService.getLineChartConfig()}ngOnChanges(t){if(t.chartData&&t.chartData.currentValue){this.initSalesData();let e=t?.chartData?.currentValue?.Series;e=this.setChartLineColor(e),this.chartConfig=$t(At({},this.chartConfig),{series:e}),this.chartConfig=this.dashboardService.setSeriesPointStart(this.chartData.From,this.chartConfig),this.initPeriodFilter(e),this.getDateTo()}}initPeriodFilter(t){this.showPeriodFilter=t[0]?.data?.length>=7}initSalesData(){this.salesData=new gi,this.includeTax=this.isIncludeTax(),this.salesData.Sales=this.dashboardService.getTotalData("Sales",this.chartData.Series,1),this.salesData.SalesWithTax=this.dashboardService.getTotalData("Sales + Tax",this.chartData.Series,1),this.salesData.Cost=this.dashboardService.getTotalData("Cost",this.chartData.Series,1),this.salesData.Tax=this.salesData.SalesWithTax-this.salesData.Sales,this.salesData.Profit=(this.includeTax?this.salesData.SalesWithTax:this.salesData.Sales)-this.salesData.Cost,this.salesData.Count=this.dashboardService.getTotalData("Count",this.chartData.Series,1),this.todaySalesData=to(gi,this.salesData)}setChartLineColor(t=[]){return t?.map(e=>(e.name=="Sales"&&(e.color="rgb(44, 175, 254)",e.fillColor=this.dashboardService.getLinierGradient("rgb(44, 175, 254)")),e.name=="Cost"&&(e.color="#fb404b",e.fillColor=this.dashboardService.getLinierGradient("#fb404b")),e.name=="Sales + Tax"&&(e.color="#2ECC71",e.fillColor=this.dashboardService.getLinierGradient("#2ECC71")),e))}onChangeFilterPeriod(){this.isTodayFilter?this.salesData=this.todaySalesData:(this.generateWeeklySalesData(),this.salesData=this.weeklySalesData),this.filterSalesWidget.emit({period:this.isTodayFilter?"TODAY":"WEEKLY"}),this.showHideSalesTaxSeries()}getDateTo(){let t=new Date,e=new Date(this.chartData.From);t.setDate(e.getDate()+7),this.dateTo=t}generateWeeklySalesData(){if($i.IsEmpty(this.weeklySalesData)){let t=this.dashboardService.getTotalData("Sales",this.chartData.Series,7),e=this.dashboardService.getTotalData("Sales + Tax",this.chartData.Series,7),s=this.dashboardService.getTotalData("Cost",this.chartData.Series,7),r=this.dashboardService.getTotalData("Count",this.chartData.Series,7),n=e-t,o=(this.includeTax?e:t)-s;this.weeklySalesData=this.weeklySalesData?this.weeklySalesData:new gi,this.weeklySalesData.Sales=t,this.weeklySalesData.SalesWithTax=e,this.weeklySalesData.Cost=s,this.weeklySalesData.Profit=o,this.weeklySalesData.Tax=n,this.weeklySalesData.Count=r}}isIncludeTax(){let t=this.chartData.Series;return this.dashboardService.filterSeriesByName("Sales + Tax",t).visible}showHideSalesTaxSeries(){let t=this.chartConfig.series.map(e=>(e.name=="Sales + Tax"&&(e.showInLegend=this.salesData.Tax>0),e));this.chartConfig=$t(At({},this.chartConfig),{series:t})}static \u0275fac=function(e){return new(e||l)(se(Ut),se(qi))};static \u0275cmp=Tt({type:l,selectors:[["app-sales-widget"]],inputs:{chartData:"chartData",dashboardConfig:"dashboardConfig"},outputs:{filterSalesWidget:"onFilter"},standalone:!0,features:[$e([Ut]),je,wt],decls:28,vars:34,consts:[["HIDE_WEEKLY",""],[1,"d-flex","flex-row","flex-wrap","mt-8","justify-content-between"],[1,"chart-widget"],["containerId","salesChart",3,"config"],[1,"sales-card-widget"],[1,"border","rounded","rounded-bottom-0","px-8","py-4","w-100","h-auto"],[1,"border-bottom","d-flex","align-items-center","justify-content-end",2,"height","42px"],[4,"ngIf","ngIfElse"],[1,"text-end","card-row","d-flex","align-items-center","justify-content-end",3,"ngClass"],["target","_blank",1,"link-dark",3,"routerLink","queryParams"],[1,"fs-5"],[1,"fw-normal"],[4,"ngIf"],[1,"card-footer","border","rounded-bottom","border-top-0","text-end","p-3"],["routerLink","/menu/Setup/Configuration/Application"],[1,"btn-group"],["type","button","data-bs-toggle","dropdown","aria-expanded","false",1,"dropdown-toggle","link-dark","fs-2","headings-font-family"],[1,"dropdown-menu","p-0",2,"position","absolute","right","20px !important",3,"ngClass"],["role","button",1,"dropdown-item","fs-4",3,"click"],[1,"link-dark","fs-2","headings-font-family"],[1,"text-end","border-bottom","card-row","d-flex","align-items-center","justify-content-end"],[1,"fs-5","text-danger"],[1,"text-end","d-flex","align-items-center","justify-content-end","card-row"],[1,"fs-5","text-success"]],template:function(e,s){if(e&1&&(D(0,"div",1)(1,"div",2),mt(2,"app-chart-container",3),k(),D(3,"div",4)(4,"div",5)(5,"div",6),J(6,sm,8,5,"ng-container",7)(7,rm,2,0,"ng-template",null,0,gt),k(),D(9,"div",8)(10,"a",9),F(11,"ToDateString"),F(12,"date"),F(13,"ToDateString"),F(14,"date"),D(15,"div",10),A(16,"Order"),k(),D(17,"h2",11),A(18),F(19,"number"),k()()(),J(20,nm,23,45,"ng-container",12)(21,om,8,8,"ng-container",12)(22,am,8,6,"ng-container",12),k(),D(23,"div",13)(24,"a",14)(25,"small"),A(26),F(27,"date"),k()()()()()),e&2){let r=at(8);O(2),B("config",s.chartConfig),O(4),B("ngIf",(s.role==null||s.role.dashboard==null?null:s.role.dashboard.View)&&s.showPeriodFilter)("ngIfElse",r),O(3),B("ngClass",pt(28,Bn,(s.salesData==null?null:s.salesData.Tax)||s.role.product.Cost)),O(),B("routerLink",bt(30,In))("queryParams",Ui(31,_n,U(12,14,Dt(11,12,s.isTodayFilter?s.today:s.chartData==null?null:s.chartData.From),"ddMMyyyy"),U(14,19,Dt(13,17,s.isTodayFilter?s.today:s.dateTo),"ddMMyyyy"))),O(8),ot(U(19,22,s.salesData==null?null:s.salesData.Count,"1.0-0")),O(2),B("ngIf",(s.salesData==null?null:s.salesData.Tax)>0),O(),B("ngIf",s.role.product.Cost),O(),B("ngIf",s.role.report.Profit&&s.role.product.Cost),O(4),Ft("",U(27,25,s.dashboardConfig==null?null:s.dashboardConfig.SpanConfigTime,"dd MMM HH:mm")," ",s.dashboardConfig==null?null:s.dashboardConfig.SmallTimeZone,"")}},dependencies:[Et,Ht,Wt,Xt,qe,Hs,te,Jt,Zi,Ki],styles:[".chart-widget[_ngcontent-%COMP%]{width:80%}.link-dark[_ngcontent-%COMP%]{color:#333!important}.dropdown-menu.show.today[_ngcontent-%COMP%]{inset:0 auto auto -34px!important}.sales-card-widget[_ngcontent-%COMP%]{width:19%}.sales-card-widget[_ngcontent-%COMP%] .card-row[_ngcontent-%COMP%]{height:64px}@media only screen and (max-width: 767px){.chart-widget[_ngcontent-%COMP%]{width:100%}.sales-card-widget[_ngcontent-%COMP%]{width:100%;margin-top:12px}}@media only screen and (min-width: 768px) and (max-width: 991px){.chart-widget[_ngcontent-%COMP%]{width:100%}.sales-card-widget[_ngcontent-%COMP%]{width:100%;margin-top:12px}}"]})}return l})();var Ys=class{Purchase;PurchaseWithTax;Tax;Count};var lm=l=>({"border-bottom":l}),hm=()=>["/menu/Reports/Sales_Report/Standard/Summary"],Rn=l=>({From:l}),Ll=()=>["/menu/Reports/Purchases_Report/Summary"];function cm(l,i){if(l&1&&(dt(0),D(1,"div",13)(2,"a",8),F(3,"ToDateString"),F(4,"date"),D(5,"div",9),A(6,"Tax"),k(),D(7,"h2",6),A(8),F(9,"number"),k()()(),D(10,"div",14)(11,"a",8),F(12,"ToDateString"),F(13,"date"),D(14,"div",9),A(15,"Purchase + Tax"),k(),D(16,"h2",6),A(17),F(18,"number"),k()()(),ft()),l&2){let t=X();O(2),B("routerLink",bt(24,Ll))("queryParams",pt(25,Rn,U(4,10,Dt(3,8,t.chartData==null?null:t.chartData.From),"ddMMyyyy"))),O(6),Ft("",t.dashboardConfig==null?null:t.dashboardConfig.CurrencySymbol," ",U(9,13,t.purchaseData==null?null:t.purchaseData.Tax,"1.0-0"),""),O(3),B("routerLink",bt(27,Ll))("queryParams",pt(28,Rn,U(13,18,Dt(12,16,t.chartData==null?null:t.chartData.From),"ddMMyyyy"))),O(6),Ft("",t.dashboardConfig==null?null:t.dashboardConfig.CurrencySymbol," ",U(18,21,t.purchaseData==null?null:t.purchaseData.PurchaseWithTax,"1.0-0")," ")}}var Il=(()=>{class l{dashboardService;chartConfig;purchaseData;chartData;dashboardConfig;constructor(t){this.dashboardService=t,this.chartConfig=this.dashboardService.getLineChartConfig()}ngOnChanges(t){if(t.chartData&&t.chartData.currentValue){let e=t?.chartData?.currentValue?.Series;this.initPurchaseData(),e=this.setChartLineColor(e),this.chartConfig=$t(At({},this.chartConfig),{series:e}),this.chartConfig=this.dashboardService.setSeriesPointStart(this.chartData.From,this.chartConfig)}}initPurchaseData(){this.purchaseData=new Ys,this.purchaseData.Count=this.dashboardService.getTotalData("Count",this.chartData.Series),this.purchaseData.Purchase=this.dashboardService.getTotalData("Purchase",this.chartData.Series),this.purchaseData.PurchaseWithTax=this.dashboardService.getTotalData("Purchase + Tax",this.chartData.Series),this.purchaseData.Tax=this.purchaseData.PurchaseWithTax-this.purchaseData.Purchase}setChartLineColor(t){return t.map(e=>(e.name=="Purchase"&&(e.color="rgb(44, 175, 254)",e.fillColor=this.dashboardService.getLinierGradient("rgb(44, 175, 254)"),e.visible=!0),e.name=="Purchase + Tax"&&(e.color="#2ECC71",e.fillColor=this.dashboardService.getLinierGradient("#2ECC71"),e.visible=!1,e.showInLegend=this.purchaseData.Tax>0),e.name=="Count"&&(e.visible=!1,e.showInLegend=!1),e))}static \u0275fac=function(e){return new(e||l)(se(Ut))};static \u0275cmp=Tt({type:l,selectors:[["app-purchase-widget"]],inputs:{chartData:"chartData",dashboardConfig:"dashboardConfig"},standalone:!0,features:[$e([Ut]),je,wt],decls:23,vars:24,consts:[[1,"d-flex","flex-row","flex-wrap","mt-8","justify-content-between"],[1,"chart-widget"],["containerId","purchaseChart",3,"config"],[1,"sales-card-widget"],[1,"border","rounded","rounded-bottom-0","px-8","py-4","w-100","h-auto"],[1,"border-bottom","d-flex","align-items-center","justify-content-end",2,"height","42px"],[1,"fw-normal"],[1,"text-end","border-bottom","card-row","d-flex","align-items-center","justify-content-end",3,"ngClass"],["target","_blank",1,"link-dark",3,"routerLink","queryParams"],[1,"fs-5"],[4,"ngIf"],[1,"card-footer","border","rounded-bottom","border-top-0","text-center","p-3"],["routerLink","/menu/Setup/Configuration/Application"],[1,"text-end","border-bottom","card-row","d-flex","align-items-center","justify-content-end"],[1,"text-end","card-row","d-flex","align-items-center","justify-content-end"]],template:function(e,s){e&1&&(D(0,"div",0)(1,"div",1),mt(2,"app-chart-container",2),k(),D(3,"div",3)(4,"div",4)(5,"div",5)(6,"h2",6),A(7,"Today"),k()(),D(8,"div",7)(9,"a",8),F(10,"ToDateString"),F(11,"date"),D(12,"div",9),A(13,"Order"),k(),D(14,"h2",6),A(15),F(16,"number"),k()()(),J(17,cm,19,30,"ng-container",10),k(),D(18,"div",11)(19,"a",12)(20,"small"),A(21),F(22,"date"),k()()()()()),e&2&&(O(2),B("config",s.chartConfig),O(6),B("ngClass",pt(19,lm,(s.purchaseData==null?null:s.purchaseData.Tax)>0)),O(),B("routerLink",bt(21,hm))("queryParams",pt(22,Rn,U(11,10,Dt(10,8,s.chartData==null?null:s.chartData.From),"ddMMyyyy"))),O(6),ot(U(16,13,s.purchaseData==null?null:s.purchaseData.Count,"1.0-0")),O(2),B("ngIf",(s.purchaseData==null?null:s.purchaseData.Tax)>0),O(4),Ft("",U(22,16,s.dashboardConfig==null?null:s.dashboardConfig.SpanConfigTime,"dd MMM HH:mm")," ",s.dashboardConfig==null?null:s.dashboardConfig.SmallTimeZone,""))},dependencies:[Et,Ht,Wt,Xt,qe,Hs,te,Jt,Zi,Ki],styles:[".chart-widget[_ngcontent-%COMP%]{width:80%}.link-dark[_ngcontent-%COMP%]{color:#333!important}.dropdown-menu.show.today[_ngcontent-%COMP%]{inset:0 auto auto -34px!important}.sales-card-widget[_ngcontent-%COMP%]{width:19%}.sales-card-widget[_ngcontent-%COMP%] .card-row[_ngcontent-%COMP%]{height:64px}@media only screen and (max-width: 767px){.chart-widget[_ngcontent-%COMP%]{width:100%}.sales-card-widget[_ngcontent-%COMP%]{width:100%;margin-top:12px}}@media only screen and (min-width: 768px) and (max-width: 991px){.chart-widget[_ngcontent-%COMP%]{width:100%}.sales-card-widget[_ngcontent-%COMP%]{width:100%;margin-top:12px}}"]})}return l})();var dm=l=>({active:l});function fm(l,i){if(l&1&&(dt(0),D(1,"div",3),A(2),k(),D(3,"h2",4),A(4),k(),ft()),l&2){let t=X();O(2),ot(t.title),O(2),ot(t.content)}}function pm(l,i){if(l&1&&(D(0,"div",3),A(1),k(),D(2,"h2",4),A(3,"-"),k()),l&2){let t=X();O(),ot(t.title)}}var _l=(()=>{class l{title;isActive;content;showValue;constructor(){}ngOnInit(){}static \u0275fac=function(e){return new(e||l)};static \u0275cmp=Tt({type:l,selectors:[["app-card-widget"]],inputs:{title:"title",isActive:"isActive",content:"content",showValue:"showValue"},standalone:!0,features:[wt],decls:4,vars:5,consts:[["TITLE_ONLY",""],[1,"card-widget","pe-0",3,"ngClass"],[4,"ngIf","ngIfElse"],[1,"fs-4","headings-font-family"],[1,"fw-normal"]],template:function(e,s){if(e&1&&(D(0,"div",1),J(1,fm,5,2,"ng-container",2)(2,pm,4,1,"ng-template",null,0,gt),k()),e&2){let r=at(3);B("ngClass",pt(3,dm,s.isActive)),O(),B("ngIf",s.showValue)("ngIfElse",r)}},dependencies:[Et,Ht,Wt],styles:[".card-widget[_ngcontent-%COMP%]{padding:20px;border-radius:6px;min-height:95px;border:.5px solid #e4e4e4;width:100%}.active[_ngcontent-%COMP%]{background-color:#f0f0f0}@media only screen and (max-width: 767px){.card-widget[_ngcontent-%COMP%]{width:200px}}@media only screen and (min-width: 768px) and (max-width: 991px){.card-widget[_ngcontent-%COMP%]{width:200px}}"]})}return l})();var yi=(()=>{class l{emptyStateIcon=ro.EMPTY_LIST;constructor(){}ngOnInit(){}static \u0275fac=function(e){return new(e||l)};static \u0275cmp=Tt({type:l,selectors:[["empty-state-table"]],standalone:!0,features:[wt],decls:7,vars:1,consts:[[1,"text-center","my-8"],[2,"width","100px",3,"src"],[1,"fw-normal","mt-6","opacity-25"],[1,"mt-6","opacity-25"]],template:function(e,s){e&1&&(D(0,"div",0)(1,"div"),mt(2,"img",1),k(),D(3,"h4",2),A(4," No Data Available "),k(),D(5,"small",3),A(6," Your data will be shown here once it's available "),k()()),e&2&&(O(2),B("src",s.emptyStateIcon,Xn))},dependencies:[Et]})}return l})();var Bl=l=>({"table-border-bottom-0":l}),um=()=>["/menu/Debt/Debt/Accounts_Receiveable/Accounts_Receiveable_Detail"],Rl=l=>({ID:l}),mm=()=>["/menu/Debt/Debt/Accounts_Payable/Accounts_Payable_Detail"];function gm(l,i){if(l&1&&(D(0,"tr",28)(1,"td",23)(2,"a",29),A(3),k()(),D(4,"td",30),A(5),F(6,"number"),k(),D(7,"td",31),A(8),F(9,"number"),k()()),l&2){let t=i.$implicit,e=i.index,s=X(2);B("ngClass",pt(12,Bl,(s.debtData==null||s.debtData.TopReceivable==null?null:s.debtData.TopReceivable.length)==e+1)),O(2),B("routerLink",bt(14,um))("queryParams",pt(15,Rl,t==null?null:t.ID)),O(),Mt(" ",t==null?null:t.Name," "),O(2),ot(U(6,6,t==null?null:t.Credit,"1.0-0")),O(3),ot(U(9,9,t==null?null:t.Limit,"1.0-0"))}}function xm(l,i){if(l&1&&(dt(0),J(1,gm,10,17,"tr",27),ft()),l&2){let t=X();O(),B("ngForOf",t.debtData==null?null:t.debtData.TopReceivable)}}function ym(l,i){l&1&&Rt(0)}function bm(l,i){if(l&1&&J(0,ym,1,0,"ng-container",32),l&2){X();let t=at(79);B("ngTemplateOutlet",t)}}function vm(l,i){if(l&1&&(D(0,"tr",28)(1,"td",23)(2,"a",29),A(3),k()(),D(4,"td",30),A(5),F(6,"number"),k(),D(7,"td",31),A(8),F(9,"number"),k()()),l&2){let t=i.$implicit,e=i.index,s=X(2);B("ngClass",pt(12,Bl,(s.debtData==null||s.debtData.TopPayable==null?null:s.debtData.TopPayable.length)==e+1)),O(2),B("routerLink",bt(14,mm))("queryParams",pt(15,Rl,t==null?null:t.ID)),O(),Mt(" ",t==null?null:t.Name," "),O(2),ot(U(6,6,t==null?null:t.Credit,"1.0-0")),O(3),ot(U(9,9,t==null?null:t.Limit,"1.0-0"))}}function Sm(l,i){if(l&1&&(dt(0),J(1,vm,10,17,"tr",27),ft()),l&2){let t=X();O(),B("ngForOf",t.debtData==null?null:t.debtData.TopPayable)}}function Cm(l,i){l&1&&Rt(0)}function Tm(l,i){if(l&1&&J(0,Cm,1,0,"ng-container",32),l&2){X();let t=at(79);B("ngTemplateOutlet",t)}}function Mm(l,i){l&1&&(D(0,"tr",33)(1,"td",34),mt(2,"empty-state-table"),k()())}var Wl=(()=>{class l{debtData;dashboardConfig;constructor(){}ngOnInit(){}static \u0275fac=function(e){return new(e||l)};static \u0275cmp=Tt({type:l,selectors:[["app-debt-widget"]],inputs:{debtData:"debtData",dashboardConfig:"dashboardConfig"},standalone:!0,features:[wt],decls:80,vars:26,consts:[["EMPTY_RECEIVABLE",""],["EMPTY_PAYABLE",""],["EMPTY_STATE",""],[1,"row","mt-12"],[1,"col-md-6","col-xs-12","col-sm-12"],[1,"card","mb-0"],[1,"card-body","py-10"],[1,"row","d-flex","align-items-center"],[1,"col-6","text-center","py-3","border-end"],[1,"fw-normal",2,"font-size","28px"],["routerLink","/menu/Debt/Debt/Accounts_Receiveable","target","_blank",1,"link-dark"],[1,"fs-5"],[1,"col-6","text-center","py-3"],[1,"mt-6","d-md-none"],[1,"col-md-6","col-xs-12","col-sm-12","mt-xs-12"],[1,"col-6","text-center","py-2","border-end"],["routerLink","/menu/Debt/Debt/Accounts_Payable","target","_blank",1,"link-dark"],[1,"col-6","text-center","py-2"],[1,"fw-normal","ps-2",2,"padding-bottom","12px"],[1,"card"],[1,"card-body","p-0"],[1,"table-responsive"],[1,"table"],[1,"ps-8"],[1,"text-end",2,"width","120px"],[1,"text-end","pe-8",2,"width","150px"],[4,"ngIf","ngIfElse"],[3,"ngClass",4,"ngFor","ngForOf"],[3,"ngClass"],["target","_blank",3,"routerLink","queryParams"],[1,"text-end"],[1,"text-end","pe-8"],[4,"ngTemplateOutlet"],[1,"table-border-bottom-0"],["colspan","3"]],template:function(e,s){if(e&1&&(D(0,"div",3)(1,"div",4)(2,"div",5)(3,"div",6)(4,"div",7)(5,"div",8)(6,"div")(7,"div",9)(8,"a",10),A(9),F(10,"number"),k()(),D(11,"div",11),A(12,"Receivable"),k()()(),D(13,"div",12)(14,"div",9)(15,"a",10),A(16),F(17,"number"),k()(),D(18,"div",11),A(19,"Number Of Transaction"),k()()()()()(),mt(20,"div",13),D(21,"div",14)(22,"div",5)(23,"div",6)(24,"div",7)(25,"div",15)(26,"div",9)(27,"a",16),A(28),F(29,"number"),k()(),D(30,"div",11),A(31,"Payable"),k()(),D(32,"div",17)(33,"div",9)(34,"a",16),A(35),F(36,"number"),k()(),D(37,"div",11),A(38,"Number Of Transaction"),k()()()()()()(),D(39,"div",3)(40,"div",14)(41,"h4",18),A(42,"Top 5 Debt Receivable"),k(),D(43,"div",19)(44,"div",20)(45,"div",21)(46,"table",22)(47,"thead")(48,"tr")(49,"th",23),A(50,"Customer Name"),k(),D(51,"th",24),A(52,"Debt"),k(),D(53,"th",25),A(54,"Limit"),k()()(),D(55,"tbody"),J(56,xm,2,1,"ng-container",26)(57,bm,1,1,"ng-template",null,0,gt),k()()()()()(),D(59,"div",14)(60,"h4",18),A(61,"Top 5 Debt Payable"),k(),D(62,"div",19)(63,"div",20)(64,"div",21)(65,"table",22)(66,"thead")(67,"tr")(68,"th",23),A(69,"Supplier Name"),k(),D(70,"th",24),A(71,"Debt"),k(),D(72,"th",25),A(73,"Limit"),k()()(),D(74,"tbody"),J(75,Sm,2,1,"ng-container",26)(76,Tm,1,1,"ng-template",null,1,gt),k()()()()()()(),J(78,Mm,3,0,"ng-template",null,2,gt)),e&2){let r=at(58),n=at(77);O(9),Ft(" ",s.dashboardConfig==null?null:s.dashboardConfig.CurrencySymbol," ",U(10,14,s.debtData==null?null:s.debtData.Receivable,"1.0-0")," "),O(7),Mt(" ",U(17,17,s.debtData==null?null:s.debtData.ReceivableQuantity,"1.0-0")," "),O(12),Ft(" ",s.dashboardConfig==null?null:s.dashboardConfig.CurrencySymbol," ",U(29,20,s.debtData==null?null:s.debtData.Payable,"1.0-0")," "),O(7),Mt(" ",U(36,23,s.debtData==null?null:s.debtData.PayableQuantity,"1.0-0")," "),O(20),re("height",(s.debtData==null||s.debtData.TopReceivable==null?null:s.debtData.TopReceivable.length)==0?"15.5rem":null),O(),B("ngIf",(s.debtData==null||s.debtData.TopReceivable==null?null:s.debtData.TopReceivable.length)>0)("ngIfElse",r),O(18),re("height",(s.debtData==null||s.debtData.TopPayable==null?null:s.debtData.TopPayable.length)==0?"15.5rem":null),O(),B("ngIf",(s.debtData==null||s.debtData.TopPayable==null?null:s.debtData.TopPayable.length)>0)("ngIfElse",n)}},dependencies:[Et,Ht,ue,Wt,me,Xt,te,Jt,yi],styles:["table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]{border-top:0px!important;border-left:0px!important;border-right:0px!important}tbody[_ngcontent-%COMP%] tr.table-border-bottom-0[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{border-bottom:0px!important}"]})}return l})();var Nl=l=>({"table-border-bottom-0":l}),wm=l=>({ProductID:l});function Dm(l,i){if(l&1&&(D(0,"tr",15)(1,"td",10),A(2),k(),D(3,"td",16)(4,"a",17),A(5),F(6,"number"),k()(),D(7,"td",18),A(8),F(9,"number"),k()()),l&2){let t=i.$implicit,e=i.index,s=X(2);B("ngClass",pt(11,Nl,(s.productData==null||s.productData.TopProduct==null?null:s.productData.TopProduct.length)==e+1)),O(2),ot(t==null?null:t.Name),O(2),B("queryParams",pt(13,wm,t.ID)),O(),Mt(" ",U(6,5,t==null?null:t.Quantity,"1.0-0")," "),O(3),ot(U(9,8,t==null?null:t.Total,"1.0-0"))}}function km(l,i){if(l&1&&(dt(0),J(1,Dm,10,15,"tr",14),ft()),l&2){let t=X();O(),B("ngForOf",t.productData==null?null:t.productData.TopProduct)}}function Pm(l,i){l&1&&Rt(0)}function Om(l,i){if(l&1&&J(0,Pm,1,0,"ng-container",19),l&2){X();let t=at(40);B("ngTemplateOutlet",t)}}function Am(l,i){if(l&1&&(D(0,"tr",15)(1,"td",10),A(2),k(),D(3,"td",16),A(4),F(5,"number"),k(),D(6,"td",18),A(7),F(8,"number"),k()()),l&2){let t=i.$implicit,e=i.index,s=X(2);B("ngClass",pt(10,Nl,(s.productData==null||s.productData.TopBrand==null?null:s.productData.TopBrand.length)==e+1)),O(2),ot(t==null?null:t.Name),O(2),ot(U(5,4,t==null?null:t.Quantity,"1.0-0")),O(3),ot(U(8,7,t==null?null:t.Total,"1.0-0"))}}function Em(l,i){if(l&1&&(dt(0),J(1,Am,9,12,"tr",14),ft()),l&2){let t=X();O(),B("ngForOf",t.productData==null?null:t.productData.TopBrand)}}function Lm(l,i){l&1&&Rt(0)}function Im(l,i){if(l&1&&J(0,Lm,1,0,"ng-container",19),l&2){X();let t=at(40);B("ngTemplateOutlet",t)}}function _m(l,i){l&1&&(D(0,"tr",20)(1,"td",21),mt(2,"empty-state-table"),k()())}var Fl=(()=>{class l{productData;dashboardConfig;constructor(){}ngOnInit(){}static \u0275fac=function(e){return new(e||l)};static \u0275cmp=Tt({type:l,selectors:[["app-product-widget"]],inputs:{productData:"productData",dashboardConfig:"dashboardConfig"},standalone:!0,features:[wt],decls:41,vars:8,consts:[["EMPTY_TOPPRODUCT",""],["EMPTY_TOPBRAND",""],["EMPTY_STATE",""],[1,"row","mt-12"],[1,"col-md-6","col-xs-12","col-sm-12"],[1,"fw-normal","ps-2",2,"padding-bottom","12px"],[1,"card"],[1,"card-body","p-0"],[1,"table-responsive"],[1,"table"],[1,"ps-8"],[1,"text-end",2,"width","100px"],[1,"text-end","pe-8",2,"width","150px"],[4,"ngIf","ngIfElse"],[3,"ngClass",4,"ngFor","ngForOf"],[3,"ngClass"],[1,"text-end"],["routerLink","/menu/Reports/Sales_Report/Standard/Products_Sold/Invoice_Items","target","_blank",3,"queryParams"],[1,"text-end","pe-8"],[4,"ngTemplateOutlet"],[1,"table-border-bottom-0"],["colspan","3"]],template:function(e,s){if(e&1&&(D(0,"div",3)(1,"div",4)(2,"h4",5),A(3,"Top 5 Product Sold"),k(),D(4,"div",6)(5,"div",7)(6,"div",8)(7,"table",9)(8,"thead")(9,"tr")(10,"th",10),A(11,"Product Name"),k(),D(12,"th",11),A(13,"Sold"),k(),D(14,"th",12),A(15,"Total"),k()()(),D(16,"tbody"),J(17,km,2,1,"ng-container",13)(18,Om,1,1,"ng-template",null,0,gt),k()()()()()(),D(20,"div",4)(21,"h4",5),A(22,"Top 5 Brand Sold"),k(),D(23,"div",6)(24,"div",7)(25,"div",8)(26,"table",9)(27,"thead")(28,"tr")(29,"th",10),A(30,"Brand Name"),k(),D(31,"th",11),A(32,"Sold"),k(),D(33,"th",12),A(34,"Total"),k()()(),D(35,"tbody"),J(36,Em,2,1,"ng-container",13)(37,Im,1,1,"ng-template",null,1,gt),k()()()()()()(),J(39,_m,3,0,"ng-template",null,2,gt)),e&2){let r=at(19),n=at(38);O(16),re("height",(s.productData==null||s.productData.TopProduct==null?null:s.productData.TopProduct.length)==0?"15.6rem":null),O(),B("ngIf",(s.productData==null||s.productData.TopProduct==null?null:s.productData.TopProduct.length)>0)("ngIfElse",r),O(18),re("height",(s.productData==null||s.productData.TopBrand==null?null:s.productData.TopBrand.length)==0?"15.6rem":null),O(),B("ngIf",(s.productData==null||s.productData.TopBrand==null?null:s.productData.TopBrand.length)>0)("ngIfElse",n)}},dependencies:[Et,Ht,ue,Wt,me,Xt,te,Jt,yi],styles:["table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]{border-top:0px!important;border-left:0px!important;border-right:0px!important}tbody[_ngcontent-%COMP%] tr.table-border-bottom-0[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{border-bottom:0px!important}"]})}return l})();var zl=()=>({StateID:2}),Hl=l=>({"table-border-bottom-0":l}),Bm=()=>({$implicit:4}),Rm=l=>({"text-danger":l}),Wm=()=>({$implicit:5});function Nm(l,i){if(l&1&&(D(0,"tr",30)(1,"td",23),A(2),F(3,"date"),k(),D(4,"td"),A(5),k(),D(6,"td",31),A(7),F(8,"number"),k(),D(9,"td",32),A(10),F(11,"number"),k()()),l&2){let t=i.$implicit,e=i.index,s=X(2);B("ngClass",pt(14,Hl,(s.inventoryData==null||s.inventoryData.TransferOrder==null||s.inventoryData.TransferOrder.TopDispatched==null?null:s.inventoryData.TransferOrder.TopDispatched.length)==e+1)),O(2),ot(U(3,5,t==null?null:t.Date,"dd MMM yyyy")),O(3),ot(t==null?null:t.Number),O(2),ot(U(8,8,t==null?null:t.Quantity,"1.0-0")),O(3),ot(U(11,11,t==null?null:t.Price,"1.0-0"))}}function Fm(l,i){if(l&1&&(dt(0),J(1,Nm,12,16,"tr",29),ft()),l&2){let t=X();O(),B("ngForOf",t.inventoryData==null||t.inventoryData.TransferOrder==null?null:t.inventoryData.TransferOrder.TopDispatched)}}function zm(l,i){l&1&&Rt(0)}function Hm(l,i){if(l&1&&J(0,zm,1,0,"ng-container",33),l&2){X();let t=at(85);B("ngTemplateOutlet",t)("ngTemplateOutletContext",bt(2,Bm))}}function Xm(l,i){if(l&1&&(D(0,"tr",30)(1,"td",23),A(2),k(),D(3,"td"),A(4),k(),D(5,"td",31),A(6),F(7,"number"),k(),D(8,"td",31),A(9),F(10,"number"),k(),D(11,"td",32)(12,"span",30),A(13),F(14,"number"),k()()()),l&2){let t=i.$implicit,e=i.index,s=X(2);B("ngClass",pt(16,Hl,(s.inventoryData==null||s.inventoryData.Inventory==null||s.inventoryData.Inventory.TopROP==null?null:s.inventoryData.Inventory.TopROP.length)==e+1)),O(2),ot(t==null?null:t.Outlet),O(2),ot(t==null?null:t.Product),O(2),ot(U(7,7,t==null?null:t.Inventory,"1.0-0")),O(3),ot(U(10,10,t==null?null:t.ROP,"1.0-0")),O(3),B("ngClass",pt(18,Rm,(t==null?null:t.Different)<0)),O(),Mt(" ",U(14,13,t==null?null:t.Different,"1.0-0")," ")}}function Ym(l,i){if(l&1&&(dt(0),J(1,Xm,15,20,"tr",29),ft()),l&2){let t=X();O(),B("ngForOf",t.inventoryData==null||t.inventoryData.Inventory==null?null:t.inventoryData.Inventory.TopROP)}}function Gm(l,i){l&1&&Rt(0)}function Vm(l,i){if(l&1&&J(0,Gm,1,0,"ng-container",33),l&2){X();let t=at(85);B("ngTemplateOutlet",t)("ngTemplateOutletContext",bt(2,Wm))}}function jm(l,i){if(l&1&&(D(0,"tr",34)(1,"td",35),mt(2,"empty-state-table"),k()()),l&2){let t=i.$implicit;O(),B("colSpan",t)}}var Xl=(()=>{class l{inventoryData;dashboardConfig;constructor(){}ngOnInit(){}static \u0275fac=function(e){return new(e||l)};static \u0275cmp=Tt({type:l,selectors:[["app-inventory-widget"]],inputs:{inventoryData:"inventoryData",dashboardConfig:"dashboardConfig"},standalone:!0,features:[wt],decls:86,vars:28,consts:[["EMPTY_TOPDISPATCHED",""],["EMPTY_TOPROP",""],["EMPTY_STATE",""],[1,"row","mt-12"],[1,"col-md-6","col-xs-12","col-sm-12"],[1,"card","mb-0"],[1,"card-body","py-10"],[1,"row","d-flex","align-items-center"],[1,"col-6","text-center","py-3","border-end"],[1,"fw-normal",2,"font-size","28px"],["routerLink","/menu/Logistics/Archive/Transfer_Order","target","_blank",1,"link-dark",3,"queryParams"],[1,"fs-5"],[1,"col-6","text-center","py-3"],[1,"mt-6","d-md-none"],[1,"col-md-6","col-xs-12","col-sm-12","mt-xs-12"],[1,"col-6","text-center","py-2","border-end"],["routerLink","/menu/Inventory/Quantity/Low_On_Stock","target","_blank",1,"link-dark"],[1,"col-6","text-center","py-2"],[1,"fw-normal","ps-2",2,"padding-bottom","12px"],[1,"card"],[1,"card-body","p-0"],[1,"table-responsive"],[1,"table"],[1,"ps-8"],[2,"width","200px"],[1,"text-end",2,"width","70px"],[1,"text-end","pe-8",2,"width","140px"],[4,"ngIf","ngIfElse"],[1,"text-end","pe-8",2,"width","70px"],[3,"ngClass",4,"ngFor","ngForOf"],[3,"ngClass"],[1,"text-end"],[1,"text-end","pe-8"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[1,"table-border-bottom-0"],[3,"colSpan"]],template:function(e,s){if(e&1&&(D(0,"div",3)(1,"div",4)(2,"div",5)(3,"div",6)(4,"div",7)(5,"div",8)(6,"div")(7,"div",9)(8,"a",10),A(9),F(10,"number"),k()(),D(11,"div",11),A(12,"Dispatched Transfer Order"),k()()(),D(13,"div",12)(14,"div",9)(15,"a",10),A(16),F(17,"number"),k()(),D(18,"div",11),A(19,"Total Quantity"),k()()()()()(),mt(20,"div",13),D(21,"div",14)(22,"div",5)(23,"div",6)(24,"div",7)(25,"div",15)(26,"div",9)(27,"a",16),A(28),F(29,"number"),k()(),D(30,"div",11),A(31,"Inventory ROP"),k()(),D(32,"div",17)(33,"div",9)(34,"a",16),A(35),F(36,"number"),k()(),D(37,"div",11),A(38,"Inventory Max"),k()()()()()()(),D(39,"div",3)(40,"div",4)(41,"h4",18),A(42,"Top 5 Dispatched Transfer Order"),k(),D(43,"div",19)(44,"div",20)(45,"div",21)(46,"table",22)(47,"thead")(48,"tr")(49,"th",23),A(50,"Date"),k(),D(51,"th",24),A(52,"Number"),k(),D(53,"th",25),A(54,"Qty"),k(),D(55,"th",26),A(56,"Price"),k()()(),D(57,"tbody"),J(58,Fm,2,1,"ng-container",27)(59,Hm,1,3,"ng-template",null,0,gt),k()()()()()(),D(61,"div",4)(62,"h4",18),A(63,"Top 5 Inventory ROP"),k(),D(64,"div",19)(65,"div",20)(66,"div",21)(67,"table",22)(68,"thead")(69,"tr")(70,"th",23),A(71,"Outlet"),k(),D(72,"th"),A(73,"Product"),k(),D(74,"th",25),A(75,"INV"),k(),D(76,"th",25),A(77,"ROP"),k(),D(78,"th",28),A(79,"DIFF"),k()()(),D(80,"tbody"),J(81,Ym,2,1,"ng-container",27)(82,Vm,1,3,"ng-template",null,1,gt),k()()()()()(),J(84,jm,3,1,"ng-template",null,2,gt),k()),e&2){let r=at(60),n=at(83);O(8),B("queryParams",bt(26,zl)),O(),Mt(" ",U(10,14,s.inventoryData==null||s.inventoryData.TransferOrder==null?null:s.inventoryData.TransferOrder.Total,"1.0-0")," "),O(6),B("queryParams",bt(27,zl)),O(),Mt(" ",U(17,17,s.inventoryData==null||s.inventoryData.TransferOrder==null?null:s.inventoryData.TransferOrder.TotalQuantity,"1.0-0")," "),O(12),Mt(" ",U(29,20,s.inventoryData==null||s.inventoryData.Inventory==null?null:s.inventoryData.Inventory.ProductReorderCount,"1.0-0")," "),O(7),Mt(" ",U(36,23,s.inventoryData==null||s.inventoryData.Inventory==null?null:s.inventoryData.Inventory.ProductOverStock,"1.0-0")," "),O(22),re("height",(s.inventoryData==null||s.inventoryData.TransferOrder==null||s.inventoryData.TransferOrder.TopDispatched==null?null:s.inventoryData.TransferOrder.TopDispatched.length)==0?"15.5rem":null),O(),B("ngIf",(s.inventoryData==null||s.inventoryData.TransferOrder==null||s.inventoryData.TransferOrder.TopDispatched==null?null:s.inventoryData.TransferOrder.TopDispatched.length)>0)("ngIfElse",r),O(22),re("height",(s.inventoryData==null||s.inventoryData.Inventory==null||s.inventoryData.Inventory.TopROP==null?null:s.inventoryData.Inventory.TopROP.length)==0?"15.5rem":null),O(),B("ngIf",(s.inventoryData==null||s.inventoryData.Inventory==null||s.inventoryData.Inventory.TopROP==null?null:s.inventoryData.Inventory.TopROP.length)>0)("ngIfElse",n)}},dependencies:[Et,Ht,ue,Wt,me,Xt,qe,te,Jt,yi],styles:[".link-dark[_ngcontent-%COMP%]{color:#333!important}table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]{border-top:0px!important;border-left:0px!important;border-right:0px!important}tbody[_ngcontent-%COMP%] tr.table-border-bottom-0[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{border-bottom:0px!important}"]})}return l})();var Um=()=>({role:"Buy Report Role"}),$m=()=>({role:"Debt View Role"}),qm=()=>({role:"Report View Role"}),Km=()=>({role:"Inventory View Role"});function Zm(l,i){if(l&1){let t=Pe();D(0,"div",12)(1,"h6"),A(2,"Outlet"),k(),D(3,"outlet-selector",13),$s("ngModelChange",function(s){fe(t);let r=X();return Us(r.dashboardFilter.Outlets,s)||(r.dashboardFilter.Outlets=s),pe(s)}),k()()}if(l&2){let t=X();O(3),B("multiple",!0),js("ngModel",t.dashboardFilter.Outlets)}}function Qm(l,i){if(l&1){let t=Pe();dt(0),D(1,"div",18),Ue("click",function(){let s=fe(t).$implicit,r=X(2);return pe(r.onClickCardWidget(s))}),mt(2,"app-card-widget",19),F(3,"number"),k(),ft()}if(l&2){let t=i.$implicit,e=X().ngIf,s=X();O(2),B("title",t.title)("matTooltip",t.tooltip)("content",(e==null||e.ConfigData==null?null:e.ConfigData.CurrencySymbol)+" "+(t.value==null?"-":U(3,5,t.value,"1.0-0")))("showValue",t.showValue)("isActive",t.id==s.activeTab)}}function Jm(l,i){if(l&1){let t=Pe();dt(0),D(1,"app-sales-widget",20),Ue("onFilter",function(s){fe(t);let r=X(2);return pe(r.onFilterSalesWidget(s))}),k(),ft()}if(l&2){let t=X().ngIf;O(),B("dashboardConfig",t==null?null:t.ConfigData)("chartData",t==null?null:t.HighChartData)}}function tg(l,i){l&1&&Rt(0)}function eg(l,i){if(l&1&&(mt(0,"app-purchase-widget",22),F(1,"async")),l&2){let t,e=X(2).ngIf,s=X();B("dashboardConfig",e==null?null:e.ConfigData)("chartData",(t=Dt(1,2,s.purchaseData$))==null?null:t.HighChartData)}}function ig(l,i){if(l&1&&(dt(0),J(1,tg,1,0,"ng-container",21)(2,eg,2,4,"ng-template",null,2,gt),ft()),l&2){let t=at(3),e=X(2),s=at(12);O(),B("ngTemplateOutlet",e.role.buy.Report?t:s)("ngTemplateOutletContext",bt(2,Um))}}function sg(l,i){l&1&&Rt(0)}function rg(l,i){if(l&1&&(mt(0,"app-debt-widget",23),F(1,"async")),l&2){let t,e=X(2).ngIf,s=X();B("dashboardConfig",e==null?null:e.ConfigData)("debtData",(t=Dt(1,2,s.debtData$))==null?null:t.PageData)}}function ng(l,i){if(l&1&&(dt(0),J(1,sg,1,0,"ng-container",21)(2,rg,2,4,"ng-template",null,3,gt),ft()),l&2){let t=at(3),e=X(2),s=at(12);O(),B("ngTemplateOutlet",e.role.debt.View?t:s)("ngTemplateOutletContext",bt(2,$m))}}function og(l,i){l&1&&Rt(0)}function ag(l,i){if(l&1&&(mt(0,"app-product-widget",24),F(1,"async")),l&2){let t,e=X(2).ngIf,s=X();B("dashboardConfig",e==null?null:e.ConfigData)("productData",(t=Dt(1,2,s.productData$))==null?null:t.PageData)}}function lg(l,i){if(l&1&&(dt(0),J(1,og,1,0,"ng-container",21)(2,ag,2,4,"ng-template",null,4,gt),ft()),l&2){let t=at(3),e=X(2),s=at(12);O(),B("ngTemplateOutlet",e.role.report.View?t:s)("ngTemplateOutletContext",bt(2,qm))}}function hg(l,i){l&1&&Rt(0)}function cg(l,i){if(l&1&&(mt(0,"app-inventory-widget",25),F(1,"async")),l&2){let t,e=X(2).ngIf,s=X();B("dashboardConfig",e==null?null:e.ConfigData)("inventoryData",(t=Dt(1,2,s.inventoryData$))==null?null:t.PageData)}}function dg(l,i){if(l&1&&(dt(0),J(1,hg,1,0,"ng-container",21)(2,cg,2,4,"ng-template",null,5,gt),ft()),l&2){let t=at(3),e=X(2),s=at(12);O(),B("ngTemplateOutlet",e.role.inventory.View?t:s)("ngTemplateOutletContext",bt(2,Km))}}function fg(l,i){if(l&1&&(dt(0),D(1,"div",14)(2,"div",15)(3,"div",16),J(4,Qm,4,8,"ng-container",17),F(5,"async"),k(),J(6,Jm,2,2,"ng-container",11)(7,ig,4,3,"ng-container",11)(8,ng,4,3,"ng-container",11)(9,lg,4,3,"ng-container",11)(10,dg,4,3,"ng-container",11),k()(),ft()),l&2){let t=X();O(4),B("ngForOf",Dt(5,6,t.cardWidget$)),O(2),B("ngIf",t.activeTab=="SALES"),O(),B("ngIf",t.activeTab=="PURCHASE"),O(),B("ngIf",t.activeTab=="DEBT"),O(),B("ngIf",t.activeTab=="PRODUCT"),O(),B("ngIf",t.activeTab=="INVENTORY")}}function pg(l,i){if(l&1&&(D(0,"div",26)(1,"div",27)(2,"div"),mt(3,"img",28),k(),D(4,"h1",29),A(5,"You are not authorized"),k(),D(6,"p"),A(7," This page requires role "),D(8,"span",30),A(9),k(),A(10," to be accessed. Please contact your Administrator to gain access! "),k()()()),l&2){let t=i.role;O(9),Mt("[",t,"]")}}var Vv=(()=>{class l extends Zn{dashboardService;role;cardWidget$;filterPeriodOptions=[{Label:"Today",Value:0},{Label:"Week",Value:1},{Label:"Month",Value:2}];dashboardFilter={Outlets:[]};salesData$;purchaseData$;debtData$;productData$;inventoryData$;activeTab="SALES";constructor(t,e,s){super(t),this.dashboardService=e,this.role=s,this.menuData$.subscribe(),this.initSalesData(),this.initCardWidget(),this.initPurchaseData(),this.initInventoryData(),this.initDebtData(),this.initProductData()}initSalesData(){this.salesData$=this.dashboardService.getDashboardSales(this.dashboardFilter).pipe(Ve(1))}initPurchaseData(){this.purchaseData$=this.dashboardService.getDashboardPurchase(this.dashboardFilter).pipe(Ve(1))}initDebtData(){this.debtData$=this.dashboardService.getDashboardDebt(this.dashboardFilter).pipe(Ve(1))}initProductData(){this.productData$=this.dashboardService.getDashboardProduct(this.dashboardFilter).pipe(Ve(1))}initInventoryData(){this.inventoryData$=this.dashboardService.getDashboardInventory(this.dashboardFilter).pipe(Ve(1))}initCardWidget(){switch(this.activeTab){case"SALES":this.cardWidget$=this.salesData$.pipe(de(t=>this.dashboardService.getTotalData("Sales",t.HighChartData.Series,1)),ji(0),bi(t=>this.dashboardService.setWidgetData(t,this.activeTab)));break;case"PURCHASE":this.cardWidget$=this.purchaseData$.pipe(de(t=>this.dashboardService.getTotalData("Purchase",t.HighChartData.Series,1)),ji(0),bi(t=>this.dashboardService.setWidgetData(t,this.activeTab)));break;case"DEBT":this.cardWidget$=this.debtData$.pipe(de(t=>t.PageData.Receivable),ji(0),bi(t=>this.dashboardService.setWidgetData(t,this.activeTab)));break}}onFilterByOutlet(){switch(this.activeTab){case"SALES":this.initSalesData(),this.initCardWidget();break;case"PURCHASE":this.initPurchaseData(),this.initCardWidget();break;case"DEBT":this.initDebtData(),this.initCardWidget();break;case"PRODUCT":this.initProductData();break;case"INVENTORY":this.initInventoryData();break}}onClickCardWidget(t){this.activeTab=t.id,this.initCardWidget()}onFilterSalesWidget(t){this.cardWidget$=this.salesData$.pipe(de(e=>t.period=="WEEKLY"?this.dashboardService.getTotalData("Sales",e.HighChartData.Series,7):this.dashboardService.getTotalData("Sales",e.HighChartData.Series,1)),bi(e=>(this.dashboardService.setWidgetData(e,"SALES"),this.dashboardService.widgets$)),de(e=>e.map(s=>(s.id=="SALES"&&(s.tooltip=t.period=="TODAY"?"Total Sales Today":"Total Sales last 7 days"),s))))}static \u0275fac=function(e){return new(e||l)(se(Jn),se(Ut),se(qi))};static \u0275cmp=Tt({type:l,selectors:[["POS-dashboard-v2"]],standalone:!0,features:[$e([Ut]),Yn,wt],decls:13,vars:7,consts:[["pageFilterTemplate",""],["NOT_AUTHORIZED",""],["BUY",""],["DEBT",""],["PRODUCT",""],["INVENTORY",""],[3,"onSubmit","filterChange","hideSearchBox","pageData","isFilterOnDropdown","filter"],[1,"content"],[1,"container-fluid","bg-light-gray","p-8"],[1,"row"],[1,"col-12"],[4,"ngIf"],[1,"dialog-filter"],["appendTo","body","placeholder","Select Outlets",3,"ngModelChange","multiple","ngModel"],[1,"card","mb-0"],[1,"card-body"],[1,"d-flex","flex-row","flex-nowrap","justify-content-between","align-items-center","overflow-auto"],[4,"ngFor","ngForOf"],[1,"cursor-pointer","card-widget-tab",3,"click"],["matTooltipPosition","above",3,"title","matTooltip","content","showValue","isActive"],[3,"onFilter","dashboardConfig","chartData"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[3,"dashboardConfig","chartData"],[3,"dashboardConfig","debtData"],[3,"dashboardConfig","productData"],[3,"dashboardConfig","inventoryData"],[1,"d-flex","align-items-center","justify-content-center","mt-8",2,"height","350px"],[1,"text-center"],["src","https://res.cloudinary.com/pos/image/upload/v1702547639/POS/Images/Dashboard/locked.svg",2,"width","160px"],[1,"mt-2","mb-6"],[1,"fw-bold"]],template:function(e,s){if(e&1){let r=Pe();D(0,"mainpanel-cmp",6),Ue("onSubmit",function(){return fe(r),pe(s.onFilterByOutlet())}),$s("filterChange",function(o){return fe(r),Us(s.dashboardFilter,o)||(s.dashboardFilter=o),pe(o)}),D(1,"filters"),J(2,Zm,4,2,"ng-template",null,0,gt),k(),D(4,"content")(5,"div",7)(6,"div",8)(7,"div",9)(8,"div",10),J(9,fg,11,8,"ng-container",11),F(10,"async"),k()()()()()(),J(11,pg,11,1,"ng-template",null,1,gt)}e&2&&(B("hideSearchBox",!0)("pageData",s.menuData)("isFilterOnDropdown",!1),js("filter",s.dashboardFilter),O(9),B("ngIf",Dt(10,5,s.salesData$)))},dependencies:[Et,ue,Wt,me,Gn,Xt,io,eo,Un,Vn,jn,Qn,El,Il,_l,Wl,Fl,Xl,so,Kn,qn],styles:[".card-widget-tab[_ngcontent-%COMP%]{width:19%}@media only screen and (max-width: 767px){.card-widget-tab[_ngcontent-%COMP%]{margin-right:1rem;margin-top:.5rem;width:auto}}@media only screen and (min-width: 768px) and (max-width: 991px){.card-widget-tab[_ngcontent-%COMP%]{margin-right:1rem;margin-top:.5rem;width:auto}}"]})}return l})();export{Vv as DashboardV2Component};
|