@canvasjs/stockcharts 1.7.43 → 1.7.44

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.
@@ -1,5 +1,5 @@
1
1
  /*
2
- CanvasJS StockChart - v1.7.43 GA - https://canvasjs.com/
2
+ CanvasJS StockChart - v1.7.44 GA - https://canvasjs.com/
3
3
  Copyright 2024 fenopix
4
4
 
5
5
  --------------------- License Information --------------------
@@ -18,22 +18,22 @@
18
18
  /*eslint-disable*/
19
19
  /*jshint ignore:start*/
20
20
  (function(){function ga(m,A){m.prototype=ob(A.prototype);m.prototype.constructor=m;m.base=A.prototype}function ob(m){function A(){}A.prototype=m;return new A}function cb(m,A,f){"millisecond"===f?m.setMilliseconds(m.getMilliseconds()+1*A):"second"===f?m.setSeconds(m.getSeconds()+1*A):"minute"===f?m.setMinutes(m.getMinutes()+1*A):"hour"===f?m.setHours(m.getHours()+1*A):"day"===f?m.setDate(m.getDate()+1*A):"week"===f?m.setDate(m.getDate()+7*A):"month"===f?m.setMonth(m.getMonth()+1*A):"year"===f&&m.setFullYear(m.getFullYear()+
21
- 1*A);return m}function ma(m,A){var f=!1;0>m&&(f=!0,m*=-1);m=""+m;for(A=A?A:1;m.length<A;)m="0"+m;return f?"-"+m:m}function Pa(m){if(!m)return m;m=m.replace(/^\s\s*/,"");for(var A=/\s/,f=m.length;A.test(m.charAt(--f)););return m.slice(0,f+1)}function Ca(m){m.roundRect=function(m,f,t,$,O,y,k,v){k&&(this.fillStyle=k);v&&(this.strokeStyle=v);"undefined"===typeof O&&(O=5);this.lineWidth=y;this.beginPath();this.moveTo(m+O,f);this.lineTo(m+t-O,f);this.quadraticCurveTo(m+t,f,m+t,f+O);this.lineTo(m+t,f+$-
22
- O);this.quadraticCurveTo(m+t,f+$,m+t-O,f+$);this.lineTo(m+O,f+$);this.quadraticCurveTo(m,f+$,m,f+$-O);this.lineTo(m,f+O);this.quadraticCurveTo(m,f,m+O,f);this.closePath();k&&this.fill();v&&0<y&&this.stroke()}}function Xa(m,A){return m-A}function db(m,A,f){if(m&&A&&f){f=f+"."+A;var t="image/"+A;m=m.toDataURL(t);var $=!1,O=document.createElement("a");O.download=f;O.href=m;if("undefined"!==typeof Blob&&new Blob){for(var y=m.replace(/^data:[a-z\/]*;base64,/,""),y=atob(y),k=new ArrayBuffer(y.length),k=
23
- new Uint8Array(k),v=0;v<y.length;v++)k[v]=y.charCodeAt(v);A=new Blob([k.buffer],{type:"image/"+A});try{window.navigator.msSaveBlob(A,f),$=!0}catch(N){O.dataset.downloadurl=[t,O.download,O.href].join(":"),O.href=window.URL.createObjectURL(A)}}if(!$)try{event=document.createEvent("MouseEvents"),event.initMouseEvent("click",!0,!1,window,0,0,0,0,0,!1,!1,!1,!1,0,null),O.dispatchEvent?O.dispatchEvent(event):O.fireEvent&&O.fireEvent("onclick")}catch(E){A=window.open(),A.document.write("<img src='"+m+"'></img><div>Please right click on the image and save it to your device</div>"),
21
+ 1*A);return m}function ma(m,A){var f=!1;0>m&&(f=!0,m*=-1);m=""+m;for(A=A?A:1;m.length<A;)m="0"+m;return f?"-"+m:m}function Pa(m){if(!m)return m;m=m.replace(/^\s\s*/,"");for(var A=/\s/,f=m.length;A.test(m.charAt(--f)););return m.slice(0,f+1)}function Ca(m){m.roundRect=function(m,f,t,$,O,y,k,w){k&&(this.fillStyle=k);w&&(this.strokeStyle=w);"undefined"===typeof O&&(O=5);this.lineWidth=y;this.beginPath();this.moveTo(m+O,f);this.lineTo(m+t-O,f);this.quadraticCurveTo(m+t,f,m+t,f+O);this.lineTo(m+t,f+$-
22
+ O);this.quadraticCurveTo(m+t,f+$,m+t-O,f+$);this.lineTo(m+O,f+$);this.quadraticCurveTo(m,f+$,m,f+$-O);this.lineTo(m,f+O);this.quadraticCurveTo(m,f,m+O,f);this.closePath();k&&this.fill();w&&0<y&&this.stroke()}}function Xa(m,A){return m-A}function db(m,A,f){if(m&&A&&f){f=f+"."+A;var t="image/"+A;m=m.toDataURL(t);var $=!1,O=document.createElement("a");O.download=f;O.href=m;if("undefined"!==typeof Blob&&new Blob){for(var y=m.replace(/^data:[a-z\/]*;base64,/,""),y=atob(y),k=new ArrayBuffer(y.length),k=
23
+ new Uint8Array(k),w=0;w<y.length;w++)k[w]=y.charCodeAt(w);A=new Blob([k.buffer],{type:"image/"+A});try{window.navigator.msSaveBlob(A,f),$=!0}catch(N){O.dataset.downloadurl=[t,O.download,O.href].join(":"),O.href=window.URL.createObjectURL(A)}}if(!$)try{event=document.createEvent("MouseEvents"),event.initMouseEvent("click",!0,!1,window,0,0,0,0,0,!1,!1,!1,!1,0,null),O.dispatchEvent?O.dispatchEvent(event):O.fireEvent&&O.fireEvent("onclick")}catch(E){A=window.open(),A.document.write("<img src='"+m+"'></img><div>Please right click on the image and save it to your device</div>"),
24
24
  A.document.close()}}}function R(m){var A=((m&16711680)>>16).toString(16),f=((m&65280)>>8).toString(16);m=((m&255)>>0).toString(16);A=2>A.length?"0"+A:A;f=2>f.length?"0"+f:f;m=2>m.length?"0"+m:m;return"#"+A+f+m}function pb(m,A){var f=this.length>>>0,t=Number(A)||0,t=0>t?Math.ceil(t):Math.floor(t);for(0>t&&(t+=f);t<f;t++)if(t in this&&this[t]===m)return t;return-1}function f(m){return null===m||"undefined"===typeof m}function Da(m){m.indexOf||(m.indexOf=pb);return m}function qb(m){if(Aa.fSDec)m[ua("`eeDwdouMhrudods")](ua("e`u`@ohl`uhnoHuds`uhnoDoe"),
25
25
  function(){Aa._fTWm&&Aa._fTWm(m)})}function eb(m,A,f){f=f||"normal";var t=m+"_"+A+"_"+f,$=fb[t];if(isNaN($)){try{if(!Ea){var O=document.body;Ea=document.createElement("span");Ea.innerHTML="";var y=document.createTextNode("Mpgyi");Ea.appendChild(y);O.appendChild(Ea)}Ea.style.display="";P(Ea,{position:"absolute",left:"0px",top:"-20000px",padding:"0px",margin:"0px",border:"none",whiteSpace:"pre",lineHeight:"normal",fontFamily:m,fontSize:A+"px",fontWeight:f});$=Math.round(Ea.offsetHeight);Ea.style.display=
26
- "none"}catch(k){$=Math.ceil(1.1*A)}$=Math.max($,A);fb[t]=$}return $}function X(m,A){var f=[];if(f={solid:[],shortDash:[3,1],shortDot:[1,1],shortDashDot:[3,1,1,1],shortDashDotDot:[3,1,1,1,1,1],dot:[1,2],dash:[4,2],dashDot:[4,2,1,2],longDash:[8,2],longDashDot:[8,2,1,2],longDashDotDot:[8,2,1,2,1,2]}[m||"solid"])for(var t=0;t<f.length;t++)f[t]*=A;else f=[];return f}function v(m,A,F,t,$){t=t||[];$=f($)?rb?{passive:!1,capture:!1}:!1:$;t.push([m,A,F,$]);return m.addEventListener?(m.addEventListener(A,F,
26
+ "none"}catch(k){$=Math.ceil(1.1*A)}$=Math.max($,A);fb[t]=$}return $}function X(m,A){var f=[];if(f={solid:[],shortDash:[3,1],shortDot:[1,1],shortDashDot:[3,1,1,1],shortDashDotDot:[3,1,1,1,1,1],dot:[1,2],dash:[4,2],dashDot:[4,2,1,2],longDash:[8,2],longDashDot:[8,2,1,2],longDashDotDot:[8,2,1,2,1,2]}[m||"solid"])for(var t=0;t<f.length;t++)f[t]*=A;else f=[];return f}function w(m,A,F,t,$){t=t||[];$=f($)?rb?{passive:!1,capture:!1}:!1:$;t.push([m,A,F,$]);return m.addEventListener?(m.addEventListener(A,F,
27
27
  $),F):m.attachEvent?(t=function(A){A=A||window.event;A.preventDefault=A.preventDefault||function(){A.returnValue=!1};A.stopPropagation=A.stopPropagation||function(){A.cancelBubble=!0};F.call(m,A)},m.attachEvent("on"+A,t),t):!1}function gb(m,A,f,t){t=t||!1;if(m.removeEventListener)m.removeEventListener(A,f,t);else if(m.detachEvent)m.detachEvent("on"+A,f);else return!1}function hb(m,A){if("createEvent"in document){var f=document.createEvent("HTMLEvents");f.initEvent(A,!1,!0);m.dispatchEvent(f)}else m.fireEvent("on"+
28
- A)}function ib(m){if(m._menuButton)m.exportEnabled?(P(m._menuButton,{backgroundColor:m.toolbar.itemBackgroundColor,color:m.toolbar.fontColor}),Sa(m._menuButton),va(m,m._menuButton,"menu")):xa(m._menuButton);else if(m.exportEnabled&&t){var A=!1;m._menuButton=document.createElement("button");va(m,m._menuButton,"menu");m._toolBar.appendChild(m._menuButton);v(m._menuButton,"touchstart",function(m){A=!0},m.allDOMEventHandlers);v(m._menuButton,"click",function(){"none"!==m._dropdownMenu.style.display||
29
- m._dropDownCloseTime&&500>=(new Date).getTime()-m._dropDownCloseTime.getTime()||(m._dropdownMenu.style.display="block",m._menuButton.blur(),m._dropdownMenu.focus())},m.allDOMEventHandlers,!0);v(m._menuButton,"mousemove",function(){A||(P(m._menuButton,{backgroundColor:m.toolbar.itemBackgroundColorOnHover,color:m.toolbar.fontColorOnHover}),0>=navigator.userAgent.search("MSIE")&&P(m._menuButton.childNodes[0],{WebkitFilter:"invert(100%)",filter:"invert(100%)"}))},m.allDOMEventHandlers,!0);v(m._menuButton,
28
+ A)}function ib(m){if(m._menuButton)m.exportEnabled?(P(m._menuButton,{backgroundColor:m.toolbar.itemBackgroundColor,color:m.toolbar.fontColor}),Sa(m._menuButton),va(m,m._menuButton,"menu")):xa(m._menuButton);else if(m.exportEnabled&&t){var A=!1;m._menuButton=document.createElement("button");va(m,m._menuButton,"menu");m._toolBar.appendChild(m._menuButton);w(m._menuButton,"touchstart",function(m){A=!0},m.allDOMEventHandlers);w(m._menuButton,"click",function(){"none"!==m._dropdownMenu.style.display||
29
+ m._dropDownCloseTime&&500>=(new Date).getTime()-m._dropDownCloseTime.getTime()||(m._dropdownMenu.style.display="block",m._menuButton.blur(),m._dropdownMenu.focus())},m.allDOMEventHandlers,!0);w(m._menuButton,"mousemove",function(){A||(P(m._menuButton,{backgroundColor:m.toolbar.itemBackgroundColorOnHover,color:m.toolbar.fontColorOnHover}),0>=navigator.userAgent.search("MSIE")&&P(m._menuButton.childNodes[0],{WebkitFilter:"invert(100%)",filter:"invert(100%)"}))},m.allDOMEventHandlers,!0);w(m._menuButton,
30
30
  "mouseout",function(){A||(P(m._menuButton,{backgroundColor:m.toolbar.itemBackgroundColor,color:m.toolbar.fontColor}),0>=navigator.userAgent.search("MSIE")&&P(m._menuButton.childNodes[0],{WebkitFilter:"invert(0%)",filter:"invert(0%)"}))},m.allDOMEventHandlers,!0)}if(m.exportEnabled&&m._dropdownMenu){P(m._dropdownMenu,{backgroundColor:m.toolbar.itemBackgroundColor,color:m.toolbar.fontColor});for(var f=m._dropdownMenu.childNodes,Q=[m._cultureInfo.printText,m._cultureInfo.saveJPGText,m._cultureInfo.savePNGText],
31
31
  $=0;$<f.length;$++)P(f[$],{backgroundColor:m.toolbar.itemBackgroundColor,color:m.toolbar.fontColor}),f[$].innerHTML=Q[$]}else!m._dropdownMenu&&(m.exportEnabled&&t)&&(A=!1,m._dropdownMenu=document.createElement("div"),m._dropdownMenu.setAttribute("tabindex",-1),f=-1!==m.theme.indexOf("dark")?"black":"#888888",P(m._dropdownMenu,{position:"absolute",zIndex:1,userSelect:"none",MozUserSeelct:"none",WebkitUserSelect:"none",msUserSelect:"none",cursor:"pointer",right:"0px",top:"25px",minWidth:"120px",outline:0,
32
- fontSize:"14px",fontFamily:"Arial, Helvetica, sans-serif",padding:"5px 0px 5px 0px",textAlign:"left",lineHeight:"10px",backgroundColor:m.toolbar.itemBackgroundColor,boxShadow:"2px 2px 10px"+f}),m._dropdownMenu.style.display="none",m._toolBar.appendChild(m._dropdownMenu),v(m._dropdownMenu,"blur",function(){xa(m._dropdownMenu);m._dropDownCloseTime=new Date},m.allDOMEventHandlers,!0),f=document.createElement("div"),P(f,{padding:"12px 8px 12px 8px"}),f.innerHTML=m._cultureInfo.printText,f.style.backgroundColor=
33
- m.toolbar.itemBackgroundColor,f.style.color=m.toolbar.fontColor,m._dropdownMenu.appendChild(f),v(f,"touchstart",function(m){A=!0},m.allDOMEventHandlers),v(f,"mousemove",function(){A||(this.style.backgroundColor=m.toolbar.itemBackgroundColorOnHover,this.style.color=m.toolbar.fontColorOnHover)},m.allDOMEventHandlers,!0),v(f,"mouseout",function(){A||(this.style.backgroundColor=m.toolbar.itemBackgroundColor,this.style.color=m.toolbar.fontColor)},m.allDOMEventHandlers,!0),v(f,"click",function(){m.print();
34
- xa(m._dropdownMenu)},m.allDOMEventHandlers,!0),f=document.createElement("div"),P(f,{padding:"12px 8px 12px 8px"}),f.innerHTML=m._cultureInfo.saveJPGText,f.style.backgroundColor=m.toolbar.itemBackgroundColor,f.style.color=m.toolbar.fontColor,m._dropdownMenu.appendChild(f),v(f,"touchstart",function(m){A=!0},m.allDOMEventHandlers),v(f,"mousemove",function(){A||(this.style.backgroundColor=m.toolbar.itemBackgroundColorOnHover,this.style.color=m.toolbar.fontColorOnHover)},m.allDOMEventHandlers,!0),v(f,
35
- "mouseout",function(){A||(this.style.backgroundColor=m.toolbar.itemBackgroundColor,this.style.color=m.toolbar.fontColor)},m.allDOMEventHandlers,!0),v(f,"click",function(){m.exportChart({format:"jpeg",fileName:m.exportFileName});xa(m._dropdownMenu)},m.allDOMEventHandlers,!0),f=document.createElement("div"),P(f,{padding:"12px 8px 12px 8px"}),f.innerHTML=m._cultureInfo.savePNGText,f.style.backgroundColor=m.toolbar.itemBackgroundColor,f.style.color=m.toolbar.fontColor,m._dropdownMenu.appendChild(f),v(f,
36
- "touchstart",function(m){A=!0},m.allDOMEventHandlers),v(f,"mousemove",function(){A||(this.style.backgroundColor=m.toolbar.itemBackgroundColorOnHover,this.style.color=m.toolbar.fontColorOnHover)},m.allDOMEventHandlers,!0),v(f,"mouseout",function(){A||(this.style.backgroundColor=m.toolbar.itemBackgroundColor,this.style.color=m.toolbar.fontColor)},m.allDOMEventHandlers,!0),v(f,"click",function(){m.exportChart({format:"png",fileName:m.exportFileName});xa(m._dropdownMenu)},m.allDOMEventHandlers,!0))}function jb(m,
32
+ fontSize:"14px",fontFamily:"Arial, Helvetica, sans-serif",padding:"5px 0px 5px 0px",textAlign:"left",lineHeight:"10px",backgroundColor:m.toolbar.itemBackgroundColor,boxShadow:"2px 2px 10px"+f}),m._dropdownMenu.style.display="none",m._toolBar.appendChild(m._dropdownMenu),w(m._dropdownMenu,"blur",function(){xa(m._dropdownMenu);m._dropDownCloseTime=new Date},m.allDOMEventHandlers,!0),f=document.createElement("div"),P(f,{padding:"12px 8px 12px 8px"}),f.innerHTML=m._cultureInfo.printText,f.style.backgroundColor=
33
+ m.toolbar.itemBackgroundColor,f.style.color=m.toolbar.fontColor,m._dropdownMenu.appendChild(f),w(f,"touchstart",function(m){A=!0},m.allDOMEventHandlers),w(f,"mousemove",function(){A||(this.style.backgroundColor=m.toolbar.itemBackgroundColorOnHover,this.style.color=m.toolbar.fontColorOnHover)},m.allDOMEventHandlers,!0),w(f,"mouseout",function(){A||(this.style.backgroundColor=m.toolbar.itemBackgroundColor,this.style.color=m.toolbar.fontColor)},m.allDOMEventHandlers,!0),w(f,"click",function(){m.print();
34
+ xa(m._dropdownMenu)},m.allDOMEventHandlers,!0),f=document.createElement("div"),P(f,{padding:"12px 8px 12px 8px"}),f.innerHTML=m._cultureInfo.saveJPGText,f.style.backgroundColor=m.toolbar.itemBackgroundColor,f.style.color=m.toolbar.fontColor,m._dropdownMenu.appendChild(f),w(f,"touchstart",function(m){A=!0},m.allDOMEventHandlers),w(f,"mousemove",function(){A||(this.style.backgroundColor=m.toolbar.itemBackgroundColorOnHover,this.style.color=m.toolbar.fontColorOnHover)},m.allDOMEventHandlers,!0),w(f,
35
+ "mouseout",function(){A||(this.style.backgroundColor=m.toolbar.itemBackgroundColor,this.style.color=m.toolbar.fontColor)},m.allDOMEventHandlers,!0),w(f,"click",function(){m.exportChart({format:"jpeg",fileName:m.exportFileName});xa(m._dropdownMenu)},m.allDOMEventHandlers,!0),f=document.createElement("div"),P(f,{padding:"12px 8px 12px 8px"}),f.innerHTML=m._cultureInfo.savePNGText,f.style.backgroundColor=m.toolbar.itemBackgroundColor,f.style.color=m.toolbar.fontColor,m._dropdownMenu.appendChild(f),w(f,
36
+ "touchstart",function(m){A=!0},m.allDOMEventHandlers),w(f,"mousemove",function(){A||(this.style.backgroundColor=m.toolbar.itemBackgroundColorOnHover,this.style.color=m.toolbar.fontColorOnHover)},m.allDOMEventHandlers,!0),w(f,"mouseout",function(){A||(this.style.backgroundColor=m.toolbar.itemBackgroundColor,this.style.color=m.toolbar.fontColor)},m.allDOMEventHandlers,!0),w(f,"click",function(){m.exportChart({format:"png",fileName:m.exportFileName});xa(m._dropdownMenu)},m.allDOMEventHandlers,!0))}function jb(m,
37
37
  f,t){m*=ia;f*=ia;m=t.getImageData(m,f,2,2).data;f=!0;for(t=0;4>t;t++)if(m[t]!==m[t+4]|m[t]!==m[t+8]|m[t]!==m[t+12]){f=!1;break}return f?m[0]<<16|m[1]<<8|m[2]:0}function qa(m,f,t){return m in f?f[m]:t[m]}function Ta(m,A,F,Q){t&&kb?(Q=!f(Q)&&Q?m.getContext("2d",{willReadFrequently:!0}):m.getContext("2d"),Ua=Q.webkitBackingStorePixelRatio||Q.mozBackingStorePixelRatio||Q.msBackingStorePixelRatio||Q.oBackingStorePixelRatio||Q.backingStorePixelRatio||1,ia=Ya/Ua,m.width=A*ia,m.height=F*ia,Ya!==Ua&&(m.style.width=
38
38
  A+"px",m.style.height=F+"px",Q.scale(ia,ia))):(m.width=A,m.height=F)}function sb(m){if(!tb){var f=!1,t=!1;"undefined"===typeof ha.Chart.creditHref?(m.creditHref=ua("iuuqr;..b`ow`rkr/bnl."),m.creditText=ua("B`ow`rKR/bnl")):(f=m.updateOption("creditText"),t=m.updateOption("creditHref"));if(m.creditHref&&m.creditText){m._creditLink||(m._creditLink=document.createElement("a"),m._creditLink.setAttribute("class","canvasjs-chart-credit"),m._creditLink.setAttribute("title","JavaScript Charts"),P(m._creditLink,
39
39
  {outline:"none",margin:"0px",position:"absolute",right:"2px",top:m.height-14+"px",color:"dimgrey",textDecoration:"none",fontSize:"11px",fontFamily:"Calibri, Lucida Grande, Lucida Sans Unicode, Arial, sans-serif"}),m._creditLink.setAttribute("tabIndex",-1),m._creditLink.setAttribute("target","_blank"));if(0===m.renderCount||f||t)m._creditLink.setAttribute("href",m.creditHref),m._creditLink.innerHTML=m.creditText;m._creditLink&&m.creditHref&&m.creditText?(m._creditLink.parentElement||m._canvasJSContainer.appendChild(m._creditLink),
@@ -94,45 +94,45 @@ theme2:Ia,theme3:Fa},V={numberDuration:1,yearDuration:314496E5,monthDuration:259
94
94
  var rb=function(){var m=!1;try{var f=Object.defineProperty&&Object.defineProperty({},"passive",{get:function(){m=!0;return!1}});window.addEventListener&&(window.addEventListener("test",null,f),window.removeEventListener("test",null,f))}catch(t){m=!1}return m}(),fb={},Ea=null,lb=function(m){var f=0,t=0;this.options.width?f=this.width:this.width=f=0<this.container.clientWidth?this.container.clientWidth:this.width;this.options.height?t=this.height:this.height=t=0<this.container.clientHeight?this.container.clientHeight:
95
95
  this.height;if(this.canvas.width!==f*ia||this.canvas.height!==t*ia){for(var Q=0;Q<m.length;Q++)Ta(m[Q],f,t);this.bounds={x1:0,y1:0,x2:this.width,y2:this.height,width:this.width,height:this.height};return!0}return!1},mb=function(){this.ctx.clearRect(0,0,this.width,this.height);this.backgroundColor&&(this.ctx.fillStyle=this.backgroundColor,this.ctx.fillRect(0,0,this.width,this.height))},Ba=function(m){m.width=1;m.height=1;m.getContext("2d")&&m.getContext("2d").clearRect(0,0,1,1)},nb=function(m,f,t){f=
96
96
  Math.min(this.width,this.height);return Math.max("theme4"===this.theme?0:300<=f?12:11,Math.round(f*(m/400)))},ea=function(){var m=/D{1,4}|M{1,4}|Y{1,4}|h{1,2}|H{1,2}|m{1,2}|s{1,2}|f{1,3}|t{1,2}|T{1,2}|K|z{1,3}|"[^"]*"|'[^']*'/g,f="Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),t="Sun Mon Tue Wed Thu Fri Sat".split(" "),Q="January February March April May June July August September October November December".split(" "),$="Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),
97
- k=/\b(?:[PMCEA][SDP]T|(?:Pacific|Mountain|Central|Eastern|Atlantic) (?:Standard|Daylight|Prevailing) Time|(?:GMT|UTC)(?:[-+]\d{4})?)\b/g,y=/[^-+\dA-Z]/g;return function(v,E,N){var K=N?N.days:f,X=N?N.months:Q,M=N?N.shortDays:t,R=N?N.shortMonths:$;N="";var d=!1;v=v&&v.getTime?v:v?new Date(v):new Date;if(isNaN(v))throw SyntaxError("invalid date");"UTC:"===E.slice(0,4)&&(E=E.slice(4),d=!0);N=d?"getUTC":"get";var r=v[N+"Date"](),C=v[N+"Day"](),B=v[N+"Month"](),a=v[N+"FullYear"](),g=v[N+"Hours"](),c=v[N+
98
- "Minutes"](),b=v[N+"Seconds"](),e=v[N+"Milliseconds"](),l=d?0:v.getTimezoneOffset();return N=E.replace(m,function(z){switch(z){case "D":return r;case "DD":return ma(r,2);case "DDD":return M[C];case "DDDD":return K[C];case "M":return B+1;case "MM":return ma(B+1,2);case "MMM":return R[B];case "MMMM":return X[B];case "Y":return parseInt(String(a).slice(-2));case "YY":return ma(String(a).slice(-2),2);case "YYY":return ma(String(a).slice(-3),3);case "YYYY":return ma(a,4);case "h":return g%12||12;case "hh":return ma(g%
99
- 12||12,2);case "H":return g;case "HH":return ma(g,2);case "m":return c;case "mm":return ma(c,2);case "s":return b;case "ss":return ma(b,2);case "f":return ma(String(e),3).slice(0,1);case "ff":return ma(String(e),3).slice(0,2);case "fff":return ma(String(e),3).slice(0,3);case "t":return 12>g?"a":"p";case "tt":return 12>g?"am":"pm";case "T":return 12>g?"A":"P";case "TT":return 12>g?"AM":"PM";case "K":return d?"UTC":(String(v).match(k)||[""]).pop().replace(y,"");case "z":return(0<l?"-":"+")+Math.floor(Math.abs(l)/
97
+ k=/\b(?:[PMCEA][SDP]T|(?:Pacific|Mountain|Central|Eastern|Atlantic) (?:Standard|Daylight|Prevailing) Time|(?:GMT|UTC)(?:[-+]\d{4})?)\b/g,y=/[^-+\dA-Z]/g;return function(w,E,N){var K=N?N.days:f,X=N?N.months:Q,M=N?N.shortDays:t,R=N?N.shortMonths:$;N="";var d=!1;w=w&&w.getTime?w:w?new Date(w):new Date;if(isNaN(w))throw SyntaxError("invalid date");"UTC:"===E.slice(0,4)&&(E=E.slice(4),d=!0);N=d?"getUTC":"get";var r=w[N+"Date"](),C=w[N+"Day"](),B=w[N+"Month"](),a=w[N+"FullYear"](),g=w[N+"Hours"](),c=w[N+
98
+ "Minutes"](),b=w[N+"Seconds"](),e=w[N+"Milliseconds"](),l=d?0:w.getTimezoneOffset();return N=E.replace(m,function(z){switch(z){case "D":return r;case "DD":return ma(r,2);case "DDD":return M[C];case "DDDD":return K[C];case "M":return B+1;case "MM":return ma(B+1,2);case "MMM":return R[B];case "MMMM":return X[B];case "Y":return parseInt(String(a).slice(-2));case "YY":return ma(String(a).slice(-2),2);case "YYY":return ma(String(a).slice(-3),3);case "YYYY":return ma(a,4);case "h":return g%12||12;case "hh":return ma(g%
99
+ 12||12,2);case "H":return g;case "HH":return ma(g,2);case "m":return c;case "mm":return ma(c,2);case "s":return b;case "ss":return ma(b,2);case "f":return ma(String(e),3).slice(0,1);case "ff":return ma(String(e),3).slice(0,2);case "fff":return ma(String(e),3).slice(0,3);case "t":return 12>g?"a":"p";case "tt":return 12>g?"am":"pm";case "T":return 12>g?"A":"P";case "TT":return 12>g?"AM":"PM";case "K":return d?"UTC":(String(w).match(k)||[""]).pop().replace(y,"");case "z":return(0<l?"-":"+")+Math.floor(Math.abs(l)/
100
100
  60);case "zz":return(0<l?"-":"+")+ma(Math.floor(Math.abs(l)/60),2);case "zzz":return(0<l?"-":"+")+ma(Math.floor(Math.abs(l)/60),2)+ma(Math.abs(l)%60,2);default:return z.slice(1,z.length-1)}})}}(),vb=function(m){var f=0>m;if(1>Math.abs(m)){var t=parseInt(m.toString().split("e-")[1]);t&&(m=(f?-1*m:m)*Math.pow(10,t-1),m="0."+Array(t).join("0")+m.toString().substring(2),m=f?"-"+m:m)}else t=parseInt(m.toString().split("+")[1]),20<t&&(t-=20,m/=Math.pow(10,t),m=m.toString()+Array(t+1).join("0"));return String(m)},
101
- ca=function(m,f,t){if(null===m)return"";if(!isFinite(m))return m;m=Number(m);var Q=0>m?!0:!1;Q&&(m*=-1);var $=t?t.decimalSeparator:".",k=t?t.digitGroupSeparator:",",y="";f=String(f);var y=1,v=t="",E=-1,N=[],K=[],X=0,M=0,R=0,d=!1,r=0,v=f.match(/"[^"]*"|'[^']*'|[eE][+-]*[0]+|[,]+[.]|\u2030|./g);f=null;for(var C=0;v&&C<v.length;C++)if(f=v[C],"."===f&&0>E)E=C;else{if("%"===f)y*=100;else if("\u2030"===f){y*=1E3;continue}else if(","===f[0]&&"."===f[f.length-1]){y/=Math.pow(1E3,f.length-1);E=C+f.length-
102
- 1;continue}else"E"!==f[0]&&"e"!==f[0]||"0"!==f[f.length-1]||(d=!0);0>E?(N.push(f),"#"===f||"0"===f?X++:","===f&&R++):(K.push(f),"#"!==f&&"0"!==f||M++)}d&&(f=Math.floor(m),v=-Math.floor(Math.log(m)/Math.LN10+1),r=0===m?0:0===f?-(X+v):vb(f).length-X,y/=Math.pow(10,r));0>E&&(E=C);y=(m*y).toFixed(M);f=y.split(".");y=(f[0]+"").split("");m=(f[1]+"").split("");y&&"0"===y[0]&&y.shift();for(d=v=C=M=E=0;0<N.length;)if(f=N.pop(),"#"===f||"0"===f)if(E++,E===X){var B=y,y=[];if("0"===f)for(f=X-M-(B?B.length:0);0<
103
- f;)B.unshift("0"),f--;for(;0<B.length;)t=B.pop()+t,d++,0===d%v&&(C===R&&0<B.length)&&(t=k+t)}else 0<y.length?(t=y.pop()+t,M++,d++):"0"===f&&(t="0"+t,M++,d++),0===d%v&&(C===R&&0<y.length)&&(t=k+t);else"E"!==f[0]&&"e"!==f[0]||"0"!==f[f.length-1]||!/[eE][+-]*[0]+/.test(f)?","===f?(C++,v=d,d=0,0<y.length&&(t=k+t)):t=1<f.length&&('"'===f[0]&&'"'===f[f.length-1]||"'"===f[0]&&"'"===f[f.length-1])?f.slice(1,f.length-1)+t:f+t:(f=0>r?f.replace("+","").replace("-",""):f.replace("-",""),t+=f.replace(/[0]+/,function(a){return ma(r,
101
+ ca=function(m,f,t){if(null===m)return"";if(!isFinite(m))return m;m=Number(m);var Q=0>m?!0:!1;Q&&(m*=-1);var $=t?t.decimalSeparator:".",k=t?t.digitGroupSeparator:",",y="";f=String(f);var y=1,w=t="",E=-1,N=[],K=[],X=0,M=0,R=0,d=!1,r=0,w=f.match(/"[^"]*"|'[^']*'|[eE][+-]*[0]+|[,]+[.]|\u2030|./g);f=null;for(var C=0;w&&C<w.length;C++)if(f=w[C],"."===f&&0>E)E=C;else{if("%"===f)y*=100;else if("\u2030"===f){y*=1E3;continue}else if(","===f[0]&&"."===f[f.length-1]){y/=Math.pow(1E3,f.length-1);E=C+f.length-
102
+ 1;continue}else"E"!==f[0]&&"e"!==f[0]||"0"!==f[f.length-1]||(d=!0);0>E?(N.push(f),"#"===f||"0"===f?X++:","===f&&R++):(K.push(f),"#"!==f&&"0"!==f||M++)}d&&(f=Math.floor(m),w=-Math.floor(Math.log(m)/Math.LN10+1),r=0===m?0:0===f?-(X+w):vb(f).length-X,y/=Math.pow(10,r));0>E&&(E=C);y=(m*y).toFixed(M);f=y.split(".");y=(f[0]+"").split("");m=(f[1]+"").split("");y&&"0"===y[0]&&y.shift();for(d=w=C=M=E=0;0<N.length;)if(f=N.pop(),"#"===f||"0"===f)if(E++,E===X){var B=y,y=[];if("0"===f)for(f=X-M-(B?B.length:0);0<
103
+ f;)B.unshift("0"),f--;for(;0<B.length;)t=B.pop()+t,d++,0===d%w&&(C===R&&0<B.length)&&(t=k+t)}else 0<y.length?(t=y.pop()+t,M++,d++):"0"===f&&(t="0"+t,M++,d++),0===d%w&&(C===R&&0<y.length)&&(t=k+t);else"E"!==f[0]&&"e"!==f[0]||"0"!==f[f.length-1]||!/[eE][+-]*[0]+/.test(f)?","===f?(C++,w=d,d=0,0<y.length&&(t=k+t)):t=1<f.length&&('"'===f[0]&&'"'===f[f.length-1]||"'"===f[0]&&"'"===f[f.length-1])?f.slice(1,f.length-1)+t:f+t:(f=0>r?f.replace("+","").replace("-",""):f.replace("-",""),t+=f.replace(/[0]+/,function(a){return ma(r,
104
104
  a.length)}));k="";for(N=!1;0<K.length;)f=K.shift(),"#"===f||"0"===f?0<m.length&&0!==Number(m.join(""))?(k+=m.shift(),N=!0):"0"===f&&(k+="0",N=!0):1<f.length&&('"'===f[0]&&'"'===f[f.length-1]||"'"===f[0]&&"'"===f[f.length-1])?k+=f.slice(1,f.length-1):"E"!==f[0]&&"e"!==f[0]||"0"!==f[f.length-1]||!/[eE][+-]*[0]+/.test(f)?k+=f:(f=0>r?f.replace("+","").replace("-",""):f.replace("-",""),k+=f.replace(/[0]+/,function(a){return ma(r,a.length)}));t+=(N?$:"")+k;return Q?"-"+t:t},za=function(f){var t=0,F=0;f=
105
- f||window.event;f.offsetX||0===f.offsetX?(t=f.offsetX,F=f.offsetY):f.layerX||0==f.layerX?(t=f.layerX,F=f.layerY):(t=f.pageX-f.target.offsetLeft,F=f.pageY-f.target.offsetTop);return{x:t,y:F}},kb=!0,Ya=window.devicePixelRatio||1,Ua=1,ia=kb?Ya/Ua:1,aa=function(f,t,F,Q,k,v,y,E,K,N,X,M,R){"undefined"===typeof R&&(R=1);y=y||0;E=E||"black";var P=15<Q-t&&15<k-F?8:0.35*Math.min(Q-t,k-F);f.beginPath();f.moveTo(t,F);f.save();f.fillStyle=v;f.globalAlpha=R;f.fillRect(t,F,Q-t,k-F);f.globalAlpha=1;0<y&&(R=0===y%
106
- 2?0:0.5,f.beginPath(),f.lineWidth=y,f.strokeStyle=E,f.moveTo(t,F),f.rect(t-R,F-R,Q-t+2*R,k-F+2*R),f.stroke());f.restore();!0===K&&(f.save(),f.beginPath(),f.moveTo(t,F),f.lineTo(t+P,F+P),f.lineTo(Q-P,F+P),f.lineTo(Q,F),f.closePath(),y=f.createLinearGradient((Q+t)/2,F+P,(Q+t)/2,F),y.addColorStop(0,v),y.addColorStop(1,"rgba(255, 255, 255, .4)"),f.fillStyle=y,f.fill(),f.restore());!0===N&&(f.save(),f.beginPath(),f.moveTo(t,k),f.lineTo(t+P,k-P),f.lineTo(Q-P,k-P),f.lineTo(Q,k),f.closePath(),y=f.createLinearGradient((Q+
107
- t)/2,k-P,(Q+t)/2,k),y.addColorStop(0,v),y.addColorStop(1,"rgba(255, 255, 255, .4)"),f.fillStyle=y,f.fill(),f.restore());!0===X&&(f.save(),f.beginPath(),f.moveTo(t,F),f.lineTo(t+P,F+P),f.lineTo(t+P,k-P),f.lineTo(t,k),f.closePath(),y=f.createLinearGradient(t+P,(k+F)/2,t,(k+F)/2),y.addColorStop(0,v),y.addColorStop(1,"rgba(255, 255, 255, 0.1)"),f.fillStyle=y,f.fill(),f.restore());!0===M&&(f.save(),f.beginPath(),f.moveTo(Q,F),f.lineTo(Q-P,F+P),f.lineTo(Q-P,k-P),f.lineTo(Q,k),y=f.createLinearGradient(Q-
108
- P,(k+F)/2,Q,(k+F)/2),y.addColorStop(0,v),y.addColorStop(1,"rgba(255, 255, 255, 0.1)"),f.fillStyle=y,y.addColorStop(0,v),y.addColorStop(1,"rgba(255, 255, 255, 0.1)"),f.fillStyle=y,f.fill(),f.closePath(),f.restore())},ua=function(f){for(var t="",F=0;F<f.length;F++)t+=String.fromCharCode(Math.ceil(f.length/57/5)^f.charCodeAt(F));return t},tb=window&&(window[ua("mnb`uhno")]&&window[ua("mnb`uhno")].href&&window[ua("mnb`uhno")].href.indexOf&&(-1!==window[ua("mnb`uhno")].href.indexOf(ua("b`ow`rkr/bnl"))||
105
+ f||window.event;f.offsetX||0===f.offsetX?(t=f.offsetX,F=f.offsetY):f.layerX||0==f.layerX?(t=f.layerX,F=f.layerY):(t=f.pageX-f.target.offsetLeft,F=f.pageY-f.target.offsetTop);return{x:t,y:F}},kb=!0,Ya=window.devicePixelRatio||1,Ua=1,ia=kb?Ya/Ua:1,aa=function(f,t,F,Q,k,w,y,E,K,N,X,M,R){"undefined"===typeof R&&(R=1);y=y||0;E=E||"black";var P=15<Q-t&&15<k-F?8:0.35*Math.min(Q-t,k-F);f.beginPath();f.moveTo(t,F);f.save();f.fillStyle=w;f.globalAlpha=R;f.fillRect(t,F,Q-t,k-F);f.globalAlpha=1;0<y&&(R=0===y%
106
+ 2?0:0.5,f.beginPath(),f.lineWidth=y,f.strokeStyle=E,f.moveTo(t,F),f.rect(t-R,F-R,Q-t+2*R,k-F+2*R),f.stroke());f.restore();!0===K&&(f.save(),f.beginPath(),f.moveTo(t,F),f.lineTo(t+P,F+P),f.lineTo(Q-P,F+P),f.lineTo(Q,F),f.closePath(),y=f.createLinearGradient((Q+t)/2,F+P,(Q+t)/2,F),y.addColorStop(0,w),y.addColorStop(1,"rgba(255, 255, 255, .4)"),f.fillStyle=y,f.fill(),f.restore());!0===N&&(f.save(),f.beginPath(),f.moveTo(t,k),f.lineTo(t+P,k-P),f.lineTo(Q-P,k-P),f.lineTo(Q,k),f.closePath(),y=f.createLinearGradient((Q+
107
+ t)/2,k-P,(Q+t)/2,k),y.addColorStop(0,w),y.addColorStop(1,"rgba(255, 255, 255, .4)"),f.fillStyle=y,f.fill(),f.restore());!0===X&&(f.save(),f.beginPath(),f.moveTo(t,F),f.lineTo(t+P,F+P),f.lineTo(t+P,k-P),f.lineTo(t,k),f.closePath(),y=f.createLinearGradient(t+P,(k+F)/2,t,(k+F)/2),y.addColorStop(0,w),y.addColorStop(1,"rgba(255, 255, 255, 0.1)"),f.fillStyle=y,f.fill(),f.restore());!0===M&&(f.save(),f.beginPath(),f.moveTo(Q,F),f.lineTo(Q-P,F+P),f.lineTo(Q-P,k-P),f.lineTo(Q,k),y=f.createLinearGradient(Q-
108
+ P,(k+F)/2,Q,(k+F)/2),y.addColorStop(0,w),y.addColorStop(1,"rgba(255, 255, 255, 0.1)"),f.fillStyle=y,y.addColorStop(0,w),y.addColorStop(1,"rgba(255, 255, 255, 0.1)"),f.fillStyle=y,f.fill(),f.closePath(),f.restore())},ua=function(f){for(var t="",F=0;F<f.length;F++)t+=String.fromCharCode(Math.ceil(f.length/57/5)^f.charCodeAt(F));return t},tb=window&&(window[ua("mnb`uhno")]&&window[ua("mnb`uhno")].href&&window[ua("mnb`uhno")].href.indexOf&&(-1!==window[ua("mnb`uhno")].href.indexOf(ua("b`ow`rkr/bnl"))||
109
109
  -1!==window[ua("mnb`uhno")].href.indexOf(ua("gdonqhy/bnl"))||-1!==window[ua("mnb`uhno")].href.indexOf(ua("gheemd"))))&&-1===window[ua("mnb`uhno")].href.indexOf(ua("gheemd")),ub={reset:{image:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAeCAYAAABJ/8wUAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAPjSURBVFhHxVdJaFNRFP1J/jwkP5MxsbaC1WJEglSxOFAXIsFpVRE3ggi1K90obioRRBA33XXnQnciirhQcMCdorgQxBkXWlREkFKsWkv5npvckp/XnzRpKh64kLw733fffe9L/wrL0+mVUdO8uTSZ3MBL/we2qg4rkuSpodCELstXE46ziVkLQ6FQcGOmeSSq6wd4aV50d3drWjj8kQKZJTUc9kxFGenv79dZrDksTSTWWJp2QYtEPiErysyzdX0LsxsCQR8keX8gs6RHIk8ysdgKFg2G53mhuOPsshTlBjKaFo1g7SqLNoShKLdFXT8huQ/paLSbxatYnc2mHMM4hr18Vi8TIvCmXF3vYrW6cF23gGTOk0M1wA4RKvOmq6vLZRVJipvmSWT6tZ6CSEYkco5V50VPT4+D7RwOqi6RiSZm0fJ+vggSqkeoypdsNmuyelNwbXsbgvkWYMtzDWNvWaijoyOBqE+hVK8abcssUeXQ/YfKyi0gFYv1Ipgfoj34fYGTJLOYJA0ODirok32GLN8XhUWCwSes1hIwBg6LydJ/tEeRRapAdUp+wSAiZchtZZWWgAZ+JNpD8peYXQVK9UwUxNpzOK8pq97kURZhYTCKBwPD7h2zK+js7Myi7D8Fod+0TkMI8+EMAngLGc/WtBFWawkFHFnoj/t9KLgGmF0B3QfkxC+EarxkdhnFYlFLY06USqUwL7UMjICHfh/wOc2sCqhpxGbCkLvL7EUDbF73+6DkmVWB6zi7xUDQSLeYvWjAILvm9zEnkJhlbRcDQZcv6Kg2AipyT/Axw6wKlqVSqxDdjF8Izfod13qURdrG/nxehY+xGh+h0CSzKygGvSNQIcc097BI24jb9hax6kj2E7OrMFX1il+ICEf2NrPbhiXLl+fYl+U7zK4iYdsDcyLGf+ofFlkwcN+s10KhmpuYhhtm0hCLVIFL0MDsqNlDIqy9x2CLs1jL6OvrI7vPRbtohXG6eFmsFnHDGAp6n9AgyuVySRZrGvROxRgIfLXhzjrNYnNBUxNX/dMgRWT1mt4XLDovaApD53E9W3ilNX5M55LJHpRtIsgAvciR4WWcgK2Dvb1YqgXevmF8z2zEBTcKG39EfSKsT9EbhVUaI2FZO+oZIqImxol6j66/hcAu4sSN4vc1ZPoKeoE6RGhYL2YYA+ymOSSi0Z0wWntbtkGUWCvfSDXIxONraZ/FY90KUfNTpfC5spnNLgxoYNnR9RO4F8ofXEHOgogCQE99w+fF2Xw+b7O59rEOsyRqGEfpVoaDMQQ1CZrG46bcM6AZ0C/wPqNfHliqejyTySxh9TqQpL+xmbIlkB9SlAAAAABJRU5ErkJggg=="},
110
110
  pan:{image:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAICSURBVEhLxZbPahNRGMUn/5MpuAiBEAIufQGfzr5E40YptBXajYzudCEuGqS+gGlrFwquDGRTutBdYfydzJ3LzeQmJGZue+Dw/Z17Mnfmu5Pof9Hr9Z61Wq0bWZMKj263O6xWq99wU9lOpzPMKgEhEcRucNOcioOK+0RzBhNvt9tPV4nmVF19+OWhVqt9xXgFXZq+8lCv119UKpUJ7iX2FmvFTKz8RH34YdBsNk8wVtjE4fGYwm8wrrDi3WBG5oKXZGRSS9hGuNFojLTe2lFz5xThWZIktayyiE2FdT3rzXBXz7krKiL8c17wAKFDjCus2AvW+YGZ9y2JF0VFRuMPfI//rsCE/C+s26s4gQu9ul7r4NteKx7H8XOC724xNNGbaNu++IrBqbOV7Tj3FgMRvc/YKOr3+3sE47wgEt/Bl/gaK5cHbNU11vYSXylfpK7XOvjuumPp4Wcoipu30Qsez2uMXYz4lfI+mOmwothY+SLiXJy7mKVpWs3Si0CoOMfeI9Od43Wic+jO+ZVv+crsm9QSNhUW9LXSeoPBYLXopthGuFQgdIxxhY+UDwlt1x5CZ1hX+NTUdt/OIvjKaDSmuOJfaIVNPKX+W18j/PLA2/kR44p5Sd8HbHngT/yTfNRWUXX14ZcL3wmX0+TLf8YO7CGT8yFE5zB3/gney25/OETRP9CtPDFe5jShAAAAAElFTkSuQmCC"},
111
111
  zoom:{image:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAAJcEhZcwAADsMAAA7DAcdvqGQAAALWSURBVEhLvZZLaBNRFIabyftBIgEfqCCBoCC6MYqiXYiIj4U76U4X7sUHbhQhUBfixhZEUBDB16YuFERaUaQLK7ooCOJj4UKtYEFU0EptShO/A9Ph3js3k8lo/eHnP7n3nP/M3LlzMz1hkUwmNziOcyKRSFyFt+LxeD/c2Wq1Ym7Kv0M2m11Os1OxWGycn1OwZXCGuXfwIhezkd9/jRgNT2L4ldhs1pbkX5OLJe4euVxuGQaPCa3mnUjtJx7BDuKusJTCV6jVVGHTMuYRjxma7yIOhTgFY6jNaAKew2xPKpVay9ganmkvj+M448/MfJdT5K5Gg4HJacRngPFgqVRaRNwW1B4i7yehWfsEDdz1K+A01AoxPIqGAiuwGfkOTY8+1A6u7AyiFTB2Hu0KPIrdiOnzHLWDybeImvy+Wq2mZa5bUHsD0Zpz+KxHdWQymV6kAb1ElqeORgJLvgnRdj1+R1AfzkIvSUjxVjQSarVakrueIPT8+H1F5jSUy+WXiJrUYBVWyVxU4PEU8TzhfaijUqnMIWrjaY492eWRwdKOIqrnIxnXwLLeRLwk2GQzrEMjg0avEbXxkIxr4OoOImpj2QwyFgms1koa/SZUG8s+0iGnEhNfCNXEhzIXBVz0McTzEvJ+70P9oNFtxEzei3aFYrFYxmuSUPWSv9Yi9IMm2xE1We56Mp1OV4nDwqFmBDV9gk9AEh4gZtFHNt8W4kAUCoXF5MorY9Z/kDni9nDv7hc0i2fhgLvTtX8a99PoMPPagTFPxofRzmDJ9yM+AyEmTfgGysYbQcfhDzPPJDmX0c7gDg4gs9BqFIWhm/Nct5H8gtBq1I7UfIbtvmIuoaGQcp+fdpbbSM43eEH5wrwLbXmhm/fU63VHXjcuok7hEByFY/AeHGC8L5/PL3HT5xGH1uYwfPOICGo+CBcU0vwO1BqzUqILDl/z/9VYIMfpddiAc47jDP8BsUpb13wOLRwAAAAASUVORK5CYII="},
112
112
  menu:{image:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAeCAYAAABE4bxTAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADoSURBVFhH7dc9CsJAFATgRxIIBCwCqZKATX5sbawsY2MvWOtF9AB6AU8gguAJbD2AnZ2VXQT/Ko2TYGCL2OYtYQc+BuYA+1hCtnCVwMm27SGaXpDJIAiCvCkVR05hGOZNN3HkFMdx3nQRR06+76/R1IcFLJlNQEWlmWlBTwJtKLKHynehZqnjOGM0PYWRVXk61C37p7xlZ3Hk5HneCk1dmMH811xGoKLSzDiQwIBZB4ocoPJdqNkDt2yKlueWRVGUtzy3rPwo3sWRU3nLjuLI6OO67oZM00wMw3hrmpZx0XU9syxrR0T0BeMpb9dneSR2AAAAAElFTkSuQmCC"}};
113
113
  ba.prototype.setOptions=function(f,t){if(ha[this._defaultsKey]){var F=ha[this._defaultsKey],k;for(k in F)"publicProperties"!==k&&F.hasOwnProperty(k)&&(this[k]=f&&k in f?f[k]:t&&k in t?t[k]:F[k])}else La&&window.console&&console.log("defaults not set")};ba.prototype.get=function(f){var t=ha[this._defaultsKey];if("options"===f)return this.options&&this.options._isPlaceholder?null:this.options;if(t.hasOwnProperty(f)||t.publicProperties&&t.publicProperties.hasOwnProperty(f))return this[f];window.console&&
114
114
  window.console.log('Property "'+f+"\" doesn't exist. Please check for typo.")};ba.prototype.set=function(f,t,F){F="undefined"===typeof F?!0:F;var k=ha[this._defaultsKey];if("options"===f)this.createUserOptions(t);else if(k.hasOwnProperty(f)||k.publicProperties&&k.publicProperties.hasOwnProperty(f)&&"readWrite"===k.publicProperties[f])this.options._isPlaceholder&&this.createUserOptions(),this.options[f]=t;else{window.console&&(k.publicProperties&&k.publicProperties.hasOwnProperty(f)&&"readOnly"===
115
- k.publicProperties[f]?window.console.log('Property "'+f+'" is read-only.'):window.console.log('Property "'+f+"\" doesn't exist. Please check for typo."));return}F&&(this.stockChart||this.chart||this).render()};ba.prototype.addTo=function(f,t,F,k){k="undefined"===typeof k?!0:k;var v=ha[this._defaultsKey];v.hasOwnProperty(f)||v.publicProperties&&v.publicProperties.hasOwnProperty(f)&&"readWrite"===v.publicProperties[f]?(this.options._isPlaceholder&&this.createUserOptions(),"undefined"===typeof this.options[f]&&
116
- (this.options[f]=[]),f=this.options[f],F="undefined"===typeof F||null===F?f.length:F,f.splice(F,0,t),k&&(this.stockChart||this.chart||this).render()):window.console&&(v.publicProperties&&v.publicProperties.hasOwnProperty(f)&&"readOnly"===v.publicProperties[f]?window.console.log('Property "'+f+'" is read-only.'):window.console.log('Property "'+f+"\" doesn't exist. Please check for typo."))};ba.prototype.createUserOptions=function(f){if("undefined"!==typeof f||this.options._isPlaceholder)if(this.parent.options._isPlaceholder&&
115
+ k.publicProperties[f]?window.console.log('Property "'+f+'" is read-only.'):window.console.log('Property "'+f+"\" doesn't exist. Please check for typo."));return}F&&(this.stockChart||this.chart||this).render()};ba.prototype.addTo=function(f,t,F,k){k="undefined"===typeof k?!0:k;var w=ha[this._defaultsKey];w.hasOwnProperty(f)||w.publicProperties&&w.publicProperties.hasOwnProperty(f)&&"readWrite"===w.publicProperties[f]?(this.options._isPlaceholder&&this.createUserOptions(),"undefined"===typeof this.options[f]&&
116
+ (this.options[f]=[]),f=this.options[f],F="undefined"===typeof F||null===F?f.length:F,f.splice(F,0,t),k&&(this.stockChart||this.chart||this).render()):window.console&&(w.publicProperties&&w.publicProperties.hasOwnProperty(f)&&"readOnly"===w.publicProperties[f]?window.console.log('Property "'+f+'" is read-only.'):window.console.log('Property "'+f+"\" doesn't exist. Please check for typo."))};ba.prototype.createUserOptions=function(f){if("undefined"!==typeof f||this.options._isPlaceholder)if(this.parent.options._isPlaceholder&&
117
117
  this.parent.createUserOptions(),this.isOptionsInArray){this.parent.options[this.optionsName]||(this.parent.options[this.optionsName]=[]);var t=this.parent.options[this.optionsName],F=t.length;this.options._isPlaceholder||(Da(t),F=t.indexOf(this.options));this.options="undefined"===typeof f?{}:f;t[F]=this.options}else this.options="undefined"===typeof f?{}:f,f=this.parent.options,this.optionsName?t=this.optionsName:(t=this._defaultsKey)&&0!==t.length?(F=t.charAt(0).toLowerCase(),1<t.length&&(F=F.concat(t.slice(1))),
118
- t=F):t=void 0,f[t]=this.options};ba.prototype.remove=function(f){f="undefined"===typeof f?!0:f;if(this.isOptionsInArray){var t=this.parent.options[this.optionsName];Da(t);var F=t.indexOf(this.options);0<=F&&t.splice(F,1)}else delete this.parent.options[this.optionsName];f&&(this.stockChart||this.chart||this).render()};ba.prototype.updateOption=function(m){!ha[this._defaultsKey]&&(La&&window.console)&&console.log("defaults not set");var t=ha[this._defaultsKey],F={},k=this[m],v=this._themeOptionsKey,
119
- E=this._index;this.theme&&f(this.parent)&&f(v)&&f(E)?F=f(this.predefinedThemes[this.theme])?this.predefinedThemes.light1:this.predefinedThemes[this.theme]:this.parent&&(this.parent.themeOptions&&this.parent.themeOptions[v])&&(null===E?F=this.parent.themeOptions[v]:0<this.parent.themeOptions[v].length&&(F=Math.min(this.parent.themeOptions[v].length-1,E),F=this.parent.themeOptions[v][F]));this.themeOptions=F;m in t&&(k=m in this.options?this.options[m]:F&&m in F?F[m]:t[m]);if(k===this[m])return!1;this[m]=
118
+ t=F):t=void 0,f[t]=this.options};ba.prototype.remove=function(f){f="undefined"===typeof f?!0:f;if(this.isOptionsInArray){var t=this.parent.options[this.optionsName];Da(t);var F=t.indexOf(this.options);0<=F&&t.splice(F,1)}else delete this.parent.options[this.optionsName];f&&(this.stockChart||this.chart||this).render()};ba.prototype.updateOption=function(m){!ha[this._defaultsKey]&&(La&&window.console)&&console.log("defaults not set");var t=ha[this._defaultsKey],F={},k=this[m],w=this._themeOptionsKey,
119
+ E=this._index;this.theme&&f(this.parent)&&f(w)&&f(E)?F=f(this.predefinedThemes[this.theme])?this.predefinedThemes.light1:this.predefinedThemes[this.theme]:this.parent&&(this.parent.themeOptions&&this.parent.themeOptions[w])&&(null===E?F=this.parent.themeOptions[w]:0<this.parent.themeOptions[w].length&&(F=Math.min(this.parent.themeOptions[w].length-1,E),F=this.parent.themeOptions[w][F]));this.themeOptions=F;m in t&&(k=m in this.options?this.options[m]:F&&m in F?F[m]:t[m]);if(k===this[m])return!1;this[m]=
120
120
  k;return!0};ba.prototype.trackChanges=function(f){if(!this.sessionVariables)throw"Session Variable Store not set";this.sessionVariables[f]=this.options[f]};ba.prototype.isBeingTracked=function(f){this.options._oldOptions||(this.options._oldOptions={});return this.options._oldOptions[f]?!0:!1};ba.prototype.hasOptionChanged=function(f){if(!this.sessionVariables)throw"Session Variable Store not set";return this.sessionVariables[f]!==this.options[f]};ba.prototype.addEventListener=function(f,t,k){f&&t&&
121
- (this._eventListeners[f]=this._eventListeners[f]||[],this._eventListeners[f].push({context:k||this,eventHandler:t}))};ba.prototype.removeEventListener=function(f,t){if(f&&t&&this._eventListeners[f])for(var k=this._eventListeners[f],v=0;v<k.length;v++)if(k[v].eventHandler===t){k[v].splice(v,1);break}};ba.prototype.removeAllEventListeners=function(){this._eventListeners=[]};ba.prototype.dispatchEvent=function(f,t,k){if(f&&this._eventListeners[f]){t=t||{};for(var v=this._eventListeners[f],E=0;E<v.length;E++)v[E].eventHandler.call(v[E].context,
121
+ (this._eventListeners[f]=this._eventListeners[f]||[],this._eventListeners[f].push({context:k||this,eventHandler:t}))};ba.prototype.removeEventListener=function(f,t){if(f&&t&&this._eventListeners[f])for(var k=this._eventListeners[f],w=0;w<k.length;w++)if(k[w].eventHandler===t){k[w].splice(w,1);break}};ba.prototype.removeAllEventListeners=function(){this._eventListeners=[]};ba.prototype.dispatchEvent=function(f,t,k){if(f&&this._eventListeners[f]){t=t||{};for(var w=this._eventListeners[f],E=0;E<w.length;E++)w[E].eventHandler.call(w[E].context,
122
122
  t)}"function"===typeof this[f]&&this[f].call(k||this.chart,t)};Ka.prototype.registerSpace=function(f,t){"top"===f?this._topOccupied+=t.height:"bottom"===f?this._bottomOccupied+=t.height:"left"===f?this._leftOccupied+=t.width:"right"===f&&(this._rightOccupied+=t.width)};Ka.prototype.unRegisterSpace=function(f,t){"top"===f?this._topOccupied-=t.height:"bottom"===f?this._bottomOccupied-=t.height:"left"===f?this._leftOccupied-=t.width:"right"===f&&(this._rightOccupied-=t.width)};Ka.prototype.getFreeSpace=
123
123
  function(){return{x1:this._x1+this._leftOccupied,y1:this._y1+this._topOccupied,x2:this._x2-this._rightOccupied,y2:this._y2-this._bottomOccupied,width:this._x2-this._x1-this._rightOccupied-this._leftOccupied,height:this._y2-this._y1-this._bottomOccupied-this._topOccupied}};Ka.prototype.reset=function(){this._rightOccupied=this._leftOccupied=this._bottomOccupied=this._topOccupied=this._padding};ga(la,ba);la.prototype._initialize=function(){f(this.padding)||"object"!==typeof this.padding?this.topPadding=
124
124
  this.rightPadding=this.bottomPadding=this.leftPadding=Number(this.padding)|0:(this.topPadding=f(this.padding.top)?0:Number(this.padding.top)|0,this.rightPadding=f(this.padding.right)?0:Number(this.padding.right)|0,this.bottomPadding=f(this.padding.bottom)?0:Number(this.padding.bottom)|0,this.leftPadding=f(this.padding.left)?0:Number(this.padding.left)|0)};la.prototype.render=function(f){if(0!==this.fontSize){f&&this.ctx.save();var t=this.ctx.font;this.ctx.textBaseline=this.textBaseline;var k=0;this._isDirty&&
125
- this.measureText(this.ctx);this.ctx.translate(this.x,this.y+k);"middle"===this.textBaseline&&(k=-this._lineHeight/2);this.ctx.font=this._getFontString();this.ctx.rotate(Math.PI/180*this.angle);var v=0,E=this.topPadding,O=null;this.ctx.roundRect||Ca(this.ctx);(0<this.borderThickness&&this.borderColor||this.backgroundColor)&&this.ctx.roundRect(0,k,this.width,this.height,this.cornerRadius,this.borderThickness,this.backgroundColor,this.borderColor);this.ctx.fillStyle=this.fontColor;for(k=0;k<this._wrappedText.lines.length;k++){O=
126
- this._wrappedText.lines[k];if("right"===this.horizontalAlign||"right"===this.textAlign)v=this.width-O.width-this.rightPadding;else if("left"===this.horizontalAlign||"left"===this.textAlign)v=this.leftPadding;else if("center"===this.horizontalAlign||"center"===this.textAlign)v=(this.width-(this.leftPadding+this.rightPadding))/2-O.width/2+this.leftPadding;this.ctx.fillText(O.text,v,E);E+=O.height}this.ctx.font=t;f&&this.ctx.restore()}};la.prototype.setText=function(f){this.text=f;this._isDirty=!0;this._wrappedText=
127
- null};la.prototype.measureText=function(){this._lineHeight=eb(this.fontFamily,this.fontSize,this.fontWeight);if(null===this.maxWidth)throw"Please set maxWidth and height for TextBlock";this._wrapText(this.ctx);this._isDirty=!1;return{width:this.width,height:this.height}};la.prototype._getLineWithWidth=function(f,t,k){f=String(f);if(!f)return{text:"",width:0};var v=k=0,E=f.length-1,O=Infinity;for(this.ctx.font=this._getFontString();v<=E;){var O=Math.floor((v+E)/2),y=f.substr(0,O+1);k=this.ctx.measureText(y).width;
128
- if(k<t)v=O+1;else if(k>t)E=O-1;else break}k>t&&1<y.length&&(y=y.substr(0,y.length-1),k=this.ctx.measureText(y).width);t=!0;if(y.length===f.length||" "===f[y.length])t=!1;t&&(f=y.split(" "),1<f.length&&f.pop(),y=f.join(" "),k=this.ctx.measureText(y).width);return{text:y,width:k}};la.prototype._wrapText=function(){var f=new String(Pa(String(this.text))),t=[],k=this.ctx.font,v=0,E=0;this.ctx.font=this._getFontString();if(0===this.frontSize)E=v=0;else for(;0<f.length;){var O=this.maxHeight-(this.topPadding+
129
- this.bottomPadding),y=this._getLineWithWidth(f,this.maxWidth-(this.leftPadding+this.rightPadding),!1);y.height=this._lineHeight;t.push(y);var K=E,E=Math.max(E,y.width),v=v+y.height,f=Pa(f.slice(y.text.length,f.length));O&&v>O&&(y=t.pop(),v-=y.height,E=K)}this._wrappedText={lines:t,width:E,height:v};this.width=E+(this.leftPadding+this.rightPadding);this.height=v+(this.topPadding+this.bottomPadding);this.ctx.font=k};la.prototype._getFontString=function(){var f;f=""+(this.fontStyle?this.fontStyle+" ":
130
- "");f+=this.fontWeight?this.fontWeight+" ":"";f+=this.fontSize?this.fontSize+"px ":"";var A=this.fontFamily?this.fontFamily+"":"";!t&&A&&(A=A.split(",")[0],"'"!==A[0]&&'"'!==A[0]&&(A="'"+A+"'"));return f+=A};ga(Wa,ba);ga(Ha,ba);Ha.prototype.setLayout=function(){if(this.text){var t=this.dockInsidePlotArea?this.chart.plotArea:this.chart,A=t.layoutManager.getFreeSpace(),k=A.x1,v=A.y1,E=0,O=0,y=this.chart._menuButton&&this.chart.exportEnabled&&"top"===this.verticalAlign?40:0,K,P;"top"===this.verticalAlign||
125
+ this.measureText(this.ctx);this.ctx.translate(this.x,this.y+k);"middle"===this.textBaseline&&(k=-this._lineHeight/2);this.ctx.font=this._getFontString();this.ctx.rotate(Math.PI/180*this.angle);var w=0,E=this.topPadding,O=null;this.ctx.roundRect||Ca(this.ctx);(0<this.borderThickness&&this.borderColor||this.backgroundColor)&&this.ctx.roundRect(0,k,this.width,this.height,this.cornerRadius,this.borderThickness,this.backgroundColor,this.borderColor);this.ctx.fillStyle=this.fontColor;for(k=0;k<this._wrappedText.lines.length;k++){O=
126
+ this._wrappedText.lines[k];if("right"===this.horizontalAlign||"right"===this.textAlign)w=this.width-O.width-this.rightPadding;else if("left"===this.horizontalAlign||"left"===this.textAlign)w=this.leftPadding;else if("center"===this.horizontalAlign||"center"===this.textAlign)w=(this.width-(this.leftPadding+this.rightPadding))/2-O.width/2+this.leftPadding;this.ctx.fillText(O.text,w,E);E+=O.height}this.ctx.font=t;f&&this.ctx.restore()}};la.prototype.setText=function(f){this.text=f;this._isDirty=!0;this._wrappedText=
127
+ null};la.prototype.measureText=function(){this._lineHeight=eb(this.fontFamily,this.fontSize,this.fontWeight);if(null===this.maxWidth)throw"Please set maxWidth and height for TextBlock";this._wrapText(this.ctx);this._isDirty=!1;return{width:this.width,height:this.height}};la.prototype._getLineWithWidth=function(f,t,k){f=String(f);if(!f)return{text:"",width:0};var w=k=0,E=f.length-1,O=Infinity;for(this.ctx.font=this._getFontString();w<=E;){var O=Math.floor((w+E)/2),y=f.substr(0,O+1);k=this.ctx.measureText(y).width;
128
+ if(k<t)w=O+1;else if(k>t)E=O-1;else break}k>t&&1<y.length&&(y=y.substr(0,y.length-1),k=this.ctx.measureText(y).width);t=!0;if(y.length===f.length||" "===f[y.length])t=!1;t&&(f=y.split(" "),1<f.length&&f.pop(),y=f.join(" "),k=this.ctx.measureText(y).width);return{text:y,width:k}};la.prototype._wrapText=function(){var f=new String(Pa(String(this.text))),t=[],k=this.ctx.font,w=0,E=0;this.ctx.font=this._getFontString();if(0===this.frontSize)E=w=0;else for(;0<f.length;){var O=this.maxHeight-(this.topPadding+
129
+ this.bottomPadding),y=this._getLineWithWidth(f,this.maxWidth-(this.leftPadding+this.rightPadding),!1);y.height=this._lineHeight;t.push(y);var K=E,E=Math.max(E,y.width),w=w+y.height,f=Pa(f.slice(y.text.length,f.length));O&&w>O&&(y=t.pop(),w-=y.height,E=K)}this._wrappedText={lines:t,width:E,height:w};this.width=E+(this.leftPadding+this.rightPadding);this.height=w+(this.topPadding+this.bottomPadding);this.ctx.font=k};la.prototype._getFontString=function(){var f;f=""+(this.fontStyle?this.fontStyle+" ":
130
+ "");f+=this.fontWeight?this.fontWeight+" ":"";f+=this.fontSize?this.fontSize+"px ":"";var A=this.fontFamily?this.fontFamily+"":"";!t&&A&&(A=A.split(",")[0],"'"!==A[0]&&'"'!==A[0]&&(A="'"+A+"'"));return f+=A};ga(Wa,ba);ga(Ha,ba);Ha.prototype.setLayout=function(){if(this.text){var t=this.dockInsidePlotArea?this.chart.plotArea:this.chart,A=t.layoutManager.getFreeSpace(),k=A.x1,w=A.y1,E=0,O=0,y=this.chart._menuButton&&this.chart.exportEnabled&&"top"===this.verticalAlign?40:0,K,P;"top"===this.verticalAlign||
131
131
  "bottom"===this.verticalAlign?(null===this.maxWidth&&(this.maxWidth=A.width-4-y*("center"===this.horizontalAlign?2:1)),O=0.5*A.height-this.margin-2,E=0):"center"===this.verticalAlign&&("left"===this.horizontalAlign||"right"===this.horizontalAlign?(null===this.maxWidth&&(this.maxWidth=A.height-4),O=0.5*A.width-this.margin-2):"center"===this.horizontalAlign&&(null===this.maxWidth&&(this.maxWidth=A.width-4),O=0.5*A.height-4));var N;f(this.padding)||"number"!==typeof this.padding?f(this.padding)||"object"!==
132
132
  typeof this.padding||(N=this.padding.top?this.padding.top:this.padding.bottom?this.padding.bottom:0,N+=this.padding.bottom?this.padding.bottom:this.padding.top?this.padding.top:0):N=2*this.padding;this.wrap||(O=Math.min(O,1.5*this.fontSize+N));O=new la(this.ctx,{fontSize:this.fontSize,fontFamily:this.fontFamily,fontColor:this.fontColor,fontStyle:this.fontStyle,fontWeight:this.fontWeight,horizontalAlign:this.horizontalAlign,textAlign:this.horizontalAlign,verticalAlign:this.verticalAlign,borderColor:this.borderColor,
133
- borderThickness:this.borderThickness,backgroundColor:this.backgroundColor,maxWidth:this.maxWidth,maxHeight:O,cornerRadius:this.cornerRadius,text:this.text,padding:this.padding,textBaseline:"middle"});N=O.measureText();"top"===this.verticalAlign||"bottom"===this.verticalAlign?("top"===this.verticalAlign?(v=A.y1+2+this.fontSize/2+4,P="top"):"bottom"===this.verticalAlign&&(v=A.y2-2-N.height+this.fontSize/2+4,P="bottom"),"left"===this.horizontalAlign?k=A.x1+2:"center"===this.horizontalAlign?k=A.x1+A.width/
134
- 2-N.width/2:"right"===this.horizontalAlign&&(k=A.x2-2-N.width-y),K=this.horizontalAlign,this.width=N.width,this.height=N.height):"center"===this.verticalAlign&&("left"===this.horizontalAlign?(k=A.x1+2+(this.fontSize/2+4),v=A.y2-2-(this.maxWidth/2-N.width/2),E=-90,P="left",this.width=N.height,this.height=N.width):"right"===this.horizontalAlign?(k=A.x2-2-(this.fontSize/2+4),v=A.y1+2+(this.maxWidth/2-N.width/2),E=90,P="right",this.width=N.height,this.height=N.width):"center"===this.horizontalAlign&&
135
- (v=t.y1+(t.height/2-N.height/2)+this.fontSize/2+4,k=t.x1+(t.width/2-N.width/2),P="center",this.width=N.width,this.height=N.height),K="center");O.x=k;O.y=v;O.angle=E;O.horizontalAlign=K;this._textBlock=O;t.layoutManager.registerSpace(P,{width:this.width+("left"===P||"right"===P?this.margin+2:0),height:this.height+("top"===P||"bottom"===P?this.margin+2:0)});this.bounds={x1:k,y1:v,x2:k+this.width,y2:v+this.height};this.ctx.textBaseline="top"}};Ha.prototype.render=function(){this._textBlock&&this._textBlock.render(!0)};
133
+ borderThickness:this.borderThickness,backgroundColor:this.backgroundColor,maxWidth:this.maxWidth,maxHeight:O,cornerRadius:this.cornerRadius,text:this.text,padding:this.padding,textBaseline:"middle"});N=O.measureText();"top"===this.verticalAlign||"bottom"===this.verticalAlign?("top"===this.verticalAlign?(w=A.y1+2+this.fontSize/2+4,P="top"):"bottom"===this.verticalAlign&&(w=A.y2-2-N.height+this.fontSize/2+4,P="bottom"),"left"===this.horizontalAlign?k=A.x1+2:"center"===this.horizontalAlign?k=A.x1+A.width/
134
+ 2-N.width/2:"right"===this.horizontalAlign&&(k=A.x2-2-N.width-y),K=this.horizontalAlign,this.width=N.width,this.height=N.height):"center"===this.verticalAlign&&("left"===this.horizontalAlign?(k=A.x1+2+(this.fontSize/2+4),w=A.y2-2-(this.maxWidth/2-N.width/2),E=-90,P="left",this.width=N.height,this.height=N.width):"right"===this.horizontalAlign?(k=A.x2-2-(this.fontSize/2+4),w=A.y1+2+(this.maxWidth/2-N.width/2),E=90,P="right",this.width=N.height,this.height=N.width):"center"===this.horizontalAlign&&
135
+ (w=t.y1+(t.height/2-N.height/2)+this.fontSize/2+4,k=t.x1+(t.width/2-N.width/2),P="center",this.width=N.width,this.height=N.height),K="center");O.x=k;O.y=w;O.angle=E;O.horizontalAlign=K;this._textBlock=O;t.layoutManager.registerSpace(P,{width:this.width+("left"===P||"right"===P?this.margin+2:0),height:this.height+("top"===P||"bottom"===P?this.margin+2:0)});this.bounds={x1:k,y1:w,x2:k+this.width,y2:w+this.height};this.ctx.textBaseline="top"}};Ha.prototype.render=function(){this._textBlock&&this._textBlock.render(!0)};
136
136
  ga(Ma,ba);Ma.prototype.setLayout=Ha.prototype.setLayout;Ma.prototype.render=Ha.prototype.render;$a.prototype.get=function(f,t){var k=null;0<this.pool.length?(k=this.pool.pop(),Ta(k,f,t)):k=ra(f,t);return k};$a.prototype.release=function(f){this.pool.push(f)};ga(Na,ba);var Ra={addTheme:function(f,t){ab[f]=t},addColorSet:function(f,t){wa[f]=t},addCultureInfo:function(f,t){Qa[f]=t},formatNumber:function(f,t,k){k=k||"en";if(Qa[k])return ca(f,t||"#,##0.##",new Na(k));throw"Unknown Culture Name";},formatDate:function(f,
137
137
  t,k){k=k||"en";if(Qa[k])return ea(f,t||"DD MMM YYYY",new Na(k));throw"Unknown Culture Name";}};"undefined"!==typeof module&&"undefined"!==typeof module.exports?module.exports=Ra:"function"===typeof define&&define.amd?define([],function(){return Ra}):(window.CanvasJS&&window.console&&window.console.log("CanvasJS namespace already exists. If you are loading both chart and stockchart scripts, just load stockchart alone as it includes all chart features."),window.CanvasJS=window.CanvasJS?window.CanvasJS:
138
138
  Ra);var Ja=Ra.Chart=function(){function m(a,g){return a.x-g.x}function k(a,g,c){g=g||{};f(c)?(this.predefinedThemes=ab,this.optionsName=this.parent=this.index=null):(this.parent=c.parent,this.index=c.index,this.predefinedThemes=c.predefinedThemes,this.optionsName=c.optionsName,this.stockChart=c.stockChart,this.panel=a,this.isOptionsInArray=c.isOptionsInArray);this.theme=f(g.theme)||f(this.predefinedThemes[g.theme])?"light1":g.theme;k.base.constructor.call(this,"Chart",this.optionsName,g,this.index,
@@ -141,10 +141,10 @@ this.parent);var b=this;this._containerId=a;this._objectsInitialized=!1;this.ove
141
141
  this._canvasJSContainer=document.createElement("div"),this._canvasJSContainer.setAttribute("class","canvasjs-chart-container"),this._canvasJSContainer.style.position="relative",this._canvasJSContainer.style.textAlign="left",this._canvasJSContainer.style.cursor="auto",this._canvasJSContainer.style.direction="ltr",t||(this._canvasJSContainer.style.height="0px"),this.container.appendChild(this._canvasJSContainer),this.canvas=ra(a,g),this._preRenderCanvas=ra(a,g),this.canvas.style.position="absolute",
142
142
  this.canvas.style.WebkitUserSelect="none",this.canvas.style.MozUserSelect="none",this.canvas.style.msUserSelect="none",this.canvas.style.userSelect="none",this.canvas.getContext&&(this._canvasJSContainer.appendChild(this.canvas),this.ctx=this.canvas.getContext("2d"),this.ctx.textBaseline="top",Ca(this.ctx),this._preRenderCtx=this._preRenderCanvas.getContext("2d"),this._preRenderCtx.textBaseline="top",Ca(this._preRenderCtx),t?this.plotArea.ctx=this.ctx:(this.plotArea.canvas=ra(a,g),this.plotArea.canvas.style.position=
143
143
  "absolute",this.plotArea.canvas.setAttribute("class","plotAreaCanvas"),this._canvasJSContainer.appendChild(this.plotArea.canvas),this.plotArea.ctx=this.plotArea.canvas.getContext("2d")),this.overlaidCanvas=ra(a,g),this.overlaidCanvas.style.position="absolute",this.overlaidCanvas.style.webkitTapHighlightColor="transparent",this.overlaidCanvas.style.WebkitUserSelect="none",this.overlaidCanvas.style.MozUserSelect="none",this.overlaidCanvas.style.msUserSelect="none",this.overlaidCanvas.style.userSelect=
144
- "none",this.overlaidCanvas.getContext&&(this._canvasJSContainer.appendChild(this.overlaidCanvas),this.overlaidCanvasCtx=this.overlaidCanvas.getContext("2d"),this.overlaidCanvasCtx.textBaseline="top",Ca(this.overlaidCanvasCtx)),this._eventManager=new ha(this),this.windowResizeHandler=v(window,"resize",function(){b._updateSize()&&b.render()},this.allDOMEventHandlers),this._toolBar=document.createElement("div"),this._toolBar.setAttribute("class","canvasjs-chart-toolbar"),P(this._toolBar,{position:"absolute",
145
- right:"1px",top:"1px"}),this._canvasJSContainer.appendChild(this._toolBar),this.bounds={x1:0,y1:0,x2:this.width,y2:this.height},v(this.overlaidCanvas,"click",function(a){b._mouseEventHandler(a)},this.allDOMEventHandlers),v(this.overlaidCanvas,"mousemove",function(a){b._mouseEventHandler(a)},this.allDOMEventHandlers),v(this.overlaidCanvas,"mouseup",function(a){b._mouseEventHandler(a)},this.allDOMEventHandlers),v(this.overlaidCanvas,"mousedown",function(a){b._mouseEventHandler(a);xa(b._dropdownMenu)},
146
- this.allDOMEventHandlers),v(this.overlaidCanvas,"mouseout",function(a){b._mouseEventHandler(a)},this.allDOMEventHandlers),v(this.overlaidCanvas,window.navigator.msPointerEnabled?"MSPointerDown":"touchstart",function(a){b._touchEventHandler(a)},this.allDOMEventHandlers),v(this.overlaidCanvas,window.navigator.msPointerEnabled?"MSPointerMove":"touchmove",function(a){b._touchEventHandler(a)},this.allDOMEventHandlers),v(this.overlaidCanvas,window.navigator.msPointerEnabled?"MSPointerUp":"touchend",function(a){b._touchEventHandler(a)},
147
- this.allDOMEventHandlers),v(this.overlaidCanvas,window.navigator.msPointerEnabled?"MSPointerCancel":"touchcancel",function(a){b._touchEventHandler(a)},this.allDOMEventHandlers),this.toolTip=new pa(this,this.options.toolTip),this.data=null,this.axisX=[],this.axisX2=[],this.axisY=[],this.axisY2=[],this.sessionVariables={axisX:[],axisX2:[],axisY:[],axisY2:[]})):window.console&&window.console.log('CanvasJS Error: Chart Container with id "'+this._containerId+'" was not found')}function E(a,g){for(var c=
144
+ "none",this.overlaidCanvas.getContext&&(this._canvasJSContainer.appendChild(this.overlaidCanvas),this.overlaidCanvasCtx=this.overlaidCanvas.getContext("2d"),this.overlaidCanvasCtx.textBaseline="top",Ca(this.overlaidCanvasCtx)),this._eventManager=new ha(this),this.windowResizeHandler=w(window,"resize",function(){b._updateSize()&&b.render()},this.allDOMEventHandlers),this._toolBar=document.createElement("div"),this._toolBar.setAttribute("class","canvasjs-chart-toolbar"),P(this._toolBar,{position:"absolute",
145
+ right:"1px",top:"1px"}),this._canvasJSContainer.appendChild(this._toolBar),this.bounds={x1:0,y1:0,x2:this.width,y2:this.height},w(this.overlaidCanvas,"click",function(a){b._mouseEventHandler(a)},this.allDOMEventHandlers),w(this.overlaidCanvas,"mousemove",function(a){b._mouseEventHandler(a)},this.allDOMEventHandlers),w(this.overlaidCanvas,"mouseup",function(a){b._mouseEventHandler(a)},this.allDOMEventHandlers),w(this.overlaidCanvas,"mousedown",function(a){b._mouseEventHandler(a);xa(b._dropdownMenu)},
146
+ this.allDOMEventHandlers),w(this.overlaidCanvas,"mouseout",function(a){b._mouseEventHandler(a)},this.allDOMEventHandlers),w(this.overlaidCanvas,window.navigator.msPointerEnabled?"MSPointerDown":"touchstart",function(a){b._touchEventHandler(a)},this.allDOMEventHandlers),w(this.overlaidCanvas,window.navigator.msPointerEnabled?"MSPointerMove":"touchmove",function(a){b._touchEventHandler(a)},this.allDOMEventHandlers),w(this.overlaidCanvas,window.navigator.msPointerEnabled?"MSPointerUp":"touchend",function(a){b._touchEventHandler(a)},
147
+ this.allDOMEventHandlers),w(this.overlaidCanvas,window.navigator.msPointerEnabled?"MSPointerCancel":"touchcancel",function(a){b._touchEventHandler(a)},this.allDOMEventHandlers),this.toolTip=new pa(this,this.options.toolTip),this.data=null,this.axisX=[],this.axisX2=[],this.axisY=[],this.axisY2=[],this.sessionVariables={axisX:[],axisX2:[],axisY:[],axisY2:[]})):window.console&&window.console.log('CanvasJS Error: Chart Container with id "'+this._containerId+'" was not found')}function E(a,g){for(var c=
148
148
  [],b,e=0;e<a.length;e++)if(0==e)c.push(a[0]);else{var l,z,f;f=e-1;l=0===f?0:f-1;z=f===a.length-1?f:f+1;b=Math.abs((a[z].x-a[l].x)/(0===a[z].x-a[f].x?0.01:a[z].x-a[f].x))*(g-1)/2+1;var d=(a[z].x-a[l].x)/b;b=(a[z].y-a[l].y)/b;c[c.length]=a[f].x>a[l].x&&0<d||a[f].x<a[l].x&&0>d?{x:a[f].x+d/3,y:a[f].y+b/3}:{x:a[f].x,y:a[f].y+(1===c.length?0:b/9)};f=e;l=0===f?0:f-1;z=f===a.length-1?f:f+1;b=Math.abs((a[z].x-a[l].x)/(0===a[f].x-a[l].x?0.01:a[f].x-a[l].x))*(g-1)/2+1;d=(a[z].x-a[l].x)/b;b=(a[z].y-a[l].y)/b;
149
149
  c[c.length]=a[f].x>a[l].x&&0<d||a[f].x<a[l].x&&0>d?{x:a[f].x-d/3,y:a[f].y-b/3}:{x:a[f].x,y:a[f].y-b/9};c[c.length]=a[e]}return c}function Q(a,g,c,b,e,l,z,f,d,n){var p=0;n?(z.color=l,f.color=l):n=1;p=d?Math.abs(e-c):Math.abs(b-g);p=0<z.trimLength?Math.abs(p*z.trimLength/100):Math.abs(p-z.length);d?(c+=p/2,e-=p/2):(g+=p/2,b-=p/2);var p=1===Math.round(z.thickness)%2?0.5:0,q=1===Math.round(f.thickness)%2?0.5:0;a.save();a.globalAlpha=n;a.strokeStyle=f.color||l;a.lineWidth=f.thickness||2;a.setLineDash&&
150
150
  a.setLineDash(X(f.dashType,f.thickness));a.beginPath();d&&0<f.thickness?(a.moveTo(b-z.thickness/2,Math.round((c+e)/2)-q),a.lineTo(g+z.thickness/2,Math.round((c+e)/2)-q)):0<f.thickness&&(a.moveTo(Math.round((g+b)/2)-q,c+z.thickness/2),a.lineTo(Math.round((g+b)/2)-q,e-z.thickness/2));a.stroke();a.strokeStyle=z.color||l;a.lineWidth=z.thickness||2;a.setLineDash&&a.setLineDash(X(z.dashType,z.thickness));a.beginPath();d&&0<z.thickness?(a.moveTo(b-p,c),a.lineTo(b-p,e),a.moveTo(g+p,c),a.lineTo(g+p,e)):0<
@@ -170,14 +170,14 @@ this._canvasJSContainer.hasChildNodes();)this._canvasJSContainer.removeChild(thi
170
170
  Ba(this._preRenderCanvas);this._breaksCanvas&&Ba(this._breaksCanvas);this._eventManager&&this._eventManager.ghostCanvas&&Ba(this._eventManager.ghostCanvas);this._toolBar=this._dropdownMenu=this._menuButton=this._resetButton=this._zoomButton=null};k.prototype._updateOptions=function(){var a=this;this.updateOption("width");this.updateOption("height");this.updateOption("dataPointWidth");this.updateOption("dataPointMinWidth");this.updateOption("dataPointMaxWidth");this.updateOption("interactivityEnabled");
171
171
  this.updateOption("theme");this.updateOption("colorSet")&&(this.selectedColorSet="undefined"!==typeof wa[this.colorSet]?wa[this.colorSet]:wa.colorSet1);this.updateOption("backgroundColor");this.backgroundColor||(this.backgroundColor="rgba(0,0,0,0)");this.updateOption("culture");this._cultureInfo=new Na(this.options.culture);this.updateOption("animationEnabled");this.animationEnabled=this.animationEnabled&&t;this.updateOption("animationDuration");this.updateOption("rangeChanging");this.updateOption("rangeChanged");
172
172
  this.updateOption("exportEnabled");this.updateOption("exportFileName");this.updateOption("zoomType");this.toolbar=new Wa(this,this.options.toolbar);if(this.options.zoomEnabled||this.panEnabled){if(this._zoomButton)P(this._zoomButton,{borderRight:this.toolbar.buttonBorderThickness+"px solid "+this.toolbar.buttonBorderColor,backgroundColor:a.toolbar.itemBackgroundColor,color:a.toolbar.fontColor}),va(this,this._zoomButton,"zoom");else{var g=!1;xa(this._zoomButton=document.createElement("button"));va(this,
173
- this._zoomButton,"pan");this._toolBar.appendChild(this._zoomButton);this._zoomButton.style.borderRight=this.toolbar.buttonBorderThickness+"px solid "+this.toolbar.buttonBorderColor;v(this._zoomButton,"touchstart",function(a){g=!0},this.allDOMEventHandlers);v(this._zoomButton,"click",function(){a.zoomEnabled?(a.zoomEnabled=!1,a.panEnabled=!0,va(a,a._zoomButton,"zoom")):(a.zoomEnabled=!0,a.panEnabled=!1,va(a,a._zoomButton,"pan"));a.render()},this.allDOMEventHandlers);v(this._zoomButton,"mousemove",
174
- function(){g?g=!1:(P(a._zoomButton,{backgroundColor:a.toolbar.itemBackgroundColorOnHover,color:a.toolbar.fontColorOnHover,transition:"0.4s",WebkitTransition:"0.4s"}),0>=navigator.userAgent.search("MSIE")&&P(a._zoomButton.childNodes[0],{WebkitFilter:"invert(100%)",filter:"invert(100%)"}))},this.allDOMEventHandlers);v(this._zoomButton,"mouseout",function(){g||(P(a._zoomButton,{backgroundColor:a.toolbar.itemBackgroundColor,color:a.toolbar.fontColor,transition:"0.4s",WebkitTransition:"0.4s"}),0>=navigator.userAgent.search("MSIE")&&
173
+ this._zoomButton,"pan");this._toolBar.appendChild(this._zoomButton);this._zoomButton.style.borderRight=this.toolbar.buttonBorderThickness+"px solid "+this.toolbar.buttonBorderColor;w(this._zoomButton,"touchstart",function(a){g=!0},this.allDOMEventHandlers);w(this._zoomButton,"click",function(){a.zoomEnabled?(a.zoomEnabled=!1,a.panEnabled=!0,va(a,a._zoomButton,"zoom")):(a.zoomEnabled=!0,a.panEnabled=!1,va(a,a._zoomButton,"pan"));a.render()},this.allDOMEventHandlers);w(this._zoomButton,"mousemove",
174
+ function(){g?g=!1:(P(a._zoomButton,{backgroundColor:a.toolbar.itemBackgroundColorOnHover,color:a.toolbar.fontColorOnHover,transition:"0.4s",WebkitTransition:"0.4s"}),0>=navigator.userAgent.search("MSIE")&&P(a._zoomButton.childNodes[0],{WebkitFilter:"invert(100%)",filter:"invert(100%)"}))},this.allDOMEventHandlers);w(this._zoomButton,"mouseout",function(){g||(P(a._zoomButton,{backgroundColor:a.toolbar.itemBackgroundColor,color:a.toolbar.fontColor,transition:"0.4s",WebkitTransition:"0.4s"}),0>=navigator.userAgent.search("MSIE")&&
175
175
  P(a._zoomButton.childNodes[0],{WebkitFilter:"invert(0%)",filter:"invert(0%)"}))},this.allDOMEventHandlers)}this._resetButton?(P(this._resetButton,{borderRight:this.toolbar.buttonBorderThickness+"px solid "+this.toolbar.buttonBorderColor,backgroundColor:a.toolbar.itemBackgroundColor,color:a.toolbar.fontColor}),this._resetButton.title=this._cultureInfo.resetText):(g=!1,xa(this._resetButton=document.createElement("button")),va(this,this._resetButton,"reset"),this._resetButton.style.borderRight=(this.exportEnabled?
176
- this.toolbar.buttonBorderThickness:0)+"px solid "+this.toolbar.buttonBorderColor,this._toolBar.appendChild(this._resetButton),v(this._resetButton,"touchstart",function(a){g=!0},this.allDOMEventHandlers),v(this._resetButton,"click",function(){a.toolTip.hide();a.toolTip&&a.toolTip.enabled&&a.toolTip.dispatchEvent("hidden",{chart:a,toolTip:a.toolTip},a.toolTip);a.zoomEnabled||a.panEnabled?(a.zoomEnabled=!0,a.panEnabled=!1,va(a,a._zoomButton,"pan"),a._defaultCursor="default",a.overlaidCanvas.style.cursor=
176
+ this.toolbar.buttonBorderThickness:0)+"px solid "+this.toolbar.buttonBorderColor,this._toolBar.appendChild(this._resetButton),w(this._resetButton,"touchstart",function(a){g=!0},this.allDOMEventHandlers),w(this._resetButton,"click",function(){a.toolTip.hide();a.toolTip&&a.toolTip.enabled&&a.toolTip.dispatchEvent("hidden",{chart:a,toolTip:a.toolTip},a.toolTip);a.zoomEnabled||a.panEnabled?(a.zoomEnabled=!0,a.panEnabled=!1,va(a,a._zoomButton,"pan"),a._defaultCursor="default",a.overlaidCanvas.style.cursor=
177
177
  a._defaultCursor):(a.zoomEnabled=!1,a.panEnabled=!1);if(a.sessionVariables.axisX)for(var b=0;b<a.sessionVariables.axisX.length;b++)a.sessionVariables.axisX[b].newViewportMinimum=null,a.sessionVariables.axisX[b].newViewportMaximum=null;if(a.sessionVariables.axisX2)for(b=0;b<a.sessionVariables.axisX2.length;b++)a.sessionVariables.axisX2[b].newViewportMinimum=null,a.sessionVariables.axisX2[b].newViewportMaximum=null;if(a.sessionVariables.axisY)for(b=0;b<a.sessionVariables.axisY.length;b++)a.sessionVariables.axisY[b].newViewportMinimum=
178
178
  null,a.sessionVariables.axisY[b].newViewportMaximum=null;if(a.sessionVariables.axisY2)for(b=0;b<a.sessionVariables.axisY2.length;b++)a.sessionVariables.axisY2[b].newViewportMinimum=null,a.sessionVariables.axisY2[b].newViewportMaximum=null;a.resetOverlayedCanvas();0>=navigator.userAgent.search("MSIE")&&P(a._resetButton.childNodes[0],{WebkitFilter:"invert(0%)",filter:"invert(0%)"});xa(a._zoomButton,a._resetButton);a.stockChart&&(a.stockChart._rangeEventParameter={stockChart:a.stockChart,source:"chart",
179
179
  index:a.stockChart.charts.indexOf(a),minimum:null,maximum:null});a._dispatchRangeEvent("rangeChanging","reset");a.stockChart&&(a.stockChart._rangeEventParameter.type="rangeChanging",a.stockChart.dispatchEvent("rangeChanging",a.stockChart._rangeEventParameter,a.stockChart));a.render();a.syncCharts&&a.syncCharts(null,null);a._dispatchRangeEvent("rangeChanged","reset");a.stockChart&&(a.stockChart._rangeEventParameter.type="rangeChanged",a.stockChart.dispatchEvent("rangeChanged",a.stockChart._rangeEventParameter,
180
- a.stockChart))},this.allDOMEventHandlers),v(this._resetButton,"mousemove",function(){g||(P(a._resetButton,{backgroundColor:a.toolbar.itemBackgroundColorOnHover,color:a.toolbar.fontColorOnHover,transition:"0.4s",WebkitTransition:"0.4s"}),0>=navigator.userAgent.search("MSIE")&&P(a._resetButton.childNodes[0],{WebkitFilter:"invert(100%)",filter:"invert(100%)"}))},this.allDOMEventHandlers),v(this._resetButton,"mouseout",function(){g||(P(a._resetButton,{backgroundColor:a.toolbar.itemBackgroundColor,color:a.toolbar.fontColor,
180
+ a.stockChart))},this.allDOMEventHandlers),w(this._resetButton,"mousemove",function(){g||(P(a._resetButton,{backgroundColor:a.toolbar.itemBackgroundColorOnHover,color:a.toolbar.fontColorOnHover,transition:"0.4s",WebkitTransition:"0.4s"}),0>=navigator.userAgent.search("MSIE")&&P(a._resetButton.childNodes[0],{WebkitFilter:"invert(100%)",filter:"invert(100%)"}))},this.allDOMEventHandlers),w(this._resetButton,"mouseout",function(){g||(P(a._resetButton,{backgroundColor:a.toolbar.itemBackgroundColor,color:a.toolbar.fontColor,
181
181
  transition:"0.4s",WebkitTransition:"0.4s"}),0>=navigator.userAgent.search("MSIE")&&P(a._resetButton.childNodes[0],{WebkitFilter:"invert(0%)",filter:"invert(0%)"}))},this.allDOMEventHandlers),this.overlaidCanvas.style.cursor=a._defaultCursor);this.zoomEnabled||this.panEnabled||(this._zoomButton?(a._zoomButton.getAttribute("state")===a._cultureInfo.zoomText?(this.panEnabled=!0,this.zoomEnabled=!1):(this.zoomEnabled=!0,this.panEnabled=!1),Sa(a._zoomButton,a._resetButton)):(this.zoomEnabled=!0,this.panEnabled=
182
182
  !1))}else this.panEnabled=this.zoomEnabled=!1;ib(this);"none"!==this._toolBar.style.display&&this._zoomButton&&(this.panEnabled?va(a,a._zoomButton,"zoom"):va(a,a._zoomButton,"pan"),a._resetButton.getAttribute("state")!==a._cultureInfo.resetText&&va(a,a._resetButton,"reset"));this.options.toolTip&&this.toolTip.options!==this.options.toolTip&&(this.toolTip.options=this.options.toolTip);for(var c in this.toolTip.options)this.toolTip.options.hasOwnProperty(c)&&this.toolTip.updateOption(c)};k.prototype._updateSize=
183
183
  function(){return lb.call(this,[this.canvas,this.overlaidCanvas,this._eventManager.ghostCanvas])};k.prototype._initialize=function(){this.isNavigator=f(this.parent)||f(this.parent._defaultsKey)||"Navigator"!==this.parent._defaultsKey?!1:!0;this._animator?this._animator.cancelAllAnimations():this._animator=new ja(this);this.removeAllEventListeners();this.disableToolTip=!1;this._axes=[];this.funnelPyramidClickHandler=this.pieDoughnutClickHandler=null;this._updateOptions();this.animatedRender=t&&this.animationEnabled&&
@@ -225,517 +225,517 @@ d=0,n=!1,p=!1,q;if("normal"===f.axisPlacement||"xySwapped"===f.axisPlacement)var
225
225
  a.axisX.options&&a.axisX.options.maximum?a.axisX.options.maximum:Infinity;if(f.dataPoints[d].x&&f.dataPoints[d].x.getTime||"dateTime"===f.xValueType)l=!0;for(d=0;d<f.dataPoints.length;d++){"undefined"===typeof f.dataPoints[d].x&&(f.dataPoints[d].x=d+(a.axisX.logarithmic?1:0));f.dataPoints[d].x.getTime?(l=!0,b=f.dataPoints[d].x.getTime()):b=f.dataPoints[d].x;e=f.dataPoints[d].y;b<c.min&&(c.min=b);b>c.max&&(c.max=b);e<g.min&&"number"===typeof e&&(g.min=e);e>g.max&&"number"===typeof e&&(g.max=e);if(0<
226
226
  d){if(a.axisX.logarithmic){var x=b/f.dataPoints[d-1].x;1>x&&(x=1/x);c.minDiff>x&&1!==x&&(c.minDiff=x)}else x=b-f.dataPoints[d-1].x,0>x&&(x*=-1),c.minDiff>x&&0!==x&&(c.minDiff=x);null!==e&&null!==f.dataPoints[d-1].y&&(a.axisY.logarithmic?(x=e/f.dataPoints[d-1].y,1>x&&(x=1/x),g.minDiff>x&&1!==x&&(g.minDiff=x)):(x=e-f.dataPoints[d-1].y,0>x&&(x*=-1),g.minDiff>x&&0!==x&&(g.minDiff=x)))}if(b<s&&!n)null!==e&&(q=b);else{if(!n&&(n=!0,0<d)){d-=2;continue}if(b>h&&!p)p=!0;else if(b>h&&p)continue;f.dataPoints[d].label&&
227
227
  (a.axisX.labels[b]=f.dataPoints[d].label);b<c.viewPortMin&&(c.viewPortMin=b);b>c.viewPortMax&&(c.viewPortMax=b);null===e?c.viewPortMin===b&&q<b&&(c.viewPortMin=q):(e<g.viewPortMin&&"number"===typeof e&&(g.viewPortMin=e),e>g.viewPortMax&&"number"===typeof e&&(g.viewPortMax=e))}}f.axisX.valueType=f.xValueType=l?"dateTime":"number"}};k.prototype._processStackedPlotUnit=function(a){if(a.dataSeriesIndexes&&!(1>a.dataSeriesIndexes.length)){for(var g=a.axisY.dataInfo,c=a.axisX.dataInfo,b,e,l=!1,z=[],d=[],
228
- J=Infinity,n=-Infinity,p=0;p<a.dataSeriesIndexes.length;p++){var q=this.data[a.dataSeriesIndexes[p]],s=0,h=!1,x=!1,C;if("normal"===q.axisPlacement||"xySwapped"===q.axisPlacement)var t=a.axisX.sessionVariables.newViewportMinimum?a.axisX.sessionVariables.newViewportMinimum:a.axisX.options&&a.axisX.options.viewportMinimum?a.axisX.options.viewportMinimum:a.axisX.options&&a.axisX.options.minimum?a.axisX.options.minimum:-Infinity,u=a.axisX.sessionVariables.newViewportMaximum?a.axisX.sessionVariables.newViewportMaximum:
229
- a.axisX.options&&a.axisX.options.viewportMaximum?a.axisX.options.viewportMaximum:a.axisX.options&&a.axisX.options.maximum?a.axisX.options.maximum:Infinity;if(q.dataPoints[s].x&&q.dataPoints[s].x.getTime||"dateTime"===q.xValueType)l=!0;for(s=0;s<q.dataPoints.length;s++){"undefined"===typeof q.dataPoints[s].x&&(q.dataPoints[s].x=s+(a.axisX.logarithmic?1:0));q.dataPoints[s].x.getTime?(l=!0,b=q.dataPoints[s].x.getTime()):b=q.dataPoints[s].x;e=f(q.dataPoints[s].y)?0:q.dataPoints[s].y;b<c.min&&(c.min=b);
230
- b>c.max&&(c.max=b);if(0<s){if(a.axisX.logarithmic){var m=b/q.dataPoints[s-1].x;1>m&&(m=1/m);c.minDiff>m&&1!==m&&(c.minDiff=m)}else m=b-q.dataPoints[s-1].x,0>m&&(m*=-1),c.minDiff>m&&0!==m&&(c.minDiff=m);null!==e&&null!==q.dataPoints[s-1].y&&(a.axisY.logarithmic?0<e&&(m=e/q.dataPoints[s-1].y,1>m&&(m=1/m),g.minDiff>m&&1!==m&&(g.minDiff=m)):(m=e-q.dataPoints[s-1].y,0>m&&(m*=-1),g.minDiff>m&&0!==m&&(g.minDiff=m)))}if(b<t&&!h)null!==q.dataPoints[s].y&&(C=b);else{if(!h&&(h=!0,0<s)){s-=2;continue}if(b>u&&
231
- !x)x=!0;else if(b>u&&x)continue;q.dataPoints[s].label&&(a.axisX.labels[b]=q.dataPoints[s].label);b<c.viewPortMin&&(c.viewPortMin=b);b>c.viewPortMax&&(c.viewPortMax=b);null===q.dataPoints[s].y?c.viewPortMin===b&&C<b&&(c.viewPortMin=C):(q.dataPointEOs[s].cumulativeY=(0<p?this.data[a.dataSeriesIndexes[p-1]].dataPointEOs[s].cumulativeY:0)+q.dataPoints[s].y,a.yTotals[b]=(a.yTotals[b]?a.yTotals[b]:0)+e,a.yAbsTotals[b]=(a.yAbsTotals[b]?a.yAbsTotals[b]:0)+Math.abs(e),0<=e?z[b]?z[b]+=e:(z[b]=e,J=Math.min(e,
232
- J)):d[b]?d[b]+=e:(d[b]=e,n=Math.max(e,n)))}}a.axisY.scaleBreaks&&(a.axisY.scaleBreaks.autoCalculate&&1<=a.axisY.scaleBreaks.maxNumberOfAutoBreaks)&&(g.dataPointYPositiveSums?(g.dataPointYPositiveSums.push.apply(g.dataPointYPositiveSums,z),g.dataPointYNegativeSums.push.apply(g.dataPointYPositiveSums,d)):(g.dataPointYPositiveSums=z,g.dataPointYNegativeSums=d));q.axisX.valueType=q.xValueType=l?"dateTime":"number"}for(s in z)z.hasOwnProperty(s)&&!isNaN(s)&&(a=z[s],a<g.min&&(g.min=Math.min(a,J)),a>g.max&&
233
- (g.max=a),s<c.viewPortMin||s>c.viewPortMax||(a<g.viewPortMin&&(g.viewPortMin=Math.min(a,J)),a>g.viewPortMax&&(g.viewPortMax=a)));for(s in d)d.hasOwnProperty(s)&&!isNaN(s)&&(a=d[s],a<g.min&&(g.min=a),a>g.max&&(g.max=Math.max(a,n)),s<c.viewPortMin||s>c.viewPortMax||(a<g.viewPortMin&&(g.viewPortMin=a),a>g.viewPortMax&&(g.viewPortMax=Math.max(a,n))))}};k.prototype._processStacked100PlotUnit=function(a){if(a.dataSeriesIndexes&&!(1>a.dataSeriesIndexes.length)){for(var g=a.axisY.dataInfo,c=a.axisX.dataInfo,
234
- b,e,l=!1,z=!1,d=!1,J=[],n=0;n<a.dataSeriesIndexes.length;n++){var p=this.data[a.dataSeriesIndexes[n]],q=0,s=!1,h=!1,x;if("normal"===p.axisPlacement||"xySwapped"===p.axisPlacement)var C=a.axisX.sessionVariables.newViewportMinimum?a.axisX.sessionVariables.newViewportMinimum:a.axisX.options&&a.axisX.options.viewportMinimum?a.axisX.options.viewportMinimum:a.axisX.options&&a.axisX.options.minimum?a.axisX.options.minimum:-Infinity,t=a.axisX.sessionVariables.newViewportMaximum?a.axisX.sessionVariables.newViewportMaximum:
235
- a.axisX.options&&a.axisX.options.viewportMaximum?a.axisX.options.viewportMaximum:a.axisX.options&&a.axisX.options.maximum?a.axisX.options.maximum:Infinity;if(p.dataPoints[q].x&&p.dataPoints[q].x.getTime||"dateTime"===p.xValueType)l=!0;for(q=0;q<p.dataPoints.length;q++){"undefined"===typeof p.dataPoints[q].x&&(p.dataPoints[q].x=q+(a.axisX.logarithmic?1:0));p.dataPoints[q].x.getTime?(l=!0,b=p.dataPoints[q].x.getTime()):b=p.dataPoints[q].x;e=f(p.dataPoints[q].y)?null:p.dataPoints[q].y;b<c.min&&(c.min=
236
- b);b>c.max&&(c.max=b);if(0<q){if(a.axisX.logarithmic){var u=b/p.dataPoints[q-1].x;1>u&&(u=1/u);c.minDiff>u&&1!==u&&(c.minDiff=u)}else u=b-p.dataPoints[q-1].x,0>u&&(u*=-1),c.minDiff>u&&0!==u&&(c.minDiff=u);f(e)||null===p.dataPoints[q-1].y||(a.axisY.logarithmic?0<e&&(u=e/p.dataPoints[q-1].y,1>u&&(u=1/u),g.minDiff>u&&1!==u&&(g.minDiff=u)):(u=e-p.dataPoints[q-1].y,0>u&&(u*=-1),g.minDiff>u&&0!==u&&(g.minDiff=u)))}if(b<C&&!s)null!==e&&(x=b);else{if(!s&&(s=!0,0<q)){q-=2;continue}if(b>t&&!h)h=!0;else if(b>
237
- t&&h)continue;p.dataPoints[q].label&&(a.axisX.labels[b]=p.dataPoints[q].label);b<c.viewPortMin&&(c.viewPortMin=b);b>c.viewPortMax&&(c.viewPortMax=b);null===e?c.viewPortMin===b&&x<b&&(c.viewPortMin=x):(p.dataPointEOs[q].cumulativeY=(0<n?this.data[a.dataSeriesIndexes[n-1]].dataPointEOs[q].cumulativeY:0)+p.dataPoints[q].y,a.yTotals[b]=(a.yTotals[b]?a.yTotals[b]:0)+e,a.yAbsTotals[b]=(a.yAbsTotals[b]?a.yAbsTotals[b]:0)+Math.abs(e),0<=e?z=!0:0>e&&(d=!0),J[b]=J[b]?J[b]+Math.abs(e):Math.abs(e))}}p.axisX.valueType=
238
- p.xValueType=l?"dateTime":"number"}a.axisY.logarithmic?(g.max=f(g.viewPortMax)?99*Math.pow(a.axisY.logarithmBase,-0.05):Math.max(g.viewPortMax,99*Math.pow(a.axisY.logarithmBase,-0.05)),g.min=f(g.viewPortMin)?1:Math.min(g.viewPortMin,1)):z&&!d?(g.max=f(g.viewPortMax)?99:Math.max(g.viewPortMax,99),g.min=f(g.viewPortMin)?1:Math.min(g.viewPortMin,1)):z&&d?(g.max=f(g.viewPortMax)?99:Math.max(g.viewPortMax,99),g.min=f(g.viewPortMin)?-99:Math.min(g.viewPortMin,-99)):!z&&d&&(g.max=f(g.viewPortMax)?-1:Math.max(g.viewPortMax,
239
- -1),g.min=f(g.viewPortMin)?-99:Math.min(g.viewPortMin,-99));g.viewPortMin=g.min;g.viewPortMax=g.max;a.dataPointYSums=J}};k.prototype._processMultiYPlotUnit=function(a){if(a.dataSeriesIndexes&&!(1>a.dataSeriesIndexes.length))for(var g=a.axisY.dataInfo,c=a.axisX.dataInfo,b,e,l,z,f=!1,d=0;d<a.dataSeriesIndexes.length;d++){var n=this.data[a.dataSeriesIndexes[d]],p=0,q=!1,s=!1,h,x,C;if("normal"===n.axisPlacement||"xySwapped"===n.axisPlacement)var t=a.axisX.sessionVariables.newViewportMinimum?a.axisX.sessionVariables.newViewportMinimum:
240
- a.axisX.options&&a.axisX.options.viewportMinimum?a.axisX.options.viewportMinimum:a.axisX.options&&a.axisX.options.minimum?a.axisX.options.minimum:a.axisX.logarithmic?0:-Infinity,u=a.axisX.sessionVariables.newViewportMaximum?a.axisX.sessionVariables.newViewportMaximum:a.axisX.options&&a.axisX.options.viewportMaximum?a.axisX.options.viewportMaximum:a.axisX.options&&a.axisX.options.maximum?a.axisX.options.maximum:Infinity;if(n.dataPoints[p].x&&n.dataPoints[p].x.getTime||"dateTime"===n.xValueType)f=!0;
241
- for(p=0;p<n.dataPoints.length;p++){"undefined"===typeof n.dataPoints[p].x&&(n.dataPoints[p].x=p+(a.axisX.logarithmic?1:0));n.dataPoints[p].x.getTime?(f=!0,b=n.dataPoints[p].x.getTime()):b=n.dataPoints[p].x;if((e=n.dataPoints[p].y)&&e.length){l=Math.min.apply(null,e);z=Math.max.apply(null,e);x=!0;for(var m=0;m<e.length;m++)null===e.k&&(x=!1);x&&(q||(C=h),h=b)}b<c.min&&(c.min=b);b>c.max&&(c.max=b);l<g.min&&(g.min=l);z>g.max&&(g.max=z);0<p&&(a.axisX.logarithmic?(x=b/n.dataPoints[p-1].x,1>x&&(x=1/x),
242
- c.minDiff>x&&1!==x&&(c.minDiff=x)):(x=b-n.dataPoints[p-1].x,0>x&&(x*=-1),c.minDiff>x&&0!==x&&(c.minDiff=x)),e&&(null!==e[0]&&n.dataPoints[p-1].y&&null!==n.dataPoints[p-1].y[0])&&(a.axisY.logarithmic?(x=e[0]/n.dataPoints[p-1].y[0],1>x&&(x=1/x),g.minDiff>x&&1!==x&&(g.minDiff=x)):(x=e[0]-n.dataPoints[p-1].y[0],0>x&&(x*=-1),g.minDiff>x&&0!==x&&(g.minDiff=x))));if(!(b<t)||q){if(!q&&(q=!0,0<p)){p-=2;h=C;continue}if(b>u&&!s)s=!0;else if(b>u&&s)continue;n.dataPoints[p].label&&(a.axisX.labels[b]=n.dataPoints[p].label);
243
- b<c.viewPortMin&&(c.viewPortMin=b);b>c.viewPortMax&&(c.viewPortMax=b);if(c.viewPortMin===b&&e)for(m=0;m<e.length;m++)if(null===e[m]&&h<b){c.viewPortMin=h;break}null===e?c.viewPortMin===b&&h<b&&(c.viewPortMin=h):(l<g.viewPortMin&&(g.viewPortMin=l),z>g.viewPortMax&&(g.viewPortMax=z))}}n.axisX.valueType=n.xValueType=f?"dateTime":"number"}};k.prototype._processSpecificPlotUnit=function(a){if("waterfall"===a.type&&a.dataSeriesIndexes&&!(1>a.dataSeriesIndexes.length))for(var g=a.axisY.dataInfo,c=a.axisX.dataInfo,
244
- b,e,l=!1,z=0;z<a.dataSeriesIndexes.length;z++){var f=this.data[a.dataSeriesIndexes[z]],d=0,n=!1,p=!1,q=b=0;if("normal"===f.axisPlacement||"xySwapped"===f.axisPlacement)var s=a.axisX.sessionVariables.newViewportMinimum?a.axisX.sessionVariables.newViewportMinimum:a.axisX.options&&a.axisX.options.viewportMinimum?a.axisX.options.viewportMinimum:a.axisX.options&&a.axisX.options.minimum?a.axisX.options.minimum:a.axisX.logarithmic?0:-Infinity,h=a.axisX.sessionVariables.newViewportMaximum?a.axisX.sessionVariables.newViewportMaximum:
245
- a.axisX.options&&a.axisX.options.viewportMaximum?a.axisX.options.viewportMaximum:a.axisX.options&&a.axisX.options.maximum?a.axisX.options.maximum:Infinity;if(f.dataPoints[d].x&&f.dataPoints[d].x.getTime||"dateTime"===f.xValueType)l=!0;for(d=0;d<f.dataPoints.length;d++)"undefined"!==typeof f.dataPoints[d].isCumulativeSum&&!0===f.dataPoints[d].isCumulativeSum?(f.dataPointEOs[d].cumulativeSumYStartValue=0,f.dataPointEOs[d].cumulativeSum=0===d?0:f.dataPointEOs[d-1].cumulativeSum,f.dataPoints[d].y=0===
246
- d?0:f.dataPointEOs[d-1].cumulativeSum):"undefined"!==typeof f.dataPoints[d].isIntermediateSum&&!0===f.dataPoints[d].isIntermediateSum?(f.dataPointEOs[d].cumulativeSumYStartValue=q,f.dataPointEOs[d].cumulativeSum=0===d?0:f.dataPointEOs[d-1].cumulativeSum,f.dataPoints[d].y=0===d?0:b,q=0===d?0:f.dataPointEOs[d-1].cumulativeSum,b=0):(e="number"!==typeof f.dataPoints[d].y?0:f.dataPoints[d].y,f.dataPointEOs[d].cumulativeSumYStartValue=0===d?0:f.dataPointEOs[d-1].cumulativeSum,f.dataPointEOs[d].cumulativeSum=
247
- 0===d?e:f.dataPointEOs[d-1].cumulativeSum+e,b+=e);for(d=0;d<f.dataPoints.length;d++)if("undefined"===typeof f.dataPoints[d].x&&(f.dataPoints[d].x=d+(a.axisX.logarithmic?1:0)),f.dataPoints[d].x.getTime?(l=!0,b=f.dataPoints[d].x.getTime()):b=f.dataPoints[d].x,e=f.dataPoints[d].y,b<c.min&&(c.min=b),b>c.max&&(c.max=b),f.dataPointEOs[d].cumulativeSum<g.min&&(g.min=f.dataPointEOs[d].cumulativeSum),f.dataPointEOs[d].cumulativeSum>g.max&&(g.max=f.dataPointEOs[d].cumulativeSum),0<d&&(a.axisX.logarithmic?(q=
248
- b/f.dataPoints[d-1].x,1>q&&(q=1/q),c.minDiff>q&&1!==q&&(c.minDiff=q)):(q=b-f.dataPoints[d-1].x,0>q&&(q*=-1),c.minDiff>q&&0!==q&&(c.minDiff=q)),null!==e&&null!==f.dataPoints[d-1].y&&(a.axisY.logarithmic?(e=f.dataPointEOs[d].cumulativeSum/f.dataPointEOs[d-1].cumulativeSum,1>e&&(e=1/e),g.minDiff>e&&1!==e&&(g.minDiff=e)):(e=f.dataPointEOs[d].cumulativeSum-f.dataPointEOs[d-1].cumulativeSum,0>e&&(e*=-1),g.minDiff>e&&0!==e&&(g.minDiff=e)))),!(b<s)||n){if(!n&&(n=!0,0<d)){d-=2;continue}if(b>h&&!p)p=!0;else if(b>
249
- h&&p)continue;f.dataPoints[d].label&&(a.axisX.labels[b]=f.dataPoints[d].label);b<c.viewPortMin&&(c.viewPortMin=b);b>c.viewPortMax&&(c.viewPortMax=b);0<d&&(f.dataPointEOs[d-1].cumulativeSum<g.viewPortMin&&(g.viewPortMin=f.dataPointEOs[d-1].cumulativeSum),f.dataPointEOs[d-1].cumulativeSum>g.viewPortMax&&(g.viewPortMax=f.dataPointEOs[d-1].cumulativeSum));f.dataPointEOs[d].cumulativeSum<g.viewPortMin&&(g.viewPortMin=f.dataPointEOs[d].cumulativeSum);f.dataPointEOs[d].cumulativeSum>g.viewPortMax&&(g.viewPortMax=
250
- f.dataPointEOs[d].cumulativeSum)}f.axisX.valueType=f.xValueType=l?"dateTime":"number"}};k.prototype.calculateAutoBreaks=function(){function a(a,b,c,e){if(e)return c=Math.pow(Math.min(c*a/b,b/a),0.2),1>=c&&(c=Math.pow(1>a?1/a:Math.min(b/a,a),0.25)),{startValue:a*c,endValue:b/c};c=0.2*Math.min(c-b+a,b-a);0>=c&&(c=0.25*Math.min(b-a,Math.abs(a)));return{startValue:a+c,endValue:b-c}}function g(a){if(a.dataSeriesIndexes&&!(1>a.dataSeriesIndexes.length)){var b=a.axisX.scaleBreaks&&a.axisX.scaleBreaks.autoCalculate&&
251
- 1<=a.axisX.scaleBreaks.maxNumberOfAutoBreaks,c=a.axisY.scaleBreaks&&a.axisY.scaleBreaks.autoCalculate&&1<=a.axisY.scaleBreaks.maxNumberOfAutoBreaks;if(b||c)for(var g=a.axisY.dataInfo,l=a.axisX.dataInfo,h,z=l.min,n=l.max,p=g.min,d=g.max,l=l._dataRanges,g=g._dataRanges,q,s=0,na=0;na<a.dataSeriesIndexes.length;na++){var C=e.data[a.dataSeriesIndexes[na]];if(!(4>C.dataPoints.length))for(s=0;s<C.dataPoints.length;s++)if(b&&(q=(n+1-z)*Math.max(parseFloat(a.axisX.scaleBreaks.collapsibleThreshold)||10,10)/
252
- 100,h=C.dataPoints[s].x.getTime?C.dataPoints[s].x.getTime():C.dataPoints[s].x,q=Math.floor((h-z)/q),h<l[q].min&&(l[q].min=h),h>l[q].max&&(l[q].max=h)),c){var J=(d+1-p)*Math.max(parseFloat(a.axisY.scaleBreaks.collapsibleThreshold)||10,10)/100;if((h="waterfall"===a.type?C.dataPointEOs[s].cumulativeSum:C.dataPoints[s].y)&&h.length)for(var t=0;t<h.length;t++)q=Math.floor((h[t]-p)/J),h[t]<g[q].min&&(g[q].min=h[t]),h[t]>g[q].max&&(g[q].max=h[t]);else f(h)||(q=Math.floor((h-p)/J),h<g[q].min&&(g[q].min=h),
253
- h>g[q].max&&(g[q].max=h))}}}}function c(a){if(a.dataSeriesIndexes&&!(1>a.dataSeriesIndexes.length)&&a.axisX.scaleBreaks&&a.axisX.scaleBreaks.autoCalculate&&1<=a.axisX.scaleBreaks.maxNumberOfAutoBreaks)for(var b=a.axisX.dataInfo,c=b.min,g=b.max,h=b._dataRanges,l,z=0,f=0;f<a.dataSeriesIndexes.length;f++){var n=e.data[a.dataSeriesIndexes[f]];if(!(4>n.dataPoints.length))for(z=0;z<n.dataPoints.length;z++)l=(g+1-c)*Math.max(parseFloat(a.axisX.scaleBreaks.collapsibleThreshold)||10,10)/100,b=n.dataPoints[z].x.getTime?
254
- n.dataPoints[z].x.getTime():n.dataPoints[z].x,l=Math.floor((b-c)/l),b<h[l].min&&(h[l].min=b),b>h[l].max&&(h[l].max=b)}}for(var b,e=this,l=!1,z=0;z<this._axes.length;z++)if(this._axes[z].scaleBreaks&&this._axes[z].scaleBreaks.autoCalculate&&1<=this._axes[z].scaleBreaks.maxNumberOfAutoBreaks){l=!0;this._axes[z].dataInfo._dataRanges=[];for(var d=0;d<100/Math.max(parseFloat(this._axes[z].scaleBreaks.collapsibleThreshold)||10,10);d++)this._axes[z].dataInfo._dataRanges.push({min:Infinity,max:-Infinity})}if(l){for(z=
255
- 0;z<this.plotInfo.plotTypes.length;z++)for(l=this.plotInfo.plotTypes[z],d=0;d<l.plotUnits.length;d++)b=l.plotUnits[d],"line"===b.type||"stepLine"===b.type||"spline"===b.type||"column"===b.type||"area"===b.type||"stepArea"===b.type||"splineArea"===b.type||"bar"===b.type||"bubble"===b.type||"scatter"===b.type||"candlestick"===b.type||"ohlc"===b.type||"rangeColumn"===b.type||"rangeBar"===b.type||"rangeArea"===b.type||"rangeSplineArea"===b.type||"waterfall"===b.type||"error"===b.type||"boxAndWhisker"===
256
- b.type?g(b):0<=b.type.indexOf("stacked")&&c(b);for(z=0;z<this._axes.length;z++)if(this._axes[z].dataInfo._dataRanges){var C=this._axes[z].dataInfo.min;b=(this._axes[z].dataInfo.max+1-C)*Math.max(parseFloat(this._axes[z].scaleBreaks.collapsibleThreshold)||10,10)/100;var n=this._axes[z].dataInfo._dataRanges,p,q,l=[];if(this._axes[z].dataInfo.dataPointYPositiveSums){var s=this._axes[z].dataInfo.dataPointYPositiveSums;p=n;for(d in s)if(s.hasOwnProperty(d)&&!isNaN(d)&&(q=s[d],!f(q))){var h=Math.floor((q-
257
- C)/b);q<p[h].min&&(p[h].min=q);q>p[h].max&&(p[h].max=q)}delete this._axes[z].dataInfo.dataPointYPositiveSums}if(this._axes[z].dataInfo.dataPointYNegativeSums){s=this._axes[z].dataInfo.dataPointYNegativeSums;p=n;for(d in s)s.hasOwnProperty(d)&&!isNaN(d)&&(q=-1*s[d],f(q)||(h=Math.floor((q-C)/b),q<p[h].min&&(p[h].min=q),q>p[h].max&&(p[h].max=q)));delete this._axes[z].dataInfo.dataPointYNegativeSums}for(d=0;d<n.length-1;d++)if(p=n[d].max,isFinite(p))for(;d<n.length-1;)if(C=n[d+1].min,isFinite(C)){q=C-
258
- p;q>b&&l.push({diff:q,start:p,end:C});break}else d++;if(this._axes[z].scaleBreaks.customBreaks)for(d=0;d<this._axes[z].scaleBreaks.customBreaks.length;d++)for(b=0;b<l.length;b++)if(this._axes[z].scaleBreaks.customBreaks[d].startValue<=l[b].start&&l[b].start<=this._axes[z].scaleBreaks.customBreaks[d].endValue||this._axes[z].scaleBreaks.customBreaks[d].startValue<=l[b].start&&l[b].start<=this._axes[z].scaleBreaks.customBreaks[d].endValue||l[b].start<=this._axes[z].scaleBreaks.customBreaks[d].startValue&&
259
- this._axes[z].scaleBreaks.customBreaks[d].startValue<=l[b].end||l[b].start<=this._axes[z].scaleBreaks.customBreaks[d].endValue&&this._axes[z].scaleBreaks.customBreaks[d].endValue<=l[b].end)l.splice(b,1),b--;l.sort(function(a,b){return b.diff-a.diff});for(d=0;d<Math.min(l.length,this._axes[z].scaleBreaks.maxNumberOfAutoBreaks);d++)b=a(l[d].start,l[d].end,this._axes[z].logarithmic?this._axes[z].dataInfo.max/this._axes[z].dataInfo.min:this._axes[z].dataInfo.max-this._axes[z].dataInfo.min,this._axes[z].logarithmic),
260
- this._axes[z].scaleBreaks.autoBreaks.push(new T(this,"autoBreaks",b,d,++this._eventManager.lastObjectId,this._axes[z].scaleBreaks)),this._axes[z].scaleBreaks._appliedBreaks.push(this._axes[z].scaleBreaks.autoBreaks[this._axes[z].scaleBreaks.autoBreaks.length-1]);this._axes[z].scaleBreaks._appliedBreaks.sort(function(a,b){return a.startValue-b.startValue})}}};k.prototype.renderCrosshairs=function(a){for(var g=0;g<this.axisX.length;g++)this.axisX[g]!=a&&(this.axisX[g].crosshair&&this.axisX[g].crosshair.enabled&&
261
- !this.axisX[g].crosshair._hidden)&&this.axisX[g].showCrosshair(this.axisX[g].crosshair._updatedValue);for(g=0;g<this.axisX2.length;g++)this.axisX2[g]!=a&&(this.axisX2[g].crosshair&&this.axisX2[g].crosshair.enabled&&!this.axisX2[g].crosshair._hidden)&&this.axisX2[g].showCrosshair(this.axisX2[g].crosshair._updatedValue);for(g=0;g<this.axisY.length;g++)this.axisY[g]!=a&&(this.axisY[g].crosshair&&this.axisY[g].crosshair.enabled&&!this.axisY[g].crosshair._hidden)&&this.axisY[g].showCrosshair(this.axisY[g].crosshair._updatedValue);
262
- for(g=0;g<this.axisY2.length;g++)this.axisY2[g]!=a&&(this.axisY2[g].crosshair&&this.axisY2[g].crosshair.enabled&&!this.axisY2[g].crosshair._hidden)&&this.axisY2[g].showCrosshair(this.axisY2[g].crosshair._updatedValue)};k.prototype.getDataPointAtXY=function(a,g,c){c=c||!1;for(var b=[],e=this._dataInRenderedOrder.length-1;0<=e;e--){var l=null;(l=this._dataInRenderedOrder[e].getDataPointAtXY(a,g,c))&&b.push(l)}a=null;g=!1;for(c=0;c<b.length;c++)if("line"===b[c].dataSeries.type||"stepLine"===b[c].dataSeries.type||
263
- "area"===b[c].dataSeries.type||"stepArea"===b[c].dataSeries.type)if(e=qa("markerSize",b[c].dataPoint,b[c].dataSeries)||8,b[c].distance<=e/2){g=!0;break}for(c=0;c<b.length;c++)g&&"line"!==b[c].dataSeries.type&&"stepLine"!==b[c].dataSeries.type&&"area"!==b[c].dataSeries.type&&"stepArea"!==b[c].dataSeries.type||(a?b[c].distance<=a.distance&&(a=b[c]):a=b[c]);return a};k.prototype.getObjectAtXY=function(a,g,c){var b=null;if(c=this.getDataPointAtXY(a,g,c||!1))b=c.dataSeries.dataPointIds[c.dataPointIndex];
264
- else if(t)b=jb(a,g,this._eventManager.ghostCtx);else for(c=0;c<this.legend.items.length;c++){var e=this.legend.items[c];a>=e.x1&&(a<=e.x2&&g>=e.y1&&g<=e.y2)&&(b=e.id)}return b};k.prototype.getAutoFontSize=nb;k.prototype.resetOverlayedCanvas=function(){this.overlaidCanvasCtx.clearRect(0,0,this.width,this.height)};k.prototype.clearCanvas=mb;k.prototype.attachEvent=function(a){this._events.push(a)};k.prototype._touchEventHandler=function(a){if(a.changedTouches&&this.interactivityEnabled){var g=[],c=
265
- a.changedTouches,b=c?c[0]:a,e=null;switch(a.type){case "touchstart":case "MSPointerDown":g=["mousemove","mousedown"];this._lastTouchData=za(b);this._lastTouchData.time=new Date;break;case "touchmove":case "MSPointerMove":g=["mousemove"];break;case "touchend":case "MSPointerUp":var l=this._lastTouchData&&this._lastTouchData.time?new Date-this._lastTouchData.time:0,g="touchstart"===this._lastTouchEventType||"MSPointerDown"===this._lastTouchEventType||300>l?["mouseup","click"]:["mouseup"];break;default:return}if(!(c&&
266
- 1<c.length)){e=za(b);e.time=new Date;try{var z=e.y-this._lastTouchData.y,l=e.time-this._lastTouchData.time;if(1<Math.abs(z)&&this._lastTouchData.scroll||5<Math.abs(z)&&250>l)this._lastTouchData.scroll=!0}catch(d){}this._lastTouchEventType=a.type;if(this._lastTouchData.scroll&&this.zoomEnabled)this.isDrag&&this.resetOverlayedCanvas(),this.isDrag=!1;else for(c=0;c<g.length;c++)if(e=g[c],z=document.createEvent("MouseEvent"),z.initMouseEvent(e,!0,!0,window,1,b.screenX,b.screenY,b.clientX,b.clientY,!1,
267
- !1,!1,!1,0,null),b.target.dispatchEvent(z),!f(this._lastTouchData.scroll)&&!this._lastTouchData.scroll||!this._lastTouchData.scroll&&250<l||"click"===e)a.preventManipulation&&a.preventManipulation(),a.preventDefault&&a.cancelable&&a.preventDefault()}}};k.prototype._dispatchRangeEvent=function(a,g){var c={chart:this};c.type=a;c.trigger=g;var b=[];this.axisX&&0<this.axisX.length&&b.push("axisX");this.axisX2&&0<this.axisX2.length&&b.push("axisX2");this.axisY&&0<this.axisY.length&&b.push("axisY");this.axisY2&&
268
- 0<this.axisY2.length&&b.push("axisY2");for(var e=0;e<b.length;e++)if(f(c[b[e]])&&(c[b[e]]=[]),"axisY"===b[e])for(var l=0;l<this.axisY.length;l++)c[b[e]].push({viewportMinimum:this[b[e]][l].sessionVariables.newViewportMinimum,viewportMaximum:this[b[e]][l].sessionVariables.newViewportMaximum});else if("axisY2"===b[e])for(l=0;l<this.axisY2.length;l++)c[b[e]].push({viewportMinimum:this[b[e]][l].sessionVariables.newViewportMinimum,viewportMaximum:this[b[e]][l].sessionVariables.newViewportMaximum});else if("axisX"===
269
- b[e])for(l=0;l<this.axisX.length;l++)c[b[e]].push({viewportMinimum:this[b[e]][l].sessionVariables.newViewportMinimum,viewportMaximum:this[b[e]][l].sessionVariables.newViewportMaximum});else if("axisX2"===b[e])for(l=0;l<this.axisX2.length;l++)c[b[e]].push({viewportMinimum:this[b[e]][l].sessionVariables.newViewportMinimum,viewportMaximum:this[b[e]][l].sessionVariables.newViewportMaximum});this.dispatchEvent(a,c,this)};k.prototype._mouseEventHandler=function(a){function g(){k.capturedEventParam&&(e=
270
- k.capturedEventParam,z=e.bounds,"mouseup"===b&&(k.capturedEventParam=null,e.chart.overlaidCanvas.releaseCapture?e.chart.overlaidCanvas.releaseCapture():document.documentElement.removeEventListener("mouseup",e.chart._mouseEventHandler,!1)),e.hasOwnProperty(b)&&("mouseup"!==b||e.chart.overlaidCanvas.releaseCapture?a.target!==e.chart.overlaidCanvas&&t||e[b].call(e.context,c.x,c.y):a.target!==e.chart.overlaidCanvas&&(e.chart.isDrag=!1)))}"undefined"===typeof a.target&&a.srcElement&&(a.target=a.srcElement);
271
- var c=za(a),b=a.type,e,l;a.which?l=3==a.which:a.button&&(l=2==a.button);if(this._ignoreNextEvent)g(),this._ignoreNextEvent=!1;else if(g(),this.interactivityEnabled){a.preventManipulation&&a.preventManipulation();a.preventDefault&&a.preventDefault();var z;La&&window.console&&(window.console.log(b+" --\x3e x: "+c.x+"; y:"+c.y),l&&window.console.log(a.which),"mouseup"===b&&window.console.log("mouseup"));if(!l){if(!k.capturedEventParam&&this._events){for(l=0;l<this._events.length;l++)if(this._events[l].hasOwnProperty(b))if(e=
272
- this._events[l],z=e.bounds,c.x>=z.x1&&c.x<=z.x2&&c.y>=z.y1&&c.y<=z.y2){e[b].call(e.context,c.x,c.y);"mousedown"===b&&!0===e.capture?(k.capturedEventParam=e,this.overlaidCanvas.setCapture?this.overlaidCanvas.setCapture():document.documentElement.addEventListener("mouseup",this._mouseEventHandler,!1)):"mouseup"===b&&(e.chart.overlaidCanvas.releaseCapture?e.chart.overlaidCanvas.releaseCapture():document.documentElement.removeEventListener("mouseup",this._mouseEventHandler,!1));break}else e=null;a.target.style.cursor=
273
- e&&e.cursor?e.cursor:this._defaultCursor}l=this.plotArea;if(c.x<l.x1||c.x>l.x2||c.y<l.y1||c.y>l.y2){this.toolTip&&this.toolTip.enabled?(this.toolTip.hide(),this.toolTip.dispatchEvent("hidden",{chart:this,toolTip:this.toolTip},this.toolTip)):this.resetOverlayedCanvas();for(l=0;l<this.axisX.length;l++)this.axisX[l].crosshair&&this.axisX[l].crosshair.enabled&&(this.axisX[l].crosshair.hide(),this.axisX[l].crosshair.dispatchEvent("hidden",{chart:this,axis:this.axisX[l].options},this.axisX[l].crosshair));
274
- for(l=0;l<this.axisX2.length;l++)this.axisX2[l].crosshair&&this.axisX2[l].crosshair.enabled&&(this.axisX2[l].crosshair.hide(),this.axisX2[l].crosshair.dispatchEvent("hidden",{chart:this,axis:this.axisX2[l].options},this.axisX2[l].crosshair));for(l=0;l<this.axisY.length;l++)this.axisY[l].crosshair&&this.axisY[l].crosshair.enabled&&(this.axisY[l].crosshair.hide(),this.axisY[l].crosshair.dispatchEvent("hidden",{chart:this,axis:this.axisY[l].options},this.axisY[l].crosshair));for(l=0;l<this.axisY2.length;l++)this.axisY2[l].crosshair&&
275
- this.axisY2[l].crosshair.enabled&&(this.axisY2[l].crosshair.hide(),this.axisY2[l].crosshair.dispatchEvent("hidden",{chart:this,axis:this.axisY2[l].options},this.axisY2[l].crosshair))}this.isDrag&&this.zoomEnabled||!this._eventManager||this._eventManager.mouseEventHandler(a)}}};k.prototype._plotAreaMouseDown=function(a,g){this.isDrag=!0;this.dragStartPoint={x:a,y:g}};k.prototype._plotAreaMouseUp=function(a,g){if(("normal"===this.plotInfo.axisPlacement||"xySwapped"===this.plotInfo.axisPlacement)&&this.isDrag){var c=
276
- g-this.dragStartPoint.y,b=a-this.dragStartPoint.x,e=0<=this.zoomType.indexOf("x"),l=0<=this.zoomType.indexOf("y"),z=!1;this.resetOverlayedCanvas();if("xySwapped"===this.plotInfo.axisPlacement)var f=l,l=e,e=f;if(this.panEnabled||this.zoomEnabled){if(this.panEnabled)for(e=l=0;e<this._axes.length;e++)c=this._axes[e],c.logarithmic?c.viewportMinimum<c.minimum?(l=c.minimum/c.viewportMinimum,c.sessionVariables.newViewportMinimum=c.viewportMinimum*l,c.sessionVariables.newViewportMaximum=c.viewportMaximum*
277
- l,z=!0):c.viewportMaximum>c.maximum&&(l=c.viewportMaximum/c.maximum,c.sessionVariables.newViewportMinimum=c.viewportMinimum/l,c.sessionVariables.newViewportMaximum=c.viewportMaximum/l,z=!0):c.viewportMinimum<c.minimum?(l=c.minimum-c.viewportMinimum,c.sessionVariables.newViewportMinimum=c.viewportMinimum+l,c.sessionVariables.newViewportMaximum=c.viewportMaximum+l,z=!0):c.viewportMaximum>c.maximum&&(l=c.viewportMaximum-c.maximum,c.sessionVariables.newViewportMinimum=c.viewportMinimum-l,c.sessionVariables.newViewportMaximum=
278
- c.viewportMaximum-l,z=!0);else if((!e||2<Math.abs(b))&&(!l||2<Math.abs(c))&&this.zoomEnabled){if(!this.dragStartPoint)return;c=e?this.dragStartPoint.x:this.plotArea.x1;b=l?this.dragStartPoint.y:this.plotArea.y1;e=e?a:this.plotArea.x2;l=l?g:this.plotArea.y2;2<Math.abs(c-e)&&2<Math.abs(b-l)&&this._zoomPanToSelectedRegion(c,b,e,l)&&(z=!0)}z&&(this._ignoreNextEvent=!0,this._dispatchRangeEvent("rangeChanging","zoom"),this.stockChart&&(this.stockChart.navigator&&this.stockChart.navigator.enabled)&&(this.stockChart._rangeEventParameter||
279
- (this.stockChart._rangeEventParameter={stockChart:this.stockChart,source:"chart",index:this.stockChart.charts.indexOf(this),minimum:this.stockChart.sessionVariables._axisXMin,maximum:this.stockChart.sessionVariables._axisXMax}),this.stockChart._rangeEventParameter.type="rangeChanging",this.stockChart.dispatchEvent("rangeChanging",this.stockChart._rangeEventParameter,this.stockChart)),this.render(),this._dispatchRangeEvent("rangeChanged","zoom"),this.stockChart&&(this.stockChart.navigator&&this.stockChart.navigator.enabled)&&
280
- (this.stockChart._rangeEventParameter.type="rangeChanged",this.stockChart.dispatchEvent("rangeChanged",this.stockChart._rangeEventParameter,this.stockChart)),z&&(this.zoomEnabled&&"none"===this._zoomButton.style.display)&&(Sa(this._zoomButton,this._resetButton),va(this,this._zoomButton,"pan"),va(this,this._resetButton,"reset")))}}this.isDrag=!1;if("none"!==this.plotInfo.axisPlacement){this.resetOverlayedCanvas();if(this.axisX&&0<this.axisX.length)for(z=0;z<this.axisX.length;z++)this.axisX[z].crosshair&&
281
- this.axisX[z].crosshair.enabled&&this.axisX[z].renderCrosshair(a,g);if(this.axisX2&&0<this.axisX2.length)for(z=0;z<this.axisX2.length;z++)this.axisX2[z].crosshair&&this.axisX2[z].crosshair.enabled&&this.axisX2[z].renderCrosshair(a,g);if(this.axisY&&0<this.axisY.length)for(z=0;z<this.axisY.length;z++)this.axisY[z].crosshair&&this.axisY[z].crosshair.enabled&&this.axisY[z].renderCrosshair(a,g);if(this.axisY2&&0<this.axisY2.length)for(z=0;z<this.axisY2.length;z++)this.axisY2[z].crosshair&&this.axisY2[z].crosshair.enabled&&
282
- this.axisY2[z].renderCrosshair(a,g);if(this.axisX&&0<this.axisX.length)for(z=0;z<this.axisX.length;z++)this.axisX[z].crosshair&&this.axisX[z].crosshair.enabled&&this.axisX[z].crosshair.renderLabel();if(this.axisX2&&0<this.axisX2.length)for(z=0;z<this.axisX2.length;z++)this.axisX2[z].crosshair&&this.axisX2[z].crosshair.enabled&&this.axisX2[z].crosshair.renderLabel();if(this.axisY&&0<this.axisY.length)for(z=0;z<this.axisY.length;z++)this.axisY[z].crosshair&&this.axisY[z].crosshair.enabled&&this.axisY[z].crosshair.renderLabel();
283
- if(this.axisY2&&0<this.axisY2.length)for(z=0;z<this.axisY2.length;z++)this.axisY2[z].crosshair&&this.axisY2[z].crosshair.enabled&&this.axisY2[z].crosshair.renderLabel()}};k.prototype._plotAreaMouseMove=function(a,g){if(this.isDrag&&"none"!==this.plotInfo.axisPlacement){var c=0,b=0,e=c=null,e=0<=this.zoomType.indexOf("x"),l=0<=this.zoomType.indexOf("y"),z=this;"xySwapped"===this.plotInfo.axisPlacement&&(c=l,l=e,e=c);c=this.dragStartPoint.x-a;b=this.dragStartPoint.y-g;if(2<Math.abs(c)&&8>Math.abs(c)&&
284
- (this.panEnabled||this.zoomEnabled)){this.toolTip.hide();this.toolTip&&this.toolTip.enabled&&this.toolTip.dispatchEvent("hidden",{chart:this,toolTip:this.toolTip},this.toolTip);for(var f=0;f<this.axisX.length;f++)this.axisX[f].crosshair&&this.axisX[f].crosshair.enabled&&(this.axisX[f].crosshair.hide(),this.axisX[f].crosshair.dispatchEvent("hidden",{chart:this,axis:this.axisX[f].options},this.axisX[f].crosshair));for(f=0;f<this.axisX2.length;f++)this.axisX2[f].crosshair&&this.axisX2[f].crosshair.enabled&&
285
- (this.axisX2[f].crosshair.hide(),this.axisX2[f].crosshair.dispatchEvent("hidden",{chart:this,axis:this.axisX2[f].options},this.axisX2[f].crosshair));for(f=0;f<this.axisY.length;f++)this.axisY[f].crosshair&&this.axisY[f].crosshair.enabled&&(this.axisY[f].crosshair.hide(),this.axisY[f].crosshair.dispatchEvent("hidden",{chart:this,axis:this.axisY[f].options},this.axisY[f].crosshair));for(f=0;f<this.axisY2.length;f++)this.axisY2[f].crosshair&&this.axisY2[f].crosshair.enabled&&(this.axisY2[f].crosshair.hide(),
286
- this.axisY2[f].crosshair.dispatchEvent("hidden",{chart:this,axis:this.axisY2[f].options},this.axisY2[f].crosshair))}else this.panEnabled||this.zoomEnabled||this.toolTip.mouseMoveHandler(a,g);if((!e||2<Math.abs(c)||!l||2<Math.abs(b))&&(this.panEnabled||this.zoomEnabled))if(this.panEnabled)e={x1:e?this.plotArea.x1+c:this.plotArea.x1,y1:l?this.plotArea.y1+b:this.plotArea.y1,x2:e?this.plotArea.x2+c:this.plotArea.x2,y2:l?this.plotArea.y2+b:this.plotArea.y2},clearTimeout(z._panTimerId),z._panTimerId=setTimeout(function(b,
287
- c,e,h){return function(){z._zoomPanToSelectedRegion(b,c,e,h,!0)&&(z._dispatchRangeEvent("rangeChanging","pan"),z.stockChart&&(z.stockChart.navigator&&z.stockChart.navigator.enabled)&&(z.stockChart._rangeEventParameter.type="rangeChanging",z.stockChart.dispatchEvent("rangeChanging",z.stockChart._rangeEventParameter,z.stockChart)),z.render(),z._dispatchRangeEvent("rangeChanged","pan"),z.stockChart&&(z.stockChart.navigator&&z.stockChart.navigator.enabled)&&(z.stockChart._rangeEventParameter.type="rangeChanged",
288
- z.stockChart.dispatchEvent("rangeChanged",z.stockChart._rangeEventParameter,z.stockChart)),z.dragStartPoint.x=a,z.dragStartPoint.y=g)}}(e.x1,e.y1,e.x2,e.y2),0);else if(this.zoomEnabled){this.resetOverlayedCanvas();c=this.overlaidCanvasCtx.globalAlpha;this.overlaidCanvasCtx.fillStyle="#A89896";var b=e?this.dragStartPoint.x:this.plotArea.x1,f=l?this.dragStartPoint.y:this.plotArea.y1,d=e?a-this.dragStartPoint.x:this.plotArea.x2-this.plotArea.x1,n=l?g-this.dragStartPoint.y:this.plotArea.y2-this.plotArea.y1;
289
- this.validateRegion(b,f,e?a:this.plotArea.x2-this.plotArea.x1,l?g:this.plotArea.y2-this.plotArea.y1,"xy"!==this.zoomType).isValid&&(this.resetOverlayedCanvas(),this.overlaidCanvasCtx.fillStyle="#99B2B5");this.overlaidCanvasCtx.globalAlpha=0.7;this.overlaidCanvasCtx.fillRect(b,f,d,n);this.overlaidCanvasCtx.globalAlpha=c}}else if(this.toolTip.mouseMoveHandler(a,g),"none"!==this.plotInfo.axisPlacement){if(this.axisX&&0<this.axisX.length)for(e=0;e<this.axisX.length;e++)this.axisX[e].crosshair&&this.axisX[e].crosshair.enabled&&
290
- this.axisX[e].renderCrosshair(a,g);if(this.axisX2&&0<this.axisX2.length)for(e=0;e<this.axisX2.length;e++)this.axisX2[e].crosshair&&this.axisX2[e].crosshair.enabled&&this.axisX2[e].renderCrosshair(a,g);if(this.axisY&&0<this.axisY.length)for(e=0;e<this.axisY.length;e++)this.axisY[e].crosshair&&this.axisY[e].crosshair.enabled&&this.axisY[e].renderCrosshair(a,g);if(this.axisY2&&0<this.axisY2.length)for(e=0;e<this.axisY2.length;e++)this.axisY2[e].crosshair&&this.axisY2[e].crosshair.enabled&&this.axisY2[e].renderCrosshair(a,
291
- g);if(this.axisX&&0<this.axisX.length)for(e=0;e<this.axisX.length;e++)this.axisX[e].crosshair&&this.axisX[e].crosshair.enabled&&this.axisX[e].crosshair.renderLabel();if(this.axisX2&&0<this.axisX2.length)for(e=0;e<this.axisX2.length;e++)this.axisX2[e].crosshair&&this.axisX2[e].crosshair.enabled&&this.axisX2[e].crosshair.renderLabel();if(this.axisY&&0<this.axisY.length)for(e=0;e<this.axisY.length;e++)this.axisY[e].crosshair&&this.axisY[e].crosshair.enabled&&this.axisY[e].crosshair.renderLabel();if(this.axisY2&&
292
- 0<this.axisY2.length)for(e=0;e<this.axisY2.length;e++)this.axisY2[e].crosshair&&this.axisY2[e].crosshair.enabled&&this.axisY2[e].crosshair.renderLabel()}};k.prototype._zoomPanToSelectedRegion=function(a,g,c,b,e){a=this.validateRegion(a,g,c,b,e);g=a.axesWithValidRange;c=a.axesRanges;if(a.isValid)for(b=0;b<g.length;b++)e=c[b],g[b].setViewPortRange(e.val1,e.val2),this.syncCharts&&"y"!=this.zoomType&&this.syncCharts(e.val1,e.val2),this.stockChart&&(this.stockChart._rangeEventParameter={stockChart:this.stockChart,
293
- source:"chart",index:this.stockChart.charts.indexOf(this),minimum:e.val1,maximum:e.val2});return a.isValid};k.prototype.validateRegion=function(a,g,c,b,e){e=e||!1;for(var l=0<=this.zoomType.indexOf("x"),f=0<=this.zoomType.indexOf("y"),d=!1,C=[],n=[],p=[],q=0;q<this._axes.length;q++)("axisX"===this._axes[q].type&&l||"axisY"===this._axes[q].type&&f)&&n.push(this._axes[q]);for(f=0;f<n.length;f++){var q=n[f],l=!1,s=q.convertPixelToValue({x:a,y:g}),h=q.convertPixelToValue({x:c,y:b});if(s>h)var x=h,h=s,
294
- s=x;if(q.scaleBreaks)for(x=0;!l&&x<q.scaleBreaks._appliedBreaks.length;x++)l=q.scaleBreaks._appliedBreaks[x].startValue<=s&&q.scaleBreaks._appliedBreaks[x].endValue>=h;if(isFinite(q.dataInfo.minDiff))if(x=q.getApparentDifference(s,h,null,!0),!(l||!(this.panEnabled&&q.scaleBreaks&&q.scaleBreaks._appliedBreaks.length)&&(q.logarithmic&&x<Math.pow(q.dataInfo.minDiff,3)||!q.logarithmic&&x<3*Math.abs(q.dataInfo.minDiff))||s<q.minimum||h>q.maximum))C.push(q),p.push({val1:s,val2:h}),d=!0;else if(!e){d=!1;
295
- break}}return{isValid:d,axesWithValidRange:C,axesRanges:p}};k.prototype.preparePlotArea=function(){var a=this.plotArea;!t&&(0<a.x1||0<a.y1)&&a.ctx.translate(a.x1,a.y1);if((this.axisX[0]||this.axisX2[0])&&(this.axisY[0]||this.axisY2[0])){var g=this.axisX[0]?this.axisX[0].lineCoordinates:this.axisX2[0].lineCoordinates;if(this.axisY&&0<this.axisY.length&&this.axisY[0]){var c=this.axisY[0];a.x1=g.x1<g.x2?g.x1:c.lineCoordinates.x1;a.y1=g.y1<c.lineCoordinates.y1?g.y1:c.lineCoordinates.y1;a.x2=g.x2>c.lineCoordinates.x2?
296
- g.x2:c.lineCoordinates.x2;a.y2=g.y1>c.lineCoordinates.y2?g.y1:c.lineCoordinates.y2;a.width=a.x2-a.x1;a.height=a.y2-a.y1}this.axisY2&&0<this.axisY2.length&&this.axisY2[0]&&(c=this.axisY2[0],a.x1=g.x1<g.x2?g.x1:c.lineCoordinates.x1,a.y1=g.y1<c.lineCoordinates.y1?g.y1:c.lineCoordinates.y1,a.x2=g.x2>c.lineCoordinates.x2?g.x2:c.lineCoordinates.x2,a.y2=g.y2>c.lineCoordinates.y2?g.y2:c.lineCoordinates.y2,a.width=a.x2-a.x1,a.height=a.y2-a.y1)}else g=this.layoutManager.getFreeSpace(),a.x1=g.x1,a.x2=g.x2,a.y1=
297
- g.y1,a.y2=g.y2,a.width=g.width,a.height=g.height;t||(a.canvas.width=a.width,a.canvas.height=a.height,a.canvas.style.left=a.x1+"px",a.canvas.style.top=a.y1+"px",(0<a.x1||0<a.y1)&&a.ctx.translate(-a.x1,-a.y1));a.layoutManager=new Ka(a.x1,a.y1,a.x2,a.y2,2)};k.prototype.renderIndexLabels=function(a){var g=a||this.plotArea.ctx,c=this.plotArea,b=0,e=0,l=0,z=l=e=0,d=0,J=b=0,n=0;for(a=0;a<this._indexLabels.length;a++){var p=this._indexLabels[a],q=p.chartType.toLowerCase(),s,h,z=qa("indexLabelFontColor",p.dataPoint,
298
- p.dataSeries),x=qa("indexLabelFontSize",p.dataPoint,p.dataSeries),d=qa("indexLabelFontFamily",p.dataPoint,p.dataSeries),J=qa("indexLabelFontStyle",p.dataPoint,p.dataSeries),n=qa("indexLabelFontWeight",p.dataPoint,p.dataSeries),m=qa("indexLabelBackgroundColor",p.dataPoint,p.dataSeries);s=qa("indexLabelMaxWidth",p.dataPoint,p.dataSeries);h=qa("indexLabelWrap",p.dataPoint,p.dataSeries);var B=qa("indexLabelLineDashType",p.dataPoint,p.dataSeries),u=qa("indexLabelLineColor",p.dataPoint,p.dataSeries),r=
299
- f(p.dataPoint.indexLabelLineThickness)?f(p.dataSeries.options.indexLabelLineThickness)?0:p.dataSeries.options.indexLabelLineThickness:p.dataPoint.indexLabelLineThickness,b=0<r?Math.min(10,("normal"===this.plotInfo.axisPlacement?this.plotArea.height:this.plotArea.width)<<0):0,w={percent:null,total:null},k=null;if(0<=p.dataSeries.type.indexOf("stacked")||"pie"===p.dataSeries.type||"doughnut"===p.dataSeries.type)w=this.getPercentAndTotal(p.dataSeries,p.dataPoint);if(p.dataSeries.indexLabelFormatter||
300
- p.dataPoint.indexLabelFormatter)k={chart:this,dataSeries:p.dataSeries,dataPoint:p.dataPoint,index:p.indexKeyword,total:w.total,percent:w.percent};var G=p.dataPoint.indexLabelFormatter?p.dataPoint.indexLabelFormatter(k):p.dataPoint.indexLabel?this.replaceKeywordsWithValue(p.dataPoint.indexLabel,p.dataPoint,p.dataSeries,null,p.indexKeyword):p.dataSeries.indexLabelFormatter?p.dataSeries.indexLabelFormatter(k):p.dataSeries.indexLabel?this.replaceKeywordsWithValue(p.dataSeries.indexLabel,p.dataPoint,p.dataSeries,
301
- null,p.indexKeyword):null;if(null!==G&&""!==G){var w=qa("indexLabelPlacement",p.dataPoint,p.dataSeries),k=qa("indexLabelOrientation",p.dataPoint,p.dataSeries),D=qa("indexLabelTextAlign",p.dataPoint,p.dataSeries),v=p.direction,e=p.dataSeries.axisX,l=p.dataSeries.axisY,y=!1,m=new la(g,{x:0,y:0,maxWidth:s?s:0.5*this.width,maxHeight:h?5*x:1.5*x,angle:"horizontal"===k?0:-90,text:G,padding:0,backgroundColor:m,textAlign:D,fontSize:x,fontFamily:d,fontWeight:n,fontColor:z,fontStyle:J,textBaseline:"middle"});
302
- m.measureText();p.dataSeries.indexLabelMaxWidth=m.maxWidth;if("stackedarea100"===q){if(p.point.x<c.x1||p.point.x>c.x2||p.point.y<c.y1-1||p.point.y>c.y2+1)continue}else if("rangearea"===q||"rangesplinearea"===q){if(p.dataPoint.x<e.viewportMinimum||p.dataPoint.x>e.viewportMaximum||Math.max.apply(null,p.dataPoint.y)<l.viewportMinimum||Math.min.apply(null,p.dataPoint.y)>l.viewportMaximum)continue}else if(0<=q.indexOf("line")||0<=q.indexOf("area")||0<=q.indexOf("bubble")||0<=q.indexOf("scatter")){if(p.dataPoint.x<
303
- e.viewportMinimum||p.dataPoint.x>e.viewportMaximum||p.dataPoint.y<l.viewportMinimum||p.dataPoint.y>l.viewportMaximum)continue}else if(0<=q.indexOf("column")||"waterfall"===q||"error"===q&&!p.axisSwapped){if(p.dataPoint.x<e.viewportMinimum||p.dataPoint.x>e.viewportMaximum||p.bounds.y1>c.y2||p.bounds.y2<c.y1)continue}else if(0<=q.indexOf("bar")||"error"===q){if(p.dataPoint.x<e.viewportMinimum||p.dataPoint.x>e.viewportMaximum||p.bounds.x1>c.x2||p.bounds.x2<c.x1)continue}else if("candlestick"===q||"ohlc"===
304
- q){if(p.dataPoint.x<e.viewportMinimum||p.dataPoint.x>e.viewportMaximum||Math.max.apply(null,p.dataPoint.y)<l.viewportMinimum||Math.min.apply(null,p.dataPoint.y)>l.viewportMaximum)continue}else if(p.dataPoint.x<e.viewportMinimum||p.dataPoint.x>e.viewportMaximum)continue;z=d=2;"horizontal"===k?(J=m.width,n=m.height):(n=m.width,J=m.height);if("normal"===this.plotInfo.axisPlacement){if(0<=q.indexOf("line")||0<=q.indexOf("area"))w="auto",d=4;else if(0<=q.indexOf("stacked"))"auto"===w&&(w="inside");else if("bubble"===
305
- q||"scatter"===q)w="inside";s=p.point.x-("horizontal"===k?J/2:J/2-x/2);"inside"!==w?(e=c.y1,l=c.y2,0<v?(h=p.point.y+("horizontal"===k?x/2:0)-n-d-b,h<e&&(h="auto"===w?Math.max(p.point.y,e)+x/2+d:e+x/2+d,y=h+n>p.point.y)):(h=p.point.y+x/2+d+b,h>l-n&&(h="auto"===w?Math.min(p.point.y,l)+x/2-n-d:l+x/2-n,y=h<p.point.y))):(e=Math.max(p.bounds.y1,c.y1),l=Math.min(p.bounds.y2,c.y2-n+x/2),b=0<=q.indexOf("range")||"error"===q?0<v?Math.max(p.bounds.y1,c.y1)+x/2+d:Math.min(p.bounds.y2,c.y2)+x/2-n+d:(Math.max(p.bounds.y1,
306
- c.y1)+Math.min(p.bounds.y2,c.y2))/2-n/2+x/2+("horizontal"===k?d:0),0<v?(h=Math.max(p.point.y,b),h<e&&("bubble"===q||"scatter"===q)&&(h=Math.max(p.point.y-n-d,c.y1+d))):(h=Math.min(p.point.y,b),h>l-n-d&&("bubble"===q||"scatter"===q)&&(h=Math.min(p.point.y+d,c.y2-n-d))),h=Math.min(h,l))}else 0<=q.indexOf("line")||0<=q.indexOf("area")||0<=q.indexOf("scatter")?(w="auto",z=4):0<=q.indexOf("stacked")?"auto"===w&&(w="inside"):"bubble"===q&&(w="inside"),h=p.point.y+x/2-n/2+d,"inside"!==w?(e=c.x1,l=c.x2,0>
307
- v?(s=p.point.x-("horizontal"===k?J:J-x/2)-z-b,s<e&&(s="auto"===w?Math.max(p.point.x,e)+z:e+z,y=s+J>p.point.x)):(s=p.point.x+("horizontal"===k?0:x/2)+z+b,s>l-J-z-b&&(s="auto"===w?Math.min(p.point.x,l)-("horizontal"===k?J:J/2)-z:l-J-z,y=s<p.point.x))):(e=Math.max(p.bounds.x1,c.x1),Math.min(p.bounds.x2,c.x2),b=0<=q.indexOf("range")||"error"===q?0>v?Math.max(p.bounds.x1,c.x1)+x/2+z:Math.min(p.bounds.x2,c.x2)-J/2-z+("horizontal"===k?0:x/2):(Math.max(p.bounds.x1,c.x1)+Math.min(p.bounds.x2,c.x2))/2+("horizontal"===
308
- k?0:x/2),s=0>v?Math.max(p.point.x,b)-("horizontal"===k?J/2:0):Math.min(p.point.x,b)-J/2,s=Math.max(s,e));"vertical"===k&&(h+=n-x/2);m.x=s;m.y=h;m.render(!0);r&&("inside"!==w&&(0>q.indexOf("bar")&&("error"!==q||!p.axisSwapped)&&p.point.x>c.x1&&p.point.x<c.x2||!y)&&(0>q.indexOf("column")&&("error"!==q||p.axisSwapped)&&p.point.y>c.y1&&p.point.y<c.y2||!y))&&(g.lineWidth=r,g.strokeStyle=u?u:"gray",g.setLineDash&&g.setLineDash(X(B,r)),g.beginPath(),g.moveTo(p.point.x,p.point.y),0<=q.indexOf("bar")||"error"===
309
- q&&p.axisSwapped?g.lineTo(s+(0<p.direction?-z:J+z)+("vertical"===k?-x/2:0),h+("vertical"===k?-n/2:n/2-x/2)-d):0<=q.indexOf("column")||"error"===q&&!p.axisSwapped?g.lineTo(s+J/2-("horizontal"===k?0:x/2),h+("vertical"===k?(h-n<p.point.y?0:-n)+d:(h-x/2<p.point.y?n:0)-x/2)):0<=q.indexOf("waterfall")?g.lineTo(s+J/2-("horizontal"===k?0:x/2),"vertical"===k?0<v&&h<p.point.y?h:0>v&&h-n>p.point.y?h-n:p.point.y:0<v&&h+n-x/2<p.point.y?h+n-x/2:0>v&&h-x/2>p.point.y?h-x/2-2:p.point.y):g.lineTo(s+J/2-("horizontal"===
310
- k?0:x/2),h+("vertical"===k?h-n<p.point.y?0:-n:(h+n<p.point.y?n:0)-x/2)),g.stroke())}}g={source:g,dest:this.plotArea.ctx,animationCallback:C.fadeInAnimation,easingFunction:C.easing.easeInQuad,animationBase:0,startTimePercent:0.7};for(a=0;a<this._indexLabels.length;a++)p=this._indexLabels[a],m=qa("indexLabelBackgroundColor",p.dataPoint,p.dataSeries),p.dataSeries.indexLabelBackgroundColor=f(m)?t?"transparent":null:m;return g};k.prototype.renderLine=function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,
311
- c=t?this._preRenderCtx:g;if(!(0>=a.dataSeriesIndexes.length)){var b=this._eventManager.ghostCtx;c.save();var e=this.plotArea;c.beginPath();c.rect(e.x1,e.y1,e.width,e.height);c.clip();for(var l=[],f,d=0;d<a.dataSeriesIndexes.length;d++){var J=a.dataSeriesIndexes[d],n=this.data[J];c.lineWidth=n.lineThickness;var p=n.dataPoints,q="solid";if(c.setLineDash){var s=X(n.nullDataLineDashType,n.lineThickness),q=n.lineDashType,h=X(q,n.lineThickness);c.setLineDash(h)}var x=n.id;this._eventManager.objectMap[x]=
312
- {objectType:"dataSeries",dataSeriesIndex:J};x=R(x);b.strokeStyle=x;b.lineWidth=0<n.lineThickness?Math.max(n.lineThickness,4):0;var x=n._colorSet,m=x=n.lineColor=n.options.lineColor?n.options.lineColor:x[0];c.strokeStyle=x;var Ga=!0,u=0,r,w;c.beginPath();if(0<p.length){for(var k=!1,u=0;u<p.length;u++)if(r=p[u].x.getTime?p[u].x.getTime():p[u].x,!(r<a.axisX.dataInfo.viewPortMin||r>a.axisX.dataInfo.viewPortMax&&(!n.connectNullData||!k)))if("number"!==typeof p[u].y)0<u&&!(n.connectNullData||k||Ga)&&(c.stroke(),
313
- t&&b.stroke()),k=!0;else{r=a.axisX.convertValueToPixel(r);w=a.axisY.convertValueToPixel(p[u].y);var G=n.dataPointIds[u];this._eventManager.objectMap[G]={id:G,objectType:"dataPoint",dataSeriesIndex:J,dataPointIndex:u,x1:r,y1:w};Ga||k?(!Ga&&n.connectNullData?(c.setLineDash&&(n.options.nullDataLineDashType||q===n.lineDashType&&n.lineDashType!==n.nullDataLineDashType)&&(c.stroke(),c.beginPath(),c.moveTo(f.x,f.y),q=n.nullDataLineDashType,c.setLineDash(s)),c.lineTo(r,w),t&&b.lineTo(r,w)):(c.beginPath(),
314
- c.moveTo(r,w),t&&(b.beginPath(),b.moveTo(r,w))),k=Ga=!1):(c.lineTo(r,w),t&&b.lineTo(r,w),0==u%500&&(c.stroke(),c.beginPath(),c.moveTo(r,w),t&&(b.stroke(),b.beginPath(),b.moveTo(r,w))));f={x:r,y:w};u<p.length-1&&(m!==(p[u].lineColor||x)||q!==(p[u].lineDashType||n.lineDashType))&&(c.stroke(),c.beginPath(),c.moveTo(r,w),m=p[u].lineColor||x,c.strokeStyle=m,c.setLineDash&&(p[u].lineDashType?(q=p[u].lineDashType,c.setLineDash(X(q,n.lineThickness))):(q=n.lineDashType,c.setLineDash(h))));if(0!==p[u].markerSize&&
315
- (0<p[u].markerSize||0<n.markerSize)){var D=n.getMarkerProperties(u,r,w,c);l.push(D);G=R(G);t&&l.push({x:r,y:w,ctx:b,type:D.type,size:D.size,color:G,borderColor:G,borderThickness:D.borderThickness})}(p[u].indexLabel||n.indexLabel||p[u].indexLabelFormatter||n.indexLabelFormatter)&&this._indexLabels.push({chartType:"line",dataPoint:p[u],dataSeries:n,point:{x:r,y:w},direction:0>p[u].y===a.axisY.reversed?1:-1,color:x})}c.stroke();t&&b.stroke()}}B.drawMarkers(l);t&&(g.drawImage(this._preRenderCanvas,0,
316
- 0,this.width,this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(e.x1,e.y1,e.width,e.height),b.beginPath());c.restore();c.beginPath();return{source:g,dest:this.plotArea.ctx,animationCallback:C.xClipAnimation,easingFunction:C.easing.linear,
317
- animationBase:0}}};k.prototype.renderStepLine=function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,c=t?this._preRenderCtx:g;if(!(0>=a.dataSeriesIndexes.length)){var b=this._eventManager.ghostCtx;c.save();var e=this.plotArea;c.beginPath();c.rect(e.x1,e.y1,e.width,e.height);c.clip();for(var l=[],f,d=0;d<a.dataSeriesIndexes.length;d++){var J=a.dataSeriesIndexes[d],n=this.data[J];c.lineWidth=n.lineThickness;var p=n.dataPoints,q="solid";if(c.setLineDash){var s=X(n.nullDataLineDashType,n.lineThickness),
318
- q=n.lineDashType,h=X(q,n.lineThickness);c.setLineDash(h)}var x=n.id;this._eventManager.objectMap[x]={objectType:"dataSeries",dataSeriesIndex:J};x=R(x);b.strokeStyle=x;b.lineWidth=0<n.lineThickness?Math.max(n.lineThickness,4):0;var x=n._colorSet,m=x=n.lineColor=n.options.lineColor?n.options.lineColor:x[0];c.strokeStyle=x;var Ga=!0,u=0,r,w;c.beginPath();if(0<p.length){for(var k=!1,u=0;u<p.length;u++)if(r=p[u].getTime?p[u].x.getTime():p[u].x,!(r<a.axisX.dataInfo.viewPortMin||r>a.axisX.dataInfo.viewPortMax&&
319
- (!n.connectNullData||!k)))if("number"!==typeof p[u].y)0<u&&!(n.connectNullData||k||Ga)&&(c.stroke(),t&&b.stroke()),k=!0;else{var G=w;r=a.axisX.convertValueToPixel(r);w=a.axisY.convertValueToPixel(p[u].y);var D=n.dataPointIds[u];this._eventManager.objectMap[D]={id:D,objectType:"dataPoint",dataSeriesIndex:J,dataPointIndex:u,x1:r,y1:w};Ga||k?(!Ga&&n.connectNullData?(c.setLineDash&&(n.options.nullDataLineDashType||q===n.lineDashType&&n.lineDashType!==n.nullDataLineDashType)&&(c.stroke(),c.beginPath(),
320
- c.moveTo(f.x,f.y),q=n.nullDataLineDashType,c.setLineDash(s)),c.lineTo(r,G),c.lineTo(r,w),t&&(b.lineTo(r,G),b.lineTo(r,w))):(c.beginPath(),c.moveTo(r,w),t&&(b.beginPath(),b.moveTo(r,w))),k=Ga=!1):(c.lineTo(r,G),t&&b.lineTo(r,G),c.lineTo(r,w),t&&b.lineTo(r,w),0==u%500&&(c.stroke(),c.beginPath(),c.moveTo(r,w),t&&(b.stroke(),b.beginPath(),b.moveTo(r,w))));f={x:r,y:w};u<p.length-1&&(m!==(p[u].lineColor||x)||q!==(p[u].lineDashType||n.lineDashType))&&(c.stroke(),c.beginPath(),c.moveTo(r,w),m=p[u].lineColor||
321
- x,c.strokeStyle=m,c.setLineDash&&(p[u].lineDashType?(q=p[u].lineDashType,c.setLineDash(X(q,n.lineThickness))):(q=n.lineDashType,c.setLineDash(h))));0!==p[u].markerSize&&(0<p[u].markerSize||0<n.markerSize)&&(G=n.getMarkerProperties(u,r,w,c),l.push(G),D=R(D),t&&l.push({x:r,y:w,ctx:b,type:G.type,size:G.size,color:D,borderColor:D,borderThickness:G.borderThickness}));(p[u].indexLabel||n.indexLabel||p[u].indexLabelFormatter||n.indexLabelFormatter)&&this._indexLabels.push({chartType:"stepLine",dataPoint:p[u],
322
- dataSeries:n,point:{x:r,y:w},direction:0>p[u].y===a.axisY.reversed?1:-1,color:x})}c.stroke();t&&b.stroke()}}B.drawMarkers(l);t&&(g.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(e.x1,
323
- e.y1,e.width,e.height),b.beginPath());c.restore();c.beginPath();return{source:g,dest:this.plotArea.ctx,animationCallback:C.xClipAnimation,easingFunction:C.easing.linear,animationBase:0}}};k.prototype.renderSpline=function(a){function g(a){a=E(a,2);if(0<a.length){b.beginPath();t&&e.beginPath();b.moveTo(a[0].x,a[0].y);a[0].newStrokeStyle&&(b.strokeStyle=a[0].newStrokeStyle);a[0].newLineDashArray&&b.setLineDash(a[0].newLineDashArray);t&&e.moveTo(a[0].x,a[0].y);for(var c=0;c<a.length-3;c+=3)if(b.bezierCurveTo(a[c+
324
- 1].x,a[c+1].y,a[c+2].x,a[c+2].y,a[c+3].x,a[c+3].y),t&&e.bezierCurveTo(a[c+1].x,a[c+1].y,a[c+2].x,a[c+2].y,a[c+3].x,a[c+3].y),0<c&&0===c%3E3||a[c+3].newStrokeStyle||a[c+3].newLineDashArray)b.stroke(),b.beginPath(),b.moveTo(a[c+3].x,a[c+3].y),a[c+3].newStrokeStyle&&(b.strokeStyle=a[c+3].newStrokeStyle),a[c+3].newLineDashArray&&b.setLineDash(a[c+3].newLineDashArray),t&&(e.stroke(),e.beginPath(),e.moveTo(a[c+3].x,a[c+3].y));b.stroke();t&&e.stroke()}}var c=a.targetCanvasCtx||this.plotArea.ctx,b=t?this._preRenderCtx:
325
- c;if(!(0>=a.dataSeriesIndexes.length)){var e=this._eventManager.ghostCtx;b.save();var l=this.plotArea;b.beginPath();b.rect(l.x1,l.y1,l.width,l.height);b.clip();for(var f=[],d=0;d<a.dataSeriesIndexes.length;d++){var J=a.dataSeriesIndexes[d],n=this.data[J];b.lineWidth=n.lineThickness;var p=n.dataPoints,q="solid";if(b.setLineDash){var s=X(n.nullDataLineDashType,n.lineThickness),q=n.lineDashType,h=X(q,n.lineThickness);b.setLineDash(h)}var x=n.id;this._eventManager.objectMap[x]={objectType:"dataSeries",
326
- dataSeriesIndex:J};x=R(x);e.strokeStyle=x;e.lineWidth=0<n.lineThickness?Math.max(n.lineThickness,4):0;var x=n._colorSet,m=x=n.lineColor=n.options.lineColor?n.options.lineColor:x[0];b.strokeStyle=x;var r=0,u,k,w=[];b.beginPath();if(0<p.length)for(k=!1,r=0;r<p.length;r++)if(u=p[r].getTime?p[r].x.getTime():p[r].x,!(u<a.axisX.dataInfo.viewPortMin||u>a.axisX.dataInfo.viewPortMax&&(!n.connectNullData||!k)))if("number"!==typeof p[r].y)0<r&&!k&&(n.connectNullData?b.setLineDash&&(0<w.length&&(n.options.nullDataLineDashType||
327
- !p[r-1].lineDashType))&&(w[w.length-1].newLineDashArray=s,q=n.nullDataLineDashType):(g(w),w=[])),k=!0;else{u=a.axisX.convertValueToPixel(u);k=a.axisY.convertValueToPixel(p[r].y);var Oa=n.dataPointIds[r];this._eventManager.objectMap[Oa]={id:Oa,objectType:"dataPoint",dataSeriesIndex:J,dataPointIndex:r,x1:u,y1:k};w[w.length]={x:u,y:k};r<p.length-1&&(m!==(p[r].lineColor||x)||q!==(p[r].lineDashType||n.lineDashType))&&(m=p[r].lineColor||x,w[w.length-1].newStrokeStyle=m,b.setLineDash&&(p[r].lineDashType?
328
- (q=p[r].lineDashType,w[w.length-1].newLineDashArray=X(q,n.lineThickness)):(q=n.lineDashType,w[w.length-1].newLineDashArray=h)));if(0!==p[r].markerSize&&(0<p[r].markerSize||0<n.markerSize)){var G=n.getMarkerProperties(r,u,k,b);f.push(G);Oa=R(Oa);t&&f.push({x:u,y:k,ctx:e,type:G.type,size:G.size,color:Oa,borderColor:Oa,borderThickness:G.borderThickness})}(p[r].indexLabel||n.indexLabel||p[r].indexLabelFormatter||n.indexLabelFormatter)&&this._indexLabels.push({chartType:"spline",dataPoint:p[r],dataSeries:n,
329
- point:{x:u,y:k},direction:0>p[r].y===a.axisY.reversed?1:-1,color:x});k=!1}g(w)}B.drawMarkers(f);t&&(c.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&b.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&b.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.clearRect(l.x1,l.y1,l.width,l.height),
330
- e.beginPath());b.restore();b.beginPath();return{source:c,dest:this.plotArea.ctx,animationCallback:C.xClipAnimation,easingFunction:C.easing.linear,animationBase:0}}};k.prototype.renderColumn=function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,c=t?this._preRenderCtx:g;if(!(0>=a.dataSeriesIndexes.length)){var b=null,e=this.plotArea,l=0,f,d,J,n=a.axisY.convertValueToPixel(a.axisY.logarithmic?a.axisY.viewportMinimum:0),l=this.options.dataPointMinWidth?this.dataPointMinWidth:this.options.dataPointWidth?
331
- this.dataPointWidth:1,p=this.options.dataPointMaxWidth?this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:Math.min(0.15*this.width,0.9*(this.plotArea.width/a.plotType.totalDataSeries))<<0,q=a.axisX.dataInfo.minDiff;isFinite(q)||(q=0.3*Math.abs(a.axisX.range));q=this.dataPointWidth=this.options.dataPointWidth?this.dataPointWidth:0.9*(e.width*(a.axisX.logarithmic?Math.log(q)/Math.log(a.axisX.range):Math.abs(q)/Math.abs(a.axisX.range))/a.plotType.totalDataSeries)<<0;this.dataPointMaxWidth&&
332
- l>p&&(l=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,p));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&p<l)&&(p=Math.max(this.options.dataPointWidth?this.dataPointWidth:-Infinity,l));q<l&&(q=l);q>p&&(q=p);c.save();t&&this._eventManager.ghostCtx.save();c.beginPath();c.rect(e.x1,e.y1,e.width,e.height);c.clip();t&&(this._eventManager.ghostCtx.beginPath(),this._eventManager.ghostCtx.rect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.clip());for(p=0;p<a.dataSeriesIndexes.length;p++){var s=
333
- a.dataSeriesIndexes[p],h=this.data[s],x=h.dataPoints;if(0<x.length)for(var m=5<q&&h.bevelEnabled?!0:!1,l=0;l<x.length;l++)if(x[l].getTime?J=x[l].x.getTime():J=x[l].x,!(J<a.axisX.dataInfo.viewPortMin||J>a.axisX.dataInfo.viewPortMax)&&"number"===typeof x[l].y){f=a.axisX.convertValueToPixel(J);d=a.axisY.convertValueToPixel(x[l].y);f=a.axisX.reversed?f+a.plotType.totalDataSeries*q/2-(a.previousDataSeriesCount+p)*q<<0:f-a.plotType.totalDataSeries*q/2+(a.previousDataSeriesCount+p)*q<<0;var r=a.axisX.reversed?
334
- f-q<<0:f+q<<0,u;0<=x[l].y?u=n:(u=d,d=n);d>u&&(b=d,d=u,u=b);b=x[l].color?x[l].color:h._colorSet[l%h._colorSet.length];aa(c,a.axisX.reversed?r:f,d,a.axisX.reversed?f:r,u,b,0,null,m&&(a.axisY.reversed?0>x[l].y:0<=x[l].y),(a.axisY.reversed?0<=x[l].y:0>x[l].y)&&m,!1,!1,h.fillOpacity);b=h.dataPointIds[l];this._eventManager.objectMap[b]={id:b,objectType:"dataPoint",dataSeriesIndex:s,dataPointIndex:l,x1:f,y1:d,x2:r,y2:u};b=R(b);t&&aa(this._eventManager.ghostCtx,a.axisX.reversed?r:f,d,a.axisX.reversed?f:r,
335
- u,b,0,null,!1,!1,!1,!1);(x[l].indexLabel||h.indexLabel||x[l].indexLabelFormatter||h.indexLabelFormatter)&&this._indexLabels.push({chartType:"column",dataPoint:x[l],dataSeries:h,point:{x:f+(r-f)/2,y:0>x[l].y===a.axisY.reversed?d:u},direction:0>x[l].y===a.axisY.reversed?1:-1,bounds:{x1:f,y1:Math.min(d,u),x2:r,y2:Math.max(d,u)},color:b})}}t&&(g.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,
336
- this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.restore());c.restore();return{source:g,dest:this.plotArea.ctx,animationCallback:C.yScaleAnimation,easingFunction:C.easing.easeOutQuart,animationBase:n<a.axisY.bounds.y1?a.axisY.bounds.y1:n>a.axisY.bounds.y2?a.axisY.bounds.y2:n}}};k.prototype.renderStackedColumn=
337
- function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,c=t?this._preRenderCtx:g;if(!(0>=a.dataSeriesIndexes.length)){var b=null,e=this.plotArea,l=[],f=[],d=[],J=[],n=0,p,q,s=a.axisY.convertValueToPixel(a.axisY.logarithmic?a.axisY.viewportMinimum:0),n=this.options.dataPointMinWidth?this.dataPointMinWidth:this.options.dataPointWidth?this.dataPointWidth:1,h=this.options.dataPointMaxWidth?this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:0.15*this.width<<0,x=a.axisX.dataInfo.minDiff;
338
- isFinite(x)||(x=0.3*Math.abs(a.axisX.range));x=this.options.dataPointWidth?this.dataPointWidth:0.9*(e.width*(a.axisX.logarithmic?Math.log(x)/Math.log(a.axisX.range):Math.abs(x)/Math.abs(a.axisX.range))/a.plotType.plotUnits.length)<<0;this.dataPointMaxWidth&&n>h&&(n=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,h));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&h<n)&&(h=Math.max(this.options.dataPointWidth?this.dataPointWidth:-Infinity,n));x<n&&(x=n);x>h&&(x=h);c.save();t&&this._eventManager.ghostCtx.save();
339
- c.beginPath();c.rect(e.x1,e.y1,e.width,e.height);c.clip();t&&(this._eventManager.ghostCtx.beginPath(),this._eventManager.ghostCtx.rect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.clip());for(h=0;h<a.dataSeriesIndexes.length;h++){var m=a.dataSeriesIndexes[h],r=this.data[m],u=r.dataPoints;if(0<u.length){var B=5<x&&r.bevelEnabled?!0:!1;c.strokeStyle="#4572A7 ";for(n=0;n<u.length;n++)if(b=u[n].x.getTime?u[n].x.getTime():u[n].x,!(b<a.axisX.dataInfo.viewPortMin||b>a.axisX.dataInfo.viewPortMax)&&
340
- "number"===typeof u[n].y){p=a.axisX.convertValueToPixel(b);p=p-a.plotType.plotUnits.length*x/2+a.index*x<<0;var w=p+x<<0,k;if(a.axisY.logarithmic||a.axisY.scaleBreaks&&0<a.axisY.scaleBreaks._appliedBreaks.length&&0<u[n].y)d[b]=u[n].y+(d[b]?d[b]:0),0<d[b]&&(q=a.axisY.convertValueToPixel(d[b]),k="undefined"!==typeof l[b]?l[b]:s,l[b]=q);else if(a.axisY.scaleBreaks&&0<a.axisY.scaleBreaks._appliedBreaks.length&&0>=u[n].y)J[b]=u[n].y+(J[b]?J[b]:0),k=a.axisY.convertValueToPixel(J[b]),q="undefined"!==typeof f[b]?
341
- f[b]:s,f[b]=k;else if(q=a.axisY.convertValueToPixel(u[n].y),0<=u[n].y){var G="undefined"!==typeof l[b]?l[b]:0;q-=G;k=s-G;l[b]=G+(k-q)}else G=f[b]?f[b]:0,k=q+G,q=s+G,f[b]=G+(k-q);b=u[n].color?u[n].color:r._colorSet[n%r._colorSet.length];aa(c,p,a.axisY.reversed?k:q,w,a.axisY.reversed?q:k,b,0,null,B&&(a.axisY.reversed?0>u[n].y:0<=u[n].y),(a.axisY.reversed?0<=u[n].y:0>u[n].y)&&B,!1,!1,r.fillOpacity);b=r.dataPointIds[n];this._eventManager.objectMap[b]={id:b,objectType:"dataPoint",dataSeriesIndex:m,dataPointIndex:n,
342
- x1:p,y1:q,x2:w,y2:k};b=R(b);t&&aa(this._eventManager.ghostCtx,p,q,w,k,b,0,null,!1,!1,!1,!1);(u[n].indexLabel||r.indexLabel||u[n].indexLabelFormatter||r.indexLabelFormatter)&&this._indexLabels.push({chartType:"stackedColumn",dataPoint:u[n],dataSeries:r,point:{x:p+(w-p)/2,y:0<=u[n].y?q:k},direction:0>u[n].y===a.axisY.reversed?1:-1,bounds:{x1:p,y1:Math.min(q,k),x2:w,y2:Math.max(q,k)},color:b})}}}t&&(g.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.globalCompositeOperation="source-atop",
343
- a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.restore());c.restore();return{source:g,dest:this.plotArea.ctx,animationCallback:C.yScaleAnimation,easingFunction:C.easing.easeOutQuart,animationBase:s<a.axisY.bounds.y1?a.axisY.bounds.y1:
344
- s>a.axisY.bounds.y2?a.axisY.bounds.y2:s}}};k.prototype.renderStackedColumn100=function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,c=t?this._preRenderCtx:g;if(!(0>=a.dataSeriesIndexes.length)){var b=null,e=this.plotArea,l=[],f=[],d=[],J=[],n=0,p,q,s=a.axisY.convertValueToPixel(a.axisY.logarithmic?a.axisY.viewportMinimum:0),n=this.options.dataPointMinWidth?this.dataPointMinWidth:this.options.dataPointWidth?this.dataPointWidth:1,h=this.options.dataPointMaxWidth?this.dataPointMaxWidth:this.options.dataPointWidth?
345
- this.dataPointWidth:0.15*this.width<<0,x=a.axisX.dataInfo.minDiff;isFinite(x)||(x=0.3*Math.abs(a.axisX.range));x=this.options.dataPointWidth?this.dataPointWidth:0.9*(e.width*(a.axisX.logarithmic?Math.log(x)/Math.log(a.axisX.range):Math.abs(x)/Math.abs(a.axisX.range))/a.plotType.plotUnits.length)<<0;this.dataPointMaxWidth&&n>h&&(n=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,h));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&h<n)&&(h=Math.max(this.options.dataPointWidth?this.dataPointWidth:
346
- -Infinity,n));x<n&&(x=n);x>h&&(x=h);c.save();t&&this._eventManager.ghostCtx.save();c.beginPath();c.rect(e.x1,e.y1,e.width,e.height);c.clip();t&&(this._eventManager.ghostCtx.beginPath(),this._eventManager.ghostCtx.rect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.clip());for(h=0;h<a.dataSeriesIndexes.length;h++){var m=a.dataSeriesIndexes[h],r=this.data[m],u=r.dataPoints;if(0<u.length)for(var B=5<x&&r.bevelEnabled?!0:!1,n=0;n<u.length;n++)if(b=u[n].x.getTime?u[n].x.getTime():u[n].x,!(b<a.axisX.dataInfo.viewPortMin||
347
- b>a.axisX.dataInfo.viewPortMax)&&"number"===typeof u[n].y){p=a.axisX.convertValueToPixel(b);q=0!==a.dataPointYSums[b]?100*(u[n].y/a.dataPointYSums[b]):0;p=p-a.plotType.plotUnits.length*x/2+a.index*x<<0;var w=p+x<<0,k;if(a.axisY.logarithmic||a.axisY.scaleBreaks&&0<a.axisY.scaleBreaks._appliedBreaks.length&&0<u[n].y){d[b]=q+("undefined"!==typeof d[b]?d[b]:0);if(0>=d[b])continue;q=a.axisY.convertValueToPixel(d[b]);k=l[b]?l[b]:s;l[b]=q}else if(a.axisY.scaleBreaks&&0<a.axisY.scaleBreaks._appliedBreaks.length&&
348
- 0>=u[n].y)J[b]=q+("undefined"!==typeof J[b]?J[b]:0),k=a.axisY.convertValueToPixel(J[b]),q=f[b]?f[b]:s,f[b]=k;else if(q=a.axisY.convertValueToPixel(q),0<=u[n].y){var G="undefined"!==typeof l[b]?l[b]:0;q-=G;k=s-G;a.dataSeriesIndexes.length-1===h&&1>=Math.abs(e.y1-q)&&(q=e.y1);l[b]=G+(k-q)}else G="undefined"!==typeof f[b]?f[b]:0,k=q+G,q=s+G,a.dataSeriesIndexes.length-1===h&&1>=Math.abs(e.y2-k)&&(k=e.y2),f[b]=G+(k-q);b=u[n].color?u[n].color:r._colorSet[n%r._colorSet.length];aa(c,p,a.axisY.reversed?k:
349
- q,w,a.axisY.reversed?q:k,b,0,null,B&&(a.axisY.reversed?0>u[n].y:0<=u[n].y),(a.axisY.reversed?0<=u[n].y:0>u[n].y)&&B,!1,!1,r.fillOpacity);b=r.dataPointIds[n];this._eventManager.objectMap[b]={id:b,objectType:"dataPoint",dataSeriesIndex:m,dataPointIndex:n,x1:p,y1:q,x2:w,y2:k};b=R(b);t&&aa(this._eventManager.ghostCtx,p,q,w,k,b,0,null,!1,!1,!1,!1);(u[n].indexLabel||r.indexLabel||u[n].indexLabelFormatter||r.indexLabelFormatter)&&this._indexLabels.push({chartType:"stackedColumn100",dataPoint:u[n],dataSeries:r,
350
- point:{x:p+(w-p)/2,y:0<=u[n].y?q:k},direction:0>u[n].y===a.axisY.reversed?1:-1,bounds:{x1:p,y1:Math.min(q,k),x2:w,y2:Math.max(q,k)},color:b})}}t&&(g.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),
351
- c.clearRect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.restore());c.restore();return{source:g,dest:this.plotArea.ctx,animationCallback:C.yScaleAnimation,easingFunction:C.easing.easeOutQuart,animationBase:s<a.axisY.bounds.y1?a.axisY.bounds.y1:s>a.axisY.bounds.y2?a.axisY.bounds.y2:s}}};k.prototype.renderBar=function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,c=t?this._preRenderCtx:g;if(!(0>=a.dataSeriesIndexes.length)){var b=null,e=this.plotArea,l=0,f,d,J,n=a.axisY.convertValueToPixel(a.axisY.logarithmic?
352
- a.axisY.viewportMinimum:0),l=this.options.dataPointMinWidth?this.dataPointMinWidth:this.options.dataPointWidth?this.dataPointWidth:1,p=this.options.dataPointMaxWidth?this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:Math.min(0.15*this.height,0.9*(this.plotArea.height/a.plotType.totalDataSeries))<<0,q=a.axisX.dataInfo.minDiff;isFinite(q)||(q=0.3*Math.abs(a.axisX.range));q=this.options.dataPointWidth?this.dataPointWidth:0.9*(e.height*(a.axisX.logarithmic?Math.log(q)/Math.log(a.axisX.range):
353
- Math.abs(q)/Math.abs(a.axisX.range))/a.plotType.totalDataSeries)<<0;this.dataPointMaxWidth&&l>p&&(l=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,p));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&p<l)&&(p=Math.max(this.options.dataPointWidth?this.dataPointWidth:-Infinity,l));q<l&&(q=l);q>p&&(q=p);c.save();t&&this._eventManager.ghostCtx.save();c.beginPath();c.rect(e.x1,e.y1,e.width,e.height);c.clip();t&&(this._eventManager.ghostCtx.beginPath(),this._eventManager.ghostCtx.rect(e.x1,
354
- e.y1,e.width,e.height),this._eventManager.ghostCtx.clip());for(p=0;p<a.dataSeriesIndexes.length;p++){var s=a.dataSeriesIndexes[p],h=this.data[s],x=h.dataPoints;if(0<x.length){var m=5<q&&h.bevelEnabled?!0:!1;c.strokeStyle="#4572A7 ";for(l=0;l<x.length;l++)if(x[l].getTime?J=x[l].x.getTime():J=x[l].x,!(J<a.axisX.dataInfo.viewPortMin||J>a.axisX.dataInfo.viewPortMax)&&"number"===typeof x[l].y){d=a.axisX.convertValueToPixel(J);f=a.axisY.convertValueToPixel(x[l].y);d=a.axisX.reversed?d+a.plotType.totalDataSeries*
355
- q/2-(a.previousDataSeriesCount+p)*q<<0:d-a.plotType.totalDataSeries*q/2+(a.previousDataSeriesCount+p)*q<<0;var r=a.axisX.reversed?d-q<<0:d+q<<0,u;0<=x[l].y?u=n:(u=f,f=n);b=x[l].color?x[l].color:h._colorSet[l%h._colorSet.length];aa(c,a.axisY.reversed?f:u,a.axisX.reversed?r:d,a.axisY.reversed?u:f,a.axisX.reversed?d:r,b,0,null,m,!1,!1,!1,h.fillOpacity);b=h.dataPointIds[l];this._eventManager.objectMap[b]={id:b,objectType:"dataPoint",dataSeriesIndex:s,dataPointIndex:l,x1:u,y1:d,x2:f,y2:r};b=R(b);t&&aa(this._eventManager.ghostCtx,
356
- u,a.axisX.reversed?r:d,f,a.axisX.reversed?d:r,b,0,null,!1,!1,!1,!1);(x[l].indexLabel||h.indexLabel||x[l].indexLabelFormatter||h.indexLabelFormatter)&&this._indexLabels.push({chartType:"bar",dataPoint:x[l],dataSeries:h,point:{x:0<=x[l].y?f:u,y:d+(r-d)/2},direction:0>x[l].y===a.axisY.reversed?1:-1,bounds:{x1:Math.min(u,f),y1:d,x2:Math.max(u,f),y2:r},color:b})}}}t&&(g.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,
357
- 0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.restore());c.restore();return{source:g,dest:this.plotArea.ctx,animationCallback:C.xScaleAnimation,easingFunction:C.easing.easeOutQuart,animationBase:n<a.axisY.bounds.x1?a.axisY.bounds.x1:n>a.axisY.bounds.x2?a.axisY.bounds.x2:
358
- n}}};k.prototype.renderStackedBar=function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,c=t?this._preRenderCtx:g;if(!(0>=a.dataSeriesIndexes.length)){var b=null,e=this.plotArea,l=[],f=[],d=[],J=[],n=0,p,q,s=a.axisY.convertValueToPixel(a.axisY.logarithmic?a.axisY.viewportMinimum:0),n=this.options.dataPointMinWidth?this.dataPointMinWidth:this.options.dataPointWidth?this.dataPointWidth:1,h=this.options.dataPointMaxWidth?this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:0.15*this.height<<
359
- 0,x=a.axisX.dataInfo.minDiff;isFinite(x)||(x=0.3*Math.abs(a.axisX.range));x=this.options.dataPointWidth?this.dataPointWidth:0.9*(e.height*(a.axisX.logarithmic?Math.log(x)/Math.log(a.axisX.range):Math.abs(x)/Math.abs(a.axisX.range))/a.plotType.plotUnits.length)<<0;this.dataPointMaxWidth&&n>h&&(n=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,h));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&h<n)&&(h=Math.max(this.options.dataPointWidth?this.dataPointWidth:-Infinity,n));x<n&&
360
- (x=n);x>h&&(x=h);c.save();t&&this._eventManager.ghostCtx.save();c.beginPath();c.rect(e.x1,e.y1,e.width,e.height);c.clip();t&&(this._eventManager.ghostCtx.beginPath(),this._eventManager.ghostCtx.rect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.clip());for(h=0;h<a.dataSeriesIndexes.length;h++){var m=a.dataSeriesIndexes[h],r=this.data[m],u=r.dataPoints;if(0<u.length){var B=5<x&&r.bevelEnabled?!0:!1;c.strokeStyle="#4572A7 ";for(n=0;n<u.length;n++)if(b=u[n].x.getTime?u[n].x.getTime():u[n].x,
361
- !(b<a.axisX.dataInfo.viewPortMin||b>a.axisX.dataInfo.viewPortMax)&&"number"===typeof u[n].y){q=a.axisX.convertValueToPixel(b);q=q-a.plotType.plotUnits.length*x/2+a.index*x<<0;var w=q+x<<0,k;if(a.axisY.logarithmic||a.axisY.scaleBreaks&&0<a.axisY.scaleBreaks._appliedBreaks.length&&0<u[n].y)d[b]=u[n].y+(d[b]?d[b]:0),0<d[b]&&(k=l[b]?l[b]:s,l[b]=p=a.axisY.convertValueToPixel(d[b]));else if(a.axisY.scaleBreaks&&0<a.axisY.scaleBreaks._appliedBreaks.length&&0>=u[n].y)J[b]=u[n].y+(J[b]?J[b]:0),p=f[b]?f[b]:
362
- s,f[b]=k=a.axisY.convertValueToPixel(J[b]);else if(p=a.axisY.convertValueToPixel(u[n].y),0<=u[n].y){var G=l[b]?l[b]:0;k=s+G;p+=G;l[b]=G+(p-k)}else G=f[b]?f[b]:0,k=p-G,p=s-G,f[b]=G+(p-k);b=u[n].color?u[n].color:r._colorSet[n%r._colorSet.length];aa(c,a.axisY.reversed?p:k,q,a.axisY.reversed?k:p,w,b,0,null,B,!1,!1,!1,r.fillOpacity);b=r.dataPointIds[n];this._eventManager.objectMap[b]={id:b,objectType:"dataPoint",dataSeriesIndex:m,dataPointIndex:n,x1:k,y1:q,x2:p,y2:w};b=R(b);t&&aa(this._eventManager.ghostCtx,
363
- k,q,p,w,b,0,null,!1,!1,!1,!1);(u[n].indexLabel||r.indexLabel||u[n].indexLabelFormatter||r.indexLabelFormatter)&&this._indexLabels.push({chartType:"stackedBar",dataPoint:u[n],dataSeries:r,point:{x:0<=u[n].y?p:k,y:q+(w-q)/2},direction:0>u[n].y===a.axisY.reversed?1:-1,bounds:{x1:Math.min(k,p),y1:q,x2:Math.max(k,p),y2:w},color:b})}}}t&&(g.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,
364
- this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.restore());c.restore();return{source:g,dest:this.plotArea.ctx,animationCallback:C.xScaleAnimation,easingFunction:C.easing.easeOutQuart,animationBase:s<a.axisY.bounds.x1?a.axisY.bounds.x1:s>a.axisY.bounds.x2?a.axisY.bounds.x2:s}}};k.prototype.renderStackedBar100=
365
- function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,c=t?this._preRenderCtx:g;if(!(0>=a.dataSeriesIndexes.length)){var b=null,e=this.plotArea,l=[],f=[],d=[],J=[],n=0,p,q,s=a.axisY.convertValueToPixel(a.axisY.logarithmic?a.axisY.viewportMinimum:0),n=this.options.dataPointMinWidth?this.dataPointMinWidth:this.options.dataPointWidth?this.dataPointWidth:1,h=this.options.dataPointMaxWidth?this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:0.15*this.height<<0,x=a.axisX.dataInfo.minDiff;
366
- isFinite(x)||(x=0.3*Math.abs(a.axisX.range));x=this.options.dataPointWidth?this.dataPointWidth:0.9*(e.height*(a.axisX.logarithmic?Math.log(x)/Math.log(a.axisX.range):Math.abs(x)/Math.abs(a.axisX.range))/a.plotType.plotUnits.length)<<0;this.dataPointMaxWidth&&n>h&&(n=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,h));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&h<n)&&(h=Math.max(this.options.dataPointWidth?this.dataPointWidth:-Infinity,n));x<n&&(x=n);x>h&&(x=h);c.save();t&&
367
- this._eventManager.ghostCtx.save();c.beginPath();c.rect(e.x1,e.y1,e.width,e.height);c.clip();t&&(this._eventManager.ghostCtx.beginPath(),this._eventManager.ghostCtx.rect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.clip());for(h=0;h<a.dataSeriesIndexes.length;h++){var m=a.dataSeriesIndexes[h],r=this.data[m],u=r.dataPoints;if(0<u.length){var B=5<x&&r.bevelEnabled?!0:!1;c.strokeStyle="#4572A7 ";for(n=0;n<u.length;n++)if(b=u[n].x.getTime?u[n].x.getTime():u[n].x,!(b<a.axisX.dataInfo.viewPortMin||
368
- b>a.axisX.dataInfo.viewPortMax)&&"number"===typeof u[n].y){q=a.axisX.convertValueToPixel(b);var w;w=0!==a.dataPointYSums[b]?100*(u[n].y/a.dataPointYSums[b]):0;q=q-a.plotType.plotUnits.length*x/2+a.index*x<<0;var k=q+x<<0;if(a.axisY.logarithmic||a.axisY.scaleBreaks&&0<a.axisY.scaleBreaks._appliedBreaks.length&&0<u[n].y){d[b]=w+(d[b]?d[b]:0);if(0>=d[b])continue;w=l[b]?l[b]:s;l[b]=p=a.axisY.convertValueToPixel(d[b])}else if(a.axisY.scaleBreaks&&0<a.axisY.scaleBreaks._appliedBreaks.length&&0>=u[n].y)J[b]=
369
- w+(J[b]?J[b]:0),p=f[b]?f[b]:s,f[b]=w=a.axisY.convertValueToPixel(J[b]);else if(p=a.axisY.convertValueToPixel(w),0<=u[n].y){var G=l[b]?l[b]:0;w=s+G;p+=G;a.dataSeriesIndexes.length-1===h&&1>=Math.abs(e.x2-p)&&(p=e.x2);l[b]=G+(p-w)}else G=f[b]?f[b]:0,w=p-G,p=s-G,a.dataSeriesIndexes.length-1===h&&1>=Math.abs(e.x1-w)&&(w=e.x1),f[b]=G+(p-w);b=u[n].color?u[n].color:r._colorSet[n%r._colorSet.length];aa(c,a.axisY.reversed?p:w,q,a.axisY.reversed?w:p,k,b,0,null,B,!1,!1,!1,r.fillOpacity);b=r.dataPointIds[n];
370
- this._eventManager.objectMap[b]={id:b,objectType:"dataPoint",dataSeriesIndex:m,dataPointIndex:n,x1:w,y1:q,x2:p,y2:k};b=R(b);t&&aa(this._eventManager.ghostCtx,w,q,p,k,b,0,null,!1,!1,!1,!1);(u[n].indexLabel||r.indexLabel||u[n].indexLabelFormatter||r.indexLabelFormatter)&&this._indexLabels.push({chartType:"stackedBar100",dataPoint:u[n],dataSeries:r,point:{x:0<=u[n].y?p:w,y:q+(k-q)/2},direction:0>u[n].y===a.axisY.reversed?1:-1,bounds:{x1:Math.min(w,p),y1:q,x2:Math.max(w,p),y2:k},color:b})}}}t&&(g.drawImage(this._preRenderCanvas,
371
- 0,0,this.width,this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.restore());c.restore();return{source:g,dest:this.plotArea.ctx,animationCallback:C.xScaleAnimation,easingFunction:C.easing.easeOutQuart,
372
- animationBase:s<a.axisY.bounds.x1?a.axisY.bounds.x1:s>a.axisY.bounds.x2?a.axisY.bounds.x2:s}}};k.prototype.renderArea=function(a){var g,c;function b(){G&&(0<h.lineThickness&&l.stroke(),a.axisY.logarithmic||0>=a.axisY.viewportMinimum&&0<=a.axisY.viewportMaximum?v=w:0>a.axisY.viewportMaximum?v=d.y1:0<a.axisY.viewportMinimum&&(v=w),l.lineTo(r,v),l.lineTo(G.x,v),l.closePath(),l.globalAlpha=h.fillOpacity,l.fill(),l.globalAlpha=1,t&&(f.lineTo(r,v),f.lineTo(G.x,v),f.closePath(),f.fill()),l.beginPath(),l.moveTo(r,
373
- u),f.beginPath(),f.moveTo(r,u),G={x:r,y:u})}var e=a.targetCanvasCtx||this.plotArea.ctx,l=t?this._preRenderCtx:e;if(!(0>=a.dataSeriesIndexes.length)){var f=this._eventManager.ghostCtx,d=a.axisY.lineCoordinates,J=[],n=this.plotArea,p;l.save();t&&f.save();l.beginPath();l.rect(n.x1,n.y1,n.width,n.height);l.clip();t&&(f.beginPath(),f.rect(n.x1,n.y1,n.width,n.height),f.clip());for(var q=0;q<a.dataSeriesIndexes.length;q++){var s=a.dataSeriesIndexes[q],h=this.data[s],x=h.dataPoints,J=h.id;this._eventManager.objectMap[J]=
374
- {objectType:"dataSeries",dataSeriesIndex:s};J=R(J);f.fillStyle=J;J=[];g=!0;var m=0,r,u,k,w=a.axisY.convertValueToPixel(a.axisY.logarithmic?a.axisY.viewportMinimum:0),v,G=null;if(0<x.length){var D=h._colorSet[m%h._colorSet.length],y=h.lineColor=h.options.lineColor||D,A=y;l.fillStyle=D;l.strokeStyle=y;l.lineWidth=h.lineThickness;c="solid";if(l.setLineDash){var Z=X(h.nullDataLineDashType,h.lineThickness);c=h.lineDashType;var W=X(c,h.lineThickness);l.setLineDash(W)}for(var fa=!0;m<x.length;m++)if(k=x[m].x.getTime?
375
- x[m].x.getTime():x[m].x,!(k<a.axisX.dataInfo.viewPortMin||k>a.axisX.dataInfo.viewPortMax&&(!h.connectNullData||!fa)))if("number"!==typeof x[m].y)h.connectNullData||(fa||g)||b(),fa=!0;else{r=a.axisX.convertValueToPixel(k);u=a.axisY.convertValueToPixel(x[m].y);g||fa?(!g&&h.connectNullData?(l.setLineDash&&(h.options.nullDataLineDashType||c===h.lineDashType&&h.lineDashType!==h.nullDataLineDashType)&&(g=r,c=u,r=p.x,u=p.y,b(),l.moveTo(p.x,p.y),r=g,u=c,G=p,c=h.nullDataLineDashType,l.setLineDash(Z)),l.lineTo(r,
376
- u),t&&f.lineTo(r,u)):(l.beginPath(),l.moveTo(r,u),t&&(f.beginPath(),f.moveTo(r,u)),G={x:r,y:u}),fa=g=!1):(l.lineTo(r,u),t&&f.lineTo(r,u),0==m%250&&b());p={x:r,y:u};m<x.length-1&&(A!==(x[m].lineColor||y)||c!==(x[m].lineDashType||h.lineDashType))&&(b(),A=x[m].lineColor||y,l.strokeStyle=A,l.setLineDash&&(x[m].lineDashType?(c=x[m].lineDashType,l.setLineDash(X(c,h.lineThickness))):(c=h.lineDashType,l.setLineDash(W))));var da=h.dataPointIds[m];this._eventManager.objectMap[da]={id:da,objectType:"dataPoint",
377
- dataSeriesIndex:s,dataPointIndex:m,x1:r,y1:u};0!==x[m].markerSize&&(0<x[m].markerSize||0<h.markerSize)&&(k=h.getMarkerProperties(m,r,u,l),J.push(k),da=R(da),t&&J.push({x:r,y:u,ctx:f,type:k.type,size:k.size,color:da,borderColor:da,borderThickness:k.borderThickness}));(x[m].indexLabel||h.indexLabel||x[m].indexLabelFormatter||h.indexLabelFormatter)&&this._indexLabels.push({chartType:"area",dataPoint:x[m],dataSeries:h,point:{x:r,y:u},direction:0>x[m].y===a.axisY.reversed?1:-1,color:D})}b();B.drawMarkers(J)}}t&&
378
- (e.drawImage(this._preRenderCanvas,0,0,this.width,this.height),l.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&l.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&l.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),l.clearRect(n.x1,n.y1,n.width,n.height),this._eventManager.ghostCtx.restore());l.restore();return{source:e,dest:this.plotArea.ctx,animationCallback:C.xClipAnimation,
379
- easingFunction:C.easing.linear,animationBase:0}}};k.prototype.renderSplineArea=function(a){function g(){var c=E(L,2);if(0<c.length){if(0<p.lineThickness){b.beginPath();b.moveTo(c[0].x,c[0].y);c[0].newStrokeStyle&&(b.strokeStyle=c[0].newStrokeStyle);c[0].newLineDashArray&&b.setLineDash(c[0].newLineDashArray);for(var g=0;g<c.length-3;g+=3)if(b.bezierCurveTo(c[g+1].x,c[g+1].y,c[g+2].x,c[g+2].y,c[g+3].x,c[g+3].y),t&&e.bezierCurveTo(c[g+1].x,c[g+1].y,c[g+2].x,c[g+2].y,c[g+3].x,c[g+3].y),c[g+3].newStrokeStyle||
380
- c[g+3].newLineDashArray)b.stroke(),b.beginPath(),b.moveTo(c[g+3].x,c[g+3].y),c[g+3].newStrokeStyle&&(b.strokeStyle=c[g+3].newStrokeStyle),c[g+3].newLineDashArray&&b.setLineDash(c[g+3].newLineDashArray);b.stroke()}b.beginPath();b.moveTo(c[0].x,c[0].y);t&&(e.beginPath(),e.moveTo(c[0].x,c[0].y));for(g=0;g<c.length-3;g+=3)b.bezierCurveTo(c[g+1].x,c[g+1].y,c[g+2].x,c[g+2].y,c[g+3].x,c[g+3].y),t&&e.bezierCurveTo(c[g+1].x,c[g+1].y,c[g+2].x,c[g+2].y,c[g+3].x,c[g+3].y);a.axisY.logarithmic||0>=a.axisY.viewportMinimum&&
381
- 0<=a.axisY.viewportMaximum?k=r:0>a.axisY.viewportMaximum?k=l.y1:0<a.axisY.viewportMinimum&&(k=r);u={x:c[0].x,y:c[0].y};b.lineTo(c[c.length-1].x,k);b.lineTo(u.x,k);b.closePath();b.globalAlpha=p.fillOpacity;b.fill();b.globalAlpha=1;t&&(e.lineTo(c[c.length-1].x,k),e.lineTo(u.x,k),e.closePath(),e.fill())}}var c=a.targetCanvasCtx||this.plotArea.ctx,b=t?this._preRenderCtx:c;if(!(0>=a.dataSeriesIndexes.length)){var e=this._eventManager.ghostCtx,l=a.axisY.lineCoordinates,f=[],d=this.plotArea;b.save();t&&
382
- e.save();b.beginPath();b.rect(d.x1,d.y1,d.width,d.height);b.clip();t&&(e.beginPath(),e.rect(d.x1,d.y1,d.width,d.height),e.clip());for(var m=0;m<a.dataSeriesIndexes.length;m++){var n=a.dataSeriesIndexes[m],p=this.data[n],q=p.dataPoints,f=p.id;this._eventManager.objectMap[f]={objectType:"dataSeries",dataSeriesIndex:n};f=R(f);e.fillStyle=f;var f=[],s=0,h,x,r=a.axisY.convertValueToPixel(a.axisY.logarithmic?a.axisY.viewportMinimum:0),k,u=null,L=[];if(0<q.length){var w=p._colorSet[s%p._colorSet.length],
383
- v=p.lineColor=p.options.lineColor||w,G=v;b.fillStyle=w;b.strokeStyle=v;b.lineWidth=p.lineThickness;var D="solid";if(b.setLineDash){var y=X(p.nullDataLineDashType,p.lineThickness),D=p.lineDashType,A=X(D,p.lineThickness);b.setLineDash(A)}for(x=!1;s<q.length;s++)if(h=q[s].x.getTime?q[s].x.getTime():q[s].x,!(h<a.axisX.dataInfo.viewPortMin||h>a.axisX.dataInfo.viewPortMax&&(!p.connectNullData||!x)))if("number"!==typeof q[s].y)0<s&&!x&&(p.connectNullData?b.setLineDash&&(0<L.length&&(p.options.nullDataLineDashType||
384
- !q[s-1].lineDashType))&&(L[L.length-1].newLineDashArray=y,D=p.nullDataLineDashType):(g(),L=[])),x=!0;else{h=a.axisX.convertValueToPixel(h);x=a.axisY.convertValueToPixel(q[s].y);var Z=p.dataPointIds[s];this._eventManager.objectMap[Z]={id:Z,objectType:"dataPoint",dataSeriesIndex:n,dataPointIndex:s,x1:h,y1:x};L[L.length]={x:h,y:x};s<q.length-1&&(G!==(q[s].lineColor||v)||D!==(q[s].lineDashType||p.lineDashType))&&(G=q[s].lineColor||v,L[L.length-1].newStrokeStyle=G,b.setLineDash&&(q[s].lineDashType?(D=
385
- q[s].lineDashType,L[L.length-1].newLineDashArray=X(D,p.lineThickness)):(D=p.lineDashType,L[L.length-1].newLineDashArray=A)));if(0!==q[s].markerSize&&(0<q[s].markerSize||0<p.markerSize)){var W=p.getMarkerProperties(s,h,x,b);f.push(W);Z=R(Z);t&&f.push({x:h,y:x,ctx:e,type:W.type,size:W.size,color:Z,borderColor:Z,borderThickness:W.borderThickness})}(q[s].indexLabel||p.indexLabel||q[s].indexLabelFormatter||p.indexLabelFormatter)&&this._indexLabels.push({chartType:"splineArea",dataPoint:q[s],dataSeries:p,
386
- point:{x:h,y:x},direction:0>q[s].y===a.axisY.reversed?1:-1,color:w});x=!1}g();B.drawMarkers(f)}}t&&(c.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&b.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&b.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.clearRect(d.x1,d.y1,d.width,d.height),
387
- this._eventManager.ghostCtx.restore());b.restore();return{source:c,dest:this.plotArea.ctx,animationCallback:C.xClipAnimation,easingFunction:C.easing.linear,animationBase:0}}};k.prototype.renderStepArea=function(a){var g,c;function b(){G&&(0<h.lineThickness&&l.stroke(),a.axisY.logarithmic||0>=a.axisY.viewportMinimum&&0<=a.axisY.viewportMaximum?v=w:0>a.axisY.viewportMaximum?v=d.y1:0<a.axisY.viewportMinimum&&(v=w),l.lineTo(k,v),l.lineTo(G.x,v),l.closePath(),l.globalAlpha=h.fillOpacity,l.fill(),l.globalAlpha=
388
- 1,t&&(f.lineTo(k,v),f.lineTo(G.x,v),f.closePath(),f.fill()),l.beginPath(),l.moveTo(k,u),f.beginPath(),f.moveTo(k,u),G={x:k,y:u})}var e=a.targetCanvasCtx||this.plotArea.ctx,l=t?this._preRenderCtx:e;if(!(0>=a.dataSeriesIndexes.length)){var f=this._eventManager.ghostCtx,d=a.axisY.lineCoordinates,m=[],n=this.plotArea,p;l.save();t&&f.save();l.beginPath();l.rect(n.x1,n.y1,n.width,n.height);l.clip();t&&(f.beginPath(),f.rect(n.x1,n.y1,n.width,n.height),f.clip());for(var q=0;q<a.dataSeriesIndexes.length;q++){var s=
389
- a.dataSeriesIndexes[q],h=this.data[s],x=h.dataPoints,m=h.id;this._eventManager.objectMap[m]={objectType:"dataSeries",dataSeriesIndex:s};m=R(m);f.fillStyle=m;m=[];g=!0;var r=0,k,u,L,w=a.axisY.convertValueToPixel(a.axisY.logarithmic?a.axisY.viewportMinimum:0),v,G=null;c=!1;if(0<x.length){var D=h._colorSet[r%h._colorSet.length],y=h.lineColor=h.options.lineColor||D,A=y;l.fillStyle=D;l.strokeStyle=y;l.lineWidth=h.lineThickness;var Z="solid";if(l.setLineDash){var W=X(h.nullDataLineDashType,h.lineThickness),
390
- Z=h.lineDashType,fa=X(Z,h.lineThickness);l.setLineDash(fa)}for(;r<x.length;r++)if(L=x[r].x.getTime?x[r].x.getTime():x[r].x,!(L<a.axisX.dataInfo.viewPortMin||L>a.axisX.dataInfo.viewPortMax&&(!h.connectNullData||!c))){var da=u;"number"!==typeof x[r].y?(h.connectNullData||(c||g)||b(),c=!0):(k=a.axisX.convertValueToPixel(L),u=a.axisY.convertValueToPixel(x[r].y),g||c?(!g&&h.connectNullData?(l.setLineDash&&(h.options.nullDataLineDashType||Z===h.lineDashType&&h.lineDashType!==h.nullDataLineDashType)&&(g=
391
- k,c=u,k=p.x,u=p.y,b(),l.moveTo(p.x,p.y),k=g,u=c,G=p,Z=h.nullDataLineDashType,l.setLineDash(W)),l.lineTo(k,da),l.lineTo(k,u),t&&(f.lineTo(k,da),f.lineTo(k,u))):(l.beginPath(),l.moveTo(k,u),t&&(f.beginPath(),f.moveTo(k,u)),G={x:k,y:u}),c=g=!1):(l.lineTo(k,da),t&&f.lineTo(k,da),l.lineTo(k,u),t&&f.lineTo(k,u),0==r%250&&b()),p={x:k,y:u},r<x.length-1&&(A!==(x[r].lineColor||y)||Z!==(x[r].lineDashType||h.lineDashType))&&(b(),A=x[r].lineColor||y,l.strokeStyle=A,l.setLineDash&&(x[r].lineDashType?(Z=x[r].lineDashType,
392
- l.setLineDash(X(Z,h.lineThickness))):(Z=h.lineDashType,l.setLineDash(fa)))),L=h.dataPointIds[r],this._eventManager.objectMap[L]={id:L,objectType:"dataPoint",dataSeriesIndex:s,dataPointIndex:r,x1:k,y1:u},0!==x[r].markerSize&&(0<x[r].markerSize||0<h.markerSize)&&(da=h.getMarkerProperties(r,k,u,l),m.push(da),L=R(L),t&&m.push({x:k,y:u,ctx:f,type:da.type,size:da.size,color:L,borderColor:L,borderThickness:da.borderThickness})),(x[r].indexLabel||h.indexLabel||x[r].indexLabelFormatter||h.indexLabelFormatter)&&
393
- this._indexLabels.push({chartType:"stepArea",dataPoint:x[r],dataSeries:h,point:{x:k,y:u},direction:0>x[r].y===a.axisY.reversed?1:-1,color:D}))}b();B.drawMarkers(m)}}t&&(e.drawImage(this._preRenderCanvas,0,0,this.width,this.height),l.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&l.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&l.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,
394
- 0,0,this.width,this.height),l.clearRect(n.x1,n.y1,n.width,n.height),this._eventManager.ghostCtx.restore());l.restore();return{source:e,dest:this.plotArea.ctx,animationCallback:C.xClipAnimation,easingFunction:C.easing.linear,animationBase:0}}};k.prototype.renderStackedArea=function(a){function g(){if(!(1>n.length)){for(0<D.lineThickness&&b.stroke();0<n.length;){var a=n.pop();b.lineTo(a.x,a.y);t&&k.lineTo(a.x,a.y)}b.closePath();b.globalAlpha=D.fillOpacity;b.fill();b.globalAlpha=1;b.beginPath();t&&(k.closePath(),
395
- k.fill(),k.beginPath());n=[]}}var c=a.targetCanvasCtx||this.plotArea.ctx,b=t?this._preRenderCtx:c;if(!(0>=a.dataSeriesIndexes.length)){var e=null,l=null,f=[],d=this.plotArea,r=[],n=[],p=[],q=[],s=0,h,x,m=a.axisY.convertValueToPixel(a.axisY.logarithmic?a.axisY.viewportMinimum:0),k=this._eventManager.ghostCtx,u,L,w;t&&k.beginPath();b.save();t&&k.save();b.beginPath();b.rect(d.x1,d.y1,d.width,d.height);b.clip();t&&(k.beginPath(),k.rect(d.x1,d.y1,d.width,d.height),k.clip());for(var e=[],v=0;v<a.dataSeriesIndexes.length;v++){var G=
396
- a.dataSeriesIndexes[v],D=this.data[G],y=D.dataPoints;D.dataPointIndexes=[];for(s=0;s<y.length;s++)G=y[s].x.getTime?y[s].x.getTime():y[s].x,D.dataPointIndexes[G]=s,e[G]||(p.push(G),e[G]=!0);p.sort(Xa)}for(v=0;v<a.dataSeriesIndexes.length;v++){G=a.dataSeriesIndexes[v];D=this.data[G];y=D.dataPoints;L=!0;n=[];s=D.id;this._eventManager.objectMap[s]={objectType:"dataSeries",dataSeriesIndex:G};s=R(s);k.fillStyle=s;if(0<p.length){var e=D._colorSet[0],A=D.lineColor=D.options.lineColor||e,Z=A;b.fillStyle=e;
397
- b.strokeStyle=A;b.lineWidth=D.lineThickness;w="solid";if(b.setLineDash){var W=X(D.nullDataLineDashType,D.lineThickness);w=D.lineDashType;var fa=X(w,D.lineThickness);b.setLineDash(fa)}for(var da=!0,s=0;s<p.length;s++){var l=p[s],ka=null,ka=0<=D.dataPointIndexes[l]?y[D.dataPointIndexes[l]]:{x:l,y:null};if(!(l<a.axisX.dataInfo.viewPortMin||l>a.axisX.dataInfo.viewPortMax&&(!D.connectNullData||!da)))if("number"!==typeof ka.y)D.connectNullData||(da||L)||g(),da=!0;else{h=a.axisX.convertValueToPixel(l);var ta=
398
- r[l]?r[l]:0;if(a.axisY.logarithmic||a.axisY.scaleBreaks&&0<a.axisY.scaleBreaks._appliedBreaks.length){q[l]=ka.y+(q[l]?q[l]:0);if(0>=q[l]&&a.axisY.logarithmic)continue;x=a.axisY.convertValueToPixel(q[l])}else x=a.axisY.convertValueToPixel(ka.y),x-=ta;n.push({x:h,y:m-ta});r[l]=m-x;L||da?(!L&&D.connectNullData?(b.setLineDash&&(D.options.nullDataLineDashType||w===D.lineDashType&&D.lineDashType!==D.nullDataLineDashType)&&(L=n.pop(),w=n[n.length-1],g(),b.moveTo(u.x,u.y),n.push(w),n.push(L),w=D.nullDataLineDashType,
399
- b.setLineDash(W)),b.lineTo(h,x),t&&k.lineTo(h,x)):(b.beginPath(),b.moveTo(h,x),t&&(k.beginPath(),k.moveTo(h,x))),da=L=!1):(b.lineTo(h,x),t&&k.lineTo(h,x),0==s%250&&(g(),b.moveTo(h,x),t&&k.moveTo(h,x),n.push({x:h,y:m-ta})));u={x:h,y:x};s<y.length-1&&(Z!==(y[s].lineColor||A)||w!==(y[s].lineDashType||D.lineDashType))&&(g(),b.beginPath(),b.moveTo(h,x),n.push({x:h,y:m-ta}),Z=y[s].lineColor||A,b.strokeStyle=Z,b.setLineDash&&(y[s].lineDashType?(w=y[s].lineDashType,b.setLineDash(X(w,D.lineThickness))):(w=
400
- D.lineDashType,b.setLineDash(fa))));if(0<=D.dataPointIndexes[l]){var oa=D.dataPointIds[D.dataPointIndexes[l]];this._eventManager.objectMap[oa]={id:oa,objectType:"dataPoint",dataSeriesIndex:G,dataPointIndex:D.dataPointIndexes[l],x1:h,y1:x}}0<=D.dataPointIndexes[l]&&0!==ka.markerSize&&(0<ka.markerSize||0<D.markerSize)&&(ta=D.getMarkerProperties(D.dataPointIndexes[l],h,x,b),f.push(ta),l=R(oa),t&&f.push({x:h,y:x,ctx:k,type:ta.type,size:ta.size,color:l,borderColor:l,borderThickness:ta.borderThickness}));
401
- (ka.indexLabel||D.indexLabel||ka.indexLabelFormatter||D.indexLabelFormatter)&&this._indexLabels.push({chartType:"stackedArea",dataPoint:ka,dataSeries:D,point:{x:h,y:x},direction:0>y[s].y===a.axisY.reversed?1:-1,color:e})}}g();b.moveTo(h,x);t&&k.moveTo(h,x)}delete D.dataPointIndexes}B.drawMarkers(f);t&&(c.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&b.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&
402
- b.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.clearRect(d.x1,d.y1,d.width,d.height),k.restore());b.restore();return{source:c,dest:this.plotArea.ctx,animationCallback:C.xClipAnimation,easingFunction:C.easing.linear,animationBase:0}}};k.prototype.renderStackedArea100=function(a){function g(){for(0<D.lineThickness&&b.stroke();0<n.length;){var a=n.pop();b.lineTo(a.x,a.y);t&&w.lineTo(a.x,
403
- a.y)}b.closePath();b.globalAlpha=D.fillOpacity;b.fill();b.globalAlpha=1;b.beginPath();t&&(w.closePath(),w.fill(),w.beginPath());n=[]}var c=a.targetCanvasCtx||this.plotArea.ctx,b=t?this._preRenderCtx:c;if(!(0>=a.dataSeriesIndexes.length)){var e=null,l=null,f=this.plotArea,d=[],r=[],n=[],p=[],q=[],s=0,h,x,m,k,u,L=a.axisY.convertValueToPixel(a.axisY.logarithmic?a.axisY.viewportMinimum:0),w=this._eventManager.ghostCtx;b.save();t&&w.save();b.beginPath();b.rect(f.x1,f.y1,f.width,f.height);b.clip();t&&(w.beginPath(),
404
- w.rect(f.x1,f.y1,f.width,f.height),w.clip());for(var e=[],v=0;v<a.dataSeriesIndexes.length;v++){var G=a.dataSeriesIndexes[v],D=this.data[G],y=D.dataPoints;D.dataPointIndexes=[];for(s=0;s<y.length;s++)G=y[s].x.getTime?y[s].x.getTime():y[s].x,D.dataPointIndexes[G]=s,e[G]||(p.push(G),e[G]=!0);p.sort(Xa)}for(v=0;v<a.dataSeriesIndexes.length;v++){G=a.dataSeriesIndexes[v];D=this.data[G];y=D.dataPoints;k=!0;e=D.id;this._eventManager.objectMap[e]={objectType:"dataSeries",dataSeriesIndex:G};e=R(e);w.fillStyle=
405
- e;n=[];if(0<p.length){var e=D._colorSet[s%D._colorSet.length],A=D.lineColor=D.options.lineColor||e,Z=A;b.fillStyle=e;b.strokeStyle=A;b.lineWidth=D.lineThickness;u="solid";if(b.setLineDash){var W=X(D.nullDataLineDashType,D.lineThickness);u=D.lineDashType;var fa=X(u,D.lineThickness);b.setLineDash(fa)}for(var da=!0,s=0;s<p.length;s++){var l=p[s],ka=null,ka=0<=D.dataPointIndexes[l]?y[D.dataPointIndexes[l]]:{x:l,y:null};if(!(l<a.axisX.dataInfo.viewPortMin||l>a.axisX.dataInfo.viewPortMax&&(!D.connectNullData||
406
- !da)))if("number"!==typeof ka.y)D.connectNullData||(da||k)||g(),da=!0;else{var ta;ta=0!==a.dataPointYSums[l]?100*(ka.y/a.dataPointYSums[l]):0;h=a.axisX.convertValueToPixel(l);var oa=r[l]?r[l]:0;if(a.axisY.logarithmic||a.axisY.scaleBreaks&&0<a.axisY.scaleBreaks._appliedBreaks.length){q[l]=ta+(q[l]?q[l]:0);if(0>=q[l]&&a.axisY.logarithmic)continue;x=a.axisY.convertValueToPixel(q[l])}else x=a.axisY.convertValueToPixel(ta),x-=oa;n.push({x:h,y:L-oa});r[l]=L-x;k||da?(!k&&D.connectNullData?(b.setLineDash&&
407
- (D.options.nullDataLineDashType||u===D.lineDashType&&D.lineDashType!==D.nullDataLineDashType)&&(k=n.pop(),u=n[n.length-1],g(),b.moveTo(m.x,m.y),n.push(u),n.push(k),u=D.nullDataLineDashType,b.setLineDash(W)),b.lineTo(h,x),t&&w.lineTo(h,x)):(b.beginPath(),b.moveTo(h,x),t&&(w.beginPath(),w.moveTo(h,x))),da=k=!1):(b.lineTo(h,x),t&&w.lineTo(h,x),0==s%250&&(g(),b.moveTo(h,x),t&&w.moveTo(h,x),n.push({x:h,y:L-oa})));m={x:h,y:x};s<y.length-1&&(Z!==(y[s].lineColor||A)||u!==(y[s].lineDashType||D.lineDashType))&&
408
- (g(),b.beginPath(),b.moveTo(h,x),n.push({x:h,y:L-oa}),Z=y[s].lineColor||A,b.strokeStyle=Z,b.setLineDash&&(y[s].lineDashType?(u=y[s].lineDashType,b.setLineDash(X(u,D.lineThickness))):(u=D.lineDashType,b.setLineDash(fa))));if(0<=D.dataPointIndexes[l]){var H=D.dataPointIds[D.dataPointIndexes[l]];this._eventManager.objectMap[H]={id:H,objectType:"dataPoint",dataSeriesIndex:G,dataPointIndex:D.dataPointIndexes[l],x1:h,y1:x}}0<=D.dataPointIndexes[l]&&0!==ka.markerSize&&(0<ka.markerSize||0<D.markerSize)&&
409
- (oa=D.getMarkerProperties(s,h,x,b),d.push(oa),l=R(H),t&&d.push({x:h,y:x,ctx:w,type:oa.type,size:oa.size,color:l,borderColor:l,borderThickness:oa.borderThickness}));(ka.indexLabel||D.indexLabel||ka.indexLabelFormatter||D.indexLabelFormatter)&&this._indexLabels.push({chartType:"stackedArea100",dataPoint:ka,dataSeries:D,point:{x:h,y:x},direction:0>y[s].y===a.axisY.reversed?1:-1,color:e})}}g();b.moveTo(h,x);t&&w.moveTo(h,x)}delete D.dataPointIndexes}B.drawMarkers(d);t&&(c.drawImage(this._preRenderCanvas,
410
- 0,0,this.width,this.height),b.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&b.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&b.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.clearRect(f.x1,f.y1,f.width,f.height),w.restore());b.restore();return{source:c,dest:this.plotArea.ctx,animationCallback:C.xClipAnimation,easingFunction:C.easing.linear,
411
- animationBase:0}}};k.prototype.renderBubble=function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,c=t?this._preRenderCtx:g;if(!(0>=a.dataSeriesIndexes.length)){var b=this.plotArea,e=0,l,f;c.save();t&&this._eventManager.ghostCtx.save();c.beginPath();c.rect(b.x1,b.y1,b.width,b.height);c.clip();t&&(this._eventManager.ghostCtx.beginPath(),this._eventManager.ghostCtx.rect(b.x1,b.y1,b.width,b.height),this._eventManager.ghostCtx.clip());for(var d=-Infinity,r=Infinity,n=0;n<a.dataSeriesIndexes.length;n++)for(var p=
412
- a.dataSeriesIndexes[n],q=this.data[p],s=q.dataPoints,h=0,e=0;e<s.length;e++)l=s[e].getTime?l=s[e].x.getTime():l=s[e].x,l<a.axisX.dataInfo.viewPortMin||l>a.axisX.dataInfo.viewPortMax||"undefined"===typeof s[e].z||(h=s[e].z,h>d&&(d=h),h<r&&(r=h));for(var x=25*Math.PI,m=Math.max(Math.pow(0.25*Math.min(b.height,b.width)/2,2)*Math.PI,x),n=0;n<a.dataSeriesIndexes.length;n++)if(p=a.dataSeriesIndexes[n],q=this.data[p],s=q.dataPoints,0<s.length)for(c.strokeStyle="#4572A7 ",e=0;e<s.length;e++)if(l=s[e].getTime?
413
- l=s[e].x.getTime():l=s[e].x,!(l<a.axisX.dataInfo.viewPortMin||l>a.axisX.dataInfo.viewPortMax)&&"number"===typeof s[e].y){l=a.axisX.convertValueToPixel(l);f=a.axisY.convertValueToPixel(s[e].y);var h=s[e].z,k=2*Math.max(Math.sqrt((d===r?m/2:x+(m-x)/(d-r)*(h-r))/Math.PI)<<0,1),h=q.getMarkerProperties(e,c);h.size=k;c.globalAlpha=q.fillOpacity;B.drawMarker(l,f,c,h.type,h.size,h.color,h.borderColor,h.borderThickness);c.globalAlpha=1;var u=q.dataPointIds[e];this._eventManager.objectMap[u]={id:u,objectType:"dataPoint",
414
- dataSeriesIndex:p,dataPointIndex:e,x1:l,y1:f,size:k};k=R(u);t&&B.drawMarker(l,f,this._eventManager.ghostCtx,h.type,h.size,k,k,h.borderThickness);(s[e].indexLabel||q.indexLabel||s[e].indexLabelFormatter||q.indexLabelFormatter)&&this._indexLabels.push({chartType:"bubble",dataPoint:s[e],dataSeries:q,point:{x:l,y:f},direction:1,bounds:{x1:l-h.size/2,y1:f-h.size/2,x2:l+h.size/2,y2:f+h.size/2},color:null})}t&&(g.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.globalCompositeOperation="source-atop",
415
- a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(b.x1,b.y1,b.width,b.height),this._eventManager.ghostCtx.restore());c.restore();return{source:g,dest:this.plotArea.ctx,animationCallback:C.fadeInAnimation,easingFunction:C.easing.easeInQuad,animationBase:0}}};k.prototype.renderScatter=
416
- function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,c=t?this._preRenderCtx:g;if(!(0>=a.dataSeriesIndexes.length)){var b=this.plotArea,e=0,l,f;c.save();t&&this._eventManager.ghostCtx.save();c.beginPath();c.rect(b.x1,b.y1,b.width,b.height);c.clip();t&&(this._eventManager.ghostCtx.beginPath(),this._eventManager.ghostCtx.rect(b.x1,b.y1,b.width,b.height),this._eventManager.ghostCtx.clip());for(var d=0;d<a.dataSeriesIndexes.length;d++){var r=a.dataSeriesIndexes[d],n=this.data[r],p=n.dataPoints;if(0<
417
- p.length){c.strokeStyle="#4572A7 ";Math.pow(0.3*Math.min(b.height,b.width)/2,2);for(var q=0,s=0,e=0;e<p.length;e++)if(l=p[e].getTime?l=p[e].x.getTime():l=p[e].x,!(l<a.axisX.dataInfo.viewPortMin||l>a.axisX.dataInfo.viewPortMax)&&"number"===typeof p[e].y){l=a.axisX.convertValueToPixel(l);f=a.axisY.convertValueToPixel(p[e].y);var h=n.getMarkerProperties(e,l,f,c);c.globalAlpha=n.fillOpacity;B.drawMarker(h.x,h.y,h.ctx,h.type,h.size,h.color,h.borderColor,h.borderThickness);c.globalAlpha=1;Math.sqrt((q-
418
- l)*(q-l)+(s-f)*(s-f))<Math.min(h.size,5)&&p.length>Math.min(this.plotArea.width,this.plotArea.height)||(q=n.dataPointIds[e],this._eventManager.objectMap[q]={id:q,objectType:"dataPoint",dataSeriesIndex:r,dataPointIndex:e,x1:l,y1:f},q=R(q),t&&B.drawMarker(h.x,h.y,this._eventManager.ghostCtx,h.type,h.size,q,q,h.borderThickness),(p[e].indexLabel||n.indexLabel||p[e].indexLabelFormatter||n.indexLabelFormatter)&&this._indexLabels.push({chartType:"scatter",dataPoint:p[e],dataSeries:n,point:{x:l,y:f},direction:1,
419
- bounds:{x1:l-h.size/2,y1:f-h.size/2,x2:l+h.size/2,y2:f+h.size/2},color:null}),q=l,s=f)}}}t&&(g.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(b.x1,b.y1,b.width,b.height),this._eventManager.ghostCtx.restore());
420
- c.restore();return{source:g,dest:this.plotArea.ctx,animationCallback:C.fadeInAnimation,easingFunction:C.easing.easeInQuad,animationBase:0}}};k.prototype.renderCandlestick=function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,c=t?this._preRenderCtx:g,b=this._eventManager.ghostCtx;if(!(0>=a.dataSeriesIndexes.length)){var e=null,l=null,d=this.plotArea,r=0,m,n,p,q,s,h,e=this.options.dataPointMinWidth?this.dataPointMinWidth:this.options.dataPointWidth?this.dataPointWidth:1,l=this.options.dataPointMaxWidth?
421
- this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:0.015*this.width,x=a.axisX.dataInfo.minDiff;isFinite(x)||(x=0.3*Math.abs(a.axisX.range));x=this.options.dataPointWidth?this.dataPointWidth:0.7*d.width*(a.axisX.logarithmic?Math.log(x)/Math.log(a.axisX.range):Math.abs(x)/Math.abs(a.axisX.range))<<0;this.dataPointMaxWidth&&e>l&&(e=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,l));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&l<e)&&(l=Math.max(this.options.dataPointWidth?
422
- this.dataPointWidth:-Infinity,e));x<e&&(x=e);x>l&&(x=l);c.save();t&&b.save();c.beginPath();c.rect(d.x1,d.y1,d.width,d.height);c.clip();t&&(b.beginPath(),b.rect(d.x1,d.y1,d.width,d.height),b.clip());for(var k=0;k<a.dataSeriesIndexes.length;k++){var B=a.dataSeriesIndexes[k],u=this.data[B],L=u.dataPoints;if(0<L.length)for(var w=5<x&&u.bevelEnabled?!0:!1,r=0;r<L.length;r++)if(L[r].getTime?h=L[r].x.getTime():h=L[r].x,!(h<a.axisX.dataInfo.viewPortMin||h>a.axisX.dataInfo.viewPortMax)&&!f(L[r].y)&&L[r].y.length&&
423
- "number"===typeof L[r].y[0]&&"number"===typeof L[r].y[1]&&"number"===typeof L[r].y[2]&&"number"===typeof L[r].y[3]){m=a.axisX.convertValueToPixel(h);n=a.axisY.convertValueToPixel(L[r].y[0]);p=a.axisY.convertValueToPixel(L[r].y[1]);q=a.axisY.convertValueToPixel(L[r].y[2]);s=a.axisY.convertValueToPixel(L[r].y[3]);var v=m-x/2<<0,G=v+x<<0,l=u.options.fallingColor?u.fallingColor:u._colorSet[0],e=L[r].color?L[r].color:u._colorSet[0],D=Math.round(Math.max(1,0.15*x)),y=0===D%2?0:0.5,A=u.dataPointIds[r];this._eventManager.objectMap[A]=
424
- {id:A,objectType:"dataPoint",dataSeriesIndex:B,dataPointIndex:r,x1:v,y1:n,x2:G,y2:p,x3:m,y3:q,x4:m,y4:s,borderThickness:D,color:e};c.strokeStyle=e;c.beginPath();c.lineWidth=D;b.lineWidth=Math.max(D,4);"candlestick"===u.type?(c.moveTo(m-y,p),c.lineTo(m-y,Math.min(n,s)),c.stroke(),c.moveTo(m-y,Math.max(n,s)),c.lineTo(m-y,q),c.stroke(),aa(c,v,Math.min(n,s),G,Math.max(n,s),L[r].y[0]<=L[r].y[3]?u.risingColor:l,D,e,w,w,!1,!1,u.fillOpacity),t&&(e=R(A),b.strokeStyle=e,b.moveTo(m-y,p),b.lineTo(m-y,Math.min(n,
425
- s)),b.stroke(),b.moveTo(m-y,Math.max(n,s)),b.lineTo(m-y,q),b.stroke(),aa(b,v,Math.min(n,s),G,Math.max(n,s),e,0,null,!1,!1,!1,!1))):"ohlc"===u.type&&(c.moveTo(m-y,p),c.lineTo(m-y,q),c.stroke(),c.beginPath(),c.moveTo(m,n),c.lineTo(v,n),c.stroke(),c.beginPath(),c.moveTo(m,s),c.lineTo(G,s),c.stroke(),t&&(e=R(A),b.strokeStyle=e,b.moveTo(m-y,p),b.lineTo(m-y,q),b.stroke(),b.beginPath(),b.moveTo(m,n),b.lineTo(v,n),b.stroke(),b.beginPath(),b.moveTo(m,s),b.lineTo(G,s),b.stroke()));(L[r].indexLabel||u.indexLabel||
426
- L[r].indexLabelFormatter||u.indexLabelFormatter)&&this._indexLabels.push({chartType:u.type,dataPoint:L[r],dataSeries:u,point:{x:v+(G-v)/2,y:a.axisY.reversed?q:p},direction:1,bounds:{x1:v,y1:Math.min(p,q),x2:G,y2:Math.max(p,q)},color:e})}}t&&(g.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),
427
- this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(d.x1,d.y1,d.width,d.height),b.restore());c.restore();return{source:g,dest:this.plotArea.ctx,animationCallback:C.fadeInAnimation,easingFunction:C.easing.easeInQuad,animationBase:0}}};k.prototype.renderBoxAndWhisker=function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,c=t?this._preRenderCtx:g,b=this._eventManager.ghostCtx;if(!(0>=a.dataSeriesIndexes.length)){var e=null,l=this.plotArea,
428
- d=0,r,m,n,p,q,s,h,e=this.options.dataPointMinWidth?this.dataPointMinWidth:this.options.dataPointWidth?this.dataPointWidth:1,d=this.options.dataPointMaxWidth?this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:0.015*this.width,x=a.axisX.dataInfo.minDiff;isFinite(x)||(x=0.3*Math.abs(a.axisX.range));x=this.options.dataPointWidth?this.dataPointWidth:0.7*l.width*(a.axisX.logarithmic?Math.log(x)/Math.log(a.axisX.range):Math.abs(x)/Math.abs(a.axisX.range))<<0;this.dataPointMaxWidth&&e>
429
- d&&(e=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,d));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&d<e)&&(d=Math.max(this.options.dataPointWidth?this.dataPointWidth:-Infinity,e));x<e&&(x=e);x>d&&(x=d);c.save();t&&b.save();c.beginPath();c.rect(l.x1,l.y1,l.width,l.height);c.clip();t&&(b.beginPath(),b.rect(l.x1,l.y1,l.width,l.height),b.clip());for(var k=!1,k=!!a.axisY.reversed,B=0;B<a.dataSeriesIndexes.length;B++){var u=a.dataSeriesIndexes[B],L=this.data[u],w=L.dataPoints;
430
- if(0<w.length)for(var v=5<x&&L.bevelEnabled?!0:!1,d=0;d<w.length;d++)if(w[d].getTime?h=w[d].x.getTime():h=w[d].x,!(h<a.axisX.dataInfo.viewPortMin||h>a.axisX.dataInfo.viewPortMax)&&!f(w[d].y)&&w[d].y.length&&"number"===typeof w[d].y[0]&&"number"===typeof w[d].y[1]&&"number"===typeof w[d].y[2]&&"number"===typeof w[d].y[3]&&"number"===typeof w[d].y[4]&&5===w[d].y.length){r=a.axisX.convertValueToPixel(h);m=a.axisY.convertValueToPixel(w[d].y[0]);n=a.axisY.convertValueToPixel(w[d].y[1]);p=a.axisY.convertValueToPixel(w[d].y[2]);
431
- q=a.axisY.convertValueToPixel(w[d].y[3]);s=a.axisY.convertValueToPixel(w[d].y[4]);var G=r-x/2<<0,D=r+x/2<<0,e=w[d].color?w[d].color:L._colorSet[0],y=Math.round(Math.max(1,0.15*x)),A=0===y%2?0:0.5,Z=w[d].whiskerColor?w[d].whiskerColor:w[d].color?L.whiskerColor?L.whiskerColor:w[d].color:L.whiskerColor?L.whiskerColor:e,W="number"===typeof w[d].whiskerThickness?w[d].whiskerThickness:"number"===typeof L.options.whiskerThickness?L.whiskerThickness:y,fa=w[d].whiskerDashType?w[d].whiskerDashType:L.whiskerDashType,
432
- da=f(w[d].whiskerLength)?f(L.options.whiskerLength)?x:L.whiskerLength:w[d].whiskerLength,da="number"===typeof da?0>=da?0:da>=x?x:da:"string"===typeof da?parseInt(da)*x/100>x?x:parseInt(da)*x/100:x,ka=1===Math.round(W)%2?0.5:0,ta=w[d].stemColor?w[d].stemColor:w[d].color?L.stemColor?L.stemColor:w[d].color:L.stemColor?L.stemColor:e,oa="number"===typeof w[d].stemThickness?w[d].stemThickness:"number"===typeof L.options.stemThickness?L.stemThickness:y,H=1===Math.round(oa)%2?0.5:0,E=w[d].stemDashType?w[d].stemDashType:
433
- L.stemDashType,F=w[d].lineColor?w[d].lineColor:w[d].color?L.lineColor?L.lineColor:w[d].color:L.lineColor?L.lineColor:e,K="number"===typeof w[d].lineThickness?w[d].lineThickness:"number"===typeof L.options.lineThickness?L.lineThickness:y,Q=w[d].lineDashType?w[d].lineDashType:L.lineDashType,S=1===Math.round(K)%2?0.5:0,O=L.upperBoxColor,P=L.lowerBoxColor,N=f(L.options.fillOpacity)?1:L.fillOpacity,U=L.dataPointIds[d];this._eventManager.objectMap[U]={id:U,objectType:"dataPoint",dataSeriesIndex:u,dataPointIndex:d,
434
- x1:G,y1:m,x2:D,y2:n,x3:r,y3:p,x4:r,y4:q,y5:s,borderThickness:y,color:e,stemThickness:oa,stemColor:ta,whiskerThickness:W,whiskerLength:da,whiskerColor:Z,lineThickness:K,lineColor:F};c.save();0<oa&&(c.beginPath(),c.strokeStyle=ta,c.lineWidth=oa,c.setLineDash&&c.setLineDash(X(E,oa)),c.moveTo(r-H,n),c.lineTo(r-H,m),c.stroke(),c.moveTo(r-H,q),c.lineTo(r-H,p),c.stroke());c.restore();b.lineWidth=Math.max(y,4);c.beginPath();aa(c,G,Math.min(s,n),D,Math.max(n,s),P,0,e,k?v:!1,k?!1:v,!1,!1,N);c.beginPath();aa(c,
435
- G,Math.min(p,s),D,Math.max(s,p),O,0,e,k?!1:v,k?v:!1,!1,!1,N);c.beginPath();c.lineWidth=y;c.strokeStyle=e;c.rect(G-A,Math.min(n,p)-A,D-G+2*A,Math.max(n,p)-Math.min(n,p)+2*A);c.stroke();c.save();0<K&&(c.beginPath(),c.globalAlpha=1,c.setLineDash&&c.setLineDash(X(Q,K)),c.strokeStyle=F,c.lineWidth=K,c.moveTo(G,s-S),c.lineTo(D,s-S),c.stroke());c.restore();c.save();0<W&&(c.beginPath(),c.setLineDash&&c.setLineDash(X(fa,W)),c.strokeStyle=Z,c.lineWidth=W,c.moveTo(r-da/2<<0,q-ka),c.lineTo(r+da/2<<0,q-ka),c.stroke(),
436
- c.moveTo(r-da/2<<0,m+ka),c.lineTo(r+da/2<<0,m+ka),c.stroke());c.restore();t&&(e=R(U),b.strokeStyle=e,b.lineWidth=oa,0<oa&&(b.moveTo(r-A-H,n),b.lineTo(r-A-H,Math.max(m,q)),b.stroke(),b.moveTo(r-A-H,Math.min(m,q)),b.lineTo(r-A-H,p),b.stroke()),aa(b,G,Math.max(n,p),D,Math.min(n,p),e,0,null,!1,!1,!1,!1),0<W&&(b.beginPath(),b.lineWidth=W,b.moveTo(r+da/2,q-ka),b.lineTo(r-da/2,q-ka),b.stroke(),b.moveTo(r+da/2,m+ka),b.lineTo(r-da/2,m+ka),b.stroke()));(w[d].indexLabel||L.indexLabel||w[d].indexLabelFormatter||
437
- L.indexLabelFormatter)&&this._indexLabels.push({chartType:L.type,dataPoint:w[d],dataSeries:L,point:{x:G+(D-G)/2,y:a.axisY.reversed?m:q},direction:1,bounds:{x1:G,y1:Math.min(m,q),x2:D,y2:Math.max(m,q)},color:e})}}t&&(g.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,
438
- 0,0,this.width,this.height),c.clearRect(l.x1,l.y1,l.width,l.height),b.restore());c.restore();return{source:g,dest:this.plotArea.ctx,animationCallback:C.fadeInAnimation,easingFunction:C.easing.easeInQuad,animationBase:0}}};k.prototype.renderRangeColumn=function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,c=t?this._preRenderCtx:g;if(!(0>=a.dataSeriesIndexes.length)){var b=null,e=this.plotArea,l=0,d,r,m,l=this.options.dataPointMinWidth?this.dataPointMinWidth:this.options.dataPointWidth?this.dataPointWidth:
439
- 1;d=this.options.dataPointMaxWidth?this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:0.03*this.width;var n=a.axisX.dataInfo.minDiff;isFinite(n)||(n=0.3*Math.abs(a.axisX.range));n=this.options.dataPointWidth?this.dataPointWidth:0.9*(e.width*(a.axisX.logarithmic?Math.log(n)/Math.log(a.axisX.range):Math.abs(n)/Math.abs(a.axisX.range))/a.plotType.totalDataSeries)<<0;this.dataPointMaxWidth&&l>d&&(l=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,d));!this.dataPointMaxWidth&&
440
- (this.dataPointMinWidth&&d<l)&&(d=Math.max(this.options.dataPointWidth?this.dataPointWidth:-Infinity,l));n<l&&(n=l);n>d&&(n=d);c.save();t&&this._eventManager.ghostCtx.save();c.beginPath();c.rect(e.x1,e.y1,e.width,e.height);c.clip();t&&(this._eventManager.ghostCtx.beginPath(),this._eventManager.ghostCtx.rect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.clip());for(var p=0;p<a.dataSeriesIndexes.length;p++){var q=a.dataSeriesIndexes[p],s=this.data[q],h=s.dataPoints;if(0<h.length)for(var x=
441
- 5<n&&s.bevelEnabled?!0:!1,l=0;l<h.length;l++)if(h[l].getTime?m=h[l].x.getTime():m=h[l].x,!(m<a.axisX.dataInfo.viewPortMin||m>a.axisX.dataInfo.viewPortMax)&&!f(h[l].y)&&h[l].y.length&&"number"===typeof h[l].y[0]&&"number"===typeof h[l].y[1]){b=a.axisX.convertValueToPixel(m);d=a.axisY.convertValueToPixel(h[l].y[0]);r=a.axisY.convertValueToPixel(h[l].y[1]);var k=a.axisX.reversed?b+a.plotType.totalDataSeries*n/2-(a.previousDataSeriesCount+p)*n<<0:b-a.plotType.totalDataSeries*n/2+(a.previousDataSeriesCount+
442
- p)*n<<0,B=a.axisX.reversed?k-n<<0:k+n<<0,b=h[l].color?h[l].color:s._colorSet[l%s._colorSet.length];if(d>r){var u=d;d=r;r=u}u=s.dataPointIds[l];this._eventManager.objectMap[u]={id:u,objectType:"dataPoint",dataSeriesIndex:q,dataPointIndex:l,x1:k,y1:d,x2:B,y2:r};aa(c,a.axisX.reversed?B:k,d,a.axisX.reversed?k:B,r,b,0,b,x,x,!1,!1,s.fillOpacity);b=R(u);t&&aa(this._eventManager.ghostCtx,a.axisX.reversed?B:k,d,a.axisX.reversed?k:B,r,b,0,null,!1,!1,!1,!1);if(h[l].indexLabel||s.indexLabel||h[l].indexLabelFormatter||
443
- s.indexLabelFormatter)this._indexLabels.push({chartType:"rangeColumn",dataPoint:h[l],dataSeries:s,indexKeyword:0,point:{x:k+(B-k)/2,y:h[l].y[1]>=h[l].y[0]?r:d},direction:h[l].y[1]>=h[l].y[0]?-1:1,bounds:{x1:k,y1:Math.min(d,r),x2:B,y2:Math.max(d,r)},color:b}),this._indexLabels.push({chartType:"rangeColumn",dataPoint:h[l],dataSeries:s,indexKeyword:1,point:{x:k+(B-k)/2,y:h[l].y[1]>=h[l].y[0]?d:r},direction:h[l].y[1]>=h[l].y[0]?1:-1,bounds:{x1:k,y1:Math.min(d,r),x2:B,y2:Math.max(d,r)},color:b})}}t&&(g.drawImage(this._preRenderCanvas,
444
- 0,0,this.width,this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.restore());c.restore();return{source:g,dest:this.plotArea.ctx,animationCallback:C.fadeInAnimation,easingFunction:C.easing.easeInQuad,
445
- animationBase:0}}};k.prototype.renderError=function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,c=t?this._preRenderCtx:g,b=a.axisY._position?"left"===a.axisY._position||"right"===a.axisY._position?!1:!0:!1;if(!(0>=a.dataSeriesIndexes.length)){var e=null,l=!1,d=this.plotArea,r=0,m,n,p,q,s,h,x,k=a.axisX.dataInfo.minDiff;isFinite(k)||(k=0.3*Math.abs(a.axisX.range));c.save();t&&this._eventManager.ghostCtx.save();c.beginPath();c.rect(d.x1,d.y1,d.width,d.height);c.clip();t&&(this._eventManager.ghostCtx.beginPath(),
446
- this._eventManager.ghostCtx.rect(d.x1,d.y1,d.width,d.height),this._eventManager.ghostCtx.clip());for(var B=0,u=0;u<this.data.length;u++)!this.data[u].type.match(/(bar|column)/ig)||!this.data[u].visible||this.data[u].type.match(/(stacked)/ig)&&B||B++;for(var L=0;L<a.dataSeriesIndexes.length;L++){var w=a.dataSeriesIndexes[L],v=this.data[w],y=v.dataPoints,D=f(v._linkedSeries)?!1:v._linkedSeries.type.match(/(bar|column)/ig)&&v._linkedSeries.visible?!0:!1,A=0;if(D)for(e=v._linkedSeries.id,u=0;u<e;u++)!this.data[u].type.match(/(bar|column)/ig)||
447
- !this.data[u].visible||this.data[u].type.match(/(stacked)/ig)&&A||(this.data[u].type.match(/(range)/ig)&&(l=!0),A++);e=this.options.dataPointMinWidth?this.dataPointMinWidth:this.options.dataPointWidth?this.dataPointWidth:1;r=this.options.dataPointMaxWidth?this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:b?Math.min(0.15*this.height,0.9*(this.plotArea.height/(D?B:1)))<<0:0.3*this.width;l&&(r=this.options.dataPointMaxWidth?this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:
448
- b?Math.min(0.15*this.height,0.9*(this.plotArea.height/(D?B:1)))<<0:0.03*this.width);u=this.options.dataPointWidth?this.dataPointWidth:0.9*((b?d.height:d.width)*(a.axisX.logarithmic?Math.log(k)/Math.log(a.axisX.range):Math.abs(k)/Math.abs(a.axisX.range))/(D?B:1))<<0;this.dataPointMaxWidth&&e>r&&(e=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,r));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&r<e)&&(r=Math.max(this.options.dataPointWidth?this.dataPointWidth:-Infinity,e));u<e&&
449
- (u=e);u>r&&(u=r);if(0<y.length)for(var E=v._colorSet,r=0;r<y.length;r++){var e=v.lineColor=v.options.color?v.options.color:E[0],Z={color:y[r].whiskerColor?y[r].whiskerColor:y[r].color?v.whiskerColor?v.whiskerColor:y[r].color:v.whiskerColor?v.whiskerColor:e,thickness:f(y[r].whiskerThickness)?v.whiskerThickness:y[r].whiskerThickness,dashType:y[r].whiskerDashType?y[r].whiskerDashType:v.whiskerDashType,length:f(y[r].whiskerLength)?f(v.options.whiskerLength)?u:v.options.whiskerLength:y[r].whiskerLength,
450
- trimLength:f(y[r].whiskerLength)?f(v.options.whiskerLength)?50:0:0};Z.length="number"===typeof Z.length?0>=Z.length?0:Z.length>=u?u:Z.length:"string"===typeof Z.length?parseInt(Z.length)*u/100>u?u:parseInt(Z.length)*u/100>u:u;Z.thickness="number"===typeof Z.thickness?0>Z.thickness?0:Math.round(Z.thickness):2;var W={color:y[r].stemColor?y[r].stemColor:y[r].color?v.stemColor?v.stemColor:y[r].color:v.stemColor?v.stemColor:e,thickness:y[r].stemThickness?y[r].stemThickness:v.stemThickness,dashType:y[r].stemDashType?
451
- y[r].stemDashType:v.stemDashType};W.thickness="number"===typeof W.thickness?0>W.thickness?0:Math.round(W.thickness):2;y[r].getTime?x=y[r].x.getTime():x=y[r].x;if(!(x<a.axisX.dataInfo.viewPortMin||x>a.axisX.dataInfo.viewPortMax)&&!f(y[r].y)&&y[r].y.length&&"number"===typeof y[r].y[0]&&"number"===typeof y[r].y[1]){var fa=a.axisX.convertValueToPixel(x);b?n=fa:m=fa;fa=a.axisY.convertValueToPixel(y[r].y[0]);b?p=fa:s=fa;fa=a.axisY.convertValueToPixel(y[r].y[1]);b?q=fa:h=fa;b?(s=a.axisX.reversed?n+(D?B:
452
- 1)*u/2-(D?A-1:0)*u<<0:n-(D?B:1)*u/2+(D?A-1:0)*u<<0,h=a.axisX.reversed?s-u<<0:s+u<<0):(p=a.axisX.reversed?m+(D?B:1)*u/2-(D?A-1:0)*u<<0:m-(D?B:1)*u/2+(D?A-1:0)*u<<0,q=a.axisX.reversed?p-u<<0:p+u<<0);!b&&s>h&&(fa=s,s=h,h=fa);b&&p>q&&(fa=p,p=q,q=fa);fa=v.dataPointIds[r];this._eventManager.objectMap[fa]={id:fa,objectType:"dataPoint",dataSeriesIndex:w,dataPointIndex:r,x1:Math.min(p,q),y1:Math.min(s,h),x2:Math.max(q,p),y2:Math.max(h,s),isXYSwapped:b,stemProperties:W,whiskerProperties:Z};Q(c,Math.min(p,q),
453
- Math.min(s,h),Math.max(q,p),Math.max(h,s),e,Z,W,b);t&&Q(this._eventManager.ghostCtx,p,s,q,h,e,Z,W,b);if(y[r].indexLabel||v.indexLabel||y[r].indexLabelFormatter||v.indexLabelFormatter)this._indexLabels.push({chartType:"error",dataPoint:y[r],dataSeries:v,indexKeyword:0,point:{x:b?y[r].y[1]>=y[r].y[0]?p:q:p+(q-p)/2,y:b?s+(h-s)/2:y[r].y[1]>=y[r].y[0]?h:s},direction:y[r].y[1]>=y[r].y[0]?-1:1,bounds:{x1:b?Math.min(p,q):p,y1:b?s:Math.min(s,h),x2:b?Math.max(p,q):q,y2:b?h:Math.max(s,h)},color:e,axisSwapped:b}),
454
- this._indexLabels.push({chartType:"error",dataPoint:y[r],dataSeries:v,indexKeyword:1,point:{x:b?y[r].y[1]>=y[r].y[0]?q:p:p+(q-p)/2,y:b?s+(h-s)/2:y[r].y[1]>=y[r].y[0]?s:h},direction:y[r].y[1]>=y[r].y[0]?1:-1,bounds:{x1:b?Math.min(p,q):p,y1:b?s:Math.min(s,h),x2:b?Math.max(p,q):q,y2:b?h:Math.max(s,h)},color:e,axisSwapped:b})}}}t&&(g.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),
455
- a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(d.x1,d.y1,d.width,d.height),this._eventManager.ghostCtx.restore());c.restore();return{source:g,dest:this.plotArea.ctx,animationCallback:C.fadeInAnimation,easingFunction:C.easing.easeInQuad,animationBase:0}}};k.prototype.renderRangeBar=function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,c=t?this._preRenderCtx:
456
- g;if(!(0>=a.dataSeriesIndexes.length)){var b=null,e=this.plotArea,l=0,d,r,m,n,l=this.options.dataPointMinWidth?this.dataPointMinWidth:this.options.dataPointWidth?this.dataPointWidth:1;d=this.options.dataPointMaxWidth?this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:Math.min(0.15*this.height,0.9*(this.plotArea.height/a.plotType.totalDataSeries))<<0;var p=a.axisX.dataInfo.minDiff;isFinite(p)||(p=0.3*Math.abs(a.axisX.range));p=this.options.dataPointWidth?this.dataPointWidth:0.9*
457
- (e.height*(a.axisX.logarithmic?Math.log(p)/Math.log(a.axisX.range):Math.abs(p)/Math.abs(a.axisX.range))/a.plotType.totalDataSeries)<<0;this.dataPointMaxWidth&&l>d&&(l=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,d));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&d<l)&&(d=Math.max(this.options.dataPointWidth?this.dataPointWidth:-Infinity,l));p<l&&(p=l);p>d&&(p=d);c.save();t&&this._eventManager.ghostCtx.save();c.beginPath();c.rect(e.x1,e.y1,e.width,e.height);c.clip();t&&(this._eventManager.ghostCtx.beginPath(),
458
- this._eventManager.ghostCtx.rect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.clip());for(var q=0;q<a.dataSeriesIndexes.length;q++){var s=a.dataSeriesIndexes[q],h=this.data[s],x=h.dataPoints;if(0<x.length){var k=5<p&&h.bevelEnabled?!0:!1;c.strokeStyle="#4572A7 ";for(l=0;l<x.length;l++)if(x[l].getTime?n=x[l].x.getTime():n=x[l].x,!(n<a.axisX.dataInfo.viewPortMin||n>a.axisX.dataInfo.viewPortMax)&&!f(x[l].y)&&x[l].y.length&&"number"===typeof x[l].y[0]&&"number"===typeof x[l].y[1]){d=a.axisY.convertValueToPixel(x[l].y[0]);
459
- r=a.axisY.convertValueToPixel(x[l].y[1]);m=a.axisX.convertValueToPixel(n);m=a.axisX.reversed?m+a.plotType.totalDataSeries*p/2-(a.previousDataSeriesCount+q)*p<<0:m-a.plotType.totalDataSeries*p/2+(a.previousDataSeriesCount+q)*p<<0;var B=a.axisX.reversed?m-p<<0:m+p<<0;d>r&&(b=d,d=r,r=b);b=x[l].color?x[l].color:h._colorSet[l%h._colorSet.length];aa(c,d,a.axisX.reversed?B:m,r,a.axisX.reversed?m:B,b,0,null,k,!1,!1,!1,h.fillOpacity);b=h.dataPointIds[l];this._eventManager.objectMap[b]={id:b,objectType:"dataPoint",
460
- dataSeriesIndex:s,dataPointIndex:l,x1:d,y1:m,x2:r,y2:B};b=R(b);t&&aa(this._eventManager.ghostCtx,d,a.axisX.reversed?B:m,r,a.axisX.reversed?m:B,b,0,null,!1,!1,!1,!1);if(x[l].indexLabel||h.indexLabel||x[l].indexLabelFormatter||h.indexLabelFormatter)this._indexLabels.push({chartType:"rangeBar",dataPoint:x[l],dataSeries:h,indexKeyword:0,point:{x:x[l].y[1]>=x[l].y[0]?d:r,y:m+(B-m)/2},direction:x[l].y[1]>=x[l].y[0]?-1:1,bounds:{x1:Math.min(d,r),y1:m,x2:Math.max(d,r),y2:B},color:b}),this._indexLabels.push({chartType:"rangeBar",
461
- dataPoint:x[l],dataSeries:h,indexKeyword:1,point:{x:x[l].y[1]>=x[l].y[0]?r:d,y:m+(B-m)/2},direction:x[l].y[1]>=x[l].y[0]?1:-1,bounds:{x1:Math.min(d,r),y1:m,x2:Math.max(d,r),y2:B},color:b})}}}t&&(g.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,
462
- 0,0,this.width,this.height),c.clearRect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.restore());c.restore();return{source:g,dest:this.plotArea.ctx,animationCallback:C.fadeInAnimation,easingFunction:C.easing.easeInQuad,animationBase:0}}};k.prototype.renderRangeArea=function(a){function g(){if(L){for(var a=null,c=r.length-1;0<=c;c--)a=r[c],b.lineTo(a.x,a.y2),e.lineTo(a.x,a.y2);b.closePath();b.globalAlpha=p.fillOpacity;b.fill();b.globalAlpha=1;e.fill();if(0<p.lineThickness){b.beginPath();
463
- b.moveTo(a.x,a.y2);for(c=0;c<r.length;c++)a=r[c],b.lineTo(a.x,a.y2);b.moveTo(r[0].x,r[0].y1);for(c=0;c<r.length;c++)a=r[c],b.lineTo(a.x,a.y1);b.stroke()}b.beginPath();b.moveTo(m,k);e.beginPath();e.moveTo(m,k);L={x:m,y:k};r=[];r.push({x:m,y1:k,y2:y})}}var c=a.targetCanvasCtx||this.plotArea.ctx,b=t?this._preRenderCtx:c;if(!(0>=a.dataSeriesIndexes.length)){var e=this._eventManager.ghostCtx,l=[],f=this.plotArea;b.save();t&&e.save();b.beginPath();b.rect(f.x1,f.y1,f.width,f.height);b.clip();t&&(e.beginPath(),
464
- e.rect(f.x1,f.y1,f.width,f.height),e.clip());for(var d=0;d<a.dataSeriesIndexes.length;d++){var r=[],n=a.dataSeriesIndexes[d],p=this.data[n],q=p.dataPoints,l=p.id;this._eventManager.objectMap[l]={objectType:"dataSeries",dataSeriesIndex:n};l=R(l);e.fillStyle=l;var l=[],s=!0,h=0,m,k,y,u,L=null;if(0<q.length){var w=p._colorSet[h%p._colorSet.length],v=p.lineColor=p.options.lineColor||w,G=v;b.fillStyle=w;b.strokeStyle=v;b.lineWidth=p.lineThickness;var D="solid";if(b.setLineDash){var A=X(p.nullDataLineDashType,
465
- p.lineThickness),D=p.lineDashType,E=X(D,p.lineThickness);b.setLineDash(E)}for(var Z=!0;h<q.length;h++)if(u=q[h].x.getTime?q[h].x.getTime():q[h].x,!(u<a.axisX.dataInfo.viewPortMin||u>a.axisX.dataInfo.viewPortMax&&(!p.connectNullData||!Z)))if(null!==q[h].y&&q[h].y.length&&"number"===typeof q[h].y[0]&&"number"===typeof q[h].y[1]){m=a.axisX.convertValueToPixel(u);k=a.axisY.convertValueToPixel(q[h].y[0]);y=a.axisY.convertValueToPixel(q[h].y[1]);s||Z?(p.connectNullData&&!s?(b.setLineDash&&(p.options.nullDataLineDashType||
466
- D===p.lineDashType&&p.lineDashType!==p.nullDataLineDashType)&&(r[r.length-1].newLineDashArray=E,D=p.nullDataLineDashType,b.setLineDash(A)),b.lineTo(m,k),t&&e.lineTo(m,k),r.push({x:m,y1:k,y2:y})):(b.beginPath(),b.moveTo(m,k),L={x:m,y:k},r=[],r.push({x:m,y1:k,y2:y}),t&&(e.beginPath(),e.moveTo(m,k))),Z=s=!1):(b.lineTo(m,k),r.push({x:m,y1:k,y2:y}),t&&e.lineTo(m,k),0==h%250&&g());u=p.dataPointIds[h];this._eventManager.objectMap[u]={id:u,objectType:"dataPoint",dataSeriesIndex:n,dataPointIndex:h,x1:m,y1:k,
467
- y2:y};h<q.length-1&&(G!==(q[h].lineColor||v)||D!==(q[h].lineDashType||p.lineDashType))&&(g(),G=q[h].lineColor||v,r[r.length-1].newStrokeStyle=G,b.strokeStyle=G,b.setLineDash&&(q[h].lineDashType?(D=q[h].lineDashType,r[r.length-1].newLineDashArray=X(D,p.lineThickness),b.setLineDash(r[r.length-1].newLineDashArray)):(D=p.lineDashType,r[r.length-1].newLineDashArray=E,b.setLineDash(E))));if(0!==q[h].markerSize&&(0<q[h].markerSize||0<p.markerSize)){var W=p.getMarkerProperties(h,m,y,b);l.push(W);var fa=R(u);
468
- t&&l.push({x:m,y:y,ctx:e,type:W.type,size:W.size,color:fa,borderColor:fa,borderThickness:W.borderThickness});W=p.getMarkerProperties(h,m,k,b);l.push(W);fa=R(u);t&&l.push({x:m,y:k,ctx:e,type:W.type,size:W.size,color:fa,borderColor:fa,borderThickness:W.borderThickness})}if(q[h].indexLabel||p.indexLabel||q[h].indexLabelFormatter||p.indexLabelFormatter)this._indexLabels.push({chartType:"rangeArea",dataPoint:q[h],dataSeries:p,indexKeyword:0,point:{x:m,y:k},direction:q[h].y[0]>q[h].y[1]===a.axisY.reversed?
469
- -1:1,color:w}),this._indexLabels.push({chartType:"rangeArea",dataPoint:q[h],dataSeries:p,indexKeyword:1,point:{x:m,y:y},direction:q[h].y[0]>q[h].y[1]===a.axisY.reversed?1:-1,color:w})}else Z||s||g(),Z=!0;g();B.drawMarkers(l)}}t&&(c.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&b.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&b.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&
470
- this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.clearRect(f.x1,f.y1,f.width,f.height),this._eventManager.ghostCtx.restore());b.restore();return{source:c,dest:this.plotArea.ctx,animationCallback:C.xClipAnimation,easingFunction:C.easing.linear,animationBase:0}}};k.prototype.renderRangeSplineArea=function(a){function g(a,c){var g=E(k,2);if(0<g.length){if(0<n.lineThickness){b.strokeStyle=c;b.setLineDash&&b.setLineDash(a);b.beginPath();b.moveTo(g[0].x,g[0].y);for(var h=
471
- 0;h<g.length-3;h+=3){if(g[h].newStrokeStyle||g[h].newLineDashArray)b.stroke(),b.beginPath(),b.moveTo(g[h].x,g[h].y),g[h].newStrokeStyle&&(b.strokeStyle=g[h].newStrokeStyle),g[h].newLineDashArray&&b.setLineDash(g[h].newLineDashArray);b.bezierCurveTo(g[h+1].x,g[h+1].y,g[h+2].x,g[h+2].y,g[h+3].x,g[h+3].y)}}b.beginPath();b.moveTo(g[0].x,g[0].y);t&&(e.beginPath(),e.moveTo(g[0].x,g[0].y));for(h=0;h<g.length-3;h+=3)b.bezierCurveTo(g[h+1].x,g[h+1].y,g[h+2].x,g[h+2].y,g[h+3].x,g[h+3].y),t&&e.bezierCurveTo(g[h+
472
- 1].x,g[h+1].y,g[h+2].x,g[h+2].y,g[h+3].x,g[h+3].y);g=E(y,2);b.lineTo(y[y.length-1].x,y[y.length-1].y);for(h=g.length-1;2<h;h-=3)b.bezierCurveTo(g[h-1].x,g[h-1].y,g[h-2].x,g[h-2].y,g[h-3].x,g[h-3].y),t&&e.bezierCurveTo(g[h-1].x,g[h-1].y,g[h-2].x,g[h-2].y,g[h-3].x,g[h-3].y);b.closePath();b.globalAlpha=n.fillOpacity;b.fill();t&&(e.closePath(),e.fill());b.globalAlpha=1;if(0<n.lineThickness){b.strokeStyle=c;b.setLineDash&&b.setLineDash(a);b.beginPath();b.moveTo(g[0].x,g[0].y);for(var l=h=0;h<g.length-
473
- 3;h+=3,l++){if(k[l].newStrokeStyle||k[l].newLineDashArray)b.stroke(),b.beginPath(),b.moveTo(g[h].x,g[h].y),k[l].newStrokeStyle&&(b.strokeStyle=k[l].newStrokeStyle),k[l].newLineDashArray&&b.setLineDash(k[l].newLineDashArray);b.bezierCurveTo(g[h+1].x,g[h+1].y,g[h+2].x,g[h+2].y,g[h+3].x,g[h+3].y)}g=E(k,2);b.moveTo(g[0].x,g[0].y);for(l=h=0;h<g.length-3;h+=3,l++){if(k[l].newStrokeStyle||k[l].newLineDashArray)b.stroke(),b.beginPath(),b.moveTo(g[h].x,g[h].y),k[l].newStrokeStyle&&(b.strokeStyle=k[l].newStrokeStyle),
474
- k[l].newLineDashArray&&b.setLineDash(k[l].newLineDashArray);b.bezierCurveTo(g[h+1].x,g[h+1].y,g[h+2].x,g[h+2].y,g[h+3].x,g[h+3].y)}b.stroke()}b.beginPath()}}var c=a.targetCanvasCtx||this.plotArea.ctx,b=t?this._preRenderCtx:c;if(!(0>=a.dataSeriesIndexes.length)){var e=this._eventManager.ghostCtx,l=[],f=this.plotArea;b.save();t&&e.save();b.beginPath();b.rect(f.x1,f.y1,f.width,f.height);b.clip();t&&(e.beginPath(),e.rect(f.x1,f.y1,f.width,f.height),e.clip());for(var d=0;d<a.dataSeriesIndexes.length;d++){var r=
475
- a.dataSeriesIndexes[d],n=this.data[r],p=n.dataPoints,l=n.id;this._eventManager.objectMap[l]={objectType:"dataSeries",dataSeriesIndex:r};l=R(l);e.fillStyle=l;var l=[],q=0,s,h,m,k=[],y=[];if(0<p.length){var u=n._colorSet[q%n._colorSet.length],L=n.lineColor=n.options.lineColor||u,w=L;b.fillStyle=u;b.lineWidth=n.lineThickness;var v="solid",G;if(b.setLineDash){var D=X(n.nullDataLineDashType,n.lineThickness),v=n.lineDashType;G=X(v,n.lineThickness)}for(h=!1;q<p.length;q++)if(s=p[q].x.getTime?p[q].x.getTime():
476
- p[q].x,!(s<a.axisX.dataInfo.viewPortMin||s>a.axisX.dataInfo.viewPortMax&&(!n.connectNullData||!h)))if(null!==p[q].y&&p[q].y.length&&"number"===typeof p[q].y[0]&&"number"===typeof p[q].y[1]){s=a.axisX.convertValueToPixel(s);h=a.axisY.convertValueToPixel(p[q].y[0]);m=a.axisY.convertValueToPixel(p[q].y[1]);var A=n.dataPointIds[q];this._eventManager.objectMap[A]={id:A,objectType:"dataPoint",dataSeriesIndex:r,dataPointIndex:q,x1:s,y1:h,y2:m};k[k.length]={x:s,y:h};y[y.length]={x:s,y:m};q<p.length-1&&(w!==
477
- (p[q].lineColor||L)||v!==(p[q].lineDashType||n.lineDashType))&&(w=p[q].lineColor||L,k[k.length-1].newStrokeStyle=w,b.setLineDash&&(p[q].lineDashType?(v=p[q].lineDashType,k[k.length-1].newLineDashArray=X(v,n.lineThickness)):(v=n.lineDashType,k[k.length-1].newLineDashArray=G)));if(0!==p[q].markerSize&&(0<p[q].markerSize||0<n.markerSize)){var K=n.getMarkerProperties(q,s,h,b);l.push(K);var Z=R(A);t&&l.push({x:s,y:h,ctx:e,type:K.type,size:K.size,color:Z,borderColor:Z,borderThickness:K.borderThickness});
478
- K=n.getMarkerProperties(q,s,m,b);l.push(K);Z=R(A);t&&l.push({x:s,y:m,ctx:e,type:K.type,size:K.size,color:Z,borderColor:Z,borderThickness:K.borderThickness})}if(p[q].indexLabel||n.indexLabel||p[q].indexLabelFormatter||n.indexLabelFormatter)this._indexLabels.push({chartType:"rangeSplineArea",dataPoint:p[q],dataSeries:n,indexKeyword:0,point:{x:s,y:h},direction:p[q].y[0]<=p[q].y[1]?-1:1,color:u}),this._indexLabels.push({chartType:"rangeSplineArea",dataPoint:p[q],dataSeries:n,indexKeyword:1,point:{x:s,
479
- y:m},direction:p[q].y[0]<=p[q].y[1]?1:-1,color:u});h=!1}else 0<q&&!h&&(n.connectNullData?b.setLineDash&&(0<k.length&&(n.options.nullDataLineDashType||!p[q-1].lineDashType))&&(k[k.length-1].newLineDashArray=D,v=n.nullDataLineDashType):(g(G,L),k=[],y=[])),h=!0;g(G,L);B.drawMarkers(l)}}t&&(c.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&b.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&b.drawImage(a.axisY.maskCanvas,
480
- 0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.clearRect(f.x1,f.y1,f.width,f.height),this._eventManager.ghostCtx.restore());b.restore();return{source:c,dest:this.plotArea.ctx,animationCallback:C.xClipAnimation,easingFunction:C.easing.linear,animationBase:0}}};k.prototype.renderWaterfall=function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,c=t?this._preRenderCtx:g;if(!(0>=a.dataSeriesIndexes.length)){var b=this._eventManager.ghostCtx,
481
- e=null,l=this.plotArea,f=0,d,r,n,p,q=a.axisY.convertValueToPixel(a.axisY.logarithmic?a.axisY.viewportMinimum:0),f=this.options.dataPointMinWidth?this.dataPointMinWidth:this.options.dataPointWidth?this.dataPointWidth:1;r=this.options.dataPointMaxWidth?this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:Math.min(0.15*this.width,0.9*(this.plotArea.width/a.plotType.totalDataSeries))<<0;var s=a.axisX.dataInfo.minDiff;isFinite(s)||(s=0.3*Math.abs(a.axisX.range));s=this.options.dataPointWidth?
482
- this.dataPointWidth:0.6*(l.width*(a.axisX.logarithmic?Math.log(s)/Math.log(a.axisX.range):Math.abs(s)/Math.abs(a.axisX.range))/a.plotType.totalDataSeries)<<0;this.dataPointMaxWidth&&f>r&&(f=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,r));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&r<f)&&(r=Math.max(this.options.dataPointWidth?this.dataPointWidth:-Infinity,f));s<f&&(s=f);s>r&&(s=r);c.save();t&&this._eventManager.ghostCtx.save();c.beginPath();c.rect(l.x1,l.y1,l.width,l.height);
483
- c.clip();t&&(this._eventManager.ghostCtx.beginPath(),this._eventManager.ghostCtx.rect(l.x1,l.y1,l.width,l.height),this._eventManager.ghostCtx.clip());for(var h=0;h<a.dataSeriesIndexes.length;h++){var m=a.dataSeriesIndexes[h],k=this.data[m],B=k.dataPoints,e=k._colorSet[0];k.risingColor=k.options.risingColor?k.options.risingColor:e;k.fallingColor=k.options.fallingColor?k.options.fallingColor:"#e40a0a";var u="number"===typeof k.options.lineThickness?Math.round(k.lineThickness):1,y=1===Math.round(u)%
484
- 2?-0.5:0;if(0<B.length)for(var w=5<s&&k.bevelEnabled?!0:!1,v=!1,A=null,D=null,f=0;f<B.length;f++)if(B[f].getTime?p=B[f].x.getTime():p=B[f].x,"number"!==typeof B[f].y){if(0<f&&!v&&k.connectNullData)var E=k.options.nullDataLineDashType||!B[f-1].lineDashType?k.nullDataLineDashType:B[f-1].lineDashType;v=!0}else{d=a.axisX.convertValueToPixel(p);r=0===k.dataPointEOs[f].cumulativeSum?q:a.axisY.convertValueToPixel(k.dataPointEOs[f].cumulativeSum);n=0===k.dataPointEOs[f].cumulativeSumYStartValue?q:a.axisY.convertValueToPixel(k.dataPointEOs[f].cumulativeSumYStartValue);
485
- d=a.axisX.reversed?d+a.plotType.totalDataSeries*s/2-(a.previousDataSeriesCount+h)*s<<0:d-a.plotType.totalDataSeries*s/2+(a.previousDataSeriesCount+h)*s<<0;var F=a.axisX.reversed?d-s<<0:d+s<<0;r>n&&(e=r,r=n,n=e);a.axisY.reversed&&(e=r,r=n,n=e);e=k.dataPointIds[f];this._eventManager.objectMap[e]={id:e,objectType:"dataPoint",dataSeriesIndex:m,dataPointIndex:f,x1:d,y1:r,x2:F,y2:n};var Z=B[f].color?B[f].color:0<B[f].y?k.risingColor:k.fallingColor;aa(c,a.axisX.reversed?F:d,a.axisY.reversed?n:r,a.axisX.reversed?
486
- d:F,a.axisY.reversed?r:n,Z,0,Z,w,w,!1,!1,k.fillOpacity);e=R(e);t&&aa(this._eventManager.ghostCtx,a.axisX.reversed?F:d,r,a.axisX.reversed?d:F,n,e,0,null,!1,!1,!1,!1);var W,Z=d;W="undefined"!==typeof B[f].isIntermediateSum&&!0===B[f].isIntermediateSum||"undefined"!==typeof B[f].isCumulativeSum&&!0===B[f].isCumulativeSum?0<B[f].y?r:n:0<B[f].y?n:r;0<f&&A&&(!v||k.connectNullData)&&(v&&c.setLineDash&&c.setLineDash(X(E,u)),c.beginPath(),c.moveTo(A,D-y),c.lineTo(Z,W-y),0<u&&c.stroke(),t&&(b.beginPath(),b.moveTo(A,
487
- D-y),b.lineTo(Z,W-y),0<u&&b.stroke()));v=!1;A=F;D=0<B[f].y?r:n;Z=B[f].lineDashType?B[f].lineDashType:k.options.lineDashType?k.options.lineDashType:"shortDash";c.strokeStyle=B[f].lineColor?B[f].lineColor:k.options.lineColor?k.options.lineColor:"#9e9e9e";c.lineWidth=u;c.setLineDash&&(Z=X(Z,u),c.setLineDash(Z));(B[f].indexLabel||k.indexLabel||B[f].indexLabelFormatter||k.indexLabelFormatter)&&this._indexLabels.push({chartType:"waterfall",dataPoint:B[f],dataSeries:k,point:{x:d+(F-d)/2,y:0<=B[f].y?r:n},
488
- direction:0>B[f].y===a.axisY.reversed?1:-1,bounds:{x1:d,y1:Math.min(r,n),x2:F,y2:Math.max(r,n)},color:e})}}t&&(g.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(l.x1,l.y1,l.width,
489
- l.height),this._eventManager.ghostCtx.restore());c.restore();return{source:g,dest:this.plotArea.ctx,animationCallback:C.fadeInAnimation,easingFunction:C.easing.easeInQuad,animationBase:0}}};var d=function(a,g,c,b,e,l,f,d,r){if(!(0>c)){"undefined"===typeof d&&(d=1);if(!t){var n=Number((f%(2*Math.PI)).toFixed(8));Number((l%(2*Math.PI)).toFixed(8))===n&&(f-=1E-4)}a.save();a.globalAlpha=d;"pie"===e?(a.beginPath(),a.moveTo(g.x,g.y),a.arc(g.x,g.y,c,l,f,!1),a.fillStyle=b,a.strokeStyle="white",a.lineWidth=
490
- 2,a.closePath(),a.fill()):"doughnut"===e&&(a.beginPath(),a.arc(g.x,g.y,c,l,f,!1),0<=r&&a.arc(g.x,g.y,r*c,f,l,!0),a.closePath(),a.fillStyle=b,a.strokeStyle="white",a.lineWidth=2,a.fill());a.globalAlpha=1;a.restore()}};k.prototype.renderPie=function(a){function g(){if(n&&p){for(var a=0,b=0,c=0,g=0,e=0;e<p.length;e++){var l=p[e],d=n.dataPointIds[e];h[e].id=d;h[e].objectType="dataPoint";h[e].dataPointIndex=e;h[e].dataSeriesIndex=0;var q=h[e],r={percent:null,total:null},z=null,r=k.getPercentAndTotal(n,
491
- l);if(n.indexLabelFormatter||l.indexLabelFormatter)z={chart:k.options,dataSeries:n,dataPoint:l,total:r.total,percent:r.percent};r=l.indexLabelFormatter?l.indexLabelFormatter(z):l.indexLabel?k.replaceKeywordsWithValue(l.indexLabel,l,n,e):n.indexLabelFormatter?n.indexLabelFormatter(z):n.indexLabel?k.replaceKeywordsWithValue(n.indexLabel,l,n,e):l.label?l.label:"";k._eventManager.objectMap[d]=q;q.center={x:w.x,y:w.y};q.y=l.y;q.radius=D;q.percentInnerRadius=F;q.indexLabelText=r;q.indexLabelPlacement=n.indexLabelPlacement;
492
- q.indexLabelLineColor=l.indexLabelLineColor?l.indexLabelLineColor:n.options.indexLabelLineColor?n.options.indexLabelLineColor:l.color?l.color:n._colorSet[e%n._colorSet.length];q.indexLabelLineThickness=f(l.indexLabelLineThickness)?n.indexLabelLineThickness:l.indexLabelLineThickness;q.indexLabelLineDashType=l.indexLabelLineDashType?l.indexLabelLineDashType:n.indexLabelLineDashType;q.indexLabelFontColor=l.indexLabelFontColor?l.indexLabelFontColor:n.indexLabelFontColor;q.indexLabelFontStyle=l.indexLabelFontStyle?
493
- l.indexLabelFontStyle:n.indexLabelFontStyle;q.indexLabelFontWeight=l.indexLabelFontWeight?l.indexLabelFontWeight:n.indexLabelFontWeight;q.indexLabelFontSize=f(l.indexLabelFontSize)?n.indexLabelFontSize:l.indexLabelFontSize;q.indexLabelFontFamily=l.indexLabelFontFamily?l.indexLabelFontFamily:n.indexLabelFontFamily;q.indexLabelBackgroundColor=l.indexLabelBackgroundColor?l.indexLabelBackgroundColor:n.options.indexLabelBackgroundColor?n.options.indexLabelBackgroundColor:n.indexLabelBackgroundColor;q.indexLabelMaxWidth=
494
- l.indexLabelMaxWidth?l.indexLabelMaxWidth:n.indexLabelMaxWidth?n.indexLabelMaxWidth:0.33*s.width;q.indexLabelWrap="undefined"!==typeof l.indexLabelWrap?l.indexLabelWrap:n.indexLabelWrap;q.indexLabelTextAlign=l.indexLabelTextAlign?l.indexLabelTextAlign:n.indexLabelTextAlign?n.indexLabelTextAlign:"left";q.startAngle=0===e?n.startAngle?n.startAngle/180*Math.PI:0:h[e-1].endAngle;q.startAngle=(q.startAngle+2*Math.PI)%(2*Math.PI);q.endAngle=q.startAngle+2*Math.PI/v*Math.abs(l.y);l=(q.endAngle+q.startAngle)/
495
- 2;l=(l+2*Math.PI)%(2*Math.PI);q.midAngle=l;if(q.midAngle>Math.PI/2-u&&q.midAngle<Math.PI/2+u){if(0===a||h[c].midAngle>q.midAngle)c=e;a++}else if(q.midAngle>3*Math.PI/2-u&&q.midAngle<3*Math.PI/2+u){if(0===b||h[g].midAngle>q.midAngle)g=e;b++}q.hemisphere=l>Math.PI/2&&l<=3*Math.PI/2?"left":"right";q.indexLabelTextBlock=new la(k.plotArea.ctx,{fontSize:q.indexLabelFontSize,fontFamily:q.indexLabelFontFamily,fontColor:q.indexLabelFontColor,fontStyle:q.indexLabelFontStyle,fontWeight:q.indexLabelFontWeight,
496
- textAlign:q.indexLabelTextAlign,backgroundColor:q.indexLabelBackgroundColor,maxWidth:q.indexLabelMaxWidth,maxHeight:q.indexLabelWrap?5*q.indexLabelFontSize:1.5*q.indexLabelFontSize,text:q.indexLabelText,padding:0,textBaseline:"middle"});q.indexLabelTextBlock.measureText()}d=l=0;r=!1;for(e=0;e<p.length;e++)q=h[(c+e)%p.length],1<a&&(q.midAngle>Math.PI/2-u&&q.midAngle<Math.PI/2+u)&&(l<=a/2&&!r?(q.hemisphere="right",l++):(q.hemisphere="left",r=!0));r=!1;for(e=0;e<p.length;e++)q=h[(g+e)%p.length],1<b&&
497
- (q.midAngle>3*Math.PI/2-u&&q.midAngle<3*Math.PI/2+u)&&(d<=b/2&&!r?(q.hemisphere="left",d++):(q.hemisphere="right",r=!0))}}function c(a,b){var c=k.plotArea.ctx;c.clearRect(s.x1,s.y1,s.width,s.height);c.fillStyle=k.backgroundColor;c.fillRect(s.x1,s.y1,s.width,s.height);for(c=0;c<p.length;c++){var g=h[c].startAngle,e=h[c].endAngle;if(e>g){var l=0.07*D*Math.cos(h[c].midAngle),f=0.07*D*Math.sin(h[c].midAngle),r=!1;if(p[c].exploded){if(1E-9<Math.abs(h[c].center.x-(w.x+l))||1E-9<Math.abs(h[c].center.y-(w.y+
498
- f)))h[c].center.x=w.x+l*a,h[c].center.y=w.y+f*a,r=!0}else if(0<Math.abs(h[c].center.x-w.x)||0<Math.abs(h[c].center.y-w.y))h[c].center.x=w.x+l*(1-a),h[c].center.y=w.y+f*(1-a),r=!0;r&&b&&(l={},l.dataSeries=n,l.dataPoint=n.dataPoints[c],l.index=c,k.toolTip.highlightObjects([l]));d(k.plotArea.ctx,h[c].center,h[c].radius,p[c].color?p[c].color:n._colorSet[c%n._colorSet.length],n.type,g,e,n.fillOpacity,h[c].percentInnerRadius)}}c=k.plotArea.ctx;c.save();c.fillStyle="black";c.strokeStyle="grey";c.textBaseline=
499
- "middle";c.lineJoin="round";for(g=g=0;g<p.length;g++)e=h[g],e.indexLabelText&&(e.indexLabelTextBlock.y-=e.indexLabelTextBlock.height/2-e.indexLabelTextBlock.fontSize/2,l=0,l="left"===e.hemisphere?"inside"!==n.indexLabelPlacement?-(e.indexLabelTextBlock.width+q):-e.indexLabelTextBlock.width/2:"inside"!==n.indexLabelPlacement?q:-e.indexLabelTextBlock.width/2,e.indexLabelTextBlock.x+=l,e.indexLabelTextBlock.render(!0),e.indexLabelTextBlock.x-=l,e.indexLabelTextBlock.y+=e.indexLabelTextBlock.height/2-
500
- e.indexLabelTextBlock.fontSize/2,"inside"!==e.indexLabelPlacement&&0<e.indexLabelLineThickness&&(l=e.center.x+D*Math.cos(e.midAngle),f=e.center.y+D*Math.sin(e.midAngle),c.strokeStyle=e.indexLabelLineColor,c.lineWidth=e.indexLabelLineThickness,c.setLineDash&&c.setLineDash(X(e.indexLabelLineDashType,e.indexLabelLineThickness)),c.beginPath(),c.moveTo(l,f),c.lineTo(e.indexLabelTextBlock.x,e.indexLabelTextBlock.y),c.lineTo(e.indexLabelTextBlock.x+("left"===e.hemisphere?-q:q),e.indexLabelTextBlock.y),c.stroke()),
501
- c.lineJoin="miter");c.save()}function b(a,b){var c=0,c=a.indexLabelTextBlock.y-a.indexLabelTextBlock.height/2,g=a.indexLabelTextBlock.y+a.indexLabelTextBlock.height/2,e=b.indexLabelTextBlock.y-b.indexLabelTextBlock.height/2,l=b.indexLabelTextBlock.y+b.indexLabelTextBlock.height/2;return c=b.indexLabelTextBlock.y>a.indexLabelTextBlock.y?e-g:c-l}function e(a){for(var c=null,g=1;g<p.length;g++)if(c=(a+g+h.length)%h.length,h[c].hemisphere!==h[a].hemisphere){c=null;break}else if(h[c].indexLabelText&&c!==
502
- a&&(0>b(h[c],h[a])||("right"===h[a].hemisphere?h[c].indexLabelTextBlock.y>=h[a].indexLabelTextBlock.y:h[c].indexLabelTextBlock.y<=h[a].indexLabelTextBlock.y)))break;else c=null;return c}function l(a,c,g){g=(g||0)+1;if(1E3<g)return 0;c=c||0;var f=0,d=w.y-1*t,n=w.y+1*t;if(0<=a&&a<p.length){var q=h[a];if(0>c&&q.indexLabelTextBlock.y<d||0<c&&q.indexLabelTextBlock.y>n)return 0;var s=0,r=0,r=s=s=0;0>c?q.indexLabelTextBlock.y-q.indexLabelTextBlock.height/2>d&&q.indexLabelTextBlock.y-q.indexLabelTextBlock.height/
503
- 2+c<d&&(c=-(d-(q.indexLabelTextBlock.y-q.indexLabelTextBlock.height/2+c))):q.indexLabelTextBlock.y+q.indexLabelTextBlock.height/2<d&&q.indexLabelTextBlock.y+q.indexLabelTextBlock.height/2+c>n&&(c=q.indexLabelTextBlock.y+q.indexLabelTextBlock.height/2+c-n);c=q.indexLabelTextBlock.y+c;d=0;d="right"===q.hemisphere?w.x+Math.sqrt(Math.pow(t,2)-Math.pow(c-w.y,2)):w.x-Math.sqrt(Math.pow(t,2)-Math.pow(c-w.y,2));r=w.x+D*Math.cos(q.midAngle);s=w.y+D*Math.sin(q.midAngle);s=Math.sqrt(Math.pow(d-r,2)+Math.pow(c-
504
- s,2));r=Math.acos(D/t);s=Math.acos((t*t+D*D-s*s)/(2*D*t));c=s<r?c-q.indexLabelTextBlock.y:0;d=null;for(n=1;n<p.length;n++)if(d=(a-n+h.length)%h.length,h[d].hemisphere!==h[a].hemisphere){d=null;break}else if(h[d].indexLabelText&&h[d].hemisphere===h[a].hemisphere&&d!==a&&(0>b(h[d],h[a])||("right"===h[a].hemisphere?h[d].indexLabelTextBlock.y<=h[a].indexLabelTextBlock.y:h[d].indexLabelTextBlock.y>=h[a].indexLabelTextBlock.y)))break;else d=null;r=d;s=e(a);n=d=0;0>c?(n="right"===q.hemisphere?r:s,f=c,null!==
505
- n&&(r=-c,c=q.indexLabelTextBlock.y-q.indexLabelTextBlock.height/2-(h[n].indexLabelTextBlock.y+h[n].indexLabelTextBlock.height/2),c-r<C&&(d=-r,n=l(n,d,g+1),+n.toFixed(y)>+d.toFixed(y)&&(f=c>C?-(c-C):-(r-(n-d)))))):0<c&&(n="right"===q.hemisphere?s:r,f=c,null!==n&&(r=c,c=h[n].indexLabelTextBlock.y-h[n].indexLabelTextBlock.height/2-(q.indexLabelTextBlock.y+q.indexLabelTextBlock.height/2),c-r<C&&(d=r,n=l(n,d,g+1),+n.toFixed(y)<+d.toFixed(y)&&(f=c>C?c-C:r-(d-n)))));f&&(g=q.indexLabelTextBlock.y+f,c=0,c=
506
- "right"===q.hemisphere?w.x+Math.sqrt(Math.pow(t,2)-Math.pow(g-w.y,2)):w.x-Math.sqrt(Math.pow(t,2)-Math.pow(g-w.y,2)),q.midAngle>Math.PI/2-u&&q.midAngle<Math.PI/2+u?(d=(a-1+h.length)%h.length,d=h[d],a=h[(a+1+h.length)%h.length],"left"===q.hemisphere&&"right"===d.hemisphere&&c>d.indexLabelTextBlock.x?c=d.indexLabelTextBlock.x-15:"right"===q.hemisphere&&("left"===a.hemisphere&&c<a.indexLabelTextBlock.x)&&(c=a.indexLabelTextBlock.x+15)):q.midAngle>3*Math.PI/2-u&&q.midAngle<3*Math.PI/2+u&&(d=(a-1+h.length)%
507
- h.length,d=h[d],a=h[(a+1+h.length)%h.length],"right"===q.hemisphere&&"left"===d.hemisphere&&c<d.indexLabelTextBlock.x?c=d.indexLabelTextBlock.x+15:"left"===q.hemisphere&&("right"===a.hemisphere&&c>a.indexLabelTextBlock.x)&&(c=a.indexLabelTextBlock.x-15)),q.indexLabelTextBlock.y=g,q.indexLabelTextBlock.x=c,q.indexLabelAngle=Math.atan2(q.indexLabelTextBlock.y-w.y,q.indexLabelTextBlock.x-w.x))}return f}function r(){var a=k.plotArea.ctx;a.fillStyle="grey";a.strokeStyle="grey";a.font="16px Arial";a.textBaseline=
508
- "middle";for(var c=a=0,g=0,f=!0,c=0;10>c&&(1>c||0<g);c++){if(n.radius||!n.radius&&"undefined"!==typeof n.innerRadius&&null!==n.innerRadius&&D-g<=E)f=!1;f&&(D-=g);g=0;if("inside"!==n.indexLabelPlacement){t=D*B;for(a=0;a<p.length;a++){var d=h[a];d.indexLabelTextBlock.x=w.x+t*Math.cos(d.midAngle);d.indexLabelTextBlock.y=w.y+t*Math.sin(d.midAngle);d.indexLabelAngle=d.midAngle;d.radius=D;d.percentInnerRadius=F}for(var z,m,a=0;a<p.length;a++){var d=h[a],u=e(a);if(null!==u){z=h[a];m=h[u];var v=0,v=b(z,m)-
509
- C;if(0>v){for(var na=m=0,A=0;A<p.length;A++)A!==a&&h[A].hemisphere===d.hemisphere&&(h[A].indexLabelTextBlock.y<d.indexLabelTextBlock.y?m++:na++);m=v/(m+na||1)*na;var na=-1*(v-m),G=A=0;"right"===d.hemisphere?(A=l(a,m),na=-1*(v-A),G=l(u,na),+G.toFixed(y)<+na.toFixed(y)&&+A.toFixed(y)<=+m.toFixed(y)&&l(a,-(na-G))):(A=l(u,m),na=-1*(v-A),G=l(a,na),+G.toFixed(y)<+na.toFixed(y)&&+A.toFixed(y)<=+m.toFixed(y)&&l(u,-(na-G)))}}}}else for(a=0;a<p.length;a++)d=h[a],t="pie"===n.type?0.7*D:0.85*D,u=w.x+t*Math.cos(d.midAngle),
510
- m=w.y+t*Math.sin(d.midAngle),d.indexLabelTextBlock.x=u,d.indexLabelTextBlock.y=m;for(a=0;a<p.length;a++)if(d=h[a],u=d.indexLabelTextBlock.measureText(),0!==u.height&&0!==u.width)u=u=0,"right"===d.hemisphere?(u=s.x2-(d.indexLabelTextBlock.x+d.indexLabelTextBlock.width+q),u*=-1):u=s.x1-(d.indexLabelTextBlock.x-d.indexLabelTextBlock.width-q),0<u&&(!f&&d.indexLabelText&&(m="right"===d.hemisphere?s.x2-d.indexLabelTextBlock.x:d.indexLabelTextBlock.x-s.x1,0.3*d.indexLabelTextBlock.maxWidth>m?d.indexLabelText=
511
- "":d.indexLabelTextBlock.maxWidth=0.85*m,0.3*d.indexLabelTextBlock.maxWidth<m&&(d.indexLabelTextBlock.x-="right"===d.hemisphere?2:-2)),Math.abs(d.indexLabelTextBlock.y-d.indexLabelTextBlock.height/2-w.y)<D||Math.abs(d.indexLabelTextBlock.y+d.indexLabelTextBlock.height/2-w.y)<D)&&(u/=Math.abs(Math.cos(d.indexLabelAngle)),9<u&&(u*=0.3),u>g&&(g=u)),u=u=0,0<d.indexLabelAngle&&d.indexLabelAngle<Math.PI?(u=s.y2-(d.indexLabelTextBlock.y+d.indexLabelTextBlock.height/2+5),u*=-1):u=s.y1-(d.indexLabelTextBlock.y-
512
- d.indexLabelTextBlock.height/2-5),0<u&&(!f&&d.indexLabelText&&(m=0<d.indexLabelAngle&&d.indexLabelAngle<Math.PI?-1:1,0===l(a,u*m)&&l(a,2*m)),Math.abs(d.indexLabelTextBlock.x-w.x)<D&&(u/=Math.abs(Math.sin(d.indexLabelAngle)),9<u&&(u*=0.3),u>g&&(g=u)));var K=function(a,b,c){for(var g=[],e=0;g.push(h[b]),b!==c;b=(b+1+p.length)%p.length);g.sort(function(a,b){return a.y-b.y});for(b=0;b<g.length;b++)if(c=g[b],e<0.7*a)e+=c.indexLabelTextBlock.height,c.indexLabelTextBlock.text="",c.indexLabelText="",c.indexLabelTextBlock.measureText();
513
- else break};(function(){for(var a=-1,c=-1,g=0,l=!1,f=0;f<p.length;f++)if(l=!1,z=h[f],z.indexLabelText){var d=e(f);if(null!==d){var n=h[d];v=0;v=b(z,n);var s;if(s=0>v){s=z.indexLabelTextBlock.x;var r=z.indexLabelTextBlock.y-z.indexLabelTextBlock.height/2,m=z.indexLabelTextBlock.y+z.indexLabelTextBlock.height/2,u=n.indexLabelTextBlock.y-n.indexLabelTextBlock.height/2,k=n.indexLabelTextBlock.x+n.indexLabelTextBlock.width,C=n.indexLabelTextBlock.y+n.indexLabelTextBlock.height/2;s=z.indexLabelTextBlock.x+
514
- z.indexLabelTextBlock.width<n.indexLabelTextBlock.x-q||s>k+q||r>C+q||m<u-q?!1:!0}s?(0>a&&(a=f),d!==a&&(c=d,g+=-v),0===f%Math.max(p.length/10,3)&&(l=!0)):l=!0;l&&(0<g&&0<=a&&0<=c)&&(K(g,a,c),c=a=-1,g=0)}}0<g&&K(g,a,c)})()}}function m(){k.plotArea.layoutManager.reset();k.title&&(k.title.dockInsidePlotArea||"center"===k.title.horizontalAlign&&"center"===k.title.verticalAlign)&&k.title.render();if(k.subtitles)for(var a=0;a<k.subtitles.length;a++){var b=k.subtitles[a];(b.dockInsidePlotArea||"center"===
515
- b.horizontalAlign&&"center"===b.verticalAlign)&&b.render()}k.legend&&(k.legend.dockInsidePlotArea||"center"===k.legend.horizontalAlign&&"center"===k.legend.verticalAlign)&&(k.legend.setLayout(),k.legend.render())}var k=this;if(!(0>=a.dataSeriesIndexes.length)){var n=this.data[a.dataSeriesIndexes[0]],p=n.dataPoints,q=10,s=this.plotArea,h=n.dataPointEOs,C=2,t,B=1.3,u=20/180*Math.PI,y=6,w={x:(s.x2+s.x1)/2,y:(s.y2+s.y1)/2},v=0;a=!1;for(var A=0;A<p.length;A++)v+=Math.abs(p[A].y),!a&&("undefined"!==typeof p[A].indexLabel&&
516
- null!==p[A].indexLabel&&0<p[A].indexLabel.toString().length)&&(a=!0),!a&&("undefined"!==typeof p[A].label&&null!==p[A].label&&0<p[A].label.toString().length)&&(a=!0);if(0!==v){a=a||"undefined"!==typeof n.indexLabel&&null!==n.indexLabel&&0<n.indexLabel.toString().length;var D="inside"!==n.indexLabelPlacement&&a?0.75*Math.min(s.width,s.height)/2:0.92*Math.min(s.width,s.height)/2;n.radius&&(D=Va(n.radius,D));var E="undefined"!==typeof n.innerRadius&&null!==n.innerRadius?Va(n.innerRadius,D):0.7*D;n.radius=
517
- D;"doughnut"===n.type&&(n.innerRadius=E);var F=Math.min(E/D,(D-1)/D);this.pieDoughnutClickHandler=function(a){k.isAnimating||!f(a.dataSeries.explodeOnClick)&&!a.dataSeries.explodeOnClick||(a=a.dataPoint,a.exploded=a.exploded?!1:!0,1<this.dataPoints.length&&k._animator.animate(0,500,function(a){c(a,!0);m();k.dispatchEvent("dataAnimationIterationEnd",{chart:k});k.dispatchEvent("dataAnimationEnd",{chart:k})}))};g();r();r();r();r();this.disableToolTip=!0;this._animator.animate(0,this.animatedRender?this.animationDuration:
518
- 0,function(a){var b=k.plotArea.ctx;b.clearRect(s.x1,s.y1,s.width,s.height);b.fillStyle=k.backgroundColor;b.fillRect(s.x1,s.y1,s.width,s.height);for(var b=h[0].startAngle+2*Math.PI*a,c=0;c<p.length;c++){var g=0===c?h[c].startAngle:e,e=g+(h[c].endAngle-h[c].startAngle),l=!1;e>b&&(e=b,l=!0);var f=p[c].color?p[c].color:n._colorSet[c%n._colorSet.length];e>g&&d(k.plotArea.ctx,h[c].center,h[c].radius,f,n.type,g,e,n.fillOpacity,h[c].percentInnerRadius);if(l)break}m();k.dispatchEvent("dataAnimationIterationEnd",
519
- {chart:k});1<=a&&k.dispatchEvent("dataAnimationEnd",{chart:k})},function(){k.disableToolTip=!1;k._animator.animate(0,k.animatedRender?500:0,function(a){c(a,!1);m();k.dispatchEvent("dataAnimationIterationEnd",{chart:k})});k.dispatchEvent("dataAnimationEnd",{chart:k})})}}};var r=function(a,g,c,b){"undefined"===typeof c&&(c=1);0>=Math.round(g.y4-g.y1)||(a.save(),a.globalAlpha=c,a.beginPath(),a.moveTo(Math.round(g.x1),Math.round(g.y1)),a.lineTo(Math.round(g.x2),Math.round(g.y2)),a.lineTo(Math.round(g.x3),
520
- Math.round(g.y3)),a.lineTo(Math.round(g.x4),Math.round(g.y4)),"undefined"!==g.x5&&(a.lineTo(Math.round(g.x5),Math.round(g.y5)),a.lineTo(Math.round(g.x6),Math.round(g.y6))),a.closePath(),a.fillStyle=b?b:g.color,a.fill(),a.globalAplha=1,a.restore())};k.prototype.renderFunnel=function(a){function g(){for(var a=0,b=[],c=0;c<v.length;c++){if("undefined"===typeof v[c].y)return-1;v[c].y="number"===typeof v[c].y?v[c].y:0;a+=Math.abs(v[c].y)}if(0===a)return-1;for(c=b[0]=0;c<v.length;c++)b.push(Math.abs(v[c].y)*
521
- E/a);return b}function c(){var a=$,b=ba,c=S,g=V,e,l;e=O;l=P-M;g=Math.abs((l-e)*(b-a+(g-c))/2);c=V-S;e=l-e;l=c*(l-P);l=Math.abs(l);l=g+l;for(var g=[],h=0,f=0;f<v.length;f++){if("undefined"===typeof v[f].y)return-1;v[f].y="number"===typeof v[f].y?v[f].y:0;h+=Math.abs(v[f].y)}if(0===h)return-1;for(var d=g[0]=0,n=0,p,q,b=b-a,d=!1,f=0;f<v.length;f++)a=Math.abs(v[f].y)*l/h,d?p=0==Number(c.toFixed(3))?0:a/c:(q=ga*ga*b*b-4*Math.abs(ga)*a,0>q?(q=c,d=(b+q)*(e-n)/2,a-=d,p=e-n,n+=e-n,p+=0==q?0:a/q,n+=a/q,d=!0):
522
- (p=(Math.abs(ga)*b-Math.sqrt(q))/2,q=b-2*p/Math.abs(ga),n+=p,n>e&&(n-=p,q=c,d=(b+q)*(e-n)/2,a-=d,p=e-n,n+=e-n,p+=a/q,n+=a/q,d=!0),b=q)),g.push(p);return g}function b(){if(u&&v){for(var a,b,c,g,e,l,d,n,p,q,s,r,z,m,k,C=[],x=[],B={percent:null,total:null},w=null,J=0;J<v.length;J++)k=U[J],k="undefined"!==typeof k.x5?(k.y2+k.y4)/2:(k.y2+k.y3)/2,k=h(k).x2+1,C[J]=Q-k-R;k=0.5*R;for(var J=0,na=v.length-1;J<v.length||0<=na;J++,na--){b=u.reversed?v[na]:v[J];a=b.color?b.color:u.reversed?u._colorSet[(v.length-
523
- 1-J)%u._colorSet.length]:u._colorSet[J%u._colorSet.length];c=b.indexLabelPlacement||u.indexLabelPlacement||"outside";m=b.indexLabelTextAlign||u.indexLabelTextAlign||"left";g=b.indexLabelBackgroundColor||u.indexLabelBackgroundColor||(t?"transparent":null);e=b.indexLabelFontColor||u.indexLabelFontColor||"#979797";l=f(b.indexLabelFontSize)?u.indexLabelFontSize:b.indexLabelFontSize;d=b.indexLabelFontStyle||u.indexLabelFontStyle||"normal";n=b.indexLabelFontFamily||u.indexLabelFontFamily||"arial";p=b.indexLabelFontWeight||
524
- u.indexLabelFontWeight||"normal";a=b.indexLabelLineColor||u.options.indexLabelLineColor||a;q="number"===typeof b.indexLabelLineThickness?b.indexLabelLineThickness:"number"===typeof u.indexLabelLineThickness?u.indexLabelLineThickness:2;s=b.indexLabelLineDashType||u.indexLabelLineDashType||"solid";r="undefined"!==typeof b.indexLabelWrap?b.indexLabelWrap:"undefined"!==typeof u.indexLabelWrap?u.indexLabelWrap:!0;z=u.dataPointIds[J];y._eventManager.objectMap[z]={id:z,objectType:"dataPoint",dataPointIndex:J,
525
- dataSeriesIndex:0,funnelSection:U[u.reversed?v.length-1-J:J]};"inside"===u.indexLabelPlacement&&(C[J]=J!==ha?u.reversed?U[J].x2-U[J].x1:U[J].x3-U[J].x4:U[J].x3-U[J].x6,20>C[J]&&(C[J]=J!==ha?u.reversed?U[J].x3-U[J].x4:U[J].x2-U[J].x1:U[J].x2-U[J].x1,C[J]/=2));z=b.indexLabelMaxWidth?b.indexLabelMaxWidth:u.options.indexLabelMaxWidth?u.indexLabelMaxWidth:C[J];if(z>C[J]||0>z)z=C[J];x[J]="inside"===u.indexLabelPlacement?r?Math.max(U[J].height,l):1.5*l:!1;B=y.getPercentAndTotal(u,b);if(u.indexLabelFormatter||
526
- b.indexLabelFormatter)w={chart:y.options,dataSeries:u,dataPoint:b,total:B.total,percent:B.percent};b=b.indexLabelFormatter?b.indexLabelFormatter(w):b.indexLabel?y.replaceKeywordsWithValue(b.indexLabel,b,u,J):u.indexLabelFormatter?u.indexLabelFormatter(w):u.indexLabel?y.replaceKeywordsWithValue(u.indexLabel,b,u,J):b.label?b.label:"";0>=q&&(q=0);1E3>z&&1E3-z<k&&(z+=1E3-z);N.roundRect||Ca(N);c=new la(N,{fontSize:l,fontFamily:n,fontColor:e,fontStyle:d,fontWeight:p,horizontalAlign:c,textAlign:m,backgroundColor:g,
527
- maxWidth:z,maxHeight:!1===x[J]?r?4.28571429*l:1.5*l:x[J],text:b,padding:ia,textBaseline:"middle"});c.measureText();c.height=c.height===2*c.padding?0:c.height;c.width=c.width===2*c.padding?0:c.width;I.push({textBlock:c,id:u.reversed?na:J,isDirty:!1,lineColor:a,lineThickness:q,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,g,e,l=[];e=!1;c=0;for(var h,f=Q-ba-R/2,f=u.options.indexLabelMaxWidth?u.indexLabelMaxWidth>
528
- f?f:u.indexLabelMaxWidth:f,d=I.length-1;0<=d;d--){h=v[I[d].id];c=I[d];g=c.textBlock;b=(a=s(d)<U.length?I[s(d)]:null)?a.textBlock:null;c=c.height;a&&g.y+c+ia>b.y&&(e=!0);c=h.indexLabelMaxWidth||f;if(c>f||0>c)c=f;l.push(c)}if(e)for(d=I.length-1;0<=d;d--)a=U[d],I[d].textBlock.maxWidth=l[l.length-(d+1)],I[d].textBlock.measureText(),I[d].textBlock.height=I[d].textBlock.height===2*I[d].textBlock.padding?0:I[d].textBlock.height,I[d].textBlock.width=I[d].textBlock.width===2*I[d].textBlock.padding?0:I[d].textBlock.width,
529
- I[d].textBlock.x=Q-f,c=I[d].textBlock.height<I[d].textBlock.maxHeight?I[d].textBlock.height:I[d].textBlock.maxHeight,e=I[d].textBlock.width<I[d].textBlock.maxWidth?I[d].textBlock.width:I[d].textBlock.maxWidth,I[d].height=c,I[d].width=e,c="undefined"!==typeof a.x5?(a.y2+a.y4)/2:(a.y2+a.y3)/2,I[d].textBlock.y=c-I[d].height/2,u.reversed?(I[d].textBlock.y+I[d].height>T+A&&(I[d].textBlock.y=T+A-I[d].height),I[d].textBlock.y<aa-A&&(I[d].textBlock.y=aa-A)):(I[d].textBlock.y<T-A&&(I[d].textBlock.y=T-A),I[d].textBlock.y+
530
- I[d].height>aa+A&&(I[d].textBlock.y=aa+A-I[d].height))}function l(){var a,b,c,g;if("inside"!==u.indexLabelPlacement)for(var e=0;e<U.length;e++)0==I[e].textBlock.text.length?I[e].isDirty=!0:(a=U[e],c="undefined"!==typeof a.x5?(a.y2+a.y4)/2:(a.y2+a.y3)/2,b=u.reversed?"undefined"!==typeof a.x5?c>ca?h(c).x2+1:(a.x2+a.x3)/2+1:(a.x2+a.x3)/2+1:"undefined"!==typeof a.x5?c<ca?h(c).x2+1:(a.x4+a.x3)/2+1:(a.x2+a.x3)/2+1,I[e].textBlock.x=b+R,I[e].textBlock.y=c-I[e].height/2,u.reversed?(I[e].textBlock.y+I[e].height>
531
- T+A&&(I[e].textBlock.y=T+A-I[e].height),I[e].textBlock.y<aa-A&&(I[e].textBlock.y=aa-A)):(I[e].textBlock.y<T-A&&(I[e].textBlock.y=T-A),I[e].textBlock.y+I[e].height>aa+A&&(I[e].textBlock.y=aa+A-I[e].height)));else for(e=0;e<U.length;e++)0==I[e].textBlock.text.length?I[e].isDirty=!0:(a=U[e],b=a.height,c=I[e].height,g=I[e].width,b>=c?(b=e!=ha?(a.x4+a.x3)/2-g/2:(a.x5+a.x4)/2-g/2,c=e!=ha?(a.y1+a.y3)/2-c/2:(a.y1+a.y4)/2-c/2,I[e].textBlock.x=b,I[e].textBlock.y=c):I[e].isDirty=!0)}function d(){function a(b,
532
- c){var g;if(0>b||b>=I.length)return 0;var e,l=I[b].textBlock;if(0>c){c*=-1;e=q(b);g=m(e,b);if(g>=c)return l.y-=c,c;if(0==b)return 0<g&&(l.y-=g),g;g+=a(e,-(c-g));0<g&&(l.y-=g);return g}e=s(b);g=m(b,e);if(g>=c)return l.y+=c,c;if(b==U.length-1)return 0<g&&(l.y+=g),g;g+=a(e,c-g);0<g&&(l.y+=g);return g}function b(){var a,g,e,l,h=0,d;l=(P-O+2*A)/p;d=p;for(var f,n=1;n<d;n++){e=n*l;for(var r=I.length-1;0<=r;r--)!I[r].isDirty&&(I[r].textBlock.y<e&&I[r].textBlock.y+I[r].height>e)&&(f=s(r),!(f>=I.length-1)&&
533
- I[r].textBlock.y+I[r].height+ia>I[f].textBlock.y&&(I[r].textBlock.y=I[r].textBlock.y+I[r].height-e>e-I[r].textBlock.y?e+1:e-I[r].height-1))}for(f=U.length-1;0<f;f--)if(!I[f].isDirty){e=q(f);if(0>e&&(e=0,I[e].isDirty))break;if(I[f].textBlock.y<I[e].textBlock.y+I[e].height){g=g||f;l=f;for(d=0;I[l].textBlock.y<I[e].textBlock.y+I[e].height+ia;){a=a||I[l].textBlock.y+I[l].height;d+=I[l].height;d+=ia;l=e;if(0>=l){l=0;d+=I[l].height;break}e=q(l);if(0>e){l=0;d+=I[l].height;break}}if(l!=f){h=I[l].textBlock.y;
534
- a-=h;a=d-a;h=c(a,g,l);break}}}return h}function c(a,b,g){var e=[],l=0,h=0;for(a=Math.abs(a);g<=b;g++)e.push(U[g]);e.sort(function(a,b){return a.height-b.height});for(g=0;g<e.length;g++)if(b=e[g],l<a)h++,l+=I[b.id].height+ia,I[b.id].textBlock.text="",I[b.id].indexLabelText="",I[b.id].isDirty=!0,I[b.id].textBlock.measureText();else break;return h}for(var g,e,l,h,f,n,p=1,r=0;r<2*p;r++){for(var z=I.length-1;0<=z&&!(0<=q(z)&&q(z),l=I[z],h=l.textBlock,n=(f=s(z)<U.length?I[s(z)]:null)?f.textBlock:null,g=
535
- +l.height.toFixed(6),e=+h.y.toFixed(6),!l.isDirty&&(f&&e+g+ia>+n.y.toFixed(6))&&(g=h.y+g+ia-n.y,e=a(z,-g),e<g&&(0<e&&(g-=e),e=a(s(z),g),e!=g)));z--);b()}}function m(a,b){return(b<U.length?I[b].textBlock.y:u.reversed?T+A:aa+A)-(0>a?u.reversed?aa-A:T-A:I[a].textBlock.y+I[a].height+ia)}function k(a,b,c){var g,e,h,d=[],f=A,q=[];-1!==b&&(0<=ea.indexOf(b)?(e=ea.indexOf(b),ea.splice(e,1)):(ea.push(b),ea=ea.sort(function(a,b){return a-b})));if(0===ea.length)d=ma;else{e=A*(1!=ea.length||0!=ea[0]&&ea[0]!=U.length-
536
- 1?2:1)/n();for(var s=0;s<U.length;s++){if(1==ea.length&&0==ea[0]){if(0===s){d.push(ma[s]);g=f;continue}}else 0===s&&(g=-1*f);d.push(ma[s]+g);if(0<=ea.indexOf(s)||s<U.length&&0<=ea.indexOf(s+1))g+=e}}h=function(){for(var a=[],b=0;b<U.length;b++)a.push(d[b]-U[b].y1);return a}();var z={startTime:(new Date).getTime(),duration:c||500,easingFunction:function(a,b,c,g){return C.easing.easeOutQuart(a,b,c,g)},changeSection:function(a){for(var b,c,g=0;g<U.length;g++)b=h[g],c=U[g],b*=a,"undefined"===typeof q[g]&&
537
- (q[g]=0),0>q&&(q*=-1),c.y1+=b-q[g],c.y2+=b-q[g],c.y3+=b-q[g],c.y4+=b-q[g],c.y5&&(c.y5+=b-q[g],c.y6+=b-q[g]),q[g]=b}};a._animator.animate(0,c,function(c){var g=a.plotArea.ctx||a.ctx;pa=!0;g.clearRect(w.x1,w.y1,w.x2-w.x1,w.y2-w.y1);g.fillStyle=a.backgroundColor;g.fillRect(w.x1,w.y1,w.width,w.height);z.changeSection(c,b);var e={};e.dataSeries=u;e.dataPoint=u.reversed?u.dataPoints[v.length-1-b]:u.dataPoints[b];e.index=u.reversed?v.length-1-b:b;a.toolTip.highlightObjects([e]);for(e=0;e<U.length;e++)r(g,
538
- U[e],u.fillOpacity);B(g);K&&("inside"!==u.indexLabelPlacement?p(g):l(),x(g));1<=c&&(pa=!1)},null,C.easing.easeOutQuart)}function n(){for(var a=0,b=0;b<U.length-1;b++)(0<=ea.indexOf(b)||0<=ea.indexOf(b+1))&&a++;return a}function p(a){for(var b,c,g,e,l=0;l<U.length;l++)e=1===I[l].lineThickness%2?0.5:0,c=((U[l].y2+U[l].y4)/2<<0)+e,b=h(c).x2-1,g=I[l].textBlock.x,e=(I[l].textBlock.y+I[l].height/2<<0)+e,I[l].isDirty||0==I[l].lineThickness||(a.strokeStyle=I[l].lineColor,a.lineWidth=I[l].lineThickness,a.setLineDash&&
539
- a.setLineDash(X(I[l].lineDashType,I[l].lineThickness)),a.beginPath(),a.moveTo(b,c),a.lineTo(g,e),a.stroke())}function q(a){for(a-=1;-1<=a&&-1!=a&&I[a].isDirty;a--);return a}function s(a){for(a+=1;a<=U.length&&a!=U.length&&I[a].isDirty;a++);return a}function h(a){for(var b,c=0;c<v.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 x(a){for(var b=
540
- 0;b<U.length;b++)I[b].isDirty||(a&&(I[b].textBlock.ctx=a),I[b].textBlock.y+=I[b].textBlock._lineHeight/2,I[b].textBlock.render(!0),I[b].textBlock.y-=I[b].textBlock._lineHeight/2)}function B(a){y.plotArea.layoutManager.reset();a.roundRect||Ca(a);y.title&&(y.title.dockInsidePlotArea||"center"===y.title.horizontalAlign&&"center"===y.title.verticalAlign)&&(y.title.ctx=a,y.title.render());if(y.subtitles)for(var b=0;b<y.subtitles.length;b++){var c=y.subtitles[b];if(c.dockInsidePlotArea||"center"===c.horizontalAlign&&
541
- "center"===c.verticalAlign)y.subtitles.ctx=a,c.render()}y.legend&&(y.legend.dockInsidePlotArea||"center"===y.legend.horizontalAlign&&"center"===y.legend.verticalAlign)&&(y.legend.ctx=a,y.legend.setLayout(),y.legend.render());Aa.fNg&&Aa.fNg(y)}var y=this;if(!(0>=a.dataSeriesIndexes.length)){for(var u=this.data[a.dataSeriesIndexes[0]],v=u.dataPoints,w=this.plotArea,A=0.025*w.width,G=0.01*w.width,D=0,E=w.height-2*A,F=Math.min(w.width-2*G,2.8*w.height),K=!1,W=0;W<v.length;W++)if(!K&&("undefined"!==typeof v[W].indexLabel&&
542
- null!==v[W].indexLabel&&0<v[W].indexLabel.toString().length)&&(K=!0),!K&&("undefined"!==typeof v[W].label&&null!==v[W].label&&0<v[W].label.toString().length)&&(K=!0),!K&&"function"===typeof u.indexLabelFormatter||"function"===typeof v[W].indexLabelFormatter)K=!0;K=K||"undefined"!==typeof u.indexLabel&&null!==u.indexLabel&&0<u.indexLabel.toString().length;"inside"!==u.indexLabelPlacement&&K||(G=(w.width-0.75*F)/2);var W=w.x1+G,Q=w.x2-G,O=w.y1+A,P=w.y2-A,N=a.targetCanvasCtx||this.plotArea.ctx||this.ctx;
543
- if(0!=u.length&&(u.dataPoints&&u.visible)&&0!==v.length){var M,H;a=75*F/100;var R=30*(Q-a)/100;"funnel"===u.type?(M=f(u.options.neckHeight)?0.35*E:u.neckHeight,H=f(u.options.neckWidth)?0.25*a:u.neckWidth,"string"===typeof M&&M.match(/%$/)?(M=parseInt(M),M=M*E/100):M=parseInt(M),"string"===typeof H&&H.match(/%$/)?(H=parseInt(H),H=H*a/100):H=parseInt(H),M>E?M=E:0>=M&&(M=0),H>a?H=a-0.5:0>=H&&(H=0)):"pyramid"===u.type&&(H=M=0,u.reversed=u.reversed?!1:!0);var G=W+a/2,$=W,ba=W+a,T=u.reversed?P:O,S=G-H/
544
- 2,V=G+H/2,ca=u.reversed?O+M:P-M,aa=u.reversed?O:P;a=[];var G=[],U=[],F=[],Y=O,ha,ga=(ca-T)/(S-$),ja=-ga,W="area"===(u.valueRepresents?u.valueRepresents:"height")?c():g();if(-1!==W){if(u.reversed)for(F.push(Y),H=W.length-1;0<H;H--)Y+=W[H],F.push(Y);else for(H=0;H<W.length;H++)Y+=W[H],F.push(Y);if(u.reversed)for(H=0;H<W.length;H++)F[H]<ca?(a.push(S),G.push(V),ha=H):(a.push((F[H]-T+ga*$)/ga),G.push((F[H]-T+ja*ba)/ja));else for(H=0;H<W.length;H++)F[H]<ca?(a.push((F[H]-T+ga*$)/ga),G.push((F[H]-T+ja*ba)/
545
- ja),ha=H):(a.push(S),G.push(V));for(H=0;H<W.length-1;H++)Y=u.reversed?v[v.length-1-H].color?v[v.length-1-H].color:u._colorSet[(v.length-1-H)%u._colorSet.length]:v[H].color?v[H].color:u._colorSet[H%u._colorSet.length],H===ha?U.push({x1:a[H],y1:F[H],x2:G[H],y2:F[H],x3:V,y3:ca,x4:G[H+1],y4:F[H+1],x5:a[H+1],y5:F[H+1],x6:S,y6:ca,id:H,height:F[H+1]-F[H],color:Y}):U.push({x1:a[H],y1:F[H],x2:G[H],y2:F[H],x3:G[H+1],y3:F[H+1],x4:a[H+1],y4:F[H+1],id:H,height:F[H+1]-F[H],color:Y});var ia=2,I=[],pa=!1,ea=[],ma=
546
- [],W=!1;a=a=0;Da(ea);for(H=0;H<v.length;H++)v[H].exploded&&(W=!0,u.reversed?ea.push(v.length-1-H):ea.push(H));N.clearRect(w.x1,w.y1,w.width,w.height);N.fillStyle=y.backgroundColor;N.fillRect(w.x1,w.y1,w.width,w.height);if(K&&u.visible&&(b(),l(),"inside"!==u.indexLabelPlacement)){e();d();for(H=0;H<v.length;H++)I[H].isDirty||(a=I[H].textBlock.x+I[H].width,a=(Q-a)/2,0==H&&(D=a),D>a&&(D=a));for(H=0;H<U.length;H++)U[H].x1+=D,U[H].x2+=D,U[H].x3+=D,U[H].x4+=D,U[H].x5&&(U[H].x5+=D,U[H].x6+=D),I[H].textBlock.x+=
547
- D}for(H=0;H<U.length;H++)D=U[H],r(N,D,u.fillOpacity),ma.push(D.y1);B(N);K&&u.visible&&("inside"===u.indexLabelPlacement||y.animationEnabled||p(N),y.animationEnabled||x());if(!K)for(H=0;H<v.length;H++)D=u.dataPointIds[H],a={id:D,objectType:"dataPoint",dataPointIndex:H,dataSeriesIndex:0,funnelSection:U[u.reversed?v.length-1-H:H]},y._eventManager.objectMap[D]=a;!y.animationEnabled&&W?k(y,-1,0):y.animationEnabled&&!y.animatedRender&&k(y,-1,0);this.funnelPyramidClickHandler=function(a){var b=-1;if(!pa&&
548
- !y.isAnimating&&(f(a.dataSeries.explodeOnClick)||a.dataSeries.explodeOnClick)&&(b=u.reversed?v.length-1-a.dataPointIndex:a.dataPointIndex,0<=b)){a=b;if("funnel"===u.type||"pyramid"===u.type)u.reversed?v[v.length-1-a].exploded=v[v.length-1-a].exploded?!1:!0:v[a].exploded=v[a].exploded?!1:!0;k(y,b,500)}};return{source:N,dest:this.plotArea.ctx,animationCallback:function(a,b){C.fadeInAnimation(a,b);1<=a&&(k(y,-1,500),B(y.plotArea.ctx||y.ctx))},easingFunction:C.easing.easeInQuad,animationBase:0}}}}};k.prototype.requestAnimFrame=
549
- function(){return window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(a){window.setTimeout(a,1E3/60)}}();k.prototype.cancelRequestAnimFrame=window.cancelAnimationFrame||window.webkitCancelRequestAnimationFrame||window.mozCancelRequestAnimationFrame||window.oCancelRequestAnimationFrame||window.msCancelRequestAnimationFrame||clearTimeout;k.prototype.set=function(a,g,c){c="undefined"===
550
- typeof c?!0:c;"options"===a?(this.options=g,c&&this.render()):k.base.set.call(this,a,g,c)};k.prototype.exportChart=function(a){a="undefined"===typeof a?{}:a;var g=a.format?a.format:"png",c=a.fileName?a.fileName:this.exportFileName;if(a.toDataURL)return this.canvas.toDataURL("image/"+g);db(this.canvas,g,c)};k.prototype.print=function(){var a=this.exportChart({toDataURL:!0}),g=document.createElement("iframe");g.setAttribute("class","canvasjs-chart-print-frame");P(g,{position:"absolute",width:"100%",
551
- border:"0px",margin:"0px 0px 0px 0px",padding:"0px 0px 0px 0px"});g.style.height=this.height+"px";this._canvasJSContainer.appendChild(g);var c=this,b=g.contentWindow||g.contentDocument.document||g.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();
552
- b.print();setTimeout(function(){c._canvasJSContainer.removeChild(g)},1E3)},500)};k.prototype.getPercentAndTotal=function(a,g){var c=null,b=null,e=c=null;if(0<=a.type.indexOf("stacked"))b=0,c=g.x.getTime?g.x.getTime():g.x,c in a.plotUnit.yTotals&&(b=a.plotUnit.yTotals[c],c=a.plotUnit.yAbsTotals[c],e=isNaN(g.y)?0:0===c?0:100*(g.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);
553
- e=isNaN(g.y)?0:100*(g.y/b)}return{percent:e,total:b}};k.prototype.replaceKeywordsWithValue=function(a,g,c,b,e){var l=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",f="#total",r=this.getPercentAndTotal(c,g),f=isNaN(r.total)?f:r.total,d=isNaN(r.percent)?d:r.percent;do{r="";if(c.percentFormatString)r=c.percentFormatString;else{var r="#,##0.",
554
- n=Math.max(Math.ceil(Math.log(1/Math.abs(d))/Math.LN10),2);if(isNaN(n)||!isFinite(n))n=2;for(var p=0;p<n;p++)r+="#";c.percentFormatString=r}a=a.replace("#percent",ca(d,r,l._cultureInfo));a=a.replace("#total",ca(f,c.yValueFormatString?c.yValueFormatString:"#,##0.########",l._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=Pa(a.slice(1,
555
- a.length-1));a=a.replace("#index",e);var d=null;try{var h=a.match(/(.*?)\s*\[\s*(.*?)\s*\]/);h&&0<h.length&&(d=Pa(h[2]),a=Pa(h[1]))}catch(f){}h=null;if("color"===a)return"waterfall"===c.type?g.color?g.color:0<g.y?c.risingColor:c.fallingColor:"error"===c.type?c.color?c.color:c._colorSet[d%c._colorSet.length]:g.color?g.color:c.color?c.color:c._colorSet[b%c._colorSet.length];if(g.hasOwnProperty(a))h=g;else if(c.hasOwnProperty(a))h=c;else return"";h=h[a];null!==d&&(h=h[d]);return"x"===a?(c.axisX&&"dateTime"===
556
- c.axisX.valueType||"dateTime"===c.xValueType||g.x&&g.x.getTime)&&!c.axisX.logarithmic?ea(h,g.xValueFormatString?g.xValueFormatString:c.xValueFormatString?c.xValueFormatString:c.xValueFormatString=l.axisX&&l.axisX.autoValueFormatString?l.axisX.autoValueFormatString:"DD MMM YY",l._cultureInfo):ca(h,g.xValueFormatString?g.xValueFormatString:c.xValueFormatString?c.xValueFormatString:c.xValueFormatString="#,##0.########",l._cultureInfo):"y"===a?ca(h,g.yValueFormatString?g.yValueFormatString:c.yValueFormatString?
557
- c.yValueFormatString:c.yValueFormatString="#,##0.########",l._cultureInfo):"z"===a?ca(h,g.zValueFormatString?g.zValueFormatString:c.zValueFormatString?c.zValueFormatString:c.zValueFormatString="#,##0.########",l._cultureInfo):h})};ga(K,ba);K.prototype.setLayout=function(){var a=this.dockInsidePlotArea?this.chart.plotArea:this.chart,g=a.layoutManager.getFreeSpace(),c=null,b=0,e=0,l=0,d=0,r=this.markerMargin=this.chart.options.legend&&!f(this.chart.options.legend.markerMargin)?this.chart.options.legend.markerMargin:
558
- 0.3*this.fontSize;this.height=0;var m=[],n=[];if("top"===this.verticalAlign||"bottom"===this.verticalAlign)this.orientation="horizontal",c=this.verticalAlign,l=this.maxWidth=null!==this.maxWidth?this.maxWidth:g.width,d=this.maxHeight=null!==this.maxHeight?this.maxHeight:0.5*g.height;else if("center"===this.verticalAlign){this.orientation="vertical";if("left"===this.horizontalAlign||"center"===this.horizontalAlign||"right"===this.horizontalAlign)c=this.horizontalAlign;l=this.maxWidth=null!==this.maxWidth?
559
- this.maxWidth:0.5*g.width;d=this.maxHeight=null!==this.maxHeight?this.maxHeight:g.height}this.errorMarkerColor=[];for(var p=0;p<this.dataSeries.length;p++){var q=this.dataSeries[p];if(q.dataPoints&&q.dataPoints.length)if("pie"!==q.type&&"doughnut"!==q.type&&"funnel"!==q.type&&"pyramid"!==q.type){var s=q.legendMarkerType=q.legendMarkerType?q.legendMarkerType:"line"!==q.type&&"stepLine"!==q.type&&"spline"!==q.type&&"scatter"!==q.type&&"bubble"!==q.type||!q.markerType?"error"===q.type&&q._linkedSeries?
560
- q._linkedSeries.legendMarkerType?q._linkedSeries.legendMarkerType:O.getDefaultLegendMarker(q._linkedSeries.type):O.getDefaultLegendMarker(q.type):q.markerType,h=q.legendText?q.legendText:this.itemTextFormatter?this.itemTextFormatter({chart:this.chart,legend:this.options,dataSeries:q,dataPoint:null}):q.name,k=q.legendMarkerColor=q.legendMarkerColor?q.legendMarkerColor:q.markerColor?q.markerColor:"error"===q.type?f(q.whiskerColor)?q._colorSet[0]:q.whiskerColor:q._colorSet[0],C=q.markerSize||"line"!==
561
- q.type&&"stepLine"!==q.type&&"spline"!==q.type?0.75*this.lineHeight:0,t=q.legendMarkerBorderColor?q.legendMarkerBorderColor:q.markerBorderColor,u=q.legendMarkerBorderThickness?q.legendMarkerBorderThickness:q.markerBorderThickness?Math.max(1,Math.round(0.2*C)):0;"error"===q.type&&this.errorMarkerColor.push(k);h=this.chart.replaceKeywordsWithValue(h,q.dataPoints[0],q,p);s={markerType:s,markerColor:k,text:h,textBlock:null,chartType:q.type,markerSize:C,lineColor:q._colorSet[0],dataSeriesIndex:q.index,
562
- dataPointIndex:null,markerBorderColor:t,markerBorderThickness:u};m.push(s)}else for(var B=0;B<q.dataPoints.length;B++){var w=q.dataPoints[B],s=w.legendMarkerType?w.legendMarkerType:q.legendMarkerType?q.legendMarkerType:O.getDefaultLegendMarker(q.type),h=w.legendText?w.legendText:q.legendText?q.legendText:this.itemTextFormatter?this.itemTextFormatter({chart:this.chart,legend:this.options,dataSeries:q,dataPoint:w}):w.name?w.name:"DataPoint: "+(B+1),k=w.legendMarkerColor?w.legendMarkerColor:q.legendMarkerColor?
563
- q.legendMarkerColor:w.color?w.color:q.color?q.color:q._colorSet[B%q._colorSet.length],C=0.75*this.lineHeight,t=w.legendMarkerBorderColor?w.legendMarkerBorderColor:q.legendMarkerBorderColor?q.legendMarkerBorderColor:w.markerBorderColor?w.markerBorderColor:q.markerBorderColor,u=w.legendMarkerBorderThickness?w.legendMarkerBorderThickness:q.legendMarkerBorderThickness?q.legendMarkerBorderThickness:w.markerBorderThickness||q.markerBorderThickness?Math.max(1,Math.round(0.2*C)):0,h=this.chart.replaceKeywordsWithValue(h,
564
- w,q,B),s={markerType:s,markerColor:k,text:h,textBlock:null,chartType:q.type,markerSize:C,dataSeriesIndex:p,dataPointIndex:B,markerBorderColor:t,markerBorderThickness:u};(w.showInLegend||q.showInLegend&&!1!==w.showInLegend)&&m.push(s)}}!0===this.reversed&&m.reverse();if(0<m.length){q=null;h=w=B=0;w=null!==this.itemWidth?null!==this.itemMaxWidth?Math.min(this.itemWidth,this.itemMaxWidth,l):this.itemMaxWidth=Math.min(this.itemWidth,l):null!==this.itemMaxWidth?Math.min(this.itemMaxWidth,l):this.itemMaxWidth=
565
- l;C=0===C?0.75*this.lineHeight:C;w=(this.itemMaxWidth?this.itemMaxWidth:w)-(C+r);for(p=0;p<m.length;p++){s=m[p];k=w;if("line"===s.chartType||"spline"===s.chartType||"stepLine"===s.chartType)k-=2*0.1*this.lineHeight;if(!(0>=d||"undefined"===typeof d||0>=k||"undefined"===typeof k))if("horizontal"===this.orientation){s.textBlock=new la(this.ctx,{x:0,y:0,maxWidth:k,maxHeight:this.itemWrap?d:this.lineHeight,angle:0,text:s.text,horizontalAlign:"left",fontSize:this.fontSize,fontFamily:this.fontFamily,fontWeight:this.fontWeight,
566
- fontColor:this.fontColor,fontStyle:this.fontStyle,textBaseline:"middle"});s.textBlock.measureText();null!==this.itemWidth&&(s.textBlock.width=this.itemWidth-(C+r+("line"===s.chartType||"spline"===s.chartType||"stepLine"===s.chartType?2*0.1*this.lineHeight:0)));if(!q||q.width+Math.round(s.textBlock.width+C+r+(0===q.width?0:this.horizontalSpacing)+("line"===s.chartType||"spline"===s.chartType||"stepLine"===s.chartType?2*0.1*this.lineHeight:0))>l)q={items:[],width:0},n.push(q),this.height+=h,h=0;h=Math.max(h,
567
- s.textBlock.height?s.textBlock.height:this.lineHeight);s.textBlock.x=q.width;s.textBlock.y=0;q.width+=Math.round(s.textBlock.width+C+r+(0===q.width?0:this.horizontalSpacing)+("line"===s.chartType||"spline"===s.chartType||"stepLine"===s.chartType?2*0.1*this.lineHeight:0));q.items.push(s);this.width=Math.max(q.width,this.width)}else s.textBlock=new la(this.ctx,{x:0,y:0,maxWidth:w,maxHeight:!0===this.itemWrap?d:1.5*this.fontSize,angle:0,text:s.text,horizontalAlign:"left",fontSize:this.fontSize,fontFamily:this.fontFamily,
568
- fontWeight:this.fontWeight,fontColor:this.fontColor,fontStyle:this.fontStyle,textBaseline:"middle"}),s.textBlock.measureText(),null!==this.itemWidth&&(s.textBlock.width=this.itemWidth-(C+r+("line"===s.chartType||"spline"===s.chartType||"stepLine"===s.chartType?2*0.1*this.lineHeight:0))),this.height<d-this.lineHeight?(q={items:[],width:0},n.push(q)):(q=n[B],B=(B+1)%n.length),q&&(this.height+=s.textBlock.height?s.textBlock.height:this.lineHeight,s.textBlock.x=q.width,s.textBlock.y=0,q.width+=Math.round(s.textBlock.width+
569
- C+r+(0===q.width?0:this.horizontalSpacing)+("line"===s.chartType||"spline"===s.chartType||"stepLine"===s.chartType?2*0.1*this.lineHeight:0)),q.items.push(s),this.width=Math.max(q.width,this.width))}this.height=!1===this.itemWrap?n.length*this.lineHeight:this.height+h;this.height=Math.min(d,this.height);this.width=Math.min(l,this.width)}"top"===this.verticalAlign?(e="left"===this.horizontalAlign?g.x1:"right"===this.horizontalAlign?g.x2-this.width:g.x1+g.width/2-this.width/2,b=g.y1):"center"===this.verticalAlign?
570
- (e="left"===this.horizontalAlign?g.x1:"right"===this.horizontalAlign?g.x2-this.width:g.x1+g.width/2-this.width/2,b=g.y1+g.height/2-this.height/2):"bottom"===this.verticalAlign&&(e="left"===this.horizontalAlign?g.x1:"right"===this.horizontalAlign?g.x2-this.width:g.x1+g.width/2-this.width/2,b=g.y2-this.height);this.items=m;for(p=0;p<this.items.length;p++)s=m[p],s.id=++this.chart._eventManager.lastObjectId,this.chart._eventManager.objectMap[s.id]={id:s.id,objectType:"legendItem",legendItemIndex:p,dataSeriesIndex:s.dataSeriesIndex,
571
- dataPointIndex:s.dataPointIndex};this.markerSize=C;this.rows=n;0<m.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}};K.prototype.render=function(){var a=this.bounds.x1,g=this.bounds.y1,c=this.markerMargin,b=this.maxWidth,e=this.maxHeight,l=this.markerSize,d=this.rows;(0<this.borderThickness&&this.borderColor||this.backgroundColor)&&this.ctx.roundRect(a,g,this.width,this.height,this.cornerRadius,this.borderThickness,
572
- this.backgroundColor,this.borderColor);for(var f=0,r=0;r<d.length;r++){for(var n=d[r],p=0,q=0;q<n.items.length;q++){var s=n.items[q],h=s.textBlock.x+a+(0===q?0.2*l:this.horizontalSpacing),m=g+f,k=h;this.chart.data[s.dataSeriesIndex].visible||(this.ctx.globalAlpha=0.5);this.ctx.save();this.ctx.beginPath();this.ctx.rect(a,g,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=
573
- Math.ceil(this.lineHeight/8),this.ctx.beginPath(),this.ctx.moveTo(h-0.1*this.lineHeight,m+this.lineHeight/2),this.ctx.lineTo(h+0.85*this.lineHeight,m+this.lineHeight/2),this.ctx.stroke(),k-=0.1*this.lineHeight;if("error"===s.chartType){this.ctx.strokeStyle=this.errorMarkerColor[0];this.ctx.lineWidth=l/8;this.ctx.beginPath();var C=h-0.08*this.lineHeight+0.1*this.lineHeight,u=m+0.15*this.lineHeight,t=0.7*this.lineHeight,w=t+0.02*this.lineHeight;this.ctx.moveTo(C,u);this.ctx.lineTo(C+t,u);this.ctx.stroke();
574
- this.ctx.beginPath();this.ctx.moveTo(C+t/2,u);this.ctx.lineTo(C+t/2,u+w);this.ctx.stroke();this.ctx.beginPath();this.ctx.moveTo(C,u+w);this.ctx.lineTo(C+t,u+w);this.ctx.stroke();this.errorMarkerColor.shift()}B.drawMarker(h+l/2,m+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=h+c+l;if("line"===s.chartType||"stepLine"===s.chartType||"spline"===
575
- s.chartType)s.textBlock.x+=0.1*this.lineHeight;s.textBlock.y=Math.round(m+this.lineHeight/2);s.textBlock.render(!0);this.ctx.restore();p=0<q?Math.max(p,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);h=R(s.id);this.ghostCtx.fillStyle=h;this.ghostCtx.beginPath();this.ghostCtx.fillRect(k,s.textBlock.y-this.lineHeight/2,s.textBlock.x+s.textBlock.width-k,s.textBlock.height?
576
- s.textBlock.height:this.lineHeight);s.x1=this.chart._eventManager.objectMap[s.id].x1=k;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}f+=p}};ga(O,ba);O.prototype.getDefaultAxisPlacement=function(){var a=this.type;if("column"===a||"line"===a||"stepLine"===
577
- 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"===a||"waterfall"===a)return"normal";if("bar"===a||"stackedBar"===a||"stackedBar100"===a||"rangeBar"===a)return"xySwapped";if("pie"===a||"doughnut"===a||"funnel"===a||"pyramid"===
578
- 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"===a||"ohlc"===a||"rangeColumn"===a||"rangeBar"===a||"rangeArea"===a||"rangeSplineArea"===a||"boxAndWhisker"===a||"waterfall"===a)return"square";if("line"===a||"stepLine"===
579
- 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,g){if(!this.dataPoints||0===this.dataPoints.length)return null;var c={dataPoint:null,distance:Infinity,index:NaN},b=null,e=0,l=0,d=1,f=Infinity,r=0,n=0,p=0;"none"!==this.chart.plotInfo.axisPlacement&&
580
- (this.axisX.logarithmic?(p=Math.log(this.dataPoints[this.dataPoints.length-1].x/this.dataPoints[0].x),p=1<p?Math.min(Math.max((this.dataPoints.length-1)/p*Math.log(a/this.dataPoints[0].x)>>0,0),this.dataPoints.length):0):(p=this.dataPoints[this.dataPoints.length-1].x-this.dataPoints[0].x,p=0<p?Math.min(Math.max((this.dataPoints.length-1)/p*(a-this.dataPoints[0].x)>>0,0),this.dataPoints.length):0));for(;;){l=0<d?p+e:p-e;if(0<=l&&l<this.dataPoints.length){var b=this.dataPoints[l],q=this.axisX.logarithmic?
581
- b.x>a?b.x/a:a/b.x:Math.abs(b.x-a);q<c.distance&&(c.dataPoint=b,c.distance=q,c.index=l);b=q;b<=f?f=b:0<d?r++:n++;if(1E3<r&&1E3<n)break}else if(0>p-e&&p+e>=this.dataPoints.length)break;-1===d?(e++,d=1):d=-1}return g||(c.dataPoint.x.getTime?c.dataPoint.x.getTime():c.dataPoint.x)!==(a.getTime?a.getTime():a)?g&&null!==c.dataPoint?c:null:c};O.prototype.getDataPointAtXY=function(a,g,c){if(!this.dataPoints||0===this.dataPoints.length||a<this.chart.plotArea.x1||a>this.chart.plotArea.x2||g<this.chart.plotArea.y1||
582
- g>this.chart.plotArea.y2)return null;c=c||!1;var b=[],e=0,l=0,d=1,r=!1,m=Infinity,n=0,p=0,q=0;if("none"!==this.chart.plotInfo.axisPlacement)if(q=(this.chart.axisX[0]?this.chart.axisX[0]:this.chart.axisX2[0]).getXValueAt({x:a,y:g}),this.axisX.logarithmic)var s=Math.log(this.dataPoints[this.dataPoints.length-1].x/this.dataPoints[0].x),q=1<s?Math.min(Math.max((this.dataPoints.length-1)/s*Math.log(q/this.dataPoints[0].x)>>0,0),this.dataPoints.length):0;else s=this.dataPoints[this.dataPoints.length-1].x-
583
- this.dataPoints[0].x,q=0<s?Math.min(Math.max((this.dataPoints.length-1)/s*(q-this.dataPoints[0].x)>>0,0),this.dataPoints.length):0;for(;;){l=0<d?q+e:q-e;if(0<=l&&l<this.dataPoints.length){var s=this.chart._eventManager.objectMap[this.dataPointIds[l]],h=this.dataPoints[l],k=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&&g>=s.y1&&
584
- g<=s.y2)&&(b.push({dataPoint:h,dataPointIndex:l,dataSeries:this,distance:Math.min(Math.abs(s.x1-a),Math.abs(s.x2-a),Math.abs(s.y1-g),Math.abs(s.y2-g))}),r=!0);break;case "line":case "stepLine":case "spline":case "area":case "stepArea":case "stackedArea":case "stackedArea100":case "splineArea":case "scatter":var C=qa("markerSize",h,this)||4,t=c?20:C,k=Math.sqrt(Math.pow(s.x1-a,2)+Math.pow(s.y1-g,2));k<=t&&b.push({dataPoint:h,dataPointIndex:l,dataSeries:this,distance:k});s=Math.abs(s.x1-a);s<=m?m=s:
585
- 0<d?n++:p++;k<=C/2&&(r=!0);break;case "rangeArea":case "rangeSplineArea":C=qa("markerSize",h,this)||4;t=c?20:C;k=Math.min(Math.sqrt(Math.pow(s.x1-a,2)+Math.pow(s.y1-g,2)),Math.sqrt(Math.pow(s.x1-a,2)+Math.pow(s.y2-g,2)));k<=t&&b.push({dataPoint:h,dataPointIndex:l,dataSeries:this,distance:k});s=Math.abs(s.x1-a);s<=m?m=s:0<d?n++:p++;k<=C/2&&(r=!0);break;case "bubble":C=s.size;k=Math.sqrt(Math.pow(s.x1-a,2)+Math.pow(s.y1-g,2));k<=C/2&&(b.push({dataPoint:h,dataPointIndex:l,dataSeries:this,distance:k}),
586
- r=!0);break;case "pie":case "doughnut":C=s.center;t="doughnut"===this.type?s.percentInnerRadius*s.radius:0;k=Math.sqrt(Math.pow(C.x-a,2)+Math.pow(C.y-g,2));k<s.radius&&k>t&&(k=Math.atan2(g-C.y,a-C.x),0>k&&(k+=2*Math.PI),k=Number(((180*(k/Math.PI)%360+360)%360).toFixed(12)),C=Number(((180*(s.startAngle/Math.PI)%360+360)%360).toFixed(12)),t=Number(((180*(s.endAngle/Math.PI)%360+360)%360).toFixed(12)),0===t&&1<s.endAngle&&(t=360),C>=t&&(0!==h.y&&!f(h.y))&&(t+=360,k<C&&(k+=360)),k>C&&k<t&&(b.push({dataPoint:h,
587
- dataPointIndex:l,dataSeries:this,distance:0}),r=!0));break;case "funnel":case "pyramid":k=s.funnelSection;g>k.y1&&g<k.y4&&(k.y6?g>k.y6?(l=k.x6+(k.x5-k.x6)/(k.y5-k.y6)*(g-k.y6),k=k.x3+(k.x4-k.x3)/(k.y4-k.y3)*(g-k.y3)):(l=k.x1+(k.x6-k.x1)/(k.y6-k.y1)*(g-k.y1),k=k.x2+(k.x3-k.x2)/(k.y3-k.y2)*(g-k.y2)):(l=k.x1+(k.x4-k.x1)/(k.y4-k.y1)*(g-k.y1),k=k.x2+(k.x3-k.x2)/(k.y3-k.y2)*(g-k.y2)),a>l&&a<k&&(b.push({dataPoint:h,dataPointIndex:s.dataPointIndex,dataSeries:this,distance:0}),r=!0));break;case "boxAndWhisker":if(a>=
588
- s.x1-s.borderThickness/2&&a<=s.x2+s.borderThickness/2&&g>=s.y4-s.borderThickness/2&&g<=s.y1+s.borderThickness/2||Math.abs(s.x2-a+s.x1-a)<s.borderThickness&&g>=s.y1&&g<=s.y4)b.push({dataPoint:h,dataPointIndex:l,dataSeries:this,distance:Math.min(Math.abs(s.x1-a),Math.abs(s.x2-a),Math.abs(s.y2-g),Math.abs(s.y3-g))}),r=!0;break;case "candlestick":if(a>=s.x1-s.borderThickness/2&&a<=s.x2+s.borderThickness/2&&g>=s.y2-s.borderThickness/2&&g<=s.y3+s.borderThickness/2||Math.abs(s.x2-a+s.x1-a)<s.borderThickness&&
589
- g>=s.y1&&g<=s.y4)b.push({dataPoint:h,dataPointIndex:l,dataSeries:this,distance:Math.min(Math.abs(s.x1-a),Math.abs(s.x2-a),Math.abs(s.y2-g),Math.abs(s.y3-g))}),r=!0;break;case "ohlc":if(Math.abs(s.x2-a+s.x1-a)<s.borderThickness&&g>=s.y2&&g<=s.y3||a>=s.x1&&a<=(s.x2+s.x1)/2&&g>=s.y1-s.borderThickness/2&&g<=s.y1+s.borderThickness/2||a>=(s.x1+s.x2)/2&&a<=s.x2&&g>=s.y4-s.borderThickness/2&&g<=s.y4+s.borderThickness/2)b.push({dataPoint:h,dataPointIndex:l,dataSeries:this,distance:Math.min(Math.abs(s.x1-a),
590
- Math.abs(s.x2-a),Math.abs(s.y2-g),Math.abs(s.y3-g))}),r=!0}if(r||1E3<n&&1E3<p)break}}else if(0>q-e&&q+e>=this.dataPoints.length)break;-1===d?(e++,d=1):d=-1}a=null;for(g=0;g<b.length;g++)a?b[g].distance<=a.distance&&(a=b[g]):a=b[g];return a};O.prototype.getMarkerProperties=function(a,g,c,b){var e=this.dataPoints,l=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:
591
- this.markerBorderColor?this.markerBorderColor:null,r=f(e[a].markerBorderThickness)?this.markerBorderThickness?this.markerBorderThickness:null:e[a].markerBorderThickness,k=e[a].markerType?e[a].markerType:this.markerType;a=f(e[a].markerSize)?this.markerSize:e[a].markerSize;return{x:g,y:c,ctx:b,type:k,size:a,color:l,borderColor:d,borderThickness:r}};ga(y,ba);y.prototype.createExtraLabelsForLog=function(a){a=(a||0)+1;if(!(5<a)){var g=this.logLabelValues[0]||this.intervalStartPosition;if(Math.log(this.range)/
592
- Math.log(g/this.viewportMinimum)<this.noTicks-1){for(var c=y.getNiceNumber((g-this.viewportMinimum)/Math.min(Math.max(2,this.noTicks-this.logLabelValues.length),3),!0),b=Math.ceil(this.viewportMinimum/c)*c;b<g;b+=c)b<this.viewportMinimum||this.logLabelValues.push(b);this.logLabelValues.sort(Xa);this.createExtraLabelsForLog(a)}}};y.prototype.createLabels=function(){var a,g,c=0,b=0,e,l=0,d=0,b=0,b=this.interval,r=0,k,n=0.6*this.chart.height,p;a=!1;var q=this.scaleBreaks?this.scaleBreaks._appliedBreaks:
593
- [],s=q.length?f(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),h=!1,c=b;c<this.viewportMaximum;c+=a)if(this.labels[c])h=!0;else{h=!1;break}h&&(this.interval=a,this.intervalStartPosition=b)}if(this.logarithmic&&!this.equidistantInterval)for(this.logLabelValues||(this.logLabelValues=[],this.createExtraLabelsForLog()),
594
- b=0,h=s;b<this.logLabelValues.length;b++)if(c=this.logLabelValues[b],c<this.viewportMinimum)b++;else{for(;h<q.length&&c>q[h].endValue;h++);a=h<q.length&&c>=q[h].startValue&&c<=q[h].endValue;p=c;a||(a=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.options,value:p,label:this.labels[p]?this.labels[p]:null}):"axisX"===this.type&&this.labels[p]?this.labels[p]:ca(p,this.valueFormatString,this.chart._cultureInfo),a=new la(this.ctx,{x:0,y:0,maxWidth:l,maxHeight:d,angle:this.labelAngle,
595
- 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:p,textBlock:a,effectiveHeight:null}))}h=s;for(c=this.intervalStartPosition;c<=e;c=parseFloat(1E-12>this.interval?
596
- 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(;h<q.length&&c>q[h].endValue;h++);a=h<q.length&&c>=q[h].startValue&&c<=q[h].endValue;p=c;a||(a=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.options,value:p,label:this.labels[p]?this.labels[p]:null}):"axisX"===this.type&&this.labels[p]?this.labels[p]:
597
- ca(p,this.valueFormatString,this.chart._cultureInfo),a=new la(this.ctx,{x:0,y:0,maxWidth:l,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"}),
598
- this._labels.push({position:p,textBlock:a,effectiveHeight:null}))}}else for(this.intervalStartPosition=this.getLabelStartPoint(new Date(this.viewportMinimum),this.intervalType,this.interval),e=cb(new Date(this.viewportMaximum),this.interval,this.intervalType),h=s,c=this.intervalStartPosition;c<e;cb(c,b,this.intervalType)){for(a=c.getTime();h<q.length&&a>q[h].endValue;h++);p=a;a=h<q.length&&a>=q[h].startValue&&a<=q[h].endValue;a||(a=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.options,
599
- value:new Date(p),label:this.labels[p]?this.labels[p]:null}):"axisX"===this.type&&this.labels[p]?this.labels[p]:ea(p,this.valueFormatString,this.chart._cultureInfo),a=new la(this.ctx,{x:0,y:0,maxWidth:l,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,
600
- fontWeight:this.labelFontWeight,fontColor:this.labelFontColor,fontStyle:this.labelFontStyle,textBaseline:"middle"}),this._labels.push({position:p,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))/
601
- Math.log(this.range):this.lineCoordinates.width/(this.logarithmic&&this.equidistantInterval?Math.log(this.range)/Math.log(this.logarithmBase):Math.abs(this.range))*V[this.intervalType+"Duration"]*this.interval,l="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=
602
- 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))*V[this.intervalType+"Duration"]*this.interval,this.chart.panEnabled||(l="undefined"===
603
- 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=l;a.maxHeight=d;var m=a.measureText();k=m.height}e=[];s=q=0;if(this.labelAutoFit||this.options.labelAutoFit)if(f(this.labelAngle)||(this.labelAngle=(this.labelAngle%360+360)%360,90<this.labelAngle&&270>this.labelAngle?this.labelAngle-=
604
- 180:270<=this.labelAngle&&360>=this.labelAngle&&(this.labelAngle-=360)),"bottom"===this._position||"top"===this._position)if(l=0.9*r>>0,s=0,!this.chart.panEnabled&&1<=this._labels.length){this.sessionVariables.labelFontSize=this.labelFontSize;this.sessionVariables.labelMaxWidth=l;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;
605
- for(var C,h=a.text.split(" "),b=0;b<h.length;b++)p=h[b],this.ctx.font=a.fontStyle+" "+a.fontWeight+" "+a.fontSize+"px "+a.fontFamily,p=this.ctx.measureText(p),p.width>s&&(C=c,s=p.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;m=a.measureText();for(h=c+1;h<this._labels.length;h++)if(!this._labels[h].breaksLabelType){g=this._labels[h].textBlock;g=g.measureText();break}e.push(a.height);this.sessionVariables.labelMaxHeight=
606
- Math.max.apply(Math,e);Math.cos(Math.PI/180*Math.abs(this.labelAngle));Math.sin(Math.PI/180*Math.abs(this.labelAngle));b=l*Math.sin(Math.PI/180*Math.abs(this.labelAngle))+(d-a.fontSize/2)*Math.cos(Math.PI/180*Math.abs(this.labelAngle));if(f(this.options.labelAngle)&&isNaN(this.options.labelAngle)&&0!==this.options.labelAngle)if(this.sessionVariables.labelMaxHeight=0===this.labelAngle?d:Math.min((b-l*Math.cos(Math.PI/180*Math.abs(this.labelAngle)))/Math.sin(Math.PI/180*Math.abs(this.labelAngle)),b),
607
- p=(n-(k+a.fontSize/2)*Math.cos(Math.PI/180*Math.abs(-25)))/Math.sin(Math.PI/180*Math.abs(-25)),!f(this.options.labelWrap))this.labelWrap?f(this.options.labelMaxWidth)?(this.sessionVariables.labelMaxWidth=Math.min(Math.max(l,s),p),this.sessionVariables.labelWrap=this.labelWrap,g&&m.width+g.width>>0>2*l&&(this.sessionVariables.labelAngle=-25)):(this.sessionVariables.labelWrap=this.labelWrap,this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth,this.sessionVariables.labelAngle=this.sessionVariables.labelMaxWidth>
608
- l?-25:this.sessionVariables.labelAngle):f(this.options.labelMaxWidth)?(this.sessionVariables.labelWrap=this.labelWrap,this.sessionVariables.labelMaxHeight=d,this.sessionVariables.labelMaxWidth=l,g&&m.width+g.width>>0>2*l&&(this.sessionVariables.labelAngle=-25,this.sessionVariables.labelMaxWidth=p)):(this.sessionVariables.labelAngle=this.sessionVariables.labelMaxWidth>l?-25:this.sessionVariables.labelAngle,this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth,this.sessionVariables.labelMaxHeight=
609
- d,this.sessionVariables.labelWrap=this.labelWrap);else{if(f(this.options.labelWrap))if(!f(this.options.labelMaxWidth))this.options.labelMaxWidth<l?(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(!f(g))if(b=m.width+g.width>>0,h=this.labelFontSize,s<l)b-2*l>q&&(q=b-2*l,b>=2*l&&b<2.2*l?(this.sessionVariables.labelMaxWidth=
610
- l,f(this.options.labelFontSize)&&12<h&&(h=Math.floor(12/13*h),a.measureText()),this.sessionVariables.labelFontSize=f(this.options.labelFontSize)?h:this.options.labelFontSize,this.sessionVariables.labelAngle=this.labelAngle):b>=2.2*l&&b<2.8*l?(this.sessionVariables.labelAngle=-25,this.sessionVariables.labelMaxWidth=p,this.sessionVariables.labelFontSize=h):b>=2.8*l&&b<3.2*l?(this.sessionVariables.labelMaxWidth=Math.max(l,s),this.sessionVariables.labelWrap=!0,f(this.options.labelFontSize)&&12<this.labelFontSize&&
611
- (this.labelFontSize=Math.floor(12/13*this.labelFontSize),a.measureText()),this.sessionVariables.labelFontSize=f(this.options.labelFontSize)?h:this.options.labelFontSize,this.sessionVariables.labelAngle=this.labelAngle):b>=3.2*l&&b<3.6*l?(this.sessionVariables.labelAngle=-25,this.sessionVariables.labelWrap=!0,this.sessionVariables.labelMaxWidth=p,this.sessionVariables.labelFontSize=this.labelFontSize):b>3.6*l&&b<5*l?(f(this.options.labelFontSize)&&12<h&&(h=Math.floor(12/13*h),a.measureText()),this.sessionVariables.labelFontSize=
612
- f(this.options.labelFontSize)?h:this.options.labelFontSize,this.sessionVariables.labelWrap=!0,this.sessionVariables.labelAngle=-25,this.sessionVariables.labelMaxWidth=p):b>5*l&&(this.sessionVariables.labelWrap=!0,this.sessionVariables.labelMaxWidth=l,this.sessionVariables.labelFontSize=h,this.sessionVariables.labelMaxHeight=d,this.sessionVariables.labelAngle=this.labelAngle));else if(C===c&&(0===C&&s+this._labels[C+1].textBlock.measureText().width-2*l>q||C===this._labels.length-1&&s+this._labels[C-
613
- 1].textBlock.measureText().width-2*l>q||0<C&&C<this._labels.length-1&&s+this._labels[C+1].textBlock.measureText().width-2*l>q&&s+this._labels[C-1].textBlock.measureText().width-2*l>q))q=0===C?s+this._labels[C+1].textBlock.measureText().width-2*l:s+this._labels[C-1].textBlock.measureText().width-2*l,this.sessionVariables.labelFontSize=f(this.options.labelFontSize)?h:this.options.labelFontSize,this.sessionVariables.labelWrap=!0,this.sessionVariables.labelAngle=-25,this.sessionVariables.labelMaxWidth=
614
- p;else if(0===q)for(this.sessionVariables.labelFontSize=f(this.options.labelFontSize)?h: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(l,s),p),m=a.measureText(),b<this._labels.length-1&&(h=b+1,g=this._labels[h].textBlock,g.maxWidth=this.sessionVariables.labelMaxWidth=Math.min(Math.max(l,s),p),g=g.measureText(),m.width+g.width>>0>2*l&&(this.sessionVariables.labelAngle=
615
- -25))}else(this.sessionVariables.labelAngle=this.labelAngle,this.sessionVariables.labelMaxHeight=0===this.labelAngle?d:Math.min((b-l*Math.cos(Math.PI/180*Math.abs(this.labelAngle)))/Math.sin(Math.PI/180*Math.abs(this.labelAngle)),b),p=0!=this.labelAngle?(n-(k+a.fontSize/2)*Math.cos(Math.PI/180*Math.abs(this.labelAngle)))/Math.sin(Math.PI/180*Math.abs(this.labelAngle)):l,this.sessionVariables.labelMaxHeight=this.labelWrap?(n-p*Math.sin(Math.PI/180*Math.abs(this.labelAngle)))/Math.cos(Math.PI/180*Math.abs(this.labelAngle)):
616
- 1.5*this.labelFontSize,f(this.options.labelWrap))?f(this.options.labelWrap)&&(this.labelWrap&&!f(this.options.labelMaxWidth)?(this.sessionVariables.labelWrap=this.labelWrap,this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth?this.options.labelMaxWidth:p,this.sessionVariables.labelMaxHeight=d):(this.sessionVariables.labelAngle=this.labelAngle,this.sessionVariables.labelMaxWidth=p,this.sessionVariables.labelMaxHeight=b<0.9*r?0.9*r:b,this.sessionVariables.labelWrap=this.labelWrap)):(this.options.labelWrap?
617
- (this.sessionVariables.labelWrap=this.labelWrap,this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth?this.options.labelMaxWidth:p):(f(this.options.labelMaxWidth),this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth?this.options.labelMaxWidth:p,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,
618
- 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=f(this.options.labelMaxWidth)?f(this.sessionVariables.labelMaxWidth)?this.sessionVariables.labelMaxWidth=l:this.sessionVariables.labelMaxWidth:this.options.labelMaxWidth,a.fontSize=this.labelFontSize=f(this.options.labelFontSize)?
619
- f(this.sessionVariables.labelFontSize)?this.sessionVariables.labelFontSize=this.labelFontSize:this.sessionVariables.labelFontSize:this.options.labelFontSize,a.angle=this.labelAngle=f(this.options.labelAngle)?f(this.sessionVariables.labelAngle)?this.sessionVariables.labelAngle=this.labelAngle:this.sessionVariables.labelAngle:this.labelAngle,a.wrap=this.labelWrap=f(this.options.labelWrap)?f(this.sessionVariables.labelWrap)?this.sessionVariables.labelWrap=this.labelWrap:this.sessionVariables.labelWrap:
620
- this.options.labelWrap,a.maxHeight=f(this.sessionVariables.labelMaxHeight)?this.sessionVariables.labelMaxHeight=d:this.sessionVariables.labelMaxHeight,a.measureText();else if("left"===this._position||"right"===this._position)if(l=f(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=
621
- this.labelFontSize;this.sessionVariables.labelMaxWidth=l;this.sessionVariables.labelMaxHeight=d;this.sessionVariables.labelAngle=f(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;m=a.measureText();for(h=c+1;h<this._labels.length;h++)if(!this._labels[h].breaksLabelType){g=this._labels[h].textBlock;g=g.measureText();break}e.push(a.height);
622
- this.sessionVariables.labelMaxHeight=Math.max.apply(Math,e);b=l*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));f(this.options.labelAngle)&&isNaN(this.options.labelAngle)&&0!==this.options.labelAngle?f(this.options.labelWrap)?f(this.options.labelWrap)&&(f(this.options.labelMaxWidth)?f(g)||(r=m.height+g.height>>0,r-2*d>s&&(s=r-2*d,r>=2*d&&
623
- r<2.4*d?(f(this.options.labelFontSize)&&12<this.labelFontSize&&(this.labelFontSize=Math.floor(12/13*this.labelFontSize),a.measureText()),this.sessionVariables.labelMaxHeight=d,this.sessionVariables.labelFontSize=f(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=
624
- !0,f(this.options.labelFontSize)&&12<this.labelFontSize&&(this.labelFontSize=Math.floor(12/13*this.labelFontSize),a.measureText()),this.sessionVariables.labelFontSize=f(this.options.labelFontSize)?this.labelFontSize:this.options.labelFontSize,this.sessionVariables.labelAngle=f(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*
625
- d&&r<10*d?(f(this.options.labelFontSize)&&12<this.labelFontSize&&(this.labelFontSize=Math.floor(12/13*this.labelFontSize),a.measureText()),this.sessionVariables.labelFontSize=f(this.options.labelFontSize)?this.labelFontSize:this.options.labelFontSize,this.sessionVariables.labelMaxWidth=l,this.sessionVariables.labelMaxHeight=d,this.sessionVariables.labelAngle=f(this.sessionVariables.labelAngle)?0:this.sessionVariables.labelAngle):r>10*d&&r<50*d&&(f(this.options.labelFontSize)&&12<this.labelFontSize&&
626
- (this.labelFontSize=Math.floor(12/13*this.labelFontSize),a.measureText()),this.sessionVariables.labelFontSize=f(this.options.labelFontSize)?this.labelFontSize:this.options.labelFontSize,this.sessionVariables.labelMaxHeight=d,this.sessionVariables.labelMaxWidth=l,this.sessionVariables.labelAngle=f(this.sessionVariables.labelAngle)?0:this.sessionVariables.labelAngle))):(this.sessionVariables.labelMaxHeight=d,this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth?this.options.labelMaxWidth:this.sessionVariables.labelMaxWidth)):
627
- (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:l,this.sessionVariables.labelMaxHeight=d):(this.sessionVariables.labelAngle=this.labelAngle,this.sessionVariables.labelMaxWidth=0===this.labelAngle?l:Math.min((b-d*Math.sin(Math.PI/180*Math.abs(this.labelAngle)))/Math.cos(Math.PI/180*Math.abs(this.labelAngle)),
628
- d),f(this.options.labelWrap))?f(this.options.labelWrap)&&(this.labelWrap&&!f(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:l,this.sessionVariables.labelMaxHeight=0===this.labelAngle?d:b,f(this.options.labelMaxWidth)&&
629
- (this.sessionVariables.labelAngle=this.labelAngle))):this.options.labelWrap?(this.sessionVariables.labelMaxHeight=0===this.labelAngle?d:b,this.sessionVariables.labelWrap=this.labelWrap,this.sessionVariables.labelMaxWidth=l):(this.sessionVariables.labelMaxHeight=d,f(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=
630
- 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=f(this.options.labelMaxWidth)?f(this.sessionVariables.labelMaxWidth)?this.sessionVariables.labelMaxWidth=
631
- l:this.sessionVariables.labelMaxWidth:this.options.labelMaxWidth,a.fontSize=this.labelFontSize=f(this.options.labelFontSize)?f(this.sessionVariables.labelFontSize)?this.sessionVariables.labelFontSize=this.labelFontSize:this.sessionVariables.labelFontSize:this.options.labelFontSize,a.angle=this.labelAngle=f(this.options.labelAngle)?f(this.sessionVariables.labelAngle)?this.sessionVariables.labelAngle=this.labelAngle:this.sessionVariables.labelAngle:this.labelAngle,a.wrap=this.labelWrap=f(this.options.labelWrap)?
632
- f(this.sessionVariables.labelWrap)?this.sessionVariables.labelWrap=this.labelWrap:this.sessionVariables.labelWrap:this.options.labelWrap,a.maxHeight=f(this.sessionVariables.labelMaxHeight)?this.sessionVariables.labelMaxHeight=d:this.sessionVariables.labelMaxHeight,a.measureText();for(c=0;c<this.stripLines.length;c++){var l=this.stripLines[c],B;if("outside"===l.labelPlacement){d=this.sessionVariables.labelMaxWidth;if("bottom"===this._position||"top"===this._position)f(l.options.labelWrap)&&!f(this.sessionVariables.stripLineLabelMaxHeight)?
633
- B=this.sessionVariables.stripLineLabelMaxHeight:this.sessionVariables.stripLineLabelMaxHeight=B=l.labelWrap?0.8*this.chart.height>>0:1.5*this.labelFontSize;if("left"===this._position||"right"===this._position)f(l.options.labelWrap)&&!f(this.sessionVariables.stripLineLabelMaxHeight)?B=this.sessionVariables.stripLineLabelMaxHeight:this.sessionVariables.stripLineLabelMaxHeight=B=l.labelWrap?0.8*this.chart.width>>0:1.5*this.labelFontSize;f(l.labelBackgroundColor)&&(l.labelBackgroundColor="#EEEEEE")}else d=
634
- "bottom"===this._position||"top"===this._position?0.9*this.chart.width>>0:0.9*this.chart.height>>0,B=f(l.options.labelWrap)||l.labelWrap?"bottom"===this._position||"top"===this._position?0.8*this.chart.width>>0:0.8*this.chart.height>>0:1.5*this.labelFontSize,f(l.labelBackgroundColor)&&(f(l.startValue)&&0!==l.startValue?l.labelBackgroundColor=t?"transparent":null:l.labelBackgroundColor="#EEEEEE");a=new la(this.ctx,{x:0,y:0,backgroundColor:l.labelBackgroundColor,borderColor:l.labelBorderColor,borderThickness:l.labelBorderThickness,
635
- cornerRadius:l.labelCornerRadius,maxWidth:l.options.labelMaxWidth?l.options.labelMaxWidth:d,maxHeight:B,angle:this.labelAngle,text:l.labelFormatter?l.labelFormatter({chart:this.chart,axis:this,stripLine:l}):l.label,textAlign:this.labelTextAlign,fontSize:"outside"===l.labelPlacement?l.options.labelFontSize?l.labelFontSize:this.labelFontSize:l.labelFontSize,fontFamily:"outside"===l.labelPlacement?l.options.labelFontFamily?l.labelFontFamily:this.labelFontFamily:l.labelFontFamily,fontWeight:"outside"===
636
- l.labelPlacement?l.options.labelFontWeight?l.labelFontWeight:this.labelFontWeight:l.labelFontWeight,fontColor:l.labelFontColor||l.color,fontStyle:"outside"===l.labelPlacement?l.options.labelFontStyle?l.labelFontStyle:this.fontWeight:l.labelFontStyle,textBaseline:"middle"});this._stripLineLabels.push({position:l.value,textBlock:a,effectiveHeight:null,stripLine:l})}};y.prototype.createLabelsAndCalculateWidth=function(){var a=0,g=0;this._labels=[];this._stripLineLabels=[];var c=this.chart.isNavigator?
637
- 0:5;if("left"===this._position||"right"===this._position){this.createLabels();if("inside"!=this.labelPlacement||"inside"===this.labelPlacement&&0<this._index)for(g=0;g<this._labels.length;g++){var b=this._labels[g].textBlock,e=b.measureText(),l=0,l=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<l&&(this.labelEffectiveWidth=a=l);this._labels[g].effectiveWidth=l}for(g=0;g<this._stripLineLabels.length;g++)"outside"===
638
- this._stripLineLabels[g].stripLine.labelPlacement&&(this._stripLineLabels[g].stripLine.value>=this.viewportMinimum&&this._stripLineLabels[g].stripLine.value<=this.viewportMaximum)&&(b=this._stripLineLabels[g].textBlock,e=b.measureText(),l=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&&(l+=this.tickLength),"inside"===this.labelPlacement&&(a+=0<this._index?l:0),
639
- a<l&&(a=l),this.stripLineLabelEffectiveWidth=this._stripLineLabels[g].effectiveWidth=l)}return(this.title?this._titleTextBlock.measureText().height+2:0)+a+("inside"===this.tickPlacement?0<this._index?this.tickLength:0:this.tickLength)+c};y.prototype.createLabelsAndCalculateHeight=function(){var a=0;this._labels=[];this._stripLineLabels=[];var g,c=0,b=this.chart.isNavigator?0:5;if("bottom"===this._position||"top"===this._position){this.createLabels();if("inside"!=this.labelPlacement||"inside"===this.labelPlacement&&
640
- 0<this._index)for(c=0;c<this._labels.length;c++){g=this._labels[c].textBlock;var e=g.measureText(),l=0,l=0===this.labelAngle?e.height:e.width*Math.sin(Math.PI/180*Math.abs(this.labelAngle))+(e.height-g.fontSize/2)*Math.cos(Math.PI/180*Math.abs(this.labelAngle));a<l&&(this.labelEffectiveHeight=a=l);this._labels[c].effectiveHeight=l}for(c=0;c<this._stripLineLabels.length;c++)"outside"===this._stripLineLabels[c].stripLine.labelPlacement&&(this._stripLineLabels[c].stripLine.value>=this.viewportMinimum&&
641
- this._stripLineLabels[c].stripLine.value<=this.viewportMaximum)&&(g=this._stripLineLabels[c].textBlock,e=g.measureText(),l=0===this.labelAngle?e.height:e.width*Math.sin(Math.PI/180*Math.abs(this.labelAngle))+(e.height-g.fontSize/2)*Math.cos(Math.PI/180*Math.abs(this.labelAngle)),"inside"===this.tickPlacement&&(l+=this.tickLength),"inside"===this.labelPlacement&&(a+=0<this._index?l:0),a<l&&(a=l),this.stripLineLabelEffectiveHeight=this._stripLineLabels[c].effectiveHeight=l)}return(this.title?this._titleTextBlock.measureText().height+
642
- 2:0)+a+("inside"===this.tickPlacement?0<this._index?this.tickLength:0:this.tickLength)+b};y.setLayout=function(a,g,c,b,e,l){var d,r,k,n,p=a[0]?a[0].chart:g[0].chart,q=p.isNavigator?0:10,s=p._axes;if(a&&0<a.length)for(var h=0;h<a.length;h++)a[h]&&a[h].calculateAxisParameters();if(g&&0<g.length)for(h=0;h<g.length;h++)g[h].calculateAxisParameters();if(c&&0<c.length)for(h=0;h<c.length;h++)c[h].calculateAxisParameters();if(b&&0<b.length)for(h=0;h<b.length;h++)b[h].calculateAxisParameters();for(h=0;h<s.length;h++)if(s[h]&&
643
- s[h].scaleBreaks&&s[h].scaleBreaks._appliedBreaks.length)for(var m=s[h].scaleBreaks._appliedBreaks,C=0;C<m.length&&!(m[C].startValue>s[h].viewportMaximum);C++)m[C].endValue<s[h].viewportMinimum||(f(s[h].scaleBreaks.firstBreakIndex)&&(s[h].scaleBreaks.firstBreakIndex=C),m[C].startValue>=s[h].viewPortMinimum&&(s[h].scaleBreaks.lastBreakIndex=C));for(var t=C=0,u=0,B=0,w=0,v=0,y=0,A,F,E=r=0,K,Q,N,m=K=Q=N=!1,h=0;h<s.length;h++)s[h]&&s[h].title&&(s[h]._titleTextBlock=new la(s[h].ctx,{text:s[h].title,horizontalAlign:"center",
644
- fontSize:s[h].titleFontSize,fontFamily:s[h].titleFontFamily,fontWeight:s[h].titleFontWeight,fontColor:s[h].titleFontColor,fontStyle:s[h].titleFontStyle,borderColor:s[h].titleBorderColor,borderThickness:s[h].titleBorderThickness,backgroundColor:s[h].titleBackgroundColor,cornerRadius:s[h].titleCornerRadius,textBaseline:"middle"}));for(h=0;h<s.length;h++)if(s[h].title)switch(s[h]._position){case "left":s[h]._titleTextBlock.maxWidth=s[h].titleMaxWidth||l.height;s[h]._titleTextBlock.maxHeight=s[h].titleWrap?
645
- 0.8*l.width:1.5*s[h].titleFontSize;s[h]._titleTextBlock.angle=-90;break;case "right":s[h]._titleTextBlock.maxWidth=s[h].titleMaxWidth||l.height;s[h]._titleTextBlock.maxHeight=s[h].titleWrap?0.8*l.width:1.5*s[h].titleFontSize;s[h]._titleTextBlock.angle=90;break;default:s[h]._titleTextBlock.maxWidth=s[h].titleMaxWidth||l.width,s[h]._titleTextBlock.maxHeight=s[h].titleWrap?0.8*l.height:1.5*s[h].titleFontSize,s[h]._titleTextBlock.angle=0}if("normal"===e){for(var B=[],w=[],v=[],y=[],O=[],P=[],M=[],R=[];4>
646
- C;){var H=0,X=0,$=0,T=0,aa=e=0,S=0,ba=0,Y=0,V=0,U=0,ca=0;if(c&&0<c.length)for(v=[],h=U=0;h<c.length;h++)v.push(Math.ceil(c[h]?c[h].createLabelsAndCalculateWidth():0)),U+=v[h],S+=c[h]&&!p.isNavigator?c[h].margin:0;else v.push(Math.ceil(c[0]?c[0].createLabelsAndCalculateWidth():0));M.push(v);if(b&&0<b.length)for(y=[],h=ca=0;h<b.length;h++)y.push(Math.ceil(b[h]?b[h].createLabelsAndCalculateWidth():0)),ca+=y[h],ba+=b[h]?b[h].margin:0;else y.push(Math.ceil(b[0]?b[0].createLabelsAndCalculateWidth():0));
647
- R.push(y);d=Math.round(l.x1+U+S);k=Math.round(l.x2-ca-ba>p.width-q?p.width-q:l.x2-ca-ba);if(a&&0<a.length)for(B=[],h=Y=0;h<a.length;h++)a[h]&&(a[h].lineCoordinates={}),a[h].lineCoordinates.width=Math.abs(k-d),a[h].title&&(a[h]._titleTextBlock.maxWidth=0<a[h].titleMaxWidth&&a[h].titleMaxWidth<a[h].lineCoordinates.width?a[h].titleMaxWidth:a[h].lineCoordinates.width),B.push(Math.ceil(a[h]?a[h].createLabelsAndCalculateHeight():0)),Y+=B[h],e+=a[h]&&!p.isNavigator?a[h].margin:0;else B.push(Math.ceil(a[0]?
648
- a[0].createLabelsAndCalculateHeight():0));O.push(B);if(g&&0<g.length)for(w=[],h=V=0;h<g.length;h++)g[h]&&(g[h].lineCoordinates={}),g[h].lineCoordinates.width=Math.abs(k-d),g[h].title&&(g[h]._titleTextBlock.maxWidth=0<g[h].titleMaxWidth&&g[h].titleMaxWidth<g[h].lineCoordinates.width?g[h].titleMaxWidth:g[h].lineCoordinates.width),w.push(Math.ceil(g[h]?g[h].createLabelsAndCalculateHeight():0)),V+=w[h],aa+=g[h]&&!p.isNavigator?g[h].margin:0;else w.push(Math.ceil(g[0]?g[0].createLabelsAndCalculateHeight():
649
- 0));P.push(w);if(a&&0<a.length)for(h=0;h<a.length;h++)a[h]&&(a[h].lineCoordinates.x1=d,k=Math.round(l.x2-ca-ba>p.width-q?p.width-q:l.x2-ca-ba),a[h]._labels&&1<a[h]._labels.length&&(r=n=0,n=a[h]._labels[1],r="dateTime"===a[h].valueType?a[h]._labels[a[h]._labels.length-2]:a[h]._labels[a[h]._labels.length-1],t=n.textBlock.width*Math.cos(Math.PI/180*Math.abs(n.textBlock.angle))+(n.textBlock.height-r.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(n.textBlock.angle)),u=r.textBlock.width*Math.cos(Math.PI/
650
- 180*Math.abs(r.textBlock.angle))+(r.textBlock.height-r.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(r.textBlock.angle))),!a[h]||(!a[h].labelAutoFit||f(A)||f(F)||p.isNavigator||p.stockChart)||(r=0,0<a[h].labelAngle?F+u>k&&(r+=0<a[h].labelAngle?F+u-k-ca:0):0>a[h].labelAngle?A-t<d&&A-t<a[h].viewportMinimum&&(E=d-(S+a[h].tickLength+v+A-t+a[h].labelFontSize/2)):0===a[h].labelAngle&&(F+u>k&&(r=F+u/2-k-ca),A-t<d&&A-t<a[h].viewportMinimum&&(E=d-S-a[h].tickLength-v-A+t/2)),a[h].viewportMaximum===a[h].maximum&&
651
- a[h].viewportMinimum===a[h].minimum&&0<a[h].labelAngle&&0<r?k-=r:a[h].viewportMaximum===a[h].maximum&&a[h].viewportMinimum===a[h].minimum&&0>a[h].labelAngle&&0<E?d+=E:a[h].viewportMaximum===a[h].maximum&&a[h].viewportMinimum===a[h].minimum&&0===a[h].labelAngle&&(0<E&&(d+=E),0<r&&(k-=r))),p.panEnabled?Y=f(p.sessionVariables.axisX.height)?p.sessionVariables.axisX.height=Y:p.sessionVariables.axisX.height:p.sessionVariables.axisX.height=Y,r=Math.round(l.y2-Y-e+H),n=Math.round(l.y2),a[h].lineCoordinates.x2=
652
- k,a[h].lineCoordinates.width=k-d,a[h].lineCoordinates.y1=r,a[h].lineCoordinates.y2=r,"inside"===a[h].labelPlacement&&0<h&&(a[h].lineCoordinates.y1=a[h-1].lineCoordinates.y2+H+(a[h].labelEffectiveHeight||0),a[h].lineCoordinates.y2=a[h].lineCoordinates.y1+a[h].lineThickness/2),"inside"===a[h].tickPlacement&&0<h&&(a[h].lineCoordinates.y1+=a[h].tickLength,a[h].lineCoordinates.y2=a[h].lineCoordinates.y1+a[h].lineThickness/2),a[h].bounds={x1:d,y1:r,x2:k,y2:n-(Y+e-B[h]-H),width:k-d},a[h].bounds.height=a[h].bounds.y2-
653
- a[h].bounds.y1),H+=B[h]+a[h].margin;if(g&&0<g.length)for(h=0;h<g.length;h++)g[h].lineCoordinates.x1=Math.round(l.x1+U+S),g[h].lineCoordinates.x2=Math.round(l.x2-ca-ba>p.width-q?p.width-q:l.x2-ca-ba),g[h].lineCoordinates.width=Math.abs(k-d),g[h]._labels&&1<g[h]._labels.length&&(n=g[h]._labels[1],r="dateTime"===g[h].valueType?g[h]._labels[g[h]._labels.length-2]:g[h]._labels[g[h]._labels.length-1],t=n.textBlock.width*Math.cos(Math.PI/180*Math.abs(n.textBlock.angle))+(n.textBlock.height-r.textBlock.fontSize/
654
- 2)*Math.sin(Math.PI/180*Math.abs(n.textBlock.angle)),u=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))),p.panEnabled?V=f(p.sessionVariables.axisX2.height)?p.sessionVariables.axisX2.height=V:p.sessionVariables.axisX2.height:p.sessionVariables.axisX2.height=V,r=Math.round(l.y1),n=g[h].lineCoordinates.y1=r+V+aa-X,g[h].lineCoordinates.y2=r,"inside"===g[h].labelPlacement&&0<h&&(g[h].lineCoordinates.y1=
655
- g[h-1].lineCoordinates.y1-X-(g[h].labelEffectiveHeight||0)),"inside"===g[h].tickPlacement&&0<h&&(g[h].lineCoordinates.y1-=g[h].tickLength),g[h].bounds={x1:d,y1:r+(V+aa-w[h]-X),x2:k,y2:n,width:k-d},g[h].bounds.height=g[h].bounds.y2-g[h].bounds.y1,X+=w[h]+g[h].margin;if(c&&0<c.length)for(h=0;h<c.length;h++)S=p.isNavigator?0:10,c[h]&&(d=Math.round(a[0]?a[0].lineCoordinates.x1:g[0].lineCoordinates.x1),S=c[h]._labels&&0<c[h]._labels.length?c[h]._labels[c[h]._labels.length-1].textBlock.height/2:q,r=Math.round(l.y1+
656
- V+aa<Math.max(S,q)?Math.max(S,q):l.y1+V+aa),k=Math.round(a[0]?a[0].lineCoordinates.x1:g[0].lineCoordinates.x1),S=0<a.length?0:c[h]._labels&&0<c[h]._labels.length?c[h]._labels[0].textBlock.height/2:q,n=Math.round(l.y2-Y-e-S),c[h].lineCoordinates={x1:d-$,y1:r,x2:k-$,y2:n,height:Math.abs(n-r)},"inside"===c[h].labelPlacement&&0<h&&(c[h].lineCoordinates.x1=c[h-1].lineCoordinates.x1-$-(c[h].labelEffectiveWidth||0),c[h].lineCoordinates.x2=c[h].lineCoordinates.x1+c[h].lineThickness/2),"inside"===c[h].tickPlacement&&
657
- 0<h&&(c[h].lineCoordinates.x1-=c[h].tickLength,c[h].lineCoordinates.x2=c[h].lineCoordinates.x1+c[h].lineThickness/2),c[h].bounds={x1:d-(v[h]+$),y1:r,x2:k-$,y2:n,height:n-r},c[h].bounds.width=c[h].bounds.x2-c[h].bounds.x1,c[h].title&&(c[h]._titleTextBlock.maxWidth=0<c[h].titleMaxWidth&&c[h].titleMaxWidth<c[h].lineCoordinates.height?c[h].titleMaxWidth:c[h].lineCoordinates.height),$+=v[h]+c[h].margin);if(b&&0<b.length)for(h=0;h<b.length;h++)b[h]&&(d=Math.round(a[0]?a[0].lineCoordinates.x2:g[0].lineCoordinates.x2),
658
- k=Math.round(d),S=b[h]._labels&&0<b[h]._labels.length?b[h]._labels[b[h]._labels.length-1].textBlock.height/2:0,r=Math.round(l.y1+V+aa<Math.max(S,q)?Math.max(S,q):l.y1+V+aa),S=0<a.length?0:b[h]._labels&&0<b[h]._labels.length?b[h]._labels[0].textBlock.height/2:0,n=Math.round(l.y2-(Y+e+S)),b[h].lineCoordinates={x1:d+T,y1:r,x2:d+T,y2:n,height:Math.abs(n-r)},"inside"===b[h].labelPlacement&&0<h&&(b[h].lineCoordinates.x1=b[h-1].lineCoordinates.x2+T+(b[h].labelEffectiveWidth||0),b[h].lineCoordinates.x2=b[h].lineCoordinates.x1+
659
- b[h].lineThickness/2),"inside"===b[h].tickPlacement&&0<h&&(b[h].lineCoordinates.x1+=b[h].tickLength,b[h].lineCoordinates.x2=b[h].lineCoordinates.x1+b[h].lineThickness/2),b[h].bounds={x1:d+T,y1:r,x2:k+(y[h]+T),y2:n,height:n-r},b[h].bounds.width=b[h].bounds.x2-b[h].bounds.x1,b[h].title&&(b[h]._titleTextBlock.maxWidth=0<b[h].titleMaxWidth&&b[h].titleMaxWidth<b[h].lineCoordinates.height?b[h].titleMaxWidth:b[h].lineCoordinates.height),T+=y[h]+b[h].margin);if(a&&0<a.length)for(h=0;h<a.length;h++)a[h]&&
660
- (a[h].calculateValueToPixelConversionParameters(),a[h].calculateBreaksSizeInValues(),a[h]._labels&&1<a[h]._labels.length&&(A=(a[h].logarithmic?Math.log(a[h]._labels[1].position/a[h].viewportMinimum)/a[h].conversionParameters.lnLogarithmBase:a[h]._labels[1].position-a[h].viewportMinimum)*Math.abs(a[h].conversionParameters.pixelPerUnit)+a[h].lineCoordinates.x1,d=a[h]._labels[a[h]._labels.length-("dateTime"===a[h].valueType?2:1)].position,d=a[h].getApparentDifference(a[h].viewportMinimum,d),F=a[h].logarithmic?
661
- (1<d?Math.log(d)/a[h].conversionParameters.lnLogarithmBase*Math.abs(a[h].conversionParameters.pixelPerUnit):0)+a[h].lineCoordinates.x1:(0<d?d*Math.abs(a[h].conversionParameters.pixelPerUnit):0)+a[h].lineCoordinates.x1));if(g&&0<g.length)for(h=0;h<g.length;h++)g[h].calculateValueToPixelConversionParameters(),g[h].calculateBreaksSizeInValues(),g[h]._labels&&1<g[h]._labels.length&&(A=(g[h].logarithmic?Math.log(g[h]._labels[1].position/g[h].viewportMinimum)/g[h].conversionParameters.lnLogarithmBase:g[h]._labels[1].position-
662
- g[h].viewportMinimum)*Math.abs(g[h].conversionParameters.pixelPerUnit)+g[h].lineCoordinates.x1,d=g[h]._labels[g[h]._labels.length-("dateTime"===g[h].valueType?2:1)].position,d=g[h].getApparentDifference(g[h].viewportMinimum,d),F=g[h].logarithmic?(1<d?Math.log(d)/g[h].conversionParameters.lnLogarithmBase*Math.abs(g[h].conversionParameters.pixelPerUnit):0)+g[h].lineCoordinates.x1:(0<d?d*Math.abs(g[h].conversionParameters.pixelPerUnit):0)+g[h].lineCoordinates.x1);for(h=0;h<s.length;h++)"axisY"===s[h].type&&
663
- (s[h].calculateValueToPixelConversionParameters(),s[h].calculateBreaksSizeInValues());if(0<C){if(a&&0<a.length)for(h=0;h<a.length;h++)m=O[C-1][h]===O[C][h]?!0:!1;else m=!0;if(g&&0<g.length)for(h=0;h<g.length;h++)K=P[C-1][h]===P[C][h]?!0:!1;else K=!0;if(c&&0<c.length)for(h=0;h<c.length;h++)Q=M[C-1][h]===M[C][h]?!0:!1;else Q=!0;if(b&&0<b.length)for(h=0;h<b.length;h++)N=R[C-1][h]===R[C][h]?!0:!1;else N=!0}if(m&&K&&Q&&N)break;C++}if(a&&0<a.length)for(h=0;h<a.length;h++)a[h].calculateStripLinesThicknessInValues(),
664
- a[h].calculateBreaksInPixels();if(g&&0<g.length)for(h=0;h<g.length;h++)g[h].calculateStripLinesThicknessInValues(),g[h].calculateBreaksInPixels();if(c&&0<c.length)for(h=0;h<c.length;h++)c[h].calculateStripLinesThicknessInValues(),c[h].calculateBreaksInPixels();if(b&&0<b.length)for(h=0;h<b.length;h++)b[h].calculateStripLinesThicknessInValues(),b[h].calculateBreaksInPixels()}else{q=[];A=[];E=[];t=[];F=[];u=[];O=[];for(P=[];4>C;){Y=T=$=ba=S=aa=e=R=M=H=V=0;if(a&&0<a.length)for(E=[],h=T=0;h<a.length;h++)E.push(Math.ceil(a[h]?
665
- a[h].createLabelsAndCalculateWidth():0)),T+=E[h],e+=a[h]&&!p.isNavigator?a[h].margin:0;else E.push(Math.ceil(a[0]?a[0].createLabelsAndCalculateWidth():0));O.push(E);if(g&&0<g.length)for(t=[],h=Y=0;h<g.length;h++)t.push(Math.ceil(g[h]?g[h].createLabelsAndCalculateWidth():0)),Y+=t[h],aa+=g[h]?g[h].margin:0;else t.push(Math.ceil(g[0]?g[0].createLabelsAndCalculateWidth():0));P.push(t);if(c&&0<c.length)for(h=0;h<c.length;h++)c[h].lineCoordinates={},d=Math.round(l.x1+T+e),k=Math.round(l.x2-Y-aa>p.width-
666
- 10?p.width-10:l.x2-Y-aa),c[h].labelAutoFit&&!f(B)&&(0<!a.length&&(d=0>c[h].labelAngle?Math.max(d,B):0===c[h].labelAngle?Math.max(d,B/2):d),0<!g.length&&(k=0<c[h].labelAngle?k-w/2:0===c[h].labelAngle?k-w/2:k)),c[h].lineCoordinates.x1=d,c[h].lineCoordinates.x2=k,c[h].lineCoordinates.width=Math.abs(k-d),c[h].title&&(c[h]._titleTextBlock.maxWidth=0<c[h].titleMaxWidth&&c[h].titleMaxWidth<c[h].lineCoordinates.width?c[h].titleMaxWidth:c[h].lineCoordinates.width);if(b&&0<b.length)for(h=0;h<b.length;h++)b[h].lineCoordinates=
667
- {},d=Math.round(l.x1+T+e),k=Math.round(l.x2-Y-aa>b[h].chart.width-10?b[h].chart.width-10:l.x2-Y-aa),b[h]&&b[h].labelAutoFit&&!f(v)&&(0<!a.length&&(d=0<b[h].labelAngle?Math.max(d,v):0===b[h].labelAngle?Math.max(d,v/2):d),0<!g.length&&(k-=y/2)),b[h].lineCoordinates.x1=d,b[h].lineCoordinates.x2=k,b[h].lineCoordinates.width=Math.abs(k-d),b[h].title&&(b[h]._titleTextBlock.maxWidth=0<b[h].titleMaxWidth&&b[h].titleMaxWidth<b[h].lineCoordinates.width?b[h].titleMaxWidth:b[h].lineCoordinates.width);if(c&&0<
668
- c.length)for(q=[],h=$=0;h<c.length;h++)q.push(Math.ceil(c[h]?c[h].createLabelsAndCalculateHeight():0)),$+=q[h]+c[h].margin,S+=c[h].margin;else q.push(Math.ceil(c[0]?c[0].createLabelsAndCalculateHeight():0));F.push(q);if(b&&0<b.length)for(A=[],h=0;h<b.length;h++)A.push(Math.ceil(b[h]?b[h].createLabelsAndCalculateHeight():0)),ba+=b[h].margin;else A.push(Math.ceil(b[0]?b[0].createLabelsAndCalculateHeight():0));u.push(A);if(c&&0<c.length)for(h=0;h<c.length;h++)0<c[h]._labels.length&&(n=c[h]._labels[0],
669
- r=c[h]._labels[c[h]._labels.length-1],B=n.textBlock.width*Math.cos(Math.PI/180*Math.abs(n.textBlock.angle))+(n.textBlock.height-r.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(n.textBlock.angle)),w=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(h=0;h<b.length;h++)b[h]&&0<b[h]._labels.length&&(n=b[h]._labels[0],r=b[h]._labels[b[h]._labels.length-1],v=n.textBlock.width*
670
- Math.cos(Math.PI/180*Math.abs(n.textBlock.angle))+(n.textBlock.height-r.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(n.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(p.panEnabled)for(h=0;h<c.length;h++)q[h]=f(p.sessionVariables.axisY[h].height)?p.sessionVariables.axisY[h].height=q[h]:p.sessionVariables.axisY[h].height;else for(h=0;h<c.length;h++)p.sessionVariables.axisY[h].height=
671
- q[h];if(c&&0<c.length)for(h=c.length-1;0<=h;h--)r=Math.round(l.y2),n=Math.round(l.y2>c[h].chart.height?c[h].chart.height:l.y2),c[h].lineCoordinates.y1=r-(q[h]+c[h].margin+V),c[h].lineCoordinates.y2=r-(q[h]+c[h].margin+V),"inside"===c[h].labelPlacement&&0<h&&(c[h].lineCoordinates.y1=c[h].lineCoordinates.y1+q[h]-(c[h]._titleTextBlock?c[h]._titleTextBlock.height:0)-c[h].tickLength-(c[h].stripLineLabelEffectiveHeight||0)-5,c[h].lineCoordinates.y2=c[h].lineCoordinates.y1+c[h].lineThickness/2),"inside"===
672
- c[h].tickPlacement&&0<h&&(c[h].lineCoordinates.y1+=c[h].tickLength,c[h].lineCoordinates.y2=c[h].lineCoordinates.y1+c[h].lineThickness/2),c[h].bounds={x1:d,y1:r-(q[h]+V+c[h].margin),x2:k,y2:n-(V+c[h].margin),width:k-d,height:q[h]},c[h].title&&(c[h]._titleTextBlock.maxWidth=0<c[h].titleMaxWidth&&c[h].titleMaxWidth<c[h].lineCoordinates.width?c[h].titleMaxWidth:c[h].lineCoordinates.width),V+=q[h]+c[h].margin;if(b&&0<b.length)for(h=b.length-1;0<=h;h--)b[h]&&(r=Math.round(l.y1),n=Math.round(l.y1+(A[h]+
673
- b[h].margin+H)),b[h].lineCoordinates.y1=n,b[h].lineCoordinates.y2=n,"inside"===b[h].labelPlacement&&0<h&&(b[h].lineCoordinates.y1=n-A[h]+(b[h]._titleTextBlock?b[h]._titleTextBlock.height:0)+b[h].tickLength+(b[h].stripLineLabelEffectiveHeight||0),b[h].lineCoordinates.y2=b[h].lineCoordinates.y1-b[h].lineThickness/2),"inside"===b[h].tickPlacement&&0<h&&(b[h].lineCoordinates.y1-=b[h].tickLength,b[h].lineCoordinates.y2=b[h].lineCoordinates.y1-b[h].lineThickness/2),b[h].bounds={x1:d,y1:r+(b[h].margin+H),
674
- x2:k,y2:n,width:k-d},b[h].bounds.height=b[h].bounds.y2-b[h].bounds.y1,b[h].title&&(b[h]._titleTextBlock.maxWidth=0<b[h].titleMaxWidth&&b[h].titleMaxWidth<b[h].lineCoordinates.width?b[h].titleMaxWidth:b[h].lineCoordinates.width),H+=A[h]+b[h].margin);if(a&&0<a.length)for(h=0;h<a.length;h++){S=a[h]._labels&&0<a[h]._labels.length?a[h]._labels[0].textBlock.fontSize/2:0;d=Math.round(l.x1+e);r=b&&0<b.length?Math.round(b[0]?b[0].lineCoordinates.y2:l.y1<Math.max(S,10)?Math.max(S,10):l.y1):l.y1<Math.max(S,
675
- 10)?Math.max(S,10):l.y1;k=Math.round(l.x1+T+e);n=c&&0<c.length?Math.round(c[0]?c[0].lineCoordinates.y1:l.y2-$>p.height-Math.max(S,10)?p.height-Math.max(S,10):l.y2-$):l.y2>p.height-Math.max(S,10)?p.height-Math.max(S,10):l.y2;if(c&&0<c.length)for(S=0;S<c.length;S++)c[S]&&c[S].labelAutoFit&&(k=c[S].lineCoordinates.x1,d=0>c[S].labelAngle||0===c[S].labelAngle?k-T:d);if(b&&0<b.length)for(S=0;S<b.length;S++)b[S]&&b[S].labelAutoFit&&(k=b[S].lineCoordinates.x1,d=k-T);a[h].lineCoordinates={x1:k-M,y1:r,x2:k-
676
- M,y2:n,height:Math.abs(n-r)};"inside"===a[h].labelPlacement&&0<h&&(a[h].lineCoordinates.x1=a[h].lineCoordinates.x1-(E[h]-(a[h]._titleTextBlock?a[h]._titleTextBlock.height:0))+a[h].tickLength+(a[h].stripLineLabelEffectiveWidth||0),a[h].lineCoordinates.x2=a[h].lineCoordinates.x1+a[h].lineThickness/2);"inside"===a[h].tickPlacement&&0<h&&(a[h].lineCoordinates.x1-=a[h].tickLength,a[h].lineCoordinates.x2=a[h].lineCoordinates.x1+a[h].lineThickness/2);a[h].bounds={x1:k-(E[h]+M),y1:r,x2:k-M,y2:n,height:n-
677
- r};a[h].bounds.width=a[h].bounds.x2-a[h].bounds.x1;a[h].title&&(a[h]._titleTextBlock.maxWidth=0<a[h].titleMaxWidth&&a[h].titleMaxWidth<a[h].lineCoordinates.height?a[h].titleMaxWidth:a[h].lineCoordinates.height);a[h].calculateValueToPixelConversionParameters();a[h].calculateBreaksSizeInValues();M+=E[h]+a[h].margin}if(g&&0<g.length)for(h=0;h<g.length;h++){S=g[h]._labels&&0<g[h]._labels.length?g[h]._labels[0].textBlock.fontSize/2:0;d=Math.round(l.x1-e);r=b&&0<b.length?Math.round(b[0]?b[0].lineCoordinates.y2:
678
- l.y1<Math.max(S,10)?Math.max(S,10):l.y1):l.y1<Math.max(S,10)?Math.max(S,10):l.y1;k=Math.round(l.x2-Y-aa);n=c&&0<c.length?Math.round(c[0]?c[0].lineCoordinates.y1:l.y2-$>p.height-Math.max(S,10)?p.height-Math.max(S,10):l.y2-$):l.y2>p.height-Math.max(S,10)?p.height-Math.max(S,10):l.y2;if(c&&0<c.length)for(S=0;S<c.length;S++)c[S]&&c[S].labelAutoFit&&(k=0>c[S].labelAngle?Math.max(k,B):0===c[S].labelAngle?Math.max(k,B/2):k,d=0>c[S].labelAngle||0===c[S].labelAngle?k-Y:d);if(b&&0<b.length)for(S=0;S<b.length;S++)b[S]&&
679
- b[S].labelAutoFit&&(k=b[S].lineCoordinates.x2,d=k-Y);g[h].lineCoordinates={x1:k+R,y1:r,x2:k+R,y2:n,height:Math.abs(n-r)};"inside"===g[h].labelPlacement&&0<h&&(g[h].lineCoordinates.x1=g[h].lineCoordinates.x1+(t[h]-(g[h]._titleTextBlock?g[h]._titleTextBlock.height:0)-2)-g[h].tickLength-(g[h].stripLineLabelEffectiveWidth||0),g[h].lineCoordinates.x2=g[h].lineCoordinates.x1+g[h].lineThickness/2);"inside"===g[h].tickPlacement&&0<h&&(g[h].lineCoordinates.x1+=g[h].tickLength,g[h].lineCoordinates.x2=g[h].lineCoordinates.x1+
680
- g[h].lineThickness/2);g[h].bounds={x1:g[h].lineCoordinates.x1,y1:r,x2:k+t[h]+R,y2:n,width:k-d,height:n-r};g[h].bounds.width=g[h].bounds.x2-g[h].bounds.x1;g[h].title&&(g[h]._titleTextBlock.maxWidth=0<g[h].titleMaxWidth&&g[h].titleMaxWidth<g[h].lineCoordinates.height?g[h].titleMaxWidth:g[h].lineCoordinates.height);g[h].calculateValueToPixelConversionParameters();g[h].calculateBreaksSizeInValues();R+=t[h]+g[h].margin}for(h=0;h<s.length;h++)"axisY"===s[h].type&&(s[h].calculateValueToPixelConversionParameters(),
681
- s[h].calculateBreaksSizeInValues());if(0<C){if(a&&0<a.length)for(h=0;h<a.length;h++)m=O[C-1][h]===O[C][h]?!0:!1;else m=!0;if(g&&0<g.length)for(h=0;h<g.length;h++)K=P[C-1][h]===P[C][h]?!0:!1;else K=!0;if(c&&0<c.length)for(h=0;h<c.length;h++)Q=F[C-1][h]===F[C][h]?!0:!1;else Q=!0;if(b&&0<b.length)for(h=0;h<b.length;h++)N=u[C-1][h]===u[C][h]?!0:!1;else N=!0}if(m&&K&&Q&&N)break;C++}if(c&&0<c.length)for(h=0;h<c.length;h++)c[h].calculateStripLinesThicknessInValues(),c[h].calculateBreaksInPixels();if(b&&
682
- 0<b.length)for(h=0;h<b.length;h++)b[h].calculateStripLinesThicknessInValues(),b[h].calculateBreaksInPixels();if(a&&0<a.length)for(h=0;h<a.length;h++)a[h].calculateStripLinesThicknessInValues(),a[h].calculateBreaksInPixels();if(g&&0<g.length)for(h=0;h<g.length;h++)g[h].calculateStripLinesThicknessInValues(),g[h].calculateBreaksInPixels()}};y.render=function(a,g,c,b,e){var l=a[0]?a[0].chart:g[0].chart;e=l.ctx;l.alignVerticalAxes&&l.alignVerticalAxes();e.save();e.beginPath();a&&a.length&&e.rect(5,a[0].bounds.y1,
683
- a[0].chart.width-10,a[a.length-1].bounds.y2);g&&g.length&&e.rect(5,g[g.length-1].bounds.y1,g[0].chart.width-10,g[0].bounds.y2);e.clip();if(a&&0<a.length)for(var d=0;d<a.length;d++)a[d].renderLabelsTicksAndTitle();if(g&&0<g.length)for(d=0;d<g.length;d++)g[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();l.preparePlotArea();l=l.plotArea;e.save();e.beginPath();e.rect(l.x1,
684
- l.y1,Math.abs(l.x2-l.x1),Math.abs(l.y2-l.y1));e.clip();if(a&&0<a.length)for(d=0;d<a.length;d++)a[d].renderStripLinesOfThicknessType("value");if(g&&0<g.length)for(d=0;d<g.length;d++)g[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(g&&0<g.length)for(d=0;d<g.length;d++)g[d].renderInterlacedColors();
685
- 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(),t&&(a[d].createMask(),a[d].renderBreaksBackground());if(g&&0<g.length)for(d=0;d<g.length;d++)g[d].renderGrid(),t&&(g[d].createMask(),g[d].renderBreaksBackground());if(c&&0<c.length)for(d=0;d<c.length;d++)c[d].renderGrid(),t&&(c[d].createMask(),c[d].renderBreaksBackground());if(b&&0<b.length)for(d=
686
- 0;d<b.length;d++)b[d].renderGrid(),t&&(b[d].createMask(),b[d].renderBreaksBackground());if(a&&0<a.length)for(d=0;d<a.length;d++)a[d].renderAxisLine();if(g&&0<g.length)for(d=0;d<g.length;d++)g[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(g&&0<g.length)for(d=0;d<g.length;d++)g[d].renderStripLinesOfThicknessType("pixel");
687
- 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")};y.prototype.calculateStripLinesThicknessInValues=function(){for(var a=0;a<this.stripLines.length;a++)if(null!==this.stripLines[a].startValue&&null!==this.stripLines[a].endValue){var g=Math.min(this.stripLines[a].startValue,this.stripLines[a].endValue),c=Math.max(this.stripLines[a].startValue,this.stripLines[a].endValue),b=this.getApparentDifference(g,
688
- c);this.stripLines[a].value=this.convertPixelToValue(Math.abs(this.convertValueToPixel(g)+this.convertValueToPixel(c))/2);this.stripLines[a].thickness=b;this.stripLines[a]._thicknessType="value"}};y.prototype.calculateBreaksSizeInValues=function(){for(var a="left"===this._position||"right"===this._position?this.lineCoordinates.height||this.chart.height:this.lineCoordinates.width||this.chart.width,g=this.scaleBreaks?this.scaleBreaks._appliedBreaks:[],c=this.conversionParameters.pixelPerUnit||a/(this.logarithmic?
689
- this.conversionParameters.maximum/this.conversionParameters.minimum:this.conversionParameters.maximum-this.conversionParameters.minimum),b=this.scaleBreaks&&!f(this.scaleBreaks.options.spacing),e,d=0;d<g.length;d++)e=b||!f(g[d].options.spacing),g[d].spacing=Va(g[d].spacing,a,8,e?0.1*a:8,e?0:3)<<0,g[d].size=0>g[d].spacing?0:Math.abs(g[d].spacing/c),this.logarithmic&&(g[d].size=Math.pow(this.logarithmBase,g[d].size))};y.prototype.calculateBreaksInPixels=function(){if(!(this.scaleBreaks&&0>=this.scaleBreaks._appliedBreaks.length)){var a=
690
- this.scaleBreaks?this.scaleBreaks._appliedBreaks:[];a.length&&(this.scaleBreaks.firstBreakIndex=this.scaleBreaks.lastBreakIndex=null);for(var g=0;g<a.length&&!(a[g].startValue>this.conversionParameters.maximum);g++)a[g].endValue<this.conversionParameters.minimum||(f(this.scaleBreaks.firstBreakIndex)&&(this.scaleBreaks.firstBreakIndex=g),a[g].startValue>=this.conversionParameters.minimum&&(a[g].startPixel=this.convertValueToPixel(a[g].startValue),this.scaleBreaks.lastBreakIndex=g),a[g].endValue<=this.conversionParameters.maximum&&
691
- (a[g].endPixel=this.convertValueToPixel(a[g].endValue)))}};y.prototype.renderLabelsTicksAndTitle=function(){var a=this,g=!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,f,r=this.viewportMaximum,k=this.lineCoordinates.width/Math.log(this.range),n=this._labels.length-
692
- 1;0<=n;n--){q=this._labels[n];if(q.position<this.viewportMinimum)break;q.position>this.viewportMaximum||!(n===this._labels.length-1||f<Math.log(r/q.position)*k/e)||(c.push(q),r=q.position,f=q.textBlock.width*Math.abs(Math.cos(Math.PI/180*this.labelAngle))+q.textBlock.height*Math.abs(Math.sin(Math.PI/180*this.labelAngle)))}this._labels=c}else{for(n=0;n<this._labels.length;n++)q=this._labels[n],q.position<this.viewportMinimum||(f=q.textBlock.width*Math.abs(Math.cos(Math.PI/180*this.labelAngle))+q.textBlock.height*
693
- Math.abs(Math.sin(Math.PI/180*this.labelAngle)),c+=f);c>this.lineCoordinates.width*e&&this.labelAutoFit&&(g=!0)}if("left"===this._position||"right"===this._position)if(this.logarithmic&&!this.equidistantInterval&&this.labelAutoFit){for(var c=[],p,r=this.viewportMaximum,k=this.lineCoordinates.height/Math.log(this.range),n=this._labels.length-1;0<=n;n--){q=this._labels[n];if(q.position<this.viewportMinimum)break;q.position>this.viewportMaximum||!(n===this._labels.length-1||p<Math.log(r/q.position)*
694
- k)||(c.push(q),r=q.position,p=q.textBlock.height*Math.abs(Math.cos(Math.PI/180*this.labelAngle))+q.textBlock.width*Math.abs(Math.sin(Math.PI/180*this.labelAngle)))}this._labels=c}else{for(n=0;n<this._labels.length;n++)q=this._labels[n],q.position<this.viewportMinimum||(p=q.textBlock.height*Math.abs(Math.cos(Math.PI/180*this.labelAngle))+q.textBlock.width*Math.abs(Math.sin(Math.PI/180*this.labelAngle)),b+=p);b>this.lineCoordinates.height*e&&this.labelAutoFit&&(g=!0)}}this.logarithmic&&(!this.equidistantInterval&&
695
- this.labelAutoFit)&&this._labels.sort(function(a,b){return a.position-b.position});var n=0,q,s;if("bottom"===this._position){for(n=0;n<this._labels.length;n++)q=this._labels[n],q.position<this.viewportMinimum||q.position>this.viewportMaximum||(s=this.getPixelCoordinatesOnAxis(q.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<<
696
- 0),this.ctx.lineTo(b,s.y+this.tickLength<<0),this.ctx.stroke()),g&&0!==d++%2&&this.labelAutoFit||(0===q.textBlock.angle?(s.x-=q.textBlock.width/2,s.y="inside"===this.labelPlacement?s.y-(("inside"===this.tickPlacement?this.tickLength:0)+q.textBlock.height-q.textBlock.fontSize/2):s.y+("inside"===this.tickPlacement?0:this.tickLength)+q.textBlock.fontSize/2+5):(s.x="inside"===this.labelPlacement?0>this.labelAngle?s.x:s.x-q.textBlock.width*Math.cos(Math.PI/180*this.labelAngle):s.x-(0>this.labelAngle?q.textBlock.width*
697
- 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-("inside"===this.tickPlacement?this.tickLength:0)-Math.abs(q.textBlock.width*Math.sin(Math.PI/180*this.labelAngle)+5):s.y+("inside"===this.tickPlacement?0:this.tickLength)+Math.abs(0>this.labelAngle?q.textBlock.width*Math.sin(Math.PI/180*this.labelAngle)-5:5)),q.textBlock.x=s.x,q.textBlock.y=s.y));"inside"===this.tickPlacement&&this.chart.addEventListener("dataAnimationIterationEnd",
698
- function(){for(n=0;n<a._labels.length;n++)if(q=a._labels[n],!(q.position<a.viewportMinimum||q.position>a.viewportMaximum)&&(s=a.getPixelCoordinatesOnAxis(q.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+
699
- this.lineCoordinates.width/2-this._titleTextBlock.width/2,this._titleTextBlock.y=this.bounds.y2-this._titleTextBlock.height+this._titleTextBlock.fontSize/2-1,this.titleMaxWidth=this._titleTextBlock.maxWidth,this._titleTextBlock.render(!0))}else if("top"===this._position){for(n=0;n<this._labels.length;n++)q=this._labels[n],q.position<this.viewportMinimum||q.position>this.viewportMaximum||(s=this.getPixelCoordinatesOnAxis(q.position),this.tickThickness&&"inside"!=this.tickPlacement&&(this.ctx.lineWidth=
700
- 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()),g&&0!==d++%2&&this.labelAutoFit||(0===q.textBlock.angle?(s.x-=q.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)+q.textBlock.height-q.textBlock.fontSize/2)):
701
- (s.x="inside"===this.labelPlacement?0<this.labelAngle?s.x:s.x-q.textBlock.width*Math.cos(Math.PI/180*this.labelAngle):s.x+(q.textBlock.height-this.labelFontSize)*Math.sin(Math.PI/180*this.labelAngle)-(0<this.labelAngle?q.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-q.textBlock.width*Math.sin(Math.PI/180*this.labelAngle)+("inside"===this.tickPlacement?this.tickLength:0)+5:s.y-
702
- (("inside"===this.tickPlacement?0:this.tickLength)+((q.textBlock.height-q.textBlock.fontSize/2)*Math.cos(Math.PI/180*this.labelAngle)+(0<this.labelAngle?q.textBlock.width*Math.sin(Math.PI/180*this.labelAngle):0)))),q.textBlock.x=s.x,q.textBlock.y=s.y));"inside"===this.tickPlacement&&this.chart.addEventListener("dataAnimationIterationEnd",function(){for(n=0;n<a._labels.length;n++)if(q=a._labels[n],!(q.position<a.viewportMinimum||q.position>a.viewportMaximum)&&(s=a.getPixelCoordinatesOnAxis(q.position),
703
- 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/2,this._titleTextBlock.y=this.bounds.y1+this._titleTextBlock.fontSize/2+1,this.titleMaxWidth=
704
- this._titleTextBlock.maxWidth,this._titleTextBlock.render(!0))}else if("left"===this._position){for(n=0;n<this._labels.length;n++)q=this._labels[n],q.position<this.viewportMinimum||q.position>this.viewportMaximum||(s=this.getPixelCoordinatesOnAxis(q.position),this.tickThickness&&"inside"!=this.tickPlacement&&(this.ctx.lineWidth=this.tickThickness,this.ctx.strokeStyle=this.tickColor,b=1===this.ctx.lineWidth%2?(s.y<<0)+0.5:s.y<<0,this.ctx.beginPath(),this.ctx.moveTo(s.x<<0,b),this.ctx.lineTo(s.x-this.tickLength<<
705
- 0,b),this.ctx.stroke()),g&&0!==d++%2&&this.labelAutoFit||(0===this.labelAngle?(q.textBlock.y=s.y,q.textBlock.x="inside"===this.labelPlacement?s.x+("inside"===this.tickPlacement?this.tickLength:0)+5:s.x-q.textBlock.width*Math.cos(Math.PI/180*this.labelAngle)-("inside"===this.tickPlacement?0:this.tickLength)-5):(q.textBlock.y="inside"===this.labelPlacement?s.y:s.y-q.textBlock.width*Math.sin(Math.PI/180*this.labelAngle),q.textBlock.x="inside"===this.labelPlacement?s.x+("inside"===this.tickPlacement?
706
- this.tickLength:0)+5:0<this.labelAngle?s.x-q.textBlock.width*Math.cos(Math.PI/180*this.labelAngle)-("inside"===this.tickPlacement?0:this.tickLength)-5:s.x-q.textBlock.width*Math.cos(Math.PI/180*this.labelAngle)+(q.textBlock.height-q.textBlock.fontSize/2-5)*Math.sin(Math.PI/180*this.labelAngle)-("inside"===this.tickPlacement?0:this.tickLength))));"inside"===this.tickPlacement&&this.chart.addEventListener("dataAnimationIterationEnd",function(){for(n=0;n<a._labels.length;n++)if(q=a._labels[n],!(q.position<
707
- a.viewportMinimum||q.position>a.viewportMaximum)&&(s=a.getPixelCoordinatesOnAxis(q.position),a.tickThickness)){a.ctx.lineWidth=a.tickThickness;a.ctx.strokeStyle=a.tickColor;var b=1===a.ctx.lineWidth%2?(s.y<<0)+0.5:s.y<<0;a.ctx.save();a.ctx.beginPath();a.ctx.moveTo(s.x<<0,b);a.ctx.lineTo(s.x+a.tickLength<<0,b);a.ctx.stroke();a.ctx.restore()}},this);this.title&&(this._titleTextBlock.measureText(),this._titleTextBlock.x=this.bounds.x1+this._titleTextBlock.fontSize/2+1,this._titleTextBlock.y=this.lineCoordinates.height/
708
- 2+this._titleTextBlock.width/2+this.lineCoordinates.y1,this.titleMaxWidth=this._titleTextBlock.maxWidth,this._titleTextBlock.render(!0))}else if("right"===this._position){for(n=0;n<this._labels.length;n++)q=this._labels[n],q.position<this.viewportMinimum||q.position>this.viewportMaximum||(s=this.getPixelCoordinatesOnAxis(q.position),this.tickThickness&&"inside"!=this.tickPlacement&&(this.ctx.lineWidth=this.tickThickness,this.ctx.strokeStyle=this.tickColor,b=1===this.ctx.lineWidth%2?(s.y<<0)+0.5:s.y<<
709
- 0,this.ctx.beginPath(),this.ctx.moveTo(s.x<<0,b),this.ctx.lineTo(s.x+this.tickLength<<0,b),this.ctx.stroke()),g&&0!==d++%2&&this.labelAutoFit||(0===this.labelAngle?(q.textBlock.y=s.y,q.textBlock.x="inside"===this.labelPlacement?s.x-q.textBlock.width-("inside"===this.tickPlacement?this.tickLength:0)-5:s.x+("inside"===this.tickPlacement?0:this.tickLength)+5):(q.textBlock.y="inside"===this.labelPlacement?s.y-q.textBlock.width*Math.sin(Math.PI/180*this.labelAngle):0>this.labelAngle?s.y:s.y-(q.textBlock.height-
710
- q.textBlock.fontSize/2-5)*Math.cos(Math.PI/180*this.labelAngle),q.textBlock.x="inside"===this.labelPlacement?s.x-q.textBlock.width*Math.cos(Math.PI/180*this.labelAngle)-("inside"===this.tickPlacement?this.tickLength:0)-5:0<this.labelAngle?s.x+(q.textBlock.height-q.textBlock.fontSize/2-5)*Math.sin(Math.PI/180*this.labelAngle)+("inside"===this.tickPlacement?0:this.tickLength):s.x+("inside"===this.tickPlacement?0:this.tickLength)+5)));"inside"===this.tickPlacement&&this.chart.addEventListener("dataAnimationIterationEnd",
711
- function(){for(n=0;n<a._labels.length;n++)if(q=a._labels[n],!(q.position<a.viewportMinimum||q.position>a.viewportMaximum)&&(s=a.getPixelCoordinatesOnAxis(q.position),a.tickThickness)){a.ctx.lineWidth=a.tickThickness;a.ctx.strokeStyle=a.tickColor;var b=1===a.ctx.lineWidth%2?(s.y<<0)+0.5:s.y<<0;a.ctx.save();a.ctx.beginPath();a.ctx.moveTo(s.x<<0,b);a.ctx.lineTo(s.x-a.tickLength<<0,b);a.ctx.stroke();a.ctx.restore()}},this);this.title&&(this._titleTextBlock.measureText(),this._titleTextBlock.x=this.bounds.x2-
712
- this._titleTextBlock.fontSize/2-1,this._titleTextBlock.y=this.lineCoordinates.height/2-this._titleTextBlock.width/2+this.lineCoordinates.y1,this.titleMaxWidth=this._titleTextBlock.maxWidth,this._titleTextBlock.render(!0))}d=0;if("inside"===this.labelPlacement)this.chart.addEventListener("dataAnimationIterationEnd",function(){for(n=0;n<a._labels.length;n++)q=a._labels[n],q.position<a.viewportMinimum||(q.position>a.viewportMaximum||g&&0!==d++%2&&a.labelAutoFit)||(a.ctx.save(),a.ctx.beginPath(),q.textBlock.render(!0),
713
- a.ctx.restore())},this);else for(n=0;n<this._labels.length;n++)q=this._labels[n],q.position<this.viewportMinimum||(q.position>this.viewportMaximum||g&&0!==d++%2&&this.labelAutoFit)||q.textBlock.render(!0)};y.prototype.renderInterlacedColors=function(){var a=this.chart.plotArea.ctx,g,c,b=this.chart.plotArea,e=0;g=!0;if(("bottom"===this._position||"top"===this._position)&&this.interlacedColor)for(a.fillStyle=this.interlacedColor,e=0;e<this._labels.length;e++)g?(g=this.getPixelCoordinatesOnAxis(this._labels[e].position),
714
- c=e+1>this._labels.length-1?this.getPixelCoordinatesOnAxis(this.viewportMaximum):this.getPixelCoordinatesOnAxis(this._labels[e+1].position),a.fillRect(Math.min(c.x,g.x),b.y1,Math.abs(c.x-g.x),Math.abs(b.y1-b.y2)),g=!1):g=!0;else if(("left"===this._position||"right"===this._position)&&this.interlacedColor)for(a.fillStyle=this.interlacedColor,e=0;e<this._labels.length;e++)g?(c=this.getPixelCoordinatesOnAxis(this._labels[e].position),g=e+1>this._labels.length-1?this.getPixelCoordinatesOnAxis(this.viewportMaximum):
715
- this.getPixelCoordinatesOnAxis(this._labels[e+1].position),a.fillRect(b.x1,Math.min(c.y,g.y),Math.abs(b.x1-b.x2),Math.abs(g.y-c.y)),g=!1):g=!0;a.beginPath()};y.prototype.renderStripLinesOfThicknessType=function(a){if(this.stripLines&&0<this.stripLines.length&&a){var g=this,c,b,e=0,d=0,r=!1;b=!1;for(var k=[],m=[],n=!1,e=0;e<this.stripLines.length;e++){var p=this.stripLines[e];p._thicknessType===a&&("pixel"===a&&(p.value<this.viewportMinimum||p.value>this.viewportMaximum||f(p.value)||isNaN(this.range))||
716
- "value"===a&&(p.startValue<=this.viewportMinimum&&p.endValue<=this.viewportMinimum||p.startValue>=this.viewportMaximum&&p.endValue>=this.viewportMaximum||f(p.startValue)||f(p.endValue)||isNaN(this.range))||k.push(p))}for(e=0;e<this._stripLineLabels.length;e++)if(p=this.stripLines[e],c=this._stripLineLabels[e],!(c.position<this.viewportMinimum||c.position>this.viewportMaximum||isNaN(this.range)))if(b=this.getPixelCoordinatesOnAxis(c.position),"outside"===c.stripLine.labelPlacement){p&&(this.ctx.strokeStyle=
717
- p.color,this.ctx.lineWidth="pixel"===p._thicknessType?p.thickness:this.tickThickness);if("bottom"===this._position){var q=1===this.ctx.lineWidth%2?(b.x<<0)+0.5:b.x<<0;this.ctx.beginPath();this.ctx.moveTo(q,b.y<<0);this.ctx.lineTo(q,b.y+this.tickLength<<0);this.ctx.stroke();0===this.labelAngle?(b.x-=c.textBlock.width/2,b.y+=this.tickLength+c.textBlock.fontSize/2+5):(b.x-=0>this.labelAngle?c.textBlock.width*Math.cos(Math.PI/180*this.labelAngle):0,b.y+=this.tickLength+Math.abs(0>this.labelAngle?c.textBlock.width*
718
- Math.sin(Math.PI/180*this.labelAngle)-5:5))}else"top"===this._position?(q=1===this.ctx.lineWidth%2?(b.x<<0)+0.5:b.x<<0,this.ctx.beginPath(),this.ctx.moveTo(q,b.y<<0),this.ctx.lineTo(q,b.y-this.tickLength<<0),this.ctx.stroke(),0===this.labelAngle?(b.x-=c.textBlock.width/2,b.y-=this.tickLength+c.textBlock.height-c.textBlock.fontSize/2):(b.x+=(c.textBlock.height-this.tickLength-this.labelFontSize/2)*Math.sin(Math.PI/180*this.labelAngle)-(0<this.labelAngle?c.textBlock.width*Math.cos(Math.PI/180*this.labelAngle):
719
- 0),b.y-=this.tickLength+(c.textBlock.height*Math.cos(Math.PI/180*this.labelAngle)+(0<this.labelAngle?c.textBlock.width*Math.sin(Math.PI/180*this.labelAngle):0)))):"left"===this._position?(q=1===this.ctx.lineWidth%2?(b.y<<0)+0.5:b.y<<0,this.ctx.beginPath(),this.ctx.moveTo(b.x<<0,q),this.ctx.lineTo(b.x-this.tickLength<<0,q),this.ctx.stroke(),0===this.labelAngle?b.x=b.x-c.textBlock.width*Math.cos(Math.PI/180*this.labelAngle)-this.tickLength-5:(b.y-=c.textBlock.width*Math.sin(Math.PI/180*this.labelAngle),
720
- b.x=0<this.labelAngle?b.x-c.textBlock.width*Math.cos(Math.PI/180*this.labelAngle)-this.tickLength-5:b.x-c.textBlock.width*Math.cos(Math.PI/180*this.labelAngle)+(c.textBlock.height-c.textBlock.fontSize/2-5)*Math.sin(Math.PI/180*this.labelAngle)-this.tickLength)):"right"===this._position&&(q=1===this.ctx.lineWidth%2?(b.y<<0)+0.5:b.y<<0,this.ctx.beginPath(),this.ctx.moveTo(b.x<<0,q),this.ctx.lineTo(b.x+this.tickLength<<0,q),this.ctx.stroke(),0===this.labelAngle?b.x=b.x+this.tickLength+5:(b.y=0>this.labelAngle?
721
- b.y:b.y-(c.textBlock.height-c.textBlock.fontSize/2-5)*Math.cos(Math.PI/180*this.labelAngle),b.x=0<this.labelAngle?b.x+(c.textBlock.height-c.textBlock.fontSize/2-5)*Math.sin(Math.PI/180*this.labelAngle)+this.tickLength:b.x+this.tickLength+5));c.textBlock.x=b.x;c.textBlock.y=b.y;m.push(c)}else p._thicknessType===a&&(c.textBlock.angle=-90,"bottom"===this._position?(c.textBlock.maxWidth=this.options.stripLines[e].labelMaxWidth?this.options.stripLines[e].labelMaxWidth:this.chart.plotArea.height-3,c.textBlock.measureText(),
722
- b.x-c.textBlock.height-p.thickness/2>this.chart.plotArea.x1?f(p.startValue)?b.x-=c.textBlock.height-c.textBlock.fontSize/2+p.thickness/2:b.x-=c.textBlock.height/2-c.textBlock.fontSize/2:(c.textBlock.angle=90,f(p.startValue)?b.x+=c.textBlock.height-c.textBlock.fontSize/2+p.thickness/2:b.x+=c.textBlock.height/2-c.textBlock.fontSize/2),b.y=-90===c.textBlock.angle?"near"===c.stripLine.labelAlign?this.chart.plotArea.y2-3:"center"===c.stripLine.labelAlign?(this.chart.plotArea.y2+this.chart.plotArea.y1+
723
- c.textBlock.width)/2:this.chart.plotArea.y1+c.textBlock.width+3:"near"===c.stripLine.labelAlign?this.chart.plotArea.y2-c.textBlock.width-3:"center"===c.stripLine.labelAlign?(this.chart.plotArea.y2+this.chart.plotArea.y1-c.textBlock.width)/2:this.chart.plotArea.y1+3):"top"===this._position?(c.textBlock.maxWidth=this.options.stripLines[e].labelMaxWidth?this.options.stripLines[e].labelMaxWidth:this.chart.plotArea.height-3,c.textBlock.measureText(),b.x-c.textBlock.height-p.thickness/2>this.chart.plotArea.x1?
724
- f(p.startValue)?b.x-=c.textBlock.height-c.textBlock.fontSize/2+p.thickness/2:b.x-=c.textBlock.height/2-c.textBlock.fontSize/2:(c.textBlock.angle=90,f(p.startValue)?b.x+=c.textBlock.height-c.textBlock.fontSize/2+p.thickness/2:b.x+=c.textBlock.height/2-c.textBlock.fontSize/2),b.y=-90===c.textBlock.angle?"near"===c.stripLine.labelAlign?this.chart.plotArea.y1+c.textBlock.width+3:"center"===c.stripLine.labelAlign?(this.chart.plotArea.y2+this.chart.plotArea.y1+c.textBlock.width)/2:this.chart.plotArea.y2-
725
- 3:"near"===c.stripLine.labelAlign?this.chart.plotArea.y1+3:"center"===c.stripLine.labelAlign?(this.chart.plotArea.y2+this.chart.plotArea.y1-c.textBlock.width)/2:this.chart.plotArea.y2-c.textBlock.width-3):"left"===this._position?(c.textBlock.maxWidth=this.options.stripLines[e].labelMaxWidth?this.options.stripLines[e].labelMaxWidth:this.chart.plotArea.width-3,c.textBlock.angle=0,c.textBlock.measureText(),b.y-c.textBlock.height-p.thickness/2>this.chart.plotArea.y1?f(p.startValue)?b.y-=c.textBlock.height-
726
- c.textBlock.fontSize/2+p.thickness/2:b.y-=c.textBlock.height/2-c.textBlock.fontSize/2:f(p.startValue)?b.y+=c.textBlock.height-c.textBlock.fontSize/2+p.thickness/2:b.y+=c.textBlock.height/2-c.textBlock.fontSize+3,b.x="near"===c.stripLine.labelAlign?this.chart.plotArea.x1+3:"center"===c.stripLine.labelAlign?(this.chart.plotArea.x2+this.chart.plotArea.x1)/2-c.textBlock.width/2:this.chart.plotArea.x2-c.textBlock.width-3):"right"===this._position&&(c.textBlock.maxWidth=this.options.stripLines[e].labelMaxWidth?
727
- this.options.stripLines[e].labelMaxWidth:this.chart.plotArea.width-3,c.textBlock.angle=0,c.textBlock.measureText(),b.y-c.textBlock.height-p.thickness/2>this.chart.plotArea.y1?f(p.startValue)?b.y-=c.textBlock.height-c.textBlock.fontSize/2+p.thickness/2:b.y-=c.textBlock.height/2-c.textBlock.fontSize/2:f(p.startValue)?b.y+=c.textBlock.height-c.textBlock.fontSize/2+p.thickness/2:b.y-=c.textBlock.height/2-c.textBlock.fontSize/2+3,b.x="near"===c.stripLine.labelAlign?this.chart.plotArea.x2-c.textBlock.width-
728
- 3:"center"===c.stripLine.labelAlign?(this.chart.plotArea.x2+this.chart.plotArea.x1)/2-c.textBlock.width/2:this.chart.plotArea.x1+3),c.textBlock.x=b.x,c.textBlock.y=b.y,m.push(c));if(!n){b=!1;this.ctx.save();this.ctx.beginPath();this.ctx.rect(this.chart.plotArea.x1,this.chart.plotArea.y1,this.chart.plotArea.width,this.chart.plotArea.height);this.ctx.clip();for(e=0;e<k.length;e++)p=k[e],p.showOnTop?r||(r=!0,this.chart.addEventListener("dataAnimationIterationEnd",function(){this.ctx.save();this.ctx.beginPath();
729
- this.ctx.rect(this.chart.plotArea.x1,this.chart.plotArea.y1,this.chart.plotArea.width,this.chart.plotArea.height);this.ctx.clip();for(d=0;d<k.length;d++)p=k[d],p.showOnTop&&p.render();this.ctx.restore()},p)):p.render();for(e=0;e<m.length;e++)c=m[e],c.stripLine.showOnTop?b||(b=!0,this.chart.addEventListener("dataAnimationIterationEnd",function(){for(d=0;d<m.length;d++)c=m[d],"inside"===c.stripLine.labelPlacement&&c.stripLine.showOnTop&&(g.ctx.save(),g.ctx.beginPath(),g.ctx.rect(g.chart.plotArea.x1,
730
- g.chart.plotArea.y1,g.chart.plotArea.width,g.chart.plotArea.height),g.ctx.clip(),c.textBlock.render(!0),g.ctx.restore())},c.textBlock)):"inside"===c.stripLine.labelPlacement&&c.textBlock.render(!0);this.ctx.restore();n=!0}if(n)for(b=!1,e=0;e<m.length;e++)c=m[e],"outside"===c.stripLine.labelPlacement&&c.textBlock.render(!0)}};y.prototype.renderBreaksBackground=function(){this.chart._breaksCanvas&&(this.scaleBreaks&&0<this.scaleBreaks._appliedBreaks.length&&this.maskCanvas)&&(this.chart._breaksCanvasCtx.save(),
731
- this.chart._breaksCanvasCtx.beginPath(),this.chart._breaksCanvasCtx.rect(this.chart.plotArea.x1,this.chart.plotArea.y1,this.chart.plotArea.width,this.chart.plotArea.height),this.chart._breaksCanvasCtx.clip(),this.chart._breaksCanvasCtx.drawImage(this.maskCanvas,0,0,this.chart.width,this.chart.height),this.chart._breaksCanvasCtx.restore())};y.prototype.createMask=function(){if(this.scaleBreaks&&0<this.scaleBreaks._appliedBreaks.length){var a=this.scaleBreaks._appliedBreaks;t?(this.maskCanvas=ra(this.chart.width,
732
- this.chart.height),this.maskCtx=this.maskCanvas.getContext("2d")):(this.maskCanvas=this.chart.plotArea.canvas,this.maskCtx=this.chart.plotArea.ctx);this.maskCtx.save();this.maskCtx.beginPath();this.maskCtx.rect(this.chart.plotArea.x1,this.chart.plotArea.y1,this.chart.plotArea.width,this.chart.plotArea.height);this.maskCtx.clip();for(var g=0;g<a.length;g++)a[g].endValue<this.viewportMinimum||(a[g].startValue>this.viewportMaximum||isNaN(this.range))||a[g].render(this.maskCtx);this.maskCtx.restore()}};
733
- y.prototype.renderCrosshair=function(a,g){isFinite(this.minimum)&&isFinite(this.maximum)&&this.crosshair.render(a,g)};y.prototype.showCrosshair=function(a){f(a)||(a<this.viewportMinimum||a>this.viewportMaximum)||("top"===this._position||"bottom"===this._position?this.crosshair.render(this.convertValueToPixel(a),null,a):this.crosshair.render(null,this.convertValueToPixel(a),a))};y.prototype.renderGrid=function(){if(this.gridThickness&&0<this.gridThickness){var a=this.chart.ctx;a.save();var g,c=this.chart.plotArea;
734
- a.lineWidth=this.gridThickness;a.strokeStyle=this.gridColor;a.setLineDash&&a.setLineDash(X(this.gridDashType,this.gridThickness));if("bottom"===this._position||"top"===this._position)for(b=0;b<this._labels.length;b++)this._labels[b].position<this.viewportMinimum||(this._labels[b].position>this.viewportMaximum||this._labels[b].breaksLabelType)||(a.beginPath(),g=this.getPixelCoordinatesOnAxis(this._labels[b].position),g=1===a.lineWidth%2?(g.x<<0)+0.5:g.x<<0,a.moveTo(g,c.y1<<0),a.lineTo(g,c.y2<<0),a.stroke());
735
- else if("left"===this._position||"right"===this._position)for(var b=0;b<this._labels.length;b++)this._labels[b].position<this.viewportMinimum||(this._labels[b].position>this.viewportMaximum||this._labels[b].breaksLabelType)||(a.beginPath(),g=this.getPixelCoordinatesOnAxis(this._labels[b].position),g=1===a.lineWidth%2?(g.y<<0)+0.5:g.y<<0,a.moveTo(c.x1<<0,g),a.lineTo(c.x2<<0,g),a.stroke());a.restore()}};y.prototype.renderAxisLine=function(){var a=this.chart.ctx,g=t?this.chart._preRenderCtx:a,c=Math.ceil(this.tickThickness/
736
- (this.reversed?-2:2)),b=Math.ceil(this.tickThickness/(this.reversed?2:-2)),e,d;g.save();if("bottom"===this._position||"top"===this._position){if(this.lineThickness){this.reversed?(e=this.lineCoordinates.x2,d=this.lineCoordinates.x1):(e=this.lineCoordinates.x1,d=this.lineCoordinates.x2);g.lineWidth=this.lineThickness;g.strokeStyle=this.lineColor?this.lineColor:"black";g.setLineDash&&g.setLineDash(X(this.lineDashType,this.lineThickness));var r=1===this.lineThickness%2?(this.lineCoordinates.y1<<0)+0.5:
737
- this.lineCoordinates.y1<<0;g.beginPath();if(this.scaleBreaks&&!f(this.scaleBreaks.firstBreakIndex))if(f(this.scaleBreaks.lastBreakIndex))e=this.scaleBreaks._appliedBreaks[this.scaleBreaks.firstBreakIndex].endPixel+b;else for(var k=this.scaleBreaks.firstBreakIndex;k<=this.scaleBreaks.lastBreakIndex;k++)g.moveTo(e,r),g.lineTo(this.scaleBreaks._appliedBreaks[k].startPixel+c,r),e=this.scaleBreaks._appliedBreaks[k].endPixel+b;e&&(g.moveTo(e,r),g.lineTo(d,r));g.stroke()}}else if(("left"===this._position||
738
- "right"===this._position)&&this.lineThickness){this.reversed?(e=this.lineCoordinates.y1,d=this.lineCoordinates.y2):(e=this.lineCoordinates.y2,d=this.lineCoordinates.y1);g.lineWidth=this.lineThickness;g.strokeStyle=this.lineColor;g.setLineDash&&g.setLineDash(X(this.lineDashType,this.lineThickness));r=1===this.lineThickness%2?(this.lineCoordinates.x1<<0)+0.5:this.lineCoordinates.x1<<0;g.beginPath();if(this.scaleBreaks&&!f(this.scaleBreaks.firstBreakIndex))if(f(this.scaleBreaks.lastBreakIndex))e=this.scaleBreaks._appliedBreaks[this.scaleBreaks.firstBreakIndex].endPixel+
228
+ J=Infinity,n=-Infinity,p={},q=0;q<a.dataSeriesIndexes.length;q++){var s=this.data[a.dataSeriesIndexes[q]],h=0,x=!1,C=!1,t;if("normal"===s.axisPlacement||"xySwapped"===s.axisPlacement)var u=a.axisX.sessionVariables.newViewportMinimum?a.axisX.sessionVariables.newViewportMinimum:a.axisX.options&&a.axisX.options.viewportMinimum?a.axisX.options.viewportMinimum:a.axisX.options&&a.axisX.options.minimum?a.axisX.options.minimum:-Infinity,m=a.axisX.sessionVariables.newViewportMaximum?a.axisX.sessionVariables.newViewportMaximum:
229
+ a.axisX.options&&a.axisX.options.viewportMaximum?a.axisX.options.viewportMaximum:a.axisX.options&&a.axisX.options.maximum?a.axisX.options.maximum:Infinity;if(s.dataPoints[h].x&&s.dataPoints[h].x.getTime||"dateTime"===s.xValueType)l=!0;for(h=0;h<s.dataPoints.length;h++){"undefined"===typeof s.dataPoints[h].x&&(s.dataPoints[h].x=h+(a.axisX.logarithmic?1:0));s.dataPoints[h].x.getTime?(l=!0,b=s.dataPoints[h].x.getTime()):b=s.dataPoints[h].x;e=f(s.dataPoints[h].y)?0:s.dataPoints[h].y;b<c.min&&(c.min=b);
230
+ b>c.max&&(c.max=b);if(0<h){if(a.axisX.logarithmic){var v=b/s.dataPoints[h-1].x;1>v&&(v=1/v);c.minDiff>v&&1!==v&&(c.minDiff=v)}else v=b-s.dataPoints[h-1].x,0>v&&(v*=-1),c.minDiff>v&&0!==v&&(c.minDiff=v);null!==e&&null!==s.dataPoints[h-1].y&&(a.axisY.logarithmic?0<e&&(v=e/s.dataPoints[h-1].y,1>v&&(v=1/v),g.minDiff>v&&1!==v&&(g.minDiff=v)):(v=e-s.dataPoints[h-1].y,0>v&&(v*=-1),g.minDiff>v&&0!==v&&(g.minDiff=v)))}if(b<u&&!x)null!==s.dataPoints[h].y&&(t=b);else{if(!x&&(x=!0,0<h)){h-=2;continue}if(b>m&&
231
+ !C)C=!0;else if(b>m&&C)continue;s.dataPoints[h].label&&(a.axisX.labels[b]=s.dataPoints[h].label);b<c.viewPortMin&&(c.viewPortMin=b);b>c.viewPortMax&&(c.viewPortMax=b);null===s.dataPoints[h].y?c.viewPortMin===b&&t<b&&(c.viewPortMin=t):(p[b]=(p[b]||0)+s.dataPoints[h].y,s.dataPointEOs[h].cumulativeY=p[b],a.yTotals[b]=(a.yTotals[b]?a.yTotals[b]:0)+e,a.yAbsTotals[b]=(a.yAbsTotals[b]?a.yAbsTotals[b]:0)+Math.abs(e),0<=e?z[b]?z[b]+=e:(z[b]=e,J=Math.min(e,J)):d[b]?d[b]+=e:(d[b]=e,n=Math.max(e,n)))}}a.axisY.scaleBreaks&&
232
+ (a.axisY.scaleBreaks.autoCalculate&&1<=a.axisY.scaleBreaks.maxNumberOfAutoBreaks)&&(g.dataPointYPositiveSums?(g.dataPointYPositiveSums.push.apply(g.dataPointYPositiveSums,z),g.dataPointYNegativeSums.push.apply(g.dataPointYPositiveSums,d)):(g.dataPointYPositiveSums=z,g.dataPointYNegativeSums=d));s.axisX.valueType=s.xValueType=l?"dateTime":"number"}for(h in z)z.hasOwnProperty(h)&&!isNaN(h)&&(a=z[h],a<g.min&&(g.min=Math.min(a,J)),a>g.max&&(g.max=a),h<c.viewPortMin||h>c.viewPortMax||(a<g.viewPortMin&&
233
+ (g.viewPortMin=Math.min(a,J)),a>g.viewPortMax&&(g.viewPortMax=a)));for(h in d)d.hasOwnProperty(h)&&!isNaN(h)&&(a=d[h],a<g.min&&(g.min=a),a>g.max&&(g.max=Math.max(a,n)),h<c.viewPortMin||h>c.viewPortMax||(a<g.viewPortMin&&(g.viewPortMin=a),a>g.viewPortMax&&(g.viewPortMax=Math.max(a,n))))}};k.prototype._processStacked100PlotUnit=function(a){if(a.dataSeriesIndexes&&!(1>a.dataSeriesIndexes.length)){for(var g=a.axisY.dataInfo,c=a.axisX.dataInfo,b,e,l=!1,z=!1,d=!1,J={},n=[],p=0;p<a.dataSeriesIndexes.length;p++){var q=
234
+ this.data[a.dataSeriesIndexes[p]],s=0,h=!1,x=!1,C;if("normal"===q.axisPlacement||"xySwapped"===q.axisPlacement)var t=a.axisX.sessionVariables.newViewportMinimum?a.axisX.sessionVariables.newViewportMinimum:a.axisX.options&&a.axisX.options.viewportMinimum?a.axisX.options.viewportMinimum:a.axisX.options&&a.axisX.options.minimum?a.axisX.options.minimum:-Infinity,u=a.axisX.sessionVariables.newViewportMaximum?a.axisX.sessionVariables.newViewportMaximum:a.axisX.options&&a.axisX.options.viewportMaximum?a.axisX.options.viewportMaximum:
235
+ a.axisX.options&&a.axisX.options.maximum?a.axisX.options.maximum:Infinity;if(q.dataPoints[s].x&&q.dataPoints[s].x.getTime||"dateTime"===q.xValueType)l=!0;for(s=0;s<q.dataPoints.length;s++){"undefined"===typeof q.dataPoints[s].x&&(q.dataPoints[s].x=s+(a.axisX.logarithmic?1:0));q.dataPoints[s].x.getTime?(l=!0,b=q.dataPoints[s].x.getTime()):b=q.dataPoints[s].x;e=f(q.dataPoints[s].y)?null:q.dataPoints[s].y;b<c.min&&(c.min=b);b>c.max&&(c.max=b);if(0<s){if(a.axisX.logarithmic){var m=b/q.dataPoints[s-1].x;
236
+ 1>m&&(m=1/m);c.minDiff>m&&1!==m&&(c.minDiff=m)}else m=b-q.dataPoints[s-1].x,0>m&&(m*=-1),c.minDiff>m&&0!==m&&(c.minDiff=m);f(e)||null===q.dataPoints[s-1].y||(a.axisY.logarithmic?0<e&&(m=e/q.dataPoints[s-1].y,1>m&&(m=1/m),g.minDiff>m&&1!==m&&(g.minDiff=m)):(m=e-q.dataPoints[s-1].y,0>m&&(m*=-1),g.minDiff>m&&0!==m&&(g.minDiff=m)))}if(b<t&&!h)null!==e&&(C=b);else{if(!h&&(h=!0,0<s)){s-=2;continue}if(b>u&&!x)x=!0;else if(b>u&&x)continue;q.dataPoints[s].label&&(a.axisX.labels[b]=q.dataPoints[s].label);b<
237
+ c.viewPortMin&&(c.viewPortMin=b);b>c.viewPortMax&&(c.viewPortMax=b);null===e?c.viewPortMin===b&&C<b&&(c.viewPortMin=C):(J[b]=(J[b]||0)+q.dataPoints[s].y,q.dataPointEOs[s].cumulativeY=J[b],a.yTotals[b]=(a.yTotals[b]?a.yTotals[b]:0)+e,a.yAbsTotals[b]=(a.yAbsTotals[b]?a.yAbsTotals[b]:0)+Math.abs(e),0<=e?z=!0:0>e&&(d=!0),n[b]=n[b]?n[b]+Math.abs(e):Math.abs(e))}}q.axisX.valueType=q.xValueType=l?"dateTime":"number"}a.axisY.logarithmic?(g.max=f(g.viewPortMax)?99*Math.pow(a.axisY.logarithmBase,-0.05):Math.max(g.viewPortMax,
238
+ 99*Math.pow(a.axisY.logarithmBase,-0.05)),g.min=f(g.viewPortMin)?1:Math.min(g.viewPortMin,1)):z&&!d?(g.max=f(g.viewPortMax)?99:Math.max(g.viewPortMax,99),g.min=f(g.viewPortMin)?1:Math.min(g.viewPortMin,1)):z&&d?(g.max=f(g.viewPortMax)?99:Math.max(g.viewPortMax,99),g.min=f(g.viewPortMin)?-99:Math.min(g.viewPortMin,-99)):!z&&d&&(g.max=f(g.viewPortMax)?-1:Math.max(g.viewPortMax,-1),g.min=f(g.viewPortMin)?-99:Math.min(g.viewPortMin,-99));g.viewPortMin=g.min;g.viewPortMax=g.max;a.dataPointYSums=n}};k.prototype._processMultiYPlotUnit=
239
+ function(a){if(a.dataSeriesIndexes&&!(1>a.dataSeriesIndexes.length))for(var g=a.axisY.dataInfo,c=a.axisX.dataInfo,b,e,l,z,f=!1,d=0;d<a.dataSeriesIndexes.length;d++){var n=this.data[a.dataSeriesIndexes[d]],p=0,q=!1,s=!1,h,x,C;if("normal"===n.axisPlacement||"xySwapped"===n.axisPlacement)var t=a.axisX.sessionVariables.newViewportMinimum?a.axisX.sessionVariables.newViewportMinimum:a.axisX.options&&a.axisX.options.viewportMinimum?a.axisX.options.viewportMinimum:a.axisX.options&&a.axisX.options.minimum?
240
+ a.axisX.options.minimum:a.axisX.logarithmic?0:-Infinity,u=a.axisX.sessionVariables.newViewportMaximum?a.axisX.sessionVariables.newViewportMaximum:a.axisX.options&&a.axisX.options.viewportMaximum?a.axisX.options.viewportMaximum:a.axisX.options&&a.axisX.options.maximum?a.axisX.options.maximum:Infinity;if(n.dataPoints[p].x&&n.dataPoints[p].x.getTime||"dateTime"===n.xValueType)f=!0;for(p=0;p<n.dataPoints.length;p++){"undefined"===typeof n.dataPoints[p].x&&(n.dataPoints[p].x=p+(a.axisX.logarithmic?1:0));
241
+ n.dataPoints[p].x.getTime?(f=!0,b=n.dataPoints[p].x.getTime()):b=n.dataPoints[p].x;if((e=n.dataPoints[p].y)&&e.length){l=Math.min.apply(null,e);z=Math.max.apply(null,e);x=!0;for(var m=0;m<e.length;m++)null===e.k&&(x=!1);x&&(q||(C=h),h=b)}b<c.min&&(c.min=b);b>c.max&&(c.max=b);l<g.min&&(g.min=l);z>g.max&&(g.max=z);0<p&&(a.axisX.logarithmic?(x=b/n.dataPoints[p-1].x,1>x&&(x=1/x),c.minDiff>x&&1!==x&&(c.minDiff=x)):(x=b-n.dataPoints[p-1].x,0>x&&(x*=-1),c.minDiff>x&&0!==x&&(c.minDiff=x)),e&&(null!==e[0]&&
242
+ n.dataPoints[p-1].y&&null!==n.dataPoints[p-1].y[0])&&(a.axisY.logarithmic?(x=e[0]/n.dataPoints[p-1].y[0],1>x&&(x=1/x),g.minDiff>x&&1!==x&&(g.minDiff=x)):(x=e[0]-n.dataPoints[p-1].y[0],0>x&&(x*=-1),g.minDiff>x&&0!==x&&(g.minDiff=x))));if(!(b<t)||q){if(!q&&(q=!0,0<p)){p-=2;h=C;continue}if(b>u&&!s)s=!0;else if(b>u&&s)continue;n.dataPoints[p].label&&(a.axisX.labels[b]=n.dataPoints[p].label);b<c.viewPortMin&&(c.viewPortMin=b);b>c.viewPortMax&&(c.viewPortMax=b);if(c.viewPortMin===b&&e)for(m=0;m<e.length;m++)if(null===
243
+ e[m]&&h<b){c.viewPortMin=h;break}null===e?c.viewPortMin===b&&h<b&&(c.viewPortMin=h):(l<g.viewPortMin&&(g.viewPortMin=l),z>g.viewPortMax&&(g.viewPortMax=z))}}n.axisX.valueType=n.xValueType=f?"dateTime":"number"}};k.prototype._processSpecificPlotUnit=function(a){if("waterfall"===a.type&&a.dataSeriesIndexes&&!(1>a.dataSeriesIndexes.length))for(var g=a.axisY.dataInfo,c=a.axisX.dataInfo,b,e,l=!1,z=0;z<a.dataSeriesIndexes.length;z++){var f=this.data[a.dataSeriesIndexes[z]],d=0,n=!1,p=!1,q=b=0;if("normal"===
244
+ f.axisPlacement||"xySwapped"===f.axisPlacement)var s=a.axisX.sessionVariables.newViewportMinimum?a.axisX.sessionVariables.newViewportMinimum:a.axisX.options&&a.axisX.options.viewportMinimum?a.axisX.options.viewportMinimum:a.axisX.options&&a.axisX.options.minimum?a.axisX.options.minimum:a.axisX.logarithmic?0:-Infinity,h=a.axisX.sessionVariables.newViewportMaximum?a.axisX.sessionVariables.newViewportMaximum:a.axisX.options&&a.axisX.options.viewportMaximum?a.axisX.options.viewportMaximum:a.axisX.options&&
245
+ a.axisX.options.maximum?a.axisX.options.maximum:Infinity;if(f.dataPoints[d].x&&f.dataPoints[d].x.getTime||"dateTime"===f.xValueType)l=!0;for(d=0;d<f.dataPoints.length;d++)"undefined"!==typeof f.dataPoints[d].isCumulativeSum&&!0===f.dataPoints[d].isCumulativeSum?(f.dataPointEOs[d].cumulativeSumYStartValue=0,f.dataPointEOs[d].cumulativeSum=0===d?0:f.dataPointEOs[d-1].cumulativeSum,f.dataPoints[d].y=0===d?0:f.dataPointEOs[d-1].cumulativeSum):"undefined"!==typeof f.dataPoints[d].isIntermediateSum&&!0===
246
+ f.dataPoints[d].isIntermediateSum?(f.dataPointEOs[d].cumulativeSumYStartValue=q,f.dataPointEOs[d].cumulativeSum=0===d?0:f.dataPointEOs[d-1].cumulativeSum,f.dataPoints[d].y=0===d?0:b,q=0===d?0:f.dataPointEOs[d-1].cumulativeSum,b=0):(e="number"!==typeof f.dataPoints[d].y?0:f.dataPoints[d].y,f.dataPointEOs[d].cumulativeSumYStartValue=0===d?0:f.dataPointEOs[d-1].cumulativeSum,f.dataPointEOs[d].cumulativeSum=0===d?e:f.dataPointEOs[d-1].cumulativeSum+e,b+=e);for(d=0;d<f.dataPoints.length;d++)if("undefined"===
247
+ typeof f.dataPoints[d].x&&(f.dataPoints[d].x=d+(a.axisX.logarithmic?1:0)),f.dataPoints[d].x.getTime?(l=!0,b=f.dataPoints[d].x.getTime()):b=f.dataPoints[d].x,e=f.dataPoints[d].y,b<c.min&&(c.min=b),b>c.max&&(c.max=b),f.dataPointEOs[d].cumulativeSum<g.min&&(g.min=f.dataPointEOs[d].cumulativeSum),f.dataPointEOs[d].cumulativeSum>g.max&&(g.max=f.dataPointEOs[d].cumulativeSum),0<d&&(a.axisX.logarithmic?(q=b/f.dataPoints[d-1].x,1>q&&(q=1/q),c.minDiff>q&&1!==q&&(c.minDiff=q)):(q=b-f.dataPoints[d-1].x,0>q&&
248
+ (q*=-1),c.minDiff>q&&0!==q&&(c.minDiff=q)),null!==e&&null!==f.dataPoints[d-1].y&&(a.axisY.logarithmic?(e=f.dataPointEOs[d].cumulativeSum/f.dataPointEOs[d-1].cumulativeSum,1>e&&(e=1/e),g.minDiff>e&&1!==e&&(g.minDiff=e)):(e=f.dataPointEOs[d].cumulativeSum-f.dataPointEOs[d-1].cumulativeSum,0>e&&(e*=-1),g.minDiff>e&&0!==e&&(g.minDiff=e)))),!(b<s)||n){if(!n&&(n=!0,0<d)){d-=2;continue}if(b>h&&!p)p=!0;else if(b>h&&p)continue;f.dataPoints[d].label&&(a.axisX.labels[b]=f.dataPoints[d].label);b<c.viewPortMin&&
249
+ (c.viewPortMin=b);b>c.viewPortMax&&(c.viewPortMax=b);0<d&&(f.dataPointEOs[d-1].cumulativeSum<g.viewPortMin&&(g.viewPortMin=f.dataPointEOs[d-1].cumulativeSum),f.dataPointEOs[d-1].cumulativeSum>g.viewPortMax&&(g.viewPortMax=f.dataPointEOs[d-1].cumulativeSum));f.dataPointEOs[d].cumulativeSum<g.viewPortMin&&(g.viewPortMin=f.dataPointEOs[d].cumulativeSum);f.dataPointEOs[d].cumulativeSum>g.viewPortMax&&(g.viewPortMax=f.dataPointEOs[d].cumulativeSum)}f.axisX.valueType=f.xValueType=l?"dateTime":"number"}};
250
+ k.prototype.calculateAutoBreaks=function(){function a(a,b,c,e){if(e)return c=Math.pow(Math.min(c*a/b,b/a),0.2),1>=c&&(c=Math.pow(1>a?1/a:Math.min(b/a,a),0.25)),{startValue:a*c,endValue:b/c};c=0.2*Math.min(c-b+a,b-a);0>=c&&(c=0.25*Math.min(b-a,Math.abs(a)));return{startValue:a+c,endValue:b-c}}function g(a){if(a.dataSeriesIndexes&&!(1>a.dataSeriesIndexes.length)){var b=a.axisX.scaleBreaks&&a.axisX.scaleBreaks.autoCalculate&&1<=a.axisX.scaleBreaks.maxNumberOfAutoBreaks,c=a.axisY.scaleBreaks&&a.axisY.scaleBreaks.autoCalculate&&
251
+ 1<=a.axisY.scaleBreaks.maxNumberOfAutoBreaks;if(b||c)for(var g=a.axisY.dataInfo,h=a.axisX.dataInfo,l,z=h.min,n=h.max,p=g.min,d=g.max,h=h._dataRanges,g=g._dataRanges,s,q=0,na=0;na<a.dataSeriesIndexes.length;na++){var C=e.data[a.dataSeriesIndexes[na]];if(!(4>C.dataPoints.length))for(q=0;q<C.dataPoints.length;q++)if(b&&(s=(n+1-z)*Math.max(parseFloat(a.axisX.scaleBreaks.collapsibleThreshold)||10,10)/100,l=C.dataPoints[q].x.getTime?C.dataPoints[q].x.getTime():C.dataPoints[q].x,s=Math.floor((l-z)/s),l<
252
+ h[s].min&&(h[s].min=l),l>h[s].max&&(h[s].max=l)),c){var J=(d+1-p)*Math.max(parseFloat(a.axisY.scaleBreaks.collapsibleThreshold)||10,10)/100;if((l="waterfall"===a.type?C.dataPointEOs[q].cumulativeSum:C.dataPoints[q].y)&&l.length)for(var t=0;t<l.length;t++)s=Math.floor((l[t]-p)/J),l[t]<g[s].min&&(g[s].min=l[t]),l[t]>g[s].max&&(g[s].max=l[t]);else f(l)||(s=Math.floor((l-p)/J),l<g[s].min&&(g[s].min=l),l>g[s].max&&(g[s].max=l))}}}}function c(a){if(a.dataSeriesIndexes&&!(1>a.dataSeriesIndexes.length)&&
253
+ a.axisX.scaleBreaks&&a.axisX.scaleBreaks.autoCalculate&&1<=a.axisX.scaleBreaks.maxNumberOfAutoBreaks)for(var b=a.axisX.dataInfo,c=b.min,g=b.max,h=b._dataRanges,l,z=0,f=0;f<a.dataSeriesIndexes.length;f++){var n=e.data[a.dataSeriesIndexes[f]];if(!(4>n.dataPoints.length))for(z=0;z<n.dataPoints.length;z++)l=(g+1-c)*Math.max(parseFloat(a.axisX.scaleBreaks.collapsibleThreshold)||10,10)/100,b=n.dataPoints[z].x.getTime?n.dataPoints[z].x.getTime():n.dataPoints[z].x,l=Math.floor((b-c)/l),b<h[l].min&&(h[l].min=
254
+ b),b>h[l].max&&(h[l].max=b)}}for(var b,e=this,l=!1,z=0;z<this._axes.length;z++)if(this._axes[z].scaleBreaks&&this._axes[z].scaleBreaks.autoCalculate&&1<=this._axes[z].scaleBreaks.maxNumberOfAutoBreaks){l=!0;this._axes[z].dataInfo._dataRanges=[];for(var d=0;d<100/Math.max(parseFloat(this._axes[z].scaleBreaks.collapsibleThreshold)||10,10);d++)this._axes[z].dataInfo._dataRanges.push({min:Infinity,max:-Infinity})}if(l){for(z=0;z<this.plotInfo.plotTypes.length;z++)for(l=this.plotInfo.plotTypes[z],d=0;d<
255
+ l.plotUnits.length;d++)b=l.plotUnits[d],"line"===b.type||"stepLine"===b.type||"spline"===b.type||"column"===b.type||"area"===b.type||"stepArea"===b.type||"splineArea"===b.type||"bar"===b.type||"bubble"===b.type||"scatter"===b.type||"candlestick"===b.type||"ohlc"===b.type||"rangeColumn"===b.type||"rangeBar"===b.type||"rangeArea"===b.type||"rangeSplineArea"===b.type||"waterfall"===b.type||"error"===b.type||"boxAndWhisker"===b.type?g(b):0<=b.type.indexOf("stacked")&&c(b);for(z=0;z<this._axes.length;z++)if(this._axes[z].dataInfo._dataRanges){var C=
256
+ this._axes[z].dataInfo.min;b=(this._axes[z].dataInfo.max+1-C)*Math.max(parseFloat(this._axes[z].scaleBreaks.collapsibleThreshold)||10,10)/100;var n=this._axes[z].dataInfo._dataRanges,p,q,l=[];if(this._axes[z].dataInfo.dataPointYPositiveSums){var s=this._axes[z].dataInfo.dataPointYPositiveSums;p=n;for(d in s)if(s.hasOwnProperty(d)&&!isNaN(d)&&(q=s[d],!f(q))){var h=Math.floor((q-C)/b);q<p[h].min&&(p[h].min=q);q>p[h].max&&(p[h].max=q)}delete this._axes[z].dataInfo.dataPointYPositiveSums}if(this._axes[z].dataInfo.dataPointYNegativeSums){s=
257
+ this._axes[z].dataInfo.dataPointYNegativeSums;p=n;for(d in s)s.hasOwnProperty(d)&&!isNaN(d)&&(q=-1*s[d],f(q)||(h=Math.floor((q-C)/b),q<p[h].min&&(p[h].min=q),q>p[h].max&&(p[h].max=q)));delete this._axes[z].dataInfo.dataPointYNegativeSums}for(d=0;d<n.length-1;d++)if(p=n[d].max,isFinite(p))for(;d<n.length-1;)if(C=n[d+1].min,isFinite(C)){q=C-p;q>b&&l.push({diff:q,start:p,end:C});break}else d++;if(this._axes[z].scaleBreaks.customBreaks)for(d=0;d<this._axes[z].scaleBreaks.customBreaks.length;d++)for(b=
258
+ 0;b<l.length;b++)if(this._axes[z].scaleBreaks.customBreaks[d].startValue<=l[b].start&&l[b].start<=this._axes[z].scaleBreaks.customBreaks[d].endValue||this._axes[z].scaleBreaks.customBreaks[d].startValue<=l[b].start&&l[b].start<=this._axes[z].scaleBreaks.customBreaks[d].endValue||l[b].start<=this._axes[z].scaleBreaks.customBreaks[d].startValue&&this._axes[z].scaleBreaks.customBreaks[d].startValue<=l[b].end||l[b].start<=this._axes[z].scaleBreaks.customBreaks[d].endValue&&this._axes[z].scaleBreaks.customBreaks[d].endValue<=
259
+ l[b].end)l.splice(b,1),b--;l.sort(function(a,b){return b.diff-a.diff});for(d=0;d<Math.min(l.length,this._axes[z].scaleBreaks.maxNumberOfAutoBreaks);d++)b=a(l[d].start,l[d].end,this._axes[z].logarithmic?this._axes[z].dataInfo.max/this._axes[z].dataInfo.min:this._axes[z].dataInfo.max-this._axes[z].dataInfo.min,this._axes[z].logarithmic),this._axes[z].scaleBreaks.autoBreaks.push(new T(this,"autoBreaks",b,d,++this._eventManager.lastObjectId,this._axes[z].scaleBreaks)),this._axes[z].scaleBreaks._appliedBreaks.push(this._axes[z].scaleBreaks.autoBreaks[this._axes[z].scaleBreaks.autoBreaks.length-
260
+ 1]);this._axes[z].scaleBreaks._appliedBreaks.sort(function(a,b){return a.startValue-b.startValue})}}};k.prototype.renderCrosshairs=function(a){for(var g=0;g<this.axisX.length;g++)this.axisX[g]!=a&&(this.axisX[g].crosshair&&this.axisX[g].crosshair.enabled&&!this.axisX[g].crosshair._hidden)&&this.axisX[g].showCrosshair(this.axisX[g].crosshair._updatedValue);for(g=0;g<this.axisX2.length;g++)this.axisX2[g]!=a&&(this.axisX2[g].crosshair&&this.axisX2[g].crosshair.enabled&&!this.axisX2[g].crosshair._hidden)&&
261
+ this.axisX2[g].showCrosshair(this.axisX2[g].crosshair._updatedValue);for(g=0;g<this.axisY.length;g++)this.axisY[g]!=a&&(this.axisY[g].crosshair&&this.axisY[g].crosshair.enabled&&!this.axisY[g].crosshair._hidden)&&this.axisY[g].showCrosshair(this.axisY[g].crosshair._updatedValue);for(g=0;g<this.axisY2.length;g++)this.axisY2[g]!=a&&(this.axisY2[g].crosshair&&this.axisY2[g].crosshair.enabled&&!this.axisY2[g].crosshair._hidden)&&this.axisY2[g].showCrosshair(this.axisY2[g].crosshair._updatedValue)};k.prototype.getDataPointAtXY=
262
+ function(a,g,c){c=c||!1;for(var b=[],e=this._dataInRenderedOrder.length-1;0<=e;e--){var l=null;(l=this._dataInRenderedOrder[e].getDataPointAtXY(a,g,c))&&b.push(l)}a=null;g=!1;for(c=0;c<b.length;c++)if("line"===b[c].dataSeries.type||"stepLine"===b[c].dataSeries.type||"area"===b[c].dataSeries.type||"stepArea"===b[c].dataSeries.type)if(e=qa("markerSize",b[c].dataPoint,b[c].dataSeries)||8,b[c].distance<=e/2){g=!0;break}for(c=0;c<b.length;c++)g&&"line"!==b[c].dataSeries.type&&"stepLine"!==b[c].dataSeries.type&&
263
+ "area"!==b[c].dataSeries.type&&"stepArea"!==b[c].dataSeries.type||(a?b[c].distance<=a.distance&&(a=b[c]):a=b[c]);return a};k.prototype.getObjectAtXY=function(a,g,c){var b=null;if(c=this.getDataPointAtXY(a,g,c||!1))b=c.dataSeries.dataPointIds[c.dataPointIndex];else if(t)b=jb(a,g,this._eventManager.ghostCtx);else for(c=0;c<this.legend.items.length;c++){var e=this.legend.items[c];a>=e.x1&&(a<=e.x2&&g>=e.y1&&g<=e.y2)&&(b=e.id)}return b};k.prototype.getAutoFontSize=nb;k.prototype.resetOverlayedCanvas=
264
+ function(){this.overlaidCanvasCtx.clearRect(0,0,this.width,this.height)};k.prototype.clearCanvas=mb;k.prototype.attachEvent=function(a){this._events.push(a)};k.prototype._touchEventHandler=function(a){if(a.changedTouches&&this.interactivityEnabled){var g=[],c=a.changedTouches,b=c?c[0]:a,e=null;switch(a.type){case "touchstart":case "MSPointerDown":g=["mousemove","mousedown"];this._lastTouchData=za(b);this._lastTouchData.time=new Date;break;case "touchmove":case "MSPointerMove":g=["mousemove"];break;
265
+ case "touchend":case "MSPointerUp":var l=this._lastTouchData&&this._lastTouchData.time?new Date-this._lastTouchData.time:0,g="touchstart"===this._lastTouchEventType||"MSPointerDown"===this._lastTouchEventType||300>l?["mouseup","click"]:["mouseup"];break;default:return}if(!(c&&1<c.length)){e=za(b);e.time=new Date;try{var z=e.y-this._lastTouchData.y,l=e.time-this._lastTouchData.time;if(1<Math.abs(z)&&this._lastTouchData.scroll||5<Math.abs(z)&&250>l)this._lastTouchData.scroll=!0}catch(d){}this._lastTouchEventType=
266
+ a.type;if(this._lastTouchData.scroll&&this.zoomEnabled)this.isDrag&&this.resetOverlayedCanvas(),this.isDrag=!1;else for(c=0;c<g.length;c++)if(e=g[c],z=document.createEvent("MouseEvent"),z.initMouseEvent(e,!0,!0,window,1,b.screenX,b.screenY,b.clientX,b.clientY,!1,!1,!1,!1,0,null),b.target.dispatchEvent(z),!f(this._lastTouchData.scroll)&&!this._lastTouchData.scroll||!this._lastTouchData.scroll&&250<l||"click"===e)a.preventManipulation&&a.preventManipulation(),a.preventDefault&&a.cancelable&&a.preventDefault()}}};
267
+ k.prototype._dispatchRangeEvent=function(a,g){var c={chart:this};c.type=a;c.trigger=g;var b=[];this.axisX&&0<this.axisX.length&&b.push("axisX");this.axisX2&&0<this.axisX2.length&&b.push("axisX2");this.axisY&&0<this.axisY.length&&b.push("axisY");this.axisY2&&0<this.axisY2.length&&b.push("axisY2");for(var e=0;e<b.length;e++)if(f(c[b[e]])&&(c[b[e]]=[]),"axisY"===b[e])for(var l=0;l<this.axisY.length;l++)c[b[e]].push({viewportMinimum:this[b[e]][l].sessionVariables.newViewportMinimum,viewportMaximum:this[b[e]][l].sessionVariables.newViewportMaximum});
268
+ else if("axisY2"===b[e])for(l=0;l<this.axisY2.length;l++)c[b[e]].push({viewportMinimum:this[b[e]][l].sessionVariables.newViewportMinimum,viewportMaximum:this[b[e]][l].sessionVariables.newViewportMaximum});else if("axisX"===b[e])for(l=0;l<this.axisX.length;l++)c[b[e]].push({viewportMinimum:this[b[e]][l].sessionVariables.newViewportMinimum,viewportMaximum:this[b[e]][l].sessionVariables.newViewportMaximum});else if("axisX2"===b[e])for(l=0;l<this.axisX2.length;l++)c[b[e]].push({viewportMinimum:this[b[e]][l].sessionVariables.newViewportMinimum,
269
+ viewportMaximum:this[b[e]][l].sessionVariables.newViewportMaximum});this.dispatchEvent(a,c,this)};k.prototype._mouseEventHandler=function(a){function g(){k.capturedEventParam&&(e=k.capturedEventParam,z=e.bounds,"mouseup"===b&&(k.capturedEventParam=null,e.chart.overlaidCanvas.releaseCapture?e.chart.overlaidCanvas.releaseCapture():document.documentElement.removeEventListener("mouseup",e.chart._mouseEventHandler,!1)),e.hasOwnProperty(b)&&("mouseup"!==b||e.chart.overlaidCanvas.releaseCapture?a.target!==
270
+ e.chart.overlaidCanvas&&t||e[b].call(e.context,c.x,c.y):a.target!==e.chart.overlaidCanvas&&(e.chart.isDrag=!1)))}"undefined"===typeof a.target&&a.srcElement&&(a.target=a.srcElement);var c=za(a),b=a.type,e,l;a.which?l=3==a.which:a.button&&(l=2==a.button);if(this._ignoreNextEvent)g(),this._ignoreNextEvent=!1;else if(g(),this.interactivityEnabled){a.preventManipulation&&a.preventManipulation();a.preventDefault&&a.preventDefault();var z;La&&window.console&&(window.console.log(b+" --\x3e x: "+c.x+"; y:"+
271
+ c.y),l&&window.console.log(a.which),"mouseup"===b&&window.console.log("mouseup"));if(!l){if(!k.capturedEventParam&&this._events){for(l=0;l<this._events.length;l++)if(this._events[l].hasOwnProperty(b))if(e=this._events[l],z=e.bounds,c.x>=z.x1&&c.x<=z.x2&&c.y>=z.y1&&c.y<=z.y2){e[b].call(e.context,c.x,c.y);"mousedown"===b&&!0===e.capture?(k.capturedEventParam=e,this.overlaidCanvas.setCapture?this.overlaidCanvas.setCapture():document.documentElement.addEventListener("mouseup",this._mouseEventHandler,
272
+ !1)):"mouseup"===b&&(e.chart.overlaidCanvas.releaseCapture?e.chart.overlaidCanvas.releaseCapture():document.documentElement.removeEventListener("mouseup",this._mouseEventHandler,!1));break}else e=null;a.target.style.cursor=e&&e.cursor?e.cursor:this._defaultCursor}l=this.plotArea;if(c.x<l.x1||c.x>l.x2||c.y<l.y1||c.y>l.y2){this.toolTip&&this.toolTip.enabled?(this.toolTip.hide(),this.toolTip.dispatchEvent("hidden",{chart:this,toolTip:this.toolTip},this.toolTip)):this.resetOverlayedCanvas();for(l=0;l<
273
+ this.axisX.length;l++)this.axisX[l].crosshair&&this.axisX[l].crosshair.enabled&&(this.axisX[l].crosshair.hide(),this.axisX[l].crosshair.dispatchEvent("hidden",{chart:this,axis:this.axisX[l].options},this.axisX[l].crosshair));for(l=0;l<this.axisX2.length;l++)this.axisX2[l].crosshair&&this.axisX2[l].crosshair.enabled&&(this.axisX2[l].crosshair.hide(),this.axisX2[l].crosshair.dispatchEvent("hidden",{chart:this,axis:this.axisX2[l].options},this.axisX2[l].crosshair));for(l=0;l<this.axisY.length;l++)this.axisY[l].crosshair&&
274
+ this.axisY[l].crosshair.enabled&&(this.axisY[l].crosshair.hide(),this.axisY[l].crosshair.dispatchEvent("hidden",{chart:this,axis:this.axisY[l].options},this.axisY[l].crosshair));for(l=0;l<this.axisY2.length;l++)this.axisY2[l].crosshair&&this.axisY2[l].crosshair.enabled&&(this.axisY2[l].crosshair.hide(),this.axisY2[l].crosshair.dispatchEvent("hidden",{chart:this,axis:this.axisY2[l].options},this.axisY2[l].crosshair))}this.isDrag&&this.zoomEnabled||!this._eventManager||this._eventManager.mouseEventHandler(a)}}};
275
+ k.prototype._plotAreaMouseDown=function(a,g){this.isDrag=!0;this.dragStartPoint={x:a,y:g}};k.prototype._plotAreaMouseUp=function(a,g){if(("normal"===this.plotInfo.axisPlacement||"xySwapped"===this.plotInfo.axisPlacement)&&this.isDrag){var c=g-this.dragStartPoint.y,b=a-this.dragStartPoint.x,e=0<=this.zoomType.indexOf("x"),l=0<=this.zoomType.indexOf("y"),z=!1;this.resetOverlayedCanvas();if("xySwapped"===this.plotInfo.axisPlacement)var f=l,l=e,e=f;if(this.panEnabled||this.zoomEnabled){if(this.panEnabled)for(e=
276
+ l=0;e<this._axes.length;e++)c=this._axes[e],c.logarithmic?c.viewportMinimum<c.minimum?(l=c.minimum/c.viewportMinimum,c.sessionVariables.newViewportMinimum=c.viewportMinimum*l,c.sessionVariables.newViewportMaximum=c.viewportMaximum*l,z=!0):c.viewportMaximum>c.maximum&&(l=c.viewportMaximum/c.maximum,c.sessionVariables.newViewportMinimum=c.viewportMinimum/l,c.sessionVariables.newViewportMaximum=c.viewportMaximum/l,z=!0):c.viewportMinimum<c.minimum?(l=c.minimum-c.viewportMinimum,c.sessionVariables.newViewportMinimum=
277
+ c.viewportMinimum+l,c.sessionVariables.newViewportMaximum=c.viewportMaximum+l,z=!0):c.viewportMaximum>c.maximum&&(l=c.viewportMaximum-c.maximum,c.sessionVariables.newViewportMinimum=c.viewportMinimum-l,c.sessionVariables.newViewportMaximum=c.viewportMaximum-l,z=!0);else if((!e||2<Math.abs(b))&&(!l||2<Math.abs(c))&&this.zoomEnabled){if(!this.dragStartPoint)return;c=e?this.dragStartPoint.x:this.plotArea.x1;b=l?this.dragStartPoint.y:this.plotArea.y1;e=e?a:this.plotArea.x2;l=l?g:this.plotArea.y2;2<Math.abs(c-
278
+ e)&&2<Math.abs(b-l)&&this._zoomPanToSelectedRegion(c,b,e,l)&&(z=!0)}z&&(this._ignoreNextEvent=!0,this._dispatchRangeEvent("rangeChanging","zoom"),this.stockChart&&(this.stockChart.navigator&&this.stockChart.navigator.enabled)&&(this.stockChart._rangeEventParameter||(this.stockChart._rangeEventParameter={stockChart:this.stockChart,source:"chart",index:this.stockChart.charts.indexOf(this),minimum:this.stockChart.sessionVariables._axisXMin,maximum:this.stockChart.sessionVariables._axisXMax}),this.stockChart._rangeEventParameter.type=
279
+ "rangeChanging",this.stockChart.dispatchEvent("rangeChanging",this.stockChart._rangeEventParameter,this.stockChart)),this.render(),this._dispatchRangeEvent("rangeChanged","zoom"),this.stockChart&&(this.stockChart.navigator&&this.stockChart.navigator.enabled)&&(this.stockChart._rangeEventParameter.type="rangeChanged",this.stockChart.dispatchEvent("rangeChanged",this.stockChart._rangeEventParameter,this.stockChart)),z&&(this.zoomEnabled&&"none"===this._zoomButton.style.display)&&(Sa(this._zoomButton,
280
+ this._resetButton),va(this,this._zoomButton,"pan"),va(this,this._resetButton,"reset")))}}this.isDrag=!1;if("none"!==this.plotInfo.axisPlacement){this.resetOverlayedCanvas();if(this.axisX&&0<this.axisX.length)for(z=0;z<this.axisX.length;z++)this.axisX[z].crosshair&&this.axisX[z].crosshair.enabled&&this.axisX[z].renderCrosshair(a,g);if(this.axisX2&&0<this.axisX2.length)for(z=0;z<this.axisX2.length;z++)this.axisX2[z].crosshair&&this.axisX2[z].crosshair.enabled&&this.axisX2[z].renderCrosshair(a,g);if(this.axisY&&
281
+ 0<this.axisY.length)for(z=0;z<this.axisY.length;z++)this.axisY[z].crosshair&&this.axisY[z].crosshair.enabled&&this.axisY[z].renderCrosshair(a,g);if(this.axisY2&&0<this.axisY2.length)for(z=0;z<this.axisY2.length;z++)this.axisY2[z].crosshair&&this.axisY2[z].crosshair.enabled&&this.axisY2[z].renderCrosshair(a,g);if(this.axisX&&0<this.axisX.length)for(z=0;z<this.axisX.length;z++)this.axisX[z].crosshair&&this.axisX[z].crosshair.enabled&&this.axisX[z].crosshair.renderLabel();if(this.axisX2&&0<this.axisX2.length)for(z=
282
+ 0;z<this.axisX2.length;z++)this.axisX2[z].crosshair&&this.axisX2[z].crosshair.enabled&&this.axisX2[z].crosshair.renderLabel();if(this.axisY&&0<this.axisY.length)for(z=0;z<this.axisY.length;z++)this.axisY[z].crosshair&&this.axisY[z].crosshair.enabled&&this.axisY[z].crosshair.renderLabel();if(this.axisY2&&0<this.axisY2.length)for(z=0;z<this.axisY2.length;z++)this.axisY2[z].crosshair&&this.axisY2[z].crosshair.enabled&&this.axisY2[z].crosshair.renderLabel()}};k.prototype._plotAreaMouseMove=function(a,
283
+ g){if(this.isDrag&&"none"!==this.plotInfo.axisPlacement){var c=0,b=0,e=c=null,e=0<=this.zoomType.indexOf("x"),l=0<=this.zoomType.indexOf("y"),z=this;"xySwapped"===this.plotInfo.axisPlacement&&(c=l,l=e,e=c);c=this.dragStartPoint.x-a;b=this.dragStartPoint.y-g;if(2<Math.abs(c)&&8>Math.abs(c)&&(this.panEnabled||this.zoomEnabled)){this.toolTip.hide();this.toolTip&&this.toolTip.enabled&&this.toolTip.dispatchEvent("hidden",{chart:this,toolTip:this.toolTip},this.toolTip);for(var f=0;f<this.axisX.length;f++)this.axisX[f].crosshair&&
284
+ this.axisX[f].crosshair.enabled&&(this.axisX[f].crosshair.hide(),this.axisX[f].crosshair.dispatchEvent("hidden",{chart:this,axis:this.axisX[f].options},this.axisX[f].crosshair));for(f=0;f<this.axisX2.length;f++)this.axisX2[f].crosshair&&this.axisX2[f].crosshair.enabled&&(this.axisX2[f].crosshair.hide(),this.axisX2[f].crosshair.dispatchEvent("hidden",{chart:this,axis:this.axisX2[f].options},this.axisX2[f].crosshair));for(f=0;f<this.axisY.length;f++)this.axisY[f].crosshair&&this.axisY[f].crosshair.enabled&&
285
+ (this.axisY[f].crosshair.hide(),this.axisY[f].crosshair.dispatchEvent("hidden",{chart:this,axis:this.axisY[f].options},this.axisY[f].crosshair));for(f=0;f<this.axisY2.length;f++)this.axisY2[f].crosshair&&this.axisY2[f].crosshair.enabled&&(this.axisY2[f].crosshair.hide(),this.axisY2[f].crosshair.dispatchEvent("hidden",{chart:this,axis:this.axisY2[f].options},this.axisY2[f].crosshair))}else this.panEnabled||this.zoomEnabled||this.toolTip.mouseMoveHandler(a,g);if((!e||2<Math.abs(c)||!l||2<Math.abs(b))&&
286
+ (this.panEnabled||this.zoomEnabled))if(this.panEnabled)e={x1:e?this.plotArea.x1+c:this.plotArea.x1,y1:l?this.plotArea.y1+b:this.plotArea.y1,x2:e?this.plotArea.x2+c:this.plotArea.x2,y2:l?this.plotArea.y2+b:this.plotArea.y2},clearTimeout(z._panTimerId),z._panTimerId=setTimeout(function(b,c,e,h){return function(){z._zoomPanToSelectedRegion(b,c,e,h,!0)&&(z._dispatchRangeEvent("rangeChanging","pan"),z.stockChart&&(z.stockChart.navigator&&z.stockChart.navigator.enabled)&&(z.stockChart._rangeEventParameter.type=
287
+ "rangeChanging",z.stockChart.dispatchEvent("rangeChanging",z.stockChart._rangeEventParameter,z.stockChart)),z.render(),z._dispatchRangeEvent("rangeChanged","pan"),z.stockChart&&(z.stockChart.navigator&&z.stockChart.navigator.enabled)&&(z.stockChart._rangeEventParameter.type="rangeChanged",z.stockChart.dispatchEvent("rangeChanged",z.stockChart._rangeEventParameter,z.stockChart)),z.dragStartPoint.x=a,z.dragStartPoint.y=g)}}(e.x1,e.y1,e.x2,e.y2),0);else if(this.zoomEnabled){this.resetOverlayedCanvas();
288
+ c=this.overlaidCanvasCtx.globalAlpha;this.overlaidCanvasCtx.fillStyle="#A89896";var b=e?this.dragStartPoint.x:this.plotArea.x1,f=l?this.dragStartPoint.y:this.plotArea.y1,d=e?a-this.dragStartPoint.x:this.plotArea.x2-this.plotArea.x1,n=l?g-this.dragStartPoint.y:this.plotArea.y2-this.plotArea.y1;this.validateRegion(b,f,e?a:this.plotArea.x2-this.plotArea.x1,l?g:this.plotArea.y2-this.plotArea.y1,"xy"!==this.zoomType).isValid&&(this.resetOverlayedCanvas(),this.overlaidCanvasCtx.fillStyle="#99B2B5");this.overlaidCanvasCtx.globalAlpha=
289
+ 0.7;this.overlaidCanvasCtx.fillRect(b,f,d,n);this.overlaidCanvasCtx.globalAlpha=c}}else if(this.toolTip.mouseMoveHandler(a,g),"none"!==this.plotInfo.axisPlacement){if(this.axisX&&0<this.axisX.length)for(e=0;e<this.axisX.length;e++)this.axisX[e].crosshair&&this.axisX[e].crosshair.enabled&&this.axisX[e].renderCrosshair(a,g);if(this.axisX2&&0<this.axisX2.length)for(e=0;e<this.axisX2.length;e++)this.axisX2[e].crosshair&&this.axisX2[e].crosshair.enabled&&this.axisX2[e].renderCrosshair(a,g);if(this.axisY&&
290
+ 0<this.axisY.length)for(e=0;e<this.axisY.length;e++)this.axisY[e].crosshair&&this.axisY[e].crosshair.enabled&&this.axisY[e].renderCrosshair(a,g);if(this.axisY2&&0<this.axisY2.length)for(e=0;e<this.axisY2.length;e++)this.axisY2[e].crosshair&&this.axisY2[e].crosshair.enabled&&this.axisY2[e].renderCrosshair(a,g);if(this.axisX&&0<this.axisX.length)for(e=0;e<this.axisX.length;e++)this.axisX[e].crosshair&&this.axisX[e].crosshair.enabled&&this.axisX[e].crosshair.renderLabel();if(this.axisX2&&0<this.axisX2.length)for(e=
291
+ 0;e<this.axisX2.length;e++)this.axisX2[e].crosshair&&this.axisX2[e].crosshair.enabled&&this.axisX2[e].crosshair.renderLabel();if(this.axisY&&0<this.axisY.length)for(e=0;e<this.axisY.length;e++)this.axisY[e].crosshair&&this.axisY[e].crosshair.enabled&&this.axisY[e].crosshair.renderLabel();if(this.axisY2&&0<this.axisY2.length)for(e=0;e<this.axisY2.length;e++)this.axisY2[e].crosshair&&this.axisY2[e].crosshair.enabled&&this.axisY2[e].crosshair.renderLabel()}};k.prototype._zoomPanToSelectedRegion=function(a,
292
+ g,c,b,e){a=this.validateRegion(a,g,c,b,e);g=a.axesWithValidRange;c=a.axesRanges;if(a.isValid)for(b=0;b<g.length;b++)e=c[b],g[b].setViewPortRange(e.val1,e.val2),this.syncCharts&&"y"!=this.zoomType&&this.syncCharts(e.val1,e.val2),this.stockChart&&(this.stockChart._rangeEventParameter={stockChart:this.stockChart,source:"chart",index:this.stockChart.charts.indexOf(this),minimum:e.val1,maximum:e.val2});return a.isValid};k.prototype.validateRegion=function(a,g,c,b,e){e=e||!1;for(var l=0<=this.zoomType.indexOf("x"),
293
+ f=0<=this.zoomType.indexOf("y"),d=!1,C=[],n=[],p=[],q=0;q<this._axes.length;q++)("axisX"===this._axes[q].type&&l||"axisY"===this._axes[q].type&&f)&&n.push(this._axes[q]);for(f=0;f<n.length;f++){var q=n[f],l=!1,s=q.convertPixelToValue({x:a,y:g}),h=q.convertPixelToValue({x:c,y:b});if(s>h)var x=h,h=s,s=x;if(q.scaleBreaks)for(x=0;!l&&x<q.scaleBreaks._appliedBreaks.length;x++)l=q.scaleBreaks._appliedBreaks[x].startValue<=s&&q.scaleBreaks._appliedBreaks[x].endValue>=h;if(isFinite(q.dataInfo.minDiff))if(x=
294
+ q.getApparentDifference(s,h,null,!0),!(l||!(this.panEnabled&&q.scaleBreaks&&q.scaleBreaks._appliedBreaks.length)&&(q.logarithmic&&x<Math.pow(q.dataInfo.minDiff,3)||!q.logarithmic&&x<3*Math.abs(q.dataInfo.minDiff))||s<q.minimum||h>q.maximum))C.push(q),p.push({val1:s,val2:h}),d=!0;else if(!e){d=!1;break}}return{isValid:d,axesWithValidRange:C,axesRanges:p}};k.prototype.preparePlotArea=function(){var a=this.plotArea;!t&&(0<a.x1||0<a.y1)&&a.ctx.translate(a.x1,a.y1);if((this.axisX[0]||this.axisX2[0])&&
295
+ (this.axisY[0]||this.axisY2[0])){var g=this.axisX[0]?this.axisX[0].lineCoordinates:this.axisX2[0].lineCoordinates;if(this.axisY&&0<this.axisY.length&&this.axisY[0]){var c=this.axisY[0];a.x1=g.x1<g.x2?g.x1:c.lineCoordinates.x1;a.y1=g.y1<c.lineCoordinates.y1?g.y1:c.lineCoordinates.y1;a.x2=g.x2>c.lineCoordinates.x2?g.x2:c.lineCoordinates.x2;a.y2=g.y1>c.lineCoordinates.y2?g.y1:c.lineCoordinates.y2;a.width=a.x2-a.x1;a.height=a.y2-a.y1}this.axisY2&&0<this.axisY2.length&&this.axisY2[0]&&(c=this.axisY2[0],
296
+ a.x1=g.x1<g.x2?g.x1:c.lineCoordinates.x1,a.y1=g.y1<c.lineCoordinates.y1?g.y1:c.lineCoordinates.y1,a.x2=g.x2>c.lineCoordinates.x2?g.x2:c.lineCoordinates.x2,a.y2=g.y2>c.lineCoordinates.y2?g.y2:c.lineCoordinates.y2,a.width=a.x2-a.x1,a.height=a.y2-a.y1)}else g=this.layoutManager.getFreeSpace(),a.x1=g.x1,a.x2=g.x2,a.y1=g.y1,a.y2=g.y2,a.width=g.width,a.height=g.height;t||(a.canvas.width=a.width,a.canvas.height=a.height,a.canvas.style.left=a.x1+"px",a.canvas.style.top=a.y1+"px",(0<a.x1||0<a.y1)&&a.ctx.translate(-a.x1,
297
+ -a.y1));a.layoutManager=new Ka(a.x1,a.y1,a.x2,a.y2,2)};k.prototype.renderIndexLabels=function(a){var g=a||this.plotArea.ctx,c=this.plotArea,b=0,e=0,l=0,z=l=e=0,d=0,J=b=0,n=0;for(a=0;a<this._indexLabels.length;a++){var p=this._indexLabels[a],q=p.chartType.toLowerCase(),s,h,z=qa("indexLabelFontColor",p.dataPoint,p.dataSeries),x=qa("indexLabelFontSize",p.dataPoint,p.dataSeries),d=qa("indexLabelFontFamily",p.dataPoint,p.dataSeries),J=qa("indexLabelFontStyle",p.dataPoint,p.dataSeries),n=qa("indexLabelFontWeight",
298
+ p.dataPoint,p.dataSeries),m=qa("indexLabelBackgroundColor",p.dataPoint,p.dataSeries);s=qa("indexLabelMaxWidth",p.dataPoint,p.dataSeries);h=qa("indexLabelWrap",p.dataPoint,p.dataSeries);var B=qa("indexLabelLineDashType",p.dataPoint,p.dataSeries),u=qa("indexLabelLineColor",p.dataPoint,p.dataSeries),r=f(p.dataPoint.indexLabelLineThickness)?f(p.dataSeries.options.indexLabelLineThickness)?0:p.dataSeries.options.indexLabelLineThickness:p.dataPoint.indexLabelLineThickness,b=0<r?Math.min(10,("normal"===this.plotInfo.axisPlacement?
299
+ this.plotArea.height:this.plotArea.width)<<0):0,v={percent:null,total:null},k=null;if(0<=p.dataSeries.type.indexOf("stacked")||"pie"===p.dataSeries.type||"doughnut"===p.dataSeries.type)v=this.getPercentAndTotal(p.dataSeries,p.dataPoint);if(p.dataSeries.indexLabelFormatter||p.dataPoint.indexLabelFormatter)k={chart:this,dataSeries:p.dataSeries,dataPoint:p.dataPoint,index:p.indexKeyword,total:v.total,percent:v.percent};var G=p.dataPoint.indexLabelFormatter?p.dataPoint.indexLabelFormatter(k):p.dataPoint.indexLabel?
300
+ this.replaceKeywordsWithValue(p.dataPoint.indexLabel,p.dataPoint,p.dataSeries,null,p.indexKeyword):p.dataSeries.indexLabelFormatter?p.dataSeries.indexLabelFormatter(k):p.dataSeries.indexLabel?this.replaceKeywordsWithValue(p.dataSeries.indexLabel,p.dataPoint,p.dataSeries,null,p.indexKeyword):null;if(null!==G&&""!==G){var v=qa("indexLabelPlacement",p.dataPoint,p.dataSeries),k=qa("indexLabelOrientation",p.dataPoint,p.dataSeries),D=qa("indexLabelTextAlign",p.dataPoint,p.dataSeries),w=p.direction,e=p.dataSeries.axisX,
301
+ l=p.dataSeries.axisY,y=!1,m=new la(g,{x:0,y:0,maxWidth:s?s:0.5*this.width,maxHeight:h?5*x:1.5*x,angle:"horizontal"===k?0:-90,text:G,padding:0,backgroundColor:m,textAlign:D,fontSize:x,fontFamily:d,fontWeight:n,fontColor:z,fontStyle:J,textBaseline:"middle"});m.measureText();p.dataSeries.indexLabelMaxWidth=m.maxWidth;if("stackedarea100"===q){if(p.point.x<c.x1||p.point.x>c.x2||p.point.y<c.y1-1||p.point.y>c.y2+1)continue}else if("rangearea"===q||"rangesplinearea"===q){if(p.dataPoint.x<e.viewportMinimum||
302
+ p.dataPoint.x>e.viewportMaximum||Math.max.apply(null,p.dataPoint.y)<l.viewportMinimum||Math.min.apply(null,p.dataPoint.y)>l.viewportMaximum)continue}else if(0<=q.indexOf("line")||0<=q.indexOf("area")||0<=q.indexOf("bubble")||0<=q.indexOf("scatter")){if(p.dataPoint.x<e.viewportMinimum||p.dataPoint.x>e.viewportMaximum||p.dataPoint.y<l.viewportMinimum||p.dataPoint.y>l.viewportMaximum)continue}else if(0<=q.indexOf("column")||"waterfall"===q||"error"===q&&!p.axisSwapped){if(p.dataPoint.x<e.viewportMinimum||
303
+ p.dataPoint.x>e.viewportMaximum||p.bounds.y1>c.y2||p.bounds.y2<c.y1)continue}else if(0<=q.indexOf("bar")||"error"===q){if(p.dataPoint.x<e.viewportMinimum||p.dataPoint.x>e.viewportMaximum||p.bounds.x1>c.x2||p.bounds.x2<c.x1)continue}else if("candlestick"===q||"ohlc"===q){if(p.dataPoint.x<e.viewportMinimum||p.dataPoint.x>e.viewportMaximum||Math.max.apply(null,p.dataPoint.y)<l.viewportMinimum||Math.min.apply(null,p.dataPoint.y)>l.viewportMaximum)continue}else if(p.dataPoint.x<e.viewportMinimum||p.dataPoint.x>
304
+ e.viewportMaximum)continue;z=d=2;"horizontal"===k?(J=m.width,n=m.height):(n=m.width,J=m.height);if("normal"===this.plotInfo.axisPlacement){if(0<=q.indexOf("line")||0<=q.indexOf("area"))v="auto",d=4;else if(0<=q.indexOf("stacked"))"auto"===v&&(v="inside");else if("bubble"===q||"scatter"===q)v="inside";s=p.point.x-("horizontal"===k?J/2:J/2-x/2);"inside"!==v?(e=c.y1,l=c.y2,0<w?(h=p.point.y+("horizontal"===k?x/2:0)-n-d-b,h<e&&(h="auto"===v?Math.max(p.point.y,e)+x/2+d:e+x/2+d,y=h+n>p.point.y)):(h=p.point.y+
305
+ x/2+d+b,h>l-n&&(h="auto"===v?Math.min(p.point.y,l)+x/2-n-d:l+x/2-n,y=h<p.point.y))):(e=Math.max(p.bounds.y1,c.y1),l=Math.min(p.bounds.y2,c.y2-n+x/2),b=0<=q.indexOf("range")||"error"===q?0<w?Math.max(p.bounds.y1,c.y1)+x/2+d:Math.min(p.bounds.y2,c.y2)+x/2-n+d:(Math.max(p.bounds.y1,c.y1)+Math.min(p.bounds.y2,c.y2))/2-n/2+x/2+("horizontal"===k?d:0),0<w?(h=Math.max(p.point.y,b),h<e&&("bubble"===q||"scatter"===q)&&(h=Math.max(p.point.y-n-d,c.y1+d))):(h=Math.min(p.point.y,b),h>l-n-d&&("bubble"===q||"scatter"===
306
+ q)&&(h=Math.min(p.point.y+d,c.y2-n-d))),h=Math.min(h,l))}else 0<=q.indexOf("line")||0<=q.indexOf("area")||0<=q.indexOf("scatter")?(v="auto",z=4):0<=q.indexOf("stacked")?"auto"===v&&(v="inside"):"bubble"===q&&(v="inside"),h=p.point.y+x/2-n/2+d,"inside"!==v?(e=c.x1,l=c.x2,0>w?(s=p.point.x-("horizontal"===k?J:J-x/2)-z-b,s<e&&(s="auto"===v?Math.max(p.point.x,e)+z:e+z,y=s+J>p.point.x)):(s=p.point.x+("horizontal"===k?0:x/2)+z+b,s>l-J-z-b&&(s="auto"===v?Math.min(p.point.x,l)-("horizontal"===k?J:J/2)-z:l-
307
+ J-z,y=s<p.point.x))):(e=Math.max(p.bounds.x1,c.x1),Math.min(p.bounds.x2,c.x2),b=0<=q.indexOf("range")||"error"===q?0>w?Math.max(p.bounds.x1,c.x1)+x/2+z:Math.min(p.bounds.x2,c.x2)-J/2-z+("horizontal"===k?0:x/2):(Math.max(p.bounds.x1,c.x1)+Math.min(p.bounds.x2,c.x2))/2+("horizontal"===k?0:x/2),s=0>w?Math.max(p.point.x,b)-("horizontal"===k?J/2:0):Math.min(p.point.x,b)-J/2,s=Math.max(s,e));"vertical"===k&&(h+=n-x/2);m.x=s;m.y=h;m.render(!0);r&&("inside"!==v&&(0>q.indexOf("bar")&&("error"!==q||!p.axisSwapped)&&
308
+ p.point.x>c.x1&&p.point.x<c.x2||!y)&&(0>q.indexOf("column")&&("error"!==q||p.axisSwapped)&&p.point.y>c.y1&&p.point.y<c.y2||!y))&&(g.lineWidth=r,g.strokeStyle=u?u:"gray",g.setLineDash&&g.setLineDash(X(B,r)),g.beginPath(),g.moveTo(p.point.x,p.point.y),0<=q.indexOf("bar")||"error"===q&&p.axisSwapped?g.lineTo(s+(0<p.direction?-z:J+z)+("vertical"===k?-x/2:0),h+("vertical"===k?-n/2:n/2-x/2)-d):0<=q.indexOf("column")||"error"===q&&!p.axisSwapped?g.lineTo(s+J/2-("horizontal"===k?0:x/2),h+("vertical"===k?
309
+ (h-n<p.point.y?0:-n)+d:(h-x/2<p.point.y?n:0)-x/2)):0<=q.indexOf("waterfall")?g.lineTo(s+J/2-("horizontal"===k?0:x/2),"vertical"===k?0<w&&h<p.point.y?h:0>w&&h-n>p.point.y?h-n:p.point.y:0<w&&h+n-x/2<p.point.y?h+n-x/2:0>w&&h-x/2>p.point.y?h-x/2-2:p.point.y):g.lineTo(s+J/2-("horizontal"===k?0:x/2),h+("vertical"===k?h-n<p.point.y?0:-n:(h+n<p.point.y?n:0)-x/2)),g.stroke())}}g={source:g,dest:this.plotArea.ctx,animationCallback:C.fadeInAnimation,easingFunction:C.easing.easeInQuad,animationBase:0,startTimePercent:0.7};
310
+ for(a=0;a<this._indexLabels.length;a++)p=this._indexLabels[a],m=qa("indexLabelBackgroundColor",p.dataPoint,p.dataSeries),p.dataSeries.indexLabelBackgroundColor=f(m)?t?"transparent":null:m;return g};k.prototype.renderLine=function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,c=t?this._preRenderCtx:g;if(!(0>=a.dataSeriesIndexes.length)){var b=this._eventManager.ghostCtx;c.save();var e=this.plotArea;c.beginPath();c.rect(e.x1,e.y1,e.width,e.height);c.clip();for(var l=[],f,d=0;d<a.dataSeriesIndexes.length;d++){var J=
311
+ a.dataSeriesIndexes[d],n=this.data[J];c.lineWidth=n.lineThickness;var p=n.dataPoints,q="solid";if(c.setLineDash){var s=X(n.nullDataLineDashType,n.lineThickness),q=n.lineDashType,h=X(q,n.lineThickness);c.setLineDash(h)}var x=n.id;this._eventManager.objectMap[x]={objectType:"dataSeries",dataSeriesIndex:J};x=R(x);b.strokeStyle=x;b.lineWidth=0<n.lineThickness?Math.max(n.lineThickness,4):0;var x=n._colorSet,m=x=n.lineColor=n.options.lineColor?n.options.lineColor:x[0];c.strokeStyle=x;var Ga=!0,u=0,r,v;
312
+ c.beginPath();if(0<p.length){for(var k=!1,u=0;u<p.length;u++)if(r=p[u].x.getTime?p[u].x.getTime():p[u].x,!(r<a.axisX.dataInfo.viewPortMin||r>a.axisX.dataInfo.viewPortMax&&(!n.connectNullData||!k)))if("number"!==typeof p[u].y)0<u&&!(n.connectNullData||k||Ga)&&(c.stroke(),t&&b.stroke()),k=!0;else{r=a.axisX.convertValueToPixel(r);v=a.axisY.convertValueToPixel(p[u].y);var G=n.dataPointIds[u];this._eventManager.objectMap[G]={id:G,objectType:"dataPoint",dataSeriesIndex:J,dataPointIndex:u,x1:r,y1:v};Ga||
313
+ k?(!Ga&&n.connectNullData?(c.setLineDash&&(n.options.nullDataLineDashType||q===n.lineDashType&&n.lineDashType!==n.nullDataLineDashType)&&(c.stroke(),c.beginPath(),c.moveTo(f.x,f.y),q=n.nullDataLineDashType,c.setLineDash(s)),c.lineTo(r,v),t&&b.lineTo(r,v)):(c.beginPath(),c.moveTo(r,v),t&&(b.beginPath(),b.moveTo(r,v))),k=Ga=!1):(c.lineTo(r,v),t&&b.lineTo(r,v),0==u%500&&(c.stroke(),c.beginPath(),c.moveTo(r,v),t&&(b.stroke(),b.beginPath(),b.moveTo(r,v))));f={x:r,y:v};u<p.length-1&&(m!==(p[u].lineColor||
314
+ x)||q!==(p[u].lineDashType||n.lineDashType))&&(c.stroke(),c.beginPath(),c.moveTo(r,v),m=p[u].lineColor||x,c.strokeStyle=m,c.setLineDash&&(p[u].lineDashType?(q=p[u].lineDashType,c.setLineDash(X(q,n.lineThickness))):(q=n.lineDashType,c.setLineDash(h))));if(0!==p[u].markerSize&&(0<p[u].markerSize||0<n.markerSize)){var D=n.getMarkerProperties(u,r,v,c);l.push(D);G=R(G);t&&l.push({x:r,y:v,ctx:b,type:D.type,size:D.size,color:G,borderColor:G,borderThickness:D.borderThickness})}(p[u].indexLabel||n.indexLabel||
315
+ p[u].indexLabelFormatter||n.indexLabelFormatter)&&this._indexLabels.push({chartType:"line",dataPoint:p[u],dataSeries:n,point:{x:r,y:v},direction:0>p[u].y===a.axisY.reversed?1:-1,color:x})}c.stroke();t&&b.stroke()}}B.drawMarkers(l);t&&(g.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&
316
+ this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(e.x1,e.y1,e.width,e.height),b.beginPath());c.restore();c.beginPath();return{source:g,dest:this.plotArea.ctx,animationCallback:C.xClipAnimation,easingFunction:C.easing.linear,animationBase:0}}};k.prototype.renderStepLine=function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,c=t?this._preRenderCtx:g;if(!(0>=a.dataSeriesIndexes.length)){var b=this._eventManager.ghostCtx;c.save();var e=this.plotArea;c.beginPath();
317
+ c.rect(e.x1,e.y1,e.width,e.height);c.clip();for(var l=[],f,d=0;d<a.dataSeriesIndexes.length;d++){var J=a.dataSeriesIndexes[d],n=this.data[J];c.lineWidth=n.lineThickness;var p=n.dataPoints,q="solid";if(c.setLineDash){var s=X(n.nullDataLineDashType,n.lineThickness),q=n.lineDashType,h=X(q,n.lineThickness);c.setLineDash(h)}var x=n.id;this._eventManager.objectMap[x]={objectType:"dataSeries",dataSeriesIndex:J};x=R(x);b.strokeStyle=x;b.lineWidth=0<n.lineThickness?Math.max(n.lineThickness,4):0;var x=n._colorSet,
318
+ m=x=n.lineColor=n.options.lineColor?n.options.lineColor:x[0];c.strokeStyle=x;var Ga=!0,u=0,r,v;c.beginPath();if(0<p.length){for(var k=!1,u=0;u<p.length;u++)if(r=p[u].getTime?p[u].x.getTime():p[u].x,!(r<a.axisX.dataInfo.viewPortMin||r>a.axisX.dataInfo.viewPortMax&&(!n.connectNullData||!k)))if("number"!==typeof p[u].y)0<u&&!(n.connectNullData||k||Ga)&&(c.stroke(),t&&b.stroke()),k=!0;else{var G=v;r=a.axisX.convertValueToPixel(r);v=a.axisY.convertValueToPixel(p[u].y);var D=n.dataPointIds[u];this._eventManager.objectMap[D]=
319
+ {id:D,objectType:"dataPoint",dataSeriesIndex:J,dataPointIndex:u,x1:r,y1:v};Ga||k?(!Ga&&n.connectNullData?(c.setLineDash&&(n.options.nullDataLineDashType||q===n.lineDashType&&n.lineDashType!==n.nullDataLineDashType)&&(c.stroke(),c.beginPath(),c.moveTo(f.x,f.y),q=n.nullDataLineDashType,c.setLineDash(s)),c.lineTo(r,G),c.lineTo(r,v),t&&(b.lineTo(r,G),b.lineTo(r,v))):(c.beginPath(),c.moveTo(r,v),t&&(b.beginPath(),b.moveTo(r,v))),k=Ga=!1):(c.lineTo(r,G),t&&b.lineTo(r,G),c.lineTo(r,v),t&&b.lineTo(r,v),0==
320
+ u%500&&(c.stroke(),c.beginPath(),c.moveTo(r,v),t&&(b.stroke(),b.beginPath(),b.moveTo(r,v))));f={x:r,y:v};u<p.length-1&&(m!==(p[u].lineColor||x)||q!==(p[u].lineDashType||n.lineDashType))&&(c.stroke(),c.beginPath(),c.moveTo(r,v),m=p[u].lineColor||x,c.strokeStyle=m,c.setLineDash&&(p[u].lineDashType?(q=p[u].lineDashType,c.setLineDash(X(q,n.lineThickness))):(q=n.lineDashType,c.setLineDash(h))));0!==p[u].markerSize&&(0<p[u].markerSize||0<n.markerSize)&&(G=n.getMarkerProperties(u,r,v,c),l.push(G),D=R(D),
321
+ t&&l.push({x:r,y:v,ctx:b,type:G.type,size:G.size,color:D,borderColor:D,borderThickness:G.borderThickness}));(p[u].indexLabel||n.indexLabel||p[u].indexLabelFormatter||n.indexLabelFormatter)&&this._indexLabels.push({chartType:"stepLine",dataPoint:p[u],dataSeries:n,point:{x:r,y:v},direction:0>p[u].y===a.axisY.reversed?1:-1,color:x})}c.stroke();t&&b.stroke()}}B.drawMarkers(l);t&&(g.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&
322
+ c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(e.x1,e.y1,e.width,e.height),b.beginPath());c.restore();c.beginPath();return{source:g,dest:this.plotArea.ctx,animationCallback:C.xClipAnimation,easingFunction:C.easing.linear,animationBase:0}}};k.prototype.renderSpline=function(a){function g(a){a=
323
+ E(a,2);if(0<a.length){b.beginPath();t&&e.beginPath();b.moveTo(a[0].x,a[0].y);a[0].newStrokeStyle&&(b.strokeStyle=a[0].newStrokeStyle);a[0].newLineDashArray&&b.setLineDash(a[0].newLineDashArray);t&&e.moveTo(a[0].x,a[0].y);for(var c=0;c<a.length-3;c+=3)if(b.bezierCurveTo(a[c+1].x,a[c+1].y,a[c+2].x,a[c+2].y,a[c+3].x,a[c+3].y),t&&e.bezierCurveTo(a[c+1].x,a[c+1].y,a[c+2].x,a[c+2].y,a[c+3].x,a[c+3].y),0<c&&0===c%3E3||a[c+3].newStrokeStyle||a[c+3].newLineDashArray)b.stroke(),b.beginPath(),b.moveTo(a[c+3].x,
324
+ a[c+3].y),a[c+3].newStrokeStyle&&(b.strokeStyle=a[c+3].newStrokeStyle),a[c+3].newLineDashArray&&b.setLineDash(a[c+3].newLineDashArray),t&&(e.stroke(),e.beginPath(),e.moveTo(a[c+3].x,a[c+3].y));b.stroke();t&&e.stroke()}}var c=a.targetCanvasCtx||this.plotArea.ctx,b=t?this._preRenderCtx:c;if(!(0>=a.dataSeriesIndexes.length)){var e=this._eventManager.ghostCtx;b.save();var l=this.plotArea;b.beginPath();b.rect(l.x1,l.y1,l.width,l.height);b.clip();for(var f=[],d=0;d<a.dataSeriesIndexes.length;d++){var J=
325
+ a.dataSeriesIndexes[d],n=this.data[J];b.lineWidth=n.lineThickness;var p=n.dataPoints,q="solid";if(b.setLineDash){var s=X(n.nullDataLineDashType,n.lineThickness),q=n.lineDashType,h=X(q,n.lineThickness);b.setLineDash(h)}var x=n.id;this._eventManager.objectMap[x]={objectType:"dataSeries",dataSeriesIndex:J};x=R(x);e.strokeStyle=x;e.lineWidth=0<n.lineThickness?Math.max(n.lineThickness,4):0;var x=n._colorSet,m=x=n.lineColor=n.options.lineColor?n.options.lineColor:x[0];b.strokeStyle=x;var r=0,u,k,v=[];b.beginPath();
326
+ if(0<p.length)for(k=!1,r=0;r<p.length;r++)if(u=p[r].getTime?p[r].x.getTime():p[r].x,!(u<a.axisX.dataInfo.viewPortMin||u>a.axisX.dataInfo.viewPortMax&&(!n.connectNullData||!k)))if("number"!==typeof p[r].y)0<r&&!k&&(n.connectNullData?b.setLineDash&&(0<v.length&&(n.options.nullDataLineDashType||!p[r-1].lineDashType))&&(v[v.length-1].newLineDashArray=s,q=n.nullDataLineDashType):(g(v),v=[])),k=!0;else{u=a.axisX.convertValueToPixel(u);k=a.axisY.convertValueToPixel(p[r].y);var Oa=n.dataPointIds[r];this._eventManager.objectMap[Oa]=
327
+ {id:Oa,objectType:"dataPoint",dataSeriesIndex:J,dataPointIndex:r,x1:u,y1:k};v[v.length]={x:u,y:k};r<p.length-1&&(m!==(p[r].lineColor||x)||q!==(p[r].lineDashType||n.lineDashType))&&(m=p[r].lineColor||x,v[v.length-1].newStrokeStyle=m,b.setLineDash&&(p[r].lineDashType?(q=p[r].lineDashType,v[v.length-1].newLineDashArray=X(q,n.lineThickness)):(q=n.lineDashType,v[v.length-1].newLineDashArray=h)));if(0!==p[r].markerSize&&(0<p[r].markerSize||0<n.markerSize)){var G=n.getMarkerProperties(r,u,k,b);f.push(G);
328
+ Oa=R(Oa);t&&f.push({x:u,y:k,ctx:e,type:G.type,size:G.size,color:Oa,borderColor:Oa,borderThickness:G.borderThickness})}(p[r].indexLabel||n.indexLabel||p[r].indexLabelFormatter||n.indexLabelFormatter)&&this._indexLabels.push({chartType:"spline",dataPoint:p[r],dataSeries:n,point:{x:u,y:k},direction:0>p[r].y===a.axisY.reversed?1:-1,color:x});k=!1}g(v)}B.drawMarkers(f);t&&(c.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&b.drawImage(a.axisX.maskCanvas,
329
+ 0,0,this.width,this.height),a.axisY.maskCanvas&&b.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.clearRect(l.x1,l.y1,l.width,l.height),e.beginPath());b.restore();b.beginPath();return{source:c,dest:this.plotArea.ctx,animationCallback:C.xClipAnimation,easingFunction:C.easing.linear,animationBase:0}}};k.prototype.renderColumn=function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,c=t?
330
+ this._preRenderCtx:g;if(!(0>=a.dataSeriesIndexes.length)){var b=null,e=this.plotArea,l=0,f,d,J,n=a.axisY.convertValueToPixel(a.axisY.logarithmic?a.axisY.viewportMinimum:0),l=this.options.dataPointMinWidth?this.dataPointMinWidth:this.options.dataPointWidth?this.dataPointWidth:1,p=this.options.dataPointMaxWidth?this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:Math.min(0.15*this.width,0.9*(this.plotArea.width/a.plotType.totalDataSeries))<<0,q=a.axisX.dataInfo.minDiff;isFinite(q)||
331
+ (q=0.3*Math.abs(a.axisX.range));q=this.dataPointWidth=this.options.dataPointWidth?this.dataPointWidth:0.9*(e.width*(a.axisX.logarithmic?Math.log(q)/Math.log(a.axisX.range):Math.abs(q)/Math.abs(a.axisX.range))/a.plotType.totalDataSeries)<<0;this.dataPointMaxWidth&&l>p&&(l=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,p));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&p<l)&&(p=Math.max(this.options.dataPointWidth?this.dataPointWidth:-Infinity,l));q<l&&(q=l);q>p&&(q=p);c.save();
332
+ t&&this._eventManager.ghostCtx.save();c.beginPath();c.rect(e.x1,e.y1,e.width,e.height);c.clip();t&&(this._eventManager.ghostCtx.beginPath(),this._eventManager.ghostCtx.rect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.clip());for(p=0;p<a.dataSeriesIndexes.length;p++){var s=a.dataSeriesIndexes[p],h=this.data[s],x=h.dataPoints;if(0<x.length)for(var m=5<q&&h.bevelEnabled?!0:!1,l=0;l<x.length;l++)if(x[l].getTime?J=x[l].x.getTime():J=x[l].x,!(J<a.axisX.dataInfo.viewPortMin||J>a.axisX.dataInfo.viewPortMax)&&
333
+ "number"===typeof x[l].y){f=a.axisX.convertValueToPixel(J);d=a.axisY.convertValueToPixel(x[l].y);f=a.axisX.reversed?f+a.plotType.totalDataSeries*q/2-(a.previousDataSeriesCount+p)*q<<0:f-a.plotType.totalDataSeries*q/2+(a.previousDataSeriesCount+p)*q<<0;var r=a.axisX.reversed?f-q<<0:f+q<<0,u;0<=x[l].y?u=n:(u=d,d=n);d>u&&(b=d,d=u,u=b);b=x[l].color?x[l].color:h._colorSet[l%h._colorSet.length];aa(c,a.axisX.reversed?r:f,d,a.axisX.reversed?f:r,u,b,0,null,m&&(a.axisY.reversed?0>x[l].y:0<=x[l].y),(a.axisY.reversed?
334
+ 0<=x[l].y:0>x[l].y)&&m,!1,!1,h.fillOpacity);b=h.dataPointIds[l];this._eventManager.objectMap[b]={id:b,objectType:"dataPoint",dataSeriesIndex:s,dataPointIndex:l,x1:f,y1:d,x2:r,y2:u};b=R(b);t&&aa(this._eventManager.ghostCtx,a.axisX.reversed?r:f,d,a.axisX.reversed?f:r,u,b,0,null,!1,!1,!1,!1);(x[l].indexLabel||h.indexLabel||x[l].indexLabelFormatter||h.indexLabelFormatter)&&this._indexLabels.push({chartType:"column",dataPoint:x[l],dataSeries:h,point:{x:f+(r-f)/2,y:0>x[l].y===a.axisY.reversed?d:u},direction:0>
335
+ x[l].y===a.axisY.reversed?1:-1,bounds:{x1:f,y1:Math.min(d,u),x2:r,y2:Math.max(d,u)},color:b})}}t&&(g.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(e.x1,e.y1,e.width,e.height),
336
+ this._eventManager.ghostCtx.restore());c.restore();return{source:g,dest:this.plotArea.ctx,animationCallback:C.yScaleAnimation,easingFunction:C.easing.easeOutQuart,animationBase:n<a.axisY.bounds.y1?a.axisY.bounds.y1:n>a.axisY.bounds.y2?a.axisY.bounds.y2:n}}};k.prototype.renderStackedColumn=function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,c=t?this._preRenderCtx:g;if(!(0>=a.dataSeriesIndexes.length)){var b=null,e=this.plotArea,l=[],f=[],d=[],J=[],n=0,p,q,s=a.axisY.convertValueToPixel(a.axisY.logarithmic?
337
+ a.axisY.viewportMinimum:0),n=this.options.dataPointMinWidth?this.dataPointMinWidth:this.options.dataPointWidth?this.dataPointWidth:1,h=this.options.dataPointMaxWidth?this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:0.15*this.width<<0,x=a.axisX.dataInfo.minDiff;isFinite(x)||(x=0.3*Math.abs(a.axisX.range));x=this.options.dataPointWidth?this.dataPointWidth:0.9*(e.width*(a.axisX.logarithmic?Math.log(x)/Math.log(a.axisX.range):Math.abs(x)/Math.abs(a.axisX.range))/a.plotType.plotUnits.length)<<
338
+ 0;this.dataPointMaxWidth&&n>h&&(n=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,h));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&h<n)&&(h=Math.max(this.options.dataPointWidth?this.dataPointWidth:-Infinity,n));x<n&&(x=n);x>h&&(x=h);c.save();t&&this._eventManager.ghostCtx.save();c.beginPath();c.rect(e.x1,e.y1,e.width,e.height);c.clip();t&&(this._eventManager.ghostCtx.beginPath(),this._eventManager.ghostCtx.rect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.clip());
339
+ for(h=0;h<a.dataSeriesIndexes.length;h++){var m=a.dataSeriesIndexes[h],r=this.data[m],u=r.dataPoints;if(0<u.length){var B=5<x&&r.bevelEnabled?!0:!1;c.strokeStyle="#4572A7 ";for(n=0;n<u.length;n++)if(b=u[n].x.getTime?u[n].x.getTime():u[n].x,!(b<a.axisX.dataInfo.viewPortMin||b>a.axisX.dataInfo.viewPortMax)&&"number"===typeof u[n].y){p=a.axisX.convertValueToPixel(b);p=p-a.plotType.plotUnits.length*x/2+a.index*x<<0;var v=p+x<<0,k;if(a.axisY.logarithmic||a.axisY.scaleBreaks&&0<a.axisY.scaleBreaks._appliedBreaks.length&&
340
+ 0<u[n].y)d[b]=u[n].y+(d[b]?d[b]:0),0<d[b]&&(q=a.axisY.convertValueToPixel(d[b]),k="undefined"!==typeof l[b]?l[b]:s,l[b]=q);else if(a.axisY.scaleBreaks&&0<a.axisY.scaleBreaks._appliedBreaks.length&&0>=u[n].y)J[b]=u[n].y+(J[b]?J[b]:0),k=a.axisY.convertValueToPixel(J[b]),q="undefined"!==typeof f[b]?f[b]:s,f[b]=k;else if(q=a.axisY.convertValueToPixel(u[n].y),0<=u[n].y){var G="undefined"!==typeof l[b]?l[b]:0;q-=G;k=s-G;l[b]=G+(k-q)}else G=f[b]?f[b]:0,k=q+G,q=s+G,f[b]=G+(k-q);b=u[n].color?u[n].color:r._colorSet[n%
341
+ r._colorSet.length];aa(c,p,a.axisY.reversed?k:q,v,a.axisY.reversed?q:k,b,0,null,B&&(a.axisY.reversed?0>u[n].y:0<=u[n].y),(a.axisY.reversed?0<=u[n].y:0>u[n].y)&&B,!1,!1,r.fillOpacity);b=r.dataPointIds[n];this._eventManager.objectMap[b]={id:b,objectType:"dataPoint",dataSeriesIndex:m,dataPointIndex:n,x1:p,y1:q,x2:v,y2:k};b=R(b);t&&aa(this._eventManager.ghostCtx,p,q,v,k,b,0,null,!1,!1,!1,!1);(u[n].indexLabel||r.indexLabel||u[n].indexLabelFormatter||r.indexLabelFormatter)&&this._indexLabels.push({chartType:"stackedColumn",
342
+ dataPoint:u[n],dataSeries:r,point:{x:p+(v-p)/2,y:0<=u[n].y?q:k},direction:0>u[n].y===a.axisY.reversed?1:-1,bounds:{x1:p,y1:Math.min(q,k),x2:v,y2:Math.max(q,k)},color:b})}}}t&&(g.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,
343
+ 0,0,this.width,this.height),c.clearRect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.restore());c.restore();return{source:g,dest:this.plotArea.ctx,animationCallback:C.yScaleAnimation,easingFunction:C.easing.easeOutQuart,animationBase:s<a.axisY.bounds.y1?a.axisY.bounds.y1:s>a.axisY.bounds.y2?a.axisY.bounds.y2:s}}};k.prototype.renderStackedColumn100=function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,c=t?this._preRenderCtx:g;if(!(0>=a.dataSeriesIndexes.length)){var b=null,e=this.plotArea,
344
+ l=[],f=[],d=[],J=[],n=0,p,q,s=a.axisY.convertValueToPixel(a.axisY.logarithmic?a.axisY.viewportMinimum:0),n=this.options.dataPointMinWidth?this.dataPointMinWidth:this.options.dataPointWidth?this.dataPointWidth:1,h=this.options.dataPointMaxWidth?this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:0.15*this.width<<0,x=a.axisX.dataInfo.minDiff;isFinite(x)||(x=0.3*Math.abs(a.axisX.range));x=this.options.dataPointWidth?this.dataPointWidth:0.9*(e.width*(a.axisX.logarithmic?Math.log(x)/
345
+ Math.log(a.axisX.range):Math.abs(x)/Math.abs(a.axisX.range))/a.plotType.plotUnits.length)<<0;this.dataPointMaxWidth&&n>h&&(n=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,h));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&h<n)&&(h=Math.max(this.options.dataPointWidth?this.dataPointWidth:-Infinity,n));x<n&&(x=n);x>h&&(x=h);c.save();t&&this._eventManager.ghostCtx.save();c.beginPath();c.rect(e.x1,e.y1,e.width,e.height);c.clip();t&&(this._eventManager.ghostCtx.beginPath(),this._eventManager.ghostCtx.rect(e.x1,
346
+ e.y1,e.width,e.height),this._eventManager.ghostCtx.clip());for(h=0;h<a.dataSeriesIndexes.length;h++){var m=a.dataSeriesIndexes[h],r=this.data[m],u=r.dataPoints;if(0<u.length)for(var B=5<x&&r.bevelEnabled?!0:!1,n=0;n<u.length;n++)if(b=u[n].x.getTime?u[n].x.getTime():u[n].x,!(b<a.axisX.dataInfo.viewPortMin||b>a.axisX.dataInfo.viewPortMax)&&"number"===typeof u[n].y){p=a.axisX.convertValueToPixel(b);q=0!==a.dataPointYSums[b]?100*(u[n].y/a.dataPointYSums[b]):0;p=p-a.plotType.plotUnits.length*x/2+a.index*
347
+ x<<0;var v=p+x<<0,k;if(a.axisY.logarithmic||a.axisY.scaleBreaks&&0<a.axisY.scaleBreaks._appliedBreaks.length&&0<u[n].y){d[b]=q+("undefined"!==typeof d[b]?d[b]:0);if(0>=d[b])continue;q=a.axisY.convertValueToPixel(d[b]);k=l[b]?l[b]:s;l[b]=q}else if(a.axisY.scaleBreaks&&0<a.axisY.scaleBreaks._appliedBreaks.length&&0>=u[n].y)J[b]=q+("undefined"!==typeof J[b]?J[b]:0),k=a.axisY.convertValueToPixel(J[b]),q=f[b]?f[b]:s,f[b]=k;else if(q=a.axisY.convertValueToPixel(q),0<=u[n].y){var G="undefined"!==typeof l[b]?
348
+ l[b]:0;q-=G;k=s-G;a.dataSeriesIndexes.length-1===h&&1>=Math.abs(e.y1-q)&&(q=e.y1);l[b]=G+(k-q)}else G="undefined"!==typeof f[b]?f[b]:0,k=q+G,q=s+G,a.dataSeriesIndexes.length-1===h&&1>=Math.abs(e.y2-k)&&(k=e.y2),f[b]=G+(k-q);b=u[n].color?u[n].color:r._colorSet[n%r._colorSet.length];aa(c,p,a.axisY.reversed?k:q,v,a.axisY.reversed?q:k,b,0,null,B&&(a.axisY.reversed?0>u[n].y:0<=u[n].y),(a.axisY.reversed?0<=u[n].y:0>u[n].y)&&B,!1,!1,r.fillOpacity);b=r.dataPointIds[n];this._eventManager.objectMap[b]={id:b,
349
+ objectType:"dataPoint",dataSeriesIndex:m,dataPointIndex:n,x1:p,y1:q,x2:v,y2:k};b=R(b);t&&aa(this._eventManager.ghostCtx,p,q,v,k,b,0,null,!1,!1,!1,!1);(u[n].indexLabel||r.indexLabel||u[n].indexLabelFormatter||r.indexLabelFormatter)&&this._indexLabels.push({chartType:"stackedColumn100",dataPoint:u[n],dataSeries:r,point:{x:p+(v-p)/2,y:0<=u[n].y?q:k},direction:0>u[n].y===a.axisY.reversed?1:-1,bounds:{x1:p,y1:Math.min(q,k),x2:v,y2:Math.max(q,k)},color:b})}}t&&(g.drawImage(this._preRenderCanvas,0,0,this.width,
350
+ this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.restore());c.restore();return{source:g,dest:this.plotArea.ctx,animationCallback:C.yScaleAnimation,easingFunction:C.easing.easeOutQuart,
351
+ animationBase:s<a.axisY.bounds.y1?a.axisY.bounds.y1:s>a.axisY.bounds.y2?a.axisY.bounds.y2:s}}};k.prototype.renderBar=function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,c=t?this._preRenderCtx:g;if(!(0>=a.dataSeriesIndexes.length)){var b=null,e=this.plotArea,l=0,f,d,J,n=a.axisY.convertValueToPixel(a.axisY.logarithmic?a.axisY.viewportMinimum:0),l=this.options.dataPointMinWidth?this.dataPointMinWidth:this.options.dataPointWidth?this.dataPointWidth:1,p=this.options.dataPointMaxWidth?this.dataPointMaxWidth:
352
+ this.options.dataPointWidth?this.dataPointWidth:Math.min(0.15*this.height,0.9*(this.plotArea.height/a.plotType.totalDataSeries))<<0,q=a.axisX.dataInfo.minDiff;isFinite(q)||(q=0.3*Math.abs(a.axisX.range));q=this.options.dataPointWidth?this.dataPointWidth:0.9*(e.height*(a.axisX.logarithmic?Math.log(q)/Math.log(a.axisX.range):Math.abs(q)/Math.abs(a.axisX.range))/a.plotType.totalDataSeries)<<0;this.dataPointMaxWidth&&l>p&&(l=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,p));!this.dataPointMaxWidth&&
353
+ (this.dataPointMinWidth&&p<l)&&(p=Math.max(this.options.dataPointWidth?this.dataPointWidth:-Infinity,l));q<l&&(q=l);q>p&&(q=p);c.save();t&&this._eventManager.ghostCtx.save();c.beginPath();c.rect(e.x1,e.y1,e.width,e.height);c.clip();t&&(this._eventManager.ghostCtx.beginPath(),this._eventManager.ghostCtx.rect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.clip());for(p=0;p<a.dataSeriesIndexes.length;p++){var s=a.dataSeriesIndexes[p],h=this.data[s],x=h.dataPoints;if(0<x.length){var m=5<q&&h.bevelEnabled?
354
+ !0:!1;c.strokeStyle="#4572A7 ";for(l=0;l<x.length;l++)if(x[l].getTime?J=x[l].x.getTime():J=x[l].x,!(J<a.axisX.dataInfo.viewPortMin||J>a.axisX.dataInfo.viewPortMax)&&"number"===typeof x[l].y){d=a.axisX.convertValueToPixel(J);f=a.axisY.convertValueToPixel(x[l].y);d=a.axisX.reversed?d+a.plotType.totalDataSeries*q/2-(a.previousDataSeriesCount+p)*q<<0:d-a.plotType.totalDataSeries*q/2+(a.previousDataSeriesCount+p)*q<<0;var r=a.axisX.reversed?d-q<<0:d+q<<0,u;0<=x[l].y?u=n:(u=f,f=n);b=x[l].color?x[l].color:
355
+ h._colorSet[l%h._colorSet.length];aa(c,a.axisY.reversed?f:u,a.axisX.reversed?r:d,a.axisY.reversed?u:f,a.axisX.reversed?d:r,b,0,null,m,!1,!1,!1,h.fillOpacity);b=h.dataPointIds[l];this._eventManager.objectMap[b]={id:b,objectType:"dataPoint",dataSeriesIndex:s,dataPointIndex:l,x1:u,y1:d,x2:f,y2:r};b=R(b);t&&aa(this._eventManager.ghostCtx,u,a.axisX.reversed?r:d,f,a.axisX.reversed?d:r,b,0,null,!1,!1,!1,!1);(x[l].indexLabel||h.indexLabel||x[l].indexLabelFormatter||h.indexLabelFormatter)&&this._indexLabels.push({chartType:"bar",
356
+ dataPoint:x[l],dataSeries:h,point:{x:0<=x[l].y?f:u,y:d+(r-d)/2},direction:0>x[l].y===a.axisY.reversed?1:-1,bounds:{x1:Math.min(u,f),y1:d,x2:Math.max(u,f),y2:r},color:b})}}}t&&(g.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,
357
+ 0,0,this.width,this.height),c.clearRect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.restore());c.restore();return{source:g,dest:this.plotArea.ctx,animationCallback:C.xScaleAnimation,easingFunction:C.easing.easeOutQuart,animationBase:n<a.axisY.bounds.x1?a.axisY.bounds.x1:n>a.axisY.bounds.x2?a.axisY.bounds.x2:n}}};k.prototype.renderStackedBar=function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,c=t?this._preRenderCtx:g;if(!(0>=a.dataSeriesIndexes.length)){var b=null,e=this.plotArea,l=
358
+ [],f=[],d=[],J=[],n=0,p,q,s=a.axisY.convertValueToPixel(a.axisY.logarithmic?a.axisY.viewportMinimum:0),n=this.options.dataPointMinWidth?this.dataPointMinWidth:this.options.dataPointWidth?this.dataPointWidth:1,h=this.options.dataPointMaxWidth?this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:0.15*this.height<<0,x=a.axisX.dataInfo.minDiff;isFinite(x)||(x=0.3*Math.abs(a.axisX.range));x=this.options.dataPointWidth?this.dataPointWidth:0.9*(e.height*(a.axisX.logarithmic?Math.log(x)/
359
+ Math.log(a.axisX.range):Math.abs(x)/Math.abs(a.axisX.range))/a.plotType.plotUnits.length)<<0;this.dataPointMaxWidth&&n>h&&(n=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,h));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&h<n)&&(h=Math.max(this.options.dataPointWidth?this.dataPointWidth:-Infinity,n));x<n&&(x=n);x>h&&(x=h);c.save();t&&this._eventManager.ghostCtx.save();c.beginPath();c.rect(e.x1,e.y1,e.width,e.height);c.clip();t&&(this._eventManager.ghostCtx.beginPath(),this._eventManager.ghostCtx.rect(e.x1,
360
+ e.y1,e.width,e.height),this._eventManager.ghostCtx.clip());for(h=0;h<a.dataSeriesIndexes.length;h++){var m=a.dataSeriesIndexes[h],r=this.data[m],u=r.dataPoints;if(0<u.length){var B=5<x&&r.bevelEnabled?!0:!1;c.strokeStyle="#4572A7 ";for(n=0;n<u.length;n++)if(b=u[n].x.getTime?u[n].x.getTime():u[n].x,!(b<a.axisX.dataInfo.viewPortMin||b>a.axisX.dataInfo.viewPortMax)&&"number"===typeof u[n].y){q=a.axisX.convertValueToPixel(b);q=q-a.plotType.plotUnits.length*x/2+a.index*x<<0;var v=q+x<<0,k;if(a.axisY.logarithmic||
361
+ a.axisY.scaleBreaks&&0<a.axisY.scaleBreaks._appliedBreaks.length&&0<u[n].y)d[b]=u[n].y+(d[b]?d[b]:0),0<d[b]&&(k=l[b]?l[b]:s,l[b]=p=a.axisY.convertValueToPixel(d[b]));else if(a.axisY.scaleBreaks&&0<a.axisY.scaleBreaks._appliedBreaks.length&&0>=u[n].y)J[b]=u[n].y+(J[b]?J[b]:0),p=f[b]?f[b]:s,f[b]=k=a.axisY.convertValueToPixel(J[b]);else if(p=a.axisY.convertValueToPixel(u[n].y),0<=u[n].y){var G=l[b]?l[b]:0;k=s+G;p+=G;l[b]=G+(p-k)}else G=f[b]?f[b]:0,k=p-G,p=s-G,f[b]=G+(p-k);b=u[n].color?u[n].color:r._colorSet[n%
362
+ r._colorSet.length];aa(c,a.axisY.reversed?p:k,q,a.axisY.reversed?k:p,v,b,0,null,B,!1,!1,!1,r.fillOpacity);b=r.dataPointIds[n];this._eventManager.objectMap[b]={id:b,objectType:"dataPoint",dataSeriesIndex:m,dataPointIndex:n,x1:k,y1:q,x2:p,y2:v};b=R(b);t&&aa(this._eventManager.ghostCtx,k,q,p,v,b,0,null,!1,!1,!1,!1);(u[n].indexLabel||r.indexLabel||u[n].indexLabelFormatter||r.indexLabelFormatter)&&this._indexLabels.push({chartType:"stackedBar",dataPoint:u[n],dataSeries:r,point:{x:0<=u[n].y?p:k,y:q+(v-
363
+ q)/2},direction:0>u[n].y===a.axisY.reversed?1:-1,bounds:{x1:Math.min(k,p),y1:q,x2:Math.max(k,p),y2:v},color:b})}}}t&&(g.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(e.x1,
364
+ e.y1,e.width,e.height),this._eventManager.ghostCtx.restore());c.restore();return{source:g,dest:this.plotArea.ctx,animationCallback:C.xScaleAnimation,easingFunction:C.easing.easeOutQuart,animationBase:s<a.axisY.bounds.x1?a.axisY.bounds.x1:s>a.axisY.bounds.x2?a.axisY.bounds.x2:s}}};k.prototype.renderStackedBar100=function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,c=t?this._preRenderCtx:g;if(!(0>=a.dataSeriesIndexes.length)){var b=null,e=this.plotArea,l=[],f=[],d=[],J=[],n=0,p,q,s=a.axisY.convertValueToPixel(a.axisY.logarithmic?
365
+ a.axisY.viewportMinimum:0),n=this.options.dataPointMinWidth?this.dataPointMinWidth:this.options.dataPointWidth?this.dataPointWidth:1,h=this.options.dataPointMaxWidth?this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:0.15*this.height<<0,x=a.axisX.dataInfo.minDiff;isFinite(x)||(x=0.3*Math.abs(a.axisX.range));x=this.options.dataPointWidth?this.dataPointWidth:0.9*(e.height*(a.axisX.logarithmic?Math.log(x)/Math.log(a.axisX.range):Math.abs(x)/Math.abs(a.axisX.range))/a.plotType.plotUnits.length)<<
366
+ 0;this.dataPointMaxWidth&&n>h&&(n=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,h));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&h<n)&&(h=Math.max(this.options.dataPointWidth?this.dataPointWidth:-Infinity,n));x<n&&(x=n);x>h&&(x=h);c.save();t&&this._eventManager.ghostCtx.save();c.beginPath();c.rect(e.x1,e.y1,e.width,e.height);c.clip();t&&(this._eventManager.ghostCtx.beginPath(),this._eventManager.ghostCtx.rect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.clip());
367
+ for(h=0;h<a.dataSeriesIndexes.length;h++){var m=a.dataSeriesIndexes[h],r=this.data[m],u=r.dataPoints;if(0<u.length){var B=5<x&&r.bevelEnabled?!0:!1;c.strokeStyle="#4572A7 ";for(n=0;n<u.length;n++)if(b=u[n].x.getTime?u[n].x.getTime():u[n].x,!(b<a.axisX.dataInfo.viewPortMin||b>a.axisX.dataInfo.viewPortMax)&&"number"===typeof u[n].y){q=a.axisX.convertValueToPixel(b);var v;v=0!==a.dataPointYSums[b]?100*(u[n].y/a.dataPointYSums[b]):0;q=q-a.plotType.plotUnits.length*x/2+a.index*x<<0;var k=q+x<<0;if(a.axisY.logarithmic||
368
+ a.axisY.scaleBreaks&&0<a.axisY.scaleBreaks._appliedBreaks.length&&0<u[n].y){d[b]=v+(d[b]?d[b]:0);if(0>=d[b])continue;v=l[b]?l[b]:s;l[b]=p=a.axisY.convertValueToPixel(d[b])}else if(a.axisY.scaleBreaks&&0<a.axisY.scaleBreaks._appliedBreaks.length&&0>=u[n].y)J[b]=v+(J[b]?J[b]:0),p=f[b]?f[b]:s,f[b]=v=a.axisY.convertValueToPixel(J[b]);else if(p=a.axisY.convertValueToPixel(v),0<=u[n].y){var G=l[b]?l[b]:0;v=s+G;p+=G;a.dataSeriesIndexes.length-1===h&&1>=Math.abs(e.x2-p)&&(p=e.x2);l[b]=G+(p-v)}else G=f[b]?
369
+ f[b]:0,v=p-G,p=s-G,a.dataSeriesIndexes.length-1===h&&1>=Math.abs(e.x1-v)&&(v=e.x1),f[b]=G+(p-v);b=u[n].color?u[n].color:r._colorSet[n%r._colorSet.length];aa(c,a.axisY.reversed?p:v,q,a.axisY.reversed?v:p,k,b,0,null,B,!1,!1,!1,r.fillOpacity);b=r.dataPointIds[n];this._eventManager.objectMap[b]={id:b,objectType:"dataPoint",dataSeriesIndex:m,dataPointIndex:n,x1:v,y1:q,x2:p,y2:k};b=R(b);t&&aa(this._eventManager.ghostCtx,v,q,p,k,b,0,null,!1,!1,!1,!1);(u[n].indexLabel||r.indexLabel||u[n].indexLabelFormatter||
370
+ r.indexLabelFormatter)&&this._indexLabels.push({chartType:"stackedBar100",dataPoint:u[n],dataSeries:r,point:{x:0<=u[n].y?p:v,y:q+(k-q)/2},direction:0>u[n].y===a.axisY.reversed?1:-1,bounds:{x1:Math.min(v,p),y1:q,x2:Math.max(v,p),y2:k},color:b})}}}t&&(g.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),
371
+ this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.restore());c.restore();return{source:g,dest:this.plotArea.ctx,animationCallback:C.xScaleAnimation,easingFunction:C.easing.easeOutQuart,animationBase:s<a.axisY.bounds.x1?a.axisY.bounds.x1:s>a.axisY.bounds.x2?a.axisY.bounds.x2:s}}};k.prototype.renderArea=function(a){var g,c;function b(){G&&(0<h.lineThickness&&l.stroke(),a.axisY.logarithmic||
372
+ 0>=a.axisY.viewportMinimum&&0<=a.axisY.viewportMaximum?w=v:0>a.axisY.viewportMaximum?w=d.y1:0<a.axisY.viewportMinimum&&(w=v),l.lineTo(r,w),l.lineTo(G.x,w),l.closePath(),l.globalAlpha=h.fillOpacity,l.fill(),l.globalAlpha=1,t&&(f.lineTo(r,w),f.lineTo(G.x,w),f.closePath(),f.fill()),l.beginPath(),l.moveTo(r,u),f.beginPath(),f.moveTo(r,u),G={x:r,y:u})}var e=a.targetCanvasCtx||this.plotArea.ctx,l=t?this._preRenderCtx:e;if(!(0>=a.dataSeriesIndexes.length)){var f=this._eventManager.ghostCtx,d=a.axisY.lineCoordinates,
373
+ J=[],n=this.plotArea,p;l.save();t&&f.save();l.beginPath();l.rect(n.x1,n.y1,n.width,n.height);l.clip();t&&(f.beginPath(),f.rect(n.x1,n.y1,n.width,n.height),f.clip());for(var q=0;q<a.dataSeriesIndexes.length;q++){var s=a.dataSeriesIndexes[q],h=this.data[s],x=h.dataPoints,J=h.id;this._eventManager.objectMap[J]={objectType:"dataSeries",dataSeriesIndex:s};J=R(J);f.fillStyle=J;J=[];g=!0;var m=0,r,u,k,v=a.axisY.convertValueToPixel(a.axisY.logarithmic?a.axisY.viewportMinimum:0),w,G=null;if(0<x.length){var D=
374
+ h._colorSet[m%h._colorSet.length],y=h.lineColor=h.options.lineColor||D,A=y;l.fillStyle=D;l.strokeStyle=y;l.lineWidth=h.lineThickness;c="solid";if(l.setLineDash){var Z=X(h.nullDataLineDashType,h.lineThickness);c=h.lineDashType;var W=X(c,h.lineThickness);l.setLineDash(W)}for(var fa=!0;m<x.length;m++)if(k=x[m].x.getTime?x[m].x.getTime():x[m].x,!(k<a.axisX.dataInfo.viewPortMin||k>a.axisX.dataInfo.viewPortMax&&(!h.connectNullData||!fa)))if("number"!==typeof x[m].y)h.connectNullData||(fa||g)||b(),fa=!0;
375
+ else{r=a.axisX.convertValueToPixel(k);u=a.axisY.convertValueToPixel(x[m].y);g||fa?(!g&&h.connectNullData?(l.setLineDash&&(h.options.nullDataLineDashType||c===h.lineDashType&&h.lineDashType!==h.nullDataLineDashType)&&(g=r,c=u,r=p.x,u=p.y,b(),l.moveTo(p.x,p.y),r=g,u=c,G=p,c=h.nullDataLineDashType,l.setLineDash(Z)),l.lineTo(r,u),t&&f.lineTo(r,u)):(l.beginPath(),l.moveTo(r,u),t&&(f.beginPath(),f.moveTo(r,u)),G={x:r,y:u}),fa=g=!1):(l.lineTo(r,u),t&&f.lineTo(r,u),0==m%250&&b());p={x:r,y:u};m<x.length-1&&
376
+ (A!==(x[m].lineColor||y)||c!==(x[m].lineDashType||h.lineDashType))&&(b(),A=x[m].lineColor||y,l.strokeStyle=A,l.setLineDash&&(x[m].lineDashType?(c=x[m].lineDashType,l.setLineDash(X(c,h.lineThickness))):(c=h.lineDashType,l.setLineDash(W))));var da=h.dataPointIds[m];this._eventManager.objectMap[da]={id:da,objectType:"dataPoint",dataSeriesIndex:s,dataPointIndex:m,x1:r,y1:u};0!==x[m].markerSize&&(0<x[m].markerSize||0<h.markerSize)&&(k=h.getMarkerProperties(m,r,u,l),J.push(k),da=R(da),t&&J.push({x:r,y:u,
377
+ ctx:f,type:k.type,size:k.size,color:da,borderColor:da,borderThickness:k.borderThickness}));(x[m].indexLabel||h.indexLabel||x[m].indexLabelFormatter||h.indexLabelFormatter)&&this._indexLabels.push({chartType:"area",dataPoint:x[m],dataSeries:h,point:{x:r,y:u},direction:0>x[m].y===a.axisY.reversed?1:-1,color:D})}b();B.drawMarkers(J)}}t&&(e.drawImage(this._preRenderCanvas,0,0,this.width,this.height),l.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&l.drawImage(a.axisX.maskCanvas,0,0,this.width,
378
+ this.height),a.axisY.maskCanvas&&l.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),l.clearRect(n.x1,n.y1,n.width,n.height),this._eventManager.ghostCtx.restore());l.restore();return{source:e,dest:this.plotArea.ctx,animationCallback:C.xClipAnimation,easingFunction:C.easing.linear,animationBase:0}}};k.prototype.renderSplineArea=function(a){function g(){var c=E(L,2);if(0<c.length){if(0<p.lineThickness){b.beginPath();
379
+ b.moveTo(c[0].x,c[0].y);c[0].newStrokeStyle&&(b.strokeStyle=c[0].newStrokeStyle);c[0].newLineDashArray&&b.setLineDash(c[0].newLineDashArray);for(var g=0;g<c.length-3;g+=3)if(b.bezierCurveTo(c[g+1].x,c[g+1].y,c[g+2].x,c[g+2].y,c[g+3].x,c[g+3].y),t&&e.bezierCurveTo(c[g+1].x,c[g+1].y,c[g+2].x,c[g+2].y,c[g+3].x,c[g+3].y),c[g+3].newStrokeStyle||c[g+3].newLineDashArray)b.stroke(),b.beginPath(),b.moveTo(c[g+3].x,c[g+3].y),c[g+3].newStrokeStyle&&(b.strokeStyle=c[g+3].newStrokeStyle),c[g+3].newLineDashArray&&
380
+ b.setLineDash(c[g+3].newLineDashArray);b.stroke()}b.beginPath();b.moveTo(c[0].x,c[0].y);t&&(e.beginPath(),e.moveTo(c[0].x,c[0].y));for(g=0;g<c.length-3;g+=3)b.bezierCurveTo(c[g+1].x,c[g+1].y,c[g+2].x,c[g+2].y,c[g+3].x,c[g+3].y),t&&e.bezierCurveTo(c[g+1].x,c[g+1].y,c[g+2].x,c[g+2].y,c[g+3].x,c[g+3].y);a.axisY.logarithmic||0>=a.axisY.viewportMinimum&&0<=a.axisY.viewportMaximum?k=r:0>a.axisY.viewportMaximum?k=l.y1:0<a.axisY.viewportMinimum&&(k=r);u={x:c[0].x,y:c[0].y};b.lineTo(c[c.length-1].x,k);b.lineTo(u.x,
381
+ k);b.closePath();b.globalAlpha=p.fillOpacity;b.fill();b.globalAlpha=1;t&&(e.lineTo(c[c.length-1].x,k),e.lineTo(u.x,k),e.closePath(),e.fill())}}var c=a.targetCanvasCtx||this.plotArea.ctx,b=t?this._preRenderCtx:c;if(!(0>=a.dataSeriesIndexes.length)){var e=this._eventManager.ghostCtx,l=a.axisY.lineCoordinates,f=[],d=this.plotArea;b.save();t&&e.save();b.beginPath();b.rect(d.x1,d.y1,d.width,d.height);b.clip();t&&(e.beginPath(),e.rect(d.x1,d.y1,d.width,d.height),e.clip());for(var m=0;m<a.dataSeriesIndexes.length;m++){var n=
382
+ a.dataSeriesIndexes[m],p=this.data[n],q=p.dataPoints,f=p.id;this._eventManager.objectMap[f]={objectType:"dataSeries",dataSeriesIndex:n};f=R(f);e.fillStyle=f;var f=[],s=0,h,x,r=a.axisY.convertValueToPixel(a.axisY.logarithmic?a.axisY.viewportMinimum:0),k,u=null,L=[];if(0<q.length){var v=p._colorSet[s%p._colorSet.length],w=p.lineColor=p.options.lineColor||v,G=w;b.fillStyle=v;b.strokeStyle=w;b.lineWidth=p.lineThickness;var D="solid";if(b.setLineDash){var y=X(p.nullDataLineDashType,p.lineThickness),D=
383
+ p.lineDashType,A=X(D,p.lineThickness);b.setLineDash(A)}for(x=!1;s<q.length;s++)if(h=q[s].x.getTime?q[s].x.getTime():q[s].x,!(h<a.axisX.dataInfo.viewPortMin||h>a.axisX.dataInfo.viewPortMax&&(!p.connectNullData||!x)))if("number"!==typeof q[s].y)0<s&&!x&&(p.connectNullData?b.setLineDash&&(0<L.length&&(p.options.nullDataLineDashType||!q[s-1].lineDashType))&&(L[L.length-1].newLineDashArray=y,D=p.nullDataLineDashType):(g(),L=[])),x=!0;else{h=a.axisX.convertValueToPixel(h);x=a.axisY.convertValueToPixel(q[s].y);
384
+ var Z=p.dataPointIds[s];this._eventManager.objectMap[Z]={id:Z,objectType:"dataPoint",dataSeriesIndex:n,dataPointIndex:s,x1:h,y1:x};L[L.length]={x:h,y:x};s<q.length-1&&(G!==(q[s].lineColor||w)||D!==(q[s].lineDashType||p.lineDashType))&&(G=q[s].lineColor||w,L[L.length-1].newStrokeStyle=G,b.setLineDash&&(q[s].lineDashType?(D=q[s].lineDashType,L[L.length-1].newLineDashArray=X(D,p.lineThickness)):(D=p.lineDashType,L[L.length-1].newLineDashArray=A)));if(0!==q[s].markerSize&&(0<q[s].markerSize||0<p.markerSize)){var W=
385
+ p.getMarkerProperties(s,h,x,b);f.push(W);Z=R(Z);t&&f.push({x:h,y:x,ctx:e,type:W.type,size:W.size,color:Z,borderColor:Z,borderThickness:W.borderThickness})}(q[s].indexLabel||p.indexLabel||q[s].indexLabelFormatter||p.indexLabelFormatter)&&this._indexLabels.push({chartType:"splineArea",dataPoint:q[s],dataSeries:p,point:{x:h,y:x},direction:0>q[s].y===a.axisY.reversed?1:-1,color:v});x=!1}g();B.drawMarkers(f)}}t&&(c.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.globalCompositeOperation=
386
+ "source-atop",a.axisX.maskCanvas&&b.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&b.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.clearRect(d.x1,d.y1,d.width,d.height),this._eventManager.ghostCtx.restore());b.restore();return{source:c,dest:this.plotArea.ctx,animationCallback:C.xClipAnimation,easingFunction:C.easing.linear,animationBase:0}}};k.prototype.renderStepArea=
387
+ function(a){var g,c;function b(){G&&(0<h.lineThickness&&l.stroke(),a.axisY.logarithmic||0>=a.axisY.viewportMinimum&&0<=a.axisY.viewportMaximum?w=v:0>a.axisY.viewportMaximum?w=d.y1:0<a.axisY.viewportMinimum&&(w=v),l.lineTo(k,w),l.lineTo(G.x,w),l.closePath(),l.globalAlpha=h.fillOpacity,l.fill(),l.globalAlpha=1,t&&(f.lineTo(k,w),f.lineTo(G.x,w),f.closePath(),f.fill()),l.beginPath(),l.moveTo(k,u),f.beginPath(),f.moveTo(k,u),G={x:k,y:u})}var e=a.targetCanvasCtx||this.plotArea.ctx,l=t?this._preRenderCtx:
388
+ e;if(!(0>=a.dataSeriesIndexes.length)){var f=this._eventManager.ghostCtx,d=a.axisY.lineCoordinates,m=[],n=this.plotArea,p;l.save();t&&f.save();l.beginPath();l.rect(n.x1,n.y1,n.width,n.height);l.clip();t&&(f.beginPath(),f.rect(n.x1,n.y1,n.width,n.height),f.clip());for(var q=0;q<a.dataSeriesIndexes.length;q++){var s=a.dataSeriesIndexes[q],h=this.data[s],x=h.dataPoints,m=h.id;this._eventManager.objectMap[m]={objectType:"dataSeries",dataSeriesIndex:s};m=R(m);f.fillStyle=m;m=[];g=!0;var r=0,k,u,L,v=a.axisY.convertValueToPixel(a.axisY.logarithmic?
389
+ a.axisY.viewportMinimum:0),w,G=null;c=!1;if(0<x.length){var D=h._colorSet[r%h._colorSet.length],y=h.lineColor=h.options.lineColor||D,A=y;l.fillStyle=D;l.strokeStyle=y;l.lineWidth=h.lineThickness;var Z="solid";if(l.setLineDash){var W=X(h.nullDataLineDashType,h.lineThickness),Z=h.lineDashType,fa=X(Z,h.lineThickness);l.setLineDash(fa)}for(;r<x.length;r++)if(L=x[r].x.getTime?x[r].x.getTime():x[r].x,!(L<a.axisX.dataInfo.viewPortMin||L>a.axisX.dataInfo.viewPortMax&&(!h.connectNullData||!c))){var da=u;"number"!==
390
+ typeof x[r].y?(h.connectNullData||(c||g)||b(),c=!0):(k=a.axisX.convertValueToPixel(L),u=a.axisY.convertValueToPixel(x[r].y),g||c?(!g&&h.connectNullData?(l.setLineDash&&(h.options.nullDataLineDashType||Z===h.lineDashType&&h.lineDashType!==h.nullDataLineDashType)&&(g=k,c=u,k=p.x,u=p.y,b(),l.moveTo(p.x,p.y),k=g,u=c,G=p,Z=h.nullDataLineDashType,l.setLineDash(W)),l.lineTo(k,da),l.lineTo(k,u),t&&(f.lineTo(k,da),f.lineTo(k,u))):(l.beginPath(),l.moveTo(k,u),t&&(f.beginPath(),f.moveTo(k,u)),G={x:k,y:u}),c=
391
+ g=!1):(l.lineTo(k,da),t&&f.lineTo(k,da),l.lineTo(k,u),t&&f.lineTo(k,u),0==r%250&&b()),p={x:k,y:u},r<x.length-1&&(A!==(x[r].lineColor||y)||Z!==(x[r].lineDashType||h.lineDashType))&&(b(),A=x[r].lineColor||y,l.strokeStyle=A,l.setLineDash&&(x[r].lineDashType?(Z=x[r].lineDashType,l.setLineDash(X(Z,h.lineThickness))):(Z=h.lineDashType,l.setLineDash(fa)))),L=h.dataPointIds[r],this._eventManager.objectMap[L]={id:L,objectType:"dataPoint",dataSeriesIndex:s,dataPointIndex:r,x1:k,y1:u},0!==x[r].markerSize&&(0<
392
+ x[r].markerSize||0<h.markerSize)&&(da=h.getMarkerProperties(r,k,u,l),m.push(da),L=R(L),t&&m.push({x:k,y:u,ctx:f,type:da.type,size:da.size,color:L,borderColor:L,borderThickness:da.borderThickness})),(x[r].indexLabel||h.indexLabel||x[r].indexLabelFormatter||h.indexLabelFormatter)&&this._indexLabels.push({chartType:"stepArea",dataPoint:x[r],dataSeries:h,point:{x:k,y:u},direction:0>x[r].y===a.axisY.reversed?1:-1,color:D}))}b();B.drawMarkers(m)}}t&&(e.drawImage(this._preRenderCanvas,0,0,this.width,this.height),
393
+ l.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&l.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&l.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),l.clearRect(n.x1,n.y1,n.width,n.height),this._eventManager.ghostCtx.restore());l.restore();return{source:e,dest:this.plotArea.ctx,animationCallback:C.xClipAnimation,easingFunction:C.easing.linear,animationBase:0}}};
394
+ k.prototype.renderStackedArea=function(a){function g(){if(!(1>n.length)){for(0<D.lineThickness&&b.stroke();0<n.length;){var a=n.pop();b.lineTo(a.x,a.y);t&&k.lineTo(a.x,a.y)}b.closePath();b.globalAlpha=D.fillOpacity;b.fill();b.globalAlpha=1;b.beginPath();t&&(k.closePath(),k.fill(),k.beginPath());n=[]}}var c=a.targetCanvasCtx||this.plotArea.ctx,b=t?this._preRenderCtx:c;if(!(0>=a.dataSeriesIndexes.length)){var e=null,l=null,f=[],d=this.plotArea,m=[],n=[],p=[],q=[],s=0,h,x,r=a.axisY.convertValueToPixel(a.axisY.logarithmic?
395
+ a.axisY.viewportMinimum:0),k=this._eventManager.ghostCtx,u,L,v;t&&k.beginPath();b.save();t&&k.save();b.beginPath();b.rect(d.x1,d.y1,d.width,d.height);b.clip();t&&(k.beginPath(),k.rect(d.x1,d.y1,d.width,d.height),k.clip());for(var e=[],w=0;w<a.dataSeriesIndexes.length;w++){var G=a.dataSeriesIndexes[w],D=this.data[G],y=D.dataPoints;D.dataPointIndexes=[];for(s=0;s<y.length;s++)G=y[s].x.getTime?y[s].x.getTime():y[s].x,D.dataPointIndexes[G]=s,e[G]||(p.push(G),e[G]=!0);p.sort(Xa)}for(w=0;w<a.dataSeriesIndexes.length;w++){G=
396
+ a.dataSeriesIndexes[w];D=this.data[G];y=D.dataPoints;L=!0;n=[];s=D.id;this._eventManager.objectMap[s]={objectType:"dataSeries",dataSeriesIndex:G};s=R(s);k.fillStyle=s;if(0<p.length){var e=D._colorSet[0],A=D.lineColor=D.options.lineColor||e,Z=A;b.fillStyle=e;b.strokeStyle=A;b.lineWidth=D.lineThickness;v="solid";if(b.setLineDash){var W=X(D.nullDataLineDashType,D.lineThickness);v=D.lineDashType;var fa=X(v,D.lineThickness);b.setLineDash(fa)}for(var da=!0,s=0;s<p.length;s++){var l=p[s],ka=null,ka=0<=D.dataPointIndexes[l]?
397
+ y[D.dataPointIndexes[l]]:{x:l,y:null};if(!(l<a.axisX.dataInfo.viewPortMin||l>a.axisX.dataInfo.viewPortMax&&(!D.connectNullData||!da)))if("number"!==typeof ka.y)D.connectNullData||(da||L)||g(),da=!0;else{h=a.axisX.convertValueToPixel(l);var ta=m[l]?m[l]:0;if(a.axisY.logarithmic||a.axisY.scaleBreaks&&0<a.axisY.scaleBreaks._appliedBreaks.length){q[l]=ka.y+(q[l]?q[l]:0);if(0>=q[l]&&a.axisY.logarithmic)continue;x=a.axisY.convertValueToPixel(q[l])}else x=a.axisY.convertValueToPixel(ka.y),x-=ta;n.push({x:h,
398
+ y:r-ta});m[l]=r-x;L||da?(!L&&D.connectNullData?(b.setLineDash&&(D.options.nullDataLineDashType||v===D.lineDashType&&D.lineDashType!==D.nullDataLineDashType)&&(L=n.pop(),v=n[n.length-1],g(),b.moveTo(u.x,u.y),n.push(v),n.push(L),v=D.nullDataLineDashType,b.setLineDash(W)),b.lineTo(h,x),t&&k.lineTo(h,x)):(b.beginPath(),b.moveTo(h,x),t&&(k.beginPath(),k.moveTo(h,x))),da=L=!1):(b.lineTo(h,x),t&&k.lineTo(h,x),0==s%250&&(g(),b.moveTo(h,x),t&&k.moveTo(h,x),n.push({x:h,y:r-ta})));u={x:h,y:x};s<y.length-1&&
399
+ (Z!==(y[s].lineColor||A)||v!==(y[s].lineDashType||D.lineDashType))&&(g(),b.beginPath(),b.moveTo(h,x),n.push({x:h,y:r-ta}),Z=y[s].lineColor||A,b.strokeStyle=Z,b.setLineDash&&(y[s].lineDashType?(v=y[s].lineDashType,b.setLineDash(X(v,D.lineThickness))):(v=D.lineDashType,b.setLineDash(fa))));if(0<=D.dataPointIndexes[l]){var oa=D.dataPointIds[D.dataPointIndexes[l]];this._eventManager.objectMap[oa]={id:oa,objectType:"dataPoint",dataSeriesIndex:G,dataPointIndex:D.dataPointIndexes[l],x1:h,y1:x}}0<=D.dataPointIndexes[l]&&
400
+ 0!==ka.markerSize&&(0<ka.markerSize||0<D.markerSize)&&(ta=D.getMarkerProperties(D.dataPointIndexes[l],h,x,b),f.push(ta),l=R(oa),t&&f.push({x:h,y:x,ctx:k,type:ta.type,size:ta.size,color:l,borderColor:l,borderThickness:ta.borderThickness}));(ka.indexLabel||D.indexLabel||ka.indexLabelFormatter||D.indexLabelFormatter)&&this._indexLabels.push({chartType:"stackedArea",dataPoint:ka,dataSeries:D,point:{x:h,y:x},direction:0>y[s].y===a.axisY.reversed?1:-1,color:e})}}g();b.moveTo(h,x);t&&k.moveTo(h,x)}delete D.dataPointIndexes}B.drawMarkers(f);
401
+ t&&(c.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&b.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&b.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.clearRect(d.x1,d.y1,d.width,d.height),k.restore());b.restore();return{source:c,dest:this.plotArea.ctx,animationCallback:C.xClipAnimation,
402
+ easingFunction:C.easing.linear,animationBase:0}}};k.prototype.renderStackedArea100=function(a){function g(){for(0<D.lineThickness&&b.stroke();0<n.length;){var a=n.pop();b.lineTo(a.x,a.y);t&&v.lineTo(a.x,a.y)}b.closePath();b.globalAlpha=D.fillOpacity;b.fill();b.globalAlpha=1;b.beginPath();t&&(v.closePath(),v.fill(),v.beginPath());n=[]}var c=a.targetCanvasCtx||this.plotArea.ctx,b=t?this._preRenderCtx:c;if(!(0>=a.dataSeriesIndexes.length)){var e=null,l=null,f=this.plotArea,d=[],r=[],n=[],p=[],q=[],s=
403
+ 0,h,x,m,k,u,L=a.axisY.convertValueToPixel(a.axisY.logarithmic?a.axisY.viewportMinimum:0),v=this._eventManager.ghostCtx;b.save();t&&v.save();b.beginPath();b.rect(f.x1,f.y1,f.width,f.height);b.clip();t&&(v.beginPath(),v.rect(f.x1,f.y1,f.width,f.height),v.clip());for(var e=[],w=0;w<a.dataSeriesIndexes.length;w++){var G=a.dataSeriesIndexes[w],D=this.data[G],y=D.dataPoints;D.dataPointIndexes=[];for(s=0;s<y.length;s++)G=y[s].x.getTime?y[s].x.getTime():y[s].x,D.dataPointIndexes[G]=s,e[G]||(p.push(G),e[G]=
404
+ !0);p.sort(Xa)}for(w=0;w<a.dataSeriesIndexes.length;w++){G=a.dataSeriesIndexes[w];D=this.data[G];y=D.dataPoints;k=!0;e=D.id;this._eventManager.objectMap[e]={objectType:"dataSeries",dataSeriesIndex:G};e=R(e);v.fillStyle=e;n=[];if(0<p.length){var e=D._colorSet[s%D._colorSet.length],A=D.lineColor=D.options.lineColor||e,Z=A;b.fillStyle=e;b.strokeStyle=A;b.lineWidth=D.lineThickness;u="solid";if(b.setLineDash){var W=X(D.nullDataLineDashType,D.lineThickness);u=D.lineDashType;var fa=X(u,D.lineThickness);
405
+ b.setLineDash(fa)}for(var da=!0,s=0;s<p.length;s++){var l=p[s],ka=null,ka=0<=D.dataPointIndexes[l]?y[D.dataPointIndexes[l]]:{x:l,y:null};if(!(l<a.axisX.dataInfo.viewPortMin||l>a.axisX.dataInfo.viewPortMax&&(!D.connectNullData||!da)))if("number"!==typeof ka.y)D.connectNullData||(da||k)||g(),da=!0;else{var ta;ta=0!==a.dataPointYSums[l]?100*(ka.y/a.dataPointYSums[l]):0;h=a.axisX.convertValueToPixel(l);var oa=r[l]?r[l]:0;if(a.axisY.logarithmic||a.axisY.scaleBreaks&&0<a.axisY.scaleBreaks._appliedBreaks.length){q[l]=
406
+ ta+(q[l]?q[l]:0);if(0>=q[l]&&a.axisY.logarithmic)continue;x=a.axisY.convertValueToPixel(q[l])}else x=a.axisY.convertValueToPixel(ta),x-=oa;n.push({x:h,y:L-oa});r[l]=L-x;k||da?(!k&&D.connectNullData?(b.setLineDash&&(D.options.nullDataLineDashType||u===D.lineDashType&&D.lineDashType!==D.nullDataLineDashType)&&(k=n.pop(),u=n[n.length-1],g(),b.moveTo(m.x,m.y),n.push(u),n.push(k),u=D.nullDataLineDashType,b.setLineDash(W)),b.lineTo(h,x),t&&v.lineTo(h,x)):(b.beginPath(),b.moveTo(h,x),t&&(v.beginPath(),v.moveTo(h,
407
+ x))),da=k=!1):(b.lineTo(h,x),t&&v.lineTo(h,x),0==s%250&&(g(),b.moveTo(h,x),t&&v.moveTo(h,x),n.push({x:h,y:L-oa})));m={x:h,y:x};s<y.length-1&&(Z!==(y[s].lineColor||A)||u!==(y[s].lineDashType||D.lineDashType))&&(g(),b.beginPath(),b.moveTo(h,x),n.push({x:h,y:L-oa}),Z=y[s].lineColor||A,b.strokeStyle=Z,b.setLineDash&&(y[s].lineDashType?(u=y[s].lineDashType,b.setLineDash(X(u,D.lineThickness))):(u=D.lineDashType,b.setLineDash(fa))));if(0<=D.dataPointIndexes[l]){var H=D.dataPointIds[D.dataPointIndexes[l]];
408
+ this._eventManager.objectMap[H]={id:H,objectType:"dataPoint",dataSeriesIndex:G,dataPointIndex:D.dataPointIndexes[l],x1:h,y1:x}}0<=D.dataPointIndexes[l]&&0!==ka.markerSize&&(0<ka.markerSize||0<D.markerSize)&&(oa=D.getMarkerProperties(s,h,x,b),d.push(oa),l=R(H),t&&d.push({x:h,y:x,ctx:v,type:oa.type,size:oa.size,color:l,borderColor:l,borderThickness:oa.borderThickness}));(ka.indexLabel||D.indexLabel||ka.indexLabelFormatter||D.indexLabelFormatter)&&this._indexLabels.push({chartType:"stackedArea100",dataPoint:ka,
409
+ dataSeries:D,point:{x:h,y:x},direction:0>y[s].y===a.axisY.reversed?1:-1,color:e})}}g();b.moveTo(h,x);t&&v.moveTo(h,x)}delete D.dataPointIndexes}B.drawMarkers(d);t&&(c.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&b.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&b.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,
410
+ 0,0,this.width,this.height),b.clearRect(f.x1,f.y1,f.width,f.height),v.restore());b.restore();return{source:c,dest:this.plotArea.ctx,animationCallback:C.xClipAnimation,easingFunction:C.easing.linear,animationBase:0}}};k.prototype.renderBubble=function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,c=t?this._preRenderCtx:g;if(!(0>=a.dataSeriesIndexes.length)){var b=this.plotArea,e=0,l,f;c.save();t&&this._eventManager.ghostCtx.save();c.beginPath();c.rect(b.x1,b.y1,b.width,b.height);c.clip();t&&(this._eventManager.ghostCtx.beginPath(),
411
+ this._eventManager.ghostCtx.rect(b.x1,b.y1,b.width,b.height),this._eventManager.ghostCtx.clip());for(var d=-Infinity,r=Infinity,n=0;n<a.dataSeriesIndexes.length;n++)for(var p=a.dataSeriesIndexes[n],q=this.data[p],s=q.dataPoints,h=0,e=0;e<s.length;e++)l=s[e].getTime?l=s[e].x.getTime():l=s[e].x,l<a.axisX.dataInfo.viewPortMin||l>a.axisX.dataInfo.viewPortMax||"undefined"===typeof s[e].z||(h=s[e].z,h>d&&(d=h),h<r&&(r=h));for(var x=25*Math.PI,m=Math.max(Math.pow(0.25*Math.min(b.height,b.width)/2,2)*Math.PI,
412
+ x),n=0;n<a.dataSeriesIndexes.length;n++)if(p=a.dataSeriesIndexes[n],q=this.data[p],s=q.dataPoints,0<s.length)for(c.strokeStyle="#4572A7 ",e=0;e<s.length;e++)if(l=s[e].getTime?l=s[e].x.getTime():l=s[e].x,!(l<a.axisX.dataInfo.viewPortMin||l>a.axisX.dataInfo.viewPortMax)&&"number"===typeof s[e].y){l=a.axisX.convertValueToPixel(l);f=a.axisY.convertValueToPixel(s[e].y);var h=s[e].z,k=2*Math.max(Math.sqrt((d===r?m/2:x+(m-x)/(d-r)*(h-r))/Math.PI)<<0,1),h=q.getMarkerProperties(e,c);h.size=k;c.globalAlpha=
413
+ q.fillOpacity;B.drawMarker(l,f,c,h.type,h.size,h.color,h.borderColor,h.borderThickness);c.globalAlpha=1;var u=q.dataPointIds[e];this._eventManager.objectMap[u]={id:u,objectType:"dataPoint",dataSeriesIndex:p,dataPointIndex:e,x1:l,y1:f,size:k};k=R(u);t&&B.drawMarker(l,f,this._eventManager.ghostCtx,h.type,h.size,k,k,h.borderThickness);(s[e].indexLabel||q.indexLabel||s[e].indexLabelFormatter||q.indexLabelFormatter)&&this._indexLabels.push({chartType:"bubble",dataPoint:s[e],dataSeries:q,point:{x:l,y:f},
414
+ direction:1,bounds:{x1:l-h.size/2,y1:f-h.size/2,x2:l+h.size/2,y2:f+h.size/2},color:null})}t&&(g.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(b.x1,b.y1,b.width,b.height),this._eventManager.ghostCtx.restore());
415
+ c.restore();return{source:g,dest:this.plotArea.ctx,animationCallback:C.fadeInAnimation,easingFunction:C.easing.easeInQuad,animationBase:0}}};k.prototype.renderScatter=function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,c=t?this._preRenderCtx:g;if(!(0>=a.dataSeriesIndexes.length)){var b=this.plotArea,e=0,l,f;c.save();t&&this._eventManager.ghostCtx.save();c.beginPath();c.rect(b.x1,b.y1,b.width,b.height);c.clip();t&&(this._eventManager.ghostCtx.beginPath(),this._eventManager.ghostCtx.rect(b.x1,b.y1,
416
+ b.width,b.height),this._eventManager.ghostCtx.clip());for(var d=0;d<a.dataSeriesIndexes.length;d++){var r=a.dataSeriesIndexes[d],n=this.data[r],p=n.dataPoints;if(0<p.length){c.strokeStyle="#4572A7 ";Math.pow(0.3*Math.min(b.height,b.width)/2,2);for(var q=0,s=0,e=0;e<p.length;e++)if(l=p[e].getTime?l=p[e].x.getTime():l=p[e].x,!(l<a.axisX.dataInfo.viewPortMin||l>a.axisX.dataInfo.viewPortMax)&&"number"===typeof p[e].y){l=a.axisX.convertValueToPixel(l);f=a.axisY.convertValueToPixel(p[e].y);var h=n.getMarkerProperties(e,
417
+ l,f,c);c.globalAlpha=n.fillOpacity;B.drawMarker(h.x,h.y,h.ctx,h.type,h.size,h.color,h.borderColor,h.borderThickness);c.globalAlpha=1;Math.sqrt((q-l)*(q-l)+(s-f)*(s-f))<Math.min(h.size,5)&&p.length>Math.min(this.plotArea.width,this.plotArea.height)||(q=n.dataPointIds[e],this._eventManager.objectMap[q]={id:q,objectType:"dataPoint",dataSeriesIndex:r,dataPointIndex:e,x1:l,y1:f},q=R(q),t&&B.drawMarker(h.x,h.y,this._eventManager.ghostCtx,h.type,h.size,q,q,h.borderThickness),(p[e].indexLabel||n.indexLabel||
418
+ p[e].indexLabelFormatter||n.indexLabelFormatter)&&this._indexLabels.push({chartType:"scatter",dataPoint:p[e],dataSeries:n,point:{x:l,y:f},direction:1,bounds:{x1:l-h.size/2,y1:f-h.size/2,x2:l+h.size/2,y2:f+h.size/2},color:null}),q=l,s=f)}}}t&&(g.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),
419
+ this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(b.x1,b.y1,b.width,b.height),this._eventManager.ghostCtx.restore());c.restore();return{source:g,dest:this.plotArea.ctx,animationCallback:C.fadeInAnimation,easingFunction:C.easing.easeInQuad,animationBase:0}}};k.prototype.renderCandlestick=function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,c=t?this._preRenderCtx:g,b=this._eventManager.ghostCtx;if(!(0>=a.dataSeriesIndexes.length)){var e=
420
+ null,l=null,d=this.plotArea,r=0,m,n,p,q,s,h,e=this.options.dataPointMinWidth?this.dataPointMinWidth:this.options.dataPointWidth?this.dataPointWidth:1,l=this.options.dataPointMaxWidth?this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:0.015*this.width,x=a.axisX.dataInfo.minDiff;isFinite(x)||(x=0.3*Math.abs(a.axisX.range));x=this.options.dataPointWidth?this.dataPointWidth:0.7*d.width*(a.axisX.logarithmic?Math.log(x)/Math.log(a.axisX.range):Math.abs(x)/Math.abs(a.axisX.range))<<0;
421
+ this.dataPointMaxWidth&&e>l&&(e=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,l));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&l<e)&&(l=Math.max(this.options.dataPointWidth?this.dataPointWidth:-Infinity,e));x<e&&(x=e);x>l&&(x=l);c.save();t&&b.save();c.beginPath();c.rect(d.x1,d.y1,d.width,d.height);c.clip();t&&(b.beginPath(),b.rect(d.x1,d.y1,d.width,d.height),b.clip());for(var k=0;k<a.dataSeriesIndexes.length;k++){var B=a.dataSeriesIndexes[k],u=this.data[B],L=u.dataPoints;
422
+ if(0<L.length)for(var v=5<x&&u.bevelEnabled?!0:!1,r=0;r<L.length;r++)if(L[r].getTime?h=L[r].x.getTime():h=L[r].x,!(h<a.axisX.dataInfo.viewPortMin||h>a.axisX.dataInfo.viewPortMax)&&!f(L[r].y)&&L[r].y.length&&"number"===typeof L[r].y[0]&&"number"===typeof L[r].y[1]&&"number"===typeof L[r].y[2]&&"number"===typeof L[r].y[3]){m=a.axisX.convertValueToPixel(h);n=a.axisY.convertValueToPixel(L[r].y[0]);p=a.axisY.convertValueToPixel(L[r].y[1]);q=a.axisY.convertValueToPixel(L[r].y[2]);s=a.axisY.convertValueToPixel(L[r].y[3]);
423
+ var w=m-x/2<<0,G=w+x<<0,l=u.options.fallingColor?u.fallingColor:u._colorSet[0],e=L[r].color?L[r].color:u._colorSet[0],D=Math.round(Math.max(1,0.15*x)),y=0===D%2?0:0.5,A=u.dataPointIds[r];this._eventManager.objectMap[A]={id:A,objectType:"dataPoint",dataSeriesIndex:B,dataPointIndex:r,x1:w,y1:n,x2:G,y2:p,x3:m,y3:q,x4:m,y4:s,borderThickness:D,color:e};c.strokeStyle=e;c.beginPath();c.lineWidth=D;b.lineWidth=Math.max(D,4);"candlestick"===u.type?(c.moveTo(m-y,p),c.lineTo(m-y,Math.min(n,s)),c.stroke(),c.moveTo(m-
424
+ y,Math.max(n,s)),c.lineTo(m-y,q),c.stroke(),aa(c,w,Math.min(n,s),G,Math.max(n,s),L[r].y[0]<=L[r].y[3]?u.risingColor:l,D,e,v,v,!1,!1,u.fillOpacity),t&&(e=R(A),b.strokeStyle=e,b.moveTo(m-y,p),b.lineTo(m-y,Math.min(n,s)),b.stroke(),b.moveTo(m-y,Math.max(n,s)),b.lineTo(m-y,q),b.stroke(),aa(b,w,Math.min(n,s),G,Math.max(n,s),e,0,null,!1,!1,!1,!1))):"ohlc"===u.type&&(c.moveTo(m-y,p),c.lineTo(m-y,q),c.stroke(),c.beginPath(),c.moveTo(m,n),c.lineTo(w,n),c.stroke(),c.beginPath(),c.moveTo(m,s),c.lineTo(G,s),
425
+ c.stroke(),t&&(e=R(A),b.strokeStyle=e,b.moveTo(m-y,p),b.lineTo(m-y,q),b.stroke(),b.beginPath(),b.moveTo(m,n),b.lineTo(w,n),b.stroke(),b.beginPath(),b.moveTo(m,s),b.lineTo(G,s),b.stroke()));(L[r].indexLabel||u.indexLabel||L[r].indexLabelFormatter||u.indexLabelFormatter)&&this._indexLabels.push({chartType:u.type,dataPoint:L[r],dataSeries:u,point:{x:w+(G-w)/2,y:a.axisY.reversed?q:p},direction:1,bounds:{x1:w,y1:Math.min(p,q),x2:G,y2:Math.max(p,q)},color:e})}}t&&(g.drawImage(this._preRenderCanvas,0,0,
426
+ this.width,this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(d.x1,d.y1,d.width,d.height),b.restore());c.restore();return{source:g,dest:this.plotArea.ctx,animationCallback:C.fadeInAnimation,easingFunction:C.easing.easeInQuad,
427
+ animationBase:0}}};k.prototype.renderBoxAndWhisker=function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,c=t?this._preRenderCtx:g,b=this._eventManager.ghostCtx;if(!(0>=a.dataSeriesIndexes.length)){var e=null,l=this.plotArea,d=0,r,m,n,p,q,s,h,e=this.options.dataPointMinWidth?this.dataPointMinWidth:this.options.dataPointWidth?this.dataPointWidth:1,d=this.options.dataPointMaxWidth?this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:0.015*this.width,x=a.axisX.dataInfo.minDiff;isFinite(x)||
428
+ (x=0.3*Math.abs(a.axisX.range));x=this.options.dataPointWidth?this.dataPointWidth:0.7*l.width*(a.axisX.logarithmic?Math.log(x)/Math.log(a.axisX.range):Math.abs(x)/Math.abs(a.axisX.range))<<0;this.dataPointMaxWidth&&e>d&&(e=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,d));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&d<e)&&(d=Math.max(this.options.dataPointWidth?this.dataPointWidth:-Infinity,e));x<e&&(x=e);x>d&&(x=d);c.save();t&&b.save();c.beginPath();c.rect(l.x1,l.y1,l.width,
429
+ l.height);c.clip();t&&(b.beginPath(),b.rect(l.x1,l.y1,l.width,l.height),b.clip());for(var k=!1,k=!!a.axisY.reversed,B=0;B<a.dataSeriesIndexes.length;B++){var u=a.dataSeriesIndexes[B],L=this.data[u],v=L.dataPoints;if(0<v.length)for(var w=5<x&&L.bevelEnabled?!0:!1,d=0;d<v.length;d++)if(v[d].getTime?h=v[d].x.getTime():h=v[d].x,!(h<a.axisX.dataInfo.viewPortMin||h>a.axisX.dataInfo.viewPortMax)&&!f(v[d].y)&&v[d].y.length&&"number"===typeof v[d].y[0]&&"number"===typeof v[d].y[1]&&"number"===typeof v[d].y[2]&&
430
+ "number"===typeof v[d].y[3]&&"number"===typeof v[d].y[4]&&5===v[d].y.length){r=a.axisX.convertValueToPixel(h);m=a.axisY.convertValueToPixel(v[d].y[0]);n=a.axisY.convertValueToPixel(v[d].y[1]);p=a.axisY.convertValueToPixel(v[d].y[2]);q=a.axisY.convertValueToPixel(v[d].y[3]);s=a.axisY.convertValueToPixel(v[d].y[4]);var G=r-x/2<<0,D=r+x/2<<0,e=v[d].color?v[d].color:L._colorSet[0],y=Math.round(Math.max(1,0.15*x)),A=0===y%2?0:0.5,Z=v[d].whiskerColor?v[d].whiskerColor:v[d].color?L.whiskerColor?L.whiskerColor:
431
+ v[d].color:L.whiskerColor?L.whiskerColor:e,W="number"===typeof v[d].whiskerThickness?v[d].whiskerThickness:"number"===typeof L.options.whiskerThickness?L.whiskerThickness:y,fa=v[d].whiskerDashType?v[d].whiskerDashType:L.whiskerDashType,da=f(v[d].whiskerLength)?f(L.options.whiskerLength)?x:L.whiskerLength:v[d].whiskerLength,da="number"===typeof da?0>=da?0:da>=x?x:da:"string"===typeof da?parseInt(da)*x/100>x?x:parseInt(da)*x/100:x,ka=1===Math.round(W)%2?0.5:0,ta=v[d].stemColor?v[d].stemColor:v[d].color?
432
+ L.stemColor?L.stemColor:v[d].color:L.stemColor?L.stemColor:e,oa="number"===typeof v[d].stemThickness?v[d].stemThickness:"number"===typeof L.options.stemThickness?L.stemThickness:y,H=1===Math.round(oa)%2?0.5:0,E=v[d].stemDashType?v[d].stemDashType:L.stemDashType,F=v[d].lineColor?v[d].lineColor:v[d].color?L.lineColor?L.lineColor:v[d].color:L.lineColor?L.lineColor:e,K="number"===typeof v[d].lineThickness?v[d].lineThickness:"number"===typeof L.options.lineThickness?L.lineThickness:y,Q=v[d].lineDashType?
433
+ v[d].lineDashType:L.lineDashType,S=1===Math.round(K)%2?0.5:0,O=L.upperBoxColor,P=L.lowerBoxColor,N=f(L.options.fillOpacity)?1:L.fillOpacity,U=L.dataPointIds[d];this._eventManager.objectMap[U]={id:U,objectType:"dataPoint",dataSeriesIndex:u,dataPointIndex:d,x1:G,y1:m,x2:D,y2:n,x3:r,y3:p,x4:r,y4:q,y5:s,borderThickness:y,color:e,stemThickness:oa,stemColor:ta,whiskerThickness:W,whiskerLength:da,whiskerColor:Z,lineThickness:K,lineColor:F};c.save();0<oa&&(c.beginPath(),c.strokeStyle=ta,c.lineWidth=oa,c.setLineDash&&
434
+ c.setLineDash(X(E,oa)),c.moveTo(r-H,n),c.lineTo(r-H,m),c.stroke(),c.moveTo(r-H,q),c.lineTo(r-H,p),c.stroke());c.restore();b.lineWidth=Math.max(y,4);c.beginPath();aa(c,G,Math.min(s,n),D,Math.max(n,s),P,0,e,k?w:!1,k?!1:w,!1,!1,N);c.beginPath();aa(c,G,Math.min(p,s),D,Math.max(s,p),O,0,e,k?!1:w,k?w:!1,!1,!1,N);c.beginPath();c.lineWidth=y;c.strokeStyle=e;c.rect(G-A,Math.min(n,p)-A,D-G+2*A,Math.max(n,p)-Math.min(n,p)+2*A);c.stroke();c.save();0<K&&(c.beginPath(),c.globalAlpha=1,c.setLineDash&&c.setLineDash(X(Q,
435
+ K)),c.strokeStyle=F,c.lineWidth=K,c.moveTo(G,s-S),c.lineTo(D,s-S),c.stroke());c.restore();c.save();0<W&&(c.beginPath(),c.setLineDash&&c.setLineDash(X(fa,W)),c.strokeStyle=Z,c.lineWidth=W,c.moveTo(r-da/2<<0,q-ka),c.lineTo(r+da/2<<0,q-ka),c.stroke(),c.moveTo(r-da/2<<0,m+ka),c.lineTo(r+da/2<<0,m+ka),c.stroke());c.restore();t&&(e=R(U),b.strokeStyle=e,b.lineWidth=oa,0<oa&&(b.moveTo(r-A-H,n),b.lineTo(r-A-H,Math.max(m,q)),b.stroke(),b.moveTo(r-A-H,Math.min(m,q)),b.lineTo(r-A-H,p),b.stroke()),aa(b,G,Math.max(n,
436
+ p),D,Math.min(n,p),e,0,null,!1,!1,!1,!1),0<W&&(b.beginPath(),b.lineWidth=W,b.moveTo(r+da/2,q-ka),b.lineTo(r-da/2,q-ka),b.stroke(),b.moveTo(r+da/2,m+ka),b.lineTo(r-da/2,m+ka),b.stroke()));(v[d].indexLabel||L.indexLabel||v[d].indexLabelFormatter||L.indexLabelFormatter)&&this._indexLabels.push({chartType:L.type,dataPoint:v[d],dataSeries:L,point:{x:G+(D-G)/2,y:a.axisY.reversed?m:q},direction:1,bounds:{x1:G,y1:Math.min(m,q),x2:D,y2:Math.max(m,q)},color:e})}}t&&(g.drawImage(this._preRenderCanvas,0,0,this.width,
437
+ this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(l.x1,l.y1,l.width,l.height),b.restore());c.restore();return{source:g,dest:this.plotArea.ctx,animationCallback:C.fadeInAnimation,easingFunction:C.easing.easeInQuad,animationBase:0}}};
438
+ k.prototype.renderRangeColumn=function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,c=t?this._preRenderCtx:g;if(!(0>=a.dataSeriesIndexes.length)){var b=null,e=this.plotArea,l=0,d,r,m,l=this.options.dataPointMinWidth?this.dataPointMinWidth:this.options.dataPointWidth?this.dataPointWidth:1;d=this.options.dataPointMaxWidth?this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:0.03*this.width;var n=a.axisX.dataInfo.minDiff;isFinite(n)||(n=0.3*Math.abs(a.axisX.range));n=this.options.dataPointWidth?
439
+ this.dataPointWidth:0.9*(e.width*(a.axisX.logarithmic?Math.log(n)/Math.log(a.axisX.range):Math.abs(n)/Math.abs(a.axisX.range))/a.plotType.totalDataSeries)<<0;this.dataPointMaxWidth&&l>d&&(l=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,d));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&d<l)&&(d=Math.max(this.options.dataPointWidth?this.dataPointWidth:-Infinity,l));n<l&&(n=l);n>d&&(n=d);c.save();t&&this._eventManager.ghostCtx.save();c.beginPath();c.rect(e.x1,e.y1,e.width,e.height);
440
+ c.clip();t&&(this._eventManager.ghostCtx.beginPath(),this._eventManager.ghostCtx.rect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.clip());for(var p=0;p<a.dataSeriesIndexes.length;p++){var q=a.dataSeriesIndexes[p],s=this.data[q],h=s.dataPoints;if(0<h.length)for(var x=5<n&&s.bevelEnabled?!0:!1,l=0;l<h.length;l++)if(h[l].getTime?m=h[l].x.getTime():m=h[l].x,!(m<a.axisX.dataInfo.viewPortMin||m>a.axisX.dataInfo.viewPortMax)&&!f(h[l].y)&&h[l].y.length&&"number"===typeof h[l].y[0]&&"number"===
441
+ typeof h[l].y[1]){b=a.axisX.convertValueToPixel(m);d=a.axisY.convertValueToPixel(h[l].y[0]);r=a.axisY.convertValueToPixel(h[l].y[1]);var k=a.axisX.reversed?b+a.plotType.totalDataSeries*n/2-(a.previousDataSeriesCount+p)*n<<0:b-a.plotType.totalDataSeries*n/2+(a.previousDataSeriesCount+p)*n<<0,B=a.axisX.reversed?k-n<<0:k+n<<0,b=h[l].color?h[l].color:s._colorSet[l%s._colorSet.length];if(d>r){var u=d;d=r;r=u}u=s.dataPointIds[l];this._eventManager.objectMap[u]={id:u,objectType:"dataPoint",dataSeriesIndex:q,
442
+ dataPointIndex:l,x1:k,y1:d,x2:B,y2:r};aa(c,a.axisX.reversed?B:k,d,a.axisX.reversed?k:B,r,b,0,b,x,x,!1,!1,s.fillOpacity);b=R(u);t&&aa(this._eventManager.ghostCtx,a.axisX.reversed?B:k,d,a.axisX.reversed?k:B,r,b,0,null,!1,!1,!1,!1);if(h[l].indexLabel||s.indexLabel||h[l].indexLabelFormatter||s.indexLabelFormatter)this._indexLabels.push({chartType:"rangeColumn",dataPoint:h[l],dataSeries:s,indexKeyword:0,point:{x:k+(B-k)/2,y:h[l].y[1]>=h[l].y[0]?r:d},direction:h[l].y[1]>=h[l].y[0]?-1:1,bounds:{x1:k,y1:Math.min(d,
443
+ r),x2:B,y2:Math.max(d,r)},color:b}),this._indexLabels.push({chartType:"rangeColumn",dataPoint:h[l],dataSeries:s,indexKeyword:1,point:{x:k+(B-k)/2,y:h[l].y[1]>=h[l].y[0]?d:r},direction:h[l].y[1]>=h[l].y[0]?1:-1,bounds:{x1:k,y1:Math.min(d,r),x2:B,y2:Math.max(d,r)},color:b})}}t&&(g.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,
444
+ 0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.restore());c.restore();return{source:g,dest:this.plotArea.ctx,animationCallback:C.fadeInAnimation,easingFunction:C.easing.easeInQuad,animationBase:0}}};k.prototype.renderError=function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,c=t?this._preRenderCtx:g,b=a.axisY._position?"left"===a.axisY._position||
445
+ "right"===a.axisY._position?!1:!0:!1;if(!(0>=a.dataSeriesIndexes.length)){var e=null,l=!1,d=this.plotArea,r=0,m,n,p,q,s,h,x,k=a.axisX.dataInfo.minDiff;isFinite(k)||(k=0.3*Math.abs(a.axisX.range));c.save();t&&this._eventManager.ghostCtx.save();c.beginPath();c.rect(d.x1,d.y1,d.width,d.height);c.clip();t&&(this._eventManager.ghostCtx.beginPath(),this._eventManager.ghostCtx.rect(d.x1,d.y1,d.width,d.height),this._eventManager.ghostCtx.clip());for(var B=0,u=0;u<this.data.length;u++)!this.data[u].type.match(/(bar|column)/ig)||
446
+ !this.data[u].visible||this.data[u].type.match(/(stacked)/ig)&&B||B++;for(var L=0;L<a.dataSeriesIndexes.length;L++){var v=a.dataSeriesIndexes[L],w=this.data[v],y=w.dataPoints,D=f(w._linkedSeries)?!1:w._linkedSeries.type.match(/(bar|column)/ig)&&w._linkedSeries.visible?!0:!1,A=0;if(D)for(e=w._linkedSeries.id,u=0;u<e;u++)!this.data[u].type.match(/(bar|column)/ig)||!this.data[u].visible||this.data[u].type.match(/(stacked)/ig)&&A||(this.data[u].type.match(/(range)/ig)&&(l=!0),A++);e=this.options.dataPointMinWidth?
447
+ this.dataPointMinWidth:this.options.dataPointWidth?this.dataPointWidth:1;r=this.options.dataPointMaxWidth?this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:b?Math.min(0.15*this.height,0.9*(this.plotArea.height/(D?B:1)))<<0:0.3*this.width;l&&(r=this.options.dataPointMaxWidth?this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:b?Math.min(0.15*this.height,0.9*(this.plotArea.height/(D?B:1)))<<0:0.03*this.width);u=this.options.dataPointWidth?this.dataPointWidth:
448
+ 0.9*((b?d.height:d.width)*(a.axisX.logarithmic?Math.log(k)/Math.log(a.axisX.range):Math.abs(k)/Math.abs(a.axisX.range))/(D?B:1))<<0;this.dataPointMaxWidth&&e>r&&(e=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,r));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&r<e)&&(r=Math.max(this.options.dataPointWidth?this.dataPointWidth:-Infinity,e));u<e&&(u=e);u>r&&(u=r);if(0<y.length)for(var E=w._colorSet,r=0;r<y.length;r++){var e=w.lineColor=w.options.color?w.options.color:E[0],Z={color:y[r].whiskerColor?
449
+ y[r].whiskerColor:y[r].color?w.whiskerColor?w.whiskerColor:y[r].color:w.whiskerColor?w.whiskerColor:e,thickness:f(y[r].whiskerThickness)?w.whiskerThickness:y[r].whiskerThickness,dashType:y[r].whiskerDashType?y[r].whiskerDashType:w.whiskerDashType,length:f(y[r].whiskerLength)?f(w.options.whiskerLength)?u:w.options.whiskerLength:y[r].whiskerLength,trimLength:f(y[r].whiskerLength)?f(w.options.whiskerLength)?50:0:0};Z.length="number"===typeof Z.length?0>=Z.length?0:Z.length>=u?u:Z.length:"string"===typeof Z.length?
450
+ parseInt(Z.length)*u/100>u?u:parseInt(Z.length)*u/100>u:u;Z.thickness="number"===typeof Z.thickness?0>Z.thickness?0:Math.round(Z.thickness):2;var W={color:y[r].stemColor?y[r].stemColor:y[r].color?w.stemColor?w.stemColor:y[r].color:w.stemColor?w.stemColor:e,thickness:y[r].stemThickness?y[r].stemThickness:w.stemThickness,dashType:y[r].stemDashType?y[r].stemDashType:w.stemDashType};W.thickness="number"===typeof W.thickness?0>W.thickness?0:Math.round(W.thickness):2;y[r].getTime?x=y[r].x.getTime():x=y[r].x;
451
+ if(!(x<a.axisX.dataInfo.viewPortMin||x>a.axisX.dataInfo.viewPortMax)&&!f(y[r].y)&&y[r].y.length&&"number"===typeof y[r].y[0]&&"number"===typeof y[r].y[1]){var fa=a.axisX.convertValueToPixel(x);b?n=fa:m=fa;fa=a.axisY.convertValueToPixel(y[r].y[0]);b?p=fa:s=fa;fa=a.axisY.convertValueToPixel(y[r].y[1]);b?q=fa:h=fa;b?(s=a.axisX.reversed?n+(D?B:1)*u/2-(D?A-1:0)*u<<0:n-(D?B:1)*u/2+(D?A-1:0)*u<<0,h=a.axisX.reversed?s-u<<0:s+u<<0):(p=a.axisX.reversed?m+(D?B:1)*u/2-(D?A-1:0)*u<<0:m-(D?B:1)*u/2+(D?A-1:0)*u<<
452
+ 0,q=a.axisX.reversed?p-u<<0:p+u<<0);!b&&s>h&&(fa=s,s=h,h=fa);b&&p>q&&(fa=p,p=q,q=fa);fa=w.dataPointIds[r];this._eventManager.objectMap[fa]={id:fa,objectType:"dataPoint",dataSeriesIndex:v,dataPointIndex:r,x1:Math.min(p,q),y1:Math.min(s,h),x2:Math.max(q,p),y2:Math.max(h,s),isXYSwapped:b,stemProperties:W,whiskerProperties:Z};Q(c,Math.min(p,q),Math.min(s,h),Math.max(q,p),Math.max(h,s),e,Z,W,b);t&&Q(this._eventManager.ghostCtx,p,s,q,h,e,Z,W,b);if(y[r].indexLabel||w.indexLabel||y[r].indexLabelFormatter||
453
+ w.indexLabelFormatter)this._indexLabels.push({chartType:"error",dataPoint:y[r],dataSeries:w,indexKeyword:0,point:{x:b?y[r].y[1]>=y[r].y[0]?p:q:p+(q-p)/2,y:b?s+(h-s)/2:y[r].y[1]>=y[r].y[0]?h:s},direction:y[r].y[1]>=y[r].y[0]?-1:1,bounds:{x1:b?Math.min(p,q):p,y1:b?s:Math.min(s,h),x2:b?Math.max(p,q):q,y2:b?h:Math.max(s,h)},color:e,axisSwapped:b}),this._indexLabels.push({chartType:"error",dataPoint:y[r],dataSeries:w,indexKeyword:1,point:{x:b?y[r].y[1]>=y[r].y[0]?q:p:p+(q-p)/2,y:b?s+(h-s)/2:y[r].y[1]>=
454
+ y[r].y[0]?s:h},direction:y[r].y[1]>=y[r].y[0]?1:-1,bounds:{x1:b?Math.min(p,q):p,y1:b?s:Math.min(s,h),x2:b?Math.max(p,q):q,y2:b?h:Math.max(s,h)},color:e,axisSwapped:b})}}}t&&(g.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,
455
+ 0,0,this.width,this.height),c.clearRect(d.x1,d.y1,d.width,d.height),this._eventManager.ghostCtx.restore());c.restore();return{source:g,dest:this.plotArea.ctx,animationCallback:C.fadeInAnimation,easingFunction:C.easing.easeInQuad,animationBase:0}}};k.prototype.renderRangeBar=function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,c=t?this._preRenderCtx:g;if(!(0>=a.dataSeriesIndexes.length)){var b=null,e=this.plotArea,l=0,d,r,m,n,l=this.options.dataPointMinWidth?this.dataPointMinWidth:this.options.dataPointWidth?
456
+ this.dataPointWidth:1;d=this.options.dataPointMaxWidth?this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:Math.min(0.15*this.height,0.9*(this.plotArea.height/a.plotType.totalDataSeries))<<0;var p=a.axisX.dataInfo.minDiff;isFinite(p)||(p=0.3*Math.abs(a.axisX.range));p=this.options.dataPointWidth?this.dataPointWidth:0.9*(e.height*(a.axisX.logarithmic?Math.log(p)/Math.log(a.axisX.range):Math.abs(p)/Math.abs(a.axisX.range))/a.plotType.totalDataSeries)<<0;this.dataPointMaxWidth&&l>
457
+ d&&(l=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,d));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&d<l)&&(d=Math.max(this.options.dataPointWidth?this.dataPointWidth:-Infinity,l));p<l&&(p=l);p>d&&(p=d);c.save();t&&this._eventManager.ghostCtx.save();c.beginPath();c.rect(e.x1,e.y1,e.width,e.height);c.clip();t&&(this._eventManager.ghostCtx.beginPath(),this._eventManager.ghostCtx.rect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.clip());for(var q=0;q<a.dataSeriesIndexes.length;q++){var s=
458
+ a.dataSeriesIndexes[q],h=this.data[s],x=h.dataPoints;if(0<x.length){var k=5<p&&h.bevelEnabled?!0:!1;c.strokeStyle="#4572A7 ";for(l=0;l<x.length;l++)if(x[l].getTime?n=x[l].x.getTime():n=x[l].x,!(n<a.axisX.dataInfo.viewPortMin||n>a.axisX.dataInfo.viewPortMax)&&!f(x[l].y)&&x[l].y.length&&"number"===typeof x[l].y[0]&&"number"===typeof x[l].y[1]){d=a.axisY.convertValueToPixel(x[l].y[0]);r=a.axisY.convertValueToPixel(x[l].y[1]);m=a.axisX.convertValueToPixel(n);m=a.axisX.reversed?m+a.plotType.totalDataSeries*
459
+ p/2-(a.previousDataSeriesCount+q)*p<<0:m-a.plotType.totalDataSeries*p/2+(a.previousDataSeriesCount+q)*p<<0;var B=a.axisX.reversed?m-p<<0:m+p<<0;d>r&&(b=d,d=r,r=b);b=x[l].color?x[l].color:h._colorSet[l%h._colorSet.length];aa(c,d,a.axisX.reversed?B:m,r,a.axisX.reversed?m:B,b,0,null,k,!1,!1,!1,h.fillOpacity);b=h.dataPointIds[l];this._eventManager.objectMap[b]={id:b,objectType:"dataPoint",dataSeriesIndex:s,dataPointIndex:l,x1:d,y1:m,x2:r,y2:B};b=R(b);t&&aa(this._eventManager.ghostCtx,d,a.axisX.reversed?
460
+ B:m,r,a.axisX.reversed?m:B,b,0,null,!1,!1,!1,!1);if(x[l].indexLabel||h.indexLabel||x[l].indexLabelFormatter||h.indexLabelFormatter)this._indexLabels.push({chartType:"rangeBar",dataPoint:x[l],dataSeries:h,indexKeyword:0,point:{x:x[l].y[1]>=x[l].y[0]?d:r,y:m+(B-m)/2},direction:x[l].y[1]>=x[l].y[0]?-1:1,bounds:{x1:Math.min(d,r),y1:m,x2:Math.max(d,r),y2:B},color:b}),this._indexLabels.push({chartType:"rangeBar",dataPoint:x[l],dataSeries:h,indexKeyword:1,point:{x:x[l].y[1]>=x[l].y[0]?r:d,y:m+(B-m)/2},direction:x[l].y[1]>=
461
+ x[l].y[0]?1:-1,bounds:{x1:Math.min(d,r),y1:m,x2:Math.max(d,r),y2:B},color:b})}}}t&&(g.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.restore());
462
+ c.restore();return{source:g,dest:this.plotArea.ctx,animationCallback:C.fadeInAnimation,easingFunction:C.easing.easeInQuad,animationBase:0}}};k.prototype.renderRangeArea=function(a){function g(){if(L){for(var a=null,c=r.length-1;0<=c;c--)a=r[c],b.lineTo(a.x,a.y2),e.lineTo(a.x,a.y2);b.closePath();b.globalAlpha=p.fillOpacity;b.fill();b.globalAlpha=1;e.fill();if(0<p.lineThickness){b.beginPath();b.moveTo(a.x,a.y2);for(c=0;c<r.length;c++)a=r[c],b.lineTo(a.x,a.y2);b.moveTo(r[0].x,r[0].y1);for(c=0;c<r.length;c++)a=
463
+ r[c],b.lineTo(a.x,a.y1);b.stroke()}b.beginPath();b.moveTo(m,k);e.beginPath();e.moveTo(m,k);L={x:m,y:k};r=[];r.push({x:m,y1:k,y2:y})}}var c=a.targetCanvasCtx||this.plotArea.ctx,b=t?this._preRenderCtx:c;if(!(0>=a.dataSeriesIndexes.length)){var e=this._eventManager.ghostCtx,l=[],f=this.plotArea;b.save();t&&e.save();b.beginPath();b.rect(f.x1,f.y1,f.width,f.height);b.clip();t&&(e.beginPath(),e.rect(f.x1,f.y1,f.width,f.height),e.clip());for(var d=0;d<a.dataSeriesIndexes.length;d++){var r=[],n=a.dataSeriesIndexes[d],
464
+ p=this.data[n],q=p.dataPoints,l=p.id;this._eventManager.objectMap[l]={objectType:"dataSeries",dataSeriesIndex:n};l=R(l);e.fillStyle=l;var l=[],s=!0,h=0,m,k,y,u,L=null;if(0<q.length){var v=p._colorSet[h%p._colorSet.length],w=p.lineColor=p.options.lineColor||v,G=w;b.fillStyle=v;b.strokeStyle=w;b.lineWidth=p.lineThickness;var D="solid";if(b.setLineDash){var A=X(p.nullDataLineDashType,p.lineThickness),D=p.lineDashType,E=X(D,p.lineThickness);b.setLineDash(E)}for(var Z=!0;h<q.length;h++)if(u=q[h].x.getTime?
465
+ q[h].x.getTime():q[h].x,!(u<a.axisX.dataInfo.viewPortMin||u>a.axisX.dataInfo.viewPortMax&&(!p.connectNullData||!Z)))if(null!==q[h].y&&q[h].y.length&&"number"===typeof q[h].y[0]&&"number"===typeof q[h].y[1]){m=a.axisX.convertValueToPixel(u);k=a.axisY.convertValueToPixel(q[h].y[0]);y=a.axisY.convertValueToPixel(q[h].y[1]);s||Z?(p.connectNullData&&!s?(b.setLineDash&&(p.options.nullDataLineDashType||D===p.lineDashType&&p.lineDashType!==p.nullDataLineDashType)&&(r[r.length-1].newLineDashArray=E,D=p.nullDataLineDashType,
466
+ b.setLineDash(A)),b.lineTo(m,k),t&&e.lineTo(m,k),r.push({x:m,y1:k,y2:y})):(b.beginPath(),b.moveTo(m,k),L={x:m,y:k},r=[],r.push({x:m,y1:k,y2:y}),t&&(e.beginPath(),e.moveTo(m,k))),Z=s=!1):(b.lineTo(m,k),r.push({x:m,y1:k,y2:y}),t&&e.lineTo(m,k),0==h%250&&g());u=p.dataPointIds[h];this._eventManager.objectMap[u]={id:u,objectType:"dataPoint",dataSeriesIndex:n,dataPointIndex:h,x1:m,y1:k,y2:y};h<q.length-1&&(G!==(q[h].lineColor||w)||D!==(q[h].lineDashType||p.lineDashType))&&(g(),G=q[h].lineColor||w,r[r.length-
467
+ 1].newStrokeStyle=G,b.strokeStyle=G,b.setLineDash&&(q[h].lineDashType?(D=q[h].lineDashType,r[r.length-1].newLineDashArray=X(D,p.lineThickness),b.setLineDash(r[r.length-1].newLineDashArray)):(D=p.lineDashType,r[r.length-1].newLineDashArray=E,b.setLineDash(E))));if(0!==q[h].markerSize&&(0<q[h].markerSize||0<p.markerSize)){var W=p.getMarkerProperties(h,m,y,b);l.push(W);var fa=R(u);t&&l.push({x:m,y:y,ctx:e,type:W.type,size:W.size,color:fa,borderColor:fa,borderThickness:W.borderThickness});W=p.getMarkerProperties(h,
468
+ m,k,b);l.push(W);fa=R(u);t&&l.push({x:m,y:k,ctx:e,type:W.type,size:W.size,color:fa,borderColor:fa,borderThickness:W.borderThickness})}if(q[h].indexLabel||p.indexLabel||q[h].indexLabelFormatter||p.indexLabelFormatter)this._indexLabels.push({chartType:"rangeArea",dataPoint:q[h],dataSeries:p,indexKeyword:0,point:{x:m,y:k},direction:q[h].y[0]>q[h].y[1]===a.axisY.reversed?-1:1,color:v}),this._indexLabels.push({chartType:"rangeArea",dataPoint:q[h],dataSeries:p,indexKeyword:1,point:{x:m,y:y},direction:q[h].y[0]>
469
+ q[h].y[1]===a.axisY.reversed?1:-1,color:v})}else Z||s||g(),Z=!0;g();B.drawMarkers(l)}}t&&(c.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&b.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&b.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.clearRect(f.x1,f.y1,f.width,f.height),this._eventManager.ghostCtx.restore());
470
+ b.restore();return{source:c,dest:this.plotArea.ctx,animationCallback:C.xClipAnimation,easingFunction:C.easing.linear,animationBase:0}}};k.prototype.renderRangeSplineArea=function(a){function g(a,c){var g=E(k,2);if(0<g.length){if(0<n.lineThickness){b.strokeStyle=c;b.setLineDash&&b.setLineDash(a);b.beginPath();b.moveTo(g[0].x,g[0].y);for(var h=0;h<g.length-3;h+=3){if(g[h].newStrokeStyle||g[h].newLineDashArray)b.stroke(),b.beginPath(),b.moveTo(g[h].x,g[h].y),g[h].newStrokeStyle&&(b.strokeStyle=g[h].newStrokeStyle),
471
+ g[h].newLineDashArray&&b.setLineDash(g[h].newLineDashArray);b.bezierCurveTo(g[h+1].x,g[h+1].y,g[h+2].x,g[h+2].y,g[h+3].x,g[h+3].y)}}b.beginPath();b.moveTo(g[0].x,g[0].y);t&&(e.beginPath(),e.moveTo(g[0].x,g[0].y));for(h=0;h<g.length-3;h+=3)b.bezierCurveTo(g[h+1].x,g[h+1].y,g[h+2].x,g[h+2].y,g[h+3].x,g[h+3].y),t&&e.bezierCurveTo(g[h+1].x,g[h+1].y,g[h+2].x,g[h+2].y,g[h+3].x,g[h+3].y);g=E(y,2);b.lineTo(y[y.length-1].x,y[y.length-1].y);for(h=g.length-1;2<h;h-=3)b.bezierCurveTo(g[h-1].x,g[h-1].y,g[h-2].x,
472
+ g[h-2].y,g[h-3].x,g[h-3].y),t&&e.bezierCurveTo(g[h-1].x,g[h-1].y,g[h-2].x,g[h-2].y,g[h-3].x,g[h-3].y);b.closePath();b.globalAlpha=n.fillOpacity;b.fill();t&&(e.closePath(),e.fill());b.globalAlpha=1;if(0<n.lineThickness){b.strokeStyle=c;b.setLineDash&&b.setLineDash(a);b.beginPath();b.moveTo(g[0].x,g[0].y);for(var l=h=0;h<g.length-3;h+=3,l++){if(k[l].newStrokeStyle||k[l].newLineDashArray)b.stroke(),b.beginPath(),b.moveTo(g[h].x,g[h].y),k[l].newStrokeStyle&&(b.strokeStyle=k[l].newStrokeStyle),k[l].newLineDashArray&&
473
+ b.setLineDash(k[l].newLineDashArray);b.bezierCurveTo(g[h+1].x,g[h+1].y,g[h+2].x,g[h+2].y,g[h+3].x,g[h+3].y)}g=E(k,2);b.moveTo(g[0].x,g[0].y);for(l=h=0;h<g.length-3;h+=3,l++){if(k[l].newStrokeStyle||k[l].newLineDashArray)b.stroke(),b.beginPath(),b.moveTo(g[h].x,g[h].y),k[l].newStrokeStyle&&(b.strokeStyle=k[l].newStrokeStyle),k[l].newLineDashArray&&b.setLineDash(k[l].newLineDashArray);b.bezierCurveTo(g[h+1].x,g[h+1].y,g[h+2].x,g[h+2].y,g[h+3].x,g[h+3].y)}b.stroke()}b.beginPath()}}var c=a.targetCanvasCtx||
474
+ this.plotArea.ctx,b=t?this._preRenderCtx:c;if(!(0>=a.dataSeriesIndexes.length)){var e=this._eventManager.ghostCtx,l=[],f=this.plotArea;b.save();t&&e.save();b.beginPath();b.rect(f.x1,f.y1,f.width,f.height);b.clip();t&&(e.beginPath(),e.rect(f.x1,f.y1,f.width,f.height),e.clip());for(var d=0;d<a.dataSeriesIndexes.length;d++){var r=a.dataSeriesIndexes[d],n=this.data[r],p=n.dataPoints,l=n.id;this._eventManager.objectMap[l]={objectType:"dataSeries",dataSeriesIndex:r};l=R(l);e.fillStyle=l;var l=[],q=0,s,
475
+ h,m,k=[],y=[];if(0<p.length){var u=n._colorSet[q%n._colorSet.length],L=n.lineColor=n.options.lineColor||u,v=L;b.fillStyle=u;b.lineWidth=n.lineThickness;var w="solid",G;if(b.setLineDash){var D=X(n.nullDataLineDashType,n.lineThickness),w=n.lineDashType;G=X(w,n.lineThickness)}for(h=!1;q<p.length;q++)if(s=p[q].x.getTime?p[q].x.getTime():p[q].x,!(s<a.axisX.dataInfo.viewPortMin||s>a.axisX.dataInfo.viewPortMax&&(!n.connectNullData||!h)))if(null!==p[q].y&&p[q].y.length&&"number"===typeof p[q].y[0]&&"number"===
476
+ typeof p[q].y[1]){s=a.axisX.convertValueToPixel(s);h=a.axisY.convertValueToPixel(p[q].y[0]);m=a.axisY.convertValueToPixel(p[q].y[1]);var A=n.dataPointIds[q];this._eventManager.objectMap[A]={id:A,objectType:"dataPoint",dataSeriesIndex:r,dataPointIndex:q,x1:s,y1:h,y2:m};k[k.length]={x:s,y:h};y[y.length]={x:s,y:m};q<p.length-1&&(v!==(p[q].lineColor||L)||w!==(p[q].lineDashType||n.lineDashType))&&(v=p[q].lineColor||L,k[k.length-1].newStrokeStyle=v,b.setLineDash&&(p[q].lineDashType?(w=p[q].lineDashType,
477
+ k[k.length-1].newLineDashArray=X(w,n.lineThickness)):(w=n.lineDashType,k[k.length-1].newLineDashArray=G)));if(0!==p[q].markerSize&&(0<p[q].markerSize||0<n.markerSize)){var K=n.getMarkerProperties(q,s,h,b);l.push(K);var Z=R(A);t&&l.push({x:s,y:h,ctx:e,type:K.type,size:K.size,color:Z,borderColor:Z,borderThickness:K.borderThickness});K=n.getMarkerProperties(q,s,m,b);l.push(K);Z=R(A);t&&l.push({x:s,y:m,ctx:e,type:K.type,size:K.size,color:Z,borderColor:Z,borderThickness:K.borderThickness})}if(p[q].indexLabel||
478
+ n.indexLabel||p[q].indexLabelFormatter||n.indexLabelFormatter)this._indexLabels.push({chartType:"rangeSplineArea",dataPoint:p[q],dataSeries:n,indexKeyword:0,point:{x:s,y:h},direction:p[q].y[0]<=p[q].y[1]?-1:1,color:u}),this._indexLabels.push({chartType:"rangeSplineArea",dataPoint:p[q],dataSeries:n,indexKeyword:1,point:{x:s,y:m},direction:p[q].y[0]<=p[q].y[1]?1:-1,color:u});h=!1}else 0<q&&!h&&(n.connectNullData?b.setLineDash&&(0<k.length&&(n.options.nullDataLineDashType||!p[q-1].lineDashType))&&(k[k.length-
479
+ 1].newLineDashArray=D,w=n.nullDataLineDashType):(g(G,L),k=[],y=[])),h=!0;g(G,L);B.drawMarkers(l)}}t&&(c.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&b.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&b.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.clearRect(f.x1,f.y1,f.width,f.height),
480
+ this._eventManager.ghostCtx.restore());b.restore();return{source:c,dest:this.plotArea.ctx,animationCallback:C.xClipAnimation,easingFunction:C.easing.linear,animationBase:0}}};k.prototype.renderWaterfall=function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,c=t?this._preRenderCtx:g;if(!(0>=a.dataSeriesIndexes.length)){var b=this._eventManager.ghostCtx,e=null,l=this.plotArea,f=0,d,r,n,p,q=a.axisY.convertValueToPixel(a.axisY.logarithmic?a.axisY.viewportMinimum:0),f=this.options.dataPointMinWidth?this.dataPointMinWidth:
481
+ this.options.dataPointWidth?this.dataPointWidth:1;r=this.options.dataPointMaxWidth?this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:Math.min(0.15*this.width,0.9*(this.plotArea.width/a.plotType.totalDataSeries))<<0;var s=a.axisX.dataInfo.minDiff;isFinite(s)||(s=0.3*Math.abs(a.axisX.range));s=this.options.dataPointWidth?this.dataPointWidth:0.6*(l.width*(a.axisX.logarithmic?Math.log(s)/Math.log(a.axisX.range):Math.abs(s)/Math.abs(a.axisX.range))/a.plotType.totalDataSeries)<<0;this.dataPointMaxWidth&&
482
+ f>r&&(f=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,r));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&r<f)&&(r=Math.max(this.options.dataPointWidth?this.dataPointWidth:-Infinity,f));s<f&&(s=f);s>r&&(s=r);c.save();t&&this._eventManager.ghostCtx.save();c.beginPath();c.rect(l.x1,l.y1,l.width,l.height);c.clip();t&&(this._eventManager.ghostCtx.beginPath(),this._eventManager.ghostCtx.rect(l.x1,l.y1,l.width,l.height),this._eventManager.ghostCtx.clip());for(var h=0;h<a.dataSeriesIndexes.length;h++){var m=
483
+ a.dataSeriesIndexes[h],k=this.data[m],B=k.dataPoints,e=k._colorSet[0];k.risingColor=k.options.risingColor?k.options.risingColor:e;k.fallingColor=k.options.fallingColor?k.options.fallingColor:"#e40a0a";var u="number"===typeof k.options.lineThickness?Math.round(k.lineThickness):1,y=1===Math.round(u)%2?-0.5:0;if(0<B.length)for(var v=5<s&&k.bevelEnabled?!0:!1,w=!1,A=null,D=null,f=0;f<B.length;f++)if(B[f].getTime?p=B[f].x.getTime():p=B[f].x,"number"!==typeof B[f].y){if(0<f&&!w&&k.connectNullData)var E=
484
+ k.options.nullDataLineDashType||!B[f-1].lineDashType?k.nullDataLineDashType:B[f-1].lineDashType;w=!0}else{d=a.axisX.convertValueToPixel(p);r=0===k.dataPointEOs[f].cumulativeSum?q:a.axisY.convertValueToPixel(k.dataPointEOs[f].cumulativeSum);n=0===k.dataPointEOs[f].cumulativeSumYStartValue?q:a.axisY.convertValueToPixel(k.dataPointEOs[f].cumulativeSumYStartValue);d=a.axisX.reversed?d+a.plotType.totalDataSeries*s/2-(a.previousDataSeriesCount+h)*s<<0:d-a.plotType.totalDataSeries*s/2+(a.previousDataSeriesCount+
485
+ h)*s<<0;var F=a.axisX.reversed?d-s<<0:d+s<<0;r>n&&(e=r,r=n,n=e);a.axisY.reversed&&(e=r,r=n,n=e);e=k.dataPointIds[f];this._eventManager.objectMap[e]={id:e,objectType:"dataPoint",dataSeriesIndex:m,dataPointIndex:f,x1:d,y1:r,x2:F,y2:n};var Z=B[f].color?B[f].color:0<B[f].y?k.risingColor:k.fallingColor;aa(c,a.axisX.reversed?F:d,a.axisY.reversed?n:r,a.axisX.reversed?d:F,a.axisY.reversed?r:n,Z,0,Z,v,v,!1,!1,k.fillOpacity);e=R(e);t&&aa(this._eventManager.ghostCtx,a.axisX.reversed?F:d,r,a.axisX.reversed?d:
486
+ F,n,e,0,null,!1,!1,!1,!1);var W,Z=d;W="undefined"!==typeof B[f].isIntermediateSum&&!0===B[f].isIntermediateSum||"undefined"!==typeof B[f].isCumulativeSum&&!0===B[f].isCumulativeSum?0<B[f].y?r:n:0<B[f].y?n:r;0<f&&A&&(!w||k.connectNullData)&&(w&&c.setLineDash&&c.setLineDash(X(E,u)),c.beginPath(),c.moveTo(A,D-y),c.lineTo(Z,W-y),0<u&&c.stroke(),t&&(b.beginPath(),b.moveTo(A,D-y),b.lineTo(Z,W-y),0<u&&b.stroke()));w=!1;A=F;D=0<B[f].y?r:n;Z=B[f].lineDashType?B[f].lineDashType:k.options.lineDashType?k.options.lineDashType:
487
+ "shortDash";c.strokeStyle=B[f].lineColor?B[f].lineColor:k.options.lineColor?k.options.lineColor:"#9e9e9e";c.lineWidth=u;c.setLineDash&&(Z=X(Z,u),c.setLineDash(Z));(B[f].indexLabel||k.indexLabel||B[f].indexLabelFormatter||k.indexLabelFormatter)&&this._indexLabels.push({chartType:"waterfall",dataPoint:B[f],dataSeries:k,point:{x:d+(F-d)/2,y:0<=B[f].y?r:n},direction:0>B[f].y===a.axisY.reversed?1:-1,bounds:{x1:d,y1:Math.min(r,n),x2:F,y2:Math.max(r,n)},color:e})}}t&&(g.drawImage(this._preRenderCanvas,0,
488
+ 0,this.width,this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(l.x1,l.y1,l.width,l.height),this._eventManager.ghostCtx.restore());c.restore();return{source:g,dest:this.plotArea.ctx,animationCallback:C.fadeInAnimation,easingFunction:C.easing.easeInQuad,
489
+ animationBase:0}}};var d=function(a,g,c,b,e,l,f,d,r){if(!(0>c)){"undefined"===typeof d&&(d=1);if(!t){var n=Number((f%(2*Math.PI)).toFixed(8));Number((l%(2*Math.PI)).toFixed(8))===n&&(f-=1E-4)}a.save();a.globalAlpha=d;"pie"===e?(a.beginPath(),a.moveTo(g.x,g.y),a.arc(g.x,g.y,c,l,f,!1),a.fillStyle=b,a.strokeStyle="white",a.lineWidth=2,a.closePath(),a.fill()):"doughnut"===e&&(a.beginPath(),a.arc(g.x,g.y,c,l,f,!1),0<=r&&a.arc(g.x,g.y,r*c,f,l,!0),a.closePath(),a.fillStyle=b,a.strokeStyle="white",a.lineWidth=
490
+ 2,a.fill());a.globalAlpha=1;a.restore()}};k.prototype.renderPie=function(a){function g(){if(n&&p){var a=0,b=0,c=0,g=0;f(n.options.indexLabelMaxWidth)&&(n.indexLabelMaxWidth=0.33*s.width);for(var e=0;e<p.length;e++){var l=p[e],d=n.dataPointIds[e];h[e].id=d;h[e].objectType="dataPoint";h[e].dataPointIndex=e;h[e].dataSeriesIndex=0;var q=h[e],r={percent:null,total:null},z=null,r=k.getPercentAndTotal(n,l);if(n.indexLabelFormatter||l.indexLabelFormatter)z={chart:k.options,dataSeries:n,dataPoint:l,total:r.total,
491
+ percent:r.percent};r=l.indexLabelFormatter?l.indexLabelFormatter(z):l.indexLabel?k.replaceKeywordsWithValue(l.indexLabel,l,n,e):n.indexLabelFormatter?n.indexLabelFormatter(z):n.indexLabel?k.replaceKeywordsWithValue(n.indexLabel,l,n,e):l.label?l.label:"";k._eventManager.objectMap[d]=q;q.center={x:v.x,y:v.y};q.y=l.y;q.radius=D;q.percentInnerRadius=F;q.indexLabelText=r;q.indexLabelPlacement=n.indexLabelPlacement;q.indexLabelLineColor=l.indexLabelLineColor?l.indexLabelLineColor:n.options.indexLabelLineColor?
492
+ n.options.indexLabelLineColor:l.color?l.color:n._colorSet[e%n._colorSet.length];q.indexLabelLineThickness=f(l.indexLabelLineThickness)?n.indexLabelLineThickness:l.indexLabelLineThickness;q.indexLabelLineDashType=l.indexLabelLineDashType?l.indexLabelLineDashType:n.indexLabelLineDashType;q.indexLabelFontColor=l.indexLabelFontColor?l.indexLabelFontColor:n.indexLabelFontColor;q.indexLabelFontStyle=l.indexLabelFontStyle?l.indexLabelFontStyle:n.indexLabelFontStyle;q.indexLabelFontWeight=l.indexLabelFontWeight?
493
+ l.indexLabelFontWeight:n.indexLabelFontWeight;q.indexLabelFontSize=f(l.indexLabelFontSize)?n.indexLabelFontSize:l.indexLabelFontSize;q.indexLabelFontFamily=l.indexLabelFontFamily?l.indexLabelFontFamily:n.indexLabelFontFamily;q.indexLabelBackgroundColor=l.indexLabelBackgroundColor?l.indexLabelBackgroundColor:n.options.indexLabelBackgroundColor?n.options.indexLabelBackgroundColor:n.indexLabelBackgroundColor;q.indexLabelMaxWidth=l.indexLabelMaxWidth?l.indexLabelMaxWidth:n.indexLabelMaxWidth;q.indexLabelWrap=
494
+ "undefined"!==typeof l.indexLabelWrap?l.indexLabelWrap:n.indexLabelWrap;q.indexLabelTextAlign=l.indexLabelTextAlign?l.indexLabelTextAlign:n.indexLabelTextAlign?n.indexLabelTextAlign:"left";q.startAngle=0===e?n.startAngle?n.startAngle/180*Math.PI:0:h[e-1].endAngle;q.startAngle=(q.startAngle+2*Math.PI)%(2*Math.PI);q.endAngle=q.startAngle+2*Math.PI/w*Math.abs(l.y);l=(q.endAngle+q.startAngle)/2;l=(l+2*Math.PI)%(2*Math.PI);q.midAngle=l;if(q.midAngle>Math.PI/2-u&&q.midAngle<Math.PI/2+u){if(0===a||h[c].midAngle>
495
+ q.midAngle)c=e;a++}else if(q.midAngle>3*Math.PI/2-u&&q.midAngle<3*Math.PI/2+u){if(0===b||h[g].midAngle>q.midAngle)g=e;b++}q.hemisphere=l>Math.PI/2&&l<=3*Math.PI/2?"left":"right";q.indexLabelTextBlock=new la(k.plotArea.ctx,{fontSize:q.indexLabelFontSize,fontFamily:q.indexLabelFontFamily,fontColor:q.indexLabelFontColor,fontStyle:q.indexLabelFontStyle,fontWeight:q.indexLabelFontWeight,textAlign:q.indexLabelTextAlign,backgroundColor:q.indexLabelBackgroundColor,maxWidth:q.indexLabelMaxWidth,maxHeight:q.indexLabelWrap?
496
+ 5*q.indexLabelFontSize:1.5*q.indexLabelFontSize,text:q.indexLabelText,padding:0,textBaseline:"middle"});q.indexLabelTextBlock.measureText()}d=l=0;r=!1;for(e=0;e<p.length;e++)q=h[(c+e)%p.length],1<a&&(q.midAngle>Math.PI/2-u&&q.midAngle<Math.PI/2+u)&&(l<=a/2&&!r?(q.hemisphere="right",l++):(q.hemisphere="left",r=!0));r=!1;for(e=0;e<p.length;e++)q=h[(g+e)%p.length],1<b&&(q.midAngle>3*Math.PI/2-u&&q.midAngle<3*Math.PI/2+u)&&(d<=b/2&&!r?(q.hemisphere="left",d++):(q.hemisphere="right",r=!0))}}function c(a,
497
+ b){var c=k.plotArea.ctx;c.clearRect(s.x1,s.y1,s.width,s.height);c.fillStyle=k.backgroundColor;c.fillRect(s.x1,s.y1,s.width,s.height);for(c=0;c<p.length;c++){var g=h[c].startAngle,e=h[c].endAngle;if(e>g){var l=0.07*D*Math.cos(h[c].midAngle),f=0.07*D*Math.sin(h[c].midAngle),r=!1;if(p[c].exploded){if(1E-9<Math.abs(h[c].center.x-(v.x+l))||1E-9<Math.abs(h[c].center.y-(v.y+f)))h[c].center.x=v.x+l*a,h[c].center.y=v.y+f*a,r=!0}else if(0<Math.abs(h[c].center.x-v.x)||0<Math.abs(h[c].center.y-v.y))h[c].center.x=
498
+ v.x+l*(1-a),h[c].center.y=v.y+f*(1-a),r=!0;r&&b&&(l={},l.dataSeries=n,l.dataPoint=n.dataPoints[c],l.index=c,k.toolTip.highlightObjects([l]));d(k.plotArea.ctx,h[c].center,h[c].radius,p[c].color?p[c].color:n._colorSet[c%n._colorSet.length],n.type,g,e,n.fillOpacity,h[c].percentInnerRadius)}}c=k.plotArea.ctx;c.save();c.fillStyle="black";c.strokeStyle="grey";c.textBaseline="middle";c.lineJoin="round";for(g=g=0;g<p.length;g++)e=h[g],e.indexLabelText&&(e.indexLabelTextBlock.y-=e.indexLabelTextBlock.height/
499
+ 2-e.indexLabelTextBlock.fontSize/2,l=0,l="left"===e.hemisphere?"inside"!==n.indexLabelPlacement?-(e.indexLabelTextBlock.width+q):-e.indexLabelTextBlock.width/2:"inside"!==n.indexLabelPlacement?q:-e.indexLabelTextBlock.width/2,e.indexLabelTextBlock.x+=l,e.indexLabelTextBlock.render(!0),e.indexLabelTextBlock.x-=l,e.indexLabelTextBlock.y+=e.indexLabelTextBlock.height/2-e.indexLabelTextBlock.fontSize/2,"inside"!==e.indexLabelPlacement&&0<e.indexLabelLineThickness&&(l=e.center.x+D*Math.cos(e.midAngle),
500
+ f=e.center.y+D*Math.sin(e.midAngle),c.strokeStyle=e.indexLabelLineColor,c.lineWidth=e.indexLabelLineThickness,c.setLineDash&&c.setLineDash(X(e.indexLabelLineDashType,e.indexLabelLineThickness)),c.beginPath(),c.moveTo(l,f),c.lineTo(e.indexLabelTextBlock.x,e.indexLabelTextBlock.y),c.lineTo(e.indexLabelTextBlock.x+("left"===e.hemisphere?-q:q),e.indexLabelTextBlock.y),c.stroke()),c.lineJoin="miter");c.save()}function b(a,b){var c=0,c=a.indexLabelTextBlock.y-a.indexLabelTextBlock.height/2,g=a.indexLabelTextBlock.y+
501
+ a.indexLabelTextBlock.height/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-g:c-h}function e(a){for(var c=null,g=1;g<p.length;g++)if(c=(a+g+h.length)%h.length,h[c].hemisphere!==h[a].hemisphere){c=null;break}else if(h[c].indexLabelText&&c!==a&&(0>b(h[c],h[a])||("right"===h[a].hemisphere?h[c].indexLabelTextBlock.y>=h[a].indexLabelTextBlock.y:h[c].indexLabelTextBlock.y<=h[a].indexLabelTextBlock.y)))break;
502
+ else c=null;return c}function l(a,c,g){g=(g||0)+1;if(1E3<g)return 0;c=c||0;var f=0,d=v.y-1*t,n=v.y+1*t;if(0<=a&&a<p.length){var q=h[a];if(0>c&&q.indexLabelTextBlock.y<d||0<c&&q.indexLabelTextBlock.y>n)return 0;var s=0,r=0,r=s=s=0;0>c?q.indexLabelTextBlock.y-q.indexLabelTextBlock.height/2>d&&q.indexLabelTextBlock.y-q.indexLabelTextBlock.height/2+c<d&&(c=-(d-(q.indexLabelTextBlock.y-q.indexLabelTextBlock.height/2+c))):q.indexLabelTextBlock.y+q.indexLabelTextBlock.height/2<d&&q.indexLabelTextBlock.y+
503
+ q.indexLabelTextBlock.height/2+c>n&&(c=q.indexLabelTextBlock.y+q.indexLabelTextBlock.height/2+c-n);c=q.indexLabelTextBlock.y+c;d=0;d="right"===q.hemisphere?v.x+Math.sqrt(Math.pow(t,2)-Math.pow(c-v.y,2)):v.x-Math.sqrt(Math.pow(t,2)-Math.pow(c-v.y,2));r=v.x+D*Math.cos(q.midAngle);s=v.y+D*Math.sin(q.midAngle);s=Math.sqrt(Math.pow(d-r,2)+Math.pow(c-s,2));r=Math.acos(D/t);s=Math.acos((t*t+D*D-s*s)/(2*D*t));c=s<r?c-q.indexLabelTextBlock.y:0;d=null;for(n=1;n<p.length;n++)if(d=(a-n+h.length)%h.length,h[d].hemisphere!==
504
+ h[a].hemisphere){d=null;break}else if(h[d].indexLabelText&&h[d].hemisphere===h[a].hemisphere&&d!==a&&(0>b(h[d],h[a])||("right"===h[a].hemisphere?h[d].indexLabelTextBlock.y<=h[a].indexLabelTextBlock.y:h[d].indexLabelTextBlock.y>=h[a].indexLabelTextBlock.y)))break;else d=null;r=d;s=e(a);n=d=0;0>c?(n="right"===q.hemisphere?r:s,f=c,null!==n&&(r=-c,c=q.indexLabelTextBlock.y-q.indexLabelTextBlock.height/2-(h[n].indexLabelTextBlock.y+h[n].indexLabelTextBlock.height/2),c-r<C&&(d=-r,n=l(n,d,g+1),+n.toFixed(y)>
505
+ +d.toFixed(y)&&(f=c>C?-(c-C):-(r-(n-d)))))):0<c&&(n="right"===q.hemisphere?s:r,f=c,null!==n&&(r=c,c=h[n].indexLabelTextBlock.y-h[n].indexLabelTextBlock.height/2-(q.indexLabelTextBlock.y+q.indexLabelTextBlock.height/2),c-r<C&&(d=r,n=l(n,d,g+1),+n.toFixed(y)<+d.toFixed(y)&&(f=c>C?c-C:r-(d-n)))));f&&(g=q.indexLabelTextBlock.y+f,c=0,c="right"===q.hemisphere?v.x+Math.sqrt(Math.pow(t,2)-Math.pow(g-v.y,2)):v.x-Math.sqrt(Math.pow(t,2)-Math.pow(g-v.y,2)),q.midAngle>Math.PI/2-u&&q.midAngle<Math.PI/2+u?(d=(a-
506
+ 1+h.length)%h.length,d=h[d],a=h[(a+1+h.length)%h.length],"left"===q.hemisphere&&"right"===d.hemisphere&&c>d.indexLabelTextBlock.x?c=d.indexLabelTextBlock.x-15:"right"===q.hemisphere&&("left"===a.hemisphere&&c<a.indexLabelTextBlock.x)&&(c=a.indexLabelTextBlock.x+15)):q.midAngle>3*Math.PI/2-u&&q.midAngle<3*Math.PI/2+u&&(d=(a-1+h.length)%h.length,d=h[d],a=h[(a+1+h.length)%h.length],"right"===q.hemisphere&&"left"===d.hemisphere&&c<d.indexLabelTextBlock.x?c=d.indexLabelTextBlock.x+15:"left"===q.hemisphere&&
507
+ ("right"===a.hemisphere&&c>a.indexLabelTextBlock.x)&&(c=a.indexLabelTextBlock.x-15)),q.indexLabelTextBlock.y=g,q.indexLabelTextBlock.x=c,q.indexLabelAngle=Math.atan2(q.indexLabelTextBlock.y-v.y,q.indexLabelTextBlock.x-v.x))}return f}function r(){var a=k.plotArea.ctx;a.fillStyle="grey";a.strokeStyle="grey";a.font="16px Arial";a.textBaseline="middle";for(var c=a=0,g=0,f=!0,c=0;10>c&&(1>c||0<g);c++){if(n.radius||!n.radius&&"undefined"!==typeof n.innerRadius&&null!==n.innerRadius&&D-g<=E)f=!1;f&&(D-=
508
+ g);g=0;if("inside"!==n.indexLabelPlacement){t=D*B;for(a=0;a<p.length;a++){var d=h[a];d.indexLabelTextBlock.x=v.x+t*Math.cos(d.midAngle);d.indexLabelTextBlock.y=v.y+t*Math.sin(d.midAngle);d.indexLabelAngle=d.midAngle;d.radius=D;d.percentInnerRadius=F}for(var z,m,a=0;a<p.length;a++){var d=h[a],u=e(a);if(null!==u){z=h[a];m=h[u];var w=0,w=b(z,m)-C;if(0>w){for(var na=m=0,A=0;A<p.length;A++)A!==a&&h[A].hemisphere===d.hemisphere&&(h[A].indexLabelTextBlock.y<d.indexLabelTextBlock.y?m++:na++);m=w/(m+na||1)*
509
+ na;var na=-1*(w-m),G=A=0;"right"===d.hemisphere?(A=l(a,m),na=-1*(w-A),G=l(u,na),+G.toFixed(y)<+na.toFixed(y)&&+A.toFixed(y)<=+m.toFixed(y)&&l(a,-(na-G))):(A=l(u,m),na=-1*(w-A),G=l(a,na),+G.toFixed(y)<+na.toFixed(y)&&+A.toFixed(y)<=+m.toFixed(y)&&l(u,-(na-G)))}}}}else for(a=0;a<p.length;a++)d=h[a],t="pie"===n.type?0.7*D:0.85*D,u=v.x+t*Math.cos(d.midAngle),m=v.y+t*Math.sin(d.midAngle),d.indexLabelTextBlock.x=u,d.indexLabelTextBlock.y=m;for(a=0;a<p.length;a++)if(d=h[a],u=d.indexLabelTextBlock.measureText(),
510
+ 0!==u.height&&0!==u.width)u=u=0,"right"===d.hemisphere?(u=s.x2-(d.indexLabelTextBlock.x+d.indexLabelTextBlock.width+q),u*=-1):u=s.x1-(d.indexLabelTextBlock.x-d.indexLabelTextBlock.width-q),0<u&&(!f&&d.indexLabelText&&(m="right"===d.hemisphere?s.x2-d.indexLabelTextBlock.x:d.indexLabelTextBlock.x-s.x1,0.3*d.indexLabelTextBlock.maxWidth>m?d.indexLabelText="":d.indexLabelTextBlock.maxWidth=0.85*m,0.3*d.indexLabelTextBlock.maxWidth<m&&(d.indexLabelTextBlock.x-="right"===d.hemisphere?2:-2)),Math.abs(d.indexLabelTextBlock.y-
511
+ d.indexLabelTextBlock.height/2-v.y)<D||Math.abs(d.indexLabelTextBlock.y+d.indexLabelTextBlock.height/2-v.y)<D)&&(u/=Math.abs(Math.cos(d.indexLabelAngle)),9<u&&(u*=0.3),u>g&&(g=u)),u=u=0,0<d.indexLabelAngle&&d.indexLabelAngle<Math.PI?(u=s.y2-(d.indexLabelTextBlock.y+d.indexLabelTextBlock.height/2+5),u*=-1):u=s.y1-(d.indexLabelTextBlock.y-d.indexLabelTextBlock.height/2-5),0<u&&(!f&&d.indexLabelText&&(m=0<d.indexLabelAngle&&d.indexLabelAngle<Math.PI?-1:1,0===l(a,u*m)&&l(a,2*m)),Math.abs(d.indexLabelTextBlock.x-
512
+ v.x)<D&&(u/=Math.abs(Math.sin(d.indexLabelAngle)),9<u&&(u*=0.3),u>g&&(g=u)));var K=function(a,b,c){for(var g=[],e=0;g.push(h[b]),b!==c;b=(b+1+p.length)%p.length);g.sort(function(a,b){return a.y-b.y});for(b=0;b<g.length;b++)if(c=g[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,g=0,l=!1,f=0;f<p.length;f++)if(l=!1,z=h[f],z.indexLabelText){var d=e(f);if(null!==d){var n=h[d];w=0;
513
+ w=b(z,n);var s;if(s=0>w){s=z.indexLabelTextBlock.x;var r=z.indexLabelTextBlock.y-z.indexLabelTextBlock.height/2,m=z.indexLabelTextBlock.y+z.indexLabelTextBlock.height/2,u=n.indexLabelTextBlock.y-n.indexLabelTextBlock.height/2,k=n.indexLabelTextBlock.x+n.indexLabelTextBlock.width,C=n.indexLabelTextBlock.y+n.indexLabelTextBlock.height/2;s=z.indexLabelTextBlock.x+z.indexLabelTextBlock.width<n.indexLabelTextBlock.x-q||s>k+q||r>C+q||m<u-q?!1:!0}s?(0>a&&(a=f),d!==a&&(c=d,g+=-w),0===f%Math.max(p.length/
514
+ 10,3)&&(l=!0)):l=!0;l&&(0<g&&0<=a&&0<=c)&&(K(g,a,c),c=a=-1,g=0)}}0<g&&K(g,a,c)})()}}function m(){k.plotArea.layoutManager.reset();k.title&&(k.title.dockInsidePlotArea||"center"===k.title.horizontalAlign&&"center"===k.title.verticalAlign)&&k.title.render();if(k.subtitles)for(var a=0;a<k.subtitles.length;a++){var b=k.subtitles[a];(b.dockInsidePlotArea||"center"===b.horizontalAlign&&"center"===b.verticalAlign)&&b.render()}k.legend&&(k.legend.dockInsidePlotArea||"center"===k.legend.horizontalAlign&&"center"===
515
+ k.legend.verticalAlign)&&(k.legend.setLayout(),k.legend.render())}var k=this;if(!(0>=a.dataSeriesIndexes.length)){var n=this.data[a.dataSeriesIndexes[0]],p=n.dataPoints,q=10,s=this.plotArea,h=n.dataPointEOs,C=2,t,B=1.3,u=20/180*Math.PI,y=6,v={x:(s.x2+s.x1)/2,y:(s.y2+s.y1)/2},w=0;a=!1;for(var A=0;A<p.length;A++)w+=Math.abs(p[A].y),!a&&("undefined"!==typeof p[A].indexLabel&&null!==p[A].indexLabel&&0<p[A].indexLabel.toString().length)&&(a=!0),!a&&("undefined"!==typeof p[A].label&&null!==p[A].label&&
516
+ 0<p[A].label.toString().length)&&(a=!0);if(0!==w){a=a||"undefined"!==typeof n.indexLabel&&null!==n.indexLabel&&0<n.indexLabel.toString().length;var D="inside"!==n.indexLabelPlacement&&a?0.75*Math.min(s.width,s.height)/2:0.92*Math.min(s.width,s.height)/2;n.radius&&(D=Va(n.radius,D));var E="undefined"!==typeof n.innerRadius&&null!==n.innerRadius?Va(n.innerRadius,D):0.7*D;n.radius=D;"doughnut"===n.type&&(n.innerRadius=E);var F=Math.min(E/D,(D-1)/D);this.pieDoughnutClickHandler=function(a){k.isAnimating||
517
+ !f(a.dataSeries.explodeOnClick)&&!a.dataSeries.explodeOnClick||(a=a.dataPoint,a.exploded=a.exploded?!1:!0,1<this.dataPoints.length&&k._animator.animate(0,500,function(a){c(a,!0);m();k.dispatchEvent("dataAnimationIterationEnd",{chart:k});k.dispatchEvent("dataAnimationEnd",{chart:k})}))};g();r();r();r();r();this.disableToolTip=!0;this._animator.animate(0,this.animatedRender?this.animationDuration:0,function(a){var b=k.plotArea.ctx;b.clearRect(s.x1,s.y1,s.width,s.height);b.fillStyle=k.backgroundColor;
518
+ b.fillRect(s.x1,s.y1,s.width,s.height);for(var b=h[0].startAngle+2*Math.PI*a,c=0;c<p.length;c++){var g=0===c?h[c].startAngle:e,e=g+(h[c].endAngle-h[c].startAngle),l=!1;e>b&&(e=b,l=!0);var f=p[c].color?p[c].color:n._colorSet[c%n._colorSet.length];e>g&&d(k.plotArea.ctx,h[c].center,h[c].radius,f,n.type,g,e,n.fillOpacity,h[c].percentInnerRadius);if(l)break}m();k.dispatchEvent("dataAnimationIterationEnd",{chart:k});1<=a&&k.dispatchEvent("dataAnimationEnd",{chart:k})},function(){k.disableToolTip=!1;k._animator.animate(0,
519
+ k.animatedRender?500:0,function(a){c(a,!1);m();k.dispatchEvent("dataAnimationIterationEnd",{chart:k})});k.dispatchEvent("dataAnimationEnd",{chart:k})})}}};var r=function(a,g,c,b){"undefined"===typeof c&&(c=1);0>=Math.round(g.y4-g.y1)||(a.save(),a.globalAlpha=c,a.beginPath(),a.moveTo(Math.round(g.x1),Math.round(g.y1)),a.lineTo(Math.round(g.x2),Math.round(g.y2)),a.lineTo(Math.round(g.x3),Math.round(g.y3)),a.lineTo(Math.round(g.x4),Math.round(g.y4)),"undefined"!==g.x5&&(a.lineTo(Math.round(g.x5),Math.round(g.y5)),
520
+ a.lineTo(Math.round(g.x6),Math.round(g.y6))),a.closePath(),a.fillStyle=b?b:g.color,a.fill(),a.globalAplha=1,a.restore())};k.prototype.renderFunnel=function(a){function g(){for(var a=0,b=[],c=0;c<w.length;c++){if("undefined"===typeof w[c].y)return-1;w[c].y="number"===typeof w[c].y?w[c].y:0;a+=Math.abs(w[c].y)}if(0===a)return-1;for(c=b[0]=0;c<w.length;c++)b.push(Math.abs(w[c].y)*E/a);return b}function c(){var a=$,b=ba,c=S,g=V,e,h;e=O;h=P-M;g=Math.abs((h-e)*(b-a+(g-c))/2);c=V-S;e=h-e;h=c*(h-P);h=Math.abs(h);
521
+ h=g+h;for(var g=[],l=0,f=0;f<w.length;f++){if("undefined"===typeof w[f].y)return-1;w[f].y="number"===typeof w[f].y?w[f].y:0;l+=Math.abs(w[f].y)}if(0===l)return-1;for(var d=g[0]=0,n=0,p,q,b=b-a,d=!1,f=0;f<w.length;f++)a=Math.abs(w[f].y)*h/l,d?p=0==Number(c.toFixed(3))?0:a/c:(q=ga*ga*b*b-4*Math.abs(ga)*a,0>q?(q=c,d=(b+q)*(e-n)/2,a-=d,p=e-n,n+=e-n,p+=0==q?0:a/q,n+=a/q,d=!0):(p=(Math.abs(ga)*b-Math.sqrt(q))/2,q=b-2*p/Math.abs(ga),n+=p,n>e&&(n-=p,q=c,d=(b+q)*(e-n)/2,a-=d,p=e-n,n+=e-n,p+=a/q,n+=a/q,d=!0),
522
+ b=q)),g.push(p);return g}function b(){if(u&&w){for(var a,b,c,g,e,l,d,n,p,q,s,r,z,m,k,C=[],x=[],B={percent:null,total:null},v=null,J=0;J<w.length;J++)k=U[J],k="undefined"!==typeof k.x5?(k.y2+k.y4)/2:(k.y2+k.y3)/2,k=h(k).x2+1,C[J]=Q-k-R;k=0.5*R;for(var J=0,na=w.length-1;J<w.length||0<=na;J++,na--){b=u.reversed?w[na]:w[J];a=b.color?b.color:u.reversed?u._colorSet[(w.length-1-J)%u._colorSet.length]:u._colorSet[J%u._colorSet.length];c=b.indexLabelPlacement||u.indexLabelPlacement||"outside";m=b.indexLabelTextAlign||
523
+ u.indexLabelTextAlign||"left";g=b.indexLabelBackgroundColor||u.indexLabelBackgroundColor||(t?"transparent":null);e=b.indexLabelFontColor||u.indexLabelFontColor||"#979797";l=f(b.indexLabelFontSize)?u.indexLabelFontSize:b.indexLabelFontSize;d=b.indexLabelFontStyle||u.indexLabelFontStyle||"normal";n=b.indexLabelFontFamily||u.indexLabelFontFamily||"arial";p=b.indexLabelFontWeight||u.indexLabelFontWeight||"normal";a=b.indexLabelLineColor||u.options.indexLabelLineColor||a;q="number"===typeof b.indexLabelLineThickness?
524
+ b.indexLabelLineThickness:"number"===typeof u.indexLabelLineThickness?u.indexLabelLineThickness:2;s=b.indexLabelLineDashType||u.indexLabelLineDashType||"solid";r="undefined"!==typeof b.indexLabelWrap?b.indexLabelWrap:"undefined"!==typeof u.indexLabelWrap?u.indexLabelWrap:!0;z=u.dataPointIds[J];y._eventManager.objectMap[z]={id:z,objectType:"dataPoint",dataPointIndex:J,dataSeriesIndex:0,funnelSection:U[u.reversed?w.length-1-J:J]};"inside"===u.indexLabelPlacement&&(C[J]=J!==ha?u.reversed?U[J].x2-U[J].x1:
525
+ U[J].x3-U[J].x4:U[J].x3-U[J].x6,20>C[J]&&(C[J]=J!==ha?u.reversed?U[J].x3-U[J].x4:U[J].x2-U[J].x1:U[J].x2-U[J].x1,C[J]/=2));z=b.indexLabelMaxWidth?b.indexLabelMaxWidth:u.options.indexLabelMaxWidth?u.indexLabelMaxWidth:C[J];if(z>C[J]||0>z)z=C[J];x[J]="inside"===u.indexLabelPlacement?r?Math.max(U[J].height,l):1.5*l:!1;B=y.getPercentAndTotal(u,b);if(u.indexLabelFormatter||b.indexLabelFormatter)v={chart:y.options,dataSeries:u,dataPoint:b,total:B.total,percent:B.percent};b=b.indexLabelFormatter?b.indexLabelFormatter(v):
526
+ b.indexLabel?y.replaceKeywordsWithValue(b.indexLabel,b,u,J):u.indexLabelFormatter?u.indexLabelFormatter(v):u.indexLabel?y.replaceKeywordsWithValue(u.indexLabel,b,u,J):b.label?b.label:"";0>=q&&(q=0);1E3>z&&1E3-z<k&&(z+=1E3-z);f(u.options.indexLabelMaxWidth)&&(u.indexLabelMaxWidth=f(u.indexLabelMaxWidth)?z:Math.max(z,u.indexLabelMaxWidth));N.roundRect||Ca(N);c=new la(N,{fontSize:l,fontFamily:n,fontColor:e,fontStyle:d,fontWeight:p,horizontalAlign:c,textAlign:m,backgroundColor:g,maxWidth:z,maxHeight:!1===
527
+ x[J]?r?4.28571429*l:1.5*l:x[J],text:b,padding:ia,textBaseline:"middle"});c.measureText();c.height=c.height===2*c.padding?0:c.height;c.width=c.width===2*c.padding?0:c.width;I.push({textBlock:c,id:u.reversed?na:J,isDirty:!1,lineColor:a,lineThickness:q,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,g,e,h=[];e=!1;c=0;for(var l,f=Q-ba-R/2,f=u.options.indexLabelMaxWidth?u.indexLabelMaxWidth>f?f:u.indexLabelMaxWidth:
528
+ f,d=I.length-1;0<=d;d--){l=w[I[d].id];c=I[d];g=c.textBlock;b=(a=s(d)<U.length?I[s(d)]:null)?a.textBlock:null;c=c.height;a&&g.y+c+ia>b.y&&(e=!0);c=l.indexLabelMaxWidth||f;if(c>f||0>c)c=f;h.push(c)}if(e)for(d=I.length-1;0<=d;d--)a=U[d],I[d].textBlock.maxWidth=h[h.length-(d+1)],I[d].textBlock.measureText(),I[d].textBlock.height=I[d].textBlock.height===2*I[d].textBlock.padding?0:I[d].textBlock.height,I[d].textBlock.width=I[d].textBlock.width===2*I[d].textBlock.padding?0:I[d].textBlock.width,I[d].textBlock.x=
529
+ Q-f,c=I[d].textBlock.height<I[d].textBlock.maxHeight?I[d].textBlock.height:I[d].textBlock.maxHeight,e=I[d].textBlock.width<I[d].textBlock.maxWidth?I[d].textBlock.width:I[d].textBlock.maxWidth,I[d].height=c,I[d].width=e,c="undefined"!==typeof a.x5?(a.y2+a.y4)/2:(a.y2+a.y3)/2,I[d].textBlock.y=c-I[d].height/2,u.reversed?(I[d].textBlock.y+I[d].height>T+A&&(I[d].textBlock.y=T+A-I[d].height),I[d].textBlock.y<aa-A&&(I[d].textBlock.y=aa-A)):(I[d].textBlock.y<T-A&&(I[d].textBlock.y=T-A),I[d].textBlock.y+I[d].height>
530
+ aa+A&&(I[d].textBlock.y=aa+A-I[d].height))}function l(){var a,b,c,g;if("inside"!==u.indexLabelPlacement)for(var e=0;e<U.length;e++)0==I[e].textBlock.text.length?I[e].isDirty=!0:(a=U[e],c="undefined"!==typeof a.x5?(a.y2+a.y4)/2:(a.y2+a.y3)/2,b=u.reversed?"undefined"!==typeof a.x5?c>ca?h(c).x2+1:(a.x2+a.x3)/2+1:(a.x2+a.x3)/2+1:"undefined"!==typeof a.x5?c<ca?h(c).x2+1:(a.x4+a.x3)/2+1:(a.x2+a.x3)/2+1,I[e].textBlock.x=b+R,I[e].textBlock.y=c-I[e].height/2,u.reversed?(I[e].textBlock.y+I[e].height>T+A&&(I[e].textBlock.y=
531
+ T+A-I[e].height),I[e].textBlock.y<aa-A&&(I[e].textBlock.y=aa-A)):(I[e].textBlock.y<T-A&&(I[e].textBlock.y=T-A),I[e].textBlock.y+I[e].height>aa+A&&(I[e].textBlock.y=aa+A-I[e].height)));else for(e=0;e<U.length;e++)0==I[e].textBlock.text.length?I[e].isDirty=!0:(a=U[e],b=a.height,c=I[e].height,g=I[e].width,b>=c?(b=e!=ha?(a.x4+a.x3)/2-g/2:(a.x5+a.x4)/2-g/2,c=e!=ha?(a.y1+a.y3)/2-c/2:(a.y1+a.y4)/2-c/2,I[e].textBlock.x=b,I[e].textBlock.y=c):I[e].isDirty=!0)}function d(){function a(b,c){var g;if(0>b||b>=I.length)return 0;
532
+ var e,h=I[b].textBlock;if(0>c){c*=-1;e=q(b);g=m(e,b);if(g>=c)return h.y-=c,c;if(0==b)return 0<g&&(h.y-=g),g;g+=a(e,-(c-g));0<g&&(h.y-=g);return g}e=s(b);g=m(b,e);if(g>=c)return h.y+=c,c;if(b==U.length-1)return 0<g&&(h.y+=g),g;g+=a(e,c-g);0<g&&(h.y+=g);return g}function b(){var a,g,e,h,l=0,d;h=(P-O+2*A)/p;d=p;for(var f,n=1;n<d;n++){e=n*h;for(var r=I.length-1;0<=r;r--)!I[r].isDirty&&(I[r].textBlock.y<e&&I[r].textBlock.y+I[r].height>e)&&(f=s(r),!(f>=I.length-1)&&I[r].textBlock.y+I[r].height+ia>I[f].textBlock.y&&
533
+ (I[r].textBlock.y=I[r].textBlock.y+I[r].height-e>e-I[r].textBlock.y?e+1:e-I[r].height-1))}for(f=U.length-1;0<f;f--)if(!I[f].isDirty){e=q(f);if(0>e&&(e=0,I[e].isDirty))break;if(I[f].textBlock.y<I[e].textBlock.y+I[e].height){g=g||f;h=f;for(d=0;I[h].textBlock.y<I[e].textBlock.y+I[e].height+ia;){a=a||I[h].textBlock.y+I[h].height;d+=I[h].height;d+=ia;h=e;if(0>=h){h=0;d+=I[h].height;break}e=q(h);if(0>e){h=0;d+=I[h].height;break}}if(h!=f){l=I[h].textBlock.y;a-=l;a=d-a;l=c(a,g,h);break}}}return l}function c(a,
534
+ b,g){var e=[],h=0,l=0;for(a=Math.abs(a);g<=b;g++)e.push(U[g]);e.sort(function(a,b){return a.height-b.height});for(g=0;g<e.length;g++)if(b=e[g],h<a)l++,h+=I[b.id].height+ia,I[b.id].textBlock.text="",I[b.id].indexLabelText="",I[b.id].isDirty=!0,I[b.id].textBlock.measureText();else break;return l}for(var g,e,h,l,f,n,p=1,r=0;r<2*p;r++){for(var z=I.length-1;0<=z&&!(0<=q(z)&&q(z),h=I[z],l=h.textBlock,n=(f=s(z)<U.length?I[s(z)]:null)?f.textBlock:null,g=+h.height.toFixed(6),e=+l.y.toFixed(6),!h.isDirty&&
535
+ (f&&e+g+ia>+n.y.toFixed(6))&&(g=l.y+g+ia-n.y,e=a(z,-g),e<g&&(0<e&&(g-=e),e=a(s(z),g),e!=g)));z--);b()}}function m(a,b){return(b<U.length?I[b].textBlock.y:u.reversed?T+A:aa+A)-(0>a?u.reversed?aa-A:T-A:I[a].textBlock.y+I[a].height+ia)}function k(a,b,c){var g,e,h,d=[],f=A,q=[];-1!==b&&(0<=ea.indexOf(b)?(e=ea.indexOf(b),ea.splice(e,1)):(ea.push(b),ea=ea.sort(function(a,b){return a-b})));if(0===ea.length)d=ma;else{e=A*(1!=ea.length||0!=ea[0]&&ea[0]!=U.length-1?2:1)/n();for(var s=0;s<U.length;s++){if(1==
536
+ ea.length&&0==ea[0]){if(0===s){d.push(ma[s]);g=f;continue}}else 0===s&&(g=-1*f);d.push(ma[s]+g);if(0<=ea.indexOf(s)||s<U.length&&0<=ea.indexOf(s+1))g+=e}}h=function(){for(var a=[],b=0;b<U.length;b++)a.push(d[b]-U[b].y1);return a}();var z={startTime:(new Date).getTime(),duration:c||500,easingFunction:function(a,b,c,g){return C.easing.easeOutQuart(a,b,c,g)},changeSection:function(a){for(var b,c,g=0;g<U.length;g++)b=h[g],c=U[g],b*=a,"undefined"===typeof q[g]&&(q[g]=0),0>q&&(q*=-1),c.y1+=b-q[g],c.y2+=
537
+ b-q[g],c.y3+=b-q[g],c.y4+=b-q[g],c.y5&&(c.y5+=b-q[g],c.y6+=b-q[g]),q[g]=b}};a._animator.animate(0,c,function(c){var g=a.plotArea.ctx||a.ctx;pa=!0;g.clearRect(v.x1,v.y1,v.x2-v.x1,v.y2-v.y1);g.fillStyle=a.backgroundColor;g.fillRect(v.x1,v.y1,v.width,v.height);z.changeSection(c,b);var e={};e.dataSeries=u;e.dataPoint=u.reversed?u.dataPoints[w.length-1-b]:u.dataPoints[b];e.index=u.reversed?w.length-1-b:b;a.toolTip.highlightObjects([e]);for(e=0;e<U.length;e++)r(g,U[e],u.fillOpacity);B(g);K&&("inside"!==
538
+ u.indexLabelPlacement?p(g):l(),x(g));1<=c&&(pa=!1)},null,C.easing.easeOutQuart)}function n(){for(var a=0,b=0;b<U.length-1;b++)(0<=ea.indexOf(b)||0<=ea.indexOf(b+1))&&a++;return a}function p(a){for(var b,c,g,e,l=0;l<U.length;l++)e=1===I[l].lineThickness%2?0.5:0,c=((U[l].y2+U[l].y4)/2<<0)+e,b=h(c).x2-1,g=I[l].textBlock.x,e=(I[l].textBlock.y+I[l].height/2<<0)+e,I[l].isDirty||0==I[l].lineThickness||(a.strokeStyle=I[l].lineColor,a.lineWidth=I[l].lineThickness,a.setLineDash&&a.setLineDash(X(I[l].lineDashType,
539
+ I[l].lineThickness)),a.beginPath(),a.moveTo(b,c),a.lineTo(g,e),a.stroke())}function q(a){for(a-=1;-1<=a&&-1!=a&&I[a].isDirty;a--);return a}function s(a){for(a+=1;a<=U.length&&a!=U.length&&I[a].isDirty;a++);return a}function h(a){for(var b,c=0;c<w.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 x(a){for(var b=0;b<U.length;b++)I[b].isDirty||
540
+ (a&&(I[b].textBlock.ctx=a),I[b].textBlock.y+=I[b].textBlock._lineHeight/2,I[b].textBlock.render(!0),I[b].textBlock.y-=I[b].textBlock._lineHeight/2)}function B(a){y.plotArea.layoutManager.reset();a.roundRect||Ca(a);y.title&&(y.title.dockInsidePlotArea||"center"===y.title.horizontalAlign&&"center"===y.title.verticalAlign)&&(y.title.ctx=a,y.title.render());if(y.subtitles)for(var b=0;b<y.subtitles.length;b++){var c=y.subtitles[b];if(c.dockInsidePlotArea||"center"===c.horizontalAlign&&"center"===c.verticalAlign)y.subtitles.ctx=
541
+ a,c.render()}y.legend&&(y.legend.dockInsidePlotArea||"center"===y.legend.horizontalAlign&&"center"===y.legend.verticalAlign)&&(y.legend.ctx=a,y.legend.setLayout(),y.legend.render());Aa.fNg&&Aa.fNg(y)}var y=this;if(!(0>=a.dataSeriesIndexes.length)){for(var u=this.data[a.dataSeriesIndexes[0]],w=u.dataPoints,v=this.plotArea,A=0.025*v.width,G=0.01*v.width,D=0,E=v.height-2*A,F=Math.min(v.width-2*G,2.8*v.height),K=!1,W=0;W<w.length;W++)if(!K&&("undefined"!==typeof w[W].indexLabel&&null!==w[W].indexLabel&&
542
+ 0<w[W].indexLabel.toString().length)&&(K=!0),!K&&("undefined"!==typeof w[W].label&&null!==w[W].label&&0<w[W].label.toString().length)&&(K=!0),!K&&"function"===typeof u.indexLabelFormatter||"function"===typeof w[W].indexLabelFormatter)K=!0;K=K||"undefined"!==typeof u.indexLabel&&null!==u.indexLabel&&0<u.indexLabel.toString().length;"inside"!==u.indexLabelPlacement&&K||(G=(v.width-0.75*F)/2);var W=v.x1+G,Q=v.x2-G,O=v.y1+A,P=v.y2-A,N=a.targetCanvasCtx||this.plotArea.ctx||this.ctx;if(0!=u.length&&(u.dataPoints&&
543
+ u.visible)&&0!==w.length){var M,H;a=75*F/100;var R=30*(Q-a)/100;"funnel"===u.type?(M=f(u.options.neckHeight)?0.35*E:u.neckHeight,H=f(u.options.neckWidth)?0.25*a:u.neckWidth,"string"===typeof M&&M.match(/%$/)?(M=parseInt(M),M=M*E/100):M=parseInt(M),"string"===typeof H&&H.match(/%$/)?(H=parseInt(H),H=H*a/100):H=parseInt(H),M>E?M=E:0>=M&&(M=0),H>a?H=a-0.5:0>=H&&(H=0)):"pyramid"===u.type&&(H=M=0,u.reversed=u.reversed?!1:!0);var G=W+a/2,$=W,ba=W+a,T=u.reversed?P:O,S=G-H/2,V=G+H/2,ca=u.reversed?O+M:P-M,
544
+ aa=u.reversed?O:P;a=[];var G=[],U=[],F=[],Y=O,ha,ga=(ca-T)/(S-$),ja=-ga,W="area"===(u.valueRepresents?u.valueRepresents:"height")?c():g();if(-1!==W){if(u.reversed)for(F.push(Y),H=W.length-1;0<H;H--)Y+=W[H],F.push(Y);else for(H=0;H<W.length;H++)Y+=W[H],F.push(Y);if(u.reversed)for(H=0;H<W.length;H++)F[H]<ca?(a.push(S),G.push(V),ha=H):(a.push((F[H]-T+ga*$)/ga),G.push((F[H]-T+ja*ba)/ja));else for(H=0;H<W.length;H++)F[H]<ca?(a.push((F[H]-T+ga*$)/ga),G.push((F[H]-T+ja*ba)/ja),ha=H):(a.push(S),G.push(V));
545
+ for(H=0;H<W.length-1;H++)Y=u.reversed?w[w.length-1-H].color?w[w.length-1-H].color:u._colorSet[(w.length-1-H)%u._colorSet.length]:w[H].color?w[H].color:u._colorSet[H%u._colorSet.length],H===ha?U.push({x1:a[H],y1:F[H],x2:G[H],y2:F[H],x3:V,y3:ca,x4:G[H+1],y4:F[H+1],x5:a[H+1],y5:F[H+1],x6:S,y6:ca,id:H,height:F[H+1]-F[H],color:Y}):U.push({x1:a[H],y1:F[H],x2:G[H],y2:F[H],x3:G[H+1],y3:F[H+1],x4:a[H+1],y4:F[H+1],id:H,height:F[H+1]-F[H],color:Y});var ia=2,I=[],pa=!1,ea=[],ma=[],W=!1;a=a=0;Da(ea);for(H=0;H<
546
+ w.length;H++)w[H].exploded&&(W=!0,u.reversed?ea.push(w.length-1-H):ea.push(H));N.clearRect(v.x1,v.y1,v.width,v.height);N.fillStyle=y.backgroundColor;N.fillRect(v.x1,v.y1,v.width,v.height);if(K&&u.visible&&(b(),l(),"inside"!==u.indexLabelPlacement)){e();d();for(H=0;H<w.length;H++)I[H].isDirty||(a=I[H].textBlock.x+I[H].width,a=(Q-a)/2,0==H&&(D=a),D>a&&(D=a));for(H=0;H<U.length;H++)U[H].x1+=D,U[H].x2+=D,U[H].x3+=D,U[H].x4+=D,U[H].x5&&(U[H].x5+=D,U[H].x6+=D),I[H].textBlock.x+=D}for(H=0;H<U.length;H++)D=
547
+ U[H],r(N,D,u.fillOpacity),ma.push(D.y1);B(N);K&&u.visible&&("inside"===u.indexLabelPlacement||y.animationEnabled||p(N),y.animationEnabled||x());if(!K)for(H=0;H<w.length;H++)D=u.dataPointIds[H],a={id:D,objectType:"dataPoint",dataPointIndex:H,dataSeriesIndex:0,funnelSection:U[u.reversed?w.length-1-H:H]},y._eventManager.objectMap[D]=a;!y.animationEnabled&&W?k(y,-1,0):y.animationEnabled&&!y.animatedRender&&k(y,-1,0);this.funnelPyramidClickHandler=function(a){var b=-1;if(!pa&&!y.isAnimating&&(f(a.dataSeries.explodeOnClick)||
548
+ a.dataSeries.explodeOnClick)&&(b=u.reversed?w.length-1-a.dataPointIndex:a.dataPointIndex,0<=b)){a=b;if("funnel"===u.type||"pyramid"===u.type)u.reversed?w[w.length-1-a].exploded=w[w.length-1-a].exploded?!1:!0:w[a].exploded=w[a].exploded?!1:!0;k(y,b,500)}};return{source:N,dest:this.plotArea.ctx,animationCallback:function(a,b){C.fadeInAnimation(a,b);1<=a&&(k(y,-1,500),B(y.plotArea.ctx||y.ctx))},easingFunction:C.easing.easeInQuad,animationBase:0}}}}};k.prototype.requestAnimFrame=function(){return window.requestAnimationFrame||
549
+ window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(a){window.setTimeout(a,1E3/60)}}();k.prototype.cancelRequestAnimFrame=window.cancelAnimationFrame||window.webkitCancelRequestAnimationFrame||window.mozCancelRequestAnimationFrame||window.oCancelRequestAnimationFrame||window.msCancelRequestAnimationFrame||clearTimeout;k.prototype.set=function(a,g,c){c="undefined"===typeof c?!0:c;"options"===a?(this.options=g,
550
+ c&&this.render()):k.base.set.call(this,a,g,c)};k.prototype.exportChart=function(a){a="undefined"===typeof a?{}:a;var g=a.format?a.format:"png",c=a.fileName?a.fileName:this.exportFileName;if(a.toDataURL)return this.canvas.toDataURL("image/"+g);db(this.canvas,g,c)};k.prototype.print=function(){var a=this.exportChart({toDataURL:!0}),g=document.createElement("iframe");g.setAttribute("class","canvasjs-chart-print-frame");P(g,{position:"absolute",width:"100%",border:"0px",margin:"0px 0px 0px 0px",padding:"0px 0px 0px 0px"});
551
+ g.style.height=this.height+"px";this._canvasJSContainer.appendChild(g);var c=this,b=g.contentWindow||g.contentDocument.document||g.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(g)},
552
+ 1E3)},500)};k.prototype.getPercentAndTotal=function(a,g){var c=null,b=null,e=c=null;if(0<=a.type.indexOf("stacked"))b=0,c=g.x.getTime?g.x.getTime():g.x,c in a.plotUnit.yTotals&&(b=a.plotUnit.yTotals[c],c=a.plotUnit.yAbsTotals[c],e=isNaN(g.y)?0:0===c?0:100*(g.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(g.y)?0:100*(g.y/b)}return{percent:e,total:b}};k.prototype.replaceKeywordsWithValue=
553
+ function(a,g,c,b,e){var l=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",f="#total",r=this.getPercentAndTotal(c,g),f=isNaN(r.total)?f:r.total,d=isNaN(r.percent)?d:r.percent;do{r="";if(c.percentFormatString)r=c.percentFormatString;else{var r="#,##0.",n=Math.max(Math.ceil(Math.log(1/Math.abs(d))/Math.LN10),2);if(isNaN(n)||!isFinite(n))n=
554
+ 2;for(var p=0;p<n;p++)r+="#";c.percentFormatString=r}a=a.replace("#percent",ca(d,r,l._cultureInfo));a=a.replace("#total",ca(f,c.yValueFormatString?c.yValueFormatString:"#,##0.########",l._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=Pa(a.slice(1,a.length-1));a=a.replace("#index",e);var d=null;try{var h=a.match(/(.*?)\s*\[\s*(.*?)\s*\]/);
555
+ h&&0<h.length&&(d=Pa(h[2]),a=Pa(h[1]))}catch(f){}h=null;if("color"===a)return"waterfall"===c.type?g.color?g.color:0<g.y?c.risingColor:c.fallingColor:"error"===c.type?c.color?c.color:c._colorSet[d%c._colorSet.length]:g.color?g.color:c.color?c.color:c._colorSet[b%c._colorSet.length];if(g.hasOwnProperty(a))h=g;else if(c.hasOwnProperty(a))h=c;else return"";h=h[a];null!==d&&(h=h[d]);return"x"===a?(c.axisX&&"dateTime"===c.axisX.valueType||"dateTime"===c.xValueType||g.x&&g.x.getTime)&&!c.axisX.logarithmic?
556
+ ea(h,g.xValueFormatString?g.xValueFormatString:c.xValueFormatString?c.xValueFormatString:c.xValueFormatString=l.axisX&&l.axisX.autoValueFormatString?l.axisX.autoValueFormatString:"DD MMM YY",l._cultureInfo):ca(h,g.xValueFormatString?g.xValueFormatString:c.xValueFormatString?c.xValueFormatString:c.xValueFormatString="#,##0.########",l._cultureInfo):"y"===a?ca(h,g.yValueFormatString?g.yValueFormatString:c.yValueFormatString?c.yValueFormatString:c.yValueFormatString="#,##0.########",l._cultureInfo):
557
+ "z"===a?ca(h,g.zValueFormatString?g.zValueFormatString:c.zValueFormatString?c.zValueFormatString:c.zValueFormatString="#,##0.########",l._cultureInfo):h})};ga(K,ba);K.prototype.setLayout=function(){var a=this.dockInsidePlotArea?this.chart.plotArea:this.chart,g=a.layoutManager.getFreeSpace(),c=null,b=0,e=0,l=0,d=0,r=this.markerMargin=this.chart.options.legend&&!f(this.chart.options.legend.markerMargin)?this.chart.options.legend.markerMargin:0.3*this.fontSize;this.height=0;var m=[],n=[];if("top"===
558
+ this.verticalAlign||"bottom"===this.verticalAlign)this.orientation="horizontal",c=this.verticalAlign,l=this.maxWidth=null!==this.maxWidth?this.maxWidth:g.width,d=this.maxHeight=null!==this.maxHeight?this.maxHeight:0.5*g.height;else if("center"===this.verticalAlign){this.orientation="vertical";if("left"===this.horizontalAlign||"center"===this.horizontalAlign||"right"===this.horizontalAlign)c=this.horizontalAlign;l=this.maxWidth=null!==this.maxWidth?this.maxWidth:0.5*g.width;d=this.maxHeight=null!==
559
+ this.maxHeight?this.maxHeight:g.height}this.errorMarkerColor=[];for(var p=0;p<this.dataSeries.length;p++){var q=this.dataSeries[p];if(q.dataPoints&&q.dataPoints.length)if("pie"!==q.type&&"doughnut"!==q.type&&"funnel"!==q.type&&"pyramid"!==q.type){var s=q.legendMarkerType=q.legendMarkerType?q.legendMarkerType:"line"!==q.type&&"stepLine"!==q.type&&"spline"!==q.type&&"scatter"!==q.type&&"bubble"!==q.type||!q.markerType?"error"===q.type&&q._linkedSeries?q._linkedSeries.legendMarkerType?q._linkedSeries.legendMarkerType:
560
+ O.getDefaultLegendMarker(q._linkedSeries.type):O.getDefaultLegendMarker(q.type):q.markerType,h=q.legendText?q.legendText:this.itemTextFormatter?this.itemTextFormatter({chart:this.chart,legend:this.options,dataSeries:q,dataPoint:null}):q.name,k=q.legendMarkerColor=q.legendMarkerColor?q.legendMarkerColor:q.markerColor?q.markerColor:"error"===q.type?f(q.whiskerColor)?q._colorSet[0]:q.whiskerColor:q._colorSet[0],C=q.markerSize||"line"!==q.type&&"stepLine"!==q.type&&"spline"!==q.type?0.75*this.lineHeight:
561
+ 0,t=q.legendMarkerBorderColor?q.legendMarkerBorderColor:q.markerBorderColor,u=q.legendMarkerBorderThickness?q.legendMarkerBorderThickness:q.markerBorderThickness?Math.max(1,Math.round(0.2*C)):0;"error"===q.type&&this.errorMarkerColor.push(k);h=this.chart.replaceKeywordsWithValue(h,q.dataPoints[0],q,p);s={markerType:s,markerColor:k,text:h,textBlock:null,chartType:q.type,markerSize:C,lineColor:q._colorSet[0],dataSeriesIndex:q.index,dataPointIndex:null,markerBorderColor:t,markerBorderThickness:u};m.push(s)}else for(var B=
562
+ 0;B<q.dataPoints.length;B++){var v=q.dataPoints[B],s=v.legendMarkerType?v.legendMarkerType:q.legendMarkerType?q.legendMarkerType:O.getDefaultLegendMarker(q.type),h=v.legendText?v.legendText:q.legendText?q.legendText:this.itemTextFormatter?this.itemTextFormatter({chart:this.chart,legend:this.options,dataSeries:q,dataPoint:v}):v.name?v.name:"DataPoint: "+(B+1),k=v.legendMarkerColor?v.legendMarkerColor:q.legendMarkerColor?q.legendMarkerColor:v.color?v.color:q.color?q.color:q._colorSet[B%q._colorSet.length],
563
+ C=0.75*this.lineHeight,t=v.legendMarkerBorderColor?v.legendMarkerBorderColor:q.legendMarkerBorderColor?q.legendMarkerBorderColor:v.markerBorderColor?v.markerBorderColor:q.markerBorderColor,u=v.legendMarkerBorderThickness?v.legendMarkerBorderThickness:q.legendMarkerBorderThickness?q.legendMarkerBorderThickness:v.markerBorderThickness||q.markerBorderThickness?Math.max(1,Math.round(0.2*C)):0,h=this.chart.replaceKeywordsWithValue(h,v,q,B),s={markerType:s,markerColor:k,text:h,textBlock:null,chartType:q.type,
564
+ markerSize:C,dataSeriesIndex:p,dataPointIndex:B,markerBorderColor:t,markerBorderThickness:u};(v.showInLegend||q.showInLegend&&!1!==v.showInLegend)&&m.push(s)}}!0===this.reversed&&m.reverse();if(0<m.length){q=null;h=v=B=0;v=null!==this.itemWidth?null!==this.itemMaxWidth?Math.min(this.itemWidth,this.itemMaxWidth,l):this.itemMaxWidth=Math.min(this.itemWidth,l):null!==this.itemMaxWidth?Math.min(this.itemMaxWidth,l):this.itemMaxWidth=l;C=0===C?0.75*this.lineHeight:C;v=(this.itemMaxWidth?this.itemMaxWidth:
565
+ v)-(C+r);for(p=0;p<m.length;p++){s=m[p];k=v;if("line"===s.chartType||"spline"===s.chartType||"stepLine"===s.chartType)k-=2*0.1*this.lineHeight;if(!(0>=d||"undefined"===typeof d||0>=k||"undefined"===typeof k))if("horizontal"===this.orientation){s.textBlock=new la(this.ctx,{x:0,y:0,maxWidth:k,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,
566
+ textBaseline:"middle"});s.textBlock.measureText();null!==this.itemWidth&&(s.textBlock.width=this.itemWidth-(C+r+("line"===s.chartType||"spline"===s.chartType||"stepLine"===s.chartType?2*0.1*this.lineHeight:0)));if(!q||q.width+Math.round(s.textBlock.width+C+r+(0===q.width?0:this.horizontalSpacing)+("line"===s.chartType||"spline"===s.chartType||"stepLine"===s.chartType?2*0.1*this.lineHeight:0))>l)q={items:[],width:0},n.push(q),this.height+=h,h=0;h=Math.max(h,s.textBlock.height?s.textBlock.height:this.lineHeight);
567
+ s.textBlock.x=q.width;s.textBlock.y=0;q.width+=Math.round(s.textBlock.width+C+r+(0===q.width?0:this.horizontalSpacing)+("line"===s.chartType||"spline"===s.chartType||"stepLine"===s.chartType?2*0.1*this.lineHeight:0));q.items.push(s);this.width=Math.max(q.width,this.width)}else s.textBlock=new la(this.ctx,{x:0,y:0,maxWidth:v,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,
568
+ fontStyle:this.fontStyle,textBaseline:"middle"}),s.textBlock.measureText(),null!==this.itemWidth&&(s.textBlock.width=this.itemWidth-(C+r+("line"===s.chartType||"spline"===s.chartType||"stepLine"===s.chartType?2*0.1*this.lineHeight:0))),this.height<d-this.lineHeight?(q={items:[],width:0},n.push(q)):(q=n[B],B=(B+1)%n.length),q&&(this.height+=s.textBlock.height?s.textBlock.height:this.lineHeight,s.textBlock.x=q.width,s.textBlock.y=0,q.width+=Math.round(s.textBlock.width+C+r+(0===q.width?0:this.horizontalSpacing)+
569
+ ("line"===s.chartType||"spline"===s.chartType||"stepLine"===s.chartType?2*0.1*this.lineHeight:0)),q.items.push(s),this.width=Math.max(q.width,this.width))}this.height=!1===this.itemWrap?n.length*this.lineHeight:this.height+h;this.height=Math.min(d,this.height);this.width=Math.min(l,this.width)}"top"===this.verticalAlign?(e="left"===this.horizontalAlign?g.x1:"right"===this.horizontalAlign?g.x2-this.width:g.x1+g.width/2-this.width/2,b=g.y1):"center"===this.verticalAlign?(e="left"===this.horizontalAlign?
570
+ g.x1:"right"===this.horizontalAlign?g.x2-this.width:g.x1+g.width/2-this.width/2,b=g.y1+g.height/2-this.height/2):"bottom"===this.verticalAlign&&(e="left"===this.horizontalAlign?g.x1:"right"===this.horizontalAlign?g.x2-this.width:g.x1+g.width/2-this.width/2,b=g.y2-this.height);this.items=m;for(p=0;p<this.items.length;p++)s=m[p],s.id=++this.chart._eventManager.lastObjectId,this.chart._eventManager.objectMap[s.id]={id:s.id,objectType:"legendItem",legendItemIndex:p,dataSeriesIndex:s.dataSeriesIndex,dataPointIndex:s.dataPointIndex};
571
+ this.markerSize=C;this.rows=n;0<m.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}};K.prototype.render=function(){var a=this.bounds.x1,g=this.bounds.y1,c=this.markerMargin,b=this.maxWidth,e=this.maxHeight,l=this.markerSize,d=this.rows;(0<this.borderThickness&&this.borderColor||this.backgroundColor)&&this.ctx.roundRect(a,g,this.width,this.height,this.cornerRadius,this.borderThickness,this.backgroundColor,
572
+ this.borderColor);for(var f=0,r=0;r<d.length;r++){for(var n=d[r],p=0,q=0;q<n.items.length;q++){var s=n.items[q],h=s.textBlock.x+a+(0===q?0.2*l:this.horizontalSpacing),m=g+f,k=h;this.chart.data[s.dataSeriesIndex].visible||(this.ctx.globalAlpha=0.5);this.ctx.save();this.ctx.beginPath();this.ctx.rect(a,g,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/
573
+ 8),this.ctx.beginPath(),this.ctx.moveTo(h-0.1*this.lineHeight,m+this.lineHeight/2),this.ctx.lineTo(h+0.85*this.lineHeight,m+this.lineHeight/2),this.ctx.stroke(),k-=0.1*this.lineHeight;if("error"===s.chartType){this.ctx.strokeStyle=this.errorMarkerColor[0];this.ctx.lineWidth=l/8;this.ctx.beginPath();var C=h-0.08*this.lineHeight+0.1*this.lineHeight,u=m+0.15*this.lineHeight,t=0.7*this.lineHeight,v=t+0.02*this.lineHeight;this.ctx.moveTo(C,u);this.ctx.lineTo(C+t,u);this.ctx.stroke();this.ctx.beginPath();
574
+ this.ctx.moveTo(C+t/2,u);this.ctx.lineTo(C+t/2,u+v);this.ctx.stroke();this.ctx.beginPath();this.ctx.moveTo(C,u+v);this.ctx.lineTo(C+t,u+v);this.ctx.stroke();this.errorMarkerColor.shift()}B.drawMarker(h+l/2,m+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=h+c+l;if("line"===s.chartType||"stepLine"===s.chartType||"spline"===s.chartType)s.textBlock.x+=
575
+ 0.1*this.lineHeight;s.textBlock.y=Math.round(m+this.lineHeight/2);s.textBlock.render(!0);this.ctx.restore();p=0<q?Math.max(p,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);h=R(s.id);this.ghostCtx.fillStyle=h;this.ghostCtx.beginPath();this.ghostCtx.fillRect(k,s.textBlock.y-this.lineHeight/2,s.textBlock.x+s.textBlock.width-k,s.textBlock.height?s.textBlock.height:this.lineHeight);
576
+ s.x1=this.chart._eventManager.objectMap[s.id].x1=k;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}f+=p}};ga(O,ba);O.prototype.getDefaultAxisPlacement=function(){var a=this.type;if("column"===a||"line"===a||"stepLine"===a||"spline"===a||"area"===a||"stepArea"===
577
+ 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"===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: "+
578
+ 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"===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"===
579
+ 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,g){if(!this.dataPoints||0===this.dataPoints.length)return null;var c={dataPoint:null,distance:Infinity,index:NaN},b=null,e=0,l=0,d=1,f=Infinity,r=0,n=0,p=0;"none"!==this.chart.plotInfo.axisPlacement&&(this.axisX.logarithmic?(p=Math.log(this.dataPoints[this.dataPoints.length-
580
+ 1].x/this.dataPoints[0].x),p=1<p?Math.min(Math.max((this.dataPoints.length-1)/p*Math.log(a/this.dataPoints[0].x)>>0,0),this.dataPoints.length):0):(p=this.dataPoints[this.dataPoints.length-1].x-this.dataPoints[0].x,p=0<p?Math.min(Math.max((this.dataPoints.length-1)/p*(a-this.dataPoints[0].x)>>0,0),this.dataPoints.length):0));for(;;){l=0<d?p+e:p-e;if(0<=l&&l<this.dataPoints.length){var b=this.dataPoints[l],q=this.axisX.logarithmic?b.x>a?b.x/a:a/b.x:Math.abs(b.x-a);q<c.distance&&(c.dataPoint=b,c.distance=
581
+ q,c.index=l);b=q;b<=f?f=b:0<d?r++:n++;if(1E3<r&&1E3<n)break}else if(0>p-e&&p+e>=this.dataPoints.length)break;-1===d?(e++,d=1):d=-1}return g||(c.dataPoint.x.getTime?c.dataPoint.x.getTime():c.dataPoint.x)!==(a.getTime?a.getTime():a)?g&&null!==c.dataPoint?c:null:c};O.prototype.getDataPointAtXY=function(a,g,c){if(!this.dataPoints||0===this.dataPoints.length||a<this.chart.plotArea.x1||a>this.chart.plotArea.x2||g<this.chart.plotArea.y1||g>this.chart.plotArea.y2)return null;c=c||!1;var b=[],e=0,l=0,d=1,
582
+ r=!1,m=Infinity,n=0,p=0,q=0;if("none"!==this.chart.plotInfo.axisPlacement)if(q=(this.chart.axisX[0]?this.chart.axisX[0]:this.chart.axisX2[0]).getXValueAt({x:a,y:g}),this.axisX.logarithmic)var s=Math.log(this.dataPoints[this.dataPoints.length-1].x/this.dataPoints[0].x),q=1<s?Math.min(Math.max((this.dataPoints.length-1)/s*Math.log(q/this.dataPoints[0].x)>>0,0),this.dataPoints.length):0;else s=this.dataPoints[this.dataPoints.length-1].x-this.dataPoints[0].x,q=0<s?Math.min(Math.max((this.dataPoints.length-
583
+ 1)/s*(q-this.dataPoints[0].x)>>0,0),this.dataPoints.length):0;for(;;){l=0<d?q+e:q-e;if(0<=l&&l<this.dataPoints.length){var s=this.chart._eventManager.objectMap[this.dataPointIds[l]],h=this.dataPoints[l],k=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&&g>=s.y1&&g<=s.y2)&&(b.push({dataPoint:h,dataPointIndex:l,dataSeries:this,distance:Math.min(Math.abs(s.x1-
584
+ a),Math.abs(s.x2-a),Math.abs(s.y1-g),Math.abs(s.y2-g))}),r=!0);break;case "line":case "stepLine":case "spline":case "area":case "stepArea":case "stackedArea":case "stackedArea100":case "splineArea":case "scatter":var C=qa("markerSize",h,this)||4,t=c?20:C,k=Math.sqrt(Math.pow(s.x1-a,2)+Math.pow(s.y1-g,2));k<=t&&b.push({dataPoint:h,dataPointIndex:l,dataSeries:this,distance:k});s=Math.abs(s.x1-a);s<=m?m=s:0<d?n++:p++;k<=C/2&&(r=!0);break;case "rangeArea":case "rangeSplineArea":C=qa("markerSize",h,this)||
585
+ 4;t=c?20:C;k=Math.min(Math.sqrt(Math.pow(s.x1-a,2)+Math.pow(s.y1-g,2)),Math.sqrt(Math.pow(s.x1-a,2)+Math.pow(s.y2-g,2)));k<=t&&b.push({dataPoint:h,dataPointIndex:l,dataSeries:this,distance:k});s=Math.abs(s.x1-a);s<=m?m=s:0<d?n++:p++;k<=C/2&&(r=!0);break;case "bubble":C=s.size;k=Math.sqrt(Math.pow(s.x1-a,2)+Math.pow(s.y1-g,2));k<=C/2&&(b.push({dataPoint:h,dataPointIndex:l,dataSeries:this,distance:k}),r=!0);break;case "pie":case "doughnut":C=s.center;t="doughnut"===this.type?s.percentInnerRadius*s.radius:
586
+ 0;k=Math.sqrt(Math.pow(C.x-a,2)+Math.pow(C.y-g,2));k<s.radius&&k>t&&(k=Math.atan2(g-C.y,a-C.x),0>k&&(k+=2*Math.PI),k=Number(((180*(k/Math.PI)%360+360)%360).toFixed(12)),C=Number(((180*(s.startAngle/Math.PI)%360+360)%360).toFixed(12)),t=Number(((180*(s.endAngle/Math.PI)%360+360)%360).toFixed(12)),0===t&&1<s.endAngle&&(t=360),C>=t&&(0!==h.y&&!f(h.y))&&(t+=360,k<C&&(k+=360)),k>C&&k<t&&(b.push({dataPoint:h,dataPointIndex:l,dataSeries:this,distance:0}),r=!0));break;case "funnel":case "pyramid":k=s.funnelSection;
587
+ g>k.y1&&g<k.y4&&(k.y6?g>k.y6?(l=k.x6+(k.x5-k.x6)/(k.y5-k.y6)*(g-k.y6),k=k.x3+(k.x4-k.x3)/(k.y4-k.y3)*(g-k.y3)):(l=k.x1+(k.x6-k.x1)/(k.y6-k.y1)*(g-k.y1),k=k.x2+(k.x3-k.x2)/(k.y3-k.y2)*(g-k.y2)):(l=k.x1+(k.x4-k.x1)/(k.y4-k.y1)*(g-k.y1),k=k.x2+(k.x3-k.x2)/(k.y3-k.y2)*(g-k.y2)),a>l&&a<k&&(b.push({dataPoint:h,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&&g>=s.y4-s.borderThickness/2&&g<=s.y1+s.borderThickness/
588
+ 2||Math.abs(s.x2-a+s.x1-a)<s.borderThickness&&g>=s.y1&&g<=s.y4)b.push({dataPoint:h,dataPointIndex:l,dataSeries:this,distance:Math.min(Math.abs(s.x1-a),Math.abs(s.x2-a),Math.abs(s.y2-g),Math.abs(s.y3-g))}),r=!0;break;case "candlestick":if(a>=s.x1-s.borderThickness/2&&a<=s.x2+s.borderThickness/2&&g>=s.y2-s.borderThickness/2&&g<=s.y3+s.borderThickness/2||Math.abs(s.x2-a+s.x1-a)<s.borderThickness&&g>=s.y1&&g<=s.y4)b.push({dataPoint:h,dataPointIndex:l,dataSeries:this,distance:Math.min(Math.abs(s.x1-a),
589
+ Math.abs(s.x2-a),Math.abs(s.y2-g),Math.abs(s.y3-g))}),r=!0;break;case "ohlc":if(Math.abs(s.x2-a+s.x1-a)<s.borderThickness&&g>=s.y2&&g<=s.y3||a>=s.x1&&a<=(s.x2+s.x1)/2&&g>=s.y1-s.borderThickness/2&&g<=s.y1+s.borderThickness/2||a>=(s.x1+s.x2)/2&&a<=s.x2&&g>=s.y4-s.borderThickness/2&&g<=s.y4+s.borderThickness/2)b.push({dataPoint:h,dataPointIndex:l,dataSeries:this,distance:Math.min(Math.abs(s.x1-a),Math.abs(s.x2-a),Math.abs(s.y2-g),Math.abs(s.y3-g))}),r=!0}if(r||1E3<n&&1E3<p)break}}else if(0>q-e&&q+e>=
590
+ this.dataPoints.length)break;-1===d?(e++,d=1):d=-1}a=null;for(g=0;g<b.length;g++)a?b[g].distance<=a.distance&&(a=b[g]):a=b[g];return a};O.prototype.getMarkerProperties=function(a,g,c,b){var e=this.dataPoints,l=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=f(e[a].markerBorderThickness)?this.markerBorderThickness?
591
+ this.markerBorderThickness:null:e[a].markerBorderThickness,k=e[a].markerType?e[a].markerType:this.markerType;a=f(e[a].markerSize)?this.markerSize:e[a].markerSize;return{x:g,y:c,ctx:b,type:k,size:a,color:l,borderColor:d,borderThickness:r}};ga(y,ba);y.prototype.createExtraLabelsForLog=function(a){a=(a||0)+1;if(!(5<a)){var g=this.logLabelValues[0]||this.intervalStartPosition;if(Math.log(this.range)/Math.log(g/this.viewportMinimum)<this.noTicks-1){for(var c=y.getNiceNumber((g-this.viewportMinimum)/Math.min(Math.max(2,
592
+ this.noTicks-this.logLabelValues.length),3),!0),b=Math.ceil(this.viewportMinimum/c)*c;b<g;b+=c)b<this.viewportMinimum||this.logLabelValues.push(b);this.logLabelValues.sort(Xa);this.createExtraLabelsForLog(a)}}};y.prototype.createLabels=function(){var a,g,c=0,b=0,e,l=0,d=0,b=0,b=this.interval,r=0,k,n=0.6*this.chart.height,p;a=!1;var q=this.scaleBreaks?this.scaleBreaks._appliedBreaks:[],s=q.length?f(this.scaleBreaks.firstBreakIndex)?0:this.scaleBreaks.firstBreakIndex:0;if("axisX"!==this.type||"dateTime"!==
593
+ this.valueType||this.logarithmic){e=this.viewportMaximum;if(this.labels){a=Math.ceil(b);for(var b=Math.ceil(this.intervalStartPosition),h=!1,c=b;c<this.viewportMaximum;c+=a)if(this.labels[c])h=!0;else{h=!1;break}h&&(this.interval=a,this.intervalStartPosition=b)}if(this.logarithmic&&!this.equidistantInterval)for(this.logLabelValues||(this.logLabelValues=[],this.createExtraLabelsForLog()),b=0,h=s;b<this.logLabelValues.length;b++)if(c=this.logLabelValues[b],c<this.viewportMinimum)b++;else{for(;h<q.length&&
594
+ c>q[h].endValue;h++);a=h<q.length&&c>=q[h].startValue&&c<=q[h].endValue;p=c;a||(a=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.options,value:p,label:this.labels[p]?this.labels[p]:null}):"axisX"===this.type&&this.labels[p]?this.labels[p]:ca(p,this.valueFormatString,this.chart._cultureInfo),a=new la(this.ctx,{x:0,y:0,maxWidth:l,maxHeight:d,angle:this.labelAngle,text:this.prefix+a+this.suffix,backgroundColor:this.labelBackgroundColor,borderColor:this.labelBorderColor,cornerRadius:this.labelCornerRadius,
595
+ 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:p,textBlock:a,effectiveHeight:null}))}h=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?
596
+ c*Math.pow(this.logarithmBase,this.interval):c+this.interval).toFixed(12))){for(;h<q.length&&c>q[h].endValue;h++);a=h<q.length&&c>=q[h].startValue&&c<=q[h].endValue;p=c;a||(a=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.options,value:p,label:this.labels[p]?this.labels[p]:null}):"axisX"===this.type&&this.labels[p]?this.labels[p]:ca(p,this.valueFormatString,this.chart._cultureInfo),a=new la(this.ctx,{x:0,y:0,maxWidth:l,maxHeight:d,angle:this.labelAngle,text:this.prefix+a+this.suffix,
597
+ 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:p,textBlock:a,effectiveHeight:null}))}}else for(this.intervalStartPosition=this.getLabelStartPoint(new Date(this.viewportMinimum),
598
+ this.intervalType,this.interval),e=cb(new Date(this.viewportMaximum),this.interval,this.intervalType),h=s,c=this.intervalStartPosition;c<e;cb(c,b,this.intervalType)){for(a=c.getTime();h<q.length&&a>q[h].endValue;h++);p=a;a=h<q.length&&a>=q[h].startValue&&a<=q[h].endValue;a||(a=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.options,value:new Date(p),label:this.labels[p]?this.labels[p]:null}):"axisX"===this.type&&this.labels[p]?this.labels[p]:ea(p,this.valueFormatString,this.chart._cultureInfo),
599
+ a=new la(this.ctx,{x:0,y:0,maxWidth:l,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:p,textBlock:a,
600
+ 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))*
601
+ V[this.intervalType+"Duration"]*this.interval,l="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/
602
+ 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))*V[this.intervalType+"Duration"]*this.interval,this.chart.panEnabled||(l="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>>
603
+ 0:1.5*this.labelFontSize;for(b=0;b<this._labels.length;b++){a=this._labels[b].textBlock;a.maxWidth=l;a.maxHeight=d;var m=a.measureText();k=m.height}e=[];s=q=0;if(this.labelAutoFit||this.options.labelAutoFit)if(f(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(l=0.9*r>>0,s=0,!this.chart.panEnabled&&1<=
604
+ this._labels.length){this.sessionVariables.labelFontSize=this.labelFontSize;this.sessionVariables.labelMaxWidth=l;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 C,h=a.text.split(" "),b=0;b<h.length;b++)p=h[b],this.ctx.font=a.fontStyle+" "+a.fontWeight+" "+a.fontSize+"px "+a.fontFamily,p=this.ctx.measureText(p),
605
+ p.width>s&&(C=c,s=p.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;m=a.measureText();for(h=c+1;h<this._labels.length;h++)if(!this._labels[h].breaksLabelType){g=this._labels[h].textBlock;g=g.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=l*Math.sin(Math.PI/
606
+ 180*Math.abs(this.labelAngle))+(d-a.fontSize/2)*Math.cos(Math.PI/180*Math.abs(this.labelAngle));if(f(this.options.labelAngle)&&isNaN(this.options.labelAngle)&&0!==this.options.labelAngle)if(this.sessionVariables.labelMaxHeight=0===this.labelAngle?d:Math.min((b-l*Math.cos(Math.PI/180*Math.abs(this.labelAngle)))/Math.sin(Math.PI/180*Math.abs(this.labelAngle)),b),p=(n-(k+a.fontSize/2)*Math.cos(Math.PI/180*Math.abs(-25)))/Math.sin(Math.PI/180*Math.abs(-25)),!f(this.options.labelWrap))this.labelWrap?f(this.options.labelMaxWidth)?
607
+ (this.sessionVariables.labelMaxWidth=Math.min(Math.max(l,s),p),this.sessionVariables.labelWrap=this.labelWrap,g&&m.width+g.width>>0>2*l&&(this.sessionVariables.labelAngle=-25)):(this.sessionVariables.labelWrap=this.labelWrap,this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth,this.sessionVariables.labelAngle=this.sessionVariables.labelMaxWidth>l?-25:this.sessionVariables.labelAngle):f(this.options.labelMaxWidth)?(this.sessionVariables.labelWrap=this.labelWrap,this.sessionVariables.labelMaxHeight=
608
+ d,this.sessionVariables.labelMaxWidth=l,g&&m.width+g.width>>0>2*l&&(this.sessionVariables.labelAngle=-25,this.sessionVariables.labelMaxWidth=p)):(this.sessionVariables.labelAngle=this.sessionVariables.labelMaxWidth>l?-25:this.sessionVariables.labelAngle,this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth,this.sessionVariables.labelMaxHeight=d,this.sessionVariables.labelWrap=this.labelWrap);else{if(f(this.options.labelWrap))if(!f(this.options.labelMaxWidth))this.options.labelMaxWidth<l?
609
+ (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(!f(g))if(b=m.width+g.width>>0,h=this.labelFontSize,s<l)b-2*l>q&&(q=b-2*l,b>=2*l&&b<2.2*l?(this.sessionVariables.labelMaxWidth=l,f(this.options.labelFontSize)&&12<h&&(h=Math.floor(12/13*h),a.measureText()),this.sessionVariables.labelFontSize=f(this.options.labelFontSize)?
610
+ h:this.options.labelFontSize,this.sessionVariables.labelAngle=this.labelAngle):b>=2.2*l&&b<2.8*l?(this.sessionVariables.labelAngle=-25,this.sessionVariables.labelMaxWidth=p,this.sessionVariables.labelFontSize=h):b>=2.8*l&&b<3.2*l?(this.sessionVariables.labelMaxWidth=Math.max(l,s),this.sessionVariables.labelWrap=!0,f(this.options.labelFontSize)&&12<this.labelFontSize&&(this.labelFontSize=Math.floor(12/13*this.labelFontSize),a.measureText()),this.sessionVariables.labelFontSize=f(this.options.labelFontSize)?
611
+ h:this.options.labelFontSize,this.sessionVariables.labelAngle=this.labelAngle):b>=3.2*l&&b<3.6*l?(this.sessionVariables.labelAngle=-25,this.sessionVariables.labelWrap=!0,this.sessionVariables.labelMaxWidth=p,this.sessionVariables.labelFontSize=this.labelFontSize):b>3.6*l&&b<5*l?(f(this.options.labelFontSize)&&12<h&&(h=Math.floor(12/13*h),a.measureText()),this.sessionVariables.labelFontSize=f(this.options.labelFontSize)?h:this.options.labelFontSize,this.sessionVariables.labelWrap=!0,this.sessionVariables.labelAngle=
612
+ -25,this.sessionVariables.labelMaxWidth=p):b>5*l&&(this.sessionVariables.labelWrap=!0,this.sessionVariables.labelMaxWidth=l,this.sessionVariables.labelFontSize=h,this.sessionVariables.labelMaxHeight=d,this.sessionVariables.labelAngle=this.labelAngle));else if(C===c&&(0===C&&s+this._labels[C+1].textBlock.measureText().width-2*l>q||C===this._labels.length-1&&s+this._labels[C-1].textBlock.measureText().width-2*l>q||0<C&&C<this._labels.length-1&&s+this._labels[C+1].textBlock.measureText().width-2*l>q&&
613
+ s+this._labels[C-1].textBlock.measureText().width-2*l>q))q=0===C?s+this._labels[C+1].textBlock.measureText().width-2*l:s+this._labels[C-1].textBlock.measureText().width-2*l,this.sessionVariables.labelFontSize=f(this.options.labelFontSize)?h:this.options.labelFontSize,this.sessionVariables.labelWrap=!0,this.sessionVariables.labelAngle=-25,this.sessionVariables.labelMaxWidth=p;else if(0===q)for(this.sessionVariables.labelFontSize=f(this.options.labelFontSize)?h:this.options.labelFontSize,this.sessionVariables.labelWrap=
614
+ !0,b=0;b<this._labels.length;b++)a=this._labels[b].textBlock,a.maxWidth=this.sessionVariables.labelMaxWidth=Math.min(Math.max(l,s),p),m=a.measureText(),b<this._labels.length-1&&(h=b+1,g=this._labels[h].textBlock,g.maxWidth=this.sessionVariables.labelMaxWidth=Math.min(Math.max(l,s),p),g=g.measureText(),m.width+g.width>>0>2*l&&(this.sessionVariables.labelAngle=-25))}else(this.sessionVariables.labelAngle=this.labelAngle,this.sessionVariables.labelMaxHeight=0===this.labelAngle?d:Math.min((b-l*Math.cos(Math.PI/
615
+ 180*Math.abs(this.labelAngle)))/Math.sin(Math.PI/180*Math.abs(this.labelAngle)),b),p=0!=this.labelAngle?(n-(k+a.fontSize/2)*Math.cos(Math.PI/180*Math.abs(this.labelAngle)))/Math.sin(Math.PI/180*Math.abs(this.labelAngle)):l,this.sessionVariables.labelMaxHeight=this.labelWrap?(n-p*Math.sin(Math.PI/180*Math.abs(this.labelAngle)))/Math.cos(Math.PI/180*Math.abs(this.labelAngle)):1.5*this.labelFontSize,f(this.options.labelWrap))?f(this.options.labelWrap)&&(this.labelWrap&&!f(this.options.labelMaxWidth)?
616
+ (this.sessionVariables.labelWrap=this.labelWrap,this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth?this.options.labelMaxWidth:p,this.sessionVariables.labelMaxHeight=d):(this.sessionVariables.labelAngle=this.labelAngle,this.sessionVariables.labelMaxWidth=p,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?
617
+ this.options.labelMaxWidth:p):(f(this.options.labelMaxWidth),this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth?this.options.labelMaxWidth:p,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,
618
+ 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=f(this.options.labelMaxWidth)?f(this.sessionVariables.labelMaxWidth)?this.sessionVariables.labelMaxWidth=l:this.sessionVariables.labelMaxWidth:this.options.labelMaxWidth,a.fontSize=this.labelFontSize=f(this.options.labelFontSize)?f(this.sessionVariables.labelFontSize)?this.sessionVariables.labelFontSize=this.labelFontSize:this.sessionVariables.labelFontSize:
619
+ this.options.labelFontSize,a.angle=this.labelAngle=f(this.options.labelAngle)?f(this.sessionVariables.labelAngle)?this.sessionVariables.labelAngle=this.labelAngle:this.sessionVariables.labelAngle:this.labelAngle,a.wrap=this.labelWrap=f(this.options.labelWrap)?f(this.sessionVariables.labelWrap)?this.sessionVariables.labelWrap=this.labelWrap:this.sessionVariables.labelWrap:this.options.labelWrap,a.maxHeight=f(this.sessionVariables.labelMaxHeight)?this.sessionVariables.labelMaxHeight=d:this.sessionVariables.labelMaxHeight,
620
+ a.measureText();else if("left"===this._position||"right"===this._position)if(l=f(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=l;this.sessionVariables.labelMaxHeight=d;this.sessionVariables.labelAngle=f(this.sessionVariables.labelAngle)?
621
+ 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;m=a.measureText();for(h=c+1;h<this._labels.length;h++)if(!this._labels[h].breaksLabelType){g=this._labels[h].textBlock;g=g.measureText();break}e.push(a.height);this.sessionVariables.labelMaxHeight=Math.max.apply(Math,e);b=l*Math.sin(Math.PI/180*Math.abs(this.labelAngle))+(d-a.fontSize/2)*Math.cos(Math.PI/180*Math.abs(this.labelAngle));
622
+ Math.cos(Math.PI/180*Math.abs(this.labelAngle));Math.sin(Math.PI/180*Math.abs(this.labelAngle));f(this.options.labelAngle)&&isNaN(this.options.labelAngle)&&0!==this.options.labelAngle?f(this.options.labelWrap)?f(this.options.labelWrap)&&(f(this.options.labelMaxWidth)?f(g)||(r=m.height+g.height>>0,r-2*d>s&&(s=r-2*d,r>=2*d&&r<2.4*d?(f(this.options.labelFontSize)&&12<this.labelFontSize&&(this.labelFontSize=Math.floor(12/13*this.labelFontSize),a.measureText()),this.sessionVariables.labelMaxHeight=d,this.sessionVariables.labelFontSize=
623
+ f(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,f(this.options.labelFontSize)&&12<this.labelFontSize&&(this.labelFontSize=Math.floor(12/13*this.labelFontSize),a.measureText()),this.sessionVariables.labelFontSize=f(this.options.labelFontSize)?
624
+ this.labelFontSize:this.options.labelFontSize,this.sessionVariables.labelAngle=f(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?(f(this.options.labelFontSize)&&12<this.labelFontSize&&(this.labelFontSize=Math.floor(12/13*this.labelFontSize),a.measureText()),this.sessionVariables.labelFontSize=f(this.options.labelFontSize)?
625
+ this.labelFontSize:this.options.labelFontSize,this.sessionVariables.labelMaxWidth=l,this.sessionVariables.labelMaxHeight=d,this.sessionVariables.labelAngle=f(this.sessionVariables.labelAngle)?0:this.sessionVariables.labelAngle):r>10*d&&r<50*d&&(f(this.options.labelFontSize)&&12<this.labelFontSize&&(this.labelFontSize=Math.floor(12/13*this.labelFontSize),a.measureText()),this.sessionVariables.labelFontSize=f(this.options.labelFontSize)?this.labelFontSize:this.options.labelFontSize,this.sessionVariables.labelMaxHeight=
626
+ d,this.sessionVariables.labelMaxWidth=l,this.sessionVariables.labelAngle=f(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?
627
+ this.options.labelMaxWidth:this.sessionVariables.labelMaxWidth:l,this.sessionVariables.labelMaxHeight=d):(this.sessionVariables.labelAngle=this.labelAngle,this.sessionVariables.labelMaxWidth=0===this.labelAngle?l:Math.min((b-d*Math.sin(Math.PI/180*Math.abs(this.labelAngle)))/Math.cos(Math.PI/180*Math.abs(this.labelAngle)),d),f(this.options.labelWrap))?f(this.options.labelWrap)&&(this.labelWrap&&!f(this.options.labelMaxWidth)?(this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth?this.options.labelMaxWidth:
628
+ this.sessionVariables.labelMaxWidth,this.sessionVariables.labelWrap=this.labelWrap,this.sessionVariables.labelMaxHeight=b):(this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth?this.options.labelMaxWidth:l,this.sessionVariables.labelMaxHeight=0===this.labelAngle?d:b,f(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=
629
+ l):(this.sessionVariables.labelMaxHeight=d,f(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=
630
+ 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=f(this.options.labelMaxWidth)?f(this.sessionVariables.labelMaxWidth)?this.sessionVariables.labelMaxWidth=l:this.sessionVariables.labelMaxWidth:this.options.labelMaxWidth,a.fontSize=this.labelFontSize=f(this.options.labelFontSize)?f(this.sessionVariables.labelFontSize)?this.sessionVariables.labelFontSize=
631
+ this.labelFontSize:this.sessionVariables.labelFontSize:this.options.labelFontSize,a.angle=this.labelAngle=f(this.options.labelAngle)?f(this.sessionVariables.labelAngle)?this.sessionVariables.labelAngle=this.labelAngle:this.sessionVariables.labelAngle:this.labelAngle,a.wrap=this.labelWrap=f(this.options.labelWrap)?f(this.sessionVariables.labelWrap)?this.sessionVariables.labelWrap=this.labelWrap:this.sessionVariables.labelWrap:this.options.labelWrap,a.maxHeight=f(this.sessionVariables.labelMaxHeight)?
632
+ this.sessionVariables.labelMaxHeight=d:this.sessionVariables.labelMaxHeight,a.measureText();for(c=0;c<this.stripLines.length;c++){var l=this.stripLines[c],B;if("outside"===l.labelPlacement){d=this.sessionVariables.labelMaxWidth;if("bottom"===this._position||"top"===this._position)f(l.options.labelWrap)&&!f(this.sessionVariables.stripLineLabelMaxHeight)?B=this.sessionVariables.stripLineLabelMaxHeight:this.sessionVariables.stripLineLabelMaxHeight=B=l.labelWrap?0.8*this.chart.height>>0:1.5*this.labelFontSize;
633
+ if("left"===this._position||"right"===this._position)f(l.options.labelWrap)&&!f(this.sessionVariables.stripLineLabelMaxHeight)?B=this.sessionVariables.stripLineLabelMaxHeight:this.sessionVariables.stripLineLabelMaxHeight=B=l.labelWrap?0.8*this.chart.width>>0:1.5*this.labelFontSize;f(l.labelBackgroundColor)&&(l.labelBackgroundColor="#EEEEEE")}else d="bottom"===this._position||"top"===this._position?0.9*this.chart.width>>0:0.9*this.chart.height>>0,B=f(l.options.labelWrap)||l.labelWrap?"bottom"===this._position||
634
+ "top"===this._position?0.8*this.chart.width>>0:0.8*this.chart.height>>0:1.5*this.labelFontSize,f(l.labelBackgroundColor)&&(f(l.startValue)&&0!==l.startValue?l.labelBackgroundColor=t?"transparent":null:l.labelBackgroundColor="#EEEEEE");a=new la(this.ctx,{x:0,y:0,backgroundColor:l.labelBackgroundColor,borderColor:l.labelBorderColor,borderThickness:l.labelBorderThickness,cornerRadius:l.labelCornerRadius,maxWidth:l.options.labelMaxWidth?l.options.labelMaxWidth:d,maxHeight:B,angle:this.labelAngle,text:l.labelFormatter?
635
+ l.labelFormatter({chart:this.chart,axis:this,stripLine:l}):l.label,textAlign:this.labelTextAlign,fontSize:"outside"===l.labelPlacement?l.options.labelFontSize?l.labelFontSize:this.labelFontSize:l.labelFontSize,fontFamily:"outside"===l.labelPlacement?l.options.labelFontFamily?l.labelFontFamily:this.labelFontFamily:l.labelFontFamily,fontWeight:"outside"===l.labelPlacement?l.options.labelFontWeight?l.labelFontWeight:this.labelFontWeight:l.labelFontWeight,fontColor:l.labelFontColor||l.color,fontStyle:"outside"===
636
+ l.labelPlacement?l.options.labelFontStyle?l.labelFontStyle:this.fontWeight:l.labelFontStyle,textBaseline:"middle"});this._stripLineLabels.push({position:l.value,textBlock:a,effectiveHeight:null,stripLine:l})}};y.prototype.createLabelsAndCalculateWidth=function(){var a=0,g=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(g=
637
+ 0;g<this._labels.length;g++){var b=this._labels[g].textBlock,e=b.measureText(),l=0,l=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<l&&(this.labelEffectiveWidth=a=l);this._labels[g].effectiveWidth=l}for(g=0;g<this._stripLineLabels.length;g++)"outside"===this._stripLineLabels[g].stripLine.labelPlacement&&(this._stripLineLabels[g].stripLine.value>=this.viewportMinimum&&this._stripLineLabels[g].stripLine.value<=
638
+ this.viewportMaximum)&&(b=this._stripLineLabels[g].textBlock,e=b.measureText(),l=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&&(l+=this.tickLength),"inside"===this.labelPlacement&&(a+=0<this._index?l:0),a<l&&(a=l),this.stripLineLabelEffectiveWidth=this._stripLineLabels[g].effectiveWidth=l)}return(this.title?this._titleTextBlock.measureText().height+2:0)+a+("inside"===
639
+ this.tickPlacement?0<this._index?this.tickLength:0:this.tickLength)+c};y.prototype.createLabelsAndCalculateHeight=function(){var a=0;this._labels=[];this._stripLineLabels=[];var g,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++){g=this._labels[c].textBlock;var e=g.measureText(),l=0,l=0===this.labelAngle?e.height:e.width*Math.sin(Math.PI/
640
+ 180*Math.abs(this.labelAngle))+(e.height-g.fontSize/2)*Math.cos(Math.PI/180*Math.abs(this.labelAngle));a<l&&(this.labelEffectiveHeight=a=l);this._labels[c].effectiveHeight=l}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)&&(g=this._stripLineLabels[c].textBlock,e=g.measureText(),l=0===this.labelAngle?e.height:e.width*
641
+ Math.sin(Math.PI/180*Math.abs(this.labelAngle))+(e.height-g.fontSize/2)*Math.cos(Math.PI/180*Math.abs(this.labelAngle)),"inside"===this.tickPlacement&&(l+=this.tickLength),"inside"===this.labelPlacement&&(a+=0<this._index?l:0),a<l&&(a=l),this.stripLineLabelEffectiveHeight=this._stripLineLabels[c].effectiveHeight=l)}return(this.title?this._titleTextBlock.measureText().height+2:0)+a+("inside"===this.tickPlacement?0<this._index?this.tickLength:0:this.tickLength)+b};y.setLayout=function(a,g,c,b,e,l){var d,
642
+ r,k,n,p=a[0]?a[0].chart:g[0].chart,q=p.isNavigator?0:10,s=p._axes;if(a&&0<a.length)for(var h=0;h<a.length;h++)a[h]&&a[h].calculateAxisParameters();if(g&&0<g.length)for(h=0;h<g.length;h++)g[h].calculateAxisParameters();if(c&&0<c.length)for(h=0;h<c.length;h++)c[h].calculateAxisParameters();if(b&&0<b.length)for(h=0;h<b.length;h++)b[h].calculateAxisParameters();for(h=0;h<s.length;h++)if(s[h]&&s[h].scaleBreaks&&s[h].scaleBreaks._appliedBreaks.length)for(var m=s[h].scaleBreaks._appliedBreaks,C=0;C<m.length&&
643
+ !(m[C].startValue>s[h].viewportMaximum);C++)m[C].endValue<s[h].viewportMinimum||(f(s[h].scaleBreaks.firstBreakIndex)&&(s[h].scaleBreaks.firstBreakIndex=C),m[C].startValue>=s[h].viewPortMinimum&&(s[h].scaleBreaks.lastBreakIndex=C));for(var t=C=0,u=0,B=0,v=0,w=0,y=0,A,F,E=r=0,K,Q,N,m=K=Q=N=!1,h=0;h<s.length;h++)s[h]&&s[h].title&&(s[h]._titleTextBlock=new la(s[h].ctx,{text:s[h].title,horizontalAlign:"center",fontSize:s[h].titleFontSize,fontFamily:s[h].titleFontFamily,fontWeight:s[h].titleFontWeight,
644
+ fontColor:s[h].titleFontColor,fontStyle:s[h].titleFontStyle,borderColor:s[h].titleBorderColor,borderThickness:s[h].titleBorderThickness,backgroundColor:s[h].titleBackgroundColor,cornerRadius:s[h].titleCornerRadius,textBaseline:"middle"}));for(h=0;h<s.length;h++)if(s[h].title)switch(s[h]._position){case "left":s[h]._titleTextBlock.maxWidth=s[h].titleMaxWidth||l.height;s[h]._titleTextBlock.maxHeight=s[h].titleWrap?0.8*l.width:1.5*s[h].titleFontSize;s[h]._titleTextBlock.angle=-90;break;case "right":s[h]._titleTextBlock.maxWidth=
645
+ s[h].titleMaxWidth||l.height;s[h]._titleTextBlock.maxHeight=s[h].titleWrap?0.8*l.width:1.5*s[h].titleFontSize;s[h]._titleTextBlock.angle=90;break;default:s[h]._titleTextBlock.maxWidth=s[h].titleMaxWidth||l.width,s[h]._titleTextBlock.maxHeight=s[h].titleWrap?0.8*l.height:1.5*s[h].titleFontSize,s[h]._titleTextBlock.angle=0}if("normal"===e){for(var B=[],v=[],w=[],y=[],O=[],P=[],M=[],R=[];4>C;){var H=0,X=0,$=0,T=0,aa=e=0,S=0,ba=0,Y=0,V=0,U=0,ca=0;if(c&&0<c.length)for(w=[],h=U=0;h<c.length;h++)w.push(Math.ceil(c[h]?
646
+ c[h].createLabelsAndCalculateWidth():0)),U+=w[h],S+=c[h]&&!p.isNavigator?c[h].margin:0;else w.push(Math.ceil(c[0]?c[0].createLabelsAndCalculateWidth():0));M.push(w);if(b&&0<b.length)for(y=[],h=ca=0;h<b.length;h++)y.push(Math.ceil(b[h]?b[h].createLabelsAndCalculateWidth():0)),ca+=y[h],ba+=b[h]?b[h].margin:0;else y.push(Math.ceil(b[0]?b[0].createLabelsAndCalculateWidth():0));R.push(y);d=Math.round(l.x1+U+S);k=Math.round(l.x2-ca-ba>p.width-q?p.width-q:l.x2-ca-ba);if(a&&0<a.length)for(B=[],h=Y=0;h<a.length;h++)a[h]&&
647
+ (a[h].lineCoordinates={}),a[h].lineCoordinates.width=Math.abs(k-d),a[h].title&&(a[h]._titleTextBlock.maxWidth=0<a[h].titleMaxWidth&&a[h].titleMaxWidth<a[h].lineCoordinates.width?a[h].titleMaxWidth:a[h].lineCoordinates.width),B.push(Math.ceil(a[h]?a[h].createLabelsAndCalculateHeight():0)),Y+=B[h],e+=a[h]&&!p.isNavigator?a[h].margin:0;else B.push(Math.ceil(a[0]?a[0].createLabelsAndCalculateHeight():0));O.push(B);if(g&&0<g.length)for(v=[],h=V=0;h<g.length;h++)g[h]&&(g[h].lineCoordinates={}),g[h].lineCoordinates.width=
648
+ Math.abs(k-d),g[h].title&&(g[h]._titleTextBlock.maxWidth=0<g[h].titleMaxWidth&&g[h].titleMaxWidth<g[h].lineCoordinates.width?g[h].titleMaxWidth:g[h].lineCoordinates.width),v.push(Math.ceil(g[h]?g[h].createLabelsAndCalculateHeight():0)),V+=v[h],aa+=g[h]&&!p.isNavigator?g[h].margin:0;else v.push(Math.ceil(g[0]?g[0].createLabelsAndCalculateHeight():0));P.push(v);if(a&&0<a.length)for(h=0;h<a.length;h++)a[h]&&(a[h].lineCoordinates.x1=d,k=Math.round(l.x2-ca-ba>p.width-q?p.width-q:l.x2-ca-ba),a[h]._labels&&
649
+ 1<a[h]._labels.length&&(r=n=0,n=a[h]._labels[1],r="dateTime"===a[h].valueType?a[h]._labels[a[h]._labels.length-2]:a[h]._labels[a[h]._labels.length-1],t=n.textBlock.width*Math.cos(Math.PI/180*Math.abs(n.textBlock.angle))+(n.textBlock.height-r.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(n.textBlock.angle)),u=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[h]||(!a[h].labelAutoFit||
650
+ f(A)||f(F)||p.isNavigator||p.stockChart)||(r=0,0<a[h].labelAngle?F+u>k&&(r+=0<a[h].labelAngle?F+u-k-ca:0):0>a[h].labelAngle?A-t<d&&A-t<a[h].viewportMinimum&&(E=d-(S+a[h].tickLength+w+A-t+a[h].labelFontSize/2)):0===a[h].labelAngle&&(F+u>k&&(r=F+u/2-k-ca),A-t<d&&A-t<a[h].viewportMinimum&&(E=d-S-a[h].tickLength-w-A+t/2)),a[h].viewportMaximum===a[h].maximum&&a[h].viewportMinimum===a[h].minimum&&0<a[h].labelAngle&&0<r?k-=r:a[h].viewportMaximum===a[h].maximum&&a[h].viewportMinimum===a[h].minimum&&0>a[h].labelAngle&&
651
+ 0<E?d+=E:a[h].viewportMaximum===a[h].maximum&&a[h].viewportMinimum===a[h].minimum&&0===a[h].labelAngle&&(0<E&&(d+=E),0<r&&(k-=r))),p.panEnabled?Y=f(p.sessionVariables.axisX.height)?p.sessionVariables.axisX.height=Y:p.sessionVariables.axisX.height:p.sessionVariables.axisX.height=Y,r=Math.round(l.y2-Y-e+H),n=Math.round(l.y2),a[h].lineCoordinates.x2=k,a[h].lineCoordinates.width=k-d,a[h].lineCoordinates.y1=r,a[h].lineCoordinates.y2=r,"inside"===a[h].labelPlacement&&0<h&&(a[h].lineCoordinates.y1=a[h-1].lineCoordinates.y2+
652
+ H+(a[h].labelEffectiveHeight||0),a[h].lineCoordinates.y2=a[h].lineCoordinates.y1+a[h].lineThickness/2),"inside"===a[h].tickPlacement&&0<h&&(a[h].lineCoordinates.y1+=a[h].tickLength,a[h].lineCoordinates.y2=a[h].lineCoordinates.y1+a[h].lineThickness/2),a[h].bounds={x1:d,y1:r,x2:k,y2:n-(Y+e-B[h]-H),width:k-d},a[h].bounds.height=a[h].bounds.y2-a[h].bounds.y1),H+=B[h]+a[h].margin;if(g&&0<g.length)for(h=0;h<g.length;h++)g[h].lineCoordinates.x1=Math.round(l.x1+U+S),g[h].lineCoordinates.x2=Math.round(l.x2-
653
+ ca-ba>p.width-q?p.width-q:l.x2-ca-ba),g[h].lineCoordinates.width=Math.abs(k-d),g[h]._labels&&1<g[h]._labels.length&&(n=g[h]._labels[1],r="dateTime"===g[h].valueType?g[h]._labels[g[h]._labels.length-2]:g[h]._labels[g[h]._labels.length-1],t=n.textBlock.width*Math.cos(Math.PI/180*Math.abs(n.textBlock.angle))+(n.textBlock.height-r.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(n.textBlock.angle)),u=r.textBlock.width*Math.cos(Math.PI/180*Math.abs(r.textBlock.angle))+(r.textBlock.height-r.textBlock.fontSize/
654
+ 2)*Math.sin(Math.PI/180*Math.abs(r.textBlock.angle))),p.panEnabled?V=f(p.sessionVariables.axisX2.height)?p.sessionVariables.axisX2.height=V:p.sessionVariables.axisX2.height:p.sessionVariables.axisX2.height=V,r=Math.round(l.y1),n=g[h].lineCoordinates.y1=r+V+aa-X,g[h].lineCoordinates.y2=r,"inside"===g[h].labelPlacement&&0<h&&(g[h].lineCoordinates.y1=g[h-1].lineCoordinates.y1-X-(g[h].labelEffectiveHeight||0)),"inside"===g[h].tickPlacement&&0<h&&(g[h].lineCoordinates.y1-=g[h].tickLength),g[h].bounds=
655
+ {x1:d,y1:r+(V+aa-v[h]-X),x2:k,y2:n,width:k-d},g[h].bounds.height=g[h].bounds.y2-g[h].bounds.y1,X+=v[h]+g[h].margin;if(c&&0<c.length)for(h=0;h<c.length;h++)S=p.isNavigator?0:10,c[h]&&(d=Math.round(a[0]?a[0].lineCoordinates.x1:g[0].lineCoordinates.x1),S=c[h]._labels&&0<c[h]._labels.length?c[h]._labels[c[h]._labels.length-1].textBlock.height/2:q,r=Math.round(l.y1+V+aa<Math.max(S,q)?Math.max(S,q):l.y1+V+aa),k=Math.round(a[0]?a[0].lineCoordinates.x1:g[0].lineCoordinates.x1),S=0<a.length?0:c[h]._labels&&
656
+ 0<c[h]._labels.length?c[h]._labels[0].textBlock.height/2:q,n=Math.round(l.y2-Y-e-S),c[h].lineCoordinates={x1:d-$,y1:r,x2:k-$,y2:n,height:Math.abs(n-r)},"inside"===c[h].labelPlacement&&0<h&&(c[h].lineCoordinates.x1=c[h-1].lineCoordinates.x1-$-(c[h].labelEffectiveWidth||0),c[h].lineCoordinates.x2=c[h].lineCoordinates.x1+c[h].lineThickness/2),"inside"===c[h].tickPlacement&&0<h&&(c[h].lineCoordinates.x1-=c[h].tickLength,c[h].lineCoordinates.x2=c[h].lineCoordinates.x1+c[h].lineThickness/2),c[h].bounds=
657
+ {x1:d-(w[h]+$),y1:r,x2:k-$,y2:n,height:n-r},c[h].bounds.width=c[h].bounds.x2-c[h].bounds.x1,c[h].title&&(c[h]._titleTextBlock.maxWidth=0<c[h].titleMaxWidth&&c[h].titleMaxWidth<c[h].lineCoordinates.height?c[h].titleMaxWidth:c[h].lineCoordinates.height),$+=w[h]+c[h].margin);if(b&&0<b.length)for(h=0;h<b.length;h++)b[h]&&(d=Math.round(a[0]?a[0].lineCoordinates.x2:g[0].lineCoordinates.x2),k=Math.round(d),S=b[h]._labels&&0<b[h]._labels.length?b[h]._labels[b[h]._labels.length-1].textBlock.height/2:0,r=Math.round(l.y1+
658
+ V+aa<Math.max(S,q)?Math.max(S,q):l.y1+V+aa),S=0<a.length?0:b[h]._labels&&0<b[h]._labels.length?b[h]._labels[0].textBlock.height/2:0,n=Math.round(l.y2-(Y+e+S)),b[h].lineCoordinates={x1:d+T,y1:r,x2:d+T,y2:n,height:Math.abs(n-r)},"inside"===b[h].labelPlacement&&0<h&&(b[h].lineCoordinates.x1=b[h-1].lineCoordinates.x2+T+(b[h].labelEffectiveWidth||0),b[h].lineCoordinates.x2=b[h].lineCoordinates.x1+b[h].lineThickness/2),"inside"===b[h].tickPlacement&&0<h&&(b[h].lineCoordinates.x1+=b[h].tickLength,b[h].lineCoordinates.x2=
659
+ b[h].lineCoordinates.x1+b[h].lineThickness/2),b[h].bounds={x1:d+T,y1:r,x2:k+(y[h]+T),y2:n,height:n-r},b[h].bounds.width=b[h].bounds.x2-b[h].bounds.x1,b[h].title&&(b[h]._titleTextBlock.maxWidth=0<b[h].titleMaxWidth&&b[h].titleMaxWidth<b[h].lineCoordinates.height?b[h].titleMaxWidth:b[h].lineCoordinates.height),T+=y[h]+b[h].margin);if(a&&0<a.length)for(h=0;h<a.length;h++)a[h]&&(a[h].calculateValueToPixelConversionParameters(),a[h].calculateBreaksSizeInValues(),a[h]._labels&&1<a[h]._labels.length&&(A=
660
+ (a[h].logarithmic?Math.log(a[h]._labels[1].position/a[h].viewportMinimum)/a[h].conversionParameters.lnLogarithmBase:a[h]._labels[1].position-a[h].viewportMinimum)*Math.abs(a[h].conversionParameters.pixelPerUnit)+a[h].lineCoordinates.x1,d=a[h]._labels[a[h]._labels.length-("dateTime"===a[h].valueType?2:1)].position,d=a[h].getApparentDifference(a[h].viewportMinimum,d),F=a[h].logarithmic?(1<d?Math.log(d)/a[h].conversionParameters.lnLogarithmBase*Math.abs(a[h].conversionParameters.pixelPerUnit):0)+a[h].lineCoordinates.x1:
661
+ (0<d?d*Math.abs(a[h].conversionParameters.pixelPerUnit):0)+a[h].lineCoordinates.x1));if(g&&0<g.length)for(h=0;h<g.length;h++)g[h].calculateValueToPixelConversionParameters(),g[h].calculateBreaksSizeInValues(),g[h]._labels&&1<g[h]._labels.length&&(A=(g[h].logarithmic?Math.log(g[h]._labels[1].position/g[h].viewportMinimum)/g[h].conversionParameters.lnLogarithmBase:g[h]._labels[1].position-g[h].viewportMinimum)*Math.abs(g[h].conversionParameters.pixelPerUnit)+g[h].lineCoordinates.x1,d=g[h]._labels[g[h]._labels.length-
662
+ ("dateTime"===g[h].valueType?2:1)].position,d=g[h].getApparentDifference(g[h].viewportMinimum,d),F=g[h].logarithmic?(1<d?Math.log(d)/g[h].conversionParameters.lnLogarithmBase*Math.abs(g[h].conversionParameters.pixelPerUnit):0)+g[h].lineCoordinates.x1:(0<d?d*Math.abs(g[h].conversionParameters.pixelPerUnit):0)+g[h].lineCoordinates.x1);for(h=0;h<s.length;h++)"axisY"===s[h].type&&(s[h].calculateValueToPixelConversionParameters(),s[h].calculateBreaksSizeInValues());if(0<C){if(a&&0<a.length)for(h=0;h<a.length;h++)m=
663
+ O[C-1][h]===O[C][h]?!0:!1;else m=!0;if(g&&0<g.length)for(h=0;h<g.length;h++)K=P[C-1][h]===P[C][h]?!0:!1;else K=!0;if(c&&0<c.length)for(h=0;h<c.length;h++)Q=M[C-1][h]===M[C][h]?!0:!1;else Q=!0;if(b&&0<b.length)for(h=0;h<b.length;h++)N=R[C-1][h]===R[C][h]?!0:!1;else N=!0}if(m&&K&&Q&&N)break;C++}if(a&&0<a.length)for(h=0;h<a.length;h++)a[h].calculateStripLinesThicknessInValues(),a[h].calculateBreaksInPixels();if(g&&0<g.length)for(h=0;h<g.length;h++)g[h].calculateStripLinesThicknessInValues(),g[h].calculateBreaksInPixels();
664
+ if(c&&0<c.length)for(h=0;h<c.length;h++)c[h].calculateStripLinesThicknessInValues(),c[h].calculateBreaksInPixels();if(b&&0<b.length)for(h=0;h<b.length;h++)b[h].calculateStripLinesThicknessInValues(),b[h].calculateBreaksInPixels()}else{q=[];A=[];E=[];t=[];F=[];u=[];O=[];for(P=[];4>C;){Y=T=$=ba=S=aa=e=R=M=H=V=0;if(a&&0<a.length)for(E=[],h=T=0;h<a.length;h++)E.push(Math.ceil(a[h]?a[h].createLabelsAndCalculateWidth():0)),T+=E[h],e+=a[h]&&!p.isNavigator?a[h].margin:0;else E.push(Math.ceil(a[0]?a[0].createLabelsAndCalculateWidth():
665
+ 0));O.push(E);if(g&&0<g.length)for(t=[],h=Y=0;h<g.length;h++)t.push(Math.ceil(g[h]?g[h].createLabelsAndCalculateWidth():0)),Y+=t[h],aa+=g[h]?g[h].margin:0;else t.push(Math.ceil(g[0]?g[0].createLabelsAndCalculateWidth():0));P.push(t);if(c&&0<c.length)for(h=0;h<c.length;h++)c[h].lineCoordinates={},d=Math.round(l.x1+T+e),k=Math.round(l.x2-Y-aa>p.width-10?p.width-10:l.x2-Y-aa),c[h].labelAutoFit&&!f(B)&&(0<!a.length&&(d=0>c[h].labelAngle?Math.max(d,B):0===c[h].labelAngle?Math.max(d,B/2):d),0<!g.length&&
666
+ (k=0<c[h].labelAngle?k-v/2:0===c[h].labelAngle?k-v/2:k)),c[h].lineCoordinates.x1=d,c[h].lineCoordinates.x2=k,c[h].lineCoordinates.width=Math.abs(k-d),c[h].title&&(c[h]._titleTextBlock.maxWidth=0<c[h].titleMaxWidth&&c[h].titleMaxWidth<c[h].lineCoordinates.width?c[h].titleMaxWidth:c[h].lineCoordinates.width);if(b&&0<b.length)for(h=0;h<b.length;h++)b[h].lineCoordinates={},d=Math.round(l.x1+T+e),k=Math.round(l.x2-Y-aa>b[h].chart.width-10?b[h].chart.width-10:l.x2-Y-aa),b[h]&&b[h].labelAutoFit&&!f(w)&&
667
+ (0<!a.length&&(d=0<b[h].labelAngle?Math.max(d,w):0===b[h].labelAngle?Math.max(d,w/2):d),0<!g.length&&(k-=y/2)),b[h].lineCoordinates.x1=d,b[h].lineCoordinates.x2=k,b[h].lineCoordinates.width=Math.abs(k-d),b[h].title&&(b[h]._titleTextBlock.maxWidth=0<b[h].titleMaxWidth&&b[h].titleMaxWidth<b[h].lineCoordinates.width?b[h].titleMaxWidth:b[h].lineCoordinates.width);if(c&&0<c.length)for(q=[],h=$=0;h<c.length;h++)q.push(Math.ceil(c[h]?c[h].createLabelsAndCalculateHeight():0)),$+=q[h]+c[h].margin,S+=c[h].margin;
668
+ else q.push(Math.ceil(c[0]?c[0].createLabelsAndCalculateHeight():0));F.push(q);if(b&&0<b.length)for(A=[],h=0;h<b.length;h++)A.push(Math.ceil(b[h]?b[h].createLabelsAndCalculateHeight():0)),ba+=b[h].margin;else A.push(Math.ceil(b[0]?b[0].createLabelsAndCalculateHeight():0));u.push(A);if(c&&0<c.length)for(h=0;h<c.length;h++)0<c[h]._labels.length&&(n=c[h]._labels[0],r=c[h]._labels[c[h]._labels.length-1],B=n.textBlock.width*Math.cos(Math.PI/180*Math.abs(n.textBlock.angle))+(n.textBlock.height-r.textBlock.fontSize/
669
+ 2)*Math.sin(Math.PI/180*Math.abs(n.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)));if(b&&0<b.length)for(h=0;h<b.length;h++)b[h]&&0<b[h]._labels.length&&(n=b[h]._labels[0],r=b[h]._labels[b[h]._labels.length-1],w=n.textBlock.width*Math.cos(Math.PI/180*Math.abs(n.textBlock.angle))+(n.textBlock.height-r.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(n.textBlock.angle)),
670
+ 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(p.panEnabled)for(h=0;h<c.length;h++)q[h]=f(p.sessionVariables.axisY[h].height)?p.sessionVariables.axisY[h].height=q[h]:p.sessionVariables.axisY[h].height;else for(h=0;h<c.length;h++)p.sessionVariables.axisY[h].height=q[h];if(c&&0<c.length)for(h=c.length-1;0<=h;h--)r=Math.round(l.y2),n=Math.round(l.y2>c[h].chart.height?c[h].chart.height:
671
+ l.y2),c[h].lineCoordinates.y1=r-(q[h]+c[h].margin+V),c[h].lineCoordinates.y2=r-(q[h]+c[h].margin+V),"inside"===c[h].labelPlacement&&0<h&&(c[h].lineCoordinates.y1=c[h].lineCoordinates.y1+q[h]-(c[h]._titleTextBlock?c[h]._titleTextBlock.height:0)-c[h].tickLength-(c[h].stripLineLabelEffectiveHeight||0)-5,c[h].lineCoordinates.y2=c[h].lineCoordinates.y1+c[h].lineThickness/2),"inside"===c[h].tickPlacement&&0<h&&(c[h].lineCoordinates.y1+=c[h].tickLength,c[h].lineCoordinates.y2=c[h].lineCoordinates.y1+c[h].lineThickness/
672
+ 2),c[h].bounds={x1:d,y1:r-(q[h]+V+c[h].margin),x2:k,y2:n-(V+c[h].margin),width:k-d,height:q[h]},c[h].title&&(c[h]._titleTextBlock.maxWidth=0<c[h].titleMaxWidth&&c[h].titleMaxWidth<c[h].lineCoordinates.width?c[h].titleMaxWidth:c[h].lineCoordinates.width),V+=q[h]+c[h].margin;if(b&&0<b.length)for(h=b.length-1;0<=h;h--)b[h]&&(r=Math.round(l.y1),n=Math.round(l.y1+(A[h]+b[h].margin+H)),b[h].lineCoordinates.y1=n,b[h].lineCoordinates.y2=n,"inside"===b[h].labelPlacement&&0<h&&(b[h].lineCoordinates.y1=n-A[h]+
673
+ (b[h]._titleTextBlock?b[h]._titleTextBlock.height:0)+b[h].tickLength+(b[h].stripLineLabelEffectiveHeight||0),b[h].lineCoordinates.y2=b[h].lineCoordinates.y1-b[h].lineThickness/2),"inside"===b[h].tickPlacement&&0<h&&(b[h].lineCoordinates.y1-=b[h].tickLength,b[h].lineCoordinates.y2=b[h].lineCoordinates.y1-b[h].lineThickness/2),b[h].bounds={x1:d,y1:r+(b[h].margin+H),x2:k,y2:n,width:k-d},b[h].bounds.height=b[h].bounds.y2-b[h].bounds.y1,b[h].title&&(b[h]._titleTextBlock.maxWidth=0<b[h].titleMaxWidth&&
674
+ b[h].titleMaxWidth<b[h].lineCoordinates.width?b[h].titleMaxWidth:b[h].lineCoordinates.width),H+=A[h]+b[h].margin);if(a&&0<a.length)for(h=0;h<a.length;h++){S=a[h]._labels&&0<a[h]._labels.length?a[h]._labels[0].textBlock.fontSize/2:0;d=Math.round(l.x1+e);r=b&&0<b.length?Math.round(b[0]?b[0].lineCoordinates.y2:l.y1<Math.max(S,10)?Math.max(S,10):l.y1):l.y1<Math.max(S,10)?Math.max(S,10):l.y1;k=Math.round(l.x1+T+e);n=c&&0<c.length?Math.round(c[0]?c[0].lineCoordinates.y1:l.y2-$>p.height-Math.max(S,10)?p.height-
675
+ Math.max(S,10):l.y2-$):l.y2>p.height-Math.max(S,10)?p.height-Math.max(S,10):l.y2;if(c&&0<c.length)for(S=0;S<c.length;S++)c[S]&&c[S].labelAutoFit&&(k=c[S].lineCoordinates.x1,d=0>c[S].labelAngle||0===c[S].labelAngle?k-T:d);if(b&&0<b.length)for(S=0;S<b.length;S++)b[S]&&b[S].labelAutoFit&&(k=b[S].lineCoordinates.x1,d=k-T);a[h].lineCoordinates={x1:k-M,y1:r,x2:k-M,y2:n,height:Math.abs(n-r)};"inside"===a[h].labelPlacement&&0<h&&(a[h].lineCoordinates.x1=a[h].lineCoordinates.x1-(E[h]-(a[h]._titleTextBlock?
676
+ a[h]._titleTextBlock.height:0))+a[h].tickLength+(a[h].stripLineLabelEffectiveWidth||0),a[h].lineCoordinates.x2=a[h].lineCoordinates.x1+a[h].lineThickness/2);"inside"===a[h].tickPlacement&&0<h&&(a[h].lineCoordinates.x1-=a[h].tickLength,a[h].lineCoordinates.x2=a[h].lineCoordinates.x1+a[h].lineThickness/2);a[h].bounds={x1:k-(E[h]+M),y1:r,x2:k-M,y2:n,height:n-r};a[h].bounds.width=a[h].bounds.x2-a[h].bounds.x1;a[h].title&&(a[h]._titleTextBlock.maxWidth=0<a[h].titleMaxWidth&&a[h].titleMaxWidth<a[h].lineCoordinates.height?
677
+ a[h].titleMaxWidth:a[h].lineCoordinates.height);a[h].calculateValueToPixelConversionParameters();a[h].calculateBreaksSizeInValues();M+=E[h]+a[h].margin}if(g&&0<g.length)for(h=0;h<g.length;h++){S=g[h]._labels&&0<g[h]._labels.length?g[h]._labels[0].textBlock.fontSize/2:0;d=Math.round(l.x1-e);r=b&&0<b.length?Math.round(b[0]?b[0].lineCoordinates.y2:l.y1<Math.max(S,10)?Math.max(S,10):l.y1):l.y1<Math.max(S,10)?Math.max(S,10):l.y1;k=Math.round(l.x2-Y-aa);n=c&&0<c.length?Math.round(c[0]?c[0].lineCoordinates.y1:
678
+ l.y2-$>p.height-Math.max(S,10)?p.height-Math.max(S,10):l.y2-$):l.y2>p.height-Math.max(S,10)?p.height-Math.max(S,10):l.y2;if(c&&0<c.length)for(S=0;S<c.length;S++)c[S]&&c[S].labelAutoFit&&(k=0>c[S].labelAngle?Math.max(k,B):0===c[S].labelAngle?Math.max(k,B/2):k,d=0>c[S].labelAngle||0===c[S].labelAngle?k-Y:d);if(b&&0<b.length)for(S=0;S<b.length;S++)b[S]&&b[S].labelAutoFit&&(k=b[S].lineCoordinates.x2,d=k-Y);g[h].lineCoordinates={x1:k+R,y1:r,x2:k+R,y2:n,height:Math.abs(n-r)};"inside"===g[h].labelPlacement&&
679
+ 0<h&&(g[h].lineCoordinates.x1=g[h].lineCoordinates.x1+(t[h]-(g[h]._titleTextBlock?g[h]._titleTextBlock.height:0)-2)-g[h].tickLength-(g[h].stripLineLabelEffectiveWidth||0),g[h].lineCoordinates.x2=g[h].lineCoordinates.x1+g[h].lineThickness/2);"inside"===g[h].tickPlacement&&0<h&&(g[h].lineCoordinates.x1+=g[h].tickLength,g[h].lineCoordinates.x2=g[h].lineCoordinates.x1+g[h].lineThickness/2);g[h].bounds={x1:g[h].lineCoordinates.x1,y1:r,x2:k+t[h]+R,y2:n,width:k-d,height:n-r};g[h].bounds.width=g[h].bounds.x2-
680
+ g[h].bounds.x1;g[h].title&&(g[h]._titleTextBlock.maxWidth=0<g[h].titleMaxWidth&&g[h].titleMaxWidth<g[h].lineCoordinates.height?g[h].titleMaxWidth:g[h].lineCoordinates.height);g[h].calculateValueToPixelConversionParameters();g[h].calculateBreaksSizeInValues();R+=t[h]+g[h].margin}for(h=0;h<s.length;h++)"axisY"===s[h].type&&(s[h].calculateValueToPixelConversionParameters(),s[h].calculateBreaksSizeInValues());if(0<C){if(a&&0<a.length)for(h=0;h<a.length;h++)m=O[C-1][h]===O[C][h]?!0:!1;else m=!0;if(g&&
681
+ 0<g.length)for(h=0;h<g.length;h++)K=P[C-1][h]===P[C][h]?!0:!1;else K=!0;if(c&&0<c.length)for(h=0;h<c.length;h++)Q=F[C-1][h]===F[C][h]?!0:!1;else Q=!0;if(b&&0<b.length)for(h=0;h<b.length;h++)N=u[C-1][h]===u[C][h]?!0:!1;else N=!0}if(m&&K&&Q&&N)break;C++}if(c&&0<c.length)for(h=0;h<c.length;h++)c[h].calculateStripLinesThicknessInValues(),c[h].calculateBreaksInPixels();if(b&&0<b.length)for(h=0;h<b.length;h++)b[h].calculateStripLinesThicknessInValues(),b[h].calculateBreaksInPixels();if(a&&0<a.length)for(h=
682
+ 0;h<a.length;h++)a[h].calculateStripLinesThicknessInValues(),a[h].calculateBreaksInPixels();if(g&&0<g.length)for(h=0;h<g.length;h++)g[h].calculateStripLinesThicknessInValues(),g[h].calculateBreaksInPixels()}};y.render=function(a,g,c,b,e){var l=a[0]?a[0].chart:g[0].chart;e=l.ctx;l.alignVerticalAxes&&l.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);g&&g.length&&e.rect(5,g[g.length-1].bounds.y1,g[0].chart.width-10,g[0].bounds.y2);
683
+ e.clip();if(a&&0<a.length)for(var d=0;d<a.length;d++)a[d].renderLabelsTicksAndTitle();if(g&&0<g.length)for(d=0;d<g.length;d++)g[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();l.preparePlotArea();l=l.plotArea;e.save();e.beginPath();e.rect(l.x1,l.y1,Math.abs(l.x2-l.x1),Math.abs(l.y2-l.y1));e.clip();if(a&&0<a.length)for(d=0;d<a.length;d++)a[d].renderStripLinesOfThicknessType("value");
684
+ if(g&&0<g.length)for(d=0;d<g.length;d++)g[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(g&&0<g.length)for(d=0;d<g.length;d++)g[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();
685
+ e.restore();if(a&&0<a.length)for(d=0;d<a.length;d++)a[d].renderGrid(),t&&(a[d].createMask(),a[d].renderBreaksBackground());if(g&&0<g.length)for(d=0;d<g.length;d++)g[d].renderGrid(),t&&(g[d].createMask(),g[d].renderBreaksBackground());if(c&&0<c.length)for(d=0;d<c.length;d++)c[d].renderGrid(),t&&(c[d].createMask(),c[d].renderBreaksBackground());if(b&&0<b.length)for(d=0;d<b.length;d++)b[d].renderGrid(),t&&(b[d].createMask(),b[d].renderBreaksBackground());if(a&&0<a.length)for(d=0;d<a.length;d++)a[d].renderAxisLine();
686
+ if(g&&0<g.length)for(d=0;d<g.length;d++)g[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(g&&0<g.length)for(d=0;d<g.length;d++)g[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")};
687
+ y.prototype.calculateStripLinesThicknessInValues=function(){for(var a=0;a<this.stripLines.length;a++)if(null!==this.stripLines[a].startValue&&null!==this.stripLines[a].endValue){var g=Math.min(this.stripLines[a].startValue,this.stripLines[a].endValue),c=Math.max(this.stripLines[a].startValue,this.stripLines[a].endValue),b=this.getApparentDifference(g,c);this.stripLines[a].value=this.convertPixelToValue(Math.abs(this.convertValueToPixel(g)+this.convertValueToPixel(c))/2);this.stripLines[a].thickness=
688
+ b;this.stripLines[a]._thicknessType="value"}};y.prototype.calculateBreaksSizeInValues=function(){for(var a="left"===this._position||"right"===this._position?this.lineCoordinates.height||this.chart.height:this.lineCoordinates.width||this.chart.width,g=this.scaleBreaks?this.scaleBreaks._appliedBreaks:[],c=this.conversionParameters.pixelPerUnit||a/(this.logarithmic?this.conversionParameters.maximum/this.conversionParameters.minimum:this.conversionParameters.maximum-this.conversionParameters.minimum),
689
+ b=this.scaleBreaks&&!f(this.scaleBreaks.options.spacing),e,d=0;d<g.length;d++)e=b||!f(g[d].options.spacing),g[d].spacing=Va(g[d].spacing,a,8,e?0.1*a:8,e?0:3)<<0,g[d].size=0>g[d].spacing?0:Math.abs(g[d].spacing/c),this.logarithmic&&(g[d].size=Math.pow(this.logarithmBase,g[d].size))};y.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=
690
+ null);for(var g=0;g<a.length&&!(a[g].startValue>this.conversionParameters.maximum);g++)a[g].endValue<this.conversionParameters.minimum||(f(this.scaleBreaks.firstBreakIndex)&&(this.scaleBreaks.firstBreakIndex=g),a[g].startValue>=this.conversionParameters.minimum&&(a[g].startPixel=this.convertValueToPixel(a[g].startValue),this.scaleBreaks.lastBreakIndex=g),a[g].endValue<=this.conversionParameters.maximum&&(a[g].endPixel=this.convertValueToPixel(a[g].endValue)))}};y.prototype.renderLabelsTicksAndTitle=
691
+ function(){var a=this,g=!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,f,r=this.viewportMaximum,k=this.lineCoordinates.width/Math.log(this.range),n=this._labels.length-1;0<=n;n--){q=this._labels[n];if(q.position<this.viewportMinimum)break;q.position>
692
+ this.viewportMaximum||!(n===this._labels.length-1||f<Math.log(r/q.position)*k/e)||(c.push(q),r=q.position,f=q.textBlock.width*Math.abs(Math.cos(Math.PI/180*this.labelAngle))+q.textBlock.height*Math.abs(Math.sin(Math.PI/180*this.labelAngle)))}this._labels=c}else{for(n=0;n<this._labels.length;n++)q=this._labels[n],q.position<this.viewportMinimum||(f=q.textBlock.width*Math.abs(Math.cos(Math.PI/180*this.labelAngle))+q.textBlock.height*Math.abs(Math.sin(Math.PI/180*this.labelAngle)),c+=f);c>this.lineCoordinates.width*
693
+ e&&this.labelAutoFit&&(g=!0)}if("left"===this._position||"right"===this._position)if(this.logarithmic&&!this.equidistantInterval&&this.labelAutoFit){for(var c=[],p,r=this.viewportMaximum,k=this.lineCoordinates.height/Math.log(this.range),n=this._labels.length-1;0<=n;n--){q=this._labels[n];if(q.position<this.viewportMinimum)break;q.position>this.viewportMaximum||!(n===this._labels.length-1||p<Math.log(r/q.position)*k)||(c.push(q),r=q.position,p=q.textBlock.height*Math.abs(Math.cos(Math.PI/180*this.labelAngle))+
694
+ q.textBlock.width*Math.abs(Math.sin(Math.PI/180*this.labelAngle)))}this._labels=c}else{for(n=0;n<this._labels.length;n++)q=this._labels[n],q.position<this.viewportMinimum||(p=q.textBlock.height*Math.abs(Math.cos(Math.PI/180*this.labelAngle))+q.textBlock.width*Math.abs(Math.sin(Math.PI/180*this.labelAngle)),b+=p);b>this.lineCoordinates.height*e&&this.labelAutoFit&&(g=!0)}}this.logarithmic&&(!this.equidistantInterval&&this.labelAutoFit)&&this._labels.sort(function(a,b){return a.position-b.position});
695
+ var n=0,q,s;if("bottom"===this._position){for(n=0;n<this._labels.length;n++)q=this._labels[n],q.position<this.viewportMinimum||q.position>this.viewportMaximum||(s=this.getPixelCoordinatesOnAxis(q.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()),g&&0!==d++%2&&this.labelAutoFit||
696
+ (0===q.textBlock.angle?(s.x-=q.textBlock.width/2,s.y="inside"===this.labelPlacement?s.y-(("inside"===this.tickPlacement?this.tickLength:0)+q.textBlock.height-q.textBlock.fontSize/2):s.y+("inside"===this.tickPlacement?0:this.tickLength)+q.textBlock.fontSize/2+5):(s.x="inside"===this.labelPlacement?0>this.labelAngle?s.x:s.x-q.textBlock.width*Math.cos(Math.PI/180*this.labelAngle):s.x-(0>this.labelAngle?q.textBlock.width*Math.cos(Math.PI/180*this.labelAngle):0),s.y="inside"===this.labelPlacement?0>this.labelAngle?
697
+ s.y-("inside"===this.tickPlacement?this.tickLength:0)-5:s.y-("inside"===this.tickPlacement?this.tickLength:0)-Math.abs(q.textBlock.width*Math.sin(Math.PI/180*this.labelAngle)+5):s.y+("inside"===this.tickPlacement?0:this.tickLength)+Math.abs(0>this.labelAngle?q.textBlock.width*Math.sin(Math.PI/180*this.labelAngle)-5:5)),q.textBlock.x=s.x,q.textBlock.y=s.y));"inside"===this.tickPlacement&&this.chart.addEventListener("dataAnimationIterationEnd",function(){for(n=0;n<a._labels.length;n++)if(q=a._labels[n],
698
+ !(q.position<a.viewportMinimum||q.position>a.viewportMaximum)&&(s=a.getPixelCoordinatesOnAxis(q.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/
699
+ 2,this._titleTextBlock.y=this.bounds.y2-this._titleTextBlock.height+this._titleTextBlock.fontSize/2-1,this.titleMaxWidth=this._titleTextBlock.maxWidth,this._titleTextBlock.render(!0))}else if("top"===this._position){for(n=0;n<this._labels.length;n++)q=this._labels[n],q.position<this.viewportMinimum||q.position>this.viewportMaximum||(s=this.getPixelCoordinatesOnAxis(q.position),this.tickThickness&&"inside"!=this.tickPlacement&&(this.ctx.lineWidth=this.tickThickness,this.ctx.strokeStyle=this.tickColor,
700
+ 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()),g&&0!==d++%2&&this.labelAutoFit||(0===q.textBlock.angle?(s.x-=q.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)+q.textBlock.height-q.textBlock.fontSize/2)):(s.x="inside"===this.labelPlacement?0<this.labelAngle?
701
+ s.x:s.x-q.textBlock.width*Math.cos(Math.PI/180*this.labelAngle):s.x+(q.textBlock.height-this.labelFontSize)*Math.sin(Math.PI/180*this.labelAngle)-(0<this.labelAngle?q.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-q.textBlock.width*Math.sin(Math.PI/180*this.labelAngle)+("inside"===this.tickPlacement?this.tickLength:0)+5:s.y-(("inside"===this.tickPlacement?0:this.tickLength)+((q.textBlock.height-
702
+ q.textBlock.fontSize/2)*Math.cos(Math.PI/180*this.labelAngle)+(0<this.labelAngle?q.textBlock.width*Math.sin(Math.PI/180*this.labelAngle):0)))),q.textBlock.x=s.x,q.textBlock.y=s.y));"inside"===this.tickPlacement&&this.chart.addEventListener("dataAnimationIterationEnd",function(){for(n=0;n<a._labels.length;n++)if(q=a._labels[n],!(q.position<a.viewportMinimum||q.position>a.viewportMaximum)&&(s=a.getPixelCoordinatesOnAxis(q.position),a.tickThickness)){a.ctx.lineWidth=a.tickThickness;a.ctx.strokeStyle=
703
+ 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/2,this._titleTextBlock.y=this.bounds.y1+this._titleTextBlock.fontSize/2+1,this.titleMaxWidth=this._titleTextBlock.maxWidth,this._titleTextBlock.render(!0))}else if("left"===
704
+ this._position){for(n=0;n<this._labels.length;n++)q=this._labels[n],q.position<this.viewportMinimum||q.position>this.viewportMaximum||(s=this.getPixelCoordinatesOnAxis(q.position),this.tickThickness&&"inside"!=this.tickPlacement&&(this.ctx.lineWidth=this.tickThickness,this.ctx.strokeStyle=this.tickColor,b=1===this.ctx.lineWidth%2?(s.y<<0)+0.5:s.y<<0,this.ctx.beginPath(),this.ctx.moveTo(s.x<<0,b),this.ctx.lineTo(s.x-this.tickLength<<0,b),this.ctx.stroke()),g&&0!==d++%2&&this.labelAutoFit||(0===this.labelAngle?
705
+ (q.textBlock.y=s.y,q.textBlock.x="inside"===this.labelPlacement?s.x+("inside"===this.tickPlacement?this.tickLength:0)+5:s.x-q.textBlock.width*Math.cos(Math.PI/180*this.labelAngle)-("inside"===this.tickPlacement?0:this.tickLength)-5):(q.textBlock.y="inside"===this.labelPlacement?s.y:s.y-q.textBlock.width*Math.sin(Math.PI/180*this.labelAngle),q.textBlock.x="inside"===this.labelPlacement?s.x+("inside"===this.tickPlacement?this.tickLength:0)+5:0<this.labelAngle?s.x-q.textBlock.width*Math.cos(Math.PI/
706
+ 180*this.labelAngle)-("inside"===this.tickPlacement?0:this.tickLength)-5:s.x-q.textBlock.width*Math.cos(Math.PI/180*this.labelAngle)+(q.textBlock.height-q.textBlock.fontSize/2-5)*Math.sin(Math.PI/180*this.labelAngle)-("inside"===this.tickPlacement?0:this.tickLength))));"inside"===this.tickPlacement&&this.chart.addEventListener("dataAnimationIterationEnd",function(){for(n=0;n<a._labels.length;n++)if(q=a._labels[n],!(q.position<a.viewportMinimum||q.position>a.viewportMaximum)&&(s=a.getPixelCoordinatesOnAxis(q.position),
707
+ a.tickThickness)){a.ctx.lineWidth=a.tickThickness;a.ctx.strokeStyle=a.tickColor;var b=1===a.ctx.lineWidth%2?(s.y<<0)+0.5:s.y<<0;a.ctx.save();a.ctx.beginPath();a.ctx.moveTo(s.x<<0,b);a.ctx.lineTo(s.x+a.tickLength<<0,b);a.ctx.stroke();a.ctx.restore()}},this);this.title&&(this._titleTextBlock.measureText(),this._titleTextBlock.x=this.bounds.x1+this._titleTextBlock.fontSize/2+1,this._titleTextBlock.y=this.lineCoordinates.height/2+this._titleTextBlock.width/2+this.lineCoordinates.y1,this.titleMaxWidth=
708
+ this._titleTextBlock.maxWidth,this._titleTextBlock.render(!0))}else if("right"===this._position){for(n=0;n<this._labels.length;n++)q=this._labels[n],q.position<this.viewportMinimum||q.position>this.viewportMaximum||(s=this.getPixelCoordinatesOnAxis(q.position),this.tickThickness&&"inside"!=this.tickPlacement&&(this.ctx.lineWidth=this.tickThickness,this.ctx.strokeStyle=this.tickColor,b=1===this.ctx.lineWidth%2?(s.y<<0)+0.5:s.y<<0,this.ctx.beginPath(),this.ctx.moveTo(s.x<<0,b),this.ctx.lineTo(s.x+this.tickLength<<
709
+ 0,b),this.ctx.stroke()),g&&0!==d++%2&&this.labelAutoFit||(0===this.labelAngle?(q.textBlock.y=s.y,q.textBlock.x="inside"===this.labelPlacement?s.x-q.textBlock.width-("inside"===this.tickPlacement?this.tickLength:0)-5:s.x+("inside"===this.tickPlacement?0:this.tickLength)+5):(q.textBlock.y="inside"===this.labelPlacement?s.y-q.textBlock.width*Math.sin(Math.PI/180*this.labelAngle):0>this.labelAngle?s.y:s.y-(q.textBlock.height-q.textBlock.fontSize/2-5)*Math.cos(Math.PI/180*this.labelAngle),q.textBlock.x=
710
+ "inside"===this.labelPlacement?s.x-q.textBlock.width*Math.cos(Math.PI/180*this.labelAngle)-("inside"===this.tickPlacement?this.tickLength:0)-5:0<this.labelAngle?s.x+(q.textBlock.height-q.textBlock.fontSize/2-5)*Math.sin(Math.PI/180*this.labelAngle)+("inside"===this.tickPlacement?0:this.tickLength):s.x+("inside"===this.tickPlacement?0:this.tickLength)+5)));"inside"===this.tickPlacement&&this.chart.addEventListener("dataAnimationIterationEnd",function(){for(n=0;n<a._labels.length;n++)if(q=a._labels[n],
711
+ !(q.position<a.viewportMinimum||q.position>a.viewportMaximum)&&(s=a.getPixelCoordinatesOnAxis(q.position),a.tickThickness)){a.ctx.lineWidth=a.tickThickness;a.ctx.strokeStyle=a.tickColor;var b=1===a.ctx.lineWidth%2?(s.y<<0)+0.5:s.y<<0;a.ctx.save();a.ctx.beginPath();a.ctx.moveTo(s.x<<0,b);a.ctx.lineTo(s.x-a.tickLength<<0,b);a.ctx.stroke();a.ctx.restore()}},this);this.title&&(this._titleTextBlock.measureText(),this._titleTextBlock.x=this.bounds.x2-this._titleTextBlock.fontSize/2-1,this._titleTextBlock.y=
712
+ this.lineCoordinates.height/2-this._titleTextBlock.width/2+this.lineCoordinates.y1,this.titleMaxWidth=this._titleTextBlock.maxWidth,this._titleTextBlock.render(!0))}d=0;if("inside"===this.labelPlacement)this.chart.addEventListener("dataAnimationIterationEnd",function(){for(n=0;n<a._labels.length;n++)q=a._labels[n],q.position<a.viewportMinimum||(q.position>a.viewportMaximum||g&&0!==d++%2&&a.labelAutoFit)||(a.ctx.save(),a.ctx.beginPath(),q.textBlock.render(!0),a.ctx.restore())},this);else for(n=0;n<
713
+ this._labels.length;n++)q=this._labels[n],q.position<this.viewportMinimum||(q.position>this.viewportMaximum||g&&0!==d++%2&&this.labelAutoFit)||q.textBlock.render(!0)};y.prototype.renderInterlacedColors=function(){var a=this.chart.plotArea.ctx,g,c,b=this.chart.plotArea,e=0;g=!0;if(("bottom"===this._position||"top"===this._position)&&this.interlacedColor)for(a.fillStyle=this.interlacedColor,e=0;e<this._labels.length;e++)g?(g=this.getPixelCoordinatesOnAxis(this._labels[e].position),c=e+1>this._labels.length-
714
+ 1?this.getPixelCoordinatesOnAxis(this.viewportMaximum):this.getPixelCoordinatesOnAxis(this._labels[e+1].position),a.fillRect(Math.min(c.x,g.x),b.y1,Math.abs(c.x-g.x),Math.abs(b.y1-b.y2)),g=!1):g=!0;else if(("left"===this._position||"right"===this._position)&&this.interlacedColor)for(a.fillStyle=this.interlacedColor,e=0;e<this._labels.length;e++)g?(c=this.getPixelCoordinatesOnAxis(this._labels[e].position),g=e+1>this._labels.length-1?this.getPixelCoordinatesOnAxis(this.viewportMaximum):this.getPixelCoordinatesOnAxis(this._labels[e+
715
+ 1].position),a.fillRect(b.x1,Math.min(c.y,g.y),Math.abs(b.x1-b.x2),Math.abs(g.y-c.y)),g=!1):g=!0;a.beginPath()};y.prototype.renderStripLinesOfThicknessType=function(a){if(this.stripLines&&0<this.stripLines.length&&a){var g=this,c,b,e=0,d=0,r=!1;b=!1;for(var k=[],m=[],n=!1,e=0;e<this.stripLines.length;e++){var p=this.stripLines[e];p._thicknessType===a&&("pixel"===a&&(p.value<this.viewportMinimum||p.value>this.viewportMaximum||f(p.value)||isNaN(this.range))||"value"===a&&(p.startValue<=this.viewportMinimum&&
716
+ p.endValue<=this.viewportMinimum||p.startValue>=this.viewportMaximum&&p.endValue>=this.viewportMaximum||f(p.startValue)||f(p.endValue)||isNaN(this.range))||k.push(p))}for(e=0;e<this._stripLineLabels.length;e++)if(p=this.stripLines[e],c=this._stripLineLabels[e],!(c.position<this.viewportMinimum||c.position>this.viewportMaximum||isNaN(this.range)))if(b=this.getPixelCoordinatesOnAxis(c.position),"outside"===c.stripLine.labelPlacement){p&&(this.ctx.strokeStyle=p.color,this.ctx.lineWidth="pixel"===p._thicknessType?
717
+ p.thickness:this.tickThickness);if("bottom"===this._position){var q=1===this.ctx.lineWidth%2?(b.x<<0)+0.5:b.x<<0;this.ctx.beginPath();this.ctx.moveTo(q,b.y<<0);this.ctx.lineTo(q,b.y+this.tickLength<<0);this.ctx.stroke();0===this.labelAngle?(b.x-=c.textBlock.width/2,b.y+=this.tickLength+c.textBlock.fontSize/2+5):(b.x-=0>this.labelAngle?c.textBlock.width*Math.cos(Math.PI/180*this.labelAngle):0,b.y+=this.tickLength+Math.abs(0>this.labelAngle?c.textBlock.width*Math.sin(Math.PI/180*this.labelAngle)-5:
718
+ 5))}else"top"===this._position?(q=1===this.ctx.lineWidth%2?(b.x<<0)+0.5:b.x<<0,this.ctx.beginPath(),this.ctx.moveTo(q,b.y<<0),this.ctx.lineTo(q,b.y-this.tickLength<<0),this.ctx.stroke(),0===this.labelAngle?(b.x-=c.textBlock.width/2,b.y-=this.tickLength+c.textBlock.height-c.textBlock.fontSize/2):(b.x+=(c.textBlock.height-this.tickLength-this.labelFontSize/2)*Math.sin(Math.PI/180*this.labelAngle)-(0<this.labelAngle?c.textBlock.width*Math.cos(Math.PI/180*this.labelAngle):0),b.y-=this.tickLength+(c.textBlock.height*
719
+ Math.cos(Math.PI/180*this.labelAngle)+(0<this.labelAngle?c.textBlock.width*Math.sin(Math.PI/180*this.labelAngle):0)))):"left"===this._position?(q=1===this.ctx.lineWidth%2?(b.y<<0)+0.5:b.y<<0,this.ctx.beginPath(),this.ctx.moveTo(b.x<<0,q),this.ctx.lineTo(b.x-this.tickLength<<0,q),this.ctx.stroke(),0===this.labelAngle?b.x=b.x-c.textBlock.width*Math.cos(Math.PI/180*this.labelAngle)-this.tickLength-5:(b.y-=c.textBlock.width*Math.sin(Math.PI/180*this.labelAngle),b.x=0<this.labelAngle?b.x-c.textBlock.width*
720
+ Math.cos(Math.PI/180*this.labelAngle)-this.tickLength-5:b.x-c.textBlock.width*Math.cos(Math.PI/180*this.labelAngle)+(c.textBlock.height-c.textBlock.fontSize/2-5)*Math.sin(Math.PI/180*this.labelAngle)-this.tickLength)):"right"===this._position&&(q=1===this.ctx.lineWidth%2?(b.y<<0)+0.5:b.y<<0,this.ctx.beginPath(),this.ctx.moveTo(b.x<<0,q),this.ctx.lineTo(b.x+this.tickLength<<0,q),this.ctx.stroke(),0===this.labelAngle?b.x=b.x+this.tickLength+5:(b.y=0>this.labelAngle?b.y:b.y-(c.textBlock.height-c.textBlock.fontSize/
721
+ 2-5)*Math.cos(Math.PI/180*this.labelAngle),b.x=0<this.labelAngle?b.x+(c.textBlock.height-c.textBlock.fontSize/2-5)*Math.sin(Math.PI/180*this.labelAngle)+this.tickLength:b.x+this.tickLength+5));c.textBlock.x=b.x;c.textBlock.y=b.y;m.push(c)}else p._thicknessType===a&&(c.textBlock.angle=-90,"bottom"===this._position?(c.textBlock.maxWidth=this.options.stripLines[e].labelMaxWidth?this.options.stripLines[e].labelMaxWidth:this.chart.plotArea.height-3,c.textBlock.measureText(),b.x-c.textBlock.height-p.thickness/
722
+ 2>this.chart.plotArea.x1?f(p.startValue)?b.x-=c.textBlock.height-c.textBlock.fontSize/2+p.thickness/2:b.x-=c.textBlock.height/2-c.textBlock.fontSize/2:(c.textBlock.angle=90,f(p.startValue)?b.x+=c.textBlock.height-c.textBlock.fontSize/2+p.thickness/2:b.x+=c.textBlock.height/2-c.textBlock.fontSize/2),b.y=-90===c.textBlock.angle?"near"===c.stripLine.labelAlign?this.chart.plotArea.y2-3:"center"===c.stripLine.labelAlign?(this.chart.plotArea.y2+this.chart.plotArea.y1+c.textBlock.width)/2:this.chart.plotArea.y1+
723
+ c.textBlock.width+3:"near"===c.stripLine.labelAlign?this.chart.plotArea.y2-c.textBlock.width-3:"center"===c.stripLine.labelAlign?(this.chart.plotArea.y2+this.chart.plotArea.y1-c.textBlock.width)/2:this.chart.plotArea.y1+3):"top"===this._position?(c.textBlock.maxWidth=this.options.stripLines[e].labelMaxWidth?this.options.stripLines[e].labelMaxWidth:this.chart.plotArea.height-3,c.textBlock.measureText(),b.x-c.textBlock.height-p.thickness/2>this.chart.plotArea.x1?f(p.startValue)?b.x-=c.textBlock.height-
724
+ c.textBlock.fontSize/2+p.thickness/2:b.x-=c.textBlock.height/2-c.textBlock.fontSize/2:(c.textBlock.angle=90,f(p.startValue)?b.x+=c.textBlock.height-c.textBlock.fontSize/2+p.thickness/2:b.x+=c.textBlock.height/2-c.textBlock.fontSize/2),b.y=-90===c.textBlock.angle?"near"===c.stripLine.labelAlign?this.chart.plotArea.y1+c.textBlock.width+3:"center"===c.stripLine.labelAlign?(this.chart.plotArea.y2+this.chart.plotArea.y1+c.textBlock.width)/2:this.chart.plotArea.y2-3:"near"===c.stripLine.labelAlign?this.chart.plotArea.y1+
725
+ 3:"center"===c.stripLine.labelAlign?(this.chart.plotArea.y2+this.chart.plotArea.y1-c.textBlock.width)/2:this.chart.plotArea.y2-c.textBlock.width-3):"left"===this._position?(c.textBlock.maxWidth=this.options.stripLines[e].labelMaxWidth?this.options.stripLines[e].labelMaxWidth:this.chart.plotArea.width-3,c.textBlock.angle=0,c.textBlock.measureText(),b.y-c.textBlock.height-p.thickness/2>this.chart.plotArea.y1?f(p.startValue)?b.y-=c.textBlock.height-c.textBlock.fontSize/2+p.thickness/2:b.y-=c.textBlock.height/
726
+ 2-c.textBlock.fontSize/2:f(p.startValue)?b.y+=c.textBlock.height-c.textBlock.fontSize/2+p.thickness/2:b.y+=c.textBlock.height/2-c.textBlock.fontSize+3,b.x="near"===c.stripLine.labelAlign?this.chart.plotArea.x1+3:"center"===c.stripLine.labelAlign?(this.chart.plotArea.x2+this.chart.plotArea.x1)/2-c.textBlock.width/2:this.chart.plotArea.x2-c.textBlock.width-3):"right"===this._position&&(c.textBlock.maxWidth=this.options.stripLines[e].labelMaxWidth?this.options.stripLines[e].labelMaxWidth:this.chart.plotArea.width-
727
+ 3,c.textBlock.angle=0,c.textBlock.measureText(),b.y-c.textBlock.height-p.thickness/2>this.chart.plotArea.y1?f(p.startValue)?b.y-=c.textBlock.height-c.textBlock.fontSize/2+p.thickness/2:b.y-=c.textBlock.height/2-c.textBlock.fontSize/2:f(p.startValue)?b.y+=c.textBlock.height-c.textBlock.fontSize/2+p.thickness/2:b.y-=c.textBlock.height/2-c.textBlock.fontSize/2+3,b.x="near"===c.stripLine.labelAlign?this.chart.plotArea.x2-c.textBlock.width-3:"center"===c.stripLine.labelAlign?(this.chart.plotArea.x2+this.chart.plotArea.x1)/
728
+ 2-c.textBlock.width/2:this.chart.plotArea.x1+3),c.textBlock.x=b.x,c.textBlock.y=b.y,m.push(c));if(!n){b=!1;this.ctx.save();this.ctx.beginPath();this.ctx.rect(this.chart.plotArea.x1,this.chart.plotArea.y1,this.chart.plotArea.width,this.chart.plotArea.height);this.ctx.clip();for(e=0;e<k.length;e++)p=k[e],p.showOnTop?r||(r=!0,this.chart.addEventListener("dataAnimationIterationEnd",function(){this.ctx.save();this.ctx.beginPath();this.ctx.rect(this.chart.plotArea.x1,this.chart.plotArea.y1,this.chart.plotArea.width,
729
+ this.chart.plotArea.height);this.ctx.clip();for(d=0;d<k.length;d++)p=k[d],p.showOnTop&&p.render();this.ctx.restore()},p)):p.render();for(e=0;e<m.length;e++)c=m[e],c.stripLine.showOnTop?b||(b=!0,this.chart.addEventListener("dataAnimationIterationEnd",function(){for(d=0;d<m.length;d++)c=m[d],"inside"===c.stripLine.labelPlacement&&c.stripLine.showOnTop&&(g.ctx.save(),g.ctx.beginPath(),g.ctx.rect(g.chart.plotArea.x1,g.chart.plotArea.y1,g.chart.plotArea.width,g.chart.plotArea.height),g.ctx.clip(),c.textBlock.render(!0),
730
+ g.ctx.restore())},c.textBlock)):"inside"===c.stripLine.labelPlacement&&c.textBlock.render(!0);this.ctx.restore();n=!0}if(n)for(b=!1,e=0;e<m.length;e++)c=m[e],"outside"===c.stripLine.labelPlacement&&c.textBlock.render(!0)}};y.prototype.renderBreaksBackground=function(){this.chart._breaksCanvas&&(this.scaleBreaks&&0<this.scaleBreaks._appliedBreaks.length&&this.maskCanvas)&&(this.chart._breaksCanvasCtx.save(),this.chart._breaksCanvasCtx.beginPath(),this.chart._breaksCanvasCtx.rect(this.chart.plotArea.x1,
731
+ this.chart.plotArea.y1,this.chart.plotArea.width,this.chart.plotArea.height),this.chart._breaksCanvasCtx.clip(),this.chart._breaksCanvasCtx.drawImage(this.maskCanvas,0,0,this.chart.width,this.chart.height),this.chart._breaksCanvasCtx.restore())};y.prototype.createMask=function(){if(this.scaleBreaks&&0<this.scaleBreaks._appliedBreaks.length){var a=this.scaleBreaks._appliedBreaks;t?(this.maskCanvas=ra(this.chart.width,this.chart.height),this.maskCtx=this.maskCanvas.getContext("2d")):(this.maskCanvas=
732
+ this.chart.plotArea.canvas,this.maskCtx=this.chart.plotArea.ctx);this.maskCtx.save();this.maskCtx.beginPath();this.maskCtx.rect(this.chart.plotArea.x1,this.chart.plotArea.y1,this.chart.plotArea.width,this.chart.plotArea.height);this.maskCtx.clip();for(var g=0;g<a.length;g++)a[g].endValue<this.viewportMinimum||(a[g].startValue>this.viewportMaximum||isNaN(this.range))||a[g].render(this.maskCtx);this.maskCtx.restore()}};y.prototype.renderCrosshair=function(a,g){isFinite(this.minimum)&&isFinite(this.maximum)&&
733
+ this.crosshair.render(a,g)};y.prototype.showCrosshair=function(a){f(a)||(a<this.viewportMinimum||a>this.viewportMaximum)||("top"===this._position||"bottom"===this._position?this.crosshair.render(this.convertValueToPixel(a),null,a):this.crosshair.render(null,this.convertValueToPixel(a),a))};y.prototype.renderGrid=function(){if(this.gridThickness&&0<this.gridThickness){var a=this.chart.ctx;a.save();var g,c=this.chart.plotArea;a.lineWidth=this.gridThickness;a.strokeStyle=this.gridColor;a.setLineDash&&
734
+ a.setLineDash(X(this.gridDashType,this.gridThickness));if("bottom"===this._position||"top"===this._position)for(b=0;b<this._labels.length;b++)this._labels[b].position<this.viewportMinimum||(this._labels[b].position>this.viewportMaximum||this._labels[b].breaksLabelType)||(a.beginPath(),g=this.getPixelCoordinatesOnAxis(this._labels[b].position),g=1===a.lineWidth%2?(g.x<<0)+0.5:g.x<<0,a.moveTo(g,c.y1<<0),a.lineTo(g,c.y2<<0),a.stroke());else if("left"===this._position||"right"===this._position)for(var b=
735
+ 0;b<this._labels.length;b++)this._labels[b].position<this.viewportMinimum||(this._labels[b].position>this.viewportMaximum||this._labels[b].breaksLabelType)||(a.beginPath(),g=this.getPixelCoordinatesOnAxis(this._labels[b].position),g=1===a.lineWidth%2?(g.y<<0)+0.5:g.y<<0,a.moveTo(c.x1<<0,g),a.lineTo(c.x2<<0,g),a.stroke());a.restore()}};y.prototype.renderAxisLine=function(){var a=this.chart.ctx,g=t?this.chart._preRenderCtx:a,c=Math.ceil(this.tickThickness/(this.reversed?-2:2)),b=Math.ceil(this.tickThickness/
736
+ (this.reversed?2:-2)),e,d;g.save();if("bottom"===this._position||"top"===this._position){if(this.lineThickness){this.reversed?(e=this.lineCoordinates.x2,d=this.lineCoordinates.x1):(e=this.lineCoordinates.x1,d=this.lineCoordinates.x2);g.lineWidth=this.lineThickness;g.strokeStyle=this.lineColor?this.lineColor:"black";g.setLineDash&&g.setLineDash(X(this.lineDashType,this.lineThickness));var r=1===this.lineThickness%2?(this.lineCoordinates.y1<<0)+0.5:this.lineCoordinates.y1<<0;g.beginPath();if(this.scaleBreaks&&
737
+ !f(this.scaleBreaks.firstBreakIndex))if(f(this.scaleBreaks.lastBreakIndex))e=this.scaleBreaks._appliedBreaks[this.scaleBreaks.firstBreakIndex].endPixel+b;else for(var k=this.scaleBreaks.firstBreakIndex;k<=this.scaleBreaks.lastBreakIndex;k++)g.moveTo(e,r),g.lineTo(this.scaleBreaks._appliedBreaks[k].startPixel+c,r),e=this.scaleBreaks._appliedBreaks[k].endPixel+b;e&&(g.moveTo(e,r),g.lineTo(d,r));g.stroke()}}else if(("left"===this._position||"right"===this._position)&&this.lineThickness){this.reversed?
738
+ (e=this.lineCoordinates.y1,d=this.lineCoordinates.y2):(e=this.lineCoordinates.y2,d=this.lineCoordinates.y1);g.lineWidth=this.lineThickness;g.strokeStyle=this.lineColor;g.setLineDash&&g.setLineDash(X(this.lineDashType,this.lineThickness));r=1===this.lineThickness%2?(this.lineCoordinates.x1<<0)+0.5:this.lineCoordinates.x1<<0;g.beginPath();if(this.scaleBreaks&&!f(this.scaleBreaks.firstBreakIndex))if(f(this.scaleBreaks.lastBreakIndex))e=this.scaleBreaks._appliedBreaks[this.scaleBreaks.firstBreakIndex].endPixel+
739
739
  c;else for(k=this.scaleBreaks.firstBreakIndex;k<=this.scaleBreaks.lastBreakIndex;k++)g.moveTo(r,e),g.lineTo(r,this.scaleBreaks._appliedBreaks[k].startPixel+b),e=this.scaleBreaks._appliedBreaks[k].endPixel+c;e&&(g.moveTo(r,e),g.lineTo(r,d));g.stroke()}t&&(a.drawImage(this.chart._preRenderCanvas,0,0,this.chart.width,this.chart.height),this.chart._breaksCanvasCtx&&this.chart._breaksCanvasCtx.drawImage(this.chart._preRenderCanvas,0,0,this.chart.width,this.chart.height),g.clearRect(0,0,this.chart.width,
740
740
  this.chart.height));g.restore()};y.prototype.getPixelCoordinatesOnAxis=function(a){var g={};if("bottom"===this._position||"top"===this._position)g.x=this.convertValueToPixel(a),g.y=this.lineCoordinates.y1;if("left"===this._position||"right"===this._position)g.y=this.convertValueToPixel(a),g.x=this.lineCoordinates.x2;return g};y.prototype.convertPixelToValue=function(a){if("undefined"===typeof a)return null;var g=0,c=0,b,g=!0,e=this.scaleBreaks?this.scaleBreaks._appliedBreaks:[],c="number"===typeof a?
741
741
  a:"left"===this._position||"right"===this._position?a.y:a.x;if(this.logarithmic){a=b=Math.pow(this.logarithmBase,(c-this.conversionParameters.reference)/this.conversionParameters.pixelPerUnit);if(c<=this.conversionParameters.reference===("left"===this._position||"right"===this._position)!==this.reversed)for(c=0;c<e.length;c++){if(!(e[c].endValue<this.conversionParameters.minimum))if(g)if(e[c].startValue<this.conversionParameters.minimum){if(1<e[c].size&&this.conversionParameters.minimum*Math.pow(e[c].endValue/
@@ -804,15 +804,15 @@ Math.LN10),b=a/Math.pow(10,c),b=d?1.5>b?1:3>b?2:7>b?5:10:1>=b?1:2>=b?2:5>=b?5:10
804
804
  a.getDay()||0<a.getHours()||0<a.getMinutes()||0<a.getSeconds()||0<a.getMilliseconds())a.setDate(a.getDate()+(7-a.getDay())),a.setHours(0),a.setMinutes(0),a.setSeconds(0),a.setMilliseconds(0)}else if("month"===this.intervalType){if(1<a.getDate()||0<a.getHours()||0<a.getMinutes()||0<a.getSeconds()||0<a.getMilliseconds())a.setMonth(a.getMonth()+1),a.setDate(1),a.setHours(0),a.setMinutes(0),a.setSeconds(0),a.setMilliseconds(0)}else"year"===this.intervalType&&(0<a.getMonth()||1<a.getDate()||0<a.getHours()||
805
805
  0<a.getMinutes()||0<a.getSeconds()||0<a.getMilliseconds())&&(a.setFullYear(a.getFullYear()+1),a.setMonth(0),a.setDate(1),a.setHours(0),a.setMinutes(0),a.setSeconds(0),a.setMilliseconds(0));return a};ga(M,ba);ga(T,ba);T.prototype.createUserOptions=function(a){if("undefined"!==typeof a||this.options._isPlaceholder){var d=0;this.parent.options._isPlaceholder&&this.parent.createUserOptions();this.options._isPlaceholder||(Da(this.parent[this.optionsName]),d=this.parent.options[this.optionsName].indexOf(this.options));
806
806
  this.options="undefined"===typeof a?{}:a;this.parent.options[this.optionsName][d]=this.options}};T.prototype.render=function(a){if(0!==this.spacing||0!==this.options.lineThickness&&("undefined"!==typeof this.options.lineThickness||0!==this.parent.lineThickness)){var d=this.ctx,c=this.ctx.globalAlpha;this.ctx=a||this.ctx;this.ctx.save();this.ctx.beginPath();this.ctx.rect(this.chart.plotArea.x1,this.chart.plotArea.y1,this.chart.plotArea.width,this.chart.plotArea.height);this.ctx.clip();var b=this.scaleBreaks.parent.getPixelCoordinatesOnAxis(this.startValue),
807
- e=this.scaleBreaks.parent.getPixelCoordinatesOnAxis(this.endValue);this.ctx.strokeStyle=this.lineColor;this.ctx.fillStyle=this.color;this.ctx.beginPath();this.ctx.globalAlpha=1;R(this.id);var l,f,r,k,n,p;a=Math.max(this.spacing,3);var q=Math.max(0,this.lineThickness);this.ctx.lineWidth=q;this.ctx.setLineDash&&this.ctx.setLineDash(X(this.lineDashType,q));if("bottom"===this.scaleBreaks.parent._position||"top"===this.scaleBreaks.parent._position)if(b=1===q%2?(b.x<<0)+0.5:b.x<<0,f=1===q%2?(e.x<<0)+0.5:
808
- e.x<<0,"top"===this.scaleBreaks.parent._position?(e=this.chart.plotArea.y1,r=this.chart.plotArea.y2+q/2+0.5<<0):(e=this.chart.plotArea.y2,r=this.chart.plotArea.y1-q/2+0.5<<0,a*=-1),this.bounds={x1:b-q/2,y1:e,x2:f+q/2,y2:r},this.ctx.moveTo(b,e),"straight"===this.type||"top"===this.scaleBreaks.parent._position&&0>=a||"bottom"===this.scaleBreaks.parent._position&&0<=a)this.ctx.lineTo(b,r),this.ctx.lineTo(f,r),this.ctx.lineTo(f,e);else if("wavy"===this.type){k=b;n=e;l=0.5;p=(r-n)/a/3;for(var s=0;s<p;s++)this.ctx.bezierCurveTo(k+
809
- l*a,n+a,k+l*a,n+2*a,k,n+3*a),n+=3*a,l*=-1;this.ctx.bezierCurveTo(k+l*a,n+a,k+l*a,n+2*a,k,n+3*a);k=f;l*=-1;this.ctx.lineTo(k,n);for(s=0;s<p;s++)this.ctx.bezierCurveTo(k+l*a,n-a,k+l*a,n-2*a,k,n-3*a),n-=3*a,l*=-1}else{if("zigzag"===this.type){l=-1;n=e+a;k=b+a;p=(r-n)/a/2;for(s=0;s<p;s++)this.ctx.lineTo(k,n),k+=2*l*a,n+=2*a,l*=-1;this.ctx.lineTo(k,n);k+=f-b;for(s=0;s<p+1;s++)this.ctx.lineTo(k,n),k+=2*l*a,n-=2*a,l*=-1;this.ctx.lineTo(k+l*a,n+a)}}else if("left"===this.scaleBreaks.parent._position||"right"===
810
- this.scaleBreaks.parent._position)if(e=1===q%2?(e.y<<0)+0.5:e.y<<0,r=1===q%2?(b.y<<0)+0.5:b.y<<0,"left"===this.scaleBreaks.parent._position?(b=this.chart.plotArea.x1,f=this.chart.plotArea.x2+q/2+0.5<<0):(b=this.chart.plotArea.x2,f=this.chart.plotArea.x1-q/2+0.5<<0,a*=-1),this.bounds={x1:b,y1:e-q/2,x2:f,y2:r+q/2},this.ctx.moveTo(b,e),"straight"===this.type||"left"===this.scaleBreaks.parent._position&&0>=a||"right"===this.scaleBreaks.parent._position&&0<=a)this.ctx.lineTo(f,e),this.ctx.lineTo(f,r),
811
- this.ctx.lineTo(b,r);else if("wavy"===this.type){k=b;n=e;l=0.5;p=(f-k)/a/3;for(s=0;s<p;s++)this.ctx.bezierCurveTo(k+a,n+l*a,k+2*a,n+l*a,k+3*a,n),k+=3*a,l*=-1;this.ctx.bezierCurveTo(k+a,n+l*a,k+2*a,n+l*a,k+3*a,n);n=r;l*=-1;this.ctx.lineTo(k,n);for(s=0;s<p;s++)this.ctx.bezierCurveTo(k-a,n+l*a,k-2*a,n+l*a,k-3*a,n),k-=3*a,l*=-1}else if("zigzag"===this.type){l=1;n=e-a;k=b+a;p=(f-k)/a/2;for(s=0;s<p;s++)this.ctx.lineTo(k,n),n+=2*l*a,k+=2*a,l*=-1;this.ctx.lineTo(k,n);n+=r-e;for(s=0;s<p+1;s++)this.ctx.lineTo(k,
812
- n),n+=2*l*a,k-=2*a,l*=-1;this.ctx.lineTo(k+a,n+l*a)}0<q&&this.ctx.stroke();this.ctx.closePath();this.ctx.globalAlpha=this.fillOpacity;this.ctx.globalCompositeOperation="destination-over";this.ctx.fill();this.ctx.restore();this.ctx.globalAlpha=c;this.ctx=d}};ga(N,ba);N.prototype.createUserOptions=function(a){if("undefined"!==typeof a||this.options._isPlaceholder){var d=0;this.parent.options._isPlaceholder&&this.parent.createUserOptions();this.options._isPlaceholder||(Da(this.parent.stripLines),d=this.parent.options.stripLines.indexOf(this.options));
807
+ e=this.scaleBreaks.parent.getPixelCoordinatesOnAxis(this.endValue);this.ctx.strokeStyle=this.lineColor;this.ctx.fillStyle=this.color;this.ctx.beginPath();this.ctx.globalAlpha=1;R(this.id);var f,r,k,m,n,p;a=Math.max(this.spacing,3);var q=Math.max(0,this.lineThickness);this.ctx.lineWidth=q;this.ctx.setLineDash&&this.ctx.setLineDash(X(this.lineDashType,q));if("bottom"===this.scaleBreaks.parent._position||"top"===this.scaleBreaks.parent._position)if(b=1===q%2?(b.x<<0)+0.5:b.x<<0,r=1===q%2?(e.x<<0)+0.5:
808
+ e.x<<0,"top"===this.scaleBreaks.parent._position?(e=this.chart.plotArea.y1,k=this.chart.plotArea.y2+q/2+0.5<<0):(e=this.chart.plotArea.y2,k=this.chart.plotArea.y1-q/2+0.5<<0,a*=-1),this.bounds={x1:b-q/2,y1:e,x2:r+q/2,y2:k},this.ctx.moveTo(b,e),"straight"===this.type||"top"===this.scaleBreaks.parent._position&&0>=a||"bottom"===this.scaleBreaks.parent._position&&0<=a)this.ctx.lineTo(b,k),this.ctx.lineTo(r,k),this.ctx.lineTo(r,e);else if("wavy"===this.type){m=b;n=e;f=0.5;p=(k-n)/a/3;for(var s=0;s<p;s++)this.ctx.bezierCurveTo(m+
809
+ f*a,n+a,m+f*a,n+2*a,m,n+3*a),n+=3*a,f*=-1;this.ctx.bezierCurveTo(m+f*a,n+a,m+f*a,n+2*a,m,n+3*a);m=r;f*=-1;this.ctx.lineTo(m,n);for(s=0;s<p;s++)this.ctx.bezierCurveTo(m+f*a,n-a,m+f*a,n-2*a,m,n-3*a),n-=3*a,f*=-1}else{if("zigzag"===this.type){f=-1;n=e+a;m=b+a;p=(k-n)/a/2;for(s=0;s<p;s++)this.ctx.lineTo(m,n),m+=2*f*a,n+=2*a,f*=-1;this.ctx.lineTo(m,n);m+=r-b;for(s=0;s<p+1;s++)this.ctx.lineTo(m,n),m+=2*f*a,n-=2*a,f*=-1;this.ctx.lineTo(m+f*a,n+a)}}else if("left"===this.scaleBreaks.parent._position||"right"===
810
+ this.scaleBreaks.parent._position)if(e=1===q%2?(e.y<<0)+0.5:e.y<<0,k=1===q%2?(b.y<<0)+0.5:b.y<<0,"left"===this.scaleBreaks.parent._position?(b=this.chart.plotArea.x1,r=this.chart.plotArea.x2+q/2+0.5<<0):(b=this.chart.plotArea.x2,r=this.chart.plotArea.x1-q/2+0.5<<0,a*=-1),this.bounds={x1:b,y1:e-q/2,x2:r,y2:k+q/2},this.ctx.moveTo(b,e),"straight"===this.type||"left"===this.scaleBreaks.parent._position&&0>=a||"right"===this.scaleBreaks.parent._position&&0<=a)this.ctx.lineTo(r,e),this.ctx.lineTo(r,k),
811
+ this.ctx.lineTo(b,k);else if("wavy"===this.type){m=b;n=e;f=0.5;p=(r-m)/a/3;for(s=0;s<p;s++)this.ctx.bezierCurveTo(m+a,n+f*a,m+2*a,n+f*a,m+3*a,n),m+=3*a,f*=-1;this.ctx.bezierCurveTo(m+a,n+f*a,m+2*a,n+f*a,m+3*a,n);n=k;f*=-1;this.ctx.lineTo(m,n);for(s=0;s<p;s++)this.ctx.bezierCurveTo(m-a,n+f*a,m-2*a,n+f*a,m-3*a,n),m-=3*a,f*=-1}else if("zigzag"===this.type){f=1;n=e-a;m=b+a;p=(r-m)/a/2;for(s=0;s<p;s++)this.ctx.lineTo(m,n),n+=2*f*a,m+=2*a,f*=-1;this.ctx.lineTo(m,n);n+=k-e;for(s=0;s<p+1;s++)this.ctx.lineTo(m,
812
+ n),n+=2*f*a,m-=2*a,f*=-1;this.ctx.lineTo(m+a,n+f*a)}0<q&&this.ctx.stroke();this.ctx.closePath();this.ctx.globalAlpha=this.fillOpacity;this.ctx.globalCompositeOperation="destination-over";this.ctx.fill();this.ctx.restore();this.ctx.globalAlpha=c;this.ctx=d}};ga(N,ba);N.prototype.createUserOptions=function(a){if("undefined"!==typeof a||this.options._isPlaceholder){var d=0;this.parent.options._isPlaceholder&&this.parent.createUserOptions();this.options._isPlaceholder||(Da(this.parent.stripLines),d=this.parent.options.stripLines.indexOf(this.options));
813
813
  this.options="undefined"===typeof a?{}:a;this.parent.options.stripLines[d]=this.options}};N.prototype.render=function(){this.ctx.save();var a=this.parent.getPixelCoordinatesOnAxis(this.value),d=Math.abs("pixel"===this._thicknessType?this.thickness:Math.abs(this.parent.convertValueToPixel(this.endValue)-this.parent.convertValueToPixel(this.startValue)));if(0<d){var c=null===this.opacity?1:this.opacity;this.ctx.strokeStyle=this.color;this.ctx.beginPath();var b=this.ctx.globalAlpha;this.ctx.globalAlpha=
814
- c;R(this.id);var e,l,f,r;this.ctx.lineWidth=d;this.ctx.setLineDash&&this.ctx.setLineDash(X(this.lineDashType,d));if("bottom"===this.parent._position||"top"===this.parent._position)e=l=1===this.ctx.lineWidth%2?(a.x<<0)+0.5:a.x<<0,f=this.chart.plotArea.y1,r=this.chart.plotArea.y2,this.bounds={x1:e-d/2,y1:f,x2:l+d/2,y2:r};else if("left"===this.parent._position||"right"===this.parent._position)f=r=1===this.ctx.lineWidth%2?(a.y<<0)+0.5:a.y<<0,e=this.chart.plotArea.x1,l=this.chart.plotArea.x2,this.bounds=
815
- {x1:e,y1:f-d/2,x2:l,y2:r+d/2};this.ctx.moveTo(e,f);this.ctx.lineTo(l,r);this.ctx.stroke();this.ctx.globalAlpha=b}this.ctx.restore()};ga(Y,ba);Y.prototype.showAt=function(a){if(!this.enabled)return!1;var d=this.chart,c=!1;d.resetOverlayedCanvas();d.clearedOverlayedCanvas=this.parent.type;this.chart.renderCrosshairs(this.parent);if("xySwapped"===d.plotInfo.axisPlacement)if("bottom"===this.parent._position)for(var b=0;b<d.axisY.length;b++)this.parent===d.axisY[b]&&(d.axisY[b]._crosshairValue=a>=d.axisY[b].viewportMinimum&&
814
+ c;R(this.id);var e,f,r,k;this.ctx.lineWidth=d;this.ctx.setLineDash&&this.ctx.setLineDash(X(this.lineDashType,d));if("bottom"===this.parent._position||"top"===this.parent._position)e=f=1===this.ctx.lineWidth%2?(a.x<<0)+0.5:a.x<<0,r=this.chart.plotArea.y1,k=this.chart.plotArea.y2,this.bounds={x1:e-d/2,y1:r,x2:f+d/2,y2:k};else if("left"===this.parent._position||"right"===this.parent._position)r=k=1===this.ctx.lineWidth%2?(a.y<<0)+0.5:a.y<<0,e=this.chart.plotArea.x1,f=this.chart.plotArea.x2,this.bounds=
815
+ {x1:e,y1:r-d/2,x2:f,y2:k+d/2};this.ctx.moveTo(e,r);this.ctx.lineTo(f,k);this.ctx.stroke();this.ctx.globalAlpha=b}this.ctx.restore()};ga(Y,ba);Y.prototype.showAt=function(a){if(!this.enabled)return!1;var d=this.chart,c=!1;d.resetOverlayedCanvas();d.clearedOverlayedCanvas=this.parent.type;this.chart.renderCrosshairs(this.parent);if("xySwapped"===d.plotInfo.axisPlacement)if("bottom"===this.parent._position)for(var b=0;b<d.axisY.length;b++)this.parent===d.axisY[b]&&(d.axisY[b]._crosshairValue=a>=d.axisY[b].viewportMinimum&&
816
816
  a<=d.axisY[b].viewportMaximum?a:null);else if("top"===this.parent._position)for(b=0;b<d.axisY2.length;b++)this.parent===d.axisY2[b]&&(d.axisY2[b]._crosshairValue=a>=d.axisY2[b].viewportMinimum&&a<=d.axisY2[b].viewportMaximum?a:null);else if("left"===this.parent._position)for(b=0;b<d.axisX.length;b++)this.parent===d.axisX[b]&&(d.axisX[b]._crosshairValue=a>=d.axisX[b].viewportMinimum&&a<=d.axisX[b].viewportMaximum?a:null);else{if("right"===this.parent._position)for(b=0;b<d.axisX2.length;b++)this.parent===
817
817
  d.axisX2[b]&&(d.axisX2[b]._crosshairValue=a>=d.axisX2[b].viewportMinimum&&a<=d.axisX2[b].viewportMaximum?a:null)}else if("bottom"===this.parent._position)for(b=0;b<d.axisX.length;b++)this.parent===d.axisX[b]&&(d.axisX[b]._crosshairValue=a>=d.axisX[b].viewportMinimum&&a<=d.axisX[b].viewportMaximum?a:null);else if("top"===this.parent._position)for(b=0;b<d.axisX2.length;b++)this.parent===d.axisX2[b]&&(d.axisX2[b]._crosshairValue=a>=d.axisX2[b].viewportMinimum&&a<=d.axisX2[b].viewportMaximum?a:null);
818
818
  else if("left"===this.parent._position)for(b=0;b<d.axisY.length;b++)this.parent===d.axisY[b]&&(d.axisY[b]._crosshairValue=a>=d.axisY[b].viewportMinimum&&a<=d.axisY[b].viewportMaximum?a:null);else if("right"===this.parent._position)for(b=0;b<d.axisY2.length;b++)this.parent===d.axisY2[b]&&(d.axisY2[b]._crosshairValue=a>=d.axisY2[b].viewportMinimum&&a<=d.axisY2[b].viewportMaximum?a:null);for(b=0;b<d.axisX.length;b++)a=d.axisX[b]._crosshairValue,d.axisX[b].crosshair&&(d.axisX[b].crosshair.enabled&&!f(a)&&
@@ -823,34 +823,34 @@ d.axisY[b].crosshair&&(d.axisY[b].crosshair.enabled&&!f(a)&&a>=d.axisY[b].viewpo
823
823
  this.thickness),h=this.chart.overlaidCanvasCtx,C=h.globalAlpha;h.beginPath();h.strokeStyle=this.color;h.lineWidth=s;h.save();this.labelFontSize=Math.abs(f(this.options.labelFontSize)?this.parent.labelFontSize:this.labelFontSize);this.labelMaxWidth=f(this.options.labelMaxWidth)?0.3*this.chart.width:this.labelMaxWidth;this.labelMaxHeight=f(this.options.labelWrap)||this.labelWrap?0.3*this.chart.height:2*this.labelFontSize;0<s&&h.setLineDash&&h.setLineDash(X(this.lineDashType,s));n=new la(h,{x:0,y:0,
824
824
  padding:{top:2,right:3,bottom:2,left:4},backgroundColor:this.labelBackgroundColor,borderColor:this.labelBorderColor,borderThickness:this.labelBorderThickness,cornerRadius:this.labelCornerRadius,maxWidth:this.labelMaxWidth,maxHeight:this.labelMaxHeight,angle:this.labelAngle,text:p,horizontalAlign:"left",fontSize:this.labelFontSize,fontFamily:this.labelFontFamily,fontWeight:this.labelFontWeight,fontColor:this.labelFontColor,fontStyle:this.labelFontStyle,textBaseline:"middle"});if(this.snapToDataPoint){var t=
825
825
  0,p=[];if("xySwapped"===this.chart.plotInfo.axisPlacement){var B=null;if("bottom"===this.parent._position||"top"===this.parent._position)t=this.parent.dataSeries[0].axisX.convertPixelToValue({y:d});else if("left"===this.parent._position||"right"===this.parent._position)t=this.parent.convertPixelToValue({y:d});for(var u=0;u<this.parent.dataSeries.length;u++)(B=this.parent.dataSeries[u].getDataPointAtX(t,!0))&&0<=B.index&&(B.dataSeries=this.parent.dataSeries[u],null!==B.dataPoint.y&&B.dataSeries.visible&&
826
- p.push(B));B=null;if(0===p.length)return;p.sort(function(a,b){return a.distance-b.distance});var v=B=0;yPercent=cumulativeY=0;for(var t=Infinity,w,u=0;u<p.length;u++){if("rangeBar"===p[u].dataSeries.type||"error"===p[u].dataSeries.type){if(p[u].dataPoint.y)for(var A=0;A<p[u].dataPoint.y.length;A++)v=Math.abs(a-this.parent.convertValueToPixel(p[u].dataPoint.y[A])),v<=t&&(t=v,B=u)}else"stackedBar"===p[u].dataSeries.type?(cumulativeY=p[u].dataSeries.dataPointEOs[p[u].index].cumulativeY,v=Math.abs(a-
827
- this.parent.convertValueToPixel(cumulativeY)),v<=t&&(t=v,B=u)):"stackedBar100"===p[u].dataSeries.type?(v=p[0].dataPoint.x.getTime?p[0].dataPoint.x.getTime():p[0].dataPoint.x,f(w)&&(w=Math.abs(a-this.parent.convertValueToPixel(100*(p[0].dataSeries.dataPointEOs[p[0].index].cumulativeY/p[0].dataSeries.plotUnit.dataPointYSums[v])))),cumulativeY=p[u].dataSeries.dataPointEOs[p[u].index].cumulativeY,v=p[u].dataPoint.x.getTime?p[u].dataPoint.x.getTime():p[u].dataPoint.x,yPercent=100*(cumulativeY/p[u].dataSeries.plotUnit.dataPointYSums[v]),
828
- v=Math.abs(a-this.parent.convertValueToPixel(yPercent)),v<=w&&(w=v,B=u)):(v=Math.abs(a-this.parent.convertValueToPixel(p[u].dataPoint.y)),v<=t&&(t=v,B=u));f(w)||(t=Math.min(t,w))}w=p[B];u=0;if("bottom"===this.parent._position||"top"===this.parent._position){if("rangeBar"===w.dataSeries.type||"error"===w.dataSeries.type){t=Math.abs(a-this.parent.convertValueToPixel(w.dataPoint.y[0]));for(p=0;p<w.dataPoint.y.length;p++)v=Math.abs(a-this.parent.convertValueToPixel(w.dataPoint.y[p])),v<t&&(t=v,u=p);k=
829
- 1===h.lineWidth%2?(this.parent.convertValueToPixel(w.dataPoint.y[u])<<0)+0.5:this.parent.convertValueToPixel(w.dataPoint.y[u])<<0;this.value=w.dataPoint.y[u];n.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:w.dataPoint.y[u]}):f(this.options.label)?ca(f(c)?w.dataPoint.y[u]:c,this.valueFormatString,this.chart._cultureInfo):this.label}else"stackedBar"===w.dataSeries.type?(t=Math.abs(a-this.parent.convertValueToPixel(p[0].dataPoint.y)),
830
- cumulativeY=w.dataSeries.dataPointEOs[w.index].cumulativeY,k=1===h.lineWidth%2?(this.parent.convertValueToPixel(cumulativeY)<<0)+0.5:this.parent.convertValueToPixel(cumulativeY)<<0,this.value=cumulativeY,n.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:w.dataPoint.y}):f(this.options.label)?ca(f(c)?w.dataPoint.y:c,this.valueFormatString,this.chart._cultureInfo):this.label):"stackedBar100"===w.dataSeries.type?(t=Math.abs(a-this.parent.convertValueToPixel(p[0].dataPoint.y)),
831
- cumulativeY=w.dataSeries.dataPointEOs[w.index].cumulativeY,v=w.dataPoint.x.getTime?w.dataPoint.x.getTime():w.dataPoint.x,yPercent=100*(cumulativeY/w.dataSeries.plotUnit.dataPointYSums[v]),k=1===h.lineWidth%2?(this.parent.convertValueToPixel(yPercent)<<0)+0.5:this.parent.convertValueToPixel(yPercent)<<0,this.value=yPercent,n.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:yPercent}):f(this.options.label)?ca(f(c)?yPercent:c,this.valueFormatString,
832
- this.chart._cultureInfo):this.label):(k=1===h.lineWidth%2?(this.parent.convertValueToPixel(w.dataPoint.y)<<0)+0.5:this.parent.convertValueToPixel(w.dataPoint.y)<<0,this.value=w.dataPoint.y,n.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:w.dataPoint.y}):f(this.options.label)?ca(f(c)?w.dataPoint.y:c,this.valueFormatString,this.chart._cultureInfo):this.label);b=e=k;l=this.chart.plotArea.y1;r=this.chart.plotArea.y2;this.bounds={x1:b-
826
+ p.push(B));B=null;if(0===p.length)return;p.sort(function(a,b){return a.distance-b.distance});var w=B=0;yPercent=cumulativeY=0;for(var t=Infinity,v,u=0;u<p.length;u++){if("rangeBar"===p[u].dataSeries.type||"error"===p[u].dataSeries.type){if(p[u].dataPoint.y)for(var A=0;A<p[u].dataPoint.y.length;A++)w=Math.abs(a-this.parent.convertValueToPixel(p[u].dataPoint.y[A])),w<=t&&(t=w,B=u)}else"stackedBar"===p[u].dataSeries.type?(cumulativeY=p[u].dataSeries.dataPointEOs[p[u].index].cumulativeY,w=Math.abs(a-
827
+ this.parent.convertValueToPixel(cumulativeY)),w<=t&&(t=w,B=u)):"stackedBar100"===p[u].dataSeries.type?(w=p[0].dataPoint.x.getTime?p[0].dataPoint.x.getTime():p[0].dataPoint.x,f(v)&&(v=Math.abs(a-this.parent.convertValueToPixel(100*(p[0].dataSeries.dataPointEOs[p[0].index].cumulativeY/p[0].dataSeries.plotUnit.dataPointYSums[w])))),cumulativeY=p[u].dataSeries.dataPointEOs[p[u].index].cumulativeY,w=p[u].dataPoint.x.getTime?p[u].dataPoint.x.getTime():p[u].dataPoint.x,yPercent=100*(cumulativeY/p[u].dataSeries.plotUnit.dataPointYSums[w]),
828
+ w=Math.abs(a-this.parent.convertValueToPixel(yPercent)),w<=v&&(v=w,B=u)):(w=Math.abs(a-this.parent.convertValueToPixel(p[u].dataPoint.y)),w<=t&&(t=w,B=u));f(v)||(t=Math.min(t,v))}v=p[B];u=0;if("bottom"===this.parent._position||"top"===this.parent._position){if("rangeBar"===v.dataSeries.type||"error"===v.dataSeries.type){t=Math.abs(a-this.parent.convertValueToPixel(v.dataPoint.y[0]));for(p=0;p<v.dataPoint.y.length;p++)w=Math.abs(a-this.parent.convertValueToPixel(v.dataPoint.y[p])),w<t&&(t=w,u=p);k=
829
+ 1===h.lineWidth%2?(this.parent.convertValueToPixel(v.dataPoint.y[u])<<0)+0.5:this.parent.convertValueToPixel(v.dataPoint.y[u])<<0;this.value=v.dataPoint.y[u];n.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:v.dataPoint.y[u]}):f(this.options.label)?ca(f(c)?v.dataPoint.y[u]:c,this.valueFormatString,this.chart._cultureInfo):this.label}else"stackedBar"===v.dataSeries.type?(t=Math.abs(a-this.parent.convertValueToPixel(p[0].dataPoint.y)),
830
+ cumulativeY=v.dataSeries.dataPointEOs[v.index].cumulativeY,k=1===h.lineWidth%2?(this.parent.convertValueToPixel(cumulativeY)<<0)+0.5:this.parent.convertValueToPixel(cumulativeY)<<0,this.value=cumulativeY,n.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:v.dataPoint.y}):f(this.options.label)?ca(f(c)?v.dataPoint.y:c,this.valueFormatString,this.chart._cultureInfo):this.label):"stackedBar100"===v.dataSeries.type?(t=Math.abs(a-this.parent.convertValueToPixel(p[0].dataPoint.y)),
831
+ cumulativeY=v.dataSeries.dataPointEOs[v.index].cumulativeY,w=v.dataPoint.x.getTime?v.dataPoint.x.getTime():v.dataPoint.x,yPercent=100*(cumulativeY/v.dataSeries.plotUnit.dataPointYSums[w]),k=1===h.lineWidth%2?(this.parent.convertValueToPixel(yPercent)<<0)+0.5:this.parent.convertValueToPixel(yPercent)<<0,this.value=yPercent,n.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:yPercent}):f(this.options.label)?ca(f(c)?yPercent:c,this.valueFormatString,
832
+ this.chart._cultureInfo):this.label):(k=1===h.lineWidth%2?(this.parent.convertValueToPixel(v.dataPoint.y)<<0)+0.5:this.parent.convertValueToPixel(v.dataPoint.y)<<0,this.value=v.dataPoint.y,n.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:v.dataPoint.y}):f(this.options.label)?ca(f(c)?v.dataPoint.y:c,this.valueFormatString,this.chart._cultureInfo):this.label);b=e=k;l=this.chart.plotArea.y1;r=this.chart.plotArea.y2;this.bounds={x1:b-
833
833
  s/2,y1:l,x2:e+s/2,y2:r};n.x=b-n.measureText().width/2;n.x+n.width>this.chart.bounds.x2?n.x=this.chart.bounds.x2-n.width:n.x<this.chart.bounds.x1&&(n.x=this.chart.bounds.x1);n.y=this.parent.lineCoordinates.y2+("top"===this.parent._position?-n.height+this.parent.tickLength:n.fontSize/2)+2;n.y+n.height>this.chart.bounds.y2?n.y=this.chart.bounds.y2-n.height:n.y<this.chart.bounds.y1&&(n.y=this.chart.bounds.y1)}else if("left"===this.parent._position||"right"===this.parent._position){l=r=m=1===h.lineWidth%
834
- 2?(this.parent.convertValueToPixel(w.dataPoint.x)<<0)+0.5:this.parent.convertValueToPixel(w.dataPoint.x)<<0;b=this.chart.plotArea.x1;e=this.chart.plotArea.x2;this.bounds={x1:b,y1:l-s/2,x2:e,y2:r+s/2};u=!1;if(this.parent.labels)for(t=Math.ceil(this.parent.interval),p=0;p<this.parent.viewportMaximum;p+=t)if(this.parent.labels[p])u=!0;else{u=!1;break}if(u){if("axisX"===this.parent.type)for(t=this.parent.convertPixelToValue({y:d}),B=null,u=0;u<this.parent.dataSeries.length;u++)(B=this.parent.dataSeries[u].getDataPointAtX(t,
835
- !0))&&0<=B.index&&(n.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:w.dataPoint.x}):f(this.options.label)?B.dataPoint.label:this.label)}else n.text="dateTime"!==this.parent.valueType||this.parent.logarithmic?this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:w.dataPoint.x}):f(this.options.label)?ca(w.dataPoint.x,this.valueFormatString,this.chart._cultureInfo):this.label:
836
- this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:w.dataPoint.x}):f(this.options.label)?ea(w.dataPoint.x,this.valueFormatString,this.chart._cultureInfo):this.label;this.value=w.dataPoint.x;n.y=r+n.fontSize/2-n.measureText().height/2+2;n.y-n.fontSize/2<this.chart.bounds.y1?n.y=this.chart.bounds.y1+n.fontSize/2+2:n.y+n.measureText().height-n.fontSize/2>this.chart.bounds.y2&&(n.y=this.chart.bounds.y2-n.measureText().height+n.fontSize/2);"left"===
834
+ 2?(this.parent.convertValueToPixel(v.dataPoint.x)<<0)+0.5:this.parent.convertValueToPixel(v.dataPoint.x)<<0;b=this.chart.plotArea.x1;e=this.chart.plotArea.x2;this.bounds={x1:b,y1:l-s/2,x2:e,y2:r+s/2};u=!1;if(this.parent.labels)for(t=Math.ceil(this.parent.interval),p=0;p<this.parent.viewportMaximum;p+=t)if(this.parent.labels[p])u=!0;else{u=!1;break}if(u){if("axisX"===this.parent.type)for(t=this.parent.convertPixelToValue({y:d}),B=null,u=0;u<this.parent.dataSeries.length;u++)(B=this.parent.dataSeries[u].getDataPointAtX(t,
835
+ !0))&&0<=B.index&&(n.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:v.dataPoint.x}):f(this.options.label)?B.dataPoint.label:this.label)}else n.text="dateTime"!==this.parent.valueType||this.parent.logarithmic?this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:v.dataPoint.x}):f(this.options.label)?ca(v.dataPoint.x,this.valueFormatString,this.chart._cultureInfo):this.label:
836
+ this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:v.dataPoint.x}):f(this.options.label)?ea(v.dataPoint.x,this.valueFormatString,this.chart._cultureInfo):this.label;this.value=v.dataPoint.x;n.y=r+n.fontSize/2-n.measureText().height/2+2;n.y-n.fontSize/2<this.chart.bounds.y1?n.y=this.chart.bounds.y1+n.fontSize/2+2:n.y+n.measureText().height-n.fontSize/2>this.chart.bounds.y2&&(n.y=this.chart.bounds.y2-n.measureText().height+n.fontSize/2);"left"===
837
837
  this.parent._position?n.x=this.parent.lineCoordinates.x2-n.measureText().width:"right"===this.parent._position&&(n.x=this.parent.lineCoordinates.x2)}}else if("bottom"===this.parent._position||"top"===this.parent._position){t=this.parent.convertPixelToValue({x:a});for(u=0;u<this.parent.dataSeries.length;u++)(B=this.parent.dataSeries[u].getDataPointAtX(t,!0))&&0<=B.index&&(B.dataSeries=this.parent.dataSeries[u],null!==B.dataPoint.y&&B.dataSeries.visible&&p.push(B));if(0===p.length)return;p.sort(function(a,
838
- b){return a.distance-b.distance});w=p[0];b=e=k=1===h.lineWidth%2?(this.parent.convertValueToPixel(w.dataPoint.x)<<0)+0.5:this.parent.convertValueToPixel(w.dataPoint.x)<<0;l=this.chart.plotArea.y1;r=this.chart.plotArea.y2;this.bounds={x1:b-s/2,y1:l,x2:e+s/2,y2:r};u=!1;if(this.parent.labels)for(t=Math.ceil(this.parent.interval),p=0;p<this.parent.viewportMaximum;p+=t)if(this.parent.labels[p])u=!0;else{u=!1;break}if(u){if("axisX"===this.parent.type)for(t=this.parent.convertPixelToValue({x:a}),B=null,
839
- u=0;u<this.parent.dataSeries.length;u++)(B=this.parent.dataSeries[u].getDataPointAtX(t,!0))&&0<=B.index&&(n.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:w.dataPoint.x}):f(this.options.label)?B.dataPoint.label:this.label)}else n.text="dateTime"!==this.parent.valueType||this.parent.logarithmic?this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:w.dataPoint.x}):f(this.options.label)?
840
- ca(w.dataPoint.x,this.valueFormatString,this.chart._cultureInfo):this.label:this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:w.dataPoint.x}):f(this.options.label)?ea(w.dataPoint.x,this.valueFormatString,this.chart._cultureInfo):this.label;this.value=w.dataPoint.x;n.x=b-n.measureText().width/2;n.x+n.width>this.chart.bounds.x2&&(n.x=this.chart.bounds.x2-n.width);n.x<this.chart.bounds.x1&&(n.x=this.chart.bounds.x1);"bottom"===this.parent._position?
838
+ b){return a.distance-b.distance});v=p[0];b=e=k=1===h.lineWidth%2?(this.parent.convertValueToPixel(v.dataPoint.x)<<0)+0.5:this.parent.convertValueToPixel(v.dataPoint.x)<<0;l=this.chart.plotArea.y1;r=this.chart.plotArea.y2;this.bounds={x1:b-s/2,y1:l,x2:e+s/2,y2:r};u=!1;if(this.parent.labels)for(t=Math.ceil(this.parent.interval),p=0;p<this.parent.viewportMaximum;p+=t)if(this.parent.labels[p])u=!0;else{u=!1;break}if(u){if("axisX"===this.parent.type)for(t=this.parent.convertPixelToValue({x:a}),B=null,
839
+ u=0;u<this.parent.dataSeries.length;u++)(B=this.parent.dataSeries[u].getDataPointAtX(t,!0))&&0<=B.index&&(n.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:v.dataPoint.x}):f(this.options.label)?B.dataPoint.label:this.label)}else n.text="dateTime"!==this.parent.valueType||this.parent.logarithmic?this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:v.dataPoint.x}):f(this.options.label)?
840
+ ca(v.dataPoint.x,this.valueFormatString,this.chart._cultureInfo):this.label:this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:v.dataPoint.x}):f(this.options.label)?ea(v.dataPoint.x,this.valueFormatString,this.chart._cultureInfo):this.label;this.value=v.dataPoint.x;n.x=b-n.measureText().width/2;n.x+n.width>this.chart.bounds.x2&&(n.x=this.chart.bounds.x2-n.width);n.x<this.chart.bounds.x1&&(n.x=this.chart.bounds.x1);"bottom"===this.parent._position?
841
841
  n.y=this.parent.lineCoordinates.y2+n.fontSize/2+2:"top"===this.parent._position&&(n.y=this.parent.lineCoordinates.y1-n.height+n.fontSize/2+2)}else if("left"===this.parent._position||"right"===this.parent._position){!f(this.parent.dataSeries)&&0<this.parent.dataSeries.length&&(t=this.parent.dataSeries[0].axisX.convertPixelToValue({x:a}));for(u=0;u<this.parent.dataSeries.length;u++)(B=this.parent.dataSeries[u].getDataPointAtX(t,!0))&&0<=B.index&&(B.dataSeries=this.parent.dataSeries[u],null!==B.dataPoint.y&&
842
- B.dataSeries.visible&&p.push(B));if(0===p.length)return;p.sort(function(a,b){return a.distance-b.distance});v=B=0;t=Infinity;for(u=0;u<p.length;u++){if("rangeColumn"===p[u].dataSeries.type||"rangeArea"===p[u].dataSeries.type||"error"===p[u].dataSeries.type||"rangeSplineArea"===p[u].dataSeries.type||"candlestick"===p[u].dataSeries.type||"ohlc"===p[u].dataSeries.type||"boxAndWhisker"===p[u].dataSeries.type){if(p[u].dataPoint.y)for(A=0;A<p[u].dataPoint.y.length;A++)v=Math.abs(d-this.parent.convertValueToPixel(p[u].dataPoint.y[A])),
843
- v<=t&&(t=v,B=u)}else"stackedColumn"===p[u].dataSeries.type?(b=p[u].dataSeries.dataPointEOs[p[u].index].cumulativeY,v=Math.abs(d-this.parent.convertValueToPixel(b)),v<=t&&(t=v,B=u)):"stackedArea"===p[u].dataSeries.type?(b=p[u].dataSeries.dataPointEOs[p[u].index].cumulativeY,v=Math.abs(d-this.parent.convertValueToPixel(b)),v<=t&&(t=v,B=u)):"stackedColumn100"===p[u].dataSeries.type||"stackedArea100"===p[u].dataSeries.type?(v=p[0].dataPoint.x.getTime?p[0].dataPoint.x.getTime():p[0].dataPoint.x,f(w)&&
844
- (w=Math.abs(d-this.parent.convertValueToPixel(100*(p[0].dataSeries.dataPointEOs[p[0].index].cumulativeY/p[0].dataSeries.plotUnit.dataPointYSums[v])))),"stackedColumn100"===p[u].dataSeries.type?(m=p[u].dataSeries.dataPointEOs[p[u].index].cumulativeY,v=p[u].dataPoint.x.getTime?p[u].dataPoint.x.getTime():p[u].dataPoint.x,b=100*(m/p[u].dataSeries.plotUnit.dataPointYSums[v]),v=Math.abs(d-this.parent.convertValueToPixel(b)),v<=w&&(w=v,B=u)):"stackedArea100"===p[u].dataSeries.type&&(m=p[u].dataSeries.dataPointEOs[p[u].index].cumulativeY,
845
- v=p[u].dataPoint.x.getTime?p[u].dataPoint.x.getTime():p[u].dataPoint.x,b=100*(m/p[u].dataSeries.plotUnit.dataPointYSums[v]),v=Math.abs(d-this.parent.convertValueToPixel(b)),v<=w&&(w=v,B=u))):"waterfall"===p[u].dataSeries.type?(v=Math.abs(d-this.parent.convertValueToPixel(p[u].dataSeries.dataPointEOs[p[u].index].cumulativeSum)),v<=t&&(w=t=v,B=u)):(v=Math.abs(d-this.parent.convertValueToPixel(p[u].dataPoint.y)),v<=t&&(t=v,B=u));f(w)||(t=Math.min(t,w))}w=p[B];u=0;if("rangeColumn"===w.dataSeries.type||
846
- "rangeArea"===w.dataSeries.type||"error"===w.dataSeries.type||"rangeSplineArea"===w.dataSeries.type||"candlestick"===w.dataSeries.type||"ohlc"===w.dataSeries.type||"boxAndWhisker"===w.dataSeries.type){t=Math.abs(d-this.parent.convertValueToPixel(w.dataPoint.y[0]));for(p=0;p<w.dataPoint.y.length;p++)v=Math.abs(d-this.parent.convertValueToPixel(w.dataPoint.y[p])),v<t&&(t=v,u=p);m=1===h.lineWidth%2?(this.parent.convertValueToPixel(w.dataPoint.y[u])<<0)+0.5:this.parent.convertValueToPixel(w.dataPoint.y[u])<<
847
- 0;n.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:w.dataPoint.y[u]}):f(this.options.label)?ca(f(c)?w.dataPoint.y[u]:c,this.valueFormatString,this.chart._cultureInfo):this.label;this.value=w.dataPoint.y[u]}else"stackedColumn"===w.dataSeries.type?(b=w.dataSeries.dataPointEOs[w.index].cumulativeY,m=1===h.lineWidth%2?(this.parent.convertValueToPixel(b)<<0)+0.5:this.parent.convertValueToPixel(b)<<0,n.text=this.labelFormatter?this.labelFormatter({chart:this.chart,
848
- axis:this.parent.options,crosshair:this.options,value:w.dataPoint.y}):f(this.options.label)?ca(f(c)?w.dataPoint.y:c,this.valueFormatString,this.chart._cultureInfo):this.label,this.value=b):"stackedArea"===w.dataSeries.type?(b=w.dataSeries.dataPointEOs[w.index].cumulativeY,m=1===h.lineWidth%2?(this.parent.convertValueToPixel(b)<<0)+0.5:this.parent.convertValueToPixel(b)<<0,n.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:w.dataPoint.y}):
849
- f(this.options.label)?ca(f(c)?w.dataPoint.y:c,this.valueFormatString,this.chart._cultureInfo):this.label,this.value=b):"stackedColumn100"===w.dataSeries.type?(m=w.dataSeries.dataPointEOs[w.index].cumulativeY,v=w.dataPoint.x.getTime?w.dataPoint.x.getTime():w.dataPoint.x,b=100*(m/w.dataSeries.plotUnit.dataPointYSums[v]),m=1===h.lineWidth%2?(this.parent.convertValueToPixel(b)<<0)+0.5:this.parent.convertValueToPixel(b)<<0,n.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,
850
- crosshair:this.options,value:b}):f(this.options.label)?ca(f(c)?b:c,this.valueFormatString,this.chart._cultureInfo):this.label,this.value=b):"stackedArea100"===w.dataSeries.type?(m=w.dataSeries.dataPointEOs[w.index].cumulativeY,v=w.dataPoint.x.getTime?w.dataPoint.x.getTime():w.dataPoint.x,b=100*(m/w.dataSeries.plotUnit.dataPointYSums[v]),m=1===h.lineWidth%2?(this.parent.convertValueToPixel(b)<<0)+0.5:this.parent.convertValueToPixel(b)<<0,n.text=this.labelFormatter?this.labelFormatter({chart:this.chart,
851
- axis:this.parent.options,crosshair:this.options,value:b}):f(this.options.label)?ca(f(c)?b:c,this.valueFormatString,this.chart._cultureInfo):this.label,this.value=b):"waterfall"===w.dataSeries.type?(m=1===h.lineWidth%2?(this.parent.convertValueToPixel(w.dataSeries.dataPointEOs[w.index].cumulativeSum)<<0)+0.5:this.parent.convertValueToPixel(w.dataSeries.dataPointEOs[w.index].cumulativeSum)<<0,n.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,
852
- value:w.dataSeries.dataPointEOs[w.index].cumulativeSum}):f(this.options.label)?ca(f(c)?w.dataSeries.dataPointEOs[w.index].cumulativeSum:c,this.valueFormatString,this.chart._cultureInfo):this.label,this.value=w.dataSeries.dataPointEOs[w.index].cumulativeSum):(m=1===h.lineWidth%2?(f(a)?d:this.parent.convertValueToPixel(w.dataPoint.y)<<0)+0.5:f(a)?d:this.parent.convertValueToPixel(w.dataPoint.y)<<0,n.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,
853
- value:f(c)?w.dataPoint.y:c}):f(this.options.label)?ca(f(c)?w.dataPoint.y:c,this.valueFormatString,this.chart._cultureInfo):this.label,this.value=w.dataPoint.y);l=r=m;b=this.chart.plotArea.x1;e=this.chart.plotArea.x2;this.bounds={x1:b,y1:l-s/2,x2:e,y2:r+s/2};n.y=r+n.fontSize/2-n.measureText().height/2+2;n.y-n.fontSize/2<this.chart.bounds.y1?n.y=this.chart.bounds.y1+n.fontSize/2+2:n.y+n.measureText().height-n.fontSize/2>this.chart.bounds.y2&&(n.y=this.chart.bounds.y2-n.measureText().height+n.fontSize/
842
+ B.dataSeries.visible&&p.push(B));if(0===p.length)return;p.sort(function(a,b){return a.distance-b.distance});w=B=0;t=Infinity;for(u=0;u<p.length;u++){if("rangeColumn"===p[u].dataSeries.type||"rangeArea"===p[u].dataSeries.type||"error"===p[u].dataSeries.type||"rangeSplineArea"===p[u].dataSeries.type||"candlestick"===p[u].dataSeries.type||"ohlc"===p[u].dataSeries.type||"boxAndWhisker"===p[u].dataSeries.type){if(p[u].dataPoint.y)for(A=0;A<p[u].dataPoint.y.length;A++)w=Math.abs(d-this.parent.convertValueToPixel(p[u].dataPoint.y[A])),
843
+ w<=t&&(t=w,B=u)}else"stackedColumn"===p[u].dataSeries.type?(b=p[u].dataSeries.dataPointEOs[p[u].index].cumulativeY,w=Math.abs(d-this.parent.convertValueToPixel(b)),w<=t&&(t=w,B=u)):"stackedArea"===p[u].dataSeries.type?(b=p[u].dataSeries.dataPointEOs[p[u].index].cumulativeY,w=Math.abs(d-this.parent.convertValueToPixel(b)),w<=t&&(t=w,B=u)):"stackedColumn100"===p[u].dataSeries.type||"stackedArea100"===p[u].dataSeries.type?(w=p[0].dataPoint.x.getTime?p[0].dataPoint.x.getTime():p[0].dataPoint.x,f(v)&&
844
+ (v=Math.abs(d-this.parent.convertValueToPixel(100*(p[0].dataSeries.dataPointEOs[p[0].index].cumulativeY/p[0].dataSeries.plotUnit.dataPointYSums[w])))),"stackedColumn100"===p[u].dataSeries.type?(m=p[u].dataSeries.dataPointEOs[p[u].index].cumulativeY,w=p[u].dataPoint.x.getTime?p[u].dataPoint.x.getTime():p[u].dataPoint.x,b=100*(m/p[u].dataSeries.plotUnit.dataPointYSums[w]),w=Math.abs(d-this.parent.convertValueToPixel(b)),w<=v&&(v=w,B=u)):"stackedArea100"===p[u].dataSeries.type&&(m=p[u].dataSeries.dataPointEOs[p[u].index].cumulativeY,
845
+ w=p[u].dataPoint.x.getTime?p[u].dataPoint.x.getTime():p[u].dataPoint.x,b=100*(m/p[u].dataSeries.plotUnit.dataPointYSums[w]),w=Math.abs(d-this.parent.convertValueToPixel(b)),w<=v&&(v=w,B=u))):"waterfall"===p[u].dataSeries.type?(w=Math.abs(d-this.parent.convertValueToPixel(p[u].dataSeries.dataPointEOs[p[u].index].cumulativeSum)),w<=t&&(v=t=w,B=u)):(w=Math.abs(d-this.parent.convertValueToPixel(p[u].dataPoint.y)),w<=t&&(t=w,B=u));f(v)||(t=Math.min(t,v))}v=p[B];u=0;if("rangeColumn"===v.dataSeries.type||
846
+ "rangeArea"===v.dataSeries.type||"error"===v.dataSeries.type||"rangeSplineArea"===v.dataSeries.type||"candlestick"===v.dataSeries.type||"ohlc"===v.dataSeries.type||"boxAndWhisker"===v.dataSeries.type){t=Math.abs(d-this.parent.convertValueToPixel(v.dataPoint.y[0]));for(p=0;p<v.dataPoint.y.length;p++)w=Math.abs(d-this.parent.convertValueToPixel(v.dataPoint.y[p])),w<t&&(t=w,u=p);m=1===h.lineWidth%2?(this.parent.convertValueToPixel(v.dataPoint.y[u])<<0)+0.5:this.parent.convertValueToPixel(v.dataPoint.y[u])<<
847
+ 0;n.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:v.dataPoint.y[u]}):f(this.options.label)?ca(f(c)?v.dataPoint.y[u]:c,this.valueFormatString,this.chart._cultureInfo):this.label;this.value=v.dataPoint.y[u]}else"stackedColumn"===v.dataSeries.type?(b=v.dataSeries.dataPointEOs[v.index].cumulativeY,m=1===h.lineWidth%2?(this.parent.convertValueToPixel(b)<<0)+0.5:this.parent.convertValueToPixel(b)<<0,n.text=this.labelFormatter?this.labelFormatter({chart:this.chart,
848
+ axis:this.parent.options,crosshair:this.options,value:v.dataPoint.y}):f(this.options.label)?ca(f(c)?v.dataPoint.y:c,this.valueFormatString,this.chart._cultureInfo):this.label,this.value=b):"stackedArea"===v.dataSeries.type?(b=v.dataSeries.dataPointEOs[v.index].cumulativeY,m=1===h.lineWidth%2?(this.parent.convertValueToPixel(b)<<0)+0.5:this.parent.convertValueToPixel(b)<<0,n.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:v.dataPoint.y}):
849
+ f(this.options.label)?ca(f(c)?v.dataPoint.y:c,this.valueFormatString,this.chart._cultureInfo):this.label,this.value=b):"stackedColumn100"===v.dataSeries.type?(m=v.dataSeries.dataPointEOs[v.index].cumulativeY,w=v.dataPoint.x.getTime?v.dataPoint.x.getTime():v.dataPoint.x,b=100*(m/v.dataSeries.plotUnit.dataPointYSums[w]),m=1===h.lineWidth%2?(this.parent.convertValueToPixel(b)<<0)+0.5:this.parent.convertValueToPixel(b)<<0,n.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,
850
+ crosshair:this.options,value:b}):f(this.options.label)?ca(f(c)?b:c,this.valueFormatString,this.chart._cultureInfo):this.label,this.value=b):"stackedArea100"===v.dataSeries.type?(m=v.dataSeries.dataPointEOs[v.index].cumulativeY,w=v.dataPoint.x.getTime?v.dataPoint.x.getTime():v.dataPoint.x,b=100*(m/v.dataSeries.plotUnit.dataPointYSums[w]),m=1===h.lineWidth%2?(this.parent.convertValueToPixel(b)<<0)+0.5:this.parent.convertValueToPixel(b)<<0,n.text=this.labelFormatter?this.labelFormatter({chart:this.chart,
851
+ axis:this.parent.options,crosshair:this.options,value:b}):f(this.options.label)?ca(f(c)?b:c,this.valueFormatString,this.chart._cultureInfo):this.label,this.value=b):"waterfall"===v.dataSeries.type?(m=1===h.lineWidth%2?(this.parent.convertValueToPixel(v.dataSeries.dataPointEOs[v.index].cumulativeSum)<<0)+0.5:this.parent.convertValueToPixel(v.dataSeries.dataPointEOs[v.index].cumulativeSum)<<0,n.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,
852
+ value:v.dataSeries.dataPointEOs[v.index].cumulativeSum}):f(this.options.label)?ca(f(c)?v.dataSeries.dataPointEOs[v.index].cumulativeSum:c,this.valueFormatString,this.chart._cultureInfo):this.label,this.value=v.dataSeries.dataPointEOs[v.index].cumulativeSum):(m=1===h.lineWidth%2?(f(a)?d:this.parent.convertValueToPixel(v.dataPoint.y)<<0)+0.5:f(a)?d:this.parent.convertValueToPixel(v.dataPoint.y)<<0,n.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,
853
+ value:f(c)?v.dataPoint.y:c}):f(this.options.label)?ca(f(c)?v.dataPoint.y:c,this.valueFormatString,this.chart._cultureInfo):this.label,this.value=v.dataPoint.y);l=r=m;b=this.chart.plotArea.x1;e=this.chart.plotArea.x2;this.bounds={x1:b,y1:l-s/2,x2:e,y2:r+s/2};n.y=r+n.fontSize/2-n.measureText().height/2+2;n.y-n.fontSize/2<this.chart.bounds.y1?n.y=this.chart.bounds.y1+n.fontSize/2+2:n.y+n.measureText().height-n.fontSize/2>this.chart.bounds.y2&&(n.y=this.chart.bounds.y2-n.measureText().height+n.fontSize/
854
854
  2);"left"===this.parent._position?n.x=this.parent.lineCoordinates.x2-n.measureText().width:"right"===this.parent._position&&(n.x=this.parent.lineCoordinates.x2)}p=null;h.globalAlpha=q;if("bottom"===this.parent._position||"top"===this.parent._position)"top"===this.parent._position&&n.y-n.fontSize/2<this.chart.bounds.y1&&(n.y=this.chart.bounds.y1+n.fontSize/2),"bottom"===this.parent._position&&this.parent.lineCoordinates.y2-n.fontSize/2+n.measureText().height>this.chart.bounds.y2&&(n.y=this.chart.bounds.y2-
855
855
  n.height+n.fontSize/2+2),this.value>=Math.min(this.parent.viewportMinimum,this.parent.viewportMaximum)&&this.value<=Math.max(this.parent.viewportMinimum,this.parent.viewportMaximum)&&0<s&&(h.moveTo(b,l),h.lineTo(e,r),h.stroke(),this._hidden=!1);if("left"===this.parent._position||"right"===this.parent._position)"left"===this.parent._position&&n.x<this.chart.bounds.x1&&(n.x=this.chart.bounds.x1),"right"===this.parent._position&&n.x+n.measureText().width>this.chart.bounds.x2&&(n.x=this.chart.bounds.x2-
856
856
  n.measureText().width),this.value>=Math.min(this.parent.viewportMinimum,this.parent.viewportMaximum)&&this.value<=Math.max(this.parent.viewportMinimum,this.parent.viewportMaximum)&&0<s&&(h.moveTo(b,l),h.lineTo(e,r),h.stroke(),this._hidden=!1)}else{if("bottom"===this.parent._position||"top"===this.parent._position)b=e=k=1===h.lineWidth%2?(a<<0)+0.5:a<<0,l=this.chart.plotArea.y1,r=this.chart.plotArea.y2,this.bounds={x1:b-s/2,y1:l,x2:e+s/2,y2:r};else if("left"===this.parent._position||"right"===this.parent._position)l=
@@ -886,22 +886,22 @@ this.fontSize||0===this.fontSize?this.fontSize+"px":"14px",this.contentDiv.style
886
886
  l[0].dataSeries.type||"bar"===l[0].dataSeries.type||"rangeBar"===l[0].dataSeries.type||"stackedBar"===l[0].dataSeries.type||"stackedBar100"===l[0].dataSeries.type?a=a-10-this.container.clientWidth:(a=l[0].dataSeries.axisX.convertValueToPixel(l[0].dataPoint.x)-this.container.clientWidth<<0,a-=10);0>a&&(a+=this.container.clientWidth+20);a+this.container.clientWidth>Math.max(this.chart.container.clientWidth,this.chart.width)&&(a=Math.max(0,Math.max(this.chart.container.clientWidth,this.chart.width)-
887
887
  this.container.clientWidth));d=1!==l.length||this.shared||"line"!==l[0].dataSeries.type&&"stepLine"!==l[0].dataSeries.type&&"spline"!==l[0].dataSeries.type&&"area"!==l[0].dataSeries.type&&"stepArea"!==l[0].dataSeries.type&&"splineArea"!==l[0].dataSeries.type?"bar"===l[0].dataSeries.type||"rangeBar"===l[0].dataSeries.type||"stackedBar"===l[0].dataSeries.type||"stackedBar100"===l[0].dataSeries.type?l[0].dataSeries.axisX.convertValueToPixel(l[0].dataPoint.x):d:l[0].dataSeries.axisY.convertValueToPixel(l[0].dataPoint.y);
888
888
  d=-d+10;0<d+this.container.clientHeight+5&&(d-=d+this.container.clientHeight+5-0);this.fixMozTransitionDelay(a,d);!this.animationEnabled||r?this.disableAnimation():(this.enableAnimation(),this.container.style.MozTransition=this.mozContainerTransition);this.positionLeft=a;this.positionBottom=d;this.container.style.left=a+"px";this.container.style.bottom=d+"px"}else this.hide(!1),this.enabled&&this.dispatchEvent("hidden",{chart:this.chart,toolTip:this},this);d=[];for(b=0;b<l.length;b++)d.push({xValue:l[b].dataPoint.x,
889
- dataPoint:l[b].dataPoint,dataSeries:l[b].dataSeries,dataPointIndex:l[b].index,dataSeriesIndex:l[b].dataSeries._index});this._updatedEventParameters={chart:this.chart,toolTip:this.options,content:c,entries:d};this._entries=l}}else this.hide(),this.enabled&&this.dispatchEvent("hidden",{chart:this.chart,toolTip:this},this)}};pa.prototype.highlightObjects=function(a){var g=this.chart.overlaidCanvasCtx;if(f(this.chart.clearedOverlayedCanvas)||"toolTip"===this.chart.clearedOverlayedCanvas)this.chart.resetOverlayedCanvas(),
890
- g.clearRect(0,0,this.chart.width,this.chart.height),this.chart.clearedOverlayedCanvas="toolTip";g.save();var c=this.chart.plotArea,b=0;g.beginPath();g.rect(c.x1,c.y1,c.x2-c.x1,c.y2-c.y1);g.clip();for(c=0;c<a.length;c++){var e=a[c];if((e=this.chart._eventManager.objectMap[e.dataSeries.dataPointIds[e.index]])&&e.objectType&&"dataPoint"===e.objectType){var b=this.chart.data[e.dataSeriesIndex],l=b.dataPoints[e.dataPointIndex],k=e.dataPointIndex;!1===l.highlightEnabled||!0!==b.highlightEnabled&&!0!==l.highlightEnabled||
891
- ("line"===b.type||"stepLine"===b.type||"spline"===b.type||"scatter"===b.type||"area"===b.type||"stepArea"===b.type||"splineArea"===b.type||"stackedArea"===b.type||"stackedArea100"===b.type||"rangeArea"===b.type||"rangeSplineArea"===b.type?(l=b.getMarkerProperties(k,e.x1,e.y1,this.chart.overlaidCanvasCtx),l.size=Math.max(1.5*l.size<<0,10),l.borderColor=l.borderColor||"#FFFFFF",l.borderThickness=l.borderThickness||Math.ceil(0.1*l.size),B.drawMarkers([l]),"undefined"!==typeof e.y2&&(l=b.getMarkerProperties(k,
892
- e.x1,e.y2,this.chart.overlaidCanvasCtx),l.size=Math.max(1.5*l.size<<0,10),l.borderColor=l.borderColor||"#FFFFFF",l.borderThickness=l.borderThickness||Math.ceil(0.1*l.size),B.drawMarkers([l]))):"bubble"===b.type?(l=b.getMarkerProperties(k,e.x1,e.y1,this.chart.overlaidCanvasCtx),l.size=e.size,l.color="white",l.borderColor="white",g.globalAlpha=0.3,B.drawMarkers([l]),g.globalAlpha=1):"column"===b.type||"stackedColumn"===b.type||"stackedColumn100"===b.type||"bar"===b.type||"rangeBar"===b.type||"stackedBar"===
893
- b.type||"stackedBar100"===b.type||"rangeColumn"===b.type||"waterfall"===b.type?aa(g,e.x1,e.y1,e.x2,e.y2,"white",0,null,!1,!1,!1,!1,0.3):"pie"===b.type||"doughnut"===b.type?d(g,e.center,e.radius,"white",b.type,e.startAngle,e.endAngle,0.3,e.percentInnerRadius):"funnel"===b.type||"pyramid"===b.type?r(g,e.funnelSection,0.3,"white"):"candlestick"===b.type?(g.globalAlpha=1,g.strokeStyle=e.color,g.lineWidth=2*e.borderThickness,b=0===g.lineWidth%2?0:0.5,g.beginPath(),g.moveTo(e.x3-b,Math.min(e.y2,e.y3)),
894
- g.lineTo(e.x3-b,Math.min(e.y1,e.y4)),g.stroke(),g.beginPath(),g.moveTo(e.x3-b,Math.max(e.y1,e.y4)),g.lineTo(e.x3-b,Math.max(e.y2,e.y3)),g.stroke(),aa(g,e.x1,Math.min(e.y1,e.y4),e.x2,Math.max(e.y1,e.y4),"transparent",2*e.borderThickness,e.color,!1,!1,!1,!1),g.globalAlpha=1):"ohlc"===b.type?(g.globalAlpha=1,g.strokeStyle=e.color,g.lineWidth=2*e.borderThickness,b=0===g.lineWidth%2?0:0.5,g.beginPath(),g.moveTo(e.x3-b,e.y2),g.lineTo(e.x3-b,e.y3),g.stroke(),g.beginPath(),g.moveTo(e.x3,e.y1),g.lineTo(e.x1,
895
- e.y1),g.stroke(),g.beginPath(),g.moveTo(e.x3,e.y4),g.lineTo(e.x2,e.y4),g.stroke(),g.globalAlpha=1):"boxAndWhisker"===b.type?(g.save(),g.globalAlpha=1,g.strokeStyle=e.stemColor,g.lineWidth=2*e.stemThickness,0<e.stemThickness&&(g.beginPath(),g.moveTo(e.x3,e.y2+e.borderThickness/2),g.lineTo(e.x3,e.y1+e.whiskerThickness/2),g.stroke(),g.beginPath(),g.moveTo(e.x3,e.y4-e.whiskerThickness/2),g.lineTo(e.x3,e.y3-e.borderThickness/2),g.stroke()),g.beginPath(),aa(g,e.x1,Math.max(e.y2,e.y3),e.x2,Math.min(e.y2,
896
- e.y3),"transparent",2*e.borderThickness,e.color,!1,!1,!1,!1),g.globalAlpha=1,g.strokeStyle=e.whiskerColor,g.lineWidth=2*e.whiskerThickness,0<e.whiskerThickness&&(g.beginPath(),g.moveTo(Math.floor(e.x3-e.whiskerLength/2),e.y4),g.lineTo(Math.ceil(e.x3+e.whiskerLength/2),e.y4),g.stroke(),g.beginPath(),g.moveTo(Math.floor(e.x3-e.whiskerLength/2),e.y1),g.lineTo(Math.ceil(e.x3+e.whiskerLength/2),e.y1),g.stroke()),g.globalAlpha=1,g.strokeStyle=e.lineColor,g.lineWidth=2*e.lineThickness,0<e.lineThickness&&
897
- (g.beginPath(),g.moveTo(e.x1,e.y5),g.lineTo(e.x2,e.y5),g.stroke()),g.restore(),g.globalAlpha=1):"error"===b.type&&Q(g,e.x1,e.y1,e.x2,e.y2,"white",e.whiskerProperties,e.stemProperties,e.isXYSwapped,0.3))}}g.restore();g.globalAlpha=1;g.beginPath()};pa.prototype.getToolTipInnerHTML=function(a){a=a.entries;var d=null,c=null,b=null,e=0,f="";this.isToolTipDefinedInData=!0;for(var r=0;r<a.length;r++)if(a[r].dataSeries.toolTipContent||a[r].dataPoint.toolTipContent){this.isToolTipDefinedInData=!1;break}if(this.isToolTipDefinedInData&&
898
- (this.content&&"function"===typeof this.content||this.contentFormatter))a={chart:this.chart,toolTip:this.options,entries:a},d=this.contentFormatter?this.contentFormatter(a):this.content(a);else if(this.shared&&"none"!==this.chart.plotInfo.axisPlacement){for(var k=null,m="",r=0;r<a.length;r++){c=a[r].dataSeries;b=a[r].dataPoint;e=a[r].index;f="";if(0===r&&this.isToolTipDefinedInData&&!this.content){this.chart.axisX&&0<this.chart.axisX.length?m+="undefined"!==typeof this.chart.axisX[0].labels[b.x]?
899
- this.chart.axisX[0].labels[b.x]:"{x}":this.chart.axisX2&&0<this.chart.axisX2.length&&(m+="undefined"!==typeof this.chart.axisX2[0].labels[b.x]?this.chart.axisX2[0].labels[b.x]:"{x}");m+="</br>";if(!c.visible)continue;m=this.chart.replaceKeywordsWithValue(m,b,c,e)}null===b.toolTipContent||"undefined"===typeof b.toolTipContent&&null===c.options.toolTipContent||("line"===c.type||"stepLine"===c.type||"spline"===c.type||"area"===c.type||"stepArea"===c.type||"splineArea"===c.type||"column"===c.type||"bar"===
900
- c.type||"scatter"===c.type||"stackedColumn"===c.type||"stackedColumn100"===c.type||"stackedBar"===c.type||"stackedBar100"===c.type||"stackedArea"===c.type||"stackedArea100"===c.type||"waterfall"===c.type?(this.chart.axisX&&1<this.chart.axisX.length&&(f+=k!=c.axisXIndex?c.axisX.title?c.axisX.title+"<br/>":"X:{axisXIndex}<br/>":""),f+=b.toolTipContent?b.toolTipContent:c.toolTipContent?c.toolTipContent:this.content&&"function"!==typeof this.content?this.content:"<span data-color='\""+(this.options.fontColor?
901
- "":"'{color}'")+"\"'>{name}:</span>&nbsp;&nbsp;{y}",k=c.axisXIndex):"bubble"===c.type?(this.chart.axisX&&1<this.chart.axisX.length&&(f+=k!=c.axisXIndex?c.axisX.title?c.axisX.title+"<br/>":"X:{axisXIndex}<br/>":""),f+=b.toolTipContent?b.toolTipContent:c.toolTipContent?c.toolTipContent:this.content&&"function"!==typeof this.content?this.content:"<span data-color='\""+(this.options.fontColor?"":"'{color}'")+"\"'>{name}:</span>&nbsp;&nbsp;{y}, &nbsp;&nbsp;{z}"):"rangeColumn"===c.type||"rangeBar"===c.type||
902
- "rangeArea"===c.type||"rangeSplineArea"===c.type||"error"===c.type?(this.chart.axisX&&1<this.chart.axisX.length&&(f+=k!=c.axisXIndex?c.axisX.title?c.axisX.title+"<br/>":"X:{axisXIndex}<br/>":""),f+=b.toolTipContent?b.toolTipContent:c.toolTipContent?c.toolTipContent:this.content&&"function"!==typeof this.content?this.content:"<span data-color='\""+(this.options.fontColor?"":"'{color}'")+"\"'>{name}:</span>&nbsp;&nbsp;{y[0]},&nbsp;{y[1]}"):"candlestick"===c.type||"ohlc"===c.type?(this.chart.axisX&&
903
- 1<this.chart.axisX.length&&(f+=k!=c.axisXIndex?c.axisX.title?c.axisX.title+"<br/>":"X:{axisXIndex}<br/>":""),f+=b.toolTipContent?b.toolTipContent:c.toolTipContent?c.toolTipContent:this.content&&"function"!==typeof this.content?this.content:"<span data-color='\""+(this.options.fontColor?"":"'{color}'")+"\"'>{name}:</span><br/>Open: &nbsp;&nbsp;{y[0]}<br/>High: &nbsp;&nbsp;&nbsp;{y[1]}<br/>Low:&nbsp;&nbsp;&nbsp;{y[2]}<br/>Close: &nbsp;&nbsp;{y[3]}"):"boxAndWhisker"===c.type&&(this.chart.axisX&&1<this.chart.axisX.length&&
904
- (f+=k!=c.axisXIndex?c.axisX.title?c.axisX.title+"<br/>":"X:{axisXIndex}<br/>":""),f+=b.toolTipContent?b.toolTipContent:c.toolTipContent?c.toolTipContent:this.content&&"function"!==typeof this.content?this.content:"<span data-color='\""+(this.options.fontColor?"":"'{color}'")+"\"'>{name}:</span><br/>Minimum: &nbsp;{y[0]}<br/>Q1:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{y[1]}<br/>Q2:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{y[4]}<br/>Q3:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{y[2]}<br/>Maximum: &nbsp;{y[3]}"),
889
+ dataPoint:l[b].dataPoint,dataSeries:l[b].dataSeries,dataPointIndex:l[b].index,dataSeriesIndex:l[b].dataSeries._index});this._updatedEventParameters={chart:this.chart,toolTip:this.options,content:c,entries:d};this._entries=l}}else this.hide(),this.enabled&&this.dispatchEvent("hidden",{chart:this.chart,toolTip:this},this)}};pa.prototype.highlightObjects=function(a){var g=this.chart.overlaidCanvasCtx;f(this.chart.clearedOverlayedCanvas)||"toolTip"===this.chart.clearedOverlayedCanvas?(this.chart.resetOverlayedCanvas(),
890
+ g.clearRect(0,0,this.chart.width,this.chart.height),this.chart.clearedOverlayedCanvas="toolTip"):this.chart.clearedOverlayedCanvas=null;g.save();var c=this.chart.plotArea,b=0;g.beginPath();g.rect(c.x1,c.y1,c.x2-c.x1,c.y2-c.y1);g.clip();for(c=0;c<a.length;c++){var e=a[c];if((e=this.chart._eventManager.objectMap[e.dataSeries.dataPointIds[e.index]])&&e.objectType&&"dataPoint"===e.objectType){var b=this.chart.data[e.dataSeriesIndex],l=b.dataPoints[e.dataPointIndex],k=e.dataPointIndex;!1===l.highlightEnabled||
891
+ !0!==b.highlightEnabled&&!0!==l.highlightEnabled||("line"===b.type||"stepLine"===b.type||"spline"===b.type||"scatter"===b.type||"area"===b.type||"stepArea"===b.type||"splineArea"===b.type||"stackedArea"===b.type||"stackedArea100"===b.type||"rangeArea"===b.type||"rangeSplineArea"===b.type?(l=b.getMarkerProperties(k,e.x1,e.y1,this.chart.overlaidCanvasCtx),l.size=Math.max(1.5*l.size<<0,10),l.borderColor=l.borderColor||"#FFFFFF",l.borderThickness=l.borderThickness||Math.ceil(0.1*l.size),B.drawMarkers([l]),
892
+ "undefined"!==typeof e.y2&&(l=b.getMarkerProperties(k,e.x1,e.y2,this.chart.overlaidCanvasCtx),l.size=Math.max(1.5*l.size<<0,10),l.borderColor=l.borderColor||"#FFFFFF",l.borderThickness=l.borderThickness||Math.ceil(0.1*l.size),B.drawMarkers([l]))):"bubble"===b.type?(l=b.getMarkerProperties(k,e.x1,e.y1,this.chart.overlaidCanvasCtx),l.size=e.size,l.color="white",l.borderColor="white",g.globalAlpha=0.3,B.drawMarkers([l]),g.globalAlpha=1):"column"===b.type||"stackedColumn"===b.type||"stackedColumn100"===
893
+ b.type||"bar"===b.type||"rangeBar"===b.type||"stackedBar"===b.type||"stackedBar100"===b.type||"rangeColumn"===b.type||"waterfall"===b.type?aa(g,e.x1,e.y1,e.x2,e.y2,"white",0,null,!1,!1,!1,!1,0.3):"pie"===b.type||"doughnut"===b.type?d(g,e.center,e.radius,"white",b.type,e.startAngle,e.endAngle,0.3,e.percentInnerRadius):"funnel"===b.type||"pyramid"===b.type?r(g,e.funnelSection,0.3,"white"):"candlestick"===b.type?(g.globalAlpha=1,g.strokeStyle=e.color,g.lineWidth=2*e.borderThickness,b=0===g.lineWidth%
894
+ 2?0:0.5,g.beginPath(),g.moveTo(e.x3-b,Math.min(e.y2,e.y3)),g.lineTo(e.x3-b,Math.min(e.y1,e.y4)),g.stroke(),g.beginPath(),g.moveTo(e.x3-b,Math.max(e.y1,e.y4)),g.lineTo(e.x3-b,Math.max(e.y2,e.y3)),g.stroke(),aa(g,e.x1,Math.min(e.y1,e.y4),e.x2,Math.max(e.y1,e.y4),"transparent",2*e.borderThickness,e.color,!1,!1,!1,!1),g.globalAlpha=1):"ohlc"===b.type?(g.globalAlpha=1,g.strokeStyle=e.color,g.lineWidth=2*e.borderThickness,b=0===g.lineWidth%2?0:0.5,g.beginPath(),g.moveTo(e.x3-b,e.y2),g.lineTo(e.x3-b,e.y3),
895
+ g.stroke(),g.beginPath(),g.moveTo(e.x3,e.y1),g.lineTo(e.x1,e.y1),g.stroke(),g.beginPath(),g.moveTo(e.x3,e.y4),g.lineTo(e.x2,e.y4),g.stroke(),g.globalAlpha=1):"boxAndWhisker"===b.type?(g.save(),g.globalAlpha=1,g.strokeStyle=e.stemColor,g.lineWidth=2*e.stemThickness,0<e.stemThickness&&(g.beginPath(),g.moveTo(e.x3,e.y2+e.borderThickness/2),g.lineTo(e.x3,e.y1+e.whiskerThickness/2),g.stroke(),g.beginPath(),g.moveTo(e.x3,e.y4-e.whiskerThickness/2),g.lineTo(e.x3,e.y3-e.borderThickness/2),g.stroke()),g.beginPath(),
896
+ aa(g,e.x1,Math.max(e.y2,e.y3),e.x2,Math.min(e.y2,e.y3),"transparent",2*e.borderThickness,e.color,!1,!1,!1,!1),g.globalAlpha=1,g.strokeStyle=e.whiskerColor,g.lineWidth=2*e.whiskerThickness,0<e.whiskerThickness&&(g.beginPath(),g.moveTo(Math.floor(e.x3-e.whiskerLength/2),e.y4),g.lineTo(Math.ceil(e.x3+e.whiskerLength/2),e.y4),g.stroke(),g.beginPath(),g.moveTo(Math.floor(e.x3-e.whiskerLength/2),e.y1),g.lineTo(Math.ceil(e.x3+e.whiskerLength/2),e.y1),g.stroke()),g.globalAlpha=1,g.strokeStyle=e.lineColor,
897
+ g.lineWidth=2*e.lineThickness,0<e.lineThickness&&(g.beginPath(),g.moveTo(e.x1,e.y5),g.lineTo(e.x2,e.y5),g.stroke()),g.restore(),g.globalAlpha=1):"error"===b.type&&Q(g,e.x1,e.y1,e.x2,e.y2,"white",e.whiskerProperties,e.stemProperties,e.isXYSwapped,0.3))}}g.restore();g.globalAlpha=1;g.beginPath()};pa.prototype.getToolTipInnerHTML=function(a){a=a.entries;var d=null,c=null,b=null,e=0,f="";this.isToolTipDefinedInData=!0;for(var r=0;r<a.length;r++)if(a[r].dataSeries.toolTipContent||a[r].dataPoint.toolTipContent){this.isToolTipDefinedInData=
898
+ !1;break}if(this.isToolTipDefinedInData&&(this.content&&"function"===typeof this.content||this.contentFormatter))a={chart:this.chart,toolTip:this.options,entries:a},d=this.contentFormatter?this.contentFormatter(a):this.content(a);else if(this.shared&&"none"!==this.chart.plotInfo.axisPlacement){for(var k=null,m="",r=0;r<a.length;r++){c=a[r].dataSeries;b=a[r].dataPoint;e=a[r].index;f="";if(0===r&&this.isToolTipDefinedInData&&!this.content){this.chart.axisX&&0<this.chart.axisX.length?m+="undefined"!==
899
+ typeof this.chart.axisX[0].labels[b.x]?this.chart.axisX[0].labels[b.x]:"{x}":this.chart.axisX2&&0<this.chart.axisX2.length&&(m+="undefined"!==typeof this.chart.axisX2[0].labels[b.x]?this.chart.axisX2[0].labels[b.x]:"{x}");m+="</br>";if(!c.visible)continue;m=this.chart.replaceKeywordsWithValue(m,b,c,e)}null===b.toolTipContent||"undefined"===typeof b.toolTipContent&&null===c.options.toolTipContent||("line"===c.type||"stepLine"===c.type||"spline"===c.type||"area"===c.type||"stepArea"===c.type||"splineArea"===
900
+ c.type||"column"===c.type||"bar"===c.type||"scatter"===c.type||"stackedColumn"===c.type||"stackedColumn100"===c.type||"stackedBar"===c.type||"stackedBar100"===c.type||"stackedArea"===c.type||"stackedArea100"===c.type||"waterfall"===c.type?(this.chart.axisX&&1<this.chart.axisX.length&&(f+=k!=c.axisXIndex?c.axisX.title?c.axisX.title+"<br/>":"X:{axisXIndex}<br/>":""),f+=b.toolTipContent?b.toolTipContent:c.toolTipContent?c.toolTipContent:this.content&&"function"!==typeof this.content?this.content:"<span data-color='\""+
901
+ (this.options.fontColor?"":"'{color}'")+"\"'>{name}:</span>&nbsp;&nbsp;{y}",k=c.axisXIndex):"bubble"===c.type?(this.chart.axisX&&1<this.chart.axisX.length&&(f+=k!=c.axisXIndex?c.axisX.title?c.axisX.title+"<br/>":"X:{axisXIndex}<br/>":""),f+=b.toolTipContent?b.toolTipContent:c.toolTipContent?c.toolTipContent:this.content&&"function"!==typeof this.content?this.content:"<span data-color='\""+(this.options.fontColor?"":"'{color}'")+"\"'>{name}:</span>&nbsp;&nbsp;{y}, &nbsp;&nbsp;{z}"):"rangeColumn"===
902
+ c.type||"rangeBar"===c.type||"rangeArea"===c.type||"rangeSplineArea"===c.type||"error"===c.type?(this.chart.axisX&&1<this.chart.axisX.length&&(f+=k!=c.axisXIndex?c.axisX.title?c.axisX.title+"<br/>":"X:{axisXIndex}<br/>":""),f+=b.toolTipContent?b.toolTipContent:c.toolTipContent?c.toolTipContent:this.content&&"function"!==typeof this.content?this.content:"<span data-color='\""+(this.options.fontColor?"":"'{color}'")+"\"'>{name}:</span>&nbsp;&nbsp;{y[0]},&nbsp;{y[1]}"):"candlestick"===c.type||"ohlc"===
903
+ c.type?(this.chart.axisX&&1<this.chart.axisX.length&&(f+=k!=c.axisXIndex?c.axisX.title?c.axisX.title+"<br/>":"X:{axisXIndex}<br/>":""),f+=b.toolTipContent?b.toolTipContent:c.toolTipContent?c.toolTipContent:this.content&&"function"!==typeof this.content?this.content:"<span data-color='\""+(this.options.fontColor?"":"'{color}'")+"\"'>{name}:</span><br/>Open: &nbsp;&nbsp;{y[0]}<br/>High: &nbsp;&nbsp;&nbsp;{y[1]}<br/>Low:&nbsp;&nbsp;&nbsp;{y[2]}<br/>Close: &nbsp;&nbsp;{y[3]}"):"boxAndWhisker"===c.type&&
904
+ (this.chart.axisX&&1<this.chart.axisX.length&&(f+=k!=c.axisXIndex?c.axisX.title?c.axisX.title+"<br/>":"X:{axisXIndex}<br/>":""),f+=b.toolTipContent?b.toolTipContent:c.toolTipContent?c.toolTipContent:this.content&&"function"!==typeof this.content?this.content:"<span data-color='\""+(this.options.fontColor?"":"'{color}'")+"\"'>{name}:</span><br/>Minimum: &nbsp;{y[0]}<br/>Q1:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{y[1]}<br/>Q2:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{y[4]}<br/>Q3:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{y[2]}<br/>Maximum: &nbsp;{y[3]}"),
905
905
  null===d&&(d=""),c.visible&&(!0===this.reversed?(d=this.chart.replaceKeywordsWithValue(f,b,c,e)+d,r<a.length-1&&(d="</br>"+d)):(d+=this.chart.replaceKeywordsWithValue(f,b,c,e),r<a.length-1&&(d+="</br>"))))}null!==d&&(d=m+d)}else{c=a[0].dataSeries;b=a[0].dataPoint;e=a[0].index;if(null===b.toolTipContent||"undefined"===typeof b.toolTipContent&&null===c.options.toolTipContent)return null;"line"===c.type||"stepLine"===c.type||"spline"===c.type||"area"===c.type||"stepArea"===c.type||"splineArea"===c.type||
906
906
  "column"===c.type||"bar"===c.type||"scatter"===c.type||"stackedColumn"===c.type||"stackedColumn100"===c.type||"stackedBar"===c.type||"stackedBar100"===c.type||"stackedArea"===c.type||"stackedArea100"===c.type||"waterfall"===c.type?f=b.toolTipContent?b.toolTipContent:c.toolTipContent?c.toolTipContent:this.content&&"function"!==typeof this.content?this.content:"<span data-color='\""+(this.options.fontColor?"":"'{color}'")+"\"'>"+(b.label?"{label}":"{x}")+":</span>&nbsp;&nbsp;{y}":"bubble"===c.type?
907
907
  f=b.toolTipContent?b.toolTipContent:c.toolTipContent?c.toolTipContent:this.content&&"function"!==typeof this.content?this.content:"<span data-color='\""+(this.options.fontColor?"":"'{color}'")+"\"'>"+(b.label?"{label}":"{x}")+":</span>&nbsp;&nbsp;{y}, &nbsp;&nbsp;{z}":"pie"===c.type||"doughnut"===c.type||"funnel"===c.type||"pyramid"===c.type?f=b.toolTipContent?b.toolTipContent:c.toolTipContent?c.toolTipContent:this.content&&"function"!==typeof this.content?this.content:"<span data-color='\""+(this.options.fontColor?
@@ -931,7 +931,7 @@ a;0<this.animations.length?this.animationRequestId=this.chart.requestAnimFrame.c
931
931
  a,c.canvas.width/ia,a*c.canvas.height/ia)}},xScaleAnimation:function(a,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,
932
932
  b.height,0,0,c.canvas.width/ia,c.canvas.height/ia);c.restore()}},easing:{linear:function(a,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,f,r,k){if(c){var m=1;c.fillStyle=f?f:"#000000";c.strokeStyle=r?r:"#000000";c.lineWidth=k?k:0;c.setLineDash&&c.setLineDash(X("solid",
933
933
  k));"circle"===b?(c.moveTo(a,d),c.beginPath(),c.arc(a,d,e/2,0,2*Math.PI,!1),f&&c.fill(),k&&(r?c.stroke():(m=c.globalAlpha,c.globalAlpha=0.15,c.strokeStyle="black",c.stroke(),c.globalAlpha=m))):"square"===b?(c.beginPath(),c.rect(a-e/2,d-e/2,e,e),f&&c.fill(),k&&(r?c.stroke():(m=c.globalAlpha,c.globalAlpha=0.15,c.strokeStyle="black",c.stroke(),c.globalAlpha=m))):"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(),f&&c.fill(),k&&(r?c.stroke():(m=c.globalAlpha,
934
- c.globalAlpha=0.15,c.strokeStyle="black",c.stroke(),c.globalAlpha=m)),c.beginPath()):"cross"===b&&(c.strokeStyle=f,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 k}();Ja.version="v3.7.43 GA";window.CanvasJS&&(Ja&&!window.CanvasJS.Chart)&&(window.CanvasJS.Chart=
934
+ c.globalAlpha=0.15,c.strokeStyle="black",c.stroke(),c.globalAlpha=m)),c.beginPath()):"cross"===b&&(c.strokeStyle=f,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 k}();Ja.version="v3.7.44 GA";window.CanvasJS&&(Ja&&!window.CanvasJS.Chart)&&(window.CanvasJS.Chart=
935
935
  Ja);ha.StockChart={width:500,height:600,backgroundColor:"white",theme:"light1",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"}};
936
936
  ha.Navigator={enabled:!0,width:500,height:70,verticalAlign:"bottom",horizontalAlign:"center",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"}};ha.RangeSelector={enabled:!0,width:500,
937
937
  height:35,label:"Range",verticalAlign:"top",horizontalAlign:"center",selectedRangeButtonIndex:null,publicProperties:{options:"readWrite",buttons:"readWrite",inputFields:"readWrite",buttonStyle:"readWrite",bounds:"readOnly"}};ha.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"}};ha.ButtonStyle={backgroundColor:"#fff",backgroundColorOnHover:"#2196f3",
@@ -950,23 +950,23 @@ this.width:0<this.container.clientWidth?this.container.clientWidth:this.width;a=
950
950
  "relative";this._canvasJSContainer.style.userSelect=this._canvasJSContainer.style.WebkitUserSelect=this._canvasJSContainer.style.MozUserSelect=this._canvasJSContainer.style.msUserSelect="none";this._canvasJSContainer.style.textAlign="left";this._canvasJSContainer.style.cursor="auto";this._canvasJSContainer.style.direction="ltr";this._canvasJSContainer.style.fontFamily=k;t||(this._canvasJSContainer.style.height="0px");this.container.appendChild(this._canvasJSContainer);this.canvas=ra(B,a);this.canvas.style.position=
951
951
  "absolute";this.canvas.getContext&&(this._canvasJSContainer.appendChild(this.canvas),this.ctx=this.canvas.getContext("2d"),this.ctx.textBaseline="top",Ca(this.ctx),this.overlaidCanvas=ra(B,a),this.overlaidCanvas.style.position="absolute",this.overlaidCanvas.style.webkitTapHighlightColor="transparent",this.overlaidCanvas.getContext&&(this._canvasJSContainer.appendChild(this.overlaidCanvas),this.overlaidCanvasCtx=this.overlaidCanvas.getContext("2d"),this.overlaidCanvasCtx.textBaseline="top",Ca(this.overlaidCanvasCtx)),
952
952
  t?this.plotArea.ctx=this.ctx:(this.plotArea.canvas=ra(B,a),this.plotArea.canvas.style.position="absolute",this.plotArea.canvas.setAttribute("class","plotAreaCanvas"),this._canvasJSContainer.appendChild(this.plotArea.canvas),this.plotArea.ctx=this.plotArea.canvas.getContext("2d")),this._toolBar=document.createElement("div"),this._toolBar.setAttribute("class","canvasjs-chart-toolbar"),P(this._toolBar,{position:"absolute",right:"1px",top:"1px",zIndex:999}),this._canvasJSContainer.appendChild(this._toolBar),
953
- this.bounds={x1:0,y1:0,x2:this.width,y2:this.height},this.charts=[],Da(this.charts),this._eventManager=new O(this),v(this.overlaidCanvas,"click",function(a){m._mouseEventHandler(a)},this.allDOMEventHandlers),v(this.overlaidCanvas,"mousemove",function(a){m._mouseEventHandler(a)},this.allDOMEventHandlers),v(this.overlaidCanvas,"mouseup",function(a){m._mouseEventHandler(a)},this.allDOMEventHandlers),v(this.overlaidCanvas,"mousedown",function(a){m._mouseEventHandler(a);xa(m._dropdownMenu)},this.allDOMEventHandlers),
954
- v(this.overlaidCanvas,"mouseout",function(a){m._mouseEventHandler(a)},this.allDOMEventHandlers),v(this.overlaidCanvas,window.navigator.msPointerEnabled?"MSPointerDown":"touchstart",function(a){m._touchEventHandler(a)},this.allDOMEventHandlers),v(this.overlaidCanvas,window.navigator.msPointerEnabled?"MSPointerMove":"touchmove",function(a){m._touchEventHandler(a)},this.allDOMEventHandlers),v(this.overlaidCanvas,window.navigator.msPointerEnabled?"MSPointerUp":"touchend",function(a){m._touchEventHandler(a)},
955
- this.allDOMEventHandlers),v(this.overlaidCanvas,window.navigator.msPointerEnabled?"MSPointerCancel":"touchcancel",function(a){m._touchEventHandler(a)},this.allDOMEventHandlers),this.windowResizeHandler=v(window,"resize",function(){m._updateSize()&&m.render()},this.allDOMEventHandlers))}else window.console&&window.console.log('CanvasJS Error: StockChart Container with id "'+this._containerId+'" was not found')}function E(d,f){E.base.constructor.call(this,d,f);this.options=f;this.dockInsidePlotArea=
953
+ this.bounds={x1:0,y1:0,x2:this.width,y2:this.height},this.charts=[],Da(this.charts),this._eventManager=new O(this),w(this.overlaidCanvas,"click",function(a){m._mouseEventHandler(a)},this.allDOMEventHandlers),w(this.overlaidCanvas,"mousemove",function(a){m._mouseEventHandler(a)},this.allDOMEventHandlers),w(this.overlaidCanvas,"mouseup",function(a){m._mouseEventHandler(a)},this.allDOMEventHandlers),w(this.overlaidCanvas,"mousedown",function(a){m._mouseEventHandler(a);xa(m._dropdownMenu)},this.allDOMEventHandlers),
954
+ w(this.overlaidCanvas,"mouseout",function(a){m._mouseEventHandler(a)},this.allDOMEventHandlers),w(this.overlaidCanvas,window.navigator.msPointerEnabled?"MSPointerDown":"touchstart",function(a){m._touchEventHandler(a)},this.allDOMEventHandlers),w(this.overlaidCanvas,window.navigator.msPointerEnabled?"MSPointerMove":"touchmove",function(a){m._touchEventHandler(a)},this.allDOMEventHandlers),w(this.overlaidCanvas,window.navigator.msPointerEnabled?"MSPointerUp":"touchend",function(a){m._touchEventHandler(a)},
955
+ this.allDOMEventHandlers),w(this.overlaidCanvas,window.navigator.msPointerEnabled?"MSPointerCancel":"touchcancel",function(a){m._touchEventHandler(a)},this.allDOMEventHandlers),this.windowResizeHandler=w(window,"resize",function(){m._updateSize()&&m.render()},this.allDOMEventHandlers))}else window.console&&window.console.log('CanvasJS Error: StockChart Container with id "'+this._containerId+'" was not found')}function E(d,f){E.base.constructor.call(this,d,f);this.options=f;this.dockInsidePlotArea=
956
956
  !1}function K(d,f,k){K.base.constructor.call(this,d,f,k);this.options=f;this.dockInsidePlotArea=!1}function O(d){this.stockChart=d;this.lastObjectId=0;this.objectMap=[];this.rectangularRegionEventSubscriptions=[];this.ghostCanvas=ra(this.stockChart.width,this.stockChart.height);this.ghostCtx=this.ghostCanvas.getContext("2d");this.mouseoveredObjectMaps=[]}function y(d,f){f=f||{};this.optionsName="navigator";y.base.constructor.call(this,"Navigator","navigator",f,null,d);this.parent=this.stockChart=
957
957
  d}function M(d,r){this.panel=m("canvasjs-slider-panel");this.parent=this.navigator=d;this.stockChart=d.stockChart;this.navigator.panel.appendChild(this.panel);M.base.constructor.call(this,"Slider","slider",r,null,d);this.options=f(r.navigator)||f(r.navigator.slider)?{}:r.navigator.slider;this.optionsName="slider";this.panMode=!1;this.sessionVariables={}}function R(d,r){R.base.constructor.call(this,"RangeSelector","rangeSelector",r,null,d);this.parent=this.stockChart=d;this.options=f(r)||f(r.rangeSelector)?
958
958
  {}:r.rangeSelector;this.optionsName="rangeSelector";this.ctx=d.ctx}function N(d,r,k){N.base.constructor.call(this,"RangeButton","rangeButton",k,r,d.rangeSelector);this.stockChart=d;this.parent=this.rangeSelector=d.rangeSelector;this.options=f(k)?{}:k;this.optionsName="rangeButton";this.enabled=!1;this.state="off"}function T(d,r){T.base.constructor.call(this,"InputFields","inputFields",r,null,d.rangeSelector);this.stockChart=d;this.options=f(r)||f(r.inputFields)?{}:r.inputFields;this.parent=this.rangeSelector=
959
- d.rangeSelector;this.elements=[];this._textBlocks=[];this.optionsName="inputFields";this.elements.push(A("input","canvasjs-input-field","text"));this.elements.push(A("input","canvasjs-input-field","text"));for(var k=0;k<this.elements.length;k++)this.stockChart._canvasJSContainer.appendChild(this.elements[k]);var m=this,a=null,g=null;v(this.elements[0],"focus",function(){m.enabled&&(m.elements[0].focused=!0,m._textBlocks[0].borderColor=m.style.borderColorOnFocus,m._textBlocks[0].render(!0))},this.rangeSelector.stockChart.allDOMEventHandlers);
960
- v(this.elements[0],"focusout",function(){if(m.enabled){m.elements[0].focused=!1;var a;m.stockChart.charts&&m.stockChart.charts.length&&(a=m.stockChart.charts[0].axisX&&m.stockChart.charts[0].axisX.length?m.stockChart.charts[0].axisX[0]:m.stockChart.charts[0].axisX2[0]);this.value="dateTime"===m.valueType?ea(a?a.viewportMinimum:null,"YYYY-MM-DD",m.stockChart._cultureInfo):ca(a?a.viewportMinimum:null,m.valueFormatString,m.stockChart._cultureInfo);this.style.display="none";m._textBlocks[0].borderColor=
961
- m.style.borderColor;m._textBlocks[0].render(!0)}},this.rangeSelector.stockChart.allDOMEventHandlers);v(this.elements[1],"focus",function(){m.enabled&&(m.elements[1].focused=!0,m._textBlocks[1].borderColor=m.style.borderColorOnFocus,m._textBlocks[1].render(!0))},this.rangeSelector.stockChart.allDOMEventHandlers);v(this.elements[1],"focusout",function(){if(m.enabled){m.elements[1].focused=!1;var a;m.stockChart.charts&&m.stockChart.charts.length&&(a=m.stockChart.charts[0].axisX&&m.stockChart.charts[0].axisX.length?
962
- m.stockChart.charts[0].axisX[0]:m.stockChart.charts[0].axisX2[0]);this.value="dateTime"===m.valueType?ea(a?a.viewportMaximum:null,"YYYY-MM-DD",m.stockChart._cultureInfo):ca(a?a.viewportMaximum:null,m.valueFormatString,m.stockChart._cultureInfo);this.style.display="none";m._textBlocks[1].borderColor=m.style.borderColor;m._textBlocks[1].render(!0)}},this.rangeSelector.stockChart.allDOMEventHandlers);v(this.elements[0],"change",function(c){if(m.enabled){var b,d;m.stockChart.charts&&m.stockChart.charts.length&&
959
+ d.rangeSelector;this.elements=[];this._textBlocks=[];this.optionsName="inputFields";this.elements.push(A("input","canvasjs-input-field","text"));this.elements.push(A("input","canvasjs-input-field","text"));for(var k=0;k<this.elements.length;k++)this.stockChart._canvasJSContainer.appendChild(this.elements[k]);var m=this,a=null,g=null;w(this.elements[0],"focus",function(){m.enabled&&(m.elements[0].focused=!0,m._textBlocks[0].borderColor=m.style.borderColorOnFocus,m._textBlocks[0].render(!0))},this.rangeSelector.stockChart.allDOMEventHandlers);
960
+ w(this.elements[0],"focusout",function(){if(m.enabled){m.elements[0].focused=!1;var a;m.stockChart.charts&&m.stockChart.charts.length&&(a=m.stockChart.charts[0].axisX&&m.stockChart.charts[0].axisX.length?m.stockChart.charts[0].axisX[0]:m.stockChart.charts[0].axisX2[0]);this.value="dateTime"===m.valueType?ea(a?a.viewportMinimum:null,"YYYY-MM-DD",m.stockChart._cultureInfo):ca(a?a.viewportMinimum:null,m.valueFormatString,m.stockChart._cultureInfo);this.style.display="none";m._textBlocks[0].borderColor=
961
+ m.style.borderColor;m._textBlocks[0].render(!0)}},this.rangeSelector.stockChart.allDOMEventHandlers);w(this.elements[1],"focus",function(){m.enabled&&(m.elements[1].focused=!0,m._textBlocks[1].borderColor=m.style.borderColorOnFocus,m._textBlocks[1].render(!0))},this.rangeSelector.stockChart.allDOMEventHandlers);w(this.elements[1],"focusout",function(){if(m.enabled){m.elements[1].focused=!1;var a;m.stockChart.charts&&m.stockChart.charts.length&&(a=m.stockChart.charts[0].axisX&&m.stockChart.charts[0].axisX.length?
962
+ m.stockChart.charts[0].axisX[0]:m.stockChart.charts[0].axisX2[0]);this.value="dateTime"===m.valueType?ea(a?a.viewportMaximum:null,"YYYY-MM-DD",m.stockChart._cultureInfo):ca(a?a.viewportMaximum:null,m.valueFormatString,m.stockChart._cultureInfo);this.style.display="none";m._textBlocks[1].borderColor=m.style.borderColor;m._textBlocks[1].render(!0)}},this.rangeSelector.stockChart.allDOMEventHandlers);w(this.elements[0],"change",function(c){if(m.enabled){var b,d;m.stockChart.charts&&m.stockChart.charts.length&&
963
963
  (m.stockChart.navigator&&m.stockChart.navigator.enabled&&(d=m.stockChart.navigator&&m.stockChart.navigator.chart&&m.stockChart.navigator.chart.axisX?m.stockChart.navigator.chart.axisX[0]:m.stockChart.navigator.chart.axisX2[0]),b=m.stockChart.charts[0].axisX&&m.stockChart.charts[0].axisX.length?m.stockChart.charts[0].axisX[0]:m.stockChart.charts[0].axisX2[0]);c="dateTime"===m.valueType?isNaN((new Date(this.value.replace(/-/g,"/"))).getTime())?null:(new Date(this.value.replace(/-/g,"/"))).getTime():
964
964
  this.value;a=f(d)?!f(c)&&c<(f(b)?null:b.maximum)?Math.max(f(b)?null:b.minimum,c):f(b)?null:b.minimum:!f(c)&&c<(f(d)?null:d.maximum)?Math.max(f(d)?null:d.minimum,c):f(d)?null:d.minimum;g=f(b)?null:b.viewportMaximum;m.stockChart._rangeEventParameter={stockChart:m.stockChart,source:"inputFields",index:null,minimum:a,maximum:g};m.stockChart._rangeEventParameter.type="rangeChanging";m.stockChart.dispatchEvent("rangeChanging",m.stockChart._rangeEventParameter,m.stockChart);m.stockChart.sessionVariables._axisXMin=
965
- a;m.stockChart.sessionVariables._axisXMax=g;m.stockChart._syncCharts(a,g);m.stockChart._rangeEventParameter.type="rangeChanged";m.stockChart.dispatchEvent("rangeChanged",m.stockChart._rangeEventParameter,m.stockChart);m.stockChart.rangeSelector&&m.stockChart.rangeSelector.resetRangeButtons()}},this.rangeSelector.stockChart.allDOMEventHandlers);v(this.elements[1],"change",function(c){if(m.enabled){var b,d;m.stockChart.charts&&m.stockChart.charts.length&&(m.stockChart.navigator&&m.stockChart.navigator.enabled&&
965
+ a;m.stockChart.sessionVariables._axisXMax=g;m.stockChart._syncCharts(a,g);m.stockChart._rangeEventParameter.type="rangeChanged";m.stockChart.dispatchEvent("rangeChanged",m.stockChart._rangeEventParameter,m.stockChart);m.stockChart.rangeSelector&&m.stockChart.rangeSelector.resetRangeButtons()}},this.rangeSelector.stockChart.allDOMEventHandlers);w(this.elements[1],"change",function(c){if(m.enabled){var b,d;m.stockChart.charts&&m.stockChart.charts.length&&(m.stockChart.navigator&&m.stockChart.navigator.enabled&&
966
966
  (d=m.stockChart.navigator&&m.stockChart.navigator.chart&&m.stockChart.navigator.chart.axisX?m.stockChart.navigator.chart.axisX[0]:m.stockChart.navigator.chart.axisX2[0]),b=m.stockChart.charts[0].axisX&&m.stockChart.charts[0].axisX.length?m.stockChart.charts[0].axisX[0]:m.stockChart.charts[0].axisX2[0]);c="dateTime"===m.valueType?isNaN((new Date(this.value.replace(/-/g,"/"))).getTime())?null:(new Date(this.value.replace(/-/g,"/"))).getTime():this.value;a=b?b.viewportMinimum:null;g=f(d)?!f(c)&&c>(b?
967
967
  b.minimum:null)?Math.min(b?b.maximum:null,c):b?b.maximum:null:!f(c)&&c>(d?d.minimum:null)?Math.min(d?d.maximum:null,c):d?d.maximum:null;m.stockChart._rangeEventParameter={stockChart:m.stockChart,source:"inputFields",index:null,minimum:a,maximum:g};m.stockChart._rangeEventParameter.type="rangeChanging";m.stockChart.dispatchEvent("rangeChanging",m.stockChart._rangeEventParameter,m.stockChart);m.stockChart.sessionVariables._axisXMin=a;m.stockChart.sessionVariables._axisXMax=g;m.stockChart._syncCharts(a,
968
- g);m.stockChart._rangeEventParameter.type="rangeChanged";m.stockChart.dispatchEvent("rangeChanged",m.stockChart._rangeEventParameter,m.stockChart);m.stockChart.rangeSelector&&m.stockChart.rangeSelector.resetRangeButtons()}},this.rangeSelector.stockChart.allDOMEventHandlers);v(this.elements[0],"keydown",function(a){if(m.enabled&&13===a.keyCode){var b="dateTime"===m.valueType?ea(m.startValue,"YYYY-MM-DD"):ca(m.startValue,m.valueFormatString);this.value!=b&&hb(this,"change");this.blur();a.preventDefault&&
969
- a.preventDefault()}},this.rangeSelector.stockChart.allDOMEventHandlers);v(this.elements[1],"keydown",function(a){if(m.enabled&&13===a.keyCode){var b="dateTime"===m.valueType?ea(m.endValue,"YYYY-MM-DD"):ca(m.endValue,m.valueFormatString);this.value!=b&&hb(this,"change");this.blur();a.preventDefault&&a.preventDefault()}},this.rangeSelector.stockChart.allDOMEventHandlers)}function X(d,r){X.base.constructor.call(this,"ButtonStyle","buttonStyle",r,null,d.rangeSelector);this.stockChart=d;this.parent=this.rangeSelector=
968
+ g);m.stockChart._rangeEventParameter.type="rangeChanged";m.stockChart.dispatchEvent("rangeChanged",m.stockChart._rangeEventParameter,m.stockChart);m.stockChart.rangeSelector&&m.stockChart.rangeSelector.resetRangeButtons()}},this.rangeSelector.stockChart.allDOMEventHandlers);w(this.elements[0],"keydown",function(a){if(m.enabled&&13===a.keyCode){var b="dateTime"===m.valueType?ea(m.startValue,"YYYY-MM-DD"):ca(m.startValue,m.valueFormatString);this.value!=b&&hb(this,"change");this.blur();a.preventDefault&&
969
+ a.preventDefault()}},this.rangeSelector.stockChart.allDOMEventHandlers);w(this.elements[1],"keydown",function(a){if(m.enabled&&13===a.keyCode){var b="dateTime"===m.valueType?ea(m.endValue,"YYYY-MM-DD"):ca(m.endValue,m.valueFormatString);this.value!=b&&hb(this,"change");this.blur();a.preventDefault&&a.preventDefault()}},this.rangeSelector.stockChart.allDOMEventHandlers)}function X(d,r){X.base.constructor.call(this,"ButtonStyle","buttonStyle",r,null,d.rangeSelector);this.stockChart=d;this.parent=this.rangeSelector=
970
970
  d.rangeSelector;this.options=f(r)||f(r.buttonStyle)?{}:r.buttonStyle;this.optionsName="buttonStyle"}function Y(d,r){Y.base.constructor.call(this,"Style","style",r,null,d.rangeSelector.inputFields);this.stockChart=d;this.parent=this.inputFields=d.rangeSelector.inputFields;this.options=f(r)||f(r.style)?{}:r.style;this.optionsName="style"}var V=!0;ga(F,ba);F.prototype._updateOptions=function(){this.updateOption("width");this.updateOption("height");this.updateOption("theme");this.updateOption("colorSet")&&
971
971
  (this.selectedColorSet="undefined"!==typeof wa[this.colorSet]?wa[this.colorSet]:wa.colorSet1);this.updateOption("backgroundColor");this.backgroundColor||(this.backgroundColor="rgba(0,0,0,0)");this.updateOption("exportEnabled");this.updateOption("exportFileName");this.updateOption("creditHref");this.updateOption("creditHref");this.updateOption("culture");this._cultureInfo=new Na(this.options.culture);this.updateOption("animationEnabled");this.updateOption("animationDuration");this.updateOption("rangeChanging");
972
972
  this.updateOption("rangeChanged");this.toolbar=new Wa(this,this.options.toolbar);ib(this)};F._supportedChartTypes=Da("line stepLine spline column area stepArea splineArea bubble scatter stackedColumn stackedColumn100 stackedArea stackedArea100 candlestick ohlc boxAndWhisker rangeColumn error rangeArea rangeSplineArea waterfall".split(" "));F.prototype._initialize=function(){this._updateOptions();this.animationEnabled=this.animationEnabled&&t;this._updateSize();this.clearCanvas();this.ctx.beginPath();
@@ -1005,10 +1005,10 @@ this.navigator.enabled)if(this.navigator.options.data){this.navigator.chart.sele
1005
1005
  this._chartsPlotAreaX1+(e&&e.bounds?e.bounds.x1:0);this.navigator.panel.style.left=this._chartsPlotAreaX1+this.layoutManager.getFreeSpace().x1-(e&&e.bounds?e.bounds.x1:0)+"px";this.navigator.panel.style.width=this.navigator.chart.panel.style.width=this.navigator.options.width?this.navigator.options.width:this._chartsPlotAreaX2-this._chartsPlotAreaX1+(e&&e.bounds?e.bounds.x1:0)+"px";0<this.navigator.height&&this.navigator.chart.render(this.navigator._chartOptions);this.navigator.backgroundColor=this.navigator.chart.backgroundColor;
1006
1006
  this.navigator.animationEnabled=this.navigator.chart.animationEnabled;this.navigator.animationDuration=this.navigator.chart.animationDuration;this.navigator.theme=this.navigator.chart.theme;this.navigator.axisX=this.navigator.chart.axisX;this.navigator.axisX2=this.navigator.chart.axisX2;this.navigator.axisY=this.navigator.chart.axisY;this.navigator.axisY2=this.navigator.chart.axisY2;this.navigator.data=this.navigator.chart.data}}B=k=null;c=0;g=a=null;for(d=0;d<this.charts.length;d++)for(b=this.charts[d].axisX&&
1007
1007
  this.charts[d].axisX.length?this.charts[d].axisX:this.charts[d].axisX2,k=k||(b&&0<b.length?b[0].minimum:null),B=B||(b&&0<b.length?b[0].maximum:null),c=0;c<b.length;c++)e=b[c],e.minimum<k&&(k=e.minimum),e.maximum>B&&(B=e.maximum);var l;this.navigator&&(this.navigator.chart&&V)&&(l=this.navigator.chart.axisX&&0<this.navigator.chart.axisX.length?this.navigator.chart.axisX[0]:this.navigator.chart.axisX2[0],this._axisXMin=this.navigator.slider.minimum=f(this.navigator.options.slider)||f(this.navigator.options.slider.minimum)?
1008
- null:Math.max(l.minimum,this.navigator.slider.minimum),this._axisXMax=this.navigator.slider.maximum=f(this.navigator.options.slider)||f(this.navigator.options.slider.maximum)?null:Math.min(l.maximum,this.navigator.slider.maximum));if(this.rangeSelector&&this.rangeSelector.enabled){c=l?l.maximum-l.minimum:B-k;this.charts&&this.charts.length&&(e=this.charts[0].axisX&&this.charts[0].axisX.length?this.charts[0].axisX[0]:this.charts[0].axisX2[0]);for(d=0;d<this.rangeSelector.buttons.length;d++){var v=
1009
- null,b=this.rangeSelector.buttons[d];"year"===b.rangeType?v=31104E6*b.range:"ytd"===b.rangeType?v="ytd":"month"===b.rangeType?v=2592E6*b.range:"week"===b.rangeType?v=6048E5*b.range:"day"===b.rangeType?v=864E5*b.range:"hour"===b.rangeType?v=36E5*b.range:"minute"===b.rangeType?v=6E4*b.range:"second"===b.rangeType?v=1E3*b.range:"millisecond"===b.rangeType?v=b.range:"all"===b.rangeType?v=null:"number"===b.rangeType&&(v=b.range);if("ytd"===b.rangeType||v<c)b.enabled=!0;b.enabled?(b.cursor=this.rangeSelector.buttonStyle.cursor,
1010
- "on"===b.state&&((f(this._axisXMin)&&f(this._axisXMax)&&(b.textBlock.fontWeight="bold",b.textBlock.fontColor=this.rangeSelector.buttonStyle.labelFontColorOnHover,b.textBlock.backgroundColor=this.rangeSelector.buttonStyle.backgroundColorOnSelect),"ytd"===b.rangeType&&e)?(a=new Date(e.viewportMaximum),a.setDate(1),a.setMonth(0),a=a.getTime()):f(v)?l?(a=l.minimum,g=l.maximum):e&&(a=e.minimum,g=e.maximum):e.viewportMaximum-v<(l?l.minimum:e.minimum)?(g=l.minimum-(e.viewportMaximum-v),a=l.minimum,g=Math.min(l.maximum,
1011
- e.viewportMaximum+g)):(a=e.viewportMaximum-v,g=e.viewportMaximum)),f(this._axisXMin)&&f(this._axisXMax)||(b.state="off"),this._axisXMin=f(this._axisXMin)?a:this._axisXMin,this._axisXMax=f(this._axisXMax)?g:this._axisXMax):b.cursor="not-allowed";b.mousemove=function(a){this.enabled&&"off"===this.state&&(this.textBlock.backgroundColor=a.stockChart.rangeSelector.buttonStyle.backgroundColorOnHover,this.textBlock.fontColor=a.stockChart.rangeSelector.buttonStyle.labelFontColorOnHover,this.textBlock.render(!0))};
1008
+ null:Math.max(l.minimum,this.navigator.slider.minimum),this._axisXMax=this.navigator.slider.maximum=f(this.navigator.options.slider)||f(this.navigator.options.slider.maximum)?null:Math.min(l.maximum,this.navigator.slider.maximum));if(this.rangeSelector&&this.rangeSelector.enabled){c=l?l.maximum-l.minimum:B-k;this.charts&&this.charts.length&&(e=this.charts[0].axisX&&this.charts[0].axisX.length?this.charts[0].axisX[0]:this.charts[0].axisX2[0]);for(d=0;d<this.rangeSelector.buttons.length;d++){var w=
1009
+ null,b=this.rangeSelector.buttons[d];"year"===b.rangeType?w=31104E6*b.range:"ytd"===b.rangeType?w="ytd":"month"===b.rangeType?w=2592E6*b.range:"week"===b.rangeType?w=6048E5*b.range:"day"===b.rangeType?w=864E5*b.range:"hour"===b.rangeType?w=36E5*b.range:"minute"===b.rangeType?w=6E4*b.range:"second"===b.rangeType?w=1E3*b.range:"millisecond"===b.rangeType?w=b.range:"all"===b.rangeType?w=null:"number"===b.rangeType&&(w=b.range);if("ytd"===b.rangeType||w<c)b.enabled=!0;b.enabled?(b.cursor=this.rangeSelector.buttonStyle.cursor,
1010
+ "on"===b.state&&((f(this._axisXMin)&&f(this._axisXMax)&&(b.textBlock.fontWeight="bold",b.textBlock.fontColor=this.rangeSelector.buttonStyle.labelFontColorOnHover,b.textBlock.backgroundColor=this.rangeSelector.buttonStyle.backgroundColorOnSelect),"ytd"===b.rangeType&&e)?(a=new Date(e.viewportMaximum),a.setDate(1),a.setMonth(0),a=a.getTime()):f(w)?l?(a=l.minimum,g=l.maximum):e&&(a=e.minimum,g=e.maximum):e.viewportMaximum-w<(l?l.minimum:e.minimum)?(g=l.minimum-(e.viewportMaximum-w),a=l.minimum,g=Math.min(l.maximum,
1011
+ e.viewportMaximum+g)):(a=e.viewportMaximum-w,g=e.viewportMaximum)),f(this._axisXMin)&&f(this._axisXMax)||(b.state="off"),this._axisXMin=f(this._axisXMin)?a:this._axisXMin,this._axisXMax=f(this._axisXMax)?g:this._axisXMax):b.cursor="not-allowed";b.mousemove=function(a){this.enabled&&"off"===this.state&&(this.textBlock.backgroundColor=a.stockChart.rangeSelector.buttonStyle.backgroundColorOnHover,this.textBlock.fontColor=a.stockChart.rangeSelector.buttonStyle.labelFontColorOnHover,this.textBlock.render(!0))};
1012
1012
  b.mouseover=function(a){this.enabled&&"off"===this.state&&(this.textBlock.backgroundColor=a.stockChart.rangeSelector.buttonStyle.backgroundColorOnHover,this.textBlock.fontColor=a.stockChart.rangeSelector.buttonStyle.labelFontColorOnHover,this.textBlock.render(!0))};b.mouseout=function(a){this.enabled&&"off"===this.state&&(this.textBlock.backgroundColor=a.stockChart.rangeSelector.buttonStyle.backgroundColor,this.textBlock.fontColor=a.stockChart.rangeSelector.buttonStyle.labelFontColor,this.textBlock.render(!0))};
1013
1013
  b.click=function(a){if(this.enabled){for(var b=0,c=null,d=null,e=0;e<r.rangeSelector.buttons.length;e++)r.rangeSelector.buttons[e]!=this&&(r.rangeSelector.buttons[e].state="off"),r.rangeSelector.buttons[e].textBlock.fontWeight=r.rangeSelector.buttonStyle.labelFontWeight,r.rangeSelector.buttons[e].textBlock.fontColor=a.stockChart.rangeSelector.buttonStyle.labelFontColor,r.rangeSelector.buttons[e].textBlock.backgroundColor=a.stockChart.rangeSelector.buttonStyle.backgroundColor,r.rangeSelector.buttons[e].textBlock.render(!0);
1014
1014
  var g;r.charts&&r.charts.length&&(g=r.charts[0].axisX&&r.charts[0].axisX.length?r.charts[0].axisX[0]:r.charts[0].axisX2[0]);var h;r.navigator&&r.navigator.chart&&(h=r.navigator.chart.axisX?r.navigator.chart.axisX[0]:r.navigator.chart.axisX2[0]);"year"===this.rangeType?b=31104E6*this.range:"month"===this.rangeType?b=2592E6*this.range:"week"===this.rangeType?b=6048E5*this.range:"day"===this.rangeType?b=864E5*this.range:"hour"===this.rangeType?b=36E5*this.range:"minute"===this.rangeType?b=6E4*this.range:
@@ -1025,11 +1025,11 @@ this._axisXMax}for(d=0;d<this.rangeSelector.inputFields.elements.length;d++)this
1025
1025
  this._axisXMin;this._axisXMax=!f(this.sessionVariables._axisXMax)&&this.navigator&&this.navigator.slider&&!this.navigator.slider.hasOptionChanged("maximum")?this.sessionVariables._axisXMax:this._axisXMax;if(!f(l)){this.navigator.slider.hasOptionChanged("minimum")&&(this._axisXMin=this.sessionVariables._axisXMin=this.navigator.slider.sessionVariables.minimum=this.navigator.slider.minimum=this.navigator.slider.options.minimum);this.navigator.slider.hasOptionChanged("maximum")&&(this._axisXMax=this.sessionVariables._axisXMax=
1026
1026
  this.navigator.slider.sessionVariables.maximum=this.navigator.slider.maximum=this.navigator.slider.options.maximum);if(this._axisXMin<l.minimum||this._axisXMin>l.maximum)this._axisXMin=l.minimum;if(this._axisXMax<l.minimum||this._axisXMax>l.maximum)this._axisXMax=l.maximum}!f(l)&&l.reversed?this._syncCharts(this._axisXMax,this._axisXMin):this._syncCharts(this._axisXMin,this._axisXMax)};F.prototype.setChartsLayout=function(){var d,f,k=0,m=this.width;this.isPlotAreaSet=this.isDateTime=!1;for(var a=
1027
1027
  0;a<this.charts.length;a++){d=this.charts[a];d._initialize();d.setLayout();f={};if((d.axisX[0]||d.axisX2[0])&&(d.axisY[0]||d.axisY2[0])){var g=d.axisX[0]?d.axisX[0].lineCoordinates:d.axisX2[0].lineCoordinates;if(d.axisY&&0<d.axisY.length&&d.axisY[0]){var c=d.axisY[0];f.x1=g.x1<g.x2?g.x1:c.lineCoordinates.x1;f.x2=g.x2>c.lineCoordinates.x2?g.x2:c.lineCoordinates.x2}d.axisY2&&0<d.axisY2.length&&d.axisY2[0]&&(c=d.axisY2[0],f.x1=g.x1<g.x2?g.x1:c.lineCoordinates.x1,f.x2=g.x2>c.lineCoordinates.x2?g.x2:c.lineCoordinates.x2)}for(g=
1028
- 0;g<d.data.length;g++)"dateTime"===d.data[g].xValueType&&(this.isDateTime=!0);k=Math.max(k,f.x1);m=Math.min(m,f.x2);d.sessionVariables.plotAreaBounds=f}this._chartsPlotAreaX1=k;this._chartsPlotAreaX2=m};F.prototype._updateSize=function(){return lb.call(this,[this.canvas,this.overlaidCanvas])};F.prototype._syncCharts=function(d,r){for(var k=this,m=null,a=Math.min(d,r),g=Math.max(d,r),c=0;c<this.charts.length;c++){m=this.charts[c];m.toolTip&&m.toolTip.enabled&&m.toolTip.hide();for(var b=0;b<m.axisX.length;b++)m.axisX[b].setViewPortRange(d,
1029
- r),m.axisX[b].options.labelAngle=f(m.axisX[b].options.labelAngle)?0:m.axisX[b].options.labelAngle,this.charts[c].axisX[b].crosshair&&this.charts[c].axisX[b].crosshair.enabled&&(this.charts[c].axisX[b].crosshair.options.updated||(this.charts[c].axisX[b].crosshair.options.updated=function(a){for(var b=0;b<k.charts.length;b++)if(k.charts[b]!=a.chart)for(var c=0;c<k.charts[b].axisX.length;c++)k.charts[b].axisX[c].crosshair&&k.charts[b].axisX[c].crosshair.showAt(a.value)}),this.charts[c].axisX[b].crosshair.options.hidden||
1030
- (this.charts[c].axisX[b].crosshair.options.hidden=function(a){for(var b=0;b<k.charts.length;b++)if(k.charts[b]!=a.chart)for(var c=0;c<k.charts[b].axisX.length;c++)k.charts[b].axisX[c].crosshair&&k.charts[b].axisX[c].crosshair.hide()}));for(b=0;b<m.axisX2.length;b++)m.axisX2[b].setViewPortRange(d,r),m.axisX2[b].options.labelAngle=f(m.axisX2[b].options.labelAngle)?0:m.axisX2[b].options.labelAngle,this.charts[c].axisX2[b].crosshair&&this.charts[c].axisX2[b].crosshair.enabled&&(this.charts[c].axisX2[b].crosshair.options.updated||
1031
- (this.charts[c].axisX2[b].crosshair.options.updated=function(a){for(var b=0;b<k.charts.length;b++)if(k.charts[b]!=a.chart)for(var c=0;c<k.charts[b].axisX2.length;c++)k.charts[b].axisX2[c].crosshair&&k.charts[b].axisX2[c].crosshair.showAt(a.value)}),this.charts[c].axisX2[b].crosshair.options.hidden||(this.charts[c].axisX2[b].crosshair.options.hidden=function(a){for(var b=0;b<k.charts.length;b++)if(k.charts[b]!=a.chart)for(var c=0;c<k.charts[b].axisX2.length;c++)k.charts[b].axisX2[c].crosshair&&k.charts[b].axisX2[c].crosshair.hide()}));
1032
- m.options.toolbar?m.options.toolbar=m.options.toolbar:k.options.toolbar&&(m.options.toolbar=k.options.toolbar);m._initialize();m.setLayout();m.panEnabled=m.options.zoomEnabled&&m.zoomEnabled?!1:!0;m.renderElements();(f(this.charts[c].options.toolTip)||!f(this.charts[c].options.toolTip)&&f(this.charts[c].options.toolTip.updated))&&this.charts[c].toolTip&&(this.charts[c].toolTip.updated=function(a){for(var b=0;b<k.charts.length;b++)k.charts[b]!=a.chart&&k.charts[b].toolTip.showAtX(a.entries[0].xValue,
1028
+ 0;g<d.data.length;g++)"dateTime"===d.data[g].xValueType&&(this.isDateTime=!0);k=Math.max(k,f.x1);m=Math.min(m,f.x2);d.sessionVariables.plotAreaBounds=f}this._chartsPlotAreaX1=k;this._chartsPlotAreaX2=m};F.prototype._updateSize=function(){return lb.call(this,[this.canvas,this.overlaidCanvas])};F.prototype._syncCharts=function(d,r){for(var k=this,m=null,a=Math.min(d,r),g=Math.max(d,r),c=0;c<this.charts.length;c++){m=this.charts[c];m.toolTip&&(isNaN(m.toolTip._prevX)||isNaN(m.toolTip._prevY))&&m.toolTip.hide();
1029
+ for(var b=0;b<m.axisX.length;b++)m.axisX[b].setViewPortRange(d,r),m.axisX[b].options.labelAngle=f(m.axisX[b].options.labelAngle)?0:m.axisX[b].options.labelAngle,this.charts[c].axisX[b].crosshair&&this.charts[c].axisX[b].crosshair.enabled&&(this.charts[c].axisX[b].crosshair.options.updated||(this.charts[c].axisX[b].crosshair.options.updated=function(a){for(var b=0;b<k.charts.length;b++)if(k.charts[b]!=a.chart)for(var c=0;c<k.charts[b].axisX.length;c++)k.charts[b].axisX[c].crosshair&&k.charts[b].axisX[c].crosshair.showAt(a.value)}),
1030
+ this.charts[c].axisX[b].crosshair.options.hidden||(this.charts[c].axisX[b].crosshair.options.hidden=function(a){for(var b=0;b<k.charts.length;b++)if(k.charts[b]!=a.chart)for(var c=0;c<k.charts[b].axisX.length;c++)k.charts[b].axisX[c].crosshair&&k.charts[b].axisX[c].crosshair.hide()}));for(b=0;b<m.axisX2.length;b++)m.axisX2[b].setViewPortRange(d,r),m.axisX2[b].options.labelAngle=f(m.axisX2[b].options.labelAngle)?0:m.axisX2[b].options.labelAngle,this.charts[c].axisX2[b].crosshair&&this.charts[c].axisX2[b].crosshair.enabled&&
1031
+ (this.charts[c].axisX2[b].crosshair.options.updated||(this.charts[c].axisX2[b].crosshair.options.updated=function(a){for(var b=0;b<k.charts.length;b++)if(k.charts[b]!=a.chart)for(var c=0;c<k.charts[b].axisX2.length;c++)k.charts[b].axisX2[c].crosshair&&k.charts[b].axisX2[c].crosshair.showAt(a.value)}),this.charts[c].axisX2[b].crosshair.options.hidden||(this.charts[c].axisX2[b].crosshair.options.hidden=function(a){for(var b=0;b<k.charts.length;b++)if(k.charts[b]!=a.chart)for(var c=0;c<k.charts[b].axisX2.length;c++)k.charts[b].axisX2[c].crosshair&&
1032
+ k.charts[b].axisX2[c].crosshair.hide()}));m.options.toolbar?m.options.toolbar=m.options.toolbar:k.options.toolbar&&(m.options.toolbar=k.options.toolbar);m._initialize();m.setLayout();m.panEnabled=m.options.zoomEnabled&&m.zoomEnabled?!1:!0;m.renderElements();(f(this.charts[c].options.toolTip)||!f(this.charts[c].options.toolTip)&&f(this.charts[c].options.toolTip.updated))&&this.charts[c].toolTip&&(this.charts[c].toolTip.updated=function(a){for(var b=0;b<k.charts.length;b++)k.charts[b]!=a.chart&&k.charts[b].toolTip.showAtX(a.entries[0].xValue,
1033
1033
  a.entries[0].dataSeriesIndex)});(f(this.charts[c].options.toolTip)||!f(this.charts[c].options.toolTip)&&f(this.charts[c].options.toolTip.hidden))&&this.charts[c].toolTip&&(this.charts[c].toolTip.hidden=function(a){for(var b=0;b<k.charts.length;b++)k.charts[b]!=a.chart&&k.charts[b].toolTip.hide()})}this.rangeSelector&&(this.rangeSelector.enabled&&this.rangeSelector.inputFields&&this.rangeSelector.inputFields.enabled)&&this.rangeSelector._updateInputFields(a,g);this.navigator&&this.navigator.enabled&&
1034
1034
  this.navigator._updateSlider(a,g)};F.prototype.destroy=function(){for(var d=this.allDOMEventHandlers,f=0;f<this.charts.length;f++)this.charts[f].destroy();this.navigator&&this.navigator.enabled&&this.navigator.chart.destroy();for(f=0;f<d.length;f++)gb(d[f][0],d[f][1],d[f][2],d[f][3]);for(this.allDOMEventHandlers=[];this.navigator&&this.navigator.enabled&&this.navigator.panel.hasChildNodes();)this.navigator.panel.removeChild(this.navigator.panel.lastChild);for(;this._canvasJSContainer&&this._canvasJSContainer.hasChildNodes();)this._canvasJSContainer.removeChild(this._canvasJSContainer.lastChild);
1035
1035
  for(;this.container&&this.container.hasChildNodes();)this.container.removeChild(this.container.lastChild);this.container=this._canvasJSContainer=null;Ba(this.canvas);Ba(this.overlaidCanvas);this._eventManager&&this._eventManager.ghostCanvas&&Ba(this._eventManager.ghostCanvas);this.navigator.panel=null;this.rangeSelector.panel=null};F.prototype.exportChart=function(d){d="undefined"===typeof d?{}:d;var f=d.format?d.format:"png",k=d.fileName?d.fileName:this.exportFileName,m=this.canvas.cloneNode();m.setAttribute("class",
@@ -1052,8 +1052,8 @@ f.push(m)}else"inputFields"===m.objectType&&(a=this.stockChart.rangeSelector.inp
1052
1052
  !1;break}g?this.fireEvent(this.mouseoveredObjectMaps[k],"mouseout",d):a.push(this.mouseoveredObjectMaps[k])}this.mouseoveredObjectMaps=a;for(k=0;k<f.length;k++){a=!1;for(m=0;m<this.mouseoveredObjectMaps.length;m++)if(f[k].id===this.mouseoveredObjectMaps[m].id){a=!0;break}a||(this.fireEvent(f[k],"mouseover",d),this.mouseoveredObjectMaps.push(f[k]));"click"===d.type?this.fireEvent(f[k],"click",d):"mousemove"===d.type&&this.fireEvent(f[k],"mousemove",d)}}};O.prototype.fireEvent=function(d,f,k){if(d&&
1053
1053
  f){var m=d.eventParameter,a=d.eventContext,g=d.eventContext.userContext;g&&(a&&g[a[f]])&&g[a[f]].call(g,m);"mouseout"!==f?g.cursor&&g.cursor!==k.target.style.cursor&&(k.target.style.cursor=g.cursor):(k.target.style.cursor=this.stockChart._defaultCursor,delete d.eventParameter,delete d.eventContext)}};ga(y,ba);y.prototype._updateOptions=function(){this.updateOption("enabled");this.updateOption("backgroundColor");this.options.backgroundColor||(this.backgroundColor=this.stockChart.backgroundColor);this.updateOption("animationEnabled");
1054
1054
  this.animationEnabled=this.animationEnabled&&t;this.updateOption("animationDuration");this.updateOption("theme");this.updateOption("verticalAlign");this.updateOption("horizontalAlign");this.updateOption("width");this.updateOption("height");this.updateOption("dynamicUpdate")};y.prototype._initialize=function(){this._updateOptions();var d;this.enabled&&!this.panel&&(this.panel=m("canvasjs-navigator-panel"),(d=!f(this.panel)&&this.stockChart._canvasJSContainer.contains(this.panel))||this.stockChart._canvasJSContainer.appendChild(this.panel));
1055
- d=!f(this.panel)&&this.stockChart._canvasJSContainer.contains(this.panel);if(this.enabled){this.height=f(this.options.height)?0.14*this.stockChart.height:parseInt(this.options.height);d||this.stockChart._canvasJSContainer.appendChild(this.panel);var k=this.stockChart.layoutManager.getFreeSpace(),t=k.x1,v=k.y1;this.width=this.options.width?this.width:k.width;"top"===this.verticalAlign?(v=k.y1+2,d="top"):(v=k.y2-this.height-2,d="bottom");"left"===this.horizontalAlign?t=k.x1+2:"center"===this.horizontalAlign?
1056
- t=k.x1+k.width/2-this.width/2:"right"===this.horizontalAlign&&(t=k.x2-2-this.width);this.panel.style.top=v+"px";this.panel.style.left=t+"px";this.panel.style.height=this.height+"px";this.panel.style.width=this.width+"px";this.stockChart.layoutManager.registerSpace(d,{width:this.width,height:this.height+2});this.bounds={x1:t,y1:v,x2:t+this.width,y2:v+this.height}}else d&&this.stockChart._canvasJSContainer.removeChild(this.panel)};y.prototype._updateSlider=function(d,k){var m=this.chart.axisX&&this.chart.axisX.length?
1055
+ d=!f(this.panel)&&this.stockChart._canvasJSContainer.contains(this.panel);if(this.enabled){this.height=f(this.options.height)?0.14*this.stockChart.height:parseInt(this.options.height);d||this.stockChart._canvasJSContainer.appendChild(this.panel);var k=this.stockChart.layoutManager.getFreeSpace(),t=k.x1,w=k.y1;this.width=this.options.width?this.width:k.width;"top"===this.verticalAlign?(w=k.y1+2,d="top"):(w=k.y2-this.height-2,d="bottom");"left"===this.horizontalAlign?t=k.x1+2:"center"===this.horizontalAlign?
1056
+ t=k.x1+k.width/2-this.width/2:"right"===this.horizontalAlign&&(t=k.x2-2-this.width);this.panel.style.top=w+"px";this.panel.style.left=t+"px";this.panel.style.height=this.height+"px";this.panel.style.width=this.width+"px";this.stockChart.layoutManager.registerSpace(d,{width:this.width,height:this.height+2});this.bounds={x1:t,y1:w,x2:t+this.width,y2:w+this.height}}else d&&this.stockChart._canvasJSContainer.removeChild(this.panel)};y.prototype._updateSlider=function(d,k){var m=this.chart.axisX&&this.chart.axisX.length?
1057
1057
  this.chart.axisX[0]:this.chart.axisX2[0];if(!f(m)){var t=Math.max(m.bounds.x1,m.convertValueToPixel(m.reversed?Math.max(d,Math.min(m.maximum,k)):Math.min(d,Math.min(m.maximum,k)))),a=m.convertValueToPixel(m.reversed?Math.min(d,Math.min(m.maximum,k)):Math.max(d,Math.min(m.maximum,k)));this.slider.panel.style.left=t+"px";this.slider.left=t;this.slider.panel.style.width=a-t+"px";this.slider.width=a-t;this.slider.minimum=d;this.slider.maximum=k;this.chart.resetOverlayedCanvas();this.slider.maskInverted?
1058
1058
  aa(this.chart.overlaidCanvasCtx,t,0,a,this.height,this.slider.maskColor,0,this.slider.outlineColor,0,0,0,0,this.slider.maskOpacity):(aa(this.chart.overlaidCanvasCtx,m.bounds.x1,0,t,this.height,this.slider.maskColor,0,this.slider.outlineColor,!1,!1,!1,!1,this.slider.maskOpacity),aa(this.chart.overlaidCanvasCtx,a,0,this.width,this.height,this.slider.maskColor,0,this.slider.outlineColor,!1,!1,!1,!1,this.slider.maskOpacity));this.chart.overlaidCanvasCtx.lineWidth=this.slider.outlineThickness;this.chart.overlaidCanvasCtx.strokeStyle=
1059
1059
  this.slider.outlineColor;this.chart.overlaidCanvasCtx.save();this.chart.overlaidCanvasCtx.beginPath();0<this.slider.outlineThickness&&(this.slider.outlineInverted?(this.chart.overlaidCanvasCtx.moveTo(m.bounds.x1,this.height-this.slider.outlineThickness/2),this.chart.overlaidCanvasCtx.lineTo(1===this.slider.outlineThickness%2?(t-this.slider.outlineThickness/2<<0)+0.5:t,this.height-this.slider.outlineThickness/2),this.chart.overlaidCanvasCtx.lineTo(1===this.slider.outlineThickness%2?(t-this.slider.outlineThickness/
@@ -1067,30 +1067,30 @@ this.slider.handleBorderThickness;this.chart.overlaidCanvasCtx.strokeStyle=this.
1067
1067
  2+this.slider.handleHeight/4);this.chart.overlaidCanvasCtx.moveTo((1===this.slider.handleBorderThickness%2?(a-this.slider.handleBorderThickness/2<<0)+0.5:a)-Math.round(this.slider.handleBorderThickness),this.height/2-this.slider.handleHeight/4);this.chart.overlaidCanvasCtx.lineTo((1===this.slider.handleBorderThickness%2?(a-this.slider.handleBorderThickness/2<<0)+0.5:a)-Math.round(this.slider.handleBorderThickness),this.height/2+this.slider.handleHeight/4);this.chart.overlaidCanvasCtx.moveTo((1===
1068
1068
  this.slider.handleBorderThickness%2?(a+this.slider.handleBorderThickness/2<<0)+0.5:a)+Math.round(this.slider.handleBorderThickness),this.height/2-this.slider.handleHeight/4);this.chart.overlaidCanvasCtx.lineTo((1===this.slider.handleBorderThickness%2?(a+this.slider.handleBorderThickness/2<<0)+0.5:a)+Math.round(this.slider.handleBorderThickness),this.height/2+this.slider.handleHeight/4);this.chart.overlaidCanvasCtx.stroke();this.chart.overlaidCanvasCtx.restore()}};ga(M,ba);M.prototype._updateOptions=
1069
1069
  function(){this.updateOption("maskColor");this.updateOption("maskInverted");this.updateOption("maskOpacity");this.updateOption("handleColor");this.updateOption("handleBorderColor");this.updateOption("handleBorderThickness");this.updateOption("handleWidth");this.updateOption("handleHeight");this.updateOption("outlineColor");this.updateOption("outlineThickness");this.updateOption("outlineInverted");this.updateOption("minimum");this.updateOption("maximum")};M.prototype._attachEvents=function(){var d=
1070
- this;v(this.panel,"mousedown",function(f){d.stockChart.isDrag=!0;f.target!==d.leftHandle&&f.target!==d.rightHandle&&(d.stockChart.navigatorClicked=!0,d.currentHandle=d.leftHandle,d.panMode=!0,d.startPosition=za(f),f.target===d.currentHandle?d.startPosition.x+=d.currentHandle.offsetLeft+d.currentHandle.clientWidth/2+d.panel.offsetLeft:f.target===d.panel&&(d.startPosition.x+=d.panel.offsetLeft),d.startWidth=d.panel.clientWidth,d.startLeft=d.panel.offsetLeft)},this.stockChart.allDOMEventHandlers);v(this.panel,
1071
- window.navigator.msPointerEnabled?"MSPointerDown":"touchstart",function(f){d.stockChart._touchEventHandler(f)},this.stockChart.allDOMEventHandlers);v(this.navigator.panel,"mousedown",function(k){if(k.target!==d.navigator.slider.panel&&k.target!==d.leftHandle&&k.target!==d.rightHandle){d.stockChart.navigatorClicked=!0;var m=za(k),t,a;t=0;var g=d.navigator.chart.axisX&&d.navigator.chart.axisX.length?d.navigator.chart.axisX[0]:d.navigator.chart.axisX2[0];k=d.navigator.slider.left;f(d.startLeft)&&(d.startLeft=
1070
+ this;w(this.panel,"mousedown",function(f){d.stockChart.isDrag=!0;f.target!==d.leftHandle&&f.target!==d.rightHandle&&(d.stockChart.navigatorClicked=!0,d.currentHandle=d.leftHandle,d.panMode=!0,d.startPosition=za(f),f.target===d.currentHandle?d.startPosition.x+=d.currentHandle.offsetLeft+d.currentHandle.clientWidth/2+d.panel.offsetLeft:f.target===d.panel&&(d.startPosition.x+=d.panel.offsetLeft),d.startWidth=d.panel.clientWidth,d.startLeft=d.panel.offsetLeft)},this.stockChart.allDOMEventHandlers);w(this.panel,
1071
+ window.navigator.msPointerEnabled?"MSPointerDown":"touchstart",function(f){d.stockChart._touchEventHandler(f)},this.stockChart.allDOMEventHandlers);w(this.navigator.panel,"mousedown",function(k){if(k.target!==d.navigator.slider.panel&&k.target!==d.leftHandle&&k.target!==d.rightHandle){d.stockChart.navigatorClicked=!0;var m=za(k),t,a;t=0;var g=d.navigator.chart.axisX&&d.navigator.chart.axisX.length?d.navigator.chart.axisX[0]:d.navigator.chart.axisX2[0];k=d.navigator.slider.left;f(d.startLeft)&&(d.startLeft=
1072
1072
  k);t=k+d.navigator.slider.width;a=m.x-(k+t)/2;if(m.x<k||m.x>t){var m=Math.max(0,k+a),c=Math.min(t+a,d.navigator.width);t+a>d.navigator.width&&(t=t+a-d.navigator.width,m-=t);0>k+a&&(t=Math.abs(k+a),c+=t);d.stockChart._rangeEventParameter={stockChart:d.stockChart,source:"navigator",index:null,minimum:g.convertPixelToValue(m),maximum:g.convertPixelToValue(c)};d.stockChart.sessionVariables._axisXMin=g.convertPixelToValue(m);d.stockChart.sessionVariables._axisXMax=g.convertPixelToValue(c);d.navigator.dynamicUpdate?
1073
1073
  (d.stockChart._rangeEventParameter.type="rangeChanging",d.stockChart.dispatchEvent("rangeChanging",d.stockChart._rangeEventParameter,d.stockChart),d.stockChart._syncCharts(g.convertPixelToValue(m),g.convertPixelToValue(c)),d.stockChart._rangeEventParameter.type="rangeChanged",d.stockChart.dispatchEvent("rangeChanged",d.stockChart._rangeEventParameter,d.stockChart)):d.navigator._updateSlider(d.stockChart.sessionVariables._axisXMin,d.stockChart.sessionVariables._axisXMax)}}},this.navigator.stockChart.allDOMEventHandlers);
1074
- v(this.navigator.panel,window.navigator.msPointerEnabled?"MSPointerDown":"touchstart",function(f){d.stockChart._touchEventHandler(f)},this.navigator.stockChart.allDOMEventHandlers);v(this.navigator.stockChart.container,"mousemove",function(k){var m=d.navigator.chart.axisX&&d.navigator.chart.axisX.length?d.navigator.chart.axisX[0]:d.navigator.chart.axisX2[0];if(!f(d.currentHandle)&&d.startPosition){d.navigator.chart.overlaidCanvas.style.cursor=d.navigator.chart.container.style.cursor=d.navigator.panel.style.cursor=
1074
+ w(this.navigator.panel,window.navigator.msPointerEnabled?"MSPointerDown":"touchstart",function(f){d.stockChart._touchEventHandler(f)},this.navigator.stockChart.allDOMEventHandlers);w(this.navigator.stockChart.container,"mousemove",function(k){var m=d.navigator.chart.axisX&&d.navigator.chart.axisX.length?d.navigator.chart.axisX[0]:d.navigator.chart.axisX2[0];if(!f(d.currentHandle)&&d.startPosition){d.navigator.chart.overlaidCanvas.style.cursor=d.navigator.chart.container.style.cursor=d.navigator.panel.style.cursor=
1075
1075
  "ew-resize";var t;t=d.currentHandle===d.leftHandle?1:-1;var a=za(k);k=k.target||k.srcElement;a.x=k===d.currentHandle?a.x+(d.currentHandle.offsetLeft+d.currentHandle.clientWidth/2+d.panel.offsetLeft):k===d.mask||k===d.panel?a.x+d.panel.offsetLeft:k===d.rightHandle&&d.currentHandle===d.leftHandle?a.x+(d.rightHandle.offsetLeft+d.rightHandle.clientWidth/2+d.panel.offsetLeft):k===d.leftHandle&&d.currentHandle===d.rightHandle?a.x+d.panel.offsetLeft:a.x+("canvasjs-chart-toolbar"===k.parentElement.className?
1076
1076
  k.offsetParent.offsetLeft+k.offsetLeft-d.stockChart._chartsPlotAreaX1:k.parentElement.parentElement.parentElement===d.navigator.panel?k.offsetLeft:k.offsetLeft-d.stockChart._chartsPlotAreaX1);var g=a.x-d.startPosition.x;if(0!==g){k=d.panel.offsetLeft;var c=d.panel.clientWidth;0<t&&(k=Math.max(d.startLeft+t*g,d._left));d.panMode||(c=Math.min(d.startWidth-t*g,d.fullWidth),t*g>d.startWidth?(k=0<t?d.startLeft+d.startWidth:Math.max(a.x,d._left),c=(0<t?a.x:d.startLeft)-parseFloat(k)):0>t&&(k=d.startLeft));
1077
1077
  k+c<=d._left+d.fullWidth&&(2<Math.abs(d.startLeft-k)||2<Math.abs(d.startWidth-parseFloat(c)))&&(0<t&&(d.left=k,d.panel.style.left=d.left+"px"),d.panMode||(d.panel.style.width=d.width=c+"px"),f(m)||(t=m.convertPixelToValue(Math.max(m.bounds.x1,parseFloat(k))),m=m.convertPixelToValue(parseFloat(k)+parseFloat(c)),d.stockChart.sessionVariables._axisXMin=t,d.stockChart.sessionVariables._axisXMax=m,d.stockChart.rangeSelector&&!d.panMode&&d.stockChart.rangeSelector.resetRangeButtons(),d.stockChart._rangeEventParameter=
1078
1078
  {stockChart:d.stockChart,source:"navigator",index:null,minimum:t,maximum:m},d.navigator.dynamicUpdate?(d.stockChart._rangeEventParameter.type="rangeChanging",d.stockChart.dispatchEvent("rangeChanging",d.stockChart._rangeEventParameter,d.stockChart),d.stockChart._syncCharts(t,m),d.stockChart._rangeEventParameter.type="rangeChanged",d.stockChart.dispatchEvent("rangeChanged",d.stockChart._rangeEventParameter,d.stockChart)):d.navigator._updateSlider(d.stockChart.sessionVariables._axisXMin,d.stockChart.sessionVariables._axisXMax)))}}else d.navigator.chart.overlaidCanvas.style.cursor=
1079
- d.navigator.chart.container.style.cursor=d.navigator.panel.style.cursor="auto"},this.navigator.stockChart.allDOMEventHandlers);v(this.navigator.stockChart.container,window.navigator.msPointerEnabled?"MSPointerMove":"touchmove",function(f){d.stockChart._touchEventHandler(f)},this.navigator.stockChart.allDOMEventHandlers)};M.prototype._initialize=function(){var d=this,k;this._updateOptions();V&&(this.eventsAttached||(this._attachEvents(),this.eventsAttached=!0),this.handleWidth=this.options.handleWidth?
1079
+ d.navigator.chart.container.style.cursor=d.navigator.panel.style.cursor="auto"},this.navigator.stockChart.allDOMEventHandlers);w(this.navigator.stockChart.container,window.navigator.msPointerEnabled?"MSPointerMove":"touchmove",function(f){d.stockChart._touchEventHandler(f)},this.navigator.stockChart.allDOMEventHandlers)};M.prototype._initialize=function(){var d=this,k;this._updateOptions();V&&(this.eventsAttached||(this._attachEvents(),this.eventsAttached=!0),this.handleWidth=this.options.handleWidth?
1080
1080
  this.handleWidth:8,this.handleHeight=this.options.handleHeight?Math.min(this.navigator.height,this.options.handleHeight):0.25*this.navigator.height,this.leftHandle?P(this.leftHandle,{height:this.navigator.height+"px",width:this.handleWidth+10+"px",position:"absolute",left:"-"+(this.handleWidth/2+8)+"px",top:0,cursor:"ew-resize",borderStyle:"solid",borderWidth:this.handleBorderThickness+"px",borderColor:"transparent",outline:"none",padding:0,backgroundColor:"transparent",color:"transparent",fontSize:"12px",
1081
1081
  fontFamily:"Arial",userSelect:"none",MozUserSelect:"none",WebkitUserSelect:"none",opacity:1,zIndex:999}):(this.leftHandle=A("button","canvasjs-slider-handle","button"),this.leftHandle.innerHTML="||",P(this.leftHandle,{height:this.navigator.height+"px",width:this.handleWidth+10+"px",position:"absolute",left:"-"+(this.handleWidth/2+8)+"px",top:0,cursor:"ew-resize",borderStyle:"solid",borderWidth:this.handleBorderThickness+"px",borderColor:"transparent",outline:"none",padding:0,backgroundColor:"transparent",
1082
1082
  color:"transparent",fontSize:"12px",fontFamily:"Arial",userSelect:"none",MozUserSelect:"none",WebkitUserSelect:"none",opacity:1,zIndex:999}),this.panel.appendChild(this.leftHandle),this.initHandle(this.leftHandle,1)),this.rightHandle?P(this.rightHandle,{height:this.navigator.height+"px",width:this.handleWidth+10+"px",position:"absolute",right:"-"+(this.handleWidth/2+8)+"px",top:0,cursor:"ew-resize",borderStyle:"solid",borderWidth:this.handleBorderThickness+"px",borderColor:"transparent",outline:"none",
1083
1083
  padding:"0px",backgroundColor:"transparent",color:"transparent",fontSize:"12px",fontFamily:"Arial",userSelect:"none",MozUserSelect:"none",WebkitUserSelect:"none",msUserSelect:"none",opacity:1,zIndex:"999"}):(this.rightHandle=A("button","canvasjs-slider-handle","button"),this.rightHandle.innerHTML="||",P(this.rightHandle,{height:this.navigator.height+"px",width:this.handleWidth+10+"px",position:"absolute",right:"-"+(this.handleWidth/2+8)+"px",top:0,cursor:"ew-resize",borderStyle:"solid",borderWidth:this.handleBorderThickness+
1084
1084
  "px",borderColor:"transparent",outline:"none",padding:"0px",backgroundColor:"transparent",color:"transparent",fontSize:"12px",fontFamily:"Arial",userSelect:"none",MozUserSelect:"none",WebkitUserSelect:"none",msUserSelect:"none",opacity:1,zIndex:"999"}),this.panel.appendChild(this.rightHandle),this.initHandle(this.rightHandle,-1)),P(this.panel,{position:"absolute",height:this.navigator.height+"px",width:"100%",cursor:"move"}),this.fullWidth=this.panel.clientWidth,this._left=this.navigator.panel.offsetLeft,
1085
- v(document,"mousedown",function(f){if(d.stockChart.rangeSelector&&d.stockChart.rangeSelector.inputFields&&d.stockChart.rangeSelector.inputFields.enabled)for(var k=0;k<d.stockChart.rangeSelector.inputFields.elements.length;k++)f.target!=d.stockChart.rangeSelector.inputFields.elements[k]&&d.stockChart.rangeSelector.inputFields.elements[k].focused&&d.stockChart.rangeSelector.inputFields.elements[k].blur()},this.navigator.stockChart.allDOMEventHandlers),v(document,window.navigator.msPointerEnabled?"MSPointerDown":
1086
- "touchstart",function(d){a:{var f=d.changedTouches,f=f?f[0]:d,a="";switch(d.type){case "touchstart":case "MSPointerDown":a="mousedown";break;case "touchmove":case "MSPointerMove":a="mousemove";break;case "touchend":case "MSPointerUp":a="mouseup";break;default:break a}d=document.createEvent("MouseEvent");d.initMouseEvent(a,!0,!0,window,1,f.screenX,f.screenY,f.clientX,f.clientY,!1,!1,!1,!1,0,null);f.target.dispatchEvent(d)}},this.navigator.stockChart.allDOMEventHandlers),v(document,"mouseup",function(m){d.panMode=
1085
+ w(document,"mousedown",function(f){if(d.stockChart.rangeSelector&&d.stockChart.rangeSelector.inputFields&&d.stockChart.rangeSelector.inputFields.enabled)for(var k=0;k<d.stockChart.rangeSelector.inputFields.elements.length;k++)f.target!=d.stockChart.rangeSelector.inputFields.elements[k]&&d.stockChart.rangeSelector.inputFields.elements[k].focused&&d.stockChart.rangeSelector.inputFields.elements[k].blur()},this.navigator.stockChart.allDOMEventHandlers),w(document,window.navigator.msPointerEnabled?"MSPointerDown":
1086
+ "touchstart",function(d){a:{var f=d.changedTouches,f=f?f[0]:d,a="";switch(d.type){case "touchstart":case "MSPointerDown":a="mousedown";break;case "touchmove":case "MSPointerMove":a="mousemove";break;case "touchend":case "MSPointerUp":a="mouseup";break;default:break a}d=document.createEvent("MouseEvent");d.initMouseEvent(a,!0,!0,window,1,f.screenX,f.screenY,f.clientX,f.clientY,!1,!1,!1,!1,0,null);f.target.dispatchEvent(d)}},this.navigator.stockChart.allDOMEventHandlers),w(document,"mouseup",function(m){d.panMode=
1087
1087
  !1;d.navigator.stockChart.isDrag=!1;if(d.stockChart.navigatorClicked){m=Math.min(d.stockChart.sessionVariables._axisXMin,d.stockChart.sessionVariables._axisXMax);var t=Math.max(d.stockChart.sessionVariables._axisXMin,d.stockChart.sessionVariables._axisXMax);f(d.stockChart._rangeEventParameter)&&(d.stockChart._rangeEventParameter={stockChart:d.stockChart,source:"navigator",index:null,minimum:m,maximum:t});if(2<Math.abs(d.startLeft-d.left)||2<Math.abs(d.startWidth-parseFloat(d.width))){d.navigator.dynamicUpdate||
1088
1088
  (d.stockChart._rangeEventParameter.type="rangeChanging",d.stockChart.dispatchEvent("rangeChanging",d.stockChart._rangeEventParameter,d.stockChart));for(var a=0;a<d.stockChart.charts.length;a++){k=d.stockChart.charts[a];k.toolTip&&k.toolTip.enabled&&k.toolTip.hide();for(var g=0;g<k.axisX.length;g++)k.axisX[g].setViewPortRange(m,t);for(g=0;g<k.axisX2.length;g++)k.axisX2[g].setViewPortRange(m,t);k.render()}d.stockChart.rangeSelector&&(d.stockChart.rangeSelector.enabled&&d.stockChart.rangeSelector.inputFields&&
1089
- d.stockChart.rangeSelector.inputFields.enabled)&&d.stockChart.rangeSelector._updateInputFields(m,t);d.navigator.dynamicUpdate||(d.stockChart._rangeEventParameter.type="rangeChanged",d.stockChart.dispatchEvent("rangeChanged",d.stockChart._rangeEventParameter,d.stockChart))}}d.stockChart.navigatorClicked=d.currentHandle=d.startPosition=d.startWidth=d.startLeft=null},this.navigator.stockChart.allDOMEventHandlers),v(document,window.navigator.msPointerEnabled?"MSPointerUp":"touchend",function(m){d.panMode=
1089
+ d.stockChart.rangeSelector.inputFields.enabled)&&d.stockChart.rangeSelector._updateInputFields(m,t);d.navigator.dynamicUpdate||(d.stockChart._rangeEventParameter.type="rangeChanged",d.stockChart.dispatchEvent("rangeChanged",d.stockChart._rangeEventParameter,d.stockChart))}}d.stockChart.navigatorClicked=d.currentHandle=d.startPosition=d.startWidth=d.startLeft=null},this.navigator.stockChart.allDOMEventHandlers),w(document,window.navigator.msPointerEnabled?"MSPointerUp":"touchend",function(m){d.panMode=
1090
1090
  !1;d.navigator.stockChart.isDrag=!1;if(d.stockChart.navigatorClicked){m=Math.min(d.stockChart.sessionVariables._axisXMin,d.stockChart.sessionVariables._axisXMax);var t=Math.max(d.stockChart.sessionVariables._axisXMin,d.stockChart.sessionVariables._axisXMax);f(d.stockChart._rangeEventParameter)&&(d.stockChart._rangeEventParameter={stockChart:d.stockChart,source:"navigator",index:null,minimum:m,maximum:t});d.navigator.dynamicUpdate||(d.stockChart._rangeEventParameter.type="rangeChanging",d.stockChart.dispatchEvent("rangeChanging",
1091
1091
  d.stockChart._rangeEventParameter,d.stockChart));for(var a=0;a<d.stockChart.charts.length;a++){k=d.stockChart.charts[a];k.toolTip&&k.toolTip.enabled&&k.toolTip.hide();for(var g=0;g<k.axisX.length;g++)k.axisX[g].setViewPortRange(m,t);for(g=0;g<k.axisX2.length;g++)k.axisX2[g].setViewPortRange(m,t);k.render()}d.stockChart.rangeSelector&&(d.stockChart.rangeSelector.enabled&&d.stockChart.rangeSelector.inputFields&&d.stockChart.rangeSelector.inputFields.enabled)&&d.stockChart.rangeSelector._updateInputFields(m,
1092
- t);d.navigator.dynamicUpdate||(d.stockChart._rangeEventParameter.type="rangeChanged",d.stockChart.dispatchEvent("rangeChanged",d.stockChart._rangeEventParameter,d.stockChart))}d.stockChart.navigatorClicked=d.currentHandle=d.startPosition=d.startWidth=d.startLeft=null},this.navigator.stockChart.allDOMEventHandlers))};M.prototype.initHandle=function(d,f){var k=this;d&&(v(d,"mousedown",function(d){k.stockChart.navigatorClicked=!0;k.currentHandle=this;k.startPosition=za(d);d.target===k.currentHandle?
1093
- k.startPosition.x+=k.currentHandle.offsetLeft+k.currentHandle.clientWidth/2+k.panel.offsetLeft:d.target===k.panel&&(k.startPosition.x+=k.panel.offsetLeft);k.startWidth=k.panel.clientWidth;k.startLeft=k.panel.offsetLeft;d.preventDefault&&d.preventDefault();d.stopPropagation&&d.stopPropagation()},this.navigator.stockChart.allDOMEventHandlers),v(d,window.navigator.msPointerEnabled?"MSPointerDown":"touchstart",function(d){k.stockChart._touchEventHandler(d)},this.navigator.stockChart.allDOMEventHandlers))};
1092
+ t);d.navigator.dynamicUpdate||(d.stockChart._rangeEventParameter.type="rangeChanged",d.stockChart.dispatchEvent("rangeChanged",d.stockChart._rangeEventParameter,d.stockChart))}d.stockChart.navigatorClicked=d.currentHandle=d.startPosition=d.startWidth=d.startLeft=null},this.navigator.stockChart.allDOMEventHandlers))};M.prototype.initHandle=function(d,f){var k=this;d&&(w(d,"mousedown",function(d){k.stockChart.navigatorClicked=!0;k.currentHandle=this;k.startPosition=za(d);d.target===k.currentHandle?
1093
+ k.startPosition.x+=k.currentHandle.offsetLeft+k.currentHandle.clientWidth/2+k.panel.offsetLeft:d.target===k.panel&&(k.startPosition.x+=k.panel.offsetLeft);k.startWidth=k.panel.clientWidth;k.startLeft=k.panel.offsetLeft;d.preventDefault&&d.preventDefault();d.stopPropagation&&d.stopPropagation()},this.navigator.stockChart.allDOMEventHandlers),w(d,window.navigator.msPointerEnabled?"MSPointerDown":"touchstart",function(d){k.stockChart._touchEventHandler(d)},this.navigator.stockChart.allDOMEventHandlers))};
1094
1094
  ga(R,ba);R.prototype._updateOptions=function(){this.updateOption("enabled");this.updateOption("verticalAlign");this.updateOption("horizontalAlign");this.updateOption("width");this.updateOption("height");this.updateOption("label");this.updateOption("selectedRangeButtonIndex")};R.prototype._initialize=function(){var d=0;this._updateOptions();this._label={};this.buttons=[];if(V&&this.enabled){if(this.options.buttons)for(var k=0;k<this.options.buttons.length;k++)this.buttons.push(new N(this.stockChart,
1095
1095
  k,this.options.buttons[k]));else{for(k=0;6>k;k++)this.buttons.push(new N(this.stockChart,k));this.buttonLabels="1m 3m 6m YTD 1y All".split(" ")}this._wrapElements=!1;var m=this.stockChart.layoutManager.getFreeSpace(),t=m.x1,k=m.y1;this.width=this.options.width?this.width:m.width;f(this.buttonStyle.options.labelFontSize)&&(this.buttonStyle.labelFontSize=this.stockChart.getAutoFontSize(this.buttonStyle.labelFontSize));this.rangeButtonsWidth=0;this.buttonStyle.maxWidth=this.buttonStyle.options.maxWidth?
1096
1096
  this.buttonStyle.options.maxWidth:this.stockChart.width/this.buttons.length;if(this.buttons&&0<this.buttons.length){var a=new la(this.ctx,{x:0,y:0,backgroundColor:this.stockChart.backgroundColor,borderThickness:0,cornerRadius:0,maxWidth:0.2*this.stockChart.width,maxHeight:2*this.buttonStyle.labelFontSize,angle:0,padding:{left:5,right:5,top:2,bottom:2},text:f(this.stockChart.options.culture)||f(this.stockChart._cultureInfo.rangeSelector.rangeText)?this.label:this.stockChart._cultureInfo.rangeSelector.rangeText,
@@ -1117,7 +1117,7 @@ k[d]:this.label};N.prototype.render=function(){this.textBlock.render(!0)};ga(T,b
1117
1117
  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=
1118
1118
  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}};ga(X,ba);X.prototype._updateOptions=function(){this.updateOption("backgroundColor");this.updateOption("backgroundColorOnHover");this.updateOption("backgroundColorOnSelect");this.updateOption("borderColor");this.updateOption("borderThickness");
1119
1119
  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")};ga(Y,ba);Y.prototype._updateOptions=function(){this.updateOption("backgroundColor");this.updateOption("borderColor");this.updateOption("borderThickness");
1120
- 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}();T.version="v1.7.43 GA";window.CanvasJS&&(T&&(!window.CanvasJS.StockChart&&window.CanvasJS.Chart)&&(window.CanvasJS.StockChart=T),T&&!window.CanvasJS.Chart&&
1120
+ 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}();T.version="v1.7.44 GA";window.CanvasJS&&(T&&(!window.CanvasJS.StockChart&&window.CanvasJS.Chart)&&(window.CanvasJS.StockChart=T),T&&!window.CanvasJS.Chart&&
1121
1121
  (window.CanvasJS.Chart=Ja,window.CanvasJS.StockChart=T))})();
1122
1122
 
1123
1123
  /*