(function(){function E(c,g,d,a){var f,b,e;c=a[c];f=c[0];b=c[1];c=a[g];g=c[0];e=c[1];c=a[d];return(c[1]-b)*(g-f)-(e-b)*(c[0]-f)>0}function A(c,g,d){return(d[0]-g[0])*(c[1]-g[1])<(d[1]-g[1])*(c[0]-g[0])}function C(c,g,d,a){var f=c[0],b=d[0];c=c[1];var e=d[1];d=g[0]-f;var l=a[0]-b;g=g[1]-c;a=a[1]-e;b=(l*(c-e)-a*(f-b))/(a*d-l*g);return[f+b*d,c+b*g]}function D(c,g){var d={list:c.map(function(h,j){return{index:j,x:h[0],y:h[1]}}).sort(function(h,j){return h.yj.y?1:h.xj.x?1:0}),bottomSite:null}, a={list:[],leftEnd:null,rightEnd:null,init:function(){a.leftEnd=a.createHalfEdge(null,"l");a.rightEnd=a.createHalfEdge(null,"l");a.leftEnd.r=a.rightEnd;a.rightEnd.l=a.leftEnd;a.list.unshift(a.leftEnd,a.rightEnd)},createHalfEdge:function(h,j){return{edge:h,side:j,vertex:null,l:null,r:null}},insert:function(h,j){j.l=h;j.r=h.r;h.r.l=j;h.r=j},leftBound:function(h){var j=a.leftEnd;do j=j.r;while(j!=a.rightEnd&&f.rightOf(j,h));return j=j.l},del:function(h){h.l.r=h.r;h.r.l=h.l;h.edge=null},right:function(h){return h.r}, left:function(h){return h.l},leftRegion:function(h){return h.edge==null?d.bottomSite:h.edge.region[h.side]},rightRegion:function(h){return h.edge==null?d.bottomSite:h.edge.region[B[h.side]]}},f={bisect:function(h,j){var i={region:{l:h,r:j},ep:{l:null,r:null}},m=j.x-h.x,r=j.y-h.y,u=m>0?m:-m,v=r>0?r:-r;i.c=h.x*m+h.y*r+(m*m+r*r)*0.5;if(u>v){i.a=1;i.b=r/m;i.c/=m}else{i.b=1;i.a=m/r;i.c/=r}return i},intersect:function(h,j){var i=h.edge,m=j.edge;if(!i||!m||i.region.r==m.region.r)return null;var r=i.a*m.b- i.b*m.a;if(Math.abs(r)<1.0E-10)return null;var u=(i.c*m.b-m.c*i.b)/r;r=(m.c*i.a-i.c*m.a)/r;var v=i.region.r,y=m.region.r;if(v.y=i.region.r.x)&&v.side=="l"||!i&&v.side=="r")return null;return{x:u,y:r}},rightOf:function(h,j){var i=h.edge,m=i.region.r,r=j.x>m.x;if(r&&h.side=="l")return 1;if(!r&&h.side=="r")return 0;if(i.a==1){var u=j.y-m.y,v=j.x-m.x,y=0,x=0;if(!r&&i.b<0||r&&i.b>=0)x=y=u>=i.b*v;else{x=j.x+j.y*i.b>i.c;if(i.b<0)x=!x;x||(y=1)}if(!y){m= m.x-i.region.l.x;x=i.b*(v*v-u*u)u*u+m*m}return h.side=="l"?x:!x},endPoint:function(h,j,i){h.ep[j]=i;h.ep[B[j]]&&g(h)},distance:function(h,j){var i=h.x-j.x,m=h.y-j.y;return Math.sqrt(i*i+m*m)}},b={list:[],insert:function(h,j,i){h.vertex=j;h.ystar=j.y+i;i=0;for(var m=b.list,r=m.length;iu.ystar||h.ystar==u.ystar&&j.x>u.vertex.x))break}m.splice(i,0,h)},del:function(h){for(var j=0,i= b.list,m=i.length;jn.y){k=t;t=n;n=k;k="r"}w=f.bisect(t,n);n=a.createHalfEdge(w, k);a.insert(p,n);f.endPoint(w,B[k],q);if(q=f.intersect(p,n)){b.del(p);b.insert(p,q,f.distance(q,t))}(q=f.intersect(n,s))&&b.insert(n,q,f.distance(q,t))}}for(k=a.right(a.leftEnd);k!=a.rightEnd;k=a.right(k))g(k.edge)}function z(c,g,d,a,f,b){if(!c(g,d,a,f,b)){var e=(d+f)*0.5,l=(a+b)*0.5;g=g.nodes;g[0]&&z(c,g[0],d,a,e,l);g[1]&&z(c,g[1],e,a,f,l);g[2]&&z(c,g[2],d,l,e,b);g[3]&&z(c,g[3],e,l,f,b)}}d3.geom={};d3.geom.contour=function(c,g){var d;if(!(d=g))a:{for(var a=d=0;;){if(c(d,a)){d=[d,a];break a}if(d== 0){d=a+1;a=0}else{d-=1;a+=1}}d=void 0}d=d;a=[];var f=d[0],b=d[1],e=0,l=0,k=NaN,o=NaN;l=0;do{l=0;if(c(f-1,b-1))l+=1;if(c(f,b-1))l+=2;if(c(f-1,b))l+=4;if(c(f,b))l+=8;if(l==6){e=o==-1?-1:1;l=0}else if(l==9){e=0;l=k==1?-1:1}else{e=F[l];l=G[l]}if(e!=k&&l!=o){a.push([f,b]);k=e;o=l}f+=e;b+=l}while(d[0]!=f||d[1]!=b);return a};var F=[1,0,1,1,-1,0,-1,1,0,0,0,0,-1,0,-1,NaN],G=[0,-1,0,0,0,-1,0,0,1,-1,1,1,0,-1,0,NaN];d3.geom.hull=function(c){if(c.length<3)return[];var g=c.length,d=g-1,a=[],f=[],b,e=0,l,k,o,p, s,n,t;for(b=1;b=o*o+p*p)a[b].index=-1;else{a[s].index=-1;t=a[b].angle;s=b;n=g}}else{t=a[b].angle;s=b;n=g}}f.push(e); for(g=b=0;b<2;++g)if(a[g].index!=-1){f.push(a[g].index);b++}for(e=f.length;g=0){a=d.ep.r;f=d.ep.l}else{a=d.ep.l;f=d.ep.r}if(d.a==1){b= a?a.y:-1E6;a=d.c-d.b*b;e=f?f.y:1E6;f=d.c-d.b*e}else{a=a?a.x:-1E6;b=d.c-d.a*a;f=f?f.x:1E6;e=d.c-d.a*f}a=[a,b];f=[f,e];g[d.region.l.index].push(a,f);g[d.region.r.index].push(a,f)});return g.map(function(d,a){var f=c[a][0],b=c[a][1];d.forEach(function(e){e.angle=Math.atan2(e[0]-f,e[1]-b)});return d.sort(function(e,l){return e.angle-l.angle}).filter(function(e,l){return!l||e.angle-d[l-1].angle>1.0E-10})})};var B={l:"r",r:"l"};d3.geom.delaunay=function(c){var g=c.map(function(){return[]}),d=[];D(c,function(a){g[a.region.l.index].push(c[a.region.r.index])}); g.forEach(function(a,f){var b=c[f],e=b[0],l=b[1];a.forEach(function(p){p.angle=Math.atan2(p[0]-e,p[1]-l)});a.sort(function(p,s){return p.angle-s.angle});for(var k=0,o=a.length-1;k=j,r=n[1]>=i,u=(r<<1)+m;s.leaf=false;s=s.nodes[u]||(s.nodes[u]={leaf:true,nodes:[],point:null});if(m)t=j;else w=j;if(r)q=i;else h=i;g(s,n,t,q,w,h)}for(var a,f=-1,b=c.length,e=Number.POSITIVE_INFINITY,l=e,k=Number.NEGATIVE_INFINITY,o=k;++fk)k=a[0];if(a[1]>o)o=a[1]}a=k-e;f=o-l;if(a>f)o=l+a;else k=e+f;var p={leaf:true,nodes:[],point:null};for(f=-1;++f