Skip to content

Instantly share code, notes, and snippets.

@MasonChinkin
Last active August 14, 2018 23:16
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save MasonChinkin/b1bb67f5b3a3bc576411c7403a04efd6 to your computer and use it in GitHub Desktop.
Save MasonChinkin/b1bb67f5b3a3bc576411c7403a04efd6 to your computer and use it in GitHub Desktop.
Transitioning Stacked Bar Chart (click the bars)

####Contributions to US GDP Growth

// https://d3js.org Version 4.11.0. Copyright 2017 Mike Bostock.
(function(t,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n(t.d3=t.d3||{})})(this,function(t){"use strict";function n(t){return function(n,e){return ls(t(n),e)}}function e(t,n){return[t,n]}function r(t,n,e){var r=(n-t)/Math.max(0,e),i=Math.floor(Math.log(r)/Math.LN10),o=r/Math.pow(10,i);return i>=0?(o>=ks?10:o>=Ss?5:o>=Es?2:1)*Math.pow(10,i):-Math.pow(10,-i)/(o>=ks?10:o>=Ss?5:o>=Es?2:1)}function i(t,n,e){var r=Math.abs(n-t)/Math.max(0,e),i=Math.pow(10,Math.floor(Math.log(r)/Math.LN10)),o=r/i;return o>=ks?i*=10:o>=Ss?i*=5:o>=Es&&(i*=2),n<t?-i:i}function o(t){return t.length}function u(t){return"translate("+(t+.5)+",0)"}function a(t){return"translate(0,"+(t+.5)+")"}function c(t){return function(n){return+t(n)}}function s(t){var n=Math.max(0,t.bandwidth()-1)/2;return t.round()&&(n=Math.round(n)),function(e){return+t(e)+n}}function f(){return!this.__axis}function l(t,n){function e(e){var u=null==i?n.ticks?n.ticks.apply(n,r):n.domain():i,a=null==o?n.tickFormat?n.tickFormat.apply(n,r):Us:o,g=Math.max(l,0)+p,y=n.range(),m=+y[0]+.5,x=+y[y.length-1]+.5,b=(n.bandwidth?s:c)(n.copy()),w=e.selection?e.selection():e,M=w.selectAll(".domain").data([null]),T=w.selectAll(".tick").data(u,n).order(),N=T.exit(),k=T.enter().append("g").attr("class","tick"),S=T.select("line"),E=T.select("text");M=M.merge(M.enter().insert("path",".tick").attr("class","domain").attr("stroke","#000")),T=T.merge(k),S=S.merge(k.append("line").attr("stroke","#000").attr(v+"2",d*l)),E=E.merge(k.append("text").attr("fill","#000").attr(v,d*g).attr("dy",t===Ds?"0em":t===Fs?"0.71em":"0.32em")),e!==w&&(M=M.transition(e),T=T.transition(e),S=S.transition(e),E=E.transition(e),N=N.transition(e).attr("opacity",Ys).attr("transform",function(t){return isFinite(t=b(t))?_(t):this.getAttribute("transform")}),k.attr("opacity",Ys).attr("transform",function(t){var n=this.parentNode.__axis;return _(n&&isFinite(n=n(t))?n:b(t))})),N.remove(),M.attr("d",t===Is||t==Os?"M"+d*h+","+m+"H0.5V"+x+"H"+d*h:"M"+m+","+d*h+"V0.5H"+x+"V"+d*h),T.attr("opacity",1).attr("transform",function(t){return _(b(t))}),S.attr(v+"2",d*l),E.attr(v,d*g).text(a),w.filter(f).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",t===Os?"start":t===Is?"end":"middle"),w.each(function(){this.__axis=b})}var r=[],i=null,o=null,l=6,h=6,p=3,d=t===Ds||t===Is?-1:1,v=t===Is||t===Os?"x":"y",_=t===Ds||t===Fs?u:a;return e.scale=function(t){return arguments.length?(n=t,e):n},e.ticks=function(){return r=qs.call(arguments),e},e.tickArguments=function(t){return arguments.length?(r=null==t?[]:qs.call(t),e):r.slice()},e.tickValues=function(t){return arguments.length?(i=null==t?null:qs.call(t),e):i&&i.slice()},e.tickFormat=function(t){return arguments.length?(o=t,e):o},e.tickSize=function(t){return arguments.length?(l=h=+t,e):l},e.tickSizeInner=function(t){return arguments.length?(l=+t,e):l},e.tickSizeOuter=function(t){return arguments.length?(h=+t,e):h},e.tickPadding=function(t){return arguments.length?(p=+t,e):p},e}function h(){for(var t,n=0,e=arguments.length,r={};n<e;++n){if(!(t=arguments[n]+"")||t in r)throw new Error("illegal type: "+t);r[t]=[]}return new p(r)}function p(t){this._=t}function d(t,n){return t.trim().split(/^|\s+/).map(function(t){var e="",r=t.indexOf(".");if(r>=0&&(e=t.slice(r+1),t=t.slice(0,r)),t&&!n.hasOwnProperty(t))throw new Error("unknown type: "+t);return{type:t,name:e}})}function v(t,n){for(var e,r=0,i=t.length;r<i;++r)if((e=t[r]).name===n)return e.value}function _(t,n,e){for(var r=0,i=t.length;r<i;++r)if(t[r].name===n){t[r]=Bs,t=t.slice(0,r).concat(t.slice(r+1));break}return null!=e&&t.push({name:n,value:e}),t}function g(t){return function(){var n=this.ownerDocument,e=this.namespaceURI;return e===js&&n.documentElement.namespaceURI===js?n.createElement(t):n.createElementNS(e,t)}}function y(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}function m(){return new x}function x(){this._="@"+(++Vs).toString(36)}function b(t,n,e){return t=w(t,n,e),function(n){var e=n.relatedTarget;e&&(e===this||8&e.compareDocumentPosition(this))||t.call(this,n)}}function w(n,e,r){return function(i){var o=t.event;t.event=i;try{n.call(this,this.__data__,e,r)}finally{t.event=o}}}function M(t){return t.trim().split(/^|\s+/).map(function(t){var n="",e=t.indexOf(".");return e>=0&&(n=t.slice(e+1),t=t.slice(0,e)),{type:t,name:n}})}function T(t){return function(){var n=this.__on;if(n){for(var e,r=0,i=-1,o=n.length;r<o;++r)e=n[r],t.type&&e.type!==t.type||e.name!==t.name?n[++i]=e:this.removeEventListener(e.type,e.listener,e.capture);++i?n.length=i:delete this.__on}}}function N(t,n,e){var r=Qs.hasOwnProperty(t.type)?b:w;return function(i,o,u){var a,c=this.__on,s=r(n,o,u);if(c)for(var f=0,l=c.length;f<l;++f)if((a=c[f]).type===t.type&&a.name===t.name)return this.removeEventListener(a.type,a.listener,a.capture),this.addEventListener(a.type,a.listener=s,a.capture=e),void(a.value=n);this.addEventListener(t.type,s,e),a={type:t.type,name:t.name,value:n,listener:s,capture:e},c?c.push(a):this.__on=[a]}}function k(n,e,r,i){var o=t.event;n.sourceEvent=t.event,t.event=n;try{return e.apply(r,i)}finally{t.event=o}}function S(){}function E(){return[]}function A(t,n){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=n}function C(t,n,e,r,i,o){for(var u,a=0,c=n.length,s=o.length;a<s;++a)(u=n[a])?(u.__data__=o[a],r[a]=u):e[a]=new A(t,o[a]);for(;a<c;++a)(u=n[a])&&(i[a]=u)}function z(t,n,e,r,i,o,u){var a,c,s,f={},l=n.length,h=o.length,p=new Array(l);for(a=0;a<l;++a)(c=n[a])&&(p[a]=s=af+u.call(c,c.__data__,a,n),s in f?i[a]=c:f[s]=c);for(a=0;a<h;++a)(c=f[s=af+u.call(t,o[a],a,o)])?(r[a]=c,c.__data__=o[a],f[s]=null):e[a]=new A(t,o[a]);for(a=0;a<l;++a)(c=n[a])&&f[p[a]]===c&&(i[a]=c)}function P(t,n){return t<n?-1:t>n?1:t>=n?0:NaN}function R(t){return function(){this.removeAttribute(t)}}function L(t){return function(){this.removeAttributeNS(t.space,t.local)}}function q(t,n){return function(){this.setAttribute(t,n)}}function U(t,n){return function(){this.setAttributeNS(t.space,t.local,n)}}function D(t,n){return function(){var e=n.apply(this,arguments);null==e?this.removeAttribute(t):this.setAttribute(t,e)}}function O(t,n){return function(){var e=n.apply(this,arguments);null==e?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,e)}}function F(t){return function(){this.style.removeProperty(t)}}function I(t,n,e){return function(){this.style.setProperty(t,n,e)}}function Y(t,n,e){return function(){var r=n.apply(this,arguments);null==r?this.style.removeProperty(t):this.style.setProperty(t,r,e)}}function B(t,n){return t.style.getPropertyValue(n)||cf(t).getComputedStyle(t,null).getPropertyValue(n)}function j(t){return function(){delete this[t]}}function H(t,n){return function(){this[t]=n}}function X(t,n){return function(){var e=n.apply(this,arguments);null==e?delete this[t]:this[t]=e}}function $(t){return t.trim().split(/^|\s+/)}function V(t){return t.classList||new W(t)}function W(t){this._node=t,this._names=$(t.getAttribute("class")||"")}function Z(t,n){for(var e=V(t),r=-1,i=n.length;++r<i;)e.add(n[r])}function G(t,n){for(var e=V(t),r=-1,i=n.length;++r<i;)e.remove(n[r])}function J(t){return function(){Z(this,t)}}function Q(t){return function(){G(this,t)}}function K(t,n){return function(){(n.apply(this,arguments)?Z:G)(this,t)}}function tt(){this.textContent=""}function nt(t){return function(){this.textContent=t}}function et(t){return function(){var n=t.apply(this,arguments);this.textContent=null==n?"":n}}function rt(){this.innerHTML=""}function it(t){return function(){this.innerHTML=t}}function ot(t){return function(){var n=t.apply(this,arguments);this.innerHTML=null==n?"":n}}function ut(){this.nextSibling&&this.parentNode.appendChild(this)}function at(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function ct(){return null}function st(){var t=this.parentNode;t&&t.removeChild(this)}function ft(t,n,e){var r=cf(t),i=r.CustomEvent;"function"==typeof i?i=new i(n,e):(i=r.document.createEvent("Event"),e?(i.initEvent(n,e.bubbles,e.cancelable),i.detail=e.detail):i.initEvent(n,!1,!1)),t.dispatchEvent(i)}function lt(t,n){return function(){return ft(this,t,n)}}function ht(t,n){return function(){return ft(this,t,n.apply(this,arguments))}}function pt(t,n){this._groups=t,this._parents=n}function dt(){return new pt([[document.documentElement]],sf)}function vt(){t.event.stopImmediatePropagation()}function _t(t,n){var e=t.document.documentElement,r=ff(t).on("dragstart.drag",null);n&&(r.on("click.drag",hf,!0),setTimeout(function(){r.on("click.drag",null)},0)),"onselectstart"in e?r.on("selectstart.drag",null):(e.style.MozUserSelect=e.__noselect,delete e.__noselect)}function gt(t,n,e,r,i,o,u,a,c,s){this.target=t,this.type=n,this.subject=e,this.identifier=r,this.active=i,this.x=o,this.y=u,this.dx=a,this.dy=c,this._=s}function yt(){return!t.event.button}function mt(){return this.parentNode}function xt(n){return null==n?{x:t.event.x,y:t.event.y}:n}function bt(){return"ontouchstart"in this}function wt(t,n){var e=Object.create(t.prototype);for(var r in n)e[r]=n[r];return e}function Mt(){}function Tt(t){var n;return t=(t+"").trim().toLowerCase(),(n=mf.exec(t))?(n=parseInt(n[1],16),new At(n>>8&15|n>>4&240,n>>4&15|240&n,(15&n)<<4|15&n,1)):(n=xf.exec(t))?Nt(parseInt(n[1],16)):(n=bf.exec(t))?new At(n[1],n[2],n[3],1):(n=wf.exec(t))?new At(255*n[1]/100,255*n[2]/100,255*n[3]/100,1):(n=Mf.exec(t))?kt(n[1],n[2],n[3],n[4]):(n=Tf.exec(t))?kt(255*n[1]/100,255*n[2]/100,255*n[3]/100,n[4]):(n=Nf.exec(t))?Ct(n[1],n[2]/100,n[3]/100,1):(n=kf.exec(t))?Ct(n[1],n[2]/100,n[3]/100,n[4]):Sf.hasOwnProperty(t)?Nt(Sf[t]):"transparent"===t?new At(NaN,NaN,NaN,0):null}function Nt(t){return new At(t>>16&255,t>>8&255,255&t,1)}function kt(t,n,e,r){return r<=0&&(t=n=e=NaN),new At(t,n,e,r)}function St(t){return t instanceof Mt||(t=Tt(t)),t?(t=t.rgb(),new At(t.r,t.g,t.b,t.opacity)):new At}function Et(t,n,e,r){return 1===arguments.length?St(t):new At(t,n,e,null==r?1:r)}function At(t,n,e,r){this.r=+t,this.g=+n,this.b=+e,this.opacity=+r}function Ct(t,n,e,r){return r<=0?t=n=e=NaN:e<=0||e>=1?t=n=NaN:n<=0&&(t=NaN),new Rt(t,n,e,r)}function zt(t){if(t instanceof Rt)return new Rt(t.h,t.s,t.l,t.opacity);if(t instanceof Mt||(t=Tt(t)),!t)return new Rt;if(t instanceof Rt)return t;var n=(t=t.rgb()).r/255,e=t.g/255,r=t.b/255,i=Math.min(n,e,r),o=Math.max(n,e,r),u=NaN,a=o-i,c=(o+i)/2;return a?(u=n===o?(e-r)/a+6*(e<r):e===o?(r-n)/a+2:(n-e)/a+4,a/=c<.5?o+i:2-o-i,u*=60):a=c>0&&c<1?0:u,new Rt(u,a,c,t.opacity)}function Pt(t,n,e,r){return 1===arguments.length?zt(t):new Rt(t,n,e,null==r?1:r)}function Rt(t,n,e,r){this.h=+t,this.s=+n,this.l=+e,this.opacity=+r}function Lt(t,n,e){return 255*(t<60?n+(e-n)*t/60:t<180?e:t<240?n+(e-n)*(240-t)/60:n)}function qt(t){if(t instanceof Dt)return new Dt(t.l,t.a,t.b,t.opacity);if(t instanceof Ht){var n=t.h*Ef;return new Dt(t.l,Math.cos(n)*t.c,Math.sin(n)*t.c,t.opacity)}t instanceof At||(t=St(t));var e=Yt(t.r),r=Yt(t.g),i=Yt(t.b),o=Ot((.4124564*e+.3575761*r+.1804375*i)/Cf),u=Ot((.2126729*e+.7151522*r+.072175*i)/zf);return new Dt(116*u-16,500*(o-u),200*(u-Ot((.0193339*e+.119192*r+.9503041*i)/Pf)),t.opacity)}function Ut(t,n,e,r){return 1===arguments.length?qt(t):new Dt(t,n,e,null==r?1:r)}function Dt(t,n,e,r){this.l=+t,this.a=+n,this.b=+e,this.opacity=+r}function Ot(t){return t>Uf?Math.pow(t,1/3):t/qf+Rf}function Ft(t){return t>Lf?t*t*t:qf*(t-Rf)}function It(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function Yt(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function Bt(t){if(t instanceof Ht)return new Ht(t.h,t.c,t.l,t.opacity);t instanceof Dt||(t=qt(t));var n=Math.atan2(t.b,t.a)*Af;return new Ht(n<0?n+360:n,Math.sqrt(t.a*t.a+t.b*t.b),t.l,t.opacity)}function jt(t,n,e,r){return 1===arguments.length?Bt(t):new Ht(t,n,e,null==r?1:r)}function Ht(t,n,e,r){this.h=+t,this.c=+n,this.l=+e,this.opacity=+r}function Xt(t){if(t instanceof Vt)return new Vt(t.h,t.s,t.l,t.opacity);t instanceof At||(t=St(t));var n=t.r/255,e=t.g/255,r=t.b/255,i=(Hf*r+Bf*n-jf*e)/(Hf+Bf-jf),o=r-i,u=(Yf*(e-i)-Ff*o)/If,a=Math.sqrt(u*u+o*o)/(Yf*i*(1-i)),c=a?Math.atan2(u,o)*Af-120:NaN;return new Vt(c<0?c+360:c,a,i,t.opacity)}function $t(t,n,e,r){return 1===arguments.length?Xt(t):new Vt(t,n,e,null==r?1:r)}function Vt(t,n,e,r){this.h=+t,this.s=+n,this.l=+e,this.opacity=+r}function Wt(t,n,e,r,i){var o=t*t,u=o*t;return((1-3*t+3*o-u)*n+(4-6*o+3*u)*e+(1+3*t+3*o-3*u)*r+u*i)/6}function Zt(t,n){return function(e){return t+e*n}}function Gt(t,n,e){return t=Math.pow(t,e),n=Math.pow(n,e)-t,e=1/e,function(r){return Math.pow(t+r*n,e)}}function Jt(t,n){var e=n-t;return e?Zt(t,e>180||e<-180?e-360*Math.round(e/360):e):Kf(isNaN(t)?n:t)}function Qt(t){return 1==(t=+t)?Kt:function(n,e){return e-n?Gt(n,e,t):Kf(isNaN(n)?e:n)}}function Kt(t,n){var e=n-t;return e?Zt(t,e):Kf(isNaN(t)?n:t)}function tn(t){return function(n){var e,r,i=n.length,o=new Array(i),u=new Array(i),a=new Array(i);for(e=0;e<i;++e)r=Et(n[e]),o[e]=r.r||0,u[e]=r.g||0,a[e]=r.b||0;return o=t(o),u=t(u),a=t(a),r.opacity=1,function(t){return r.r=o(t),r.g=u(t),r.b=a(t),r+""}}}function nn(t){return function(){return t}}function en(t){return function(n){return t(n)+""}}function rn(t,n,e,r){function i(t){return t.length?t.pop()+" ":""}function o(t,r,i,o,u,a){if(t!==i||r!==o){var c=u.push("translate(",null,n,null,e);a.push({i:c-4,x:ol(t,i)},{i:c-2,x:ol(r,o)})}else(i||o)&&u.push("translate("+i+n+o+e)}function u(t,n,e,o){t!==n?(t-n>180?n+=360:n-t>180&&(t+=360),o.push({i:e.push(i(e)+"rotate(",null,r)-2,x:ol(t,n)})):n&&e.push(i(e)+"rotate("+n+r)}function a(t,n,e,o){t!==n?o.push({i:e.push(i(e)+"skewX(",null,r)-2,x:ol(t,n)}):n&&e.push(i(e)+"skewX("+n+r)}function c(t,n,e,r,o,u){if(t!==e||n!==r){var a=o.push(i(o)+"scale(",null,",",null,")");u.push({i:a-4,x:ol(t,e)},{i:a-2,x:ol(n,r)})}else 1===e&&1===r||o.push(i(o)+"scale("+e+","+r+")")}return function(n,e){var r=[],i=[];return n=t(n),e=t(e),o(n.translateX,n.translateY,e.translateX,e.translateY,r,i),u(n.rotate,e.rotate,r,i),a(n.skewX,e.skewX,r,i),c(n.scaleX,n.scaleY,e.scaleX,e.scaleY,r,i),n=e=null,function(t){for(var n,e=-1,o=i.length;++e<o;)r[(n=i[e]).i]=n.x(t);return r.join("")}}}function on(t){return((t=Math.exp(t))+1/t)/2}function un(t){return((t=Math.exp(t))-1/t)/2}function an(t){return((t=Math.exp(2*t))-1)/(t+1)}function cn(t){return function(n,e){var r=t((n=Pt(n)).h,(e=Pt(e)).h),i=Kt(n.s,e.s),o=Kt(n.l,e.l),u=Kt(n.opacity,e.opacity);return function(t){return n.h=r(t),n.s=i(t),n.l=o(t),n.opacity=u(t),n+""}}}function sn(t){return function(n,e){var r=t((n=jt(n)).h,(e=jt(e)).h),i=Kt(n.c,e.c),o=Kt(n.l,e.l),u=Kt(n.opacity,e.opacity);return function(t){return n.h=r(t),n.c=i(t),n.l=o(t),n.opacity=u(t),n+""}}}function fn(t){return function n(e){function r(n,r){var i=t((n=$t(n)).h,(r=$t(r)).h),o=Kt(n.s,r.s),u=Kt(n.l,r.l),a=Kt(n.opacity,r.opacity);return function(t){return n.h=i(t),n.s=o(t),n.l=u(Math.pow(t,e)),n.opacity=a(t),n+""}}return e=+e,r.gamma=n,r}(1)}function ln(){return Cl||(Rl(hn),Cl=Pl.now()+zl)}function hn(){Cl=0}function pn(){this._call=this._time=this._next=null}function dn(t,n,e){var r=new pn;return r.restart(t,n,e),r}function vn(){ln(),++Nl;for(var t,n=Zf;n;)(t=Cl-n._time)>=0&&n._call.call(null,t),n=n._next;--Nl}function _n(){Cl=(Al=Pl.now())+zl,Nl=kl=0;try{vn()}finally{Nl=0,yn(),Cl=0}}function gn(){var t=Pl.now(),n=t-Al;n>El&&(zl-=n,Al=t)}function yn(){for(var t,n,e=Zf,r=1/0;e;)e._call?(r>e._time&&(r=e._time),t=e,e=e._next):(n=e._next,e._next=null,e=t?t._next=n:Zf=n);Gf=t,mn(r)}function mn(t){Nl||(kl&&(kl=clearTimeout(kl)),t-Cl>24?(t<1/0&&(kl=setTimeout(_n,t-Pl.now()-zl)),Sl&&(Sl=clearInterval(Sl))):(Sl||(Al=Pl.now(),Sl=setInterval(gn,El)),Nl=1,Rl(_n)))}function xn(t,n){var e=t.__transition;if(!e||!(e=e[n])||e.state>Dl)throw new Error("too late");return e}function bn(t,n){var e=t.__transition;if(!e||!(e=e[n])||e.state>Fl)throw new Error("too late");return e}function wn(t,n){var e=t.__transition;if(!e||!(e=e[n]))throw new Error("too late");return e}function Mn(t,n,e){function r(c){var s,f,l,h;if(e.state!==Ol)return o();for(s in a)if((h=a[s]).name===e.name){if(h.state===Il)return Ll(r);h.state===Yl?(h.state=jl,h.timer.stop(),h.on.call("interrupt",t,t.__data__,h.index,h.group),delete a[s]):+s<n&&(h.state=jl,h.timer.stop(),delete a[s])}if(Ll(function(){e.state===Il&&(e.state=Yl,e.timer.restart(i,e.delay,e.time),i(c))}),e.state=Fl,e.on.call("start",t,t.__data__,e.index,e.group),e.state===Fl){for(e.state=Il,u=new Array(l=e.tween.length),s=0,f=-1;s<l;++s)(h=e.tween[s].value.call(t,t.__data__,e.index,e.group))&&(u[++f]=h);u.length=f+1}}function i(n){for(var r=n<e.duration?e.ease.call(null,n/e.duration):(e.timer.restart(o),e.state=Bl,1),i=-1,a=u.length;++i<a;)u[i].call(null,r);e.state===Bl&&(e.on.call("end",t,t.__data__,e.index,e.group),o())}function o(){e.state=jl,e.timer.stop(),delete a[n];for(var r in a)return;delete t.__transition}var u,a=t.__transition;a[n]=e,e.timer=dn(function(t){e.state=Ol,e.timer.restart(r,e.delay,e.time),e.delay<=t&&r(t-e.delay)},0,e.time)}function Tn(t,n){var e,r;return function(){var i=bn(this,t),o=i.tween;if(o!==e)for(var u=0,a=(r=e=o).length;u<a;++u)if(r[u].name===n){(r=r.slice()).splice(u,1);break}i.tween=r}}function Nn(t,n,e){var r,i;if("function"!=typeof e)throw new Error;return function(){var o=bn(this,t),u=o.tween;if(u!==r){i=(r=u).slice();for(var a={name:n,value:e},c=0,s=i.length;c<s;++c)if(i[c].name===n){i[c]=a;break}c===s&&i.push(a)}o.tween=i}}function kn(t,n,e){var r=t._id;return t.each(function(){var t=bn(this,r);(t.value||(t.value={}))[n]=e.apply(this,arguments)}),function(t){return wn(t,r).value[n]}}function Sn(t){return function(){this.removeAttribute(t)}}function En(t){return function(){this.removeAttributeNS(t.space,t.local)}}function An(t,n,e){var r,i;return function(){var o=this.getAttribute(t);return o===e?null:o===r?i:i=n(r=o,e)}}function Cn(t,n,e){var r,i;return function(){var o=this.getAttributeNS(t.space,t.local);return o===e?null:o===r?i:i=n(r=o,e)}}function zn(t,n,e){var r,i,o;return function(){var u,a=e(this);{if(null!=a)return(u=this.getAttribute(t))===a?null:u===r&&a===i?o:o=n(r=u,i=a);this.removeAttribute(t)}}}function Pn(t,n,e){var r,i,o;return function(){var u,a=e(this);{if(null!=a)return(u=this.getAttributeNS(t.space,t.local))===a?null:u===r&&a===i?o:o=n(r=u,i=a);this.removeAttributeNS(t.space,t.local)}}}function Rn(t,n){function e(){var e=this,r=n.apply(e,arguments);return r&&function(n){e.setAttributeNS(t.space,t.local,r(n))}}return e._value=n,e}function Ln(t,n){function e(){var e=this,r=n.apply(e,arguments);return r&&function(n){e.setAttribute(t,r(n))}}return e._value=n,e}function qn(t,n){return function(){xn(this,t).delay=+n.apply(this,arguments)}}function Un(t,n){return n=+n,function(){xn(this,t).delay=n}}function Dn(t,n){return function(){bn(this,t).duration=+n.apply(this,arguments)}}function On(t,n){return n=+n,function(){bn(this,t).duration=n}}function Fn(t,n){if("function"!=typeof n)throw new Error;return function(){bn(this,t).ease=n}}function In(t){return(t+"").trim().split(/^|\s+/).every(function(t){var n=t.indexOf(".");return n>=0&&(t=t.slice(0,n)),!t||"start"===t})}function Yn(t,n,e){var r,i,o=In(n)?xn:bn;return function(){var u=o(this,t),a=u.on;a!==r&&(i=(r=a).copy()).on(n,e),u.on=i}}function Bn(t){return function(){var n=this.parentNode;for(var e in this.__transition)if(+e!==t)return;n&&n.removeChild(this)}}function jn(t,n){var e,r,i;return function(){var o=B(this,t),u=(this.style.removeProperty(t),B(this,t));return o===u?null:o===e&&u===r?i:i=n(e=o,r=u)}}function Hn(t){return function(){this.style.removeProperty(t)}}function Xn(t,n,e){var r,i;return function(){var o=B(this,t);return o===e?null:o===r?i:i=n(r=o,e)}}function $n(t,n,e){var r,i,o;return function(){var u=B(this,t),a=e(this);return null==a&&(this.style.removeProperty(t),a=B(this,t)),u===a?null:u===r&&a===i?o:o=n(r=u,i=a)}}function Vn(t,n,e){function r(){var r=this,i=n.apply(r,arguments);return i&&function(n){r.style.setProperty(t,i(n),e)}}return r._value=n,r}function Wn(t){return function(){this.textContent=t}}function Zn(t){return function(){var n=t(this);this.textContent=null==n?"":n}}function Gn(t,n,e,r){this._groups=t,this._parents=n,this._name=e,this._id=r}function Jn(t){return dt().transition(t)}function Qn(){return++Wl}function Kn(t){return((t*=2)<=1?t*t:--t*(2-t)+1)/2}function te(t){return((t*=2)<=1?t*t*t:(t-=2)*t*t+2)/2}function ne(t){return(1-Math.cos(Kl*t))/2}function ee(t){return((t*=2)<=1?Math.pow(2,10*t-10):2-Math.pow(2,10-10*t))/2}function re(t){return((t*=2)<=1?1-Math.sqrt(1-t*t):Math.sqrt(1-(t-=2)*t)+1)/2}function ie(t){return(t=+t)<nh?fh*t*t:t<rh?fh*(t-=eh)*t+ih:t<uh?fh*(t-=oh)*t+ah:fh*(t-=ch)*t+sh}function oe(t,n){for(var e;!(e=t.__transition)||!(e=e[n]);)if(!(t=t.parentNode))return yh.time=ln(),yh;return e}function ue(){t.event.stopImmediatePropagation()}function ae(t){return{type:t}}function ce(){return!t.event.button}function se(){var t=this.ownerSVGElement||this;return[[0,0],[t.width.baseVal.value,t.height.baseVal.value]]}function fe(t){for(;!t.__brush;)if(!(t=t.parentNode))return;return t.__brush}function le(t){return t[0][0]===t[1][0]||t[0][1]===t[1][1]}function he(n){function e(t){var e=t.property("__brush",a).selectAll(".overlay").data([ae("overlay")]);e.enter().append("rect").attr("class","overlay").attr("pointer-events","all").attr("cursor",Ch.overlay).merge(e).each(function(){var t=fe(this).extent;ff(this).attr("x",t[0][0]).attr("y",t[0][1]).attr("width",t[1][0]-t[0][0]).attr("height",t[1][1]-t[0][1])}),t.selectAll(".selection").data([ae("selection")]).enter().append("rect").attr("class","selection").attr("cursor",Ch.selection).attr("fill","#777").attr("fill-opacity",.3).attr("stroke","#fff").attr("shape-rendering","crispEdges");var i=t.selectAll(".handle").data(n.handles,function(t){return t.type});i.exit().remove(),i.enter().append("rect").attr("class",function(t){return"handle handle--"+t.type}).attr("cursor",function(t){return Ch[t.type]}),t.each(r).attr("fill","none").attr("pointer-events","all").style("-webkit-tap-highlight-color","rgba(0,0,0,0)").on("mousedown.brush touchstart.brush",u)}function r(){var t=ff(this),n=fe(this).selection;n?(t.selectAll(".selection").style("display",null).attr("x",n[0][0]).attr("y",n[0][1]).attr("width",n[1][0]-n[0][0]).attr("height",n[1][1]-n[0][1]),t.selectAll(".handle").style("display",null).attr("x",function(t){return"e"===t.type[t.type.length-1]?n[1][0]-p/2:n[0][0]-p/2}).attr("y",function(t){return"s"===t.type[0]?n[1][1]-p/2:n[0][1]-p/2}).attr("width",function(t){return"n"===t.type||"s"===t.type?n[1][0]-n[0][0]+p:p}).attr("height",function(t){return"e"===t.type||"w"===t.type?n[1][1]-n[0][1]+p:p})):t.selectAll(".selection,.handle").style("display","none").attr("x",null).attr("y",null).attr("width",null).attr("height",null)}function i(t,n){return t.__brush.emitter||new o(t,n)}function o(t,n){this.that=t,this.args=n,this.state=t.__brush,this.active=0}function u(){function e(){var t=nf(w);!L||x||b||(Math.abs(t[0]-U[0])>Math.abs(t[1]-U[1])?b=!0:x=!0),U=t,m=!0,wh(),o()}function o(){var t;switch(g=U[0]-q[0],y=U[1]-q[1],T){case Th:case Mh:N&&(g=Math.max(C-a,Math.min(P-p,g)),s=a+g,d=p+g),k&&(y=Math.max(z-l,Math.min(R-v,y)),h=l+y,_=v+y);break;case Nh:N<0?(g=Math.max(C-a,Math.min(P-a,g)),s=a+g,d=p):N>0&&(g=Math.max(C-p,Math.min(P-p,g)),s=a,d=p+g),k<0?(y=Math.max(z-l,Math.min(R-l,y)),h=l+y,_=v):k>0&&(y=Math.max(z-v,Math.min(R-v,y)),h=l,_=v+y);break;case kh:N&&(s=Math.max(C,Math.min(P,a-g*N)),d=Math.max(C,Math.min(P,p+g*N))),k&&(h=Math.max(z,Math.min(R,l-y*k)),_=Math.max(z,Math.min(R,v+y*k)))}d<s&&(N*=-1,t=a,a=p,p=t,t=s,s=d,d=t,M in zh&&F.attr("cursor",Ch[M=zh[M]])),_<h&&(k*=-1,t=l,l=v,v=t,t=h,h=_,_=t,M in Ph&&F.attr("cursor",Ch[M=Ph[M]])),S.selection&&(A=S.selection),x&&(s=A[0][0],d=A[1][0]),b&&(h=A[0][1],_=A[1][1]),A[0][0]===s&&A[0][1]===h&&A[1][0]===d&&A[1][1]===_||(S.selection=[[s,h],[d,_]],r.call(w),D.brush())}function u(){if(ue(),t.event.touches){if(t.event.touches.length)return;c&&clearTimeout(c),c=setTimeout(function(){c=null},500),O.on("touchmove.brush touchend.brush touchcancel.brush",null)}else _t(t.event.view,m),I.on("keydown.brush keyup.brush mousemove.brush mouseup.brush",null);O.attr("pointer-events","all"),F.attr("cursor",Ch.overlay),S.selection&&(A=S.selection),le(A)&&(S.selection=null,r.call(w)),D.end()}if(t.event.touches){if(t.event.changedTouches.length<t.event.touches.length)return wh()}else if(c)return;if(f.apply(this,arguments)){var a,s,l,h,p,d,v,_,g,y,m,x,b,w=this,M=t.event.target.__data__.type,T="selection"===(t.event.metaKey?M="overlay":M)?Mh:t.event.altKey?kh:Nh,N=n===Eh?null:Rh[M],k=n===Sh?null:Lh[M],S=fe(w),E=S.extent,A=S.selection,C=E[0][0],z=E[0][1],P=E[1][0],R=E[1][1],L=N&&k&&t.event.shiftKey,q=nf(w),U=q,D=i(w,arguments).beforestart();"overlay"===M?S.selection=A=[[a=n===Eh?C:q[0],l=n===Sh?z:q[1]],[p=n===Eh?P:a,v=n===Sh?R:l]]:(a=A[0][0],l=A[0][1],p=A[1][0],v=A[1][1]),s=a,h=l,d=p,_=v;var O=ff(w).attr("pointer-events","none"),F=O.selectAll(".overlay").attr("cursor",Ch[M]);if(t.event.touches)O.on("touchmove.brush",e,!0).on("touchend.brush touchcancel.brush",u,!0);else{var I=ff(t.event.view).on("keydown.brush",function(){switch(t.event.keyCode){case 16:L=N&&k;break;case 18:T===Nh&&(N&&(p=d-g*N,a=s+g*N),k&&(v=_-y*k,l=h+y*k),T=kh,o());break;case 32:T!==Nh&&T!==kh||(N<0?p=d-g:N>0&&(a=s-g),k<0?v=_-y:k>0&&(l=h-y),T=Th,F.attr("cursor",Ch.selection),o());break;default:return}wh()},!0).on("keyup.brush",function(){switch(t.event.keyCode){case 16:L&&(x=b=L=!1,o());break;case 18:T===kh&&(N<0?p=d:N>0&&(a=s),k<0?v=_:k>0&&(l=h),T=Nh,o());break;case 32:T===Th&&(t.event.altKey?(N&&(p=d-g*N,a=s+g*N),k&&(v=_-y*k,l=h+y*k),T=kh):(N<0?p=d:N>0&&(a=s),k<0?v=_:k>0&&(l=h),T=Nh),F.attr("cursor",Ch[M]),o());break;default:return}wh()},!0).on("mousemove.brush",e,!0).on("mouseup.brush",u,!0);pf(t.event.view)}ue(),Xl(w),r.call(w),D.start()}}function a(){var t=this.__brush||{selection:null};return t.extent=s.apply(this,arguments),t.dim=n,t}var c,s=se,f=ce,l=h(e,"start","brush","end"),p=6;return e.move=function(t,e){t.selection?t.on("start.brush",function(){i(this,arguments).beforestart().start()}).on("interrupt.brush end.brush",function(){i(this,arguments).end()}).tween("brush",function(){function t(t){u.selection=1===t&&le(s)?null:f(t),r.call(o),a.brush()}var o=this,u=o.__brush,a=i(o,arguments),c=u.selection,s=n.input("function"==typeof e?e.apply(this,arguments):e,u.extent),f=fl(c,s);return c&&s?t:t(1)}):t.each(function(){var t=this,o=arguments,u=t.__brush,a=n.input("function"==typeof e?e.apply(t,o):e,u.extent),c=i(t,o).beforestart();Xl(t),u.selection=null==a||le(a)?null:a,r.call(t),c.start().brush().end()})},o.prototype={beforestart:function(){return 1==++this.active&&(this.state.emitter=this,this.starting=!0),this},start:function(){return this.starting&&(this.starting=!1,this.emit("start")),this},brush:function(){return this.emit("brush"),this},end:function(){return 0==--this.active&&(delete this.state.emitter,this.emit("end")),this},emit:function(t){k(new bh(e,t,n.output(this.state.selection)),l.apply,l,[t,this.that,this.args])}},e.extent=function(t){return arguments.length?(s="function"==typeof t?t:xh([[+t[0][0],+t[0][1]],[+t[1][0],+t[1][1]]]),e):s},e.filter=function(t){return arguments.length?(f="function"==typeof t?t:xh(!!t),e):f},e.handleSize=function(t){return arguments.length?(p=+t,e):p},e.on=function(){var t=l.on.apply(l,arguments);return t===l?e:t},e}function pe(t){return function(n,e){return t(n.source.value+n.target.value,e.source.value+e.target.value)}}function de(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function ve(){return new de}function _e(t){return t.source}function ge(t){return t.target}function ye(t){return t.radius}function me(t){return t.startAngle}function xe(t){return t.endAngle}function be(){}function we(t,n){var e=new be;if(t instanceof be)t.each(function(t,n){e.set(n,t)});else if(Array.isArray(t)){var r,i=-1,o=t.length;if(null==n)for(;++i<o;)e.set(i,t[i]);else for(;++i<o;)e.set(n(r=t[i],i,t),r)}else if(t)for(var u in t)e.set(u,t[u]);return e}function Me(){return{}}function Te(t,n,e){t[n]=e}function Ne(){return we()}function ke(t,n,e){t.set(n,e)}function Se(){}function Ee(t,n){var e=new Se;if(t instanceof Se)t.each(function(t){e.add(t)});else if(t){var r=-1,i=t.length;if(null==n)for(;++r<i;)e.add(t[r]);else for(;++r<i;)e.add(n(t[r],r,t))}return e}function Ae(t){return new Function("d","return {"+t.map(function(t,n){return JSON.stringify(t)+": d["+n+"]"}).join(",")+"}")}function Ce(t,n){var e=Ae(t);return function(r,i){return n(e(r),i,t)}}function ze(t){var n=Object.create(null),e=[];return t.forEach(function(t){for(var r in t)r in n||e.push(n[r]=r)}),e}function Pe(t,n,e,r){if(isNaN(n)||isNaN(e))return t;var i,o,u,a,c,s,f,l,h,p=t._root,d={data:r},v=t._x0,_=t._y0,g=t._x1,y=t._y1;if(!p)return t._root=d,t;for(;p.length;)if((s=n>=(o=(v+g)/2))?v=o:g=o,(f=e>=(u=(_+y)/2))?_=u:y=u,i=p,!(p=p[l=f<<1|s]))return i[l]=d,t;if(a=+t._x.call(null,p.data),c=+t._y.call(null,p.data),n===a&&e===c)return d.next=p,i?i[l]=d:t._root=d,t;do{i=i?i[l]=new Array(4):t._root=new Array(4),(s=n>=(o=(v+g)/2))?v=o:g=o,(f=e>=(u=(_+y)/2))?_=u:y=u}while((l=f<<1|s)==(h=(c>=u)<<1|a>=o));return i[h]=p,i[l]=d,t}function Re(t){return t[0]}function Le(t){return t[1]}function qe(t,n,e){var r=new Ue(null==n?Re:n,null==e?Le:e,NaN,NaN,NaN,NaN);return null==t?r:r.addAll(t)}function Ue(t,n,e,r,i,o){this._x=t,this._y=n,this._x0=e,this._y0=r,this._x1=i,this._y1=o,this._root=void 0}function De(t){for(var n={data:t.data},e=n;t=t.next;)e=e.next={data:t.data};return n}function Oe(t){return t.x+t.vx}function Fe(t){return t.y+t.vy}function Ie(t){return t.index}function Ye(t,n){var e=t.get(n);if(!e)throw new Error("missing: "+n);return e}function Be(t){return t.x}function je(t){return t.y}function He(t){return new Xe(t)}function Xe(t){if(!(n=wp.exec(t)))throw new Error("invalid format: "+t);var n,e=n[1]||" ",r=n[2]||">",i=n[3]||"-",o=n[4]||"",u=!!n[5],a=n[6]&&+n[6],c=!!n[7],s=n[8]&&+n[8].slice(1),f=n[9]||"";"n"===f?(c=!0,f="g"):bp[f]||(f=""),(u||"0"===e&&"="===r)&&(u=!0,e="0",r="="),this.fill=e,this.align=r,this.sign=i,this.symbol=o,this.zero=u,this.width=a,this.comma=c,this.precision=s,this.type=f}function $e(n){return Mp=kp(n),t.format=Mp.format,t.formatPrefix=Mp.formatPrefix,Mp}function Ve(){this.reset()}function We(t,n,e){var r=t.s=n+e,i=r-n,o=r-i;t.t=n-o+(e-i)}function Ze(t){return t>1?0:t<-1?fd:Math.acos(t)}function Ge(t){return t>1?ld:t<-1?-ld:Math.asin(t)}function Je(t){return(t=Td(t/2))*t}function Qe(){}function Ke(t,n){t&&Ad.hasOwnProperty(t.type)&&Ad[t.type](t,n)}function tr(t,n,e){var r,i=-1,o=t.length-e;for(n.lineStart();++i<o;)r=t[i],n.point(r[0],r[1],r[2]);n.lineEnd()}function nr(t,n){var e=-1,r=t.length;for(n.polygonStart();++e<r;)tr(t[e],n,1);n.polygonEnd()}function er(){Rd.point=ir}function rr(){or(zp,Pp)}function ir(t,n){Rd.point=or,zp=t,Pp=n,Rp=t*=vd,Lp=md(n=(n*=vd)/2+hd),qp=Td(n)}function or(t,n){n=(n*=vd)/2+hd;var e=(t*=vd)-Rp,r=e>=0?1:-1,i=r*e,o=md(n),u=Td(n),a=qp*u,c=Lp*o+a*md(i),s=a*r*Td(i);zd.add(yd(s,c)),Rp=t,Lp=o,qp=u}function ur(t){return[yd(t[1],t[0]),Ge(t[2])]}function ar(t){var n=t[0],e=t[1],r=md(e);return[r*md(n),r*Td(n),Td(e)]}function cr(t,n){return t[0]*n[0]+t[1]*n[1]+t[2]*n[2]}function sr(t,n){return[t[1]*n[2]-t[2]*n[1],t[2]*n[0]-t[0]*n[2],t[0]*n[1]-t[1]*n[0]]}function fr(t,n){t[0]+=n[0],t[1]+=n[1],t[2]+=n[2]}function lr(t,n){return[t[0]*n,t[1]*n,t[2]*n]}function hr(t){var n=kd(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]);t[0]/=n,t[1]/=n,t[2]/=n}function pr(t,n){Hp.push(Xp=[Up=t,Op=t]),n<Dp&&(Dp=n),n>Fp&&(Fp=n)}function dr(t,n){var e=ar([t*vd,n*vd]);if(jp){var r=sr(jp,e),i=sr([r[1],-r[0],0],r);hr(i),i=ur(i);var o,u=t-Ip,a=u>0?1:-1,c=i[0]*dd*a,s=_d(u)>180;s^(a*Ip<c&&c<a*t)?(o=i[1]*dd)>Fp&&(Fp=o):(c=(c+360)%360-180,s^(a*Ip<c&&c<a*t)?(o=-i[1]*dd)<Dp&&(Dp=o):(n<Dp&&(Dp=n),n>Fp&&(Fp=n))),s?t<Ip?xr(Up,t)>xr(Up,Op)&&(Op=t):xr(t,Op)>xr(Up,Op)&&(Up=t):Op>=Up?(t<Up&&(Up=t),t>Op&&(Op=t)):t>Ip?xr(Up,t)>xr(Up,Op)&&(Op=t):xr(t,Op)>xr(Up,Op)&&(Up=t)}else Hp.push(Xp=[Up=t,Op=t]);n<Dp&&(Dp=n),n>Fp&&(Fp=n),jp=e,Ip=t}function vr(){qd.point=dr}function _r(){Xp[0]=Up,Xp[1]=Op,qd.point=pr,jp=null}function gr(t,n){if(jp){var e=t-Ip;Ld.add(_d(e)>180?e+(e>0?360:-360):e)}else Yp=t,Bp=n;Rd.point(t,n),dr(t,n)}function yr(){Rd.lineStart()}function mr(){gr(Yp,Bp),Rd.lineEnd(),_d(Ld)>sd&&(Up=-(Op=180)),Xp[0]=Up,Xp[1]=Op,jp=null}function xr(t,n){return(n-=t)<0?n+360:n}function br(t,n){return t[0]-n[0]}function wr(t,n){return t[0]<=t[1]?t[0]<=n&&n<=t[1]:n<t[0]||t[1]<n}function Mr(t,n){t*=vd;var e=md(n*=vd);Tr(e*md(t),e*Td(t),Td(n))}function Tr(t,n,e){Wp+=(t-Wp)/++$p,Zp+=(n-Zp)/$p,Gp+=(e-Gp)/$p}function Nr(){Ud.point=kr}function kr(t,n){t*=vd;var e=md(n*=vd);od=e*md(t),ud=e*Td(t),ad=Td(n),Ud.point=Sr,Tr(od,ud,ad)}function Sr(t,n){t*=vd;var e=md(n*=vd),r=e*md(t),i=e*Td(t),o=Td(n),u=yd(kd((u=ud*o-ad*i)*u+(u=ad*r-od*o)*u+(u=od*i-ud*r)*u),od*r+ud*i+ad*o);Vp+=u,Jp+=u*(od+(od=r)),Qp+=u*(ud+(ud=i)),Kp+=u*(ad+(ad=o)),Tr(od,ud,ad)}function Er(){Ud.point=Mr}function Ar(){Ud.point=zr}function Cr(){Pr(rd,id),Ud.point=Mr}function zr(t,n){rd=t,id=n,t*=vd,n*=vd,Ud.point=Pr;var e=md(n);od=e*md(t),ud=e*Td(t),ad=Td(n),Tr(od,ud,ad)}function Pr(t,n){t*=vd;var e=md(n*=vd),r=e*md(t),i=e*Td(t),o=Td(n),u=ud*o-ad*i,a=ad*r-od*o,c=od*i-ud*r,s=kd(u*u+a*a+c*c),f=Ge(s),l=s&&-f/s;td+=l*u,nd+=l*a,ed+=l*c,Vp+=f,Jp+=f*(od+(od=r)),Qp+=f*(ud+(ud=i)),Kp+=f*(ad+(ad=o)),Tr(od,ud,ad)}function Rr(t,n){return[t>fd?t-pd:t<-fd?t+pd:t,n]}function Lr(t,n,e){return(t%=pd)?n||e?Od(Ur(t),Dr(n,e)):Ur(t):n||e?Dr(n,e):Rr}function qr(t){return function(n,e){return n+=t,[n>fd?n-pd:n<-fd?n+pd:n,e]}}function Ur(t){var n=qr(t);return n.invert=qr(-t),n}function Dr(t,n){function e(t,n){var e=md(n),a=md(t)*e,c=Td(t)*e,s=Td(n),f=s*r+a*i;return[yd(c*o-f*u,a*r-s*i),Ge(f*o+c*u)]}var r=md(t),i=Td(t),o=md(n),u=Td(n);return e.invert=function(t,n){var e=md(n),a=md(t)*e,c=Td(t)*e,s=Td(n),f=s*o-c*u;return[yd(c*o+s*u,a*r+f*i),Ge(f*r-a*i)]},e}function Or(t,n,e,r,i,o){if(e){var u=md(n),a=Td(n),c=r*e;null==i?(i=n+r*pd,o=n-c/2):(i=Fr(u,i),o=Fr(u,o),(r>0?i<o:i>o)&&(i+=r*pd));for(var s,f=i;r>0?f>o:f<o;f-=c)s=ur([u,-a*md(f),-a*Td(f)]),t.point(s[0],s[1])}}function Fr(t,n){(n=ar(n))[0]-=t,hr(n);var e=Ze(-n[1]);return((-n[2]<0?-e:e)+pd-sd)%pd}function Ir(t,n,e,r){this.x=t,this.z=n,this.o=e,this.e=r,this.v=!1,this.n=this.p=null}function Yr(t){if(n=t.length){for(var n,e,r=0,i=t[0];++r<n;)i.n=e=t[r],e.p=i,i=e;i.n=e=t[0],e.p=i}}function Br(t){return t.length>1}function jr(t,n){return((t=t.x)[0]<0?t[1]-ld-sd:ld-t[1])-((n=n.x)[0]<0?n[1]-ld-sd:ld-n[1])}function Hr(t,n,e,r){var i,o,u=Td(t-e);return _d(u)>sd?gd((Td(n)*(o=md(r))*Td(e)-Td(r)*(i=md(n))*Td(t))/(i*o*u)):(n+r)/2}function Xr(t,n,e,r){function i(i,o){return t<=i&&i<=e&&n<=o&&o<=r}function o(i,o,a,s){var f=0,l=0;if(null==i||(f=u(i,a))!==(l=u(o,a))||c(i,o)<0^a>0)do{s.point(0===f||3===f?t:e,f>1?r:n)}while((f=(f+a+4)%4)!==l);else s.point(o[0],o[1])}function u(r,i){return _d(r[0]-t)<sd?i>0?0:3:_d(r[0]-e)<sd?i>0?2:1:_d(r[1]-n)<sd?i>0?1:0:i>0?3:2}function a(t,n){return c(t.x,n.x)}function c(t,n){var e=u(t,1),r=u(n,1);return e!==r?e-r:0===e?n[1]-t[1]:1===e?t[0]-n[0]:2===e?t[1]-n[1]:n[0]-t[0]}return function(u){function c(t,n){i(t,n)&&w.point(t,n)}function s(){for(var n=0,e=0,i=h.length;e<i;++e)for(var o,u,a=h[e],c=1,s=a.length,f=a[0],l=f[0],p=f[1];c<s;++c)o=l,u=p,l=(f=a[c])[0],p=f[1],u<=r?p>r&&(l-o)*(r-u)>(p-u)*(t-o)&&++n:p<=r&&(l-o)*(r-u)<(p-u)*(t-o)&&--n;return n}function f(o,u){var a=i(o,u);if(h&&p.push([o,u]),x)d=o,v=u,_=a,x=!1,a&&(w.lineStart(),w.point(o,u));else if(a&&m)w.point(o,u);else{var c=[g=Math.max(av,Math.min(uv,g)),y=Math.max(av,Math.min(uv,y))],s=[o=Math.max(av,Math.min(uv,o)),u=Math.max(av,Math.min(uv,u))];ov(c,s,t,n,e,r)?(m||(w.lineStart(),w.point(c[0],c[1])),w.point(s[0],s[1]),a||w.lineEnd(),b=!1):a&&(w.lineStart(),w.point(o,u),b=!1)}g=o,y=u,m=a}var l,h,p,d,v,_,g,y,m,x,b,w=u,M=Jd(),T={point:c,lineStart:function(){T.point=f,h&&h.push(p=[]),x=!0,m=!1,g=y=NaN},lineEnd:function(){l&&(f(d,v),_&&m&&M.rejoin(),l.push(M.result())),T.point=c,m&&w.lineEnd()},polygonStart:function(){w=M,l=[],h=[],b=!0},polygonEnd:function(){var t=s(),n=b&&t,e=(l=Ps(l)).length;(n||e)&&(u.polygonStart(),n&&(u.lineStart(),o(null,null,1,u),u.lineEnd()),e&&Kd(l,a,t,o,u),u.polygonEnd()),w=u,l=h=p=null}};return T}}function $r(){sv.point=sv.lineEnd=Qe}function Vr(t,n){Fd=t*=vd,Id=Td(n*=vd),Yd=md(n),sv.point=Wr}function Wr(t,n){t*=vd;var e=Td(n*=vd),r=md(n),i=_d(t-Fd),o=md(i),u=r*Td(i),a=Yd*e-Id*r*o,c=Id*e+Yd*r*o;cv.add(yd(kd(u*u+a*a),c)),Fd=t,Id=e,Yd=r}function Zr(t,n){return!(!t||!vv.hasOwnProperty(t.type))&&vv[t.type](t,n)}function Gr(t,n){return 0===pv(t,n)}function Jr(t,n){var e=pv(t[0],t[1]);return pv(t[0],n)+pv(n,t[1])<=e+sd}function Qr(t,n){return!!nv(t.map(Kr),ti(n))}function Kr(t){return(t=t.map(ti)).pop(),t}function ti(t){return[t[0]*vd,t[1]*vd]}function ni(t,n,e){var r=Ns(t,n-sd,e).concat(n);return function(t){return r.map(function(n){return[t,n]})}}function ei(t,n,e){var r=Ns(t,n-sd,e).concat(n);return function(t){return r.map(function(n){return[n,t]})}}function ri(){function t(){return{type:"MultiLineString",coordinates:n()}}function n(){return Ns(xd(o/_)*_,i,_).map(h).concat(Ns(xd(s/g)*g,c,g).map(p)).concat(Ns(xd(r/d)*d,e,d).filter(function(t){return _d(t%_)>sd}).map(f)).concat(Ns(xd(a/v)*v,u,v).filter(function(t){return _d(t%g)>sd}).map(l))}var e,r,i,o,u,a,c,s,f,l,h,p,d=10,v=d,_=90,g=360,y=2.5;return t.lines=function(){return n().map(function(t){return{type:"LineString",coordinates:t}})},t.outline=function(){return{type:"Polygon",coordinates:[h(o).concat(p(c).slice(1),h(i).reverse().slice(1),p(s).reverse().slice(1))]}},t.extent=function(n){return arguments.length?t.extentMajor(n).extentMinor(n):t.extentMinor()},t.extentMajor=function(n){return arguments.length?(o=+n[0][0],i=+n[1][0],s=+n[0][1],c=+n[1][1],o>i&&(n=o,o=i,i=n),s>c&&(n=s,s=c,c=n),t.precision(y)):[[o,s],[i,c]]},t.extentMinor=function(n){return arguments.length?(r=+n[0][0],e=+n[1][0],a=+n[0][1],u=+n[1][1],r>e&&(n=r,r=e,e=n),a>u&&(n=a,a=u,u=n),t.precision(y)):[[r,a],[e,u]]},t.step=function(n){return arguments.length?t.stepMajor(n).stepMinor(n):t.stepMinor()},t.stepMajor=function(n){return arguments.length?(_=+n[0],g=+n[1],t):[_,g]},t.stepMinor=function(n){return arguments.length?(d=+n[0],v=+n[1],t):[d,v]},t.precision=function(n){return arguments.length?(y=+n,f=ni(a,u,90),l=ei(r,e,y),h=ni(s,c,90),p=ei(o,i,y),t):y},t.extentMajor([[-180,-90+sd],[180,90-sd]]).extentMinor([[-180,-80-sd],[180,80+sd]])}function ii(){mv.point=oi}function oi(t,n){mv.point=ui,Bd=Hd=t,jd=Xd=n}function ui(t,n){yv.add(Xd*t-Hd*n),Hd=t,Xd=n}function ai(){ui(Bd,jd)}function ci(t,n){Nv+=t,kv+=n,++Sv}function si(){Lv.point=fi}function fi(t,n){Lv.point=li,ci(Wd=t,Zd=n)}function li(t,n){var e=t-Wd,r=n-Zd,i=kd(e*e+r*r);Ev+=i*(Wd+t)/2,Av+=i*(Zd+n)/2,Cv+=i,ci(Wd=t,Zd=n)}function hi(){Lv.point=ci}function pi(){Lv.point=vi}function di(){_i($d,Vd)}function vi(t,n){Lv.point=_i,ci($d=Wd=t,Vd=Zd=n)}function _i(t,n){var e=t-Wd,r=n-Zd,i=kd(e*e+r*r);Ev+=i*(Wd+t)/2,Av+=i*(Zd+n)/2,Cv+=i,zv+=(i=Zd*t-Wd*n)*(Wd+t),Pv+=i*(Zd+n),Rv+=3*i,ci(Wd=t,Zd=n)}function gi(t){this._context=t}function yi(t,n){Yv.point=mi,Uv=Ov=t,Dv=Fv=n}function mi(t,n){Ov-=t,Fv-=n,Iv.add(kd(Ov*Ov+Fv*Fv)),Ov=t,Fv=n}function xi(){this._string=[]}function bi(t){return"m0,"+t+"a"+t+","+t+" 0 1,1 0,"+-2*t+"a"+t+","+t+" 0 1,1 0,"+2*t+"z"}function wi(t){return function(n){var e=new Mi;for(var r in t)e[r]=t[r];return e.stream=n,e}}function Mi(){}function Ti(t,n,e){var r=n[1][0]-n[0][0],i=n[1][1]-n[0][1],o=t.clipExtent&&t.clipExtent();t.scale(150).translate([0,0]),null!=o&&t.clipExtent(null),Cd(e,t.stream(Tv));var u=Tv.result(),a=Math.min(r/(u[1][0]-u[0][0]),i/(u[1][1]-u[0][1])),c=+n[0][0]+(r-a*(u[1][0]+u[0][0]))/2,s=+n[0][1]+(i-a*(u[1][1]+u[0][1]))/2;return null!=o&&t.clipExtent(o),t.scale(150*a).translate([c,s])}function Ni(t,n,e){return Ti(t,[[0,0],n],e)}function ki(t){return wi({point:function(n,e){n=t(n,e),this.stream.point(n[0],n[1])}})}function Si(t,n){function e(r,i,o,u,a,c,s,f,l,h,p,d,v,_){var g=s-r,y=f-i,m=g*g+y*y;if(m>4*n&&v--){var x=u+h,b=a+p,w=c+d,M=kd(x*x+b*b+w*w),T=Ge(w/=M),N=_d(_d(w)-1)<sd||_d(o-l)<sd?(o+l)/2:yd(b,x),k=t(N,T),S=k[0],E=k[1],A=S-r,C=E-i,z=y*A-g*C;(z*z/m>n||_d((g*A+y*C)/m-.5)>.3||u*h+a*p+c*d<jv)&&(e(r,i,o,u,a,c,S,E,N,x/=M,b/=M,w,v,_),_.point(S,E),e(S,E,N,x,b,w,s,f,l,h,p,d,v,_))}}return function(n){function r(e,r){e=t(e,r),n.point(e[0],e[1])}function i(){g=NaN,w.point=o,n.lineStart()}function o(r,i){var o=ar([r,i]),u=t(r,i);e(g,y,_,m,x,b,g=u[0],y=u[1],_=r,m=o[0],x=o[1],b=o[2],Bv,n),n.point(g,y)}function u(){w.point=r,n.lineEnd()}function a(){i(),w.point=c,w.lineEnd=s}function c(t,n){o(f=t,n),l=g,h=y,p=m,d=x,v=b,w.point=o}function s(){e(g,y,_,m,x,b,l,h,f,p,d,v,Bv,n),w.lineEnd=u,u()}var f,l,h,p,d,v,_,g,y,m,x,b,w={point:r,lineStart:i,lineEnd:u,polygonStart:function(){n.polygonStart(),w.lineStart=a},polygonEnd:function(){n.polygonEnd(),w.lineStart=i}};return w}}function Ei(t){return wi({point:function(n,e){var r=t(n,e);return this.stream.point(r[0],r[1])}})}function Ai(t){return Ci(function(){return t})()}function Ci(t){function n(t){return t=f(t[0]*vd,t[1]*vd),[t[0]*_+a,c-t[1]*_]}function e(t){return(t=f.invert((t[0]-a)/_,(c-t[1])/_))&&[t[0]*dd,t[1]*dd]}function r(t,n){return t=u(t,n),[t[0]*_+a,c-t[1]*_]}function i(){f=Od(s=Lr(b,w,M),u);var t=u(m,x);return a=g-t[0]*_,c=y+t[1]*_,o()}function o(){return d=v=null,n}var u,a,c,s,f,l,h,p,d,v,_=150,g=480,y=250,m=0,x=0,b=0,w=0,M=0,T=null,N=rv,k=null,S=_v,E=.5,A=Hv(r,E);return n.stream=function(t){return d&&v===t?d:d=Xv(Ei(s)(N(A(S(v=t)))))},n.preclip=function(t){return arguments.length?(N=t,T=void 0,o()):N},n.postclip=function(t){return arguments.length?(S=t,k=l=h=p=null,o()):S},n.clipAngle=function(t){return arguments.length?(N=+t?iv(T=t*vd):(T=null,rv),o()):T*dd},n.clipExtent=function(t){return arguments.length?(S=null==t?(k=l=h=p=null,_v):Xr(k=+t[0][0],l=+t[0][1],h=+t[1][0],p=+t[1][1]),o()):null==k?null:[[k,l],[h,p]]},n.scale=function(t){return arguments.length?(_=+t,i()):_},n.translate=function(t){return arguments.length?(g=+t[0],y=+t[1],i()):[g,y]},n.center=function(t){return arguments.length?(m=t[0]%360*vd,x=t[1]%360*vd,i()):[m*dd,x*dd]},n.rotate=function(t){return arguments.length?(b=t[0]%360*vd,w=t[1]%360*vd,M=t.length>2?t[2]%360*vd:0,i()):[b*dd,w*dd,M*dd]},n.precision=function(t){return arguments.length?(A=Hv(r,E=t*t),o()):kd(E)},n.fitExtent=function(t,e){return Ti(n,t,e)},n.fitSize=function(t,e){return Ni(n,t,e)},function(){return u=t.apply(this,arguments),n.invert=u.invert&&e,i()}}function zi(t){var n=0,e=fd/3,r=Ci(t),i=r(n,e);return i.parallels=function(t){return arguments.length?r(n=t[0]*vd,e=t[1]*vd):[n*dd,e*dd]},i}function Pi(t){function n(t,n){return[t*e,Td(n)/e]}var e=md(t);return n.invert=function(t,n){return[t/e,Ge(n*e)]},n}function Ri(t,n){function e(t,n){var e=kd(o-2*i*Td(n))/i;return[e*Td(t*=i),u-e*md(t)]}var r=Td(t),i=(r+Td(n))/2;if(_d(i)<sd)return Pi(t);var o=1+r*(2*i-r),u=kd(o)/i;return e.invert=function(t,n){var e=u-n;return[yd(t,_d(e))/i*Nd(e),Ge((o-(t*t+e*e)*i*i)/(2*i))]},e}function Li(t){var n=t.length;return{point:function(e,r){for(var i=-1;++i<n;)t[i].point(e,r)},sphere:function(){for(var e=-1;++e<n;)t[e].sphere()},lineStart:function(){for(var e=-1;++e<n;)t[e].lineStart()},lineEnd:function(){for(var e=-1;++e<n;)t[e].lineEnd()},polygonStart:function(){for(var e=-1;++e<n;)t[e].polygonStart()},polygonEnd:function(){for(var e=-1;++e<n;)t[e].polygonEnd()}}}function qi(t){return function(n,e){var r=md(n),i=md(e),o=t(r*i);return[o*i*Td(n),o*Td(e)]}}function Ui(t){return function(n,e){var r=kd(n*n+e*e),i=t(r),o=Td(i),u=md(i);return[yd(n*o,r*u),Ge(r&&e*o/r)]}}function Di(t,n){return[t,wd(Sd((ld+n)/2))]}function Oi(t){function n(){var n=fd*a(),u=o(Gd(o.rotate()).invert([0,0]));return s(null==f?[[u[0]-n,u[1]-n],[u[0]+n,u[1]+n]]:t===Di?[[Math.max(u[0]-n,f),e],[Math.min(u[0]+n,r),i]]:[[f,Math.max(u[1]-n,e)],[r,Math.min(u[1]+n,i)]])}var e,r,i,o=Ai(t),u=o.center,a=o.scale,c=o.translate,s=o.clipExtent,f=null;return o.scale=function(t){return arguments.length?(a(t),n()):a()},o.translate=function(t){return arguments.length?(c(t),n()):c()},o.center=function(t){return arguments.length?(u(t),n()):u()},o.clipExtent=function(t){return arguments.length?(null==t?f=e=r=i=null:(f=+t[0][0],e=+t[0][1],r=+t[1][0],i=+t[1][1]),n()):null==f?null:[[f,e],[r,i]]},n()}function Fi(t){return Sd((ld+t)/2)}function Ii(t,n){function e(t,n){o>0?n<-ld+sd&&(n=-ld+sd):n>ld-sd&&(n=ld-sd);var e=o/Md(Fi(n),i);return[e*Td(i*t),o-e*md(i*t)]}var r=md(t),i=t===n?Td(t):wd(r/md(n))/wd(Fi(n)/Fi(t)),o=r*Md(Fi(t),i)/i;return i?(e.invert=function(t,n){var e=o-n,r=Nd(i)*kd(t*t+e*e);return[yd(t,_d(e))/i*Nd(e),2*gd(Md(o/r,1/i))-ld]},e):Di}function Yi(t,n){return[t,n]}function Bi(t,n){function e(t,n){var e=o-n,r=i*t;return[e*Td(r),o-e*md(r)]}var r=md(t),i=t===n?Td(t):(r-md(n))/(n-t),o=r/i+t;return _d(i)<sd?Yi:(e.invert=function(t,n){var e=o-n;return[yd(t,_d(e))/i*Nd(e),o-Nd(i)*kd(t*t+e*e)]},e)}function ji(t,n){var e=md(n),r=md(t)*e;return[e*Td(t)/r,Td(n)/r]}function Hi(t,n,e,r){return 1===t&&1===n&&0===e&&0===r?_v:wi({point:function(i,o){this.stream.point(i*t+e,o*n+r)}})}function Xi(t,n){var e=n*n,r=e*e;return[t*(.8707-.131979*e+r*(r*(.003971*e-.001529*r)-.013791)),n*(1.007226+e*(.015085+r*(.028874*e-.044475-.005916*r)))]}function $i(t,n){return[md(n)*Td(t),Td(n)]}function Vi(t,n){var e=md(n),r=1+md(t)*e;return[e*Td(t)/r,Td(n)/r]}function Wi(t,n){return[wd(Sd((ld+n)/2)),-t]}function Zi(t,n){return t.parent===n.parent?1:2}function Gi(t){return t.reduce(Ji,0)/t.length}function Ji(t,n){return t+n.x}function Qi(t){return 1+t.reduce(Ki,0)}function Ki(t,n){return Math.max(t,n.y)}function to(t){for(var n;n=t.children;)t=n[0];return t}function no(t){for(var n;n=t.children;)t=n[n.length-1];return t}function eo(t){var n=0,e=t.children,r=e&&e.length;if(r)for(;--r>=0;)n+=e[r].value;else n=1;t.value=n}function ro(t,n){if(t===n)return t;var e=t.ancestors(),r=n.ancestors(),i=null;for(t=e.pop(),n=r.pop();t===n;)i=t,t=e.pop(),n=r.pop();return i}function io(t,n){var e,r,i,o,u,a=new co(t),c=+t.value&&(a.value=t.value),s=[a];for(null==n&&(n=oo);e=s.pop();)if(c&&(e.value=+e.data.value),(i=n(e.data))&&(u=i.length))for(e.children=new Array(u),o=u-1;o>=0;--o)s.push(r=e.children[o]=new co(i[o])),r.parent=e,r.depth=e.depth+1;return a.eachBefore(ao)}function oo(t){return t.children}function uo(t){t.data=t.data.data}function ao(t){var n=0;do{t.height=n}while((t=t.parent)&&t.height<++n)}function co(t){this.data=t,this.depth=this.height=0,this.parent=null}function so(t){for(var n,e,r=t.length;r;)e=Math.random()*r--|0,n=t[r],t[r]=t[e],t[e]=n;return t}function fo(t,n){var e,r;if(po(n,t))return[n];for(e=0;e<t.length;++e)if(lo(n,t[e])&&po(go(t[e],n),t))return[t[e],n];for(e=0;e<t.length-1;++e)for(r=e+1;r<t.length;++r)if(lo(go(t[e],t[r]),n)&&lo(go(t[e],n),t[r])&&lo(go(t[r],n),t[e])&&po(yo(t[e],t[r],n),t))return[t[e],t[r],n];throw new Error}function lo(t,n){var e=t.r-n.r,r=n.x-t.x,i=n.y-t.y;return e<0||e*e<r*r+i*i}function ho(t,n){var e=t.r-n.r+1e-6,r=n.x-t.x,i=n.y-t.y;return e>0&&e*e>r*r+i*i}function po(t,n){for(var e=0;e<n.length;++e)if(!ho(t,n[e]))return!1;return!0}function vo(t){switch(t.length){case 1:return _o(t[0]);case 2:return go(t[0],t[1]);case 3:return yo(t[0],t[1],t[2])}}function _o(t){return{x:t.x,y:t.y,r:t.r}}function go(t,n){var e=t.x,r=t.y,i=t.r,o=n.x,u=n.y,a=n.r,c=o-e,s=u-r,f=a-i,l=Math.sqrt(c*c+s*s);return{x:(e+o+c/l*f)/2,y:(r+u+s/l*f)/2,r:(l+i+a)/2}}function yo(t,n,e){var r=t.x,i=t.y,o=t.r,u=n.x,a=n.y,c=n.r,s=e.x,f=e.y,l=e.r,h=r-u,p=r-s,d=i-a,v=i-f,_=c-o,g=l-o,y=r*r+i*i-o*o,m=y-u*u-a*a+c*c,x=y-s*s-f*f+l*l,b=p*d-h*v,w=(d*x-v*m)/(2*b)-r,M=(v*_-d*g)/b,T=(p*m-h*x)/(2*b)-i,N=(h*g-p*_)/b,k=M*M+N*N-1,S=2*(o+w*M+T*N),E=w*w+T*T-o*o,A=-(k?(S+Math.sqrt(S*S-4*k*E))/(2*k):E/S);return{x:r+w+M*A,y:i+T+N*A,r:A}}function mo(t,n,e){var r=t.x,i=t.y,o=n.r+e.r,u=t.r+e.r,a=n.x-r,c=n.y-i,s=a*a+c*c;if(s){var f=.5+((u*=u)-(o*=o))/(2*s),l=Math.sqrt(Math.max(0,2*o*(u+s)-(u-=s)*u-o*o))/(2*s);e.x=r+f*a+l*c,e.y=i+f*c-l*a}else e.x=r+u,e.y=i}function xo(t,n){var e=n.x-t.x,r=n.y-t.y,i=t.r+n.r;return i*i-1e-6>e*e+r*r}function bo(t){var n=t._,e=t.next._,r=n.r+e.r,i=(n.x*e.r+e.x*n.r)/r,o=(n.y*e.r+e.y*n.r)/r;return i*i+o*o}function wo(t){this._=t,this.next=null,this.previous=null}function Mo(t){if(!(i=t.length))return 0;var n,e,r,i,o,u,a,c,s,f,l;if(n=t[0],n.x=0,n.y=0,!(i>1))return n.r;if(e=t[1],n.x=-e.r,e.x=n.r,e.y=0,!(i>2))return n.r+e.r;mo(e,n,r=t[2]),n=new wo(n),e=new wo(e),r=new wo(r),n.next=r.previous=e,e.next=n.previous=r,r.next=e.previous=n;t:for(a=3;a<i;++a){mo(n._,e._,r=t[a]),r=new wo(r),c=e.next,s=n.previous,f=e._.r,l=n._.r;do{if(f<=l){if(xo(c._,r._)){e=c,n.next=e,e.previous=n,--a;continue t}f+=c._.r,c=c.next}else{if(xo(s._,r._)){(n=s).next=e,e.previous=n,--a;continue t}l+=s._.r,s=s.previous}}while(c!==s.next);for(r.previous=n,r.next=e,n.next=e.previous=e=r,o=bo(n);(r=r.next)!==e;)(u=bo(r))<o&&(n=r,o=u);e=n.next}for(n=[e._],r=e;(r=r.next)!==e;)n.push(r._);for(r=Jv(n),a=0;a<i;++a)n=t[a],n.x-=r.x,n.y-=r.y;return r.r}function To(t){return null==t?null:No(t)}function No(t){if("function"!=typeof t)throw new Error;return t}function ko(){return 0}function So(t){return Math.sqrt(t.value)}function Eo(t){return function(n){n.children||(n.r=Math.max(0,+t(n)||0))}}function Ao(t,n){return function(e){if(r=e.children){var r,i,o,u=r.length,a=t(e)*n||0;if(a)for(i=0;i<u;++i)r[i].r+=a;if(o=Mo(r),a)for(i=0;i<u;++i)r[i].r-=a;e.r=o+a}}}function Co(t){return function(n){var e=n.parent;n.r*=t,e&&(n.x=e.x+t*n.x,n.y=e.y+t*n.y)}}function zo(t){return t.id}function Po(t){return t.parentId}function Ro(t,n){return t.parent===n.parent?1:2}function Lo(t){var n=t.children;return n?n[0]:t.t}function qo(t){var n=t.children;return n?n[n.length-1]:t.t}function Uo(t,n,e){var r=e/(n.i-t.i);n.c-=r,n.s+=e,t.c+=r,n.z+=e,n.m+=e}function Do(t){for(var n,e=0,r=0,i=t.children,o=i.length;--o>=0;)(n=i[o]).z+=e,n.m+=e,e+=n.s+(r+=n.c)}function Oo(t,n,e){return t.a.parent===n.parent?t.a:e}function Fo(t,n){this._=t,this.parent=null,this.children=null,this.A=null,this.a=this,this.z=0,this.m=0,this.c=0,this.s=0,this.t=null,this.i=n}function Io(t){for(var n,e,r,i,o,u=new Fo(t,0),a=[u];n=a.pop();)if(r=n._.children)for(n.children=new Array(o=r.length),i=o-1;i>=0;--i)a.push(e=n.children[i]=new Fo(r[i],i)),e.parent=n;return(u.parent=new Fo(null,0)).children=[u],u}function Yo(t,n,e,r,i,o){for(var u,a,c,s,f,l,h,p,d,v,_,g=[],y=n.children,m=0,x=0,b=y.length,w=n.value;m<b;){c=i-e,s=o-r;do{f=y[x++].value}while(!f&&x<b);for(l=h=f,_=f*f*(v=Math.max(s/c,c/s)/(w*t)),d=Math.max(h/_,_/l);x<b;++x){if(f+=a=y[x].value,a<l&&(l=a),a>h&&(h=a),_=f*f*v,(p=Math.max(h/_,_/l))>d){f-=a;break}d=p}g.push(u={value:f,dice:c<s,children:y.slice(m,x)}),u.dice?t_(u,e,r,i,w?r+=s*f/w:o):i_(u,e,r,w?e+=c*f/w:i,o),w-=f,m=x}return g}function Bo(t,n){return t[0]-n[0]||t[1]-n[1]}function jo(t){for(var n=t.length,e=[0,1],r=2,i=2;i<n;++i){for(;r>1&&c_(t[e[r-2]],t[e[r-1]],t[i])<=0;)--r;e[r++]=i}return e.slice(0,r)}function Ho(t){this._size=t,this._call=this._error=null,this._tasks=[],this._data=[],this._waiting=this._active=this._ended=this._start=0}function Xo(t){if(!t._start)try{$o(t)}catch(n){if(t._tasks[t._ended+t._active-1])Wo(t,n);else if(!t._data)throw n}}function $o(t){for(;t._start=t._waiting&&t._active<t._size;){var n=t._ended+t._active,e=t._tasks[n],r=e.length-1,i=e[r];e[r]=Vo(t,n),--t._waiting,++t._active,e=i.apply(null,e),t._tasks[n]&&(t._tasks[n]=e||f_)}}function Vo(t,n){return function(e,r){t._tasks[n]&&(--t._active,++t._ended,t._tasks[n]=null,null==t._error&&(null!=e?Wo(t,e):(t._data[n]=r,t._waiting?Xo(t):Zo(t))))}}function Wo(t,n){var e,r=t._tasks.length;for(t._error=n,t._data=void 0,t._waiting=NaN;--r>=0;)if((e=t._tasks[r])&&(t._tasks[r]=null,e.abort))try{e.abort()}catch(n){}t._active=NaN,Zo(t)}function Zo(t){if(!t._active&&t._call){var n=t._data;t._data=void 0,t._call(t._error,n)}}function Go(t){if(null==t)t=1/0;else if(!((t=+t)>=1))throw new Error("invalid concurrency");return new Ho(t)}function Jo(t){return function(n,e){t(null==n?e:null)}}function Qo(t){var n=t.responseType;return n&&"text"!==n?t.response:t.responseText}function Ko(t,n){return function(e){return t(e.responseText,n)}}function tu(t){function n(n){var o=n+"",u=e.get(o);if(!u){if(i!==C_)return i;e.set(o,u=r.push(n))}return t[(u-1)%t.length]}var e=we(),r=[],i=C_;return t=null==t?[]:A_.call(t),n.domain=function(t){if(!arguments.length)return r.slice();r=[],e=we();for(var i,o,u=-1,a=t.length;++u<a;)e.has(o=(i=t[u])+"")||e.set(o,r.push(i));return n},n.range=function(e){return arguments.length?(t=A_.call(e),n):t.slice()},n.unknown=function(t){return arguments.length?(i=t,n):i},n.copy=function(){return tu().domain(r).range(t).unknown(i)},n}function nu(){function t(){var t=i().length,r=u[1]<u[0],l=u[r-0],h=u[1-r];n=(h-l)/Math.max(1,t-c+2*s),a&&(n=Math.floor(n)),l+=(h-l-n*(t-c))*f,e=n*(1-c),a&&(l=Math.round(l),e=Math.round(e));var p=Ns(t).map(function(t){return l+n*t});return o(r?p.reverse():p)}var n,e,r=tu().unknown(void 0),i=r.domain,o=r.range,u=[0,1],a=!1,c=0,s=0,f=.5;return delete r.unknown,r.domain=function(n){return arguments.length?(i(n),t()):i()},r.range=function(n){return arguments.length?(u=[+n[0],+n[1]],t()):u.slice()},r.rangeRound=function(n){return u=[+n[0],+n[1]],a=!0,t()},r.bandwidth=function(){return e},r.step=function(){return n},r.round=function(n){return arguments.length?(a=!!n,t()):a},r.padding=function(n){return arguments.length?(c=s=Math.max(0,Math.min(1,n)),t()):c},r.paddingInner=function(n){return arguments.length?(c=Math.max(0,Math.min(1,n)),t()):c},r.paddingOuter=function(n){return arguments.length?(s=Math.max(0,Math.min(1,n)),t()):s},r.align=function(n){return arguments.length?(f=Math.max(0,Math.min(1,n)),t()):f},r.copy=function(){return nu().domain(i()).range(u).round(a).paddingInner(c).paddingOuter(s).align(f)},t()}function eu(t){var n=t.copy;return t.padding=t.paddingOuter,delete t.paddingInner,delete t.paddingOuter,t.copy=function(){return eu(n())},t}function ru(t,n){return(n-=t=+t)?function(e){return(e-t)/n}:z_(n)}function iu(t){return function(n,e){var r=t(n=+n,e=+e);return function(t){return t<=n?0:t>=e?1:r(t)}}}function ou(t){return function(n,e){var r=t(n=+n,e=+e);return function(t){return t<=0?n:t>=1?e:r(t)}}}function uu(t,n,e,r){var i=t[0],o=t[1],u=n[0],a=n[1];return o<i?(i=e(o,i),u=r(a,u)):(i=e(i,o),u=r(u,a)),function(t){return u(i(t))}}function au(t,n,e,r){var i=Math.min(t.length,n.length)-1,o=new Array(i),u=new Array(i),a=-1;for(t[i]<t[0]&&(t=t.slice().reverse(),n=n.slice().reverse());++a<i;)o[a]=e(t[a],t[a+1]),u[a]=r(n[a],n[a+1]);return function(n){var e=ds(t,n,1,i)-1;return u[e](o[e](n))}}function cu(t,n){return n.domain(t.domain()).range(t.range()).interpolate(t.interpolate()).clamp(t.clamp())}function su(t,n){function e(){return i=Math.min(a.length,c.length)>2?au:uu,o=u=null,r}function r(n){return(o||(o=i(a,c,f?iu(t):t,s)))(+n)}var i,o,u,a=R_,c=R_,s=fl,f=!1;return r.invert=function(t){return(u||(u=i(c,a,ru,f?ou(n):n)))(+t)},r.domain=function(t){return arguments.length?(a=E_.call(t,P_),e()):a.slice()},r.range=function(t){return arguments.length?(c=A_.call(t),e()):c.slice()},r.rangeRound=function(t){return c=A_.call(t),s=ll,e()},r.clamp=function(t){return arguments.length?(f=!!t,e()):f},r.interpolate=function(t){return arguments.length?(s=t,e()):s},e()}function fu(t){var n=t.domain;return t.ticks=function(t){var e=n();return As(e[0],e[e.length-1],null==t?10:t)},t.tickFormat=function(t,e){return L_(n(),t,e)},t.nice=function(e){null==e&&(e=10);var i,o=n(),u=0,a=o.length-1,c=o[u],s=o[a];return s<c&&(i=c,c=s,s=i,i=u,u=a,a=i),(i=r(c,s,e))>0?i=r(c=Math.floor(c/i)*i,s=Math.ceil(s/i)*i,e):i<0&&(i=r(c=Math.ceil(c*i)/i,s=Math.floor(s*i)/i,e)),i>0?(o[u]=Math.floor(c/i)*i,o[a]=Math.ceil(s/i)*i,n(o)):i<0&&(o[u]=Math.ceil(c*i)/i,o[a]=Math.floor(s*i)/i,n(o)),t},t}function lu(){var t=su(ru,ol);return t.copy=function(){return cu(t,lu())},fu(t)}function hu(){function t(t){return+t}var n=[0,1];return t.invert=t,t.domain=t.range=function(e){return arguments.length?(n=E_.call(e,P_),t):n.slice()},t.copy=function(){return hu().domain(n)},fu(t)}function pu(t,n){return(n=Math.log(n/t))?function(e){return Math.log(e/t)/n}:z_(n)}function du(t,n){return t<0?function(e){return-Math.pow(-n,e)*Math.pow(-t,1-e)}:function(e){return Math.pow(n,e)*Math.pow(t,1-e)}}function vu(t){return isFinite(t)?+("1e"+t):t<0?0:t}function _u(t){return 10===t?vu:t===Math.E?Math.exp:function(n){return Math.pow(t,n)}}function gu(t){return t===Math.E?Math.log:10===t&&Math.log10||2===t&&Math.log2||(t=Math.log(t),function(n){return Math.log(n)/t})}function yu(t){return function(n){return-t(-n)}}function mu(){function n(){return o=gu(i),u=_u(i),r()[0]<0&&(o=yu(o),u=yu(u)),e}var e=su(pu,du).domain([1,10]),r=e.domain,i=10,o=gu(10),u=_u(10);return e.base=function(t){return arguments.length?(i=+t,n()):i},e.domain=function(t){return arguments.length?(r(t),n()):r()},e.ticks=function(t){var n,e=r(),a=e[0],c=e[e.length-1];(n=c<a)&&(h=a,a=c,c=h);var s,f,l,h=o(a),p=o(c),d=null==t?10:+t,v=[];if(!(i%1)&&p-h<d){if(h=Math.round(h)-1,p=Math.round(p)+1,a>0){for(;h<p;++h)for(f=1,s=u(h);f<i;++f)if(!((l=s*f)<a)){if(l>c)break;v.push(l)}}else for(;h<p;++h)for(f=i-1,s=u(h);f>=1;--f)if(!((l=s*f)<a)){if(l>c)break;v.push(l)}}else v=As(h,p,Math.min(p-h,d)).map(u);return n?v.reverse():v},e.tickFormat=function(n,r){if(null==r&&(r=10===i?".0e":","),"function"!=typeof r&&(r=t.format(r)),n===1/0)return r;null==n&&(n=10);var a=Math.max(1,i*n/e.ticks().length);return function(t){var n=t/u(Math.round(o(t)));return n*i<i-.5&&(n*=i),n<=a?r(t):""}},e.nice=function(){return r(q_(r(),{floor:function(t){return u(Math.floor(o(t)))},ceil:function(t){return u(Math.ceil(o(t)))}}))},e.copy=function(){return cu(e,mu().base(i))},e}function xu(t,n){return t<0?-Math.pow(-t,n):Math.pow(t,n)}function bu(){var t=1,n=su(function(n,e){return(e=xu(e,t)-(n=xu(n,t)))?function(r){return(xu(r,t)-n)/e}:z_(e)},function(n,e){return e=xu(e,t)-(n=xu(n,t)),function(r){return xu(n+e*r,1/t)}}),e=n.domain;return n.exponent=function(n){return arguments.length?(t=+n,e(e())):t},n.copy=function(){return cu(n,bu().exponent(t))},fu(n)}function wu(){function t(){var t=0,o=Math.max(1,r.length);for(i=new Array(o-1);++t<o;)i[t-1]=zs(e,t/o);return n}function n(t){if(!isNaN(t=+t))return r[ds(i,t)]}var e=[],r=[],i=[];return n.invertExtent=function(t){var n=r.indexOf(t);return n<0?[NaN,NaN]:[n>0?i[n-1]:e[0],n<i.length?i[n]:e[e.length-1]]},n.domain=function(n){if(!arguments.length)return e.slice();e=[];for(var r,i=0,o=n.length;i<o;++i)null==(r=n[i])||isNaN(r=+r)||e.push(r);return e.sort(ls),t()},n.range=function(n){return arguments.length?(r=A_.call(n),t()):r.slice()},n.quantiles=function(){return i.slice()},n.copy=function(){return wu().domain(e).range(r)},n}function Mu(){function t(t){if(t<=t)return u[ds(o,t,0,i)]}function n(){var n=-1;for(o=new Array(i);++n<i;)o[n]=((n+1)*r-(n-i)*e)/(i+1);return t}var e=0,r=1,i=1,o=[.5],u=[0,1];return t.domain=function(t){return arguments.length?(e=+t[0],r=+t[1],n()):[e,r]},t.range=function(t){return arguments.length?(i=(u=A_.call(t)).length-1,n()):u.slice()},t.invertExtent=function(t){var n=u.indexOf(t);return n<0?[NaN,NaN]:n<1?[e,o[0]]:n>=i?[o[i-1],r]:[o[n-1],o[n]]},t.copy=function(){return Mu().domain([e,r]).range(u)},fu(t)}function Tu(){function t(t){if(t<=t)return e[ds(n,t,0,r)]}var n=[.5],e=[0,1],r=1;return t.domain=function(i){return arguments.length?(n=A_.call(i),r=Math.min(n.length,e.length-1),t):n.slice()},t.range=function(i){return arguments.length?(e=A_.call(i),r=Math.min(n.length,e.length-1),t):e.slice()},t.invertExtent=function(t){var r=e.indexOf(t);return[n[r-1],n[r]]},t.copy=function(){return Tu().domain(n).range(e)},t}function Nu(t,n,e,r){function i(n){return t(n=new Date(+n)),n}return i.floor=i,i.ceil=function(e){return t(e=new Date(e-1)),n(e,1),t(e),e},i.round=function(t){var n=i(t),e=i.ceil(t);return t-n<e-t?n:e},i.offset=function(t,e){return n(t=new Date(+t),null==e?1:Math.floor(e)),t},i.range=function(e,r,o){var u=[];if(e=i.ceil(e),o=null==o?1:Math.floor(o),!(e<r&&o>0))return u;do{u.push(new Date(+e))}while(n(e,o),t(e),e<r);return u},i.filter=function(e){return Nu(function(n){if(n>=n)for(;t(n),!e(n);)n.setTime(n-1)},function(t,r){if(t>=t)if(r<0)for(;++r<=0;)for(;n(t,-1),!e(t););else for(;--r>=0;)for(;n(t,1),!e(t););})},e&&(i.count=function(n,r){return U_.setTime(+n),D_.setTime(+r),t(U_),t(D_),Math.floor(e(U_,D_))},i.every=function(t){return t=Math.floor(t),isFinite(t)&&t>0?t>1?i.filter(r?function(n){return r(n)%t==0}:function(n){return i.count(0,n)%t==0}):i:null}),i}function ku(t){return Nu(function(n){n.setDate(n.getDate()-(n.getDay()+7-t)%7),n.setHours(0,0,0,0)},function(t,n){t.setDate(t.getDate()+7*n)},function(t,n){return(n-t-(n.getTimezoneOffset()-t.getTimezoneOffset())*I_)/Y_})}function Su(t){return Nu(function(n){n.setUTCDate(n.getUTCDate()-(n.getUTCDay()+7-t)%7),n.setUTCHours(0,0,0,0)},function(t,n){t.setUTCDate(t.getUTCDate()+7*n)},function(t,n){return(n-t)/Y_})}function Eu(t){if(0<=t.y&&t.y<100){var n=new Date(-1,t.m,t.d,t.H,t.M,t.S,t.L);return n.setFullYear(t.y),n}return new Date(t.y,t.m,t.d,t.H,t.M,t.S,t.L)}function Au(t){if(0<=t.y&&t.y<100){var n=new Date(Date.UTC(-1,t.m,t.d,t.H,t.M,t.S,t.L));return n.setUTCFullYear(t.y),n}return new Date(Date.UTC(t.y,t.m,t.d,t.H,t.M,t.S,t.L))}function Cu(t){return{y:t,m:0,d:1,H:0,M:0,S:0,L:0}}function zu(t){function n(t,n){return function(e){var r,i,o,u=[],a=-1,c=0,s=t.length;for(e instanceof Date||(e=new Date(+e));++a<s;)37===t.charCodeAt(a)&&(u.push(t.slice(c,a)),null!=(i=Fg[r=t.charAt(++a)])?r=t.charAt(++a):i="e"===r?" ":"0",(o=n[r])&&(r=o(e,i)),u.push(r),c=a+1);return u.push(t.slice(c,a)),u.join("")}}function e(t,n){return function(e){var i=Cu(1900);if(r(i,t,e+="",0)!=e.length)return null;if("p"in i&&(i.H=i.H%12+12*i.p),"W"in i||"U"in i){"w"in i||(i.w="W"in i?1:0);var o="Z"in i?Au(Cu(i.y)).getUTCDay():n(Cu(i.y)).getDay();i.m=0,i.d="W"in i?(i.w+6)%7+7*i.W-(o+5)%7:i.w+7*i.U-(o+6)%7}return"Z"in i?(i.H+=i.Z/100|0,i.M+=i.Z%100,Au(i)):n(i)}}function r(t,n,e,r){for(var i,o,u=0,a=n.length,c=e.length;u<a;){if(r>=c)return-1;if(37===(i=n.charCodeAt(u++))){if(i=n.charAt(u++),!(o=T[i in Fg?n.charAt(u++):i])||(r=o(t,e,r))<0)return-1}else if(i!=e.charCodeAt(r++))return-1}return r}var i=t.dateTime,o=t.date,u=t.time,a=t.periods,c=t.days,s=t.shortDays,f=t.months,l=t.shortMonths,h=Lu(a),p=qu(a),d=Lu(c),v=qu(c),_=Lu(s),g=qu(s),y=Lu(f),m=qu(f),x=Lu(l),b=qu(l),w={a:function(t){return s[t.getDay()]},A:function(t){return c[t.getDay()]},b:function(t){return l[t.getMonth()]},B:function(t){return f[t.getMonth()]},c:null,d:Gu,e:Gu,H:Ju,I:Qu,j:Ku,L:ta,m:na,M:ea,p:function(t){return a[+(t.getHours()>=12)]},S:ra,U:ia,w:oa,W:ua,x:null,X:null,y:aa,Y:ca,Z:sa,"%":Ta},M={a:function(t){return s[t.getUTCDay()]},A:function(t){return c[t.getUTCDay()]},b:function(t){return l[t.getUTCMonth()]},B:function(t){return f[t.getUTCMonth()]},c:null,d:fa,e:fa,H:la,I:ha,j:pa,L:da,m:va,M:_a,p:function(t){return a[+(t.getUTCHours()>=12)]},S:ga,U:ya,w:ma,W:xa,x:null,X:null,y:ba,Y:wa,Z:Ma,"%":Ta},T={a:function(t,n,e){var r=_.exec(n.slice(e));return r?(t.w=g[r[0].toLowerCase()],e+r[0].length):-1},A:function(t,n,e){var r=d.exec(n.slice(e));return r?(t.w=v[r[0].toLowerCase()],e+r[0].length):-1},b:function(t,n,e){var r=x.exec(n.slice(e));return r?(t.m=b[r[0].toLowerCase()],e+r[0].length):-1},B:function(t,n,e){var r=y.exec(n.slice(e));return r?(t.m=m[r[0].toLowerCase()],e+r[0].length):-1},c:function(t,n,e){return r(t,i,n,e)},d:ju,e:ju,H:Xu,I:Xu,j:Hu,L:Wu,m:Bu,M:$u,p:function(t,n,e){var r=h.exec(n.slice(e));return r?(t.p=p[r[0].toLowerCase()],e+r[0].length):-1},S:Vu,U:Du,w:Uu,W:Ou,x:function(t,n,e){return r(t,o,n,e)},X:function(t,n,e){return r(t,u,n,e)},y:Iu,Y:Fu,Z:Yu,"%":Zu};return w.x=n(o,w),w.X=n(u,w),w.c=n(i,w),M.x=n(o,M),M.X=n(u,M),M.c=n(i,M),{format:function(t){var e=n(t+="",w);return e.toString=function(){return t},e},parse:function(t){var n=e(t+="",Eu);return n.toString=function(){return t},n},utcFormat:function(t){var e=n(t+="",M);return e.toString=function(){return t},e},utcParse:function(t){var n=e(t,Au);return n.toString=function(){return t},n}}}function Pu(t,n,e){var r=t<0?"-":"",i=(r?-t:t)+"",o=i.length;return r+(o<e?new Array(e-o+1).join(n)+i:i)}function Ru(t){return t.replace(Bg,"\\$&")}function Lu(t){return new RegExp("^(?:"+t.map(Ru).join("|")+")","i")}function qu(t){for(var n={},e=-1,r=t.length;++e<r;)n[t[e].toLowerCase()]=e;return n}function Uu(t,n,e){var r=Ig.exec(n.slice(e,e+1));return r?(t.w=+r[0],e+r[0].length):-1}function Du(t,n,e){var r=Ig.exec(n.slice(e));return r?(t.U=+r[0],e+r[0].length):-1}function Ou(t,n,e){var r=Ig.exec(n.slice(e));return r?(t.W=+r[0],e+r[0].length):-1}function Fu(t,n,e){var r=Ig.exec(n.slice(e,e+4));return r?(t.y=+r[0],e+r[0].length):-1}function Iu(t,n,e){var r=Ig.exec(n.slice(e,e+2));return r?(t.y=+r[0]+(+r[0]>68?1900:2e3),e+r[0].length):-1}function Yu(t,n,e){var r=/^(Z)|([+-]\d\d)(?:\:?(\d\d))?/.exec(n.slice(e,e+6));return r?(t.Z=r[1]?0:-(r[2]+(r[3]||"00")),e+r[0].length):-1}function Bu(t,n,e){var r=Ig.exec(n.slice(e,e+2));return r?(t.m=r[0]-1,e+r[0].length):-1}function ju(t,n,e){var r=Ig.exec(n.slice(e,e+2));return r?(t.d=+r[0],e+r[0].length):-1}function Hu(t,n,e){var r=Ig.exec(n.slice(e,e+3));return r?(t.m=0,t.d=+r[0],e+r[0].length):-1}function Xu(t,n,e){var r=Ig.exec(n.slice(e,e+2));return r?(t.H=+r[0],e+r[0].length):-1}function $u(t,n,e){var r=Ig.exec(n.slice(e,e+2));return r?(t.M=+r[0],e+r[0].length):-1}function Vu(t,n,e){var r=Ig.exec(n.slice(e,e+2));return r?(t.S=+r[0],e+r[0].length):-1}function Wu(t,n,e){var r=Ig.exec(n.slice(e,e+3));return r?(t.L=+r[0],e+r[0].length):-1}function Zu(t,n,e){var r=Yg.exec(n.slice(e,e+1));return r?e+r[0].length:-1}function Gu(t,n){return Pu(t.getDate(),n,2)}function Ju(t,n){return Pu(t.getHours(),n,2)}function Qu(t,n){return Pu(t.getHours()%12||12,n,2)}function Ku(t,n){return Pu(1+W_.count(hg(t),t),n,3)}function ta(t,n){return Pu(t.getMilliseconds(),n,3)}function na(t,n){return Pu(t.getMonth()+1,n,2)}function ea(t,n){return Pu(t.getMinutes(),n,2)}function ra(t,n){return Pu(t.getSeconds(),n,2)}function ia(t,n){return Pu(G_.count(hg(t),t),n,2)}function oa(t){return t.getDay()}function ua(t,n){return Pu(J_.count(hg(t),t),n,2)}function aa(t,n){return Pu(t.getFullYear()%100,n,2)}function ca(t,n){return Pu(t.getFullYear()%1e4,n,4)}function sa(t){var n=t.getTimezoneOffset();return(n>0?"-":(n*=-1,"+"))+Pu(n/60|0,"0",2)+Pu(n%60,"0",2)}function fa(t,n){return Pu(t.getUTCDate(),n,2)}function la(t,n){return Pu(t.getUTCHours(),n,2)}function ha(t,n){return Pu(t.getUTCHours()%12||12,n,2)}function pa(t,n){return Pu(1+yg.count(Ug(t),t),n,3)}function da(t,n){return Pu(t.getUTCMilliseconds(),n,3)}function va(t,n){return Pu(t.getUTCMonth()+1,n,2)}function _a(t,n){return Pu(t.getUTCMinutes(),n,2)}function ga(t,n){return Pu(t.getUTCSeconds(),n,2)}function ya(t,n){return Pu(xg.count(Ug(t),t),n,2)}function ma(t){return t.getUTCDay()}function xa(t,n){return Pu(bg.count(Ug(t),t),n,2)}function ba(t,n){return Pu(t.getUTCFullYear()%100,n,2)}function wa(t,n){return Pu(t.getUTCFullYear()%1e4,n,4)}function Ma(){return"+0000"}function Ta(){return"%"}function Na(n){return Dg=zu(n),t.timeFormat=Dg.format,t.timeParse=Dg.parse,t.utcFormat=Dg.utcFormat,t.utcParse=Dg.utcParse,Dg}function ka(t){return new Date(t)}function Sa(t){return t instanceof Date?+t:+new Date(+t)}function Ea(t,n,e,r,o,u,a,c,s){function f(i){return(a(i)<i?v:u(i)<i?_:o(i)<i?g:r(i)<i?y:n(i)<i?e(i)<i?m:x:t(i)<i?b:w)(i)}function l(n,e,r,o){if(null==n&&(n=10),"number"==typeof n){var u=Math.abs(r-e)/n,a=hs(function(t){return t[2]}).right(M,u);a===M.length?(o=i(e/Jg,r/Jg,n),n=t):a?(o=(a=M[u/M[a-1][2]<M[a][2]/u?a-1:a])[1],n=a[0]):(o=i(e,r,n),n=c)}return null==o?n:n.every(o)}var h=su(ru,ol),p=h.invert,d=h.domain,v=s(".%L"),_=s(":%S"),g=s("%I:%M"),y=s("%I %p"),m=s("%a %d"),x=s("%b %d"),b=s("%B"),w=s("%Y"),M=[[a,1,Xg],[a,5,5*Xg],[a,15,15*Xg],[a,30,30*Xg],[u,1,$g],[u,5,5*$g],[u,15,15*$g],[u,30,30*$g],[o,1,Vg],[o,3,3*Vg],[o,6,6*Vg],[o,12,12*Vg],[r,1,Wg],[r,2,2*Wg],[e,1,Zg],[n,1,Gg],[n,3,3*Gg],[t,1,Jg]];return h.invert=function(t){return new Date(p(t))},h.domain=function(t){return arguments.length?d(E_.call(t,Sa)):d().map(ka)},h.ticks=function(t,n){var e,r=d(),i=r[0],o=r[r.length-1],u=o<i;return u&&(e=i,i=o,o=e),e=l(t,i,o,n),e=e?e.range(i,o+1):[],u?e.reverse():e},h.tickFormat=function(t,n){return null==n?f:s(n)},h.nice=function(t,n){var e=d();return(t=l(t,e[0],e[e.length-1],n))?d(q_(e,t)):h},h.copy=function(){return cu(h,Ea(t,n,e,r,o,u,a,c,s))},h}function Aa(t){var n=t.length;return function(e){return t[Math.max(0,Math.min(n-1,Math.floor(e*n)))]}}function Ca(t){function n(n){var o=(n-e)/(r-e);return t(i?Math.max(0,Math.min(1,o)):o)}var e=0,r=1,i=!1;return n.domain=function(t){return arguments.length?(e=+t[0],r=+t[1],n):[e,r]},n.clamp=function(t){return arguments.length?(i=!!t,n):i},n.interpolator=function(e){return arguments.length?(t=e,n):t},n.copy=function(){return Ca(t).domain([e,r]).clamp(i)},fu(n)}function za(t){return t>1?0:t<-1?xy:Math.acos(t)}function Pa(t){return t>=1?by:t<=-1?-by:Math.asin(t)}function Ra(t){return t.innerRadius}function La(t){return t.outerRadius}function qa(t){return t.startAngle}function Ua(t){return t.endAngle}function Da(t){return t&&t.padAngle}function Oa(t,n,e,r,i,o,u,a){var c=e-t,s=r-n,f=u-i,l=a-o,h=(f*(n-o)-l*(t-i))/(l*c-f*s);return[t+h*c,n+h*s]}function Fa(t,n,e,r,i,o,u){var a=t-e,c=n-r,s=(u?o:-o)/yy(a*a+c*c),f=s*c,l=-s*a,h=t+f,p=n+l,d=e+f,v=r+l,_=(h+d)/2,g=(p+v)/2,y=d-h,m=v-p,x=y*y+m*m,b=i-o,w=h*v-d*p,M=(m<0?-1:1)*yy(vy(0,b*b*x-w*w)),T=(w*m-y*M)/x,N=(-w*y-m*M)/x,k=(w*m+y*M)/x,S=(-w*y+m*M)/x,E=T-_,A=N-g,C=k-_,z=S-g;return E*E+A*A>C*C+z*z&&(T=k,N=S),{cx:T,cy:N,x01:-f,y01:-l,x11:T*(i/b-1),y11:N*(i/b-1)}}function Ia(t){this._context=t}function Ya(t){return t[0]}function Ba(t){return t[1]}function ja(t){this._curve=t}function Ha(t){function n(n){return new ja(t(n))}return n._curve=t,n}function Xa(t){var n=t.curve;return t.angle=t.x,delete t.x,t.radius=t.y,delete t.y,t.curve=function(t){return arguments.length?n(Ha(t)):n()._curve},t}function $a(t){return t.source}function Va(t){return t.target}function Wa(t){function n(){var n,a=Py.call(arguments),c=e.apply(this,a),s=r.apply(this,a);if(u||(u=n=ve()),t(u,+i.apply(this,(a[0]=c,a)),+o.apply(this,a),+i.apply(this,(a[0]=s,a)),+o.apply(this,a)),n)return u=null,n+""||null}var e=$a,r=Va,i=Ya,o=Ba,u=null;return n.source=function(t){return arguments.length?(e=t,n):e},n.target=function(t){return arguments.length?(r=t,n):r},n.x=function(t){return arguments.length?(i="function"==typeof t?t:ly(+t),n):i},n.y=function(t){return arguments.length?(o="function"==typeof t?t:ly(+t),n):o},n.context=function(t){return arguments.length?(u=null==t?null:t,n):u},n}function Za(t,n,e,r,i){t.moveTo(n,e),t.bezierCurveTo(n=(n+r)/2,e,n,i,r,i)}function Ga(t,n,e,r,i){t.moveTo(n,e),t.bezierCurveTo(n,e=(e+i)/2,r,e,r,i)}function Ja(t,n,e,r,i){var o=zy(n,e),u=zy(n,e=(e+i)/2),a=zy(r,e),c=zy(r,i);t.moveTo(o[0],o[1]),t.bezierCurveTo(u[0],u[1],a[0],a[1],c[0],c[1])}function Qa(t,n,e){t._context.bezierCurveTo((2*t._x0+t._x1)/3,(2*t._y0+t._y1)/3,(t._x0+2*t._x1)/3,(t._y0+2*t._y1)/3,(t._x0+4*t._x1+n)/6,(t._y0+4*t._y1+e)/6)}function Ka(t){this._context=t}function tc(t){this._context=t}function nc(t){this._context=t}function ec(t,n){this._basis=new Ka(t),this._beta=n}function rc(t,n,e){t._context.bezierCurveTo(t._x1+t._k*(t._x2-t._x0),t._y1+t._k*(t._y2-t._y0),t._x2+t._k*(t._x1-n),t._y2+t._k*(t._y1-e),t._x2,t._y2)}function ic(t,n){this._context=t,this._k=(1-n)/6}function oc(t,n){this._context=t,this._k=(1-n)/6}function uc(t,n){this._context=t,this._k=(1-n)/6}function ac(t,n,e){var r=t._x1,i=t._y1,o=t._x2,u=t._y2;if(t._l01_a>my){var a=2*t._l01_2a+3*t._l01_a*t._l12_a+t._l12_2a,c=3*t._l01_a*(t._l01_a+t._l12_a);r=(r*a-t._x0*t._l12_2a+t._x2*t._l01_2a)/c,i=(i*a-t._y0*t._l12_2a+t._y2*t._l01_2a)/c}if(t._l23_a>my){var s=2*t._l23_2a+3*t._l23_a*t._l12_a+t._l12_2a,f=3*t._l23_a*(t._l23_a+t._l12_a);o=(o*s+t._x1*t._l23_2a-n*t._l12_2a)/f,u=(u*s+t._y1*t._l23_2a-e*t._l12_2a)/f}t._context.bezierCurveTo(r,i,o,u,t._x2,t._y2)}function cc(t,n){this._context=t,this._alpha=n}function sc(t,n){this._context=t,this._alpha=n}function fc(t,n){this._context=t,this._alpha=n}function lc(t){this._context=t}function hc(t){return t<0?-1:1}function pc(t,n,e){var r=t._x1-t._x0,i=n-t._x1,o=(t._y1-t._y0)/(r||i<0&&-0),u=(e-t._y1)/(i||r<0&&-0),a=(o*i+u*r)/(r+i);return(hc(o)+hc(u))*Math.min(Math.abs(o),Math.abs(u),.5*Math.abs(a))||0}function dc(t,n){var e=t._x1-t._x0;return e?(3*(t._y1-t._y0)/e-n)/2:n}function vc(t,n,e){var r=t._x0,i=t._y0,o=t._x1,u=t._y1,a=(o-r)/3;t._context.bezierCurveTo(r+a,i+a*n,o-a,u-a*e,o,u)}function _c(t){this._context=t}function gc(t){this._context=new yc(t)}function yc(t){this._context=t}function mc(t){this._context=t}function xc(t){var n,e,r=t.length-1,i=new Array(r),o=new Array(r),u=new Array(r);for(i[0]=0,o[0]=2,u[0]=t[0]+2*t[1],n=1;n<r-1;++n)i[n]=1,o[n]=4,u[n]=4*t[n]+2*t[n+1];for(i[r-1]=2,o[r-1]=7,u[r-1]=8*t[r-1]+t[r],n=1;n<r;++n)e=i[n]/o[n-1],o[n]-=e,u[n]-=e*u[n-1];for(i[r-1]=u[r-1]/o[r-1],n=r-2;n>=0;--n)i[n]=(u[n]-i[n+1])/o[n];for(o[r-1]=(t[r]+i[r-1])/2,n=0;n<r-1;++n)o[n]=2*t[n+1]-i[n+1];return[i,o]}function bc(t,n){this._context=t,this._t=n}function wc(t,n){return t[n]}function Mc(t){for(var n,e=0,r=-1,i=t.length;++r<i;)(n=+t[r][1])&&(e+=n);return e}function Tc(t){return t[0]}function Nc(t){return t[1]}function kc(){this._=null}function Sc(t){t.U=t.C=t.L=t.R=t.P=t.N=null}function Ec(t,n){var e=n,r=n.R,i=e.U;i?i.L===e?i.L=r:i.R=r:t._=r,r.U=i,e.U=r,e.R=r.L,e.R&&(e.R.U=e),r.L=e}function Ac(t,n){var e=n,r=n.L,i=e.U;i?i.L===e?i.L=r:i.R=r:t._=r,r.U=i,e.U=r,e.L=r.R,e.L&&(e.L.U=e),r.R=e}function Cc(t){for(;t.L;)t=t.L;return t}function zc(t,n,e,r){var i=[null,null],o=pm.push(i)-1;return i.left=t,i.right=n,e&&Rc(i,t,n,e),r&&Rc(i,n,t,r),lm[t.index].halfedges.push(o),lm[n.index].halfedges.push(o),i}function Pc(t,n,e){var r=[n,e];return r.left=t,r}function Rc(t,n,e,r){t[0]||t[1]?t.left===e?t[1]=r:t[0]=r:(t[0]=r,t.left=n,t.right=e)}function Lc(t,n,e,r,i){var o,u=t[0],a=t[1],c=u[0],s=u[1],f=0,l=1,h=a[0]-c,p=a[1]-s;if(o=n-c,h||!(o>0)){if(o/=h,h<0){if(o<f)return;o<l&&(l=o)}else if(h>0){if(o>l)return;o>f&&(f=o)}if(o=r-c,h||!(o<0)){if(o/=h,h<0){if(o>l)return;o>f&&(f=o)}else if(h>0){if(o<f)return;o<l&&(l=o)}if(o=e-s,p||!(o>0)){if(o/=p,p<0){if(o<f)return;o<l&&(l=o)}else if(p>0){if(o>l)return;o>f&&(f=o)}if(o=i-s,p||!(o<0)){if(o/=p,p<0){if(o>l)return;o>f&&(f=o)}else if(p>0){if(o<f)return;o<l&&(l=o)}return!(f>0||l<1)||(f>0&&(t[0]=[c+f*h,s+f*p]),l<1&&(t[1]=[c+l*h,s+l*p]),!0)}}}}}function qc(t,n,e,r,i){var o=t[1];if(o)return!0;var u,a,c=t[0],s=t.left,f=t.right,l=s[0],h=s[1],p=f[0],d=f[1],v=(l+p)/2,_=(h+d)/2;if(d===h){if(v<n||v>=r)return;if(l>p){if(c){if(c[1]>=i)return}else c=[v,e];o=[v,i]}else{if(c){if(c[1]<e)return}else c=[v,i];o=[v,e]}}else if(u=(l-p)/(d-h),a=_-u*v,u<-1||u>1)if(l>p){if(c){if(c[1]>=i)return}else c=[(e-a)/u,e];o=[(i-a)/u,i]}else{if(c){if(c[1]<e)return}else c=[(i-a)/u,i];o=[(e-a)/u,e]}else if(h<d){if(c){if(c[0]>=r)return}else c=[n,u*n+a];o=[r,u*r+a]}else{if(c){if(c[0]<n)return}else c=[r,u*r+a];o=[n,u*n+a]}return t[0]=c,t[1]=o,!0}function Uc(t,n,e,r){for(var i,o=pm.length;o--;)qc(i=pm[o],t,n,e,r)&&Lc(i,t,n,e,r)&&(Math.abs(i[0][0]-i[1][0])>_m||Math.abs(i[0][1]-i[1][1])>_m)||delete pm[o]}function Dc(t){return lm[t.index]={site:t,halfedges:[]}}function Oc(t,n){var e=t.site,r=n.left,i=n.right;return e===i&&(i=r,r=e),i?Math.atan2(i[1]-r[1],i[0]-r[0]):(e===r?(r=n[1],i=n[0]):(r=n[0],i=n[1]),Math.atan2(r[0]-i[0],i[1]-r[1]))}function Fc(t,n){return n[+(n.left!==t.site)]}function Ic(t,n){return n[+(n.left===t.site)]}function Yc(){for(var t,n,e,r,i=0,o=lm.length;i<o;++i)if((t=lm[i])&&(r=(n=t.halfedges).length)){var u=new Array(r),a=new Array(r);for(e=0;e<r;++e)u[e]=e,a[e]=Oc(t,pm[n[e]]);for(u.sort(function(t,n){return a[n]-a[t]}),e=0;e<r;++e)a[e]=n[u[e]];for(e=0;e<r;++e)n[e]=a[e]}}function Bc(t,n,e,r){var i,o,u,a,c,s,f,l,h,p,d,v,_=lm.length,g=!0;for(i=0;i<_;++i)if(o=lm[i]){for(u=o.site,a=(c=o.halfedges).length;a--;)pm[c[a]]||c.splice(a,1);for(a=0,s=c.length;a<s;)d=(p=Ic(o,pm[c[a]]))[0],v=p[1],l=(f=Fc(o,pm[c[++a%s]]))[0],h=f[1],(Math.abs(d-l)>_m||Math.abs(v-h)>_m)&&(c.splice(a,0,pm.push(Pc(u,p,Math.abs(d-t)<_m&&r-v>_m?[t,Math.abs(l-t)<_m?h:r]:Math.abs(v-r)<_m&&e-d>_m?[Math.abs(h-r)<_m?l:e,r]:Math.abs(d-e)<_m&&v-n>_m?[e,Math.abs(l-e)<_m?h:n]:Math.abs(v-n)<_m&&d-t>_m?[Math.abs(h-n)<_m?l:t,n]:null))-1),++s);s&&(g=!1)}if(g){var y,m,x,b=1/0;for(i=0,g=null;i<_;++i)(o=lm[i])&&(x=(y=(u=o.site)[0]-t)*y+(m=u[1]-n)*m)<b&&(b=x,g=o);if(g){var w=[t,n],M=[t,r],T=[e,r],N=[e,n];g.halfedges.push(pm.push(Pc(u=g.site,w,M))-1,pm.push(Pc(u,M,T))-1,pm.push(Pc(u,T,N))-1,pm.push(Pc(u,N,w))-1)}}for(i=0;i<_;++i)(o=lm[i])&&(o.halfedges.length||delete lm[i])}function jc(){Sc(this),this.x=this.y=this.arc=this.site=this.cy=null}function Hc(t){var n=t.P,e=t.N;if(n&&e){var r=n.site,i=t.site,o=e.site;if(r!==o){var u=i[0],a=i[1],c=r[0]-u,s=r[1]-a,f=o[0]-u,l=o[1]-a,h=2*(c*l-s*f);if(!(h>=-gm)){var p=c*c+s*s,d=f*f+l*l,v=(l*p-s*d)/h,_=(c*d-f*p)/h,g=dm.pop()||new jc;g.arc=t,g.site=i,g.x=v+u,g.y=(g.cy=_+a)+Math.sqrt(v*v+_*_),t.circle=g;for(var y=null,m=hm._;m;)if(g.y<m.y||g.y===m.y&&g.x<=m.x){if(!m.L){y=m.P;break}m=m.L}else{if(!m.R){y=m;break}m=m.R}hm.insert(y,g),y||(sm=g)}}}}function Xc(t){var n=t.circle;n&&(n.P||(sm=n.N),hm.remove(n),dm.push(n),Sc(n),t.circle=null)}function $c(){Sc(this),this.edge=this.site=this.circle=null}function Vc(t){var n=vm.pop()||new $c;return n.site=t,n}function Wc(t){Xc(t),fm.remove(t),vm.push(t),Sc(t)}function Zc(t){var n=t.circle,e=n.x,r=n.cy,i=[e,r],o=t.P,u=t.N,a=[t];Wc(t);for(var c=o;c.circle&&Math.abs(e-c.circle.x)<_m&&Math.abs(r-c.circle.cy)<_m;)o=c.P,a.unshift(c),Wc(c),c=o;a.unshift(c),Xc(c);for(var s=u;s.circle&&Math.abs(e-s.circle.x)<_m&&Math.abs(r-s.circle.cy)<_m;)u=s.N,a.push(s),Wc(s),s=u;a.push(s),Xc(s);var f,l=a.length;for(f=1;f<l;++f)s=a[f],c=a[f-1],Rc(s.edge,c.site,s.site,i);c=a[0],(s=a[l-1]).edge=zc(c.site,s.site,null,i),Hc(c),Hc(s)}function Gc(t){for(var n,e,r,i,o=t[0],u=t[1],a=fm._;a;)if((r=Jc(a,u)-o)>_m)a=a.L;else{if(!((i=o-Qc(a,u))>_m)){r>-_m?(n=a.P,e=a):i>-_m?(n=a,e=a.N):n=e=a;break}if(!a.R){n=a;break}a=a.R}Dc(t);var c=Vc(t);if(fm.insert(n,c),n||e){if(n===e)return Xc(n),e=Vc(n.site),fm.insert(c,e),c.edge=e.edge=zc(n.site,c.site),Hc(n),void Hc(e);if(e){Xc(n),Xc(e);var s=n.site,f=s[0],l=s[1],h=t[0]-f,p=t[1]-l,d=e.site,v=d[0]-f,_=d[1]-l,g=2*(h*_-p*v),y=h*h+p*p,m=v*v+_*_,x=[(_*y-p*m)/g+f,(h*m-v*y)/g+l];Rc(e.edge,s,d,x),c.edge=zc(s,t,null,x),e.edge=zc(t,d,null,x),Hc(n),Hc(e)}else c.edge=zc(n.site,c.site)}}function Jc(t,n){var e=t.site,r=e[0],i=e[1],o=i-n;if(!o)return r;var u=t.P;if(!u)return-1/0;var a=(e=u.site)[0],c=e[1],s=c-n;if(!s)return a;var f=a-r,l=1/o-1/s,h=f/s;return l?(-h+Math.sqrt(h*h-2*l*(f*f/(-2*s)-c+s/2+i-o/2)))/l+r:(r+a)/2}function Qc(t,n){var e=t.N;if(e)return Jc(e,n);var r=t.site;return r[1]===n?r[0]:1/0}function Kc(t,n,e){return(t[0]-e[0])*(n[1]-t[1])-(t[0]-n[0])*(e[1]-t[1])}function ts(t,n){return n[1]-t[1]||n[0]-t[0]}function ns(t,n){var e,r,i,o=t.sort(ts).pop();for(pm=[],lm=new Array(t.length),fm=new kc,hm=new kc;;)if(i=sm,o&&(!i||o[1]<i.y||o[1]===i.y&&o[0]<i.x))o[0]===e&&o[1]===r||(Gc(o),e=o[0],r=o[1]),o=t.pop();else{if(!i)break;Zc(i.arc)}if(Yc(),n){var u=+n[0][0],a=+n[0][1],c=+n[1][0],s=+n[1][1];Uc(u,a,c,s),Bc(u,a,c,s)}this.edges=pm,this.cells=lm,fm=hm=pm=lm=null}function es(t,n,e){this.target=t,this.type=n,this.transform=e}function rs(t,n,e){this.k=t,this.x=n,this.y=e}function is(t){return t.__zoom||mm}function os(){t.event.stopImmediatePropagation()}function us(){return!t.event.button}function as(){var t,n,e=this;return e instanceof SVGElement?(t=(e=e.ownerSVGElement||e).width.baseVal.value,n=e.height.baseVal.value):(t=e.clientWidth,n=e.clientHeight),[[0,0],[t,n]]}function cs(){return this.__zoom||mm}function ss(){return-t.event.deltaY*(t.event.deltaMode?120:1)/500}function fs(){return"ontouchstart"in this}var ls=function(t,n){return t<n?-1:t>n?1:t>=n?0:NaN},hs=function(t){return 1===t.length&&(t=n(t)),{left:function(n,e,r,i){for(null==r&&(r=0),null==i&&(i=n.length);r<i;){var o=r+i>>>1;t(n[o],e)<0?r=o+1:i=o}return r},right:function(n,e,r,i){for(null==r&&(r=0),null==i&&(i=n.length);r<i;){var o=r+i>>>1;t(n[o],e)>0?i=o:r=o+1}return r}}},ps=hs(ls),ds=ps.right,vs=ps.left,_s=function(t){return null===t?NaN:+t},gs=function(t,n){var e,r,i=t.length,o=0,u=-1,a=0,c=0;if(null==n)for(;++u<i;)isNaN(e=_s(t[u]))||(c+=(r=e-a)*(e-(a+=r/++o)));else for(;++u<i;)isNaN(e=_s(n(t[u],u,t)))||(c+=(r=e-a)*(e-(a+=r/++o)));if(o>1)return c/(o-1)},ys=function(t,n){var e=gs(t,n);return e?Math.sqrt(e):e},ms=function(t,n){var e,r,i,o=t.length,u=-1;if(null==n){for(;++u<o;)if(null!=(e=t[u])&&e>=e)for(r=i=e;++u<o;)null!=(e=t[u])&&(r>e&&(r=e),i<e&&(i=e))}else for(;++u<o;)if(null!=(e=n(t[u],u,t))&&e>=e)for(r=i=e;++u<o;)null!=(e=n(t[u],u,t))&&(r>e&&(r=e),i<e&&(i=e));return[r,i]},xs=Array.prototype,bs=xs.slice,ws=xs.map,Ms=function(t){return function(){return t}},Ts=function(t){return t},Ns=function(t,n,e){t=+t,n=+n,e=(i=arguments.length)<2?(n=t,t=0,1):i<3?1:+e;for(var r=-1,i=0|Math.max(0,Math.ceil((n-t)/e)),o=new Array(i);++r<i;)o[r]=t+r*e;return o},ks=Math.sqrt(50),Ss=Math.sqrt(10),Es=Math.sqrt(2),As=function(t,n,e){var i,o,u,a,c=-1;if(n=+n,t=+t,e=+e,t===n&&e>0)return[t];if((i=n<t)&&(o=t,t=n,n=o),0===(a=r(t,n,e))||!isFinite(a))return[];if(a>0)for(t=Math.ceil(t/a),n=Math.floor(n/a),u=new Array(o=Math.ceil(n-t+1));++c<o;)u[c]=(t+c)*a;else for(t=Math.floor(t*a),n=Math.ceil(n*a),u=new Array(o=Math.ceil(t-n+1));++c<o;)u[c]=(t-c)/a;return i&&u.reverse(),u},Cs=function(t){return Math.ceil(Math.log(t.length)/Math.LN2)+1},zs=function(t,n,e){if(null==e&&(e=_s),r=t.length){if((n=+n)<=0||r<2)return+e(t[0],0,t);if(n>=1)return+e(t[r-1],r-1,t);var r,i=(r-1)*n,o=Math.floor(i),u=+e(t[o],o,t);return u+(+e(t[o+1],o+1,t)-u)*(i-o)}},Ps=function(t){for(var n,e,r,i=t.length,o=-1,u=0;++o<i;)u+=t[o].length;for(e=new Array(u);--i>=0;)for(n=(r=t[i]).length;--n>=0;)e[--u]=r[n];return e},Rs=function(t,n){var e,r,i=t.length,o=-1;if(null==n){for(;++o<i;)if(null!=(e=t[o])&&e>=e)for(r=e;++o<i;)null!=(e=t[o])&&r>e&&(r=e)}else for(;++o<i;)if(null!=(e=n(t[o],o,t))&&e>=e)for(r=e;++o<i;)null!=(e=n(t[o],o,t))&&r>e&&(r=e);return r},Ls=function(t){if(!(i=t.length))return[];for(var n=-1,e=Rs(t,o),r=new Array(e);++n<e;)for(var i,u=-1,a=r[n]=new Array(i);++u<i;)a[u]=t[u][n];return r},qs=Array.prototype.slice,Us=function(t){return t},Ds=1,Os=2,Fs=3,Is=4,Ys=1e-6,Bs={value:function(){}};p.prototype=h.prototype={constructor:p,on:function(t,n){var e,r=this._,i=d(t+"",r),o=-1,u=i.length;{if(!(arguments.length<2)){if(null!=n&&"function"!=typeof n)throw new Error("invalid callback: "+n);for(;++o<u;)if(e=(t=i[o]).type)r[e]=_(r[e],t.name,n);else if(null==n)for(e in r)r[e]=_(r[e],t.name,null);return this}for(;++o<u;)if((e=(t=i[o]).type)&&(e=v(r[e],t.name)))return e}},copy:function(){var t={},n=this._;for(var e in n)t[e]=n[e].slice();return new p(t)},call:function(t,n){if((e=arguments.length-2)>0)for(var e,r,i=new Array(e),o=0;o<e;++o)i[o]=arguments[o+2];if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(o=0,e=(r=this._[t]).length;o<e;++o)r[o].value.apply(n,i)},apply:function(t,n,e){if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(var r=this._[t],i=0,o=r.length;i<o;++i)r[i].value.apply(n,e)}};var js="http://www.w3.org/1999/xhtml",Hs={svg:"http://www.w3.org/2000/svg",xhtml:js,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"},Xs=function(t){var n=t+="",e=n.indexOf(":");return e>=0&&"xmlns"!==(n=t.slice(0,e))&&(t=t.slice(e+1)),Hs.hasOwnProperty(n)?{space:Hs[n],local:t}:t},$s=function(t){var n=Xs(t);return(n.local?y:g)(n)},Vs=0;x.prototype=m.prototype={constructor:x,get:function(t){for(var n=this._;!(n in t);)if(!(t=t.parentNode))return;return t[n]},set:function(t,n){return t[this._]=n},remove:function(t){return this._ in t&&delete t[this._]},toString:function(){return this._}};var Ws=function(t){return function(){return this.matches(t)}};if("undefined"!=typeof document){var Zs=document.documentElement;if(!Zs.matches){var Gs=Zs.webkitMatchesSelector||Zs.msMatchesSelector||Zs.mozMatchesSelector||Zs.oMatchesSelector;Ws=function(t){return function(){return Gs.call(this,t)}}}}var Js=Ws,Qs={};t.event=null,"undefined"!=typeof document&&("onmouseenter"in document.documentElement||(Qs={mouseenter:"mouseover",mouseleave:"mouseout"}));var Ks=function(){for(var n,e=t.event;n=e.sourceEvent;)e=n;return e},tf=function(t,n){var e=t.ownerSVGElement||t;if(e.createSVGPoint){var r=e.createSVGPoint();return r.x=n.clientX,r.y=n.clientY,r=r.matrixTransform(t.getScreenCTM().inverse()),[r.x,r.y]}var i=t.getBoundingClientRect();return[n.clientX-i.left-t.clientLeft,n.clientY-i.top-t.clientTop]},nf=function(t){var n=Ks();return n.changedTouches&&(n=n.changedTouches[0]),tf(t,n)},ef=function(t){return null==t?S:function(){return this.querySelector(t)}},rf=function(t){return null==t?E:function(){return this.querySelectorAll(t)}},of=function(t){return new Array(t.length)};A.prototype={constructor:A,appendChild:function(t){return this._parent.insertBefore(t,this._next)},insertBefore:function(t,n){return this._parent.insertBefore(t,n)},querySelector:function(t){return this._parent.querySelector(t)},querySelectorAll:function(t){return this._parent.querySelectorAll(t)}};var uf=function(t){return function(){return t}},af="$",cf=function(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView};W.prototype={add:function(t){this._names.indexOf(t)<0&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))},remove:function(t){var n=this._names.indexOf(t);n>=0&&(this._names.splice(n,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};var sf=[null];pt.prototype=dt.prototype={constructor:pt,select:function(t){"function"!=typeof t&&(t=ef(t));for(var n=this._groups,e=n.length,r=new Array(e),i=0;i<e;++i)for(var o,u,a=n[i],c=a.length,s=r[i]=new Array(c),f=0;f<c;++f)(o=a[f])&&(u=t.call(o,o.__data__,f,a))&&("__data__"in o&&(u.__data__=o.__data__),s[f]=u);return new pt(r,this._parents)},selectAll:function(t){"function"!=typeof t&&(t=rf(t));for(var n=this._groups,e=n.length,r=[],i=[],o=0;o<e;++o)for(var u,a=n[o],c=a.length,s=0;s<c;++s)(u=a[s])&&(r.push(t.call(u,u.__data__,s,a)),i.push(u));return new pt(r,i)},filter:function(t){"function"!=typeof t&&(t=Js(t));for(var n=this._groups,e=n.length,r=new Array(e),i=0;i<e;++i)for(var o,u=n[i],a=u.length,c=r[i]=[],s=0;s<a;++s)(o=u[s])&&t.call(o,o.__data__,s,u)&&c.push(o);return new pt(r,this._parents)},data:function(t,n){if(!t)return p=new Array(this.size()),s=-1,this.each(function(t){p[++s]=t}),p;var e=n?z:C,r=this._parents,i=this._groups;"function"!=typeof t&&(t=uf(t));for(var o=i.length,u=new Array(o),a=new Array(o),c=new Array(o),s=0;s<o;++s){var f=r[s],l=i[s],h=l.length,p=t.call(f,f&&f.__data__,s,r),d=p.length,v=a[s]=new Array(d),_=u[s]=new Array(d);e(f,l,v,_,c[s]=new Array(h),p,n);for(var g,y,m=0,x=0;m<d;++m)if(g=v[m]){for(m>=x&&(x=m+1);!(y=_[x])&&++x<d;);g._next=y||null}}return u=new pt(u,r),u._enter=a,u._exit=c,u},enter:function(){return new pt(this._enter||this._groups.map(of),this._parents)},exit:function(){return new pt(this._exit||this._groups.map(of),this._parents)},merge:function(t){for(var n=this._groups,e=t._groups,r=n.length,i=e.length,o=Math.min(r,i),u=new Array(r),a=0;a<o;++a)for(var c,s=n[a],f=e[a],l=s.length,h=u[a]=new Array(l),p=0;p<l;++p)(c=s[p]||f[p])&&(h[p]=c);for(;a<r;++a)u[a]=n[a];return new pt(u,this._parents)},order:function(){for(var t=this._groups,n=-1,e=t.length;++n<e;)for(var r,i=t[n],o=i.length-1,u=i[o];--o>=0;)(r=i[o])&&(u&&u!==r.nextSibling&&u.parentNode.insertBefore(r,u),u=r);return this},sort:function(t){t||(t=P);for(var n=this._groups,e=n.length,r=new Array(e),i=0;i<e;++i){for(var o,u=n[i],a=u.length,c=r[i]=new Array(a),s=0;s<a;++s)(o=u[s])&&(c[s]=o);c.sort(function(n,e){return n&&e?t(n.__data__,e.__data__):!n-!e})}return new pt(r,this._parents).order()},call:function(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this},nodes:function(){var t=new Array(this.size()),n=-1;return this.each(function(){t[++n]=this}),t},node:function(){for(var t=this._groups,n=0,e=t.length;n<e;++n)for(var r=t[n],i=0,o=r.length;i<o;++i){var u=r[i];if(u)return u}return null},size:function(){var t=0;return this.each(function(){++t}),t},empty:function(){return!this.node()},each:function(t){for(var n=this._groups,e=0,r=n.length;e<r;++e)for(var i,o=n[e],u=0,a=o.length;u<a;++u)(i=o[u])&&t.call(i,i.__data__,u,o);return this},attr:function(t,n){var e=Xs(t);if(arguments.length<2){var r=this.node();return e.local?r.getAttributeNS(e.space,e.local):r.getAttribute(e)}return this.each((null==n?e.local?L:R:"function"==typeof n?e.local?O:D:e.local?U:q)(e,n))},style:function(t,n,e){return arguments.length>1?this.each((null==n?F:"function"==typeof n?Y:I)(t,n,null==e?"":e)):B(this.node(),t)},property:function(t,n){return arguments.length>1?this.each((null==n?j:"function"==typeof n?X:H)(t,n)):this.node()[t]},classed:function(t,n){var e=$(t+"");if(arguments.length<2){for(var r=V(this.node()),i=-1,o=e.length;++i<o;)if(!r.contains(e[i]))return!1;return!0}return this.each(("function"==typeof n?K:n?J:Q)(e,n))},text:function(t){return arguments.length?this.each(null==t?tt:("function"==typeof t?et:nt)(t)):this.node().textContent},html:function(t){return arguments.length?this.each(null==t?rt:("function"==typeof t?ot:it)(t)):this.node().innerHTML},raise:function(){return this.each(ut)},lower:function(){return this.each(at)},append:function(t){var n="function"==typeof t?t:$s(t);return this.select(function(){return this.appendChild(n.apply(this,arguments))})},insert:function(t,n){var e="function"==typeof t?t:$s(t),r=null==n?ct:"function"==typeof n?n:ef(n);return this.select(function(){return this.insertBefore(e.apply(this,arguments),r.apply(this,arguments)||null)})},remove:function(){return this.each(st)},datum:function(t){return arguments.length?this.property("__data__",t):this.node().__data__},on:function(t,n,e){var r,i,o=M(t+""),u=o.length;{if(!(arguments.length<2)){for(a=n?N:T,null==e&&(e=!1),r=0;r<u;++r)this.each(a(o[r],n,e));return this}var a=this.node().__on;if(a)for(var c,s=0,f=a.length;s<f;++s)for(r=0,c=a[s];r<u;++r)if((i=o[r]).type===c.type&&i.name===c.name)return c.value}},dispatch:function(t,n){return this.each(("function"==typeof n?ht:lt)(t,n))}};var ff=function(t){return"string"==typeof t?new pt([[document.querySelector(t)]],[document.documentElement]):new pt([[t]],sf)},lf=function(t,n,e){arguments.length<3&&(e=n,n=Ks().changedTouches);for(var r,i=0,o=n?n.length:0;i<o;++i)if((r=n[i]).identifier===e)return tf(t,r);return null},hf=function(){t.event.preventDefault(),t.event.stopImmediatePropagation()},pf=function(t){var n=t.document.documentElement,e=ff(t).on("dragstart.drag",hf,!0);"onselectstart"in n?e.on("selectstart.drag",hf,!0):(n.__noselect=n.style.MozUserSelect,n.style.MozUserSelect="none")},df=function(t){return function(){return t}};gt.prototype.on=function(){var t=this._.on.apply(this._,arguments);return t===this._?this:t};var vf=function(t,n,e){t.prototype=n.prototype=e,e.constructor=t},_f="\\s*([+-]?\\d+)\\s*",gf="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)\\s*",yf="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)%\\s*",mf=/^#([0-9a-f]{3})$/,xf=/^#([0-9a-f]{6})$/,bf=new RegExp("^rgb\\("+[_f,_f,_f]+"\\)$"),wf=new RegExp("^rgb\\("+[yf,yf,yf]+"\\)$"),Mf=new RegExp("^rgba\\("+[_f,_f,_f,gf]+"\\)$"),Tf=new RegExp("^rgba\\("+[yf,yf,yf,gf]+"\\)$"),Nf=new RegExp("^hsl\\("+[gf,yf,yf]+"\\)$"),kf=new RegExp("^hsla\\("+[gf,yf,yf,gf]+"\\)$"),Sf={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};vf(Mt,Tt,{displayable:function(){return this.rgb().displayable()},toString:function(){return this.rgb()+""}}),vf(At,Et,wt(Mt,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new At(this.r*t,this.g*t,this.b*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new At(this.r*t,this.g*t,this.b*t,this.opacity)},rgb:function(){return this},displayable:function(){return 0<=this.r&&this.r<=255&&0<=this.g&&this.g<=255&&0<=this.b&&this.b<=255&&0<=this.opacity&&this.opacity<=1},toString:function(){var t=this.opacity;return(1===(t=isNaN(t)?1:Math.max(0,Math.min(1,t)))?"rgb(":"rgba(")+Math.max(0,Math.min(255,Math.round(this.r)||0))+", "+Math.max(0,Math.min(255,Math.round(this.g)||0))+", "+Math.max(0,Math.min(255,Math.round(this.b)||0))+(1===t?")":", "+t+")")}})),vf(Rt,Pt,wt(Mt,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new Rt(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new Rt(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=this.h%360+360*(this.h<0),n=isNaN(t)||isNaN(this.s)?0:this.s,e=this.l,r=e+(e<.5?e:1-e)*n,i=2*e-r;return new At(Lt(t>=240?t-240:t+120,i,r),Lt(t,i,r),Lt(t<120?t+240:t-120,i,r),this.opacity)},displayable:function(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1}}));var Ef=Math.PI/180,Af=180/Math.PI,Cf=.95047,zf=1,Pf=1.08883,Rf=4/29,Lf=6/29,qf=3*Lf*Lf,Uf=Lf*Lf*Lf;vf(Dt,Ut,wt(Mt,{brighter:function(t){return new Dt(this.l+18*(null==t?1:t),this.a,this.b,this.opacity)},darker:function(t){return new Dt(this.l-18*(null==t?1:t),this.a,this.b,this.opacity)},rgb:function(){var t=(this.l+16)/116,n=isNaN(this.a)?t:t+this.a/500,e=isNaN(this.b)?t:t-this.b/200;return t=zf*Ft(t),n=Cf*Ft(n),e=Pf*Ft(e),new At(It(3.2404542*n-1.5371385*t-.4985314*e),It(-.969266*n+1.8760108*t+.041556*e),It(.0556434*n-.2040259*t+1.0572252*e),this.opacity)}})),vf(Ht,jt,wt(Mt,{brighter:function(t){return new Ht(this.h,this.c,this.l+18*(null==t?1:t),this.opacity)},darker:function(t){return new Ht(this.h,this.c,this.l-18*(null==t?1:t),this.opacity)},rgb:function(){return qt(this).rgb()}}));var Df=-.14861,Of=1.78277,Ff=-.29227,If=-.90649,Yf=1.97294,Bf=Yf*If,jf=Yf*Of,Hf=Of*Ff-If*Df;vf(Vt,$t,wt(Mt,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new Vt(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new Vt(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=isNaN(this.h)?0:(this.h+120)*Ef,n=+this.l,e=isNaN(this.s)?0:this.s*n*(1-n),r=Math.cos(t),i=Math.sin(t);return new At(255*(n+e*(Df*r+Of*i)),255*(n+e*(Ff*r+If*i)),255*(n+e*(Yf*r)),this.opacity)}}));var Xf,$f,Vf,Wf,Zf,Gf,Jf=function(t){var n=t.length-1;return function(e){var r=e<=0?e=0:e>=1?(e=1,n-1):Math.floor(e*n),i=t[r],o=t[r+1],u=r>0?t[r-1]:2*i-o,a=r<n-1?t[r+2]:2*o-i;return Wt((e-r/n)*n,u,i,o,a)}},Qf=function(t){var n=t.length;return function(e){var r=Math.floor(((e%=1)<0?++e:e)*n),i=t[(r+n-1)%n],o=t[r%n],u=t[(r+1)%n],a=t[(r+2)%n];return Wt((e-r/n)*n,i,o,u,a)}},Kf=function(t){return function(){return t}},tl=function t(n){function e(t,n){var e=r((t=Et(t)).r,(n=Et(n)).r),i=r(t.g,n.g),o=r(t.b,n.b),u=Kt(t.opacity,n.opacity);return function(n){return t.r=e(n),t.g=i(n),t.b=o(n),t.opacity=u(n),t+""}}var r=Qt(n);return e.gamma=t,e}(1),nl=tn(Jf),el=tn(Qf),rl=function(t,n){var e,r=n?n.length:0,i=t?Math.min(r,t.length):0,o=new Array(r),u=new Array(r);for(e=0;e<i;++e)o[e]=fl(t[e],n[e]);for(;e<r;++e)u[e]=n[e];return function(t){for(e=0;e<i;++e)u[e]=o[e](t);return u}},il=function(t,n){var e=new Date;return t=+t,n-=t,function(r){return e.setTime(t+n*r),e}},ol=function(t,n){return t=+t,n-=t,function(e){return t+n*e}},ul=function(t,n){var e,r={},i={};null!==t&&"object"==typeof t||(t={}),null!==n&&"object"==typeof n||(n={});for(e in n)e in t?r[e]=fl(t[e],n[e]):i[e]=n[e];return function(t){for(e in r)i[e]=r[e](t);return i}},al=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,cl=new RegExp(al.source,"g"),sl=function(t,n){var e,r,i,o=al.lastIndex=cl.lastIndex=0,u=-1,a=[],c=[];for(t+="",n+="";(e=al.exec(t))&&(r=cl.exec(n));)(i=r.index)>o&&(i=n.slice(o,i),a[u]?a[u]+=i:a[++u]=i),(e=e[0])===(r=r[0])?a[u]?a[u]+=r:a[++u]=r:(a[++u]=null,c.push({i:u,x:ol(e,r)})),o=cl.lastIndex;return o<n.length&&(i=n.slice(o),a[u]?a[u]+=i:a[++u]=i),a.length<2?c[0]?en(c[0].x):nn(n):(n=c.length,function(t){for(var e,r=0;r<n;++r)a[(e=c[r]).i]=e.x(t);return a.join("")})},fl=function(t,n){var e,r=typeof n;return null==n||"boolean"===r?Kf(n):("number"===r?ol:"string"===r?(e=Tt(n))?(n=e,tl):sl:n instanceof Tt?tl:n instanceof Date?il:Array.isArray(n)?rl:"function"!=typeof n.valueOf&&"function"!=typeof n.toString||isNaN(n)?ul:ol)(t,n)},ll=function(t,n){return t=+t,n-=t,function(e){return Math.round(t+n*e)}},hl=180/Math.PI,pl={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1},dl=function(t,n,e,r,i,o){var u,a,c;return(u=Math.sqrt(t*t+n*n))&&(t/=u,n/=u),(c=t*e+n*r)&&(e-=t*c,r-=n*c),(a=Math.sqrt(e*e+r*r))&&(e/=a,r/=a,c/=a),t*r<n*e&&(t=-t,n=-n,c=-c,u=-u),{translateX:i,translateY:o,rotate:Math.atan2(n,t)*hl,skewX:Math.atan(c)*hl,scaleX:u,scaleY:a}},vl=rn(function(t){return"none"===t?pl:(Xf||(Xf=document.createElement("DIV"),$f=document.documentElement,Vf=document.defaultView),Xf.style.transform=t,t=Vf.getComputedStyle($f.appendChild(Xf),null).getPropertyValue("transform"),$f.removeChild(Xf),t=t.slice(7,-1).split(","),dl(+t[0],+t[1],+t[2],+t[3],+t[4],+t[5]))},"px, ","px)","deg)"),_l=rn(function(t){return null==t?pl:(Wf||(Wf=document.createElementNS("http://www.w3.org/2000/svg","g")),Wf.setAttribute("transform",t),(t=Wf.transform.baseVal.consolidate())?(t=t.matrix,dl(t.a,t.b,t.c,t.d,t.e,t.f)):pl)},", ",")",")"),gl=Math.SQRT2,yl=function(t,n){var e,r,i=t[0],o=t[1],u=t[2],a=n[0],c=n[1],s=n[2],f=a-i,l=c-o,h=f*f+l*l;if(h<1e-12)r=Math.log(s/u)/gl,e=function(t){return[i+t*f,o+t*l,u*Math.exp(gl*t*r)]};else{var p=Math.sqrt(h),d=(s*s-u*u+4*h)/(2*u*2*p),v=(s*s-u*u-4*h)/(2*s*2*p),_=Math.log(Math.sqrt(d*d+1)-d),g=Math.log(Math.sqrt(v*v+1)-v);r=(g-_)/gl,e=function(t){var n=t*r,e=on(_),a=u/(2*p)*(e*an(gl*n+_)-un(_));return[i+a*f,o+a*l,u*e/on(gl*n+_)]}}return e.duration=1e3*r,e},ml=cn(Jt),xl=cn(Kt),bl=sn(Jt),wl=sn(Kt),Ml=fn(Jt),Tl=fn(Kt),Nl=0,kl=0,Sl=0,El=1e3,Al=0,Cl=0,zl=0,Pl="object"==typeof performance&&performance.now?performance:Date,Rl="object"==typeof window&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};pn.prototype=dn.prototype={constructor:pn,restart:function(t,n,e){if("function"!=typeof t)throw new TypeError("callback is not a function");e=(null==e?ln():+e)+(null==n?0:+n),this._next||Gf===this||(Gf?Gf._next=this:Zf=this,Gf=this),this._call=t,this._time=e,mn()},stop:function(){this._call&&(this._call=null,this._time=1/0,mn())}};var Ll=function(t,n,e){var r=new pn;return n=null==n?0:+n,r.restart(function(e){r.stop(),t(e+n)},n,e),r},ql=h("start","end","interrupt"),Ul=[],Dl=0,Ol=1,Fl=2,Il=3,Yl=4,Bl=5,jl=6,Hl=function(t,n,e,r,i,o){var u=t.__transition;if(u){if(e in u)return}else t.__transition={};Mn(t,e,{name:n,index:r,group:i,on:ql,tween:Ul,time:o.time,delay:o.delay,duration:o.duration,ease:o.ease,timer:null,state:Dl})},Xl=function(t,n){var e,r,i,o=t.__transition,u=!0;if(o){n=null==n?null:n+"";for(i in o)(e=o[i]).name===n?(r=e.state>Fl&&e.state<Bl,e.state=jl,e.timer.stop(),r&&e.on.call("interrupt",t,t.__data__,e.index,e.group),delete o[i]):u=!1;u&&delete t.__transition}},$l=function(t,n){var e;return("number"==typeof n?ol:n instanceof Tt?tl:(e=Tt(n))?(n=e,tl):sl)(t,n)},Vl=dt.prototype.constructor,Wl=0,Zl=dt.prototype;Gn.prototype=Jn.prototype={constructor:Gn,select:function(t){var n=this._name,e=this._id;"function"!=typeof t&&(t=ef(t));for(var r=this._groups,i=r.length,o=new Array(i),u=0;u<i;++u)for(var a,c,s=r[u],f=s.length,l=o[u]=new Array(f),h=0;h<f;++h)(a=s[h])&&(c=t.call(a,a.__data__,h,s))&&("__data__"in a&&(c.__data__=a.__data__),l[h]=c,Hl(l[h],n,e,h,l,wn(a,e)));return new Gn(o,this._parents,n,e)},selectAll:function(t){var n=this._name,e=this._id;"function"!=typeof t&&(t=rf(t));for(var r=this._groups,i=r.length,o=[],u=[],a=0;a<i;++a)for(var c,s=r[a],f=s.length,l=0;l<f;++l)if(c=s[l]){for(var h,p=t.call(c,c.__data__,l,s),d=wn(c,e),v=0,_=p.length;v<_;++v)(h=p[v])&&Hl(h,n,e,v,p,d);o.push(p),u.push(c)}return new Gn(o,u,n,e)},filter:function(t){"function"!=typeof t&&(t=Js(t));for(var n=this._groups,e=n.length,r=new Array(e),i=0;i<e;++i)for(var o,u=n[i],a=u.length,c=r[i]=[],s=0;s<a;++s)(o=u[s])&&t.call(o,o.__data__,s,u)&&c.push(o);return new Gn(r,this._parents,this._name,this._id)},merge:function(t){if(t._id!==this._id)throw new Error;for(var n=this._groups,e=t._groups,r=n.length,i=e.length,o=Math.min(r,i),u=new Array(r),a=0;a<o;++a)for(var c,s=n[a],f=e[a],l=s.length,h=u[a]=new Array(l),p=0;p<l;++p)(c=s[p]||f[p])&&(h[p]=c);for(;a<r;++a)u[a]=n[a];return new Gn(u,this._parents,this._name,this._id)},selection:function(){return new Vl(this._groups,this._parents)},transition:function(){for(var t=this._name,n=this._id,e=Qn(),r=this._groups,i=r.length,o=0;o<i;++o)for(var u,a=r[o],c=a.length,s=0;s<c;++s)if(u=a[s]){var f=wn(u,n);Hl(u,t,e,s,a,{time:f.time+f.delay+f.duration,delay:0,duration:f.duration,ease:f.ease})}return new Gn(r,this._parents,t,e)},call:Zl.call,nodes:Zl.nodes,node:Zl.node,size:Zl.size,empty:Zl.empty,each:Zl.each,on:function(t,n){var e=this._id;return arguments.length<2?wn(this.node(),e).on.on(t):this.each(Yn(e,t,n))},attr:function(t,n){var e=Xs(t),r="transform"===e?_l:$l;return this.attrTween(t,"function"==typeof n?(e.local?Pn:zn)(e,r,kn(this,"attr."+t,n)):null==n?(e.local?En:Sn)(e):(e.local?Cn:An)(e,r,n+""))},attrTween:function(t,n){var e="attr."+t;if(arguments.length<2)return(e=this.tween(e))&&e._value;if(null==n)return this.tween(e,null);if("function"!=typeof n)throw new Error;var r=Xs(t);return this.tween(e,(r.local?Rn:Ln)(r,n))},style:function(t,n,e){var r="transform"==(t+="")?vl:$l;return null==n?this.styleTween(t,jn(t,r)).on("end.style."+t,Hn(t)):this.styleTween(t,"function"==typeof n?$n(t,r,kn(this,"style."+t,n)):Xn(t,r,n+""),e)},styleTween:function(t,n,e){var r="style."+(t+="");if(arguments.length<2)return(r=this.tween(r))&&r._value;if(null==n)return this.tween(r,null);if("function"!=typeof n)throw new Error;return this.tween(r,Vn(t,n,null==e?"":e))},text:function(t){return this.tween("text","function"==typeof t?Zn(kn(this,"text",t)):Wn(null==t?"":t+""))},remove:function(){return this.on("end.remove",Bn(this._id))},tween:function(t,n){var e=this._id;if(t+="",arguments.length<2){for(var r,i=wn(this.node(),e).tween,o=0,u=i.length;o<u;++o)if((r=i[o]).name===t)return r.value;return null}return this.each((null==n?Tn:Nn)(e,t,n))},delay:function(t){var n=this._id;return arguments.length?this.each(("function"==typeof t?qn:Un)(n,t)):wn(this.node(),n).delay},duration:function(t){var n=this._id;return arguments.length?this.each(("function"==typeof t?Dn:On)(n,t)):wn(this.node(),n).duration},ease:function(t){var n=this._id;return arguments.length?this.each(Fn(n,t)):wn(this.node(),n).ease}};var Gl=function t(n){function e(t){return Math.pow(t,n)}return n=+n,e.exponent=t,e}(3),Jl=function t(n){function e(t){return 1-Math.pow(1-t,n)}return n=+n,e.exponent=t,e}(3),Ql=function t(n){function e(t){return((t*=2)<=1?Math.pow(t,n):2-Math.pow(2-t,n))/2}return n=+n,e.exponent=t,e}(3),Kl=Math.PI,th=Kl/2,nh=4/11,eh=6/11,rh=8/11,ih=.75,oh=9/11,uh=10/11,ah=.9375,ch=21/22,sh=63/64,fh=1/nh/nh,lh=function t(n){function e(t){return t*t*((n+1)*t-n)}return n=+n,e.overshoot=t,e}(1.70158),hh=function t(n){function e(t){return--t*t*((n+1)*t+n)+1}return n=+n,e.overshoot=t,e}(1.70158),ph=function t(n){function e(t){return((t*=2)<1?t*t*((n+1)*t-n):(t-=2)*t*((n+1)*t+n)+2)/2}return n=+n,e.overshoot=t,e}(1.70158),dh=2*Math.PI,vh=function t(n,e){function r(t){return n*Math.pow(2,10*--t)*Math.sin((i-t)/e)}var i=Math.asin(1/(n=Math.max(1,n)))*(e/=dh);return r.amplitude=function(n){return t(n,e*dh)},r.period=function(e){return t(n,e)},r}(1,.3),_h=function t(n,e){function r(t){return 1-n*Math.pow(2,-10*(t=+t))*Math.sin((t+i)/e)}var i=Math.asin(1/(n=Math.max(1,n)))*(e/=dh);return r.amplitude=function(n){return t(n,e*dh)},r.period=function(e){return t(n,e)},r}(1,.3),gh=function t(n,e){function r(t){return((t=2*t-1)<0?n*Math.pow(2,10*t)*Math.sin((i-t)/e):2-n*Math.pow(2,-10*t)*Math.sin((i+t)/e))/2}var i=Math.asin(1/(n=Math.max(1,n)))*(e/=dh);return r.amplitude=function(n){return t(n,e*dh)},r.period=function(e){return t(n,e)},r}(1,.3),yh={time:null,delay:0,duration:250,ease:te};dt.prototype.interrupt=function(t){return this.each(function(){Xl(this,t)})},dt.prototype.transition=function(t){var n,e;t instanceof Gn?(n=t._id,t=t._name):(n=Qn(),(e=yh).time=ln(),t=null==t?null:t+"");for(var r=this._groups,i=r.length,o=0;o<i;++o)for(var u,a=r[o],c=a.length,s=0;s<c;++s)(u=a[s])&&Hl(u,t,n,s,a,e||oe(u,n));return new Gn(r,this._parents,t,n)};var mh=[null],xh=function(t){return function(){return t}},bh=function(t,n,e){this.target=t,this.type=n,this.selection=e},wh=function(){t.event.preventDefault(),t.event.stopImmediatePropagation()},Mh={name:"drag"},Th={name:"space"},Nh={name:"handle"},kh={name:"center"},Sh={name:"x",handles:["e","w"].map(ae),input:function(t,n){return t&&[[t[0],n[0][1]],[t[1],n[1][1]]]},output:function(t){return t&&[t[0][0],t[1][0]]}},Eh={name:"y",handles:["n","s"].map(ae),input:function(t,n){return t&&[[n[0][0],t[0]],[n[1][0],t[1]]]},output:function(t){return t&&[t[0][1],t[1][1]]}},Ah={name:"xy",handles:["n","e","s","w","nw","ne","se","sw"].map(ae),input:function(t){return t},output:function(t){return t}},Ch={overlay:"crosshair",selection:"move",n:"ns-resize",e:"ew-resize",s:"ns-resize",w:"ew-resize",nw:"nwse-resize",ne:"nesw-resize",se:"nwse-resize",sw:"nesw-resize"},zh={e:"w",w:"e",nw:"ne",ne:"nw",se:"sw",sw:"se"},Ph={n:"s",s:"n",nw:"sw",ne:"se",se:"ne",sw:"nw"},Rh={overlay:1,selection:1,n:null,e:1,s:null,w:-1,nw:-1,ne:1,se:1,sw:-1},Lh={overlay:1,selection:1,n:-1,e:null,s:1,w:null,nw:-1,ne:-1,se:1,sw:1},qh=Math.cos,Uh=Math.sin,Dh=Math.PI,Oh=Dh/2,Fh=2*Dh,Ih=Math.max,Yh=Array.prototype.slice,Bh=function(t){return function(){return t}},jh=Math.PI,Hh=2*jh,Xh=Hh-1e-6;de.prototype=ve.prototype={constructor:de,moveTo:function(t,n){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+n)},closePath:function(){null!==this._x1&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(t,n){this._+="L"+(this._x1=+t)+","+(this._y1=+n)},quadraticCurveTo:function(t,n,e,r){this._+="Q"+ +t+","+ +n+","+(this._x1=+e)+","+(this._y1=+r)},bezierCurveTo:function(t,n,e,r,i,o){this._+="C"+ +t+","+ +n+","+ +e+","+ +r+","+(this._x1=+i)+","+(this._y1=+o)},arcTo:function(t,n,e,r,i){t=+t,n=+n,e=+e,r=+r,i=+i;var o=this._x1,u=this._y1,a=e-t,c=r-n,s=o-t,f=u-n,l=s*s+f*f;if(i<0)throw new Error("negative radius: "+i);if(null===this._x1)this._+="M"+(this._x1=t)+","+(this._y1=n);else if(l>1e-6)if(Math.abs(f*a-c*s)>1e-6&&i){var h=e-o,p=r-u,d=a*a+c*c,v=h*h+p*p,_=Math.sqrt(d),g=Math.sqrt(l),y=i*Math.tan((jh-Math.acos((d+l-v)/(2*_*g)))/2),m=y/g,x=y/_;Math.abs(m-1)>1e-6&&(this._+="L"+(t+m*s)+","+(n+m*f)),this._+="A"+i+","+i+",0,0,"+ +(f*h>s*p)+","+(this._x1=t+x*a)+","+(this._y1=n+x*c)}else this._+="L"+(this._x1=t)+","+(this._y1=n);else;},arc:function(t,n,e,r,i,o){t=+t,n=+n;var u=(e=+e)*Math.cos(r),a=e*Math.sin(r),c=t+u,s=n+a,f=1^o,l=o?r-i:i-r;if(e<0)throw new Error("negative radius: "+e);null===this._x1?this._+="M"+c+","+s:(Math.abs(this._x1-c)>1e-6||Math.abs(this._y1-s)>1e-6)&&(this._+="L"+c+","+s),e&&(l<0&&(l=l%Hh+Hh),l>Xh?this._+="A"+e+","+e+",0,1,"+f+","+(t-u)+","+(n-a)+"A"+e+","+e+",0,1,"+f+","+(this._x1=c)+","+(this._y1=s):l>1e-6&&(this._+="A"+e+","+e+",0,"+ +(l>=jh)+","+f+","+(this._x1=t+e*Math.cos(i))+","+(this._y1=n+e*Math.sin(i))))},rect:function(t,n,e,r){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+n)+"h"+ +e+"v"+ +r+"h"+-e+"Z"},toString:function(){return this._}};be.prototype=we.prototype={constructor:be,has:function(t){return"$"+t in this},get:function(t){return this["$"+t]},set:function(t,n){return this["$"+t]=n,this},remove:function(t){var n="$"+t;return n in this&&delete this[n]},clear:function(){for(var t in this)"$"===t[0]&&delete this[t]},keys:function(){var t=[];for(var n in this)"$"===n[0]&&t.push(n.slice(1));return t},values:function(){var t=[];for(var n in this)"$"===n[0]&&t.push(this[n]);return t},entries:function(){var t=[];for(var n in this)"$"===n[0]&&t.push({key:n.slice(1),value:this[n]});return t},size:function(){var t=0;for(var n in this)"$"===n[0]&&++t;return t},empty:function(){for(var t in this)if("$"===t[0])return!1;return!0},each:function(t){for(var n in this)"$"===n[0]&&t(this[n],n.slice(1),this)}};var $h=we.prototype;Se.prototype=Ee.prototype={constructor:Se,has:$h.has,add:function(t){return t+="",this["$"+t]=t,this},remove:$h.remove,clear:$h.clear,values:$h.keys,size:$h.size,empty:$h.empty,each:$h.each};var Vh={},Wh={},Zh=34,Gh=10,Jh=13,Qh=function(t){function n(t,n){function e(){if(s)return Wh;if(f)return f=!1,Vh;var n,e,r=a;if(t.charCodeAt(r)===Zh){for(;a++<u&&t.charCodeAt(a)!==Zh||t.charCodeAt(++a)===Zh;);return(n=a)>=u?s=!0:(e=t.charCodeAt(a++))===Gh?f=!0:e===Jh&&(f=!0,t.charCodeAt(a)===Gh&&++a),t.slice(r+1,n-1).replace(/""/g,'"')}for(;a<u;){if((e=t.charCodeAt(n=a++))===Gh)f=!0;else if(e===Jh)f=!0,t.charCodeAt(a)===Gh&&++a;else if(e!==o)continue;return t.slice(r,n)}return s=!0,t.slice(r,u)}var r,i=[],u=t.length,a=0,c=0,s=u<=0,f=!1;for(t.charCodeAt(u-1)===Gh&&--u,t.charCodeAt(u-1)===Jh&&--u;(r=e())!==Wh;){for(var l=[];r!==Vh&&r!==Wh;)l.push(r),r=e();n&&null==(l=n(l,c++))||i.push(l)}return i}function e(n){return n.map(r).join(t)}function r(t){return null==t?"":i.test(t+="")?'"'+t.replace(/"/g,'""')+'"':t}var i=new RegExp('["'+t+"\n\r]"),o=t.charCodeAt(0);return{parse:function(t,e){var r,i,o=n(t,function(t,n){if(r)return r(t,n-1);i=t,r=e?Ce(t,e):Ae(t)});return o.columns=i,o},parseRows:n,format:function(n,e){return null==e&&(e=ze(n)),[e.map(r).join(t)].concat(n.map(function(n){return e.map(function(t){return r(n[t])}).join(t)})).join("\n")},formatRows:function(t){return t.map(e).join("\n")}}},Kh=Qh(","),tp=Kh.parse,np=Kh.parseRows,ep=Kh.format,rp=Kh.formatRows,ip=Qh("\t"),op=ip.parse,up=ip.parseRows,ap=ip.format,cp=ip.formatRows,sp=function(t){return function(){return t}},fp=function(){return 1e-6*(Math.random()-.5)},lp=function(t,n,e,r,i){this.node=t,this.x0=n,this.y0=e,this.x1=r,this.y1=i},hp=qe.prototype=Ue.prototype;hp.copy=function(){var t,n,e=new Ue(this._x,this._y,this._x0,this._y0,this._x1,this._y1),r=this._root;if(!r)return e;if(!r.length)return e._root=De(r),e;for(t=[{source:r,target:e._root=new Array(4)}];r=t.pop();)for(var i=0;i<4;++i)(n=r.source[i])&&(n.length?t.push({source:n,target:r.target[i]=new Array(4)}):r.target[i]=De(n));return e},hp.add=function(t){var n=+this._x.call(null,t),e=+this._y.call(null,t);return Pe(this.cover(n,e),n,e,t)},hp.addAll=function(t){var n,e,r,i,o=t.length,u=new Array(o),a=new Array(o),c=1/0,s=1/0,f=-1/0,l=-1/0;for(e=0;e<o;++e)isNaN(r=+this._x.call(null,n=t[e]))||isNaN(i=+this._y.call(null,n))||(u[e]=r,a[e]=i,r<c&&(c=r),r>f&&(f=r),i<s&&(s=i),i>l&&(l=i));for(f<c&&(c=this._x0,f=this._x1),l<s&&(s=this._y0,l=this._y1),this.cover(c,s).cover(f,l),e=0;e<o;++e)Pe(this,u[e],a[e],t[e]);return this},hp.cover=function(t,n){if(isNaN(t=+t)||isNaN(n=+n))return this;var e=this._x0,r=this._y0,i=this._x1,o=this._y1;if(isNaN(e))i=(e=Math.floor(t))+1,o=(r=Math.floor(n))+1;else{if(!(e>t||t>i||r>n||n>o))return this;var u,a,c=i-e,s=this._root;switch(a=(n<(r+o)/2)<<1|t<(e+i)/2){case 0:do{u=new Array(4),u[a]=s,s=u}while(c*=2,i=e+c,o=r+c,t>i||n>o);break;case 1:do{u=new Array(4),u[a]=s,s=u}while(c*=2,e=i-c,o=r+c,e>t||n>o);break;case 2:do{u=new Array(4),u[a]=s,s=u}while(c*=2,i=e+c,r=o-c,t>i||r>n);break;case 3:do{u=new Array(4),u[a]=s,s=u}while(c*=2,e=i-c,r=o-c,e>t||r>n)}this._root&&this._root.length&&(this._root=s)}return this._x0=e,this._y0=r,this._x1=i,this._y1=o,this},hp.data=function(){var t=[];return this.visit(function(n){if(!n.length)do{t.push(n.data)}while(n=n.next)}),t},hp.extent=function(t){return arguments.length?this.cover(+t[0][0],+t[0][1]).cover(+t[1][0],+t[1][1]):isNaN(this._x0)?void 0:[[this._x0,this._y0],[this._x1,this._y1]]},hp.find=function(t,n,e){var r,i,o,u,a,c,s,f=this._x0,l=this._y0,h=this._x1,p=this._y1,d=[],v=this._root;for(v&&d.push(new lp(v,f,l,h,p)),null==e?e=1/0:(f=t-e,l=n-e,h=t+e,p=n+e,e*=e);c=d.pop();)if(!(!(v=c.node)||(i=c.x0)>h||(o=c.y0)>p||(u=c.x1)<f||(a=c.y1)<l))if(v.length){var _=(i+u)/2,g=(o+a)/2;d.push(new lp(v[3],_,g,u,a),new lp(v[2],i,g,_,a),new lp(v[1],_,o,u,g),new lp(v[0],i,o,_,g)),(s=(n>=g)<<1|t>=_)&&(c=d[d.length-1],d[d.length-1]=d[d.length-1-s],d[d.length-1-s]=c)}else{var y=t-+this._x.call(null,v.data),m=n-+this._y.call(null,v.data),x=y*y+m*m;if(x<e){var b=Math.sqrt(e=x);f=t-b,l=n-b,h=t+b,p=n+b,r=v.data}}return r},hp.remove=function(t){if(isNaN(o=+this._x.call(null,t))||isNaN(u=+this._y.call(null,t)))return this;var n,e,r,i,o,u,a,c,s,f,l,h,p=this._root,d=this._x0,v=this._y0,_=this._x1,g=this._y1;if(!p)return this;if(p.length)for(;;){if((s=o>=(a=(d+_)/2))?d=a:_=a,(f=u>=(c=(v+g)/2))?v=c:g=c,n=p,!(p=p[l=f<<1|s]))return this;if(!p.length)break;(n[l+1&3]||n[l+2&3]||n[l+3&3])&&(e=n,h=l)}for(;p.data!==t;)if(r=p,!(p=p.next))return this;return(i=p.next)&&delete p.next,r?(i?r.next=i:delete r.next,this):n?(i?n[l]=i:delete n[l],(p=n[0]||n[1]||n[2]||n[3])&&p===(n[3]||n[2]||n[1]||n[0])&&!p.length&&(e?e[h]=p:this._root=p),this):(this._root=i,this)},hp.removeAll=function(t){for(var n=0,e=t.length;n<e;++n)this.remove(t[n]);return this},hp.root=function(){return this._root},hp.size=function(){var t=0;return this.visit(function(n){if(!n.length)do{++t}while(n=n.next)}),t},hp.visit=function(t){var n,e,r,i,o,u,a=[],c=this._root;for(c&&a.push(new lp(c,this._x0,this._y0,this._x1,this._y1));n=a.pop();)if(!t(c=n.node,r=n.x0,i=n.y0,o=n.x1,u=n.y1)&&c.length){var s=(r+o)/2,f=(i+u)/2;(e=c[3])&&a.push(new lp(e,s,f,o,u)),(e=c[2])&&a.push(new lp(e,r,f,s,u)),(e=c[1])&&a.push(new lp(e,s,i,o,f)),(e=c[0])&&a.push(new lp(e,r,i,s,f))}return this},hp.visitAfter=function(t){var n,e=[],r=[];for(this._root&&e.push(new lp(this._root,this._x0,this._y0,this._x1,this._y1));n=e.pop();){var i=n.node;if(i.length){var o,u=n.x0,a=n.y0,c=n.x1,s=n.y1,f=(u+c)/2,l=(a+s)/2;(o=i[0])&&e.push(new lp(o,u,a,f,l)),(o=i[1])&&e.push(new lp(o,f,a,c,l)),(o=i[2])&&e.push(new lp(o,u,l,f,s)),(o=i[3])&&e.push(new lp(o,f,l,c,s))}r.push(n)}for(;n=r.pop();)t(n.node,n.x0,n.y0,n.x1,n.y1);return this},hp.x=function(t){return arguments.length?(this._x=t,this):this._x},hp.y=function(t){return arguments.length?(this._y=t,this):this._y};var pp,dp=10,vp=Math.PI*(3-Math.sqrt(5)),_p=function(t,n){if((e=(t=n?t.toExponential(n-1):t.toExponential()).indexOf("e"))<0)return null;var e,r=t.slice(0,e);return[r.length>1?r[0]+r.slice(2):r,+t.slice(e+1)]},gp=function(t){return(t=_p(Math.abs(t)))?t[1]:NaN},yp=function(t,n){return function(e,r){for(var i=e.length,o=[],u=0,a=t[0],c=0;i>0&&a>0&&(c+a+1>r&&(a=Math.max(1,r-c)),o.push(e.substring(i-=a,i+a)),!((c+=a+1)>r));)a=t[u=(u+1)%t.length];return o.reverse().join(n)}},mp=function(t){return function(n){return n.replace(/[0-9]/g,function(n){return t[+n]})}},xp=function(t,n){var e=_p(t,n);if(!e)return t+"";var r=e[0],i=e[1];return i<0?"0."+new Array(-i).join("0")+r:r.length>i+1?r.slice(0,i+1)+"."+r.slice(i+1):r+new Array(i-r.length+2).join("0")},bp={"":function(t,n){t:for(var e,r=(t=t.toPrecision(n)).length,i=1,o=-1;i<r;++i)switch(t[i]){case".":o=e=i;break;case"0":0===o&&(o=i),e=i;break;case"e":break t;default:o>0&&(o=0)}return o>0?t.slice(0,o)+t.slice(e+1):t},"%":function(t,n){return(100*t).toFixed(n)},b:function(t){return Math.round(t).toString(2)},c:function(t){return t+""},d:function(t){return Math.round(t).toString(10)},e:function(t,n){return t.toExponential(n)},f:function(t,n){return t.toFixed(n)},g:function(t,n){return t.toPrecision(n)},o:function(t){return Math.round(t).toString(8)},p:function(t,n){return xp(100*t,n)},r:xp,s:function(t,n){var e=_p(t,n);if(!e)return t+"";var r=e[0],i=e[1],o=i-(pp=3*Math.max(-8,Math.min(8,Math.floor(i/3))))+1,u=r.length;return o===u?r:o>u?r+new Array(o-u+1).join("0"):o>0?r.slice(0,o)+"."+r.slice(o):"0."+new Array(1-o).join("0")+_p(t,Math.max(0,n+o-1))[0]},X:function(t){return Math.round(t).toString(16).toUpperCase()},x:function(t){return Math.round(t).toString(16)}},wp=/^(?:(.)?([<>=^]))?([+\-\( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?([a-z%])?$/i;He.prototype=Xe.prototype,Xe.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(null==this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(null==this.precision?"":"."+Math.max(0,0|this.precision))+this.type};var Mp,Tp=function(t){return t},Np=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"],kp=function(t){function n(t){function n(t){var n,r,u,f=_,x=g;if("c"===v)x=y(t)+x,t="";else{var b=(t=+t)<0;if(t=y(Math.abs(t),d),b&&0==+t&&(b=!1),f=(b?"("===s?s:"-":"-"===s||"("===s?"":s)+f,x=x+("s"===v?Np[8+pp/3]:"")+(b&&"("===s?")":""),m)for(n=-1,r=t.length;++n<r;)if(48>(u=t.charCodeAt(n))||u>57){x=(46===u?i+t.slice(n+1):t.slice(n))+x,t=t.slice(0,n);break}}p&&!l&&(t=e(t,1/0));var w=f.length+t.length+x.length,M=w<h?new Array(h-w+1).join(a):"";switch(p&&l&&(t=e(M+t,M.length?h-x.length:1/0),M=""),c){case"<":t=f+t+x+M;break;case"=":t=f+M+t+x;break;case"^":t=M.slice(0,w=M.length>>1)+f+t+x+M.slice(w);break;default:t=M+f+t+x}return o(t)}var a=(t=He(t)).fill,c=t.align,s=t.sign,f=t.symbol,l=t.zero,h=t.width,p=t.comma,d=t.precision,v=t.type,_="$"===f?r[0]:"#"===f&&/[boxX]/.test(v)?"0"+v.toLowerCase():"",g="$"===f?r[1]:/[%p]/.test(v)?u:"",y=bp[v],m=!v||/[defgprs%]/.test(v);return d=null==d?v?6:12:/[gprs]/.test(v)?Math.max(1,Math.min(21,d)):Math.max(0,Math.min(20,d)),n.toString=function(){return t+""},n}var e=t.grouping&&t.thousands?yp(t.grouping,t.thousands):Tp,r=t.currency,i=t.decimal,o=t.numerals?mp(t.numerals):Tp,u=t.percent||"%";return{format:n,formatPrefix:function(t,e){var r=n((t=He(t),t.type="f",t)),i=3*Math.max(-8,Math.min(8,Math.floor(gp(e)/3))),o=Math.pow(10,-i),u=Np[8+i/3];return function(t){return r(o*t)+u}}}};$e({decimal:".",thousands:",",grouping:[3],currency:["$",""]});var Sp=function(t){return Math.max(0,-gp(Math.abs(t)))},Ep=function(t,n){return Math.max(0,3*Math.max(-8,Math.min(8,Math.floor(gp(n)/3)))-gp(Math.abs(t)))},Ap=function(t,n){return t=Math.abs(t),n=Math.abs(n)-t,Math.max(0,gp(n)-gp(t))+1},Cp=function(){return new Ve};Ve.prototype={constructor:Ve,reset:function(){this.s=this.t=0},add:function(t){We(cd,t,this.t),We(this,cd.s,this.s),this.s?this.t+=cd.t:this.s=cd.t},valueOf:function(){return this.s}};var zp,Pp,Rp,Lp,qp,Up,Dp,Op,Fp,Ip,Yp,Bp,jp,Hp,Xp,$p,Vp,Wp,Zp,Gp,Jp,Qp,Kp,td,nd,ed,rd,id,od,ud,ad,cd=new Ve,sd=1e-6,fd=Math.PI,ld=fd/2,hd=fd/4,pd=2*fd,dd=180/fd,vd=fd/180,_d=Math.abs,gd=Math.atan,yd=Math.atan2,md=Math.cos,xd=Math.ceil,bd=Math.exp,wd=Math.log,Md=Math.pow,Td=Math.sin,Nd=Math.sign||function(t){return t>0?1:t<0?-1:0},kd=Math.sqrt,Sd=Math.tan,Ed={Feature:function(t,n){Ke(t.geometry,n)},FeatureCollection:function(t,n){for(var e=t.features,r=-1,i=e.length;++r<i;)Ke(e[r].geometry,n)}},Ad={Sphere:function(t,n){n.sphere()},Point:function(t,n){t=t.coordinates,n.point(t[0],t[1],t[2])},MultiPoint:function(t,n){for(var e=t.coordinates,r=-1,i=e.length;++r<i;)t=e[r],n.point(t[0],t[1],t[2])},LineString:function(t,n){tr(t.coordinates,n,0)},MultiLineString:function(t,n){for(var e=t.coordinates,r=-1,i=e.length;++r<i;)tr(e[r],n,0)},Polygon:function(t,n){nr(t.coordinates,n)},MultiPolygon:function(t,n){for(var e=t.coordinates,r=-1,i=e.length;++r<i;)nr(e[r],n)},GeometryCollection:function(t,n){for(var e=t.geometries,r=-1,i=e.length;++r<i;)Ke(e[r],n)}},Cd=function(t,n){t&&Ed.hasOwnProperty(t.type)?Ed[t.type](t,n):Ke(t,n)},zd=Cp(),Pd=Cp(),Rd={point:Qe,lineStart:Qe,lineEnd:Qe,polygonStart:function(){zd.reset(),Rd.lineStart=er,Rd.lineEnd=rr},polygonEnd:function(){var t=+zd;Pd.add(t<0?pd+t:t),this.lineStart=this.lineEnd=this.point=Qe},sphere:function(){Pd.add(pd)}},Ld=Cp(),qd={point:pr,lineStart:vr,lineEnd:_r,polygonStart:function(){qd.point=gr,qd.lineStart=yr,qd.lineEnd=mr,Ld.reset(),Rd.polygonStart()},polygonEnd:function(){Rd.polygonEnd(),qd.point=pr,qd.lineStart=vr,qd.lineEnd=_r,zd<0?(Up=-(Op=180),Dp=-(Fp=90)):Ld>sd?Fp=90:Ld<-sd&&(Dp=-90),Xp[0]=Up,Xp[1]=Op}},Ud={sphere:Qe,point:Mr,lineStart:Nr,lineEnd:Er,polygonStart:function(){Ud.lineStart=Ar,Ud.lineEnd=Cr},polygonEnd:function(){Ud.lineStart=Nr,Ud.lineEnd=Er}},Dd=function(t){return function(){return t}},Od=function(t,n){function e(e,r){return e=t(e,r),n(e[0],e[1])}return t.invert&&n.invert&&(e.invert=function(e,r){return(e=n.invert(e,r))&&t.invert(e[0],e[1])}),e};Rr.invert=Rr;var Fd,Id,Yd,Bd,jd,Hd,Xd,$d,Vd,Wd,Zd,Gd=function(t){function n(n){return n=t(n[0]*vd,n[1]*vd),n[0]*=dd,n[1]*=dd,n}return t=Lr(t[0]*vd,t[1]*vd,t.length>2?t[2]*vd:0),n.invert=function(n){return n=t.invert(n[0]*vd,n[1]*vd),n[0]*=dd,n[1]*=dd,n},n},Jd=function(){var t,n=[];return{point:function(n,e){t.push([n,e])},lineStart:function(){n.push(t=[])},lineEnd:Qe,rejoin:function(){n.length>1&&n.push(n.pop().concat(n.shift()))},result:function(){var e=n;return n=[],t=null,e}}},Qd=function(t,n){return _d(t[0]-n[0])<sd&&_d(t[1]-n[1])<sd},Kd=function(t,n,e,r,i){var o,u,a=[],c=[];if(t.forEach(function(t){if(!((n=t.length-1)<=0)){var n,e,r=t[0],u=t[n];if(Qd(r,u)){for(i.lineStart(),o=0;o<n;++o)i.point((r=t[o])[0],r[1]);i.lineEnd()}else a.push(e=new Ir(r,t,null,!0)),c.push(e.o=new Ir(r,null,e,!1)),a.push(e=new Ir(u,t,null,!1)),c.push(e.o=new Ir(u,null,e,!0))}}),a.length){for(c.sort(n),Yr(a),Yr(c),o=0,u=c.length;o<u;++o)c[o].e=e=!e;for(var s,f,l=a[0];;){for(var h=l,p=!0;h.v;)if((h=h.n)===l)return;s=h.z,i.lineStart();do{if(h.v=h.o.v=!0,h.e){if(p)for(o=0,u=s.length;o<u;++o)i.point((f=s[o])[0],f[1]);else r(h.x,h.n.x,1,i);h=h.n}else{if(p)for(s=h.p.z,o=s.length-1;o>=0;--o)i.point((f=s[o])[0],f[1]);else r(h.x,h.p.x,-1,i);h=h.p}s=(h=h.o).z,p=!p}while(!h.v);i.lineEnd()}}},tv=Cp(),nv=function(t,n){var e=n[0],r=n[1],i=[Td(e),-md(e),0],o=0,u=0;tv.reset();for(var a=0,c=t.length;a<c;++a)if(f=(s=t[a]).length)for(var s,f,l=s[f-1],h=l[0],p=l[1]/2+hd,d=Td(p),v=md(p),_=0;_<f;++_,h=y,d=x,v=b,l=g){var g=s[_],y=g[0],m=g[1]/2+hd,x=Td(m),b=md(m),w=y-h,M=w>=0?1:-1,T=M*w,N=T>fd,k=d*x;if(tv.add(yd(k*M*Td(T),v*b+k*md(T))),o+=N?w+M*pd:w,N^h>=e^y>=e){var S=sr(ar(l),ar(g));hr(S);var E=sr(i,S);hr(E);var A=(N^w>=0?-1:1)*Ge(E[2]);(r>A||r===A&&(S[0]||S[1]))&&(u+=N^w>=0?1:-1)}}return(o<-sd||o<sd&&tv<-sd)^1&u},ev=function(t,n,e,r){return function(i){function o(n,e){t(n,e)&&i.point(n,e)}function u(t,n){v.point(t,n)}function a(){m.point=u,v.lineStart()}function c(){m.point=o,v.lineEnd()}function s(t,n){d.push([t,n]),g.point(t,n)}function f(){g.lineStart(),d=[]}function l(){s(d[0][0],d[0][1]),g.lineEnd();var t,n,e,r,o=g.clean(),u=_.result(),a=u.length;if(d.pop(),h.push(d),d=null,a)if(1&o){if(e=u[0],(n=e.length-1)>0){for(y||(i.polygonStart(),y=!0),i.lineStart(),t=0;t<n;++t)i.point((r=e[t])[0],r[1]);i.lineEnd()}}else a>1&&2&o&&u.push(u.pop().concat(u.shift())),p.push(u.filter(Br))}var h,p,d,v=n(i),_=Jd(),g=n(_),y=!1,m={point:o,lineStart:a,lineEnd:c,polygonStart:function(){m.point=s,m.lineStart=f,m.lineEnd=l,p=[],h=[]},polygonEnd:function(){m.point=o,m.lineStart=a,m.lineEnd=c,p=Ps(p);var t=nv(h,r);p.length?(y||(i.polygonStart(),y=!0),Kd(p,jr,t,e,i)):t&&(y||(i.polygonStart(),y=!0),i.lineStart(),e(null,null,1,i),i.lineEnd()),y&&(i.polygonEnd(),y=!1),p=h=null},sphere:function(){i.polygonStart(),i.lineStart(),e(null,null,1,i),i.lineEnd(),i.polygonEnd()}};return m}},rv=ev(function(){return!0},function(t){var n,e=NaN,r=NaN,i=NaN;return{lineStart:function(){t.lineStart(),n=1},point:function(o,u){var a=o>0?fd:-fd,c=_d(o-e);_d(c-fd)<sd?(t.point(e,r=(r+u)/2>0?ld:-ld),t.point(i,r),t.lineEnd(),t.lineStart(),t.point(a,r),t.point(o,r),n=0):i!==a&&c>=fd&&(_d(e-i)<sd&&(e-=i*sd),_d(o-a)<sd&&(o-=a*sd),r=Hr(e,r,o,u),t.point(i,r),t.lineEnd(),t.lineStart(),t.point(a,r),n=0),t.point(e=o,r=u),i=a},lineEnd:function(){t.lineEnd(),e=r=NaN},clean:function(){return 2-n}}},function(t,n,e,r){var i;if(null==t)i=e*ld,r.point(-fd,i),r.point(0,i),r.point(fd,i),r.point(fd,0),r.point(fd,-i),r.point(0,-i),r.point(-fd,-i),r.point(-fd,0),r.point(-fd,i);else if(_d(t[0]-n[0])>sd){var o=t[0]<n[0]?fd:-fd;i=e*o/2,r.point(-o,i),r.point(0,i),r.point(o,i)}else r.point(n[0],n[1])},[-fd,-ld]),iv=function(t){function n(t,n){return md(t)*md(n)>i}function e(t,n,e){var r=[1,0,0],o=sr(ar(t),ar(n)),u=cr(o,o),a=o[0],c=u-a*a;if(!c)return!e&&t;var s=i*u/c,f=-i*a/c,l=sr(r,o),h=lr(r,s);fr(h,lr(o,f));var p=l,d=cr(h,p),v=cr(p,p),_=d*d-v*(cr(h,h)-1);if(!(_<0)){var g=kd(_),y=lr(p,(-d-g)/v);if(fr(y,h),y=ur(y),!e)return y;var m,x=t[0],b=n[0],w=t[1],M=n[1];b<x&&(m=x,x=b,b=m);var T=b-x,N=_d(T-fd)<sd,k=N||T<sd;if(!N&&M<w&&(m=w,w=M,M=m),k?N?w+M>0^y[1]<(_d(y[0]-x)<sd?w:M):w<=y[1]&&y[1]<=M:T>fd^(x<=y[0]&&y[0]<=b)){var S=lr(p,(-d+g)/v);return fr(S,h),[y,ur(S)]}}}function r(n,e){var r=u?t:fd-t,i=0;return n<-r?i|=1:n>r&&(i|=2),e<-r?i|=4:e>r&&(i|=8),i}var i=md(t),o=6*vd,u=i>0,a=_d(i)>sd;return ev(n,function(t){var i,o,c,s,f;return{lineStart:function(){s=c=!1,f=1},point:function(l,h){var p,d=[l,h],v=n(l,h),_=u?v?0:r(l,h):v?r(l+(l<0?fd:-fd),h):0;if(!i&&(s=c=v)&&t.lineStart(),v!==c&&(!(p=e(i,d))||Qd(i,p)||Qd(d,p))&&(d[0]+=sd,d[1]+=sd,v=n(d[0],d[1])),v!==c)f=0,v?(t.lineStart(),p=e(d,i),t.point(p[0],p[1])):(p=e(i,d),t.point(p[0],p[1]),t.lineEnd()),i=p;else if(a&&i&&u^v){var g;_&o||!(g=e(d,i,!0))||(f=0,u?(t.lineStart(),t.point(g[0][0],g[0][1]),t.point(g[1][0],g[1][1]),t.lineEnd()):(t.point(g[1][0],g[1][1]),t.lineEnd(),t.lineStart(),t.point(g[0][0],g[0][1])))}!v||i&&Qd(i,d)||t.point(d[0],d[1]),i=d,c=v,o=_},lineEnd:function(){c&&t.lineEnd(),i=null},clean:function(){return f|(s&&c)<<1}}},function(n,e,r,i){Or(i,t,o,r,n,e)},u?[0,-t]:[-fd,t-fd])},ov=function(t,n,e,r,i,o){var u,a=t[0],c=t[1],s=0,f=1,l=n[0]-a,h=n[1]-c;if(u=e-a,l||!(u>0)){if(u/=l,l<0){if(u<s)return;u<f&&(f=u)}else if(l>0){if(u>f)return;u>s&&(s=u)}if(u=i-a,l||!(u<0)){if(u/=l,l<0){if(u>f)return;u>s&&(s=u)}else if(l>0){if(u<s)return;u<f&&(f=u)}if(u=r-c,h||!(u>0)){if(u/=h,h<0){if(u<s)return;u<f&&(f=u)}else if(h>0){if(u>f)return;u>s&&(s=u)}if(u=o-c,h||!(u<0)){if(u/=h,h<0){if(u>f)return;u>s&&(s=u)}else if(h>0){if(u<s)return;u<f&&(f=u)}return s>0&&(t[0]=a+s*l,t[1]=c+s*h),f<1&&(n[0]=a+f*l,n[1]=c+f*h),!0}}}}},uv=1e9,av=-uv,cv=Cp(),sv={sphere:Qe,point:Qe,lineStart:function(){sv.point=Vr,sv.lineEnd=$r},lineEnd:Qe,polygonStart:Qe,polygonEnd:Qe},fv=function(t){return cv.reset(),Cd(t,sv),+cv},lv=[null,null],hv={type:"LineString",coordinates:lv},pv=function(t,n){return lv[0]=t,lv[1]=n,fv(hv)},dv={Feature:function(t,n){return Zr(t.geometry,n)},FeatureCollection:function(t,n){for(var e=t.features,r=-1,i=e.length;++r<i;)if(Zr(e[r].geometry,n))return!0;return!1}},vv={Sphere:function(){return!0},Point:function(t,n){return Gr(t.coordinates,n)},MultiPoint:function(t,n){for(var e=t.coordinates,r=-1,i=e.length;++r<i;)if(Gr(e[r],n))return!0;return!1},LineString:function(t,n){return Jr(t.coordinates,n)},MultiLineString:function(t,n){for(var e=t.coordinates,r=-1,i=e.length;++r<i;)if(Jr(e[r],n))return!0;return!1},Polygon:function(t,n){return Qr(t.coordinates,n)},MultiPolygon:function(t,n){for(var e=t.coordinates,r=-1,i=e.length;++r<i;)if(Qr(e[r],n))return!0;return!1},GeometryCollection:function(t,n){for(var e=t.geometries,r=-1,i=e.length;++r<i;)if(Zr(e[r],n))return!0;return!1}},_v=function(t){return t},gv=Cp(),yv=Cp(),mv={point:Qe,lineStart:Qe,lineEnd:Qe,polygonStart:function(){mv.lineStart=ii,mv.lineEnd=ai},polygonEnd:function(){mv.lineStart=mv.lineEnd=mv.point=Qe,gv.add(_d(yv)),yv.reset()},result:function(){var t=gv/2;return gv.reset(),t}},xv=1/0,bv=xv,wv=-xv,Mv=wv,Tv={point:function(t,n){t<xv&&(xv=t),t>wv&&(wv=t),n<bv&&(bv=n),n>Mv&&(Mv=n)},lineStart:Qe,lineEnd:Qe,polygonStart:Qe,polygonEnd:Qe,result:function(){var t=[[xv,bv],[wv,Mv]];return wv=Mv=-(bv=xv=1/0),t}},Nv=0,kv=0,Sv=0,Ev=0,Av=0,Cv=0,zv=0,Pv=0,Rv=0,Lv={point:ci,lineStart:si,lineEnd:hi,polygonStart:function(){Lv.lineStart=pi,Lv.lineEnd=di},polygonEnd:function(){Lv.point=ci,Lv.lineStart=si,Lv.lineEnd=hi},result:function(){var t=Rv?[zv/Rv,Pv/Rv]:Cv?[Ev/Cv,Av/Cv]:Sv?[Nv/Sv,kv/Sv]:[NaN,NaN];return Nv=kv=Sv=Ev=Av=Cv=zv=Pv=Rv=0,t}};gi.prototype={_radius:4.5,pointRadius:function(t){return this._radius=t,this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){0===this._line&&this._context.closePath(),this._point=NaN},point:function(t,n){switch(this._point){case 0:this._context.moveTo(t,n),this._point=1;break;case 1:this._context.lineTo(t,n);break;default:this._context.moveTo(t+this._radius,n),this._context.arc(t,n,this._radius,0,pd)}},result:Qe};var qv,Uv,Dv,Ov,Fv,Iv=Cp(),Yv={point:Qe,lineStart:function(){Yv.point=yi},lineEnd:function(){qv&&mi(Uv,Dv),Yv.point=Qe},polygonStart:function(){qv=!0},polygonEnd:function(){qv=null},result:function(){var t=+Iv;return Iv.reset(),t}};xi.prototype={_radius:4.5,_circle:bi(4.5),pointRadius:function(t){return(t=+t)!==this._radius&&(this._radius=t,this._circle=null),this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){0===this._line&&this._string.push("Z"),this._point=NaN},point:function(t,n){switch(this._point){case 0:this._string.push("M",t,",",n),this._point=1;break;case 1:this._string.push("L",t,",",n);break;default:null==this._circle&&(this._circle=bi(this._radius)),this._string.push("M",t,",",n,this._circle)}},result:function(){if(this._string.length){var t=this._string.join("");return this._string=[],t}return null}};Mi.prototype={constructor:Mi,point:function(t,n){this.stream.point(t,n)},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()}};var Bv=16,jv=md(30*vd),Hv=function(t,n){return+n?Si(t,n):ki(t)},Xv=wi({point:function(t,n){this.stream.point(t*vd,n*vd)}}),$v=function(){return zi(Ri).scale(155.424).center([0,33.6442])},Vv=function(){return $v().parallels([29.5,45.5]).scale(1070).translate([480,250]).rotate([96,0]).center([-.6,38.7])},Wv=qi(function(t){return kd(2/(1+t))});Wv.invert=Ui(function(t){return 2*Ge(t/2)});var Zv=qi(function(t){return(t=Ze(t))&&t/Td(t)});Zv.invert=Ui(function(t){return t});Di.invert=function(t,n){return[t,2*gd(bd(n))-ld]};Yi.invert=Yi;ji.invert=Ui(gd);Xi.invert=function(t,n){var e,r=n,i=25;do{var o=r*r,u=o*o;r-=e=(r*(1.007226+o*(.015085+u*(.028874*o-.044475-.005916*u)))-n)/(1.007226+o*(.045255+u*(.259866*o-.311325-.005916*11*u)))}while(_d(e)>sd&&--i>0);return[t/(.8707+(o=r*r)*(o*(o*o*o*(.003971-.001529*o)-.013791)-.131979)),r]};$i.invert=Ui(Ge);Vi.invert=Ui(function(t){return 2*gd(t)});Wi.invert=function(t,n){return[-n,2*gd(bd(t))-ld]};co.prototype=io.prototype={constructor:co,count:function(){return this.eachAfter(eo)},each:function(t){var n,e,r,i,o=this,u=[o];do{for(n=u.reverse(),u=[];o=n.pop();)if(t(o),e=o.children)for(r=0,i=e.length;r<i;++r)u.push(e[r])}while(u.length);return this},eachAfter:function(t){for(var n,e,r,i=this,o=[i],u=[];i=o.pop();)if(u.push(i),n=i.children)for(e=0,r=n.length;e<r;++e)o.push(n[e]);for(;i=u.pop();)t(i);return this},eachBefore:function(t){for(var n,e,r=this,i=[r];r=i.pop();)if(t(r),n=r.children)for(e=n.length-1;e>=0;--e)i.push(n[e]);return this},sum:function(t){return this.eachAfter(function(n){for(var e=+t(n.data)||0,r=n.children,i=r&&r.length;--i>=0;)e+=r[i].value;n.value=e})},sort:function(t){return this.eachBefore(function(n){n.children&&n.children.sort(t)})},path:function(t){for(var n=this,e=ro(n,t),r=[n];n!==e;)n=n.parent,r.push(n);for(var i=r.length;t!==e;)r.splice(i,0,t),t=t.parent;return r},ancestors:function(){for(var t=this,n=[t];t=t.parent;)n.push(t);return n},descendants:function(){var t=[];return this.each(function(n){t.push(n)}),t},leaves:function(){var t=[];return this.eachBefore(function(n){n.children||t.push(n)}),t},links:function(){var t=this,n=[];return t.each(function(e){e!==t&&n.push({source:e.parent,target:e})}),n},copy:function(){return io(this).eachBefore(uo)}};var Gv=Array.prototype.slice,Jv=function(t){for(var n,e,r=0,i=(t=so(Gv.call(t))).length,o=[];r<i;)n=t[r],e&&ho(e,n)?++r:(e=vo(o=fo(o,n)),r=0);return e},Qv=function(t){return function(){return t}},Kv=function(t){t.x0=Math.round(t.x0),t.y0=Math.round(t.y0),t.x1=Math.round(t.x1),t.y1=Math.round(t.y1)},t_=function(t,n,e,r,i){for(var o,u=t.children,a=-1,c=u.length,s=t.value&&(r-n)/t.value;++a<c;)(o=u[a]).y0=e,o.y1=i,o.x0=n,o.x1=n+=o.value*s},n_="$",e_={depth:-1},r_={};Fo.prototype=Object.create(co.prototype);var i_=function(t,n,e,r,i){for(var o,u=t.children,a=-1,c=u.length,s=t.value&&(i-e)/t.value;++a<c;)(o=u[a]).x0=n,o.x1=r,o.y0=e,o.y1=e+=o.value*s},o_=(1+Math.sqrt(5))/2,u_=function t(n){function e(t,e,r,i,o){Yo(n,t,e,r,i,o)}return e.ratio=function(n){return t((n=+n)>1?n:1)},e}(o_),a_=function t(n){function e(t,e,r,i,o){if((u=t._squarify)&&u.ratio===n)for(var u,a,c,s,f,l=-1,h=u.length,p=t.value;++l<h;){for(c=(a=u[l]).children,s=a.value=0,f=c.length;s<f;++s)a.value+=c[s].value;a.dice?t_(a,e,r,i,r+=(o-r)*a.value/p):i_(a,e,r,e+=(i-e)*a.value/p,o),p-=a.value}else t._squarify=u=Yo(n,t,e,r,i,o),u.ratio=n}return e.ratio=function(n){return t((n=+n)>1?n:1)},e}(o_),c_=function(t,n,e){return(n[0]-t[0])*(e[1]-t[1])-(n[1]-t[1])*(e[0]-t[0])},s_=[].slice,f_={};Ho.prototype=Go.prototype={constructor:Ho,defer:function(t){if("function"!=typeof t)throw new Error("invalid callback");if(this._call)throw new Error("defer after await");if(null!=this._error)return this;var n=s_.call(arguments,1);return n.push(t),++this._waiting,this._tasks.push(n),Xo(this),this},abort:function(){return null==this._error&&Wo(this,new Error("abort")),this},await:function(t){if("function"!=typeof t)throw new Error("invalid callback");if(this._call)throw new Error("multiple await");return this._call=function(n,e){t.apply(null,[n].concat(e))},Zo(this),this},awaitAll:function(t){if("function"!=typeof t)throw new Error("invalid callback");if(this._call)throw new Error("multiple await");return this._call=t,Zo(this),this}};var l_=function(){return Math.random()},h_=function t(n){function e(t,e){return t=null==t?0:+t,e=null==e?1:+e,1===arguments.length?(e=t,t=0):e-=t,function(){return n()*e+t}}return e.source=t,e}(l_),p_=function t(n){function e(t,e){var r,i;return t=null==t?0:+t,e=null==e?1:+e,function(){var o;if(null!=r)o=r,r=null;else do{r=2*n()-1,o=2*n()-1,i=r*r+o*o}while(!i||i>1);return t+e*o*Math.sqrt(-2*Math.log(i)/i)}}return e.source=t,e}(l_),d_=function t(n){function e(){var t=p_.source(n).apply(this,arguments);return function(){return Math.exp(t())}}return e.source=t,e}(l_),v_=function t(n){function e(t){return function(){for(var e=0,r=0;r<t;++r)e+=n();return e}}return e.source=t,e}(l_),__=function t(n){function e(t){var e=v_.source(n)(t);return function(){return e()/t}}return e.source=t,e}(l_),g_=function t(n){function e(t){return function(){return-Math.log(1-n())/t}}return e.source=t,e}(l_),y_=function(t,n){function e(t){var n,e=s.status;if(!e&&Qo(s)||e>=200&&e<300||304===e){if(o)try{n=o.call(r,s)}catch(t){return void a.call("error",r,t)}else n=s;a.call("load",r,n)}else a.call("error",r,t)}var r,i,o,u,a=h("beforesend","progress","load","error"),c=we(),s=new XMLHttpRequest,f=null,l=null,p=0;if("undefined"==typeof XDomainRequest||"withCredentials"in s||!/^(http(s)?:)?\/\//.test(t)||(s=new XDomainRequest),"onload"in s?s.onload=s.onerror=s.ontimeout=e:s.onreadystatechange=function(t){s.readyState>3&&e(t)},s.onprogress=function(t){a.call("progress",r,t)},r={header:function(t,n){return t=(t+"").toLowerCase(),arguments.length<2?c.get(t):(null==n?c.remove(t):c.set(t,n+""),r)},mimeType:function(t){return arguments.length?(i=null==t?null:t+"",r):i},responseType:function(t){return arguments.length?(u=t,r):u},timeout:function(t){return arguments.length?(p=+t,r):p},user:function(t){return arguments.length<1?f:(f=null==t?null:t+"",r)},password:function(t){return arguments.length<1?l:(l=null==t?null:t+"",r)},response:function(t){return o=t,r},get:function(t,n){return r.send("GET",t,n)},post:function(t,n){return r.send("POST",t,n)},send:function(n,e,o){return s.open(n,t,!0,f,l),null==i||c.has("accept")||c.set("accept",i+",*/*"),s.setRequestHeader&&c.each(function(t,n){s.setRequestHeader(n,t)}),null!=i&&s.overrideMimeType&&s.overrideMimeType(i),null!=u&&(s.responseType=u),p>0&&(s.timeout=p),null==o&&"function"==typeof e&&(o=e,e=null),null!=o&&1===o.length&&(o=Jo(o)),null!=o&&r.on("error",o).on("load",function(t){o(null,t)}),a.call("beforesend",r,s),s.send(null==e?null:e),r},abort:function(){return s.abort(),r},on:function(){var t=a.on.apply(a,arguments);return t===a?r:t}},null!=n){if("function"!=typeof n)throw new Error("invalid callback: "+n);return r.get(n)}return r},m_=function(t,n){return function(e,r){var i=y_(e).mimeType(t).response(n);if(null!=r){if("function"!=typeof r)throw new Error("invalid callback: "+r);return i.get(r)}return i}},x_=m_("text/html",function(t){return document.createRange().createContextualFragment(t.responseText)}),b_=m_("application/json",function(t){return JSON.parse(t.responseText)}),w_=m_("text/plain",function(t){return t.responseText}),M_=m_("application/xml",function(t){var n=t.responseXML;if(!n)throw new Error("parse error");return n}),T_=function(t,n){return function(e,r,i){arguments.length<3&&(i=r,r=null);var o=y_(e).mimeType(t);return o.row=function(t){return arguments.length?o.response(Ko(n,r=t)):r},o.row(r),i?o.get(i):o}},N_=T_("text/csv",tp),k_=T_("text/tab-separated-values",op),S_=Array.prototype,E_=S_.map,A_=S_.slice,C_={name:"implicit"},z_=function(t){return function(){return t}},P_=function(t){return+t},R_=[0,1],L_=function(n,e,r){var o,u=n[0],a=n[n.length-1],c=i(u,a,null==e?10:e);switch((r=He(null==r?",f":r)).type){case"s":var s=Math.max(Math.abs(u),Math.abs(a));return null!=r.precision||isNaN(o=Ep(c,s))||(r.precision=o),t.formatPrefix(r,s);case"":case"e":case"g":case"p":case"r":null!=r.precision||isNaN(o=Ap(c,Math.max(Math.abs(u),Math.abs(a))))||(r.precision=o-("e"===r.type));break;case"f":case"%":null!=r.precision||isNaN(o=Sp(c))||(r.precision=o-2*("%"===r.type))}return t.format(r)},q_=function(t,n){var e,r=0,i=(t=t.slice()).length-1,o=t[r],u=t[i];return u<o&&(e=r,r=i,i=e,e=o,o=u,u=e),t[r]=n.floor(o),t[i]=n.ceil(u),t},U_=new Date,D_=new Date,O_=Nu(function(){},function(t,n){t.setTime(+t+n)},function(t,n){return n-t});O_.every=function(t){return t=Math.floor(t),isFinite(t)&&t>0?t>1?Nu(function(n){n.setTime(Math.floor(n/t)*t)},function(n,e){n.setTime(+n+e*t)},function(n,e){return(e-n)/t}):O_:null};var F_=O_.range,I_=6e4,Y_=6048e5,B_=Nu(function(t){t.setTime(1e3*Math.floor(t/1e3))},function(t,n){t.setTime(+t+1e3*n)},function(t,n){return(n-t)/1e3},function(t){return t.getUTCSeconds()}),j_=B_.range,H_=Nu(function(t){t.setTime(Math.floor(t/I_)*I_)},function(t,n){t.setTime(+t+n*I_)},function(t,n){return(n-t)/I_},function(t){return t.getMinutes()}),X_=H_.range,$_=Nu(function(t){var n=t.getTimezoneOffset()*I_%36e5;n<0&&(n+=36e5),t.setTime(36e5*Math.floor((+t-n)/36e5)+n)},function(t,n){t.setTime(+t+36e5*n)},function(t,n){return(n-t)/36e5},function(t){return t.getHours()}),V_=$_.range,W_=Nu(function(t){t.setHours(0,0,0,0)},function(t,n){t.setDate(t.getDate()+n)},function(t,n){return(n-t-(n.getTimezoneOffset()-t.getTimezoneOffset())*I_)/864e5},function(t){return t.getDate()-1}),Z_=W_.range,G_=ku(0),J_=ku(1),Q_=ku(2),K_=ku(3),tg=ku(4),ng=ku(5),eg=ku(6),rg=G_.range,ig=J_.range,og=Q_.range,ug=K_.range,ag=tg.range,cg=ng.range,sg=eg.range,fg=Nu(function(t){t.setDate(1),t.setHours(0,0,0,0)},function(t,n){t.setMonth(t.getMonth()+n)},function(t,n){return n.getMonth()-t.getMonth()+12*(n.getFullYear()-t.getFullYear())},function(t){return t.getMonth()}),lg=fg.range,hg=Nu(function(t){t.setMonth(0,1),t.setHours(0,0,0,0)},function(t,n){t.setFullYear(t.getFullYear()+n)},function(t,n){return n.getFullYear()-t.getFullYear()},function(t){return t.getFullYear()});hg.every=function(t){return isFinite(t=Math.floor(t))&&t>0?Nu(function(n){n.setFullYear(Math.floor(n.getFullYear()/t)*t),n.setMonth(0,1),n.setHours(0,0,0,0)},function(n,e){n.setFullYear(n.getFullYear()+e*t)}):null};var pg=hg.range,dg=Nu(function(t){t.setUTCSeconds(0,0)},function(t,n){t.setTime(+t+n*I_)},function(t,n){return(n-t)/I_},function(t){return t.getUTCMinutes()}),vg=dg.range,_g=Nu(function(t){t.setUTCMinutes(0,0,0)},function(t,n){t.setTime(+t+36e5*n)},function(t,n){return(n-t)/36e5},function(t){return t.getUTCHours()}),gg=_g.range,yg=Nu(function(t){t.setUTCHours(0,0,0,0)},function(t,n){t.setUTCDate(t.getUTCDate()+n)},function(t,n){return(n-t)/864e5},function(t){return t.getUTCDate()-1}),mg=yg.range,xg=Su(0),bg=Su(1),wg=Su(2),Mg=Su(3),Tg=Su(4),Ng=Su(5),kg=Su(6),Sg=xg.range,Eg=bg.range,Ag=wg.range,Cg=Mg.range,zg=Tg.range,Pg=Ng.range,Rg=kg.range,Lg=Nu(function(t){t.setUTCDate(1),t.setUTCHours(0,0,0,0)},function(t,n){t.setUTCMonth(t.getUTCMonth()+n)},function(t,n){return n.getUTCMonth()-t.getUTCMonth()+12*(n.getUTCFullYear()-t.getUTCFullYear())},function(t){return t.getUTCMonth()}),qg=Lg.range,Ug=Nu(function(t){t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},function(t,n){t.setUTCFullYear(t.getUTCFullYear()+n)},function(t,n){return n.getUTCFullYear()-t.getUTCFullYear()},function(t){return t.getUTCFullYear()});Ug.every=function(t){return isFinite(t=Math.floor(t))&&t>0?Nu(function(n){n.setUTCFullYear(Math.floor(n.getUTCFullYear()/t)*t),n.setUTCMonth(0,1),n.setUTCHours(0,0,0,0)},function(n,e){n.setUTCFullYear(n.getUTCFullYear()+e*t)}):null};var Dg,Og=Ug.range,Fg={"-":"",_:" ",0:"0"},Ig=/^\s*\d+/,Yg=/^%/,Bg=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g;Na({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",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"]});var jg=Date.prototype.toISOString?function(t){return t.toISOString()}:t.utcFormat("%Y-%m-%dT%H:%M:%S.%LZ"),Hg=+new Date("2000-01-01T00:00:00.000Z")?function(t){var n=new Date(t);return isNaN(n)?null:n}:t.utcParse("%Y-%m-%dT%H:%M:%S.%LZ"),Xg=1e3,$g=60*Xg,Vg=60*$g,Wg=24*Vg,Zg=7*Wg,Gg=30*Wg,Jg=365*Wg,Qg=function(t){return t.match(/.{6}/g).map(function(t){return"#"+t})},Kg=Qg("1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf"),ty=Qg("393b795254a36b6ecf9c9ede6379398ca252b5cf6bcedb9c8c6d31bd9e39e7ba52e7cb94843c39ad494ad6616be7969c7b4173a55194ce6dbdde9ed6"),ny=Qg("3182bd6baed69ecae1c6dbefe6550dfd8d3cfdae6bfdd0a231a35474c476a1d99bc7e9c0756bb19e9ac8bcbddcdadaeb636363969696bdbdbdd9d9d9"),ey=Qg("1f77b4aec7e8ff7f0effbb782ca02c98df8ad62728ff98969467bdc5b0d58c564bc49c94e377c2f7b6d27f7f7fc7c7c7bcbd22dbdb8d17becf9edae5"),ry=Tl($t(300,.5,0),$t(-240,.5,1)),iy=Tl($t(-100,.75,.35),$t(80,1.5,.8)),oy=Tl($t(260,.75,.35),$t(80,1.5,.8)),uy=$t(),ay=Aa(Qg("44015444025645045745055946075a46085c460a5d460b5e470d60470e6147106347116447136548146748166848176948186a481a6c481b6d481c6e481d6f481f70482071482173482374482475482576482677482878482979472a7a472c7a472d7b472e7c472f7d46307e46327e46337f463480453581453781453882443983443a83443b84433d84433e85423f854240864241864142874144874045884046883f47883f48893e49893e4a893e4c8a3d4d8a3d4e8a3c4f8a3c508b3b518b3b528b3a538b3a548c39558c39568c38588c38598c375a8c375b8d365c8d365d8d355e8d355f8d34608d34618d33628d33638d32648e32658e31668e31678e31688e30698e306a8e2f6b8e2f6c8e2e6d8e2e6e8e2e6f8e2d708e2d718e2c718e2c728e2c738e2b748e2b758e2a768e2a778e2a788e29798e297a8e297b8e287c8e287d8e277e8e277f8e27808e26818e26828e26828e25838e25848e25858e24868e24878e23888e23898e238a8d228b8d228c8d228d8d218e8d218f8d21908d21918c20928c20928c20938c1f948c1f958b1f968b1f978b1f988b1f998a1f9a8a1e9b8a1e9c891e9d891f9e891f9f881fa0881fa1881fa1871fa28720a38620a48621a58521a68522a78522a88423a98324aa8325ab8225ac8226ad8127ad8128ae8029af7f2ab07f2cb17e2db27d2eb37c2fb47c31b57b32b67a34b67935b77937b87838b9773aba763bbb753dbc743fbc7340bd7242be7144bf7046c06f48c16e4ac16d4cc26c4ec36b50c46a52c56954c56856c66758c7655ac8645cc8635ec96260ca6063cb5f65cb5e67cc5c69cd5b6ccd5a6ece5870cf5773d05675d05477d1537ad1517cd2507fd34e81d34d84d44b86d54989d5488bd6468ed64590d74393d74195d84098d83e9bd93c9dd93ba0da39a2da37a5db36a8db34aadc32addc30b0dd2fb2dd2db5de2bb8de29bade28bddf26c0df25c2df23c5e021c8e020cae11fcde11dd0e11cd2e21bd5e21ad8e219dae319dde318dfe318e2e418e5e419e7e419eae51aece51befe51cf1e51df4e61ef6e620f8e621fbe723fde725")),cy=Aa(Qg("00000401000501010601010802010902020b02020d03030f03031204041405041606051806051a07061c08071e0907200a08220b09240c09260d0a290e0b2b100b2d110c2f120d31130d34140e36150e38160f3b180f3d19103f1a10421c10441d11471e114920114b21114e22115024125325125527125829115a2a115c2c115f2d11612f116331116533106734106936106b38106c390f6e3b0f703d0f713f0f72400f74420f75440f764510774710784910784a10794c117a4e117b4f127b51127c52137c54137d56147d57157e59157e5a167e5c167f5d177f5f187f601880621980641a80651a80671b80681c816a1c816b1d816d1d816e1e81701f81721f817320817521817621817822817922827b23827c23827e24828025828125818326818426818627818827818928818b29818c29818e2a81902a81912b81932b80942c80962c80982d80992d809b2e7f9c2e7f9e2f7fa02f7fa1307ea3307ea5317ea6317da8327daa337dab337cad347cae347bb0357bb2357bb3367ab5367ab73779b83779ba3878bc3978bd3977bf3a77c03a76c23b75c43c75c53c74c73d73c83e73ca3e72cc3f71cd4071cf4070d0416fd2426fd3436ed5446dd6456cd8456cd9466bdb476adc4869de4968df4a68e04c67e24d66e34e65e44f64e55064e75263e85362e95462ea5661eb5760ec5860ed5a5fee5b5eef5d5ef05f5ef1605df2625df2645cf3655cf4675cf4695cf56b5cf66c5cf66e5cf7705cf7725cf8745cf8765cf9785df9795df97b5dfa7d5efa7f5efa815ffb835ffb8560fb8761fc8961fc8a62fc8c63fc8e64fc9065fd9266fd9467fd9668fd9869fd9a6afd9b6bfe9d6cfe9f6dfea16efea36ffea571fea772fea973feaa74feac76feae77feb078feb27afeb47bfeb67cfeb77efeb97ffebb81febd82febf84fec185fec287fec488fec68afec88cfeca8dfecc8ffecd90fecf92fed194fed395fed597fed799fed89afdda9cfddc9efddea0fde0a1fde2a3fde3a5fde5a7fde7a9fde9aafdebacfcecaefceeb0fcf0b2fcf2b4fcf4b6fcf6b8fcf7b9fcf9bbfcfbbdfcfdbf")),sy=Aa(Qg("00000401000501010601010802010a02020c02020e03021004031204031405041706041907051b08051d09061f0a07220b07240c08260d08290e092b10092d110a30120a32140b34150b37160b39180c3c190c3e1b0c411c0c431e0c451f0c48210c4a230c4c240c4f260c51280b53290b552b0b572d0b592f0a5b310a5c320a5e340a5f3609613809623909633b09643d09653e0966400a67420a68440a68450a69470b6a490b6a4a0c6b4c0c6b4d0d6c4f0d6c510e6c520e6d540f6d550f6d57106e59106e5a116e5c126e5d126e5f136e61136e62146e64156e65156e67166e69166e6a176e6c186e6d186e6f196e71196e721a6e741a6e751b6e771c6d781c6d7a1d6d7c1d6d7d1e6d7f1e6c801f6c82206c84206b85216b87216b88226a8a226a8c23698d23698f24699025689225689326679526679727669827669a28659b29649d29649f2a63a02a63a22b62a32c61a52c60a62d60a82e5fa92e5eab2f5ead305dae305cb0315bb1325ab3325ab43359b63458b73557b93556ba3655bc3754bd3853bf3952c03a51c13a50c33b4fc43c4ec63d4dc73e4cc83f4bca404acb4149cc4248ce4347cf4446d04545d24644d34743d44842d54a41d74b3fd84c3ed94d3dda4e3cdb503bdd513ade5238df5337e05536e15635e25734e35933e45a31e55c30e65d2fe75e2ee8602de9612bea632aeb6429eb6628ec6726ed6925ee6a24ef6c23ef6e21f06f20f1711ff1731df2741cf3761bf37819f47918f57b17f57d15f67e14f68013f78212f78410f8850ff8870ef8890cf98b0bf98c0af98e09fa9008fa9207fa9407fb9606fb9706fb9906fb9b06fb9d07fc9f07fca108fca309fca50afca60cfca80dfcaa0ffcac11fcae12fcb014fcb216fcb418fbb61afbb81dfbba1ffbbc21fbbe23fac026fac228fac42afac62df9c72ff9c932f9cb35f8cd37f8cf3af7d13df7d340f6d543f6d746f5d949f5db4cf4dd4ff4df53f4e156f3e35af3e55df2e661f2e865f2ea69f1ec6df1ed71f1ef75f1f179f2f27df2f482f3f586f3f68af4f88ef5f992f6fa96f8fb9af9fc9dfafda1fcffa4")),fy=Aa(Qg("0d088710078813078916078a19068c1b068d1d068e20068f2206902406912605912805922a05932c05942e05952f059631059733059735049837049938049a3a049a3c049b3e049c3f049c41049d43039e44039e46039f48039f4903a04b03a14c02a14e02a25002a25102a35302a35502a45601a45801a45901a55b01a55c01a65e01a66001a66100a76300a76400a76600a76700a86900a86a00a86c00a86e00a86f00a87100a87201a87401a87501a87701a87801a87a02a87b02a87d03a87e03a88004a88104a78305a78405a78606a68707a68808a68a09a58b0aa58d0ba58e0ca48f0da4910ea3920fa39410a29511a19613a19814a099159f9a169f9c179e9d189d9e199da01a9ca11b9ba21d9aa31e9aa51f99a62098a72197a82296aa2395ab2494ac2694ad2793ae2892b02991b12a90b22b8fb32c8eb42e8db52f8cb6308bb7318ab83289ba3388bb3488bc3587bd3786be3885bf3984c03a83c13b82c23c81c33d80c43e7fc5407ec6417dc7427cc8437bc9447aca457acb4679cc4778cc4977cd4a76ce4b75cf4c74d04d73d14e72d24f71d35171d45270d5536fd5546ed6556dd7566cd8576bd9586ada5a6ada5b69db5c68dc5d67dd5e66de5f65de6164df6263e06363e16462e26561e26660e3685fe4695ee56a5de56b5de66c5ce76e5be76f5ae87059e97158e97257ea7457eb7556eb7655ec7754ed7953ed7a52ee7b51ef7c51ef7e50f07f4ff0804ef1814df1834cf2844bf3854bf3874af48849f48948f58b47f58c46f68d45f68f44f79044f79143f79342f89441f89540f9973ff9983ef99a3efa9b3dfa9c3cfa9e3bfb9f3afba139fba238fca338fca537fca636fca835fca934fdab33fdac33fdae32fdaf31fdb130fdb22ffdb42ffdb52efeb72dfeb82cfeba2cfebb2bfebd2afebe2afec029fdc229fdc328fdc527fdc627fdc827fdca26fdcb26fccd25fcce25fcd025fcd225fbd324fbd524fbd724fad824fada24f9dc24f9dd25f8df25f8e125f7e225f7e425f6e626f6e826f5e926f5eb27f4ed27f3ee27f3f027f2f227f1f426f1f525f0f724f0f921")),ly=function(t){return function(){return t}},hy=Math.abs,py=Math.atan2,dy=Math.cos,vy=Math.max,_y=Math.min,gy=Math.sin,yy=Math.sqrt,my=1e-12,xy=Math.PI,by=xy/2,wy=2*xy;Ia.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break;case 1:this._point=2;default:this._context.lineTo(t,n)}}};var My=function(t){return new Ia(t)},Ty=function(){function t(t){var a,c,s,f=t.length,l=!1;for(null==i&&(u=o(s=ve())),a=0;a<=f;++a)!(a<f&&r(c=t[a],a,t))===l&&((l=!l)?u.lineStart():u.lineEnd()),l&&u.point(+n(c,a,t),+e(c,a,t));if(s)return u=null,s+""||null}var n=Ya,e=Ba,r=ly(!0),i=null,o=My,u=null;return t.x=function(e){return arguments.length?(n="function"==typeof e?e:ly(+e),t):n},t.y=function(n){return arguments.length?(e="function"==typeof n?n:ly(+n),t):e},t.defined=function(n){return arguments.length?(r="function"==typeof n?n:ly(!!n),t):r},t.curve=function(n){return arguments.length?(o=n,null!=i&&(u=o(i)),t):o},t.context=function(n){return arguments.length?(null==n?i=u=null:u=o(i=n),t):i},t},Ny=function(){function t(t){var n,f,l,h,p,d=t.length,v=!1,_=new Array(d),g=new Array(d);for(null==a&&(s=c(p=ve())),n=0;n<=d;++n){if(!(n<d&&u(h=t[n],n,t))===v)if(v=!v)f=n,s.areaStart(),s.lineStart();else{for(s.lineEnd(),s.lineStart(),l=n-1;l>=f;--l)s.point(_[l],g[l]);s.lineEnd(),s.areaEnd()}v&&(_[n]=+e(h,n,t),g[n]=+i(h,n,t),s.point(r?+r(h,n,t):_[n],o?+o(h,n,t):g[n]))}if(p)return s=null,p+""||null}function n(){return Ty().defined(u).curve(c).context(a)}var e=Ya,r=null,i=ly(0),o=Ba,u=ly(!0),a=null,c=My,s=null;return t.x=function(n){return arguments.length?(e="function"==typeof n?n:ly(+n),r=null,t):e},t.x0=function(n){return arguments.length?(e="function"==typeof n?n:ly(+n),t):e},t.x1=function(n){return arguments.length?(r=null==n?null:"function"==typeof n?n:ly(+n),t):r},t.y=function(n){return arguments.length?(i="function"==typeof n?n:ly(+n),o=null,t):i},t.y0=function(n){return arguments.length?(i="function"==typeof n?n:ly(+n),t):i},t.y1=function(n){return arguments.length?(o=null==n?null:"function"==typeof n?n:ly(+n),t):o},t.lineX0=t.lineY0=function(){return n().x(e).y(i)},t.lineY1=function(){return n().x(e).y(o)},t.lineX1=function(){return n().x(r).y(i)},t.defined=function(n){return arguments.length?(u="function"==typeof n?n:ly(!!n),t):u},t.curve=function(n){return arguments.length?(c=n,null!=a&&(s=c(a)),t):c},t.context=function(n){return arguments.length?(null==n?a=s=null:s=c(a=n),t):a},t},ky=function(t,n){return n<t?-1:n>t?1:n>=t?0:NaN},Sy=function(t){return t},Ey=Ha(My);ja.prototype={areaStart:function(){this._curve.areaStart()},areaEnd:function(){this._curve.areaEnd()},lineStart:function(){this._curve.lineStart()},lineEnd:function(){this._curve.lineEnd()},point:function(t,n){this._curve.point(n*Math.sin(t),n*-Math.cos(t))}};var Ay=function(){return Xa(Ty().curve(Ey))},Cy=function(){var t=Ny().curve(Ey),n=t.curve,e=t.lineX0,r=t.lineX1,i=t.lineY0,o=t.lineY1;return t.angle=t.x,delete t.x,t.startAngle=t.x0,delete t.x0,t.endAngle=t.x1,delete t.x1,t.radius=t.y,delete t.y,t.innerRadius=t.y0,delete t.y0,t.outerRadius=t.y1,delete t.y1,t.lineStartAngle=function(){return Xa(e())},delete t.lineX0,t.lineEndAngle=function(){return Xa(r())},delete t.lineX1,t.lineInnerRadius=function(){return Xa(i())},delete t.lineY0,t.lineOuterRadius=function(){return Xa(o())},delete t.lineY1,t.curve=function(t){return arguments.length?n(Ha(t)):n()._curve},t},zy=function(t,n){return[(n=+n)*Math.cos(t-=Math.PI/2),n*Math.sin(t)]},Py=Array.prototype.slice,Ry={draw:function(t,n){var e=Math.sqrt(n/xy);t.moveTo(e,0),t.arc(0,0,e,0,wy)}},Ly={draw:function(t,n){var e=Math.sqrt(n/5)/2;t.moveTo(-3*e,-e),t.lineTo(-e,-e),t.lineTo(-e,-3*e),t.lineTo(e,-3*e),t.lineTo(e,-e),t.lineTo(3*e,-e),t.lineTo(3*e,e),t.lineTo(e,e),t.lineTo(e,3*e),t.lineTo(-e,3*e),t.lineTo(-e,e),t.lineTo(-3*e,e),t.closePath()}},qy=Math.sqrt(1/3),Uy=2*qy,Dy={draw:function(t,n){var e=Math.sqrt(n/Uy),r=e*qy;t.moveTo(0,-e),t.lineTo(r,0),t.lineTo(0,e),t.lineTo(-r,0),t.closePath()}},Oy=Math.sin(xy/10)/Math.sin(7*xy/10),Fy=Math.sin(wy/10)*Oy,Iy=-Math.cos(wy/10)*Oy,Yy={draw:function(t,n){var e=Math.sqrt(.8908130915292852*n),r=Fy*e,i=Iy*e;t.moveTo(0,-e),t.lineTo(r,i);for(var o=1;o<5;++o){var u=wy*o/5,a=Math.cos(u),c=Math.sin(u);t.lineTo(c*e,-a*e),t.lineTo(a*r-c*i,c*r+a*i)}t.closePath()}},By={draw:function(t,n){var e=Math.sqrt(n),r=-e/2;t.rect(r,r,e,e)}},jy=Math.sqrt(3),Hy={draw:function(t,n){var e=-Math.sqrt(n/(3*jy));t.moveTo(0,2*e),t.lineTo(-jy*e,-e),t.lineTo(jy*e,-e),t.closePath()}},Xy=-.5,$y=Math.sqrt(3)/2,Vy=1/Math.sqrt(12),Wy=3*(Vy/2+1),Zy={draw:function(t,n){var e=Math.sqrt(n/Wy),r=e/2,i=e*Vy,o=r,u=e*Vy+e,a=-o,c=u;t.moveTo(r,i),t.lineTo(o,u),t.lineTo(a,c),t.lineTo(Xy*r-$y*i,$y*r+Xy*i),t.lineTo(Xy*o-$y*u,$y*o+Xy*u),t.lineTo(Xy*a-$y*c,$y*a+Xy*c),t.lineTo(Xy*r+$y*i,Xy*i-$y*r),t.lineTo(Xy*o+$y*u,Xy*u-$y*o),t.lineTo(Xy*a+$y*c,Xy*c-$y*a),t.closePath()}},Gy=[Ry,Ly,Dy,By,Yy,Hy,Zy],Jy=function(){};Ka.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:Qa(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:Qa(this,t,n)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=n}};tc.prototype={areaStart:Jy,areaEnd:Jy,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x2,this._y2),this._context.closePath();break;case 2:this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break;case 3:this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4)}},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._x2=t,this._y2=n;break;case 1:this._point=2,this._x3=t,this._y3=n;break;case 2:this._point=3,this._x4=t,this._y4=n,this._context.moveTo((this._x0+4*this._x1+t)/6,(this._y0+4*this._y1+n)/6);break;default:Qa(this,t,n)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=n}};nc.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var e=(this._x0+4*this._x1+t)/6,r=(this._y0+4*this._y1+n)/6;this._line?this._context.lineTo(e,r):this._context.moveTo(e,r);break;case 3:this._point=4;default:Qa(this,t,n)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=n}};ec.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var t=this._x,n=this._y,e=t.length-1;if(e>0)for(var r,i=t[0],o=n[0],u=t[e]-i,a=n[e]-o,c=-1;++c<=e;)r=c/e,this._basis.point(this._beta*t[c]+(1-this._beta)*(i+r*u),this._beta*n[c]+(1-this._beta)*(o+r*a));this._x=this._y=null,this._basis.lineEnd()},point:function(t,n){this._x.push(+t),this._y.push(+n)}};var Qy=function t(n){function e(t){return 1===n?new Ka(t):new ec(t,n)}return e.beta=function(n){return t(+n)},e}(.85);ic.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:rc(this,this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break;case 1:this._point=2,this._x1=t,this._y1=n;break;case 2:this._point=3;default:rc(this,t,n)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};var Ky=function t(n){function e(t){return new ic(t,n)}return e.tension=function(n){return t(+n)},e}(0);oc.prototype={areaStart:Jy,areaEnd:Jy,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._x3=t,this._y3=n;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=n);break;case 2:this._point=3,this._x5=t,this._y5=n;break;default:rc(this,t,n)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};var tm=function t(n){function e(t){return new oc(t,n)}return e.tension=function(n){return t(+n)},e}(0);uc.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:rc(this,t,n)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};var nm=function t(n){function e(t){return new uc(t,n)}return e.tension=function(n){return t(+n)},e}(0);cc.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){if(t=+t,n=+n,this._point){var e=this._x2-t,r=this._y2-n;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(e*e+r*r,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break;case 1:this._point=2;break;case 2:this._point=3;default:ac(this,t,n)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};var em=function t(n){function e(t){return n?new cc(t,n):new ic(t,0)}return e.alpha=function(n){return t(+n)},e}(.5);sc.prototype={areaStart:Jy,areaEnd:Jy,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(t,n){if(t=+t,n=+n,this._point){var e=this._x2-t,r=this._y2-n;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(e*e+r*r,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=t,this._y3=n;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=n);break;case 2:this._point=3,this._x5=t,this._y5=n;break;default:ac(this,t,n)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};var rm=function t(n){function e(t){return n?new sc(t,n):new oc(t,0)}return e.alpha=function(n){return t(+n)},e}(.5);fc.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){if(t=+t,n=+n,this._point){var e=this._x2-t,r=this._y2-n;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(e*e+r*r,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:ac(this,t,n)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};var im=function t(n){function e(t){return n?new fc(t,n):new uc(t,0)}return e.alpha=function(n){return t(+n)},e}(.5);lc.prototype={areaStart:Jy,areaEnd:Jy,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(t,n){t=+t,n=+n,this._point?this._context.lineTo(t,n):(this._point=1,this._context.moveTo(t,n))}};_c.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:vc(this,this._t0,dc(this,this._t0))}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){var e=NaN;if(t=+t,n=+n,t!==this._x1||n!==this._y1){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break;case 1:this._point=2;break;case 2:this._point=3,vc(this,dc(this,e=pc(this,t,n)),e);break;default:vc(this,this._t0,e=pc(this,t,n))}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=n,this._t0=e}}},(gc.prototype=Object.create(_c.prototype)).point=function(t,n){_c.prototype.point.call(this,n,t)},yc.prototype={moveTo:function(t,n){this._context.moveTo(n,t)},closePath:function(){this._context.closePath()},lineTo:function(t,n){this._context.lineTo(n,t)},bezierCurveTo:function(t,n,e,r,i,o){this._context.bezierCurveTo(n,t,r,e,o,i)}},mc.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var t=this._x,n=this._y,e=t.length;if(e)if(this._line?this._context.lineTo(t[0],n[0]):this._context.moveTo(t[0],n[0]),2===e)this._context.lineTo(t[1],n[1]);else for(var r=xc(t),i=xc(n),o=0,u=1;u<e;++o,++u)this._context.bezierCurveTo(r[0][o],i[0][o],r[1][o],i[1][o],t[u],n[u]);(this._line||0!==this._line&&1===e)&&this._context.closePath(),this._line=1-this._line,this._x=this._y=null},point:function(t,n){this._x.push(+t),this._y.push(+n)}};bc.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=this._y=NaN,this._point=0},lineEnd:function(){0<this._t&&this._t<1&&2===this._point&&this._context.lineTo(this._x,this._y),(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line>=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break;case 1:this._point=2;default:if(this._t<=0)this._context.lineTo(this._x,n),this._context.lineTo(t,n);else{var e=this._x*(1-this._t)+t*this._t;this._context.lineTo(e,this._y),this._context.lineTo(e,n)}}this._x=t,this._y=n}};var om=function(t,n){if((i=t.length)>1)for(var e,r,i,o=1,u=t[n[0]],a=u.length;o<i;++o)for(r=u,u=t[n[o]],e=0;e<a;++e)u[e][1]+=u[e][0]=isNaN(r[e][1])?r[e][0]:r[e][1]},um=function(t){for(var n=t.length,e=new Array(n);--n>=0;)e[n]=n;return e},am=function(t){var n=t.map(Mc);return um(t).sort(function(t,e){return n[t]-n[e]})},cm=function(t){return function(){return t}};kc.prototype={constructor:kc,insert:function(t,n){var e,r,i;if(t){if(n.P=t,n.N=t.N,t.N&&(t.N.P=n),t.N=n,t.R){for(t=t.R;t.L;)t=t.L;t.L=n}else t.R=n;e=t}else this._?(t=Cc(this._),n.P=null,n.N=t,t.P=t.L=n,e=t):(n.P=n.N=null,this._=n,e=null);for(n.L=n.R=null,n.U=e,n.C=!0,t=n;e&&e.C;)e===(r=e.U).L?(i=r.R)&&i.C?(e.C=i.C=!1,r.C=!0,t=r):(t===e.R&&(Ec(this,e),e=(t=e).U),e.C=!1,r.C=!0,Ac(this,r)):(i=r.L)&&i.C?(e.C=i.C=!1,r.C=!0,t=r):(t===e.L&&(Ac(this,e),e=(t=e).U),e.C=!1,r.C=!0,Ec(this,r)),e=t.U;this._.C=!1},remove:function(t){t.N&&(t.N.P=t.P),t.P&&(t.P.N=t.N),t.N=t.P=null;var n,e,r,i=t.U,o=t.L,u=t.R;if(e=o?u?Cc(u):o:u,i?i.L===t?i.L=e:i.R=e:this._=e,o&&u?(r=e.C,e.C=t.C,e.L=o,o.U=e,e!==u?(i=e.U,e.U=t.U,t=e.R,i.L=t,e.R=u,u.U=e):(e.U=i,i=e,t=e.R)):(r=t.C,t=e),t&&(t.U=i),!r)if(t&&t.C)t.C=!1;else{do{if(t===this._)break;if(t===i.L){if((n=i.R).C&&(n.C=!1,i.C=!0,Ec(this,i),n=i.R),n.L&&n.L.C||n.R&&n.R.C){n.R&&n.R.C||(n.L.C=!1,n.C=!0,Ac(this,n),n=i.R),n.C=i.C,i.C=n.R.C=!1,Ec(this,i),t=this._;break}}else if((n=i.L).C&&(n.C=!1,i.C=!0,Ac(this,i),n=i.L),n.L&&n.L.C||n.R&&n.R.C){n.L&&n.L.C||(n.R.C=!1,n.C=!0,Ec(this,n),n=i.L),n.C=i.C,i.C=n.L.C=!1,Ac(this,i),t=this._;break}n.C=!0,t=i,i=i.U}while(!t.C);t&&(t.C=!1)}}};var sm,fm,lm,hm,pm,dm=[],vm=[],_m=1e-6,gm=1e-12;ns.prototype={constructor:ns,polygons:function(){var t=this.edges;return this.cells.map(function(n){var e=n.halfedges.map(function(e){return Fc(n,t[e])});return e.data=n.site.data,e})},triangles:function(){var t=[],n=this.edges;return this.cells.forEach(function(e,r){if(o=(i=e.halfedges).length)for(var i,o,u,a=e.site,c=-1,s=n[i[o-1]],f=s.left===a?s.right:s.left;++c<o;)u=f,f=(s=n[i[c]]).left===a?s.right:s.left,u&&f&&r<u.index&&r<f.index&&Kc(a,u,f)<0&&t.push([a.data,u.data,f.data])}),t},links:function(){return this.edges.filter(function(t){return t.right}).map(function(t){return{source:t.left.data,target:t.right.data}})},find:function(t,n,e){for(var r,i,o=this,u=o._found||0,a=o.cells.length;!(i=o.cells[u]);)if(++u>=a)return null;var c=t-i.site[0],s=n-i.site[1],f=c*c+s*s;do{i=o.cells[r=u],u=null,i.halfedges.forEach(function(e){var r=o.edges[e],a=r.left;if(a!==i.site&&a||(a=r.right)){var c=t-a[0],s=n-a[1],l=c*c+s*s;l<f&&(f=l,u=a.index)}})}while(null!==u);return o._found=r,null==e||f<=e*e?i.site:null}};var ym=function(t){return function(){return t}};rs.prototype={constructor:rs,scale:function(t){return 1===t?this:new rs(this.k*t,this.x,this.y)},translate:function(t,n){return 0===t&0===n?this:new rs(this.k,this.x+this.k*t,this.y+this.k*n)},apply:function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},applyX:function(t){return t*this.k+this.x},applyY:function(t){return t*this.k+this.y},invert:function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},invertX:function(t){return(t-this.x)/this.k},invertY:function(t){return(t-this.y)/this.k},rescaleX:function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},rescaleY:function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var mm=new rs(1,0,0);is.prototype=rs.prototype;var xm=function(){t.event.preventDefault(),t.event.stopImmediatePropagation()};t.version="4.11.0",t.bisect=ds,t.bisectRight=ds,t.bisectLeft=vs,t.ascending=ls,t.bisector=hs,t.cross=function(t,n,r){var i,o,u,a,c=t.length,s=n.length,f=new Array(c*s);for(null==r&&(r=e),i=u=0;i<c;++i)for(a=t[i],o=0;o<s;++o,++u)f[u]=r(a,n[o]);return f},t.descending=function(t,n){return n<t?-1:n>t?1:n>=t?0:NaN},t.deviation=ys,t.extent=ms,t.histogram=function(){function t(t){var o,u,a=t.length,c=new Array(a);for(o=0;o<a;++o)c[o]=n(t[o],o,t);var s=e(c),f=s[0],l=s[1],h=r(c,f,l);Array.isArray(h)||(h=i(f,l,h),h=Ns(Math.ceil(f/h)*h,Math.floor(l/h)*h,h));for(var p=h.length;h[0]<=f;)h.shift(),--p;for(;h[p-1]>l;)h.pop(),--p;var d,v=new Array(p+1);for(o=0;o<=p;++o)(d=v[o]=[]).x0=o>0?h[o-1]:f,d.x1=o<p?h[o]:l;for(o=0;o<a;++o)f<=(u=c[o])&&u<=l&&v[ds(h,u,0,p)].push(t[o]);return v}var n=Ts,e=ms,r=Cs;return t.value=function(e){return arguments.length?(n="function"==typeof e?e:Ms(e),t):n},t.domain=function(n){return arguments.length?(e="function"==typeof n?n:Ms([n[0],n[1]]),t):e},t.thresholds=function(n){return arguments.length?(r="function"==typeof n?n:Ms(Array.isArray(n)?bs.call(n):n),t):r},t},t.thresholdFreedmanDiaconis=function(t,n,e){return t=ws.call(t,_s).sort(ls),Math.ceil((e-n)/(2*(zs(t,.75)-zs(t,.25))*Math.pow(t.length,-1/3)))},t.thresholdScott=function(t,n,e){return Math.ceil((e-n)/(3.5*ys(t)*Math.pow(t.length,-1/3)))},t.thresholdSturges=Cs,t.max=function(t,n){var e,r,i=t.length,o=-1;if(null==n){for(;++o<i;)if(null!=(e=t[o])&&e>=e)for(r=e;++o<i;)null!=(e=t[o])&&e>r&&(r=e)}else for(;++o<i;)if(null!=(e=n(t[o],o,t))&&e>=e)for(r=e;++o<i;)null!=(e=n(t[o],o,t))&&e>r&&(r=e);return r},t.mean=function(t,n){var e,r=t.length,i=r,o=-1,u=0;if(null==n)for(;++o<r;)isNaN(e=_s(t[o]))?--i:u+=e;else for(;++o<r;)isNaN(e=_s(n(t[o],o,t)))?--i:u+=e;if(i)return u/i},t.median=function(t,n){var e,r=t.length,i=-1,o=[];if(null==n)for(;++i<r;)isNaN(e=_s(t[i]))||o.push(e);else for(;++i<r;)isNaN(e=_s(n(t[i],i,t)))||o.push(e);return zs(o.sort(ls),.5)},t.merge=Ps,t.min=Rs,t.pairs=function(t,n){null==n&&(n=e);for(var r=0,i=t.length-1,o=t[0],u=new Array(i<0?0:i);r<i;)u[r]=n(o,o=t[++r]);return u},t.permute=function(t,n){for(var e=n.length,r=new Array(e);e--;)r[e]=t[n[e]];return r},t.quantile=zs,t.range=Ns,t.scan=function(t,n){if(e=t.length){var e,r,i=0,o=0,u=t[o];for(null==n&&(n=ls);++i<e;)(n(r=t[i],u)<0||0!==n(u,u))&&(u=r,o=i);return 0===n(u,u)?o:void 0}},t.shuffle=function(t,n,e){for(var r,i,o=(null==e?t.length:e)-(n=null==n?0:+n);o;)i=Math.random()*o--|0,r=t[o+n],t[o+n]=t[i+n],t[i+n]=r;return t},t.sum=function(t,n){var e,r=t.length,i=-1,o=0;if(null==n)for(;++i<r;)(e=+t[i])&&(o+=e);else for(;++i<r;)(e=+n(t[i],i,t))&&(o+=e);return o},t.ticks=As,t.tickIncrement=r,t.tickStep=i,t.transpose=Ls,t.variance=gs,t.zip=function(){return Ls(arguments)},t.axisTop=function(t){return l(Ds,t)},t.axisRight=function(t){return l(Os,t)},t.axisBottom=function(t){return l(Fs,t)},t.axisLeft=function(t){return l(Is,t)},t.brush=function(){return he(Ah)},t.brushX=function(){return he(Sh)},t.brushY=function(){return he(Eh)},t.brushSelection=function(t){var n=t.__brush;return n?n.dim.output(n.selection):null},t.chord=function(){function t(t){var o,u,a,c,s,f,l=t.length,h=[],p=Ns(l),d=[],v=[],_=v.groups=new Array(l),g=new Array(l*l);for(o=0,s=-1;++s<l;){for(u=0,f=-1;++f<l;)u+=t[s][f];h.push(u),d.push(Ns(l)),o+=u}for(e&&p.sort(function(t,n){return e(h[t],h[n])}),r&&d.forEach(function(n,e){n.sort(function(n,i){return r(t[e][n],t[e][i])})}),c=(o=Ih(0,Fh-n*l)/o)?n:Fh/l,u=0,s=-1;++s<l;){for(a=u,f=-1;++f<l;){var y=p[s],m=d[y][f],x=t[y][m],b=u,w=u+=x*o;g[m*l+y]={index:y,subindex:m,startAngle:b,endAngle:w,value:x}}_[y]={index:y,startAngle:a,endAngle:u,value:h[y]},u+=c}for(s=-1;++s<l;)for(f=s-1;++f<l;){var M=g[f*l+s],T=g[s*l+f];(M.value||T.value)&&v.push(M.value<T.value?{source:T,target:M}:{source:M,target:T})}return i?v.sort(i):v}var n=0,e=null,r=null,i=null;return t.padAngle=function(e){return arguments.length?(n=Ih(0,e),t):n},t.sortGroups=function(n){return arguments.length?(e=n,t):e},t.sortSubgroups=function(n){return arguments.length?(r=n,t):r},t.sortChords=function(n){return arguments.length?(null==n?i=null:(i=pe(n))._=n,t):i&&i._},t},t.ribbon=function(){function t(){var t,a=Yh.call(arguments),c=n.apply(this,a),s=e.apply(this,a),f=+r.apply(this,(a[0]=c,a)),l=i.apply(this,a)-Oh,h=o.apply(this,a)-Oh,p=f*qh(l),d=f*Uh(l),v=+r.apply(this,(a[0]=s,a)),_=i.apply(this,a)-Oh,g=o.apply(this,a)-Oh;if(u||(u=t=ve()),u.moveTo(p,d),u.arc(0,0,f,l,h),l===_&&h===g||(u.quadraticCurveTo(0,0,v*qh(_),v*Uh(_)),u.arc(0,0,v,_,g)),u.quadraticCurveTo(0,0,p,d),u.closePath(),t)return u=null,t+""||null}var n=_e,e=ge,r=ye,i=me,o=xe,u=null;return t.radius=function(n){return arguments.length?(r="function"==typeof n?n:Bh(+n),t):r},t.startAngle=function(n){return arguments.length?(i="function"==typeof n?n:Bh(+n),t):i},t.endAngle=function(n){return arguments.length?(o="function"==typeof n?n:Bh(+n),t):o},t.source=function(e){return arguments.length?(n=e,t):n},t.target=function(n){return arguments.length?(e=n,t):e},t.context=function(n){return arguments.length?(u=null==n?null:n,t):u},t},t.nest=function(){function t(n,i,u,a){if(i>=o.length)return null!=e&&n.sort(e),null!=r?r(n):n;for(var c,s,f,l=-1,h=n.length,p=o[i++],d=we(),v=u();++l<h;)(f=d.get(c=p(s=n[l])+""))?f.push(s):d.set(c,[s]);return d.each(function(n,e){a(v,e,t(n,i,u,a))}),v}function n(t,e){if(++e>o.length)return t;var i,a=u[e-1];return null!=r&&e>=o.length?i=t.entries():(i=[],t.each(function(t,r){i.push({key:r,values:n(t,e)})})),null!=a?i.sort(function(t,n){return a(t.key,n.key)}):i}var e,r,i,o=[],u=[];return i={object:function(n){return t(n,0,Me,Te)},map:function(n){return t(n,0,Ne,ke)},entries:function(e){return n(t(e,0,Ne,ke),0)},key:function(t){return o.push(t),i},sortKeys:function(t){return u[o.length-1]=t,i},sortValues:function(t){return e=t,i},rollup:function(t){return r=t,i}}},t.set=Ee,t.map=we,t.keys=function(t){var n=[];for(var e in t)n.push(e);return n},t.values=function(t){var n=[];for(var e in t)n.push(t[e]);return n},t.entries=function(t){var n=[];for(var e in t)n.push({key:e,value:t[e]});return n},t.color=Tt,t.rgb=Et,t.hsl=Pt,t.lab=Ut,t.hcl=jt,t.cubehelix=$t,t.dispatch=h,t.drag=function(){function n(t){t.on("mousedown.drag",e).filter(g).on("touchstart.drag",o).on("touchmove.drag",u).on("touchend.drag touchcancel.drag",a).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function e(){if(!p&&d.apply(this,arguments)){var n=c("mouse",v.apply(this,arguments),nf,this,arguments);n&&(ff(t.event.view).on("mousemove.drag",r,!0).on("mouseup.drag",i,!0),pf(t.event.view),vt(),l=!1,s=t.event.clientX,f=t.event.clientY,n("start"))}}function r(){if(hf(),!l){var n=t.event.clientX-s,e=t.event.clientY-f;l=n*n+e*e>b}y.mouse("drag")}function i(){ff(t.event.view).on("mousemove.drag mouseup.drag",null),_t(t.event.view,l),hf(),y.mouse("end")}function o(){if(d.apply(this,arguments)){var n,e,r=t.event.changedTouches,i=v.apply(this,arguments),o=r.length;for(n=0;n<o;++n)(e=c(r[n].identifier,i,lf,this,arguments))&&(vt(),e("start"))}}function u(){var n,e,r=t.event.changedTouches,i=r.length;for(n=0;n<i;++n)(e=y[r[n].identifier])&&(hf(),e("drag"))}function a(){var n,e,r=t.event.changedTouches,i=r.length;for(p&&clearTimeout(p),p=setTimeout(function(){p=null},500),n=0;n<i;++n)(e=y[r[n].identifier])&&(vt(),e("end"))}function c(e,r,i,o,u){var a,c,s,f=i(r,e),l=m.copy();if(k(new gt(n,"beforestart",a,e,x,f[0],f[1],0,0,l),function(){return null!=(t.event.subject=a=_.apply(o,u))&&(c=a.x-f[0]||0,s=a.y-f[1]||0,!0)}))return function t(h){var p,d=f;switch(h){case"start":y[e]=t,p=x++;break;case"end":delete y[e],--x;case"drag":f=i(r,e),p=x}k(new gt(n,h,a,e,p,f[0]+c,f[1]+s,f[0]-d[0],f[1]-d[1],l),l.apply,l,[h,o,u])}}var s,f,l,p,d=yt,v=mt,_=xt,g=bt,y={},m=h("start","drag","end"),x=0,b=0;return n.filter=function(t){return arguments.length?(d="function"==typeof t?t:df(!!t),n):d},n.container=function(t){return arguments.length?(v="function"==typeof t?t:df(t),n):v},n.subject=function(t){return arguments.length?(_="function"==typeof t?t:df(t),n):_},n.touchable=function(t){return arguments.length?(g="function"==typeof t?t:df(!!t),n):g},n.on=function(){var t=m.on.apply(m,arguments);return t===m?n:t},n.clickDistance=function(t){return arguments.length?(b=(t=+t)*t,n):Math.sqrt(b)},n},t.dragDisable=pf,t.dragEnable=_t,t.dsvFormat=Qh,t.csvParse=tp,t.csvParseRows=np,t.csvFormat=ep,t.csvFormatRows=rp,t.tsvParse=op,t.tsvParseRows=up,t.tsvFormat=ap,t.tsvFormatRows=cp,t.easeLinear=function(t){return+t},t.easeQuad=Kn,t.easeQuadIn=function(t){return t*t},t.easeQuadOut=function(t){return t*(2-t)},t.easeQuadInOut=Kn,t.easeCubic=te,t.easeCubicIn=function(t){return t*t*t},t.easeCubicOut=function(t){return--t*t*t+1},t.easeCubicInOut=te,t.easePoly=Ql,t.easePolyIn=Gl,t.easePolyOut=Jl,t.easePolyInOut=Ql,t.easeSin=ne,t.easeSinIn=function(t){return 1-Math.cos(t*th)},t.easeSinOut=function(t){return Math.sin(t*th)},t.easeSinInOut=ne,t.easeExp=ee,t.easeExpIn=function(t){return Math.pow(2,10*t-10)},t.easeExpOut=function(t){return 1-Math.pow(2,-10*t)},t.easeExpInOut=ee,t.easeCircle=re,t.easeCircleIn=function(t){return 1-Math.sqrt(1-t*t)},t.easeCircleOut=function(t){return Math.sqrt(1- --t*t)},t.easeCircleInOut=re,t.easeBounce=ie,t.easeBounceIn=function(t){return 1-ie(1-t)},t.easeBounceOut=ie,t.easeBounceInOut=function(t){return((t*=2)<=1?1-ie(1-t):ie(t-1)+1)/2},t.easeBack=ph,t.easeBackIn=lh,t.easeBackOut=hh,t.easeBackInOut=ph,t.easeElastic=_h,t.easeElasticIn=vh,t.easeElasticOut=_h,t.easeElasticInOut=gh,t.forceCenter=function(t,n){function e(){var e,i,o=r.length,u=0,a=0;for(e=0;e<o;++e)u+=(i=r[e]).x,a+=i.y;for(u=u/o-t,a=a/o-n,e=0;e<o;++e)(i=r[e]).x-=u,i.y-=a}var r;return null==t&&(t=0),null==n&&(n=0),e.initialize=function(t){r=t},e.x=function(n){return arguments.length?(t=+n,e):t},e.y=function(t){return arguments.length?(n=+t,e):n},e},t.forceCollide=function(t){function n(){for(var t,n,r,c,s,f,l,h=i.length,p=0;p<a;++p)for(n=qe(i,Oe,Fe).visitAfter(e),t=0;t<h;++t)r=i[t],f=o[r.index],l=f*f,c=r.x+r.vx,s=r.y+r.vy,n.visit(function(t,n,e,i,o){var a=t.data,h=t.r,p=f+h;if(!a)return n>c+p||i<c-p||e>s+p||o<s-p;if(a.index>r.index){var d=c-a.x-a.vx,v=s-a.y-a.vy,_=d*d+v*v;_<p*p&&(0===d&&(d=fp(),_+=d*d),0===v&&(v=fp(),_+=v*v),_=(p-(_=Math.sqrt(_)))/_*u,r.vx+=(d*=_)*(p=(h*=h)/(l+h)),r.vy+=(v*=_)*p,a.vx-=d*(p=1-p),a.vy-=v*p)}})}function e(t){if(t.data)return t.r=o[t.data.index];for(var n=t.r=0;n<4;++n)t[n]&&t[n].r>t.r&&(t.r=t[n].r)}function r(){if(i){var n,e,r=i.length;for(o=new Array(r),n=0;n<r;++n)e=i[n],o[e.index]=+t(e,n,i)}}var i,o,u=1,a=1;return"function"!=typeof t&&(t=sp(null==t?1:+t)),n.initialize=function(t){i=t,r()},n.iterations=function(t){return arguments.length?(a=+t,n):a},n.strength=function(t){return arguments.length?(u=+t,n):u},n.radius=function(e){return arguments.length?(t="function"==typeof e?e:sp(+e),r(),n):t},n},t.forceLink=function(t){function n(n){for(var e=0,r=t.length;e<p;++e)for(var i,a,c,f,l,h,d,v=0;v<r;++v)a=(i=t[v]).source,f=(c=i.target).x+c.vx-a.x-a.vx||fp(),l=c.y+c.vy-a.y-a.vy||fp(),f*=h=((h=Math.sqrt(f*f+l*l))-u[v])/h*n*o[v],l*=h,c.vx-=f*(d=s[v]),c.vy-=l*d,a.vx+=f*(d=1-d),a.vy+=l*d}function e(){if(a){var n,e,l=a.length,h=t.length,p=we(a,f);for(n=0,c=new Array(l);n<h;++n)(e=t[n]).index=n,"object"!=typeof e.source&&(e.source=Ye(p,e.source)),"object"!=typeof e.target&&(e.target=Ye(p,e.target)),c[e.source.index]=(c[e.source.index]||0)+1,c[e.target.index]=(c[e.target.index]||0)+1;for(n=0,s=new Array(h);n<h;++n)e=t[n],s[n]=c[e.source.index]/(c[e.source.index]+c[e.target.index]);o=new Array(h),r(),u=new Array(h),i()}}function r(){if(a)for(var n=0,e=t.length;n<e;++n)o[n]=+l(t[n],n,t)}function i(){if(a)for(var n=0,e=t.length;n<e;++n)u[n]=+h(t[n],n,t)}var o,u,a,c,s,f=Ie,l=function(t){return 1/Math.min(c[t.source.index],c[t.target.index])},h=sp(30),p=1;return null==t&&(t=[]),n.initialize=function(t){a=t,e()},n.links=function(r){return arguments.length?(t=r,e(),n):t},n.id=function(t){return arguments.length?(f=t,n):f},n.iterations=function(t){return arguments.length?(p=+t,n):p},n.strength=function(t){return arguments.length?(l="function"==typeof t?t:sp(+t),r(),n):l},n.distance=function(t){return arguments.length?(h="function"==typeof t?t:sp(+t),i(),n):h},n},t.forceManyBody=function(){function t(t){var n,a=i.length,c=qe(i,Be,je).visitAfter(e);for(u=t,n=0;n<a;++n)o=i[n],c.visit(r)}function n(){if(i){var t,n,e=i.length;for(a=new Array(e),t=0;t<e;++t)n=i[t],a[n.index]=+c(n,t,i)}}function e(t){var n,e,r,i,o,u=0,c=0;if(t.length){for(r=i=o=0;o<4;++o)(n=t[o])&&(e=Math.abs(n.value))&&(u+=n.value,c+=e,r+=e*n.x,i+=e*n.y);t.x=r/c,t.y=i/c}else{(n=t).x=n.data.x,n.y=n.data.y;do{u+=a[n.data.index]}while(n=n.next)}t.value=u}function r(t,n,e,r){if(!t.value)return!0;var i=t.x-o.x,c=t.y-o.y,h=r-n,p=i*i+c*c;if(h*h/l<p)return p<f&&(0===i&&(i=fp(),p+=i*i),0===c&&(c=fp(),p+=c*c),p<s&&(p=Math.sqrt(s*p)),o.vx+=i*t.value*u/p,o.vy+=c*t.value*u/p),!0;if(!(t.length||p>=f)){(t.data!==o||t.next)&&(0===i&&(i=fp(),p+=i*i),0===c&&(c=fp(),p+=c*c),p<s&&(p=Math.sqrt(s*p)));do{t.data!==o&&(h=a[t.data.index]*u/p,o.vx+=i*h,o.vy+=c*h)}while(t=t.next)}}var i,o,u,a,c=sp(-30),s=1,f=1/0,l=.81;return t.initialize=function(t){i=t,n()},t.strength=function(e){return arguments.length?(c="function"==typeof e?e:sp(+e),n(),t):c},t.distanceMin=function(n){return arguments.length?(s=n*n,t):Math.sqrt(s)},t.distanceMax=function(n){return arguments.length?(f=n*n,t):Math.sqrt(f)},t.theta=function(n){return arguments.length?(l=n*n,t):Math.sqrt(l)},t},t.forceRadial=function(t,n,e){function r(t){for(var r=0,i=o.length;r<i;++r){var c=o[r],s=c.x-n||1e-6,f=c.y-e||1e-6,l=Math.sqrt(s*s+f*f),h=(a[r]-l)*u[r]*t/l;c.vx+=s*h,c.vy+=f*h}}function i(){if(o){var n,e=o.length;for(u=new Array(e),a=new Array(e),n=0;n<e;++n)a[n]=+t(o[n],n,o),u[n]=isNaN(a[n])?0:+c(o[n],n,o)}}var o,u,a,c=sp(.1);return"function"!=typeof t&&(t=sp(+t)),null==n&&(n=0),null==e&&(e=0),r.initialize=function(t){o=t,i()},r.strength=function(t){return arguments.length?(c="function"==typeof t?t:sp(+t),i(),r):c},r.radius=function(n){return arguments.length?(t="function"==typeof n?n:sp(+n),i(),r):t},r.x=function(t){return arguments.length?(n=+t,r):n},r.y=function(t){return arguments.length?(e=+t,r):e},r},t.forceSimulation=function(t){function n(){e(),d.call("tick",o),u<a&&(p.stop(),d.call("end",o))}function e(){var n,e,r=t.length;for(u+=(s-u)*c,l.each(function(t){t(u)}),n=0;n<r;++n)null==(e=t[n]).fx?e.x+=e.vx*=f:(e.x=e.fx,e.vx=0),null==e.fy?e.y+=e.vy*=f:(e.y=e.fy,e.vy=0)}function r(){for(var n,e=0,r=t.length;e<r;++e){if(n=t[e],n.index=e,isNaN(n.x)||isNaN(n.y)){var i=dp*Math.sqrt(e),o=e*vp;n.x=i*Math.cos(o),n.y=i*Math.sin(o)}(isNaN(n.vx)||isNaN(n.vy))&&(n.vx=n.vy=0)}}function i(n){return n.initialize&&n.initialize(t),n}var o,u=1,a=.001,c=1-Math.pow(a,1/300),s=0,f=.6,l=we(),p=dn(n),d=h("tick","end");return null==t&&(t=[]),r(),o={tick:e,restart:function(){return p.restart(n),o},stop:function(){return p.stop(),o},nodes:function(n){return arguments.length?(t=n,r(),l.each(i),o):t},alpha:function(t){return arguments.length?(u=+t,o):u},alphaMin:function(t){return arguments.length?(a=+t,o):a},alphaDecay:function(t){return arguments.length?(c=+t,o):+c},alphaTarget:function(t){return arguments.length?(s=+t,o):s},velocityDecay:function(t){return arguments.length?(f=1-t,o):1-f},force:function(t,n){return arguments.length>1?(null==n?l.remove(t):l.set(t,i(n)),o):l.get(t)},find:function(n,e,r){var i,o,u,a,c,s=0,f=t.length;for(null==r?r=1/0:r*=r,s=0;s<f;++s)(u=(i=n-(a=t[s]).x)*i+(o=e-a.y)*o)<r&&(c=a,r=u);return c},on:function(t,n){return arguments.length>1?(d.on(t,n),o):d.on(t)}}},t.forceX=function(t){function n(t){for(var n,e=0,u=r.length;e<u;++e)(n=r[e]).vx+=(o[e]-n.x)*i[e]*t}function e(){if(r){var n,e=r.length;for(i=new Array(e),o=new Array(e),n=0;n<e;++n)i[n]=isNaN(o[n]=+t(r[n],n,r))?0:+u(r[n],n,r)}}var r,i,o,u=sp(.1);return"function"!=typeof t&&(t=sp(null==t?0:+t)),n.initialize=function(t){r=t,e()},n.strength=function(t){return arguments.length?(u="function"==typeof t?t:sp(+t),e(),n):u},n.x=function(r){return arguments.length?(t="function"==typeof r?r:sp(+r),e(),n):t},n},t.forceY=function(t){function n(t){for(var n,e=0,u=r.length;e<u;++e)(n=r[e]).vy+=(o[e]-n.y)*i[e]*t}function e(){if(r){var n,e=r.length;for(i=new Array(e),o=new Array(e),n=0;n<e;++n)i[n]=isNaN(o[n]=+t(r[n],n,r))?0:+u(r[n],n,r)}}var r,i,o,u=sp(.1);return"function"!=typeof t&&(t=sp(null==t?0:+t)),n.initialize=function(t){r=t,e()},n.strength=function(t){return arguments.length?(u="function"==typeof t?t:sp(+t),e(),n):u},n.y=function(r){return arguments.length?(t="function"==typeof r?r:sp(+r),e(),n):t},n},t.formatDefaultLocale=$e,t.formatLocale=kp,t.formatSpecifier=He,t.precisionFixed=Sp,t.precisionPrefix=Ep,t.precisionRound=Ap,t.geoArea=function(t){return Pd.reset(),Cd(t,Rd),2*Pd},t.geoBounds=function(t){var n,e,r,i,o,u,a;if(Fp=Op=-(Up=Dp=1/0),Hp=[],Cd(t,qd),e=Hp.length){for(Hp.sort(br),n=1,o=[r=Hp[0]];n<e;++n)wr(r,(i=Hp[n])[0])||wr(r,i[1])?(xr(r[0],i[1])>xr(r[0],r[1])&&(r[1]=i[1]),xr(i[0],r[1])>xr(r[0],r[1])&&(r[0]=i[0])):o.push(r=i);for(u=-1/0,n=0,r=o[e=o.length-1];n<=e;r=i,++n)i=o[n],(a=xr(r[1],i[0]))>u&&(u=a,Up=i[0],Op=r[1])}return Hp=Xp=null,Up===1/0||Dp===1/0?[[NaN,NaN],[NaN,NaN]]:[[Up,Dp],[Op,Fp]]},t.geoCentroid=function(t){$p=Vp=Wp=Zp=Gp=Jp=Qp=Kp=td=nd=ed=0,Cd(t,Ud);var n=td,e=nd,r=ed,i=n*n+e*e+r*r;return i<1e-12&&(n=Jp,e=Qp,r=Kp,Vp<sd&&(n=Wp,e=Zp,r=Gp),(i=n*n+e*e+r*r)<1e-12)?[NaN,NaN]:[yd(e,n)*dd,Ge(r/kd(i))*dd]},t.geoCircle=function(){function t(){var t=r.apply(this,arguments),a=i.apply(this,arguments)*vd,c=o.apply(this,arguments)*vd;return n=[],e=Lr(-t[0]*vd,-t[1]*vd,0).invert,Or(u,a,c,1),t={type:"Polygon",coordinates:[n]},n=e=null,t}var n,e,r=Dd([0,0]),i=Dd(90),o=Dd(6),u={point:function(t,r){n.push(t=e(t,r)),t[0]*=dd,t[1]*=dd}};return t.center=function(n){return arguments.length?(r="function"==typeof n?n:Dd([+n[0],+n[1]]),t):r},t.radius=function(n){return arguments.length?(i="function"==typeof n?n:Dd(+n),t):i},t.precision=function(n){return arguments.length?(o="function"==typeof n?n:Dd(+n),t):o},t},t.geoClipAntimeridian=rv,t.geoClipCircle=iv,t.geoClipExtent=function(){var t,n,e,r=0,i=0,o=960,u=500;return e={stream:function(e){return t&&n===e?t:t=Xr(r,i,o,u)(n=e)},extent:function(a){return arguments.length?(r=+a[0][0],i=+a[0][1],o=+a[1][0],u=+a[1][1],t=n=null,e):[[r,i],[o,u]]}}},t.geoClipRectangle=Xr,t.geoContains=function(t,n){return(t&&dv.hasOwnProperty(t.type)?dv[t.type]:Zr)(t,n)},t.geoDistance=pv,t.geoGraticule=ri,t.geoGraticule10=function(){return ri()()},t.geoInterpolate=function(t,n){var e=t[0]*vd,r=t[1]*vd,i=n[0]*vd,o=n[1]*vd,u=md(r),a=Td(r),c=md(o),s=Td(o),f=u*md(e),l=u*Td(e),h=c*md(i),p=c*Td(i),d=2*Ge(kd(Je(o-r)+u*c*Je(i-e))),v=Td(d),_=d?function(t){var n=Td(t*=d)/v,e=Td(d-t)/v,r=e*f+n*h,i=e*l+n*p,o=e*a+n*s;return[yd(i,r)*dd,yd(o,kd(r*r+i*i))*dd]}:function(){return[e*dd,r*dd]};return _.distance=d,_},t.geoLength=fv,t.geoPath=function(t,n){function e(t){return t&&("function"==typeof o&&i.pointRadius(+o.apply(this,arguments)),Cd(t,r(i))),i.result()}var r,i,o=4.5;return e.area=function(t){return Cd(t,r(mv)),mv.result()},e.measure=function(t){return Cd(t,r(Yv)),Yv.result()},e.bounds=function(t){return Cd(t,r(Tv)),Tv.result()},e.centroid=function(t){return Cd(t,r(Lv)),Lv.result()},e.projection=function(n){return arguments.length?(r=null==n?(t=null,_v):(t=n).stream,e):t},e.context=function(t){return arguments.length?(i=null==t?(n=null,new xi):new gi(n=t),"function"!=typeof o&&i.pointRadius(o),e):n},e.pointRadius=function(t){return arguments.length?(o="function"==typeof t?t:(i.pointRadius(+t),+t),e):o},e.projection(t).context(n)},t.geoAlbers=Vv,t.geoAlbersUsa=function(){function t(t){var n=t[0],e=t[1];return a=null,i.point(n,e),a||(o.point(n,e),a)||(u.point(n,e),a)}function n(){return e=r=null,t}var e,r,i,o,u,a,c=Vv(),s=$v().rotate([154,0]).center([-2,58.5]).parallels([55,65]),f=$v().rotate([157,0]).center([-3,19.9]).parallels([8,18]),l={point:function(t,n){a=[t,n]}};return t.invert=function(t){var n=c.scale(),e=c.translate(),r=(t[0]-e[0])/n,i=(t[1]-e[1])/n;return(i>=.12&&i<.234&&r>=-.425&&r<-.214?s:i>=.166&&i<.234&&r>=-.214&&r<-.115?f:c).invert(t)},t.stream=function(t){return e&&r===t?e:e=Li([c.stream(r=t),s.stream(t),f.stream(t)])},t.precision=function(t){return arguments.length?(c.precision(t),s.precision(t),f.precision(t),n()):c.precision()},t.scale=function(n){return arguments.length?(c.scale(n),s.scale(.35*n),f.scale(n),t.translate(c.translate())):c.scale()},t.translate=function(t){if(!arguments.length)return c.translate();var e=c.scale(),r=+t[0],a=+t[1];return i=c.translate(t).clipExtent([[r-.455*e,a-.238*e],[r+.455*e,a+.238*e]]).stream(l),o=s.translate([r-.307*e,a+.201*e]).clipExtent([[r-.425*e+sd,a+.12*e+sd],[r-.214*e-sd,a+.234*e-sd]]).stream(l),u=f.translate([r-.205*e,a+.212*e]).clipExtent([[r-.214*e+sd,a+.166*e+sd],[r-.115*e-sd,a+.234*e-sd]]).stream(l),n()},t.fitExtent=function(n,e){return Ti(t,n,e)},t.fitSize=function(n,e){return Ni(t,n,e)},t.scale(1070)},t.geoAzimuthalEqualArea=function(){return Ai(Wv).scale(124.75).clipAngle(179.999)},t.geoAzimuthalEqualAreaRaw=Wv,t.geoAzimuthalEquidistant=function(){return Ai(Zv).scale(79.4188).clipAngle(179.999)},t.geoAzimuthalEquidistantRaw=Zv,t.geoConicConformal=function(){return zi(Ii).scale(109.5).parallels([30,30])},t.geoConicConformalRaw=Ii,t.geoConicEqualArea=$v,t.geoConicEqualAreaRaw=Ri,t.geoConicEquidistant=function(){return zi(Bi).scale(131.154).center([0,13.9389])},t.geoConicEquidistantRaw=Bi,t.geoEquirectangular=function(){return Ai(Yi).scale(152.63)},t.geoEquirectangularRaw=Yi,t.geoGnomonic=function(){return Ai(ji).scale(144.049).clipAngle(60)},t.geoGnomonicRaw=ji,t.geoIdentity=function(){function t(){return i=o=null,u}var n,e,r,i,o,u,a=1,c=0,s=0,f=1,l=1,h=_v,p=null,d=_v;return u={stream:function(t){return i&&o===t?i:i=h(d(o=t))},postclip:function(i){return arguments.length?(d=i,p=n=e=r=null,t()):d},clipExtent:function(i){return arguments.length?(d=null==i?(p=n=e=r=null,_v):Xr(p=+i[0][0],n=+i[0][1],e=+i[1][0],r=+i[1][1]),t()):null==p?null:[[p,n],[e,r]]},scale:function(n){return arguments.length?(h=Hi((a=+n)*f,a*l,c,s),t()):a},translate:function(n){return arguments.length?(h=Hi(a*f,a*l,c=+n[0],s=+n[1]),t()):[c,s]},reflectX:function(n){return arguments.length?(h=Hi(a*(f=n?-1:1),a*l,c,s),t()):f<0},reflectY:function(n){return arguments.length?(h=Hi(a*f,a*(l=n?-1:1),c,s),t()):l<0},fitExtent:function(t,n){return Ti(u,t,n)},fitSize:function(t,n){return Ni(u,t,n)}}},t.geoProjection=Ai,t.geoProjectionMutator=Ci,t.geoMercator=function(){return Oi(Di).scale(961/pd)},t.geoMercatorRaw=Di,t.geoNaturalEarth1=function(){return Ai(Xi).scale(175.295)},t.geoNaturalEarth1Raw=Xi,t.geoOrthographic=function(){return Ai($i).scale(249.5).clipAngle(90+sd)},t.geoOrthographicRaw=$i,t.geoStereographic=function(){return Ai(Vi).scale(250).clipAngle(142)},t.geoStereographicRaw=Vi,t.geoTransverseMercator=function(){var t=Oi(Wi),n=t.center,e=t.rotate;return t.center=function(t){return arguments.length?n([-t[1],t[0]]):(t=n(),[t[1],-t[0]])},t.rotate=function(t){return arguments.length?e([t[0],t[1],t.length>2?t[2]+90:90]):(t=e(),[t[0],t[1],t[2]-90])},e([0,0,90]).scale(159.155)},t.geoTransverseMercatorRaw=Wi,t.geoRotation=Gd,t.geoStream=Cd,t.geoTransform=function(t){return{stream:wi(t)}},t.cluster=function(){function t(t){var o,u=0;t.eachAfter(function(t){var e=t.children;e?(t.x=Gi(e),t.y=Qi(e)):(t.x=o?u+=n(t,o):0,t.y=0,o=t)});var a=to(t),c=no(t),s=a.x-n(a,c)/2,f=c.x+n(c,a)/2;return t.eachAfter(i?function(n){n.x=(n.x-t.x)*e,n.y=(t.y-n.y)*r}:function(n){n.x=(n.x-s)/(f-s)*e,n.y=(1-(t.y?n.y/t.y:1))*r})}var n=Zi,e=1,r=1,i=!1;return t.separation=function(e){return arguments.length?(n=e,t):n},t.size=function(n){return arguments.length?(i=!1,e=+n[0],r=+n[1],t):i?null:[e,r]},t.nodeSize=function(n){return arguments.length?(i=!0,e=+n[0],r=+n[1],t):i?[e,r]:null},t},t.hierarchy=io,t.pack=function(){function t(t){return t.x=e/2,t.y=r/2,n?t.eachBefore(Eo(n)).eachAfter(Ao(i,.5)).eachBefore(Co(1)):t.eachBefore(Eo(So)).eachAfter(Ao(ko,1)).eachAfter(Ao(i,t.r/Math.min(e,r))).eachBefore(Co(Math.min(e,r)/(2*t.r))),t}var n=null,e=1,r=1,i=ko;return t.radius=function(e){return arguments.length?(n=To(e),t):n},t.size=function(n){return arguments.length?(e=+n[0],r=+n[1],t):[e,r]},t.padding=function(n){return arguments.length?(i="function"==typeof n?n:Qv(+n),t):i},t},t.packSiblings=function(t){return Mo(t),t},t.packEnclose=Jv,t.partition=function(){function t(t){var u=t.height+1;return t.x0=t.y0=i,t.x1=e,t.y1=r/u,t.eachBefore(n(r,u)),o&&t.eachBefore(Kv),t}function n(t,n){return function(e){e.children&&t_(e,e.x0,t*(e.depth+1)/n,e.x1,t*(e.depth+2)/n);var r=e.x0,o=e.y0,u=e.x1-i,a=e.y1-i;u<r&&(r=u=(r+u)/2),a<o&&(o=a=(o+a)/2),e.x0=r,e.y0=o,e.x1=u,e.y1=a}}var e=1,r=1,i=0,o=!1;return t.round=function(n){return arguments.length?(o=!!n,t):o},t.size=function(n){return arguments.length?(e=+n[0],r=+n[1],t):[e,r]},t.padding=function(n){return arguments.length?(i=+n,t):i},t},t.stratify=function(){function t(t){var r,i,o,u,a,c,s,f=t.length,l=new Array(f),h={};for(i=0;i<f;++i)r=t[i],a=l[i]=new co(r),null!=(c=n(r,i,t))&&(c+="")&&(h[s=n_+(a.id=c)]=s in h?r_:a);for(i=0;i<f;++i)if(a=l[i],null!=(c=e(t[i],i,t))&&(c+="")){if(!(u=h[n_+c]))throw new Error("missing: "+c);if(u===r_)throw new Error("ambiguous: "+c);u.children?u.children.push(a):u.children=[a],a.parent=u}else{if(o)throw new Error("multiple roots");o=a}if(!o)throw new Error("no root");if(o.parent=e_,o.eachBefore(function(t){t.depth=t.parent.depth+1,--f}).eachBefore(ao),o.parent=null,f>0)throw new Error("cycle");return o}var n=zo,e=Po;return t.id=function(e){return arguments.length?(n=No(e),t):n},t.parentId=function(n){return arguments.length?(e=No(n),t):e},t},t.tree=function(){function t(t){var r=Io(t);if(r.eachAfter(n),r.parent.m=-r.z,r.eachBefore(e),c)t.eachBefore(i);else{var s=t,f=t,l=t;t.eachBefore(function(t){t.x<s.x&&(s=t),t.x>f.x&&(f=t),t.depth>l.depth&&(l=t)});var h=s===f?1:o(s,f)/2,p=h-s.x,d=u/(f.x+h+p),v=a/(l.depth||1);t.eachBefore(function(t){t.x=(t.x+p)*d,t.y=t.depth*v})}return t}function n(t){var n=t.children,e=t.parent.children,i=t.i?e[t.i-1]:null;if(n){Do(t);var u=(n[0].z+n[n.length-1].z)/2;i?(t.z=i.z+o(t._,i._),t.m=t.z-u):t.z=u}else i&&(t.z=i.z+o(t._,i._));t.parent.A=r(t,i,t.parent.A||e[0])}function e(t){t._.x=t.z+t.parent.m,t.m+=t.parent.m}function r(t,n,e){if(n){for(var r,i=t,u=t,a=n,c=i.parent.children[0],s=i.m,f=u.m,l=a.m,h=c.m;a=qo(a),i=Lo(i),a&&i;)c=Lo(c),(u=qo(u)).a=t,(r=a.z+l-i.z-s+o(a._,i._))>0&&(Uo(Oo(a,t,e),t,r),s+=r,f+=r),l+=a.m,s+=i.m,h+=c.m,f+=u.m;a&&!qo(u)&&(u.t=a,u.m+=l-f),i&&!Lo(c)&&(c.t=i,c.m+=s-h,e=t)}return e}function i(t){t.x*=u,t.y=t.depth*a}var o=Ro,u=1,a=1,c=null;return t.separation=function(n){return arguments.length?(o=n,t):o},t.size=function(n){return arguments.length?(c=!1,u=+n[0],a=+n[1],t):c?null:[u,a]},t.nodeSize=function(n){return arguments.length?(c=!0,u=+n[0],a=+n[1],t):c?[u,a]:null},t},t.treemap=function(){function t(t){return t.x0=t.y0=0,t.x1=i,t.y1=o,t.eachBefore(n),u=[0],r&&t.eachBefore(Kv),t}function n(t){var n=u[t.depth],r=t.x0+n,i=t.y0+n,o=t.x1-n,h=t.y1-n;o<r&&(r=o=(r+o)/2),h<i&&(i=h=(i+h)/2),t.x0=r,t.y0=i,t.x1=o,t.y1=h,t.children&&(n=u[t.depth+1]=a(t)/2,r+=l(t)-n,i+=c(t)-n,o-=s(t)-n,h-=f(t)-n,o<r&&(r=o=(r+o)/2),h<i&&(i=h=(i+h)/2),e(t,r,i,o,h))}var e=u_,r=!1,i=1,o=1,u=[0],a=ko,c=ko,s=ko,f=ko,l=ko;return t.round=function(n){return arguments.length?(r=!!n,t):r},t.size=function(n){return arguments.length?(i=+n[0],o=+n[1],t):[i,o]},t.tile=function(n){return arguments.length?(e=No(n),t):e},t.padding=function(n){return arguments.length?t.paddingInner(n).paddingOuter(n):t.paddingInner()},t.paddingInner=function(n){return arguments.length?(a="function"==typeof n?n:Qv(+n),t):a},t.paddingOuter=function(n){return arguments.length?t.paddingTop(n).paddingRight(n).paddingBottom(n).paddingLeft(n):t.paddingTop()},t.paddingTop=function(n){return arguments.length?(c="function"==typeof n?n:Qv(+n),t):c},t.paddingRight=function(n){return arguments.length?(s="function"==typeof n?n:Qv(+n),t):s},t.paddingBottom=function(n){return arguments.length?(f="function"==typeof n?n:Qv(+n),t):f},t.paddingLeft=function(n){return arguments.length?(l="function"==typeof n?n:Qv(+n),t):l},t},t.treemapBinary=function(t,n,e,r,i){function o(t,n,e,r,i,u,a){if(t>=n-1){var s=c[t];return s.x0=r,s.y0=i,s.x1=u,void(s.y1=a)}for(var l=f[t],h=e/2+l,p=t+1,d=n-1;p<d;){var v=p+d>>>1;f[v]<h?p=v+1:d=v}h-f[p-1]<f[p]-h&&t+1<p&&--p;var _=f[p]-l,g=e-_;if(u-r>a-i){var y=(r*g+u*_)/e;o(t,p,_,r,i,y,a),o(p,n,g,y,i,u,a)}else{var m=(i*g+a*_)/e;o(t,p,_,r,i,u,m),o(p,n,g,r,m,u,a)}}var u,a,c=t.children,s=c.length,f=new Array(s+1);for(f[0]=a=u=0;u<s;++u)f[u+1]=a+=c[u].value;o(0,s,t.value,n,e,r,i)},t.treemapDice=t_,t.treemapSlice=i_,t.treemapSliceDice=function(t,n,e,r,i){(1&t.depth?i_:t_)(t,n,e,r,i)},t.treemapSquarify=u_,t.treemapResquarify=a_,t.interpolate=fl,t.interpolateArray=rl,t.interpolateBasis=Jf,t.interpolateBasisClosed=Qf,t.interpolateDate=il,t.interpolateNumber=ol,t.interpolateObject=ul,t.interpolateRound=ll,t.interpolateString=sl,t.interpolateTransformCss=vl,t.interpolateTransformSvg=_l,t.interpolateZoom=yl,t.interpolateRgb=tl,t.interpolateRgbBasis=nl,t.interpolateRgbBasisClosed=el,t.interpolateHsl=ml,t.interpolateHslLong=xl,t.interpolateLab=function(t,n){var e=Kt((t=Ut(t)).l,(n=Ut(n)).l),r=Kt(t.a,n.a),i=Kt(t.b,n.b),o=Kt(t.opacity,n.opacity);return function(n){return t.l=e(n),t.a=r(n),t.b=i(n),t.opacity=o(n),t+""}},t.interpolateHcl=bl,t.interpolateHclLong=wl,t.interpolateCubehelix=Ml,t.interpolateCubehelixLong=Tl,t.quantize=function(t,n){for(var e=new Array(n),r=0;r<n;++r)e[r]=t(r/(n-1));return e},t.path=ve,t.polygonArea=function(t){for(var n,e=-1,r=t.length,i=t[r-1],o=0;++e<r;)n=i,i=t[e],o+=n[1]*i[0]-n[0]*i[1];return o/2},t.polygonCentroid=function(t){for(var n,e,r=-1,i=t.length,o=0,u=0,a=t[i-1],c=0;++r<i;)n=a,a=t[r],c+=e=n[0]*a[1]-a[0]*n[1],o+=(n[0]+a[0])*e,u+=(n[1]+a[1])*e;return c*=3,[o/c,u/c]},t.polygonHull=function(t){if((e=t.length)<3)return null;var n,e,r=new Array(e),i=new Array(e);for(n=0;n<e;++n)r[n]=[+t[n][0],+t[n][1],n];for(r.sort(Bo),n=0;n<e;++n)i[n]=[r[n][0],-r[n][1]];var o=jo(r),u=jo(i),a=u[0]===o[0],c=u[u.length-1]===o[o.length-1],s=[];for(n=o.length-1;n>=0;--n)s.push(t[r[o[n]][2]]);for(n=+a;n<u.length-c;++n)s.push(t[r[u[n]][2]]);return s},t.polygonContains=function(t,n){for(var e,r,i=t.length,o=t[i-1],u=n[0],a=n[1],c=o[0],s=o[1],f=!1,l=0;l<i;++l)e=(o=t[l])[0],(r=o[1])>a!=s>a&&u<(c-e)*(a-r)/(s-r)+e&&(f=!f),c=e,s=r;return f},t.polygonLength=function(t){for(var n,e,r=-1,i=t.length,o=t[i-1],u=o[0],a=o[1],c=0;++r<i;)n=u,e=a,n-=u=(o=t[r])[0],e-=a=o[1],c+=Math.sqrt(n*n+e*e);return c},t.quadtree=qe,t.queue=Go,t.randomUniform=h_,t.randomNormal=p_,t.randomLogNormal=d_,t.randomBates=__,t.randomIrwinHall=v_,t.randomExponential=g_,t.request=y_,t.html=x_,t.json=b_,t.text=w_,t.xml=M_,t.csv=N_,t.tsv=k_,t.scaleBand=nu,t.scalePoint=function(){return eu(nu().paddingInner(1))},t.scaleIdentity=hu,t.scaleLinear=lu,t.scaleLog=mu,t.scaleOrdinal=tu,t.scaleImplicit=C_,t.scalePow=bu,t.scaleSqrt=function(){return bu().exponent(.5)},t.scaleQuantile=wu,t.scaleQuantize=Mu,t.scaleThreshold=Tu,t.scaleTime=function(){return Ea(hg,fg,G_,W_,$_,H_,B_,O_,t.timeFormat).domain([new Date(2e3,0,1),new Date(2e3,0,2)])},t.scaleUtc=function(){return Ea(Ug,Lg,xg,yg,_g,dg,B_,O_,t.utcFormat).domain([Date.UTC(2e3,0,1),Date.UTC(2e3,0,2)])},t.schemeCategory10=Kg,t.schemeCategory20b=ty,t.schemeCategory20c=ny,t.schemeCategory20=ey,t.interpolateCubehelixDefault=ry,t.interpolateRainbow=function(t){(t<0||t>1)&&(t-=Math.floor(t));var n=Math.abs(t-.5);return uy.h=360*t-100,uy.s=1.5-1.5*n,uy.l=.8-.9*n,uy+""},t.interpolateWarm=iy,t.interpolateCool=oy,t.interpolateViridis=ay,t.interpolateMagma=cy,t.interpolateInferno=sy,t.interpolatePlasma=fy,t.scaleSequential=Ca,t.creator=$s,t.local=m,t.matcher=Js,t.mouse=nf,t.namespace=Xs,t.namespaces=Hs,t.select=ff,t.selectAll=function(t){return"string"==typeof t?new pt([document.querySelectorAll(t)],[document.documentElement]):new pt([null==t?[]:t],sf)},t.selection=dt,t.selector=ef,t.selectorAll=rf,t.style=B,t.touch=lf,t.touches=function(t,n){null==n&&(n=Ks().touches);for(var e=0,r=n?n.length:0,i=new Array(r);e<r;++e)i[e]=tf(t,n[e]);return i},t.window=cf,t.customEvent=k,t.arc=function(){function t(){var t,s,f=+n.apply(this,arguments),l=+e.apply(this,arguments),h=o.apply(this,arguments)-by,p=u.apply(this,arguments)-by,d=hy(p-h),v=p>h;if(c||(c=t=ve()),l<f&&(s=l,l=f,f=s),l>my)if(d>wy-my)c.moveTo(l*dy(h),l*gy(h)),c.arc(0,0,l,h,p,!v),f>my&&(c.moveTo(f*dy(p),f*gy(p)),c.arc(0,0,f,p,h,v));else{var _,g,y=h,m=p,x=h,b=p,w=d,M=d,T=a.apply(this,arguments)/2,N=T>my&&(i?+i.apply(this,arguments):yy(f*f+l*l)),k=_y(hy(l-f)/2,+r.apply(this,arguments)),S=k,E=k;if(N>my){var A=Pa(N/f*gy(T)),C=Pa(N/l*gy(T));(w-=2*A)>my?(A*=v?1:-1,x+=A,b-=A):(w=0,x=b=(h+p)/2),(M-=2*C)>my?(C*=v?1:-1,y+=C,m-=C):(M=0,y=m=(h+p)/2)}var z=l*dy(y),P=l*gy(y),R=f*dy(b),L=f*gy(b);if(k>my){var q=l*dy(m),U=l*gy(m),D=f*dy(x),O=f*gy(x);if(d<xy){var F=w>my?Oa(z,P,D,O,q,U,R,L):[R,L],I=z-F[0],Y=P-F[1],B=q-F[0],j=U-F[1],H=1/gy(za((I*B+Y*j)/(yy(I*I+Y*Y)*yy(B*B+j*j)))/2),X=yy(F[0]*F[0]+F[1]*F[1]);S=_y(k,(f-X)/(H-1)),E=_y(k,(l-X)/(H+1))}}M>my?E>my?(_=Fa(D,O,z,P,l,E,v),g=Fa(q,U,R,L,l,E,v),c.moveTo(_.cx+_.x01,_.cy+_.y01),E<k?c.arc(_.cx,_.cy,E,py(_.y01,_.x01),py(g.y01,g.x01),!v):(c.arc(_.cx,_.cy,E,py(_.y01,_.x01),py(_.y11,_.x11),!v),c.arc(0,0,l,py(_.cy+_.y11,_.cx+_.x11),py(g.cy+g.y11,g.cx+g.x11),!v),c.arc(g.cx,g.cy,E,py(g.y11,g.x11),py(g.y01,g.x01),!v))):(c.moveTo(z,P),c.arc(0,0,l,y,m,!v)):c.moveTo(z,P),f>my&&w>my?S>my?(_=Fa(R,L,q,U,f,-S,v),g=Fa(z,P,D,O,f,-S,v),c.lineTo(_.cx+_.x01,_.cy+_.y01),S<k?c.arc(_.cx,_.cy,S,py(_.y01,_.x01),py(g.y01,g.x01),!v):(c.arc(_.cx,_.cy,S,py(_.y01,_.x01),py(_.y11,_.x11),!v),c.arc(0,0,f,py(_.cy+_.y11,_.cx+_.x11),py(g.cy+g.y11,g.cx+g.x11),v),c.arc(g.cx,g.cy,S,py(g.y11,g.x11),py(g.y01,g.x01),!v))):c.arc(0,0,f,b,x,v):c.lineTo(R,L)}else c.moveTo(0,0);if(c.closePath(),t)return c=null,t+""||null}var n=Ra,e=La,r=ly(0),i=null,o=qa,u=Ua,a=Da,c=null;return t.centroid=function(){var t=(+n.apply(this,arguments)+ +e.apply(this,arguments))/2,r=(+o.apply(this,arguments)+ +u.apply(this,arguments))/2-xy/2;return[dy(r)*t,gy(r)*t]},t.innerRadius=function(e){return arguments.length?(n="function"==typeof e?e:ly(+e),t):n},t.outerRadius=function(n){return arguments.length?(e="function"==typeof n?n:ly(+n),t):e},t.cornerRadius=function(n){return arguments.length?(r="function"==typeof n?n:ly(+n),t):r},t.padRadius=function(n){return arguments.length?(i=null==n?null:"function"==typeof n?n:ly(+n),t):i},t.startAngle=function(n){return arguments.length?(o="function"==typeof n?n:ly(+n),t):o},t.endAngle=function(n){return arguments.length?(u="function"==typeof n?n:ly(+n),t):u},t.padAngle=function(n){return arguments.length?(a="function"==typeof n?n:ly(+n),t):a},t.context=function(n){return arguments.length?(c=null==n?null:n,t):c},t},t.area=Ny,t.line=Ty,t.pie=function(){function t(t){var a,c,s,f,l,h=t.length,p=0,d=new Array(h),v=new Array(h),_=+i.apply(this,arguments),g=Math.min(wy,Math.max(-wy,o.apply(this,arguments)-_)),y=Math.min(Math.abs(g)/h,u.apply(this,arguments)),m=y*(g<0?-1:1);for(a=0;a<h;++a)(l=v[d[a]=a]=+n(t[a],a,t))>0&&(p+=l);for(null!=e?d.sort(function(t,n){return e(v[t],v[n])}):null!=r&&d.sort(function(n,e){return r(t[n],t[e])}),a=0,s=p?(g-h*m)/p:0;a<h;++a,_=f)c=d[a],f=_+((l=v[c])>0?l*s:0)+m,v[c]={data:t[c],index:a,value:l,startAngle:_,endAngle:f,padAngle:y};return v}var n=Sy,e=ky,r=null,i=ly(0),o=ly(wy),u=ly(0);return t.value=function(e){return arguments.length?(n="function"==typeof e?e:ly(+e),t):n},t.sortValues=function(n){return arguments.length?(e=n,r=null,t):e},t.sort=function(n){return arguments.length?(r=n,e=null,t):r},t.startAngle=function(n){return arguments.length?(i="function"==typeof n?n:ly(+n),t):i},t.endAngle=function(n){return arguments.length?(o="function"==typeof n?n:ly(+n),t):o},t.padAngle=function(n){return arguments.length?(u="function"==typeof n?n:ly(+n),t):u},t},t.areaRadial=Cy,t.radialArea=Cy,t.lineRadial=Ay,t.radialLine=Ay,t.pointRadial=zy,t.linkHorizontal=function(){return Wa(Za)},t.linkVertical=function(){return Wa(Ga)},t.linkRadial=function(){var t=Wa(Ja);return t.angle=t.x,delete t.x,t.radius=t.y,delete t.y,t},t.symbol=function(){function t(){var t;if(r||(r=t=ve()),n.apply(this,arguments).draw(r,+e.apply(this,arguments)),t)return r=null,t+""||null}var n=ly(Ry),e=ly(64),r=null;return t.type=function(e){return arguments.length?(n="function"==typeof e?e:ly(e),t):n},t.size=function(n){return arguments.length?(e="function"==typeof n?n:ly(+n),t):e},t.context=function(n){return arguments.length?(r=null==n?null:n,t):r},t},t.symbols=Gy,t.symbolCircle=Ry,t.symbolCross=Ly,t.symbolDiamond=Dy,t.symbolSquare=By,t.symbolStar=Yy,t.symbolTriangle=Hy,t.symbolWye=Zy,t.curveBasisClosed=function(t){return new tc(t)},t.curveBasisOpen=function(t){return new nc(t)},t.curveBasis=function(t){return new Ka(t)},t.curveBundle=Qy,t.curveCardinalClosed=tm,t.curveCardinalOpen=nm,t.curveCardinal=Ky,t.curveCatmullRomClosed=rm,t.curveCatmullRomOpen=im,t.curveCatmullRom=em,t.curveLinearClosed=function(t){return new lc(t)},t.curveLinear=My,t.curveMonotoneX=function(t){return new _c(t)},t.curveMonotoneY=function(t){return new gc(t)},t.curveNatural=function(t){return new mc(t)},t.curveStep=function(t){return new bc(t,.5)},t.curveStepAfter=function(t){return new bc(t,1)},t.curveStepBefore=function(t){return new bc(t,0)},t.stack=function(){function t(t){var o,u,a=n.apply(this,arguments),c=t.length,s=a.length,f=new Array(s);for(o=0;o<s;++o){for(var l,h=a[o],p=f[o]=new Array(c),d=0;d<c;++d)p[d]=l=[0,+i(t[d],h,d,t)],l.data=t[d];p.key=h}for(o=0,u=e(f);o<s;++o)f[u[o]].index=o;return r(f,u),f}var n=ly([]),e=um,r=om,i=wc;return t.keys=function(e){return arguments.length?(n="function"==typeof e?e:ly(Py.call(e)),t):n},t.value=function(n){return arguments.length?(i="function"==typeof n?n:ly(+n),t):i},t.order=function(n){return arguments.length?(e=null==n?um:"function"==typeof n?n:ly(Py.call(n)),t):e},t.offset=function(n){return arguments.length?(r=null==n?om:n,t):r},t},t.stackOffsetExpand=function(t,n){if((r=t.length)>0){for(var e,r,i,o=0,u=t[0].length;o<u;++o){for(i=e=0;e<r;++e)i+=t[e][o][1]||0;if(i)for(e=0;e<r;++e)t[e][o][1]/=i}om(t,n)}},t.stackOffsetDiverging=function(t,n){if((a=t.length)>1)for(var e,r,i,o,u,a,c=0,s=t[n[0]].length;c<s;++c)for(o=u=0,e=0;e<a;++e)(i=(r=t[n[e]][c])[1]-r[0])>=0?(r[0]=o,r[1]=o+=i):i<0?(r[1]=u,r[0]=u+=i):r[0]=o},t.stackOffsetNone=om,t.stackOffsetSilhouette=function(t,n){if((e=t.length)>0){for(var e,r=0,i=t[n[0]],o=i.length;r<o;++r){for(var u=0,a=0;u<e;++u)a+=t[u][r][1]||0;i[r][1]+=i[r][0]=-a/2}om(t,n)}},t.stackOffsetWiggle=function(t,n){if((i=t.length)>0&&(r=(e=t[n[0]]).length)>0){for(var e,r,i,o=0,u=1;u<r;++u){for(var a=0,c=0,s=0;a<i;++a){for(var f=t[n[a]],l=f[u][1]||0,h=(l-(f[u-1][1]||0))/2,p=0;p<a;++p){var d=t[n[p]];h+=(d[u][1]||0)-(d[u-1][1]||0)}c+=l,s+=h*l}e[u-1][1]+=e[u-1][0]=o,c&&(o-=s/c)}e[u-1][1]+=e[u-1][0]=o,om(t,n)}},t.stackOrderAscending=am,t.stackOrderDescending=function(t){return am(t).reverse()},t.stackOrderInsideOut=function(t){var n,e,r=t.length,i=t.map(Mc),o=um(t).sort(function(t,n){return i[n]-i[t]}),u=0,a=0,c=[],s=[];for(n=0;n<r;++n)e=o[n],u<a?(u+=i[e],c.push(e)):(a+=i[e],s.push(e));return s.reverse().concat(c)},t.stackOrderNone=um,t.stackOrderReverse=function(t){return um(t).reverse()},t.timeInterval=Nu,t.timeMillisecond=O_,t.timeMilliseconds=F_,t.utcMillisecond=O_,t.utcMilliseconds=F_,t.timeSecond=B_,t.timeSeconds=j_,t.utcSecond=B_,t.utcSeconds=j_,t.timeMinute=H_,t.timeMinutes=X_,t.timeHour=$_,t.timeHours=V_,t.timeDay=W_,t.timeDays=Z_,t.timeWeek=G_,t.timeWeeks=rg,t.timeSunday=G_,t.timeSundays=rg,t.timeMonday=J_,t.timeMondays=ig,t.timeTuesday=Q_,t.timeTuesdays=og,t.timeWednesday=K_,t.timeWednesdays=ug,t.timeThursday=tg,t.timeThursdays=ag,t.timeFriday=ng,t.timeFridays=cg,t.timeSaturday=eg,t.timeSaturdays=sg,t.timeMonth=fg,t.timeMonths=lg,t.timeYear=hg,t.timeYears=pg,t.utcMinute=dg,t.utcMinutes=vg,t.utcHour=_g,t.utcHours=gg,t.utcDay=yg,t.utcDays=mg,t.utcWeek=xg,t.utcWeeks=Sg,t.utcSunday=xg,t.utcSundays=Sg,t.utcMonday=bg,t.utcMondays=Eg,t.utcTuesday=wg,t.utcTuesdays=Ag,t.utcWednesday=Mg,t.utcWednesdays=Cg,t.utcThursday=Tg,t.utcThursdays=zg,t.utcFriday=Ng,t.utcFridays=Pg,t.utcSaturday=kg,t.utcSaturdays=Rg,t.utcMonth=Lg,t.utcMonths=qg,t.utcYear=Ug,t.utcYears=Og,t.timeFormatDefaultLocale=Na,t.timeFormatLocale=zu,t.isoFormat=jg,t.isoParse=Hg,t.now=ln,t.timer=dn,t.timerFlush=vn,t.timeout=Ll,t.interval=function(t,n,e){var r=new pn,i=n;return null==n?(r.restart(t,n,e),r):(n=+n,e=null==e?ln():+e,r.restart(function o(u){u+=i,r.restart(o,i+=n,e),t(u)},n,e),r)},t.transition=Jn,t.active=function(t,n){var e,r,i=t.__transition;if(i){n=null==n?null:n+"";for(r in i)if((e=i[r]).state>Ol&&e.name===n)return new Gn([[t]],mh,n,+r)}return null},t.interrupt=Xl,t.voronoi=function(){function t(t){return new ns(t.map(function(r,i){var o=[Math.round(n(r,i,t)/_m)*_m,Math.round(e(r,i,t)/_m)*_m];return o.index=i,o.data=r,o}),r)}var n=Tc,e=Nc,r=null;return t.polygons=function(n){return t(n).polygons()},t.links=function(n){return t(n).links()},t.triangles=function(n){return t(n).triangles()},t.x=function(e){return arguments.length?(n="function"==typeof e?e:cm(+e),t):n},t.y=function(n){return arguments.length?(e="function"==typeof n?n:cm(+n),t):e},t.extent=function(n){return arguments.length?(r=null==n?null:[[+n[0][0],+n[0][1]],[+n[1][0],+n[1][1]]],t):r&&[[r[0][0],r[0][1]],[r[1][0],r[1][1]]]},t.size=function(n){return arguments.length?(r=null==n?null:[[0,0],[+n[0],+n[1]]],t):r&&[r[1][0]-r[0][0],r[1][1]-r[0][1]]},t},t.zoom=function(){function n(t){t.property("__zoom",cs).on("wheel.zoom",s).on("mousedown.zoom",f).on("dblclick.zoom",l).filter(b).on("touchstart.zoom",p).on("touchmove.zoom",d).on("touchend.zoom touchcancel.zoom",v).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function e(t,n){return(n=Math.max(w,Math.min(M,n)))===t.k?t:new rs(n,t.x,t.y)}function r(t,n,e){var r=n[0]-e[0]*t.k,i=n[1]-e[1]*t.k;return r===t.x&&i===t.y?t:new rs(t.k,r,i)}function i(t,n){var e=t.invertX(n[0][0])-T,r=t.invertX(n[1][0])-N,i=t.invertY(n[0][1])-S,o=t.invertY(n[1][1])-E;return t.translate(r>e?(e+r)/2:Math.min(0,e)||Math.max(0,r),o>i?(i+o)/2:Math.min(0,i)||Math.max(0,o))}function o(t){return[(+t[0][0]+ +t[1][0])/2,(+t[0][1]+ +t[1][1])/2]}function u(t,n,e){t.on("start.zoom",function(){a(this,arguments).start()}).on("interrupt.zoom end.zoom",function(){a(this,arguments).end()}).tween("zoom",function(){var t=this,r=arguments,i=a(t,r),u=m.apply(t,r),c=e||o(u),s=Math.max(u[1][0]-u[0][0],u[1][1]-u[0][1]),f=t.__zoom,l="function"==typeof n?n.apply(t,r):n,h=C(f.invert(c).concat(s/f.k),l.invert(c).concat(s/l.k));return function(t){if(1===t)t=l;else{var n=h(t),e=s/n[2];t=new rs(e,c[0]-n[0]*e,c[1]-n[1]*e)}i.zoom(null,t)}})}function a(t,n){for(var e,r=0,i=z.length;r<i;++r)if((e=z[r]).that===t)return e;return new c(t,n)}function c(t,n){this.that=t,this.args=n,this.index=-1,this.active=0,this.extent=m.apply(t,n)}function s(){if(y.apply(this,arguments)){var t=a(this,arguments),n=this.__zoom,o=Math.max(w,Math.min(M,n.k*Math.pow(2,x.apply(this,arguments)))),u=nf(this);if(t.wheel)t.mouse[0][0]===u[0]&&t.mouse[0][1]===u[1]||(t.mouse[1]=n.invert(t.mouse[0]=u)),clearTimeout(t.wheel);else{if(n.k===o)return;t.mouse=[u,n.invert(u)],Xl(this),t.start()}xm(),t.wheel=setTimeout(function(){t.wheel=null,t.end()},L),t.zoom("mouse",i(r(e(n,o),t.mouse[0],t.mouse[1]),t.extent))}}function f(){if(!g&&y.apply(this,arguments)){var n=a(this,arguments),e=ff(t.event.view).on("mousemove.zoom",function(){if(xm(),!n.moved){var e=t.event.clientX-u,o=t.event.clientY-c;n.moved=e*e+o*o>q}n.zoom("mouse",i(r(n.that.__zoom,n.mouse[0]=nf(n.that),n.mouse[1]),n.extent))},!0).on("mouseup.zoom",function(){e.on("mousemove.zoom mouseup.zoom",null),_t(t.event.view,n.moved),xm(),n.end()},!0),o=nf(this),u=t.event.clientX,c=t.event.clientY;pf(t.event.view),os(),n.mouse=[o,this.__zoom.invert(o)],Xl(this),n.start()}}function l(){if(y.apply(this,arguments)){var o=this.__zoom,a=nf(this),c=o.invert(a),s=i(r(e(o,o.k*(t.event.shiftKey?.5:2)),a,c),m.apply(this,arguments));xm(),A>0?ff(this).transition().duration(A).call(u,s,a):ff(this).call(n.transform,s)}}function p(){if(y.apply(this,arguments)){var n,e,r,i,o=a(this,arguments),u=t.event.changedTouches,c=u.length;for(os(),e=0;e<c;++e)r=u[e],i=[i=lf(this,u,r.identifier),this.__zoom.invert(i),r.identifier],o.touch0?o.touch1||(o.touch1=i):(o.touch0=i,n=!0);if(_&&(_=clearTimeout(_),!o.touch1))return o.end(),void((i=ff(this).on("dblclick.zoom"))&&i.apply(this,arguments));n&&(_=setTimeout(function(){_=null},R),Xl(this),o.start())}}function d(){var n,o,u,c,s=a(this,arguments),f=t.event.changedTouches,l=f.length;for(xm(),_&&(_=clearTimeout(_)),n=0;n<l;++n)o=f[n],u=lf(this,f,o.identifier),s.touch0&&s.touch0[2]===o.identifier?s.touch0[0]=u:s.touch1&&s.touch1[2]===o.identifier&&(s.touch1[0]=u);if(o=s.that.__zoom,s.touch1){var h=s.touch0[0],p=s.touch0[1],d=s.touch1[0],v=s.touch1[1],g=(g=d[0]-h[0])*g+(g=d[1]-h[1])*g,y=(y=v[0]-p[0])*y+(y=v[1]-p[1])*y;o=e(o,Math.sqrt(g/y)),u=[(h[0]+d[0])/2,(h[1]+d[1])/2],c=[(p[0]+v[0])/2,(p[1]+v[1])/2]}else{if(!s.touch0)return;u=s.touch0[0],c=s.touch0[1]}s.zoom("touch",i(r(o,u,c),s.extent))}function v(){var n,e,r=a(this,arguments),i=t.event.changedTouches,o=i.length;for(os(),g&&clearTimeout(g),g=setTimeout(function(){g=null},R),n=0;n<o;++n)e=i[n],r.touch0&&r.touch0[2]===e.identifier?delete r.touch0:r.touch1&&r.touch1[2]===e.identifier&&delete r.touch1;r.touch1&&!r.touch0&&(r.touch0=r.touch1,delete r.touch1),r.touch0?r.touch0[1]=this.__zoom.invert(r.touch0[0]):r.end()}var _,g,y=us,m=as,x=ss,b=fs,w=0,M=1/0,T=-M,N=M,S=T,E=N,A=250,C=yl,z=[],P=h("start","zoom","end"),R=500,L=150,q=0;return n.transform=function(t,n){var e=t.selection?t.selection():t;e.property("__zoom",cs),t!==e?u(t,n):e.interrupt().each(function(){a(this,arguments).start().zoom(null,"function"==typeof n?n.apply(this,arguments):n).end()})},n.scaleBy=function(t,e){n.scaleTo(t,function(){return this.__zoom.k*("function"==typeof e?e.apply(this,arguments):e)})},n.scaleTo=function(t,u){n.transform(t,function(){var t=m.apply(this,arguments),n=this.__zoom,a=o(t),c=n.invert(a);return i(r(e(n,"function"==typeof u?u.apply(this,arguments):u),a,c),t)})},n.translateBy=function(t,e,r){n.transform(t,function(){return i(this.__zoom.translate("function"==typeof e?e.apply(this,arguments):e,"function"==typeof r?r.apply(this,arguments):r),m.apply(this,arguments))})},n.translateTo=function(t,e,r){n.transform(t,function(){var t=m.apply(this,arguments),n=this.__zoom,u=o(t);return i(mm.translate(u[0],u[1]).scale(n.k).translate("function"==typeof e?-e.apply(this,arguments):-e,"function"==typeof r?-r.apply(this,arguments):-r),t)})},c.prototype={start:function(){return 1==++this.active&&(this.index=z.push(this)-1,this.emit("start")),this},zoom:function(t,n){return this.mouse&&"mouse"!==t&&(this.mouse[1]=n.invert(this.mouse[0])),this.touch0&&"touch"!==t&&(this.touch0[1]=n.invert(this.touch0[0])),this.touch1&&"touch"!==t&&(this.touch1[1]=n.invert(this.touch1[0])),this.that.__zoom=n,this.emit("zoom"),this},end:function(){return 0==--this.active&&(z.splice(this.index,1),this.index=-1,this.emit("end")),this},emit:function(t){k(new es(n,t,this.that.__zoom),P.apply,P,[t,this.that,this.args])}},n.wheelDelta=function(t){return arguments.length?(x="function"==typeof t?t:ym(+t),n):x},n.filter=function(t){return arguments.length?(y="function"==typeof t?t:ym(!!t),n):y},n.touchable=function(t){return arguments.length?(b="function"==typeof t?t:ym(!!t),n):b},n.extent=function(t){return arguments.length?(m="function"==typeof t?t:ym([[+t[0][0],+t[0][1]],[+t[1][0],+t[1][1]]]),n):m},n.scaleExtent=function(t){return arguments.length?(w=+t[0],M=+t[1],n):[w,M]},n.translateExtent=function(t){return arguments.length?(T=+t[0][0],N=+t[1][0],S=+t[0][1],E=+t[1][1],n):[[T,S],[N,E]]},n.duration=function(t){return arguments.length?(A=+t,n):A},n.interpolate=function(t){return arguments.length?(C=t,n):C},n.on=function(){var t=P.on.apply(P,arguments);return t===P?n:t},n.clickDistance=function(t){return arguments.length?(q=(t=+t)*t,n):Math.sqrt(q)},n},t.zoomTransform=is,t.zoomIdentity=mm,Object.defineProperty(t,"__esModule",{value:!0})});
//Width and height
margin = { top: 50, right: 40, bottom: 20, left: 50 },
w = container.offsetWidth;
h = 500;
var parseTime = d3.timeParse('%Y'); //convert strings to dates
var formatTime = d3.timeFormat('%Y'); //date format
//Function for converting CSV values from strings to Dates and numbers
var rowConverter = function(d, i, cols) {
var row = {
year: parseTime(d.year), //make new date object for each year
};
for (var i = 1; i < cols.length; i++) { //loop for each growth type
var col = cols[i];
row[cols[i]] = +d[cols[i]]; //convert from string to int
}
return row;
};
//colors
var colors = d3.scaleOrdinal(d3.schemeCategory10);
//for back button toggle
var viewState = 0
//bar transition duration
var barTransition = 750
//define stacks
var stack = d3.stack();
var transitionStack = d3.stack();
var thisStack = d3.stack();
//create svg
var svg = d3.select('#container')
.append('svg')
.attr('width', w)
.attr('height', h);
//load data
d3.csv('growth_data.csv', rowConverter, function(error, data) {
if (error) throw error;
dataset = data;
//console.table(dataset);
d3.csv('growth_data_lines.csv', rowConverter, function(error, gdpLineData) {
if (error) throw error;
gdpLineDataset = gdpLineData
//console.log(gdpLineDataset);
keys = dataset.columns.slice(1);
stack.keys(keys)
.offset(d3.stackOffsetDiverging)
.order(d3.stackOrderInsideOut);
//data, stacked
series = stack(dataset);
//console.log(series);
drawGdp(dataset, series, keys);
drawGdpLine(gdpLineDataset);
drawBackbutton(dataset, series, keys);
//LEGEND
var legendVals = ["Personal Consumption", "Gross private domestic investment", "Net Trade", "Government consumption and gross investment"]
//var legendVals = dataset.columns.slice(1); DYNAMIC LEGEND, not using because current column headers not pretty, but necessary for the way this dynamically loads the thisType files
drawLegend(legendVals);
});
});
function drawGdp(data, series, keys) {
//scales
xScale = d3.scaleBand()
.domain(data.map(function(d) { return d.year }))
.range([margin.left, w - margin.right])
.paddingInner(0.1)
.paddingOuter(0.75);
yScale = d3.scaleLinear()
.domain([d3.min(series, stackMin), d3.max(series, stackMax)])
.range([h - margin.bottom, margin.top])
.nice();
//Define axes
xAxis = d3.axisBottom()
.scale(xScale)
.tickValues(xScale.domain().filter(function(d, i) { return !(i % 10) }))
.tickFormat(d3.timeFormat('%Y'))
.tickSize(0);
//Define right Y axis
yAxisR = d3.axisRight()
.scale(yScale)
.ticks(8)
.tickSizeOuter(0);
//Define left Y axis
yAxisL = d3.axisLeft()
.scale(yScale)
.ticks(8)
.tickSizeOuter(0);
//Define grey y axis lines
yAxisGrid = d3.axisLeft()
.scale(yScale)
.ticks(8)
.tickSizeOuter(0)
.tickSizeInner(-w + margin.left + margin.right)
.tickFormat("");
//group data rows
var bars = svg.selectAll('#originalBars')
.data(series)
.enter()
.append('g')
.attr('id', 'originalBars')
.style('fill', function(d, i) { return colors(i); })
.attr("class", function(d, i) {
return d.key;
});
//add rect for each data value
var rects = bars.selectAll('rect')
.data(function(d) { return d; })
.enter()
.append('rect')
.attr('x', function(d, i) {
return xScale(d.data.year);
})
.attr('y', function(d) {
return yScale(d[1]);
})
.attr('height', function(d) {
return yScale(d[0]) - yScale(d[1]);
})
.attr('width', xScale.bandwidth)
.attr('id', 'indivBars')
.attr('class', function(d, i) {
return "bar-" + d3.select(this.parentNode).attr('class');
})
.style('cursor', 'pointer')
.on("mousemove", function(d, i) {
tooltipType = d3.select(this.parentNode).attr('class')
//console.log(d.data[tooltipType]);
tooltipDiv.transition()
//.duration(200)
.style("opacity", .9);
tooltipDiv.html(tooltipType + "<br/>" + formatTime(d.data.year) + ': ' + d.data[tooltipType] + '%')
.style("left", (d3.event.pageX + 5) + "px")
.style("top", (d3.event.pageY - 38) + "px");
})
.on("mouseout", function(d) {
tooltipDiv.transition()
.duration(500)
.style("opacity", 0)
})
rects.on('click', function(d, i) {
thisType = d3.select(this.parentNode).attr('class')
//console.log(thisType);
viewState++
toggleBackButton()
d3.csv('growth_data_' + thisType + '.csv', rowConverter, function(error, thisGdpData) {
if (error) throw error;
var thisDataset = thisGdpData;
//console.log(thisDataset);
//Generate a new data set with all-zero values,
//except for this type's data for beginning of transition
transitionDataset = [];
for (var i = 0; i < data.length; i++) {
transitionDataset[i] = {
year: data[i].year,
personal_consumption: 0,
gross_private_domestic_inv: 0,
net_trade: 0,
gov_consumption_and_gross_inv: 0,
[thisType]: data[i][thisType] //Overwrites the appropriate zero value above
}
}
//console.log(transitionDataset);
transitionStack.keys(keys)
.offset(d3.stackOffsetDiverging)
.order(d3.stackOrderAscending);
var transitionSeries = transitionStack(transitionDataset);
//console.log(transitionSeries);
//remove gdp line
d3.select('#line').transition().duration(barTransition / 2).style("opacity", 0);
//update y scale
yScale = d3.scaleLinear()
.domain([d3.min(transitionSeries, stackMin) - 0.5, d3.max(transitionSeries, stackMax) + 0.5])
.range([h - margin.bottom, margin.top])
.nice();
//update y axes
yAxisR = d3.axisRight()
.scale(yScale)
.ticks(8)
.tickSizeOuter(0);
yAxisL = d3.axisLeft()
.scale(yScale)
.ticks(8)
.tickSizeOuter(0);
yAxisGrid = d3.axisLeft()
.scale(yScale)
.ticks(8)
.tickSizeOuter(0)
.tickSizeInner(-w + margin.left + margin.right)
.tickFormat("");
svg.select(".axis.yl")
.transition().duration(barTransition)
.call(yAxisL);
svg.select(".axis.yr")
.transition().duration(barTransition)
.call(yAxisR);
svg.select(".axis.ygrid")
.transition().duration(barTransition)
.call(yAxisGrid);
svg.select(".axis.x")
.transition().duration(barTransition)
.select('.domain').attr('transform', 'translate(' +
0 + ',' + (yScale(0) - (h - margin.bottom)) + ')');
//transition bars
keys.forEach(function(key, key_index) {
var bars = svg.selectAll(".bar-" + key)
.data(transitionSeries[key_index])
.transition().duration(barTransition)
.attr("y", function(d) {
return yScale(d[1]);
})
.attr("height", function(d) { return yScale(d[0]) - yScale(d[1]); })
.transition()
.style('opacity', 0)
});
thisKeys = thisDataset.columns.slice(1);
thisStack.keys(thisKeys)
.offset(d3.stackOffsetDiverging)
.order(d3.stackOrderInsideOut);
thisSeries = thisStack(thisDataset);
//console.log(thisSeries);
//group data rows
var bars = svg.selectAll('#bars')
.data(thisSeries)
.enter()
.append('g')
.attr('id', 'bars')
.style('fill', function(d, i) { return colors(i); })
.attr("class", function(d, i) {
return d.key;
});
//add rect for each data value
var rects = bars.selectAll('rect')
.data(function(d) { return d; })
.enter()
.append('rect')
.attr('x', function(d, i) {
return xScale(d.data.year);
})
.attr('y', function(d) {
return yScale(d[1]);
})
.attr('height', function(d) {
return yScale(d[0]) - yScale(d[1]);
})
.attr('width', xScale.bandwidth)
.attr('id', 'indivBars')
.attr('class', function(d, i) {
return "thisBar-" + d3.select(this.parentNode).attr('class');
})
.on("mousemove", function(d, i) {
tooltipType = d3.select(this.parentNode).attr('class')
//console.log(d.data[tooltipType]);
tooltipDiv.transition()
//.duration(200)
.style("opacity", .9);
tooltipDiv.html(tooltipType + "<br/>" + formatTime(d.data.year) + ': ' + d.data[tooltipType] + '%')
.style("left", (d3.event.pageX + 5) + "px")
.style("top", (d3.event.pageY - 38) + "px");
})
.on("mouseout", function(d) {
tooltipDiv.transition()
.duration(500)
.style("opacity", 0)
})
.style('opacity', 0)
.transition().delay(barTransition)
.style('opacity', 1);
//net line for thisType
drawThisLine(gdpLineDataset);
//new legend
d3.selectAll('.legend').classed('hidden', true);
var legendVals = thisKeys
//var legendVals = dataset.columns.slice(1); DYNAMIC LEGEND, not using because current column headers not pretty
wLegend = w * 0.55;
hLegend = h * 0.05;
var legend = svg.selectAll('.thisLegend')
.data(legendVals)
.enter()
.append('g')
.attr("class", "thisLegend")
.attr("transform", function(d, i) { { return "translate(0," + i * 20 + ")" } })
legend.append('rect')
.attr("x", wLegend)
.attr("y", hLegend + 30)
.attr("width", 12)
.attr("height", 12)
.style("fill", function(d, i) {
return colors(i)
})
legend.append('text')
.attr("x", wLegend + 20)
.attr("y", hLegend + 42)
//.attr("dy", ".35em")
.text(function(d, i) {
return d
})
.attr("class", "textselected")
});
});
//create axes
svg.append('g')
.attr('class', 'axis x')
.attr('transform', 'translate(0,' + (h - margin.bottom) + ')')
.call(xAxis)
.style('font-size', 14)
.select('.domain').attr('transform', 'translate(' +
0 + ',' + (yScale(0) - (h - margin.bottom)) + ')');
svg.append('g')
.attr('class', 'axis yl')
.attr('transform', 'translate(' + margin.left + ',0)')
.call(yAxisL)
.style('font-size', 14);
svg.append('g')
.attr('class', 'axis yr')
.attr('transform', 'translate(' + (w - margin.right) + ',0)')
.call(yAxisR)
.style('font-size', 14);
svg.append('g')
.attr('class', 'axis ygrid')
.attr('transform', 'translate(' + margin.left + ',0)')
.call(yAxisGrid)
.style('opacity', .2);
// Define the div for the tooltip
var tooltipDiv = d3.select("body").append("div")
.attr("class", "tooltip")
.style("opacity", 0);
};
function drawGdpLine(data) {
//define line
line = d3.line()
.x(function(d) { return xScale(d.year) + (xScale.bandwidth() / 2); })
.y(function(d) { return yScale(d.gdp); })
.curve(d3.curveMonotoneX);
//create line
svg.append("path")
.datum(data)
.attr("id", "line")
.attr("d", line)
.style('fill', 'none')
.style('stroke', 'black')
.style('stroke-width', 3);
};
function drawThisLine(data) {
//define line
thisLine = d3.line()
.x(function(d) { return xScale(d.year) + (xScale.bandwidth() / 2); })
.y(function(d) { return yScale(d[thisType]); })
.curve(d3.curveMonotoneX);
//create line
svg.append("path")
.datum(data)
.attr("id", 'thisLine')
.attr("d", thisLine)
.style('fill', 'none')
.style('stroke', 'black')
.style('stroke-width', 3)
.style('opacity', 0)
.transition().delay(barTransition).duration(500)
.style('opacity', 1);
};
function drawBackbutton(data, series, keys) {
//Create back button
var backButton = svg.append("g")
.attr("id", "backButton")
.style("opacity", 0) //Initially hidden
.classed("unclickable", true) //Initially not clickable
.attr("transform", "translate(" + xScale.range()[0] + "," + yScale.range()[1] + ")");
backButton.append("rect")
.attr("x", 15)
.attr("y", -30)
.attr("rx", 5)
.attr("rx", 5)
.attr("width", 70)
.attr("height", 30);
backButton.append("text")
.attr("x", 22)
.attr("y", -10)
.html("&larr; Back");
//Define click behavior
backButton.on("click", function() {
viewState = 0
toggleBackButton();
//Set y scale back to original domain
yScale = d3.scaleLinear()
.domain([d3.min(series, stackMin), d3.max(series, stackMax)])
.range([h - margin.bottom, margin.top])
.nice();
//transition bars
thisKeys.forEach(function(key, key_index) {
var bars = svg.selectAll(".thisBar-" + key)
.data(thisSeries[key_index])
.transition().duration(barTransition)
.attr("y", function(d) {
return yScale(d[1]);
})
.attr("height", function(d) { return yScale(d[0]) - yScale(d[1]); })
.style('opacity', 0);
});
d3.selectAll('#bars').transition().duration(barTransition).remove();
//update y axes
yAxisR = d3.axisRight()
.scale(yScale)
.ticks(8)
.tickSizeOuter(0);
yAxisL = d3.axisLeft()
.scale(yScale)
.ticks(8)
.tickSizeOuter(0);
yAxisGrid = d3.axisLeft()
.scale(yScale)
.ticks(8)
.tickSizeOuter(0)
.tickSizeInner(-w + margin.left + margin.right)
.tickFormat("");
svg.select(".axis.yl")
.transition().duration(barTransition)
.call(yAxisL);
svg.select(".axis.yr")
.transition().duration(barTransition)
.call(yAxisR);
svg.select(".axis.ygrid")
.transition().duration(barTransition)
.call(yAxisGrid);
svg.select(".axis.x")
.transition().duration(barTransition)
.select('.domain').attr('transform', 'translate(' +
0 + ',' + (yScale(0) - (h - margin.bottom)) + ')');
//transition bars
keys.forEach(function(key, key_index) {
var bars = svg.selectAll(".bar-" + key)
.data(series[key_index])
.transition().duration(barTransition)
.style('opacity', 1)
.attr("y", function(d) {
return yScale(d[1]);
})
.attr("height", function(d) { return yScale(d[0]) - yScale(d[1]); })
});
//original legend
d3.selectAll('.thisLegend').remove();
d3.selectAll('.legend').classed('hidden', false);
//remove thisLine
d3.select('#thisLine').remove();
//original gdp line
d3.select('#line').transition().duration(barTransition * 2).style("opacity", 1);
});
};
function drawLegend(data) {
wLegend = w * 0.55;
hLegend = h * 0.05;
var legend = svg.selectAll('.legend')
.data(data)
.enter()
.append('g')
.attr("class", "legend")
.attr("transform", function(d, i) {
{
return "translate(0," + i * 20 + ")"
}
});
legend.append('rect')
.attr("x", wLegend)
.attr("y", hLegend + 30)
.attr("width", 12)
.attr("height", 12)
.style("fill", function(d, i) {
return colors(i)
})
legend.append('text')
.attr("x", wLegend + 20)
.attr("y", hLegend + 42)
//.attr("dy", ".35em")
.text(function(d, i) {
return d
})
.attr("class", "textselected")
}
function toggleBackButton() {
//Select the button
var backButton = d3.select("#backButton");
//Decide whether to reveal or hide it
if (viewState == 1) {
//Reveal it
//Set up dynamic button text
var buttonText = "&larr; Back";
//Set text
backButton.select("text").html(buttonText);
//Resize button depending on text width
var rectWidth = Math.round(backButton.select("text").node().getBBox().width + 16);
backButton.select("rect").attr("width", rectWidth);
//Fade button in
backButton.classed("unclickable", false)
.transition()
.duration(500)
.style("opacity", 1);
} else {
//Hide it
backButton.classed("unclickable", true)
.transition()
.duration(200)
.style("opacity", 0);
}
};
function stackMin(serie) {
return d3.min(serie, function(d) { return d[0]; });
};
function stackMax(serie) {
return d3.max(serie, function(d) { return d[1]; });
};
// % label for the y axis
svg.append("text")
//.attr("x", margin.left / 2)
//.attr("y", h / 2)
.style("text-anchor", "middle")
.text("%")
.attr('class', 'axis text')
.attr("transform", "translate(" + margin.left / 4 + "," +
h / 2 + ") rotate(0)")
.style('font-weight', 'bold')
.style('pointer-events', 'none');
// source
svg.append("text")
.style("text-anchor", "middle")
.attr('class', 'textselected')
.text("Source: U.S. Bureau of Economic Analysis")
.attr("transform", "translate(" + (w * 0.75) + "," +
(h * 0.925) + ") rotate(0)")
.style('pointer-events', 'none');
year personal_consumption gross_private_domestic_inv net_trade gov_consumption_and_gross_inv
1950 4.2 5.68 -1.28 0.11
1951 1 0.05 0.79 6.22
1952 1.9 -1.44 -0.57 4.18
1953 2.85 0.87 -0.68 1.65
1954 1.25 -0.61 0.39 -1.6
1955 4.5 3.44 -0.04 -0.78
1956 1.77 -0.05 0.36 0.05
1957 1.49 -0.64 0.24 1.01
1958 0.52 -1.16 -0.87 0.77
1959 3.49 2.82 0 0.59
1960 1.67 0.06 0.7 0.14
1961 1.26 0.05 0.05 1.19
1962 3 1.82 -0.21 1.5
1963 2.47 1.08 0.23 0.57
1964 3.56 1.27 0.35 0.58
1965 3.79 2.26 -0.29 0.74
1966 3.37 1.56 -0.28 1.94
1967 1.76 -0.62 -0.21 1.82
1968 3.38 0.99 -0.29 0.83
1969 2.21 0.93 -0.03 0.04
1970 1.39 -1.03 0.33 -0.49
1971 2.29 1.63 -0.18 -0.44
1972 3.67 1.9 -0.19 -0.11
1973 2.97 1.95 0.79 -0.07
1974 -0.5 -1.24 0.73 0.49
1975 1.36 -2.9 0.86 0.49
1976 3.41 2.91 -1.05 0.12
1977 2.59 2.47 -0.7 0.26
1978 2.69 2.21 0.04 0.61
1979 1.44 0.71 0.64 0.38
1980 -0.19 -2.07 1.64 0.38
1981 0.91 1.63 -0.15 0.2
1982 0.86 -2.55 -0.59 0.38
1983 3.54 1.6 -1.32 0.81
1984 3.32 4.73 -1.54 0.76
1985 3.25 -0.01 -0.39 1.38
1986 2.63 0.03 -0.29 1.14
1987 2.14 0.53 0.17 0.63
1988 2.66 0.45 0.81 0.28
1989 1.86 0.72 0.51 0.59
1990 1.31 -0.45 0.4 0.66
1991 0.15 -1.09 0.62 0.25
1992 2.38 1.11 -0.04 0.11
1993 2.24 1.23 -0.56 -0.17
1994 2.52 1.9 -0.4 0.02
1995 1.94 0.55 0.12 0.1
1996 2.28 1.49 -0.15 0.18
1997 2.45 2 -0.31 0.35
1998 3.45 1.76 -1.13 0.38
1999 3.44 1.6 -0.97 0.61
2000 3.32 1.25 -0.82 0.34
2001 1.71 -1.19 -0.22 0.67
2002 1.72 -0.11 -0.64 0.81
2003 2.1 0.71 -0.42 0.42
2004 2.59 1.55 -0.66 0.31
2005 2.36 1.2 -0.34 0.12
2006 2.04 0.42 -0.08 0.29
2007 1.5 -0.61 0.58 0.3
2008 -0.23 -1.71 1.11 0.54
2009 -1.08 -3.52 1.19 0.64
2010 1.32 1.66 -0.46 0.02
2011 1.55 0.73 -0.02 -0.65
2012 1.01 1.52 0.08 -0.38
2013 1 0.95 0.29 -0.56
2014 1.95 0.9 -0.16 -0.12
2015 2.47 0.87 -0.73 0.25
2016 1.86 -0.28 -0.23 0.13
2017 1.89 0.54 -0.18 0.02
year National_defense Nondefense State_and_local
1950 -0.03 -0.43 0.58
1951 6.49 -0.33 0.06
1952 3.84 0.22 0.11
1953 0.93 0.39 0.33
1954 -2.09 -0.11 0.59
1955 -1.2 -0.11 0.54
1956 -0.06 -0.13 0.25
1957 0.55 0 0.47
1958 0 0.07 0.69
1959 -0.35 0.64 0.3
1960 -0.09 -0.15 0.38
1961 0.56 0.09 0.54
1962 0.76 0.47 0.28
1963 -0.26 0.29 0.54
1964 -0.34 0.29 0.63
1965 -0.14 0.24 0.63
1966 1.23 0.11 0.61
1967 1.27 0.06 0.5
1968 0.18 0.04 0.62
1969 -0.44 0.11 0.37
1970 -0.83 0.03 0.31
1971 -0.97 0.17 0.36
1972 -0.59 0.22 0.26
1973 -0.4 0.01 0.32
1974 -0.07 0.14 0.42
1975 -0.07 0.12 0.43
1976 -0.03 0.05 0.1
1977 0.06 0.15 0.04
1978 0.05 0.19 0.37
1979 0.16 0.05 0.16
1980 0.23 0.16 -0.02
1981 0.4 0.03 -0.23
1982 0.48 -0.11 0.01
1983 0.53 0.14 0.14
1984 0.39 -0.04 0.41
1985 0.64 0.16 0.59
1986 0.52 0.09 0.53
1987 0.38 0.01 0.24
1988 -0.02 -0.12 0.42
1989 -0.02 0.18 0.43
1990 0.02 0.18 0.46
1991 -0.07 0.06 0.25
1992 -0.3 0.16 0.24
1993 -0.31 0 0.14
1994 -0.28 -0.02 0.32
1995 -0.21 0 0.31
1996 -0.08 -0.01 0.27
1997 -0.13 0.07 0.4
1998 -0.09 0.03 0.44
1999 0.06 0.07 0.49
2000 -0.04 0.05 0.32
2001 0.13 0.11 0.43
2002 0.28 0.18 0.35
2003 0.36 0.11 -0.05
2004 0.27 0.05 -0.02
2005 0.09 0.03 0
2006 0.09 0.09 0.11
2007 0.11 0.01 0.18
2008 0.36 0.14 0.04
2009 0.27 0.17 0.2
2010 0.18 0.19 -0.35
2011 -0.13 -0.11 -0.41
2012 -0.18 0.03 -0.22
2013 -0.34 -0.12 -0.09
2014 -0.18 0.01 0.06
2015 -0.09 0.09 0.26
2016 -0.03 0.03 0.13
2017 0.01 0 0.01
year Fixed_investment Change_in_private_inventories
1950 2.9 2.78
1951 -0.69 0.74
1952 -0.1 -1.34
1953 1.14 -0.27
1954 0.28 -0.89
1955 1.94 1.5
1956 0.23 -0.28
1957 -0.11 -0.53
1958 -0.98 -0.17
1959 1.99 0.83
1960 0.19 -0.13
1961 0.1 -0.05
1962 1.26 0.55
1963 1.15 -0.07
1964 1.39 -0.12
1965 1.62 0.64
1966 1 0.56
1967 -0.15 -0.47
1968 1.08 -0.09
1969 0.93 0
1970 -0.33 -0.7
1971 1.07 0.56
1972 1.84 0.06
1973 1.47 0.48
1974 -0.98 -0.26
1975 -1.67 -1.23
1976 1.54 1.37
1977 2.23 0.24
1978 2.09 0.12
1979 1.11 -0.4
1980 -1.18 -0.89
1981 0.5 1.13
1982 -1.25 -1.3
1983 1.32 0.28
1984 2.83 1.9
1985 1.02 -1.03
1986 0.34 -0.31
1987 0.11 0.41
1988 0.58 -0.13
1989 0.55 0.17
1990 -0.25 -0.21
1991 -0.84 -0.25
1992 0.83 0.28
1993 1.16 0.07
1994 1.29 0.61
1995 1 -0.44
1996 1.48 0.02
1997 1.48 0.52
1998 1.8 -0.04
1999 1.62 -0.02
2000 1.31 -0.05
2001 -0.3 -0.89
2002 -0.64 0.53
2003 0.69 0.02
2004 1.18 0.37
2005 1.24 -0.04
2006 0.37 0.04
2007 -0.37 -0.23
2008 -1.22 -0.49
2009 -2.77 -0.76
2010 0.21 1.45
2011 0.86 -0.14
2012 1.38 0.14
2013 0.76 0.19
2014 0.97 -0.07
2015 0.64 0.23
2016 0.12 -0.4
2017 0.65 -0.11
year gdp personal_consumption gross_private_domestic_inv net_trade gov_consumption_and_gross_inv
1950 8.7 4.2 5.68 -1.28 0.11
1951 8.1 1 0.05 0.79 6.22
1952 4.1 1.9 -1.44 -0.57 4.18
1953 4.7 2.85 0.87 -0.68 1.65
1954 -0.6 1.25 -0.61 0.39 -1.6
1955 7.1 4.5 3.44 -0.04 -0.78
1956 2.1 1.77 -0.05 0.36 0.05
1957 2.1 1.49 -0.64 0.24 1.01
1958 -0.7 0.52 -1.16 -0.87 0.77
1959 6.9 3.49 2.82 0 0.59
1960 2.6 1.67 0.06 0.7 0.14
1961 2.6 1.26 0.05 0.05 1.19
1962 6.1 3 1.82 -0.21 1.5
1963 4.4 2.47 1.08 0.23 0.57
1964 5.8 3.56 1.27 0.35 0.58
1965 6.5 3.79 2.26 -0.29 0.74
1966 6.6 3.37 1.56 -0.28 1.94
1967 2.7 1.76 -0.62 -0.21 1.82
1968 4.9 3.38 0.99 -0.29 0.83
1969 3.1 2.21 0.93 -0.03 0.04
1970 0.2 1.39 -1.03 0.33 -0.49
1971 3.3 2.29 1.63 -0.18 -0.44
1972 5.2 3.67 1.9 -0.19 -0.11
1973 5.6 2.97 1.95 0.79 -0.07
1974 -0.5 -0.5 -1.24 0.73 0.49
1975 -0.2 1.36 -2.9 0.86 0.49
1976 5.4 3.41 2.91 -1.05 0.12
1977 4.6 2.59 2.47 -0.7 0.26
1978 5.6 2.69 2.21 0.04 0.61
1979 3.2 1.44 0.71 0.64 0.38
1980 -0.2 -0.19 -2.07 1.64 0.38
1981 2.6 0.91 1.63 -0.15 0.2
1982 -1.9 0.86 -2.55 -0.59 0.38
1983 4.6 3.54 1.6 -1.32 0.81
1984 7.3 3.32 4.73 -1.54 0.76
1985 4.2 3.25 -0.01 -0.39 1.38
1986 3.5 2.63 0.03 -0.29 1.14
1987 3.5 2.14 0.53 0.17 0.63
1988 4.2 2.66 0.45 0.81 0.28
1989 3.7 1.86 0.72 0.51 0.59
1990 1.9 1.31 -0.45 0.4 0.66
1991 -0.1 0.15 -1.09 0.62 0.25
1992 3.6 2.38 1.11 -0.04 0.11
1993 2.7 2.24 1.23 -0.56 -0.17
1994 4 2.52 1.9 -0.4 0.02
1995 2.7 1.94 0.55 0.12 0.1
1996 3.8 2.28 1.49 -0.15 0.18
1997 4.5 2.45 2 -0.31 0.35
1998 4.5 3.45 1.76 -1.13 0.38
1999 4.7 3.44 1.6 -0.97 0.61
2000 4.1 3.32 1.25 -0.82 0.34
2001 1 1.71 -1.19 -0.22 0.67
2002 1.8 1.72 -0.11 -0.64 0.81
2003 2.8 2.1 0.71 -0.42 0.42
2004 3.8 2.59 1.55 -0.66 0.31
2005 3.3 2.36 1.2 -0.34 0.12
2006 2.7 2.04 0.42 -0.08 0.29
2007 1.8 1.5 -0.61 0.58 0.3
2008 -0.3 -0.23 -1.71 1.11 0.54
2009 -2.8 -1.08 -3.52 1.19 0.64
2010 2.5 1.32 1.66 -0.46 0.02
2011 1.6 1.55 0.73 -0.02 -0.65
2012 2.2 1.01 1.52 0.08 -0.38
2013 1.7 1 0.95 0.29 -0.56
2014 2.6 1.95 0.9 -0.16 -0.12
2015 2.9 2.47 0.87 -0.73 0.25
2016 1.5 1.86 -0.28 -0.23 0.13
2017 2.3 1.89 0.54 -0.18 0.02
year Exports Imports
1950 -0.65 -0.63
1951 0.96 -0.16
1952 -0.21 -0.36
1953 -0.3 -0.38
1954 0.19 0.2
1955 0.43 -0.47
1956 0.69 -0.33
1957 0.41 -0.17
1958 -0.67 -0.19
1959 0.44 -0.44
1960 0.75 -0.06
1961 0.03 0.03
1962 0.25 -0.45
1963 0.34 -0.11
1964 0.57 -0.22
1965 0.14 -0.44
1966 0.35 -0.63
1967 0.12 -0.33
1968 0.39 -0.68
1969 0.25 -0.28
1970 0.54 -0.21
1971 0.1 -0.28
1972 0.42 -0.61
1973 1.08 -0.28
1974 0.56 0.17
1975 -0.05 0.91
1976 0.36 -1.4
1977 0.19 -0.89
1978 0.8 -0.76
1979 0.8 -0.16
1980 0.95 0.69
1981 0.12 -0.27
1982 -0.71 0.12
1983 -0.21 -1.1
1984 0.61 -2.15
1985 0.24 -0.63
1986 0.53 -0.82
1987 0.76 -0.59
1988 1.22 -0.41
1989 0.97 -0.46
1990 0.78 -0.37
1991 0.6 0.01
1992 0.66 -0.7
1993 0.31 -0.87
1994 0.84 -1.24
1995 1.02 -0.89
1996 0.86 -1.01
1997 1.26 -1.57
1998 0.25 -1.39
1999 0.27 -1.24
2000 0.88 -1.7
2001 -0.61 0.4
2002 -0.16 -0.47
2003 0.16 -0.59
2004 0.89 -1.55
2005 0.61 -0.94
2006 0.9 -0.99
2007 0.99 -0.41
2008 0.67 0.44
2009 -1.07 2.26
2010 1.33 -1.79
2011 0.87 -0.89
2012 0.46 -0.38
2013 0.47 -0.18
2014 0.58 -0.74
2015 0.05 -0.78
2016 -0.04 -0.19
2017 0.4 -0.58
year Goods Services
1950 3.06 1.14
1951 -0.47 1.47
1952 0.81 1.09
1953 1.8 1.05
1954 0.37 0.89
1955 3.16 1.34
1956 0.52 1.25
1957 0.58 0.91
1958 -0.34 0.87
1959 2.1 1.39
1960 0.58 1.09
1961 0.21 1.05
1962 1.63 1.38
1963 1.25 1.23
1964 1.85 1.72
1965 2.18 1.61
1966 1.95 1.42
1967 0.6 1.16
1968 1.85 1.52
1969 0.92 1.29
1970 0.23 1.16
1971 1.23 1.06
1972 1.9 1.77
1973 1.51 1.46
1974 -1.08 0.59
1975 0.2 1.16
1976 2.02 1.39
1977 1.24 1.34
1978 1.18 1.51
1979 0.45 0.99
1980 -0.72 0.53
1981 0.33 0.58
1982 0.19 0.67
1983 1.69 1.85
1984 1.91 1.4
1985 1.37 1.88
1986 1.45 1.19
1987 0.47 1.67
1988 0.95 1.71
1989 0.64 1.22
1990 0.16 1.16
1991 -0.49 0.64
1992 0.76 1.62
1993 0.99 1.25
1994 1.25 1.27
1995 0.71 1.23
1996 1.06 1.22
1997 1.12 1.33
1998 1.54 1.91
1999 1.82 1.62
2000 1.22 2.09
2001 0.71 1
2002 0.91 0.81
2003 1.14 0.97
2004 1.19 1.39
2005 0.96 1.4
2006 0.85 1.19
2007 0.63 0.87
2008 -0.58 0.35
2009 -0.68 -0.4
2010 0.77 0.55
2011 0.71 0.84
2012 0.63 0.38
2013 0.71 0.28
2014 0.88 1.07
2015 1.03 1.44
2016 0.81 1.05
2017 0.85 1.05
<!DOCTYPE HTML>
<html>
<head>
<title>US Federal Budget Balance, 1968-2017</title>
<meta charset="utf-8" />
<meta name="viewport" content="width=960" />
<script src="d3.min.js"></script>
<style type="text/css">
h1 {
font-family: Helvetica, sans-serif;
font-size: 30px;
font-weight: bold;
padding-left: 50px;
color: black;
}
.hidden {
display: none;
}
.axis {
stroke-width: 1.5;
pointer-events: none;
}
.axis text {
font: 16px arial;
}
.textselected {
font: 16px arial;
pointer-events: none;
text-anchor: start;
}
#indivBars:hover {
stroke: black;
stroke-width: 3;
}
div.tooltip {
position: absolute;
text-align: center;
width: auto;
height: auto;
padding: 2px;
font: 16px sans-serif;
background: white;
border: 0px;
border-radius: 8px;
pointer-events: none;
color: black;
}
#backButton {
cursor: pointer;
}
#backButton rect {
fill: rgb(175, 240, 91);
}
#backButton text {
font-family: Helvetica, sans-serif;
font-weight: bold;
font-size: 14px;
fill: black;
}
#backButton:hover rect {
fill: rgb(26, 199, 194);
}
#backButton:hover text {
fill: white;
}
.unclickable {
pointer-events: none;
}
</style>
</head>
<body>
<div id="container" class="container">
<div class="legend">
<div class="legend"></div>
</div>
<script src="gdp.js"></script>
</body>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment