@canvasjs/stockcharts 1.7.35 → 1.7.36

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/LICENSE CHANGED
@@ -1,4 +1,4 @@
1
- CanvasJS StockChart - v1.7.35 GA - https://canvasjs.com/
1
+ CanvasJS StockChart - v1.7.36 GA - https://canvasjs.com/
2
2
  Copyright 2023 fenopix
3
3
 
4
4
  --------------------- License Information --------------------
@@ -1,5 +1,5 @@
1
1
  /*
2
- CanvasJS StockChart - v1.7.35 GA - https://canvasjs.com/
2
+ CanvasJS StockChart - v1.7.36 GA - https://canvasjs.com/
3
3
  Copyright 2023 fenopix
4
4
 
5
5
  --------------------- License Information --------------------
@@ -492,208 +492,208 @@ m._colorSet.length];p.indexLabelLineThickness=g(h.indexLabelLineThickness)?m.ind
492
492
  g(h.indexLabelFontSize)?m.indexLabelFontSize:h.indexLabelFontSize;p.indexLabelFontFamily=h.indexLabelFontFamily?h.indexLabelFontFamily:m.indexLabelFontFamily;p.indexLabelBackgroundColor=h.indexLabelBackgroundColor?h.indexLabelBackgroundColor:m.options.indexLabelBackgroundColor?m.options.indexLabelBackgroundColor:m.indexLabelBackgroundColor;p.indexLabelMaxWidth=h.indexLabelMaxWidth?h.indexLabelMaxWidth:m.indexLabelMaxWidth?m.indexLabelMaxWidth:0.33*s.width;p.indexLabelWrap="undefined"!==typeof h.indexLabelWrap?
493
493
  h.indexLabelWrap:m.indexLabelWrap;p.indexLabelTextAlign=h.indexLabelTextAlign?h.indexLabelTextAlign:m.indexLabelTextAlign?m.indexLabelTextAlign:"left";p.startAngle=0===e?m.startAngle?m.startAngle/180*Math.PI:0:k[e-1].endAngle;p.startAngle=(p.startAngle+2*Math.PI)%(2*Math.PI);p.endAngle=p.startAngle+2*Math.PI/z*Math.abs(h.y);h=(p.endAngle+p.startAngle)/2;h=(h+2*Math.PI)%(2*Math.PI);p.midAngle=h;if(p.midAngle>Math.PI/2-v&&p.midAngle<Math.PI/2+v){if(0===a||k[c].midAngle>p.midAngle)c=e;a++}else if(p.midAngle>
494
494
  3*Math.PI/2-v&&p.midAngle<3*Math.PI/2+v){if(0===b||k[f].midAngle>p.midAngle)f=e;b++}p.hemisphere=h>Math.PI/2&&h<=3*Math.PI/2?"left":"right";p.indexLabelTextBlock=new ma(u.plotArea.ctx,{fontSize:p.indexLabelFontSize,fontFamily:p.indexLabelFontFamily,fontColor:p.indexLabelFontColor,fontStyle:p.indexLabelFontStyle,fontWeight:p.indexLabelFontWeight,textAlign:p.indexLabelTextAlign,backgroundColor:p.indexLabelBackgroundColor,maxWidth:p.indexLabelMaxWidth,maxHeight:p.indexLabelWrap?5*p.indexLabelFontSize:
495
- 1.5*p.indexLabelFontSize,text:p.indexLabelText,padding:0,textBaseline:"top"});p.indexLabelTextBlock.measureText()}d=h=0;r=!1;for(e=0;e<n.length;e++)p=k[(c+e)%n.length],1<a&&(p.midAngle>Math.PI/2-v&&p.midAngle<Math.PI/2+v)&&(h<=a/2&&!r?(p.hemisphere="right",h++):(p.hemisphere="left",r=!0));r=!1;for(e=0;e<n.length;e++)p=k[(f+e)%n.length],1<b&&(p.midAngle>3*Math.PI/2-v&&p.midAngle<3*Math.PI/2+v)&&(d<=b/2&&!r?(p.hemisphere="left",d++):(p.hemisphere="right",r=!0))}}function c(a){var b=u.plotArea.ctx;b.clearRect(s.x1,
496
- s.y1,s.width,s.height);b.fillStyle=u.backgroundColor;b.fillRect(s.x1,s.y1,s.width,s.height);for(b=0;b<n.length;b++){var c=k[b].startAngle,f=k[b].endAngle;if(f>c){var e=0.07*x*Math.cos(k[b].midAngle),h=0.07*x*Math.sin(k[b].midAngle),g=!1;if(n[b].exploded){if(1E-9<Math.abs(k[b].center.x-(y.x+e))||1E-9<Math.abs(k[b].center.y-(y.y+h)))k[b].center.x=y.x+e*a,k[b].center.y=y.y+h*a,g=!0}else if(0<Math.abs(k[b].center.x-y.x)||0<Math.abs(k[b].center.y-y.y))k[b].center.x=y.x+e*(1-a),k[b].center.y=y.y+h*(1-a),
497
- g=!0;g&&(e={},e.dataSeries=m,e.dataPoint=m.dataPoints[b],e.index=b,u.toolTip.highlightObjects([e]));d(u.plotArea.ctx,k[b].center,k[b].radius,n[b].color?n[b].color:m._colorSet[b%m._colorSet.length],m.type,c,f,m.fillOpacity,k[b].percentInnerRadius)}}a=u.plotArea.ctx;a.save();a.fillStyle="black";a.strokeStyle="grey";a.textBaseline="middle";a.lineJoin="round";for(b=b=0;b<n.length;b++)c=k[b],c.indexLabelText&&(c.indexLabelTextBlock.y-=c.indexLabelTextBlock.height/2,f=0,f="left"===c.hemisphere?"inside"!==
498
- m.indexLabelPlacement?-(c.indexLabelTextBlock.width+p):-c.indexLabelTextBlock.width/2:"inside"!==m.indexLabelPlacement?p:-c.indexLabelTextBlock.width/2,c.indexLabelTextBlock.x+=f,c.indexLabelTextBlock.render(!0),c.indexLabelTextBlock.x-=f,c.indexLabelTextBlock.y+=c.indexLabelTextBlock.height/2,"inside"!==c.indexLabelPlacement&&0<c.indexLabelLineThickness&&(f=c.center.x+x*Math.cos(c.midAngle),e=c.center.y+x*Math.sin(c.midAngle),a.strokeStyle=c.indexLabelLineColor,a.lineWidth=c.indexLabelLineThickness,
499
- a.setLineDash&&a.setLineDash(R(c.indexLabelLineDashType,c.indexLabelLineThickness)),a.beginPath(),a.moveTo(f,e),a.lineTo(c.indexLabelTextBlock.x,c.indexLabelTextBlock.y),a.lineTo(c.indexLabelTextBlock.x+("left"===c.hemisphere?-p:p),c.indexLabelTextBlock.y),a.stroke()),a.lineJoin="miter");a.save()}function b(a,b){var c=0,c=a.indexLabelTextBlock.y-a.indexLabelTextBlock.height/2,f=a.indexLabelTextBlock.y+a.indexLabelTextBlock.height/2,e=b.indexLabelTextBlock.y-b.indexLabelTextBlock.height/2,h=b.indexLabelTextBlock.y+
500
- b.indexLabelTextBlock.height/2;return c=b.indexLabelTextBlock.y>a.indexLabelTextBlock.y?e-f:c-h}function e(a){for(var c=null,f=1;f<n.length;f++)if(c=(a+f+k.length)%k.length,k[c].hemisphere!==k[a].hemisphere){c=null;break}else if(k[c].indexLabelText&&c!==a&&(0>b(k[c],k[a])||("right"===k[a].hemisphere?k[c].indexLabelTextBlock.y>=k[a].indexLabelTextBlock.y:k[c].indexLabelTextBlock.y<=k[a].indexLabelTextBlock.y)))break;else c=null;return c}function h(a,c,f){f=(f||0)+1;if(1E3<f)return 0;c=c||0;var g=0,
501
- d=y.y-1*q,m=y.y+1*q;if(0<=a&&a<n.length){var p=k[a];if(0>c&&p.indexLabelTextBlock.y<d||0<c&&p.indexLabelTextBlock.y>m)return 0;var s=0,r=0,r=s=s=0;0>c?p.indexLabelTextBlock.y-p.indexLabelTextBlock.height/2>d&&p.indexLabelTextBlock.y-p.indexLabelTextBlock.height/2+c<d&&(c=-(d-(p.indexLabelTextBlock.y-p.indexLabelTextBlock.height/2+c))):p.indexLabelTextBlock.y+p.indexLabelTextBlock.height/2<d&&p.indexLabelTextBlock.y+p.indexLabelTextBlock.height/2+c>m&&(c=p.indexLabelTextBlock.y+p.indexLabelTextBlock.height/
502
- 2+c-m);c=p.indexLabelTextBlock.y+c;d=0;d="right"===p.hemisphere?y.x+Math.sqrt(Math.pow(q,2)-Math.pow(c-y.y,2)):y.x-Math.sqrt(Math.pow(q,2)-Math.pow(c-y.y,2));r=y.x+x*Math.cos(p.midAngle);s=y.y+x*Math.sin(p.midAngle);s=Math.sqrt(Math.pow(d-r,2)+Math.pow(c-s,2));r=Math.acos(x/q);s=Math.acos((q*q+x*x-s*s)/(2*x*q));c=s<r?c-p.indexLabelTextBlock.y:0;d=null;for(m=1;m<n.length;m++)if(d=(a-m+k.length)%k.length,k[d].hemisphere!==k[a].hemisphere){d=null;break}else if(k[d].indexLabelText&&k[d].hemisphere===
503
- k[a].hemisphere&&d!==a&&(0>b(k[d],k[a])||("right"===k[a].hemisphere?k[d].indexLabelTextBlock.y<=k[a].indexLabelTextBlock.y:k[d].indexLabelTextBlock.y>=k[a].indexLabelTextBlock.y)))break;else d=null;r=d;s=e(a);m=d=0;0>c?(m="right"===p.hemisphere?r:s,g=c,null!==m&&(r=-c,c=p.indexLabelTextBlock.y-p.indexLabelTextBlock.height/2-(k[m].indexLabelTextBlock.y+k[m].indexLabelTextBlock.height/2),c-r<t&&(d=-r,m=h(m,d,f+1),+m.toFixed(E)>+d.toFixed(E)&&(g=c>t?-(c-t):-(r-(m-d)))))):0<c&&(m="right"===p.hemisphere?
504
- s:r,g=c,null!==m&&(r=c,c=k[m].indexLabelTextBlock.y-k[m].indexLabelTextBlock.height/2-(p.indexLabelTextBlock.y+p.indexLabelTextBlock.height/2),c-r<t&&(d=r,m=h(m,d,f+1),+m.toFixed(E)<+d.toFixed(E)&&(g=c>t?c-t:r-(d-m)))));g&&(f=p.indexLabelTextBlock.y+g,c=0,c="right"===p.hemisphere?y.x+Math.sqrt(Math.pow(q,2)-Math.pow(f-y.y,2)):y.x-Math.sqrt(Math.pow(q,2)-Math.pow(f-y.y,2)),p.midAngle>Math.PI/2-v&&p.midAngle<Math.PI/2+v?(d=(a-1+k.length)%k.length,d=k[d],a=k[(a+1+k.length)%k.length],"left"===p.hemisphere&&
505
- "right"===d.hemisphere&&c>d.indexLabelTextBlock.x?c=d.indexLabelTextBlock.x-15:"right"===p.hemisphere&&("left"===a.hemisphere&&c<a.indexLabelTextBlock.x)&&(c=a.indexLabelTextBlock.x+15)):p.midAngle>3*Math.PI/2-v&&p.midAngle<3*Math.PI/2+v&&(d=(a-1+k.length)%k.length,d=k[d],a=k[(a+1+k.length)%k.length],"right"===p.hemisphere&&"left"===d.hemisphere&&c<d.indexLabelTextBlock.x?c=d.indexLabelTextBlock.x+15:"left"===p.hemisphere&&("right"===a.hemisphere&&c>a.indexLabelTextBlock.x)&&(c=a.indexLabelTextBlock.x-
506
- 15)),p.indexLabelTextBlock.y=f,p.indexLabelTextBlock.x=c,p.indexLabelAngle=Math.atan2(p.indexLabelTextBlock.y-y.y,p.indexLabelTextBlock.x-y.x))}return g}function r(){var a=u.plotArea.ctx;a.fillStyle="grey";a.strokeStyle="grey";a.font="16px Arial";a.textBaseline="middle";for(var c=a=0,f=0,g=!0,c=0;10>c&&(1>c||0<f);c++){if(m.radius||!m.radius&&"undefined"!==typeof m.innerRadius&&null!==m.innerRadius&&x-f<=D)g=!1;g&&(x-=f);f=0;if("inside"!==m.indexLabelPlacement){q=x*B;for(a=0;a<n.length;a++){var d=
507
- k[a];d.indexLabelTextBlock.x=y.x+q*Math.cos(d.midAngle);d.indexLabelTextBlock.y=y.y+q*Math.sin(d.midAngle);d.indexLabelAngle=d.midAngle;d.radius=x;d.percentInnerRadius=F}for(var A,l,a=0;a<n.length;a++){var d=k[a],v=e(a);if(null!==v){A=k[a];l=k[v];var z=0,z=b(A,l)-t;if(0>z){for(var C=l=0,ua=0;ua<n.length;ua++)ua!==a&&k[ua].hemisphere===d.hemisphere&&(k[ua].indexLabelTextBlock.y<d.indexLabelTextBlock.y?l++:C++);l=z/(l+C||1)*C;var C=-1*(z-l),L=ua=0;"right"===d.hemisphere?(ua=h(a,l),C=-1*(z-ua),L=h(v,
508
- C),+L.toFixed(E)<+C.toFixed(E)&&+ua.toFixed(E)<=+l.toFixed(E)&&h(a,-(C-L))):(ua=h(v,l),C=-1*(z-ua),L=h(a,C),+L.toFixed(E)<+C.toFixed(E)&&+ua.toFixed(E)<=+l.toFixed(E)&&h(v,-(C-L)))}}}}else for(a=0;a<n.length;a++)d=k[a],q="pie"===m.type?0.7*x:0.85*x,v=y.x+q*Math.cos(d.midAngle),l=y.y+q*Math.sin(d.midAngle),d.indexLabelTextBlock.x=v,d.indexLabelTextBlock.y=l;for(a=0;a<n.length;a++)if(d=k[a],v=d.indexLabelTextBlock.measureText(),0!==v.height&&0!==v.width)v=v=0,"right"===d.hemisphere?(v=s.x2-(d.indexLabelTextBlock.x+
509
- d.indexLabelTextBlock.width+p),v*=-1):v=s.x1-(d.indexLabelTextBlock.x-d.indexLabelTextBlock.width-p),0<v&&(!g&&d.indexLabelText&&(l="right"===d.hemisphere?s.x2-d.indexLabelTextBlock.x:d.indexLabelTextBlock.x-s.x1,0.3*d.indexLabelTextBlock.maxWidth>l?d.indexLabelText="":d.indexLabelTextBlock.maxWidth=0.85*l,0.3*d.indexLabelTextBlock.maxWidth<l&&(d.indexLabelTextBlock.x-="right"===d.hemisphere?2:-2)),Math.abs(d.indexLabelTextBlock.y-d.indexLabelTextBlock.height/2-y.y)<x||Math.abs(d.indexLabelTextBlock.y+
510
- d.indexLabelTextBlock.height/2-y.y)<x)&&(v/=Math.abs(Math.cos(d.indexLabelAngle)),9<v&&(v*=0.3),v>f&&(f=v)),v=v=0,0<d.indexLabelAngle&&d.indexLabelAngle<Math.PI?(v=s.y2-(d.indexLabelTextBlock.y+d.indexLabelTextBlock.height/2+5),v*=-1):v=s.y1-(d.indexLabelTextBlock.y-d.indexLabelTextBlock.height/2-5),0<v&&(!g&&d.indexLabelText&&(l=0<d.indexLabelAngle&&d.indexLabelAngle<Math.PI?-1:1,0===h(a,v*l)&&h(a,2*l)),Math.abs(d.indexLabelTextBlock.x-y.x)<x&&(v/=Math.abs(Math.sin(d.indexLabelAngle)),9<v&&(v*=0.3),
511
- v>f&&(f=v)));var na=function(a,b,c){for(var f=[],e=0;f.push(k[b]),b!==c;b=(b+1+n.length)%n.length);f.sort(function(a,b){return a.y-b.y});for(b=0;b<f.length;b++)if(c=f[b],e<0.7*a)e+=c.indexLabelTextBlock.height,c.indexLabelTextBlock.text="",c.indexLabelText="",c.indexLabelTextBlock.measureText();else break};(function(){for(var a=-1,c=-1,f=0,h=!1,g=0;g<n.length;g++)if(h=!1,A=k[g],A.indexLabelText){var d=e(g);if(null!==d){var m=k[d];z=0;z=b(A,m);var s;if(s=0>z){s=A.indexLabelTextBlock.x;var r=A.indexLabelTextBlock.y-
512
- A.indexLabelTextBlock.height/2,l=A.indexLabelTextBlock.y+A.indexLabelTextBlock.height/2,u=m.indexLabelTextBlock.y-m.indexLabelTextBlock.height/2,v=m.indexLabelTextBlock.x+m.indexLabelTextBlock.width,t=m.indexLabelTextBlock.y+m.indexLabelTextBlock.height/2;s=A.indexLabelTextBlock.x+A.indexLabelTextBlock.width<m.indexLabelTextBlock.x-p||s>v+p||r>t+p||l<u-p?!1:!0}s?(0>a&&(a=g),d!==a&&(c=d,f+=-z),0===g%Math.max(n.length/10,3)&&(h=!0)):h=!0;h&&(0<f&&0<=a&&0<=c)&&(na(f,a,c),c=a=-1,f=0)}}0<f&&na(f,a,c)})()}}
513
- function l(){u.plotArea.layoutManager.reset();u.title&&(u.title.dockInsidePlotArea||"center"===u.title.horizontalAlign&&"center"===u.title.verticalAlign)&&u.title.render();if(u.subtitles)for(var a=0;a<u.subtitles.length;a++){var b=u.subtitles[a];(b.dockInsidePlotArea||"center"===b.horizontalAlign&&"center"===b.verticalAlign)&&b.render()}u.legend&&(u.legend.dockInsidePlotArea||"center"===u.legend.horizontalAlign&&"center"===u.legend.verticalAlign)&&(u.legend.setLayout(),u.legend.render())}var u=this;
514
- if(!(0>=a.dataSeriesIndexes.length)){var m=this.data[a.dataSeriesIndexes[0]],n=m.dataPoints,p=10,s=this.plotArea,k=m.dataPointEOs,t=2,q,B=1.3,v=20/180*Math.PI,E=6,y={x:(s.x2+s.x1)/2,y:(s.y2+s.y1)/2},z=0;a=!1;for(var C=0;C<n.length;C++)z+=Math.abs(n[C].y),!a&&("undefined"!==typeof n[C].indexLabel&&null!==n[C].indexLabel&&0<n[C].indexLabel.toString().length)&&(a=!0),!a&&("undefined"!==typeof n[C].label&&null!==n[C].label&&0<n[C].label.toString().length)&&(a=!0);if(0!==z){a=a||"undefined"!==typeof m.indexLabel&&
515
- null!==m.indexLabel&&0<m.indexLabel.toString().length;var x="inside"!==m.indexLabelPlacement&&a?0.75*Math.min(s.width,s.height)/2:0.92*Math.min(s.width,s.height)/2;m.radius&&(x=Wa(m.radius,x));var D="undefined"!==typeof m.innerRadius&&null!==m.innerRadius?Wa(m.innerRadius,x):0.7*x;m.radius=x;"doughnut"===m.type&&(m.innerRadius=D);var F=Math.min(D/x,(x-1)/x);this.pieDoughnutClickHandler=function(a){u.isAnimating||!g(a.dataSeries.explodeOnClick)&&!a.dataSeries.explodeOnClick||(a=a.dataPoint,a.exploded=
516
- a.exploded?!1:!0,1<this.dataPoints.length&&u._animator.animate(0,500,function(a){c(a);l();u.dispatchEvent("dataAnimationIterationEnd",{chart:u});u.dispatchEvent("dataAnimationEnd",{chart:u})}))};f();r();r();r();r();this.disableToolTip=!0;this._animator.animate(0,this.animatedRender?this.animationDuration:0,function(a){var b=u.plotArea.ctx;b.clearRect(s.x1,s.y1,s.width,s.height);b.fillStyle=u.backgroundColor;b.fillRect(s.x1,s.y1,s.width,s.height);for(var b=k[0].startAngle+2*Math.PI*a,c=0;c<n.length;c++){var f=
517
- 0===c?k[c].startAngle:e,e=f+(k[c].endAngle-k[c].startAngle),h=!1;e>b&&(e=b,h=!0);var g=n[c].color?n[c].color:m._colorSet[c%m._colorSet.length];e>f&&d(u.plotArea.ctx,k[c].center,k[c].radius,g,m.type,f,e,m.fillOpacity,k[c].percentInnerRadius);if(h)break}l();u.dispatchEvent("dataAnimationIterationEnd",{chart:u});1<=a&&u.dispatchEvent("dataAnimationEnd",{chart:u})},function(){u.disableToolTip=!1;u._animator.animate(0,u.animatedRender?500:0,function(a){c(a);l();u.dispatchEvent("dataAnimationIterationEnd",
518
- {chart:u})});u.dispatchEvent("dataAnimationEnd",{chart:u})})}}};var r=function(a,f,c,b){"undefined"===typeof c&&(c=1);0>=Math.round(f.y4-f.y1)||(a.save(),a.globalAlpha=c,a.beginPath(),a.moveTo(Math.round(f.x1),Math.round(f.y1)),a.lineTo(Math.round(f.x2),Math.round(f.y2)),a.lineTo(Math.round(f.x3),Math.round(f.y3)),a.lineTo(Math.round(f.x4),Math.round(f.y4)),"undefined"!==f.x5&&(a.lineTo(Math.round(f.x5),Math.round(f.y5)),a.lineTo(Math.round(f.x6),Math.round(f.y6))),a.closePath(),a.fillStyle=b?b:f.color,
519
- a.fill(),a.globalAplha=1,a.restore())};t.prototype.renderFunnel=function(a){function f(){for(var a=0,b=[],c=0;c<E.length;c++){if("undefined"===typeof E[c].y)return-1;E[c].y="number"===typeof E[c].y?E[c].y:0;a+=Math.abs(E[c].y)}if(0===a)return-1;for(c=b[0]=0;c<E.length;c++)b.push(Math.abs(E[c].y)*D/a);return b}function c(){var a=Y,b=Z,c=T,f=$,e,h;e=O;h=M-P;f=Math.abs((h-e)*(b-a+(f-c))/2);c=$-T;e=h-e;h=c*(h-M);h=Math.abs(h);h=f+h;for(var f=[],k=0,g=0;g<E.length;g++){if("undefined"===typeof E[g].y)return-1;
520
- E[g].y="number"===typeof E[g].y?E[g].y:0;k+=Math.abs(E[g].y)}if(0===k)return-1;for(var d=f[0]=0,m=0,n,p,b=b-a,d=!1,g=0;g<E.length;g++)a=Math.abs(E[g].y)*h/k,d?n=0==Number(c.toFixed(3))?0:a/c:(p=ha*ha*b*b-4*Math.abs(ha)*a,0>p?(p=c,d=(b+p)*(e-m)/2,a-=d,n=e-m,m+=e-m,n+=0==p?0:a/p,m+=a/p,d=!0):(n=(Math.abs(ha)*b-Math.sqrt(p))/2,p=b-2*n/Math.abs(ha),m+=n,m>e&&(m-=n,p=c,d=(b+p)*(e-m)/2,a-=d,n=e-m,m+=e-m,n+=a/p,m+=a/p,d=!0),b=p)),f.push(n);return f}function b(){if(v&&E){for(var a,b,c,f,e,h,d,m,n,p,s,r,A,
521
- l,u,t=[],w=[],B={percent:null,total:null},y=null,H=0;H<E.length;H++)u=U[H],u="undefined"!==typeof u.x5?(u.y2+u.y4)/2:(u.y2+u.y3)/2,u=k(u).x2+1,t[H]=Q-u-V;u=0.5*V;for(var H=0,x=E.length-1;H<E.length||0<=x;H++,x--){b=v.reversed?E[x]:E[H];a=b.color?b.color:v.reversed?v._colorSet[(E.length-1-H)%v._colorSet.length]:v._colorSet[H%v._colorSet.length];c=b.indexLabelPlacement||v.indexLabelPlacement||"outside";l=b.indexLabelTextAlign||v.indexLabelTextAlign||"left";f=b.indexLabelBackgroundColor||v.indexLabelBackgroundColor||
522
- (q?"transparent":null);e=b.indexLabelFontColor||v.indexLabelFontColor||"#979797";h=g(b.indexLabelFontSize)?v.indexLabelFontSize:b.indexLabelFontSize;d=b.indexLabelFontStyle||v.indexLabelFontStyle||"normal";m=b.indexLabelFontFamily||v.indexLabelFontFamily||"arial";n=b.indexLabelFontWeight||v.indexLabelFontWeight||"normal";a=b.indexLabelLineColor||v.options.indexLabelLineColor||a;p="number"===typeof b.indexLabelLineThickness?b.indexLabelLineThickness:"number"===typeof v.indexLabelLineThickness?v.indexLabelLineThickness:
523
- 2;s=b.indexLabelLineDashType||v.indexLabelLineDashType||"solid";r="undefined"!==typeof b.indexLabelWrap?b.indexLabelWrap:"undefined"!==typeof v.indexLabelWrap?v.indexLabelWrap:!0;A=v.dataPointIds[H];z._eventManager.objectMap[A]={id:A,objectType:"dataPoint",dataPointIndex:H,dataSeriesIndex:0,funnelSection:U[v.reversed?E.length-1-H:H]};"inside"===v.indexLabelPlacement&&(t[H]=H!==da?v.reversed?U[H].x2-U[H].x1:U[H].x3-U[H].x4:U[H].x3-U[H].x6,20>t[H]&&(t[H]=H!==da?v.reversed?U[H].x3-U[H].x4:U[H].x2-U[H].x1:
524
- U[H].x2-U[H].x1,t[H]/=2));A=b.indexLabelMaxWidth?b.indexLabelMaxWidth:v.options.indexLabelMaxWidth?v.indexLabelMaxWidth:t[H];if(A>t[H]||0>A)A=t[H];w[H]="inside"===v.indexLabelPlacement?r?Math.max(U[H].height,h):1.5*h:!1;B=z.getPercentAndTotal(v,b);if(v.indexLabelFormatter||b.indexLabelFormatter)y={chart:z.options,dataSeries:v,dataPoint:b,total:B.total,percent:B.percent};b=b.indexLabelFormatter?b.indexLabelFormatter(y):b.indexLabel?z.replaceKeywordsWithValue(b.indexLabel,b,v,H):v.indexLabelFormatter?
525
- v.indexLabelFormatter(y):v.indexLabel?z.replaceKeywordsWithValue(v.indexLabel,b,v,H):b.label?b.label:"";0>=p&&(p=0);1E3>A&&1E3-A<u&&(A+=1E3-A);N.roundRect||Ea(N);c=new ma(N,{fontSize:h,fontFamily:m,fontColor:e,fontStyle:d,fontWeight:n,horizontalAlign:c,textAlign:l,backgroundColor:f,maxWidth:A,maxHeight:!1===w[H]?r?4.28571429*h:1.5*h:w[H],text:b,padding:ia});c.measureText();K.push({textBlock:c,id:v.reversed?x:H,isDirty:!1,lineColor:a,lineThickness:p,lineDashType:s,height:c.height<c.maxHeight?c.height:
526
- c.maxHeight,width:c.width<c.maxWidth?c.width:c.maxWidth})}}}function e(){var a,b,c,f,e,h=[];e=!1;c=0;for(var k,g=Q-Z-V/2,g=v.options.indexLabelMaxWidth?v.indexLabelMaxWidth>g?g:v.indexLabelMaxWidth:g,d=K.length-1;0<=d;d--){k=E[K[d].id];c=K[d];f=c.textBlock;b=(a=s(d)<U.length?K[s(d)]:null)?a.textBlock:null;c=c.height;a&&f.y+c+ia>b.y&&(e=!0);c=k.indexLabelMaxWidth||g;if(c>g||0>c)c=g;h.push(c)}if(e)for(d=K.length-1;0<=d;d--)a=U[d],K[d].textBlock.maxWidth=h[h.length-(d+1)],K[d].textBlock.measureText(),
527
- K[d].textBlock.x=Q-g,c=K[d].textBlock.height<K[d].textBlock.maxHeight?K[d].textBlock.height:K[d].textBlock.maxHeight,e=K[d].textBlock.width<K[d].textBlock.maxWidth?K[d].textBlock.width:K[d].textBlock.maxWidth,K[d].height=c,K[d].width=e,c="undefined"!==typeof a.x5?(a.y2+a.y4)/2:(a.y2+a.y3)/2,K[d].textBlock.y=c-K[d].height/2,v.reversed?(K[d].textBlock.y+K[d].height>S+x&&(K[d].textBlock.y=S+x-K[d].height),K[d].textBlock.y<aa-x&&(K[d].textBlock.y=aa-x)):(K[d].textBlock.y<S-x&&(K[d].textBlock.y=S-x),K[d].textBlock.y+
528
- K[d].height>aa+x&&(K[d].textBlock.y=aa+x-K[d].height))}function h(){var a,b,c,f;if("inside"!==v.indexLabelPlacement)for(var e=0;e<U.length;e++)0==K[e].textBlock.text.length?K[e].isDirty=!0:(a=U[e],c="undefined"!==typeof a.x5?(a.y2+a.y4)/2:(a.y2+a.y3)/2,b=v.reversed?"undefined"!==typeof a.x5?c>ea?k(c).x2+1:(a.x2+a.x3)/2+1:(a.x2+a.x3)/2+1:"undefined"!==typeof a.x5?c<ea?k(c).x2+1:(a.x4+a.x3)/2+1:(a.x2+a.x3)/2+1,K[e].textBlock.x=b+V,K[e].textBlock.y=c-K[e].height/2,v.reversed?(K[e].textBlock.y+K[e].height>
529
- S+x&&(K[e].textBlock.y=S+x-K[e].height),K[e].textBlock.y<aa-x&&(K[e].textBlock.y=aa-x)):(K[e].textBlock.y<S-x&&(K[e].textBlock.y=S-x),K[e].textBlock.y+K[e].height>aa+x&&(K[e].textBlock.y=aa+x-K[e].height)));else for(e=0;e<U.length;e++)0==K[e].textBlock.text.length?K[e].isDirty=!0:(a=U[e],b=a.height,c=K[e].height,f=K[e].width,b>=c?(b=e!=da?(a.x4+a.x3)/2-f/2:(a.x5+a.x4)/2-f/2,c=e!=da?(a.y1+a.y3)/2-c/2:(a.y1+a.y4)/2-c/2,K[e].textBlock.x=b,K[e].textBlock.y=c):K[e].isDirty=!0)}function d(){function a(b,
530
- c){var f;if(0>b||b>=K.length)return 0;var e,h=K[b].textBlock;if(0>c){c*=-1;e=p(b);f=l(e,b);if(f>=c)return h.y-=c,c;if(0==b)return 0<f&&(h.y-=f),f;f+=a(e,-(c-f));0<f&&(h.y-=f);return f}e=s(b);f=l(b,e);if(f>=c)return h.y+=c,c;if(b==U.length-1)return 0<f&&(h.y+=f),f;f+=a(e,c-f);0<f&&(h.y+=f);return f}function b(){var a,f,e,h,k=0,d;h=(M-O+2*x)/n;d=n;for(var g,m=1;m<d;m++){e=m*h;for(var r=K.length-1;0<=r;r--)!K[r].isDirty&&(K[r].textBlock.y<e&&K[r].textBlock.y+K[r].height>e)&&(g=s(r),!(g>=K.length-1)&&
531
- K[r].textBlock.y+K[r].height+ia>K[g].textBlock.y&&(K[r].textBlock.y=K[r].textBlock.y+K[r].height-e>e-K[r].textBlock.y?e+1:e-K[r].height-1))}for(g=U.length-1;0<g;g--)if(!K[g].isDirty){e=p(g);if(0>e&&(e=0,K[e].isDirty))break;if(K[g].textBlock.y<K[e].textBlock.y+K[e].height){f=f||g;h=g;for(d=0;K[h].textBlock.y<K[e].textBlock.y+K[e].height+ia;){a=a||K[h].textBlock.y+K[h].height;d+=K[h].height;d+=ia;h=e;if(0>=h){h=0;d+=K[h].height;break}e=p(h);if(0>e){h=0;d+=K[h].height;break}}if(h!=g){k=K[h].textBlock.y;
532
- a-=k;a=d-a;k=c(a,f,h);break}}}return k}function c(a,b,f){var e=[],h=0,k=0;for(a=Math.abs(a);f<=b;f++)e.push(U[f]);e.sort(function(a,b){return a.height-b.height});for(f=0;f<e.length;f++)if(b=e[f],h<a)k++,h+=K[b.id].height+ia,K[b.id].textBlock.text="",K[b.id].indexLabelText="",K[b.id].isDirty=!0,K[b.id].textBlock.measureText();else break;return k}for(var f,e,h,k,g,m,n=1,r=0;r<2*n;r++){for(var A=K.length-1;0<=A&&!(0<=p(A)&&p(A),h=K[A],k=h.textBlock,m=(g=s(A)<U.length?K[s(A)]:null)?g.textBlock:null,f=
533
- +h.height.toFixed(6),e=+k.y.toFixed(6),!h.isDirty&&(g&&e+f+ia>+m.y.toFixed(6))&&(f=k.y+f+ia-m.y,e=a(A,-f),e<f&&(0<e&&(f-=e),e=a(s(A),f),e!=f)));A--);b()}}function l(a,b){return(b<U.length?K[b].textBlock.y:v.reversed?S+x:aa+x)-(0>a?v.reversed?aa-x:S-x:K[a].textBlock.y+K[a].height+ia)}function t(a,b,c){var f,e,k,d=[],g=x,p=[];-1!==b&&(0<=fa.indexOf(b)?(e=fa.indexOf(b),fa.splice(e,1)):(fa.push(b),fa=fa.sort(function(a,b){return a-b})));if(0===fa.length)d=oa;else{e=x*(1!=fa.length||0!=fa[0]&&fa[0]!=U.length-
534
- 1?2:1)/m();for(var s=0;s<U.length;s++){if(1==fa.length&&0==fa[0]){if(0===s){d.push(oa[s]);f=g;continue}}else 0===s&&(f=-1*g);d.push(oa[s]+f);if(0<=fa.indexOf(s)||s<U.length&&0<=fa.indexOf(s+1))f+=e}}k=function(){for(var a=[],b=0;b<U.length;b++)a.push(d[b]-U[b].y1);return a}();var A={startTime:(new Date).getTime(),duration:c||500,easingFunction:function(a,b,c,f){return u.easing.easeOutQuart(a,b,c,f)},changeSection:function(a){for(var b,c,f=0;f<U.length;f++)b=k[f],c=U[f],b*=a,"undefined"===typeof p[f]&&
535
- (p[f]=0),0>p&&(p*=-1),c.y1+=b-p[f],c.y2+=b-p[f],c.y3+=b-p[f],c.y4+=b-p[f],c.y5&&(c.y5+=b-p[f],c.y6+=b-p[f]),p[f]=b}};a._animator.animate(0,c,function(c){var f=a.plotArea.ctx||a.ctx;qa=!0;f.clearRect(y.x1,y.y1,y.x2-y.x1,y.y2-y.y1);f.fillStyle=a.backgroundColor;f.fillRect(y.x1,y.y1,y.width,y.height);A.changeSection(c,b);var e={};e.dataSeries=v;e.dataPoint=v.reversed?v.dataPoints[E.length-1-b]:v.dataPoints[b];e.index=v.reversed?E.length-1-b:b;a.toolTip.highlightObjects([e]);for(e=0;e<U.length;e++)r(f,
536
- U[e],v.fillOpacity);B(f);L&&("inside"!==v.indexLabelPlacement?n(f):h(),w(f));1<=c&&(qa=!1)},null,u.easing.easeOutQuart)}function m(){for(var a=0,b=0;b<U.length-1;b++)(0<=fa.indexOf(b)||0<=fa.indexOf(b+1))&&a++;return a}function n(a){for(var b,c,f,e,h=0;h<U.length;h++)e=1===K[h].lineThickness%2?0.5:0,c=((U[h].y2+U[h].y4)/2<<0)+e,b=k(c).x2-1,f=K[h].textBlock.x,e=(K[h].textBlock.y+K[h].height/2<<0)+e,K[h].isDirty||0==K[h].lineThickness||(a.strokeStyle=K[h].lineColor,a.lineWidth=K[h].lineThickness,a.setLineDash&&
537
- a.setLineDash(R(K[h].lineDashType,K[h].lineThickness)),a.beginPath(),a.moveTo(b,c),a.lineTo(f,e),a.stroke())}function p(a){for(a-=1;-1<=a&&-1!=a&&K[a].isDirty;a--);return a}function s(a){for(a+=1;a<=U.length&&a!=U.length&&K[a].isDirty;a++);return a}function k(a){for(var b,c=0;c<E.length;c++)if(U[c].y1<a&&U[c].y4>a){b=U[c];break}return b?(a=b.y6?a>b.y6?b.x3+(b.x4-b.x3)/(b.y4-b.y3)*(a-b.y3):b.x2+(b.x3-b.x2)/(b.y3-b.y2)*(a-b.y2):b.x2+(b.x3-b.x2)/(b.y3-b.y2)*(a-b.y2),{x1:a,x2:a}):-1}function w(a){for(var b=
538
- 0;b<U.length;b++)K[b].isDirty||(a&&(K[b].textBlock.ctx=a),K[b].textBlock.render(!0))}function B(a){z.plotArea.layoutManager.reset();a.roundRect||Ea(a);z.title&&(z.title.dockInsidePlotArea||"center"===z.title.horizontalAlign&&"center"===z.title.verticalAlign)&&(z.title.ctx=a,z.title.render());if(z.subtitles)for(var b=0;b<z.subtitles.length;b++){var c=z.subtitles[b];if(c.dockInsidePlotArea||"center"===c.horizontalAlign&&"center"===c.verticalAlign)z.subtitles.ctx=a,c.render()}z.legend&&(z.legend.dockInsidePlotArea||
539
- "center"===z.legend.horizontalAlign&&"center"===z.legend.verticalAlign)&&(z.legend.ctx=a,z.legend.setLayout(),z.legend.render());Ca.fNg&&Ca.fNg(z)}var z=this;if(!(0>=a.dataSeriesIndexes.length)){for(var v=this.data[a.dataSeriesIndexes[0]],E=v.dataPoints,y=this.plotArea,x=0.025*y.width,C=0.01*y.width,G=0,D=y.height-2*x,F=Math.min(y.width-2*C,2.8*y.height),L=!1,J=0;J<E.length;J++)if(!L&&("undefined"!==typeof E[J].indexLabel&&null!==E[J].indexLabel&&0<E[J].indexLabel.toString().length)&&(L=!0),!L&&("undefined"!==
540
- typeof E[J].label&&null!==E[J].label&&0<E[J].label.toString().length)&&(L=!0),!L&&"function"===typeof v.indexLabelFormatter||"function"===typeof E[J].indexLabelFormatter)L=!0;L=L||"undefined"!==typeof v.indexLabel&&null!==v.indexLabel&&0<v.indexLabel.toString().length;"inside"!==v.indexLabelPlacement&&L||(C=(y.width-0.75*F)/2);var J=y.x1+C,Q=y.x2-C,O=y.y1+x,M=y.y2-x,N=a.targetCanvasCtx||this.plotArea.ctx||this.ctx;if(0!=v.length&&(v.dataPoints&&v.visible)&&0!==E.length){var P,I;a=75*F/100;var V=30*
541
- (Q-a)/100;"funnel"===v.type?(P=g(v.options.neckHeight)?0.35*D:v.neckHeight,I=g(v.options.neckWidth)?0.25*a:v.neckWidth,"string"===typeof P&&P.match(/%$/)?(P=parseInt(P),P=P*D/100):P=parseInt(P),"string"===typeof I&&I.match(/%$/)?(I=parseInt(I),I=I*a/100):I=parseInt(I),P>D?P=D:0>=P&&(P=0),I>a?I=a-0.5:0>=I&&(I=0)):"pyramid"===v.type&&(I=P=0,v.reversed=v.reversed?!1:!0);var C=J+a/2,Y=J,Z=J+a,S=v.reversed?M:O,T=C-I/2,$=C+I/2,ea=v.reversed?O+P:M-P,aa=v.reversed?O:M;a=[];var C=[],U=[],F=[],W=O,da,ha=(ea-
542
- S)/(T-Y),ja=-ha,J="area"===(v.valueRepresents?v.valueRepresents:"height")?c():f();if(-1!==J){if(v.reversed)for(F.push(W),I=J.length-1;0<I;I--)W+=J[I],F.push(W);else for(I=0;I<J.length;I++)W+=J[I],F.push(W);if(v.reversed)for(I=0;I<J.length;I++)F[I]<ea?(a.push(T),C.push($),da=I):(a.push((F[I]-S+ha*Y)/ha),C.push((F[I]-S+ja*Z)/ja));else for(I=0;I<J.length;I++)F[I]<ea?(a.push((F[I]-S+ha*Y)/ha),C.push((F[I]-S+ja*Z)/ja),da=I):(a.push(T),C.push($));for(I=0;I<J.length-1;I++)W=v.reversed?E[E.length-1-I].color?
543
- E[E.length-1-I].color:v._colorSet[(E.length-1-I)%v._colorSet.length]:E[I].color?E[I].color:v._colorSet[I%v._colorSet.length],I===da?U.push({x1:a[I],y1:F[I],x2:C[I],y2:F[I],x3:$,y3:ea,x4:C[I+1],y4:F[I+1],x5:a[I+1],y5:F[I+1],x6:T,y6:ea,id:I,height:F[I+1]-F[I],color:W}):U.push({x1:a[I],y1:F[I],x2:C[I],y2:F[I],x3:C[I+1],y3:F[I+1],x4:a[I+1],y4:F[I+1],id:I,height:F[I+1]-F[I],color:W});var ia=2,K=[],qa=!1,fa=[],oa=[],J=!1;a=a=0;Fa(fa);for(I=0;I<E.length;I++)E[I].exploded&&(J=!0,v.reversed?fa.push(E.length-
544
- 1-I):fa.push(I));N.clearRect(y.x1,y.y1,y.width,y.height);N.fillStyle=z.backgroundColor;N.fillRect(y.x1,y.y1,y.width,y.height);if(L&&v.visible&&(b(),h(),e(),"inside"!==v.indexLabelPlacement)){d();for(I=0;I<E.length;I++)K[I].isDirty||(a=K[I].textBlock.x+K[I].width,a=(Q-a)/2,0==I&&(G=a),G>a&&(G=a));for(I=0;I<U.length;I++)U[I].x1+=G,U[I].x2+=G,U[I].x3+=G,U[I].x4+=G,U[I].x5&&(U[I].x5+=G,U[I].x6+=G),K[I].textBlock.x+=G}for(I=0;I<U.length;I++)G=U[I],r(N,G,v.fillOpacity),oa.push(G.y1);B(N);L&&v.visible&&
545
- ("inside"===v.indexLabelPlacement||z.animationEnabled||n(N),z.animationEnabled||w());if(!L)for(I=0;I<E.length;I++)G=v.dataPointIds[I],a={id:G,objectType:"dataPoint",dataPointIndex:I,dataSeriesIndex:0,funnelSection:U[v.reversed?E.length-1-I:I]},z._eventManager.objectMap[G]=a;!z.animationEnabled&&J?t(z,-1,0):z.animationEnabled&&!z.animatedRender&&t(z,-1,0);this.funnelPyramidClickHandler=function(a){var b=-1;if(!qa&&!z.isAnimating&&(g(a.dataSeries.explodeOnClick)||a.dataSeries.explodeOnClick)&&(b=v.reversed?
546
- E.length-1-a.dataPointIndex:a.dataPointIndex,0<=b)){a=b;if("funnel"===v.type||"pyramid"===v.type)v.reversed?E[E.length-1-a].exploded=E[E.length-1-a].exploded?!1:!0:E[a].exploded=E[a].exploded?!1:!0;t(z,b,500)}};return{source:N,dest:this.plotArea.ctx,animationCallback:function(a,b){u.fadeInAnimation(a,b);1<=a&&(t(z,-1,500),B(z.plotArea.ctx||z.ctx))},easingFunction:u.easing.easeInQuad,animationBase:0}}}}};t.prototype.requestAnimFrame=function(){return window.requestAnimationFrame||window.webkitRequestAnimationFrame||
547
- window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(a){window.setTimeout(a,1E3/60)}}();t.prototype.cancelRequestAnimFrame=window.cancelAnimationFrame||window.webkitCancelRequestAnimationFrame||window.mozCancelRequestAnimationFrame||window.oCancelRequestAnimationFrame||window.msCancelRequestAnimationFrame||clearTimeout;t.prototype.set=function(a,f,c){c="undefined"===typeof c?!0:c;"options"===a?(this.options=f,c&&this.render()):t.base.set.call(this,
548
- a,f,c)};t.prototype.exportChart=function(a){a="undefined"===typeof a?{}:a;var f=a.format?a.format:"png",c=a.fileName?a.fileName:this.exportFileName;if(a.toDataURL)return this.canvas.toDataURL("image/"+f);eb(this.canvas,f,c)};t.prototype.print=function(){var a=this.exportChart({toDataURL:!0}),f=document.createElement("iframe");f.setAttribute("class","canvasjs-chart-print-frame");M(f,{position:"absolute",width:"100%",border:"0px",margin:"0px 0px 0px 0px",padding:"0px 0px 0px 0px"});f.style.height=this.height+
549
- "px";this._canvasJSContainer.appendChild(f);var c=this,b=f.contentWindow||f.contentDocument.document||f.contentDocument;b.document.open();b.document.write('<!DOCTYPE HTML>\n<html><body><img src="'+a+'"/><body/></html>');b.document.body&&b.document.body.style&&(b.document.body.style.margin="0px 0px 0px 0px",b.document.body.style.padding="0px 0px 0px 0px");b.document.close();setTimeout(function(){b.focus();b.print();setTimeout(function(){c._canvasJSContainer.removeChild(f)},1E3)},500)};t.prototype.getPercentAndTotal=
550
- function(a,f){var c=null,b=null,e=c=null;if(0<=a.type.indexOf("stacked"))b=0,c=f.x.getTime?f.x.getTime():f.x,c in a.plotUnit.yTotals&&(b=a.plotUnit.yTotals[c],c=a.plotUnit.yAbsTotals[c],e=isNaN(f.y)?0:0===c?0:100*(f.y/c));else if("pie"===a.type||"doughnut"===a.type||"funnel"===a.type||"pyramid"===a.type){for(c=b=0;c<a.dataPoints.length;c++)isNaN(a.dataPoints[c].y)||(b+=a.dataPoints[c].y);e=isNaN(f.y)?0:100*(f.y/b)}return{percent:e,total:b}};t.prototype.replaceKeywordsWithValue=function(a,f,c,b,e){var h=
551
- this;e="undefined"===typeof e?0:e;if((0<=c.type.indexOf("stacked")||"pie"===c.type||"doughnut"===c.type||"funnel"===c.type||"pyramid"===c.type)&&(0<=a.indexOf("#percent")||0<=a.indexOf("#total"))){var d="#percent",g="#total",r=this.getPercentAndTotal(c,f),g=isNaN(r.total)?g:r.total,d=isNaN(r.percent)?d:r.percent;do{r="";if(c.percentFormatString)r=c.percentFormatString;else{var r="#,##0.",m=Math.max(Math.ceil(Math.log(1/Math.abs(d))/Math.LN10),2);if(isNaN(m)||!isFinite(m))m=2;for(var n=0;n<m;n++)r+=
552
- "#";c.percentFormatString=r}a=a.replace("#percent",aa(d,r,h._cultureInfo));a=a.replace("#total",aa(g,c.yValueFormatString?c.yValueFormatString:"#,##0.########",h._cultureInfo))}while(0<=a.indexOf("#percent")||0<=a.indexOf("#total"))}return a.replace(/\{.*?\}|"[^"]*"|'[^']*'/g,function(a){if('"'===a[0]&&'"'===a[a.length-1]||"'"===a[0]&&"'"===a[a.length-1])return a.slice(1,a.length-1);a=Qa(a.slice(1,a.length-1));a=a.replace("#index",e);var d=null;try{var k=a.match(/(.*?)\s*\[\s*(.*?)\s*\]/);k&&0<k.length&&
553
- (d=Qa(k[2]),a=Qa(k[1]))}catch(g){}k=null;if("color"===a)return"waterfall"===c.type?f.color?f.color:0<f.y?c.risingColor:c.fallingColor:"error"===c.type?c.color?c.color:c._colorSet[d%c._colorSet.length]:f.color?f.color:c.color?c.color:c._colorSet[b%c._colorSet.length];if(f.hasOwnProperty(a))k=f;else if(c.hasOwnProperty(a))k=c;else return"";k=k[a];null!==d&&(k=k[d]);return"x"===a?(c.axisX&&"dateTime"===c.axisX.valueType||"dateTime"===c.xValueType||f.x&&f.x.getTime)&&!c.axisX.logarithmic?fa(k,f.xValueFormatString?
554
- f.xValueFormatString:c.xValueFormatString?c.xValueFormatString:c.xValueFormatString=h.axisX&&h.axisX.autoValueFormatString?h.axisX.autoValueFormatString:"DD MMM YY",h._cultureInfo):aa(k,f.xValueFormatString?f.xValueFormatString:c.xValueFormatString?c.xValueFormatString:c.xValueFormatString="#,##0.########",h._cultureInfo):"y"===a?aa(k,f.yValueFormatString?f.yValueFormatString:c.yValueFormatString?c.yValueFormatString:c.yValueFormatString="#,##0.########",h._cultureInfo):"z"===a?aa(k,f.zValueFormatString?
555
- f.zValueFormatString:c.zValueFormatString?c.zValueFormatString:c.zValueFormatString="#,##0.########",h._cultureInfo):k})};ha(J,Z);J.prototype.setLayout=function(){var a=this.dockInsidePlotArea?this.chart.plotArea:this.chart,f=a.layoutManager.getFreeSpace(),c=null,b=0,e=0,h=0,d=0,r=this.markerMargin=this.chart.options.legend&&!g(this.chart.options.legend.markerMargin)?this.chart.options.legend.markerMargin:0.3*this.fontSize;this.height=0;var l=[],m=[];if("top"===this.verticalAlign||"bottom"===this.verticalAlign)this.orientation=
556
- "horizontal",c=this.verticalAlign,h=this.maxWidth=null!==this.maxWidth?this.maxWidth:f.width,d=this.maxHeight=null!==this.maxHeight?this.maxHeight:0.5*f.height;else if("center"===this.verticalAlign){this.orientation="vertical";if("left"===this.horizontalAlign||"center"===this.horizontalAlign||"right"===this.horizontalAlign)c=this.horizontalAlign;h=this.maxWidth=null!==this.maxWidth?this.maxWidth:0.5*f.width;d=this.maxHeight=null!==this.maxHeight?this.maxHeight:f.height}this.errorMarkerColor=[];for(var n=
557
- 0;n<this.dataSeries.length;n++){var p=this.dataSeries[n];if(p.dataPoints&&p.dataPoints.length)if("pie"!==p.type&&"doughnut"!==p.type&&"funnel"!==p.type&&"pyramid"!==p.type){var s=p.legendMarkerType=p.legendMarkerType?p.legendMarkerType:"line"!==p.type&&"stepLine"!==p.type&&"spline"!==p.type&&"scatter"!==p.type&&"bubble"!==p.type||!p.markerType?"error"===p.type&&p._linkedSeries?p._linkedSeries.legendMarkerType?p._linkedSeries.legendMarkerType:O.getDefaultLegendMarker(p._linkedSeries.type):O.getDefaultLegendMarker(p.type):
558
- p.markerType,k=p.legendText?p.legendText:this.itemTextFormatter?this.itemTextFormatter({chart:this.chart,legend:this.options,dataSeries:p,dataPoint:null}):p.name,u=p.legendMarkerColor=p.legendMarkerColor?p.legendMarkerColor:p.markerColor?p.markerColor:"error"===p.type?g(p.whiskerColor)?p._colorSet[0]:p.whiskerColor:p._colorSet[0],t=p.markerSize||"line"!==p.type&&"stepLine"!==p.type&&"spline"!==p.type?0.75*this.lineHeight:0,q=p.legendMarkerBorderColor?p.legendMarkerBorderColor:p.markerBorderColor,
559
- v=p.legendMarkerBorderThickness?p.legendMarkerBorderThickness:p.markerBorderThickness?Math.max(1,Math.round(0.2*t)):0;"error"===p.type&&this.errorMarkerColor.push(u);k=this.chart.replaceKeywordsWithValue(k,p.dataPoints[0],p,n);s={markerType:s,markerColor:u,text:k,textBlock:null,chartType:p.type,markerSize:t,lineColor:p._colorSet[0],dataSeriesIndex:p.index,dataPointIndex:null,markerBorderColor:q,markerBorderThickness:v};l.push(s)}else for(var B=0;B<p.dataPoints.length;B++){var y=p.dataPoints[B],s=
560
- y.legendMarkerType?y.legendMarkerType:p.legendMarkerType?p.legendMarkerType:O.getDefaultLegendMarker(p.type),k=y.legendText?y.legendText:p.legendText?p.legendText:this.itemTextFormatter?this.itemTextFormatter({chart:this.chart,legend:this.options,dataSeries:p,dataPoint:y}):y.name?y.name:"DataPoint: "+(B+1),u=y.legendMarkerColor?y.legendMarkerColor:p.legendMarkerColor?p.legendMarkerColor:y.color?y.color:p.color?p.color:p._colorSet[B%p._colorSet.length],t=0.75*this.lineHeight,q=y.legendMarkerBorderColor?
561
- y.legendMarkerBorderColor:p.legendMarkerBorderColor?p.legendMarkerBorderColor:y.markerBorderColor?y.markerBorderColor:p.markerBorderColor,v=y.legendMarkerBorderThickness?y.legendMarkerBorderThickness:p.legendMarkerBorderThickness?p.legendMarkerBorderThickness:y.markerBorderThickness||p.markerBorderThickness?Math.max(1,Math.round(0.2*t)):0,k=this.chart.replaceKeywordsWithValue(k,y,p,B),s={markerType:s,markerColor:u,text:k,textBlock:null,chartType:p.type,markerSize:t,dataSeriesIndex:n,dataPointIndex:B,
562
- markerBorderColor:q,markerBorderThickness:v};(y.showInLegend||p.showInLegend&&!1!==y.showInLegend)&&l.push(s)}}!0===this.reversed&&l.reverse();if(0<l.length){p=null;k=y=B=0;y=null!==this.itemWidth?null!==this.itemMaxWidth?Math.min(this.itemWidth,this.itemMaxWidth,h):this.itemMaxWidth=Math.min(this.itemWidth,h):null!==this.itemMaxWidth?Math.min(this.itemMaxWidth,h):this.itemMaxWidth=h;t=0===t?0.75*this.lineHeight:t;y=(this.itemMaxWidth?this.itemMaxWidth:y)-(t+r);for(n=0;n<l.length;n++){s=l[n];u=y;
563
- if("line"===s.chartType||"spline"===s.chartType||"stepLine"===s.chartType)u-=2*0.1*this.lineHeight;if(!(0>=d||"undefined"===typeof d||0>=u||"undefined"===typeof u))if("horizontal"===this.orientation){s.textBlock=new ma(this.ctx,{x:0,y:0,maxWidth:u,maxHeight:this.itemWrap?d:this.lineHeight,angle:0,text:s.text,horizontalAlign:"left",fontSize:this.fontSize,fontFamily:this.fontFamily,fontWeight:this.fontWeight,fontColor:this.fontColor,fontStyle:this.fontStyle,textBaseline:"middle"});s.textBlock.measureText();
564
- null!==this.itemWidth&&(s.textBlock.width=this.itemWidth-(t+r+("line"===s.chartType||"spline"===s.chartType||"stepLine"===s.chartType?2*0.1*this.lineHeight:0)));if(!p||p.width+Math.round(s.textBlock.width+t+r+(0===p.width?0:this.horizontalSpacing)+("line"===s.chartType||"spline"===s.chartType||"stepLine"===s.chartType?2*0.1*this.lineHeight:0))>h)p={items:[],width:0},m.push(p),this.height+=k,k=0;k=Math.max(k,s.textBlock.height?s.textBlock.height:this.lineHeight);s.textBlock.x=p.width;s.textBlock.y=
565
- 0;p.width+=Math.round(s.textBlock.width+t+r+(0===p.width?0:this.horizontalSpacing)+("line"===s.chartType||"spline"===s.chartType||"stepLine"===s.chartType?2*0.1*this.lineHeight:0));p.items.push(s);this.width=Math.max(p.width,this.width)}else s.textBlock=new ma(this.ctx,{x:0,y:0,maxWidth:y,maxHeight:!0===this.itemWrap?d:1.5*this.fontSize,angle:0,text:s.text,horizontalAlign:"left",fontSize:this.fontSize,fontFamily:this.fontFamily,fontWeight:this.fontWeight,fontColor:this.fontColor,fontStyle:this.fontStyle,
566
- textBaseline:"middle"}),s.textBlock.measureText(),null!==this.itemWidth&&(s.textBlock.width=this.itemWidth-(t+r+("line"===s.chartType||"spline"===s.chartType||"stepLine"===s.chartType?2*0.1*this.lineHeight:0))),this.height<d-this.lineHeight?(p={items:[],width:0},m.push(p)):(p=m[B],B=(B+1)%m.length),p&&(this.height+=s.textBlock.height?s.textBlock.height:this.lineHeight,s.textBlock.x=p.width,s.textBlock.y=0,p.width+=Math.round(s.textBlock.width+t+r+(0===p.width?0:this.horizontalSpacing)+("line"===s.chartType||
567
- "spline"===s.chartType||"stepLine"===s.chartType?2*0.1*this.lineHeight:0)),p.items.push(s),this.width=Math.max(p.width,this.width))}this.height=!1===this.itemWrap?m.length*this.lineHeight:this.height+k;this.height=Math.min(d,this.height);this.width=Math.min(h,this.width)}"top"===this.verticalAlign?(e="left"===this.horizontalAlign?f.x1:"right"===this.horizontalAlign?f.x2-this.width:f.x1+f.width/2-this.width/2,b=f.y1):"center"===this.verticalAlign?(e="left"===this.horizontalAlign?f.x1:"right"===this.horizontalAlign?
568
- f.x2-this.width:f.x1+f.width/2-this.width/2,b=f.y1+f.height/2-this.height/2):"bottom"===this.verticalAlign&&(e="left"===this.horizontalAlign?f.x1:"right"===this.horizontalAlign?f.x2-this.width:f.x1+f.width/2-this.width/2,b=f.y2-this.height);this.items=l;for(n=0;n<this.items.length;n++)s=l[n],s.id=++this.chart._eventManager.lastObjectId,this.chart._eventManager.objectMap[s.id]={id:s.id,objectType:"legendItem",legendItemIndex:n,dataSeriesIndex:s.dataSeriesIndex,dataPointIndex:s.dataPointIndex};this.markerSize=
569
- t;this.rows=m;0<l.length&&a.layoutManager.registerSpace(c,{width:this.width+2+2,height:this.height+5+5});this.bounds={x1:e,y1:b,x2:e+this.width,y2:b+this.height}};J.prototype.render=function(){var a=this.bounds.x1,f=this.bounds.y1,c=this.markerMargin,b=this.maxWidth,e=this.maxHeight,h=this.markerSize,d=this.rows;(0<this.borderThickness&&this.borderColor||this.backgroundColor)&&this.ctx.roundRect(a,f,this.width,this.height,this.cornerRadius,this.borderThickness,this.backgroundColor,this.borderColor);
570
- for(var g=0,r=0;r<d.length;r++){for(var m=d[r],n=0,p=0;p<m.items.length;p++){var s=m.items[p],k=s.textBlock.x+a+(0===p?0.2*h:this.horizontalSpacing),l=f+g,u=k;this.chart.data[s.dataSeriesIndex].visible||(this.ctx.globalAlpha=0.5);this.ctx.save();this.ctx.beginPath();this.ctx.rect(a,f,b,Math.max(e-e%this.lineHeight,0));this.ctx.clip();if("line"===s.chartType||"stepLine"===s.chartType||"spline"===s.chartType)this.ctx.strokeStyle=s.lineColor,this.ctx.lineWidth=Math.ceil(this.lineHeight/8),this.ctx.beginPath(),
571
- this.ctx.moveTo(k-0.1*this.lineHeight,l+this.lineHeight/2),this.ctx.lineTo(k+0.85*this.lineHeight,l+this.lineHeight/2),this.ctx.stroke(),u-=0.1*this.lineHeight;if("error"===s.chartType){this.ctx.strokeStyle=this.errorMarkerColor[0];this.ctx.lineWidth=h/8;this.ctx.beginPath();var t=k-0.08*this.lineHeight+0.1*this.lineHeight,v=l+0.15*this.lineHeight,q=0.7*this.lineHeight,y=q+0.02*this.lineHeight;this.ctx.moveTo(t,v);this.ctx.lineTo(t+q,v);this.ctx.stroke();this.ctx.beginPath();this.ctx.moveTo(t+q/2,
572
- v);this.ctx.lineTo(t+q/2,v+y);this.ctx.stroke();this.ctx.beginPath();this.ctx.moveTo(t,v+y);this.ctx.lineTo(t+q,v+y);this.ctx.stroke();this.errorMarkerColor.shift()}B.drawMarker(k+h/2,l+this.lineHeight/2,this.ctx,s.markerType,"error"===s.chartType||"line"===s.chartType||"spline"===s.chartType?s.markerSize/2:s.markerSize,s.markerColor,s.markerBorderColor,s.markerBorderThickness);s.textBlock.x=k+c+h;if("line"===s.chartType||"stepLine"===s.chartType||"spline"===s.chartType)s.textBlock.x+=0.1*this.lineHeight;
573
- s.textBlock.y=Math.round(l+this.lineHeight/2);s.textBlock.render(!0);this.ctx.restore();n=0<p?Math.max(n,s.textBlock.height?s.textBlock.height:this.lineHeight):s.textBlock.height?s.textBlock.height:this.lineHeight;this.chart.data[s.dataSeriesIndex].visible||(this.ctx.globalAlpha=1);k=V(s.id);this.ghostCtx.fillStyle=k;this.ghostCtx.beginPath();this.ghostCtx.fillRect(u,s.textBlock.y-this.lineHeight/2,s.textBlock.x+s.textBlock.width-u,s.textBlock.height?s.textBlock.height:this.lineHeight);s.x1=this.chart._eventManager.objectMap[s.id].x1=
574
- u;s.y1=this.chart._eventManager.objectMap[s.id].y1=s.textBlock.y-this.lineHeight/2;s.x2=this.chart._eventManager.objectMap[s.id].x2=s.textBlock.x+s.textBlock.width;s.y2=this.chart._eventManager.objectMap[s.id].y2=s.textBlock.y+(s.textBlock.height?s.textBlock.height:this.lineHeight)-this.lineHeight/2}g+=n}};ha(O,Z);O.prototype.getDefaultAxisPlacement=function(){var a=this.type;if("column"===a||"line"===a||"stepLine"===a||"spline"===a||"area"===a||"stepArea"===a||"splineArea"===a||"stackedColumn"===
575
- a||"stackedLine"===a||"bubble"===a||"scatter"===a||"stackedArea"===a||"stackedColumn100"===a||"stackedLine100"===a||"stackedArea100"===a||"candlestick"===a||"ohlc"===a||"rangeColumn"===a||"rangeArea"===a||"rangeSplineArea"===a||"boxAndWhisker"===a||"waterfall"===a)return"normal";if("bar"===a||"stackedBar"===a||"stackedBar100"===a||"rangeBar"===a)return"xySwapped";if("pie"===a||"doughnut"===a||"funnel"===a||"pyramid"===a)return"none";"error"!==a&&window.console.log("Unknown Chart Type: "+a);return null};
576
- O.getDefaultLegendMarker=function(a){if("column"===a||"stackedColumn"===a||"stackedLine"===a||"bar"===a||"stackedBar"===a||"stackedBar100"===a||"bubble"===a||"scatter"===a||"stackedColumn100"===a||"stackedLine100"===a||"stepArea"===a||"candlestick"===a||"ohlc"===a||"rangeColumn"===a||"rangeBar"===a||"rangeArea"===a||"rangeSplineArea"===a||"boxAndWhisker"===a||"waterfall"===a)return"square";if("line"===a||"stepLine"===a||"spline"===a||"pie"===a||"doughnut"===a)return"circle";if("area"===a||"splineArea"===
577
- a||"stackedArea"===a||"stackedArea100"===a||"funnel"===a||"pyramid"===a)return"triangle";if("error"===a)return"none";window.console.log("Unknown Chart Type: "+a);return null};O.prototype.getDataPointAtX=function(a,f){if(!this.dataPoints||0===this.dataPoints.length)return null;var c={dataPoint:null,distance:Infinity,index:NaN},b=null,e=0,h=0,d=1,g=Infinity,r=0,m=0,n=0;"none"!==this.chart.plotInfo.axisPlacement&&(this.axisX.logarithmic?(n=Math.log(this.dataPoints[this.dataPoints.length-1].x/this.dataPoints[0].x),
578
- n=1<n?Math.min(Math.max((this.dataPoints.length-1)/n*Math.log(a/this.dataPoints[0].x)>>0,0),this.dataPoints.length):0):(n=this.dataPoints[this.dataPoints.length-1].x-this.dataPoints[0].x,n=0<n?Math.min(Math.max((this.dataPoints.length-1)/n*(a-this.dataPoints[0].x)>>0,0),this.dataPoints.length):0));for(;;){h=0<d?n+e:n-e;if(0<=h&&h<this.dataPoints.length){var b=this.dataPoints[h],p=this.axisX.logarithmic?b.x>a?b.x/a:a/b.x:Math.abs(b.x-a);p<c.distance&&(c.dataPoint=b,c.distance=p,c.index=h);b=p;b<=g?
579
- g=b:0<d?r++:m++;if(1E3<r&&1E3<m)break}else if(0>n-e&&n+e>=this.dataPoints.length)break;-1===d?(e++,d=1):d=-1}return f||(c.dataPoint.x.getTime?c.dataPoint.x.getTime():c.dataPoint.x)!==(a.getTime?a.getTime():a)?f&&null!==c.dataPoint?c:null:c};O.prototype.getDataPointAtXY=function(a,f,c){if(!this.dataPoints||0===this.dataPoints.length||a<this.chart.plotArea.x1||a>this.chart.plotArea.x2||f<this.chart.plotArea.y1||f>this.chart.plotArea.y2)return null;c=c||!1;var b=[],e=0,h=0,d=1,r=!1,l=Infinity,m=0,n=
580
- 0,p=0;if("none"!==this.chart.plotInfo.axisPlacement)if(p=(this.chart.axisX[0]?this.chart.axisX[0]:this.chart.axisX2[0]).getXValueAt({x:a,y:f}),this.axisX.logarithmic)var s=Math.log(this.dataPoints[this.dataPoints.length-1].x/this.dataPoints[0].x),p=1<s?Math.min(Math.max((this.dataPoints.length-1)/s*Math.log(p/this.dataPoints[0].x)>>0,0),this.dataPoints.length):0;else s=this.dataPoints[this.dataPoints.length-1].x-this.dataPoints[0].x,p=0<s?Math.min(Math.max((this.dataPoints.length-1)/s*(p-this.dataPoints[0].x)>>
581
- 0,0),this.dataPoints.length):0;for(;;){h=0<d?p+e:p-e;if(0<=h&&h<this.dataPoints.length){var s=this.chart._eventManager.objectMap[this.dataPointIds[h]],k=this.dataPoints[h],u=null;if(s){switch(this.type){case "column":case "stackedColumn":case "stackedColumn100":case "bar":case "stackedBar":case "stackedBar100":case "rangeColumn":case "rangeBar":case "waterfall":case "error":a>=s.x1&&(a<=s.x2&&f>=s.y1&&f<=s.y2)&&(b.push({dataPoint:k,dataPointIndex:h,dataSeries:this,distance:Math.min(Math.abs(s.x1-
582
- a),Math.abs(s.x2-a),Math.abs(s.y1-f),Math.abs(s.y2-f))}),r=!0);break;case "line":case "stepLine":case "spline":case "area":case "stepArea":case "stackedArea":case "stackedArea100":case "splineArea":case "scatter":var t=ra("markerSize",k,this)||4,q=c?20:t,u=Math.sqrt(Math.pow(s.x1-a,2)+Math.pow(s.y1-f,2));u<=q&&b.push({dataPoint:k,dataPointIndex:h,dataSeries:this,distance:u});s=Math.abs(s.x1-a);s<=l?l=s:0<d?m++:n++;u<=t/2&&(r=!0);break;case "rangeArea":case "rangeSplineArea":t=ra("markerSize",k,this)||
583
- 4;q=c?20:t;u=Math.min(Math.sqrt(Math.pow(s.x1-a,2)+Math.pow(s.y1-f,2)),Math.sqrt(Math.pow(s.x1-a,2)+Math.pow(s.y2-f,2)));u<=q&&b.push({dataPoint:k,dataPointIndex:h,dataSeries:this,distance:u});s=Math.abs(s.x1-a);s<=l?l=s:0<d?m++:n++;u<=t/2&&(r=!0);break;case "bubble":t=s.size;u=Math.sqrt(Math.pow(s.x1-a,2)+Math.pow(s.y1-f,2));u<=t/2&&(b.push({dataPoint:k,dataPointIndex:h,dataSeries:this,distance:u}),r=!0);break;case "pie":case "doughnut":t=s.center;q="doughnut"===this.type?s.percentInnerRadius*s.radius:
584
- 0;u=Math.sqrt(Math.pow(t.x-a,2)+Math.pow(t.y-f,2));u<s.radius&&u>q&&(u=Math.atan2(f-t.y,a-t.x),0>u&&(u+=2*Math.PI),u=Number(((180*(u/Math.PI)%360+360)%360).toFixed(12)),t=Number(((180*(s.startAngle/Math.PI)%360+360)%360).toFixed(12)),q=Number(((180*(s.endAngle/Math.PI)%360+360)%360).toFixed(12)),0===q&&1<s.endAngle&&(q=360),t>=q&&(0!==k.y&&!g(k.y))&&(q+=360,u<t&&(u+=360)),u>t&&u<q&&(b.push({dataPoint:k,dataPointIndex:h,dataSeries:this,distance:0}),r=!0));break;case "funnel":case "pyramid":u=s.funnelSection;
585
- f>u.y1&&f<u.y4&&(u.y6?f>u.y6?(h=u.x6+(u.x5-u.x6)/(u.y5-u.y6)*(f-u.y6),u=u.x3+(u.x4-u.x3)/(u.y4-u.y3)*(f-u.y3)):(h=u.x1+(u.x6-u.x1)/(u.y6-u.y1)*(f-u.y1),u=u.x2+(u.x3-u.x2)/(u.y3-u.y2)*(f-u.y2)):(h=u.x1+(u.x4-u.x1)/(u.y4-u.y1)*(f-u.y1),u=u.x2+(u.x3-u.x2)/(u.y3-u.y2)*(f-u.y2)),a>h&&a<u&&(b.push({dataPoint:k,dataPointIndex:s.dataPointIndex,dataSeries:this,distance:0}),r=!0));break;case "boxAndWhisker":if(a>=s.x1-s.borderThickness/2&&a<=s.x2+s.borderThickness/2&&f>=s.y4-s.borderThickness/2&&f<=s.y1+s.borderThickness/
586
- 2||Math.abs(s.x2-a+s.x1-a)<s.borderThickness&&f>=s.y1&&f<=s.y4)b.push({dataPoint:k,dataPointIndex:h,dataSeries:this,distance:Math.min(Math.abs(s.x1-a),Math.abs(s.x2-a),Math.abs(s.y2-f),Math.abs(s.y3-f))}),r=!0;break;case "candlestick":if(a>=s.x1-s.borderThickness/2&&a<=s.x2+s.borderThickness/2&&f>=s.y2-s.borderThickness/2&&f<=s.y3+s.borderThickness/2||Math.abs(s.x2-a+s.x1-a)<s.borderThickness&&f>=s.y1&&f<=s.y4)b.push({dataPoint:k,dataPointIndex:h,dataSeries:this,distance:Math.min(Math.abs(s.x1-a),
587
- Math.abs(s.x2-a),Math.abs(s.y2-f),Math.abs(s.y3-f))}),r=!0;break;case "ohlc":if(Math.abs(s.x2-a+s.x1-a)<s.borderThickness&&f>=s.y2&&f<=s.y3||a>=s.x1&&a<=(s.x2+s.x1)/2&&f>=s.y1-s.borderThickness/2&&f<=s.y1+s.borderThickness/2||a>=(s.x1+s.x2)/2&&a<=s.x2&&f>=s.y4-s.borderThickness/2&&f<=s.y4+s.borderThickness/2)b.push({dataPoint:k,dataPointIndex:h,dataSeries:this,distance:Math.min(Math.abs(s.x1-a),Math.abs(s.x2-a),Math.abs(s.y2-f),Math.abs(s.y3-f))}),r=!0}if(r||1E3<m&&1E3<n)break}}else if(0>p-e&&p+e>=
588
- this.dataPoints.length)break;-1===d?(e++,d=1):d=-1}a=null;for(f=0;f<b.length;f++)a?b[f].distance<=a.distance&&(a=b[f]):a=b[f];return a};O.prototype.getMarkerProperties=function(a,f,c,b){var e=this.dataPoints,h=e[a].markerColor?e[a].markerColor:this.markerColor?this.markerColor:e[a].color?e[a].color:this.color?this.color:this._colorSet[a%this._colorSet.length],d=e[a].markerBorderColor?e[a].markerBorderColor:this.markerBorderColor?this.markerBorderColor:null,r=g(e[a].markerBorderThickness)?this.markerBorderThickness?
589
- this.markerBorderThickness:null:e[a].markerBorderThickness,u=e[a].markerType?e[a].markerType:this.markerType;a=g(e[a].markerSize)?this.markerSize:e[a].markerSize;return{x:f,y:c,ctx:b,type:u,size:a,color:h,borderColor:d,borderThickness:r}};ha(z,Z);z.prototype.createExtraLabelsForLog=function(a){a=(a||0)+1;if(!(5<a)){var f=this.logLabelValues[0]||this.intervalStartPosition;if(Math.log(this.range)/Math.log(f/this.viewportMinimum)<this.noTicks-1){for(var c=z.getNiceNumber((f-this.viewportMinimum)/Math.min(Math.max(2,
590
- this.noTicks-this.logLabelValues.length),3),!0),b=Math.ceil(this.viewportMinimum/c)*c;b<f;b+=c)b<this.viewportMinimum||this.logLabelValues.push(b);this.logLabelValues.sort(Ya);this.createExtraLabelsForLog(a)}}};z.prototype.createLabels=function(){var a,f,c=0,b=0,e,h=0,d=0,b=0,b=this.interval,r=0,u,m=0.6*this.chart.height,n;a=!1;var p=this.scaleBreaks?this.scaleBreaks._appliedBreaks:[],s=p.length?g(this.scaleBreaks.firstBreakIndex)?0:this.scaleBreaks.firstBreakIndex:0;if("axisX"!==this.type||"dateTime"!==
591
- this.valueType||this.logarithmic){e=this.viewportMaximum;if(this.labels){a=Math.ceil(b);for(var b=Math.ceil(this.intervalStartPosition),k=!1,c=b;c<this.viewportMaximum;c+=a)if(this.labels[c])k=!0;else{k=!1;break}k&&(this.interval=a,this.intervalStartPosition=b)}if(this.logarithmic&&!this.equidistantInterval)for(this.logLabelValues||(this.logLabelValues=[],this.createExtraLabelsForLog()),b=0,k=s;b<this.logLabelValues.length;b++)if(c=this.logLabelValues[b],c<this.viewportMinimum)b++;else{for(;k<p.length&&
592
- c>p[k].endValue;k++);a=k<p.length&&c>=p[k].startValue&&c<=p[k].endValue;n=c;a||(a=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.options,value:n,label:this.labels[n]?this.labels[n]:null}):"axisX"===this.type&&this.labels[n]?this.labels[n]:aa(n,this.valueFormatString,this.chart._cultureInfo),a=new ma(this.ctx,{x:0,y:0,maxWidth:h,maxHeight:d,angle:this.labelAngle,text:this.prefix+a+this.suffix,backgroundColor:this.labelBackgroundColor,borderColor:this.labelBorderColor,cornerRadius:this.labelCornerRadius,
593
- textAlign:this.labelTextAlign,fontSize:this.labelFontSize,fontFamily:this.labelFontFamily,fontWeight:this.labelFontWeight,fontColor:this.labelFontColor,fontStyle:this.labelFontStyle,textBaseline:"middle",borderThickness:0}),this._labels.push({position:n,textBlock:a,effectiveHeight:null}))}k=s;for(c=this.intervalStartPosition;c<=e;c=parseFloat(1E-12>this.interval?this.logarithmic&&this.equidistantInterval?c*Math.pow(this.logarithmBase,this.interval):c+this.interval:(this.logarithmic&&this.equidistantInterval?
594
- c*Math.pow(this.logarithmBase,this.interval):c+this.interval).toFixed(12))){for(;k<p.length&&c>p[k].endValue;k++);a=k<p.length&&c>=p[k].startValue&&c<=p[k].endValue;n=c;a||(a=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.options,value:n,label:this.labels[n]?this.labels[n]:null}):"axisX"===this.type&&this.labels[n]?this.labels[n]:aa(n,this.valueFormatString,this.chart._cultureInfo),a=new ma(this.ctx,{x:0,y:0,maxWidth:h,maxHeight:d,angle:this.labelAngle,text:this.prefix+a+this.suffix,
595
- textAlign:this.labelTextAlign,backgroundColor:this.labelBackgroundColor,borderColor:this.labelBorderColor,borderThickness:this.labelBorderThickness,cornerRadius:this.labelCornerRadius,fontSize:this.labelFontSize,fontFamily:this.labelFontFamily,fontWeight:this.labelFontWeight,fontColor:this.labelFontColor,fontStyle:this.labelFontStyle,textBaseline:"middle"}),this._labels.push({position:n,textBlock:a,effectiveHeight:null}))}}else for(this.intervalStartPosition=this.getLabelStartPoint(new Date(this.viewportMinimum),
596
- this.intervalType,this.interval),e=db(new Date(this.viewportMaximum),this.interval,this.intervalType),k=s,c=this.intervalStartPosition;c<e;db(c,b,this.intervalType)){for(a=c.getTime();k<p.length&&a>p[k].endValue;k++);n=a;a=k<p.length&&a>=p[k].startValue&&a<=p[k].endValue;a||(a=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.options,value:new Date(n),label:this.labels[n]?this.labels[n]:null}):"axisX"===this.type&&this.labels[n]?this.labels[n]:fa(n,this.valueFormatString,this.chart._cultureInfo),
597
- a=new ma(this.ctx,{x:0,y:0,maxWidth:h,backgroundColor:this.labelBackgroundColor,borderColor:this.labelBorderColor,borderThickness:this.labelBorderThickness,cornerRadius:this.labelCornerRadius,maxHeight:d,angle:this.labelAngle,text:this.prefix+a+this.suffix,textAlign:this.labelTextAlign,fontSize:this.labelFontSize,fontFamily:this.labelFontFamily,fontWeight:this.labelFontWeight,fontColor:this.labelFontColor,fontStyle:this.labelFontStyle,textBaseline:"middle"}),this._labels.push({position:n,textBlock:a,
598
- effectiveHeight:null,breaksLabelType:void 0}))}if("bottom"===this._position||"top"===this._position)r=this.logarithmic&&!this.equidistantInterval&&2<=this._labels.length?this.lineCoordinates.width*Math.log(Math.min(this._labels[this._labels.length-1].position/this._labels[this._labels.length-2].position,this._labels[1].position/this._labels[0].position))/Math.log(this.range):this.lineCoordinates.width/(this.logarithmic&&this.equidistantInterval?Math.log(this.range)/Math.log(this.logarithmBase):Math.abs(this.range))*
599
- $[this.intervalType+"Duration"]*this.interval,h="undefined"===typeof this.options.labelMaxWidth?0.5*this.chart.width>>0:this.options.labelMaxWidth,this.chart.panEnabled||(d="undefined"===typeof this.options.labelWrap||this.labelWrap?0.8*this.chart.height>>0:1.5*this.labelFontSize);else if("left"===this._position||"right"===this._position)r=this.logarithmic&&!this.equidistantInterval&&2<=this._labels.length?this.lineCoordinates.height*Math.log(Math.min(this._labels[this._labels.length-1].position/
600
- this._labels[this._labels.length-2].position,this._labels[1].position/this._labels[0].position))/Math.log(this.range):this.lineCoordinates.height/(this.logarithmic&&this.equidistantInterval?Math.log(this.range)/Math.log(this.logarithmBase):Math.abs(this.range))*$[this.intervalType+"Duration"]*this.interval,this.chart.panEnabled||(h="undefined"===typeof this.options.labelMaxWidth?0.3*this.chart.width>>0:this.options.labelMaxWidth),d="undefined"===typeof this.options.labelWrap||this.labelWrap?0.3*this.chart.height>>
601
- 0:1.5*this.labelFontSize;for(b=0;b<this._labels.length;b++){a=this._labels[b].textBlock;a.maxWidth=h;a.maxHeight=d;var l=a.measureText();u=l.height}e=[];s=p=0;if(this.labelAutoFit||this.options.labelAutoFit)if(g(this.labelAngle)||(this.labelAngle=(this.labelAngle%360+360)%360,90<this.labelAngle&&270>this.labelAngle?this.labelAngle-=180:270<=this.labelAngle&&360>=this.labelAngle&&(this.labelAngle-=360)),"bottom"===this._position||"top"===this._position)if(h=0.9*r>>0,s=0,!this.chart.panEnabled&&1<=
602
- this._labels.length){this.sessionVariables.labelFontSize=this.labelFontSize;this.sessionVariables.labelMaxWidth=h;this.sessionVariables.labelMaxHeight=d;this.sessionVariables.labelAngle=this.labelAngle;this.sessionVariables.labelWrap=this.labelWrap;for(c=0;c<this._labels.length;c++)if(!this._labels[c].breaksLabelType){a=this._labels[c].textBlock;for(var t,k=a.text.split(" "),b=0;b<k.length;b++)n=k[b],this.ctx.font=a.fontStyle+" "+a.fontWeight+" "+a.fontSize+"px "+a.fontFamily,n=this.ctx.measureText(n),
603
- n.width>s&&(t=c,s=n.width)}c=0;for(c=this.intervalStartPosition<this.viewportMinimum?1:0;c<this._labels.length;c++)if(!this._labels[c].breaksLabelType){a=this._labels[c].textBlock;l=a.measureText();for(k=c+1;k<this._labels.length;k++)if(!this._labels[k].breaksLabelType){f=this._labels[k].textBlock;f=f.measureText();break}e.push(a.height);this.sessionVariables.labelMaxHeight=Math.max.apply(Math,e);Math.cos(Math.PI/180*Math.abs(this.labelAngle));Math.sin(Math.PI/180*Math.abs(this.labelAngle));b=h*Math.sin(Math.PI/
604
- 180*Math.abs(this.labelAngle))+(d-a.fontSize/2)*Math.cos(Math.PI/180*Math.abs(this.labelAngle));if(g(this.options.labelAngle)&&isNaN(this.options.labelAngle)&&0!==this.options.labelAngle)if(this.sessionVariables.labelMaxHeight=0===this.labelAngle?d:Math.min((b-h*Math.cos(Math.PI/180*Math.abs(this.labelAngle)))/Math.sin(Math.PI/180*Math.abs(this.labelAngle)),b),n=(m-(u+a.fontSize/2)*Math.cos(Math.PI/180*Math.abs(-25)))/Math.sin(Math.PI/180*Math.abs(-25)),!g(this.options.labelWrap))this.labelWrap?g(this.options.labelMaxWidth)?
605
- (this.sessionVariables.labelMaxWidth=Math.min(Math.max(h,s),n),this.sessionVariables.labelWrap=this.labelWrap,f&&l.width+f.width>>0>2*h&&(this.sessionVariables.labelAngle=-25)):(this.sessionVariables.labelWrap=this.labelWrap,this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth,this.sessionVariables.labelAngle=this.sessionVariables.labelMaxWidth>h?-25:this.sessionVariables.labelAngle):g(this.options.labelMaxWidth)?(this.sessionVariables.labelWrap=this.labelWrap,this.sessionVariables.labelMaxHeight=
606
- d,this.sessionVariables.labelMaxWidth=h,f&&l.width+f.width>>0>2*h&&(this.sessionVariables.labelAngle=-25,this.sessionVariables.labelMaxWidth=n)):(this.sessionVariables.labelAngle=this.sessionVariables.labelMaxWidth>h?-25:this.sessionVariables.labelAngle,this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth,this.sessionVariables.labelMaxHeight=d,this.sessionVariables.labelWrap=this.labelWrap);else{if(g(this.options.labelWrap))if(!g(this.options.labelMaxWidth))this.options.labelMaxWidth<h?
607
- (this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth,this.sessionVariables.labelMaxHeight=b):(this.sessionVariables.labelAngle=-25,this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth,this.sessionVariables.labelMaxHeight=d);else if(!g(f))if(b=l.width+f.width>>0,k=this.labelFontSize,s<h)b-2*h>p&&(p=b-2*h,b>=2*h&&b<2.2*h?(this.sessionVariables.labelMaxWidth=h,g(this.options.labelFontSize)&&12<k&&(k=Math.floor(12/13*k),a.measureText()),this.sessionVariables.labelFontSize=g(this.options.labelFontSize)?
608
- k:this.options.labelFontSize,this.sessionVariables.labelAngle=this.labelAngle):b>=2.2*h&&b<2.8*h?(this.sessionVariables.labelAngle=-25,this.sessionVariables.labelMaxWidth=n,this.sessionVariables.labelFontSize=k):b>=2.8*h&&b<3.2*h?(this.sessionVariables.labelMaxWidth=Math.max(h,s),this.sessionVariables.labelWrap=!0,g(this.options.labelFontSize)&&12<this.labelFontSize&&(this.labelFontSize=Math.floor(12/13*this.labelFontSize),a.measureText()),this.sessionVariables.labelFontSize=g(this.options.labelFontSize)?
609
- k:this.options.labelFontSize,this.sessionVariables.labelAngle=this.labelAngle):b>=3.2*h&&b<3.6*h?(this.sessionVariables.labelAngle=-25,this.sessionVariables.labelWrap=!0,this.sessionVariables.labelMaxWidth=n,this.sessionVariables.labelFontSize=this.labelFontSize):b>3.6*h&&b<5*h?(g(this.options.labelFontSize)&&12<k&&(k=Math.floor(12/13*k),a.measureText()),this.sessionVariables.labelFontSize=g(this.options.labelFontSize)?k:this.options.labelFontSize,this.sessionVariables.labelWrap=!0,this.sessionVariables.labelAngle=
610
- -25,this.sessionVariables.labelMaxWidth=n):b>5*h&&(this.sessionVariables.labelWrap=!0,this.sessionVariables.labelMaxWidth=h,this.sessionVariables.labelFontSize=k,this.sessionVariables.labelMaxHeight=d,this.sessionVariables.labelAngle=this.labelAngle));else if(t===c&&(0===t&&s+this._labels[t+1].textBlock.measureText().width-2*h>p||t===this._labels.length-1&&s+this._labels[t-1].textBlock.measureText().width-2*h>p||0<t&&t<this._labels.length-1&&s+this._labels[t+1].textBlock.measureText().width-2*h>p&&
611
- s+this._labels[t-1].textBlock.measureText().width-2*h>p))p=0===t?s+this._labels[t+1].textBlock.measureText().width-2*h:s+this._labels[t-1].textBlock.measureText().width-2*h,this.sessionVariables.labelFontSize=g(this.options.labelFontSize)?k:this.options.labelFontSize,this.sessionVariables.labelWrap=!0,this.sessionVariables.labelAngle=-25,this.sessionVariables.labelMaxWidth=n;else if(0===p)for(this.sessionVariables.labelFontSize=g(this.options.labelFontSize)?k:this.options.labelFontSize,this.sessionVariables.labelWrap=
612
- !0,b=0;b<this._labels.length;b++)a=this._labels[b].textBlock,a.maxWidth=this.sessionVariables.labelMaxWidth=Math.min(Math.max(h,s),n),l=a.measureText(),b<this._labels.length-1&&(k=b+1,f=this._labels[k].textBlock,f.maxWidth=this.sessionVariables.labelMaxWidth=Math.min(Math.max(h,s),n),f=f.measureText(),l.width+f.width>>0>2*h&&(this.sessionVariables.labelAngle=-25))}else(this.sessionVariables.labelAngle=this.labelAngle,this.sessionVariables.labelMaxHeight=0===this.labelAngle?d:Math.min((b-h*Math.cos(Math.PI/
613
- 180*Math.abs(this.labelAngle)))/Math.sin(Math.PI/180*Math.abs(this.labelAngle)),b),n=0!=this.labelAngle?(m-(u+a.fontSize/2)*Math.cos(Math.PI/180*Math.abs(this.labelAngle)))/Math.sin(Math.PI/180*Math.abs(this.labelAngle)):h,this.sessionVariables.labelMaxHeight=this.labelWrap?(m-n*Math.sin(Math.PI/180*Math.abs(this.labelAngle)))/Math.cos(Math.PI/180*Math.abs(this.labelAngle)):1.5*this.labelFontSize,g(this.options.labelWrap))?g(this.options.labelWrap)&&(this.labelWrap&&!g(this.options.labelMaxWidth)?
614
- (this.sessionVariables.labelWrap=this.labelWrap,this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth?this.options.labelMaxWidth:n,this.sessionVariables.labelMaxHeight=d):(this.sessionVariables.labelAngle=this.labelAngle,this.sessionVariables.labelMaxWidth=n,this.sessionVariables.labelMaxHeight=b<0.9*r?0.9*r:b,this.sessionVariables.labelWrap=this.labelWrap)):(this.options.labelWrap?(this.sessionVariables.labelWrap=this.labelWrap,this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth?
615
- this.options.labelMaxWidth:n):(g(this.options.labelMaxWidth),this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth?this.options.labelMaxWidth:n,this.sessionVariables.labelWrap=this.labelWrap),this.sessionVariables.labelMaxHeight=d)}for(b=0;b<this._labels.length;b++)a=this._labels[b].textBlock,a.maxWidth=this.labelMaxWidth=this.sessionVariables.labelMaxWidth,a.fontSize=this.sessionVariables.labelFontSize,a.angle=this.labelAngle=this.sessionVariables.labelAngle,a.wrap=this.labelWrap=this.sessionVariables.labelWrap,
616
- a.maxHeight=this.sessionVariables.labelMaxHeight,a.measureText()}else for(c=0;c<this._labels.length;c++)a=this._labels[c].textBlock,a.maxWidth=this.labelMaxWidth=g(this.options.labelMaxWidth)?g(this.sessionVariables.labelMaxWidth)?this.sessionVariables.labelMaxWidth=h:this.sessionVariables.labelMaxWidth:this.options.labelMaxWidth,a.fontSize=this.labelFontSize=g(this.options.labelFontSize)?g(this.sessionVariables.labelFontSize)?this.sessionVariables.labelFontSize=this.labelFontSize:this.sessionVariables.labelFontSize:
617
- this.options.labelFontSize,a.angle=this.labelAngle=g(this.options.labelAngle)?g(this.sessionVariables.labelAngle)?this.sessionVariables.labelAngle=this.labelAngle:this.sessionVariables.labelAngle:this.labelAngle,a.wrap=this.labelWrap=g(this.options.labelWrap)?g(this.sessionVariables.labelWrap)?this.sessionVariables.labelWrap=this.labelWrap:this.sessionVariables.labelWrap:this.options.labelWrap,a.maxHeight=g(this.sessionVariables.labelMaxHeight)?this.sessionVariables.labelMaxHeight=d:this.sessionVariables.labelMaxHeight,
618
- a.measureText();else if("left"===this._position||"right"===this._position)if(h=g(this.options.labelMaxWidth)?0.3*this.chart.width>>0:this.options.labelMaxWidth,d="undefined"===typeof this.options.labelWrap||this.labelWrap?0.3*this.chart.height>>0:1.5*this.labelFontSize,!this.chart.panEnabled&&1<=this._labels.length){this.sessionVariables.labelFontSize=this.labelFontSize;this.sessionVariables.labelMaxWidth=h;this.sessionVariables.labelMaxHeight=d;this.sessionVariables.labelAngle=g(this.sessionVariables.labelAngle)?
619
- 0:this.sessionVariables.labelAngle;this.sessionVariables.labelWrap=this.labelWrap;for(c=0;c<this._labels.length;c++)if(!this._labels[c].breaksLabelType){a=this._labels[c].textBlock;l=a.measureText();for(k=c+1;k<this._labels.length;k++)if(!this._labels[k].breaksLabelType){f=this._labels[k].textBlock;f=f.measureText();break}e.push(a.height);this.sessionVariables.labelMaxHeight=Math.max.apply(Math,e);b=h*Math.sin(Math.PI/180*Math.abs(this.labelAngle))+(d-a.fontSize/2)*Math.cos(Math.PI/180*Math.abs(this.labelAngle));
620
- Math.cos(Math.PI/180*Math.abs(this.labelAngle));Math.sin(Math.PI/180*Math.abs(this.labelAngle));g(this.options.labelAngle)&&isNaN(this.options.labelAngle)&&0!==this.options.labelAngle?g(this.options.labelWrap)?g(this.options.labelWrap)&&(g(this.options.labelMaxWidth)?g(f)||(r=l.height+f.height>>0,r-2*d>s&&(s=r-2*d,r>=2*d&&r<2.4*d?(g(this.options.labelFontSize)&&12<this.labelFontSize&&(this.labelFontSize=Math.floor(12/13*this.labelFontSize),a.measureText()),this.sessionVariables.labelMaxHeight=d,this.sessionVariables.labelFontSize=
621
- g(this.options.labelFontSize)?this.labelFontSize:this.options.labelFontSize):r>=2.4*d&&r<2.8*d?(this.sessionVariables.labelMaxHeight=b,this.sessionVariables.labelFontSize=this.labelFontSize,this.sessionVariables.labelWrap=!0):r>=2.8*d&&r<3.2*d?(this.sessionVariables.labelMaxHeight=d,this.sessionVariables.labelWrap=!0,g(this.options.labelFontSize)&&12<this.labelFontSize&&(this.labelFontSize=Math.floor(12/13*this.labelFontSize),a.measureText()),this.sessionVariables.labelFontSize=g(this.options.labelFontSize)?
622
- this.labelFontSize:this.options.labelFontSize,this.sessionVariables.labelAngle=g(this.sessionVariables.labelAngle)?0:this.sessionVariables.labelAngle):r>=3.2*d&&r<3.6*d?(this.sessionVariables.labelMaxHeight=b,this.sessionVariables.labelWrap=!0,this.sessionVariables.labelFontSize=this.labelFontSize):r>3.6*d&&r<10*d?(g(this.options.labelFontSize)&&12<this.labelFontSize&&(this.labelFontSize=Math.floor(12/13*this.labelFontSize),a.measureText()),this.sessionVariables.labelFontSize=g(this.options.labelFontSize)?
623
- this.labelFontSize:this.options.labelFontSize,this.sessionVariables.labelMaxWidth=h,this.sessionVariables.labelMaxHeight=d,this.sessionVariables.labelAngle=g(this.sessionVariables.labelAngle)?0:this.sessionVariables.labelAngle):r>10*d&&r<50*d&&(g(this.options.labelFontSize)&&12<this.labelFontSize&&(this.labelFontSize=Math.floor(12/13*this.labelFontSize),a.measureText()),this.sessionVariables.labelFontSize=g(this.options.labelFontSize)?this.labelFontSize:this.options.labelFontSize,this.sessionVariables.labelMaxHeight=
624
- d,this.sessionVariables.labelMaxWidth=h,this.sessionVariables.labelAngle=g(this.sessionVariables.labelAngle)?0:this.sessionVariables.labelAngle))):(this.sessionVariables.labelMaxHeight=d,this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth?this.options.labelMaxWidth:this.sessionVariables.labelMaxWidth)):(this.sessionVariables.labelMaxWidth=this.labelWrap?this.options.labelMaxWidth?this.options.labelMaxWidth:this.sessionVariables.labelMaxWidth:this.labelMaxWidth?this.options.labelMaxWidth?
625
- this.options.labelMaxWidth:this.sessionVariables.labelMaxWidth:h,this.sessionVariables.labelMaxHeight=d):(this.sessionVariables.labelAngle=this.labelAngle,this.sessionVariables.labelMaxWidth=0===this.labelAngle?h:Math.min((b-d*Math.sin(Math.PI/180*Math.abs(this.labelAngle)))/Math.cos(Math.PI/180*Math.abs(this.labelAngle)),d),g(this.options.labelWrap))?g(this.options.labelWrap)&&(this.labelWrap&&!g(this.options.labelMaxWidth)?(this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth?this.options.labelMaxWidth:
626
- this.sessionVariables.labelMaxWidth,this.sessionVariables.labelWrap=this.labelWrap,this.sessionVariables.labelMaxHeight=b):(this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth?this.options.labelMaxWidth:h,this.sessionVariables.labelMaxHeight=0===this.labelAngle?d:b,g(this.options.labelMaxWidth)&&(this.sessionVariables.labelAngle=this.labelAngle))):this.options.labelWrap?(this.sessionVariables.labelMaxHeight=0===this.labelAngle?d:b,this.sessionVariables.labelWrap=this.labelWrap,this.sessionVariables.labelMaxWidth=
627
- h):(this.sessionVariables.labelMaxHeight=d,g(this.options.labelMaxWidth),this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth?this.options.labelMaxWidth:this.sessionVariables.labelMaxWidth,this.sessionVariables.labelWrap=this.labelWrap)}for(b=0;b<this._labels.length;b++)a=this._labels[b].textBlock,a.maxWidth=this.labelMaxWidth=this.sessionVariables.labelMaxWidth,a.fontSize=this.labelFontSize=this.sessionVariables.labelFontSize,a.angle=this.labelAngle=this.sessionVariables.labelAngle,a.wrap=
628
- this.labelWrap=this.sessionVariables.labelWrap,a.maxHeight=this.sessionVariables.labelMaxHeight,a.measureText()}else for(c=0;c<this._labels.length;c++)a=this._labels[c].textBlock,a.maxWidth=this.labelMaxWidth=g(this.options.labelMaxWidth)?g(this.sessionVariables.labelMaxWidth)?this.sessionVariables.labelMaxWidth=h:this.sessionVariables.labelMaxWidth:this.options.labelMaxWidth,a.fontSize=this.labelFontSize=g(this.options.labelFontSize)?g(this.sessionVariables.labelFontSize)?this.sessionVariables.labelFontSize=
629
- this.labelFontSize:this.sessionVariables.labelFontSize:this.options.labelFontSize,a.angle=this.labelAngle=g(this.options.labelAngle)?g(this.sessionVariables.labelAngle)?this.sessionVariables.labelAngle=this.labelAngle:this.sessionVariables.labelAngle:this.labelAngle,a.wrap=this.labelWrap=g(this.options.labelWrap)?g(this.sessionVariables.labelWrap)?this.sessionVariables.labelWrap=this.labelWrap:this.sessionVariables.labelWrap:this.options.labelWrap,a.maxHeight=g(this.sessionVariables.labelMaxHeight)?
630
- this.sessionVariables.labelMaxHeight=d:this.sessionVariables.labelMaxHeight,a.measureText();for(c=0;c<this.stripLines.length;c++){var h=this.stripLines[c],B;if("outside"===h.labelPlacement){d=this.sessionVariables.labelMaxWidth;if("bottom"===this._position||"top"===this._position)g(h.options.labelWrap)&&!g(this.sessionVariables.stripLineLabelMaxHeight)?B=this.sessionVariables.stripLineLabelMaxHeight:this.sessionVariables.stripLineLabelMaxHeight=B=h.labelWrap?0.8*this.chart.height>>0:1.5*this.labelFontSize;
631
- if("left"===this._position||"right"===this._position)g(h.options.labelWrap)&&!g(this.sessionVariables.stripLineLabelMaxHeight)?B=this.sessionVariables.stripLineLabelMaxHeight:this.sessionVariables.stripLineLabelMaxHeight=B=h.labelWrap?0.8*this.chart.width>>0:1.5*this.labelFontSize;g(h.labelBackgroundColor)&&(h.labelBackgroundColor="#EEEEEE")}else d="bottom"===this._position||"top"===this._position?0.9*this.chart.width>>0:0.9*this.chart.height>>0,B=g(h.options.labelWrap)||h.labelWrap?"bottom"===this._position||
632
- "top"===this._position?0.8*this.chart.width>>0:0.8*this.chart.height>>0:1.5*this.labelFontSize,g(h.labelBackgroundColor)&&(g(h.startValue)&&0!==h.startValue?h.labelBackgroundColor=q?"transparent":null:h.labelBackgroundColor="#EEEEEE");a=new ma(this.ctx,{x:0,y:0,backgroundColor:h.labelBackgroundColor,borderColor:h.labelBorderColor,borderThickness:h.labelBorderThickness,cornerRadius:h.labelCornerRadius,maxWidth:h.options.labelMaxWidth?h.options.labelMaxWidth:d,maxHeight:B,angle:this.labelAngle,text:h.labelFormatter?
633
- h.labelFormatter({chart:this.chart,axis:this,stripLine:h}):h.label,textAlign:this.labelTextAlign,fontSize:"outside"===h.labelPlacement?h.options.labelFontSize?h.labelFontSize:this.labelFontSize:h.labelFontSize,fontFamily:"outside"===h.labelPlacement?h.options.labelFontFamily?h.labelFontFamily:this.labelFontFamily:h.labelFontFamily,fontWeight:"outside"===h.labelPlacement?h.options.labelFontWeight?h.labelFontWeight:this.labelFontWeight:h.labelFontWeight,fontColor:h.labelFontColor||h.color,fontStyle:"outside"===
634
- h.labelPlacement?h.options.labelFontStyle?h.labelFontStyle:this.fontWeight:h.labelFontStyle,textBaseline:"middle"});this._stripLineLabels.push({position:h.value,textBlock:a,effectiveHeight:null,stripLine:h})}};z.prototype.createLabelsAndCalculateWidth=function(){var a=0,f=0;this._labels=[];this._stripLineLabels=[];var c=this.chart.isNavigator?0:5;if("left"===this._position||"right"===this._position){this.createLabels();if("inside"!=this.labelPlacement||"inside"===this.labelPlacement&&0<this._index)for(f=
635
- 0;f<this._labels.length;f++){var b=this._labels[f].textBlock,e=b.measureText(),h=0,h=0===this.labelAngle?e.width:e.width*Math.cos(Math.PI/180*Math.abs(this.labelAngle))+(e.height-b.fontSize/2)*Math.sin(Math.PI/180*Math.abs(this.labelAngle));a<h&&(this.labelEffectiveWidth=a=h);this._labels[f].effectiveWidth=h}for(f=0;f<this._stripLineLabels.length;f++)"outside"===this._stripLineLabels[f].stripLine.labelPlacement&&(this._stripLineLabels[f].stripLine.value>=this.viewportMinimum&&this._stripLineLabels[f].stripLine.value<=
636
- this.viewportMaximum)&&(b=this._stripLineLabels[f].textBlock,e=b.measureText(),h=0===this.labelAngle?e.width:e.width*Math.cos(Math.PI/180*Math.abs(this.labelAngle))+(e.height-b.fontSize/2)*Math.sin(Math.PI/180*Math.abs(this.labelAngle)),"inside"===this.tickPlacement&&(h+=this.tickLength),"inside"===this.labelPlacement&&(a+=0<this._index?h:0),a<h&&(a=h),this.stripLineLabelEffectiveWidth=this._stripLineLabels[f].effectiveWidth=h)}return(this.title?this._titleTextBlock.measureText().height+2:0)+a+("inside"===
637
- this.tickPlacement?0<this._index?this.tickLength:0:this.tickLength)+c};z.prototype.createLabelsAndCalculateHeight=function(){var a=0;this._labels=[];this._stripLineLabels=[];var f,c=0,b=this.chart.isNavigator?0:5;if("bottom"===this._position||"top"===this._position){this.createLabels();if("inside"!=this.labelPlacement||"inside"===this.labelPlacement&&0<this._index)for(c=0;c<this._labels.length;c++){f=this._labels[c].textBlock;var e=f.measureText(),h=0,h=0===this.labelAngle?e.height:e.width*Math.sin(Math.PI/
638
- 180*Math.abs(this.labelAngle))+(e.height-f.fontSize/2)*Math.cos(Math.PI/180*Math.abs(this.labelAngle));a<h&&(this.labelEffectiveHeight=a=h);this._labels[c].effectiveHeight=h}for(c=0;c<this._stripLineLabels.length;c++)"outside"===this._stripLineLabels[c].stripLine.labelPlacement&&(this._stripLineLabels[c].stripLine.value>=this.viewportMinimum&&this._stripLineLabels[c].stripLine.value<=this.viewportMaximum)&&(f=this._stripLineLabels[c].textBlock,e=f.measureText(),h=0===this.labelAngle?e.height:e.width*
639
- Math.sin(Math.PI/180*Math.abs(this.labelAngle))+(e.height-f.fontSize/2)*Math.cos(Math.PI/180*Math.abs(this.labelAngle)),"inside"===this.tickPlacement&&(h+=this.tickLength),"inside"===this.labelPlacement&&(a+=0<this._index?h:0),a<h&&(a=h),this.stripLineLabelEffectiveHeight=this._stripLineLabels[c].effectiveHeight=h)}return(this.title?this._titleTextBlock.measureText().height+2:0)+a+("inside"===this.tickPlacement?0<this._index?this.tickLength:0:this.tickLength)+b};z.setLayout=function(a,f,c,b,e,h){var d,
640
- r,u,m,n=a[0]?a[0].chart:f[0].chart,p=n.isNavigator?0:10,s=n._axes;if(a&&0<a.length)for(var k=0;k<a.length;k++)a[k]&&a[k].calculateAxisParameters();if(f&&0<f.length)for(k=0;k<f.length;k++)f[k].calculateAxisParameters();if(c&&0<c.length)for(k=0;k<c.length;k++)c[k].calculateAxisParameters();if(b&&0<b.length)for(k=0;k<b.length;k++)b[k].calculateAxisParameters();for(k=0;k<s.length;k++)if(s[k]&&s[k].scaleBreaks&&s[k].scaleBreaks._appliedBreaks.length)for(var l=s[k].scaleBreaks._appliedBreaks,t=0;t<l.length&&
641
- !(l[t].startValue>s[k].viewportMaximum);t++)l[t].endValue<s[k].viewportMinimum||(g(s[k].scaleBreaks.firstBreakIndex)&&(s[k].scaleBreaks.firstBreakIndex=t),l[t].startValue>=s[k].viewPortMinimum&&(s[k].scaleBreaks.lastBreakIndex=t));for(var q=t=0,v=0,B=0,y=0,z=0,x=0,G,D,F=r=0,L,J,Q,l=L=J=Q=!1,k=0;k<s.length;k++)s[k]&&s[k].title&&(s[k]._titleTextBlock=new ma(s[k].ctx,{text:s[k].title,horizontalAlign:"center",fontSize:s[k].titleFontSize,fontFamily:s[k].titleFontFamily,fontWeight:s[k].titleFontWeight,
642
- fontColor:s[k].titleFontColor,fontStyle:s[k].titleFontStyle,borderColor:s[k].titleBorderColor,borderThickness:s[k].titleBorderThickness,backgroundColor:s[k].titleBackgroundColor,cornerRadius:s[k].titleCornerRadius,textBaseline:"top"}));for(k=0;k<s.length;k++)if(s[k].title)switch(s[k]._position){case "left":s[k]._titleTextBlock.maxWidth=s[k].titleMaxWidth||h.height;s[k]._titleTextBlock.maxHeight=s[k].titleWrap?0.8*h.width:1.5*s[k].titleFontSize;s[k]._titleTextBlock.angle=-90;break;case "right":s[k]._titleTextBlock.maxWidth=
643
- s[k].titleMaxWidth||h.height;s[k]._titleTextBlock.maxHeight=s[k].titleWrap?0.8*h.width:1.5*s[k].titleFontSize;s[k]._titleTextBlock.angle=90;break;default:s[k]._titleTextBlock.maxWidth=s[k].titleMaxWidth||h.width,s[k]._titleTextBlock.maxHeight=s[k].titleWrap?0.8*h.height:1.5*s[k].titleFontSize,s[k]._titleTextBlock.angle=0}if("normal"===e){for(var B=[],y=[],z=[],x=[],N=[],O=[],M=[],P=[];4>t;){var I=0,V=0,R=0,Y=0,S=e=0,T=0,aa=0,Z=0,W=0,U=0,$=0;if(c&&0<c.length)for(z=[],k=U=0;k<c.length;k++)z.push(Math.ceil(c[k]?
644
- c[k].createLabelsAndCalculateWidth():0)),U+=z[k],T+=c[k]&&!n.isNavigator?c[k].margin:0;else z.push(Math.ceil(c[0]?c[0].createLabelsAndCalculateWidth():0));M.push(z);if(b&&0<b.length)for(x=[],k=$=0;k<b.length;k++)x.push(Math.ceil(b[k]?b[k].createLabelsAndCalculateWidth():0)),$+=x[k],aa+=b[k]?b[k].margin:0;else x.push(Math.ceil(b[0]?b[0].createLabelsAndCalculateWidth():0));P.push(x);d=Math.round(h.x1+U+T);u=Math.round(h.x2-$-aa>n.width-p?n.width-p:h.x2-$-aa);if(a&&0<a.length)for(B=[],k=Z=0;k<a.length;k++)a[k]&&
645
- (a[k].lineCoordinates={}),a[k].lineCoordinates.width=Math.abs(u-d),a[k].title&&(a[k]._titleTextBlock.maxWidth=0<a[k].titleMaxWidth&&a[k].titleMaxWidth<a[k].lineCoordinates.width?a[k].titleMaxWidth:a[k].lineCoordinates.width),B.push(Math.ceil(a[k]?a[k].createLabelsAndCalculateHeight():0)),Z+=B[k],e+=a[k]&&!n.isNavigator?a[k].margin:0;else B.push(Math.ceil(a[0]?a[0].createLabelsAndCalculateHeight():0));N.push(B);if(f&&0<f.length)for(y=[],k=W=0;k<f.length;k++)f[k]&&(f[k].lineCoordinates={}),f[k].lineCoordinates.width=
646
- Math.abs(u-d),f[k].title&&(f[k]._titleTextBlock.maxWidth=0<f[k].titleMaxWidth&&f[k].titleMaxWidth<f[k].lineCoordinates.width?f[k].titleMaxWidth:f[k].lineCoordinates.width),y.push(Math.ceil(f[k]?f[k].createLabelsAndCalculateHeight():0)),W+=y[k],S+=f[k]&&!n.isNavigator?f[k].margin:0;else y.push(Math.ceil(f[0]?f[0].createLabelsAndCalculateHeight():0));O.push(y);if(a&&0<a.length)for(k=0;k<a.length;k++)a[k]&&(a[k].lineCoordinates.x1=d,u=Math.round(h.x2-$-aa>n.width-p?n.width-p:h.x2-$-aa),a[k]._labels&&
647
- 1<a[k]._labels.length&&(r=m=0,m=a[k]._labels[1],r="dateTime"===a[k].valueType?a[k]._labels[a[k]._labels.length-2]:a[k]._labels[a[k]._labels.length-1],q=m.textBlock.width*Math.cos(Math.PI/180*Math.abs(m.textBlock.angle))+(m.textBlock.height-r.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(m.textBlock.angle)),v=r.textBlock.width*Math.cos(Math.PI/180*Math.abs(r.textBlock.angle))+(r.textBlock.height-r.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(r.textBlock.angle))),!a[k]||(!a[k].labelAutoFit||
648
- g(G)||g(D)||n.isNavigator||n.stockChart)||(r=0,0<a[k].labelAngle?D+v>u&&(r+=0<a[k].labelAngle?D+v-u-$:0):0>a[k].labelAngle?G-q<d&&G-q<a[k].viewportMinimum&&(F=d-(T+a[k].tickLength+z+G-q+a[k].labelFontSize/2)):0===a[k].labelAngle&&(D+v>u&&(r=D+v/2-u-$),G-q<d&&G-q<a[k].viewportMinimum&&(F=d-T-a[k].tickLength-z-G+q/2)),a[k].viewportMaximum===a[k].maximum&&a[k].viewportMinimum===a[k].minimum&&0<a[k].labelAngle&&0<r?u-=r:a[k].viewportMaximum===a[k].maximum&&a[k].viewportMinimum===a[k].minimum&&0>a[k].labelAngle&&
649
- 0<F?d+=F:a[k].viewportMaximum===a[k].maximum&&a[k].viewportMinimum===a[k].minimum&&0===a[k].labelAngle&&(0<F&&(d+=F),0<r&&(u-=r))),n.panEnabled?Z=g(n.sessionVariables.axisX.height)?n.sessionVariables.axisX.height=Z:n.sessionVariables.axisX.height:n.sessionVariables.axisX.height=Z,r=Math.round(h.y2-Z-e+I),m=Math.round(h.y2),a[k].lineCoordinates.x2=u,a[k].lineCoordinates.width=u-d,a[k].lineCoordinates.y1=r,a[k].lineCoordinates.y2=r,"inside"===a[k].labelPlacement&&0<k&&(a[k].lineCoordinates.y1=a[k-1].lineCoordinates.y2+
650
- I+(a[k].labelEffectiveHeight||0),a[k].lineCoordinates.y2=a[k].lineCoordinates.y1+a[k].lineThickness/2),"inside"===a[k].tickPlacement&&0<k&&(a[k].lineCoordinates.y1+=a[k].tickLength,a[k].lineCoordinates.y2=a[k].lineCoordinates.y1+a[k].lineThickness/2),a[k].bounds={x1:d,y1:r,x2:u,y2:m-(Z+e-B[k]-I),width:u-d},a[k].bounds.height=a[k].bounds.y2-a[k].bounds.y1),I+=B[k]+a[k].margin;if(f&&0<f.length)for(k=0;k<f.length;k++)f[k].lineCoordinates.x1=Math.round(h.x1+U+T),f[k].lineCoordinates.x2=Math.round(h.x2-
651
- $-aa>n.width-p?n.width-p:h.x2-$-aa),f[k].lineCoordinates.width=Math.abs(u-d),f[k]._labels&&1<f[k]._labels.length&&(m=f[k]._labels[1],r="dateTime"===f[k].valueType?f[k]._labels[f[k]._labels.length-2]:f[k]._labels[f[k]._labels.length-1],q=m.textBlock.width*Math.cos(Math.PI/180*Math.abs(m.textBlock.angle))+(m.textBlock.height-r.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(m.textBlock.angle)),v=r.textBlock.width*Math.cos(Math.PI/180*Math.abs(r.textBlock.angle))+(r.textBlock.height-r.textBlock.fontSize/
652
- 2)*Math.sin(Math.PI/180*Math.abs(r.textBlock.angle))),n.panEnabled?W=g(n.sessionVariables.axisX2.height)?n.sessionVariables.axisX2.height=W:n.sessionVariables.axisX2.height:n.sessionVariables.axisX2.height=W,r=Math.round(h.y1),m=f[k].lineCoordinates.y1=r+W+S-V,f[k].lineCoordinates.y2=r,"inside"===f[k].labelPlacement&&0<k&&(f[k].lineCoordinates.y1=f[k-1].lineCoordinates.y1-V-(f[k].labelEffectiveHeight||0)),"inside"===f[k].tickPlacement&&0<k&&(f[k].lineCoordinates.y1-=f[k].tickLength),f[k].bounds={x1:d,
653
- y1:r+(W+S-y[k]-V),x2:u,y2:m,width:u-d},f[k].bounds.height=f[k].bounds.y2-f[k].bounds.y1,V+=y[k]+f[k].margin;if(c&&0<c.length)for(k=0;k<c.length;k++)T=n.isNavigator?0:10,c[k]&&(d=Math.round(a[0]?a[0].lineCoordinates.x1:f[0].lineCoordinates.x1),T=c[k]._labels&&0<c[k]._labels.length?c[k]._labels[c[k]._labels.length-1].textBlock.height/2:p,r=Math.round(h.y1+W+S<Math.max(T,p)?Math.max(T,p):h.y1+W+S),u=Math.round(a[0]?a[0].lineCoordinates.x1:f[0].lineCoordinates.x1),T=0<a.length?0:c[k]._labels&&0<c[k]._labels.length?
654
- c[k]._labels[0].textBlock.height/2:p,m=Math.round(h.y2-Z-e-T),c[k].lineCoordinates={x1:d-R,y1:r,x2:u-R,y2:m,height:Math.abs(m-r)},"inside"===c[k].labelPlacement&&0<k&&(c[k].lineCoordinates.x1=c[k-1].lineCoordinates.x1-R-(c[k].labelEffectiveWidth||0),c[k].lineCoordinates.x2=c[k].lineCoordinates.x1+c[k].lineThickness/2),"inside"===c[k].tickPlacement&&0<k&&(c[k].lineCoordinates.x1-=c[k].tickLength,c[k].lineCoordinates.x2=c[k].lineCoordinates.x1+c[k].lineThickness/2),c[k].bounds={x1:d-(z[k]+R),y1:r,x2:u-
655
- R,y2:m,height:m-r},c[k].bounds.width=c[k].bounds.x2-c[k].bounds.x1,c[k].title&&(c[k]._titleTextBlock.maxWidth=0<c[k].titleMaxWidth&&c[k].titleMaxWidth<c[k].lineCoordinates.height?c[k].titleMaxWidth:c[k].lineCoordinates.height),R+=z[k]+c[k].margin);if(b&&0<b.length)for(k=0;k<b.length;k++)b[k]&&(d=Math.round(a[0]?a[0].lineCoordinates.x2:f[0].lineCoordinates.x2),u=Math.round(d),T=b[k]._labels&&0<b[k]._labels.length?b[k]._labels[b[k]._labels.length-1].textBlock.height/2:0,r=Math.round(h.y1+W+S<Math.max(T,
656
- p)?Math.max(T,p):h.y1+W+S),T=0<a.length?0:b[k]._labels&&0<b[k]._labels.length?b[k]._labels[0].textBlock.height/2:0,m=Math.round(h.y2-(Z+e+T)),b[k].lineCoordinates={x1:d+Y,y1:r,x2:d+Y,y2:m,height:Math.abs(m-r)},"inside"===b[k].labelPlacement&&0<k&&(b[k].lineCoordinates.x1=b[k-1].lineCoordinates.x2+Y+(b[k].labelEffectiveWidth||0),b[k].lineCoordinates.x2=b[k].lineCoordinates.x1+b[k].lineThickness/2),"inside"===b[k].tickPlacement&&0<k&&(b[k].lineCoordinates.x1+=b[k].tickLength,b[k].lineCoordinates.x2=
657
- b[k].lineCoordinates.x1+b[k].lineThickness/2),b[k].bounds={x1:d+Y,y1:r,x2:u+(x[k]+Y),y2:m,height:m-r},b[k].bounds.width=b[k].bounds.x2-b[k].bounds.x1,b[k].title&&(b[k]._titleTextBlock.maxWidth=0<b[k].titleMaxWidth&&b[k].titleMaxWidth<b[k].lineCoordinates.height?b[k].titleMaxWidth:b[k].lineCoordinates.height),Y+=x[k]+b[k].margin);if(a&&0<a.length)for(k=0;k<a.length;k++)a[k]&&(a[k].calculateValueToPixelConversionParameters(),a[k].calculateBreaksSizeInValues(),a[k]._labels&&1<a[k]._labels.length&&(G=
658
- (a[k].logarithmic?Math.log(a[k]._labels[1].position/a[k].viewportMinimum)/a[k].conversionParameters.lnLogarithmBase:a[k]._labels[1].position-a[k].viewportMinimum)*Math.abs(a[k].conversionParameters.pixelPerUnit)+a[k].lineCoordinates.x1,d=a[k]._labels[a[k]._labels.length-("dateTime"===a[k].valueType?2:1)].position,d=a[k].getApparentDifference(a[k].viewportMinimum,d),D=a[k].logarithmic?(1<d?Math.log(d)/a[k].conversionParameters.lnLogarithmBase*Math.abs(a[k].conversionParameters.pixelPerUnit):0)+a[k].lineCoordinates.x1:
659
- (0<d?d*Math.abs(a[k].conversionParameters.pixelPerUnit):0)+a[k].lineCoordinates.x1));if(f&&0<f.length)for(k=0;k<f.length;k++)f[k].calculateValueToPixelConversionParameters(),f[k].calculateBreaksSizeInValues(),f[k]._labels&&1<f[k]._labels.length&&(G=(f[k].logarithmic?Math.log(f[k]._labels[1].position/f[k].viewportMinimum)/f[k].conversionParameters.lnLogarithmBase:f[k]._labels[1].position-f[k].viewportMinimum)*Math.abs(f[k].conversionParameters.pixelPerUnit)+f[k].lineCoordinates.x1,d=f[k]._labels[f[k]._labels.length-
660
- ("dateTime"===f[k].valueType?2:1)].position,d=f[k].getApparentDifference(f[k].viewportMinimum,d),D=f[k].logarithmic?(1<d?Math.log(d)/f[k].conversionParameters.lnLogarithmBase*Math.abs(f[k].conversionParameters.pixelPerUnit):0)+f[k].lineCoordinates.x1:(0<d?d*Math.abs(f[k].conversionParameters.pixelPerUnit):0)+f[k].lineCoordinates.x1);for(k=0;k<s.length;k++)"axisY"===s[k].type&&(s[k].calculateValueToPixelConversionParameters(),s[k].calculateBreaksSizeInValues());if(0<t){if(a&&0<a.length)for(k=0;k<a.length;k++)l=
661
- N[t-1][k]===N[t][k]?!0:!1;else l=!0;if(f&&0<f.length)for(k=0;k<f.length;k++)L=O[t-1][k]===O[t][k]?!0:!1;else L=!0;if(c&&0<c.length)for(k=0;k<c.length;k++)J=M[t-1][k]===M[t][k]?!0:!1;else J=!0;if(b&&0<b.length)for(k=0;k<b.length;k++)Q=P[t-1][k]===P[t][k]?!0:!1;else Q=!0}if(l&&L&&J&&Q)break;t++}if(a&&0<a.length)for(k=0;k<a.length;k++)a[k].calculateStripLinesThicknessInValues(),a[k].calculateBreaksInPixels();if(f&&0<f.length)for(k=0;k<f.length;k++)f[k].calculateStripLinesThicknessInValues(),f[k].calculateBreaksInPixels();
662
- if(c&&0<c.length)for(k=0;k<c.length;k++)c[k].calculateStripLinesThicknessInValues(),c[k].calculateBreaksInPixels();if(b&&0<b.length)for(k=0;k<b.length;k++)b[k].calculateStripLinesThicknessInValues(),b[k].calculateBreaksInPixels()}else{p=[];G=[];F=[];q=[];D=[];v=[];N=[];for(O=[];4>t;){Z=Y=R=aa=T=S=e=P=M=I=W=0;if(a&&0<a.length)for(F=[],k=Y=0;k<a.length;k++)F.push(Math.ceil(a[k]?a[k].createLabelsAndCalculateWidth():0)),Y+=F[k],e+=a[k]&&!n.isNavigator?a[k].margin:0;else F.push(Math.ceil(a[0]?a[0].createLabelsAndCalculateWidth():
663
- 0));N.push(F);if(f&&0<f.length)for(q=[],k=Z=0;k<f.length;k++)q.push(Math.ceil(f[k]?f[k].createLabelsAndCalculateWidth():0)),Z+=q[k],S+=f[k]?f[k].margin:0;else q.push(Math.ceil(f[0]?f[0].createLabelsAndCalculateWidth():0));O.push(q);if(c&&0<c.length)for(k=0;k<c.length;k++)c[k].lineCoordinates={},d=Math.round(h.x1+Y+e),u=Math.round(h.x2-Z-S>n.width-10?n.width-10:h.x2-Z-S),c[k].labelAutoFit&&!g(B)&&(0<!a.length&&(d=0>c[k].labelAngle?Math.max(d,B):0===c[k].labelAngle?Math.max(d,B/2):d),0<!f.length&&(u=
664
- 0<c[k].labelAngle?u-y/2:0===c[k].labelAngle?u-y/2:u)),c[k].lineCoordinates.x1=d,c[k].lineCoordinates.x2=u,c[k].lineCoordinates.width=Math.abs(u-d),c[k].title&&(c[k]._titleTextBlock.maxWidth=0<c[k].titleMaxWidth&&c[k].titleMaxWidth<c[k].lineCoordinates.width?c[k].titleMaxWidth:c[k].lineCoordinates.width);if(b&&0<b.length)for(k=0;k<b.length;k++)b[k].lineCoordinates={},d=Math.round(h.x1+Y+e),u=Math.round(h.x2-Z-S>b[k].chart.width-10?b[k].chart.width-10:h.x2-Z-S),b[k]&&b[k].labelAutoFit&&!g(z)&&(0<!a.length&&
665
- (d=0<b[k].labelAngle?Math.max(d,z):0===b[k].labelAngle?Math.max(d,z/2):d),0<!f.length&&(u-=x/2)),b[k].lineCoordinates.x1=d,b[k].lineCoordinates.x2=u,b[k].lineCoordinates.width=Math.abs(u-d),b[k].title&&(b[k]._titleTextBlock.maxWidth=0<b[k].titleMaxWidth&&b[k].titleMaxWidth<b[k].lineCoordinates.width?b[k].titleMaxWidth:b[k].lineCoordinates.width);if(c&&0<c.length)for(p=[],k=R=0;k<c.length;k++)p.push(Math.ceil(c[k]?c[k].createLabelsAndCalculateHeight():0)),R+=p[k]+c[k].margin,T+=c[k].margin;else p.push(Math.ceil(c[0]?
666
- c[0].createLabelsAndCalculateHeight():0));D.push(p);if(b&&0<b.length)for(G=[],k=0;k<b.length;k++)G.push(Math.ceil(b[k]?b[k].createLabelsAndCalculateHeight():0)),aa+=b[k].margin;else G.push(Math.ceil(b[0]?b[0].createLabelsAndCalculateHeight():0));v.push(G);if(c&&0<c.length)for(k=0;k<c.length;k++)0<c[k]._labels.length&&(m=c[k]._labels[0],r=c[k]._labels[c[k]._labels.length-1],B=m.textBlock.width*Math.cos(Math.PI/180*Math.abs(m.textBlock.angle))+(m.textBlock.height-r.textBlock.fontSize/2)*Math.sin(Math.PI/
667
- 180*Math.abs(m.textBlock.angle)),y=r.textBlock.width*Math.cos(Math.PI/180*Math.abs(r.textBlock.angle))+(r.textBlock.height-r.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(r.textBlock.angle)));if(b&&0<b.length)for(k=0;k<b.length;k++)b[k]&&0<b[k]._labels.length&&(m=b[k]._labels[0],r=b[k]._labels[b[k]._labels.length-1],z=m.textBlock.width*Math.cos(Math.PI/180*Math.abs(m.textBlock.angle))+(m.textBlock.height-r.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(m.textBlock.angle)),x=r.textBlock.width*
668
- Math.cos(Math.PI/180*Math.abs(r.textBlock.angle))+(r.textBlock.height-r.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(r.textBlock.angle)));if(n.panEnabled)for(k=0;k<c.length;k++)p[k]=g(n.sessionVariables.axisY[k].height)?n.sessionVariables.axisY[k].height=p[k]:n.sessionVariables.axisY[k].height;else for(k=0;k<c.length;k++)n.sessionVariables.axisY[k].height=p[k];if(c&&0<c.length)for(k=c.length-1;0<=k;k--)r=Math.round(h.y2),m=Math.round(h.y2>c[k].chart.height?c[k].chart.height:h.y2),c[k].lineCoordinates.y1=
669
- r-(p[k]+c[k].margin+W),c[k].lineCoordinates.y2=r-(p[k]+c[k].margin+W),"inside"===c[k].labelPlacement&&0<k&&(c[k].lineCoordinates.y1=c[k].lineCoordinates.y1+p[k]-(c[k]._titleTextBlock?c[k]._titleTextBlock.height:0)-c[k].tickLength-(c[k].stripLineLabelEffectiveHeight||0)-5,c[k].lineCoordinates.y2=c[k].lineCoordinates.y1+c[k].lineThickness/2),"inside"===c[k].tickPlacement&&0<k&&(c[k].lineCoordinates.y1+=c[k].tickLength,c[k].lineCoordinates.y2=c[k].lineCoordinates.y1+c[k].lineThickness/2),c[k].bounds=
670
- {x1:d,y1:r-(p[k]+W+c[k].margin),x2:u,y2:m-(W+c[k].margin),width:u-d,height:p[k]},c[k].title&&(c[k]._titleTextBlock.maxWidth=0<c[k].titleMaxWidth&&c[k].titleMaxWidth<c[k].lineCoordinates.width?c[k].titleMaxWidth:c[k].lineCoordinates.width),W+=p[k]+c[k].margin;if(b&&0<b.length)for(k=b.length-1;0<=k;k--)b[k]&&(r=Math.round(h.y1),m=Math.round(h.y1+(G[k]+b[k].margin+I)),b[k].lineCoordinates.y1=m,b[k].lineCoordinates.y2=m,"inside"===b[k].labelPlacement&&0<k&&(b[k].lineCoordinates.y1=m-G[k]+(b[k]._titleTextBlock?
671
- b[k]._titleTextBlock.height:0)+b[k].tickLength+(b[k].stripLineLabelEffectiveHeight||0),b[k].lineCoordinates.y2=b[k].lineCoordinates.y1-b[k].lineThickness/2),"inside"===b[k].tickPlacement&&0<k&&(b[k].lineCoordinates.y1-=b[k].tickLength,b[k].lineCoordinates.y2=b[k].lineCoordinates.y1-b[k].lineThickness/2),b[k].bounds={x1:d,y1:r+(b[k].margin+I),x2:u,y2:m,width:u-d},b[k].bounds.height=b[k].bounds.y2-b[k].bounds.y1,b[k].title&&(b[k]._titleTextBlock.maxWidth=0<b[k].titleMaxWidth&&b[k].titleMaxWidth<b[k].lineCoordinates.width?
672
- b[k].titleMaxWidth:b[k].lineCoordinates.width),I+=G[k]+b[k].margin);if(a&&0<a.length)for(k=0;k<a.length;k++){T=a[k]._labels&&0<a[k]._labels.length?a[k]._labels[0].textBlock.fontSize/2:0;d=Math.round(h.x1+e);r=b&&0<b.length?Math.round(b[0]?b[0].lineCoordinates.y2:h.y1<Math.max(T,10)?Math.max(T,10):h.y1):h.y1<Math.max(T,10)?Math.max(T,10):h.y1;u=Math.round(h.x1+Y+e);m=c&&0<c.length?Math.round(c[0]?c[0].lineCoordinates.y1:h.y2-R>n.height-Math.max(T,10)?n.height-Math.max(T,10):h.y2-R):h.y2>n.height-Math.max(T,
673
- 10)?n.height-Math.max(T,10):h.y2;if(c&&0<c.length)for(T=0;T<c.length;T++)c[T]&&c[T].labelAutoFit&&(u=c[T].lineCoordinates.x1,d=0>c[T].labelAngle||0===c[T].labelAngle?u-Y:d);if(b&&0<b.length)for(T=0;T<b.length;T++)b[T]&&b[T].labelAutoFit&&(u=b[T].lineCoordinates.x1,d=u-Y);a[k].lineCoordinates={x1:u-M,y1:r,x2:u-M,y2:m,height:Math.abs(m-r)};"inside"===a[k].labelPlacement&&0<k&&(a[k].lineCoordinates.x1=a[k].lineCoordinates.x1-(F[k]-(a[k]._titleTextBlock?a[k]._titleTextBlock.height:0))+a[k].tickLength+
674
- (a[k].stripLineLabelEffectiveWidth||0),a[k].lineCoordinates.x2=a[k].lineCoordinates.x1+a[k].lineThickness/2);"inside"===a[k].tickPlacement&&0<k&&(a[k].lineCoordinates.x1-=a[k].tickLength,a[k].lineCoordinates.x2=a[k].lineCoordinates.x1+a[k].lineThickness/2);a[k].bounds={x1:u-(F[k]+M),y1:r,x2:u-M,y2:m,height:m-r};a[k].bounds.width=a[k].bounds.x2-a[k].bounds.x1;a[k].title&&(a[k]._titleTextBlock.maxWidth=0<a[k].titleMaxWidth&&a[k].titleMaxWidth<a[k].lineCoordinates.height?a[k].titleMaxWidth:a[k].lineCoordinates.height);
675
- a[k].calculateValueToPixelConversionParameters();a[k].calculateBreaksSizeInValues();M+=F[k]+a[k].margin}if(f&&0<f.length)for(k=0;k<f.length;k++){T=f[k]._labels&&0<f[k]._labels.length?f[k]._labels[0].textBlock.fontSize/2:0;d=Math.round(h.x1-e);r=b&&0<b.length?Math.round(b[0]?b[0].lineCoordinates.y2:h.y1<Math.max(T,10)?Math.max(T,10):h.y1):h.y1<Math.max(T,10)?Math.max(T,10):h.y1;u=Math.round(h.x2-Z-S);m=c&&0<c.length?Math.round(c[0]?c[0].lineCoordinates.y1:h.y2-R>n.height-Math.max(T,10)?n.height-Math.max(T,
676
- 10):h.y2-R):h.y2>n.height-Math.max(T,10)?n.height-Math.max(T,10):h.y2;if(c&&0<c.length)for(T=0;T<c.length;T++)c[T]&&c[T].labelAutoFit&&(u=0>c[T].labelAngle?Math.max(u,B):0===c[T].labelAngle?Math.max(u,B/2):u,d=0>c[T].labelAngle||0===c[T].labelAngle?u-Z:d);if(b&&0<b.length)for(T=0;T<b.length;T++)b[T]&&b[T].labelAutoFit&&(u=b[T].lineCoordinates.x2,d=u-Z);f[k].lineCoordinates={x1:u+P,y1:r,x2:u+P,y2:m,height:Math.abs(m-r)};"inside"===f[k].labelPlacement&&0<k&&(f[k].lineCoordinates.x1=f[k].lineCoordinates.x1+
677
- (q[k]-(f[k]._titleTextBlock?f[k]._titleTextBlock.height:0)-2)-f[k].tickLength-(f[k].stripLineLabelEffectiveWidth||0),f[k].lineCoordinates.x2=f[k].lineCoordinates.x1+f[k].lineThickness/2);"inside"===f[k].tickPlacement&&0<k&&(f[k].lineCoordinates.x1+=f[k].tickLength,f[k].lineCoordinates.x2=f[k].lineCoordinates.x1+f[k].lineThickness/2);f[k].bounds={x1:f[k].lineCoordinates.x1,y1:r,x2:u+q[k]+P,y2:m,width:u-d,height:m-r};f[k].bounds.width=f[k].bounds.x2-f[k].bounds.x1;f[k].title&&(f[k]._titleTextBlock.maxWidth=
678
- 0<f[k].titleMaxWidth&&f[k].titleMaxWidth<f[k].lineCoordinates.height?f[k].titleMaxWidth:f[k].lineCoordinates.height);f[k].calculateValueToPixelConversionParameters();f[k].calculateBreaksSizeInValues();P+=q[k]+f[k].margin}for(k=0;k<s.length;k++)"axisY"===s[k].type&&(s[k].calculateValueToPixelConversionParameters(),s[k].calculateBreaksSizeInValues());if(0<t){if(a&&0<a.length)for(k=0;k<a.length;k++)l=N[t-1][k]===N[t][k]?!0:!1;else l=!0;if(f&&0<f.length)for(k=0;k<f.length;k++)L=O[t-1][k]===O[t][k]?!0:
679
- !1;else L=!0;if(c&&0<c.length)for(k=0;k<c.length;k++)J=D[t-1][k]===D[t][k]?!0:!1;else J=!0;if(b&&0<b.length)for(k=0;k<b.length;k++)Q=v[t-1][k]===v[t][k]?!0:!1;else Q=!0}if(l&&L&&J&&Q)break;t++}if(c&&0<c.length)for(k=0;k<c.length;k++)c[k].calculateStripLinesThicknessInValues(),c[k].calculateBreaksInPixels();if(b&&0<b.length)for(k=0;k<b.length;k++)b[k].calculateStripLinesThicknessInValues(),b[k].calculateBreaksInPixels();if(a&&0<a.length)for(k=0;k<a.length;k++)a[k].calculateStripLinesThicknessInValues(),
680
- a[k].calculateBreaksInPixels();if(f&&0<f.length)for(k=0;k<f.length;k++)f[k].calculateStripLinesThicknessInValues(),f[k].calculateBreaksInPixels()}};z.render=function(a,f,c,b,e){var h=a[0]?a[0].chart:f[0].chart;e=h.ctx;h.alignVerticalAxes&&h.alignVerticalAxes();e.save();e.beginPath();a&&a.length&&e.rect(5,a[0].bounds.y1,a[0].chart.width-10,a[a.length-1].bounds.y2);f&&f.length&&e.rect(5,f[f.length-1].bounds.y1,f[0].chart.width-10,f[0].bounds.y2);e.clip();if(a&&0<a.length)for(var d=0;d<a.length;d++)a[d].renderLabelsTicksAndTitle();
681
- if(f&&0<f.length)for(d=0;d<f.length;d++)f[d].renderLabelsTicksAndTitle();e.restore();if(c&&0<c.length)for(d=0;d<c.length;d++)c[d].renderLabelsTicksAndTitle();if(b&&0<b.length)for(d=0;d<b.length;d++)b[d].renderLabelsTicksAndTitle();h.preparePlotArea();h=h.plotArea;e.save();e.beginPath();e.rect(h.x1,h.y1,Math.abs(h.x2-h.x1),Math.abs(h.y2-h.y1));e.clip();if(a&&0<a.length)for(d=0;d<a.length;d++)a[d].renderStripLinesOfThicknessType("value");if(f&&0<f.length)for(d=0;d<f.length;d++)f[d].renderStripLinesOfThicknessType("value");
682
- if(c&&0<c.length)for(d=0;d<c.length;d++)c[d].renderStripLinesOfThicknessType("value");if(b&&0<b.length)for(d=0;d<b.length;d++)b[d].renderStripLinesOfThicknessType("value");if(a&&0<a.length)for(d=0;d<a.length;d++)a[d].renderInterlacedColors();if(f&&0<f.length)for(d=0;d<f.length;d++)f[d].renderInterlacedColors();if(c&&0<c.length)for(d=0;d<c.length;d++)c[d].renderInterlacedColors();if(b&&0<b.length)for(d=0;d<b.length;d++)b[d].renderInterlacedColors();e.restore();if(a&&0<a.length)for(d=0;d<a.length;d++)a[d].renderGrid(),
683
- q&&(a[d].createMask(),a[d].renderBreaksBackground());if(f&&0<f.length)for(d=0;d<f.length;d++)f[d].renderGrid(),q&&(f[d].createMask(),f[d].renderBreaksBackground());if(c&&0<c.length)for(d=0;d<c.length;d++)c[d].renderGrid(),q&&(c[d].createMask(),c[d].renderBreaksBackground());if(b&&0<b.length)for(d=0;d<b.length;d++)b[d].renderGrid(),q&&(b[d].createMask(),b[d].renderBreaksBackground());if(a&&0<a.length)for(d=0;d<a.length;d++)a[d].renderAxisLine();if(f&&0<f.length)for(d=0;d<f.length;d++)f[d].renderAxisLine();
684
- if(c&&0<c.length)for(d=0;d<c.length;d++)c[d].renderAxisLine();if(b&&0<b.length)for(d=0;d<b.length;d++)b[d].renderAxisLine();if(a&&0<a.length)for(d=0;d<a.length;d++)a[d].renderStripLinesOfThicknessType("pixel");if(f&&0<f.length)for(d=0;d<f.length;d++)f[d].renderStripLinesOfThicknessType("pixel");if(c&&0<c.length)for(d=0;d<c.length;d++)c[d].renderStripLinesOfThicknessType("pixel");if(b&&0<b.length)for(d=0;d<b.length;d++)b[d].renderStripLinesOfThicknessType("pixel")};z.prototype.calculateStripLinesThicknessInValues=
685
- function(){for(var a=0;a<this.stripLines.length;a++)if(null!==this.stripLines[a].startValue&&null!==this.stripLines[a].endValue){var f=Math.min(this.stripLines[a].startValue,this.stripLines[a].endValue),c=Math.max(this.stripLines[a].startValue,this.stripLines[a].endValue),b=this.getApparentDifference(f,c);this.stripLines[a].value=this.convertPixelToValue(Math.abs(this.convertValueToPixel(f)+this.convertValueToPixel(c))/2);this.stripLines[a].thickness=b;this.stripLines[a]._thicknessType="value"}};
686
- z.prototype.calculateBreaksSizeInValues=function(){for(var a="left"===this._position||"right"===this._position?this.lineCoordinates.height||this.chart.height:this.lineCoordinates.width||this.chart.width,f=this.scaleBreaks?this.scaleBreaks._appliedBreaks:[],c=this.conversionParameters.pixelPerUnit||a/(this.logarithmic?this.conversionParameters.maximum/this.conversionParameters.minimum:this.conversionParameters.maximum-this.conversionParameters.minimum),b=this.scaleBreaks&&!g(this.scaleBreaks.options.spacing),
687
- e,d=0;d<f.length;d++)e=b||!g(f[d].options.spacing),f[d].spacing=Wa(f[d].spacing,a,8,e?0.1*a:8,e?0:3)<<0,f[d].size=0>f[d].spacing?0:Math.abs(f[d].spacing/c),this.logarithmic&&(f[d].size=Math.pow(this.logarithmBase,f[d].size))};z.prototype.calculateBreaksInPixels=function(){if(!(this.scaleBreaks&&0>=this.scaleBreaks._appliedBreaks.length)){var a=this.scaleBreaks?this.scaleBreaks._appliedBreaks:[];a.length&&(this.scaleBreaks.firstBreakIndex=this.scaleBreaks.lastBreakIndex=null);for(var f=0;f<a.length&&
688
- !(a[f].startValue>this.conversionParameters.maximum);f++)a[f].endValue<this.conversionParameters.minimum||(g(this.scaleBreaks.firstBreakIndex)&&(this.scaleBreaks.firstBreakIndex=f),a[f].startValue>=this.conversionParameters.minimum&&(a[f].startPixel=this.convertValueToPixel(a[f].startValue),this.scaleBreaks.lastBreakIndex=f),a[f].endValue<=this.conversionParameters.maximum&&(a[f].endPixel=this.convertValueToPixel(a[f].endValue)))}};z.prototype.renderLabelsTicksAndTitle=function(){var a=this,f=!1,
689
- c=0,b=0,e=1,d=0;0!==this.labelAngle&&360!==this.labelAngle&&(e=1.2);if("undefined"===typeof this.options.interval){if("bottom"===this._position||"top"===this._position)if(this.logarithmic&&!this.equidistantInterval&&this.labelAutoFit){for(var c=[],e=0!==this.labelAngle&&360!==this.labelAngle?1:1.2,g,r=this.viewportMaximum,u=this.lineCoordinates.width/Math.log(this.range),m=this._labels.length-1;0<=m;m--){p=this._labels[m];if(p.position<this.viewportMinimum)break;p.position>this.viewportMaximum||!(m===
690
- this._labels.length-1||g<Math.log(r/p.position)*u/e)||(c.push(p),r=p.position,g=p.textBlock.width*Math.abs(Math.cos(Math.PI/180*this.labelAngle))+p.textBlock.height*Math.abs(Math.sin(Math.PI/180*this.labelAngle)))}this._labels=c}else{for(m=0;m<this._labels.length;m++)p=this._labels[m],p.position<this.viewportMinimum||(g=p.textBlock.width*Math.abs(Math.cos(Math.PI/180*this.labelAngle))+p.textBlock.height*Math.abs(Math.sin(Math.PI/180*this.labelAngle)),c+=g);c>this.lineCoordinates.width*e&&this.labelAutoFit&&
691
- (f=!0)}if("left"===this._position||"right"===this._position)if(this.logarithmic&&!this.equidistantInterval&&this.labelAutoFit){for(var c=[],n,r=this.viewportMaximum,u=this.lineCoordinates.height/Math.log(this.range),m=this._labels.length-1;0<=m;m--){p=this._labels[m];if(p.position<this.viewportMinimum)break;p.position>this.viewportMaximum||!(m===this._labels.length-1||n<Math.log(r/p.position)*u)||(c.push(p),r=p.position,n=p.textBlock.height*Math.abs(Math.cos(Math.PI/180*this.labelAngle))+p.textBlock.width*
692
- Math.abs(Math.sin(Math.PI/180*this.labelAngle)))}this._labels=c}else{for(m=0;m<this._labels.length;m++)p=this._labels[m],p.position<this.viewportMinimum||(n=p.textBlock.height*Math.abs(Math.cos(Math.PI/180*this.labelAngle))+p.textBlock.width*Math.abs(Math.sin(Math.PI/180*this.labelAngle)),b+=n);b>this.lineCoordinates.height*e&&this.labelAutoFit&&(f=!0)}}this.logarithmic&&(!this.equidistantInterval&&this.labelAutoFit)&&this._labels.sort(function(a,b){return a.position-b.position});var m=0,p,s;if("bottom"===
693
- this._position){for(m=0;m<this._labels.length;m++)p=this._labels[m],p.position<this.viewportMinimum||p.position>this.viewportMaximum||(s=this.getPixelCoordinatesOnAxis(p.position),this.tickThickness&&"inside"!=this.tickPlacement&&(this.ctx.lineWidth=this.tickThickness,this.ctx.strokeStyle=this.tickColor,b=1===this.ctx.lineWidth%2?(s.x<<0)+0.5:s.x<<0,this.ctx.beginPath(),this.ctx.moveTo(b,s.y<<0),this.ctx.lineTo(b,s.y+this.tickLength<<0),this.ctx.stroke()),f&&0!==d++%2&&this.labelAutoFit||(0===p.textBlock.angle?
694
- (s.x-=p.textBlock.width/2,s.y="inside"===this.labelPlacement?s.y-(("inside"===this.tickPlacement?this.tickLength:0)+p.textBlock.height-p.textBlock.fontSize/2):s.y+("inside"===this.tickPlacement?0:this.tickLength)+p.textBlock.fontSize/2+5):(s.x="inside"===this.labelPlacement?0>this.labelAngle?s.x:s.x-p.textBlock.width*Math.cos(Math.PI/180*this.labelAngle):s.x-(0>this.labelAngle?p.textBlock.width*Math.cos(Math.PI/180*this.labelAngle):0),s.y="inside"===this.labelPlacement?0>this.labelAngle?s.y-("inside"===
695
- this.tickPlacement?this.tickLength:0)-5:s.y-("inside"===this.tickPlacement?this.tickLength:0)-Math.abs(p.textBlock.width*Math.sin(Math.PI/180*this.labelAngle)+5):s.y+("inside"===this.tickPlacement?0:this.tickLength)+Math.abs(0>this.labelAngle?p.textBlock.width*Math.sin(Math.PI/180*this.labelAngle)-5:5)),p.textBlock.x=s.x,p.textBlock.y=s.y));"inside"===this.tickPlacement&&this.chart.addEventListener("dataAnimationIterationEnd",function(){for(m=0;m<a._labels.length;m++)if(p=a._labels[m],!(p.position<
696
- a.viewportMinimum||p.position>a.viewportMaximum)&&(s=a.getPixelCoordinatesOnAxis(p.position),a.tickThickness)){a.ctx.lineWidth=a.tickThickness;a.ctx.strokeStyle=a.tickColor;var b=1===a.ctx.lineWidth%2?(s.x<<0)+0.5:s.x<<0;a.ctx.save();a.ctx.beginPath();a.ctx.moveTo(b,s.y<<0);a.ctx.lineTo(b,s.y-a.tickLength<<0);a.ctx.stroke();a.ctx.restore()}},this);this.title&&(this._titleTextBlock.measureText(),this._titleTextBlock.x=this.lineCoordinates.x1+this.lineCoordinates.width/2-this._titleTextBlock.width/
495
+ 1.5*p.indexLabelFontSize,text:p.indexLabelText,padding:0,textBaseline:"middle"});p.indexLabelTextBlock.measureText()}d=h=0;r=!1;for(e=0;e<n.length;e++)p=k[(c+e)%n.length],1<a&&(p.midAngle>Math.PI/2-v&&p.midAngle<Math.PI/2+v)&&(h<=a/2&&!r?(p.hemisphere="right",h++):(p.hemisphere="left",r=!0));r=!1;for(e=0;e<n.length;e++)p=k[(f+e)%n.length],1<b&&(p.midAngle>3*Math.PI/2-v&&p.midAngle<3*Math.PI/2+v)&&(d<=b/2&&!r?(p.hemisphere="left",d++):(p.hemisphere="right",r=!0))}}function c(a){var b=u.plotArea.ctx;
496
+ b.clearRect(s.x1,s.y1,s.width,s.height);b.fillStyle=u.backgroundColor;b.fillRect(s.x1,s.y1,s.width,s.height);for(b=0;b<n.length;b++){var c=k[b].startAngle,f=k[b].endAngle;if(f>c){var e=0.07*x*Math.cos(k[b].midAngle),h=0.07*x*Math.sin(k[b].midAngle),g=!1;if(n[b].exploded){if(1E-9<Math.abs(k[b].center.x-(y.x+e))||1E-9<Math.abs(k[b].center.y-(y.y+h)))k[b].center.x=y.x+e*a,k[b].center.y=y.y+h*a,g=!0}else if(0<Math.abs(k[b].center.x-y.x)||0<Math.abs(k[b].center.y-y.y))k[b].center.x=y.x+e*(1-a),k[b].center.y=
497
+ y.y+h*(1-a),g=!0;g&&(e={},e.dataSeries=m,e.dataPoint=m.dataPoints[b],e.index=b,u.toolTip.highlightObjects([e]));d(u.plotArea.ctx,k[b].center,k[b].radius,n[b].color?n[b].color:m._colorSet[b%m._colorSet.length],m.type,c,f,m.fillOpacity,k[b].percentInnerRadius)}}a=u.plotArea.ctx;a.save();a.fillStyle="black";a.strokeStyle="grey";a.textBaseline="middle";a.lineJoin="round";for(b=b=0;b<n.length;b++)c=k[b],c.indexLabelText&&(c.indexLabelTextBlock.y-=c.indexLabelTextBlock.height/2-c.indexLabelTextBlock.fontSize/
498
+ 2,f=0,f="left"===c.hemisphere?"inside"!==m.indexLabelPlacement?-(c.indexLabelTextBlock.width+p):-c.indexLabelTextBlock.width/2:"inside"!==m.indexLabelPlacement?p:-c.indexLabelTextBlock.width/2,c.indexLabelTextBlock.x+=f,c.indexLabelTextBlock.render(!0),c.indexLabelTextBlock.x-=f,c.indexLabelTextBlock.y+=c.indexLabelTextBlock.height/2-c.indexLabelTextBlock.fontSize/2,"inside"!==c.indexLabelPlacement&&0<c.indexLabelLineThickness&&(f=c.center.x+x*Math.cos(c.midAngle),e=c.center.y+x*Math.sin(c.midAngle),
499
+ a.strokeStyle=c.indexLabelLineColor,a.lineWidth=c.indexLabelLineThickness,a.setLineDash&&a.setLineDash(R(c.indexLabelLineDashType,c.indexLabelLineThickness)),a.beginPath(),a.moveTo(f,e),a.lineTo(c.indexLabelTextBlock.x,c.indexLabelTextBlock.y),a.lineTo(c.indexLabelTextBlock.x+("left"===c.hemisphere?-p:p),c.indexLabelTextBlock.y),a.stroke()),a.lineJoin="miter");a.save()}function b(a,b){var c=0,c=a.indexLabelTextBlock.y-a.indexLabelTextBlock.height/2,f=a.indexLabelTextBlock.y+a.indexLabelTextBlock.height/
500
+ 2,e=b.indexLabelTextBlock.y-b.indexLabelTextBlock.height/2,h=b.indexLabelTextBlock.y+b.indexLabelTextBlock.height/2;return c=b.indexLabelTextBlock.y>a.indexLabelTextBlock.y?e-f:c-h}function e(a){for(var c=null,f=1;f<n.length;f++)if(c=(a+f+k.length)%k.length,k[c].hemisphere!==k[a].hemisphere){c=null;break}else if(k[c].indexLabelText&&c!==a&&(0>b(k[c],k[a])||("right"===k[a].hemisphere?k[c].indexLabelTextBlock.y>=k[a].indexLabelTextBlock.y:k[c].indexLabelTextBlock.y<=k[a].indexLabelTextBlock.y)))break;
501
+ else c=null;return c}function h(a,c,f){f=(f||0)+1;if(1E3<f)return 0;c=c||0;var g=0,d=y.y-1*q,m=y.y+1*q;if(0<=a&&a<n.length){var p=k[a];if(0>c&&p.indexLabelTextBlock.y<d||0<c&&p.indexLabelTextBlock.y>m)return 0;var s=0,r=0,r=s=s=0;0>c?p.indexLabelTextBlock.y-p.indexLabelTextBlock.height/2>d&&p.indexLabelTextBlock.y-p.indexLabelTextBlock.height/2+c<d&&(c=-(d-(p.indexLabelTextBlock.y-p.indexLabelTextBlock.height/2+c))):p.indexLabelTextBlock.y+p.indexLabelTextBlock.height/2<d&&p.indexLabelTextBlock.y+
502
+ p.indexLabelTextBlock.height/2+c>m&&(c=p.indexLabelTextBlock.y+p.indexLabelTextBlock.height/2+c-m);c=p.indexLabelTextBlock.y+c;d=0;d="right"===p.hemisphere?y.x+Math.sqrt(Math.pow(q,2)-Math.pow(c-y.y,2)):y.x-Math.sqrt(Math.pow(q,2)-Math.pow(c-y.y,2));r=y.x+x*Math.cos(p.midAngle);s=y.y+x*Math.sin(p.midAngle);s=Math.sqrt(Math.pow(d-r,2)+Math.pow(c-s,2));r=Math.acos(x/q);s=Math.acos((q*q+x*x-s*s)/(2*x*q));c=s<r?c-p.indexLabelTextBlock.y:0;d=null;for(m=1;m<n.length;m++)if(d=(a-m+k.length)%k.length,k[d].hemisphere!==
503
+ k[a].hemisphere){d=null;break}else if(k[d].indexLabelText&&k[d].hemisphere===k[a].hemisphere&&d!==a&&(0>b(k[d],k[a])||("right"===k[a].hemisphere?k[d].indexLabelTextBlock.y<=k[a].indexLabelTextBlock.y:k[d].indexLabelTextBlock.y>=k[a].indexLabelTextBlock.y)))break;else d=null;r=d;s=e(a);m=d=0;0>c?(m="right"===p.hemisphere?r:s,g=c,null!==m&&(r=-c,c=p.indexLabelTextBlock.y-p.indexLabelTextBlock.height/2-(k[m].indexLabelTextBlock.y+k[m].indexLabelTextBlock.height/2),c-r<t&&(d=-r,m=h(m,d,f+1),+m.toFixed(E)>
504
+ +d.toFixed(E)&&(g=c>t?-(c-t):-(r-(m-d)))))):0<c&&(m="right"===p.hemisphere?s:r,g=c,null!==m&&(r=c,c=k[m].indexLabelTextBlock.y-k[m].indexLabelTextBlock.height/2-(p.indexLabelTextBlock.y+p.indexLabelTextBlock.height/2),c-r<t&&(d=r,m=h(m,d,f+1),+m.toFixed(E)<+d.toFixed(E)&&(g=c>t?c-t:r-(d-m)))));g&&(f=p.indexLabelTextBlock.y+g,c=0,c="right"===p.hemisphere?y.x+Math.sqrt(Math.pow(q,2)-Math.pow(f-y.y,2)):y.x-Math.sqrt(Math.pow(q,2)-Math.pow(f-y.y,2)),p.midAngle>Math.PI/2-v&&p.midAngle<Math.PI/2+v?(d=(a-
505
+ 1+k.length)%k.length,d=k[d],a=k[(a+1+k.length)%k.length],"left"===p.hemisphere&&"right"===d.hemisphere&&c>d.indexLabelTextBlock.x?c=d.indexLabelTextBlock.x-15:"right"===p.hemisphere&&("left"===a.hemisphere&&c<a.indexLabelTextBlock.x)&&(c=a.indexLabelTextBlock.x+15)):p.midAngle>3*Math.PI/2-v&&p.midAngle<3*Math.PI/2+v&&(d=(a-1+k.length)%k.length,d=k[d],a=k[(a+1+k.length)%k.length],"right"===p.hemisphere&&"left"===d.hemisphere&&c<d.indexLabelTextBlock.x?c=d.indexLabelTextBlock.x+15:"left"===p.hemisphere&&
506
+ ("right"===a.hemisphere&&c>a.indexLabelTextBlock.x)&&(c=a.indexLabelTextBlock.x-15)),p.indexLabelTextBlock.y=f,p.indexLabelTextBlock.x=c,p.indexLabelAngle=Math.atan2(p.indexLabelTextBlock.y-y.y,p.indexLabelTextBlock.x-y.x))}return g}function r(){var a=u.plotArea.ctx;a.fillStyle="grey";a.strokeStyle="grey";a.font="16px Arial";a.textBaseline="middle";for(var c=a=0,f=0,g=!0,c=0;10>c&&(1>c||0<f);c++){if(m.radius||!m.radius&&"undefined"!==typeof m.innerRadius&&null!==m.innerRadius&&x-f<=D)g=!1;g&&(x-=
507
+ f);f=0;if("inside"!==m.indexLabelPlacement){q=x*B;for(a=0;a<n.length;a++){var d=k[a];d.indexLabelTextBlock.x=y.x+q*Math.cos(d.midAngle);d.indexLabelTextBlock.y=y.y+q*Math.sin(d.midAngle);d.indexLabelAngle=d.midAngle;d.radius=x;d.percentInnerRadius=F}for(var A,l,a=0;a<n.length;a++){var d=k[a],v=e(a);if(null!==v){A=k[a];l=k[v];var z=0,z=b(A,l)-t;if(0>z){for(var C=l=0,ua=0;ua<n.length;ua++)ua!==a&&k[ua].hemisphere===d.hemisphere&&(k[ua].indexLabelTextBlock.y<d.indexLabelTextBlock.y?l++:C++);l=z/(l+C||
508
+ 1)*C;var C=-1*(z-l),L=ua=0;"right"===d.hemisphere?(ua=h(a,l),C=-1*(z-ua),L=h(v,C),+L.toFixed(E)<+C.toFixed(E)&&+ua.toFixed(E)<=+l.toFixed(E)&&h(a,-(C-L))):(ua=h(v,l),C=-1*(z-ua),L=h(a,C),+L.toFixed(E)<+C.toFixed(E)&&+ua.toFixed(E)<=+l.toFixed(E)&&h(v,-(C-L)))}}}}else for(a=0;a<n.length;a++)d=k[a],q="pie"===m.type?0.7*x:0.85*x,v=y.x+q*Math.cos(d.midAngle),l=y.y+q*Math.sin(d.midAngle),d.indexLabelTextBlock.x=v,d.indexLabelTextBlock.y=l;for(a=0;a<n.length;a++)if(d=k[a],v=d.indexLabelTextBlock.measureText(),
509
+ 0!==v.height&&0!==v.width)v=v=0,"right"===d.hemisphere?(v=s.x2-(d.indexLabelTextBlock.x+d.indexLabelTextBlock.width+p),v*=-1):v=s.x1-(d.indexLabelTextBlock.x-d.indexLabelTextBlock.width-p),0<v&&(!g&&d.indexLabelText&&(l="right"===d.hemisphere?s.x2-d.indexLabelTextBlock.x:d.indexLabelTextBlock.x-s.x1,0.3*d.indexLabelTextBlock.maxWidth>l?d.indexLabelText="":d.indexLabelTextBlock.maxWidth=0.85*l,0.3*d.indexLabelTextBlock.maxWidth<l&&(d.indexLabelTextBlock.x-="right"===d.hemisphere?2:-2)),Math.abs(d.indexLabelTextBlock.y-
510
+ d.indexLabelTextBlock.height/2-y.y)<x||Math.abs(d.indexLabelTextBlock.y+d.indexLabelTextBlock.height/2-y.y)<x)&&(v/=Math.abs(Math.cos(d.indexLabelAngle)),9<v&&(v*=0.3),v>f&&(f=v)),v=v=0,0<d.indexLabelAngle&&d.indexLabelAngle<Math.PI?(v=s.y2-(d.indexLabelTextBlock.y+d.indexLabelTextBlock.height/2+5),v*=-1):v=s.y1-(d.indexLabelTextBlock.y-d.indexLabelTextBlock.height/2-5),0<v&&(!g&&d.indexLabelText&&(l=0<d.indexLabelAngle&&d.indexLabelAngle<Math.PI?-1:1,0===h(a,v*l)&&h(a,2*l)),Math.abs(d.indexLabelTextBlock.x-
511
+ y.x)<x&&(v/=Math.abs(Math.sin(d.indexLabelAngle)),9<v&&(v*=0.3),v>f&&(f=v)));var na=function(a,b,c){for(var f=[],e=0;f.push(k[b]),b!==c;b=(b+1+n.length)%n.length);f.sort(function(a,b){return a.y-b.y});for(b=0;b<f.length;b++)if(c=f[b],e<0.7*a)e+=c.indexLabelTextBlock.height,c.indexLabelTextBlock.text="",c.indexLabelText="",c.indexLabelTextBlock.measureText();else break};(function(){for(var a=-1,c=-1,f=0,h=!1,g=0;g<n.length;g++)if(h=!1,A=k[g],A.indexLabelText){var d=e(g);if(null!==d){var m=k[d];z=0;
512
+ z=b(A,m);var s;if(s=0>z){s=A.indexLabelTextBlock.x;var r=A.indexLabelTextBlock.y-A.indexLabelTextBlock.height/2,l=A.indexLabelTextBlock.y+A.indexLabelTextBlock.height/2,u=m.indexLabelTextBlock.y-m.indexLabelTextBlock.height/2,v=m.indexLabelTextBlock.x+m.indexLabelTextBlock.width,t=m.indexLabelTextBlock.y+m.indexLabelTextBlock.height/2;s=A.indexLabelTextBlock.x+A.indexLabelTextBlock.width<m.indexLabelTextBlock.x-p||s>v+p||r>t+p||l<u-p?!1:!0}s?(0>a&&(a=g),d!==a&&(c=d,f+=-z),0===g%Math.max(n.length/
513
+ 10,3)&&(h=!0)):h=!0;h&&(0<f&&0<=a&&0<=c)&&(na(f,a,c),c=a=-1,f=0)}}0<f&&na(f,a,c)})()}}function l(){u.plotArea.layoutManager.reset();u.title&&(u.title.dockInsidePlotArea||"center"===u.title.horizontalAlign&&"center"===u.title.verticalAlign)&&u.title.render();if(u.subtitles)for(var a=0;a<u.subtitles.length;a++){var b=u.subtitles[a];(b.dockInsidePlotArea||"center"===b.horizontalAlign&&"center"===b.verticalAlign)&&b.render()}u.legend&&(u.legend.dockInsidePlotArea||"center"===u.legend.horizontalAlign&&
514
+ "center"===u.legend.verticalAlign)&&(u.legend.setLayout(),u.legend.render())}var u=this;if(!(0>=a.dataSeriesIndexes.length)){var m=this.data[a.dataSeriesIndexes[0]],n=m.dataPoints,p=10,s=this.plotArea,k=m.dataPointEOs,t=2,q,B=1.3,v=20/180*Math.PI,E=6,y={x:(s.x2+s.x1)/2,y:(s.y2+s.y1)/2},z=0;a=!1;for(var C=0;C<n.length;C++)z+=Math.abs(n[C].y),!a&&("undefined"!==typeof n[C].indexLabel&&null!==n[C].indexLabel&&0<n[C].indexLabel.toString().length)&&(a=!0),!a&&("undefined"!==typeof n[C].label&&null!==n[C].label&&
515
+ 0<n[C].label.toString().length)&&(a=!0);if(0!==z){a=a||"undefined"!==typeof m.indexLabel&&null!==m.indexLabel&&0<m.indexLabel.toString().length;var x="inside"!==m.indexLabelPlacement&&a?0.75*Math.min(s.width,s.height)/2:0.92*Math.min(s.width,s.height)/2;m.radius&&(x=Wa(m.radius,x));var D="undefined"!==typeof m.innerRadius&&null!==m.innerRadius?Wa(m.innerRadius,x):0.7*x;m.radius=x;"doughnut"===m.type&&(m.innerRadius=D);var F=Math.min(D/x,(x-1)/x);this.pieDoughnutClickHandler=function(a){u.isAnimating||
516
+ !g(a.dataSeries.explodeOnClick)&&!a.dataSeries.explodeOnClick||(a=a.dataPoint,a.exploded=a.exploded?!1:!0,1<this.dataPoints.length&&u._animator.animate(0,500,function(a){c(a);l();u.dispatchEvent("dataAnimationIterationEnd",{chart:u});u.dispatchEvent("dataAnimationEnd",{chart:u})}))};f();r();r();r();r();this.disableToolTip=!0;this._animator.animate(0,this.animatedRender?this.animationDuration:0,function(a){var b=u.plotArea.ctx;b.clearRect(s.x1,s.y1,s.width,s.height);b.fillStyle=u.backgroundColor;b.fillRect(s.x1,
517
+ s.y1,s.width,s.height);for(var b=k[0].startAngle+2*Math.PI*a,c=0;c<n.length;c++){var f=0===c?k[c].startAngle:e,e=f+(k[c].endAngle-k[c].startAngle),h=!1;e>b&&(e=b,h=!0);var g=n[c].color?n[c].color:m._colorSet[c%m._colorSet.length];e>f&&d(u.plotArea.ctx,k[c].center,k[c].radius,g,m.type,f,e,m.fillOpacity,k[c].percentInnerRadius);if(h)break}l();u.dispatchEvent("dataAnimationIterationEnd",{chart:u});1<=a&&u.dispatchEvent("dataAnimationEnd",{chart:u})},function(){u.disableToolTip=!1;u._animator.animate(0,
518
+ u.animatedRender?500:0,function(a){c(a);l();u.dispatchEvent("dataAnimationIterationEnd",{chart:u})});u.dispatchEvent("dataAnimationEnd",{chart:u})})}}};var r=function(a,f,c,b){"undefined"===typeof c&&(c=1);0>=Math.round(f.y4-f.y1)||(a.save(),a.globalAlpha=c,a.beginPath(),a.moveTo(Math.round(f.x1),Math.round(f.y1)),a.lineTo(Math.round(f.x2),Math.round(f.y2)),a.lineTo(Math.round(f.x3),Math.round(f.y3)),a.lineTo(Math.round(f.x4),Math.round(f.y4)),"undefined"!==f.x5&&(a.lineTo(Math.round(f.x5),Math.round(f.y5)),
519
+ a.lineTo(Math.round(f.x6),Math.round(f.y6))),a.closePath(),a.fillStyle=b?b:f.color,a.fill(),a.globalAplha=1,a.restore())};t.prototype.renderFunnel=function(a){function f(){for(var a=0,b=[],c=0;c<E.length;c++){if("undefined"===typeof E[c].y)return-1;E[c].y="number"===typeof E[c].y?E[c].y:0;a+=Math.abs(E[c].y)}if(0===a)return-1;for(c=b[0]=0;c<E.length;c++)b.push(Math.abs(E[c].y)*D/a);return b}function c(){var a=Y,b=Z,c=T,f=$,e,h;e=O;h=M-P;f=Math.abs((h-e)*(b-a+(f-c))/2);c=$-T;e=h-e;h=c*(h-M);h=Math.abs(h);
520
+ h=f+h;for(var f=[],k=0,g=0;g<E.length;g++){if("undefined"===typeof E[g].y)return-1;E[g].y="number"===typeof E[g].y?E[g].y:0;k+=Math.abs(E[g].y)}if(0===k)return-1;for(var d=f[0]=0,m=0,n,p,b=b-a,d=!1,g=0;g<E.length;g++)a=Math.abs(E[g].y)*h/k,d?n=0==Number(c.toFixed(3))?0:a/c:(p=ha*ha*b*b-4*Math.abs(ha)*a,0>p?(p=c,d=(b+p)*(e-m)/2,a-=d,n=e-m,m+=e-m,n+=0==p?0:a/p,m+=a/p,d=!0):(n=(Math.abs(ha)*b-Math.sqrt(p))/2,p=b-2*n/Math.abs(ha),m+=n,m>e&&(m-=n,p=c,d=(b+p)*(e-m)/2,a-=d,n=e-m,m+=e-m,n+=a/p,m+=a/p,d=!0),
521
+ b=p)),f.push(n);return f}function b(){if(v&&E){for(var a,b,c,f,e,h,d,m,n,p,s,r,A,l,u,t=[],w=[],B={percent:null,total:null},y=null,H=0;H<E.length;H++)u=U[H],u="undefined"!==typeof u.x5?(u.y2+u.y4)/2:(u.y2+u.y3)/2,u=k(u).x2+1,t[H]=Q-u-V;u=0.5*V;for(var H=0,x=E.length-1;H<E.length||0<=x;H++,x--){b=v.reversed?E[x]:E[H];a=b.color?b.color:v.reversed?v._colorSet[(E.length-1-H)%v._colorSet.length]:v._colorSet[H%v._colorSet.length];c=b.indexLabelPlacement||v.indexLabelPlacement||"outside";l=b.indexLabelTextAlign||
522
+ v.indexLabelTextAlign||"left";f=b.indexLabelBackgroundColor||v.indexLabelBackgroundColor||(q?"transparent":null);e=b.indexLabelFontColor||v.indexLabelFontColor||"#979797";h=g(b.indexLabelFontSize)?v.indexLabelFontSize:b.indexLabelFontSize;d=b.indexLabelFontStyle||v.indexLabelFontStyle||"normal";m=b.indexLabelFontFamily||v.indexLabelFontFamily||"arial";n=b.indexLabelFontWeight||v.indexLabelFontWeight||"normal";a=b.indexLabelLineColor||v.options.indexLabelLineColor||a;p="number"===typeof b.indexLabelLineThickness?
523
+ b.indexLabelLineThickness:"number"===typeof v.indexLabelLineThickness?v.indexLabelLineThickness:2;s=b.indexLabelLineDashType||v.indexLabelLineDashType||"solid";r="undefined"!==typeof b.indexLabelWrap?b.indexLabelWrap:"undefined"!==typeof v.indexLabelWrap?v.indexLabelWrap:!0;A=v.dataPointIds[H];z._eventManager.objectMap[A]={id:A,objectType:"dataPoint",dataPointIndex:H,dataSeriesIndex:0,funnelSection:U[v.reversed?E.length-1-H:H]};"inside"===v.indexLabelPlacement&&(t[H]=H!==da?v.reversed?U[H].x2-U[H].x1:
524
+ U[H].x3-U[H].x4:U[H].x3-U[H].x6,20>t[H]&&(t[H]=H!==da?v.reversed?U[H].x3-U[H].x4:U[H].x2-U[H].x1:U[H].x2-U[H].x1,t[H]/=2));A=b.indexLabelMaxWidth?b.indexLabelMaxWidth:v.options.indexLabelMaxWidth?v.indexLabelMaxWidth:t[H];if(A>t[H]||0>A)A=t[H];w[H]="inside"===v.indexLabelPlacement?r?Math.max(U[H].height,h):1.5*h:!1;B=z.getPercentAndTotal(v,b);if(v.indexLabelFormatter||b.indexLabelFormatter)y={chart:z.options,dataSeries:v,dataPoint:b,total:B.total,percent:B.percent};b=b.indexLabelFormatter?b.indexLabelFormatter(y):
525
+ b.indexLabel?z.replaceKeywordsWithValue(b.indexLabel,b,v,H):v.indexLabelFormatter?v.indexLabelFormatter(y):v.indexLabel?z.replaceKeywordsWithValue(v.indexLabel,b,v,H):b.label?b.label:"";0>=p&&(p=0);1E3>A&&1E3-A<u&&(A+=1E3-A);N.roundRect||Ea(N);c=new ma(N,{fontSize:h,fontFamily:m,fontColor:e,fontStyle:d,fontWeight:n,horizontalAlign:c,textAlign:l,backgroundColor:f,maxWidth:A,maxHeight:!1===w[H]?r?4.28571429*h:1.5*h:w[H],text:b,padding:ia,textBaseline:"middle"});c.measureText();K.push({textBlock:c,id:v.reversed?
526
+ x:H,isDirty:!1,lineColor:a,lineThickness:p,lineDashType:s,height:c.height<c.maxHeight?c.height:c.maxHeight,width:c.width<c.maxWidth?c.width:c.maxWidth})}}}function e(){var a,b,c,f,e,h=[];e=!1;c=0;for(var k,g=Q-Z-V/2,g=v.options.indexLabelMaxWidth?v.indexLabelMaxWidth>g?g:v.indexLabelMaxWidth:g,d=K.length-1;0<=d;d--){k=E[K[d].id];c=K[d];f=c.textBlock;b=(a=s(d)<U.length?K[s(d)]:null)?a.textBlock:null;c=c.height;a&&f.y+c+ia>b.y&&(e=!0);c=k.indexLabelMaxWidth||g;if(c>g||0>c)c=g;h.push(c)}if(e)for(d=K.length-
527
+ 1;0<=d;d--)a=U[d],K[d].textBlock.maxWidth=h[h.length-(d+1)],K[d].textBlock.measureText(),K[d].textBlock.x=Q-g,c=K[d].textBlock.height<K[d].textBlock.maxHeight?K[d].textBlock.height:K[d].textBlock.maxHeight,e=K[d].textBlock.width<K[d].textBlock.maxWidth?K[d].textBlock.width:K[d].textBlock.maxWidth,K[d].height=c,K[d].width=e,c="undefined"!==typeof a.x5?(a.y2+a.y4)/2:(a.y2+a.y3)/2,K[d].textBlock.y=c-K[d].height/2,v.reversed?(K[d].textBlock.y+K[d].height>S+x&&(K[d].textBlock.y=S+x-K[d].height),K[d].textBlock.y<
528
+ aa-x&&(K[d].textBlock.y=aa-x)):(K[d].textBlock.y<S-x&&(K[d].textBlock.y=S-x),K[d].textBlock.y+K[d].height>aa+x&&(K[d].textBlock.y=aa+x-K[d].height))}function h(){var a,b,c,f;if("inside"!==v.indexLabelPlacement)for(var e=0;e<U.length;e++)0==K[e].textBlock.text.length?K[e].isDirty=!0:(a=U[e],c="undefined"!==typeof a.x5?(a.y2+a.y4)/2:(a.y2+a.y3)/2,b=v.reversed?"undefined"!==typeof a.x5?c>ea?k(c).x2+1:(a.x2+a.x3)/2+1:(a.x2+a.x3)/2+1:"undefined"!==typeof a.x5?c<ea?k(c).x2+1:(a.x4+a.x3)/2+1:(a.x2+a.x3)/
529
+ 2+1,K[e].textBlock.x=b+V,K[e].textBlock.y=c-K[e].height/2,v.reversed?(K[e].textBlock.y+K[e].height>S+x&&(K[e].textBlock.y=S+x-K[e].height),K[e].textBlock.y<aa-x&&(K[e].textBlock.y=aa-x)):(K[e].textBlock.y<S-x&&(K[e].textBlock.y=S-x),K[e].textBlock.y+K[e].height>aa+x&&(K[e].textBlock.y=aa+x-K[e].height)));else for(e=0;e<U.length;e++)0==K[e].textBlock.text.length?K[e].isDirty=!0:(a=U[e],b=a.height,c=K[e].height,f=K[e].width,b>=c?(b=e!=da?(a.x4+a.x3)/2-f/2:(a.x5+a.x4)/2-f/2,c=e!=da?(a.y1+a.y3)/2-c/2:
530
+ (a.y1+a.y4)/2-c/2,K[e].textBlock.x=b,K[e].textBlock.y=c):K[e].isDirty=!0)}function d(){function a(b,c){var f;if(0>b||b>=K.length)return 0;var e,h=K[b].textBlock;if(0>c){c*=-1;e=p(b);f=l(e,b);if(f>=c)return h.y-=c,c;if(0==b)return 0<f&&(h.y-=f),f;f+=a(e,-(c-f));0<f&&(h.y-=f);return f}e=s(b);f=l(b,e);if(f>=c)return h.y+=c,c;if(b==U.length-1)return 0<f&&(h.y+=f),f;f+=a(e,c-f);0<f&&(h.y+=f);return f}function b(){var a,f,e,h,k=0,d;h=(M-O+2*x)/n;d=n;for(var g,m=1;m<d;m++){e=m*h;for(var r=K.length-1;0<=
531
+ r;r--)!K[r].isDirty&&(K[r].textBlock.y<e&&K[r].textBlock.y+K[r].height>e)&&(g=s(r),!(g>=K.length-1)&&K[r].textBlock.y+K[r].height+ia>K[g].textBlock.y&&(K[r].textBlock.y=K[r].textBlock.y+K[r].height-e>e-K[r].textBlock.y?e+1:e-K[r].height-1))}for(g=U.length-1;0<g;g--)if(!K[g].isDirty){e=p(g);if(0>e&&(e=0,K[e].isDirty))break;if(K[g].textBlock.y<K[e].textBlock.y+K[e].height){f=f||g;h=g;for(d=0;K[h].textBlock.y<K[e].textBlock.y+K[e].height+ia;){a=a||K[h].textBlock.y+K[h].height;d+=K[h].height;d+=ia;h=
532
+ e;if(0>=h){h=0;d+=K[h].height;break}e=p(h);if(0>e){h=0;d+=K[h].height;break}}if(h!=g){k=K[h].textBlock.y;a-=k;a=d-a;k=c(a,f,h);break}}}return k}function c(a,b,f){var e=[],h=0,k=0;for(a=Math.abs(a);f<=b;f++)e.push(U[f]);e.sort(function(a,b){return a.height-b.height});for(f=0;f<e.length;f++)if(b=e[f],h<a)k++,h+=K[b.id].height+ia,K[b.id].textBlock.text="",K[b.id].indexLabelText="",K[b.id].isDirty=!0,K[b.id].textBlock.measureText();else break;return k}for(var f,e,h,k,g,m,n=1,r=0;r<2*n;r++){for(var A=
533
+ K.length-1;0<=A&&!(0<=p(A)&&p(A),h=K[A],k=h.textBlock,m=(g=s(A)<U.length?K[s(A)]:null)?g.textBlock:null,f=+h.height.toFixed(6),e=+k.y.toFixed(6),!h.isDirty&&(g&&e+f+ia>+m.y.toFixed(6))&&(f=k.y+f+ia-m.y,e=a(A,-f),e<f&&(0<e&&(f-=e),e=a(s(A),f),e!=f)));A--);b()}}function l(a,b){return(b<U.length?K[b].textBlock.y:v.reversed?S+x:aa+x)-(0>a?v.reversed?aa-x:S-x:K[a].textBlock.y+K[a].height+ia)}function t(a,b,c){var f,e,k,d=[],g=x,p=[];-1!==b&&(0<=fa.indexOf(b)?(e=fa.indexOf(b),fa.splice(e,1)):(fa.push(b),
534
+ fa=fa.sort(function(a,b){return a-b})));if(0===fa.length)d=oa;else{e=x*(1!=fa.length||0!=fa[0]&&fa[0]!=U.length-1?2:1)/m();for(var s=0;s<U.length;s++){if(1==fa.length&&0==fa[0]){if(0===s){d.push(oa[s]);f=g;continue}}else 0===s&&(f=-1*g);d.push(oa[s]+f);if(0<=fa.indexOf(s)||s<U.length&&0<=fa.indexOf(s+1))f+=e}}k=function(){for(var a=[],b=0;b<U.length;b++)a.push(d[b]-U[b].y1);return a}();var A={startTime:(new Date).getTime(),duration:c||500,easingFunction:function(a,b,c,f){return u.easing.easeOutQuart(a,
535
+ b,c,f)},changeSection:function(a){for(var b,c,f=0;f<U.length;f++)b=k[f],c=U[f],b*=a,"undefined"===typeof p[f]&&(p[f]=0),0>p&&(p*=-1),c.y1+=b-p[f],c.y2+=b-p[f],c.y3+=b-p[f],c.y4+=b-p[f],c.y5&&(c.y5+=b-p[f],c.y6+=b-p[f]),p[f]=b}};a._animator.animate(0,c,function(c){var f=a.plotArea.ctx||a.ctx;qa=!0;f.clearRect(y.x1,y.y1,y.x2-y.x1,y.y2-y.y1);f.fillStyle=a.backgroundColor;f.fillRect(y.x1,y.y1,y.width,y.height);A.changeSection(c,b);var e={};e.dataSeries=v;e.dataPoint=v.reversed?v.dataPoints[E.length-1-
536
+ b]:v.dataPoints[b];e.index=v.reversed?E.length-1-b:b;a.toolTip.highlightObjects([e]);for(e=0;e<U.length;e++)r(f,U[e],v.fillOpacity);B(f);L&&("inside"!==v.indexLabelPlacement?n(f):h(),w(f));1<=c&&(qa=!1)},null,u.easing.easeOutQuart)}function m(){for(var a=0,b=0;b<U.length-1;b++)(0<=fa.indexOf(b)||0<=fa.indexOf(b+1))&&a++;return a}function n(a){for(var b,c,f,e,h=0;h<U.length;h++)e=1===K[h].lineThickness%2?0.5:0,c=((U[h].y2+U[h].y4)/2<<0)+e,b=k(c).x2-1,f=K[h].textBlock.x,e=(K[h].textBlock.y+K[h].height/
537
+ 2<<0)+e,K[h].isDirty||0==K[h].lineThickness||(a.strokeStyle=K[h].lineColor,a.lineWidth=K[h].lineThickness,a.setLineDash&&a.setLineDash(R(K[h].lineDashType,K[h].lineThickness)),a.beginPath(),a.moveTo(b,c),a.lineTo(f,e),a.stroke())}function p(a){for(a-=1;-1<=a&&-1!=a&&K[a].isDirty;a--);return a}function s(a){for(a+=1;a<=U.length&&a!=U.length&&K[a].isDirty;a++);return a}function k(a){for(var b,c=0;c<E.length;c++)if(U[c].y1<a&&U[c].y4>a){b=U[c];break}return b?(a=b.y6?a>b.y6?b.x3+(b.x4-b.x3)/(b.y4-b.y3)*
538
+ (a-b.y3):b.x2+(b.x3-b.x2)/(b.y3-b.y2)*(a-b.y2):b.x2+(b.x3-b.x2)/(b.y3-b.y2)*(a-b.y2),{x1:a,x2:a}):-1}function w(a){for(var b=0;b<U.length;b++)K[b].isDirty||(a&&(K[b].textBlock.ctx=a),K[b].textBlock.y+=K[b].textBlock._lineHeight/2,K[b].textBlock.render(!0),K[b].textBlock.y-=K[b].textBlock._lineHeight/2)}function B(a){z.plotArea.layoutManager.reset();a.roundRect||Ea(a);z.title&&(z.title.dockInsidePlotArea||"center"===z.title.horizontalAlign&&"center"===z.title.verticalAlign)&&(z.title.ctx=a,z.title.render());
539
+ if(z.subtitles)for(var b=0;b<z.subtitles.length;b++){var c=z.subtitles[b];if(c.dockInsidePlotArea||"center"===c.horizontalAlign&&"center"===c.verticalAlign)z.subtitles.ctx=a,c.render()}z.legend&&(z.legend.dockInsidePlotArea||"center"===z.legend.horizontalAlign&&"center"===z.legend.verticalAlign)&&(z.legend.ctx=a,z.legend.setLayout(),z.legend.render());Ca.fNg&&Ca.fNg(z)}var z=this;if(!(0>=a.dataSeriesIndexes.length)){for(var v=this.data[a.dataSeriesIndexes[0]],E=v.dataPoints,y=this.plotArea,x=0.025*
540
+ y.width,C=0.01*y.width,G=0,D=y.height-2*x,F=Math.min(y.width-2*C,2.8*y.height),L=!1,J=0;J<E.length;J++)if(!L&&("undefined"!==typeof E[J].indexLabel&&null!==E[J].indexLabel&&0<E[J].indexLabel.toString().length)&&(L=!0),!L&&("undefined"!==typeof E[J].label&&null!==E[J].label&&0<E[J].label.toString().length)&&(L=!0),!L&&"function"===typeof v.indexLabelFormatter||"function"===typeof E[J].indexLabelFormatter)L=!0;L=L||"undefined"!==typeof v.indexLabel&&null!==v.indexLabel&&0<v.indexLabel.toString().length;
541
+ "inside"!==v.indexLabelPlacement&&L||(C=(y.width-0.75*F)/2);var J=y.x1+C,Q=y.x2-C,O=y.y1+x,M=y.y2-x,N=a.targetCanvasCtx||this.plotArea.ctx||this.ctx;if(0!=v.length&&(v.dataPoints&&v.visible)&&0!==E.length){var P,I;a=75*F/100;var V=30*(Q-a)/100;"funnel"===v.type?(P=g(v.options.neckHeight)?0.35*D:v.neckHeight,I=g(v.options.neckWidth)?0.25*a:v.neckWidth,"string"===typeof P&&P.match(/%$/)?(P=parseInt(P),P=P*D/100):P=parseInt(P),"string"===typeof I&&I.match(/%$/)?(I=parseInt(I),I=I*a/100):I=parseInt(I),
542
+ P>D?P=D:0>=P&&(P=0),I>a?I=a-0.5:0>=I&&(I=0)):"pyramid"===v.type&&(I=P=0,v.reversed=v.reversed?!1:!0);var C=J+a/2,Y=J,Z=J+a,S=v.reversed?M:O,T=C-I/2,$=C+I/2,ea=v.reversed?O+P:M-P,aa=v.reversed?O:M;a=[];var C=[],U=[],F=[],W=O,da,ha=(ea-S)/(T-Y),ja=-ha,J="area"===(v.valueRepresents?v.valueRepresents:"height")?c():f();if(-1!==J){if(v.reversed)for(F.push(W),I=J.length-1;0<I;I--)W+=J[I],F.push(W);else for(I=0;I<J.length;I++)W+=J[I],F.push(W);if(v.reversed)for(I=0;I<J.length;I++)F[I]<ea?(a.push(T),C.push($),
543
+ da=I):(a.push((F[I]-S+ha*Y)/ha),C.push((F[I]-S+ja*Z)/ja));else for(I=0;I<J.length;I++)F[I]<ea?(a.push((F[I]-S+ha*Y)/ha),C.push((F[I]-S+ja*Z)/ja),da=I):(a.push(T),C.push($));for(I=0;I<J.length-1;I++)W=v.reversed?E[E.length-1-I].color?E[E.length-1-I].color:v._colorSet[(E.length-1-I)%v._colorSet.length]:E[I].color?E[I].color:v._colorSet[I%v._colorSet.length],I===da?U.push({x1:a[I],y1:F[I],x2:C[I],y2:F[I],x3:$,y3:ea,x4:C[I+1],y4:F[I+1],x5:a[I+1],y5:F[I+1],x6:T,y6:ea,id:I,height:F[I+1]-F[I],color:W}):
544
+ U.push({x1:a[I],y1:F[I],x2:C[I],y2:F[I],x3:C[I+1],y3:F[I+1],x4:a[I+1],y4:F[I+1],id:I,height:F[I+1]-F[I],color:W});var ia=2,K=[],qa=!1,fa=[],oa=[],J=!1;a=a=0;Fa(fa);for(I=0;I<E.length;I++)E[I].exploded&&(J=!0,v.reversed?fa.push(E.length-1-I):fa.push(I));N.clearRect(y.x1,y.y1,y.width,y.height);N.fillStyle=z.backgroundColor;N.fillRect(y.x1,y.y1,y.width,y.height);if(L&&v.visible&&(b(),h(),e(),"inside"!==v.indexLabelPlacement)){d();for(I=0;I<E.length;I++)K[I].isDirty||(a=K[I].textBlock.x+K[I].width,a=
545
+ (Q-a)/2,0==I&&(G=a),G>a&&(G=a));for(I=0;I<U.length;I++)U[I].x1+=G,U[I].x2+=G,U[I].x3+=G,U[I].x4+=G,U[I].x5&&(U[I].x5+=G,U[I].x6+=G),K[I].textBlock.x+=G}for(I=0;I<U.length;I++)G=U[I],r(N,G,v.fillOpacity),oa.push(G.y1);B(N);L&&v.visible&&("inside"===v.indexLabelPlacement||z.animationEnabled||n(N),z.animationEnabled||w());if(!L)for(I=0;I<E.length;I++)G=v.dataPointIds[I],a={id:G,objectType:"dataPoint",dataPointIndex:I,dataSeriesIndex:0,funnelSection:U[v.reversed?E.length-1-I:I]},z._eventManager.objectMap[G]=
546
+ a;!z.animationEnabled&&J?t(z,-1,0):z.animationEnabled&&!z.animatedRender&&t(z,-1,0);this.funnelPyramidClickHandler=function(a){var b=-1;if(!qa&&!z.isAnimating&&(g(a.dataSeries.explodeOnClick)||a.dataSeries.explodeOnClick)&&(b=v.reversed?E.length-1-a.dataPointIndex:a.dataPointIndex,0<=b)){a=b;if("funnel"===v.type||"pyramid"===v.type)v.reversed?E[E.length-1-a].exploded=E[E.length-1-a].exploded?!1:!0:E[a].exploded=E[a].exploded?!1:!0;t(z,b,500)}};return{source:N,dest:this.plotArea.ctx,animationCallback:function(a,
547
+ b){u.fadeInAnimation(a,b);1<=a&&(t(z,-1,500),B(z.plotArea.ctx||z.ctx))},easingFunction:u.easing.easeInQuad,animationBase:0}}}}};t.prototype.requestAnimFrame=function(){return window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(a){window.setTimeout(a,1E3/60)}}();t.prototype.cancelRequestAnimFrame=window.cancelAnimationFrame||window.webkitCancelRequestAnimationFrame||window.mozCancelRequestAnimationFrame||
548
+ window.oCancelRequestAnimationFrame||window.msCancelRequestAnimationFrame||clearTimeout;t.prototype.set=function(a,f,c){c="undefined"===typeof c?!0:c;"options"===a?(this.options=f,c&&this.render()):t.base.set.call(this,a,f,c)};t.prototype.exportChart=function(a){a="undefined"===typeof a?{}:a;var f=a.format?a.format:"png",c=a.fileName?a.fileName:this.exportFileName;if(a.toDataURL)return this.canvas.toDataURL("image/"+f);eb(this.canvas,f,c)};t.prototype.print=function(){var a=this.exportChart({toDataURL:!0}),
549
+ f=document.createElement("iframe");f.setAttribute("class","canvasjs-chart-print-frame");M(f,{position:"absolute",width:"100%",border:"0px",margin:"0px 0px 0px 0px",padding:"0px 0px 0px 0px"});f.style.height=this.height+"px";this._canvasJSContainer.appendChild(f);var c=this,b=f.contentWindow||f.contentDocument.document||f.contentDocument;b.document.open();b.document.write('<!DOCTYPE HTML>\n<html><body><img src="'+a+'"/><body/></html>');b.document.body&&b.document.body.style&&(b.document.body.style.margin=
550
+ "0px 0px 0px 0px",b.document.body.style.padding="0px 0px 0px 0px");b.document.close();setTimeout(function(){b.focus();b.print();setTimeout(function(){c._canvasJSContainer.removeChild(f)},1E3)},500)};t.prototype.getPercentAndTotal=function(a,f){var c=null,b=null,e=c=null;if(0<=a.type.indexOf("stacked"))b=0,c=f.x.getTime?f.x.getTime():f.x,c in a.plotUnit.yTotals&&(b=a.plotUnit.yTotals[c],c=a.plotUnit.yAbsTotals[c],e=isNaN(f.y)?0:0===c?0:100*(f.y/c));else if("pie"===a.type||"doughnut"===a.type||"funnel"===
551
+ a.type||"pyramid"===a.type){for(c=b=0;c<a.dataPoints.length;c++)isNaN(a.dataPoints[c].y)||(b+=a.dataPoints[c].y);e=isNaN(f.y)?0:100*(f.y/b)}return{percent:e,total:b}};t.prototype.replaceKeywordsWithValue=function(a,f,c,b,e){var h=this;e="undefined"===typeof e?0:e;if((0<=c.type.indexOf("stacked")||"pie"===c.type||"doughnut"===c.type||"funnel"===c.type||"pyramid"===c.type)&&(0<=a.indexOf("#percent")||0<=a.indexOf("#total"))){var d="#percent",g="#total",r=this.getPercentAndTotal(c,f),g=isNaN(r.total)?
552
+ g:r.total,d=isNaN(r.percent)?d:r.percent;do{r="";if(c.percentFormatString)r=c.percentFormatString;else{var r="#,##0.",m=Math.max(Math.ceil(Math.log(1/Math.abs(d))/Math.LN10),2);if(isNaN(m)||!isFinite(m))m=2;for(var n=0;n<m;n++)r+="#";c.percentFormatString=r}a=a.replace("#percent",aa(d,r,h._cultureInfo));a=a.replace("#total",aa(g,c.yValueFormatString?c.yValueFormatString:"#,##0.########",h._cultureInfo))}while(0<=a.indexOf("#percent")||0<=a.indexOf("#total"))}return a.replace(/\{.*?\}|"[^"]*"|'[^']*'/g,
553
+ function(a){if('"'===a[0]&&'"'===a[a.length-1]||"'"===a[0]&&"'"===a[a.length-1])return a.slice(1,a.length-1);a=Qa(a.slice(1,a.length-1));a=a.replace("#index",e);var d=null;try{var k=a.match(/(.*?)\s*\[\s*(.*?)\s*\]/);k&&0<k.length&&(d=Qa(k[2]),a=Qa(k[1]))}catch(g){}k=null;if("color"===a)return"waterfall"===c.type?f.color?f.color:0<f.y?c.risingColor:c.fallingColor:"error"===c.type?c.color?c.color:c._colorSet[d%c._colorSet.length]:f.color?f.color:c.color?c.color:c._colorSet[b%c._colorSet.length];if(f.hasOwnProperty(a))k=
554
+ f;else if(c.hasOwnProperty(a))k=c;else return"";k=k[a];null!==d&&(k=k[d]);return"x"===a?(c.axisX&&"dateTime"===c.axisX.valueType||"dateTime"===c.xValueType||f.x&&f.x.getTime)&&!c.axisX.logarithmic?fa(k,f.xValueFormatString?f.xValueFormatString:c.xValueFormatString?c.xValueFormatString:c.xValueFormatString=h.axisX&&h.axisX.autoValueFormatString?h.axisX.autoValueFormatString:"DD MMM YY",h._cultureInfo):aa(k,f.xValueFormatString?f.xValueFormatString:c.xValueFormatString?c.xValueFormatString:c.xValueFormatString=
555
+ "#,##0.########",h._cultureInfo):"y"===a?aa(k,f.yValueFormatString?f.yValueFormatString:c.yValueFormatString?c.yValueFormatString:c.yValueFormatString="#,##0.########",h._cultureInfo):"z"===a?aa(k,f.zValueFormatString?f.zValueFormatString:c.zValueFormatString?c.zValueFormatString:c.zValueFormatString="#,##0.########",h._cultureInfo):k})};ha(J,Z);J.prototype.setLayout=function(){var a=this.dockInsidePlotArea?this.chart.plotArea:this.chart,f=a.layoutManager.getFreeSpace(),c=null,b=0,e=0,h=0,d=0,r=this.markerMargin=
556
+ this.chart.options.legend&&!g(this.chart.options.legend.markerMargin)?this.chart.options.legend.markerMargin:0.3*this.fontSize;this.height=0;var l=[],m=[];if("top"===this.verticalAlign||"bottom"===this.verticalAlign)this.orientation="horizontal",c=this.verticalAlign,h=this.maxWidth=null!==this.maxWidth?this.maxWidth:f.width,d=this.maxHeight=null!==this.maxHeight?this.maxHeight:0.5*f.height;else if("center"===this.verticalAlign){this.orientation="vertical";if("left"===this.horizontalAlign||"center"===
557
+ this.horizontalAlign||"right"===this.horizontalAlign)c=this.horizontalAlign;h=this.maxWidth=null!==this.maxWidth?this.maxWidth:0.5*f.width;d=this.maxHeight=null!==this.maxHeight?this.maxHeight:f.height}this.errorMarkerColor=[];for(var n=0;n<this.dataSeries.length;n++){var p=this.dataSeries[n];if(p.dataPoints&&p.dataPoints.length)if("pie"!==p.type&&"doughnut"!==p.type&&"funnel"!==p.type&&"pyramid"!==p.type){var s=p.legendMarkerType=p.legendMarkerType?p.legendMarkerType:"line"!==p.type&&"stepLine"!==
558
+ p.type&&"spline"!==p.type&&"scatter"!==p.type&&"bubble"!==p.type||!p.markerType?"error"===p.type&&p._linkedSeries?p._linkedSeries.legendMarkerType?p._linkedSeries.legendMarkerType:O.getDefaultLegendMarker(p._linkedSeries.type):O.getDefaultLegendMarker(p.type):p.markerType,k=p.legendText?p.legendText:this.itemTextFormatter?this.itemTextFormatter({chart:this.chart,legend:this.options,dataSeries:p,dataPoint:null}):p.name,u=p.legendMarkerColor=p.legendMarkerColor?p.legendMarkerColor:p.markerColor?p.markerColor:
559
+ "error"===p.type?g(p.whiskerColor)?p._colorSet[0]:p.whiskerColor:p._colorSet[0],t=p.markerSize||"line"!==p.type&&"stepLine"!==p.type&&"spline"!==p.type?0.75*this.lineHeight:0,q=p.legendMarkerBorderColor?p.legendMarkerBorderColor:p.markerBorderColor,v=p.legendMarkerBorderThickness?p.legendMarkerBorderThickness:p.markerBorderThickness?Math.max(1,Math.round(0.2*t)):0;"error"===p.type&&this.errorMarkerColor.push(u);k=this.chart.replaceKeywordsWithValue(k,p.dataPoints[0],p,n);s={markerType:s,markerColor:u,
560
+ text:k,textBlock:null,chartType:p.type,markerSize:t,lineColor:p._colorSet[0],dataSeriesIndex:p.index,dataPointIndex:null,markerBorderColor:q,markerBorderThickness:v};l.push(s)}else for(var B=0;B<p.dataPoints.length;B++){var y=p.dataPoints[B],s=y.legendMarkerType?y.legendMarkerType:p.legendMarkerType?p.legendMarkerType:O.getDefaultLegendMarker(p.type),k=y.legendText?y.legendText:p.legendText?p.legendText:this.itemTextFormatter?this.itemTextFormatter({chart:this.chart,legend:this.options,dataSeries:p,
561
+ dataPoint:y}):y.name?y.name:"DataPoint: "+(B+1),u=y.legendMarkerColor?y.legendMarkerColor:p.legendMarkerColor?p.legendMarkerColor:y.color?y.color:p.color?p.color:p._colorSet[B%p._colorSet.length],t=0.75*this.lineHeight,q=y.legendMarkerBorderColor?y.legendMarkerBorderColor:p.legendMarkerBorderColor?p.legendMarkerBorderColor:y.markerBorderColor?y.markerBorderColor:p.markerBorderColor,v=y.legendMarkerBorderThickness?y.legendMarkerBorderThickness:p.legendMarkerBorderThickness?p.legendMarkerBorderThickness:
562
+ y.markerBorderThickness||p.markerBorderThickness?Math.max(1,Math.round(0.2*t)):0,k=this.chart.replaceKeywordsWithValue(k,y,p,B),s={markerType:s,markerColor:u,text:k,textBlock:null,chartType:p.type,markerSize:t,dataSeriesIndex:n,dataPointIndex:B,markerBorderColor:q,markerBorderThickness:v};(y.showInLegend||p.showInLegend&&!1!==y.showInLegend)&&l.push(s)}}!0===this.reversed&&l.reverse();if(0<l.length){p=null;k=y=B=0;y=null!==this.itemWidth?null!==this.itemMaxWidth?Math.min(this.itemWidth,this.itemMaxWidth,
563
+ h):this.itemMaxWidth=Math.min(this.itemWidth,h):null!==this.itemMaxWidth?Math.min(this.itemMaxWidth,h):this.itemMaxWidth=h;t=0===t?0.75*this.lineHeight:t;y=(this.itemMaxWidth?this.itemMaxWidth:y)-(t+r);for(n=0;n<l.length;n++){s=l[n];u=y;if("line"===s.chartType||"spline"===s.chartType||"stepLine"===s.chartType)u-=2*0.1*this.lineHeight;if(!(0>=d||"undefined"===typeof d||0>=u||"undefined"===typeof u))if("horizontal"===this.orientation){s.textBlock=new ma(this.ctx,{x:0,y:0,maxWidth:u,maxHeight:this.itemWrap?
564
+ d:this.lineHeight,angle:0,text:s.text,horizontalAlign:"left",fontSize:this.fontSize,fontFamily:this.fontFamily,fontWeight:this.fontWeight,fontColor:this.fontColor,fontStyle:this.fontStyle,textBaseline:"middle"});s.textBlock.measureText();null!==this.itemWidth&&(s.textBlock.width=this.itemWidth-(t+r+("line"===s.chartType||"spline"===s.chartType||"stepLine"===s.chartType?2*0.1*this.lineHeight:0)));if(!p||p.width+Math.round(s.textBlock.width+t+r+(0===p.width?0:this.horizontalSpacing)+("line"===s.chartType||
565
+ "spline"===s.chartType||"stepLine"===s.chartType?2*0.1*this.lineHeight:0))>h)p={items:[],width:0},m.push(p),this.height+=k,k=0;k=Math.max(k,s.textBlock.height?s.textBlock.height:this.lineHeight);s.textBlock.x=p.width;s.textBlock.y=0;p.width+=Math.round(s.textBlock.width+t+r+(0===p.width?0:this.horizontalSpacing)+("line"===s.chartType||"spline"===s.chartType||"stepLine"===s.chartType?2*0.1*this.lineHeight:0));p.items.push(s);this.width=Math.max(p.width,this.width)}else s.textBlock=new ma(this.ctx,
566
+ {x:0,y:0,maxWidth:y,maxHeight:!0===this.itemWrap?d:1.5*this.fontSize,angle:0,text:s.text,horizontalAlign:"left",fontSize:this.fontSize,fontFamily:this.fontFamily,fontWeight:this.fontWeight,fontColor:this.fontColor,fontStyle:this.fontStyle,textBaseline:"middle"}),s.textBlock.measureText(),null!==this.itemWidth&&(s.textBlock.width=this.itemWidth-(t+r+("line"===s.chartType||"spline"===s.chartType||"stepLine"===s.chartType?2*0.1*this.lineHeight:0))),this.height<d-this.lineHeight?(p={items:[],width:0},
567
+ m.push(p)):(p=m[B],B=(B+1)%m.length),p&&(this.height+=s.textBlock.height?s.textBlock.height:this.lineHeight,s.textBlock.x=p.width,s.textBlock.y=0,p.width+=Math.round(s.textBlock.width+t+r+(0===p.width?0:this.horizontalSpacing)+("line"===s.chartType||"spline"===s.chartType||"stepLine"===s.chartType?2*0.1*this.lineHeight:0)),p.items.push(s),this.width=Math.max(p.width,this.width))}this.height=!1===this.itemWrap?m.length*this.lineHeight:this.height+k;this.height=Math.min(d,this.height);this.width=Math.min(h,
568
+ this.width)}"top"===this.verticalAlign?(e="left"===this.horizontalAlign?f.x1:"right"===this.horizontalAlign?f.x2-this.width:f.x1+f.width/2-this.width/2,b=f.y1):"center"===this.verticalAlign?(e="left"===this.horizontalAlign?f.x1:"right"===this.horizontalAlign?f.x2-this.width:f.x1+f.width/2-this.width/2,b=f.y1+f.height/2-this.height/2):"bottom"===this.verticalAlign&&(e="left"===this.horizontalAlign?f.x1:"right"===this.horizontalAlign?f.x2-this.width:f.x1+f.width/2-this.width/2,b=f.y2-this.height);this.items=
569
+ l;for(n=0;n<this.items.length;n++)s=l[n],s.id=++this.chart._eventManager.lastObjectId,this.chart._eventManager.objectMap[s.id]={id:s.id,objectType:"legendItem",legendItemIndex:n,dataSeriesIndex:s.dataSeriesIndex,dataPointIndex:s.dataPointIndex};this.markerSize=t;this.rows=m;0<l.length&&a.layoutManager.registerSpace(c,{width:this.width+2+2,height:this.height+5+5});this.bounds={x1:e,y1:b,x2:e+this.width,y2:b+this.height}};J.prototype.render=function(){var a=this.bounds.x1,f=this.bounds.y1,c=this.markerMargin,
570
+ b=this.maxWidth,e=this.maxHeight,h=this.markerSize,d=this.rows;(0<this.borderThickness&&this.borderColor||this.backgroundColor)&&this.ctx.roundRect(a,f,this.width,this.height,this.cornerRadius,this.borderThickness,this.backgroundColor,this.borderColor);for(var g=0,r=0;r<d.length;r++){for(var m=d[r],n=0,p=0;p<m.items.length;p++){var s=m.items[p],k=s.textBlock.x+a+(0===p?0.2*h:this.horizontalSpacing),l=f+g,u=k;this.chart.data[s.dataSeriesIndex].visible||(this.ctx.globalAlpha=0.5);this.ctx.save();this.ctx.beginPath();
571
+ this.ctx.rect(a,f,b,Math.max(e-e%this.lineHeight,0));this.ctx.clip();if("line"===s.chartType||"stepLine"===s.chartType||"spline"===s.chartType)this.ctx.strokeStyle=s.lineColor,this.ctx.lineWidth=Math.ceil(this.lineHeight/8),this.ctx.beginPath(),this.ctx.moveTo(k-0.1*this.lineHeight,l+this.lineHeight/2),this.ctx.lineTo(k+0.85*this.lineHeight,l+this.lineHeight/2),this.ctx.stroke(),u-=0.1*this.lineHeight;if("error"===s.chartType){this.ctx.strokeStyle=this.errorMarkerColor[0];this.ctx.lineWidth=h/8;this.ctx.beginPath();
572
+ var t=k-0.08*this.lineHeight+0.1*this.lineHeight,v=l+0.15*this.lineHeight,q=0.7*this.lineHeight,y=q+0.02*this.lineHeight;this.ctx.moveTo(t,v);this.ctx.lineTo(t+q,v);this.ctx.stroke();this.ctx.beginPath();this.ctx.moveTo(t+q/2,v);this.ctx.lineTo(t+q/2,v+y);this.ctx.stroke();this.ctx.beginPath();this.ctx.moveTo(t,v+y);this.ctx.lineTo(t+q,v+y);this.ctx.stroke();this.errorMarkerColor.shift()}B.drawMarker(k+h/2,l+this.lineHeight/2,this.ctx,s.markerType,"error"===s.chartType||"line"===s.chartType||"spline"===
573
+ s.chartType?s.markerSize/2:s.markerSize,s.markerColor,s.markerBorderColor,s.markerBorderThickness);s.textBlock.x=k+c+h;if("line"===s.chartType||"stepLine"===s.chartType||"spline"===s.chartType)s.textBlock.x+=0.1*this.lineHeight;s.textBlock.y=Math.round(l+this.lineHeight/2);s.textBlock.render(!0);this.ctx.restore();n=0<p?Math.max(n,s.textBlock.height?s.textBlock.height:this.lineHeight):s.textBlock.height?s.textBlock.height:this.lineHeight;this.chart.data[s.dataSeriesIndex].visible||(this.ctx.globalAlpha=
574
+ 1);k=V(s.id);this.ghostCtx.fillStyle=k;this.ghostCtx.beginPath();this.ghostCtx.fillRect(u,s.textBlock.y-this.lineHeight/2,s.textBlock.x+s.textBlock.width-u,s.textBlock.height?s.textBlock.height:this.lineHeight);s.x1=this.chart._eventManager.objectMap[s.id].x1=u;s.y1=this.chart._eventManager.objectMap[s.id].y1=s.textBlock.y-this.lineHeight/2;s.x2=this.chart._eventManager.objectMap[s.id].x2=s.textBlock.x+s.textBlock.width;s.y2=this.chart._eventManager.objectMap[s.id].y2=s.textBlock.y+(s.textBlock.height?
575
+ s.textBlock.height:this.lineHeight)-this.lineHeight/2}g+=n}};ha(O,Z);O.prototype.getDefaultAxisPlacement=function(){var a=this.type;if("column"===a||"line"===a||"stepLine"===a||"spline"===a||"area"===a||"stepArea"===a||"splineArea"===a||"stackedColumn"===a||"stackedLine"===a||"bubble"===a||"scatter"===a||"stackedArea"===a||"stackedColumn100"===a||"stackedLine100"===a||"stackedArea100"===a||"candlestick"===a||"ohlc"===a||"rangeColumn"===a||"rangeArea"===a||"rangeSplineArea"===a||"boxAndWhisker"===
576
+ a||"waterfall"===a)return"normal";if("bar"===a||"stackedBar"===a||"stackedBar100"===a||"rangeBar"===a)return"xySwapped";if("pie"===a||"doughnut"===a||"funnel"===a||"pyramid"===a)return"none";"error"!==a&&window.console.log("Unknown Chart Type: "+a);return null};O.getDefaultLegendMarker=function(a){if("column"===a||"stackedColumn"===a||"stackedLine"===a||"bar"===a||"stackedBar"===a||"stackedBar100"===a||"bubble"===a||"scatter"===a||"stackedColumn100"===a||"stackedLine100"===a||"stepArea"===a||"candlestick"===
577
+ a||"ohlc"===a||"rangeColumn"===a||"rangeBar"===a||"rangeArea"===a||"rangeSplineArea"===a||"boxAndWhisker"===a||"waterfall"===a)return"square";if("line"===a||"stepLine"===a||"spline"===a||"pie"===a||"doughnut"===a)return"circle";if("area"===a||"splineArea"===a||"stackedArea"===a||"stackedArea100"===a||"funnel"===a||"pyramid"===a)return"triangle";if("error"===a)return"none";window.console.log("Unknown Chart Type: "+a);return null};O.prototype.getDataPointAtX=function(a,f){if(!this.dataPoints||0===this.dataPoints.length)return null;
578
+ var c={dataPoint:null,distance:Infinity,index:NaN},b=null,e=0,h=0,d=1,g=Infinity,r=0,m=0,n=0;"none"!==this.chart.plotInfo.axisPlacement&&(this.axisX.logarithmic?(n=Math.log(this.dataPoints[this.dataPoints.length-1].x/this.dataPoints[0].x),n=1<n?Math.min(Math.max((this.dataPoints.length-1)/n*Math.log(a/this.dataPoints[0].x)>>0,0),this.dataPoints.length):0):(n=this.dataPoints[this.dataPoints.length-1].x-this.dataPoints[0].x,n=0<n?Math.min(Math.max((this.dataPoints.length-1)/n*(a-this.dataPoints[0].x)>>
579
+ 0,0),this.dataPoints.length):0));for(;;){h=0<d?n+e:n-e;if(0<=h&&h<this.dataPoints.length){var b=this.dataPoints[h],p=this.axisX.logarithmic?b.x>a?b.x/a:a/b.x:Math.abs(b.x-a);p<c.distance&&(c.dataPoint=b,c.distance=p,c.index=h);b=p;b<=g?g=b:0<d?r++:m++;if(1E3<r&&1E3<m)break}else if(0>n-e&&n+e>=this.dataPoints.length)break;-1===d?(e++,d=1):d=-1}return f||(c.dataPoint.x.getTime?c.dataPoint.x.getTime():c.dataPoint.x)!==(a.getTime?a.getTime():a)?f&&null!==c.dataPoint?c:null:c};O.prototype.getDataPointAtXY=
580
+ function(a,f,c){if(!this.dataPoints||0===this.dataPoints.length||a<this.chart.plotArea.x1||a>this.chart.plotArea.x2||f<this.chart.plotArea.y1||f>this.chart.plotArea.y2)return null;c=c||!1;var b=[],e=0,h=0,d=1,r=!1,l=Infinity,m=0,n=0,p=0;if("none"!==this.chart.plotInfo.axisPlacement)if(p=(this.chart.axisX[0]?this.chart.axisX[0]:this.chart.axisX2[0]).getXValueAt({x:a,y:f}),this.axisX.logarithmic)var s=Math.log(this.dataPoints[this.dataPoints.length-1].x/this.dataPoints[0].x),p=1<s?Math.min(Math.max((this.dataPoints.length-
581
+ 1)/s*Math.log(p/this.dataPoints[0].x)>>0,0),this.dataPoints.length):0;else s=this.dataPoints[this.dataPoints.length-1].x-this.dataPoints[0].x,p=0<s?Math.min(Math.max((this.dataPoints.length-1)/s*(p-this.dataPoints[0].x)>>0,0),this.dataPoints.length):0;for(;;){h=0<d?p+e:p-e;if(0<=h&&h<this.dataPoints.length){var s=this.chart._eventManager.objectMap[this.dataPointIds[h]],k=this.dataPoints[h],u=null;if(s){switch(this.type){case "column":case "stackedColumn":case "stackedColumn100":case "bar":case "stackedBar":case "stackedBar100":case "rangeColumn":case "rangeBar":case "waterfall":case "error":a>=
582
+ s.x1&&(a<=s.x2&&f>=s.y1&&f<=s.y2)&&(b.push({dataPoint:k,dataPointIndex:h,dataSeries:this,distance:Math.min(Math.abs(s.x1-a),Math.abs(s.x2-a),Math.abs(s.y1-f),Math.abs(s.y2-f))}),r=!0);break;case "line":case "stepLine":case "spline":case "area":case "stepArea":case "stackedArea":case "stackedArea100":case "splineArea":case "scatter":var t=ra("markerSize",k,this)||4,q=c?20:t,u=Math.sqrt(Math.pow(s.x1-a,2)+Math.pow(s.y1-f,2));u<=q&&b.push({dataPoint:k,dataPointIndex:h,dataSeries:this,distance:u});s=
583
+ Math.abs(s.x1-a);s<=l?l=s:0<d?m++:n++;u<=t/2&&(r=!0);break;case "rangeArea":case "rangeSplineArea":t=ra("markerSize",k,this)||4;q=c?20:t;u=Math.min(Math.sqrt(Math.pow(s.x1-a,2)+Math.pow(s.y1-f,2)),Math.sqrt(Math.pow(s.x1-a,2)+Math.pow(s.y2-f,2)));u<=q&&b.push({dataPoint:k,dataPointIndex:h,dataSeries:this,distance:u});s=Math.abs(s.x1-a);s<=l?l=s:0<d?m++:n++;u<=t/2&&(r=!0);break;case "bubble":t=s.size;u=Math.sqrt(Math.pow(s.x1-a,2)+Math.pow(s.y1-f,2));u<=t/2&&(b.push({dataPoint:k,dataPointIndex:h,dataSeries:this,
584
+ distance:u}),r=!0);break;case "pie":case "doughnut":t=s.center;q="doughnut"===this.type?s.percentInnerRadius*s.radius:0;u=Math.sqrt(Math.pow(t.x-a,2)+Math.pow(t.y-f,2));u<s.radius&&u>q&&(u=Math.atan2(f-t.y,a-t.x),0>u&&(u+=2*Math.PI),u=Number(((180*(u/Math.PI)%360+360)%360).toFixed(12)),t=Number(((180*(s.startAngle/Math.PI)%360+360)%360).toFixed(12)),q=Number(((180*(s.endAngle/Math.PI)%360+360)%360).toFixed(12)),0===q&&1<s.endAngle&&(q=360),t>=q&&(0!==k.y&&!g(k.y))&&(q+=360,u<t&&(u+=360)),u>t&&u<q&&
585
+ (b.push({dataPoint:k,dataPointIndex:h,dataSeries:this,distance:0}),r=!0));break;case "funnel":case "pyramid":u=s.funnelSection;f>u.y1&&f<u.y4&&(u.y6?f>u.y6?(h=u.x6+(u.x5-u.x6)/(u.y5-u.y6)*(f-u.y6),u=u.x3+(u.x4-u.x3)/(u.y4-u.y3)*(f-u.y3)):(h=u.x1+(u.x6-u.x1)/(u.y6-u.y1)*(f-u.y1),u=u.x2+(u.x3-u.x2)/(u.y3-u.y2)*(f-u.y2)):(h=u.x1+(u.x4-u.x1)/(u.y4-u.y1)*(f-u.y1),u=u.x2+(u.x3-u.x2)/(u.y3-u.y2)*(f-u.y2)),a>h&&a<u&&(b.push({dataPoint:k,dataPointIndex:s.dataPointIndex,dataSeries:this,distance:0}),r=!0));
586
+ break;case "boxAndWhisker":if(a>=s.x1-s.borderThickness/2&&a<=s.x2+s.borderThickness/2&&f>=s.y4-s.borderThickness/2&&f<=s.y1+s.borderThickness/2||Math.abs(s.x2-a+s.x1-a)<s.borderThickness&&f>=s.y1&&f<=s.y4)b.push({dataPoint:k,dataPointIndex:h,dataSeries:this,distance:Math.min(Math.abs(s.x1-a),Math.abs(s.x2-a),Math.abs(s.y2-f),Math.abs(s.y3-f))}),r=!0;break;case "candlestick":if(a>=s.x1-s.borderThickness/2&&a<=s.x2+s.borderThickness/2&&f>=s.y2-s.borderThickness/2&&f<=s.y3+s.borderThickness/2||Math.abs(s.x2-
587
+ a+s.x1-a)<s.borderThickness&&f>=s.y1&&f<=s.y4)b.push({dataPoint:k,dataPointIndex:h,dataSeries:this,distance:Math.min(Math.abs(s.x1-a),Math.abs(s.x2-a),Math.abs(s.y2-f),Math.abs(s.y3-f))}),r=!0;break;case "ohlc":if(Math.abs(s.x2-a+s.x1-a)<s.borderThickness&&f>=s.y2&&f<=s.y3||a>=s.x1&&a<=(s.x2+s.x1)/2&&f>=s.y1-s.borderThickness/2&&f<=s.y1+s.borderThickness/2||a>=(s.x1+s.x2)/2&&a<=s.x2&&f>=s.y4-s.borderThickness/2&&f<=s.y4+s.borderThickness/2)b.push({dataPoint:k,dataPointIndex:h,dataSeries:this,distance:Math.min(Math.abs(s.x1-
588
+ a),Math.abs(s.x2-a),Math.abs(s.y2-f),Math.abs(s.y3-f))}),r=!0}if(r||1E3<m&&1E3<n)break}}else if(0>p-e&&p+e>=this.dataPoints.length)break;-1===d?(e++,d=1):d=-1}a=null;for(f=0;f<b.length;f++)a?b[f].distance<=a.distance&&(a=b[f]):a=b[f];return a};O.prototype.getMarkerProperties=function(a,f,c,b){var e=this.dataPoints,h=e[a].markerColor?e[a].markerColor:this.markerColor?this.markerColor:e[a].color?e[a].color:this.color?this.color:this._colorSet[a%this._colorSet.length],d=e[a].markerBorderColor?e[a].markerBorderColor:
589
+ this.markerBorderColor?this.markerBorderColor:null,r=g(e[a].markerBorderThickness)?this.markerBorderThickness?this.markerBorderThickness:null:e[a].markerBorderThickness,u=e[a].markerType?e[a].markerType:this.markerType;a=g(e[a].markerSize)?this.markerSize:e[a].markerSize;return{x:f,y:c,ctx:b,type:u,size:a,color:h,borderColor:d,borderThickness:r}};ha(z,Z);z.prototype.createExtraLabelsForLog=function(a){a=(a||0)+1;if(!(5<a)){var f=this.logLabelValues[0]||this.intervalStartPosition;if(Math.log(this.range)/
590
+ Math.log(f/this.viewportMinimum)<this.noTicks-1){for(var c=z.getNiceNumber((f-this.viewportMinimum)/Math.min(Math.max(2,this.noTicks-this.logLabelValues.length),3),!0),b=Math.ceil(this.viewportMinimum/c)*c;b<f;b+=c)b<this.viewportMinimum||this.logLabelValues.push(b);this.logLabelValues.sort(Ya);this.createExtraLabelsForLog(a)}}};z.prototype.createLabels=function(){var a,f,c=0,b=0,e,h=0,d=0,b=0,b=this.interval,r=0,u,m=0.6*this.chart.height,n;a=!1;var p=this.scaleBreaks?this.scaleBreaks._appliedBreaks:
591
+ [],s=p.length?g(this.scaleBreaks.firstBreakIndex)?0:this.scaleBreaks.firstBreakIndex:0;if("axisX"!==this.type||"dateTime"!==this.valueType||this.logarithmic){e=this.viewportMaximum;if(this.labels){a=Math.ceil(b);for(var b=Math.ceil(this.intervalStartPosition),k=!1,c=b;c<this.viewportMaximum;c+=a)if(this.labels[c])k=!0;else{k=!1;break}k&&(this.interval=a,this.intervalStartPosition=b)}if(this.logarithmic&&!this.equidistantInterval)for(this.logLabelValues||(this.logLabelValues=[],this.createExtraLabelsForLog()),
592
+ b=0,k=s;b<this.logLabelValues.length;b++)if(c=this.logLabelValues[b],c<this.viewportMinimum)b++;else{for(;k<p.length&&c>p[k].endValue;k++);a=k<p.length&&c>=p[k].startValue&&c<=p[k].endValue;n=c;a||(a=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.options,value:n,label:this.labels[n]?this.labels[n]:null}):"axisX"===this.type&&this.labels[n]?this.labels[n]:aa(n,this.valueFormatString,this.chart._cultureInfo),a=new ma(this.ctx,{x:0,y:0,maxWidth:h,maxHeight:d,angle:this.labelAngle,
593
+ text:this.prefix+a+this.suffix,backgroundColor:this.labelBackgroundColor,borderColor:this.labelBorderColor,cornerRadius:this.labelCornerRadius,textAlign:this.labelTextAlign,fontSize:this.labelFontSize,fontFamily:this.labelFontFamily,fontWeight:this.labelFontWeight,fontColor:this.labelFontColor,fontStyle:this.labelFontStyle,textBaseline:"middle",borderThickness:0}),this._labels.push({position:n,textBlock:a,effectiveHeight:null}))}k=s;for(c=this.intervalStartPosition;c<=e;c=parseFloat(1E-12>this.interval?
594
+ this.logarithmic&&this.equidistantInterval?c*Math.pow(this.logarithmBase,this.interval):c+this.interval:(this.logarithmic&&this.equidistantInterval?c*Math.pow(this.logarithmBase,this.interval):c+this.interval).toFixed(12))){for(;k<p.length&&c>p[k].endValue;k++);a=k<p.length&&c>=p[k].startValue&&c<=p[k].endValue;n=c;a||(a=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.options,value:n,label:this.labels[n]?this.labels[n]:null}):"axisX"===this.type&&this.labels[n]?this.labels[n]:
595
+ aa(n,this.valueFormatString,this.chart._cultureInfo),a=new ma(this.ctx,{x:0,y:0,maxWidth:h,maxHeight:d,angle:this.labelAngle,text:this.prefix+a+this.suffix,textAlign:this.labelTextAlign,backgroundColor:this.labelBackgroundColor,borderColor:this.labelBorderColor,borderThickness:this.labelBorderThickness,cornerRadius:this.labelCornerRadius,fontSize:this.labelFontSize,fontFamily:this.labelFontFamily,fontWeight:this.labelFontWeight,fontColor:this.labelFontColor,fontStyle:this.labelFontStyle,textBaseline:"middle"}),
596
+ this._labels.push({position:n,textBlock:a,effectiveHeight:null}))}}else for(this.intervalStartPosition=this.getLabelStartPoint(new Date(this.viewportMinimum),this.intervalType,this.interval),e=db(new Date(this.viewportMaximum),this.interval,this.intervalType),k=s,c=this.intervalStartPosition;c<e;db(c,b,this.intervalType)){for(a=c.getTime();k<p.length&&a>p[k].endValue;k++);n=a;a=k<p.length&&a>=p[k].startValue&&a<=p[k].endValue;a||(a=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.options,
597
+ value:new Date(n),label:this.labels[n]?this.labels[n]:null}):"axisX"===this.type&&this.labels[n]?this.labels[n]:fa(n,this.valueFormatString,this.chart._cultureInfo),a=new ma(this.ctx,{x:0,y:0,maxWidth:h,backgroundColor:this.labelBackgroundColor,borderColor:this.labelBorderColor,borderThickness:this.labelBorderThickness,cornerRadius:this.labelCornerRadius,maxHeight:d,angle:this.labelAngle,text:this.prefix+a+this.suffix,textAlign:this.labelTextAlign,fontSize:this.labelFontSize,fontFamily:this.labelFontFamily,
598
+ fontWeight:this.labelFontWeight,fontColor:this.labelFontColor,fontStyle:this.labelFontStyle,textBaseline:"middle"}),this._labels.push({position:n,textBlock:a,effectiveHeight:null,breaksLabelType:void 0}))}if("bottom"===this._position||"top"===this._position)r=this.logarithmic&&!this.equidistantInterval&&2<=this._labels.length?this.lineCoordinates.width*Math.log(Math.min(this._labels[this._labels.length-1].position/this._labels[this._labels.length-2].position,this._labels[1].position/this._labels[0].position))/
599
+ Math.log(this.range):this.lineCoordinates.width/(this.logarithmic&&this.equidistantInterval?Math.log(this.range)/Math.log(this.logarithmBase):Math.abs(this.range))*$[this.intervalType+"Duration"]*this.interval,h="undefined"===typeof this.options.labelMaxWidth?0.5*this.chart.width>>0:this.options.labelMaxWidth,this.chart.panEnabled||(d="undefined"===typeof this.options.labelWrap||this.labelWrap?0.8*this.chart.height>>0:1.5*this.labelFontSize);else if("left"===this._position||"right"===this._position)r=
600
+ this.logarithmic&&!this.equidistantInterval&&2<=this._labels.length?this.lineCoordinates.height*Math.log(Math.min(this._labels[this._labels.length-1].position/this._labels[this._labels.length-2].position,this._labels[1].position/this._labels[0].position))/Math.log(this.range):this.lineCoordinates.height/(this.logarithmic&&this.equidistantInterval?Math.log(this.range)/Math.log(this.logarithmBase):Math.abs(this.range))*$[this.intervalType+"Duration"]*this.interval,this.chart.panEnabled||(h="undefined"===
601
+ typeof this.options.labelMaxWidth?0.3*this.chart.width>>0:this.options.labelMaxWidth),d="undefined"===typeof this.options.labelWrap||this.labelWrap?0.3*this.chart.height>>0:1.5*this.labelFontSize;for(b=0;b<this._labels.length;b++){a=this._labels[b].textBlock;a.maxWidth=h;a.maxHeight=d;var l=a.measureText();u=l.height}e=[];s=p=0;if(this.labelAutoFit||this.options.labelAutoFit)if(g(this.labelAngle)||(this.labelAngle=(this.labelAngle%360+360)%360,90<this.labelAngle&&270>this.labelAngle?this.labelAngle-=
602
+ 180:270<=this.labelAngle&&360>=this.labelAngle&&(this.labelAngle-=360)),"bottom"===this._position||"top"===this._position)if(h=0.9*r>>0,s=0,!this.chart.panEnabled&&1<=this._labels.length){this.sessionVariables.labelFontSize=this.labelFontSize;this.sessionVariables.labelMaxWidth=h;this.sessionVariables.labelMaxHeight=d;this.sessionVariables.labelAngle=this.labelAngle;this.sessionVariables.labelWrap=this.labelWrap;for(c=0;c<this._labels.length;c++)if(!this._labels[c].breaksLabelType){a=this._labels[c].textBlock;
603
+ for(var t,k=a.text.split(" "),b=0;b<k.length;b++)n=k[b],this.ctx.font=a.fontStyle+" "+a.fontWeight+" "+a.fontSize+"px "+a.fontFamily,n=this.ctx.measureText(n),n.width>s&&(t=c,s=n.width)}c=0;for(c=this.intervalStartPosition<this.viewportMinimum?1:0;c<this._labels.length;c++)if(!this._labels[c].breaksLabelType){a=this._labels[c].textBlock;l=a.measureText();for(k=c+1;k<this._labels.length;k++)if(!this._labels[k].breaksLabelType){f=this._labels[k].textBlock;f=f.measureText();break}e.push(a.height);this.sessionVariables.labelMaxHeight=
604
+ Math.max.apply(Math,e);Math.cos(Math.PI/180*Math.abs(this.labelAngle));Math.sin(Math.PI/180*Math.abs(this.labelAngle));b=h*Math.sin(Math.PI/180*Math.abs(this.labelAngle))+(d-a.fontSize/2)*Math.cos(Math.PI/180*Math.abs(this.labelAngle));if(g(this.options.labelAngle)&&isNaN(this.options.labelAngle)&&0!==this.options.labelAngle)if(this.sessionVariables.labelMaxHeight=0===this.labelAngle?d:Math.min((b-h*Math.cos(Math.PI/180*Math.abs(this.labelAngle)))/Math.sin(Math.PI/180*Math.abs(this.labelAngle)),b),
605
+ n=(m-(u+a.fontSize/2)*Math.cos(Math.PI/180*Math.abs(-25)))/Math.sin(Math.PI/180*Math.abs(-25)),!g(this.options.labelWrap))this.labelWrap?g(this.options.labelMaxWidth)?(this.sessionVariables.labelMaxWidth=Math.min(Math.max(h,s),n),this.sessionVariables.labelWrap=this.labelWrap,f&&l.width+f.width>>0>2*h&&(this.sessionVariables.labelAngle=-25)):(this.sessionVariables.labelWrap=this.labelWrap,this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth,this.sessionVariables.labelAngle=this.sessionVariables.labelMaxWidth>
606
+ h?-25:this.sessionVariables.labelAngle):g(this.options.labelMaxWidth)?(this.sessionVariables.labelWrap=this.labelWrap,this.sessionVariables.labelMaxHeight=d,this.sessionVariables.labelMaxWidth=h,f&&l.width+f.width>>0>2*h&&(this.sessionVariables.labelAngle=-25,this.sessionVariables.labelMaxWidth=n)):(this.sessionVariables.labelAngle=this.sessionVariables.labelMaxWidth>h?-25:this.sessionVariables.labelAngle,this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth,this.sessionVariables.labelMaxHeight=
607
+ d,this.sessionVariables.labelWrap=this.labelWrap);else{if(g(this.options.labelWrap))if(!g(this.options.labelMaxWidth))this.options.labelMaxWidth<h?(this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth,this.sessionVariables.labelMaxHeight=b):(this.sessionVariables.labelAngle=-25,this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth,this.sessionVariables.labelMaxHeight=d);else if(!g(f))if(b=l.width+f.width>>0,k=this.labelFontSize,s<h)b-2*h>p&&(p=b-2*h,b>=2*h&&b<2.2*h?(this.sessionVariables.labelMaxWidth=
608
+ h,g(this.options.labelFontSize)&&12<k&&(k=Math.floor(12/13*k),a.measureText()),this.sessionVariables.labelFontSize=g(this.options.labelFontSize)?k:this.options.labelFontSize,this.sessionVariables.labelAngle=this.labelAngle):b>=2.2*h&&b<2.8*h?(this.sessionVariables.labelAngle=-25,this.sessionVariables.labelMaxWidth=n,this.sessionVariables.labelFontSize=k):b>=2.8*h&&b<3.2*h?(this.sessionVariables.labelMaxWidth=Math.max(h,s),this.sessionVariables.labelWrap=!0,g(this.options.labelFontSize)&&12<this.labelFontSize&&
609
+ (this.labelFontSize=Math.floor(12/13*this.labelFontSize),a.measureText()),this.sessionVariables.labelFontSize=g(this.options.labelFontSize)?k:this.options.labelFontSize,this.sessionVariables.labelAngle=this.labelAngle):b>=3.2*h&&b<3.6*h?(this.sessionVariables.labelAngle=-25,this.sessionVariables.labelWrap=!0,this.sessionVariables.labelMaxWidth=n,this.sessionVariables.labelFontSize=this.labelFontSize):b>3.6*h&&b<5*h?(g(this.options.labelFontSize)&&12<k&&(k=Math.floor(12/13*k),a.measureText()),this.sessionVariables.labelFontSize=
610
+ g(this.options.labelFontSize)?k:this.options.labelFontSize,this.sessionVariables.labelWrap=!0,this.sessionVariables.labelAngle=-25,this.sessionVariables.labelMaxWidth=n):b>5*h&&(this.sessionVariables.labelWrap=!0,this.sessionVariables.labelMaxWidth=h,this.sessionVariables.labelFontSize=k,this.sessionVariables.labelMaxHeight=d,this.sessionVariables.labelAngle=this.labelAngle));else if(t===c&&(0===t&&s+this._labels[t+1].textBlock.measureText().width-2*h>p||t===this._labels.length-1&&s+this._labels[t-
611
+ 1].textBlock.measureText().width-2*h>p||0<t&&t<this._labels.length-1&&s+this._labels[t+1].textBlock.measureText().width-2*h>p&&s+this._labels[t-1].textBlock.measureText().width-2*h>p))p=0===t?s+this._labels[t+1].textBlock.measureText().width-2*h:s+this._labels[t-1].textBlock.measureText().width-2*h,this.sessionVariables.labelFontSize=g(this.options.labelFontSize)?k:this.options.labelFontSize,this.sessionVariables.labelWrap=!0,this.sessionVariables.labelAngle=-25,this.sessionVariables.labelMaxWidth=
612
+ n;else if(0===p)for(this.sessionVariables.labelFontSize=g(this.options.labelFontSize)?k:this.options.labelFontSize,this.sessionVariables.labelWrap=!0,b=0;b<this._labels.length;b++)a=this._labels[b].textBlock,a.maxWidth=this.sessionVariables.labelMaxWidth=Math.min(Math.max(h,s),n),l=a.measureText(),b<this._labels.length-1&&(k=b+1,f=this._labels[k].textBlock,f.maxWidth=this.sessionVariables.labelMaxWidth=Math.min(Math.max(h,s),n),f=f.measureText(),l.width+f.width>>0>2*h&&(this.sessionVariables.labelAngle=
613
+ -25))}else(this.sessionVariables.labelAngle=this.labelAngle,this.sessionVariables.labelMaxHeight=0===this.labelAngle?d:Math.min((b-h*Math.cos(Math.PI/180*Math.abs(this.labelAngle)))/Math.sin(Math.PI/180*Math.abs(this.labelAngle)),b),n=0!=this.labelAngle?(m-(u+a.fontSize/2)*Math.cos(Math.PI/180*Math.abs(this.labelAngle)))/Math.sin(Math.PI/180*Math.abs(this.labelAngle)):h,this.sessionVariables.labelMaxHeight=this.labelWrap?(m-n*Math.sin(Math.PI/180*Math.abs(this.labelAngle)))/Math.cos(Math.PI/180*Math.abs(this.labelAngle)):
614
+ 1.5*this.labelFontSize,g(this.options.labelWrap))?g(this.options.labelWrap)&&(this.labelWrap&&!g(this.options.labelMaxWidth)?(this.sessionVariables.labelWrap=this.labelWrap,this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth?this.options.labelMaxWidth:n,this.sessionVariables.labelMaxHeight=d):(this.sessionVariables.labelAngle=this.labelAngle,this.sessionVariables.labelMaxWidth=n,this.sessionVariables.labelMaxHeight=b<0.9*r?0.9*r:b,this.sessionVariables.labelWrap=this.labelWrap)):(this.options.labelWrap?
615
+ (this.sessionVariables.labelWrap=this.labelWrap,this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth?this.options.labelMaxWidth:n):(g(this.options.labelMaxWidth),this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth?this.options.labelMaxWidth:n,this.sessionVariables.labelWrap=this.labelWrap),this.sessionVariables.labelMaxHeight=d)}for(b=0;b<this._labels.length;b++)a=this._labels[b].textBlock,a.maxWidth=this.labelMaxWidth=this.sessionVariables.labelMaxWidth,a.fontSize=this.sessionVariables.labelFontSize,
616
+ a.angle=this.labelAngle=this.sessionVariables.labelAngle,a.wrap=this.labelWrap=this.sessionVariables.labelWrap,a.maxHeight=this.sessionVariables.labelMaxHeight,a.measureText()}else for(c=0;c<this._labels.length;c++)a=this._labels[c].textBlock,a.maxWidth=this.labelMaxWidth=g(this.options.labelMaxWidth)?g(this.sessionVariables.labelMaxWidth)?this.sessionVariables.labelMaxWidth=h:this.sessionVariables.labelMaxWidth:this.options.labelMaxWidth,a.fontSize=this.labelFontSize=g(this.options.labelFontSize)?
617
+ g(this.sessionVariables.labelFontSize)?this.sessionVariables.labelFontSize=this.labelFontSize:this.sessionVariables.labelFontSize:this.options.labelFontSize,a.angle=this.labelAngle=g(this.options.labelAngle)?g(this.sessionVariables.labelAngle)?this.sessionVariables.labelAngle=this.labelAngle:this.sessionVariables.labelAngle:this.labelAngle,a.wrap=this.labelWrap=g(this.options.labelWrap)?g(this.sessionVariables.labelWrap)?this.sessionVariables.labelWrap=this.labelWrap:this.sessionVariables.labelWrap:
618
+ this.options.labelWrap,a.maxHeight=g(this.sessionVariables.labelMaxHeight)?this.sessionVariables.labelMaxHeight=d:this.sessionVariables.labelMaxHeight,a.measureText();else if("left"===this._position||"right"===this._position)if(h=g(this.options.labelMaxWidth)?0.3*this.chart.width>>0:this.options.labelMaxWidth,d="undefined"===typeof this.options.labelWrap||this.labelWrap?0.3*this.chart.height>>0:1.5*this.labelFontSize,!this.chart.panEnabled&&1<=this._labels.length){this.sessionVariables.labelFontSize=
619
+ this.labelFontSize;this.sessionVariables.labelMaxWidth=h;this.sessionVariables.labelMaxHeight=d;this.sessionVariables.labelAngle=g(this.sessionVariables.labelAngle)?0:this.sessionVariables.labelAngle;this.sessionVariables.labelWrap=this.labelWrap;for(c=0;c<this._labels.length;c++)if(!this._labels[c].breaksLabelType){a=this._labels[c].textBlock;l=a.measureText();for(k=c+1;k<this._labels.length;k++)if(!this._labels[k].breaksLabelType){f=this._labels[k].textBlock;f=f.measureText();break}e.push(a.height);
620
+ this.sessionVariables.labelMaxHeight=Math.max.apply(Math,e);b=h*Math.sin(Math.PI/180*Math.abs(this.labelAngle))+(d-a.fontSize/2)*Math.cos(Math.PI/180*Math.abs(this.labelAngle));Math.cos(Math.PI/180*Math.abs(this.labelAngle));Math.sin(Math.PI/180*Math.abs(this.labelAngle));g(this.options.labelAngle)&&isNaN(this.options.labelAngle)&&0!==this.options.labelAngle?g(this.options.labelWrap)?g(this.options.labelWrap)&&(g(this.options.labelMaxWidth)?g(f)||(r=l.height+f.height>>0,r-2*d>s&&(s=r-2*d,r>=2*d&&
621
+ r<2.4*d?(g(this.options.labelFontSize)&&12<this.labelFontSize&&(this.labelFontSize=Math.floor(12/13*this.labelFontSize),a.measureText()),this.sessionVariables.labelMaxHeight=d,this.sessionVariables.labelFontSize=g(this.options.labelFontSize)?this.labelFontSize:this.options.labelFontSize):r>=2.4*d&&r<2.8*d?(this.sessionVariables.labelMaxHeight=b,this.sessionVariables.labelFontSize=this.labelFontSize,this.sessionVariables.labelWrap=!0):r>=2.8*d&&r<3.2*d?(this.sessionVariables.labelMaxHeight=d,this.sessionVariables.labelWrap=
622
+ !0,g(this.options.labelFontSize)&&12<this.labelFontSize&&(this.labelFontSize=Math.floor(12/13*this.labelFontSize),a.measureText()),this.sessionVariables.labelFontSize=g(this.options.labelFontSize)?this.labelFontSize:this.options.labelFontSize,this.sessionVariables.labelAngle=g(this.sessionVariables.labelAngle)?0:this.sessionVariables.labelAngle):r>=3.2*d&&r<3.6*d?(this.sessionVariables.labelMaxHeight=b,this.sessionVariables.labelWrap=!0,this.sessionVariables.labelFontSize=this.labelFontSize):r>3.6*
623
+ d&&r<10*d?(g(this.options.labelFontSize)&&12<this.labelFontSize&&(this.labelFontSize=Math.floor(12/13*this.labelFontSize),a.measureText()),this.sessionVariables.labelFontSize=g(this.options.labelFontSize)?this.labelFontSize:this.options.labelFontSize,this.sessionVariables.labelMaxWidth=h,this.sessionVariables.labelMaxHeight=d,this.sessionVariables.labelAngle=g(this.sessionVariables.labelAngle)?0:this.sessionVariables.labelAngle):r>10*d&&r<50*d&&(g(this.options.labelFontSize)&&12<this.labelFontSize&&
624
+ (this.labelFontSize=Math.floor(12/13*this.labelFontSize),a.measureText()),this.sessionVariables.labelFontSize=g(this.options.labelFontSize)?this.labelFontSize:this.options.labelFontSize,this.sessionVariables.labelMaxHeight=d,this.sessionVariables.labelMaxWidth=h,this.sessionVariables.labelAngle=g(this.sessionVariables.labelAngle)?0:this.sessionVariables.labelAngle))):(this.sessionVariables.labelMaxHeight=d,this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth?this.options.labelMaxWidth:this.sessionVariables.labelMaxWidth)):
625
+ (this.sessionVariables.labelMaxWidth=this.labelWrap?this.options.labelMaxWidth?this.options.labelMaxWidth:this.sessionVariables.labelMaxWidth:this.labelMaxWidth?this.options.labelMaxWidth?this.options.labelMaxWidth:this.sessionVariables.labelMaxWidth:h,this.sessionVariables.labelMaxHeight=d):(this.sessionVariables.labelAngle=this.labelAngle,this.sessionVariables.labelMaxWidth=0===this.labelAngle?h:Math.min((b-d*Math.sin(Math.PI/180*Math.abs(this.labelAngle)))/Math.cos(Math.PI/180*Math.abs(this.labelAngle)),
626
+ d),g(this.options.labelWrap))?g(this.options.labelWrap)&&(this.labelWrap&&!g(this.options.labelMaxWidth)?(this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth?this.options.labelMaxWidth:this.sessionVariables.labelMaxWidth,this.sessionVariables.labelWrap=this.labelWrap,this.sessionVariables.labelMaxHeight=b):(this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth?this.options.labelMaxWidth:h,this.sessionVariables.labelMaxHeight=0===this.labelAngle?d:b,g(this.options.labelMaxWidth)&&
627
+ (this.sessionVariables.labelAngle=this.labelAngle))):this.options.labelWrap?(this.sessionVariables.labelMaxHeight=0===this.labelAngle?d:b,this.sessionVariables.labelWrap=this.labelWrap,this.sessionVariables.labelMaxWidth=h):(this.sessionVariables.labelMaxHeight=d,g(this.options.labelMaxWidth),this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth?this.options.labelMaxWidth:this.sessionVariables.labelMaxWidth,this.sessionVariables.labelWrap=this.labelWrap)}for(b=0;b<this._labels.length;b++)a=
628
+ this._labels[b].textBlock,a.maxWidth=this.labelMaxWidth=this.sessionVariables.labelMaxWidth,a.fontSize=this.labelFontSize=this.sessionVariables.labelFontSize,a.angle=this.labelAngle=this.sessionVariables.labelAngle,a.wrap=this.labelWrap=this.sessionVariables.labelWrap,a.maxHeight=this.sessionVariables.labelMaxHeight,a.measureText()}else for(c=0;c<this._labels.length;c++)a=this._labels[c].textBlock,a.maxWidth=this.labelMaxWidth=g(this.options.labelMaxWidth)?g(this.sessionVariables.labelMaxWidth)?this.sessionVariables.labelMaxWidth=
629
+ h:this.sessionVariables.labelMaxWidth:this.options.labelMaxWidth,a.fontSize=this.labelFontSize=g(this.options.labelFontSize)?g(this.sessionVariables.labelFontSize)?this.sessionVariables.labelFontSize=this.labelFontSize:this.sessionVariables.labelFontSize:this.options.labelFontSize,a.angle=this.labelAngle=g(this.options.labelAngle)?g(this.sessionVariables.labelAngle)?this.sessionVariables.labelAngle=this.labelAngle:this.sessionVariables.labelAngle:this.labelAngle,a.wrap=this.labelWrap=g(this.options.labelWrap)?
630
+ g(this.sessionVariables.labelWrap)?this.sessionVariables.labelWrap=this.labelWrap:this.sessionVariables.labelWrap:this.options.labelWrap,a.maxHeight=g(this.sessionVariables.labelMaxHeight)?this.sessionVariables.labelMaxHeight=d:this.sessionVariables.labelMaxHeight,a.measureText();for(c=0;c<this.stripLines.length;c++){var h=this.stripLines[c],B;if("outside"===h.labelPlacement){d=this.sessionVariables.labelMaxWidth;if("bottom"===this._position||"top"===this._position)g(h.options.labelWrap)&&!g(this.sessionVariables.stripLineLabelMaxHeight)?
631
+ B=this.sessionVariables.stripLineLabelMaxHeight:this.sessionVariables.stripLineLabelMaxHeight=B=h.labelWrap?0.8*this.chart.height>>0:1.5*this.labelFontSize;if("left"===this._position||"right"===this._position)g(h.options.labelWrap)&&!g(this.sessionVariables.stripLineLabelMaxHeight)?B=this.sessionVariables.stripLineLabelMaxHeight:this.sessionVariables.stripLineLabelMaxHeight=B=h.labelWrap?0.8*this.chart.width>>0:1.5*this.labelFontSize;g(h.labelBackgroundColor)&&(h.labelBackgroundColor="#EEEEEE")}else d=
632
+ "bottom"===this._position||"top"===this._position?0.9*this.chart.width>>0:0.9*this.chart.height>>0,B=g(h.options.labelWrap)||h.labelWrap?"bottom"===this._position||"top"===this._position?0.8*this.chart.width>>0:0.8*this.chart.height>>0:1.5*this.labelFontSize,g(h.labelBackgroundColor)&&(g(h.startValue)&&0!==h.startValue?h.labelBackgroundColor=q?"transparent":null:h.labelBackgroundColor="#EEEEEE");a=new ma(this.ctx,{x:0,y:0,backgroundColor:h.labelBackgroundColor,borderColor:h.labelBorderColor,borderThickness:h.labelBorderThickness,
633
+ cornerRadius:h.labelCornerRadius,maxWidth:h.options.labelMaxWidth?h.options.labelMaxWidth:d,maxHeight:B,angle:this.labelAngle,text:h.labelFormatter?h.labelFormatter({chart:this.chart,axis:this,stripLine:h}):h.label,textAlign:this.labelTextAlign,fontSize:"outside"===h.labelPlacement?h.options.labelFontSize?h.labelFontSize:this.labelFontSize:h.labelFontSize,fontFamily:"outside"===h.labelPlacement?h.options.labelFontFamily?h.labelFontFamily:this.labelFontFamily:h.labelFontFamily,fontWeight:"outside"===
634
+ h.labelPlacement?h.options.labelFontWeight?h.labelFontWeight:this.labelFontWeight:h.labelFontWeight,fontColor:h.labelFontColor||h.color,fontStyle:"outside"===h.labelPlacement?h.options.labelFontStyle?h.labelFontStyle:this.fontWeight:h.labelFontStyle,textBaseline:"middle"});this._stripLineLabels.push({position:h.value,textBlock:a,effectiveHeight:null,stripLine:h})}};z.prototype.createLabelsAndCalculateWidth=function(){var a=0,f=0;this._labels=[];this._stripLineLabels=[];var c=this.chart.isNavigator?
635
+ 0:5;if("left"===this._position||"right"===this._position){this.createLabels();if("inside"!=this.labelPlacement||"inside"===this.labelPlacement&&0<this._index)for(f=0;f<this._labels.length;f++){var b=this._labels[f].textBlock,e=b.measureText(),h=0,h=0===this.labelAngle?e.width:e.width*Math.cos(Math.PI/180*Math.abs(this.labelAngle))+(e.height-b.fontSize/2)*Math.sin(Math.PI/180*Math.abs(this.labelAngle));a<h&&(this.labelEffectiveWidth=a=h);this._labels[f].effectiveWidth=h}for(f=0;f<this._stripLineLabels.length;f++)"outside"===
636
+ this._stripLineLabels[f].stripLine.labelPlacement&&(this._stripLineLabels[f].stripLine.value>=this.viewportMinimum&&this._stripLineLabels[f].stripLine.value<=this.viewportMaximum)&&(b=this._stripLineLabels[f].textBlock,e=b.measureText(),h=0===this.labelAngle?e.width:e.width*Math.cos(Math.PI/180*Math.abs(this.labelAngle))+(e.height-b.fontSize/2)*Math.sin(Math.PI/180*Math.abs(this.labelAngle)),"inside"===this.tickPlacement&&(h+=this.tickLength),"inside"===this.labelPlacement&&(a+=0<this._index?h:0),
637
+ a<h&&(a=h),this.stripLineLabelEffectiveWidth=this._stripLineLabels[f].effectiveWidth=h)}return(this.title?this._titleTextBlock.measureText().height+2:0)+a+("inside"===this.tickPlacement?0<this._index?this.tickLength:0:this.tickLength)+c};z.prototype.createLabelsAndCalculateHeight=function(){var a=0;this._labels=[];this._stripLineLabels=[];var f,c=0,b=this.chart.isNavigator?0:5;if("bottom"===this._position||"top"===this._position){this.createLabels();if("inside"!=this.labelPlacement||"inside"===this.labelPlacement&&
638
+ 0<this._index)for(c=0;c<this._labels.length;c++){f=this._labels[c].textBlock;var e=f.measureText(),h=0,h=0===this.labelAngle?e.height:e.width*Math.sin(Math.PI/180*Math.abs(this.labelAngle))+(e.height-f.fontSize/2)*Math.cos(Math.PI/180*Math.abs(this.labelAngle));a<h&&(this.labelEffectiveHeight=a=h);this._labels[c].effectiveHeight=h}for(c=0;c<this._stripLineLabels.length;c++)"outside"===this._stripLineLabels[c].stripLine.labelPlacement&&(this._stripLineLabels[c].stripLine.value>=this.viewportMinimum&&
639
+ this._stripLineLabels[c].stripLine.value<=this.viewportMaximum)&&(f=this._stripLineLabels[c].textBlock,e=f.measureText(),h=0===this.labelAngle?e.height:e.width*Math.sin(Math.PI/180*Math.abs(this.labelAngle))+(e.height-f.fontSize/2)*Math.cos(Math.PI/180*Math.abs(this.labelAngle)),"inside"===this.tickPlacement&&(h+=this.tickLength),"inside"===this.labelPlacement&&(a+=0<this._index?h:0),a<h&&(a=h),this.stripLineLabelEffectiveHeight=this._stripLineLabels[c].effectiveHeight=h)}return(this.title?this._titleTextBlock.measureText().height+
640
+ 2:0)+a+("inside"===this.tickPlacement?0<this._index?this.tickLength:0:this.tickLength)+b};z.setLayout=function(a,f,c,b,e,h){var d,r,u,m,n=a[0]?a[0].chart:f[0].chart,p=n.isNavigator?0:10,s=n._axes;if(a&&0<a.length)for(var k=0;k<a.length;k++)a[k]&&a[k].calculateAxisParameters();if(f&&0<f.length)for(k=0;k<f.length;k++)f[k].calculateAxisParameters();if(c&&0<c.length)for(k=0;k<c.length;k++)c[k].calculateAxisParameters();if(b&&0<b.length)for(k=0;k<b.length;k++)b[k].calculateAxisParameters();for(k=0;k<s.length;k++)if(s[k]&&
641
+ s[k].scaleBreaks&&s[k].scaleBreaks._appliedBreaks.length)for(var l=s[k].scaleBreaks._appliedBreaks,t=0;t<l.length&&!(l[t].startValue>s[k].viewportMaximum);t++)l[t].endValue<s[k].viewportMinimum||(g(s[k].scaleBreaks.firstBreakIndex)&&(s[k].scaleBreaks.firstBreakIndex=t),l[t].startValue>=s[k].viewPortMinimum&&(s[k].scaleBreaks.lastBreakIndex=t));for(var q=t=0,v=0,B=0,y=0,z=0,x=0,G,D,F=r=0,L,J,Q,l=L=J=Q=!1,k=0;k<s.length;k++)s[k]&&s[k].title&&(s[k]._titleTextBlock=new ma(s[k].ctx,{text:s[k].title,horizontalAlign:"center",
642
+ fontSize:s[k].titleFontSize,fontFamily:s[k].titleFontFamily,fontWeight:s[k].titleFontWeight,fontColor:s[k].titleFontColor,fontStyle:s[k].titleFontStyle,borderColor:s[k].titleBorderColor,borderThickness:s[k].titleBorderThickness,backgroundColor:s[k].titleBackgroundColor,cornerRadius:s[k].titleCornerRadius,textBaseline:"top"}));for(k=0;k<s.length;k++)if(s[k].title)switch(s[k]._position){case "left":s[k]._titleTextBlock.maxWidth=s[k].titleMaxWidth||h.height;s[k]._titleTextBlock.maxHeight=s[k].titleWrap?
643
+ 0.8*h.width:1.5*s[k].titleFontSize;s[k]._titleTextBlock.angle=-90;break;case "right":s[k]._titleTextBlock.maxWidth=s[k].titleMaxWidth||h.height;s[k]._titleTextBlock.maxHeight=s[k].titleWrap?0.8*h.width:1.5*s[k].titleFontSize;s[k]._titleTextBlock.angle=90;break;default:s[k]._titleTextBlock.maxWidth=s[k].titleMaxWidth||h.width,s[k]._titleTextBlock.maxHeight=s[k].titleWrap?0.8*h.height:1.5*s[k].titleFontSize,s[k]._titleTextBlock.angle=0}if("normal"===e){for(var B=[],y=[],z=[],x=[],N=[],O=[],M=[],P=[];4>
644
+ t;){var I=0,V=0,R=0,Y=0,S=e=0,T=0,aa=0,Z=0,W=0,U=0,$=0;if(c&&0<c.length)for(z=[],k=U=0;k<c.length;k++)z.push(Math.ceil(c[k]?c[k].createLabelsAndCalculateWidth():0)),U+=z[k],T+=c[k]&&!n.isNavigator?c[k].margin:0;else z.push(Math.ceil(c[0]?c[0].createLabelsAndCalculateWidth():0));M.push(z);if(b&&0<b.length)for(x=[],k=$=0;k<b.length;k++)x.push(Math.ceil(b[k]?b[k].createLabelsAndCalculateWidth():0)),$+=x[k],aa+=b[k]?b[k].margin:0;else x.push(Math.ceil(b[0]?b[0].createLabelsAndCalculateWidth():0));P.push(x);
645
+ d=Math.round(h.x1+U+T);u=Math.round(h.x2-$-aa>n.width-p?n.width-p:h.x2-$-aa);if(a&&0<a.length)for(B=[],k=Z=0;k<a.length;k++)a[k]&&(a[k].lineCoordinates={}),a[k].lineCoordinates.width=Math.abs(u-d),a[k].title&&(a[k]._titleTextBlock.maxWidth=0<a[k].titleMaxWidth&&a[k].titleMaxWidth<a[k].lineCoordinates.width?a[k].titleMaxWidth:a[k].lineCoordinates.width),B.push(Math.ceil(a[k]?a[k].createLabelsAndCalculateHeight():0)),Z+=B[k],e+=a[k]&&!n.isNavigator?a[k].margin:0;else B.push(Math.ceil(a[0]?a[0].createLabelsAndCalculateHeight():
646
+ 0));N.push(B);if(f&&0<f.length)for(y=[],k=W=0;k<f.length;k++)f[k]&&(f[k].lineCoordinates={}),f[k].lineCoordinates.width=Math.abs(u-d),f[k].title&&(f[k]._titleTextBlock.maxWidth=0<f[k].titleMaxWidth&&f[k].titleMaxWidth<f[k].lineCoordinates.width?f[k].titleMaxWidth:f[k].lineCoordinates.width),y.push(Math.ceil(f[k]?f[k].createLabelsAndCalculateHeight():0)),W+=y[k],S+=f[k]&&!n.isNavigator?f[k].margin:0;else y.push(Math.ceil(f[0]?f[0].createLabelsAndCalculateHeight():0));O.push(y);if(a&&0<a.length)for(k=
647
+ 0;k<a.length;k++)a[k]&&(a[k].lineCoordinates.x1=d,u=Math.round(h.x2-$-aa>n.width-p?n.width-p:h.x2-$-aa),a[k]._labels&&1<a[k]._labels.length&&(r=m=0,m=a[k]._labels[1],r="dateTime"===a[k].valueType?a[k]._labels[a[k]._labels.length-2]:a[k]._labels[a[k]._labels.length-1],q=m.textBlock.width*Math.cos(Math.PI/180*Math.abs(m.textBlock.angle))+(m.textBlock.height-r.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(m.textBlock.angle)),v=r.textBlock.width*Math.cos(Math.PI/180*Math.abs(r.textBlock.angle))+
648
+ (r.textBlock.height-r.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(r.textBlock.angle))),!a[k]||(!a[k].labelAutoFit||g(G)||g(D)||n.isNavigator||n.stockChart)||(r=0,0<a[k].labelAngle?D+v>u&&(r+=0<a[k].labelAngle?D+v-u-$:0):0>a[k].labelAngle?G-q<d&&G-q<a[k].viewportMinimum&&(F=d-(T+a[k].tickLength+z+G-q+a[k].labelFontSize/2)):0===a[k].labelAngle&&(D+v>u&&(r=D+v/2-u-$),G-q<d&&G-q<a[k].viewportMinimum&&(F=d-T-a[k].tickLength-z-G+q/2)),a[k].viewportMaximum===a[k].maximum&&a[k].viewportMinimum===
649
+ a[k].minimum&&0<a[k].labelAngle&&0<r?u-=r:a[k].viewportMaximum===a[k].maximum&&a[k].viewportMinimum===a[k].minimum&&0>a[k].labelAngle&&0<F?d+=F:a[k].viewportMaximum===a[k].maximum&&a[k].viewportMinimum===a[k].minimum&&0===a[k].labelAngle&&(0<F&&(d+=F),0<r&&(u-=r))),n.panEnabled?Z=g(n.sessionVariables.axisX.height)?n.sessionVariables.axisX.height=Z:n.sessionVariables.axisX.height:n.sessionVariables.axisX.height=Z,r=Math.round(h.y2-Z-e+I),m=Math.round(h.y2),a[k].lineCoordinates.x2=u,a[k].lineCoordinates.width=
650
+ u-d,a[k].lineCoordinates.y1=r,a[k].lineCoordinates.y2=r,"inside"===a[k].labelPlacement&&0<k&&(a[k].lineCoordinates.y1=a[k-1].lineCoordinates.y2+I+(a[k].labelEffectiveHeight||0),a[k].lineCoordinates.y2=a[k].lineCoordinates.y1+a[k].lineThickness/2),"inside"===a[k].tickPlacement&&0<k&&(a[k].lineCoordinates.y1+=a[k].tickLength,a[k].lineCoordinates.y2=a[k].lineCoordinates.y1+a[k].lineThickness/2),a[k].bounds={x1:d,y1:r,x2:u,y2:m-(Z+e-B[k]-I),width:u-d},a[k].bounds.height=a[k].bounds.y2-a[k].bounds.y1),
651
+ I+=B[k]+a[k].margin;if(f&&0<f.length)for(k=0;k<f.length;k++)f[k].lineCoordinates.x1=Math.round(h.x1+U+T),f[k].lineCoordinates.x2=Math.round(h.x2-$-aa>n.width-p?n.width-p:h.x2-$-aa),f[k].lineCoordinates.width=Math.abs(u-d),f[k]._labels&&1<f[k]._labels.length&&(m=f[k]._labels[1],r="dateTime"===f[k].valueType?f[k]._labels[f[k]._labels.length-2]:f[k]._labels[f[k]._labels.length-1],q=m.textBlock.width*Math.cos(Math.PI/180*Math.abs(m.textBlock.angle))+(m.textBlock.height-r.textBlock.fontSize/2)*Math.sin(Math.PI/
652
+ 180*Math.abs(m.textBlock.angle)),v=r.textBlock.width*Math.cos(Math.PI/180*Math.abs(r.textBlock.angle))+(r.textBlock.height-r.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(r.textBlock.angle))),n.panEnabled?W=g(n.sessionVariables.axisX2.height)?n.sessionVariables.axisX2.height=W:n.sessionVariables.axisX2.height:n.sessionVariables.axisX2.height=W,r=Math.round(h.y1),m=f[k].lineCoordinates.y1=r+W+S-V,f[k].lineCoordinates.y2=r,"inside"===f[k].labelPlacement&&0<k&&(f[k].lineCoordinates.y1=f[k-1].lineCoordinates.y1-
653
+ V-(f[k].labelEffectiveHeight||0)),"inside"===f[k].tickPlacement&&0<k&&(f[k].lineCoordinates.y1-=f[k].tickLength),f[k].bounds={x1:d,y1:r+(W+S-y[k]-V),x2:u,y2:m,width:u-d},f[k].bounds.height=f[k].bounds.y2-f[k].bounds.y1,V+=y[k]+f[k].margin;if(c&&0<c.length)for(k=0;k<c.length;k++)T=n.isNavigator?0:10,c[k]&&(d=Math.round(a[0]?a[0].lineCoordinates.x1:f[0].lineCoordinates.x1),T=c[k]._labels&&0<c[k]._labels.length?c[k]._labels[c[k]._labels.length-1].textBlock.height/2:p,r=Math.round(h.y1+W+S<Math.max(T,
654
+ p)?Math.max(T,p):h.y1+W+S),u=Math.round(a[0]?a[0].lineCoordinates.x1:f[0].lineCoordinates.x1),T=0<a.length?0:c[k]._labels&&0<c[k]._labels.length?c[k]._labels[0].textBlock.height/2:p,m=Math.round(h.y2-Z-e-T),c[k].lineCoordinates={x1:d-R,y1:r,x2:u-R,y2:m,height:Math.abs(m-r)},"inside"===c[k].labelPlacement&&0<k&&(c[k].lineCoordinates.x1=c[k-1].lineCoordinates.x1-R-(c[k].labelEffectiveWidth||0),c[k].lineCoordinates.x2=c[k].lineCoordinates.x1+c[k].lineThickness/2),"inside"===c[k].tickPlacement&&0<k&&
655
+ (c[k].lineCoordinates.x1-=c[k].tickLength,c[k].lineCoordinates.x2=c[k].lineCoordinates.x1+c[k].lineThickness/2),c[k].bounds={x1:d-(z[k]+R),y1:r,x2:u-R,y2:m,height:m-r},c[k].bounds.width=c[k].bounds.x2-c[k].bounds.x1,c[k].title&&(c[k]._titleTextBlock.maxWidth=0<c[k].titleMaxWidth&&c[k].titleMaxWidth<c[k].lineCoordinates.height?c[k].titleMaxWidth:c[k].lineCoordinates.height),R+=z[k]+c[k].margin);if(b&&0<b.length)for(k=0;k<b.length;k++)b[k]&&(d=Math.round(a[0]?a[0].lineCoordinates.x2:f[0].lineCoordinates.x2),
656
+ u=Math.round(d),T=b[k]._labels&&0<b[k]._labels.length?b[k]._labels[b[k]._labels.length-1].textBlock.height/2:0,r=Math.round(h.y1+W+S<Math.max(T,p)?Math.max(T,p):h.y1+W+S),T=0<a.length?0:b[k]._labels&&0<b[k]._labels.length?b[k]._labels[0].textBlock.height/2:0,m=Math.round(h.y2-(Z+e+T)),b[k].lineCoordinates={x1:d+Y,y1:r,x2:d+Y,y2:m,height:Math.abs(m-r)},"inside"===b[k].labelPlacement&&0<k&&(b[k].lineCoordinates.x1=b[k-1].lineCoordinates.x2+Y+(b[k].labelEffectiveWidth||0),b[k].lineCoordinates.x2=b[k].lineCoordinates.x1+
657
+ b[k].lineThickness/2),"inside"===b[k].tickPlacement&&0<k&&(b[k].lineCoordinates.x1+=b[k].tickLength,b[k].lineCoordinates.x2=b[k].lineCoordinates.x1+b[k].lineThickness/2),b[k].bounds={x1:d+Y,y1:r,x2:u+(x[k]+Y),y2:m,height:m-r},b[k].bounds.width=b[k].bounds.x2-b[k].bounds.x1,b[k].title&&(b[k]._titleTextBlock.maxWidth=0<b[k].titleMaxWidth&&b[k].titleMaxWidth<b[k].lineCoordinates.height?b[k].titleMaxWidth:b[k].lineCoordinates.height),Y+=x[k]+b[k].margin);if(a&&0<a.length)for(k=0;k<a.length;k++)a[k]&&
658
+ (a[k].calculateValueToPixelConversionParameters(),a[k].calculateBreaksSizeInValues(),a[k]._labels&&1<a[k]._labels.length&&(G=(a[k].logarithmic?Math.log(a[k]._labels[1].position/a[k].viewportMinimum)/a[k].conversionParameters.lnLogarithmBase:a[k]._labels[1].position-a[k].viewportMinimum)*Math.abs(a[k].conversionParameters.pixelPerUnit)+a[k].lineCoordinates.x1,d=a[k]._labels[a[k]._labels.length-("dateTime"===a[k].valueType?2:1)].position,d=a[k].getApparentDifference(a[k].viewportMinimum,d),D=a[k].logarithmic?
659
+ (1<d?Math.log(d)/a[k].conversionParameters.lnLogarithmBase*Math.abs(a[k].conversionParameters.pixelPerUnit):0)+a[k].lineCoordinates.x1:(0<d?d*Math.abs(a[k].conversionParameters.pixelPerUnit):0)+a[k].lineCoordinates.x1));if(f&&0<f.length)for(k=0;k<f.length;k++)f[k].calculateValueToPixelConversionParameters(),f[k].calculateBreaksSizeInValues(),f[k]._labels&&1<f[k]._labels.length&&(G=(f[k].logarithmic?Math.log(f[k]._labels[1].position/f[k].viewportMinimum)/f[k].conversionParameters.lnLogarithmBase:f[k]._labels[1].position-
660
+ f[k].viewportMinimum)*Math.abs(f[k].conversionParameters.pixelPerUnit)+f[k].lineCoordinates.x1,d=f[k]._labels[f[k]._labels.length-("dateTime"===f[k].valueType?2:1)].position,d=f[k].getApparentDifference(f[k].viewportMinimum,d),D=f[k].logarithmic?(1<d?Math.log(d)/f[k].conversionParameters.lnLogarithmBase*Math.abs(f[k].conversionParameters.pixelPerUnit):0)+f[k].lineCoordinates.x1:(0<d?d*Math.abs(f[k].conversionParameters.pixelPerUnit):0)+f[k].lineCoordinates.x1);for(k=0;k<s.length;k++)"axisY"===s[k].type&&
661
+ (s[k].calculateValueToPixelConversionParameters(),s[k].calculateBreaksSizeInValues());if(0<t){if(a&&0<a.length)for(k=0;k<a.length;k++)l=N[t-1][k]===N[t][k]?!0:!1;else l=!0;if(f&&0<f.length)for(k=0;k<f.length;k++)L=O[t-1][k]===O[t][k]?!0:!1;else L=!0;if(c&&0<c.length)for(k=0;k<c.length;k++)J=M[t-1][k]===M[t][k]?!0:!1;else J=!0;if(b&&0<b.length)for(k=0;k<b.length;k++)Q=P[t-1][k]===P[t][k]?!0:!1;else Q=!0}if(l&&L&&J&&Q)break;t++}if(a&&0<a.length)for(k=0;k<a.length;k++)a[k].calculateStripLinesThicknessInValues(),
662
+ a[k].calculateBreaksInPixels();if(f&&0<f.length)for(k=0;k<f.length;k++)f[k].calculateStripLinesThicknessInValues(),f[k].calculateBreaksInPixels();if(c&&0<c.length)for(k=0;k<c.length;k++)c[k].calculateStripLinesThicknessInValues(),c[k].calculateBreaksInPixels();if(b&&0<b.length)for(k=0;k<b.length;k++)b[k].calculateStripLinesThicknessInValues(),b[k].calculateBreaksInPixels()}else{p=[];G=[];F=[];q=[];D=[];v=[];N=[];for(O=[];4>t;){Z=Y=R=aa=T=S=e=P=M=I=W=0;if(a&&0<a.length)for(F=[],k=Y=0;k<a.length;k++)F.push(Math.ceil(a[k]?
663
+ a[k].createLabelsAndCalculateWidth():0)),Y+=F[k],e+=a[k]&&!n.isNavigator?a[k].margin:0;else F.push(Math.ceil(a[0]?a[0].createLabelsAndCalculateWidth():0));N.push(F);if(f&&0<f.length)for(q=[],k=Z=0;k<f.length;k++)q.push(Math.ceil(f[k]?f[k].createLabelsAndCalculateWidth():0)),Z+=q[k],S+=f[k]?f[k].margin:0;else q.push(Math.ceil(f[0]?f[0].createLabelsAndCalculateWidth():0));O.push(q);if(c&&0<c.length)for(k=0;k<c.length;k++)c[k].lineCoordinates={},d=Math.round(h.x1+Y+e),u=Math.round(h.x2-Z-S>n.width-10?
664
+ n.width-10:h.x2-Z-S),c[k].labelAutoFit&&!g(B)&&(0<!a.length&&(d=0>c[k].labelAngle?Math.max(d,B):0===c[k].labelAngle?Math.max(d,B/2):d),0<!f.length&&(u=0<c[k].labelAngle?u-y/2:0===c[k].labelAngle?u-y/2:u)),c[k].lineCoordinates.x1=d,c[k].lineCoordinates.x2=u,c[k].lineCoordinates.width=Math.abs(u-d),c[k].title&&(c[k]._titleTextBlock.maxWidth=0<c[k].titleMaxWidth&&c[k].titleMaxWidth<c[k].lineCoordinates.width?c[k].titleMaxWidth:c[k].lineCoordinates.width);if(b&&0<b.length)for(k=0;k<b.length;k++)b[k].lineCoordinates=
665
+ {},d=Math.round(h.x1+Y+e),u=Math.round(h.x2-Z-S>b[k].chart.width-10?b[k].chart.width-10:h.x2-Z-S),b[k]&&b[k].labelAutoFit&&!g(z)&&(0<!a.length&&(d=0<b[k].labelAngle?Math.max(d,z):0===b[k].labelAngle?Math.max(d,z/2):d),0<!f.length&&(u-=x/2)),b[k].lineCoordinates.x1=d,b[k].lineCoordinates.x2=u,b[k].lineCoordinates.width=Math.abs(u-d),b[k].title&&(b[k]._titleTextBlock.maxWidth=0<b[k].titleMaxWidth&&b[k].titleMaxWidth<b[k].lineCoordinates.width?b[k].titleMaxWidth:b[k].lineCoordinates.width);if(c&&0<c.length)for(p=
666
+ [],k=R=0;k<c.length;k++)p.push(Math.ceil(c[k]?c[k].createLabelsAndCalculateHeight():0)),R+=p[k]+c[k].margin,T+=c[k].margin;else p.push(Math.ceil(c[0]?c[0].createLabelsAndCalculateHeight():0));D.push(p);if(b&&0<b.length)for(G=[],k=0;k<b.length;k++)G.push(Math.ceil(b[k]?b[k].createLabelsAndCalculateHeight():0)),aa+=b[k].margin;else G.push(Math.ceil(b[0]?b[0].createLabelsAndCalculateHeight():0));v.push(G);if(c&&0<c.length)for(k=0;k<c.length;k++)0<c[k]._labels.length&&(m=c[k]._labels[0],r=c[k]._labels[c[k]._labels.length-
667
+ 1],B=m.textBlock.width*Math.cos(Math.PI/180*Math.abs(m.textBlock.angle))+(m.textBlock.height-r.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(m.textBlock.angle)),y=r.textBlock.width*Math.cos(Math.PI/180*Math.abs(r.textBlock.angle))+(r.textBlock.height-r.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(r.textBlock.angle)));if(b&&0<b.length)for(k=0;k<b.length;k++)b[k]&&0<b[k]._labels.length&&(m=b[k]._labels[0],r=b[k]._labels[b[k]._labels.length-1],z=m.textBlock.width*Math.cos(Math.PI/180*Math.abs(m.textBlock.angle))+
668
+ (m.textBlock.height-r.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(m.textBlock.angle)),x=r.textBlock.width*Math.cos(Math.PI/180*Math.abs(r.textBlock.angle))+(r.textBlock.height-r.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(r.textBlock.angle)));if(n.panEnabled)for(k=0;k<c.length;k++)p[k]=g(n.sessionVariables.axisY[k].height)?n.sessionVariables.axisY[k].height=p[k]:n.sessionVariables.axisY[k].height;else for(k=0;k<c.length;k++)n.sessionVariables.axisY[k].height=p[k];if(c&&0<c.length)for(k=
669
+ c.length-1;0<=k;k--)r=Math.round(h.y2),m=Math.round(h.y2>c[k].chart.height?c[k].chart.height:h.y2),c[k].lineCoordinates.y1=r-(p[k]+c[k].margin+W),c[k].lineCoordinates.y2=r-(p[k]+c[k].margin+W),"inside"===c[k].labelPlacement&&0<k&&(c[k].lineCoordinates.y1=c[k].lineCoordinates.y1+p[k]-(c[k]._titleTextBlock?c[k]._titleTextBlock.height:0)-c[k].tickLength-(c[k].stripLineLabelEffectiveHeight||0)-5,c[k].lineCoordinates.y2=c[k].lineCoordinates.y1+c[k].lineThickness/2),"inside"===c[k].tickPlacement&&0<k&&
670
+ (c[k].lineCoordinates.y1+=c[k].tickLength,c[k].lineCoordinates.y2=c[k].lineCoordinates.y1+c[k].lineThickness/2),c[k].bounds={x1:d,y1:r-(p[k]+W+c[k].margin),x2:u,y2:m-(W+c[k].margin),width:u-d,height:p[k]},c[k].title&&(c[k]._titleTextBlock.maxWidth=0<c[k].titleMaxWidth&&c[k].titleMaxWidth<c[k].lineCoordinates.width?c[k].titleMaxWidth:c[k].lineCoordinates.width),W+=p[k]+c[k].margin;if(b&&0<b.length)for(k=b.length-1;0<=k;k--)b[k]&&(r=Math.round(h.y1),m=Math.round(h.y1+(G[k]+b[k].margin+I)),b[k].lineCoordinates.y1=
671
+ m,b[k].lineCoordinates.y2=m,"inside"===b[k].labelPlacement&&0<k&&(b[k].lineCoordinates.y1=m-G[k]+(b[k]._titleTextBlock?b[k]._titleTextBlock.height:0)+b[k].tickLength+(b[k].stripLineLabelEffectiveHeight||0),b[k].lineCoordinates.y2=b[k].lineCoordinates.y1-b[k].lineThickness/2),"inside"===b[k].tickPlacement&&0<k&&(b[k].lineCoordinates.y1-=b[k].tickLength,b[k].lineCoordinates.y2=b[k].lineCoordinates.y1-b[k].lineThickness/2),b[k].bounds={x1:d,y1:r+(b[k].margin+I),x2:u,y2:m,width:u-d},b[k].bounds.height=
672
+ b[k].bounds.y2-b[k].bounds.y1,b[k].title&&(b[k]._titleTextBlock.maxWidth=0<b[k].titleMaxWidth&&b[k].titleMaxWidth<b[k].lineCoordinates.width?b[k].titleMaxWidth:b[k].lineCoordinates.width),I+=G[k]+b[k].margin);if(a&&0<a.length)for(k=0;k<a.length;k++){T=a[k]._labels&&0<a[k]._labels.length?a[k]._labels[0].textBlock.fontSize/2:0;d=Math.round(h.x1+e);r=b&&0<b.length?Math.round(b[0]?b[0].lineCoordinates.y2:h.y1<Math.max(T,10)?Math.max(T,10):h.y1):h.y1<Math.max(T,10)?Math.max(T,10):h.y1;u=Math.round(h.x1+
673
+ Y+e);m=c&&0<c.length?Math.round(c[0]?c[0].lineCoordinates.y1:h.y2-R>n.height-Math.max(T,10)?n.height-Math.max(T,10):h.y2-R):h.y2>n.height-Math.max(T,10)?n.height-Math.max(T,10):h.y2;if(c&&0<c.length)for(T=0;T<c.length;T++)c[T]&&c[T].labelAutoFit&&(u=c[T].lineCoordinates.x1,d=0>c[T].labelAngle||0===c[T].labelAngle?u-Y:d);if(b&&0<b.length)for(T=0;T<b.length;T++)b[T]&&b[T].labelAutoFit&&(u=b[T].lineCoordinates.x1,d=u-Y);a[k].lineCoordinates={x1:u-M,y1:r,x2:u-M,y2:m,height:Math.abs(m-r)};"inside"===a[k].labelPlacement&&
674
+ 0<k&&(a[k].lineCoordinates.x1=a[k].lineCoordinates.x1-(F[k]-(a[k]._titleTextBlock?a[k]._titleTextBlock.height:0))+a[k].tickLength+(a[k].stripLineLabelEffectiveWidth||0),a[k].lineCoordinates.x2=a[k].lineCoordinates.x1+a[k].lineThickness/2);"inside"===a[k].tickPlacement&&0<k&&(a[k].lineCoordinates.x1-=a[k].tickLength,a[k].lineCoordinates.x2=a[k].lineCoordinates.x1+a[k].lineThickness/2);a[k].bounds={x1:u-(F[k]+M),y1:r,x2:u-M,y2:m,height:m-r};a[k].bounds.width=a[k].bounds.x2-a[k].bounds.x1;a[k].title&&
675
+ (a[k]._titleTextBlock.maxWidth=0<a[k].titleMaxWidth&&a[k].titleMaxWidth<a[k].lineCoordinates.height?a[k].titleMaxWidth:a[k].lineCoordinates.height);a[k].calculateValueToPixelConversionParameters();a[k].calculateBreaksSizeInValues();M+=F[k]+a[k].margin}if(f&&0<f.length)for(k=0;k<f.length;k++){T=f[k]._labels&&0<f[k]._labels.length?f[k]._labels[0].textBlock.fontSize/2:0;d=Math.round(h.x1-e);r=b&&0<b.length?Math.round(b[0]?b[0].lineCoordinates.y2:h.y1<Math.max(T,10)?Math.max(T,10):h.y1):h.y1<Math.max(T,
676
+ 10)?Math.max(T,10):h.y1;u=Math.round(h.x2-Z-S);m=c&&0<c.length?Math.round(c[0]?c[0].lineCoordinates.y1:h.y2-R>n.height-Math.max(T,10)?n.height-Math.max(T,10):h.y2-R):h.y2>n.height-Math.max(T,10)?n.height-Math.max(T,10):h.y2;if(c&&0<c.length)for(T=0;T<c.length;T++)c[T]&&c[T].labelAutoFit&&(u=0>c[T].labelAngle?Math.max(u,B):0===c[T].labelAngle?Math.max(u,B/2):u,d=0>c[T].labelAngle||0===c[T].labelAngle?u-Z:d);if(b&&0<b.length)for(T=0;T<b.length;T++)b[T]&&b[T].labelAutoFit&&(u=b[T].lineCoordinates.x2,
677
+ d=u-Z);f[k].lineCoordinates={x1:u+P,y1:r,x2:u+P,y2:m,height:Math.abs(m-r)};"inside"===f[k].labelPlacement&&0<k&&(f[k].lineCoordinates.x1=f[k].lineCoordinates.x1+(q[k]-(f[k]._titleTextBlock?f[k]._titleTextBlock.height:0)-2)-f[k].tickLength-(f[k].stripLineLabelEffectiveWidth||0),f[k].lineCoordinates.x2=f[k].lineCoordinates.x1+f[k].lineThickness/2);"inside"===f[k].tickPlacement&&0<k&&(f[k].lineCoordinates.x1+=f[k].tickLength,f[k].lineCoordinates.x2=f[k].lineCoordinates.x1+f[k].lineThickness/2);f[k].bounds=
678
+ {x1:f[k].lineCoordinates.x1,y1:r,x2:u+q[k]+P,y2:m,width:u-d,height:m-r};f[k].bounds.width=f[k].bounds.x2-f[k].bounds.x1;f[k].title&&(f[k]._titleTextBlock.maxWidth=0<f[k].titleMaxWidth&&f[k].titleMaxWidth<f[k].lineCoordinates.height?f[k].titleMaxWidth:f[k].lineCoordinates.height);f[k].calculateValueToPixelConversionParameters();f[k].calculateBreaksSizeInValues();P+=q[k]+f[k].margin}for(k=0;k<s.length;k++)"axisY"===s[k].type&&(s[k].calculateValueToPixelConversionParameters(),s[k].calculateBreaksSizeInValues());
679
+ if(0<t){if(a&&0<a.length)for(k=0;k<a.length;k++)l=N[t-1][k]===N[t][k]?!0:!1;else l=!0;if(f&&0<f.length)for(k=0;k<f.length;k++)L=O[t-1][k]===O[t][k]?!0:!1;else L=!0;if(c&&0<c.length)for(k=0;k<c.length;k++)J=D[t-1][k]===D[t][k]?!0:!1;else J=!0;if(b&&0<b.length)for(k=0;k<b.length;k++)Q=v[t-1][k]===v[t][k]?!0:!1;else Q=!0}if(l&&L&&J&&Q)break;t++}if(c&&0<c.length)for(k=0;k<c.length;k++)c[k].calculateStripLinesThicknessInValues(),c[k].calculateBreaksInPixels();if(b&&0<b.length)for(k=0;k<b.length;k++)b[k].calculateStripLinesThicknessInValues(),
680
+ b[k].calculateBreaksInPixels();if(a&&0<a.length)for(k=0;k<a.length;k++)a[k].calculateStripLinesThicknessInValues(),a[k].calculateBreaksInPixels();if(f&&0<f.length)for(k=0;k<f.length;k++)f[k].calculateStripLinesThicknessInValues(),f[k].calculateBreaksInPixels()}};z.render=function(a,f,c,b,e){var h=a[0]?a[0].chart:f[0].chart;e=h.ctx;h.alignVerticalAxes&&h.alignVerticalAxes();e.save();e.beginPath();a&&a.length&&e.rect(5,a[0].bounds.y1,a[0].chart.width-10,a[a.length-1].bounds.y2);f&&f.length&&e.rect(5,
681
+ f[f.length-1].bounds.y1,f[0].chart.width-10,f[0].bounds.y2);e.clip();if(a&&0<a.length)for(var d=0;d<a.length;d++)a[d].renderLabelsTicksAndTitle();if(f&&0<f.length)for(d=0;d<f.length;d++)f[d].renderLabelsTicksAndTitle();e.restore();if(c&&0<c.length)for(d=0;d<c.length;d++)c[d].renderLabelsTicksAndTitle();if(b&&0<b.length)for(d=0;d<b.length;d++)b[d].renderLabelsTicksAndTitle();h.preparePlotArea();h=h.plotArea;e.save();e.beginPath();e.rect(h.x1,h.y1,Math.abs(h.x2-h.x1),Math.abs(h.y2-h.y1));e.clip();if(a&&
682
+ 0<a.length)for(d=0;d<a.length;d++)a[d].renderStripLinesOfThicknessType("value");if(f&&0<f.length)for(d=0;d<f.length;d++)f[d].renderStripLinesOfThicknessType("value");if(c&&0<c.length)for(d=0;d<c.length;d++)c[d].renderStripLinesOfThicknessType("value");if(b&&0<b.length)for(d=0;d<b.length;d++)b[d].renderStripLinesOfThicknessType("value");if(a&&0<a.length)for(d=0;d<a.length;d++)a[d].renderInterlacedColors();if(f&&0<f.length)for(d=0;d<f.length;d++)f[d].renderInterlacedColors();if(c&&0<c.length)for(d=
683
+ 0;d<c.length;d++)c[d].renderInterlacedColors();if(b&&0<b.length)for(d=0;d<b.length;d++)b[d].renderInterlacedColors();e.restore();if(a&&0<a.length)for(d=0;d<a.length;d++)a[d].renderGrid(),q&&(a[d].createMask(),a[d].renderBreaksBackground());if(f&&0<f.length)for(d=0;d<f.length;d++)f[d].renderGrid(),q&&(f[d].createMask(),f[d].renderBreaksBackground());if(c&&0<c.length)for(d=0;d<c.length;d++)c[d].renderGrid(),q&&(c[d].createMask(),c[d].renderBreaksBackground());if(b&&0<b.length)for(d=0;d<b.length;d++)b[d].renderGrid(),
684
+ q&&(b[d].createMask(),b[d].renderBreaksBackground());if(a&&0<a.length)for(d=0;d<a.length;d++)a[d].renderAxisLine();if(f&&0<f.length)for(d=0;d<f.length;d++)f[d].renderAxisLine();if(c&&0<c.length)for(d=0;d<c.length;d++)c[d].renderAxisLine();if(b&&0<b.length)for(d=0;d<b.length;d++)b[d].renderAxisLine();if(a&&0<a.length)for(d=0;d<a.length;d++)a[d].renderStripLinesOfThicknessType("pixel");if(f&&0<f.length)for(d=0;d<f.length;d++)f[d].renderStripLinesOfThicknessType("pixel");if(c&&0<c.length)for(d=0;d<c.length;d++)c[d].renderStripLinesOfThicknessType("pixel");
685
+ if(b&&0<b.length)for(d=0;d<b.length;d++)b[d].renderStripLinesOfThicknessType("pixel")};z.prototype.calculateStripLinesThicknessInValues=function(){for(var a=0;a<this.stripLines.length;a++)if(null!==this.stripLines[a].startValue&&null!==this.stripLines[a].endValue){var f=Math.min(this.stripLines[a].startValue,this.stripLines[a].endValue),c=Math.max(this.stripLines[a].startValue,this.stripLines[a].endValue),b=this.getApparentDifference(f,c);this.stripLines[a].value=this.convertPixelToValue(Math.abs(this.convertValueToPixel(f)+
686
+ this.convertValueToPixel(c))/2);this.stripLines[a].thickness=b;this.stripLines[a]._thicknessType="value"}};z.prototype.calculateBreaksSizeInValues=function(){for(var a="left"===this._position||"right"===this._position?this.lineCoordinates.height||this.chart.height:this.lineCoordinates.width||this.chart.width,f=this.scaleBreaks?this.scaleBreaks._appliedBreaks:[],c=this.conversionParameters.pixelPerUnit||a/(this.logarithmic?this.conversionParameters.maximum/this.conversionParameters.minimum:this.conversionParameters.maximum-
687
+ this.conversionParameters.minimum),b=this.scaleBreaks&&!g(this.scaleBreaks.options.spacing),e,d=0;d<f.length;d++)e=b||!g(f[d].options.spacing),f[d].spacing=Wa(f[d].spacing,a,8,e?0.1*a:8,e?0:3)<<0,f[d].size=0>f[d].spacing?0:Math.abs(f[d].spacing/c),this.logarithmic&&(f[d].size=Math.pow(this.logarithmBase,f[d].size))};z.prototype.calculateBreaksInPixels=function(){if(!(this.scaleBreaks&&0>=this.scaleBreaks._appliedBreaks.length)){var a=this.scaleBreaks?this.scaleBreaks._appliedBreaks:[];a.length&&(this.scaleBreaks.firstBreakIndex=
688
+ this.scaleBreaks.lastBreakIndex=null);for(var f=0;f<a.length&&!(a[f].startValue>this.conversionParameters.maximum);f++)a[f].endValue<this.conversionParameters.minimum||(g(this.scaleBreaks.firstBreakIndex)&&(this.scaleBreaks.firstBreakIndex=f),a[f].startValue>=this.conversionParameters.minimum&&(a[f].startPixel=this.convertValueToPixel(a[f].startValue),this.scaleBreaks.lastBreakIndex=f),a[f].endValue<=this.conversionParameters.maximum&&(a[f].endPixel=this.convertValueToPixel(a[f].endValue)))}};z.prototype.renderLabelsTicksAndTitle=
689
+ function(){var a=this,f=!1,c=0,b=0,e=1,d=0;0!==this.labelAngle&&360!==this.labelAngle&&(e=1.2);if("undefined"===typeof this.options.interval){if("bottom"===this._position||"top"===this._position)if(this.logarithmic&&!this.equidistantInterval&&this.labelAutoFit){for(var c=[],e=0!==this.labelAngle&&360!==this.labelAngle?1:1.2,g,r=this.viewportMaximum,u=this.lineCoordinates.width/Math.log(this.range),m=this._labels.length-1;0<=m;m--){p=this._labels[m];if(p.position<this.viewportMinimum)break;p.position>
690
+ this.viewportMaximum||!(m===this._labels.length-1||g<Math.log(r/p.position)*u/e)||(c.push(p),r=p.position,g=p.textBlock.width*Math.abs(Math.cos(Math.PI/180*this.labelAngle))+p.textBlock.height*Math.abs(Math.sin(Math.PI/180*this.labelAngle)))}this._labels=c}else{for(m=0;m<this._labels.length;m++)p=this._labels[m],p.position<this.viewportMinimum||(g=p.textBlock.width*Math.abs(Math.cos(Math.PI/180*this.labelAngle))+p.textBlock.height*Math.abs(Math.sin(Math.PI/180*this.labelAngle)),c+=g);c>this.lineCoordinates.width*
691
+ e&&this.labelAutoFit&&(f=!0)}if("left"===this._position||"right"===this._position)if(this.logarithmic&&!this.equidistantInterval&&this.labelAutoFit){for(var c=[],n,r=this.viewportMaximum,u=this.lineCoordinates.height/Math.log(this.range),m=this._labels.length-1;0<=m;m--){p=this._labels[m];if(p.position<this.viewportMinimum)break;p.position>this.viewportMaximum||!(m===this._labels.length-1||n<Math.log(r/p.position)*u)||(c.push(p),r=p.position,n=p.textBlock.height*Math.abs(Math.cos(Math.PI/180*this.labelAngle))+
692
+ p.textBlock.width*Math.abs(Math.sin(Math.PI/180*this.labelAngle)))}this._labels=c}else{for(m=0;m<this._labels.length;m++)p=this._labels[m],p.position<this.viewportMinimum||(n=p.textBlock.height*Math.abs(Math.cos(Math.PI/180*this.labelAngle))+p.textBlock.width*Math.abs(Math.sin(Math.PI/180*this.labelAngle)),b+=n);b>this.lineCoordinates.height*e&&this.labelAutoFit&&(f=!0)}}this.logarithmic&&(!this.equidistantInterval&&this.labelAutoFit)&&this._labels.sort(function(a,b){return a.position-b.position});
693
+ var m=0,p,s;if("bottom"===this._position){for(m=0;m<this._labels.length;m++)p=this._labels[m],p.position<this.viewportMinimum||p.position>this.viewportMaximum||(s=this.getPixelCoordinatesOnAxis(p.position),this.tickThickness&&"inside"!=this.tickPlacement&&(this.ctx.lineWidth=this.tickThickness,this.ctx.strokeStyle=this.tickColor,b=1===this.ctx.lineWidth%2?(s.x<<0)+0.5:s.x<<0,this.ctx.beginPath(),this.ctx.moveTo(b,s.y<<0),this.ctx.lineTo(b,s.y+this.tickLength<<0),this.ctx.stroke()),f&&0!==d++%2&&this.labelAutoFit||
694
+ (0===p.textBlock.angle?(s.x-=p.textBlock.width/2,s.y="inside"===this.labelPlacement?s.y-(("inside"===this.tickPlacement?this.tickLength:0)+p.textBlock.height-p.textBlock.fontSize/2):s.y+("inside"===this.tickPlacement?0:this.tickLength)+p.textBlock.fontSize/2+5):(s.x="inside"===this.labelPlacement?0>this.labelAngle?s.x:s.x-p.textBlock.width*Math.cos(Math.PI/180*this.labelAngle):s.x-(0>this.labelAngle?p.textBlock.width*Math.cos(Math.PI/180*this.labelAngle):0),s.y="inside"===this.labelPlacement?0>this.labelAngle?
695
+ s.y-("inside"===this.tickPlacement?this.tickLength:0)-5:s.y-("inside"===this.tickPlacement?this.tickLength:0)-Math.abs(p.textBlock.width*Math.sin(Math.PI/180*this.labelAngle)+5):s.y+("inside"===this.tickPlacement?0:this.tickLength)+Math.abs(0>this.labelAngle?p.textBlock.width*Math.sin(Math.PI/180*this.labelAngle)-5:5)),p.textBlock.x=s.x,p.textBlock.y=s.y));"inside"===this.tickPlacement&&this.chart.addEventListener("dataAnimationIterationEnd",function(){for(m=0;m<a._labels.length;m++)if(p=a._labels[m],
696
+ !(p.position<a.viewportMinimum||p.position>a.viewportMaximum)&&(s=a.getPixelCoordinatesOnAxis(p.position),a.tickThickness)){a.ctx.lineWidth=a.tickThickness;a.ctx.strokeStyle=a.tickColor;var b=1===a.ctx.lineWidth%2?(s.x<<0)+0.5:s.x<<0;a.ctx.save();a.ctx.beginPath();a.ctx.moveTo(b,s.y<<0);a.ctx.lineTo(b,s.y-a.tickLength<<0);a.ctx.stroke();a.ctx.restore()}},this);this.title&&(this._titleTextBlock.measureText(),this._titleTextBlock.x=this.lineCoordinates.x1+this.lineCoordinates.width/2-this._titleTextBlock.width/
697
697
  2,this._titleTextBlock.y=this.bounds.y2-this._titleTextBlock.height-3,this.titleMaxWidth=this._titleTextBlock.maxWidth,this._titleTextBlock.render(!0))}else if("top"===this._position){for(m=0;m<this._labels.length;m++)p=this._labels[m],p.position<this.viewportMinimum||p.position>this.viewportMaximum||(s=this.getPixelCoordinatesOnAxis(p.position),this.tickThickness&&"inside"!=this.tickPlacement&&(this.ctx.lineWidth=this.tickThickness,this.ctx.strokeStyle=this.tickColor,b=1===this.ctx.lineWidth%2?(s.x<<
698
698
  0)+0.5:s.x<<0,this.ctx.beginPath(),this.ctx.moveTo(b,s.y<<0),this.ctx.lineTo(b,s.y-this.tickLength<<0),this.ctx.stroke()),f&&0!==d++%2&&this.labelAutoFit||(0===p.textBlock.angle?(s.x-=p.textBlock.width/2,s.y="inside"===this.labelPlacement?s.y+this.labelFontSize/2+("inside"===this.tickPlacement?this.tickLength:0)+5:s.y-(("inside"===this.tickPlacement?0:this.tickLength)+p.textBlock.height-p.textBlock.fontSize/2)):(s.x="inside"===this.labelPlacement?0<this.labelAngle?s.x:s.x-p.textBlock.width*Math.cos(Math.PI/
699
699
  180*this.labelAngle):s.x+(p.textBlock.height-this.labelFontSize)*Math.sin(Math.PI/180*this.labelAngle)-(0<this.labelAngle?p.textBlock.width*Math.cos(Math.PI/180*this.labelAngle):0),s.y="inside"===this.labelPlacement?0<this.labelAngle?s.y+("inside"===this.tickPlacement?this.tickLength:0)+5:s.y-p.textBlock.width*Math.sin(Math.PI/180*this.labelAngle)+("inside"===this.tickPlacement?this.tickLength:0)+5:s.y-(("inside"===this.tickPlacement?0:this.tickLength)+((p.textBlock.height-p.textBlock.fontSize/2)*
@@ -930,7 +930,7 @@ this.chart.requestAnimFrame.call(window,function(){h.animate.call(h)}):this.char
930
930
  d){if(0!==a){var c=d.dest,b=d.source.canvas,e=d.animationBase;c.drawImage(b,0,0,b.width,b.height,e-e*a,0,a*c.canvas.width/ia,c.canvas.height/ia)}},xClipAnimation:function(a,d){if(0!==a){var c=d.dest,b=d.source.canvas;c.save();0<a&&c.drawImage(b,0,0,b.width*a,b.height,0,0,b.width*a/ia,b.height/ia);c.restore()}},fadeInAnimation:function(a,d){if(0!==a){var c=d.dest,b=d.source.canvas;c.save();c.globalAlpha=a;c.drawImage(b,0,0,b.width,b.height,0,0,c.canvas.width/ia,c.canvas.height/ia);c.restore()}},easing:{linear:function(a,
931
931
  d,c,b){return c*a/b+d},easeOutQuad:function(a,d,c,b){return-c*(a/=b)*(a-2)+d},easeOutQuart:function(a,d,c,b){return-c*((a=a/b-1)*a*a*a-1)+d},easeInQuad:function(a,d,c,b){return c*(a/=b)*a+d},easeInQuart:function(a,d,c,b){return c*(a/=b)*a*a*a+d}}},B={drawMarker:function(a,d,c,b,e,h,g,r){if(c){var u=1;c.fillStyle=h?h:"#000000";c.strokeStyle=g?g:"#000000";c.lineWidth=r?r:0;c.setLineDash&&c.setLineDash(R("solid",r));"circle"===b?(c.moveTo(a,d),c.beginPath(),c.arc(a,d,e/2,0,2*Math.PI,!1),h&&c.fill(),
932
932
  r&&(g?c.stroke():(u=c.globalAlpha,c.globalAlpha=0.15,c.strokeStyle="black",c.stroke(),c.globalAlpha=u))):"square"===b?(c.beginPath(),c.rect(a-e/2,d-e/2,e,e),h&&c.fill(),r&&(g?c.stroke():(u=c.globalAlpha,c.globalAlpha=0.15,c.strokeStyle="black",c.stroke(),c.globalAlpha=u))):"triangle"===b?(c.beginPath(),c.moveTo(a-e/2,d+e/2),c.lineTo(a+e/2,d+e/2),c.lineTo(a,d-e/2),c.closePath(),h&&c.fill(),r&&(g?c.stroke():(u=c.globalAlpha,c.globalAlpha=0.15,c.strokeStyle="black",c.stroke(),c.globalAlpha=u)),c.beginPath()):
933
- "cross"===b&&(c.strokeStyle=h,c.lineWidth=e/4,c.beginPath(),c.moveTo(a-e/2,d-e/2),c.lineTo(a+e/2,d+e/2),c.stroke(),c.moveTo(a+e/2,d-e/2),c.lineTo(a-e/2,d+e/2),c.stroke())}},drawMarkers:function(a){for(var d=0;d<a.length;d++){var c=a[d];B.drawMarker(c.x,c.y,c.ctx,c.type,c.size,c.color,c.borderColor,c.borderThickness)}}};return t}();Ka.version="v3.7.35 GA";window.CanvasJS&&(Ka&&!window.CanvasJS.Chart)&&(window.CanvasJS.Chart=Ka);da.StockChart={width:500,height:600,backgroundColor:"white",theme:"light1",
933
+ "cross"===b&&(c.strokeStyle=h,c.lineWidth=e/4,c.beginPath(),c.moveTo(a-e/2,d-e/2),c.lineTo(a+e/2,d+e/2),c.stroke(),c.moveTo(a+e/2,d-e/2),c.lineTo(a-e/2,d+e/2),c.stroke())}},drawMarkers:function(a){for(var d=0;d<a.length;d++){var c=a[d];B.drawMarker(c.x,c.y,c.ctx,c.type,c.size,c.color,c.borderColor,c.borderThickness)}}};return t}();Ka.version="v3.7.36 GA";window.CanvasJS&&(Ka&&!window.CanvasJS.Chart)&&(window.CanvasJS.Chart=Ka);da.StockChart={width:500,height:600,backgroundColor:"white",theme:"light1",
934
934
  animationEnabled:!1,animationDuration:1200,culture:"en",creditHref:"",creditText:"CanvasJS",exportEnabled:!1,exportFileName:"StockChart",colorSet:"colorSet1",rangeChanging:null,rangeChanged:null,publicProperties:{title:"readWrite",subtitles:"readWrite",toolbar:"readWrite",navigator:"readWrite",rangeSelector:"readWrite",charts:"readWrite",options:"readWrite",bounds:"readOnly",container:"readOnly",selectedColorSet:"readOnly"}};da.Navigator={enabled:!0,width:500,height:70,verticalAlign:"bottom",horizontalAlign:"center",
935
935
  dynamicUpdate:!0,backgroundColor:"#fff",animationEnabled:!1,animationDuration:1200,theme:"light1",publicProperties:{slider:"readWrite",backgroundColor:"readWrite",animationEnabled:"readWrite",animationDuration:"readWrite",theme:"readWrite",axisX:"readWrite",axisY:"readWrite",axisX2:"readWrite",axisY2:"readWrite",data:"readWrite",options:"readWrite",bounds:"readOnly"}};da.RangeSelector={enabled:!0,width:500,height:35,label:"Range",verticalAlign:"top",horizontalAlign:"center",selectedRangeButtonIndex:null,
936
936
  publicProperties:{options:"readWrite",buttons:"readWrite",inputFields:"readWrite",buttonStyle:"readWrite",bounds:"readOnly"}};da.RangeButton={range:null,rangeType:null,label:null,style:"position: inline; margin: 5px 0;text-align:center;cursor: pointer;",backgroundColorDisabled:"#ddd",publicProperties:{options:"readWrite",bounds:"readOnly"}};da.ButtonStyle={backgroundColor:"#fff",backgroundColorOnHover:"#2196f3",backgroundColorOnSelect:"#2196f3",borderColor:"#2196f3",borderThickness:2,labelFontColor:"#000",
@@ -1116,7 +1116,7 @@ l[d]:this.label};N.prototype.render=function(){this.textBlock.render(!0)};ha(V,Z
1116
1116
  this.style.fontFamily,this.elements[d].style.fontWeight=this.style.fontWeight,this.elements[d].style.lineHeight=1,isNaN(this.style.padding)?(this.elements[d].style.paddingTop=this.style.padding.top+"px",this.elements[d].style.paddingRight=this.style.padding.right+"px",this.elements[d].style.paddingBottom=this.style.padding.bottom+"px",this.elements[d].style.paddingLeft=this.style.padding.left+"px"):this.elements[d].style.padding=this.style.padding+"px",this.elements[d].style.mozAppearance=this.elements[d].style.webkitAppearance=
1117
1117
  this.elements[d].style.appearance="none",this.elements[d].style.webkitBorderRadius=0,this.elements[d].style.mozBorderRadius=0,this.elements[d].style.borderRadius=0,this.elements[d].style.boxSizing="content-box";this.parent=this.rangeSelector=this.stockChart.rangeSelector}};ha(W,Z);W.prototype._updateOptions=function(){this.updateOption("backgroundColor");this.updateOption("backgroundColorOnHover");this.updateOption("backgroundColorOnSelect");this.updateOption("borderColor");this.updateOption("borderThickness");
1118
1118
  this.updateOption("labelFontColor");this.updateOption("labelFontColorOnHover");this.updateOption("labelFontSize");this.updateOption("labelFontStyle");this.updateOption("labelFontFamily");this.updateOption("labelFontWeight");this.updateOption("width");this.updateOption("maxWidth");this.updateOption("padding");this.updateOption("spacing");this.updateOption("cursor")};ha($,Z);$.prototype._updateOptions=function(){this.updateOption("backgroundColor");this.updateOption("borderColor");this.updateOption("borderThickness");
1119
- this.updateOption("borderColorOnFocus");this.updateOption("fontColor");this.updateOption("fontSize");this.updateOption("fontStyle");this.updateOption("fontFamily");this.updateOption("fontWeight");this.updateOption("width");this.updateOption("maxWidth");this.updateOption("padding");this.updateOption("spacing");this.updateOption("cursor")};return F}();S.version="v1.7.35 GA";window.CanvasJS&&(S&&(!window.CanvasJS.StockChart&&window.CanvasJS.Chart)&&(window.CanvasJS.StockChart=S),S&&!window.CanvasJS.Chart&&
1119
+ this.updateOption("borderColorOnFocus");this.updateOption("fontColor");this.updateOption("fontSize");this.updateOption("fontStyle");this.updateOption("fontFamily");this.updateOption("fontWeight");this.updateOption("width");this.updateOption("maxWidth");this.updateOption("padding");this.updateOption("spacing");this.updateOption("cursor")};return F}();S.version="v1.7.36 GA";window.CanvasJS&&(S&&(!window.CanvasJS.StockChart&&window.CanvasJS.Chart)&&(window.CanvasJS.StockChart=S),S&&!window.CanvasJS.Chart&&
1120
1120
  (window.CanvasJS.Chart=Ka,window.CanvasJS.StockChart=S))})();
1121
1121
 
1122
1122
  /*
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@canvasjs/stockcharts",
3
- "version": "1.7.35",
3
+ "version": "1.7.36",
4
4
  "description": "CanvasJS JavaScript StockCharts - Official",
5
5
  "main": "canvasjs.stock.min.js",
6
6
  "keywords": [