1(self.webpackChunkrg_digital_web=self.webpackChunkrg_digital_web||[]).push([[3636],{38225:(Ft,Nt,Tt)=>{"use strict";Tt.d(Nt,{u:()=>gt});var Ot=Tt(17705),t=Tt(60177),Y=Tt(59439),St=Tt(73955);const st=function(){return["primary","icon-before"]};function nt(mt,pt){if(1&mt){const ht=Ot.RV6();Ot.j41(0,"rg-button",6),Ot.bIt("rgClick",function(){Ot.eBV(ht);const J=Ot.XpG();return Ot.Njj(J.onReset.emit())}),Ot.nI1(1,"translate"),Ot.k0s()}2&mt&&Ot.Y8G("text",Ot.bMT(1,3,"NO-RESULTS.RESET"))("iconSrc","assets/images/icons/reset.svg")("customClass",Ot.lJ4(5,st))}let gt=(()=>{class mt{constructor(){this.hasReset=!1,this.onReset=new Ot.bkB}static{this.\u0275fac=function(dt){return new(dt||mt)}}static{this.\u0275cmp=Ot.VBU({type:mt,selectors:[["app-result-not-found"]],inputs:{title:"title",description:"description",hasReset:"hasReset"},outputs:{onReset:"onReset"},standalone:!0,features:[Ot.aNF],decls:8,vars:4,consts:[[1,"not-found-container"],["alt","not found icon","height","256","width","300",1,"not-found-img",3,"ngSrc"],[1,"text-container"],[1,"title"],[1,"description"],[3,"text","iconSrc","customClass","rgClick",4,"ngIf"],[3,"text","iconSrc","customClass","rgClick"]],template:function(dt,J){1&dt&&(Ot.j41(0,"div",0),Ot.nrm(1,"img",1),Ot.j41(2,"div",2)(3,"h2",3),Ot.EFF(4),Ot.k0s(),Ot.j41(5,"span",4),Ot.EFF(6),Ot.k0s(),Ot.DNE(7,nt,2,6,"rg-button",5),Ot.k0s()()),2&dt&&(Ot.R7$(1),Ot.Y8G("ngSrc","/assets/images/bg/search-not-found.svg"),Ot.R7$(3),Ot.JRh(J.title),Ot.R7$(2),Ot.JRh(J.description),Ot.R7$(1),Ot.Y8G("ngIf",J.hasReset))},dependencies:[t.kt,t.bT,Y.X,St.h,St.D9],styles:[".not-found-container[_ngcontent-%COMP%]{margin:100px 0;width:100%;display:flex;justify-content:center;align-items:center;flex-direction:column}@media screen and (max-width: 768px){.not-found-container[_ngcontent-%COMP%]{margin:calc(85px - 3.5rem) 0}}@media screen and (max-width: 768px) and (max-width: 340px){.not-found-container[_ngcontent-%COMP%]{margin:0}.not-found-container[_ngcontent-%COMP%] .not-found-img[_ngcontent-%COMP%]{max-height:150px}}@media screen and (max-width: 768px){.not-found-container[_ngcontent-%COMP%] .not-found-img[_ngcontent-%COMP%]{width:clamp(12.125rem,10.4948rem + 6.671vw,18.5rem);height:clamp(10.5625rem,9.172rem + 5.69vw,16rem)}}.not-found-container[_ngcontent-%COMP%] .text-container[_ngcontent-%COMP%]{margin-block-start:40px;display:flex;justify-content:center;align-items:center;flex-direction:column}@media screen and (max-width: 768px){.not-found-container[_ngcontent-%COMP%] .text-container[_ngcontent-%COMP%]{margin-block-start:16px}}.not-found-container[_ngcontent-%COMP%] .text-container[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{color:#000;text-align:center;font-family:var(--rg-font-family-heading);font-size:44px;font-style:normal;font-weight:700;line-height:46px}@media screen and (max-width: 768px){.not-found-container[_ngcontent-%COMP%] .text-container[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-size:28px;line-height:38px}}.not-found-container[_ngcontent-%COMP%] .text-container[_ngcontent-%COMP%] .description[_ngcontent-%COMP%]{color:var(--basic-black, #000);text-align:center;font-family:Heebo;font-size:24px;font-style:normal;font-weight:400;line-height:40px}@media screen and (max-width: 768px){.not-found-container[_ngcontent-%COMP%] .text-container[_ngcontent-%COMP%] .description[_ngcontent-%COMP%]{font-size:14px;line-height:28px}}"]})}}return mt})()},22693:(Ft,Nt,Tt)=>{"use strict";Tt.d(Nt,{W:()=>St});var Ot=Tt(17705),t=Tt(60177),Y=Tt(88834);let St=(()=>{class st{constructor(){this.isSelected=!1,this.isDisable=!1,this.isA11yPresentational=!1,this.onClick=new Ot.bkB}static{this.\u0275fac=function(mt){return new(mt||st)}}static{this.\u0275cmp=Ot.VBU({type:st,selectors:[["app-rg-option-button"]],inputs:{text:"text",customClass:"customClass",isSelected:"isSelected",isDisable:"isDisable",isA11yPresentational:"isA11yPresentational"},outputs:{onClick:"onClick"},standalone:!0,features:[Ot.aNF],decls:2,vars:9,consts:[["mat-button","",1,"option-button","mat-reset",3,"ngClass","tabindex","ariaChecked","click"]],template:function(mt,pt){1&mt&&(Ot.j41(0,"button",0),Ot.bIt("click",function(){return pt.isSelected=!pt.isSelected,pt.onClick.emit()}),Ot.EFF(1),Ot.k0s()),2&mt&&(Ot.AVh("is-active",pt.isSelected)("is-disable",pt.isDisable),Ot.Y8G("ngClass",pt.customClass)("tabindex",pt.isA11yPresentational?"-1":null)("ariaChecked",pt.isA11yPresentational?null:pt.isSelected),Ot.BMQ("role",pt.isA11yPresentational?"presentation":"checkbox"),Ot.R7$(1),Ot.SpI(" ",pt.text,"\n"))},dependencies:[t.MD,t.YU,Y.Hl,Y.$z],styles:['.option-button[_ngcontent-%COMP%]{border:1.5px solid var(--rg-blue);font-family:var(--rg-font-family-body);font-weight:500;font-size:clamp(1rem,.8333rem + .3472vw,1.25rem);border-radius:24px;white-space:nowrap;padding:0 20px;height:clamp(1.625rem,.9583rem + 1.3889vw,2.625rem)}@media screen and (max-width: 768px){.option-button[_ngcontent-%COMP%]{padding:0 18px}}@media (hover: hover){.option-button[_ngcontent-%COMP%]:hover{background-color:var(--rg-dark-blue-highlights)}}.is-active[_ngcontent-%COMP%]{background-color:var(--rg-dark-blue-highlights);padding:0 23px}@media screen and (max-width: 768px){.is-active[_ngcontent-%COMP%]{padding:0 9px}}.is-active[_ngcontent-%COMP%]:after{content:"";display:block;width:1rem;height:1rem;margin-inline-start:.5rem;background-image:url(/assets/images/icons/x-black.svg);background-size:cover;animation:_ngcontent-%COMP%_slideIn .6s ease-in-out}@media screen and (max-width: 768px){.is-active[_ngcontent-%COMP%]:after{width:10px;height:10px}}.is-disable[_ngcontent-%COMP%]{opacity:.5;cursor:initial;pointer-events:none}@keyframes _ngcontent-%COMP%_slideIn{0%{transform:translate(1rem);opacity:0}
1to{transform:translate(0);opacity:1}}.protocol-date[_ngcontent-%COMP%]:not(.is-active){padding:0 35px}']})}}return st})()},33636:(Ft,Nt,Tt)=>{"use strict";Tt.r(Nt),Tt.d(Nt,{CityDashboardModule:()=>De});var Ot=Tt(49192),t=Tt(17705),Y=Tt(18359),st=Tt(18594),nt=Tt(76808),gt=Tt(47822),mt=Tt(7673),pt=Tt(88141);let ht=(()=>{class U extends nt.L{constructor(){super(...arguments),this.controller=gt.k.protocol,this.CityNeighbourhoodDetails={}}getDashboardPopulationData(){return this.citySummaryChart?(0,mt.of)(this.citySummaryChart):this.dataService.get(gt.k.citySummaryChart).pipe((0,pt.M)(A=>this.citySummaryChart=A))}getDashboardNeighbourhood(){return this.dataService.get(gt.k.cityNeighbourhood)}getDashboardNeighbourhoodById(A){return this.CityNeighbourhoodDetails[A]?(0,mt.of)(this.CityNeighbourhoodDetails[A]):this.dataService.get(gt.k.cityNeighbourhoodData(A)).pipe((0,pt.M)(at=>{this.CityNeighbourhoodDetails[A]=at}))}getDashboardBudgetEducation(){return this.dataService.get(gt.k.budgetEducation)}static{this.\u0275fac=function(){let A;return function(it){return(A||(A=t.xGo(U)))(it||U)}}()}static{this.\u0275prov=t.jDH({token:U,factory:U.\u0275fac})}}return U})();var dt=Tt(7609),J=Tt(14125),Z=Tt(96850);let K=(()=>{class U{constructor(A,at){this.el=A,this._zone=at,this.updateChange=new t.bkB(!0),this.chartInstance=new t.bkB}ngOnChanges(A){const at=A.update&&A.update.currentValue;(A.options||at)&&(this.wrappedUpdateOrCreateChart(),at&&this.updateChange.emit(!1))}wrappedUpdateOrCreateChart(){this.runOutsideAngular?this._zone.runOutsideAngular(()=>{this.updateOrCreateChart()}):this.updateOrCreateChart()}updateOrCreateChart(){this.chart&&this.chart.update?this.chart.update(this.options,!0,this.oneToOne||!1):(this.chart=this.Highcharts[this.constructorType||"chart"](this.el.nativeElement,this.options,this.callbackFunction||null),this.chartInstance.emit(this.chart))}ngOnDestroy(){this.chart&&(this.chart.destroy(),this.chart=null)}}return U.\u0275fac=function(A){return new(A||U)(t.rXU(t.aKT),t.rXU(t.SKi))},U.\u0275cmp=t.VBU({type:U,selectors:[["highcharts-chart"]],inputs:{Highcharts:"Highcharts",constructorType:"constructorType",callbackFunction:"callbackFunction",oneToOne:"oneToOne",runOutsideAngular:"runOutsideAngular",options:"options",update:"update"},outputs:{updateChange:"updateChange",chartInstance:"chartInstance"},features:[t.OA$],decls:0,vars:0,template:function(A,at){},encapsulation:2}),U})(),k=(()=>{class U{}return U.\u0275fac=function(A){return new(A||U)},U.\u0275mod=t.$C({type:U}),U.\u0275inj=t.G2t({}),U})();var L=Tt(60177),I=Tt(21264),D=Tt(21740),u=Tt.n(D),b=Tt(34006),C=Tt(73955);let P=(()=>{class U{constructor(A){this.translate=A}transform(A){if(isNaN(A))return"";const at=["",this.translate.instant("SHARED.THOUSAND"),this.translate.instant("SHARED.MILLION"),this.translate.instant("SHARED.BILLION")];let it=0;for(;A>=1e3;)A/=1e3,it++;return`<span>${A.toFixed(1)}</span>\n <span>${at[it]} \u20aa</span>`}static{this.\u0275fac=function(at){return new(at||U)(t.rXU(C.c$,16))}}static{this.\u0275pipe=t.EJ8({name:"NumberFormat",type:U,pure:!0,standalone:!0})}}return U})();var l=Tt(68793),M=Tt(19718);function F(U,kt){if(1&U){const A=t.RV6();t.j41(0,"button",8),t.bIt("click",function(){t.eBV(A);const it=t.XpG();return t.Njj(it.closeDialog())}),t.k0s()}if(2&U){const A=t.XpG();t.Y8G("ariaLabel",A.closeModalAriaLabel)}}function _(U,kt){if(1&U){const A=t.RV6();t.j41(0,"button",9),t.bIt("click",function(){t.eBV(A);const it=t.XpG();return t.Njj(it.openDialog())}),t.nI1(1,"translate"),t.nrm(2,"img",10),t.k0s()}2&U&&(t.Y8G("ariaLabel",t.bMT(1,2,"SHARED.ACCESSIBILITY.LARGE-DISPLAY")),t.R7$(2),t.Y8G("ngSrc","assets/images/icons/expand-blue.svg"))}function S(U,kt){if(1&U&&(t.j41(0,"div"),t.nrm(1,"img",23),t.j41(2,"span"),t.EFF(3),t.k0s()()),2&U){const A=kt.$implicit;t.R7$(1),t.Y8G("ngSrc",A.icon),t.R7$(2),t.JRh(A.title)}}function o(U,kt){if(1&U&&(t.j41(0,"div"),t.nrm(1,"img",23),t.j41(2,"span"),t.EFF(3),t.k0s()()),2&U){const A=kt.$implicit;t.R7$(1),t.Y8G("ngSrc",A.icon),t.R7$(2),t.JRh(A.title)}}function p(U,kt){if(1&U&&(t.j41(0,"div",11),t.nrm(1,"highcharts-chart",12),t.j41(2,"div",13),t.nrm(3,"div",14),t.nI1(4,"NumberFormat"),t.j41(5,"div",15),t.EFF(6),t.k0s(),t.j41(7,"div",16)(8,"div",17),t.DNE(9,S,4,2,"div",18),t.k0s(),t.j41(10,"div",17),t.DNE(11,o,4,2,"div",18),t.k0s()(),t.nrm(12,"span",19),t.j41(13,"a",20),t.nI1(14,"prefixCmsLink"),t.nrm(15,"img",21),t.j41(16,"span"),t.EFF(17),t.nI1(18,"translate"),t.k0s(),t.nrm(19,"img",22),t.k0s()()()),2&U){const A=t.XpG();
1t.R7$(1),t.Y8G("Highcharts",A.Highcharts)("options",A.regularPieChart)("runOutsideAngular",!0)("oneToOne",!0)("ngClass",A.data?"pie-chart-modal":"pie-chart"),t.R7$(2),t.Y8G("innerHTML",t.bMT(4,13,A._regularBudgetChartData.total),t.npT),t.R7$(3),t.SpI(" ",A._regularBudgetChartData.subTotal," "),t.R7$(3),t.Y8G("ngForOf",A._regularBudgetChartData.data.slice(0,(A._regularBudgetChartData.data.length+1)/2)),t.R7$(2),t.Y8G("ngForOf",A._regularBudgetChartData.data.slice((A._regularBudgetChartData.data.length+1)/2)),t.R7$(2),t.Y8G("href",t.bMT(14,15,A.budgetChartLinks.regular),t.B4B),t.R7$(2),t.Y8G("ngSrc","assets/images/icons/file.svg"),t.R7$(2),t.JRh(t.bMT(18,17,"PROTOCOL.FULL-DETAILS")),t.R7$(2),t.Y8G("ngSrc","assets/images/icons/arrow-left-blue.svg")}}function n(U,kt){if(1&U&&(t.j41(0,"div"),t.nrm(1,"img",23),t.j41(2,"span"),t.EFF(3),t.k0s()()),2&U){const A=kt.$implicit;t.R7$(1),t.Y8G("ngSrc",A.icon),t.R7$(2),t.JRh(A.title)}}function i(U,kt){if(1&U&&(t.j41(0,"div"),t.nrm(1,"img",23),t.j41(2,"span"),t.EFF(3),t.k0s()()),2&U){const A=kt.$implicit;t.R7$(1),t.Y8G("ngSrc",A.icon),t.R7$(2),t.JRh(A.title)}}function e(U,kt){if(1&U&&(t.j41(0,"div",11),t.nrm(1,"highcharts-chart",12),t.j41(2,"div",13),t.nrm(3,"div",14),t.nI1(4,"NumberFormat"),t.j41(5,"div",15),t.EFF(6),t.k0s(),t.j41(7,"div",16)(8,"div",17),t.DNE(9,n,4,2,"div",18),t.k0s(),t.j41(10,"div",17),t.DNE(11,i,4,2,"div",18),t.k0s()(),t.nrm(12,"span",19),t.j41(13,"a",20),t.nI1(14,"prefixCmsLink"),t.nrm(15,"img",21),t.j41(16,"span"),t.EFF(17),t.nI1(18,"translate"),t.k0s(),t.nrm(19,"img",22),t.k0s()()()),2&U){const A=t.XpG();t.R7$(1),t.Y8G("Highcharts",A.Highcharts)("options",A.unusualPieChart)("runOutsideAngular",!0)("oneToOne",!0)("ngClass",A.data?"pie-chart-modal":"pie-chart"),t.R7$(2),t.Y8G("innerHTML",t.bMT(4,13,A._unusualBudgetChartData.total),t.npT),t.R7$(3),t.SpI(" ",A._unusualBudgetChartData.subTotal," "),t.R7$(3),t.Y8G("ngForOf",A._unusualBudgetChartData.data.slice(0,(A._unusualBudgetChartData.data.length+1)/2)),t.R7$(2),t.Y8G("ngForOf",A._unusualBudgetChartData.data.slice((A._unusualBudgetChartData.data.length+1)/2)),t.R7$(2),t.Y8G("href",t.bMT(14,15,A.budgetChartLinks.unusual),t.B4B),t.R7$(2),t.Y8G("ngSrc","assets/images/icons/file.svg"),t.R7$(2),t.JRh(t.bMT(18,17,"PROTOCOL.FULL-DETAILS")),t.R7$(2),t.Y8G("ngSrc","assets/images/icons/arrow-left-blue.svg")}}const r=function(U){return{modal:U}};u()(I);let a=(()=>{class U{set regularBudgetChartData(A){this._regularBudgetChartData=A,this.regularPieChart=this.getChartOptions(A)}set unusualBudgetChartData(A){this._unusualBudgetChartData=A,this.unusualPieChart=this.getChartOptions(A)}constructor(A,at,it,Ct,Pt){this.data=A,this.dialogRef=at,this.dialog=it,this.deviceService=Ct,this.translate=Pt,this.Highcharts=I,this.closeModalAriaLabel=""}ngOnInit(){this.data&&this.data.isModal&&(this._regularBudgetChartData=this.data.regularOptions,this._unusualBudgetChartData=this.data.unusualOptions,this.regularPieChart=this.getChartOptions(this.data.regularOptions),this.unusualPieChart=this.getChartOptions(this.data.unusualOptions),this.budgetChartLinks=this.data.budgetChartLinks),this.closeModalAriaLabel=`${this.translate.instant("SHARED.ACCESSIBILITY.NAV.CLOSE")} ${this.translate.instant("SHARED.ACCESSIBILITY.LARGE-DISPLAY")}`}getChartOptions(A){return{chart:{type:"variablepie",height:this.data&&this.data.isModal&&!this.deviceService.isMobile()?.267*window.innerWidth:370,width:this.data&&this.data.isModal&&!this.deviceService.isMobile()?.267*window.innerWidth:void 0},credits:{enabled:!1},title:{text:null},plotOptions:{variablepie:{dataLabels:{connectorWidth:0,enabled:!1}}},tooltip:{headerFormat:null,formatter:function(){return`\n <img src="${this.point.icon}" height="16" width="16"/>\n <span style="font-size: clamp(0.75rem, 0.6225rem + 0.5229vw, 1.25rem);">${Math.round(this.percentage)}% - ${this.point.name}</span>\n `},useHTML:!0},series:[{innerSize:"15%",zMin:0,data:A.data.map((at,it)=>({name:at.title,icon:at.icon,y:+at.value,z:92+20*it})),colors:A.data.map(at=>at.color)}]}}openDialog(){this.dialog.open(U,{height:this.deviceService.isMobile()?"fit-content":"837px",width:this.deviceService.isMobile()?"91.79vw":"69.9vw",maxHeight:"90vh",data:{isModal:!0,regularOptions:this._regularBudgetChartData,unusualOptions:this._unusualBudgetChartData,budgetChartLinks:this.budgetChartLinks},panelClass:["modal-rounded","city-dashboard-modal"],ariaLabelledBy:"budgetTitleModal"})}closeDialog(){this.dialogRef.close()}static{this.\u0275fac=function(at){return new(at||U)(t.rXU(b.Vh,8),t.rXU(b.CP,8),t.rXU(b.bZ),t.rXU(M.g),t.rXU(C.c$))}}static{this.\u0275cmp=t.VBU({type:U,selectors:[["app-budget-chart"]],inputs:{regularBudgetChartData:"regularBudgetChartData",unusualBudgetChartData:"unusualBudgetChartData",budgetChartLinks:"budgetChartLinks"},standalone:!0,features:[t.aNF],decls:14,vars:20,consts:[[1,"budget-container",3,"ngClass"],[1,"flex"],["class","close-modal-btn relative",3,"ariaLabel","click",4,"ngIf"],[1,"budget-title",3,"id"],["class","expand-ch
1art-icon relative",3,"ariaLabel","click",4,"ngIf"],["mat-stretch-tabs","false",1,"app-tab-group","budget-chart",3,"disableRipple","animationDuration","contentTabIndex"],[3,"label"],["class","current-view",4,"ngIf"],[1,"close-modal-btn","relative",3,"ariaLabel","click"],[1,"expand-chart-icon","relative",3,"ariaLabel","click"],["height","22","width","22","alt","",3,"ngSrc"],[1,"current-view"],[3,"Highcharts","options","runOutsideAngular","oneToOne","ngClass"],[1,"legend"],[1,"legend-title",3,"innerHTML"],[1,"legend-subtitle"],[1,"legend-grid"],[1,"legend-item"],[4,"ngFor","ngForOf"],[1,"spacer"],["target","_blank",1,"details",3,"href"],["height","20","width","20","alt","",1,"file-icon",3,"ngSrc"],["height","12","width","12","alt","",1,"arrow-left-blue",3,"ngSrc"],["height","24","width","24","alt","",3,"ngSrc"]],template:function(at,it){1&at&&(t.j41(0,"div",0)(1,"div",1),t.DNE(2,F,1,1,"button",2),t.j41(3,"h2",3),t.EFF(4),t.nI1(5,"translate"),t.k0s(),t.DNE(6,_,3,4,"button",4),t.k0s(),t.j41(7,"mat-tab-group",5)(8,"mat-tab",6),t.nI1(9,"translate"),t.DNE(10,p,20,19,"div",7),t.k0s(),t.j41(11,"mat-tab",6),t.nI1(12,"translate"),t.DNE(13,e,20,19,"div",7),t.k0s()()()),2&at&&(t.Y8G("ngClass",t.eq3(18,r,it.data)),t.R7$(2),t.Y8G("ngIf",it.data),t.R7$(1),t.Y8G("id","budgetTitle"+(it.data?"Modal":"")),t.R7$(1),t.JRh(t.bMT(5,12,"BUDGET.EXPENSE-BUDGET")),t.R7$(2),t.Y8G("ngIf",!it.data),t.R7$(1),t.Y8G("disableRipple",!0)("animationDuration","500ms")("contentTabIndex",0),t.R7$(1),t.FS9("label",t.bMT(9,14,"BUDGET.CURRENT")),t.R7$(2),t.Y8G("ngIf",it._regularBudgetChartData),t.R7$(1),t.FS9("label",t.bMT(12,16,"BUDGET.UNUSUAL")),t.R7$(2),t.Y8G("ngIf",it._unusualBudgetChartData))},dependencies:[L.MD,L.YU,L.Sq,L.bT,k,K,Z.RI,Z.mq,Z.T8,L.kt,C.h,C.D9,P,l.g],styles:[".budget-container[_ngcontent-%COMP%]{padding:22px 30px}@media screen and (max-width: 1100px){.budget-container[_ngcontent-%COMP%]{padding:1rem}}.budget-title[_ngcontent-%COMP%]{font-size:clamp(1rem,.5833rem + .8681vw,1.625rem);font-weight:500;margin-bottom:4px;font-family:inherit}.current-view[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr 1fr}.current-view[_ngcontent-%COMP%]:first-child{margin-bottom:1rem}@media screen and (max-width: 768px){.current-view[_ngcontent-%COMP%]:first-child{margin-bottom:0}}.pie-chart[_ngcontent-%COMP%]{width:20vw;display:flex;align-items:center}@media screen and (max-width: 450px){.pie-chart[_ngcontent-%COMP%]{height:80vw}}.pie-chart-modal[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center}.legend-subtitle[_ngcontent-%COMP%]{color:var(--dark-grey);font-size:clamp(.75rem,.5rem + .5208vw,1.125rem);font-weight:500}.legend-grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:auto auto;overflow:hidden;margin-top:2rem;grid-gap:3rem}@media screen and (max-width: 1100px){.legend-grid[_ngcontent-%COMP%]{justify-content:center}}.legend[_ngcontent-%COMP%]{display:flex;flex-direction:column}.flex[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center}.modal[_ngcontent-%COMP%] .flex[_ngcontent-%COMP%]{flex-direction:row-reverse}.spacer[_ngcontent-%COMP%]{flex:1 1 auto}.legend-item[_ngcontent-%COMP%]{width:-moz-fit-content;width:fit-content;display:flex;flex-direction:column;align-items:flex-start;gap:12px;font-size:clamp(.875rem,.625rem + .5208vw,1.25rem)}.legend-item[_ngcontent-%COMP%] div[_ngcontent-%COMP%]{display:flex;justify-content:flex-start;align-items:center;gap:6px;font-size:20px}@media screen and (max-width: 768px){.legend-item[_ngcontent-%COMP%] div[_ngcontent-%COMP%]{font-size:14px}}.legend-item[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{align-self:baseline;margin-top:2px}@media screen and (max-width: 1100px){.legend-item[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{width:18px;height:18px}}.details[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:flex-end;color:var(--rg-blue);font-size:clamp(.875rem,.811rem + .261vw,1.125rem);font-weight:500;margin-top:3.5rem;margin-inline-start:auto}.details[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{text-decoration:underline}.details[_ngcontent-%COMP%] .file-icon[_ngcontent-%COMP%]{margin-inline-end:clamp(.25rem,.218rem + .131vw,.375rem);width:clamp(1rem,.9361rem + .2616vw,1.25rem);height:clamp(1rem,.9361rem + .2616vw,1.25rem)}.details[_ngcontent-%COMP%] .arrow-left-blue[_ngcontent-%COMP%]{margin-inline-start:2px;--icon-size: clamp(.5rem, .436rem + .261vw, .75rem);min-height:var(--icon-size);max-height:var(--icon-size);min-width:var(--icon-size);max-width:var(--icon-size)}@media screen and (max-width: 1100px){.current-view[_ngcontent-%COMP%]{grid-template-columns:1fr}.pie-chart[_ngcontent-%COMP%]{width:100%}.legend-title[_ngcontent-%COMP%]{text-align:center;margin-top:4px}.legend-subtitle[_ngcontent-%COMP%]{text-align:center}.details[_ngcontent-%COMP%]{margin-top:1rem}}.modal[_ngcontent-%COMP%] .app-tab-group.mat-mdc-tab-group[_ngcontent-%COMP%] .mat-mdc-tab-header{margin-bottom:4.16vw}.app-tab-group.mat-mdc-tab-group[_ngcontent-%COMP%] .mat-mdc-tab-header{position:sticky;top:8px;z-index:10}@media screen and (max-width: 768px){.app-tab-group.mat-mdc-tab-group[_ngcontent-%COMP%] .mdc-tab{padding:0;height:42px!important;min-width:unset}.app-tab-group.mat-mdc-tab-group[_ngcontent-%COMP%] .mdc-tab:last-child{padding-inline-end:6px}.app-tab-group.mat-mdc-tab-group[_ngcontent-%COMP%] .mdc-tab:first-child{padding-inline-start:6px}.app-tab-group.mat-mdc-tab-group[_ngcontent-%COMP%] .mdc-tab__text-label{font-size:14px;font-style:normal;line-height:18px;padding-inline:8px;padding-block:6px}.mdc-tab--active[_ngcontent-%COMP%] .app-tab-group.mat-mdc-tab-group[_ngcontent-%COMP%] .mdc-tab__text-label{font-weight:700}}"]})}}return U})();function y(U,kt){if(1&U){const A=t.RV6();t.j41(0,"button",6),t.bIt("click",function(){t.eBV(A);const it=t.XpG();return t.Njj(it.closeDialog())}),t.k0s()}if(2&U){const A=t.XpG();t.Y8G("ariaLabel",A.closeModalAriaLabel)}}function v(U,kt){if(1&U){const A=t.RV6();t.j41(0,"button",7),t.bIt("click",function(){t.eBV(A);const it=t.XpG();return t.Njj(it.openDialog())}),t.nI1(1,"translate"),t.nrm(2,"img",8),t.k0s()}2&U&&(t.Y8G("ariaLabel",t.bMT(1,2,"SHARED.ACCESSIBILITY.LARGE-DISPLAY")),t.R7$(2),t.Y8G("ngSrc","assets/images/icons/expand-blue.svg"))}let d=(()=>{class U{set educationChartData(A){this._educationChartData=A,A.reverse(),this.setChartOptions(A)}constructor(A,at,it,Ct,Pt){this.data=A,this.dialogRef=at,this.dialog=it,this.translateService=Ct,this.deviceService=Pt,this.Highcharts=I,this.closeModalAriaLabel=""}ngOnInit(){this.data?.isModal&&this.setChartOptions(this.data.options),this.closeModalAriaLabel=`${this.translateService.instant("SHARED.ACCESSIBILITY.NAV.CLOSE")} ${this.translateService.instant("SHARED.ACCESSIBILITY.LARGE-DISPLAY")}`}setChartOptions(A){this.columnChartOptions={chart:{type:"column"},credits:{enabled:!1},title:null,subtitle:null,colors:A.map(at=>at.color),xAxis:{labels:{rotation:0,style:{display:"inline-block",whiteSpace:"normal",overflowWrap:"unset",minWidth:"clamp(1.875rem, 0.813rem + 5.313vw, 7.188rem)",textAlign:"center",fontSize:"clamp(0.75rem, 0.6225rem + 0.5229vw, 1.25rem)",fontFamily:"Heebo"},useHTML:!0},crosshair:{color:"rgba(244,244,244,0.5)"},categories:A.map(at=>at.title)},yAxis:{title:{text:null},opposite:!0,labels:{formatter:function(){return'<span class="education-column-chart-yAxis-labels">'+(this.value>=1e3?(this.value/1e3).toFixed(1)+"k":this.value)+"</span>"},useHTML:!0},tickInterval:1e4},plotOptions:{column:{pointWidth:this.deviceService.isMobile()?18:35}},series:[{type:"column",name:"Education",borderRadius:100,colorByPoint:!0,data:A.map(at=>({y:+at.value,children:this.translateService.instant("PROTOCOL.CHILDREN")})),showInLegend:!1}],tooltip:{headerFormat:null,useHTML:!0,pointFormatter:function(){return`<div class="tooltip-education">\n <div> <span style="color:${this.color}">\u25cf</span> <b>${function(Ct){let Pt=Ct.toString().replace(" ","");return Pt=Pt.replace(/\B(?=(\d{3})+(?!\d))/g,","),Pt}(this.y)}</b></div>\n <b>${this.options.children}</b>\n </div>`}}}}openDialog(){this.dialog.open(U,{height:this.deviceService.isMobile()?"70vh":"837px",width:this.deviceService.isMobile()?"91.79vw":"69.9vw",data:{isModal:!0,options:this._educationChartData},panelClass:"modal-rounded",ariaLabelledBy:"eduTitleModal"})}closeDialog(){this.dialogRef.close()}static{this.\u0275fac=function(at){return new(at||U)(t.rXU(b.Vh,8),t.rXU(b.CP,8),t.rXU(b.bZ),t.rXU(C.c$),t.rXU(M.g))}}static{this.\u0275cmp=t.VBU({type:U,selectors:[["app-education-chart"]],inputs:{educationChartData:"educationChartData"},standalone:!0,features:[t.aNF],decls:8,vars:12,consts:[[3,"ngClass"],["class","close-modal-btn",3,"ariaLabel","click",4,"ngIf"],[1,"flex"],[1,"education-title",3,"id"],["class","expand-ch
1art-icon relative",3,"ariaLabel","click",4,"ngIf"],[3,"Highcharts","options","runOutsideAngular","oneToOne","ngClass"],[1,"close-modal-btn",3,"ariaLabel","click"],[1,"expand-chart-icon","relative",3,"ariaLabel","click"],["height","22","width","22","alt","",3,"ngSrc"]],template:function(at,it){1&at&&(t.j41(0,"div",0),t.DNE(1,y,1,1,"button",1),t.j41(2,"div",2)(3,"h2",3),t.EFF(4),t.nI1(5,"translate"),t.k0s(),t.DNE(6,v,3,4,"button",4),t.k0s(),t.nrm(7,"highcharts-chart",5),t.k0s()),2&at&&(t.Y8G("ngClass",it.data?"container-modal":"container"),t.R7$(1),t.Y8G("ngIf",it.data),t.R7$(2),t.Y8G("id","eduTitle"+(it.data?"Modal":"")),t.R7$(1),t.JRh(t.bMT(5,10,"PROTOCOL.EDUCATION-AGE-GROUP")),t.R7$(2),t.Y8G("ngIf",!it.data),t.R7$(1),t.Y8G("Highcharts",it.Highcharts)("options",it.columnChartOptions)("runOutsideAngular",!0)("oneToOne",!0)("ngClass",it.data?"column-chart-modal":"column-chart"))},dependencies:[L.MD,L.YU,L.bT,k,K,L.kt,C.h,C.D9],styles:[".container-modal[_ngcontent-%COMP%]{padding:22px 30px;height:837px}@media screen and (max-width: 768px){.container-modal[_ngcontent-%COMP%]{height:70vh}}.container[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:100%;padding:22px 30px}@media screen and (max-width: 1100px){.container[_ngcontent-%COMP%]{padding:1rem}}.education-title[_ngcontent-%COMP%]{font-size:clamp(1rem,.5833rem + .8681vw,1.625rem);font-weight:500;font-family:inherit}.column-chart[_ngcontent-%COMP%]{display:flex;width:calc(50vw - 109px);height:100%;max-height:600px;margin-top:2rem}@media screen and (max-width: 1100px){.column-chart[_ngcontent-%COMP%]{width:calc(50vw - 64px)}}@media screen and (max-width: 768px){.column-chart[_ngcontent-%COMP%]{width:100%;height:300px}}.column-chart-modal[_ngcontent-%COMP%]{display:flex;margin-top:2rem;height:90%}.flex[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center} .education-column-chart-yAxis-labels{font-family:Heebo;font-size:clamp(.75rem,.6225rem + .5229vw,1.25rem)}"]})}}return U})();function O(U,kt){if(1&U&&(t.j41(0,"div",6)(1,"div",7)(2,"h3",8),t.EFF(3),t.k0s(),t.j41(4,"div",9),t.EFF(5),t.nI1(6,"number"),t.k0s()(),t.j41(7,"div",10),t.nrm(8,"img",11),t.k0s()()),2&U){const A=kt.$implicit;t.R7$(3),t.JRh(A.title),t.R7$(2),t.JRh(t.bMT(6,5,A.count)),t.R7$(2),t.xc7("background-color",A.color),t.R7$(1),t.Y8G("ngSrc",A.img)}}function $(U,kt){if(1&U&&(t.j41(0,"div",1)(1,"div",2),t.nrm(2,"highcharts-chart",3),t.k0s(),t.j41(3,"div",4),t.DNE(4,O,9,7,"div",5),t.k0s()()),2&U){const A=t.XpG();t.R7$(2),t.Y8G("Highcharts",A.Highcharts)("options",A.barChartOptions)("runOutsideAngular",!0)("oneToOne",!0),t.R7$(2),t.Y8G("ngForOf",A.populationCards)}}let x=(()=>{class U{constructor(A,at,it,Ct){this.cityDashboardService=A,this.translate=at,this.ngZone=it,this.deviceService=Ct,this.Highcharts=I,this.subscription=new Y.yU,this.clickTooltip=new t.bkB}ngOnInit(){this.subscription.add(this.cityDashboardService.getDashboardPopulationData().subscribe(A=>{this.populationCards=[{title:this.translate.instant("POPULATION.RESIDENTS"),count:A.cards.residentsCity,img:"assets/images/icons/residents.svg",color:"var(--rg-blue-highlights)"},{title:this.translate.instant("POPULATION.MIGRATION"),count:A.cards.migrationToCity,img:"assets/images/icons/migration.svg",color:"var(--rg-orange-highlights)"},{title:this.translate.instant("POPULATION.INTERNATIONAL-MIGRATION"),count:A.cards.internationalMigration,img:"assets/images/icons/international-migration.svg",color:"var(--rg-light-green-highlights)"}];const at=A.populationCityChart.data.length*(this.deviceService.isMobile()?45:54)+(this.deviceService.isMobile()?100:300),it=Math.max(...A.populationCityChart.data.map(Ct=>+Ct.value))*(this.deviceService.isMobile()?1.5:1.17);this.barChartOptions={chart:{type:"bar",height:at},title:null,subtitle:null,colors:A.populationCityChart.data.map(Ct=>Ct.color),xAxis:{categories:A.populationCityChart.data.map(Ct=>Ct.name),title:null,labels:{style:{fontSize:"font-size: clamp(0.75rem, 0.6225rem + 0.5229vw, 1.25rem)",fontFamily:"Heebo"},enabled:!this.deviceService.isMobile()},lineColor:"black",crosshair:{color:"rgba(244,244,244,0.5)"},opposite:!0},yAxis:{max:it,title:{text:null},labels:{style:{fontSize:"font-size: clamp(0.75rem, 0.6225rem + 0.5229vw, 1.25rem)"}},reversed:!0,opposite:!0,tickInterval:5e3},plotOptions:{series:{cursor:"pointer"},column:{pointWidth:12}},credits:{enabled:!1},series:[{type:"column",borderRadius:100,colorByPoint:!0,data:A.populationCityChart.data.map(Ct=>({y:+Ct.value,id:Ct.id,name:Ct.name,dataLabels:{useHTML:!0,formatter:function(){let Rt=this.y.toString().replace(" ","");return Rt=Rt.replace(/\B(?=(\d{3})+(?!\d))/g,","),`<div class="data-labels">\n <div class="name">${this.x}</div><div>${Rt}</div></div>`},y:1.5,enabled:!0,style:{fontFamily:"Heebo",fontSize:"clamp(0.75rem, 0.5833rem
1+ 0.3472vw, 1rem)"}},function:()=>{document.querySelector(".tooltip").addEventListener("click",Pt=>{this.ngZone.run(()=>{const Rt=Pt.currentTarget.classList.value.split(" ").slice(2).join(" ");this.clickTooltip.next({id:+Pt.currentTarget.classList[1],name:Rt})})})}})),showInLegend:!1}],tooltip:{clickable:"auto",headerFormat:null,style:{pointerEvents:"auto"},pointFormatter:function(){const Pt=this;return setTimeout(()=>{Pt.function()},1),`\n <div class="tooltip-population-general" style="">\n <div><span style="color:${Pt.color}">\u25cf</span> <b>${function(Rt){let Ht=Rt.toString().replace(" ","");return Ht=Ht.replace(/\B(?=(\d{3})+(?!\d))/g,","),Ht}(Pt.y)} \u05ea\u05d5\u05e9\u05d1\u05d9\u05dd</b> </div>\n <div class="tooltip ${Pt.id} ${Pt.name}">\n <span class="more-info">\u05dc\u05e2\u05d5\u05d3 \u05de\u05d9\u05d3\u05e2</span>\n <img src="/assets/images/icons/arrow-chevron-left-blue.svg" height="12" width="12" alt=""/>\n </div>\n </div>`},useHTML:!0}}}))}ngOnDestroy(){this.subscription.unsubscribe()}static{this.\u0275fac=function(at){return new(at||U)(t.rXU(ht),t.rXU(C.c$),t.rXU(t.SKi),t.rXU(M.g))}}static{this.\u0275cmp=t.VBU({type:U,selectors:[["app-population-general-chart"]],outputs:{clickTooltip:"clickTooltip"},standalone:!0,features:[t.aNF],decls:1,vars:1,consts:[["class","grid",4,"ngIf"],[1,"grid"],["id","chart-scroll",1,"bar-chart-container"],[1,"bar-chart",3,"Highcharts","options","runOutsideAngular","oneToOne"],[1,"population-stats"],["class","population-item",4,"ngFor","ngForOf"],[1,"population-item"],[1,"item-text"],[1,"item-subtitle"],[1,"item-title"],[1,"item-icon"],["height","60","width","60",3,"ngSrc"]],template:function(at,it){1&at&&t.DNE(0,$,5,5,"div",0),2&at&&t.Y8G("ngIf",it.populationCards&&it.barChartOptions)},dependencies:[L.MD,L.Sq,L.bT,L.QX,k,K,L.kt],styles:[".grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(2,1fr);gap:31px;margin-block-start:40px}.bar-chart[_ngcontent-%COMP%]{display:flex;margin-inline-start:10px}@media screen and (max-width: 768px){.bar-chart[_ngcontent-%COMP%]{margin-inline-start:-5px}}.bar-chart-container[_ngcontent-%COMP%]{max-height:600px;overflow:hidden;overflow-y:auto;direction:ltr}@media screen and (max-width: 768px){.bar-chart-container[_ngcontent-%COMP%]{max-height:350px}}.population-stats[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;margin-top:2rem}.population-item[_ngcontent-%COMP%]{border-radius:16px;box-shadow:0 2px 6px 1px #0003;width:25vw;padding:22px 40px;display:flex;justify-content:space-between;align-items:center;gap:10px}@media screen and (max-width: 768px){.population-item[_ngcontent-%COMP%]{padding:22px;border-radius:8px}}.population-item[_ngcontent-%COMP%] .item-subtitle[_ngcontent-%COMP%]{color:var(--dark-grey);font-size:clamp(.75rem,.3333rem + .8681vw,1.375rem);font-weight:500;font-family:inherit}.population-item[_ngcontent-%COMP%] .item-title[_ngcontent-%COMP%]{font-size:clamp(1.75rem,.8333rem + 1.9097vw,3.125rem);font-weight:700}.population-item[_ngcontent-%COMP%] .item-icon[_ngcontent-%COMP%]{width:clamp(3.375rem,2.5147rem + 3.5294vw,6.75rem);height:clamp(3.375rem,2.5147rem + 3.5294vw,6.75rem);display:flex;align-items:center;justify-content:center;background-color:var(--rg-orange-highlights);border-radius:50%}.population-item[_ngcontent-%COMP%] .item-icon[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{width:clamp(1.875rem,1.3971rem + 1.9608vw,3.75rem);height:clamp(1.875rem,1.3971rem + 1.9608vw,3.75rem)}@media screen and (max-width: 1100px){.grid[_ngcontent-%COMP%]{display:flex;flex-direction:column}.bar-chart-container[_ngcontent-%COMP%]{width:100%;direction:rtl}.bar-chart[_ngcontent-%COMP%]{display:flex}.population-item[_ngcontent-%COMP%]{width:100%}}#chart-scroll[_ngcontent-%COMP%]::-webkit-scrollbar{width:8px;background-color:var(--white)}@media screen and (max-width: 768px){#chart-scroll[_ngcontent-%COMP%]::-webkit-scrollbar{width:6px}}#chart-scroll[_ngcontent-%COMP%]::-webkit-scrollbar-thumb{border-radius:10px;background-color:var(--grey)}#chart-scroll[_ngcontent-%COMP%]::-webkit-scrollbar-track{-webkit-box-shadow:inset 0 0 6px rgba(0,0,0,.1);border-radius:10px;background-color:var(--white)} .data-labels{display:flex;flex-direction:column;justify-content:flex-start;text-align:right}@media screen and (min-width: 768px){ .data-labels{margin-inline-end:15px} .data-labels .name{display:none}}@media screen and (max-width: 768px){ .data-labels{margin-inline-end:9px} .data-labels div:nth-child(1){font-weight:400} .data-labels div:nth-child(2){line-height:1}} .pie-chart .highcharts-tooltip{display:flex;align-items:center;justify-content:center} .tooltip-population-general{background-color:#fff;font-family:Heebo;font-size:clamp(.75rem,.6544rem + .3922vw,1.125rem);direction:rtl;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding-inline-start:5px} .tooltip-population-general .tooltip{display:flex;gap:2px;align-items:center;cursor:pointer} .tooltip-population-general .tooltip .more-info{color:var(--rg-blue);text-decoration:underline;font-weight:700}"]})}}return U})();var E=Tt(59115);const G=["pie"],z=["column"];let q=(()=>{class U{onResize(A){setTimeout(()=>{this.calculatePieWidth(A.currentTarget),this.calculateColumnWidthHeight(A.currentTarget)},200)}set details(A){this.createCharts(A)}constructor(A,at,it,Ct,Pt){this.data=A,this.dialogRef=at,this.dialog=it,this.translate=Ct,this.deviceService=Pt,this.Highcharts=I,this.pieChartWidth=488,this.columnChartHeight="470px",this.columnChartWidth="769px",this.isMobile=this.deviceService.isMobile,this.calculatePieWidth(window),this.calculateColumnWidthHeight(window)}roundNumber(A){return A+.05*A}calculateColumnWidthHeight(A){let at=.5057*A.innerWidth,it=.6148*at;at>769&&(at=769),at<342&&(at=342),it<320&&(it=320),this.columnChartWidth=at+"px",this.columnChartHeight=it
1+"px",this.isMobile()||(this.columnChartHeight="631px"),this.columnChartContainer&&(this.multiColumnChartOptions.chart.height=this.columnChartHeight,this.columnChartContainer.updateOrCreateChart())}calculatePieWidth(A){let at=A.innerWidth*(this.isMobile()?.65:.25417);at>488&&(at=488),at<276&&(at=276),this.pieChartWidth=at,this.pieChartContainer&&(this.donutChartOptions.plotOptions.pie.size=this.pieChartWidth+"px",this.pieChartContainer.updateOrCreateChart())}calculateB(A,at,it){let Ct=(it.b-at.b)/(it.a-at.a);return Ct*A+(at.b-Ct*at.a)}createCharts(A){const at=this.roundNumber(Math.max(...[...A?.populationDistributionChart?.data].map(Ct=>Ct.men>Ct.women?Ct.men:Ct.women))),it=document.body.classList.contains("contrast-mode")?"#14819B":"#009DC3";this.donutChartOptions={chart:{height:this.isMobile()?400:null},credits:{enabled:!1},title:{style:{fontFamily:"Heebo"},text:'<div style="font-size: clamp(1.625rem, 0.208rem + 2.951vw, 3.75rem);">'+A.neighborhoodInfo.residentsNeighborhoodPercent+'%</div> <br> <span style="font-size: clamp(1rem, 0.9363rem + 0.2614vw, 1.25rem); color: var(--dark-grey); font-weight: 500">'+this.translate.instant("POPULATION.FROM-RESIDENTS-OF-CITY")+"</span>",align:"center",verticalAlign:"middle",y:this.isMobile()?this.calculateB(window.innerWidth,{a:768,b:60},{a:390,b:-40}):100},tooltip:!1,accessibility:{point:{valueSuffix:"%"}},plotOptions:{series:{states:{hover:!1}},pie:{startAngle:-90,endAngle:90,center:["50%","100%"],size:this.pieChartWidth+"px",showInLegend:!0,dataLabels:{connectorWidth:0,enabled:!1}}},legend:{symbolPadding:0,symbolWidth:0,symbolHeight:0,squareSymbol:!1,labelFormatter:function(){const Ct=this.options,Rt=["#D0D0D0",it];return`\n <div class="legend-pie-population-details ind-${this.index}">\n <div>\n <span class="point" style="color:${Rt[this.index%Rt.length]}">\u25cf</span>\n <span class="number">${function(Re){let le=Re.toString().replace(" ","");return le=le.replace(/\B(?=(\d{3})+(?!\d))/g,","),le}(Ct.y)}</span>\n </div>\n <span class="legend">${Ct.name}</span>\n </div>`},useHTML:!0,y:this.isMobile()?this.calculateB(window.innerWidth,{a:768,b:-50},{a:390,b:-140}):0},series:[{type:"pie",innerSize:"50%",data:[[this.translate.instant("POPULATION.RESIDENTS-OF-CITY"),+A.neighborhoodInfo.residentsCity],[this.translate.instant("POPULATION.RESIDENTS-IN-NEIGHBOURHOOD"),+A.neighborhoodInfo.residentsInNeighborhood]]}],colors:["#F4F4F4",it]},this.multiColumnChartOptions={chart:{type:"column",height:this.columnChartHeight},credits:{enabled:!1},title:{text:null},subtitle:{text:null},xAxis:{categories:[...A.populationDistributionChart.data].reverse().map(Ct=>this.parseString(Ct.title)),crosshair:{color:"rgba(244,244,244,0.5)"},labels:{rotation:0,style:{display:"inline-block",whiteSpace:"normal",overflowWrap:"unset",minWidth:"clamp(2.813rem, 1.825rem + 4.052vw, 6.688rem)",textAlign:"center",fontSize:"clamp(0.75rem, 0.6225rem + 0.5229vw, 1.25rem)",fontFamily:"Heebo"},useHTML:!0}},yAxis:{min:0,max:at,title:{text:null},labels:{formatter:function(){return'<span class="multi-column-chart-yAxis-labels">'+(this.value>=1e3?(this.value/1e3).toFixed(1)+"k":this.value)+"</span>"},useHTML:!0},opposite:!0},legend:{symbolPadding:0,symbolWidth:0,symbolHeight:0,squareSymbol:!1,style:{fontFamily:"Heebo"},labelFormatter:function(){const Ct=this.userOptions;return`\n <div class="legend-population-details">\n <img src="${Ct.icon}" alt="" height="24" width="24"/>\n <span>${Ct.name}</span>\n </div>`},useHTML:!0},tooltip:{headerFormat:'<div class="tooltip-population-details">',pointFormatter:function(){return`\n <div class="row">\n <img src="${this.icon}" height="16" width="16" alt=""/>\n <b>${function(Rt){let Ht=Rt.toString().replace(" ","");return Ht=Ht.replace(/\B(?=(\d{3})+(?!\d))/g,","),Ht}(this.y)}</b>\n </div>`},footer:"</div>",shared:!0,useHTML:!0},plotOptions:{column:{pointWidth:this.isMobile()?5:10,borderRadius:100}},series:[{name:this.translate.instant("POPULATION.WOMEN"),icon:"/assets/images/icons/female.svg",color:"#96CDF2",data:[...A.populationDistributionChart.data].reverse().map(Ct=>({y:+Ct.women,icon:"/assets/images/icons/female.svg"}))},{name:this.translate.instant("POPULATION.MEN"),icon:"/assets/images/icons/male.svg",color:document.body.classList.contains("contrast-mode")?"#175091":"#1F5FA6",data:[...A.populationDistributionChart.data].reverse().map(Ct=>({y:+Ct.men,icon:"/assets/images/icons/male.svg"}))}]}}parseString(A){const it=A.match(/(.+)\s\((.*)\)/);
1return it?`<div class="x-title-population-details"><span>${it[1]}</span><span>(${it[2]})</span></div>`:A}closeDialog(){this.dialogRef.close()}static{this.\u0275fac=function(at){return new(at||U)(t.rXU(b.Vh,8),t.rXU(b.CP,8),t.rXU(b.bZ),t.rXU(C.c$),t.rXU(M.g))}}static{this.\u0275cmp=t.VBU({type:U,selectors:[["app-population-details-chart"]],viewQuery:function(at,it){if(1&at&&(t.GBs(G,5),t.GBs(z,5)),2&at){let Ct;t.mGM(Ct=t.lsd())&&(it.pieChartContainer=Ct.first),t.mGM(Ct=t.lsd())&&(it.columnChartContainer=Ct.first)}},hostBindings:function(at,it){1&at&&t.bIt("resize",function(Pt){return it.onResize(Pt)},!1,t.tSv)},inputs:{details:"details"},standalone:!0,features:[t.aNF],decls:6,vars:8,consts:[[1,"grid"],[1,"column-chart",3,"Highcharts","options","runOutsideAngular","oneToOne"],["column",""],[1,"pie-chart",3,"Highcharts","options","runOutsideAngular","oneToOne"],["pie",""]],template:function(at,it){1&at&&(t.j41(0,"div",0),t.nrm(1,"highcharts-chart",1,2)(3,"div")(4,"highcharts-chart",3,4),t.k0s()),2&at&&(t.R7$(1),t.Y8G("Highcharts",it.Highcharts)("options",it.multiColumnChartOptions)("runOutsideAngular",!0)("oneToOne",!0),t.R7$(3),t.Y8G("Highcharts",it.Highcharts)("options",it.donutChartOptions)("runOutsideAngular",!0)("oneToOne",!0))},dependencies:[L.MD,k,K,E.Cn],styles:[".grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:1.2fr .1fr .7fr;gap:clamp(.125rem,-.063rem + .833vw,.938rem)}@media screen and (max-width: 1100px) and (min-width: 768px){.grid[_ngcontent-%COMP%]{grid-template-columns:1.2fr .01fr .79fr}}@media screen and (max-width: 768px){.grid[_ngcontent-%COMP%]{display:flex;flex-direction:column}}@media screen and (min-width: 768px){.grid[_ngcontent-%COMP%] .pie-chart[_ngcontent-%COMP%]{--pie-chart-width: clamp(18.625rem, 15.248rem + 13.856vw, 31.875rem);max-width:var(--pie-chart-width);align-self:center}}@media screen and (max-width: 768px){.grid[_ngcontent-%COMP%] .pie-chart[_ngcontent-%COMP%]{justify-self:center}}@media screen and (min-width: 768px){.grid[_ngcontent-%COMP%] .column-chart[_ngcontent-%COMP%]{max-width:clamp(26.875rem,4.333rem + 46.962vw,60.688rem)}} .multi-column-chart-yAxis-labels{font-size:clamp(.75rem,.6225rem + .5229vw,1.25rem);font-family:Heebo}"]})}}return U})();function h(U,kt){if(1&U){const A=t.RV6();t.j41(0,"button",15),t.bIt("click",function(){t.eBV(A);const it=t.XpG();return t.Njj(it.openDialog())}),t.nI1(1,"translate"),t.nrm(2,"img",16),t.k0s()}2&U&&(t.Y8G("ariaLabel",t.bMT(1,2,"SHARED.ACCESSIBILITY.LARGE-DISPLAY")),t.R7$(2),t.Y8G("ngSrc","assets/images/icons/expand-blue.svg"))}function c(U,kt){if(1&U){const A=t.RV6();t.j41(0,"button",17),t.bIt("click",function(){t.eBV(A);const it=t.XpG();return t.Njj(it.closeDialog())}),t.k0s()}if(2&U){const A=t.XpG();t.Y8G("ariaLabel",A.closeModalAriaLabel)}}function g(U,kt){if(1&U){const A=t.RV6();t.j41(0,"div",18),t.bIt("click",function(){t.eBV(A);const it=t.XpG();return t.Njj(it.backToGeneralChart())}),t.nrm(1,"img",16),t.k0s()}2&U&&(t.R7$(1),t.Y8G("ngSrc","assets/images/icons/arrow-chevron-previous.svg"))}function j(U,kt){if(1&U){const A=t.RV6();t.j41(0,"div",19),t.bIt("click",function(){const Ct=t.eBV(A).$implicit,Pt=t.XpG();return t.Njj(Pt.openDetailsCharts(Ct.id,Ct.name))}),t.nrm(1,"img",20)(2,"img",21),t.j41(3,"span",22),t.EFF(4),t.k0s(),t.nrm(5,"img",23),t.k0s()}if(2&U){const A=kt.$implicit;t.R7$(1),t.Y8G("ngSrc","assets/images/icons/location-marker-blue.svg"),t.R7$(1),t.Y8G("ngSrc","assets/images/icons/location-marker-green.svg"),t.R7$(2),t.JRh(A.name),t.R7$(1),t.Y8G("ngSrc","assets/images/icons/arrow-left-green.svg")}}function s(U,kt){if(1&U){const A=t.RV6();t.j41(0,"app-population-general-chart",24),t.bIt("clickTooltip",function(it){t.eBV(A);const Ct=t.XpG();return t.Njj(Ct.openDetailsCharts(it.id,it.name))}),t.k0s()}}function f(U,kt){if(1&U&&t.nrm(0,"app-population-details-chart",25),2&U){const A=t.XpG();t.Y8G("details",A.neighbourhoodDetails)}}const m=function(U,kt){return{default:U,rotated:kt}};let T=(()=>{class U{constructor(A,at,it,Ct,Pt){this.data=A,this.dialogRef=at,this.dialog=it,this.cityDashboardService=Ct,this.translate=Pt,this.isMenuOpened=!1,this.showDetail
1sCharts=!1,this.subscription=new Y.yU,this.neighbourhoodList=[],this.closeModalAriaLabel=""}ngOnInit(){this.data&&(this.showDetailsCharts=this.data.showDetailsCharts,this.neighbourhoodDetails=this.data.neighbourhoodDetails,this.selectedNeighbourhoodName=this.data.selectedNeighbourhoodName),this.subscription.add(this.cityDashboardService.getDashboardNeighbourhood().subscribe(A=>{this.neighbourhoodList=A})),this.closeModalAriaLabel=`${this.translate.instant("SHARED.ACCESSIBILITY.NAV.CLOSE")} ${this.translate.instant("SHARED.ACCESSIBILITY.LARGE-DISPLAY")}`}openDetailsCharts(A,at=""){this.showDetailsCharts=!0,this.selectedNeighbourhoodName=at,this.subscription.add(this.cityDashboardService.getDashboardNeighbourhoodById(A).subscribe(it=>{this.neighbourhoodDetails=it}))}openDialog(){this.dialog.open(U,{maxHeight:"90vh",width:"91.79vw",data:{showDetailsCharts:this.showDetailsCharts,neighbourhoodDetails:this.neighbourhoodDetails,selectedNeighbourhoodName:this.selectedNeighbourhoodName},panelClass:"modal-rounded",ariaLabelledBy:"popuTitleModal"})}
1backToGeneralChart(){this.showDetailsCharts=!1}closeDialog(){this.dialogRef.close()}ngOnDestroy(){this.subscription.unsubscribe()}static{this.\u0275fac=function(at){return new(at||U)(t.rXU(b.Vh,8),t.rXU(b.CP,8),t.rXU(b.bZ),t.rXU(ht),t.rXU(C.c$))}}static{this.\u0275cmp=t.VBU({type:U,selectors:[["app-population-chart"]],standalone:!0,features:[t.aNF],decls:21,vars:24,consts:[[1,"container"],["class","expand-chart-icon",3,"ariaLabel","click",4,"ngIf"],["class","close-modal-btn",3,"ariaLabel","click",4,"ngIf"],[1,"population-header"],["class","back-icon",3,"click",4,"ngIf"],[1,"neighborhood-button-container"],[1,"population-title",3,"id"],[1,"menu-btn",3,"matMenuTriggerFor","menuOpened","menuClosed"],["height","24","width","24","alt","",1,"menu-icon",3,"ngSrc"],["height","24","width","24","alt","",1,"menu-icon",3,"ngClass","ngSrc"],["menuOptions","matMenu"],[1,"menu-options"],["class","menu-option",3,"click",4,"ngFor","ngForOf"],[3,"clickTooltip",4,"ngIf"],[3,"details",4,"ngIf"],[1,"expand-chart-icon",3,"ariaLabel","click"],["height","22","width","22","alt","",3,"ngSrc"],[1,"close-modal-btn",3,"ariaLabel","click"],[1,"back-icon",3,"click"],[1,"menu-option",3,"click"],["height","20","width","20","alt","",1,"blue-icon",3,"ngSrc"],["height","20","width","20","alt","",1,"green-icon",3,"ngSrc"],[1,"menu-option-text"],["height","12","width","12","alt","",1,"option-icon",3,"ngSrc"],[3,"clickTooltip"],[3,"details"]],template:function(at,it){if(1&at&&(t.j41(0,"div",0),t.DNE(1,h,3,4,"button",1),t.DNE(2,c,1,1,"button",2),t.j41(3,"div",3),t.DNE(4,g,2,1,"div",4),t.j41(5,"div",5)(6,"h2",6),t.EFF(7),t.nI1(8,"translate"),t.k0s(),t.j41(9,"button",7),t.bIt("menuOpened",function(){return it.isMenuOpened=!0})("menuClosed",function(){return it.isMenuOpened=!1}),t.nrm(10,"img",8),t.j41(11,"div"),t.EFF(12),t.nI1(13,"translate"),t.k0s(),t.nrm(14,"img",9),t.k0s(),t.j41(15,"mat-menu",null,10)(17,"div",11),t.DNE(18,j,6,4,"div",12),t.k0s()()()(),t.DNE(19,s,1,0,"app-population-general-chart",13),t.DNE(20,f,1,1,"app-population-details-chart",14),t.k0s()),2&at){const Ct=t.sdS(16);t.R7$(1),t.Y8G("ngIf",!it.data),t.R7$(1),t.Y8G("ngIf",it.data),t.R7$(1),t.AVh("show-detail
1s-charts",it.showDetailsCharts),t.R7$(1),t.Y8G("ngIf",it.showDetailsCharts),t.R7$(2),t.Y8G("id","popuTitle"+(it.data?"Modal":"")),t.R7$(1),t.JRh(t.bMT(8,17,"POPULATION.POPULATION-BY-NEIGHBOURHOOD")),t.R7$(2),t.AVh("opened",it.isMenuOpened),t.Y8G("matMenuTriggerFor",Ct),t.R7$(1),t.Y8G("ngSrc","assets/images/icons/location-marker-black.svg"),t.R7$(2),t.JRh(it.showDetailsCharts?it.selectedNeighbourhoodName:t.bMT(13,19,"POPULATION.ALL-NEIGHBOURHOODS")),t.R7$(2),t.Y8G("ngClass",t.l_i(21,m,!it.isMenuOpened,it.isMenuOpened))("ngSrc","assets/images/icons/arrow-chevron-down-black.svg"),t.R7$(4),t.Y8G("ngForOf",it.neighbourhoodList),t.R7$(1),t.Y8G("ngIf",!it.showDetailsCharts),t.R7$(1),t.Y8G("ngIf",it.showDetailsCharts&&it.neighbourhoodDetails)}},dependencies:[x,E.Cn,E.kk,E.Cp,L.YU,L.kt,L.Sq,L.bT,q,C.h,C.D9],styles:[".container[_ngcontent-%COMP%]{padding:41px 30px}@media screen and (min-width: 768px){.container[_ngcontent-%COMP%]{height:830px}}@media screen and (max-width: 1100px){.container[_ngcontent-%COMP%]{padding:1rem;height:100%}}.population-header[_ngcontent-%COMP%]{display:flex;align-items:center;row-gap:1rem;margin-bottom:65px}@media screen and (min-width: 768px){.population-header[_ngcontent-%COMP%]{column-gap:1rem}}@media screen and (max-width: 768px){.population-header[_ngcontent-%COMP%]{column-gap:6px;align-items:flex-start}
1.population-header[_ngcontent-%COMP%]:not(.show-details-charts){flex-direction:column}}.population-header[_ngcontent-%COMP%] .neighborhood-button-container[_ngcontent-%COMP%]{display:flex;align-items:center}@media screen and (min-width: 768px){.population-header[_ngcontent-%COMP%] .neighborhood-button-container[_ngcontent-%COMP%]{column-gap:1rem}}@media screen and (max-width: 768px){.population-header[_ngcontent-%COMP%] .neighborhood-button-container[_ngcontent-%COMP%]{flex-direction:column;gap:1rem}}.population-title[_ngcontent-%COMP%]{font-size:clamp(1rem,.5833rem + .8681vw,1.625rem);font-weight:500;line-height:normal;font-family:inherit}.menu-btn[_ngcontent-%COMP%]{display:flex;gap:8px;margin-inline-end:auto;align-items:center;padding:5px clamp(.875rem,.684rem + .784vw,1.625rem);border:clamp(.094rem,.086rem + .033vw,.125rem) solid var(--rg-light-blue);border-radius:24px;background-color:transparent;font-size:clamp(.875rem,.5417rem + .6944vw,1.375rem);color:#000}.menu-btn[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{width:clamp(1rem,.6667rem + .6944vw,1.5rem);height:clamp(1rem,.6667rem + .6944vw,1.5rem)}.menu-btn[_ngcontent-%COMP%] .green-icon[_ngcontent-%COMP%]{display:none}.menu-btn[_ngcontent-%COMP%] .blue-icon[_ngcontent-%COMP%]{display:block}.menu-btn.opened[_ngcontent-%COMP%], .menu-btn[_ngcontent-%COMP%]:hover{background-color:var(--rg-blue-highlights);border-width:3px}.menu-options[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(4,1fr);grid-row-gap:1rem;padding:1rem;font-size:clamp(.875rem,.7475rem + .5229vw,1.375rem)}@media screen and (max-width: 768px){.menu-options[_ngcontent-%COMP%]{max-height:304px;max-width:84.1vw;grid-template-columns:repeat(3,1fr);grid-column-gap:8px;padding:8px 12px}}.menu-options[_ngcontent-%COMP%] .menu-option[_ngcontent-%COMP%] .green-icon[_ngcontent-%COMP%]{display:none}.menu-options[_ngcontent-%COMP%] .menu-option[_ngcontent-%COMP%] .blue-icon[_ngcontent-%COMP%]{display:block}.menu-options[_ngcontent-%COMP%] .menu-option[_ngcontent-%COMP%] .menu-option-text[_ngcontent-%COMP%]{font-family:Heebo,serif}.menu-options[_ngcontent-%COMP%] .menu-option[_ngcontent-%COMP%]:hover .green-icon[_ngcontent-%COMP%]{display:block}.menu-options[_ngcontent-%COMP%] .menu-option[_ngcontent-%COMP%]:hover .blue-icon[_ngcontent-%COMP%]{display:none}.menu-option[_ngcontent-%COMP%]{display:flex;gap:8px;align-items:center;transition:all .5s ease-in-out;cursor:pointer}.menu-option[_ngcontent-%COMP%] .option-icon[_ngcontent-%COMP%]{opacity:0} [dir=ltr] .menu-option .option-icon{transform:rotate(180deg)}.menu-option[_ngcontent-%COMP%]:hover{text-shadow:0 .02em #101010,0 -.02em #101010,.01em 0 #101010,-.01em 0 #101010;transform:scale(1.07)}.menu-option[_ngcontent-%COMP%]:hover .option-icon[_ngcontent-%COMP%]{opacity:1}@media screen and (max-width: 768px){.menu-option[_ngcontent-%COMP%]{gap:4px}.menu-option[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{width:16px;height:16px}.menu-option[_ngcontent-%COMP%] .option-icon[_ngcontent-%COMP%]{width:12px;height:12px}}.back-icon[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;border:1px solid var(--grey);border-radius:50%;box-shadow:0 2px 6px #0003;--size-icon: clamp(1.688rem, 1.471rem + .962vw, 2.625rem);width:var(--size-icon);height:var(--size-icon);cursor:pointer}.back-icon[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{--size-img: clamp(.875rem, .688rem + .833vw, 1.688rem);width:var(--size-img);height:var(--size-img)}@media screen and (max-width: 768px){.back-icon[_ngcontent-%COMP%]{width:27px;height:27px}}.default[_ngcontent-%COMP%]{transform:rotate(0);transition:all .3s ease-in}.rotated[_ngcontent-%COMP%]{transform:rotate(-180deg);transition:all .3s ease-in}"]})}}return U})();function w(U,kt){if(1&U&&t.nrm(0,"app-budget-chart",4),2&U){const A=t.XpG();t.Y8G("regularBudgetChartData",A.regularBudgetChartData)("unusualBudgetChartData",A.unusualBudgetChartData)("budgetChartLinks",A.budgetChartLinks)}}function N(U,kt){if(1&U&&t.nrm(0,"app-education-chart",5),2&U){const A=t.XpG();t.Y8G("educationChartData",A.educationChartData)}}let W=(()=>{class U{constructor(A){this.cityDashboardService=A,this.subscription=new Y.yU}ngOnInit(){this.subscription.add(this.cityDashboardService.getDashboardBudgetEducation().subscribe(A=>{this.educationChartData=A.educationChart.data,this.regularBudgetChartData=A.regularBudgetChart,this.unusualBudgetChartData=A.unusualBudgetChart}))}ngOnDestroy(){this.subscription.unsubscribe()}static{this.\u0275fac=function(at){return new(at||U)(t.rXU(ht))}}static{this.\u0275cmp=t.VBU({type:U,selectors:[["app-city-in-numbers"]],inputs:{budgetChartLinks:"budgetChartLinks"},standalone:!0,features:[t.aNF],decls:5,vars:2,consts:[[1,"grid"],["class","grid-item",3,"regularBudgetChartData","unusualBudgetChartData","budgetChartLinks",4,"ngIf"],["class","grid-item",3,"educationChartData",4,"ngIf"],[1,"grid-item","full-width"],[1,"grid-item",3,"regularBudgetChartData","unusualBudgetChartData","budgetChartLinks"],[1,"grid-item",3,"educationChartData"]],template:function(at,it){1&at&&(t.j41(0,"section")(1,"div",0),t.DNE(2,w,1,3,"app-budget-chart",1),t.DNE(3,N,1,1,"app-education-chart",2),t.nrm(4,"app-population-chart",3),t.k0s()()),2&at&&(t.R7$(2),t.Y8G("ngIf",it.regularBudgetChartData&&it.unusualBudgetChartData),t.R7$(1),t.Y8G("ngIf",it.educationChartData))},dependencies:[k,Z.RI,a,d,T,b.hM,L.bT],styles:["section[_ngcontent-%COMP%]{padding:0 33px}@media screen and (max-width: 1100px){section[_ngcontent-%COMP%]{padding:0 1rem}}.grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(2,1fr);
1gap:31px;margin-block-start:40px}@media screen and (max-width: 768px){.grid[_ngcontent-%COMP%]{display:flex;flex-direction:column}}.full-width[_ngcontent-%COMP%]{grid-column:1/span 2}.grid-item[_ngcontent-%COMP%]{border-radius:20px;box-shadow:0 0 14px #00000038;margin-block-end:12px;position:relative}@media screen and (max-width: 768px){.grid-item[_ngcontent-%COMP%]{border-radius:8px}}"]})}}return U})();var V=Tt(29123);function Q(U,kt){1&U&&t.nrm(0,"app-lottie-card",5),2&U&&t.Y8G("category",kt.$implicit)("customClass","muni-transparency")}function lt(U,kt){if(1&U&&(t.j41(0,"section")(1,"h2",2),t.EFF(2),t.k0s(),t.j41(3,"div",3),t.DNE(4,Q,1,2,"app-lottie-card",4),t.k0s()()),2&U){const A=kt.$implicit;t.R7$(2),t.JRh(A.title),t.R7$(2),t.Y8G("ngForOf",A.linkCategory)}}let ct=(()=>{class U{static{this.\u0275fac=function(at){return new(at||U)}}static{this.\u0275cmp=t.VBU({type:U,selectors:[["app-municipal-transparency"]],inputs:{linkCategories:"linkCategories"},standalone:!0,features:[t.aNF],decls:2,vars:1,consts:[[1,"container"],[4,"ngFor","ngForOf"],[1,"title"],[1,"grid"],[3,"category","customClass",4,"ngFor","ngForOf"],[3,"category","customClass"]],template:function(at,it){1&at&&(t.j41(0,"div",0),t.DNE(1,lt,5,2,"section",1),t.k0s()),2&at&&(t.R7$(1),t.Y8G("ngForOf",it.linkCategories))},dependencies:[L.MD,L.Sq,V.t],styles:[".container[_ngcontent-%COMP%]{padding:0 9.9vw;display:flex;flex-direction:column;gap:clamp(3.125rem,2.5656rem + 2.2891vw,5.3125rem)}@media screen and (max-width: 768px){.container[_ngcontent-%COMP%]{padding:0 1rem}}section[_ngcontent-%COMP%]:first-child{margin-top:2rem}.title[_ngcontent-%COMP%]{font-family:inherit;font-size:clamp(1rem,3vw,1.5rem);font-weight:500;color:var(--dark-grey)}.grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:clamp(1rem,.8242rem + .7194vw,1.6875rem);margin:12px 0}@media screen and (max-width: 768px){.grid[_ngcontent-%COMP%]{grid-template-columns:repeat(2,1fr)}}"]})}}return U})();var B=Tt(9159),R=Tt(2042),H=Tt(52530),X=Tt(67305),tt=Tt(63998),et=Tt(15982),rt=Tt(59439),ot=Tt(62764),ut=Tt(22693),ft=Tt(39895),xt=Tt(92854);const yt=["searchButton"];function bt(U,kt){if(1&U&&(t.j41(0,"div",40)(1,"span",18),t.EFF(2),t.nI1(3,"translate"),t.k0s(),t.EFF(4),t.k0s()),2&U){const A=t.XpG();t.R7$(2),t.SpI("",t.bMT(3,2,"SHARED.ACCESSIBILITY.GUIDE.SELECTED")," "),t.R7$(2),t.SpI(" ",A.selectedYears.length," ")}}function wt(U,kt){if(1&U){const A=t.RV6();t.j41(0,"button",43),t.bIt("click",function(it){const Pt=t.eBV(A).$implicit,Rt=t.XpG(2);return it.stopPropagation(),t.Njj(Rt.updateSelectedYears(Pt))}),t.nrm(1,"app-rg-option-button",44),t.k0s()}if(2&U){const A=kt.$implicit,at=t.XpG(2);t.Y8G("role","menuitemcheckbox")("ariaChecked",at.selectedYears.includes(A)),t.R7$(1),t.Y8G("text",A.toString())("isSelected",at.selectedYears.includes(A))("customClass","protocol-date")("isA11yPresentational",!0)}}function Mt(U,kt){if(1&U&&(t.j41(0,"div",41),t.DNE(1,wt,2,6,"button",42),t.k0s()),2&U){const A=kt.$implicit;t.R7$(1),t.Y8G("ngForOf",A)}}function vt(U,kt){if(1&U){const A=t.RV6();t.j41(0,"app-search-area",45),t.bIt("closeDialog",function(){t.eBV(A);const it=t.XpG();return t.Njj(it.onCloseExpandedSearch())})("onSelect",function(it){t.eBV(A);const Ct=t.XpG();return t.Njj(Ct.onSearchSelect(it))})("initAutoComplete",function(it){t.eBV(A);const Ct=t.XpG();return t.Njj(Ct.initAutoComplete(it))})("onType",function(it){t.eBV(A);const Ct=t.XpG();return t.Njj(Ct.searchAutocomplete(it))}),t.k0s()}if(2&U){const A=t.XpG();t.Y8G("searchText",A.searchText)("searchResults",A.autocompleteResults)}}function _t(U,kt){if(1&U&&(t.j41(0,"div",46),t.EFF(1),t.k0s()),2&U){const A=t.XpG();t.R7$(1),t.SpI(" ",null==A.selectedCategory.subCategories[0]?null:A.selectedCategory.subCategories[0].name,"\n")}}function At(U,kt){if(1&U){const A=t.RV6();t.j41(0,"button",49),t.bIt("click",function(){const Ct=t.eBV(A).$implicit,Pt=t.XpG(2);return t.Njj(Pt.onColumnSort(Ct))}),t.EFF(1),t.k0s()}if(2&U){const A=kt.$implicit;t.R7$(1),t.JRh(A)}}function Et(U,kt){if(1&U&&(t.j41(0,"div",47),t.nI1(1,"translate"),t.DNE(2,At,2,1,"button",48),t.k0s()),2&U){const A=t.XpG();t.Y8G("ariaLabel",t.bMT(1,2,"SHARED.SORT-BY")),t.R7$(2),t.Y8G("ngForOf",A.tableColumns)}}const Lt=function(){return["no-border","icon-before"]},jt=function(U){return{count:U}},Bt=function(U,kt){return{default:U,rotated:kt}};let Dt=(()=>{class U{set setSelectedCategory(A){this.selectedCategory=A}set resetAll(A){this.selectedYears=[],this.searchText="",this.setTableColumns()}constructor(A,at,it){this.deviceService=A,this.translate=at,this.searchService=it,this.categorySelected=new t.bkB,this.selectedYearsChanged=new t.bkB,this.searchTextChanged=new t.bkB,this.onFiltersReset=new t.bkB,this.columnSorted=new t.bkB,this.hasFiltersSelected=new t.bkB,this.searchAreaActive=!1,this.isCategoryMenuOpened=!1,this.isMenuOpened=!1,this.isOrderMenuOpened=!1,this.selectedYears=[],this.searchText="",this.yearRangeRows=[[2022,2023,2024,2025],[2018,2019,2020,2021]]}ngOnInit(){this.setTableColumns(),this.deviceService.isDesktop||(this.columnSorted.emit(this.sortedTableColumn),this.hasFiltersSelected.emit(!1))}setTableColumns(){this.sortedTableColumn=this.translate.instant("PROTOCOL.TABLE.DATE"),this.tableColumns=[this.translate.instant("PROTOCOL.TABLE.TYPE"),this.translate.instant("PROTOCOL.TABLE.FILENAME"),this.translate.instant("PROTOCOL.TABLE.CATEGORY")]}onSelectCategory(A){this.selectedCategory=A,this.categorySelected.emit(this.selectedCategory),this.isCategoryMenuOpened=!1}updateSelectedYears(A){this.selectedYears.includes(A)?this.selectedYears=this.selectedYears.filter(at=>at!==A):this.selectedYears.push(A),this.selectedYearsChanged.emit(this.selectedYears)}onSearchSelect(A){this.searchText=A,this.searchTextChanged.emit(A),this.searchAreaActive=!1}initAutoComplete(A){this.searchService.initAutoCompleteSearch().subscribe(at=>{this.autocompleteResults=at})}searchAutocomplete(A){A&&this.searchService.searchChanged$.next(A)}onColumnSort(A){this.isOrderMenuOpened=!1,this.tableColumns=this.tableColumns.filter(at=>at!==A),this.tableColumns.push(this.sortedTableColumn),this.sortedTableColumn=A,this.columnSorted.emit(A)}onCloseExpandedSearch(){this.searchButton.nativeElement.focus({preventScroll:!0}),this.searchAreaActive=!1}static{this.\u0275fac=function(at){return new(at||U)(t.rXU(M.g),t.rXU(C.c$),t.rXU(xt.S))}}static{this.\u0275cmp=t.VBU({type:U,selectors:[["app-protocol-filters"]],viewQuery:function(at,it){if(1&at&&(t.GBs(E.Cp,5),t.GBs(yt,5)),2&at){let Ct;t.mGM(Ct=t.lsd())&&(it.trigger=Ct.first),t.mGM(Ct=t.lsd())&&(it.searchButton=Ct.first)}},inputs:{categories:"categories",hasFilters:"hasFilters",recordsCount:"recordsCount",setSelectedCategory:"setSelectedCategory",resetAll:"resetAll"},outputs:{categorySelected:"categorySelected",selectedYearsChanged:"selectedYearsChanged",searchTextChanged:"searchTextChanged",onFiltersReset:"onFiltersReset",columnSorted:"columnSorted",hasFiltersSelected:"hasFiltersSelected"},standalone:!0,features:[t.aNF],decls:69,vars:82,consts:[[1,"protocol-filter-panel"],[1,"filters-count","desktop"],[1,"records-count"],[1,"filters"],[1,"menu-btn",3,"matMenuTriggerFor","menuOpened","menuClosed"],["height","22","width","22",1,"calendar-icon",3,"ngSrc"],[1,"placeholder-year","desktop"],["height","16","width","16",1,"desktop",3,"ngSrc"],["class","year-count",4,"ngIf"],[3,"aria-label"],["menuOptions","matMenu"],["role","group",1,"menu-options"],["class","menu-options-items",4,"ngFor","ngForOf"],[1,"search-container"],["type","button",1,"search-input-container",3,"click"],["searchButton",""],[1,"placeholder-like"],[1,"search-btn-like"],[1,"sr-only"],[3,"searchText","searchResults","closeDialog","onSelect","initAutoComplete","onType",4,"ngIf"],[1,"search-extra"],[1,"cat-menu-btn","mobile",3,"matMenuTriggerFor","menuOpened","menuClosed","click"],["menuTrigger","matMenuTrigger"],["height","16","width","16","alt","",3,"ngSrc"],[1,"mob-protocol-categories"],["categoryOptions","matMenu"],[3,"categories","click","categorySelected"],[1,"desktop",3,"text","customClass","iconSrc","disabled","rgClick"],[1,"category-selected","mobile"],[3,"ngSrc","height","width"],["class","subcategory-selected mobile",4,"ngIf"],[1,"filter-actions","mobile"],[1,"filters-count"],[1,"filter-order"],[1,"order-container"],[1,"order-menu-btn",3,"click"],[1,"option"],["height","14","
1width","14","alt","",3,"ngClass","ngSrc"],["class","order-menu-open","role","group",3,"ariaLabel",4,"ngIf"],[3,"text","customClass","iconSrc","disabled","rgClick"],[1,"year-count"],[1,"menu-options-items"],["mat-menu-item","","class","menu-option-button",3,"role","ariaChecked","click",4,"ngFor","ngForOf"],["mat-menu-item","",1,"menu-option-button",3,"role","ariaChecked","click"],[3,"text","isSelected","customClass","isA11yPresentational"],[3,"searchText","searchResults","closeDialog","onSelect","initAutoComplete","onType"],[1,"subcategory-selected","mobile"],["role","group",1,"order-menu-open",3,"ariaLabel"],["class","order-menu-item",3,"click",4,"ngFor","ngForOf"],[1,"order-menu-item",3,"click"]],template:function(at,it){if(1&at){const Ct=t.RV6();t.j41(0,"div",0)(1,"h2",1),t.EFF(2),t.nI1(3,"translate"),t.j41(4,"span",2),t.EFF(5),t.k0s(),t.EFF(6),t.nI1(7,"translate"),t.k0s(),t.j41(8,"div",3)(9,"button",4),t.bIt("menuOpened",function(){return it.isMenuOpened=!0})("menuClosed",function(){return it.isMenuOpened=!1}),t.nrm(10,"img",5),t.j41(11,"span",6),t.EFF(12),t.nI1(13,"translate"),t.k0s(),t.nrm(14,"img",7),t.DNE(15,bt,5,4,"div",8),t.k0s(),t.j41(16,"mat-menu",9,10),t.nI1(18,"translate"),t.j41(19,"div",11),t.nI1(20,"translate"),t.DNE(21,Mt,2,1,"div",12),t.k0s()(),t.j41(22,"div",13)(23,"button",14,15),t.bIt("click",function(){return it.searchAreaActive=!0}),t.j41(25,"span",16),t.EFF(26),t.nI1(27,"translate"),t.k0s(),t.j41(28,"div",17)(29,"span",18),t.EFF(30),t.nI1(31,"translate"),t.nI1(32,"translate"),t.k0s()()(),t.DNE(33,vt,1,2,"app-search-area",19),t.j41(34,"div",20)(35,"button",21,22),t.bIt("menuOpened",function(){return it.isCategoryMenuOpened=!0})("menuClosed",function(){return it.isCategoryMenuOpened=!1})("click",function(Rt){return Rt.stopPropagation()}),t.j41(37,"span"),t.EFF(38),t.nI1(39,"translate"),t.k0s(),t.nrm(40,"img",23),t.k0s()(),t.j41(41,"mat-menu",24,25)(43,"app-protocol-categories",26),t.bIt("click",function(Rt){return Rt.stopPropagation()})("categorySelected",function(Rt){t.eBV(Ct);const Ht=t.sdS(36);return it.onSelectCategory(Rt),t.Njj(Ht.closeMenu())}),t.k0s()()(),t.j41(44,"rg-button",27),t.bIt("rgClick",function(){return it.onFiltersReset.emit()}),t.nI1(45,"translate"),t.k0s()()(),t.j41(46,"h2",28),t.nrm(47,"img",29),t.nI1(48,"prefixCmsLink"),t.j41(49,"span"),t.EFF(50),t.nI1(51,"translate"),t.k0s()(),t.DNE(52,_t,2,1,"div",30),t.j41(53,"div",31)(54,"h3",32),t.EFF(55),t.nI1(56,"translate"),t.k0s(),t.j41(57,"div",33)(58,"div",34)(59,"button",35),t.bIt("click",function(){return it.isOrderMenuOpened=!it.isOrderMenuOpened}),t.j41(60,"span"),t.EFF(61),t.nI1(62,"translate"),t.k0s(),t.j41(63,"span",36),t.EFF(64),t.k0s(),t.nrm(65,"img",37),t.k0s(),t.DNE(66,Et,3,4,"div",38),t.k0s()(),t.j41(67,"rg-button",39),t.bIt("rgClick",function(){return it.onFiltersReset.emit()}),t.nI1(68,"translate"),t.k0s()()}if(2&at){const Ct=t.sdS(17),Pt=t.sdS(42);t.R7$(2),t.SpI(" ",t.bMT(3,44,"PROTOCOL.SHOW-DOCUMENT")," "),t.R7$(3),t.JRh(it.recordsCount),t.R7$(1),t.SpI(" ",t.bMT(7,46,(null==it.selectedCategory?null:it.selectedCategory.subCategories)&&(null==it.selectedCategory.subCategories[0]?null:it.selectedCategory.subCategories[0].name)||"PROTOCOL.RECENT-DOCUMENTS")," "),t.R7$(3),t.AVh("opened",it.isMenuOpened),t.Y8G("matMenuTriggerFor",Ct),t.R7$(1),t.Y8G("ngSrc","assets/images/icons/calendar.svg"),t.R7$(2),t.JRh(t.bMT(13,48,"PROTOCOL.YEARS")),t.R7$(2),t.Y8G("ngSrc","assets/images/icons/arrow-chevron-down-black.svg"),t.R7$(1),t.Y8G("ngIf",it.selectedYears.length),t.R7$(1),t.Y8G("aria-label",t.bMT(18,50,"PROTOCOL.YEARS")),t.R7$(3),t.BMQ("aria-label",t.bMT(20,52,"SHARED.ACCESSIBILITY.GUIDE.CLOSE-ESC")),t.R7$(2),t.Y8G("ngForOf",it.yearRangeRows),t.R7$(5),t.SpI(" ",it.searchText.length?it.searchText:t.bMT(27,54,"SHARED.SEARCH-PLACEHOLDER")," "),t.R7$(4),t.Lme("",t.bMT(31,56,"SHARED.ACCESSIBILITY.NAV.OPEN")," ",t.bMT(32,58,"SR-ONLY.SEARCH-COMPONENT"),""),t.R7$(3),t.Y8G("ngIf",it.searchAreaActive),t.R7$(2),t.AVh("opened",it.isCategoryMenuOpened),t.Y8G("matMenuTriggerFor",Pt),t.R7$(3),t.JRh(t.bMT(39,60,"PROTOCOL.TABLE.CATEGORY")),t.R7$(2),t.Y8G("ngSrc","assets/images/icons/arrow-chevron-down-white.svg"),t.R7$(3),t.Y8G("categories",it.categories),t.R7$(1),t.Y8G("text",t.bMT(45,62,"SHARED.NO-FILTER"))("customClass",t.lJ4(75,Lt))("iconSrc","assets/images/icons/reset.svg")("disabled",!it.hasFilters),t.R7$(3),t.Y8G("ngSrc",it.selectedCategory&&it.selectedCategory.icon.link?t.bMT(48,64,it.selectedCategory.icon.link):"assets/images/icons/file.svg")("height",24)("width",24),t.R7$(3),t.JRh(it.selectedCategory?it.selectedCategory.name:t.bMT(51,66,"PROTOCOL.RECENT-DO
1CUMENTS")),t.R7$(2),t.Y8G("ngIf",(null==it.selectedCategory?null:it.selectedCategory.subCategories)&&(null==it.selectedCategory.subCategories[0]?null:it.selectedCategory.subCategories[0].name)),t.R7$(3),t.JRh(t.i5U(56,68,"PROTOCOL.RESULTS-COUNT",t.eq3(76,jt,it.recordsCount))),t.R7$(3),t.AVh("open",it.isOrderMenuOpened),t.R7$(3),t.SpI("",t.bMT(62,71,"SHARED.SORT-BY"),":"),t.R7$(3),t.JRh(it.sortedTableColumn),t.R7$(1),t.Y8G("ngClass",t.l_i(78,Bt,!it.isOrderMenuOpened,it.isOrderMenuOpened))("ngSrc","assets/images/icons/arrow-chevron-down-blue.svg"),t.R7$(1),t.Y8G("ngIf",it.isOrderMenuOpened),t.R7$(1),t.Y8G("text",t.bMT(68,73,"SHARED.NO-FILTER"))("customClass",t.lJ4(81,Lt))("iconSrc","assets/images/icons/reset.svg")("disabled",!it.hasFilters)}},dependencies:[L.MD,L.YU,L.Sq,L.bT,rt.X,ot.v,E.Cn,E.kk,E.fb,E.Cp,L.kt,ut.W,ft.a,l.g,C.h,C.D9],styles:[".protocol-filter-panel[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;border-radius:20px;padding:1.5rem 2rem;box-shadow:0 0 14px #00000038;margin-bottom:2rem;gap:6px}@media screen and (max-width: 1100px) and (min-width: 768px){.protocol-filter-panel[_ngcontent-%COMP%]{padding:1rem}}@media screen and (max-width: 768px){.protocol-filter-panel[_ngcontent-%COMP%]{margin-bottom:45px}}.menu-btn[_ngcontent-%COMP%]{display:flex;padding:10px 18px;justify-content:center;align-items:center;gap:6px;border-radius:44px;border:1.5px solid var(--rg-blue);background-color:var(--white);position:relative;transition:all .1s;height:clamp(2.75rem,2.6062rem + .5886vw,3.3125rem)}@media screen and (max-width: 1100px) and (min-width: 768px){.menu-btn[_ngcontent-%COMP%]{padding:10px}}.menu-btn[_ngcontent-%COMP%] img.desktop[_ngcontent-%COMP%]{transition:transform .3s}.menu-btn[_ngcontent-%COMP%]:hover, .menu-btn.opened[_ngcontent-%COMP%]{background-color:var(--shades-rg-dark-blue-highlights)}@media screen and (max-width: 768px){.menu-btn[_ngcontent-%COMP%]:hover, .menu-btn.opened[_ngcontent-%COMP%]{border:2px solid var(--rg-light-blue)}}@media screen and (min-width: 768px){.menu-btn[_ngcontent-%COMP%]:hover, .menu-btn.opened[_ngcontent-%COMP%]{border:3px solid var(--rg-light-blue);padding:8px 16px}}.menu-btn.opened[_ngcontent-%COMP%] img.desktop[_ngcontent-%COMP%]{transform:rotate(-3.142rad)}.menu-btn[_ngcontent-%COMP%] .placeholder-year[_ngcontent-%COMP%]{font-weight:500;font-size:clamp(.875rem,.7475rem + .5229vw,1.375rem)}@media screen and (max-width: 1100px) and (min-width: 768px){.menu-btn[_ngcontent-%COMP%] .placeholder-year[_ngcontent-%COMP%]{display:none}}.menu-options[_ngcontent-%COMP%]{padding:6px 14px;display:grid;grid-gap:8px}@media screen and (max-width: 768px){.menu-options[_ngcontent-%COMP%]{padding:4px 8px}}.menu-options-items[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px}@media screen and (max-width: 768px){.menu-options-items[_ngcontent-%COMP%]{grid-gap:4px}}.menu-options-items[_ngcontent-%COMP%] .menu-option-button[_ngcontent-%COMP%]{background-color:transparent;min-height:auto;padding:.5px 0}.menu-options-items[_ngcontent-%COMP%] .menu-option-button.cdk-program-focused[_ngcontent-%COMP%], .menu-options-items[_ngcontent-%COMP%] .menu-option-button.cdk-keyboard-focused[_ngcontent-%COMP%]{border-color:transparent!important;box-shadow:#fff 0 0 0 5px!important;outline-offset:1px;outline:3px dashed black}.filters-count[_ngcontent-%COMP%]{font-size:clamp(.875rem,.7157rem + .6536vw,1.5rem);font-weight:400;font-family:inherit;white-space:nowrap}.filters-count[_ngcontent-%COMP%] .records-count[_ngcontent-%COMP%]{font-weight:500}.filters[_ngcontent-%COMP%]{display:flex;gap:12px;align-items:center;width:100%;justify-content:flex-end}@media screen and (max-width: 1100px) and (min-width: 768px){.filters[_ngcontent-%COMP%]{gap:8px}}.year-count[_ngcontent-%COMP%]{position:absolute;left:-5px;top:-5px;border-radius:35px;background:var(--rg-yellow);width:clamp(1.125rem,.9338rem + .7843vw,1.875rem);height:clamp(1.125rem,.9338rem + .7843vw,1.875rem);display:flex;justify-content:center;align-items:center;font-size:clamp(.875rem,.8113rem + .2614vw,1.125rem);font-weight:500;color:#000}.search-container[_ngcontent-%COMP%]{position:relative;width:100%}@media screen and (min-width: 768px){.search-container[_ngcontent-%COMP%]{max-width:360px}}.search-container[_ngcontent-%COMP%] .search-input-container[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;width:100%;padding:10px 16px;background:var(--white);box-shadow:0 2px 6px 1px #0003;border-radius:56px;font-size:clamp(.875rem,.7794rem + .3922vw,1.25rem);transition:all .1s ease-in;height:clamp(2.75rem,2.6062rem + .5886vw,3.3125rem)}@media screen and (min-width: 768px){.search-container[_ngcontent-%COMP%] .search-input-container[_ngcontent-%COMP%]:hover{font-weight:500;box-shadow:0 0 8px #008eb7}}@media screen and (max-width: 768px){.search-container[_ngcontent-%COMP%] .search-input-container[_ngcontent-%COMP%]{font-weight:500;box-shadow:none}}.search-container[_ngcontent-%COMP%] .search-input-container[_ngcontent-%COMP%] .placeholder-like[_ngcontent-%COMP%]{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:#000;font-weight:500}.search-container[_ngcontent-%COMP%] .search-extra[_ngcontent-%COMP%]{display:flex;align-items:center;gap:10px}@media screen and (max-width: 768px){.search-container[_ngcontent-%COMP%] .search-extra[_ngcontent-%COMP%]{gap:6px}}.search-container[_ngcontent-%COMP%] .search-btn-like[_ngcontent-%COMP%]{background:transparent url(search-big.769c9adb3770f3d6.svg) no-repeat center/contain;border:none;width:clamp(1.3125rem,1.2486rem + .2616vw,1.5625rem);height:clamp(1.3125rem,1.2486rem + .2616vw,1.5625rem);z-index:1}@media screen and (max-width: 768px){.search-container[_ngcontent-%COMP%] .search-btn-like[_ngcontent-%COMP%]{--icon-size: 18px;width:var(--icon-size);height:var(--icon-size);margin-inline-end:6px}}app-search-area[_ngcontent-%COMP%] .search-input{font-size:20px}.category-selected[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;gap:8px;color:var(--rg-blue);font-size:16px;font-weight:700}.category-selected.mobile[_ngcontent-%COMP%]{font-family:inherit}.subcategory-selected[_ngcontent-%COMP%]{font-size:16px;font-weight:400;justify-content:center}.filter-actions[_ngcontent-%COMP%]{justify-content:space-between;gap:8px;margin-top:45px}.mobile[_ngcontent-%COMP%]{display:none}@media screen and (max-width: 768px){.desktop[_ngcontent-%COMP%]{display:none}.mobile[_ngcontent-%COMP%]{display:flex}.menu-btn[_ngcontent-%COMP%]{padding:10px}.menu-btn[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{width:20px;height:20px}.calendar-icon[_ngcontent-%COMP%]{width:16px;height:16px}.protocol-filter-panel[_ngcontent-%COMP%]{box-shadow:none;padding:0}.filters[_ngcontent-%COMP%]{flex-direction:row-reverse}.search-container[_ngcontent-%COMP%]{display:flex;width:calc(100vw - 90px);box-shadow:0 2px 6px 1px #0003;border-radius:46px}.search-container[_ngcontent-%COMP%] .search-input-container[_ngcontent-%COMP%]{padding:0}.placeholder-like[_ngcontent-%COMP%]{padding-inline-start:12px}.cat-menu-btn[_ngcontent-%COMP%]{display:flex;justify-content:center;align-items:center;gap:8px;width:94px;height:clamp(2.75rem,2.6062rem + .5886vw,3.3125rem);background-color:var(--rg-blue);color:var(--white);border-radius:46px;align-self:stretch}.filters-count[_ngcontent-%COMP%]{color:var(--black);font-size:14px}.filter-actions[_ngcontent-%COMP%]{justify-content:space-between;font-size:14px;padding:0 16px}} rg-button button{padding:0!important} rg-button .icon-before:before{width:clamp(1rem,.9041rem + .3924vw,1.375rem)!important;height:clamp(1rem,.9041rem + .3924vw,1.375rem)!important}.default[_ngcontent-%COMP%]{transform:rotate(0);transition:all .2s ease-in}.rotated[_ngcontent-%COMP%]{transform:rotate(-180deg);transition:all .2s ease-in}.filter-order[_ngcontent-%COMP%]{position:relative}.filter-order[_ngcontent-%COMP%] .order-container.open[_ngcontent-%COMP%]{position:absolute;z-index:20;left:50%;transform:translate(-50%);background-color:#fff;border:1.5px solid var(--rg-light-blue);box-shadow:0 2px 6px 1px #0003;border-radius:8px;padding:10px}.order-menu-btn[_ngcontent-%COMP%]{background-color:#fff;color:#000;display:flex;align-items:center;gap:4px;white-space:nowrap}.order-menu-btn[_ngcontent-%COMP%] .option[_ngcontent-%COMP%]{color:var(--rg-blue)}.order-menu-open[_ngcontent-%COMP%]{display:flex;flex-direction:column}.order-menu-open[_ngcontent-%COMP%] .order-menu-item[_ngcontent-%COMP%]{font-size:14px;cursor:pointer;border-bottom:1px solid var(--grey);padding:14px 0;background:transparent;text-align:start}.order-menu-open[_ngcontent-%COMP%] .order-menu-item[_ngcontent-%COMP%]:first-child{padding-top:16px}.order-menu-open[_ngcontent-%COMP%] .order-menu-item[_ngcontent-%COMP%]:last-child{border-bottom:none;padding-bottom:6px}"]})}}return U})();var Xt=Tt(51534);let zt=(()=>{class U{constructor(A){this.dataService=A}getProtocolData(A){return this.dataService.post(gt.k.protocolSearch,A)}static{this.\u0275fac=function(at){return new(at||U)(t.KVO(Xt.u))}}static{this.\u0275prov=t.jDH({token:U,factory:U.\u0275fac})}}return U})();var Wt=Tt(67374),It=Tt.n(Wt),Gt=Tt(45312),Yt=Tt(58380);function oe(U,kt){if(1&U){const A=t.RV6();t.j41(0,"img",3),t.bIt("click",function(){t.eBV(A);const it=t.XpG();return t.Njj(it.sortDirectionChanged.emit(""))}),t.k0s()}2&U&&t.Y8G("ngSrc","assets/images/icons/arrow-up.svg")}function re(U,kt){if(1&U){const A=t.RV6();t.j41(0,"img",3),t.bIt("click",function(){t.eBV(A);const it=t.XpG();return t.Njj(it.sortDirectionChanged.emit(""))}),t.k0s()}2&U&&t.Y8G("ngSrc","assets/images/icons/arrow-down.svg")}function qt(U,kt){if(1&U){const A=t.RV6();t.j41(0,"div",4)(1,"img",5),t.bIt("click",function(){t.eBV(A);const it=t.XpG();return t.Njj(it.sortDirectionChanged.emit("asc"))}),t.k0s(),t.j41(2,"img",5),t.bIt("click",function(){t.eBV(A);const it=t.XpG();return t.Njj(it.sortDirectionChanged.emit("desc"))}),t.k0s()()}2&U&&(t.R7$(1),t.Y8G("ngSrc","assets/images/icons/arrow-up.svg"),t.R7$(1),t.Y8G("ngSrc","assets/images/icons/arrow-down.svg"))}let Qt=(()=>{class U{constructor(){this.sortDirectionChanged=new t.bkB}static{this.\u0275fac=function(at){return new(at||U)}}static{this.\u0275cmp=t.VBU({type:U,selectors:[["app-sorting-arrow"]],inputs:{sortDirection:"sortDirection"},outputs:{sortDirectionChanged:"sortDirectionChanged"},standalone:!0,features:[t.aNF],decls:4,vars:3,consts:[[3,"ngSwitch"],["class","selected","height","14","
1width","14",3,"ngSrc","click",4,"ngSwitchCase"],["class","no-sort",4,"ngSwitchDefault"],["height","14","width","14",1,"selected",3,"ngSrc","click"],[1,"no-sort"],["height","14","width","14",3,"ngSrc","click"]],template:function(at,it){1&at&&(t.j41(0,"div",0),t.DNE(1,oe,1,1,"img",1),t.DNE(2,re,1,1,"img",1),t.DNE(3,qt,3,2,"div",2),t.k0s()),2&at&&(t.Y8G("ngSwitch",it.sortDirection),t.R7$(1),t.Y8G("ngSwitchCase","asc"),t.R7$(1),t.Y8G("ngSwitchCase","desc"))},dependencies:[L.MD,L.ux,L.e1,L.fG,L.kt],styles:[".no-sort[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center}.no-sort[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{width:14px;height:14px;opacity:.5}.no-sort[_ngcontent-%COMP%] img[_ngcontent-%COMP%]:hover{opacity:1}"]})}}return U})();var te=Tt(38225),ee=Tt(19403);function Kt(U,kt){if(1&U){const A=t.RV6();t.j41(0,"th",19)(1,"div",20),t.bIt("click",function(){t.eBV(A);const it=t.XpG(2);return t.Njj(it.resetSorting(it.typeColumn))}),t.j41(2,"span"),t.EFF(3),t.nI1(4,"translate"),t.k0s(),t.j41(5,"app-sorting-arrow",21),t.bIt("click",function(it){return it.stopPropagation()})("sortDirectionChanged",function(it){t.eBV(A);const Ct=t.XpG(2);return t.Njj(Ct.onColumnSort(Ct.typeColumn,it))}),t.k0s()()()}if(2&U){const A=t.XpG(2);t.R7$(1),t.AVh("selected",A.isColumnSorted(A.typeColumn)),t.R7$(2),t.JRh(t.bMT(4,4,"INFORMATION-TABLE.TYPE")),t.R7$(2),t.Y8G("sortDirection",A.isColumnSorted(A.typeColumn)?A.filter.sortType:"")}}function ie(U,kt){if(1&U&&(t.j41(0,"a",25),t.nI1(1,"prefixCmsLink"),t.nrm(2,"img",26),t.k0s()),2&U){const A=t.XpG().$implicit;t.Y8G("href",t.bMT(1,4,A.link||A.documentUrl),t.B4B),t.R7$(2),t.Y8G("fileType",A.documentType)("width",42)("height",42)}}function Zt(U,kt){if(1&U&&t.nrm(0,"img",26),2&U){const A=t.XpG().$implicit;t.Y8G("fileType",A.documentType)("width",42)("height",42)}}function Jt(U,kt){if(1&U&&(t.j41(0,"td",22),t.nI1(1,"translate"),t.DNE(2,ie,3,6,"a",23),t.DNE(3,Zt,1,3,"img",24),t.k0s()),2&U){const A=kt.$implicit;t.BMQ("data-label",t.bMT(1,3,"INFORMATION-TABLE.TYPE")),t.R7$(2),t.Y8G("ngIf",A.link||A.documentUrl),t.R7$(1),t.Y8G("ngIf",!(A.link||A.documentUrl))}}function se(U,kt){if(1&U){const A=t.RV6();t.j41(0,"th",19)(1,"div",20),t.bIt("click",function(){t.eBV(A);const it=t.XpG(2);return t.Njj(it.resetSorting(it.filenameColumn))}),t.j41(2,"span"),t.EFF(3),t.nI1(4,"translate"),t.k0s(),t.j41(5,"app-sorting-arrow",21),t.bIt("click",function(it){return it.stopPropagation()})("sortDirectionChanged",function(it){t.eBV(A);const Ct=t.XpG(2);return t.Njj(Ct.onColumnSort(Ct.filenameColumn,it))}),t.k0s()()()}if(2&U){const A=t.XpG(2);t.R7$(1),t.AVh("selected",A.isColumnSorted(A.filenameColumn)),t.R7$(2),t.JRh(t.bMT(4,4,"INFORMATION-TABLE.FILE-NAME")),t.R7$(2),t.Y8G("sortDirection",A.isColumnSorted(A.filenameColumn)?A.filter.sortType:"")}}function $t(U,kt){if(1&U&&(t.j41(0,"a",25),t.nI1(1,"prefixCmsLink"),t.j41(2,"span"),t.EFF(3),t.k0s()()),2&U){const A=t.XpG().$implicit;t.Y8G("href",t.bMT(1,2,A.link||A.documentUrl),t.B4B),t.R7$(3),t.JRh(A.title)}}function Ut(U,kt){if(1&U&&(t.j41(0,"span"),t.EFF(1),t.k0s()),2&U){const A=t.XpG().$implicit;t.R7$(1),t.JRh(A.title)}}function ne(U,kt){if(1&U&&(t.j41(0,"td",27),t.nI1(1,"translate"),t.DNE(2,$t,4,4,"a",23),t.DNE(3,Ut,2,1,"span",28),t.k0s()),2&U){const A=kt.$implicit;t.BMQ("data-label",t.bMT(1,3,"INFORMATION-TABLE.FILE-NAME")),t.R7$(2),t.Y8G("ngIf",A.link||A.documentUrl),t.R7$(1),t.Y8G("ngIf",!(A.link||A.documentUrl))}}function Vt(U,kt){if(1&U){const A=t.RV6();t.j41(0,"th",19)(1,"div",20),t.bIt("click",function(){t.eBV(A);const it=t.XpG(2);return t.Njj(it.resetSorting(it.categoryColumn))}),t.j41(2,"span"),t.EFF(3),t.nI1(4,"translate"),t.k0s(),t.j41(5,"app-sorting-arrow",21),t.bIt("click",function(it){return it.stopPropagation()})("sortDirectionChanged",function(it){t.eBV(A);const Ct=t.XpG(2);return t.Njj(Ct.onColumnSort(Ct.categoryColumn,it))}),t.k0s()()()}if(2&U){const A=t.XpG(2);t.R7$(1),t.AVh("selected",A.isColumnSorted(A.categoryColumn)),t.R7$(2),t.JRh(t.bMT(4,4,"INFORMATION-TABLE.CATEGORY")),t.R7$(2),t.Y8G("sortDirection",A.isColumnSorted(A.categoryColumn)?A.filter.sortType:"")}}function de(U,kt){if(1&U&&(t.j41(0,"td",29),t.nI1(1,"translate"),t.j41(2,"div",30),t.EFF(3),t.k0s()()),2&U){const A=kt.$implicit;t.BMQ("data-label",t.bMT(1,3,"INFORMATION-TABLE.CATEGORY")),t.R7$(2),t.Y8G("color",A.subCategory.color),t.R7$(1),t.JRh(A.subCategory.name)}}function pe(U,kt){if(1&U){const A=t.RV6();t.j41(0,"th",19)(1,"div",20),t.bIt("click",function(){t.eBV(A);const it=t.XpG(2);return t.Njj(it.resetSorting(it.dateColumn))}),t.j41(2,"span"),t.EFF(3),t.nI1(4,"translate"),t.k0s(),t.j41(5,"app-sorting-arrow",21),t.bIt("click",function(it){return it.stopPropagation()})("sortDirectionChanged",function(it){t.eBV(A);const Ct=t.XpG(2);return t.Njj(Ct.onColumnSort(Ct.dateColumn,it))}),t.k0s()()()}if(2&U){const A=t.XpG(2);t.R7$(1),t.AVh("selected",A.isColumnSorted(A.dateColumn)),t.R7$(2),t.JRh(t.bMT(4,4,"INFORMATION-TABLE.DATE")),t.R7$(2),t.Y8G("sortDirection",A.isColumnSorted(A.dateColumn)?A.filter.sortType:"")}}function ue(U,kt){if(1&U&&(t.j41(0,"td",31),t.nI1(1,"translate"),t.EFF(2),t.nI1(3,"date"),t.k0s()),2&U){const A=kt.$implicit;t.BMQ("data-label",t.bMT(1,2,"INFORMATION-TABLE.DATE")),t.R7$(2),t.JRh(t.i5U(3,4,A.date,"dd.MM.yy"))}}function ge(U,kt){1&U&&t.nrm(0,"th",19)}function me(U,kt){if(1&U&&(t.j41(0,"a",34),t.nI1(1,"prefixCmsLink"),t.nrm(2,"img",35),t.nI1(3,"translate"),t.k0s()),2&U){const A=t.XpG().$implicit;t.Y8G("href",t.bMT(1,5,A.link),t.B4B),t.R7$(2),t.Y8G("ngSrc","assets/images/icons/video.svg")("alt",t.bMT(3,7,"SHARED.ACCESSIBILITY.V
1IDEO"))("width",20)("height",21)}}function fe(U,kt){if(1&U&&(t.j41(0,"a",34),t.nI1(1,"prefixCmsLink"),t.nrm(2,"img",35),t.nI1(3,"translate"),t.k0s()),2&U){const A=t.XpG().$implicit;t.Y8G("href",t.bMT(1,5,A.documentUrl),t.B4B),t.R7$(2),t.Y8G("ngSrc","assets/images/icons/download.svg")("alt",t.bMT(3,7,"SHARED.ACCESSIBILITY.DOWNLOAD"))("width",20)("height",21)}}function xe(U,kt){if(1&U&&(t.j41(0,"td",32),t.DNE(1,me,4,9,"a",33),t.DNE(2,fe,4,9,"a",33),t.k0s()),2&U){const A=kt.$implicit;t.R7$(1),t.Y8G("ngIf",A.link),t.R7$(1),t.Y8G("ngIf",null==A?null:A.documentUrl)}}function be(U,kt){1&U&&t.nrm(0,"tr",36)}function ye(U,kt){1&U&&t.nrm(0,"tr",37)}const Ce=function(){return["top-border"]};function ve(U,kt){if(1&U){const A=t.RV6();t.j41(0,"div",5)(1,"div",6)(2,"table",7),t.qex(3,8),t.DNE(4,Kt,6,6,"th",9),t.DNE(5,Jt,4,5,"td",10),t.bVm(),t.qex(6,8),t.DNE(7,se,6,6,"th",9),t.DNE(8,ne,4,5,"td",11),t.bVm(),t.qex(9,8),t.DNE(10,Vt,6,6,"th",9),t.DNE(11,de,4,5,"td",12),t.bVm(),t.qex(12,8),t.DNE(13,pe,6,6,"th",9),t.DNE(14,ue,4,7,"td",13),t.bVm(),t.qex(15,14),t.DNE(16,ge,1,0,"th",9),t.DNE(17,xe,3,2,"td",15),t.bVm(),t.DNE(18,be,1,0,"tr",16),t.DNE(19,ye,1,0,"tr",17),t.k0s()(),t.j41(20,"app-pagination",18),t.bIt("onNext",function(){t.eBV(A);const it=t.XpG();return it.nextPage(),t.Njj(it.scroll())})("onPrev",function(){t.eBV(A);const it=t.XpG();return it.prevPage(),t.Njj(it.scroll())}),t.k0s()()}if(2&U){const A=t.XpG();t.R7$(2),t.Y8G("dataSource",A.matTableDataSource),t.R7$(1),t.Y8G("matColumnDef",A.typeColumn),t.R7$(3),t.Y8G("matColumnDef",A.filenameColumn),t.R7$(3),t.Y8G("matColumnDef",A.categoryColumn),t.R7$(3),t.Y8G("matColumnDef",A.dateColumn),t.R7$(6),t.Y8G("matHeaderRowDef",A.displayedColumns)("matHeaderRowDefSticky",!0),t.R7$(1),t.Y8G("matRowDefColumns",A.displayedColumns),t.R7$(1),t.Y8G("current",A.currentPage)("total",A.totalPages)("customClass",t.lJ4(11,Ce))}}function Me(U,kt){1&U&&(t.j41(0,"div",38),t.nrm(1,"app-result-not-found",39),t.nI1(2,"translate"),t.nI1(3,"translate"),t.k0s()),2&U&&(t.R7$(1),t.Y8G("title",t.bMT(2,2,"NO-RESULTS.NO-RESULTS-FOUND"))("description",t.bMT(3,4,"NO-RESULTS.NO-PROTOCOL-FOUND")))}let he=(()=>{class U{constructor(A,at,it,Ct,Pt){this.translate=A,this.el=at,this.scrollService=it,this.protocolTableService=Ct,this.deviceService=Pt,this.typeColumn="documentType",this.filenameColumn="title",this.categoryColumn="subCategory",this.dateColumn="date",this.displayedColumns=[this.typeColumn,this.filenameColumn,this.categoryColumn,this.dateColumn,"download"],this.pageSize=this.deviceService.isMobile()?8:15,this.totalRecords=0,this.totalPages=0,this.currentPage=1,this.subscription=new Y.yU,this.resetAction=!1,this.filter={skip:0,take:this.pageSize}}ngOnChanges(){this.fetchResults()}fetchResults(A){this.hasFilters=this.filter.categories&&this.filter.categories.length>0||this.filter.dateRanges&&this.filter.dateRanges.length>0||!!this.filter.query&&this.filter.query.trim().length>0||!!this.filter.sortBy,this.subscription.add(this.protocolTableService.getProtocolData(A??this.filter).subscribe(at=>{this.rows=[...at.results],this.totalRecords=at.totalRecords,this.totalPages=0===this.totalRecords?1:Math.ceil(at.totalRecords/this.pageSize),this.matTableDataSource=new B.I6(this.rows)}))}nextPage(){this.currentPage++,this.filter.skip=this.filter.skip+this.pageSize,this.fetchResults()}prevPage(){this.currentPage--,this.filter.skip=this.filter.skip-this.pageSize,this.fetchResults()}onSelectCategory(A){this.selectedCategory={...A},this.filter.categories=A.subCategories[0].id?[A.subCategories[0].id]:[],this.filter.skip=0,this.currentPage=1,this.fetchResults()}onSelectYears(A){this.filter.dateRanges=A.map(at=>({startDate:It()(`${at}-01-01`).format(Gt.c.dateTimeFormat),endDate:It()(`${at}-12-31`).endOf("d").format(Gt.c.dateTimeFormat)})),this.filter.skip=0,this.currentPage=1,this.fetchResults()}onSearchQuery(A){this.filter.query=A,this.filter.skip=0,this.currentPage=1,this.fetchResults()}onResetFilters(){delete this.selectedCategory,this.resetAction=!this.resetAction,delete this.filter.sortBy,delete this.filter.sortType,this.filter={skip:0,take:this.pageSize},this.fetchResults()}onColumnSort(A,at){this.filter.sortBy=A,this.filter.sortType=at,this.fetchResults()}resetSorting(A){this.filter.sortBy&&this.filter.sortBy===A&&(delete this.filter.sortBy,delete this.filter.sortType,this.fetchResults())}isColumnSorted(A){return this.filter.sortBy===A}scroll(){this.scrollService.setScrollTop(this.el.nativeElement.offsetTop)}ngOnDestroy(){this.subscription.unsubscribe()}static{this.\u0275fac=function(at){return new(at||U)(t.rXU(C.c$),t.rXU(t.aKT),t.rXU(ee.b),t.rXU(zt),t.rXU(M.g))}}static{this.\u0275cmp=t.VBU({type:U,selectors:[["app-protocol-table"]],inputs:{categories:"categories"},standalone:!0,features:[t.Jv_([zt]),t.OA$,t.aNF],decls:7,vars:9,consts:[[1,"protocol-container"],[1,"desktop",3,"resetAll","categories","categorySelected"],[3,"hasFilters","categories","recordsCount","resetAll","setSelectedCategory","selectedYearsChanged","categorySelected","searchTextChanged","columnSorted","onFiltersReset","hasFiltersSelected"],["class","example-container mat-elevation",4,"ngIf","ngIfElse"],["noResult",""],[1,"example-container","mat-elevation"],[1,"example-table-container","protocol-table"],["mat-table","",3,"dataSource"],[3,"matColumnDef"],["mat-header-cell","",4,"matHeaderCellDef"],["mat-cell","","class","m-card-icon has_label_on_mobile",4,"matCellDef"],["mat-cell","","class","m-card-title has_label_on_mobile",4,"matCellDef"],["mat-cell","","class","m-card-category has_label_on_mobile",4,"matCellDef"],["mat-cell","","class","m-card-date has_label_on_mobile",4,"matCellDef"],["matColumnDef","download"],["mat-cell","","class","m-card-video",4,"matCellDef"],["mat-header-row","",4,"matHeaderRowDef","matHeaderRowDefSticky"],["mat-row","",4,"matRowDef","matRowDefColumns"],[3,"current","total","customClass","onNext","onPrev"],["mat-header-cell",""],[1,"col-title",3,"click"],[3,"sortDirection","click","
1sortDirectionChanged"],["mat-cell","",1,"m-card-icon","has_label_on_mobile"],["appRouteCheck","","target","_blank",3,"href",4,"ngIf"],["appFileIcon","","alt","",3,"fileType","width","height",4,"ngIf"],["appRouteCheck","","target","_blank",3,"href"],["appFileIcon","","alt","",3,"fileType","width","height"],["mat-cell","",1,"m-card-title","has_label_on_mobile"],[4,"ngIf"],["mat-cell","",1,"m-card-category","has_label_on_mobile"],["appColorOpacity","",3,"color"],["mat-cell","",1,"m-card-date","has_label_on_mobile"],["mat-cell","",1,"m-card-video"],["class","download icon-container","appRouteCheck","","target","_blank",3,"href",4,"ngIf"],["appRouteCheck","","target","_blank",1,"download","icon-container",3,"href"],[3,"ngSrc","alt","width","height"],["mat-header-row",""],["mat-row",""],[1,"not-found-container"],[3,"title","description"]],template:function(at,it){if(1&at&&(t.j41(0,"div",0)(1,"app-protocol-categories",1),t.bIt("categorySelected",function(Pt){return it.onSelectCategory(Pt)}),t.k0s(),t.j41(2,"div")(3,"app-protocol-filters",2),t.bIt("selectedYearsChanged",function(Pt){return it.onSelectYears(Pt)})("categorySelected",function(Pt){return it.onSelectCategory(Pt)})("searchTextChanged",function(Pt){return it.onSearchQuery(Pt)})("columnSorted",function(Pt){return it.onColumnSort(Pt,"desc")})("onFiltersReset",function(){return it.onResetFilters()})("hasFiltersSelected",function(Pt){return it.hasFilters=Pt}),t.k0s(),t.DNE(4,ve,21,12,"div",3),t.DNE(5,Me,4,6,"ng-template",null,4,t.C5r),t.k0s()()),2&at){const Ct=t.sdS(6);t.R7$(1),t.Y8G("resetAll",it.resetAction)("categories",it.categories),t.R7$(2),t.Y8G("hasFilters",it.hasFilters)("categories",it.categories)("recordsCount",it.totalRecords)("resetAll",it.resetAction)("setSelectedCategory",it.selectedCategory),t.R7$(1),t.Y8G("ngIf",it.rows.length>0)("ngIfElse",Ct)}},dependencies:[R.NQ,B.tP,B.Zl,B.tL,B.ji,B.cC,B.YV,B.iL,B.KS,B.$R,B.YZ,B.NB,H.B,C.h,C.D9,X._,L.vh,L.kt,tt.x,L.bT,et.n,Dt,ft.a,Yt.Ou,Qt,l.g,te.u],styles:[".protocol-container[_ngcontent-%COMP%]{display:grid;grid-template-columns:20% 1fr;grid-gap:2rem;margin:3rem 0;padding:0 2rem}@media screen and (max-width: 1100px) and (min-width: 768px){.protocol-container[_ngcontent-%COMP%]{grid-gap:1rem;padding:0 1rem}}@media screen and (max-width: 768px){.protocol-container[_ngcontent-%COMP%]{padding:0 16px;margin-top:2.625rem}}.m-card-video[_ngcontent-%COMP%]{display:flex;gap:1rem;justify-content:flex-end}@media screen and (min-width: 768px){.m-card-video[_ngcontent-%COMP%]{padding-inline-end:44px}}@media screen and (max-width: 1100px) and (min-width: 768px){.m-card-video[_ngcontent-%COMP%]{padding-inline-end:20px}}@media screen and (max-width: 768px){.m-card-video[_ngcontent-%COMP%]{gap:16px}.m-card-video.cdk-column-download.mat-column-download[_ngcontent-%COMP%]{justify-content:flex-end;padding-inline-end:2.5px}}.mat-column-fileName[_ngcontent-%COMP%]{width:50%}.col-title[_ngcontent-%COMP%]{cursor:pointer;display:inline-flex;align-items:center;gap:4px;font-weight:400;text-shadow:-.25px -.25px 0 transparent,.25px .25px transparent}.col-title.selected[_ngcontent-%COMP%]{color:var(--rg-blue);font-weight:700}.col-title[_ngcontent-%COMP%]:hover{text-shadow:-.25px -.25px 0 black,.25px .25px black}@media screen and (max-width: 768px){.protocol-container[_ngcontent-%COMP%]{grid-template-columns:1fr}.desktop[_ngcontent-%COMP%]{display:none}}.m-card-title[_ngcontent-%COMP%]{font-family:Heebo;font-size:clamp(.875rem,.7475rem + .5229vw,1.375rem);font-weight:500;width:40%}.m-card-title[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{text-decoration:none;color:var(--black)}.m-card-category[_ngcontent-%COMP%] div[_ngcontent-%COMP%]{padding:2px 16px;border-radius:24px;font-family:var(--rg-font-family-body);font-size:clamp(.75rem,.6544rem + .3922vw,1.125rem);font-weight:700;line-height:normal;text-transform:capitalize;text-align:center;width:-moz-fit-content;width:fit-content;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}@media screen and (max-width: 1100px) and (min-width: 768px){.m-card-category[_ngcontent-%COMP%] div[_ngcontent-%COMP%]{padding:2px 8px;border-radius:16px}}.m-card-date[_ngcontent-%COMP%]{font-family:Heebo;font-size:clamp(.75rem,.5907rem + .6536vw,1.375rem);font-style:normal;font-weight:400;padding-inline-end:0}.icon-container[_ngcontent-%COMP%]{width:40px;height:40px;border-radius:50%;margin:6px;display:flex;justify-content:center;align-items:center;cursor:pointer;background-color:transparent;transition:all .3s ease-in-out}@media screen and (max-width: 768px){.icon-container[_ngcontent-%COMP%]{width:30px;height:30px;margin:0}.icon-container[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{width:15px;height:15px}}.download[_ngcontent-%COMP%]{border:2px solid var(--rg-yellow)}.download[_ngcontent-%COMP%]:hover{transform:scale(1.15)}
1@media screen and (min-width: 768px){.not-found-container[_ngcontent-%COMP%]{display:flex;padding:100px 0;flex-direction:column;align-items:center;gap:40px;border-radius:20px;background:var(--basic-white, #FFF);box-shadow:0 0 14px #00000038}}@media screen and (max-width: 768px){.m-card-icon[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{--icon-size: 30px;max-width:var(--icon-size);min-width:var(--icon-size);max-height:var(--icon-size);min-height:var(--icon-size)}}"]})}}return U})();var Se=Tt(93670);const ke=["tabs"],we=function(U,kt){return{regular:U,unusual:kt}};function Te(U,kt){if(1&U&&t.nrm(0,"app-city-in-numbers",11),2&U){const A=t.XpG();t.Y8G("budgetChartLinks",t.l_i(1,we,A.content.linkRegularBudgetChart,A.content.linkUnusualBudgetChart))}}function Pe(U,kt){if(1&U&&t.nrm(0,"app-protocol-table",12),2&U){const A=t.XpG();t.Y8G("categories",A.content.protocolsCategories)}}function Oe(U,kt){if(1&U&&t.nrm(0,"app-municipal-transparency",13),2&U){const A=t.XpG();t.Y8G("linkCategories",A.content.linkCategories)}}var ae=function(U){return U[U.cityInNumbers=0]="cityInNumbers",U[U.protocolTable=1]="protocolTable",U[U.municipalTransparency=2]="municipalTransparency",U}(ae||{});let _e=(()=>{class U{constructor(A,at){this.breadcrumbsService=A,this.cityDashboardService=at,this.components=(0,t.vPA)([]),this.subscription=new Y.yU,this.currentTabIndex=ae.cityInNumbers,this.tabEnum=ae,this.stuckElement=function St(){let U;const kt=new IntersectionObserver(([at])=>{at.intersectionRatio<1?U.classList.add("stuck"):U.classList.remove("stuck")},{threshold:[1]});return(0,t.WQX)(t.abz).onDestroy(()=>{kt?.disconnect()}
1),{init(at){U=at;const it=document.createElement("div");at.parentElement.insertBefore(it,at),kt.observe(it)}}}()}onTabChange(A){this.currentTabIndex=A.index}ngOnInit(){this.subscription.add(this.cityDashboardService.content$.subscribe(A=>{this.content=A})),this.subscription.add(this.cityDashboardService.components$.subscribe(A=>{this.components.set(A)}))}ngAfterViewInit(){this.stuckElement.init(this.tabGroup._tabHeader._elementRef.nativeElement)}ngOnDestroy(){this.subscription.unsubscribe()}static{this.\u0275fac=function(at){return new(at||U)(t.rXU(st.E),t.rXU(ht))}}static{this.\u0275cmp=t.VBU({type:U,selectors:[["app-city-dashboard"]],viewQuery:function(at,it){if(1&at&&t.GBs(ke,7),2&at){let Ct;t.mGM(Ct=t.lsd())&&(it.tabGroup=Ct.first)}},decls:18,vars:21,consts:[[1,"city-dashboard"],[1,"dashboard-header"],["pageHeaderAnimation","",3,"brandedText","customClass","rgHeadingSize","elemType"],["pageHeaderAnimation","",1,"subtitle",3,"elemType"],[1,"tabs-group"],["mat-stretch-tabs","false","mat-align-tabs","center",1,"app-tab-group",3,"disableRipple","animationDuration","contentTabIndex","selectedTabChange"],["tabs",""],[3,"label"],[3,"budgetChartLinks",4,"ngIf"],[3,"categories",4,"ngIf"],[3,"linkCategories",4,"ngIf"],[3,"budgetChartLinks"],[3,"categories"],[3,"linkCategories"]],template:function(at,it){1&at&&(t.j41(0,"main",0),t.nrm(1,"app-breadcrumbs"),t.j41(2,"div",1),t.nrm(3,"app-rg-main-page-title",2),t.j41(4,"div",3),t.EFF(5),t.k0s()(),t.j41(6,"div",4)(7,"mat-tab-group",5,6),t.bIt("selectedTabChange",function(Pt){return it.onTabChange(Pt)}),t.j41(9,"mat-tab",7),t.nI1(10,"translate"),t.DNE(11,Te,1,4,"app-city-in-numbers",8),t.k0s(),t.j41(12,"mat-tab",7),t.nI1(13,"translate"),t.DNE(14,Pe,1,1,"app-protocol-table",9),t.k0s(),t.j41(15,"mat-tab",7),t.nI1(16,"translate"),t.DNE(17,Oe,1,1,"app-municipal-transparency",10),t.k0s()()()()),2&at&&(t.R7$(3),t.Y8G("brandedText",it.content.title)("customClass","text-center")("rgHeadingSize",2)("elemType","title"),t.R7$(1),t.Y8G("elemType","description"),t.R7$(1),t.JRh(it.content.summary),t.R7$(2),t.Y8G("disableRipple",!0)("animationDuration","500ms")("contentTabIndex",0),t.R7$(2),t.Y8G("label",t.bMT(10,15,"SHARED.CITY-IN-NUMBERS")),t.R7$(2),t.Y8G("ngIf",it.currentTabIndex===it.tabEnum.cityInNumbers),t.R7$(1),t.Y8G("label",t.bMT(13,17,"SHARED.PROTOCOLS-REPORTS")),t.R7$(2),t.Y8G("ngIf",it.currentTabIndex===it.tabEnum.protocolTable),t.R7$(1),t.Y8G("label",t.bMT(16,19,"SHARED.TRANSPARENCY-MUNICIPALITY")),t.R7$(2),t.Y8G("ngIf",it.currentTabIndex===it.tabEnum.municipalTransparency))},dependencies:[dt.L,J.m,Z.mq,Z.T8,W,ct,he,L.bT,Se.A,C.D9],styles:["main[_ngcontent-%COMP%]{position:relative}.dashboard-header[_ngcontent-%COMP%]{display:flex;flex-direction:column}.subtitle[_ngcontent-%COMP%]{font-size:clamp(1rem,.841rem + .654vw,1.625rem);width:clamp(40.625rem,31.792rem + 18.403vw,53.875rem);margin:0 auto;text-align:center}@media screen and (max-width: 768px){.subtitle[_ngcontent-%COMP%]{width:unset;padding-inline:37.5px}}.tabs-group[_ngcontent-%COMP%]{margin-top:clamp(4.625rem,4.0017rem + 2.5507vw,7.0625rem);position:sticky;top:7rem}@media screen and (max-width: 768px){.tabs-group[_ngcontent-%COMP%]{margin-top:64px}}app-rg-main-page-title[_ngcontent-%COMP%] .heading{margin-top:clamp(3.5rem,2.9726rem + 2.1583vw,5.5625rem)}"]})}}return U})();var Ae=Tt(96354);let ce=(()=>{class U{constructor(A){this.cityDashboardService=A}resolve(A,at){return this.cityDashboardService.get().pipe((0,Ae.T)(()=>!0))}static{this.\u0275fac=function(at){return new(at||U)(t.KVO(ht))}}static{this.\u0275prov=t.jDH({token:U,factory:U.\u0275fac})}}return U})();const Ee=[{path:"",component:_e,resolve:{data:ce}}];let Le=(()=>{class U{static{this.\u0275fac=function(at){return new(at||U)}}static{this.\u0275mod=t.$C({type:U})}static{this.\u0275inj=t.G2t({imports:[Ot.iI.forChild(Ee),Ot.iI]})}}return U})(),De=(()=>{class U{static{this.\u0275fac=function(at){return new(at||U)}}static{this.\u0275mod=t.$C({type:U})}static{this.\u0275inj=t.G2t({providers:[ht,ce],imports:[Le,J.m,Z.RI,W,k,ct,he,C.h]})}}return U})()},67305:(Ft,Nt,Tt)=>{"use strict";Tt.d(Nt,{_:()=>Y});var Ot=Tt(17052),t=Tt(17705);let Y=(()=>{class St{constructor(nt,gt){this.el=nt,this.renderer=gt,this.opacity=.1,this.changeTextColor=!0}ngAfterViewInit(){if(!this.color)return;const nt=this.color.startsWith("#")?this.color:`#${this.color}`;this.changeTextColor&&this.renderer.setStyle(this.el.nativeElement,"color",nt);const gt=(0,Ot.V)(nt,this.opacity);this.renderer.setStyle(this.el.nativeElement,"background-color",gt)}static{this.\u0275fac=function(gt){return new(gt||St)(t.rXU(t.aKT),t.rXU(t.sFG))}}static{this.\u0275dir=t.FsC({type:St,selectors:[["","appColorOpacity",""]],inputs:{color:"color",opacity:"opacity",changeTextColor:"changeTextColor"},standalone:!0})}}return St})()},93670:(Ft,Nt,Tt)=>{"use strict";Tt.d(Nt,{A:()=>t});var Ot=Tt(17705);let t=(()=>{class Y{constructor(st,nt){this.el=st,this.renderer=nt}ngOnInit(){this.renderer.setStyle(this.el.nativeElement,"opacity","0"),this.observer=new IntersectionObserver(([st])=>{st.isIntersecting&&("title"===this.elemType&&this.animation("liftAnimation"),"description"===this.elemType&&this.animation("liftAnimation","0.1s"),"button"===this.elemType&&this.animation("fadeInOpacity","0.4s"))},{threshold:.01}),this.observer.observe(this.el.nativeElement)}animation(st,nt="0ms"){this.renderer.setStyle(this.el.nativeElement,"animation",`${st} 700ms ease forwards ${nt}`),this.observer?.disconnect()}ngOnDestroy(){this.observer&&this.observer.disconnect()}static{this.\u0275fac=function(nt){return new(nt||Y)(Ot.rXU(Ot.aKT),Ot.rXU(Ot.sFG))}}static{this.\u0275dir=Ot.FsC({type:Y,selectors:[["","pageHeaderAnimation",""]],inputs:{ind:["appCardAnimation","ind"],elemType:"elemType"},standalone:!0})}}return Y})()},17052:(Ft,Nt,Tt)=>{"use strict";function Ot(t,Y=.1){return t.startsWith("#")||(t="#"+t),`rgba(${parseInt(t.substring(1,3),16)}, ${parseInt(t.substring(3,5),16)}, ${parseInt(t.substring(5,7),16)}, ${Y})`}Tt.d(Nt,{V:()=>Ot})},21264:function(Ft,Nt,Tt){var Ot,t,Y;t=typeof window<"u"?window:this,Y=function(t){"use strict";var Y={};function St(st,nt,gt,mt){!st.hasOwnProperty(nt)&&(st[nt]=mt.apply(null,gt),t&&"function"==typeof CustomEvent&&t.dis
1patchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:nt,module:st[nt]}})))}return St(Y,"Core/Globals.js",[],function(){var st,nt;return(nt=st||(st={})).SVG_NS="http://www.w3.org/2000/svg",nt.product="Highcharts",nt.version="11.4.8",nt.win=void 0!==t?t:{},nt.doc=nt.win.document,nt.svg=nt.doc&&nt.doc.createElementNS&&!!nt.doc.createElementNS(nt.SVG_NS,"svg").createSVGRect,nt.userAgent=nt.win.navigator&&nt.win.navigator.userAgent||"",nt.isChrome=nt.win.chrome,nt.isFirefox=-1!==nt.userAgent.indexOf("Firefox"),nt.isMS=/(edge|msie|trident)/i.test(nt.userAgent)&&!nt.win.opera,nt.isSafari=!nt.isChrome&&-1!==nt.userAgent.indexOf("Safari"),nt.isTouchDevice=/(Mobile|Android|Windows Phone)/.test(nt.userAgent),nt.isWebKit=-1!==nt.userAgent.indexOf("AppleWebKit"),nt.deg2rad=2*Math.PI/360,nt.hasBidiBug=nt.isFirefox&&4>parseInt(nt.userAgent.split("Firefox/")[1],10),nt.marginNames=["plotTop","marginRight","marginBottom","plotLeft"],nt.noop=function(){},nt.supportsPassiveEvents=function(){let gt=!1;if(!nt.isMS){let mt=Object.defineProperty({},"passive",{get:function(){gt=!0}});nt.win.addEventListener&&nt.win.removeEventListener&&(nt.win.addEventListener("testPassive",nt.noop,mt),nt.win.removeEventListener("testPassive",nt.noop,mt))}return gt}(),nt.charts=[],nt.composed=[],nt.dateFormats={},nt.seriesTypes={},nt.symbolSizes={},nt.chartCount=0,st}),St(Y,"Core/Utilities.js",[Y["Core/Globals.js"]],function(st){let nt,{charts:gt,doc:mt,win:pt}=st;function ht(i,e,r,a){let y=e?"Highcharts error":"Highcharts warning";32===i&&(i=`${y}: Deprecated member`);let v=I(i),d=v?`${y} #${i}: www.highcharts.com/errors/${i}/`:i.toString();if(void 0!==a){let O="";v&&(d+="?"),S(a,function($,x){O+=`\n - ${x}: ${$}`,v&&(d+=encodeURI(x)+"="+encodeURI($))}),d+=O}p(st,"displayError",{chart:r,code:i,message:d,params:a},function(){if(e)throw Error(d);pt.console&&-1===ht.messages.indexOf(d)&&console.warn(d)}),ht.messages.push(d)}function dt(i,e){return parseInt(i,e||10)}function J(i){return"string"==typeof i}function Z(i){let e=Object.prototype.toString.call(i);return"[object Array]"===e||"[object Array Iterator]"===e}function K(i,e){return!(!i||"object"!=typeof i||e&&Z(i))}function k(i){return K(i)&&"number"==typeof i.nodeType}function L(i){let e=i&&i.constructor;return!(!K(i,!0)||k(i)||!e||!e.name||"Object"===e.name)}function I(i){return"number"==typeof i&&!isNaN(i)&&i<1/0&&i>-1/0}function D(i){return null!=i}function u(i,e,r){let a,y=J(e)&&!D(r),v=(d,O)=>{D(d)?i.setAttribute(O,d):y?(a=i.getAttribute(O))||"class"!==O||(a=i.getAttribute(O+"Name")):i.removeAttribute(O)};return J(e)?v(r,e):S(e,v),a}function b(i){return Z(i)?i:[i]}function C(i,e){let r;for(r in i||(i={}),e)i[r]=e[r];return i}function P(){let i=arguments,e=i.length;for(let r=0;r<e;r++){let a=i[r];if(null!=a)return a}}function l(i,e){C(i.style,e)}function M(i){return Math.pow(10,Math.floor(Math.log(i)/Math.LN10))}function F(i,e){return i>1e14?i:parseFloat(i.toPrecision(e||14))}(ht||(ht={})).messages=[],Math.easeInOutSine=function(i){return-.5*(Math.cos(Math.PI*i)-1)};let _=Array.prototype.find?function(i,e){return i.find(e)}:function(i,e){let r,a=i.length;for(r=0;r<a;r++)if(e(i[r],r))return i[r]};function S(i,e,r){for(let a in i)Object.hasOwnProperty.call(i,a)&&e.call(r||i[a],i[a],a,i)}function o(i,e,r){function a(d,O){let $=i.removeEventListener;$&&$.call(i,d,O,!1)}function y(d){let O,$;i.nodeName&&(e?(O={})[e]=!0:O=d,S(O,function(x,E){if(d[E])for($=d[E].length;$--;)a(E,d[E][$].fn)}))}let v="function"==typeof i&&i.prototype||i;if(Object.hasOwnProperty.call(v,"hcEvents")){let d=v.hcEvents;e?r?(d[e]=(d[e]||[]).filter(function($){return r!==$.fn}),a(e,r)):(y(d),d[e]=[]):(y(d),delete v.hcEvents)}}function p(i,e,r,a){if(r=r||{},mt.createEvent&&(i.dispatchEvent||i.fireEvent&&i!==st)){let y=mt.createEvent("Events");y.initEvent(e,!0,!0),r=C(y,r),i.dispatchEvent?i.dispatchEvent(r):i.fireEvent(e,r)}else if(i.hcEvents){r.target||C(r,{preventDefault:function(){r.defaultPrevented=!0},target:i,type:e});let y=[],v=i,d=!1;for(;v.hcEvents;)Object.hasOwnProperty.call(v,"hcEvents")&&v.hcEvents[e]&&(y.length&&(d=!0),y.unshift.apply(y,v.hcEvents[e])),v=Object.getPrototypeOf(v);d&&y.sort((O,$)=>
1O.order-$.order),y.forEach(O=>{!1===O.fn.call(i,r)&&r.preventDefault()})}a&&!r.defaultPrevented&&a.call(i,r)}S({map:"map",each:"forEach",grep:"filter",reduce:"reduce",some:"some"},function(i,e){st[e]=function(r){return ht(32,!1,void 0,{[`Highcharts.${e}`]:`use Array.${i}`}),Array.prototype[i].apply(r,[].slice.call(arguments,1))}});let n=function(){let i=Math.random().toString(36).substring(2,9)+"-",e=0;return function(){return"highcharts-"+(nt?"":i)+e++}}();return pt.jQuery&&(pt.jQuery.fn.highcharts=function(){let i=[].slice.call(arguments);if(this[0])return i[0]?(new(st[J(i[0])?i.shift():"Chart"])(this[0],i[0],i[1]),this):gt[u(this[0],"data-highcharts-chart")]}),{addEvent:function(i,e,r,a={}){let y="function"==typeof i&&i.prototype||i;Object.hasOwnProperty.call(y,"hcEvents")||(y.hcEvents={});let v=y.hcEvents;st.Point&&i instanceof st.Point&&i.series&&i.series.chart&&(i.series.chart.runTrackerClick=!0);let d=i.addEventListener;return d&&d.call(i,e,r,!!st.supportsPassiveEvents&&{passive:void 0===a.passive?-1!==e.indexOf("touch"):a.passive,capture:!1}),v[e]||(v[e]=[]),v[e].push({fn:r,order:"number"==typeof a.order?a.order:1/0}),v[e].sort(($,x)=>$.order-x.order),function(){o(i,e,r)}},arrayMax:function(i){let e=i.length,r=i[0];for(;e--;)i[e]>r&&(r=i[e]);return r},arrayMin:function(i){let e=i.length,r=i[0];for(;e--;)i[e]<r&&(r=i[e]);return r},attr:u,clamp:function(i,e,r){return i>e?i<r?i:r:e},clearTimeout:function(i){D(i)&&clearTimeout(i)},correctFloat:F,createElement:function(i,e,r,a,y){let v=mt.createElement(i);return e&&C(v,e),y&&l(v,{padding:"0",border:"none",margin:"0"}),r&&l(v,r),a&&a.appendChild(v),v},crisp:(i,e=0,r)=>{let a=e%2/2,y=r?-1:1;return(Math.round(i*y-a)+a)*y},css:l,defined:D,destroyObjectProperties:function(i,e,r){S(i,function(a,y){a!==e&&a?.destroy&&a.destroy(),(a?.destroy||!r)&&delete i[y]})},diffObjects:function(i,e,r,a){let y={};return function v(d,O,$,x){let E=r?O:d;S(d,function(G,z){if(!x&&a&&a.indexOf(z)>-1&&O[z]){G=b(G),$[z]=[];for(let q=0;q<Math.max(G.length,O[z].length);q++)O[z][q]&&(void 0===G[q]?$[z][q]=O[z][q]:($[z][q]={},v(G[q],O[z][q],$[z][q],x+1)))}else K(G,!0)&&!G.nodeType?($[z]=Z(G)?[]:{},v(G,O[z]||{},$[z],x+1),0!==Object.keys($[z]).length||"colorAxis"===z&&0===x||delete $[z]):(d[z]!==O[z]||z in d&&!(z in O))&&"__proto__"!==z&&"constructor"!==z&&($[z]=E[z])})}(i,e,y,0),y},discardElement:function(i){i&&i.parentElement&&i.parentElement.removeChild(i)},erase:function(i,e){let r=i.length;for(;r--;)if(i[r]===e){i.splice(r,1);break}},error:ht,extend:C,extendClass:function(i,e){let r=function(){};return C(r.prototype=new i,e),r},find:_,fireEvent:p,getClosestDistance:function(i,e){let r,a,y,v,d=!e;return i.forEach(O=>{if(O.length>1)for(v=a=O.length-1;v>0;v--)(y=O[v]-O[v-1])<0&&!d?(e?.(),e=void 0):y&&(void 0===r||y<r)&&(r=y)}),r},getMagnitude:M,getNestedProperty:function(i,e){let r=i.split(".");for(;r.length&&D(e);){let a=r.shift();if(void 0===a||"__proto__"===a)return;if("this"===a){let v;return K(e)&&(v=e["@this"]),v??e}let y=e[a];if(!D(y)||"function"==typeof y||"number"==typeof y.nodeType||y===pt)return;e=y}return e},getStyle:function i(e,r,a){let y;if("width"===r){let d=Math.min(e.offsetWidth,e.scrollWidth),O=e.getBoundingClientRect&&e.getBoundingClientRect().width;return O<d&&O>=d-1&&(d=Math.floor(O)),Math.max(0,d-(i(e,"padding-left",!0)||0)-(i(e,"padding-right",!0)||0))}if("height"===r)return Math.max(0,Math.min(e.offsetHeight,e.scrollHeight)-(i(e,"padding-top",!0)||0)-(i(e,"padding-bottom",!0)||0));let v=pt.getComputedStyle(e,void 0);return v&&(y=v.getPropertyValue(r),P(a,"opacity"!==r)&&(y=dt(y))),y},inArray:function(i,e,r){return ht(32,!1,void 0,{"Highcharts.inArray":"use Array.indexOf"}),e.indexOf(i,r)},insertItem:function(i,e){let r,a=i.options.index,y=e.length;for(r=i.options.isInternal?y:0;r<y+1;r++)if(!e[r]||I(a)&&a<P(e[r].options.index,e[r]._i)||e[r].options.isInternal){e.splice(r,0,i);break}return r},isArray:Z,isClass:L,isDOMElement:k,isFunction:function(i){return"function"==typeof i},isNumber:I,isObject:K,isString:J,keys:function(i){return ht(32,!1,void 0,{"Highcharts.keys":"use Object.keys"}),Object.keys(i)},merge:function(){let i,e=arguments,r={},a=function(v,d){return"object"!=typeof v&&(v={}),S(d,function(O,$){"__proto__"!==$&&"constructor"!==$&&(v[$]=!K(O,!0)||L(O)||k(O)?d[$]:a(v[$]||{},O))}),v};!0===e[0]&&(r=e[1],e=Array.prototype.slice.call(e,2));let y=e.length;for(i=0;i<y;i++)r=a(r,e[i]);return r},normalizeTickInterval:function(i,e,r,a,y){let v,d=i,O=i/(r=P(r,M(i)));for(!e&&(e=y?[1,1.2,1.5,2,2.5,3,4,5,6,8,10]:[1,2,2.5,5,10],!1===a&&(1===r?e=e.filter(function($){return $%1==0}
1):r<=.1&&(e=[1/r]))),v=0;v<e.length&&(d=e[v],(!y||!(d*r>=i))&&(y||!(O<=(e[v]+(e[v+1]||e[v]))/2)));v++);return F(d*r,-Math.round(Math.log(.001)/Math.LN10))},objectEach:S,offset:function(i){let e=mt.documentElement,r=i.parentElement||i.parentNode?i.getBoundingClientRect():{top:0,left:0,width:0,height:0};return{top:r.top+(pt.pageYOffset||e.scrollTop)-(e.clientTop||0),left:r.left+(pt.pageXOffset||e.scrollLeft)-(e.clientLeft||0),width:r.width,height:r.height}},pad:function(i,e,r){return Array((e||2)+1-String(i).replace("-","").length).join(r||"0")+i},pick:P,pInt:dt,pushUnique:function(i,e){return 0>i.indexOf(e)&&!!i.push(e)},relativeLength:function(i,e,r){return/%$/.test(i)?e*parseFloat(i)/100+(r||0):parseFloat(i)},removeEvent:o,replaceNested:function(i,...e){let r,a;do{for(a of(r=i,e))i=i.replace(a[0],a[1])}while(i!==r);return i},splat:b,stableSort:function(i,e){let r,a,y=i.length;for(a=0;a<y;a++)i[a].safeI=a;for(i.sort(function(v,d){return 0===(r=e(v,d))?v.safeI-d.safeI:r}),a=0;a<y;a++)delete i[a].safeI},syncTimeout:function(i,e,r){return e>0?setTimeout(i,e,r):(i.call(0,r),-1)},timeUnits:{millisecond:1,second:1e3,minute:6e4,hour:36e5,day:864e5,week:6048e5,month:24192e5,year:314496e5},uniqueKey:n,useSerialIds:function(i){return nt=P(i,nt)},wrap:function(i,e,r){let a=i[e];i[e]=function(){let y=arguments,v=this;return r.apply(this,[function(){return a.apply(v,arguments.length?arguments:y)}].concat([].slice.call(arguments)))}}}}),St(Y,"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"}}),St(Y,"Core/Color/Palettes.js",[],function(){return{colors:["#2caffe","#544fc5","#00e272","#fe6a35","#6b8abc","#d568fb","#2ee0ca","#fa4b42","#feb56a","#91e8e1"]}}),St(Y,"Core/Time.js",[Y["Core/Globals.js"],Y["Core/Utilities.js"]],function(st,nt){let{win:gt}=st,{defined:mt,error:pt,extend:ht,isNumber:dt,isObject:J,merge:Z,objectEach:K,pad:k,pick:L,splat:I,timeUnits:D}=nt,u=st.isSafari&>.Intl&>.Intl.DateTimeFormat.prototype.formatRange,b=st.isSafari&>.Intl&&!gt.Intl.DateTimeFormat.prototype.formatRange;class C{constructor(l){this.options={},this.useUTC=!1,this.variableTimezone=!1,this.Date=gt.Date,this.getTimezoneOffset=this.timezoneOffsetFunction(),this.update(l)}get(l,M){if(this.variableTimezone||this.timezoneOffset){let F=M.getTime(),_=F-this.getTimezoneOffset(M);M.setTime(_);let S=M["getUTC"+l]();return M.setTime(F),S}return this.useUTC?M["getUTC"+l]():M["get"+l]()}set(l,M,F){if(this.variableTimezone||this.timezoneOffset){if("Milliseconds"===l||"Seconds"===l||"Minutes"===l&&this.getTimezoneOffset(M)%36e5==0)return M["setUTC"+l](F);let _=this.getTimezoneOffset(M),S=M.getTime()-_;M.setTime(S),M["setUTC"+l](F);let o=this.getTimezoneOffset(M);return S=M.getTime()+o,M.setTime(S)}return this.useUTC||u&&"FullYear"===l?M["setUTC"+l](F):M["set"+l](F)}update(l={}){let M=L(l.useUTC,!0);this.options=l=Z(!0,this.options,l),this.Date=l.Date||gt.Date||Date,this.useUTC=M,this.timezoneOffset=M&&l.timezoneOffset||void 0,this.getTimezoneOffset=this.timezoneOffsetFunction(),this.variableTimezone=M&&!(!l.getTimezoneOffset&&!l.timezone)}makeTime(l,M,F,_,S,o){let p,n,i;return this.useUTC?(p=this.Date.UTC.apply(0,arguments),n=this.getTimezoneOffset(p),p+=n,n!==(i=this.getTimezoneOffset(p))?p+=i-n:n-36e5!==this.getTimezoneOffset(p-36e5)||b||(p-=36e5)):p=new this.Date(l,M,L(F,1),L(_,0),L(S,0),L(o,0)).getTime(),p}timezoneOffsetFunction(){let l=this,M=this.options,F=M.getTimezoneOffset;return this.useUTC?M.timezone?_=>{try{let S=`shortOffset,${M.timezone||""}`,[o,p,n,i,e=0]=(C.formatCache[S]=C.formatCache[S]||Intl.DateTimeFormat("en",{timeZone:M.timezone,timeZoneName:"shortOffset"})).format(_).split(/(GMT|:)/).map(Number),r=-36e5*(n+e/60);if(dt(r))return r}catch{pt(34)}return 0}:this.useUTC&&F?_=>6e4*F(_.valueOf()):()=>6e4*(l.timezoneOffset||0):_=>6e4*new Date(_.toString()).getTimezoneOffset()}dateFormat(l,M,F){if(!mt(M)||isNaN(M))return st.defaultOptions.lang&&st.defaultOptions.lang.invali
1dDate||"";l=L(l,"%Y-%m-%d %H:%M:%S");let _=this,S=new this.Date(M),o=this.get("Hours",S),p=this.get("Day",S),n=this.get("Date",S),i=this.get("Month",S),e=this.get("FullYear",S),r=st.defaultOptions.lang,a=r&&r.weekdays,y=r&&r.shortWeekdays;return K(ht({a:y?y[p]:a[p].substr(0,3),A:a[p],d:k(n),e:k(n,2," "),w:p,b:r.shortMonths[i],B:r.months[i],m:k(i+1),o:i+1,y:e.toString().substr(2,2),Y:e,H:k(o),k:o,I:k(o%12||12),l:o%12||12,M:k(this.get("Minutes",S)),p:o<12?"AM":"PM",P:o<12?"am":"pm",S:k(this.get("Seconds",S)),L:k(Math.floor(M%1e3),3)},st.dateFormats),function(v,d){for(;-1!==l.indexOf("%"+d);)l=l.replace("%"+d,"function"==typeof v?v.call(_,M):v)}),F?l.substr(0,1).toUpperCase()+l.substr(1):l}resolveDTLFormat(l){return J(l,!0)?l:{main:(l=I(l))[0],from:l[1],to:l[2]}}getTimeTicks(l,M,F,_){let S,o,p,n,i=this,r=[],a={},y=new(0,i.Date)(M),v=l.unitRange,d=l.count||1;if(_=L(_,1),mt(M)){i.set("Milliseconds",y,v>=D.second?0:d*Math.floor(i.get("Milliseconds",y)/d)),v>=D.second&&i.set("Seconds",y,v>=D.minute?0:d*Math.floor(i.get("Seconds",y)/d)),v>=D.minute&&i.set("Minutes",y,v>=D.hour?0:d*Math.floor(i.get("Minutes",y)/d)),v>=D.hour&&i.set("Hours",y,v>=D.day?0:d*Math.floor(i.get("Hours",y)/d)),v>=D.day&&i.set("Date",y,v>=D.month?1:Math.max(1,d*Math.floor(i.get("Date",y)/d))),v>=D.month&&(i.set("Month",y,v>=D.year?0:d*Math.floor(i.get("Month",y)/d)),o=i.get("FullYear",y)),v>=D.year&&(o-=o%d,i.set("FullYear",y,o)),v===D.week&&(n=i.get("Day",y),i.set("Date",y,i.get("Date",y)-n+_+(n<_?-7:0))),o=i.get("FullYear",y);let O=i.get("Month",y),$=i.get("Date",y),x=i.get("Hours",y);M=y.getTime(),(i.variableTimezone||!i.useUTC)&&mt(F)&&(p=F-M>4*D.month||i.getTimezoneOffset(M)!==i.getTimezoneOffset(F));let E=y.getTime();for(S=1;E<F;)r.push(E),v===D.year?E=i.makeTime(o+S*d,0):v===D.month?E=i.makeTime(o,O+S*d):!p||v!==D.day&&v!==D.week?p&&v===D.hour&&d>1?E=i.makeTime(o,O,$,x+S*d):E+=v*d:E=i.makeTime(o,O,$+S*d*(v===D.day?1:7)),S++;r.push(E),v<=D.hour&&r.length<1e4&&r.forEach(function(G){G%18e5==0&&"000000000"===i.dateFormat("%H%M%S%L",G)&&(a[G]="day")})}return r.info=ht(l,{higherRanks:a,totalRange:v*d}),r}getDateFormat(l,M,F,_){let S=this.dateFormat("%m-%d %H:%M:%S.%L",M),o="01-01 00:00:00.000",p={millisecond:15,second:12,minute:9,hour:6,day:3},n="millisecond",i=n;for(n in D){if(l===D.week&&+this.dateFormat("%w",M)===F&&S.substr(6)===o.substr(6)){n="week";break}if(D[n]>l){n=i;break}if(p[n]&&S.substr(p[n])!==o.substr(p[n]))break;"week"!==n&&(i=n)}return this.resolveDTLFormat(_[n]).main}}return C.formatCache={},C}),St(Y,"Core/Defaults.js",[Y["Core/Chart/ChartDefaults.js"],Y["Core/Globals.js"],Y["Core/Color/Palettes.js"],Y["Core/Time.js"],Y["Core/Utilities.js"]],function(st,nt,gt,mt,pt){let{isTouchDevice:ht}=nt,{fireEvent:dt,merge:J}=pt,Z={colors:gt.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:st,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",events:{},layout:"horizontal",itemMarginBottom:2,itemMarginTop:2,labelFormatter:function(){return this.name},borderColor:"#999999",borderRadius:0,navigation:{style:{fontSize:"0.8em"},activeColor:"#0022ff",inactiveColor:"#cccccc"},itemStyle:{color:"#333333",cursor:"pointer",fontSize:"0.8em",textDecoration:"none",textOverflow:"ellipsis"},itemHoverStyle:{color:"#000000"},itemHiddenStyle:{color:"#666666",textDecoration:"line-through"},shadow:!1,itemCheckboxStyle:{position:"absolute",width:"13px",height:"13px"},squareSymbol:!0,symbolPadding:5,verticalAlign:"bottom",x:0,y:0,title:{style:{fontSize:"0.8em",fontWeight:"bold"}}},loading:{labelStyle:{fontWeight:"bold",position:"relative",top:"45%"},style:{position:"absolute",backgroundColor:"#ffffff",opacity:.5,textAlign:"center"}},tooltip:{enabled:!0,animation:{duration:300,easing:k=>Math.sqrt(1-Math.pow(k-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:ht?25:10,headerFormat:'<span style="font-size: 0.8em">{point.key}</span><br/>',pointFormat:'<span style="color:{point.color}">\u25cf</span> {series.name}: <b>{point.y}</b><br/>',backgroundColor:"#ffffff",borderWidth:void 0,shadow:!0,stickOnContact:!1,style:{color:"#333333",cursor:"default",fontSize:"0.8em"},useHTML:!1},credits:{enabled:!0,href:"https://www.highcharts.com?credits",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},style:{cursor:"pointer",color:"#999999",fontSize:"0.6em"},text:"Highcharts.com"}};Z.chart.styledMode=!1;let K=new mt(Z.time);return{defaultOptions:Z,defaultTime:K,getOptions:function(){return Z},setOptions:function(k){return dt(nt,"setOptions",{options:k}),J(!0,Z,k),(k.time||k.global)&&(nt.time?nt.time.update(J(Z.global,Z.time,k.global,k.time)):nt.time=K),Z}}}),St(Y,"Core/Color/Color.js",[Y["Core/Globals.js"],Y["Core/Utilities.js"]],function(st,nt){let{isNumber:gt,merge:mt,pInt:pt}=nt;class ht{static parse(J){return J?new ht(J):ht.None}constructor(J){let Z,K,k,L;this.rgba=[NaN,NaN,NaN,NaN],this.input=J;let I=st.Color;if(I&&I!==ht)return new I(J);if("object"==typeof J&&void 0!==J.stops)this.stops=J.stops.map(D=>new ht(D[1]));else if("string"==typeof J){if(this.input=J=ht.names[J.toLowerCase()]||J,"#"===J.charAt(0)){let D=J.length,u=parseInt(J.substr(1),16);7===D?K=[(16711680&u)>>16,(65280&u)>>8,255&u,1]:4===D&&(K=[(3840&u)>>4|(3840&u)>>8,(240&u)>>4|240&u,(15&u)<<4|15&u,1])}if(!K)for(k=ht.parsers.length;k--&&!K;)(Z=(L=ht.parsers[k]).regex.exec(J))&&(K=L.parse(Z))}K&&(this.rgba=K)}get(J){let Z=this.input,K=this.rgba;if("object"==typeof Z&&void 0!==this.stops){let k=mt(Z);return k.stops=[].slice.call(k.stops),this.stops.forEach((L,I)=>{k.stops[I]=[k.stops[I][0],L.get(J)]}),k}return K&>(K[0])?"rgb"===J||!J&&1===K[3]?"rgb("+K[0]+","+K[1]+","+K[2]+")":"a"===J?`${K[3]}`:"rgba("+K.join(",")+")":Z}brighten(J){let Z=this.rgba;if(this.stops)this.stops.forEach(function(K){K.brighten(J)});else if(gt(J)&&0!==J)for(let K=0;K<3;
1K++)Z[K]+=pt(255*J),Z[K]<0&&(Z[K]=0),Z[K]>255&&(Z[K]=255);return this}setOpacity(J){return this.rgba[3]=J,this}tweenTo(J,Z){let K=this.rgba,k=J.rgba;if(!gt(K[0])||!gt(k[0]))return J.input||"none";let L=1!==k[3]||1!==K[3];return(L?"rgba(":"rgb(")+Math.round(k[0]+(K[0]-k[0])*(1-Z))+","+Math.round(k[1]+(K[1]-k[1])*(1-Z))+","+Math.round(k[2]+(K[2]-k[2])*(1-Z))+(L?","+(k[3]+(K[3]-k[3])*(1-Z)):"")+")"}}return ht.names={white:"#ffffff",black:"#000000"},ht.parsers=[{regex:/rgba\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d?(?:\.\d+)?)\s*\)/,parse:function(dt){return[pt(dt[1]),pt(dt[2]),pt(dt[3]),parseFloat(dt[4],10)]}},{regex:/rgb\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*\)/,parse:function(dt){return[pt(dt[1]),pt(dt[2]),pt(dt[3]),1]}}],ht.None=new ht(""),ht}),St(Y,"Core/Animation/Fx.js",[Y["Core/Color/Color.js"],Y["Core/Globals.js"],Y["Core/Utilities.js"]],function(st,nt,gt){let{parse:mt}=st,{win:pt}=nt,{isNumber:ht,objectEach:dt}=gt;class J{constructor(K,k,L){this.pos=NaN,this.options=k,this.elem=K,this.prop=L}dSetter(){let K=this.paths,k=K&&K[0],L=K&&K[1],I=this.now||0,D=[];if(1!==I&&k&&L)if(k.length===L.length&&I<1)for(let u=0;u<L.length;u++){let b=k[u],C=L[u],P=[];for(let l=0;l<C.length;l++){let M=b[l],F=C[l];P[l]=ht(M)&&ht(F)&&("A"!==C[0]||4!==l&&5!==l)?M+I*(F-M):F}D.push(P)}else D=L;else D=this.toD||[];this.elem.attr("d",D,void 0,!0)}update(){let K=this.elem,k=this.prop,L=this.now,I=this.options.step;this[k+"Setter"]?this[k+"Setter"]():K.attr?K.element&&K.attr(k,L,null,!0):K.style[k]=L+this.unit,I&&I.call(K,L,this)}run(K,k,L){let I=this,D=I.options,u=function(P){return!u.stopped&&I.step(P)},b=pt.requestAnimationFrame||function(P){setTimeout(P,13)},C=function(){for(let P=0;P<J.timers.length;P++)J.timers[P]()||J.timers.splice(P--,1);J.timers.length&&b(C)};K!==k||this.elem["forceAnimate:"+this.prop]?(this.startTime=+new Date,this.start=K,this.end=k,this.unit=L,this.now=this.start,this.pos=0,u.elem=this.elem,u.prop=this.prop,u()&&1===J.timers.push(u)&&b(C)):(delete D.curAnim[this.prop],D.complete&&0===Object.keys(D.curAnim).length&&D.complete.call(this.elem))}step(K){let k,L,I=+new Date,D=this.options,u=this.elem,b=D.complete,C=D.duration,P=D.curAnim;return u.attr&&!u.element?k=!1:K||I>=C+this.startTime?(this.now=this.end,this.pos=1,this.update(),P[this.prop]=!0,L=!0,dt(P,function(l){!0!==l&&(L=!1)}),L&&b&&b.call(u),k=!1):(this.pos=D.easing((I-this.startTime)/C),this.now=this.start+(this.end-this.start)*this.pos,this.update(),k=!0),k}initPath(K,k,L){let l,M,F,_,I=K.startX,D=K.endX,u=L.slice(),b=K.isArea,C=b?2:1,P=k&&L.length>k.length&&L.hasStackedCliffs,S=k&&k.slice();if(!S||P)return[u,u];function o(n,i){for(;n.length<M;){let e=n[0],r=i[M-n.length];if(r&&"M"===e[0]&&(n[0]="C"===r[0]?["C",e[1],e[2],e[1],e[2],e[1],e[2]]:["L",e[1],e[2]]),n.unshift(e),b){let a=n.pop();n.push(n[n.length-1],a)}}}function p(n){for(;n.length<M;){let i=n[Math.floor(n.length/C)-1].slice();if("C"===i[0]&&(i[1]=i[5],i[2]=i[6]),b){let e=n[Math.floor(n.length/C)].slice();n.splice(n.length/2,0,i,e)}else n.push(i)}}if(I&&D&&D.length){for(F=0;F<I.length;F++){if(I[F]===D[0]){l=F;break}if(I[0]===D[D.length-I.length+F]){l=F,_=!0;break}if(I[I.length-1]===D[D.length-I.length+F]){l=I.length-F;break}}void 0===l&&(S=[])}return S.length&&ht(l)&&(M=u.length+l*C,_?(o(S,u),p(u)):(o(u,S),p(S))),[S,u]}fillSetter(){J.prototype.strokeSetter.apply(this,arguments)}strokeSetter(){this.elem.attr(this.prop,mt(this.start).tweenTo(mt(this.end),this.pos),void 0,!0)}}return J.timers=[],J}),St(Y,"Core/Animation/AnimationUtilities.js",[Y["Core/Animation/Fx.js"],Y["Core/Utilities.js"]],function(st,nt){let{defined:gt,getStyle:mt,isArray:pt,isNumber:ht,isObject:dt,merge:J,objectEach:Z,pick:K}=nt;function k(I){return dt(I)?J({duration:500,defer:0},I):{duration:I?500:0,defer:0}}function L(I,D){let u=st.timers.length;for(;u--;)st.timers[u].elem!==I||D&&D!==st.timers[u].prop||(st.timers[u].stopped=!0)}return{animate:function(I,D,u){let b,P,l,M,C="";dt(u)||(M=arguments,u={duration:M[2],easing:M[3],complete:M[4]}),ht(u.duration)||(u.duration=400),u.easing="function"==typeof u.easing?u.easing:Math[u.easing]||Math.easeInOutSine,u.curAnim=J(D),Z(D,function(F,_){L(I,_),l=new st(I,u,_),P=void 0,"d"===_&&pt(D.d)?(l.paths=l.initPath(I,I.pathArray,D.d),l.toD=D.d,b=0,P=1):I.attr?b=I.attr(_):(b=parseFloat(mt(I,_))||0,"opacity"!==_&&(C="px")),P||(P=F),"string"==typeof P&&P.match("px")&&(P=P.replace(/px/g,"")),l.run(b,P,C)})},animObject:k,getDeferredAnimation:function(I,D,u){let b=k(D),P=0,l=0;
1return(u?[u]:I.series).forEach(M=>{let F=k(M.options.animation);P=dt(D)&>(D.defer)?b.defer:Math.max(P,F.duration+F.defer),l=Math.min(b.duration,F.duration)}),I.renderer.forExport&&(P=0),{defer:Math.max(0,P-l),duration:Math.min(P,l)}},setAnimation:function(I,D){D.renderer.globalAnimation=K(I,D.options.chart.animation,!0)},stop:L}}),St(Y,"Core/Renderer/HTML/AST.js",[Y["Core/Globals.js"],Y["Core/Utilities.js"]],function(st,nt){let{SVG_NS:gt,win:mt}=st,{attr:pt,createElement:ht,css:dt,error:J,isFunction:Z,isString:K,objectEach:k,splat:L}=nt,{trustedTypes:I}=mt,D=I&&Z(I.createPolicy)&&I.createPolicy("highcharts",{createHTML:P=>P}),u=D?D.createHTML(""):"",b=function(){try{return!!(new DOMParser).parseFromString(u,"text/html")}catch{return!1}}();class C{static filterUserAttributes(l){return k(l,(M,F)=>{let _=!0;-1===C.allowedAttributes.indexOf(F)&&(_=!1),-1!==["background","dynsrc","href","lowsrc","src"].indexOf(F)&&(_=K(M)&&C.allowedReferences.some(S=>0===M.indexOf(S))),_||(J(33,!1,void 0,{"Invalid attribute in config":`${F}`}),delete l[F]),K(M)&&l[F]&&(l[F]=M.replace(/</g,"<"))}),l}static parseStyle(l){return l.split(";").reduce((M,F)=>{let _=F.split(":").map(o=>o.trim()),S=_.shift();return S&&_.length&&(M[S.replace(/-([a-z])/g,o=>o[1].toUpperCase())]=_.join(":")),M},{})}static setElementHTML(l,M){l.innerHTML=C.emptyHTML,M&&new C(M).addToDOM(l)}constructor(l){this.nodes="string"==typeof l?this.parseMarkup(l):l}addToDOM(l){return function M(F,_){let S;return L(F).forEach(function(o){let p,n=o.tagName,i=o.textContent?st.doc.createTextNode(o.textContent):void 0,e=C.bypassHTMLFiltering;if(n)if("#text"===n)p=i;else if(-1!==C.allowedTags.indexOf(n)||e){let a=st.doc.createElementNS("svg"===n?gt:_.namespaceURI||gt,n),y=o.attributes||{};k(o,function(v,d){"tagName"!==d&&"attributes"!==d&&"children"!==d&&"style"!==d&&"textContent"!==d&&(y[d]=v)}),pt(a,e?y:C.filterUserAttributes(y)),o.style&&dt(a,o.style),i&&a.appendChild(i),M(o.children||[],a),p=a}else J(33,!1,void 0,{"Invalid tagName in config":n});p&&_.appendChild(p),S=p}),S}(this.nodes,l)}parseMarkup(l){let M,F=[];if(l=l.trim().replace(/ style=(["'])/g," data-style=$1"),b)M=(new DOMParser).parseFromString(D?D.createHTML(l):l,"text/html");else{let S=ht("div");S.innerHTML=l,M={body:S}}let _=(S,o)=>{let p=S.nodeName.toLowerCase(),n={tagName:p};"#text"===p&&(n.textContent=S.textContent||"");let i=S.attributes;if(i){let e={};[].forEach.call(i,r=>{"data-style"===r.name?n.style=C.parseStyle(r.value):e[r.name]=r.value}),n.attributes=e}if(S.childNodes.length){let e=[];[].forEach.call(S.childNodes,r=>{_(r,e)}),e.length&&(n.children=e)}o.push(n)};return[].forEach.call(M.body.childNodes,S=>_(S,F)),F}}return C.allowedAttributes=["alt","aria-controls","aria-describedby","aria-expanded","aria-haspopup","aria-hidden","aria-label","aria-labelledby","aria-live","aria-pressed","aria-readonly","aria-roledescription","aria-selected","class","clip-path","color","colspan","cx","cy","d","dx","dy","disabled","fill","filterUnits","flood-color","flood-opacity","height","href","id","in","in2","markerHeight","markerWidth","offset","opacity","operator","orient","padding","paddingLeft","paddingRight","patternUnits","r","radius","refX","refY","role","scope","slope","src","startOffset","stdDeviation","stroke","stroke-linecap","stroke-width","style","tableValues","result","rowspan","summary","target","tabindex","text-align","text-anchor","textAnchor","textLength","title","type","valign","width","x","x1","x2","xlink:href","y","y1","y2","zIndex"],C.allowedReferences=["https://","http://","mailto:","/","../","./","#"],C.allowedTags=["a","abbr","b","br","button","caption","circle","clipPath","code","dd","defs","div","dl","dt","em","feComponentTransfer","feComposite","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feMorphology","feOffset","feMerge","feMergeNode","filter","h1","h2","h3","h4","h5","h6","hr","i","img","li","linearGradient","marker","ol","p","path","pattern","pre","rect","small","span","stop","strong","style","sub","sup","svg","table","text","textPath","thead","title","tbody","tspan","td","th","tr","u","ul","#text"],C.emptyHTML=u,C.bypassHTMLFiltering=!1,C}),St(Y,"Core/Templating.js",[Y["Core/Defaults.js"],Y["Core/Utilities.js"]],function(st,nt){let{defaultOptions:gt,defaultTime:mt}=st,{extend:pt,getNestedProperty:ht,isArray:dt,isNumber:J,isObject:Z,pick:K,pInt:k}=nt,L={add:(u,b)=>u+b,divide:(u,b)=>0!==b?u/b:"",eq:(u,b)=>u==b,each:function(u){let b=arguments[arguments.length-1];return!!dt(u)&&u.map((C,P)=>I(b.body,pt(Z(C)?C:{"@this":C},{"@index":P,"@first":0===P,"@last":P===u.length-1}))).join("")},ge:(u,b)=>u>=b,gt:(u,b)=>u>b,if:u=>!!u,le:(u,b)=>u<=b,lt:(u,b)=>u<b,multiply:(u,b)=>u*b,ne:(u,b)=>u!=b,subtract:(u,b)=>u-b,unless:u=>!u};function I(u="",b,C){let i,e,a,P=/\{([\w\:\.\,;\-\/<>%@"'\u2019= #\(\)]+)\}/g,l=/\(([\w\:\.\,;\-\/<>%@"'= ]+)\)/g,M=[],F=/f$/,_=/\.(\d)/,S=gt.lang,o=C&&C.time||mt,p=C&&C.numberFormatter||D,n=(y="")=>{let v;return"true"===y||"false"!==y&&((v=Number(y)).toString()===y?v:ht(y,b))},r=0;for(;null!==(i=P.exec(u));){let y=l.exec(i[1]);
1y&&(i=y,a=!0),e&&e.isBlock||(e={ctx:b,expression:i[1],find:i[0],isBlock:"#"===i[1].charAt(0),start:i.index,startInner:i.index+i[0].length,length:i[0].length});let v=i[1].split(" ")[0].replace("#","");L[v]&&(e.isBlock&&v===e.fn&&r++,e.fn||(e.fn=v));let d="else"===i[1];if(e.isBlock&&e.fn&&(i[1]===`/${e.fn}`||d))if(r)!d&&r--;else{let O=e.startInner,$=u.substr(O,i.index-O);void 0===e.body?(e.body=$,e.startInner=i.index+i[0].length):e.elseBody=$,e.find+=$+i[0],d||(M.push(e),e=void 0)}else e.isBlock||M.push(e);if(y&&!e?.isBlock)break}return M.forEach(y=>{let v,d,{body:O,elseBody:$,expression:x,fn:E}=y;if(E){let G=[y],z=x.split(" ");for(d=L[E].length;d--;)G.unshift(n(z[d+1]));v=L[E].apply(b,G),y.isBlock&&"boolean"==typeof v&&(v=I(v?O:$,b,C))}else{let G=x.split(":");if(v=n(G.shift()||""),G.length&&"number"==typeof v){let z=G.join(":");if(F.test(z)){let q=parseInt((z.match(_)||["","-1"])[1],10);null!==v&&(v=p(v,q,S.decimalPoint,z.indexOf(",")>-1?S.thousandsSep:""))}else v=o.dateFormat(z,v)}}u=u.replace(y.find,K(v,""))}),a?I(u,b,C):u}function D(u,b,C,P){let l,M;b=+b;let F=gt.lang,_=((u=+u||0).toString().split(".")[1]||"").split("e")[0].length,S=u.toString().split("e"),o=b;-1===b?b=Math.min(_,20):J(b)?b&&S[1]&&S[1]<0&&((M=b+ +S[1])>=0?(S[0]=(+S[0]).toExponential(M).split("e")[0],b=M):(S[0]=S[0].split(".")[0]||0,u=b<20?(S[0]*Math.pow(10,S[1])).toFixed(b):0,S[1]=0)):b=2;let p=(Math.abs(S[1]?S[0]:u)+Math.pow(10,-Math.max(b,_)-1)).toFixed(b),n=String(k(p)),i=n.length>3?n.length%3:0;return C=K(C,F.decimalPoint),P=K(P,F.thousandsSep),l=(u<0?"-":"")+(i?n.substr(0,i)+P:""),0>+S[1]&&!o?l="0":l+=n.substr(i).replace(/(\d{3})(?=\d)/g,"$1"+P),b?l+=C+p.slice(-b):0==+l&&(l="0"),S[1]&&0!=+l&&(l+="e"+S[1]),l}return{dateFormat:function(u,b,C){return mt.dateFormat(u,b,C)},format:I,helpers:L,numberFormat:D}}),St(Y,"Core/Renderer/RendererRegistry.js",[Y["Core/Globals.js"]],function(st){var nt,gt;let mt;return(gt=nt||(nt={})).rendererTypes={},gt.getRendererType=function(pt=mt){return gt.rendererTypes[pt]||gt.rendererTypes[mt]},gt.registerRendererType=function(pt,ht,dt){gt.rendererTypes[pt]=ht,(!mt||dt)&&(mt=pt,st.Renderer=ht)},nt}),St(Y,"Core/Renderer/RendererUtilities.js",[Y["Core/Utilities.js"]],function(st){var nt;let{clamp:gt,pick:mt,pushUnique:pt,stableSort:ht}=st;return(nt||(nt={})).distribute=function dt(J,Z,K){let P,l,M,_,S,p,k=J,L=k.reducedLen||Z,I=(n,i)=>n.target-i.target,D=[],u=J.length,b=[],C=D.push,F=!0,o=0;for(P=u;P--;)o+=J[P].size;if(o>L){for(ht(J,(n,i)=>(i.rank||0)-(n.rank||0)),M=(p=J[0].rank===J[J.length-1].rank)?u/2:-1,l=p?M:u-1;M&&o>L;)_=J[P=Math.floor(l)],pt(b,P)&&(o-=_.size),l+=M,p&&l>=J.length&&(M/=2,l=M);b.sort((n,i)=>i-n).forEach(n=>C.apply(D,J.splice(n,1)))}for(ht(J,I),J=J.map(n=>({size:n.size,targets:[n.target],align:mt(n.align,.5)}));F;){for(P=J.length;P--;)_=J[P],S=(Math.min.apply(0,_.targets)+Math.max.apply(0,_.targets))/2,_.pos=gt(S-_.size*_.align,0,Z-_.size);for(P=J.length,F=!1;P--;)P>0&&J[P-1].pos+J[P-1].size>J[P].pos&&(J[P-1].size+=J[P].size,J[P-1].targets=J[P-1].targets.concat(J[P].targets),J[P-1].align=.5,J[P-1].pos+J[P-1].size>Z&&(J[P-1].pos=Z-J[P-1].size),J.splice(P,1),F=!0)}return C.apply(k,D),P=0,J.some(n=>{let i=0;return(n.targets||[]).some(()=>(k[P].pos=n.pos+i,void 0!==K&&Math.abs(k[P].pos-k[P].target)>K?(k.slice(0,P+1).forEach(e=>delete e.pos),k.reducedLen=(k.reducedLen||Z)-.1*Z,k.reducedLen>.1*Z&&dt(k,Z,K),!0):(i+=k[P].size,P++,!1)))}),ht(k,I),k},nt}),St(Y,"Core/Renderer/SVG/SVGElement.js",[Y["Core/Animation/AnimationUtilities.js"],Y["Core/Color/Color.js"],Y["Core/Globals.js"],Y["Core/Utilities.js"]],function(st,nt,gt,mt){let{animate:pt,animObject:ht,stop:dt}=st,{deg2rad:J,doc:Z,svg:K,SVG_NS:k,win:L}=gt,{addEvent:I,attr:D,createElement:u,crisp:b,css:C,defined:P,erase:l,extend:M,fireEvent:F,isArray:_,isFunction:S,isObject:o,isString:p,merge:n,objectEach:i,pick:e,pInt:r,pushUnique:a,replaceNested:y,syncTimeout:v,uniqueKey:d}=mt;class O{_defaultGetter(x){let E=e(this[x+"Value"],this[x],this.element?this.element.getAttribute(x):null,0);return/^-?[\d\.]+$/.test(E)&&(E=parseFloat(E)),E}_defaultSetter(x,E,G){G.setAttribute(E,x)}add(x){let E,G=this.renderer,z=this.element;return x&&(this.parentGroup=x),void 0!==this.textStr&&"text"===this.element.nodeName&&G.buildText(this),this.added=!0,(!x||x.handleZ||this.zIndex)&&(E=this.zIndexSetter()),E||(x?x.element:G.box).appendChild(z),this.onAdd&&this.onAdd(),this}addClass(x,E){let G=E?"":this.attr("class")||"";return(x=(x||"").split(/ /g).reduce(function(z,q){return-1===G.indexOf(q)&&z.push(q),z},G?[G]:[]).join(" "))!==G&&this.attr("class",x),this}afterSetters(){this.doTransform&&(this.updateTransform(),this.doTransform=!1)}align(x,E,G,z=!0){let q,h,c,g,j={},s=this.renderer,f=s.alignedObjects,m=!!x;x?(this.alignOptions=x,this.alignByTranslate=E,this.alignTo=G):(x=this.alignOptions||{},E=this.alignByTranslate,G=this.alignTo);let T=!G||p(G)?G||"renderer":void 0;T&&(m&&a(f,this),G=void 0);let w=e(G,s[T],s),N=x.align,W=x.verticalAlign;return q=(w.x||0)+(x.x||0),h=(w.y||0)+(x.y||0),"right"===N?c=1:"center"===N&&(c=2),c&&(q+=((w.width||0)-(x.width||0))/c),j[E?"translateX":"x"]=Math.round(q),"bottom"===W?g=1:"middle"===W&&(g=2),g&&(h+=((w.height||0)-(x.height||0))/g),j[E?"translateY":"y"]=Math.round(h),z&&(this[this.placed?"animate":"attr"](j),this.placed=!0),this.alignAttr=j,this}alignSetter(x){let E={left:"start",center:"middle",right:"end"};E[x]&&(this.alignValue=x,this.element.setAttribute("text-anchor",E[x]))}animate(x,E,G){let z=ht(e(E,this.renderer.globalAnimation,!0)),q=z.defer;return Z.hidden&&(z.duration=0),0!==z.duration?(G&&(z.complete=G),v(()=>{this.element&&pt(this,x,z)},q)):(this.attr(x,void 0,G||z.complete),i(x,function(h,c){z.step&&z.step.call(this,h,{prop:c,pos:1,elem:this})},this)),this}applyTextOutline(x){let E=this.element;-1!==x.indexOf("contrast")&&(x=x.replace(/contrast/g,this.renderer.getContrast(E.style.fill)));let G=x.split(" "),z=G[G.length-1],q=G[0];if(q&&"none"!==q&>.svg){this.fakeTS=!0,q=q.replace(/(^[\d\.]+)(.*?)$/g,function(s,f,m){return 2*Number(f)+m}),this.removeTextOutline();let h=Z.createElementNS(k,"tspan");D(h,{class:"highcharts-text-outline",fill:z,stroke:z,"stroke-width":q,"stroke-linejoin":"round"});let c=E.querySelector("textPath")||E;[].forEach.call(c.childNodes,s=>{let f=s.cloneNode(!0);f.removeAttribute&&["fill","stroke","stroke-width","stroke"].forEach(m=>f.removeAttribute(m)),h.appendChild(f)});let g=0;[].forEach.call(c.querySelectorAll("text tspan"),s=>{g+=Number(s.getAttribute("dy"))});let j=Z.createElementNS(k,"tspan");j.textContent="\u200b",D(j,{x:Number(E.getAttribute("x")),dy:-g}),h.appendChild(j),c.insertBefore(h,c.firstChild)}}attr(x,E,G,z){let c,g,s,{element:q}=this,h=O.symbolCustomAttribs,j=this;return"string"==typeof x&&void 0!==E&&(c=x,(x={})[c]=E),"string"==typeof x?j=(this[x+"Getter"]||this._defaultGetter).call(this,x,q):(i(x,function(f,m){s=!1,z||dt(this,m),this.symbolName&&-1!==h.indexOf(m)&&(g||(this.symbolAttr(x),g=!0),s=!0),this.rotation&&("x"===m||"y"===m)&&(this.doTransform=!0),s||(this[m+"Setter"]||this._defaultSetter).call(this,f,m,q)},this),this.afterSetters()),G&&G.call(this),j}
1clip(x){if(x&&!x.clipPath){let E=d()+"-",G=this.renderer.createElement("clipPath").attr({id:E}).add(this.renderer.defs);M(x,{clipPath:G,id:E,count:0}),x.add(G)}return this.attr("clip-path",x?`url(${this.renderer.url}#${x.id})`:"none")}crisp(x,E){E=Math.round(E||x.strokeWidth||0);let G=x.x||this.x||0,z=x.y||this.y||0,q=(x.width||this.width||0)+G,h=(x.height||this.height||0)+z,c=b(G,E),g=b(z,E);return M(x,{x:c,y:g,width:b(q,E)-c,height:b(h,E)-g}),P(x.strokeWidth)&&(x.strokeWidth=E),x}complexColor(x,E,G){let q,h,c,g,j,s,f,m,T,w,W,z=this.renderer,N=[];F(this.renderer,"complexColor",{args:arguments},function(){if(x.radialGradient?h="radialGradient":x.linearGradient&&(h="linearGradient"),h){if(c=x[h],j=z.gradients,s=x.stops,T=G.radialReference,_(c)&&(x[h]=c={x1:c[0],y1:c[1],x2:c[2],y2:c[3],gradientUnits:"userSpaceOnUse"}),"radialGradient"===h&&T&&!P(c.gradientUnits)&&(g=c,c=n(c,z.getRadialAttr(T,g),{gradientUnits:"userSpaceOnUse"})),i(c,function(V,Q){"id"!==Q&&N.push(Q,V)}),i(s,function(V){N.push(V)}),j[N=N.join(",")])w=j[N].attr("id");else{c.id=w=d();let V=j[N]=z.createElement(h).attr(c).add(z.defs);V.radAttr=g,V.stops=[],s.forEach(function(Q){0===Q[1].indexOf("rgba")?(f=(q=nt.parse(Q[1])).get("rgb"),m=q.get("a")):(f=Q[1],m=1);let lt=z.createElement("stop").attr({offset:Q[0],"stop-color":f,"stop-opacity":m}).add(V);V.stops.push(lt)})}W="url("+z.url+"#"+w+")",G.setAttribute(E,W),G.gradient=N,x.toString=function(){return W}}})}css(x){let q,E=this.styles,G={},z=this.element,h=!E;if(E&&i(x,function(c,g){E&&E[g]!==c&&(G[g]=c,h=!0)}),h){E&&(x=M(E,G)),null===x.width||"auto"===x.width?delete this.textWidth:"text"===z.nodeName.toLowerCase()&&x.width&&(q=this.textWidth=r(x.width)),M(this.styles,x),q&&!K&&this.renderer.forExport&&delete x.width;let c=n(x);z.namespaceURI===this.SVG_NS&&(["textOutline","textOverflow","width"].forEach(g=>c&&delete c[g]),c.color&&(c.fill=c.color)),C(z,c)}return this.added&&("text"===this.element.nodeName&&this.renderer.buildText(this),x.textOutline&&this.applyTextOutline(x.textOutline)),this}dashstyleSetter(x){let E,G=this["stroke-width"];if("inherit"===G&&(G=1),x=x&&x.toLowerCase()){let z=x.replace("shortdashdotdot","3,1,1,1,1,1,").replace("shortdashdot","3,1,1,1").replace("shortdot","1,1,").replace("shortdash","3,1,").replace("longdash","8,3,").replace(/dot/g,"1,3,").replace("dash","4,3,").replace(/,$/,"").split(",");for(E=z.length;E--;)z[E]=""+r(z[E])*e(G,NaN);x=z.join(",").replace(/NaN/g,"none"),this.element.setAttribute("stroke-dasharray",x)}}destroy(){let h,c,x=this,E=x.element||{},G=x.renderer,z=E.ownerSVGElement,q="SPAN"===E.nodeName&&x.parentGroup||void 0;if(E.onclick=E.onmouseout=E.onmouseover=E.onmousemove=E.point=null,dt(x),x.clipPath&&z){let g=x.clipPath;[].forEach.call(z.querySelectorAll("[clip-path],[CLIP-PATH]"),function(j){j.getAttribute("clip-path").indexOf(g.element.id)>-1&&j.removeAttribute("clip-path")}),x.clipPath=g.destroy()}if(x.connector=x.connector?.destroy(),x.stops){for(c=0;c<x.stops.length;c++)x.stops[c].destroy();x.stops.length=0,x.stops=void 0}for(x.safeRemoveChild(E);q&&q.div&&0===q.div.childNodes.length;)h=q.parentGroup,x.safeRemoveChild(q.div),delete q.div,q=h;x.alignOptions&&l(G.alignedObjects,x),i(x,function(g,j){x[j]&&x[j].parentGroup===x&&x[j].destroy&&x[j].destroy(),delete x[j]})}dSetter(x,E,G){_(x)&&("string"==typeof x[0]&&(x=this.renderer.pathToSegments(x)),this.pathArray=x,x=x.reduce((z,q,h)=>q&&q.join?(h?z+" ":"")+q.join(" "):(q||"").toString(),"")),/(NaN| {2}|^$)/.test(x)&&(x="M 0 0"),this[E]!==x&&(G.setAttribute(E,x),this[E]=x)}fillSetter(x,E,G){"string"==typeof x?G.setAttribute(E,x):x&&this.complexColor(x,E,G)}hrefSetter(x,E,G){G.setAttributeNS("http://www.w3.org/1999/xlink",E,x)}getBBox(x,E){let G,z,q,h,{alignValue:c,element:g,renderer:j,styles:s,textStr:f}=this,{cache:m,cacheKeys:T}=j,w=g.namespaceURI===this.SVG_NS,N=e(E,this.rotation,0),W=j.styledMode?g&&O.prototype.getStyle.call(g,"font-size"):s.fontSize;if(P(f)&&(-1===(h=f.toString()).indexOf("<")&&(h=h.replace(/\d/g,"0")),h+=["",j.rootFontSize,W,N,this.textWidth,c,s.textOverflow,s.fontWeight].join(",")),h&&!x&&(G=m[h]),!G||G.polygon){if(w||j.forExport){try{q=this.fakeTS&&function(Q){let lt=g.querySelector(".highcharts-text-outline");lt&&C(lt,{display:Q})},S(q)&&q("none"),G=g.getBBox?M({},g.getBBox()):{width:g.offsetWidth,height:g.offsetHeight,x:0,y:0},S(q)&&q("")}catch{}(!G||G.width<0)&&(G={x:0,y:0,width:0,height:0})}else G=this.htmlGetBBox();z=G.height,w&&(G.height=z={"11px,17":14,"13px,20":16}[`${W||""},${Math.round(z)}`]||z),N&&(G=this.getRotatedBox(G,N));let V={bBox:G};F(this,"afterGetBBox",V),G=V.bBox}if(h&&(""===f||G.height>0)){for(;T.length>250;)delete m[T.shift()];m[h]||T.push(h),m[h]=G}return G}getRotatedBox(x,E){let{x:G,y:z,width:q,height:h}=x,{alignValue:c,translateY:g,rotationOriginX:j=0,rotationOriginY:s=0}=this,f={right:1,center:.5}[c||0]||0,m=Number(this.element.getAttribute("y")||0)-(g?0:z),T=E*J,w=(E-90)*J,N=Math.cos(T),W=Math.sin(T),V=q*N,Q=q*W,lt=Math.cos(w),ct=Math.sin(w),[[B,R],[H,X]]=[j,s].map(_t=>[_t-_t*N,_t*W]),tt=G+f*(q-V)+B+X+m*lt,et=tt+V,rt=et-h*lt,ot=rt-V,ut=z+m-f*Q-R+H+m*ct,ft=ut+Q,xt=ft-h*ct,yt=xt-Q,bt=Math.min(tt,et,rt,ot),wt=Math.min(ut,ft,xt,yt);return{x:bt,y:wt,width:Math.max(tt,et,rt,ot)-bt,height:Math.max(ut,ft,xt,yt)-wt,polygon:[[tt,ut],[et,ft],[rt,xt],[ot,yt]]}}getStyle(x){return L.getComputedStyle(this.element||this,"").getPropertyValue(x)}hasClass(x){return-1!==(""+this.attr("class")).split(" ").indexOf(x)}hide(){return this.attr({visibility:"hidden"})}htmlGetBBox(){return{height:0,width:0,x:0,y:0}}constructor(x,E){this.onEvents={},this.opacity=1,this.SVG_NS=k,this.element="span"===E||"body"===E?u(E):Z.createElementNS(this.SVG_NS,E),this.renderer=x,this.styles={},F(this,"afterInit")}on(x,E){let{onEvents:G}=this;return G[x]&&G[x](),G[x]=I(this.element,x,E),this}opacitySetter(x,E,G){let z=Number(Number(x).toFixed(3));this.opacity=z,G.setAttribute(E,z)}reAlign(){this.alignOptions?.width&&"left"!==this.alignOptions.align&&(this.alignOptions.width=this.getBBox().width,this.placed=!1,this.align())}removeClass(x){return this.attr("class",(""+this.attr("class")).replace(p(x)?RegExp(`(^| )${x}( |$)`):x," ").replace(/ +/g," ").trim())}removeTextOutline(){let x=this.element.querySelector("tspan.highcharts-text-outline");x&&this.safeRemoveChild(x)}safeRemoveChild(x){let E=x.parentNode;E&&E.removeChild(x)}setRadialReference(x){let E=this.element.gradient&&this.renderer.gradients[this.element.gradient];return this.element.radialReference=x,E&&E.radAttr&&E.animate(this.renderer.getRadialAttr(x,E.radAttr)),this}shadow(x){let{renderer:E}=this,G=n(90===this.parentGroup?.rotation?{offsetX:-1,offsetY:-1}:{},o(x)?x:{}),z=E.shadowDefinition(G);return this.attr({filter:x?`url(${E.url}#${z})`:"none"})}show(x=!0){return this.attr({visibility:x?"inherit":"visible"})}"stroke-widthSetter"(x,E,G){this[E]=x,G.setAttribute(E,x)}strokeWidth(){if(!this.renderer.styledMode)return this["stroke-width"]||0;let G,x=this.getStyle("stroke-width"),E=0;return/px$/.test(x)?E=r(x):""!==x&&(D(G=Z.createElementNS(k,"rect"),{width:x,"stroke-width":0}),this.element.parentNode.appendChild(G),E=G.getBBox().width,G.parentNode.removeChild(G)),E}symbolAttr(x){let E=this;
1O.symbolCustomAttribs.forEach(function(G){E[G]=e(x[G],E[G])}),E.attr({d:E.renderer.symbols[E.symbolName](E.x,E.y,E.width,E.height,E)})}textSetter(x){x!==this.textStr&&(delete this.textPxLength,this.textStr=x,this.added&&this.renderer.buildText(this),this.reAlign())}titleSetter(x){let E=this.element,G=E.getElementsByTagName("title")[0]||Z.createElementNS(this.SVG_NS,"title");E.insertBefore?E.insertBefore(G,E.firstChild):E.appendChild(G),G.textContent=y(e(x,""),[/<[^>]*>/g,""]).replace(/</g,"<").replace(/>/g,">")}toFront(){let x=this.element;return x.parentNode.appendChild(x),this}translate(x,E){return this.attr({translateX:x,translateY:E})}updateTransform(x="transform"){let{element:E,matrix:G,rotation:z=0,rotationOriginX:q,rotationOriginY:h,scaleX:c,scaleY:g,translateX:j=0,translateY:s=0}=this,f=["translate("+j+","+s+")"];P(G)&&f.push("matrix("+G.join(",")+")"),z&&(f.push("rotate("+z+" "+e(q,E.getAttribute("x"),0)+" "+e(h,E.getAttribute("y")||0)+")"),"SPAN"===this.text?.element.tagName&&this.text.attr({rotation:z,rotationOriginX:(q||0)-this.padding,rotationOriginY:(h||0)-this.padding})),(P(c)||P(g))&&f.push("scale("+e(c,1)+" "+e(g,1)+")"),f.length&&!(this.text||this).textPath&&E.setAttribute(x,f.join(" "))}visibilitySetter(x,E,G){"inherit"===x?G.removeAttribute(E):this[E]!==x&&G.setAttribute(E,x),this[E]=x}xGetter(x){return"circle"===this.element.nodeName&&("x"===x?x="cx":"y"===x&&(x="cy")),this._defaultGetter(x)}zIndexSetter(x,E){let g,j,s,m,w,G=this.renderer,z=this.parentGroup,q=(z||G).element||G.box,h=this.element,c=q===G.box,f=!1,T=this.added;if(P(x)?(h.setAttribute("data-z-index",x),this[E]===(x=+x)&&(T=!1)):P(this[E])&&h.removeAttribute("data-z-index"),this[E]=x,T){for((x=this.zIndex)&&z&&(z.handleZ=!0),w=(g=q.childNodes).length-1;w>=0&&!f;w--)m=!P(s=(j=g[w]).getAttribute("data-z-index")),j!==h&&(x<0&&m&&!c&&!w?(q.insertBefore(h,g[w]),f=!0):(r(s)<=x||m&&(!P(x)||x>=0))&&(q.insertBefore(h,g[w+1]),f=!0));f||(q.insertBefore(h,g[c?3:0]),f=!0)}return f}}return O.symbolCustomAttribs=["anchorX","anchorY","clockwise","end","height","innerR","r","start","width","x","y"],O.prototype.strokeSetter=O.prototype.fillSetter,O.prototype.yGetter=O.prototype.xGetter,O.prototype.matrixSetter=O.prototype.rotationOriginXSetter=O.prototype.rotationOriginYSetter=O.prototype.rotationSetter=O.prototype.scaleXSetter=O.prototype.scaleYSetter=O.prototype.translateXSetter=O.prototype.translateYSetter=O.prototype.verticalAlignSetter=function($,x){this[x]=$,this.doTransform=!0},O}),St(Y,"Core/Renderer/SVG/SVGLabel.js",[Y["Core/Renderer/SVG/SVGElement.js"],Y["Core/Utilities.js"]],function(st,nt){let{defined:gt,extend:mt,isNumber:pt,merge:ht,pick:dt,removeEvent:J}=nt;class Z extends st{constructor(k,L,I,D,u,b,C,P,l,M){let F;super(k,"g"),this.paddingLeftSetter=this.paddingSetter,this.paddingRightSetter=this.paddingSetter,this.doUpdate=!1,this.textStr=L,this.x=I,this.y=D,this.anchorX=b,this.anchorY=C,this.baseline=l,this.className=M,this.addClass("button"===M?"highcharts-no-tooltip":"highcharts-label"),M&&this.addClass("highcharts-"+M),this.text=k.text(void 0,0,0,P).attr({zIndex:1}),"string"==typeof u&&((F=/^url\((.*?)\)$/.test(u))||this.renderer.symbols[u])&&(this.symbolKey=u),this.bBox=Z.emptyBBox,this.padding=3,this.baselineOffset=0,this.needsBox=k.styledMode||F,this.deferredAttr={},this.alignFactor=0}alignSetter(k){let L={left:0,center:.5,right:1}[k];L!==this.alignFactor&&(this.alignFactor=L,this.bBox&&pt(this.xSetting)&&this.attr({x:this.xSetting}))}anchorXSetter(k,L){this.anchorX=k,this.boxAttr(L,Math.round(k)-this.getCrispAdjust()-this.xSetting)}anchorYSetter(k,L){this.anchorY=k,this.boxAttr(L,k-this.ySetting)}boxAttr(k,L){this.box?this.box.attr(k,L):this.deferredAttr[k]=L}css(k){if(k){let L={};k=ht(k),Z.textProps.forEach(I=>{void 0!==k[I]&&(L[I]=k[I],delete k[I])}),this.text.css(L),"fontSize"in L||"fontWeight"in L?this.updateTextPadding():("width"in L||"textOverflow"in L)&&this.updateBoxSize()}return st.prototype.css.call(this,k)}destroy(){J(this.element,"mouseenter"),J(this.element,"mouseleave"),this.text&&this.text.destroy(),this.box&&(this.box=this.box.destroy()),st.prototype.destroy.call(this)}fillSetter(k,L){k&&(this.needsBox=!0),this.fill=k,this.boxAttr(L,k)}getBBox(k,L){this.textStr&&0===this.bBox.width&&0===this.bBox.height&&this.updateBoxSize();let{padding:I,height:D=0,translateX:u=0,translateY:b=0,width:C=0}=this,P=dt(this.paddingLeft,I),l=L??(this.rotation||0),M={width:C,height:D,x:u+this.bBox.x-P,y:b+this.bBox.y-I+this.baselineOffset};return l&&(M=this.getRotatedBox(M,l)),M}getCrispAdjust(){return(this.renderer.styledMode&&this.box?this.box.strokeWidth():this["stroke-width"]?parseInt(this["stroke-width"],10):0)%2/2}heightSetter(k){this.heightSetting=k,this.doUpdate=!0}afterSetters(){super.afterSetters(),this.doUpdate&&(this.updateBoxSize(),this.doUpdate=!1)}onAdd(){this.text.add(this),this.attr({text:dt(this.textStr,""),x:this.x||0,y:this.y||0}),this.box&>(this.anchorX)&&this.attr({anchorX:this.anchorX,anchorY:this.anchorY})}paddingSetter(k,L){pt(k)?k!==this[L]&&(this[L]=k,this.updateTextPadding()):this[L]=void 0}rSetter(k,L){this.boxAttr(L,k)}strokeSetter(k,L){this.stroke=k,this.boxAttr(L,k)}"stroke-widthSetter"(k,L){k&&(this.needsBox=!0),this["stroke-width"]=k,this.boxAttr(L,k)}"text-alignSetter"(k){this.textAlign=k}textSetter(k){void 0!==k&&this.text.attr({text:k}),this.updateTextPadding(),this.reAlign()}updateBoxSize(){let k,L=this.text,I={},D=this.padding,u=this.bBox=pt(this.widthSetting)&&pt(this.heightSetting)&&!this.textAlign||!gt(L.textStr)?Z.emptyBBox:L.getBBox(void 0,0);this.width=this.getPaddedWidth(),this.height=(this.heightSetting||u.height||0)+2*D;let b=this.renderer.fontMetrics(L);if(this.baselineOffset=D+Math.min((this.text.firstLineMetrics||b).b,u.height||1/0),this.heightSetting&&(this.baselineOffset+=(this.heightSetting-b.h)/2),this.needsBox&&!L.textPath){if(!this.box){let C=this.box=this.symbolKey?this.renderer.symbol(this.symbolKey):this.renderer.rect();C.addClass(("button"===this.className?"":"highcharts-label-box")+(this.className?" highcharts-"+this.className+"-box":"")),C.add(this)}k=this.getCrispAdjust(),I.x=k,I.y=(this.baseline?-this.baselineOffset:0)+k,I.width=Math.round(this.width),I.height=Math.round(this.height),this.box.attr(mt(I,this.deferredAttr)),this.deferredAttr={}}}updateTextPadding(){let k=this.text;if(!k.textPath){this.updateBoxSize();
1let L=this.baseline?0:this.baselineOffset,I=dt(this.paddingLeft,this.padding);gt(this.widthSetting)&&this.bBox&&("center"===this.textAlign||"right"===this.textAlign)&&(I+={center:.5,right:1}[this.textAlign]*(this.widthSetting-this.bBox.width)),(I!==k.x||L!==k.y)&&(k.attr("x",I),k.hasBoxWidthChanged&&(this.bBox=k.getBBox(!0)),void 0!==L&&k.attr("y",L)),k.x=I,k.y=L}}widthSetter(k){this.widthSetting=pt(k)?k:void 0,this.doUpdate=!0}getPaddedWidth(){let k=this.padding,L=dt(this.paddingLeft,k),I=dt(this.paddingRight,k);return(this.widthSetting||this.bBox.width||0)+L+I}xSetter(k){this.x=k,this.alignFactor&&(k-=this.alignFactor*this.getPaddedWidth(),this["forceAnimate:x"]=!0),this.xSetting=Math.round(k),this.attr("translateX",this.xSetting)}ySetter(k){this.ySetting=this.y=Math.round(k),this.attr("translateY",this.ySetting)}}return Z.emptyBBox={width:0,height:0,x:0,y:0},Z.textProps=["color","direction","fontFamily","fontSize","fontStyle","fontWeight","lineHeight","textAlign","textDecoration","textOutline","textOverflow","whiteSpace","width"],Z}),St(Y,"Core/Renderer/SVG/Symbols.js",[Y["Core/Utilities.js"]],function(st){let{defined:nt,isNumber:gt,pick:mt}=st;function pt(J,Z,K,k,L){let I=[];if(L){let D=L.start||0,u=mt(L.r,K),b=mt(L.r,k||K),C=2e-4/(L.borderRadius?1:Math.max(u,1)),P=Math.abs((L.end||0)-D-2*Math.PI)<C,l=(L.end||0)-(P?C:0),M=L.innerR,F=mt(L.open,P),_=Math.cos(D),S=Math.sin(D),o=Math.cos(l),p=Math.sin(l),n=mt(L.longArc,l-D-Math.PI<C?0:1),i=["A",u,b,0,n,mt(L.clockwise,1),J+u*o,Z+b*p];i.params={start:D,end:l,cx:J,cy:Z},I.push(["M",J+u*_,Z+b*S],i),nt(M)&&((i=["A",M,M,0,n,nt(L.clockwise)?1-L.clockwise:0,J+M*_,Z+M*S]).params={start:l,end:D,cx:J,cy:Z},I.push(F?["M",J+M*o,Z+M*p]:["L",J+M*o,Z+M*p],i)),F||I.push(["Z"])}return I}function ht(J,Z,K,k,L){return L&&L.r?dt(J,Z,K,k,L):[["M",J,Z],["L",J+K,Z],["L",J+K,Z+k],["L",J,Z+k],["Z"]]}function dt(J,Z,K,k,L){let I=L?.r||0;return[["M",J+I,Z],["L",J+K-I,Z],["A",I,I,0,0,1,J+K,Z+I],["L",J+K,Z+k-I],["A",I,I,0,0,1,J+K-I,Z+k],["L",J+I,Z+k],["A",I,I,0,0,1,J,Z+k-I],["L",J,Z+I],["A",I,I,0,0,1,J+I,Z],["Z"]]}return{arc:pt,callout:function(J,Z,K,k,L){let I=Math.min(L&&L.r||0,K,k),D=I+6,u=L&&L.anchorX,b=L&&L.anchorY||0,C=dt(J,Z,K,k,{r:I});if(!gt(u)||u<K&&u>0&&b<k&&b>0)return C;if(J+u>K-D)if(b>Z+D&&b<Z+k-D)C.splice(3,1,["L",J+K,b-6],["L",J+K+6,b],["L",J+K,b+6],["L",J+K,Z+k-I]);else if(u<K){let P=b<Z+D;C.splice(P?2:5,0,["L",u,b],["L",J+K-I,P?Z:Z+k])}else C.splice(3,1,["L",J+K,k/2],["L",u,b],["L",J+K,k/2],["L",J+K,Z+k-I]);else if(J+u<D)if(b>Z+D&&b<Z+k-D)C.splice(7,1,["L",J,b+6],["L",J-6,b],["L",J,b-6],["L",J,Z+I]);else if(u>0){let P=b<Z+D;C.splice(P?1:6,0,["L",u,b],["L",J+I,P?Z:Z+k])}else C.splice(7,1,["L",J,k/2],["L",u,b],["L",J,k/2],["L",J,Z+I]);else b>k&&u<K-D?C.splice(5,1,["L",u+6,Z+k],["L",u,Z+k+6],["L",u-6,Z+k],["L",J+I,Z+k]):b<0&&u>D&&C.splice(1,1,["L",u-6,Z],["L",u,Z-6],["L",u+6,Z],["L",K-I,Z]);return C},circle:function(J,Z,K,k){return pt(J+K/2,Z+k/2,K/2,k/2,{start:.5*Math.PI,end:2.5*Math.PI,open:!1})},diamond:function(J,Z,K,k){return[["M",J+K/2,Z],["L",J+K,Z+k/2],["L",J+K/2,Z+k],["L",J,Z+k/2],["Z"]]},rect:ht,roundedRect:dt,square:ht,triangle:function(J,Z,K,k){return[["M",J+K/2,Z],["L",J+K,Z+k],["L",J,Z+k],["Z"]]},"triangle-down":function(J,Z,K,k){return[["M",J,Z],["L",J+K,Z],["L",J+K/2,Z+k],["Z"]]}}}),St(Y,"Core/Renderer/SVG/TextBuilder.js",[Y["Core/Renderer/HTML/AST.js"],Y["Core/Globals.js"],Y["Core/Utilities.js"]],function(st,nt,gt){let{doc:mt,SVG_NS:pt,win:ht}=nt,{attr:dt,extend:J,fireEvent:Z,isString:K,objectEach:k,pick:L}=gt;return class{constructor(I){let D=I.styles;this.renderer=I.renderer,this.svgElement=I,this.width=I.textWidth,this.textLineHeight=D&&D.lineHeight,this.textOutline=D&&D.textOutline,this.ellipsis=!(!D||"ellipsis"!==D.textOverflow),this.noWrap=!(!D||"nowrap"!==D.whiteSpace)}buildSVG(){let I=this.svgElement,D=I.element,u=I.renderer,b=L(I.textStr,"").toString(),C=-1!==b.indexOf("<"),P=D.childNodes,l=!I.added&&u.box,M=[b,this.ellipsis,this.noWrap,this.textLineHeight,this.textOutline,I.getStyle("font-size"),this.width].join(",");if(M!==I.textCache){I.textCache=M,delete I.actualWidth;for(let F=P.length;F--;)D.removeChild(P[F]);if(C||this.ellipsis||this.width||I.textPath||-1!==b.indexOf(" ")&&(!this.noWrap||/<br.*?>
1/g.test(b))){if(""!==b){l&&l.appendChild(D);let F=new st(b);this.modifyTree(F.nodes),F.addToDOM(D),this.modifyDOM(),this.ellipsis&&-1!==(D.textContent||"").indexOf("\u2026")&&I.attr("title",this.unescapeEntities(I.textStr||"",["<",">"])),l&&l.removeChild(D)}}else D.appendChild(mt.createTextNode(this.unescapeEntities(b)));K(this.textOutline)&&I.applyTextOutline&&I.applyTextOutline(this.textOutline)}}modifyDOM(){let I,D=this.svgElement,u=dt(D.element,"x");for(D.firstLineMetrics=void 0;(I=D.element.firstChild)&&/^[\s\u200B]*$/.test(I.textContent||" ");)D.element.removeChild(I);[].forEach.call(D.element.querySelectorAll("tspan.highcharts-br"),(l,M)=>{l.nextSibling&&l.previousSibling&&(0===M&&1===l.previousSibling.nodeType&&(D.firstLineMetrics=D.renderer.fontMetrics(l.previousSibling)),dt(l,{dy:this.getLineHeight(l.nextSibling),x:u}))});let b=this.width||0;if(!b)return;let C=(l,M)=>{let F=l.textContent||"",_=F.replace(/([^\^])-/g,"$1- ").split(" "),S=!this.noWrap&&(_.length>1||D.element.childNodes.length>1),o=this.getLineHeight(M),p=0,n=D.actualWidth;if(this.ellipsis)F&&this.truncate(l,F,void 0,0,Math.max(0,b-.8*o),(i,e)=>i.substring(0,e)+"\u2026");else if(S){let i=[],e=[];for(;M.firstChild&&M.firstChild!==l;)e.push(M.firstChild),M.removeChild(M.firstChild);for(;_.length;)_.length&&!this.noWrap&&p>0&&(i.push(l.textContent||""),l.textContent=_.join(" ").replace(/- /g,"-")),this.truncate(l,void 0,_,0===p&&n||0,b,(r,a)=>_.slice(0,a).join(" ").replace(/- /g,"-")),n=D.actualWidth,p++;e.forEach(r=>{M.insertBefore(r,l)}),i.forEach(r=>{M.insertBefore(mt.createTextNode(r),l);let a=mt.createElementNS(pt,"tspan");a.textContent="\u200b",dt(a,{dy:o,x:u}),M.insertBefore(a,l)})}},P=l=>{[].slice.call(l.childNodes).forEach(M=>{M.nodeType===ht.Node.TEXT_NODE?C(M,l):(-1!==M.className.baseVal.indexOf("highcharts-br")&&(D.actualWidth=0),P(M))})};P(D.element)}getLineHeight(I){let D=I.nodeType===ht.Node.TEXT_NODE?I.parentElement:I;return this.textLineHeight?parseInt(this.textLineHeight.toString(),10):this.renderer.fontMetrics(D||this.svgElement.element).h}modifyTree(I){let D=(u,b)=>{let{attributes:C={},children:P,style:l={},tagName:M}=u,F=this.renderer.styledMode;if("b"===M||"strong"===M?F?C.class="highcharts-strong":l.fontWeight="bold":("i"===M||"em"===M)&&(F?C.class="highcharts-emphasized":l.fontStyle="italic"),l&&l.color&&(l.fill=l.color),"br"===M){C.class="highcharts-br",u.textContent="\u200b";let _=I[b+1];_&&_.textContent&&(_.textContent=_.textContent.replace(/^ +/gm,""))}else"a"===M&&P&&P.some(_=>"#text"===_.tagName)&&(u.children=[{children:P,tagName:"tspan"}]);"#text"!==M&&"a"!==M&&(u.tagName="tspan"),J(u,{attributes:C,style:l}),P&&P.filter(_=>"#text"!==_.tagName).forEach(D)};I.forEach(D),Z(this.svgElement,"afterModifyTree",{nodes:I})}truncate(I,D,u,b,C,P){let l,M,F=this.svgElement,{rotation:_}=F,S=[],o=u?1:0,p=(D||u||"").length,n=p,i=function(e,r){let a=r||e,y=I.parentNode;if(y&&void 0===S[a]&&y.getSubStringLength)try{S[a]=b+y.getSubStringLength(0,u?a+1:a)}catch{}return S[a]};if(F.rotation=0,b+(M=i(I.textContent.length))>C){for(;o<=p;)n=Math.ceil((o+p)/2),u&&(l=P(u,n)),M=i(n,l&&l.length-1),o===p?o=p+1:M>C?p=n-1:o=n;0===p?I.textContent="":D&&p===D.length-1||(I.textContent=l||P(D||u,n))}u&&u.splice(0,n),F.actualWidth=M,F.rotation=_}unescapeEntities(I,D){return k(this.renderer.escapes,function(u,b){D&&-1!==D.indexOf(u)||(I=I.toString().replace(RegExp(u,"g"),b))}),I}}}),St(Y,"Core/Renderer/SVG/SVGRenderer.js",[Y["Core/Renderer/HTML/AST.js"],Y["Core/Defaults.js"],Y["Core/Color/Color.js"],Y["Core/Globals.js"],Y["Core/Renderer/RendererRegistry.js"],Y["Core/Renderer/SVG/SVGElement.js"],Y["Core/Renderer/SVG/SVGLabel.js"],Y["Core/Renderer/SVG/Symbols.js"],Y["Core/Renderer/SVG/TextBuilder.js"],Y["Core/Utilities.js"]],function(st,nt,gt,mt,pt,ht,dt,J,Z,K){let k,{defaultOptions:L}=nt,{charts:I,deg2rad:D,doc:u,isFirefox:b,isMS:C,isWebKit:P,noop:l,SVG_NS:M,symbolSizes:F,win:_}=mt,{addEvent:S,attr:o,createElement:p,crisp:n,css:i,defined:e,destroyObjectProperties:r,extend:a,isArray:y,isNumber:v,isObject:d,isString:O,merge:$,pick:x,pInt:E,replaceNested:G,uniqueKey:z}=K;class q{constructor(c,g,j,s,f,m,T){let w,N,W=this.createElement("svg").attr({version:"1.1",class:"highcharts-root"}),V=W.element;T||W.css(this.getStyle(s||{})),c.appendChild(V),o(c,"dir","ltr"),-1===c.innerHTML.indexOf("xmlns")&&o(V,"xmlns",this.SVG_NS),this.box=V,this.boxWrapper=W,this.alignedObjects=[],this.url=this.getReferenceURL(),this.createElement("desc").add().element.appendChild(u.createTextNode("Created with Highcharts 11.4.8")),this.defs=this.createElement("defs").add(),this.allowHTML=m,this.forExport=f,this.styledMode=T,this.gradients={},this.cache={},this.cacheKeys=[],this.imgCount=0,this.rootFontSize=W.getStyle("font-size"),this.setSize(g,j,!1),b&&c.getBoundingClientRect&&((w=function(){i(c,{left:0,top:0}),N=c.getBoundingClientRect(),i(c,{left:Math.ceil(N.left)-N.left+"px",to
vendor: 5,655 bytes, line 1
1p:Math.ceil(N.top)-N.top+"px"})})(),this.unSubPixelFix=S(_,"resize",w))}definition(c){return new st([c]).addToDOM(this.defs.element)}getReferenceURL(){if((b||P)&&u.getElementsByTagName("base").length){if(!e(k)){let c=z(),g=new st([{tagName:"svg",attributes:{width:8,height:8},children:[{tagName:"defs",children:[{tagName:"clipPath",attributes:{id:c},children:[{tagName:"rect",attributes:{width:4,height:4}}]}]},{tagName:"rect",attributes:{id:"hitme",width:8,height:8,"clip-path":`url(#${c})`,fill:"rgba(0,0,0,0.001)"}}]}]).addToDOM(u.body);i(g,{position:"fixed",top:0,left:0,zIndex:9e5});let j=u.elementFromPoint(6,6);k="hitme"===(j&&j.id),u.body.removeChild(g)}if(k)return G(_.location.href.split("#")[0],[/<[^>]*>/g,""],[/([\('\)])/g,"\\$1"],[/ /g,"%20"])}return""}getStyle(c){return this.style=a({fontFamily:"Helvetica, Arial, sans-serif",fontSize:"1rem"},c),this.style}setStyle(c){this.boxWrapper.css(this.getStyle(c))}isHidden(){return!this.boxWrapper.getBBox().width}destroy(){let c=this.defs;return this.box=null,this.boxWrapper=this.boxWrapper.destroy(),r(this.gradients||{}),this.gradients=null,this.defs=c.destroy(),this.unSubPixelFix&&this.unSubPixelFix(),this.alignedObjects=null,null}createElement(c){return new this.Element(this,c)}getRadialAttr(c,g){return{cx:c[0]-c[2]/2+(g.cx||0)*c[2],cy:c[1]-c[2]/2+(g.cy||0)*c[2],r:(g.r||0)*c[2]}}shadowDefinition(c){let g=[`highcharts-drop-shadow-${this.chartIndex}`,...Object.keys(c).map(s=>`${s}-${c[s]}`)].join("-").toLowerCase().replace(/[^a-z\d\-]/g,""),j=$({color:"#000000",offsetX:1,offsetY:1,opacity:.15,width:5},c);return this.defs.element.querySelector(`#${g}`)||this.definition({tagName:"filter",attributes:{id:g,filterUnits:j.filterUnits},children:this.getShadowFilterContent(j)}),g}getShadowFilterContent(c){return[{tagName:"feDropShadow",attributes:{dx:c.offsetX,dy:c.offsetY,"flood-color":c.color,"flood-opacity":Math.min(5*c.opacity,1),stdDeviation:c.width/2}}]}buildText(c){new Z(c).buildSVG()}getContrast(c){let g=gt.parse(c).rgba.map(s=>{let f=s/255;return f<=.03928?f/12.92:Math.pow((f+.055)/1.055,2.4)}),j=.2126*g[0]+.7152*g[1]+.0722*g[2];return 1.05/(j+.05)>(j+.05)/.05?"#FFFFFF":"#000000"}button(c,g,j,s,f={},m,T,w,N,W){let V=this.label(c,g,j,N,void 0,void 0,W,void 0,"button"),Q=this.styledMode,lt=arguments,ct=0;f=$(L.global.buttonTheme,f),Q&&(delete f.fill,delete f.stroke,delete f["stroke-width"]);let B=f.states||{},R=f.style||{};delete f.states,delete f.style;let H=[st.filterUserAttributes(f)],X=[R];return Q||["hover","select","disabled"].forEach((tt,et)=>{H.push($(H[0],st.filterUserAttributes(lt[et+5]||B[tt]||{}))),X.push(H[et+1].style),delete H[et+1].style}),S(V.element,C?"mouseover":"mouseenter",function(){3!==ct&&V.setState(1)}),S(V.element,C?"mouseout":"mouseleave",function(){3!==ct&&V.setState(ct)}),V.setState=(tt=0)=>{if(1!==tt&&(V.state=ct=tt),V.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed","disabled"][tt]),!Q){V.attr(H[tt]);let et=X[tt];d(et)&&V.css(et)}},V.attr(H[0]),!Q&&(V.css(a({cursor:"default"},R)),W&&V.text.css({pointerEvents:"none"})),V.on("touchstart",tt=>tt.stopPropagation()).on("click",function(tt){3!==ct&&s.call(V,tt)})}crispLine(c,g){let[j,s]=c;return e(j[1])&&j[1]===s[1]&&(j[1]=s[1]=n(j[1],g)),e(j[2])&&j[2]===s[2]&&(j[2]=s[2]=n(j[2],g)),c}path(c){let g=this.styledMode?{}:{fill:"none"};return y(c)?g.d=c:d(c)&&a(g,c),this.createElement("path").attr(g)}circle(c,g,j){let s=d(c)?c:void 0===c?{}:{x:c,y:g,r:j},f=this.createElement("circle");return f.xSetter=f.ySetter=function(m,T,w){w.setAttribute("c"+T,m)},f.attr(s)}arc(c,g,j,s,f,m){let T;d(c)?(g=(T=c).y,j=T.r,s=T.innerR,f=T.start,m=T.end,c=T.x):T={innerR:s,start:f,end:m};let w=this.symbol("arc",c,g,j,j,T);return w.r=j,w}rect(c,g,j,s,f,m){let T=d(c)?c:void 0===c?{}:{x:c,y:g,r:f,width:Math.max(j||0,0),height:Math.max(s||0,0)},w=this.createElement("rect");return this.styledMode||(void 0!==m&&(T["stroke-width"]=m,a(T,w.crisp(T))),T.fill="none"),w.rSetter=function(N,W,V){w.r=N,o(V,{rx:N,ry:N})},w.rGetter=function(){return w.r||0},w.attr(T)}roundedRect(c){return this.symbol("roundedRect").attr(c)}setSize(c,g,j){this.width=c,this.height=g,this.boxWrapper.animate({width:c,height:g},{step:function(){this.attr({viewBox:"0 0 "+this.attr("width")+" "+this.attr("height")})},duration:x(j,!0)?void 0:0}),this.alignElements()}g(c){let g=this.createElement("g");return c?g.attr({class:"highcharts-"+c}):g}image(c,g,j,s,f,m){let T={preserveAspectRatio:"none"};v(g)&&(T.x=g),v(j)&&(T.y=j),v(s)&&(T.width=s),v(f)&&(T.height=f);let w=this.createElement("image").attr(T),N=function(W){w.attr({href:c}),m.call(w,W)};if(m){w.attr({href:"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="});let W=new _.Image;S(W,"load",N),W.src=c,W.complete&&N({})}else w.attr({href:c});return w}symbol(c,g,j,s,f,m){let T,w,N,W,V=this,Q=/^url\((.*?)\)$/,lt=Q.test(c),ct=!lt&&(this.symbols[c]?c:"circle"),B=ct&&this.symbols[ct];if(B)"number"==typeof g&&(w=B.call(this.symbols,g||0,j||0,s||0,f||0,m)),T=this.path(w),V.styledMode||T.attr("fill","none"),a(T,{symbolName:ct||void 0,x:g,y:j,width:s,height:f}),m&&a(T,m);else if(lt){N=c.match(Q)[1];let R=T=this.image(N);R.imgwidth=x(m&&m.width,F[N]&&F[N].width),R.imgheight=x(m&&m.height,F[N]&&F[N].height),W=H=>H.attr({width:H.width,height:H.height}),["width","height"].forEach(H=>{R[`${H}Setter`]=function(X,tt){this[tt]=X;let{alignByTranslate:et,element:rt,width:ot,height:ut,imgwidth:ft,imgheight:xt}=this,yt="width"===tt?ft:xt,bt=1;m&&"within"===m.backgroundSize&&ot&&ut&&ft&&xt?(bt=Math.min(ot/ft,ut/xt),o(rt,{width:Math.round(ft*bt),height:Math.round(xt*bt)}
1)):rt&&yt&&rt.setAttribute(tt,yt),!et&&ft&&xt&&this.translate(((ot||0)-ft*bt)/2,((ut||0)-xt*bt)/2)}}),e(g)&&R.attr({x:g,y:j}),R.isImg=!0,R.symbolUrl=c,e(R.imgwidth)&&e(R.imgheight)?W(R):(R.attr({width:0,height:0}),p("img",{onload:function(){let H=I[V.chartIndex];0===this.width&&(i(this,{position:"absolute",top:"-999em"}),u.body.appendChild(this)),F[N]={width:this.width,height:this.height},R.imgwidth=this.width,R.imgheight=this.height,R.element&&W(R),this.parentNode&&this.parentNode.removeChild(this),V.imgCount--,V.imgCount||!H||H.hasLoaded||H.onload()},src:N}),this.imgCount++)}return T}clipRect(c,g,j,s){return this.rect(c,g,j,s,0)}text(c,g,j,s){let f={};if(s&&(this.allowHTML||!this.forExport))return this.html(c,g,j);f.x=Math.round(g||0),j&&(f.y=Math.round(j)),e(c)&&(f.text=c);let m=this.createElement("text").attr(f);return s&&(!this.forExport||this.allowHTML)||(m.xSetter=function(T,w,N){let W=N.getElementsByTagName("tspan"),V=N.getAttribute(w);for(let lt,Q=0;Q<W.length;Q++)(lt=W[Q]).getAttribute(w)===V&<.setAttribute(w,T);N.setAttribute(w,T)}),m}fontMetrics(c){let g=E(ht.prototype.getStyle.call(c,"font-size")||0),j=g<24?g+3:Math.round(1.2*g);return{h:j,b:Math.round(.8*j),f:g}}rotCorr(c,g,j){let s=c;return g&&j&&(s=Math.max(s*Math.cos(g*D),4)),{x:-c/3*Math.sin(g*D),y:s}}pathToSegments(c){let g=[],j=[],s={A:8,C:7,H:2,L:3,M:3,Q:5,S:5,T:3,V:2};for(let f=0;f<c.length;f++)O(j[0])&&v(c[f])&&j.length===s[j[0].toUpperCase()]&&c.splice(f,0,j[0].replace("M","L").replace("m","l")),"string"==typeof c[f]&&(j.length&&g.push(j.slice(0)),j.length=0),j.push(c[f]);return g.push(j.slice(0)),g}label(c,g,j,s,f,m,T,w,N){return new dt(this,c,g,j,s,f,m,T,w,N)}alignElements(){this.alignedObjects.forEach(c=>c.align())}}return a(q.prototype,{Element:ht,SVG_NS:M,escapes:{"&":"&","<":"<",">":">","'":"'",'"':"""},symbols:J,draw:l}),pt.registerRendererType("svg",q,!0),q}),St(Y,"Core/Renderer/HTML/HTMLElement.js",[Y["Core/Renderer/HTML/AST.js"],Y["Core/Globals.js"],Y["Core/Renderer/SVG/SVGElement.js"],Y["Core/Utilities.js"]],function(st,nt,gt,mt){let{composed:pt}=nt,{attr:ht,css:dt,createElement:J,defined:Z,extend:K,pInt:k,pushUnique:L}=mt;function I(C,P,l){let M=this.div?.style||l.style;gt.prototype[`${P}Setter`].call(this,C,P,l),M&&(M[P]=C)}let D=(C,P)=>{if(!C.div){let l=ht(C.element,"class"),M=C.css,F=J("div",l?{className:l}:void 0,{position:"absolute",left:`${C.translateX||0}px`,top:`${C.translateY||0}px`,...C.styles,display:C.display,opacity:C.opacity,visibility:C.visibility},C.parentGroup?.div||P);C.classSetter=(_,S,o)=>{o.setAttribute("class",_),F.className=_},C.translateXSetter=C.translateYSetter=(_,S)=>{C[S]=_,F.style["translateX"===S?"left":"top"]=`${_}px`,C.doTransform=!0},C.opacitySetter=C.visibilitySetter=I,C.css=_=>(M.call(C,_),_.cursor&&(F.style.cursor=_.cursor),_.pointerEvents&&(F.style.pointerEvents=_.pointerEvents),C),C.on=function(){return gt.prototype.on.apply({element:F,onEvents:C.onEvents},arguments),C},C.div=F}return C.div};class u extends gt{static compose(P){L(pt,this.compose)&&(P.prototype.html=function(l,M,F){return new u(this,"span").attr({text:l,x:Math.round(M),y:Math.round(F)})})}constructor(P,l){super(P,l),this.css({position:"absolute",...P.styledMode?{}:{fontFamily:P.style.fontFamily,fontSize:P.style.fontSize}}),this.element.style.whiteSpace="nowrap"}getSpanCorrection(P,l,M){this.xCorr=-P*M,this.yCorr=-l}css(P){let l,{element:M}=this,F="SPAN"===M.tagName&&P&&"width"in P,_=F&&P.width;return F&&(delete P.width,this.textWidth=k(_)||void 0,l=!0),"ellipsis"===P?.textOverflow&&(P.whiteSpace="nowrap",P.overflow="hidden"),K(this.styles,P),dt(M,P),l&&this.updateTransform(),this}htmlGetBBox(){let{element:P}=this;return{x:P.offsetLeft,y:P.offsetTop,width:P.offsetWidth,height:P.offsetHeight}}updateTransform(){if(!this.added)return void(this.alignOnAdd=!0);let{element:P,renderer:l,rotation:M,rotationOriginX:F,rotationOriginY:_,styles:S,textAlign:o="left",textWidth:p,translateX:n=0,translateY:i=0,x:e=0,y:r=0}=this,a={left:0,center:.5,right:1}[o],y=S.whiteSpace;if(dt(P,{marginLeft:`${n}px`,marginTop:`${i}px`}),"SPAN"===P.tagName){let O,v=[M,o,P.innerHTML,p,this.textAlign].join(","),d=-1*this.parentGroup?.padding||0,$=!1;if(p!==this.oldTextWidth){let q=this.textPxLength?this.textPxLength:(dt(P,{width:"",whiteSpace:y||"nowrap"}),P.offsetWidth),h=p||0;(h>this.oldTextWidth||q>h)&&(/[ \-]/.test(P.textContent||P.innerText)||"ellipsis"===P.style.textOverflow)&&(dt(P,{width:q>h||M?p+"px":"auto",display:"block",whiteSpace:y||"normal"}),this.oldTextWidth=p,$=!0)}this.hasBoxWidthChanged=$,v!==this.cTT&&(O=l.fontMetrics(P).b,Z(M)&&(M!==(this.oldRotation||0)||o!==this.oldAlign)&&this.setSpanRotation(M,d,d),this.get
1SpanCorrection(!Z(M)&&this.textPxLength||P.offsetWidth,O,a));let{xCorr:x=0,yCorr:E=0}=this;dt(P,{left:`${e+x}px`,top:`${r+E}px`,transformOrigin:`${(F??e)-x-e-d}px ${(_??r)-E-r-d}px`}),this.cTT=v,this.oldRotation=M,this.oldAlign=o}}setSpanRotation(P,l,M){dt(this.element,{transform:`rotate(${P}deg)`,transformOrigin:`${l}% ${M}px`})}add(P){let l,M=this.renderer.box.parentNode,F=[];if(this.parentGroup=P,P&&!(l=P.div)){let _=P;for(;_;)F.push(_),_=_.parentGroup;for(let S of F.reverse())l=D(S,M)}return(l||M).appendChild(this.element),this.added=!0,this.alignOnAdd&&this.updateTransform(),this}textSetter(P){P!==this.textStr&&(delete this.bBox,delete this.oldTextWidth,st.setElementHTML(this.element,P??""),this.textStr=P,this.doTransform=!0)}alignSetter(P){this.alignValue=this.textAlign=P,this.doTransform=!0}xSetter(P,l){this[l]=P,this.doTransform=!0}}let b=u.prototype;return b.visibilitySetter=b.opacitySetter=I,b.ySetter=b.rotationSetter=b.rotationOriginXSetter=b.rotationOriginYSetter=b.xSetter,u}),St(Y,"Core/Axis/AxisDefaults.js",[],function(){var st,nt;return(nt=st||(st={})).xAxis={alignTicks:!0,allowDecimals:void 0,panningEnabled:!0,zIndex:2,zoomEnabled:!0,dateTimeLabelFormats:{millisecond:{main:"%H:%M:%S.%L",range:!1},second:{main:"%H:%M:%S",range:!1},minute:{main:"%H:%M",range:!1},hour:{main:"%H:%M",range:!1},day:{main:"%e %b"},week:{main:"%e %b"},month:{main:"%b '%y"},year:{main:"%Y"}},endOnTick:!1,gridLineDashStyle:"Solid",gridZIndex:1,labels:{autoRotationLimit:80,distance:15,enabled:!0,indentation:10,overflow:"justify",reserveSpace:void 0,rotation:void 0,staggerLines:0,step:0,useHTML:!1,zIndex:7,style:{color:"#333333",cursor:"default",fontSize:"0.8em"}},maxPadding:.01,minorGridLineDashStyle:"Solid",minorTickLength:2,minorTickPosition:"outside",minorTicksPerMajor:5,minPadding:.01,offset:void 0,reversed:void 0,reversedStacks:!1,showEmpty:!0,showFirstLabel:!0,showLastLabel:!0,startOfWeek:1,startOnTick:!1,tickLength:10,tickPixelInterval:100,tickmarkPlacement:"between",tickPosition:"outside",title:{align:"middle",useHTML:!1,x:0,y:0,style:{color:"#666666",fontSize:"0.8em"}},visible:!0,minorGridLineColor:"#f2f2f2",minorGridLineWidth:1,minorTickColor:"#999999",lineColor:"#333333",lineWidth:1,gridLineColor:"#e6e6e6",gridLineWidth:void 0,tickColor:"#333333"},nt.yAxis={reversedStacks:!0,endOnTick:!0,maxPadding:.05,minPadding:.05,tickPixelInterval:72,showLastLabel:!0,labels:{x:void 0},startOnTick:!0,title:{text:"Values"},stackLabels:{animation:{},allowOverlap:!1,enabled:!1,crop:!0,overflow:"justify",formatter:function(){let{numberFormatter:gt}=this.axis.chart;return gt(this.total||0,-1)},style:{color:"#000000",fontSize:"0.7em",fontWeight:"bold",textOutline:"1px contrast"}},gridLineWidth:1,lineWidth:0},st}),St(Y,"Core/Foundation.js",[Y["Core/Utilities.js"]],function(st){var nt;let{addEvent:gt,isFunction:mt,objectEach:pt,removeEvent:ht}=st;return(nt||(nt={})).registerEventOptions=function(dt,J){dt.eventOptions=dt.eventOptions||{},pt(J.events,function(Z,K){dt.eventOptions[K]!==Z&&(dt.eventOptions[K]&&(ht(dt,K,dt.eventOptions[K]),delete dt.eventOptions[K]),mt(Z)&&(dt.eventOptions[K]=Z,gt(dt,K,Z,{order:0})))})},nt}),St(Y,"Core/Axis/Tick.js",[Y["Core/Templating.js"],Y["Core/Globals.js"],Y["Core/Utilities.js"]],function(st,nt,gt){let{deg2rad:mt}=nt,{clamp:pt,correctFloat:ht,defined:dt,destroyObjectProperties:J,extend:Z,fireEvent:K,isNumber:k,merge:L,objectEach:I,pick:D}=gt;return class{constructor(u,b,C,P,l){this.isNew=!0,this.isNewLabel=!0,this.axis=u,this.pos=b,this.type=C||"",this.parameters=l||{},this.tickmarkOffset=this.parameters.tickmarkOffset,this.options=this.parameters.options,K(this,"init"),C||P||this.addLabel()}addLabel(){let a,y,v,u=this,b=u.axis,C=b.options,P=b.chart,l=b.categories,M=b.logarithmic,F=b.names,_=u.pos,S=D(u.options&&u.options.labels,C.labels),o=b.tickPositions,p=_===o[0],n=_===o[o.length-1],i=(!S.step||1===S.step)&&1===b.tickInterval,e=o.info,r=u.label,d=this.parameters.category||(l?D(l[_],F[_],_):_);M&&k(d)&&(d=ht(M.lin2log(d))),b.dateTime&&(e?a=(y=P.time.resolveDTLFormat(C.dateTimeLabelFormats[!C.grid&&e.higherRanks[_]||e.unitName])).main:k(d)&&(a=b.dateTime.getXDateFormat(d,C.dateTimeLabelFormats||{}))),u.isFirst=p,u.isLast=n;let O={axis:b,chart:P,dateTimeLabelFormat:a,isFirst:p,isLast:n,pos:_,tick:u,tickPositionInfo:e,value:d};K(this,"labelFormat",O);let $=G=>S.formatter?S.formatter.call(G,G):S.format?(G.text=b.defaultLabelFormatter.call(G),st.format(S.format,G,P)):b.defaultLabelFormatter.call(G),x=$.call(O,O),E=y&&y.list;u.shortenLabel=E?function(){for(v=0;v<E.length;v++)if(Z(O,{dateTimeLabelFormat:E[v]}),r.attr({text:$.call(O,O)}),r.getBBox().width<b.getSlotWidth(u)-2*(S.padding||0))return;r.attr({text:""})}:void 0,i&&b._addedPlotLB&&u.moveLabel(x,S),dt(r)||u.movedLabel?r&&r.textStr!==x&&
vendor: 1,807 bytes, line 1
1!i&&(!r.textWidth||S.style.width||r.styles.width||r.css({width:null}),r.attr({text:x}),r.textPxLength=r.getBBox().width):(u.label=r=u.createLabel(x,S),u.rotation=0)}createLabel(u,b,C){let P=this.axis,l=P.chart,M=dt(u)&&b.enabled?l.renderer.text(u,C?.x,C?.y,b.useHTML).add(P.labelGroup):void 0;return M&&(l.styledMode||M.css(L(b.style)),M.textPxLength=M.getBBox().width),M}destroy(){J(this,this.axis)}getPosition(u,b,C,P){let l=this.axis,M=l.chart,F=P&&M.oldChartHeight||M.chartHeight,_={x:u?ht(l.translate(b+C,void 0,void 0,P)+l.transB):l.left+l.offset+(l.opposite?(P&&M.oldChartWidth||M.chartWidth)-l.right-l.left:0),y:u?F-l.bottom+l.offset-(l.opposite?l.height:0):ht(F-l.translate(b+C,void 0,void 0,P)-l.transB)};return _.y=pt(_.y,-1e9,1e9),K(this,"afterGetPosition",{pos:_}),_}getLabelPosition(u,b,C,P,l,M,F,_){let S,o,p=this.axis,n=p.transA,i=p.isLinked&&p.linkedParent?p.linkedParent.reversed:p.reversed,e=p.staggerLines,r=p.tickRotCorr||{x:0,y:0},a=P||p.reserveSpaceDefault?0:-p.labelOffset*("center"===p.labelAlign?.5:1),y=l.distance,v={};return S=0===p.side?C.rotation?-y:-C.getBBox().height:2===p.side?r.y+y:Math.cos(C.rotation*mt)*(r.y-C.getBBox(!1,0).height/2),dt(l.y)&&(S=0===p.side&&p.horiz?l.y+S:l.y),u=u+D(l.x,[0,1,0,-1][p.side]*y)+a+r.x-(M&&P?M*n*(i?-1:1):0),b=b+S-(M&&!P?M*n*(i?1:-1):0),e&&(o=F/(_||1)%e,p.opposite&&(o=e-o-1),b+=o*(p.labelOffset/e)),v.x=u,v.y=Math.round(b),K(this,"afterGetLabelPosition",{pos:v,tickmarkOffset:M,index:F}),v}getLabelSize(){return this.label?this.label.getBBox()[this.axis.horiz?"height":"width"]:0}getMarkPath(u,b,C,P,l=!1,M){return M.crispLine([["M",u,b],["L",u+(l?0:-C),b+(l?C:0)]],P)}handleOverflow(u){let y,v,d,b=this.axis,C=b.options.labels,P=u.x,l=b.chart.chartWidth,M=b.chart.spacing,F=D(b.labelLeft,Math.min(b.pos,M[3])),_=D(b.labelRight,Math.max(b.
1isRadial?0:b.pos+b.len,l-M[1])),S=this.label,o=this.rotation,p={left:0,center:.5,right:1}[b.labelAlign||S.attr("align")],n=S.getBBox().width,i=b.getSlotWidth(this),e={},r=i,a=1;o||"justify"!==C.overflow?o<0&&P-p*n<F?d=Math.round(P/Math.cos(o*mt)-F):o>0&&P+p*n>_&&(d=Math.round((l-P)/Math.cos(o*mt))):(y=P-p*n,v=P+(1-p)*n,y<F?r=u.x+r*(1-p)-F:v>_&&(r=_-u.x+r*p,a=-1),(r=Math.min(i,r))<i&&"center"===b.labelAlign&&(u.x+=a*(i-r-p*(i-Math.min(n,r)))),(n>r||b.autoRotation&&(S.styles||{}).width)&&(d=r)),d&&(this.shortenLabel?this.shortenLabel():(e.width=Math.floor(d)+"px",(C.style||{}).textOverflow||(e.textOverflow="ellipsis"),S.css(e)))}moveLabel(u,b){let F,C=this,P=C.label,l=C.axis,M=!1;P&&P.textStr===u?(C.movedLabel=P,M=!0,delete C.label):I(l.ticks,function(_){M||_.isNew||_===C||!_.label||_.label.textStr!==u||(C.movedLabel=_.label,M=!0,_.labelPos=C.movedLabel.xy,delete _.label)}),!M&&(C.labelPos||P)&&(F=C.labelPos||P.xy,C.movedLabel=C.createLabel(u,b,F),C.movedLabel&&C.movedLabel.attr({opacity:0}))}render(u,b,C){let P=this.axis,l=P.horiz,M=this.pos,F=D(this.tickmarkOffset,P.tickmarkOffset),_=this.getPosition(l,M,F,b),p=P.pos,n=p+P.len,i=l?_.x:_.y;!P.chart.polar&&this.isNew&&(ht(i)<p||i>n)&&(C=0);let e=D(C,this.label&&this.label.newOpacity,1);C=D(C,1),this.isActive=!0,this.renderGridLine(b,C),this.renderMark(_,C),this.renderLabel(_,b,e,u),this.isNew=!1,K(this,"afterRender")}renderGridLine(u,b){let p,C=this.axis,P=C.options,l={},M=this.pos,F=this.type,_=D(this.tickmarkOffset,C.tickmarkOffset),S=C.chart.renderer,o=this.gridLine,n=P.gridLineWidth,i=P.gridLineColor,e=P.gridLineDashStyle;"minor"===this.type&&(n=P.minorGridLineWidth,i=P.minorGridLineColor,e=P.minorGridLineDashStyle),o||(C.chart.styledMode||(l.stroke=i,l["stroke-width"]=n||0,l.dashstyle=e),F||(l.zIndex=1),u&&(b=0),this.gridLine=o=S.path().attr(l).addClass("highcharts-"+(F?F+"-":"")+"grid-line").add(C.gridGroup)),o&&(p=C.getPlotLinePath({value:M+_,lineWidth:o.strokeWidth(),force:"pass",old:u,acrossPanes:!1}))&&o[u||this.isNew?"attr":"animate"]({d:p,opacity:b})}renderMark(u,b){let C=this.axis,P=C.options,l=C.chart.renderer,M=this.type,F=C.tickSize(M?M+"Tick":"tick"),_=u.x,S=u.y,o=D(P["minor"!==M?"tickWidth":"minorTickWidth"],!M&&C.isXAxis?1:0),p=P["minor"!==M?"tickColor":"minorTickColor"],n=this.mark,i=!n;F&&(C.opposite&&(F[0]=-F[0]),n||(this.mark=n=l.path().addClass("highcharts-"+(M?M+"-":"")+"tick").add(C.axisGroup),C.chart.styledMode||n.attr({stroke:p,"stroke-width":o})),n[i?"attr":"animate"]({d:this.getMarkPath(_,S,F[0],n.strokeWidth(),C.horiz,l),opacity:b}))}renderLabel(u,b,C,P){let l=this.axis,M=l.horiz,F=l.options,_=this.label,S=F.labels,o=S.step,p=D(this.tickmarkOffset,l.tickmarkOffset),n=u.x,i=u.y,e=!0;_&&k(n)&&(_.xy=u=this.getLabelPosition(n,i,_,M,S,p,P,o),this.isFirst&&!this.isLast&&!F.showFirstLabel||this.isLast&&!this.isFirst&&!F.showLastLabel?e=!1:!M||S.step||S.rotation||b||0===C||this.handleOverflow(u),o&&P%o&&(e=!1),e&&k(u.y)?(u.opacity=C,_[this.isNewLabel?"attr":"animate"](u).show(!0),this.isNewLabel=!1):(_.hide(),this.isNewLabel=!0))}replaceMovedLabel(){let u=this.label,b=this.axis;u&&!this.isNew&&(u.animate({opacity:0}
1,void 0,u.destroy),delete this.label),b.isDirty=!0,this.label=this.movedLabel,delete this.movedLabel}}}),St(Y,"Core/Axis/Axis.js",[Y["Core/Animation/AnimationUtilities.js"],Y["Core/Axis/AxisDefaults.js"],Y["Core/Color/Color.js"],Y["Core/Defaults.js"],Y["Core/Foundation.js"],Y["Core/Globals.js"],Y["Core/Axis/Tick.js"],Y["Core/Utilities.js"]],function(st,nt,gt,mt,pt,ht,dt,J){let{animObject:Z}=st,{xAxis:K,yAxis:k}=nt,{defaultOptions:L}=mt,{registerEventOptions:I}=pt,{deg2rad:D}=ht,{arrayMax:u,arrayMin:b,clamp:C,correctFloat:P,defined:l,destroyObjectProperties:M,erase:F,error:_,extend:S,fireEvent:o,getClosestDistance:p,insertItem:n,isArray:i,isNumber:e,isString:r,merge:a,normalizeTickInterval:y,objectEach:v,pick:d,relativeLength:O,removeEvent:$,splat:x,syncTimeout:E}=J,G=(q,h)=>y(h,void 0,void 0,d(q.options.allowDecimals,h<.5||void 0!==q.tickAmount),!!q.tickAmount);S(L,{xAxis:K,yAxis:a(K,k)});class z{constructor(h,c,g){this.init(h,c,g)}init(h,c,g=this.coll){let j="xAxis"===g,s=this.isZAxis||(h.inverted?!j:j);this.chart=h,this.horiz=s,this.isXAxis=j,this.coll=g,o(this,"init",{userOptions:c}),this.opposite=d(c.opposite,this.opposite),this.side=d(c.side,this.side,s?this.opposite?0:2:this.opposite?1:3),this.setOptions(c);let f=this.options,m=f.labels;this.type??(this.type=f.type||"linear"),this.uniqueNames??(this.uniqueNames=f.uniqueNames??!0),o(this,"afterSetType"),this.userOptions=c,this.minPixelPadding=0,this.reversed=d(f.reversed,this.reversed),this.visible=f.visible,this.zoomEnabled=f.zoomEnabled,this.hasNames="category"===this.type||!0===f.categories,this.categories=i(f.categories)&&f.categories||(this.hasNames?[]:void 0),this.names||(this.names=[],this.names.keys={}),this.plotLinesAndBandsGroups={},this.positiveValuesOnly=!!this.logarithmic,this.isLinked=l(f.linkedTo),this.ticks={},this.labelEdge=[],this.minorTicks={},this.plotLinesAndBands=[],this.alternateBands={},this.len??(this.len=0),this.minRange=this.userMinRange=f.minRange||f.maxZoom,this.range=f.range,this.offset=f.offset||0,this.max=void 0,this.min=void 0;let T=d(f.crosshair,x(h.options.tooltip.crosshairs)[j?0:1]);this.crosshair=!0===T?{}:T,-1===h.axes.indexOf(this)&&(j?h.axes.splice(h.xAxis.length,0,this):h.axes.push(this),n(this,h[this.coll])),h.orderItems(this.coll),this.series=this.series||[],h.inverted&&!this.isZAxis&&j&&!l(this.reversed)&&(this.reversed=!0),this.labelRotation=e(m.rotation)?m.rotation:void 0,I(this,f),o(this,"afterInit")}setOptions(h){this.options=a(this.horiz?{labels:{autoRotation:[-45],padding:4},margin:15}:{labels:{padding:1},title:{rotation:90*this.side}},L[this.coll],h),o(this,"afterSetOptions",{userOptions:h})}defaultLabelFormatter(){let V,Q,h=this.axis,{numberFormatter:c}=this.chart,g=e(this.value)?this.value:NaN,j=h.chart.time,s=h.categories,f=this.dateTimeLabelFormat,m=L.lang,T=m.numericSymbols,w=m.numericSymbolMagnitude||1e3,N=h.logarithmic?Math.abs(g):h.tickInterval,W=T&&T.length;if(s)Q=`${this.value}`;else if(f)Q=j.dateFormat(f,g);else if(W&&T&&N>=1e3)for(;W--&&void 0===Q;)N>=(V=Math.pow(w,W+1))&&10*g%V==0&&null!==T[W]&&0!==g&&(Q=c(g/V,-1)+T[W]);return void 0===Q&&(Q=Math.abs(g)>=1e4?c(g,-1):c(g,-1,void 0,"")),Q}getSeriesExtremes(){let h,c=this;o(this,"getSeriesExtremes",null,function(){c.hasVisibleSeries=!1,c.dataMin=c.dataMax=c.threshold=void 0,c.softThreshold=!c.isXAxis,c.series.forEach(g=>{if(g.reserveSpace()){let s,m,T,j=g.options,f=j.threshold;if(c.hasVisibleSeries=!0,c.positiveValuesOnly&&0>=(f||0)&&(f=void 0),c.isXAxis)(s=g.xData)&&s.length&&(s=c.logarithmic?s.filter(w=>w>0):s,m=(h=g.getXExtremes(s)).min,T=h.max,e(m)||m instanceof Date||(s=s.filter(e),m=(h=g.getXExtremes(s)).min,T=h.max),s.length&&(c.dataMin=Math.min(d(c.dataMin,m),m),c.dataMax=Math.max(d(c.dataMax,T),T)));else{let w=g.applyExtremes();e(w.dataMin)&&(m=w.dataMin,c.dataMin=Math.min(d(c.dataMin,m),m)),e(w.dataMax)&&(T=w.dataMax,c.dataMax=Math.max(d(c.dataMax,T),T)),l(f)&&(c.threshold=f),(!j.softThreshold||c.positiveValuesOnly)&&(c.softThreshold=!1)}}})}),o(this,"afterGetSeriesExtremes")}translate(h,c,g,j,s,f){let m=this.linkedParent||this,T=j&&m.old?m.old.min:m.min;if(!e(T))return NaN;let w=m.minPixelPadding,N=(m.isOrdinal||m.brokenAxis?.hasBreaks||m.logarithmic&&s)&&m.lin2val,W=1,V=0,Q=j&&m.old?m.old.transA:m.transA,lt=0;return Q||(Q=m.transA),g&&(W*=-1,V=m.len),m.reversed&&(W*=-1,V-=W*(m.sector||m.len)),c?(lt=(h=h*W+V-w)/Q+T,N&&(lt=m.lin2val(lt))):(N&&(h=m.val2lin(h
1)),lt=W*(h-T)*Q+V+W*w+(e(f)?Q*f:0),m.isRadial||(lt=P(lt))),lt}toPixels(h,c){return this.translate(h,!1,!this.horiz,void 0,!0)+(c?0:this.pos)}toValue(h,c){return this.translate(h-(c?0:this.pos),!0,!this.horiz,void 0,!0)}getPlotLinePath(h){let lt,ct,B,R,H,c=this,g=c.chart,j=c.left,s=c.top,f=h.old,m=h.value,T=h.lineWidth,w=f&&g.oldChartHeight||g.chartHeight,N=f&&g.oldChartWidth||g.chartWidth,W=c.transB,V=h.translatedValue,Q=h.force;function X(et,rt,ot){return"pass"!==Q&&(et<rt||et>ot)&&(Q?et=C(et,rt,ot):H=!0),et}let tt={value:m,lineWidth:T,old:f,force:Q,acrossPanes:h.acrossPanes,translatedValue:V};return o(this,"getPlotLinePath",tt,function(et){lt=B=(V=C(V=d(V,c.translate(m,void 0,void 0,f)),-1e9,1e9))+W,ct=R=w-V-W,e(V)?c.horiz?(ct=s,R=w-c.bottom+(c.options.isInternal?0:g.scrollablePixelsY||0),lt=B=X(lt,j,j+c.width)):(lt=j,B=N-c.right+(g.scrollablePixelsX||0),ct=R=X(ct,s,s+c.height)):(H=!0,Q=!1),et.path=H&&!Q?void 0:g.renderer.crispLine([["M",lt,ct],["L",B,R]],T||1)}),tt.path}getLinearTickPositions(h,c,g){let j,s,f,m=P(Math.floor(c/h)*h),T=P(Math.ceil(g/h)*h),w=[];if(P(m+h)===m&&(f=20),this.single)return[c];for(j=m;j<=T&&(w.push(j),(j=P(j+h,f))!==s);)s=j;return w}getMinorTickInterval(){let{minorTicks:h,minorTickInterval:c}=this.options;return!0===h?d(c,"auto"):!1!==h?c:void 0}getMinorTickPositions(){let w,h=this.options,c=this.tickPositions,g=this.minorTickInterval,j=this.pointRangePadding||0,s=(this.min||0)-j,f=(this.max||0)+j,m=f-s,T=[];if(m&&m/g<this.len/3){let N=this.logarithmic;if(N)this.paddedTicks.forEach(function(W,V,Q){V&&T.push.apply(T,N.getLogTickPositions(g,Q[V-1],Q[V],!0))});else if(this.dateTime&&"auto"===this.getMinorTickInterval())T=T.concat(this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(g),s,f,h.startOfWeek));else for(w=s+(c[0]-s)%g;w<=f&&w!==T[0];w+=g)T.push(w)}return 0!==T.length&&this.trimTicks(T),T}adjustForMinRange(){let f,m,T,w,h=this.options,c=this.logarithmic,{max:g,min:j,minRange:s}=this;this.isXAxis&&void 0===s&&!c&&(s=l(h.min)||l(h.max)||l(h.floor)||l(h.ceiling)?null:Math.min(5*(p(this.series.map(N=>(N.xIncrement?N.xData?.slice(0,2):N.xData)||[]))||0),this.dataMax-this.dataMin)),e(g)&&e(j)&&e(s)&&g-j<s&&(m=this.dataMax-this.dataMin>=s,f=(s-g+j)/2,T=[j-f,d(h.min,j-f)],m&&(T[2]=c?c.log2lin(this.dataMin):this.dataMin),w=[(j=u(T))+s,d(h.max,j+s)],m&&(w[2]=c?c.log2lin(this.dataMax):this.dataMax),(g=b(w))-j<s&&(T[0]=g-s,T[1]=d(h.min,g-s),j=u(T))),this.minRange=s,this.min=j,this.max=g}getClosest(){let h,c;if(this.categories)c=1;else{let g=[];this.series.forEach(function(j){let s=j.closestPointRange;1===j.xData?.length?g.push(j.xData[0]):!j.noSharedTooltip&&l(s)&&j.reserveSpace()&&(c=l(c)?Math.min(c,s):s)}),g.length&&(g.sort((j,s)=>j-s),h=p([g]))}return h&&c?Math.min(h,c):h||c}nameToX(h){let s,c=i(this.options.categories),g=c?this.categories:this.names,j=h.options.x;return h.series.requireSorting=!1,l(j)||(j=this.uniqueNames&&g?c?g.indexOf(h.name):d(g.keys[h.name],-1):h.series.autoIncrement()),-1===j?!c&&g&&(s=g.length):s=j,void 0!==s?(this.names[s]=h.name,this.names.keys[h.name]=s):h.x&&(s=h.x),s}updateNames(){let h=this,c=this.names;c.length>0&&(Object.keys(c.keys).forEach(function(g){delete c.keys[g]}),c.length=0,this.minRange=this.userMinRange,(this.series||[]).forEach(g=>{g.xIncrement=null,(!g.points||g.isDirtyData)&&(h.max=Math.max(h.max,g.xData.length-1),g.processData(),g.generatePoints()),g.data.forEach(function(j,s){let f;j?.options&&void 0!==j.name&&void 0!==(f=h.nameToX(j))&&f!==j.x&&(j.x=f,g.xData[s]=f)})}))}setAxisTranslation(){let m,N,h=this,c=h.max-h.min,g=h.linkedParent,j=!!h.categories,s=h.isXAxis,f=h.axisPointRange||0,T=0,w=0,W=h.transA;(s||j||f)&&(m=h.getClosest(),g?(T=g.minPointOffset,w=g.pointRangePadding):h.series.forEach(function(V){let Q=j?1:s?d(V.options.pointRange,m,0):h.axisPointRange||0,lt=V.options.pointPlacement;if(f=Math.max(f,Q),!h.single||j){let ct=V.is("xrange")?!s:s;T=Math.max(T,ct&&r(lt)?0:Q/2),w=Math.max(w,ct&&"on"===lt?0:Q)}}),N=h.ordinal&&h.ordinal.slope&&m?h.ordinal.slope/m:1,h.minPointOffset=T*=N,h.pointRangePadding=w*=N,h.pointRange=Math.min(f,h.single&&j?1:c),s&&m&&(h.closestPointRange=m)),h.translationSlope=h.transA=W=h.staticScale||h.len/(c+w||1),h.transB=h.horiz?h.left:h.bottom,h.minPixelPadding=W*T,o(this,"afterSetAxisTranslation")}minFromRange(){let{max:h,min:c}=this;return e(h)&&e(c)&&h-c||void 0}setTickInterval(h){let ot,ft,xt,yt,bt,{categories:c,chart:g,dataMax:j,dataMin:s,dateTime:f,isXAxis:m,logarithmic:T,options:w,softThreshold:N}=this,W=e(this.threshold)?this.threshold:void 0,V=this.minRange||0,{ceiling:Q,floor:lt,linkedTo:ct,softMax:B,softMin:R}=w,H=e(ct)&&g[this.coll]?.[ct],X=w.tickPixelInterval,tt=w.maxPadding,et=w.minPadding,rt=0,ut=e(w.tickInterval)&&w.tickInterval>=0?w.tickInterval:void 0;if(f||c||H||this.getTickAmount(),yt=d(this.userMin,w.min),bt=d(this.userMax,w.max),H?(this.linkedParent=H,ot=H.getExtremes(),this.min=d(ot.min,ot.dataMin),this.max=d(ot.max,ot.dataMax),this.type!==H.type&&_(11,!0,g)):(N&&l(W)&&e(j)&&e(s)&&(s>=W?(ft=W,et=0):j<=W&&(xt=W,tt=0)),this.min=d(yt,ft,s),this.max=d(bt,xt,j)),e(this.max)&&e(this.min)&&(T&&(this.positiveValuesOnly&&!h&&0>=Math.min(this.min,d(s,this.min))&&_(10,!0,g),this.min=P(T.log2lin(this.min),16),this.max=P(T.log2lin(this.max),16)),this.range&&e(s)&&(this.userMin=this.min=yt=Math.max(s,this.minFromRange()||0),this.userMax=bt=this.max,this.range=void 0)),o(this,"foundExtremes"),this.adjustForMinRange(),e(this.min)&&e(this.max)){if(!e(this.userMin)&&e(R)&&R<this.min&&(this.min=yt=R),!e(this.userMax)&&e(B)&&B>this.max&&(this.max=bt=B),c||this.axisPointRange||this.stacking?.usePercentage||H||!(rt=this.max-this.min)||(!l(yt)&&et&&(this.min-=rt*et),l(bt)||!tt||(this.max+=rt*tt)),!e(this.userMin)&&e(lt)&&(this.min=Math.max(this.min,lt)),!e(this.userMax)&&e(Q)&&(this.max=Math.min(this.max,Q)),N&&e(s)&&e(j)){let Mt=W||0;!l(yt)&&this.min<Mt&&s>=Mt?this.min=w.minRange?Math.min(Mt,this.max-V):Mt:!l(bt)&&this.max>Mt&&j<=Mt&&(this.max=w.minRange?Math.max(Mt,this.min+V):Mt)}!g.polar&&this.min>this.max&&(l(w.min)?this.max=this.min:l(w.max)&&(this.min=this.max)),rt=this.max-this.min}if(this.tickInterval=this.min!==this.max&&e(this.min)&&e(this.max)?H&&!ut&&X===H.options.tickPixelInterval?ut=H.tickInterval:d(ut,this.tickAmount?rt/Math.max(this.tickAmount-1,1):void 0,c?1:rt*X/Math.max(this.len,X)):1,m&&!h){let Mt=this.min!==this.old?.min||this.max!==this.old?.max;
vendor: 4,594 bytes, line 1
1this.series.forEach(function(vt){vt.forceCrop=vt.forceCropping?.(),vt.processData(Mt)}),o(this,"postProcessData",{hasExtremesChanged:Mt})}this.setAxisTranslation(),o(this,"initialAxisTranslation"),this.pointRange&&!ut&&(this.tickInterval=Math.max(this.pointRange,this.tickInterval));let wt=d(w.minTickInterval,f&&!this.series.some(Mt=>Mt.noSharedTooltip)?this.closestPointRange:0);!ut&&this.tickInterval<wt&&(this.tickInterval=wt),f||T||ut||(this.tickInterval=G(this,this.tickInterval)),this.tickAmount||(this.tickInterval=this.unsquish()),this.setTickPositions()}setTickPositions(){let w,h=this.options,c=h.tickPositions,g=h.tickPositioner,j=this.getMinorTickInterval(),s=!this.isPanning,f=s&&h.startOnTick,m=s&&h.endOnTick,T=[];if(this.tickmarkOffset=this.categories&&"between"===h.tickmarkPlacement&&1===this.tickInterval?.5:0,this.single=this.min===this.max&&l(this.min)&&!this.tickAmount&&(this.min%1==0||!1!==h.allowDecimals),c)T=c.slice();else if(e(this.min)&&e(this.max)){if(!this.ordinal?.positions&&(this.max-this.min)/this.tickInterval>Math.max(2*this.len,200))T=[this.min,this.max],_(19,!1,this.chart);else if(this.dateTime)T=this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(this.tickInterval,h.units),this.min,this.max,h.startOfWeek,this.ordinal?.positions,this.closestPointRange,!0);else if(this.logarithmic)T=this.logarithmic.getLogTickPositions(this.tickInterval,this.min,this.max);else{let N=this.tickInterval,W=N;for(;W<=2*N&&(T=this.getLinearTickPositions(this.tickInterval,this.min,this.max),this.tickAmount&&T.length>this.tickAmount);)this.tickInterval=G(this,W*=1.1)}T.length>this.len&&(T=[T[0],T[T.length-1]])[0]===T[1]&&(T.length=1),g&&(this.tickPositions=T,(w=g.apply(this,[this.min,this.max]))&&(T=w))}this.tickPositions=T,this.minorTickInterval="auto"===j&&this.tickInterval?this.tickInterval/h.minorTicksPerMajor:j,this.paddedTicks=T.slice(0),this.trimTicks(T,f,m),!this.isLinked&&e(this.min)&&e(this.max)&&(this.single&&T.length<2&&!this.categories&&!this.series.some(N=>N.is("heatmap")&&"between"===N.options.pointPlacement)&&(this.min-=.5,this.max+=.5),c||w||this.adjustTickAmount()),o(this,"afterSetTickPositions")}trimTicks(h,c,g){let j=h[0],s=h[h.length-1],f=!this.isOrdinal&&this.minPointOffset||0;if(o(this,"trimTicks"),!this.isLinked){if(c&&j!==-1/0)this.min=j;else for(;this.min-f>h[0];)h.shift();if(g)this.max=s;else for(;this.max+f<h[h.length-1];)h.pop();0===h.length&&l(j)&&!this.options.tickPositions&&h.push((s+j)/2)}}alignToOthers(){let h,c=this,g=c.chart,j=[this],s=c.options,f=g.options.chart,m="yAxis"===this.coll&&f.alignThresholds,T=[];if(c.thresholdAlignment=void 0,(!1!==f.alignTicks&&s.alignTicks||m)&&!1!==s.startOnTick&&!1!==s.endOnTick&&!c.logarithmic){let w=W=>{let{horiz:V,options:Q}=W;return[V?Q.left:Q.top,Q.width,Q.height,Q.pane].join(",")},N=w(this);g[this.coll].forEach(function(W){let{series:V}=W;V.length&&V.some(Q=>Q.visible)&&W!==c&&w(W)===N&&(h=!0,j.push(W))})}if(h&&m){j.forEach(N=>{let W=N.getThresholdAlignment(c);e(W)&&T.push(W)});let w=T.length>1?T.reduce((N,W)=>N+W,0)/T.length:void 0;j.forEach(N=>{N.thresholdAlignment=w})}return h}getThresholdAlignment(h){if((!e(this.dataMin)||this!==h&&this.series.some(c=>c.isDirty||c.isDirtyData))&&this.getSeriesExtremes(),e(this.threshold)){let c=C((this.threshold-(this.dataMin||0))/((this.dataMax||0)-(this.dataMin||0)),0,1);return this.options.reversed&&(c=1-c),c}}getTickAmount(){let h=this.options,c=h.tickPixelInterval,g=h.tickAmount;l(h.tickInterval)||g||!(this.len<c)||this.isRadial||this.logarithmic||!h.startOnTick||!h.endOnTick||(g=2),!g&&this.alignToOthers()&&(g=Math.ceil(this.len/c)+1),g<4&&(this.finalTickAmt=g,g=5),this.tickAmount=g}adjustTickAmount(){let W,V,lt,h=this,{finalTickAmt:c,max:g,min:j,options:s,tickPositions:f,tickAmount:m,thresholdAlignment:T}=h,w=f?.length,N=d(h.threshold,h.softThreshold?0:null),Q=h.tickInterval,ct=()=>f.push(P(f[f.length-1]+Q)),B=()=>f.unshift(P(f[0]-Q));if(e(T)&&(lt=T<.5?Math.ceil(T*(m-1)):Math.floor(T*(m-1)),s.reversed&&(lt=m-1-lt)),h.hasData()&&e(j)&&e(g)){let R=()=>{h.transA*=(w-1)/(m-1),h.min=s.startOnTick?f[0]:Math.min(j,f[0]),h.max=s.endOnTick?f[f.length-1]:Math.max(g,f[f.length-1])};if(e(lt)&&e(h.threshold)){for(;f[lt]!==N||f.length!==m||f[0]>j||f[f.length-1]<g;){for(f.length=0,f.push(h.threshold);f.length<m;)void 0===f[lt]||f[lt]>h.threshold?B():ct();if(Q>8*h.tickInterval)break;Q*=2}R()}else if(w<m){for(;f.length<m;)f.length%2||j===N?ct():B();R()}if(l(c)){for(V=W=f.length;V--;)(3===c&&V%2==1||c<=2&&V>0&&V<W-1)&&f.splice(V,1);h.finalTickAmt=void 0}}}setScale(){let{coll:h,stacking:c}=this,g=!1,j=!1;
1this.series.forEach(f=>{g=g||f.isDirtyData||f.isDirty,j=j||f.xAxis&&f.xAxis.isDirty||!1}),this.setAxisSize();let s=this.len!==(this.old&&this.old.len);s||g||j||this.isLinked||this.forceRedraw||this.userMin!==(this.old&&this.old.userMin)||this.userMax!==(this.old&&this.old.userMax)||this.alignToOthers()?(c&&"yAxis"===h&&c.buildStacks(),this.forceRedraw=!1,this.userMinRange||(this.minRange=void 0),this.getSeriesExtremes(),this.setTickInterval(),c&&"xAxis"===h&&c.buildStacks(),this.isDirty||(this.isDirty=s||this.min!==this.old?.min||this.max!==this.old?.max)):c&&c.cleanStacks(),g&&delete this.allExtremes,o(this,"afterSetScale")}setExtremes(h,c,g=!0,j,s){this.series.forEach(f=>{delete f.kdTree}),o(this,"setExtremes",s=S(s,{min:h,max:c}),f=>{this.userMin=f.min,this.userMax=f.max,this.eventArgs=f,g&&this.chart.redraw(j)})}setAxisSize(){let h=this.chart,c=this.options,g=c.offsets||[0,0,0,0],j=this.horiz,s=this.width=Math.round(O(d(c.width,h.plotWidth-g[3]+g[1]),h.plotWidth)),f=this.height=Math.round(O(d(c.height,h.plotHeight-g[0]+g[2]),h.plotHeight)),m=this.top=Math.round(O(d(c.top,h.plotTop+g[0]),h.plotHeight,h.plotTop)),T=this.left=Math.round(O(d(c.left,h.plotLeft+g[3]),h.plotWidth,h.plotLeft));this.bottom=h.chartHeight-f-m,this.right=h.chartWidth-s-T,this.len=Math.max(j?s:f,0),this.pos=j?T:m}getExtremes(){let h=this.logarithmic;return{min:h?P(h.lin2log(this.min)):this.min,max:h?P(h.lin2log(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}}getThreshold(h){let c=this.logarithmic,g=c?c.lin2log(this.min):this.min,j=c?c.lin2log(this.max):this.max;return null===h||h===-1/0?h=g:h===1/0?h=j:g>h?h=g:j<h&&(h=j),this.translate(h,0,1,0,1)}autoLabelAlign(h){let c=(d(h,0)-90*this.side+720)%360,g={align:"center"};return o(this,"autoLabelAlign",g,function(j){c>15&&c<165?j.align="right":c>195&&c<345&&(j.align="left")}),g.align}tickSize(h){let s,c=this.options,g=d(c["tick"===h?"tickWidth":"minorTickWidth"],"tick"===h&&this.isXAxis&&!this.categories?1:0),j=c["tick"===h?"tickLength":"minorTickLength"];g&&j&&("inside"===c[h+"Position"]&&(j=-j),s=[j,g]);let f={tickSize:s};return o(this,"afterTickSize",f),f.tickSize}labelMetrics(){let h=this.chart.renderer,c=this.ticks,g=c[Object.keys(c)[0]]||{};return this.chart.renderer.fontMetrics(g.label||g.movedLabel||h.box)}unsquish(){let W,Q,h=this.options.labels,c=h.padding||0,g=this.horiz,j=this.tickInterval,s=this.len/(((this.categories?1:0)+this.max-this.min)/j),f=h.rotation,m=P(.8*this.labelMetrics().h),T=Math.max(this.max-this.min,0),w=function(lt){let ct=(lt+2*c)/(s||1);return(ct=ct>1?Math.ceil(ct):1)*j>T&<!==1/0&&s!==1/0&&T&&(ct=Math.ceil(T/j)),P(ct*j)},N=j,V=Number.MAX_VALUE;if(g){if(!h.staggerLines&&(e(f)?Q=[f]:s<h.autoRotationLimit&&(Q=h.autoRotation)),Q){let lt,ct;for(let B of Q)(B===f||B&&B>=-90&&B<=90)&&(ct=(lt=w(Math.abs(m/Math.sin(D*B))))+Math.abs(B/360))<V&&(V=ct,W
1=B,N=lt)}}else N=w(.75*m);return this.autoRotation=Q,this.labelRotation=d(W,e(f)?f:0),h.step?j:N}getSlotWidth(h){let c=this.chart,g=this.horiz,j=this.options.labels,s=Math.max(this.tickPositions.length-(this.categories?0:1),1),f=c.margin[3];if(h&&e(h.slotWidth))return h.slotWidth;if(g&&j.step<2)return j.rotation?0:(this.staggerLines||1)*this.len/s;if(!g){let m=j.style.width;if(void 0!==m)return parseInt(String(m),10);if(f)return f-c.spacing[3]}return.33*c.chartWidth}renderUnsquish(){let Q,lt,B,R,h=this.chart,c=h.renderer,g=this.tickPositions,j=this.ticks,s=this.options.labels,f=s.style,m=this.horiz,T=this.getSlotWidth(),w=Math.max(1,Math.round(T-(m?2*(s.padding||0):s.distance||0))),N={},W=this.labelMetrics(),V=f.textOverflow,ct=0;if(r(s.rotation)||(N.rotation=s.rotation||0),g.forEach(function(H){let X=j[H];X.movedLabel&&X.replaceMovedLabel(),X&&X.label&&X.label.textPxLength>ct&&(ct=X.label.textPxLength)}),this.maxLabelLength=ct,this.autoRotation)ct>w&&ct>W.h?N.rotation=this.labelRotation:this.labelRotation=0;else if(T&&(Q=w,!V))for(lt="clip",R=g.length;!m&&R--;)(B=j[g[R]].label)&&("ellipsis"===B.styles.textOverflow?B.css({textOverflow:"clip"}):B.textPxLength>T&&B.css({width:T+"px"}),B.getBBox().height>this.len/g.length-(W.h-W.f)&&(B.specificTextOverflow="ellipsis"));N.rotation&&(Q=ct>.5*h.chartHeight?.33*h.chartHeight:ct,V||(lt="ellipsis")),this.labelAlign=s.align||this.autoLabelAlign(this.labelRotation),this.labelAlign&&(N.align=this.labelAlign),g.forEach(function(H){let X=j[H],tt=X&&X.label,et=f.width,rt={};tt&&(tt.attr(N),X.shortenLabel?X.shortenLabel():Q&&!et&&"nowrap"!==f.whiteSpace&&(Q<tt.textPxLength||"SPAN"===tt.element.tagName)?(rt.width=Q+"px",V||(rt.textOverflow=tt.specificTextOverflow||lt),tt.css(rt)):!tt.styles.width||rt.width||et||tt.css({width:null}),delete tt.specificTextOverflow,X.rotation=N.rotation)},this),this.tickRotCorr=c.rotCorr(W.b,this.labelRotation||0,0!==this.side)}hasData(){return this.series.some(function(h){return h.hasData()})||this.options.showEmpty&&l(this.min)&&l(this.max)}addTitle(h){let c,s=this.opposite,f=this.options.title,m=this.chart.styledMode;this.axisTitle||((c=f.textAlign)||(c=(this.horiz?{low:"left",middle:"center",high:"right"}:{low:s?"right":"left",middle:"center",high:s?"left":"right"})[f.align]),this.axisTitle=this.chart.renderer.text(f.text||"",0,0,f.useHTML).attr({zIndex:7,rotation:f.rotation||0,align:c}).addClass("highcharts-axis-title"),m||this.axisTitle.css(a(f.style)),this.axisTitle.add(this.axisGroup),this.axisTitle.isNew=!0),m||f.style.width||this.isRadial||this.axisTitle.css({width:this.len+"px"}),this.axisTitle[h?"show":"hide"](h)}generateTick(h){let c=this.ticks;c[h]?c[h].addLabel():c[h]=new dt(this,h)}createGroups(){let{axisParent:h,chart:c,coll:g,options:j}=this,s=c.renderer,f=(m,T,w)=>s.g(m).attr({zIndex:w}).addClass(`highcharts-${g.toLowerCase()}${T} `+(this.isRadial?`highcharts-radial-axis${T} `:"")+(j.className||"")).add(h);this.axisGroup||(this.gridGroup=f("grid","-grid",j.gridZIndex),this.axisGroup=f("axis","",j.zIndex),this.labelGroup=f("axis-labels","-labels",j.labels.zIndex))}getOffset(){let R,X,rt,ot,h=this,{chart:c,horiz:g,options:j,side:s,ticks:f,tickPositions:m,coll:T}=h,w=c.inverted&&!h.isZAxis?[1,0,3,2][s]:s,N=h.hasData(),W=j.title,V=j.labels,Q=e(j.crossing),lt=c.axisOffset,ct=c.clipOffset,B=[-1,1,1,-1][s],H=0,tt=0,et=0;if(h.showAxis=R=N||j.showEmpty,h.staggerLines=h.horiz&&V.staggerLines||void 0,h.createGroups(),N||h.isLinked?(m.forEach(function(ut){h.generateTick(ut)}),h.renderUnsquish(),h.reserveSpaceDefault=0===s||2===s||{1:"left",3:"right"}[s]===h.labelAlign,d(V.reserveSpace,!Q&&null,"center"===h.labelAlign||null,h.reserveSpaceDefault)&&m.forEach(function(ut){et=Math.max(f[ut].getLabelSize(),et)}),h.staggerLines&&(et*=h.staggerLines),h.labelOffset=et*(h.opposite?-1:1)):v(f,function(ut,ft){ut.destroy(),delete f[ft]}),W?.text&&!1!==W.enabled&&(h.addTitle(R),R&&!Q&&!1!==W.reserveSpace&&(h.titleOffset=H=h.axisTitle.getBBox()[g?"height":"width"],tt=l(X=W.offset)?0:d(W.margin,g?5:10))),h.renderLine(),h.offset=B*d(j.offset,lt[s]?lt[s]+(j.margin||0):0),h.tickRotCorr=h.tickRotCorr||{x:0,y:0},ot=0===s?-h.labelMetrics().h:2===s?h.tickRotCorr.y:0,rt=Math.abs(et)+tt,et&&(rt-=ot,rt+=B*(g?d(V.y,h.tickRotCorr.y+B*V.distance):d(V.x,B*V.distance))),h.axisTitleMargin=d(X,rt),h.getMaxLabelDimensions&&(h.maxLabelDimensions=h.getMaxLabelDimensions(f,m)),"colorAxis"!==T&&ct){let ut=this.tickSize("tick");lt[s]=Math.max(lt[s],(h.axisTitleMargin||0)+H+B*h.offset,rt,m&&m.length&&ut?ut[0]+B*h.offset:0);let ft=!h.axisLine||j.offset?0:h.axisLine.strokeWidth()/2;ct[w]=Math.max(ct[w],ft)}o(this,"afterGetOffset")}getLinePath(h){let c=this.chart,g=this.opposite,j=this.offset,s=this.horiz,f=this.left+(g?this.width:0)+j,m=c.chartHe
vendor: 5,131 bytes, line 1
1ight-this.bottom-(g?this.height:0)+j;return g&&(h*=-1),c.renderer.crispLine([["M",s?this.left:f,s?m:this.top],["L",s?c.chartWidth-this.right:f,s?m:c.chartHeight-this.bottom]],h)}renderLine(){this.axisLine||(this.axisLine=this.chart.renderer.path().addClass("highcharts-axis-line").add(this.axisGroup),this.chart.styledMode||this.axisLine.attr({stroke:this.options.lineColor,"stroke-width":this.options.lineWidth,zIndex:7}))}getTitlePosition(h){let c=this.horiz,g=this.left,j=this.top,s=this.len,f=this.options.title,m=c?g:j,T=this.opposite,w=this.offset,N=f.x,W=f.y,V=this.chart.renderer.fontMetrics(h),Q=h?Math.max(h.getBBox(!1,0).height-V.h-1,0):0,lt={low:m+(c?0:s),middle:m+s/2,high:m+(c?s:0)}[f.align],ct=(c?j+this.height:g)+(c?1:-1)*(T?-1:1)*(this.axisTitleMargin||0)+[-Q,Q,V.f,-Q][this.side],B={x:c?lt+N:ct+(T?this.width:0)+w+N,y:c?ct+W-(T?this.height:0)+w:lt+W};return o(this,"afterGetTitlePosition",{titlePosition:B}),B}renderMinorTick(h,c){let g=this.minorTicks;g[h]||(g[h]=new dt(this,h,"minor")),c&&g[h].isNew&&g[h].render(null,!0),g[h].render(null,!1,1)}renderTick(h,c,g){let s=this.ticks;(!this.isLinked||h>=this.min&&h<=this.max||this.grid&&this.grid.isColumn)&&(s[h]||(s[h]=new dt(this,h)),g&&s[h].isNew&&s[h].render(c,!0,-1),s[h].render(c))}render(){let h,c,g=this,j=g.chart,s=g.logarithmic,m=g.options,T=g.isLinked,w=g.tickPositions,N=g.axisTitle,W=g.ticks,V=g.minorTicks,Q=g.alternateBands,lt=m.stackLabels,ct=m.alternateGridColor,B=m.crossing,R=g.tickmarkOffset,H=g.axisLine,X=g.showAxis,tt=Z(j.renderer.globalAnimation);if(g.labelEdge.length=0,g.overlap=!1,[W,V,Q].forEach(function(et){v(et,function(rt){rt.isActive=!1})}),e(B)){let et=this.isXAxis?j.yAxis[0]:j.xAxis[0],rt=[1,-1,-1,1][this.side];if(et){let ot=et.toPixels(B,!0);g.horiz&&(ot=et.len-ot),g.offset=rt*ot}}if(g.hasData()||T){let et=g.chart.hasRendered&&g.old&&e(g.old.min);g.minorTickInterval&&!g.categories&&g.getMinorTickPositions().forEach(function(rt){g.renderMinorTick(rt,et)}),w.length&&(w.forEach(function(rt,ot){g.renderTick(rt,ot,et)}),R&&(0===g.min||g.single)&&(W[-1]||(W[-1]=new dt(g,-1,null,!0)),W[-1].render(-1))),ct&&w.forEach(function(rt,ot){c=void 0!==w[ot+1]?w[ot+1]+R:g.max-R,ot%2==0&&rt<g.max&&c<=g.max+(j.polar?-R:R)&&(Q[rt]||(Q[rt]=new ht.PlotLineOrBand(g,{})),h=rt+R,Q[rt].options={from:s?s.lin2log(h):h,to:s?s.lin2log(c):c,color:ct,className:"highcharts-alternate-grid"},Q[rt].render(),Q[rt].isActive=!0)}),g._addedPlotLB||(g._addedPlotLB=!0,(m.plotLines||[]).concat(m.plotBands||[]).forEach(function(rt){g.addPlotBandOrLine(rt)}))}[W,V,Q].forEach(function(et){let rt=[],ot=tt.duration;v(et,function(ut,ft){ut.isActive||(ut.render(ft,!1,0),ut.isActive=!1,rt.push(ft))}),E(function(){let ut=rt.length;for(;ut--;)et[rt[ut]]&&!et[rt[ut]].isActive&&(et[rt[ut]].destroy(),delete et[rt[ut]])},et!==Q&&j.hasRendered&&ot?ot:0)}),H&&(H[H.isPlaced?"animate":"attr"]({d:this.getLinePath(H.strokeWidth())}),H.isPlaced=!0,H[X?"show":"hide"](X)),N&&X&&(N[N.isNew?"attr":"animate"](g.getTitlePosition(N)),N.isNew=!1),lt&<.enabled&&g.stacking&&g.stacking.renderStackTotals(),g.old={len:g.len,max:g.max,min:g.min,transA:g.transA,userMax:g.userMax,userMin:g.userMin},g.isDirty=!1,o(this,"afterRender")}redraw(){this.visible&&(this.render(),this.plotLinesAndBands.forEach(function(h){h.render()})),this.series.forEach(function(h){h.isDirty=!0})}getKeepProps(){return this.keepProps||z.keepProps}destroy(h){let c=this,g=c.plotLinesAndBands,j=this.eventOptions;if(o(this,"destroy",{keepEvents:h}),h||$(c),[c.ticks,c.minorTicks,c.alternateBands].forEach(function(s){M(s)}),g){let s=g.length;for(;s--;)g[s].destroy()}for(let s in["axisLine","axisTitle","axisGroup","gridGroup","labelGroup","cross","scrollbar"].forEach(function(f){c[f]&&(c[f]=c[f].destroy())}),c.plotLinesAndBandsGroups)c.plotLinesAndBandsGroups[s]=c.plotLinesAndBandsGroups[s].destroy();v(c,function(s,f){-1===c.getKeepProps().indexOf(f)&&delete c[f]}),this.eventOptions=j}drawCrosshair(h,c){let f,m,T,N,g=this.crosshair,j=d(g&&g.snap,!0),s=this.chart,w=this.cross;if(o(this,"drawCrosshair",{e:h,point:c}),h||(h=this.cross&&this.cross.e),g&&!1!==(l(c)||!j)){if(j?l(c)&&(m=d("colorAxis"!==this.coll?c.crosshairPos:null,this.isXAxis?c.plotX:this.len-c.plotY)):m=h&&(this.horiz?h.chartX-this.pos:this.len-h.chartY+this.pos),l(m)&&(N={value:c&&(this.isXAxis?c.x:d(c.stackY,c.y)),translatedValue:m},s.polar&&S(N,{isCrosshair:!0,chartX:h&&h.chartX,chartY:h&&h.chartY,point:c}),f=this.getPlotLinePath(N)||null),!l(f))return void this.hideCrosshair();T=this.categories&&!this.isRadial,w||(this.cross=w=s.renderer.path().addClass("highcharts-crosshair highcharts-crosshair-"+(T?"category ":"thin ")+(g.className||"")).attr({zIndex:d(g.zIndex,2)}).add(),!s.styledMode&&(w.attr({stroke:g.color||(T?gt.parse("#ccd3ff").setOpacity(.25).get():"#cccccc"),"stroke-width":d(g.width,1)}).css({"pointer-events":"none"}),g.dashStyle&&w.attr({dashstyle:g.dashStyle}))),w.show().attr({d:f}),T&&!g.width&&w.attr({"stroke-width":this.transA}),this.cross.e=h}else this.hideCrosshair();o(this,"afterDrawCrosshair",{e:h,point:c})}hideCrosshair(){this.cross&&this.cross.hide(),o(this,"afterHideCrosshair")}
1update(h,c){let g=this.chart;h=a(this.userOptions,h),this.destroy(!0),this.init(g,h),g.isDirtyBox=!0,d(c,!0)&&g.redraw()}remove(h){let c=this.chart,g=this.coll,j=this.series,s=j.length;for(;s--;)j[s]&&j[s].remove(!1);F(c.axes,this),F(c[g]||[],this),c.orderItems(g),this.destroy(),c.isDirtyBox=!0,d(h,!0)&&c.redraw()}setTitle(h,c){this.update({title:h},c)}setCategories(h,c){this.update({categories:h},c)}}return z.keepProps=["coll","extKey","hcEvents","len","names","series","userMax","userMin"],z}),St(Y,"Core/Axis/DateTimeAxis.js",[Y["Core/Utilities.js"]],function(st){var nt;let{addEvent:gt,getMagnitude:mt,normalizeTickInterval:pt,timeUnits:ht}=st;return function(dt){function J(){return this.chart.time.getTimeTicks.apply(this.chart.time,arguments)}function Z(){"datetime"===this.type?this.dateTime||(this.dateTime=new K(this)):this.dateTime=void 0}dt.compose=function(k){return k.keepProps.includes("dateTime")||(k.keepProps.push("dateTime"),k.prototype.getTimeTicks=J,gt(k,"afterSetType",Z)),k};class K{constructor(L){this.axis=L}normalizeTimeTickInterval(L,I){let P,D=I||[["millisecond",[1,2,5,10,20,25,50,100,200,500]],["second",[1,2,5,10,15,30]],["minute",[1,2,5,10,15,30]],["hour",[1,2,3,4,6,8,12]],["day",[1,2]],["week",[1,2]],["month",[1,2,3,4,6]],["year",null]],u=D[D.length-1],b=ht[u[0]],C=u[1];for(P=0;P<D.length&&(b=ht[(u=D[P])[0]],C=u[1],!(D[P+1]&&L<=(b*C[C.length-1]+ht[D[P+1][0]])/2));P++);return b===ht.year&&L<5*b&&(C=[1,2,5]),{unitRange:b,count:pt(L/b,C,"year"===u[0]?Math.max(mt(L/b),1):1),unitName:u[0]}}getXDateFormat(L,I){let{axis:D}=this,u=D.chart.time;return D.closestPointRange?u.getDateFormat(D.closestPointRange,L,D.options.startOfWeek,I)||u.resolveDTLFormat(I.year).main:u.resolveDTLFormat(I.day).main}}dt.Additions=K}(nt||(nt={})),nt}),St(Y,"Core/Axis/LogarithmicAxis.js",[Y["Core/Utilities.js"]],function(st){var nt;let{addEvent:gt,normalizeTickInterval:mt,pick:pt}=st;return function(ht){function dt(){"logarithmic"!==this.type?this.logarithmic=void 0:this.logarithmic??(this.logarithmic=new Z(this))}function J(){let K=this.logarithmic;K&&(this.lin2val=function(k){return K.lin2log(k)},this.val2lin=function(k){return K.log2lin(k)})}ht.compose=function(K){return K.keepProps.includes("logarithmic")||(K.keepProps.push("logarithmic"),gt(K,"afterSetType",dt),gt(K,"afterInit",J)),K};class Z{constructor(k){this.axis=k}getLogTickPositions(k,L,I,D){let u=this.axis,b=u.len,C=u.options,P=[];if(D||(this.minorAutoInterval=void 0),k>=.5)k=Math.round(k),P=u.getLinearTickPositions(k,L,I);else if(k>=.08){let l,M,F,_,S,o,p;for(l=k>.3?[1,2,4]:k>.15?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9],M=Math.floor(L);M<I+1&&!p;M++)for(F=0,_=l.length;F<_&&!p;F++)(S=this.log2lin(this.lin2log(M)*l[F]))>L&&(!D||o<=I)&&void 0!==o&&P.push(o),o>I&&(p=!0),o=S}else{let l=this.lin2log(L),M=this.lin2log(I),F=D?u.getMinorTickInterval():C.tickInterval;k=mt(k=pt("auto"===F?null:F,this.minorAutoInterval,C.tickPixelInterval/(D?5:1)*(M-l)/((D?b/u.tickPositions.length:b)||1))),P=u.getLinearTickPositions(k,l,M).map(this.log2lin),D||(this.minorAutoInterval=k/5)}return D||(u.tickInterval=k),P}lin2log(k){return Math.pow(10,k)}log2lin(k){return Math.log(k)/Math.LN10}}ht.Additions=Z}(nt||(nt={})),nt}),St(Y,"Core/Axis/PlotLineOrBand/PlotLineOrBandAxis.js",[Y["Core/Utilities.js"]],function(st){var nt;let{erase:gt,extend:mt,isNumber:pt}=st;return function(ht){let dt;function J(u){return this.addPlotBandOrLine(u,"plotBands")}function Z(u,b){let C=this.userOptions,P=new dt(this,u);if(this.visible&&(P=P.render()),P){if(this._addedPlotLB||(this._addedPlotLB=!0,(C.plotLines||[]).concat(C.plotBands||[]).forEach(l=>{this.addPlotBandOrLine(l)})),b){let l=C[b]||[];l.push(u),C[b]=l}this.plotLinesAndBands.push(P)}return P}function K(u){return this.addPlotBandOrLine(u,"plotLines")}function k(u,b,C){let S,p,P=this.getPlotLinePath({value:b,force:!0,acrossPanes:(C=C||this.options).acrossPanes}),l=[],M=this.horiz,F=!pt(this.min)||!pt(this.max)||u<this.min&&b<this.min||u>this.max&&b>this.max,_=this.getPlotLinePath({value:u,force:!0,acrossPanes:C.acrossPanes}),o=1;if(_&&P)for(F&&(p=_.toString()===P.toString(),o=0),S=0;S<_.length;S+=2){let n=_[S],i=_[S+1],e=P[S],r=P[S+1];("M"===n[0]||"L"===n[0])&&("M"===i[0]||"L"===i[0])&&("M"===e[0]||"L"===e[0])&&("M"===r[0]||"L"===r[0])&&(M&&e[1]===n[1]?(e[1]+=o,r[1]+=o):M||e[2]!==n[2]||(e[2]+=o,r[2]+=o),l.push(["M",n[1],n[2]],["L",
1i[1],i[2]],["L",r[1],r[2]],["L",e[1],e[2]],["Z"])),l.isFlat=p}return l}function L(u){this.removePlotBandOrLine(u)}function I(u){let b=this.plotLinesAndBands,C=this.options,P=this.userOptions;if(b){let l=b.length;for(;l--;)b[l].id===u&&b[l].destroy();[C.plotLines||[],P.plotLines||[],C.plotBands||[],P.plotBands||[]].forEach(function(M){for(l=M.length;l--;)(M[l]||{}).id===u&>(M,M[l])})}}function D(u){this.removePlotBandOrLine(u)}ht.compose=function(u,b){let C=b.prototype;return C.addPlotBand||(dt=u,mt(C,{addPlotBand:J,addPlotLine:K,addPlotBandOrLine:Z,getPlotBandPath:k,removePlotBand:L,removePlotLine:D,removePlotBandOrLine:I})),b}}(nt||(nt={})),nt}),St(Y,"Core/Axis/PlotLineOrBand/PlotLineOrBand.js",[Y["Core/Axis/PlotLineOrBand/PlotLineOrBandAxis.js"],Y["Core/Utilities.js"]],function(st,nt){let{addEvent:gt,arrayMax:mt,arrayMin:pt,defined:ht,destroyObjectProperties:dt,erase:J,fireEvent:Z,merge:K,objectEach:k,pick:L}=nt;class I{static compose(u,b){return gt(u,"afterInit",function(){this.labelCollectors.push(()=>{let C=[];for(let P of this.axes)for(let{label:l,options:M}of P.plotLinesAndBands)l&&!M?.label?.allowOverlap&&C.push(l);return C})}),st.compose(I,b)}constructor(u,b){this.axis=u,this.options=b,this.id=b.id}render(){Z(this,"render");let v,{axis:u,options:b}=this,{horiz:C,logarithmic:P}=u,{color:l,events:M,zIndex:F=0}=b,_={},S=u.chart.renderer,o=b.to,p=b.from,n=b.value,i=b.borderWidth,e=b.label,{label:r,svgElem:a}=this,y=[],d=ht(p)&&ht(o),O=ht(n),$=!a,x={class:"highcharts-plot-"+(d?"band ":"line ")+(b.className||"")},E=d?"bands":"lines";if(!u.chart.styledMode&&(O?(x.stroke=l||"#999999",x["stroke-width"]=L(b.width,1),b.dashStyle&&(x.dashstyle=b.dashStyle)):d&&(x.fill=l||"#e6e9ff",i&&(x.stroke=b.borderColor,x["stroke-width"]=i))),_.zIndex=F,E+="-"+F,(v=u.plotLinesAndBandsGroups[E])||(u.plotLinesAndBandsGroups[E]=v=S.g("plot-"+E).attr(_).add()),a||(this.svgElem=a=S.path().attr(x).add(v)),ht(n))y=u.getPlotLinePath({value:P?.log2lin(n)??n,lineWidth:a.strokeWidth(),acrossPanes:b.acrossPanes});else{if(!ht(p)||!ht(o))return;y=u.getPlotBandPath(P?.log2lin(p)??p,P?.log2lin(o)??o,b)}return!this.eventsAdded&&M&&(k(M,(G,z)=>{a?.on(z,q=>{M[z].apply(this,[q])})}),this.eventsAdded=!0),!$&&a.d||!y?.length?a&&(y?(a.show(),a.animate({d:y})):a.d&&(a.hide(),r&&(this.label=r=r.destroy()))):a.attr({d:y}),e&&(ht(e.text)||ht(e.formatter))&&y?.length&&u.width>0&&u.height>0&&!y.isFlat?(e=K({align:C&&d?"center":void 0,x:C?!d&&4:10,verticalAlign:!C&&d?"middle":void 0,y:C?d?16:10:d?6:-4,rotation:C&&!d?90:0,...d?{inside:!0}:{}},e),this.renderLabel(e,y,d,F)):r&&r.hide(),this}renderLabel(u,b,C,P){let l=this.axis,F=u.inside,_=this.label;_||(this.label=_=l.chart.renderer.text(this.getLabelText(u),0,0,u.useHTML).attr({align:u.textAlign||u.align,rotation:u.rotation,class:"highcharts-plot-"+(C?"band":"line")+"-label "+(u.className||""),zIndex:P}),l.chart.styledMode||_.css(K({fontSize:"0.8em",textOverflow:C&&!F?"":"ellipsis"},u.style)),_.add());let S=b.xBounds||[b[0][1],b[1][1],C?b[2][1]:b[0][1]],o=b.yBounds||[b[0][2],b[1][2],C?b[2][2]:b[0][2]],p=pt(S),n=pt(o),i=mt(S)-p;_.align(u,!1,{x:p,y:n,width:i,height:mt(o)-n}),(!_.alignValue||"left"===_.alignValue||ht(F))&&_.css({width:(u.style?.width||(C&&F?i:90===_.rotation?l.height-(_.alignAttr.y-l.top):(u.clip?l.width:l.chart.chartWidth)-(_.alignAttr.x-l.left)))+"px"}),_.show(!0)}getLabelText(u){return ht(u.formatter)?u.formatter.call(this):u.text}destroy(){J(this.axis.plotLinesAndBands,this),delete this.axis,dt(this)}}return I}),St(Y,"Core/Tooltip.js",[Y["Core/Animation/AnimationUtilities.js"],Y["Core/Templating.js"],Y["Core/Globals.js"],Y["Core/Renderer/RendererUtilities.js"],Y["Core/Renderer/RendererRegistry.js"],Y["Core/Utilities.js"]],function(st,nt,gt,mt,pt,ht){var dt;let{animObject:J}=st,{format:Z}=nt,{composed:K,doc:k,isSafari:L}=gt,{distribute:I}=mt,{addEvent:D,clamp:u,css:b,discardElement:C,extend:P,fireEvent:l,isArray:M,isNumber:F,isString:_,merge:S,pick:o,pushUnique:p,splat:n,syncTimeout:i}=ht;class e{constructor(a,y,v){this.allowShared=!0,this.crosshairs=[],this.distance=0,this.isHidden=!0,this.isSticky=!1,this.options={}
1,this.outside=!1,this.chart=a,this.init(a,y),this.pointer=v}bodyFormatter(a){return a.map(function(y){let v=y.series.tooltipOptions;return(v[(y.point.formatPrefix||"point")+"Formatter"]||y.point.tooltipFormatter).call(y.point,v[(y.point.formatPrefix||"point")+"Format"]||"")})}cleanSplit(a){this.chart.series.forEach(function(y){let v=y&&y.tt;v&&(!v.isActive||a?y.tt=v.destroy():v.isActive=!1)})}defaultFormatter(a){let y,v=this.points||n(this);return(y=(y=[a.tooltipFooterHeaderFormatter(v[0])]).concat(a.bodyFormatter(v))).push(a.tooltipFooterHeaderFormatter(v[0],!0)),y}destroy(){this.label&&(this.label=this.label.destroy()),this.split&&(this.cleanSplit(!0),this.tt&&(this.tt=this.tt.destroy())),this.renderer&&(this.renderer=this.renderer.destroy(),C(this.container)),ht.clearTimeout(this.hideTimer)}getAnchor(a,y){let v,{chart:d,pointer:O}=this,$=d.inverted,x=d.plotTop,E=d.plotLeft;if((a=n(a))[0].series&&a[0].series.yAxis&&!a[0].series.yAxis.options.reversedStacks&&(a=a.slice().reverse()),this.followPointer&&y)void 0===y.chartX&&(y=O.normalize(y)),v=[y.chartX-E,y.chartY-x];else if(a[0].tooltipPos)v=a[0].tooltipPos;else{let G=0,z=0;a.forEach(function(q){let h=q.pos(!0);h&&(G+=h[0],z+=h[1])}),G/=a.length,z/=a.length,this.shared&&a.length>1&&y&&($?G=y.chartX:z=y.chartY),v=[G-E,z-x]}return v.map(Math.round)}getClassName(a,y,v){let O=a.series,$=O.options;return[this.options.className,"highcharts-label",v&&"highcharts-tooltip-header",y?"highcharts-tooltip-box":"highcharts-tooltip",!v&&"highcharts-color-"+o(a.colorIndex,O.colorIndex),$&&$.className].filter(_).join(" ")}getLabel({anchorX:a,anchorY:y}={anchorX:0,anchorY:0}){let v=this,d=this.chart.styledMode,O=this.options,$=this.split&&this.allowShared,x=this.container,E=this.chart.renderer;if(this.label){let G=!this.label.hasClass("highcharts-label");(!$&&G||$&&!G)&&this.destroy()}if(!this.label){if(this.outside){let G=this.chart.options.chart.style,z=pt.getRendererType();this.container=x=gt.doc.createElement("div"),x.className="highcharts-tooltip-container",b(x,{position:"absolute",top:"1px",pointerEvents:"none",zIndex:Math.max(this.options.style.zIndex||0,(G&&G.zIndex||0)+3)}),this.renderer=E=new z(x,0,0,G,void 0,void 0,E.styledMode)}if($?this.label=E.g("tooltip"):(this.label=E.label("",a,y,O.shape,void 0,void 0,O.useHTML,void 0,"tooltip").attr({padding:O.padding,r:O.borderRadius}),d||this.label.attr({fill:O.backgroundColor,"stroke-width":O.borderWidth||0}).css(O.style).css({pointerEvents:O.style.pointerEvents||(this.shouldStickOnContact()?"auto":"none")})),v.outside){let G=this.label;[G.xSetter,G.ySetter].forEach((z,q)=>{G[q?"ySetter":"xSetter"]=h=>{z.call(G,v.distance),G[q?"y":"x"]=h,x&&(x.style[q?"top":"left"]=`${h}px`)}})}this.label.attr({zIndex:8}).shadow(O.shadow).add()}return x&&!x.parentElement&>.doc.body.appendChild(x),this.label}getPlayingField(){let{body:a,documentElement:y}=k,{chart:v,distance:d,outside:O}=this;return{width:O?Math.max(a.scrollWidth,y.scrollWidth,a.offsetWidth,y.offsetWidth,y.clientWidth)-2*d:v.chartWidth,height:O?Math.max(a.scrollHeight,y.scrollHeight,a.offsetHeight,y.offsetHeight,y.clientHeight):v.chartHeight}}getPosition(a,y,v){let Q,{distance:d,chart:O,outside:$,pointer:x}=this,{inverted:E,plotLeft:G,plotTop:z,polar:q}=O,{plotX:h=0,plotY:c=0}=v,g={},j=E&&v.h||0,{height:s,width:f}=this.getPlayingField(),m=x.getChartPosition(),T=tt=>tt*m.scaleX,w=tt=>tt*m.scaleY,N=tt=>{let et="x"===tt;return[tt,et?f:s,et?a:y].concat($?[et?T(a):w(y),et?m.left-d+T(h+G):m.top-d+w(c+z),0,et?f:s]:[et?a:y,et?h+G:c+z,et?G:z,et?G+O.plotWidth:z+O.plotHeight])},W=N("y"),V=N("x"),lt=!!v.negative;!q&&O.hoverSeries?.yAxis?.reversed&&(lt=!lt);let ct=!this.followPointer&&o(v.ttBelow,!q&&!E===lt),B=function(tt,et,rt,ot,ut,ft,xt){let yt=$?"y"===tt?w(d):T(d):d,bt=(rt-ot)/2,wt=ot<ut-d,Mt=ut+d+ot<et,vt=ut-yt-rt+bt,_t=ut+yt-bt;if(ct&&Mt)g[tt]=_t;else if(!ct&&wt)g[tt]=vt;else if(wt)g[tt]=Math.min(xt-ot,vt-j<0?vt:vt-j);else{if(!Mt)return!1;g[tt]=Math.max(ft,_t+j+rt>et?_t:_t+j)}},R=function(tt,et,rt,ot,ut){if(ut<d||ut>et-d)return!1;g[tt]=ut<rt/2?1:ut>et-ot/2?et-ot-2:ut-rt/2},H=function(tt){[W,V]=[V,W],Q=tt},X=()=>{!1!==B.apply(0,W)?!1!==R.apply(0,V)||Q||(H(!0),X()):Q?g.x=g.y=0:(H(!0),X())};return(E&&!q||this.len>1)&&H(),X(),g}hide(a){let y=this;ht.clearTimeout(this.hideTimer),a=o(a,this.options.hideDelay),this.isHidden||(this.hideTimer=i(function(){let v=y.getLabel();y.getLabel().animate({opacity:0}
1,{duration:a&&150,complete:()=>{v.hide(),y.container&&y.container.remove()}}),y.isHidden=!0},a))}init(a,y){this.chart=a,this.options=y,this.crosshairs=[],this.isHidden=!0,this.split=y.split&&!a.inverted&&!a.polar,this.shared=y.shared||this.split,this.outside=o(y.outside,!(!a.scrollablePixelsX&&!a.scrollablePixelsY))}shouldStickOnContact(a){return!(this.followPointer||!this.options.stickOnContact||a&&!this.pointer.inClass(a.target,"highcharts-tooltip"))}move(a,y,v,d){let O=this,$=J(!O.isHidden&&O.options.animation),E={x:a,y};O.followPointer||(O.len||0)>1||(E.anchorX=v,E.anchorY=d),$.step=()=>O.drawTracker(),O.getLabel().animate(E,$)}refresh(a,y){let{chart:v,options:d,pointer:O,shared:$}=this,x=n(a),E=x[0],G=[],z=d.format,q=d.formatter||this.defaultFormatter,h=v.styledMode,c={},g=this.allowShared;if(!d.enabled||!E.series)return;ht.clearTimeout(this.hideTimer),this.allowShared=!(!M(a)&&a.series&&a.series.noSharedTooltip),g=g&&!this.allowShared,this.followPointer=!this.split&&E.series.tooltipOptions.followPointer;let j=this.getAnchor(a,y),s=j[0],f=j[1];$&&this.allowShared?(O.applyInactiveState(x),x.forEach(function(w){w.setState("hover"),G.push(w.getLabelConfig())}),(c=E.getLabelConfig()).points=G):c=E.getLabelConfig(),this.len=G.length;let m=_(z)?Z(z,c,v):q.call(c,this),T=E.series;if(this.distance=o(T.tooltipOptions.distance,16),!1===m)this.hide();else{if(this.split&&this.allowShared)this.renderSplit(m,x);else{let w=s,N=f;if(y&&O.isDirectTouch&&(w=y.chartX-v.plotLeft,N=y.chartY-v.plotTop),!v.polar&&!1!==T.options.clip&&!x.some(W=>O.isDirectTouch||W.series.shouldShowTooltip(w,N)))return void this.hide();{let W=this.getLabel(g&&this.tt||{});(!d.style.width||h)&&W.css({width:(this.outside?this.getPlayingField():v.spacingBox).width+"px"}),W.attr({class:this.getClassName(E),text:m&&m.join?m.join(""):m}),this.outside&&W.attr({x:u(W.x||0,0,this.getPlayingField().width-(W.width||0))}),h||W.attr({stroke:d.borderColor||E.color||T.color||"#666666"}),this.updatePosition({plotX:s,plotY:f,negative:E.negative,ttBelow:E.ttBelow,h:j[2]||0})}}this.isHidden&&this.label&&this.label.attr({opacity:1}).show(),this.isHidden=!1}l(this,"refresh")}renderSplit(a,y){let v=this,{chart:d,chart:{chartWidth:O,chartHeight:$,plotHeight:x,plotLeft:E,plotTop:G,scrollablePixelsY:z=0,scrollablePixelsX:q,styledMode:h},distance:c,options:g,options:{positioner:j},pointer:s}=v,{scrollLeft:f=0,scrollTop:m=0}=d.scrollablePlotArea?.scrollingContainer||{},T=v.outside&&"number"!=typeof q?k.documentElement.getBoundingClientRect():{left:f,right:f+O,top:m,bottom:m+$},w=v.getLabel(),N=this.renderer||d.renderer,W=!(!d.xAxis[0]||!d.xAxis[0].opposite),{left:V,top:Q}=s.getChartPosition(),lt=G+m,ct=0,B=x-z;function R(ot,ut,ft,xt,yt=!0){let bt,wt;return ft?(bt=W?0:B,wt=u(ot-xt/2,T.left,T.right-xt-(v.outside?V:0))):(bt=ut-lt,wt=u(wt=yt?ot-xt-c:ot+c,yt?wt:T.left,T.right)),{x:wt,y:bt}}_(a)&&(a=[!1,a]);let H=a.slice(0,y.length+1).reduce(function(ot,ut,ft){if(!1!==ut&&""!==ut){let xt=y[ft-1]||{isHeader:!0,plotX:y[0].plotX,plotY:x,series:{}},yt=xt.isHeader,bt=yt?v:xt.series,wt=bt.tt=function(Et,Lt,jt){let Bt=Et,{isHeader:Dt,series:Xt}=Lt;if(!Bt){let zt={padding:g.padding,r:g.borderRadius};h||(zt.fill=g.backgroundColor,zt["stroke-width"]=g.borderWidth??1),Bt=N.label("",0,0,g[Dt?"headerShape":"shape"],void 0,void 0,g.useHTML).addClass(v.getClassName(Lt,!0,Dt)).attr(zt).add(w)}return Bt.isActive=!0,Bt.attr({text:jt}),h||Bt.css(g.style).attr({stroke:g.borderColor||Lt.color||Xt.color||"#333333"}),Bt}(bt.tt,xt,ut.toString()),Mt=wt.getBBox(),vt=Mt.width+wt.strokeWidth();yt&&(ct=Mt.height,B+=ct,W&&(lt-=ct));let{anchorX:_t,anchorY:At}=function(Et){let Lt,jt,{isHeader:Bt,plotX:Dt=0,plotY:Xt=0,series:zt}=Et;if(Bt)Lt=Math.max(E+Dt,E),jt=G+x/2;else{let{xAxis:Wt,yAxis:It}=zt;Lt=Wt.pos+u(Dt,-c,Wt.len+c),zt.shouldShowTooltip(0,It.pos-G+Xt,{ignoreX:!0})&&(jt=It.pos+Xt)}return{anchorX:Lt=u(Lt,T.left-c,T.right+c),anchorY:jt}}(xt);if("number"==typeof At){let Et=Mt.height+1,Lt=j?j.call(v,vt,Et,xt):R(_t,At,yt,vt);ot.push({align:j?0:void 0,anchorX:_t,anchorY:At,boxWidth:vt,point:xt,rank:o(Lt.rank,yt?1:0),size:Et,target:Lt.y,tt:wt,x:Lt.x})}else wt.isActive=!1}return ot},[]);!j&&H.some(ot=>{let{outside:ut}=v,ft=(ut?V:0)+ot.anchorX;return ft<T.left&&ft+ot.boxWidth<T.right||ft<V-T.left+ot.boxWidth&&T.right-ft>ft})&&(H=H.map(ot=>{let{x:ut,y:ft}=R(ot.anchorX,ot.anchorY,ot.point.isHeader,ot.boxWidth,!1);return P(ot,{target:ft,x:ut})})),v.cleanSplit(),I(H,B);let X={left:V,right:V};H.forEach(function(ot){let{x:ut,boxWidth:ft,isHeader:xt}=ot;!xt&&(v.outside&&V+ut<X.left&&(X.left=V+ut),!xt&&v.outside&&X.left+ft>X.right&&(X.right=V+ut))}),H.forEach(function(ot){let{x:ut,anchorX:ft,anchorY:xt,pos:yt,point:{isHeader:bt}}=ot,wt={visibility:void 0===yt?"hidden":"inherit",x:ut,y:(yt||0)+lt,anchorX:ft,anchorY:xt};if(v.outside&&ut<ft){let Mt=V-X.left;Mt>0&&(bt||(wt.x=ut+Mt,wt.anchorX=ft+Mt),bt&&(wt.x=(X.right-X.left)/2,wt.anchorX=ft+Mt))}ot.tt.attr(wt)});let{container:tt,outside:et,renderer:rt}=v;if(et&&tt&&rt){let{width:ot,height:ut,x:ft,y:xt}=w.getBBox();rt.setSize(ot+ft,ut+xt,!1),tt.style.left=X.left+"px",tt.style.top=Q+"px"}L&&w.attr({opacity:1===w.opacity?.999:1})}drawTracker(){if(!this.shouldStickOnContact())return void(this.tracker&&(this.tracker=this.tracker.destroy()));let a=this.chart,y=this.label,v=this.shared?a.hoverPoints:a.hoverPoint;if(!y||!v)return;let d={x:0,y:0,width:0,height:0},O=this.getAnchor(v),$=y.getBBox();O[0]+=a.plotLeft-(y.translateX||0),O[1]+=a.plotTop-(y.translateY||0),d.x=Math.min(0,O[0]),d.y=Math.min(0,O[1]),d.width=O[0]<0?Math.max(Math.abs(O[0]),$.width-O[0]):Math.max(Math.abs(O[0]),$.width),d.height=O[1]<0?Math.max(Math.abs(O[1]),$.height-Math.abs(O[1])
1):Math.max(Math.abs(O[1]),$.height),this.tracker?this.tracker.attr(d):(this.tracker=y.renderer.rect(d).addClass("highcharts-tracker").add(y),a.styledMode||this.tracker.attr({fill:"rgba(0,0,0,0)"}))}styledModeFormat(a){return a.replace('style="font-size: 0.8em"','class="highcharts-header"').replace(/style="color:{(point|series)\.color}"/g,'class="highcharts-color-{$1.colorIndex} {series.options.className} {point.options.className}"')}tooltipFooterHeaderFormatter(a,y){let v=a.series,d=v.tooltipOptions,O=v.xAxis,$=O&&O.dateTime,x={isFooter:y,labelConfig:a},E=d.xDateFormat,G=d[y?"footerFormat":"headerFormat"];return l(this,"headerFormatter",x,function(z){$&&!E&&F(a.key)&&(E=$.getXDateFormat(a.key,d.dateTimeLabelFormats)),$&&E&&(a.point&&a.point.tooltipDateKeys||["key"]).forEach(function(q){G=G.replace("{point."+q+"}","{point."+q+":"+E+"}")}),v.chart.styledMode&&(G=this.styledModeFormat(G)),z.text=Z(G,{point:a,series:v},this.chart)}),x.text}update(a){this.destroy(),this.init(this.chart,S(!0,this.options,a))}updatePosition(a){let f,{chart:y,container:v,distance:d,options:O,pointer:$,renderer:x}=this,{height:E=0,width:G=0}=this.getLabel(),{left:z,top:q,scaleX:h,scaleY:c}=$.getChartPosition(),g=(O.positioner||this.getPosition).call(this,G,E,a),j=(a.plotX||0)+y.plotLeft,s=(a.plotY||0)+y.plotTop;x&&v&&(O.positioner&&(g.x+=z-d,g.y+=q-d),f=(O.borderWidth||0)+2*d+2,x.setSize(G+f,E+f,!1),(1!==h||1!==c)&&(b(v,{transform:`scale(${h}, ${c})`}),j*=h,s*=c),j+=z-g.x,s+=q-g.y),this.move(Math.round(g.x),Math.round(g.y||0),j,s)}}return(dt=e||(e={})).compose=function(r){p(K,"Core.Tooltip")&&D(r,"afterInit",function(){let a=this.chart;a.options.tooltip&&(a.tooltip=new dt(a,a.options.tooltip,this))})},e}),St(Y,"Core/Series/Point.js",[Y["Core/Renderer/HTML/AST.js"],Y["Core/Animation/AnimationUtilities.js"],Y["Core/Defaults.js"],Y["Core/Templating.js"],Y["Core/Utilities.js"]],function(st,nt,gt,mt,pt){let{animObject:ht}=nt,{defaultOptions:dt}=gt,{format:J}=mt,{addEvent:Z,crisp:K,erase:k,extend:L,fireEvent:I,getNestedProperty:D,isArray:u,isFunction:b,isNumber:C,isObject:P,merge:l,pick:M,syncTimeout:F,removeEvent:_,uniqueKey:S}=pt;class o{animateBeforeDestroy(){let n=this,i={x:n.startXPos,opacity:0},e=n.getGraphicalProps();e.singular.forEach(function(r){n[r]=n[r].animate("dataLabel"===r?{x:n[r].startXPos,y:n[r].startYPos,opacity:0}:i)}),e.plural.forEach(function(r){n[r].forEach(function(a){a.element&&a.animate(L({x:n.startXPos},a.startYPos?{x:a.startXPos,y:a.startYPos}:{}))})})}applyOptions(n,i){let e=this.series,r=e.options.pointValKey||e.pointValKey;return L(this,n=o.prototype.optionsToObject.call(this,n)),this.options=this.options?L(this.options,n):n,n.group&&delete this.group,n.dataLabels&&delete this.dataLabels,r&&(this.y=o.prototype.getNestedProperty.call(this,r)),this.selected&&(this.state="select"),"name"in this&&void 0===i&&e.xAxis&&e.xAxis.hasNames&&(this.x=e.xAxis.nameToX(this)),void 0===this.x&&e?this.x=i??e.autoIncrement():C(n.x)&&e.options.relativeXValue&&(this.x=e.autoIncrement(n.x)),this.isNull=this.isValid&&!this.isValid(),this.formatPrefix=this.isNull?"null":"point",this}destroy(){if(!this.destroyed){let n=this,i=n.series,e=i.chart,r=i.options.dataSorting,a=e.hoverPoints,y=ht(n.series.chart.renderer.globalAnimation),v=()=>{for(let d in(n.graphic||n.graphics||n.dataLabel||n.dataLabels)&&(_(n),n.destroyElements()),n)delete n[d]};n.legendItem&&e.legend.destroyItem(n),a&&(n.setState(),k(a,n),a.length||(e.hoverPoints=null)),n===e.hoverPoint&&n.onMouseOut(),r&&r.enabled?(this.animateBeforeDestroy(),F(v,y.duration)):v(),e.pointCount--}this.destroyed=!0}destroyElements(n){let i=this,e=i.getGraphicalProps(n);e.singular.forEach(function(r){i[r]=i[r].destroy()}),e.plural.forEach(function(r){i[r].forEach(function(a){a&&a.element&&a.destroy()}),delete i[r]})}firePointEvent(n,i,e){let r=this,a=this.series.options;r.manageEvent(n),"click"===n&&a.allowPointSelect&&(e=function(y){!r.destroyed&&r.select&&r.select(null,y.ctrlKey||y.metaKey||y.shiftKey)}),I(r,n,i,e)}getClassName(){return"highcharts-point"+(this.selected?" highcharts-point-select":"")+(this.negative?" highcharts-negative":"")+(this.isNull?" highcharts-null-point":"")+(void 0!==this.colorIndex?" highcharts-color-"+this.colorIndex:"")+(this.options.className?" "+this.options.className:"")+(this.zone&&this.zone.className?" "+this.zone.className.replace("highcharts-negative",""):"")}getGraphicalProps(n){let i,e,r=this,a=[],y={singular:[],plural:[]};for((n=n||{graphic:1,dataLabel:1}).graphic&&a.push("graphic","connector"),n.dataLabel&&a.push("dataLabel","dataLabelPath","dataLabelUpper"),e=a.length;e--;)r[i=a[e]]&&y.singular.push(i);return["graphic","dataLabel"].forEach(function(v){let d=v+"s";n[v]&&r[d]&&y.plural.push(d)}),y}getLabelConfig(){return{x:this.category,y:this.y,color:this.color,colorIndex:this.colorIndex,key:this.name||this.category,series:this.series,point:this,percentage:this.percentage,total:this.total||this.stackTotal}}getNestedProperty(n){return n?0===n.indexOf("custom.")?D(n,this.options):this[n]:void 0}getZone(){let r,n=this.series,i=n.zones,e=n.zoneAxis||"y",a=0;for(r=i[0];this[e]>=r.value;)r=i[++a];return this.nonZonedColor||(this.nonZonedColor=this.color),this.color=r&&r.color&&!this.options.color?r.color:this.nonZonedColor,r}hasNewShapeType(){return(this.graphic&&(this.graphic.symbolName||this.graphic.element.nodeName))!==this.shapeType}constructor(n,i,e){this.formatPrefix="point",this.visible=!0,this.series=n,this.applyOptions(i,e),this.id??(this.id=S()),this.resolveColor(),n.chart.pointCount++,I(this,"afterInit")}isValid(){return(C(this.x)||this.x instanceof Date)&&C(this.y)}optionsToObject(n){let v,i=this.series,e=i.options.keys,r=e||i.pointArrayMap||["y"],a=r.length,y={},d=0,O=0;if(C(n)||null===n)y[r[0]]=n;else if(u(n))for(!e&&n.length>a&&("string"==(v=typeof n[0])?y.name=n[0]:"number"===v&&(y.x=n[0]),d++);O<a;)e&&void 0===n[d]||(r[O].indexOf(".")>0?o.prototype.setNestedProperty(y,n[d],r[O]):y[r[O]]=n[d]),d++,O++;else"object"==typeof n&&(y=n,n.dataLabels&&(i.hasDataLabels=()=>!0),n.marker&&(i._hasPointMarkers=!0));return y}pos(n,i=this.plotY){if(!this.destroyed){let{plotX:e,series:r}
1=this,{chart:a,xAxis:y,yAxis:v}=r,d=0,O=0;if(C(e)&&C(i))return n&&(d=y?y.pos:a.plotLeft,O=v?v.pos:a.plotTop),a.inverted&&y&&v?[v.len-i+O,y.len-e+d]:[e+d,i+O]}}resolveColor(){let r,a,v,n=this.series,e=n.chart.styledMode,y=n.chart.options.chart.colorCount;delete this.nonZonedColor,n.options.colorByPoint?(e||(r=(a=n.options.colors||n.chart.options.colors)[n.colorCounter],y=a.length),v=n.colorCounter,n.colorCounter++,n.colorCounter===y&&(n.colorCounter=0)):(e||(r=n.color),v=n.colorIndex),this.colorIndex=M(this.options.colorIndex,v),this.color=M(this.options.color,r)}setNestedProperty(n,i,e){return e.split(".").reduce(function(r,a,y,v){return r[a]=v.length-1===y?i:P(r[a],!0)?r[a]:{},r[a]},n),n}shouldDraw(){return!this.isNull}tooltipFormatter(n){let i=this.series,e=i.tooltipOptions,r=M(e.valueDecimals,""),a=e.valuePrefix||"",y=e.valueSuffix||"";return i.chart.styledMode&&(n=i.chart.tooltip.styledModeFormat(n)),(i.pointArrayMap||["y"]).forEach(function(v){v="{point."+v,(a||y)&&(n=n.replace(RegExp(v+"}","g"),a+v+"}"+y)),n=n.replace(RegExp(v+"}","g"),v+":,."+r+"f}")}),J(n,{point:this,series:this.series},i.chart)}update(n,i,e,r){let a,y=this,v=y.series,d=y.graphic,O=v.chart,$=v.options;function x(){y.applyOptions(n);let E=d&&y.hasMockGraphic;d&&(null===y.y?!E:E)&&(y.graphic=d.destroy(),delete y.hasMockGraphic),P(n,!0)&&(d&&d.element&&n&&n.marker&&void 0!==n.marker.symbol&&(y.graphic=d.destroy()),n?.dataLabels&&y.dataLabel&&(y.dataLabel=y.dataLabel.destroy())),a=y.index,v.updateParallelArrays(y,a),$.data[a]=P($.data[a],!0)||P(n,!0)?y.options:M(n,$.data[a]),v.isDirty=v.isDirtyData=!0,!v.fixedBox&&v.hasCartesianSeries&&(O.isDirtyBox=!0),"point"===$.legendType&&(O.isDirtyLegend=!0),i&&O.redraw(e)}i=M(i,!0),!1===r?x():y.firePointEvent("update",{options:n},x)}remove(n,i){this.series.removePoint(this.series.data.indexOf(this),n,i)}select(n,i){let e=this,r=e.series,a=r.chart;n=M(n,!e.selected),this.selectedStaging=n,e.firePointEvent(n?"select":"unselect",{accumulate:i},function(){e.selected=e.options.selected=n,r.options.data[r.data.indexOf(e)]=e.options,e.setState(n&&"select"),i||a.getSelectedPoints().forEac
1h(function(y){let v=y.series;y.selected&&y!==e&&(y.selected=y.options.selected=!1,v.options.data[v.data.indexOf(y)]=y.options,y.setState(a.hoverPoints&&v.options.inactiveOtherPoints?"inactive":""),y.firePointEvent("unselect"))})}),delete this.selectedStaging}onMouseOver(n){let{inverted:i,pointer:e}=this.series.chart;e&&(n=n?e.normalize(n):e.getChartCoordinatesFromPoint(this,i),e.runPointActions(n,this))}onMouseOut(){let n=this.series.chart;this.firePointEvent("mouseOut"),this.series.options.inactiveOtherPoints||(n.hoverPoints||[]).forEach(function(i){i.setState()}),n.hoverPoints=n.hoverPoint=null}manageEvent(n){let i=l(this.series.options.point,this.options),e=i.events?.[n];!b(e)||this.hcEvents?.[n]&&-1!==this.hcEvents?.[n]?.map(r=>r.fn).indexOf(e)?this.importedUserEvent&&!e&&this.hcEvents?.[n]&&(_(this,n),delete this.hcEvents[n],Object.keys(this.hcEvents)||delete this.importedUserEvent):(this.importedUserEvent?.(),this.importedUserEvent=Z(this,n,e))}setState(n,i){let z,q,h,g,e=this.series,r=this.state,a=e.options.states[n||"normal"]||{},y=dt.plotOptions[e.type].marker&&e.options.marker,d=y&&y.states&&y.states[n||"normal"]||{},$=this.marker||{},x=e.chart,E=y&&e.markerAttribs,G=e.halo,c=e.stateMarkerGraphic;if((n=n||"")===this.state&&!i||this.selected&&"select"!==n||!1===a.enabled||n&&(!1===d.enabled||y&&!1===y.enabled&&!1===d.enabled)||n&&$.states&&$.states[n]&&!1===$.states[n].enabled)return;if(this.state=n,E&&(z=e.markerAttribs(this,n)),this.graphic&&!this.hasMockGraphic){if(r&&this.graphic.removeClass("highcharts-point-"+r),n&&this.graphic.addClass("highcharts-point-"+n),!x.styledMode){q=e.pointAttribs(this,n),h=M(x.options.chart.animation,a.animation);let m=q.opacity;e.options.inactiveOtherPoints&&C(m)&&(this.dataLabels||[]).forEach(function(T){T&&!T.hasClass("highcharts-data-label-hidden")&&(T.animate({opacity:m},h),T.connector&&T.connector.animate({opacity:m},h))}),this.graphic.animate(q,h)}z&&this.graphic.animate(z,M(x.options.chart.animation,d.animation,y.animation)),c&&c.hide()}else n&&d&&(g=$.symbol||e.symbol,c&&c.currentSymbol!==g&&(c=c.destroy()),z&&(c?c[i?"animate":"attr"]({x:z.x,y:z.y}):g&&(e.stateMarkerGraphic=c=x.renderer.symbol(g,z.x,z.y,z.width,z.height).add(e.markerGroup),c.currentSymbol=g)),!x.styledMode&&c&&"inactive"!==this.state&&c.attr(e.pointAttribs(this,n))),c&&(c[n&&this.isInside?"show":"hide"](),c.element.point=this,c.addClass(this.getClassName(),!0));let j=a.halo,s=this.graphic||c,f=s&&s.visibility||"inherit";j&&j.size&&s&&"hidden"!==f&&!this.isCluster?(G||(e.halo=G=x.renderer.path().add(s.parentGroup)),G.show()[i?"animate":"attr"]({d:this.haloPath(j.size)}),G.attr({class:"highcharts-halo highcharts-color-"+M(this.colorIndex,e.colorIndex)+(this.className?" "+this.className:""),visibility:f,zIndex:-1}),G.point=this,x.styledMode||G.attr(L({fill:this.color||e.color,"fill-opacity":j.opacity},st.filterUserAttributes(j.attributes||{})))):G?.point?.haloPath&&!G.point.destroyed&&G.animate({d:G.point.haloPath(0)},null,G.hide),I(this,"afterSetState",{state:n})}haloPath(n){let i=this.pos();return i?this.series.chart.renderer.symbols.circle(K(i[0],1)-n,i[1]-n,2*n,2*n):[]}}return o}),St(Y,"Core/Pointer.js",[Y["Core/Color/Color.js"],Y["Core/Globals.js"],Y["Core/Utilities.js"]],function(st,nt,gt){var mt;let{parse:pt}=st,{charts:ht,composed:dt,isTouchDevice:J}=nt,{addEvent:Z,attr:K,css:k,extend:L,find:I,fireEvent:D,isNumber:u,isObject:b,objectEach:C,offset:P,pick:l,pushUnique:M,splat:F}=gt;class _{applyInactiveState(o){let n,p=[];(o||[]).forEach(function(i){n=i.series,p.push(n),n.linkedParent&&p.push(n.linkedParent),n.linkedSeries&&(p=p.concat(n.linkedSeries)),n.navigatorSeries&&p.push(n.navigatorSeries)}),this.chart.series.forEach(function(i){-1===p.indexOf(i)?i.setState("inactive",!0):i.options.inactiveOtherPoints&&i.setAllPointsToState("inactive")})}destroy(){let o=this;this.eventsToUnbind.forEach(p=>p()),this.eventsToUnbind=[],!nt.chartCount&&(_.unbindDocumentMouseUp&&_.unbindDocumentMouseUp.forEach(p=>p()),_.unbindDocumentTouchEnd&&(_.unbindDocumentTouchEnd=_.unbindDocumentTouchEnd())),clearInterval(o.tooltipTimeout),C(o,function(p,n){o[n]=void 0})}getSelectionMarkerAttrs(o,p){let n={args:{chartX:o,chartY:p},attrs:{},shapeType:"rect"};return D(this,"getSelectionMarkerAttrs",n,i=>{let e,{chart:r,zoomHor:a,zoomVert:y}=this,{mouseDownX:v=0,mouseDownY:d=0}=r,O=i.attrs;O.x=r.plotLeft,O.y=r.plotTop,O.width=a?1:r.plotWidth,O.height=y?1:r.plotHeight,a&&(e=o-v,O.width=Math.max(1,Math.abs(e)),O.x=(e>0?0:e)+v),y&&(e=p-d,O.height=Math.max(1,Math.abs(e)),O.y=(e>0?0:e)+d)}),n}drag(o){let z,{chart:p}
1=this,{mouseDownX:n=0,mouseDownY:i=0}=p,{panning:e,panKey:r,selectionMarkerFill:a}=p.options.chart,y=p.plotLeft,v=p.plotTop,d=p.plotWidth,O=p.plotHeight,$=b(e)?e.enabled:e,x=r&&o[`${r}Key`],E=o.chartX,G=o.chartY,q=this.selectionMarker;if((!q||!q.touch)&&(E<y?E=y:E>y+d&&(E=y+d),G<v?G=v:G>v+O&&(G=v+O),this.hasDragged=Math.sqrt(Math.pow(n-E,2)+Math.pow(i-G,2)),this.hasDragged>10)){z=p.isInsidePlot(n-y,i-v,{visiblePlotOnly:!0});let{shapeType:h,attrs:c}=this.getSelectionMarkerAttrs(E,G);(p.hasCartesianSeries||p.mapView)&&this.hasZoom&&z&&!x&&!q&&(this.selectionMarker=q=p.renderer[h](),q.attr({class:"highcharts-selection-marker",zIndex:7}).add(),p.styledMode||q.attr({fill:a||pt("#334eff").setOpacity(.25).get()})),q&&q.attr(c),z&&!q&&$&&p.pan(o,e)}}dragStart(o){let p=this.chart;p.mouseIsDown=o.type,p.cancelClick=!1,p.mouseDownX=o.chartX,p.mouseDownY=o.chartY}getSelectionBox(o){let p={args:{marker:o},result:o.getBBox()};return D(this,"getSelectionBox",p),p.result}drop(o){let p,{chart:n,selectionMarker:i}=this;for(let e of n.axes)e.isPanning&&(e.isPanning=!1,(e.options.startOnTick||e.options.endOnTick||e.series.some(r=>r.boosted))&&(e.forceRedraw=!0,e.setExtremes(e.userMin,e.userMax,!1),p=!0));if(p&&n.redraw(),i&&o){if(this.hasDragged){let e=this.getSelectionBox(i);n.transform({axes:n.axes.filter(r=>r.zoomEnabled&&("xAxis"===r.coll&&this.zoomX||"yAxis"===r.coll&&this.zoomY)),selection:{originalEvent:o,xAxis:[],yAxis:[],...e},from:e})}u(n.index)&&(this.selectionMarker=i.destroy())}n&&u(n.index)&&(k(n.container,{cursor:n._cursor}),n.cancelClick=this.hasDragged>10,n.mouseIsDown=!1,this.hasDragged=0,this.pinchDown=[])}findNearestKDPoint(o,p,n){let i;return o.forEach(function(e){let r=!(e.noSharedTooltip&&p)&&0>e.options.findNearestPointBy.indexOf("y"),a=e.searchPoint(n,r);b(a,!0)&&a.series&&(!b(i,!0)||function(y,v){let d=y.distX-v.distX,O=y.dist-v.dist,$=v.series.group?.zIndex-y.series.group?.zIndex;return 0!==d&&p?d:0!==O?O:0!==$?$:y.series.index>v.series.index?-1:1}(i,a)>0)&&(i=a)}),i}getChartCoordinatesFromPoint(o,p){let{xAxis:n,yAxis:i}=o.series,e=o.shapeArgs;if(n&&i){let r=o.clientX??o.plotX??0,a=o.plotY||0;
vendor: 5,127 bytes, line 1
1return o.isNode&&e&&u(e.x)&&u(e.y)&&(r=e.x,a=e.y),p?{chartX:i.len+i.pos-a,chartY:n.len+n.pos-r}:{chartX:r+n.pos,chartY:a+i.pos}}if(e&&e.x&&e.y)return{chartX:e.x,chartY:e.y}}getChartPosition(){if(this.chartPosition)return this.chartPosition;let{container:o}=this.chart,p=P(o);this.chartPosition={left:p.left,top:p.top,scaleX:1,scaleY:1};let{offsetHeight:n,offsetWidth:i}=o;return i>2&&n>2&&(this.chartPosition.scaleX=p.width/i,this.chartPosition.scaleY=p.height/n),this.chartPosition}getCoordinates(o){let p={xAxis:[],yAxis:[]};for(let n of this.chart.axes)p[n.isXAxis?"xAxis":"yAxis"].push({axis:n,value:n.toValue(o[n.horiz?"chartX":"chartY"])});return p}getHoverData(o,p,n,i,e,r){let d,a=[],y=function(x){return x.visible&&!(!e&&x.directTouch)&&l(x.options.enableMouseTracking,!0)},v=p,O={chartX:r?r.chartX:void 0,chartY:r?r.chartY:void 0,shared:e};D(this,"beforeGetHoverData",O),d=v&&!v.stickyTracking?[v]:n.filter(x=>x.stickyTracking&&(O.filter||y)(x));let $=i&&o||!r?o:this.findNearestKDPoint(d,e,r);return v=$&&$.series,$&&(e&&!v.noSharedTooltip?(d=n.filter(function(x){return O.filter?O.filter(x):y(x)&&!x.noSharedTooltip})).forEach(function(x){let E=I(x.points,function(G){return G.x===$.x&&!G.isNull});b(E)&&(x.boosted&&x.boost&&(E=x.boost.getPoint(E)),a.push(E))}):a.push($)),D(this,"afterGetHoverData",O={hoverPoint:$}),{hoverPoint:O.hoverPoint,hoverSeries:v,hoverPoints:a}}getPointFromEvent(o){let n,p=o.target;for(;p&&!n;)n=p.point,p=p.parentNode;return n}onTrackerMouseOut(o){let n=o.relatedTarget,i=this.chart.hoverSeries;this.isDirectTouch=!1,!i||!n||i.stickyTracking||this.inClass(n,"highcharts-tooltip")||this.inClass(n,"highcharts-series-"+i.index)&&this.inClass(n,"highcharts-tracker")||i.onMouseOut()}inClass(o,p){let i,n=o;for(;n;){if(i=K(n,"class")){if(-1!==i.indexOf(p))return!0;if(-1!==i.indexOf("highcharts-container"))return!1}n=n.parentElement}}constructor(o,p){this.hasDragged=0,this.pointerCaptureEventsToUnbind=[],this.eventsToUnbind=[],this.options=p,this.chart=o,this.runChartClick=!!p.chart.events?.click,this.pinchDown=[],this.setDOMEvents(),D(this,"afterInit")}normalize(o,p){let n=o.touches,i=n?n.length?n.item(0):l(n.changedTouches,o.changedTouches)[0]:o;p||(p=this.getChartPosition());let e=i.pageX-p.left,r=i.pageY-p.top;return L(o,{chartX:Math.round(e/=p.scaleX),chartY:Math.round(r/=p.scaleY)})}onContainerClick(o){let p=this.chart,n=p.hoverPoint,i=this.normalize(o),e=p.plotLeft,r=p.plotTop;!p.cancelClick&&(n&&this.inClass(i.target,"highcharts-tracker")?(D(n.series,"click",L(i,{point:n})),p.hoverPoint&&n.firePointEvent("click",i)):(L(i,this.getCoordinates(i)),p.isInsidePlot(i.chartX-e,i.chartY-r,{visiblePlotOnly:!0})&&D(p,"click",i)))}onContainerMouseDown(o){let p=1==(1&(o.buttons||o.button));o=this.normalize(o),nt.isFirefox&&0!==o.button&&this.onContainerMouseMove(o),(void 0===o.button||p)&&(this.zoomOption(o),p&&o.preventDefault?.(),this.dragStart(o))}onContainerMouseLeave(o){let{pointer:p}=ht[l(_.hoverChartIndex,-1)]||{};o=this.normalize(o),this.onContainerMouseMove(o),p&&!this.inClass(o.relatedTarget,"highcharts-tooltip")&&(p.reset(),p.chartPosition=void 0)}onContainerMouseEnter(){delete this.chartPosition}onContainerMouseMove(o){let p=this.chart,n=p.tooltip,i=this.normalize(o);this.setHoverChartIndex(o),("mousedown"===p.mouseIsDown||this.touchSelect(i))&&this.drag(i),!p.openMenu&&(this.inClass(i.target,"highcharts-tracker")||p.isInsidePlot(i.chartX-p.plotLeft,i.chartY-p.plotTop,{visiblePlotOnly:!0}))&&(!n||!n.shouldStickOnContact(i))&&(this.inClass(i.target,"highcharts-no-tooltip")?this.reset(!1,0):this.runPointActions(i))}onDocumentTouchEnd(o){this.onDocumentMouseUp(o)}onContainerTouchMove(o){this.touchSelect(o)?this.onContainerMouseMove(o):this.touch(o)}onContainerTouchStart(o){this.touchSelect(o)?this.onContainerMouseDown(o):(this.zoomOption(o),this.touch(o,!0))}onDocumentMouseMove(o){let p=this.chart,n=p.tooltip,i=this.chartPosition,e=this.normalize(o,i);!i||p.isInsidePlot(e.chartX-p.plotLeft,e.chartY-p.plotTop,{visiblePlotOnly:!0})||n&&n.shouldStickOnContact(e)||e.target!==p.container.ownerDocument&&this.inClass(e.target,"highcharts-tracker")||this.reset()}onDocumentMouseUp(o){ht[l(_.hoverChartIndex,-1)]?.pointer?.drop(o)}pinch(o){let p=this,{chart:n,hasZoom:i,lastTouches:e}=p,r=[].map.call(o.touches||[],O=>p.normalize(O)),a=r.length,y=1===a&&(p.inClass(o.target,"highcharts-tracker")&&n.runTrackerClick||p.runChartClick),v=n.tooltip,d=1===a&&l(v?.options.followTouchMove,!0);a>1?p.initiated=!0:d&&(p.initiated=!1),i&&p.initiated&&!y&&!1!==o.cancelable&&o.preventDefault(),"touchstart"===o.type?(p.pinchDown=r,p.res=!0,n.mouseDownX=o.chartX):d?this.runPointActions(p.normalize(o)):e&&(D(n,"touchpan",{originalEvent:o,touches:r},()=>{let O=$=>{let x=$[0],E=$[1]||x;return{x:x.chartX,y:x.chartY,width:E.chartX-x.chartX,height:E.chartY-x.chartY}};n.transform({axes:n.axes.filter($=>$.zoomEnabled&&(this.zoomHor&&$.horiz||this.zoomVert&&!$.horiz)),to:O(r),from:O(e),trigger:o.type})}),p.res&&(p.res=!1,this.reset(!1,0))),p.lastTouches=r}reset(o,p){let n=this.chart,i=n.hoverSeries,e=n.hoverPoint,r=n.hoverPoints,a=n.tooltip,y=a&&a.shared?r:e;
1o&&y&&F(y).forEach(function(v){v.series.isCartesian&&void 0===v.plotX&&(o=!1)}),o?a&&y&&F(y).length&&(a.refresh(y),a.shared&&r?r.forEach(function(v){v.setState(v.state,!0),v.series.isCartesian&&(v.series.xAxis.crosshair&&v.series.xAxis.drawCrosshair(null,v),v.series.yAxis.crosshair&&v.series.yAxis.drawCrosshair(null,v))}):e&&(e.setState(e.state,!0),n.axes.forEach(function(v){v.crosshair&&e.series[v.coll]===v&&v.drawCrosshair(null,e)}))):(e&&e.onMouseOut(),r&&r.forEach(function(v){v.setState()}),i&&i.onMouseOut(),a&&a.hide(p),this.unDocMouseMove&&(this.unDocMouseMove=this.unDocMouseMove()),n.axes.forEach(function(v){v.hideCrosshair()}),n.hoverPoints=n.hoverPoint=void 0)}runPointActions(o,p,n){let i=this.chart,r=i.tooltip&&i.tooltip.options.enabled?i.tooltip:void 0,a=!!r&&r.shared,y=p||i.hoverPoint,v=y&&y.series||i.hoverSeries,O=this.getHoverData(y,v,i.series,(!o||"touchmove"!==o.type)&&(!!p||v&&v.directTouch&&this.isDirectTouch),a,o);y=O.hoverPoint,v=O.hoverSeries;let $=O.hoverPoints,x=v&&v.tooltipOptions.followPointer&&!v.tooltipOptions.split,E=a&&v&&!v.noSharedTooltip;if(y&&(n||y!==i.hoverPoint||r&&r.isHidden)){if((i.hoverPoints||[]).forEach(function(G){-1===$.indexOf(G)&&G.setState()}),i.hoverSeries!==v&&v.onMouseOver(),this.applyInactiveState($),($||[]).forEach(function(G){G.setState("hover")}),i.hoverPoint&&i.hoverPoint.firePointEvent("mouseOut"),!y.series)return;i.hoverPoints=$,i.hoverPoint=y,y.firePointEvent("mouseOver",void 0,()=>{r&&y&&r.refresh(E?$:y,o)})}else if(x&&r&&!r.isHidden){let G=r.getAnchor([{}],o);i.isInsidePlot(G[0],G[1],{visiblePlotOnly:!0})&&r.updatePosition({plotX:G[0],plotY:G[1]})}this.unDocMouseMove||(this.unDocMouseMove=Z(i.container.ownerDocument,"mousemove",G=>ht[_.hoverChartIndex??-1]?.pointer?.onDocumentMouseMove(G)),this.eventsToUnbind.push(this.unDocMouseMove)),i.axes.forEach(function(G){let z,q=l((G.crosshair||{}).snap,!0);!q||(z=i.hoverPoint)&&z.series[G.coll]===G||(z=I($,h=>h.series&&h.series[G.coll]===G)),z||!q?G.drawCrosshair(o,z):G.hideCrosshair()})}setDOMEvents(){let o=this.chart.container,p=o.ownerDocument;o.onmousedown=this.onContainerMouseDown.bind(this),o.onmousemove=this.onContainerMouseMove.bind(this),o.onclick=this.onContainerClick.bind(this),this.eventsToUnbind.push(Z(o,"mouseenter",this.onContainerMouseEnter.bind(this)),Z(o,"mouseleave",this.onContainerMouseLeave.bind(this))),_.unbindDocumentMouseUp||(_.unbindDocumentMouseUp=[]),_.unbindDocumentMouseUp.push(Z(p,"mouseup",this.onDocumentMouseUp.bind(this)));let n=this.chart.renderTo.parentElement;for(;n&&"BODY"!==n.tagName;)this.eventsToUnbind.push(Z(n,"scroll",()=>{delete this.chartPosition})),n=n.parentElement;this.eventsToUnbind.push(Z(o,"touchstart",this.onContainerTouchStart.bind(this),{passive:!1}),Z(o,"touchmove",this.onContainerTouchMove.bind(this),{passive:!1})),_.unbindDocumentTouchEnd||(_.unbindDocumentTouchEnd=Z(p,"touchend",this.onDocumentTouchEnd.bind(this),{passive:!1})),this.setPointerCapture(),Z(this.chart,"redraw",this.setPointerCapture.bind(this))}setPointerCapture(){if(!J)return;let o=this.pointerCaptureEventsToUnbind,p=this.chart,n=p.container,i=l(p.options.tooltip?.followTouchMove,!0)&&p.series.some(e=>e.options.findNearestPointBy.indexOf("y")>-1);!this.hasPointerCapture&&i?(o.push(Z(n,"pointerdown",e=>{e.target?.hasPointerCapture(e.pointerId)&&e.target?.releasePointerCapture(e.pointerId)}),Z(n,"pointermove",e=>{p.pointer?.getPointFromEvent(e)?.onMouseOver(e)})),p.styledMode||k(n,{"touch-action":"none"}),n.className+=" highcharts-no-touch-action",this.hasPointerCapture=!0):this.hasPointerCapture&&!i&&(o.forEach(e=>e()),o.length=0,p.styledMode||k(n,{"touch-action":l(p.options.chart.style?.["touch-action"],"manipulation")}),n.className=n.className.replace(" highcharts-no-touch-action",""),this.hasPointerCapture=!1)}setHoverChartIndex(o){let p=this.chart,n=nt.charts[l(_.hoverChartIndex,-1)];if(n&&n!==p){let i={relatedTarget:p.container};o&&!o?.relatedTarget&&(o={...i,...o}),n.pointer?.onContainerMouseLeave(o||i)}n&&n.mouseIsDown||(_.hoverChartIndex=p.index)}touch(o,p){let n,{chart:i,pinchDown:e=[]}=this;this.setHoverChartIndex(),1===(o=this.normalize(o)).touches.length?i.isInsidePlot(o.chartX-i.plotLeft,o.chartY-i.plotTop,{visiblePlotOnly:!0})&&!i.openMenu?(p&&this.runPointActions(o),"touchmove"===o.type&&(n=!!e[0]&&Math.pow(e[0].chartX-o.chartX,2)+Math.pow(e[0].chartY-o.chartY,2)>=16),l(n,!0)&&this.pinch(o)):p&&this.reset():2===o.touches.length&&this.pinch(o)}touchSelect(o){return!(!this.chart.zooming.singleTouch||!o.touches||1!==o.touches.length)}zoomOption(o){let e,r,p=this.chart,n=p.inverted,i=p.zooming.type||"";/touch/.test(o.type)&&(i=l(p.zooming.pinchType,i)),this.zoomX=e=/x/.test(i),this.zoomY=r=/y/.test(i),this.zoomHor=e&&!n||r&&n,this.zoomVert=r&&!n||e&&n,this.hasZoom=e||r}}return(mt=_||(_={})).compose=function(S){M(dt,"Core.Pointer")&&Z(S,"beforeRender",function(){this.pointer=new mt(this,this.options)})},_}),St(Y,"Core/Legend/LegendSymbol.js",[Y["Core/Utilities.js"]],function(st){var nt;let{extend:gt,merge:mt,pick:pt}=st;return function(ht){function dt(J,Z,K){let S,k=this.legendItem=this.legendItem||{},{chart:L,options:I}
1=this,{baseline:D=0,symbolWidth:u,symbolHeight:b}=J,C=this.symbol||"circle",P=b/2,l=L.renderer,M=k.group,F=D-Math.round((J.fontMetrics?.b||b)*(K?.4:.3)),_={},o=I.marker,p=0;if(L.styledMode||(_["stroke-width"]=Math.min(I.lineWidth||0,24),I.dashStyle?_.dashstyle=I.dashStyle:"square"===I.linecap||(_["stroke-linecap"]="round")),k.line=l.path().addClass("highcharts-graph").attr(_).add(M),K&&(k.area=l.path().addClass("highcharts-area").add(M)),_["stroke-linecap"]&&(p=Math.min(k.line.strokeWidth(),u)/2),u){let n=[["M",p,F],["L",u-p,F]];k.line.attr({d:n}),k.area?.attr({d:[...n,["L",u-p,D],["L",p,D]]})}if(o&&!1!==o.enabled&&u){let n=Math.min(pt(o.radius,P),P);0===C.indexOf("url")&&(o=mt(o,{width:b,height:b}),n=0),k.symbol=S=l.symbol(C,u/2-n,F-n,2*n,2*n,gt({context:"legend"},o)).addClass("highcharts-point").add(M),S.isMarker=!0}}ht.areaMarker=function(J,Z){dt.call(this,J,Z,!0)},ht.lineMarker=dt,ht.rectangle=function(J,Z){let K=Z.legendItem||{},L=J.symbolHeight,I=J.options.squareSymbol;K.symbol=this.chart.renderer.rect(I?(J.symbolWidth-L)/2:0,J.baseline-L+1,I?L:J.symbolWidth,L,pt(J.options.symbolRadius,L/2)).addClass("highcharts-point").attr({zIndex:3}).add(K.group)}}(nt||(nt={})),nt}),St(Y,"Core/Series/SeriesDefaults.js",[],function(){return{lineWidth:2,allowPointSelect:!1,crisp:!0,showCheckbox:!1,animation:{duration:1e3},enableMouseTracking:!0,events:{},marker:{enabledThreshold:2,lineColor:"#ffffff",lineWidth:0,radius:4,states:{normal:{animation:!0},hover:{animation:{duration:150},enabled:!0,radiusPlus:2,lineWidthPlus:1},select:{fillColor:"#cccccc",lineColor:"#000000",lineWidth:2}}},point:{events:{}},dataLabels:{animation:{},align:"center",borderWidth:0,defer:!0,formatter:function(){let{numberFormatter:st}=this.series.chart;return"number"!=typeof this.y?"":st(this.y,-1)},padding:5,style:{fontSize:"0.7em",fontWeight:"bold",color:"contrast",textOutline:"1px contrast"},verticalAlign:"bottom",x:0,y:0},cropThreshold:300,opacity:1,pointRange:0,softThreshold:!0,states:{normal:{animation:!0},hover:{animation:{duration:150},lineWidthPlus:1,marker:{},halo:{size:10,opacity:.25}},select:{animation:{duration:0}},inactive:{animation:{duration:150},opacity:.2}},stickyTracking:!0,turboThreshold:1e3,findNearestPointBy:"x"}}),St(Y,"Core/Series/SeriesRegistry.js",[Y["Core/Globals.js"],Y["Core/Defaults.js"],Y["Core/Series/Point.js"],Y["Core/Utilities.js"]],function(st,nt,gt,mt){var pt;let{defaultOptions:ht}=nt,{extend:dt,extendClass:J,merge:Z}=mt;return function(K){function k(L,I){let D=ht.plotOptions||{},u=I.defaultOptions,b=I.prototype;return b.type=L,b.pointClass||(b.pointClass=gt),!K.seriesTypes[L]&&(u&&(D[L]=u),K.seriesTypes[L]=I,!0)}K.seriesTypes=st.seriesTypes,K.registerSeriesType=k,K.seriesType=function(L,I,D,u,b){let C=ht.plotOptions||{};if(C[L]=Z(C[I=I||""],D),delete K.seriesTypes[L],k(L,J(K.seriesTypes[I]||function(){},u)),K.seriesTypes[L].prototype.type=L,b){class P extends gt{}dt(P.prototype,b),K.seriesTypes[L].prototype.pointClass=P}return K.seriesTypes[L]}}(pt||(pt={})),pt}),St(Y,"Core/Series/Series.js",[Y["Core/Animation/AnimationUtilities.js"],Y["Core/Defaults.js"],Y["Core/Foundation.js"],Y["Core/Globals.js"],Y["Core/Legend/LegendSymbol.js"],Y["Core/Series/Point.js"],Y["Core/Series/SeriesDefaults.js"],Y["Core/Series/SeriesRegistry.js"],Y["Core/Renderer/SVG/SVGElement.js"],Y["Core/Utilities.js"]],function(st,nt,gt,mt,pt,ht,dt,J,Z,K){let{animObject:k,setAnimation:L}=st,{defaultOptions:I}=nt,{registerEventOptions:D}=gt,{svg:u,win:b}=mt,{seriesTypes:C}=J,{arrayMax:P,arrayMin:l,clamp:M,correctFloat:F,crisp:_,defined:S,destroyObjectProperties:o,diffObjects:p,erase:n,error:i,extend:e,find:r,fireEvent:a,getClosestDistance:y,getNestedProperty:v,insertItem:d,isArray:O,isNumber:$,isString:x,merge:E,objectEach:G,pick:z,removeEvent:q,splat:h,syncTimeout:c}=K;class g{constructor(){this.zoneAxis="y"}init(s,f){let m;a(this,"init",{options:f});let T=this,w=s.series;this.eventsToUnbind=[],T.chart=s,T.options=T.setOptions(f);let N=T.options,W=!1!==N.visible;T.linkedSeries=[],T.bindAxes(),e(T,{name:N.name,state:"",visible:W,selected:!0===N.selected}),D(this,N);let V=N.events;(V&&V.click||N.point&&N.point.events&&N.point.events.click||N.allowPointSelect)&&(s.runTrackerClick=!0),T.getColor(),T.getSymbol(),T.parallelArrays.forEach(function(Q){T[Q+"Data"]||(T[Q+"Data"]=[])}),T.isCartesian&&(s.hasCartesianSeries=!0),w.length&&(m=w[w.length-1]),T._i=z(m&&m._i,-1)+1,T.opacity=T.options.opacity,s.orderItems("series",d(this,w)),N.dataSorting&&N.dataSorting.enabled?T.setDataSortingOptions():T.points||T.data||T.setData(N.data,!1),a(this,"afterInit")}is(s){return C[s]&&this instanceof C[s]}bindAxes(){let s,f=this,m=f.options,T=f.chart;
1a(this,"bindAxes",null,function(){(f.axisTypes||[]).forEach(function(w){(T[w]||[]).forEach(function(N){s=N.options,(z(m[w],0)===N.index||void 0!==m[w]&&m[w]===s.id)&&(d(f,N.series),f[w]=N,N.isDirty=!0)}),f[w]||f.optionalAxis===w||i(18,!0,T)})}),a(this,"afterBindAxes")}updateParallelArrays(s,f,m){let T=s.series,w=$(f)?function(N){let W="y"===N&&T.toYData?T.toYData(s):s[N];T[N+"Data"][f]=W}:function(N){Array.prototype[f].apply(T[N+"Data"],m)};T.parallelArrays.forEach(w)}hasData(){return this.visible&&void 0!==this.dataMax&&void 0!==this.dataMin||this.visible&&this.yData&&this.yData.length>0}hasMarkerChanged(s,f){let m=s.marker,T=f.marker||{};return m&&(T.enabled&&!m.enabled||T.symbol!==m.symbol||T.height!==m.height||T.width!==m.width)}autoIncrement(s){let W,V,f=this.options,m=f.pointIntervalUnit,T=f.relativeXValue,w=this.chart.time,N=this.xIncrement;return N=z(N,f.pointStart,0),this.pointInterval=V=z(this.pointInterval,f.pointInterval,1),T&&$(s)&&(V*=s),m&&(W=new w.Date(N),"day"===m?w.set("Date",W,w.get("Date",W)+V):"month"===m?w.set("Month",W,w.get("Month",W)+V):"year"===m&&w.set("FullYear",W,w.get("FullYear",W)+V),V=W.getTime()-N),T&&$(s)?N+V:(this.xIncrement=N+V,N)}setDataSortingOptions(){let s=this.options;e(this,{requireSorting:!1,sorted:!1,enabledDataSorting:!0,allowDG:!1}),S(s.pointRange)||(s.pointRange=1)}setOptions(s){let f,m=this.chart,T=m.options.plotOptions,w=m.userOptions||{},N=E(s),W=m.styledMode,V={plotOptions:T,userOptions:N};a(this,"setOptions",V);let Q=V.plotOptions[this.type],lt=w.plotOptions||{},ct=lt.series||{},B=I.plotOptions[this.type]||{},R=lt[this.type]||{};this.userOptions=V.userOptions;let H=E(Q,T.series,R,N);this.tooltipOptions=E(I.tooltip,I.plotOptions.series?.tooltip,B?.tooltip,m.userOptions.tooltip,lt.series?.tooltip,R.tooltip,N.tooltip),this.stickyTracking=z(N.stickyTracking,R.stickyTracking,ct.stickyTracking,!!this.tooltipOptions.shared&&!this.noSharedTooltip||H.stickyTracking),null===Q.marker&&delete H.marker,this.zoneAxis=H.zoneAxis||"y";let X=this.zones=(H.zones||[]).map(tt=>({...tt}));return(H.negativeColor||H.negativeFillColor)&&!H.zones&&(f={value:H[this.zoneAxis+"Threshold"]||H.threshold||0,className:"highcharts-negative"},W||(f.color=H.negativeColor,f.fillColor=H.negativeFillColor),X.push(f)),X.length&&S(X[X.length-1].value)&&X.push(W?{}:{color:this.color,fillColor:this.fillColor}),a(this,"afterSetOptions",{options:H}),H}getName(){return z(this.options.name,"Series "+(this.index+1))}getCyclic(s,f,m){let T,w,N=this.chart,W=`${s}Index`,V=`${s}Counter`,Q=m?.length||N.options.chart.colorCount;!f&&(S(w=z("color"===s?this.options.colorIndex:void 0,this[W]))?T=w:(N.series.length||(N[V]=0),T=N[V]%Q,N[V]+=1),m&&(f=m[T])),void 0!==T&&(this[W]=T),this[s]=f}getColor(){this.chart.styledMode?this.getCyclic("color"):this.options.colorByPoint?this.color="#cccccc":this.getCyclic("color",this.options.color||I.plotOptions[this.type].color,this.chart.options.colors)}getPointsCollection(){return(this.hasGroupedData?this.points:this.data)||[]}getSymbol(){this.getCyclic("symbol",this.options.marker.symbol,this.chart.options.symbols)}findPointIndex(s,f){let m,T,w,N=s.id,W=s.x,V=this.points,Q=this.options.dataSorting;if(N){let lt=this.chart.get(N);lt instanceof ht&&(m=lt)}else if(this.linkedParent||this.enabledDataSorting||this.options.relativeXValue){let lt=ct=>!ct.touched&&ct.index===s.index;if(Q&&Q.matchByName?lt=ct=>!ct.touched&&ct.name===s.name:this.options.relativeXValue&&(lt=ct=>!ct.touched&&ct.options.x===s.x),!(m=r(V,lt)))return}return m&&void 0!==(w=m&&m.index)&&(T=!0),void 0===w&&$(W)&&(w=this.xData.indexOf(W,f)),-1!==w&&void 0!==w&&this.cropped&&(w=w>=this.cropStart?w-this.cropStart:w),!T&&$(w)&&V[w]&&V[w].touched&&(w=void 0),w}updateData(s,f){let Q,lt,ct,B,m=this.options,T=m.dataSorting,w=this.points,N=[],W=this.requireSorting,V=s.length===w.length,R=!0;if(this.xIncrement=null,s.forEach(function(H,X){let tt,et=S(H)&&this.pointClass.prototype.optionsToObject.call({series:this},H)||{};et.id||$(et.x)?(-1===(tt=this.findPointIndex(et,B))||void 0===tt?N.push(H):w[tt]&&H!==m.data[tt]?(w[tt].update(H,!1,null,!1),w[tt].touched=!0,W&&(B=tt+1)):w[tt]&&(w[tt].touched=!0),(!V||X!==tt||T&&T.enabled||this.hasDerivedData)&&(Q=!0)):N.push(H)},this),Q)for(lt=w.length;lt--;)(ct=w[lt])&&!ct.touched&&ct.remove&&ct.remove(!1,f);else!V||T&&T.enabled?R=!1:(s.forEach(function(H,X){H===w[X].y||w[X].destroyed||w[X].update(H,!1,null,!1)}),N.length=0);
1return w.forEach(function(H){H&&(H.touched=!1)}),!!R&&(N.forEach(function(H){this.addPoint(H,!1,null,null,!1)},this),null===this.xIncrement&&this.xData&&this.xData.length&&(this.xIncrement=P(this.xData),this.autoIncrement()),!0)}setData(s,f=!0,m,T){let rt,ot,ut,yt,w=this,N=w.points,W=N&&N.length||0,V=w.options,Q=w.chart,lt=V.dataSorting,ct=w.xAxis,B=V.turboThreshold,R=this.xData,H=this.yData,X=w.pointArrayMap,tt=X&&X.length,et=V.keys,ft=0,xt=1;Q.options.chart.allowMutatingData||(V.data&&delete w.options.data,w.userOptions.data&&delete w.userOptions.data,yt=E(!0,s));let bt=(s=yt||s||[]).length;if(lt&<.enabled&&(s=this.sortData(s)),Q.options.chart.allowMutatingData&&!1!==T&&bt&&W&&!w.cropped&&!w.hasGroupedData&&w.visible&&!w.boosted&&(ut=this.updateData(s,m)),!ut){w.xIncrement=null,w.colorCounter=0,this.parallelArrays.forEach(function(Mt){w[Mt+"Data"].length=0});let wt=B&&bt>B;if(wt){let Mt=w.getFirstValidPoint(s),vt=w.getFirstValidPoint(s,bt-1,-1),_t=At=>!(!O(At)||!et&&!$(At[0]));if($(Mt)&&$(vt))for(rt=0;rt<bt;rt++)R[rt]=this.autoIncrement(),H[rt]=s[rt];else if(_t(Mt)&&_t(vt))if(tt)if(Mt.length===tt)for(rt=0;rt<bt;rt++)R[rt]=this.autoIncrement(),H[rt]=s[rt];else for(rt=0;rt<bt;rt++)ot=s[rt],R[rt]=ot[0],H[rt]=ot.slice(1,tt+1);else if(et&&(ft=et.indexOf("x"),xt=et.indexOf("y"),ft=ft>=0?ft:0,xt=xt>=0?xt:1),1===Mt.length&&(xt=0),ft===xt)for(rt=0;rt<bt;rt++)R[rt]=this.autoIncrement(),H[rt]=s[rt][xt];else for(rt=0;rt<bt;rt++)ot=s[rt],R[rt]=ot[ft],H[rt]=ot[xt];else wt=!1}if(!wt)for(rt=0;rt<bt;rt++)ot={series:w},w.pointClass.prototype.applyOptions.apply(ot,[s[rt]]),w.updateParallelArrays(ot,rt);for(H&&x(H[0])&&i(14,!0,Q),w.data=[],w.options.data=w.userOptions.data=s,rt=W;rt--;)N[rt]?.destroy();ct&&(ct.minRange=ct.userMinRange),w.isDirty=Q.isDirtyBox=!0,w.isDirtyData=!!N,m=!1}"point"===V.legendType&&(this.processData(),this.generatePoints()),f&&Q.redraw(m)}sortData(s){let f=this,m=f.options.dataSorting.sortKey||"y",T=function(w,N){return S(N)&&w.pointClass.prototype.optionsToObject.call({series:w},N)||{}};return s.forEach(function(w,N){s[N]=T(f,w),s[N].index=N},this),s.concat().sort((w,N)=>{let W=v(m,w),V=v(m,N);return V<W?-1:V>W?1:0}).forEach(function(w,N){w.x=N},this),f.linkedSeries&&f.linkedSeries.forEach(function(w){let N=w.options,W=N.data;N.dataSorting&&N.dataSorting.enabled||!W||(W.forEach(function(V,Q){W[Q]=T(w,V),s[Q]&&(W[Q].x=s[Q].x,W[Q].index=Q)}),w.setData(W,!1))}),s}getProcessedData(s){let W,V,lt,ct,B,f=this,m=f.xAxis,T=f.options.cropThreshold,w=m?.logarithmic,N=f.isCartesian,Q=0,R=f.xData,H=f.yData,X=!1,tt=R.length;m&&(ct=(lt=m.getExtremes()).min,B=lt.max,X=!(!m.categories||m.names.length)),N&&f.sorted&&!s&&(!T||tt>T||f.forceCrop)&&(R[tt-1]<ct||R[0]>B?(R=[],H=[]):f.yData&&(R[0]<ct||R[tt-1]>B)&&(R=(W=this.cropData(f.xData,f.yData,ct,B)).xData,H=W.yData,Q=W.start,V=!0));let et=y([w?R.map(w.log2lin):R],()=>f.requireSorting&&!X&&i(15,!1,f.chart));return{xData:R,yData:H,cropped:V,cropStart:Q,closestPointRange:et}}processData(s){if(this.isCartesian&&!this.isDirty&&!this.xAxis.isDirty&&!this.yAxis.isDirty&&!s)return!1;let m=this.getProcessedData();this.cropped=m.cropped,this.cropStart=m.cropStart,this.processedXData=m.xData,this.processedYData=m.yData,this.closestPointRange=this.basePointRange=m.closestPointRange,a(this,"afterProcessData")}cropData(s,f,m,T){let N,W,w=s.length,V=0,Q=w;for(N=0;N<w;N++)if(s[N]>=m){V=Math.max(0,N-1);break}for(W=N;W<w;W++)if(s[W]>T){Q=W+1;break}return{xData:s.slice(V,Q),yData:f.slice(V,Q),start:V,end:Q}}generatePoints(){let B,R,H,X,s=this.options,f=this.processedData||s.data,m=this.processedXData,T=this.processedYData,w=this.pointClass,N=m.length,W=this.cropStart||0,V=this.hasGroupedData,Q=s.keys,lt=[],ct=s.dataGrouping&&s.dataGrouping.groupAll?W:0,tt=this.data;if(!tt&&!V){let et=[];et.length=f.length,tt=this.data=et}for(Q&&V&&(this.options.keys=!1),X=0;X<N;X++)R=W+X,V?((H=new w(this,[m[X]].concat(h(T[X])))).dataGroup=this.groupMap[ct+X],H.dataGroup.options&&(H.options=H.dataGroup.options,e(H,H.dataGroup.options),delete H.dataLabels)):(H=tt[R])||void 0===f[R]||(tt[R]=H=new w(this,f[R],m[X])),H&&(H.index=V?ct+X:R,lt[X]=H
1);if(this.options.keys=Q,tt&&(N!==(B=tt.length)||V))for(X=0;X<B;X++)X!==W||V||(X+=N),tt[X]&&(tt[X].destroyElements(),tt[X].plotX=void 0);this.data=tt,this.points=lt,a(this,"afterGeneratePoints")}getXExtremes(s){return{min:l(s),max:P(s)}}getExtremes(s,f){let ct,B,R,H,X,tt,et,m=this.xAxis,T=this.yAxis,w=[],N=this.requireSorting&&!this.is("column")?1:0,W=!!T&&T.positiveValuesOnly,V=f||this.getExtremesFromAll||this.options.getExtremesFromAll,{processedXData:Q,processedYData:lt}=this,rt=0,ot=0,ut=0;if(this.cropped&&V){let bt=this.getProcessedData(!0);Q=bt.xData,lt=bt.yData}let ft=(s=s||this.stackedYData||lt||[]).length,xt=Q||this.xData;for(m&&(rt=(ct=m.getExtremes()).min,ot=ct.max),tt=0;tt<ft;tt++)if(H=xt[tt],B=($(X=s[tt])||O(X))&&(($(X)?X>0:X.length)||!W),R=f||this.getExtremesFromAll||this.options.getExtremesFromAll||this.cropped||!m||(xt[tt+N]||H)>=rt&&(xt[tt-N]||H)<=ot,B&&R)if(et=X.length)for(;et--;)$(X[et])&&(w[ut++]=X[et]);else w[ut++]=X;let yt={activeYData:w,dataMin:l(w),dataMax:P(w)};return a(this,"afterGetExtremes",{dataExtremes:yt}),yt}applyExtremes(){let s=this.getExtremes();return this.dataMin=s.dataMin,this.dataMax=s.dataMax,s}getFirstValidPoint(s,f=0,m=1){let T=s.length,w=f;for(;w>=0&&w<T;){if(S(s[w]))return s[w];w+=m}}translate(){this.processedXData||this.processData(),this.generatePoints();let R,H,X,tt,s=this.options,f=s.stacking,m=this.xAxis,T=m.categories,w=this.enabledDataSorting,N=this.yAxis,W=this.points,V=W.length,Q=this.pointPlacementToXValue(),lt=!!Q,ct=s.threshold,B=s.startFromThreshold?ct:0,et=Number.MAX_VALUE;function rt(ot){return M(ot,-1e9,1e9)}for(R=0;R<V;R++){let ot,xt,yt,ut=W[R],ft=ut.x,bt=ut.y,wt=ut.low,Mt=f&&N.stacking?.stacks[(this.negStacks&&bt<(B?0:ct)?"-":"")+this.stackKey];H=m.translate(ft,!1,!1,!1,!0,Q),ut.plotX=$(H)?F(rt(H)):void 0,f&&this.visible&&Mt&&Mt[ft]&&(tt=this.getStackIndicator(tt,ft,this.index),!ut.isNull&&tt.key&&(yt=(xt=Mt[ft]).points[tt.key]),xt&&O(yt)&&(wt=yt[0],bt=yt[1],wt===B&&tt.key===Mt[ft].base&&(wt=z($(ct)?ct:N.min)),N.positiveValuesOnly&&S(wt)&&wt<=0&&(wt=void 0),ut.total=ut.stackTotal=z(xt.total),ut.percentage=S(ut.y)&&xt.total?ut.y/xt.total*100:void 0,ut.stackY=bt,this.irregularWidths||xt.setOffset(this.pointXOffset||0,this.barW||0,void 0,void 0,void 0,this.xAxis))),ut.yBottom=S(wt)?rt(N.translate(wt,!1,!0,!1,!0)):void 0,this.dataModify&&(bt=this.dataModify.modifyValue(bt,R)),$(bt)&&void 0!==ut.plotX&&(ot=$(ot=N.translate(bt,!1,!0,!1,!0))?rt(ot):void 0),ut.plotY=ot,ut.isInside=this.isPointInside(ut),ut.clientX=lt?F(m.translate(ft,!1,!1,!1,!0,Q)):H,ut.negative=(ut.y||0)<(ct||0),ut.category=z(T&&T[ut.x],ut.x),ut.isNull||!1===ut.visible||(void 0!==X&&(et=Math.min(et,Math.abs(H-X))),X=H),ut.zone=this.zones.length?ut.getZone():void 0,!ut.graphic&&this.group&&w&&(ut.isNew=!0)}this.closestPointRangePx=et,a(this,"afterTranslate")}getValidPoints(s,f,m){let T=this.chart;return(s||this.points||[]).filter(function(w){let{plotX:N,plotY:W}=w;return!(!(m||!w.isNull&&$(W))||f&&!T.isInsidePlot(N,W,{inverted:T.inverted}))&&!1!==w.visible})}getClipBox(){let{chart:s,xAxis:f,yAxis:m}=this,{x:T,y:w,width:N,height:W}=E(s.clipBox);return f&&f.len!==s.plotSizeX&&(N=f.len),m&&m.len!==s.plotSizeY&&(W=m.len),s.inverted&&!this.invertible&&([N,W]=[W,N]),{x:T,y:w,width:N,height:W}}getSharedClipKey(){return this.sharedClipKey=(this.options.xAxis||0)+","+(this.options.yAxis||0),this.sharedClipKey}setClip(){let{chart:s,group:f,markerGroup:m}=this,T=s.sharedClips,w=s.renderer,N=this.getClipBox(),W=this.getSharedClipKey(),V=T[W];V?V.animate(N):T[W]=V=w.clipRect(N),f&&f.clip(!1===this.options.clip?void 0:V),m&&m.clip()}animate(s){let{chart:f,group:m,markerGroup:T}=this,w=f.inverted,N=k(this.options.animation),W=[this.getSharedClipKey(),N.duration,N.easing,N.defer].join(","),V=f.sharedClips[W],Q=f.sharedClips[W+"m"];if(s&&m){let lt=this.getClipBox();V?V.attr("height",lt.height):(lt.width=0,w&&(lt.x=f.plotHeight),V=f.renderer.clipRect(lt),f.sharedClips[W]=V,Q=f.renderer.clipRect({x:-99,y:-99,width:w?f.plotWidth+199:99,height:w?99:f.plotHeight+199}),f.sharedClips[W+"m"]=Q),m.clip(V),T?.clip(Q)}else if(V&&!V.hasClass("highcharts-animating")){let lt=this.getClipBox(),ct=N.step;(T?.element.childNodes.length||f.series.length>1)&&(N.step=function(B,R){ct&&ct.apply(R,arguments),"width"===R.prop&&Q?.element&&Q.attr(w?"height":"width",B+99)}),V.addClass("highcharts-animating").animate(lt,N)}}
1afterAnimate(){this.setClip(),G(this.chart.sharedClips,(s,f,m)=>{s&&!this.chart.container.querySelector(`[clip-path="url(#${s.id})"]`)&&(s.destroy(),delete m[f])}),this.finishedAnimating=!0,a(this,"afterAnimate")}drawPoints(s=this.points){let f,m,T,w,N,W,V,Q=this.chart,lt=Q.styledMode,{colorAxis:ct,options:B}=this,R=B.marker,H=this[this.specialGroup||"markerGroup"],X=this.xAxis,tt=z(R.enabled,!X||!!X.isRadial||null,this.closestPointRangePx>=R.enabledThreshold*R.radius);if(!1!==R.enabled||this._hasPointMarkers)for(f=0;f<s.length;f++)if(w=(T=(m=s[f]).graphic)?"animate":"attr",N=m.marker||{},W=!!m.marker,(tt&&void 0===N.enabled||N.enabled)&&!m.isNull&&!1!==m.visible){let et=z(N.symbol,this.symbol,"rect");V=this.markerAttribs(m,m.selected&&"select"),this.enabledDataSorting&&(m.startXPos=X.reversed?-(V.width||0):X.width);let rt=!1!==m.isInside;if(!T&&rt&&((V.width||0)>0||m.hasImage)&&(m.graphic=T=Q.renderer.symbol(et,V.x,V.y,V.width,V.height,W?N:R).add(H),this.enabledDataSorting&&Q.hasRendered&&(T.attr({x:m.startXPos}),w="animate")),T&&"animate"===w&&T[rt?"show":"hide"](rt).animate(V),T){let ot=this.pointAttribs(m,lt||!m.selected?void 0:"select");lt?ct&&T.css({fill:ot.fill}):T[w](ot)}T&&T.addClass(m.getClassName(),!0)}else T&&(m.graphic=T.destroy())}markerAttribs(s,f){let V,Q,m=this.options,T=m.marker,w=s.marker||{},N=w.symbol||T.symbol,W={},lt=z(w.radius,T&&T.radius);f&&(V=T.states[f],lt=z((Q=w.states&&w.states[f])&&Q.radius,V&&V.radius,lt&<+(V&&V.radiusPlus||0))),s.hasImage=N&&0===N.indexOf("url"),s.hasImage&&(lt=0);let ct=s.pos();return $(lt)&&ct&&(m.crisp&&(ct[0]=_(ct[0],s.hasImage?0:"rect"===N?T?.lineWidth||0:1)),W.x=ct[0]-lt,W.y=ct[1]-lt),lt&&(W.width=W.height=2*lt),W}pointAttribs(s,f){let Q,lt,B,R,m=this.options.marker,T=s&&s.options,w=T&&T.marker||{},N=T&&T.color,W=s&&s.color,V=s&&s.zone&&s.zone.color,ct=this.color,H=z(w.lineWidth,m.lineWidth),X=1;return ct=N||V||W||ct,B=w.fillColor||m.fillColor||ct,R=w.lineColor||m.lineColor||ct,Q=m.states[f=f||"normal"]||{},H=z((lt=w.states&&w.states[f]||{}).lineWidth,Q.lineWidth,H+z(lt.lineWidthPlus,Q.lineWidthPlus,0)),B=lt.fillColor||Q.fillColor||B,{stroke:R=lt.lineColor||Q.lineColor||R,"stroke-width":H,fill:B,opacity:X=z(lt.opacity,Q.opacity,X)}}destroy(s){let f,m,T,w=this,N=w.chart,W=/AppleWebKit\/533/.test(b.navigator.userAgent),V=w.data||[];for(a(w,"destroy",{keepEventsForUpdate:s}),this.removeEvents(s),(w.axisTypes||[]).forEach(function(Q){(T=w[Q])&&T.series&&(n(T.series,w),T.isDirty=T.forceRedraw=!0)}),w.legendItem&&w.chart.legend.destroyItem(w),f=V.length;f--;)(m=V[f])&&m.destroy&&m.destroy();for(let Q of w.zones)o(Q,void 0,!0);K.clearTimeout(w.animationTimeout),G(w,function(Q,lt){Q instanceof Z&&!Q.survive&&Q[W&&"group"===lt?"hide":"destroy"]()}),N.hoverSeries===w&&(N.hoverSeries=void 0),n(N.series,w),N.orderItems("series"),G(w,function(Q,lt){s&&"hcEvents"===lt||delete w[lt]})}applyZones(){let{area:s,chart:f,graph:m,zones:T,points:w,xAxis:N,yAxis:W,zoneAxis:V}=this,{inverted:Q,renderer:lt}=f,ct=this[`${V}Axis`],{isXAxis:B,len:R=0}=ct||{},H=(m?.strokeWidth()||0)/2+1,X=(tt,et=0,rt=0)=>{Q&&(rt=R-rt);let{translated:ot=0,lineClip:ut}=tt,ft=rt-ot;ut?.push(["L",et,Math.abs(ft)<H?rt-H*(ft<=0?-1:1):ot])};if(T.length&&(m||s)&&ct&&$(ct.min)){let tt=ct.getExtremes().max,et=ut=>{ut.forEach((ft,xt)=>{("M"===ft[0]||"L"===ft[0])&&(ut[xt]=[ft[0],B?R-ft[1]:ft[1],B?ft[2]:R-ft[2]])})};if(T.forEach(ut=>{ut.lineClip=[],ut.translated=M(ct.toPixels(z(ut.value,tt),!0)||0,0,R)}),m&&!this.showLine&&m.hide(),s&&s.hide(),"y"===V&&w.length<N.len)for(let ut of w){let{plotX:ft,plotY:xt,zone:yt}=ut,bt=yt&&T[T.indexOf(yt)-1];yt&&X(yt,ft,xt),bt&&X(bt,ft,xt)}let rt=[],ot=ct.toPixels(ct.getExtremes().min,!0);T.forEach(ut=>{let ft=ut.lineClip||[],xt=Math.round(ut.translated||0);N.reversed&&ft.reverse();let{clip:yt,simpleClip:bt}=ut,wt=0,Mt=0,vt=N.len,_t=W.len;B?(wt=xt,vt=ot):(Mt=xt,_t=ot);let At=[["M",wt,Mt],["L",vt,Mt],["L",vt,_t],["L",wt,_t],["Z"]],Et=[At[0],...ft,At[1],At[2],...rt,At[3],At[4]];rt=ft.reverse(),ot=xt,Q&&(et(Et),s&&et(At)),yt?(yt.animate({d:Et}),bt?.animate({d:At})):(yt=ut.clip=lt.path(Et),s&&(bt=ut.simpleClip=lt.path(At))),m&&ut.graph?.clip(yt),s&&ut.area?.clip(bt)})}else this.visible&&(m&&m.show(),s&&s.show())}plotGroup(s,f,m,T,w){let N=this[s],W=!N,V={visibility:m,zIndex:T||.1};return S(this.opacity)&&!this.chart.styledMode&&"inactive"!==this.state&&(V.opacity=this.opacity),N||(this[s]=N=this.chart.renderer.g().add(w)),N.addClass("highcharts-"+f+" highcharts-series-"+this.index+" highcharts-"+this.t
1ype+"-series "+(S(this.colorIndex)?"highcharts-color-"+this.colorIndex+" ":"")+(this.options.className||"")+(N.hasClass("highcharts-tracker")?" highcharts-tracker":""),!0),N.attr(V)[W?"attr":"animate"](this.getPlotBox(f)),N}getPlotBox(s){let f=this.xAxis,m=this.yAxis,T=this.chart,w=T.inverted&&!T.polar&&f&&this.invertible&&"series"===s;return T.inverted&&(f=m,m=this.xAxis),{translateX:f?f.left:T.plotLeft,translateY:m?m.top:T.plotTop,rotation:w?90:0,rotationOriginX:w?(f.len-m.len)/2:0,rotationOriginY:w?(f.len+m.len)/2:0,scaleX:w?-1:1,scaleY:1}}removeEvents(s){let{eventsToUnbind:f}=this;s||q(this),f.length&&(f.forEach(m=>{m()}),f.length=0)}render(){let s=this,{chart:f,options:m,hasRendered:T}=s,w=k(m.animation),N=s.visible?"inherit":"hidden",W=m.zIndex,V=f.seriesGroup,Q=s.finishedAnimating?0:w.duration;a(this,"render"),s.plotGroup("group","series",N,W,V),s.markerGroup=s.plotGroup("markerGroup","markers",N,W,V),!1!==m.clip&&s.setClip(),Q&&s.animate?.(!0),s.drawGraph&&(s.drawGraph(),s.applyZones()),s.visible&&s.drawPoints(),s.drawDataLabels?.(),s.redrawPoints?.(),m.enableMouseTracking&&s.drawTracker?.(),Q&&s.animate?.(),T||(Q&&w.defer&&(Q+=w.defer),s.animationTimeout=c(()=>{s.afterAnimate()},Q||0)),s.isDirty=!1,s.hasRendered=!0,a(s,"afterRender")}redraw(){let s=this.isDirty||this.isDirtyData;this.translate(),this.render(),s&&delete this.kdTree}reserveSpace(){return this.visible||!this.chart.options.chart.ignoreHiddenSeries}searchPoint(s,f){let{xAxis:m,yAxis:T}=this,w=this.chart.inverted;return this.searchKDTree({clientX:w?m.len-s.chartY+m.pos:s.chartX-m.pos,plotY:w?T.len-s.chartX+T.pos:s.chartY-T.pos},f,s)}buildKDTree(s){this.buildingKdTree=!0;let f=this,m=f.options.findNearestPointBy.indexOf("y")>-1?2:1;delete f.kdTree,c(function(){f.kdTree=function T(w,N,W){let V,Q,lt=w?.length;if(lt)return V=f.kdAxisArray[N%W],w.sort((ct,B)=>(ct[V]||0)-(B[V]||0)),{point:w[Q=Math.floor(lt/2)],left:T(w.slice(0,Q),N+1,W),right:T(w.slice(Q+1),N+1,W)}}(f.getValidPoints(void 0,!f.directTouch),m,m),f.buildingKdTree=!1},f.options.kdNow||"touchstart"===s?.type?0:1)}searchKDTree(s,f,m){let T=this,[w,N]=this.kdAxisArray,W=f?"distX":"dist",V=(T.options.findNearestPointBy||"").indexOf("y")>-1?2:1,Q=!!T.isBubble;if(this.kdTree||this.buildingKdTree||this.buildKDTree(m),this.kdTree)return function lt(ct,B,R,H){let et,rt,X=B.point,tt=T.kdAxisArray[R%H],ot=X;!function(yt,bt){let wt=yt[w],Mt=bt[w],vt=S(wt)&&S(Mt)?wt-Mt:null,_t=yt[N],At=bt[N],Et=S(_t)&&S(At)?_t-At:0,Lt=Q&&bt.marker?.radius||0;bt.dist=Math.sqrt((vt&&vt*vt||0)+Et*Et)-Lt,bt.distX=S(vt)?Math.abs(vt)-Lt:Number.MAX_VALUE}(ct,X);let ut=(ct[tt]||0)-(X[tt]||0)+(Q&&X.marker?.radius||0),ft=ut<0?"left":"right",xt=ut<0?"right":"left";return B[ft]&&(ot=(et=lt(ct,B[ft],R+1,H))[W]<ot[W]?et:X),B[xt]&&Math.sqrt(ut*ut)<ot[W]&&(ot=(rt=lt(ct,B[xt],R+1,H))[W]<ot[W]?rt:ot),ot}(s,this.kdTree,V,V)}pointPlacementToXValue(){let{options:s,xAxis:f}=this,m=s.pointPlacement;return"between"===m&&(m=f.reversed?-.5:.5),$(m)?m*(s.pointRange||f.pointRange):0}isPointInside(s){let{chart:f,xAxis:m,yAxis:T}=this,{plotX:w=-1,plotY:N=-1}=s;return N>=0&&N<=(T?T.len:f.plotHeight)&&w>=0&&w<=(m?m.len:f.plotWidth)}drawTracker(){let s=this,f=s.options,m=f.trackByArea,T=[].concat((m?s.areaPath:s.graphPath)||[]),w=s.chart,N=w.pointer,W=w.renderer,V=w.options.tooltip?.snap||0,Q=()=>{f.enableMouseTracking&&w.hoverSeries!==s&&s.onMouseOver()},lt="rgba(192,192,192,"+(u?1e-4:.002)+")",ct=s.tracker;ct?ct.attr({d:T}):s.graph&&(s.tracker=ct=W.path(T).attr({visibility:s.visible?"inherit":"hidden",zIndex:2}).addClass(m?"highcharts-tracker-area":"highcharts-tracker-line").add(s.group),w.styledMode||ct.attr({"stroke-linecap":"round","stroke-linejoin":"round",stroke:lt,fill:m?lt:"none","stroke-width":s.graph.strokeWidth()+(m?0:2*V)}),[s.tracker,s.markerGroup,s.dataLabelsGroup].forEach(B=>{B&&(B.addClass("highcharts-tracker").on("mouseover",Q).on("mouseout",R=>{N?.onTrackerMouseOut(R)}),f.cursor&&!w.styledMode&&B.css({cursor:f.cursor}),B.on("touchstart",Q))})),a(this,"afterDrawTracker")}addPoint(s,f,m,T,w){let N,W,V=this.options,Q=this.data,lt=this.chart,ct=this.xAxis,B=ct&&ct.hasNames&&ct.names,R=V.data,H=this.xData;f=z(f,!0);let X={series:this};this.pointClass.prototype.applyOptions.apply(X,[s]);let tt=X.x;if(W=H.length,this.requireSorting&&tt<H[W-1])for(N=!0;W&&H[W-1]>tt;)W--;this.updateParallelArrays(X,"splice",[W,0,0]),this.updateParallelArrays(X,W),B&&X.name&&(B[tt]=X.name),R.splice(W,0,s),(N||this.processedData)&&(this.data.splice(W,0,null),this.processData()),"point"===V.legendT
1ype&&this.generatePoints(),m&&(Q[0]&&Q[0].remove?Q[0].remove(!1):(Q.shift(),this.updateParallelArrays(X,"shift"),R.shift())),!1!==w&&a(this,"addPoint",{point:X}),this.isDirty=!0,this.isDirtyData=!0,f&<.redraw(T)}removePoint(s,f,m){let T=this,w=T.data,N=w[s],W=T.points,V=T.chart,Q=function(){W&&W.length===w.length&&W.splice(s,1),w.splice(s,1),T.options.data.splice(s,1),T.updateParallelArrays(N||{series:T},"splice",[s,1]),N&&N.destroy(),T.isDirty=!0,T.isDirtyData=!0,f&&V.redraw()};L(m,V),f=z(f,!0),N?N.firePointEvent("remove",null,Q):Q()}remove(s,f,m,T){let w=this,N=w.chart;function W(){w.destroy(T),N.isDirtyLegend=N.isDirtyBox=!0,N.linkSeries(T),z(s,!0)&&N.redraw(f)}!1!==m?a(w,"remove",null,W):W()}update(s,f){a(this,"update",{options:s=p(s,this.userOptions)});let ct,B,m=this,T=m.chart,w=m.userOptions,N=m.initialType||m.type,W=T.options.plotOptions,V=C[N].prototype,Q=m.finishedAnimating&&{animation:!1},lt={},R=["colorIndex","eventOptions","navigatorSeries","symbolIndex","baseSeries"],H=s.type||w.type||T.options.chart.type,X=!(this.hasDerivedData||H&&H!==this.type||void 0!==s.pointStart||void 0!==s.pointInterval||void 0!==s.relativeXValue||s.joinBy||s.mapData||["dataGrouping","pointStart","pointInterval","pointIntervalUnit","keys"].some(et=>m.hasOptionChanged(et)));H=H||N,X&&(R.push("data","isDirtyData","isDirtyCanvas","points","processedData","processedXData","processedYData","xIncrement","cropped","_hasPointMarkers","hasDataLabels","nodes","layout","level","mapMap","mapData","minY","maxY","minX","maxX","transformGroups"),!1!==s.visible&&R.push("area","graph"),m.parallelArrays.forEach(function(et){R.push(et+"Data")}),s.data&&(s.dataSorting&&e(m.options.dataSorting,s.dataSorting),this.setData(s.data,!1))),s=E(w,{index:void 0===w.index?m.index:w.index,pointStart:W?.series?.pointStart??w.pointStart??m.xData?.[0]},!X&&{data:m.options.data},s,Q),X&&s.data&&(s.data=m.options.data),(R=["group","markerGroup","dataLabelsGroup","transformGroup"].concat(R)).forEach(function(et){R[et]=m[et],delete m[et]});let tt=!1;if(C[H]){if(tt=H!==m.type,m.remove(!1,!1,!1,!0),tt)if(T.propFromSeries(),Object.setPrototypeOf)Object.setPrototypeOf(m,C[H].prototype);else{let et=Object.hasOwnProperty.call(m,"hcEvents")&&m.hcEvents;for(B in V)m[B]=void 0;e(m,C[H].prototype),et?m.hcEvents=et:delete m.hcEvents}}else i(17,!0,T,{missingModuleFor:H});if(R.forEach(function(et){m[et]=R[et]}),m.init(T,s),X&&this.points)for(let et of(!1===(ct=m.options).visible?(lt.graphic=1,lt.dataLabel=1):(this.hasMarkerChanged(ct,w)&&(lt.graphic=1),m.hasDataLabels?.()||(lt.dataLabel=1)),this.points))et&&et.series&&(et.resolveColor(),Object.keys(lt).length&&et.destroyElements(lt),!1===ct.showInLegend&&et.legendItem&&T.legend.destroyItem(et));m.initialType=N,T.linkSeries(),T.setSortedData(),tt&&m.linkedSeries.length&&(m.isDirtyData=!0),a(this,"afterUpdate"),z(f,!0)&&T.redraw(!!X&&void 0)}setName(s){this.name=this.options.name=this.userOptions.name=s,this.chart.isDirtyLegend=!0}hasOptionChanged(s){let m=this.options[s],T=this.chart.options.plotOptions,w=this.userOptions[s],N=z(T?.[this.type]?.[s],T?.series?.[s]);return w&&!S(N)?m!==w:m!==z(N,m)}onMouseOver(){let s=this.chart,f=s.hoverSeries;s.pointer?.setHoverChartIndex(),f&&f!==this&&f.onMouseOut(),this.options.events.mouseOver&&a(this,"mouseOver"),this.setState("hover"),s.hoverSeries=this}onMouseOut(){let s=this.options,f=this.chart,m=f.tooltip,T=f.hoverPoint;f.hoverSeries=null,T&&T.onMouseOut(),this&&s.events.mouseOut&&a(this,"mouseOut"),m&&!this.stickyTracking&&(!m.shared||this.noSharedTooltip)&&m.hide(),f.series.forEach(function(w){w.setState("",!0)})}setState(s,f){let m=this,T=m.options,w=m.graph,N=T.inactiveOtherPoints,W=T.states,V=z(W[s||"normal"]&&W[s||"normal"].animation,m.chart.options.chart.animation),Q=T.lineWidth,lt=T.opacity;if(m.state!==(s=s||"")&&([m.group,m.markerGroup,m.dataLabelsGroup].forEach(function(ct){ct&&(m.state&&ct.removeClass("highcharts-series-"+m.state),s&&ct.addClass("highcharts-series-"+s))}),m.state=s,!m.chart.styledMode)){if(W[s]&&!1===W[s].enabled)return;if(s&&(Q=W[s].lineWidth||Q+(W[s].lineWidthPlus||0),lt=z(W[s].opacity,lt)),w&&!w.dashstyle&&$(Q))for(let ct of[w,...this.zones.map(B=>B.graph)])ct?.animate({"stroke-width":Q},V);N||[m.group,m.markerGroup,m.dataLabelsGroup,m.labelBySeries].forEac
1h(function(ct){ct&&ct.animate({opacity:lt},V)})}f&&N&&m.points&&m.setAllPointsToState(s||void 0)}setAllPointsToState(s){this.points.forEach(function(f){f.setState&&f.setState(s)})}setVisible(s,f){let m=this,T=m.chart,w=T.options.chart.ignoreHiddenSeries;m.visible=s=m.options.visible=m.userOptions.visible=void 0===s?!m.visible:s;let W=s?"show":"hide";["group","dataLabelsGroup","markerGroup","tracker","tt"].forEach(V=>{m[V]?.[W]()}),(T.hoverSeries===m||T.hoverPoint?.series===m)&&m.onMouseOut(),m.legendItem&&T.legend.colorizeItem(m,s),m.isDirty=!0,m.options.stacking&&T.series.forEach(V=>{V.options.stacking&&V.visible&&(V.isDirty=!0)}),m.linkedSeries.forEach(V=>{V.setVisible(s,!1)}),w&&(T.isDirtyBox=!0),a(m,W),!1!==f&&T.redraw()}show(){this.setVisible(!0)}hide(){this.setVisible(!1)}select(s){this.selected=s=this.options.selected=void 0===s?!this.selected:s,this.checkbox&&(this.checkbox.checked=s),a(this,s?"select":"unselect")}shouldShowTooltip(s,f,m={}){return m.series=this,m.visiblePlotOnly=!0,this.chart.isInsidePlot(s,f,m)}drawLegendSymbol(s,f){pt[this.options.legendSymbol||"rectangle"]?.call(this,s,f)}}return g.defaultOptions=dt,g.types=J.seriesTypes,g.registerType=J.registerSeriesType,e(g.prototype,{axisTypes:["xAxis","yAxis"],coll:"series",colorCounter:0,directTouch:!1,invertible:!0,isCartesian:!0,kdAxisArray:["clientX","plotY"],parallelArrays:["x","y"],pointClass:ht,requireSorting:!0,sorted:!0}),J.series=g,g}),St(Y,"Core/Legend/Legend.js",[Y["Core/Animation/AnimationUtilities.js"],Y["Core/Foundation.js"],Y["Core/Globals.js"],Y["Core/Series/Series.js"],Y["Core/Series/Point.js"],Y["Core/Renderer/RendererUtilities.js"],Y["Core/Templating.js"],Y["Core/Utilities.js"]],function(st,nt,gt,mt,pt,ht,dt,J){var Z;let{animObject:K,setAnimation:k}=st,{registerEventOptions:L}=nt,{composed:I,marginNames:D}=gt,{distribute:u}=ht,{format:b}=dt,{addEvent:C,createElement:P,css:l,defined:M,discardElement:F,find:_,fireEvent:S,isNumber:o,merge:p,pick:n,pushUnique:i,relativeLength:e,stableSort:r,syncTimeout:a}=J;class y{constructor(d,O){this.allItems=[],this.initialItemY=0,this.itemHeight=0,this.itemMarginBottom=0,this.itemMarginTop=0,this.itemX=0,this.itemY=0,this.lastItemY=0,this.lastLineHeight=0,this.legendHeight=0,this.legendWidth=0,this.maxItemWidth=0,this.maxLegendWidth=0,this.offsetWidth=0,this.padding=0,this.pages=[],this.symbolHeight=0,this.symbolWidth=0,this.titleHeight=0,this.totalItemWidth=0,this.widthOption=0,this.chart=d,this.setOptions(O),O.enabled&&(this.render(),L(this,O),C(this.chart,"endResize",function(){this.legend.positionCheckboxes()})),C(this.chart,"render",()=>{this.options.enabled&&this.proximate&&(this.proximatePositions(),this.positionItems())})}setOptions(d){let O=n(d.padding,8);this.options=d,this.chart.styledMode||(this.itemStyle=d.itemStyle,this.itemHiddenStyle=p(this.itemStyle,d.itemHiddenStyle)),this.itemMarginTop=d.itemMarginTop,this.itemMarginBottom=d.itemMarginBottom,this.padding=O,this.initialItemY=O-5,this.symbolWidth=n(d.symbolWidth,16),this.pages=[],this.proximate="proximate"===d.layout&&!this.chart.inverted,this.baseline=void 0}update(d,O){let $=this.chart;this.setOptions(p(!0,this.options,d)),"events"in this.options&&L(this,this.options),this.destroy(),$.isDirtyLegend=$.isDirtyBox=!0,n(O,!0)&&$.redraw(),S(this,"afterUpdate",{redraw:O})}colorizeItem(d,O){let{area:$,group:x,label:E,line:G,symbol:z}=d.legendItem||{};if(x?.[O?"removeClass":"addClass"]("highcharts-legend-item-hidden"),!this.chart.styledMode){let{itemHiddenStyle:q={}}=this,h=q.color,{fillColor:c,fillOpacity:g,lineColor:j,marker:s}=d.options,f=m=>(!O&&(m.fill&&(m.fill=h),m.stroke&&(m.stroke=h)),m);E?.css(p(O?this.itemStyle:q)),G?.attr(f({stroke:j||d.color})),z&&z.attr(f(s&&z.isMarker?d.pointAttribs():{fill:d.color})),$?.attr(f({fill:c||d.color,"fill-opacity":c?1:g??.75}))}S(this,"afterColorizeItem",{item:d,visible:O})}positionItems(){this.allItems.forEach(this.positionItem,this),this.chart.isResizing||this.positionCheckboxes()}positionItem(d){let{group:O,x:$=0,y:x=0}=d.legendItem||{},E=this.options,q=d.checkbox;if(O&&O.element){let h={translateX:E.rtl?this.legendWidth-$-2*E.symbolPadding-4:$,translateY:x};O[M(O.translateY)?"animate":"attr"](h,void 0,()=>{S(this,"afterPositionItem",{item:d})})}q&&(q.x=$,q.y=x)}destroyItem(d){let O=d.checkbox,$=d.legendItem||{};for(let x of["group","label","line","symbol"])$[x]&&($[x]=$[x].destroy());O&&F(O),d.legendItem=void 0}destroy(){for(let d of this.getAllItems())this.destroyItem(d);for(let d of["clipRect","up","down","pager","nav","box","title","group"])this[d]&&(this[d]=this[d].destroy());this.display=null}positionCheckboxes(){let d,O=this.group&&this.group.alignAttr,$=this.clipHeight||this.legendHeight,x=this.titleHeight;
vendor: 3,715 bytes, line 1
1O&&(d=O.translateY,this.allItems.forEach(function(E){let G,z=E.checkbox;z&&(G=d+x+z.y+(this.scrollOffset||0)+3,l(z,{left:O.translateX+E.checkboxOffset+z.x-20+"px",top:G+"px",display:this.proximate||G>d-6&&G<d+$-6?"":"none"}))},this))}renderTitle(){let x,d=this.options,O=this.padding,$=d.title,E=0;$.text&&(this.title||(this.title=this.chart.renderer.label($.text,O-3,O-4,void 0,void 0,void 0,d.useHTML,void 0,"legend-title").attr({zIndex:1}),this.chart.styledMode||this.title.css($.style),this.title.add(this.group)),$.width||this.title.css({width:this.maxLegendWidth+"px"}),E=(x=this.title.getBBox()).height,this.offsetWidth=x.width,this.contentGroup.attr({translateY:E})),this.titleHeight=E}setText(d){let O=this.options;d.legendItem.label.attr({text:O.labelFormat?b(O.labelFormat,d,this.chart):O.labelFormatter.call(d)})}renderItem(d){let O=d.legendItem=d.legendItem||{},$=this.chart,x=$.renderer,E=this.options,z=this.symbolWidth,q=E.symbolPadding||0,h=this.itemStyle,c=this.itemHiddenStyle,g="horizontal"===E.layout?n(E.itemDistance,20):0,j=!E.rtl,s=!d.series,f=!s&&d.series.drawLegendSymbol?d.series:d,m=f.options,T=!!this.createCheckboxForItem&&m&&m.showCheckbox,w=E.useHTML,N=d.options.className,W=O.label,V=z+q+g+(T?20:0);!W&&(O.group=x.g("legend-item").addClass("highcharts-"+f.type+"-series highcharts-color-"+d.colorIndex+(N?" "+N:"")+(s?" highcharts-series-"+d.index:"")).attr({zIndex:1}).add(this.scrollGroup),O.label=W=x.text("",j?z+q:-q,this.baseline||0,w),$.styledMode||W.css(p(d.visible?h:c)),W.attr({align:j?"left":"right",zIndex:2}).add(O.group),!this.baseline&&(this.fontMetrics=x.fontMetrics(W),this.baseline=this.fontMetrics.f+3+this.itemMarginTop,W.attr("y",this.baseline),this.symbolHeight=n(E.symbolHeight,this.fontMetrics.f),E.squareSymbol&&(this.symbolWidth=n(E.symbolWidth,Math.max(this.symbolHeight,16)),V=this.symbolWidth+q+g+(T?20:0),j&&W.attr("x",this.symbolWidth+q))),f.drawLegendSymbol(this,d),this.setItemEvents&&this.setItemEvents(d,W,w)),T&&!d.checkbox&&this.createCheckboxForItem&&this.createCheckboxForItem(d),this.colorizeItem(d,d.visible),($.styledMode||!h.width)&&W.css({width:(E.itemWidth||this.widthOption||$.spacingBox.width)-V+"px"}),this.setText(d);let Q=W.getBBox(),lt=this.fontMetrics&&this.fontMetrics.h||0;d.itemWidth=d.checkboxOffset=E.itemWidth||O.labelWidth||Q.width+V,this.maxItemWidth=Math.max(this.maxItemWidth,d.itemWidth),this.totalItemWidth+=d.itemWidth,this.itemHeight=d.itemHeight=Math.round(O.labelHeight||(Q.height>1.5*lt?Q.height:lt))}layoutItem(d){let O=this.options,$=this.padding,x="horizontal"===O.layout,E=d.itemHeight,G=this.itemMarginBottom,z=this.itemMarginTop,q=x?n(O.itemDistance,20):0,h=this.maxLegendWidth,c=O.alignColumns&&this.totalItemWidth>h?this.maxItemWidth:d.itemWidth,g=d.legendItem||{};x&&this.itemX-$+c>h&&(this.itemX=$,this.lastLineHeight&&(this.itemY+=z+this.lastLineHeight+G),this.lastLineHeight=0),this.lastItemY=z+this.itemY+G,this.lastLineHeight=Math.max(E,this.lastLineHeight),g.x=this.itemX,g.y=this.itemY,x?this.itemX+=c:(this.itemY+=z+E+G,this.lastLineHeight=E),this.offsetWidth=this.widthOption||Math.max((x?this.itemX-$-(d.checkbox?0:q):c)+$,this.offsetWidth)}getAllItems(){let d=[];return this.chart.series.forEach(function(O){let $=O&&O.options;O&&n($.showInLegend,!M($.linkedTo)&&void 0,!0)&&(d=d.concat((O.legendItem||{}).labels||("point"===$.legendType?O.data:O)))}),S(this,"afterGetAllItems",{allItems:d}),d}getAlignment(){let d=this.options;return this.proximate?d.align.charAt(0)+"tv":d.floating?"":d.align.charAt(0)+d.verticalAlign.charAt(0)+d.layout.charAt(0)}adjustMargins(d,O){let $=this.chart,x=this.options,E=this.getAlignment();E&&[/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/].forEac
vendor: 5,733 bytes, line 1
1h(function(G,z){G.test(E)&&!M(d[z])&&($[D[z]]=Math.max($[D[z]],$.legend[(z+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][z]*x[z%2?"x":"y"]+n(x.margin,12)+O[z]+($.titleOffset[z]||0)))})}proximatePositions(){let d,O=this.chart,$=[],x="left"===this.options.align;for(let E of(this.allItems.forEach(function(G){let z,q,c,g,h=x;G.yAxis&&(G.xAxis.options.reversed&&(h=!h),G.points&&(z=_(h?G.points:G.points.slice(0).reverse(),function(j){return o(j.plotY)})),q=this.itemMarginTop+G.legendItem.label.getBBox().height+this.itemMarginBottom,g=G.yAxis.top-O.plotTop,c=G.visible?(z?z.plotY:G.yAxis.height)+(g-.3*q):g+G.yAxis.height,$.push({target:c,size:q,item:G}))},this),u($,O.plotHeight)))d=E.item.legendItem||{},o(E.pos)&&(d.y=O.plotTop-O.spacing[0]+E.pos)}render(){let G,z,q,c,d=this.chart,O=d.renderer,$=this.options,x=this.padding,E=this.getAllItems(),h=this.group,g=this.box;this.itemX=x,this.itemY=this.initialItemY,this.offsetWidth=0,this.lastItemY=0,this.widthOption=e($.width,d.spacingBox.width-x),c=d.spacingBox.width-2*x-$.x,["rm","lm"].indexOf(this.getAlignment().substring(0,2))>-1&&(c/=2),this.maxLegendWidth=this.widthOption||c,h||(this.group=h=O.g("legend").addClass($.className||"").attr({zIndex:7}).add(),this.contentGroup=O.g().attr({zIndex:1}).add(h),this.scrollGroup=O.g().add(this.contentGroup)),this.renderTitle(),r(E,(j,s)=>(j.options&&j.options.legendIndex||0)-(s.options&&s.options.legendIndex||0)),$.reversed&&E.reverse(),this.allItems=E,this.display=G=!!E.length,this.lastLineHeight=0,this.maxItemWidth=0,this.totalItemWidth=0,this.itemHeight=0,E.forEach(this.renderItem,this),E.forEach(this.layoutItem,this),z=(this.widthOption||this.offsetWidth)+x,q=this.lastItemY+this.lastLineHeight+this.titleHeight,q=this.handleOverflow(q)+x,g||(this.box=g=O.rect().addClass("highcharts-legend-box").attr({r:$.borderRadius}).add(h)),d.styledMode||g.attr({stroke:$.borderColor,"stroke-width":$.borderWidth||0,fill:$.backgroundColor||"none"}).shadow($.shadow),z>0&&q>0&&g[g.placed?"animate":"attr"](g.crisp.call({},{x:0,y:0,width:z,height:q},g.strokeWidth())),h[G?"show":"hide"](),d.styledMode&&"none"===h.getStyle("display")&&(z=q=0),this.legendWidth=z,this.legendHeight=q,G&&this.align(),this.proximate||this.positionItems(),S(this,"afterRender")}align(d=this.chart.spacingBox){let O=this.chart,$=this.options,x=d.y;/(lth|ct|rth)/.test(this.getAlignment())&&O.titleOffset[0]>0?x+=O.titleOffset[0]:/(lbh|cb|rbh)/.test(this.getAlignment())&&O.titleOffset[2]>0&&(x-=O.titleOffset[2]),x!==d.y&&(d=p(d,{y:x})),O.hasRendered||(this.group.placed=!1),this.group.align(p($,{width:this.legendWidth,height:this.legendHeight,verticalAlign:this.proximate?"top":$.verticalAlign}),!0,d)}handleOverflow(d){let w,N,W,O=this,$=this.chart,x=$.renderer,E=this.options,G=E.y,z="top"===E.verticalAlign,q=this.padding,h=E.maxHeight,c=E.navigation,g=n(c.animation,!0),j=c.arrowSize||12,s=this.pages,f=this.allItems,m=function(ct){"number"==typeof ct?lt.attr({height:ct}):lt&&(O.clipRect=lt.destroy(),O.contentGroup.clip()),O.contentGroup.div&&(O.contentGroup.div.style.clip=ct?"rect("+q+"px,9999px,"+(q+ct)+"px,0)":"auto")},T=function(ct){return O[ct]=x.circle(0,0,1.3*j).translate(j/2,j/2).add(Q),$.styledMode||O[ct].attr("fill","rgba(0,0,0,0.0001)"),O[ct]},V=$.spacingBox.height+(z?-G:G)-q,Q=this.nav,lt=this.clipRect;return"horizontal"!==E.layout||"middle"===E.verticalAlign||E.floating||(V/=2),h&&(V=Math.min(V,h)),s.length=0,d&&V>0&&d>V&&!1!==c.enabled?(this.clipHeight=w=Math.max(V-20-this.titleHeight-q,0),this.currentPage=n(this.currentPage,1),this.fullHeight=d,f.forEach((ct,B)=>{let R=(W=ct.legendItem||{}).y||0,H=Math.round(W.label.getBBox().height),X=s.length;(!X||R-s[X-1]>w&&(N||R)!==s[X-1])&&(s.push(N||R),X++),W.pageIx=X-1,N&&((f[B-1].legendItem||{}).pageIx=X-1),B===f.length-1&&R+H-s[X-1]>w&&R>s[X-1]&&(s.push(R),W.pageIx=X),R!==N&&(N=R)}),lt||(lt=O.clipRect=x.clipRect(0,q-2,9999,0),O.contentGroup.clip(lt)),m(w),Q||(this.nav=Q=x.g().attr({zIndex:1}).add(this.group),this.up=x.symbol("triangle",0,0,j,j).add(Q),T("upTracker").on("click",function(){O.scroll(-1,g)}),this.pager=x.text("",15,10).addClass("highcharts-legend-navigation"),!$.styledMode&&c.style&&this.pager.css(c.style),this.pager.add(Q),this.down=x.symbol("triangle-down",0,0,j,j).add(Q),T("downTracker").on("click",function(){O.scroll(1,g)})),O.scroll(0),d=V):Q&&(m(),this.nav=Q.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0),d}scroll(d,O){let $=this.chart,x=this.pages,E=x.length,G=this.clipHeight,z=this.options.navigation,q=this.pager,h=this.padding,c=this.currentPage+d;c>E&&(c=E),c>0&&(void 0!==O&&k(O,$),this.nav.attr({translateX:h,translateY:G+this.padding+7+this.titleHeight,visibility:"inherit"}),[this.up,this.upTracker].forEach(function(g){g.attr({class:1===c?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})}),q.attr({text:c+"/"+E}),[this.down,this.downTracker].forEach(function(g){g.attr({x:18+this.pager.getBBox().width,class:c===E?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})},this),$.styledMode||(this.up.attr({fill:1===c?z.inactiveColor:z.activeColor}),this.upTracker.css({cursor:1===c?"default":"pointer"}),this.down.attr({fill:c===E?z.inactiveColor:z.activeColor}),this.downTracker.css({cursor:c===E?"default":"pointer"})),this.scrollOffset=-x[c-1]+this.initialItemY,this.scrollGroup.animate({translateY:this.scrollOffset}),this.currentPage=c,this.positionCheckboxes(),a(()=>{S(this,"afterScroll",{currentPage:c})},K(n(O,$.renderer.globalAnimation,!0)).duration))}setItemEvents(d,O,$){let x=this,E=d.legendItem||{},G=x.chart.renderer.boxWrapper,z=d instanceof pt,q=d instanceof mt,h="highcharts-legend-"+(z?"point":"series")+"-active",c=x.chart.styledMode,g=$?[O,E.symbol]:[E.group],j=s=>
1{x.allItems.forEach(f=>{d!==f&&[f].concat(f.linkedSeries||[]).forEach(m=>{m.setState(s,!z)})})};for(let s of g)s&&s.on("mouseover",function(){d.visible&&j("inactive"),d.setState("hover"),d.visible&&G.addClass(h),c||O.css(x.options.itemHoverStyle)}).on("mouseout",function(){x.chart.styledMode||O.css(p(d.visible?x.itemStyle:x.itemHiddenStyle)),j(""),G.removeClass(h),d.setState()}).on("click",function(f){G.removeClass(h),S(x,"itemClick",{browserEvent:f,legendItem:d},function(){d.setVisible&&d.setVisible(),j(d.visible?"inactive":"")}),z?d.firePointEvent("legendItemClick",{browserEvent:f}):q&&S(d,"legendItemClick",{browserEvent:f})})}createCheckboxForItem(d){d.checkbox=P("input",{type:"checkbox",className:"highcharts-legend-checkbox",checked:d.selected,defaultChecked:d.selected},this.options.itemCheckboxStyle,this.chart.container),C(d.checkbox,"click",function(O){S(d.series||d,"checkboxClick",{checked:O.target.checked,item:d},function(){d.select()})})}}return(Z=y||(y={})).compose=function(v){i(I,"Core.Legend")&&C(v,"beforeMargins",function(){this.legend=new Z(this,this.options.legend)})},y}),St(Y,"Core/Chart/Chart.js",[Y["Core/Animation/AnimationUtilities.js"],Y["Core/Axis/Axis.js"],Y["Core/Defaults.js"],Y["Core/Templating.js"],Y["Core/Foundation.js"],Y["Core/Globals.js"],Y["Core/Renderer/RendererRegistry.js"],Y["Core/Series/Series.js"],Y["Core/Series/SeriesRegistry.js"],Y["Core/Renderer/SVG/SVGRenderer.js"],Y["Core/Time.js"],Y["Core/Utilities.js"],Y["Core/Renderer/HTML/AST.js"],Y["Core/Axis/Tick.js"]],function(st,nt,gt,mt,pt,ht,dt,J,Z,K,k,L,I,D){let{animate:u,animObject:b,setAnimation:C}=st,{defaultOptions:P,defaultTime:l}=gt,{numberFormat:M}=mt,{registerEventOptions:F}=pt,{charts:_,doc:S,marginNames:o,svg:p,win:n}=ht,{seriesTypes:i}=Z,{addEvent:e,attr:r,createElement:a,css:y,defined:v,diffObjects:d,discardElement:O,erase:$,error:x,extend:E,find:G,fireEvent:z,getStyle:q,isArray:h,isNumber:c,isObject:g,isString:j,merge:s,objectEach:f,pick:m,pInt:T,relativeLength:w,removeEvent:N,splat:W,syncTimeout:V,uniqueKey:Q}=L;class lt{static chart(B,R,H){return new lt(B,R,H)}constructor(B,R,H){this.sharedClips={};let X=[...arguments];(j(B)||B.nodeName)&&(this.renderTo=X.shift()),this.init(X[0],X[1])}setZoomOptions(){let B=this.options.chart,R=B.zooming;this.zooming={...R,type:m(B.zoomType,R.type),key:m(B.zoomKey,R.key),pinchType:m(B.pinchType,R.pinchType),singleTouch:m(B.zoomBySingleTouch,R.singleTouch,!1),resetButton:s(R.resetButton,B.resetZoomButton)}}init(B,R){z(this,"init",{args:arguments},function(){let H=s(P,B),X=H.chart;this.userOptions=E({},B),this.margin=[],this.spacing=[],this.labelCollectors=[],this.callback=R,this.isResizing=0,this.options=H,this.axes=[],this.series=[],this.time=B.time&&Object.keys(B.time).length?new k(B.time):ht.time,this.numberFormatter=X.numberFormatter||M,this.styledMode=X.styledMode,this.hasCartesianSeries=X.showAxes,this.index=_.length,_.push(this),ht.chartCount++,F(this,X),this.xAxis=[],this.yAxis=[],this.pointCount=this.colorCounter=this.symbolCounter=0,this.setZoomOptions(),z(this,"afterInit"),this.firstRender()})}initSeries(B){let H=B.type||this.options.chart.type,X=i[H];X||x(17,!0,this,{missingModuleFor:H});let tt=new X;return"function"==typeof tt.init&&tt.init(this,B),tt}setSortedData(){this.getSeriesOrderByLinks().forEach(function(B){B.points||B.data||!B.enabledDataSorting||B.setData(B.options.data,!1)})}getSeriesOrderByLinks(){return this.series.concat().sort(function(B,R){return B.linkedSeries.length||R.linkedSeries.length?R.linkedSeries.length-B.linkedSeries.length:0})}orderItems(B,R=0){let H=this[B],X=this.options[B]=W(this.options[B]).slice(),tt=this.userOptions[B]=this.userOptions[B]?W(this.userOptions[B]).slice():[];if(this.hasRendered&&(X.splice(R),tt.splice(R)),H)for(let et=R,rt=H.length;et<rt;++et){let ot=H[et];ot&&(ot.index=et,ot instanceof J&&(ot.name=ot.getName()),ot.options.isInternal||(X[et]=ot.options,tt[et]=ot.userOptions))}}isInsidePlot(B,R,H={}){let{inverted:X,plotBox:tt,plotLeft:et,plotTop:rt,scrollablePlotBox:ot}=this,{scrollLeft:ut=0,scrollTop:ft=0}=H.visiblePlotOnly&&this.scrollablePlotArea?.scrollingContainer||{},xt=H.series,yt=H.visiblePlotOnly&&ot||tt,bt=H.inverted?R:B,wt=H.inverted?B:R,Mt={x:bt,y:wt,isInsidePlot:!0,options:H};if(!H.ignoreX){let vt=xt&&(X&&!this.polar?xt.yAxis:xt.xAxis)||{pos:et,len:1/0},_t=H.paneCoordinates?vt.pos+bt:et+bt;_t>=Math.max(ut+et,vt.pos)&&_t<=Math.min(ut+et+yt.width,vt.pos+vt.len)||(Mt.isInsidePlot=!1)}if(!H.ignoreY&&Mt.isInsidePlot){let vt=!X&&H.axis&&!H.axis.isXAxis&&H.axis||xt&&(X?xt.xAxis:xt.yAxis)||{pos:rt,len:1/0},_t=H.paneCoordinates?vt.pos+wt:rt+wt;_t>=Math.max(ft+rt,vt.pos)&&_t<=Math.min(ft+rt+yt.height,vt.pos+vt.len)||(Mt.isInsidePlot=!1)}return z(this,"afterIsInsidePlot",Mt),Mt.isInsidePlot}redraw(B){z(this,"beforeRedraw");let ft,xt,yt,Mt,R=this.hasCartesianSeries?this.axes:this.colorAxis||[],H=this.series,X=this.pointer,tt=this.legend,et=this.userOptions.legend,rt=this.renderer,ot=rt.isHidden(),ut=[],bt=this.isDirtyBox,wt=this.isDirtyLegend;for(rt.rootFontSize=rt.boxWrapper.getStyle("font-size"),this.setResponsive&&this.setResponsive(!1),C(!!this.hasRendered&&B,this),ot&&this.temporaryDisplay(),this.layOutTitles(!1),yt=H.length;yt--;)if(((Mt=H[yt]).options.stacking||Mt.options.centerInCategory)&&(xt=!0,Mt.isDirty)){ft=!0;break}if(ft)for(yt=H.length;yt--;)(Mt=H[yt]).options.stacking&&(Mt.isDirty=!0);H.forEach(function(vt){vt.isDirty&&("point"===vt.options.legendT
1ype?("function"==typeof vt.updateTotals&&vt.updateTotals(),wt=!0):et&&(et.labelFormatter||et.labelFormat)&&(wt=!0)),vt.isDirtyData&&z(vt,"updatedData")}),wt&&tt&&tt.options.enabled&&(tt.render(),this.isDirtyLegend=!1),xt&&this.getStacks(),R.forEach(function(vt){vt.updateNames(),vt.setScale()}),this.getMargins(),R.forEach(function(vt){vt.isDirty&&(bt=!0)}),R.forEach(function(vt){let _t=vt.min+","+vt.max;vt.extKey!==_t&&(vt.extKey=_t,ut.push(function(){z(vt,"afterSetExtremes",E(vt.eventArgs,vt.getExtremes())),delete vt.eventArgs})),(bt||xt)&&vt.redraw()}),bt&&this.drawChartBox(),z(this,"predraw"),H.forEach(function(vt){(bt||vt.isDirty)&&vt.visible&&vt.redraw(),vt.isDirtyData=!1}),X&&X.reset(!0),rt.draw(),z(this,"redraw"),z(this,"render"),ot&&this.temporaryDisplay(!0),ut.forEach(function(vt){vt.call()})}get(B){let R=this.series;function H(tt){return tt.id===B||tt.options&&tt.options.id===B}let X=G(this.axes,H)||G(this.series,H);for(let tt=0;!X&&tt<R.length;tt++)X=G(R[tt].points||[],H);return X}getAxes(){let B=this.userOptions;for(let R of(z(this,"getAxes"),["xAxis","yAxis"]))for(let H of B[R]=W(B[R]||{}))new nt(this,H,R);z(this,"afterGetAxes")}getSelectedPoints(){return this.series.reduce((B,R)=>(R.getPointsCollection().forEach(H=>{m(H.selectedStaging,H.selected)&&B.push(H)}),B),[])}getSelectedSeries(){return this.series.filter(function(B){return B.selected})}setTitle(B,R,H){this.applyDescription("title",B),this.applyDescription("subtitle",R),this.applyDescription("caption",void 0),this.layOutTitles(H)}applyDescription(B,R){let H=this,X=this.options[B]=s(this.options[B],R),tt=this[B];tt&&R&&(this[B]=tt=tt.destroy()),X&&!tt&&((tt=this.renderer.text(X.text,0,0,X.useHTML).attr({align:X.align,class:"highcharts-"+B,zIndex:X.zIndex||4}).add()).update=function(et,rt){H.applyDescription(B,et),H.layOutTitles(rt)},this.styledMode||tt.css(E("title"===B?{fontSize:this.options.isStock?"1em":"1.2em"}:{},X.style)),this[B]=tt)}layOutTitles(B=!0){let R=[0,0,0],H=this.renderer,X=this.spacingBox;["title","subtitle","caption"].forEach(function(et){let rt=this[et],ot=this.options[et],ut=ot.verticalAlign||"top",ft="title"===et?"top"===ut?-3:0:"top"===ut?R[0]+2:0;if(rt){rt.css({width:(ot.width||X.width+(ot.widthAdjust||0))+"px"});let xt=H.fontMetrics(rt).b,yt=Math.round(rt.getBBox(ot.useHTML).height);rt.align(E({y:"bottom"===ut?xt:ft+xt,height:yt},ot),!1,"spacingBox"),ot.floating||("top"===ut?R[0]=Math.ceil(R[0]+yt):"bottom"===ut&&(R[2]=Math.ceil(R[2]+yt)))}},this),R[0]&&"top"===(this.options.title.verticalAlign||"top")&&(R[0]+=this.options.title.margin),R[2]&&"bottom"===this.options.caption.verticalAlign&&(R[2]+=this.options.caption.margin);let tt=!this.titleOffset||this.titleOffset.join(",")!==R.join(",");this.titleOffset=R,z(this,"afterLayOutTitles"),!this.isDirtyBox&&tt&&(this.isDirtyBox=this.isDirtyLegend=tt,this.hasRendered&&B&&this.isDirtyBox&&this.redraw())}getContainerBox(){let B=[].map.call(this.renderTo.children,H=>{if(H!==this.container){let X=H.style.display;return H.style.display="none",[H,X]}}),R={width:q(this.renderTo,"width",!0)||0,height:q(this.renderTo,"height",!0)||0};return B.filter(Boolean).forEach(([H,X])=>{H.style.display=X}),R}getChartSize(){let B=this.options.chart,R=B.width,H=B.height,X=this.getContainerBox(),tt=X.height>1&&!(!this.renderTo.parentElement?.style.height&&"100%"===this.renderTo.style.height);this.chartWidth=Math.max(0,R||X.width||600),this.chartHeight=Math.max(0,w(H,this.chartWidth)||(tt?X.height:400)),this.containerBox=X}temporaryDisplay(B){let H,R=this.renderTo;if(B)for(;R&&R.style;)R.hcOrigStyle&&(y(R,R.hcOrigStyle),delete R.hcOrigStyle),R.hcOrigDetached&&(S.body.removeChild(R),R.hcOrigDetached=!1),R=R.parentNode;else for(;R&&R.style&&(S.body.contains(R)||R.parentNode||(R.hcOrigDetached=!0,S.body.appendChild(R)),("none"===q(R,"display",!1)||R.hcOricDetached)&&(R.hcOrigStyle={display:R.style.display,height:R.style.height,overflow:R.style.overflow},H={display:"block",overflow:"hidden"},R!==this.renderTo&&(H.height=0),y(R,H),R.offsetWidth||R.style.setProperty("display","block","important")),(R=R.parentNode)!==S.body););}setClassName(B){this.container.className="highcharts-container "+(B||"")}getContainer(){let tt,B=this.options,R=B.chart,H="data-highcharts-chart",X=Q(),et=this.renderTo;et||(this.renderTo=et=R.renderTo),j(et)&&(this.renderTo=et=S.getElementById(et)),et||x(13,!0,this);let rt=T(r(et,H));c(rt)&&_[rt]&&_[rt].hasRendered&&_[rt].destroy(),r(et,H,this.index),et.innerHTML=I.emptyHTML,R.skipClone||et.offsetWidth||this.temporaryDisplay(),this.getChartSize();
1let ot=this.chartHeight,ut=this.chartWidth;y(et,{overflow:"hidden"}),this.styledMode||(tt=E({position:"relative",overflow:"hidden",width:ut+"px",height:ot+"px",textAlign:"left",lineHeight:"normal",zIndex:0,"-webkit-tap-highlight-color":"rgba(0,0,0,0)",userSelect:"none","touch-action":"manipulation",outline:"none",padding:"0px"},R.style||{}));let ft=a("div",{id:X},tt,et);this.container=ft,this.getChartSize(),ut===this.chartWidth||(ut=this.chartWidth,this.styledMode||y(ft,{width:m(R.style?.width,ut+"px")})),this.containerBox=this.getContainerBox(),this._cursor=ft.style.cursor;let xt=R.renderer||!p?dt.getRendererType(R.renderer):K;if(this.renderer=new xt(ft,ut,ot,void 0,R.forExport,B.exporting&&B.exporting.allowHTML,this.styledMode),C(void 0,this),this.setClassName(R.className),this.styledMode)for(let yt in B.defs)this.renderer.definition(B.defs[yt]);else this.renderer.setStyle(R.style);this.renderer.chartIndex=this.index,z(this,"afterGetContainer")}getMargins(B){let{spacing:R,margin:H,titleOffset:X}=this;this.resetMargins(),X[0]&&!v(H[0])&&(this.plotTop=Math.max(this.plotTop,X[0]+R[0])),X[2]&&!v(H[2])&&(this.marginBottom=Math.max(this.marginBottom,X[2]+R[2])),this.legend&&this.legend.display&&this.legend.adjustMargins(H,R),z(this,"getMargins"),B||this.getAxisMargins()}getAxisMargins(){let B=this,R=B.axisOffset=[0,0,0,0],H=B.colorAxis,X=B.margin,tt=function(et){et.forEach(function(rt){rt.visible&&rt.getOffset()})};B.hasCartesianSeries?tt(B.axes):H&&H.length&&tt(H),o.forEach(function(et,rt){v(X[rt])||(B[et]+=R[rt])}),B.setChartSize()}getOptions(){return d(this.userOptions,P)}reflow(B){let R=this,H=R.containerBox,X=R.getContainerBox();delete R.pointer?.chartPosition,!R.isPrinting&&!R.isResizing&&H&&X.width&&((X.width!==H.width||X.height!==H.height)&&(L.clearTimeout(R.reflowTimeout),R.reflowTimeout=V(function(){R.container&&R.setSize(void 0,void 0,!1)},B?100:0)),R.containerBox=X)}setReflow(){let B=this,R=H=>{B.options?.chart.reflow&&B.hasLoaded&&B.reflow(H)};if("function"==typeof ResizeObserver)new ResizeObserver(R).observe(B.renderTo);else{let H=e(n,"resize",R);e(this,"destroy",H)}}setSize(B,R,H){let X=this,tt=X.renderer;X.isResizing+=1,C(H,X);let et=tt.globalAnimation;X.oldChartHeight=X.chartHeight,X.oldChartWidth=X.chartWidth,void 0!==B&&(X.options.chart.width=B),void 0!==R&&(X.options.chart.height=R),X.getChartSize();let{chartWidth:rt,chartHeight:ot,scrollablePixelsX:ut=0,scrollablePixelsY:ft=0}=X;(X.isDirtyBox||rt!==X.oldChartWidth||ot!==X.oldChartHeight)&&(X.styledMode||(et?u:y)(X.container,{width:`${rt+ut}px`,height:`${ot+ft}px`},et),X.setChartSize(!0),tt.setSize(rt,ot,et),X.axes.forEach(function(xt){xt.isDirty=!0,xt.setScale()}
1),X.isDirtyLegend=!0,X.isDirtyBox=!0,X.layOutTitles(),X.getMargins(),X.redraw(et),X.oldChartHeight=void 0,z(X,"resize"),setTimeout(()=>{X&&z(X,"endResize")},b(et).duration)),X.isResizing-=1}setChartSize(B){let R,H,X,tt,{chartHeight:et,chartWidth:rt,inverted:ot,spacing:ut,renderer:ft}=this,xt=this.clipOffset,yt=Math[ot?"floor":"round"];this.plotLeft=R=Math.round(this.plotLeft),this.plotTop=H=Math.round(this.plotTop),this.plotWidth=X=Math.max(0,Math.round(rt-R-this.marginRight)),this.plotHeight=tt=Math.max(0,Math.round(et-H-this.marginBottom)),this.plotSizeX=ot?tt:X,this.plotSizeY=ot?X:tt,this.spacingBox=ft.spacingBox={x:ut[3],y:ut[0],width:rt-ut[3]-ut[1],height:et-ut[0]-ut[2]},this.plotBox=ft.plotBox={x:R,y:H,width:X,height:tt},xt&&(this.clipBox={x:yt(xt[3]),y:yt(xt[0]),width:yt(this.plotSizeX-xt[1]-xt[3]),height:yt(this.plotSizeY-xt[0]-xt[2])}),B||(this.axes.forEach(function(bt){bt.setAxisSize(),bt.setAxisTranslation()}),ft.alignElements()),z(this,"afterSetChartSize",{skipAxes:B})}resetMargins(){z(this,"resetMargins");let B=this,R=B.options.chart,H=R.plotBorderWidth||0,X=H/2;["margin","spacing"].forEach(function(tt){let et=R[tt],rt=g(et)?et:[et,et,et,et];["Top","Right","Bottom","Left"].forEach(function(ot,ut){B[tt][ut]=m(R[tt+ot],rt[ut])})}),o.forEach(function(tt,et){B[tt]=m(B.margin[et],B.spacing[et])}),B.axisOffset=[0,0,0,0],B.clipOffset=[X,X,X,X],B.plotBorderWidth=H}drawChartBox(){let Lt,jt,Bt,B=this.options.chart,R=this.renderer,H=this.chartWidth,X=this.chartHeight,tt=this.styledMode,et=this.plotBGImage,rt=B.backgroundColor,ot=B.plotBackgroun
vendor: 4,079 bytes, line 1
1dColor,ut=B.plotBackgroundImage,ft=this.plotLeft,xt=this.plotTop,yt=this.plotWidth,bt=this.plotHeight,wt=this.plotBox,Mt=this.clipRect,vt=this.clipBox,_t=this.chartBackground,At=this.plotBackground,Et=this.plotBorder,Dt="animate";_t||(this.chartBackground=_t=R.rect().addClass("highcharts-background").add(),Dt="attr"),tt?Lt=jt=_t.strokeWidth():(jt=(Lt=B.borderWidth||0)+(B.shadow?8:0),Bt={fill:rt||"none"},(Lt||_t["stroke-width"])&&(Bt.stroke=B.borderColor,Bt["stroke-width"]=Lt),_t.attr(Bt).shadow(B.shadow)),_t[Dt]({x:jt/2,y:jt/2,width:H-jt-Lt%2,height:X-jt-Lt%2,r:B.borderRadius}),Dt="animate",At||(Dt="attr",this.plotBackground=At=R.rect().addClass("highcharts-plot-background").add()),At[Dt](wt),!tt&&(At.attr({fill:ot||"none"}).shadow(B.plotShadow),ut&&(et?(ut!==et.attr("href")&&et.attr("href",ut),et.animate(wt)):this.plotBGImage=R.image(ut,ft,xt,yt,bt).add())),Mt?Mt.animate({width:vt.width,height:vt.height}):this.clipRect=R.clipRect(vt),Dt="animate",Et||(Dt="attr",this.plotBorder=Et=R.rect().addClass("highcharts-plot-border").attr({zIndex:1}).add()),tt||Et.attr({stroke:B.plotBorderColor,"stroke-width":B.plotBorderWidth||0,fill:"none"}),Et[Dt](Et.crisp({x:ft,y:xt,width:yt,height:bt},-Et.strokeWidth())),this.isDirtyBox=!1,z(this,"afterDrawChartBox")}propFromSeries(){let B,R,H,X=this,tt=X.options.chart,et=X.options.series;["inverted","angular","polar"].forEach(function(rt){for(R=i[tt.type],H=tt[rt]||R&&R.prototype[rt],B=et&&et.length;!H&&B--;)(R=i[et[B].type])&&R.prototype[rt]&&(H=!0);X[rt]=H})}linkSeries(B){let R=this,H=R.series;H.forEach(function(X){X.linkedSeries.length=0}),H.forEach(function(X){let{linkedTo:tt}=X.options;if(j(tt)){let et;(et=":previous"===tt?R.series[X.index-1]:R.get(tt))&&et.linkedParent!==X&&(et.linkedSeries.push(X),X.linkedParent=et,et.enabledDataSorting&&X.setDataSortingOptions(),X.visible=m(X.options.visible,et.options.visible,X.visible))}}),z(this,"afterLinkSeries",{isUpdating:B})}renderSeries(){this.series.forEach(function(B){B.translate(),B.render()})}render(){let ot,B=this.axes,R=this.colorAxis,H=this.renderer,X=this.options.chart.axisLayoutRuns||2,tt=ft=>{ft.forEach(xt=>{xt.visible&&xt.render()})},et=0,rt=!0,ut=0;for(let ft of(this.setTitle(),z(this,"beforeMargins"),this.getStacks?.(),this.getMargins(!0),this.setChartSize(),B)){let{options:xt}=ft,{labels:yt}=xt;if(this.hasCartesianSeries&&ft.horiz&&ft.visible&&yt.enabled&&ft.series.length&&"colorAxis"!==ft.coll&&!this.polar){et=xt.tickLength,ft.createGroups();let bt=new D(ft,0,"",!0),wt=bt.createLabel("x",yt);if(bt.destroy(),wt&&m(yt.reserveSpace,!c(xt.crossing))&&(et=wt.getBBox().height+yt.distance+Math.max(xt.offset||0,0)),et){wt?.destroy();break}}}for(this.plotHeight=Math.max(this.plotHeight-et,0);(rt||ot||X>1)&&ut<X;){let ft=this.plotWidth,xt=this.plotHeight;for(let yt of B)0===ut?yt.setScale():(yt.horiz&&rt||!yt.horiz&&ot)&&yt.setTickInterval(!0);0===ut?this.getAxisMargins():this.getMargins(),rt=ft/this.plotWidth>(ut?1:1.1),ot=xt/this.plotHeight>(ut?1:1.05),ut++}this.drawChartBox(),this.hasCartesianSeries?tt(B):R&&R.length&&tt(R),this.seriesGroup||(this.seriesGroup=H.g("series-group").attr({zIndex:3}).shadow(this.options.chart.seriesGroupShadow).add()),this.renderSeries(),this.addCredits(),this.setResponsive&&this.setResponsive(),this.hasRendered=!0}addCredits(B){let R=this,H=s(!0,this.options.credits,B);H.enabled&&!this.credits&&(this.credits=this.renderer.text(H.text+(this.mapCredits||""),0,0).addClass("highcharts-credits").on("click",function(){H.href&&(n.location.href=H.href)}).attr({align:H.position.align,zIndex:8}),R.styledMode||this.credits.css(H.style),this.credits.add().align(H.position),this.credits.update=function(X){R.credits=R.credits.destroy(),R.addCredits(X)})}destroy(){let B,R=this,H=R.axes,X=R.series,tt=R.container,et=tt&&tt.parentNode;for(z(R,"destroy"),R.renderer.forExport?$(_,R):_[R.index]=void 0,ht.chartCount--,R.renderTo.removeAttribute("data-highcharts-chart"),N(R),B=H.length;B--;)H[B]=H[B].destroy();for(this.scroller&&this.scroller.destroy&&this.scroller.destroy(),B=X.length;B--;)X[B]=X[B].destroy();
1["title","subtitle","chartBackground","plotBackground","plotBGImage","plotBorder","seriesGroup","clipRect","credits","pointer","rangeSelector","legend","resetZoomButton","tooltip","renderer"].forEach(function(rt){let ot=R[rt];ot&&ot.destroy&&(R[rt]=ot.destroy())}),tt&&(tt.innerHTML=I.emptyHTML,N(tt),et&&O(tt)),f(R,function(rt,ot){delete R[ot]})}firstRender(){let B=this,R=B.options;B.getContainer(),B.resetMargins(),B.setChartSize(),B.propFromSeries(),B.getAxes();let H=h(R.series)?R.series:[];R.series=[],H.forEach(function(X){B.initSeries(X)}),B.linkSeries(),B.setSortedData(),z(B,"beforeRender"),B.render(),B.pointer?.getChartPosition(),B.renderer.imgCount||B.hasLoaded||B.onload(),B.temporaryDisplay(!0)}onload(){this.callbacks.concat([this.callback]).forEach(function(B){B&&void 0!==this.index&&B.apply(this,[this])},this),z(this,"load"),z(this,"render"),v(this.index)&&this.setReflow(),this.warnIfA11yModuleNotLoaded(),this.hasLoaded=!0}warnIfA11yModuleNotLoaded(){let{options:B,title:R}=this;!B||this.accessibility||(this.renderer.boxWrapper.attr({role:"img","aria-label":(R&&R.element.textContent||"").replace(/</g,"<")}),B.accessibility&&!1===B.accessibility.enabled||x('Highcharts warning: Consider including the "accessibility.js" module to make your chart more usable for people with disabilities. Set the "accessibility.enabled" option to false to remove this warning. See https://www.highcharts.com/docs/accessibility/accessibility-module.',!1,this))}addSeries(B,R,H){let X,tt=this;return B&&(R=m(R,!0),z(tt,"addSeries",{options:B},function(){X=tt.initSeries(B),tt.isDirtyLegend=!0,tt.linkSeries(),X.enabledDataSorting&&X.setData(B.data,!1),z(tt,"afterAddSeries",{series:X}),R&&tt.redraw(H)})),X}addAxis(B,R,H,X){return this.createAxis(R?"xAxis":"yAxis",{axis:B,redraw:H,animation:X})}addColorAxis(B,R,H){return this.createAxis("colorAxis",{axis:B,redraw:R,animation:H})}createAxis(B,R){let H=new nt(this,R.axis,B);return m(R.redraw,!0)&&this.redraw(R.animation),H}showLoading(B){let R=this,H=R.options,X=H.loading,tt=function(){et&&y(et,{left:R.plotLeft+"px",top:R.plotTop+"px",width:R.plotWidth+"px",height:R.plotHeight+"px"})},et=R.loadingDiv,rt=R.loadingSpan;et||(R.loadingDiv=et=a("div",{className:"highcharts-loading highcharts-loading-hidden"},null,R.container)),rt||(R.loadingSpan=rt=a("span",{className:"highcharts-loading-inner"},null,et),e(R,"redraw",tt)),et.className="highcharts-loading",I.setElementHTML(rt,m(B,H.lang.loading,"")),R.styledMode||(y(et,E(X.style,{zIndex:10})),y(rt,X.labelStyle),R.loadingShown||(y(et,{opacity:0,display:""}),u(et,{opacity:X.style.opacity||.5},{duration:X.showDuration||0}))),R.loadingShown=!0,tt()}hideLoading(){let B=this.options,R=this.loadingDiv;R&&(R.className="highcharts-loading highcharts-loading-hidden",this.styledMode||u(R,{opacity:0},{duration:B.loading.hideDuration||100,complete:function(){y(R,{display:"none"})}})),this.loadingShown=!1}update(B,R,H,X){let tt,et,rt,ot=this,ut={credits:"addCredits",title:"setTitle",subtitle:"setSubtitle",caption:"setCaption"},ft=B.isResponsiveOptions,xt=[];z(ot,"update",{options:B}),ft||ot.setResponsive(!1,!0),B=d(B,ot.options),ot.userOptions=s(ot.userOptions,B);let yt=B.chart;yt&&(s(!0,ot.options.chart,yt),this.setZoomOptions(),"className"in yt&&ot.setClassName(yt.className),("inverted"in yt||"polar"in yt||"type"in yt)&&(ot.propFromSeries(),tt=!0),"alignTicks"in yt&&(tt=!0),"events"in yt&&F(this,yt),f(yt,function(Mt,vt){-1!==ot.propsRequireUpdateSeries.indexOf("chart."+vt)&&(et=!0),-1!==ot.propsRequireDirtyBox.indexOf(vt)&&(ot.isDirtyBox=!0),-1===ot.propsRequireReflow.indexOf(vt)||(ot.isDirtyBox=!0,ft||(rt=!0))}),!ot.styledMode&&yt.style&&ot.renderer.setStyle(ot.options.chart.style||{})),!ot.styledMode&&B.colors&&(this.options.colors=B.colors),B.time&&(this.time===l&&(this.time=new k(B.time)),s(!0,ot.options.time,B.time)),f(B,function(Mt,vt){ot[vt]&&"function"==typeof ot[vt].update?ot[vt].update(Mt,!1):"function"==typeof ot[ut[vt]]?ot[ut[vt]](Mt):"colors"!==vt&&-1===ot.collectionsWithUpdate.indexOf(vt)&&s(!0,ot.options[vt],B[vt]),"chart"!==vt&&-1!==ot.propsRequireUpdateSeries.indexOf(vt)&&(et=!0)}),this.collectionsWithUpdate.forEach(function(Mt){B[Mt]&&(W(B[Mt]).forEac
vendor: 1,521 bytes, line 1
1h(function(vt,_t){let At,Et=v(vt.id);Et&&(At=ot.get(vt.id)),!At&&ot[Mt]&&(At=ot[Mt][m(vt.index,_t)])&&(Et&&v(At.options.id)||At.options.isInternal)&&(At=void 0),At&&At.coll===Mt&&(At.update(vt,!1),H&&(At.touched=!0)),!At&&H&&ot.collectionsWithInit[Mt]&&(ot.collectionsWithInit[Mt][0].apply(ot,[vt].concat(ot.collectionsWithInit[Mt][1]||[]).concat([!1])).touched=!0)}),H&&ot[Mt].forEach(function(vt){vt.touched||vt.options.isInternal?delete vt.touched:xt.push(vt)}))}),xt.forEach(function(Mt){Mt.chart&&Mt.remove&&Mt.remove(!1)}),tt&&ot.axes.forEach(function(Mt){Mt.update({},!1)}),et&&ot.getSeriesOrderByLinks().forEach(function(Mt){Mt.chart&&Mt.update({},!1)},this);let bt=yt&&yt.width,wt=yt&&(j(yt.height)?w(yt.height,bt||ot.chartWidth):yt.height);rt||c(bt)&&bt!==ot.chartWidth||c(wt)&&wt!==ot.chartHeight?ot.setSize(bt,wt,X):m(R,!0)&&ot.redraw(X),z(ot,"afterUpdate",{options:B,redraw:R,animation:X})}setSubtitle(B,R){this.applyDescription("subtitle",B),this.layOutTitles(R)}setCaption(B,R){this.applyDescription("caption",B),this.layOutTitles(R)}showResetZoom(){let B=this,R=P.lang,H=B.zooming.resetButton,X=H.theme,tt="chart"===H.relativeTo||"spacingBox"===H.relativeTo?null:"plotBox";function et(){B.zoomOut()}z(this,"beforeShowResetZoom",null,function(){B.resetZoomButton=B.renderer.button(R.resetZoom,null,null,et,X).attr({align:H.position.align,title:R.resetZoomTitle}).addClass("highcharts-reset-zoom").add().align(H.position,!1,tt)}),z(this,"afterShowResetZoom")}zoomOut(){z(this,"selection",{resetSelection:!0}
1,()=>this.transform({reset:!0,trigger:"zoom"}))}pan(B,R){let H=this,X="object"==typeof R?R:{enabled:R,type:"x"},tt=X.type,et=tt&&H[{x:"xAxis",xy:"axes",y:"yAxis"}[tt]].filter(ot=>ot.options.panningEnabled&&!ot.options.isInternal),rt=H.options.chart;rt?.panning&&(rt.panning=X),z(this,"pan",{originalEvent:B},()=>{H.transform({axes:et,event:B,to:{x:B.chartX-(H.mouseDownX||0),y:B.chartY-(H.mouseDownY||0)},trigger:"pan"}),y(H.container,{cursor:"move"})})}transform(B){let xt,yt,{axes:R=this.axes,event:H,from:X={},reset:tt,selection:et,to:rt={},trigger:ot}=B,{inverted:ut}=this,ft=!1;for(let bt of(this.hoverPoints?.forEach(wt=>wt.setState()),R)){let{horiz:wt,len:Mt,minPointOffset:vt=0,options:_t,reversed:At}=bt,Et=wt?"width":"height",Lt=wt?"x":"y",jt=m(rt[Et],bt.len),Bt=m(X[Et],bt.len),Dt=10>Math.abs(jt)?1:jt/Bt,Xt=(X[Lt]||0)+Bt/2-bt.pos,zt=Xt-((rt[Lt]??bt.pos)+jt/2-bt.pos)/Dt,Wt=At&&!ut||!At&&ut?-1:1;if(!tt&&(Xt<0||Xt>bt.len))continue;let It=bt.toValue(zt,!0)+(et||bt.isOrdinal?0:vt*Wt),Gt=bt.toValue(zt+Mt/Dt,!0)-(et||bt.isOrdinal?0:vt*Wt||0),Yt=bt.allExtremes;if(It>Gt&&([It,Gt]=[Gt,It]),1===Dt&&!tt&&"yAxis"===bt.coll&&!Yt){for(let ne of bt.series){let Vt=ne.getExtremes(ne.getProcessedData(!0).yData,!0);Yt??(Yt={dataMin:Number.MAX_VALUE,dataMax:-Number.MAX_VALUE}),c(Vt.dataMin)&&c(Vt.dataMax)&&(Yt.dataMin=Math.min(Vt.dataMin,Yt.dataMin),Yt.dataMax=Math.max(Vt.dataMax,Yt.dataMax))}bt.allExtremes=Yt}let{dataMin:oe,dataMax:re,min:qt,max:Qt}=E(bt.getExtremes(),Yt||{}),te=oe??_t.min,ee=re??_t.max,Kt=Gt-It,ie=bt.categories?0:Math.min(Kt,ee-te),Zt=te-ie*(v(_t.min)?0:_t.minPadding),Jt=ee+ie*(v(_t.max)?0:_t.maxPadding),se=bt.allowZoomOutside||1===Dt||"zoom"!==ot&&Dt>1,$t=Math.min(_t.min??Zt,Zt,se?qt:Zt),Ut=Math.max(_t.max??Jt,Jt,se?Qt:Jt);(!bt.isOrdinal||bt.options.overscroll||1!==Dt||tt)&&(It<$t&&(It=$t,Dt>=1&&(Gt=It+Kt)),Gt>Ut&&(Gt=Ut,Dt>=1&&(It=Gt-Kt)),(tt||bt.series.length&&(It!==qt||Gt!==Qt)&&It>=$t&&Gt<=Ut)&&(et?et[bt.coll].push({axis:bt,min:It,max:Gt}):(bt.isPanning="zoom"!==ot,bt.isPanning&&(yt=!0),bt.setExtremes(tt?void 0:It,tt?void 0:Gt,!1,!1,{move:zt,trigger:ot,scale:Dt}),!tt&&(It>$t||Gt<Ut)&&"mousewheel"!==ot&&(xt=!0)),ft=!0),H&&(this[wt?"mouseDownX":"mouseDownY"]=H[wt?"chartX":"chartY"]))}return ft&&(et?z(this,"selection",et,()=>{delete B.selection,B.trigger="zoom",this.transform(B)}):(!xt||yt||this.resetZoomButton?!xt&&this.resetZoomButton&&(this.resetZoomButton=this.resetZoomButton.destroy()):this.showResetZoom(),this.redraw("zoom"===ot&&(this.options.chart.animation??this.pointCount<100)))),ft}}return E(lt.prototype,{callbacks:[],collectionsWithInit:{xAxis:[lt.prototype.addAxis,[!0]],yAxis:[lt.prototype.addAxis,[!1]],series:[lt.prototype.addSeries]},collectionsWithUpdate:["xAxis","yAxis","series"],propsRequireDirtyBox:["backgroundColor","borderColor","borderWidth","borderRadius","plotBackgroun
1dColor","plotBackgroundImage","plotBorderColor","plotBorderWidth","plotShadow","shadow"],propsRequireReflow:["margin","marginTop","marginRight","marginBottom","marginLeft","spacing","spacingTop","spacingRight","spacingBottom","spacingLeft"],propsRequireUpdateSeries:["chart.inverted","chart.polar","chart.ignoreHiddenSeries","chart.type","colors","plotOptions","time","tooltip"]}),lt}),St(Y,"Extensions/ScrollablePlotArea.js",[Y["Core/Animation/AnimationUtilities.js"],Y["Core/Globals.js"],Y["Core/Renderer/RendererRegistry.js"],Y["Core/Utilities.js"]],function(st,nt,gt,mt){let{stop:pt}=st,{composed:ht}=nt,{addEvent:dt,createElement:J,css:Z,defined:K,merge:k,pushUnique:L}=mt;function I(){let b=this.scrollablePlotArea;(this.scrollablePixelsX||this.scrollablePixelsY)&&!b&&(this.scrollablePlotArea=b=new u(this)),b?.applyFixed()}function D(){this.chart.scrollablePlotArea&&(this.chart.scrollablePlotArea.isDirty=!0)}class u{static compose(C,P,l){L(ht,this.compose)&&(dt(C,"afterInit",D),dt(P,"afterSetChartSize",M=>this.afterSetSize(M.target,M)),dt(P,"render",I),dt(l,"show",D))}static afterSetSize(C,P){let l,M,F,{minWidth:_,minHeight:S}=C.options.chart.scrollablePlotArea||{},{clipBox:o,plotBox:p,inverted:n,renderer:i}=C;if(!i.forExport&&(_?(C.scrollablePixelsX=l=Math.max(0,_-C.chartWidth),l&&(C.scrollablePlotBox=k(C.plotBox),p.width=C.plotWidth+=l,o[n?"height":"width"]+=l,F=!0)):S&&(C.scrollablePixelsY=M=Math.max(0,S-C.chartHeight),K(M)&&(C.scrollablePlotBox=k(C.plotBox),p.height=C.plotHeight+=M,o[n?"width":"height"]+=M,F=!1)),K(F)&&!P.skipAxes))for(let e of C.axes)e.horiz===F&&(e.setAxisSize(),e.setAxisTranslation())}constructor(C){let P,l=C.options.chart,M=gt.getRendererType(),F=l.scrollablePlotArea||{},_=this.moveFixedElements.bind(this),S={WebkitOverflowScrolling:"touch",overflowX:"hidden",overflowY:"hidden"};C.scrollablePixelsX&&(S.overflowX="auto"),C.scrollablePixelsY&&(S.overflowY="auto"),this.chart=C;let o=this.parentDiv=J("div",{className:"highcharts-scrolling-parent"},{position:"relative"},C.renderTo),p=this.scrollingContainer=J("div",{className:"highcharts-scrolling"},S,o),n=this.innerContainer=J("div",{className:"highcharts-inner-container"},void 0,p),i=this.fixedDiv=J("div",{className:"highcharts-fixed"},{position:"absolute",overflow:"hidden",pointerEvents:"none",zIndex:(l.style?.zIndex||0)+2,top:0},void 0,!0),e=this.fixedRenderer=new M(i,C.chartWidth,C.chartHeight,l.style);this.mask=e.path().attr({fill:l.backgroundColor||"#fff","fill-opacity":F.opacity??.85,zIndex:-1}).addClass("highcharts-scrollable-mask").add(),p.parentNode.insertBefore(i,p),Z(C.renderTo,{overflow:"visible"}),dt(C,"afterShowResetZoom",_),dt(C,"afterApplyDrilldown",_),dt(C,"afterLayOutTitles",_),dt(p,"scroll",()=>{let{pointer:r,hoverPoint:a}=C;r&&(delete r.chartPosition,a&&(P=a),r.runPointActions(void 0,P,!0))}),n.appendChild(C.container)}applyFixed(){let{chart:C,fixedRenderer:P,isDirty:l,scrollingContainer:M}=this,{axisOffset:F,chartWidth:_,chartHeight:S,container:o,plotHeight:p,plotLeft:n,plotTop:i,plotWidth:e,scrollablePixelsX:r=0,scrollablePixelsY:a=0}=C,{scrollPositionX:y=0,scrollPositionY:v=0}=C.options.chart.scrollablePlotArea||{},d=_+r,O=S+a;P.setSize(_,S),(l??!0)&&(this.isDirty=!1,this.moveFixedElements()),pt(C.container),Z(o,{width:`${d}px`,height:`${O}px`}),C.renderer.boxWrapper.attr({width:d,height:O,viewBox:[0,0,d,O].join(" ")}),C.chartBackground?.attr({width:d,height:O}),Z(M,{width:`${_}px`,height:`${S}px`}),K(l)||(M.scrollLeft=r*y,M.scrollTop=a*v);let $=i-F[0]-1,x=n-F[3]-1,E=i+p+F[2]+1,G=n+e+F[1]+1,z=n+e-r,q=i+p-a,h=[["M",0,0]];r?h=[["M",0,$],["L",n-1,$],["L",n-1,E],["L",0,E],["Z"],["M",z,$],["L",_,$],["L",_,E],["L",z,E],["Z"]]:a&&(h=[["M",x,0],["L",x,i-1],["L",G,i-1],["L",G,0],["Z"],["M",x,q],["L",x,S],["L",G,S],["L",G,q],["Z"]]),"adjustHeight"!==C.redrawTrigger&&this.mask.attr({d:h})}moveFixedElements(){let C,{container:P,inverted:l,scrollablePixelsX:M,scrollablePixelsY:F}=this.chart,_=this.fixedRenderer,S=u.fixedSelectors;for(let o of(M&&!l?C=".highcharts-yaxis":M&&l||F&&!l?C=".highcharts-xaxis":F&&l&&(C=".highcharts-yaxis"),C&&S.push(`${C}:not(.highcharts-radial-axis)`,`${C}-labels:not(.highcharts-radial-axis-labels)`),S))[].forEach.call(P.querySelectorAll(
1o),p=>{(p.namespaceURI===_.SVG_NS?_.box:_.box.parentNode).appendChild(p),p.style.pointerEvents="auto"})}}return u.fixedSelectors=[".highcharts-breadcrumbs-group",".highcharts-contextbutton",".highcharts-caption",".highcharts-credits",".highcharts-drillup-button",".highcharts-legend",".highcharts-legend-checkbox",".highcharts-navigator-series",".highcharts-navigator-xaxis",".highcharts-navigator-yaxis",".highcharts-navigator",".highcharts-range-selector-group",".highcharts-reset-zoom",".highcharts-scrollbar",".highcharts-subtitle",".highcharts-title"],u}),St(Y,"Core/Axis/Stacking/StackItem.js",[Y["Core/Templating.js"],Y["Core/Series/SeriesRegistry.js"],Y["Core/Utilities.js"]],function(st,nt,gt){let{format:mt}=st,{series:pt}=nt,{destroyObjectProperties:ht,fireEvent:dt,isNumber:J,pick:Z}=gt;return class{constructor(K,k,L,I,D){let u=K.chart.inverted,b=K.reversed;this.axis=K;let C=this.isNegative=!!L!=!!b;this.options=k=k||{},this.x=I,this.total=null,this.cumulative=null,this.points={},this.hasValidPoints=!1,this.stack=D,this.leftCliff=0,this.rightCliff=0,this.alignOptions={align:k.align||(u?C?"left":"right":"center"),verticalAlign:k.verticalAlign||(u?"middle":C?"bottom":"top"),y:k.y,x:k.x},this.textAlign=k.textAlign||(u?C?"right":"left":"center")}destroy(){ht(this,this.axis)}render(K){let k=this.axis.chart,L=this.options,I=L.format,D=I?mt(I,this,k):L.formatter.call(this);if(this.label)this.label.attr({text:D,visibility:"hidden"});else{this.label=k.renderer.label(D,null,void 0,L.shape,void 0,void 0,L.useHTML,!1,"stack-labels");let u={r:L.borderRadius||0,text:D,padding:Z(L.padding,5),visibility:"hidden"};k.styledMode||(u.fill=L.backgroundColor,u.stroke=L.borderColor,u["stroke-width"]=L.borderWidth,this.label.css(L.style||{})),this.label.attr(u),this.label.added||this.label.add(K)}this.label.labelrank=k.plotSizeY,dt(this,"afterRender")}setOffset(K,k,L,I,D,u){let{alignOptions:b,axis:C,label:P,options:l,textAlign:M}=this,F=C.chart,_=this.getStackBox({xOffset:K,width:k,boxBottom:L,boxTop:I,defaultX:D,xAxis:u}),{verticalAlign:S}=b;if(P&&_){let i,o=P.getBBox(void 0,0),p=P.padding,n="justify"===Z(l.overflow,"justify");b.x=l.x||0,b.y=l.y||0;let{x:e,y:r}=this.adjustStackPosition({labelBox:o,verticalAlign:S,textAlign:M});_.x-=e,_.y-=r,P.align(b,!1,_),(i=F.isInsidePlot(P.alignAttr.x+b.x+e,P.alignAttr.y+b.y+r))||(n=!1),n&&pt.prototype.justifyDataLabel.call(C,P,b,P.alignAttr,o,_),P.attr({x:P.alignAttr.x,y:P.alignAttr.y,rotation:l.rotation,rotationOriginX:o.width*{left:0,center:.5,right:1}[l.textAlign||"center"],rotationOriginY:o.height/2}),Z(!n&&l.crop,!0)&&(i=J(P.x)&&J(P.y)&&F.isInsidePlot(P.x-p+(P.width||0),P.y)&&F.isInsidePlot(P.x+p,P.y)),P[i?"show":"hide"]()}dt(this,"afterSetOffset",{xOffset:K,width:k})}adjustStackPosition({labelBox:K,verticalAlign:k,textAlign:L}){let I={bottom:0,middle:1,top:2,right:1,center:0,left:-1};return{x:K.width/2+K.width/2*I[L],y:K.height/2*I[k]}}getStackBox(K){let k=this.axis,L=k.chart,{boxTop:I,defaultX:D,xOffset:u,width:b,boxBottom:C}=K,P=k.stacking.usePercentage?100:Z(I,this.total,0),l=k.toPixels(P),M=K.xAxis||L.xAxis[0],F=Z(D,M.translate(this.x))+u,_=Math.abs(l-k.toPixels(C||J(k.min)&&k.logarithmic&&k.logarithmic.lin2log(k.min)||0)),o=this.isNegative;return L.inverted?{x:(o?l:l-_)-L.plotLeft,y:M.height-F-b+M.top-L.plotTop,width:_,height:b}:{x:F+M.transB-L.plotLeft,y:(o?l-_:l)-L.plotTop,width:b,height:_}}}}),St(Y,"Core/Axis/Stacking/StackingAxis.js",[Y["Core/Animation/AnimationUtilities.js"],Y["Core/Axis/Axis.js"],Y["Core/Series/SeriesRegistry.js"],Y["Core/Axis/Stacking/StackItem.js"],Y["Core/Utilities.js"]],function(st,nt,gt,mt,pt){var ht;let{getDeferredAnimation:dt}=st,{series:{prototype:J}}=gt,{addEvent:Z,correctFloat:K,defined:k,destroyObjectProperties:L,fireEvent:I,isArray:D,isNumber:u,objectEach:b,pick:C}=pt;function P(){let i=this.inverted;this.axes.forEach(e=>{e.stacking&&e.stacking.stacks&&e.hasVisibleSeries&&(e.stacking.oldStacks=e.stacking.stacks)}),this.series.forEach(e=>{let r=e.xAxis&&e.xAxis.options||{};e.options.stacking&&e.reserveSpace()&&(e.stackKey=[e.type,C(e.options.stack,""),i?r.top:r.left,i?r.height:r.width].join(","))})}function l(){let i=this.stacking;if(i){let e=i.stacks;b(e,(r,a)=>{L(r),delete e[a]}),i.stackTotalGroup?.destroy()}}function M(){this.stacking||(this.stacking=new n(this))}function F(i,e,r,a){return!k(i)||i.x!==e||a&&i.stackKey!==a?i={x:e,index:0,key:a,stackKey:a}:i.index++,i.key=[r,e,i.index].join(","),i}function _(){let i,e=this,a=e.stackKey||"",y=e.yAxis.stacking.stacks,v=e.processedXData,O=e[e.options.stacking
1+"Stacker"];O&&[a,"-"+a].forEach($=>{let E,G,z,x=v.length;for(;x--;)E=v[x],i=e.getStackIndicator(i,E,e.index,$),G=y[$]?.[E],(z=G?.points[i.key||""])&&O.call(e,z,G,x)})}function S(i,e,r){let a=e.total?100/e.total:0;i[0]=K(i[0]*a),i[1]=K(i[1]*a),this.stackedYData[r]=i[1]}function o(i){(this.is("column")||this.is("columnrange"))&&(this.options.centerInCategory&&!this.options.stacking&&this.chart.series.length>1?J.setStackedPoints.call(this,i,"group"):i.stacking.resetStacks())}function p(i,e){let r,a,y,v,d,O,$,x,E,G=e||this.options.stacking;if(!G||!this.reserveSpace()||({group:"xAxis"}[G]||"yAxis")!==i.coll)return;let z=this.processedXData,q=this.processedYData,h=[],c=q.length,g=this.options,j=g.threshold||0,s=g.startFromThreshold?j:0,f=g.stack,m=e?`${this.type},${G}`:this.stackKey||"",T="-"+m,w=this.negStacks,N=i.stacking,W=N.stacks,V=N.oldStacks;for(N.stacksTouched+=1,$=0;$<c;$++){x=z[$],E=q[$],O=(r=this.getStackIndicator(r,x,this.index)).key||"",W[d=(a=w&&E<(s?0:j))?T:m]||(W[d]={}),W[d][x]||(V[d]?.[x]?(W[d][x]=V[d][x],W[d][x].total=null):W[d][x]=new mt(i,i.options.stackLabels,!!a,x,f)),y=W[d][x],null!==E?(y.points[O]=y.points[this.index]=[C(y.cumulative,s)],k(y.cumulative)||(y.base=O),y.touched=N.stacksTouched,r.index>0&&!1===this.singleStacks&&(y.points[O][0]=y.points[this.index+","+x+",0"][0])):(delete y.points[O],delete y.points[this.index]);let Q=y.total||0;"percent"===G?(v=a?m:T,Q=w&&W[v]?.[x]?(v=W[v][x]).total=Math.max(v.total||0,Q)+Math.abs(E)||0:K(Q+(Math.abs(E)||0))):"group"===G?(D(E)&&(E=E[0]),null!==E&&Q++):Q=K(Q+(E||0)),y.cumulative="group"===G?(Q||1)-1:K(C(y.cumulative,s)+(E||0)),y.total=Q,null!==E&&(y.points[O].push(y.cumulative),h[$]=y.cumulative,y.hasValidPoints=!0)}"percent"===G&&(N.usePercentage=!0),"group"!==G&&(this.stackedYData=h),N.oldStacks={}}class n{constructor(e){this.oldStacks={},this.stacks={},this.stacksTouched=0,this.axis=e}buildStacks(){let e,r,a=this.axis,y=a.series,v="xAxis"===a.coll,d=a.options.reversedStacks,O=y.length;for(this.resetStacks(),this.usePercentage=!1,r=O;r--;)e=y[d?r:O-r-1],v&&e.setGroupedPoints(a),e.setStackedPoints(a);if(!v)for(r=0;r<O;r++)y[r].modifyStacks();I(a,"afterBuildStacks")}cleanStacks(){this.oldStacks&&(this.stacks=this.oldStacks,b(this.stacks,e=>{b(e,r=>{r.cumulative=r.total})}))}resetStacks(){b(this.stacks,e=>{b(e,(r,a)=>{u(r.touched)&&r.touched<this.stacksTouched?(r.destroy(),delete e[a]):(r.total=null,r.cumulative=null)})})}renderStackTotals(){let e=this.axis,r=e.chart,a=r.renderer,y=this.stacks,v=dt(r,e.options.stackLabels?.animation||!1),d=this.stackTotalGroup=this.stackTotalGroup||a.g("stack-labels").attr({zIndex:6,opacity:0}).add();d.translate(r.plotLeft,r.plotTop),b(y,O=>{b(O,$=>{$.render(d)})}),d.animate({opacity:1},v)}}return(ht||(ht={})).compose=function(i,e,r){let a=e.prototype,y=r.prototype;a.getStacks||(Z(i,"init",M),Z(i,"destroy",l),a.getStacks=P,y.getStackIndicator=F,y.modifyStacks=_,y.percentStacker=S,y.setGroupedPoints=o,y.setStackedPoints=p)},ht}),St(Y,"Series/Line/LineSeries.js",[Y["Core/Series/Series.js"],Y["Core/Series/SeriesRegistry.js"],Y["Core/Utilities.js"]],function(st,nt,gt){let{defined:mt,merge:pt,isObject:ht}=gt;class dt extends st{drawGraph(){let Z=this.options,K=(this.gappedPath||this.getGraphPath).call(this),k=this.chart.styledMode;[this,...this.zones].forEach((L,I)=>{let D,u=L.graph,b=u?"animate":"attr",C=L.dashStyle||Z.dashStyle;u?(u.endX=this.preventGraphAnimation?null:K.xMap,u.animate({d:K})):K.length&&(L.graph=u=this.chart.renderer.path(K).addClass("highcharts-graph"+(I?` highcharts-zone-graph-${I-1} `:" ")+(I&&L.className||"")).attr({zIndex:1}).add(this.group)),u&&!k&&(D={stroke:!I&&Z.lineColor||L.color||this.color||"#cccccc","stroke-width":Z.lineWidth||0,fill:this.fillGraph&&this.color||"none"},C?D.dashstyle=C:"square"!==Z.linecap&&(D["stroke-linecap"]=D["stroke-linejoin"]="round"),u[b](D).shadow(I<2&&Z.shadow&&pt({filterUnits:"userSpaceOnUse"},ht(Z.shadow)?Z.shadow:{}))),u&&(u.startX=K.xMap,u.isArea=K.isArea)})}getGraphPath(Z,K,k){let b,L=this,I=L.options,D=[],u=[],C=I.step,P=(Z=Z||L.points).reversed;return P&&Z.reverse(),(C={right:1,center:2}[C]||C&&3)&&P&&(C=4-C),(Z=this.getValidPoints(Z,!1,!(I.connectNulls&&!K&&!k))).forEac
1h(function(l,M){let F,_=l.plotX,S=l.plotY,o=Z[M-1],p=l.isNull||"number"!=typeof S;(l.leftCliff||o&&o.rightCliff)&&!k&&(b=!0),p&&!mt(K)&&M>0?b=!I.connectNulls:p&&!K?b=!0:(0===M||b?F=[["M",l.plotX,l.plotY]]:L.getPointSpline?F=[L.getPointSpline(Z,l,M)]:C?(F=1===C?[["L",o.plotX,S]]:2===C?[["L",(o.plotX+_)/2,o.plotY],["L",(o.plotX+_)/2,S]]:[["L",_,o.plotY]]).push(["L",_,S]):F=[["L",_,S]],u.push(l.x),C&&(u.push(l.x),2===C&&u.push(l.x)),D.push.apply(D,F),b=!1)}),D.xMap=u,L.graphPath=D,D}}return dt.defaultOptions=pt(st.defaultOptions,{legendSymbol:"lineMarker"}),nt.registerSeriesType("line",dt),dt}),St(Y,"Series/Area/AreaSeriesDefaults.js",[],function(){return{threshold:0,legendSymbol:"areaMarker"}}),St(Y,"Series/Area/AreaSeries.js",[Y["Series/Area/AreaSeriesDefaults.js"],Y["Core/Series/SeriesRegistry.js"],Y["Core/Utilities.js"]],function(st,nt,gt){let{seriesTypes:{line:mt}}=nt,{extend:pt,merge:ht,objectEach:dt,pick:J}=gt;class Z extends mt{drawGraph(){this.areaPath=[],super.drawGraph.apply(this);let{areaPath:k,options:L}=this;[this,...this.zones].forEach((I,D)=>{let u={},b=I.fillColor||L.fillColor,C=I.area,P=C?"animate":"attr";C?(C.endX=this.preventGraphAnimation?null:k.xMap,C.animate({d:k})):(u.zIndex=0,(C=I.area=this.chart.renderer.path(k).addClass("highcharts-area"+(D?` highcharts-zone-area-${D-1} `:" ")+(D&&I.className||"")).add(this.group)).isArea=!0),this.chart.styledMode||(u.fill=b||I.color||this.color,u["fill-opacity"]=b?1:L.fillOpacity??.75,C.css({pointerEvents:this.stickyTracking?"none":"auto"})),C[P](u),C.startX=k.xMap,C.shiftUnit=L.step?2:1})}getGraphPath(k){let L,I,D,u=mt.prototype.getGraphPath,b=this.options,C=b.stacking,P=this.yAxis,l=[],M=[],F=this.index,_=P.stacking.stacks[this.stackKey],S=b.threshold,o=Math.round(P.getThreshold(b.threshold)),p=J(b.connectNulls,"percent"===C),n=function(v,d,O){let z,q,$=k[v],x=C&&_[$.x].points[F],E=$[O+"Null"]||0,G=$[O+"Cliff"]||0,h=!0;G||E?(z=(E?x[0]:x[1])+G,q=x[0]+G,h=!!E):!C&&k[d]&&k[d].isNull&&(z=q=S),void 0!==z&&(M.push({plotX:L,plotY:null===z?o:P.getThreshold(z),isNull:h,isCliff:!0}),l.push({plotX:L,plotY:null===q?o:P.getThreshold(q),doCurve:!1}))};k=k||this.points,C&&(k=this.getStackPoints(k));for(let v=0,d=k.length;v<d;++v)C||(k[v].leftCliff=k[v].rightCliff=k[v].leftNull=k[v].rightNull=void 0),I=k[v].isNull,L=J(k[v].rectPlotX,k[v].plotX),D=C?J(k[v].yBottom,o):o,I&&!p||(p||n(v,v-1,"left"),I&&!C&&p||(M.push(k[v]),l.push({x:v,plotX:L,plotY:D})),p||n(v,v+1,"right"));let i=u.call(this,M,!0,!0);l.reversed=!0;let e=u.call(this,l,!0,!0),r=e[0];r&&"M"===r[0]&&(e[0]=["L",r[1],r[2]]);let a=i.concat(e);a.length&&a.push(["Z"]);let y=u.call(this,M,!1,p);return this.chart.series.length>1&&C&&M.some(v=>v.isCliff)&&(a.hasStackedCliffs=y.hasStackedCliffs=!0),a.xMap=i.xMap,this.areaPath=a,y}getStackPoints(k){let L=this,I=[],D=[],u=this.xAxis,b=this.yAxis,C=b.stacking.stacks[this.stackKey],P={},l=b.series,M=l.length,F=b.options.reversedStacks?1:-1,_=l.indexOf(L);if(k=k||this.points,this.options.stacking){for(let o=0;o<k.length;o++)k[o].leftNull=k[o].rightNull=void 0,P[k[o].x]=k[o];dt(C,function(o,p){null!==o.total&&D.push(p)}),D.sort(function(o,p){return o-p});let S=l.map(o=>o.visible);D.forEach(function(o,p){let i,e,n=0;if(P[o]&&!P[o].isNull)I.push(P[o]),[-1,1].forEach(function(r){let a=1===r?"rightNull":"leftNull",y=C[D[p+r]],v=0;if(y){let d=_;for(;d>=0&&d<M;){let O=l[d].index;!(i=y.points[O])&&(O===L.index?P[o][a]=!0:S[d]&&(e=C[o].points[O])&&(v-=e[1]-e[0])),d+=F}}P[o][1===r?"rightCliff":"leftCliff"]=v});else{let r=_;for(;r>=0&&r<M;){if(i=C[o].points[l[r].index]){n=i[1];break}r+=F}n=J(n,0),n=b.translate(n,0,1,0,1),I.push({isNull:!0,plotX:u.translate(o,0,0,0,1),x:o,plotY:n,yBottom:n})}})}return I}}return Z.defaultOptions=ht(mt.defaultOptions,st),pt(Z.prototype,{singleStacks:!1}),nt.registerSeriesType("area",Z),Z}),St(Y,"Series/Spline/SplineSeries.js",[Y["Core/Series/SeriesRegistry.js"],Y["Core/Utilities.js"]],function(st,nt){let{line:gt}=st.seriesTypes,{merge:mt,pick:pt}=nt;class ht extends gt{getPointSpline(J,Z,K){let k,L,I,D,u=Z.plotX||0,b=Z.plotY||0,C=J[K-1],P=J[K+1];function l(F){return F&&!F.isNull&&!1!==F.doCurve&&!Z.isCliff}if(l(C)&&l(P)){let _=C.plotY||0,o=P.plotY||0,p=0;k=(1.5*u+(C.plotX||0))/2.5,L=(1.5*b+_)/2.5,I=(1.5*u+(P.plotX||0))/2.5,D=(1.5*b+o)/2.5,I!==k&&(p=(D-L)*(I-u)/(I-k)+b-D),L+=p,D+=p,L>_&&L>b?(L=Math.max(_,b),D=2*b-L):L<_&&L<b&&(L=Math.min(_,b),D=2*b-L),D>o&&D>b?(D=Math.max(o,b),L=2*b-D):D<o&&D<b&&(D=Math.min(o,b),L=2*b-D),Z.rightContX=I,Z.rightContY=D,Z.controlPoints={low:[k,L],high:[I,D]}}let M=["C",pt(C.rightContX,C.plotX,0),pt(C.rightContY,C.plotY,0),pt(k,u,0),pt(L,b,0),u,b];
1return C.rightContX=C.rightContY=void 0,M}}return ht.defaultOptions=mt(gt.defaultOptions),st.registerSeriesType("spline",ht),ht}),St(Y,"Series/AreaSpline/AreaSplineSeries.js",[Y["Series/Spline/SplineSeries.js"],Y["Core/Series/SeriesRegistry.js"],Y["Core/Utilities.js"]],function(st,nt,gt){let{area:mt,area:{prototype:pt}}=nt.seriesTypes,{extend:ht,merge:dt}=gt;class J extends st{}return J.defaultOptions=dt(st.defaultOptions,mt.defaultOptions),ht(J.prototype,{getGraphPath:pt.getGraphPath,getStackPoints:pt.getStackPoints,drawGraph:pt.drawGraph}),nt.registerSeriesType("areaspline",J),J}),St(Y,"Series/Column/ColumnSeriesDefaults.js",[],function(){return{borderRadius:3,centerInCategory:!1,groupPadding:.2,marker:null,pointPadding:.1,minPointLength:0,cropThreshold:50,pointRange:null,states:{hover:{halo:!1,brightness:.1},select:{color:"#cccccc",borderColor:"#000000"}},dataLabels:{align:void 0,verticalAlign:void 0,y:void 0},startFromThreshold:!0,stickyTracking:!1,tooltip:{distance:6},threshold:0,borderColor:"#ffffff"}}),St(Y,"Series/Column/ColumnSeries.js",[Y["Core/Animation/AnimationUtilities.js"],Y["Core/Color/Color.js"],Y["Series/Column/ColumnSeriesDefaults.js"],Y["Core/Globals.js"],Y["Core/Series/Series.js"],Y["Core/Series/SeriesRegistry.js"],Y["Core/Utilities.js"]],function(st,nt,gt,mt,pt,ht,dt){let{animObject:J}=st,{parse:Z}=nt,{noop:K}=mt,{clamp:k,crisp:L,defined:I,extend:D,fireEvent:u,isArray:b,isNumber:C,merge:P,pick:l,objectEach:M}=dt;class F extends pt{animate(S){let o,p,n=this,i=this.yAxis,e=i.pos,r=i.reversed,a=n.options,{clipOffset:y,inverted:v}=this.chart,d={},O=v?"translateX":"translateY";S&&y?(d.scaleY=.001,p=k(i.toPixels(a.threshold),e,e+i.len),v?(p+=r?-Math.floor(y[0]):Math.ceil(y[2]),d.translateX=p-i.len):(p+=r?Math.ceil(y[0]):-Math.floor(y[2]),d.translateY=p),n.clipBox&&n.setClip(),n.group.attr(d)):(o=Number(n.group.attr(O)),n.group.animate({scaleY:1},D(J(n.options.animation),{step:function($,x){n.group&&(d[O]=o+x.pos*(e-o),n.group.attr(d))}})))}init(S,o){super.init.apply(this,arguments);let p=this;(S=p.chart).hasRendered&&S.series.forEach(function(n){n.type===p.type&&(n.isDirty=!0)})}getColumnMetrics(){let a,S=this,o=S.options,p=S.xAxis,n=S.yAxis,i=p.options.reversedStacks,e=p.reversed&&!i||!p.reversed&&i,r={},y=0;!1===o.grouping?y=1:S.chart.series.forEach(function(E){let G,z=E.yAxis,q=E.options;E.type===S.type&&E.reserveSpace()&&n.len===z.len&&n.pos===z.pos&&(q.stacking&&"group"!==q.stacking?(void 0===r[a=E.stackKey]&&(r[a]=y++),G=r[a]):!1!==q.grouping&&(G=y++),E.columnIndex=G)});let v=Math.min(Math.abs(p.transA)*(!p.brokenAxis?.hasBreaks&&p.ordinal?.slope||o.pointRange||p.closestPointRange||p.tickInterval||1),p.len),d=v*o.groupPadding,O=(v-2*d)/(y||1),$=Math.min(o.maxPointWidth||p.len,l(o.pointWidth,O*(1-2*o.pointPadding)));return S.columnMetrics={width:$,offset:(O-$)/2+(d+((S.columnIndex||0)+(e?1:0))*O-v/2)*(e?-1:1),paddedWidth:O,columnCount:y},S.columnMetrics}crispCol(S,o,p,n){let i=this.borderWidth,e=this.chart.inverted;return n=L(o+n,i,e)-(o=L(o,i,e)),this.options.crisp&&(p=L(S+p,i)-(S=L(S,i))),{x:S,y:o,width:p,height:n}}adjustForMissingColumns(S,o,p,n){if(!p.isNull&&n.columnCount>1){let i=this.xAxis.series.filter(y=>y.visible).map(y=>y.index),e=0,r=0;M(this.xAxis.stacking?.stacks,y=>{if("number"==typeof p.x){let v=y[p.x.toString()];if(v&&b(v.points[this.index])){let d=Object.keys(v.points).filter(O=>!O.match(",")&&v.points[O]&&v.points[O].length>1).map(parseFloat).filter(O=>-1!==i.indexOf(O)).sort((O,$)=>$-O);e=d.indexOf(this.index),r=d.length}}}),e=this.xAxis.reversed?r-1-e:e,S=(p.plotX||0)+((r-1)*n.paddedWidth+o)/2-o-e*n.paddedWidth}return S}translate(){let S=this,o=S.chart,p=S.options,n=S.dense=S.closestPointRange*S.xAxis.transA<2,i=S.borderWidth=l(p.borderWidth,n?0:1),e=S.xAxis,r=S.yAxis,a=p.threshold,y=l(p.minPointLength,5),v=S.getColumnMetrics(),d=v.width,O=S.pointXOffset=v.offset,$=S.dataMin,x=S.dataMax,E=S.translatedThreshold=r.getThreshold(a),G=S.barW=Math.max(d,1+2*i);p.pointPadding&&(G=Math.ceil(G)),pt.prototype.translate.apply(S),S.points.forEach(function(z){let j,q=l(z.yBottom,E),h=999+Math.abs(q),c=z.plotX||0,g=k(z.plotY,-h,r.len+h),s=Math.min(g,q),f=Math.max(g,q)-s,m=d,T=c+O,w=G;y&&Math.abs(f)<y&&(f=y,j=!r.reversed&&!z.negative||r.reversed&&z.negative,C(a)&&C(x)&&z.y===a&&x<=a&&(r.min||0)<a&&($!==x||(r.max||0)<=a)&&(j=!j,z.negative=!z.negative),s=Math.abs(s-E)>y?q-y:E-(j?y:0)),I(z.options.pointWidth)&&(T-=Math.round(((m=w=Math.ceil(z.options.pointWidth))-d)/2)),p.centerInCategory&&!p.stacking&&(T=S.adjustForMissingColumns(T,m,z,v)),z.barX=T,z.pointWidth=m,z.tooltipPos=o.inverted?[k(r.len+r.pos-o.plotLeft-g,r.pos-o.plotLeft,r.len+r.pos-o.plotLeft),e.len+e.pos-o.plotTop-T-w/2,f]:[e.left-o.plotLeft+T+w/2,k(g+r.pos-o.plotTop,r.pos-o.plotTop,r.len+r.pos-o.plotTop),f],z.shapeType=S.pointClass.prototype.shapeType||"roundedRect",z.shapeArgs=S.crispCol(T,z.isNull?E:s,w,z.isNull?0:f)}),u(this,"afterColumnTranslate")}drawGraph(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")}pointAttribs(S,o){let r,a,y,p=this.options,n=this.pointAttrToOptions||{},i=n.stroke||"borderColor",e=n["stroke-width"]||"borderWidth",v=S&&S.color||this.color,d=S&&S[i]||p[i]||v,O=S&&S.options.dashStyle||p.dashStyle,$=S&&S[e]||p[e]||this[e]||0,x=l(S&&S.opacity,p.opacity,1);S&&this.zones.length&&(a=S.getZone(),v=S.options.color||a&&(a.color||S.nonZonedColor)||this.color,a&&(d=a.borderColor||d,O=a.dashStyle||O,$=a.borderWidth||$)),o&&S&&(y=(r=P(p.states[o],S.options.states&&S.options.states[o]||{})).brightness,v=r.color||void 0!==y&&Z(v).brighten(r.brightness).get()||v,d=r[i]||d,$=r[e]||$,O=r.dashStyle||O,x=l(r.opacity,x));let E={fill:v,stroke:d,"stroke-width":$,opacity:x};return O&&(E.dashstyle=O),E}drawPoints(S=this.points){let o,p=this,n=this.chart,i=p.options,e=n.renderer,r=i.animationLimit||250;
1S.forEach(function(a){let v=a.graphic,d=!!v,O=v&&n.pointCount<r?"animate":"attr";C(a.plotY)&&null!==a.y?(o=a.shapeArgs,v&&a.hasNewShapeType()&&(v=v.destroy()),p.enabledDataSorting&&(a.startXPos=p.xAxis.reversed?-(o&&o.width||0):p.xAxis.width),!v&&(a.graphic=v=e[a.shapeType](o).add(a.group||p.group),v&&p.enabledDataSorting&&n.hasRendered&&n.pointCount<r&&(v.attr({x:a.startXPos}),d=!0,O="animate")),v&&d&&v[O](P(o)),n.styledMode||v[O](p.pointAttribs(a,a.selected&&"select")).shadow(!1!==a.allowShadow&&i.shadow),v&&(v.addClass(a.getClassName(),!0),v.attr({visibility:a.visible?"inherit":"hidden"}))):v&&(a.graphic=v.destroy())})}drawTracker(S=this.points){let o,p=this,n=p.chart,i=n.pointer,e=function(r){let a=i?.getPointFromEvent(r);i&&a&&p.options.enableMouseTracking&&(i.isDirectTouch=!0,a.onMouseOver(r))};S.forEach(function(r){o=b(r.dataLabels)?r.dataLabels:r.dataLabel?[r.dataLabel]:[],r.graphic&&(r.graphic.element.point=r),o.forEach(function(a){(a.div||a.element).point=r})}),p._hasTracking||(p.trackerGroups.forEach(function(r){p[r]&&(p[r].addClass("highcharts-tracker").on("mouseover",e).on("mouseout",function(a){i?.onTrackerMouseOut(a)}).on("touchstart",e),!n.styledMode&&p.options.cursor&&p[r].css({cursor:p.options.cursor}))}),p._hasTracking=!0),u(this,"afterDrawTracker")}remove(){let S=this,o=S.chart;o.hasRendered&&o.series.forEach(function(p){p.type===S.type&&(p.isDirty=!0)}),pt.prototype.remove.apply(S,arguments)}}return F.defaultOptions=P(pt.defaultOptions,gt),D(F.prototype,{directTouch:!0,getSymbol:K,negStacks:!0,trackerGroups:["group","dataLabelsGroup"]}),ht.registerSeriesType("column",F),F}),St(Y,"Core/Series/DataLabel.js",[Y["Core/Animation/AnimationUtilities.js"],Y["Core/Templating.js"],Y["Core/Utilities.js"]],function(st,nt,gt){var mt;let{getDeferredAnimation:pt}=st,{format:ht}=nt,{defined:dt,extend:J,fireEvent:Z,isArray:K,isString:k,merge:L,objectEach:I,pick:D,pInt:u,splat:b}=gt;return function(C){function P(){return p(this).some(i=>i?.enabled)}function l(i,e,r,a,y){let{chart:v,enabledDataSorting:d}=this,O=this.isCartesian&&v.inverted,$=i.plotX,x=i.plotY,E=r.rotation||0,G=dt($)&&dt(x)&&v.isInsidePlot($,Math.round(x),{inverted:O,paneCoordinates:!0,series:this}),z=0===E&&"justify"===D(r.overflow,d?"none":"justify"),q=this.visible&&!1!==i.visible&&dt($)&&(i.series.forceDL||d&&!z||G||D(r.inside,!!this.options.stacking)&&a&&v.isInsidePlot($,O?a.x+1:a.y+a.height-1,{inverted:O,paneCoordinates:!0,series:this})),h=i.pos();if(q&&h){let g=e.getBBox(),j=e.getBBox(void 0,0),s={right:1,center:.5}[r.align||0]||0,f={bottom:1,middle:.5}[r.verticalAlign||0]||0;if(a=J({x:h[0],y:Math.round(h[1]),width:0,height:0},a||{}),"plotEdges"===r.alignTo&&this.isCartesian&&(a[O?"x":"y"]=0,a[O?"width":"height"]=this.yAxis?.len||0),J(r,{width:g.width,height:g.height}),d&&this.xAxis&&!z&&this.setDataLabelStartPos(i,e,y,G,a),e.align(L(r,{width:j.width,height:j.height}),!1,a,!1),e.alignAttr.x+=s*(j.width-g.width),e.alignAttr.y+=f*(j.height-g.height),e[e.placed?"animate":"attr"]({x:e.alignAttr.x+(g.width-j.width)/2,y:e.alignAttr.y+(g.height-j.height)/2,rotationOriginX:(e.width||0)/2,rotationOriginY:(e.height||0)/2}),z&&a.height>=0)this.justifyDataLabel(e,r,e.alignAttr,g,a,y);else if(D(r.crop,!0)){let{x:m,y:T}=e.alignAttr;q=v.isInsidePlot(m,T,{paneCoordinates:!0,series:this})&&v.isInsidePlot(m+g.width-1,T+g.height-1,{paneCoordinates:!0,series:this})}r.shape&&!E&&e[y?"attr":"animate"]({anchorX:h[0],anchorY:h[1]})}y&&d&&(e.placed=!1),q||d&&!z?(e.show(),e.placed=!0):(e.hide(),e.placed=!1)}function M(){return this.plotGroup("dataLabelsGroup","data-labels",this.hasRendered?"inherit":"hidden",this.options.dataLabels.zIndex||6)}function F(i){let e=this.hasRendered||0,r=this.initDataLabelsGroup().attr({opacity:+e});return!e&&r&&(this.visible&&r.show(),this.options.animation?r.animate({opacity:1},i):r.attr({opacity:1})),r}function _(i){let e;i=i||this.points;let r=this,a=r.chart,y=r.options,v=a.renderer,{backgroundColor:d,plotBackgroun
1dColor:O}=a.options.chart,$=v.getContrast(k(O)&&O||k(d)&&d||"#000000"),x=p(r),{animation:E,defer:G}=x[0],z=G?pt(a,E,r):{defer:0,duration:0};Z(this,"drawDataLabels"),r.hasDataLabels?.()&&(e=this.initDataLabels(z),i.forEach(q=>{let h=q.dataLabels||[];b(o(x,q.dlOptions||q.options?.dataLabels)).forEach((g,j)=>{let N,W,V,Q,R,s=g.enabled&&(q.visible||q.dataLabelOnHidden)&&(!q.isNull||q.dataLabelOnNull)&&function(H,X){let tt=X.filter;if(tt){let et=tt.operator,rt=H[tt.property],ot=tt.value;return">"===et&&rt>ot||"<"===et&&rt<ot||">="===et&&rt>=ot||"<="===et&&rt<=ot||"=="===et&&rt==ot||"==="===et&&rt===ot||"!="===et&&rt!=ot||"!=="===et&&rt!==ot}return!0}(q,g),{backgroundColor:f,borderColor:m,distance:T,style:w={}}=g,lt={},ct=h[j],B=!ct;s&&(W=D(g[q.formatPrefix+"Format"],g.format),N=q.getLabelConfig(),V=dt(W)?ht(W,N,a):(g[q.formatPrefix+"Formatter"]||g.formatter).call(N,g),Q=g.rotation,!a.styledMode&&(w.color=D(g.color,w.color,k(r.color)?r.color:void 0,"#000000"),"contrast"===w.color?("none"!==f&&(R=f),q.contrastColor=v.getContrast("auto"!==R&&R||q.color||r.color),w.color=R||!dt(T)&&g.inside||0>u(T||0)||y.stacking?q.contrastColor:$):delete q.contrastColor,y.cursor&&(w.cursor=y.cursor)),lt={r:g.borderRadius||0,rotation:Q,padding:g.padding,zIndex:1},a.styledMode||(lt.fill="auto"===f?q.color:f,lt.stroke="auto"===m?q.color:m,lt["stroke-width"]=g.borderWidth),I(lt,(H,X)=>{void 0===H&&delete lt[X]})),!ct||s&&dt(V)&&!!ct.div==!!g.useHTML&&(ct.rotation&&g.rotation||ct.rotation===g.rotation)||(ct=void 0,B=!0),s&&dt(V)&&(ct?lt.text=V:(ct=v.label(V,0,0,g.shape,void 0,void 0,g.useHTML,void 0,"data-label")).addClass(" highcharts-data-label-color-"+q.colorIndex+" "+(g.className||"")+(g.useHTML?" highcharts-tracker":"")),ct&&(ct.options=g,ct.attr(lt),a.styledMode?w.width&&ct.css({width:w.width,textOverflow:w.textOverflow}):ct.css(w).shadow(g.shadow),Z(ct,"beforeAddingDataLabel",{labelOptions:g,point:q}),ct.added||ct.add(e),r.alignDataLabel(q,ct,g,void 0,B),ct.isActive=!0,h[j]&&h[j]!==ct&&h[j].destroy(),h[j]=ct))});let c=h.length;for(;c--;)h[c]&&h[c].isActive?h[c].isActive=!1:(h[c]?.destroy(),h.splice(c,1));q.dataLabel=h[0],q.dataLabels=h})),Z(this,"afterDrawDataLabels")}function S(i,e,r,a,y,v){let g,j,d=this.chart,O=e.align,$=e.verticalAlign,x=i.box?0:i.padding||0,E=d.inverted?this.yAxis:this.xAxis,G=E?E.left-d.plotLeft:0,z=d.inverted?this.xAxis:this.yAxis,q=z?z.top-d.plotTop:0,{x:h=0,y:c=0}=e;return(g=(r.x||0)+x+G)<0&&("right"===O&&h>=0?(e.align="left",e.inside=!0):h-=g,j=!0),(g=(r.x||0)+a.width-x+G)>d.plotWidth&&("left"===O&&h<=0?(e.align="right",e.inside=!0):h+=d.plotWidth-g,j=!0),(g=r.y+x+q)<0&&("bottom"===$&&c>=0?(e.verticalAlign="top",e.inside=!0):c-=g,j=!0),(g=(r.y||0)+a.height-x+q)>d.plotHeight&&("top"===$&&c<=0?(e.verticalAlign="bottom",e.inside=!0):c+=d.plotHeight-g,j=!0),j&&(e.x=h,e.y=c,i.placed=!v,i.align(e,void 0,y)),j}function o(i,e){let a,r=[];if(K(i)&&!K(e))r=i.map(function(y){return L(y,e)});else if(K(e)&&!K(i))r=e.map(function(y){return L(i,y)});else if(K(i)||K(e)){if(K(i)&&K(e))for(a=Math.max(i.length,e.length);a--;)r[a]=L(i[a],e[a])}else r=L(i,e);return r}function p(i){let e=i.chart.options.plotOptions;return b(o(o(e?.series?.dataLabels,e?.[i.type]?.dataLabels),i.options.dataLabels))}function n(i,e,r,a,y){let v=this.chart,d=v.inverted,O=this.xAxis,$=O.reversed,x=((d?e.height:e.width)||0)/2,E=i.pointWidth,G=E?E/2:0;
1e.startXPos=d?y.x:$?-x-G:O.width-x+G,e.startYPos=d?$?this.yAxis.height-x+G:-x-G:y.y,a?"hidden"===e.visibility&&(e.show(),e.attr({opacity:0}).animate({opacity:1})):e.attr({opacity:1}).animate({opacity:0},void 0,e.hide),v.hasRendered&&(r&&e.attr({x:e.startXPos,y:e.startYPos}),e.placed=!0)}C.compose=function(i){let e=i.prototype;e.initDataLabels||(e.initDataLabels=F,e.initDataLabelsGroup=M,e.alignDataLabel=l,e.drawDataLabels=_,e.justifyDataLabel=S,e.setDataLabelStartPos=n,e.hasDataLabels=P)}}(mt||(mt={})),mt}),St(Y,"Series/Column/ColumnDataLabel.js",[Y["Core/Series/DataLabel.js"],Y["Core/Globals.js"],Y["Core/Series/SeriesRegistry.js"],Y["Core/Utilities.js"]],function(st,nt,gt,mt){var pt;let{composed:ht}=nt,{series:dt}=gt,{merge:J,pick:Z,pushUnique:K}=mt;return function(k){function L(I,D,u,b,C){let P=this.chart.inverted,l=I.series,M=(l.xAxis?l.xAxis.len:this.chart.plotSizeX)||0,F=(l.yAxis?l.yAxis.len:this.chart.plotSizeY)||0,_=I.dlBox||I.shapeArgs,S=Z(I.below,I.plotY>Z(this.translatedThreshold,F)),o=Z(u.inside,!!this.options.stacking);if(_){if(b=J(_),"allow"!==u.overflow||!1!==u.crop){b.y<0&&(b.height+=b.y,b.y=0);let p=b.y+b.height-F;p>0&&p<b.height-1&&(b.height-=p)}P&&(b={x:F-b.y-b.height,y:M-b.x-b.width,width:b.height,height:b.width}),o||(P?(b.x+=S?0:b.width,b.width=0):(b.y+=S?b.height:0,b.height=0))}u.align=Z(u.align,!P||o?"center":S?"right":"left"),u.verticalAlign=Z(u.verticalAlign,P||o?"middle":S?"top":"bottom"),dt.prototype.alignDataLabel.call(this,I,D,u,b,C),u.inside&&I.contrastColor&&D.css({color:I.contrastColor})}k.compose=function(I){st.compose(dt),K(ht,"ColumnDataLabel")&&(I.prototype.alignDataLabel=L)}}(pt||(pt={})),pt}),St(Y,"Series/Bar/BarSeries.js",[Y["Series/Column/ColumnSeries.js"],Y["Core/Series/SeriesRegistry.js"],Y["Core/Utilities.js"]],function(st,nt,gt){let{extend:mt,merge:pt}=gt;class ht extends st{}return ht.defaultOptions=pt(st.defaultOptions,{}),mt(ht.prototype,{inverted:!0}),nt.registerSeriesType("bar",ht),ht}),St(Y,"Series/Scatter/ScatterSeriesDefaults.js",[],function(){return{lineWidth:0,findNearestPointBy:"xy",jitter:{x:0,y:0},marker:{enabled:!0},tooltip:{headerFormat:'<span style="color:{point.color}">\u25cf</span> <span style="font-size: 0.8em"> {series.name}</span><br/>',pointFormat:"x: <b>{point.x}</b><br/>y: <b>{point.y}</b><br/>"}}}),St(Y,"Series/Scatter/ScatterSeries.js",[Y["Series/Scatter/ScatterSeriesDefaults.js"],Y["Core/Series/SeriesRegistry.js"],Y["Core/Utilities.js"]],function(st,nt,gt){let{column:mt,line:pt}=nt.seriesTypes,{addEvent:ht,extend:dt,merge:J}=gt;class Z extends pt{applyJitter(){let k=this,L=this.options.jitter,I=this.points.length;L&&this.points.forEach(function(D,u){["x","y"].forEach(function(b,C){if(L[b]&&!D.isNull){let P=`plot${b.toUpperCase()}`,l=k[`${b}Axis`],M=L[b]*l.transA;if(l&&!l.logarithmic){let F=Math.max(0,(D[P]||0)-M),_=Math.min(l.len,(D[P]||0)+M);D[P]=F+(_-F)*function(S){let o=1e4*Math.sin(S);return o-Math.floor(o)}(u+C*I),"x"===b&&(D.clientX=D.plotX)}}})})}drawGraph(){this.options.lineWidth?super.drawGraph():this.graph&&(this.graph=this.graph.destroy())}}return Z.defaultOptions=J(pt.defaultOptions,st),dt(Z.prototype,{drawTracker:mt.prototype.drawTracker,sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","markerGroup","dataLabelsGroup"]}),ht(Z,"afterTranslate",function(){this.applyJitter()}),nt.registerSeriesType("scatter",Z),Z}),St(Y,"Series/CenteredUtilities.js",[Y["Core/Globals.js"],Y["Core/Series/Series.js"],Y["Core/Utilities.js"]],function(st,nt,gt){var mt,pt;let{deg2rad:ht}=st,{fireEvent:dt,isNumber:J,pick:Z,relativeLength:K}=gt;return(pt=mt||(mt={})).getCenter=function(){let l,_,S,k=this.options,L=this.chart,I=2*(k.slicedOffset||0),D=L.plotWidth-2*I,u=L.plotHeight-2*I,b=k.center,C=Math.min(D,u),P=k.thickness,M=k.size,F=k.innerSize||0;"string"==typeof M&&(M=parseFloat(M)),"string"==typeof F&&(F=parseFloat(F));let o=[Z(b[0],"50%"),Z(b[1],"50%"),Z(M&&M<0?void 0:k.size,"100%"),Z(F&&F<0?void 0:k.innerSize||0,"0%")];for(!L.angular||this instanceof nt||(o[3]=0),_=0;_<4;++_)S=o[_],l=_<2||2===_&&/%$/.test(S),o[_]=K(S,[D,u,C,o[2]][_])+(l?I:0);return o[3]>o[2]&&(o[3]=o[2]),J(P)&&2*P<o[2]&&P>0&&(o[3]=o[2]-2*P),dt(this,"afterGetCenter",{positions:o}),o},pt.getStartAndEndRadians=function(k,L){let I=J(k)?k:0,D=J(L)&&L>I&&L-I<360?L:I+360;return{start:ht*(I+-90),end:ht*(D+-90)}},mt}
1),St(Y,"Series/Pie/PiePoint.js",[Y["Core/Animation/AnimationUtilities.js"],Y["Core/Series/Point.js"],Y["Core/Utilities.js"]],function(st,nt,gt){let{setAnimation:mt}=st,{addEvent:pt,defined:ht,extend:dt,isNumber:J,pick:Z,relativeLength:K}=gt;class k extends nt{getConnectorPath(I){let D=I.dataLabelPosition,u=I.options||{},b=u.connectorShape;return D&&(this.connectorShapes[b]||b).call(this,{...D.computed,alignment:D.alignment},D.connectorPosition,u)||[]}getTranslate(){return this.sliced&&this.slicedTranslation||{translateX:0,translateY:0}}haloPath(I){let D=this.shapeArgs;return this.sliced||!this.visible?[]:this.series.chart.renderer.symbols.arc(D.x,D.y,D.r+I,D.r+I,{innerR:D.r-1,start:D.start,end:D.end,borderRadius:D.borderRadius})}constructor(I,D,u){super(I,D,u),this.half=0,this.name??(this.name="Slice");let b=C=>{this.slice("select"===C.type)};pt(this,"select",b),pt(this,"unselect",b)}isValid(){return J(this.y)&&this.y>=0}setVisible(I,D=!0){I!==this.visible&&this.update({visible:I??!this.visible},D,void 0,!1)}slice(I,D,u){let b=this.series;mt(u,b.chart),D=Z(D,!0),this.sliced=this.options.sliced=I=ht(I)?I:!this.sliced,b.options.data[b.data.indexOf(this)]=this.options,this.graphic&&this.graphic.animate(this.getTranslate())}}return dt(k.prototype,{connectorShapes:{fixedOffset:function(L,I,D){let u=I.breakAt,b=I.touchingSliceAt;return[["M",L.x,L.y],D.softConnector?["C",L.x+("left"===L.alignment?-5:5),L.y,2*u.x-b.x,2*u.y-b.y,u.x,u.y]:["L",u.x,u.y],["L",b.x,b.y]]},straight:function(L,I){let D=I.touchingSliceAt;return[["M",L.x,L.y],["L",D.x,D.y]]},crookedLine:function(L,I,D){let{breakAt:u,touchingSliceAt:b}=I,{series:C}=this,[P,l,M]=C.center,F=M/2,{plotLeft:_,plotWidth:S}=C.chart,o="left"===L.alignment,{x:p,y:n}=L,i=u.x;if(D.crookDistance){let r=K(D.crookDistance,1);i=o?P+F+(S+_-P-F)*(1-r):_+(P-F)*r}else i=P+(l-n)*Math.tan((this.angle||0)-Math.PI/2);let e=[["M",p,n]];return(o?i<=p&&i>=u.x:i>=p&&i<=u.x)&&e.push(["L",i,n]),e.push(["L",u.x,u.y],["L",b.x,b.y]),e}}}),k}),St(Y,"Series/Pie/PieSeriesDefaults.js",[],function(){return{borderRadius:3,center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{connectorPadding:5,connectorShape:"crookedLine",crookDistance:void 0,distance:30,enabled:!0,formatter:function(){return this.point.isNull?void 0:this.point.name},softConnector:!0,x:0},fillColor:void 0,ignoreHiddenPoint:!0,inactiveOtherPoints:!0,legendType:"point",marker:null,size:null,showInLegend:!1,slicedOffset:10,stickyTracking:!1,tooltip:{followPointer:!0},borderColor:"#ffffff",borderWidth:1,lineWidth:void 0,states:{hover:{brightness:.1}}}}),St(Y,"Series/Pie/PieSeries.js",[Y["Series/CenteredUtilities.js"],Y["Series/Column/ColumnSeries.js"],Y["Core/Globals.js"],Y["Series/Pie/PiePoint.js"],Y["Series/Pie/PieSeriesDefaults.js"],Y["Core/Series/Series.js"],Y["Core/Series/SeriesRegistry.js"],Y["Core/Renderer/SVG/Symbols.js"],Y["Core/Utilities.js"]],function(st,nt,gt,mt,pt,ht,dt,J,Z){let{getStartAndEndRadians:K}=st,{noop:k}=gt,{clamp:L,extend:I,fireEvent:D,merge:u,pick:b}=Z;class C extends ht{animate(l){let M=this,_=M.startAngleRad;l||M.points.forEach(function(S){let o=S.graphic,p=S.shapeArgs;o&&p&&(o.attr({r:b(S.startR,M.center&&M.center[3]/2),start:_,end:_}),o.animate({r:p.r,start:p.start,end:p.end},M.options.animation))})}drawEmpty(){let l,M,F=this.startAngleRad,_=this.endAngleRad,S=this.options;0===this.total&&this.center?(l=this.center[0],M=this.center[1],this.graph||(this.graph=this.chart.renderer.arc(l,M,this.center[1]/2,0,F,_).addClass("highcharts-empty-series").add(this.group)),this.graph.attr({d:J.arc(l,M,this.center[2]/2,0,{start:F,end:_,innerR:this.center[3]/2})}),this.chart.styledMode||this.graph.attr({"stroke-width":S.borderWidth,fill:S.fillColor||"none",stroke:S.color||"#cccccc"})):this.graph&&(this.graph=this.graph.destroy())}drawPoints(){let l=this.chart.renderer;this.points.forEach(function(M){M.graphic&&M.hasNewShapeType()&&(M.graphic=M.graphic.destroy()),M.graphic||(M.graphic=l[M.shapeType](M.shapeArgs).add(M.series.group),M.delayedRendering=!0)})}generatePoints(){super.generatePoints(),this.updateTotals()}getX(l,M,F,_){let S=this.center,o=this.radii?this.radii[F.index]||0:S[2]/2,p=_.dataLabelPosition,n=p?.distance||0,i=Math.asin(L((l-S[1])/(o+n),-1,1));return S[0]+Math.cos(i)*(o+n)*(M?-1:1)+(n>0?(M?-1:1)*(_.padding||0):0)}hasData(){return!!this.processedXData.length}redrawPoints(){let l,M,F,_,S=this,o=S.chart;this.drawEmpty(),S.group&&!o.styledMode&&S.group.shadow(S.options.shadow),S.points.forEac
vendor: 3,083 bytes, line 1
1h(function(p){let n={};M=p.graphic,!p.isNull&&M?(_=p.shapeArgs,l=p.getTranslate(),o.styledMode||(F=S.pointAttribs(p,p.selected&&"select")),p.delayedRendering?(M.setRadialReference(S.center).attr(_).attr(l),o.styledMode||M.attr(F).attr({"stroke-linejoin":"round"}),p.delayedRendering=!1):(M.setRadialReference(S.center),o.styledMode||u(!0,n,F),u(!0,n,_,l),M.animate(n)),M.attr({visibility:p.visible?"inherit":"hidden"}),M.addClass(p.getClassName(),!0)):M&&(p.graphic=M.destroy())})}sortByAngle(l,M){l.sort(function(F,_){return void 0!==F.angle&&(_.angle-F.angle)*M})}translate(l){D(this,"translate"),this.generatePoints();let e,r,a,y,v,d,O,M=this.options,F=M.slicedOffset,_=K(M.startAngle,M.endAngle),S=this.startAngleRad=_.start,o=(this.endAngleRad=_.end)-S,p=this.points,n=M.ignoreHiddenPoint,i=p.length,$=0;for(l||(this.center=l=this.getCenter()),d=0;d<i;d++){O=p[d],e=S+$*o,O.isValid()&&(!n||O.visible)&&($+=O.percentage/100),r=S+$*o;let x={x:l[0],y:l[1],r:l[2]/2,innerR:l[3]/2,start:Math.round(1e3*e)/1e3,end:Math.round(1e3*r)/1e3};O.shapeType="arc",O.shapeArgs=x,(a=(r+e)/2)>1.5*Math.PI?a-=2*Math.PI:a<-Math.PI/2&&(a+=2*Math.PI),O.slicedTranslation={translateX:Math.round(Math.cos(a)*F),translateY:Math.round(Math.sin(a)*F)},y=Math.cos(a)*l[2]/2,v=Math.sin(a)*l[2]/2,O.tooltipPos=[l[0]+.7*y,l[1]+.7*v],O.half=a<-Math.PI/2||a>Math.PI/2?1:0,O.angle=a}D(this,"afterTranslate")}updateTotals(){let _,S,l=this.points,M=l.length,F=this.options.ignoreHiddenPoint,o=0;for(_=0;_<M;_++)(S=l[_]).isValid()&&(!F||S.visible)&&(o+=S.y);for(_=0,this.total=o;_<M;_++)(S=l[_]).percentage=o>0&&(S.visible||!F)?S.y/o*100:0,S.total=o}}return C.defaultOptions=u(ht.defaultOptions,pt),I(C.prototype,{axisTypes:[],directTouch:!0,drawGraph:void 0,drawTracker:nt.prototype.drawTracker,getCenter:st.getCenter,getSymbol:k,invertible:!1,isCartesian:!1,noSharedTooltip:!0,pointAttribs:nt.prototype.pointAttribs,pointClass:mt,requireSorting:!1,searchPoint:k,trackerGroups:["group","dataLabelsGroup"]}),dt.registerSeriesType("pie",C),C}),St(Y,"Series/Pie/PieDataLabel.js",[Y["Core/Series/DataLabel.js"],Y["Core/Globals.js"],Y["Core/Renderer/RendererUtilities.js"],Y["Core/Series/SeriesRegistry.js"],Y["Core/Utilities.js"]],function(st,nt,gt,mt,pt){var ht;let{composed:dt,noop:J}=nt,{distribute:Z}=gt,{series:K}=mt,{arrayMax:k,clamp:L,defined:I,pick:D,pushUnique:u,relativeLength:b}=pt;return function(C){let P={radialDistributionY:function(S,o){return(o.dataLabelPosition?.top||0)+S.distributeBox.pos},radialDistributionX:function(S,o,p,n,i){let e=i.dataLabelPosition;return S.getX(p<(e?.top||0)+2||p>(e?.bottom||0)-2?n:p,o.half,o,i)},justify:function(S,o,p,n){return n[0]+(S.half?-1:1)*(p+(o.dataLabelPosition?.distance||0))},alignToPlotEdges:function(S,o,p,n){let i=S.getBBox().width;return o?i+n:p-i-n},alignToConnectors:function(S,o,p,n){let e,i=0;return S.forEach(function(r){(e=r.dataLabel.getBBox().width)>i&&(i=e)}),o?i+n:p-i-n}};function l(S,o){let{center:p,options:n}=this,i=p[2]/2,e=S.angle||0,r=Math.cos(e),a=Math.sin(e),y=p[0]+r*i,v=p[1]+a*i,d=Math.min((n.slicedOffset||0)+(n.borderWidth||0),o/5);
vendor: 4,415 bytes, line 1
1return{natural:{x:y+r*o,y:v+a*o},computed:{},alignment:o<0?"center":S.half?"right":"left",connectorPosition:{breakAt:{x:y+r*d,y:v+a*d},touchingSliceAt:{x:y,y:v}},distance:o}}function M(){let x,E,G,S=this,o=S.points,p=S.chart,n=p.plotWidth,i=p.plotHeight,e=p.plotLeft,r=Math.round(p.chartWidth/3),a=S.center,y=a[2]/2,v=a[1],d=[[],[]],O=[0,0,0,0],$=S.dataLabelPositioners,z=0;S.visible&&S.hasDataLabels?.()&&(o.forEach(q=>{(q.dataLabels||[]).forEach(h=>{h.shortened&&(h.attr({width:"auto"}).css({width:"auto",textOverflow:"clip"}),h.shortened=!1)})}),K.prototype.drawDataLabels.apply(S),o.forEach(q=>{(q.dataLabels||[]).forEach((h,c)=>{let g=a[2]/2,j=h.options,s=b(j?.distance||0,g);0===c&&d[q.half].push(q),!I(j?.style?.width)&&h.getBBox().width>r&&(h.css({width:Math.round(.7*r)+"px"}),h.shortened=!0),h.dataLabelPosition=this.getDataLabelPosition(q,s),z=Math.max(z,s)})}),d.forEach((q,h)=>{let j,s,m,g=[],f=0;q.length&&(S.sortByAngle(q,h-.5),z>0&&(j=Math.max(0,v-y-z),s=Math.min(v+y+z,p.plotHeight),q.forEach(T=>{(T.dataLabels||[]).forEach(w=>{let N=w.dataLabelPosition;N&&N.distance>0&&(N.top=Math.max(0,v-y-N.distance),N.bottom=Math.min(v+y+N.distance,p.plotHeight),f=w.getBBox().height||21,w.lineHeight=p.renderer.fontMetrics(w.text||w).h+2*w.padding,T.distributeBox={target:(w.dataLabelPosition?.natural.y||0)-N.top+w.lineHeight/2,size:f,rank:T.y},g.push(T.distributeBox))})}),Z(g,m=s+f-j,m/5)),q.forEach(T=>{(T.dataLabels||[]).forEach(w=>{let N=w.options||{},W=T.distributeBox,V=w.dataLabelPosition,Q=V?.natural.y||0,lt=N.connectorPadding||0,ct=w.lineHeight||21,B=(ct-w.getBBox().height)/2,R=0,H=Q,X="inherit";if(V){if(g&&I(W)&&V.distance>0&&(void 0===W.pos?X="hidden":(G=W.size,H=$.radialDistributionY(T,w))),N.justify)R=$.justify(T,w,y,a);else switch(N.alignTo){case"connectors":R=$.alignToConnectors(q,h,n,e);break;case"plotEdges":R=$.alignToPlotEdges(w,h,n,e);break;default:R=$.radialDistributionX(S,T,H-B,Q,w)}if(V.attribs={visibility:X,align:V.alignment},V.posAttribs={x:R+(N.x||0)+({left:lt,right:-lt}[V.alignment]||0),y:H+(N.y||0)-ct/2},V.computed.x=R,V.computed.y=H-B,D(N.crop,!0)){let tt;R-(E=w.getBBox().width)<lt&&1===h?(tt=Math.round(E-R+lt),O[3]=Math.max(tt,O[3])):R+E>n-lt&&0===h&&(tt=Math.round(R+E-n+lt),O[1]=Math.max(tt,O[1])),H-G/2<0?O[0]=Math.max(Math.round(G/2-H),O[0]):H+G/2>i&&(O[2]=Math.max(Math.round(H+G/2-i),O[2])),V.sideOverflow=tt}}})}))}),(0===k(O)||this.verifyDataLabelOverflow(O))&&(this.placeDataLabels(),this.points.forEach(q=>{(q.dataLabels||[]).forEach(h=>{let{connectorColor:c,connectorWidth:g=1}=h.options||{},j=h.dataLabelPosition;if(g){let s;x=h.connector,j&&j.distance>0?(s=!x,x||(h.connector=x=p.renderer.path().addClass("highcharts-data-label-connector highcharts-color-"+q.colorIndex+(q.className?" "+q.className:"")).add(S.dataLabelsGroup)),p.styledMode||x.attr({"stroke-width":g,stroke:c||q.color||"#666666"}),x[s?"attr":"animate"]({d:q.getConnectorPath(h)}),x.attr({visibility:j.attribs?.visibility})):x&&(h.connector=x.destroy())}})})))}function F(){this.points.forEach(S=>{(S.dataLabels||[]).forEach(o=>{let p=o.dataLabelPosition;p?(p.sideOverflow&&(o.css({width:Math.max(o.getBBox().width-p.sideOverflow,0)+"px",textOverflow:(o.options?.style||{}).textOverflow||"ellipsis"}),o.shortened=!0),o.attr(p.attribs),o[o.moved?"animate":"attr"](p.posAttribs),o.moved=!0):o&&o.attr({y:-9999})}),delete S.distributeBox},this)}function _(S){let o=this.center,p=this.options,n=p.center,i=p.minSize||80,e=i,r=null!==p.size;return!r&&(null!==n[0]?e=Math.max(o[2]-Math.max(S[1],S[3]),i):(e=Math.max(o[2]-S[1]-S[3],i),o[0]+=(S[3]-S[1])/2),null!==n[1]?e=L(e,i,o[2]-Math.max(S[0],S[2])):(e=L(e,i,o[2]-S[0]-S[2]),o[1]+=(S[0]-S[2])/2),e<o[2]?(o[2]=e,o[3]=Math.min(p.thickness?Math.max(0,e-2*p.thickness):Math.max(0,b(p.innerSize||0,e)),e),this.translate(o),this.drawDataLabels&&this.drawDataLabels()):r=!0),r}C.compose=function(S){if(st.compose(K),u(dt,"PieDataLabel")){let o=S.prototype;o.dataLabelPositioners=P,o.alignDataLabel=J,o.drawDataLabels=M,o.getDataLabelPosition=l,o.placeDataLabels=F,o.verifyDataLabelOverflow=_}}}(ht||(ht={})),ht}),St(Y,"Core/Geometry/GeometryUtilities.js",[],function(){var st,nt;return(nt=st||(st={})).getCenterOfPoints=function(gt){let mt=gt.reduce((pt,ht)=>(pt.x+=ht.x,pt.y+=ht.y,pt),{x:0,y:0});return{x:mt.x/gt.length,y:mt.y/gt.length}},nt.getDistanceBetweenPoints=function(gt,mt){return Math.sqrt(Math.pow(mt.x-gt.x,2)+Math.pow(mt.y-gt.y,2))}
1,nt.getAngleBetweenPoints=function(gt,mt){return Math.atan2(mt.x-gt.x,mt.y-gt.y)},nt.pointInPolygon=function({x:gt,y:mt},pt){let dt,J,ht=pt.length,Z=!1;for(dt=0,J=ht-1;dt<ht;J=dt++){let[K,k]=pt[dt],[L,I]=pt[J];k>mt!=I>mt&><(L-K)*(mt-k)/(I-k)+K&&(Z=!Z)}return Z},st}),St(Y,"Extensions/OverlappingDataLabels.js",[Y["Core/Geometry/GeometryUtilities.js"],Y["Core/Utilities.js"]],function(st,nt){let{pointInPolygon:gt}=st,{addEvent:mt,fireEvent:pt,objectEach:ht,pick:dt}=nt;function J(k){let u,b,C,P,l,L=k.length,I=(F,_)=>!(_.x>=F.x+F.width||_.x+_.width<=F.x||_.y>=F.y+F.height||_.y+_.height<=F.y),D=(F,_)=>{for(let S of F)if(gt({x:S[0],y:S[1]},_))return!0;return!1},M=!1;for(let F=0;F<L;F++)(u=k[F])&&(u.oldOpacity=u.opacity,u.newOpacity=1,u.absoluteBox=function(_){if(_&&(!_.alignAttr||_.placed)){let S=_.box?0:_.padding||0,o=_.alignAttr||{x:_.attr("x"),y:_.attr("y")},p=_.getBBox();return _.width=p.width,_.height=p.height,{x:o.x+(_.parentGroup?.translateX||0)+S,y:o.y+(_.parentGroup?.translateY||0)+S,width:(_.width||0)-2*S,height:(_.height||0)-2*S,polygon:p?.polygon}}}(u));k.sort((F,_)=>(_.labelrank||0)-(F.labelrank||0));for(let F=0;F<L;++F){P=(b=k[F])&&b.absoluteBox;let _=P?.polygon;for(let S=F+1;S<L;++S){l=(C=k[S])&&C.absoluteBox;let o=!1;if(P&&l&&b!==C&&0!==b.newOpacity&&0!==C.newOpacity&&"hidden"!==b.visibility&&"hidden"!==C.visibility){let p=l.polygon;if(_&&p&&_!==p?D(_,p)&&(o=!0):I(P,l)&&(o=!0),o){let n=b.labelrank<C.labelrank?b:C,i=n.text;n.newOpacity=0,i?.element.querySelector("textPath")&&i.hide()}}}}for(let F of k)Z(F,this)&&(M=!0);M&&pt(this,"afterHideAllOverlappingLabels")}function Z(k,L){let I,D,u=!1;return k&&(D=k.newOpacity,k.oldOpacity!==D&&(k.hasClass("highcharts-data-label")?(k[D?"removeClass":"addClass"]("highcharts-data-label-hidden"),I=function(){L.styledMode||k.css({pointerEvents:D?"auto":"none"})},u=!0,k[k.isOld?"animate":"attr"]({opacity:D},void 0,I),pt(L,"afterHideOverlappingLabel")):k.attr({opacity:D})),k.isOld=!0),u}function K(){let k=this,L=[];for(let I of k.labelCollectors||[])L=L.concat(I());for(let I of k.yAxis||[])I.stacking&&I.options.stackLabels&&!I.options.stackLabels.allowOverlap&&ht(I.stacking.stacks,D=>{ht(D,u=>{u.label&&L.push(u.label)})});for(let I of k.series||[])if(I.visible&&I.hasDataLabels?.()){let D=u=>{for(let b of u)b.visible&&(b.dataLabels||[]).forEach(C=>{let P=C.options||{};C.labelrank=dt(P.labelrank,b.labelrank,b.shapeArgs?.height),P.allowOverlap??Number(P.distance)>0?(C.oldOpacity=C.opacity,C.newOpacity=1,Z(C,k)):L.push(C)})};D(I.nodes||[]),D(I.points)}this.hideOverlappingLabels(L)}return{compose:function(k){let L=k.prototype;L.hideOverlappingLabels||(L.hideOverlappingLabels=J,mt(k,"render",K))}}}
vendor: 3,872 bytes, line 1
1),St(Y,"Extensions/BorderRadius.js",[Y["Core/Defaults.js"],Y["Core/Globals.js"],Y["Core/Utilities.js"]],function(st,nt,gt){let{defaultOptions:mt}=st,{noop:pt}=nt,{addEvent:ht,extend:dt,isObject:J,merge:Z,relativeLength:K}=gt,k={radius:0,scope:"stack",where:void 0},L=pt,I=pt;function D(l,M,F,_,S={}){let o=L(l,M,F,_,S),{innerR:p=0,r:n=F,start:i=0,end:e=0}=S;if(S.open||!S.borderRadius)return o;let r=e-i,a=Math.sin(r/2),y=Math.max(Math.min(K(S.borderRadius||0,n-p),(n-p)/2,n*a/(1+a)),0),v=Math.min(y,r/Math.PI*2*p),d=o.length-1;for(;d--;)!function(O,$,x){let E,G,z,q=O[$],h=O[$+1];if("Z"===h[0]&&(h=O[0]),"M"!==q[0]&&"L"!==q[0]||"A"!==h[0]?"A"===q[0]&&("M"===h[0]||"L"===h[0])&&(E=h,G=q):(E=q,G=h,z=!0),E&&G&&G.params){let c=G[1],g=G[5],j=G.params,{start:s,end:f,cx:m,cy:T}=j,w=g?c-x:c+x,N=w?Math.asin(x/w):0,W=g?N:-N,V=Math.cos(N)*w;z?(j.start=s+W,E[1]=m+V*Math.cos(s),E[2]=T+V*Math.sin(s),O.splice($+1,0,["A",x,x,0,0,1,m+c*Math.cos(j.start),T+c*Math.sin(j.start)])):(j.end=f-W,G[6]=m+c*Math.cos(j.end),G[7]=T+c*Math.sin(j.end),O.splice($+1,0,["A",x,x,0,0,1,m+V*Math.cos(f),T+V*Math.sin(f)])),G[4]=Math.abs(j.end-j.start)<Math.PI?0:1}}(o,d,d>1?v:y);return o}function u(){if(this.options.borderRadius&&(!this.chart.is3d||!this.chart.is3d())){let{options:l,yAxis:M}=this,F="percent"===l.stacking,_=mt.plotOptions?.[this.type]?.borderRadius,S=b(l.borderRadius,J(_)?_:{}),o=M.options.reversed;for(let p of this.points){let{shapeArgs:n}=p;if("roundedRect"===p.shapeType&&n){let{width:i=0,height:e=0,y:r=0}=n,a=r,y=e;if("stack"===S.scope&&p.stackTotal){let $=M.translate(F?100:p.stackTotal,!1,!0,!1,!0),x=M.translate(l.threshold||0,!1,!0,!1,!0),E=this.crispCol(0,Math.min($,x),0,Math.abs($-x));a=E.y,y=E.height}let v=(p.negative?-1:1)*(o?-1:1)==-1,d=S.where;!d&&this.is("waterfall")&&Math.abs((p.yBottom||0)-(this.translatedThreshold||0))>this.borderWidth&&(d="all"),d||(d="end");let O=Math.min(K(S.radius,i),i/2,"all"===d?e/2:1/0)||0;"end"===d&&(v&&(a-=O),y+=O),dt(n,{brBoxHeight:y,brBoxY:a,r:O})}}}}function b(l,M){return J(l)||(l={radius:l||0}),Z(k,M,l)}function C(){let l=b(this.options.borderRadius);for(let M of this.points){let F=M.shapeArgs;F&&(F.borderRadius=K(l.radius,(F.r||0)-(F.innerR||0)))}}function P(l,M,F,_,S={}){let o=I(l,M,F,_,S),{r:p=0,brBoxHeight:n=_,brBoxY:i=M}=S,e=M-i,r=i+n-(M+_),a=e-p>-.1?0:p,y=r-p>-.1?0:p,v=Math.max(a&&e,0),d=Math.max(y&&r,0),O=[l+a,M],$=[l+F-a,M],x=[l+F,M+a],E=[l+F,M+_-y],G=[l+F-y,M+_],z=[l+y,M+_],q=[l,M+_-y],h=[l,M+a],c=(g,j)=>Math.sqrt(Math.pow(g,2)-Math.pow(j,2));if(v){let g=c(a,a-v);O[0]-=g,$[0]+=g,x[1]=h[1]=M+a-v}if(_<a-v){let g=c(a,a-v-_);x[0]=E[0]=l+F-a+g,G[0]=Math.min(x[0],G[0]),z[0]=Math.max(E[0],z[0]),q[0]=h[0]=l+a-g,x[1]=h[1]=M+_}if(d){let g=c(y,y-d);G[0]+=g,z[0]-=g,E[1]=q[1]=M+_-y+d}if(_<y-d){let g=c(y,y-d-_);x[0]=E[0]=l+F-y+g,$[0]=Math.min(x[0],$[0]),O[0]=Math.max(E[0],O[0]),q[0]=h[0]=l+y-g,E[1]=q[1]=M}return o.length=0,o.push(["M",...O],["L",...$],["A",a,a,0,0,1,...x],["L",...E],["A",y,y,0,0,1,...G],["L",...z],["A",y,y,0,0,1,...q],["L",...h],["A",a,a,0,0,1,...O],["Z"]),o}return{compose:function(l,M,F){let _=l.types.pie;if(!M.symbolCustomAttribs.includes("borderRadius")){let S=F.prototype.symbols;ht(l,"afterColumnTranslate",u,{order:9}),ht(_,"afterTranslate",C),M.symbolCustomAttribs.push("borderRadius","brBoxHeight","brBoxY"),L=S.arc,I=S.roundedRect,S.arc=D,S.roundedRect=P}},optionsToObject:b}}),St(Y,"Core/Responsive.js",[Y["Core/Utilities.js"]],function(st){var nt;let{diffObjects:gt,extend:mt,find:pt,merge:ht,pick:dt,uniqueKey:J}=st;return function(Z){function K(L,I){let D=L.condition;(D.callback||function(){return this.chartWidth<=dt(D.maxWidth,Number.MAX_VALUE)&&this.chartHeight<=dt(D.maxHeight,Number.MAX_VALUE)&&this.chartWidth>=dt(D.minWidth,0)&&this.chartHeight>=dt(D.minHeight,0)}).call(this)&&I.push(L._id)}function k(L,I){let C,D=this.options.responsive,u=this.currentResponsive,b=[];
1!I&&D&&D.rules&&D.rules.forEach(M=>{void 0===M._id&&(M._id=J()),this.matchResponsiveRule(M,b)},this);let P=ht(...b.map(M=>pt((D||{}).rules||[],F=>F._id===M)).map(M=>M&&M.chartOptions));P.isResponsiveOptions=!0,b=b.toString()||void 0,b===(u&&u.ruleIds)||(u&&(this.currentResponsive=void 0,this.updatingResponsive=!0,this.update(u.undoOptions,L,!0),this.updatingResponsive=!1),b?((C=gt(P,this.options,!0,this.collectionsWithUpdate)).isResponsiveOptions=!0,this.currentResponsive={ruleIds:b,mergedOptions:P,undoOptions:C},this.updatingResponsive||this.update(P,L,!0)):this.currentResponsive=void 0)}Z.compose=function(L){let I=L.prototype;return I.matchResponsiveRule||mt(I,{matchResponsiveRule:K,setResponsive:k}),L}}(nt||(nt={})),nt}),St(Y,"masters/highcharts.src.js",[Y["Core/Globals.js"],Y["Core/Utilities.js"],Y["Core/Defaults.js"],Y["Core/Animation/Fx.js"],Y["Core/Animation/AnimationUtilities.js"],Y["Core/Renderer/HTML/AST.js"],Y["Core/Templating.js"],Y["Core/Renderer/RendererRegistry.js"],Y["Core/Renderer/RendererUtilities.js"],Y["Core/Renderer/SVG/SVGElement.js"],Y["Core/Renderer/SVG/SVGRenderer.js"],Y["Core/Renderer/HTML/HTMLElement.js"],Y["Core/Axis/Axis.js"],Y["Core/Axis/DateTimeAxis.js"],Y["Core/Axis/LogarithmicAxis.js"],Y["Core/Axis/PlotLineOrBand/PlotLineOrBand.js"],Y["Core/Axis/Tick.js"],Y["Core/Tooltip.js"],Y["Core/Series/Point.js"],Y["Core/Pointer.js"],Y["Core/Legend/Legend.js"],Y["Core/Legend/LegendSymbol.js"],Y["Core/Chart/Chart.js"],Y["Extensions/ScrollablePlotArea.js"],Y["Core/Axis/Stacking/StackingAxis.js"],Y["Core/Axis/Stacking/StackItem.js"],Y["Core/Series/Series.js"],Y["Core/Series/SeriesRegistry.js"],Y["Series/Column/ColumnDataLabel.js"],Y["Series/Pie/PieDataLabel.js"],Y["Core/Series/DataLabel.js"],Y["Extensions/OverlappingDataLabels.js"],Y["Extensions/
1BorderRadius.js"],Y["Core/Responsive.js"],Y["Core/Color/Color.js"],Y["Core/Time.js"]],function(st,nt,gt,mt,pt,ht,dt,J,Z,K,k,L,I,D,u,b,C,P,l,M,F,_,S,o,p,n,i,e,r,a,y,v,d,O,$,x){return st.AST=ht,st.Axis=I,st.Chart=S,st.Color=$,st.DataLabel=y,st.Fx=mt,st.HTMLElement=L,st.Legend=F,st.LegendSymbol=_,st.OverlappingDataLabels=st.OverlappingDataLabels||v,st.PlotLineOrBand=b,st.Point=l,st.Pointer=M,st.RendererRegistry=J,st.Series=i,st.SeriesRegistry=e,st.StackItem=n,st.SVGElement=K,st.SVGRenderer=k,st.Templating=dt,st.Tick=C,st.Time=x,st.Tooltip=P,st.animate=pt.animate,st.animObject=pt.animObject,st.chart=S.chart,st.color=$.parse,st.dateFormat=dt.dateFormat,st.defaultOptions=gt.defaultOptions,st.distribute=Z.distribute,st.format=dt.format,st.getDeferredAnimation=pt.getDeferredAnimation,st.getOptions=gt.getOptions,st.numberFormat=dt.numberFormat,st.seriesType=e.seriesType,st.setAnimation=pt.setAnimation,st.setOptions=gt.setOptions,st.stop=pt.stop,st.time=gt.defaultTime,st.timers=mt.timers,d.compose(st.Series,st.SVGElement,st.SVGRenderer),r.compose(st.Series.types.column),y.compose(st.Series),D.compose(st.Axis),L.compose(st.SVGRenderer),F.compose(st.Chart),u.compose(st.Axis),v.compose(st.Chart),a.compose(st.Series.types.pie),b.compose(st.Chart,st.Axis),M.compose(st.Chart),O.compose(st.Chart),o.compose(st.Axis,st.Chart,st.Series),p.compose(st.Axis,st.Chart,st.Series),P.compose(st.Pointer),nt.extend(st,nt),st}),Y["masters/highcharts.src.js"]._modules=Y,Y["masters/highcharts.src.js"]},Ft.exports?(Y.default=Y,Ft.exports=t&&t.document?Y(t):Y):void 0!==(Ot=function(){return Y(t)}.call(Nt,Tt,Nt,Ft))&&(Ft.exports=Ot)},21740:(Ft,Nt,Tt)=>{var Ot,t,Y;Y=function(Y){"use strict";var St=Y?Y._modules:{};function st(nt,gt,mt,pt){nt.hasOwnProperty(gt)||(nt[gt]=pt.apply(null,mt),"function"==typeof CustomEvent&&Y.win.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:gt,module:nt[gt]}})))}st(St,"Series/VariablePie/VariablePieSeriesDefaults.js",[],function(){return{minPointSize:"10%",maxPointSize:"100%",zMin:void 0,zMax:void 0,sizeBy:"area",tooltip:{pointFormat:'<span style="color:{point.color}">\u25cf</span> {series.name}<br/>Value: {point.y}<br/>Size: {point.z}<br/>'}}}),st(St,"Series/VariablePie/VariablePieSeries.js",[St["Core/Series/SeriesRegistry.js"],St["Core/Utilities.js"],St["Series/VariablePie/VariablePieSeriesDefaults.js"]],function(nt,gt,mt){let{pie:pt}=nt.seriesTypes,{arrayMax:ht,arrayMin:dt,clamp:J,extend:Z,fireEvent:K,merge:k,pick:L}=gt;class I extends pt{calculateExtremes(){let u,b,C=this.chart,M=this.options,F=2*(M.slicedOffset||0),_=this.zData,S=Math.min(C.plotWidth,C.plotHeight)-F,o={},p=this.center||this.getCenter();for(let n of["minPointSize","maxPointSize"]){let i=M[n],e=/%$/.test(i);i=parseInt(i,10),o[n]=e?S*i/100:2*i}this.minPxSize=p[3]+o.minPointSize,this.maxPxSize=J(p[2],p[3]+o.minPointSize,o.maxPointSize),_.length&&(u=L(M.zMin,dt(_.filter(this.zValEval))),b=L(M.zMax,ht(_.filter(this.zValEval))),this.getRadii(u,b,this.minPxSize,this.maxPxSize))}getRadii(u,b,C,P){let l,M,F,_=this.zData,S=[],o="radius"!==this.options.sizeBy,p=b-u;for(let n=0;n<_.length;n++)(M=this.zValEval(_[n])?_[n]:u)<=u?F=C/2:M>=b?F=P/2:(l=p>0?(M-u)/p:.5,o&&(l=Math.sqrt(l)),F=Math.ceil(C+l*(P-C))/2),S.push(F);this.radii=S}redraw(){this.center=null,super.redraw()}getDataLabelPosition(u,b){let{center:C,options:P}=this,l=u.angle||0,M=this.radii[u.index],F=C[0]+Math.cos(l)*M,_=C[1]+Math.sin(l)*M,S=Math.min((P.slicedOffset||0)+(P.borderWidth||0),b/5);return{distance:b,natural:{x:F+Math.cos(l)*b,y:_+Math.sin(l)*b},computed:{},alignment:u.half?"right":"left",connectorPosition:{breakAt:{x:F+Math.cos(l)*S,y:_+Math.sin(l)*S},touchingSliceAt:{x:F,y:_}}}}translate(u){this.generatePoints();let p,n,i,e,r,a,y,b=this.options,C=b.slicedOffset,P=b.startAngle||0,l=Math.PI/180*(P-90),M=Math.PI/180*(L(b.endAngle,P+360)-90),F=M-l,_=this.points,S=b.ignoreHiddenPoint,o=0;this.startAngleRad=l,this.endAngleRad=M,this.calculateExtremes(),u||(this.center=u=this.getCenter());for(let v=0;v<_.length;v++)a=_[v],y=this.radii[v],p=l+o*F,(!S||a.visible)&&(o+=a.percentage/100),n=l+o*F,a.shapeType="arc",a.shapeArgs={x:u[0],y:u[1],r:y,innerR:u[3]/2,start:Math.round(1e3*p)/1e3,end:Math.round(1e3*n)/1e3},(i=(n+p)/2)>1.5*Math.PI?i-=2*Math.PI:i<-Math.PI/2&&(i+=2*Math.PI),a.slicedTranslation={translateX:Math.round(Math.cos(i)*C),translateY:Math.round(Math.sin(i)*C)},e=Math.cos(i)*u[2]/2,r=Math.sin(i)*u[2]/2,a.tooltipPos=[u[0]+.7*e,u[1]+.7*r],a.half=i<-Math.PI/2||i>Math.PI/2?1:0,a.angle=i;K(this,"afterTranslate")}zValEval(u){return!("number"!=typeof u||isNaN(u))||null}}return I.defaultOptions=k(pt.defaultOptions,mt),Z(I.prototype,{pointArrayMap:["y","z"],parallelArrays:["x","y","z"]}),nt.registerSeriesType("variablepie",I),I}),st(St,"masters/modules/variable-pie.src.js",[St["Core/Globals.js"]],function(nt){return nt})},Ft.exports?(Y.default=Y,Ft.exports=Y):(Ot=[Tt(21264)],void 0!==(t=function(St){return Y(St),Y.Highcharts=St,Y}.apply(Nt,Ot))&&(Ft.exports=t))}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.