making progress on a usable dygraph-combined.js; the great quoting begins
authorDan Vanderkam <danvdk@gmail.com>
Tue, 23 Jul 2013 01:43:15 +0000 (21:43 -0400)
committerDan Vanderkam <danvdk@gmail.com>
Tue, 23 Jul 2013 01:43:15 +0000 (21:43 -0400)
dygraph-combined.js
dygraph.js
generate-combined.sh
tests/demo.html
tests/exported-symbols.html

index e6380de..a4df9d7 100644 (file)
@@ -1,7 +1,162 @@
-This is not the file you are looking for.
-A reasonably up-to-date version can be found at http://dygraphs.com/dygraph-combined.js
+/*! @license Copyright 2011 Dan Vanderkam (danvdk@gmail.com) MIT-licensed (http://opensource.org/licenses/MIT) */
+(function() {var k=void 0,q=!0,s=null,v=!1;function aa(){return function(a){return a}}function x(a){return function(){return this[a]}}var y,ba=this;function z(a,d){var b=a.split("."),c=ba;!(b[0]in c)&&c.execScript&&c.execScript("var "+b[0]);for(var e;b.length&&(e=b.shift());)!b.length&&d!==k?c[e]=d:c=c[e]?c[e]:c[e]={}};/*
 
-dygraph-combined.js is a "packed" version of the larger dygraphs JS files. It is
-smaller and loads more quickly, but is harder to debug.
+ Copyright 2012 Dan Vanderkam (danvdk@gmail.com)
+ MIT-licensed (http://opensource.org/licenses/MIT)
 
-To generate this file, run "make" or generate-combined.sh.
+ Copyright 2011 Dan Vanderkam (danvdk@gmail.com)
+ MIT-licensed (http://opensource.org/licenses/MIT)
+
+ Copyright 2011 Dan Vanderkam (danvdk@gmail.com)
+ MIT-licensed (http://opensource.org/licenses/MIT)
+
+ Copyright 2006 Dan Vanderkam (danvdk@gmail.com)
+ MIT-licensed (http://opensource.org/licenses/MIT)
+
+ Copyright 2006 Dan Vanderkam (danvdk@gmail.com)
+ MIT-licensed (http://opensource.org/licenses/MIT)
+
+ Copyright 2011 Dan Vanderkam (danvdk@gmail.com)
+ MIT-licensed (http://opensource.org/licenses/MIT)
+
+ Copyright 2011 Dan Vanderkam (danvdk@gmail.com)
+ MIT-licensed (http://opensource.org/licenses/MIT)
+
+ Copyright 2011 Robert Konigsberg (konigsberg@google.com)
+ MIT-licensed (http://opensource.org/licenses/MIT)
+
+ Copyright 2011 Dan Vanderkam (danvdk@gmail.com)
+ MIT-licensed (http://opensource.org/licenses/MIT)
+*/
+function ca(a,d){if("undefined"!==typeof a.ic)throw"Must un-install old line pattern before installing a new one.";a.ic=q;var b=[0,0],c=[],e=a.beginPath,f=a.lineTo,g=a.moveTo,j=a.stroke;a.Fb=function(){this.beginPath=e;this.lineTo=f;this.moveTo=g;this.stroke=j;this.ic=this.Fb=k};a.beginPath=function(){c=[];e.call(this)};a.moveTo=function(a,b){c.push([[a,b]]);g.call(this,a,b)};a.lineTo=function(a,b){c[c.length-1].push([a,b])};a.stroke=function(){if(0===c.length)j.call(this);else{for(var a=0;a<c.length;a++)for(var e=
+c[a],i=e[0][0],l=e[0][1],m=1;m<e.length;m++){var p=e[m][0],r=e[m][1];this.save();var t=p-i,w=r-l,u=Math.sqrt(t*t+w*w),t=Math.atan2(w,t);this.translate(i,l);g.call(this,0,0);this.rotate(t);i=b[0];for(l=0;u>l;)t=d[i],l=b[1]?l+b[1]:l+t,l>u?(b=[i,l-u],l=u):b=[(i+1)%d.length,0],0===i%2?f.call(this,l,0):g.call(this,l,0),i=(i+1)%d.length;this.restore();i=p;l=r}j.call(this);c=[]}}}CanvasRenderingContext2D.prototype.Fb=function(){throw"Must install a line pattern before uninstalling it.";};
+function B(a){this.j=a;this.o=[];this.Gb={};this.M={};this.fc=this.j.d;this.wa=this.j.Q||{};this.ea=[];this.gc=this.get("highlightSeriesOpts")||{};this.Ja()}
+(function(){var a={y:0,Y:0,y1:0,Y1:0,y2:1,Y2:1};B.prototype.Ja=function(){var d=this.get("labels");if(d){this.ea=d.slice(1);this.o=[{L:[],options:{}}];this.Gb={options:{}};this.M={};if(this.wa.series)for(d=0;d<this.ea.length;d++){c=this.ea[d];e=this.wa.series[c]||{};a:{var b=e.axis;if("string"==typeof b){if(a.hasOwnProperty(b)){f=a[b];break a}throw"Unknown axis : "+b;}if("number"==typeof b){if(0===b||1===b){f=b;break a}throw"Dygraphs only supports two y-axes, indexed from 0-1.";}if(b)throw"Unknown axis : "+
+b;f=0}this.M[c]={ca:d,kb:f,options:e};this.o[f]?this.o[f].L.push(c):this.o[f]={L:[c],options:{}}}else{for(d=b=0;d<this.ea.length;d++){var c=this.ea[d],e=this.wa[c]||{},f=0,g=e.axis;"object"==typeof g&&(f=++b,this.o[f]={L:[c],options:g});g||this.o[0].L.push(c);this.M[c]={ca:d,kb:f,options:e}}for(d=0;d<this.ea.length;d++)if(c=this.ea[d],e=this.M[c].options,g=e.axis,"string"==typeof g){if(!this.M.hasOwnProperty(g)){E("Series "+c+" wants to share a y-axis with series "+g+", which does not define its own axis.");
+return}f=this.M[g].kb;this.M[c].kb=f;this.o[f].L.push(c)}}d=this.wa.axes||{};G(this.o[0].options,d.y||{});1<this.o.length&&G(this.o[1].options,d.y2||{});G(this.Gb.options,d.x||{})}};B.prototype.get=function(a){var b=this.ec(a);return b!==s?b:this.dc(a)};B.prototype.ec=function(a){return this.wa.hasOwnProperty(a)?this.wa[a]:s};B.prototype.dc=function(a){return this.fc.hasOwnProperty(a)?this.fc[a]:H.hasOwnProperty(a)?H[a]:s};B.prototype.T=function(a,b){var c,e;if("number"==typeof b)c=b,e=0===c?"y":
+"y2";else{"y1"==b&&(b="y");if("y"==b)c=0;else if("y2"==b)c=1;else if("x"==b)c=-1;else throw"Unknown axis "+b;e=b}if(c=-1==c?this.Gb:this.o[c])if(c=c.options,c.hasOwnProperty(a))return c[a];c=this.ec(a);if(c!==s)return c;e=H.e[e];return e.hasOwnProperty(a)?e[a]:this.dc(a)};B.prototype.cc=function(a,b){if(b===this.j.ta&&this.gc.hasOwnProperty(a))return this.gc[a];if(!this.M.hasOwnProperty(b))throw"Unknown series: "+b;var c=this.M[b],e=c.options;return e.hasOwnProperty(a)?e[a]:this.T(a,c.yAxis)};B.prototype.Ga=
+function(){return this.o.length};B.prototype.Pa=function(a){return this.M[a].kb};B.prototype.Wc=function(a){return this.o[a].options};B.prototype.Fd=function(a){return this.o[a].L}})();function I(a){this.j=a;this.k=[];this.ha=[];this.R=[];this.Kc=this.Hc=this.G=this.Ie=this.Hb=this.o=s}
+(function(){function a(a,b,c){return c?1-(J(b)-J(a.va))*a.Zd:1-(b-a.va)*a.Jc}I.prototype.a=function(a){return this.j.a(a)};I.prototype.Tc=function(a,b){this.k.push(b);this.ha.push(a)};I.prototype.Yc=function(){var a={x:0,y:0},b=this.j.size();a.f=b.width-a.x-this.a("rightGap");a.c=b.height;K(this.j,"layout",{he:this.j.D,ye:function(b){var e={x:a.x,y:a.y,f:b,c:a.c};a.x+=b;a.f-=b;return e},ze:function(b){var e={x:a.x+a.f-b,y:a.y,f:b,c:a.c};a.f-=b;return e},Ae:function(b){var e={x:a.x,y:a.y,f:a.f,c:b};
+a.y+=b;a.c-=b;return e},xe:function(b){var e={x:a.x,y:a.y+a.c-b,f:a.f,c:b};a.c-=b;return e},ge:function(){return{x:a.x,y:a.y,f:a.f,c:a.c}}});this.G=a};I.prototype.bb=function(a){this.R=[];for(var b=this.a("xValueParser")||function(a){return parseFloat(a)},c=0;c<a.length;c++){var e={x:a[c].x,L:a[c].L,z:k,od:k,width:k,height:k,Md:k,text:k};if(!a[c].z&&a[c].x===k){E("Annotations must have an 'x' property");break}if(a[c].od&&(!a[c].hasOwnProperty("width")||!a[c].hasOwnProperty("height"))){E("Must set width and height when setting annotation.icon property");
+break}G(e,a[c]);e.z||(e.z=b(e.x));this.R.push(e)}};I.prototype.Kd=function(a){this.Hb=a};I.prototype.Ld=function(a){this.o=a};I.prototype.evaluate=function(){this.Pc();this.Qc();this.Rc();this.Oc()};I.prototype.Pc=function(){var a=this.j.K();this.kc=a[0];this.se=a[1];a=a[1]-a[0];this.Gc=0!==a?1/a:1;for(a=0;a<this.o.length;a++){var b=this.o[a];b.va=b.t[0];b.tb=b.t[1];b.Ic=b.tb-b.va;b.Jc=0!==b.Ic?1/b.Ic:1;b.ra.a("logscale")&&(b.lb=J(b.tb)-J(b.va),b.Zd=0!==b.lb?1/b.lb:1,(!isFinite(b.lb)||isNaN(b.lb))&&
+E("axis "+a+" of graph at "+b.ra+" can't be displayed in log scale for range ["+b.va+" - "+b.tb+"]"))}};I.prototype.Qc=function(){for(var d=this.a("connectSeparatedPoints"),b=this.a("stackedGraph"),c=this.a("errorBars")||this.a("customBars"),e=0;e<this.k.length;e++)for(var f=this.k[e],g=this.ha[e],j=this.j.b[this.j.l.Pa(g)],g=this.j.l.cc("logscale",g),n=0;n<f.length;n++){var h=f[n];h.x=(h.z-this.kc)*this.Gc;var i=h.F;b&&(h.Kb=a(j,h.Lc,g),i!==s&&!isNaN(i)&&(i=h.Lc));i===s&&(i=NaN,d||(h.F=NaN));h.y=
+a(j,i,g);c&&(h.Lb=a(j,i-h.$d,g),h.Jb=a(j,i+h.ae,g))}};I.prototype.Rc=function(){var a,b,c;this.Hc=[];for(a=0;a<this.Hb.length;a++)b=this.Hb[a],c=b.label,b=this.Gc*(b.W-this.kc),0<=b&&1>=b&&this.Hc.push([b,c]);this.Kc=[];for(a=0;a<this.o.length;a++)for(var e=this.o[a],f=0;f<e.gb.length;f++)b=e.gb[f],c=b.label,b=this.j.Cb(b.W,a),0<=b&&1>=b&&this.Kc.push([a,b,c])};I.prototype.Oc=function(){var a,b={};for(a=0;a<this.R.length;a++){var c=this.R[a];b[c.z+","+c.L]=c}this.Vc=[];if(this.R&&this.R.length)for(c=
+0;c<this.k.length;c++){var e=this.k[c];for(a=0;a<e.length;a++){var f=e[a],g=f.z+","+f.name;g in b&&(f.fe=b[g],this.Vc.push(f))}}};I.prototype.Cd=function(){delete this.k;delete this.ha;delete this.Hd;delete this.Id;this.k=[];this.ha=[];this.Hd=[];this.Id=[]};return I})();
+function L(a,d,b,c){this.j=a;this.sb=c;this.element=d;this.Xb=b;this.Sb=this.element.parentNode;this.height=this.element.height;this.width=this.element.width;if(!da(this.element))throw"Canvas is not supported.";this.i=c.G;this.Sb.style.position="relative";this.Sb.style.width=this.width+"px";this.j.Xa?this.Nc():ea()||(a=this.j.S,a.beginPath(),a.rect(this.i.x,this.i.y,this.i.f,this.i.c),a.clip(),a=this.j.ba,a.beginPath(),a.rect(this.i.x,this.i.y,this.i.f,this.i.c),a.clip())}var fa;
+(function(){function a(a,b,j,n,h,i,l){var m=a.qa,p=m.getOption("stepPlot",a.La);M(n)||(n=s);var r=m.getOption("drawGapEdgePoints",a.La),t=a.k,w=ga(t,0,t.length,d(m.getOption("connectSeparatedPoints"))),m=n&&2<=n.length,t=a.pa;t.save();m&&ca(t,n);j=c(a,w,j,0,h,r,p,b);e(a,j,i,b,l);m&&t.Fb();t.restore()}var d,b,c,e;L.prototype.clear=function(){if(this.re)try{this.Qb&&(this.Qb.cancel(),this.Qb=s)}catch(a){return}this.Xb.clearRect(0,0,this.width,this.height)};L.prototype.Ed=function(){this.Sc();this.Nb()};
+L.prototype.Nc=function(){function a(d){if(!(0===d.f||0===d.c)){var f=document.createElement("div");f.className=b;f.style.backgroundColor=e;f.style.position="absolute";f.style.left=d.x+"px";f.style.top=d.y+"px";f.style.width=d.f+"px";f.style.height=d.c+"px";c.appendChild(f)}}for(var b="dygraph-clip-div",c=this.j.D,d=c.childNodes.length-1;0<=d;d--)c.childNodes[d].className==b&&c.removeChild(c.childNodes[d]);for(var e=document.bgColor,d=this.j.D;d!=document;){var i=d.currentStyle.backgroundColor;if(i&&
+"transparent"!=i){e=i;break}d=d.parentNode}d=this.i;a({x:0,y:0,f:d.x,c:this.height});a({x:d.x,y:0,f:this.width-d.x,c:d.y});a({x:d.x+d.f,y:0,f:this.width-d.x-d.f,c:this.height});a({x:d.x,y:d.y+d.c,f:this.width-d.x,c:this.height-d.c-d.y})};d=function(a){return a?b:s};b=function(a,b){return a[b].F!==s};c=function(a,b,c,d,e,i,l,m){var p=d=s,r=s,t=[],w=q;a=a.pa;a.beginPath();a.strokeStyle=m;a.lineWidth=c;for(var u=b.ob,F=b.Yb,A=b.xb,D=b.fb;D<F;D++){m=u[D];if(A){for(;D<F&&!A(u,D);)D++;if(D==F)break;m=u[D]}if(m.m===
+s||m.m!=m.m)l&&d!==s&&(a.moveTo(d,p),a.lineTo(m.g,p)),d=p=s;else{r=v;if(i||!d){b.ub=D;b.next();var r=b.sa?b.$a.m:s,P=r===s||r!=r,r=!d&&P;if(i&&(!w&&!d||b.sa&&P))r=q}d!==s?c&&(l&&(a.moveTo(d,p),a.lineTo(m.g,p)),a.lineTo(m.g,m.m)):a.moveTo(m.g,m.m);(e||r)&&t.push([m.g,m.m,m.ca]);d=m.g;p=m.m}w=v}a.stroke();return t};e=function(a,b,d,c,e){for(var i=a.pa,l=0;l<b.length;l++){var m=b[l];i.save();d(a.qa,a.La,i,m[0],m[1],c,e,m[2]);i.restore()}};L.prototype.Sc=function(){for(var a=this.sb.k,b=a.length;b--;)for(var d=
+a[b],c=d.length;c--;){var e=d[c];e.g=this.i.f*e.x+this.i.x;e.m=this.i.c*e.y+this.i.y}};L.prototype.Nb=function(a,b){var d=b||this.Xb,c,e=this.sb.k,i=this.sb.ha,l;this.Rb=this.j.Sa;var m=this.j.getOption("plotter"),p;p=M(p)?m:[p];var r={};for(c=0;c<i.length;c++){l=i[c];var t=this.j.getOption("plotter",l);t!=m&&(r[l]=t)}for(c=0;c<p.length;c++)for(var m=p[c],t=c==p.length-1,w=0;w<e.length;w++)if(l=i[w],!(a&&l!=a)){var u=e[w],F=m;if(l in r)if(t)F=r[l];else continue;var A=this.Rb[l],D=this.j.getOption("strokeWidth",
+l);d.save();d.strokeStyle=A;d.lineWidth=D;F({k:u,La:l,pa:d,color:A,Qd:D,qa:this.j,axis:this.j.b[this.j.l.Pa(l)],Ha:this.i,Gd:w,De:e.length,Nd:a,Uc:e});d.restore()}};fa={td:function(b){var c=b.qa,d=b.La,e=b.Qd,h=c.getOption("strokeBorderWidth",d),i=c.getOption("drawPointCallback",d)||ha.Mb,l=c.getOption("strokePattern",d),m=c.getOption("drawPoints",d),p=c.getOption("pointSize",d);h&&e&&a(b,c.getOption("strokeBorderColor",d),e+2*h,l,m,i,p);a(b,b.color,e,l,m,i,p)},hd:function(a){if(!a.Nd&&0===a.Gd){for(var b=
+a.qa,c=b.Ua().slice(1),e=c.length;0<=e;e--)b.visibility()[e]||c.splice(e,1);a:{for(e=0;e<c.length;e++)if(b.getOption("fillGraph",c[e])){e=q;break a}e=v}if(e){var e=a.pa,h=a.Ha;a=a.Uc;for(var i=a.length,l=b.getOption("fillAlpha"),m=b.getOption("stackedGraph"),p=b.Ta,r={},t,w,i=i-1;0<=i;i--){var u=c[i];if(b.getOption("fillGraph",u)){var F=b.getOption("stepPlot",u),A=p[i],u=b.b[b.l.Pa(u)],u=1+u.va*u.Jc;0>u?u=0:1<u&&(u=1);var u=h.c*u+h.y,D=a[i],D=ga(D,0,D.length,d(b.getOption("connectSeparatedPoints"))),
+P=NaN,U=[-1,-1],A=ia(A);e.fillStyle="rgba("+A.xc+","+A.ra+","+A.Pb+","+l+")";e.beginPath();for(var Pa,Qa=q;D.sa;){var C=D.next();if(ja(C.y)){if(m){if(!Qa&&Pa==C.z)continue;else Qa=v,Pa=C.z;t=r[C.g];A=[C.m,t===k?u:w?t[0]:t];r[C.g]=F?-1===U[0]?[C.m,u]:[C.m,U[0]]:C.m}else A=[C.m,u];isNaN(P)||(e.moveTo(P,U[0]),F?e.lineTo(C.g,U[0]):e.lineTo(C.g,A[0]),w&&t?e.lineTo(C.g,t[1]):e.lineTo(C.g,A[1]),e.lineTo(P,U[1]),e.closePath());U=A;P=C.g}else P=NaN,C.Kb!==s&&!isNaN(C.Kb)&&(r[C.g]=h.c*C.Kb+h.y)}w=F;e.fill()}}}}},
+gd:function(a){var b=a.qa,c=a.La;if(b.getOption("errorBars")||b.getOption("customBars")){b.getOption("fillGraph",c)&&N("Can't use fillGraph option with error bars");var e=a.pa,h=a.color,i=b.getOption("fillAlpha",c),c=b.getOption("stepPlot",c),l=a.k,b=ga(l,0,l.length,d(b.getOption("connectSeparatedPoints"))),m=l=NaN,p=[-1,-1],h=ia(h);e.fillStyle="rgba("+h.xc+","+h.ra+","+h.Pb+","+i+")";for(e.beginPath();b.sa;)h=b.next(),!c&&(h.y===s||h.y===k||isNaN(h.y))||c&&!isNaN(m)&&(m===s||m===k||isNaN(m))?l=NaN:
+(c?(i=[h.Jb,h.Lb],m=h.y):i=[h.Jb,h.Lb],i[0]=a.Ha.c*i[0]+a.Ha.y,i[1]=a.Ha.c*i[1]+a.Ha.y,isNaN(l)||(c?(e.moveTo(l,p[0]),e.lineTo(h.g,p[0]),e.lineTo(h.g,p[1])):(e.moveTo(l,p[0]),e.lineTo(h.g,i[0]),e.lineTo(h.g,i[1])),e.lineTo(l,p[1]),e.closePath()),p=i,l=h.g);e.fill()}}}})();"use strict";
+function O(a,d,b){b=b||{};if(!/MSIE/.test(navigator.userAgent)||window.opera||!("undefined"!=typeof G_vmlCanvasManager&&"complete"!=document.readyState))if(b=ka(b),"string"==typeof a&&(a=document.getElementById(a)),a){this.Xa="undefined"!=typeof G_vmlCanvasManager;this.fa=a;this.ac=d;this.Ka=b.Ab||la;this.yb=-1;this.bc=b.pe||v;this.C=b.Tb||s;this.rb=q;this.J=k;this.nb=[];this.Oa=this.ma=v;a.innerHTML="";""===a.style.width&&b.width&&(a.style.width=b.width+"px");""===a.style.height&&b.height&&(a.style.height=
+b.height+"px");""===a.style.height&&0===a.clientHeight&&(a.style.height=ma+"px",""===a.style.width&&(a.style.width=na+"px"));this.s=a.clientWidth||b.width||0;this.p=a.clientHeight||b.height||0;b.Ee&&(b.oe=q);this.Q={};G(this.Q,b);this.d={};oa(this.d,H);this.na=[];this.cb={};this.$c=[];this.Ia=[];this.Ea={};this.l=new B(this);this.r=[];pa(this);this.wb=[];d=qa.concat(this.getOption("plugins"));for(a=0;a<d.length;a++){var c=new d[a];b={Ad:c,events:{},options:{},ve:{}};var c=c.ee(this),e;for(e in c)b.events[e]=
+c[e];this.wb.push(b)}for(a=0;a<this.wb.length;a++)for(e in d=this.wb[a],d.events)d.events.hasOwnProperty(e)&&(b=[d.Ad,d.events[e]],e in this.Ea?this.Ea[e].push(b):this.Ea[e]=[b]);ra(this);this.fb()}else E("Constructing dygraph with a non-existent div!")}var E,G,J,da,ea,M,ga,ha,N,ia,ja,oa,sa,ta,ua,Q,va,wa,R,xa,ya,za,Aa,Ba,Ca,Da,S,T,Ea,Fa,Ga,V,W,Ha,Ia,Ja,Ka,La,Ma,Na,Oa,Ra,Sa,Ta,X,Ua,Va,Y,Z,Wa,Xa,Ya,Za,$a,ab,bb,cb,db,eb,la=1,na=480,ma=320,fb=["K","M","B","T","Q"],gb="kMGTPEZY".split(""),hb="munpfazy".split("");
+function ib(a,d){var b=d("sigFigs");if(b!==s)return sa(a,b);var b=d("digitsAfterDecimal"),c=d("maxNumberWidth"),e=d("labelsKMB"),f=d("labelsKMG2"),c=0!==a&&(Math.abs(a)>=Math.pow(10,c)||Math.abs(a)<Math.pow(10,-b))?a.toExponential(b):""+ta(a,b);if(e||f){var g,j=[],n=[];e&&(g=1E3,j=fb);f&&(e&&N("Setting both labelsKMB and labelsKMG2. Pick one!"),g=1024,j=gb,n=hb);for(var e=Math.abs(a),h=ua(g,j.length),i=j.length-1;0<=i;i--,h/=g)if(e>=h){c=ta(a/h,b)+j[i];break}f&&(g=String(a.toExponential()).split("e-"),
+2===g.length&&(3<=g[1]&&24>=g[1])&&(c=0<g[1]%3?ta(g[0]/ua(10,g[1]%3),b):Number(g[0]).toFixed(2),c+=n[Math.floor(g[1]/3)-1]))}return c}function jb(a,d,b){return ib(a,b)}var kb="Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" ");
+function lb(a,d){if(d>=O.ce)return""+a.getFullYear();if(d>=O.de)return kb[a.getMonth()]+" "+a.getFullYear();if(0===3600*a.getHours()+60*a.getMinutes()+a.getSeconds()+a.getMilliseconds()||d>=O.be){var b=new Date(a.getTime()+36E5);return Q(b.getDate())+kb[b.getMonth()]}return va(a.getTime())}
+var mb=fa,H={highlightCircleSize:3,highlightSeriesOpts:s,highlightSeriesBackgroundAlpha:0.5,labelsDivWidth:250,labelsDivStyles:{},labelsSeparateLines:v,labelsShowZeroValues:q,labelsKMB:v,labelsKMG2:v,showLabelsOnHighlight:q,digitsAfterDecimal:2,maxNumberWidth:6,sigFigs:s,strokeWidth:1,strokeBorderWidth:0,strokeBorderColor:"white",axisTickSize:3,axisLabelFontSize:14,xAxisLabelWidth:50,yAxisLabelWidth:50,rightGap:5,showRoller:v,xValueParser:wa,delimiter:",",sigma:2,errorBars:v,fractions:v,wilsonInterval:q,
+customBars:v,fillGraph:v,fillAlpha:0.15,connectSeparatedPoints:v,stackedGraph:v,stackedGraphNaNFill:"all",hideOverlayOnMouseOut:q,legend:"onmouseover",stepPlot:v,avoidMinZero:v,xRangePad:0,yRangePad:s,drawAxesAtZero:v,titleHeight:28,xLabelHeight:18,yLabelWidth:18,drawXAxis:q,drawYAxis:q,axisLineColor:"black",axisLineWidth:0.3,gridLineWidth:0.3,axisLabelColor:"black",axisLabelFont:"Arial",axisLabelWidth:50,drawYGrid:q,drawXGrid:q,gridLineColor:"rgb(128,128,128)",interactionModel:s,animatedZooms:v,
+showRangeSelector:v,rangeSelectorHeight:40,rangeSelectorPlotStrokeColor:"#808FAB",rangeSelectorPlotFillColor:"#A7B1C4",plotter:[mb.hd,mb.gd,mb.td],plugins:[],axes:{x:{pixelsPerLabel:60,axisLabelFormatter:lb,valueFormatter:R,drawGrid:q,independentTicks:q,ticker:s},y:{pixelsPerLabel:30,valueFormatter:ib,axisLabelFormatter:jb,drawGrid:q,independentTicks:q,ticker:s},y2:{pixelsPerLabel:30,valueFormatter:ib,axisLabelFormatter:jb,drawGrid:v,independentTicks:v,ticker:s}}},qa=[],nb=v;
+function K(a,d,b){if(d in a.Ea){var c={qa:a,cancelable:v,defaultPrevented:v,preventDefault:function(){if(!c.cancelable)throw"Cannot call preventDefault on non-cancelable event.";c.defaultPrevented=q},uc:v,stopPropagation:function(){c.uc=q}};G(c,b);if(a=a.Ea[d])for(d=a.length-1;0<=d&&!(a[d][1].call(a[d][0],c),c.uc);d--);}}y=O.prototype;
+y.sd=function(a){if(a===s||a===k)return this.ma||this.Oa;if("x"===a)return this.ma;if("y"===a)return this.Oa;throw"axis parameter is ["+a+"] must be null, 'x' or 'y'.";};y.toString=function(){var a=this.fa;return"[Dygraph "+(a&&a.id?a.id:a)+"]"};y.a=function(a,d){return d?this.l.cc(a,d):this.l.get(a)};y.getOption=function(a,d){return this.a(a,d)};
+function ob(a,d){return function(b){var c=a.Q.e;return c&&c[d]&&c[d].hasOwnProperty(b)?c[d][b]:"undefined"!=typeof a.Q[b]?a.Q[b]:(c=a.d.e)&&c[d]&&c[d].hasOwnProperty(b)?c[d][b]:"y"==d&&a.b[0].hasOwnProperty(b)?a.b[0][b]:"y2"==d&&a.b[1].hasOwnProperty(b)?a.b[1][b]:a.a(b)}}y.Ab=x("Ka");y.K=function(){return this.C?this.C:this.jb()};
+y.jb=function(){var a=this.a("xRangePad")/this.n.i.f;if(0===this.pc())return[0-a,1+a];var d=this.q[0][0],b=this.q[this.q.length-1][0];if(a)var c=b-d,d=d-c*a,b=b+c*a;return[d,b]};y.xa=function(a){a=a||0;if(0>a||a>=this.b.length)return s;a=this.b[a];return[a.t[0],a.t[1]]};y.X=function(){for(var a=[],d=0;d<this.b.length;d++)a.push(this.xa(d));return a};y.Td=function(a,d,b){return[this.hb(a),this.ib(d,b)]};y.hb=function(a){if(a===s)return s;var d=this.n.i,b=this.K();return d.x+(a-b[0])/(b[1]-b[0])*d.f};
+y.ib=function(a,d){var b=this.Cb(a,d);if(b===s)return s;var c=this.n.i;return c.y+b*c.c};y.Sd=function(a,d,b){return[this.ia(a),this.ja(d,b)]};y.ia=function(a){if(a===s)return s;var d=this.n.i,b=this.K();return b[0]+(a-d.x)/d.f*(b[1]-b[0])};y.ja=function(a,d){if(a===s)return s;var b=this.n.i,c=this.xa(d);if(this.b[d||0].ud){var b=(a-b.y)/b.c,e=J(c[1]),c=e-b*(e-J(c[0]));return Math.pow(10,c)}return c[0]+(b.y+b.c-a)/b.c*(c[1]-c[0])};
+y.Cb=function(a,d){if(a===s)return s;var b=d||0,c=this.xa(b);this.l.T("logscale",b)?(b=J(c[1]),c=(b-J(a))/(b-J(c[0]))):c=(c[1]-a)/(c[1]-c[0]);return c};y.Ud=function(a){if(a===s)return s;var d=this.K();return(a-d[0])/(d[1]-d[0])};y.vb=function(){return!this.q?0:this.q[0]?this.q[0].length:this.a("labels").length};y.pc=function(){return!this.q?0:this.q.length};y.getValue=function(a,d){return 0>a||a>this.q.length||0>d||d>this.q[a].length?s:this.q[a][d]};
+function pa(a){var d=a.fa;a.D=document.createElement("div");a.D.style.textAlign="left";d.appendChild(a.D);a.w=xa();a.w.style.position="absolute";a.U=pb(a,a.w);qb(a);a.S=ya(a.w);a.ba=ya(a.U);a.D.appendChild(a.U);a.D.appendChild(a.w);a.Za=rb(a);a.h=new I(a);a.lc=function(b){var c=a.h.k;if(!(c===k||c===s)){var d=a.Zb(b),c=d[0],d=d[1],f=v;if(a.a("highlightSeriesOpts")&&!a.Ya){if(a.a("stackedGraph")){for(var g=sb(a,c),j,n,h=0;h<a.h.k.length;++h){var i=g-tb(a,h),l=a.h.k[h];if(!(i>=l.length)){var m=l[i];
+if(V(m)&&(f=m.m,c>m.g&&i+1<l.length?(i=l[i+1],V(i)&&(l=i.g-m.g,0<l&&(l=(c-m.g)/l,f+=l*(i.m-m.m)))):c<m.g&&0<i&&(i=l[i-1],V(i)&&(l=m.g-i.g,0<l&&(l=(m.g-c)/l,f+=l*(i.m-m.m)))),0===h||f<d))j=m,n=h}}c={Ac:g,Cc:a.h.ha[n],Bd:j}}else{j=Infinity;for(var p,r,f=a.h.k.length-1;0<=f;--f){i=a.h.k[f];for(l=0;l<i.length;++l)n=i[l],V(n)&&(p=n.g-c,r=n.m-d,p=p*p+r*r,p<j&&(j=p,g=n,h=f,m=n.ca))}c={Ac:m,Cc:a.h.ha[h],Bd:g}}f=a.setSelection(c.Ac,c.Cc)}else f=a.setSelection(sb(a,c));(c=a.a("highlightCallback"))&&f&&c(b,
+a.J,a.r,a.ua,a.ta)}};a.mc=function(b){var c=b.relatedTarget||b.toElement;if(za(b.target||b.fromElement,a.D)&&!za(c,a.D))a.a("unhighlightCallback")&&a.a("unhighlightCallback")(b),a.a("hideOverlayOnMouseOut")&&!a.Ya&&a.Ra()};a.ya(window,"mouseout",a.mc);a.ya(a.Za,"mousemove",a.lc);a.ab||(a.ab=function(){a.yc()},a.ya(window,"resize",a.ab))}
+function qb(a){a.D.style.width=a.s+"px";a.D.style.height=a.p+"px";a.w.width=a.s;a.w.height=a.p;a.w.style.width=a.s+"px";a.w.style.height=a.p+"px";a.U.width=a.s;a.U.height=a.p;a.U.style.width=a.s+"px";a.U.style.height=a.p+"px"}
+y.bd=function(){function a(a){for(var c in a)"object"===typeof a[c]&&(a[c]=s)}function d(a){for(;a.hasChildNodes();)d(a.firstChild),a.removeChild(a.firstChild)}this.S.restore();this.ba.restore();this.Dd();Aa(window,"mouseout",this.mc);Aa(this.Za,"mousemove",this.lc);Aa(window,"resize",this.ab);this.ab=s;d(this.fa);a(this.h);a(this.n);a(this)};
+function pb(a,d){var b=xa();b.style.position="absolute";b.style.top=d.style.top;b.style.left=d.style.left;b.width=a.s;b.height=a.p;b.style.width=a.s+"px";b.style.height=a.p+"px";return b}function rb(a){if(a.Xa){var d=document.createElement("div");d.style.position="absolute";d.style.backgroundColor="white";d.style.filter="alpha(opacity=0)";d.style.width=a.s+"px";d.style.height=a.p+"px";a.D.appendChild(d);return d}return a.w}y.ld=x("Ta");
+y.nd=function(a){for(var d=-1,b=this.Ua(),c=1;c<b.length;c++)if(b[c]==a){d=c;break}return-1==d?s:{name:a,ie:d,visible:this.visibility()[d-1],color:this.Sa[a],axis:1+this.l.Pa(a)}};
+function ub(a){a.P||(a.P=document.createElement("input"),a.P.type="text",a.P.style.display="none",a.D.appendChild(a.P));var d=a.a("showRoller")?"block":"none",b=a.n.i,d={position:"absolute",zIndex:10,top:b.y+b.c-25+"px",left:b.x+1+"px",display:d};a.P.size="2";a.P.value=a.Ka;for(var c in d)d.hasOwnProperty(c)&&(a.P.style[c]=d[c]);a.P.onchange=function(){a.Ob(a.P.value)}}
+function ra(a){function d(c){return function(d){c(d,a,b)}}var b={da:v,O:v,Wa:v,H:s,I:s,u:s,v:s,Ca:s,sc:s,tc:s,rc:s,Aa:v,pb:s,Fc:s,oa:s,vc:0,wc:0,Z:s,Qa:s,Ec:new Ca,qb:function(a,b,c){a.preventDefault?a.preventDefault():(a.returnValue=v,a.cancelBubble=q);b=Da(b.w);c.vc=b.x;c.wc=b.y;c.H=S(a,c);c.I=T(a,c);c.Aa=v;c.Ec.Zc()}},c=a.a("interactionModel"),e;for(e in c)c.hasOwnProperty(e)&&a.ya(a.Za,e,d(c[e]));a.ya(document,"mouseup",function(){if(b.da||b.O)b.da=v,b.H=s,b.I=s;if(b.O){b.O=v;b.le=s;b.oa=s;for(var c=
+0;c<a.b.length;c++)delete a.b[c].me,delete a.b[c].Da}b.Ec.Vd()})}
+y.Wb=function(a,d,b,c,e,f,g,j){var n=this.S;1==f?n.clearRect(Math.min(d,g),this.h.G.y,Math.abs(d-g),this.h.G.c):2==f&&n.clearRect(this.h.G.x,Math.min(c,j),this.h.G.f,Math.abs(c-j));1==a?b&&d&&(n.fillStyle="rgba(128,128,128,0.33)",n.fillRect(Math.min(d,b),this.h.G.y,Math.abs(b-d),this.h.G.c)):2==a&&(e&&c)&&(n.fillStyle="rgba(128,128,128,0.33)",n.fillRect(this.h.G.x,Math.min(c,e),this.h.G.f,Math.abs(e-c)));this.Xa&&(this.Ba=[a,d,b,c,e,0,0,0])};
+function vb(a){a.Ba=s;a.S.clearRect(0,0,a.w.width,a.w.height)}function wb(a,d,b){var c=a.K(),e=[d,b];a.ma=q;xb(a,c,e,s,s,function(){a.a("zoomCallback")&&a.a("zoomCallback")(d,b,a.X())})}function yb(a,d,b){a.Ba=s;for(var c=a.X(),e=[],f=0;f<a.b.length;f++){var g=a.ja(d,f),j=a.ja(b,f);e.push([j,g])}a.Oa=q;xb(a,s,s,c,e,function(){if(a.a("zoomCallback")){var b=a.K();a.a("zoomCallback")(b[0],b[1],a.X())}})}
+y.zb=function(){var a=v,d=v,b=v;this.C!==s&&(d=a=q);for(var c=0;c<this.b.length;c++)"undefined"!==typeof this.b[c].B&&this.b[c].B!==s&&(b=a=q);this.Ra();if(a){this.Oa=this.ma=v;var e=this.q[0][0],f=this.q[this.q.length-1][0];if(this.a("animatedZooms")){var g=a=s,j=s,n=s;d&&(a=this.K(),g=[e,f]);if(b){j=this.X();c=zb(this,this.Bb,s).$b;Ab(this,c);n=[];for(c=0;c<this.b.length;c++)d=this.b[c],n.push(d.A!==s&&d.A!==k?d.A:d.Fa)}var h=this;xb(this,a,g,j,n,function(){h.C=s;for(var a=0;a<h.b.length;a++)h.b[a].B!==
+s&&delete h.b[a].B;h.a("zoomCallback")&&h.a("zoomCallback")(e,f,h.X())})}else{this.C=s;for(c=0;c<this.b.length;c++)this.b[c].B!==s&&delete this.b[c].B;Bb(this);this.a("zoomCallback")&&this.a("zoomCallback")(e,f,this.X())}}};
+function xb(a,d,b,c,e,f){var g=a.a("animatedZooms")?12:1,j=[],n=[],h,i;if(d!==s&&b!==s)for(h=1;h<=g;h++)i=(1-Math.pow(1.5,-h))/(1-Math.pow(1.5,-g)),j[h-1]=[d[0]*(1-i)+i*b[0],d[1]*(1-i)+i*b[1]];if(c!==s&&e!==s)for(h=1;h<=g;h++){i=(1-Math.pow(1.5,-h))/(1-Math.pow(1.5,-g));d=[];for(b=0;b<a.b.length;b++)d.push([c[b][0]*(1-i)+i*e[b][0],c[b][1]*(1-i)+i*e[b][1]]);n[h-1]=d}Ea(function(b){if(n.length)for(var c=0;c<a.b.length;c++){var d=n[b][c];a.b[c].B=[d[0],d[1]]}j.length&&(a.C=j[b]);Bb(a)},g,200/g,f)}
+y.kd=function(){return this.n.i};y.Zb=function(a){if(a.offsetX&&a.offsetY)return[a.offsetX,a.offsetY];var d=Da(this.Za);return[Fa(a)-d.x,Ga(a)-d.y]};function sb(a,d){for(var b=Infinity,c=-1,e=a.h.k,f=0;f<e.length;f++)for(var g=e[f],j=g.length,n=0;n<j;n++){var h=g[n];if(V(h,q)){var i=Math.abs(h.g-d);i<b&&(b=i,c=h.ca)}}return c}function tb(a,d){if(a.na[d])return a.na[d][0];for(var b=0;b<a.na.length;b++)if(a.na[b]!==k)return a.na[b][0];return 0}
+function Cb(a,d){a.N===k&&(a.N=0);a.mb===k&&(a.mb=0);var b=a.N,b=0>d?b:10-b;if(0>=b)a.N&&Db(a,1);else{var c=++a.mb;Ea(function(){a.mb==c&&(a.N+=d,0===a.N?a.Ra():Db(a,a.N/10))},b,30,function(){})}}
+function Db(a,d){K(a,"select",{Ce:a.J,Be:a.r});var b,c=a.S;if(a.a("highlightSeriesOpts")){c.clearRect(0,0,a.s,a.p);if(b=1-a.a("highlightSeriesBackgroundAlpha")){if(d===k){Cb(a,1);return}c.fillStyle="rgba(255,255,255,"+b*d+")";c.fillRect(0,0,a.s,a.p)}a.n.Nb(a.ta,c)}else if(0<=a.yb){var e=0,f=a.a("labels");for(b=1;b<f.length;b++){var g=a.a("highlightCircleSize",f[b]);g>e&&(e=g)}c.clearRect(a.yb-e-1,0,2*e+2,a.p)}a.Xa&&a.Ba&&O.prototype.Wb.apply(a,a.Ba);if(0<a.r.length){e=a.r[0].g;c.save();for(b=0;b<
+a.r.length;b++)if(f=a.r[b],ja(f.m)){var g=a.a("highlightCircleSize",f.name),j=a.a("drawHighlightPointCallback",f.name),n=a.n.Rb[f.name];j||(j=ha.Mb);c.lineWidth=a.a("strokeWidth",f.name);c.strokeStyle=n;c.fillStyle=n;j(a.ra,f.name,c,e,f.m,n,g,f.ca)}c.restore();a.yb=e}}
+y.setSelection=function(a,d,b){this.r=[];var c=v;if(a!==v&&0<=a){a!=this.ua&&(c=q);this.ua=a;for(var e=0;e<this.h.k.length;++e){var f=this.h.k[e],g=a-tb(this,e);g<f.length&&(f=f[g],f.F!==s&&this.r.push(f))}}else 0<=this.ua&&(c=q),this.ua=-1;this.J=this.r.length?this.r[0].z:-1;d!==k&&(this.ta!==d&&(c=q),this.ta=d);b!==k&&(this.Ya=b);c&&Db(this,k);return c};
+y.Ra=function(){K(this,"deselect",{});this.Ya=v;this.N?Cb(this,-1):(this.S.clearRect(0,0,this.s,this.p),this.N=0,this.r=[],this.ua=this.J=-1,this.ta=s)};y.getSelection=function(){if(!this.r||1>this.r.length)return-1;for(var a=0;a<this.h.k.length;a++)for(var d=this.h.k[a],b=0;b<d.length;b++)if(d[b].x==this.r[0].x)return d[b].ca;return-1};y.md=x("ta");y.rd=x("Ya");
+function Eb(a,d){var b=s,c=s,e,f;if(a.a("errorBars")||a.a("customBars"))for(e=0;e<d.length;e++){if(f=d[e][1][0],!(f===s||isNaN(f))){var g=f-d[e][1][1],j=f+d[e][1][2];g>f&&(g=f);j<f&&(j=f);if(c===s||j>c)c=j;if(b===s||g<b)b=g}}else for(e=0;e<d.length;e++)if(f=d[e][1],!(f===s||isNaN(f))){if(c===s||f>c)c=f;if(b===s||f<b)b=f}return[b,c]}
+function $(a){var d=new Date;a.h.Yc();var b,c,e;if(a.b!==k&&a.Q.hasOwnProperty("valueRange")===v){b=[];for(c=0;c<a.b.length;c++)b.push(a.b[c].B)}a.b=[];for(c=0;c<a.l.Ga();c++)e={ra:a},G(e,a.l.Wc(c)),a.b[c]=e;if(e=a.a("valueRange"))a.b[0].A=e;if(b!==k){e=Math.min(b.length,a.b.length);for(c=0;c<e;c++)a.b[c].B=b[c]}for(c=0;c<a.b.length;c++)if(0===c){if(e=ob(a,"y"+(c?"2":"")),e=e("valueRange"))a.b[c].A=e}else if((b=a.Q.e)&&b.Yd)if(e=b.Yd.A)a.b[c].A=e;a.n&&(K(a,"clearChart"),a.n.clear());a.rb||(a.S.restore(),
+a.ba.restore());a.S.save();a.ba.save();a.n=new L(a,a.U,a.ba,a.h);ub(a);K(a,"predraw");a.Bb=[s];for(b=1;b<a.vb();b++){var f=a.a("logscale"),g=a;c=a.q;e=b;for(var j=[],n=g.a("errorBars"),g=g.a("customBars"),h=0;h<c.length;h++){var i=c[h][0],l=c[h][e];if(f)if(n||g)for(var m=0;m<l.length;m++){if(0>=l[m]){l=s;break}}else 0>=l&&(l=s);l!==s?j.push([i,l]):j.push([i,n?[s,s]:g?[s,s,s]:l])}c=j;a:{g=a;e=a.Ka;e=Math.min(e,c.length);f=[];n=g.a("sigma");h=m=i=l=h=j=i=h=k;if(g.bc)for(j=m=l=0;j<c.length;j++){l+=c[j][1][0];
+m+=c[j][1][1];0<=j-e&&(l-=c[j-e][1][0],m-=c[j-e][1][1]);var p=c[j][0],i=m?l/m:0;if(g.a("errorBars"))if(g.a("wilsonInterval"))if(m){var r=0>i?0:i,h=m,i=n*Math.sqrt(r*(1-r)/h+n*n/(4*h*h)),t=1+n*n/m,h=(r+n*n/(2*m)-i)/t,i=(r+n*n/(2*m)+i)/t;f[j]=[p,[100*r,100*(r-h),100*(i-r)]]}else f[j]=[p,[0,0,0]];else h=m?n*Math.sqrt(i*(1-i)/m):1,f[j]=[p,[100*i,100*h,100*h]];else f[j]=[p,100*i]}else if(g.a("customBars"))for(j=g=i=n=h=0;j<c.length;j++)m=c[j][1],l=m[1],f[j]=[c[j][0],[l,l-m[0],m[2]-l]],l!==s&&!isNaN(l)&&
+(h+=m[0],n+=l,i+=m[2],g+=1),0<=j-e&&(l=c[j-e],l[1][1]!==s&&!isNaN(l[1][1])&&(h-=l[1][0],n-=l[1][1],i-=l[1][2],g-=1)),f[j]=g?[c[j][0],[1*n/g,1*(n-h)/g,1*(i-n)/g]]:[c[j][0],[s,s,s]];else if(g.a("errorBars"))for(j=0;j<c.length;j++){m=g=i=0;for(h=Math.max(0,j-e+1);h<j+1;h++)l=c[h][1][0],l===s||isNaN(l)||(m++,i+=c[h][1][0],g+=Math.pow(c[h][1][1],2));m?(h=Math.sqrt(g)/m,f[j]=[c[j][0],[i/m,n*h,n*h]]):(g=1==e?c[j][1][0]:s,f[j]=[c[j][0],[g,g,g]])}else{if(1==e)break a;for(j=0;j<c.length;j++){m=i=0;for(h=Math.max(0,
+j-e+1);h<j+1;h++)l=c[h][1],l===s||isNaN(l)||(m++,i+=c[h][1]);f[j]=m?[c[j][0],i/m]:[c[j][0],s]}}c=f}a.Bb.push(c)}Bb(a);a.ne=new Date-d}function Fb(a,d,b,c){for(var e=[],f=0;f<a.length;++f){var g=a[f],j=d?g[1][0]:g[1],j=j===s?s:W(j),j={x:NaN,y:NaN,z:W(g[0]),F:j,name:b,ca:f+c};d&&(j.Lb=NaN,j.Jb=NaN,j.$d=W(g[1][1]),j.ae=W(g[1][2]));e.push(j)}return e}
+function Gb(a,d,b,c){for(var e=s,f=s,g=s,j=-1,n=0;n<a.length;++n){var h=a[n],i=h.z;d[i]===k&&(d[i]=0);var l=h.F;if(isNaN(l)||l===s){if(!(j>=n))for(l=n;l<a.length;++l)if(g=s,!isNaN(a[l].F)&&a[l].F!==s){j=l;g=a[l];break}l=f&&g&&"none"!=c?f.F+(g.F-f.F)*((i-f.z)/(g.z-f.z)):f&&"all"==c?f.F:g&&"all"==c?g.F:0}else f=h;var m=d[i];e!=i&&(m+=l,d[i]=m);e=i;h.Lc=m;m>b[1]&&(b[1]=m);m<b[0]&&(b[0]=m)}}
+function zb(a,d,b){function c(a){return m?l?a[1][1]===s:i?a[1][0]===s:v:a[1]===s}var e=[],f=[],g=[],j={},n,h,i=a.a("errorBars"),l=a.a("customBars"),m=i||l,p;for(n=d.length-1;1<=n;n--)if(a.visibility()[n-1]){if(b){p=d[n];var r=b[0],t=b[1],w=s,u=s;for(h=0;h<p.length;h++)p[h][0]>=r&&w===s&&(w=h),p[h][0]<=t&&(u=h);w===s&&(w=0);h=w;for(r=q;r&&0<h;)h--,r=c(p[h]);u===s&&(u=p.length-1);t=u;for(r=q;r&&t<p.length-1;)t++,r=c(p[t]);h!==w&&(w=h);t!==u&&(u=t);e[n-1]=[w,u];p=p.slice(w,u+1)}else p=d[n],e[n-1]=[0,
+p.length-1];w=a.a("labels")[n];u=Eb(a,p);p=Fb(p,m,w,e[n-1][0]);a.a("stackedGraph")&&Gb(p,g,u,a.a("stackedGraphNaNFill"));j[w]=u;f[n]=p}return{k:f,$b:j,Xc:e}}
+function Bb(a){var d=new Date,b=a.rb;a.rb=v;a.h.Cd();var c=a.Ua(),e=c.length-1;a.Ta=[];a.Sa={};var f=a.a("colors"),g;if(f)for(g=0;g<e;g++)a.visibility()[g]&&(h=f[g%f.length],a.Ta.push(h),a.Sa[c[1+g]]=h);else{var f=a.a("colorSaturation")||1,j=a.a("colorValue")||0.5,n=Math.ceil(e/2);for(g=1;g<=e;g++)if(a.visibility()[g-1]){var h=Ba(1*(g%2?Math.ceil(g/2):n+g/2)/(1+e),f,j);a.Ta.push(h);a.Sa[c[g]]=h}}a.d.we=0.5*a.a("highlightCircleSize");g=zb(a,a.Bb,a.C);c=g.k;e=g.$b;a.na=g.Xc;a.cb={};g=a.a("labels");
+0<g.length&&(a.cb[g[0]]=0);h=0;for(f=1;f<c.length;f++)a.cb[g[f]]=f,a.visibility()[f-1]&&(a.h.Tc(g[f],c[f]),a.$c[f]=h++);Ab(a,e);a.h.Ld(a.b);c=a.C?[a.C[0],a.C[1]]:a.jb();e=ob(a,"x");c=e("ticker")(c[0],c[1],a.s,e,a);a.h.Kd(c);a.ma=a.ma;a.h.evaluate();Hb(a,b);a.a("timingName")&&(b=new Date,Ha(a.a("timingName")+" - drawGraph: "+(b-d)+"ms"))}
+function Hb(a,d){K(a,"clearChart");a.n.clear();a.a("underlayCallback")&&a.a("underlayCallback")(a.ba,a.h.G,a,a);var b={canvas:a.U,pa:a.ba};K(a,"willDrawChart",b);a.n.Ed();K(a,"didDrawChart",b);a.ua=-1;a.w.getContext("2d").clearRect(0,0,a.w.width,a.w.height);a.a("drawCallback")!==s&&a.a("drawCallback")(a,d)}y.Ga=function(){return this.l.Ga()};
+function Ab(a,d){for(var b=a.l.Ga(),c,e,f,g,j,n=0;n<b;n++){var h=a.b[n],i=a.l.T("logscale",n),l=a.l.T("includeZero",n),m=a.l.T("independentTicks",n);f=a.l.Fd(n);c=q;g=0.1;a.a("yRangePad")!==s&&(c=v,g=a.a("yRangePad")/a.n.i.c);if(0===f.length)h.Fa=[0,1];else{var p=Infinity,r=-Infinity,t;for(e=0;e<f.length;e++)d.hasOwnProperty(f[e])&&(t=d[f[e]][0],t!==s&&(p=Math.min(t,p)),t=d[f[e]][1],t!==s&&(r=Math.max(t,r)));l&&!i&&(0<p&&(p=0),0>r&&(r=0));Infinity==p&&(p=0);-Infinity==r&&(r=1);e=r-p;0===e&&(e=0!==
+r?Math.abs(r):r=1);i?c?(i=r+g*e,f=p):(f=Math.exp(Math.log(e)*g),i=r*f,f=p/f):(i=r+g*e,f=p-g*e,c&&!a.a("avoidMinZero")&&(0>f&&0<=p&&(f=0),0<i&&0>=r&&(i=0)));h.Fa=[f,i]}h.B?h.t=[h.B[0],h.B[1]]:h.A?(p=isNaN(parseFloat(h.A[0]))?h.Fa[0]:h.A[0],r=isNaN(parseFloat(h.A[1]))?h.Fa[1]:h.A[1],c||(h.ud?(f=Math.exp(Math.log(e)*g),p*=f,r/=f):(e=r-p,p-=e*g,r+=e*g)),h.t=[p,r]):h.t=h.Fa;m&&(h.independentTicks=m,c=ob(a,"y"+(n?"2":"")),g=c("ticker"),h.gb=g(h.t[0],h.t[1],a.p,c,a),j||(j=h))}if(j===k)throw'Configuration Error: At least one axis has to have the "independentTicks" option activated.';
+for(n=0;n<b;n++)if(h=a.b[n],!h.independentTicks){c=ob(a,"y"+(n?"2":""));g=c("ticker");m=j.gb;e=j.t[1]-j.t[0];p=h.t[1]-h.t[0];r=[];for(f=0;f<m.length;f++)r.push(h.t[0]+(m[f].W-j.t[0])/e*p);h.gb=g(h.t[0],h.t[1],a.p,c,a,r)}}function Ib(a,d){var b=v,c=d.indexOf("-");0<c&&"e"!=d[c-1]&&"E"!=d[c-1]||0<=d.indexOf("/")||isNaN(parseFloat(d))?b=q:8==d.length&&("19700101"<d&&"20371231">d)&&(b=q);Jb(a,b)}
+function Jb(a,d){d?(a.d.Ib=wa,a.d.e.x.ka=R,a.d.e.x.Na=Ia,a.d.e.x.za=lb):(a.d.Ib=function(a){return parseFloat(a)},a.d.e.x.ka=aa(),a.d.e.x.Na=Ja,a.d.e.x.za=a.d.e.x.ka)}
+function Kb(a,d){var b=[],c=d.split(Ka(d)||"\n"),e,f,g=a.a("delimiter");-1==c[0].indexOf(g)&&0<=c[0].indexOf("\t")&&(g="\t");f=0;"labels"in a.Q||(f=1,a.d.labels=c[0].split(g),a.l.Ja());for(var j,n=v,h=a.a("labels").length,i=v,l=f;l<c.length;l++){var m=c[l];if(0!==m.length&&"#"!=m[0]){var p=m.split(g);if(!(2>p.length)){var r=[];n||(Ib(a,p[0]),j=a.a("xValueParser"),n=q);r[0]=j(p[0],a);if(a.bc)for(f=1;f<p.length;f++)e=p[f].split("/"),2!=e.length?(E('Expected fractional "num/den" values in CSV data but found a value \''+
+p[f]+"' on line "+(1+l)+" ('"+m+"') which is not of this form."),r[f]=[0,0]):r[f]=[W(e[0],l,m),W(e[1],l,m)];else if(a.a("errorBars")){1!=p.length%2&&E("Expected alternating (value, stdev.) pairs in CSV data but line "+(1+l)+" has an odd number of values ("+(p.length-1)+"): '"+m+"'");for(f=1;f<p.length;f+=2)r[(f+1)/2]=[W(p[f],l,m),W(p[f+1],l,m)]}else if(a.a("customBars"))for(f=1;f<p.length;f++){var t=p[f];/^ *$/.test(t)?r[f]=[s,s,s]:(e=t.split(";"),3==e.length?r[f]=[W(e[0],l,m),W(e[1],l,m),W(e[2],
+l,m)]:N('When using customBars, values must be either blank or "low;center;high" tuples (got "'+t+'" on line '+(1+l)))}else for(f=1;f<p.length;f++)r[f]=W(p[f],l,m);0<b.length&&r[0]<b[b.length-1][0]&&(i=q);r.length!=h&&E("Number of columns in line "+l+" ("+r.length+") does not agree with number of labels ("+h+") "+m);if(0===l&&a.a("labels")){e=q;for(f=0;e&&f<r.length;f++)r[f]&&(e=v);if(e){N("The dygraphs 'labels' option is set, but the first row of CSV data ('"+m+"') appears to also contain labels. Will drop the CSV labels and use the option labels.");
+continue}}b.push(r)}}}i&&(N("CSV is out of order; order it correctly to speed loading."),b.sort(function(a,b){return a[0]-b[0]}));return b}
+function Lb(a,d){if(0===d.length)return E("Can't plot empty data set"),s;if(0===d[0].length)return E("Data set cannot contain an empty row"),s;var b;if(a.a("labels")===s){N("Using default labels. Set labels explicitly via 'labels' in the options parameter");a.d.labels=["X"];for(b=1;b<d[0].length;b++)a.d.labels.push("Y"+b);a.l.Ja()}else if(b=a.a("labels"),b.length!=d[0].length)return E("Mismatch between number of labels ("+b+") and number of columns in array ("+d[0].length+")"),s;if(La(d[0][0])){a.d.e.x.ka=
+R;a.d.e.x.Na=Ia;a.d.e.x.za=lb;var c=Ma(d);for(b=0;b<d.length;b++){if(0===c[b].length)return E("Row "+(1+b)+" of data is empty"),s;if(c[b][0]===s||"function"!=typeof c[b][0].getTime||isNaN(c[b][0].getTime()))return E("x value in row "+(1+b)+" is not a Date"),s;c[b][0]=c[b][0].getTime()}return c}a.d.e.x.ka=aa();a.d.e.x.Na=Ja;a.d.e.x.za=jb;return d}
+function Mb(a,d){function b(a){var b=String.fromCharCode(65+a%26);for(a=Math.floor(a/26);0<a;)b=String.fromCharCode(65+(a-1)%26)+b.toLowerCase(),a=Math.floor((a-1)/26);return b}var c=d.getNumberOfColumns(),e=d.getNumberOfRows(),f=d.getColumnType(0);if("date"==f||"datetime"==f)a.d.Ib=wa,a.d.e.x.ka=R,a.d.e.x.Na=Ia,a.d.e.x.za=lb;else if("number"==f)a.d.Ib=function(a){return parseFloat(a)},a.d.e.x.ka=aa(),a.d.e.x.Na=Ja,a.d.e.x.za=a.d.e.x.ka;else{E("only 'date', 'datetime' and 'number' types are supported for column 1 of DataTable input (Got '"+
+f+"')");return}var g=[],j={},n=v,h,i;for(h=1;h<c;h++)i=d.getColumnType(h),"number"==i?g.push(h):"string"==i&&a.a("displayAnnotations")?(n=g[g.length-1],j.hasOwnProperty(n)?j[n].push(h):j[n]=[h],n=q):E("Only 'number' is supported as a dependent type with Gviz. 'string' is only supported if displayAnnotations is true");c=[d.getColumnLabel(0)];for(h=0;h<g.length;h++)c.push(d.getColumnLabel(g[h])),a.a("errorBars")&&(h+=1);a.d.labels=c;var c=c.length,l=[],m=v,p=[];for(h=0;h<e;h++){var r=[];if("undefined"===
+typeof d.getValue(h,0)||d.getValue(h,0)===s)N("Ignoring row "+h+" of DataTable because of undefined or null first column.");else{"date"==f||"datetime"==f?r.push(d.getValue(h,0).getTime()):r.push(d.getValue(h,0));if(a.a("errorBars"))for(i=0;i<c-1;i++)r.push([d.getValue(h,1+2*i),d.getValue(h,2+2*i)]);else{for(i=0;i<g.length;i++){var t=g[i];r.push(d.getValue(h,t));if(n&&j.hasOwnProperty(t)&&d.getValue(h,j[t][0])!==s){var w={};w.L=d.getColumnLabel(t);w.z=r[0];w.Md=b(p.length);w.text="";for(var u=0;u<
+j[t].length;u++)u&&(w.text+="\n"),w.text+=d.getValue(h,j[t][u]);p.push(w)}}for(i=0;i<r.length;i++)isFinite(r[i])||(r[i]=s)}0<l.length&&r[0]<l[l.length-1][0]&&(m=q);l.push(r)}}m&&(N("DataTable is out of order; order it correctly to speed loading."),l.sort(function(a,b){return a[0]-b[0]}));a.q=l;0<p.length&&a.bb(p,q);a.l.Ja()}
+y.fb=function(){var a=this.ac;"function"==typeof a&&(a=a());if(M(a))this.q=Lb(this,a),$(this);else if("object"==typeof a&&"function"==typeof a.getColumnRange)Mb(this,a),$(this);else if("string"==typeof a)if(Ka(a))this.q=Kb(this,a),$(this);else{var d=new XMLHttpRequest,b=this;d.onreadystatechange=function(){if(4==d.readyState&&(200===d.status||0===d.status))b.q=Kb(b,d.responseText),$(b)};d.open("GET",a,q);d.send(s)}else E("Unknown data format: "+typeof a)};
+y.Xd=function(a,d){var b=d||v,c=a.file,e=ka(a);"rollPeriod"in e&&(this.Ka=e.Ab);"dateWindow"in e&&(this.C=e.Tb,"isZoomedIgnoreProgrammaticZoom"in e||(this.ma=e.Tb!==s));"valueRange"in e&&!("isZoomedIgnoreProgrammaticZoom"in e)&&(this.Oa=e.A!==s);var f=Na(this.a("labels"),e);oa(this.Q,e);this.l.Ja();c?(this.ac=c,b||this.fb()):b||(f?$(this):Hb(this,v))};
+function ka(a){function d(c,d,g){if("undefined"!=typeof a[c]){N("Option "+c+" is deprecated. Use the "+g+" option for the "+d+" axis instead. (e.g. { axes : { "+d+" : { "+g+" : ... } } } (see http://dygraphs.com/per-axis.html for more information.");var j=a[c];b.e||(b.e={});b.e[d]||(b.e[d]={});b.e[d][g]=j;delete b[c]}}var b={},c;for(c in a)"file"!=c&&a.hasOwnProperty(c)&&(b[c]=a[c]);d("xValueFormatter","x","valueFormatter");d("pixelsPerXLabel","x","pixelsPerLabel");d("xAxisLabelFormatter","x","axisLabelFormatter");
+d("xTicker","x","ticker");d("yValueFormatter","y","valueFormatter");d("pixelsPerYLabel","y","pixelsPerLabel");d("yAxisLabelFormatter","y","axisLabelFormatter");d("yTicker","y","ticker");return b}
+y.yc=function(a,d){if(!this.zc){this.zc=q;a===s!=(d===s)&&(N("Dygraph.resize() should be called with zero parameters or two non-NULL parameters. Pretending it was zero."),a=d=s);var b=this.s,c=this.p;a?(this.fa.style.width=a+"px",this.fa.style.height=d+"px",this.s=a,this.p=d):(this.s=this.fa.clientWidth,this.p=this.fa.clientHeight);if(b!=this.s||c!=this.p)qb(this),$(this);this.zc=v}};y.Ob=function(a){this.Ka=a;$(this)};
+y.visibility=function(){this.a("visibility")||(this.d.visibility=[]);for(;this.a("visibility").length<this.vb()-1;)this.d.visibility.push(q);return this.a("visibility")};y.Jd=function(a,d){var b=this.visibility();0>a||a>=b.length?N("invalid series number in setVisibility: "+a):(b[a]=d,$(this))};y.size=function(){return{width:this.s,height:this.p}};
+y.bb=function(a,d){a:if(!nb){var b=document.createElement("style");b.type="text/css";document.getElementsByTagName("head")[0].appendChild(b);for(b=0;b<document.styleSheets.length;b++)if(!document.styleSheets[b].disabled){var c=document.styleSheets[b];try{c.insertRule?c.insertRule(".dygraphDefaultAnnotation { border: 1px solid black; background-color: white; text-align: center; }",c.cssRules?c.cssRules.length:0):c.addRule&&c.addRule(".dygraphDefaultAnnotation","border: 1px solid black; background-color: white; text-align: center;");
+nb=q;break a}catch(e){}}N("Unable to add default annotation CSS rule; display may be off.")}this.nb=a;this.h?(this.h.bb(this.nb),d||$(this)):N("Tried to setAnnotations before dygraph was ready. Try setting them in a drawCallback. See dygraphs.com/tests/annotation.html")};y.R=x("nb");y.Ua=function(){var a=this.a("labels");return a?a.slice():s};y.pd=function(a){return this.cb[a]};
+(function(){Oa=Math.log(10);J=function(a){return Math.log(a)/Oa};Ra=function(a,b){if("undefined"!=typeof window.console){var c=window.console,e=function(a,b,c){b&&"function"==typeof b?b.call(a,c):a.log(c)};switch(a){case 1:e(c,c.debug,"dygraphs: "+b);break;case 2:e(c,c.info,"dygraphs: "+b);break;case 3:e(c,c.warn,"dygraphs: "+b);break;case 3:e(c,c.error,"dygraphs: "+b)}}};Ha=function(a){Ra(2,a)};N=function(a){Ra(3,a)};E=function(a){Ra(3,a)};ya=function(a){return a.getContext("2d")};Sa=function(a,
+b,c){a.addEventListener?a.addEventListener(b,c,v):(a[b+c]=function(){c(window.event)},a.attachEvent("on"+b,a[b+c]))};O.prototype.ya=function(a,b,c){Sa(a,b,c);this.Ia.push({cd:a,type:b,jd:c})};Aa=function(a,b,c){if(a.removeEventListener)a.removeEventListener(b,c,v);else{try{a.detachEvent("on"+b,a[b+c])}catch(e){}a[b+c]=s}};O.prototype.Dd=function(){if(this.Ia)for(var a=0;a<this.Ia.length;a++){var b=this.Ia[a];Aa(b.cd,b.type,b.jd)}this.Ia=[]};Ba=function(a,b,c){var e,f,g;if(0===b)g=f=e=c;else{var j=
+Math.floor(6*a),n=6*a-j;a=c*(1-b);var h=c*(1-b*n);b=c*(1-b*(1-n));switch(j){case 1:e=h;f=c;g=a;break;case 2:e=a;f=c;g=b;break;case 3:e=a;f=h;g=c;break;case 4:e=b;f=a;g=c;break;case 5:e=c;f=a;g=h;break;case 6:case 0:e=c,f=b,g=a}}e=Math.floor(255*e+0.5);f=Math.floor(255*f+0.5);g=Math.floor(255*g+0.5);return"rgb("+e+","+f+","+g+")"};Da=function(a){var b=0,c=0;if(a.offsetParent)for(var e=a;;){var f="0",g="0";window.getComputedStyle&&(g=window.getComputedStyle(e,s),f=g.borderLeft||"0",g=g.borderTop||"0");
+b+=parseInt(f,10);c+=parseInt(g,10);b+=e.offsetLeft;c+=e.offsetTop;if(!e.offsetParent)break;e=e.offsetParent}else a.x&&(b+=a.x),a.y&&(c+=a.y);for(;a&&a!=document.body;)b-=a.scrollLeft,c-=a.scrollTop,a=a.parentNode;return{x:b,y:c}};Fa=function(a){if(a.pageX)return!a.pageX||0>a.pageX?0:a.pageX;var b=document.documentElement,c=document.body;return a.clientX+(b.scrollLeft||c.scrollLeft)-(b.clientLeft||0)};Ga=function(a){if(a.pageY)return!a.pageY||0>a.pageY?0:a.pageY;var b=document.documentElement,c=document.body;
+return a.clientY+(b.scrollTop||c.scrollTop)-(b.clientTop||0)};S=function(a,b){return Fa(a)-b.vc};T=function(a,b){return Ga(a)-b.wc};ja=function(a){return!!a&&!isNaN(a)};V=function(a,b){return!a||a.F===s||a.x===s||a.x===k||a.y===s||a.y===k||isNaN(a.x)||!b&&isNaN(a.y)?v:q};sa=function(a,b){var c=Math.min(Math.max(1,b||2),21);return 0.0010>Math.abs(a)&&0!==a?a.toExponential(c-1):a.toPrecision(c)};Q=function(a){return 10>a?"0"+a:""+a};va=function(a){var b=Q;a=new Date(a);return a.getSeconds()?b(a.getHours())+
+":"+b(a.getMinutes())+":"+b(a.getSeconds()):b(a.getHours())+":"+b(a.getMinutes())};R=function(a){var b=Q,c=new Date(a),e=""+c.getFullYear(),f=b(c.getMonth()+1),b=b(c.getDate()),g="";3600*c.getHours()+60*c.getMinutes()+c.getSeconds()&&(g=" "+va(a));return e+"/"+f+"/"+b+g};ta=function(a,b){var c=Math.pow(10,b);return Math.round(a*c)/c};Ta=function(a,b,c,e,f){if(e===s||e===k||f===s||f===k)e=0,f=b.length-1;if(e>f)return-1;if(c===s||c===k)c=0;var g=parseInt((e+f)/2,10),j=b[g];return j==a?g:j>a?0<c&&(j=
+g-1,0<=j&&j<b.length&&b[j]<a)?g:Ta(a,b,c,e,g-1):j<a?0>c&&(j=g+1,0<=j&&j<b.length&&b[j]>a)?g:Ta(a,b,c,g+1,f):-1};wa=function(a){var b;if(-1==a.search("-")||-1!=a.search("T")||-1!=a.search("Z"))if((b=X(a))&&!isNaN(b))return b;if(-1!=a.search("-")){for(b=a.replace("-","/","g");-1!=b.search("-");)b=b.replace("-","/");b=X(b)}else 8==a.length?(b=a.substr(0,4)+"/"+a.substr(4,2)+"/"+a.substr(6,2),b=X(b)):b=X(a);(!b||isNaN(b))&&E("Couldn't parse "+a+" as a date");return b};X=function(a){return(new Date(a)).getTime()};
+G=function(a,b){if("undefined"!=typeof b&&b!==s)for(var c in b)b.hasOwnProperty(c)&&(a[c]=b[c])};oa=function(a,b){if("undefined"!=typeof b&&b!==s)for(var c in b)if(b.hasOwnProperty(c))if(b[c]===s)a[c]=s;else if(M(b[c]))a[c]=b[c].slice();else if("object"===typeof Node?b[c]instanceof Node:"object"===typeof b[c]&&"number"===typeof b[c].nodeType&&"string"===typeof b[c].nodeName)a[c]=b[c];else if("object"==typeof b[c]){if("object"!=typeof a[c]||a[c]===s)a[c]={};oa(a[c],b[c])}else a[c]=b[c]};M=function(a){var b=
+typeof a;return"object"!=b&&!("function"==b&&"function"==typeof a.item)||a===s||"number"!=typeof a.length||3===a.nodeType?v:q};La=function(a){return"object"!=typeof a||a===s||"function"!=typeof a.getTime?v:q};Ma=function(a){for(var b=[],c=0;c<a.length;c++)M(a[c])?b.push(Ma(a[c])):b.push(a[c]);return b};xa=function(){var a=document.createElement("canvas");/MSIE/.test(navigator.userAgent)&&!window.opera&&"undefined"!=typeof G_vmlCanvasManager&&(a=G_vmlCanvasManager.initElement(a));return a};ea=function(){return/Android/.test(navigator.userAgent)};
+Ua=function(a,b,c,e){b=b||0;c=c||a.length;this.sa=q;this.$a=s;this.fb=b;this.ob=a;this.xb=e;this.Yb=Math.min(a.length,b+c);this.ub=b-1;this.next()};Ua.prototype.next=function(){if(!this.sa)return s;for(var a=this.$a,b=this.ub+1,c=v;b<this.Yb;){if(!this.xb||this.xb(this.ob,b)){this.$a=this.ob[b];c=q;break}b++}this.ub=b;c||(this.sa=v,this.$a=s);return a};ga=function(a,b,c,e){return new Ua(a,b,c,e)};var a=function(){return window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||
+window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(a){window.setTimeout(a,1E3/60)}}();Ea=function(d,b,c,e){var f=0,g,j=(new Date).getTime();d(f);if(1==b)e();else{var n=b-1;(function i(){f>=b||a.call(window,function(){var a=(new Date).getTime()-j;g=f;f=Math.floor(a/c);a=f-g;f+a>n||f>=n?(d(n),e()):(0!==a&&d(f),i())})})()}};Na=function(a,b){var c={annotationClickHandler:q,annotationDblClickHandler:q,annotationMouseOutHandler:q,annotationMouseOverHandler:q,axisLabelColor:q,axisLineColor:q,
+axisLineWidth:q,clickCallback:q,digitsAfterDecimal:q,drawCallback:q,drawHighlightPointCallback:q,drawPoints:q,drawPointCallback:q,drawXGrid:q,drawYGrid:q,fillAlpha:q,gridLineColor:q,gridLineWidth:q,hideOverlayOnMouseOut:q,highlightCallback:q,highlightCircleSize:q,interactionModel:q,isZoomedIgnoreProgrammaticZoom:q,labelsDiv:q,labelsDivStyles:q,labelsDivWidth:q,labelsKMB:q,labelsKMG2:q,labelsSeparateLines:q,labelsShowZeroValues:q,legend:q,maxNumberWidth:q,panEdgeFraction:q,pixelsPerYLabel:q,pointClickCallback:q,
+pointSize:q,rangeSelectorPlotFillColor:q,rangeSelectorPlotStrokeColor:q,showLabelsOnHighlight:q,showRoller:q,sigFigs:q,strokeWidth:q,underlayCallback:q,unhighlightCallback:q,xAxisLabelFormatter:q,xTicker:q,xValueFormatter:q,yAxisLabelFormatter:q,yValueFormatter:q,zoomCallback:q},e=v,f={};if(a)for(var g=1;g<a.length;g++)f[a[g]]=q;for(var j in b){if(e)break;if(b.hasOwnProperty(j))if(f[j])for(var n in b[j]){if(e)break;b[j].hasOwnProperty(n)&&!c[n]&&(e=q)}else c[j]||(e=q)}return e};ha={Mb:function(a,
+b,c,e,f,g,j){c.beginPath();c.fillStyle=g;c.arc(e,f,j,0,2*Math.PI,v);c.fill()}};Ca=function(){this.Ma=[]};Ca.prototype.Zc=function(){for(var a=document.getElementsByTagName("iframe"),b=0;b<a.length;b++){var c=a[b],e=Da(c),f=e.x,e=e.y,g=c.offsetWidth,c=c.offsetHeight,j=document.createElement("div");j.style.position="absolute";j.style.left=f+"px";j.style.top=e+"px";j.style.width=g+"px";j.style.height=c+"px";j.style.zIndex=999;document.body.appendChild(j);this.Ma.push(j)}};Ca.prototype.Vd=function(){for(var a=
+0;a<this.Ma.length;a++)this.Ma[a].parentNode.removeChild(this.Ma[a]);this.Ma=[]};Ka=function(a){for(var b=0;b<a.length;b++){var c=a.charAt(b);if("\r"===c)return b+1<a.length&&"\n"===a.charAt(b+1)?"\r\n":c;if("\n"===c)return b+1<a.length&&"\r"===a.charAt(b+1)?"\n\r":c}return s};za=function(a,b){if(b===s||a===s)return v;for(var c=a;c&&c!==b;)c=c.parentNode;return c===b};ua=function(a,b){return 0>b?1/Math.pow(a,-b):Math.pow(a,b)};Va={zd:Date.prototype.setMilliseconds,Bc:Date.prototype.setSeconds,jc:Date.prototype.setMinutes,
+c:Date.prototype.setHours};Y=function(a,b){var c=a.getTimezoneOffset(),e;for(e in b)if(b.hasOwnProperty(e)){var f=Va[e];if(!f)throw"Invalid setter: "+e;f.call(a,b[e]);a.getTimezoneOffset()!=c&&a.setTime(a.getTime()+6E4*(c-a.getTimezoneOffset()))}};ia=function(a){var b=document.createElement("div");b.style.backgroundColor=a;b.style.visibility="hidden";document.body.appendChild(b);a=window.getComputedStyle(b,s).backgroundColor;document.body.removeChild(b);b=/^rgb\((\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3})\)$/.exec(a);
+return{xc:parseInt(b[1],10),ra:parseInt(b[2],10),Pb:parseInt(b[3],10)}};da=function(a){var b;try{b=a||document.createElement("canvas"),b.getContext("2d")}catch(c){if(a=navigator.appVersion.match(/MSIE (\d\.\d)/),b=-1!=navigator.userAgent.toLowerCase().indexOf("opera"),!a||6>a[1]||b)return v}return q};W=function(a,b,c){var e=parseFloat(a);if(!isNaN(e))return e;if(/^ *$/.test(a))return s;if(/^ *nan *$/i.test(a))return NaN;a="Unable to parse '"+a+"' as a number";c!==k&&b!==k&&(a+=" on line "+(1+(b||
+0))+" ('"+c+"') of CSV.");E(a);return s}})();"use strict";
+Z={Od:function(a,d,b){var c;b.O=q;a=d.K();b.oa=a[1]-a[0];b.pb=a[0];b.Fc=b.oa/(d.n.i.f-1);if(d.a("panEdgeFraction")){a=d.size();var e=a.width*d.getOption("panEdgeFraction");c=d.jb();var f=d.hb(c[0])-e,e=d.hb(c[1])+e,f=d.ia(f),e=d.ia(e);b.Z=[f,e];f=[];e=a.height*d.a("panEdgeFraction");for(a=0;a<d.b.length;a++){c=d.b[a];var g=c.extremeRange;c=d.ib(g[0],a)+e;g=d.ib(g[1],a)-e;c=d.ja(c,a);g=d.ja(g,a);f[a]=[c,g]}b.Qa=f}b.Wa=v;b.e=[];for(a=0;a<d.b.length;a++)if(c=d.b[a],f={},e=d.xa(a),d.l.T("logscale",a)?
+(f.hc=J(e[1]),f.Da=J(e[1])-J(e[0])):(f.hc=e[1],f.Da=e[1]-e[0]),f.Wd=f.Da/(d.n.i.c-1),b.e.push(f),c.B||c.A)b.Wa=q},wd:function(a,d,b){b.u=S(a,b);b.v=T(a,b);a=b.pb-(b.u-b.H)*b.Fc;b.Z&&(a=Math.max(a,b.Z[0]));var c=a+b.oa;b.Z&&c>b.Z[1]&&(a-=c-b.Z[1],c=a+b.oa);d.C=[a,c];if(b.Wa){a=b.v-b.I;for(c=0;c<d.b.length;c++){var e=d.b[c],f=b.e[c],g=b.Qa?b.Qa[c]:s,j=f.hc+a*f.Wd;g&&(j=Math.min(j,g[1]));var n=j-f.Da;g&&n<g[0]&&(j-=n-g[0],n=j-f.Da);e.B=d.l.T("logscale",c)?[Math.pow(10,n),Math.pow(10,j)]:[n,j]}}Bb(d)},
+dd:function(a,d,b){b.u=S(a,b);b.v=T(a,b);var c=Math.abs(b.v-b.I);2>Math.abs(b.u-b.H)&&(2>c&&d.J!==k&&-1!=d.J)&&Z.Eb(d,a,b);b.O=v;b.Wa=v;b.pb=s;b.oa=s;b.A=s;b.Z=s;b.Qa=s;b.e=s},Pd:function(a,d,b){b.da=q;b.Mc=v},yd:function(a,d,b){b.Mc=q;b.u=S(a,b);b.v=T(a,b);b.Ca=Math.abs(b.H-b.u)<Math.abs(b.I-b.v)/2?2:1;d.Wb(b.Ca,b.H,b.u,b.I,b.v,b.rc,b.sc,b.tc);b.sc=b.u;b.tc=b.v;b.rc=b.Ca},Eb:function(a,d,b){var c=a.a("clickCallback"),e=a.a("pointClickCallback"),f=s;if(e){for(var g=-1,j=Number.MAX_VALUE,n=0;n<a.r.length;n++){var h=
+a.r[n],h=Math.pow(h.g-b.u,2)+Math.pow(h.m-b.v,2);if(!isNaN(h)&&(-1==g||h<j))j=h,g=n}b=a.a("highlightCircleSize")+2;j<=b*b&&(f=a.r[g])}f&&e(d,f);c&&c(d,a.J,a.r)},fd:function(a,d,b){b.da=v;b.u=S(a,b);b.v=T(a,b);var c=Math.abs(b.u-b.H),e=Math.abs(b.v-b.I);2>c&&(2>e&&d.J!==k&&-1!=d.J)&&Z.Eb(d,a,b);a=d.n.i;10<=c&&1==b.Ca?(c=Math.min(b.H,b.u),e=Math.max(b.H,b.u),c=Math.max(c,a.x),e=Math.min(e,a.x+a.f),c<e&&(a=e,d.Ba=s,c=d.ia(c),a=d.ia(a),wb(d,c,a)),b.Aa=q):10<=e&&2==b.Ca?(c=Math.min(b.I,b.v),e=Math.max(b.I,
+b.v),c=Math.max(c,a.y),e=Math.min(e,a.y+a.c),c<e&&yb(d,c,e),b.Aa=q):b.Mc&&vb(d);b.H=s;b.I=s},Dc:function(a,d,b){a.preventDefault();1<a.touches.length&&(b.eb=s);for(var c=[],e=0;e<a.touches.length;e++){var f=a.touches[e];c.push({pageX:f.pageX,pageY:f.pageY,$:d.ia(f.pageX),aa:d.ja(f.pageY)})}b.qd=c;1==c.length?(b.Va=c[0],b.Db={x:q,y:q}):2<=c.length&&(b.Va={pageX:0.5*(c[0].pageX+c[1].pageX),pageY:0.5*(c[0].pageY+c[1].pageY),$:0.5*(c[0].$+c[1].$),aa:0.5*(c[0].aa+c[1].aa)},a=180/Math.PI*Math.atan2(b.Va.pageY-
+c[0].pageY,c[0].pageX-b.Va.pageX),a=Math.abs(a),90<a&&(a=90-a),b.Db={x:67.5>a,y:22.5<a});b.V={x:d.K(),y:d.xa()}},xd:function(a,d,b){b.eb=s;var c,e=[];for(c=0;c<a.touches.length;c++){var f=a.touches[c];e.push({pageX:f.pageX,pageY:f.pageY})}var g=b.qd,j;a=b.Va;j=1==e.length?e[0]:{pageX:0.5*(e[0].pageX+e[1].pageX),pageY:0.5*(e[0].pageY+e[1].pageY)};var f=j.pageY-a.pageY,n=b.V.y[0]-b.V.y[1];c=(j.pageX-a.pageX)/d.n.i.f*(b.V.x[1]-b.V.x[0]);var f=f/d.n.i.c*n,h,i;1==e.length?i=h=1:2<=e.length&&(h=(e[1].pageX-
+j.pageX)/(g[1].pageX-a.pageX),i=(e[1].pageY-j.pageY)/(g[1].pageY-a.pageY));h=Math.min(8,Math.max(0.125,h));i=Math.min(8,Math.max(0.125,i));g=v;b.Db.x&&(d.C=[a.$-c+(b.V.x[0]-a.$)/h,a.$-c+(b.V.x[1]-a.$)/h],g=q);if(b.Db.y)for(c=0;1>c;c++)h=d.b[c],d.l.T("logscale",c)||(h.B=[a.aa-f+(b.V.y[0]-a.aa)/i,a.aa-f+(b.V.y[1]-a.aa)/i],g=q);Bb(d);g&&(1<e.length&&d.a("zoomCallback"))&&(b=d.K(),d.a("zoomCallback")(b[0],b[1],d.X()))},ed:function(a,d,b){if(0!==a.touches.length)Z.Dc(a,d,b);else if(1==a.changedTouches.length){var c=
+(new Date).getTime();a=a.changedTouches[0];b.eb&&500>c-b.eb&&b.Ub&&50>Math.abs(b.Ub-a.screenX)&&b.Vb&&50>Math.abs(b.Vb-a.screenY)?d.zb():(b.eb=c,b.Ub=a.screenX,b.Vb=a.screenY)}},ad:{nc:function(a,d,b){a.button&&2==a.button||(b.qb(a,d,b),a.altKey||a.shiftKey?Wa(a,d,b):Xa(a,d,b))},vd:function(a,d,b){b.da?Ya(a,d,b):b.O&&Za(a,d,b)},oc:function(a,d,b){b.da?$a(a,d,b):b.O&&ab(a,d,b)},He:function(a,d,b){Z.Dc(a,d,b)},Ge:function(a,d,b){Z.xd(a,d,b)},Fe:function(a,d,b){Z.ed(a,d,b)},te:function(a,d,b){b.da&&
+(b.u=s,b.v=s,vb(d))},je:function(a,d,b){b.Aa?b.Aa=v:!a.altKey&&!a.shiftKey&&d.zb()}}};H.qe=Z.ad;$a=Z.fd;Ya=Z.yd;Xa=Z.Pd;ab=Z.dd;Za=Z.wd;Wa=Z.Od;Z.ue={nc:function(a,d,b){b.qb(a,d,b)},oc:function(a,d,b){b.u=S(a,b);b.v=T(a,b);var c=Math.abs(b.v-b.I);2>Math.abs(b.u-b.H)&&(2>c&&d.J!==k&&-1!=d.J)&&Z.Eb(d,a,b)}};Z.ke={nc:function(a,d,b){b.qb(a,d,b);Wa(a,d,b)},vd:function(a,d,b){b.O&&Za(a,d,b)},oc:function(a,d,b){b.O&&ab(a,d,b)}};
+(function(){Ja=function(a,b,d,g,j,n){return bb(a,b,d,function(a){return"logscale"===a?v:g(a)},j,n)};var a=function(){for(var a=[],b=-39;39>=b;b++)for(var d=Math.pow(10,b),g=1;9>=g;g++)a.push(d*g);return a}();bb=function(b,d,f,g,j,n){var h=g("pixelsPerLabel"),i=[],l,m;if(n)for(b=0;b<n.length;b++)i.push({W:n[b]});else{if(g("logscale")){m=Math.floor(f/h);n=Ta(b,a,1);var p=Ta(d,a,-1);-1==n&&(n=0);-1==p&&(p=a.length-1);l=s;if(p-n>=m/4){for(;p>=n;p--){var r=a[p],t=Math.log(r/b)/Math.log(d/b)*f,w={W:r};
+l===s?l={Rd:r,qc:t}:Math.abs(t-l.qc)>=h?l={Rd:r,qc:t}:w.label="";i.push(w)}i.reverse()}}if(0===i.length){g("labelsKMG2")?(n=[1,2,4,8,16,32,64,128,256],l=16):(n=[1,2,5,10,20,50,100],l=10);var p=Math.floor(Math.log(Math.abs(d-b)/Math.ceil(f/h))/Math.log(l)),p=Math.pow(l,p),u,F,A;for(l=0;l<n.length&&!(u=p*n[l],F=Math.floor(b/u)*u,A=Math.ceil(d/u)*u,m=Math.abs(A-F)/u,r=f/m,r>h);l++);F>A&&(u*=-1);for(b=0;b<m;b++)d=F+b*u,i.push({W:d})}}m=g("axisLabelFormatter");for(b=0;b<i.length;b++)i[b].label===k&&(i[b].label=
+m(i[b].W,0,g,j));return i};Ia=function(a,b,d,g,j){d=cb(a,b,d,g);return 0<=d?db(a,b,d,g,j):[]};var d=[1E3,2E3,5E3,1E4,3E4,6E4,12E4,3E5,6E5,18E5,36E5,72E5,216E5,864E5,6048E5],b=[];b[15]={ga:[0,1,2,3,4,5,6,7,8,9,10,11],la:1};b[16]={ga:[0,3,6,9],la:1};b[17]={ga:[0,6],la:1};b[18]={ga:[0],la:1};b[19]={ga:[0],la:10};b[20]={ga:[0],la:100};cb=function(a,b,d,g){g=g("pixelsPerLabel");for(var j=0;21>j;j++)if(d/eb(a,b,j)>=g)return j;return-1};eb=function(a,e,f){if(15>f)return Math.floor(0.5+1*(e-a)/d[f]);f=b[f];
+return Math.floor(0.5+1*(1*(e-a)/31557807360)*f.ga.length/f.la)};db=function(a,e,f,g,j){var n=g("axisLabelFormatter"),h=[],i;if(15>f){var l=d[f];i=l/1E3;a=new Date(a);Y(a,{zd:0});var m;60>=i?(m=a.getSeconds(),Y(a,{Bc:m-m%i})):(Y(a,{Bc:0}),i/=60,60>=i?(m=a.getMinutes(),Y(a,{jc:m-m%i})):(Y(a,{jc:0}),i/=60,24>=i?(m=a.getHours(),a.setHours(m-m%i)):(a.setHours(0),7==i/24&&a.setDate(a.getDate()-a.getDay()))));a=a.getTime();m=(new Date(a)).getTimezoneOffset();var p=l>=d[11];for(i=a;i<=e;i+=l)a=new Date(i),
+p&&a.getTimezoneOffset()!=m&&(i+=6E4*(a.getTimezoneOffset()-m),a=new Date(i),m=a.getTimezoneOffset(),(new Date(i+l)).getTimezoneOffset()!=m&&(i+=l,a=new Date(i),m=a.getTimezoneOffset())),h.push({W:i,label:n(a,f,g,j)})}else{m=1;21>f?(l=b[f].ga,m=b[f].la):N("Span of dates is too long");for(var p=(new Date(e)).getFullYear(),r=Q,t=(new Date(a)).getFullYear();t<=p;t++)if(0===t%m)for(var w=0;w<l.length;w++)i=t+"/"+r(1+l[w])+"/01",i=X(i),i<a||i>e||h.push({W:i,label:n(new Date(i),f,g,j)})}return h};O&&(H&&
+H.axes&&H.axes.x&&H.axes.y&&H.axes.y2)&&(H.axes.x.ticker=Ia,H.axes.y.ticker=bb,H.axes.y2.ticker=bb)})();z("Dygraph",O);z("Dygraph.prototype.adjustRoll",O.prototype.Ob);z("Dygraph.prototype.annotations",O.prototype.R);z("Dygraph.prototype.clearSelection",O.prototype.Ra);z("Dygraph.prototype.destroy",O.prototype.bd);z("Dygraph.prototype.eventToDomCoords",O.prototype.Zb);z("Dygraph.prototype.getArea",O.prototype.kd);z("Dygraph.prototype.getColors",O.prototype.ld);z("Dygraph.prototype.getHighlightSeries",O.prototype.md);z("Dygraph.prototype.getLabels",O.prototype.Ua);z("Dygraph.prototype.getOption",O.prototype.getOption);
+z("Dygraph.prototype.getPropertiesForSeries",O.prototype.nd);z("Dygraph.prototype.getSelection",O.prototype.getSelection);z("Dygraph.prototype.getValue",O.prototype.getValue);z("Dygraph.prototype.indexFromSetName",O.prototype.pd);z("Dygraph.prototype.isSeriesLocked",O.prototype.rd);z("Dygraph.prototype.isZoomed",O.prototype.sd);z("Dygraph.prototype.numAxes",O.prototype.Ga);z("Dygraph.prototype.numColumns",O.prototype.vb);z("Dygraph.prototype.numRows",O.prototype.pc);
+z("Dygraph.prototype.resetZoom",O.prototype.zb);z("Dygraph.prototype.resize",O.prototype.yc);z("Dygraph.prototype.rollPeriod",O.prototype.Ab);z("Dygraph.prototype.setAnnotations",O.prototype.bb);z("Dygraph.prototype.setSelection",O.prototype.setSelection);z("Dygraph.prototype.setVisibility",O.prototype.Jd);z("Dygraph.prototype.toDataCoords",O.prototype.Sd);z("Dygraph.prototype.toDataXCoord",O.prototype.ia);z("Dygraph.prototype.toDataYCoord",O.prototype.ja);z("Dygraph.prototype.toDomCoords",O.prototype.Td);
+z("Dygraph.prototype.toDomXCoord",O.prototype.hb);z("Dygraph.prototype.toDomYCoord",O.prototype.ib);z("Dygraph.prototype.toPercentXCoord",O.prototype.Ud);z("Dygraph.prototype.toPercentYCoord",O.prototype.Cb);z("Dygraph.prototype.toString",O.prototype.toString);z("Dygraph.prototype.updateOptions",O.prototype.Xd);z("Dygraph.prototype.visibility",O.prototype.visibility);z("Dygraph.prototype.xAxisExtremes",O.prototype.jb);z("Dygraph.prototype.xAxisRange",O.prototype.K);
+z("Dygraph.prototype.yAxisRange",O.prototype.xa);z("Dygraph.prototype.yAxisRanges",O.prototype.X);z("Dygraph.Plotters",mb);})();
index 38fcb15..452143d 100644 (file)
@@ -394,122 +394,122 @@ Dygraph.Plotters = DygraphCanvasRenderer._Plotters;
 // Default attribute values.
 /** @type {{axes: Object}} */
 Dygraph.DEFAULT_ATTRS = {
-  highlightCircleSize: 3,
-  highlightSeriesOpts: null,
-  highlightSeriesBackgroundAlpha: 0.5,
+  'highlightCircleSize': 3,
+  'highlightSeriesOpts': null,
+  'highlightSeriesBackgroundAlpha': 0.5,
 
-  labelsDivWidth: 250,
-  labelsDivStyles: {
+  'labelsDivWidth': 250,
+  'labelsDivStyles': {
     // TODO(danvk): move defaults from createStatusMessage_ here.
   },
-  labelsSeparateLines: false,
-  labelsShowZeroValues: true,
-  labelsKMB: false,
-  labelsKMG2: false,
-  showLabelsOnHighlight: true,
-
-  digitsAfterDecimal: 2,
-  maxNumberWidth: 6,
-  sigFigs: null,
-
-  strokeWidth: 1.0,
-  strokeBorderWidth: 0,
-  strokeBorderColor: "white",
-
-  axisTickSize: 3,
-  axisLabelFontSize: 14,
-  xAxisLabelWidth: 50,
-  yAxisLabelWidth: 50,
-  rightGap: 5,
-
-  showRoller: false,
-  xValueParser: Dygraph.dateParser,
-
-  delimiter: ',',
-
-  sigma: 2.0,
-  errorBars: false,
-  fractions: false,
-  wilsonInterval: true,  // only relevant if fractions is true
-  customBars: false,
-  fillGraph: false,
-  fillAlpha: 0.15,
-  connectSeparatedPoints: false,
-
-  stackedGraph: false,
-  stackedGraphNaNFill: 'all',
-  hideOverlayOnMouseOut: true,
+  'labelsSeparateLines': false,
+  'labelsShowZeroValues': true,
+  'labelsKMB': false,
+  'labelsKMG2': false,
+  'showLabelsOnHighlight': true,
+
+  'digitsAfterDecimal': 2,
+  'maxNumberWidth': 6,
+  'sigFigs': null,
+
+  'strokeWidth': 1.0,
+  'strokeBorderWidth': 0,
+  'strokeBorderColor': "white",
+
+  'axisTickSize': 3,
+  'axisLabelFontSize': 14,
+  'xAxisLabelWidth': 50,
+  'yAxisLabelWidth': 50,
+  'rightGap': 5,
+
+  'showRoller': false,
+  'xValueParser': Dygraph.dateParser,
+
+  'delimiter': ',',
+
+  'sigma': 2.0,
+  'errorBars': false,
+  'fractions': false,
+  'wilsonInterval': true,  // only relevant if fractions is true
+  'customBars': false,
+  'fillGraph': false,
+  'fillAlpha': 0.15,
+  'connectSeparatedPoints': false,
+
+  'stackedGraph': false,
+  'stackedGraphNaNFill': 'all',
+  'hideOverlayOnMouseOut': true,
 
   // TODO(danvk): support 'onmouseover' and 'never', and remove synonyms.
-  legend: 'onmouseover',  // the only relevant value at the moment is 'always'.
+  'legend': 'onmouseover',  // the only relevant value at the moment is 'always'.
 
-  stepPlot: false,
-  avoidMinZero: false,
-  xRangePad: 0,
-  yRangePad: null,
-  drawAxesAtZero: false,
+  'stepPlot': false,
+  'avoidMinZero': false,
+  'xRangePad': 0,
+  'yRangePad': null,
+  'drawAxesAtZero': false,
 
   // Sizes of the various chart labels.
-  titleHeight: 28,
-  xLabelHeight: 18,
-  yLabelWidth: 18,
-
-  drawXAxis: true,
-  drawYAxis: true,
-  axisLineColor: "black",
-  axisLineWidth: 0.3,
-  gridLineWidth: 0.3,
-  axisLabelColor: "black",
-  axisLabelFont: "Arial",  // TODO(danvk): is this implemented?
-  axisLabelWidth: 50,
-  drawYGrid: true,
-  drawXGrid: true,
-  gridLineColor: "rgb(128,128,128)",
-
-  interactionModel: null,  // will be set to Dygraph.Interaction.defaultModel
-  animatedZooms: false,  // (for now)
+  'titleHeight': 28,
+  'xLabelHeight': 18,
+  'yLabelWidth': 18,
+
+  'drawXAxis': true,
+  'drawYAxis': true,
+  'axisLineColor': "black",
+  'axisLineWidth': 0.3,
+  'gridLineWidth': 0.3,
+  'axisLabelColor': "black",
+  'axisLabelFont': "Arial",  // TODO(danvk): is this implemented?
+  'axisLabelWidth': 50,
+  'drawYGrid': true,
+  'drawXGrid': true,
+  'gridLineColor': "rgb(128,128,128)",
+
+  'interactionModel': null,  // will be set to Dygraph.Interaction.defaultModel
+  'animatedZooms': false,  // (for now)
 
   // Range selector options
-  showRangeSelector: false,
-  rangeSelectorHeight: 40,
-  rangeSelectorPlotStrokeColor: "#808FAB",
-  rangeSelectorPlotFillColor: "#A7B1C4",
+  'showRangeSelector': false,
+  'rangeSelectorHeight': 40,
+  'rangeSelectorPlotStrokeColor': "#808FAB",
+  'rangeSelectorPlotFillColor': "#A7B1C4",
 
   // The ordering here ensures that central lines always appear above any
   // fill bars/error bars.
-  plotter: [
+  'plotter': [
     Dygraph.Plotters.fillPlotter,
     Dygraph.Plotters.errorPlotter,
     Dygraph.Plotters.linePlotter
   ],
 
-  plugins: [ ],
+  'plugins': [ ],
 
   // per-axis options
-  axes: {
-    x: {
-      pixelsPerLabel: 60,
-      axisLabelFormatter: dateAxisFormatter_,
-      valueFormatter: Dygraph.dateString_,
-      drawGrid: true,
-      independentTicks: true,
-      ticker: null  // will be set in dygraph-tickers.js
+  'axes': {
+    'x': {
+      'pixelsPerLabel': 60,
+      'axisLabelFormatter': dateAxisFormatter_,
+      'valueFormatter': Dygraph.dateString_,
+      'drawGrid': true,
+      'independentTicks': true,
+      'ticker': null  // will be set in dygraph-tickers.js
     },
-    y: {
-      pixelsPerLabel: 30,
-      valueFormatter: numberValueFormatter_,
-      axisLabelFormatter: numberAxisLabelFormatter_,
-      drawGrid: true,
-      independentTicks: true,
-      ticker: null  // will be set in dygraph-tickers.js
+    'y': {
+      'pixelsPerLabel': 30,
+      'valueFormatter': numberValueFormatter_,
+      'axisLabelFormatter': numberAxisLabelFormatter_,
+      'drawGrid': true,
+      'independentTicks': true,
+      'ticker': null  // will be set in dygraph-tickers.js
     },
-    y2: {
-      pixelsPerLabel: 30,
-      valueFormatter: numberValueFormatter_,
-      axisLabelFormatter: numberAxisLabelFormatter_,
-      drawGrid: false,
-      independentTicks: false,
-      ticker: null  // will be set in dygraph-tickers.js
+    'y2': {
+      'pixelsPerLabel': 30,
+      'valueFormatter': numberValueFormatter_,
+      'axisLabelFormatter': numberAxisLabelFormatter_,
+      'drawGrid': false,
+      'independentTicks': false,
+      'ticker': null  // will be set in dygraph-tickers.js
     }
   }
 };
@@ -2836,7 +2836,7 @@ Dygraph.prototype.computeYAxisRanges_ = function(extremes) {
     
     
     if (independentTicks) {
-      axis.independentTicks = independentTicks;
+      axis['independentTicks'] = independentTicks;
       var opts = this.optionsViewForAxis_('y' + (i ? '2' : ''));
       var ticker = opts('ticker');
       axis.ticks = ticker(axis.computedValueRange[0],
@@ -2857,7 +2857,7 @@ Dygraph.prototype.computeYAxisRanges_ = function(extremes) {
   for (var i = 0; i < numAxes; i++) {
     var axis = this.axes_[i];
     
-    if (!axis.independentTicks) {
+    if (!axis['independentTicks']) {
       var opts = this.optionsViewForAxis_('y' + (i ? '2' : ''));
       var ticker = opts('ticker');
       var p_ticks = p_axis.ticks;
index f1a7260..21ebd3c 100755 (executable)
@@ -36,7 +36,7 @@ Copyright () {
 CatMinified () {
   Copyright
   CatSources \
-  | java -jar ../../closure-compiler-read-only/build/compiler.jar --js ../../closure-library-read-only/closure/goog/base.js --js - --compilation_level ADVANCED_OPTIMIZATIONS --warning_level VERBOSE --externs dygraph-externs.js --externs gviz-api.js --output_wrapper='(function() {%output%})();'
+  | java -jar ../../closure-compiler-read-only/build/compiler.jar --js ../../closure-library-read-only/closure/goog/base.js --js - --js dygraph-exports.js --compilation_level ADVANCED_OPTIMIZATIONS --warning_level VERBOSE --externs dygraph-externs.js --externs gviz-api.js --output_wrapper='(function() {%output%})();'
     
   #| uglifyjs - -c 'warnings=false' -m
   # | java -jar yuicompressor-2.4.2.jar --type js
index 8fa6fde..d778d41 100644 (file)
@@ -9,7 +9,7 @@
     <!--
     <script type="text/javascript" src="../dygraph-dev.js"></script>
     -->
-    <script type="text/javascript" src="/tmp/out.js"></script>
+    <script type="text/javascript" src="../dygraph-combined.js"></script>
   </head>
   <body>
     <h2>Demo</h2>
index 27d9b7b..8b9e32d 100644 (file)
     <!--
     <script type="text/javascript" src="../dygraph-dev.js"></script>
     -->
-    <!--
     <script type="text/javascript" src="../dygraph-combined.js"></script>
-    -->
-    <script type="text/javascript" src="/tmp/out.js"></script>
     <script type="text/javascript">
       for (k in window) {
         if (!windowProps.hasOwnProperty(k)) {