\n

\n

\'>\n ']),gu=function(a,b,c,d){Yj.call(this);this.yc=b;this.Se=this.vd=null;this.gj=!1;this.Yh=[];this.Zc=null;if(!(Ye?Xb(pf,"9")>=0:$e?Xb(pf,"1.8")>=0:Xe?Xb(pf,"9.0")>=0:af?Xb(pf,"420+")>=0:Ze))throw Error("Graphics is not supported");for(b=Math.floor(Math.random()*1E5);window.frames["Drawing_Frame"+b];)b++;this.frameId="Drawing_Frame"+b;(a=this.Wj=a)&&(a[Bs]=!0);mg(this.Wj);this.Nb=bg(this.Wj);this.container=this.Nb.createElement("div");this.container.style.position="relative";this.Wj.appendChild(this.container);this.Ex=Ks;(this.gm=d)&&du(Nt(eu,this.frameId,this.frameId,this.yc?this.yc.width.toString()+"px":"",this.yc?this.yc.height.toString()+"px":""),this.container);fu(this.lr.bind(this),this.cs.bind(this),c)};u(gu,Yj);gu.prototype.cs=function(){if(this.gm){var a=hu(this);Q(a.body!=null);var b=this.vd=a.getElementById("renderers");b&&(b[Bs]=!0);this.Se=iu(a.body,this.yc)}else this.vd=this.Nb.createElement("div"),Ik(this.vd,"position","relative"),this.yc&&Wk(this.vd,this.yc),this.vd.dir="ltr",this.container.appendChild(this.vd),this.Se=iu(this.container,this.yc);this.gj=!0};var iu=function(a,b){Q(a!=null);var c=bg(a),d=c.createElement("div"),e=d.style,f=b?b.height+10:0;b=b?b.width+10:0;e.display="none";e.position="absolute";e.top=f+"px";e.left=b+"px";e.whiteSpace="nowrap";e=!0;Array.isArray(e)&&(e=e.join(" "));Q("hidden","ARIA attribute cannot be empty.");a:{for(g in Fs)if(Fs[g]=="hidden"){var g=!0;break a}g=!1}Q(g,"No such ARIA attribute hidden");e===""||e==void 0?(Gs||(g={},Gs=(g.atomic=!1,g.autocomplete="none",g.dropeffect="none",g.haspopup=!1,g.live="off",g.multiline= !1,g.multiselectable=!1,g.orientation="vertical",g.readonly=!1,g.relevant="additions text",g.required=!1,g.sort="none",g.busy=!1,g.disabled=!1,g.hidden=!1,g.invalid="false",g)),g=Gs,"hidden"in g?d.setAttribute("aria-hidden",g.hidden):d.removeAttribute("aria-hidden")):d.setAttribute("aria-hidden",e);d.setAttribute("aria-hidden",!0);c.appendChild(d,c.createTextNode(" "));c.appendChild(a,d);return d};gu.prototype.lr=function(){if(!this.gm)return!0;var a=this.Nb.M(this.frameId);if(a)a:{try{var b=a.contentWindow||(a.contentDocument?hg(a.contentDocument):null);break a}catch(c){}b=null}else b=null;return b?(a=hu(this),a.readyState==="complete"&&a.body!=null&&a.getElementById("renderers")!=null):!1};var ju=function(a){var b;var c=c===void 0?!0:c;if(!a.gj)return null;for(b=b!=null?b:0;a.Yh.length<=b;){var d=a,e=c;e=e===void 0?!0:e;var f=bg(d.vd).createElement("div");e&&(Ik(f,"position","absolute"),Ok(f,0,0));Wk(f,"100%","100%");d.vd.appendChild(f);Q(d.Se!=null);e=new d.Ex(f,d.Se);Zj(d,e);d.Yh.push(e)}return a.Yh[b]},ku=function(a){if(!a.gj)return null;if(!a.Zc){var b=a.Nb.createElement("div");a.Zc=new Hs(b);a.Nb.appendChild(a.container,a.Zc.container)}return a.Zc},lu=function(a,b,c){fu(function(){return a.vd!= null},b,c)};gu.prototype.update=function(a,b){if(a!=null&&!Ee(this.yc,a))if(this.yc=a,this.gm){if(a=this.Nb.M(this.frameId))a.width=this.yc.width.toString(),a.height=this.yc.height.toString()}else this.gj&&Wk(this.vd,this.yc);this.gj||fu(this.lr.bind(this),this.cs.bind(this),b)};var hu=function(a){a=a.Nb.M(a.frameId);if(!a)throw Error("No iframe");return a.contentDocument||a.contentWindow.document},fu=function(a,b,c,d){a.call()?b.call():mu(a,b,c,d)},mu=function(a,b,c,d){d=d!=null?d:10;setTimeout(c(function(){fu(a,b,c,d)}),d)};gu.prototype.fa=function(){try{this.Nb.Xh(this.Wj),Xj(this.Zc),Lc(this.Yh,function(a){Xj(a)})}catch(a){}Yj.prototype.fa.call(this)};var ou=function(a,b){this.fonts=a||[];nu(this,b)},qu=function(){return function(a,b){return b==="fontName"&&typeof a==="string"&&pu.indexOf(a.toLowerCase())===-1}},nu=function(a,b){var c=Ra.WebFont;a.fonts.length!==0&&c?c.load({google:{cB:a.fonts},active:function(){b.resolve()},dB:function(){b.reject(Error("One or more fonts could not be loaded"))}}):b.resolve(null)},pu="arial;comic sans ms;courier new;georgia;impact;times new roman;trebuchet ms;verdana".split(";");function ru(a){for(var b=yf("thead",{},su(a,tu)),c=[],d=a.Ab(),e={Ej:0};e.Ej=0);Q(d>=0);b.width=e;b.height=d;var f=ts(b,"svg");f.setAttribute("width",e);f.setAttribute("height",d);f.style.overflow="hidden";f.setAttribute("aria-label","A chart.");b.container.appendChild(f);rs(b,f);e=new ns(f);e.ai("_default_");b.Ph=e;Cu(a,c,e)},Bu=function(a,b,c){var d=new Yq;$q(d,0,b);$q(d,1,c);a.A=d.compact()},Cu=function(a,b,c){a.registerElement(c.M(),"chart");var d=a.A,e=a.B,f=d.Bm;!Gg(f)&&!Dg(f)||ws(e,0,0,d.width,d.height,f,c);d.ci==="out"&&(Q(d.title!=null),f=Eu(a,d.title,c,!0),a.registerElement(f,"title"));a.rc=e.Fa(!0);f=d.legend;Fu(a,f);f&&(e.appendChild(c,a.rc),a.registerElement(a.rc.M(),"legend"));a.ke=e.Fa(!0);f=d.kd;Gu(a,f);f&&f.position!=="in"&&(e.appendChild(c,a.ke),a.Bc.colorbar=a.ke.M());a.Yl=e.Fa(!1);if(!Hu(a,d,c)){var g= {color:"black",Za:d.qe,fontSize:d.Id,bold:!1,Td:!1,fh:!1};Q(g.fontSize!=null);a.B.Ri("No data",g);var h=d.chartArea.top+Math.round(d.chartArea.height/2);f=a.B;var k=d.chartArea.left;d=d.chartArea.left+d.chartArea.width;var l=zo(k,d,"center"),m=zo(h,h,"center"),n=new bi(k,h,d,h),p=n.x1-n.ji;n=n.y1-n.ki;g=ys(f,"No data",l,m,Math.sqrt(p*p+n*n),ge(Math.atan2(h-h,d-k)*180/Math.PI),"center","center",g);f.appendChild(c,g)}e.appendChild(c,a.Yl);a.se=b},Fu=function(a,b){if(b){var c=b.gf;if(c){var d=b.Mb|| 0,e=b.La.length;if(b.Hj)var f=b.T;else f=c.map(function(g){return Iu(g)}).filter(function(g){return g!=null}),f=Ji(f);f&&(f=Gk(f),Q(a.rc!=null),ws(a.B,f.left,f.top,f.width,f.height,new U(Kg),a.rc));for(f=0;f500&&(h==="polygon"||h==="star")&&(h="circle");if(h==="polygon"||h==="star"){f=Number(f.dent);f!=null&&isFinite(f)||(k>=5?(f=Math.cos(Math.PI/k),f-=Math.pow(Math.sin(Math.PI/k),2)/Math.sin(Math.PI/2-Math.PI/k)):f=.3);f*=d;h==="star"&&(k*=2);h=new yn;for(var n=0;n0?h.Ha(r,p):h.move(r,p)}h.close();b=a.B.ne(h,e)}else b=Ls(a.B,b,c,d,e);b&&g&&a.B.appendChild(g,b);return b},Ju=function(a,b){if(b.isVisible){var c=a.B.Fa(!1),d=c.M();b.id&&d.setAttribute("column-id",b.id);var e=jl(["legendentry",b.index]);a.registerElement(d,e,"legendentry");if(d=Iu(b))d=Gk(d),ws(a.B,d.left,d.top,d.width,d.height,new U(Kg),c);b.F&&Eu(a,b.F,c);if(b.ka)if(d=a.A.h[b.index],a.A.gt&&d&&!d.ag&&d.Wh){var f=b.ka.na.left;e=b.ka.na.width;var g=b.ka.na.height,h=f+e/2,k=b.ka.na.top+g/2;d.Bd&&ws(a.B,f,k,e,g/2,d.Bd,c);var l=g*.5,m=d.ga;if(m){m.strokeWidth>l&&(m=m.clone(),zg(m,l));l=a.B;var n=f+e,p=new yn;p.move(f,k);p.Ha(n,k);f=l.ne(p,m);l.appendChild(c,f)}d.pb&&d.Zj&&((f=d.Wh)||(f={type:"circle"}),Lu(a,h,k,Math.min(d.lo,g/2,e/2),d.pb,f,c))}else ws(a.B,b.ka.na.left,b.ka.na.top,b.ka.na.width,b.ka.na.height,b.ka.m,c);b.qb&&b.qb.isVisible&&b.qb.m&&(g=b.qb.na.x,h=b.qb.na.y,k=b.qb.m,d=a.B,e=d.Fa(),ws(d,g,h,12,12,k,e),d.appendChild(c,e),k=new yn,k.move(g+2,h+2),k.Ha(g+ 12-2,h+12-2),k.move(g+12-2,h+2),k.Ha(g+2,h+12-2),g=new U,g.bd("#ffffff"),zg(g,2),xs(d,k,g,e),d=e.M(),b=jl(["removeseriebutton",b.index]),a.registerElement(d,b));Q(a.rc!=null);a.B.appendChild(a.rc,c)}},Ku=function(a,b,c,d){b&&(Mu(a,b.oo,c,d,-1),b.jo&&(Q(a.rc!=null),Eu(a,b.jo,a.rc)),Mu(a,b.bo,c,d,1))},Mu=function(a,b,c,d,e){if(b){Q(a.rc!=null);var f=Cn(b.path);f=xs(a.B,f,b.m,a.rc);b.active&&(b=jl(["legendscrollbutton",e,c,d]),a.registerElement(f,b))}},Gu=function(a,b){if(b){Q(a.ke!=null);for(var c= b.definition,d=a.B,e=a.ke,f=c.Up,g=0;g=k.width+c,m=g.x-f.left>=k.width+c,n=f.bottom-g.y>=k.height+c,p=g.y-f.top>=k.height+c,q=Math.sign(g.x-d.x),r=Math.sign(g.y-d.y);q===0&&q===r&&(q=!m||l||n||p?1:-1,r=p||l?-1:1);l=g.x+(h+k.width/2)*q;g=g.y+(h+k.height/2)*r;g={box:new Dk(g-k.height/2,l+k.width/2,g+k.height/2,l-k.width/2),Wb:null};Tl(g,f,d,c,0);Ul(g,f,d,c);d=new S(g.box.left,g.box.top);e.style.width=e.clientWidth+1+"px";e.style.height=e.clientHeight+"px";e.style.left=d.x+"px";e.style.top=d.y+"px"}else{e=a.B;d=a.Yl;f=e.Fa();f.M().setAttribute("class","google-visualization-tooltip");k=c.outline;g=new yn;r=new Dk(k.box.top+.5,k.box.right+.5,k.box.bottom+.5,k.box.left+.5);h=k.Wb;g.move(r.left+1,r.bottom);g.nh(r.left+ 1,r.bottom-1,1,1,180,270,!0);g.Ha(r.left,r.top+1);g.nh(r.left+1,r.top+1,1,1,270,0,!0);if(h!=null&&h[0].y===k.box.top)for(l=0;l<3;++l)g.Ha(h[l].x+.5,h[l].y+.5);g.Ha(r.right-1,r.top);g.nh(r.right-1,r.top+1,1,1,0,90,!0);g.Ha(r.right,r.bottom-1);g.nh(r.right-1,r.bottom-1,1,1,90,180,!0);if(h!=null&&h[0].y===k.box.bottom)for(k=0;k<3;++k)g.Ha(h[k].x+.5,h[k].y+.5);g.close();xs(e,g,c.xc,f);c=c.ti;for(g=0;g=r;g--)q=p.points[g].o,n.Ha(q.Em,q.Fm),q.Cm===q.Em&&q.Dm===q.Fm||n.Ha(q.Cm,q.Dm);else w!=null&&(p=p.points[w].o,n.Ha(p.Em,p.Fm),n.close());xs(a.B,m,l,h)}f=jl(["area",c]);Pu(a,a.Ma.area.Ga,f,h.M());if(d){e=Rn(b);d=jl(["line",c]);e=e.ne(a.B);f=ev(a,b);if(e){h=b.Ae;k=b.ad;if(h||k){f=f||a.B.Fa();if(h)for(l=0;l=k.right||h.x+g<=k.left||h.y-g>=k.bottom||h.y+g<=k.top)g=!1;else{if((h.x>=k.right||h.x<=k.left)&&(h.y>=k.bottom||h.y<=k.top)){g*=g;var l=h.x-k.right,m=h.x-k.left,n=h.y-k.bottom;h=h.y-k.top;k=l*l;m*=m;n*=n;h*=h;if(k+n>=g&&k+h>=g&&m+h>=g&&m+n>=g){g=!1;break a}}g=!0}}if(g){g=jl([b.type==="bubbles"?"bubble":"point",c,e]);n=Ln(d,b);Q(n!=null);if(n){m=Hn(d,b);h=Nn(d,b);Q(h!=null);n= null;l=d.ad;k=d.Ae;var p=d.Tm;if(l||k||p)n=a.B.Fa();p&&xs(a.B,p.path,p.m,n);(p=d.shape)&&p.type||(p={type:"circle"});l&&Lu(a,l.x,l.y,l.xb+.5,l.m,p,n);if(k)for(l=0;lf.right)&&(f=b.labels)&&f.length!=0){var g=["annotation",d];ad(g,1,0,c);g=jl(g);var h=e.x,k=e.y,l=e.length;l=e.orientation==="horizontal"?[l,1]:[1,l];e=vs(a.B,Math.min(h,h+l[0]),Math.min(k,k+l[1]),Math.abs(l[0]),Math.abs(l[1]),new U({fill:e.color}));Pu(a,a.Ma.annotation.Ga,g,e);e=a.B.Fa();g=["annotationtext",d];ad(g,1,0,c);h=null;b.Cd&&!b.Cd.kr&&(f=[b.Cd.label],h=-1);for(b=0;b0&&(h=Ls(a.B,h.left,h.top,k,l),a.B.appendChild(f,h))):h.width===0||h.height=== 0?(k=new yn,k.move(h.left,h.top),k.Ha(h.left+h.width,h.top+h.height),xs(a.B,k,l,f)):a.B.appendChild(f,vs(a.B,h.left,h.top,h.width,h.height,l))}}f.element&&(c=jl(["interval",c,d]),f=f.M(),Pu(a,a.Ma.interval.Ga,c,f))}},Wu=function(a,b,c){lv(a,c,function(d,e){var f=d.length!=null?d.length:b.chartArea.height,g=c.xd.G;return ws(a.B,Math.floor(d.G),Math.min(g,g+c.xd.direction*f),1,f,d.m,e)})},Xu=function(a,b,c){lv(a,c,function(d,e){var f=d.length!=null?d.length:b.chartArea.width,g=c.xd.G;return ws(a.B,Math.min(g,g+c.xd.direction*f),Math.floor(d.G),f,1,d.m,e)})},lv=function(a,b,c){(function(f,g,h){if(f){var k=a.Ma[g].Ga,l=jl([b.name,g]);Lc(f,function(m,n){n=jl([b.name,g,n]);mv(a,m,h,k,n,l)})}})(b.gridlines,"gridline",c);var d=a.Ma.baseline.Ga,e=jl([b.name,"baseline"]);b.ca&&b.ca.isVisible&&b.ca.N!=null&&b.ca.G!==Infinity&&mv(a,b.ca,c,d,e)},mv=function(a,b,c,d,e,f){var g;if(g=b&&b.isVisible)g=b.m,g=!(!Gg(g)&&!Dg(g));g&&(b=c(b,d),a.registerElement(b,e,f))},$u=function(a,b){var c=a.Ma;if(b.title){var d= Eu(a,b.title,c.axistitle.Ga,!0),e=jl([b.name,"title"]);a.registerElement(d,e);if(b.text){var f=c.axistick.Ga,g=jl([b.name,"label"]);Lc(b.text,function(h,k){h.isVisible&&(Q(h.F!=null),h=Eu(a,h.F,f),k=jl([b.name,"label",k]),a.registerElement(h,k,g))})}}},nv=function(a,b){var c=a.se;if(c){for(var d in c.h){var e=Number(d),f=b.h[e];if(Ci(c.h[e],Jd({points:null}))){var g=c.h[e].points,h;for(h in g){var k=Number(h),l=g[k];if(l.aa){var m=jl(["tooltip",Number(e),Number(k)]);Nu(a,m)}if(l=l.ba)for(var n in l.labels)l.labels[Number(n)].di&& (m=jl(["tooltip",Number(e),Number(k),n]),Nu(a,m));jv(a,f,Number(e),f.points[k],Number(k))}}else{for(var p in c.h[e].points)c.h[e].points[Number(p)].aa&&(g=jl(["tooltip",Number(e),Number(p)]),Nu(a,g));Yu(a,f,Number(e))}}for(var q in c.K)if(d=Number(q),e=c.K[d],e.aa&&(f=jl(["tooltip",Number(d)]),Nu(a,f)),e=e.ba){for(var r in e.labels)e.labels[Number(r)].di&&(f=jl(["tooltip",null,Number(d),Number(r)]),Nu(a,f));Vu(a,b.K[d].ba,null,Number(d))}Tu(a)}};var ov=function(a,b,c,d){this.value=a;this.position=b;this.Fw=c;this.label=this.label=d};ov.prototype.Pd=function(){return Math.round(this.position)};ov.prototype.C=function(){return this.value};var pv=function(){};var qv=function(a,b){b=b===void 0?0:b;this.spacing=a;this.offset=b;this.position=0};u(qv,pv);t=qv.prototype;t.next=function(){this.position++;return this.C()};t.wb=function(){this.position--;return this.C()};t.C=function(){return xi(15,this.position*this.spacing+this.offset)};t.floor=function(a){this.position=Math.floor((a-this.offset)/this.spacing);return this.C()};t.ceil=function(a){this.position=Math.ceil((a-this.offset)/this.spacing);return this.C()};t.round=function(a){this.position=Math.round((a-this.offset)/this.spacing);return this.C()};var rv=function(a){this.position=0;var b=a.length;Q(b>0,"Multiplier is empty.");Q(a[0]>=1,"Multipliers first value is too low.");Q(a[b-1]<10,"Multipliers last value is too high.");for(var c=0,d,e=0;ec,"Multipliers are not sorted."),c=d;this.lx=a.concat();this.nj=a.length};u(rv,pv);t=rv.prototype;t.next=function(){this.position++;return this.C()};t.wb=function(){this.position--;return this.C()};t.C=function(){var a=Math.floor(this.position/this.nj);return Qm(this.lx[this.position-a*this.nj],a)};t.floor=function(a){Q(a>0,"Value, "+a+", must be positive");this.position=this.nj*Sm(a);if(this.C()!==a)for(;this.wb()>a;);return this.C()};t.ceil=function(a){Q(a>0,"Value "+a+" must be positive");this.position=this.nj*Rm(a);if(this.C()!==a)for(;this.next()0,"Value must be positive");this.position=this.nj*Sm(a);if(this.C()!==a){for(;this.wb()>a;);if(a-this.C()0,"numSignificantDigits must be a positive number if passed in."));this.Sh=c||null;this.Jf=d||null};wv.prototype.format=function(a){var b=a<0;a=Math.abs(a);a=xi(this.Sh||15,a);for(var c=null,d=0;d=e.magnitude){c=e.format(a);break}}c==null&&(c=this.hq.Na(a));this.Jf&&(a=this.Jf.mB,d=this.Jf.qB?" ":"",c=this.Jf.position==="right"?c+d+a:a+d+c);return b?"-"+c:c};wv.prototype.Na=function(a){return this.format(a)};wv.prototype.parse=function(a){return this.hq.parse(a)};var xv=function(a,b,c,d){this.P=a;this.Po=b;this.orientation=c;this.Nd=d;this.Ie=this.ra=null},yv=function(a){if(a.Nd){var b=a.Nd;b.Sh=15;b.ce=!0;a.ra=a.Nd.bf()}},zv=function(a,b){if(a.Nd){b=sv(b);var c=a.Nd;c.Cg=b;c.ce=!0;vv(a.Nd,b)}},Av=function(a,b,c){var d;return Rc(b,function(e,f){f=f===0?!0:Math.abs(a.P.Ka(e)-a.P.Ka(d))>=c;d=e;return f})},Bv=function(a,b,c){if(c==null)return!0;a.Ie&&a.Ie.multiple===c||(a.Ie={},a.Ie.multiple=c,a.Ie.Sr=Math.pow(10,wi(c||1)),a.Ie.kx=Math.round(c*a.Ie.Sr));return Math.abs(xi(15,b*a.Ie.Sr)%a.Ie.kx)<1E-15},Cv=function(a,b){if(!a.ra)return!0;var c={};return Rc(b,function(d){var e=a.ra.Na(d);return c[e]==null?(c[e]=d,!0):!1})},Ev=function(a,b){if(!a.ra)return!0;var c=b.length;if(c>0){if(Dv(a,b[0],b[1]))return!1;for(;--c>1;)if(Dv(a,b[c-1],b[c]))return!1}return!0},Dv=function(a,b,c){var d=Fv(a,b),e=Fv(a,c);return Math.abs(a.P.Ka(b)-a.P.Ka(c))<(d+e)/2},Fv=function(a,b){b=a.ra.Na(b);var c=a.Po;return a.orientation==="horizontal"?c.Nk(b):c.Vb(b)},Gv=function(a,b,c){return Math.abs(a.P.Ub(c)- a.P.Ub(b))},Hv=function(a,b){return Oc(b,function(c){var d=c=xi(15,c),e=a.P.Ka(c);c=a.ra?a.ra.Na(c):"";return new ov(d,e,!0,c)})},Iv=function(a,b){for(var c=[],d=0;d=f)&&(g.push(h),c=h),h=b.next();while(c==null||c0?Qv(this):this.location<0?-Qv(this):0};t.next=function(){this.location++;return this.C()};t.wb=function(){this.location--;return this.C()};t.floor=function(a){var b=this.uj,c=Rm(Math.abs(a));if(Math.abs(a)<=Math.pow(10,this.ml))return this.location=a<0?-1:0,this.C();a>0?this.location=this.ge*c-this.jh:a<0&&(this.location=this.jh-this.ge*c,b=-b);this.C()!==a&&(c=this.pl*a/Qm(1,Sm(Math.abs(a))),this.location+=Math.floor(c)-b);return this.C()};t.ceil=function(a){var b=this.uj,c=Rm(Math.abs(a));if(Math.abs(a)<=Math.pow(10,this.ml))return this.location=a>0?1:0,this.C();a>0?this.location=this.ge*c-this.jh:a<0&&(this.location=this.jh-this.ge*c,b=-b);this.C()!==a&&(c=this.pl*a/Qm(1,Sm(Math.abs(a))),this.location+=Math.ceil(c)-b);return this.C()};t.round=function(a){var b=Rm(Math.abs(a));if(Math.abs(a)<=Math.pow(10,this.ml))return this.location=0;if(a>0){this.location=this.ge*b-this.jh;if(this.next()>a)return a-this.C()>=this.wb()-a?this.next():this.C();this.wb()}else if(a<0){this.location=this.jh-this.ge*b;if(this.wb()=10;)l/=10;return l}).sort(function(l,m){return l>m?1:l0&&(r[0]>a||r[r.length-1]0,"largestPossibleNumSteps must be positive number. firstValue: "+(l+" secondValue: "+k+" firstPowerOfTen: ")+h);this.bi.ceil(q);h=this.bi.C();this.Tg.floor(10/h);l=this.Tg.C();do{h=10/l;h=new Pv(h,e);k=[];Bv(this.ua,l,this.Qh)&&(k=Jv(this.ua,h,a,b,this.multiple,this.Kd));if(g(k)){p=!0;break}l=this.Tg.next()}while(l=a.He);c=a.bi.wb();c<1&&(c=a.bi.next());return c},Rv=[1,2,5],Sv=[1,2,5];var Vv=function(){};var Xv=function(a,b,c,d,e,f,g,h,k,l,m,n,p){if(e){var q=c;c=d;d=q}this.hb=a;this.Gb=b;this.be=c;this.Me=d;this.reversed=e;this.Kn=f;this.Kd=g;this.orientation=h;this.options=k;this.Po=l;this.Nd=m;this.Xg=n;this.Er=p;this.P=Wv(this)},Wv=function(a){a.P=a.Kn===1?new Ov(a.hb,a.Gb,a.be,a.Me):new Tm(a.hb,a.Gb,a.be,a.Me,a.Kn,a.Kd);a.Er&&a.Er(a.P);return a.P},Yv=function(a,b,c,d,e){var f=100;do{if(f--<0)break;a.hb=b;a.Gb=c;Wv(a);var g=b;var h=c;var k=a,l=b,m=c;if(k.hb===k.Gb){var n=k.be+(k.Me-k.be)/2;var p= "";k.Nd&&(p=k.Nd.bf().format(k.hb));n={Zb:[new ov(k.hb,n,!1,p)],rj:void 0}}else{n=k.P;p=k.options;var q=k.Kd,r=k.Kn,v=k.orientation,w=k.Po,x=k.Nd;k=k.Xg;if(n.hb===n.Gb)var y=1;else{var C=Math.min(n.Mk(),n.Lk()),D=Math.max(n.Mk(),n.Lk()),B=n.Ka(0),A=Math.abs(n.Ub(C)),G=Math.abs(n.Ub(D)),F=Math.max(A,G);y=0;if(C>B||B>D)y=Math.min(A,G);C=n.Ka(F);y=n.Ka(y);y=Math.abs(n.Ub(y+10)-n.Ub(y))/Math.abs(n.Ub(C+10)-n.Ub(C))}n=(y>.65&&r>.5?new Mv(n,x,w,k,v,p):new Tv(n,x,w,k,v,p,q)).Dq(l,m)}p=n.Zb;p.length>1&&(d!= null&&(b=p[0].C()),e!=null&&(c=p[p.length-1].C()));g=b!==g||c!==h;if(isNaN(b)||isNaN(c))g=!1,b=d!=null?d:b,c=e!=null?e:c}while(g);if(!n)throw Error("Failed creating decorations");n.min=b;n.max=c;return n},Zv=function(a,b,c,d,e){var f=a,g=b,h=(b-a)*.005;b+=h;a-=h;return Yv(new Xv(a,b,c,d,!1,1,0,"horizontal",e,null,null,null,null),f,g,null,null).Zb};var aw=function(a,b,c,d,e){this.ws=$v;this.mq=3;this.options=a;this.Qr=this.Br=null;var f=a.L("format");this.format=f==null?null:typeof f==="string"?{pattern:f}:{pattern:f.pattern,formatType:f.formatType,timeZone:f.timeZone};this.bx=Y(a,["gridlines.minSpacing","gridlines.minStrongLineDistance"]);this.ix=Y(a,["minorGridlines.minSpacing","gridlines.minWeakLineDistance"]);this.gx=Y(a,"gridlines.minStrongToWeakLineDistance");this.Zw=Y(a,"gridlines.minNotchDistance");this.Xw=Y(a,"gridlines.minMajorTextDistance");this.Yw=Y(a,"gridlines.minMinorTextDistance");this.vy=Y(a,"gridlines.unitThreshold");this.Ap=W(a,"gridlines.allowMinor");a.sa("minorGridlines.count")===0&&(this.Ap=!1);this.Gw=b;this.Yg=c;this.rl=d;this.Ww=e},bw=function(a,b,c,d,e){return new aw(a,b,c,d,e)},gw=function(a,b,c,d){return function f(){var g,h,k,l,m,n,p,q,r,v,w,x,y,C,D,B,A,G,F,z,E,J,P,M,H,O,X,ja,ya;return Ha(f,function(L){switch(L.ob){case 1:L.Kj(2),g=cw(a,b,c),h=a.options.Yk("gridlines.units."+g.unit),Q(h!=null),k=Zi[g.unit],l=ej[k],m=[],n={minValue:g.minValue,maxValue:g.maxValue,ft:g.unit,et:k,ct:l,dt:h.format,Yo:h.interval,Nr:a.bx,Be:d.Be,pa:d.pa,hx:a.Xw,tn:m,Mr:0},a.Br=n,p=dw(a,n),q=null;case 4:if(!(q=p.next().value)){L.nb(6);break}if(q.gridlines.length===0){L.nb(4);break}r=d.oh;if(!(a.Ap&&q.multiple===1&&k>0))return H=q.multiple!==1?0:r,O=ew(d.pa,H,q.gridlines,q.Tj),X=void 0,q.multiple>1?(ja=fw(a,g,q,l,d),X=Yc(q.gridlines,ja)):X=q.gridlines,ya=Ka,L.yield({gridlines:X,X:O},16);v=k-1;w=Yi[v];x=a.options.Yk("minorGridlines.units."+ w);Q(x!=null);y=ej[v];C={minValue:g.minValue,maxValue:g.maxValue,ft:w,et:v,ct:y,dt:x.format,Yo:x.interval,Nr:a.ix,Be:d.ol,pa:d.sj,hx:a.Yw,tn:q.gridlines,Mr:a.gx};a.Qr=C;D=dw(a,C);B=null;A=!1;case 9:if(A){L.nb(4);break}B=D.next().value;A=B==null;if(B==null||!B.gridlines.length)return P=ew(d.pa,2,q.gridlines,q.Tj),M=Ka,L.yield({gridlines:q.gridlines,X:P},15);G=ew(d.pa,r,q.gridlines,q.Tj);F=ew(d.sj,r,B.gridlines,B.Tj);Lc(F,function(K){K.optional=!0});z=Yc(B.gridlines,q.gridlines);E=Yc(G,F);J=Ka;return L.yield({gridlines:z,X:E},14);case 14:J(L.Kc);L.nb(9);break;case 15:M(L.Kc);L.nb(9);break;case 16:ya(L.Kc);L.nb(4);break;case 6:return L.return({gridlines:[],X:[]});case 2:L.Li(),L.mj(0)}})}()},cw=function(a,b,c){a=Pi((c-b)/a.vy,a.ws,a.mq);var d=hw(a);a=Tc(ej,function(e){a:if(Ta(e)&&Ta(d)&&e.length==d.length){for(var f=e.length,g=0;g=q&&(r=n.length);x=m.wf();if(x!=null&&(y=a.rl(x.getTime()-a.Yg),Q(y!=null),Math.abs(y-w)w){h=Math.max(0,h-1);break}h++}C||n.push({N:v,G:w,isVisible:!0,m:b.Be,length:null,In:!1})}if(!p){E.nb(5);break}B=iw(a,n,b);A=null;case 7:if(!(A=B.next().value)){E.nb(9);break}if(A==null){E.nb(7);break}G= Infinity;for(F=0;F1?c[1].G-c[0].G:0,l=0;lv.end&&(g=Math.max(0,g-1)),g++;h.push({N:m.N,isVisible:!0,G:n,F:{text:d[l].text,l:a,lines:[{x:n,y:0,text:d[l].text,length:p}],Pa:f,Da:"end",pB:d[l].text,anchor:null,angle:0}})}return h};function hw(a){return Oc(a,function(b){return b>0?1:0})} var $v=[[1],[2],[5],[10],[20],[50],[100],[200],[500],[0,1],[0,2],[0,5],[0,10],[0,15],[0,30],[0,0,1],[0,0,2],[0,0,5],[0,0,10],[0,0,15],[0,0,30],[0,0,0,1],[0,0,0,2],[0,0,0,3],[0,0,0,4],[0,0,0,6],[0,0,0,12],[0,0,0,0,1],[0,0,0,0,2],[0,0,0,0,7],[0,0,0,0,0,1],[0,0,0,0,0,3],[0,0,0,0,0,6],[0,0,0,0,0,0,1],[0,0,0,0,0,0,10],[0,0,0,0,0,0,50],[0,0,0,0,0,0,100]];var jw=function(a,b){this.Vs=a;this.l=b};u(jw,Vv);jw.prototype.Nk=function(a){return this.Vs(a,this.l).width};jw.prototype.Vb=function(a){return this.Vs(a,this.l).height};function kw(a,b,c){if(a>=b||!c)return null;c=Math.abs(a);var d=Math.abs(b);c>d&&(c=Math.abs(b),d=Math.abs(a));a=function(e){if(e<=0)return-1;for(var f=0;e<1&&f<9;)e*=10,f++;return f};if(c===d)return d>=1?1:a(d)+1;if(c===0)return a(d)+1;b=d-c;return c<1?a(b)+1:Math.min(Math.floor(Math.log10(d))+1-(Math.floor(Math.log10(b))+1)+1,10)};var lw=function(){this.Y=[];this.ra=null};lw.prototype.init=function(a){this.options=a;this.Y=[];this.Yc=Infinity;this.Xc=-Infinity;this.Zr=null;this.format=a.Oa("format");a.L("valueFormatter",function(b,c){return c});this.ra=this.wj=null};lw.prototype.Ih=function(a,b,c){if(c.length!==0&&a!=="piecewiseLinear")throw Error("Non-linear scale with gaps is not supported.");this.wj=Zm(a,Qm(1,Rm(b)))};var mw=function(a,b){a.format||(a.format=b)},nw=function(a){a.ra||a.ff();return a.ra};lw.prototype.V=function(a){a=ow(this,a);if(a==null)return null;a=pw(this,a);return isFinite(a)?a:null};var ow=function(a,b){return b==null?null:a.ep(b)};lw.prototype.Ke=function(a){return this.ql(qw(this,a))};var pw=function(a,b){Q(a.wj!=null);return a.wj.transform(b)},qw=function(a,b){Q(a.wj!=null);return a.wj.inverse(b)};lw.prototype.Nm=function(a,b){return ab?1:0};lw.prototype.W=function(a){a!=null&&(athis.Xc&&a!=null&&(this.Xc=a))};var rw=function(a,b,c){lw.call(this);this.ws=a;this.mq=b;this.Xm=c};u(rw,lw);rw.prototype.pn=function(){return null};rw.prototype.init=function(a,b){lw.prototype.init.call(this,a,b);b=a.Yk("formatOptions");a=[];a.push(b.millisecond);a.push(b.second);a.push(b.minute);a.push(b.hour);a.push(b.day);a.push(b.month);a.push(b.year);b=this.format;for(var c=a.length,d=[],e=0;eb?1:0};t.ep=function(a){return wr(a)};t.ql=function(a){return Ri(a).reverse()};t.ff=function(){var a=new nh({pattern:this.format||(this.granularity>1?"HH:mm":this.granularity===1?"HH:mm:ss":"HH:mm:ss.SSS"),timeZone:0});this.ra={Na:function(b){b=Wi(b);return a.Na(b)}}};var Bw=function(a,b,c,d,e,f){this.j=a;this.index=d;this.kv=f;this.maxValue=this.minValue=null;this.oi=[];this.Bk=this.hh=null;this.Y=[];this.X=this.sb=null;this.rd=2;this.si=0;this.Ua=this.Ra=null;this.Xj=this.ud=0;this.J={min:-Infinity,max:Infinity};this.ca=this.D=null;this.km=Infinity;this.tr=this.fl=null;this.wu=c[0];this.options=b.view(c);this.type=V(this.options,"type",e,Ej);Q(this.type!=null,"Unspecified "+c+" type.");this.ru=a.rb.bars>0;b=V(this.options,"title");c=a.rh==="in"?a.tg:"none";c= lh(this.options,"titleTextStyle",{Za:a.qe,fontSize:a.Id,ab:c});this.title={text:b,l:c,xc:null,lines:[],Pa:"center",Da:"start",aa:"",anchor:null,angle:0};this.bc=V(this.options,"textPosition","out",Kj);b=this.type!=="value"||a.H==="scatter"?ih(this.options,"majorAxisTextColor",wn.majorAxisTextColor):ih(this.options,"minorAxisTextColor",wn.minorAxisTextColor);c=this.bc==="in"?a.tg:"none";b={color:b,Za:a.qe,fontSize:a.Id,ab:c};this.pa=lh(this.options,"textStyle",b);c=Y(this.options,"gridlines.minorTextOpacity");c=ug(this.pa.color,a.gk||"#fff",c);this.sj=lh(this.options,"textStyle",b);this.sj.color=c;this.qy=V(this.options,"outTextPosition","unbound",Lj);this.Xs=V(this.options,"inTextPosition","low",Mj);b=ih(this.options,"baselineColor",a.zu);this.yu=new U({fill:b});b=ih(this.options,"gridlines.color",a.Cv);this.Be=new U({fill:b});this.pf=this.options.sa("gridlines.count");this.Mq=this.options.sa("gridlines.minSpacing");this.jx=this.options.sa("minorGridlines.count");c=Y(this.options,"gridlines.minorGridlineOpacity");a=b==="none"?"none":ug(b,a.gk||"#fff",c);a=ih(this.options,"minorGridlines.color",a);this.ol=new U({fill:a});this.yq=Math.max(this.rd,Math.round(this.title.l.fontSize/3.236));this.direction=this.Hi=bh(this.options,"direction",1);this.Yj=this.kv;this.wo=Ym(this.options,"logScale","scaleType");this.Qs=(this.Sc=(this.Rr=this.wo==="mirrorLog")||this.wo==="log")&&!this.Rr},Cw=function(a,b){typeof b!=="number"||b===0||isNaN(b)||(b=Math.abs(b),a.km=Math.min(b-b/10,a.km))};Bw.prototype.Ih=function(){this.sb&&Lc(this.sb,function(a){Cw(this,a.v)},this);this.D.Ih(this.wo,this.km,[])};var Fw=function(a,b){var c=(c=zw().Cj[b])?c.apply(null,[]):null;Q(c!=null,"Type "+b+" is not a valid VALUE type");a.D=c;a.dataType=b;Dw(a)&&(b={},Eb(b,["maxAlternation"],1),Eb(b,["slantedText"],!1),Rg(a.options,1,b),a.Dl());b=a.Qi();if(a.options.L("explorer")&&(!a.options.L("explorer.axis")||a.options.Oa("explorer.axis."+b))||a.pf!=null&&a.pf<0)a.pf=-1;c.init(a.options,a.pf);a.minValue=c.L(a.options,"minValue");a.maxValue=c.L(a.options,"maxValue");a.hh=a.options.L("baseline",wn.vAxis.gridlines.baseline);a.Bk=a.hh!==void 0&&a.hh!=="auto"?a.hh:a.Bk||c.pn();Ew(a)},Ew=function(a){var b=a.options.L("ticks");Array.isArray(b)&&(a.sb=b);a.sb&&(a.sb=Oc(a.sb,function(c){var d={};d.v=c.v!==void 0?c.v:c;typeof c.f==="string"&&(d.f=c.f);return d}),a.sb.length>0&&(ed(a.sb,function(c,d){return a.D.Nm(c.v,d.v)}),a.minValue==null&&(a.minValue=a.sb[0].v),a.maxValue==null&&(a.maxValue=Jc(a.sb).v)))},Hw=function(a){a.Yj=V(a.options,"viewWindowMode",a.Yj,Fj);var b=a.D;if(a.type==="value"){var c=b.L(a.options,"viewWindow.numericMin");typeof c!=="number"&&(c=b.V(b.L(a.options,"viewWindow.min")));var d=b.L(a.options,"viewWindow.numericMax");typeof d!=="number"&&(d=b.V(b.L(a.options,"viewWindow.max")));c!=null&&(a.J.min=c);d!=null&&(a.J.max=d)}else a.J.min=bh(a.options,"viewWindow.min",a.J.min),a.J.max=bh(a.options,"viewWindow.max",a.J.max),a.J.max=Math.max(a.J.min+1,a.J.max);a.J.min>a.J.max&&(c=a.J.min,a.J.min=a.J.max,a.J.max=c);a.type==="value"&&(a.J.min!==-Infinity&&(c=a.J.min,c!=null&&(b.Yc=c)),a.J.max!==Infinity&&(c=a.J.max,c!=null&&(b.Xc=c)),Gw(a))},Iw=function(a){if(a.type==="value"&&!a.D)throw Error("Axis type/data type mismatch for "+a.wu);},Nw=function(a,b,c,d,e){a.Ra=c+(a.direction===1?.5:-.5);a.si=b-1;a.Ua=c+b*a.direction;b=a.Np();a.fb=d;a.tb=e;a.type!=="value"?d=Jw(a,a.si+1):(a.hh!=null&&a.hh!=="auto"&&a.W(a.D.V(a.hh)),a.minValue!=null&&a.W(a.D.V(a.minValue)),a.maxValue!=null&&a.W(a.D.V(a.maxValue)),Kw(a),d=Dw(a)?Lw(a):Mw(a));return{title:a.title,name:a.Aq(),type:a.type,Sc:a.Sc,dataType:a.dataType,Hi:a.Hi,Ra:a.Ra,Ua:a.Ua,number:{Kb:a.Yr.bind(a),Zg:a.Ke.bind(a)},position:{Kb:a.Km.bind(a),Zg:a.Kp.bind(a)},xd:b,ca:d.ca,gridlines:d.gridlines,text:d.X,J:a.D?{min:a.D.Yc,max:a.D.Xc}:{min:a.J.min,max:a.J.max}}},Jw=function(a,b){var c=a.j.K;a.J.min===-Infinity&&(a.J.min=Math.min(0,a.J.max-1));a.J.max===Infinity&&(a.J.max=Math.max(c.length,a.J.min+1));a.J.max=Math.max(a.J.min+1,a.J.max);var d=a.J.max-a.J.min;a.ru&&(d=Math.min(d,Math.floor((b+1)/2)));a.type==="categorypoint"&&(d=Math.max(1,d-1));Q(d>0);a.Xj=Ow(a);a.ud= a.si/d;Q(a.ud!==0);var e=Pw(a);b=pi(c.length,function(f){var g=e.Na(c[f].Ff[0]),h=f-a.Xj;return{N:c[f].data,G:a.bb(f),text:g,isVisible:h>=0&&h<=d,optional:!0}});return{gridlines:[],ca:null,X:a.th(b,null),Y:[]}},Pw=function(a){if(a.D){if(Dw(a)){var b=bw(a.options,!1,0,function(d){return a.bb(d)},a.j.U);Qw(a,b,0);return new nh({pattern:8})}b=Oc(a.sb,function(d){return d.v});b=sv(b);var c=Rw(a);vv(c,b);return c.bf()}return{Na:function(d){return d}}},Lw=function(a){function b(z,E){return function P(){var M,H,O,X,ja;return Ha(P,function(ya){switch(ya.ob){case 1:ya.Kj(2),M=gw(w,z,E,x),H=null,O=function(){C.direction=1;return H=M.next().value},X={};case 4:if(!O()){ya.nb(2);break}H.gridlines=Zc(H.gridlines);H.X=Zc(H.X);X.Kl=function(L){return Math.round(L*100)/100};y===-1&&(C.direction=y,Lc(H.gridlines,function(L){return function(K,Qa){K=Ld(K);H.gridlines[Qa]=K;K.G=(0,L.Kl)(Sw(C,K.G))}}(X)),Lc(H.X,function(L){return function(K,Qa){K=Ld(K);H.X[Qa]=K;K.G=(0,L.Kl)(Sw(C,K.G));K.F=Ld(K.F);K.F.lines[0]=Ld(K.F.lines[0]);K.F.lines[0].x=(0,L.Kl)(Sw(C,K.F.lines[0].x))}}(X)));Mc(H.X,function(L){L.N=c.Ke(L.N.getTime());L.F=Ld(L.F);var K=Ld(L.F.lines[0]);L.F.lines[0]=K;r&&(L=I([K.y,K.x]),K.x=L.next().value,K.y=L.next().value)});Mc(H.gridlines,function(L,K){L=Ld(L);H.gridlines[K]=L;Tw(C,L.G)?L.N=c.Ke(L.N.getTime()-v):(L.isVisible=!1,Xc(H.gridlines,L))});fd(H.gridlines,function(L,K){return c.Nm(L.N,K.N)});ja=Ka;return ya.yield(H,7);case 7:ja(ya.Kc);X={Kl:void 0};ya.nb(4);break;case 2:ya.Li(),ya.mj(0)}})}()}var c=a.D,d=!0,e=!0;a.Yj!=="maximized"&&(d=isFinite(a.J.min),e=isFinite(a.J.max));var f=Uw(a),g=f,h=g.min;g=g.max;Vw(a,f);Gw(a);var k=h,l=g;f=Math.abs(g-h);var m=a.kn(),n=a.ca.N,p=n==null?null:c.V(n);Q(a.Ra!=null&&a.Ua!=null);n=Math.abs(a.Ua-a.Ra);var q=R(a.options.Cc("viewWindow.maxPadding",n))/n;q*=f;d||(h=p!=null&&p<=h&&h-f

=g&&g+f>p?p:g+q);f={min:h,max:g};Vw(a,f);Gw(a);ed(a.oi);f=Infinity;for(p=1;p=0?a.pf:-1;R(f);p=a.Mq;f>=0&&(p=n/(f+1));p!=null&&Eb(m,["gridlines","minStrongLineDistance"],p);Rg(a.options,1,m);var w=bw(a.options,r,v,function(z){return a.bb(z)},a.j.U),x={pa:a.pa,Be:a.Be,sj:a.sj,ol:a.ol,oh:a.direction===1?1:0},y=a.direction,C=a;p=!0;n=null;var D=function(z){a.sb?z=Qw(a,w,v):(z=z||[],z=Oc(z,function(E){var J= E.N;J=(Array.isArray(J)?c.V(J):J.getTime())-v;if(J!=null&&(J=a.bb(J),J!=null&&!isNaN(J)))return{N:E.N,G:J,text:E.F.text,isVisible:E.isVisible,optional:E.optional}}));return z};m=function(z){z=D(z);var E=a.th(z,null);if(E==null)return!1;Mc(E,function(J){var P=J.F.anchor.x;r&&(P=J.F.anchor.y);J.isVisible&&Tw(C,P)||Xc(E,J)});return E};for(var B,A;p;){f=h;p=g;var G=b(h,g);q=null;for(var F=!1;!F&&(q=G.next().value);)if(n=q.gridlines,F=m(q.X)!==!1)A=a.fl,B=a.tr;F&&n.length>1&&(d||(B=Pc(q.gridlines,function(z,E){var J=c.V(E.N);Q(J!=null);return E.In||J>k?z:Math.max(z,J)},-Infinity),h=Math.max(h,B)),e||(q=Pc(q.gridlines,function(z,E){var J=c.V(E.N);Q(J!=null);return E.In||J2&&(a.Sc&&(m*=2),w=p/Math.max(1,m+1));w==null&&(w=40,a.Qi()==="horizontal"&&(w*=2));R(w);a.Sc&&(w/=2);c||(e!=null&&e<=g&&g-l=f&&f+l2)for(var D=l.Zb,B=[0,1,D.length-1],A=0;A3||typeof C==="number"&&C=2)&&Lc(l.rj||[],function(z){z=z.C();z=pw(b,z);z=Zw(a,z);z=Math.round(z*1E4)/1E4;Q(z!=null&&!isNaN(z),"Bad tick value for minor gridline.");F[z.toString()]||G.push(z)})}m=Oc(f,function(z){var E=Tw(this,R(z.G));return{Ws:z,N:z.N,G:z.G,isVisible:E,length:null,m:this.Be}},a);G.length>0&&(C=Oc(G,function(z){return{N:this.Kp(z),G:z,isVisible:!0,length:null,m:this.ol}},a),$c(m,C));if(C=Ww(a))C.isVisible=Tw(a,C.G);return{gridlines:m,ca:C,X:g,Y:f}},Yw=function(a,b){var c=[];Lc(b,function(d){var e=d.label,f=d.C(),g=f==null?null:a.D.ql(f);f=pw(a.D,f);f=a.bb(f);if(!isNaN(f)){Q(f!=null&&!isNaN(f),"Bad tick value for major gridline.");f=Math.round(f*1E4)/1E4;var h=Tw(a,f);d.Fw&&h&&c.push({N:g,G:f,text:e||"",isVisible:h})}});return c},Xw=function(a,b){var c=Oc(a.sb,function(f){return f.v});c=sv(c);vv(b,c);var d=b.bf(),e=[];Lc(a.sb,function(f){var g=f.v,h=a.D.V(g);h!=null&&(h=a.bb(h),h!=null&&!isNaN(h)&&Tw(a,h)&&(f=f.f,typeof f!=="string"&& (f=d.Na(g)),Q(typeof f==="string"),e.push({N:g,G:h,text:f,isVisible:!0})))});return e},Rw=function(a,b){b=b===void 0?{}:b;var c=a.options;a=new uv;b={pattern:c.Oa(["format","format.pattern"]),fractionDigits:c.sa(["format.fractionDigits","formatOptions.fractionDigits"]),significantDigits:b.Oj||c.sa(["format.significantDigits"]),scaleFactor:c.sa(["format.scaleFactor","formatOptions.scaleFactor","formatter.scaleFactor"]),prefix:c.Oa(["format.prefix","formatOptions.prefix","formatter.prefix"]),suffix:c.Oa(["format.suffix","formatOptions.suffix","formatter.suffix"]),decimalSymbol:c.Oa(["format.decimalSymbol"]),groupingSymbol:c.Oa(["format.groupingSymbol"]),negativeColor:c.Oa(["format.negativeColor"]),negativeParens:c.Oa(["format.negativeParens"])};a.uq=b;a.ce=!1;b=c.sa(["format.numDecimals","formatter.numDecimals","formatOptions.numDecimals"]);typeof b==="number"&&(a.Cg=b,a.ce=!0,vv(a,b));b=c.sa(["format.maxNumDecimals","formatter.maxNumDecimals","formatOptions.maxNumDecimals"]);typeof b==="number"&&vv(a,b);var d=c.sa(["format.minNumDecimals","formatter.minNumDecimals","formatOptions.minNumDecimals"]);typeof d==="number"&&(a.Cg=d,a.ce=!0);d=c.sa(["format.numSignificantDigits","formatter.numSignificantDigits","formatOptions.numSignificantDigits"]);typeof d==="number"&&(a.Sh=d,a.ce=!0);if(d=c.L(["format.unit","formatter.unit","formatOptions.unit"]))a.Jf={symbol:d.symbol,position:d.position,usePadding:d.usePadding},a.ce=!0;c=c.L(["format.useMagnitudes","formatter.useMagnitudes","formatOptions.useMagnitudes"]);c!=null&&(d=a.yy.bind(a),c=== "long"&&(d=a.xy.bind(a)),d(typeof b==="number"?b:5));return a},Ww=function(a){var b=null;a.type==="value"&&a.ca&&(b={N:a.ca.N,G:a.ca.G,isVisible:!0,length:null,m:a.yu});return b},Kw=function(a){if(a.sb){var b=Infinity,c=-Infinity;Lc(a.sb,function(e){e=this.D.V(e.v);b=Math.min(b,e);c=Math.max(c,e);this.W(e)},a);if(a.sb.length>1){var d=a.D.Xc;b<=a.D.Yc&&!isFinite(a.J.min)&&(a.J.min=b);c>=d&&!isFinite(a.J.max)&&(a.J.max=c)}}},Uw=function(a){var b=isFinite(a.J.min)?a.J.min:a.D.Yc;isFinite(b)||(b=0);var c= isFinite(a.J.max)?a.J.max:a.D.Xc;isFinite(c)||(c=1);if(b===c){if(Dw(a)){a=new Date(b);a=Ti([a.getMilliseconds(),a.getSeconds(),a.getMinutes(),a.getHours(),a.getDate()-1,a.getMonth(),a.getFullYear()]);var d=[1,1E3,6E4,36E5,864E5,26784E5];a=ac&&(c=I([c,b]),b=c.next().value,c=c.next().value);return{min:b,max:c}},Vw=function(a,b){Q(typeof b.min==="number");Q(typeof b.max==="number");var c=a.D,d=b.min;d!=null&&(c.Yc=d);c=a.D;d=b.max;d!=null&&(c.Xc=d);a.J=b;a.ud=a.si/Math.max(1,b.max-b.min);Q(a.ud!==0);b.min!==Infinity&&(a.Xj=b.min)},Gw=function(a){var b=a.Bk==null?null:a.D.V(a.Bk);Q(b==null||typeof b==="number"&&isFinite(b));a.D.Zr=b;if(b!=null){var c=a.bb(b);isNaN(c)&&(c=Infinity);a.ca={N:a.D.Ke(b),G:c,isVisible:!0}}else a.ca={N:null,G:Infinity,isVisible:!1}};Bw.prototype.W=function(a){this.type==="value"&&a!=null&&(!this.Qs||a>=0)&&(this.D.W(a),this.oi.push(a))};var $w=function(a){if(a.type==="value"){var b=a.D,c=b.Yc,d=b.Xc,e=(d-c)*.01;c>0&&a.J.min===-Infinity&&(c=Math.max(c-e,0),c!=null&&(b.Yc=c));d<0&&a.J.max===Infinity&&(a=Math.min(d+e,0),a!=null&&(b.Xc=a))}};Bw.prototype.bb=function(a){if(a==null||this.ud===0)return null;Q(!isNaN(this.ud));Q(this.Ra!=null);a=this.Ra+(a-this.Xj)*this.direction*this.ud;Q(!isNaN(a));return a};var Zw=function(a,b){a=a.bb(b);if(a==null)throw Error("null position for value of '"+b+"'");return a};Bw.prototype.pk=function(a){if(a==null||this.ud===0)return null;Q(this.Ra!=null);a=(a-this.Ra)*this.direction/this.ud+this.Xj;Q(!isNaN(a));return a};Bw.prototype.Kp=function(a){a=this.pk(a);return a==null?null:this.Ke(a)};Bw.prototype.Km=function(a){a=this.Yr(a);return a==null?null:this.bb(a)};var ax=function(a,b){a=a.Km(b);if(a==null)throw Error("null position for value of '"+b+"'");return a},Sw=function(a,b){Q(a.Ra!=null);return b==null?null:2*a.Ra-b},bx=function(a,b){if(isNaN(b))return!0;Q(a.Ua!=null);return b*a.direction>a.Ua*a.direction},cx=function(a,b){if(isNaN(b))return!0;Q(a.Ra!=null);return b*a.direction=a.J.min&&b<=a.J.max:b>=Math.floor(a.J.min)&&b1?1:d;for(var f=[],g=0;gh||l.Je===0)k=px(this,c),l=null}else k=px(this,c);else this.Io?k=px(this,c):l=lx(g);var m=Vo(c,f,this.title.l,this.j.chartArea.width,Infinity),n=this.rd,p=Math.max(n,Math.round(d/1.618)),q=Math.max(n,Math.round(d/3.236));f=function(){if(k==null)throw Error("optimisticSlantedTicks is null");return{key:"ticks",min:k.minHeight+n,max:k.maxHeight+n,qa:[p-n]}};var r=[];r.push({key:"bottom-space",min:n,qa:[Infinity]});m.lines.length>0&&r.push({key:"title",min:e+n,qa:[Infinity]});var v=this.fb.l.fontSize;this.fb.Pd()==="bottom"&&r.push({key:"legend",min:v+this.rd,qa:[Infinity]});this.tb.Pd()=== "bottom"&&r.push({key:"colorBar",min:this.tb.Vb()+n,qa:[Infinity]});v=r.length;l&&l.Je>0?r.push({key:"ticks",min:d+n,qa:[p-n]}):k&&r.push(f());var w=r.length;if(l)for(var x=1;xh&&(C=l=null,k=px(this,c),r[v]=f(),r=vi(r,0,w,d,void 0),e=ui(r,this.j.height-this.j.chartArea.bottom))}this.Yb=this.j.chartArea.bottom;y=e.ticks||[];if(y.length>0){for(g=1;g0)for(b=Vo(b,c,a.title.l,a.j.chartArea.width,d.length),a.title.aa=b.Ca?c:"",a.title.lines=[],c=0;c0&&(a.Yb+=c[0],a.fb.zf(new Dk(a.Yb-b,a.j.chartArea.right,a.Yb,a.j.chartArea.left)))},tx= function(a){var b=a.zm.colorBar||[];b.length>0&&(a.Yb+=b[0],b=new Dk(a.Yb-a.tb.Vb(),a.j.chartArea.right,a.Yb,a.j.chartArea.left),a.tb.zf(b))},px=function(a,b){var c=a.pa,d=c.fontSize,e=Math.sin(a.Sl%Math.PI),f=Math.cos(a.Sl%Math.PI),g=function(m){m=b(m.text,c).width;return Math.ceil(Math.abs(m*e)+Math.abs(d*f))},h=a.ve;if(!h)if(a.Y.length<2)h=1;else{h=a.Y[0].G;var k=a.Y[1].G;Q(h!=null&&k!=null);h=Math.ceil((d+a.rd)/e/Math.abs(k-h))}for(var l=k=0;l180?"start":"end",Da:"center",aa:k.Ca?h.text:"",anchor:new xo(h.G,c)};k.lines.length>0&&l.lines.push({x:0,y:0,length:d,text:k.lines[0]});g.push({N:h.N,isVisible:h.isVisible,optional:h.optional,F:l})}return g};t=ox.prototype;t.Lp=function(){var a=this;if(this.index===0){var b=this.j.U,c=this.pa.fontSize,d=new ex(this.j.width,this.Y,this.Ek,this.ll,this.Pn,this.ve,this.Pj,this.Or,this.yp,function(q,r,v){return Vo(b,q,a.pa,r,v)}),e,f=this.Xs;this.bc==="in"&&(e=lx(d));var g=this.rd,h=Math.max(this.rd,Math.round(c/3.236)),k=Math.max(this.rd,Math.round(c/1.618));k=this.type==="value"?h:k;var l=Math.max(g,Math.round(c/3.236));if(this.type==="value")if(f==="high"){var m="start";var n=h}else m="end",n=-h;else m="center",n=0;f=[];f.push({key:"top-space",min:g,qa:[Infinity]});if(e)for(h=0;h0&&e!=null){for(c=1;c0?d[0].angle:0;e&&(e>0?b(d,360-e):b(d,-e));var f=[],g=[];return Rc(d,function(h,k){var l=zu(h);if(!l)return!0;h=Math.round(h.l.fontSize/4);l.expand(new Dk(0,h,0,h));h=function(m){return Ek(l,m)};if(Sc(f,h))return c||a.X[k].optional?(a.X[k].isVisible=!1,!0):!1;if(c||a.X[k].optional){if(Sc(g,h))return a.X[k].isVisible=!1,f.length===0;g.push(l)}else f.push(l);return!0})};t.kn=function(){return{reversed:this.direction===-1,be:this.j.chartArea.left,Me:this.j.chartArea.right,orientation:this.Qi()}};t.Qi=function(){return"horizontal"};t.Np=function(){return this.index===0?{G:this.j.chartArea.bottom,direction:-1}:{G:this.j.chartArea.top,direction:1}};var ux=function(){lw.call(this);this.gv=0};u(ux,lw);t=ux.prototype;t.pn=function(){return 0};t.init=function(a,b){lw.prototype.init.call(this,a,b);this.ra=null;this.Fj=bh(a,"formatOptions.scaleFactor",1)};t.ff=function(){var a=this.format;a={pattern:a,fractionDigits:a?null:this.gv,scaleFactor:this.Fj,prefix:this.options.Oa("formatOptions.prefix"),suffix:this.options.Oa("formatOptions.suffix"),significantDigits:this.options.aj("formatOptions.significantDigits")};this.ra=new Uh(a)};t.L=function(a,b){return a.sa(b)};t.ep=function(a){return yr(a)};t.ql=function(a){return a};zw().Cj.timeofday=function(){return new Aw};zw().Cj.date=function(){return new rw(tw,3,uw)};zw().Cj.datetime=function(){return new rw(vw,3,ww)};zw().Cj.number=function(){return new ux};function vx(a,b,c){return a.left<=b.right+c&&b.left<=a.right+c&&a.top<=b.bottom+c&&b.top<=a.bottom+c}var wx=function(a,b,c,d,e,f){Bw.call(this,a,b,Yc(["vAxes."+d,"vAxis"],c),d,e,f);this.type==="value"&&(this.direction=-this.direction);this.Dl()};u(wx,Bw);wx.prototype.Dl=function(){this.ll=Y(this.options,"maxTextLines",3)};wx.prototype.Aq=function(){return"vAxis#"+this.index};wx.prototype.Im=function(a,b){var c=this.j.chartArea;return Nw(this,c.height,this.direction===1?c.top:c.bottom,a,b)};var xx=function(a){var b=a.j.U;return a.Y.reduce(function(c,d){return Math.max(c,b(d.text,a.pa).width)},0)},yx=function(a){var b=a.j.U,c=xx(a);a=b("...",a.pa).width;return Math.min(a,c)};wx.prototype.Mp=function(){var a=this,b=this.j.U,c=this.pa.fontSize,d=this.title.l.fontSize,e=this.j.rh==="out"?this.title.text:"",f=Vo(b,e,this.title.l,this.j.chartArea.height,Infinity),g=this.rd,h=xx(this),k=yx(this),l=[];this.bc==="out"?l.push({key:"right-space",min:g,qa:[c-g]}):l.push({key:"right-space",min:0,qa:[Infinity]});f.lines.length>0&&l.push({key:"title",min:d+g,qa:[Infinity]});this.bc==="out"&&l.push({key:"ticks",min:k+g,max:h+g,qa:[Infinity]});for(c=1;c0)for(b=Vo(b,e,this.title.l,d.height,f.length),this.index===1&&b.lines.reverse(),this.title.aa=b.Ca?e:"",this.title.lines=[],e=0;e=0&&e.ja(b,l)||(l=null);e.C(b,k)!=null&&(l={text:e.ja(b,k),Ys:l,rowIndex:b},V(a.options,"annotation."+k+".style",d,Wj)==="line"?g.line.push(l):g.xf.push(l))}return g},Jx=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,v){var w=a.Tb.xe(),x=l.length,y=[[64,64,64],[128,128,128],[255,255,255]];r=r==null?!0:r;(e=e==="bars"||e==="steppedArea")&&d&&(g==="vertical"?c=Math.floor(d.top+d.height/2):b=Math.floor(d.left+d.width/ 2));if(g==="horizontal"&&k===1||g==="vertical"&&h===1)p*=-1;var C=g==="horizontal"?k===1?"bottom":"top":h===1?"right":"left";Q(b!=null&&c!=null);var D=b,B=c-p;g==="vertical"&&(D=b-p,B=c);var A=-p,G=!1,F=p+m.fontSize*x;c-FM.width-4)if(L.heightO.fontSize/3)P=H,Qa=["..."],X=Math.floor(M.Dh().y),K.Da="center",K.If=!0;else{P=null;break a}K.lines=[];if(Qa.length)for(H=0,O=Qa.length,ja=0;ja=a.Jc[a.Jc.length-1])return a.ef[a.ef.length-1];if(b<=a.Jc[0])return a.ef[0];var c=cd(a.Jc,b);if(c>=0)return a.ef[c];var d=-c-2;c=-c-1;return ug(a.ef[c],a.ef[d],(b-a.Jc[d])/ (a.Jc[c]-a.Jc[d]))},Sx=function(a,b){b&&b.length!==0?b.length===1&&(b=[Qx[0],b[0]]):b=a&&a.length===3?Rx:Qx;Q(Array.isArray(b));if(!a||a.length<2)return{values:null,colors:[Jc(b)]};var c=a[0],d=a[a.length-1],e=d-c;if(e===0)return{values:[d],colors:[Jc(b)]};if(a.length===2)for(a=[],d=e/(b.length-1),e=0;ea.Vo)throw Error("Not enough space for labels. Need: "+b+"; got: "+a.Vo);a.xg.sort(function(f,g){var h=f.Wm,k=g.Wm;return h===k?f.index>g.index?1:0:h>k?1:-1});b=0;for(c=a.xg.length;be[0].yg){for(f=0;f0;){if(c>0&&this.La.length===c){c=!1;break a}var h= [iy(this,f,g,e)];for(var k=1;k1}c=!0}if(c)break}this.Qe&&(this.yo=Math.round((this.T.top+this.T.bottom-this.l.fontSize)/2),this.Mg=this.T.right-this.l.fontSize,this.Ng=this.Mg-this.Mi-this.l.fontSize,this.Fo&&(a=gy(this,this.La.length),this.Ng-=a+this.Mi))}a=0;c=b=null;if(this.La&&this.La.length>0)if(this.La.length>1&&(a= this.Mb0;d=a0;){f=my(a,c,e);a.La.push(f);for(f=0;c[f]!==void 0&&c[f].length!== 0;)++f;g=g.slice(f);c=ky(a,g,d);e=e.slice(f)}a.Qe&&(a.yo=Math.round(a.T.bottom-a.l.fontSize),a.Ng=a.T.left,a.Mg=a.Ng+a.l.fontSize+a.Mi,a.Fo&&(d=gy(a,a.La.length),a.Mg+=d+a.Mi))}else a.La=[my(a,c,e)];else a.La=[ny(a,g,c,e)]},ky=function(a,b,c){var d=a.l.fontSize;a=oy(a,b,d+Math.round(d/1.618),d+Math.round(d/3.236));return ui(a,c)},qy=function(a,b){var c=Gd(a.A.za);b=a.A.h[b];a=b.points.map(function(d){return Jn(d)?null:new S(d.o.x,d.o.y)});b=Di(a,c.Ua,b.Ec);return b!==null?b:py(a,c.Ua)},py=function(a,b){a=a.filter(function(c){return c!=null});b=-(cd(a,b,function(c,d){return dd(c,d.x)})+1);return(a=Uc(a.slice(0,b),function(c){return c.y!==null}))?a.y:null},ny=function(a,b,c,d){for(var e=a.T.right-a.T.left,f=Math.round(a.T.left),g=[],h=[],k=a.A.ug==="dive",l=0,m=0;m0&&(l+=k),r.F.lines.push({x:d,y:l,length:e,text:q.lines[v]});r.index=p.index;l+=h;f.push(r)}}b=Math.round(a.T.top);a.Qe||(g=l-g,c=a.T.bottom-a.T.top,a.oh==="end"?b+=c-g:a.oh==="center"&&(b+=Math.floor((c-g)/2)));for(a=0;a1&&b[c].length<1},jy=function(a,b){var c=a.T.bottom-a.T.top,d=a.l.fontSize,e=c-a.mi*d,f=a.mi>1?e/(a.mi-1):0,g=(c-((d+f)*b.length-f))/2,h=[];b.forEach(function(k){var l=Math.round(g);k.forEach(function(m){m.F.anchor.y+=l;m.ka.na.top+=l});g+=d+f;$c(h,k)});return h},hy=function(a,b,c){var d=Math.min(a.A.width*(2-1.618)/2,c);if(d0?g:0),1),q=p.lines.length>0?p.lines[0]:"",r=a.U(q,a.l).width,v=[{x:k+f,y:0,length:r,text:q}],w={};w.id=n.id;w.F={text:n.text,l:a.l,xc:null,lines:q?v:[],anchor:new xo(0,l),Pa:"start",Da:"start",aa:p.Ca?n.text:"",angle:0};w.isVisible=!0;w.ka={};w.ka.m=n.m.clone();a.l.ab&&w.ka.m.bd(a.l.ab,1);w.ka.na=new Fk(k,l,a.sg,a.Uk);w.index=n.index;h.push(w);k+=r+f+g}b=a.T.left;d||(d=k-g,a.oh==="end"?b+=e-d:a.oh==="center"&&(b+=Math.floor((e-d)/2)));for(a=0;a=d);return c.map(function(f,g){var h=this.U(f.text,this.l).width+d;f=Math.min(b,h);h-=f;g>0&&(f+=e);return{min:f,qa:[h]}},a)},gy=function(a,b){for(var c="0";b>=10;)c+="0",b/=10;return a.U(c+"/"+c,a.fs).width};var sy=function(){},bo=function(a,b,c){b=a.h[b];return b.mb&&b.es!==void 0?(a=a.h[b.es].points[c],a=a!=null?a.Wa.d:a,a!=null?cd(b.points,a,function(d,e){return d-e.Wa.d}):c):c};sy.prototype.Ik=function(a){var b=a.da;a=a.va;var c=bo(this,b,a);return this.h[b].points[c].Ea.Sf||(this.K[c]?this.K[a].Ff[0]:null)};var gm=function(a,b){var c=b.da;b=bo(a,c,b.va);a=a.h[c].points[b].Ea.Oe||a.h[c].title;return a==null?null:a};sy.prototype.ln=function(a){return a.va};sy.prototype.mn=function(a){return{row:a.va,column:this.h[a.da].hf}};sy.prototype.Kk=function(a){var b=this.Hd[a.column].Z;return b==null?null:{da:b,va:this.oe[a.row]}};sy.prototype.Si=function(a,b){return this.h[a].points[b].Ea};var ty=function(a,b,c,d,e){this.ea=a;this.options=b;this.U=c;this.tb=this.fb=null;this.O=a;a=this.j=this.Wp();a.U=c;a.width=d;a.height=e;a.H=V(b,"type","none",Bj);a.qe=V(b,"fontName");a.Id=Y(b,"fontSize",Math.round(Math.pow((a.width+a.height)*2,1/3)));a.Ii=V(b,"seriesType","line",Cj);a.Ib=W(b,"enableInteractivity",!0);a.rf=W(b,"tooltip.isHtml");a.ah=kh(b,"tooltip.boxStyle");a.Ol=V(b,"selectionMode","single",Nj);a.gt=W(b,"legend.newLegend");a.Bm=kh(b,"backgroundColor");a.Pp=kh(b,"chartArea.backgroundColor");c=a.Pp;d=a.Bm;c=Gg(c)&&c.fillOpacity>=1?c.fill:Gg(d)&&d.fillOpacity>=1?Gg(c)?ug(c.fill,d.fill,c.fillOpacity):d.fill:null;a.gk=c;a.zu=ih(b,"baselineColor","");a.Cv=ih(b,"gridlineColor","");a.tg=a.gk||"";c=V(b,"title");a.ci=V(b,"titlePosition","out",Kj);d=lh(b,"titleTextStyle",{Za:a.qe,fontSize:a.Id,ab:a.ci==="in"?a.tg:"none"});a.title={text:c,l:d,xc:null,lines:[],Pa:"start",Da:"end",aa:"",anchor:null,angle:0};a.rh=V(b,"axisTitlesPosition","out",Kj);a.eB=W(b,"is3D");a.Sd=W(b,"isRtl",!1);a.lB=W(b,"shouldHighlightSelection",!0);a.Ec=W(b,"interpolateNulls");a.ug=V(b,"interactivityModel","default",Rj);this.aq()};t=ty.prototype;t.Wp=function(){return new sy};t.xe=function(){return this.j};t.init=function(a,b){var c=this,d=Infinity;if(b!=null){var e=this.options.L("async",null);d=typeof e==="number"?e:(e=W(this.options,"async",!1))?100:Infinity}var f=Yc([this.Hu.bind(this)],this.cj()),g=a(function(){for(var h=Date.now(),k=0;f.length>0&&k<=d;)(k=f.shift()())&&(f=Yc(k,f)),k=Date.now()-h;if(f.length===0){if(c.j.ug==="dive"&&(!c.j.rb||c.j.rb.line!==c.j.h.length))throw Error("DIVE interactivity model is only supported when all series are of type line.");b&&b(c)}else setTimeout(g,0)});g()};t.cj=function(){var a=this,b;return[function(){b=a.xe()},function(){var c=a.gd&&a.gd.Gd==="number"?null:a.ia[0]!=null&&a.ia[1]!=null?"top":a.ia[1]!=null?"left":"right",d=a.gd&&a.gd.Gd==="number"?"top":null,e=null,f=b.H;!b.Va||f!=="pie"&&f!=="scatter"?b.gt&&f!=="pie"&&f!=="bubble"&&(e=2):e=2;e=a.options.sa("legend.iconAspectRatio")||e;a.fb=new dy(b,a.options,c,e);a.tb=new Xx(a.options,d,b.qe,b.Id,b.tg,b.U)},this.Iu.bind(this),function(){ey(a.fb);var c=a.j,d=c.title.l.fontSize,e=a.fb.l.fontSize,f=a.fb.Pd(),g=a.tb.l.fontSize,h=a.tb.Pd(),k=c.ci==="out"?c.title.text:"",l=Vo(a.U,k,c.title.l,c.chartArea.width,Infinity),m=Math.max(2,Math.round(d/3.236)),n=Math.max(2,Math.round(e/1.618)),p=Math.max(2,Math.round(g/1.618));g=[];g.push({key:"bottom-space",min:2,qa:[Math.max(2,Math.round(c.Id*1.618))-2]});g.push({key:"top-space",min:0,qa:[Infinity]});l.lines.length>0&&g.push({key:"title",min:d+2,qa:[]});if(f==="top"){f=a.fb;var q=c.chartArea.width;Q(f.he!=null);for(var r=f.he,v=hy(f,r,q),w=1;(f.Jr===0||f.Jr>w)&& v.length0&&(a.fb.mi=k.length,e=d+k[0]-e,d+=ie.apply(null,k),a.fb.zf(new Dk(e,c.chartArea.right,d,c.chartArea.left)));e=l.colorBar||[];e.length>0&&(d+=e[0],c=new Dk(d-a.tb.Vb(),c.chartArea.right,d,c.chartArea.left),a.tb.zf(c));b.legend=a.fb.define();b.kd=a.tb.define()}]};t.aq=function(){this.O=new kq(this.ea);if(this.O.Ob()<2)throw Error("Not enough columns given to draw the requested chart.");};t.ks=function(){};t.Hu=function(){var a=this.j,b=this.options.Cc("chartArea.width",a.width),c=this.options.Cc("chartArea.left",a.width),d=this.options.Cc("chartArea.right",a.width),e=this.options.Cc("chartArea.height",a.height),f=this.options.Cc("chartArea.top",a.height),g=this.options.Cc("chartArea.bottom",a.height),h=a.width,k=a.height,l=h/1.618,m=h-k*(1.618-1),n=k/1.618,p=k-h*(1.618-1);n=Math.round(n>p?n:(n+2*p)/3);d=Yx(c,d,b,h,Math.round(l>m?l:(l+2*m)/3));b=d.before;c=d.after;d=d.size;e=Yx(f,g,e,k,n);a.chartArea= {left:b,right:c,width:d,top:e.before,bottom:e.after,height:e.size}};var uy=function(a,b,c,d,e){ty.call(this,a,b,c,d,e);this.gd=this.Mo=this.Vl=this.wc=this.oa=this.ia=this.Aa=this.colors=null;this.vj=1;this.Of=this.jf=null;this.zd=!1};u(uy,ty);var Lx=function(a,b){Q(a.wc!=null);return a.wc[b]};uy.prototype.cj=function(){var a=this,b;return[function(){var c=a.options;b=a.j;b.Va=W(c,"isDiff");b.Va||b.H!=="scatter"||(b.H="function",Rg(c,1,{pointSize:7,trendlines:{pointsVisible:!1,lineWidth:2},lineWidth:0,orientation:"horizontal",domainAxis:{viewWindowMode:"pretty"}}));var d=c.Oa("tooltip.trigger",Oj);a.dl=d!=="none";d=b;var e=Set;var f=Vg(c,Zg,[],"focusTarget",["datum"],Sj);d.Jb=new e(f);if(b.Jb.has("category")&&b.H!=="function")throw Error("Focus target category is not supported for the chosen chart type, "+ b.H);b.H==="bubble"?a.gd=new Ux(a.O,a.options,a.U,b):(a.colors=c.L("colors",qn),vy(a));c=b.rb.bars>0||b.rb.area>0||b.rb.steppedArea>0;d=a.options.Oa("isStacked",Gn);d==null&&(d=W(a.options,"isStacked")?"absolute":"none");b.wd=c&&d||"none";b.Gs=W(a.options,"showRemoveSeriesButton",!1)},this.Tu.bind(this),this.ks.bind(this),function(){b.H==="histogram"&&vy(a)},this.xw.bind(this),function(){return ty.prototype.cj.call(a)}]};var vy=function(a){var b=a.j,c=a.O,d=b.H==="scatter"?function(){return"scatter"}:b.H==="histogram"?function(){return"bars"}:function(l){return V(a.options,"series."+l+".type",b.Ii,Cj)};d=b.Va?wy(c,d,b.H):xy(c,d);a.Of=d.Of;b.K=[];b.oe={};for(var e=d.Qc,f={Ce:0};f.Ce1E5||Math.abs(H)<.01)?f.format(H):g.format(H)}),k=a.j,l=0,m=k.orientation==="vertical",n=k.h.length,p={qf:0};p.qf"),x=w==="";x&&(w=q.pb.fill);x=gh(a.options,r("opacity",["dataOpacity"]),x?.5:1);var y=Y(a.options,r("pointSize",["pointSize"]),0),C=W(a.options,r("pointsVisible",["pointsVisible"]),y>0);y<=0&&(y=6);y/=2;y>0&&(y+= 1);var D={};q.columns.data!=null&&(D.data=q.columns.data);var B=Y(a.options,r("lineWidth",["lineWidth"]),2),A=V(a.options,r("curveType"),"none",Uj),G=W(a.options,r("visibleInLegend"),!1);w=jq(w);v=pn[v];var F=(m?a.ia:a.Aa)[0],z=(m?a.Aa:a.ia)[q.ha];if(F.type==="value"){p.bg=F.D;p.No=z.D;F=b.nc(0);p.Vm=q.columns.data[0];p.fi=ai;p.dm=ai;z=null;b.Ab()>0&&Va(b.C(0,0))?(p.fi=d,p.dm=e):z={transform:function(H){return function(O){return pw(H.bg,(0,H.dm)(O))}}(p),inverse:function(H){return function(O){return(0,H.fi)(qw(H.bg,O))}}(p)};var E={min:(0,p.fi)(p.bg.Yc),max:(0,p.fi)(p.bg.Xc)};v=v(b.Ab(),function(H){return function(O){O=b.C(O,0);O=H.bg.V(O);return(0,H.fi)(O)}}(p),function(H){return function(O){return H.No.V(b.C(O,H.Vm))}}(p),{range:E,lf:z,Yf:bh(a.options,r("degree"),3)});if(v!==null){z=V(a.options,r("label"),b.nc(p.Vm));F=v.il?v.il(F,z).Hc():v.mf;F=Dx(h,F.Pc())||"Trendline "+l;F=V(a.options,r("title"),F);z=v.data.map(function(H){return function(O){var X=(0,H.dm)(O[0]);return[H.bg.Ke(X),H.No.Ke(O[1])]}}(p));q.Zs= k.h.length;E=Ig(w.color,B);Ag(E,x);var J=a.options.bj(r("lineDashStyle"));J&&J!=null&&(E.lc=J);J=Hg(w.color);yg(J,x);var P=V(a.options,r("labelInLegend"),F);W(a.options,r("showR2"),!1)&&(P+="\n"+Dx(h,(new wm([new Am([new Cm("r"),new om(2)]),new om(v.r2)])).Pc()));v=a.options.L(r("tooltip"))!==!1;var M=a.options.L(r("pointShape"),{type:"circle"});q={id:q.id+"_trendline",title:F,mb:!0,data:z,dataType:q.dataType,Ib:W(a.options,r("enableInteractivity",["enableInteractivity"]),!0),Rl:v,isVisible:!0,hf:0,columns:D,es:p.qf,xa:q.xa,lb:null,color:w,Ci:x,pb:J,ga:E,Bd:null,xi:null,Gm:null,type:"line",ck:bh(a.options,r("zOrder"),0),lineWidth:B,lo:y,Wh:M,js:12,Uf:A,Tl:Y(a.options,r("smoothingFactor",["smoothingFactor"]),1),Zj:C,points:[],Pm:[],ha:q.ha,ii:G,kj:P};k.h.push(q)}}}}},xy=function(a,b){for(var c=[],d=[],e=null,f=null,g=0,h=[],k=new Set,l=a.Ob(),m=!1,n,p=0;p0)throw Error("Unexpected domain column (column #"+p+")");m=!0;e={columns:{},dataType:q};f={Z:null,xa:d.length};d.push(e)}else if(r==="data"){g===0&&(f=c.length,n=b(f),e={type:n,dataType:q,columns:{}},f={Z:f,xa:null},c.push(e),g=n==="candlesticks"?4:n==="boxplot"?5:1);g--;if(q!==e.dataType)throw Error("All data columns targeting the same axis must be of the same data type.\n Column #"+p+" is of type "+q+" but expected type is "+e.dataType);n!=="bars"&&n!=="candlesticks"&& n!=="boxplot"||k.add(p)}else if(r==="tooltip"&&e.columns[r])throw Error("Only one column with role 'tooltip' per series is allowed");r!=="domain"&&(m=!1);e.columns[r]=e.columns[r]||[];h.push({Z:f.Z,xa:f.xa,role:r,Zh:e.columns[r].length});e.columns[r].push(p)}if(g>0)throw Error("Last domain does not have enough data columns (missing "+g+")");a=0;b=d[0].dataType;for(e=0;e0)throw Error("Unexpected domain column (column #"+k+")");f={columns:{},dataType:l};n={Z:null,xa:e.length};e.push(f)}r!==0||m!=="data"&&m!=="old-data"||(n=d.length,p=b(n),f={type:p,dataType:l,columns:{}},n={Z:n,xa:null},d.push(f),r=p==="candlesticks"?4:p==="boxplot"?5:m==="old-data"?2:1,p!=="bars"&&p!=="candlesticks"&&p!=="boxplot"||h.add(k));if(m==="data"||m==="old-data")if(r--,l!==f.dataType)throw Error("All data columns targeting the same axis must be of the same data type. Column #"+ (k+" is of type "+l+" but expected type is ")+f.dataType);if(m==="tooltip"&&f.columns[m])throw Error("Only one data column with role 'tooltip' per series is allowed");f.columns[m]=f.columns[m]||[];g.push({Z:n.Z,xa:n.xa,role:m,Zh:f.columns[m].length});f.columns[m].push(k)}if(r>0)throw Error("Last domain does not have enough data columns (missing "+r+")");a=0;f=e[0].dataType;for(b=0;b0};var yy=function(a,b,c){var d=c.type,e=c.columns,f=c.xa,g=a.options,h="series."+b+".",k=d+".",l=e.data||e["old-data"],m=Sb(a.O,l[0]),n=a.O.nc(l[0])||"",p=d==="scatter"?0:2,q=Y(g,[h+"pointSize","pointSize"],d==="scatter"?7:0);var r=W(g,[h+"pointsVisible","pointsVisible"],d==="line"||d==="area"||d==="scatter"?q>0:!0);q===0&&(q=d==="scatter"?7:6);q/=2;q>0&&(q+=1);b=g.L(h+"color",a.colors[(a.j.Va&&d==="scatter"?Math.floor(b/2):b)%a.colors.length]);b=jq(b);var v=null;if(d==="area"||d==="steppedArea")v= gh(g,[h+"areaOpacity","areaOpacity"]),v=Hg(b.color,v);var w=null;if(d==="candlesticks"){w=new U({stroke:b.color,strokeWidth:2,fill:b.color});var x=new U({stroke:b.color,strokeWidth:2,fill:"#fff"}),y=W(g,"candlestick.hollowIsRising"),C=y?w:x;w={vs:kh(g,[h+"candlestick.risingColor","candlestick.risingColor"],y?x:w),tq:kh(g,[h+"candlestick.fallingColor","candlestick.fallingColor"],C)}}x=null;d==="boxplot"&&(x=new U({stroke:b.color,strokeWidth:2,fill:b.color}),x={mc:kh(g,[h+"boxplot.boxColor","boxplot.boxColor"],x)});p=Y(g,[h+"lineWidth","lineWidth"],p);y=Ig(b.color,p);(C=g.bj([h+"lineDashStyle","lineDashStyle"]))&&C!=null&&(y.lc=C);k=Y(g,[h+"dataOpacity",k+"dataOpacity","dataOpacity"],1);C=null;if(d==="scatter"||d==="line"||d==="area")C=g.L([h+"pointShape","pointShape"],{type:"circle"}),typeof C==="string"&&(C={type:C});var D=null;if(a.j.Va&&d==="scatter"){var B=a.Ij(c);k=B?a.options.L("diff.oldData.opacity",.5):a.options.L("diff.newData.opacity",1);B&&(D=!1)}B=d==="steppedArea"?v:Hg(b.color,k);if(a.j.Va)if(d=== "bars"){var A=g.L("diff.oldData.color",rn);A=jq(A);A={background:{pb:Hg(A.color,k)}}}else d==="scatter"&&a.Ij(c)&&(r=!1);else d==="scatter"&&(d="line");var G=Cy(a,e,g,h,b),F=a.options.L(h+"tooltip")!==!1;return{id:a.O.Eh(l[0]),title:n,dataType:c.dataType,isVisible:!0,Rl:F,hf:m,columns:e,xa:f,Ib:W(g,[h+"enableInteractivity","enableInteractivity"],!0),lb:G,color:b,Ci:k,pb:B,ga:y,Bd:v,Wh:C,ag:A,xi:w,Gm:x,type:d,ck:bh(g,h+"zOrder",0),lineWidth:p,lo:q,js:12,Uf:V(g,[h+"curveType","curveType"],"none",Uj),Tl:Y(g,[h+"smoothingFactor","smoothingFactor"],1),Zj:r,points:[],Pm:[],ha:Y(g,[h+"targetAxisIndex","targetAxisIndex"],0),ii:D!=null?D:W(g,h+"visibleInLegend",!0),kj:V(g,h+"labelInLegend",n),ny:W(g,[h+"stepped","stepped"],!1)}},Cy=function(a,b,c,d,e){var f=b.interval;if(!f)return null;b={Ye:[],Ug:[],nk:[],points:[],areas:[],lines:[],Pe:{}};for(var g={},h=function(x,y){return[d+"interval."+x+"."+y,d+"intervals."+y,"interval."+x+"."+y,"intervals."+y]},k=function(x,y){return h(x,y).concat([d+y,y])},l= 0;l1&&b.Ug.length===0&&(b.Ug=[b.Ye[0],b.Ye[b.Ye.length-1]]);if(b.Ug.length% 2!==0)throw Error("Stick-intervals must be defined by an even number of columns");if(b.areas.length%2!==0)throw Error("Area-intervals must be defined by an even number of columns");for(var q in g)if(g.hasOwnProperty(q)){a=Y(c,h(q,"lineWidth"));f=gh(c,h(q,"fillOpacity"));l=ih(c,h(q,"color"),"",Hd());l=Xn(l,e);a=new U({stroke:l,strokeWidth:a,fill:l,fillOpacity:f});f=Y(c,h(q,"barWidth"));l=Y(c,h(q,"shortBarWidth"));m=Y(c,h(q,"boxWidth"));n=Y(c,h(q,"pointSize"));p=c.Oa(h(q,"style"),Dj);var r=W(c,k(q,"interpolateNulls")),v=V(c,k(q,"curveType"),"none",Uj),w=Y(c,k(q,"smoothingFactor"),1);a={style:p,m:a,xu:f,by:l,Fu:m,xx:n,Ec:r,Uf:v,Tl:w};f=g[q];for(l=0;l1?"categorypoint":"category";break b;case "line":case "scatter":case "bars":case "steppedArea":case "candlesticks":case "boxplot":d="category";break b;default:throw Error('Invalid serie type "'+d+'"');}else d="value";this.oa=new b(a,c,["domainAxis"],0,d,"maximized");e[0]=this.oa;break;case "scatter":case "bubble":this.Aa={0:new ox(a,this.options,[],0,"value","pretty")};this.ia={0:new wx(a,this.options,[],0,"value","pretty")};a.orientation==="horizontal"?(this.oa=this.Aa[0],this.wc=this.ia):(this.oa=this.ia[0],this.wc=this.Aa);break;default:throw Error("Invalid chart type");}};var Dy=function(a){var b="line scatter area steppedArea bars candlesticks boxplot".split(" "),c={};b.forEach(function(d,e){c[d]=e});a=a.j.h.reduce(function(d,e){return Math.max(d,c[e.type])},0);return b[a]};uy.prototype.xw=function(){var a=this.j;switch(a.H){case "scatter":case "bubble":if(a.kf==="string")throw Error("X values column cannot be of type string");var b=a.Sj[0];if(b==="string")throw Error("Data column(s) cannot be of type string");var c=this.Aa[0],d=this.ia[0];if(c.type!=="value")throw Error("The x-axis must be of type value");Fw(c,a.kf);if(d.type!=="value")throw Error("The y-axis must be of type value");Fw(d,b);break;case "function":case "histogram":b=this.oa;a.H==="histogram"&&(c=this.O.Od(0,"histogramBuckets"),Rg(b.options,1,{ticks:c}));if(b.type==="value"){if(a.kf==="string")throw Error("Domain column cannot be of type string, it should be the X values on a continuous domain axis");Fw(b,a.kf)}Dd(this.wc,function(e,f){var g=a.Sj[f];if(g==="string")throw Error("Data column(s) for axis #"+f+" cannot be of type string");Fw(e,g)},this);break;default:throw Error("Invalid chart type");}Dd(this.Aa,function(e){Iw(e)});Dd(this.ia,function(e){Iw(e)})};var Ey=function(a){var b=a.columns.data;if(b)return b[0];a=a.columns["old-data"];Q((a==null?void 0:a.length)>0);return a[0]},Fy=function(a){for(var b=a.j,c=a.O,d=a.oa,e=0;e0){p.length===1&&(p=[p[0],p[0]]);h&&(p[0]==null&&(p[0]=h.start),p[p.length-1]==null&&(p[p.length-1]=h.end));if(p[0]==null)throw Error(A+".values must not contain nulls");for(f=1;fq)throw Error(A+".minValue ("+p+") must be at' +\n ' most "+A+".maxValue ('"+q+")");(A=Ii(h,p,q))&&(f=[A.start,A.end])}A=Vg(g,Zg,[],"colors");A=Vg(e,Zg,[],"colors",A);g=e.L("one-sided-colors",Qx);e=e.L("two-sided-colors",Rx);A&&A.length!==0?A.length===1&&(A=[g[0],A[0]]):A=f&&f.length===3?e:g;A=Sx(f,A);A=new Ox(A.values,A.colors);c.uk=A;d.setScale(c.uk)}else if(c.Gd==="string")for(d=0;dA)throw Error("sizeAxis.minSize ("+d+") must be at most sizeAxis.maxSize ("+A+")");g=e.sa("sizeAxis.minValue");h=e.sa("sizeAxis.maxValue");if(g!=null&&h!=null&&g>h)throw Error("sizeAxis.minValue ("+g+") must be at most sizeAxis.maxValue ("+ h+")");f=Ii(f,g,h);e=Ym(e,"sizeAxis.logScale","sizeAxis.scaleType");e=Zm(e,1);d=new Tx(d,A,f,e);c.Ho=d;c.wy&&Lc(c.j.h[0].points,c.pu,c)}},function(){var c=b.H==="histogram",d=b.rb.bars||b.rb.candlesticks||b.rb.boxplot,e=null!=b.h.find(function(f){return f.lb!=null});(d&&!c&&!a.zd||e)&&Qy(a)},function(){b.za=Ed(a.Aa,function(c){return c.Im(this.fb,this.tb)},a);b.la=Ed(a.ia,function(c){return c.Im(this.fb,this.tb)},a);Ry(a)},this.Gu.bind(this),this.zx.bind(this),function(){Mx(new Gx(a,a.options))},function(){var c=a.fb.Pd(),d=a.fb.l.fontSize,e=null;c!=="right"&&c!=="labeled"||a.ia[1]!=null||(e=new Dk(b.chartArea.top,b.width-d,b.chartArea.bottom,b.chartArea.right+d));c!=="left"||a.ia[0]!=null||(e=new Dk(b.chartArea.top,b.chartArea.left-d,b.chartArea.bottom,d));e&&e.right>=e.left&&a.fb.zf(e)},this.Gx.bind(this),function(){a.gd||(Ay(a,a.O),zy(a),Sy(a))}]};uy.prototype.Ju=function(){var a=this.j,b=this.U,c=(Gd(this.Aa)||Gd(this.ia)).title.l,d=Math.max(a.title.l.fontSize,c.fontSize),e=this.fb.l.fontSize,f=this.fb.Pd(),g=this.tb.l.fontSize,h=this.tb.Pd(),k=a.ci==="in"?a.title.text:"",l="",m="";if(a.rh==="in")switch(m=function(y){var C=Jd(y);C.sort(function(D,B){return D>B?1:D0?g.lines[0]:"",v=b(r,a.title.l).width;q=Math.max(q-v-Math.round(Math.max(2,d*1.618)),0);b=Vo(b,l,c,q,1);var w=b.lines.length>0?b.lines[0]:"",x=[];x.push({key:"bottom-space",min:2,qa:[Infinity]});(r||w)&&x.push({key:"title",min:d+2,qa:[m-2]});f==="in"&&x.push({key:"legend",min:e+2,qa:[n-2]});h==="in"&&x.push({key:"colorBar",min:this.tb.Vb()+2,qa:[p-2]});f=ui(x,Math.floor(a.chartArea.height/2));d=a.chartArea.top;h=f.title||[];h.length>0&&(d+=h[0],r&&(a.title.lines.push({text:r,x:a.chartArea.left+m,y:d,length:v}),a.title.aa=g.Ca?k:""),w&&(a.dj={text:l,l:c,xc:null,lines:[],Pa:"end",Da:"end",aa:b.Ca?l:"",anchor:null,angle:0},a.dj.lines.push({text:w,x:a.chartArea.right-m,y:d,length:q})));c=f.legend||[];c.length>0&&(d+=c[0],this.fb.zf(new Dk(d-e,a.chartArea.right,d,a.chartArea.left)));e=f.colorBar||[];e.length>0&&(d+=e[0],a=new Dk(d-this.tb.Vb(),a.chartArea.right,d,a.chartArea.left),this.tb.zf(a))};var Hy=function(a,b){var c=a.j;c.Va?Ty(a,b):Uy(a,b,c.wd)},Qy=function(a){var b=a.oa;if(b.D){var c=a.j.K.filter(function(){return!0}),d=Infinity,e;c.forEach(function(f){f=b.D.V(f.data);if(f!=null&&e!=null){var g=Math.abs(f-(e||0));g>0&&(d=Math.min(d,g))}e=f},a);isFinite(d)&&(a=d/2,b.W(b.D.Yc-a),b.W(b.D.Xc+a))}},Vy=function(a,b){for(var c=a.j,d=[],e=0;e0?f.positive+=k:f.negative-=k))}}}return d},Wy=function(a,b){for(var c=a.j,d=0;d=0;v.Nf=q[w];k||Xy(a,r+1);v.lg=function(B){return function(A){return B.Jn?A.positive:A.negative}}(v);v.Es=function(B){return function(A,G){B.Jn?A.positive=G:A.negative=G}}(v);v.zs=m[h.od]&&(0,v.lg)(m[h.od])||1;v.Ll=function(B){return function(A){return A==null?null:A/B.zs}}(v);w=function(B,A){return function(G,F,z){var E=null;typeof G!=="number"||isNaN(G)||(E=G+(k||g?(0,B.lg)(B.Nf):0));l&&(E=(0,B.Ll)(E),z=(0,B.Ll)(z));B.Lo&&(E=B.Df.D.V(E),z=B.Df.D.V(z));A.Mj&&B.Df.W(E);var J;G!=null&&(J=Yy(a,B.Ne,A.od,(0,B.lg)(B.Nf),B.Ll,!0));F={Wa:{re:A.od,Vg:F,from:z,to:E,Wf:n,d:p,fj:J}};G==null&&(F.Fc=!0);B.Ne.type==="steppedArea"&&(J=B.xj.length,F.Wa.ns=J===0||B.xj[J-1]==null?null:B.xj[J-1].Wa.to);Zy(a,F,B.Ne,B.Lh,A.od);l&&F.Ea&&(F.Ea.content=F.Ea.content+" ("+B.hn.Na(E-z)+")");B.xj.push(F);typeof G!=="number"||isNaN(G)||(0,B.Es)(B.Nf,(0,B.lg)(B.Nf)+G)}}(v,h);var y=k?0:r,C=k||g?(0,v.lg)(v.Nf):null;if(g&&!a.j.pg)for(var D=0;D< Number(x);D++)C=k||g?(0,v.lg)(v.Nf):null,w(1,y,C);else w(x,y,C)}}k||Dd(a.wc,function(B){$w(B)})},Ty=function(a,b){for(var c=a.j,d=a.O,e=a.oa,f=c.h.filter(function(x){return x.type===b}),g=0;g0?c.C(m-1,D):null;E=m===0||z===null&&!isNaN(z);D=mf){var g=e;e=f;f=g}for(g=0;gc&&l(),b.Pl=new Dk(e,c,f,d)):k===1?(dc&&l(),b.Pl=new Dk(d,h,c,g))};uy.prototype.Gx=function(){iz(this);jz(this)};var iz=function(a){var b=a.j;Dd(b.la,function(c,d){kz(a,a.ia[d],b.la[d],a.Hw)});Dd(b.za,function(c,d){kz(a,a.Aa[d],b.za[d],a.Cw)})},jz=function(a){var b=a.j;Dd(b.la,function(c,d){kz(a,a.ia[d],c,function(){return!0})});Dd(b.za,function(c,d){kz(a,a.Aa[d],c,function(e,f){return lz(a,f)})})},kz=function(a,b,c,d){c.text&&(c.text=c.text.filter(d.bind(a,b)))};uy.prototype.Cw=function(a,b){var c=this.j;b=b.F;return b.angle?!0:(b=zu(b))?!(a.bc==="in"&&!(new Dk(c.chartArea.top,c.chartArea.right,c.chartArea.bottom,c.chartArea.left)).contains(b)):!0};var lz=function(a,b){var c=a.j,d=b.F;if(d.angle)return!0;b=zu(d);if(!b)return!0;d=Math.ceil(d.l.fontSize/8);var e=new Dk(b.top,b.right+d,b.bottom,b.left-d),f;for(f in c.la)if(c.la[Number(f)]!==void 0){var g=Number(f);if(a.ia[g].bc==="in"&&!((c.la[g].text?c.la[g].text.length:0)<1)){var h=zu(c.la[g].text[0].F),k=zu(Jc(c.la[g].text).F);if(h||k){if(h&&Ek(e,h)||k&&Ek(e,k))return!1;h?k?(g=Math.min(h.left,k.left),h=Math.max(h.right,k.right)):(g=h.left,h=h.right):(g=k.left,h=k.right);if(Math.abs(b.left-g)< d||Math.abs(b.right-h)0||b.lb.areas.length>0)&&nz(b)};uy.prototype.zx=function(){var a=this;this.j.h.forEach(function(b,c){$y(a,c)})};var nz=function(a){var b={},c=a.lb,d=c.Pe;c.vf=[];for(var e=function(r){r=d[r].style;return r==="area"||r==="line"},f=function(r,v){if(!b[r]){var w=d[r].m.clone(),x=d[r].style,y={};y.Di=r;y.line=[];x==="area"?(zg(w,0),y.bottom=[]):yg(w,0);y.m=w;b[r]=y}b[r].line.push(new fi(v.left,v.top));b[r].bottom&&b[r].bottom.push(new fi(v.left+v.width,v.top+v.height))},g=function(r){var v=b[r];delete b[r];if(v&&v.line.length>1){v.bottom&&v.bottom.reverse();if(d[r].Uf!=="none"){var w=d[r].Uf==="function";r=d[r].Tl;v.Pm=li(v.line,r,w,!1,!1);v.bottom&&(v.Au=li(v.bottom,r,w,!1,!1))}c.vf.push(v)}},h=0;h=c.de.end&&(f=c.Qn);else if(!c.qo||b==null){b=c.Tw;break a}f==null&&(Q(c.fo!=null),b=fe(b,c.de.start,c.de.end),f=he(c.Tn,c.Qn,(b-c.de.start)/c.qo));b=Math.round(Math.sqrt(f))}return{x:a,y:d,m:e,xb:b,Ql:b}};t.Ox=function(a,b){var c=oz(this,a.ha,b.d,b.t);c.Fe=pz(this,a,b);return c};t.Kx=function(a,b){var c=qz(this,a,b,b.from,b.to);return c?{top:c.top,left:c.left,width:Math.max(.5,c.width),height:Math.max(.5,c.height),Fe:pz(this,a,b)}:null};t.Nx=function(a,b){var c=qz(this,a,b,b.Gl,b.Hl),d=qz(this,a,b,b.On,b.lineTo);if(!c||!d)return null;var e=rz(this,d.left,d.top),f=rz(this,c.width,c.height),g=rz(this,d.width,d.height);g.domain=2;e.domain+=(f.domain-(f.domain%2?3:2))/2;e=sz(this,e.domain,e.target);g=sz(this,g.domain,g.target);d.width=g.x;d.height=g.y;d.left=e.x;d.top=e.y;a=b.hr?a.xi.tq:a.xi.vs;Dg(a)&&(a=a.strokeWidth/2,c.height-=2*a,c.width-=2*a,c.left+=a,c.top+=a);c.height=Math.max(c.height,2);c.width=Math.max(c.width,1);return{rect:c,line:d}};t.Lx=function(a,b){var c=qz(this,a,b,b.Gl,b.Hl),d=qz(this,a,b,b.rs,b.Hl),e=qz(this,a,b,b.Gl,b.rs);b=qz(this,a,b,b.On,b.lineTo);if(!(d&&e&&c&&b))return null;var f=rz(this,b.left,b.top),g=rz(this,c.width,c.height),h=rz(this,b.width,b.height);h.domain=2;f.domain+=(g.domain-(g.domain%2?3:2))/2;f=sz(this,f.domain,f.target);h=sz(this,h.domain,h.target);b.width=h.x;b.height=h.y;b.left=f.x;b.top=f.y;a=a.Gm.mc;Dg(a)&&(a=a.strokeWidth/2,c.height-=2*a,c.width-=2*a,c.left+=a,c.top+=a);c.height=Math.max(c.height,2);c.width=Math.max(c.width,1);return{line:b,rect:c,mk:d,Zl:e}};t.Qx=function(a,b){var c=Lx(this,a.ha);b.from==null&&(b.from=c.D.V(c.ca.N),b.from==null&&(b.from=0));var d=this.oa,e=b.re;if(this.zd||d.D){if(b.Wf==null)return null;e=Math.floor(Zw(d,b.Wf));var f=Math.floor(Zw(d,b.d));d.W(b.Wf)}else{var g=d.Y[e].G||0;f=d.ud;e=Math.floor(g-d.direction*f/2);f=Math.floor(g+d.direction*f/2)}d.W(b.d);d=c.bb(b.from);var h=c.bb(b.to);d=sz(this,e,d);g=sz(this,e,h);f=sz(this,f,h);h=[];W(this.options,"connectSteps",!0)&&b.ns!=null&&(c=c.bb(b.ns),c=sz(this,e,c),h.push(c));h.push(g);h.push(f);return{bar:fo(R(d.x),R(d.y),R(f.x),R(f.y)),outline:h,Fe:pz(this,a,b)}};var qz=function(a,b,c,d,e){var f=a.oa,g=Lx(a,b.ha);Q(g!=null);Q(a.jf!=null);b=a.jf;var h=g.D.V(g.ca.N);d==null&&(d=h||0);e==null&&(e=h||0);h=e;h=Math.min(Zw(g,d),Zw(g,h));d=Math.max(Zw(g,d),Zw(g,e));g=a.j.H==="histogram"?a.Wo(g.ud,W(a.options,"histogram.hideBucketItems"))?0:1:Math.min(1,.2*(d-h));g===0||Math.floor(h+g)Math.floor(h)?(h=Math.floor(h+g),d=Math.floor(d)):h+=g;g=bh(a.options,"diff.newData.widthFactor",.3);g=c.Bw?g:1;if(a.zd){if(c.Wf==null)return null;g= Math.floor(Zw(f,c.Wf));b=Math.floor(Zw(f,c.d));f.W(c.Wf)}else c=tz(a,c),e=g*b.Ko/2,g=b.uo(c-e),b=b.uo(c+e);f.W(f.pk(g));f.W(f.pk(b));f=sz(a,g,h);a=sz(a,b,d);return fo(R(f.x),R(f.y),R(a.x),R(a.y))};uy.prototype.Jx=function(a,b){var c=Lx(this,a.ha);c=c.D.V(c.ca.N);var d=c!=null?c:0,e=function(k){return k!=null?k:d};c=oz(this,a.ha,b.d,b.t);var f=oz(this,a.ha,b.Bu,e(b.Cu)),g=oz(this,a.ha,b.Du,e(b.Eu)),h=oz(this,a.ha,b.Pu,e(b.Qu));e=oz(this,a.ha,b.Ru,e(b.Su));a=pz(this,a,b);return{x:c.x,y:c.y,Cm:f.x,Dm:f.y,Em:g.x,Fm:g.y,wk:h.x,xk:h.y,yk:e.x,zk:e.y,Fe:a}};var pz=function(a,b,c){if(!c.fj)return[];var d=a.oa;b=Lx(a,b.ha);Q(a.jf!=null);var e=a.jf;if(c.Vg>=e.vj||d.type!=="value"&&c.re>=d.Y.length)return[];var f=tz(a,c),g=e.uo;a.zd?(d=Zw(d,c.d)-Zw(d,c.Wf),f-=d/2):d=e.Ko+e.Ts;e=[];for(var h=0,k;k=c.fj[h];h++){var l=Zw(b,k.sw),m=Zw(b,k.Qw),n=d*k.ly/2,p=g(f-n);n=g(f+n);p=sz(a,p,Math.min(m,l));l=sz(a,n,Math.max(m,l));l=fo(R(p.x),R(p.y),R(l.x),R(l.y));e.push({rect:l,Di:k.Di,m:k.m})}return e},tz=function(a,b){var c=a.oa;Q(a.jf!=null);var d=a.jf;c=c.type==="value"?Zw(c,b.d):R(c.Y&&c.Y[b.re]&&c.Y[b.re].G);if(a.zd)return c;a=d.Ko;return c-d.mv+(a+d.Ts)*b.Vg+a/2},rz=function(a,b,c){Q(!isNaN(b));Q(!isNaN(c));switch(a.j.orientation){case "horizontal":return{domain:b,target:c};case "vertical":return{domain:c,target:b};default:throw Error("Invalid orientation.");}},sz=function(a,b,c){Q(!isNaN(b));Q(!isNaN(c));switch(a.j.orientation){case "horizontal":return{x:b,y:c};case "vertical":return{x:c,y:b};default:throw Error("Invalid orientation.");}},oz=function(a,b,c,d){var e= a.oa;b=Lx(a,b);c=e.bb(c);d=b.bb(d);return sz(a,c,d)},az=function(a,b){a=a.clone();Gg(a)&&a.fill!=="#ffffff"?(Bg(a,new wg("primarydiagonalstripes",a.fill)),!Dg(a)&&b&&(a.bd(a.fill),zg(a,1))):Dg(a)&&(a.lc="dash");return a},bz=function(a,b){a=a.clone();zg(a,a.strokeWidth*b);return a},Yy=function(a,b,c,d,e,f){var g=b.lb;if(!g)return null;var h=dz(a,b,c),k=Lx(a,b.ha),l=k.Sc,m=k.D.V.bind(k.D),n=a.O,p=[];a=function(w,x,y,C,D){D=D===void 0?"size":D;var B=g.Pe[w],A=n.C(c,w);A=l?A:m(A);x=n.C(c,x);x=l?x:m(x);A!=null&&x!=null&&(A+=d,x+=d,e&&(A=e(A),x=e(x)),l&&(A=m(A),x=m(x)),f&&(k.W(A),k.W(x)),B=B.m,h!=null&&(B=B.clone(),ez(B,h.view([C,""])),y=bh(h,[C+"."+D,D],y)),p.push({Qw:A,sw:x,ly:y,Di:w,m:B}))};for(b=0;b1?1:0,l-n));n=l-m};h();m>f&&(f=m,g=d-f);f-=m;g+=Number(m);h();var n=xi(10,n);m=xi(10,m);g=xi(10,g);f=xi(10,f);c=c.direction;b=xi(10,b?(c===-1?g+f:0)+-(f+m)/2:(g-m)/2);c=f+m;c=n<7&&n%2===0||c<7&&c%2===0?function(p){return Math.floor(p)+.5}:function(p){return Math.floor(p+.5)};a.jf={vj:R(e),mv:R(b),ZA:R(f),aB:R(g),Ko:R(n),Ts:R(m),uo:c}},uz=function(a){var b=a.oa,c=a.j.K;c=c.filter(function(){return!0});if(c.length===0)return 0;var d=a.Of;if(!d||d.size===0)return 0;if(b.type==="value"){d=b.si;for(var e=null,f=0;f0&&(d=Math.min(d,e)));e=g}return d}return Math.abs(ax(b,1)-ax(b,0))},Ix=function(a,b,c){var d=a.O;a=a.oa;a.type==="value"&&(b=c&&c.mb?c.data[b][0]:d.C(b,0),b=a.D.V(b));return b};uy.prototype.Wo=function(){return!1};uy.prototype.Fq=function(){return 0};var yz=function(a,b){this.hd=a;this.df=b;this.wr=this.vr=this.Gc=this.Sb=this.cp=this.vn=null;this.kc=Ld(a);var c=a.width!=b.width||a.height!=b.height;!c&&a.chartArea&&b.chartArea&&(c=a.chartArea.width!=b.chartArea.width||a.chartArea.height!=b.chartArea.height||a.chartArea.left!=b.chartArea.left||a.chartArea.top!=b.chartArea.top);this.kc.title&&c&&(this.kc.title.l.opacity=0);this.kc.za&&(this.kc.za=Ed(this.kc.za,Ld),this.vn=Ed(a.za,function(d,e){return vz(a.za[e],b.za[e],this.kc.za[e],!0,!1,c)},this));this.kc.la&&(this.kc.la=Ed(this.kc.la,Ld),this.cp=Ed(a.la,function(d,e){return vz(a.la[e],b.la[e],this.kc.la[e],!1,!0,c)},this));wz(this);xz(this)},vz=function(a,b,c,d,e,f){if(!a||!b)return null;var g=Ld(a),h=Ld(a);h.xd=b.xd;h.Ra=b.Ra;h.Ua=b.Ua;c.title&&f&&(c.title.l.opacity=0);if(a.type=="value"&&b.type=="value"&&a.dataType===b.dataType){a.ca&&b.ca&&(h.ca=b.ca,c.ca=Ld(c.ca));h.number=Ld(h.number);h.position=Ld(h.position);c.number=Ld(c.number);c.position=Ld(c.position);h.position.Kb=b.position.Kb;if(a.gridlines&&b.gridlines){h.gridlines=Zc(h.gridlines);c.gridlines=Zc(c.gridlines);f=h.gridlines;for(var k=c.gridlines,l=0;l=p.length?Jc(p):Ez(p[q-1],p[q],.5)};a.hd.Va?Fz(a,m,function(p,q,r,v){return q.gg?p[q.De*r+v]:n(p,q.De*r+v)}):Gz(a,m,function(p,q){return q.gg?p[q.De]:n(p,q.De)})}},Bz=function(a,b,c){var d=a.hd.K,e=a.df.K;if(d&&e)if(d.length==0||e.length== 0)a.kc.K=[],Gz(a,[],function(){return null});else{var f=function(l){return b(l.data)},g=[],h=[];if(d.length===e.length)for(var k=0;k0){var k=Math.ceil(e.length/b.length),l=Math.ceil(f.length/b.length);a.hd.H=="function"&&(Q(Math.floor(e.length/ k)===a.hd.K.length),Q(Math.floor(f.length/l)===a.df.K.length));for(var m=0;m=c.top&&b<=c.bottom:!1);return(!d||(c?a>=c.left&&a<=c.right:!1))&&b},Lz=function(a,b,c,d,e){a.position&&a.position.Kb&&b.position&&b.position.Kb&&(c.position.Kb=function(f){var g=a.position.Kb(f);f=b.position.Kb(f);return Iz(g,f,e)});a.title&&b.title&&c.title.lines.forEach(function(f,g){f.x=Iz(a.title.lines[g].x,b.title.lines[g].x,e);f.y=Iz(a.title.lines[g].y,b.title.lines[g].y,e)});a.ca&&b.ca&&(c.ca.G=Iz(a.ca.G,b.ca.G,e));a.gridlines&&b.gridlines&&c.gridlines.forEach(function(f,g){f.G=Iz(a.gridlines[g].G,b.gridlines[g].G,e);f.isVisible=d(f.G,f.G)});a.xd&&b.xd&&(c.xd=Jz(a.xd,b.xd,e));a.Ra!=null&&b.Ra!=null&&(c.Ra=Iz(a.Ra,b.Ra,e));a.Ua!=null&&b.Ua!=null&&(c.Ua=Iz(a.Ua,b.Ua,e));a.text&&b.text&&c.text.forEach(function(f,g){var h=a.text[g];g=b.text[g];if(f){h=h.F;g=g.F;var k=f.F;k&&k.anchor&&(k.anchor.x=Iz(h.anchor.x,g.anchor.x,e),k.anchor.y=Iz(h.anchor.y,g.anchor.y,e));f.F&&(h=f.F.lines.length>0,f.isVisible=d((h?f.F.lines[0].x:0)+f.F.anchor.x,(h?f.F.lines[0].y:0)+f.F.anchor.y))}})},Ez=function(a,b,c){if(!a||!b)return null;var d=Ld(a);if(a.Fc||b.Fc)d.Fc=!0;if(a.o!==void 0||b.o!==void 0)d.o=Iz(a.o||{},b.o||{},c),d.Wa=Iz(a.Wa||{},b.Wa||{},c);a.Ge!==void 0&&b.Ge!==void 0&&(d.Ge=Iz(a.Ge,b.Ge,c));a.Zd!==void 0&&b.Zd!==void 0&&(d.Zd=Iz(a.Zd,b.Zd,c));a.l!==void 0&&b.l!==void 0&& a.l!==b.l&&(d.l=Ld(a.l),d.l.color=ug(a.l.color,b.l.color,1-c),d.l.opacity=Iz(a.l.opacity!==void 0?a.l.opacity:1,b.l.opacity!==void 0?b.l.opacity:1,c));a.ba!=null&&b.ba!=null&&a.ba.labels[0].text===b.ba.labels[0].text?d.ba=Iz(a.ba,b.ba,c):delete d.ba;return d},Mz=function(a,b){var c=a.kc;if(c.za&&a.vn){var d=function(v,w){return Kz(v,w,c.chartArea,!0,!1)};Dd(c.za,function(v,w){(w=a.vn[w])&&Lz(w[0],w[1],v,d,b)})}if(c.la&&a.cp){var e=function(v,w){return Kz(v,w,c.chartArea,!1,!0)};Dd(c.la,function(v,w){(w=a.cp[w])&&Lz(w[0],w[1],v,e,b)})}if(a.Sb&&a.Gc){c.h=[];for(var f=0;f=n?k-1:Math.floor((q-m)/l);var r=p+1-c;yj(f,q,r,(Number(f.C(q,r))||0)+1);r=this.ea.nc(p)||"Value";r={row:h,column:p,label:{title:g,Sf:g,Oe:r,content:this.ea.ja(h,p),lines:[{title:r,value:this.ea.ja(h,p)||0}]}};a[p-c][q].push(r)}var v=[];for(b=c;bx?1:0}),zj(f,d-c,"histogramBucketItems",k),Lc(k,function(w,x){v[w.column][w.row]=x});for(a=c;a=0;g--)Q(f),Sg(f,e.qc[g]);e=f}}else throw Error("Theme must be a theme name or an options object.");e&&c.push(e)}a=a.type.toLowerCase();vn[a]&&c.push(vn[a]);c.push(wn);return c};Uz.prototype.Om=function(){var a=this,b=ju(this.cb);Q(b!=null);var c=ku(this.cb);Q(c!=null);var d=this.options;Vz(this,this.ea,d,b.Ri.bind(b),this.width,this.height,function(e){cA(a);e=e.xe();var f=new a.tv(d,a.I,a.Av.bind(a),e);a.ev={};Xj(a.kb);a.kb=new gr(e,a.I,a.jc,a.Eb,a.refresh.bind(a,!0),f);f=new De(a.width,a.height);var g={Za:e.qe,fontSize:e.Id},h=e.ug,k=e.Jb,l=e.h.length,m=a.Dc?a.Dc.Sa:void 0;Q(a.options!=null);Q(h!=null);var n=a.options;Q(a.H!=="pie");f=new tq(n,f,g,h,k,l,m);a.Dc=f;dA(a);Q(c!=null);Q(b!=null);Q(a.H!=="pie");a.cf=new Ru(c,b);eA(a,e)||(a.A=e,fA(a),gA(a));hA(a);a.Eb.dispatchEvent("ready");a.kb.Rd()})};var hA=function(a){var b=ju(a.cb);setTimeout(function(){if(b&&b.Qm){var c=b.Qm();if(c&&a.ea){var d=ru(a.ea);c.nodeType===1&&Ic(c);c.innerHTML=Hc(d)}}},0)},Xz=function(a,b){switch(b.type){case "line":Wz(a,"function","line","horizontal");b.type=null;break;case "area":Wz(a,"function","area","horizontal");b.type=null;break;case "columns":Wz(a,"function","bars","horizontal");b.type=null;break;case "bars":Wz(a,"function","bars","vertical");b.type=null;break;case "scatter":Wz(a,"scatter");b.type=null;break;case "pie":Wz(a,"pie"),b.type=null}a=a.H;a==="none"&&(a=null);var c=b.type||"none";c==="none"&&(c=null);if(!a&&!c)throw Error("Unspecified chart type.");if(a&&c&&a!==c)throw Error("Incompatible chart types.");b.type=a||c},Yz=function(a,b){if(b.type==="function"){a=a.Ii;a==="none"&&(a=null);var c=b.seriesType||"none";c==="none"&&(c=null);if(a&&c&&a!==c)throw Error("Incompatible default series types.");b.seriesType=a||c}},Zz=function(a){a.hAxis=a.hAxis||{};a.vAxis=a.vAxis||{};var b=a.hAxis,c=a.vAxis,d=null;switch(a.type){case "scatter":d=c;break;case "function":a.targetAxis=a.targetAxis||{},d=a.targetAxis}d&&(iA(a,"min",d,"minValue"),iA(a,"max",d,"maxValue"),iA(a,"logScale",d,"logScale"));b&&(iA(a,"logScaleX",b,"logScale"),iA(a,"titleX",b,"title"));c&&iA(a,"titleY",c,"title");a.smoothLine&&a.curveType===void 0&&(a.curveType="function");iA(a,"lineSize",a,"lineWidth");iA(a,"reverseAxis",a,"reverseCategories");a.chartArea=a.chartArea||{};iA(a,"axisBackgroundColor",a.chartArea,"backgroundColor")},$z=function(a){jA(a,"titleColor","titleFontSize","titleTextStyle");jA(a,"legendTextColor","legendFontSize","legendTextStyle");kA(a.hAxis);var b=a.hAxes||{},c;for(c in b)b.hasOwnProperty(c)&&kA(b[c]);b=a.vAxes||{};kA(a.vAxis);for(var d in b)b.hasOwnProperty(d)&&kA(b[d]);d=a.tooltip;d==null&&(d={},a.tooltip=d);jA(a,"tooltipTextColor","tooltipFontSize","tooltipTextStyle");iA(a,"tooltipTextStyle",d,"textStyle");iA(a,"tooltipText",d,"text");iA(a,"tooltipTrigger",d,"trigger");d.trigger==="hover"&&(d.trigger= "focus");d=a.legend;d==null?(d={},a.legend=d):typeof d==="string"&&(b=d,d={},a.legend=d,d.position=b);iA(a,"legendTextStyle",d,"textStyle");d=a.animation;d==null?(d={},a.animation=d):typeof d==="number"&&(b=d*1E3,d={},a.animation=d,d.duration=b);iA(a,"animationEasing",d,"easing")},kA=function(a){if(a!=null){jA(a,"textColor","textFontSize","textStyle");jA(a,"titleColor","titleFontSize","titleTextStyle");a.gridlines=a.gridlines||{};var b=a.gridlines,c=a.numberOfSections;b.count===void 0&&c!==void 0&& typeof c==="number"&&(b.count=c+1);a=a.gridlineColor;b.color===void 0&&a!==void 0&&(b.color=a)}},jA=function(a,b,c,d){a[d]=a[d]||{};d=a[d];iA(a,b,d,"color");iA(a,c,d,"fontSize")},iA=function(a,b,c,d){a[b]!==void 0&&c[d]===void 0&&(c[d]=a[b])};Uz.prototype.jd=function(){lA(this);aA(this);cA(this);Xj(this.cb);yk(this)};var aA=function(a){if(a.kb&&!a.kb.Jd){var b=a.kb.scheduler;b.me=Infinity;b.Ef.stop()}Xj(a.kb);if(a.cb&&!a.cb.Jd){b=ju(a.cb);Q(b!=null);var c=ku(a.cb);Q(c!=null);a.Xf=b;c.clear()}Xj(a.Dd);yk(a.jc)},cA=function(a){var b=a.Xf||a.cb&&ju(a.cb);a.Xf=null;b&&b.clear()},dA=function(a){Lc(a.fk,function(b){typeof b==="string"?a.so(b):a.Ao(b)});a.fk=[]};Uz.prototype.Ao=function(a){this.Dc!=null?this.Dc.Ao(a):this.fk.push(a)};var mA=function(a,b){var c=new Op;c.Lj(b);b=Qp(c);c=!1;for(var d=0;d

Firebase Cloud Messaging (FCM) Status Dashboard

Dashboard objective

This dashboard allows you to identify if there are any ongoing service disruptions or outages currently affecting FCM and to monitor FCM service statuses.

View your project's FCM metrics

You can check your project's FCM metrics in the Google Cloud console. Note that individual experiences may differ due to an app's unique infrastructure.
If you're experiencing slow sends and the status dashboard isn't reporting any service issues, your first step should be to investigate issues on your side. We recommend checking out these best practices.
Google Cloud console

Outage status


HTTP v1 API latency status

This measures the latency it takes to respond to your request to send a message. It does not measure the latency to deliver the message. If the latency status is elevated, expect a longer response time.

HTTP v1 API availability status

A measure of request success rate (non-5xx status code responses). If the availability status is degraded, expect a lower success rate.

Service level objectives (SLOs)

We have the following SLOs related to latency and availability:
  • Latency: 95% of HTTP v1 API requests responded under 350ms over a 30-day period
  • Availability: 99% of HTTP v1 API requests responded with a non-5xx status code over a 30-day period
While we don't provide an SLA, we aim to resolve SLO violations quickly. For large outages, please check the Firebase Status Dashboard for updates.

Additional Resources