window.Graph={render:function(t,i){var s=document.createElement("div");return s.className="tchart--wrapper",t.appendChild(s),new this.units.TChart({container:s,data:i})},units:{}},(()=>{function t(t){this.composer=t.composer,this.state=t.state,this.queue={},this.queueSize=0,this.step=this.step.bind(this)}t.prototype={add:function(t){for(var i,s,e,a=0,h=+new Date,o=this.queue;ai.endDt&&(e=i.endDt),(e=(e=h?(e-i.startDt)/h:o?0:1)<1?"exp"==i.tween?s+(i.end-s)*i.speed:(h=i.start,o=i.end,{linear:function(t,i,s,e){return s*t/e+i},easeInOutQuad:function(t,i,s,e){return(t/=.5*e)<1?.5*s*t*t+i:-s/2*(--t*(t-2)-1)+i}}[i.tween](e,h,o-h,1)):i.end)!=s?(i.state[t]=e,d.top=d.top||i.group.top,d.bottom=d.bottom||i.group.bottom):e==i.end&&r.push(t);for(a=0;a{function t(t){(this.opts=t).additional.mini&&(this.$canvas=document.createElement("canvas"),this.ctx=this.$canvas.getContext("2d",{alpha:!0}))}var Ut=window.Graph.units;t.prototype={onResize:function(){var t,i;this.opts.additional.mini&&(t=this.opts.settings.dpi,i=this.opts.additional.mini?this.opts.state.dims.mini:this.opts.state.dims.graph,this.$canvas.width=i.w*t,this.$canvas.height=i.h*t,this.cached="")},setDarkMode:function(t){this.isDarkMode=t},render:function(){var t,i,s,e=this.opts,a=e.data.ys,h=e.state,o=e.additional.mini,C=o?h.xg1:h.x1,F=o?h.xg2:h.x2,H=e.settings,N=H["PADD"+(o?"_MINI_AREA":"")][0],r=H["PADD"+(o?"_MINI_AREA":"")][1],X=H["PADD"+(o?"_MINI_AREA":"")][2],n=H["PADD"+(o?"_MINI_AREA":"")][3],U=e.data.x,d=e.settings.dpi,l=(o?this:this.opts).ctx,p=[],c=[],m=o?h.dims.mini:h.dims.graph,g=null==h.zoomMorph?0:h.zoomMorph,u=g,Y=a.length;if(o){for(var B=[m.w,m.h,h.xg1,h.xg2,this.isDarkMode,h.zoomMode,g],x=0;xMath.PI*(1==f?1.5:1)&&(s-=2*Math.PI),s<2*-Math.PI&&(s-=2*-Math.PI),o+u*(s-o)),s=i+u*(e-i);return[D+Math.cos(t)*s+a,nt-Math.sin(t)*s+h]},zt=g<1?4:w[$].additionalPoints,Rt=!1,Ct=!1,k=h["pieInd_"+v[$]]||0;if(0==w[$].percentage&&(l.globalAlpha=0),L=E(_[M]*i+s,hBottom-p[M],w[0].st,S),l.moveTo(L[0],L[1]),0<$)for(T=M-1;y<=T;T--)(A=_[T]*i+s)==D&&(Rt=!0),L=D<=A?(R=(A-D)/(m.w*d/2),0==u&&(R=0),E(A,hBottom-p[T]+0,w[0].st,S*R)):(Rt||(Rt=!0,Xt=(D-A)/(_[T+1]*i+s-A),z=hBottom-p[T]+0,Ft=hBottom-p[T+1]+0,L=E(D,z+Xt*(Ft-z),w[$].st,0),l.lineTo(L[0],L[1])),R=(D-A)/(m.w*d/2),E(A,hBottom-p[T]+0,w[$].st,S*R)),l.lineTo(L[0],L[1]);else L=E(_[y]*i+s,hBottom,w[0].st,S),l.lineTo(L[0],L[1]);if(${function t(t){this.opts=t,this.ctx=t.ctx,this.items={},this.setAnimation(!1),this.deleteItem=this.deleteItem.bind(this)}var E=window.Graph.units;t.prototype={onResize:function(){this.setAnimation(!1)},setDarkMode:function(t){this.isDarkMode=t},setAnimation:function(t){this.noAnimation=!t},hideItem:function(t,i){this.items[t].tp=2,this.opts.animator.add([{prop:"ox_"+t,state:this.items[t].state,end:0,duration:this.noAnimation?0:200*i,tween:"linear",group:{top:!0},cbEnd:this.deleteItem}])},deleteItem:function(t){delete this.items[t.ind]},render:function(t){var i,s=this.opts,e=s.settings.dpi,a=s.data.x,h=s.state,o=s.settings.PADD[1],r=s.settings.PADD[3],n=s.animator,d=(a.length,this.opts.state.dims.axisX),l=this.opts.state.dims.dates,p=h.zoomMode,c=null==h.zoomMorph?0:h.zoomMorph,m=D=Math.floor(E.TUtils.getXIndex(a,h.x1)),g=$=Math.ceil(E.TUtils.getXIndex(a,h.x2)),u="bar"==s.graphStyle||"step"==s.graphStyle,x=9*(h.zoomMode&&s.data.details?s.data.details:s.data).maxXTickLength,v=u?this.opts.data.mainPeriodLen:0,f=u?this.opts.data.detailPeriodLen:0,y=v+(f-v)*c,M=v*(1-c),v=(d.w-o-r)/Math.round((h.x2-h.x1+v)/this.opts.data.mainPeriodLen),f=(d.w-o-r)/Math.round((h.x2-h.x1+f)/this.opts.data.detailPeriodLen),_=v+(f-v)*c,T=Math.pow(2,Math.ceil(Math.log2(x/v))),b=Math.pow(2,Math.ceil(Math.log2(x/f))),w=(d.w-r-o)/(h.x2-h.x1+M),f=(T<1&&(T=1),b<1&&(b=1),this.ctx.font=11*e+"px "+s.settings.FONTS,this.ctx.textAlign="center",this.ctx.fillStyle=(this.isDarkMode?this.opts.data.axis_n:this.opts.data.axis_d).x,this.prevXStep?this.prevXStep>v?this.prevXStep/v:v/this.prevXStep:1),S=1/Math.pow(f,5),D=(p&&1==c&&(S/=2),this.prevXStep=v,Math.max(D-Math.ceil((r+.5*x)/_),0)),$=Math.min($+Math.ceil((o+.5*x)/_),a.length-1);p&&(M=this.opts.animator.get("x1"),f=this.opts.animator.get("x2"),m=M?M.end:this.opts.state.x1,g=f?f.end:this.opts.state.x2,m=Math.floor(E.TUtils.getXIndex(a,m)),g=Math.floor(E.TUtils.getXIndex(a,g))),p&&(v=Math.max(a[this.opts.state.detailInd1],this.opts.state.xMainMin),_=Math.min(a[this.opts.state.detailInd2],this.opts.state.xMainMax),i=Math.round((_-v)/this.opts.data.mainPeriodLen)+(u?0:1));for(var P=D;P<=$;P++){var I=P%T==0,L="m",L=(p&&(P=d.l)&&I-x/2<=d.l+d.w&&(L=(I+d.l)*e,this.ctx.fillText(s.data.datesShort[P],L,(d.t+9)*e))}for(P in this.items)1==(A=this.items[P]).tp&&(A.xih.x2+o/w)&&this.hideItem(P,S);this.ctx.globalAlpha=1,"scatter"===s.graphStyle&&s.data.scatter&&"number"===s.data.scatter.xType||(p&&1==c&&g--,g{function t(t){this.opts=t,this.ctx=t.ctx,this.uuid=1,this.items={},this.setAnimation(!1),this.setForceUpdate(!1),this.deleteItem=this.deleteItem.bind(this)}var w=window.Graph.units;t.prototype={onResize:function(){this.setAnimation(!1),this.setForceUpdate(!1)},setDarkMode:function(t){this.isDarkMode=t},setAnimation:function(t){this.noAnimation=!t},setForceUpdate:function(t){this.forceUpdate=t},deleteItem:function(t){delete this.items[t.id]},render:function(t){var i,s;this.opts.pairY?(i=this.calcAxisData("y1_0","y2_0"),(s=this.calcAxisData("y1_1","y2_1")).needAnimation&&!i.needAnimation||this.opts.state.o_0<1?this.updateAxisState("y1_1","y2_1","numRight",s,i,s):this.updateAxisState("y1_0","y2_0","numLeft",i,i,s)):(i=this.calcAxisData("y1","y2"),this.updateAxisState("y1","y2","numLeft",i,i,i)),this.renderState(t)},calcAxisData:function(t,i){var s=this.opts.state,e=this.opts.settings.PADD[0],a=this.opts.settings.PADD[2],h=(Math.floor(this.opts.settings.Y_AXIS_RANGE),!1),o=this.opts.animator.get(t),r=this.opts.animator.get(i),o=o?o.end:s[t],r=r?r.end:s[i],n=w.TUtils.niceNum((r-o)/this.opts.settings.Y_AXIS_RANGE,!0),d=s[i]-s[t],t=s[t]>o?s[t]/o:o/s[t],s=s[i]>r?s[i]/r:r/s[i],i=(this.opts.state.dims.axisYLines.h-e-a)/d,d=(this.opts.state.dims.axisYLines.h-e-a)/(r-o);return(1.05{function t(t){this.opts=t,this.filteredX1=[],this.filteredX2=[],this.filteredJ=[],this.prevY=[],this.$canvas=document.createElement("canvas"),this.ctx=this.$canvas.getContext("2d",{alpha:!1})}var q=window.Graph.units;t.prototype={onResize:function(){var t=this.opts.settings.dpi,i=this.opts.additional.mini?this.opts.state.dims.mini:this.opts.state.dims.graph;this.$canvas.width=i.w*t,this.$canvas.height=i.h*t,this.cached=""},setDarkMode:function(t){this.isDarkMode=t},render:function(){var t,i,s,e=this.opts,a=e.data.ys,h=e.state,o=e.additional.mini,r=o?h.xg1:h.x1,C=o?h.xg2:h.x2,n=e.settings,F=(this.w,this.h,n["PADD"+(o?"_MINI_BAR":"")][0]),H=n["PADD"+(o?"_MINI_BAR":"")][1],d=n["PADD"+(o?"_MINI_BAR":"")][2],n=n["PADD"+(o?"_MINI_BAR":"")][3],l=e.data.x,p=e.settings.dpi,c=this.ctx,m=o?h.dims.mini:h.dims.graph,g=h.zoomMode,u=h.detailInd1,x=h.detailInd2,v=null==h.zoomMorph?0:h.zoomMorph,f=this.filteredX1,N=this.filteredX2,X=this.filteredJ,y=this.prevY,U=a.length,M=[m.w,m.h,o?h.xg1:h.x1,o?h.xg2:h.x2,this.isDarkMode,g];for(o||(M.push(h.y1),M.push(h.y2)),R=0;Rthis.opts.state.xg2Ind)&&(s=this.opts.state.xg2Ind-1);var _=n*p-r*(t*=p),T=(m.h-d)*p,b=this.opts.data.mainPeriodLen*t,Y=this.opts.data.detailPeriodLen*t;if(M!=this.cached){c.fillStyle=this.isDarkMode?"#242f3e":"#fff",c.fillRect(0,0,m.w*p,m.h*p);for(var w,S=0,D=i;D<=s;D++){w=g&&u<=D&&D<=x?Y:b;var B=Math.round(l[D]*t+_),G=Math.round(l[D]*t+_+w);0=u&&h.barInd<=x?(A=P[h.barInd]+v*($[h.barInd]-P[h.barInd]),w=Y):(w=b,A=$[h.barInd]+v*($[u]-$[h.barInd])):(A=$[h.barInd],w=b),Z=T-(W-(A=A||0)*V)+z,this.opts.ctx.fillRect(Math.round(l[h.barInd]*t+_),Math.round(T-z+m.t*p),Math.max(Math.round(w),1),Math.round(z)-Math.round(Z)),z=Z);c.globalAlpha=1}this.cached=M}}},q.TBars=t})(),(()=>{function t(x){this.state={},this.state.masterVisibility=1,this.state.slaveVisibility=0,this.specialZoomTransition=void 0,this.darkMode=!!document.documentElement.classList.contains("dark");var t=(!!window.ActiveXObject&&+/msie\s(\d+)/i.exec(navigator.userAgent)[1]||NaN)<11,i=-1!=navigator.userAgent.indexOf("Trident/")&&(-1!=navigator.userAgent.indexOf("rv:")||-1!=navigator.appName.indexOf("Netscape")),s=x.data.xRangeFormatter==statsFormatEmpty,t=(this.settings={isIE:t||i,isEdge:/Edge\/\d./i.test(navigator.userAgent),dpi:Math.min(window.devicePixelRatio||1,2),Y_AXIS_RANGE:5.3,PADD:[20,16,20,16],PADD_MINI:[2,0,2,0],PADD_MINI_BAR:[0,0,0,0],PADD_MINI_AREA:[0,0,0,0],Y_LABELS_WIDTH:50,X_LABELS_HEIGHT:12,DATES_HEIGHT:s?0:18,DATES_WIDTH:300,MINI_GRAPH_HEIGHT:40,MINI_GRAPH_TOP:14,MINI_GRAPH_BOTTOM:2,FADE_HEIGHT:16,PIE_RADIUS:130,FONTS:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif'},this.data={caption:x.data.title,detailsFunc:x.data.x_on_zoom,hasDetail:!!x.data.x_on_zoom,slave:x.slave,yTickFormatter:x.data.yTickFormatter,yTooltipFormatter:x.data.yTooltipFormatter,yCustomTooltipFormatters:x.data.yCustomTooltipFormatters,yMinStep:x.data.yMinStep,xTickFormatter:x.data.xTickFormatter,xTooltipFormatter:x.data.xTooltipFormatter,xRangeFormatter:x.data.xRangeFormatter,strokeWidth:x.data.strokeWidth||"auto",hidden:x.data.hidden||[],tooltipOnHover:!!x.data.tooltipOnHover,forceLegend:x.data.forceLegend,sideLegend:x.data.sideLegend||!1,pieZoomRange:x.data.pieZoomRange||6048e5,pieLabelsPercentages:{outboard:x.data.pieLabelsPercentages&&null!=x.data.pieLabelsPercentages.outboard?x.data.pieLabelsPercentages.outboard:5,hoverOnly:x.data.pieLabelsPercentages&&null!=x.data.pieLabelsPercentages.hoverOnly?x.data.pieLabelsPercentages.hoverOnly:2},tooltipSort:x.data.tooltipSort,subchart:{show:!x.data.subchart||null==x.data.subchart.show||x.data.subchart.show,defaultZoom:x.data.subchart&&x.data.subchart.defaultZoom}},x.data.y_scaled&&(this.pairY=!0),this.graphStyle="line",this.settings),i=(x.data.columns.forEach(function(t,i){var s,e,a,h,o,r=t.shift(),n=x.data.types[r];if("x"===n&&(this.data.x=t,this.state.xCount=t.length,this.state.x1=t[.75*t.length<<0],this.state.x2=t[t.length-1],this.state.xg1=t[0],this.state.xg2=t[t.length-1],this.state.xg1Ind=0,this.state.xg2Ind=t.length-1,this.state.xMainMin=t[0],this.state.xMainMax=t[this.state.xg2Ind],this.state.xgMin=t[0],this.state.xgMax=t[this.state.xg2Ind],o=this.getDefaultZoom({x1:this.state.x1,x2:this.state.x2,xg1:this.state.xg1,xg2:this.state.xg2,default:this.data.subchart.defaultZoom}),this.state.x1=o.x1,this.state.x2=o.x2,this.data.mainPeriodLen=this.data.x[1]-this.data.x[0],this.data.detailPeriodLen=this.data.mainPeriodLen,this.data.dates=[],this.data.datesShort=[],this.data.datesRange=[],s=L.TUtils.getFormatter("xTooltipFormatter",this.data,0),e=L.TUtils.getFormatter("xTickFormatter",this.data,0),a=L.TUtils.getFormatter("xRangeFormatter",this.data,0),h=0,t.forEach(function(t,i){this.data.dates[i]=s(t,!1),this.data.datesShort[i]=e(t,!1),this.data.datesRange[i]=a(t,!1),this.data.datesShort[i].length>h&&(h=this.data.datesShort[i].length)}.bind(this)),this.data.maxXTickLength=h),"x"!==n&&(this.data.ys=this.data.ys||[],this.data.yIds=this.data.yIds||{},o=x.data.colors[r],l=x.data.yCustomTooltipFormatters?x.data.yCustomTooltipFormatters[r]:null,this.data.ys.push({colors_d:[o,o,o],colors_n:[o,o,o],label:x.data.names[r],y:t,ctf:l,tp:n,id:r}),"line"==n||"step"==n?(this.data.axis_d={x:"#8E8E93",y:"#8E8E93"},this.data.axis_n={x:"rgba(163,177,194,0.6)",y:"rgba(163,177,194,0.6)"}):(this.data.axis_d={x:"rgba(37,37,41,0.5)",y:"rgba(37,37,41,0.5)"},this.data.axis_n={x:"rgba(163,177,194,0.6)",y:"rgba(236,242,248,0.5)"}),o=this.data.ys.length-1,t=-1==this.data.hidden.indexOf(r),this.data.yIds[r]=o,this.state["e_"+o]=t,this.state["o_"+o]=t?1:0,this.state["om_"+o]=t?1:0,this.state["pieInd_"+o]=0,this.state["f_"+o]=1,this.graphStyle=n),"scatter"===this.graphStyle&&x.data.scatter&&!this._scatterPrepared){this._scatterPrepared=!0,this.data.scatter=x.data.scatter;var d,l,p=this.data.scatter,c=Number.MAX_VALUE,m=-Number.MAX_VALUE,g=!1;for(d in p.series){var u=p.series[d].points;u&&u.length&&(u.sort(function(t,i){return t.x-i.x}),u[0].xm&&(m=u[u.length-1].x),p.series[d].xMin=u[0].x,p.series[d].xMax=u[u.length-1].x,g=!0)}g&&(this.state.xMainMin=c,this.state.xMainMax=m,this.state.xgMin=c,this.state.xgMax=m,this.state.xg1=c,this.state.xg2=m,l=this.getDefaultZoom({x1:c,x2:m,xg1:c,xg2:m,default:this.data.subchart.defaultZoom}),this.state.x1=l.x1,this.state.x2=l.x2,this.state.xg1Ind=0,this.state.xg2Ind=Math.max((this.data.x?this.data.x.length:1)-1,0))}}.bind(this)),L.TUtils.triggerEvent("chart-update-zoom",{x1:this.state.x1,x2:this.state.x2,target:x.container.parentElement}),this.state.activeColumnsCount=this.data.ys.length,this.updateSpeed(),"area"==this.graphStyle&&(t.Y_AXIS_RANGE=4.06,this.data.hasDetail=!0),{isReduced:!1});(i="scatter"!==this.graphStyle?this.reduceGlobalRange({}):i).isReduced&&(this.state.x1=i.x1,this.state.x2=i.x2,this.state.xg1=i.xg1,this.state.xg2=i.xg2,this.state.xg1Ind=i.xg1Ind,this.state.xg2Ind=i.xg2Ind),this.onResize=this.onResize.bind(this),this.onSwitcherChange=this.onSwitcherChange.bind(this),this.onSwitcherEnter=this.onSwitcherEnter.bind(this),this.onSwitcherLeave=this.onSwitcherLeave.bind(this),this.onHandleMove=this.onHandleMove.bind(this),this.toggleZoom=this.toggleZoom.bind(this),this.createDOM(x.container),window.addEventListener("resize",this.onResize),document.addEventListener("darkmode",function(t){this.setDarkMode(!this.darkMode)}.bind(this),!1),document.addEventListener("chart-hide-tips",function(t){t.detail.except!=this&&this.tip.toggle(!1)}.bind(this),!1),this.opts=x,this.onResize(),this.darkMode&&this.setDarkMode(this.darkMode),window.matchMedia("(-webkit-min-device-pixel-ratio: 1), (min-resolution: 96dpi)").addListener(this.onResize),window.matchMedia("(-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi)").addListener(this.onResize),window.matchMedia("(-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi)").addListener(this.onResize),window.matchMedia("(-webkit-min-device-pixel-ratio: 3), (min-resolution: 288dpi)").addListener(this.onResize)}var L=window.Graph.units;t.prototype={getScatterYMinMax:function(c,m){var t,i=Number.MAX_VALUE,s=-Number.MAX_VALUE,g=this.state,u=this.data.scatter.series,x=!1;function v(t){t>1;t[a].xm||s.xMaxd&&(d=yCur)}n=0}return this.pairY?(isNaN(c[0])&&(c[0]=c[1]),isNaN(c[1])&&(c[1]=c[0]),isNaN(m[0])&&(m[0]=m[1]),isNaN(m[1])&&(m[1]=m[0]),{min:c,max:m}):{min:(t=w(n,d)).min,max:t.max};function w(t,i,s,e){var a;return i=t==Number.MAX_VALUE?h?null==s?(t=u.y1m,u.y2m):(t=u["y1m_"+s],u["y2m_"+s]):null==s?(t=u.y1,u.y2):(t=u["y1_"+s],u["y2_"+s]):("bar"==this.graphStyle&&(t=0),t=(a=L.TUtils.roundRange(t,i,g.Y_AXIS_RANGE,e)).yMin,a.yMax),{min:t,max:i=Math.abs(t-i)<1e-10?t+1:i,range:a}}},setDarkMode:function(t){this.darkMode=t,this.graph.setDarkMode(t),this.axisY.setDarkMode(t),this.fade.setDarkMode(t),this.axisX.setDarkMode(t),this.mini.setDarkMode(t),this.handle.setDarkMode(t),this.tip.setDarkMode(t),this.switchers.setDarkMode(t),this.composer.setDarkMode(t)},getGraphWidth:function(t){var i=this.$el.getBoundingClientRect();return t?(t=this.$switchers.getBoundingClientRect(),500<=i.width-t.width?{hasSpaceForLegend:!0,width:Math.max(i.width-t.width,1)}:{hasSpaceForLegend:!1,width:i.width}):{width:i.width}},onResize:function(){var t,i,s=Math.min(window.devicePixelRatio||1,2);this.ww==window.innerWidth&&s==this.settings.dpi||(this.settings.dpi=s,this.ww=window.innerWidth,this.data.sideLegend&&(this.$switchers.classList.remove("tchart--switchers__no-space"),(s=this.getGraphWidth(!0)).hasSpaceForLegend||this.$switchers.classList.add("tchart--switchers__no-space"),this.$graph.style.width=s.width+"px"),s=this.$graph.getBoundingClientRect(),t=this.settings,i=s.height-t.DATES_HEIGHT-t.MINI_GRAPH_HEIGHT-t.MINI_GRAPH_TOP-t.MINI_GRAPH_BOTTOM,this.state.dims={composer:{w:s.width,h:s.height,l:0,t:0},graph:{w:s.width,h:i,l:0,t:t.DATES_HEIGHT},axisYLeft:{w:t.Y_LABELS_WIDTH,h:i,l:t.PADD[3],t:t.DATES_HEIGHT},axisYRight:{w:t.Y_LABELS_WIDTH,h:i,l:s.width-t.PADD[1]-t.Y_LABELS_WIDTH,t:t.DATES_HEIGHT},axisYLines:{w:s.width-t.PADD[1]-t.PADD[3],h:i,l:t.PADD[3],t:t.DATES_HEIGHT},fadeTop:{w:s.width,h:t.FADE_HEIGHT,l:0,t:t.DATES_HEIGHT},fadeBottom:{w:s.width,h:t.FADE_HEIGHT,l:0,t:t.DATES_HEIGHT+i-t.FADE_HEIGHT},axisX:{w:s.width,h:t.X_LABELS_HEIGHT,l:0,t:t.DATES_HEIGHT+i-t.X_LABELS_HEIGHT},dates:{w:t.DATES_WIDTH,h:t.DATES_HEIGHT,l:s.width-t.DATES_WIDTH-t.PADD[1],t:0},mini:{w:s.width-t.PADD[1]-t.PADD[3],h:t.MINI_GRAPH_HEIGHT,l:t.PADD[3],t:t.DATES_HEIGHT+i+t.MINI_GRAPH_TOP},handle:{w:s.width-t.PADD[1]-t.PADD[3],h:t.MINI_GRAPH_HEIGHT+2,l:t.PADD[3],t:t.DATES_HEIGHT+i+t.MINI_GRAPH_TOP-1},tip:{w:s.width,h:i,l:0,t:t.DATES_HEIGHT}},this.graph.onResize(),this.axisY.onResize(),this.fade.onResize(),this.axisX.onResize(),this.mini.onResize(),this.handle.onResize(),this.tip.onResize(),this.composer.onResize())},createDOM:function(t){var i,s,e,a=this.settings,h=(this.$el=document.createElement("div"),this.$el.className="tchart",this.data.subchart.show||this.$el.classList.add("tchart__no-subchart"),this.data.slave&&this.$el.classList.add("tchart__slave"),this.$h1=document.createElement("h1"),this.$h1.className="tchart--header",this.$h1.textContent=this.data.caption,this.$el.appendChild(this.$h1),this.$zoom=document.createElement("div"),this.$zoom.className="tchart--zoom",this.$el.appendChild(this.$zoom),document.createElement("div")),h=(this.$zoom.appendChild(h),document.createElement("span"));if(h.textContent="Zoom Out",this.$zoom.appendChild(h),this.$zoom.addEventListener("click",function(){this.toggleZoom(!1)}.bind(this)),this.$graph=document.createElement("div"),this.$graph.className="tchart--graph",this.$el.appendChild(this.$graph),this.$switchers=document.createElement("div"),this.$switchers.className="tchart--switchers",this.data.sideLegend&&this.$switchers.classList.add("tchart--switchers__side-legend"),this.$el.appendChild(this.$switchers),t.appendChild(this.$el),i=this.getYMinMax(this.state.x1,this.state.x2,!1,!0),s=this.getYMinMax(this.state.xg1,this.state.xg2,!0),this.pairY)for(e=0;ep&&(p=this.data.datesShort[o].length);this.data.maxXTickLength=p,this.data.subchart=s.subchart,this.data.hidden=s.hidden;var c=this.getDefaultZoom({x1:e,x2:i,xg1:e,xg2:i,default:this.data.subchart.defaultZoom}),c=(this.state.x1=c.x1,this.state.x2=c.x2,this.state.xCount=this.data.x.length,this.state.xg1=e,this.state.xg2=i,this.state.xg1Ind=0,this.state.xg2Ind=this.data.x.length-1,this.state.xMainMin=e,this.state.xMainMax=i,this.state.xgMin=e,this.state.xgMax=i,this.reduceGlobalRange({})),c=(c.isReduced&&(this.state.x1=c.x1,this.state.x2=c.x2,this.state.xg1=c.xg1,this.state.xg2=c.xg2,this.state.xg1Ind=c.xg1Ind,this.state.xg2Ind=c.xg2Ind),this.getYMinMax(this.state.x1,this.state.x2,!1,!0)),e=this.getYMinMax(e,i,!0);this.state.y1=c.min,this.state.y2=c.max,this.state.y1m=e.min,this.state.y2m=e.max}else this.switchers.switchers.forEach(function(t,i){t.classList.remove("tchart--switcher__visible")});setTimeout(function(){t||(this.state.zoomModeSlave=!1)}.bind(this),470),this.state.slaveVisibility=t?0:1,a.push({prop:"slaveVisibility",state:this.state,end:t?1:0,duration:450,group:{top:!0,bottom:!0}}),this.animator.add(a)}},toggleZoomSpecial:function(t,i,s){var e,a,h,o=[];this.state.zoomModeSpecial!=t&&(e=this.updateSpeed(),t?(h=(this.state.x2-this.state.x1)/(this.state.dims.graph.w-this.settings.PADD[3]-this.settings.PADD[1]),a=this.settings.PADD[3]*h,h=this.settings.PADD[1]*h,this.state.zoomSpecialOrigin=(i-this.state.x1+a)/(this.state.x2-this.state.x1+a+h),this.state.zoomModeSpecial=!0,this.$h1.classList.add("tchart--header__hidden"),this.$zoom.classList.add("tchart--zoom__visible"),this.switchers.switchers.forEach(function(t,i){t.classList.remove("tchart--switcher__visible")}),this.slaveChart.toggleSlave(!0,this.state.zoomSpecialOrigin,s,e)):(this.$h1.classList.remove("tchart--header__hidden"),this.$zoom.classList.remove("tchart--zoom__visible"),this.switchers.switchers.forEach(function(t,i){t.classList.add("tchart--switcher__visible")}),this.slaveChart.toggleSlave(!1,this.state.zoomSpecialOrigin,null,e)),document.body.style.pointerEvents="none",setTimeout(function(){t||(this.state.zoomModeSpecial=!1),document.body.style.pointerEvents=""}.bind(this),470),this.state.masterVisibility=t?1:0,o.push({prop:"masterVisibility",state:this.state,end:t?0:1,duration:450,group:{top:!0,bottom:!0}}),this.animator.add(o))},toggleZoom:function(t,i,h){if(t&&"scatter"===this.graphStyle&&(this.specialZoomTransition=!0),h&&null==this.specialZoomTransition&&(h.columns.length!=this.data.ys.length+1&&(this.specialZoomTransition=!0),this.specialZoomTransition||h.columns.forEach(function(t,i){var s,t=t[0],e=h.types[t],a=h.names[t];null!=(i=this.data.yIds[t])?(s=this.data.ys[i].tp,i=this.data.ys[i].label,s==e&&i==a||(this.specialZoomTransition=!0)):"x"!==t&&(this.specialZoomTransition=!0)}.bind(this)),null==this.specialZoomTransition)&&(this.specialZoomTransition=!1),this.specialZoomTransition&&(this.data.master=!0,this.$el.classList.add("tchart__master"),this.slaveChart||((o=JSON.parse(JSON.stringify(h))).yTickFormatter=h.yTickFormatter,o.yTooltipFormatter=h.yTooltipFormatter,o.yCustomTooltipFormatters=h.yCustomTooltipFormatters,o.xTickFormatter=h.xTickFormatter,o.xTooltipFormatter=h.xTooltipFormatter,o.xRangeFormatter=h.xRangeFormatter,o.sideLegend=this.data.sideLegend,o.tooltipSort=(null!=h.tooltipSort?h:this.data).tooltipSort,this.slaveChart=new L.TChart({container:this.opts.container,slave:!0,data:o}),this.slaveChart.setDarkMode(this.darkMode))),h&&!h.details&&(h.details={y:[],names:[]},h.columns.forEach(function(t,i){var s=t.shift(),e=h.types[s],a=h.names[s];"x"===e?h.details.x=t:this.specialZoomTransition?(h.details.y.push(t),h.details.names.push(a)):h.details.y[this.data.yIds[s]]=t}.bind(this))),h&&(h.subchart={show:!h.subchart||null==h.subchart.show||h.subchart.show,defaultZoom:h.subchart&&h.subchart.defaultZoom},h.details.subchart=h.subchart,h.details.hidden=h.hidden||[]),this.specialZoomTransition)this.toggleZoomSpecial(t,i,h&&h.details);else{var s,e,a,o=h&&h.details,r=[];if(this.state.zoomMode!=t){if(t){if(this.state.zoomMode=!0,this.state.zoomDir=1,this.$h1.classList.add("tchart--header__hidden"),this.$zoom.classList.add("tchart--zoom__visible"),this.zoomEnterSpeed=this.updateSpeed(),h&&(this.data.details={yTickFormatter:h.yTickFormatter,yTooltipFormatter:h.yTooltipFormatter,yCustomTooltipFormatters:h.yCustomTooltipFormatters,xTickFormatter:h.xTickFormatter,xTooltipFormatter:h.xTooltipFormatter,xRangeFormatter:h.xRangeFormatter,subchart:h.subchart,hidden:h.hidden||[]}),!this.hasSavedData){for(this.data.saved={},this.data.saved.x=this.data.x.slice(),this.data.saved.dates=this.data.dates.slice(),this.data.saved.datesShort=this.data.datesShort.slice(),this.data.saved.datesRange=this.data.datesRange.slice(),this.data.saved.y=[],j=0;jthis.data.x[this.data.x.length-1]&&(d=this.data.x[this.data.x.length-1]+l):d>this.data.x[this.data.x.length-1]&&(n=(d=this.data.x[this.data.x.length-1]+l)-i)this.data.x[n]&&n++,t),p=n-("bar"==this.graphStyle||"step"==this.graphStyle?1:0),c=this.data.x.length-1,m=[],g=[],u=[],x=[],v=[],f=[],y=0;yD&&(D=u[e].length);var $=L.TUtils.getXIndex(this.data.x,m[e]);M[y]=$,_[y]=Math.floor($),T[y]=Math.ceil($)}for(this.data.details.maxXTickLength=D,j=0;j{function t(t){this.opts=t,this.$canvas=document.createElement("canvas"),this.$canvas.className="tchart--graph-canvas",this.ctx=this.$canvas.getContext("2d"),t.$parent.appendChild(this.$canvas),this.deviceSpeed=void 0}var c=window.Graph.units;t.prototype={onResize:function(){var t=this.opts.settings.dpi,i=this.opts.state.dims.composer;this.$canvas.width=i.w*t,this.$canvas.height=i.h*t,this.render({top:!0,bottom:!0})},setDarkMode:function(t){this.isDarkMode=t,this.onResize()},render:function(t){var i,s,e;null==this.deviceSpeed&&(i=performance.now(),e=this.opts.state.x1,this.opts.state.x1=this.opts.state.xMainMin,this.renderInner(t),s=performance.now(),this.opts.state.x1=e),this.renderInner(t),null==this.deviceSpeed&&(e="line"==this.opts.graphStyle||"step"==this.opts.graphStyle?1.5:2,this.deviceSpeed=(s-i)/e/(this.opts.data.x.length*this.opts.data.ys.length),this.opts.state.deviceSpeed=this.deviceSpeed)},renderInner:function(t){var i,s,e=this.opts.state.dims,a=this.opts.state,h=this.ctx,o=this.opts.settings.dpi,r=this.opts.settings,n=r.PADD,d=null==a.zoomMorph?0:a.zoomMorph,l="area"==this.opts.graphStyle&&a.zoomMode&&d<1,p="area"==this.opts.graphStyle&&a.zoomMode&&1==d;this.opts.data.master&&(this.$canvas.style.opacity=a.masterVisibility),this.opts.data.slave&&(this.$canvas.style.opacity=a.slaveVisibility,this.opts.chart.$el.style.visibility=0{function t(t){this.opts=t,this.onDragStart=this.onDragStart.bind(this),this.onDragMove=this.onDragMove.bind(this),this.onDragEnd=this.onDragEnd.bind(this),this.isTouch=s.TUtils.isTouchDevice(),this.skipMoveEnd=!0;var i=t.useElForMove?t.$el:window;t.$el.addEventListener(this.isTouch?"touchstart":"mousedown",this.onDragStart,{passive:!1}),i.addEventListener(this.isTouch?"touchmove":"mousemove",this.onDragMove,{passive:!1}),i.addEventListener(this.isTouch?"touchend":"mouseup",this.onDragEnd,{passive:!1})}var s=window.Graph.units;t.prototype={onDragStart:function(t){this.skipMoveEnd=!0,clearTimeout(this.pointerTimeout),this.isTouch&&1Math.abs(this.dY)?"h":"v")),this.prevDx!=this.dX||this.prevDy!=this.dY)&&(this.opts.onDragMove&&this.opts.onDragMove({canceled:"v"==this.scroll,d:this.dX,pageX:this.pageX,pageY:this.pageY,isTouch:this.isTouch}),this.prevDx=this.dX,this.prevDy=this.dY)},onDragEnd:function(t){this.skipMoveEnd||(this.skipMoveEnd=!0,this.opts.onDragEnd&&this.opts.onDragEnd({isTouch:this.isTouch,e:t}))}},s.TDrag=t})(),(()=>{function t(t){this.opts=t,this.ctx=t.ctx,"area"!=this.opts.graphStyle&&(this.$fadeTop=document.createElement("canvas"),this.ctxFadeTop=this.$fadeTop.getContext("2d"),"bar"!=this.opts.graphStyle)&&(this.$fadeBottom=document.createElement("canvas"),this.ctxFadeBottom=this.$fadeBottom.getContext("2d"))}t.prototype={onResize:function(){var t,i=this.opts.settings.dpi,s=this.opts.state.dims.fadeTop,e=this.opts.state.dims.fadeBottom,a=(a=getComputedStyle(this.opts.$canvas).getPropertyValue("--tchart-fade-color"))||(this.isDarkMode?"rgba(36,47,62,1)":"rgba(255,255,255,1)");"area"!=this.opts.graphStyle&&((t=this.ctxFadeTop.createLinearGradient(0,0,0,s.h*i)).addColorStop(0,a),t.addColorStop(1,a),this.$fadeTop.width=s.w*i,this.$fadeTop.height=s.h*i,this.ctxFadeTop.fillStyle=t,this.ctxFadeTop.fillRect(0,0,s.w*i,s.h*i),"bar"!=this.opts.graphStyle)&&((t=this.ctxFadeBottom.createLinearGradient(0,0,0,e.h*i)).addColorStop(0,a),t.addColorStop(1,a),this.$fadeBottom.width=e.w*i,this.$fadeBottom.height=e.h*i,this.ctxFadeBottom.fillStyle=t,this.ctxFadeBottom.fillRect(0,0,e.w*i,e.h*i))},setDarkMode:function(t){this.isDarkMode=t,this.onResize()},render:function(){var t=this.opts.settings.dpi,i=this.opts.state.dims.fadeTop,s=this.opts.state.dims.fadeBottom;this.$fadeTop&&this.ctx.drawImage(this.$fadeTop,i.l*t,i.t*t),this.$fadeBottom&&this.ctx.drawImage(this.$fadeBottom,s.l*t,s.t*t)}},window.Graph.units.TFade=t})(),(()=>{function t(e){this.opts=e,this.ctx=e.ctx,this.isTouch=h.TUtils.isTouchDevice(),this.$canvas=e.$canvas,this.drag=new h.TDrag({$el:this.$canvas,onDragStart:function(t){this.canvasPos=h.TUtils.getElemPagePos(this.$canvas);var i=t.pageX-this.canvasPos.x,s=t.pageY-this.canvasPos.y;return this._x1=e.state.x1,this._x2=e.state.x2,this.constrainHandleSize(!1),this.tp=this.getTp(i-e.settings.PADD[3],s-(this.opts.state.dims.composer.h-e.settings.MINI_GRAPH_HEIGHT-e.settings.MINI_GRAPH_BOTTOM),t.isTouch),this.firstMove=!0,!this.tp}.bind(this),onDragMove:function(t){this.onDragMove(t.d),this.firstMove=!1}.bind(this),onDragEnd:function(t){}.bind(this)}),this.onMouseMove=this.onMouseMove.bind(this),this.onMouseLeave=this.onMouseLeave.bind(this),this.trackMouse(!0)}var h=window.Graph.units;t.prototype={getTp:function(t,i,s){var e,a=this.opts.state.dims.handle,h=this.opts.state,o=this.opts.state.zoomMode;return i<0||i>a.h?"":(i=s?.3*a.w:10,s&&i<14&&(i=14),e=(a=this.prevX1+(s?h.x1==h.xg1?-5:-15:0))+(i=s&&30h.xg2)&&(i=h.xg2-(o-e),s=h.xg2),"start"==a&&(s=h.x2,i=Math.min(Math.max(e+t,h.xg1),s-this.minRange)),"end"==a&&(i=h.x1,s=Math.max(Math.min(o+t,h.xg2),i+this.minRange)),h.x1==i&&h.x2==s||this.opts.additional.cb(i,s,a,this.firstMove)},render:function(){var t=this.opts.state.dims.handle,i=this.opts.settings.dpi,s=this.opts.state,e=1/(s.xg2-s.xg1),a=Math.round((s.x1-s.xg1)*e*t.w),s=Math.round((s.x2-s.xg1)*e*t.w),e=this.ctx;e.fillStyle=this.isDarkMode?"rgba(48, 66, 89, 0.6)":"rgba(226, 238, 249, 0.6)",h.TUtils.drawRoundedRect(e,i,a+4,t.h-2,t.l,t.t+1,[7,0,0,7]),e.fill(),h.TUtils.drawRoundedRect(e,i,t.w-s+4,t.h-2,t.l+s-4,t.t+1,[0,7,7,0]),e.fill(),this.isDarkMode||"line"==this.opts.graphStyle||"step"==this.opts.graphStyle||(e.fillStyle="#fff",h.TUtils.drawRoundedRect(e,i,12,t.h+2,t.l+a-1,t.t-1,[8,0,0,8]),e.fill(),h.TUtils.drawRoundedRect(e,i,12,t.h+2,t.l+s-11,t.t-1,[0,8,8,0]),e.fill()),e.fillStyle=this.isDarkMode?"#56626D":"#C0D1E1",h.TUtils.drawRoundedRect(e,i,10,t.h,t.l+a,t.t,[7,0,0,7]),e.fill(),h.TUtils.drawRoundedRect(e,i,10,t.h,t.l+s-10,t.t,[0,7,7,0]),e.fill(),e.fillRect((t.l+a+10)*i,t.t*i,(s-a-20)*i,i),e.fillRect((t.l+a+10)*i,(t.t+t.h-1)*i,(s-a-20)*i,i),e.strokeStyle="#fff",this.ctx.lineCap="round",this.ctx.lineJoin="round",this.ctx.lineWidth=2*i,e.beginPath(),e.moveTo((t.l+a+5)*i,(t.t+17)*i),e.lineTo((t.l+a+5)*i,(t.t+25)*i),e.moveTo((t.l+s-5)*i,(t.t+17)*i),e.lineTo((t.l+s-5)*i,(t.t+25)*i),e.stroke(),this.prevX1=a,this.prevX2=s}},h.THandle=t})(),(()=>{function t(t){this.opts=t,this.$canvas=document.createElement("canvas"),this.ctx=this.$canvas.getContext("2d",{alpha:!0})}var V=window.Graph.units;t.prototype={onResize:function(){var t=this.opts.settings.dpi,i=this.opts.additional.mini?this.opts.state.dims.mini:this.opts.state.dims.graph;this.$canvas.width=i.w*t,this.$canvas.height=i.h*t,this.cached="",this.ctx.fillStyle=this.isDarkMode?"#242f3e":"#fff",this.ctx.fillRect(0,0,i.w*t,i.h*t)},setDarkMode:function(t){this.isDarkMode=t},render:function(){var t,i,s,e,a=this.opts,h=a.data.ys,o=a.state,r=a.additional.mini,n=r||a.data.master&&o.masterVisibility<1&&0this.opts.state.xg2Ind)&&(T=this.opts.state.xg2Ind-1),this.opts.data.mainPeriodLen*M),B=this.opts.data.detailPeriodLen*M;if(n){var b=[u.w,u.h,r?o.xg1:o.x1,r?o.xg2:o.x2,this.isDarkMode,x];for(r||(b.push(o.y1),b.push(o.y2)),t=0;t{function t(r){var n,d;this.opts=r,this.isTouch=l.TUtils.isTouchDevice(),this.enabled=r.data.ys.length,1!=this.enabled||r.data.forceLegend||(r.$parent.style.display="none"),this.switchers=r.data.ys.map(function(t,s){var i,e,a,h=document.createElement("div"),o=(h.className="tchart--switcher",r.state["e_"+s]?h.classList.toggle("tchart--switcher__active"):this.enabled--,h.setAttribute("data-label",t.label),r.$parent.appendChild(h),document.createElement("span"));return o.textContent=t.label,h.appendChild(o),this.isTouch||(h.addEventListener("mouseenter",function(t){r.state["e_"+s]&&r.additional.onEnter(s)}),h.addEventListener("mouseleave",function(t){r.state["e_"+s]&&r.additional.onLeave(s)})),h.addEventListener("click",function(t){var i;d?d=!1:(i=h.classList.contains("tchart--switcher__active"))&&1==this.enabled?(h.classList.add("tchart--switcher__denied"),clearTimeout(n),n=setTimeout(function(){h.classList.remove("tchart--switcher__denied")},500)):(this.isTouch||(i?r.additional.onLeave(s):r.additional.onEnter(s)),r.additional.onClick(!i,s))}.bind(this)),this.drag=new l.TDrag({$el:h,noPrevent:!0,useElForMove:!0,onDragStart:function(t){i=t.pageX,e=t.pageY,a=setTimeout(function(){d=!0,this.isTouch||r.additional.onEnter(s),r.additional.onLongTap(s)}.bind(this),500)}.bind(this),onDragMove:function(t){(5{function t(t){var i;this.opts=t,this.shown=!1,this.isTouch=S.TUtils.isTouchDevice(),this.$canvas=t.$canvas,this.cache={},this.$tip=document.createElement("div"),this.$tip.className="tchart--tip",t.$parent.appendChild(this.$tip),this.$tipDt=document.createElement("h6"),this.$tip.appendChild(this.$tipDt),this.$tipDtText=document.createTextNode(""),this.$tipDt.appendChild(this.$tipDtText),this.$tipDtText.nodeValue=".",this.$tipArrow=document.createElement("div"),this.$tipArrow.className="tchart--tip-arrow",this.$tip.appendChild(this.$tipArrow),this.$tipLoader=document.createElement("div"),this.$tipLoader.className="tchart--tip-loader",this.$tip.appendChild(this.$tipLoader),this.$tipScrollerWrapper=document.createElement("div"),this.$tipScrollerWrapper.className="tchart--tip-scroller-wrapper",this.$tip.appendChild(this.$tipScrollerWrapper),this.$tipScroller=document.createElement("div"),this.$tipScroller.className="tchart--tip-scroller",this.$tipScrollerWrapper.appendChild(this.$tipScroller),this.updateTipScrollClasses=this.updateTipScrollClasses.bind(this),this.$tipScroller.addEventListener("scroll",this.updateTipScrollClasses),this.labels=[],t.data.ys.forEach(function(t,i){this.labels.push(this.addLabel(t))}.bind(this)),"bar"==t.graphStyle&&1h.h)&&!(t<0||t>e.w)&&(h=this.opts.chart.graph.pickPoint(t,a),this._scatterLastPick=h,this._scatterLastPickGX=t,this._scatterLastPickGY=a,h)?"graph":""):(o=this.opts.state.dims.tip,i<0||i>o.h?"":"graph")},trackMouse:function(t,i){this.isTouch||(this.$canvas.addEventListener("mousemove",this.onMouseMove),this.$canvas.addEventListener("mouseleave",this.onMouseLeave))},onMouseLeave:function(){this.$canvas.classList.remove("tchart--graph-canvas__tip-pointer"),delete this.canvasPos},onMouseMove:function(t){this.canvasPos=this.canvasPos||S.TUtils.getElemPagePos(this.$canvas);var i=t.pageX-this.canvasPos.x,t=t.pageY-this.canvasPos.y,s=this.opts.state.dims.tip,e=this.getTp(i,t-s.t,!1);this.onMouseLeave(),"scatter"===this.opts.graphStyle?(i=i-this.opts.state.dims.graph.l,t=t-s.t,s=null,this._scatterLastPickGX===i&&this._scatterLastPickGY===t?s=this._scatterLastPick:(s=this.opts.chart.graph.pickPoint(i,t),this._scatterLastPick=s,this._scatterLastPickGX=i,this._scatterLastPickGY=t),s&&s.point&&s.point.href&&this.$canvas.classList.add("tchart--graph-canvas__tip-pointer")):e&&this.$canvas.classList.add("tchart--graph-canvas__tip-pointer")},toggle:function(t,i){var s=this.opts,e=s.state;if(t&&!this.shown&&(this.$tip.classList.add("tchart--tip__visible"),"scatter"===this.opts.graphStyle||!this.opts.data.hasDetail||this.opts.state.zoomMode||this.opts.state.zoomModeSpecial?this.$tip.classList.remove("tchart--tip__has-zoom"):this.$tip.classList.add("tchart--tip__has-zoom"),this.$tip.classList.remove("tchart--tip__shiftHide"),this.$line&&"scatter"!==this.opts.graphStyle&&this.$line.classList.add("tchart--line__visible"),S.TUtils.triggerEvent("chart-hide-tips",{except:this.opts.chart})),!t&&this.shown){if("scatter"===this.opts.graphStyle&&this.opts.chart&&this.opts.chart.graph&&this.opts.chart.graph.clearHover&&this.opts.chart.graph.clearHover(),delete this.lastCurPieItemInd,"area"==s.graphStyle&&e.zoomMode){for(var a=[],h=0;h=x.ed&&(i=x),m-2*Math.PI<=x.st&&m-2*Math.PI>=x.ed&&(i=x);if(this.lastCurPieItemInd!=i.ind){for(var u=[],g=0;gp.w-1&&u--):(this.opts.state.zoomMode||this.opts.state.zoomModeSpecial)&&(uh.state.detailInd2)&&u--,"bar"==h.graphStyle&&h.animator.add([{prop:"barInd",state:h.state,end:u,duration:0,tween:"linear",group:{top:!0}},{prop:"barO",state:this.opts.state,end:1,duration:150,tween:"exp",speed:.3,group:{top:!0}}]),this.prevXInd!=u||!t.isMove){this.$tip.classList.remove("tchart--tip__piemode"),this.$line&&this.$line.classList.remove("tchart--line__piemode"),this.labels.forEach(function(t,i){var s=h.state["e_"+i]&&!isNaN(h.data.ys[i].y[u])?"block":"none";t.$row.style.display=s,this.points&&(this.points[i].style.display=s),l+="block"==s?1:0}.bind(this)),this.itemsVisible=l,this.allLabel&&(this.allLabel.$row.style.display=1this.maxLabelWidth&&(this.maxLabelWidth=i),(i=t.$value.offsetWidth)>this.maxValueWidth)&&(this.maxValueWidth=i)}.bind(this));m=this.rowPaddings+this.maxLabelWidth+20+this.maxValueWidth,x=(m+="area"==h.graphStyle?this.maxPercentageWidth:0,this.rowPaddings+this.$tipDt.offsetWidth+20);x>this.maxDateWidth&&(this.maxDateWidth=x),m=Math.max(m,this.maxDateWidth),this.$tip.style.width=m+"px",this.tipH=this.$tip.offsetHeight,this.tipW=this.$tip.offsetWidth}var b,w,t=this.itemsVisible<=2?"center":"side";"side"==(t="center"==t&&(b=this.dx-this.tipW/2,(w=Math.min(this.dy-20-this.tipH,p.t+p.h-this.tipH-d))p.w/2?this.dx-this.tipW-20:this.dx+20,w=Math.min(Math.max(this.dy-this.tipH/2,p.t+r),p.t+p.h-this.tipH-d)),b=Math.min(Math.max(b,i/2),p.w-this.tipW-n/2),this.$tip.style.transform="translate("+(b<<0)+"px,"+(w<<0)+"px)",this.$tip.style.webkitTransform="translate("+(b<<0)+"px,"+(w<<0)+"px)",this.lastTipLeft=b<<0,this.lastTipTop=w<<0,this.prevXInd=u,this.updateTipScrollClasses()}}},renderScatterTooltip:function(t){var i=this.opts,s=this.opts.settings,e=i.state.dims.tip,a=s.PADD[0],h=s.PADD[2],o=s.PADD[3],s=s.PADD[1],r=i.state.dims.graph,r=this.dx-r.l,n=this.dy-e.t,r=i.chart.graph.pickPoint(r,n);if(r){i.chart.graph&&i.chart.graph.setHover&&i.chart.graph.setHover(r);var d=r.point,n=i.data.yIds[r.seriesId],r=i.data.ys[n],l=d.color||(this.isDarkMode?r.colors_n:r.colors_d)[2],n=(this.labels.forEach(function(t){t.$row.style.display="none"}),this.allLabel&&(this.allLabel.$row.style.display="none"),this.pieLabel&&(this.pieLabel.$row.style.display="none"),this.labels[n]),r=(n.$row.style.display="",n.$labelText.nodeValue=d.label||r.label,S.TUtils.getFormatter("yTooltipFormatter",i.data,0)),p=d.y,r=r(p="number"==typeof p&&isFinite(p)?Math.round(p):p),c=("time"===(i.data.scatter&&i.data.scatter.xType?i.data.scatter.xType:"time")?n.$valueText.nodeValue="(Y: "+r+")":(_=S.TUtils.getFormatter("xTooltipFormatter",i.data,0),"number"==typeof(p=d.x)&&isFinite(p)&&(p=Math.round(p)),p=(_||String)(p),n.$valueText.nodeValue="(X: "+p+", Y: "+r+")"),n.$value.style.color=l,this._scatterExtraRows=this._scatterExtraRows||[],function(t){var i,s,e=this._scatterExtraRows[t];return e||((e=document.createElement("div")).className="tchart--tip-row",i=document.createElement("span"),s=document.createElement("div"),e._k=i,(e._v=s).style.fontWeight="normal",e.appendChild(i),e.appendChild(s),this.$tipScroller.appendChild(e),this._scatterExtraRows[t]=e),e}.bind(this)),m=function(t,i,s){t=c(t);t.style.display="",t._k.textContent=i,t._k.style.color=this.isDarkMode?"#aaa":"#555",t._v.textContent=s,t._v.style.color=this.isDarkMode?"#fff":"#000"}.bind(this),p=i.data.scatter&&i.data.scatter.hover?i.data.scatter.hover:{},g=null!=p.maxMetaKeys?p.maxMetaKeys:12,u=null!=p.maxMetaValueLen?p.maxMetaValueLen:120,x=0;if(null!=d.sizePx&&m(x++,"Size:",String(d.sizePx)),d.meta){var v,f=0;for(v in d.meta){if(f++>=g)break;var y=d.meta[v];"object"==typeof y&&(y=JSON.stringify(y)),m(x++,v+":",y=(y=String(y)).length>u?y.substr(0,u)+"...":y)}}for(var M=x;Me.w/2&&(p=this.dx-this.tipW-20),this.dy-this.tipH/2-e.t),r=Math.min(Math.max(r,a),e.h-this.tipH-h),p=Math.min(Math.max(p,o/2),e.w-this.tipW-s/2);this.$tip.style.transform="translate("+(p<<0)+"px,"+(r+e.t<<0)+"px)",this.$tip.style.webkitTransform="translate("+(p<<0)+"px,"+(r+e.t<<0)+"px)",this.updateTipScrollClasses(),this.prevXInd=-999,this.lastScatterPoint=d}else i.chart.graph&&i.chart.graph.clearHover&&i.chart.graph.clearHover()},updateTipScrollClasses:function(){this.$tipScroller.scrollHeight>this.$tipScroller.offsetHeight?this.$tip.classList.add("tchart--tip__scroll"):this.$tip.classList.remove("tchart--tip__scroll"),this.$tipScroller.scrollTop<=0?this.$tip.classList.remove("tchart--tip__has_less"):this.$tip.classList.add("tchart--tip__has_less"),this.$tipScroller.scrollTop>=this.$tipScroller.scrollHeight-this.$tipScroller.offsetHeight?this.$tip.classList.remove("tchart--tip__has_more"):this.$tip.classList.add("tchart--tip__has_more")},fillPercentages:function(s,e){var a=this.opts,h=[],o=2;a.data.ys.forEach(function(t,i){a.state["e_"+i]&&(h[i]=Math.max(Math.round(100*t.y[s]/e),0),!isNaN(t.y[s])&&0!=e||(h[i]=0),100==h[i])&&(o=3)}.bind(this)),a.data.ys.forEach(function(t,i){var s;a.state["e_"+i]&&(s=8*o+17,this.labels[i].$label.style.transform="translateX("+s+"px)",this.labels[i].$label.style.webkitTransform="translateX("+s+"px)",this.labels[i].$perText.nodeValue=h[i]+"%",this.labels[i].$per.style.width=s-7+"px",s>this.maxPercentageWidth)&&(this.maxPercentageWidth=s)}.bind(this))}},S.TTip=t})(),(()=>{Math.log2=Math.log2||function(t){return Math.log(t)*Math.LOG2E},Math.log10=Math.log10||function(t){return Math.log(t)*Math.LOG10E};var s=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],e=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],a=["January","February","March","April","May","June","July","August","September","October","November","December"],h={simplifyData:function(t,i,s,e,a,h,o,r,n){var n=(r-o)/n,d=[],l=[];if(n<=1)return{xInd1:o,xInd2:r,x:i,ys:s};for(var p,c=0,m=-999999999,g=h.length,u=o;u<=r;u++){var x=i[u]*e+a<<0,v=mt[a]&&(i=t[a]));1=t[e]&&i<=t[h]?a=h:e=h}return e+(i-t[e])/(t[a]-t[e])},triggerEvent:function(t,i){"function"==typeof window.CustomEvent&&document.dispatchEvent(new CustomEvent(t,{detail:i||null}))},isTouchDevice:function(){var t=" -webkit- -moz- -o- -ms- ".split(" ");return!!("ontouchstart"in window||window.DocumentTouch&&document instanceof DocumentTouch)||(t=["(",t.join("touch-enabled),("),"heartz",")"].join(""),window.matchMedia(t).matches)},drawRoundedRect:function(t,i,s,e,a,h,o){s*=i,e*=i,a*=i,h*=i,(o="number"==typeof o?[o,o,o,o]:o)[0]*=i,o[1]*=i,o[2]*=i,o[3]*=i,t.beginPath(),t.moveTo(a+o[0],h),t.lineTo(a+s-o[1],h),t.quadraticCurveTo(a+s,h,a+s,h+o[1]),t.lineTo(a+s,h+e-o[2]),t.quadraticCurveTo(a+s,h+e,a+s-o[2],h+e),t.lineTo(a+o[3],h+e),t.quadraticCurveTo(a,h+e,a,h+e-o[3]),t.lineTo(a,h+o[0]),t.quadraticCurveTo(a,h,a+o[0],h),t.closePath()},drawRoundedRect2:function(t,i,s,e,a,h,o){a*=i,h*=i,(e*=i)<2*(o=(s*=i)<2*(o*=i)?s/2:o)&&(o=e/2),t.beginPath(),t.moveTo(a+o,h),t.arcTo(a+s,h,a+s,h+e,o),t.arcTo(a+s,h+e,a,h+e,o),t.arcTo(a,h+e,a,h,o),t.arcTo(a,h,a+s,h,o),t.closePath()},getFormatter:function(t,i,s){var e;return(e=.5{var t=window.Graph.units;function i(t){this.opts=t,this.ctx=t.ctx,!t.additional.mini&&t.$parent&&(this.$hoverPoint=document.createElement("div"),this.$hoverPoint.style.cssText="position:absolute;top:0;left:0;margin:0;pointer-events:none;z-index:10;border-radius:50%;display:none;will-change:transform;box-sizing:border-box;",t.$parent.appendChild(this.$hoverPoint)),this.init()}i.prototype={_getZMode:function(){var t=this.opts.data.scatter;return!t||"manual"!==t.z_mode&&"auto"!==t.z_mode?"auto":t.z_mode},_getPointZManual:function(t,i){return i&&null!=i.z&&!isNaN(i.z)?+i.z:t&&null!=t.z&&!isNaN(t.z)?+t.z:0},_getPointSizePx:function(t,i,s){s=s.size&&s.size.defaultPx?s.size.defaultPx:3,i=+(i=i&&null!=i.sizePx?i.sizePx:s);return i=!isFinite(i)||i<=0?s:i},_getPointZKey:function(t,i,s){var e=this._getZMode(),s=this._getPointSizePx(t,i,s);return{zMode:e,z:this._getPointZManual(t,i),sizePx:s}},_cmpOnTop:function(t,i){return t?i?"manual"===t.zMode?t.z!==i.z?t.z>i.z?1:-1:t.sizePx!==i.sizePx?t.sizePxi.z?1:-1:0:1:-1},_cmpDrawOrder:function(t,i){return"manual"===t.zMode?t.z!==i.z?t.z-i.z:t.sizePx!==i.sizePx?i.sizePx-t.sizePx:t._seq-i._seq:t.sizePx!==i.sizePx?i.sizePx-t.sizePx:t.z!==i.z?t.z-i.z:t._seq-i._seq},_resolveHoverColor:function(t,i){return i&&i.hover_color||t&&t.hover_color||"#ffd400"},_resolveBorderColor:function(t,i){var s=this.opts.data.scatter,i=i&&"border_color"in i?i.border_color:t&&"border_color"in t?t.border_color:s&&"border_color"in s?s.border_color:void 0;return null!=i&&(i=String(i))&&"none"!==i.toLowerCase()?i:null},clearHover:function(){this.$hoverPoint&&(this.$hoverPoint.style.display="none"),this._hovered=null},setHover:function(t){var i,s,e,a,h,o,r;this.$hoverPoint&&(t&&t._rendered?this._hovered!==t._rendered&&(this._hovered=t._rendered,e=t._rendered.rDev,i=(h=this.opts).settings.dpi,s=h.state.dims.graph,a=2*(e=e/i),o=h.state.dims.composer,r=(h=h.$parent.getBoundingClientRect()).width/o.w,h=h.height/o.h,o=((s.l*i|0)+t._rendered.cxDev)/i*r-e,r=((s.t*i|0)+t._rendered.cyDev)/i*h-e,this.$hoverPoint.style.width=a+"px",this.$hoverPoint.style.height=a+"px",this.$hoverPoint.style.transform="translate("+o+"px,"+r+"px)",this.$hoverPoint.style.backgroundColor=t._rendered.hoverColor||"#ffd400",this.$hoverPoint.style.display="block"):this.clearHover())},init:function(){var t=this.opts.data.scatter;if(t){for(n in t.series)if((d=t.series[n]).points&&d.points.length){d.blocks=[];for(var i=0;ia&&(a=s[h].y);d.blocks.push({xMin:s[0].x,xMax:s[s.length-1].x,yMin:e,yMax:a,points:s})}}this.miniBins={};var o=this.opts.state.xgMin,r=this.opts.state.xgMax-o;if(0o&&(o=h[l])}}}if(!(o<=0)){t.fillStyle=this.isDarkMode?"rgba(255, 255, 255, 0.4)":"rgba(0, 0, 0, 0.3)";for(var c=e.w*a/300,m=e.h*a,g=e.l*a,u=e.t*a,l=0;l<300;l++){var x=h[l];0{for(var s=0,e=t.length;s>1;t[a].xn)break;L.yl||(w=W-(L.y-d)*X|0,(b=B+(L.x-r)*N|0)P.z:D!==P.sizePx&&(I=DP.z):I=!Z,I&&(I={_seq:tt,p:L,sid:p,seriesIndex:x,alpha:v*(.9*f+.1),fill:L.color||K,hoverColor:this._resolveHoverColor(y,L),borderColor:this._resolveBorderColor(y,L),zMode:st,z:$,sizePx:D,cxDev:b,cyDev:w,rDev:it},P?g[S]=I:(g[S]=I,u.push(S),V<=u.length&&(Z=!0))))}}}}}}}for(var A=new Array(u.length),et=0,E=0;Eet&&(et=at.rDev)}A.sort(this._cmpDrawOrder.bind(this));for(var o=h.hover&&h.hover.pickCellPx||10,k=Math.max(1,o*a|0),ht=Math.max(1,c/k|0),ot=Object.create(null),rt=e.l*a|0,nt=e.t*a|0,dt=Math.max(1,a),lt=0;lt