=0&&null==(x=n[m]);m-=h);s?(b=null==d?x.x:Math.round(x.bounds.x1+d*x.bounds.width()),w=A):(b=A,w=null==d?x.y:Math.round(x.bounds.y1+d*x.bounds.height())),v.union(_.bounds.translate(b-(_.x||0),w-(_.y||0))),_.x=b,_.y=w,t.dirty(_),M=a(M,v[l])}return M}function $x(t,e,n,r,i,o){if(e){t.dirty(e);var a=n,s=n;r?a=Math.round(i.x1+o*i.width()):s=Math.round(i.y1+o*i.height()),e.bounds.translate(a-(e.x||0),s-(e.y||0)),e.mark.bounds.clear().union(e.bounds),e.x=a,e.y=s,t.dirty(e)}}function Tx(t,e,n,r,i,o,a){const s=function(t,e){const n=t[e]||{};return(e,r)=>null!=n[e]?n[e]:null!=t[e]?t[e]:r}(n,e),u=function(t,e){let n=-1/0;return t.forEach((t=>{null!=t.offset&&(n=Math.max(n,t.offset))})),n>-1/0?n:e}(t,s("offset",0)),l=s("anchor",$_),c=l===B_?1:l===T_?.5:0,f={align:Q_,bounds:s("bounds",K_),columns:"vertical"===s("direction")?1:t.length,padding:s("margin",8),center:s("center"),nodirty:!0};switch(e){case C_:f.anchor={x:Math.floor(r.x1)-u,column:B_,y:c*(a||r.height()+2*r.y1),row:l};break;case F_:f.anchor={x:Math.ceil(r.x2)+u,y:c*(a||r.height()+2*r.y1),row:l};break;case D_:f.anchor={y:Math.floor(i.y1)-u,row:B_,x:c*(o||i.width()+2*i.x1),column:l};break;case S_:f.anchor={y:Math.ceil(i.y2)+u,x:c*(o||i.width()+2*i.x1),column:l};break;case"top-left":f.anchor={x:u,y:u};break;case"top-right":f.anchor={x:o-u,y:u,column:B_};break;case"bottom-left":f.anchor={x:u,y:a-u,row:B_};break;case"bottom-right":f.anchor={x:o-u,y:a-u,column:B_,row:B_}}return f}function Bx(t,e){var n,r,i=e.items[0],o=i.datum,a=i.orient,s=i.bounds,u=i.x,l=i.y;return i._bounds?i._bounds.clear().union(s):i._bounds=s.clone(),s.clear(),function(t,e,n){var r=e.padding,i=r-n.x,o=r-n.y;if(e.datum.title){var a=e.items[1].items[0],s=a.anchor,u=e.titlePadding||0,l=r-a.x,c=r-a.y;switch(a.orient){case C_:i+=Math.ceil(a.bounds.width())+u;break;case F_:case S_:break;default:o+=a.bounds.height()+u}switch((i||o)&&Nx(t,n,i,o),a.orient){case C_:c+=zx(e,n,a,s,1,1);break;case F_:l+=zx(e,n,a,B_,0,0)+u,c+=zx(e,n,a,s,1,1);break;case S_:l+=zx(e,n,a,s,0,0),c+=zx(e,n,a,B_,-1,0,1)+u;break;default:l+=zx(e,n,a,s,0,0)}(l||c)&&Nx(t,a,l,c),(l=Math.round(a.bounds.x1-r))<0&&(Nx(t,n,-l,0),Nx(t,a,-l,0))}else(i||o)&&Nx(t,n,i,o)}(t,i,i.items[0].items[0]),s=function(t,e){return t.items.forEach((t=>e.union(t.bounds))),e.x1=t.padding,e.y1=t.padding,e}(i,s),n=2*i.padding,r=2*i.padding,s.empty()||(n=Math.ceil(s.width()+n),r=Math.ceil(s.height()+r)),"symbol"===o.type&&function(t){const e=t.reduce(((t,e)=>(t[e.column]=Math.max(e.bounds.x2-e.x,t[e.column]||0),t)),{});t.forEach((t=>{t.width=e[t.column],t.height=t.bounds.y2-t.y}))}(i.items[0].items[0].items[0].items),a!==J_&&(i.x=u=0,i.y=l=0),i.width=n,i.height=r,qg(s.set(u,l,u+n,l+r),i),i.mark.bounds.clear().union(s),i}function zx(t,e,n,r,i,o,a){const s="symbol"!==t.datum.type,u=n.datum.vgrad,l=(!s||!o&&u||a?e:e.items[0]).bounds[i?"y2":"x2"]-t.padding,c=u&&o?l:0,f=u&&o?0:l,h=i<=0?0:xy(n);return Math.round(r===$_?c:r===B_?f-h:.5*(l-h))}function Nx(t,e,n,r){e.x+=n,e.y+=r,e.bounds.translate(n,r),e.mark.bounds.translate(n,r),t.dirty(e)}function Ox(t){Ua.call(this,null,t)}at(Ox,Ua,{transform(t,e){const n=e.dataflow;return t.mark.items.forEach((e=>{t.layout&&Dx(n,e,t.layout),function(t,e,n){var r,i,o,a,s,u=e.items,l=Math.max(0,e.width||0),c=Math.max(0,e.height||0),f=(new zg).set(0,0,l,c),h=f.clone(),d=f.clone(),p=[];for(a=0,s=u.length;a{(o=t.orient||F_)!==J_&&(e[o]||(e[o]=[])).push(t)}));for(const r in e){const i=e[r];Ex(t,i,Tx(i,r,n.legends,h,d,l,c))}p.forEach((e=>{const r=e.bounds;if(r.equals(e._bounds)||(e.bounds=e._bounds,t.dirty(e),e.bounds=r,t.dirty(e)),!n.autosize||n.autosize.type!==G_&&n.autosize.type!==V_&&n.autosize.type!==X_)f.union(r);else switch(e.orient){case C_:case F_:f.add(r.x1,0).add(r.x2,0);break;case D_:case S_:f.add(0,r.y1).add(0,r.y2)}}))}f.union(h).union(d),r&&f.union(function(t,e,n,r,i){var o,a=e.items[0],s=a.frame,u=a.orient,l=a.anchor,c=a.offset,f=a.padding,h=a.items[0].items[0],d=a.items[1]&&a.items[1].items[0],p=u===C_||u===F_?r:n,g=0,m=0,y=0,v=0,_=0;if(s!==z_?u===C_?(g=i.y2,p=i.y1):u===F_?(g=i.y1,p=i.y2):(g=i.x1,p=i.x2):u===C_&&(g=r,p=0),o=l===$_?g:l===B_?p:(g+p)/2,d&&d.text){switch(u){case D_:case S_:_=h.bounds.height()+f;break;case C_:v=h.bounds.width()+f;break;case F_:v=-h.bounds.width()-f}gx.clear().union(d.bounds),gx.translate(v-(d.x||0),_-(d.y||0)),mx(d,"x",v)|mx(d,"y",_)&&(t.dirty(d),d.bounds.clear().union(gx),d.mark.bounds.clear().union(gx),t.dirty(d)),gx.clear().union(d.bounds)}else gx.clear();switch(gx.union(h.bounds),u){case D_:m=o,y=i.y1-gx.height()-c;break;case C_:m=i.x1-gx.width()-c,y=o;break;case F_:m=i.x2+gx.width()+c,y=o;break;case S_:m=o,y=i.y2+c;break;default:m=a.x,y=a.y}return mx(a,"x",m)|mx(a,"y",y)&&(gx.translate(m,y),t.dirty(a),a.bounds.clear().union(gx),e.bounds.clear().union(gx),t.dirty(a)),a.bounds}(t,r,l,c,f));e.clip&&f.set(0,0,e.width||0,e.height||0);!function(t,e,n,r){const i=r.autosize||{},o=i.type;if(t._autosize<1||!o)return;let a=t._width,s=t._height,u=Math.max(0,e.width||0),l=Math.max(0,Math.ceil(-n.x1)),c=Math.max(0,e.height||0),f=Math.max(0,Math.ceil(-n.y1));const h=Math.max(0,Math.ceil(n.x2-u)),d=Math.max(0,Math.ceil(n.y2-c));if(i.contains===Y_){const e=t.padding();a-=e.left+e.right,s-=e.top+e.bottom}o===J_?(l=0,f=0,u=a,c=s):o===G_?(u=Math.max(0,a-l-h),c=Math.max(0,s-f-d)):o===V_?(u=Math.max(0,a-l-h),s=c+f+d):o===X_?(a=u+l+h,c=Math.max(0,s-f-d)):"pad"===o&&(a=u+l+h,s=c+f+d);t._resizeView(a,s,u,c,[l,f],i.resize)}(t,e,f,n)}(n,e,t)})),function(t){return t&&"legend-entry"!==t.mark.role}(t.mark.group)?e.reflow():e}});var Rx=Object.freeze({__proto__:null,bound:nx,identifier:ox,mark:ax,overlap:sx,render:px,viewlayout:Ox});function Lx(t){Ua.call(this,null,t)}function Ux(t){Ua.call(this,null,t)}function qx(){return ua({})}function Px(t){Ua.call(this,null,t)}function jx(t){Ua.call(this,[],t)}at(Lx,Ua,{transform(t,e){if(this.value&&!t.modified())return e.StopPropagation;var n=e.dataflow.locale(),r=e.fork(e.NO_SOURCE|e.NO_FIELDS),i=this.value,o=t.scale,a=vp(o,null==t.count?t.values?t.values.length:10:t.count,t.minstep),s=t.format||bp(n,o,a,t.formatSpecifier,t.formatType,!!t.values),u=t.values?_p(o,t.values,a):xp(o,a);return i&&(r.rem=i),i=u.map(((t,e)=>ua({index:e/(u.length-1||1),value:t,label:s(t)}))),t.extra&&i.length&&i.push(ua({index:-1,extra:{value:i[0].value},label:""})),r.source=i,r.add=i,this.value=i,r}}),at(Ux,Ua,{transform(t,e){var n=e.dataflow,r=e.fork(e.NO_SOURCE|e.NO_FIELDS),i=t.item||qx,o=t.key||aa,a=this.value;return v(r.encode)&&(r.encode=null),a&&(t.modified("key")||e.modified(o))&&s("DataJoin does not support modified key function or fields."),a||(e=e.addAll(),this.value=a=function(t){const e=it().test((t=>t.exit));return e.lookup=n=>e.get(t(n)),e}(o)),e.visit(e.ADD,(t=>{const e=o(t);let n=a.get(e);n?n.exit?(a.empty--,r.add.push(n)):r.mod.push(n):(n=i(t),a.set(e,n),r.add.push(n)),n.datum=t,n.exit=!1})),e.visit(e.MOD,(t=>{const e=o(t),n=a.get(e);n&&(n.datum=t,r.mod.push(n))})),e.visit(e.REM,(t=>{const e=o(t),n=a.get(e);t!==n.datum||n.exit||(r.rem.push(n),n.exit=!0,++a.empty)})),e.changed(e.ADD_MOD)&&r.modifies("datum"),(e.clean()||t.clean&&a.empty>n.cleanThreshold)&&n.runAfter(a.clean),r}}),at(Px,Ua,{transform(t,e){var n=e.fork(e.ADD_REM),r=t.mod||!1,i=t.encoders,o=e.encode;if(v(o)){if(!n.changed()&&!o.every((t=>i[t])))return e.StopPropagation;o=o[0],n.encode=null}var a="enter"===o,s=i.update||g,u=i.enter||g,l=i.exit||g,c=(o&&!a?i[o]:s)||g;if(e.changed(e.ADD)&&(e.visit(e.ADD,(e=>{u(e,t),s(e,t)})),n.modifies(u.output),n.modifies(s.output),c!==g&&c!==s&&(e.visit(e.ADD,(e=>{c(e,t)})),n.modifies(c.output))),e.changed(e.REM)&&l!==g&&(e.visit(e.REM,(e=>{l(e,t)})),n.modifies(l.output)),a||c!==g){const i=e.MOD|(t.modified()?e.REFLOW:0);a?(e.visit(i,(e=>{const i=u(e,t)||r;(c(e,t)||i)&&n.mod.push(e)})),n.mod.length&&n.modifies(u.output)):e.visit(i,(e=>{(c(e,t)||r)&&n.mod.push(e)})),n.mod.length&&n.modifies(c.output)}return n.changed()?n:e.StopPropagation}}),at(jx,Ua,{transform(t,e){if(null!=this.value&&!t.modified())return e.StopPropagation;var n,r,i,o,a,s=e.dataflow.locale(),u=e.fork(e.NO_SOURCE|e.NO_FIELDS),l=this.value,c=t.type||pp,f=t.scale,h=+t.limit,d=vp(f,null==t.count?5:t.count,t.minstep),p=!!t.values||c===pp,g=t.format||Ep(s,f,d,c,t.formatSpecifier,t.formatType,p),m=t.values||Mp(f,d);return l&&(u.rem=l),c===pp?(h&&m.length>h?(e.dataflow.warn("Symbol legend count exceeds limit, filtering items."),l=m.slice(0,h-1),a=!0):l=m,H(i=t.size)?(t.values||0!==f(l[0])||(l=l.slice(1)),o=l.reduce(((e,n)=>Math.max(e,i(n,t))),0)):i=Z(o=i||8),l=l.map(((e,n)=>ua({index:n,label:g(e,n,l),value:e,offset:o,size:i(e,t)}))),a&&(a=m[l.length],l.push(ua({index:l.length,label:`…${m.length-l.length} entries`,value:a,offset:o,size:i(a,t)})))):"gradient"===c?(n=f.domain(),r=up(f,n[0],A(n)),m.length<3&&!t.values&&n[0]!==A(n)&&(m=[n[0],A(n)]),l=m.map(((t,e)=>ua({index:e,label:g(t,e,m),value:t,perc:r(t)})))):(i=m.length-1,r=function(t){const e=t.domain(),n=e.length-1;let r=+e[0],i=+A(e),o=i-r;if(t.type===$d){const t=n?o/n:.1;r-=t,i+=t,o=i-r}return t=>(t-r)/o}(f),l=m.map(((t,e)=>ua({index:e,label:g(t,e,m),value:t,perc:e?r(t):0,perc2:e===i?1:r(m[e+1])})))),u.source=l,u.add=l,this.value=l,u}});const Ix=t=>t.source.x,Wx=t=>t.source.y,Hx=t=>t.target.x,Yx=t=>t.target.y;function Gx(t){Ua.call(this,{},t)}Gx.Definition={type:"LinkPath",metadata:{modifies:!0},params:[{name:"sourceX",type:"field",default:"source.x"},{name:"sourceY",type:"field",default:"source.y"},{name:"targetX",type:"field",default:"target.x"},{name:"targetY",type:"field",default:"target.y"},{name:"orient",type:"enum",default:"vertical",values:["horizontal","vertical","radial"]},{name:"shape",type:"enum",default:"line",values:["line","arc","curve","diagonal","orthogonal"]},{name:"require",type:"signal"},{name:"as",type:"string",default:"path"}]},at(Gx,Ua,{transform(t,e){var n=t.sourceX||Ix,r=t.sourceY||Wx,i=t.targetX||Hx,o=t.targetY||Yx,a=t.as||"path",u=t.orient||"vertical",l=t.shape||"line",c=Zx.get(l+"-"+u)||Zx.get(l);return c||s("LinkPath unsupported type: "+t.shape+(t.orient?"-"+t.orient:"")),e.visit(e.SOURCE,(t=>{t[a]=c(n(t),r(t),i(t),o(t))})),e.reflow(t.modified()).modifies(a)}});const Vx=(t,e,n,r)=>"M"+t+","+e+"L"+n+","+r,Xx=(t,e,n,r)=>{var i=n-t,o=r-e,a=Math.hypot(i,o)/2;return"M"+t+","+e+"A"+a+","+a+" "+180*Math.atan2(o,i)/Math.PI+" 0 1 "+n+","+r},Jx=(t,e,n,r)=>{const i=n-t,o=r-e,a=.2*(i+o),s=.2*(o-i);return"M"+t+","+e+"C"+(t+a)+","+(e+s)+" "+(n+s)+","+(r-a)+" "+n+","+r},Zx=it({line:Vx,"line-radial":(t,e,n,r)=>Vx(e*Math.cos(t),e*Math.sin(t),r*Math.cos(n),r*Math.sin(n)),arc:Xx,"arc-radial":(t,e,n,r)=>Xx(e*Math.cos(t),e*Math.sin(t),r*Math.cos(n),r*Math.sin(n)),curve:Jx,"curve-radial":(t,e,n,r)=>Jx(e*Math.cos(t),e*Math.sin(t),r*Math.cos(n),r*Math.sin(n)),"orthogonal-horizontal":(t,e,n,r)=>"M"+t+","+e+"V"+r+"H"+n,"orthogonal-vertical":(t,e,n,r)=>"M"+t+","+e+"H"+n+"V"+r,"orthogonal-radial":(t,e,n,r)=>{const i=Math.cos(t),o=Math.sin(t),a=Math.cos(n),s=Math.sin(n);return"M"+e*i+","+e*o+"A"+e+","+e+" 0 0,"+((Math.abs(n-t)>Math.PI?n<=t:n>t)?1:0)+" "+e*a+","+e*s+"L"+r*a+","+r*s},"diagonal-horizontal":(t,e,n,r)=>{const i=(t+n)/2;return"M"+t+","+e+"C"+i+","+e+" "+i+","+r+" "+n+","+r},"diagonal-vertical":(t,e,n,r)=>{const i=(e+r)/2;return"M"+t+","+e+"C"+t+","+i+" "+n+","+i+" "+n+","+r},"diagonal-radial":(t,e,n,r)=>{const i=Math.cos(t),o=Math.sin(t),a=Math.cos(n),s=Math.sin(n),u=(e+r)/2;return"M"+e*i+","+e*o+"C"+u*i+","+u*o+" "+u*a+","+u*s+" "+r*a+","+r*s}});function Qx(t){Ua.call(this,null,t)}Qx.Definition={type:"Pie",metadata:{modifies:!0},params:[{name:"field",type:"field"},{name:"startAngle",type:"number",default:0},{name:"endAngle",type:"number",default:6.283185307179586},{name:"sort",type:"boolean",default:!1},{name:"as",type:"string",array:!0,length:2,default:["startAngle","endAngle"]}]},at(Qx,Ua,{transform(t,e){var n,r,i,o=t.as||["startAngle","endAngle"],a=o[0],s=o[1],u=t.field||d,l=t.startAngle||0,c=null!=t.endAngle?t.endAngle:2*Math.PI,f=e.source,h=f.map(u),p=h.length,g=l,m=(c-l)/be(h),y=xe(p);for(t.sort&&y.sort(((t,e)=>h[t]-h[e])),n=0;nt+(e<0?-1:e>0?1:0)),0))!==e.length&&n.warn("Log scale domain includes zero: "+bt(e)));return e}function rb(t,e,n){return H(t)&&(e||n)?op(t,ib(e||[0,1],n)):t}function ib(t,e){return e?t.slice().reverse():t}function ob(t){Ua.call(this,null,t)}at(eb,Ua,{transform(t,e){var n=e.dataflow,r=this.value,i=function(t){var e,n=t.type,r="";if(n===Dd)return Dd+"-"+xd;(function(t){const e=t.type;return Qd(e)&&e!==Md&&e!==Ed&&(t.scheme||t.range&&t.range.length&&t.range.every(dt))})(t)&&(r=2===(e=t.rawDomain?t.rawDomain.length:t.domain?t.domain.length+ +(null!=t.domainMid):0)?Dd+"-":3===e?Cd+"-":"");return(r+n||xd).toLowerCase()}(t);for(i in r&&i===r.type||(this.value=r=Xd(i)()),t)if(!tb[i]){if("padding"===i&&Kx(r.type))continue;H(r[i])?r[i](t[i]):n.warn("Unsupported scale property: "+i)}return function(t,e,n){var r=t.type,i=e.round||!1,o=e.range;if(null!=e.rangeStep)o=function(t,e,n){t!==zd&&t!==Bd&&s("Only band and point scales support rangeStep.");var r=(null!=e.paddingOuter?e.paddingOuter:e.padding)||0,i=t===Bd?1:(null!=e.paddingInner?e.paddingInner:e.padding)||0;return[0,e.rangeStep*_d(n,i,r)]}(r,e,n);else if(e.scheme&&(o=function(t,e,n){var r,i=e.schemeExtent;v(e.scheme)?r=ap(e.scheme,e.interpolate,e.interpolateGamma):(r=dp(e.scheme.toLowerCase()))||s(`Unrecognized scheme name: ${e.scheme}`);return n=t===$d?n+1:t===Nd?n-1:t===Fd||t===Sd?+e.schemeCount||5:n,np(t)?rb(r,i,e.reverse):H(r)?sp(rb(r,i),n):t===Td?r:r.slice(0,n)}(r,e,n),H(o))){if(t.interpolator)return t.interpolator(o);s(`Scale type ${r} does not support interpolating color schemes.`)}if(o&&np(r))return t.interpolator(ap(ib(o,e.reverse),e.interpolate,e.interpolateGamma));o&&e.interpolate&&t.interpolate?t.interpolate(lp(e.interpolate,e.interpolateGamma)):H(t.round)?t.round(i):H(t.rangeRound)&&t.interpolate(i?oh:ih);o&&t.range(ib(o,e.reverse))}(r,t,function(t,e,n){let r=e.bins;if(r&&!v(r)){const e=t.domain(),n=e[0],i=A(e),o=r.step;let a=null==r.start?n:r.start,u=null==r.stop?i:r.stop;o||s("Scale bins parameter missing step property."),ai&&(u=o*Math.floor(i/o)),r=xe(a,u+o/2,o)}r?t.bins=r:t.bins&&delete t.bins;t.type===Nd&&(r?e.domain||e.domainRaw||(t.domain(r),n=r.length):t.bins=t.domain());return n}(r,t,function(t,e,n){const r=function(t,e,n){return e?(t.domain(nb(t.type,e,n)),e.length):-1}(t,e.domainRaw,n);if(r>-1)return r;var i,o,a=e.domain,s=t.type,u=e.zero||void 0===e.zero&&function(t){const e=t.type;return!t.bins&&(e===xd||e===wd||e===kd)}(t);if(!a)return 0;if((u||null!=e.domainMin||null!=e.domainMax||null!=e.domainMid)&&(i=(a=a.slice()).length-1||1,u&&(a[0]>0&&(a[0]=0),a[i]<0&&(a[i]=0)),null!=e.domainMin&&(a[0]=e.domainMin),null!=e.domainMax&&(a[i]=e.domainMax),null!=e.domainMid)){const t=(o=e.domainMid)>a[i]?i+1:ot(u);if(null==e)d.push(t.slice());else for(i={},o=0,a=t.length;oh&&(h=f),n&&c.sort(n)}return d.max=h,d}(e.source,t.groupby,l,c),r=0,i=n.length,o=n.max;r0?1:t<0?-1:0},zb=Math.sqrt,Nb=Math.tan;function Ob(t){return t>1?0:t<-1?yb:Math.acos(t)}function Rb(t){return t>1?vb:t<-1?-vb:Math.asin(t)}function Lb(){}function Ub(t,e){t&&Pb.hasOwnProperty(t.type)&&Pb[t.type](t,e)}var qb={Feature:function(t,e){Ub(t.geometry,e)},FeatureCollection:function(t,e){for(var n=t.features,r=-1,i=n.length;++r=0?1:-1,i=r*n,o=Eb(e=(e*=wb)/2+_b),a=Tb(e),s=Xb*a,u=Vb*o+s*Eb(i),l=s*r*Tb(i);sw.add(Mb(l,u)),Gb=t,Vb=o,Xb=a}function pw(t){return[Mb(t[1],t[0]),Rb(t[2])]}function gw(t){var e=t[0],n=t[1],r=Eb(n);return[r*Eb(e),r*Tb(e),Tb(n)]}function mw(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function yw(t,e){return[t[1]*e[2]-t[2]*e[1],t[2]*e[0]-t[0]*e[2],t[0]*e[1]-t[1]*e[0]]}function vw(t,e){t[0]+=e[0],t[1]+=e[1],t[2]+=e[2]}function _w(t,e){return[t[0]*e,t[1]*e,t[2]*e]}function xw(t){var e=zb(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]);t[0]/=e,t[1]/=e,t[2]/=e}var bw,ww,kw,Aw,Mw,Ew,Dw,Cw,Fw,Sw,$w,Tw,Bw,zw,Nw,Ow,Rw={point:Lw,lineStart:qw,lineEnd:Pw,polygonStart:function(){Rw.point=jw,Rw.lineStart=Iw,Rw.lineEnd=Ww,iw=new Zt,lw.polygonStart()},polygonEnd:function(){lw.polygonEnd(),Rw.point=Lw,Rw.lineStart=qw,Rw.lineEnd=Pw,sw<0?(Jb=-(Qb=180),Zb=-(Kb=90)):iw>gb?Kb=90:iw<-1e-6&&(Zb=-90),aw[0]=Jb,aw[1]=Qb},sphere:function(){Jb=-(Qb=180),Zb=-(Kb=90)}};function Lw(t,e){ow.push(aw=[Jb=t,Qb=t]),eKb&&(Kb=e)}function Uw(t,e){var n=gw([t*wb,e*wb]);if(rw){var r=yw(rw,n),i=yw([r[1],-r[0],0],r);xw(i),i=pw(i);var o,a=t-tw,s=a>0?1:-1,u=i[0]*bb*s,l=kb(a)>180;l^(s*twKb&&(Kb=o):l^(s*tw<(u=(u+360)%360-180)&&uKb&&(Kb=e)),l?tHw(Jb,Qb)&&(Qb=t):Hw(t,Qb)>Hw(Jb,Qb)&&(Jb=t):Qb>=Jb?(tQb&&(Qb=t)):t>tw?Hw(Jb,t)>Hw(Jb,Qb)&&(Qb=t):Hw(t,Qb)>Hw(Jb,Qb)&&(Jb=t)}else ow.push(aw=[Jb=t,Qb=t]);eKb&&(Kb=e),rw=n,tw=t}function qw(){Rw.point=Uw}function Pw(){aw[0]=Jb,aw[1]=Qb,Rw.point=Lw,rw=null}function jw(t,e){if(rw){var n=t-tw;iw.add(kb(n)>180?n+(n>0?360:-360):n)}else ew=t,nw=e;lw.point(t,e),Uw(t,e)}function Iw(){lw.lineStart()}function Ww(){jw(ew,nw),lw.lineEnd(),kb(iw)>gb&&(Jb=-(Qb=180)),aw[0]=Jb,aw[1]=Qb,rw=null}function Hw(t,e){return(e-=t)<0?e+360:e}function Yw(t,e){return t[0]-e[0]}function Gw(t,e){return t[0]<=t[1]?t[0]<=e&&e<=t[1]:eyb&&(t-=Math.round(t/xb)*xb),[t,e]}function sk(t,e,n){return(t%=xb)?e||n?ok(lk(t),ck(e,n)):lk(t):e||n?ck(e,n):ak}function uk(t){return function(e,n){return kb(e+=t)>yb&&(e-=Math.round(e/xb)*xb),[e,n]}}function lk(t){var e=uk(t);return e.invert=uk(-t),e}function ck(t,e){var n=Eb(t),r=Tb(t),i=Eb(e),o=Tb(e);function a(t,e){var a=Eb(e),s=Eb(t)*a,u=Tb(t)*a,l=Tb(e),c=l*n+s*r;return[Mb(u*i-c*o,s*n-l*r),Rb(c*i+u*o)]}return a.invert=function(t,e){var a=Eb(e),s=Eb(t)*a,u=Tb(t)*a,l=Tb(e),c=l*i-u*o;return[Mb(u*i+l*o,s*n+c*r),Rb(c*n-s*r)]},a}function fk(t,e){(e=gw(e))[0]-=t,xw(e);var n=Ob(-e[1]);return((-e[2]<0?-n:n)+xb-gb)%xb}function hk(){var t,e=[];return{point:function(e,n,r){t.push([e,n,r])},lineStart:function(){e.push(t=[])},lineEnd:Lb,rejoin:function(){e.length>1&&e.push(e.pop().concat(e.shift()))},result:function(){var n=e;return e=[],t=null,n}}}function dk(t,e){return kb(t[0]-e[0])=0;--o)i.point((c=l[o])[0],c[1]);else r(h.x,h.p.x,-1,i);h=h.p}l=(h=h.o).z,d=!d}while(!h.v);i.lineEnd()}}}function mk(t){if(e=t.length){for(var e,n,r=0,i=t[0];++r=0?1:-1,E=M*A,D=E>yb,C=m*w;if(u.add(Mb(C*M*Tb(E),y*k+C*Eb(E))),a+=D?A+M*xb:A,D^p>=n^x>=n){var F=yw(gw(d),gw(_));xw(F);var S=yw(o,F);xw(S);var $=(D^A>=0?-1:1)*Rb(S[2]);(r>$||r===$&&(F[0]||F[1]))&&(s+=D^A>=0?1:-1)}}return(a<-1e-6||a0){for(f||(i.polygonStart(),f=!0),i.lineStart(),t=0;t1&&2&u&&h.push(h.pop().concat(h.shift())),a.push(h.filter(_k))}return h}}function _k(t){return t.length>1}function xk(t,e){return((t=t.x)[0]<0?t[1]-vb-gb:vb-t[1])-((e=e.x)[0]<0?e[1]-vb-gb:vb-e[1])}ak.invert=ak;var bk=vk((function(){return!0}),(function(t){var e,n=NaN,r=NaN,i=NaN;return{lineStart:function(){t.lineStart(),e=1},point:function(o,a){var s=o>0?yb:-yb,u=kb(o-n);kb(u-yb)0?vb:-vb),t.point(i,r),t.lineEnd(),t.lineStart(),t.point(s,r),t.point(o,r),e=0):i!==s&&u>=yb&&(kb(n-i)gb?Ab((Tb(e)*(o=Eb(r))*Tb(n)-Tb(r)*(i=Eb(e))*Tb(t))/(i*o*a)):(e+r)/2}(n,r,o,a),t.point(i,r),t.lineEnd(),t.lineStart(),t.point(s,r),e=0),t.point(n=o,r=a),i=s},lineEnd:function(){t.lineEnd(),n=r=NaN},clean:function(){return 2-e}}}),(function(t,e,n,r){var i;if(null==t)i=n*vb,r.point(-yb,i),r.point(0,i),r.point(yb,i),r.point(yb,0),r.point(yb,-i),r.point(0,-i),r.point(-yb,-i),r.point(-yb,0),r.point(-yb,i);else if(kb(t[0]-e[0])>gb){var o=t[0]0,i=kb(e)>gb;function o(t,n){return Eb(t)*Eb(n)>e}function a(t,n,r){var i=[1,0,0],o=yw(gw(t),gw(n)),a=mw(o,o),s=o[0],u=a-s*s;if(!u)return!r&&t;var l=e*a/u,c=-e*s/u,f=yw(i,o),h=_w(i,l);vw(h,_w(o,c));var d=f,p=mw(h,d),g=mw(d,d),m=p*p-g*(mw(h,h)-1);if(!(m<0)){var y=zb(m),v=_w(d,(-p-y)/g);if(vw(v,h),v=pw(v),!r)return v;var _,x=t[0],b=n[0],w=t[1],k=n[1];b0^v[1]<(kb(v[0]-x)yb^(x<=v[0]&&v[0]<=b)){var E=_w(d,(-p+y)/g);return vw(E,h),[v,pw(E)]}}}function s(e,n){var i=r?t:yb-t,o=0;return e<-i?o|=1:e>i&&(o|=2),n<-i?o|=4:n>i&&(o|=8),o}return vk(o,(function(t){var e,n,u,l,c;return{lineStart:function(){l=u=!1,c=1},point:function(f,h){var d,p=[f,h],g=o(f,h),m=r?g?0:s(f,h):g?s(f+(f<0?yb:-yb),h):0;if(!e&&(l=u=g)&&t.lineStart(),g!==u&&(!(d=a(e,p))||dk(e,d)||dk(p,d))&&(p[2]=1),g!==u)c=0,g?(t.lineStart(),d=a(p,e),t.point(d[0],d[1])):(d=a(e,p),t.point(d[0],d[1],2),t.lineEnd()),e=d;else if(i&&e&&r^g){var y;m&n||!(y=a(p,e,!0))||(c=0,r?(t.lineStart(),t.point(y[0][0],y[0][1]),t.point(y[1][0],y[1][1]),t.lineEnd()):(t.point(y[1][0],y[1][1]),t.lineEnd(),t.lineStart(),t.point(y[0][0],y[0][1],3)))}!g||e&&dk(e,p)||t.point(p[0],p[1]),e=p,u=g,n=m},lineEnd:function(){u&&t.lineEnd(),e=null},clean:function(){return c|(l&&u)<<1}}}),(function(e,r,i,o){!function(t,e,n,r,i,o){if(n){var a=Eb(e),s=Tb(e),u=r*n;null==i?(i=e+r*xb,o=e-u/2):(i=fk(a,i),o=fk(a,o),(r>0?io)&&(i+=r*xb));for(var l,c=i;r>0?c>o:c0)do{l.point(0===c||3===c?t:n,c>1?r:e)}while((c=(c+s+4)%4)!==f);else l.point(o[0],o[1])}function a(r,i){return kb(r[0]-t)