!function(){function a(a,b){return ab?1:a>=b?0:NaN}function b(a){return null!=a&&!isNaN(a)}function c(a){return{left:function(b,c,d,e){for(arguments.length<3&&(d=0),arguments.length<4&&(e=b.length);d>>1;a(b[f],c)<0?d=f+1:e=f}return d},right:function(b,c,d,e){for(arguments.length<3&&(d=0),arguments.length<4&&(e=b.length);d>>1;a(b[f],c)>0?e=f:d=f+1}return d}}}function d(a){return a.length}function e(a){for(var b=1;a*b%1;)b*=10;return b}function f(a,b){try{for(var c in b)Object.defineProperty(a.prototype,c,{value:b[c],enumerable:!1})}catch(c){a.prototype=b}}function g(){}function h(a){return dg+a in this}function i(a){return(a=dg+a)in this&&delete this[a]}function j(){var a=[];return this.forEach(function(b){a.push(b)}),a}function k(){var a=0;for(var b in this)b.charCodeAt(0)===eg&&++a;return a}function l(){for(var a in this)if(a.charCodeAt(0)===eg)return!1;return!0}function m(){}function n(a,b,c){return function(){var d=c.apply(b,arguments);return d===b?a:d}}function o(a,b){if(b in a)return b;b=b.charAt(0).toUpperCase()+b.substring(1);for(var c=0,d=fg.length;c=b&&(b=e+1);!(g=h[b])&&++b0&&(a=a.substring(0,h));var j=qg.get(a);return j&&(a=j,i=Q),h?b?e:d:b?p:f}function P(a,b){return function(c){var d=Sf.event;Sf.event=c,b[0]=this.__data__;try{a.apply(this,b)}finally{Sf.event=d}}}function Q(a,b){var c=P(a,b);return function(a){var b=this,d=a.relatedTarget;d&&(d===b||8&d.compareDocumentPosition(b))||c.call(b,a)}}function R(){var a=".dragsuppress-"+ ++sg,b="click"+a,c=Sf.select(Xf).on("touchmove"+a,s).on("dragstart"+a,s).on("selectstart"+a,s);if(rg){var d=Wf.style,e=d[rg];d[rg]="none"}return function(f){function g(){c.on(b,null)}c.on(a,null),rg&&(d[rg]=e),f&&(c.on(b,function(){s(),g()},!0),setTimeout(g,0))}}function S(a,b){b.changedTouches&&(b=b.changedTouches[0]);var c=a.ownerSVGElement||a;if(c.createSVGPoint){var d=c.createSVGPoint();if(tg<0&&(Xf.scrollX||Xf.scrollY)){c=Sf.select("body").append("svg").style({position:"absolute",top:0,left:0,margin:0,padding:0,border:"none"},"important");var e=c[0][0].getScreenCTM();tg=!(e.f||e.e),c.remove()}return tg?(d.x=b.pageX,d.y=b.pageY):(d.x=b.clientX,d.y=b.clientY),d=d.matrixTransform(a.getScreenCTM().inverse()),[d.x,d.y]}var f=a.getBoundingClientRect();return[b.clientX-f.left-a.clientLeft,b.clientY-f.top-a.clientTop]}function T(){return Sf.event.changedTouches[0].identifier}function U(){return Sf.event.target}function V(){return Xf}function W(a){return a>0?1:a<0?-1:0}function X(a,b,c){return(b[0]-a[0])*(c[1]-a[1])-(b[1]-a[1])*(c[0]-a[0])}function Y(a){return a>1?0:a<-1?ug:Math.acos(a)}function Z(a){return a>1?wg:a<-1?-wg:Math.asin(a)}function $(a){return((a=Math.exp(a))-1/a)/2}function _(a){return((a=Math.exp(a))+1/a)/2}function aa(a){return((a=Math.exp(2*a))-1)/(a+1)}function ba(a){return(a=Math.sin(a/2))*a}function ca(){}function da(a,b,c){return this instanceof da?(this.h=+a,this.s=+b,void(this.l=+c)):arguments.length<2?a instanceof da?new da(a.h,a.s,a.l):ra(""+a,sa,da):new da(a,b,c)}function ea(a,b,c){function d(a){return a>360?a-=360:a<0&&(a+=360),a<60?f+(g-f)*a/60:a<180?g:a<240?f+(g-f)*(240-a)/60:f}function e(a){return Math.round(255*d(a))}var f,g;return a=isNaN(a)?0:(a%=360)<0?a+360:a,b=isNaN(b)?0:b<0?0:b>1?1:b,c=c<0?0:c>1?1:c,g=c<=.5?c*(1+b):c+b-c*b,f=2*c-g,new na(e(a+120),e(a),e(a-120))}function fa(a,b,c){return this instanceof fa?(this.h=+a,this.c=+b,void(this.l=+c)):arguments.length<2?a instanceof fa?new fa(a.h,a.c,a.l):a instanceof ha?ja(a.l,a.a,a.b):ja((a=ta((a=Sf.rgb(a)).r,a.g,a.b)).l,a.a,a.b):new fa(a,b,c)}function ga(a,b,c){return isNaN(a)&&(a=0),isNaN(b)&&(b=0),new ha(c,Math.cos(a*=zg)*b,Math.sin(a)*b)}function ha(a,b,c){return this instanceof ha?(this.l=+a,this.a=+b,void(this.b=+c)):arguments.length<2?a instanceof ha?new ha(a.l,a.a,a.b):a instanceof fa?ga(a.l,a.c,a.h):ta((a=na(a)).r,a.g,a.b):new ha(a,b,c)}function ia(a,b,c){var d=(a+16)/116,e=d+b/500,f=d-c/200;return e=ka(e)*Kg,d=ka(d)*Lg,f=ka(f)*Mg,new na(ma(3.2404542*e-1.5371385*d-.4985314*f),ma(-.969266*e+1.8760108*d+.041556*f),ma(.0556434*e-.2040259*d+1.0572252*f))}function ja(a,b,c){return a>0?new fa(Math.atan2(c,b)*Ag,Math.sqrt(b*b+c*c),a):new fa(NaN,NaN,a)}function ka(a){return a>.206893034?a*a*a:(a-4/29)/7.787037}function la(a){return a>.008856?Math.pow(a,1/3):7.787037*a+4/29}function ma(a){return Math.round(255*(a<=.00304?12.92*a:1.055*Math.pow(a,1/2.4)-.055))}function na(a,b,c){return this instanceof na?(this.r=~~a,this.g=~~b,void(this.b=~~c)):arguments.length<2?a instanceof na?new na(a.r,a.g,a.b):ra(""+a,na,ea):new na(a,b,c)}function oa(a){return new na(a>>16,a>>8&255,255&a)}function pa(a){return oa(a)+""}function qa(a){return a<16?"0"+Math.max(0,a).toString(16):Math.min(255,a).toString(16)}function ra(a,b,c){var d,e,f,g=0,h=0,i=0;if(d=/([a-z]+)\((.*)\)/i.exec(a))switch(e=d[2].split(","),d[1]){case"hsl":return c(parseFloat(e[0]),parseFloat(e[1])/100,parseFloat(e[2])/100);case"rgb":return b(va(e[0]),va(e[1]),va(e[2]))}return(f=Pg.get(a))?b(f.r,f.g,f.b):(null==a||"#"!==a.charAt(0)||isNaN(f=parseInt(a.substring(1),16))||(4===a.length?(g=(3840&f)>>4,g|=g>>4,h=240&f,h|=h>>4,i=15&f,i|=i<<4):7===a.length&&(g=(16711680&f)>>16,h=(65280&f)>>8,i=255&f)),b(g,h,i))}function sa(a,b,c){var d,e,f=Math.min(a/=255,b/=255,c/=255),g=Math.max(a,b,c),h=g-f,i=(g+f)/2;return h?(e=i<.5?h/(g+f):h/(2-g-f),d=a==g?(b-c)/h+(b0&&i<1?0:d),new da(d,e,i)}function ta(a,b,c){a=ua(a),b=ua(b),c=ua(c);var d=la((.4124564*a+.3575761*b+.1804375*c)/Kg),e=la((.2126729*a+.7151522*b+.072175*c)/Lg);return ha(116*e-16,500*(d-e),200*(e-la((.0193339*a+.119192*b+.9503041*c)/Mg)))}function ua(a){return(a/=255)<=.04045?a/12.92:Math.pow((a+.055)/1.055,2.4)}function va(a){var b=parseFloat(a);return"%"===a.charAt(a.length-1)?Math.round(2.55*b):b}function wa(a){return"function"==typeof a?a:function(){return a}}function xa(a){return a}function ya(a){return function(b,c,d){return 2===arguments.length&&"function"==typeof c&&(d=c,c=null),za(b,c,a,d)}}function za(a,b,c,d){function e(){var a,b=i.status;if(!b&&i.responseText||b>=200&&b<300||304===b){try{a=c.call(f,i)}catch(a){return void g.error.call(f,a)}g.load.call(f,a)}else g.error.call(f,i)}var f={},g=Sf.dispatch("beforesend","progress","load","error"),h={},i=new XMLHttpRequest,j=null;return!Xf.XDomainRequest||"withCredentials"in i||!/^(http(s)?:)?\/\//.test(a)||(i=new XDomainRequest),"onload"in i?i.onload=i.onerror=e:i.onreadystatechange=function(){i.readyState>3&&e()},i.onprogress=function(a){var b=Sf.event;Sf.event=a;try{g.progress.call(f,i)}finally{Sf.event=b}},f.header=function(a,b){return a=(a+"").toLowerCase(),arguments.length<2?h[a]:(null==b?delete h[a]:h[a]=b+"",f)},f.mimeType=function(a){return arguments.length?(b=null==a?null:a+"",f):b},f.responseType=function(a){return arguments.length?(j=a,f):j},f.response=function(a){return c=a,f},["get","post"].forEach(function(a){f[a]=function(){return f.send.apply(f,[a].concat(Uf(arguments)))}}),f.send=function(c,d,e){if(2===arguments.length&&"function"==typeof d&&(e=d,d=null),i.open(c,a,!0),null==b||"accept"in h||(h.accept=b+",*/*"),i.setRequestHeader)for(var k in h)i.setRequestHeader(k,h[k]);return null!=b&&i.overrideMimeType&&i.overrideMimeType(b),null!=j&&(i.responseType=j),null!=e&&f.on("error",e).on("load",function(a){e(null,a)}),g.beforesend.call(f,i),i.send(null==d?null:d),f},f.abort=function(){return i.abort(),f},Sf.rebind(f,g,"on"),null==d?f:f.get(Aa(d))}function Aa(a){return 1===a.length?function(b,c){a(null==b?c:null)}:a}function Ba(){var a=Ca(),b=Da()-a;b>24?(isFinite(b)&&(clearTimeout(Tg),Tg=setTimeout(Ba,b)),Sg=0):(Sg=1,Vg(Ba))}function Ca(){var a=Date.now();for(Ug=Qg;Ug;)a>=Ug.t&&(Ug.f=Ug.c(a-Ug.t)),Ug=Ug.n;return a}function Da(){for(var a,b=Qg,c=1/0;b;)b.f?b=a?a.n=b.n:Qg=b.n:(b.t8?function(a){return a/c}:function(a){return a*c},symbol:a}}function Ga(a){var b=a.decimal,c=a.thousands,d=a.grouping,e=a.currency,f=d?function(a){for(var b=a.length,e=[],f=0,g=d[0];b>0&&g>0;)e.push(a.substring(b-=g,b+g)),g=d[f=(f+1)%d.length];return e.reverse().join(c)}:xa;return function(a){var c=Xg.exec(a),d=c[1]||" ",g=c[2]||">",h=c[3]||"",i=c[4]||"",j=c[5],k=+c[6],l=c[7],m=c[8],n=c[9],o=1,p="",q="",r=!1;switch(m&&(m=+m.substring(1)),(j||"0"===d&&"="===g)&&(j=d="0",g="=",l&&(k-=Math.floor((k-1)/4))),n){case"n":l=!0,n="g";break;case"%":o=100,q="%",n="f";break;case"p":o=100,q="%",n="r";break;case"b":case"o":case"x":case"X":"#"===i&&(p="0"+n.toLowerCase());case"c":case"d":r=!0,m=0;break;case"s":o=-1,n="r"}"$"===i&&(p=e[0],q=e[1]),"r"!=n||m||(n="g"),null!=m&&("g"==n?m=Math.max(1,Math.min(21,m)):"e"!=n&&"f"!=n||(m=Math.max(0,Math.min(20,m)))),n=Yg.get(n)||Ha;var s=j&&l;return function(a){var c=q;if(r&&a%1)return"";var e=a<0||0===a&&1/a<0?(a=-a,"-"):h;if(o<0){var i=Sf.formatPrefix(a,m);a=i.scale(a),c=i.symbol+q}else a*=o;a=n(a,m);var t=a.lastIndexOf("."),u=t<0?a:a.substring(0,t),v=t<0?"":b+a.substring(t+1);!j&&l&&(u=f(u));var w=p.length+u.length+v.length+(s?0:e.length),x=w"===g?x+e+a:"^"===g?x.substring(0,w>>=1)+e+a+x.substring(w):e+(s?a:x+a))+c}}}function Ha(a){return a+""}function Ia(){this._=new Date(arguments.length>1?Date.UTC.apply(this,arguments):arguments[0])}function Ja(a,b,c){function d(b){var c=a(b),d=f(c,1);return b-c1)for(;g=j)return-1;if(37===(e=b.charCodeAt(h++))){if(g=b.charAt(h++),!(f=D[g in ah?b.charAt(h++):g])||(d=f(a,c,d))<0)return-1}else if(e!=c.charCodeAt(d++))return-1}return d}function d(a,b,c){w.lastIndex=0;var d=w.exec(b.substring(c));return d?(a.w=x.get(d[0].toLowerCase()),c+d[0].length):-1}function e(a,b,c){u.lastIndex=0;var d=u.exec(b.substring(c));return d?(a.w=v.get(d[0].toLowerCase()),c+d[0].length):-1}function f(a,b,c){A.lastIndex=0;var d=A.exec(b.substring(c));return d?(a.m=B.get(d[0].toLowerCase()),c+d[0].length):-1}function g(a,b,c){y.lastIndex=0;var d=y.exec(b.substring(c));return d?(a.m=z.get(d[0].toLowerCase()),c+d[0].length):-1}function h(a,b,d){return c(a,C.c.toString(),b,d)}function i(a,b,d){return c(a,C.x.toString(),b,d)}function j(a,b,d){return c(a,C.X.toString(),b,d)}function k(a,b,c){var d=t.get(b.substring(c,c+=2).toLowerCase());return null==d?-1:(a.p=d,c)}var l=a.dateTime,m=a.date,n=a.time,o=a.periods,p=a.days,q=a.shortDays,r=a.months,s=a.shortMonths;b.utc=function(a){function c(a){try{$g=Ia;var b=new $g;return b._=a,d(b)}finally{$g=Date}}var d=b(a);return c.parse=function(a){try{$g=Ia;var b=d.parse(a);return b&&b._}finally{$g=Date}},c.toString=d.toString,c},b.multi=b.utc.multi=db;var t=Sf.map(),u=Na(p),v=Oa(p),w=Na(q),x=Oa(q),y=Na(r),z=Oa(r),A=Na(s),B=Oa(s);o.forEach(function(a,b){t.set(a.toLowerCase(),b)});var C={a:function(a){return q[a.getDay()]},A:function(a){return p[a.getDay()]},b:function(a){return s[a.getMonth()]},B:function(a){return r[a.getMonth()]},c:b(l),d:function(a,b){return Ma(a.getDate(),b,2)},e:function(a,b){return Ma(a.getDate(),b,2)},H:function(a,b){return Ma(a.getHours(),b,2)},I:function(a,b){return Ma(a.getHours()%12||12,b,2)},j:function(a,b){return Ma(1+Zg.dayOfYear(a),b,3)},L:function(a,b){return Ma(a.getMilliseconds(),b,3)},m:function(a,b){return Ma(a.getMonth()+1,b,2)},M:function(a,b){return Ma(a.getMinutes(),b,2)},p:function(a){return o[+(a.getHours()>=12)]},S:function(a,b){return Ma(a.getSeconds(),b,2)},U:function(a,b){return Ma(Zg.sundayOfYear(a),b,2)},w:function(a){return a.getDay()},W:function(a,b){return Ma(Zg.mondayOfYear(a),b,2)},x:b(m),X:b(n),y:function(a,b){return Ma(a.getFullYear()%100,b,2)},Y:function(a,b){return Ma(a.getFullYear()%1e4,b,4)},Z:bb,"%":function(){return"%"}},D={a:d,A:e,b:f,B:g,c:h,d:Xa,e:Xa,H:Za,I:Za,j:Ya,L:ab,m:Wa,M:$a,p:k,S:_a,U:Qa,w:Pa,W:Ra,x:i,X:j,y:Ta,Y:Sa,Z:Ua,"%":cb};return b}function Ma(a,b,c){var d=a<0?"-":"",e=(d?-a:a)+"",f=e.length;return d+(f68?1900:2e3)}function Wa(a,b,c){bh.lastIndex=0;var d=bh.exec(b.substring(c,c+2));return d?(a.m=d[0]-1,c+d[0].length):-1}function Xa(a,b,c){bh.lastIndex=0;var d=bh.exec(b.substring(c,c+2));return d?(a.d=+d[0],c+d[0].length):-1}function Ya(a,b,c){bh.lastIndex=0;var d=bh.exec(b.substring(c,c+3));return d?(a.j=+d[0],c+d[0].length):-1}function Za(a,b,c){bh.lastIndex=0;var d=bh.exec(b.substring(c,c+2));return d?(a.H=+d[0],c+d[0].length):-1}function $a(a,b,c){bh.lastIndex=0;var d=bh.exec(b.substring(c,c+2));return d?(a.M=+d[0],c+d[0].length):-1}function _a(a,b,c){bh.lastIndex=0;var d=bh.exec(b.substring(c,c+2));return d?(a.S=+d[0],c+d[0].length):-1}function ab(a,b,c){bh.lastIndex=0;var d=bh.exec(b.substring(c,c+3));return d?(a.L=+d[0],c+d[0].length):-1}function bb(a){var b=a.getTimezoneOffset(),c=b>0?"-":"+",d=~~(cg(b)/60),e=cg(b)%60;return c+Ma(d,"0",2)+Ma(e,"0",2)}function cb(a,b,c){ch.lastIndex=0;var d=ch.exec(b.substring(c,c+1));return d?c+d[0].length:-1}function db(a){for(var b=a.length,c=-1;++c=0?1:-1,h=g*c,i=Math.cos(b),j=Math.sin(b),k=f*j,l=e*i+k*Math.cos(h),m=k*g*Math.sin(h);ih.add(Math.atan2(m,l)),d=a,e=i,f=j}var b,c,d,e,f;jh.point=function(g,h){jh.point=a,d=(b=g)*zg,e=Math.cos(h=(c=h)*zg/2+ug/4),f=Math.sin(h)},jh.lineEnd=function(){a(b,c)}}function kb(a){var b=a[0],c=a[1],d=Math.cos(c);return[d*Math.cos(b),d*Math.sin(b),Math.sin(c)]}function lb(a,b){return a[0]*b[0]+a[1]*b[1]+a[2]*b[2]}function mb(a,b){return[a[1]*b[2]-a[2]*b[1],a[2]*b[0]-a[0]*b[2],a[0]*b[1]-a[1]*b[0]]}function nb(a,b){a[0]+=b[0],a[1]+=b[1],a[2]+=b[2]}function ob(a,b){return[a[0]*b,a[1]*b,a[2]*b]}function pb(a){var b=Math.sqrt(a[0]*a[0]+a[1]*a[1]+a[2]*a[2]);a[0]/=b,a[1]/=b,a[2]/=b}function qb(a){return[Math.atan2(a[1],a[0]),Z(a[2])]}function rb(a,b){return cg(a[0]-b[0])=0;--h)e.point((l=k[h])[0],l[1])}else d(n.x,n.p.x,-1,e);n=n.p}n=n.o,k=n.z,o=!o}while(!n.v);e.lineEnd()}}}function zb(a){if(b=a.length){for(var b,c,d=0,e=a[0];++d0){for(v||(f.polygonStart(),v=!0),f.lineStart();++g1&&2&b&&c.push(c.pop().concat(c.shift())),n.push(c.filter(Cb))}var n,o,p,q=b(f),r=e.invert(d[0],d[1]),s={point:g,lineStart:i,lineEnd:j,polygonStart:function(){s.point=k,s.lineStart=l,s.lineEnd=m,n=[],o=[]},polygonEnd:function(){s.point=g,s.lineStart=i,s.lineEnd=j,n=Sf.merge(n);var a=Fb(r,o);n.length?(v||(f.polygonStart(),v=!0),yb(n,Eb,a,c,f)):a&&(v||(f.polygonStart(),v=!0),f.lineStart(),c(null,null,1,f),f.lineEnd()),v&&(f.polygonEnd(),v=!1),n=o=null},sphere:function(){f.polygonStart(),f.lineStart(),c(null,null,1,f),f.lineEnd(),f.polygonEnd()}},t=Db(),u=b(t),v=!1;return s}}function Cb(a){return a.length>1}function Db(){var a,b=[];return{lineStart:function(){b.push(a=[])},point:function(b,c){a.push([b,c])},lineEnd:p,buffer:function(){var c=b;return b=[],a=null,c},rejoin:function(){b.length>1&&b.push(b.pop().concat(b.shift()))}}}function Eb(a,b){return((a=a.x)[0]<0?a[1]-wg-xg:wg-a[1])-((b=b.x)[0]<0?b[1]-wg-xg:wg-b[1])}function Fb(a,b){var c=a[0],d=a[1],e=[Math.sin(c),-Math.cos(c),0],f=0,g=0;ih.reset();for(var h=0,i=b.length;h=0?1:-1,x=w*v,y=x>ug,z=o*t;if(ih.add(Math.atan2(z*w*Math.sin(x),p*u+z*Math.cos(x))),f+=y?v+w*vg:v,y^m>=c^r>=c){var A=mb(kb(l),kb(a));pb(A);var B=mb(e,A);pb(B);var C=(y^v>=0?-1:1)*Z(B[2]);(d>C||d===C&&(A[0]||A[1]))&&(g+=y^v>=0?1:-1)}if(!q++)break;m=r,o=t,p=u,l=a}}return(f<-xg||f0?ug:-ug,i=cg(f-c);cg(i-ug)0?wg:-wg),a.point(e,d),a.lineEnd(),a.lineStart(),a.point(h,d),a.point(f,d),b=0):e!==h&&i>=ug&&(cg(c-e)xg?Math.atan((Math.sin(b)*(f=Math.cos(d))*Math.sin(c)-Math.sin(d)*(e=Math.cos(b))*Math.sin(a))/(e*f*g)):(b+d)/2}function Ib(a,b,c,d){var e;if(null==a)e=c*wg,d.point(-ug,e),d.point(0,e),d.point(ug,e),d.point(ug,0),d.point(ug,-e),d.point(0,-e),d.point(-ug,-e),d.point(-ug,0),d.point(-ug,e);else if(cg(a[0]-b[0])>xg){var f=a[0]f}function c(a){var c,f,i,j,k;return{lineStart:function(){j=i=!1,k=1},point:function(l,m){var n,o=[l,m],p=b(l,m),q=g?p?0:e(l,m):p?e(l+(l<0?ug:-ug),m):0;if(!c&&(j=i=p)&&a.lineStart(),p!==i&&(n=d(c,o),(rb(c,n)||rb(o,n))&&(o[0]+=xg,o[1]+=xg,p=b(o[0],o[1]))),p!==i)k=0,p?(a.lineStart(),n=d(o,c),a.point(n[0],n[1])):(n=d(c,o),a.point(n[0],n[1]),a.lineEnd()),c=n;else if(h&&c&&g^p){var r;q&f||!(r=d(o,c,!0))||(k=0,g?(a.lineStart(),a.point(r[0][0],r[0][1]),a.point(r[1][0],r[1][1]),a.lineEnd()):(a.point(r[1][0],r[1][1]),a.lineEnd(),a.lineStart(),a.point(r[0][0],r[0][1])))}!p||c&&rb(c,o)||a.point(o[0],o[1]),c=o,i=p,f=q},lineEnd:function(){i&&a.lineEnd(),c=null},clean:function(){return k|(j&&i)<<1}}}function d(a,b,c){var d=kb(a),e=kb(b),g=[1,0,0],h=mb(d,e),i=lb(h,h),j=h[0],k=i-j*j;if(!k)return!c&&a;var l=f*i/k,m=-f*j/k,n=mb(g,h),o=ob(g,l);nb(o,ob(h,m));var p=n,q=lb(o,p),r=lb(p,p),s=q*q-r*(lb(o,o)-1);if(!(s<0)){var t=Math.sqrt(s),u=ob(p,(-q-t)/r);if(nb(u,o),u=qb(u),!c)return u;var v,w=a[0],x=b[0],y=a[1],z=b[1];x0^u[1]<(cg(u[0]-w)ug^(w<=u[0]&&u[0]<=x)){var D=ob(p,(-q+t)/r);return nb(D,o),[u,qb(D)]}}}function e(b,c){var d=g?a:ug-a,e=0;return b<-d?e|=1:b>d&&(e|=2),c<-d?e|=4:c>d&&(e|=8),e}var f=Math.cos(a),g=f>0,h=cg(f)>xg;return Bb(b,c,jc(a,6*zg),g?[0,-a]:[-ug,a-ug])}function Kb(a,b,c,d){return function(e){var f,g=e.a,h=e.b,i=g.x,j=g.y,k=h.x,l=h.y,m=0,n=1,o=k-i,p=l-j;if(f=a-i,o||!(f>0)){if(f/=o,o<0){if(f0){if(f>n)return;f>m&&(m=f)}if(f=c-i,o||!(f<0)){if(f/=o,o<0){if(f>n)return;f>m&&(m=f)}else if(o>0){if(f0)){if(f/=p,p<0){if(f0){if(f>n)return;f>m&&(m=f)}if(f=d-j,p||!(f<0)){if(f/=p,p<0){if(f>n)return;f>m&&(m=f)}else if(p>0){if(f0&&(e.a={x:i+m*o,y:j+m*p}),n<1&&(e.b={x:i+n*o,y:j+n*p}),e}}}}}}function Lb(a,b,c,d){function e(d,e){return cg(d[0]-a)0?0:3:cg(d[0]-c)0?2:1:cg(d[1]-b)0?1:0:e>0?3:2}function f(a,b){return g(a.x,b.x)}function g(a,b){var c=e(a,1),d=e(b,1);return c!==d?c-d:0===c?b[1]-a[1]:1===c?a[0]-b[0]:2===c?a[1]-b[1]:b[0]-a[0]}return function(h){function i(a){for(var b=0,c=q.length,d=a[1],e=0;ed&&X(j,f,a)>0&&++b:f[1]<=d&&X(j,f,a)<0&&--b,j=f;return 0!==b}function j(f,h,i,j){var k=0,l=0;if(null==f||(k=e(f,i))!==(l=e(h,i))||g(f,h)<0^i>0)do{j.point(0===k||3===k?a:c,k>1?d:b)}while((k=(k+i+4)%4)!==l);else j.point(h[0],h[1])}function k(e,f){return a<=e&&e<=c&&b<=f&&f<=d}function l(a,b){k(a,b)&&h.point(a,b)}function m(){D.point=o,q&&q.push(r=[]),y=!0,x=!1,v=w=NaN}function n(){p&&(o(s,t),u&&x&&B.rejoin(),p.push(B.buffer())),D.point=l,x&&h.lineEnd()}function o(a,b){a=Math.max(-xh,Math.min(xh,a)),b=Math.max(-xh,Math.min(xh,b));var c=k(a,b);if(q&&r.push([a,b]),y)s=a,t=b,u=c,y=!1,c&&(h.lineStart(),h.point(a,b));else if(c&&x)h.point(a,b);else{var d={a:{x:v,y:w},b:{x:a,y:b}};C(d)?(x||(h.lineStart(),h.point(d.a.x,d.a.y)),h.point(d.b.x,d.b.y),c||h.lineEnd(),z=!1):c&&(h.lineStart(),h.point(a,b),z=!1)}v=a,w=b,x=c}var p,q,r,s,t,u,v,w,x,y,z,A=h,B=Db(),C=Kb(a,b,c,d),D={point:l,lineStart:m,lineEnd:n,polygonStart:function(){h=B,p=[],q=[],z=!0},polygonEnd:function(){h=A,p=Sf.merge(p);var b=i([a,d]),c=z&&b,e=p.length;(c||e)&&(h.polygonStart(),c&&(h.lineStart(),j(null,null,1,h),h.lineEnd()),e&&yb(p,f,b,j,h),h.polygonEnd()),p=q=r=null}};return D}}function Mb(a,b){function c(c,d){return c=a(c,d),b(c[0],c[1])}return a.invert&&b.invert&&(c.invert=function(c,d){return(c=b.invert(c,d))&&a.invert(c[0],c[1])}),c}function Nb(a){var b=0,c=ug/3,d=bc(a),e=d(b,c);return e.parallels=function(a){return arguments.length?d(b=a[0]*ug/180,c=a[1]*ug/180):[b/ug*180,c/ug*180]},e}function Ob(a,b){function c(a,b){var c=Math.sqrt(f-2*e*Math.sin(b))/e;return[c*Math.sin(a*=e),g-c*Math.cos(a)]}var d=Math.sin(a),e=(d+Math.sin(b))/2,f=1+d*(2*e-d),g=Math.sqrt(f)/e;return c.invert=function(a,b){var c=g-b;return[Math.atan2(a,c)/e,Z((f-(a*a+c*c)*e*e)/(2*e))]},c}function Pb(){function a(a,b){zh+=e*a-d*b,d=a,e=b}var b,c,d,e;Eh.point=function(f,g){Eh.point=a,b=d=f,c=e=g},Eh.lineEnd=function(){a(b,c)}}function Qb(a,b){aCh&&(Ch=a),bDh&&(Dh=b)}function Rb(){function a(a,b){g.push("M",a,",",b,f)}function b(a,b){g.push("M",a,",",b),h.point=c}function c(a,b){g.push("L",a,",",b)}function d(){h.point=a}function e(){g.push("Z")}var f=Sb(4.5),g=[],h={point:a,lineStart:function(){h.point=b},lineEnd:d,polygonStart:function(){h.lineEnd=e},polygonEnd:function(){h.lineEnd=d,h.point=a},pointRadius:function(a){return f=Sb(a),h},result:function(){if(g.length){var a=g.join("");return g=[],a}}};return h}function Sb(a){return"m0,"+a+"a"+a+","+a+" 0 1,1 0,"+-2*a+"a"+a+","+a+" 0 1,1 0,"+2*a+"z"}function Tb(a,b){mh+=a,nh+=b,++oh}function Ub(){function a(a,d){var e=a-b,f=d-c,g=Math.sqrt(e*e+f*f);ph+=g*(b+a)/2,qh+=g*(c+d)/2,rh+=g,Tb(b=a,c=d)}var b,c;Gh.point=function(d,e){Gh.point=a,Tb(b=d,c=e)}}function Vb(){Gh.point=Tb}function Wb(){function a(a,b){var c=a-d,f=b-e,g=Math.sqrt(c*c+f*f);ph+=g*(d+a)/2,qh+=g*(e+b)/2,rh+=g,g=e*a-d*b,sh+=g*(d+a),th+=g*(e+b),uh+=3*g,Tb(d=a,e=b)}var b,c,d,e;Gh.point=function(f,g){Gh.point=a,Tb(b=d=f,c=e=g)},Gh.lineEnd=function(){a(b,c)}}function Xb(a){function b(b,c){a.moveTo(b,c),a.arc(b,c,g,0,vg)}function c(b,c){a.moveTo(b,c),h.point=d}function d(b,c){a.lineTo(b,c)}function e(){h.point=b}function f(){a.closePath()}var g=4.5,h={point:b,lineStart:function(){h.point=c},lineEnd:e,polygonStart:function(){h.lineEnd=f},polygonEnd:function(){h.lineEnd=e,h.point=b},pointRadius:function(a){return g=a,h},result:p};return h}function Yb(a){function b(a){return(h?d:c)(a)}function c(b){return _b(b,function(c,d){c=a(c,d),b.point(c[0],c[1])})}function d(b){function c(c,d){c=a(c,d),b.point(c[0],c[1])}function d(){t=NaN,y.point=f,b.lineStart()}function f(c,d){var f=kb([c,d]),g=a(c,d);e(t,u,s,v,w,x,t=g[0],u=g[1],s=c,v=f[0],w=f[1],x=f[2],h,b),b.point(t,u)}function g(){y.point=c,b.lineEnd()}function i(){d(),y.point=j,y.lineEnd=k}function j(a,b){f(l=a,m=b),n=t,o=u,p=v,q=w,r=x,y.point=f}function k(){e(t,u,s,v,w,x,n,o,l,p,q,r,h,b),y.lineEnd=g,g()}var l,m,n,o,p,q,r,s,t,u,v,w,x,y={point:c,lineStart:d,lineEnd:g,polygonStart:function(){b.polygonStart(),y.lineStart=i},polygonEnd:function(){b.polygonEnd(),y.lineStart=d}};return y}function e(b,c,d,h,i,j,k,l,m,n,o,p,q,r){var s=k-b,t=l-c,u=s*s+t*t;if(u>4*f&&q--){var v=h+n,w=i+o,x=j+p,y=Math.sqrt(v*v+w*w+x*x),z=Math.asin(x/=y),A=cg(cg(x)-1)f||cg((s*E+t*F)/u-.5)>.3||h*n+i*o+j*p0&&16,b):Math.sqrt(f)},b}function Zb(a){var b=Yb(function(b,c){return a([b*Ag,c*Ag])});return function(a){return cc(b(a))}}function $b(a){this.stream=a}function _b(a,b){return{point:b,sphere:function(){a.sphere()},lineStart:function(){a.lineStart()},lineEnd:function(){a.lineEnd()},polygonStart:function(){a.polygonStart()},polygonEnd:function(){a.polygonEnd()}}}function ac(a){return bc(function(){return a})()}function bc(a){function b(a){return a=h(a[0]*zg,a[1]*zg),[a[0]*m+i,j-a[1]*m]}function c(a){return(a=h.invert((a[0]-i)/m,(j-a[1])/m))&&[a[0]*Ag,a[1]*Ag]}function d(){h=Mb(g=fc(r,s,t),f);var a=f(p,q);return i=n-a[0]*m,j=o+a[1]*m,e()}function e(){return k&&(k.valid=!1,k=null),b}var f,g,h,i,j,k,l=Yb(function(a,b){return a=f(a,b),[a[0]*m+i,j-a[1]*m]}),m=150,n=480,o=250,p=0,q=0,r=0,s=0,t=0,u=wh,v=xa,w=null,x=null;return b.stream=function(a){return k&&(k.valid=!1),k=cc(u(g,l(v(a)))),k.valid=!0,k},b.clipAngle=function(a){return arguments.length?(u=null==a?(w=a,wh):Jb((w=+a)*zg),e()):w},b.clipExtent=function(a){return arguments.length?(x=a,v=a?Lb(a[0][0],a[0][1],a[1][0],a[1][1]):xa,e()):x},b.scale=function(a){return arguments.length?(m=+a,d()):m},b.translate=function(a){return arguments.length?(n=+a[0],o=+a[1],d()):[n,o]},b.center=function(a){return arguments.length?(p=a[0]%360*zg,q=a[1]%360*zg,d()):[p*Ag,q*Ag]},b.rotate=function(a){return arguments.length?(r=a[0]%360*zg,s=a[1]%360*zg,t=a.length>2?a[2]%360*zg:0,d()):[r*Ag,s*Ag,t*Ag]},Sf.rebind(b,l,"precision"),function(){return f=a.apply(this,arguments),b.invert=f.invert&&c,d()}}function cc(a){return _b(a,function(b,c){a.point(b*zg,c*zg)})}function dc(a,b){return[a,b]}function ec(a,b){return[a>ug?a-vg:a<-ug?a+vg:a,b]}function fc(a,b,c){return a?b||c?Mb(hc(a),ic(b,c)):hc(a):b||c?ic(b,c):ec}function gc(a){return function(b,c){return b+=a,[b>ug?b-vg:b<-ug?b+vg:b,c]}}function hc(a){var b=gc(a);return b.invert=gc(-a),b}function ic(a,b){function c(a,b){var c=Math.cos(b),h=Math.cos(a)*c,i=Math.sin(a)*c,j=Math.sin(b),k=j*d+h*e;return[Math.atan2(i*f-k*g,h*d-j*e),Z(k*f+i*g)]}var d=Math.cos(a),e=Math.sin(a),f=Math.cos(b),g=Math.sin(b);return c.invert=function(a,b){var c=Math.cos(b),h=Math.cos(a)*c,i=Math.sin(a)*c,j=Math.sin(b),k=j*f-i*g;return[Math.atan2(i*f+j*g,h*d+k*e),Z(k*d-h*e)]},c}function jc(a,b){var c=Math.cos(a),d=Math.sin(a);return function(e,f,g,h){var i=g*b;null!=e?(e=kc(c,e),f=kc(c,f),(g>0?ef)&&(e+=g*vg)):(e=a+g*vg,f=a-.5*i);for(var j,k=e;g>0?k>f:k0?b<-wg+xg&&(b=-wg+xg):b>wg-xg&&(b=wg-xg);var c=g/Math.pow(e(b),f);return[c*Math.sin(f*a),g-c*Math.cos(f*a)]}var d=Math.cos(a),e=function(a){return Math.tan(ug/4+a/2)},f=a===b?Math.sin(a):Math.log(d/Math.cos(b))/Math.log(e(b)/e(a)),g=d*Math.pow(e(a),f)/f;return f?(c.invert=function(a,b){var c=g-b,d=W(f)*Math.sqrt(a*a+c*c);return[Math.atan2(a,c)/f,2*Math.atan(Math.pow(g/d,1/f))-wg]},c):uc}function tc(a,b){function c(a,b){var c=f-b;return[c*Math.sin(e*a),f-c*Math.cos(e*a)]}var d=Math.cos(a),e=a===b?Math.sin(a):(d-Math.cos(b))/(b-a),f=d/e+a;return cg(e)1&&X(a[c[d-2]],a[c[d-1]],a[e])<=0;)--d;c[d++]=e}return c.slice(0,d)}function Ac(a,b){return a[0]-b[0]||a[1]-b[1]}function Bc(a,b,c){return(c[0]-b[0])*(a[1]-b[1])<(c[1]-b[1])*(a[0]-b[0])}function Cc(a,b,c,d){var e=a[0],f=c[0],g=b[0]-e,h=d[0]-f,i=a[1],j=c[1],k=b[1]-i,l=d[1]-j,m=(h*(i-j)-l*(e-f))/(l*g-h*k);return[e+m*g,i+m*k]}function Dc(a){var b=a[0],c=a[a.length-1];return!(b[0]-c[0]||b[1]-c[1])}function Ec(){Zc(this),this.edge=this.site=this.circle=null}function Fc(a){var b=Uh.pop()||new Ec;return b.site=a,b}function Gc(a){Qc(a),Rh.remove(a),Uh.push(a),Zc(a)}function Hc(a){var b=a.circle,c=b.x,d=b.cy,e={x:c,y:d},f=a.P,g=a.N,h=[a];Gc(a);for(var i=f;i.circle&&cg(c-i.circle.x)xg)h=h.L;else{if(!((e=f-Kc(h,g))>xg)){d>-xg?(b=h.P,c=h):e>-xg?(b=h,c=h.N):b=c=h;break}if(!h.R){b=h;break}h=h.R}var i=Fc(a);if(Rh.insert(b,i),b||c){if(b===c)return Qc(b),c=Fc(b.site),Rh.insert(i,c),i.edge=c.edge=Uc(b.site,i.site),Pc(b),void Pc(c);if(!c)return void(i.edge=Uc(b.site,i.site));Qc(b),Qc(c);var j=b.site,k=j.x,l=j.y,m=a.x-k,n=a.y-l,o=c.site,p=o.x-k,q=o.y-l,r=2*(m*q-n*p),s=m*m+n*n,t=p*p+q*q,u={x:(q*s-n*t)/r+k,y:(m*t-p*s)/r+l};Wc(c.edge,j,o,u),i.edge=Uc(j,a,null,u),c.edge=Uc(a,o,null,u),Pc(b),Pc(c)}}function Jc(a,b){var c=a.site,d=c.x,e=c.y,f=e-b;if(!f)return d;var g=a.P;if(!g)return-1/0;c=g.site;var h=c.x,i=c.y,j=i-b;if(!j)return h;var k=h-d,l=1/f-1/j,m=k/j;return l?(-m+Math.sqrt(m*m-2*l*(k*k/(-2*j)-i+j/2+e-f/2)))/l+d:(d+h)/2}function Kc(a,b){var c=a.N;if(c)return Jc(c,b);var d=a.site;return d.y===b?d.x:1/0}function Lc(a){this.site=a,this.edges=[]}function Mc(a){for(var b,c,d,e,f,g,h,i,j,k,l=a[0][0],m=a[1][0],n=a[0][1],o=a[1][1],p=Qh,q=p.length;q--;)if((f=p[q])&&f.prepare())for(h=f.edges,i=h.length,g=0;gxg||cg(e-c)>xg)&&(h.splice(g,0,new Xc(Vc(f.site,k,cg(d-l)xg?{x:l,y:cg(b-l)xg?{x:cg(c-o)xg?{x:m,y:cg(b-m)xg?{x:cg(c-n)=-yg)){var n=i*i+j*j,o=k*k+l*l,p=(l*n-j*o)/m,q=(i*o-k*n)/m,l=q+h,r=Vh.pop()||new Oc;r.arc=a,r.site=e,r.x=p+g,r.y=l+Math.sqrt(p*p+q*q),r.cy=l,a.circle=r;for(var s=null,t=Th._;t;)if(r.y=h)return;if(m>o){if(f){if(f.y>=j)return}else f={x:q,y:i};c={x:q,y:j}}else{if(f){if(f.y1)if(m>o){if(f){if(f.y>=j)return}else f={x:(i-e)/d,y:i};c={x:(j-e)/d,y:j}}else{if(f){if(f.y=h)return}else f={x:g,y:d*g+e};c={x:h,y:d*h+e}}else{if(f){if(f.xf&&(e=b.substring(f,e),h[g]?h[g]+=e:h[++g]=e),(c=c[0])===(d=d[0])?h[g]?h[g]+=d:h[++g]=d:(h[++g]=null,i.push({i:g,x:kd(c,d)})),f=Yh.lastIndex;return f=0&&!(c=Sf.interpolators[d](a,b)););return c}function nd(a,b){var c,d=[],e=[],f=a.length,g=b.length,h=Math.min(a.length,b.length);for(c=0;c=1?1:a(b)}}function pd(a){return function(b){return 1-a(1-b)}}function qd(a){return function(b){return.5*(b<.5?a(2*b):2-a(2-2*b))}}function rd(a){return a*a}function sd(a){return a*a*a}function td(a){if(a<=0)return 0;if(a>=1)return 1;var b=a*a,c=b*a;return 4*(a<.5?c:3*(a-b)+c-.75)}function ud(a){return function(b){return Math.pow(b,a)}}function vd(a){return 1-Math.cos(a*wg)}function wd(a){return Math.pow(2,10*(a-1))}function xd(a){return 1-Math.sqrt(1-a*a)}function yd(a,b){var c;return arguments.length<2&&(b=.45),arguments.length?c=b/vg*Math.asin(1/a):(a=1,c=b/4),function(d){return 1+a*Math.pow(2,-10*d)*Math.sin((d-c)*vg/b)}}function zd(a){return a||(a=1.70158),function(b){return b*b*((a+1)*b-a)}}function Ad(a){return a<1/2.75?7.5625*a*a:a<2/2.75?7.5625*(a-=1.5/2.75)*a+.75:a<2.5/2.75?7.5625*(a-=2.25/2.75)*a+.9375:7.5625*(a-=2.625/2.75)*a+.984375}function Bd(a,b){a=Sf.hcl(a),b=Sf.hcl(b);var c=a.h,d=a.c,e=a.l,f=b.h-c,g=b.c-d,h=b.l-e;return isNaN(g)&&(g=0,d=isNaN(d)?b.c:d),isNaN(f)?(f=0,c=isNaN(c)?b.h:c):f>180?f-=360:f<-180&&(f+=360),function(a){return ga(c+f*a,d+g*a,e+h*a)+""}}function Cd(a,b){a=Sf.hsl(a),b=Sf.hsl(b);var c=a.h,d=a.s,e=a.l,f=b.h-c,g=b.s-d,h=b.l-e;return isNaN(g)&&(g=0,d=isNaN(d)?b.s:d),isNaN(f)?(f=0,c=isNaN(c)?b.h:c):f>180?f-=360:f<-180&&(f+=360),function(a){return ea(c+f*a,d+g*a,e+h*a)+""}}function Dd(a,b){a=Sf.lab(a),b=Sf.lab(b);var c=a.l,d=a.a,e=a.b,f=b.l-c,g=b.a-d,h=b.b-e;return function(a){return ia(c+f*a,d+g*a,e+h*a)+""}}function Ed(a,b){return b-=a,function(c){return Math.round(a+b*c)}}function Fd(a){var b=[a.a,a.b],c=[a.c,a.d],d=Hd(b),e=Gd(b,c),f=Hd(Id(c,b,-e))||0;b[0]*c[1]180?k+=360:k-j>180&&(j+=360),e.push({i:d.push(d.pop()+"rotate(",null,")")-2,x:kd(j,k)})):k&&d.push(d.pop()+"rotate("+k+")"),l!=m?e.push({i:d.push(d.pop()+"skewX(",null,")")-2,x:kd(l,m)}):m&&d.push(d.pop()+"skewX("+m+")"),n[0]!=o[0]||n[1]!=o[1]?(c=d.push(d.pop()+"scale(",null,",",null,")"),e.push({i:c-4,x:kd(n[0],o[0])},{i:c-2,x:kd(n[1],o[1])})):1==o[0]&&1==o[1]||d.push(d.pop()+"scale("+o+")"),c=e.length,function(a){for(var b,f=-1;++f=0;)c.push(e[d])}function Wd(a,b){for(var c=[a],d=[];null!=(a=c.pop());)if(d.push(a),(f=a.children)&&(e=f.length))for(var e,f,g=-1;++ge&&(d=c,e=b);return d}function fe(a){return a.reduce(ge,0)}function ge(a,b){return a+b[1]}function he(a,b){return ie(a,Math.ceil(Math.log(b.length)/Math.LN2+1))}function ie(a,b){for(var c=-1,d=+a[0],e=(a[1]-d)/b,f=[];++c<=b;)f[c]=e*c+d;return f}function je(a){return[Sf.min(a),Sf.max(a)]}function ke(a,b){return a.value-b.value}function le(a,b){var c=a._pack_next;a._pack_next=b,b._pack_prev=a,b._pack_next=c,c._pack_prev=b}function me(a,b){a._pack_next=b,b._pack_prev=a}function ne(a,b){var c=b.x-a.x,d=b.y-a.y,e=a.r+b.r;return.999*e*e>c*c+d*d}function oe(a){function b(a){k=Math.min(a.x-a.r,k),l=Math.max(a.x+a.r,l),m=Math.min(a.y-a.r,m),n=Math.max(a.y+a.r,n)}if((c=a.children)&&(j=c.length)){var c,d,e,f,g,h,i,j,k=1/0,l=-1/0,m=1/0,n=-1/0;if(c.forEach(pe),d=c[0],d.x=-d.r,d.y=0,b(d),j>1&&(e=c[1],e.x=e.r,e.y=0,b(e),j>2))for(f=c[2],se(d,e,f),b(f),le(d,f),d._pack_prev=f,le(f,e),e=d._pack_next,g=3;g=0;)b=e[f],b.z+=c,b.m+=c,c+=b.s+(d+=b.c)}function ye(a,b,c){return a.a.parent===b.parent?a.a:c}function ze(a){return 1+Sf.max(a,function(a){return a.y})}function Ae(a){return a.reduce(function(a,b){return a+b.x},0)/a.length}function Be(a){var b=a.children;return b&&b.length?Be(b[0]):a}function Ce(a){var b,c=a.children;return c&&(b=c.length)?Ce(c[b-1]):a}function De(a){return{x:a.x,y:a.y,dx:a.dx,dy:a.dy}}function Ee(a,b){var c=a.x+b[3],d=a.y+b[0],e=a.dx-b[1]-b[3],f=a.dy-b[0]-b[2];return e<0&&(c+=e/2,e=0),f<0&&(d+=f/2,f=0),{x:c,y:d,dx:e,dy:f}}function Fe(a){var b=a[0],c=a[a.length-1];return b2?Ke:He,i=d?Ld:Kd;return g=e(a,b,i,c),h=e(b,a,i,md),f}function f(a){return g(a)}var g,h;return f.invert=function(a){return h(a)},f.domain=function(b){return arguments.length?(a=b.map(Number),e()):a},f.range=function(a){return arguments.length?(b=a,e()):b},f.rangeRound=function(a){return f.range(a).interpolate(Ed)},f.clamp=function(a){return arguments.length?(d=a,e()):d},f.interpolate=function(a){return arguments.length?(c=a,e()):c},f.ticks=function(b){return Pe(a,b)},f.tickFormat=function(b,c){return Qe(a,b,c)},f.nice=function(b){return Ne(a,b),e()},f.copy=function(){return Le(a,b,c,d)},e()}function Me(a,b){return Sf.rebind(a,b,"range","rangeRound","interpolate","clamp")}function Ne(a,b){return Ie(a,Je(Oe(a,b)[2]))}function Oe(a,b){null==b&&(b=10);var c=Fe(a),d=c[1]-c[0],e=Math.pow(10,Math.floor(Math.log(d/b)/Math.LN10)),f=b/d*e;return f<=.15?e*=10:f<=.35?e*=5:f<=.75&&(e*=2),c[0]=Math.ceil(c[0]/e)*e,c[1]=Math.floor(c[1]/e)*e+.5*e,c[2]=e,c}function Pe(a,b){return Sf.range.apply(Sf,Oe(a,b))}function Qe(a,b,c){var d=Oe(a,b);if(c){var e=Xg.exec(c);if(e.shift(),"s"===e[8]){var f=Sf.formatPrefix(Math.max(cg(d[0]),cg(d[1])));return e[7]||(e[7]="."+Re(f.scale(d[2]))),e[8]="f",c=Sf.format(e.join("")),function(a){return c(f.scale(a))+f.symbol}}e[7]||(e[7]="."+Se(e[8],d)),c=e.join("")}else c=",."+Re(d[2])+"f";return Sf.format(c)}function Re(a){return-Math.floor(Math.log(a)/Math.LN10+.01)}function Se(a,b){var c=Re(b[2]);return a in ii?Math.abs(c-Re(Math.max(cg(b[0]),cg(b[1]))))+ +("e"!==a):c-2*("%"===a)}function Te(a,b,c,d){function e(a){return(c?Math.log(a<0?0:a):-Math.log(a>0?0:-a))/Math.log(b)}function f(a){return c?Math.pow(b,a):-Math.pow(b,-a)}function g(b){return a(e(b))}return g.invert=function(b){return f(a.invert(b))},g.domain=function(b){return arguments.length?(c=b[0]>=0,a.domain((d=b.map(Number)).map(e)),g):d},g.base=function(c){return arguments.length?(b=+c,a.domain(d.map(e)),g):b},g.nice=function(){var b=Ie(d.map(e),c?Math:ki);return a.domain(b),d=b.map(f),g},g.ticks=function(){var a=Fe(d),g=[],h=a[0],i=a[1],j=Math.floor(e(h)),k=Math.ceil(e(i)),l=b%1?2:b;if(isFinite(k-j)){if(c){for(;j0;m--)g.push(f(j)*m);for(j=0;g[j]i;k--);g=g.slice(j,k)}return g},g.tickFormat=function(a,b){if(!arguments.length)return ji;arguments.length<2?b=ji:"function"!=typeof b&&(b=Sf.format(b));var d,h=Math.max(.1,a/g.ticks().length),i=c?(d=1e-12,Math.ceil):(d=-1e-12,Math.floor);return function(a){return a/f(i(e(a)+d))<=h?b(a):""}},g.copy=function(){return Te(a.copy(),b,c,d)},Me(g,a)}function Ue(a,b,c){function d(b){return a(e(b))}var e=Ve(b),f=Ve(1/b);return d.invert=function(b){return f(a.invert(b))},d.domain=function(b){return arguments.length?(a.domain((c=b.map(Number)).map(e)),d):c},d.ticks=function(a){return Pe(c,a)},d.tickFormat=function(a,b){return Qe(c,a,b)},d.nice=function(a){return d.domain(Ne(c,a))},d.exponent=function(g){return arguments.length?(e=Ve(b=g),f=Ve(1/b),a.domain(c.map(e)),d):b},d.copy=function(){return Ue(a.copy(),b,c)},Me(d,a)}function Ve(a){return function(b){return b<0?-Math.pow(-b,a):Math.pow(b,a)}}function We(a,b){function c(c){return f[((e.get(c)||("range"===b.t?e.set(c,a.push(c)):NaN))-1)%f.length]}function d(b,c){return Sf.range(a.length).map(function(a){return b+c*a})}var e,f,h;return c.domain=function(d){if(!arguments.length)return a;a=[],e=new g;for(var f,h=-1,i=d.length;++h0?g[a-1]:c[0],a1&&e.push("H",d[0]),e.join("")}function hf(a){for(var b=0,c=a.length,d=a[0],e=[d[0],",",d[1]];++b1){h=b[1],f=a[i],i++,d+="C"+(e[0]+g[0])+","+(e[1]+g[1])+","+(f[0]-h[0])+","+(f[1]-h[1])+","+f[0]+","+f[1];for(var j=2;j9&&(e=3*b/Math.sqrt(e),g[h]=e*c,g[h+1]=e*d));for(h=-1;++h<=i;)e=(a[Math.min(i,h+1)][0]-a[Math.max(0,h-1)][0])/(6*(1+g[h]*g[h])),f.push([e||0,g[h]*e||0]);return f}function yf(a){return a.length<3?ef(a):a[0]+nf(a,xf(a))}function zf(a){for(var b,c,d,e=-1,f=a.length;++ec)return j();e.active=c,f.event&&f.event.start.call(a,k,b),f.tween.forEach(function(c,d){(d=d.call(a,k,b))&&p.push(d)}),Sf.timer(function(){return o.c=i(d||1)?xb:i,1},0,h)}function i(d){if(e.active!==c)return j();for(var g=d/n,h=l(g),i=p.length;i>0;)p[--i].call(a,h);return g>=1?(f.event&&f.event.end.call(a,k,b),j()):void 0}function j(){return--e.count?delete e[c]:delete a.__transition__,1}var k=a.__data__,l=f.ease,m=f.delay,n=f.duration,o=Ug,p=[];if(o.t=m+h,m<=d)return g(d-m);o.c=g},0,h)}}function Lf(a,b){a.attr("transform",function(a){return"translate("+b(a)+",0)"})}function Mf(a,b){a.attr("transform",function(a){return"translate(0,"+b(a)+")"})}function Nf(a){return a.toISOString()}function Of(a,b,c){function d(b){return a(b)}function e(a,c){var d=a[1]-a[0],e=d/c,f=Sf.bisect(Ji,e);return f==Ji.length?[b.year,Oe(a.map(function(a){return a/31536e6}),c)[2]]:f?b[e/Ji[f-1]1?{floor:function(b){for(;c(b=a.floor(b));)b=Pf(b-1);return b},ceil:function(b){for(;c(b=a.ceil(b));)b=Pf(+b+1);return b}}:a))},d.ticks=function(a,b){var c=Fe(d.domain()),f=null==a?e(c,10):"number"==typeof a?e(c,a):!a.range&&[{range:a},b];return f&&(a=f[0],b=f[1]),a.range(c[0],Pf(+c[1]+1),b<1?1:b)},d.tickFormat=function(){return c},d.copy=function(){return Of(a.copy(),b,c)},Me(d,a)}function Pf(a){return new Date(a)}function Qf(a){return JSON.parse(a.responseText)}function Rf(a){var b=Vf.createRange();return b.selectNode(Vf.body),b.createContextualFragment(a.responseText)}var Sf={version:"3.4.11"};Date.now||(Date.now=function(){return+new Date});var Tf=[].slice,Uf=function(a){return Tf.call(a)},Vf=document,Wf=Vf.documentElement,Xf=window;try{Uf(Wf.childNodes)[0].nodeType}catch(a){Uf=function(a){for(var b=a.length,c=new Array(b);b--;)c[b]=a[b];return c}}try{Vf.createElement("div").style.setProperty("opacity",0,"")}catch(a){var Yf=Xf.Element.prototype,Zf=Yf.setAttribute,$f=Yf.setAttributeNS,_f=Xf.CSSStyleDeclaration.prototype,ag=_f.setProperty;Yf.setAttribute=function(a,b){Zf.call(this,a,b+"")},Yf.setAttributeNS=function(a,b,c){$f.call(this,a,b,c+"")},_f.setProperty=function(a,b,c){ag.call(this,a,b+"",c)}}Sf.ascending=a,Sf.descending=function(a,b){return ba?1:b>=a?0:NaN},Sf.min=function(a,b){var c,d,e=-1,f=a.length;if(1===arguments.length){for(;++ed&&(c=d)}else{for(;++ed&&(c=d)}return c},Sf.max=function(a,b){var c,d,e=-1,f=a.length;if(1===arguments.length){for(;++ec&&(c=d)}else{for(;++ec&&(c=d)}return c},Sf.extent=function(a,b){var c,d,e,f=-1,g=a.length;if(1===arguments.length){for(;++fd&&(c=d),ed&&(c=d),e1&&(c=c.map(d)),c=c.filter(b),c.length?Sf.quantile(c.sort(a),.5):void 0};var bg=c(a);Sf.bisectLeft=bg.left,Sf.bisect=Sf.bisectRight=bg.right,Sf.bisector=function(b){return c(1===b.length?function(c,d){return a(b(c),d)}:b)},Sf.shuffle=function(a){for(var b,c,d=a.length;d;)c=Math.random()*d--|0,b=a[d],a[d]=a[c],a[c]=b;return a},Sf.permute=function(a,b){for(var c=b.length,d=new Array(c);c--;)d[c]=a[b[c]];return d},Sf.pairs=function(a){for(var b=0,c=a.length-1,d=a[0],e=new Array(c<0?0:c);b=0;)for(d=a[e],b=d.length;--b>=0;)c[--g]=d[b];return c};var cg=Math.abs;Sf.range=function(a,b,c){if(arguments.length<3&&(c=1,arguments.length<2&&(b=a,a=0)),(b-a)/c==1/0)throw new Error("infinite range");var d,f=[],g=e(cg(c)),h=-1;if(a*=g,b*=g,c*=g,c<0)for(;(d=a+c*++h)>b;)f.push(d/g);else for(;(d=a+c*++h)=f.length)return d?d.call(e,h):c?h.sort(c):h;for(var j,k,l,m,n=-1,o=h.length,p=f[i++],q=new g;++n=f.length)return a;var d=[],e=h[c++];return a.forEach(function(a,e){d.push({key:a,values:b(e,c)})}),e?d.sort(function(a,b){return e(a.key,b.key)}):d}var c,d,e={},f=[],h=[];return e.map=function(b,c){return a(c,b,0)},e.entries=function(c){return b(a(Sf.map,c,0),0)},e.key=function(a){return f.push(a),e},e.sortKeys=function(a){return h[f.length-1]=a,e},e.sortValues=function(a){return c=a,e},e.rollup=function(a){return d=a,e},e},Sf.set=function(a){var b=new m;if(a)for(var c=0,d=a.length;c=0&&(d=a.substring(c+1),a=a.substring(0,c)),a)return arguments.length<2?this[a].on(d):this[a].on(d,b);if(2===arguments.length){if(null==b)for(a in this)this.hasOwnProperty(a)&&this[a].on(d,null);return this}},Sf.event=null,Sf.requote=function(a){return a.replace(gg,"\\$&")};var gg=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g,hg={}.__proto__?function(a,b){a.__proto__=b}:function(a,b){for(var c in b)a[c]=b[c]},ig=function(a,b){return b.querySelector(a)},jg=function(a,b){return b.querySelectorAll(a)},kg=Wf.matches||Wf[o(Wf,"matchesSelector")],lg=function(a,b){return kg.call(a,b)};"function"==typeof Sizzle&&(ig=function(a,b){return Sizzle(a,b)[0]||null},jg=Sizzle,lg=Sizzle.matchesSelector),Sf.selection=function(){return pg};var mg=Sf.selection.prototype=[];mg.select=function(a){var b,c,d,e,f=[];a=w(a);for(var g=-1,h=this.length;++g=0&&(c=a.substring(0,b),a=a.substring(b+1)),ng.hasOwnProperty(c)?{space:ng[c],local:a}:a}},mg.attr=function(a,b){if(arguments.length<2){if("string"==typeof a){var c=this.node();return a=Sf.ns.qualify(a),a.local?c.getAttributeNS(a.space,a.local):c.getAttribute(a)}for(b in a)this.each(y(b,a[b]));return this}return this.each(y(a,b))},mg.classed=function(a,b){if(arguments.length<2){if("string"==typeof a){var c=this.node(),d=(a=B(a)).length,e=-1;if(b=c.classList){for(;++e=0;)(c=d[e])&&(f&&f!==c.nextSibling&&f.parentNode.insertBefore(c,f),f=c);return this},mg.sort=function(a){a=J.apply(this,arguments);for(var b=-1,c=this.length;++b1){var m=j[0],t=j[1],x=m[0]-t[0],z=m[1]-t[1];q=x*x+z*z}}function f(){for(var a,b,c,f,g=Sf.touches(n),i=0,j=g.length;i=j)return g;if(e)return e=!1,f;var b=k;if(34===a.charCodeAt(b)){for(var c=b;c++=^]))?([+\- ])?([$#])?(0)?(\d+)?(,)?(\.-?\d+)?([a-z%])?/i,Yg=Sf.map({b:function(a){return a.toString(2)},c:function(a){return String.fromCharCode(a)},o:function(a){return a.toString(8)},x:function(a){return a.toString(16)},X:function(a){return a.toString(16).toUpperCase()},g:function(a,b){return a.toPrecision(b)},e:function(a,b){return a.toExponential(b)},f:function(a,b){return a.toFixed(b)},r:function(a,b){return(a=Sf.round(a,Ea(a,b))).toFixed(Math.max(0,Math.min(20,Ea(a*(1+1e-15),b))))}}),Zg=Sf.time={},$g=Date;Ia.prototype={getDate:function(){return this._.getUTCDate()},getDay:function(){return this._.getUTCDay()},getFullYear:function(){return this._.getUTCFullYear()},getHours:function(){return this._.getUTCHours()},getMilliseconds:function(){return this._.getUTCMilliseconds()},getMinutes:function(){return this._.getUTCMinutes()},getMonth:function(){return this._.getUTCMonth()},getSeconds:function(){return this._.getUTCSeconds()},getTime:function(){return this._.getTime()},getTimezoneOffset:function(){return 0},valueOf:function(){return this._.valueOf()},setDate:function(){_g.setUTCDate.apply(this._,arguments)},setDay:function(){_g.setUTCDay.apply(this._,arguments)},setFullYear:function(){_g.setUTCFullYear.apply(this._,arguments)},setHours:function(){_g.setUTCHours.apply(this._,arguments)},setMilliseconds:function(){_g.setUTCMilliseconds.apply(this._,arguments)},setMinutes:function(){_g.setUTCMinutes.apply(this._,arguments)},setMonth:function(){_g.setUTCMonth.apply(this._,arguments)},setSeconds:function(){_g.setUTCSeconds.apply(this._,arguments)},setTime:function(){_g.setTime.apply(this._,arguments)}};var _g=Date.prototype;Zg.year=Ja(function(a){return a=Zg.day(a),a.setMonth(0,1),a},function(a,b){a.setFullYear(a.getFullYear()+b)},function(a){return a.getFullYear()}),Zg.years=Zg.year.range,Zg.years.utc=Zg.year.utc.range,Zg.day=Ja(function(a){var b=new $g(2e3,0);return b.setFullYear(a.getFullYear(),a.getMonth(),a.getDate()),b},function(a,b){a.setDate(a.getDate()+b)},function(a){return a.getDate()-1}),Zg.days=Zg.day.range,Zg.days.utc=Zg.day.utc.range,Zg.dayOfYear=function(a){var b=Zg.year(a);return Math.floor((a-b-6e4*(a.getTimezoneOffset()-b.getTimezoneOffset()))/864e5)},["sunday","monday","tuesday","wednesday","thursday","friday","saturday"].forEach(function(a,b){b=7-b;var c=Zg[a]=Ja(function(a){return(a=Zg.day(a)).setDate(a.getDate()-(a.getDay()+b)%7),a},function(a,b){a.setDate(a.getDate()+7*Math.floor(b))},function(a){var c=Zg.year(a).getDay();return Math.floor((Zg.dayOfYear(a)+(c+b)%7)/7)-(c!==b)});Zg[a+"s"]=c.range,Zg[a+"s"].utc=c.utc.range,Zg[a+"OfYear"]=function(a){var c=Zg.year(a).getDay();return Math.floor((Zg.dayOfYear(a)+(c+b)%7)/7)}}),Zg.week=Zg.sunday,Zg.weeks=Zg.sunday.range,Zg.weeks.utc=Zg.sunday.utc.range,Zg.weekOfYear=Zg.sundayOfYear;var ah={"-":"",_:" ",0:"0"},bh=/^\s*\d+/,ch=/^%/;Sf.locale=function(a){return{numberFormat:Ga(a),timeFormat:La(a)}};var dh=Sf.locale({decimal:".",thousands:",",grouping:[3],currency:["$",""],dateTime:"%a %b %e %X %Y",date:"%m/%d/%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});Sf.format=dh.numberFormat,Sf.geo={},eb.prototype={s:0,t:0,add:function(a){fb(a,this.t,eh),fb(eh.s,this.s,this),this.s?this.t+=eh.t:this.s=eh.t},reset:function(){this.s=this.t=0},valueOf:function(){return this.s}};var eh=new eb;Sf.geo.stream=function(a,b){a&&fh.hasOwnProperty(a.type)?fh[a.type](a,b):gb(a,b)};var fh={Feature:function(a,b){gb(a.geometry,b)},FeatureCollection:function(a,b){for(var c=a.features,d=-1,e=c.length;++dn&&(n=b)}function b(b,c){var d=kb([b*zg,c*zg]);if(r){var e=mb(r,d),f=[e[1],-e[0],0],g=mb(f,e);pb(g),g=qb(g);var i=b-o,j=i>0?1:-1,p=g[0]*Ag*j,q=cg(i)>180;if(q^(j*on&&(n=s)}else if(p=(p+360)%360-180,q^(j*on&&(n=c);q?bh(k,m)&&(m=b):h(b,m)>h(k,m)&&(k=b):m>=k?(bm&&(m=b)):b>o?h(k,b)>h(k,m)&&(m=b):h(b,m)>h(k,m)&&(k=b)}else a(b,c);r=d,o=b}function c(){v.point=b}function d(){u[0]=k,u[1]=m,v.point=a,r=null}function e(a,c){if(r){var d=a-o;s+=cg(d)>180?d+(d>0?360:-360):d}else p=a,q=c;jh.point(a,c),b(a,c)}function f(){jh.lineStart()}function g(){e(p,q),jh.lineEnd(),cg(s)>xg&&(k=-(m=180)),u[0]=k,u[1]=m,r=null}function h(a,b){return(b-=a)<0?b+360:b}function i(a,b){return a[0]-b[0]}function j(a,b){return b[0]<=b[1]?b[0]<=a&&a<=b[1]:axg?n=90:s<-xg&&(l=-90),u[0]=k,u[1]=m}};return function(a){n=m=-(k=l=1/0),t=[],Sf.geo.stream(a,v);var b=t.length;if(b){t.sort(i);for(var c,d=1,e=t[0],f=[e];dh(e[0],e[1])&&(e[1]=c[1]),h(c[0],e[1])>h(e[0],e[1])&&(e[0]=c[0])):f.push(e=c);for(var g,c,o=-1/0,b=f.length-1,d=0,e=f[b];d<=b;e=c,++d)c=f[d],(g=h(e[1],c[0]))>o&&(o=g,k=c[0],m=e[1])}return t=u=null,k===1/0||l===1/0?[[NaN,NaN],[NaN,NaN]]:[[k,l],[m,n]]}}(),Sf.geo.centroid=function(a){kh=lh=mh=nh=oh=ph=qh=rh=sh=th=uh=0,Sf.geo.stream(a,vh);var b=sh,c=th,d=uh,e=b*b+c*c+d*d;return e=.12&&e<.234&&d>=-.425&&d<-.214?g:e>=.166&&e<.234&&d>=-.214&&d<-.115?h:f).invert(a)},a.stream=function(a){var b=f.stream(a),c=g.stream(a),d=h.stream(a);return{point:function(a,e){b.point(a,e),c.point(a,e),d.point(a,e)},sphere:function(){b.sphere(),c.sphere(),d.sphere()},lineStart:function(){b.lineStart(),c.lineStart(),d.lineStart()},lineEnd:function(){b.lineEnd(),c.lineEnd(),d.lineEnd()},polygonStart:function(){b.polygonStart(),c.polygonStart(),d.polygonStart()},polygonEnd:function(){b.polygonEnd(),c.polygonEnd(),d.polygonEnd()}}},a.precision=function(b){return arguments.length?(f.precision(b),g.precision(b),h.precision(b),a):f.precision()},a.scale=function(b){return arguments.length?(f.scale(b),g.scale(.35*b),h.scale(b),a.translate(f.translate())):f.scale()},a.translate=function(b){if(!arguments.length)return f.translate();var j=f.scale(),k=+b[0],l=+b[1];return c=f.translate(b).clipExtent([[k-.455*j,l-.238*j],[k+.455*j,l+.238*j]]).stream(i).point,d=g.translate([k-.307*j,l+.201*j]).clipExtent([[k-.425*j+xg,l+.12*j+xg],[k-.214*j-xg,l+.234*j-xg]]).stream(i).point,e=h.translate([k-.205*j,l+.212*j]).clipExtent([[k-.214*j+xg,l+.166*j+xg],[k-.115*j-xg,l+.234*j-xg]]).stream(i).point,a},a.scale(1070)};var yh,zh,Ah,Bh,Ch,Dh,Eh={point:p,lineStart:p,lineEnd:p,polygonStart:function(){zh=0,Eh.lineStart=Pb},polygonEnd:function(){Eh.lineStart=Eh.lineEnd=Eh.point=p,yh+=cg(zh/2)}},Fh={point:Qb,lineStart:p,lineEnd:p,polygonStart:p,polygonEnd:p},Gh={point:Tb,lineStart:Ub,lineEnd:Vb,polygonStart:function(){Gh.lineStart=Wb},polygonEnd:function(){Gh.point=Tb,Gh.lineStart=Ub,Gh.lineEnd=Vb}};Sf.geo.path=function(){function a(a){return a&&("function"==typeof h&&f.pointRadius(+h.apply(this,arguments)),g&&g.valid||(g=e(f)),Sf.geo.stream(a,g)),f.result()}function b(){return g=null,a}var c,d,e,f,g,h=4.5;return a.area=function(a){return yh=0,Sf.geo.stream(a,e(Eh)),yh},a.centroid=function(a){return mh=nh=oh=ph=qh=rh=sh=th=uh=0,Sf.geo.stream(a,e(Gh)),uh?[sh/uh,th/uh]:rh?[ph/rh,qh/rh]:oh?[mh/oh,nh/oh]:[NaN,NaN]},a.bounds=function(a){return Ch=Dh=-(Ah=Bh=1/0),Sf.geo.stream(a,e(Fh)),[[Ah,Bh],[Ch,Dh]]},a.projection=function(a){return arguments.length?(e=(c=a)?a.stream||Zb(a):xa,b()):c},a.context=function(a){return arguments.length?(f=null==(d=a)?new Rb:new Xb(a),"function"!=typeof h&&f.pointRadius(h),b()):d},a.pointRadius=function(b){return arguments.length?(h="function"==typeof b?b:(f.pointRadius(+b),+b),a):h},a.projection(Sf.geo.albersUsa()).context(null)},Sf.geo.transform=function(a){return{stream:function(b){var c=new $b(b);for(var d in a)c[d]=a[d];return c}}},$b.prototype={point:function(a,b){this.stream.point(a,b)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}},Sf.geo.projection=ac,Sf.geo.projectionMutator=bc,(Sf.geo.equirectangular=function(){return ac(dc)}).raw=dc.invert=dc,Sf.geo.rotation=function(a){function b(b){return b=a(b[0]*zg,b[1]*zg),b[0]*=Ag,b[1]*=Ag,b}return a=fc(a[0]%360*zg,a[1]*zg,a.length>2?a[2]*zg:0),b.invert=function(b){return b=a.invert(b[0]*zg,b[1]*zg),b[0]*=Ag,b[1]*=Ag,b},b},ec.invert=dc,Sf.geo.circle=function(){function a(){var a="function"==typeof d?d.apply(this,arguments):d,b=fc(-a[0]*zg,-a[1]*zg,0).invert,e=[];return c(null,null,1,{point:function(a,c){e.push(a=b(a,c)),a[0]*=Ag,a[1]*=Ag}}),{type:"Polygon",coordinates:[e]}}var b,c,d=[0,0],e=6;return a.origin=function(b){return arguments.length?(d=b,a):d},a.angle=function(d){return arguments.length?(c=jc((b=+d)*zg,e*zg),a):b},a.precision=function(d){return arguments.length?(c=jc(b*zg,(e=+d)*zg),a):e},a.angle(90)},Sf.geo.distance=function(a,b){var c,d=(b[0]-a[0])*zg,e=a[1]*zg,f=b[1]*zg,g=Math.sin(d),h=Math.cos(d),i=Math.sin(e),j=Math.cos(e),k=Math.sin(f),l=Math.cos(f);return Math.atan2(Math.sqrt((c=l*g)*c+(c=j*k-i*l*h)*c),i*k+j*l*h)},Sf.geo.graticule=function(){function a(){return{type:"MultiLineString",coordinates:b()}}function b(){return Sf.range(Math.ceil(f/q)*q,e,q).map(m).concat(Sf.range(Math.ceil(j/r)*r,i,r).map(n)).concat(Sf.range(Math.ceil(d/o)*o,c,o).filter(function(a){return cg(a%q)>xg}).map(k)).concat(Sf.range(Math.ceil(h/p)*p,g,p).filter(function(a){return cg(a%r)>xg}).map(l))}var c,d,e,f,g,h,i,j,k,l,m,n,o=10,p=o,q=90,r=360,s=2.5;return a.lines=function(){return b().map(function(a){return{type:"LineString",coordinates:a}})},a.outline=function(){return{type:"Polygon",coordinates:[m(f).concat(n(i).slice(1),m(e).reverse().slice(1),n(j).reverse().slice(1))]}},a.extent=function(b){return arguments.length?a.majorExtent(b).minorExtent(b):a.minorExtent()},a.majorExtent=function(b){return arguments.length?(f=+b[0][0],e=+b[1][0],j=+b[0][1],i=+b[1][1],f>e&&(b=f,f=e,e=b),j>i&&(b=j,j=i,i=b),a.precision(s)):[[f,j],[e,i]]},a.minorExtent=function(b){return arguments.length?(d=+b[0][0],c=+b[1][0],h=+b[0][1],g=+b[1][1],d>c&&(b=d,d=c,c=b),h>g&&(b=h,h=g,g=b),a.precision(s)):[[d,h],[c,g]]},a.step=function(b){return arguments.length?a.majorStep(b).minorStep(b):a.minorStep()},a.majorStep=function(b){return arguments.length?(q=+b[0],r=+b[1],a):[q,r]},a.minorStep=function(b){return arguments.length?(o=+b[0],p=+b[1],a):[o,p]},a.precision=function(b){return arguments.length?(s=+b,k=lc(h,g,90),l=mc(d,c,s),m=lc(j,i,90),n=mc(f,e,s),a):s},a.majorExtent([[-180,-90+xg],[180,90-xg]]).minorExtent([[-180,-80-xg],[180,80+xg]])},Sf.geo.greatArc=function(){function a(){return{type:"LineString",coordinates:[b||d.apply(this,arguments),c||e.apply(this,arguments)]}}var b,c,d=nc,e=oc;return a.distance=function(){return Sf.geo.distance(b||d.apply(this,arguments),c||e.apply(this,arguments))},a.source=function(c){return arguments.length?(d=c,b="function"==typeof c?null:c,a):d},a.target=function(b){return arguments.length?(e=b,c="function"==typeof b?null:b,a):e},a.precision=function(){return arguments.length?a:0},a},Sf.geo.interpolate=function(a,b){return pc(a[0]*zg,a[1]*zg,b[0]*zg,b[1]*zg)},Sf.geo.length=function(a){return Hh=0,Sf.geo.stream(a,Ih),Hh};var Hh,Ih={sphere:p,point:p,lineStart:qc,lineEnd:p,polygonStart:p,polygonEnd:p},Jh=rc(function(a){return Math.sqrt(2/(1+a))},function(a){return 2*Math.asin(a/2)});(Sf.geo.azimuthalEqualArea=function(){return ac(Jh)}).raw=Jh;var Kh=rc(function(a){var b=Math.acos(a);return b&&b/Math.sin(b)},xa);(Sf.geo.azimuthalEquidistant=function(){return ac(Kh)}).raw=Kh,(Sf.geo.conicConformal=function(){return Nb(sc)}).raw=sc,(Sf.geo.conicEquidistant=function(){return Nb(tc)}).raw=tc;var Lh=rc(function(a){return 1/a},Math.atan);(Sf.geo.gnomonic=function(){return ac(Lh)}).raw=Lh,uc.invert=function(a,b){return[a,2*Math.atan(Math.exp(b))-wg]},(Sf.geo.mercator=function(){return vc(uc)}).raw=uc;var Mh=rc(function(){return 1},Math.asin);(Sf.geo.orthographic=function(){return ac(Mh)}).raw=Mh;var Nh=rc(function(a){return 1/(1+a)},function(a){return 2*Math.atan(a)});(Sf.geo.stereographic=function(){return ac(Nh)}).raw=Nh,wc.invert=function(a,b){return[-b,2*Math.atan(Math.exp(a))-wg]},(Sf.geo.transverseMercator=function(){var a=vc(wc),b=a.center,c=a.rotate;return a.center=function(a){return a?b([-a[1],a[0]]):(a=b(),[a[1],-a[0]])},a.rotate=function(a){return a?c([a[0],a[1],a.length>2?a[2]+90:90]):(a=c(),[a[0],a[1],a[2]-90])},c([0,0,90])}).raw=wc,Sf.geom={},Sf.geom.hull=function(a){function b(a){if(a.length<3)return[];var b,e=wa(c),f=wa(d),g=a.length,h=[],i=[];for(b=0;b=0;--b)n.push(a[h[j[b]][2]]);for(b=+l;b=d&&j.x<=f&&j.y>=e&&j.y<=g?[[d,g],[f,g],[f,e],[d,e]]:[]).point=a[h]}),b}function c(a){return a.map(function(a,b){return{x:Math.round(f(a,b)/xg)*xg,y:Math.round(g(a,b)/xg)*xg,i:b}})}var d=xc,e=yc,f=d,g=e,h=Wh;return a?b(a):(b.links=function(a){return bd(c(a)).edges.filter(function(a){return a.l&&a.r}).map(function(b){return{source:a[b.l.i],target:a[b.r.i]}})},b.triangles=function(a){var b=[];return bd(c(a)).cells.forEach(function(c,d){for(var e,f=c.site,g=c.edges.sort(Nc),h=-1,i=g.length,j=g[i-1].edge,k=j.l===f?j.r:j.l;++h=j,m=d>=k,n=(m<<1)+l;a.leaf=!1,a=a.nodes[n]||(a.nodes[n]=gd()),l?e=j:h=j,m?g=k:i=k,f(a,b,c,d,e,g,h,i)}var k,l,m,n,o,p,q,r,s,t=wa(h),u=wa(i);if(null!=b)p=b,q=c,r=d,s=e;else if(r=s=-(p=q=1/0),l=[],m=[],o=a.length,g)for(n=0;nr&&(r=k.x),k.y>s&&(s=k.y),l.push(k.x),m.push(k.y);else for(n=0;nr&&(r=v),w>s&&(s=w),l.push(v),m.push(w)}var x=r-p,y=s-q;x>y?s=q+x:r=p+y;var z=gd();if(z.add=function(a){f(z,a,+t(a,++n),+u(a,n),p,q,r,s)},z.visit=function(a){hd(a,z,p,q,r,s)},n=-1,null==b){for(;++n=0?a.substring(0,b):a,d=b>=0?a.substring(b+1):"in";return c=$h.get(c)||Zh,d=_h.get(d)||xa,od(d(c.apply(null,Tf.call(arguments,1))))},Sf.interpolateHcl=Bd,Sf.interpolateHsl=Cd,Sf.interpolateLab=Dd,Sf.interpolateRound=Ed,Sf.transform=function(a){var b=Vf.createElementNS(Sf.ns.prefix.svg,"g");return(Sf.transform=function(a){if(null!=a){b.setAttribute("transform",a);var c=b.transform.baseVal.consolidate()}return new Fd(c?c.matrix:ai)})(a)},Fd.prototype.toString=function(){return"translate("+this.translate+")rotate("+this.rotate+")skewX("+this.skew+")scale("+this.scale+")"};var ai={a:1,b:0,c:0,d:1,e:0,f:0};Sf.interpolateTransform=Jd,Sf.layout={},Sf.layout.bundle=function(){return function(a){for(var b=[],c=-1,d=a.length;++c0?a:0:a>0&&(i.start({type:"start",alpha:d=a}),Sf.timer(h.tick)),h):d},h.start=function(){function a(a,d){if(!c){for(c=new Array(i),h=0;h=0;)g.push(k=j[i]),k.parent=f,k.depth=f.depth+1;d&&(f.value=0),f.children=j}else d&&(f.value=+d.call(a,f,f.depth)||0),delete f.children;return Wd(e,function(a){var c,e;b&&(c=a.children)&&c.sort(b),d&&(e=a.parent)&&(e.value+=a.value)}),h}var b=Zd,c=Xd,d=Yd;return a.sort=function(c){return arguments.length?(b=c,a):b},a.children=function(b){return arguments.length?(c=b,a):c},a.value=function(b){return arguments.length?(d=b,a):d},a.revalue=function(b){return d&&(Vd(b,function(a){a.children&&(a.value=0)}),Wd(b,function(b){var c;b.children||(b.value=+d.call(a,b,b.depth)||0),(c=b.parent)&&(c.value+=b.value)})),b},a},Sf.layout.partition=function(){function a(b,c,d,e){var f=b.children;if(b.x=c,b.y=b.depth*e,b.dx=d,b.dy=e,f&&(g=f.length)){var g,h,i,j=-1;for(d=b.value?d/b.value:0;++jh&&(h=d),g.push(d)}for(c=0;c0)for(f=-1;++f=k[0]&&h<=k[1]&&(g=i[Sf.bisect(l,h,1,n)-1],g.y+=o,g.push(a[f]));return i}var b=!0,c=Number,d=je,e=he;return a.value=function(b){return arguments.length?(c=b,a):c},a.range=function(b){return arguments.length?(d=wa(b),a):d},a.bins=function(b){return arguments.length?(e="number"==typeof b?function(a){return ie(a,b)}:wa(b),a):e},a.frequency=function(c){return arguments.length?(b=!!c,a):b},a},Sf.layout.pack=function(){function a(a,f){var g=c.call(this,a,f),h=g[0],i=e[0],j=e[1],k=null==b?Math.sqrt:"function"==typeof b?b:function(){return b};if(h.x=h.y=0,Wd(h,function(a){a.r=+k(a.value)}),Wd(h,oe),d){var l=d*(b?1:Math.max(2*h.r/i,2*h.r/j))/2;Wd(h,function(a){a.r+=l}),Wd(h,oe),Wd(h,function(a){a.r-=l})}return re(h,i/2,j/2,b?1:1/Math.max(2*h.r/i,2*h.r/j)),g}var b,c=Sf.layout.hierarchy().sort(ke),d=0,e=[1,1];return a.size=function(b){return arguments.length?(e=b,a):e},a.radius=function(c){return arguments.length?(b=null==c||"function"==typeof c?c:+c,a):b},a.padding=function(b){return arguments.length?(d=+b,a):d},Ud(a,c)},Sf.layout.tree=function(){function a(a,e){var k=g.call(this,a,e),l=k[0],m=b(l);if(Wd(m,c),m.parent.m=-m.z,Vd(m,d),j)Vd(l,f);else{var n=l,o=l,p=l;Vd(l,function(a){a.xo.x&&(o=a),a.depth>p.depth&&(p=a)});var q=h(n,o)/2-n.x,r=i[0]/(o.x+h(o,n)/2+q),s=i[1]/(p.depth||1);Vd(l,function(a){a.x=(a.x+q)*r,a.y=a.depth*s})}return k}function b(a){for(var b,c={A:null,children:[a]},d=[c];null!=(b=d.pop());)for(var e,f=b.children,g=0,h=f.length;g0&&(we(ye(g,a,c),a,d),j+=d,k+=d),l+=g.m,j+=e.m,m+=i.m,k+=f.m;g&&!ve(f)&&(f.t=g,f.m+=l-k),e&&!ue(i)&&(i.t=e,i.m+=j-m,c=a)}return c}function f(a){a.x*=i[0],a.y=a.depth*i[1]}var g=Sf.layout.hierarchy().sort(null).value(null),h=te,i=[1,1],j=null;return a.separation=function(b){return arguments.length?(h=b,a):h},a.size=function(b){return arguments.length?(j=null==(i=b)?f:null,a):j?null:i},a.nodeSize=function(b){return arguments.length?(j=null==(i=b)?null:f,a):j?i:null},Ud(a,g)},Sf.layout.cluster=function(){function a(a,f){var g,h=b.call(this,a,f),i=h[0],j=0;Wd(i,function(a){var b=a.children;b&&b.length?(a.x=Ae(b),a.y=ze(b)):(a.x=g?j+=c(a,g):0,a.y=0,g=a)});var k=Be(i),l=Ce(i),m=k.x-c(k,l)/2,n=l.x+c(l,k)/2;return Wd(i,e?function(a){a.x=(a.x-i.x)*d[0],a.y=(i.y-a.y)*d[1]}:function(a){a.x=(a.x-m)/(n-m)*d[0],a.y=(1-(i.y?a.y/i.y:1))*d[1]}),h}var b=Sf.layout.hierarchy().sort(null).value(null),c=te,d=[1,1],e=!1;return a.separation=function(b){return arguments.length?(c=b,a):c},a.size=function(b){return arguments.length?(e=null==(d=b),a):e?null:d},a.nodeSize=function(b){return arguments.length?(e=null!=(d=b),a):e?d:null},Ud(a,b)},Sf.layout.treemap=function(){function a(a,b){for(var c,d,e=-1,f=a.length;++e0;)k.push(g=m[i-1]),k.area+=g.area,"squarify"!==n||(h=d(k,p))<=o?(m.pop(),o=h):(k.area-=k.pop().area,e(k,p,j,!1),p=Math.min(j.dx,j.dy),k.length=k.area=0,o=1/0);k.length&&(e(k,p,j,!0),k.length=k.area=0),f.forEach(b)}}function c(b){var d=b.children;if(d&&d.length){var f,g=l(b),h=d.slice(),i=[];for(a(h,g.dx*g.dy/b.value),i.area=0;f=h.pop();)i.push(f),i.area+=f.area,null!=f.z&&(e(i,f.z?g.dx:g.dy,g,!h.length),i.length=i.area=0);d.forEach(c)}}function d(a,b){for(var c,d=a.area,e=0,f=1/0,g=-1,h=a.length;++ge&&(e=c));return d*=d,b*=b,d?Math.max(b*e*o/d,d/(b*f*o)):1/0}function e(a,b,c,d){var e,f=-1,g=a.length,h=c.x,j=c.y,k=b?i(a.area/b):0;if(b==c.dx){for((d||k>c.dy)&&(k=c.dy);++fc.dx)&&(k=c.dx);++f1);return a+b*c*Math.sqrt(-2*Math.log(e)/e)}},logNormal:function(){var a=Sf.random.normal.apply(Sf,arguments);return function(){return Math.exp(a())}},bates:function(a){var b=Sf.random.irwinHall(a);return function(){return b()/a}},irwinHall:function(a){return function(){for(var b=0,c=0;c=qi?a?"M0,"+f+"A"+f+","+f+" 0 1,1 0,"+-f+"A"+f+","+f+" 0 1,1 0,"+f+"M0,"+a+"A"+a+","+a+" 0 1,0 0,"+-a+"A"+a+","+a+" 0 1,0 0,"+a+"Z":"M0,"+f+"A"+f+","+f+" 0 1,1 0,"+-f+"A"+f+","+f+" 0 1,1 0,"+f+"Z":a?"M"+f*k+","+f*l+"A"+f+","+f+" 0 "+j+",1 "+f*m+","+f*n+"L"+a*m+","+a*n+"A"+a+","+a+" 0 "+j+",0 "+a*k+","+a*l+"Z":"M"+f*k+","+f*l+"A"+f+","+f+" 0 "+j+",1 "+f*m+","+f*n+"L0,0Z"}var b=_e,c=af,d=bf,e=cf;return a.innerRadius=function(c){return arguments.length?(b=wa(c),a):b},a.outerRadius=function(b){return arguments.length?(c=wa(b),a):c},a.startAngle=function(b){return arguments.length?(d=wa(b),a):d},a.endAngle=function(b){return arguments.length?(e=wa(b),a):e},a.centroid=function(){var a=(b.apply(this,arguments)+c.apply(this,arguments))/2,f=(d.apply(this,arguments)+e.apply(this,arguments))/2+pi;return[Math.cos(f)*a,Math.sin(f)*a]},a};var pi=-wg,qi=vg-xg;Sf.svg.line=function(){return df(xa)};var ri=Sf.map({linear:ef,"linear-closed":ff,step:gf,"step-before":hf,"step-after":jf,basis:pf,"basis-open":qf,"basis-closed":rf,bundle:sf,cardinal:mf,"cardinal-open":kf,"cardinal-closed":lf,monotone:yf});ri.forEach(function(a,b){b.key=a,b.closed=/-closed$/.test(a)});var si=[0,2/3,1/3,0],ti=[0,1/3,2/3,0],ui=[0,1/6,2/3,1/6];Sf.svg.line.radial=function(){var a=df(zf);return a.radius=a.x,delete a.x,a.angle=a.y,delete a.y,a},hf.reverse=jf,jf.reverse=hf,Sf.svg.area=function(){return Af(xa)},Sf.svg.area.radial=function(){var a=Af(zf);return a.radius=a.x,delete a.x,a.innerRadius=a.x0,delete a.x0,a.outerRadius=a.x1,delete a.x1,a.angle=a.y,delete a.y,a.startAngle=a.y0,delete a.y0,a.endAngle=a.y1,delete a.y1,a},Sf.svg.chord=function(){function a(a,h){var i=b(this,f,a,h),j=b(this,g,a,h);return"M"+i.p0+d(i.r,i.p1,i.a1-i.a0)+(c(i,j)?e(i.r,i.p1,i.r,i.p0):e(i.r,i.p1,j.r,j.p0)+d(j.r,j.p1,j.a1-j.a0)+e(j.r,j.p1,i.r,i.p0))+"Z"}function b(a,b,c,d){var e=b.call(a,c,d),f=h.call(a,e,d),g=i.call(a,e,d)+pi,k=j.call(a,e,d)+pi;return{r:f,a0:g,a1:k,p0:[f*Math.cos(g),f*Math.sin(g)],p1:[f*Math.cos(k),f*Math.sin(k)]}}function c(a,b){return a.a0==b.a0&&a.a1==b.a1}function d(a,b,c){return"A"+a+","+a+" 0 "+ +(c>ug)+",1 "+b}function e(a,b,c,d){return"Q 0,0 "+d}var f=nc,g=oc,h=Bf,i=bf,j=cf;return a.radius=function(b){return arguments.length?(h=wa(b),a):h},a.source=function(b){return arguments.length?(f=wa(b),a):f},a.target=function(b){return arguments.length?(g=wa(b),a):g},a.startAngle=function(b){return arguments.length?(i=wa(b),a):i},a.endAngle=function(b){return arguments.length?(j=wa(b),a):j},a},Sf.svg.diagonal=function(){function a(a,e){var f=b.call(this,a,e),g=c.call(this,a,e),h=(f.y+g.y)/2,i=[f,{x:f.x,y:h},{x:g.x,y:h},g];return i=i.map(d),"M"+i[0]+"C"+i[1]+" "+i[2]+" "+i[3]}var b=nc,c=oc,d=Cf;return a.source=function(c){return arguments.length?(b=wa(c),a):b},a.target=function(b){return arguments.length?(c=wa(b),a):c},a.projection=function(b){return arguments.length?(d=b,a):d},a},Sf.svg.diagonal.radial=function(){var a=Sf.svg.diagonal(),b=Cf,c=a.projection;return a.projection=function(a){return arguments.length?c(Df(b=a)):b},a},Sf.svg.symbol=function(){function a(a,d){return(vi.get(b.call(this,a,d))||Gf)(c.call(this,a,d))}var b=Ff,c=Ef;return a.type=function(c){return arguments.length?(b=wa(c),a):b},a.size=function(b){return arguments.length?(c=wa(b),a):c},a};var vi=Sf.map({circle:Gf,cross:function(a){var b=Math.sqrt(a/5)/2;return"M"+-3*b+","+-b+"H"+-b+"V"+-3*b+"H"+b+"V"+-b+"H"+3*b+"V"+b+"H"+b+"V"+3*b+"H"+-b+"V"+b+"H"+-3*b+"Z"},diamond:function(a){var b=Math.sqrt(a/(2*zi)),c=b*zi;return"M0,"+-b+"L"+c+",0 0,"+b+" "+-c+",0Z"},square:function(a){var b=Math.sqrt(a)/2;return"M"+-b+","+-b+"L"+b+","+-b+" "+b+","+b+" "+-b+","+b+"Z"},"triangle-down":function(a){var b=Math.sqrt(a/yi),c=b*yi/2;return"M0,"+c+"L"+b+","+-c+" "+-b+","+-c+"Z"},"triangle-up":function(a){var b=Math.sqrt(a/yi),c=b*yi/2;return"M0,"+-c+"L"+b+","+c+" "+-b+","+c+"Z"}});Sf.svg.symbolTypes=vi.keys();var wi,xi,yi=Math.sqrt(3),zi=Math.tan(30*zg),Ai=[],Bi=0;Ai.call=mg.call,Ai.empty=mg.empty,Ai.node=mg.node,Ai.size=mg.size,Sf.transition=function(a){return arguments.length?wi?a.transition():a:pg.transition()},Sf.transition.prototype=Ai,Ai.select=function(a){var b,c,d,e=this.id,f=[];a=w(a);for(var g=-1,h=this.length;++grect,.s>rect").attr("width",k[1]-k[0])}function d(a){a.select(".extent").attr("y",l[0]),a.selectAll(".extent,.e>rect,.w>rect").attr("height",l[1]-l[0])}function e(){function e(){32==Sf.event.keyCode&&(C||(t=null,E[0]-=k[1],E[1]-=l[1],C=2),s())}function o(){32==Sf.event.keyCode&&2==C&&(E[0]+=k[1],E[1]+=l[1],C=0,s())}function p(){var a=Sf.mouse(v),e=!1;u&&(a[0]+=u[0],a[1]+=u[1]),C||(Sf.event.altKey?(t||(t=[(k[0]+k[1])/2,(l[0]+l[1])/2]),E[0]=k[+(a[0]