!function(){function t(t){return t?t/Math.sin(t):1}function n(t){return t>0?1:0>t?-1:0}function a(t){return t>1?aa/2:-1>t?-aa/2:Math.asin(t)}function r(t){return t>1?0:-1>t?aa:Math.acos(t)}function e(t){return t>0?Math.sqrt(t):0}function o(t){function n(t,n){var a=Math.cos(t),r=Math.cos(n),o=Math.sin(n),i=r*a,h=-((1-i?Math.log(.5*(1+i))/(1-i):-.5)+e/(1+i));return[h*r*Math.sin(t),h*o]}var r=Math.tan(.5*t),e=2*Math.log(Math.cos(.5*t))/(r*r);return n.invert=function(n,r){var o,i=Math.sqrt(n*n+r*r),h=t*-.5,u=50;if(!i)return[0,0];do{var M=.5*h,s=Math.cos(M),c=Math.sin(M),f=Math.tan(M),v=Math.log(1/s);h-=o=(2/f*v-e*f-i)/(-v/(c*c)+1-e/(2*s*s))}while(Math.abs(o)>ta&&--u>0);var l=Math.sin(h);return[Math.atan2(n*l,i*Math.cos(h)),a(r*l/i)]},n}function i(){var t=aa/2,n=ha(o),a=n(t);return a.radius=function(a){return arguments.length?n(t=a*aa/180):180*(t/aa)},a}function h(n,a){var e=Math.cos(a),o=t(r(e*Math.cos(n/=2)));return[2*e*Math.sin(n)*o,Math.sin(a)*o]}function u(t){function n(t,n){var h=Math.cos(n),u=Math.cos(t/=2);return[(1+h)*Math.sin(t),(e*n>-Math.atan2(u,o)-.001?0:10*-e)+i+Math.sin(n)*r-(1+h)*a*u]}var a=Math.sin(t),r=Math.cos(t),e=t>0?1:-1,o=Math.tan(e*t),i=(1+a-r)/2;return n.invert=function(t,n){var h=0,u=0,M=50;do{var s=Math.cos(h),c=Math.sin(h),f=Math.cos(u),v=Math.sin(u),l=1+f,g=l*c-t,d=i+v*r-l*a*s-n,p=.5*l*s,b=-c*v,q=.5*a*l*c,w=r*f+a*s*v,m=b*q-w*p,S=.5*(d*b-g*w)/m,T=(g*q-d*p)/m;h-=S,u-=T}while((Math.abs(S)>ta||Math.abs(T)>ta)&&--M>0);return e*u>-Math.atan2(Math.cos(h),o)-.001?[2*h,u]:null},n}function M(){var t=aa/9,n=t>0?1:-1,a=Math.tan(n*t),r=ha(u),e=r(t),o=e.stream;return e.parallel=function(e){return arguments.length?(a=Math.tan((n=(t=e*aa/180)>0?1:-1)*t),r(t)):180*(t/aa)},e.stream=function(r){var i=e.rotate(),h=o(r),u=(e.rotate([0,0]),o(r));return e.rotate(i),h.sphere=function(){u.polygonStart(),u.lineStart();for(var r=-180*n;180>n*r;r+=90*n)u.point(r,90*n);for(;n*(r-=t)>=-180;)u.point(r,n*-Math.atan2(Math.cos(r*ea/2),a)*oa);u.lineEnd(),u.polygonEnd()},h},e}function s(t){return t=Math.exp(2*t),(t-1)/(t+1)}function c(t){return.5*(Math.exp(t)-Math.exp(-t))}function f(t){return.5*(Math.exp(t)+Math.exp(-t))}function v(t){return Math.log(t+e(t*t+1))}function l(t){return Math.log(t+e(t*t-1))}function g(t,n){var a=Math.tan(n/2),r=e(1-a*a),o=1+r*Math.cos(t/=2),i=Math.sin(t)*r/o,h=a/o,u=i*i,M=h*h;return[4/3*i*(3+u-3*M),4/3*h*(3+3*u-M)]}function d(t,a){var r=Math.abs(a);return aa/4>r?[t,Math.log(Math.tan(aa/4+a/2))]:[t*Math.cos(r)*(2*Math.SQRT2-1/Math.sin(r)),n(a)*(2*Math.SQRT2*(r-aa/4)-Math.log(Math.tan(r/2)))]}function p(t){function n(t,n){var e=Ma(t,n);if(Math.abs(t)>aa/2){var o=Math.atan2(e[1],e[0]),i=Math.sqrt(e[0]*e[0]+e[1]*e[1]),h=r*Math.round((o-aa/2)/r)+aa/2,u=Math.atan2(Math.sin(o-=h),2-Math.cos(o));o=h+a(aa/i*Math.sin(u))-u,e[0]=i*Math.cos(o),e[1]=i*Math.sin(o)}return e}var r=2*aa/t;return n.invert=function(t,n){var a=Math.sqrt(t*t+n*n);if(a>aa/2){var e=Math.atan2(n,t),o=r*Math.round((e-aa/2)/r)+aa/2,i=e>o?-1:1,h=a*Math.cos(o-e),u=1/Math.tan(i*Math.acos((h-aa)/Math.sqrt(aa*(aa-2*h)+a*a)));e=o+2*Math.atan((u+i*Math.sqrt(u*u-3))/3),t=a*Math.cos(e),n=a*Math.sin(e)}return Ma.invert(t,n)},n}function b(){var t=5,n=ha(p),a=n(t),r=a.stream;return a.lobes=function(a){return arguments.length?n(t=+a):t},a.stream=function(n){var e=a.rotate(),o=r(n),i=(a.rotate([0,0]),r(n));return a.rotate(e),o.sphere=function(){i.polygonStart(),i.lineStart();for(var n=.01,a=0,r=360/t,e=90-180/t;t>a;++a,e-=r)i.point(180,0),-90>e?(i.point(-90,180-e-n),i.point(-90,180-e+n)):(i.point(90,e+n),i.point(90,e-n));i.lineEnd(),i.polygonEnd()},o},a}function q(t){return function(n){var a,r=t*Math.sin(n),e=30;do n-=a=(n+Math.sin(n)-r)/(1+Math.cos(n));while(Math.abs(a)>ta&&--e>0);return n/2}}function w(t,n,r){function e(a,r){return[t*a*Math.cos(r=o(r)),n*Math.sin(r)]}var o=q(r);return e.invert=function(e,o){var i=a(o/n);return[e/(t*Math.cos(i)),a((2*i+Math.sin(2*i))/r)]},e}function m(t,n){var a=2.00276,r=sa(n);return[a*t/(1/Math.cos(n)+1.11072/Math.cos(r)),(n+Math.SQRT2*Math.sin(r))/a]}function S(t){var n=0,a=ha(t),r=a(n);return r.parallel=function(t){return arguments.length?a(n=t*aa/180):180*(n/aa)},r}function T(t,n){return[t*Math.cos(n),n]}function A(t){function n(n,r){var e=a+t-r,o=e?n*Math.cos(r)/e:e;return[e*Math.sin(o),a-e*Math.cos(o)]}if(!t)return T;var a=1/Math.tan(t);return n.invert=function(n,r){var e=Math.sqrt(n*n+(r=a-r)*r),o=a+t-e;return[e/Math.cos(o)*Math.atan2(n,r),o]},n}function Q(t){function n(){var t,n,o,i,h,u,M,s,d,p,b,q=29,w=15,m=Math.sqrt(3);return k.lengthMA=.094*k.lengthMG,k.lengthParallel0to73At0=k.lengthMG/100,k.lengthParallel73to90At0=(k.lengthMG-k.lengthMA-73*k.lengthParallel0to73At0)/17,k.sin60=.866025403784439,k.cos60=.5,k.yTranslate=k.lengthMG*k.sin60,k.pointM=[0,0],k.pointG=[k.lengthMG,0],t=[k.lengthMG,k.lengthMG*Math.tan(30*ea)],k.pointA=[k.lengthMA,0],k.pointB=e(k.pointM,30,k.pointA,45),k.lengthAG=a(k.pointA,k.pointG),k.lengthAB=a(k.pointA,k.pointB),n=a(k.pointM,k.pointB),o=a(k.pointM,t),i=a(t,k.pointG),k.pointD=r(n,o,t,k.pointM),k.pointF=[k.lengthMG,i-n],k.pointE=[t[0]-k.lengthMA*Math.sin(30*ea),t[1]-k.lengthMA*Math.cos(30*ea)],k.lengthGF=a(k.pointG,k.pointF),k.lengthBD=a(k.pointB,k.pointD),k.lengthBDE=k.lengthBD+k.lengthAB,k.lengthGFE=k.lengthGF+k.lengthAB,k.deltaMEq=k.lengthGFE/45,k.lengthAP75=15*k.lengthParallel73to90At0,k.lengthAP73=k.lengthMG-k.lengthMA-73*k.lengthParallel0to73At0,h=[k.pointA[0]+k.lengthAP73*Math.cos(30*ea),k.pointA[1]+k.lengthAP73*Math.sin(30*ea)],k.pointT=e(h,-60,k.pointB,30),u=g(q),M=u.lengthParallel73,s=v(q),d=l(q),p=w*(s+d+M)/73,b=[0,0],k.pointC=[0,0],k.radius=0,p-=s,b=r(p,d,c(q),f(q)),k.pointC[1]=(b[0]*b[0]+b[1]*b[1]-k.pointD[0]*k.pointD[0]-k.pointD[1]*k.pointD[1])/(2*(m*b[0]+b[1]-m*k.pointD[0]-k.pointD[1])),k.pointC[0]=m*k.pointC[1],k.radius=a(k.pointC,k.pointD),k}function a(t,n){var a=t[0]-n[0],r=t[1]-n[1];return Math.sqrt(a*a+r*r)}function r(t,n,a,r){var e=[a[0]+(r[0]-a[0])*t/n,a[1]+(r[1]-a[1])*t/n];return e}function e(t,n,a,r){var e=Math.tan(n*ea),o=Math.tan(r*ea),i=[0,0];return i[0]=(e*t[0]-o*a[0]-t[1]+a[1])/(e-o),i[1]=e*(i[0]-t[0])+t[1],i}function o(t,n,a,r){var e=a[0],o=a[1],i=r[0],h=r[1],u=t[0],M=t[1],s=(i-e)*(i-e)+(h-o)*(h-o),c=2*((i-e)*(e-u)+(h-o)*(o-M)),f=u*u+M*M+e*e+o*o-2*(u*e+M*o)-n*n,v=c*c-4*s*f,l=0,g=0,d=0,p=0;return 0===s?[0,[0,0]]:0>v?[0,[0,0]]:(l=(-c+Math.sqrt(v))/(2*s),g=(-c-Math.sqrt(v))/(2*s),l>=0&&1>=l?(d=e+l*(i-e),p=o+l*(h-o),[1,[d,p]]):g>=0&&1>=g?(d=e+g*(i-e),p=o+g*(h-o),[1,[d,p]]):[0,[0,0]])}function i(t,n){var a=[0,0];return-60===n?(a[0]=t[0]*k.cos60+t[1]*k.sin60,a[1]=-t[0]*k.sin60+t[1]*k.cos60):-120===n?(a[0]=-t[0]*k.cos60+t[1]*k.sin60,a[1]=-t[0]*k.sin60-t[1]*k.cos60):(console.log("rotate: angle "+n+" different than -60 or -120!"),a[0]=t[0]*Math.cos(n*ea)-t[1]*Math.sin(n*ea),a[1]=t[0]*Math.sin(n*ea)+t[1]*Math.cos(n*ea)),a}function h(t){return t>=0?1:-1}function u(t){return Math[t>0?"floor":"ceil"](t)}function M(t){var n=k.deltaMEq*t,a=[0,0];return n<=k.lengthGF?a=[k.pointG[0],n]:(n-=k.lengthGF,a=r(n,k.lengthAB,k.pointF,k.pointE)),a}function s(t){return M(t)}function c(t){return e(k.pointM,2*t/3,s(t),t/3)}function f(t){if(0===t)return[k.pointA+k.lengthAB,0];var n=e(k.pointA,t,k.pointM,2*t/3);return n}function v(t){return a(s(t),c(t))}function l(t){return a(c(t),f(t))}function g(t){var n=[0,0],r=f(t),o=0,i=[0,0];return 30>=t?(n[0]=k.pointA[0]+k.lengthAP73*Math.cos(t*ea),n[1]=k.pointA[1]+k.lengthAP73*Math.sin(t*ea),o=a(r,n)):(n=e(k.pointT,-60,r,t),o=a(r,n),t>44&&(i=e(k.pointT,-60,r,2/3*t),i[0]>n[0]&&(n=i,o=-a(r,n)))),{parallel73:n,lengthParallel73:o}}function d(t){return[k.pointA[0]+k.lengthAP75*Math.cos(t*ea),k.pointA[1]+k.lengthAP75*Math.sin(t*ea)]}function p(t,n){var a,r=[0,6,7,8,5],e=u((t+180)/90+1),o=t+180-90*(e-1)-45,i=h(o);return o=Math.abs(o),5===e&&(e=1),0>n&&(e=r[e]),a=Math.abs(n),[o,a,i,e]}function b(t,n){return[k.pointA[0]+104*(90-n),0]}function q(t,n){return[k.pointG[0]-100*n,0]}function w(t,n){var a=104*(90-n);return[k.pointA[0]+a*Math.cos(t*ea),k.pointA[1]+a*Math.sin(t*ea)]}function m(t,n){return n=n,M(t)}function S(t,n){var a=1560+100*(75-n);return[k.pointA[0]+a*Math.cos(t*ea),k.pointA[1]+a*Math.sin(t*ea)]}function T(t,n){return r(n,15,k.pointE,k.pointD)}function A(t,n){var a=n-15;return r(a,58,k.pointD,k.pointT)}function Q(t,n){var e=d(45),o=g(t),i=o.parallel73,h=a(k.pointT,k.pointB),u=a(k.pointB,e),M=(75-n)*(u+h)/2,s=[0,0];return u>=M?s=r(M,u,e,k.pointB):(M-=u,s=r(M,h,k.pointB,i)),s}function R(t,n){var a,e=g(t),o=v(t),i=l(t),h=n*(o+i+e.lengthParallel73)/73;return o>=h?a=r(h,o,s(t),c(t)):o+i>=h?(h-=o,a=r(h,i,c(t),f(t))):(h=h-o-i,a=r(h,e.lengthParallel73,f(t),e.parallel73)),a}function y(t,n){var e=d(t),o=a(f(t),e),i=g(t),h=i.parallel73,u=i.lengthParallel73,M=(75-n)*(o-u)/2,s=[0,0];return o>=M?s=r(M,o,e,f(t)):(M-=o,s=r(M,-u,f(t),h)),s}function G(t,n,a){var e=n*a/15,o=v(t),i=l(t),h=[0,0];return o>=e?h=r(e,o,s(t),c(t)):(e-=o,h=r(e,i,c(t),f(t))),h}function P(t,n,a){var e,o=g(t),i=o.parallel73,h=v(t),u=l(t),M=o.lengthParallel73,d=a+(n-15)*(h+u+M-a)/58;return h>=d?e=r(d,h,s(t),f(t)):h+u>=d?(d-=h,e=r(d,u,c(t),f(t))):(d=d-h-u,e=r(d,M,f(t),i)),e}function x(t,n){var r,e,i,h,u,M=[0,0];return 0===t?M=n>=75?b(t,n):q(t,n):n>=75?M=w(t,n):0===n?M=m(t,n):n>=73&&30>=t?M=S(t,n):45===t?M=15>=n?T(t,n):73>=n?A(t,n):Q(t,n):29>=t?M=R(t,n):n>=73?M=y(t,n):(e=o(k.pointC,k.radius,c(t),f(t)),h=e[0],i=e[1],r=v(t),1===h?u=r+a(c(t),i):(e=o(k.pointC,k.radius,s(t),c(t)),h=e[0],i=e[1],0===h&&console.log("Something weird!"),u=r-a(c(t),i)),M=15>=n?G(t,n,u):P(t,n,u)),M}function E(t,n){var a=[0,0];if(0===n)a=i(t,-60);else if(1===n)a=i(t,-120),a[0]-=k.lengthMG;else if(2===n)a=i(t,-60),a[0]-=k.lengthMG;else if(3===n)a=i(t,-120),a[0]+=k.lengthMG;else if(4===n)a=i(t,-60),a[0]+=k.lengthMG;else if(5===n)a=i([2*k.lengthMG-t[0],t[1]],-60),a[0]+=k.lengthMG;else if(6===n)a=i([2*k.lengthMG-t[0],t[1]],-120),a[0]-=k.lengthMG;else if(7===n)a=i([2*k.lengthMG-t[0],t[1]],-60),a[0]-=k.lengthMG;else{if(8!==n)return console.log("mj2g: something weird happened!"),a;a=i([2*k.lengthMG-t[0],t[1]],-120),a[0]+=k.lengthMG}return a[1]+=k.yTranslate,a}function B(t,n){var a=t*oa,r=n*oa,e=p(a,r),o=e[0],i=e[1],h=e[2],u=e[3],M=x(o,i),s=E([M[0],h*M[1]],u);return s}var k={lengthMG:t};return n(),B}function R(){var t=1e4,n=ha(Q),a=n(t);return a}function y(t){function n(n,a){for(var r=Math.sin(a),e=Math.cos(a),o=new Array(3),M=0;3>M;++M){var s=t[M];if(o[M]=P(a-s[1],s[3],s[2],e,r,n-s[0]),!o[M][0])return s.point;o[M][1]=E(o[M][1]-s.v[1])}for(var c=u.slice(),M=0;3>M;++M){var f=2==M?0:M+1,v=x(t[M].v[0],o[M][0],o[f][0]);o[M][1]<0&&(v=-v),M?1==M?(v=i-v,c[0]-=o[M][0]*Math.cos(v),c[1]-=o[M][0]*Math.sin(v)):(v=h-v,c[0]+=o[M][0]*Math.cos(v),c[1]+=o[M][0]*Math.sin(v)):(c[0]+=o[M][0]*Math.cos(v),c[1]-=o[M][0]*Math.sin(v))}return c[0]/=3,c[1]/=3,c}t=t.map(function(t){return[t[0],t[1],Math.sin(t[1]),Math.cos(t[1])]});for(var a,r=t[2],e=0;3>e;++e,r=a)a=t[e],r.v=P(a[1]-r[1],r[3],r[2],a[3],a[2],a[0]-r[0]),r.point=[0,0];var o=x(t[0].v[0],t[2].v[0],t[1].v[0]),i=x(t[0].v[0],t[1].v[0],t[2].v[0]),h=aa-o;t[2].point[1]=0,t[0].point[0]=-(t[1].point[0]=.5*t[0].v[0]);var u=[t[2].point[0]=t[0].point[0]+t[2].v[0]*Math.cos(o),2*(t[0].point[1]=t[1].point[1]=t[2].v[0]*Math.sin(o))];return n}function G(){var t=[[0,0],[0,0],[0,0]],n=ha(y),a=n(t),r=a.rotate;return delete a.rotate,a.points=function(e){if(!arguments.length)return t;t=e;var o=d3.geo.centroid({type:"MultiPoint",coordinates:t}),i=[-o[0],-o[1]];return r.call(a,i),n(t.map(d3.geo.rotation(i)).map(B))},a.points([[-150,55],[-35,55],[-92.5,10]])}function P(t,n,e,o,i,h){var u,M=Math.cos(h);if(Math.abs(t)>1||Math.abs(h)>1)u=r(e*i+n*o*M);else{var s=Math.sin(.5*t),c=Math.sin(.5*h);u=2*a(Math.sqrt(s*s+n*o*c*c))}return Math.abs(u)>ta?[u,Math.atan2(o*Math.sin(h),n*i-e*o*M)]:[0,0]}function x(t,n,a){return r(.5*(t*t+n*n-a*a)/(t*n))}function E(t){return t-2*aa*Math.floor((t+aa)/(2*aa))}function B(t){return[t[0]*ea,t[1]*ea]}function k(t,n){var a=e(1-Math.sin(n));return[2/ra*t*a,ra*(1-a)]}function D(t){function n(t,n){return[t,(t?t/Math.sin(t):1)*(Math.sin(n)*Math.cos(t)-r*Math.cos(n))]}var r=Math.tan(t);return n.invert=r?function(t,n){t&&(n*=Math.sin(t)/t);var a=Math.cos(t);return[t,2*Math.atan2(Math.sqrt(a*a+r*r-n*n)-a,r-n)]}:function(t,n){return[t,a(t?n*Math.tan(t)/t:n)]},n}function _(t,n){var a=Math.sqrt(3);return[a*t*(2*Math.cos(2*n/3)-1)/ra,a*ra*Math.sin(n/3)]}function F(t){function n(t,n){return[t*r,Math.sin(n)/r]}var r=Math.cos(t);return n.invert=function(t,n){return[t/r,a(n*r)]},n}function z(t){function n(t,n){return[t*a,(1+a)*Math.tan(.5*n)]}var a=Math.cos(t);return n.invert=function(t,n){return[t/a,2*Math.atan(n/(1+a))]},n}function C(t,n){var a=Math.sqrt(8/(3*aa));return[a*t*(1-Math.abs(n)/aa),a*n]}function j(t,a){var r=Math.sqrt(4-3*Math.sin(Math.abs(a)));return[2/Math.sqrt(6*aa)*t*r,n(a)*Math.sqrt(2*aa/3)*(2-r)]}function H(t,n){var a=Math.sqrt(aa*(4+aa));return[2/a*t*(1+Math.sqrt(1-4*n*n/(aa*aa))),4/a*n]}function I(t,n){var a=(2+aa/2)*Math.sin(n);n/=2;for(var r=0,e=1/0;10>r&&Math.abs(e)>ta;r++){var o=Math.cos(n);n-=e=(n+Math.sin(n)*(o+2)-a)/(2*o*(1+o))}return[2/Math.sqrt(aa*(4+aa))*t*(1+Math.cos(n)),2*Math.sqrt(aa/(4+aa))*Math.sin(n)]}function K(t,n){return[t*(1+Math.cos(n))/Math.sqrt(2+aa),2*n/Math.sqrt(2+aa)]}function J(t,n){for(var a=(1+aa/2)*Math.sin(n),r=0,e=1/0;10>r&&Math.abs(e)>ta;r++)n-=e=(n+Math.sin(n)-a)/(1+Math.cos(n));return a=Math.sqrt(2+aa),[t*(1+Math.cos(n))/a,2*n/a]}function L(t,n){var a=Math.sin(t/=2),r=Math.cos(t),e=Math.sqrt(Math.cos(n)),o=Math.cos(n/=2),i=Math.sin(n)/(o+Math.SQRT2*r*e),h=Math.sqrt(2/(1+i*i)),u=Math.sqrt((Math.SQRT2*o+(r+a)*e)/(Math.SQRT2*o+(r-a)*e));return[va*(h*(u-1/u)-2*Math.log(u)),va*(h*i*(u+1/u)-2*Math.atan(i))]}function N(t,n){var a=Math.tan(n/2);return[t*la*e(1-a*a),(1+la)*a]}function O(t,n){var a=n/2,r=Math.cos(a);return[2*t/ra*Math.cos(n)*r*r,ra*Math.tan(a)]}function U(t,n,a,r,o,i,h,u){function M(e,M){if(!M)return[t*e/aa,0];var s=M*M,c=t+s*(n+s*(a+s*r)),f=M*(o-1+s*(i-u+s*h)),v=(c*c+f*f)/(2*f),l=e*Math.asin(c/v)/aa;return[v*Math.sin(l),M*(1+s*u)+v*(1-Math.cos(l))]}return arguments.length<8&&(u=0),M.invert=function(M,s){var c,f,v=aa*M/t,l=s,g=50;do{var d=l*l,p=t+d*(n+d*(a+d*r)),b=l*(o-1+d*(i-u+d*h)),q=p*p+b*b,w=2*b,m=q/w,S=m*m,T=Math.asin(p/m)/aa,A=v*T;if(xB2=p*p,dxBdφ=(2*n+d*(4*a+6*d*r))*l,dyBdφ=o+d*(3*i+5*d*h),dpdφ=2*(p*dxBdφ+b*(dyBdφ-1)),dqdφ=2*(dyBdφ-1),dmdφ=(dpdφ*w-q*dqdφ)/(w*w),cosα=Math.cos(A),sinα=Math.sin(A),mcosα=m*cosα,msinα=m*sinα,dαdφ=v/aa*(1/e(1-xB2/S))*(dxBdφ*m-p*dmdφ)/S,fx=msinα-M,fy=l*(1+d*u)+m-mcosα-s,δxδφ=dmdφ*sinα+mcosα*dαdφ,δxδλ=mcosα*T,δyδφ=1+dmdφ-(dmdφ*cosα-msinα*dαdφ),δyδλ=msinα*T,denominator=δxδφ*δyδλ-δyδφ*δxδλ,!denominator)break;v-=c=(fy*δxδφ-fx*δyδφ)/denominator,l-=f=(fx*δyδλ-fy*δxδλ)/denominator}while((Math.abs(c)>ta||Math.abs(f)>ta)&&--g>0);return[v,l]},M}function V(t,n){var a=t*t,r=n*n;return[t*(1-.162388*r)*(.87-952426e-9*a*a),n*(1+r/12)]}function W(t){function a(){var t=!1,n=ha(r),a=n(t);return a.quincuncial=function(a){return arguments.length?n(t=!!a):t},a}function r(a){var r=a?function(a,r){var o=Math.abs(a)0?a-aa:a+aa,r),h=(i[0]-i[1])*Math.SQRT1_2,u=(i[0]+i[1])*Math.SQRT1_2;if(o)return[h,u];var M=e*Math.SQRT1_2,s=h>0^u>0?-1:1;return[s*h-n(u)*M,s*u-n(h)*M]}:function(n,a){var r=n>0?-.5:.5,o=t(n+r*aa,a);return o[0]-=r*e,o};return t.invert&&(r.invert=a?function(n,a){var r=(n+a)*Math.SQRT1_2,o=(a-n)*Math.SQRT1_2,i=Math.abs(r)<.5*e&&Math.abs(o)<.5*e;if(!i){var h=e*Math.SQRT1_2,u=r>0^o>0?-1:1,M=-u*(n+(o>0?1:-1)*h),s=-u*(a+(r>0?1:-1)*h);r=(-M-s)*Math.SQRT1_2,o=(M-s)*Math.SQRT1_2}var c=t.invert(r,o);return i||(c[0]+=r>0?aa:-aa),c}:function(n,a){var r=n>0?-.5:.5,o=t.invert(n+r*e,a),i=o[0]-r*aa;return-aa>i?i+=2*aa:i>aa&&(i-=2*aa),o[0]=i,o}),r}var e=t(aa/2,0)[0]-t(-aa/2,0)[0];return a.raw=r,a}function X(t,r){var e=n(t),o=n(r),i=Math.cos(r),h=Math.cos(t)*i,u=Math.sin(t)*i,M=Math.sin(o*r);t=Math.abs(Math.atan2(u,M)),r=a(h),Math.abs(t-aa/2)>ta&&(t%=aa/2);var s=Y(t>aa/4?aa/2-t:t,r);return t>aa/4&&(M=s[0],s[0]=-s[1],s[1]=-M),s[0]*=e,s[1]*=-o,s}function Y(t,n){if(n===aa/2)return[0,0];var r=Math.sin(n),o=r*r,i=o*o,h=1+i,u=1+3*i,M=1-i,s=a(1/Math.sqrt(h)),c=M+o*h*s,f=(1-r)/c,v=Math.sqrt(f),l=f*h,g=Math.sqrt(l),d=v*M;if(0===t)return[0,-(d+o*g)];var p=Math.cos(n),b=1/p,q=2*r*p,w=(-3*o+s*u)*q,m=(-c*p-(1-r)*w)/(c*c),S=.5*m/v,T=M*S-2*o*v*q,A=o*h*m+f*u*q,Q=-b*q,R=-b*A,y=-2*b*T,G=4*t/aa;if(t>.222*aa||aa/4>n&&t>.175*aa){var P=(d+o*e(l*(1+i)-d*d))/(1+i);if(t>aa/4)return[P,P];var x=P,E=.5*P,B=50;P=.5*(E+x);do{var k=Math.sqrt(l-P*P),D=P*(y+Q*k)+R*a(P/g)-G;if(!D)break;0>D?E=P:x=P,P=.5*(E+x)}while(Math.abs(x-E)>ta&&--B>0)}else{var _,P=ta,B=25;do{var F=P*P,k=e(l-F),z=y+Q*k,D=P*z+R*a(P/g)-G,C=z+(R-Q*F)/k;P-=_=k?D/C:0}while(Math.abs(_)>ta&&--B>0)}return[P,-d-o*e(l-P*P)]}function Z(t,n){for(var a=0,r=1,e=.5,o=50;;){var i=e*e,h=Math.sqrt(e),u=Math.asin(1/Math.sqrt(1+i)),M=1-i+e*(1+i)*u,s=(1-h)/M,c=Math.sqrt(s),f=s*(1+i),v=c*(1-i),l=f-t*t,g=Math.sqrt(l),d=n+v+e*g;if(Math.abs(r-a)0?a=e:r=e,e=.5*(a+r)}if(!o)return null;var p=Math.asin(h),b=Math.cos(p),q=1/b,w=2*h*b,m=(-3*e+u*(1+3*i))*w,S=(-M*b-(1-h)*m)/(M*M),T=.5*S/c,A=(1-i)*T-2*e*c*w,Q=-2*q*A,R=-q*w,y=-q*(e*(1+i)*S+s*(1+3*i)*w);return[aa/4*(t*(Q+R*g)+y*Math.asin(t/Math.sqrt(f))),p]}function $(t,n,a){if(!t){var r=tn(n,1-a);return[[0,r[0]/r[1]],[1/r[1],0],[r[2]/r[1],0]]}var e=tn(t,a);if(!n)return[[e[0],0],[e[1],0],[e[2],0]];var r=tn(n,1-a),o=r[1]*r[1]+a*e[0]*e[0]*r[0]*r[0];return[[e[0]*r[2]/o,e[1]*e[2]*r[0]*r[1]/o],[e[1]*r[1]/o,-e[0]*e[2]*r[0]*r[2]/o],[e[2]*r[1]*r[2]/o,-a*e[0]*e[1]*r[0]/o]]}function tn(t,n){var r,o,i,h,u;if(ta>n)return h=Math.sin(t),o=Math.cos(t),r=.25*n*(t-h*o),[h-r*o,o+r*h,1-.5*n*h*h,t-r];if(n>=1-ta)return r=.25*(1-n),o=f(t),h=s(t),i=1/o,u=o*c(t),[h+r*(u-t)/(o*o),i-r*h*i*(u-t),i+r*h*i*(u+t),2*Math.atan(Math.exp(t))-aa/2+r*(u-t)/o];var M=[1,0,0,0,0,0,0,0,0],v=[Math.sqrt(n),0,0,0,0,0,0,0,0],l=0;for(o=Math.sqrt(1-n),u=1;Math.abs(v[l]/M[l])>ta&&8>l;)r=M[l++],v[l]=.5*(r-o),M[l]=.5*(r+o),o=e(r*o),u*=2;i=u*M[l]*t;do h=v[l]*Math.sin(o=i)/M[l],i=.5*(a(h)+i);while(--l);return[Math.sin(i),h=Math.cos(i),h/Math.cos(i-o),i]}function nn(t,a,r){var o=Math.abs(t),i=Math.abs(a),h=c(i);if(o){var u=1/Math.sin(o),M=1/(Math.tan(o)*Math.tan(o)),s=-(M+r*h*h*u*u-1+r),f=(r-1)*M,v=.5*(-s+Math.sqrt(s*s-4*f));return[an(Math.atan(1/Math.sqrt(v)),r)*n(t),an(Math.atan(e((v/M-1)/r)),1-r)*n(a)]}return[0,an(Math.atan(h),1-r)*n(a)]}function an(t,n){if(!n)return t;if(1===n)return Math.log(Math.tan(t/2+aa/4));for(var a=1,r=Math.sqrt(1-n),e=Math.sqrt(n),o=0;Math.abs(e)>ta;o++){if(t%aa){var i=Math.atan(r*Math.tan(t)/a);0>i&&(i+=aa),t+=i+~~(t/aa)*aa}else t+=t;e=(a+r)/2,r=Math.sqrt(a*r),e=((a=e)-r)/2}return t/(Math.pow(2,o)*a)}function rn(t,a){var r=(Math.SQRT2-1)/(Math.SQRT2+1),e=Math.sqrt(1-r*r),o=an(aa/2,e*e),i=-1,h=Math.log(Math.tan(aa/4+Math.abs(a)/2)),u=Math.exp(i*h)/Math.sqrt(r),M=en(u*Math.cos(i*t),u*Math.sin(i*t)),s=nn(M[0],M[1],e*e);return[-s[1],n(a)*(.5*o-s[0])]}function en(t,a){var r=t*t,e=a+1,o=1-r-a*a;return[n(t)*aa/4-.5*Math.atan2(o,2*t),-.25*Math.log(o*o+4*r)+.5*Math.log(e*e+r)]}function on(t,n){var a=n[0]*n[0]+n[1]*n[1];return[(t[0]*n[0]+t[1]*n[1])/a,(t[1]*n[0]-t[0]*n[1])/a]}function hn(t){function n(t,n){var e=i(t,n);t=e[0],n=e[1];var h=Math.sin(n),u=Math.cos(n),M=Math.cos(t),s=r(a*h+o*u*M),c=Math.sin(s),f=Math.abs(c)>ta?s/c:1;return[f*o*Math.sin(t),(Math.abs(t)>aa/2?f:-f)*(a*u-o*h*M)]}var a=Math.sin(t),o=Math.cos(t),i=un(t);return i.invert=un(-t),n.invert=function(t,n){var r=Math.sqrt(t*t+n*n),o=-Math.sin(r),h=Math.cos(r),u=r*h,M=-n*o,s=r*a,c=e(u*u+M*M-s*s),f=Math.atan2(u*s+M*c,M*s-u*c),v=(r>aa/2?-1:1)*Math.atan2(t*o,r*Math.cos(f)*h+n*Math.sin(f)*o);return i.invert(v,f)},n}function un(t){var n=Math.sin(t),r=Math.cos(t);return function(t,e){var o=Math.cos(e),i=Math.cos(t)*o,h=Math.sin(t)*o,u=Math.sin(e);return[Math.atan2(h,i*r-u*n),a(u*r+i*n)]}}function Mn(){var t=0,n=ha(hn),a=n(t),r=a.rotate,e=a.stream,o=d3.geo.circle();return a.parallel=function(r){if(!arguments.length)return 180*(t/aa);var e=a.rotate();return n(t=r*aa/180).rotate(e)},a.rotate=function(n){return arguments.length?(r.call(a,[n[0],n[1]-180*(t/aa)]),o.origin([-n[0],-n[1]]),a):(n=r.call(a),n[1]+=180*(t/aa),n)},a.stream=function(t){return t=e(t),t.sphere=function(){t.polygonStart();var n,a=.01,r=o.angle(90-a)().coordinates[0],e=r.length-1,i=-1;for(t.lineStart();++i=0;)t.point((n=r[i])[0],n[1]);t.lineEnd(),t.polygonEnd()},t},a}function sn(t,n){function a(a,r){var e=qa(a/n,r);return e[0]*=t,e}return arguments.length<2&&(n=t),1===n?qa:1/0===n?fn:(a.invert=function(a,r){var e=qa.invert(a/t,r);return e[0]*=n,e},a)}function cn(){var t=2,n=ha(sn),a=n(t);return a.coefficient=function(a){return arguments.length?n(t=+a):t},a}function fn(t,n){return[t*Math.cos(n)/Math.cos(n/=2),2*Math.sin(n)]}function vn(t,n){for(var a,r=Math.sin(n)*(0>n?2.43763:2.67595),e=0;20>e&&(n-=a=(n+Math.sin(n)-r)/(1+Math.cos(n)),!(Math.abs(a)n?1.93052:1.75859)]}function ln(t){function n(n,s){var c,f=Math.abs(s);if(f>r){var v=Math.min(t-1,Math.max(0,Math.floor((n+aa)/M)));n+=aa*(t-1)/t-v*M,c=d3.geo.collignon.raw(n,f),c[0]=c[0]*e/o-e*(t-1)/(2*t)+v*e/t,c[1]=i+4*(c[1]-h)*u/e,0>s&&(c[1]=-c[1])}else c=a(n,s);return c[0]/=2,c}var a=d3.geo.cylindricalEqualArea.raw(0),r=wa*aa/180,e=2*aa,o=d3.geo.collignon.raw(aa,r)[0]-d3.geo.collignon.raw(-aa,r)[0],i=a(0,r)[1],h=d3.geo.collignon.raw(0,r)[1],u=d3.geo.collignon.raw(0,aa/2)[1]-h,M=2*aa/t;return n.invert=function(n,r){n*=2;var s=Math.abs(r);if(s>i){var c=Math.min(t-1,Math.max(0,Math.floor((n+aa)/M)));n=(n+aa*(t-1)/t-c*M)*o/e;var f=d3.geo.collignon.raw.invert(n,.25*(s-i)*e/u+h);return f[0]-=aa*(t-1)/t-c*M,0>r&&(f[1]=-f[1]),f}return a.invert(n,r)},n}function gn(){function t(){var t=180/n;return{type:"Polygon",coordinates:[d3.range(-180,180+t/2,t).map(function(t,n){return[t,1&n?90-1e-6:wa]}).concat(d3.range(180,-180-t/2,-t).map(function(t,n){return[t,1&n?-90+1e-6:-wa]}))]}}var n=2,a=ha(ln),r=a(n),e=r.stream;return r.lobes=function(t){return arguments.length?a(n=+t):n},r.stream=function(n){var a=r.rotate(),o=e(n),i=(r.rotate([0,0]),e(n));return r.rotate(a),o.sphere=function(){d3.geo.stream(t(),i)},o},r}function dn(t){function n(n,a){var r,i,f=1-Math.sin(a);if(f&&2>f){var v,l=aa/2-a,g=25;do{var d=Math.sin(l),p=Math.cos(l),b=h+Math.atan2(d,o-p),q=1+c-2*o*p;l-=v=(l-s*h-o*d+q*b-.5*f*e)/(2*o*d*b)}while(Math.abs(v)>na&&--g>0);r=u*Math.sqrt(q),i=n*b/aa}else r=u*(t+f),i=n*h/aa;return[r*Math.sin(i),M-r*Math.cos(i)]}var e,o=1+t,i=Math.sin(1/o),h=a(i),u=2*Math.sqrt(aa/(e=aa+4*h*o)),M=.5*u*(o+Math.sqrt(t*(2+t))),s=t*t,c=o*o;return n.invert=function(t,n){var i=t*t+(n-=M)*n,f=(1+c-i/(u*u))/(2*o),v=r(f),l=Math.sin(v),g=h+Math.atan2(l,o-f);return[a(t/Math.sqrt(i))*aa/g,a(1-2*(v-s*h-o*l+(1+c-2*o*f)*g)/e)]},n}function pn(){var t=1,n=ha(dn),a=n(t);return a.ratio=function(a){return arguments.length?n(t=+a):t},a}function bn(t,n){return n>-ma?(t=ca(t,n),t[1]+=Sa,t):T(t,n)}function qn(t,n){return Math.abs(n)>ma?(t=ca(t,n),t[1]-=n>0?Sa:-Sa,t):T(t,n)}function wn(t,n){return[3*t/(2*aa)*Math.sqrt(aa*aa/3-n*n),n]}function mn(t){function r(n,a){if(Math.abs(Math.abs(a)-aa/2)a?-2:2];var r=Math.sin(a),e=Math.pow((1+r)/(1-r),t/2),o=.5*(e+1/e)+Math.cos(n*=t);return[2*Math.sin(n)/o,(e-1/e)/o]}return r.invert=function(r,e){var o=Math.abs(e);if(Math.abs(o-2)2)return null;r/=2,e/=2;var i=r*r,h=e*e,u=2*e/(1+i+h);return u=Math.pow((1+u)/(1-u),1/t),[Math.atan2(2*r,1-i-h)/t,a((u-1)/(u+1))]},r}function Sn(){var t=.5,n=ha(mn),a=n(t);return a.spacing=function(a){return arguments.length?n(t=+a):t},a}function Tn(t,n){return[t*(1+Math.sqrt(Math.cos(n)))/2,n/(Math.cos(n/2)*Math.cos(t/6))]}function An(t,n){var a=t*t,r=n*n;return[t*(.975534+r*(-.119161+a*-.0143059+r*-.0547009)),n*(1.00384+a*(.0802894+r*-.02855+199025e-9*a)+r*(.0998909+r*-.0491032))]}function Qn(t,n){return[Math.sin(t)/Math.cos(n),Math.tan(n)*Math.cos(t)]}function Rn(t){function n(n,e){var o=e-t,i=Math.abs(o)=0;)s=t[M],c=s[0]+h*(e=c)-u*f,f=s[1]+h*f+u*e;return c=h*(e=c)-u*f,f=h*f+u*e,[c,f]}var r=t.length-1;return n.invert=function(n,e){var o=20,i=n,h=e;do{for(var u,M=r,s=t[M],c=s[0],f=s[1],v=0,l=0;--M>=0;)s=t[M],v=c+i*(u=v)-h*l,l=f+i*l+h*u,c=s[0]+i*(u=c)-h*f,f=s[1]+i*f+h*u;v=c+i*(u=v)-h*l,l=f+i*l+h*u,c=i*(u=c)-h*f-n,f=i*f+h*u-e;var g,d,p=v*v+l*l;i-=g=(c*v+f*l)/p,h-=d=(f*v-c*l)/p}while(Math.abs(g)+Math.abs(d)>ta*ta&&--o>0);if(o){var b=Math.sqrt(i*i+h*h),q=2*Math.atan(.5*b),w=Math.sin(q);return[Math.atan2(i*w,b*Math.cos(q)),b?a(h*w/b):0]}},n}function Pn(){var t=Ta.miller,n=ha(Gn),a=n(t);return a.coefficients=function(a){return arguments.length?n(t="string"==typeof a?Ta[a]:a):t},a}function xn(t,n){var a=Math.sqrt(6),r=Math.sqrt(7),e=Math.asin(7*Math.sin(n)/(3*a));return[a*t*(2*Math.cos(2*e/3)-1)/r,9*Math.sin(e/3)/r]}function En(t,n){for(var a,r=(1+Math.SQRT1_2)*Math.sin(n),e=n,o=0;25>o&&(e-=a=(Math.sin(e/2)+Math.sin(e)-r)/(.5*Math.cos(e/2)+Math.cos(e)),!(Math.abs(a)i&&(o-=a=(o/2+Math.sin(o)-e)/(.5+Math.cos(o)),!(Math.abs(a)ta&&--M>0);var v=n*(s=Math.tan(u)),l=Math.tan(Math.abs(o)0?aa:-aa)/2*(M+o*(c-h)/2+o*o*(c-2*M+h)/2)]}function Cn(t){function n(n,a){var r=Math.cos(a),e=(t-1)/(t-r*Math.cos(n));return[e*r*Math.sin(n),e*Math.sin(a)]}return n.invert=function(n,r){var e=n*n+r*r,o=Math.sqrt(e),i=(t-Math.sqrt(1-e*(t+1)/(t-1)))/((t-1)/o+o/(t-1));return[Math.atan2(n*i,o*Math.sqrt(1-i*i)),o?a(r*i/o):0]},n}function jn(t,n){function a(n,a){var i=r(n,a),h=i[1],u=h*o/(t-1)+e;return[i[0]*e/u,h/u]}var r=Cn(t);if(!n)return r;var e=Math.cos(n),o=Math.sin(n);return a.invert=function(n,a){var i=(t-1)/(t-1-a*o);return r.invert(i*n,i*a*e)},a}function Hn(){var t=1.4,n=0,a=ha(jn),r=a(t,n);return r.distance=function(r){return arguments.length?a(t=+r,n):t},r.tilt=function(r){return arguments.length?a(t,n=r*aa/180):180*n/aa},r}function In(t,n){var a=Math.tan(n/2),r=Math.sin(aa/4*a);return[t*(.74482-.34588*r*r),1.70711*a]}function Kn(t){function n(n,h){var u=r(Math.cos(h)*Math.cos(n-a)),M=r(Math.cos(h)*Math.cos(n-o)),s=0>h?-1:1;return u*=u,M*=M,[(u-M)/(2*t),s*e(4*i*M-(i-u+M)*(i-u+M))/(2*t)]}if(!t)return d3.geo.azimuthalEquidistant.raw;var a=-t/2,o=-a,i=t*t,h=Math.tan(o),u=.5/Math.sin(o);return n.invert=function(t,n){var e,i,M=n*n,s=Math.cos(Math.sqrt(M+(e=t+a)*e)),c=Math.cos(Math.sqrt(M+(e=t+o)*e));return[Math.atan2(i=s-c,e=(s+c)*h),(0>n?-1:1)*r(Math.sqrt(e*e+i*i)*u)]},n}function Jn(){var t=[[0,0],[0,0]],n=ha(Kn),r=n(0),e=r.rotate;return delete r.rotate,r.points=function(r){if(!arguments.length)return t;t=r;var o=d3.geo.interpolate(r[0],r[1]),i=o(.5),h=d3.geo.rotation([-i[0],-i[1]])(r[0]),u=.5*o.distance,M=(h[0]<0?-1:1)*h[1]*ea,s=a(Math.sin(M)/Math.sin(u));return e.call(h,[-i[0],-i[1],-s*oa]),n(2*u)},r}function Ln(t){function n(t,n){var r=d3.geo.gnomonic.raw(t,n);return r[0]*=a,r}var a=Math.cos(t);return n.invert=function(t,n){return d3.geo.gnomonic.raw.invert(t/a,n)},n}function Nn(){var t=[[0,0],[0,0]],n=ha(Ln),r=n(0),e=r.rotate;return delete r.rotate,r.points=function(r){if(!arguments.length)return t;t=r;var o=d3.geo.interpolate(r[0],r[1]),i=o(.5),h=twoPointEquidistant_rotate(-i[0]*ea,-i[1]*ea,r[0][0]*ea,r[0][1]*ea),u=.5*o.distance,M=(h[0]<0?-1:1)*h[1],s=a(Math.sin(M)/Math.sin(u));return e.call(h,[-i[0],-i[1],-s*oa]),n(u)},r}function On(t,r){if(Math.abs(r)a?-1:1,e=h[+(0>a)],o=0,i=e.length-1;i>o&&n>e[o][2][0];++o);var u=t(n-e[o][1][0],a);return u[0]+=t(e[o][1][0],r*a>r*e[o][0][1]?e[o][0][1]:a)[0],u}function a(){i=h.map(function(n){return n.map(function(n){var a,r=t(n[0][0],n[0][1])[0],e=t(n[2][0],n[2][1])[0],o=t(n[1][0],n[0][1])[1],i=t(n[1][0],n[1][1])[1];return o>i&&(a=o,o=i,i=a),[[r,o],[e,i]]})})}function r(){for(var t=1e-6,n=[],a=0,r=h[0].length;r>a;++a){var o=h[0][a],i=180*o[0][0]/aa,u=180*o[0][1]/aa,M=180*o[1][1]/aa,s=180*o[2][0]/aa,c=180*o[2][1]/aa;n.push(e([[i+t,u+t],[i+t,M-t],[s-t,M-t],[s-t,c+t]],30))}for(var a=h[1].length-1;a>=0;--a){var o=h[1][a],i=180*o[0][0]/aa,u=180*o[0][1]/aa,M=180*o[1][1]/aa,s=180*o[2][0]/aa,c=180*o[2][1]/aa;n.push(e([[s-t,c-t],[s-t,M+t],[i+t,M+t],[i+t,u-t]],30))}return{type:"Polygon",coordinates:[d3.merge(n)]}}function e(t,n){for(var a,r,e,o=-1,i=t.length,h=t[0],u=[];++oM;++M)u.push([h[0]+M*r,h[1]+M*e]);h=a}return u.push(a),u}function o(t,n){return Math.abs(t[0]-n[0])r)],u=h[+(0>r)],M=0,s=e.length;s>M;++M){var c=e[M]; if(c[0][0]<=a&&ata||Math.abs(R)>ta)&&--o>0);return[a,e]},(d3.geo.aitoff=function(){return ia(h)}).raw=h,(d3.geo.armadillo=M).raw=u,g.invert=function(t,r){if(t*=3/8,r*=3/8,!t&&Math.abs(r)>1)return null;var e=t*t,o=r*r,i=1+e+o,h=Math.sqrt(.5*(i-Math.sqrt(i*i-4*r*r))),u=a(h)/3,M=h?l(Math.abs(r/h))/3:v(Math.abs(t))/3,s=Math.cos(u),g=f(M),d=g*g-s*s;return[2*n(t)*Math.atan2(c(M)*s,.25-d),2*n(r)*Math.atan2(g*Math.sin(u),.25+d)]},(d3.geo.august=function(){return ia(g)}).raw=g;var ua=Math.log(1+Math.SQRT2);d.invert=function(t,a){if((e=Math.abs(a))na&&--h>0);return[t/(Math.cos(i)*(o-1/Math.sin(i))),n(a)*i]},(d3.geo.baker=function(){return ia(d)}).raw=d;var Ma=d3.geo.azimuthalEquidistant.raw;(d3.geo.berghaus=b).raw=p;var sa=q(aa),ca=w(2*Math.SQRT2/aa,Math.SQRT2,aa);(d3.geo.mollweide=function(){return ia(ca)}).raw=ca,m.invert=function(t,n){var a,r,e=2.00276,o=e*n,i=0>n?-aa/4:aa/4,h=25;do r=o-Math.SQRT2*Math.sin(i),i-=a=(Math.sin(2*i)+2*i-aa*Math.sin(r))/(2*Math.cos(2*i)+2+aa*Math.cos(r)*Math.SQRT2*Math.cos(i));while(Math.abs(a)>ta&&--h>0);return r=o-Math.SQRT2*Math.sin(i),[t*(1/Math.cos(r)+1.11072/Math.cos(i))/e,r]},(d3.geo.boggs=function(){return ia(m)}).raw=m,T.invert=function(t,n){return[t/Math.cos(n),n]},(d3.geo.sinusoidal=function(){return ia(T)}).raw=T,(d3.geo.bonne=function(){return S(A).parallel(45)}).raw=A;var fa=w(1,4/aa,aa);(d3.geo.bromley=function(){return ia(fa)}).raw=fa,(d3.geo.cahillKeyes=R).raw=Q,(d3.geo.chamberlin=G).raw=y,k.invert=function(t,n){var r=(r=n/ra-1)*r;return[r>0?t*Math.sqrt(aa/r)/2:0,a(1-r)]},(d3.geo.collignon=function(){return ia(k)}).raw=k,(d3.geo.craig=function(){return S(D)}).raw=D,_.invert=function(t,n){var r=Math.sqrt(3),e=3*a(n/(r*ra));return[ra*t/(r*(2*Math.cos(2*e/3)-1)),e]},(d3.geo.craster=function(){return ia(_)}).raw=_,(d3.geo.cylindricalEqualArea=function(){return S(F)}).raw=F,(d3.geo.cylindricalStereographic=function(){return S(z)}).raw=z,C.invert=function(t,n){var a=Math.sqrt(8/(3*aa)),r=n/a;return[t/(a*(1-Math.abs(r)/aa)),r]},(d3.geo.eckert1=function(){return ia(C)}).raw=C,j.invert=function(t,r){var e=2-Math.abs(r)/Math.sqrt(2*aa/3);return[t*Math.sqrt(6*aa)/(2*e),n(r)*a((4-e*e)/3)]},(d3.geo.eckert2=function(){return ia(j)}).raw=j,H.invert=function(t,n){var a=Math.sqrt(aa*(4+aa))/2;return[t*a/(1+e(1-n*n*(4+aa)/(4*aa))),n*a/2]},(d3.geo.eckert3=function(){return ia(H)}).raw=H,I.invert=function(t,n){var r=.5*n*Math.sqrt((4+aa)/aa),e=a(r),o=Math.cos(e);return[t/(2/Math.sqrt(aa*(4+aa))*(1+o)),a((e+r*(o+2))/(2+aa/2))]},(d3.geo.eckert4=function(){return ia(I)}).raw=I,K.invert=function(t,n){var a=Math.sqrt(2+aa),r=n*a/2;return[a*t/(1+Math.cos(r)),r]},(d3.geo.eckert5=function(){return ia(K)}).raw=K,J.invert=function(t,n){var r=1+aa/2,e=Math.sqrt(r/2);return[2*t*e/(1+Math.cos(n*=e)),a((n+Math.sin(n))/r)]},(d3.geo.eckert6=function(){return ia(J)}).raw=J,L.invert=function(t,n){var a=d3.geo.august.raw.invert(t/1.2,1.065*n);if(!a)return null;var r=a[0],e=a[1],o=20;t/=va,n/=va;do{var i=r/2,h=e/2,u=Math.sin(i),M=Math.cos(i),s=Math.sin(h),c=Math.cos(h),f=Math.cos(e),v=Math.sqrt(f),l=s/(c+Math.SQRT2*M*v),g=l*l,d=Math.sqrt(2/(1+g)),p=Math.SQRT2*c+(M+u)*v,b=Math.SQRT2*c+(M-u)*v,q=p/b,w=Math.sqrt(q),m=w-1/w,S=w+1/w,T=d*m-2*Math.log(w)-t,A=d*l*S-2*Math.atan(l)-n,Q=s&&Math.SQRT1_2*v*u*g/s,R=(Math.SQRT2*M*c+v)/(2*(c+Math.SQRT2*M*v)*(c+Math.SQRT2*M*v)*v),y=-.5*l*d*d*d,G=y*Q,P=y*R,x=(x=2*c+Math.SQRT2*v*(M-u))*x*w,E=(Math.SQRT2*M*c*v+f)/x,B=-(Math.SQRT2*u*s)/(v*x),k=m*G-2*E/w+d*(E+E/q),D=m*P-2*B/w+d*(B+B/q),_=l*S*G-2*Q/(1+g)+d*S*Q+d*l*(E-E/q),F=l*S*P-2*R/(1+g)+d*S*R+d*l*(B-B/q),z=D*_-F*k;if(!z)break;var C=(A*D-T*F)/z,j=(T*_-A*k)/z;r-=C,e=Math.max(-aa/2,Math.min(aa/2,e-j))}while((Math.abs(C)>ta||Math.abs(j)>ta)&&--o>0);return Math.abs(Math.abs(e)-aa/2)ta&&--o>0);o=50,t/=1-.162388*i;do{var h=(h=r*r)*h;r-=a=(r*(.87-952426e-9*h)-t)/(.87-.00476213*h)}while(Math.abs(a)>ta&&--o>0);return[r,e]},(d3.geo.ginzburg8=function(){return ia(V)}).raw=V;var ba=U(2.6516,-.76534,.19123,-.047094,1.36289,-.13965,.031762);(d3.geo.ginzburg9=function(){return ia(ba)}).raw=ba,X.invert=function(t,r){var e=n(t),o=n(r),i=-e*t,h=-o*r,u=1>h/i,M=Z(u?h:i,u?i:h),s=M[0],c=M[1];u&&(s=-aa/2-s);var f=Math.cos(c),t=Math.cos(s)*f,r=Math.sin(s)*f,v=Math.sin(c);return[e*(Math.atan2(r,-v)+aa),o*a(t)]},d3.geo.gringorten=W(X),rn.invert=function(t,n){var a=(Math.SQRT2-1)/(Math.SQRT2+1),r=Math.sqrt(1-a*a),e=an(aa/2,r*r),o=-1,i=$(.5*e-n,-t,r*r),h=on(i[0],i[1]),u=Math.atan2(h[1],h[0])/o;return[u,2*Math.atan(Math.exp(.5/o*Math.log(a*h[0]*h[0]+a*h[1]*h[1])))-aa/2]},d3.geo.guyou=W(rn),(d3.geo.hammerRetroazimuthal=Mn).raw=hn;var qa=d3.geo.azimuthalEqualArea.raw;fn.invert=function(t,n){var r=2*a(n/2);return[t*Math.cos(r/2)/Math.cos(r),r]},(d3.geo.hammer=cn).raw=sn,vn.invert=function(t,n){var r=Math.abs(r=n*(0>n?.5179951515653813:.5686373742600607))>1-ta?r>0?aa/2:-aa/2:a(r);return[1.1764705882352942*t/Math.cos(r),Math.abs(r=((r+=r)+Math.sin(r))*(0>n?.4102345310814193:.3736990601468637))>1-ta?r>0?aa/2:-aa/2:a(r)]},(d3.geo.hatano=function(){return ia(vn)}).raw=vn;var wa=41+48/36+37/3600;(d3.geo.healpix=gn).raw=ln,(d3.geo.hill=pn).raw=dn;var ma=.7109889596207567,Sa=.0528035274542;bn.invert=function(t,n){return n>-ma?ca.invert(t,n-Sa):T.invert(t,n)},(d3.geo.sinuMollweide=function(){return ia(bn).rotate([-20,-55])}).raw=bn,qn.invert=function(t,n){return Math.abs(n)>ma?ca.invert(t,n+(n>0?Sa:-Sa)):T.invert(t,n)},(d3.geo.homolosine=function(){return ia(qn)}).raw=qn,wn.invert=function(t,n){return[2/3*aa*t/Math.sqrt(aa*aa/3-n*n),n]},(d3.geo.kavrayskiy7=function(){return ia(wn)}).raw=wn,(d3.geo.lagrange=Sn).raw=mn,Tn.invert=function(t,n){var a=Math.abs(t),o=Math.abs(n),i=aa/Math.SQRT2,h=ta,u=aa/2;i>o?u*=o/i:h+=6*r(i/o);for(var M=0;25>M;M++){var s=Math.sin(u),c=e(Math.cos(u)),f=Math.sin(u/2),v=Math.cos(u/2),l=Math.sin(h/6),g=Math.cos(h/6),d=.5*h*(1+c)-a,p=u/(v*g)-o,b=c?-.25*h*s/c:0,q=.5*(1+c),w=(1+.5*u*f/v)/(v*g),m=u/v*(l/6)/(g*g),S=b*m-w*q,T=(d*m-p*q)/S,A=(p*b-d*w)/S;if(u-=T,h-=A,Math.abs(T)t?-h:h,0>n?-u:u]},(d3.geo.larrivee=function(){return ia(Tn)}).raw=Tn,An.invert=function(t,a){var r=n(t)*aa,e=a/2,o=50;do{var i=r*r,h=e*e,u=r*e,M=r*(.975534+h*(-.119161+i*-.0143059+h*-.0547009))-t,s=e*(1.00384+i*(.0802894+h*-.02855+199025e-9*i)+h*(.0998909+h*-.0491032))-a,c=.975534-h*(.119161+.0143059*3*i+.0547009*h),f=-u*(.238322+.2188036*h+.0286118*i),v=u*(.1605788+7961e-7*i+-0.0571*h),l=1.00384+i*(.0802894+199025e-9*i)+h*(3*(.0998909-.02855*i)-.245516*h),g=f*v-l*c,d=(s*f-M*l)/g,p=(M*v-s*c)/g;r-=d,e-=p}while((Math.abs(d)>ta||Math.abs(p)>ta)&&--o>0);return o&&[r,e]},(d3.geo.laskowski=function(){return ia(An)}).raw=An,Qn.invert=function(t,e){var o=t*t,i=e*e,h=i+1,u=t?Math.SQRT1_2*Math.sqrt((h-Math.sqrt(o*o+2*o*(i-1)+h*h))/o+1):1/Math.sqrt(h);return[a(t*u),n(e)*r(u)]},(d3.geo.littrow=function(){return ia(Qn)}).raw=Qn,(d3.geo.loximuthal=function(){return S(Rn).parallel(40)}).raw=Rn,yn.invert=function(t,n){return[t,2.5*Math.atan(Math.exp(.8*n))-.625*aa]},(d3.geo.miller=function(){return ia(yn)}).raw=yn;var Ta={alaska:[[.9972523,0],[.0052513,-.0041175],[.0074606,.0048125],[-.0153783,-.1968253],[.0636871,-.1408027],[.3660976,-.2937382]],gs48:[[.98879,0],[0,0],[-.050909,0],[0,0],[.075528,0]],gs50:[[.984299,0],[.0211642,.0037608],[-.1036018,-.0575102],[-.0329095,-.0320119],[.0499471,.1223335],[.026046,.0899805],[7388e-7,-.1435792],[.0075848,-.1334108],[-.0216473,.0776645],[-.0225161,.0853673]],miller:[[.9245,0],[0,0],[.01943,0]],lee:[[.721316,0],[0,0],[-.00881625,-.00617325]]};(d3.geo.modifiedStereographic=Pn).raw=Gn,xn.invert=function(t,n){var r=Math.sqrt(6),e=Math.sqrt(7),o=3*a(n*e/9);return[t*e/(r*(2*Math.cos(2*o/3)-1)),a(3*Math.sin(o)*r/7)]},(d3.geo.mtFlatPolarParabolic=function(){return ia(xn)}).raw=xn,En.invert=function(t,n){var r=n*Math.sqrt(2+Math.SQRT2)/(2*Math.sqrt(3)),e=2*a(r);return[3*Math.SQRT2*t/(1+2*Math.cos(e)/Math.cos(e/2)),a((r+Math.sin(e))/(1+Math.SQRT1_2))]},(d3.geo.mtFlatPolarQuartic=function(){return ia(En)}).raw=En,Bn.invert=function(t,n){var r=Math.sqrt(6/(4+aa)),e=n/r;return Math.abs(Math.abs(e)-aa/2)e?-aa/2:aa/2),[1.5*t/(r*(.5+Math.cos(e))),a((e/2+Math.sin(e))/(1+aa/4))]},(d3.geo.mtFlatPolarSinusoidal=function(){return ia(Bn)}).raw=Bn,kn.invert=function(t,n){var a,r=n,e=25;do{var o=r*r,i=o*o;r-=a=(r*(1.007226+o*(.015085+i*(-.044475+.028874*o-.005916*i)))-n)/(1.007226+o*(.045255+i*(-0.311325+.259866*o-.005916*11*i)))}while(Math.abs(a)>ta&&--e>0);return[t/(.8707+(o=r*r)*(-.131979+o*(-.013791+o*o*o*(.003971-.001529*o)))),r]},(d3.geo.naturalEarth=function(){return ia(kn)}).raw=kn,Dn.invert=function(t,n){for(var a=n/2,r=0,e=1/0;10>r&&Math.abs(e)>ta;r++){var o=Math.cos(n/2);n-=e=(n-Math.tan(n/2)-a)/(1-.5/(o*o))}return[2*t/(1+Math.cos(n)),n]},(d3.geo.nellHammer=function(){return ia(Dn)}).raw=Dn;var Aa=W(rn);(d3.geo.peirceQuincuncial=function(){return Aa().quincuncial(!0).rotate([-90,-90,45]).clipAngle(180-1e-6)}).raw=Aa.raw,_n.invert=function(t,e){if(Math.abs(e)ta&&--u>0);return M=Math.tan(h),[(Math.abs(e)=0||1===o){r=(n>=0?5:-5)*(v+e);var l,g=50;do e=Math.min(18,Math.abs(r)/5),o=Math.floor(e),v=e-o,i=Qa[o][1],h=Qa[o+1][1],u=Qa[Math.min(19,o+2)][1],r-=(l=(n>=0?aa:-aa)/2*(h+v*(u-i)/2+v*v*(u-2*h+i)/2)-n)*oa;while(Math.abs(l)>na&&--g>0);break}}while(--o>=0);var d=Qa[o][0],p=Qa[o+1][0],b=Qa[Math.min(19,o+2)][0];return[t/(p+v*(b-d)/2+v*v*(b-2*p+d)/2),r*ea]},(d3.geo.robinson=function(){return ia(zn)}).raw=zn,(d3.geo.satellite=Hn).raw=jn,In.invert=function(t,n){var a=n/1.70711,r=Math.sin(aa/4*a);return[t/(.74482-.34588*r*r),2*Math.atan(a)]},(d3.geo.times=function(){return ia(In)}).raw=In,(d3.geo.twoPointEquidistant=Jn).raw=Kn,(d3.geo.twoPointAzimuthal=Nn).raw=Ln,On.invert=function(t,a){if(Math.abs(a)ta&&--h>0);return[n(t)*(Math.sqrt(e*e+4)+e)*aa/4,aa/2*i]},(d3.geo.vanDerGrinten4=function(){return ia(Wn)}).raw=Wn;var Ra=function(){var t=4*aa+3*Math.sqrt(3),n=2*Math.sqrt(2*aa*Math.sqrt(3)/t);return w(n*Math.sqrt(3)/aa,n,t/6)}();(d3.geo.wagner4=function(){return ia(Ra)}).raw=Ra,Xn.invert=function(t,n){return[t/Math.sqrt(1-3*n*n/(aa*aa)),n]},(d3.geo.wagner6=function(){return ia(Xn)}).raw=Xn,Yn.invert=function(t,n){var r=t/2.66723,e=n/1.24104,o=Math.sqrt(r*r+e*e),i=2*a(o/2);return[3*Math.atan2(t*Math.tan(i),2.66723*o),o&&a(n*Math.sin(i)/(1.24104*.90631*o))]},(d3.geo.wagner7=function(){return ia(Yn)}).raw=Yn,Zn.invert=function(t,n){var r=-.5*(t*t+n*n),e=Math.sqrt(-r*(2+r)),o=n*r+t*e,i=t*r-n*e,h=Math.sqrt(i*i+o*o);return[Math.atan2(e*o,h*(1+r)),h?-a(e*i/h):0]},(d3.geo.wiechel=function(){return ia(Zn)}).raw=Zn,$n.invert=function(t,n){var a=t,e=n,o=25;do{var i,h=Math.cos(e),u=Math.sin(e),M=Math.sin(2*e),s=u*u,c=h*h,f=Math.sin(a),v=Math.cos(a/2),l=Math.sin(a/2),g=l*l,d=1-c*v*v,p=d?r(h*v)*Math.sqrt(i=1/d):i=0,b=.5*(2*p*h*l+2*a/aa)-t,q=.5*(p*u+e)-n,w=.5*i*(c*g+p*h*v*s)+1/aa,m=i*(f*M/4-p*u*l),S=.125*i*(M*l-p*u*c*f),T=.5*i*(s*v+p*g*h)+.5,A=m*S-T*w,Q=(q*m-b*T)/A,R=(b*S-q*w)/A;a-=Q,e-=R}while((Math.abs(Q)>ta||Math.abs(R)>ta)&&--o>0);return[a,e]},(d3.geo.winkel3=function(){return ia($n)}).raw=$n}();