>>1,a=t[n];if(!(void 0!==a&&0P(s,i))void 0!==l&&0>P(l,s)?(t[n]=l,t[o]=i,n=o):(t[n]=s,t[r]=i,n=r);else{if(!(void 0!==l&&0>P(l,i)))break t;t[n]=l,t[o]=i,n=o}}}return e}return null}function P(t,e){var i=t.sortIndex-e.sortIndex;return 0!==i?i:t.id-e.id}var A=[],B=[],I=1,F=null,D=3,L=!1,E=!1,O=!1;function V(t){for(var e=S(B);null!==e;){if(null===e.callback)C(B);else{if(!(e.startTime<=t))break;C(B),e.sortIndex=e.expirationTime,M(A,e)}e=S(B)}}function z(t){if(O=!1,V(t),!E)if(null!==S(A))E=!0,n(N);else{var e=S(B);null!==e&&a(z,e.startTime-t)}}function N(t,i){E=!1,O&&(O=!1,r()),L=!0;var n=D;try{for(V(i),F=S(A);null!==F&&(!(F.expirationTime>i)||t&&!s());){var o=F.callback;if(null!==o){F.callback=null,D=F.priorityLevel;var l=o(F.expirationTime<=i);i=e.unstable_now(),"function"===typeof l?F.callback=l:F===S(A)&&C(A),V(i)}else C(A);F=S(A)}if(null!==F)var h=!0;else{var c=S(B);null!==c&&a(z,c.startTime-i),h=!1}return h}finally{F=null,D=n,L=!1}}function W(t){switch(t){case 1:return-1;case 2:return 250;case 5:return 1073741823;case 4:return 1e4;default:return 5e3}}var Y=o;e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(t){t.callback=null},e.unstable_continueExecution=function(){E||L||(E=!0,n(N))},e.unstable_getCurrentPriorityLevel=function(){return D},e.unstable_getFirstCallbackNode=function(){return S(A)},e.unstable_next=function(t){switch(D){case 1:case 2:case 3:var e=3;break;default:e=D}var i=D;D=e;try{return t()}finally{D=i}},e.unstable_pauseExecution=function(){},e.unstable_requestPaint=Y,e.unstable_runWithPriority=function(t,e){switch(t){case 1:case 2:case 3:case 4:case 5:break;default:t=3}var i=D;D=t;try{return e()}finally{D=i}},e.unstable_scheduleCallback=function(t,i,s){var o=e.unstable_now();if("object"===typeof s&&null!==s){var l=s.delay;l="number"===typeof l&&0o?(t.sortIndex=l,M(B,t),null===S(A)&&t===S(B)&&(O?r():O=!0,a(z,l-o))):(t.sortIndex=s,M(A,t),E||L||(E=!0,n(N))),t},e.unstable_shouldYield=function(){var t=e.unstable_now();V(t);var i=S(A);return i!==F&&null!==F&&null!==i&&null!==i.callback&&i.startTime<=t&&i.expirationTimet&&(i=!0,t*=-1),t=""+t,e=e||1;t.length>16).toString(16),i=((65280&t)>>8).toString(16);return t=((255&t)>>0).toString(16),"#"+(e=2>e.length?"0"+e:e)+(i=2>i.length?"0"+i:i)+(t=2>t.length?"0"+t:t)}function c(t,e){var i,n=this.length>>>0;for(0>(i=0>(i=Number(e)||0)?Math.ceil(i):Math.floor(i))&&(i+=n);ii;i++)if(t[i]!==t[i+4]|t[i]!==t[i+8]|t[i]!==t[i+12]){e=!1;break}return e?t[0]<<16|t[1]<<8|t[2]:0}function x(t,e,i){return t in e?e[t]:i[t]}function b(t,e,i,n){R&&ht?(n=!u(n)&&n?t.getContext("2d",{willReadFrequently:!0}):t.getContext("2d"),ut=n.webkitBackingStorePixelRatio||n.mozBackingStorePixelRatio||n.msBackingStorePixelRatio||n.oBackingStorePixelRatio||n.backingStorePixelRatio||1,dt=ct/ut,t.width=e*dt,t.height=i*dt,ct!==ut&&(t.style.width=e+"px",t.style.height=i+"px",n.scale(dt,dt))):(t.width=e,t.height=i)}function v(t){if(!mt){var e=!1,i=!1;"undefined"===typeof U.Chart.creditHref?(t.creditHref=ft("iuuqr;..b`ow`rkr/bnl."),t.creditText=ft("B`ow`rKR/bnl")):(e=t.updateOption("creditText"),i=t.updateOption("creditHref")),t.creditHref&&t.creditText&&(t._creditLink||(t._creditLink=document.createElement("a"),t._creditLink.setAttribute("class","canvasjs-chart-credit"),t._creditLink.setAttribute("title","JavaScript Charts"),_(t._creditLink,{outline:"none",margin:"0px",position:"absolute",right:"2px",top:t.height-14+"px",color:"dimgrey",textDecoration:"none",fontSize:"11px",fontFamily:"Calibri, Lucida Grande, Lucida Sans Unicode, Arial, sans-serif"}),t._creditLink.setAttribute("tabIndex",-1),t._creditLink.setAttribute("target","_blank")),(0===t.renderCount||e||i)&&(t._creditLink.setAttribute("href",t.creditHref),t._creditLink.innerHTML=t.creditText),t._creditLink&&t.creditHref&&t.creditText?(t._creditLink.parentElement||t._canvasJSContainer.appendChild(t._creditLink),t._creditLink.style.top=t.height-14+"px"):t._creditLink.parentElement&&t._canvasJSContainer.removeChild(t._creditLink))}}function w(t,e,i){W&&(this.canvasCount|=0,window.console.log(++this.canvasCount));var n=document.createElement("canvas");return n.setAttribute("class","canvasjs-chart-canvas"),b(n,t,e,i),R||"undefined"===typeof G_vmlCanvasManager||G_vmlCanvasManager.initElement(n),n}function _(t,e){for(var i in e)t.style[i]=e[i]}function k(t,e,i){e.getAttribute("state")||(e.style.backgroundColor=t.toolbar.itemBackgroundColor,e.style.color=t.toolbar.fontColor,e.style.border="none",_(e,{WebkitUserSelect:"none",MozUserSelect:"none",msUserSelect:"none",userSelect:"none"})),e.getAttribute("state")!==i&&(e.setAttribute("state",i),e.setAttribute("type","button"),_(e,{padding:"5px 12px",cursor:"pointer",float:"left",width:"40px",height:"25px",outline:"0px",verticalAlign:"baseline",lineHeight:"0"}),e.innerHTML="
",_(e.childNodes[0],{height:"95%",pointerEvents:"none"})),e.setAttribute("title",t._cultureInfo[i+"Text"])}function T(){for(var t=null,e=0;ev?"a":"p";case"tt":return 12>v?"am":"pm";case"T":return 12>v?"A":"P";case"TT":return 12>v?"AM":"PM";case"K":return m?"UTC":(String(l).match(s)||[""]).pop().replace(o,"");case"z":return(0(t=Number(t));n&&(t*=-1);var a=i?i.decimalSeparator:".",s=i?i.digitGroupSeparator:",",o="";e=String(e);o=1;var l=i="",h=-1,c=[],u=[],d=0,p=0,f=0,m=!1,g=0;l=e.match(/"[^"]*"|'[^']*'|[eE][+-]*[0]+|[,]+[.]|\u2030|./g);e=null;for(var y=0;l&&yh)h=y;else{if("%"===e)o*=100;else{if("\u2030"===e){o*=1e3;continue}if(","===e[0]&&"."===e[e.length-1]){o/=Math.pow(1e3,e.length-1),h=y+e.length-1;continue}"E"!==e[0]&&"e"!==e[0]||"0"!==e[e.length-1]||(m=!0)}0>h?(c.push(e),"#"===e||"0"===e?d++:","===e&&f++):(u.push(e),"#"!==e&&"0"!==e||p++)}for(m&&(e=Math.floor(t),l=-Math.floor(Math.log(t)/Math.LN10+1),g=0===t?0:0===e?-(d+l):function(t){var e=0>t;if(1>Math.abs(t)){var i=parseInt(t.toString().split("e-")[1]);i&&(t=(e?-1*t:t)*Math.pow(10,i-1),t="0."+Array(i).join("0")+t.toString().substring(2),t=e?"-"+t:t)}else 20<(i=parseInt(t.toString().split("+")[1]))&&(i-=20,t=(t/=Math.pow(10,i)).toString()+Array(i+1).join("0"));return String(t)}(e).length-d,o/=Math.pow(10,g)),0>h&&(h=y),e=(o=(t*o).toFixed(p)).split("."),o=(e[0]+"").split(""),t=(e[1]+"").split(""),o&&"0"===o[0]&&o.shift(),m=l=y=p=h=0;0g?e.replace("+","").replace("-",""):e.replace("-","")).replace(/[0]+/,(function(t){return r(g,t.length)}));for(s="",c=!1;0g?e.replace("+","").replace("-",""):e.replace("-","")).replace(/[0]+/,(function(t){return r(g,t.length)}));return i+=(c?a:"")+s,n?"-"+i:i},lt=function(t){var e=0,i=0;return(t=t||window.event).offsetX||0===t.offsetX?(e=t.offsetX,i=t.offsetY):t.layerX||0==t.layerX?(e=t.layerX,i=t.layerY):(e=t.pageX-t.target.offsetLeft,i=t.pageY-t.target.offsetTop),{x:e,y:i}},ht=!0,ct=window.devicePixelRatio||1,ut=1,dt=ht?ct/ut:1,pt=function(t,e,i,n,a,r,s,o,l,h,c,u,d){"undefined"===typeof d&&(d=1),s=s||0,o=o||"black";var p=15e))break;a=r-1}}return i>e&&1r&&(n-=(o=e.pop()).height,a=l)}this._wrappedText={lines:e,width:a,height:n},this.width=a+(this.leftPadding+this.rightPadding),this.height=n+(this.topPadding+this.bottomPadding),this.ctx.font=i},A.prototype._getFontString=function(){var t;t=this.fontStyle?this.fontStyle+" ":"",t+=this.fontWeight?this.fontWeight+" ":"",t+=this.fontSize?this.fontSize+"px ":"";var e=this.fontFamily?this.fontFamily+"":"";return!R&&e&&("'"!==(e=e.split(",")[0])[0]&&'"'!==e[0]&&(e="'"+e+"'")),t+e},i(B,C),i(I,C),I.prototype.setLayout=function(){if(this.text){var t,e,i,n=this.dockInsidePlotArea?this.chart.plotArea:this.chart,a=n.layoutManager.getFreeSpace(),r=a.x1,s=a.y1,o=0,l=0,h=this.chart._menuButton&&this.chart.exportEnabled&&"top"===this.verticalAlign?40:0;"top"===this.verticalAlign||"bottom"===this.verticalAlign?(null===this.maxWidth&&(this.maxWidth=a.width-4-h*("center"===this.horizontalAlign?2:1)),l=.5*a.height-this.margin-2,o=0):"center"===this.verticalAlign&&("left"===this.horizontalAlign||"right"===this.horizontalAlign?(null===this.maxWidth&&(this.maxWidth=a.height-4),l=.5*a.width-this.margin-2):"center"===this.horizontalAlign&&(null===this.maxWidth&&(this.maxWidth=a.width-4),l=.5*a.height-4)),u(this.padding)||"number"!==typeof this.padding?u(this.padding)||"object"!==typeof this.padding||(i=this.padding.top?this.padding.top:this.padding.bottom?this.padding.bottom:0,i+=this.padding.bottom?this.padding.bottom:this.padding.top?this.padding.top:0):i=2*this.padding,this.wrap||(l=Math.min(l,1.5*this.fontSize+i)),i=(l=new A(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,borderThickness:this.borderThickness,backgroundColor:this.backgroundColor,maxWidth:this.maxWidth,maxHeight:l,cornerRadius:this.cornerRadius,text:this.text,padding:this.padding,textBaseline:"middle"})).measureText(),"top"===this.verticalAlign||"bottom"===this.verticalAlign?("top"===this.verticalAlign?(s=a.y1+2+this.fontSize/2+4,e="top"):"bottom"===this.verticalAlign&&(s=a.y2-2-i.height+this.fontSize/2+4,e="bottom"),"left"===this.horizontalAlign?r=a.x1+2:"center"===this.horizontalAlign?r=a.x1+a.width/2-i.width/2:"right"===this.horizontalAlign&&(r=a.x2-2-i.width-h),t=this.horizontalAlign,this.width=i.width,this.height=i.height):"center"===this.verticalAlign&&("left"===this.horizontalAlign?(r=a.x1+2+(this.fontSize/2+4),s=a.y2-2-(this.maxWidth/2-i.width/2),o=-90,e="left",this.width=i.height,this.height=i.width):"right"===this.horizontalAlign?(r=a.x2-2-(this.fontSize/2+4),s=a.y1+2+(this.maxWidth/2-i.width/2),o=90,e="right",this.width=i.height,this.height=i.width):"center"===this.horizontalAlign&&(s=n.y1+(n.height/2-i.height/2)+this.fontSize/2+4,r=n.x1+(n.width/2-i.width/2),e="center",this.width=i.width,this.height=i.height),t="center"),l.x=r,l.y=s,l.angle=o,l.horizontalAlign=t,this._textBlock=l,n.layoutManager.registerSpace(e,{width:this.width+("left"===e||"right"===e?this.margin+2:0),height:this.height+("top"===e||"bottom"===e?this.margin+2:0)}),this.bounds={x1:r,y1:s,x2:r+this.width,y2:s+this.height},this.ctx.textBaseline="top"}},I.prototype.render=function(){this._textBlock&&this._textBlock.render(!0)},i(F,C),F.prototype.setLayout=I.prototype.setLayout,F.prototype.render=I.prototype.render,D.prototype.get=function(t,e){var i=null;return 0t[r].x&&0l?{x:t[o].x+l/3,y:t[o].y+i/3}:{x:t[o].x,y:t[o].y+(1===n.length?0:i/9)},r=0===(o=a)?0:o-1,s=o===t.length-1?o:o+1,i=Math.abs((t[s].x-t[r].x)/(0===t[o].x-t[r].x?.01:t[o].x-t[r].x))*(e-1)/2+1,l=(t[s].x-t[r].x)/i,i=(t[s].y-t[r].y)/i,n[n.length]=t[o].x>t[r].x&&0l?{x:t[o].x-l/3,y:t[o].y-i/3}:{x:t[o].x,y:t[o].y-i/9},n[n.length]=t[a]}return n}function r(t,e,i,n,a,r,s,o,l,h){var c=0;h?(s.color=r,o.color=r):h=1,c=l?Math.abs(a-i):Math.abs(n-e),c=0this.labelAngle?this.labelAngle-=180:270<=this.labelAngle&&360>=this.labelAngle&&(this.labelAngle-=360),this.options.scaleBreaks&&(this.scaleBreaks=new V(this.chart,this.options.scaleBreaks,++this.chart._eventManager.lastObjectId,this)),this.stripLines=[],this.options.stripLines&&0=this._appliedBreaks[t+1].startValue&&(this._appliedBreaks[t].endValue=Math.max(this._appliedBreaks[t].endValue,this._appliedBreaks[t+1].endValue),window.console&&window.console.log("CanvasJS Error: Breaks "+t+" and "+(t+1)+" are overlapping."),this._appliedBreaks.splice(t,2),t--)}}function z(t,e,i,n,a,r){z.base.constructor.call(this,"Break",e,i,n,r),this.id=a,this.chart=t,this.ctx=this.chart.ctx,this.scaleBreaks=r,this.optionsName=e,this.isOptionsInArray=!0,this.type=i.type?this.type:r.type,this.fillOpacity=u(i.fillOpacity)?r.fillOpacity:this.fillOpacity,this.lineThickness=u(i.lineThickness)?r.lineThickness:this.lineThickness,this.color=i.color?this.color:r.color,this.lineColor=i.lineColor?this.lineColor:r.lineColor,this.lineDashType=i.lineDashType?this.lineDashType:r.lineDashType,!u(this.startValue)&&this.startValue.getTime&&(this.startValue=this.startValue.getTime()),!u(this.endValue)&&this.endValue.getTime&&(this.endValue=this.endValue.getTime()),"number"===typeof this.startValue&&"number"===typeof this.endValue&&this.endValue=navigator.userAgent.search("MSIE")&&_(t._zoomButton.childNodes[0],{WebkitFilter:"invert(100%)",filter:"invert(100%)"}))}),this.allDOMEventHandlers),g(this._zoomButton,"mouseout",(function(){e||(_(t._zoomButton,{backgroundColor:t.toolbar.itemBackgroundColor,color:t.toolbar.fontColor,transition:"0.4s",WebkitTransition:"0.4s"}),0>=navigator.userAgent.search("MSIE")&&_(t._zoomButton.childNodes[0],{WebkitFilter:"invert(0%)",filter:"invert(0%)"}))}),this.allDOMEventHandlers)}this._resetButton?(_(this._resetButton,{borderRight:this.toolbar.buttonBorderThickness+"px solid "+this.toolbar.buttonBorderColor,backgroundColor:t.toolbar.itemBackgroundColor,color:t.toolbar.fontColor}),this._resetButton.title=this._cultureInfo.resetText):(e=!1,M(this._resetButton=document.createElement("button")),k(this,this._resetButton,"reset"),this._resetButton.style.borderRight=(this.exportEnabled?this.toolbar.buttonBorderThickness:0)+"px solid "+this.toolbar.buttonBorderColor,this._toolBar.appendChild(this._resetButton),g(this._resetButton,"touchstart",(function(t){e=!0}),this.allDOMEventHandlers),g(this._resetButton,"click",(function(){if(t.toolTip.hide(),t.toolTip&&t.toolTip.enabled&&t.toolTip.dispatchEvent("hidden",{chart:t,toolTip:t.toolTip},t.toolTip),t.zoomEnabled||t.panEnabled?(t.zoomEnabled=!0,t.panEnabled=!1,k(t,t._zoomButton,"pan"),t._defaultCursor="default",t.overlaidCanvas.style.cursor=t._defaultCursor):(t.zoomEnabled=!1,t.panEnabled=!1),t.sessionVariables.axisX)for(var e=0;e=navigator.userAgent.search("MSIE")&&_(t._resetButton.childNodes[0],{WebkitFilter:"invert(0%)",filter:"invert(0%)"}),M(t._zoomButton,t._resetButton),t.stockChart&&(t.stockChart._rangeEventParameter={stockChart:t.stockChart,source:"chart",index:t.stockChart.charts.indexOf(t),minimum:null,maximum:null}),t._dispatchRangeEvent("rangeChanging","reset"),t.stockChart&&(t.stockChart._rangeEventParameter.type="rangeChanging",t.stockChart.dispatchEvent("rangeChanging",t.stockChart._rangeEventParameter,t.stockChart)),t.render(),t.syncCharts&&t.syncCharts(null,null),t._dispatchRangeEvent("rangeChanged","reset"),t.stockChart&&(t.stockChart._rangeEventParameter.type="rangeChanged",t.stockChart.dispatchEvent("rangeChanged",t.stockChart._rangeEventParameter,t.stockChart))}),this.allDOMEventHandlers),g(this._resetButton,"mousemove",(function(){e||(_(t._resetButton,{backgroundColor:t.toolbar.itemBackgroundColorOnHover,color:t.toolbar.fontColorOnHover,transition:"0.4s",WebkitTransition:"0.4s"}),0>=navigator.userAgent.search("MSIE")&&_(t._resetButton.childNodes[0],{WebkitFilter:"invert(100%)",filter:"invert(100%)"}))}),this.allDOMEventHandlers),g(this._resetButton,"mouseout",(function(){e||(_(t._resetButton,{backgroundColor:t.toolbar.itemBackgroundColor,color:t.toolbar.fontColor,transition:"0.4s",WebkitTransition:"0.4s"}),0>=navigator.userAgent.search("MSIE")&&_(t._resetButton.childNodes[0],{WebkitFilter:"invert(0%)",filter:"invert(0%)"}))}),this.allDOMEventHandlers),this.overlaidCanvas.style.cursor=t._defaultCursor),this.zoomEnabled||this.panEnabled||(this._zoomButton?(t._zoomButton.getAttribute("state")===t._cultureInfo.zoomText?(this.panEnabled=!0,this.zoomEnabled=!1):(this.zoomEnabled=!0,this.panEnabled=!1),T(t._zoomButton,t._resetButton)):(this.zoomEnabled=!0,this.panEnabled=!1))}else this.panEnabled=this.zoomEnabled=!1;for(var i in function(t){if(t._menuButton)t.exportEnabled?(_(t._menuButton,{backgroundColor:t.toolbar.itemBackgroundColor,color:t.toolbar.fontColor}),T(t._menuButton),k(t,t._menuButton,"menu")):M(t._menuButton);else if(t.exportEnabled&&R){var e=!1;t._menuButton=document.createElement("button"),k(t,t._menuButton,"menu"),t._toolBar.appendChild(t._menuButton),g(t._menuButton,"touchstart",(function(t){e=!0}),t.allDOMEventHandlers),g(t._menuButton,"click",(function(){"none"!==t._dropdownMenu.style.display||t._dropDownCloseTime&&500>=(new Date).getTime()-t._dropDownCloseTime.getTime()||(t._dropdownMenu.style.display="block",t._menuButton.blur(),t._dropdownMenu.focus())}),t.allDOMEventHandlers,!0),g(t._menuButton,"mousemove",(function(){e||(_(t._menuButton,{backgroundColor:t.toolbar.itemBackgroundColorOnHover,color:t.toolbar.fontColorOnHover}),0>=navigator.userAgent.search("MSIE")&&_(t._menuButton.childNodes[0],{WebkitFilter:"invert(100%)",filter:"invert(100%)"}))}),t.allDOMEventHandlers,!0),g(t._menuButton,"mouseout",(function(){e||(_(t._menuButton,{backgroundColor:t.toolbar.itemBackgroundColor,color:t.toolbar.fontColor}),0>=navigator.userAgent.search("MSIE")&&_(t._menuButton.childNodes[0],{WebkitFilter:"invert(0%)",filter:"invert(0%)"}))}),t.allDOMEventHandlers,!0)}if(t.exportEnabled&&t._dropdownMenu){_(t._dropdownMenu,{backgroundColor:t.toolbar.itemBackgroundColor,color:t.toolbar.fontColor});for(var i=t._dropdownMenu.childNodes,n=[t._cultureInfo.printText,t._cultureInfo.saveJPGText,t._cultureInfo.savePNGText],a=0;ar.linkedDataSeriesIndex||r.linkedDataSeriesIndex>=this.options.data.length||"number"!==typeof r.linkedDataSeriesIndex||"error"===this.options.data[r.linkedDataSeriesIndex].type)&&(r.linkedDataSeriesIndex=null),null===r.name&&(r.name="DataSeries "+i),null===r.color?1t&&"undefined"!==typeof h.startTimePercent?t>=h.startTimePercent&&h.animationCallback(h.easingFunction(t-h.startTimePercent,0,1,1-h.startTimePercent),h):h.animationCallback(h.easingFunction(t,0,1,1),h);u.dispatchEvent("dataAnimationIterationEnd",{chart:u})}),(function(){i=[];for(var t=0;tt.dataSeriesIndexes.length))for(var e,i,n=t.axisY.dataInfo,a=t.axisX.dataInfo,r=!1,s=0;sa.max&&(a.max=e),in.max&&"number"===typeof i&&(n.max=i),0f&&(f=1/f),a.minDiff>f&&1!==f&&(a.minDiff=f)}else 0>(f=e-l.dataPoints[h-1].x)&&(f*=-1),a.minDiff>f&&0!==f&&(a.minDiff=f);null!==i&&null!==l.dataPoints[h-1].y&&(t.axisY.logarithmic?(1>(f=i/l.dataPoints[h-1].y)&&(f=1/f),n.minDiff>f&&1!==f&&(n.minDiff=f)):(0>(f=i-l.dataPoints[h-1].y)&&(f*=-1),n.minDiff>f&&0!==f&&(n.minDiff=f)))}if(ep&&!u)u=!0;else if(e>p&&u)continue;l.dataPoints[h].label&&(t.axisX.labels[e]=l.dataPoints[h].label),ea.viewPortMax&&(a.viewPortMax=e),null===i?a.viewPortMin===e&&on.viewPortMax&&"number"===typeof i&&(n.viewPortMax=i))}}l.axisX.valueType=l.xValueType=r?"dateTime":"number"}},e.prototype._processStackedPlotUnit=function(t){if(t.dataSeriesIndexes&&!(1>t.dataSeriesIndexes.length)){for(var e,i,n=t.axisY.dataInfo,a=t.axisX.dataInfo,r=!1,s=[],o=[],l=1/0,h=-1/0,c=0;ca.max&&(a.max=e),0b&&(b=1/b),a.minDiff>b&&1!==b&&(a.minDiff=b)}else 0>(b=e-p.dataPoints[f-1].x)&&(b*=-1),a.minDiff>b&&0!==b&&(a.minDiff=b);null!==i&&null!==p.dataPoints[f-1].y&&(t.axisY.logarithmic?0(b=i/p.dataPoints[f-1].y)&&(b=1/b),n.minDiff>b&&1!==b&&(n.minDiff=b)):(0>(b=i-p.dataPoints[f-1].y)&&(b*=-1),n.minDiff>b&&0!==b&&(n.minDiff=b)))}if(ex&&!g)g=!0;else if(e>x&&g)continue;p.dataPoints[f].label&&(t.axisX.labels[e]=p.dataPoints[f].label),ea.viewPortMax&&(a.viewPortMax=e),null===p.dataPoints[f].y?a.viewPortMin===e&&dn.max&&(n.max=t),fa.viewPortMax||(tn.viewPortMax&&(n.viewPortMax=t)));for(f in o)o.hasOwnProperty(f)&&!isNaN(f)&&((t=o[f])n.max&&(n.max=Math.max(t,h)),fa.viewPortMax||(tn.viewPortMax&&(n.viewPortMax=Math.max(t,h))))}},e.prototype._processStacked100PlotUnit=function(t){if(t.dataSeriesIndexes&&!(1>t.dataSeriesIndexes.length)){for(var e,i,n=t.axisY.dataInfo,a=t.axisX.dataInfo,r=!1,s=!1,o=!1,l=[],h=0;ha.max&&(a.max=e),0x&&(x=1/x),a.minDiff>x&&1!==x&&(a.minDiff=x)}else 0>(x=e-d.dataPoints[p-1].x)&&(x*=-1),a.minDiff>x&&0!==x&&(a.minDiff=x);u(i)||null===d.dataPoints[p-1].y||(t.axisY.logarithmic?0(x=i/d.dataPoints[p-1].y)&&(x=1/x),n.minDiff>x&&1!==x&&(n.minDiff=x)):(0>(x=i-d.dataPoints[p-1].y)&&(x*=-1),n.minDiff>x&&0!==x&&(n.minDiff=x)))}if(ey&&!m)m=!0;else if(e>y&&m)continue;d.dataPoints[p].label&&(t.axisX.labels[e]=d.dataPoints[p].label),ea.viewPortMax&&(a.viewPortMax=e),null===i?a.viewPortMin===e&&ci&&(o=!0),l[e]=l[e]?l[e]+Math.abs(i):Math.abs(i))}}d.axisX.valueType=d.xValueType=r?"dateTime":"number"}t.axisY.logarithmic?(n.max=u(n.viewPortMax)?99*Math.pow(t.axisY.logarithmBase,-.05):Math.max(n.viewPortMax,99*Math.pow(t.axisY.logarithmBase,-.05)),n.min=u(n.viewPortMin)?1:Math.min(n.viewPortMin,1)):s&&!o?(n.max=u(n.viewPortMax)?99:Math.max(n.viewPortMax,99),n.min=u(n.viewPortMin)?1:Math.min(n.viewPortMin,1)):s&&o?(n.max=u(n.viewPortMax)?99:Math.max(n.viewPortMax,99),n.min=u(n.viewPortMin)?-99:Math.min(n.viewPortMin,-99)):!s&&o&&(n.max=u(n.viewPortMax)?-1:Math.max(n.viewPortMax,-1),n.min=u(n.viewPortMin)?-99:Math.min(n.viewPortMin,-99)),n.viewPortMin=n.min,n.viewPortMax=n.max,t.dataPointYSums=l}},e.prototype._processMultiYPlotUnit=function(t){if(t.dataSeriesIndexes&&!(1>t.dataSeriesIndexes.length))for(var e,i,n,a,r=t.axisY.dataInfo,s=t.axisX.dataInfo,o=!1,l=0;ls.max&&(s.max=e),nr.max&&(r.max=a),0(c=e/d.dataPoints[p-1].x)&&(c=1/c),s.minDiff>c&&1!==c&&(s.minDiff=c)):(0>(c=e-d.dataPoints[p-1].x)&&(c*=-1),s.minDiff>c&&0!==c&&(s.minDiff=c)),i&&null!==i[0]&&d.dataPoints[p-1].y&&null!==d.dataPoints[p-1].y[0]&&(t.axisY.logarithmic?(1>(c=i[0]/d.dataPoints[p-1].y[0])&&(c=1/c),r.minDiff>c&&1!==c&&(r.minDiff=c)):(0>(c=i[0]-d.dataPoints[p-1].y[0])&&(c*=-1),r.minDiff>c&&0!==c&&(r.minDiff=c)))),!(ey&&!m)m=!0;else if(e>y&&m)continue;if(d.dataPoints[p].label&&(t.axisX.labels[e]=d.dataPoints[p].label),es.viewPortMax&&(s.viewPortMax=e),s.viewPortMin===e&&i)for(x=0;xr.viewPortMax&&(r.viewPortMax=a))}}d.axisX.valueType=d.xValueType=o?"dateTime":"number"}},e.prototype._processSpecificPlotUnit=function(t){if("waterfall"===t.type&&t.dataSeriesIndexes&&!(1>t.dataSeriesIndexes.length))for(var e,i,n=t.axisY.dataInfo,a=t.axisX.dataInfo,r=!1,s=0;sa.max&&(a.max=e),o.dataPointEOs[l].cumulativeSumn.max&&(n.max=o.dataPointEOs[l].cumulativeSum),0(u=e/o.dataPoints[l-1].x)&&(u=1/u),a.minDiff>u&&1!==u&&(a.minDiff=u)):(0>(u=e-o.dataPoints[l-1].x)&&(u*=-1),a.minDiff>u&&0!==u&&(a.minDiff=u)),null!==i&&null!==o.dataPoints[l-1].y&&(t.axisY.logarithmic?(1>(i=o.dataPointEOs[l].cumulativeSum/o.dataPointEOs[l-1].cumulativeSum)&&(i=1/i),n.minDiff>i&&1!==i&&(n.minDiff=i)):(0>(i=o.dataPointEOs[l].cumulativeSum-o.dataPointEOs[l-1].cumulativeSum)&&(i*=-1),n.minDiff>i&&0!==i&&(n.minDiff=i)))),!(ep&&!c)c=!0;else if(e>p&&c)continue;o.dataPoints[l].label&&(t.axisX.labels[e]=o.dataPoints[l].label),ea.viewPortMax&&(a.viewPortMax=e),0n.viewPortMax&&(n.viewPortMax=o.dataPointEOs[l-1].cumulativeSum)),o.dataPointEOs[l].cumulativeSumn.viewPortMax&&(n.viewPortMax=o.dataPointEOs[l].cumulativeSum)}o.axisX.valueType=o.xValueType=r?"dateTime":"number"}},e.prototype.calculateAutoBreaks=function(){function t(t,e,i,n){return n?(1>=(i=Math.pow(Math.min(i*t/e,e/t),.2))&&(i=Math.pow(1>t?1/t:Math.min(e/t,t),.25)),{startValue:t*i,endValue:e/i}):(0>=(i=.2*Math.min(i-e+t,e-t))&&(i=.25*Math.min(e-t,Math.abs(t))),{startValue:t+i,endValue:e-i})}function e(t){if(t.dataSeriesIndexes&&!(1>t.dataSeriesIndexes.length)){var e=t.axisX.scaleBreaks&&t.axisX.scaleBreaks.autoCalculate&&1<=t.axisX.scaleBreaks.maxNumberOfAutoBreaks,i=t.axisY.scaleBreaks&&t.axisY.scaleBreaks.autoCalculate&&1<=t.axisY.scaleBreaks.maxNumberOfAutoBreaks;if(e||i)for(var n,r,s=t.axisY.dataInfo,o=(d=t.axisX.dataInfo).min,l=d.max,h=s.min,c=s.max,d=d._dataRanges,p=(s=s._dataRanges,0),f=0;fm.dataPoints.length))for(p=0;pd[r].max&&(d[r].max=n)),i){var g=(c+1-h)*Math.max(parseFloat(t.axisY.scaleBreaks.collapsibleThreshold)||10,10)/100;if((n="waterfall"===t.type?m.dataPointEOs[p].cumulativeSum:m.dataPoints[p].y)&&n.length)for(var y=0;ys[r].max&&(s[r].max=n[y]);else u(n)||(ns[r].max&&(s[r].max=n))}}}}function i(t){if(t.dataSeriesIndexes&&!(1>t.dataSeriesIndexes.length)&&t.axisX.scaleBreaks&&t.axisX.scaleBreaks.autoCalculate&&1<=t.axisX.scaleBreaks.maxNumberOfAutoBreaks)for(var e,i=t.axisX.dataInfo,n=i.min,r=i.max,s=i._dataRanges,o=0,l=0;lh.dataPoints.length))for(o=0;os[e].max&&(s[e].max=i)}}for(var n,a=this,r=!1,s=0;sh[f].max&&(h[f].max=c)}delete this._axes[s].dataInfo.dataPointYPositiveSums}if(this._axes[s].dataInfo.dataPointYNegativeSums){for(o in h=d,p=this._axes[s].dataInfo.dataPointYNegativeSums)p.hasOwnProperty(o)&&!isNaN(o)&&(u(c=-1*p[o])||(ch[f].max&&(h[f].max=c)));delete this._axes[s].dataInfo.dataPointYNegativeSums}for(o=0;on&&r.push({diff:c,start:h,end:l});break}o++}if(this._axes[s].scaleBreaks.customBreaks)for(o=0;o=a.x1&&t<=a.x2&&e>=a.y1&&e<=a.y2&&(n=a.id)}return n},e.prototype.getAutoFontSize=rt,e.prototype.resetOverlayedCanvas=function(){this.overlaidCanvasCtx.clearRect(0,0,this.width,this.height)},e.prototype.clearCanvas=nt,e.prototype.attachEvent=function(t){this._events.push(t)},e.prototype._touchEventHandler=function(t){if(t.changedTouches&&this.interactivityEnabled){var e=[],i=t.changedTouches,n=i?i[0]:t,a=null;switch(t.type){case"touchstart":case"MSPointerDown":e=["mousemove","mousedown"],this._lastTouchData=lt(n),this._lastTouchData.time=new Date;break;case"touchmove":case"MSPointerMove":e=["mousemove"];break;case"touchend":case"MSPointerUp":var r=this._lastTouchData&&this._lastTouchData.time?new Date-this._lastTouchData.time:0;e="touchstart"===this._lastTouchEventType||"MSPointerDown"===this._lastTouchEventType||300>r?["mouseup","click"]:["mouseup"];break;default:return}if(!(i&&1r)&&(this._lastTouchData.scroll=!0)}catch(o){}if(this._lastTouchEventType=t.type,this._lastTouchData.scroll&&this.zoomEnabled)this.isDrag&&this.resetOverlayedCanvas(),this.isDrag=!1;else for(i=0;i=o.x1&&r.x<=o.x2&&r.y>=o.y1&&r.y<=o.y2){n[s].call(n.context,r.x,r.y),"mousedown"===s&&!0===n.capture?(e.capturedEventParam=n,this.overlaidCanvas.setCapture?this.overlaidCanvas.setCapture():document.documentElement.addEventListener("mouseup",this._mouseEventHandler,!1)):"mouseup"===s&&(n.chart.overlaidCanvas.releaseCapture?n.chart.overlaidCanvas.releaseCapture():document.documentElement.removeEventListener("mouseup",this._mouseEventHandler,!1));break}n=null}t.target.style.cursor=n&&n.cursor?n.cursor:this._defaultCursor}if(a=this.plotArea,r.xa.x2||r.ya.y2){for(this.toolTip&&this.toolTip.enabled?(this.toolTip.hide(),this.toolTip.dispatchEvent("hidden",{chart:this,toolTip:this.toolTip},this.toolTip)):this.resetOverlayedCanvas(),a=0;ai.maximum&&(r=i.viewportMaximum/i.maximum,i.sessionVariables.newViewportMinimum=i.viewportMinimum/r,i.sessionVariables.newViewportMaximum=i.viewportMaximum/r,s=!0):i.viewportMinimumi.maximum&&(r=i.viewportMaximum-i.maximum,i.sessionVariables.newViewportMinimum=i.viewportMinimum-r,i.sessionVariables.newViewportMaximum=i.viewportMaximum-r,s=!0);else if((!a||2Math.abs(i)&&(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 o=0;o(p=u.convertPixelToValue({x:i,y:n})))var d=p,p=f,f=d;if(u.scaleBreaks)for(d=0;!r&&d=p;if(isFinite(u.dataInfo.minDiff))if(d=u.getApparentDifference(f,p,null,!0),r||!(this.panEnabled&&u.scaleBreaks&&u.scaleBreaks._appliedBreaks.length)&&(u.logarithmic&&du.maximum){if(!a){o=!1;break}}else l.push(u),c.push({val1:f,val2:p}),o=!0}return{isValid:o,axesWithValidRange:l,axesRanges:c}},e.prototype.preparePlotArea=function(){var t=this.plotArea;if(!R&&(0i.lineCoordinates.x2?e.x2:i.lineCoordinates.x2,t.y2=e.y1>i.lineCoordinates.y2?e.y1:i.lineCoordinates.y2,t.width=t.x2-t.x1,t.height=t.y2-t.y1}this.axisY2&&0i.lineCoordinates.x2?e.x2:i.lineCoordinates.x2,t.y2=e.y2>i.lineCoordinates.y2?e.y2:i.lineCoordinates.y2,t.width=t.x2-t.x1,t.height=t.y2-t.y1)}else e=this.layoutManager.getFreeSpace(),t.x1=e.x1,t.x2=e.x2,t.y1=e.y1,t.y2=e.y2,t.width=e.width,t.height=e.height;R||(t.canvas.width=t.width,t.canvas.height=t.height,t.canvas.style.left=t.x1+"px",t.canvas.style.top=t.y1+"px",(0i.x2||p.point.yi.y2+1)continue}else if("rangearea"===f||"rangesplinearea"===f){if(p.dataPoint.xa.viewportMaximum||Math.max.apply(null,p.dataPoint.y)r.viewportMaximum)continue}else if(0<=f.indexOf("line")||0<=f.indexOf("area")||0<=f.indexOf("bubble")||0<=f.indexOf("scatter")){if(p.dataPoint.xa.viewportMaximum||p.dataPoint.yr.viewportMaximum)continue}else if(0<=f.indexOf("column")||"waterfall"===f||"error"===f&&!p.axisSwapped){if(p.dataPoint.xa.viewportMaximum||p.bounds.y1>i.y2||p.bounds.y2a.viewportMaximum||p.bounds.x1>i.x2||p.bounds.x2a.viewportMaximum||Math.max.apply(null,p.dataPoint.y)r.viewportMaximum)continue}else if(p.dataPoint.xa.viewportMaximum)continue;s=o=2,"horizontal"===k?(l=y.width,h=y.height):(h=y.width,l=y.height),"normal"===this.plotInfo.axisPlacement?(0<=f.indexOf("line")||0<=f.indexOf("area")?(_="auto",o=4):0<=f.indexOf("stacked")?"auto"===_&&(_="inside"):"bubble"!==f&&"scatter"!==f||(_="inside"),c=p.point.x-("horizontal"===k?l/2:l/2-g/2),"inside"!==_?(a=i.y1,r=i.y2,0p.point.y):(d=p.point.y+g/2+o+n)>r-h&&(C=(d="auto"===_?Math.min(p.point.y,r)+g/2-h-o:r+g/2-h)r-h-o&&("bubble"===f||"scatter"===f)&&(d=Math.min(p.point.y+o,i.y2-h-o)),d=Math.min(d,r))):(0<=f.indexOf("line")||0<=f.indexOf("area")||0<=f.indexOf("scatter")?(_="auto",s=4):0<=f.indexOf("stacked")?"auto"===_&&(_="inside"):"bubble"===f&&(_="inside"),d=p.point.y+g/2-h/2+o,"inside"!==_?(a=i.x1,r=i.x2,0>S?(c=p.point.x-("horizontal"===k?l:l-g/2)-s-n)p.point.x):(c=p.point.x+("horizontal"===k?0:g/2)+s+n)>r-l-s-n&&(C=(c="auto"===_?Math.min(p.point.x,r)-("horizontal"===k?l:l/2)-s:r-l-s)S?Math.max(p.bounds.x1,i.x1)+g/2+s:Math.min(p.bounds.x2,i.x2)-l/2-s+("horizontal"===k?0:g/2):(Math.max(p.bounds.x1,i.x1)+Math.min(p.bounds.x2,i.x2))/2+("horizontal"===k?0:g/2),c=0>S?Math.max(p.point.x,n)-("horizontal"===k?l/2:0):Math.min(p.point.x,n)-l/2,c=Math.max(c,a))),"vertical"===k&&(d+=h-g/2),y.x=c,y.y=d,y.render(!0),w&&"inside"!==_&&(0>f.indexOf("bar")&&("error"!==f||!p.axisSwapped)&&p.point.x>i.x1&&p.point.xf.indexOf("column")&&("error"!==f||p.axisSwapped)&&p.point.y>i.y1&&p.point.y