Files
controls-web/controls-classic/OLD/charts/fusioncharts/fusioncharts.powercharts.js
2026-02-17 09:29:34 -06:00

454 lines
222 KiB
JavaScript

/*
FusionCharts JavaScript Library
Copyright FusionCharts Technologies LLP
License Information at <http://www.fusioncharts.com/license>
@version 3.4.0
*/
FusionCharts.register("module",["private","modules.renderer.js-gradientlegend",function(){function Ya(f,h,bb){var r=f[0],C=f[1];f=f[2];r+=(h[0]-r)*bb;C+=(h[1]-C)*bb;h=f+(h[2]-f)*bb;return{hex:(y+(r<<16|C<<8|h).toString(16)).slice(-6),rgb:[r,C,h]}}function ib(f,h){return f.maxvalue-h.maxvalue}function ob(h){var y,r,Ia=h.colorRange||{},C=h.dataMin,H=h.dataMax,sa=h.sortLegend||!1,v=h.mapByCategory||!1,G=h.defaultColor,da=h.numberFormatter,jb=Ia.color;h=this.colorArr=[];var S,X,D;this.mapByCategory=v;
"1"===Ia.mapbypercent&&(this.mapbypercent=!0);if("1"===Ia.gradient&&!v){this.gradient=!0;r=oa(Na(Ia.startcolor,Ia.mincolor,Ia.code));sa=Mb(oa(Na(r,G,"CCCCCC")));v=this.scaleMin=Ua(Ia.startvalue,Ia.minvalue,this.mapbypercent?0:C);h.push({code:r,maxvalue:v,label:I(Ia.startlabel),codeRGB:Mb(r)});if(jb&&(y=jb.length))for(C=0;C<y;C+=1)G=jb[C],r=oa(Na(G.color,G.code)),X=Ua(G.value,G.maxvalue),D=Ua(G.minvalue),X>v&&h.push({code:r,maxvalue:X,userminvalue:D,label:I(Na(G.label,G.displayvalue)),codeRGB:Mb(r)});
h.sort(ib);y=h.length;for(C=1;C<y;C+=1)G=h[C],r=G.maxvalue-v,0<r?(G.minvalue=v,G.range=r,v=G.maxvalue):(h.splice(C,1),C-=1,y-=1);2<=h.length&&(this.scaleMax=v,h[C-1].label=Na(Ia.endlabel,h[C-1].label,h[C-1].displayvalue));1===h.length&&(X=Ua(Ia.maxvalue,this.mapbypercent?100:H),h.push({minvalue:v,maxvalue:X,range:X-v,label:Ia.endlabel}),this.scaleMax=X,delete h[0].code);Ia=h[0];H=h[h.length-1];Ia.code&&H.code||(r=f(sa),y=T((r[2]=0,r)),r=T((r[2]=100,r)),Ia.code||(Ia.codeRGB=y,Ia.code=O(y)),H.code||
(H.codeRGB=r,H.code=O(r)));y=h.length;for(C=1;C<y;C+=1)if(G=h[C],G.code){if(S)for(H=G,D=Ia.maxvalue,jb=H.maxvalue-D;S<C;S+=1)sa=h[S],r=Ya(Ia.codeRGB,H.codeRGB,(sa.maxvalue-D)/jb),sa.code=r.hex,sa.codeRGB=r.rgb;S=null;Ia=G}else S=S||C;if(void 0===this.scaleMin||void 0===this.scaleMax)this.noValidRange=!0}else if(jb&&(y=jb.length)){for(C=0;C<y;C+=1)G=jb[C],r=Na(G.color,G.code),X=Ua(G.maxvalue),D=Ua(G.minvalue),S=Na(G.label,G.displayvalue,v?ga:da.dataLabels(D)+" - "+da.dataLabels(X)),(r&&X>D||v&&S)&&
h.push({code:r,maxvalue:X,minvalue:D,label:I(S),labelId:S.toLowerCase()});h.length?sa&&h.sort(ib):this.noValidRange=!0}}function D(f,h){return h?la(100*f)/100+Zb:cb(f,ga).toString()}var r=this,Q=r.hcLib,La=r.window,La=/msie/i.test(La.navigator.userAgent)&&!La.opera,Ua=Q.pluckNumber,y=Q.COLOR_BLACK,$b=Q.COLOR_GLASS,fb=Q.FC_CONFIG_STRING,h=Q.graphics,T=h.HSBtoRGB,f=h.RGBtoHSB,O=h.RGBtoHex,Mb=h.HEXtoRGB,H=Q.COMMASTRING,ga=Q.BLANKSTRING,I=Q.parseUnsafeString,Ba=Q.graphics.convertColor,G=Q.POSITION_TOP,
pb=Q.POSITION_MIDDLE,Xa=Q.POSITION_START,Sb=Q.POSITION_END,ac=Q.graphics.getDarkColor,qb=Q.graphics.getLightColor,Na=Q.pluck,cb=Q.getValidValue,gb=Q.toRaphaelColor,Eb=Q.hasTouch,la=Math.round,Ka=Math.max,ma=Math.min,xa=Math.abs,Zb="%",Fb,Nb,tb,ra="rgba(192,192,192,"+(La?0.002:1E-6)+")",oa=function(f){return f&&f.replace(/^#?([a-f0-9]+)/ig,"$1")};ob.prototype={getColorObj:function(f){var h=this.colorArr,y=this.gradient?1:0,r=h[y],C;if(this.mapByCategory){for(f=I(f).toLowerCase();r;){if(r.labelId===
f)return{code:r.code,seriesIndex:y};y+=1;r=h[y]}return{outOfRange:!0}}if(this.gradient){if(this.scaleMin<=f&&this.scaleMax>=f){for(;r&&r.maxvalue<f;)y+=1,r=h[y];f=(f-r.minvalue)/r.range;return{code:Ya(h[y-1].codeRGB,r.codeRGB,f).hex}}return{outOfRange:!0}}for(;r;){if(r.maxvalue>f&&r.minvalue<=f)return{code:r.code,seriesIndex:y};r.maxvalue===f&&(C=y);y+=1;r=h[y]}return(r=h[C])&&r.maxvalue===f?{code:r.code,seriesIndex:C}:{outOfRange:!0}}};ob.prototype.constructor=ob;Q.colorRange=ob;Fb=Q.configureGradientLegendOptions=
function(f,h){var r=f.legend,G=h.chart;r.legendSliderBorderWidth=Ua(G.legendpointerborderthickness,1);r.legendSliderBorderColor=Ba(Na(G.legendpointerbordercolor,y),Ua(G.legendpointerborderalpha,100));r.legendSliderWidth=Ua(G.legendpointerwidth,G.legendpointerswidth,12);r.legendSliderHeight=Ua(G.legendpointerheight,G.legendpointersheight,12);r.legendColorBoxBorderColor=r.borderColor;r.legendColorBoxBorderWidth=r.borderWidth;r.legendScaleColor=Ba(Na(G.legendscalelinecolor,y),Ua(G.legendscalelinealpha,
100));r.legendScalePadding=Ua(G.legendscalepadding,4);r.legendScaleLineThickness=Ua(G.legendscalelinethickness,1);r.legendScaleTickDistance=Ua(G.legendscaletickdistance,6);r.itemStyle.cursor="default";r.interActivity=Ua(G.interactivelegend,1)};Q.placeGLegendBlockRight=function(f,h,r,y,C){this.configureLegendOptions(f,h.chart,!0,C,r);Fb(f,h);C=this.snapLiterals||(this.snapLiterals={});var G=f[fb],H=this.smartLabel||G.smartLabel,v=f.legend,T=f.chart.spacingRight,da,I,S=v.textPadding=2,X=2*S,ra=v.title.padding,
xa=0,la=0,O=2*v.padding;h=Ua(h.chart.legendpadding,7)+v.borderWidth/2+1;var Aa=f.colorRange||{},$=Aa.colorArr,Qa=Aa.mapbypercent,Oa=Aa.scaleMin,Ba=Aa.scaleMax-Oa,oa=v.legendSliderWidth,ja=v.legendSliderHeight/2;I=v.legendScalePadding;var M=v.legendScaleTickDistance,E=v.itemStyle||{};da=Ua(parseInt(E.lineHeight,10)||12);var Pa=0.75*da,Q=r-O,Fa,va,Da=0,Sa,K,w,ca,Ja,Ga,Na;y-=O;if(!Aa.noValidRange&&$&&1<(va=$.length)){va-=1;v.title.text!==ga&&(H.setStyle(v.title.style),da=H.getSmartText(v.title.text,
Q,Ka(da,y/4)),v.title.text=da.text,xa=da.width+O,y-=la=da.height+ra);H.setStyle(E);da=H.lineHeight;Q-=M+I+oa;v.colorBoxX=oa;ra=Ka(da,Q/2);Q=ma(Q-ra-4,da);Sa=Ka(da,y/2);Fa=y/4;M=$[0];M.scaleLabel=D(M.maxvalue,Qa);da=H.getSmartText(M.label,Fa,Q);M.label=da.text;E=da.height;M.labelY=Pa-da.height/2;I=H.getSmartText(M.scaleLabel,ra,Sa);M.scaleLabel=I.text;Aa=I.height/2;K=I.width;M.scaleLabelY=Pa-I.height/2;v.colorBoxY=Ka(Aa,da.width+X,ja)+la;M=Na=$[va];M.scaleLabel=D(M.maxvalue,Qa);da=H.getSmartText(M.label,
Fa,Q);M.label=da.text;E=Ka(E,da.height);M.labelY=Pa-da.height/2;I=H.getSmartText(M.scaleLabel,ra,Sa);M.scaleLabel=I.text;K=Ka(K,I.width);Fa=I.height/2;da=Ka(da.width+X,Fa,ja);M.scaleLabelY=Pa-I.height/2;v.colorBoxHeight=ja=y-v.colorBoxY-da;Sa=ja-Fa;w=ja/Ba;Ja=ma(ja-Da,Sa-Aa)-4;for(Fa=1;Fa<va;Fa+=1)M=$[Fa],ca=(M.maxvalue-Oa)*w,da=H.getSmartText(M.label,2*ma(ca-Da,ja-ca),Q),M.label=da.text,E=Ka(E,da.height),M.labelY=Pa-da.height/2,da=da.width/2,M.scaleLabel=D(M.maxvalue,Qa),I=H.getSmartText(M.scaleLabel,
ra,2*ma(ca-Aa,Sa-ca)),M.scaleLabel=I.text,K=Ka(K,I.width),Ga=I.height/2,M.scaleLabelY=Pa-I.height/2,Ja=ma(Ja,(ca-Ka(Ga+Aa,da+Da)-4)*Ba/M.range),Da=da+ca,Aa=Ga+ca;Ja=Ka(ma(Ja,(ma(Sa-Aa,ja-Da)-4)*Ba/Na.range,0.3*y),0);v.colorBoxHeight-=Ja;v.colorBoxWidth=E&&E+X||15;v.height=v.totalHeight=y+la+O-Ja;v.width=(K&&K+S)+v.colorBoxWidth+oa+v.legendScaleTickDistance+v.legendScalePadding+O;v.width<xa&&(v.colorBoxX+=(xa-v.width)/2,v.width=xa);v.width>r&&(v.width=r);C.legendstartx=G.width-T-v.width;C.legendwidth=
v.width;C.legendendx=C.legendstartx+C.legendwidth;C.legendheight=v.height;h+=v.width;f.chart.marginRight+=h;return h}v.enabled=!1;return 0};Q.placeGLegendBlockBottom=function(f,h,y,r,C){this.configureLegendOptions(f,h.chart,!1,C,y);Fb(f,h);C=this.snapLiterals||(this.snapLiterals={});var G=f[fb],H=this.smartLabel||G.smartLabel,v=f.legend,I=f.chart,T=I.spacingBottom,ra=I.spacingLeft,I=I.spacingRight,S,X,xa=v.textPadding=2,la=v.title.padding,Q=0,O=0,Aa=2*v.padding;h=Ua(h.chart.legendpadding,7)+v.borderWidth/
2+1;var $=f.colorRange||{},Ba=$.colorArr,oa=$.mapbypercent,Xa=$.scaleMin,db=$.scaleMax-Xa,ja=v.legendSliderWidth,M=v.legendSliderHeight,E=v.legendScalePadding,Pa=v.legendScaleTickDistance,$a=v.itemStyle||{};S=Ua(parseInt($a.lineHeight,10)||12);var Fa=0.75*S,va=r-Aa,Da,Sa,K,w,ca=0,Ja,Ga,La;y-=Aa;if(!$.noValidRange&&Ba&&1<(Sa=Ba.length)){Sa-=1;v.title.text!==ga&&(H.setStyle(v.title.style),S=H.getSmartText(v.title.text,y,va/3),v.title.text=S.text,Q=S.width+Aa,va-=O=S.height+la);H.setStyle($a);S=H.lineHeight;
va-=Pa+E+M;la=Ka(S,va/2);$a=ma(va-la-4,S);Da=y/4;w=2*Da;K=Ba[0];K.scaleLabel=D(K.maxvalue,oa);S=H.getSmartText(K.label,Da,$a);K.label=S.text;va=S.height;K.labelY=Fa-S.height/2;X=H.getSmartText(K.scaleLabel,w,la);K.scaleLabel=X.text;E=X.width/2;Pa=X.height;K.code||(K.code=Na(v.minColor,"CCCCCC"));v.colorBoxX=Ka(E,S.width+xa,ja);K=$=Ba[Sa];K.scaleLabel=D(K.maxvalue,oa);S=H.getSmartText(K.label,Da,$a);K.label=S.text;va=Ka(va,S.height);K.labelY=Fa-S.height/2;X=H.getSmartText(K.scaleLabel,w,la);K.scaleLabel=
X.text;Pa=Ka(Pa,X.height);K=X.width/2;S=Ka(S.width+xa,K,ja);v.colorBoxWidth=ja=y-v.colorBoxX-S;w=ja-K;Ja=ja/db;La=ma(ja-ca,w-E)-4;for(Da=1;Da<Sa;Da+=1)K=Ba[Da],Ga=(K.maxvalue-Xa)*Ja,S=H.getSmartText(K.label,2*ma(Ga-ca,ja-Ga),$a),K.label=S.text,va=Ka(va,S.height),K.labelY=Fa-S.height/2,S=S.width/2,K.scaleLabel=D(K.maxvalue,oa),X=H.getSmartText(K.scaleLabel,2*ma(Ga-E,w-Ga),la),K.scaleLabel=X.text,Pa=Ka(Pa,X.height),X=X.width/2,La=ma(La,(Ga-Ka(X+E,S+ca)-4)*db/K.range),ca=S+Ga,E=X+Ga;La=Ka(ma(La,(ma(w-
E,ja-ca)-4)*db/$.range,0.3*y),0);v.colorBoxWidth-=La;v.width=y+Aa-La;v.width<Q&&(v.colorBoxX+=(Q-v.width)/2,v.width=Q);v.colorBoxY=O+M;v.colorBoxHeight=va&&va+2*xa||15;v.height=v.totalHeight=(Pa&&Pa+xa)+v.colorBoxHeight+O+M+v.legendScaleTickDistance+v.legendScalePadding+Aa;v.height>r&&(v.height=r);C.legendstartx=ra+0.5*(G.width-ra-I-v.width)+(v.x||0);C.legendwidth=v.width;C.legendendx=C.legendstartx+C.legendwidth;C.legendstarty=G.height-T-v.height;C.legendheight=v.height;C.legendendy=C.legendstarty+
C.legendheight;h+=v.height;f.chart.marginBottom+=h;return h}v.enabled=!1;return 0};Nb=function(){return{point:this}};tb=function(f){return la(100*f)/100};Q.rendererRoot.drawGradientLegendItem=function(f){var h=this,I=h.paper,T=h.options,C=h.canvasLeft,D=h.canvasTop,sa=h.canvasWidth,v=h.canvasHeight,ma=T.colorRange,da,Q,S,X,O=T.legend,oa=Ua(O.padding,4),La=O.itemStyle,T=O.symbolStyle,cb=O.interActivity,Aa=f.elements;f=Aa.elementGroup.trackTooltip(!0);var $="vertical"===O.layout,Qa,Oa,Ya,db,ja,M,E=
0,Pa=O.lighting3d,$a=O.colorBoxWidth,Fa=O.colorBoxHeight,va=$a,Da=Fa,Sa={FCcolor:{color:ga,alpha:ga,angle:0,ratio:ga}},K=Sa.FCcolor,w=O.colorBoxX+oa,ca=O.colorBoxY+oa,Ja,Ga,fb=O.legendColorBoxBorderColor,ob=O.legendColorBoxBorderWidth,ib=["M"],Mb=O.legendScaleColor;M=O.legendScalePadding;var Ha=O.legendScaleLineThickness,ya=Ha%2/2;Q=O.legendScaleTickDistance;var ub=O.legendSliderWidth,mb=O.legendSliderHeight;ja=Da/2;X=va/2;var hb=ub/2,Va=mb/2,Ob,Za,vb;Ga=0;var Gb=qb("ABABAB",50),oa=ac("ABABAB",70),
O=Ba("ABABAB",100),oa=Ba(oa,100),Gb=Ba(Gb,100),Fb,Ca={isFirst:!0},Ea={},rb,nb,ab,wb;if(ma&&(da=ma.colorArr)&&1<(S=da.length)){Ca.toolText=rb=Ya=ma.scaleMin;Ea.toolText=nb=ma=ma.scaleMax;db=ma-Ya;Ca.snapPX=Ea.snapPX=0;Ca.tooltipConstraint=Ea.tooltipConstraint="chart";Ca.getLabelConfig=Ea.getLabelConfig=Nb;Ca.tooltipPos=[0,0];Ea.tooltipPos=[0,0];Ea.tooltipOffsetReference=Ca.tooltipOffsetReference={};Ea.tooltipOffsetReference.left=Ca.tooltipOffsetReference.left+=C-20;Ea.tooltipOffsetReference.top=Ca.tooltipOffsetReference.top+=
D;ab=Aa.colorBox=I.group("colorBox",f);if($){Ca.tooltipPos[0]=Ea.tooltipPos[0]=sa+C;Ga=270;K.angle=90;C=w-ub;sa=w+va;D=ca-Va;Qa=ca+Va;C=la(w-ub)+0.5;sa=la(w)+0.5;D=la(ca-Va)+0.5;Qa=la(ca+Va)+0.5;Ob=la(w+va)+0.5;vb=la(ca-2)+0.5;Oa=la(ca+2)+0.5;Ja=la(ca)+0.5;v=w-hb/2;Za=la(v-Va)+0.5;v=la(v)+0.5;ja=ca-Va/2;Va=la(ja+Va)+0.5;ja=la(ja)+0.5;$a/=2;hb=["M",C,D,"L",sa,D,sa,vb,Ob,Ja,sa,Oa,sa,Qa,C,Qa,"Z","M",Za,ja,"L",v,ja,"M",Za,Ja,"L",v,Ja,"M",Za,Va,"L",v,Va];Va=["M",C+1,D,"L",C+1,Qa,"M",Za,ja-1,"L",v,ja-1,
"M",Za,Ja-1,"L",v,Ja-1,"M",Za,Va-1,"L",v,Va-1];ja=w+va+M;Qa=la(ja+Q)+ya;ja=la(ja)+ya;Ja=w+X;Za=S-1;for(Q=0;Q<S;Q+=1)X=da[Q],sa=(X.maxvalue-Ya)/db,Oa=Da*sa+ca,M=la(Oa)+ya,Q?(K.ratio+=H,K.color+=H,K.alpha+=H,ib.push("L",ja,M,Qa,M,"M",ja,M),Q===Za?(v=Sb,M=Oa+2):(v=pb,M=Oa)):(ib.push(ja,M,"L",Qa,M,"M",ja,M),v=Xa,M=Oa-2),K.ratio+=100*(sa-E),K.color+=Na(X.code,y),K.alpha+=Na(X.alpha,100),E=sa,X.legendItem=I.text(f).attr({text:X.label,x:Ja,y:M,"text-anchor":v,"vertical-align":pb}).rotate(Ga,Ja,M).css(La),
X.legendSymbol=I.text(f).attr({text:X.scaleLabel,x:Qa,y:Oa,"text-anchor":Xa,"vertical-align":pb}).css(La);Ca.xMin=Ea.xMin=0;Ca.xMax=Ea.xMax=0;Ca.yMin=Ea.yMin=0;Ca.yMax=Ea.yMax=Da;Ca.x=Ea.x=0;Ca.y=0;Ea.y=Da;da=mb+va;S=ub}else{Ca.tooltipPos[1]=Ea.tooltipPos[1]=v+D;C=la(w-hb)+0.5;sa=la(w+hb)+0.5;D=la(ca-mb)+0.5;Qa=la(ca+Da)+0.5;Ob=la(w-2)+0.5;v=la(w+2)+0.5;Za=la(w)+0.5;vb=la(ca)+0.5;Oa=ca-Va/2;Ja=la(Oa-Va)+0.5;Oa=la(Oa)+0.5;Ga=w-hb/2;X=la(Ga+hb)+0.5;Ga=la(Ga)+0.5;Fa/=2;hb=["M",C,D,"L",sa,D,sa,vb,v,vb,
Za,Qa,Ob,vb,C,vb,"Z","M",Ga,Ja,"L",Ga,Oa,"M",Za,Ja,"L",Za,Oa,"M",X,Ja,"L",X,Oa];Va=["M",C,D+1,"L",sa,D+1,"M",Ga-1,Ja,"L",Ga-1,Oa,"M",Za-1,Ja,"L",Za-1,Oa,"M",X-1,Ja,"L",X-1,Oa];M=ca+Da+M;Ga=la(M+Q)+ya;M=la(M)+ya;Oa=ca+ja;Za=S-1;for(Q=0;Q<S;Q+=1)X=da[Q],sa=(X.maxvalue-Ya)/db,Qa=va*sa+w,ja=la(Qa)+ya,Q?(K.ratio+=H,K.color+=H,K.alpha+=H,ib.push("L",ja,M,ja,Ga,"M",ja,M),Q===Za?(v=Xa,ja=Qa+2):(v=pb,ja=Qa)):(ib.push(ja,M,"L",ja,Ga,"M",ja,M),v=Sb,ja=Qa-2),K.ratio+=100*(sa-E),K.color+=Na(X.code,y),K.alpha+=
Na(X.alpha,100),E=sa,X.legendItem=I.text(f).attr({text:X.label,x:ja,y:Oa,"text-anchor":v,"vertical-align":pb}).css(La),X.legendSymbol=I.text(f).attr({text:X.scaleLabel,x:Qa,y:Ga,"text-anchor":pb,"vertical-align":G}).css(La);Ca.xMin=Ea.xMin=0;Ca.xMax=Ea.xMax=va;Ca.yMin=Ea.yMin=0;Ca.yMax=Ea.yMax=0;Ca.y=Ea.y=0;Ca.x=0;Ea.x=va;da=ub;S=mb+Da}Aa.colorBox=I.rect(ab).attr({x:w,y:ca,width:va,height:Da,fill:gb(Sa),stroke:fb,strokeWidth:ob});Pa&&(Aa.colorBoxEffect=I.rect(ab).attr({x:w,y:ca,width:$a,height:Fa,
fill:$b,"stroke-width":0}));Aa.scale=I.path(f).attr({path:ib,stroke:Mb,"stroke-width":Ha});Fb=function(f,y,r,v,b){var d;$?(d=y*db/Da+Ya,v=0<y?v:v+y+0.01):(d=f*db/va+Ya,r=0<f?r:r+f+0.01);f=tb(d);b?(Aa.slider1.translate(r,v),Aa.slider1Effect.translate(r,v),Aa.slider1Tracker.toFront().translate(r,v).tooltip(f,null,null,!0),rb=d):(Aa.slider2.translate(r,v),Aa.slider2Effect.translate(r,v),Aa.slider2Tracker.toFront().translate(r,v).tooltip(f,null,null,!0),nb=d);cb&&(wb=clearTimeout(wb),wb=setTimeout(function(){h.setScaleRange&&
h.setScaleRange(rb,nb)},100))};Pa=function(f,h){var y=0,r=y,b,d=this.isFirst,a=d?Ea:Ca;if($){r=this._startY+h;0>=r&&(r=0);r>Da&&(r=Da);if(d?r>a.y:r<a.y)r=a.y;xa(r-this.y)>=(this.snapPX||0)&&(b=!0)}else{y=this._startX+f;0>=y&&(y=0);y>va&&(y=va);if(d?y>a.x:y<a.x)y=a.x;xa(y-this.x)>=(this.snapPX||0)&&(b=!0)}b&&(Fb(y,r,y-this.x,r-this.y,d),this.x=y,this.y=r)};$a=function(){var f=this.isFirst;this._startX=this.x;this._startY=this.y;this._scaleStart=rb;this._scaleEnd=nb;r.raiseEvent("LegendPointerDragStart",
{pointerIndex:f?0:1,pointers:[{value:rb},{value:nb}],legendPointerHeight:mb,legendPointerWidth:ub},h.logic.chartInstance)};Fa=function(){var f=this._scaleStart,y=this._scaleEnd;r.raiseEvent("LegendPointerDragStop",{pointerIndex:this.isFirst?0:1,pointers:[{value:rb},{value:nb}],legendPointerHeight:mb,legendPointerWidth:ub},h.logic.chartInstance);f===rb&&y===nb||r.raiseEvent("LegendRangeUpdated",{previousMinValue:f,previousMaxValue:y,minValue:rb,maxValue:nb},h.logic.chartInstance);delete this._scaleStart;
delete this._scaleEnd};Sa=tb(Ya);Aa.slider1=I.path(f).attr({path:hb,fill:O,strokeWidth:1,stroke:oa});Aa.slider1Effect=I.path(f).attr({path:Va,fill:"none",strokeWidth:1,stroke:Gb});Eb&&(C-=0.5*(Ka(30,da)-da),D-=0.5*(Ka(40,S)-S),da=Ka(30,da),S=Ka(40,S));Aa.slider1Tracker=I.rect(f).attr({ishot:!0,width:da,height:S,x:C,y:D,fill:ra,stroke:"none"}).drag(Pa,$a,Fa,Ca,Ca,Ca).tooltip(Sa,null,null,!0).css(T);Sa=tb(ma);Aa.slider2=I.path(f).attr({path:hb,fill:O,strokeWidth:1,stroke:oa}).translate(Ea.x,Ea.y);Aa.slider2Effect=
I.path(f).attr({path:Va,fill:"none",strokeWidth:1,stroke:Gb}).translate(Ea.x,Ea.y);Aa.slider2Tracker=I.rect(f).attr({ishot:!0,width:da,height:S,x:C,y:D,fill:ra,stroke:"none"}).translate(Ea.x,Ea.y).css(T).drag(Pa,$a,Fa,Ea,Ea,Ea).tooltip(Sa,null,null,!0)}}}]);
FusionCharts.register("module",["private","modules.renderer.js-powercharts",function(){function Ya(b,d,a){var c=b.fcObj;D.hcLib.createChart(c,b.container,b.type,void 0,void 0,!1,!0);r.raiseEvent("chartUpdated",I({sourceEvent:a},d),c,[c.id])}function ib(b,d,a,c,e,g){var t=Ma.atan((d-c)/(b-a)),l=[];0>t&&(t=2*Ma.PI+t);if(c>d){if(a>=b&&t>Ma.PI||a<b&&t>Ma.PI)t-=Ma.PI}else if(a>=b&&t<Ma.PI&&0!==t||a<b&&t<Ma.PI)t+=Ma.PI;"undefined"==typeof g?(a=b+e*Ia(t),e=d+e*bb(t)):(e=v(e)/2,g=v(g)/2,a=b+(e=b<a?e:-e),
e=d+e*Ma.tan(t),v(d-e)>v(g)&&(e=d+(g=d<c?g:-g),a=b+g/Ma.tan(t)));l.push(oa,a,e,a+10*Ia(t+0.79),e+10*bb(t+0.79),ra,a+10*Ia(t-0.79),e+10*bb(t-0.79),oa,a,e);return l}function ob(b,d){var a;d._origAttr||(d._origAttr={});for(a in b)tb.test(a)||(d._origAttr[a]=b[a]);return d._origAttr}var D=this,r=D.hcLib,Q=r.Raphael,La=D.window,Ua=La.document,y=r.BLANKSTRING,$b=r.createTrendLine,fb=r.parseTooltext,h=r.pluck,T=r.getValidValue,f=r.pluckNumber,O=r.getFirstValue,Mb=r.getDefinedColor,H=r.parseUnsafeString,
ga=r.FC_CONFIG_STRING,I=r.extend2,Ba=r.getDashStyle,G=r.toRaphaelColor,pb=r.toPrecision,Xa=r.hasSVG,Sb=r.createContextMenu,ac=r.isIE,qb=r.regex.dropHash,Na=r.HASHSTRING,cb=function(b,d){var a;b||(b={});for(a in d)b[a]=d[a];return b},gb=r.each,Eb=r.addEvent,la=r.removeEvent,Ka=r.getTouchEvent,ma=function(b){return void 0!==b&&null!==b},xa="rgba(192,192,192,"+(ac?0.002:1E-6)+")",Zb=r.TOUCH_THRESHOLD_PIXELS,Fb=r.CLICK_THRESHOLD_PIXELS,Nb=8===La.document.documentMode?"visible":"",tb=/^_/,ra="M",oa="L",
yc=r.BGRATIOSTRING,Ma=Math,bb=Ma.sin,Ia=Ma.cos,C=Ma.round,Ra=Ma.min,sa=Ma.max,v=Ma.abs,gc=Ma.PI,da=Ma.ceil,jb=Ma.floor,S=Ma.sqrt,X=Ma.pow,rc=gc/180,hc=2*gc,lb=r.hasTouch,bc=lb?Zb:Fb,Aa=r.graphics.getColumnColor,$=r.getFirstColor,Qa=r.setLineHeight,Oa=r.pluckFontSize,$c=r.pluckColor,db=r.getFirstAlpha,ja=r.graphics.getDarkColor,M=r.graphics.getLightColor,E=r.graphics.convertColor,Pa=r.COLOR_TRANSPARENT,$a=r.POSITION_CENTER,Fa=r.POSITION_TOP,va=r.POSITION_BOTTOM,Da=r.POSITION_RIGHT,Sa=r.POSITION_LEFT,
K=r.bindSelectionEvent,w=r.chartAPI,ca=r.graphics.mapSymbolName,Ja=w.singleseries,Ga=r.COMMASTRING,ic=r.ZEROSTRING,jc=r.HUNDREDSTRING,ad=r.COMMASPACE,cc=r.getMouseCoordinate,Ha=!/fusioncharts\.com$/i.test(La.location.hostname),ya=r.plotEventHandler,ub=D.xssEncode,mb=r.SHAPE_RECT,hb=r.deltend,Va=r.graphics,Ob=Va.parseColor,Za=Va.getValidColor,vb=r.placeHorizontalAxis,Gb=r.placeVerticalAxis,bd=r.stepYAxisNames,Ca=r.adjustHorizontalCanvasMargin,Ea=r.adjustVerticalCanvasMargin,rb=r.getDataParser,nb={pageX:0,
pageY:0},ab,wb,xb,yb,Hb=function(){this.data("move",!1);clearTimeout(this._longpressactive);delete this._longpressactive},cd=r.createElement;r.eventList.chartupdated="FC_ChartUpdated";r.eventList.dataposted="FC_DataPosted";r.eventList.dataposterror="FC_DataPostError";r.eventList.datarestored="FC_DataRestored";D.addEventListener("rendered",function(b){b=b.sender;var d=b.__state,a=b.jsVars&&b.jsVars.instanceAPI;!d.listenersAdded&&a&&"function"===typeof a.getCollatedData&&(b.addEventListener(["chartupdated",
"dataupdated","rendered"],function(a){delete a.sender.__state.hasStaleData}),d.listenersAdded=!0)});w("spline",{friendlyName:"Spline Chart",standaloneInit:!0,creditLabel:Ha,defaultSeriesType:"spline",rendererId:"spline"},w.linebase);w("splinearea",{friendlyName:"Spline Area Chart",standaloneInit:!0,creditLabel:Ha,defaultSeriesType:"areaspline",anchorAlpha:"100",rendererId:"spline"},w.area2dbase);w("msspline",{friendlyName:"Multi-series Spline Chart",standaloneInit:!0,creditLabel:Ha,defaultSeriesType:"spline",
rendererId:"spline"},w.mslinebase);w("mssplinedy",{friendlyName:"Multi-series Dual Y-Axis Spline Chart",standaloneInit:!0,creditLabel:Ha,isDual:!0,series:w.mscombibase.series,secondarySeriesType:"spline",secondarySeriesFilter:{spline:!0},defaultSeriesFilter:{spline:!0}},w.msspline);w("mssplinearea",{friendlyName:"Multi-series Spline Area Chart",standaloneInit:!0,creditLabel:Ha,defaultSeriesType:"areaspline",rendererId:"spline"},w.msareabase);w("msstepline",{friendlyName:"Multi-series Step Line Chart",
standaloneInit:!0,creditLabel:Ha,defaultSeriesType:"line",rendererId:"cartesian",stepLine:!0},w.mslinebase);w("inversemsline",{friendlyName:"Inverted Y-Axis Multi-series Line Chart",standaloneInit:!0,creditLabel:Ha,inversed:!0,rendererId:"cartesian"},w.mslinebase);w("inversemsarea",{friendlyName:"Inverted Y-Axis Multi-series Area Chart",standaloneInit:!0,creditLabel:Ha,inversed:!0,rendererId:"cartesian"},w.msareabase);w("inversemscolumn2d",{friendlyName:"Inverted Y-Axis Multi-series Column Chart",
standaloneInit:!0,creditLabel:Ha,inversed:!0,rendererId:"cartesian"},w.mscolumn2dbase);w("logmsline",{friendlyName:"Multi-series Log Line Chart",standaloneInit:!0,isValueAbs:!0,isLog:!0,configureAxis:w.logbase.configureAxis,pointValueWatcher:w.logbase.pointValueWatcher,getLogAxisLimits:w.logbase.getLogAxisLimits,creditLabel:Ha,rendererId:"cartesian"},w.mslinebase);w("logmscolumn2d",{friendlyName:"Multi-series Log Column Chart",standaloneInit:!0,isLog:!0,isValueAbs:!0,configureAxis:w.logbase.configureAxis,
pointValueWatcher:w.logbase.pointValueWatcher,getLogAxisLimits:w.logbase.getLogAxisLimits,creditLabel:Ha,rendererId:"cartesian"},w.mscolumn2dbase);w("logstackedcolumn2d",{friendlyName:"Stacked Log Column Chart",standaloneInit:!0,creditLabel:Ha,isStacked:!0},w.logmscolumn2d);w("errorbar2d",{friendlyName:"Error Bar Chart",standaloneInit:!0,creditLabel:Ha,showValues:0,rendererId:"cartesian",isErrorChart:!0,fireGroupEvent:!0,chart:function(){var b=this.base.chart.apply(this,arguments),d=this.drawErrorValue;
b.callbacks||(b.callbacks=[]);b.callbacks.push(function(){for(var a=this.elements.plots,b=this.dataset||this.options.series,e=a&&a.length;e--;)b[e]&&d.call(this,a[e],b[e])});return b},point:function(b,d,a,c,e,g,t,l,p){b=f(c.ignoreemptydatasets,0);var m=!1,q=!f(c.halferrorbar,1),k=e[ga],n=h(this.isValueAbs,k.isValueAbs,!1),s=f(a.showvalues,k.showValues),A=f(d.yAxis,0),ha=f(c.use3dlighting,1),z=e[ga].numberFormatter,x=this.colorManager,u=f(c.useplotgradientcolor,1)?Mb(c.plotgradientcolor,x.getColor("plotGradientColor")):
y,qa=h(a.alpha,c.plotfillalpha,"100"),B=db(h(a.errorbaralpha,c.errorbaralpha,qa)),r=f(a.dashed,c.plotborderdashed,0),fa=f(a.dashlen,c.plotborderdashlen,5),F=f(a.dashgap,c.plotborderdashgap,4),wa=h(d.type,this.defaultSeriesType),J=e.plotOptions[wa]&&e.plotOptions[wa].stacking,wa=x.getPlotColor(),U,L,ba,v,pa,w,ea,ka,P,N,ta,Y,R,na,W,Z;this.errorBarShadow=f(c.errorbarshadow);d.errorBar2D=!0;d.name=T(a.seriesname);J||(d.columnPosition=f(p,l,t));if(0===f(a.includeinlegend)||0===qa||void 0===d.name)d.showInLegend=
!1;d.errorBarWidthPercent=f(a.errorbarwidthpercent,c.errorbarwidthpercent,70);d.errorBarColor=E($(h(a.errorbarcolor,c.errorbarcolor,"AAAAAA")),B);d.errorBarThickness=f(a.errorbarthickness,c.errorbarthickness,1);d.color=h(a.color,wa).split(",")[0].replace(/^#?/g,"#");if(t=a.data)for(Y=h(c.plotborderthickness,"1"),J=e.chart.useRoundEdges,p=this.isBar,l=/3d$/.test(e.chart.defaultSeriesType),na=h(c.plotbordercolor,x.getColor("plotBorderColor")).split(",")[0],W="0"==c.showplotborder?"0":h(c.plotborderalpha,
"100"),W=l?c.showplotborder?W:"0":W,na=l?h(c.plotbordercolor,"#FFFFFF"):na,x=0;x<g;x+=1)(L=t[x])?(ka=z.getCleanValue(L.value,n),P=z.getCleanValue(L.errorvalue,n),null===ka?d.data.push({y:null}):(m=!0,ea=k.oriCatTmp[x],v=h(L.color,a.color,wa),pa=db(h(L.alpha,qa))+y,U=h(L.ratio,a.ratio,c.plotfillratio),ba=h(360-c.plotfillangle,90),0>ka&&(ba=360-ba),N={opacity:pa/100},R=Ra(pa,db(W))+y,w=Aa(v+","+u,pa,U,ba,J,na,R,p,l),ta={opacity:B/250},Z=this.getPointStub(L,ka,ea,e,a,s,A,P),ea=[],ea.push({errorValue:P,
toolText:Z._errortoolText,shadow:ta}),q&&ea.push({errorValue:-P,toolText:Z._errortoolText,shadow:ta}),U=this.pointHoverOptions(L,d,{plotType:"column",is3d:l,isBar:p,use3DLighting:ha,isRoundEdged:J,color:v,gradientColor:u,alpha:pa,ratio:U,angle:ba,borderWidth:Y,borderColor:na,borderAlpha:R,borderDashed:r,borderDashGap:F,borderDashLen:fa,shadow:N}),d.data.push(I(Z,{y:ka,shadow:N,errorValue:ea,color:w[0],borderColor:w[1],borderWidth:Y,use3DLighting:ha,dashStyle:f(L.dashed,r)?Ba(h(L.dashlen,fa),h(L.dashgap,
F),Y):void 0,hoverEffects:U.enabled&&U.options,rolloverProperties:U.enabled&&U.rolloverOptions})),this.pointValueWatcher(e,ka,P))):d.data.push({y:null});b&&!m&&(d.showInLegend=!1);return d},pointValueWatcher:function(b,d,a){var c=b[ga];null!==d&&(a?(b=d+a,d-=a):b=d,c[0]||(c[0]={}),a=c[0],a.max=a.max>b?a.max:b,a.min=a.min<b?a.min:b,a.max=a.max>d?a.max:d,a.min=a.min<d?a.min:d)},drawErrorValue:function(b,d){var a=this,c=a.options,e=c.plotOptions.series,g=c[ga],g=a.smartLabel||g.smartLabel,t=a.paper,
l=a.layers,p=a.xAxis[0],m=a.yAxis[0],h=isNaN(+e.animation)&&e.animation.duration||1E3*e.animation,k=l.dataset=l.dataset||t.group("dataset-orphan"),n=b.errorGroup=t.group("errorBar").insertAfter(b.lineLayer||k.column||k),s=l.errorTracker||(l.errorTracker=t.group("hot-error",l.tracker||k).toBack()),A=k.errorValueGroup||(k.errorValueGroup=t.group("errorValues")),ha=d.errorBar2D,z=d.data||[],x=z.length,u=b.items,qa=!1!==(c.tooltip||{}).enabled,B,r,fa,F,wa=b.graphics=b.graphics||[],J=!1===d.visible?"hidden":
"visible",U=c.chart,L=U.valuePadding||0,U=1==U.rotateValues?270:void 0,ba=d.columnPosition||0,v=a.definition.chart,pa=p.getAxisPosition(0),w=p.getAxisPosition(1)-pa,ea=e.groupPadding,ka=e.maxColWidth,pa=d.numColumns||1,w=(1-0.01*(v&&v.plotspacepercent))*w||Ra(w*(1-2*ea),ka*pa),v=w/pa,ba=ba*v-w/2,pa=a.logic,w=!pa.avoidCrispError,ea=a.canvasHeight+a.canvasTop,P=l.shadows||(l.shadows=t.group("shadows",k).toBack()),l={},ka=c.plotOptions.series.dataLabels.style,N=a.chartWidth,ta=a.chartHeight,Y={fontFamily:ka.fontFamily,
fontSize:ka.fontSize,lineHeight:ka.lineHeight,fontWeight:ka.fontWeight,fontStyle:ka.fontStyle},R,na,W,Z,G,E,H,aa,I,D,ia,sc,Ta,T,K,M,O,S,ua,za,zb=function(b){ya.call(this,a,b)},Q=function(b){ya.call(this,a,b,"DataPlotRollOver")},$=function(b){ya.call(this,a,b,"DataPlotRollOut")},Ac=function(b){return function(){void 0!==b&&a.linkClickFN.call({link:b},a)}},X=function(){n.show();A.attr({transform:"...t"+-N+","+-ta});P.show()};if(0<x){for(;x--;)if(B=z[x],c=f(B.errorStartValue,B.y),sc=B.errorValue,k=B.link,
void 0!==c&&sc&&(K=sc.length)){B=f(B.x,x);F=m.getAxisPosition(c);fa=p.getAxisPosition(B);ha&&(ba&&(fa+=ba),v&&(fa+=v/2));D=u[x]||(u[x]={});D.errorBars=D.errorBars||[];D.errorValues=D.errorValues||[];D.trackerBars=D.trackerBars||[];for(na=(R=D.tracker||D.graphic)&&R.data("groupId");K--;)ua=M=za=null,Ta=sc[K],I=Ta.errorStartValue,r=Ta.tooltext||Ta.toolText,G=isNaN(I)?F:m.getAxisPosition(I),W=Ta.displayValue,T=Ta.errorValue,Ta&&ma(T)&&(Z=f(Ta.isHorizontal,0),S=f(Ta.errorBarThickness,d.errorBarThickness,
1),M=f(v*d.errorBarWidthPercent/100,Ta.errorWidth,Z?d.hErrorBarWidth:d.vErrorBarWidth,d.errorBarWidth),O=M/2,M=Ta.errorBarColor||d.errorBarColor,ma(W)&&W!==y&&(za=t.text(A).attr({text:W,fill:ka.color,"text-bound":[ka.backgroundColor,ka.borderColor,ka.borderThickness,ka.borderPadding,ka.borderRadius,ka.borderDash]}).css(Y),g.setStyle(Y),l=g.getOriSize(W)),Z?(W=ia=I=p.getAxisPosition(B+T),Z=fa,w&&(W=C(G)+S%2/2,Z=C(ia)+S%2/2),G=[ra,fa,W,"H",Z,ra,Z,W-O,"V",W+O]):(W=ia=I=m.getAxisPosition((I||c)+T),Z=
fa,w&&(W=C(ia)+S%2/2,Z=C(fa)+S%2/2),aa=0.5*(U?l.width:l.height),E=ia+0.5*S+L+aa,H=ia-0.5*S-L-aa,G>ia?(I=H,H-a.canvasTop<aa&&(I=E)):(I=E,ea-E<aa&&(I=H)),G=[ra,Z,G,"V",W,ra,Z-O,W,"H",Z+O]),M=t.path(G,n).attr({stroke:M,"stroke-width":S,cursor:k?"pointer":"","stroke-linecap":"round",visibility:J}).shadow(f(pa.errorBarShadow,e.shadow)&&0<S&&Ta.shadow,P),(k||qa)&&S<bc&&(ua=t.path(G,s).attr({stroke:xa,"stroke-width":bc,cursor:k?"pointer":"",ishot:!!k,visibility:J})),ua=ua||M,ua.data("eventArgs",R&&R.data("eventArgs")||
{link:k,toolText:r,displayValue:Ta.displayValue,value:T}),ua.click(zb).data("groupId",na).hover(Q,$).tooltip(r),(k||qa)&&ua.click(Ac(k)),za&&(za.attr({x:fa,y:I,title:Ta.originalText||"",visibility:J}).css(Y),U&&za.attr("transform","T0,0,R"+U)),M&&(wa.push(M),D.errorBars.push(M)),za&&(wa.push(za),D.errorValues.push(za)),ua&&ua!==M&&(wa.push(ua),D.trackerBars.push(ua)));h&&(n.hide(),A.attr({transform:"...t"+N+","+ta}),P.hide(),setTimeout(X,h))}b.visible=!1!==d.visible}}},w.mscolumn2dbase);w("errorline",
{friendlyName:"Error Line Chart",standaloneInit:!0,creditLabel:Ha,chart:w.errorbar2d.chart,drawErrorValue:w.errorbar2d.drawErrorValue,useErrorGroup:!0,rendererId:"cartesian",isErrorChart:!0,fireGroupEvent:!0,canvasPaddingModifiers:["anchor","errorbar"],point:function(b,d,a,c,e,g){b=f(c.ignoreemptydatasets,0);var t=!1,l=!f(c.halferrorbar,1),p=e[ga],m=h(this.isValueAbs,p.isValueAbs,!1),q=f(a.showvalues,p.showValues),k=f(d.yAxis,0),n=this.numberFormatter,s=this.colorManager,A=$(h(a.color,c.linecolor,
s.getPlotColor())),ha=e.chart,z=f(a.alpha,c.linealpha,"100"),x=f(a.errorbaralpha,c.errorbaralpha,z),u=f(a.linethickness,c.linethickness,2),qa=Boolean(f(a.dashed,c.linedashed,0)),B=f(a.linedashlen,c.linedashlen,5),r=f(a.linedashgap,c.linedashgap,4),fa,F,wa,J,U,L,ba,v,pa,zc,ea,ka,P,N,ta,Y,R,na,W,Z,G,C,H,aa,D,M,ia,S,Ta,K;this.errorBarShadow=f(c.errorbarshadow);d.name=T(a.seriesname);d.color={FCcolor:{color:A,alpha:z}};d.lineWidth=u;ba=f(a.drawanchors,a.showanchors,c.drawanchors,c.showanchors);W=f(a.anchorsides,
c.anchorsides,0);Z=f(a.anchorradius,c.anchorradius,3);G=$(h(a.anchorbordercolor,c.anchorbordercolor,A));C=f(a.anchorborderthickness,c.anchorborderthickness,1);H=$(h(a.anchorbgcolor,c.anchorbgcolor,s.getColor("anchorBgColor")));aa=h(a.anchoralpha,c.anchoralpha,"100");D=h(a.anchorbgalpha,c.anchorbgalpha,aa);M=f(a.anchorstartangle,c.anchorstartangle,90);s=d.anchorShadow=f(c.anchorshadow,0);d.errorBarWidth=f(c.errorbarwidth,a.errorbarwidth,5);d.errorBarColor=E($(h(a.errorbarcolor,c.errorbarcolor,"AAAAAA")),
x);d.errorBarThickness=Ra(u,f(a.errorbarthickness,c.errorbarthickness,1));if(0===f(a.includeinlegend)||void 0===d.name||0===z&&1!==ba)d.showInLegend=!1;d.marker={fillColor:{FCcolor:{color:H,alpha:D*aa/100+y}},lineColor:{FCcolor:{color:G,alpha:aa+y}},lineWidth:C,radius:Z,symbol:ca(W),startAngle:M};if(c=a.data)for(J=0;J<g;J+=1)(ta=c[J])?(F=n.getCleanValue(ta.value,m),wa=n.getCleanValue(ta.errorvalue,m),null===F?d.data.push({y:null}):(t=!0,N=f(ta.anchorsides,W),P=f(ta.anchorradius,Z),ea=$(h(ta.anchorbordercolor,
G)),ka=f(ta.anchorborderthickness,C),zc=$(h(ta.anchorbgcolor,H)),v=h(ta.anchoralpha,aa),pa=h(ta.anchorbgalpha,D),U=$(h(ta.color,A)),L=h(ta.alpha,z),S=f(ta.dashed,qa)?Ba(B,r,u):void 0,Y={opacity:L/100},ia=void 0===ba?0!==L:!!ba,fa=p.oriCatTmp[J],K=this.getPointStub(ta,F,fa,e,a,q,k,wa),Ta=[],Ta.push({errorValue:wa,toolText:K._errortoolText,shadow:{opacity:x/250}}),l&&Ta.push({errorValue:null===wa?null:-wa,toolText:K._errortoolText,shadow:{opacity:x/250}}),R=h(ta.anchorstartangle,M),na=Boolean(f(ta.anchorshadow,
s,0)),fa=this.pointHoverOptions(ta,d,{plotType:"anchor",anchorBgColor:zc,anchorAlpha:v,anchorBgAlpha:pa,anchorAngle:R,anchorBorderThickness:ka,anchorBorderColor:ea,anchorBorderAlpha:v,anchorSides:N,anchorRadius:P,shadow:Y}),d.data.push(I(K,{y:F,shadow:Y,dashStyle:S,errorValue:Ta,valuePosition:h(ta.valueposition,ha.valuePosition),color:{FCcolor:{color:U,alpha:L}},marker:{enabled:ia,shadow:na&&{opacity:v/100},fillColor:{FCcolor:{color:zc,alpha:pa*v/100+y}},lineColor:{FCcolor:{color:ea,alpha:v}},lineWidth:ka,
radius:P,symbol:ca(N),startAngle:R},hoverEffects:fa.enabled&&fa.options,rolloverProperties:fa.enabled&&fa.rolloverOptions})),w.errorbar2d.pointValueWatcher(e,F,wa))):d.data.push({y:null});b&&!t&&(d.showInLegend=!1);return d}},w.mslinebase);w("errorscatter",{friendlyName:"Error Scatter Chart",isXY:!0,standaloneInit:!0,creditLabel:Ha,chart:w.errorbar2d.chart,drawErrorValue:w.errorbar2d.drawErrorValue,defaultZeroPlaneHighlighted:!1,useErrorGroup:!0,rendererId:"cartesian",isErrorChart:!0,fireGroupEvent:!0,
point:function(b,d,a,c,e,g,t){b=f(c.ignoreemptydatasets,0);g=!1;var l=f(a.drawline,0),p=f(a.drawprogressioncurve,0),m,q,k=f(a.showvalues,e[ga].showValues),n=this.numberFormatter,s=f(a.showregressionline,c.showregressionline,0),A=h(c.errorbarcolor,"AAAAAA"),ha=h(c.errorbaralpha,"100"),z=f(c.errorbarthickness,1);q=f(c.errorbarwidth,5);var x=f(c.halfverticalerrorbar,1),u=f(a.verticalerrorbaralpha,a.errorbaralpha,c.verticalerrorbaralpha,ha),qa=E(h(a.verticalerrorbarcolor,a.errorbarcolor,c.verticalerrorbarcolor,
A),u),B=f(a.verticalerrorbarthickness,a.errorbarthickness,c.verticalerrorbarthickness,z),r=f(c.halfhorizontalerrorbar,1),ha=h(a.horizontalerrorbaralpha,a.errorbaralpha,c.horizontalerrorbaralpha,ha),A=E(h(a.horizontalerrorbarcolor,a.errorbarcolor,c.horizontalerrorbarcolor,A),ha),z=f(a.horizontalerrorbarthickness,a.errorbarthickness,c.horizontalerrorbarthickness,z),fa=f(a.usehorizontalerrorbar,c.usehorizontalerrorbar,0),F=f(a.useverticalerrorbar,c.useverticalerrorbar,1),v={sumX:0,sumY:0,sumXY:0,sumXsqure:0,
sumYsqure:0,xValues:[],yValues:[]};m=this.colorManager;var J=m.getPlotColor(),U,L,ba,w,pa,G,ea,ka,P,N,ta,Y,R,na,W,Z,C,H,I,aa,D,M,ia,K;this.errorBarShadow=f(c.errorbarshadow);d.zIndex=1;d.name=T(a.seriesname);if(0===f(a.includeinlegend)||void 0===d.name)d.showInLegend=!1;d.vErrorBarWidth=f(a.verticalerrorbarwidth,a.errorbarwidth,c.verticalerrorbarwidth,q);d.hErrorBarWidth=f(a.horizontalerrorbarwidth,a.errorbarwidth,c.horizontalerrorbarwidth,q);if(l||p)p&&(d.type="spline"),L=$(h(a.color,J)),l=h(a.alpha,
jc),p=f(a.linethickness,c.linethickness,2),q=Boolean(f(a.linedashed,a.dashed,c.linedashed,0)),ba=f(a.linedashlen,c.linedashlen,5),w=f(a.linedashgap,c.linedashgap,4),d.color=E(h(a.linecolor,c.linecolor,L),f(a.linealpha,c.linealpha,l)),d.lineWidth=p,d.dashStyle=q?Ba(ba,w,p):void 0;l=Boolean(f(a.drawanchors,a.showanchors,c.drawanchors,c.showanchors,1));t=f(a.anchorsides,c.anchorsides,t+3);p=f(a.anchorradius,c.anchorradius,3);L=$(h(a.anchorbordercolor,a.color,c.anchorbordercolor,L,J));J=f(a.anchorborderthickness,
c.anchorborderthickness,1);w=$(h(a.anchorbgcolor,c.anchorbgcolor,m.getColor("anchorBgColor")));G=h(a.anchoralpha,a.alpha,c.anchoralpha,"100");ea=h(a.anchorbgalpha,c.anchorbgalpha,G);ba=h(a.anchorstartangle,c.anchorstartangle);d.anchorShadow=f(c.anchorshadow,0);d.marker={fillColor:this.getPointColor(w,"100"),lineColor:{FCcolor:{color:L,alpha:G+y}},lineWidth:J,radius:p,symbol:ca(t)};if(m=a.data){q=m.length;s&&(d.events={hide:this.hideRLine,show:this.showRLine},D=f(a.showyonx,c.showyonx,1),M=$(h(a.regressionlinecolor,
c.regressionlinecolor,L)),ia=f(a.regressionlinethickness,c.regressionlinethickness,J),c=db(f(a.regressionlinealpha,c.regressionlinealpha,G)),M=E(M,c));for(U=0;U<q;U+=1)(pa=m[U])?(c=n.getCleanValue(pa.y),W=n.getCleanValue(pa.x),n.getCleanValue(pa.errorvalue),Z=n.getCleanValue(h(pa.horizontalerrorvalue,pa.errorvalue)),C=n.getCleanValue(h(pa.verticalerrorvalue,pa.errorvalue)),null===c?d.data.push({y:null,x:W}):(g=!0,H=this.getPointStub(pa,c,n.xAxis(W),e,a,k,void 0,C,Z,W),ka=f(pa.anchorsides,t),P=f(pa.anchorradius,
p),N=$(h(pa.anchorbordercolor,L)),ta=f(pa.anchorborderthickness,J),Y=$(h(pa.anchorbgcolor,w)),R=h(pa.anchoralpha,pa.alpha,G),na=h(pa.anchorbgalpha,ea),I=Boolean(f(pa.usehorizontalerrorbar,fa)),aa=Boolean(f(pa.useverticalerrorbar,F)),K=[],I&&(I=H._hErrortoolText,K.push({errorValue:Z,toolText:I,errorBarColor:A,isHorizontal:1,errorBarThickness:z,shadow:{opacity:ha/250}}),r||K.push({errorValue:-Z,toolText:I,errorBarColor:A,isHorizontal:1,errorBarThickness:z,shadow:{opacity:ha/250}})),aa&&(aa=H._errortoolText,
K.push({errorValue:C,toolText:aa,errorBarColor:qa,errorBarThickness:B,shadow:{opacity:u/250}}),x||K.push({errorValue:-C,toolText:aa,errorBarColor:qa,errorBarThickness:B,shadow:{opacity:u/250}})),aa=this.pointHoverOptions(pa,d,{plotType:"anchor",anchorBgColor:Y,anchorAlpha:R,anchorBgAlpha:na,anchorAngle:ba,anchorBorderThickness:ta,anchorBorderColor:N,anchorBorderAlpha:R,anchorSides:ka,anchorRadius:P}),d.data.push({y:c,x:W,errorValue:K,displayValue:H.displayValue,toolText:H.toolText,link:H.link,marker:{enabled:l,
shadow:void 0,fillColor:{FCcolor:{color:Y,alpha:na*R/100+y}},lineColor:{FCcolor:{color:N,alpha:R}},lineWidth:ta,radius:P,symbol:ca(ka),startAngle:h(pa.anchorstartangle,ba)},hoverEffects:aa.enabled&&aa.options,rolloverProperties:aa.enabled&&aa.rolloverOptions}),this.pointValueWatcher(e,x?c:c-C,r?W:W-Z,s&&v),this.pointValueWatcher(e,c+C,W+Z,s&&v))):d.data.push({y:null});s&&(a=this.getRegressionLineSeries(v,D,q),this.pointValueWatcher(e,a[0].y,a[0].x),this.pointValueWatcher(e,a[1].y,a[1].x),e={type:"line",
color:M,showInLegend:!1,lineWidth:ia,enableMouseTracking:!1,marker:{enabled:!1},data:a,zIndex:0},d=[d,e])}b&&!g&&(d.showInLegend=!1);return d}},w.scatterbase);w("waterfall2d",{friendlyName:"Waterfall Chart",standaloneInit:!0,isWaterfall:!0,creditLabel:Ha,point:function(b,d,a,c,e){var g,t,l,p,m,q,k,n,s,A,ha,z,x,u,qa;b=h(c.connectorthickness,1);var B={step:!0,type:"line",enableMouseTracking:!1,data:[],dataLabels:{enabled:!1},marker:{enabled:!1},dashStyle:"1"===c.connectordashed?Ba(f(c.connectordashlen,
2),f(c.connectordashgap,2),b):void 0,drawVerticalJoins:!1,useForwardSteps:!0,color:E(h(c.connectorcolor,"000000"),h(c.connectoralpha,100)),lineWidth:b},r=this.colorManager,fa=a.length,F=e[ga],v=F.axisGridManager,J=e.xAxis,U=F.x,L=/3d$/.test(e.chart.defaultSeriesType),ba=this.isBar,w="1"===h(c.showplotborder,L?"0":"1")?L?1:f(c.plotborderthickness,1):0,pa=e.chart.useRoundEdges,G=f(c.plotborderalpha,c.plotfillalpha,100)+y,ea=h(c.plotbordercolor,r.getColor("plotBorderColor").split(",")[0]),ka=f(c.useplotgradientcolor,
1)?Mb(c.plotgradientcolor,r.getColor("plotGradientColor")):y,P=f(c.plotborderdashed,0),N=f(c.plotborderdashlen,6),ta=f(c.plotborderdashgap,3),Y=0,R=Boolean(f(c.use3dlighting,1)),na=0,W=0,Z=e[ga].numberFormatter,C,I=0,D,aa=f(c.showsumatend,1);for(g=0;g<fa;g+=1)n=a[g],b=Z.getCleanValue(n.value),l=f(n.issum,0),n.vline||l||(I+=b,n._value=b);C=Z.dataLabels(I);aa&&(aa=!0,fa+=1,D={label:O(c.sumlabel,"Total"),_value:I,value:I,issum:1,cumulative:1});for(t=g=0;g<fa;g+=1)n=a[g],!n&&aa&&(n=D),n.vline?v.addVline(J,
n,Y,e):(b=n._value,delete n._value,l=f(n.issum,0),k=f(n.cumulative,1),l?(b=k?na:na===W?na:na-W,W=na,B.data.push({y:null,x:t-0.5})):na+=b,l=f(n.showlabel,c.showlabels,1),l=H(l?O(n.label,n.name):y),v.addXaxisCat(J,Y,Y,l),Y+=1,0<b?(p=h(n.color,c.positivecolor,r.getPlotColor()),d.hoverEffects&&(d.hoverEffects.color=h(n.positivehovercolor,c.positivehovercolor,c.plotfillhovercolor))):(p=h(n.color,c.negativecolor,r.getPlotColor()),d.hoverEffects&&(d.hoverEffects.color=h(n.negativehovercolor,c.negativehovercolor,
c.plotfillhovercolor))),m=h(n.alpha,c.plotfillalpha,"100"),q=h(n.ratio,c.plotfillratio),s=h(360-c.plotfillangle,90),0>b&&(s=360-s),z=h(n.alpha,G),x=f(n.dashed,P),u=h(n.dashgap,ta),qa=h(n.dashlen,N),A={opacity:m/100,inverted:ba},k=Aa(p+Ga+ka.replace(/,+?$/,""),m,q,s,pa,ea,h(n.alpha,G),ba,L),ha=x?Ba(qa,u,w):"none",p=this.pointHoverOptions(n,d,{plotType:"column",is3d:L,isBar:ba,use3DLighting:R,isRoundEdged:pa,color:p,gradientColor:ka,alpha:m,ratio:q,angle:s,borderWidth:w,borderColor:ea,borderAlpha:z,
borderDashed:x,borderDashGap:u,borderDashLen:qa,shadow:A}),m=T(H(n.displayvalue)),q=null===b?b:Z.dataLabels(b),s=T(H(h(n.tooltext,F.tooltext))),s=F.showTooltip?void 0!==s?fb(s,[1,2,3,5,6,7,20,21,24,25],{formattedValue:q,label:l,yaxisName:H(c.yaxisname),xaxisName:H(c.xaxisname),cumulativeValue:na,cumulativeDataValue:Z.dataLabels(na),sum:C,unformattedSum:I},n,c):null===q?!1:l!==y?l+F.tooltipSepChar+q:q:y,m=f(n.showvalue,F.showValues)?void 0!==m?m:q:y,d.data.push({y:b,_FCY:0>b?na-b:na,previousY:0>b?
na:0===na-b?void 0:na-b,shadow:A,color:k[0],borderColor:k[1],borderWidth:w,dashStyle:ha,use3DLighting:R,hoverEffects:p.enabled&&p.options,rolloverProperties:p.enabled&&p.rolloverOptions,displayValue:m,categoryLabel:l,toolText:s,link:h(n.link)}),B.data.push({y:b&&na,x:t}),this.pointValueWatcher(e,na),t+=1);U.catCount=Y;"0"!=c.showconnectors&&(d=[B,d]);return d},defaultSeriesType:"column",rendererId:"cartesian"},Ja);w("multilevelpie",{friendlyName:"Multi-level Pie Chart",standaloneInit:!0,defaultSeriesType:"multilevelpie",
rendererId:"multiLevelPie",defaultPlotShadow:0,series:function(){var b=this.dataObj,d=this.hcJSON,a=b.chart,c=d.series,e={},g=Boolean(f(a.usehovercolor,1)),t=E(h(a.hoverfillcolor,"FF5904"),f(a.hoverfillalpha,100)),l=parseInt(a.pieradius,10),p=0,m=!0;d.chart.plotBorderColor=0;d.chart.plotBackgroundColor=null;d.plotOptions.series.dataLabels.style=d.xAxis.labels.style;d.plotOptions.series.dataLabels.color=d.xAxis.labels.style.color;d.legend.enabled=!1;d.plotOptions.pie.allowPointSelect=!1;d.plotOptions.series.borderColor=
E(h(a.plotbordercolor,a.piebordercolor,"FFFFFF"),"0"!=a.showplotborder?h(a.plotborderalpha,a.pieborderalpha,100):0);d.plotOptions.series.borderWidth=f(a.pieborderthickness,a.plotborderthickness,1);d.plotOptions.pie.startingAngle=0;d.plotOptions.pie.size="100%";e.showLabels=f(a.showlabels,1);e.showValues=f(a.showvalues,0);e.showValuesInTooltip=f(a.showvaluesintooltip,a.showvalues,0);e.showPercentValues=f(a.showpercentvalues,a.showpercentagevalues,0);e.showPercentInTooltip=f(a.showpercentintooltip,
0);e.toolTipSepChar=h(a.tooltipsepchar,a.hovercapsepchar,ad);e.labelSepChar=h(a.labelsepchar,e.toolTipSepChar);e.tooltext=a.plottooltext;g&&(d.plotOptions.series.point.events={mouseOver:function(){for(var a=this,b=a.chart.plots,c,d;a;)a.graphic.attr({fill:t}),d=a.prevPointIndex,a=a.prevSeriesIndex,a=(c=b[a])&&c.items&&c.items[d]},mouseOut:function(){for(var a=this,b=a.chart.plots,c,d;a;)a.graphic.attr({fill:a.color}),d=a.prevPointIndex,a=a.prevSeriesIndex,a=(c=b[a])&&c.items&&c.items[d]}});d.chart.plotBorderWidth=
0;b.category&&this.addMSPieCat(b.category,0,0,100,h(a.plotfillalpha,a.piefillalpha,100),e,null);l=parseInt(a.pieradius,10);p=0;m=!0;l?(b=2*l/c.length,m=!1):b=parseInt(100/c.length,10);d.plotOptions.series.dataLabels.distance=0;d.plotOptions.series.dataLabels.placeLabelsInside=!0;for(d=0;d<c.length;d+=1)c[d].innerSize=p+(m?"%":""),c[d].size=(p+=b)+(m?"%":""),0===c[d].data[c[d].data.length-1].y&&c[d].data.pop()},spaceManager:function(b,d,a,c){var e=b[ga];this.titleSpaceManager(b,d,a-(e.marginLeftExtraSpace+
e.marginRightExtraSpace+b.chart.marginRight+b.chart.marginLeft),0.4*(c-(e.marginBottomExtraSpace+e.marginTopExtraSpace+b.chart.marginBottom+b.chart.marginTop)))},addMSPieCat:function(b,d,a,c,e,g,t){var l=this.numberFormatter,p=this.colorManager,m,q,k=0,n=b.length-1,s,A,ha;m=this.hcJSON.series;var z=g.labelSepChar,x,u,qa,B,r,fa;void 0===this.colorCount&&(this.colorCount=0);0===d&&(this.colorCount=0);m[d]||(m[d]={data:[{toolText:!1,doNotSlice:!0,y:100,visible:!1,color:"rgba(255,255,255,0)"}]});m=m[d];
(q=a-100+m.data[m.data.length-1].y)&&m.data.splice(m.data.length-1,0,{toolText:!1,doNotSlice:!0,y:q,visible:!1,color:"rgba(255,255,255,0)"});m.data[m.data.length-1].y=100-c;for(A=0;A<=n;A+=1)s=b[A],s._userValue=l.getCleanValue(s.value,this.isValueAbs),s._value=f(s._userValue,1),k+=s._value;k=k||1;q=(c-a)/k;for(A=n;0<=A;A-=1)s=b[A],n=q*s._value,ha=H(h(s.label,s.name)),qa=null!==s._userValue?l.dataLabels(s._userValue):y,B=l.percentValue(s._value/k*100),x=m.data.length-1,u=f(s.alpha,e),fa=g.showLabels?
ha:y,g.showValues&&(g.showPercentValues?fa+=fa!==y?z+B:B:void 0!==qa&&qa!==y&&(fa+=fa!==y?z+qa:qa)),r=H(h(s.tooltext,s.hovertext,g.tooltext)),r===y?(r=ha,g.showValuesInTooltip&&(g.showPercentInTooltip?r+=r!==y?z+B:B:void 0!==qa&&qa!==y&&(r+=r!==y?z+qa:qa))):r=fb(r,[1,2,3,14],{percentValue:B,label:ha,formattedValue:qa},s),m.data.splice(x,0,{prevPointIndex:t,prevSeriesIndex:d-1,displayValue:fa,toolText:r,y:n,link:T(s.link),doNotSlice:!0,color:E(s.color||p.getPlotColor(),u),shadow:{opacity:0.01*C(50<
u?u*u*u*1E-4:u*u*0.01)}}),this.colorCount+=1,s.category&&this.addMSPieCat(s.category,d+1,a,0===A?c:a+n,e,g,x),a+=n},isValueAbs:!0,creditLabel:Ha},Ja);w("radar",{friendlyName:"Radar Chart",standaloneInit:!0,creditLabel:Ha,defaultSeriesType:"radar",areaAlpha:50,spaceManager:function(b,d,a,c){b.chart.plotBorderWidth=0;b.chart.plotBackgroundColor=null;var e=b[ga],g=e.x,t=b.xAxis,l=b.yAxis[0],p=d.chart,l=f(p.labelpadding,p.labelxpadding,parseInt(l&&l.labels&&l.labels.style&&l.labels.style.fontSize||10,
10));a-=e.marginLeftExtraSpace+e.marginRightExtraSpace+b.chart.marginRight+b.chart.marginLeft;c-=e.marginBottomExtraSpace+e.marginTopExtraSpace+b.chart.marginBottom+b.chart.marginTop;e=this.colorManager;c-=this.titleSpaceManager(b,d,a,0.4*c);t.min=f(g.min,0);t.max=f(g.max,g.catCount-1);t.gridLineColor=E(h(p.radarspikecolor,e.getColor("divLineColor")),f(p.radarspikealpha,p.radarinlinealpha,e.getColor("divLineAlpha")));t.gridLineWidth=f(p.radarspikethickness,1);t.showRadarBorder=f(p.showradarborder,
1);t.radarBorderThickness=f(p.radarborderthickness,2);t.radarBorderColor=E(h(p.radarbordercolor,e.getColor("divLineColor")),f(p.radarborderalpha,100));t.radarFillColor=E(h(p.radarfillcolor,e.getColor("altHGridColor")),f(p.radarfillalpha,e.getColor("altHGridAlpha")));b.legend.enabled&&(h(p.legendposition,va).toLowerCase()!=Da?c-=this.placeLegendBlockBottom(b,d,a,c/2):a-=this.placeLegendBlockRight(b,d,a/3,c));d=f(p.radarradius);g=2*f(parseInt(t.labels.style.lineHeight,10),12);p=2*l;g=Ra(a-(100+p),c-
(g+p));d=d||0.5*g;a=Ra(0.3*a,0.3*c);d<a&&(d=a);b.chart.axisRadius=d;t.labels.labelPadding=l},anchorAlpha:"100",showValues:0,isRadar:!0,rendererId:"radar"},w.msareabase);ab={dragExtended:!0,defaultRestoreButtonVisible:1,spaceManager:function(b,d,a,c){var e=b[ga],g=b.chart,t=d.chart,l=e.outCanvasStyle,p=c-0.3*(e.marginBottomExtraSpace+g.marginBottom+g.marginTop),m=0,q=0,e=this.smartLabel||e.smartLabel,k,n;g.formAction=T(t.formaction);g.formDataFormat=h(t.formdataformat,D.dataFormats.XML);g.formTarget=
h(t.formtarget,"_self");g.formMethod=h(t.formmethod,"POST");g.submitFormAsAjax=f(t.submitformusingajax,1);g.showFormBtn=f(t.showformbtn,1)&&g.formAction;g.formBtnTitle=h(t.formbtntitle,"Submit");g.formBtnBorderColor=h(t.formbtnbordercolor,"CBCBCB");g.formBtnBgColor=h(t.formbtnbgcolor,"FFFFFF");g.btnPadding=f(t.btnpadding,7);g.btnSpacing=f(t.btnspacing,5);g.formBtnStyle={fontSize:l.fontSize,fontFamily:l.fontFamily,fontWeight:"bold"};g.formBtnLabelFill=l.color;t.btntextcolor&&(g.formBtnLabelFill=t.btntextcolor.replace(qb,
Na));0<=(l=f(t.btnfontsize))&&(g.formBtnStyle.fontSize=l+"px");Qa(g.formBtnStyle);g.showRestoreBtn=f(t.showrestorebtn,this.defaultRestoreButtonVisible,1);g.showRestoreBtn&&(g.restoreBtnTitle=h(t.restorebtntitle,"Restore"),g.restoreBtnBorderColor=h(t.restorebtnbordercolor,g.formBtnBorderColor),g.restoreBtnBgColor=h(t.restorebtnbgcolor,g.formBtnBgColor),g.restoreBtnStyle={fontSize:g.formBtnStyle.fontSize,fontFamily:g.formBtnStyle.fontFamily,fontWeight:"bold"},g.restoreBtnLabelFill=g.formBtnLabelFill,
t.restorebtntextcolor&&(g.restoreBtnLabelFill=t.restorebtntextcolor.replace(qb,Na)),0<=(l=f(t.restorebtnfontsize))&&(g.restoreBtnStyle.fontSize=l+"px"),Qa(g.restoreBtnStyle));g.showLimitUpdateMenu=f(t.showlimitupdatemenu,1);g.showFormBtn&&(e.setStyle(g.formBtnStyle),k=e.getOriSize(g.formBtnTitle),m=k.height||0);g.showRestoreBtn&&(e.setStyle(g.restoreBtnStyle),n=e.getOriSize(g.restoreBtnTitle),m=sa(n.height,m)||0);0<m&&(m+=g.btnPadding+4,m>p&&(g.btnPadding=sa(g.btnPadding-m+p,0)/2,m=p));g.btnHeight=
m;g.showFormBtn&&(q=k.width+m,g.formBtnWidth=f(t.formbtnwidth,q),g.formBtnWidth<k.width&&(g.formBtnWidth=q));g.showRestoreBtn&&(q=n.width+m,g.restoreBtnWidth=f(t.restorebtnwidth,q),g.restoreBtnWidth<n.width&&(g.restoreBtnWidth=q));g.marginBottom+=m+g.btnPadding;g.spacingBottom+=m+g.btnPadding;(b.callbacks||(b.callbacks=[])).push(this.drawButtons);return this.placeVerticalXYSpaceManager.apply(this,arguments)},drawButtons:function(){var b=this.logic,d=this.paper,a=this.options.chart,c=a.btnSpacing,
e=this.chartHeight-a.spacingBottom+a.btnPadding,g=this.chartWidth-a.spacingRight,t=this.layers.layerAboveDataset,l=0;a.showFormBtn&&(this.submitBtn=d.button(g-a.formBtnWidth,e,a.formBtnTitle,void 0,{width:a.formBtnWidth,height:a.btnHeight,verticalPadding:1,horizontalPadding:15},t).labelcss(a.formBtnStyle).attr({fill:[$(a.formBtnBgColor),a.formBtnLabelFill],stroke:$(a.formBtnBorderColor)}).buttonclick(function(){b.chartInstance.submitData()}),l=a.formBtnWidth+c);a.showRestoreBtn&&(this.restoreBtn=
d.button(g-a.restoreBtnWidth-l,e,a.restoreBtnTitle,void 0,{width:a.restoreBtnWidth,height:a.btnHeight,verticalPadding:1,horizontalPadding:15},t).labelcss(a.restoreBtnStyle).attr({fill:[$(a.restoreBtnBgColor),a.restoreBtnLabelFill],stroke:$(a.restoreBtnBorderColor)}).buttonclick(function(){b.chartInstance.restoreData()}))},drawAxisUpdateUI:function(){var b=this,d=b.logic,a=b.elements,c=b.options,e=c.chart,g=c[ga],t=d.chartInstance,d=d.renderer,l=b.yAxis[0],f=l.axisData,m=l.poi,h=f.plotLines,k=b.container,
n=c.chart.showRangeError,s=g.inCanvasStyle,c=b.toolbar||(b.toolbar=[]),l=b.menus||(b.menus=[]),A=cb({outline:"none","-webkit-appearance":"none",filter:"alpha(opacity=0)",position:"absolute",background:"transparent",border:"1px solid #cccccc",textAlign:"right",top:0,left:0,width:50,zIndex:20,opacity:0,borderRadius:0},s),ha,z;d&&!d.forExport&&(z=function(a,c,d){if(a===c+"")return null;c=d?t.setUpperLimit(a,!0):t.setLowerLimit(a,!0);!c&&n&&b.showMessage("Sorry! Not enough range gap to modify axis limit to "+
(Number(a)||"0")+".<br />Please modify the data values to be within range.<br />&nbsp;<br />(click anywhere on the chart to close this message)",!0);return c},gb(["max","min"],function(a){a=m[a];var c=a.label,d=h[a.index];a=c&&c.getBBox();var g,t,l,f,n,p,ha;if(a&&c){t=a.x+a.width-e.spacingLeft;l=e.marginLeft-t-(Xa?4:5);g=cd("input",{type:"text",value:d.value},k,!0);cb(A,{top:a.y+(Xa?-1:0)+"px",left:l+"px",width:t+"px"});for(f in A)g.style[f]=A[f];r.dem.listen(g,["focus","mouseup","blur","keyup"],
[function(){var a={opacity:1,filter:"alpha(opacity=100)",color:s.color},b;this.value=d.value;for(b in a)this.style[b]=a[b];n=ha=!0;c.hide()},function(){var a=this;ha&&(ha=!1,lb||setTimeout(function(){a.select()},0))},function(){!0!==z(this.value,d.value,d.isMaxLabel)&&(this.style.opacity=0,this.style.filter="alpha(opacity=0)",c.show());ac&&Ua.getElementsByTagName("body")[0].focus&&Ua.getElementsByTagName("body")[0].focus();n=ha=!1},function(a){var b=a.originalEvent.keyCode,c=this.value;13===b?(a=
z(c,d.value,d.isMaxLabel),!1===a&&(this.style.color="#dd0000")):27===b&&(this.value=d.value,r.dem.fire(this,"blur",a))}]);g.setAttribute("isOverlay","true");Xa?(Eb(b,"defaultprevented",p=function(a){g.parentNode&&r.dem.fire(g,"blur",a)}),Eb(b,"destroy",function(){la(b,"defaultprevented",p);g.parentNode.removeChild(g)})):(Eb(b.container,"mousedown",p=function(a){a.srcElement!==g&&n&&r.dem.fire(g,"blur",a)}),Eb(b,"destroy",function(){la(b.container,"mousedown",p);g.parentNode.removeChild(g)}))}}),e.showLimitUpdateMenu&&
(l.push(ha=Sb({chart:b,basicStyle:g.outCanvasStyle,items:[{text:"Increase Upper Limit",onclick:function(){t.setUpperLimit(f.max+f.tickInterval,!0)}},{text:"Increase Lower Limit",onclick:function(){t.setLowerLimit(f.min+f.tickInterval,!0)}},{text:"Decrease Upper Limit",onclick:function(){t.setUpperLimit(f.max-f.tickInterval,!0)}},{text:"Decrease Lower Limit",onclick:function(){t.setLowerLimit(f.min-f.tickInterval,!0)}}],position:{x:e.spacingLeft,y:t.height-e.spacingBottom+(e.showFormBtn||e.showRestoreBtn?
10:-15)}})),a.configureButton=c.add("configureIcon",function(a,b){return function(){ha.visible?ha.hide():ha.show({x:a,y:b+1})}}(),{x:e.spacingLeft,y:t.height-e.spacingBottom+(e.showFormBtn||e.showRestoreBtn?10:-15),tooltip:"Change Y-Axis Limits"})))},getCollatedData:function(){var b=this.chartInstance,d=b.__state,a=b.jsVars,b=this.updatedDataObj||I({},b.getChartData(D.dataFormats.JSON)),c=a._reflowData,a=b.dataset,e=(c=c&&c.hcJSON&&c.hcJSON.series)&&c.length,g,t,l,f;if(void 0!==d.hasStaleData&&!d.hasStaleData&&
this.updatedDataObj)return this.updatedDataObj;if(a&&c)for(;e--;)if(t=a[e]&&a[e].data,(g=(l=c[e]&&c[e].data)&&l.length)&&t)for(;g--;)if(f=l[g])t[g].value=f.y;d.hasStaleData=!1;return this.updatedDataObj=b},eiMethods:{restoreData:function(){var b=this.jsVars,d=b.fcObj;b._reflowData={};delete b._reflowClean;D.hcLib.createChart(d,b.container,b.type,void 0,void 0,!1,!0);r.raiseEvent("dataRestored",{},d,[d.id]);return!0},submitData:function(){var b=this.jsVars,d=b.fcObj,a=d.__state,c=a._submitAjaxObj||
(a._submitAjaxObj=new D.ajax),a=D.dataFormats.JSON,e=D.dataFormats.CSV,g=D.dataFormats.XML,b=b.instanceAPI,t=b.hcJSON.chart,l=t.formAction,f=t.submitFormAsAjax,m,h,k,n,s;t.formDataFormat===a?(m=a,h=JSON.stringify(b.getCollatedData())):t.formDataFormat===e?(m=e,h=b.getCSVString&&b.getCSVString(),void 0===h&&(h=D.core.transcodeData(b.getCollatedData(),a,e))):(m=g,h=D.core.transcodeData(b.getCollatedData(),a,g));D.raiseEvent("beforeDataSubmit",{data:h},d,void 0,function(){f?(c.onError=function(a,b,c,
e){r.raiseEvent("dataSubmitError",{xhrObject:b.xhr,url:e,statusText:a,httpStatus:b.xhr&&b.xhr.status?b.xhr.status:-1,data:h},d,[d.id,a,b.xhr&&b.xhr.status])},c.onSuccess=function(a,b,e,g){r.raiseEvent("dataSubmitted",{xhrObject:c,response:a,url:g,data:h},d,[d.id,a])},k={},k["str"+m.toUpperCase()]=h,c.open&&c.abort(),c.post(l,k)):(n=La.document.createElement("span"),n.innerHTML='<form style="display:none" action="'+l+'" method="'+t.formMethod+'" target="'+t.formTarget+'"> <input type="hidden" name="strXML" value="'+
ub(h)+'"><input type="hidden" name="dataFormat" value="'+m.toUpperCase()+'" /></form>',s=n.removeChild(n.firstChild),La.document.body.appendChild(s),s.submit&&s.submit(),s.parentNode.removeChild(s),n=s=null)},function(){D.raiseEvent("dataSubmitCancelled",{data:h},d)})},getDataWithId:function(){for(var b=this.jsVars.instanceAPI.getCollatedData(),d=[[y]],a=b.dataset,b=b.categories&&b.categories[0]&&b.categories[0].category,c=a&&a.length||0,e=0,g,t,l,f,m,h;c--;)if(t=a[c])for(d[0][c+1]=t.id||t.seriesname,
f=t.id||c+1,h=(t=t.data)&&t.length||0,m=0;m<h;m+=1){l=m+1;if(!d[l]){for(g=b&&b[m+e]||{};g.vline;)e+=1,g=b[m+e]||{};g=g.label||g.name||y;d[l]=[g]}g=d[l];l=t[m].id||l+"_"+f;g[c+1]=[l,Number(t[m].value)]}return d},getData:function(b){var d=this.jsVars.instanceAPI.getCollatedData(),a=[[y]],c=d.dataset,e=d.categories&&d.categories[0]&&d.categories[0].category,g=c&&c.length||0,t=0,l,f,m;if(b)a=/^json$/ig.test(b)?d:D.core.transcodeData(d,"json",b);else for(;g--;)if(b=c[g])for(a[0][g+1]=c[g].seriesname,d=
(b=c[g]&&c[g].data)&&b.length||0,m=0;m<d;m+=1){f=m+1;if(!a[f]){for(l=e&&e[m+t]||{};l.vline;)t+=1,l=e[m+t]||{};l=l.label||l.name||y;a[f]=[l]}f=a[f];f[g+1]=Number(b[m].value)}return a},setYAxisLimits:function(b,d){var a=this.jsVars.instanceAPI,c=a.hcJSON,e=a.dataObj,g=e&&e.chart||{},c=c&&c.yAxis&&c.yAxis[0]||!1,t=!1;g.animation=!1;if(!c)return!1;void 0!==b&&b>a.highValue&&b!==c.max?(g.yaxismaxvalue=b,t=!0):(b=a.highValue>c.max?a.highValue:c.max,g.yaxismaxvalue=b);void 0!==d&&d<a.lowValue&&d!==c.min?
(g.yaxisminvalue=d,t=!0):(d=a.lowValue<c.min?a.lowValue:c.min,g.yaxisminvalue=d);t&&a.updateChartWithData(e);return t},getUpperLimit:function(){var b=this.jsVars.instanceAPI.hcJSON;return(b=b.yAxis&&b.yAxis[0])?b.max:void 0},setUpperLimit:function(b){return this.jsVars.fcObj.setYAxisLimits(b,void 0)},getLowerLimit:function(){var b=this.jsVars.instanceAPI.hcJSON;return(b=b.yAxis&&b.yAxis[0])?b.min:void 0},setLowerLimit:function(b){return this.jsVars.fcObj.setYAxisLimits(void 0,b)}},updateChartWithData:function(b){var d=
this.chartInstance,a=d.jsVars,c=b&&b.chart;b=a._reflowData||(a._reflowData={});c={dataObj:{chart:{yaxisminvalue:f(c.yaxisminvalue),yaxismaxvalue:f(c.yaxismaxvalue),animation:c.animation}}};I(b,c,!0);D.hcLib.createChart(d,a.container,a.type)},preSeriesAddition:function(){var b=this,d=b.hcJSON,a=b.dataObj.chart,c=d.chart;b.tooltipSepChar=d[ga].tooltipSepChar;c.allowAxisChange=f(a.allowaxischange,1);c.changeDivWithAxis=1;c.snapToDivOnly=f(a.snaptodivonly,0);c.snapToDiv=c.snapToDivOnly?1:f(a.snaptodiv,
1);c.snapToDivRelaxation=f(a.snaptodivrelaxation,10);c.doNotSnap=f(a.donotsnap,0);c.doNotSnap&&(c.snapToDiv=c.snapToDivOnly=0);c.showRangeError=f(a.showrangeerror,0);f(a.allowaxischange,1)&&(d.callbacks||(d.callbacks=[])).push(function(a){var c=this,d=arguments,l;Eb(a,"destroy",function(){l&&(l=clearTimeout(l))});l=setTimeout(function(){b.drawAxisUpdateUI.apply(c,d);l=null},1)})},getTooltextCreator:function(){var b=arguments;return function(){var d=arguments,a=d.length,c,e,g;for(g=0;g<a;g+=1)void 0!==
(e=d[g])&&void 0!==(c=b[g])&&(b[g]="object"===typeof c?I(c,e):e);return fb.apply(this,b)}},getPointStub:function(b,d,a,c,e,g,t){var l=this.isDual,p=this.dataObj.chart;c=c[ga];var m=null===d?d:c.numberFormatter.dataLabels(d,1===t?!0:!1),q=T(H(h(b.tooltext,e.plottooltext,c.tooltext))),k=c.tooltipSepChar,n=e._sourceDataset;d=f(b.allowdrag,n.allowdrag,1);var n=f(b.allownegativedrag,n.allownegativedrag,e.allownegativedrag,1),s,A,ha,z,x=0,u=0,qa,B;c.showTooltip?void 0!==q?(B=this.getTooltextCreator(q,[1,
2,3,4,5,6,7],{yaxisName:H(l?t?p.syaxisname:p.pyaxisname:p.yaxisname),xaxisName:H(p.xaxisname),formattedValue:m,label:a},b,p,e),e=B(),e===q&&(B=void 0,x=1)):null===m?e=!1:(c.seriesNameInToolTip&&(z=O(e&&e.seriesname)),e=z?z+k:y,qa=e+=a?a+k:y,c.showPercentInToolTip?s=!0:e+=m):e=!1;f(b.showvalue,g)?void 0!==T(b.displayvalue)?(ha=H(b.displayvalue),u=1):c.showPercentValues?A=!0:ha=m:ha=y;b=h(b.link);return{displayValue:ha,categoryLabel:a,toolText:e,link:b,showPercentValues:A,showPercentInToolTip:s,allowDrag:d,
allowNegDrag:n,_toolTextStr:qa,_isUserValue:u,_isUserTooltip:x,_getTooltext:B}}};w("dragnode",{friendlyName:"Dragable Node Chart",standaloneInit:!0,decimals:2,numdivlines:0,numVDivLines:0,defaultZeroPlaneHighlighted:!1,defaultZeroPlaneHidden:!0,spaceManager:ab.spaceManager,drawButtons:ab.drawButtons,updateChartWithData:ab.updateChartWithData,creditLabel:Ha,canvasPaddingModifiers:null,defaultSeriesType:"dragnode",rendererId:"dragnode",tooltipsepchar:" - ",showAxisLimitGridLines:0,cleanedData:function(b,
d){var a=b&&b.hcJSON,c=d&&d.hcJSON,e,g,t,l,f,m,h,k,n;if(a&&c){if(a.series&&c.series&&(f=c.series.length))for(k=0;k<f;k+=1)if(g=c.series[k],e=a.series[k],g.data&&(m=g.data.length))for(n=0;n<m;n+=1)!0===g.data[n]&&e&&e.data&&e.data[n]&&(delete e.data[n],e.data[n]={y:null});if(a.connectors&&c.connectors&&(t=c.connectors.length))for(k=0;k<t;k+=1)if(g=c.connectors[k],e=a.connectors[k],g.connector&&(h=g.connector.length))for(n=0;n<h;n+=1)!0===g.connector[n]&&e&&e.connector&&e.connector[n]&&(delete e.connector[n],
e.connector[n]={});if(a.dragableLabels&&c.dragableLabels&&(l=c.dragableLabels.length))for(k=0;k<l;k+=1)!0===c.dragableLabels[k]&&a.dragableLabels[k]&&(delete a.dragableLabels[k],a.dragableLabels[k]={})}},eiMethods:I(cb(w.scatterbase.eiMethods,ab.eiMethods),{addNode:function(b){var d=this.jsVars,a=d.instanceAPI,c=d._reflowData||(d._reflowData={}),e=a.hcJSON,g=a.numberFormatter,a=h(b.datasetId),t=g.getCleanValue(b.y),g=g.getCleanValue(b.x),l=!1,f=e.series,m=f.length,q=e.xAxis.min,k=e.xAxis.max,n=e.yAxis[0].min,
s=e.yAxis[0].max,e={hcJSON:{series:[]}},A=e.hcJSON.series,ha;if(void 0!==a&&null!==t&&t>=n&&t<=s&&null!==g&&g>=q&&g<=k){for(q=0;q<m&&!l;q+=1)a==f[q].id&&(A[q]={data:[]},l=!0,ha=f[q],n=ha.data,k=n.length,n.push(n=ha._dataParser(b,k,g,t)),A[q].data[k]=n,I(c,e,!0),ha={index:k,dataIndex:k,link:b.link,y:b.y,x:b.x,shape:b.shape,width:b.width,height:b.height,radius:b.radius,sides:b.sides,label:b.name,toolText:b.tooltext,id:b.id,datasetIndex:q,datasetName:ha.name,sourceType:"dataplot"});if(l)return Ya(d,
ha,"nodeadded"),D.raiseEvent("nodeadded",ha,d.fcObj),!0}return!1},getNodeAttribute:function(b){var d=this.jsVars,a=d.instanceAPI,d=d._reflowData||(d._reflowData={}),d=d.hcJSON&&d.hcJSON.series||[],a=a.hcJSON.series,c=a.length,e,g,t,l;if(void 0!==b)for(e=0;e<c;e+=1)for(g=a[e],l=g.data,t=l.length,g=0;g<t;g+=1)if(l[g].id===b)return d[e]&&d[e].data&&d[e].data[g]?I(l[g]._options,d[e].data[g]._options,!0):l[g]._options;return!1},setNodeAttribute:function(b,d,a){var c=this.jsVars,e=c.instanceAPI,g=c._reflowData||
(c._reflowData={}),t=e.hcJSON,l=e.numberFormatter,f=t.series,m=f.length,h=t.xAxis.min,k=t.xAxis.max,n=t.yAxis[0].min,s=t.yAxis[0].max,t={hcJSON:{series:[]}},e=t.hcJSON.series,A=g.hcJSON&&g.hcJSON.series||[],ha,z,x,u;"object"===typeof d&&void 0===a?u=d:(u={},u[d]=a);if(void 0!==b)for(d=0;d<m;d+=1)for(ha=f[d],z=ha.data,x=z.length,a=0;a<x;a+=1)if(b===z[a].id)return b=z[a],delete u.id,A[d]&&A[d].data&&A[d].data[a]&&A[d].data[a]._options&&(u=I(A[d].data[a]._options,u,!0)),u=I(b._options,u,!0),b=l.getCleanValue(u.y),
l=l.getCleanValue(u.x),null!==b&&b>=n&&b<=s&&null!==l&&l>=h&&l<=k?(e[d]={data:[]},h=ha._dataParser(u,a,l,b),k={index:a,dataIndex:a,link:u.link,y:u.y,x:u.x,shape:u.shape,width:u.width,height:u.height,radius:u.radius,sides:u.sides,label:u.name,toolText:u.tooltext,id:u.id,datasetIndex:d,datasetName:ha.name,sourceType:"dataplot"},e[d].data[a]=h,I(g,t,!0),Ya(c,k,"nodeupdated"),D.raiseEvent("nodeupdated",k,c.fcObj),!0):!1;return!1},deleteNode:function(b){if(void 0!==b){var d=this.jsVars,a=d.instanceAPI,
c=d._reflowClean||(d._reflowClean={}),e=a.hcJSON.series,g={hcJSON:{series:[]}},t,l,f,m,h;if(e&&(f=e.length))for(m=0;m<f;m+=1)if((a=e[m])&&(l=a.data)&&(t=l.length))for(h=0;h<t;h+=1)if(b===l[h].id)return g.hcJSON.series[m]={data:[]},g.hcJSON.series[m].data[h]=!0,I(c,g,!0),b=l[h],b={index:h,dataIndex:h,link:b.link,y:b.y,x:b.x,shape:b._options.shape,width:b._options.width,height:b._options.height,radius:b._options.radius,sides:b._options.sides,label:b.displayValue,toolText:b.toolText,id:b.id,datasetIndex:m,
datasetName:a.name,sourceType:"dataplot"},Ya(d,b,"nodedeleted"),D.raiseEvent("nodedeleted",b,d.fcObj),!0}return!1},addConnector:function(b){if("object"===typeof b){var d=this.jsVars,a=d.instanceAPI,c=d._reflowData||(d._reflowData={}),a=a.hcJSON,e=a.connectors&&a.connectors[0]||{connector:[]},a=e.connector.length,g={hcJSON:{connectors:[{connector:[]}]}};b=e._connectorParser&&e._connectorParser(b,a);e={arrowAtEnd:b.arrowAtEnd,arrowAtStart:b.arrowAtStart,fromNodeId:b.from,id:b.id,label:b.label,link:b.connectorLink,
sourceType:"connector",toNodeId:b.to};g.hcJSON.connectors[0].connector[a]=b;I(c,g,!0);Ya(d,e,"connectoradded");D.raiseEvent("connectoradded",e,d.fcObj);return!0}return!1},editConnector:function(b,d,a){var c=this.jsVars,e=c.instanceAPI,g=c._reflowData||(c._reflowData={}),e=e.hcJSON,t=e.connectors||(e.connectors=[]),l=t.length,e={hcJSON:{connectors:[]}},f=e.hcJSON.connectors,m,h,k,n;"object"===typeof d&&void 0===a?n=d:(n={},n[d]=a);if(void 0!==b)for(d=0;d<l;d+=1)if((h=t[d])&&(m=h.connector))for(k=m.length,
a=0;a<k;a+=1)if(b===m[a].id)return m=m[a],delete n.id,g.hcJSON&&g.hcJSON.connectors&&g.hcJSON.connectors[d]&&g.hcJSON.connectors[d].connector&&g.hcJSON.connectors[d].connector[a]&&g.hcJSON.connectors[d].connector[a]._options&&(n=I(g.hcJSON.connectors[d].connector[a]._options,n,!0)),n=I(m._options,n,!0),b={arrowAtEnd:Boolean(n.arrowatend),arrowAtStart:Boolean(n.arrowatstart),fromNodeId:n.from,id:b,label:n.label,link:n.link,sourceType:"connector",toNodeId:n.to},f[d]={connector:[]},m=h._connectorParser(n,
a),f[d].connector[a]=m,I(g,e,!0),Ya(c,b,"connectorupdated"),D.raiseEvent("connectorupdated",b,c.fcObj),!0;return!1},deleteConnector:function(b){if(void 0!==b){var d=this.jsVars,a=d.instanceAPI,c=d._reflowClean||(d._reflowClean={}),e=a.hcJSON.connectors,a={hcJSON:{connectors:[]}},g,t,l,f,m,h={};if(e&&(f=e.length))for(m=0;m<f;m+=1)if((g=e[m])&&(l=g.connector)&&(t=l.length))for(g=0;g<t;g+=1)if(b===l[g].id)return b=l[g],h={arrowAtEnd:b.arrowAtEnd,arrowAtStart:b.arrowAtStart,fromNodeId:b.from,id:b.id,
label:b.label,link:b.connectorLink,sourceType:"connector",toNodeId:b.to},a.hcJSON.connectors[m]={connector:[]},a.hcJSON.connectors[m].connector[g]=!0,I(c,a,!0),Ya(d,h,"connectordeleted"),D.raiseEvent("connectordeleted",h,d.fcObj),!0}return!1},addLabel:function(b){if(b){var d=this.jsVars,a=d.instanceAPI,c=d._reflowData||(d._reflowData={}),e={hcJSON:{dragableLabels:[]}};e.hcJSON.dragableLabels[(a.hcJSON.dragableLabels||[]).length]=b;I(c,e,!0);b={text:b.text,x:b.x,y:b.y,allowdrag:b.allowdrag,sourceType:"labelnode",
link:b.link};Ya(d,b,"labeladded");D.raiseEvent("labeladded",b,d.fcObj);return!0}return!1},deleteLabel:function(b,d){var a=this.jsVars,c=a.instanceAPI,e=a._reflowClean||(a._reflowClean={}),g={hcJSON:{dragableLabels:[]}};return b<(c.hcJSON.dragableLabels||[]).length?(g.hcJSON.dragableLabels[b]=!0,I(e,g,!0),Ya(a,d,"labeldeleted"),D.raiseEvent("labeldeleted",d,a.fcObj),!0):!1},setThreshold:function(b){var d=this.jsVars.hcObj.connectorsStore||[],a=d.length,c,e;for(e=0;e<a;e+=1)(c=d[e])&&c.options&&(c.options.conStrength<
b?(c.graphic&&c.graphic.hide(),c.text&&(c.text.hide(),c.text.textBoundWrapper&&c.text.textBoundWrapper.hide())):(c.graphic&&c.graphic.show(),c.text&&(c.text.show(),c.text.textBoundWrapper&&c.text.textBoundWrapper.show())))}}),getCollatedData:function(){var b=this.chartInstance,d=b.__state,a=b.jsVars,b=this.updatedDataObj||I({},b.getChartData(D.dataFormats.JSON)),c=a._reflowData,e=a._reflowClean,a=(b.labels||(b.labels={label:[]}))&&(b.labels.label||(b.labels.label=[])),g=c&&c.hcJSON&&c.hcJSON.dragableLabels,
t=e&&e.hcJSON&&e.hcJSON.dragableLabels,l=b.connectors,f=c&&c.hcJSON&&c.hcJSON.connectors,h=e&&e.hcJSON&&e.hcJSON.connectors,q=b.dataset,k=c&&c.hcJSON&&c.hcJSON.series,c=e&&e.hcJSON&&e.hcJSON.series,e=k&&k.length,n,s,A,ha;if(void 0!==d.hasStaleData&&!d.hasStaleData&&this.updatedDataObj)return this.updatedDataObj;if(q&&k)for(;e--;)if(s=q[e]&&q[e].data,(n=(A=k[e]&&k[e].data)&&A.length)&&s)for(;n--;)if(ha=A[n])s[n]?I(s[n],ha._options):s[n]=ha._options;if(e=f&&f.length)for(b.connectors||(l=b.connectors=
[{connector:[]}]);e--;)if(k=l[e]&&l[e].connector,(n=(s=f[e]&&f[e].connector)&&s.length)&&k)for(;n--;)if(A=s[n])k[n]?I(k[n],A._options):k[n]=A._options;if((e=g&&g.length)&&g)for(;e--;)g[e]&&(a[e]=g[e]);hb(q,c);hb(l,h);hb(a,t);d.hasStaleData=!1;return this.updatedDataObj=b},createHtmlDialog:function(b,d,a,c,e,g){var t=b.paper,f=this.hcJSON[ga].inCanvasStyle,h=b.chartWidth,m=b.chartHeight,q={color:f.color,textAlign:"center",paddingTop:"1px",border:"1px solid #cccccc",borderRadius:"4px",cursor:"pointer",
_cursor:"hand",backgroundColor:"#ffffff",zIndex:21,"-webkit-border-radius":"4px"},k;k=t.html("div",{fill:"transparent",width:h,height:m},{fontSize:"10px",lineHeight:"15px",fontFamily:f.fontFamily},b.container);k.veil=t.html("div",{fill:"000000",width:h,height:m,opacity:0.3},void 0,k);k.dialog=t.html("div",{x:(h-d)/2,y:(m-a)/2,fill:"efefef",strokeWidth:1,stroke:"000000",width:d,height:a},{borderRadius:"5px",boxShadow:"1px 1px 3px #000000","-webkit-border-radius":"5px","-webkit-box-shadow":"1px 1px 3px #000000",
filter:'progid:DXImageTransform.Microsoft.Shadow(Strength=4, Direction=135, Color="#000000")'},k);k.ok=t.html("div",{x:d-70-5,y:a-23-5,width:65,height:17,text:"Submit",tabIndex:1},q,k.dialog).on("click",c);k.cancel=t.html("div",{x:d-140-5,y:a-23-5,width:65,height:17,text:"Cancel",tabIndex:2},q,k.dialog).on("click",e);k.remove=t.html("div",{x:d-210-5,y:a-23-5,width:65,height:17,text:"Delete",tabIndex:3,visibility:"hidden"},q,k.dialog).on("click",g);k.handleKeyPress=function(a){13===a.keyCode?k.ok.trigger(lb?
"touchStart":"click",a):27===a.keyCode&&k.cancel.trigger(lb?"touchStart":"click",a)};k.hide();return k},nodeUpdateUIDefinition:[{key:"id",text:"Id",inputWidth:60,x:10,y:15},{key:"dataset",text:"Dataset",inputType:"select",inputWidth:110,innerHTML:void 0,x:170,y:15},{key:"x",text:"Value",x:10,y:40,inputWidth:21},{key:"y",text:",",x:88,y:40,inputWidth:21,labelWidth:5},{text:"(x, y)",x:125,y:40,labelWidth:33,noInput:!0},{key:"tooltip",text:"Tooltip",inputWidth:105,x:170,y:40},{key:"label",text:"Label",
inputWidth:92,x:10,y:65},{key:"labelalign",text:"Align",labelWidth:70,inputWidth:110,inputType:"select",innerHTML:'<option></option><option value="top">Top</option><option value="middle">Middle</option><option value="bottom">Bottom</option>',x:145,y:63},{key:"color",text:"Color",x:10,y:90,inputWidth:60},{key:"colorOut",innerHTML:"&nbsp;",x:85,y:90,inputWidth:15,inputType:"span"},{key:"alpha",text:"Alpha",x:170,y:90,inputWidth:20},{key:"draggable",text:"Allow Drag",value:!0,inputWidth:20,x:250,y:90,
labelWidth:58,inputPaddingTop:3,type:"checkbox"},{key:"shape",text:"Shape",inputType:"select",inputWidth:97,innerHTML:'<option value="rect">Rectangle</option><option value="circ">Circle</option><option value="poly">Polygon</option>',x:10,y:115},{key:"rectHeight",text:"Height",x:170,y:115,inputWidth:20},{key:"rectWidth",text:"Width",x:255,y:115,inputWidth:20},{key:"circPolyRadius",text:"Radius",x:170,y:115,inputWidth:20},{key:"polySides",text:"Sides",x:255,y:115,inputWidth:20},{key:"link",text:"Link",
x:10,y:140,inputWidth:92},{key:"image",text:"Image",type:"checkbox",inputPaddingTop:4,inputWidth:20,x:10,y:170},{key:"imgUrl",text:"URL",inputWidth:105,x:170,y:170},{key:"imgWidth",text:"Width",inputWidth:20,x:10,y:195},{key:"imgHeight",text:"Height",inputWidth:20,x:82,y:195},{key:"imgAlign",text:"Align",inputType:"select",inputWidth:75,innerHTML:'<option value="top">Top</option><option value="middle">Middle</option><option value="bottom">Bottom</option>',x:170,y:195}],showNodeUpdateUI:function(){var b=
function(a){a=a.cacheUpdateUI;for(var b=a.fields.shape,d=["rectWidth","rectHeight","circPolyRadius","polySides"],t=d.length,f;t--;)f=d[t],/rect|poly|circ/ig.test(f)&&(a.labels[f].hide(),a.fields[f].hide()),RegExp(h(b.val(),"rect"),"ig").test(f)&&(a.labels[f].show(),a.fields[f].show())},d=function(a){a=a.cacheUpdateUI.fields;var b=Za(a.color.val());b&&a.colorOut.css({background:Ob(b)})},a=function(a,b){var d=a.cacheUpdateUI,t=a.chartHeight,f=d.fields.image.val(),h=b?300:0,m=["imgWidth","imgHeight",
"imgAlign","imgUrl"],q,k,n;q=f?250:215;d.ok.hide();d.cancel.hide();d.remove.hide();d.error.hide();for(k=m.length;!f&&k--;)n=m[k],d.labels[n].hide(),d.fields[n].hide();r.danimate.animate(d.dialog.element,{top:(t-q)/2,height:q},h,"linear",function(){for(k=m.length;k--&&f;)n=m[k],d.labels[n].show(),d.fields[n].show();d.ok.attr({y:q-23-5}).show();d.cancel.attr({y:q-23-5}).show();d.remove.attr({y:q-23-5});d.error.attr({y:q-23-5+4}).show();d.edit?d.remove.show():d.remove.hide()})};return function(c,e,g){var f=
this,l=c.cacheUpdateUI,h=c.paper,m={width:"80px",border:"1px solid #cccccc",fontSize:"10px",lineHeight:"15px",padding:"2px",fontFamily:f.hcJSON[ga].inCanvasStyle.fontFamily},q=0,k={textAlign:"right"},n=l&&l.fields,s=l&&l.labels,A;l||(l=c.cacheUpdateUI=f.createHtmlDialog(c,350,215,function(){var a=l&&l.fields,b=l.edit,c=f.chartInstance,d=f.hcJSON,e,g,k,h,m,n,p;if(!d)return!1;e=d.xAxis.min;g=d.yAxis[0].min;d=d.series;k=d.length;if(a){switch(a.shape.val()){case "circ":m="circle";break;case "poly":m=
"polygon";break;default:m="rectangle"}p={x:O(a.x.val(),e),y:O(a.y.val(),g),id:e=a.id.val(),datasetId:a.dataset.val(),name:a.label.val(),tooltext:a.tooltip.val(),color:a.color.val(),alpha:a.alpha.val(),labelalign:a.labelalign.val(),allowdrag:a.draggable.val(),shape:m,width:a.rectWidth.val(),height:a.rectHeight.val(),radius:a.circPolyRadius.val(),numsides:a.polySides.val(),imagenode:a.image.val(),imagewidth:a.imgWidth.val(),imageheight:a.imgHeight.val(),imagealign:a.imgAlign.val(),imageurl:a.imgUrl.val(),
link:a.link.val()};if(void 0!==e&&!b)for(q=0;q<k&&!h;q+=1)for(m=d[q].data,n=m.length,g=0;g<n;g+=1)e===m[g].id&&(h=!0);if(h)l.error.attr({text:"ID already exist."}),a.label.focus();else{b?c&&c.setNodeAttribute&&c.setNodeAttribute(p.id,p):c&&c.addNode&&c.addNode(p);return}}l.enableFields()},function(){l.hide();l.enableFields();l.error.attr({text:y})},function(){f.chartInstance.deleteNode&&f.chartInstance.deleteNode(l.fields.id.val())}),A=l.dialog,s=l.labels={},n=l.fields={});l.config=e;l.edit=g;l.error||
(l.error=h.html("span",{color:"ff0000",x:30,y:228},void 0,A));l.enableFields||(l.enableFields=function(){for(var a in e)e[a]&&e[a].disabled&&n[a]&&n[a].element.removeAttribute("disabled")});gb(this.nodeUpdateUIDefinition,function(g){var f,t=g.key,q={},qa=e[t]||{},B,r;!s[t]&&(s[t]=h.html("label",{x:g.x,y:g.y,width:g.labelWidth||45,text:g.text},k,A));if(!g.noInput){f=n[t];if(!f){m.border="checkbox"==g.type?y:"1px solid #cccccc";f=n[t]=h.html(g.inputType||"input",{x:g.labelWidth&&g.labelWidth+5||50,
y:-2+(g.inputPaddingTop||0),width:g.inputWidth||50},m);if("select"!==g.inputType)f.attr({type:g.type||"text"}).on("keyup",l.handleKeyPress);f.add(s[t])}ma(B=O(qa.innerHTML,g.innerHTML))&&(q.innerHTML=B);qa.disabled&&(q.disabled="disabled");f.attr(q);ma(r=O(qa.value,g.value))&&f.val(r);"shape"==t&&f.on("change",function(){b(c)});"image"==t&&f.on("click",function(){a(c,!0)});"color"==t&&f.on("keyup",function(){d(c)})}});d(c);a(c);b(c);c.options.chart.animation?l.fadeIn("fast"):l.show();l.fields[g?"label":
"id"].focus()}}(),labelUpdateUIDefinition:[{key:"label",text:"Label*",x:10,y:15,inputWidth:235},{key:"size",text:"Size",x:10,y:40},{key:"padding",text:"Padding",x:10,y:65},{key:"x",text:"Position",x:120,y:65,labelWidth:70,inputWidth:25},{key:"y",text:",",x:225,y:65,labelWidth:10,inputWidth:25},{key:"xy",text:"(x, y)",x:260,y:65,noInput:!0},{key:"allowdrag",text:"Allow Drag",x:120,y:40,inputType:"checkbox",inputPaddingTop:3,inputWidth:15,labelWidth:70,val:1},{key:"color",text:"Color",x:10,y:90},{key:"alpha",
text:"Alpha",x:145,y:90,inputWidth:30,val:"100"},{key:"bordercolor",text:"Border Color",x:10,y:125,labelWidth:100},{key:"bgcolor",text:"Background Color",x:10,y:150,labelWidth:100}],showLabelUpdateUI:function(b,d){var a=this,c=b.paper,e=b.cacheLabelUpdateUI,g={border:"1px solid #cccccc",fontSize:"10px",lineHeight:"15px",fontFamily:a.hcJSON[ga].inCanvasStyle.fontFamily,padding:"2px"},f={textAlign:"right"},l=e&&e.fields,p=e&&e.labels,m,q,k;e||(e=b.cacheLabelUpdateUI=a.createHtmlDialog(b,315,205,function(){var b=
e&&e.fields,c;b&&(c={text:b.label.val(),x:b.x.val(),y:b.y.val(),color:b.color.val(),alpha:b.alpha.val(),bgcolor:b.bgcolor.val(),bordercolor:b.bordercolor.val(),fontsize:b.size.val(),allowdrag:b.allowdrag.val(),padding:b.padding.val()},c.text?a.chartInstance&&a.chartInstance.addLabel&&a.chartInstance.addLabel(c):(e.error.attr({text:"Label cannot be blank."}),b.label.focus()))},function(){e.error.attr({text:""});e.hide()}),k=e.dialog,p=e.labels={},l=e.fields={});gb(a.labelUpdateUIDefinition,function(a){var b=
a.key;p[b]||(p[b]=c.html("label",{x:a.x,y:a.y,width:a.labelWidth||45,text:a.text},f,k));a.noInput||((m=l[b])||(m=l[b]=c.html("input",{y:-2+(a.inputPaddingTop||0),x:a.labelWidth&&a.labelWidth+5||50,width:a.inputWidth||50,type:a.inputType||"text"},g,p[b]).on("keyup",e.handleKeyPress)),void 0!==(q=h(d[b],a.val))&&m.val(q))});e.error||(e.error=c.html("span",{color:"ff0000",x:10,y:180},void 0,k));b.animation?e.fadeIn("fast"):e.show();e.fields.label.focus()},showLabelDeleteUI:function(b,d){var a=this,c=
b.paper,e=b["cache-label-delete-ui"],g=d.data&&d.data("data")||{},f=d.data&&d.data("eventArgs"),g=g&&g.labelNode;e||(e=b["cache-label-delete-ui"]=a.createHtmlDialog(b,250,100,void 0,function(){e.hide()},function(){a.chartInstance.deleteLabel(g.index,f)}),e.message=c.html("span",{x:10,y:10,width:230,height:80}).add(e.dialog),e.ok.hide(),e.remove.translate(175).show());e.message.attr({text:'Would you really like to delete the label: "'+g.text+'"?'});b.animation?e.fadeIn("fast"):e.show()},connectorUpdateUIDefinition:[{key:"fromid",
text:"Connect From",inputType:"select",x:10,y:15,labelWidth:80,inputWidth:100},{key:"toid",text:"Connect To",inputType:"select",x:10,y:40,labelWidth:80,inputWidth:100},{key:"arratstart",text:"Arrow At Start",x:200,y:15,type:"checkbox",inputPaddingTop:3,labelWidth:80,inputWidth:15},{key:"arratend",text:"Arrow At End",x:200,y:40,type:"checkbox",inputPaddingTop:3,labelWidth:80,inputWidth:15},{key:"label",text:"Label",x:10,y:75,labelWidth:40,inputWidth:120},{key:"id",text:"Node ID",x:190,y:75,inputWidth:55},
{key:"color",text:"Color",x:10,y:100,labelWidth:40,inputWidth:35},{key:"alpha",text:"Alpha",x:110,y:100,inputWidth:25,labelWidth:35},{key:"strength",text:"Strength",x:190,y:100,inputWidth:55,val:"0.1"},{key:"url",text:"Link",x:10,y:125,labelWidth:40,inputWidth:120},{key:"tooltext",text:"Tooltip",x:190,y:125,labelWidth:40,inputWidth:60},{key:"dashed",text:"Dashed",x:10,y:150,type:"checkbox",inputPaddingTop:3,inputWidth:15,labelWidth:40},{key:"dashgap",text:"Dash Gap",x:85,y:150,labelWidth:60,inputWidth:25},
{key:"dashlen",text:"Dash Length",x:190,y:150,labelWidth:70,inputWidth:30}],showConnectorUpdateUI:function(b,d,a){var c=this.chartInstance,e=b.paper,g=b.cacheConnectorUpdateUI,f={border:"1px solid #cccccc",fontSize:"10px",lineHeight:"15px",fontFamily:this.hcJSON[ga].inCanvasStyle.fontFamily,padding:"2px"},l={textAlign:"right"},p=g&&g.fields,m=g&&g.labels,q,k,n,s;g||(g=b.cacheConnectorUpdateUI=this.createHtmlDialog(b,315,215,function(){var b=g&&g.fields,d;b&&(d={from:b.fromid.val(),to:b.toid.val(),
id:b.id.val(),label:b.label.val(),color:b.color.val(),alpha:b.alpha.val(),link:b.url.val(),tooltext:b.tooltext.val(),strength:b.strength.val(),arrowatstart:b.arratstart.val(),arrowatend:b.arratend.val(),dashed:b.dashed.val(),dashlen:b.dashlen.val(),dashgap:b.dashgap.val()},d.from?d.to?d.from!=d.to?(a?c.editConnector(d.id,d):c.addConnector(d),g.enableFields()):(g.error.attr({text:"Connector cannot start and end at the same node!"}),b.fromid.focus()):(g.error.attr({text:"Please select a valid connector end."}),
b.toid.focus()):(g.error.attr({text:"Please select a valid connector start."}),b.fromid.focus()))},function(){g.error.attr({text:""});g.enableFields();g.hide()},function(){c.deleteConnector(g.fields.id.val())}),s=g.dialog,m=g.labels={},p=g.fields={});g.config=d;g.enableFields=function(){for(var a in d)d[a]&&d[a].disabled&&p[a]&&p[a].element.removeAttribute("disabled")};gb(this.connectorUpdateUIDefinition,function(a){var b=a.key,c=d[b]||{};m[b]||(m[b]=e.html("label",{x:a.x,y:a.y,width:a.labelWidth||
45,text:a.text},l,s));if(!a.noInput){if(!(k=p[b])){k=p[b]=e.html(a.inputType||"input",{y:-2+(a.inputPaddingTop||0),x:a.labelWidth&&a.labelWidth+5||50,width:a.inputWidth||50},f);if("select"!==a.inputType)k.attr({type:a.type||"text"}).on("keyup",g.handleKeyPress);k.add(m[b])}(q=h(c.innerHTML,a.innerHTML))&&k.attr({innerHTML:q});void 0!==(n=h(c.val,a.val))&&k.val(n);c.disabled&&k.attr({disabled:"disabled"})}});g.checkDash=function(){var a=p.dashed&&p.dashed.val()?"show":"hide";m.dashgap&&m.dashgap[a]();
p.dashgap&&p.dashgap[a]();m.dashlen&&m.dashlen[a]();p.dashlen&&p.dashlen[a]()};g.checkDash();p.dashed.on("click",g.checkDash);g.error||(g.error=e.html("span",{color:"ff0000",x:10,y:170},void 0,s));g.remove[a?"show":"hide"]();b.animation?g.fadeIn("fast"):g.show()},drawNodeUpdateButtons:function(){var b=this,d=b.logic,a=b.options,c=a.chart,e=a.pointStore||{},g=a.series,a=(a=a[ga])&&a.outCanvasStyle||b.outCanvasStyle||{},f=b.menu||(b.menu=[]),l=b.toolbar,h=g.length,m="",q="",k,n;for(n in e)m+='<option value="'+
n+'">'+n+"</option>";for(n=0;n<h;n+=1)e=g[n],q+='<option value="'+e.id+'">'+(e.name!==y&&void 0!==e.name&&e.name+Ga+" "||y)+e.id+"</option>";f.push(k=Sb({chart:b,basicStyle:a,items:[{text:"Add a Node",onclick:function(){d.showNodeUpdateUI(b,{dataset:{innerHTML:q}})}},{text:"Add a Label",onclick:function(){d.showLabelUpdateUI(b,{})}},{text:"Add a Connector",onclick:function(){d.showConnectorUpdateUI(b,{fromid:{innerHTML:m},toid:{innerHTML:m}})}}],position:{x:c.spacingLeft,y:b.chartHeight-c.spacingBottom+
(c.showFormBtn||c.showRestoreBtn?10:-15)}}));b.elements.configureButton=l.add("configureIcon",function(a,b){return function(){k.visible?k.hide():k.show({x:a,y:b+1})}}(),{x:c.spacingLeft,y:b.chartHeight-c.spacingBottom+(c.showFormBtn||c.showRestoreBtn?10:-15),tooltip:"Add or edit items"})},postSeriesAddition:function(){var b=this.hcJSON,d=this.dataObj.chart,a=this.base.postSeriesAddition&&this.base.postSeriesAddition.apply(this,arguments);b.legend.enabled="1"==d.showlegend?!0:!1;(b.chart.viewMode=
f(d.viewmode,0))||(b.callbacks||(b.callbacks=[])).push(this.drawNodeUpdateButtons);return a},pointHoverOptions:function(b,d,a,c){var e=f(b.showhovereffect,d.showhovereffect,a.plothovereffect,a.showhovereffect),g={},t=!!h(b.hovercolor,d.hovercolor,a.plotfillhovercolor,b.hoveralpha,d.hoveralpha,a.plotfillhoveralpha,b.borderhovercolor,d.borderhovercolor,a.plotborderhovercolor,b.borderhoveralpha,d.borderhoveralpha,a.plotborderhoveralpha,b.borderhoverthickness,d.borderhoverthickness,a.plotborderhoverthickness,
b.hoverheight,d.hoverheight,a.plothoverheight,b.hoverwidth,d.hoverwidth,a.plothoverwidth,b.hoverradius,d.hoverradius,a.plothoverradius,e),l=!1;if(void 0===e&&t||e)l=!0,e=h(b.hovercolor,d.hovercolor,a.plotfillhovercolor,M(c.color,70)),t=h(b.hoveralpha,d.hoveralpha,a.plotfillhoveralpha,c.alpha),g={stroke:E(h(b.borderhovercolor,d.borderhovercolor,a.plotborderhovercolor,c.borderColor),f(b.borderhoveralpha,d.borderhoveralpha,a.plotborderhoveralpha,t,c.borderAlpha)),"stroke-width":f(b.borderhoverthickness,
d.borderhoverthickness,a.plotborderhoverthickness,c.borderThickness),height:f(b.hoverheight,d.hoverheight,a.plothoverheight,c.height),width:f(b.hoverwidth,d.hoverwidth,a.plothoverwidth,c.width),r:f(b.hoverradius,d.hoverradius,a.plothoverradius,c.radius)},b=c.use3D?this.getPointColor($(h(b.hovercolor,d.hovercolor,a.plotfillhovercolor,M(c.color,70))),h(b.hoveralpha,d.hoveralpha,a.plotfillhoveralpha,c.alpha),c.shapeType):E(e,t),g.fill=G(b);return{enabled:l,rolloverProperties:g}},point:function(b,d,a,
c,e,g,t){var l=this;b=f(c.ignoreemptydatasets,0);var p=l.numberFormatter,m=(g=a.data)&&g.length,q=f(a.showvalues,e[ga].showValues),k=f(c.useroundedges),n=!1,s=l.colorManager,A,ha,z,x,u,qa,B,r,fa,F,v,J,U,L;d.zIndex=1;d.name=T(a.seriesname);qa=d.id=h(a.id,t);if(b&&!a.data)return d.showInLegend=!1,d;if(0===f(a.includeinlegend)||void 0===d.name)d.showInLegend=!1;ha=h(c.plotfillalpha,"100");z=f(c.showplotborder,1);t=$(h(c.plotbordercolor,"666666"));A=f(c.plotborderthickness,k?2:1);x=h(c.plotborderalpha,
c.plotfillalpha,k?"35":"95");u=Boolean(f(c.use3dlighting,c.is3d,k?1:0));B=$(h(a.color,s.getPlotColor()));r=h(a.plotfillalpha,a.nodeFillAlpha,a.alpha,ha);k=Boolean(f(a.showplotborder,z));fa=$(h(a.plotbordercolor,a.nodebordercolor,t));F=f(a.plotborderthickness,a.nodeborderthickness,A);v=k?h(a.plotborderalpha,a.nodeborderalpha,a.alpha,x):"0";J=Boolean(f(a.allowdrag,1));d.marker={enabled:!0,fillColor:E(B,r),lineColor:{FCcolor:{color:fa,alpha:v}},lineWidth:F,symbol:"poly_4"};x=d._dataParser=function(b,
d,g,t){d=h(b.id,qa+"_"+d);var k=Boolean(f(b.allowdrag,J)),m=T(b.shape,"rectangle").toLowerCase(),n=T(b.height,10),s=T(b.width,10),A=T(b.radius,10),x=T(b.numsides,4),z=$(h(b.color,B)),ha=h(b.alpha,r),w=T(b.imageurl),G=Boolean(f(b.imagenode));switch(m){case "circle":L=0;break;case "polygon":L=2;m=ca(x);break;default:L=1}U=u?l.getPointColor(z,ha,L):E(z,ha);x=l.pointHoverOptions(b,a,c,{plotType:"funnel",shapeType:L,use3D:u,height:n,width:s,radius:A,color:z,alpha:ha,borderColor:fa,borderAlpha:v,borderThickness:F});
return I(l.getPointStub(b,t,p.xAxis(g),e,a,q),{hoverEffects:x,_options:b,y:t,x:g,id:d,imageNode:G,imageURL:w,imageAlign:T(b.imagealign,y).toLowerCase(),imageWidth:T(b.imagewidth),imageHeight:T(b.imageheight),labelAlign:h(b.labelalign,G&&ma(w)?Fa:"middle"),allowDrag:k,marker:{enabled:!0,fillColor:U,lineColor:{FCcolor:{color:fa,alpha:v}},lineWidth:F,radius:A,height:n,width:s,symbol:m},tooltipConstraint:l.tooltipConstraint})};for(t=0;t<m;t+=1)if(A=g[t])k=p.getCleanValue(A.y),s=p.getCleanValue(A.x),null===
k?d.data.push({_options:A,y:null}):(n=!0,d.data.push(x(A,t,s,k)),this.pointValueWatcher(e,k,s));b&&!n&&(d.showInLegend=!1);return d},getPointColor:function(b,d,a){var c;b=$(b);d=db(d);c=M(b,80);b=ja(b,65);d={FCcolor:{gradientUnits:"objectBoundingBox",color:c+","+b,alpha:d+","+d,ratio:yc}};a?d.FCcolor.angle=1===a?0:180:(d.FCcolor.cx=0.4,d.FCcolor.cy=0.4,d.FCcolor.r="50%",d.FCcolor.radialGradient=!0);return d},getPointStub:function(b,d,a,c,e){var g=this.dataObj.chart,f=c[ga],l=null===d?d:f.numberFormatter.dataLabels(d),
p=T(H(h(b.tooltext,e.plottooltext,f.tooltext))),m=this.tooltipSepChar=f.tooltipSepChar,q=h(b.label,b.name);d=H(q);var k;c=y;var n=!1;f.showTooltip?void 0!==p?(n=!0,e=fb(p,[3,4,5,6,8,9,10,11],{yaxisName:H(g.yaxisname),xaxisName:H(g.xaxisname),yDataValue:l,xDataValue:a,label:d},b,g,e)):void 0!==q?(e=d,n=!0):null===l?e=!1:(f.seriesNameInToolTip&&(k=O(e&&e.seriesname)),e=c=k?k+m:y,e+=a?a+m:y,e+=l):e=!1;b=h(b.link);return{displayValue:d,toolText:e,link:b,_toolTextStr:c,_isUserTooltip:n}},connector:function(b,
d,a,c,e){var g=e[ga],t=g.smartLabel;e=(b=a.connector)&&b.length;var l,p,m,q,k,n,s,A,ha,z,x,u=T(H(h(a.connectortooltext,c.connectortooltext))),qa="$fromLabel"+g.tooltipSepChar+"$toLabel";l=f(a.stdthickness,1);p=$(h(a.color,"FF5904"));m=h(a.alpha,"100");q=f(a.dashgap,5);k=f(a.dashlen,5);n=Boolean(f(a.dashed,0));s=Boolean(f(a.arrowatstart,1));A=Boolean(f(a.arrowatend,1));ha=f(a.strength,1);c=d.connector;z=d._connectorParser=function(a,b){var c=H(h(a.label,a.name)),d=h(a.alpha,m),d={FCcolor:{color:$(h(a.color,
p)),alpha:d}},e=t.getOriSize(c),z=T(H(h(a.tooltext,u)));x=g.showTooltip?h(z,c?"$label":qa):!1;return{_options:a,id:h(a.id,b).toString(),from:h(a.from,y),to:h(a.to,y),label:c,toolText:x,customToolText:z,color:d,dashStyle:Boolean(f(a.dashed,n))?Ba(f(a.dashlen,k),f(a.dashgap,q),l):void 0,arrowAtStart:Boolean(f(a.arrowatstart,s)),arrowAtEnd:Boolean(f(a.arrowatend,A)),conStrength:f(a.strength,ha),connectorLink:T(a.link),stdThickness:l,labelWidth:e.widht,labelHeight:e.height}};for(a=0;a<e;a+=1)c.push(z(b[a],
a));return d},series:function(b,d,a){var c=d[ga],e=[],g,t,l,p;d.legend.enabled=Boolean(f(b.chart.showlegend,1));if(b.dataset&&0<(t=b.dataset.length)){this.categoryAdder(b,d);c.x.requiredAutoNumericLabels=!1;if(b.connectors&&(g=b.connectors.length))for(p=0,l=g;p<l;p+=1)g={connector:[]},e.push(this.connector(a,g,b.connectors[p],b.chart,d,c.oriCatTmp.length,p));else g={connector:[]},e.push(this.connector(a,g,{},b.chart,d,c.oriCatTmp.length,p));for(p=0;p<t;p+=1)g={hoverEffects:this.parseSeriesHoverOptions(b,
d,b.dataset[p],a),data:[]},g=this.point(a,g,b.dataset[p],b.chart,d,c.oriCatTmp.length,p),g instanceof Array?d.series=d.series.concat(g):d.series.push(g);d.connectors=e;b.labels&&b.labels.label&&0<b.labels.label.length&&(d.dragableLabels=b.labels.label);b.chart.showyaxisvalue=h(b.chart.showyaxisvalue,0);this.configureAxis(d,b);b.trendlines&&$b(b.trendlines,d.yAxis,c,!1,this.isBar)}}},w.scatterbase);xb=function(b,d,a,c,e,g){var t=g.logic,l,p,m=d[b.from],q=d[b.to],k={sourceType:"connector"},n=b&&b._options,
s=t.numberFormatter,A,ha,z,x,u;this.renderer=c;this.connectorsGroup=e;this.pointStore=d;this.options=b;this.style=a||{};m&&q&&(this.fromPointObj=m,this.toPointObj=q,this.fromX=A=m._xPos,this.fromY=ha=m._yPos,this.toX=z=q._xPos,this.toY=x=q._yPos,this.arrowAtStart=k.arrowAtStart=b.arrowAtStart,this.arrowAtEnd=k.arrowAtEnd=b.arrowAtEnd,this.strokeWidth=d=b.conStrength*b.stdThickness,this.textBgColor=p=(this.color=l=b.color)&&l.FCcolor&&l.FCcolor.color,this.label=k.label=u=b.label,s=fb(b.toolText,[3,
83,84,85,86,87,88,89,90,91,92],{label:b.label,fromXValue:s.dataLabels(m.x),fromYValue:s.dataLabels(m.y),fromXDataValue:m.x,fromYDataValue:m.y,fromLabel:h(m.displayValue,m.id),toXValue:s.dataLabels(q.x),toYValue:s.dataLabels(q.y),toXDataValue:q.x,toYDataValue:q.y,toLabel:h(q.displayValue,q.id)}),this.link=k.link=n&&n.link,k.id=b.id,k.fromNodeId=m.id,k.toNodeId=q.id,m._config&&m._config.startConnectors&&m._config.startConnectors.push(this),q._config&&q._config.endConnectors&&q._config.endConnectors.push(this),
m=function(){var a=this,c=b._options||{};a._longpressactive=clearTimeout(a._longpressactive);a.data("fire_click_event",1);a._longpressactive=setTimeout(function(){a.data("fire_click_event",0);a.data("viewMode")||t.showConnectorUpdateUI(g,{fromid:{val:c.from,innerHTML:"<option>"+c.from+"</option>",disabled:!0},toid:{val:c.to,innerHTML:"<option>"+c.to+"</option>",disabled:!0},arratstart:{val:Boolean(f(c.arrowatstart,1))},arratend:{val:Boolean(f(c.arrowatend,1))},dashed:{val:f(c.dashed)},dashgap:{val:c.dashgap},
dashlen:{val:c.dashlen},label:{val:c.label},tooltext:{val:c.tooltext},id:{val:b.id,disabled:!0},strength:{val:c.strength},alpha:{val:c.alpha},color:{val:c.color}},!0)},1E3)},this.graphic=c.path(this.getlinePath(),e).attr({"stroke-width":d,ishot:!0,"stroke-dasharray":b.dashStyle,cursor:this.link?"pointer":"",stroke:G(l)}).mousedown(m).mousemove(function(){this.data("fire_click_event",0);Hb.call(this)}).mouseup(function(a){Hb.call(this);ya.call(this,g,a,"ConnectorClick")}).hover(function(a){ya.call(this,
g,a,"ConnectorRollover")},function(a){ya.call(this,g,a,"ConnectorRollout")}).tooltip(s).data("eventArgs",k).data("viewMode",g.options.chart.viewMode),u&&(this.text=c.text(),e.appendChild(this.text),this.text.css(a).attr({text:u,x:(A+z)/2,y:(ha+x)/2,fill:a.color,ishot:!0,cursor:this.link?"pointer":"","text-bound":[h(a.backgroundColor,p),h(a.borderColor,p),1,"2"]}).tooltip(s).mousedown(m).mousemove(function(){this.data("fire_click_event",0);Hb.call(this)}).hover(function(a){ya.call(this,g,a,"ConnectorRollover")},
function(a){ya.call(this,g,a,"ConnectorRollout")}).mouseup(function(a){Hb.call(this);ya.call(this,g,a,"ConnectorClick")}).tooltip(s).data("eventArgs",k).data("viewMode",g.options.chart.viewMode)))};xb.prototype={updateFromPos:function(b,d){this.fromX=b;this.fromY=d;this.graphic&&this.graphic.animate({path:this.getlinePath()});this.text&&this.text.animate({x:(this.fromX+this.toX)/2,y:(this.fromY+this.toY)/2})},updateToPos:function(b,d){this.toX=b;this.toY=d;this.graphic&&this.graphic.animate({path:this.getlinePath()});
this.text&&this.text.animate({x:(this.fromX+this.toX)/2,y:(this.fromY+this.toY)/2})},getlinePath:function(){var b=this.fromPointObj,d=this.toPointObj,a=this.fromX,c=this.fromY,e=this.toX,g=this.toY,f=[ra,a,c];this.arrowAtStart&&(b=b._config,f=b.shapeType===mb?f.concat(ib(a,c,e,g,b.shapeArg.width,b.shapeArg.height)):f.concat(ib(a,c,e,g,b.shapeArg.radius)));this.arrowAtEnd&&(b=d._config,f=b.shapeType===mb?f.concat(ib(e,g,a,c,b.shapeArg.width,b.shapeArg.height)):f.concat(ib(e,g,a,c,b.shapeArg.radius)));
f.push(oa,e,g);return f}};xb.prototype.constructor=xb;yb={mouseDown:function(b){delete b.data.point.dragActive},click:function(b){return!b.data.point.dragActive},dragHandler:function(b){var d=b.data,a=b.type,c=d.point,e=d.series,g=e.chart||e,f=g.tooltip,l=lb&&Ka(b)||nb,g=g.options.instanceAPI;switch(a){case "dragstart":f.block(!0);d.dragStartY=b.pageY||l.pageY||0;d.dragStartX=b.pageX||l.pageX||0;d.startValue=c.y;d.startXValue=c.x;c.dragActive=!0;e.dragStartHandler&&e.dragStartHandler(d);break;case "dragend":f.block(!1);
e.repositionItems(d,d.changeX?(b.pageX||l.pageX||0)-d.dragStartX:0,d.changeY?(b.pageY||l.pageY||0)-d.dragStartY:0,!0);a={dataIndex:c.index+1,datasetIndex:e.index+1,startValue:d.startValue,endValue:c.y,datasetName:e.name};b=[g.chartInstance.id,a.dataIndex,a.datasetIndex,a.datasetName,a.startValue,a.endValue];d.changeX&&(a.startYValue=d.startValue,a.endYValue=c.y,a.startXValue=d.startXValue,a.endXValue=c.x,b.push(d.startXValue,c.x),delete a.startValue,delete a.endValue);r.raiseEvent("chartupdated",
a,g.chartInstance,b);delete d.dragStartY;delete d.dragStartX;delete d.startValue;delete d.startXValue;break;default:e.repositionItems(d,d.changeX?(b.pageX||l.pageX||0)-d.dragStartX:0,d.changeY?(b.pageY||l.pageY||0)-d.dragStartY:0)}},dragLabelHandler:function(b){var d=b.data,a=b.type,c=d.element,e=d.tracker,g=d.toolTip,f=lb&&Ka(b)||nb,l=d.series,h,m,q;"dragstart"===a?(g.block(!0),d.dragStartY=b.pageY||f.pageY||0,d.dragStartX=b.pageX||f.pageX||0):(h=d.x+(b.pageX||f.pageX||0)-d.dragStartX,q=h-d.leftDistance,
q+d.width>d.plotWidth&&(q=d.plotWidth-d.width),0>q&&(q=0),h=q+d.leftDistance,m=d.y+(b.pageY||f.pageY||0)-d.dragStartY,b=m-d.topDistance,b+d.height>d.plotHeight&&(b=d.plotHeight-d.height),0>b&&(b=0),m=b+d.topDistance,"dragend"===a?(g.block(!1),d.x=h,d.y=m,delete d.dragStartY,delete d.dragStartX):(c.attr({x:h,y:m}).textBound(),e.attr({x:q,y:b})));"dragend"==a&&(a={hcJSON:{dragableLabels:[]}},a.hcJSON.dragableLabels[d.index]={y:l.yAxis.translate(l.chart.plotHeight-m+d.yAdjustment,1),x:l.xAxis.translate(h,
1)},I(l.chart.options.instanceAPI.chartInstance.jsVars._reflowData,a,!0))},pointUpdate:function(b,d,a){b._isUserTooltip||b.toolText===y||b._getTooltext?b._getTooltext&&(b.toolText=b._getTooltext(void 0,void 0,{formattedValue:d},{value:a})):b.toolText=b._toolTextStr+d;b._isUserValue||b.displayValue===y||(b.displayValue=d)},snapPoint:function(b,d,a){var c=b.options.chart,e=c.snapToDiv,g=c.snapToDivOnly;b=b._yAxisPlotLines;for(var f=v(b[1]-b[0]),c=g?0.5*f:c.snapToDivRelaxation,f=d.lastSnap,l=1,h=b.length,
m;h--;)if(m=v(b[h]-a),e&&m<c){f!==h&&(d.lastSnap=g?void 0:h,a=b[h]);l=0;break}l&&(d.lastSnap=void 0);return a},setMinMaxValue:function(b){var d=b.options.series;b=b.logic;var a=0,c=Infinity,e=-Infinity,g=b.chartInstance.jsVars._reflowData,f,l,h,m,q;q=0;for(f=d.length;q<f;q+=1)for(h=d[q]&&d[q].data,a=0,m=h.length;a<m;a+=1)l=h[a].y,null!==l&&(e=e>l?e:l,c=c<l?c:l);b.highValue=e;b.lowValue=c;g.postHCJSONCreation=function(){var a=this.hcJSON[ga][0];a.min=c;a.max=e}},setSelectBoxValues:function(b,d){var a=
d.xAxis[0],c=d.yAxis[0],e=d.plotHeight;b.startX=a.translate(b.left,1);b.endX=a.translate(b.left+b.width,1);b.startY=c.translate(e-b.top,1);b.endY=c.translate(e-(b.top+b.height),1)}};w("dragarea",cb({friendlyName:"Dragable Area Chart",standaloneInit:!0,creditLabel:Ha,rendererId:"dragarea",defaultSeriesType:"area",decimals:2,anchorAlpha:"100",eiMethods:w.msareabase.eiMethods},ab),w.msareabase);w("dragline",cb({friendlyName:"Dragable Line Chart",standaloneInit:!0,creditLabel:Ha,decimals:2,defaultSeriesType:"line",
rendererId:"dragline",eiMethods:w.mslinebase.eiMethods},ab),w.mslinebase);w("dragcolumn2d",cb({friendlyName:"Dragable Column Chart",standaloneInit:!0,creditLabel:Ha,decimals:2,defaultSeriesType:"column",rendererId:"dragcolumn2d",eiMethods:w.mscolumn2dbase.eiMethods},ab),w.mscolumn2dbase);w("selectscatter",{friendlyName:"Dragable Scatter Chart",isXY:!0,standaloneInit:!0,creditLabel:Ha,defaultSeriesType:"scatter",defaultZeroPlaneHighlighted:!1,spaceManager:ab.spaceManager,drawButtons:ab.drawButtons,
updateChartWithData:ab.updateChartWithData,eiMethods:cb(cb(cb({},w.scatterbase.eiMethods),ab.eiMethods),{getData:function(b){var d=this.jsVars.instanceAPI,a=d.getCollatedData(),c=[],e=a.dataset,g=e&&e.length||0,f=0,l=0;if(b)c=/^json$/ig.test(b)?a:/^csv$/ig.test(b)?d.getCSVString():D.core.transcodeData(a,"json",b);else for(;f<g;f+=1)if(d=e[f]){for((a=b=(d=e[f]&&e[f].data)&&d.length||0)&&(c[l]||(c[l]=[T(e[f].id,"null")]));a--;)c[l][a+1]=T(d[a].id,"null");b&&(l+=1)}return c}}),getCSVString:function(){for(var b=
this.chartInstance.getData(),d=b.length;d--;)b[d]=b[d].join(",");return b.join("|")},getCollatedData:function(){for(var b=this.chartInstance,d=b.jsVars.hcObj._selectEleArr,a=d&&d.length,b=I({},b.getChartData(D.dataFormats.JSON)),c=b.dataset,e,g,f,l,h,m,q,k,n,s=[];a--;)if(e=d[a])for(m=e.startX,q=e.endX,k=e.startY,n=e.endY,l=c.length;l--;)for(s[l]||(s[l]={data:[]}),h=(f=c[l].data)&&f.length;h--;)g=f[h],e=g.x,g=g.y,e>m&&e<q&&g<k&&g>n&&(s[l].data[h]=!0);for(l=c.length;l--;)for(h=(f=c[l].data)&&f.length;h--;)s[l]&&
s[l].data[h]||f.splice(h,1);return this.updatedDataObj=b},createSelectionBox:function(b){var d=b.chart,a=d.paper,c=d.options.chart,e=d.yAxis&&d.yAxis[0],g=d.xAxis&&d.xAxis[0],f=b.selectionLeft,l=b.selectionTop,h=b.selectionWidth;b=b.selectionHeight;var m=f+h,q=l+b,k=15<h&&15<b,n={resizeEleRadius:15,canvasTop:d.canvasTop,canvasRight:d.canvasLeft+d.canvasWidth,canvasLeft:d.canvasLeft,canvasBottom:d.canvasTop+d.canvasHeight},s=d.layers.tracker,A=d._selectEleArr||(d._selectEleArr=[]);n.index=A.length;
n.id="SELECT_"+n.index;n.selectBoxG=s=a.group("selection-box",s).toFront();n.selectBoxTracker=a.rect(f,l,h,b,s).attr({"stroke-width":1,stroke:G(c.selectBorderColor),ishot:!0,fill:c.selectFillColor}).css({cursor:"move"});n.selectBoxTracker.data("config",{position:6,selectEleObj:n,xChange:!0,yChange:!0});n.topTracker=a.rect(f,l-6,h,12,s).attr({"stroke-width":0,ishot:!0,fill:xa}).css("cursor",Xa&&"ns-resize"||"n-resize");n.topTracker.data("config",{position:1,selectEleObj:n,yChange:!0});n.rightTracker=
a.rect(f+h-6,l,12,b,s).attr({"stroke-width":0,ishot:!0,fill:xa}).css("cursor",Xa&&"ew-resize"||"w-resize");n.rightTracker.data("config",{position:2,selectEleObj:n,xChange:!0});n.bottomTracker=a.rect(f,l+b-6,h,12,s).attr({"stroke-width":0,ishot:!0,fill:xa}).css("cursor",Xa&&"ns-resize"||"n-resize");n.bottomTracker.data("config",{position:3,selectEleObj:n,yChange:!0});n.leftTracker=a.rect(f-6,l,12,b,s).attr({"stroke-width":0,ishot:!0,fill:xa}).css("cursor",Xa&&"ew-resize"||"e-resize");n.leftTracker.data("config",
{position:4,selectEleObj:n,xChange:!0});n.cornerInnerSymbol=a.symbol("resizeIcon",0,0,15,s).attr({transform:"t"+m+","+q,"stroke-width":1,visibility:k?Nb:"hidden",ishot:!0,stroke:"#999999"});n.cornerOuterSymbol=a.symbol("resizeIcon",0,0,-12,s).attr({transform:"t"+m+","+q,strokeWidth:1,visibility:k?"hidden":Nb,ishot:!0,stroke:"#777777"});n.resizeTracker=a.circle(m,q,12,s).attr({"stroke-width":1,stroke:xa,ishot:!0,fill:xa}).css("cursor",Xa&&"nwse-resize"||"nw-resize");n.resizeTracker.data("config",{position:5,
selectEleObj:n,yChange:!0,xChange:!0});n.closeButton=a.symbol("closeIcon",0,0,6,s).attr({transform:"t"+m+","+l,"stroke-width":2,stroke:c.selectionCancelButtonBorderColor,fill:c.selectionCancelButtonFillColor,"stroke-linecap":"round",ishot:!0,"stroke-linejoin":"round"}).css({cursor:"pointer",_cursor:"hand"}).click(function(){d.logic.deleteSelection(this,d)});n.closeButton.data("config",{index:n.index});n.chart=d;n.startX=g.getAxisPosition(f,1);n.startY=e.getAxisPosition(l,1);n.endX=g.getAxisPosition(m,
1);n.endY=e.getAxisPosition(q,1);n.isVisible=!0;A.push(n);d.logic.bindDragEvent(n)},deleteSelection:function(b,d){var a=b.data("config").index,c=d._selectEleArr,e=c[a],g,f,l;g=e.selectBoxTracker.getBBox();l={selectionLeft:g.x,selectionTop:g.y,selectionWidth:g.width,selectionHeight:g.height,startXValue:d.xAxis[0].getAxisPosition(g.x,1),startYValue:d.yAxis[0].getAxisPosition(g.y,1),endXValue:d.xAxis[0].getAxisPosition(g.x+g.width,1),endYValue:d.yAxis[0].getAxisPosition(g.y+g.height,1),data:d.logic.getCollatedData(),
id:e.id};for(f in e)g=e[f],g.remove&&g.remove(),delete e[f];delete c[a];D.raiseEvent("selectionRemoved",l,d.logic.chartInstance)},bindDragEvent:function(b){for(var d in b)/Tracker/.test(d)&&b[d].drag(this.move,this.start,this.up)},start:function(){var b=this.data("config").selectEleObj,d=b.topTracker,a=b.rightTracker,c=b.bottomTracker,e=b.leftTracker,g=b.resizeTracker,f=d.data("config"),l=a.data("config"),h=c.data("config"),m=e.data("config"),q=g.data("config"),k=b.selectBoxTracker.data("config"),
n=b.selectBoxTracker.getBBox();f.ox=n.x;f.oy=n.y;l.ox=n.x2;l.oy=n.y;h.ox=n.x;h.oy=n.y2;m.ox=n.x;m.oy=n.y;f.ox=n.x;f.oy=n.y;q.ox=n.x2;q.oy=n.y2;k.ox=n.x;k.oy=n.y;k.ow=n.width;k.oh=n.height;k.ox2=n.x2;k.oy2=n.y2;b.selectBoxG.toFront();d.hide();a.hide();c.hide();e.hide();g.hide();this.show()},move:function(b,d){var a=this.data("config"),c=a.selectEleObj,e=c.chart,g=c.topTracker,f=c.rightTracker,l=c.bottomTracker,h=c.leftTracker,m=c.resizeTracker,q=c.selectBoxTracker,k=c.canvasLeft,n=c.canvasRight,s=
c.canvasTop,A=c.canvasBottom,ha=q.data("config"),z={},x,u;b=a.xChange?b:0;d=a.yChange?d:0;x=b+a.ox;u=d+a.oy;x=Ra(n-(a.ow||0),sa(x,k));u=Ra(A-(a.oh||0),sa(u,s));switch(a.position){case 1:z.y=Ra(ha.oy2,u);z.height=v(ha.oy2-u)||1;g.attr({y:u+-6});break;case 2:z.x=Ra(ha.ox,x);z.width=v(ha.ox-x)||1;f.attr({x:x+-6});break;case 3:z.y=Ra(ha.oy,u);z.height=v(ha.oy-u)||1;l.attr({y:u+-6});break;case 4:z.x=Ra(ha.ox2,x);z.width=v(ha.ox2-x)||1;h.attr({x:x+-6});break;case 5:z.x=Ra(ha.ox,x);z.width=v(ha.ox-x)||1;
z.y=Ra(ha.oy,u);z.height=v(ha.oy-u)||1;m.attr({cx:x,cy:u});break;default:z.x=x,z.y=u}this.data("dragStarted")||(a=q.getBBox(),a={selectionLeft:a.x,selectionTop:a.y,selectionWidth:a.width,selectionHeight:a.height,startXValue:e.xAxis[0].getAxisPosition(a.x,1),startYValue:e.yAxis[0].getAxisPosition(a.y,1),endXValue:e.xAxis[0].getAxisPosition(a.x+a.width,1),endYValue:e.yAxis[0].getAxisPosition(a.y+a.height,1),id:c.id},D.raiseEvent("BeforeSelectionUpdate",a,e.logic.chartInstance),this.data("dragStarted",
1));q.animate(z);c.isVisible&&(c.closeButton.hide(),c.cornerInnerSymbol.hide(),c.cornerOuterSymbol.hide(),c.isVisible=!1)},up:function(){var b=this,d=b.data("config").selectEleObj,a=d.chart,c=a.xAxis&&a.xAxis[0],e=a.yAxis&&a.yAxis[0],g=d.topTracker,f=d.rightTracker,l=d.bottomTracker,h=d.leftTracker,m=d.resizeTracker,q=d.selectBoxTracker,k,n;setTimeout(function(){k=q.getBBox();d.startX=c.getAxisPosition(k.x,1);d.startY=e.getAxisPosition(k.y,1);d.endX=c.getAxisPosition(k.x2,1);d.endY=e.getAxisPosition(k.y2,
1);g.attr({x:k.x,y:k.y+-6,width:k.width});f.attr({x:k.x2+-6,y:k.y,height:k.height});l.attr({x:k.x,y:k.y2+-6,width:k.width});h.attr({x:k.x+-6,y:k.y,height:k.height});m.attr({cx:k.x2,cy:k.y2});d.closeButton.transform("t"+k.x2+","+k.y);d.cornerInnerSymbol.transform("t"+k.x2+","+k.y2);d.cornerOuterSymbol.transform("t"+k.x2+","+k.y2);d.closeButton.show();15>k.width||15>k.height?(d.cornerInnerSymbol.hide(),d.cornerOuterSymbol.show()):(d.cornerInnerSymbol.show(),d.cornerOuterSymbol.hide());d.isVisible=!0;
g.show();f.show();l.show();h.show();m.show();b.data("dragStarted")&&(n={selectionLeft:k.x,selectionTop:k.y,selectionWidth:k.width,selectionHeight:k.height,startXValue:a.xAxis[0].getAxisPosition(k.x,1),startYValue:a.yAxis[0].getAxisPosition(k.y,1),endXValue:a.xAxis[0].getAxisPosition(k.x+k.width,1),endYValue:a.yAxis[0].getAxisPosition(k.y+k.height,1),data:a.logic.getCollatedData(),id:d.id},D.raiseEvent("SelectionUpdated",n,a.logic.chartInstance),b.data("dragStarted",0))},100)},postSeriesAddition:function(b,
d){var a=w.scatter&&w.scatter.postSeriesAddition&&w.scatter.postSeriesAddition.apply(this,arguments),c=b.chart,e=d.chart,g=this.colorManager,t=h(e.selectbordercolor,g.getColor("canvasBorderColor")),l=f(e.selectborderalpha,g.getColor("canvasBorderAlpha"));c.selectBorderColor={FCcolor:{color:t,alpha:l}};c.selectFillColor=E(h(e.selectfillcolor,g.getColor("altHGridColor")),f(e.selectfillalpha,g.getColor("altHGridAlpha")));c.selectionCancelButtonBorderColor=E(h(e.selectioncancelbuttonbordercolor,t),f(e.selectioncancelbuttonborderalpha,
l));c.selectionCancelButtonFillColor=E(h(e.selectioncancelbuttonfillcolor,"FFFFFF"),f(e.selectioncancelbuttonfillalpha,100));b.chart.nativeZoom=!1;c.formAction=T(e.formaction);"0"!==e.submitdataasxml||e.formdataformat||(e.formdataformat=D.dataFormats.CSV);c.formDataFormat=h(e.formdataformat,D.dataFormats.XML);c.formTarget=h(e.formtarget,"_self");c.formMethod=h(e.formmethod,"POST");c.submitFormAsAjax=f(e.submitformusingajax,1);(b.callbacks||(b.callbacks=[])).push(function(){var a=this.logic;K(this,
{selectionStart:function(a){var b=cc(a.chart.container,a.originalEvent),b=I({selectionLeft:a.selectionLeft,selectionTop:a.selectionTop,selectionWidth:a.selectionWidth,selectionHeight:a.selectionHeight,startXValue:a.chart.xAxis[0].getAxisPosition(a.selectionLeft,1),startYValue:a.chart.yAxis[0].getAxisPosition(a.selectionTop,1)},b);D.raiseEvent("selectionStart",b,a.chart.logic.chartInstance)},selectionEnd:function(b){var c=cc(b.chart.container,b.originalEvent),d=b.chart.xAxis[0],e=b.chart.yAxis[0],
c=I({selectionLeft:b.selectionLeft,selectionTop:b.selectionTop,selectionWidth:b.selectionWidth,selectionHeight:b.selectionHeight,startXValue:d.getAxisPosition(b.selectionLeft,1),startYValue:e.getAxisPosition(b.selectionTop,1),endXValue:d.getAxisPosition(b.selectionLeft+b.selectionWidth,1),endYValue:e.getAxisPosition(b.selectionTop+b.selectionHeight,1)},c);D.raiseEvent("selectionEnd",c,b.chart.logic.chartInstance);a.createSelectionBox(b)}})});b.chart.zoomType="xy";return a}},w.scatterbase);w("multiaxisline",
{friendlyName:"Multi-axis Line Chart",standaloneInit:!0,creditLabel:Ha,defaultSeriesType:"line",rendererId:"multiaxisline",isMLAxis:!0,canvasPaddingModifiers:["anchor","anchorlabel"],drawAxisTrackerAndCheckBox:function(){for(var b=this,d=b.canvasLeft,a=b.canvasTop,c=b.canvasWidth,e=b.canvasHeight,g=b.paper,h=b.yAxis,l=h.length,p=b.logic,m=0,q=0,k={cursor:"col-resize",_cursor:"e-resize","*cursor":"e-resize"},n=p.chartInstance,s=n.jsVars,A=p.dataObj,ha=s._reflowData,z=ha.hcJSON||{},x=A.axis,u=A.chart,
A=f(u.allowaxisshift,1),r=(u=f(u.allowselection,1))&&g.html("div",{fill:"transparent",width:b.chartWidth,height:20},{top:"",left:"",fontSize:"10px",lineHeight:"15px",marginTop:-b.chartHeight+"px"},b.container),z=z.yAxis||(z.yAxis=[]),B,y,v,F,w,J,U=function(a){b.series&&b.series[a]&&b.series[a].setVisible(!1,!1)},L=function(a){var c=a.data;a=c.axis[c.index].axisData;var d=a._relatedSeries,e=!c.checkBox.checked(),c=x[a._axisposition];d&&gb(d,function(a){b.options.series[a].legendClick(e,!0)});c.hidedataplots=
!e;I(ha,{preReflowAdjustments:function(){this.dataObj.axis=x}});D.raiseEvent("AxisSelected",{selected:e,AxisId:c._index,AxisConfiguration:a._origAttr||ob(c,a)},b.logic.chartInstance)},ba=function(a){var c=a.data;a=c.axis;var c=a[c.index].axisData,d=c.opposite,e=c._axisposition,g=x.length,l,h,k,t={},m=x[e],q={};for(l=0;l<g;l+=1)h=x[l],h=!f(h.axisonleft,1),h===d&&(k=l,d&&(l=g));k!==e&&(t=a[k],q=x[k],a=x.splice(k,1,x[e]),x.splice(e,1,a[0]));if(k!==e||d!==p.dataObj.chart._lastClickedOpp)I(ha,{preReflowAdjustments:function(){this.dataObj.chart._lastClickedOpp=
d;this.dataObj.axis=x}}),D.raiseEvent("AxisShifted",{previousDefaultAxisId:q._index,newDefaultAxisId:m._index,previousDefaultAxisConfiguration:t._origAttr||ob(q,t),newDefaultAxisConfiguration:c._origAttr||ob(m,c)},b.logic.chartInstance),D.hcLib.createChart(n,s.container,s.type,void 0,void 0,!1,!0)};l--;)B=h[l],y=B.axisData,v=y._axisWidth,(F=y.opposite)||(m+=v),z[l]||(z[l]={}),u&&y.showAxis&&(w=d+(F?c+q+f(y.title.margin,v-10)+5:-m),J=a+e+10,B.checkBox=g.html("input",{},{left:w+"px",top:J+"px"}).attr({type:"checkbox"}).add(r),
B.checkBox.val(y.hidedataplots),y.hidedataplots||y._relatedSeries&&gb(y._relatedSeries,U),Eb(B.checkBox.element,lb?"touchstart":"mousedown",L,{axis:h,index:l,checkBox:B.checkBox})),A&&(B.tracker=g.rect(d+(F?c+q:-m),a,v,e,0).attr({"stroke-width":0,fill:xa,isTracker:+new Date,zIndex:7}).css(k),F&&(q+=v),Eb(B.tracker[0],lb?"touchstart":"mousedown",ba,{axis:h,index:l}))},series:function(b){var d=this,a=d.numberFormatter,c=d.name,e=d.dataObj,g=e.chart,t=e.axis,l=d.hcJSON,p=l[ga],m=l.yAxis[0],q=f(e.chart.allowselection,
1),k=[],n=f(g.showaxisnamesinlegend,0),s=f(g.yaxisvaluesstep,g.yaxisvaluestep,1),A=this.colorManager,ha,z,x,u,r,B,v,w,F,wa,J,U,L,ba,G;l.callbacks||(l.callbacks=[]);l.callbacks.push(function(){d.drawAxisTrackerAndCheckBox.call(this)});l.legend.enabled=Boolean(f(e.chart.showlegend,1));if(t&&0<t.length){this.categoryAdder(e,l);l.yAxis.splice(0,2);B=p.noHiddenAxis=0;for(w=t.length;B<w;B+=1)F=t[B],void 0===F._index&&(F._index=B),F._axisposition=B,(u=!f(F.axisonleft,1))?(F._isSY=!0,k.unshift(F)):(F._isSY=
!1,k.push(F));B=0;for(w=k.length;B<w;B+=1)if(F=k[B],r=f(F.showaxis,1),t=F._index||0,a.parseMLAxisConf(F,t),ha=A.getPlotColor(t),F.id=t,L=h(F.color,g.axiscolor,ha),wa=E(L,100),u=!f(F.axisonleft,1),J=f(F.divlinethickness,g.divlinethickness,1),z=r?f(F.tickwidth,g.axistickwidth,2):0,x=r?f(F.axislinethickness,g.axislinethickness,2):0,U=p[B]={},U.showAxis=r,p.noHiddenAxis+=1-r,r&&(u?G=B:ba=B),v=[],l.yAxis.push({startOnTick:!1,endOnTick:!1,_axisposition:F._axisposition,_isSY:F._isSY,_index:t,hidedataplots:!f(F.hidedataplots,
0),title:{enabled:r,style:m.title.style,text:r?H(F.title):y,align:q?"low":"middle",textAlign:q&&u?"right":void 0},labels:{x:0,style:m.labels.style},plotBands:[],plotLines:[],gridLineColor:E(h(F.divlinecolor,L),f(F.divlinealpha,g.divlinealpha,A.getColor("divLineAlpha"),100)),gridLineWidth:J,gridLineDashStyle:f(F.divlinedashed,F.divlineisdashed,g.divlinedashed,g.divlineisdashed,0)?Ba(f(F.divlinedashlen,g.divlinedashlen,4),f(F.divlinedashgap,g.divlinedashgap,2),J):void 0,alternateGridColor:Pa,lineColor:wa,
lineWidth:x,tickLength:z,tickColor:wa,tickWidth:x,opposite:u,_relatedSeries:v,showAxis:r}),U.yAxisValuesStep=f(F.yaxisvaluesstep,F.yaxisvaluestep,s),U.maxValue=F.maxvalue,U.tickWidth=z,U.minValue=F.minvalue,U.setadaptiveymin=f(F.setadaptiveymin,g.setadaptiveymin),U.numDivLines=f(F.numdivlines,g.numdivlines,4),U.adjustdiv=f(F.adjustdiv,g.adjustdiv),U.showYAxisValues=r?f(F.showyaxisvalues,F.showyaxisvalue,g.showyaxisvalues,g.showyaxisvalue,1):0,U.showLimits=r?f(F.showlimits,g.showyaxislimits,g.showlimits,
U.showYAxisValues):0,U.showDivLineValues=r?f(F.showdivlinevalue,g.showdivlinevalues,F.showdivlinevalues,U.showYAxisValues):0,U.showzeroplane=F.showzeroplane,U.showzeroplanevalue=f(F.showzeroplanevalue),U.zeroplanecolor=F.zeroplanecolor,U.zeroplanethickness=F.zeroplanethickness,U.zeroplanealpha=F.zeroplanealpha,U.linecolor=h(F.linecolor,g.linecolor||F.color,ha),U.linealpha=F.linealpha,U.linedashed=F.linedashed,U.linethickness=F.linethickness,U.linedashlen=F.linedashlen,U.linedashgap=F.linedashgap,
U.anchorShadow=F.anchorshadow,U.plottooltext=F.plottooltext,F.dataset&&0<F.dataset.length){J=F.dataset.length;ha=f(F.includeinlegend,1);u=!1;r={data:[],relatedSeries:v,name:H(F.title),type:"line",marker:{symbol:"axisIcon",fillColor:xa,lineColor:ja(L,80).replace(qb,Na)},lineWidth:0,legendFillColor:0!==n?E(L,25):void 0,legendFillOpacity:0,legendIndex:F._index,showInLegend:Boolean(f(n,ha))};l.series.push(r);for(wa=0;wa<J;wa+=1){x=F.dataset[wa];x._yAxisName=F.title;void 0===x.color&&(x.color=h(U.linecolor,
L));z={visible:!f(x.initiallyhidden,0),yAxis:B,data:[],hoverEffects:this.parseSeriesHoverOptions(b,l,x,c)};z=this.point(c,z,x,e.chart,l,p.oriCatTmp.length,B,t);z.legendFillColor=r.legendFillColor;z.legendIndex=F._index;if(void 0===z.showInLegend||z.showInLegend)u=!0;!1!==z.showInLegend&&(z.showInLegend=Boolean(ha));v.push(l.series.length);l.series.push(z)}0!==v.length&&u||(r.showInLegend=!1)}b=g._lastClickedOpp?f(G,ba):f(ba,G);B=0;for(w=l.yAxis.length;B<w;B+=1)B!=b&&(l.yAxis[B].gridLineWidth=0,p[B].zeroplanethickness=
0);this.configureAxis(l,e)}},point:function(b,d,a,c,e,g,t,l){b=!1;t=f(c.ignoreemptydatasets,0);var p;p=e.chart;var m=a.data||[],q=e[ga],k=q[d.yAxis||0],n=h(d.type,this.defaultSeriesType),s=e.plotOptions[n]&&e.plotOptions[n].stacking,A=h(this.isValueAbs,q.isValueAbs,!1),ha=f(d.yAxis,0),z=this.numberFormatter,x=this.colorManager,u=$(h(a.color,k.linecolor,c.linecolor,x.getPlotColor())),r=f(a.alpha,k.linealpha,c.linealpha,jc),B=f(c.showshadow,this.defaultPlotShadow,1),v=f(a.drawanchors,a.showanchors,
c.drawanchors,c.showanchors),w=f(a.anchorsides,c.anchorsides,0),F=f(a.anchorstartangle,c.anchorstartangle,90),wa=f(a.anchorradius,c.anchorradius,3),J=$(h(a.anchorbordercolor,c.anchorbordercolor,u)),U=f(a.anchorborderthickness,c.anchorborderthickness,1),x=$(h(a.anchorbgcolor,c.anchorbgcolor,x.getColor("anchorBgColor"))),L=h(a.anchoralpha,c.anchoralpha,jc),ba=h(a.anchorbgalpha,c.anchorbgalpha,L);d.anchorShadow=L&&h(a.anchorshadow,k.anchorShadow,c.anchorshadow,0);d.name=T(a.seriesname);if(0===f(a.includeinlegend)||
void 0===d.name||0===r&&1!==v)d.showInLegend=!1;d.marker={fillColor:{FCcolor:{color:x,alpha:ba*L/100+y}},lineColor:{FCcolor:{color:J,alpha:L+y}},lineWidth:U,radius:wa,symbol:ca(w),startAngle:F};d.color={FCcolor:{color:u,alpha:r}};d.shadow=B?{opacity:B?r/100:0}:!1;d.step=this.stepLine;d.drawVerticalJoins=Boolean(f(c.drawverticaljoins,1));d.useForwardSteps=Boolean(f(c.useforwardsteps,1));d.lineWidth=f(a.linethickness,k.linethickness,c.linethickness,2);c=d._dataParser=rb.line(e,{plottooltext:h(a.plottooltext,
k.plottooltext),seriesname:d.name,lineAlpha:r,anchorAlpha:L,showValues:f(a.showvalues,q.showValues),yAxis:l,lineDashed:Boolean(f(a.dashed,k.linedashed,c.linedashed,0)),lineDashLen:f(a.linedashlen,k.linedashlen,c.linedashlen,5),lineDashGap:f(a.linedashgap,k.linedashgap,c.linedashgap,4),lineThickness:d.lineWidth,lineColor:u,valuePosition:h(a.valueposition,p.valuePosition),drawAnchors:v,anchorShadow:d.anchorShadow,anchorBgColor:x,anchorBgAlpha:ba,anchorBorderColor:J,anchorBorderThickness:U,anchorRadius:wa,
anchorSides:w,anchorAngle:F,_sourceDataset:a,_yAxisName:a._yAxisName,hoverEffects:d.hoverEffects},this);delete a._yAxisName;for(l=0;l<g;l+=1)(p=m[l])?(a=z.getCleanValue(p.value,A),null===a?d.data.push({y:null}):(b=!0,d.data.push(c(p,l,a)),this.pointValueWatcher(e,a,ha,s,l,0,n))):d.data.push({y:null});!t||b||this.realtimeEnabled||(d.showInLegend=!1);return d},configureAxis:function(b,d){var a=b[ga],c=d.chart,e,g,h,l,p,m,q,k,n,s,A,r,z;b.xAxis.title.text=H(c.xaxisname);z=0;for(g=b.yAxis.length;z<g;z+=
1)e=b.yAxis[z],h=a[z],r=f(h.yAxisValuesStep,1),r=1>r?1:r,l=h.maxValue,p=h.minValue,m=f(h.setadaptiveymin,0),q=m=!m,k=h.numDivLines,n=0!==h.adjustdiv,s=h.showLimits,A=h.showDivLineValues,this.axisMinMaxSetter(e,h,l,p,m,q,k,n),this.configurePlotLines(c,b,e,h,s,A,r,this.numberFormatter,e._isSY,void 0,e._index),e.reversed&&0<=e.min&&(b.plotOptions.series.threshold=e.max)},spaceManager:function(b,d,a,c){var e=b[ga],g,t,l=d.chart,p,m,q,k,n,s,A,r,z,x,u,y,B,v=e.marginLeftExtraSpace,w=e.marginTopExtraSpace,
F=e.marginBottomExtraSpace,wa=e.marginRightExtraSpace;n=a-(v+wa+b.chart.marginRight+b.chart.marginLeft);var J=c-(F+b.chart.marginBottom+b.chart.marginTop),U=0.3*n;c=0.3*J;var L=n-U;a=J-c;var ba=h(l.legendposition,va).toLowerCase();b.legend.enabled&&ba===Da&&(L-=this.placeLegendBlockRight(b,d,L/2,J));t=b.yAxis;k=t.length;g=k-e.noHiddenAxis;A=0;if(g)for(x=r=0,u=10,B=L/g,s=k-1;0<=s;s-=1)z=t[s],z.showAxis&&(g=e[s],q=z.opposite,y=(q?x:r)+u,p=g.tickWidth,m=h(l.rotateyaxisname,q?"cw":"ccw"),g.verticalAxisNamePadding=
4,g.fixedValuesPadding=p,g.verticalAxisValuesPadding=p,g.rotateVerticalAxisName=q&&"ccw"!==m?"cw":m,g.verticalAxisNameWidth=50,z.offset=y,A=B+A-u,g=Gb(z,g,b,d,J,A,q,0,0),g+=u,q?(x+=g,b.chart.marginRight+=u):(r+=g,b.chart.marginLeft+=u),A-=g,L-=g,L<u&&(u=0),z._axisWidth=g);L-=Ca(b,d,L);t=L+U;b.legend.enabled&&ba!==Da&&(a-=this.placeLegendBlockBottom(b,d,n,a/2),b.legend.width>t&&(b.legend.x=0));a-=this.titleSpaceManager(b,d,t,a/2);g=e.x;g.horizontalAxisNamePadding=f(l.xaxisnamepadding,5);g.horizontalLabelPadding=
f(l.labelpadding,2);g.labelDisplay="1"==l.rotatelabels?"rotate":h(l.labeldisplay,"auto").toLowerCase();g.staggerLines=f(l.staggerlines,2);g.slantLabels=f(l.slantlabels,l.slantlabel,0);n={left:0,right:0};n=b.chart.managePlotOverflow&&this.canvasPaddingModifiers&&this.calculateCanvasOverflow(b,!0)||n;s=n.left+n.right;A=0.6*t;s>A&&(r=n.left/s,n.left-=r*(s-A),n.right-=(1-r)*(s-A));this.xAxisMinMaxSetter(b,d,t,n.left,n.right);a-=vb(b.xAxis,g,b,d,t,a,U);a-=Ea(b,d,a,b.xAxis);d=c+a;for(s=0;s<k;s+=1)bd(d,
b,l,b.yAxis[s],e[s].lYLblIdx);b.legend.enabled&&ba===Da&&(e=b.legend,l=c+a,e.height>l&&(e.height=l,e.scroll.enabled=!0,A=(e.scroll.scrollBarWidth=10)+(e.scroll.scrollBarPadding=2),e.width+=A,b.chart.marginRight+=A),e.y=20);e=b.chart.marginLeft+t/2;l=b.chart.marginLeft;d=-b.chart.marginRight;switch(b.title.align){case Sa:b.title.x=l;break;case Da:b.title.x=d;break;default:b.title.x=e}switch(b.subtitle.align){case Sa:b.subtitle.x=l;break;case Da:b.subtitle.x=d;break;default:b.subtitle.x=e}b.chart.marginLeft+=
v;b.chart.marginTop+=w;b.chart.marginBottom+=F;b.chart.marginRight+=wa}},w.mslinebase);w("candlestick",{friendlyName:"Candlestick Chart",standaloneInit:!0,creditLabel:Ha,paletteIndex:3,defaultSeriesType:"candlestick",canvasborderthickness:1,rendererId:"candlestick",chart:w.errorbar2d.chart,drawErrorValue:w.errorbar2d.drawErrorValue,series:function(b,d,a){var c,e,g=d[ga],t,l,p,m,q,k;c=b.chart;t=d.chart;var n=f(c.showvolumechart,1);l=this.colorManager;var s;d.legend.enabled=Boolean(f(c.showlegend,1));
t.rollOverBandColor=E(h(c.rolloverbandcolor,l.getColor("altHGridColor")),h(c.rolloverbandalpha,l.getColor("altHGridAlpha")));if(b.dataset&&0<b.dataset.length){this.categoryAdder(b,d);d.yAxis[0].opposite=!0;g.numdivlines=T(b.chart.numpdivlines);n&&(s=d._FCconf.numberFormatter,t=d.labels,d._FCconf.numberFormatter={},d._FCconf.smartLabel&&(e=d._FCconf.smartLabel,d._FCconf.smartLabel=void 0),d.labels={},p=I({},d),d._FCconf.numberFormatter=s,d._FCconf.smartLabel=e,d.labels=t,e&&(p._FCconf.smartLabel=e),
p._FCconf.numberFormatter=new r.NumberFormatter(I(I({},c),{forcedecimals:O(c.forcevdecimals,c.forcedecimals),forceyaxisvaluedecimals:O(c.forcevyaxisvaluedecimals,c.forceyaxisvaluedecimals),yaxisvaluedecimals:O(c.vyaxisvaluedecimals,c.yaxisvaluedecimals),formatnumber:O(c.vformatnumber,c.formatnumber),formatnumberscale:O(c.vformatnumberscale,c.formatnumberscale),defaultnumberscale:O(c.vdefaultnumberscale,c.defaultnumberscale),numberscaleunit:O(c.vnumberscaleunit,c.numberscaleunit),vnumberscalevalue:O(c.vnumberscalevalue,
c.numberscalevalue),scalerecursively:O(c.vscalerecursively,c.scalerecursively),maxscalerecursion:O(c.vmaxscalerecursion,c.maxscalerecursion),scaleseparator:O(c.vscaleseparator,c.scaleseparator),numberprefix:O(c.vnumberprefix,c.numberprefix),numbersuffix:O(c.vnumbersuffix,c.numbersuffix),decimals:O(c.vdecimals,c.decimals)}),this),I(p,{chart:{backgroundColor:"rgba(255,255,255,0)",borderColor:"rgba(255,255,255,0)",animation:!1},title:{text:null},subtitle:{text:null},legend:{enabled:!1},credits:{enabled:!1},
xAxis:{opposite:!0,labels:{enabled:!1}},yAxis:[{opposite:!0,title:{},plotBands:[],plotLines:[]},{opposite:!1,title:{text:b.chart.vyaxisname}}]}),s=d.subCharts=[p]);c=0;for(e=b.dataset.length;c<e;c+=1)t={numColumns:e,data:[]},l=b.dataset[c],t=this.point(a,t,l,b.chart,d,g.oriCatTmp.length,c),t instanceof Array?(n&&(p.series.push({type:"column",data:t[1]}),p.showVolume=!0,l=f(b.chart.volumeheightpercent,40),l=20>l?20:80<l?80:l,m=g.height-(d.chart.marginBottom+d.chart.marginTop),q=m*l/100,k=d.chart.marginBottom+
q,p[ga].marginTop=k+40,p.yAxis[0].plotBands=[],p.yAxis[0].plotLines=[],p.exporting.enabled=!1,p.yAxis[0].title.text=H(T(b.chart.vyaxisname)),p.yAxis[0].title.align="low",p.chart.height=q+20,p.chart.width=g.width,p.chart.top=m-q,p.chart.left=0,p.chart.volumeHeightPercent=l),d.series.push(t[0])):d.series.push(t);if(b.trendset&&0<b.trendset.length)for(c=0,e=b.trendset.length;c<e;c+=1)t={type:"line",marker:{enabled:!1},connectNullData:1,data:[]},p=b.trendset[c],p.data&&0<p.data.length&&(t=this.getTrendsetPoint(a,
t,p,b.chart,d,g.oriCatTmp.length,c),d.series.push(t));b.chart.showdivlinesecondaryvalue=0;b.chart.showsecondarylimits=0;this.configureAxis(d,b);d.yAxis[1].opposite=!1;d.yAxis[1].min=d.yAxis[0].min;d.yAxis[1].max=d.yAxis[0].max;d.yAxis[1].title.text=d.yAxis[0].title.text;d.yAxis[0].title.text=y;n&&s&&(s=s[0],a=s[ga],a.numdivlines=T(b.chart.numvdivlines),a[0].min=g.volume&&g.volume.min,a[0].max=g.volume&&g.volume.max,s.series&&s.series[0]&&(s.series[0].showInLegend=!1),this.configureAxis(s,b),s.yAxis[0].title.text=
H(T(b.chart.vyaxisname)),s.yAxis[1].min=s.yAxis[0].min,s.yAxis[1].max=s.yAxis[0].max,s.yAxis[1].title.text=s.yAxis[0].title.text,s.yAxis[0].title.text=y);if((a=b.trendlines&&b.trendlines[0]&&b.trendlines[0].line)&&a.length){for(n=0;n<a.length;n+=1)a[n].parentyaxis="s",a[n].valueonleft="1";$b(b.trendlines,d.yAxis,g,!0,this.isBar)}}},getTrendsetPoint:function(b,d,a,c,e){if(a.data){b=a.data;var g=b.length,t=0,l,p,m,q,k,n=e[ga],s=this.numberFormatter,A=f(d.yAxis,0),n=n.toolTextStore,g=$(h(a.color,c.trendsetcolor,
"666666")),t=h(a.alpha,c.trendsetalpha,"100");l=f(a.thickness,c.trendsetthickness,2);p=Boolean(f(a.dashed,c.trendsetdashed,0));m=f(a.dashlen,c.trendsetdashlen,4);q=f(a.dashgap,c.trendsetdashgap,4);k=h(a.includeinlegend,1);d.color=E(g,t);d.lineWidth=l;d.dashStyle=p?Ba(m,q):void 0;d.includeInLegend=k;d.name=T(a.name);d.doNotUseBand=!0;if(0===f(a.includeinlegend)||void 0===d.name)d.showInLegend=!1;d.tooltip={enabled:!1};t=c.interactivelegend=0;for(g=b.length;t<g;t+=1)(c=b[t])&&!c.vline&&(a=s.getCleanValue(c.value),
c=s.getCleanValue(c.x),c=null!==c?c:t+1,l=n&&n[c],d.data.push({x:c,y:a,toolText:l}),this.pointValueWatchers(e,null,a,a,null,A))}return d},point:function(b,d,a,c,e){if(a.data){b=w[b];var g=e[ga],t=T(c.plotpriceas,y).toLowerCase(),l=a.data,p=l&&l.length,m=this.numberFormatter,q=[],k=[],n={},s,A,r,z=!1,x=f(d.yAxis,0),u=$(h(c.bearbordercolor,"B90000")),qa=$(h(c.bearfillcolor,"B90000")),B=this.colorManager,G=$(h(c.bullbordercolor,B.getColor("canvasBorderColor"))),fa=$(h(c.bullfillcolor,"FFFFFF")),F=d.lineWidth=
f(c.plotlinethickness,"line"==t||"bar"==t?2:1),wa=h(c.plotlinealpha,"100"),J=f(c.plotlinedashlen,5),U=f(c.plotlinedashgap,4),L=f(c.vplotborderthickness,1),ba=!!f(c.drawanchors,1),C=f(c.anchorsides,0),pa=f(c.anchorstartangle,90),I=f(c.anchorradius,this.anchorRadius,3),ea=$(h(c.anchorbordercolor,G)),ka=f(c.anchorborderthickness,this.anchorBorderThickness,1),B=$(h(c.anchorbgcolor,B.getColor("anchorBgColor"))),P=h(c.anchoralpha,"0"),N=h(c.anchorbgalpha,P),ta,Y,R,na,W,Z,D,M,K,aa,S,O,ia,Q,Ta,X=!1;d.name=
T(a.seriesname);d.showInLegend=!1;d.marker={};switch(t){case "line":d.plotType="line";break;case "bar":d.plotType="candlestickbar";break;default:d.plotType="column",d.errorBarWidthPercent=0,X=!0}for(Y=0;Y<p;Y+=1)(R=l[Y])&&!R.vline&&(D=m.getCleanValue(R.open),M=m.getCleanValue(R.close),K=m.getCleanValue(R.high),aa=m.getCleanValue(R.low),S=m.getCleanValue(R.volume,!0),Q=m.getCleanValue(R.x),X&&v(M-D),Ra(D,M),sa(D,M),null!==S&&(z=!0),O=Ra(D,M,K,aa),ia=sa(D,M,K,aa),H(T(R.valuetext,y)),s=$(h(R.bordercolor,
M<D?u:G)),A=h(R.alpha,"100"),t=E($(h(R.color,M<D?qa:fa)),A),r=Boolean(f(R.dashed))?Ba(J,U):void 0,ta={opacity:A/100},W=g.oriCatTmp[Y],Ta=E(s,wa),na=b.getPointStub(e,c,R,D,M,K,aa,S,Ta,F,d.plotType,W),Q=Q?Q:Y+1,n[Q]=na.toolText,d.data.push({high:sa(D,M,K,aa),low:Ra(D,M,K,aa),color:X?t:{FCcolor:{color:s,alpha:A}},borderColor:Ta,shadow:ta,dashStyle:r,borderWidth:F,x:Q,y:na.y,categoryLabel:W,errorValue:na.errorValue,previousY:na.previousY,toolText:na.toolText,link:na.link,marker:{enabled:ba,fillColor:{FCcolor:{color:B,
alpha:N*P/100+y}},lineColor:{FCcolor:{color:ea,alpha:P}},lineWidth:ka,radius:I,startAngle:pa,symbol:ca(C)}}),Z=T(H(h(R.volumetooltext,a.volumetooltext,c.volumetooltext))),Z=void 0!==Z?b.getPointStub(e,c,R,D,M,K,aa,S,Ta,F,d.plotType,W,Z).toolText:na.toolText,k.push({y:S,categoryLabel:W,color:E(t,A),toolText:Z,borderWidth:L,borderColor:E(s,h(c.plotlinealpha,R.alpha)),dashStyle:r,shadow:ta,x:Q,link:R.link}),this.pointValueWatchers(e,Q,O,ia,S,x));g.toolTextStore=n;(d.drawVolume=z)?q.push(d,k):q=d;return q}return[]},
getPointStub:function(b,d,a,c,e,g,f,l,p,m,q,k,n){var s=y,s=b[ga],A=s.numberFormatter,r="line"===q,z=Ra(c,e),x=sa(c,e),u={};b=b.subCharts&&b.subCharts[0]&&b.subCharts[0][ga].numberFormatter||A;switch(q){case "line":u.y=e;u.link=h(a.link);break;case "column":u.y=v(e-c);u.previousY=z;u.link=h(a.link);u.errorValue=[];0<g-x&&u.errorValue.push({errorValue:g-x,errorStartValue:x,errorBarColor:p,errorBarThickness:m,opacity:1});0>f-z&&u.errorValue.push({errorValue:f-z,errorStartValue:z,errorBarColor:p,errorBarThickness:m,
opacity:1});break;default:u.y=c,u.previousY=e,u.link=h(a.link)}s.showTooltip?(s=T(H(h(n,a.tooltext,s.tooltext))),void 0!==s?s=fb(s,[3,5,6,10,54,55,56,57,58,59,60,61,81,82],{label:k,yaxisName:H(d.yaxisname),xaxisName:H(d.xaxisname),openValue:a.open,openDataValue:A.dataLabels(c),closeValue:a.close,closeDataValue:A.dataLabels(e),highValue:a.high,highDataValue:A.dataLabels(g),lowValue:a.low,lowDataValue:A.dataLabels(f),volumeValue:a.volume,volumeDataValue:A.dataLabels(l)},a,d):(s=null===c||r?y:"<b>Open:</b> "+
A.dataLabels(c)+"<br/>",s+=null!==e?"<b>Close:</b> "+A.dataLabels(e)+"<br/>":y,s+=null===g||r?y:"<b>High:</b> "+A.dataLabels(g)+"<br/>",s+=null===f||r?y:"<b>Low:</b> "+A.dataLabels(f)+"<br/>",s+=null!==l?"<b>Volume:</b> "+b.dataLabels(l):y)):s=y;u.toolText=s;return u},pointValueWatchers:function(b,d,a,c,e,g){var h=b[ga];g=f(g,0);null!==e&&(b=h.volume,b||(b=h.volume={}),b.max=b.max>e?b.max:e,b.min=b.min<e?b.min:e);null!==a&&(b=h[g],!b.max&&0!==b.max&&(b.max=a),!b.min&&0!==b.min&&(b.min=a),b.max=sa(b.max,
a),b.min=Ra(b.min,a));null!==c&&(b=h[g],!b.max&&0!==b.max&&(b.max=c),!b.min&&0!==b.min&&(b.min=c),b.max=sa(b.max,c),b.min=Ra(b.min,c));null!==d&&(a=h.x,a.max=a.max>d?a.max:d,a.min=a.min<d?a.min:d)},spaceManager:function(b,d,a,c){var e=b[ga],g,t=d.chart,l=b.chart,p,m,q=this.smartLabel||e.smartLabel,k=e.x.min,n=e.x.max,s,A,r=c-(e.marginBottomExtraSpace+0+l.marginTop),z=b.yAxis,x;m=z.length;var u,qa,B=0,v=0,w=8,F,wa=sa(f(l.plotBorderWidth,1),0),J;this.base.spaceManager.apply(this,arguments);b.xAxis.min=
k-0.5;b.xAxis.max=n+0.5;b.yAxis[0].title.centerYAxis=b.yAxis[1].title.centerYAxis=!0;if(b.subCharts){k=b.subCharts[0];B=b.xAxis.showLine?b.xAxis.lineThickness:wa;J=c-(l.marginTop+l.marginBottom+B+wa);v=k.chart.volumeHeightPercent;n=(e.horizontalAxisHeight||15)+wa;J=J*v/100;l.marginBottom+=J+B+wa;m=I({},b.xAxis);v=0;for(w=b.xAxis.plotBands.length;v<w;v+=1)(g=b.xAxis.plotBands[v])&&g.label&&g.label.text&&(g.label.text=" "),(g=m.plotBands[v])&&g.label&&g.label.y&&(g.label.y=Oa(t.basefontsize,10)+4+B);
v=0;for(w=m.plotLines.length;v<w;v+=1)(g=m.plotLines[v])&&g.label&&g.label.text&&(g.label.text=y);k.yAxis&&k.yAxis[0]&&k.yAxis[0].title&&k.yAxis[0].title.text&&(k.yAxis[0].title.text=y);k.xAxis=m;m=h(d.chart.rotateyaxisname,"ccw");m=m===ic?"none":m;q=z[1].title.rotation?q.getSmartText(k.yAxis[1].title.text,"none"===m?l.marginLeft-10:J,void 0,!0).text:q.getSmartText(k.yAxis[1].title.text,q.getOriSize(z[1].title.text).width,void 0,!0).text;z=k.yAxis;m=z.length;w=v=B=0;for(u=m-1;0<=u;u-=1)qa=z[u],g=
e[u],x=qa.opposite,F=(x?v:B)+w,m=h(d.chart.rotateyaxisname,x?"cw":"ccw"),m=m===ic?"none":m,p=f(t.yaxisvaluespadding,t.labelypadding,4),p<wa&&(p=wa),g.verticalAxisNamePadding=10,g.verticalAxisValuesPadding=p+(qa.showLine?qa.lineThickness:0),g.rotateVerticalAxisName=m,qa.offset=F,x?s=Gb(qa,g,k,d,r,l.marginRight,!!x,0,0,v):A=Gb(qa,g,k,d,r,l.marginLeft,!!x,0,0,B);z=b.yAxis;k.yAxis[1].title=I({},b.yAxis[1].title);k.yAxis[1].title.style=b.orphanStyles.vyaxisname.style;k.yAxis[1].title.text=q;k.chart.left=
0;k.chart.width=a;k.chart.top=c-l.marginBottom+n;k.chart.height=l.marginBottom-n;s=Math.max(l.marginRight,s+l.spacingRight);A=Math.max(l.marginLeft,A+l.spacingLeft);k.chart.marginLeft=l.marginLeft=A;k.chart.marginRight=l.marginRight=s;k.chart.marginTop=5;k.chart.marginBottom=l.marginBottom-(n+J);b.yAxis.push(k.yAxis[0],k.yAxis[1]);k.xAxis.startY=z[2].startY=z[3].startY=k.chart.top+k.chart.marginTop;k.xAxis.endY=z[2].endY=z[3].endY=k.yAxis[0].startY+k.chart.height-k.chart.marginBottom;k.series[0]&&
(k.series[0].yAxis=3,b.series.push(k.series[0]));b.xAxis=[b.xAxis,k.xAxis];b.yAxis[2].title.centerYAxis=b.yAxis[3].title.centerYAxis=!0}},isDual:!0,numVDivLines:0,defSetAdaptiveYMin:!0,divLineIsDashed:1,isCandleStick:!0,defaultPlotShadow:1,requiredAutoNumericLabels:1},w.scatterbase);w("kagi",{friendlyName:"Kagi Chart",standaloneInit:!0,stepLine:!0,creditLabel:Ha,defaultSeriesType:"kagi",defaultZeroPlaneHighlighted:!1,setAdaptiveYMin:1,canvasPadding:15,isKagi:1,rendererId:"kagi",pointValueWatcher:function(b,
d,a){null!==d&&(b=b[ga],a=f(a,0),b[a]||(b[a]={}),a=b[a],this.maxValue=a.max=a.max>d?a.max:d,this.minValue=a.min=a.min<d?a.min:d)},point:function(b,d,a,c,e){b=e.chart;var g=a.length,t=0,l=e[ga].x,p=e[ga].numberFormatter,m=this.colorManager,q,k,n,s,A,r,z,x,u,v,B,w,fa,F,wa,J,U,L,ba,G,pa,C,ea;x=$(h(c.linecolor,c.palettecolors,m.getColor("plotFillColor")));u=f(c.linealpha,100);q=f(c.linethickness,2);d.color={FCcolor:{color:x,alpha:u}};ba=d.anchorShadow=f(c.anchorshadow,0);d.lineWidth=q;d.step=this.stepLine;
d.drawVerticalJoins=Boolean(f(c.drawverticaljoins,1));z=f(c.drawanchors,c.showanchors);for(k=0;k<g;k+=1)s=a[k],s.vline||(q=p.getCleanValue(s.value),null!=q&&(n=f(s.showlabel,c.showlabels,1),n=H(n?O(s.label,s.name):y),t+=1,r=f(s.linealpha,u),A={opacity:r/100},v=f(s.anchorsides,c.anchorsides,0),L=f(s.anchorstartangle,c.anchorstartangle,90),fa=f(s.anchorradius,c.anchorradius,this.anchorRadius,3),w=$(h(s.anchorbordercolor,c.anchorbordercolor,x)),B=f(s.anchorborderthickness,c.anchorborderthickness,this.anchorBorderThickness,
1),F=$(h(s.anchorbgcolor,c.anchorbgcolor,m.getColor("anchorBgColor"))),wa=h(s.anchoralpha,c.anchoralpha,"100"),J=h(s.anchorbgalpha,c.anchorbgalpha,wa),r=void 0===z?0!==r:!!z,G=Boolean(f(s.anchorshadow,ba,0)),pa=h(s.anchorimageurl,c.anchorimageurl),C=h(s.anchorimagescale,c.anchorimagescale,100),ea=h(s.anchorimagealpha,c.anchorimagealpha,100),U=this.pointHoverOptions(s,d,{plotType:"anchor",anchorBgColor:F,anchorAlpha:wa,anchorBgAlpha:J,anchorAngle:L,anchorBorderThickness:B,anchorBorderColor:w,anchorBorderAlpha:wa,
anchorSides:v,anchorRadius:fa,imageUrl:pa,imageScale:C,imageAlpha:ea,shadow:A}),d.data.push(I(this.getPointStub(s,q,n,e),{y:q,color:x,shadow:A,dashStyle:s.dashed,valuePosition:h(s.valueposition,b.valuePosition),isDefined:!0,marker:{enabled:!!r,shadow:G&&{opacity:wa/100},fillColor:{FCcolor:{color:F,alpha:J*wa/100+y}},lineColor:{FCcolor:{color:w,alpha:wa}},lineWidth:B,radius:fa,startAngle:L,symbol:ca(v),imageUrl:pa,imageScale:C,imageAlpha:ea},hoverEffects:U.enabled&&U.options,rolloverProperties:U.enabled&&
U.rolloverOptions})),this.pointValueWatcher(e,q)));l.catCount=t;return d},postSeriesAddition:function(b,d){var a=b.series[0],c=d.chart,e=d.data,g=a&&a.data,t=g&&g.length,l=b[ga],p=l.x,l=l.axisGridManager,m=b.xAxis,q=!1,k=0,n=0.5,s=f(c.reversalvalue,-1),t=f(c.reversalpercentage,5),A=this.maxValue,r=this.minValue,z,x,u,qa,B,w,fa,F,G,J,U,L,ba,C,pa,I,ea={};if(g&&g.length){a.rallyColor=h(c.rallycolor,"FF0000");a.rallyAlpha=f(c.rallyalpha,c.linealpha,100);a.declineColor=h(c.declinecolor,"0000FF");a.declineAlpha=
f(c.declinealpha,c.linealpha,100);a.rallyThickness=f(c.rallythickness,c.linethickness,2);B=f(c.rallydashlen,c.linedashlen,5);ba=f(c.rallydashgap,c.linedashgap,4);a.declineThickness=f(c.declinethickness,c.linethickness,2);C=f(c.declinedashlen,c.linedashlen,5);L=f(c.declinedashgap,c.linedashgap,4);a.lineDashed={"true":f(c.rallydashed,c.linedashed,0),"false":f(c.declinedashed,c.linedashed,0)};a.rallyDashed=f(c.rallydashed,c.linedashed,0)?Ba(B,ba,a.rallyThickness):void 0;a.declineDashed=f(c.declinedashed,
c.linedashed,0)?Ba(C,L,a.declineThickness):void 0;a.canvasPadding=f(c.canvaspadding,this.canvasPadding,15);s=0<s?s:t*(A-r)/100;A=g[0].y;r=function(a,b){for(var c,d=1,e=g[0].y;d<a;)c=g[d].y,b?c<=e&&(g[d].isDefined=!1):c>=e&&(g[d].isDefined=!1),d+=1;g[0].vAlign=b?va:Fa;g[0].align="center"};t=e&&e.length;for(C=ba=0;C<t;C+=1)if((L=e[C])&&L.vline)ba&&l.addVline(m,L,n,b);else{ea=e[C];I&&(I=!1,n+=0.5);if(ba&&(G=g[ba])){J=g[ba-1];G.vAlign="middle";G.align=Da;G.showLabel=!1;B=null;qa=G.y;u=g[ba+1]&&g[ba+1].y;
U=v(A-qa);q?qa<w&&z?z=!1:qa>fa&&!z&&(z=!0):(qa>A&&U>s?(z=!0,w=A,fa=null,q=x=!0,r(ba,z)):qa<A&&U>s?(z=!1,w=null,fa=A,x=!1,q=!0,r(ba,z)):(x=z=null,q=!1),ma(J)&&(J.isRally=z),null!=z&&(g[0].isRally=z));G.isRally=z;if(x&&qa<A||!x&&qa>A)B=A;pa=B?B:qa;U=v(pa-u);u=null==x?null:x?pa>u&&U>=s:pa<u&&U>=s;if(J&&J.isShift)for(x?(w=A,F=va):x||(fa=A,F=Fa),J=ba;1<J;J-=1)if(g[J].y==A){g[J].vAlign=F;g[J].align="center";g[J].showLabel=!0;break}u?(k+=1,n+=0.5,I=!0,x=!x,G.isShift=!0,A=pa,qa=f(L.showlabel,c.showlabels,
1),L=H(qa?O(L.label,L.name):y),l.addXaxisCat(m,k-1,k-1,L)):x&&qa>A||!x&&qa<A?A=qa:B=A;G.plotValue=B;G.objParams={isRally:z,lastHigh:fa,lastLow:w,isRallyInitialised:q}}ba+=1}qa=f(ea.showlabel,c.showlabels,1);L=H(qa?O(ea.label,ea.name):y);l.addXaxisCat(m,k,k,L);a.shiftCount=p.catCount=k+1}},xAxisMinMaxSetter:function(b,d,a){var c=b[ga].x,e=d.chart;d=c.min=f(c.min,0);var c=c.max=f(c.max,c.catCount-1),g=b.xAxis,h=Ra(f(e.canvaspadding,0),a/2-10),l=h,p=f(e.maxhshiftpercent,10),m=b.series[0];b=m&&m.shiftCount;
var e=f(e.canvaspadding,this.canvasPadding,15),q=a-2*e;m&&(l=m.xShiftLength=Ra(q/b,(0>=p?10:p)*q/100),h=e+l/2,l=a-(l*sa(b-1,1)+h),c=sa(c,1));g.labels.enabled=!1;g.gridLineWidth=0;g.alternateGridColor=Pa;a=(a-(h+l))/(c-d+0);g.min=d-(0+h/a);g.max=c+(0+l/a)}},w.linebase);wb=function(b,d,a){this.nf=d;this.dataSeparator=a;this.method=(b||y).toLowerCase().replace(/\s/g,"")};wb.prototype={setArray:function(b){var d=this.nf,a=this.dataSeparator,c=0;!b&&(b=y);for(b=this.dataLength=(a=b.replace(/\s/g,y).split(a))&&
a.length;b--;)c+=a[b]=d.getCleanValue(a[b]);a&&a.sort(function(a,b){return a-b});this.values=a;this.mean=c/this.dataLength;this.getFrequencies()},getQuartiles:function(){var b=this.values,d=this.dataLength,a=d%2,c,e;switch(this.method){case "tukey":a?(a=(d+3)/4,d=(3*d+1)/4):(a=(d+2)/4,d=(3*d+2)/4);break;case "mooremccabe":a?(a=(d+1)/4,d=3*a):(a=(d+2)/4,d=(3*d+2)/4);break;case "freundperles":a=(d+3)/4;d=(3*d+1)/4;break;case "mendenhallsincich":a=C((d+1)/4);d=C(3*a);break;default:a=(d+1)/4,d=3*a}a-=
1;d-=1;c=jb(a);e=jb(d);a=a-c?b[c]+(b[da(a)]-b[c])*(a-c):b[a];b=d-e?b[e]+(b[da(d)]-b[e])*(d-e):b[d];return this.quartiles={q1:a,q3:b}},getMinMax:function(){var b=this.values;return{min:b[0],max:b[this.dataLength-1]}},getMean:function(){return this.mean},getMD:function(){for(var b=this.mean,d=this.frequencies,a=d.length,c,e=0;a--;)c=d[a],e+=c.frequency*v(c.value-b);return e/this.dataLength},getSD:function(){for(var b=this.mean,d=this.values,a=this.dataLength,c=a,e=0;a--;)e+=X(d[a]-b,2);return S(e)/
c},getQD:function(){return 0.5*(this.quartiles.q3-this.quartiles.q1)},getFrequencies:function(){var b=[],d=this.dataLength,a=this.values,c=0,e,g,f;for(f=0;f<d;f+=1)c+=e=a[f],ma(b[f])?b[f].frequency+=1:(g={},g.value=e,g.frequency=1,b[f]=g);this.sum=c;this.frequencies=b},getMedian:function(){var b=this.dataLength,d=0.5*b,a=this.values;return 0===b%2?(a[d]+a[d-1])/2:a[jb(d)]}};wb.prototype.constructor=wb;w("boxandwhisker2d",{friendlyName:"Box and Whisker Chart",standaloneInit:!0,creditLabel:Ha,defaultSeriesType:"boxandwhisker2d",
chart:w.errorbar2d.chart,drawErrorValue:w.errorbar2d.drawErrorValue,decimals:2,maxColWidth:9E3,useErrorAnimation:1,avoidCrispError:0,tooltipsepchar:": ",rendererId:"boxandwhisker",fireGroupEvent:!0,point:function(b,d,a,c,e,g,t,l,p){var m=e[ga],q=f(c.ignoreemptydatasets,0),k=m.numberFormatter,n=e.chart.useRoundEdges,s=f(c.showshadow,1),A=this.colorManager,r=","+(f(c.useplotgradientcolor,0)?Mb(c.plotgradientcolor,A.getColor("plotGradientColor")):y),z=2*t,x=f(c.plotborderthickness,1),u=h(c.plotbordercolor,
A.getColor("plotBorderColor")).split(",")[0],v=h(c.plotborderalpha,"100"),B="0"==c.showplotborder?"0":v,w=f(a.dashed,c.plotborderdashed,0),fa=f(a.dashlen,c.plotborderdashlen,5),F=f(a.dashgap,c.plotborderdashgap,4),C=h(a.upperboxcolor,c.upperboxcolor,A.getPlotColor(z)),J=h(a.lowerboxcolor,c.lowerboxcolor,A.getPlotColor(z+1)),U=f(a.upperboxalpha,c.upperboxalpha),L=f(a.lowerboxalpha,c.lowerboxalpha),ba=h(a.upperwhiskercolor,c.upperwhiskercolor,u),D=h(a.lowerwhiskercolor,c.lowerwhiskercolor,u),pa=f(a.upperwhiskeralpha,
c.upperwhiskeralpha,c.plotborderalpha,"100"),M=f(a.lowerwhiskeralpha,c.lowerwhiskeralpha,c.plotborderalpha,"100"),ea=f(a.upperwhiskerthickness,c.upperwhiskerthickness,x),ka=f(a.lowerwhiskerthickness,c.lowerwhiskerthickness,x),P=h(a.upperwhiskerdashed,c.upperwhiskerdashed,0),N=h(a.lowerwhiskerdashed,c.lowerwhiskerdashed,0),ta=h(a.upperwhiskerdashlen,c.upperwhiskerdashlen,5),Y=h(a.lowerwhiskerdashlen,c.lowerwhiskerdashlen,5),R=h(a.upperwhiskerdashgap,c.upperwhiskerdashgap,4),na=h(a.lowerwhiskerdashgap,
c.lowerwhiskerdashgap,4),W=h(a.upperquartilecolor,c.upperquartilecolor,u),Z=h(a.lowerquartilecolor,c.lowerquartilecolor,u),K=h(a.upperboxbordercolor,c.upperboxbordercolor,u),S=h(a.lowerboxbordercolor,c.lowerboxbordercolor,u),O=h(a.mediancolor,c.mediancolor,u),aa=h(a.upperquartilealpha,c.upperquartilealpha,n?0:v),Q=h(a.lowerquartilealpha,c.lowerquartilealpha,n?0:v),X=h(a.upperboxborderalpha,c.upperboxborderalpha,n?0:B),ia=h(a.lowerboxborderalpha,c.lowerboxborderalpha,n?0:B),$=h(a.medianalpha,c.medianalpha,
v),Ta=h(a.upperquartilethickness,c.upperquartilethickness,x),Lc=h(a.lowerquartilethickness,c.lowerquartilethickness,x),Mc=h(a.upperboxborderthickness,c.upperboxborderthickness,x),Nc=h(a.lowerboxborderthickness,c.lowerboxborderthickness,x),da=h(a.medianthickness,c.medianthickness,x),ja=h(a.upperquartiledashed,c.upperquartiledashed,w),ua=h(a.lowerquartiledashed,c.lowerquartiledashed,w),za=h(a.upperboxborderdashed,c.upperboxborderdashed,w),zb=h(a.lowerboxborderdashed,c.lowerboxborderdashed,w),dd=h(a.mediandashed,
c.mediandashed,w),ra=h(a.upperquartiledashlen,c.upperquartiledashlen,fa),Ac=h(a.lowerquartiledashlen,c.lowerquartiledashlen,fa),xa=h(a.upperboxborderdashlen,c.upperboxborderdashlen,fa),la=h(a.lowerboxborderdashlen,c.lowerboxborderdashlen,fa),ya=h(a.mediandashlen,c.mediandashlen,fa),oa=h(a.upperquartiledashgap,c.upperquartiledashgap,F),va=h(a.lowerquartiledashgap,c.lowerquartiledashgap,F),Da=h(a.upperboxborderdashgap,c.upperboxborderdashgap,F),Ea=h(a.lowerboxborderdashgap,c.lowerboxborderdashgap,F),
Ga=h(a.mediandashgap,c.mediandashgap,F),Fa={},Ha={},Ia={},Ja={},Ca={},Ka=[],La=[],Ma=[],Na=[],Qa=[],Oa={polygon:"polygon",spoke:"spoke"},Sa=Oa[h(a.meaniconshape,c.meaniconshape,"polygon").toLowerCase()]||"polygon",Ua=f(a.meaniconradius,c.meaniconradius,5),Va=f(a.meaniconsides,c.meaniconsides,3),Xa=h(a.meaniconcolor,c.meaniconcolor,"000000"),Ya=h(a.meaniconbordercolor,c.meaniconbordercolor,"000000"),Za=f(a.meaniconalpha,c.meaniconalpha,100),$a=Oa[h(a.sdiconshape,c.sdiconshape,"polygon").toLowerCase()]||
"polygon",ab=f(a.sdiconradius,c.sdiconradius,5),db=f(a.sdiconsides,c.sdiconsides,3),bb=h(a.sdiconcolor,c.sdiconcolor,"000000"),cb=h(a.sdiconbordercolor,c.sdiconbordercolor,"000000"),ib=f(a.sdiconalpha,c.sdiconalpha,100),fb=Oa[h(a.mdiconshape,c.mdiconshape,"polygon").toLowerCase()]||"polygon",hb=f(a.mdiconradius,c.mdiconradius,5),jb=f(a.mdiconsides,c.mdiconsides,3),gb=h(a.mdiconcolor,c.mdiconcolor,"000000"),lb=h(a.mdiconbordercolor,c.mdiconbordercolor,"000000"),nb=f(a.mdiconalpha,c.mdiconalpha,100),
ob=Oa[h(a.qdiconshape,c.qdiconshape,"polygon").toLowerCase()]||"polygon",pb=f(a.qdiconradius,c.qdiconradius,5),qb=f(a.qdiconsides,c.qdiconsides,3),mb=h(a.qdiconcolor,c.qdiconcolor,"000000"),rb=h(a.qdiconbordercolor,c.qdiconbordercolor,"000000"),Eb=f(a.qdiconalpha,c.qdiconalpha,100),ub=Oa[h(a.outliericonshape,c.outliericonshape,"polygon").toLowerCase()]||"polygon",vb=f(a.outliericonradius,c.outliericonradius,5),wb=f(a.outliericonsides,c.outliericonsides,3),Fb=h(a.outliericoncolor,c.outliericoncolor,
"000000"),Gb=h(a.outliericonbordercolor,c.outliericonbordercolor,"000000"),Hb=f(a.outliericonalpha,c.outliericonalpha,100),yb=(1-2*m.plotSpacePercent)/2*(-0.5+t),Nb=f(c.reverselegend,0),tb=Nb?-1:1,xb=d.legendIndex=6*t+(Nb?5:0),Sb=f(a.showmean,c.showmean,0),$b=f(a.showmd,c.showmd,0),ac=f(a.showsd,c.showsd,0),cc=f(a.showqd,c.showqd,0),Zb=f(a.showalloutliers,c.showalloutliers,0),tc=f(c.outliersupperrangeratio,0),uc=f(c.outlierslowerrangeratio,0),bc=!1,kc=Boolean(f(c.showdetailedlegend,1)),lc=m.tooltipSepChar,
Tb=!0,jc=m.dataSeparator,Qb=m.bwCalc,gc=h(d.type,this.defaultSeriesType),rc=e.plotOptions[gc]&&e.plotOptions[gc].stacking,sb,Ub,Bc,Cc,hc,ic,Oc,Pc,Qc,Rc,Sc,kb,Ib,Jb,Kb,Lb,vc,Dc,Pb,dc,mc,Rb,ec,Vb,Wb,Xb,Ec,Fc,nc,Gc,V,oc,Yb,pc,fc,Tc,Hc,eb,Wa,Uc,qc,Ic,Ab,Bb,wc,Jc,Cb,Db,Kc,yc=function(a,b){return a-b},xc,Vc,Wc,Xc,Yc,Zc;d.errorBarWidthPercent=f(a.whiskerslimitswidthratio,c.whiskerslimitswidthratio,40);Ic=a.data;d.name=T(a.seriesname);rc||(d.columnPosition=f(p,l,t));d.errorBar2D=!0;if(0===f(a.includeinlegend)||
void 0===d.name)Tb=d.showInLegend=!1;3>Va&&(Va=3);vc=Ob(C.split(",")[0]);Dc=Ob(J.split(",")[0]);d.color={FCcolor:{color:vc+","+vc+","+Dc+","+Dc,alpha:"100,100,100,100",angle:90,ratio:"0,50,0,50"}};pc=this.isBar;B=(fc=/3d$/.test(e.chart.defaultSeriesType))?c.showplotborder?B:"0":B;u=fc?h(c.plotbordercolor,"#FFFFFF"):u;tc=0>tc?0:tc;uc=0>uc?0:uc;for(Xb=0;Xb<g;Xb+=1){if(V=Ic&&Ic[Xb])V.value?(Qb.setArray(V.value),Jc=Qb.getQuartiles(),Cb=Jc.q1,Db=Jc.q3,Kc=Qb.getMinMax(),Bb=Wb=Kc.min,Ab=Kc.max,wc=Qb.getMedian(),
Ib=Qb.getMean(),Kb=Qb.getMD(),Jb=Qb.getSD(),Lb=Qb.getQD(),Vb=ec=Ab):(Cb=k.getCleanValue(V.q1),Db=k.getCleanValue(V.q3),Bb=Wb=k.getCleanValue(V.min),Ab=k.getCleanValue(V.max),wc=k.getCleanValue(V.median),Vb=ec=Ab,Ib=Cc=k.getCleanValue(V.mean),Kb=k.getCleanValue(V.md),Jb=k.getCleanValue(V.sd),Lb=k.getCleanValue(V.qd));if(V&&null!=Cb&&null!=Db&&null!==ec){bc=!0;Cc=f(V.showmean,Sb);hc=f(V.showmd,$b);ic=f(V.showsd,ac);Oc=f(V.showqd,cc);Ub=m.oriCatTmp[Xb];eb=this.getPointStub(e,c,a,V,Ab,Db,wc,Cb,Bb,Ib,
Kb,Jb,Lb,Ub);Wa=eb.toolText;Cc?(Pc=1,kb=f(V.meaniconalpha,Za),Wa=T(H(h(V.meantooltext,a.meantooltext,c.meantooltext))),Wa=void 0!==Wa?this.getTooltext(Wa,e,c,a,V,Ab,Bb,Cb,Db,Ca,Jb,Lb,Kb,Ib,Ub):"<b>Mean"+lc+"</b>"+k.dataLabels(Ib),Ka.push({y:Ib,toolText:Wa,link:eb.link,marker:{enabled:!0,fillColor:E(h(V.meaniconcolor,Xa),kb),lineColor:E(h(V.meaniconbordercolor,Ya),kb),radius:f(V.meaniconradius,Ua),symbol:ca(f(V.meaniconsides,Va),"spoke"==h(V.meaniconshape,Sa))}})):Ka.push({y:null});hc?(Qc=1,kb=f(V.mdiconalpha,
nb),Wa=T(H(h(V.mdtooltext,a.mdtooltext,c.mdtooltext))),Wa=void 0!==Wa?this.getTooltext(Wa,e,c,a,V,Ab,Bb,Cb,Db,Ca,Jb,Lb,Kb,Ib,Ub):"<b>MD"+lc+"</b>"+k.dataLabels(Kb),La.push({y:Kb,toolText:Wa,link:eb.link,marker:{enabled:!0,fillColor:E(h(V.mdiconcolor,gb),kb),lineColor:E(h(V.mdiconbordercolor,cb),kb),radius:f(V.mdiconradius,hb),symbol:ca(f(V.mdiconsides,jb),"spoke"==h(V.mdiconshape,fb))}})):La.push({y:null});ic?(Rc=1,kb=f(V.sdiconalpha,ib),Wa=T(H(h(V.sdtooltext,a.sdtooltext,c.sdtooltext))),Wa=void 0!==
Wa?this.getTooltext(Wa,e,c,a,V,Ab,Bb,Cb,Db,Ca,Jb,Lb,Kb,Ib,Ub):"<b>SD"+lc+"</b>"+k.dataLabels(Jb),Ma.push({y:Jb,toolText:Wa,link:eb.link,marker:{enabled:!0,fillColor:E(h(V.sdiconcolor,bb),kb),lineColor:E(h(V.sdiconbordercolor,cb),kb),radius:f(V.sdiconradius,ab),symbol:ca(f(V.sdiconsides,db),"spoke"==h(V.sdiconshape,$a))}})):Ma.push({y:null});Oc?(Sc=1,kb=f(V.qdiconalpha,Eb),Wa=T(H(h(V.qdtooltext,a.qdtooltext,c.qdtooltext))),Wa=void 0!==Wa?this.getTooltext(Wa,e,c,a,V,Ab,Bb,Cb,Db,Ca,Jb,Lb,Kb,Ib,Ub):"<b>QD"+
lc+"</b>"+k.dataLabels(Lb),Na.push({y:Lb,toolText:Wa,link:eb.link,marker:{enabled:!0,fillColor:E(h(V.qdiconcolor,mb),kb),lineColor:E(h(V.qdiconbordercolor,rb),kb),radius:f(V.qdiconradius,pb),symbol:ca(f(V.qdiconsides,qb),"spoke"==h(V.qdiconshape,ob))}})):Na.push({y:null});if(Pb=V.outliers){Pb=Pb.replace(/\s/g,y).split(jc);for(dc=Pb.length;dc--;)Pb[dc]=k.getCleanValue(Pb[dc]);Pb.sort(yc);dc=Pb.length;for(mc=0;mc<dc;mc+=1)if(Rb=Pb[mc],Zb&&(Vb=sa(ec,Rb),Wb=Ra(Bb,Rb)),kb=f(V.outliericonalpha,Hb),Rb>ec||
Rb<Bb)Wa=T(H(h(V.outlierstooltext,a.outlierstooltext,c.outlierstooltext))),Wa=void 0!==Wa?this.getTooltext(Wa,e,c,a,V,Ab,Bb,Cb,Db,Ca,Jb,Lb,Kb,Ib,Ub,Rb):"<b>Outlier"+lc+"</b>"+k.dataLabels(Rb),Qa.push({y:Rb,toolText:Wa,x:Xb,link:eb.link,marker:{enabled:!0,fillColor:E(h(V.outliericoncolor,Fb),kb),lineColor:E(h(V.outliericonbordercolor,Gb),kb),radius:f(V.outliericonradius,vb),symbol:ca(f(V.outliericonsides,wb),"spoke"==h(V.outliericonshape,ub))}})}Zb||(Bc=Vb-Wb,Vb+=Bc*tc,Wb-=Bc*uc);Ec=h(V.upperboxcolor,
C)+r;Fc=h(V.lowerboxcolor,J)+r;nc=h(V.upperboxalpha,U,c.upperboxalpha,c.plotfillalpha,"100")+y;Gc=h(V.lowerboxalpha,L,c.lowerboxalpha,c.plotfillalpha,"100")+y;oc=h(V.ratio,a.ratio,c.plotfillratio);Yb=h(360-c.plotfillangle,90);0>ec&&(Yb=360-Yb);Uc={opacity:nc/100};qc=Ra(nc,B)+y;Tc=Aa(Ec,nc,oc,Yb,n,u,qc,pc,fc);Hc=Aa(Fc,Gc,oc,Yb,n,u,qc,pc,fc);Fa={value:Db,color:E(h(V.upperquartilecolor,W),f(V.upperquartilealpha,aa)),borderWidth:f(V.upperquartilethickness,Ta),dashStyle:f(V.upperquartiledashed,ja)?Ba(h(V.upperquartiledashlen,
ra),h(V.upperquartiledashgap,oa),f(V.upperquartilethickness,Ta)):void 0,displayValue:eb.displayValueQ3};Ha={value:Cb,color:E(h(V.lowerquartilecolor,Z),f(V.lowerquartilealpha,Q)),borderWidth:f(V.lowerquartilethickness,Lc),dashStyle:f(V.lowerquartiledashed,ua)?Ba(h(V.lowerquartiledashlen,Ac),h(V.lowerquartiledashgap,va),f(V.lowerquartilethickness,Lc)):void 0,displayValue:eb.displayValueQ1};Ia={color:E(h(V.upperboxbordercolor,K),f(V.upperboxborderalpha,X)),borderWidth:f(V.upperboxborderthickness,Mc),
dashStyle:f(V.upperboxborderdashed,za)?Ba(h(V.upperboxborderdashlen,xa),h(V.upperboxborderdashgap,Da),f(V.upperboxborderthickness,Mc)):void 0};Ja={color:E(h(V.lowerboxbordercolor,S),f(V.lowerboxborderalpha,ia)),borderWidth:f(V.lowerboxborderthickness,Nc),dashStyle:f(V.lowerboxborderdashed,zb)?Ba(h(V.lowerboxborderdashlen,la),h(V.lowerboxborderdashgap,Ea),f(V.lowerboxborderthickness,Nc)):void 0};Ca={value:wc,color:E(h(V.mediancolor,O),f(V.medianalpha,$)),borderWidth:f(V.medianthickness,da),dashStyle:f(V.mediandashed,
dd)?Ba(h(V.mediandashlen,ya),h(V.mediandashgap,Ga),f(V.medianthickness,da)):void 0,displayValue:eb.displayValueMid};xc=[];ma(Ab)&&xc.push({errorValue:Ab-Db,toolText:eb.toolText,link:eb.link,errorBarColor:E(h(V.upperwhiskercolor,ba),f(V.upperwhiskeralpha,pa)),errorBarThickness:f(V.upperwhiskerthickness,ea),dashStyle:f(V.upperwhiskerdashed,P)?Ba(h(V.upperwhiskerdashlen,ta),h(V.upperwhiskerdashgap,R),f(V.upperwhiskerthickness,ea)):void 0,displayValue:eb.displayValueMax,shadow:{opacity:s?f(V.upperwhiskeralpha,
pa)/250:0}});ma(Bb)&&xc.push({errorValue:-(Cb-Bb),errorStartValue:Cb,toolText:eb.toolText,link:eb.link,errorBarColor:E(h(V.lowerwhiskercolor,D),f(V.lowerwhiskeralpha,M)),errorBarThickness:f(V.lowerwhiskerthickness,ka),dashStyle:f(V.lowerwhiskerdashed,N)?Ba(h(V.lowerwhiskerdashlen,Y),h(V.lowerwhiskerdashgap,na),f(V.lowerwhiskerthickness,ka)):void 0,displayValue:eb.displayValueMin,shadow:{opacity:s?f(V.lowerwhiskeralpha,M)/250:0}});sb=this.pointHoverOptions(V,a,c,{upperBoxColor:Ec,upperBoxAlpha:nc,
upperBoxBorderColor:h(V.upperboxbordercolor,K),upperBoxBorderAlpha:f(V.upperboxborderalpha,X),upperBoxBorderThickness:Ia.borderWidth,lowerBoxColor:Fc,lowerBoxAlpha:Gc,lowerBoxBorderColor:h(V.lowerboxbordercolor,S),lowerBoxBorderAlpha:f(V.lowerboxborderalpha,ia),lowerBoxBorderThickness:Ja.borderWidth,upperQuartileColor:h(V.upperquartilecolor,W),upperQuartileAlpha:f(V.upperquartilealpha,aa),upperQuartileThickness:Fa.borderWidth,lowerQuartileColor:h(V.lowerquartilecolor,Z),lowerQuartileAlpha:f(V.lowerquartilealpha,
Q),lowerQuartileThickness:Ha.borderWidth,upperWhiskerColor:h(V.upperwhiskercolor,ba),upperWhiskerThickness:f(V.upperwhiskerthickness,ea),upperWhiskerAlpha:f(V.upperwhiskeralpha,pa),lowerWhiskerColor:h(V.lowerwhiskercolor,D),lowerWhiskerAlpha:f(V.lowerwhiskeralpha,M),lowerWhiskerThickness:f(V.lowerwhiskerthickness,ka),medianColor:h(V.mediancolor,O),medianAlpha:f(V.medianalpha,$),medianThickness:f(V.medianthickness,da)});sb.enabled&&(sb.upperBox.fill=G(Aa(sb.upperBox.color,sb.upperBox.alpha,oc,Yb,n,
u,qc,pc,fc)[0].FCcolor),delete sb.upperBox.color,delete sb.upperBox.alpha,sb.lowerBox.fill=G(Aa(sb.lowerBox.color,sb.lowerBox.alpha,oc,Yb,n,u,qc,pc,fc)[0].FCcolor),delete sb.lowerBox.color,delete sb.lowerBox.alpha);d.data.push(I(eb,{y:Db,errorValue:xc,shadow:Uc,color:Tc[0],toolText:eb.toolText,lowerboxColor:Hc[0],lowerboxBorderColor:Hc[1],borderWidth:0,upperQuartile:Fa,lowerQuartile:Ha,upperBoxBorder:Ia,lowerBoxBorder:Ja,median:Ca,hoverEffects:sb}));this.pointValueWatcher(e,Vb);this.pointValueWatcher(e,
Wb)}else d.data.push({y:null}),La.push({y:null}),Ma.push({y:null}),Na.push({y:null}),Ka.push({y:null})}d.showInLegend=Tb&&(bc||!q);d.legendFillColor=E(vc,20);Vc={type:"line",name:"Mean",relatedSeries:"boxandwhisker",data:Ka,legendIndex:xb+tb,showInLegend:!!Pc&&Tb&&kc,marker:{fillColor:E(Xa,100),lineColor:E(Ya,100),radius:Ua,symbol:ca(Va,"spoke"==Sa)},color:f(c.drawmeanconnector,a.drawmeanconnector,0)?E(h(a.meanconnectorcolor,c.meanconnectorcolor,Xa),f(a.meanconnectoralpha,c.meanconnectoralpha,100)):
Pa,lineWidth:f(c.drawmeanconnector,a.drawmeanconnector,0)?f(a.meanconnectorthickness,c.meanconnectorthickness,1):0,shadow:0,legendFillColor:d.legendFillColor};Wc={type:"line",name:"SD",relatedSeries:"boxandwhisker",data:Ma,legendIndex:xb+2*tb,showInLegend:!!Rc&&Tb&&kc,marker:{fillColor:E(bb,100),lineColor:E(cb,100),radius:ab,symbol:ca(db,"spoke"==$a)},color:f(c.drawsdconnector,a.drawsdconnector,0)?E(h(a.sdconnectorcolor,c.sdconnectorcolor,bb),f(a.sdconnectoralpha,c.sdconnectoralpha,100)):Pa,lineWidth:f(c.drawsdconnector,
a.drawsdconnector,0)?f(a.sdconnectorthickness,c.sdconnectorthickness,1):0,shadow:0,pointStart:yb,legendFillColor:d.legendFillColor};Xc={type:"line",name:"MD",relatedSeries:"boxandwhisker",data:La,legendIndex:xb+3*tb,showInLegend:!!Qc&&Tb&&kc,marker:{fillColor:E(gb,100),lineColor:E(lb,100),radius:hb,symbol:ca(jb,"spoke"==fb)},color:f(c.drawmdconnector,a.drawmdconnector,0)?E(h(a.mdconnectorcolor,c.mdconnectorcolor,gb),f(a.mdconnectoralpha,c.mdconnectoralpha,100)):Pa,lineWidth:f(c.drawmdconnector,a.drawmdconnector,
0)?f(a.mdconnectorthickness,c.mdconnectorthickness,1):0,shadow:0,pointStart:yb,legendFillColor:d.legendFillColor};Yc={type:"line",name:"QD",relatedSeries:"boxandwhisker",data:Na,legendIndex:xb+4*tb,showInLegend:!!Sc&&Tb&&kc,marker:{fillColor:E(mb,100),lineColor:E(rb,100),radius:pb,symbol:ca(qb,"spoke"==ob)},color:f(c.drawqdconnector,a.drawqdconnector,0)?E(h(a.qdconnectorcolor,c.qdconnectorcolor,mb),f(a.qdconnectoralpha,c.qdconnectoralpha,100)):Pa,lineWidth:f(c.drawqdconnector,a.drawqdconnector,0)?
f(a.qdconnectorthickness,c.qdconnectorthickness,1):0,shadow:0,pointStart:yb,legendFillColor:d.legendFillColor};Zc={type:"line",name:"Outlier",relatedSeries:"boxandwhisker",showInLegend:!(!Qa||!Qa.length)&&Tb&&kc,data:Qa,legendIndex:xb+5*tb,marker:{fillColor:E(Fb,100),lineColor:E(Gb,100),radius:vb,symbol:ca(wb,"spoke"==ub)},color:Pa,lineWidth:0,shadow:0,pointStart:yb,legendFillColor:d.legendFillColor};e._meanDataArr.push(Vc);e._sdDataArr.push(Wc);e._mdDataArr.push(Xc);e._qdDataArr.push(Yc);e._outliers.push(Zc);
return d},series:function(b,d,a){var c=d.series,e=d._meanDataArr=[],g=d._sdDataArr=[],f=d._mdDataArr=[],l=d._qdDataArr=[],p=d._outliers=[],m=d[ga],q=d.yAxis[0],k=2*m.plotSpacePercent,n,s,A,r,z;m.dataSeparator=h(d.chart.dataseparator,Ga);m.bwCalc=new wb(b.chart.calculationmethod,m.numberFormatter,m.dataSeparator);w.multiseries.series.call(this,b,d,a);a=c&&c.length;b=sa(e.length,g.length,f.length,l.length,p.length,a);k=(1-k)/a;m=q.min;z=q.max;d.series=c.concat(e,g,f,l,p);for(q=0;q<a;q+=1)for(s=c[q],
n=q,!s.relatedSeries&&(s.relatedSeries=[]),A=0;5>A;A+=1)n+=a,s.relatedSeries.push(n);for(A=q=0;A<b;A+=1,q+=1)if(c=(-0.5*(a-1)+q)*k,e[q]&&(e[q].pointStart=c),g[q]&&(g[q].pointStart=c),l[q]&&(l[q].pointStart=c),f[q]&&(f[q].pointStart=c),p[q]&&(p[q].pointStart=c),n=(c=p[q])&&c.data)for(c=0;c<n.length;c+=1)s=n[c],r=s.y,s.y=r>z||r<m?null:r;delete d._meanDataArr;delete d._sdDataArr;delete d._mdDataArr;delete d._qdDataArr;delete d._outliers},getTooltext:function(b,d,a,c,e,g,f,h,p,m,q,k,n,s,A,r){d=this.numberFormatter;
return fb(b,[1,2,3,4,5,6,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80],{maxValue:g,maxDataValue:d.dataLabels(g),minValue:f,minDataValue:d.dataLabels(f),Q1:d.dataLabels(h),unformattedQ1:h,Q3:d.dataLabels(p),unformattedQ3:p,median:d.dataLabels(m),unformattedMedian:m,SD:d.dataLabels(q),unformattedSD:q,QD:d.dataLabels(k),unformattedQD:k,MD:d.dataLabels(n),unformattedMD:n,mean:d.dataLabels(s),unformattedMean:s,label:H(A),yaxisName:H(a.yaxisname),xaxisName:H(a.xaxisname),formattedValue:d.dataLabels(r),
value:r},{value:r},a,c)},pointHoverOptions:function(b,d,a,c){var e=f(b.showhovereffect,d.showhovereffect,a.plothovereffect,a.showhovereffect),g=f(b.highlightonhover,d.highlightonhover,d.highlightplotonhover,a.highlightonhover,a.highlightplotonhover,e),t={},l={},p={},m={},q={},k={},n={},s={},A={},r;t.color=h(b.upperboxhovercolor,d.upperboxhovercolor,a.plotfillhovercolor,a.upperboxhovercolor);t.alpha=h(b.upperboxhoveralpha,d.upperboxhoveralpha,a.upperboxhoveralpha);n.color=h(b.upperboxborderhovercolor,
d.upperboxborderhovercolor,a.upperboxborderhovercolor);n.alpha=h(b.upperboxborderhoveralpha,d.upperboxborderhoveralpha,a.upperboxborderhoveralpha);n.thickness=f(b.upperboxborderhoverthickness,d.upperboxborderhoverthickness,a.upperboxborderhoverthickness);l.color=h(b.lowerboxhovercolor,d.lowerboxhovercolor,a.plotfillhovercolor,a.lowerboxhovercolor);l.alpha=h(b.lowerboxhoveralpha,d.lowerboxhoveralpha,a.lowerboxhoveralpha);s.color=h(b.lowerboxborderhovercolor,d.lowerboxborderhovercolor,a.lowerboxborderhovercolor);
s.alpha=h(b.lowerboxborderhoveralpha,d.lowerboxborderhoveralpha,a.lowerboxborderhoveralpha);s.thickness=f(b.lowerboxborderhoverthickness,d.lowerboxborderhoverthickness,a.lowerboxborderhoverthickness);q.color=h(b.upperwhiskerhovercolor,d.upperwhiskerhovercolor,a.upperwhiskerhovercolor);q.alpha=h(b.upperwhiskerhoveralpha,d.upperwhiskerhoveralpha,a.upperwhiskerhoveralpha);q.thickness=h(b.upperwhiskerhoverthickness,d.upperwhiskerhoverthickness,a.upperwhiskerhoverthickness);k.color=h(b.lowerwhiskerhovercolor,
d.lowerwhiskerhovercolor,a.lowerwhiskerhovercolor);k.alpha=h(b.lowerwhiskerhoveralpha,d.lowerwhiskerhoveralpha,a.lowerwhiskerhoveralpha);k.thickness=h(b.lowerwhiskerhoverthickness,d.lowerwhiskerhoverthickness,a.lowerwhiskerhoverthickness);p.color=h(b.upperquartilehovercolor,d.upperquartilehovercolor,a.upperquartilehovercolor);p.alpha=h(b.upperquartilehoveralpha,d.upperquartilehoveralpha,a.upperquartilehoveralpha);p.thickness=h(b.upperquartilehoverthickness,d.upperquartilehoverthickness,a.upperquartilehoverthickness);
m.color=h(b.lowerquartilehovercolor,d.lowerquartilehovercolor,a.lowerquartilehovercolor);m.alpha=h(b.lowerquartilehoveralpha,d.lowerquartilehoveralpha,a.lowerquartilehoveralpha);m.thickness=h(b.lowerquartilehoverthickness,d.lowerquartilehoverthickness,a.lowerquartilehoverthickness);A.color=h(b.medianhovercolor,d.medianhovercolor,a.medianhovercolor);A.alpha=h(b.medianhoveralpha,d.medianhoveralpha,a.medianhoveralpha);A.thickness=h(b.medianhoverthickness,d.medianhoverthickness,a.medianhoverthickness);
b=!!h(t.color,t.alpha,n.color,n.alpha,n.thickness,l.color,l.alpha,s.color,s.thickness,s.alpha,q.color,q.alpha,q.thickness,k.color,k.alpha,k.thickness,p.color,p.alpha,p.thickness,m.color,m.alpha,m.thickness,A.color,A.alpha,A.thickness,g);void 0===e&&void 0===g&&b&&(g=0);if(void 0===e&&b||e)r=!0,t.color=h(t.color,g?M(c.upperBoxColor,70):c.upperBoxColor),t.alpha=h(t.alpha,c.upperBoxAlpha),l.color=h(l.color,g?M(c.lowerBoxColor,70):c.lowerBoxColor),l.alpha=h(l.alpha,c.lowerBoxAlpha),n.color=h(n.color,
c.upperBoxBorderColor),n.alpha=f(n.alpha,c.upperBoxBorderAlpha),n.stroke=E(n.color,n.alpha),n["stroke-width"]=f(n.thickness,c.upperBoxBorderThickness),delete n.color,delete n.alpha,delete n.thickness,s.color=h(s.color,c.lowerBoxBorderColor),s.alpha=h(s.alpha,c.lowerBoxBorderAlpha),s.stroke=E(s.color,s.alpha),s["stroke-width"]=f(s.thickness,c.lowerBoxBorderThickness),delete s.color,delete s.alpha,delete s.thickness,q.color=h(q.color,c.upperWhiskerColor,70),q.alpha=h(q.alpha,c.upperWhiskerAlpha),q.stroke=
E(q.color,q.alpha),q["stroke-width"]=h(q.thickness,c.upperWhiskerThickness),delete q.color,delete q.alpha,delete q.thickness,k.color=h(k.color,c.lowerWhiskerColor,70),k.alpha=h(k.alpha,c.lowerWhiskerAlpha),k.stroke=E(k.color,k.alpha),k["stroke-width"]=h(k.thickness,c.lowerWhiskerThickness),delete k.color,delete k.alpha,delete k.thickness,p.color=h(p.color,c.upperQuartileColor,70),p.alpha=h(p.alpha,c.upperQuartileAlpha),p.stroke=E(p.color,p.alpha),p["stroke-width"]=h(p.thickness,c.upperQuartileThickness),
delete p.color,delete p.alpha,delete p.thickness,m.color=h(m.color,c.lowerQuartileColor,70),m.alpha=h(m.alpha,c.lowerQuartileAlpha),m.stroke=E(m.color,m.alpha),m["stroke-width"]=h(m.thickness,c.lowerQuartileThickness),delete m.color,delete m.alpha,delete m.thickness,A.color=h(A.color,c.medianColor,70),A.alpha=h(A.alpha,c.medianAlpha),A.stroke=E(A.color,A.alpha),A["stroke-width"]=h(A.thickness,c.medianThickness),delete A.color,delete A.alpha,delete A.thickness;return{enabled:r,upperBox:t,upperBoxBorder:n,
lowerBox:l,lowerBoxBorder:s,upperQuartile:p,lowerQuartile:m,upperWhisker:q,lowerWhisker:k,median:A}},getPointStub:function(b,d,a,c,e,g,t,l,p,m,q,k,n,s){var A=y,A=b[ga],r=A.tooltipSepChar,z=this.numberFormatter,x=f(c.showvalue,a.showvalues,d.showvalues,1),u={"true":z.dataLabels(e),"false":y},v={"true":z.dataLabels(g),"false":y},B={"true":z.dataLabels(t),"false":y},w={"true":z.dataLabels(l),"false":y},z={"true":z.dataLabels(p),"false":y};A.showTooltip?(A=T(H(h(c.tooltext,a.plottooltext,A.tooltext))),
A=void 0!==A?this.getTooltext(A,b,d,a,c,e,p,l,g,t,k,n,q,m,s):"<b>Maximum"+r+"</b>"+u[!0]+"<br/><b>Q3"+r+"</b>"+v[!0]+"<br/><b>Median"+r+"</b>"+B[!0]+"<br/><b>Q1"+r+"</b>"+w[!0]+"<br/><b>Minimum"+r+"</b>"+z[!0]):A=y;return{toolText:A,link:h(c.link),categoryLabel:s,displayValueMax:u[!(!x||!f(c.showmaxvalue,a.showmaxvalues,d.showmaxvalues,1))],displayValueMid:B[!(!x||!f(c.showmedianvalue,a.showmedianvalues,d.showmedianvalues,1))],displayValueMin:z[!(!x||!f(c.showminvalue,a.showminvalues,d.showminvalues,
1))],displayValueQ3:v[!(!x||!f(c.showq3value,a.showq3values,d.showq3values,0))],displayValueQ1:w[!(!x||!f(c.showq1value,a.showq1values,d.showq1values,0))]}}},w.multiseries);w("heatmap",{friendlyName:"Heatmap Chart",standaloneInit:!0,creditLabel:Ha,defaultSeriesType:"heatmap",tooltipsepchar:": ",tooltipConstraint:"chart",rendererId:"heatmap",series:function(b,d,a){var c=b.chart,e=d.chart,g=d[ga],t=this.colorManager,l=d.series,p=this.numberFormatter,m=b.rows&&b.rows.row,q=m&&m.length,k=b.columns&&b.columns.column,
n=k&&k.length,s=b.dataset,A=s&&s.data,v=b.colorrange||{},z=g.mapByPercent=f(v.mapbypercent,0),x=g.mapByCategory=f(c.mapbycategory,0),v=!x&&f(v.gradient,0),u=h(c.plotfillalpha,100),w=f(c.showlabels,c.showlabel,1),B=f(c.showplotborder,1),G=B?f(c.plotborderthickness,1):0,t=h(c.plotbordercolor,t.getColor("plotBorderColor")),B=h(c.plotborderalpha,B?95:0).toString(),t=E(t,B),B=f(c.plotborderdashed,0),fa=f(c.plotborderdashlen,5),A=f(c.plotborderdashgap,4),fa=B?Ba(fa,A,G):void 0,F=r.colorRange,wa=0,J=0,U=
0,L=0,ba=g.rowIdObj={},D=g.columnIdObj={},pa=[],B=[],M=0,ea=[],ka,P,N,ta,Y,R,na,W,Z;e.showHoverEffect=f(c.showhovereffect,1);v&&(d.legend.type="gradient");d.legend.enabled=Boolean(f(c.showlegend,1));for(e=0;e<q;e+=1)P=m[e],ka=P.id,ma(ka)&&ka!==y&&(wa+=1,ba[ka.toLowerCase()]={index:wa,label:f(P.showlabel,c.showyaxislabels,c.showyaxisnames,w)?h(P.label,P.name,ka):y});for(e=0;e<n;e+=1)N=k[e],m=N.id,ma(m)&&m!==y&&(D[m.toLowerCase()]={index:J,label:f(N.showlabel,c.showxaxislabels,c.showxaxisnames,w)?h(N.label,
N.name,m):y},J+=1);na=0;for(W=s&&s.length;na<W;na+=1)for(A=s[na]&&s[na].data,e=0,Z=A&&A.length;e<Z;e+=1)if(k=A[e],R=p.getCleanValue(k.value),null!==R||x)ka=T(k.rowid,k.rowids),P=T(ka,y).toLowerCase(),m=T(k.columnid,k.columnids),N=T(m,y).toLowerCase(),pa.push(R),ma(Y)||ma(ta)||!ma(R)||(ta=Y=R),Y>R&&(Y=R),ta<R&&(ta=R),!ma(P)||ma(ba[P])||q||(U+=1,ba[P]={index:U,label:ka}),!ma(N)||ma(D[N])||n||(D[N]={index:L,label:m},L+=1),P=ba[P],N=D[N],P&&N&&(ma(ea[P.index])||(ea[P.index]=[]),ea[P.index][N.index]?B[ea[P.index][N.index]-
1]={rowId:ka,columnId:m,categoryId:h(k.colorrangelabel,k.categoryid,k.categoryname,k.category),tlLabel:H(h(k.tllabel,k.ltlabel)),trLabel:H(h(k.trlabel,k.rtlabel)),blLabel:H(h(k.bllabel,k.lblabel)),brLabel:H(h(k.brlabel,k.rblabel)),rowLabel:P.label,columnLabel:N.label,setColor:k.color,setAlpha:h(k.alpha,u),setShowLabel:f(k.showlabel,k.showname,w),colorRangeLabel:k.colorrangelabel,displayValue:k.displayvalue,tooltext:k.tooltext,showvalue:k.showvalue,link:k.link,hoverColor:h(k.hovercolor,c.hovercolor,
c.plotfillhovercolor),hoverAlpha:f(k.hoveralpha,c.hoveralpha,c.plotfillhoveralpha),index:M,value:R,y:P.index,x:N.index,_value:k.value,_cleanValue:R}:(M+=1,B.push({rowId:ka,columnId:m,categoryId:h(k.colorrangelabel,k.categoryid,k.categoryname,k.category),tlLabel:H(h(k.tllabel,k.ltlabel)),trLabel:H(h(k.trlabel,k.rtlabel)),blLabel:H(h(k.bllabel,k.lblabel)),brLabel:H(h(k.brlabel,k.rblabel)),rowLabel:P.label,columnLabel:N.label,setColor:k.color&&k.color.replace(qb,Na),setAlpha:h(k.alpha,u),setShowLabel:f(k.showlabel,
k.showname,w),colorRangeLabel:k.colorrangelabel,displayValue:k.displayvalue,tooltext:k.tooltext,showvalue:k.showvalue,link:k.link,hoverColor:h(k.hovercolor,c.hovercolor,c.plotfillhovercolor),hoverAlpha:f(k.hoveralpha,c.hoveralpha,c.plotfillhoveralpha),index:M,value:R,y:P.index,x:N.index,_value:k.value,_cleanValue:R}),ea[P.index][N.index]=M));if(B.length){g.rowCount=wa=sa(wa,U);g.columnCount=sa(J,L);for(e in ba)ba[e].index=wa-ba[e].index+1;g.minHeatValue=Y;g.maxHeatValue=ta;q=ta-Y;z=z&&!x;d.colorRange=
new F({colorRange:b.colorrange,dataMin:Y,dataMax:ta,sortLegend:f(c.autoorderlegendicon,c.autoorderlegendicon,0),mapByCategory:x,defaultColor:"cccccc",numberFormatter:p});if(v)l.push({data:[],hoverEffects:this.parseSeriesHoverOptions(b,d,s,a),borderWidth:G,borderColor:t,dashStyle:fa});else for(p=(c=d.colorRange.colorArr)&&c.length,e=0;e<p;e+=1)ta=c[e],ma(ta.code)&&l.push({data:[],hoverEffects:this.parseSeriesHoverOptions(b,d,s,a),name:h(ta.label,ta.name),borderWidth:G,borderColor:t,color:Ob(ta.code),
dashStyle:fa});l.length||l.push({data:[],showInLegend:!1});for(e=0;e<B.length;e+=1)k=B[e],z&&(k.value=C((k.value-Y)/q*1E4)/100),a=d.colorRange.getColorObj(x?k.categoryId:k.value),a.outOfRange||(k.y=g.rowCount-k.y+1,k.color=E(h(k.setColor,a.code),h(k.setAlpha,u)),k.hoverColor=E(h(k.hoverColor,k.setColor,a.code),f(k.hoverAlpha,25)),k=I(k,this.getPointStub(k,k.value,y,d,b)),v?l[0].data.push(k):l[a.seriesIndex]&&l[a.seriesIndex].data.push(k))}else d.series=[];this.configureAxis(d,b)},getPointStub:function(b,
d,a,c,e){a=c[ga];var g=e.chart,t=a.tooltipSepChar,l=a.mapByCategory;e=a.mapByPercent&&!l;var p=this.numberFormatter,m=b._cleanValue;c=p.percentValue(d);d=null===m?d:p.dataLabels(m);var q=T(H(h(b.tooltext,a.tooltext))),p=T(H(b.displayValue)),k=l?p:h(p,d),n=f(b.showvalue,a.showValues),s=T(g.tltype,y),A=T(g.trtype,y),r=T(g.bltype,y),z=T(g.brtype,y),l=b.tlLabel,m=b.trLabel,x=b.blLabel,u=b.brLabel,v;s!==y&&(s="<b>"+s+t+"</b>");A!==y&&(A="<b>"+A+t+"</b>");r!==y&&(r="<b>"+r+t+"</b>");z!==y&&(z="<b>"+z+t+
"</b>");a=a.showTooltip?void 0!==q?fb(q,[1,2,5,6,7,14,93,94,95,96,97,98,112,113,114,115,116,117],{formattedValue:d,percentValue:e?c:y,yaxisName:H(g.yaxisname),xaxisName:H(g.xaxisname)},{value:b._value,displayvalue:b.displayValue},g,b):k===y?!1:(e?"<b>Value"+t+"</b>"+d+"<br/><b>Percentage"+t+"</b>"+c:k)+(b.tlLabel!==y?"<br/>"+(s+b.tlLabel):y)+(b.trLabel!==y?"<br/>"+A+b.trLabel:y)+(b.blLabel!==y?"<br/>"+r+b.blLabel:y)+(b.brLabel!==y?"<br/>"+z+b.brLabel:y):y;n?v=void 0!==p?p:e?c:d:l=m=x=u=v=y;b=h(b.link);
return{displayValue:v,toolText:a,link:b,tlLabel:l,trLabel:m,blLabel:x,brLabel:u}},configureAxis:function(b,d){var a=b[ga],c=d.chart,e=b.yAxis[0],g=b.xAxis,t=a.rowCount,l=a.columnCount,p=a.axisGridManager,m=a.rowIdObj,q=a.columnIdObj,k=this.colorManager,n=E(h(c.vdivlinecolor,c.divlinecolor,k.getColor("divLineColor")),f(c.vdivlinealpha,c.divlinealpha,k.getColor("divLineAlpha"))),s=f(c.vdivlinethickness,c.divlinethickness,1),r=f(c.vdivlinedashed,c.vdivlineisdashed,c.divlinedashed,c.divlineisdashed,0)?
Ba(f(c.vdivlinedashlen,c.divlinedashlen,4),f(c.vdivlinedashgap,c.divlinedashgap,2),s):void 0,v=E(h(c.hdivlinecolor,c.divlinecolor,k.getColor("divLineColor")),f(c.hdivlinealpha,c.divlinealpha,k.getColor("divLineAlpha"))),z=f(c.hdivlinethickness,c.divlinethickness,1),x=f(c.hdivlinedashed,c.hdivlineisdashed,c.divlinedashed,c.divlineisdashed,0)?Ba(f(c.hdivlinedashlen,c.divlinedashlen,4),f(c.hdivlinedashgap,c.divlinedashgap,2),s):void 0,u,y;e.min=0;e.max=t;for(y in m)u=m[y],k=u.index,u=u.label,p.addAxisGridLine(e,
k+-0.5,u,0.1,void 0,Pa,1),k<t&&e.plotBands.push({isTrend:!0,color:v,value:k,width:z,dashStyle:x,zIndex:3});e.labels.enabled=!1;e.gridLineWidth=0;e.alternateGridColor=Pa;e.title.text=H(c.yaxisname);g.min=-0.5;g.max=e=l+-0.5;g.opposite=f(c.placexaxislabelsontop,0);a.x.catCount=l;for(y in q)a=q[y],k=a.index,u=a.label,p.addXaxisCat(g,k,1,u),k-=-0.5,k<e&&g.plotBands.push({isTrend:!0,color:n,value:k,width:s,dashStyle:r,zIndex:3});g.labels.enabled=!1;g.gridLineWidth=0;g.alternateGridColor=Pa;g.title.text=
H(c.xaxisname)},xAxisMinMaxSetter:function(){},placeLegendBlockRight:function(){return"gradient"===arguments[0].legend.type?r.placeGLegendBlockRight?r.placeGLegendBlockRight.apply(this,arguments):0:r.placeLegendBlockRight.apply(this,arguments)},placeLegendBlockBottom:function(){return"gradient"===arguments[0].legend.type?r.placeGLegendBlockBottom?r.placeGLegendBlockBottom.apply(this,arguments):0:r.placeLegendBlockBottom.apply(this,arguments)}},w.column2dbase);w("renderer.multiaxisline",{legendClick:function(b,
d,a){var c=this.options.series,e=this.yAxis[c[b.index].yAxis],g=e.axisData._relatedSeries,f=g.length,h=!1;w["renderer.cartesian"].legendClick.call(this,b,d,a);if(!a){for(;f--&&!(h=c[g[f]].visible););e.checkBox.element.checked=h}}},w["renderer.cartesian"]);w("renderer.candlestick",{drawPlotCandlestickbar:function(b,d){var a=b.data,c=a.length,e=b.items,g=b.graphics=[],h=this.paper,l=this.layers,p=this.definition.chart,m=this.options.plotOptions.series,q=this.xAxis[d.xAxis||0],k=this.yAxis[d.yAxis||
0],n=d.numColumns||1,s=d.columnPosition||0,r=!1===d.visible?"hidden":"visible",y=q.getAxisPosition(0),y=q.getAxisPosition(1)-y,z=m.groupPadding,x=m.maxColWidth,p=(1-0.01*(p&&p.plotspacepercent))*y||Ra(y*(1-2*z),x*n),n=p/n*s-p/2,u,w,B,C,fa,z=l.dataset=l.dataset||h.group("dataset-orphan");z.column=z.column||h.group("columns",z);for(l=0;l<c;l+=1){s=a[l];y=s.y;u=null;if(null===y){if(x=e[l])u=x.graphic,u.attr({height:0})}else x=f(s.x,l),p=s.link,x=q.getAxisPosition(x),u=s.previousY,w=k.getAxisPosition(u),
u=k.getAxisPosition(y),B=k.getAxisPosition(s.high),C=k.getAxisPosition(s.low),v(u-w),fa=n,w=[ra,x,C,oa,x,B,ra,x,u,oa,x+fa,u,ra,x,w,oa,x-fa,w],(x=e[l])||(x=e[l]={index:l,value:y,graphic:h.path(w,z),dataLabel:null,tracker:null}),u=x.graphic,u.attr({path:w,fill:G(s.color),stroke:G(s.borderColor),"stroke-width":s.borderWidth,"stroke-dasharray":s.dashStyle,"stroke-linecap":"round","stroke-linejoin":"round","shape-rendering":"crisp",cursor:p?"pointer":"",visibility:r}).shadow(m.shadow||s.shadow),this.drawTracker&&
this.drawTracker.call(this,b,d,l);u&&g.push(u);this.drawTracker&&this.drawTracker.call(this,b,d,l)}b.visible=!1!==d.visible;return b},drawCanvas:function(){w["renderer.cartesian"].drawCanvas.call(this,arguments);if(this.options.subCharts&&this.options.subCharts[0]){var b=this.options,b=(b.subCharts&&b.subCharts[0]).chart||{},d=this.paper,a=this.elements,c=a.volumeCanvas,e=b.marginTop+b.top,g=b.left=b.marginLeft,h=b.width-b.marginLeft-b.marginRight,l=b.height-b.marginBottom,p=f(b.plotBorderRadius,
0),m=b.plotBorderWidth,q=b.plotBackgroundColor,k=0.5*m,n=b.plotBorderColor,s=this.layers.canvas;c||(a.volumeCanvas=d.rect(g-k,e-k-1,h+m,l+m,p,s).attr({fill:G(q),"stroke-width":m,stroke:n,"stroke-linejoin":2<m?"round":"miter","shape-rendering":"crisp"}).shadow(b.plotShadow).crisp())}},drawTracker:function(b,d,a){var c=this,e=c.paper,g=c.xAxis[0],h=b.data[a],l=c.yAxis[0].getAxisPosition(h.y),p=g.getAxisPosition(f(h.x,a));b=b.items[a];a=lb?40:20;var m=c.layers.tracker,q=c.definition.chart,k=c.options.plotOptions.series,
n=g.getAxisPosition(0),g=g.getAxisPosition(1)-n,n=k.groupPadding,k=k.maxColWidth,s=((1-0.01*(q&&q.plotspacepercent))*g||Ra(g*(1-2*n),1*k))/1,r=0.5*-s,q=c.elements,g=q.canvas.getBBox(),k=q.volumeCanvas&&q.volumeCanvas.getBBox(),n=q.rollOverBand,v=b&&b.tracker,s={"stroke-width":s,ishot:!0,stroke:G(c.options.chart.rollOverBandColor),fill:G(c.options.chart.rollOverBandColor),visibility:"hidden"};k&&v&&!d.doNotUseBand&&(v||(v=b.tracker=e.circle(p,l,a,m).attr({"stroke-width":0,fill:xa})),v.data("x",p),
h.toolText&&v.tooltip(h.toolText),n||(n=q.rollOverBand=e.path([ra,0,g.y,oa,0,g.y2,ra,0,k.y,oa,0,k.y2]).attr(s),c.layers.dataset.appendChild(n),n.toBack()),v.mouseover(function(){c.rollOver(c,this,r)}).mouseout(function(){c.rollOut(c)}))},rollOver:function(b,d){b.elements.rollOverBand.transform("t"+d.data("x")+",0").show()},rollOut:function(b){b.elements.rollOverBand.hide()}},w["renderer.cartesian"]);w("renderer.spline",{drawPlotSpline:function(b,d){var a=this,c=a.paper,e=a.elements,g=a.options,h=
g.chart,l=g.plotOptions.series,p=l.dataLabels&&l.dataLabels.style||{},m={fontFamily:p.fontFamily,fontSize:p.fontSize,lineHeight:p.lineHeight,fontWeight:p.fontWeight,fontStyle:p.fontStyle},p=b.items,q=b.graphics=b.graphics||[],k=a.xAxis[d.xAxis||0],n=a.yAxis[d.yAxis||0],s=b.data,r=[],v=[],z=!1===d.visible,x=z?"hidden":"visible",u=isNaN(+l.animation)&&l.animation.duration||1E3*l.animation,y=!1!==(g.tooltip||{}).enabled,B=a.chartWidth,w=a.chartHeight,g=function(){Q.attr({"clip-rect":null});T.show();
O.show();ia.show();K.attr({transform:"...t"+-B+","+-w})},fa,F,C=l.connectNullData,J,U,L,ba,I,pa,D=null,ea,ka=d.lineWidth,P,N,ta,Y,R,H,W,Z,M=a.layers,E=M.dataset=M.dataset||c.group("dataset-orphan"),K=M.datalabels=M.datalabels||c.group("datalables"),aa=M.tracker,M=h.anchorTrackingRadius,S,O,ia,Q,T,X=[],$,ga,da,ma=function(e,g,f,h,l,k,m,t){return function(){var n=f.imageUrl,p=f.imageScale,s=f.imageAlpha,r=m.imageHoverAlpha,A=m.imageHoverScale,u=this.width*p*0.01,z=this.width*A*0.01;W={x:e-this.width*
p*0.005,y:g-this.height*p*0.005,width:u,height:this.height*p*0.01,alpha:s};Z={x:e-this.width*A*0.005,y:g-this.height*A*0.005,width:z,height:this.height*A*0.01,alpha:r};r=z>u?Z:W;h.graphic=Y=c.image(n,T).attr(W).css({opacity:0.01*s}).data("alwaysInvisible",0===p).data("setRolloverProperties",m).data("setRolloverAttr",Z).data("setRolloutAttr",W).data("anchorRadius",p).data("anchorHoverRadius",A);q.push(Y);if(ba||y||m)ga=h.tracker=c.rect(aa).attr(r).attr({cursor:ba?"pointer":"",stroke:xa,"stroke-width":f.lineWidth,
fill:xa,ishot:!0,visibility:x}).data("eventArgs",l).click(function(b){ya.call(this,a,b)}).hover(function(b){return function(c){a.hoverPlotAnchor(this,c,"DataPlotRollOver",b,a)}}(h),function(b){return function(c){a.hoverPlotAnchor(this,c,"DataPlotRollOut",b,a)}}(h)).tooltip(k);($=a.drawPlotLineLabel(b,d,t,e,g))&&q.push($)}},ua=function(c,e,g,f,h,l,k){return function(){($=g.dataLabel=a.drawPlotLineLabel(b,d,k,c,e))&&q.push($)}},za=function(b){ya.call(this,a,b)},zb=function(b,c){return function(d){a.hoverPlotAnchor(this,
d,c,b,a)}},h=function(a,b,c,d){var e=a.length,g=a[e-1],f=g.length,h=g[0],g=g[f-2];3>f||("R"===h&&3===f&&(a[e-1][0]="L"),b&&a.push(["L",g,d,c,d,"Z"]))};a.addCSSDefinition(".fusioncharts-datalabels .fusioncharts-label",m);K.insertAfter(E);K.attr({"class":"fusioncharts-datalabels",transform:"...t"+B+","+w});u&&a.animationCompleteQueue.push({fn:g,scope:a});m=E.line||(E.line=c.group("line-connector",E));O=c.group("connector-shadow",m);ia=c.group("anchor-shadow",m);Q=c.group("connector",m);T=c.group("anchors",
m);T.hide();O.hide();ia.hide();fa=0;for(F=s.length;fa<F;fa+=1)if(J=s[fa],L=J.y,Y=ga=$=null,null===L)0===C&&(D=null);else{m=p[fa]={chart:a,index:fa,value:L};U=f(J.x,fa);ba=J.link;I=J.tooltext||J.toolText;ea=n.getAxisPosition(L);U=k.getAxisPosition(U);if((N=J.marker)&&N.enabled)if(P=N.radius,H=N.shadow,ta=N.symbol.split("_"),S={index:fa,link:ba,value:L,displayValue:J.displayValue,categoryLabel:J.categoryLabel,toolText:J.toolText,id:b.userID,datasetIndex:b.index,datasetName:b.name,visible:b.visible},
W=Z={},L=J.rolloverProperties,N.imageUrl)P=new La.Image,P.onload=ma(U,ea,N,m,S,I,L,fa),P.onerror=ua(U,ea,m,fa),P.src=N.imageUrl;else{L&&(W={polypath:[ta[1]||2,U,ea,N.radius,N.startAngle,0],fill:G(N.fillColor),"stroke-width":N.lineWidth,stroke:G(N.lineColor)},Z={polypath:[L.sides||2,U,ea,L.radius,L.startAngle,L.dip],fill:G(L.fillColor),"stroke-width":L.lineWidth,stroke:G(L.lineColor)});Y=m.graphic=c.polypath(ta[1]||2,U,ea,N.radius,N.startAngle,0,T).attr({fill:G(N.fillColor),"stroke-width":N.lineWidth,
stroke:G(N.lineColor),cursor:ba?"pointer":"","stroke-linecap":"round","stroke-linejoin":"round",ishot:!0,visibility:0===P?"hidden":x}).data("alwaysInvisible",0===P).data("setRolloverProperties",L).data("setRolloverAttr",Z).data("setRolloutAttr",W).data("anchorRadius",P).data("anchorHoverRadius",L&&L.radius).shadow(H||!1,ia);if(ba||y||L)P=sa(P,L&&L.radius||0,M),ga=c.polypath(ta[1]||2,U,ea,P,N.startAngle,0,aa).attr({cursor:ba?"pointer":"",stroke:xa,"stroke-width":0,ishot:!0,fill:xa,visibility:x});da=
ga||Y;da.click(za);(ga||Y).data("eventArgs",S).hover(zb(m,"DataPlotRollOver"),zb(m,"DataPlotRollOut")).tooltip(I)}I=X.length;null!==D?2<=I?(X[I-1].push(U),X[I-1].push(ea)):(X.push(["M",pa,D]),X.push(["R",U,ea])):null===D&&2<=I&&(pa=X[I-1],"R"===pa[0]&&3===pa.length&&(pa.push(pa[1]),pa.push(pa[2])),X.push(["M",U,ea]),X.push(["R"]));Y&&q.push(Y);da&&q.push(da);pa=U;D=ea;I=J.color;P=J.dashStyle;v.push(Y);m.dataLabel=$;m.tracker=da;N&&N.imageUrl||($=a.drawPlotLineLabel(b,d,fa,U,ea));$&&q.push($);a.drawTracker&&
a.drawTracker.call(a,b,d,fa)}2<=X.length&&(h(X,!1),R=b.graphic=c.path(X,Q).attr({"stroke-dasharray":P,"stroke-width":ka,stroke:G(I),"stroke-linecap":"round","stroke-linejoin":"round",visibility:x}).shadow(l.shadow&&J.shadow,O),r.push(R),E.shadow(l.shadow||J.shadow));u?Q.attr({"clip-rect":e["clip-canvas-init"]}).animate({"clip-rect":e["clip-canvas"]},u,"normal",a.getAnimationCompleteFn()):(g&&g(),g=void 0);R&&q.push(R);b.visible=!z;return b},drawPlotAreaspline:function(b,d){var a=this,c=a.paper,e=
a.layers,g=a.options,h=g.chart,l=a.elements,p=g.plotOptions.series,m=p.dataLabels&&p.dataLabels.style||{},q={fontFamily:m.fontFamily,fontSize:m.fontSize,lineHeight:m.lineHeight,fontWeight:m.fontWeight,fontStyle:m.fontStyle},k=a.xAxis[d.xAxis||0],n=a.yAxis[d.yAxis||0],s=b.data,r=(m=!1===d.visible)?"hidden":"visible",v=isNaN(+p.animation)&&p.animation.duration||1E3*p.animation,z="0"===a.definition.chart.drawfullareaborder,x=!1!==(g.tooltip||{}).enabled,u,y,B,w,fa,g=b.items,F=b.graphics=b.graphics||
[],C=null,J,U,L=n.max,ba=n.min,L=n.getAxisPosition(0<L&&0<ba?ba:0>L&&0>ba?L:0),I=e.tracker,D=e.dataset=e.dataset||c.group("dataset-orphan"),M=e.datalabels=e.datalabels||c.group("datalabels").insertAfter(D),ea=h.anchorTrackingRadius,ka=a.chartWidth,P=a.chartHeight,e=function(){R.attr({"clip-rect":null});Y.show();H.show();M.attr({transform:"...t"+-ka+","+-P})},N,H,Y,R,E,W,Z=[],ba=[],K,S,T,aa,O,Q,ia,X,$,ga,da,ma,ja,ca,ua,za=function(e,g,f,h,l,k,m,t){return function(){var n=f.imageUrl,p=f.imageScale,
q=f.imageAlpha,s=m.imageHoverAlpha,u=m.imageHoverScale,z=this.width*p*0.01,v=this.width*u*0.01;da={x:e-this.width*p*0.005,y:g-this.height*p*0.005,width:z,height:this.height*p*0.01,alpha:q};ma={x:e-this.width*u*0.005,y:g-this.height*u*0.005,width:v,height:this.height*u*0.01,alpha:s};s=v>z?ma:da;h.graphic=Q=c.image(n,Y).attr(da).css({opacity:0.01*q}).data("alwaysInvisible",0===p).data("setRolloverProperties",m).data("setRolloverAttr",ma).data("setRolloutAttr",da).data("anchorRadius",p).data("anchorHoverRadius",
u);F.push(Q);if(w||x||m)ia=h.tracker=c.rect(I).attr(s).attr({cursor:w?"pointer":"",stroke:xa,"stroke-width":f.lineWidth,fill:xa,ishot:!0,visibility:r}).data("eventArgs",l).click(function(b){ya.call(this,a,b)}).hover(function(b){return function(c){a.hoverPlotAnchor(this,c,"DataPlotRollOver",b,a)}}(h),function(b){return function(c){a.hoverPlotAnchor(this,c,"DataPlotRollOut",b,a)}}(h)).tooltip(k);(X=h.dataLabel=a.drawPlotLineLabel(b,d,t,e,g))&&F.push(X)}},zb=function(c,e,g,f){return function(){(X=g.dataLabel=
a.drawPlotLineLabel(b,d,f,c,e))&&F.push(X)}},ra=function(b){ya.call(this,a,b)},la=function(b,c){return function(d){a.hoverPlotAnchor(this,d,c,b,a)}};T=function(a,b,c,d){var e=a.length,g=a[e-1],f=g.length,h=g[0],g=g[f-2];3>f||("R"===h&&3===f&&(a[e-1][0]="L"),b&&a.push(["L",g,d,c,d,"Z"]))};R=D.area=D.area||c.group("area",D);N=D.line||(D.line=c.group("line-connector",D));c.group("connector-shadow",N);H=c.group("anchor-shadow",N);h=c.group("area-connector",N);Y=c.group("area-anchors",N);Y.hide();H.hide();
a.addCSSDefinition(".fusioncharts-datalabels .fusioncharts-label",q);M.insertAfter(D);M.attr({"class":"fusioncharts-datalabels",transform:"...t"+ka+","+P});v&&a.animationCompleteQueue.push({fn:e,scope:a});q=0;for(D=s.length;q<D;q+=1)if(u=s[q],B=u.y,N=Z.length,K=ba.length,Q=ia=X=null,2<=N&&(S=Z[N-1],fa=S.length),null===B)0===p.connectNullData&&(C=null);else{ca=g[q]={chart:a,index:q,value:B};y=f(u.x,q);w=u.link;fa=u.tooltext||u.toolText;y=k.getAxisPosition(y);B=n.getAxisPosition(B);if((aa=u.marker)&&
aa.enabled)if(ua={index:q,link:w,value:u.y,displayValue:u.displayValue,categoryLabel:u.categoryLabel,toolText:fa,id:b.userID,datasetIndex:b.index,datasetName:b.name,visible:b.visible},W=aa.radius,ja=aa.shadow,O=aa.symbol.split("_"),da=ma={},ga=u.rolloverProperties,aa.imageUrl)W=new La.Image,W.onload=za(y,B,aa,ca,ua,fa,ga,q),W.onerror=zb(y,B,ca,q),W.src=aa.imageUrl;else{if(ga=u.rolloverProperties)da={polypath:[O[1]||2,y,B,W,aa.startAngle,0],fill:G(aa.fillColor),"stroke-width":aa.lineWidth,stroke:G(aa.lineColor)},
ma={polypath:[ga.sides||2,y,B,ga.radius,ga.startAngle,ga.dip],fill:G(ga.fillColor),"stroke-width":ga.lineWidth,stroke:G(ga.lineColor)};Q=ca.graphic=c.polypath(O[1]||2,y,B,W,aa.startAngle,0,Y).attr({fill:G(aa.fillColor),"stroke-width":aa.lineWidth,stroke:G(aa.lineColor),"stroke-linecap":"round",cursor:w?"pointer":"",ishot:!0,visibility:0===W?"hidden":r}).data("alwaysInvisible",0===W).data("setRolloverProperties",ga).data("setRolloverAttr",ma).data("setRolloutAttr",da).data("anchorRadius",W).data("anchorHoverRadius",
ga&&ga.radius).shadow(ja||!1,H);if(w||x||ga)W=sa(W,ga&&ga.radius||0,ea),ia=c.polypath(O[1]||2,y,B,W,aa.startAngle,0,I).attr({cursor:w?"pointer":"",stroke:xa,"stroke-width":0,ishot:!0,fill:xa,visibility:r});(ia||Q).data("eventArgs",ua).click(ra).hover(la(ca,"DataPlotRollOver"),la(ca,"DataPlotRollOut")).tooltip(fa)}null!==C?2<=N?("M"===Z[N-1][0]&&Z.push(["R"]),"M"===ba[K-1][0]&&ba.push(["R"]),N=Z.length,K=ba.length,S=Z[N-1],fa=S.length,Z[N-1].push(y),Z[N-1].push(B),ba[K-1].push(y),ba[K-1].push(B),q===
D-1&&"R"===S[0]&&(T(Z,!0,U,L),T(ba,!1))):(Z.push(["M",J,C]),Z.push(["R",y,B]),ba.push(["M",J,C]),ba.push(["R",y,B]),U=J):null===C&&2<=N&&("R"===S[0]&&(T(Z,!0,U,L),T(ba,!1)),Z.push(["M",y,B]),ba.push(["M",y,B]),U=y);Q&&F.push(Q);a.drawTracker&&a.drawTracker.call(a,b,d,q);ca.graphic=Q;ca.dataLabel=X;ca.tracker=void 0;aa&&aa.imageUrl||(X=a.drawPlotLineLabel(b,d,q,y,B));X&&F.push(X);a.drawTracker&&a.drawTracker.call(a,b,d,q);J=y;C=B}if(S=Z[Z.length-1])fa=S.length,"Z"!==S[fa-1]&&"R"===S[0]&&(T(Z,!0,U,
L),T(ba,!1));2<=Z.length&&(J=c.path(Z,R).attr({fill:G(d.fillColor),"stroke-dasharray":d.dashStyle,"stroke-width":z?0:d.lineWidth,stroke:G(d.lineColor),"stroke-linecap":"round",visibility:r}).shadow(p.shadow&&u.shadow),b.graphic=J,F.push(J));v?$=R.attr({"clip-rect":l["clip-canvas-init"]}).animate({"clip-rect":l["clip-canvas"]},v,"normal",a.getAnimationCompleteFn()):(e&&e(),e=void 0);z&&(2<=ba.length&&(E=c.path(ba,h).attr({stroke:G(d.lineColor),"stroke-width":d.lineWidth,"stroke-dasharray":u.dashStyle||
d.dashStyle,"stroke-linecap":"round",visibility:r}).shadow(p.shadow||u.shadow)),F.push(E),v&&h.attr({"clip-rect":l["clip-canvas-init"]}).animateWith(R,$,{"clip-rect":l["clip-canvas"]},v,"normal"));b.visible=!m;return b}},w["renderer.cartesian"]);w("renderer.kagi",{drawPlotKagi:function(b,d){var a=this,c=a.paper,e=a.options,g=a.elements,f=b.data,l=e.plotOptions.series,p=a.xAxis[d.xAxis||0],m=a.yAxis[d.yAxis||0],q=d.canvasPadding,k=d.xShiftLength,n=b.items,s=a.logic,r=!1===d.visible?"hidden":"visible",
v=!1!==(e.tooltip||{}).enabled,z={stroke:G({color:d.rallyColor,alpha:d.rallyAlpha}),"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":d.rallyThickness||d.lineWidth,"stroke-dasharray":d.rallyDashed},x={stroke:G({color:d.declineColor,alpha:d.declineAlpha}),"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":d.declineThickness||d.lineWidth,"stroke-dasharray":d.declineDashed},u={"true":z["stroke-width"],"false":x["stroke-width"]},y=a.layers,w=y.dataset=y.dataset||c.group("dataset-orphan"),
D=y.datalabels=y.datalabels||c.group("datalabels").insertAfter(w),fa=y.tracker,y=isNaN(+l.animation)&&l.animation.duration||1E3*l.animation,F=g["clip-canvas-init"].slice(0),g=g["clip-canvas"].slice(0),I=0,J=p.getAxisPosition(I),U=a.chartWidth,L=a.chartHeight,ba=function(){da.attr({"clip-rect":null});$.show();ma.show();D.attr({transform:"...t"+-U+","+-L})},M=[],H=[],E,ea,ka,P,N,ta,Y,R,na,W,Z,K,S,X,aa,Q,T,ia,O=e.chart.anchorTrackingRadius,ga,$,da,ma,ca,ja,ua,za,zb,la,oa;if(f.length){e=w.line||(w.line=
c.group("line-connector",w));c.group("connector-shadow",e);$=c.group("anchor-shadow",e);da=c.group("connector",e);ma=c.group("anchors",e);ma.hide();$.hide();D.attr({transform:"...t"+U+","+L});y&&a.animationCompleteQueue.push({fn:ba,scope:this});Y=!!f[0].isRally;e=0;for(w=f.length;e<w;e+=1)n[e]={chart:a,index:e,graphic:null,line:[],dataLabel:null,tracker:null},R=f[e],na=R.y,R.isDefined||(na=R.plotValue),na=h(R.plotValue,na),R.plotY=pb(m.getAxisPosition(R.y),2),R.graphY=pb(m.getAxisPosition(na),2),
R.plotX=J,R.isShift&&(I+=1,J=p.getAxisPosition(I)),e&&(na=f[e-1],Y=R&&R.objParams&&R.objParams.isRally,S=R&&R.objParams&&R.objParams.lastHigh,X=R&&R.objParams&&R.objParams.lastLow,aa=R&&R.objParams&&R.objParams.isRallyInitialised,na&&aa&&na.isRally!==R.isRally?(R.isChanged=!0,R.ty=pb(m.getAxisPosition(Y?S:X),2)):R.isChanged=!1);p=a.canvasLeft+q;J=p+k/2;W=f[0].plotY;Y=!!f[0].isRally;m=C(W)+u[Y]%2/2;Y?M.push(ra,p,m,"H",J):H.push(ra,p,m,"H",J);gb(f,function(e,g){if(Q=f[g+1])ia=[ra,J,W],Y=e.isRally,e.isShift&&
(J+=k,W=e.graphY,ia.push("H",J),ia[2]=C(ia[2])+u[Y]%2/2,ia=ia.toString(),Y?M.push(ia):H.push(ia),ia=[ra,J,W]),Q.isChanged&&(W=Q.ty,ia.push("V",W),ia[1]=C(ia[1])+u[Y]%2/2,ia=ia.toString(),Y?M.push(ia):H.push(ia),ia=[ra,J,W]),T=Q.isRally,Q.graphY!==ia[2]&&(ia.push("V",Q.graphY),ia[1]=C(ia[1])+u[T]%2/2,ia=ia.toString(),T?M.push(ia):H.push(ia)),W=Q.graphY;Z=e.plotX;K=e.plotY;P=e.marker;E=e&&e.link;ea=e&&e.toolText;if(void 0!==K&&!isNaN(K)&&e.isDefined)if(N=P.symbol.split("_"),zb="spoke"===N[0]?1:0,la=
P.radius,ca=P.shadow,ga={index:g,link:E,value:e.y,displayValue:e.displayValue,categoryLabel:e.categoryLabel,toolText:ea,id:b.userID,datasetIndex:b.index,datasetName:b.name,visible:b.visible},ja=ua={},za=e.rolloverProperties,P.imageUrl)oa=new La.Image,oa.onload=function(e,g,f,h,l,k,m,t){return function(){var n=f.imageUrl,p=f.imageScale,q=f.imageAlpha,s=m.imageHoverAlpha,u=m.imageHoverScale,x=this.width*p*0.01,z=this.width*u*0.01;ja={x:e-this.width*p*0.005,y:g-this.height*p*0.005,width:x,height:this.height*
p*0.01,alpha:q};ua={x:e-this.width*u*0.005,y:g-this.height*u*0.005,width:z,height:this.height*u*0.01,alpha:s};s=z>x?ua:ja;h.graphic=ta=c.image(n,ma).attr(ja).css({opacity:0.01*q}).data("alwaysInvisible",0===p).data("setRolloverProperties",m).data("setRolloverAttr",ua).data("setRolloutAttr",ja).data("anchorRadius",p).data("anchorHoverRadius",u);if(E||v||m)ka=h.tracker=c.rect(fa).attr(s).attr({cursor:E?"pointer":"",stroke:xa,"stroke-width":f.lineWidth,fill:xa,ishot:!0,visibility:r}).data("eventArgs",
l).click(function(b){ya.call(this,a,b)}).hover(function(b){return function(c){a.hoverPlotAnchor(this,c,"DataPlotRollOver",b,a)}}(h),function(b){return function(c){a.hoverPlotAnchor(this,c,"DataPlotRollOut",b,a)}}(h)).tooltip(k);h.dataLabel=a.drawPlotKagiLabel(b,d,t,e,g)}}(Z,K,P,n[g],ga,ea,za,g),oa.onerror=function(c,e,g,f,h,l,k,m){return function(){f.dataLabel=a.drawPlotKagiLabel(b,d,m,c,e)}}(Z,K,P,n[g],ga,ea,za,g),oa.src=P.imageUrl;else{!s.multisetRealtime&&za&&(ja={polypath:[N[1]||2,Z,K,la,P.startAngle,
zb],fill:G(P.fillColor),"stroke-width":P.lineWidth,stroke:G(P.lineColor)},ua={polypath:[za.sides||2,Z,K,za.radius,za.startAngle,za.dip],fill:G(za.fillColor),"stroke-width":za.lineWidth,stroke:G(za.lineColor)});ta=n[g].graphic=c.polypath(N[1]||2,Z,K,la,P.startAngle,zb,ma).attr({fill:G(P.fillColor),"stroke-width":P.lineWidth,stroke:G(P.lineColor),"stroke-linecap":"round",cursor:E?"pointer":"",ishot:!0,visibility:0===la?"hidden":r}).data("alwaysInvisible",0===la).data("setRolloverProperties",za).data("setRolloverAttr",
ua).data("setRolloutAttr",ja).data("anchorRadius",la).data("anchorHoverRadius",za&&za.radius).shadow(ca||!1,$);if(E||v)la=sa(la,za&&za.radius||0,O),ka=c.circle(Z,K,la,fa).attr({cursor:E?"pointer":"",stroke:xa,ishot:!0,fill:xa,"stroke-width":P.lineWidth,visibility:r}).data("eventArgs",ga).click(function(b){ya.call(this,a,b)}).hover(function(b){return function(c){a.hoverPlotAnchor(this,c,"DataPlotRollOver",b,a)}}(n[g]),function(b){return function(c){a.hoverPlotAnchor(this,c,"DataPlotRollOut",b,a)}}(n[g])).tooltip(ea);
n[g].tracker=ka||ta;P&&P.imageUrl||(n[g].dataLabel=a.drawPlotKagiLabel(b,d,g,Z,K))}});z=c.path(M,da).attr(z).shadow(l.shadow);n[0].line.push(z);z=c.path(H,da).attr(x).shadow(l.shadow);n[0].line.push(z);y?da.attr({"clip-rect":F}).animate({"clip-rect":g},y,"normal",a.getAnimationCompleteFn()):(ba&&ba(),ba=void 0)}},drawPlotKagiLabel:function(b,d,a,c,e,g){var f=this.options,h=f.chart,p=this.paper,m=this.layers,q=f.plotOptions.series.dataLabels.style,f=1===h.rotateValues?270:0,k=this.canvasHeight,n=this.canvasTop,
s=this.canvasLeft,r=b.data[a];a=b.items[a];b=(b=a.graphic)&&"image"==b.type&&0.5*b.attr("height")||r.marker&&r.marker.radius-3;h=h.valuePadding+2+b;d=!1===d.visible?"hidden":"visible";b=a.dataLabel;var v={fontFamily:q.fontFamily,fontSize:q.fontSize,lineHeight:q.lineHeight,fontWeight:q.fontWeight,fontStyle:q.fontStyle},z,x,u;g=g||m.datalabels;m=r.displayValue;ma(m)&&m!==y?(b?f&&b.rotate(360-f):b=a.dataLabel=p.text(g).attr({text:m,fill:q.color,"text-bound":[q.backgroundColor,q.borderColor,q.borderThickness,
q.borderPadding,q.borderRadius,q.borderDash]}).css(v),b.attr({title:r.originalText||"",fill:q.color}),m=b.getBBox(),g=q=f?m.width:m.height,p=e,g=g+h+4,q=0.5*q+h,f?(s=!0,r.vAlign===Fa?(p-=q,s=e-n<g):r.vAlign===va&&(p+=q-2,z=1,s=e+g>n+k),s&&(x=1,c-=h+3+0.5*m.height,p=e)):r.vAlign===Fa?p-=q:r.vAlign===va?(p+=q,z=1):m.width>c-s?p-=q:(x=1,c-=h+3,u="end"),b.attr({x:c,y:p,"text-anchor":u,visibility:d}).data("isBelow",z).data("isMiddle",x),f&&b.attr("transform","T0,0,R"+f)):b&&b.attr({text:y});return b}},
w["renderer.cartesian"]);w("renderer.boxandwhisker",{drawPlotBoxandwhisker2d:function(b,d){var a=this,c=a.paper,e=a.options,g=e.plotOptions.series,h=a.xAxis[d.xAxis||0],l=a.yAxis[d.xAxis||0],p=isNaN(+g.animation)&&g.animation.duration||1E3*g.animation,m=a.layers,q=m.dataset=m.dataset||c.group("dataset-orphan"),k=m.datalabels=m.datalabels||c.group("datalabels"),n=d.data,s=b.items||(b.items=[]),r=!1===d.visible?"hidden":"visible",v=!1!==(e.tooltip||{}).enabled,z=d.columnPosition||0,x=a.definition.chart,
u=h.getAxisPosition(0),w=h.getAxisPosition(1)-u,B=g.groupPadding,D=g.maxColWidth,u=d.numColumns||1,w=(1-0.01*(x&&x.plotspacepercent))*w||Ra(w*(1-2*B),D*u),x=w/u,z=z*x-w/2,w=e.chart,u=1===w.rotateValues?270:void 0,w=f(w.valuePadding,0),B=q.upperBoxGroup=q.upperBoxGroup||c.group("upperBox",q),D=q.lowerBoxGroup=q.lowerBoxGroup||c.group("lowerBox",q),fa=q.medianGroup=q.medianGroup||c.group("median",q),F=b.graphics=b.graphics||[],I=s.displayValues={},J=I.upperQuartileValues=[],U=I.lowerQuartileValues=
[],I=I.medianValues=[],L=function(b){ya.call(this,a,b)},m=m.shadows||(m.shadows=c.group("shadows",q).toBack()),e=e.plotOptions.series.dataLabels.style,ba={fontFamily:e.fontFamily,fontSize:e.fontSize,lineHeight:e.lineHeight,fontWeight:e.fontWeight,fontStyle:e.fontStyle},M=function(b,c){return function(d){b.upperBox.attr(c.upperBox);b.lowerBox.attr(c.lowerBox);b.upperBoxBorder.attr(c.upperBoxBorder);b.lowerBoxBorder.attr(c.lowerBoxBorder);b.upperQuartile.attr(c.upperQuartile);b.lowerQuartile.attr(c.lowerQuartile);
b.medianBorder.attr(c.median);ya.call(this,a,d,"DataPlotRollOver")}},H=function(b,c){return function(d){b.upperBox.attr(c.upperBox);b.lowerBox.attr(c.lowerBox);b.upperBoxBorder.attr(c.upperBoxBorder);b.lowerBoxBorder.attr(c.lowerBoxBorder);b.upperQuartile.attr(c.upperQuartile);b.lowerQuartile.attr(c.lowerQuartile);b.medianBorder.attr(c.median);ya.call(this,a,d,"DataPlotRollOut")}},E,ea,ka,P,N,K,Y,R,na,W,Z,S,Q,X,aa,T,O,ia,ga,$,da,ca,ja,la,sa,ua;ia=0;for(ga=n.length;ia<ga;ia+=1)ea=n[ia],ka=ea.y,N=ea.link,
K=ea.tooltext||ea.toolText,(E=s[ia])||(E=s[ia]={index:ia,value:ka,upperBox:null,lowerBox:null,upperBoxBorder:null,lowerBoxBorder:null,upperQuartileBorder:null,lowerQuartileBorder:null,medianBorder:null,upperQuartileValues:null,lowerQuartileValues:null,medianValues:null,tracker:null,hot:null}),null!==ka&&(l.getAxisPosition(ka),ka=f(ea.x,ia),ka=h.getAxisPosition(ka),z&&(ka+=z),P=g.borderRadius||0,R=((R=(Q=ea.upperQuartile||{})&&Q.value)||0===R)&&l.getAxisPosition(R),Y=((Y=(X=ea.lowerQuartile||{})&&
X.value)||0===Y)&&l.getAxisPosition(Y),W=((na=(O=ea.median)&&O.value)||0===na)&&l.getAxisPosition(na),Z=W-R,S=Y-W,aa=ea.upperBoxBorder||{},T=ea.lowerBoxBorder||{},na={index:ia,link:N,maximum:ea.displayValueMax,minimum:ea.displayValueMin,median:na,q3:Q.value,q1:X.value,maxDisplayValue:ea.displayValueMax,minDisplayValue:ea.displayValueMin,medianDisplayValue:ea.displayValueMid,q1DisplayValue:ea.displayValueQ1,q3DisplayValue:ea.displayValueQ3,categoryLabel:ea.categoryLabel,toolText:ea.toolText,id:b.userID,
datasetIndex:b.index,datasetName:b.name,visible:b.visible},$=C(ka)+aa.borderWidth%2*0.5,da=C(ka+x)+aa.borderWidth%2*0.5,ca=C(R)+Q.borderWidth%2*0.5,x=da-$,ua=ea.hoverEffects.rollOut={upperBox:{fill:G(ea.color.FCcolor),"stroke-width":0,"stroke-dasharray":aa.dashStyle,cursor:N?"pointer":"",ishot:!0,visibility:r},lowerBox:{fill:G(ea.lowerboxColor.FCcolor),"stroke-width":0,"stroke-dasharray":T.dashStyle,cursor:N?"pointer":y,ishot:!0,visibility:r},upperBoxBorder:{stroke:aa.color,"stroke-width":aa.borderWidth,
"stroke-linecap":"round",dashstyle:aa.dashStyle,ishot:!0,visibility:r},lowerBoxBorder:{stroke:T.color,"stroke-width":T.borderWidth,dashstyle:T.dashStyle,"stroke-linecap":"round",ishot:!0,visibility:r},upperQuartile:{stroke:G(Q.color),"stroke-width":Q.borderWidth,"stroke-dasharray":Q.dashSyle,"stroke-linecap":"round",cursor:N?"pointer":y,ishot:!0,visibility:r},lowerQuartile:{stroke:G(X.color),"stroke-width":X.borderWidth,"stroke-dasharray":X.dashSyle,cursor:N?"pointer":"","stroke-linecap":"round",
ishot:!0,visibility:r},median:{stroke:G(O.color),"stroke-width":O.borderWidth,"stroke-dasharray":O.dashSyle,cursor:N?"pointer":"","stroke-linecap":"round",ishot:!0,visibility:r}},N=E.graphic=E.upperBox=c.rect($,ca,x,Z,P,B).attr(ua.upperBox).shadow(g.shadow&&ea.shadow,m),Z=E.upperBoxBorder=c.path([ra,$,ca,"V",ca+Z,ra,da,ca,"V",ca+Z],B).attr(ua.upperBoxBorder).shadow(g.shadow&&aa.shadow,m),aa=E.upperQuartile=c.path([ra,$,ca,"H",$+x],fa).attr(ua.upperQuartile).shadow(g.shadow&&Q.shadow,m),$=C(ka)+T.borderWidth%
2*0.5,da=C(ka+x)+T.borderWidth%2*0.5,ca=C(W+S)+X.borderWidth%2*0.5,P=E.lowerBox=c.rect($,W,x,ca-W,P,D).attr(ua.lowerBox).shadow(g.shadow&&ea.shadow,m),T=E.lowerBoxBorder=c.path([ra,$,W,"V",W+S,ra,da,W,"V",W+S],D).attr(ua.lowerBoxBorder).shadow(g.shadow&&T.shadow,m),ca=C(W+S)+X.borderWidth%2*0.5,S=E.lowerQuartile=c.path([ra,$,ca,"H",$+x],fa).attr(ua.lowerQuartile).shadow(g.shadow&&Q.shadow,m),ca=C(W)+O.borderWidth%2*0.5,$=E.medianBorder=c.path([ra,$,ca,"H",$+x],fa).attr(ua.median),ca=b.index+"_"+ia,
N.click(L).hover(M(E,ea.hoverEffects),H(E,ua)).data("groupId",ca).data("eventArgs",na),P.click(L).hover(M(E,ea.hoverEffects),H(E,ua)).data("groupId",ca).data("eventArgs",na),Z.click(L).hover(M(E,ea.hoverEffects),H(E,ua)).data("groupId",ca).data("eventArgs",na),T.click(L).hover(M(E,ea.hoverEffects),H(E,ua)).data("groupId",ca).data("eventArgs",na),aa.click(L).hover(M(E,ea.hoverEffects),H(E,ua)).data("groupId",ca).data("eventArgs",na),S.click(L).hover(M(E,ea.hoverEffects),H(E,ua)).data("groupId",ca).data("eventArgs",
na),$.click(L).hover(M(E,ea.hoverEffects),H(E,ua)).data("groupId",ca).data("eventArgs",na),na=u?Sa:$a,ma(Q.displayValue)&&Q.displayValue!==y&&(ja=J[ia]=c.text(k).attr({text:Q.displayValue,x:ka+x/2,title:Q.originalText||"",y:R-w,"text-anchor":u?"start":na,"vertical-align":u?"middle":"bottom",visibility:r,fill:e.color,"text-bound":[e.backgroundColor,e.borderColor,e.borderThickness,e.borderPadding,e.borderRadius,e.borderDash]}).hover(M(E,ea.hoverEffects),H(E,ua)).data("groupId",ca).css(ba),u&&ja.rotate(u,
ka+x/2,R-w)),ma(O.displayValue)&&O.displayValue!==y&&(sa=I[ia]=c.text(k).attr({text:O.displayValue,x:ka+x/2,y:W-w,title:O.originalText||"","text-anchor":u?"start":na,"vertical-align":u?"middle":"bottom",visibility:r,fill:e.color,"text-bound":[e.backgroundColor,e.borderColor,e.borderThickness,e.borderPadding,e.borderRadius,e.borderDash]}).hover(M(E,ea.hoverEffects),H(E,ua)).data("groupId",ca).css(ba),u&&sa.rotate(u,ka+x/2,W-w)),ma(X.displayValue)&&X.displayValue!==y&&(la=U[ia]=c.text(k).attr({text:X.displayValue,
x:ka+x/2,y:Y+w,title:X.originalText||"","text-anchor":u?"start":na,"vertical-align":u?"middle":"top",visibility:r,fill:e.color,"text-bound":[e.backgroundColor,e.borderColor,e.borderThickness,e.borderPadding,e.borderRadius,e.borderDash]}).hover(M(E,ea.hoverEffects),H(E,ua)).data("groupId",ca).css(ba),u&&la.rotate(u,ka+x/2,Y+w)),v&&(N.tooltip(K),P.tooltip(K),Z.tooltip(K),T.tooltip(K),aa.tooltip(K),S.tooltip(K),$.tooltip(K),ja&&ja.tooltip(K),sa&&sa.tooltip(K),la&&la.tooltip(K)),N&&F.push(N),P&&F.push(P),
$&&F.push($),Z&&F.push(Z),T&&F.push(T),aa&&F.push(aa),S&&F.push(S),ja&&F.push(ja),sa&&F.push(sa),la&&F.push(la));q.attr({"clip-rect":[a.canvasLeft,a.canvasTop,p?0:a.canvasWidth,a.canvasHeight]});p&&q.animate({"clip-rect":[a.canvasLeft,a.canvasTop,a.canvasWidth,a.canvasHeight]},p,"normal");b.visible=!1!==d.visible}},w["renderer.cartesian"]);w("renderer.dragnode",{drawPlotDragnode:function(b,d){var a=this,c=b.graphics=[],e={},g=a.options,t=g.tooltip,l=g._FCconf.inCanvasStyle,p=a.paper,m=a.layers,q=
b.items,k=m.dataset,n=m.connector,s=e.xAxis=a.xAxis[d.xAxis||0],A=e.yAxis=a.yAxis[d.yAxis||0],v=d.data,z=e.elements={data:[]},x=a.smartLabel,u=g.plotOptions.series.dataLabels.style,w=g.orphanStyles.connectorlabels.style,B=g.connectors,E=g.connectorsStore,D=g.pointStore||(g.pointStore=[]),F=g.invalConnectStore,C={fontFamily:u.fontFamily,fontSize:u.fontSize,lineHeight:u.lineHeight,fontWeight:u.fontWeight,fontStyle:u.fontStyle},J=function(b){D[b.from]&&D[b.to]?E.push(new xb(b,D,w,p,n,a)):F.push(b)},
U=function(){var b=this;b.data("fire_click_event",1);clearTimeout(b._longpressactive);b._longpressactive=setTimeout(function(){b.data("fire_click_event",0);b.data("viewMode")||a.logic.showLabelDeleteUI(a,b)},1E3)},L=function(){this.data("fire_click_event")&&(this.data("fire_click_event",0),Hb.call(this))},ba=function(b){var c=this.data("fire_click_event");Hb.call(this);c&&ya.call(this,a,b,"LabelClick")},M=function(b){ya.call(this,a,b,"LabelRollover")},K=function(b){ya.call(this,a,b,"LabelRollout")},
S=function(b,c,d,e,g){d=this.data("data");e=d.bBox;var f=a.canvasTop+a.canvasHeight,h=a.canvasLeft+a.canvasWidth;this.data("fire_dragend")||(ya.call(this,a,g,"LabelDragStart"),this.data("fire_dragend",1));e.x+b<a.canvasLeft&&(b=a.canvasLeft-e.x);e.x2+b>h&&(b=h-e.x2);e.y+c<a.canvasTop&&(c=a.canvasTop-e.y);e.y2+c>f&&(c=f-e.y2);this.attr({x:e.x+b,y:e.y+c});d.label.attr({x:d.ox+b,y:d.oy+c})},ea=function(){var a=this.data("data"),b=this.getBBox();a.ox=a.label.attr("x");a.oy=a.label.attr("y");a.bBox=b;
this.data("fire_dragend",0)},ka=function(b){var c=this.data("data"),d=c.label,e={hcJSON:{dragableLabels:[]}},g=this.data("eventArgs"),f=g.x=a.xAxis[0].getAxisPosition(d.attr("x"),1),d=g.y=a.yAxis[0].getAxisPosition(d.attr("y"),1);e.hcJSON.dragableLabels[c.labelNode.index]={y:d,x:f};I(a.logic.chartInstance.jsVars._reflowData,e,!0);this.data("fire_dragend")&&(c=cc(a.container,b),c.sourceEvent="labeldragend",r.raiseEvent("chartupdated",I(c,g),a.logic.chartInstance),ya.call(this,a,b,"labeldragend"))},
P,N,Q,Y,R,T,W,Z,X,$,O,aa,ca,ga,ia,da,ja,la,sa,ra,oa,va,ua,za;n||(n=m.connector=p.group("connectors").insertBefore(k));t&&!1!==t.enabled&&n.trackTooltip(!0);m=z.group=p.group(k);t=z.dragLabelGroup=p.group(k);x.setStyle(u);k=0;for(z=v.length;k<z;k+=1){P=v[k];Y=P.marker;P._yPos=Q=A.getAxisPosition(P.y);P._xPos=N=s.getAxisPosition(P.x);T=q[k]||(q[k]={});za=P.hoverEffects&&P.hoverEffects.rolloverProperties;Y=T.graphic;W=T.image;Z=T.label;Y=P.marker;if(void 0!==Q&&!isNaN(Q)&&Y){O=P._config=P._config||{shapeArg:{},
startConnectors:[],endConnectors:[]};aa=O.shapeArg;ca=f(Y&&Y.height);ga=f(Y&&Y.width);ia=f(Y&&Y.radius);R=h(Y&&Y.symbol);da="rectangle"===R;X=P.id;ja=P.imageNode;la=P.imageURL;sa=P.imageAlign;ra=P.labelAlign;oa=da?ga:1.4*ia;va=f(P.imageWidth,oa);da=da?ca:1.4*ia;ua=f(P.imageHeight,da);ia={fill:G(Y.fillColor),"stroke-width":Y.lineWidth,r:Y.radius,stroke:G(Y.lineColor)};R=aa.symbol=h(Y&&Y.symbol,e.symbol);R=R.split("_");aa.x=N;aa.y=Q;aa.radius=Y.radius;aa.width=ga;aa.height=ca;aa.sides=R[1];"poly"===
R[0]||"circle"===R[0]?Y=p.polypath(R[1],N,Q,Y.radius,Y.startAngle,0,m).attr(ia):(O.shapeType=mb,aa.x=N-ga/2,aa.y=Q-ca/2,aa.r=0,ia.width=ga,ia.height=ca,ia.x=N-ga/2,ia.y=Q-ca/2,za&&P.hoverEffects.enabled&&(za.x=N-za.width/2,za.y=Q-za.height/2,delete za.r),delete ia.r,Y=p.rect(aa.x,aa.y,ga,ca,0,m).attr(ia));if(ja&&la){ua>da&&(ua=da);va>oa&&(va=oa);switch(sa){case "middle":za=Q-ua/2;break;case "bottom":za=da>ua?Q+da/2-ua:Q-ua/2;break;default:za=da>ua?Q-0.5*da:Q-ua/2}O.imageX=N-va/2;O.imageY=za;W||(W=
p.image(m));W.attr({src:la,x:O.imageX,y:za,width:va,height:ua})}O=P.displayValue;if(ma(O)||O!==y){oa=x.getSmartText(O,oa,da);O=0.5*da-0.5*oa.height;switch(ra){case "top":O=-O;break;case "bottom":break;default:O=0}P._yAdjustment=ra=O;Q+=ra;Z?Z.attr({text:oa.text,title:oa.tooltext||"",fill:u.color,x:N,y:Q}):(Z=p.text(m),Z.attr({text:oa.text,fill:u.color,x:N,y:Q,"text-bound":[u.backgroundColor,u.borderColor,u.borderThickness,u.borderPadding,u.borderRadius,u.borderDash]}).css(C))}D[X]=P;T.index=k;T.graphic=
Y;T.label=Z;T.image=W;X=a.drawTracker&&a.drawTracker.call(a,b,d,k,ia);Y&&c.push(Y);Z&&c.push(Z);W&&c.push(W);X&&c.push(X)}T.index=k;T.tracker=X}if(E)for(k=F.length-1;0<=k;k-=1)c=F[k],D[c.from]&&D[c.to]&&(F.splice(k,1),E.push(new xb(c,D,w,p,n,a)));else for(E=g.connectorsStore=[],F=g.invalConnectStore=[],k=0;k<B.length;k+=1)gb(B[k].connector,J);if(!a.dragLabelsDrawn&&($=g.dragableLabels)&&0<(z=$.length)){oa=a.plotSizeX;da=a.plotSizeY;c=parseInt(l.fontSize,10);q=l.backgroundColor;v=l.borderColor;for(k=
0;k<z;k+=1)if(x=$[k],x.index=k,C=H(h(x.text,x.label)))C=H(C),J=s.getAxisPosition(x.x||0),Q=A.getAxisPosition(x.y||0,0,1,0,1),P=f(x.fontsize,c),N=$c(h(x.color,l.color)),m=f(x.alpha,100)/100,u=f(x.allowdrag,1),ra=0.8*P,B=f(x.padding,5),W={fontSize:P+"px",fontFamily:l.fontFamily,fill:N,color:N,opacity:m},Qa(W),N=h(x.bgcolor,q),T=h(x.bordercolor,v),P={link:x.link,text:C,x:J,y:Q,allowdrag:u,sourceType:"labelnode"},N&&(W.backgroundColor=N.replace(qb,Na),W.backgroundOpacity=m),T&&(W.borderColor=T.replace(qb,
Na),W.borderOpacity=m),C=p.text(t).css(W).attr({text:C,x:J,y:Q,align:$a,"text-bound":[(x.bgcolor||"").replace(qb,Na),(x.bordercolor||"").replace(qb,Na),f(x.borderthickness,1),B,f(x.radius,0),f(x.dashed,0)?Ba(f(x.dashlen,5),f(x.dashgap,4),f(x.borderthickness,1)):void 0]}),J=C.getBBox(),B=p.rect(J.x-B,J.y-B,J.width+2*B,J.height+2*B,0).attr({fill:xa,ishot:!0,"stroke-width":0}).css({cursor:u?"move":""}).mousedown(U).mousemove(L).mouseup(ba).data("viewMode",g.chart.viewMode).hover(M,K),t.appendChild(B),
B.data("data",{label:C,labelNode:x,chart:a}).data("eventArgs",P).data("link",x.link),u&&B.drag(S,ea,ka);a.dragLabelsDrawn=!0}return e},drawTracker:function(b,d,a,c){var e=this,g=e.paper,f=b.data[a],l=b.items[a],p=f._config,m=e.layers.tracker,q=cb({},p.pointAttr),k=p.shapeArg,n=k.x,s=k.y,A=k.width,v=k.height,z=k.radius,x=e.dragStart,u=e.dragUp,w=e.dragMove,B=e.elements,C=B.waitElement,D=f.link?"pointer":f.allowDrag?"move":"",F=l.tracker;q.fill=xa;q.stroke=xa;q.cursor=D;q.ishot=!0;F="rect"===p.shapeType?
g.rect(n,s,A,v,0).attr(q):g.polypath(k.sides,n,s,z,k.startAngle).attr(q);q={index:a,link:f.link,y:f.y,x:f.x,shape:h(f._options.shape,"rect"),width:A,height:v,radius:z,sides:k.sides,label:f.displayValue,toolText:f.toolText,id:f.id,datasetIndex:b.index,datasetName:b.name,sourceType:"dataplot"};l.tracker=F.mousedown(function(a){var b=this,c=lb&&Ka(a)||nb,h=a.layerX||c.layerX,k=a.layerY||c.layerY,l=r.getPosition(e.container);b.data("fire_click_event",1);b.data("mousedown",1);void 0===h&&(h=(a.pageX||
c.pageX)-l.left,k=(a.pageY||c.pageY)-l.top);clearTimeout(b._longpressactive);b.data("move",!0);e.options.chart.viewMode||((C=B.waitElement)||(C=B.waitElement=g.ringpath(m).attr({fill:G({alpha:"100,100",angle:120,color:"CCCCCC,FFFFFF",ratio:"30,50"}),"stroke-width":0})),h+=11,k-=21,C.attr({ringpath:[h,k,8,11,0,0]}).show().animate({ringpath:[h,k,8,11,0,6.28]},1E3),b._longpressactive=setTimeout(function(){var a=d.name!==y&&void 0!==d.name?d.name+Ga+" ":y,c=d.id,g=f._options,h={circle:"circ",polygon:"poly",
undefined:"rect"}[g.shape];B.waitElement&&B.waitElement.hide();b.data("fire_click_event",0);e.logic.showNodeUpdateUI(e,{x:{value:f.x},y:{value:f.y},draggable:{value:O(g.allowdrag,1)},color:{value:g.color},alpha:{value:g.alpha},label:{value:O(g.label,g.name)},tooltip:{value:g.tooltext},shape:{value:h},rectWidth:{value:g.width},rectHeight:{value:g.height},circPolyRadius:{value:g.radius},polySides:{value:g.numsides},image:{value:g.imagenode},imgWidth:{value:g.imagewidth},imgHeight:{value:g.imageheight},
imgAlign:{value:g.imagealign},imgUrl:{value:g.imageurl},id:{value:f.id,disabled:!0},link:{value:g.link},dataset:{innerHTML:'<option value="'+c+'">'+a+c+"</option>",disabled:!0}},!0)},1E3))}).mousemove(function(){B.waitElement&&B.waitElement.hide();this.data("fire_click_event",0);Hb.call(this)}).mouseup(function(a){var b=this.data("fire_click_event");B.waitElement&&B.waitElement.hide();Hb.call(this);this.data("mousedown",0);b&&ya.call(this,e,a)}).hover(function(a,b){return function(c){a.graphic.attr(b);
ya.call(this,e,c,"DataPlotRollOver")}}(l,f.hoverEffects.rolloverProperties),function(a,b){return function(c){a.graphic.attr(b);ya.call(this,e,c,"DataPlotRollOut")}}(l,c)).data("eventArgs",q).data("drag-options",{plotItems:l,dataObj:f,endConnectors:p.endConnectors,startConnectors:p.startConnectors,boundaryTop:e.canvasTop,boundaryBottom:e.canvasTop+e.canvasHeight,boundaryLeft:e.canvasLeft,boundaryRight:e.canvasLeft+e.canvasWidth,cloneGroup:e.layers.dataset,datasetIndex:b.index,pointIndex:a,dataOptions:d,
cursor:D,chart:e,link:f.link}).tooltip(f.toolText);m.appendChild(F);f.allowDrag&&F.drag(function(a,b,c,d,g){w.call(this,a,b,c,d,g,e)},function(a,b,c,d,g){x.call(this,a,b,c,d,g,e)},function(a){u.call(this,a,e)});return F},dragStart:function(){var b=this.paper,d=this.data("drag-options")||{},a=d.dataObj,c=d.plotItems,e=c.cloneGroup,g=c.cloneGraphic,f=c.cloneImage,h=c.cloneLabel,p=this.getBBox(),m={opacity:0.3};d.bBoxX=p.x;d.bBoxX2=p.x2||p.x+p.width;d.bBoxY=p.y;d.bBoxY2=p.y2||p.y+p.height;d.origX=d.lastX||
(d.lastX=0);d.origY=d.lastY||(d.lastY=0);d.draged=!1;d.startYValue=a.y;d.startXValue=a.x;e||(e=c.cloneGroup=b.group(d.cloneGroup).attr(m));c.graphic&&!g&&(g=c.cloneGraphic=c.graphic.clone(),e.appendChild(g),g.attr(m));c.image&&!f&&(f=c.cloneImage=c.image.clone(),e.appendChild(f).attr(m));c.label&&!h&&(h=c.cloneLabel=c.label.clone(),e.appendChild(h).attr(m));e.show()},dragMove:function(b,d,a,c,e,g){a=this.data("drag-options");c=a.plotItems;var f=a.bBoxX2+b,h=a.bBoxY+d,p=a.bBoxY2+d;a.bBoxX+b<a.boundaryLeft&&
(b=a.boundaryLeft-a.bBoxX);f>a.boundaryRight&&(b=a.boundaryRight-a.bBoxX2);h<a.boundaryTop&&(d=a.boundaryTop-a.bBoxY);p>a.boundaryBottom&&(d=a.boundaryBottom-a.bBoxY2);f=a._transformObj={transform:"t"+(a.origX+b)+","+(a.origY+d)};this.attr(f);c.cloneGraphic&&c.cloneGraphic.attr(f);c.cloneImage&&c.cloneImage.attr(f);c.cloneLabel&&c.cloneLabel.attr(f);a.draged||ya.call(this,g,e,"DataplotDragStart");a.draged=!0;a.lastX=b;a.lastY=d},dragUp:function(b){var d=this.data("drag-options"),a=d.plotItems,c=d.chart,
e=c.xAxis[0],g=c.yAxis[0],f=c.logic,h=f.tooltipSepChar,p=f.numberFormatter,m=d.dataObj,q,k,n,s,A;if(d.draged){d.lastX+=d.origX;d.lastY+=d.origY;q=m._xPos+d.lastX;k=m._yPos+d.lastY;n=d.startConnectors;s=n.length;for(A=0;A<s;A+=1)n[A].updateFromPos(q,k);n=d.endConnectors;s=n.length;for(A=0;A<s;A+=1)n[A].updateToPos(q,k);a.label&&a.label.attr(d._transformObj);a.image&&a.image.attr(d._transformObj);a.graphic&&a.graphic.attr(d._transformObj);e=e.getAxisPosition(q,1);g=g.getAxisPosition(k,1);m._isUserTooltip||
m.toolText===y||(m.toolText=m._toolTextStr+p.dataLabels(e)+h+p.dataLabels(g));p=this.data("eventArgs");m.x=p.x=e;m.y=p.y=g;h=cc(c.container,b);h.sourceEvent="dataplotdragend";r.raiseEvent("chartupdated",I(h,p),c.logic.chartInstance);ya.call(this,c,b,"dataplotdragend");b={hcJSON:{series:[]}};b.hcJSON.series[d.datasetIndex]={data:[]};b.hcJSON.series[d.datasetIndex].data[d.pointIndex]={_options:{x:e,y:g},x:e,y:g,toolText:m.toolText,displayValue:m.displayValue};I(f.chartInstance.jsVars._reflowData,b,
!0)}a.cloneGroup&&a.cloneGroup.hide()}},w["renderer.cartesian"]);w("renderer.dragcolumn2d",{drawTracker:function(b,d,a){var c=this.paper,e=this.yAxis[0],g=b.data[a],f=e.getAxisPosition(g.y),h=b.items[a],p=this.layers.tracker,m=h&&h.dragTracker||null,q=this.dragStart,k=this.dragUp,n=this.dragMove,s={stroke:xa,"stroke-width":lb?40:10,ishot:!0,cursor:Xa&&"ns-resize"||"n-resize"},r=e&&e.axisData&&e.axisData.plotLines,v=this._yAxisPlotLines||(this._yAxisPlotLines=[]),z=0,x,u;if(!v.length)for(x=r.length;z<
x;z+=1)u=r[z],u.isGrid&&v.push(e.getAxisPosition(u.value));null!==g.y&&g.allowDrag&&(e=h.graphic.getBBox(),e=[ra,e.x,f,oa,e.x+e.width,f,"Z"],m?m.animate({d:e}).attr(s):m=h.dragTracker=c.path(e,p).attr(s),m.drag(n,q,k).data("drag-options",{items:h,yPos:f,chart:this,datasetIndex:b.index,pointIndex:a,dataOptions:d,dataObj:g}),h.dragTracker=m)},dragStart:function(){var b=this.data("drag-options"),d=b.chart,a=d.yAxis[0],c=a.max,a=a.min,e=this.getBBox();b.barH=b.items.graphic.getBBox().height;b.isAllPositive=
0<c&&0<a;b.isAllPositiveZero=0<c&&0<=a;b.isAllNegative=0>c&&0>a;b.isAllNegativeZero=0>=c&&0>a;b.isPositiveNegative=0<c&&0>a;b.boundaryTop=d.canvasTop;b.boundaryBottom=d.canvasTop+d.canvasHeight;b.bBoxY=e.y;b.bBoxY2=e.y2||e.y+e.height;b.startValue=b.dataObj.y;b.origX=b.lastX||(b.lastX=0);b.origY=b.lastY||(b.lastY=0);b.draged=!1},dragMove:function(b,d){var a=this.data("drag-options"),c=a.items,e=a.dataObj,g=a.chart,f=g.options.chart,h=g.yAxis[0],p=g.logic.numberFormatter,m=h.yBasePos,q=c.dataLabel,
k={},n=a.bBoxY2+d,s=a.bBoxY+d,r=g.canvasBottom,v=e.allowNegDrag?r:m,z=g.canvasTop,x=parseFloat(e.borderWidth)||0,f=f.isCanvasBorder,u=a.isAllNegativeZero,w=a.isPositiveNegative,y=a.dataOptions;s<a.boundaryTop&&(d=a.boundaryTop-a.bBoxY);n>v&&(d=v-a.bBoxY2);s=a._transformObj={transform:"t0,"+(a.origY+d)};a.draged||(n={dataIndex:a.pointIndex+1,datasetIndex:y.__i+1,startValue:a.startValue,datasetName:y.name},D.raiseEvent("dataplotDragStart",n,g.logic.chartInstance));n=a.yPos+d;n<=m?(k.y=n,k.height=m-
n):(k.y=m,k.height=n-m);f&&!w&&(u?k.y-=k.y-(z-x/2):k.height=r-k.y+x/2);this.attr(s);c.graphic.animate(k);a.shapeAttr=k;c=a.value=C(1E8*h.getAxisPosition(n,1))/1E8;p=p.dataLabels(c);yb.pointUpdate(e,p,c);q&&g.drawPlotColumnLabel(g.plots[a.datasetIndex],a.dataOptions,a.pointIndex,void 0,n).attr("text",a.dataObj.displayValue);a.draged=!0;a.lastX=b;a.lastY=d},dragUp:function(){var b=this.data("drag-options"),d=b.chart,a=d.logic,c=!d.options.chart.doNotSnap,e=b.dataObj,g=b.dataOptions,f,h;b.draged&&(f=
b.yPos+b.lastY,c&&(h=yb.snapPoint(d,e,f),h-f&&d.dragMove.call(this,0,h-b.yPos)),b.yPos=h,b.lastX+=b.origX,b.lastY+=b.origY,c={dataIndex:b.pointIndex+1,datasetIndex:g.__i+1,startValue:b.startValue,endValue:b.dataObj.y=b.value,datasetName:g.name},g=[d.logic.chartInstance.id,c.dataIndex,c.datasetIndex,c.datsetName,c.startValue,c.endValue],D.raiseEvent("dataplotDragEnd",c,d.logic.chartInstance),r.raiseEvent("chartupdated",c,d.logic.chartInstance,g),c={hcJSON:{series:[]}},c.hcJSON.series[b.datasetIndex]=
{data:[]},b.items.tracker.attr(b.shapeAttr).tooltip(e.toolText),c.hcJSON.series[b.datasetIndex].data[b.pointIndex]={y:b.value,toolText:e.toolText,displayValue:e.displayValue},yb.setMinMaxValue(d),I(a.chartInstance.jsVars._reflowData,c,!0))}},w["renderer.cartesian"]);w("renderer.dragline",{drawTracker:function(b,d,a){var c=this.paper,e=this.yAxis[0],g=this.xAxis[0],f=b.data[a],h=b.items[a],p=lb?20:sa(f.marker&&f.marker.radius||0,5),m=this.layers.tracker,q=h.tracker||null,k=this.dragStart,n=this.dragUp,
s=this.dragMove,r={fill:xa,"stroke-width":0,cursor:Xa&&"ns-resize"||"n-resize"},v=e&&e.axisData&&e.axisData.plotLines,z=this._yAxisPlotLines||(this._yAxisPlotLines=[]),x=0,u,y;if(!z.length)for(u=v.length;x<u;x+=1)y=v[x],y.isGrid&&z.push(e.getAxisPosition(y.value));null!==f.y&&f.allowDrag&&(g=g.getAxisPosition(a),e=e.getAxisPosition(f.y),q||(q=h.tracker=c.circle(g,e,p,m).attr(r)),q.attr({cursor:Xa&&"ns-resize"||"n-resize",ishot:!0}).drag(s,k,n).data("drag-options",{items:b.items,yPos:e,chart:this,
datasetIndex:b.index,pointIndex:a,dataOptions:d,dataObj:f}))},dragStart:function(){var b=this.data("drag-options"),d=b.items,a=b.pointIndex,c=d[a+1],d=d[a],c=b.nextGraph=c&&c.connector,d=b.currGraph=d&&d.connector,a=b.chart;b._origY=b._lastY||(b._lastY=0);b.boundaryTop=a.canvasTop;b.boundaryBottom=a.canvasTop+a.canvasHeight;b.currPath=d&&d.attr("path");b.nextPath=c&&c.attr("path");b.startValue=b.dataObj.y;b.origY=this.attr("cy");b.origX=this.attr("cx");b.draged=!1},dragMove:function(b,d){var a=this.data("drag-options"),
c=a.items[a.pointIndex],e=a.nextPath,g=a.currPath,f=a.dataObj,h=a.chart,p=h.elements.plots[a.datasetIndex],m=h.yAxis[0],q=h.logic.numberFormatter,k=m.yBasePos,n=c.dataLabel,s=f.allowNegDrag?a.boundaryBottom:k,r=a.dataOptions,k=a.origY+d;a.draged||(r={dataIndex:a.pointIndex+1,datasetIndex:r.__i+1,startValue:a.startValue,datasetName:r.name},D.raiseEvent("dataplotDragStart",r,h.logic.chartInstance));k<a.boundaryTop&&(d=a.boundaryTop-a.origY);k>s&&(d=s-a.origY);k=a.origY+d;this.animate({cy:k});c.graphic&&
c.graphic.attr("transform","t0,"+(a._origY+d));e&&e[0]&&a.nextGraph&&(Xa?e[0][2]=k:e[2]=k,a.nextGraph.animate({path:e}));g&&g[1]&&a.currGraph&&(Xa?g[1][2]=k:g[5]=k,a.currGraph.animate({path:g}));c=f.y=a.value=C(1E8*m.getAxisPosition(k,1))/1E8;q=q.dataLabels(c);yb.pointUpdate(f,q,c);n&&h.drawPlotLineLabel(h.plots[a.datasetIndex],a.dataOptions,a.pointIndex,a.origX,k).attr("text",f.displayValue);a.draged=!0;a.lastY=d;h.getAreaPath&&p.graphic&&p.graphic.attr({path:h.getAreaPath(p.data)})},dragUp:function(){var b=
this.data("drag-options"),d=b.chart,a=d.logic,c=!d.options.chart.doNotSnap,e=b.dataObj,g=b.dataOptions,f,h;b.draged&&(f=b.yPos+b.lastY,c&&(h=yb.snapPoint(d,e,f),h-f&&d.dragMove.call(this,0,h-b.yPos)),b.yPos=h,b._lastY=b.lastY+b._origY,b.lastY+=b.origY,g={dataIndex:b.pointIndex+1,datasetIndex:g.__i+1,startValue:b.startValue,endValue:b.dataObj.y=b.value,datasetName:g.name},c=[d.logic.chartInstance.id,g.dataIndex,g.datasetIndex,g.datasetName,g.startValue,g.endValue],D.raiseEvent("dataplotDragEnd",g,
d.logic.chartInstance),r.raiseEvent("chartupdated",g,d.logic.chartInstance,c),c={hcJSON:{series:[]}},c.hcJSON.series[b.datasetIndex]={data:[]},c.hcJSON.series[b.datasetIndex].data[b.pointIndex]={y:b.value,toolText:e.toolText,displayValue:e.displayValue},b.items[b.pointIndex].tracker.tooltip(e.toolText),yb.setMinMaxValue(d),I(a.chartInstance.jsVars._reflowData,c,!0))}},w["renderer.cartesian"]);w("renderer.dragarea",{getAreaPath:function(b){for(var d=this.xAxis[0],a=this.yAxis[0],c=a.yBasePos,e=b.length,
g=0,f=[],h=[],p=[],m=!0,q,k,n;g<e;g+=1)k=b[g],p[g]=d.getAxisPosition(g),h[g]=null,null!==k.y&&(h[g]=a.getAxisPosition(k.y),n=b[g-1]?b[g-1].y:null,k=b[g+1]?b[g+1].y:null,null!==n?(m?(f.push(ra,p[g-1],c,oa,p[g-1],h[g-1],oa,p[g],h[g]),q=g-1):f.push(oa,p[g],h[g]),null===k&&f.push(oa,p[g],c,oa,p[q],c),m=!1):m=!0);return f}},w["renderer.dragline"]);w("renderer.heatmap",{drawPlotHeatmap:function(b,d){var a=this,c=b.data,e=b.items,g=b.graphics=b.graphics||[],h=a.paper,l=a.layers,p=a.options,m=p.chart,q=m.showHoverEffect,
k=!1!==(p.tooltip||{}).enabled,n=p.plotOptions.series,p=a.xAxis[d.xAxis||0],s=a.yAxis[d.yAxis||0],n=isNaN(+n.animation)&&n.animation.duration||1E3*n.animation,r=!1===d.visible?"hidden":"visible",v,z,x=p.getAxisPosition(0),u=p.getAxisPosition(1),y=s.getAxisPosition(0),w=s.getAxisPosition(1),x=u-x,y=y-w,m=f(m.useRoundEdges,0),w=d.borderColor,u=d.borderWidth,C=d.dashStyle,D=x/2,F=y/2,E=l.dataset=l.dataset||h.group("dataset-orphan"),J=l.datalabels=l.datalabels||h.group("datalables").insertAfter(E),l=
l.tracker,U=a.chartWidth,L=a.chartHeight,I=function(b){ya.call(this,a,b)},M=function(b){ya.call(this,a,b,"DataPlotRollOver")},H=function(b){ya.call(this,a,b,"DataPlotRollOut")},Q=function(a,b){return function(){a.attr({fill:G(b)})}},K,T,P,N,S,Y,R,O,W;n&&(J.attr({transform:"t"+U+","+L}),a.animationCompleteQueue.push({fn:function(){J.attr({transform:"t0,0"})},scope:this}));U=0;for(L=c.length;U<L;U++){N=c[U];T=N.y;K=null;if(null!==T){S=N.link;Y=N.toolText||N.tooltext;K=G(N.setColor||N.color);z=(v=N.visible)&&
!1===v?"hiddden":r;R=f(N.x,U);R=p.getAxisPosition(R)-D;W=s.getAxisPosition(T);O=W+F;T={link:S,value:N.value,columnId:N.columnId,rowId:N.rowId,displayValue:N.displayValue,tlLabel:N.tlLabel,trLabel:N.trLabel,blLabel:N.blLabel,brLabel:N.brLabel,toolText:Y,id:b.userID,datasetIndex:b.index,datasetName:b.name,visible:b.visible};K=h.rect(R,W,x,y,m,E).attr({fill:K,stroke:w,"stroke-width":u,"stroke-dasharray":C,"stroke-linejoin":"miter","shape-rendering":0===m?"crisp":"",cursor:S?"pointer":"",opacity:n?0:
N.setAlpha&&+N.setAlpha/100||1}).crisp().attr({visibility:z});n&&K.animate({opacity:N.setAlpha&&+N.setAlpha/100||1},n,"normal",a.getAnimationCompleteFn());if(q||k||S)P=h.rect(R,W,x,y,m,l).attr({cursor:S?"pointer":"",stroke:xa,"stroke-width":u,fill:xa,ishot:!0}).data("eventArgs",T);(P||K).click(I).hover(M,H).tooltip(Y);1===q&&K&&P&&P.hover(Q(K,N.hoverColor),Q(K,N.setColor||N.color));e[U]={index:U,value:N.value,graphic:K,tracker:P,dataLabel:null,dataLabels:[],visible:v||"hidden"!==z};v=a.drawLabelHeatmap.call(a,
b,d,U);K&&g.push(K);P&&g.push(P);z=0;for(N=v.length;z<N;z++)!e[U].dataLabels&&(e[U].dataLabels=[]),v[z]&&g.push(v[z]),e[U].dataLabels.push(v[N])}a.drawTracker&&a.drawTracker.call(a,b,U,R,O)}b.visible=!1!==d.visible;return b},drawLabelHeatmap:function(b,d,a){var c=b.items[a],e=b.data[a];b=this.paper;a=this.layers.datalabels;var g=this.options.plotOptions.series.dataLabels,f=g.style;d=!1===d.visible?"hidden":Nb;var h=e.displayValue,p=e.tlLabel,m=e.trLabel,q=e.blLabel,e=e.brLabel,k=g.tlLabelStyle,n=
g.trLabelStyle,s=g.blLabelStyle,g=g.brLabelStyle,r=c.tlLabel,v=c.trLabel,z=c.blLabel,x=c.brLabel,u=this.smartLabel,w=c.dataLabel,B=[],C={fontFamily:f.fontFamily,fontSize:f.fontSize,lineHeight:f.lineHeight,fontWeight:f.fontWeight,fontStyle:f.fontStyle},D,F,E,J,U,L,G,I;J=c.graphic.getBBox();D=J.width;F=J.height;E=J.x;J=J.y;u.setStyle(f);ma(h)&&h!==y&&(G=u.getSmartText(h,D,F,!1),h=G.text,w||(w=c.dataLabel=b.text(a)),w.attr({text:h,title:G.tooltext||"",visibility:d,fill:f.color,x:E+0.5*D,y:J+0.5*F,"text-bound":[f.backgroundColor,
f.borderColor,f.borderThickness,f.borderPadding,f.borderRadius,f.borderDash]}).css(C),B.push(w));h=ma(p)&&p!==y;C=ma(m)&&m!==y;U=ma(q)&&q!==y;L=ma(e)&&e!==y;f=D*(h&&C?0.5:0.9);w=0.5*(F-(G&&G.height||0));I=J+4;h&&(u.setStyle(k),G=u.getSmartText(p,f,w,!1),h=G.text,p=E,r||(r=c.tlLabel=b.text()),r.attr({text:h,title:G.tooltext||"",visibility:d,fill:k.color,"text-anchor":"start","vertical-align":Fa,x:p+4,y:I}).css(k),a.appendChild(r),B.push(r));C&&(u.setStyle(n),G=u.getSmartText(m,f,w,!1),h=G.text,p=E+
D,v||(v=c.trLabel=b.text()),v.attr({text:h,title:G.tooltext||"",visibility:d,fill:n.color,"text-anchor":"end","vertical-align":Fa,x:p-4,y:I}).css(n),a.appendChild(v),B.push(v));I=J+F-4;U&&(u.setStyle(g),G=u.getSmartText(q,f,w,!1),h=G.text,p=E,z||(z=c.blLabel=b.text()),z.attr({text:h,title:G.tooltext||"",visibility:d,fill:g.color,"text-anchor":"start","vertical-align":va,x:p+4,y:I}).css(g),a.appendChild(z),B.push(z));L&&(u.setStyle(s),G=u.getSmartText(e,f,w,!1),h=G.text,p=E+D-4,x||(x=c.brLabel=b.text()),
x.attr({text:h,title:G.tooltext||"",visibility:d,fill:s.color,"text-anchor":"end","vertical-align":va,x:p,y:I}).css(s),a.appendChild(x),B.push(x));return B},setScaleRange:function(b,d){var a=this.logic,c=this.plots[0],e={visibility:"visible"},g={visibility:"hidden"},f={hcJSON:{series:[{}]}},h=f.hcJSON.series[0],p=h.data||(h.data=[]),m=a.chartInstance.jsVars._reflowData,q=c.items,k,n,s,r,v,w,x,u=function(a){a.attr(w)};setTimeout(function(){for(var a in q)k=q[a],n=k.value,s=k.graphic,v=p[a]||(p[a]=
{}),r=k.dataLabels,w=(x=n>=b&&n<=d)?e:g,s.attr(w),gb(r,u),v.visible=x;I(m,f,!0)},100)}},w["renderer.cartesian"]);w("renderer.radar",{createRadarAxis:function(){var b=this.options,d=this.canvasLeft+this.canvasWidth/2,a=this.canvasTop+this.canvasHeight/2,c=b.xAxis,e=b.yAxis instanceof Array?b.yAxis[0]:b.yAxis,f=c.max-c.min+1,h=v(e.max-e.min),b=ma(b.chart.axisRadius)?b.chart.axisRadius:Ra(d,a),l,p=Ma.PI/2,m={};0>b&&(b=Ra(d,a));l=2*Ma.PI/f;m.yTrans=b/h;m.xTrans=l;m.yRange=h;m.startAngle=p;m.yMin=e.min;
m.centerX=d;m.centerY=a;m.radius=b;m.categories=[];m.catLength=f;m.yAxis=e;m.xAxis=c;return this.radarAxis=m},drawRadarAxis:function(){var b=this.radarAxis,d=b.catLength,a=b.xAxis,c=b.yAxis,e=c.min,g=c.plotLines,r=g.length,l=a.plotLines,p=b.xTrans,m=b.yTrans,q=b.radius,k=b.startAngle,n=this.canvasLeft+this.canvasWidth/2,s=this.canvasTop+this.canvasHeight/2,w=this.paper,y=this.layers,z=y.dataset=y.dataset||w.group("orphan-dataset").trackTooltip(!0),x=y.layerBelowDataset=y.layerBelowDataset||w.group("axisbottom").trackTooltip(!0),
u=y.layerAboveDataset=y.layerAboveDataset||w.group("axistop").trackTooltip(!0),G=y.axisLines=y.axisLines||w.group("axis-lines",x),B=y.axisLabels=y.axisLabels||w.group("axis-labels",x),D=c.labels,c=2*Ma.PI,C=Ma.PI/2,F=Ma.PI+C,E=!1!==(this.options.tooltip||{}).enabled,J,I=["right","center","left"],L,K,M,H,Q=a.labels,T=f(0.9*parseInt(Q.style&&Q.style.fontSize,10),9)/2,Q=q+Q.labelPadding,S=[],P=["M"],N=[],O;x.insertBefore(z);u.insertAfter(z);b.divline=[];for(H=0;H<r;H+=1){N[H]=[ra];x=!0;z=d;u=g[H];O=
u.tooltext;for(J=u.value;z--;)D=v(J-e)*m,K=n+D*Ia(-(k+z*p)),M=s+D*bb(-(k+z*p)),N[H].splice(N[H].length,0,K,M),x&&(N[H].push(oa),x=!1),0===z&&u.label&&(D=u.label,((L=D.text)||0===L)&&w.text(B).attr({text:L,x:K,y:M,"text-anchor":"right"===D.textAlign?"end":"left"===D.textAlign?"start":"middle","vertical-align":D.verticalAlign,rotation:D.rotation}).css(D.style));N[H].push("Z");b.divline[H]=w.path(N[H],G).attr({stroke:u.color,"stroke-width":u.width});E&&O&&w.path({stroke:xa,"stroke-width":sa(u.width,
bc),ishot:!0,path:N[H]},y.tracker).toBack().tooltip(O)}x=!0;for(z=l.length;z--;)if(u=l[z],J=u.value,d=k+J*p,e=d%c,K=n+q*Ia(-d),M=s+q*bb(-d),S.splice(S.length,0,"M",n,s,"L",K,M),P.splice(P.length,0,K,M),x&&(P.push("L"),x=!1),u.label&&(D=u.label,(L=D.text)||0===L))e=e>C&&e<F?0:e==C||e==F?1:2,w.text(B).attr({text:L,x:n+Q*Ia(-d),y:s+Q*bb(-d)+T*bb(-d)+T,"text-anchor":"right"===I[e]?"end":"left"===I[e]?"start":"middle","vertical-align":D.verticalAlign,rotation:D.rotation}).css(D.style);P.push("Z");b.spikeGraph=
w.path(S,G).attr({stroke:a.gridLineColor,"stroke-width":h(a.gridLineWidth,1)});a.showRadarBorder&&(b.borderGraph=w.path(P,G).toBack().attr({stroke:a.radarBorderColor,"stroke-width":h(a.radarBorderThickness,2),fill:a.radarFillColor}))},drawPlotRadar:function(b,d){var a=this,c=a.paper,e=a.layers,g=e.dataset=e.dataset||c.group("orphan-dataset"),h=e.datalabels=e.datalabels||c.group("datalabels").insertAfter(g),l=e.tracker=e.tracker||c.group("hot").insertAfter(g),p=a.options,m=p.chart.anchorTrackingRadius,
q=p.plotOptions.series,k=[],n=b.items||{},s=b.graphics=b.graphics||[],e=a.radarAxis,r=d.data||[],y=r.length,z,x,u=!1===d.visible,D=u?"hidden":"visible",q=isNaN(+q.animation)&&q.animation.duration||1E3*q.animation,B,C,E=!1!==(p.tooltip||{}).enabled,F,I,J,H,L=g.radarGroup=g.radarGroup||c.group("connectors",g),K=g.marker=g.marker||c.group("anchors",g),M=l.trackers=l.trackers||c.group("trackers",l),Q=a.chartWidth,T=a.chartHeight,g=[],S,O,P,N,X,Y,R,$,W,Z,ca,da,ga,aa,ja,la,ia=(p=p.cursor)&&{cursor:p},ma=
w["renderer.cartesian"],oa,ra,va;void 0===a.radarAxis&&(e=a.radarAxis=a.createRadarAxis(d),a.drawRadarAxis(d));B=e.yTrans;F=e.yMin;I=e.startAngle;C=e.xTrans;z=e.centerX;x=e.centerY;1<=y&&(Y=[],gb(r,function(e,g){W=null;g?2>g&&Y.push("L"):Y.push("M");n[g]=oa=k[g]={chart:a,index:g,value:e.y};if(null===e.y)Y.push(z,x);else{R=Z=null;ca=e.link;da=e.tooltext||e.toolText;J=z+B*v(e.y-F)*Ia(-(I+g*C));H=x+B*v(e.y-F)*bb(-(I+g*C));if(R=e.anchorElem)X=f(R.attr("r"),O.radius),R.attr({x:J,y:H,r:X});else if(O=e.marker,
va={index:g,link:ca,value:e.y,displayValue:e.displayValue,categoryLabel:e.categoryLabel,toolText:da,id:b.userID,datasetIndex:b.index,datasetName:b.name,visible:b.visible},O&&O.enabled)if(P=O.radius,ga=O.shadow,S=O.symbol.split("_"),N="spoke"===S[0]?1:0,ja=la={},aa=e.rolloverProperties,O.imageUrl)ra=new La.Image,ra.onload=function(e,g,f,h,k,m,n,p){return function(){var q=f.imageUrl,r=f.imageScale,t=f.imageAlpha,u=n.imageHoverAlpha,v=n.imageHoverScale,w=this.width*r*0.01,x=this.width*v*0.01;ja={x:e-
this.width*r*0.005,y:g-this.height*r*0.005,width:w,height:this.height*r*0.01,alpha:t};la={x:e-this.width*v*0.005,y:g-this.height*v*0.005,width:x,height:this.height*v*0.01,alpha:u};u=x>w?la:ja;(h.graphic=R=c.image(q,K).attr(ja).css({opacity:0.01*t}).data("alwaysInvisible",0===r).data("setRolloverProperties",n).data("setRolloverAttr",la).data("setRolloutAttr",ja).data("anchorRadius",r).data("anchorHoverRadius",v))&&s.push(R);if(ca||E||n)Z=h.tracker=c.rect(l).attr(u).attr({cursor:ca?"pointer":"",stroke:xa,
"stroke-width":f.lineWidth,fill:xa,ishot:!0,visibility:D}).data("eventArgs",k).click(function(b){ya.call(this,a,b)}).hover(function(b){return function(c){ma.hoverPlotAnchor(this,c,"DataPlotRollOver",b,a)}}(h),function(b){return function(c){ma.hoverPlotAnchor(this,c,"DataPlotRollOut",b,a)}}(h)).tooltip(m);(W=h.dataLabel=ma.drawPlotLineLabel.call(a,b,d,p,e,g))&&s.push(W)}}(J,H,O,oa,va,da,aa,g),ra.onerror=function(c,e,g,f,h,k,l,m){return function(){(W=f.dataLabel=ma.drawPlotLineLabel.call(a,b,d,m,c,
e))&&s.push(W)}}(J,H,O,oa,va,da,aa,g),ra.src=O.imageUrl;else{aa&&(ja={polypath:[S[1]||2,J,H,P,O.startAngle,N],fill:G(O.fillColor),"stroke-width":O.lineWidth,stroke:G(O.lineColor)},la={polypath:[aa.sides||2,J,H,aa.radius,aa.startAngle,aa.dip],fill:G(aa.fillColor),"stroke-width":aa.lineWidth,stroke:G(aa.lineColor)});R=oa.graphic=c.polypath(S[1]||2,J,H,P,O.startAngle,null,K).attr({fill:G(O.fillColor),"stroke-width":O.lineWidth,stroke:G(O.lineColor),cursor:ca?"pointer":"","stroke-linecap":"round","stroke-linejoin":"round",
ishot:!0,visibility:0===P?"hidden":D}).data("alwaysInvisible",0===P).data("setRolloverProperties",aa).data("setRolloverAttr",la).data("setRolloutAttr",ja).data("anchorRadius",P).data("anchorHoverRadius",aa&&aa.radius).shadow(ga);e.anchorElem=R;if(ca||E||aa)(Z=e.trackerElem)?(X=f(Z.attr("r"),O.radius+1),Z.attr({x:J,y:H,r:X})):(S||(S=O.symbol.split("_")),P=sa(P,m,aa&&aa.radius||0),Z=c.circle(J,H,P,M).attr({cursor:e.link?"pointer":"",stroke:xa,"stroke-width":1,fill:xa,ishot:!0,visibility:D}).css(ia)),
e.trackerElem=Z;(Z=Z||R)&&Z.data("eventArgs",va).click(function(b){ya.call(this,a,b)}).hover(function(b){return function(c){ma.hoverPlotAnchor(this,c,"DataPlotRollOver",b,a)}}(oa),function(b){return function(c){ma.hoverPlotAnchor(this,c,"DataPlotRollOut",b,a)}}(oa)).tooltip(da)}Y.push(J,H);oa.dataLabel=W;oa.tracker=Z;O&&O.imageUrl||(W=ma.drawPlotLineLabel.call(a,b,d,g,J,H));R&&s.push(R);W&&s.push(W);Z&&s.push(Z)}}),Y.push("Z"),g=g.concat(Y));g&&0<g.length&&($=b.graphic=c.path(g,L).attr({stroke:G(d.lineColor.FCcolor),
fill:G(d.fillColor.FCcolor),"stroke-width":d.lineWidth,visibility:D}));q&&(a.animationCompleteQueue.push({fn:function(){K.show();h.attr({transform:"...t"+-Q+","+-T})},scope:a}),K.hide(),h.attr({transform:"...t"+Q+","+T}),L.scale(0.01,0.01,z,x).animate({transform:"s1,1"},q,"normal",a.getAnimationCompleteFn()));$&&s.push($);b.visible=!u},legendClick:function(b){w["renderer.cartesian"].legendClick.call(this,b)},getEventArgs:function(b){return w["renderer.cartesian"].getEventArgs.call(this,b)}},w["renderer.root"]);
w("renderer.multiLevelPie",{drawPlotMultilevelpie:function(b,d){var a=this,c=b.items,e=b.data,g=a.options,h=g.plotOptions.series,l=a.layers,p=h.animation,m=h.dataLabels.style,q=h.shadow,k=f(b.moveDuration,p.duration,0),n=h.borderWidth,r=h.borderColor,v=a.paper,g=(g=g.tooltip||{})&&!1!==g.enabled,w=(d.startAngle||0)%hc,y=hc/(d.valueTotal||100),x=a.canvasLeft+0.5*a.canvasWidth,u=a.canvasTop+0.5*a.canvasHeight,D,B,C,E,F,H,J,I,L,K,M;B=Ra(a.canvasWidth,a.canvasHeight);var O,S=l.dataset,T=p.mainItem,X=
p.animObj,P=function(b){ya.call(this.graphic,a,b,"DataPlotRollOver");h.point.events.mouseOver.call(this)},N=function(b){ya.call(this.graphic,a,b,"DataPlotRollOut");h.point.events.mouseOut.call(this)},$=function(b){ya.call(this.graphic,a,b,"DataPlotRollOver");h.point.events.mouseOver.call(this)},Y=function(b){ya.call(this.graphic,a,b,"DataPlotRollOut");h.point.events.mouseOut.call(this)},R=function(){a.placeDataLabels(!1,c,b,d)};D=0.5*(/%$/.test(d.size)?B*parseInt(d.size,10)/100:d.size);B=0.5*(/%$/.test(d.innerSize)?
B*parseInt(d.innerSize,10)/100:d.innerSize);d.metrics=[x,u,2*D,2*B];e&&e.length||(e=[]);O=l.datalabels||(l.datalabels=v.group("datalabels").insertAfter(S));K=L=w;for(M=e.length;M--;)E=e[M],F=E.y,H=E.displayValue,l=E.toolText,J=!!E.link,null!==F&&void 0!==F&&(K=L,L-=F*y,I=0.5*(L+K),(C=c[M])||(C=c[M]={chart:a,link:E.link,value:F,angle:I,color:E.color,prevPointIndex:E.prevPointIndex,prevSeriesIndex:E.prevSeriesIndex,labelText:H,graphic:v.ringpath(x,u,D,B,w,w,S).attr({"stroke-width":E.borderWidth||n,
stroke:E.borderColor||r,fill:G(E.color),"stroke-dasharray":E.dashStyle,ishot:J,cursor:J?"pointer":""}).shadow(q&&!!E.shadow)},E={link:E.link,label:E.displayValue,toolText:E.toolText},C.graphic.mouseover(P,C),C.graphic.mouseout(N,C),C.graphic.mouseup(a.plotMouseUp),C.graphic.data("plotItem",C),C.graphic.data("eventArgs",E),g&&C.graphic.tooltip(l),void 0!==H&&(C.dataLabel=v.text(O).css(m).attr({text:H,fill:m.color||"#000000",visibility:"hidden",ishot:J,cursor:J?"pointer":""}).mouseover($,C).mouseout(Y,
C).mouseup(a.plotMouseUp),C.dataLabel.data("plotItem",C),C.graphic.data("eventArgs",E),g&&C.dataLabel.tooltip(l))),k?T?C.graphic.animateWith(T,X,{ringpath:[x,u,D,B,L,K]},k,"easeIn",!M&&R):(X=p.animObj=Q.animation({ringpath:[x,u,D,B,L,K]},k,"easeIn",!M&&R),T=p.mainItem=C.graphic.animate(X)):(C.graphic.attr({ringpath:[x,u,D,B,L,K]}),!M&&R&&R()))},plotMouseUp:function(b){var d=this.data("plotItem");ya.call(this,d.chart,b)}},w["renderer.piebase"]);Q.addSymbol({resizeIcon:function(b,d,a){var c=f(a,15)/
3,e=[];0>c&&(c=-c,a=-a,b+=a-c/2,d+=a-c/2);for(a=3;0<a;a-=1)e.push(ra,b-c*a,d-3,oa,b-3,d-c*a);return e},closeIcon:function(b,d,a){var c=1.3*a,e=43*rc,g=48*rc,f=b+c*Ia(e),e=d+c*bb(e),h=b+c*Ia(g),p=d+c*bb(g),g=0.71*(a-2);a=0.71*(a-2);c=["A",c,c,0,1,0,h,p];f=[ra,f,e];f=f.concat(c);return f=f.concat([ra,b+g,d-a,oa,b-g,d+a,ra,b-g,d-a,oa,b+g,d+a])},configureIcon:function(b,d,a){a-=1;var c=0.71*a,e=0.71*(a+2),f=b-a,h=d-a,l=b+a;a=d+a;var p=b+0.5,m=d+0.5,q=b-0.5,k=d-0.5,n=f-2,r=h-2,v=l+2,w=a+2,y=b+c,x=d+c,
u=b-c,c=d-c,C=b+e,B=d+e;b-=e;d-=e;return[ra,f,m,oa,n,m,n,k,f,k,u-0.25,c+0.25,b-0.25,d+0.25,b+0.25,d-0.25,u+0.25,c-0.25,q,h,q,r,p,r,p,h,y-0.25,c-0.25,C-0.25,d-0.25,C+0.25,d+0.25,y+0.25,c+0.25,l,k,v,k,v,m,l,m,y+0.25,x-0.25,C+0.25,B-0.25,C-0.25,B+0.25,y-0.25,x+0.25,p,a,p,w,q,w,q,a,u+0.25,x+0.25,b+0.25,B+0.25,b-0.25,B-0.25,u-0.25,x-0.25,"Z"]},axisIcon:function(b,d,a){a-=1;var c=0.33*a,e=a/2,f=b-a,h=d-a,l=b+e;a=d+a;b-=e;e=d+c;d-=c;return[ra,f,h,oa,l,h,l,a,f,a,ra,b,e,oa,l,e,ra,b,d,oa,l,d]},loggerIcon:function(b,
d,a){a-=1;b-=a;d-=a;var c=b+2*a,e=b+2,f=c-2,h=d+2;a=h+a;var l=a+2;return[ra,b,d,oa,c,d,c,h,f,h,f,a,c,a,c,l,b,l,b,a,e,a,e,h,b,h,b,d]}})},[3,2,1,"release"]]);