@mhg/blog
Version:
1 lines • 170 kB
HTML
<!DOCTYPE html><html lang="zh-cn"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>Fourier Transform Cat</title><style>body,html{height:100%;width:100%;overflow:hidden}*{padding:0;margin:0}.axis{stroke:#b3b3b3}.helperx,.helpery{stroke:#4d4d4d}.trace{fill:none;stroke:#4682b4;stroke-width:2px}.helperXPath,.helperYPath{fill:none;stroke:rgba(70,130,180,0.5);stroke-width:2px}.helperXDot,.helperYDot{fill:#4682b4}.circleGroup .circle{fill:none;stroke:#b3b3b3}.circleGroup:first-of-type .circle{fill:none;stroke:#4d4d4d}.circleGroup .dot{fill:rgba(25,73,112,0.2)}.circleGroup .line{stroke:gray}#dot{position:absolute;background:0 0}@keyframes svg-animation{from{offset-distance:0%}to{offset-distance:100%}}</style></head><body><script>!function(){function n(n){return n&&(n.ownerDocument||n.document||n).documentElement}function t(n){return n&&(n.ownerDocument&&n.ownerDocument.defaultView||n.document&&n||n.defaultView)}function e(n,t){return t>n?-1:n>t?1:n>=t?0:NaN}function r(n){return null===n?NaN:+n}function i(n){return!isNaN(n)}function u(n){return{left:function(t,e,r,i){for(arguments.length<3&&(r=0),arguments.length<4&&(i=t.length);i>r;){var u=r+i>>>1;n(t[u],e)<0?r=u+1:i=u}return r},right:function(t,e,r,i){for(arguments.length<3&&(r=0),arguments.length<4&&(i=t.length);i>r;){var u=r+i>>>1;n(t[u],e)>0?i=u:r=u+1}return r}}}function o(n){return n.length}function a(n,t){for(var e in t)Object.defineProperty(n.prototype,e,{value:t[e],enumerable:!1})}function l(){this._=Object.create(null)}function c(n){return(n+="")===Su||n[0]===ku?ku+n:n}function f(n){return(n+="")[0]===ku?n.slice(1):n}function s(n){return c(n)in this._}function h(n){return(n=c(n))in this._&&delete this._[n]}function p(){var n=[];for(var t in this._)n.push(f(t));return n}function g(){var n=0;for(var t in this._)++n;return n}function v(){for(var n in this._)return!1;return!0}function d(){this._=Object.create(null)}function y(n){return n}function m(n,t,e){return function(){var r=e.apply(t,arguments);return r===t?n:r}}function M(n,t){if(t in n)return t;t=t.charAt(0).toUpperCase()+t.slice(1);for(var e=0,r=Nu.length;r>e;++e){var i=Nu[e]+t;if(i in n)return i}}function x(){}function b(){}function _(n){function t(){for(var t,r=e,i=-1,u=r.length;++i<u;)(t=r[i].on)&&t.apply(this,arguments);return n}var e=[],r=new l;return t.on=function(t,i){var u,o=r.get(t);return arguments.length<2?o&&o.on:(o&&(o.on=null,e=e.slice(0,u=e.indexOf(o)).concat(e.slice(u+1)),r.remove(t)),i&&e.push(r.set(t,{on:i})),n)},t}function w(){pu.event.preventDefault()}function S(){for(var n,t=pu.event;n=t.sourceEvent;)t=n;return t}function k(n){for(var t=new b,e=0,r=arguments.length;++e<r;)t[arguments[e]]=_(t);return t.of=function(e,r){return function(i){try{var u=i.sourceEvent=pu.event;i.target=n,pu.event=i,t[i.type].apply(e,r)}finally{pu.event=u}}},t}function N(n){return Au(n,qu),n}function E(n){return"function"==typeof n?n:function(){return Cu(n,this)}}function A(n){return"function"==typeof n?n:function(){return zu(n,this)}}function C(n,t){return n=pu.ns.qualify(n),null==t?n.local?function(){this.removeAttributeNS(n.space,n.local)}:function(){this.removeAttribute(n)}:"function"==typeof t?n.local?function(){var e=t.apply(this,arguments);null==e?this.removeAttributeNS(n.space,n.local):this.setAttributeNS(n.space,n.local,e)}:function(){var e=t.apply(this,arguments);null==e?this.removeAttribute(n):this.setAttribute(n,e)}:n.local?function(){this.setAttributeNS(n.space,n.local,t)}:function(){this.setAttribute(n,t)}}function z(n){return n.trim().replace(/\s+/g," ")}function L(n){return new RegExp("(?:^|\\s+)"+pu.requote(n)+"(?:\\s+|$)","g")}function q(n){return(n+"").trim().split(/^|\s+/)}function T(n,t){var e=(n=q(n).map(R)).length;return"function"==typeof t?function(){for(var r=-1,i=t.apply(this,arguments);++r<e;)n[r](this,i)}:function(){for(var r=-1;++r<e;)n[r](this,t)}}function R(n){var t=L(n);return function(e,r){if(i=e.classList)return r?i.add(n):i.remove(n);var i=e.getAttribute("class")||"";r?(t.lastIndex=0,t.test(i)||e.setAttribute("class",z(i+" "+n))):e.setAttribute("class",z(i.replace(t," ")))}}function D(n,t,e){return null==t?function(){this.style.removeProperty(n)}:"function"==typeof t?function(){var r=t.apply(this,arguments);null==r?this.style.removeProperty(n):this.style.setProperty(n,r,e)}:function(){this.style.setProperty(n,t,e)}}function P(n,t){return null==t?function(){delete this[n]}:"function"==typeof t?function(){var e=t.apply(this,arguments);null==e?delete this[n]:this[n]=e}:function(){this[n]=t}}function U(n){return"function"==typeof n?n:(n=pu.ns.qualify(n)).local?function(){return this.ownerDocument.createElementNS(n.space,n.local)}:function(){var t=this.ownerDocument,e=this.namespaceURI;return e===Tu&&t.documentElement.namespaceURI===Tu?t.createElement(n):t.createElementNS(e,n)}}function j(){var n=this.parentNode;n&&n.removeChild(this)}function F(n){return{__data__:n}}function H(n){return function(){return Lu(this,n)}}function O(n){return arguments.length||(n=e),function(t,e){return t&&e?n(t.__data__,e.__data__):!t-!e}}function I(n,t){for(var e=0,r=n.length;r>e;e++)for(var i,u=n[e],o=0,a=u.length;a>o;o++)(i=u[o])&&t(i,o,e);return n}function Y(n){return Au(n,Du),n}function Z(n,t,e){function r(){var t=this[i];t&&(this.removeEventListener(n,t,t.$),delete this[i])}var i="__on"+n,u=n.indexOf("."),o=V;u>0&&(n=n.slice(0,u));var a=Pu.get(n);return a&&(n=a,o=X),u?t?function(){var u=o(t,vu(arguments));r.call(this),this.addEventListener(n,this[i]=u,u.$=e),u._=t}:r:t?x:function(){var t,e=new RegExp("^__on([^.]+)"+pu.requote(n)+"$");for(var r in this)if(t=r.match(e)){var i=this[r];this.removeEventListener(t[1],i,i.$),delete this[r]}}}function V(n,t){return function(e){var r=pu.event;pu.event=e,t[0]=this.__data__;try{n.apply(this,t)}finally{pu.event=r}}}function X(n,t){var e=V(n,t);return function(n){var t=this,r=n.relatedTarget;r&&(r===t||8&r.compareDocumentPosition(t))||e.call(t,n)}}function $(e){var r=".dragsuppress-"+ ++ju,i="click"+r,u=pu.select(t(e)).on("touchmove"+r,w).on("dragstart"+r,w).on("selectstart"+r,w);if(null==Uu&&(Uu=!("onselectstart"in e)&&M(e.style,"userSelect")),Uu){var o=n(e).style,a=o[Uu];o[Uu]="none"}return function(n){if(u.on(r,null),Uu&&(o[Uu]=a),n){var t=function(){u.on(i,null)};u.on(i,(function(){w(),t()}),!0),setTimeout(t,0)}}}function B(n,e){e.changedTouches&&(e=e.changedTouches[0]);var r=n.ownerSVGElement||n;if(r.createSVGPoint){var i=r.createSVGPoint();if(0>Fu){var u=t(n);if(u.scrollX||u.scrollY){var o=(r=pu.select("body").append("svg").style({position:"absolute",top:0,left:0,margin:0,padding:0,border:"none"},"important"))[0][0].getScreenCTM();Fu=!(o.f||o.e),r.remove()}}return Fu?(i.x=e.pageX,i.y=e.pageY):(i.x=e.clientX,i.y=e.clientY),[(i=i.matrixTransform(n.getScreenCTM().inverse())).x,i.y]}var a=n.getBoundingClientRect();return[e.clientX-a.left-n.clientLeft,e.clientY-a.top-n.clientTop]}function W(){return pu.event.changedTouches[0].identifier}function J(n){return n>0?1:0>n?-1:0}function G(n,t,e){return(t[0]-n[0])*(e[1]-n[1])-(t[1]-n[1])*(e[0]-n[0])}function K(n){return n>1?0:-1>n?Iu:Math.acos(n)}function Q(n){return n>1?Vu:-1>n?-Vu:Math.asin(n)}function nn(n){return((n=Math.exp(n))+1/n)/2}function tn(n){return(n=Math.sin(n/2))*n}function en(){}function rn(n,t,e){return this instanceof rn?(this.h=+n,this.s=+t,void(this.l=+e)):arguments.length<2?n instanceof rn?new rn(n.h,n.s,n.l):mn(""+n,Mn,rn):new rn(n,t,e)}function un(n,t,e){function r(n){return Math.round(255*function(n){return n>360?n-=360:0>n&&(n+=360),60>n?i+(u-i)*n/60:180>n?u:240>n?i+(u-i)*(240-n)/60:i}(n))}var i,u;return n=isNaN(n)?0:(n%=360)<0?n+360:n,t=isNaN(t)||0>t?0:t>1?1:t,i=2*(e=0>e?0:e>1?1:e)-(u=.5>=e?e*(1+t):e+t-e*t),new gn(r(n+120),r(n),r(n-120))}function on(n,t,e){return this instanceof on?(this.h=+n,this.c=+t,void(this.l=+e)):arguments.length<2?n instanceof on?new on(n.h,n.c,n.l):fn(n instanceof ln?n.l:(n=xn((n=pu.rgb(n)).r,n.g,n.b)).l,n.a,n.b):new on(n,t,e)}function an(n,t,e){return isNaN(n)&&(n=0),isNaN(t)&&(t=0),new ln(e,Math.cos(n*=Xu)*t,Math.sin(n)*t)}function ln(n,t,e){return this instanceof ln?(this.l=+n,this.a=+t,void(this.b=+e)):arguments.length<2?n instanceof ln?new ln(n.l,n.a,n.b):n instanceof on?an(n.h,n.c,n.l):xn((n=gn(n)).r,n.g,n.b):new ln(n,t,e)}function cn(n,t,e){var r=(n+16)/116,i=r+t/500,u=r-e/200;return new gn(pn(3.2404542*(i=sn(i)*to)-1.5371385*(r=sn(r)*eo)-.4985314*(u=sn(u)*ro)),pn(-.969266*i+1.8760108*r+.041556*u),pn(.0556434*i-.2040259*r+1.0572252*u))}function fn(n,t,e){return n>0?new on(Math.atan2(e,t)*$u,Math.sqrt(t*t+e*e),n):new on(NaN,NaN,n)}function sn(n){return n>.206893034?n*n*n:(n-4/29)/7.787037}function hn(n){return n>.008856?Math.pow(n,1/3):7.787037*n+4/29}function pn(n){return Math.round(255*(.00304>=n?12.92*n:1.055*Math.pow(n,1/2.4)-.055))}function gn(n,t,e){return this instanceof gn?(this.r=~~n,this.g=~~t,void(this.b=~~e)):arguments.length<2?n instanceof gn?new gn(n.r,n.g,n.b):mn(""+n,gn,un):new gn(n,t,e)}function vn(n){return new gn(n>>16,n>>8&255,255&n)}function dn(n){return vn(n)+""}function yn(n){return 16>n?"0"+Math.max(0,n).toString(16):Math.min(255,n).toString(16)}function mn(n,t,e){var r,i,u,o=0,a=0,l=0;if(r=/([a-z]+)\((.*)\)/.exec(n=n.toLowerCase()))switch(i=r[2].split(","),r[1]){case"hsl":return e(parseFloat(i[0]),parseFloat(i[1])/100,parseFloat(i[2])/100);case"rgb":return t(_n(i[0]),_n(i[1]),_n(i[2]))}return(u=oo.get(n))?t(u.r,u.g,u.b):(null==n||"#"!==n.charAt(0)||isNaN(u=parseInt(n.slice(1),16))||(4===n.length?(o=(3840&u)>>4,o|=o>>4,a=240&u,a|=a>>4,l=15&u,l|=l<<4):7===n.length&&(o=(16711680&u)>>16,a=(65280&u)>>8,l=255&u)),t(o,a,l))}function Mn(n,t,e){var r,i,u=Math.min(n/=255,t/=255,e/=255),o=Math.max(n,t,e),a=o-u,l=(o+u)/2;return a?(i=.5>l?a/(o+u):a/(2-o-u),r=n==o?(t-e)/a+(e>t?6:0):t==o?(e-n)/a+2:(n-t)/a+4,r*=60):(r=NaN,i=l>0&&1>l?0:r),new rn(r,i,l)}function xn(n,t,e){var r=hn((.4124564*(n=bn(n))+.3575761*(t=bn(t))+.1804375*(e=bn(e)))/to),i=hn((.2126729*n+.7151522*t+.072175*e)/eo);return ln(116*i-16,500*(r-i),200*(i-hn((.0193339*n+.119192*t+.9503041*e)/ro)))}function bn(n){return(n/=255)<=.04045?n/12.92:Math.pow((n+.055)/1.055,2.4)}function _n(n){var t=parseFloat(n);return"%"===n.charAt(n.length-1)?Math.round(2.55*t):t}function wn(n){return"function"==typeof n?n:function(){return n}}function Sn(n){return function(t,e,r){return 2===arguments.length&&"function"==typeof e&&(r=e,e=null),kn(t,e,n,r)}}function kn(n,t,e,r){function i(){var n,t=l.status;if(!t&&function(n){var t=n.responseType;return t&&"text"!==t?n.response:n.responseText}(l)||t>=200&&300>t||304===t){try{n=e.call(u,l)}catch(n){return void o.error.call(u,n)}o.load.call(u,n)}else o.error.call(u,l)}var u={},o=pu.dispatch("beforesend","progress","load","error"),a={},l=new XMLHttpRequest,c=null;return!this.XDomainRequest||"withCredentials"in l||!/^(http(s)?:)?\/\//.test(n)||(l=new XDomainRequest),"onload"in l?l.onload=l.onerror=i:l.onreadystatechange=function(){l.readyState>3&&i()},l.onprogress=function(n){var t=pu.event;pu.event=n;try{o.progress.call(u,l)}finally{pu.event=t}},u.header=function(n,t){return n=(n+"").toLowerCase(),arguments.length<2?a[n]:(null==t?delete a[n]:a[n]=t+"",u)},u.mimeType=function(n){return arguments.length?(t=null==n?null:n+"",u):t},u.responseType=function(n){return arguments.length?(c=n,u):c},u.response=function(n){return e=n,u},["get","post"].forEach((function(n){u[n]=function(){return u.send.apply(u,[n].concat(vu(arguments)))}})),u.send=function(e,r,i){if(2===arguments.length&&"function"==typeof r&&(i=r,r=null),l.open(e,n,!0),null==t||"accept"in a||(a.accept=t+",*/*"),l.setRequestHeader)for(var f in a)l.setRequestHeader(f,a[f]);return null!=t&&l.overrideMimeType&&l.overrideMimeType(t),null!=c&&(l.responseType=c),null!=i&&u.on("error",i).on("load",(function(n){i(null,n)})),o.beforesend.call(u,l),l.send(null==r?null:r),u},u.abort=function(){return l.abort(),u},pu.rebind(u,o,"on"),null==r?u:u.get(function(n){return 1===n.length?function(t,e){n(null==t?e:null)}:n}(r))}function Nn(n,t,e){var r=arguments.length;2>r&&(t=0),3>r&&(e=Date.now());var i={c:n,t:e+t,n:null};return lo?lo.n=i:ao=i,lo=i,co||(fo=clearTimeout(fo),co=1,so(En)),i}function En(){var n=An(),t=Cn()-n;t>24?(isFinite(t)&&(clearTimeout(fo),fo=setTimeout(En,t)),co=0):(co=1,so(En))}function An(){for(var n=Date.now(),t=ao;t;)n>=t.t&&t.c(n-t.t)&&(t.c=null),t=t.n;return n}function Cn(){for(var n,t=ao,e=1/0;t;)t.c?(t.t<e&&(e=t.t),t=(n=t).n):t=n?n.n=t.n:ao=t.n;return lo=n,e}function zn(n,t){return t-(n?Math.ceil(Math.log(n)/Math.LN10):1)}function Ln(n){var t=n.decimal,e=n.thousands,r=n.grouping,i=n.currency,u=r&&e?function(n,t){for(var i=n.length,u=[],o=0,a=r[0],l=0;i>0&&a>0&&(l+a+1>t&&(a=Math.max(1,t-l)),u.push(n.substring(i-=a,i+a)),!((l+=a+1)>t));)a=r[o=(o+1)%r.length];return u.reverse().join(e)}:y;return function(n){var e=po.exec(n),r=e[1]||" ",o=e[2]||">",a=e[3]||"-",l=e[4]||"",c=e[5],f=+e[6],s=e[7],h=e[8],p=e[9],g=1,v="",d="",y=!1,m=!0;switch(h&&(h=+h.substring(1)),(c||"0"===r&&"="===o)&&(c=r="0",o="="),p){case"n":s=!0,p="g";break;case"%":g=100,d="%",p="f";break;case"p":g=100,d="%",p="r";break;case"b":case"o":case"x":case"X":"#"===l&&(v="0"+p.toLowerCase());case"c":m=!1;case"d":y=!0,h=0;break;case"s":g=-1,p="r"}"$"===l&&(v=i[0],d=i[1]),"r"!=p||h||(p="g"),null!=h&&("g"==p?h=Math.max(1,Math.min(21,h)):"e"!=p&&"f"!=p||(h=Math.max(0,Math.min(20,h)))),p=go.get(p)||qn;var M=c&&s;return function(n){var e=d;if(y&&n%1)return"";var i=0>n||0===n&&0>1/n?(n=-n,"-"):"-"===a?"":a;if(0>g){var l=pu.formatPrefix(n,h);n=l.scale(n),e=l.symbol+d}else n*=g;var x,b,_=(n=p(n,h)).lastIndexOf(".");if(0>_){var w=m?n.lastIndexOf("e"):-1;0>w?(x=n,b=""):(x=n.substring(0,w),b=n.substring(w))}else x=n.substring(0,_),b=t+n.substring(_+1);!c&&s&&(x=u(x,1/0));var S=v.length+x.length+b.length+(M?0:i.length),k=f>S?new Array(S=f-S+1).join(r):"";return M&&(x=u(k+x,k.length?f-b.length:1/0)),i+=v,n=x+b,("<"===o?i+n+k:">"===o?k+i+n:"^"===o?k.substring(0,S>>=1)+i+n+k.substring(S):i+(M?n:k+n))+e}}}function qn(n){return n+""}function Tn(){this._=new Date(arguments.length>1?Date.UTC.apply(this,arguments):arguments[0])}function Rn(n,t,e){function r(t){var e=n(t),r=u(e,1);return r-t>t-e?e:r}function i(e){return t(e=n(new yo(e-1)),1),e}function u(n,e){return t(n=new yo(+n),e),n}function o(n,r,u){var o=i(n),a=[];if(u>1)for(;r>o;)e(o)%u||a.push(new Date(+o)),t(o,1);else for(;r>o;)a.push(new Date(+o)),t(o,1);return a}n.floor=n,n.round=r,n.ceil=i,n.offset=u,n.range=o;var a=n.utc=Dn(n);return a.floor=a,a.round=Dn(r),a.ceil=Dn(i),a.offset=Dn(u),a.range=function(n,t,e){try{yo=Tn;var r=new Tn;return r._=n,o(r,t,e)}finally{yo=Date}},n}function Dn(n){return function(t,e){try{yo=Tn;var r=new Tn;return r._=t,n(r,e)._}finally{yo=Date}}}function Pn(n){function t(n){function t(t){for(var e,i,u,o=[],a=-1,l=0;++a<r;)37===n.charCodeAt(a)&&(o.push(n.slice(l,a)),null!=(i=Mo[e=n.charAt(++a)])&&(e=n.charAt(++a)),(u=x[e])&&(e=u(t,null==i?"e"===e?" ":"0":i)),o.push(e),l=a+1);return o.push(n.slice(l,a)),o.join("")}var r=n.length;return t.parse=function(t){var r={y:1900,m:0,d:1,H:0,M:0,S:0,L:0,Z:null};if(e(r,n,t,0)!=t.length)return null;"p"in r&&(r.H=r.H%12+12*r.p);var i=null!=r.Z&&yo!==Tn,u=new(i?Tn:yo);return"j"in r?u.setFullYear(r.y,0,r.j):"W"in r||"U"in r?("w"in r||(r.w="W"in r?1:0),u.setFullYear(r.y,0,1),u.setFullYear(r.y,0,"W"in r?(r.w+6)%7+7*r.W-(u.getDay()+5)%7:r.w+7*r.U-(u.getDay()+6)%7)):u.setFullYear(r.y,r.m,r.d),u.setHours(r.H+(r.Z/100|0),r.M+r.Z%100,r.S,r.L),i?u._:u},t.toString=function(){return n},t}function e(n,t,e,r){for(var i,u,o,a=0,l=t.length,c=e.length;l>a;){if(r>=c)return-1;if(37===(i=t.charCodeAt(a++))){if(o=t.charAt(a++),!(u=b[o in Mo?t.charAt(a++):o])||(r=u(n,e,r))<0)return-1}else if(i!=e.charCodeAt(r++))return-1}return r}var r=n.dateTime,i=n.date,u=n.time,o=n.periods,a=n.days,l=n.shortDays,c=n.months,f=n.shortMonths;t.utc=function(n){function e(n){try{var t=new(yo=Tn);return t._=n,r(t)}finally{yo=Date}}var r=t(n);return e.parse=function(n){try{yo=Tn;var t=r.parse(n);return t&&t._}finally{yo=Date}},e.toString=r.toString,e},t.multi=t.utc.multi=tt;var s=pu.map(),h=jn(a),p=Fn(a),g=jn(l),v=Fn(l),d=jn(c),y=Fn(c),m=jn(f),M=Fn(f);o.forEach((function(n,t){s.set(n.toLowerCase(),t)}));var x={a:function(n){return l[n.getDay()]},A:function(n){return a[n.getDay()]},b:function(n){return f[n.getMonth()]},B:function(n){return c[n.getMonth()]},c:t(r),d:function(n,t){return Un(n.getDate(),t,2)},e:function(n,t){return Un(n.getDate(),t,2)},H:function(n,t){return Un(n.getHours(),t,2)},I:function(n,t){return Un(n.getHours()%12||12,t,2)},j:function(n,t){return Un(1+vo.dayOfYear(n),t,3)},L:function(n,t){return Un(n.getMilliseconds(),t,3)},m:function(n,t){return Un(n.getMonth()+1,t,2)},M:function(n,t){return Un(n.getMinutes(),t,2)},p:function(n){return o[+(n.getHours()>=12)]},S:function(n,t){return Un(n.getSeconds(),t,2)},U:function(n,t){return Un(vo.sundayOfYear(n),t,2)},w:function(n){return n.getDay()},W:function(n,t){return Un(vo.mondayOfYear(n),t,2)},x:t(i),X:t(u),y:function(n,t){return Un(n.getFullYear()%100,t,2)},Y:function(n,t){return Un(n.getFullYear()%1e4,t,4)},Z:Qn,"%":function(){return"%"}},b={a:function(n,t,e){g.lastIndex=0;var r=g.exec(t.slice(e));return r?(n.w=v.get(r[0].toLowerCase()),e+r[0].length):-1},A:function(n,t,e){h.lastIndex=0;var r=h.exec(t.slice(e));return r?(n.w=p.get(r[0].toLowerCase()),e+r[0].length):-1},b:function(n,t,e){m.lastIndex=0;var r=m.exec(t.slice(e));return r?(n.m=M.get(r[0].toLowerCase()),e+r[0].length):-1},B:function(n,t,e){d.lastIndex=0;var r=d.exec(t.slice(e));return r?(n.m=y.get(r[0].toLowerCase()),e+r[0].length):-1},c:function(n,t,r){return e(n,x.c.toString(),t,r)},d:$n,e:$n,H:Wn,I:Wn,j:Bn,L:Kn,m:Xn,M:Jn,p:function(n,t,e){var r=s.get(t.slice(e,e+=2).toLowerCase());return null==r?-1:(n.p=r,e)},S:Gn,U:On,w:Hn,W:In,x:function(n,t,r){return e(n,x.x.toString(),t,r)},X:function(n,t,r){return e(n,x.X.toString(),t,r)},y:Zn,Y:Yn,Z:Vn,"%":nt};return t}function Un(n,t,e){var r=0>n?"-":"",i=(r?-n:n)+"",u=i.length;return r+(e>u?new Array(e-u+1).join(t)+i:i)}function jn(n){return new RegExp("^(?:"+n.map(pu.requote).join("|")+")","i")}function Fn(n){for(var t=new l,e=-1,r=n.length;++e<r;)t.set(n[e].toLowerCase(),e);return t}function Hn(n,t,e){xo.lastIndex=0;var r=xo.exec(t.slice(e,e+1));return r?(n.w=+r[0],e+r[0].length):-1}function On(n,t,e){xo.lastIndex=0;var r=xo.exec(t.slice(e));return r?(n.U=+r[0],e+r[0].length):-1}function In(n,t,e){xo.lastIndex=0;var r=xo.exec(t.slice(e));return r?(n.W=+r[0],e+r[0].length):-1}function Yn(n,t,e){xo.lastIndex=0;var r=xo.exec(t.slice(e,e+4));return r?(n.y=+r[0],e+r[0].length):-1}function Zn(n,t,e){xo.lastIndex=0;var r=xo.exec(t.slice(e,e+2));return r?(n.y=function(n){return n+(n>68?1900:2e3)}(+r[0]),e+r[0].length):-1}function Vn(n,t,e){return/^[+-]\d{4}$/.test(t=t.slice(e,e+5))?(n.Z=-t,e+5):-1}function Xn(n,t,e){xo.lastIndex=0;var r=xo.exec(t.slice(e,e+2));return r?(n.m=r[0]-1,e+r[0].length):-1}function $n(n,t,e){xo.lastIndex=0;var r=xo.exec(t.slice(e,e+2));return r?(n.d=+r[0],e+r[0].length):-1}function Bn(n,t,e){xo.lastIndex=0;var r=xo.exec(t.slice(e,e+3));return r?(n.j=+r[0],e+r[0].length):-1}function Wn(n,t,e){xo.lastIndex=0;var r=xo.exec(t.slice(e,e+2));return r?(n.H=+r[0],e+r[0].length):-1}function Jn(n,t,e){xo.lastIndex=0;var r=xo.exec(t.slice(e,e+2));return r?(n.M=+r[0],e+r[0].length):-1}function Gn(n,t,e){xo.lastIndex=0;var r=xo.exec(t.slice(e,e+2));return r?(n.S=+r[0],e+r[0].length):-1}function Kn(n,t,e){xo.lastIndex=0;var r=xo.exec(t.slice(e,e+3));return r?(n.L=+r[0],e+r[0].length):-1}function Qn(n){var t=n.getTimezoneOffset(),e=t>0?"-":"+",r=wu(t)/60|0,i=wu(t)%60;return e+Un(r,"0",2)+Un(i,"0",2)}function nt(n,t,e){bo.lastIndex=0;var r=bo.exec(t.slice(e,e+1));return r?e+r[0].length:-1}function tt(n){for(var t=n.length,e=-1;++e<t;)n[e][0]=this(n[e][0]);return function(t){for(var e=0,r=n[e];!r[1](t);)r=n[++e];return r[0](t)}}function et(){}function rt(n,t,e){var r=e.s=n+t,i=r-n,u=r-i;e.t=n-u+(t-i)}function it(n,t){n&&ko.hasOwnProperty(n.type)&&ko[n.type](n,t)}function ut(n,t,e){var r,i=-1,u=n.length-e;for(t.lineStart();++i<u;)r=n[i],t.point(r[0],r[1],r[2]);t.lineEnd()}function ot(n,t){var e=-1,r=n.length;for(t.polygonStart();++e<r;)ut(n[e],t,1);t.polygonEnd()}function at(){function n(n,t){t=t*Xu/2+Iu/4;var e=(n*=Xu)-r,o=e>=0?1:-1,a=o*e,l=Math.cos(t),c=Math.sin(t),f=u*c,s=i*l+f*Math.cos(a),h=f*o*Math.sin(a);Eo.add(Math.atan2(h,s)),r=n,i=l,u=c}var t,e,r,i,u;Ao.point=function(o,a){Ao.point=n,r=(t=o)*Xu,i=Math.cos(a=(e=a)*Xu/2+Iu/4),u=Math.sin(a)},Ao.lineEnd=function(){n(t,e)}}function lt(n){var t=n[0],e=n[1],r=Math.cos(e);return[r*Math.cos(t),r*Math.sin(t),Math.sin(e)]}function ct(n,t){return n[0]*t[0]+n[1]*t[1]+n[2]*t[2]}function ft(n,t){return[n[1]*t[2]-n[2]*t[1],n[2]*t[0]-n[0]*t[2],n[0]*t[1]-n[1]*t[0]]}function st(n,t){n[0]+=t[0],n[1]+=t[1],n[2]+=t[2]}function ht(n,t){return[n[0]*t,n[1]*t,n[2]*t]}function pt(n){var t=Math.sqrt(n[0]*n[0]+n[1]*n[1]+n[2]*n[2]);n[0]/=t,n[1]/=t,n[2]/=t}function gt(n){return[Math.atan2(n[1],n[0]),Q(n[2])]}function vt(n,t){return wu(n[0]-t[0])<Hu&&wu(n[1]-t[1])<Hu}function dt(n,t){n*=Xu;var e=Math.cos(t*=Xu);yt(e*Math.cos(n),e*Math.sin(n),Math.sin(t))}function yt(n,t,e){++Co,Lo+=(n-Lo)/Co,qo+=(t-qo)/Co,To+=(e-To)/Co}function mt(){function n(n,i){n*=Xu;var u=Math.cos(i*=Xu),o=u*Math.cos(n),a=u*Math.sin(n),l=Math.sin(i),c=Math.atan2(Math.sqrt((c=e*l-r*a)*c+(c=r*o-t*l)*c+(c=t*a-e*o)*c),t*o+e*a+r*l);zo+=c,Ro+=c*(t+(t=o)),Do+=c*(e+(e=a)),Po+=c*(r+(r=l)),yt(t,e,r)}var t,e,r;Ho.point=function(i,u){i*=Xu;var o=Math.cos(u*=Xu);t=o*Math.cos(i),e=o*Math.sin(i),r=Math.sin(u),Ho.point=n,yt(t,e,r)}}function Mt(){Ho.point=dt}function xt(){function n(n,t){n*=Xu;var e=Math.cos(t*=Xu),o=e*Math.cos(n),a=e*Math.sin(n),l=Math.sin(t),c=i*l-u*a,f=u*o-r*l,s=r*a-i*o,h=Math.sqrt(c*c+f*f+s*s),p=r*o+i*a+u*l,g=h&&-K(p)/h,v=Math.atan2(h,p);Uo+=g*c,jo+=g*f,Fo+=g*s,zo+=v,Ro+=v*(r+(r=o)),Do+=v*(i+(i=a)),Po+=v*(u+(u=l)),yt(r,i,u)}var t,e,r,i,u;Ho.point=function(o,a){t=o,e=a,Ho.point=n,o*=Xu;var l=Math.cos(a*=Xu);r=l*Math.cos(o),i=l*Math.sin(o),u=Math.sin(a),yt(r,i,u)},Ho.lineEnd=function(){n(t,e),Ho.lineEnd=Mt,Ho.point=dt}}function bt(n,t){function e(e,r){return e=n(e,r),t(e[0],e[1])}return n.invert&&t.invert&&(e.invert=function(e,r){return(e=t.invert(e,r))&&n.invert(e[0],e[1])}),e}function _t(){return!0}function wt(n,t,e,r,i){var u=[],o=[];if(n.forEach((function(n){if(!((t=n.length-1)<=0)){var t,e=n[0],r=n[t];if(vt(e,r)){i.lineStart();for(var a=0;t>a;++a)i.point((e=n[a])[0],e[1]);return void i.lineEnd()}var l=new kt(e,n,null,!0),c=new kt(e,null,l,!1);l.o=c,u.push(l),o.push(c),l=new kt(r,n,null,!1),c=new kt(r,null,l,!0),l.o=c,u.push(l),o.push(c)}})),o.sort(t),St(u),St(o),u.length){for(var a=0,l=e,c=o.length;c>a;++a)o[a].e=l=!l;for(var f,s,h=u[0];;){for(var p=h,g=!0;p.v;)if((p=p.n)===h)return;f=p.z,i.lineStart();do{if(p.v=p.o.v=!0,p.e){if(g)for(a=0,c=f.length;c>a;++a)i.point((s=f[a])[0],s[1]);else r(p.x,p.n.x,1,i);p=p.n}else{if(g)for(a=(f=p.p.z).length-1;a>=0;--a)i.point((s=f[a])[0],s[1]);else r(p.x,p.p.x,-1,i);p=p.p}f=(p=p.o).z,g=!g}while(!p.v);i.lineEnd()}}}function St(n){if(t=n.length){for(var t,e,r=0,i=n[0];++r<t;)i.n=e=n[r],e.p=i,i=e;i.n=e=n[0],e.p=i}}function kt(n,t,e,r){this.x=n,this.z=t,this.o=e,this.e=r,this.v=!1,this.n=this.p=null}function Nt(n,t,e,r){return function(i,u){function o(t,e){var r=i(t,e);n(t=r[0],e=r[1])&&u.point(t,e)}function a(n,t){var e=i(n,t);d.point(e[0],e[1])}function l(){m.point=a,d.lineStart()}function c(){m.point=o,d.lineEnd()}function f(n,t){v.push([n,t]);var e=i(n,t);x.point(e[0],e[1])}function s(){x.lineStart(),v=[]}function h(){f(v[0][0],v[0][1]),x.lineEnd();var n,t=x.clean(),e=M.buffer(),r=e.length;if(v.pop(),g.push(v),v=null,r)if(1&t){var i,o=-1;if((r=(n=e[0]).length-1)>0){for(b||(u.polygonStart(),b=!0),u.lineStart();++o<r;)u.point((i=n[o])[0],i[1]);u.lineEnd()}}else r>1&&2&t&&e.push(e.pop().concat(e.shift())),p.push(e.filter(Et))}var p,g,v,d=t(u),y=i.invert(r[0],r[1]),m={point:o,lineStart:l,lineEnd:c,polygonStart:function(){m.point=f,m.lineStart=s,m.lineEnd=h,p=[],g=[]},polygonEnd:function(){m.point=o,m.lineStart=l,m.lineEnd=c,p=pu.merge(p);var n=function(n,t){var e=n[0],r=n[1],i=[Math.sin(e),-Math.cos(e),0],u=0,o=0;Eo.reset();for(var a=0,l=t.length;l>a;++a){var c=t[a],f=c.length;if(f)for(var s=c[0],h=s[0],p=s[1]/2+Iu/4,g=Math.sin(p),v=Math.cos(p),d=1;;){d===f&&(d=0);var y=(n=c[d])[0],m=n[1]/2+Iu/4,M=Math.sin(m),x=Math.cos(m),b=y-h,_=b>=0?1:-1,w=_*b,S=w>Iu,k=g*M;if(Eo.add(Math.atan2(k*_*Math.sin(w),v*x+k*Math.cos(w))),u+=S?b+_*Yu:b,S^h>=e^y>=e){var N=ft(lt(s),lt(n));pt(N);var E=ft(i,N);pt(E);var A=(S^b>=0?-1:1)*Q(E[2]);(r>A||r===A&&(N[0]||N[1]))&&(o+=S^b>=0?1:-1)}if(!d++)break;h=y,g=M,v=x,s=n}}return(-Hu>u||Hu>u&&-Hu>Eo)^1&o}(y,g);p.length?(b||(u.polygonStart(),b=!0),wt(p,Ct,n,e,u)):n&&(b||(u.polygonStart(),b=!0),u.lineStart(),e(null,null,1,u),u.lineEnd()),b&&(u.polygonEnd(),b=!1),p=g=null},sphere:function(){u.polygonStart(),u.lineStart(),e(null,null,1,u),u.lineEnd(),u.polygonEnd()}},M=At(),x=t(M),b=!1;return m}}function Et(n){return n.length>1}function At(){var n,t=[];return{lineStart:function(){t.push(n=[])},point:function(t,e){n.push([t,e])},lineEnd:x,buffer:function(){var e=t;return t=[],n=null,e},rejoin:function(){t.length>1&&t.push(t.pop().concat(t.shift()))}}}function Ct(n,t){return((n=n.x)[0]<0?n[1]-Vu-Hu:Vu-n[1])-((t=t.x)[0]<0?t[1]-Vu-Hu:Vu-t[1])}function zt(n,t,e,r){return function(i){var u,o=i.a,a=i.b,l=o.x,c=o.y,f=0,s=1,h=a.x-l,p=a.y-c;if(u=n-l,h||!(u>0)){if(u/=h,0>h){if(f>u)return;s>u&&(s=u)}else if(h>0){if(u>s)return;u>f&&(f=u)}if(u=e-l,h||!(0>u)){if(u/=h,0>h){if(u>s)return;u>f&&(f=u)}else if(h>0){if(f>u)return;s>u&&(s=u)}if(u=t-c,p||!(u>0)){if(u/=p,0>p){if(f>u)return;s>u&&(s=u)}else if(p>0){if(u>s)return;u>f&&(f=u)}if(u=r-c,p||!(0>u)){if(u/=p,0>p){if(u>s)return;u>f&&(f=u)}else if(p>0){if(f>u)return;s>u&&(s=u)}return f>0&&(i.a={x:l+f*h,y:c+f*p}),1>s&&(i.b={x:l+s*h,y:c+s*p}),i}}}}}}function Lt(n,t,e,r){function i(r,i){return wu(r[0]-n)<Hu?i>0?0:3:wu(r[0]-e)<Hu?i>0?2:1:wu(r[1]-t)<Hu?i>0?1:0:i>0?3:2}function u(n,t){return o(n.x,t.x)}function o(n,t){var e=i(n,1),r=i(t,1);return e!==r?e-r:0===e?t[1]-n[1]:1===e?n[0]-t[0]:2===e?n[1]-t[1]:t[0]-n[0]}return function(a){function l(u,a,l,c){var f=0,s=0;if(null==u||(f=i(u,l))!==(s=i(a,l))||o(u,a)<0^l>0)do{c.point(0===f||3===f?n:e,f>1?r:t)}while((f=(f+l+4)%4)!==s);else c.point(a[0],a[1])}function c(i,u){return i>=n&&e>=i&&u>=t&&r>=u}function f(n,t){c(n,t)&&a.point(n,t)}function s(n,t){var e=c(n=Math.max(-Io,Math.min(Io,n)),t=Math.max(-Io,Math.min(Io,t)));if(p&&g.push([n,t]),b)v=n,d=t,y=e,b=!1,e&&(a.lineStart(),a.point(n,t));else if(e&&x)a.point(n,t);else{var r={a:{x:m,y:M},b:{x:n,y:t}};k(r)?(x||(a.lineStart(),a.point(r.a.x,r.a.y)),a.point(r.b.x,r.b.y),e||a.lineEnd(),_=!1):e&&(a.lineStart(),a.point(n,t),_=!1)}m=n,M=t,x=e}var h,p,g,v,d,y,m,M,x,b,_,w=a,S=At(),k=zt(n,t,e,r),N={point:f,lineStart:function(){N.point=s,p&&p.push(g=[]),b=!0,x=!1,m=M=NaN},lineEnd:function(){h&&(s(v,d),y&&x&&S.rejoin(),h.push(S.buffer())),N.point=f,x&&a.lineEnd()},polygonStart:function(){a=S,h=[],p=[],_=!0},polygonEnd:function(){a=w,h=pu.merge(h);var t=function(n){for(var t=0,e=p.length,r=n[1],i=0;e>i;++i)for(var u,o=1,a=p[i],l=a.length,c=a[0];l>o;++o)u=a[o],c[1]<=r?u[1]>r&&G(c,u,n)>0&&++t:u[1]<=r&&G(c,u,n)<0&&--t,c=u;return 0!==t}([n,r]),e=_&&t,i=h.length;(e||i)&&(a.polygonStart(),e&&(a.lineStart(),l(null,null,1,a),a.lineEnd()),i&&wt(h,u,t,l,a),a.polygonEnd()),h=p=g=null}};return N}}function qt(n){var t=0,e=Iu/3,r=Xt(n),i=r(t,e);return i.parallels=function(n){return arguments.length?r(t=n[0]*Iu/180,e=n[1]*Iu/180):[t/Iu*180,e/Iu*180]},i}function Tt(n,t){function e(n,t){var e=Math.sqrt(u-2*i*Math.sin(t))/i;return[e*Math.sin(n*=i),o-e*Math.cos(n)]}var r=Math.sin(n),i=(r+Math.sin(t))/2,u=1+r*(2*i-r),o=Math.sqrt(u)/i;return e.invert=function(n,t){var e=o-t;return[Math.atan2(n,e)/i,Q((u-(n*n+e*e)*i*i)/(2*i))]},e}function Rt(){function n(n,t){Zo+=i*n-r*t,r=n,i=t}var t,e,r,i;Wo.point=function(u,o){Wo.point=n,t=r=u,e=i=o},Wo.lineEnd=function(){n(t,e)}}function Dt(){function n(n,t){o.push("M",n,",",t,u)}function t(n,t){o.push("M",n,",",t),a.point=e}function e(n,t){o.push("L",n,",",t)}function r(){a.point=n}function i(){o.push("Z")}var u=Pt(4.5),o=[],a={point:n,lineStart:function(){a.point=t},lineEnd:r,polygonStart:function(){a.lineEnd=i},polygonEnd:function(){a.lineEnd=r,a.point=n},pointRadius:function(n){return u=Pt(n),a},result:function(){if(o.length){var n=o.join("");return o=[],n}}};return a}function Pt(n){return"m0,"+n+"a"+n+","+n+" 0 1,1 0,"+-2*n+"a"+n+","+n+" 0 1,1 0,"+2*n+"z"}function Ut(n,t){Lo+=n,qo+=t,++To}function jt(){function n(n,r){var i=n-t,u=r-e,o=Math.sqrt(i*i+u*u);Ro+=o*(t+n)/2,Do+=o*(e+r)/2,Po+=o,Ut(t=n,e=r)}var t,e;Go.point=function(r,i){Go.point=n,Ut(t=r,e=i)}}function Ft(){Go.point=Ut}function Ht(){function n(n,t){var e=n-r,u=t-i,o=Math.sqrt(e*e+u*u);Ro+=o*(r+n)/2,Do+=o*(i+t)/2,Po+=o,Uo+=(o=i*n-r*t)*(r+n),jo+=o*(i+t),Fo+=3*o,Ut(r=n,i=t)}var t,e,r,i;Go.point=function(u,o){Go.point=n,Ut(t=r=u,e=i=o)},Go.lineEnd=function(){n(t,e)}}function Ot(n){function t(t,e){n.moveTo(t+o,e),n.arc(t,e,o,0,Yu)}function e(t,e){n.moveTo(t,e),a.point=r}function r(t,e){n.lineTo(t,e)}function i(){a.point=t}function u(){n.closePath()}var o=4.5,a={point:t,lineStart:function(){a.point=e},lineEnd:i,polygonStart:function(){a.lineEnd=u},polygonEnd:function(){a.lineEnd=i,a.point=t},pointRadius:function(n){return o=n,a},result:x};return a}function It(n){function t(n){return(a?r:e)(n)}function e(t){return Zt(t,(function(e,r){e=n(e,r),t.point(e[0],e[1])}))}function r(t){function e(e,r){e=n(e,r),t.point(e[0],e[1])}function r(){m=NaN,w.point=u,t.lineStart()}function u(e,r){var u=lt([e,r]),o=n(e,r);i(m,M,y,x,b,_,m=o[0],M=o[1],y=e,x=u[0],b=u[1],_=u[2],a,t),t.point(m,M)}function o(){w.point=e,t.lineEnd()}function l(){r(),w.point=c,w.lineEnd=f}function c(n,t){u(s=n,t),h=m,p=M,g=x,v=b,d=_,w.point=u}function f(){i(m,M,y,x,b,_,h,p,s,g,v,d,a,t),w.lineEnd=o,o()}var s,h,p,g,v,d,y,m,M,x,b,_,w={point:e,lineStart:r,lineEnd:o,polygonStart:function(){t.polygonStart(),w.lineStart=l},polygonEnd:function(){t.polygonEnd(),w.lineStart=r}};return w}function i(t,e,r,a,l,c,f,s,h,p,g,v,d,y){var m=f-t,M=s-e,x=m*m+M*M;if(x>4*u&&d--){var b=a+p,_=l+g,w=c+v,S=Math.sqrt(b*b+_*_+w*w),k=Math.asin(w/=S),N=wu(wu(w)-1)<Hu||wu(r-h)<Hu?(r+h)/2:Math.atan2(_,b),E=n(N,k),A=E[0],C=E[1],z=A-t,L=C-e,q=M*z-m*L;(q*q/x>u||wu((m*z+M*L)/x-.5)>.3||o>a*p+l*g+c*v)&&(i(t,e,r,a,l,c,A,C,N,b/=S,_/=S,w,d,y),y.point(A,C),i(A,C,N,b,_,w,f,s,h,p,g,v,d,y))}}var u=.5,o=Math.cos(30*Xu),a=16;return t.precision=function(n){return arguments.length?(a=(u=n*n)>0&&16,t):Math.sqrt(u)},t}function Yt(n){this.stream=n}function Zt(n,t){return{point:t,sphere:function(){n.sphere()},lineStart:function(){n.lineStart()},lineEnd:function(){n.lineEnd()},polygonStart:function(){n.polygonStart()},polygonEnd:function(){n.polygonEnd()}}}function Vt(n){return Xt((function(){return n}))()}function Xt(n){function t(n){return[(n=a(n[0]*Xu,n[1]*Xu))[0]*h+l,c-n[1]*h]}function e(n){return(n=a.invert((n[0]-l)/h,(c-n[1])/h))&&[n[0]*$u,n[1]*$u]}function r(){a=bt(o=Jt(m,M,x),u);var n=u(v,d);return l=p-n[0]*h,c=g+n[1]*h,i()}function i(){return f&&(f.valid=!1,f=null),t}var u,o,a,l,c,f,s=It((function(n,t){return[(n=u(n,t))[0]*h+l,c-n[1]*h]})),h=150,p=480,g=250,v=0,d=0,m=0,M=0,x=0,b=Oo,_=y,w=null,S=null;return t.stream=function(n){return f&&(f.valid=!1),(f=$t(b(o,s(_(n))))).valid=!0,f},t.clipAngle=function(n){return arguments.length?(b=null==n?(w=n,Oo):function(n){function t(n,t){return Math.cos(n)*Math.cos(t)>i}function e(n,t,e){var r=[1,0,0],u=ft(lt(n),lt(t)),o=ct(u,u),a=u[0],l=o-a*a;if(!l)return!e&&n;var c=i*o/l,f=-i*a/l,s=ft(r,u),h=ht(r,c);st(h,ht(u,f));var p=s,g=ct(h,p),v=ct(p,p),d=g*g-v*(ct(h,h)-1);if(!(0>d)){var y=Math.sqrt(d),m=ht(p,(-g-y)/v);if(st(m,h),m=gt(m),!e)return m;var M,x=n[0],b=t[0],_=n[1],w=t[1];x>b&&(M=x,x=b,b=M);var S=b-x,k=wu(S-Iu)<Hu;if(!k&&_>w&&(M=_,_=w,w=M),k||Hu>S?k?_+w>0^m[1]<(wu(m[0]-x)<Hu?_:w):_<=m[1]&&m[1]<=w:S>Iu^(x<=m[0]&&m[0]<=b)){var N=ht(p,(-g+y)/v);return st(N,h),[m,gt(N)]}}}function r(t,e){var r=u?n:Iu-n,i=0;return-r>t?i|=1:t>r&&(i|=2),-r>e?i|=4:e>r&&(i|=8),i}var i=Math.cos(n),u=i>0,o=wu(i)>Hu;return Nt(t,(function(n){var i,a,l,c,f;return{lineStart:function(){c=l=!1,f=1},point:function(s,h){var p,g=[s,h],v=t(s,h),d=u?v?0:r(s,h):v?r(s+(0>s?Iu:-Iu),h):0;if(!i&&(c=l=v)&&n.lineStart(),v!==l&&(p=e(i,g),(vt(i,p)||vt(g,p))&&(g[0]+=Hu,g[1]+=Hu,v=t(g[0],g[1]))),v!==l)f=0,v?(n.lineStart(),p=e(g,i),n.point(p[0],p[1])):(p=e(i,g),n.point(p[0],p[1]),n.lineEnd()),i=p;else if(o&&i&&u^v){var y;d&a||!(y=e(g,i,!0))||(f=0,u?(n.lineStart(),n.point(y[0][0],y[0][1]),n.point(y[1][0],y[1][1]),n.lineEnd()):(n.point(y[1][0],y[1][1]),n.lineEnd(),n.lineStart(),n.point(y[0][0],y[0][1])))}!v||i&&vt(i,g)||n.point(g[0],g[1]),i=g,l=v,a=d},lineEnd:function(){l&&n.lineEnd(),i=null},clean:function(){return f|(c&&l)<<1}}}),ne(n,6*Xu),u?[0,-n]:[-Iu,n-Iu])}((w=+n)*Xu),i()):w},t.clipExtent=function(n){return arguments.length?(S=n,_=n?Lt(n[0][0],n[0][1],n[1][0],n[1][1]):y,i()):S},t.scale=function(n){return arguments.length?(h=+n,r()):h},t.translate=function(n){return arguments.length?(p=+n[0],g=+n[1],r()):[p,g]},t.center=function(n){return arguments.length?(v=n[0]%360*Xu,d=n[1]%360*Xu,r()):[v*$u,d*$u]},t.rotate=function(n){return arguments.length?(m=n[0]%360*Xu,M=n[1]%360*Xu,x=n.length>2?n[2]%360*Xu:0,r()):[m*$u,M*$u,x*$u]},pu.rebind(t,s,"precision"),function(){return u=n.apply(this,arguments),t.invert=u.invert&&e,r()}}function $t(n){return Zt(n,(function(t,e){n.point(t*Xu,e*Xu)}))}function Bt(n,t){return[n,t]}function Wt(n,t){return[n>Iu?n-Yu:-Iu>n?n+Yu:n,t]}function Jt(n,t,e){return n?t||e?bt(Kt(n),Qt(t,e)):Kt(n):t||e?Qt(t,e):Wt}function Gt(n){return function(t,e){return[(t+=n)>Iu?t-Yu:-Iu>t?t+Yu:t,e]}}function Kt(n){var t=Gt(n);return t.invert=Gt(-n),t}function Qt(n,t){function e(n,t){var e=Math.cos(t),a=Math.cos(n)*e,l=Math.sin(n)*e,c=Math.sin(t),f=c*r+a*i;return[Math.atan2(l*u-f*o,a*r-c*i),Q(f*u+l*o)]}var r=Math.cos(n),i=Math.sin(n),u=Math.cos(t),o=Math.sin(t);return e.invert=function(n,t){var e=Math.cos(t),a=Math.cos(n)*e,l=Math.sin(n)*e,c=Math.sin(t),f=c*u-l*o;return[Math.atan2(l*u+c*o,a*r+f*i),Q(f*r-a*i)]},e}function ne(n,t){var e=Math.cos(n),r=Math.sin(n);return function(i,u,o,a){var l=o*t;null!=i?(i=te(e,i),u=te(e,u),(o>0?u>i:i>u)&&(i+=o*Yu)):(i=n+o*Yu,u=n-.5*l);for(var c,f=i;o>0?f>u:u>f;f-=l)a.point((c=gt([e,-r*Math.cos(f),-r*Math.sin(f)]))[0],c[1])}}function te(n,t){var e=lt(t);e[0]-=n,pt(e);var r=K(-e[1]);return((-e[2]<0?-r:r)+2*Math.PI-Hu)%(2*Math.PI)}function ee(n,t,e){var r=pu.range(n,t-Hu,e).concat(t);return function(n){return r.map((function(t){return[n,t]}))}}function re(n,t,e){var r=pu.range(n,t-Hu,e).concat(t);return function(n){return r.map((function(t){return[t,n]}))}}function ie(n){return n.source}function ue(n){return n.target}function oe(n,t){function e(t,e){var r=Math.cos(t),i=Math.cos(e),u=n(r*i);return[u*i*Math.sin(t),u*Math.sin(e)]}return e.invert=function(n,e){var r=Math.sqrt(n*n+e*e),i=t(r),u=Math.sin(i),o=Math.cos(i);return[Math.atan2(n*u,r*o),Math.asin(r&&e*u/r)]},e}function ae(n,t){function e(n,t){o>0?-Vu+Hu>t&&(t=-Vu+Hu):t>Vu-Hu&&(t=Vu-Hu);var e=o/Math.pow(i(t),u);return[e*Math.sin(u*n),o-e*Math.cos(u*n)]}var r=Math.cos(n),i=function(n){return Math.tan(Iu/4+n/2)},u=n===t?Math.sin(n):Math.log(r/Math.cos(t))/Math.log(i(t)/i(n)),o=r*Math.pow(i(n),u)/u;return u?(e.invert=function(n,t){var e=o-t,r=J(u)*Math.sqrt(n*n+e*e);return[Math.atan2(n,e)/u,2*Math.atan(Math.pow(o/r,1/u))-Vu]},e):ce}function le(n,t){function e(n,t){var e=u-t;return[e*Math.sin(i*n),u-e*Math.cos(i*n)]}var r=Math.cos(n),i=n===t?Math.sin(n):(r-Math.cos(t))/(t-n),u=r/i+n;return wu(i)<Hu?Bt:(e.invert=function(n,t){var e=u-t;return[Math.atan2(n,e)/i,u-J(i)*Math.sqrt(n*n+e*e)]},e)}function ce(n,t){return[n,Math.log(Math.tan(Iu/4+t/2))]}function fe(n){var t,e=Vt(n),r=e.scale,i=e.translate,u=e.clipExtent;return e.scale=function(){var n=r.apply(e,arguments);return n===e?t?e.clipExtent(null):e:n},e.translate=function(){var n=i.apply(e,arguments);return n===e?t?e.clipExtent(null):e:n},e.clipExtent=function(n){var o=u.apply(e,arguments);if(o===e){if(t=null==n){var a=Iu*r(),l=i();u([[l[0]-a,l[1]-a],[l[0]+a,l[1]+a]])}}else t&&(o=null);return o},e.clipExtent(null)}function se(n,t){return[Math.log(Math.tan(Iu/4+t/2)),-n]}function he(n){return n[0]}function pe(n){return n[1]}function ge(n){for(var t=n.length,e=[0,1],r=2,i=2;t>i;i++){for(;r>1&&G(n[e[r-2]],n[e[r-1]],n[i])<=0;)--r;e[r++]=i}return e.slice(0,r)}function ve(n,t){return n[0]-t[0]||n[1]-t[1]}function de(n,t,e){return(e[0]-t[0])*(n[1]-t[1])<(e[1]-t[1])*(n[0]-t[0])}function ye(n,t,e,r){var i=n[0],u=e[0],o=t[0]-i,a=r[0]-u,l=n[1],c=e[1],f=t[1]-l,s=r[1]-c,h=(a*(l-c)-s*(i-u))/(s*o-a*f);return[i+h*o,l+h*f]}function me(n){var t=n[0],e=n[n.length-1];return!(t[0]-e[0]||t[1]-e[1])}function Me(){je(this),this.edge=this.site=this.circle=null}function xe(n){var t=sa.pop()||new Me;return t.site=n,t}function be(n){ze(n),la.remove(n),sa.push(n),je(n)}function _e(n){var t=n.circle,e=t.x,r=t.cy,i={x:e,y:r},u=n.P,o=n.N,a=[n];be(n);for(var l=u;l.circle&&wu(e-l.circle.x)<Hu&&wu(r-l.circle.cy)<Hu;)u=l.P,a.unshift(l),be(l),l=u;a.unshift(l),ze(l);for(var c=o;c.circle&&wu(e-c.circle.x)<Hu&&wu(r-c.circle.cy)<Hu;)o=c.N,a.push(c),be(c),c=o;a.push(c),ze(c);var f,s=a.length;for(f=1;s>f;++f)c=a[f],l=a[f-1],De(c.edge,l.site,c.site,i);l=a[0],(c=a[s-1]).edge=Te(l.site,c.site,null,i),Ce(l),Ce(c)}function we(n){for(var t,e,r,i,u=n.x,o=n.y,a=la._;a;)if((r=Se(a,o)-u)>Hu)a=a.L;else{if(!((i=u-ke(a,o))>Hu)){r>-Hu?(t=a.P,e=a):i>-Hu?(t=a,e=a.N):t=e=a;break}if(!a.R){t=a;break}a=a.R}var l=xe(n);if(la.insert(t,l),t||e){if(t===e)return ze(t),e=xe(t.site),la.insert(l,e),l.edge=e.edge=Te(t.site,l.site),Ce(t),void Ce(e);if(!e)return void(l.edge=Te(t.site,l.site));ze(t),ze(e);var c=t.site,f=c.x,s=c.y,h=n.x-f,p=n.y-s,g=e.site,v=g.x-f,d=g.y-s,y=2*(h*d-p*v),m=h*h+p*p,M=v*v+d*d,x={x:(d*m-p*M)/y+f,y:(h*M-v*m)/y+s};De(e.edge,c,g,x),l.edge=Te(c,n,null,x),e.edge=Te(n,g,null,x),Ce(t),Ce(e)}}function Se(n,t){var e=n.site,r=e.x,i=e.y,u=i-t;if(!u)return r;var o=n.P;if(!o)return-1/0;var a=(e=o.site).x,l=e.y,c=l-t;if(!c)return a;var f=a-r,s=1/u-1/c,h=f/c;return s?(-h+Math.sqrt(h*h-2*s*(f*f/(-2*c)-l+c/2+i-u/2)))/s+r:(r+a)/2}function ke(n,t){var e=n.N;if(e)return Se(e,t);var r=n.site;return r.y===t?r.x:1/0}function Ne(n){this.site=n,this.edges=[]}function Ee(n,t){return t.angle-n.angle}function Ae(){je(this),this.x=this.y=this.arc=this.site=this.cy=null}function Ce(n){var t=n.P,e=n.N;if(t&&e){var r=t.site,i=n.site,u=e.site;if(r!==u){var o=i.x,a=i.y,l=r.x-o,c=r.y-a,f=u.x-o,s=2*(l*(d=u.y-a)-c*f);if(!(s>=-Ou)){var h=l*l+c*c,p=f*f+d*d,g=(d*h-c*p)/s,v=(l*p-f*h)/s,d=v+a,y=ha.pop()||new Ae;y.arc=n,y.site=i,y.x=g+o,y.y=d+Math.sqrt(g*g+v*v),y.cy=d,n.circle=y;for(var m=null,M=fa._;M;)if(y.y<M.y||y.y===M.y&&y.x<=M.x){if(!M.L){m=M.P;break}M=M.L}else{if(!M.R){m=M;break}M=M.R}fa.insert(m,y),m||(ca=y)}}}}function ze(n){var t=n.circle;t&&(t.P||(ca=t.N),fa.remove(t),ha.push(t),je(t),n.circle=null)}function Le(n,t){var e=n.b;if(e)return!0;var r,i,u=n.a,o=t[0][0],a=t[1][0],l=t[0][1],c=t[1][1],f=n.l,s=n.r,h=f.x,p=f.y,g=s.x,v=s.y,d=(h+g)/2,y=(p+v)/2;if(v===p){if(o>d||d>=a)return;if(h>g){if(u){if(u.y>=c)return}else u={x:d,y:l};e={x:d,y:c}}else{if(u){if(u.y<l)return}else u={x:d,y:c};e={x:d,y:l}}}else if(i=y-(r=(h-g)/(v-p))*d,-1>r||r>1)if(h>g){if(u){if(u.y>=c)return}else u={x:(l-i)/r,y:l};e={x:(c-i)/r,y:c}}else{if(u){if(u.y<l)return}else u={x:(c-i)/r,y:c};e={x:(l-i)/r,y:l}}else if(v>p){if(u){if(u.x>=a)return}else u={x:o,y:r*o+i};e={x:a,y:r*a+i}}else{if(u){if(u.x<o)return}else u={x:a,y:r*a+i};e={x:o,y:r*o+i}}return n.a=u,n.b=e,!0}function qe(n,t){this.l=n,this.r=t,this.a=this.b=null}function Te(n,t,e,r){var i=new qe(n,t);return oa.push(i),e&&De(i,n,t,e),r&&De(i,t,n,r),aa[n.i].edges.push(new Pe(i,n,t)),aa[t.i].edges.push(new Pe(i,t,n)),i}function Re(n,t,e){var r=new qe(n,null);return r.a=t,r.b=e,oa.push(r),r}function De(n,t,e,r){n.a||n.b?n.l===e?n.b=r:n.a=r:(n.a=r,n.l=t,n.r=e)}function Pe(n,t,e){var r=n.a,i=n.b;this.edge=n,this.site=t,this.angle=e?Math.atan2(e.y-t.y,e.x-t.x):n.l===t?Math.atan2(i.x-r.x,r.y-i.y):Math.atan2(r.x-i.x,i.y-r.y)}function Ue(){this._=null}function je(n){n.U=n.C=n.L=n.R=n.P=n.N=null}function Fe(n,t){var e=t,r=t.R,i=e.U;i?i.L===e?i.L=r:i.R=r:n._=r,r.U=i,e.U=r,e.R=r.L,e.R&&(e.R.U=e),r.L=e}function He(n,t){var e=t,r=t.L,i=e.U;i?i.L===e?i.L=r:i.R=r:n._=r,r.U=i,e.U=r,e.L=r.R,e.L&&(e.L.U=e),r.R=e}function Oe(n){for(;n.L;)n=n.L;return n}function Ie(n,t){var e,r,i,u=n.sort(Ye).pop();for(oa=[],aa=new Array(n.length),la=new Ue,fa=new Ue;;)if(i=ca,u&&(!i||u.y<i.y||u.y===i.y&&u.x<i.x))u.x===e&&u.y===r||(aa[u.i]=new Ne(u),we(u),e=u.x,r=u.y),u=n.pop();else{if(!i)break;_e(i.arc)}t&&(function(n){for(var t,e=oa,r=zt(n[0][0],n[0][1],n[1][0],n[1][1]),i=e.length;i--;)(!Le(t=e[i],n)||!r(t)||wu(t.a.x-t.b.x)<Hu&&wu(t.a.y-t.b.y)<Hu)&&(t.a=t.b=null,e.splice(i,1))}(t),function(n){for(var t,e,r,i,u,o,a,l,c,f,s=n[0][0],h=n[1][0],p=n[0][1],g=n[1][1],v=aa,d=v.length;d--;)if((u=v[d])&&u.prepare())for(l=(a=u.edges).length,o=0;l>o;)r=(f=a[o].end()).x,i=f.y,t=(c=a[++o%l].start()).x,e=c.y,(wu(r-t)>Hu||wu(i-e)>Hu)&&(a.splice(o,0,new Pe(Re(u.site,f,wu(r-s)<Hu&&g-i>Hu?{x:s,y:wu(t-s)<Hu?e:g}:wu(i-g)<Hu&&h-r>Hu?{x:wu(e-g)<Hu?t:h,y:g}:wu(r-h)<Hu&&i-p>Hu?{x:h,y:wu(t-h)<Hu?e:p}:wu(i-p)<Hu&&r-s>Hu?{x:wu(e-p)<Hu?t:s,y:p}:null),u.site,null)),++l)}(t));var o={cells:aa,edges:oa};return la=fa=oa=aa=null,o}function Ye(n,t){return t.y-n.y||t.x-n.x}function Ze(n,t,e){return(n.x-e.x)*(t.y-n.y)-(n.x-t.x)*(e.y-n.y)}function Ve(n){return n.x}function Xe(n){return n.y}function $e(n,t,e,r,i,u){if(!n(t,e,r,i,u)){var o=.5*(e+i),a=.5*(r+u),l=t.nodes;l[0]&&$e(n,l[0],e,r,o,a),l[1]&&$e(n,l[1],o,r,i,a),l[2]&&$e(n,l[2],e,a,o,u),l[3]&&$e(n,l[3],o,a,i,u)}}function Be(n,t){n=pu.rgb(n),t=pu.rgb(t);var e=n.r,r=n.g,i=n.b,u=t.r-e,o=t.g-r,a=t.b-i;return function(n){return"#"+yn(Math.round(e+u*n))+yn(Math.round(r+o*n))+yn(Math.round(i+a*n))}}function We(n,t){var e,r={},i={};for(e in n)e in t?r[e]=Ke(n[e],t[e]):i[e]=n[e];for(e in t)e in n||(i[e]=t[e]);return function(n){for(e in r)i[e]=r[e](n);return i}}function Je(n,t){return n=+n,t=+t,function(e){return n*(1-e)+t*e}}function Ge(n,t){var e,r,i,u=ga.lastIndex=va.lastIndex=0,o=-1,a=[],l=[];for(n+="",t+="";(e=ga.exec(n))&&(r=va.exec(t));)(i=r.index)>u&&(i=t.slice(u,i),a[o]?a[o]+=i:a[++o]=i),(e=e[0])===(r=r[0])?a[o]?a[o]+=r:a[++o]=r:(a[++o]=null,l.push({i:o,x:Je(e,r)})),u=va.lastIndex;return u<t.length&&(i=t.slice(u),a[o]?a[o]+=i:a[++o]=i),a.length<2?l[0]?(t=l[0].x,function(n){return t(n)+""}):function(){return t}:(t=l.length,function(n){for(var e,r=0;t>r;++r)a[(e=l[r]).i]=e.x(n);return a.join("")})}function Ke(n,t){for(var e,r=pu.interpolators.length;--r>=0&&!(e=pu.interpolators[r](n,t)););return e}function Qe(n,t){var e,r=[],i=[],u=n.length,o=t.length,a=Math.min(n.length,t.length);for(e=0;a>e;++e)r.push(Ke(n[e],t[e]));for(;u>e;++e)i[e]=n[e];for(;o>e;++e)i[e]=t[e];return function(n){for(e=0;a>e;++e)i[e]=r[e](n);return i}}function nr(n){return function(t){return 1-n(1-t)}}function tr(n){return function(t){return.5*(.5>t?n(2*t):2-n(2-2*t))}}function er(n){return n*n}function rr(n){return n*n*n}function ir(n){if(0>=n)return 0;if(n>=1)return 1;var t=n*n,e=t*n;return 4*(.5>n?e:3*(n-t)+e-.75)}function ur(n){return 1-Math.cos(n*Vu)}function or(n){return Math.pow(2,10*(n-1))}function ar(n){return 1-Math.sqrt(1-n*n)}function lr(n){return 1/2.75>n?7.5625*n*n:2/2.75>n?7.5625*(n-=1.5/2.75)*n+.75:2.5/2.75>n?7.5625*(n-=2.25/2.75)*n+.9375:7.5625*(n-=2.625/2.75)*n+.984375}function cr(n,t){return t-=n,function(e){return Math.round(n+t*e)}}function fr(n){var t=[n.a,n.b],e=[n.c,n.d],r=hr(t),i=sr(t,e),u=hr(function(n,t,e){return n[0]+=e*t[0],n[1]+=e*t[1],n}(e,t,-i))||0;t[0]*e[1]<e[0]*t[1]&&(t[0]*=-1,t[1]*=-1,r*=-1,i*=-1),this.rotate=(r?Math.atan2(t[1],t[0]):Math.atan2(-e[0],e[1]))*$u,this.translate=[n.e,n.f],this.scale=[r,u],this.skew=u?Math.atan2(i,u)*$u:0}function sr(n,t){return n[0]*t[0]+n[1]*t[1]}function hr(n){var t=Math.sqrt(sr(n,n));return t&&(n[0]/=t,n[1]/=t),t}function pr(n){return n.length?n.pop()+",":""}function gr(n,t){var e=[],r=[];return n=pu.transform(n),t=pu.transform(t),function(n,t,e,r){if(n[0]!==t[0]||n[1]!==t[1]){var i=e.push("translate(",null,",",null,")");r.push({i:i-4,x:Je(n[0],t[0])},{i:i-2,x:Je(n[1],t[1])})}else(t[0]||t[1])&&e.push("translate("+t+")")}(n.translate,t.translate,e,r),function(n,t,e,r){n!==t?(n-t>180?t+=360:t-n>180&&(n+=360),r.push({i:e.push(pr(e)+"rotate(",null,")")-2,x:Je(n,t)})):t&&e.push(pr(e)+"rotate("+t+")")}(n.rotate,t.rotate,e,r),function(n,t,e,r){n!==t?r.push({i:e.push(pr(e)+"skewX(",null,")")-2,x:Je(n,t)}):t&&e.push(pr(e)+"skewX("+t+")")}(n.skew,t.skew,e,r),function(n,t,e,r){if(n[0]!==t[0]||n[1]!==t[1]){var i=e.push(pr(e)+"scale(",null,",",null,")");r.push({i:i-4,x:Je(n[0],t[0])},{i:i-2,x:Je(n[1],t[1])})}else 1===t[0]&&1===t[1]||e.push(pr(e)+"scale("+t+")")}(n.scale,t.scale,e,r),n=t=null,function(n){for(var t,i=-1,u=r.length;++i<u;)e[(t=r[i]).i]=t.x(n);return e.join("")}}function vr(n,t){return t=(t-=n=+n)||1/t,function(e){return(e-n)/t}}function dr(n,t){return t=(t-=n=+n)||1/t,function(e){return Math.max(0,Math.min(1,(e-n)/t))}}function yr(n){for(var t=n.source,e=n.target,r=function(n,t){if(n===t)return n;for(var e=mr(n),r=mr(t),i=e.pop(),u=r.pop(),o=null;i===u;)o=i,i=e.pop(),u=r.pop();return o}(t,e),i=[t];t!==r;)t=t.parent,i.push(t);for(var u=i.length;e!==r;)i.splice(u,0,e),e=e.parent;return i}function mr(n){for(var t=[],e=n.parent;null!=e;)t.push(n),n=e,e=e.parent;return t.push(n),t}function Mr(n){n.fixed|=2}function xr(n){n.fixed&=-7}function br(n){n.fixed|=4,n.px=n.x,n.py=n.y}function _r(n){n.fixed&=-5}function wr(n,t,e){var r=0,i=0;if(n.charge=0,!n.leaf)for(var u,o=n.nodes,a=o.length,l=-1;++l<a;)null!=(u=o[l])&&(wr(u,t,e),n.charge+=u.charge,r+=u.charge*u.cx,i+=u.charge*u.cy);if(n.point){n.leaf||(n.point.x+=Math.random()-.5,n.point.y+=Math.random()-.5);var c=t*e[n.point.index];n.charge+=n.pointCharge=c,r+=c*n.point.x,i+=c*n.point.y}n.cx=r/n.charge,n.cy=i/n.charge}function Sr(n,t){return pu.rebind(n,t,"sort","children","value"),n.nodes=n,n.links=zr,n}function kr(n,t){for(var e=[n];null!=(n=e.pop());)if(t(n),(i=n.children)&&(r=i.length))for(var r,i;--r>=0;)e.push(i[r])}function Nr(n,t){for(var e=[n],r=[];null!=(n=e.pop());)if(r.push(n),(u=n.children)&&(i=u.length))for(var i,u,o=-1;++o<i;)e.push(u[o]);for(;null!=(n=r.pop());)t(n)}function Er(n){return n.children}function Ar(n){return n.value}function Cr(n,t){return t.value-n.value}function zr(n){return pu.merge(n.map((function(n){return(n.children||[]).map((function(t){return{source:n,target:t}}))})))}function Lr(n){return n.x}function qr(n){return n.y}function Tr(n,t,e){n.y0=t,n.y=e}function Rr(n){return pu.range(n.length)}function Dr(n){for(var t=-1,e=n[0].length,r=[];++t<e;)r[t]=0;return r}function Pr(n){for(var t,e=1,r=0,i=n[0][1],u=n.length;u>e;++e)(t=n[e][1])>i&&(r=e,i=t);return r}function Ur(n){return n.reduce(jr,0)}function jr(n,t){return n+t[1]}function Fr(n,t){return Hr(n,Math.ceil(Math.log(t.length)/Math.LN2+1))}function Hr(n,t){for(var e=-1,r=+n[0],i=(n[1]-r)/t,u=[];++e<=t;)u[e]=i*e+r;return u}function Or(n){return[pu.min(n),pu.max(n)]}function Ir(n,t){return n.value-t.value}function Yr(n,t){var e=n._pack_next;n._pack_next=t,t._pack_prev=n,t._pack_next=e,e._pack_prev=t}function Zr(n,t){n._pack_next=t,t._pack_prev=n}function Vr(n,t){var e=t.x-n.x,r=t.y-n.y,i=n.r+t.r;return.999*i*i>e*e+r*r}function Xr(n){function t(n){f=Math.min(n.x-n.r,f),s=Math.max(n.x+n.r,s),h=Math.min(n.y-n.r,h),p=Math.max(n.y+n.r,p)}if((e=n.children)&&(c=e.length)){var e,r,i,u,o,a,l,c,f=1/0,s=-1/0,h=1/0,p=-1/0;if(e.forEach($r),(r=e[0]).x=-r.r,r.y=0,t(r),c>1&&((i=e[1]).x=i.r,i.y=0,t(i),c>2))for(Jr(r,i,u=e[2]),t(u),Yr(r,u),r._pack_prev=u,Yr(u,i),i=r._pack_next,o=3;c>o;o++){Jr(r,i,u=e[o]);var g=0,v=1,d=1;for(a=i._pack_next;a!==i;a=a._pack_next,v++)if(Vr(a,u)){g=1;break}if(1==g)for(l=r._pack_prev;l!==a._pack_prev&&!Vr(l,u);l=l._pack_prev,d++);g?(d>v||v==d&&i.r<r.r?Zr(r,i=a):Zr(r=l,i),o--):(Yr(r,u),i=u,t(u))}var y=(f+s)/2,m=(h+p)/2,M=0;for(o=0;c>o;o++)(u=e[o]).x-=y,u.y-=m,M=Math.max(M,u.r+Math.sqrt(u.x*u.x+u.y*u.y));n.r=M,e.forEach(Br)}}function $r(n){n._pack_next=n._pack_prev=n}function Br(n){delete n._pack_next,delete n._pack_prev}function Wr(n,t,e,r){var i=n.children;if(n.x=t+=r*n.x,n.y=e+=r*n.y,n.r*=r,i)for(var u=-1,o=i.length;++u<o;)Wr(i[u],t,e,r)}function Jr(n,t,e){var r=n.r+e.r,i=t.x-n.x,u=t.y-n.y;if(r&&(i||u)){var o=t.r+e.r,a=i*i+u*u,l=.5+((r*=r)-(o*=o))/(2*a),c=Math.sqrt(Math.max(0,2*o*(r+a)-(r-=a)*r-o*o))/(2*a);e.x=n.x+l*i+c*u,e.y=n.y+l*u-c*i}else e.x=n.x+r,e.y=n.y}function Gr(n,t){return n.parent==t.parent?1:2}function Kr(n){var t=n.children;return t.length?t[0]:n.t}function Qr(n){var t,e=n.children;return(t=e.length)?e[t-1]:n.t}function ni(n,t,e){var r=e/(t.i-n.i);t.c-=r,t.s+=e,n.c+=r,t.z+=e,t.m+=e}function ti(n,t,e){return n.a.parent===t.parent?n.a:e}function ei(n){var t=n.children;return t&&t.length?ei(t[0]):n}function ri(n){var t,e=n.children;return e&&(t=e.length)?ri(e[t-1]):n}function ii(n){return{x:n.x,y:n.y,dx:n.dx,dy:n.dy}}function ui(n,t){var e=n.x+t[3],r=n.y+t[0],i=n.dx-t[1]-t[3],u=n.dy-t[0]-t[2];return 0>i&&(e+=i/2,i=0),0>u&&(r+=u/2,u=0),{x:e,y:r,dx:i,dy:u}}function oi(n){var t=n[0],e=n[n.length-1];return e>t?[t,e]:[e,t]}function ai(n){return n.rangeExtent?n.rangeExtent():oi(n.range())}function li(n,t,e,r){var i=e(n[0],n[1]),u=r(t[0],t[1]);return function(n){return u(i(n))}}function ci(n,t){var e,r=0,i=n.length-1,u=n[r],o=n[i];return u>o&&(e=r,r=i,i=e,e=u,u=o,o=e),n[r]=t.floor(u),n[i]=t.ceil(o),n}function fi(n){return n?{floor:function(t){return Math.floor(t/n)*n},ceil:function(t){return Math.ceil(t/n)*n}}:Na}function si(n,t,e,r){var i=[],u=[],o=0,a=Math.min(n.length,t.length)-1;for(n[a]<n[0]&&(n=n.slice().reverse(),t=t.slice().reverse());++o<=a;)i.push(e(n[o-1],n[o])),u.push(r(t[o-1],t[o]));return function(t){var e=pu.bisect(n,t,1,a)-1;return u[e](i[e](t))}}function hi(n,t,e,r){function i(){var i=Math.min(n.length,t.le