{let a=!1,s=this.pressedKeys.size,n=r=>this.pressedKeys.has(r);for(let[r]of this.hotKeys){if(a)break;if(Array.isArray(r[0]))r.forEach(h=>{a||s!==h.length||(a=h.every(n)&&r)});else{if(s!==r.length)continue;a=r.every(n)&&r}}return a}),ne(this,"isArrow",a=>a>=37&&a<=40),ne(this,"onKeyDown",a=>{let{key:s,which:n}=a,{dp:r,dp:{focusDate:h},opts:p}=this;this.registerKey(s);let g=this.isHotKeyPressed();if(g)return a.preventDefault(),void this.handleHotKey(g);if(this.isArrow(n))return a.preventDefault(),void this.focusNextCell(s);if(s==="Enter"){if(r.currentView!==p.minView)return void r.down();if(h){let m=r._checkIfDateIsSelected(h);return void(m?r._handleAlreadySelectedDates(m,h):r.selectDate(h))}}s==="Escape"&&this.dp.hide()}),ne(this,"onKeyUp",a=>{this.removeKey(a.key)}),this.dp=i,this.opts=t,this.init()}init(){this.bindKeyboardEvents()}bindKeyboardEvents(){let{$el:e}=this.dp;e.addEventListener("keydown",this.onKeyDown),e.addEventListener("keyup",this.onKeyUp)}destroy(){let{$el:e}=this.dp;e.removeEventListener("keydown",this.onKeyDown),e.removeEventListener("keyup",this.onKeyUp),this.hotKeys=null,this.pressedKeys=null}getInitialFocusDate(){let{focusDate:e,currentView:i,selectedDates:t,parsedViewDate:{year:a,month:s}}=this.dp,n=e||t[t.length-1];if(!n)switch(i){case o.days:n=new Date(a,s,new Date().getDate());break;case o.months:n=new Date(a,s,1);break;case o.years:n=new Date(a,0,1)}return n}focusNextCell(e){let i=this.getInitialFocusDate(),{currentView:t}=this.dp,{days:a,months:s,years:n}=o,r=D(i),h=r.year,p=r.month,g=r.date;switch(e){case"ArrowLeft":t===a&&(g-=1),t===s&&(p-=1),t===n&&(h-=1);break;case"ArrowUp":t===a&&(g-=7),t===s&&(p-=3),t===n&&(h-=4);break;case"ArrowRight":t===a&&(g+=1),t===s&&(p+=1),t===n&&(h+=1);break;case"ArrowDown":t===a&&(g+=7),t===s&&(p+=3),t===n&&(h+=4)}let m=this.dp.getClampedDate(new Date(h,p,g));this.dp.setFocusDate(m,{viewDateTransition:!0})}registerKey(e){this.pressedKeys.add(e)}removeKey(e){this.pressedKeys.delete(e)}}let St={on(d,e){this.__events||(this.__events={}),this.__events[d]?this.__events[d].push(e):this.__events[d]=[e]},off(d,e){this.__events&&this.__events[d]&&(this.__events[d]=this.__events[d].filter(i=>i!==e))},removeAllEvents(){this.__events={}},trigger(d){for(var e=arguments.length,i=new Array(e>1?e-1:0),t=1;t {let a=!1,s=this.pressedKeys.size,n=r=>this.pressedKeys.has(r);for(let[r]of this.hotKeys){if(a)break;if(Array.isArray(r[0]))r.forEach(h=>{a||s!==h.length||(a=h.every(n)&&r)});else{if(s!==r.length)continue;a=r.every(n)&&r}}return a}),ne(this,"isArrow",a=>a>=37&&a<=40),ne(this,"onKeyDown",a=>{let{key:s,which:n}=a,{dp:r,dp:{focusDate:h},opts:p}=this;this.registerKey(s);let g=this.isHotKeyPressed();if(g)return a.preventDefault(),void this.handleHotKey(g);if(this.isArrow(n))return a.preventDefault(),void this.focusNextCell(s);if(s==="Enter"){if(r.currentView!==p.minView)return void r.down();if(h){let m=r._checkIfDateIsSelected(h);return void(m?r._handleAlreadySelectedDates(m,h):r.selectDate(h))}}s==="Escape"&&this.dp.hide()}),ne(this,"onKeyUp",a=>{this.removeKey(a.key)}),this.dp=i,this.opts=t,this.init()}init(){this.bindKeyboardEvents()}bindKeyboardEvents(){let{$el:e}=this.dp;e.addEventListener("keydown",this.onKeyDown),e.addEventListener("keyup",this.onKeyUp)}destroy(){let{$el:e}=this.dp;e.removeEventListener("keydown",this.onKeyDown),e.removeEventListener("keyup",this.onKeyUp),this.hotKeys=null,this.pressedKeys=null}getInitialFocusDate(){let{focusDate:e,currentView:i,selectedDates:t,parsedViewDate:{year:a,month:s}}=this.dp,n=e||t[t.length-1];if(!n)switch(i){case o.days:n=new Date(a,s,new Date().getDate());break;case o.months:n=new Date(a,s,1);break;case o.years:n=new Date(a,0,1)}return n}focusNextCell(e){let i=this.getInitialFocusDate(),{currentView:t}=this.dp,{days:a,months:s,years:n}=o,r=D(i),h=r.year,p=r.month,g=r.date;switch(e){case"ArrowLeft":t===a&&(g-=1),t===s&&(p-=1),t===n&&(h-=1);break;case"ArrowUp":t===a&&(g-=7),t===s&&(p-=3),t===n&&(h-=4);break;case"ArrowRight":t===a&&(g+=1),t===s&&(p+=1),t===n&&(h+=1);break;case"ArrowDown":t===a&&(g+=7),t===s&&(p+=3),t===n&&(h+=4)}let m=this.dp.getClampedDate(new Date(h,p,g));this.dp.setFocusDate(m,{viewDateTransition:!0})}registerKey(e){this.pressedKeys.add(e)}removeKey(e){this.pressedKeys.delete(e)}}let St={on(d,e){this.__events||(this.__events={}),this.__events[d]?this.__events[d].push(e):this.__events[d]=[e]},off(d,e){this.__events&&this.__events[d]&&(this.__events[d]=this.__events[d].filter(i=>i!==e))},removeAllEvents(){this.__events={}},trigger(d){for(var e=arguments.length,i=new Array(e>1?e-1:0),t=1;t =a))&&(p||!(j<=(o[m]+(o[m+1]||o[m]))/2)));m++);return Q(O*d,-Math.round(Math.log(.001)/Math.LN10))},objectEach:F,offset:function(a){let o=h.documentElement,d=a.parentElement||a.parentNode?a.getBoundingClientRect():{top:0,left:0,width:0,height:0};return{top:d.top+(v.pageYOffset||o.scrollTop)-(o.clientTop||0),left:d.left+(v.pageXOffset||o.scrollLeft)-(o.clientLeft||0),width:d.width,height:d.height}},pad:function(a,o,d){return Array((o||2)+1-String(a).replace("-","").length).join(d||"0")+a},pick:T,pInt:B,pushUnique:function(a,o){return 0>a.indexOf(o)&&!!a.push(o)},relativeLength:function(a,o,d){return/%$/.test(a)?o*parseFloat(a)/100+(d||0):parseFloat(a)},removeEvent:f,replaceNested:function(a,...o){let d,l;do for(l of(d=a,o))a=a.replace(l[0],l[1]);while(a!==d);return a},splat:P,stableSort:function(a,o){let d,l,p=a.length;for(l=0;l 0?setTimeout(a,o,d):(a.call(0,d),-1)},timeUnits:{millisecond:1,second:1e3,minute:6e4,hour:36e5,day:864e5,week:6048e5,month:24192e5,year:314496e5},uniqueKey:u,useSerialIds:function(a){return i=T(a,i)},wrap:function(a,o,d){let l=a[o];a[o]=function(){let p=arguments,m=this;return d.apply(this,[function(){return l.apply(m,arguments.length?arguments:p)}].concat([].slice.call(arguments)))}}}}),r(e,"Core/Chart/ChartDefaults.js",[],function(){return{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"}}),r(e,"Core/Color/Palettes.js",[],function(){return{colors:["#2caffe","#544fc5","#00e272","#fe6a35","#6b8abc","#d568fb","#2ee0ca","#fa4b42","#feb56a","#91e8e1"]}}),r(e,"Core/Time.js",[e["Core/Globals.js"],e["Core/Utilities.js"]],function(t,i){let{win:n}=t,{defined:h,error:v,extend:q,isNumber:B,isObject:Y,merge:_,objectEach:H,pad:E,pick:N,splat:z,timeUnits:k}=i,x=t.isSafari&&n.Intl&&n.Intl.DateTimeFormat.prototype.formatRange,P=t.isSafari&&n.Intl&&!n.Intl.DateTimeFormat.prototype.formatRange;class L{constructor(g){this.options={},this.useUTC=!1,this.variableTimezone=!1,this.Date=n.Date,this.getTimezoneOffset=this.timezoneOffsetFunction(),this.update(g)}get(g,M){if(this.variableTimezone||this.timezoneOffset){let Q=M.getTime(),W=Q-this.getTimezoneOffset(M);M.setTime(W);let F=M["getUTC"+g]();return M.setTime(Q),F}return this.useUTC?M["getUTC"+g]():M["get"+g]()}set(g,M,Q){if(this.variableTimezone||this.timezoneOffset){if(g==="Milliseconds"||g==="Seconds"||g==="Minutes"&&this.getTimezoneOffset(M)%36e5==0)return M["setUTC"+g](Q);let W=this.getTimezoneOffset(M),F=M.getTime()-W;M.setTime(F),M["setUTC"+g](Q);let f=this.getTimezoneOffset(M);return F=M.getTime()+f,M.setTime(F)}return this.useUTC||x&&g==="FullYear"?M["setUTC"+g](Q):M["set"+g](Q)}update(g={}){let M=N(g.useUTC,!0);this.options=g=_(!0,this.options,g),this.Date=g.Date||n.Date||Date,this.useUTC=M,this.timezoneOffset=M&&g.timezoneOffset||void 0,this.getTimezoneOffset=this.timezoneOffsetFunction(),this.variableTimezone=M&&!!(g.getTimezoneOffset||g.timezone)}makeTime(g,M,Q,W,F,f){let w,u,a;return this.useUTC?(w=this.Date.UTC.apply(0,arguments),u=this.getTimezoneOffset(w),w+=u,u!==(a=this.getTimezoneOffset(w))?w+=a-u:u-36e5!==this.getTimezoneOffset(w-36e5)||P||(w-=36e5)):w=new this.Date(g,M,N(Q,1),N(W,0),N(F,0),N(f,0)).getTime(),w}timezoneOffsetFunction(){let g=this,M=this.options,Q=M.getTimezoneOffset;return this.useUTC?M.timezone?W=>{try{let F=`shortOffset,${M.timezone||""}`,[f,w,u,a,o=0]=(L.formatCache[F]=L.formatCache[F]||Intl.DateTimeFormat("en",{timeZone:M.timezone,timeZoneName:"shortOffset"})).format(W).split(/(GMT|:)/).map(Number),d=-(36e5*(u+o/60));if(B(d))return d}catch{v(34)}return 0}:this.useUTC&&Q?W=>6e4*Q(W.valueOf()):()=>6e4*(g.timezoneOffset||0):W=>6e4*new Date(W.toString()).getTimezoneOffset()}dateFormat(g,M,Q){if(!h(M)||isNaN(M))return t.defaultOptions.lang&&t.defaultOptions.lang.invalidDate||"";g=N(g,"%Y-%m-%d %H:%M:%S");let W=this,F=new this.Date(M),f=this.get("Hours",F),w=this.get("Day",F),u=this.get("Date",F),a=this.get("Month",F),o=this.get("FullYear",F),d=t.defaultOptions.lang,l=d&&d.weekdays,p=d&&d.shortWeekdays;return H(q({a:p?p[w]:l[w].substr(0,3),A:l[w],d:E(u),e:E(u,2," "),w,b:d.shortMonths[a],B:d.months[a],m:E(a+1),o:a+1,y:o.toString().substr(2,2),Y:o,H:E(f),k:f,I:E(f%12||12),l:f%12||12,M:E(this.get("Minutes",F)),p:f<12?"AM":"PM",P:f<12?"am":"pm",S:E(this.get("Seconds",F)),L:E(Math.floor(M%1e3),3)},t.dateFormats),function(m,O){for(;g.indexOf("%"+O)!==-1;)g=g.replace("%"+O,typeof m=="function"?m.call(W,M):m)}),Q?g.substr(0,1).toUpperCase()+g.substr(1):g}resolveDTLFormat(g){return Y(g,!0)?g:{main:(g=z(g))[0],from:g[1],to:g[2]}}getTimeTicks(g,M,Q,W){let F,f,w,u,a=this,o=a.Date,d=[],l={},p=new o(M),m=g.unitRange,O=g.count||1;if(W=N(W,1),h(M)){a.set("Milliseconds",p,m>=k.second?0:O*Math.floor(a.get("Milliseconds",p)/O)),m>=k.second&&a.set("Seconds",p,m>=k.minute?0:O*Math.floor(a.get("Seconds",p)/O)),m>=k.minute&&a.set("Minutes",p,m>=k.hour?0:O*Math.floor(a.get("Minutes",p)/O)),m>=k.hour&&a.set("Hours",p,m>=k.day?0:O*Math.floor(a.get("Hours",p)/O)),m>=k.day&&a.set("Date",p,m>=k.month?1:Math.max(1,O*Math.floor(a.get("Date",p)/O))),m>=k.month&&(a.set("Month",p,m>=k.year?0:O*Math.floor(a.get("Month",p)/O)),f=a.get("FullYear",p)),m>=k.year&&(f-=f%O,a.set("FullYear",p,f)),m===k.week&&(u=a.get("Day",p),a.set("Date",p,a.get("Date",p)-u+W+(u x*P,ne:(x,P)=>x!=P,subtract:(x,P)=>x-P,unless:x=>!x};function z(x="",P,L){let T=/\{([a-zA-Z0-9\:\.\,;\-\/<>%_@"'= #\(\)]+)\}/g,g=/\(([a-zA-Z0-9\:\.\,;\-\/<>%_@"'= ]+)\)/g,M=[],Q=/f$/,W=/\.([0-9])/,F=n.lang,f=L&&L.time||h,w=L&&L.numberFormatter||k,u=(p="")=>{let m;return p==="true"||p!=="false"&&((m=Number(p)).toString()===p?m:q(p,P))},a,o,d=0,l;for(;(a=T.exec(x))!==null;){let p=g.exec(a[1]);p&&(a=p,l=!0),o&&o.isBlock||(o={ctx:P,expression:a[1],find:a[0],isBlock:a[1].charAt(0)==="#",start:a.index,startInner:a.index+a[0].length,length:a[0].length});let m=a[1].split(" ")[0].replace("#","");N[m]&&(o.isBlock&&m===o.fn&&d++,o.fn||(o.fn=m));let O=a[1]==="else";if(o.isBlock&&o.fn&&(a[1]===`/${o.fn}`||O))if(d)!O&&d--;else{let j=o.startInner,se=x.substr(j,a.index-j);o.body===void 0?(o.body=se,o.startInner=a.index+a[0].length):o.elseBody=se,o.find+=se+a[0],O||(M.push(o),o=void 0)}else o.isBlock||M.push(o);if(p&&!o?.isBlock)break}return M.forEach(p=>{let m,O,{body:j,elseBody:se,expression:A,fn:$}=p;if($){let K=[p],Z=A.split(" ");for(O=N[$].length;O--;)K.unshift(u(Z[O+1]));m=N[$].apply(P,K),p.isBlock&&typeof m=="boolean"&&(m=z(m?j:se,P,L))}else{let K=A.split(":");if(m=u(K.shift()||""),K.length&&typeof m=="number"){let Z=K.join(":");if(Q.test(Z)){let re=parseInt((Z.match(W)||["","-1"])[1],10);m!==null&&(m=w(m,re,F.decimalPoint,Z.indexOf(",")>-1?F.thousandsSep:""))}else m=f.dateFormat(Z,m)}}x=x.replace(p.find,H(m,""))}),l?z(x,P,L):x}function k(x,P,L,T){let g,M;x=+x||0,P=+P;let Q=n.lang,W=(x.toString().split(".")[1]||"").split("e")[0].length,F=x.toString().split("e"),f=P;P===-1?P=Math.min(W,20):Y(P)?P&&F[1]&&F[1]<0&&((M=P+ +F[1])>=0?(F[0]=(+F[0]).toExponential(M).split("e")[0],P=M):(F[0]=F[0].split(".")[0]||0,x=P<20?(F[0]*Math.pow(10,F[1])).toFixed(P):0,F[1]=0)):P=2;let w=(Math.abs(F[1]?F[0]:x)+Math.pow(10,-Math.max(P,W)-1)).toFixed(P),u=String(E(w)),a=u.length>3?u.length%3:0;return L=H(L,Q.decimalPoint),T=H(T,Q.thousandsSep),g=(x<0?"-":"")+(a?u.substr(0,a)+T:""),0>+F[1]&&!f?g="0":g+=u.substr(a).replace(/(\d{3})(?=\d)/g,"$1"+T),P?g+=L+w.slice(-P):+g==0&&(g="0"),F[1]&&+g!=0&&(g+="e"+F[1]),g}return{dateFormat:function(x,P,L){return h.dateFormat(x,P,L)},format:z,helpers:N,numberFormat:k}}),r(e,"Core/Renderer/RendererRegistry.js",[e["Core/Globals.js"]],function(t){var i,n;let h;return(n=i||(i={})).rendererTypes={},n.getRendererType=function(v=h){return n.rendererTypes[v]||n.rendererTypes[h]},n.registerRendererType=function(v,q,B){n.rendererTypes[v]=q,(!h||B)&&(h=v,t.Renderer=q)},i}),r(e,"Core/Renderer/RendererUtilities.js",[e["Core/Utilities.js"]],function(t){var i;let{clamp:n,pick:h,pushUnique:v,stableSort:q}=t;return(i||(i={})).distribute=function B(Y,_,H){let E=Y,N=E.reducedLen||_,z=(u,a)=>u.target-a.target,k=[],x=Y.length,P=[],L=k.push,T,g,M,Q=!0,W,F,f=0,w;for(T=x;T--;)f+=Y[T].size;if(f>N){for(q(Y,(u,a)=>(a.rank||0)-(u.rank||0)),M=(w=Y[0].rank===Y[Y.length-1].rank)?x/2:-1,g=w?M:x-1;M&&f>N;)W=Y[T=Math.floor(g)],v(P,T)&&(f-=W.size),g+=M,w&&g>=Y.length&&(M/=2,g=M);P.sort((u,a)=>a-u).forEach(u=>L.apply(k,Y.splice(u,1)))}for(q(Y,z),Y=Y.map(u=>({size:u.size,targets:[u.target],align:h(u.align,.5)}));Q;){for(T=Y.length;T--;)W=Y[T],F=(Math.min.apply(0,W.targets)+Math.max.apply(0,W.targets))/2,W.pos=n(F-W.size*W.align,0,_-W.size);for(T=Y.length,Q=!1;T--;)T>0&&Y[T-1].pos+Y[T-1].size>Y[T].pos&&(Y[T-1].size+=Y[T].size,Y[T-1].targets=Y[T-1].targets.concat(Y[T].targets),Y[T-1].align=.5,Y[T-1].pos+Y[T-1].size>_&&(Y[T-1].pos=_-Y[T-1].size),Y.splice(T,1),Q=!0)}return L.apply(E,k),T=0,Y.some(u=>{let a=0;return(u.targets||[]).some(()=>(E[T].pos=u.pos+a,H!==void 0&&Math.abs(E[T].pos-E[T].target)>H?(E.slice(0,T+1).forEach(o=>delete o.pos),E.reducedLen=(E.reducedLen||_)-.1*_,E.reducedLen>.1*_&&B(E,_,H),!0):(a+=E[T].size,T++,!1)))}),q(E,z),E},i}),r(e,"Core/Renderer/SVG/SVGElement.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Color/Color.js"],e["Core/Globals.js"],e["Core/Utilities.js"]],function(t,i,n,h){let{animate:v,animObject:q,stop:B}=t,{deg2rad:Y,doc:_,svg:H,SVG_NS:E,win:N}=n,{addEvent:z,attr:k,createElement:x,crisp:P,css:L,defined:T,erase:g,extend:M,fireEvent:Q,isArray:W,isFunction:F,isObject:f,isString:w,merge:u,objectEach:a,pick:o,pInt:d,pushUnique:l,replaceNested:p,syncTimeout:m,uniqueKey:O}=h;class j{_defaultGetter(A){let $=o(this[A+"Value"],this[A],this.element?this.element.getAttribute(A):null,0);return/^[\-0-9\.]+$/.test($)&&($=parseFloat($)),$}_defaultSetter(A,$,K){K.setAttribute($,A)}add(A){let $,K=this.renderer,Z=this.element;return A&&(this.parentGroup=A),this.textStr!==void 0&&this.element.nodeName==="text"&&K.buildText(this),this.added=!0,(!A||A.handleZ||this.zIndex)&&($=this.zIndexSetter()),$||(A?A.element:K.box).appendChild(Z),this.onAdd&&this.onAdd(),this}addClass(A,$){let K=$?"":this.attr("class")||"";return(A=(A||"").split(/ /g).reduce(function(Z,re){return K.indexOf(re)===-1&&Z.push(re),Z},K?[K]:[]).join(" "))!==K&&this.attr("class",A),this}afterSetters(){this.doTransform&&(this.updateTransform(),this.doTransform=!1)}align(A,$,K,Z=!0){let re,y,b,D,U={},c=this.renderer,S=c.alignedObjects,C=!!A;A?(this.alignOptions=A,this.alignByTranslate=$,this.alignTo=K):(A=this.alignOptions||{},$=this.alignByTranslate,K=this.alignTo);let R=!K||w(K)?K||"renderer":void 0;R&&(C&&l(S,this),K=void 0);let I=o(K,c[R],c),X=A.align,ie=A.verticalAlign;return re=(I.x||0)+(A.x||0),y=(I.y||0)+(A.y||0),X==="right"?b=1:X==="center"&&(b=2),b&&(re+=((I.width||0)-(A.width||0))/b),U[$?"translateX":"x"]=Math.round(re),ie==="bottom"?D=1:ie==="middle"&&(D=2),D&&(y+=((I.height||0)-(A.height||0))/D),U[$?"translateY":"y"]=Math.round(y),Z&&(this[this.placed?"animate":"attr"](U),this.placed=!0),this.alignAttr=U,this}alignSetter(A){let $={left:"start",center:"middle",right:"end"};$[A]&&(this.alignValue=A,this.element.setAttribute("text-anchor",$[A]))}animate(A,$,K){let Z=q(o($,this.renderer.globalAnimation,!0)),re=Z.defer;return _.hidden&&(Z.duration=0),Z.duration!==0?(K&&(Z.complete=K),m(()=>{this.element&&v(this,A,Z)},re)):(this.attr(A,void 0,K||Z.complete),a(A,function(y,b){Z.step&&Z.step.call(this,y,{prop:b,pos:1,elem:this})},this)),this}applyTextOutline(A){let $=this.element;A.indexOf("contrast")!==-1&&(A=A.replace(/contrast/g,this.renderer.getContrast($.style.fill)));let K=A.split(" "),Z=K[K.length-1],re=K[0];if(re&&re!=="none"&&n.svg){this.fakeTS=!0,re=re.replace(/(^[\d\.]+)(.*?)$/g,function(c,S,C){return 2*Number(S)+C}),this.removeTextOutline();let y=_.createElementNS(E,"tspan");k(y,{class:"highcharts-text-outline",fill:Z,stroke:Z,"stroke-width":re,"stroke-linejoin":"round"});let b=$.querySelector("textPath")||$;[].forEach.call(b.childNodes,c=>{let S=c.cloneNode(!0);S.removeAttribute&&["fill","stroke","stroke-width","stroke"].forEach(C=>S.removeAttribute(C)),y.appendChild(S)});let D=0;[].forEach.call(b.querySelectorAll("text tspan"),c=>{D+=Number(c.getAttribute("dy"))});let U=_.createElementNS(E,"tspan");U.textContent="\u200B",k(U,{x:Number($.getAttribute("x")),dy:-D}),y.appendChild(U),b.insertBefore(y,b.firstChild)}}attr(A,$,K,Z){let{element:re}=this,y=j.symbolCustomAttribs,b,D,U=this,c;return typeof A=="string"&&$!==void 0&&(b=A,(A={})[b]=$),typeof A=="string"?U=(this[A+"Getter"]||this._defaultGetter).call(this,A,re):(a(A,function(S,C){c=!1,Z||B(this,C),this.symbolName&&y.indexOf(C)!==-1&&(D||(this.symbolAttr(A),D=!0),c=!0),this.rotation&&(C==="x"||C==="y")&&(this.doTransform=!0),c||(this[C+"Setter"]||this._defaultSetter).call(this,S,C,re)},this),this.afterSetters()),K&&K.call(this),U}clip(A){if(A&&!A.clipPath){let $=O()+"-",K=this.renderer.createElement("clipPath").attr({id:$}).add(this.renderer.defs);M(A,{clipPath:K,id:$,count:0}),A.add(K)}return this.attr("clip-path",A?`url(${this.renderer.url}#${A.id})`:"none")}crisp(A,$){$=Math.round($||A.strokeWidth||0);let K=A.x||this.x||0,Z=A.y||this.y||0,re=(A.width||this.width||0)+K,y=(A.height||this.height||0)+Z,b=P(K,$),D=P(Z,$);return M(A,{x:b,y:D,width:P(re,$)-b,height:P(y,$)-D}),T(A.strokeWidth)&&(A.strokeWidth=$),A}complexColor(A,$,K){let Z=this.renderer,re,y,b,D,U,c,S,C,R,I,X=[],ie;Q(this.renderer,"complexColor",{args:arguments},function(){if(A.radialGradient?y="radialGradient":A.linearGradient&&(y="linearGradient"),y){if(b=A[y],U=Z.gradients,c=A.stops,R=K.radialReference,W(b)&&(A[y]=b={x1:b[0],y1:b[1],x2:b[2],y2:b[3],gradientUnits:"userSpaceOnUse"}),y==="radialGradient"&&R&&!T(b.gradientUnits)&&(D=b,b=u(b,Z.getRadialAttr(R,D),{gradientUnits:"userSpaceOnUse"})),a(b,function(ee,oe){oe!=="id"&&X.push(oe,ee)}),a(c,function(ee){X.push(ee)}),U[X=X.join(",")])I=U[X].attr("id");else{b.id=I=O();let ee=U[X]=Z.createElement(y).attr(b).add(Z.defs);ee.radAttr=D,ee.stops=[],c.forEach(function(oe){oe[1].indexOf("rgba")===0?(S=(re=i.parse(oe[1])).get("rgb"),C=re.get("a")):(S=oe[1],C=1);let ce=Z.createElement("stop").attr({offset:oe[0],"stop-color":S,"stop-opacity":C}).add(ee);ee.stops.push(ce)})}ie="url("+Z.url+"#"+I+")",K.setAttribute($,ie),K.gradient=X,A.toString=function(){return ie}}})}css(A){let $=this.styles,K={},Z=this.element,re,y=!$;if($&&a(A,function(b,D){$&&$[D]!==b&&(K[D]=b,y=!0)}),y){$&&(A=M($,K)),A.width===null||A.width==="auto"?delete this.textWidth:Z.nodeName.toLowerCase()==="text"&&A.width&&(re=this.textWidth=d(A.width)),M(this.styles,A),re&&!H&&this.renderer.forExport&&delete A.width;let b=u(A);Z.namespaceURI===this.SVG_NS&&(["textOutline","textOverflow","width"].forEach(D=>b&&delete b[D]),b.color&&(b.fill=b.color)),L(Z,b)}return this.added&&(this.element.nodeName==="text"&&this.renderer.buildText(this),A.textOutline&&this.applyTextOutline(A.textOutline)),this}dashstyleSetter(A){let $,K=this["stroke-width"];if(K==="inherit"&&(K=1),A=A&&A.toLowerCase()){let Z=A.replace("shortdashdotdot","3,1,1,1,1,1,").replace("shortdashdot","3,1,1,1").replace("shortdot","1,1,").replace("shortdash","3,1,").replace("longdash","8,3,").replace(/dot/g,"1,3,").replace("dash","4,3,").replace(/,$/,"").split(",");for($=Z.length;$--;)Z[$]=""+d(Z[$])*o(K,NaN);A=Z.join(",").replace(/NaN/g,"none"),this.element.setAttribute("stroke-dasharray",A)}}destroy(){let A=this,$=A.element||{},K=A.renderer,Z=$.ownerSVGElement,re=$.nodeName==="SPAN"&&A.parentGroup||void 0,y,b;if($.onclick=$.onmouseout=$.onmouseover=$.onmousemove=$.point=null,B(A),A.clipPath&&Z){let D=A.clipPath;[].forEach.call(Z.querySelectorAll("[clip-path],[CLIP-PATH]"),function(U){U.getAttribute("clip-path").indexOf(D.element.id)>-1&&U.removeAttribute("clip-path")}),A.clipPath=D.destroy()}if(A.connector=A.connector?.destroy(),A.stops){for(b=0;b p+O&&($=p+O),K p?re-p:$-(U?p:0)),z(Z.options.pointWidth)&&(R-=Math.round(((C=I=Math.ceil(Z.options.pointWidth))-O)/2)),w.centerInCategory&&!w.stacking&&(R=F.adjustForMissingColumns(R,C,Z,m)),Z.barX=R,Z.pointWidth=C,Z.tooltipPos=f.inverted?[E(d.len+d.pos-f.plotLeft-D,d.pos-f.plotLeft,d.len+d.pos-f.plotLeft),o.len+o.pos-f.plotTop-R-I/2,S]:[o.left-f.plotLeft+R+I/2,E(D+d.pos-f.plotTop,d.pos-f.plotTop,d.len+d.pos-f.plotTop),S],Z.shapeType=F.pointClass.prototype.shapeType||"roundedRect",Z.shapeArgs=F.crispCol(R,Z.isNull?$:c,I,Z.isNull?0:S)}),x(this,"afterColumnTranslate")}drawGraph(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")}pointAttribs(F,f){let w=this.options,u=this.pointAttrToOptions||{},a=u.stroke||"borderColor",o=u["stroke-width"]||"borderWidth",d,l,p,m=F&&F.color||this.color,O=F&&F[a]||w[a]||m,j=F&&F.options.dashStyle||w.dashStyle,se=F&&F[o]||w[o]||this[o]||0,A=g(F&&F.opacity,w.opacity,1);F&&this.zones.length&&(l=F.getZone(),m=F.options.color||l&&(l.color||F.nonZonedColor)||this.color,l&&(O=l.borderColor||O,j=l.dashStyle||j,se=l.borderWidth||se)),f&&F&&(p=(d=T(w.states[f],F.options.states&&F.options.states[f]||{})).brightness,m=d.color||p!==void 0&&_(m).brighten(d.brightness).get()||m,O=d[a]||O,se=d[o]||se,j=d.dashStyle||j,A=g(d.opacity,A));let $={fill:m,stroke:O,"stroke-width":se,opacity:A};return j&&($.dashstyle=j),$}drawPoints(F=this.points){let f,w=this,u=this.chart,a=w.options,o=u.renderer,d=a.animationLimit||250;F.forEach(function(l){let p=l.plotY,m=l.graphic,O=!!m,j=m&&u.pointCount =m;P--){var F=x.children[P];l(k,x.leaf?S(F):F),O+=g(k)}return O},e.prototype._adjustParentBBoxes=function(x,m,E){for(var L=E;L>=0;L--)l(m[L],x)},e.prototype._condense=function(x){for(var m=x.length-1,E=void 0;m>=0;m--)x[m].children.length===0?m>0?(E=x[m-1].children).splice(E.indexOf(x[m]),1):this.clear():r(x[m],this.toBBox)},e})});var wu=qe((pT,jn)=>{"use strict";(function(o){typeof jn=="object"&&jn.exports?(o.default=o,jn.exports=o):typeof define=="function"&&define.amd?define("highcharts/modules/map",["highcharts"],function(t){return o(t),o.Highcharts=t,o}):o(typeof Highcharts<"u"?Highcharts:void 0)})(function(o){"use strict";var t=o?o._modules:{};function i(e,s,r,n){e.hasOwnProperty(s)||(e[s]=n.apply(null,r),typeof CustomEvent=="function"&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:s,module:e[s]}})))}i(t,"Core/Axis/Color/ColorAxisComposition.js",[t["Core/Color/Color.js"],t["Core/Utilities.js"]],function(e,s){var r;let{parse:n}=e,{addEvent:l,extend:a,merge:h,pick:c,splat:g}=s;return function(u){let p;function b(){let{userOptions:I}=this;this.colorAxis=[],I.colorAxis&&(I.colorAxis=g(I.colorAxis),I.colorAxis.map(_=>new p(this,_)))}function v(I){let _=this.chart.colorAxis||[],P=C=>{let d=I.allItems.indexOf(C);d!==-1&&(this.destroyItem(I.allItems[d]),I.allItems.splice(d,1))},F=[],T,D;for(_.forEach(function(C){(T=C.options)&&T.showInLegend&&(T.dataClasses&&T.visible?F=F.concat(C.getDataClassLegendSymbols()):T.visible&&F.push(C),C.series.forEach(function(d){(!d.options.showInLegend||T.dataClasses)&&(d.options.legendType==="point"?d.points.forEach(function(f){P(f)}):P(d))}))}),D=F.length;D--;)I.allItems.unshift(F[D])}function x(I){I.visible&&I.item.legendColor&&I.item.legendItem.symbol.attr({fill:I.item.legendColor})}function m(I){this.chart.colorAxis?.forEach(_=>{_.update({},I.redraw)})}function E(){(this.chart.colorAxis&&this.chart.colorAxis.length||this.colorAttribs)&&this.translateColors()}function L(){let I=this.axisTypes;I?I.indexOf("colorAxis")===-1&&I.push("colorAxis"):this.axisTypes=["colorAxis"]}function S(I){let _=this,P=I?"show":"hide";_.visible=_.options.visible=!!I,["graphic","dataLabel"].forEach(function(F){_[F]&&_[F][P]()}),this.series.buildKDTree()}function w(){let I=this,_=this.data.length?this.data:this.points,P=this.options.nullColor,F=this.colorAxis,T=this.colorKey;_.forEach(D=>{let C=D.getNestedProperty(T),d=D.options.color||(D.isNull||D.value===null?P:F&&C!==void 0?F.toColor(C,D):D.color||I.color);d&&D.color!==d&&(D.color=d,I.options.legendType==="point"&&D.legendItem&&D.legendItem.label&&I.chart.legend.colorizeItem(D,D.visible))})}function k(){this.elem.attr("fill",n(this.start).tweenTo(n(this.end),this.pos),void 0,!0)}function O(){this.elem.attr("stroke",n(this.start).tweenTo(n(this.end),this.pos),void 0,!0)}u.compose=function(I,_,P,F,T){let D=_.prototype,C=P.prototype,d=T.prototype;D.collectionsWithUpdate.includes("colorAxis")||(p=I,D.collectionsWithUpdate.push("colorAxis"),D.collectionsWithInit.colorAxis=[D.addColorAxis],l(_,"afterGetAxes",b),function(f){let y=f.prototype.createAxis;f.prototype.createAxis=function(M,R){if(M!=="colorAxis")return y.apply(this,arguments);let A=new p(this,h(R.axis,{index:this[M].length,isX:!1}));return this.isDirtyLegend=!0,this.axes.forEach(z=>{z.series=[]}),this.series.forEach(z=>{z.bindAxes(),z.isDirtyData=!0}),c(R.redraw,!0)&&this.redraw(R.animation),A}}(_),C.fillSetter=k,C.strokeSetter=O,l(F,"afterGetAllItems",v),l(F,"afterColorizeItem",x),l(F,"afterUpdate",m),a(d,{optionalAxis:"colorAxis",translateColors:w}),a(d.pointClass.prototype,{setVisible:S}),l(T,"afterTranslate",E,{order:1}),l(T,"bindAxes",L))},u.pointSetVisible=S}(r||(r={})),r}),i(t,"Core/Axis/Color/ColorAxisDefaults.js",[],function(){return{lineWidth:0,minPadding:0,maxPadding:0,gridLineColor:"#ffffff",gridLineWidth:1,tickPixelInterval:72,startOnTick:!0,endOnTick:!0,offset:0,marker:{animation:{duration:50},width:.01,color:"#999999"},labels:{distance:8,overflow:"justify",rotation:0},minColor:"#e6e9ff",maxColor:"#0022ff",tickLength:5,showInLegend:!0}}),i(t,"Core/Axis/Color/ColorAxisLike.js",[t["Core/Color/Color.js"],t["Core/Utilities.js"]],function(e,s){var r,n;let{parse:l}=e,{merge:a}=s;return(n=r||(r={})).initDataClasses=function(h){let c=this.chart,g=this.legendItem=this.legendItem||{},u=this.options,p=h.dataClasses||[],b,v,x=c.options.chart.colorCount,m=0,E;this.dataClasses=v=[],g.labels=[];for(let L=0,S=p.length;L-1;i--)this.checkPushedItem(this.pushedItems[i],i)&&(s=!0);s&&this.checkPushBack()}push(i,s){if(this.iteration>100)return console.warn("max iteration reached"),!1;if(this.gridster.checkGridCollision(i.$item)||s==="")return!1;let t=this.gridster.findItemsWithItem(i.$item),e=s===this.fromNorth||s===this.fromWest;t.sort((u,w)=>e?w.$item.y-u.$item.y||w.$item.x-u.$item.x:u.$item.y-w.$item.y||u.$item.x-w.$item.x);let n=0,r,l=!0,h=[];for(;n-1;i--)this.checkPushedItem(this.pushedItems[i],i)&&(s=!0);s&&this.checkPushBack()}push(i,s){let t=this.gridster.checkCollision(i.$item);if(t&&t!==!0&&t!==this.gridsterItem&&t.canBeResized()){if(this.tryPattern[s].call(this,t,i,s))return!0}else if(t===!1)return!0;return!1}trySouth(i,s,t){let e=i.$item.y,n=i.$item.rows;return i.$item.y=s.$item.y+s.$item.rows,i.$item.rows=n+e-i.$item.y,!this.gridster.checkCollisionTwoItems(i.$item,s.$item)&&!this.gridster.checkGridCollision(i.$item)?(i.setSize(),this.addToPushed(i),this.push(s,t),!0):(i.$item.y=e,i.$item.rows=n,!1)}tryNorth(i,s,t){let e=i.$item.rows;return i.$item.rows=s.$item.y-i.$item.y,!this.gridster.checkCollisionTwoItems(i.$item,s.$item)&&!this.gridster.checkGridCollision(i.$item)?(i.setSize(),this.addToPushed(i),this.push(s,t),!0):(i.$item.rows=e,!1)}tryEast(i,s,t){let e=i.$item.x,n=i.$item.cols;return i.$item.x=s.$item.x+s.$item.cols,i.$item.cols=n+e-i.$item.x,!this.gridster.checkCollisionTwoItems(i.$item,s.$item)&&!this.gridster.checkGridCollision(i.$item)?(i.setSize(),this.addToPushed(i),this.push(s,t),!0):(i.$item.x=e,i.$item.cols=n,!1)}tryWest(i,s,t){let e=i.$item.cols;return i.$item.cols=s.$item.x-i.$item.x,!this.gridster.checkCollisionTwoItems(i.$item,s.$item)&&!this.gridster.checkGridCollision(i.$item)?(i.setSize(),this.addToPushed(i),this.push(s,t),!0):(i.$item.cols=e,!1)}addToPushed(i){if(this.pushedItems.indexOf(i)<0)this.pushedItems.push(i),this.pushedItemsPath.push([{x:i.item.x||0,y:i.item.y||0,cols:i.item.cols||0,rows:i.item.rows||0},{x:i.$item.x,y:i.$item.y,cols:i.$item.cols,rows:i.$item.rows}]);else{let s=this.pushedItems.indexOf(i);this.pushedItemsPath[s].push({x:i.$item.x,y:i.$item.y,cols:i.$item.cols,rows:i.$item.rows})}}removeFromPushed(i){i>-1&&(this.pushedItems.splice(i,1),this.pushedItemsPath.splice(i,1))}checkPushedItem(i,s){let t=this.pushedItemsPath[s],e=t.length-2,n,r,l,h,u;for(;e>-1;e--)n=t[e],r=i.$item.x,l=i.$item.y,h=i.$item.cols,u=i.$item.rows,i.$item.x=n.x,i.$item.y=n.y,i.$item.cols=n.cols,i.$item.rows=n.rows,this.gridster.findItemWithItem(i.$item)?(i.$item.x=r,i.$item.y=l,i.$item.cols=h,i.$item.rows=u):(i.setSize(),t.splice(e+1,t.length-1-e));return t.length<2?(this.removeFromPushed(s),!0):!1}},te=class{constructor(i,s,t){this.zone=t,this.directionFunction=null,this.dragMove=e=>{if(this.directionFunction===null)throw new Error("The `directionFunction` has not been set before calling `dragMove`.");e.stopPropagation(),e.preventDefault(),L.checkTouchEvent(e),this.offsetTop=this.gridster.el.scrollTop-this.gridster.el.offsetTop,this.offsetLeft=this.gridster.el.scrollLeft-this.gridster.el.offsetLeft,Be(this.gridster,this.left,this.top,this.width,this.height,e,this.lastMouse,this.directionFunction,!0,this.resizeEventScrollType);let n=this.gridster.options.scale||1;this.directionFunction({clientX:this.originalClientX+(e.clientX-this.originalClientX)/n,clientY:this.originalClientY+(e.clientY-this.originalClientY)/n}),this.lastMouse.clientX=e.clientX,this.lastMouse.clientY=e.clientY,this.zone.run(()=>{this.gridster.updateGrid()})},this.dragStop=e=>{e.stopPropagation(),e.preventDefault(),He(),this.mousemove(),this.mouseup(),this.mouseleave(),this.cancelOnBlur(),this.touchmove(),this.touchend(),this.touchcancel(),this.gridster.dragInProgress=!1,this.gridster.updateGrid(),this.gridster.options.resizable&&this.gridster.options.resizable.stop?Promise.resolve(this.gridster.options.resizable.stop(this.gridsterItem.item,this.gridsterItem,e)).then(this.makeResize,this.cancelResize):this.makeResize(),setTimeout(()=>{this.gridsterItem.renderer.removeClass(this.gridsterItem.el,"gridster-item-resizing"),this.gridster&&(this.gridster.movingItem=null,this.gridster.previewStyle())})},this.cancelResize=()=>{this.gridsterItem.$item.cols=this.gridsterItem.item.cols||1,this.gridsterItem.$item.rows=this.gridsterItem.item.rows||1,this.gridsterItem.$item.x=this.gridsterItem.item.x||0,this.gridsterItem.$item.y=this.gridsterItem.item.y||0,this.gridsterItem.setSize(),this.push.restoreItems(),this.pushResize.restoreItems(),this.push.destroy(),this.push=null,this.pushResize.destroy(),this.pushResize=null},this.makeResize=()=>{this.gridsterItem.setSize(),this.gridsterItem.checkItemChanges(this.gridsterItem.$item,this.gridsterItem.item),this.push.setPushedItems(),this.pushResize.setPushedItems(),this.push.destroy(),this.push=null,this.pushResize.destroy(),this.pushResize=null},this.handleNorth=e=>{this.top=e.clientY+this.offsetTop-this.diffTop,this.height=this.bottom-this.top,this.minHeight>this.height?(this.height=this.minHeight,this.top=this.bottom-this.minHeight):this.gridster.options.enableBoundaryControl&&(this.top=Math.max(0,this.top),this.height=this.bottom-this.top);let n=this.gridster.options.pushItems?this.margin:0;if(this.newPosition=this.gridster.pixelsToPositionY(this.top+n,Math.floor),this.gridsterItem.$item.y!==this.newPosition){if(this.itemBackup[1]=this.gridsterItem.$item.y,this.itemBackup[3]=this.gridsterItem.$item.rows,this.gridsterItem.$item.rows+=this.gridsterItem.$item.y-this.newPosition,this.gridsterItem.$item.y=this.newPosition,this.pushResize.pushItems(this.pushResize.fromSouth),this.push.pushItems(this.push.fromSouth,this.gridster.$options.disablePushOnResize),this.gridster.checkCollision(this.gridsterItem.$item)){this.gridsterItem.$item.y=this.itemBackup[1],this.gridsterItem.$item.rows=this.itemBackup[3],this.top=this.gridster.positionYToPixels(this.gridsterItem.$item.y),this.setItemTop(this.gridster.positionYToPixels(this.gridsterItem.$item.y)),this.setItemHeight(this.gridster.positionYToPixels(this.gridsterItem.$item.rows)-this.margin);return}else this.gridster.previewStyle();this.pushResize.checkPushBack(),this.push.checkPushBack()}this.setItemTop(this.top),this.setItemHeight(this.height)},this.handleWest=e=>{let n=this.gridster.$options.dirType===O.RTL?this.originalClientX+(this.originalClientX-e.clientX):e.clientX;this.left=n+this.offsetLeft-this.diffLeft,this.width=this.right-this.left,this.minWidth>this.width?(this.width=this.minWidth,this.left=this.right-this.minWidth):this.gridster.options.enableBoundaryControl&&(this.left=Math.max(0,this.left),this.width=this.right-this.left);let r=this.gridster.options.pushItems?this.margin:0;if(this.newPosition=this.gridster.pixelsToPositionX(this.left+r,Math.floor),this.gridsterItem.$item.x!==this.newPosition){if(this.itemBackup[0]=this.gridsterItem.$item.x,this.itemBackup[2]=this.gridsterItem.$item.cols,this.gridsterItem.$item.cols+=this.gridsterItem.$item.x-this.newPosition,this.gridsterItem.$item.x=this.newPosition,this.pushResize.pushItems(this.pushResize.fromEast),this.push.pushItems(this.push.fromEast,this.gridster.$options.disablePushOnResize),this.gridster.checkCollision(this.gridsterItem.$item)){this.gridsterItem.$item.x=this.itemBackup[0],this.gridsterItem.$item.cols=this.itemBackup[2],this.left=this.gridster.positionXToPixels(this.gridsterItem.$item.x),this.setItemLeft(this.gridster.positionXToPixels(this.gridsterItem.$item.x)),this.setItemWidth(this.gridster.positionXToPixels(this.gridsterItem.$item.cols)-this.margin);return}else this.gridster.previewStyle();this.pushResize.checkPushBack(),this.push.checkPushBack()}this.setItemLeft(this.left),this.setItemWidth(this.width)},this.handleSouth=e=>{if(this.height=e.clientY+this.offsetTop-this.diffBottom-this.top,this.minHeight>this.height&&(this.height=this.minHeight),this.bottom=this.top+this.height,this.gridster.options.enableBoundaryControl){let r=this.outerMarginBottom??this.margin,l=this.gridster.el.getBoundingClientRect();this.bottom=Math.min(this.bottom,l.bottom-l.top-2*r),this.height=this.bottom-this.top}let n=this.gridster.options.pushItems?0:this.margin;if(this.newPosition=this.gridster.pixelsToPositionY(this.bottom+n,Math.ceil),this.gridsterItem.$item.y+this.gridsterItem.$item.rows!==this.newPosition){if(this.itemBackup[3]=this.gridsterItem.$item.rows,this.gridsterItem.$item.rows=this.newPosition-this.gridsterItem.$item.y,this.pushResize.pushItems(this.pushResize.fromNorth),this.push.pushItems(this.push.fromNorth,this.gridster.$options.disablePushOnResize),this.gridster.checkCollision(this.gridsterItem.$item)){this.gridsterItem.$item.rows=this.itemBackup[3],this.setItemHeight(this.gridster.positionYToPixels(this.gridsterItem.$item.rows)-this.margin);return}else this.gridster.previewStyle();this.pushResize.checkPushBack(),this.push.checkPushBack()}this.setItemHeight(this.height)},this.handleEast=e=>{let n=this.gridster.$options.dirType===O.RTL?this.originalClientX+(this.originalClientX-e.clientX):e.clientX;if(this.width=n+this.offsetLeft-this.diffRight-this.left,this.minWidth>this.width&&(this.width=this.minWidth),this.right=this.left+this.width,this.gridster.options.enableBoundaryControl){let l=this.outerMarginRight??this.margin,h=this.gridster.el.getBoundingClientRect();this.right=Math.min(this.right,h.right-h.left-2*l),this.width=this.right-this.left}let r=this.gridster.options.pushItems?0:this.margin;if(this.newPosition=this.gridster.pixelsToPositionX(this.right+r,Math.ceil),this.gridsterItem.$item.x+this.gridsterItem.$item.cols!==this.newPosition){if(this.itemBackup[2]=this.gridsterItem.$item.cols,this.gridsterItem.$item.cols=this.newPosition-this.gridsterItem.$item.x,this.pushResize.pushItems(this.pushResize.fromWest),this.push.pushItems(this.push.fromWest,this.gridster.$options.disablePushOnResize),this.gridster.checkCollision(this.gridsterItem.$item)){this.gridsterItem.$item.cols=this.itemBackup[2],this.setItemWidth(this.gridster.positionXToPixels(this.gridsterItem.$item.cols)-this.margin);return}else this.gridster.previewStyle();this.pushResize.checkPushBack(),this.push.checkPushBack()}this.setItemWidth(this.width)},this.handleNorthWest=e=>{this.handleNorth(e),this.handleWest(e)},this.handleNorthEast=e=>{this.handleNorth(e),this.handleEast(e)},this.handleSouthWest=e=>{this.handleSouth(e),this.handleWest(e)},this.handleSouthEast=e=>{this.handleSouth(e),this.handleEast(e)},this.gridsterItem=i,this.gridster=s,this.lastMouse={clientX:0,clientY:0},this.itemBackup=[0,0,0,0],this.resizeEventScrollType={west:!1,east:!1,north:!1,south:!1}}destroy(){this.gridster?.previewStyle(),this.gridster=this.gridsterItem=null}dragStart(i){if(i.which&&i.which!==1)return;this.gridster.options.resizable&&this.gridster.options.resizable.start&&this.gridster.options.resizable.start(this.gridsterItem.item,this.gridsterItem,i),i.stopPropagation(),i.preventDefault(),this.zone.runOutsideAngular(()=>{this.mousemove=this.gridsterItem.renderer.listen("document","mousemove",this.dragMove),this.touchmove=this.gridster.renderer.listen(this.gridster.el,"touchmove",this.dragMove)}),this.mouseup=this.gridsterItem.renderer.listen("document","mouseup",this.dragStop),this.mouseleave=this.gridsterItem.renderer.listen("document","mouseleave",this.dragStop),this.cancelOnBlur=this.gridsterItem.renderer.listen("window","blur",this.dragStop),this.touchend=this.gridsterItem.renderer.listen("document","touchend",this.dragStop),this.touchcancel=this.gridsterItem.renderer.listen("document","touchcancel",this.dragStop),this.gridsterItem.renderer.addClass(this.gridsterItem.el,"gridster-item-resizing"),this.lastMouse.clientX=i.clientX,this.lastMouse.clientY=i.clientY,this.left=this.gridsterItem.left,this.top=this.gridsterItem.top,this.originalClientX=i.clientX,this.originalClientY=i.clientY,this.width=this.gridsterItem.width,this.height=this.gridsterItem.height,this.bottom=this.gridsterItem.top+this.gridsterItem.height,this.right=this.gridsterItem.left+this.gridsterItem.width,this.margin=this.gridster.$options.margin,this.outerMarginTop=this.gridster.$options.outerMarginTop,this.outerMarginRight=this.gridster.$options.outerMarginRight,this.outerMarginBottom=this.gridster.$options.outerMarginBottom,this.outerMarginLeft=this.gridster.$options.outerMarginLeft,this.offsetLeft=this.gridster.el.scrollLeft-this.gridster.el.offsetLeft,this.offsetTop=this.gridster.el.scrollTop-this.gridster.el.offsetTop,this.diffLeft=i.clientX+this.offsetLeft-this.left,this.diffRight=i.clientX+this.offsetLeft-this.right,this.diffTop=i.clientY+this.offsetTop-this.top,this.diffBottom=i.clientY+this.offsetTop-this.bottom,this.minHeight=this.gridster.positionYToPixels(this.gridsterItem.$item.minItemRows||this.gridster.$options.minItemRows)-this.margin,this.minWidth=this.gridster.positionXToPixels(this.gridsterItem.$item.minItemCols||this.gridster.$options.minItemCols)-this.margin,this.gridster.movingItem=this.gridsterItem.$item,this.gridster.previewStyle(),this.push=new Dt(this.gridsterItem),this.pushResize=new Jt(this.gridsterItem),this.gridster.dragInProgress=!0,this.gridster.updateGrid();let{classList:s}=i.target;s.contains("handle-n")?(this.resizeEventScrollType.north=!0,this.directionFunction=this.handleNorth):s.contains("handle-w")?this.gridster.$options.dirType===O.RTL?(this.resizeEventScrollType.east=!0,this.directionFunction=this.handleEast):(this.resizeEventScrollType.west=!0,this.directionFunction=this.handleWest):s.contains("handle-s")?(this.resizeEventScrollType.south=!0,this.directionFunction=this.handleSouth):s.contains("handle-e")?this.gridster.$options.dirType===O.RTL?(this.resizeEventScrollType.west=!0,this.directionFunction=this.handleWest):(this.resizeEventScrollType.east=!0,this.directionFunction=this.handleEast):s.contains("handle-nw")?this.gridster.$options.dirType===O.RTL?(this.resizeEventScrollType.north=!0,this.resizeEventScrollType.east=!0,this.directionFunction=this.handleNorthEast):(this.resizeEventScrollType.north=!0,this.resizeEventScrollType.west=!0,this.directionFunction=this.handleNorthWest):s.contains("handle-ne")?this.gridster.$options.dirType===O.RTL?(this.resizeEventScrollType.north=!0,this.resizeEventScrollType.west=!0,this.directionFunction=this.handleNorthWest):(this.resizeEventScrollType.north=!0,this.resizeEventScrollType.east=!0,this.directionFunction=this.handleNorthEast):s.contains("handle-sw")?this.gridster.$options.dirType===O.RTL?(this.resizeEventScrollType.south=!0,this.resizeEventScrollType.east=!0,this.directionFunction=this.handleSouthEast):(this.resizeEventScrollType.south=!0,this.resizeEventScrollType.west=!0,this.directionFunction=this.handleSouthWest):s.contains("handle-se")&&(this.gridster.$options.dirType===O.RTL?(this.resizeEventScrollType.south=!0,this.resizeEventScrollType.west=!0,this.directionFunction=this.handleSouthWest):(this.resizeEventScrollType.south=!0,this.resizeEventScrollType.east=!0,this.directionFunction=this.handleSouthEast))}toggle(){this.resizeEnabled=this.gridsterItem.canBeResized(),this.resizableHandles=this.gridsterItem.getResizableHandles()}dragStartDelay(i){if(L.checkTouchEvent(i),!this.gridster.$options.resizable.delayStart){this.dragStart(i);return}let s=setTimeout(()=>{this.dragStart(i),w()},this.gridster.$options.resizable.delayStart),{cancelMouse:t,cancelMouseLeave:e,cancelOnBlur:n,cancelTouchMove:r,cancelTouchEnd:l,cancelTouchCancel:h}=this.zone.runOutsideAngular(()=>{let C=this.gridsterItem.renderer.listen("document","mouseup",w),$=this.gridsterItem.renderer.listen("document","mouseleave",w),W=this.gridsterItem.renderer.listen("window","blur",w),R=this.gridsterItem.renderer.listen("document","touchmove",u),D=this.gridsterItem.renderer.listen("document","touchend",w),Z=this.gridsterItem.renderer.listen("document","touchcancel",w);return{cancelMouse:C,cancelMouseLeave:$,cancelOnBlur:W,cancelTouchMove:R,cancelTouchEnd:D,cancelTouchCancel:Z}});function u(C){L.checkTouchEvent(C),(Math.abs(C.clientX-i.clientX)>9||Math.abs(C.clientY-i.clientY)>9)&&w()}function w(){clearTimeout(s),n(),t(),e(),r(),l(),h()}}setItemTop(i){this.gridster.gridRenderer.setCellPosition(this.gridsterItem.renderer,this.gridsterItem.el,this.left,i)}setItemLeft(i){this.gridster.gridRenderer.setCellPosition(this.gridsterItem.renderer,this.gridsterItem.el,i,this.top)}setItemHeight(i){this.gridsterItem.renderer.setStyle(this.gridsterItem.el,"height",i+"px")}setItemWidth(i){this.gridsterItem.renderer.setStyle(this.gridsterItem.el,"width",i+"px")}},Ge=(()=>{let i=class i{get zIndex(){return this.getLayerIndex()+this.gridster.$options.baseLayerIndex}constructor(t,e,n,r){this.renderer=n,this.zone=r,this.itemInit=new V,this.itemChange=new V,this.itemResize=new V,this.el=t.nativeElement,this.$item={cols:-1,rows:-1,x:-1,y:-1},this.gridster=e,this.drag=new Zt(this,e,this.zone),this.resize=new te(this,e,this.zone)}ngOnInit(){this.gridster.addItem(this)}ngOnChanges(t){t.item&&(this.updateOptions(),this.init||this.gridster.calculateLayout$.next()),t.item&&t.item.previousValue&&this.setSize()}updateOptions(){this.$item=L.merge(this.$item,this.item,{cols:void 0,rows:void 0,x:void 0,y:void 0,layerIndex:void 0,dragEnabled:void 0,resizeEnabled:void 0,compactEnabled:void 0,maxItemRows:void 0,minItemRows:void 0,maxItemCols:void 0,minItemCols:void 0,maxItemArea:void 0,minItemArea:void 0,resizableHandles:{s:void 0,e:void 0,n:void 0,w:void 0,se:void 0,ne:void 0,sw:void 0,nw:void 0}})}ngOnDestroy(){this.gridster.removeItem(this),this.drag.destroy(),this.resize.destroy(),this.gridster=this.drag=this.resize=null}setSize(){this.renderer.setStyle(this.el,"display",this.notPlaced?"":"block"),this.gridster.gridRenderer.updateItem(this.el,this.$item,this.renderer),this.updateItemSize()}updateItemSize(){let t=this.$item.y*this.gridster.curRowHeight,e=this.$item.x*this.gridster.curColWidth,n=this.$item.cols*this.gridster.curColWidth-this.gridster.$options.margin,r=this.$item.rows*this.gridster.curRowHeight-this.gridster.$options.margin;this.top=t,this.left=e,!this.init&&n>0&&r>0&&(this.init=!0,this.item.initCallback&&this.item.initCallback(this.item,this),this.gridster.options.itemInitCallback&&this.gridster.options.itemInitCallback(this.item,this),this.itemInit.next({item:this.item,itemComponent:this}),this.gridster.$options.scrollToNewItems&&this.el.scrollIntoView(!1)),(n!==this.width||r!==this.height)&&(this.width=n,this.height=r,this.gridster.options.itemResizeCallback&&this.gridster.options.itemResizeCallback(this.item,this),this.itemResize.next({item:this.item,itemComponent:this}))}itemChanged(){this.gridster.options.itemChangeCallback&&this.gridster.options.itemChangeCallback(this.item,this),this.itemChange.next({item:this.item,itemComponent:this})}checkItemChanges(t,e){t.rows===e.rows&&t.cols===e.cols&&t.x===e.x&&t.y===e.y||(this.gridster.checkCollision(this.$item)?(this.$item.x=e.x||0,this.$item.y=e.y||0,this.$item.cols=e.cols||1,this.$item.rows=e.rows||1,this.setSize()):(this.item.cols=this.$item.cols,this.item.rows=this.$item.rows,this.item.x=this.$item.x,this.item.y=this.$item.y,this.gridster.calculateLayout$.next(),this.itemChanged()))}canBeDragged(){let t=this.gridster.$options.draggable.enabled,e=this.$item.dragEnabled===void 0?t:this.$item.dragEnabled;return!this.gridster.mobile&&t&&e}canBeResized(){let t=this.gridster.$options.resizable.enabled,e=this.$item.resizeEnabled===void 0?t:this.$item.resizeEnabled;return!this.gridster.mobile&&t&&e}getResizableHandles(){let t=this.gridster.$options.resizable.handles,e=this.$item.resizableHandles;return e===void 0?t:it(it({},t),e)}bringToFront(t){if(t&&t<=0)return;let e=this.getLayerIndex(),n=this.gridster.$options.maxLayerIndex;if(e1?$=a.makeTime(f,j,se,A+F*O):$+=m*O,F++;d.push($),m<=k.hour&&d.length<1e4&&d.forEach(function(K){K%18e5==0&&a.dateFormat("%H%M%S%L",K)==="000000000"&&(l[K]="day")})}return d.info=q(g,{higherRanks:l,totalRange:m*O}),d}getDateFormat(g,M,Q,W){let F=this.dateFormat("%m-%d %H:%M:%S.%L",M),f="01-01 00:00:00.000",w={millisecond:15,second:12,minute:9,hour:6,day:3},u="millisecond",a=u;for(u in k){if(g===k.week&&+this.dateFormat("%w",M)===Q&&F.substr(6)===f.substr(6)){u="week";break}if(k[u]>g){u=a;break}if(w[u]&&F.substr(w[u])!==f.substr(w[u]))break;u!=="week"&&(a=u)}return this.resolveDTLFormat(W[u]).main}}return L.formatCache={},L}),r(e,"Core/Defaults.js",[e["Core/Chart/ChartDefaults.js"],e["Core/Globals.js"],e["Core/Color/Palettes.js"],e["Core/Time.js"],e["Core/Utilities.js"]],function(t,i,n,h,v){let{isTouchDevice:q}=i,{fireEvent:B,merge:Y}=v,_={colors:n.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:t,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:E=>Math.sqrt(1-Math.pow(E-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:q?25:10,headerFormat:'{point.key}
',pointFormat:'\u25CF {series.name}: {point.y}
',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"}};_.chart.styledMode=!1;let H=new h(_.time);return{defaultOptions:_,defaultTime:H,getOptions:function(){return _},setOptions:function(E){return B(i,"setOptions",{options:E}),Y(!0,_,E),(E.time||E.global)&&(i.time?i.time.update(Y(_.global,_.time,E.global,E.time)):i.time=H),_}}}),r(e,"Core/Color/Color.js",[e["Core/Globals.js"],e["Core/Utilities.js"]],function(t,i){let{isNumber:n,merge:h,pInt:v}=i;class q{static parse(Y){return Y?new q(Y):q.None}constructor(Y){let _,H,E,N;this.rgba=[NaN,NaN,NaN,NaN],this.input=Y;let z=t.Color;if(z&&z!==q)return new z(Y);if(typeof Y=="object"&&Y.stops!==void 0)this.stops=Y.stops.map(k=>new q(k[1]));else if(typeof Y=="string"){if(this.input=Y=q.names[Y.toLowerCase()]||Y,Y.charAt(0)==="#"){let k=Y.length,x=parseInt(Y.substr(1),16);k===7?H=[(16711680&x)>>16,(65280&x)>>8,255&x,1]:k===4&&(H=[(3840&x)>>4|(3840&x)>>8,(240&x)>>4|240&x,(15&x)<<4|15&x,1])}if(!H)for(E=q.parsers.length;E--&&!H;)(_=(N=q.parsers[E]).regex.exec(Y))&&(H=N.parse(_))}H&&(this.rgba=H)}get(Y){let _=this.input,H=this.rgba;if(typeof _=="object"&&this.stops!==void 0){let E=h(_);return E.stops=[].slice.call(E.stops),this.stops.forEach((N,z)=>{E.stops[z]=[E.stops[z][0],N.get(Y)]}),E}return H&&n(H[0])?Y!=="rgb"&&(Y||H[3]!==1)?Y==="a"?`${H[3]}`:"rgba("+H.join(",")+")":"rgb("+H[0]+","+H[1]+","+H[2]+")":_}brighten(Y){let _=this.rgba;if(this.stops)this.stops.forEach(function(H){H.brighten(Y)});else if(n(Y)&&Y!==0)for(let H=0;H<3;H++)_[H]+=v(255*Y),_[H]<0&&(_[H]=0),_[H]>255&&(_[H]=255);return this}setOpacity(Y){return this.rgba[3]=Y,this}tweenTo(Y,_){let H=this.rgba,E=Y.rgba;if(!n(H[0])||!n(E[0]))return Y.input||"none";let N=E[3]!==1||H[3]!==1;return(N?"rgba(":"rgb(")+Math.round(E[0]+(H[0]-E[0])*(1-_))+","+Math.round(E[1]+(H[1]-E[1])*(1-_))+","+Math.round(E[2]+(H[2]-E[2])*(1-_))+(N?","+(E[3]+(H[3]-E[3])*(1-_)):"")+")"}}return q.names={white:"#ffffff",black:"#000000"},q.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(B){return[v(B[1]),v(B[2]),v(B[3]),parseFloat(B[4],10)]}},{regex:/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/,parse:function(B){return[v(B[1]),v(B[2]),v(B[3]),1]}}],q.None=new q(""),q}),r(e,"Core/Animation/Fx.js",[e["Core/Color/Color.js"],e["Core/Globals.js"],e["Core/Utilities.js"]],function(t,i,n){let{parse:h}=t,{win:v}=i,{isNumber:q,objectEach:B}=n;class Y{constructor(H,E,N){this.pos=NaN,this.options=E,this.elem=H,this.prop=N}dSetter(){let H=this.paths,E=H&&H[0],N=H&&H[1],z=this.now||0,k=[];if(z!==1&&E&&N)if(E.length===N.length&&z<1)for(let x=0;xW&&(d=W-x.x+d*w,l=-1),(d=Math.min(a,d))d||P.autoRotation&&(F.styles||{}).width)&&(O=d)),O&&(this.shortenLabel?this.shortenLabel():(o.width=Math.floor(O)+"px",(L.style||{}).textOverflow||(o.textOverflow="ellipsis"),F.css(o)))}moveLabel(x,P){let L=this,T=L.label,g=L.axis,M=!1,Q;T&&T.textStr===x?(L.movedLabel=T,M=!0,delete L.label):z(g.ticks,function(W){M||W.isNew||W===L||!W.label||W.label.textStr!==x||(L.movedLabel=W.label,M=!0,W.labelPos=L.movedLabel.xy,delete W.label)}),!M&&(L.labelPos||T)&&(Q=L.labelPos||T.xy,L.movedLabel=L.createLabel(x,P,Q),L.movedLabel&&L.movedLabel.attr({opacity:0}))}render(x,P,L){let T=this.axis,g=T.horiz,M=this.pos,Q=k(this.tickmarkOffset,T.tickmarkOffset),W=this.getPosition(g,M,Q,P),F=W.x,f=W.y,w=T.pos,u=w+T.len,a=g?F:f;!T.chart.polar&&this.isNew&&(q(a)
1)&&(X.step=function(V,G){de&&de.apply(G,arguments),G.prop==="width"&&oe?.element&&oe.attr(I?"height":"width",V+99)}),ee.addClass("highcharts-animating").animate(ce,X)}}afterAnimate(){this.setClip(),K(this.chart.sharedClips,(c,S,C)=>{c&&!this.chart.container.querySelector(`[clip-path="url(#${c.id})"]`)&&(c.destroy(),delete C[S])}),this.finishedAnimating=!0,l(this,"afterAnimate")}drawPoints(c=this.points){let S,C,R,I,X,ie,ee,oe=this.chart,ce=oe.styledMode,{colorAxis:de,options:V}=this,G=V.marker,J=this[this.specialGroup||"markerGroup"],te=this.xAxis,ae=Z(G.enabled,!te||!!te.isRadial||null,this.closestPointRangePx>=G.enabledThreshold*G.radius);if(G.enabled!==!1||this._hasPointMarkers)for(S=0;S
',pointFormat:"x: {point.x}
y: {point.y}
"}}}),r(e,"Series/Scatter/ScatterSeries.js",[e["Series/Scatter/ScatterSeriesDefaults.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,i,n){let{column:h,line:v}=i.seriesTypes,{addEvent:q,extend:B,merge:Y}=n;class _ extends v{applyJitter(){let E=this,N=this.options.jitter,z=this.points.length;N&&this.points.forEach(function(k,x){["x","y"].forEach(function(P,L){if(N[P]&&!k.isNull){let T=`plot${P.toUpperCase()}`,g=E[`${P}Axis`],M=N[P]*g.transA;if(g&&!g.logarithmic){let Q=Math.max(0,(k[T]||0)-M),W=Math.min(g.len,(k[T]||0)+M);k[T]=Q+(W-Q)*function(F){let f=1e4*Math.sin(F);return f-Math.floor(f)}(x+L*z),P==="x"&&(k.clientX=k.plotX)}}})})}drawGraph(){this.options.lineWidth?super.drawGraph():this.graph&&(this.graph=this.graph.destroy())}}return _.defaultOptions=Y(v.defaultOptions,t),B(_.prototype,{drawTracker:h.prototype.drawTracker,sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","markerGroup","dataLabelsGroup"]}),q(_,"afterTranslate",function(){this.applyJitter()}),i.registerSeriesType("scatter",_),_}),r(e,"Series/CenteredUtilities.js",[e["Core/Globals.js"],e["Core/Series/Series.js"],e["Core/Utilities.js"]],function(t,i,n){var h,v;let{deg2rad:q}=t,{fireEvent:B,isNumber:Y,pick:_,relativeLength:H}=n;return(v=h||(h={})).getCenter=function(){let E=this.options,N=this.chart,z=2*(E.slicedOffset||0),k=N.plotWidth-2*z,x=N.plotHeight-2*z,P=E.center,L=Math.min(k,x),T=E.thickness,g,M=E.size,Q=E.innerSize||0,W,F;typeof M=="string"&&(M=parseFloat(M)),typeof Q=="string"&&(Q=parseFloat(Q));let f=[_(P[0],"50%"),_(P[1],"50%"),_(M&&M<0?void 0:E.size,"100%"),_(Q&&Q<0?void 0:E.innerSize||0,"0%")];for(!N.angular||this instanceof i||(f[3]=0),W=0;W<4;++W)F=f[W],g=W<2||W===2&&/%$/.test(F),f[W]=H(F,[k,x,L,f[2]][W])+(g?z:0);return f[3]>f[2]&&(f[3]=f[2]),Y(T)&&2*T0&&(u=u/L);break}return v=o._.numberToFormat(u,p,b),v+m},unformat:function(u){var p=o._.stringToNumber(u),b,v;if(p){for(b=a.suffixes.length-1;b>=0;b--){if(o._.includes(u,a.suffixes[b])){v=Math.pow(a.base,b);break}if(o._.includes(u,h.suffixes[b])){v=Math.pow(h.base,b);break}}p*=v||1}return p}})}(),function(){o.register("format","currency",{regexps:{format:/(\$)/},format:function(a,h,c){var g=o.locales[o.options.currentLocale],u={before:h.match(/^([\+|\-|\(|\s|\$]*)/)[0],after:h.match(/([\+|\-|\)|\s|\$]*)$/)[0]},p,b,v;for(h=h.replace(/\s?\$\s?/,""),p=o._.numberToFormat(a,h,c),a>=0?(u.before=u.before.replace(/[\-\(]/,""),u.after=u.after.replace(/[\-\)]/,"")):a<0&&!o._.includes(u.before,"-")&&!o._.includes(u.before,"(")&&(u.before="-"+u.before),v=0;v=u)&&(p===void 0||h<=p)){b=v.color,c&&(c.dataClass=x,c.colorIndex=v.colorIndex);break}}else{for(g=this.normalizedValue(h),x=E.length;x--&&!(g>E[x][0]););u=E[x]||E[x+1],g=1-((p=E[x+1]||u)[0]-g)/(p[0]-u[0]||1),b=u.color.tweenTo(p.color,g)}return b},r}),i(t,"Core/Axis/Color/ColorAxis.js",[t["Core/Axis/Axis.js"],t["Core/Axis/Color/ColorAxisComposition.js"],t["Core/Axis/Color/ColorAxisDefaults.js"],t["Core/Axis/Color/ColorAxisLike.js"],t["Core/Defaults.js"],t["Core/Legend/LegendSymbol.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(e,s,r,n,l,a,h,c){let{defaultOptions:g}=l,{series:u}=h,{defined:p,extend:b,fireEvent:v,isArray:x,isNumber:m,merge:E,pick:L,relativeLength:S}=c;g.colorAxis=E(g.xAxis,r);class w extends e{static compose(O,I,_,P){s.compose(w,O,I,_,P)}constructor(O,I){super(O,I),this.coll="colorAxis",this.visible=!0,this.init(O,I)}init(O,I){let _=O.options.legend||{},P=I.layout?I.layout!=="vertical":_.layout!=="vertical";this.side=I.side||P?2:1,this.reversed=I.reversed||!P,this.opposite=!P,super.init(O,I,"colorAxis"),this.userOptions=I,x(O.userOptions.colorAxis)&&(O.userOptions.colorAxis[this.index]=I),I.dataClasses&&this.initDataClasses(I),this.initStops(),this.horiz=P,this.zoomEnabled=!1}hasData(){return!!(this.tickPositions||[]).length}setTickPositions(){if(!this.dataClasses)return super.setTickPositions()}setOptions(O){let I=E(g.colorAxis,O,{showEmpty:!1,title:null,visible:this.chart.options.legend.enabled&&O.visible!==!1});super.setOptions(I),this.options.crosshair=this.options.marker}setAxisSize(){let O=this.chart,I=this.legendItem?.symbol,{width:_,height:P}=this.getSize();I&&(this.left=+I.attr("x"),this.top=+I.attr("y"),this.width=_=+I.attr("width"),this.height=P=+I.attr("height"),this.right=O.chartWidth-this.left-_,this.bottom=O.chartHeight-this.top-P,this.pos=this.horiz?this.left:this.top),this.len=(this.horiz?_:P)||w.defaultLegendLength}getOffset(){let O=this.legendItem?.group,I=this.chart.axisOffset[this.side];if(O){this.axisParent=O,super.getOffset();let _=this.chart.legend;_.allItems.forEach(function(P){P instanceof w&&P.drawLegendSymbol(_,P)}),_.render(),this.chart.getMargins(!0),this.chart.series.some(P=>P.isDrilling)||(this.isDirty=!0),this.added||(this.added=!0,this.labelLeft=0,this.labelRight=this.width),this.chart.axisOffset[this.side]=I}}setLegendColor(){let O=this.horiz,I=this.reversed,_=I?1:0,P=I?0:1,F=O?[_,0,P,0]:[0,P,0,_];this.legendColor={linearGradient:{x1:F[0],y1:F[1],x2:F[2],y2:F[3]},stops:this.stops}}drawLegendSymbol(O,I){let _=I.legendItem||{},P=O.padding,F=O.options,T=this.options.labels,D=L(F.itemDistance,10),C=this.horiz,{width:d,height:f}=this.getSize(),y=L(F.labelPadding,C?16:30);this.setLegendColor(),_.symbol||(_.symbol=this.chart.renderer.symbol("roundedRect").attr({r:F.symbolRadius??3,zIndex:1}).add(_.group)),_.symbol.attr({x:0,y:(O.baseline||0)-11,width:d,height:f}),_.labelWidth=d+P+(C?D:L(T.x,T.distance)+(this.maxLabelLength||0)),_.labelHeight=f+P+(C?y:0)}setState(O){this.series.forEach(function(I){I.setState(O)})}setVisible(){}getSeriesExtremes(){let O=this.series,I,_,P,F,T,D,C=O.length,d,f;for(this.dataMin=1/0,this.dataMax=-1/0;C--;){if(_=(D=O[C]).colorKey=L(D.options.colorKey,D.colorKey,D.pointValKey,D.zoneAxis,"y"),F=D.pointArrayMap,T=D[_+"Min"]&&D[_+"Max"],D[_+"Data"])I=D[_+"Data"];else if(F){if(I=[],P=F.indexOf(_),d=D.yData,P>=0&&d)for(f=0;f
"},turboThreshold:0,allAreas:!0,borderColor:"#e6e6e6",borderWidth:1,joinBy:"hc-key",states:{hover:{halo:void 0,borderColor:"#666666",borderWidth:2},normal:{animation:!0},select:{color:"#cccccc"}},legendSymbol:"rectangle"}}),i(t,"Maps/MapViewDefaults.js",[],function(){return{center:[0,0],fitToGeometry:void 0,maxZoom:void 0,padding:0,projection:{name:void 0,parallels:void 0,rotation:void 0},zoom:void 0,insetOptions:{borderColor:"#cccccc",borderWidth:1,padding:"10%",relativeTo:"mapBoundingBox",units:"percent"}}}),i(t,"Maps/GeoJSONComposition.js",[t["Core/Globals.js"],t["Core/Templating.js"],t["Core/Utilities.js"]],function(e,s,r){var n;let{win:l}=e,{format:a}=s,{error:h,extend:c,merge:g,wrap:u}=r;return function(p){function b(S){return this.mapView&&this.mapView.lonLatToProjectedUnits(S)}function v(S){return this.mapView&&this.mapView.projectedUnitsToLonLat(S)}function x(S,w){let k=this.options.chart.proj4||l.proj4;if(!k){h(21,!1,this);return}let{jsonmarginX:O=0,jsonmarginY:I=0,jsonres:_=1,scale:P=1,xoffset:F=0,xpan:T=0,yoffset:D=0,ypan:C=0}=w,d=k(w.crs,[S.lon,S.lat]),f=w.cosAngle||w.rotation&&Math.cos(w.rotation),y=w.sinAngle||w.rotation&&Math.sin(w.rotation),M=w.rotation?[d[0]*f+d[1]*y,-d[0]*y+d[1]*f]:d;return{x:((M[0]-F)*P+T)*_+O,y:-(((D-M[1])*P+C)*_-I)}}function m(S,w){let k=this.options.chart.proj4||l.proj4;if(!k){h(21,!1,this);return}if(S.y===null)return;let{jsonmarginX:O=0,jsonmarginY:I=0,jsonres:_=1,scale:P=1,xoffset:F=0,xpan:T=0,yoffset:D=0,ypan:C=0}=w,d={x:((S.x-O)/_-T)/P+F,y:((S.y-I)/_+C)/P+D},f=w.cosAngle||w.rotation&&Math.cos(w.rotation),y=w.sinAngle||w.rotation&&Math.sin(w.rotation),M=k(w.crs,"WGS84",w.rotation?{x:d.x*f+-(d.y*y),y:d.x*y+d.y*f}:d);return{lat:M.y,lon:M.x}}function E(S,w){w||(w=Object.keys(S.objects)[0]);let k=S.objects[w];if(k["hc-decoded-geojson"]&&k["hc-decoded-geojson"].title===S.title)return k["hc-decoded-geojson"];let O=S.arcs;if(S.transform){let T,D,C,d=S.arcs,{scale:f,translate:y}=S.transform;O=[];for(let M=0,R=d.length;M
'},trackByArea:!0,dataLabels:{align:void 0,verticalAlign:void 0,xLow:0,xHigh:0,yLow:0,yHigh:0}}),g(E,"afterTranslate",function(){this.pointArrayMap.join(",")==="low,high"&&this.points.forEach(L=>{let S=L.high,w=L.plotY;L.isNull?L.plotY=void 0:(L.plotLow=w,L.plotHigh=v(S)?this.yAxis.translate(this.dataModify?this.dataModify.modifyValue(S):S,!1,!0,void 0,!0):void 0,this.dataModify&&(L.yBottom=L.plotHigh))})},{order:0}),g(E,"afterTranslate",function(){this.points.forEach(L=>{if(this.chart.polar)this.highToXY(L),L.plotLow=L.plotY,L.tooltipPos=[((L.plotHighX||0)+(L.plotLowX||0))/2,((L.plotHigh||0)+(L.plotLow||0))/2];else{let S=L.pos(!1,L.plotLow),w=L.pos(!1,L.plotHigh);S&&w&&(S[0]=(S[0]+w[0])/2,S[1]=(S[1]+w[1])/2),L.tooltipPos=S}})},{order:3}),p(E.prototype,{deferTranslatePolar:!0,pointArrayMap:["low","high"],pointClass:e,pointValKey:"low",setStackedPoints:l}),r.registerSeriesType("arearange",E),E}),i(t,"Series/AreaSplineRange/AreaSplineRangeSeries.js",[t["Series/AreaRange/AreaRangeSeries.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(e,s,r){let{spline:{prototype:n}}=s.seriesTypes,{merge:l,extend:a}=r;class h extends e{}return h.defaultOptions=l(e.defaultOptions),a(h.prototype,{getPointSpline:n.getPointSpline}),s.registerSeriesType("areasplinerange",h),h}),i(t,"Series/BoxPlot/BoxPlotSeriesDefaults.js",[],function(){return{threshold:null,tooltip:{pointFormat:'\u25CF {series.name}
Maximum: {point.high}
Upper quartile: {point.q3}
Median: {point.median}
Lower quartile: {point.q1}
Minimum: {point.low}
'},whiskerLength:"50%",fillColor:"#ffffff",lineWidth:1,medianWidth:2,whiskerWidth:2}}),i(t,"Series/BoxPlot/BoxPlotSeries.js",[t["Series/BoxPlot/BoxPlotSeriesDefaults.js"],t["Series/Column/ColumnSeries.js"],t["Core/Globals.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(e,s,r,n,l){let{noop:a}=r,{crisp:h,extend:c,merge:g,pick:u}=l;class p extends s{pointAttribs(){return{}}translate(){let v=this.yAxis,x=this.pointArrayMap;super.translate.apply(this),this.points.forEach(function(m){x.forEach(function(E){m[E]!==null&&(m[E+"Plot"]=v.translate(m[E],0,1,0,1))}),m.plotHigh=m.highPlot})}drawPoints(){let v,x,m,E,L,S,w,k,O,I,_,P,F,T=this.points,D=this.options,C=this.chart,d=C.renderer,f=this.doQuartiles!==!1,y=this.options.whiskerLength;for(let M of T){let R=(k=M.graphic)?"animate":"attr",A=M.shapeArgs,z={},N={},G={},X={},j=M.color||this.color;if(M.plotY!==void 0){let B;O=A.width,_=(I=A.x)+O,P=O/2,v=f?M.q1Plot:M.lowPlot,x=f?M.q3Plot:M.lowPlot,m=M.highPlot,E=M.lowPlot,k||(M.graphic=k=d.g("point").add(this.group),M.stem=d.path().addClass("highcharts-boxplot-stem").add(k),y&&(M.whiskers=d.path().addClass("highcharts-boxplot-whisker").add(k)),f&&(M.box=d.path(w).addClass("highcharts-boxplot-box").add(k)),M.medianShape=d.path(S).addClass("highcharts-boxplot-median").add(k)),C.styledMode||(N.stroke=M.stemColor||D.stemColor||j,N["stroke-width"]=u(M.stemWidth,D.stemWidth,D.lineWidth),N.dashstyle=M.stemDashStyle||D.stemDashStyle||D.dashStyle,M.stem.attr(N),y&&(G.stroke=M.whiskerColor||D.whiskerColor||j,G["stroke-width"]=u(M.whiskerWidth,D.whiskerWidth,D.lineWidth),G.dashstyle=M.whiskerDashStyle||D.whiskerDashStyle||D.dashStyle,M.whiskers.attr(G)),f&&(z.fill=M.fillColor||D.fillColor||j,z.stroke=D.lineColor||j,z["stroke-width"]=D.lineWidth||0,z.dashstyle=M.boxDashStyle||D.boxDashStyle||D.dashStyle,M.box.attr(z)),X.stroke=M.medianColor||D.medianColor||j,X["stroke-width"]=u(M.medianWidth,D.medianWidth,D.lineWidth),X.dashstyle=M.medianDashStyle||D.medianDashStyle||D.dashStyle,M.medianShape.attr(X));let W=h(M.plotX||0,M.stem.strokeWidth());if(B=[["M",W,x],["L",W,m],["M",W,v],["L",W,E]],M.stem[R]({d:B}),f){let Y=M.box.strokeWidth();v=h(v,Y),x=h(x,Y),B=[["M",I=h(I,Y),x],["L",I,v],["L",_=h(_,Y),v],["L",_,x],["L",I,x],["Z"]],M.box[R]({d:B})}if(y){let Y=M.whiskers.strokeWidth();m=h(M.highPlot,Y),E=h(M.lowPlot,Y),B=[["M",h(W-(F=typeof y=="string"&&/%$/.test(y)?P*parseFloat(y)/100:Number(y)/2)),m],["L",h(W+F),m],["M",h(W-F),E],["L",h(W+F),E]],M.whiskers[R]({d:B})}B=[["M",I,L=h(M.medianPlot,M.medianShape.strokeWidth())],["L",_,L]],M.medianShape[R]({d:B})}}}toYData(v){return[v.low,v.q1,v.median,v.q3,v.high]}}return p.defaultOptions=g(s.defaultOptions,e),c(p.prototype,{pointArrayMap:["low","q1","median","q3","high"],pointValKey:"high",drawDataLabels:a,setStackedPoints:a}),n.registerSeriesType("boxplot",p),p}),i(t,"Series/Bubble/BubbleLegendDefaults.js",[],function(){return{borderColor:void 0,borderWidth:2,className:void 0,color:void 0,connectorClassName:void 0,connectorColor:void 0,connectorDistance:60,connectorWidth:1,enabled:!1,labels:{className:void 0,allowOverlap:!1,format:"",formatter:void 0,align:"right",style:{fontSize:"0.9em",color:"#000000"},x:0,y:0},maxSize:60,minSize:10,legendIndex:0,ranges:{value:void 0,borderColor:void 0,color:void 0,connectorColor:void 0},sizeBy:"area",sizeByAbsoluteValue:!1,zIndex:1,zThreshold:0}}),i(t,"Series/Bubble/BubbleLegendItem.js",[t["Core/Color/Color.js"],t["Core/Templating.js"],t["Core/Globals.js"],t["Core/Utilities.js"]],function(e,s,r,n){let{parse:l}=e,{noop:a}=r,{arrayMax:h,arrayMin:c,isNumber:g,merge:u,pick:p,stableSort:b}=n;return class{constructor(v,x){this.setState=a,this.init(v,x)}init(v,x){this.options=v,this.visible=!0,this.chart=x.chart,this.legend=x}addToLegend(v){v.splice(this.options.legendIndex,0,this)}drawLegendSymbol(v){let x,m=p(v.options.itemDistance,20),E=this.legendItem||{},L=this.options,S=L.ranges,w=L.connectorDistance;if(!S||!S.length||!g(S[0].value)){v.options.bubbleLegend.autoRanges=!0;return}b(S,function(_,P){return P.value-_.value}),this.ranges=S,this.setOptions(),this.render();let k=this.getMaxLabelSize(),O=this.ranges[0].radius,I=2*O;x=(x=w-O+k.width)>0?x:0,this.maxLabel=k,this.movementX=L.labels.align==="left"?x:0,E.labelWidth=I+x+m,E.labelHeight=I+k.height/2}setOptions(){let v=this.ranges,x=this.options,m=this.chart.series[x.seriesIndex],E=this.legend.baseline,L={zIndex:x.zIndex,"stroke-width":x.borderWidth},S={zIndex:x.zIndex,"stroke-width":x.connectorWidth},w={align:this.legend.options.rtl||x.labels.align==="left"?"right":"left",zIndex:x.zIndex},k=m.options.marker.fillOpacity,O=this.chart.styledMode;v.forEach(function(I,_){O||(L.stroke=p(I.borderColor,x.borderColor,m.color),L.fill=p(I.color,x.color,k!==1?l(m.color).setOpacity(k).get("rgba"):m.color),S.stroke=p(I.connectorColor,x.connectorColor,m.color)),v[_].radius=this.getRangeRadius(I.value),v[_]=u(v[_],{center:v[0].radius-v[_].radius+E}),O||u(!0,v[_],{bubbleAttribs:u(L),connectorAttribs:u(S),labelAttribs:w})},this)}getRangeRadius(v){let x=this.options,m=this.options.seriesIndex,E=this.chart.series[m],L=x.ranges[0].value,S=x.ranges[x.ranges.length-1].value,w=x.minSize,k=x.maxSize;return E.getRadius.call(this,S,L,w,k,v)}render(){let v=this.legendItem||{},x=this.chart.renderer,m=this.options.zThreshold;for(let E of(this.symbols||(this.symbols={connectors:[],bubbleItems:[],labels:[]}),v.symbol=x.g("bubble-legend"),v.label=x.g("bubble-legend-item").css(this.legend.itemStyle||{}),v.symbol.translateX=0,v.symbol.translateY=0,v.symbol.add(v.label),v.label.add(v.group),this.ranges))E.value>=m&&this.renderRange(E);this.hideOverlappingLabels()}renderRange(v){let x=this.ranges[0],m=this.legend,E=this.options,L=E.labels,S=this.chart,w=S.series[E.seriesIndex],k=S.renderer,O=this.symbols,I=O.labels,_=v.center,P=Math.abs(v.radius),F=E.connectorDistance||0,T=L.align,D=m.options.rtl,C=E.borderWidth,d=E.connectorWidth,f=x.radius||0,y=_-P-C/2+d/2,M=(y%1?1:.5)-(d%2?0:.5),R=k.styledMode,A=D||T==="left"?-F:F;T==="center"&&(A=0,E.connectorDistance=0,v.labelAttribs.align="center"),O.bubbleItems.push(k.circle(f,_+M,P).attr(R?{}:v.bubbleAttribs).addClass((R?"highcharts-color-"+w.colorIndex+" ":"")+"highcharts-bubble-legend-symbol "+(E.className||"")).add(this.legendItem.symbol)),O.connectors.push(k.path(k.crispLine([["M",f,y],["L",f+A,y]],E.connectorWidth)).attr(R?{}:v.connectorAttribs).addClass((R?"highcharts-color-"+this.options.seriesIndex+" ":"")+"highcharts-bubble-legend-connectors "+(E.connectorClassName||"")).add(this.legendItem.symbol));let z=k.text(this.formatLabel(v)).attr(R?{}:v.labelAttribs).css(R?{}:L.style).addClass("highcharts-bubble-legend-labels "+(E.labels.className||"")).add(this.legendItem.symbol),N={x:f+A+E.labels.x,y:y+E.labels.y+.4*z.getBBox().height};z.attr(N),I.push(z),z.placed=!0,z.alignAttr=N}getMaxLabelSize(){let v,x;return this.symbols.labels.forEach(function(m){x=m.getBBox(!0),v=v?x.width>v.width?x:v:x}),v||{}}formatLabel(v){let x=this.options,m=x.labels.formatter,E=x.labels.format,{numberFormatter:L}=this.chart;return E?s.format(E,v):m?m.call(v):L(v.value,1)}hideOverlappingLabels(){let v=this.chart,x=this.options.labels.allowOverlap,m=this.symbols;!x&&m&&(v.hideOverlappingLabels(m.labels),m.labels.forEach(function(E,L){E.newOpacity?E.newOpacity!==E.oldOpacity&&m.connectors[L].show():m.connectors[L].hide()}))}getRanges(){let v=this.legend.bubbleLegend,x=v.chart.series,m=v.options.ranges,E,L,S=Number.MAX_VALUE,w=-Number.MAX_VALUE;return x.forEach(function(k){k.isBubble&&!k.ignoreSeries&&(L=k.zData.filter(g)).length&&(S=p(k.options.zMin,Math.min(S,Math.max(c(L),k.options.displayNegative===!1?k.options.zThreshold:-Number.MAX_VALUE))),w=p(k.options.zMax,Math.max(w,h(L))))}),E=S===w?[{value:w}]:[{value:S},{value:(S+w)/2},{value:w,autoRanges:!0}],m.length&&m[0].radius&&E.reverse(),E.forEach(function(k,O){m&&m[O]&&(E[O]=u(m[O],k))}),E}predictBubbleSizes(){let v=this.chart,x=v.legend.options,m=x.floating,E=x.layout==="horizontal",L=E?v.legend.lastLineHeight:0,S=v.plotSizeX,w=v.plotSizeY,k=v.series[this.options.seriesIndex],O=k.getPxExtremes(),I=Math.ceil(O.minPxSize),_=Math.ceil(O.maxPxSize),P,F=k.options.maxSize;return m||!/%$/.test(F)?P=_:(P=(Math.min(w,S)+L)*(F=parseFloat(F))/100/(F/100+1),(E&&w-P>=S||!E&&S-P>=w)&&(P=_)),[I,Math.ceil(P)]}updateRanges(v,x){let m=this.legend.options.bubbleLegend;m.minSize=v,m.maxSize=x,m.ranges=this.getRanges()}correctSizes(){let v=this.legend,x=this.chart.series[this.options.seriesIndex].getPxExtremes();Math.abs(Math.ceil(x.maxPxSize)-this.options.maxSize)>1&&(this.updateRanges(this.options.minSize,x.maxPxSize),v.render())}}}),i(t,"Series/Bubble/BubbleLegendComposition.js",[t["Series/Bubble/BubbleLegendDefaults.js"],t["Series/Bubble/BubbleLegendItem.js"],t["Core/Defaults.js"],t["Core/Globals.js"],t["Core/Utilities.js"]],function(e,s,r,n,l){let{setOptions:a}=r,{composed:h}=n,{addEvent:c,objectEach:g,pushUnique:u,wrap:p}=l;function b(S,w,k){let O,I,_,P=this.legend,F=v(this)>=0;P&&P.options.enabled&&P.bubbleLegend&&P.options.bubbleLegend.autoRanges&&F?(O=P.bubbleLegend.options,I=P.bubbleLegend.predictBubbleSizes(),P.bubbleLegend.updateRanges(I[0],I[1]),O.placed||(P.group.placed=!1,P.allItems.forEach(T=>{(_=T.legendItem||{}).group&&(_.group.translateY=void 0)})),P.render(),O.placed||(this.getMargins(),this.axes.forEach(function(T){T.visible&&T.render(),O.placed||(T.setScale(),T.updateNames(),g(T.ticks,function(D){D.isNew=!0,D.isNewLabel=!0}))}),this.getMargins()),O.placed=!0,S.call(this,w,k),P.bubbleLegend.correctSizes(),L(P,x(P))):(S.call(this,w,k),P&&P.options.enabled&&P.bubbleLegend&&(P.render(),L(P,x(P))))}function v(S){let w=S.series,k=0;for(;k
'},whiskerWidth:null}}),i(t,"Series/ErrorBar/ErrorBarSeries.js",[t["Series/BoxPlot/BoxPlotSeries.js"],t["Series/Column/ColumnSeries.js"],t["Series/ErrorBar/ErrorBarSeriesDefaults.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(e,s,r,n,l){let{arearange:a}=n.seriesTypes,{addEvent:h,merge:c,extend:g}=l;class u extends e{getColumnMetrics(){return this.linkedParent&&this.linkedParent.columnMetrics||s.prototype.getColumnMetrics.call(this)}drawDataLabels(){let b=this.pointValKey;if(a)for(let v of(a.prototype.drawDataLabels.call(this),this.points))v.y=v[b]}toYData(b){return[b.low,b.high]}}return u.defaultOptions=c(e.defaultOptions,r),h(u,"afterTranslate",function(){for(let p of this.points)p.plotLow=p.plotY},{order:0}),g(u.prototype,{pointArrayMap:["low","high"],pointValKey:"high",doQuartiles:!1}),n.registerSeriesType("errorbar",u),u}),i(t,"Series/Gauge/GaugePoint.js",[t["Core/Series/SeriesRegistry.js"]],function(e){let{series:{prototype:{pointClass:s}}}=e;return class extends s{setState(r){this.state=r}}}),i(t,"Series/Gauge/GaugeSeries.js",[t["Series/Gauge/GaugePoint.js"],t["Core/Globals.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(e,s,r,n){let{noop:l}=s,{series:a,seriesTypes:{column:h}}=r,{clamp:c,isNumber:g,extend:u,merge:p,pick:b,pInt:v,defined:x}=n;class m extends a{translate(){let L=this.yAxis,S=this.options,w=L.center;this.generatePoints(),this.points.forEach(k=>{let O=p(S.dial,k.dial),I=v(O.radius)*w[2]/200,_=v(O.baseLength)*I/100,P=v(O.rearLength)*I/100,F=O.baseWidth,T=O.topWidth,D=S.overshoot,C=L.startAngleRad+L.translate(k.y,void 0,void 0,void 0,!0);(g(D)||S.wrap===!1)&&(D=g(D)?D/180*Math.PI:0,C=c(C,L.startAngleRad-D,L.endAngleRad+D)),C=180*C/Math.PI,k.shapeType="path";let d=O.path||[["M",-P,-F/2],["L",_,-F/2],["L",I,-T/2],["L",I,T/2],["L",_,F/2],["L",-P,F/2],["Z"]];k.shapeArgs={d,translateX:w[0],translateY:w[1],rotation:C},k.plotX=w[0],k.plotY=w[1],x(k.y)&&L.max-L.min&&(k.percentage=(k.y-L.min)/(L.max-L.min)*100)})}drawPoints(){let L=this,S=L.chart,w=L.yAxis.center,k=L.pivot,O=L.options,I=O.pivot,_=S.renderer;L.points.forEach(P=>{let F=P.graphic,T=P.shapeArgs,D=T.d,C=p(O.dial,P.dial);F?(F.animate(T),T.d=D):P.graphic=_[P.shapeType](T).addClass("highcharts-dial").add(L.group),S.styledMode||P.graphic[F?"animate":"attr"]({stroke:C.borderColor,"stroke-width":C.borderWidth,fill:C.backgroundColor})}),k?k.animate({translateX:w[0],translateY:w[1]}):I&&(L.pivot=_.circle(0,0,I.radius).attr({zIndex:2}).addClass("highcharts-pivot").translate(w[0],w[1]).add(L.group),S.styledMode||L.pivot.attr({fill:I.backgroundColor,stroke:I.borderColor,"stroke-width":I.borderWidth}))}animate(L){let S=this;L||S.points.forEach(w=>{let k=w.graphic;k&&(k.attr({rotation:180*S.yAxis.startAngleRad/Math.PI}),k.animate({rotation:w.shapeArgs.rotation},S.options.animation))})}render(){this.group=this.plotGroup("group","series",this.visible?"inherit":"hidden",this.options.zIndex,this.chart.seriesGroup),a.prototype.render.call(this),this.group.clip(this.chart.clipRect)}setData(L,S){a.prototype.setData.call(this,L,!1),this.processData(),this.generatePoints(),b(S,!0)&&this.chart.redraw()}hasData(){return!!this.points.length}}return m.defaultOptions=p(a.defaultOptions,{dataLabels:{borderColor:"#cccccc",borderRadius:3,borderWidth:1,crop:!1,defer:!1,enabled:!0,verticalAlign:"top",y:15,zIndex:2},dial:{backgroundColor:"#000000",baseLength:"70%",baseWidth:3,borderColor:"#cccccc",borderWidth:0,radius:"80%",rearLength:"10%",topWidth:1},pivot:{radius:5,borderWidth:0,borderColor:"#cccccc",backgroundColor:"#000000"},tooltip:{headerFormat:""},showInLegend:!1}),u(m.prototype,{angular:!0,directTouch:!0,drawGraph:l,drawTracker:h.prototype.drawTracker,fixedBox:!0,forceDL:!0,noSharedTooltip:!0,pointClass:e,trackerGroups:["group","dataLabelsGroup"]}),r.registerSeriesType("gauge",m),m}),i(t,"Series/DragNodesComposition.js",[t["Core/Globals.js"],t["Core/Utilities.js"]],function(e,s){let{composed:r}=e,{addEvent:n,pushUnique:l}=s;function a(){let h,c,g,u=this;u.container&&(h=n(u.container,"mousedown",p=>{let b=u.hoverPoint;b&&b.series&&b.series.hasDraggableNodes&&b.series.options.draggable&&(b.series.onMouseDown(b,p),c=n(u.container,"mousemove",v=>b&&b.series&&b.series.onMouseMove(b,v)),g=n(u.container.ownerDocument,"mouseup",v=>(c(),g(),b&&b.series&&b.series.onMouseUp(b,v))))})),n(u,"destroy",function(){h()})}return{compose:function(h){l(r,"DragNodes")&&n(h,"load",a)},onMouseDown:function(h,c){let g=this.chart.pointer?.normalize(c)||c;h.fixedPosition={chartX:g.chartX,chartY:g.chartY,plotX:h.plotX,plotY:h.plotY},h.inDragMode=!0},onMouseMove:function(h,c){if(h.fixedPosition&&h.inDragMode){let g,u,p=this.chart,b=p.pointer?.normalize(c)||c,v=h.fixedPosition.chartX-b.chartX,x=h.fixedPosition.chartY-b.chartY,m=p.graphLayoutsLookup;(Math.abs(v)>5||Math.abs(x)>5)&&(g=h.fixedPosition.plotX-v,u=h.fixedPosition.plotY-x,p.isInsidePlot(g,u)&&(h.plotX=g,h.plotY=u,h.hasDragged=!0,this.redrawHalo(h),m.forEach(E=>{E.restartSimulation()})))}},onMouseUp:function(h){h.fixedPosition&&(h.hasDragged&&(this.layout.enableSimulation?this.layout.start():this.chart.redraw()),h.inDragMode=h.hasDragged=!1,this.options.fixedDraggable||delete h.fixedPosition)},redrawHalo:function(h){h&&this.halo&&this.halo.attr({d:h.haloPath(this.options.states.hover.halo.size)})}}}),i(t,"Series/GraphLayoutComposition.js",[t["Core/Animation/AnimationUtilities.js"],t["Core/Globals.js"],t["Core/Utilities.js"]],function(e,s,r){let{setAnimation:n}=e,{composed:l}=s,{addEvent:a,pushUnique:h}=r;function c(){this.graphLayoutsLookup&&(this.graphLayoutsLookup.forEach(b=>{b.updateSimulation()}),this.redraw())}function g(){this.graphLayoutsLookup&&(this.graphLayoutsLookup.forEach(b=>{b.updateSimulation(!1)}),this.redraw())}function u(){this.graphLayoutsLookup&&this.graphLayoutsLookup.forEach(b=>{b.stop()})}function p(){let b,v=!1,x=m=>{m.maxIterations--&&isFinite(m.temperature)&&!m.isStable()&&!m.enableSimulation&&(m.beforeStep&&m.beforeStep(),m.step(),b=!1,v=!0)};if(this.graphLayoutsLookup){for(n(!1,this),this.graphLayoutsLookup.forEach(m=>m.start());!b;)b=!0,this.graphLayoutsLookup.forEach(x);v&&this.series.forEach(m=>{m&&m.layout&&m.render()})}}return{compose:function(b){h(l,"GraphLayout")&&(a(b,"afterPrint",c),a(b,"beforePrint",g),a(b,"predraw",u),a(b,"render",p))},integrations:{},layouts:{}}}),i(t,"Series/PackedBubble/PackedBubblePoint.js",[t["Core/Chart/Chart.js"],t["Core/Series/Point.js"],t["Core/Series/SeriesRegistry.js"]],function(e,s,r){let{seriesTypes:{bubble:{prototype:{pointClass:n}}}}=r;return class extends n{destroy(){return this.series.layout&&this.series.layout.removeElementFromCollection(this,this.series.layout.nodes),s.prototype.destroy.apply(this,arguments)}firePointEvent(){let l=this.series.options;if(this.isParentNode&&l.parentNode){let a=l.allowPointSelect;l.allowPointSelect=l.parentNode.allowPointSelect,s.prototype.firePointEvent.apply(this,arguments),l.allowPointSelect=a}else s.prototype.firePointEvent.apply(this,arguments)}select(){let l=this.series.chart;this.isParentNode?(l.getSelectedPoints=l.getSelectedParentNodes,s.prototype.select.apply(this,arguments),l.getSelectedPoints=e.prototype.getSelectedPoints):s.prototype.select.apply(this,arguments)}}}),i(t,"Series/PackedBubble/PackedBubbleSeriesDefaults.js",[t["Core/Utilities.js"]],function(e){let{isNumber:s}=e;return{minSize:"10%",maxSize:"50%",sizeBy:"area",zoneAxis:"y",crisp:!1,tooltip:{pointFormat:"Value: {point.value}"},draggable:!0,useSimulation:!0,parentNode:{allowPointSelect:!1},dataLabels:{formatter:function(){let{numberFormatter:r}=this.series.chart,{value:n}=this.point;return s(n)?r(n,-1):""},parentNodeFormatter:function(){return this.name},parentNodeTextPath:{enabled:!0},padding:0,style:{transition:"opacity 2000ms"}},layoutAlgorithm:{initialPositions:"circle",initialPositionRadius:20,bubblePadding:5,parentNodeLimit:!1,seriesInteraction:!0,dragBetweenSeries:!1,parentNodeOptions:{maxIterations:400,gravitationalConstant:.03,maxSpeed:50,initialPositionRadius:100,seriesInteraction:!0,marker:{fillColor:null,fillOpacity:1,lineWidth:null,lineColor:null,symbol:"circle"}},enableSimulation:!0,type:"packedbubble",integration:"packedbubble",maxIterations:1e3,splitSeries:!1,maxSpeed:5,gravitationalConstant:.01,friction:-.981}}}),i(t,"Series/Networkgraph/VerletIntegration.js",[],function(){return{attractive:function(e,s,r){let n=e.getMass(),l=-r.x*s*this.diffTemperature,a=-r.y*s*this.diffTemperature;e.fromNode.fixedPosition||(e.fromNode.plotX-=l*n.fromNode/e.fromNode.degree,e.fromNode.plotY-=a*n.fromNode/e.fromNode.degree),e.toNode.fixedPosition||(e.toNode.plotX+=l*n.toNode/e.toNode.degree,e.toNode.plotY+=a*n.toNode/e.toNode.degree)},attractiveForceFunction:function(e,s){return(s-e)/e},barycenter:function(){let e=this.options.gravitationalConstant||0,s=(this.barycenter.xFactor-(this.box.left+this.box.width)/2)*e,r=(this.barycenter.yFactor-(this.box.top+this.box.height)/2)*e;this.nodes.forEach(function(n){n.fixedPosition||(n.plotX-=s/n.mass/n.degree,n.plotY-=r/n.mass/n.degree)})},getK:function(e){return Math.pow(e.box.width*e.box.height/e.nodes.length,.5)},integrate:function(e,s){let r=-e.options.friction,n=e.options.maxSpeed,l=s.prevX,a=s.prevY,h=(s.plotX+s.dispX-l)*r,c=(s.plotY+s.dispY-a)*r,g=Math.abs,u=g(h)/(h||1),p=g(c)/(c||1),b=u*Math.min(n,Math.abs(h)),v=p*Math.min(n,Math.abs(c));s.prevX=s.plotX+s.dispX,s.prevY=s.plotY+s.dispY,s.plotX+=b,s.plotY+=v,s.temperature=e.vectorLength({x:b,y:v})},repulsive:function(e,s,r){let n=s*this.diffTemperature/e.mass/e.degree;e.fixedPosition||(e.plotX+=r.x*n,e.plotY+=r.y*n)},repulsiveForceFunction:function(e,s){return(s-e)/e*(s>e?1:0)}}}),i(t,"Series/PackedBubble/PackedBubbleIntegration.js",[t["Core/Globals.js"],t["Series/Networkgraph/VerletIntegration.js"]],function(e,s){let{noop:r}=e;return{barycenter:function(){let n,l,a=this.options.gravitationalConstant,h=this.box,c=this.nodes;for(let g of c)this.options.splitSeries&&!g.isParentNode?(n=g.series.parentNode.plotX,l=g.series.parentNode.plotY):(n=h.width/2,l=h.height/2),g.fixedPosition||(g.plotX-=(g.plotX-n)*a/(g.mass*Math.sqrt(c.length)),g.plotY-=(g.plotY-l)*a/(g.mass*Math.sqrt(c.length)))},getK:r,integrate:s.integrate,repulsive:function(n,l,a,h){let c=l*this.diffTemperature/n.mass/n.degree,g=a.x*c,u=a.y*c;n.fixedPosition||(n.plotX+=g,n.plotY+=u),h.fixedPosition||(h.plotX-=g,h.plotY-=u)},repulsiveForceFunction:function(n,l,a,h){return Math.min(n,(a.marker.radius+h.marker.radius)/2)}}}),i(t,"Series/Networkgraph/EulerIntegration.js",[],function(){return{attractive:function(e,s,r,n){let l=e.getMass(),a=r.x/n*s,h=r.y/n*s;e.fromNode.fixedPosition||(e.fromNode.dispX-=a*l.fromNode/e.fromNode.degree,e.fromNode.dispY-=h*l.fromNode/e.fromNode.degree),e.toNode.fixedPosition||(e.toNode.dispX+=a*l.toNode/e.toNode.degree,e.toNode.dispY+=h*l.toNode/e.toNode.degree)},attractiveForceFunction:function(e,s){return e*e/s},barycenter:function(){let e=this.options.gravitationalConstant,s=this.barycenter.xFactor,r=this.barycenter.yFactor;this.nodes.forEach(function(n){if(!n.fixedPosition){let l=n.getDegree(),a=l*(1+l/2);n.dispX+=(s-n.plotX)*e*a/n.degree,n.dispY+=(r-n.plotY)*e*a/n.degree}})},getK:function(e){return Math.pow(e.box.width*e.box.height/e.nodes.length,.3)},integrate:function(e,s){s.dispX+=s.dispX*e.options.friction,s.dispY+=s.dispY*e.options.friction;let r=s.temperature=e.vectorLength({x:s.dispX,y:s.dispY});r!==0&&(s.plotX+=s.dispX/r*Math.min(Math.abs(s.dispX),e.temperature),s.plotY+=s.dispY/r*Math.min(Math.abs(s.dispY),e.temperature))},repulsive:function(e,s,r,n){e.dispX+=r.x/n*s/e.degree,e.dispY+=r.y/n*s/e.degree},repulsiveForceFunction:function(e,s){return s*s/e}}}),i(t,"Series/Networkgraph/QuadTreeNode.js",[],function(){class e{constructor(r){this.body=!1,this.isEmpty=!1,this.isInternal=!1,this.nodes=[],this.box=r,this.boxSize=Math.min(r.width,r.height)}divideBox(){let r=this.box.width/2,n=this.box.height/2;this.nodes[0]=new e({left:this.box.left,top:this.box.top,width:r,height:n}),this.nodes[1]=new e({left:this.box.left+r,top:this.box.top,width:r,height:n}),this.nodes[2]=new e({left:this.box.left+r,top:this.box.top+n,width:r,height:n}),this.nodes[3]=new e({left:this.box.left,top:this.box.top+n,width:r,height:n})}getBoxPosition(r){let n=r.plotX
"},ignoreHiddenPoint:!0,layoutAlgorithm:"sliceAndDice",layoutStartingDirection:"vertical",alternateStartingDirection:!1,levelIsConstant:!0,traverseUpButton:{position:{align:"right",x:-10,y:10}},borderColor:"#e6e6e6",borderWidth:1,colorKey:"colorValue",opacity:.15,states:{hover:{borderColor:"#999999",brightness:e.seriesTypes.heatmap?0:.1,halo:!1,opacity:.75,shadow:!1}},legendSymbol:"rectangle"}}),i(t,"Series/Treemap/TreemapUtilities.js",[],function(){var e;return(e||(e={})).recursive=function s(r,n,l){let a=n.call(l||this,r);a!==!1&&s(a,n,l)},e}),i(t,"Series/TreeUtilities.js",[t["Core/Color/Color.js"],t["Core/Utilities.js"]],function(e,s){let{extend:r,isArray:n,isNumber:l,isObject:a,merge:h,pick:c,relativeLength:g}=s;return{getColor:function(u,p){let b,v,x,m,E,L,S=p.index,w=p.mapOptionsToLevel,k=p.parentColor,O=p.parentColorIndex,I=p.series,_=p.colors,P=p.siblings,F=I.points,T=I.chart.options.chart;return u&&(b=F[u.i],v=w[u.level]||{},b&&v.colorByPoint&&(m=b.index%(_?_.length:T.colorCount),x=_&&_[m]),I.chart.styledMode||(E=c(b&&b.options.color,v&&v.color,x,k&&(D=>{let C=v&&v.colorVariation;return C&&C.key==="brightness"&&S&&P?e.parse(D).brighten(C.to*(S/P)).get():D})(k),I.color)),L=c(b&&b.options.colorIndex,v&&v.colorIndex,m,O,p.colorIndex)),{color:E,colorIndex:L}},getLevelOptions:function(u){let p,b,v,x,m,E,L={};if(a(u))for(x=l(u.from)?u.from:1,E=u.levels,b={},p=a(u.defaults)?u.defaults:{},n(E)&&(b=E.reduce((S,w)=>{let k,O,I;return a(w)&&l(w.level)&&(O=c((I=h({},w)).levelIsConstant,p.levelIsConstant),delete I.levelIsConstant,delete I.level,a(S[k=w.level+(O?0:x-1)])?h(!0,S[k],I):S[k]=I),S},{})),m=l(u.to)?u.to:1,v=0;v<=m;v++)L[v]=h({},p,a(b[v])?b[v]:{});return L},getNodeWidth:function(u,p){let{chart:b,options:v}=u,{nodeDistance:x=0,nodeWidth:m=0}=v,{plotSizeX:E=1}=b;if(m==="auto"){if(typeof x=="string"&&/%$/.test(x))return E/(p+parseFloat(x)/100*(p-1));let L=Number(x);return(E+L)/(p||1)-L}return g(m,E)},setTreeValues:function u(p,b){let v=b.before,x=b.idRoot,m=b.mapIdToNode[x],E=b.levelIsConstant!==!1,L=b.points[p.i],S=L&&L.options||{},w=[],k=0;p.levelDynamic=p.level-(E?0:m.level),p.name=c(L&&L.name,""),p.visible=x===p.id||b.visible===!0,typeof v=="function"&&(p=v(p,b)),p.children.forEach((I,_)=>{let P=r({},b);r(P,{index:_,siblings:p.children.length,visible:p.visible}),I=u(I,P),w.push(I),I.visible&&(k+=I.val)});let O=c(S.value,k);return p.visible=O>=0&&(k>0||p.visible),p.children=w,p.childrenTotal=k,p.isLeaf=p.visible&&!k,p.val=O,p},updateRootId:function(u){let p,b;return a(u)&&(b=a(u.options)?u.options:{},p=c(u.rootNode,b.rootId,""),a(u.userOptions)&&(u.userOptions.rootId=p),u.rootNode=p),p}}}),i(t,"Series/Treemap/TreemapSeries.js",[t["Extensions/Breadcrumbs/Breadcrumbs.js"],t["Core/Color/Color.js"],t["Series/ColorMapComposition.js"],t["Core/Globals.js"],t["Core/Series/SeriesRegistry.js"],t["Series/Treemap/TreemapAlgorithmGroup.js"],t["Series/Treemap/TreemapNode.js"],t["Series/Treemap/TreemapPoint.js"],t["Series/Treemap/TreemapSeriesDefaults.js"],t["Series/Treemap/TreemapUtilities.js"],t["Series/TreeUtilities.js"],t["Core/Utilities.js"]],function(e,s,r,n,l,a,h,c,g,u,p,b){let{parse:v}=s,{composed:x,noop:m}=n,{column:E,scatter:L}=l.seriesTypes,{getColor:S,getLevelOptions:w,updateRootId:k}=p,{addEvent:O,correctFloat:I,crisp:_,defined:P,error:F,extend:T,fireEvent:D,isArray:C,isObject:d,isString:f,merge:y,pick:M,pushUnique:R,stableSort:A}=b,z=!1;function N(){let X,j=this.xAxis,B=this.yAxis;j&&B&&(this.is("treemap")?(X={endOnTick:!1,gridLineWidth:0,lineWidth:0,min:0,minPadding:0,max:100,maxPadding:0,startOnTick:!1,title:void 0,tickPositions:[]},T(B.options,X),T(j.options,X),z=!0):z&&(B.setOptions(B.userOptions),j.setOptions(j.userOptions),z=!1))}class G extends L{static compose(j){R(x,"TreemapSeries")&&O(j,"afterBindAxes",N)}algorithmCalcPoints(j,B,W,Y){let U=W.plot,q=W.elArr.length-1,H,V,Z,K,J=W.lW,tt=W.lH,$,Q=0;for(let et of(B?(J=W.nW,tt=W.nH):$=W.elArr[q],W.elArr))(B||QV.lP.lR&&this.algorithmCalcPoints(j,!1,V,Y,U),K===H&&this.algorithmCalcPoints(j,!0,V,Y,U),++K;return Y}alignDataLabel(j,B,W){let Y=W.style;Y&&!P(Y.textOverflow)&&B.text&&B.getBBox().width>(B.text.textWidth||0)&&B.css({textOverflow:"ellipsis",width:Y.width+="px"}),E.prototype.alignDataLabel.apply(this,arguments),j.dataLabel&&j.dataLabel.attr({zIndex:(j.node.zIndex||0)+1})}calculateChildrenAreas(j,B){let W=this.options,Y=this.mapOptionsToLevel[j.level+1],U=M(this[Y&&Y.layoutAlgorithm]&&Y.layoutAlgorithm,W.layoutAlgorithm),q=W.alternateStartingDirection,H=j.children.filter(K=>!K.ignore),V=[];Y&&Y.layoutStartingDirection&&(B.direction=Y.layoutStartingDirection==="vertical"?0:1),V=this[U](B,H);let Z=-1;for(let K of H){let J=V[++Z];K.values=y(J,{val:K.childrenTotal,direction:q?1-B.direction:B.direction}),K.pointValues=y(J,{x:J.x/this.axisRatio,y:100-J.y-J.height,width:J.width/this.axisRatio}),K.children.length&&this.calculateChildrenAreas(K,K.values)}}createList(j){let B=this.chart,W=B.breadcrumbs,Y=[];if(W){let U=0;Y.push({level:U,levelOptions:B.series[0]});let q=j.target.nodeMap[j.newRootId],H=[];for(;q.parent||q.parent==="";)H.push(q),q=j.target.nodeMap[q.parent];for(let V of H.reverse())Y.push({level:++U,levelOptions:V});Y.length<=1&&(Y.length=0)}return Y}drawDataLabels(){let j,B,W=this.mapOptionsToLevel;for(let Y of this.points.filter(function(U){return U.node.visible}))B=W[Y.node.level],j={style:{}},Y.node.isLeaf||(j.enabled=!1),B&&B.dataLabels&&(j=y(j,B.dataLabels),this.hasDataLabels=()=>!0),Y.shapeArgs&&(j.style.width=Y.shapeArgs.width,Y.dataLabel&&Y.dataLabel.css({width:Y.shapeArgs.width+"px"})),Y.dlOptions=y(j,Y.options.dataLabels);super.drawDataLabels()}drawPoints(j=this.points){let B=this.chart,W=B.renderer,Y=B.styledMode,U=this.options,q=Y?{}:U.shadow,H=U.borderRadius,V=B.pointCount
=u)&&(p===void 0||h<=p)){b=v.color,c&&(c.dataClass=x,c.colorIndex=v.colorIndex);break}}else{for(g=this.normalizedValue(h),x=E.length;x--&&!(g>E[x][0]););u=E[x]||E[x+1],g=1-((p=E[x+1]||u)[0]-g)/(p[0]-u[0]||1),b=u.color.tweenTo(p.color,g)}return b},r}),i(t,"Core/Axis/Color/ColorAxis.js",[t["Core/Axis/Axis.js"],t["Core/Axis/Color/ColorAxisComposition.js"],t["Core/Axis/Color/ColorAxisDefaults.js"],t["Core/Axis/Color/ColorAxisLike.js"],t["Core/Defaults.js"],t["Core/Legend/LegendSymbol.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(e,s,r,n,l,a,h,c){let{defaultOptions:g}=l,{series:u}=h,{defined:p,extend:b,fireEvent:v,isArray:x,isNumber:m,merge:E,pick:L,relativeLength:S}=c;g.colorAxis=E(g.xAxis,r);class w extends e{static compose(O,I,_,P){s.compose(w,O,I,_,P)}constructor(O,I){super(O,I),this.coll="colorAxis",this.visible=!0,this.init(O,I)}init(O,I){let _=O.options.legend||{},P=I.layout?I.layout!=="vertical":_.layout!=="vertical";this.side=I.side||P?2:1,this.reversed=I.reversed||!P,this.opposite=!P,super.init(O,I,"colorAxis"),this.userOptions=I,x(O.userOptions.colorAxis)&&(O.userOptions.colorAxis[this.index]=I),I.dataClasses&&this.initDataClasses(I),this.initStops(),this.horiz=P,this.zoomEnabled=!1}hasData(){return!!(this.tickPositions||[]).length}setTickPositions(){if(!this.dataClasses)return super.setTickPositions()}setOptions(O){let I=E(g.colorAxis,O,{showEmpty:!1,title:null,visible:this.chart.options.legend.enabled&&O.visible!==!1});super.setOptions(I),this.options.crosshair=this.options.marker}setAxisSize(){let O=this.chart,I=this.legendItem?.symbol,{width:_,height:P}=this.getSize();I&&(this.left=+I.attr("x"),this.top=+I.attr("y"),this.width=_=+I.attr("width"),this.height=P=+I.attr("height"),this.right=O.chartWidth-this.left-_,this.bottom=O.chartHeight-this.top-P,this.pos=this.horiz?this.left:this.top),this.len=(this.horiz?_:P)||w.defaultLegendLength}getOffset(){let O=this.legendItem?.group,I=this.chart.axisOffset[this.side];if(O){this.axisParent=O,super.getOffset();let _=this.chart.legend;_.allItems.forEach(function(P){P instanceof w&&P.drawLegendSymbol(_,P)}),_.render(),this.chart.getMargins(!0),this.chart.series.some(P=>P.isDrilling)||(this.isDirty=!0),this.added||(this.added=!0,this.labelLeft=0,this.labelRight=this.width),this.chart.axisOffset[this.side]=I}}setLegendColor(){let O=this.horiz,I=this.reversed,_=I?1:0,P=I?0:1,F=O?[_,0,P,0]:[0,P,0,_];this.legendColor={linearGradient:{x1:F[0],y1:F[1],x2:F[2],y2:F[3]},stops:this.stops}}drawLegendSymbol(O,I){let _=I.legendItem||{},P=O.padding,F=O.options,T=this.options.labels,D=L(F.itemDistance,10),C=this.horiz,{width:d,height:f}=this.getSize(),y=L(F.labelPadding,C?16:30);this.setLegendColor(),_.symbol||(_.symbol=this.chart.renderer.symbol("roundedRect").attr({r:F.symbolRadius??3,zIndex:1}).add(_.group)),_.symbol.attr({x:0,y:(O.baseline||0)-11,width:d,height:f}),_.labelWidth=d+P+(C?D:L(T.x,T.distance)+(this.maxLabelLength||0)),_.labelHeight=f+P+(C?y:0)}setState(O){this.series.forEach(function(I){I.setState(O)})}setVisible(){}getSeriesExtremes(){let O=this.series,I,_,P,F,T,D,C=O.length,d,f;for(this.dataMin=1/0,this.dataMax=-1/0;C--;){if(_=(D=O[C]).colorKey=L(D.options.colorKey,D.colorKey,D.pointValKey,D.zoneAxis,"y"),F=D.pointArrayMap,T=D[_+"Min"]&&D[_+"Max"],D[_+"Data"])I=D[_+"Data"];else if(F){if(I=[],P=F.indexOf(_),d=D.yData,P>=0&&d)for(f=0;f