@uwdata/mosaic-plot 0.12.2 → 0.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/mosaic-plot.js +225 -195
- package/dist/mosaic-plot.min.js +8 -8
- package/package.json +9 -12
- package/src/interactors/Interval1D.js +4 -0
- package/src/interactors/Interval2D.js +4 -0
- package/src/interactors/Nearest.js +10 -4
- package/src/interactors/PanZoom.js +17 -10
- package/src/interactors/Region.js +4 -0
- package/src/interactors/Toggle.js +10 -3
- package/src/marks/ConnectedMark.js +1 -1
- package/src/marks/Mark.js +1 -1
- package/src/plot.js +14 -3
- package/vitest.config.ts +3 -0
package/dist/mosaic-plot.min.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
var WC=Object.create;var nb=Object.defineProperty;var GC=Object.getOwnPropertyDescriptor;var VC=Object.getOwnPropertyNames;var HC=Object.getPrototypeOf,QC=Object.prototype.hasOwnProperty;var t4=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),ZC=(t,e)=>{for(var n in e)nb(t,n,{get:e[n],enumerable:!0})},KC=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of VC(e))!QC.call(t,o)&&o!==n&&nb(t,o,{get:()=>e[o],enumerable:!(r=GC(e,o))||r.enumerable});return t};var JC=(t,e,n)=>(n=t!=null?WC(HC(t)):{},KC(e||!t||!t.__esModule?nb(n,"default",{value:t,enumerable:!0}):n,t));var AI=t4((RIt,SI)=>{"use strict";function dY(t,e,n,r,o){for(var i=o+1;r<=o;){var s=r+o>>>1,a=t[s],c=n!==void 0?n(a,e):a-e;c>=0?(i=s,o=s-1):r=s+1}return i}function mY(t,e,n,r,o){for(var i=o+1;r<=o;){var s=r+o>>>1,a=t[s],c=n!==void 0?n(a,e):a-e;c>0?(i=s,o=s-1):r=s+1}return i}function gY(t,e,n,r,o){for(var i=r-1;r<=o;){var s=r+o>>>1,a=t[s],c=n!==void 0?n(a,e):a-e;c<0?(i=s,r=s+1):o=s-1}return i}function yY(t,e,n,r,o){for(var i=r-1;r<=o;){var s=r+o>>>1,a=t[s],c=n!==void 0?n(a,e):a-e;c<=0?(i=s,r=s+1):o=s-1}return i}function xY(t,e,n,r,o){for(;r<=o;){var i=r+o>>>1,s=t[i],a=n!==void 0?n(s,e):s-e;if(a===0)return i;a<=0?r=i+1:o=i-1}return-1}function Xh(t,e,n,r,o,i){return typeof n=="function"?i(t,e,n,r===void 0?0:r|0,o===void 0?t.length-1:o|0):i(t,e,void 0,n===void 0?0:n|0,r===void 0?t.length-1:r|0)}SI.exports={ge:function(t,e,n,r,o){return Xh(t,e,n,r,o,dY)},gt:function(t,e,n,r,o){return Xh(t,e,n,r,o,mY)},lt:function(t,e,n,r,o){return Xh(t,e,n,r,o,gY)},le:function(t,e,n,r,o){return Xh(t,e,n,r,o,yY)},eq:function(t,e,n,r,o){return Xh(t,e,n,r,o,xY)}}});var LI=t4((LIt,RI)=>{"use strict";var k1=AI(),au=0,tc=1,N1=2;RI.exports=wY;function d3(t,e,n,r,o){this.mid=t,this.left=e,this.right=n,this.leftPoints=r,this.rightPoints=o,this.count=(e?e.count:0)+(n?n.count:0)+r.length}var Wh=d3.prototype;function p3(t,e){t.mid=e.mid,t.left=e.left,t.right=e.right,t.leftPoints=e.leftPoints,t.rightPoints=e.rightPoints,t.count=e.count}function II(t,e){var n=cu(e);t.mid=n.mid,t.left=n.left,t.right=n.right,t.leftPoints=n.leftPoints,t.rightPoints=n.rightPoints,t.count=n.count}function EI(t,e){var n=t.intervals([]);n.push(e),II(t,n)}function TI(t,e){var n=t.intervals([]),r=n.indexOf(e);return r<0?au:(n.splice(r,1),II(t,n),tc)}Wh.intervals=function(t){return t.push.apply(t,this.leftPoints),this.left&&this.left.intervals(t),this.right&&this.right.intervals(t),t};Wh.insert=function(t){var e=this.count-this.leftPoints.length;if(this.count+=1,t[1]<this.mid)this.left?4*(this.left.count+1)>3*(e+1)?EI(this,t):this.left.insert(t):this.left=cu([t]);else if(t[0]>this.mid)this.right?4*(this.right.count+1)>3*(e+1)?EI(this,t):this.right.insert(t):this.right=cu([t]);else{var n=k1.ge(this.leftPoints,t,m3),r=k1.ge(this.rightPoints,t,g3);this.leftPoints.splice(n,0,t),this.rightPoints.splice(r,0,t)}};Wh.remove=function(t){var e=this.count-this.leftPoints;if(t[1]<this.mid){if(!this.left)return au;var n=this.right?this.right.count:0;if(4*n>3*(e-1))return TI(this,t);var r=this.left.remove(t);return r===N1?(this.left=null,this.count-=1,tc):(r===tc&&(this.count-=1),r)}else if(t[0]>this.mid){if(!this.right)return au;var o=this.left?this.left.count:0;if(4*o>3*(e-1))return TI(this,t);var r=this.right.remove(t);return r===N1?(this.right=null,this.count-=1,tc):(r===tc&&(this.count-=1),r)}else{if(this.count===1)return this.leftPoints[0]===t?N1:au;if(this.leftPoints.length===1&&this.leftPoints[0]===t){if(this.left&&this.right){for(var i=this,s=this.left;s.right;)i=s,s=s.right;if(i===this)s.right=this.right;else{var a=this.left,r=this.right;i.count-=s.count,i.right=s.left,s.left=a,s.right=r}p3(this,s),this.count=(this.left?this.left.count:0)+(this.right?this.right.count:0)+this.leftPoints.length}else this.left?p3(this,this.left):p3(this,this.right);return tc}for(var a=k1.ge(this.leftPoints,t,m3);a<this.leftPoints.length&&this.leftPoints[a][0]===t[0];++a)if(this.leftPoints[a]===t){this.count-=1,this.leftPoints.splice(a,1);for(var r=k1.ge(this.rightPoints,t,g3);r<this.rightPoints.length&&this.rightPoints[r][1]===t[1];++r)if(this.rightPoints[r]===t)return this.rightPoints.splice(r,1),tc}return au}};function CI(t,e,n){for(var r=0;r<t.length&&t[r][0]<=e;++r){var o=n(t[r]);if(o)return o}}function NI(t,e,n){for(var r=t.length-1;r>=0&&t[r][1]>=e;--r){var o=n(t[r]);if(o)return o}}function kI(t,e){for(var n=0;n<t.length;++n){var r=e(t[n]);if(r)return r}}Wh.queryPoint=function(t,e){if(t<this.mid){if(this.left){var n=this.left.queryPoint(t,e);if(n)return n}return CI(this.leftPoints,t,e)}else if(t>this.mid){if(this.right){var n=this.right.queryPoint(t,e);if(n)return n}return NI(this.rightPoints,t,e)}else return kI(this.leftPoints,e)};Wh.queryInterval=function(t,e,n){if(t<this.mid&&this.left){var r=this.left.queryInterval(t,e,n);if(r)return r}if(e>this.mid&&this.right){var r=this.right.queryInterval(t,e,n);if(r)return r}return e<this.mid?CI(this.leftPoints,e,n):t>this.mid?NI(this.rightPoints,t,n):kI(this.leftPoints,n)};function bY(t,e){return t-e}function m3(t,e){var n=t[0]-e[0];return n||t[1]-e[1]}function g3(t,e){var n=t[1]-e[1];return n||t[0]-e[0]}function cu(t){if(t.length===0)return null;for(var e=[],n=0;n<t.length;++n)e.push(t[n][0],t[n][1]);e.sort(bY);for(var r=e[e.length>>1],o=[],i=[],s=[],n=0;n<t.length;++n){var a=t[n];a[1]<r?o.push(a):r<a[0]?i.push(a):s.push(a)}var c=s,f=s.slice();return c.sort(m3),f.sort(g3),new d3(r,cu(o),cu(i),c,f)}function h3(t){this.root=t}var fu=h3.prototype;fu.insert=function(t){this.root?this.root.insert(t):this.root=new d3(t[0],null,null,[t],[t])};fu.remove=function(t){if(this.root){var e=this.root.remove(t);return e===N1&&(this.root=null),e!==au}return!1};fu.queryPoint=function(t,e){if(this.root)return this.root.queryPoint(t,e)};fu.queryInterval=function(t,e,n){if(t<=e&&this.root)return this.root.queryInterval(t,e,n)};Object.defineProperty(fu,"count",{get:function(){return this.root?this.root.count:0}});Object.defineProperty(fu,"intervals",{get:function(){return this.root?this.root.intervals([]):[]}});function wY(t){return!t||t.length===0?new h3(null):new h3(cu(t))}});var Li=Symbol("Fixed"),je=Symbol("Transient"),du=Symbol("Transform");var e4={};function mu(t,e=!1){let n,r,o=e4;function i(f){n=t(f).catch(()=>{}).finally(()=>{if(r){let{value:u}=r;r=null,i(u)}else n=null})}function s(f){r={event:f}}function a(f){n?s(f):i(f)}function c(f){o!==f&&requestAnimationFrame(()=>{let u=o;o=e4,a(u)}),o=f}return e?c:a}var gu=class{constructor(e){this._filterBy=e,this._requestUpdate=mu(()=>this.requestQuery(),!0),this._coordinator=null}get coordinator(){return this._coordinator}set coordinator(e){this._coordinator=e}get filterBy(){return this._filterBy}get filterStable(){return!0}fields(){return null}fieldInfo(e){return this}query(e){return null}queryPending(){return this}queryResult(e){return this}queryError(e){return this}requestQuery(e){let n=e||this.query(this.filterBy?.predicate(this));return this._coordinator.requestQuery(this,n)}requestUpdate(){this._requestUpdate()}initialize(){return this._coordinator.initializeClient(this)}update(){return this}};var yu=Uint8Array.of(65,82,82,79,87,49),or={V1:0,V2:1,V3:2,V4:3,V5:4};var ir={NONE:0,Schema:1,DictionaryBatch:2,RecordBatch:3,Tensor:4,SparseTensor:5},B={Dictionary:-1,NONE:0,Null:1,Int:2,Float:3,Binary:4,Utf8:5,Bool:6,Decimal:7,Date:8,Time:9,Timestamp:10,Interval:11,List:12,Struct:13,Union:14,FixedSizeBinary:15,FixedSizeList:16,Map:17,Duration:18,LargeBinary:19,LargeUtf8:20,LargeList:21,RunEndEncoded:22,BinaryView:23,Utf8View:24,ListView:25,LargeListView:26},ic={HALF:0,SINGLE:1,DOUBLE:2},Fo={DAY:0,MILLISECOND:1},Ne={SECOND:0,MILLISECOND:1,MICROSECOND:2,NANOSECOND:3},sr={YEAR_MONTH:0,DAY_TIME:1,MONTH_DAY_NANO:2},Po={Sparse:0,Dense:1};var sc=Uint8Array,cd=Uint16Array,fd=Uint32Array,ud=BigUint64Array,xu=Int8Array,n4=Int16Array,On=Int32Array,Yn=BigInt64Array,rb=Float32Array,Oi=Float64Array;function r4(t,e){let n=Math.log2(t)-3;return(e?[xu,n4,On,Yn]:[sc,cd,fd,ud])[n]}var rj=Object.getPrototypeOf(Int8Array);function ac(t,e){let n=0,r=t.length;if(r<=2147483648)do{let o=n+r>>>1;t[o]<=e?n=o+1:r=o}while(n<r);else do{let o=Math.trunc((n+r)/2);t[o]<=e?n=o+1:r=o}while(n<r);return n}function ld(t,e,n){if(e(t))return t;throw new Error(n(t))}function $n(t,e,n){return e=Array.isArray(e)?e:Object.values(e),ld(t,r=>e.includes(r),n??(()=>`${t} must be one of ${e}`))}function pd(t,e){for(let[n,r]of Object.entries(t))if(r===e)return n;return"<Unknown>"}var qo=t=>`Unsupported data type: "${pd(B,t)}" (id ${t})`,bu=(t,e,n=!0,r=null)=>({name:t,type:e,nullable:n,metadata:r});function o4(t){return Object.hasOwn(t,"name")&&i4(t.type)}function i4(t){return typeof t?.typeId=="number"}function $i(t,e="",n=!0){return o4(t)?t:bu(e,ld(t,i4,()=>"Data type expected."),n)}var hd=(t,e,n=!1,r=-1)=>({typeId:B.Dictionary,id:r,dictionary:t,indices:e||cc(),ordered:n});var dd=(t=32,e=!0)=>({typeId:B.Int,bitWidth:$n(t,[8,16,32,64]),signed:e,values:r4(t,e)});var cc=()=>dd(32);var ob=(t=2)=>({typeId:B.Float,precision:$n(t,ic),values:[cd,rb,Oi][t]});var ib=()=>({typeId:B.Binary,offsets:On}),md=()=>({typeId:B.Utf8,offsets:On});var sb=(t,e,n=128)=>({typeId:B.Decimal,precision:t,scale:e,bitWidth:$n(n,[128,256]),values:ud}),ab=t=>({typeId:B.Date,unit:$n(t,Fo),values:t===Fo.DAY?On:Yn});var cb=(t=Ne.MILLISECOND,e=32)=>({typeId:B.Time,unit:$n(t,Ne),bitWidth:$n(e,[32,64]),values:e===32?On:Yn});var gd=(t=Ne.MILLISECOND,e=null)=>({typeId:B.Timestamp,unit:$n(t,Ne),timezone:e,values:Yn}),fb=(t=sr.MONTH_DAY_NANO)=>({typeId:B.Interval,unit:$n(t,sr),values:t===sr.MONTH_DAY_NANO?void 0:On}),yd=t=>({typeId:B.List,children:[$i(t)],offsets:On}),xd=t=>({typeId:B.Struct,children:Array.isArray(t)&&o4(t[0])?t:Object.entries(t).map(([e,n])=>bu(e,n))}),ub=(t,e,n,r)=>(n??=e.map((o,i)=>i),{typeId:B.Union,mode:$n(t,Po),typeIds:n,typeMap:n.reduce((o,i,s)=>(o[i]=s,o),{}),children:e.map((o,i)=>$i(o,`_${i}`)),typeIdForValue:r,offsets:On}),lb=t=>({typeId:B.FixedSizeBinary,stride:t}),bd=(t,e)=>({typeId:B.FixedSizeList,stride:e,children:[$i(t)]}),s4=(t,e)=>({typeId:B.Map,keysSorted:t,children:[e],offsets:On});var pb=(t=Ne.MILLISECOND)=>({typeId:B.Duration,unit:$n(t,Ne),values:Yn}),hb=()=>({typeId:B.LargeBinary,offsets:Yn}),db=()=>({typeId:B.LargeUtf8,offsets:Yn}),mb=t=>({typeId:B.LargeList,children:[$i(t)],offsets:Yn}),gb=(t,e)=>({typeId:B.RunEndEncoded,children:[ld($i(t,"run_ends"),n=>n.type.typeId===B.Int,()=>"Run-ends must have an integer type."),$i(e,"values")]});var yb=t=>({typeId:B.ListView,children:[$i(t,"value")],offsets:On}),xb=t=>({typeId:B.LargeListView,children:[$i(t,"value")],offsets:Yn});var tN=new Oi(2),wd=tN.buffer,pj=new Yn(wd),hj=new fd(wd),dj=new On(wd),mj=new sc(wd);function jr(t){if(t>Number.MAX_SAFE_INTEGER||t<Number.MIN_SAFE_INTEGER)throw Error(`BigInt exceeds integer number representation: ${t}`);return Number(t)}function vd(t,e){return Number(t/e)+Number(t%e)/Number(e)}var fc=t=>BigInt.asUintN(64,t);function c4(t,e){let n=e<<1,r;return BigInt.asIntN(64,t[n+1])<0?(r=fc(~t[n])|fc(~t[n+1])<<64n,r=-(r+1n)):r=t[n]|t[n+1]<<64n,r}function f4(t,e){let n=e<<2,r;return BigInt.asIntN(64,t[n+3])<0?(r=fc(~t[n])|fc(~t[n+1])<<64n|fc(~t[n+2])<<128n|fc(~t[n+3])<<192n,r=-(r+1n)):r=t[n]|t[n+1]<<64n|t[n+2]<<128n|t[n+3]<<192n,r}var nN=new TextDecoder("utf-8"),wj=new TextEncoder;function uc(t){return nN.decode(t)}var Ps=4;function bb(t,e){return(t[e>>3]&1<<e%8)!==0}function en(t,e){let n=e+Bt(t,e),r=n-Bt(t,n),o=Xe(t,r);return(i,s,a=null)=>{if(i<o){let c=Xe(t,r+i);if(c)return s(t,n+c)}return a}}function Mr(t,e){return e}function Di(t,e){return!!rN(t,e)}function rN(t,e){return wu(t,e)<<24>>24}function wu(t,e){return t[e]}function Xe(t,e){return oN(t,e)<<16>>16}function oN(t,e){return t[e]|t[e+1]<<8}function Bt(t,e){return t[e]|t[e+1]<<8|t[e+2]<<16|t[e+3]<<24}function u4(t,e){return Bt(t,e)>>>0}function ke(t,e){return jr(BigInt.asIntN(64,BigInt(u4(t,e))+(BigInt(u4(t,e+Ps))<<32n)))}function qs(t,e){let n=e+Bt(t,e),r=Bt(t,n);return n+=Ps,uc(t.subarray(n,n+r))}function Un(t,e,n,r){if(!e)return[];let o=e+Bt(t,e);return Array.from({length:Bt(t,o)},(i,s)=>r(t,o+Ps+s*n))}var wb=Symbol("rowIndex");function vu(t,e){class n{constructor(i){this[wb]=i}toJSON(){return l4(t,e,this[wb])}}let r=n.prototype;for(let o=0;o<t.length;++o){if(Object.hasOwn(r,t[o]))continue;let i=e[o];Object.defineProperty(r,t[o],{get(){return i.at(this[wb])},enumerable:!0})}return o=>new n(o)}function _d(t,e){return n=>l4(t,e,n)}function l4(t,e,n){let r={};for(let o=0;o<t.length;++o)r[t[o]]=e[o].at(n);return r}function p4(t){return t instanceof Fi}var Bs=class{static ArrayType=null;constructor({length:e,nullCount:n,type:r,validity:o,values:i,offsets:s,sizes:a,children:c}){this.length=e,this.nullCount=n,this.type=r,this.validity=o,this.values=i,this.offsets=s,this.sizes=a,this.children=c,(!n||!this.validity)&&(this.at=f=>this.value(f))}get[Symbol.toStringTag](){return"Batch"}at(e){return this.isValid(e)?this.value(e):null}isValid(e){return bb(this.validity,e)}value(e){return this.values[e]}slice(e,n){let r=n-e,o=Array(r);for(let i=0;i<r;++i)o[i]=this.at(e+i);return o}*[Symbol.iterator](){for(let e=0;e<this.length;++e)yield this.at(e)}},Fi=class extends Bs{constructor(e){super(e);let{length:n,values:r}=this;this.values=r.subarray(0,n)}slice(e,n){return this.nullCount?super.slice(e,n):this.values.subarray(e,n)}[Symbol.iterator](){return this.nullCount?super[Symbol.iterator]():this.values[Symbol.iterator]()}},_u=class extends Bs{static ArrayType=Oi},ee=class extends Bs{static ArrayType=Array},Mu=class extends ee{value(e){return null}},Xr=class extends _u{value(e){return jr(this.values[e])}},Md=class extends _u{value(e){let n=this.values[e],r=(n&31744)>>10,o=(n&1023)/1024,i=(-1)**((n&32768)>>15);switch(r){case 31:return i*(o?Number.NaN:1/0);case 0:return i*(o?6103515625e-14*o:0)}return i*2**(r-15)*(1+o)}},Sd=class extends ee{value(e){return bb(this.values,e)}},Ad=class extends Bs{constructor(e){super(e);let{bitWidth:n,scale:r}=this.type;this.decimal=n===128?c4:f4,this.scale=10n**BigInt(r)}},Ed=class extends Ad{static ArrayType=Oi;value(e){return vd(this.decimal(this.values,e),this.scale)}},Td=class extends Ad{static ArrayType=Array;value(e){return this.decimal(this.values,e)}},Su=class extends ee{constructor(e){super(e),this.source=e}value(e){return new Date(this.source.value(e))}},Id=class extends _u{value(e){return 864e5*this.values[e]}},h4=Xr,Cd=class extends Xr{value(e){return super.value(e)*1e3}},d4=Xr,Nd=class extends Xr{value(e){return vd(this.values[e],1000n)}},kd=class extends Xr{value(e){return vd(this.values[e],1000000n)}},Rd=class extends ee{value(e){return this.values.subarray(e<<1,e+1<<1)}},Ld=class extends ee{value(e){let n=this.values,r=e<<4;return Float64Array.of(Bt(n,r),Bt(n,r+4),ke(n,r+8))}},m4=({values:t,offsets:e},n)=>t.subarray(e[n],e[n+1]),g4=({values:t,offsets:e},n)=>t.subarray(jr(e[n]),jr(e[n+1])),Od=class extends ee{value(e){return m4(this,e)}},$d=class extends ee{value(e){return g4(this,e)}},Dd=class extends ee{value(e){return uc(m4(this,e))}},Fd=class extends ee{value(e){return uc(g4(this,e))}},Pd=class extends ee{value(e){let n=this.offsets;return this.children[0].slice(n[e],n[e+1])}},qd=class extends ee{value(e){let n=this.offsets;return this.children[0].slice(jr(n[e]),jr(n[e+1]))}},Bd=class extends ee{value(e){let n=this.offsets[e],r=n+this.sizes[e];return this.children[0].slice(n,r)}},zd=class extends ee{value(e){let n=this.offsets[e],r=n+this.sizes[e];return this.children[0].slice(jr(n),jr(r))}},Yd=class extends ee{constructor(e){super(e),this.stride=this.type.stride}},Ud=class extends Yd{value(e){let{stride:n,values:r}=this;return r.subarray(e*n,(e+1)*n)}},jd=class extends Yd{value(e){let{children:n,stride:r}=this;return n[0].slice(e*r,(e+1)*r)}};function y4({children:t,offsets:e},n){let[r,o]=t[0].children,i=e[n],s=e[n+1],a=[];for(let c=i;c<s;++c)a.push([r.at(c),o.at(c)]);return a}var Xd=class extends ee{value(e){return y4(this,e)}},Wd=class extends ee{value(e){return new Map(y4(this,e))}},Au=class extends ee{constructor({typeIds:e,...n}){super(n),this.typeIds=e,this.typeMap=this.type.typeMap}value(e,n=e){let{typeIds:r,children:o,typeMap:i}=this;return o[i[r[e]]].at(n)}},Gd=class extends Au{value(e){return super.value(e,this.offsets[e])}},Eu=class extends ee{constructor(e,n=_d){super(e),this.names=this.type.children.map(r=>r.name),this.factory=n(this.names,this.children)}value(e){return this.factory(e)}},Vd=class extends Eu{constructor(e){super(e,vu)}},Hd=class extends ee{value(e){let[{values:n},r]=this.children;return r.at(ac(n,e))}},Qd=class extends ee{setDictionary(e){return this.dictionary=e,this.cache=e.cache(),this}value(e){return this.cache[this.key(e)]}key(e){return this.values[e]}},Zd=class extends ee{constructor({data:e,...n}){super(n),this.data=e}view(e){let{values:n,data:r}=this,o=e<<4,i=o+4,s=n,a=Bt(s,o);return a>12&&(i=Bt(s,o+12),s=r[Bt(s,o+8)]),s.subarray(i,i+a)}},Kd=class extends Zd{value(e){return this.view(e)}},Jd=class extends Zd{value(e){return uc(this.view(e))}};function vb(t){let e=[];return{add(n){return e.push(n),this},clear:()=>e=[],done:()=>new zs(e,t)}}var zs=class{constructor(e,n=e[0]?.type){this.type=n,this.length=e.reduce((i,s)=>i+s.length,0),this.nullCount=e.reduce((i,s)=>i+s.nullCount,0),this.data=e;let r=e.length,o=new Int32Array(r+1);if(r===1){let[i]=e;o[1]=i.length,this.at=s=>i.at(s)}else for(let i=0,s=0;i<r;++i)o[i+1]=s+=e[i].length;this.offsets=o}get[Symbol.toStringTag](){return"Column"}[Symbol.iterator](){let e=this.data;return e.length===1?e[0][Symbol.iterator]():iN(e)}at(e){let{data:n,offsets:r}=this,o=ac(r,e)-1;return n[o]?.at(e-r[o])}get(e){return this.at(e)}toArray(){let{length:e,nullCount:n,data:r}=this,o=!n&&p4(r[0]),i=r.length;if(o&&i===1)return r[0].values;let s=!i||n>0?Array:r[0].constructor.ArrayType??r[0].values.constructor,a=new s(e);return o?sN(a,r):aN(a,r)}cache(){return this._cache??(this._cache=this.toArray())}};function*iN(t){for(let e=0;e<t.length;++e){let n=t[e][Symbol.iterator]();for(let r=n.next();!r.done;r=n.next())yield r.value}}function sN(t,e){for(let n=0,r=0;n<e.length;++n){let{values:o}=e[n];t.set(o,r),r+=o.length}return t}function aN(t,e){let n=-1;for(let r=0;r<e.length;++r){let o=e[r];for(let i=0;i<o.length;++i)t[++n]=o.at(i)}return t}var lc=class t{constructor(e,n,r=!1){let o=e.fields.map(s=>s.name);this.schema=e,this.names=o,this.children=n,this.factory=r?vu:_d;let i=[];this.getFactory=s=>i[s]??(i[s]=this.factory(o,n.map(a=>a.data[s])))}get[Symbol.toStringTag](){return"Table"}get numCols(){return this.names.length}get numRows(){return this.children[0]?.length??0}getChildAt(e){return this.children[e]}getChild(e){let n=this.names.findIndex(r=>r===e);return n>-1?this.children[n]:void 0}selectAt(e,n=[]){let{children:r,factory:o,schema:i}=this,{fields:s}=i;return new t({...i,fields:e.map((a,c)=>cN(s[a],n[c]))},e.map(a=>r[a]),o===vu)}select(e,n){let r=this.names,o=e.map(i=>r.indexOf(i));return this.selectAt(o,n)}toColumns(){let{children:e,names:n}=this,r={};return n.forEach((o,i)=>r[o]=e[i]?.toArray()??[]),r}toArray(){let{children:e,getFactory:n,numRows:r}=this,o=e[0]?.data??[],i=Array(r);for(let s=0,a=-1;s<o.length;++s){let c=n(s);for(let f=0;f<o[s].length;++f)i[++a]=c(f)}return i}*[Symbol.iterator](){let{children:e,getFactory:n}=this,r=e[0]?.data??[];for(let o=0;o<r.length;++o){let i=n(o);for(let s=0;s<r[o].length;++s)yield i(s)}}at(e){let{children:n,getFactory:r,numRows:o}=this;if(e<0||e>=o)return null;let[{offsets:i}]=n,s=ac(i,e)-1;return r(s)(e-i[s])}get(e){return this.at(e)}};function cN(t,e){return e!=null&&e!==t.name?{...t,name:e}:t}function Tu(t,e={}){let{typeId:n,bitWidth:r,precision:o,unit:i}=t,{useBigInt:s,useDate:a,useDecimalBigInt:c,useMap:f,useProxy:u}=e;switch(n){case B.Null:return Mu;case B.Bool:return Sd;case B.Int:case B.Time:case B.Duration:return s||r<64?Fi:Xr;case B.Float:return o?Fi:Md;case B.Date:return x4(i===Fo.DAY?Id:h4,a&&Su);case B.Timestamp:return x4(i===Ne.SECOND?Cd:i===Ne.MILLISECOND?d4:i===Ne.MICROSECOND?Nd:kd,a&&Su);case B.Decimal:return c?Td:Ed;case B.Interval:return i===sr.DAY_TIME?Rd:i===sr.YEAR_MONTH?Fi:Ld;case B.FixedSizeBinary:return Ud;case B.Utf8:return Dd;case B.LargeUtf8:return Fd;case B.Binary:return Od;case B.LargeBinary:return $d;case B.BinaryView:return Kd;case B.Utf8View:return Jd;case B.List:return Pd;case B.LargeList:return qd;case B.Map:return f?Wd:Xd;case B.ListView:return Bd;case B.LargeListView:return zd;case B.FixedSizeList:return jd;case B.Struct:return u?Vd:Eu;case B.RunEndEncoded:return Hd;case B.Dictionary:return Qd;case B.Union:return t.mode?Gd:Au}throw new Error(qo(n))}function x4(t,e){return e?class extends e{constructor(r){super(new t(r))}}:t}function fN(t,e){return{offset:ke(t,e),metadataLength:Bt(t,e+8),bodyLength:ke(t,e+16)}}function _b(t,e){return Un(t,e,24,fN)}function tm(t,e,n){let r=en(t,e);if(r(10,Mr,0))throw new Error("Record batch compression not implemented");let o=n<or.V4?8:0;return{length:r(4,ke,0),nodes:Un(t,r(6,Mr),16,(i,s)=>({length:ke(i,s),nullCount:ke(i,s+8)})),regions:Un(t,r(8,Mr),16+o,(i,s)=>({offset:ke(i,s+o),length:ke(i,s+o+8)})),variadic:Un(t,r(12,Mr),8,ke)}}function b4(t,e,n){let r=en(t,e);return{id:r(4,ke,0),data:r(6,(o,i)=>tm(o,i,n)),isDelta:r(8,Di,!1)}}function Mb(t,e,n,r){$n(n,B,qo);let o=en(t,e);switch(n){case B.Binary:return ib();case B.Utf8:return md();case B.LargeBinary:return hb();case B.LargeUtf8:return db();case B.List:return yd(r[0]);case B.ListView:return yb(r[0]);case B.LargeList:return mb(r[0]);case B.LargeListView:return xb(r[0]);case B.Struct:return xd(r);case B.RunEndEncoded:return gb(r[0],r[1]);case B.Int:return dd(o(4,Bt,0),o(6,Di,!1));case B.Float:return ob(o(4,Xe,ic.HALF));case B.Decimal:return sb(o(4,Bt,0),o(6,Bt,0),o(8,Bt,128));case B.Date:return ab(o(4,Xe,Fo.MILLISECOND));case B.Time:return cb(o(4,Xe,Ne.MILLISECOND),o(6,Bt,32));case B.Timestamp:return gd(o(4,Xe,Ne.SECOND),o(6,qs));case B.Interval:return fb(o(4,Xe,sr.YEAR_MONTH));case B.Duration:return pb(o(4,Xe,Ne.MILLISECOND));case B.FixedSizeBinary:return lb(o(4,Bt,0));case B.FixedSizeList:return bd(r[0],o(4,Bt,0));case B.Map:return s4(o(4,Di,!1),r[0]);case B.Union:return ub(o(4,Xe,Po.Sparse),r,Un(t,o(6,Mr),4,Bt))}return{typeId:n}}function Iu(t,e){let n=Un(t,e,4,(r,o)=>{let i=en(r,o);return[i(4,qs),i(6,qs)]});return n.length?new Map(n):null}function em(t,e,n){let r=en(t,e);return{version:n,endianness:r(4,Xe,0),fields:r(6,uN,[]),metadata:r(8,Iu)}}function uN(t,e){return Un(t,e,4,w4)}function w4(t,e){let n=en(t,e),r=n(8,wu,B.NONE),o=n(10,Mr,0),i=n(12,pN),s=n(14,(c,f)=>lN(c,f)),a=Mb(t,o,r,s);return i&&(i.dictionary=a,a=i),{name:n(4,qs),type:a,nullable:n(6,Di,!1),metadata:n(16,Iu)}}function lN(t,e){let n=Un(t,e,4,w4);return n.length?n:null}function pN(t,e){if(!e)return null;let n=en(t,e);return hd(null,n(6,hN,cc()),n(8,Di,!1),n(4,ke,0))}function hN(t,e){return Mb(t,e,B.Int)}var dN=(t,e)=>`Expected to read ${t} metadata bytes, but only read ${e}.`,mN=(t,e)=>`Expected to read ${t} bytes for message body, but only read ${e}.`,gN=t=>`Unsupported message type: ${t} (${pd(ir,t)})`;function nm(t,e){let n=Bt(t,e)||0;if(e+=Ps,n===-1&&(n=Bt(t,e)||0,e+=Ps),n===0)return null;let r=t.subarray(e,e+=n);if(r.byteLength<n)throw new Error(dN(n,r.byteLength));let o=en(r,0),i=o(4,Xe,or.V1),s=o(6,wu,ir.NONE),a=o(8,Mr,0),c=o(10,ke,0),f;if(a){let u=s===ir.Schema?em:s===ir.DictionaryBatch?b4:s===ir.RecordBatch?tm:null;if(!u)throw new Error(gN(s));if(f=u(r,a,i),c>0){let p=t.subarray(e,e+=c);if(p.byteLength<c)throw new Error(mN(c,p.byteLength));f.body=p}}return{version:i,type:s,index:e,content:f}}function v4(t){let e=t instanceof ArrayBuffer?new Uint8Array(t):t;return e instanceof Uint8Array&&yN(e)?bN(e):xN(e)}function yN(t){if(!t||t.length<4)return!1;for(let e=0;e<6;++e)if(yu[e]!==t[e])return!1;return!0}function xN(t){let e=[t].flat(),n,r=[],o=[];for(let i of e){if(!(i instanceof Uint8Array))throw new Error("IPC data batch was not a Uint8Array.");let s=0;for(;;){let a=nm(i,s);if(a===null)break;if(s=a.index,!!a.content)switch(a.type){case ir.Schema:n||(n=a.content);break;case ir.RecordBatch:r.push(a.content);break;case ir.DictionaryBatch:o.push(a.content);break}}}return{schema:n,dictionaries:o,records:r,metadata:null}}function bN(t){let e=t.byteLength-(yu.length+4),n=Bt(t,e),r=en(t,e-n),o=r(4,Xe,or.V1),i=r(8,_b,[]),s=r(10,_b,[]);return{schema:r(6,(a,c)=>em(a,c,o)),dictionaries:i.map(({offset:a})=>nm(t,a).content),records:s.map(({offset:a})=>nm(t,a).content),metadata:r(12,Iu)}}function Ab(t,e){return wN(v4(t),e)}function wN(t,e={}){let{schema:n={fields:[]},dictionaries:r,records:o}=t,{version:i,fields:s}=n,a=new Map,c=_N(e,i,a),f=new Map;vN(n,l=>{let h=l.type;h.typeId===B.Dictionary&&f.set(h.id,h.dictionary)});let u=new Map;for(let l of r){let{id:h,data:d,isDelta:m,body:g}=l,y=f.get(h),x=Sb(y,c({...d,body:g}));if(u.has(h)){let b=u.get(h);m||b.clear(),b.add(x)}else{if(m)throw new Error("Delta update can not be first dictionary batch.");u.set(h,vb(y).add(x))}}u.forEach((l,h)=>a.set(h,l.done()));let p=s.map(l=>vb(l.type));for(let l of o){let h=c(l);s.forEach((d,m)=>p[m].add(Sb(d.type,h)))}return new lc(n,p.map(l=>l.done()),e.useProxy)}function vN(t,e){t.fields.forEach(function n(r){e(r),r.type.dictionary?.children?.forEach(n),r.type.children?.forEach(n)})}function _N(t,e,n){let r={version:e,options:t,dictionary:o=>n.get(o)};return o=>{let{length:i,nodes:s,regions:a,variadic:c,body:f}=o,u=-1,p=-1,l=-1;return{...r,length:i,node:()=>s[++u],buffer:h=>{let{length:d,offset:m}=a[++p];return h?new h(f.buffer,f.byteOffset+m,d/h.BYTES_PER_ELEMENT):f.subarray(m,m+d)},variadic:()=>c[++l],visit(h){return h.map(d=>Sb(d.type,this))}}}}function Sb(t,e){let{typeId:n}=t,{length:r,options:o,node:i,buffer:s,variadic:a,version:c}=e,f=Tu(t,o);if(n===B.Null)return new f({length:r,nullCount:r,type:t});let u={...i(),type:t};switch(n){case B.Bool:case B.Int:case B.Time:case B.Duration:case B.Float:case B.Decimal:case B.Date:case B.Timestamp:case B.Interval:case B.FixedSizeBinary:return new f({...u,validity:s(),values:s(t.values)});case B.Utf8:case B.LargeUtf8:case B.Binary:case B.LargeBinary:return new f({...u,validity:s(),offsets:s(t.offsets),values:s()});case B.BinaryView:case B.Utf8View:return new f({...u,validity:s(),values:s(),data:Array.from({length:a()},()=>s())});case B.List:case B.LargeList:case B.Map:return new f({...u,validity:s(),offsets:s(t.offsets),children:e.visit(t.children)});case B.ListView:case B.LargeListView:return new f({...u,validity:s(),offsets:s(t.offsets),sizes:s(t.offsets),children:e.visit(t.children)});case B.FixedSizeList:case B.Struct:return new f({...u,validity:s(),children:e.visit(t.children)});case B.RunEndEncoded:return new f({...u,children:e.visit(t.children)});case B.Dictionary:{let{id:p,indices:l}=t;return new f({...u,validity:s(),values:s(l.values)}).setDictionary(e.dictionary(p))}case B.Union:return c<or.V5&&s(),new f({...u,typeIds:s(xu),offsets:t.mode===Po.Sparse?null:s(t.offsets),children:e.visit(t.children)});default:throw new Error(qo(n))}}var HX=new Uint16Array(new Uint8Array([1,0]).buffer)[0]===1;function Cu(t){return Ab(t,{useDate:!0})}function Eb(t="ws://localhost:3000/"){let e=[],n=!1,r=null,o,i={open(){n=!0,c()},close(){for(n=!1,r=null,o=null;e.length;)e.shift().reject("Socket closed")},error(f){if(r){let{reject:u}=r;r=null,c(),u(f)}else console.error("WebSocket error: ",f)},message({data:f}){if(r){let{query:u,resolve:p,reject:l}=r;if(r=null,c(),typeof f=="string"){let h=JSON.parse(f);h.error?l(h.error):p(h)}else if(u.type==="exec")p();else if(u.type==="arrow")p(Cu(f));else throw new Error(`Unexpected socket data: ${f}`)}else console.log("WebSocket message: ",f)}};function s(){o=new WebSocket(t),o.binaryType="arraybuffer";for(let f in i)o.addEventListener(f,i[f])}function a(f,u,p){o==null&&s(),e.push({query:f,resolve:u,reject:p}),n&&!r&&c()}function c(){e.length&&(r=e.shift(),o.send(JSON.stringify(r.query)))}return{get connected(){return n},query(f){return new Promise((u,p)=>a(f,u,p))}}}var pc="COLUMN_REF",hc="COLUMN_PARAM",I4="TABLE_REF",C4="LITERAL",N4="INTERVAL",rm="ORDER_BY",om="CAST",im="CASE",sm="WHEN",Tb="UNARY",k4="UNARY_POSTFIX",am="BINARY",cm="BETWEEN",fm="NOT_BETWEEN",um="LOGICAL_OPERATOR",lm="IN",pm="FUNCTION",Us="AGGREGATE",dc="WINDOW",hm="WINDOW_DEF",dm="WINDOW_FRAME",R4="EXPRESSION",mc="FRAGMENT",mm="VERBATIM",gc="PARAM",L4="WITH_CLAUSE",gm="SELECT_CLAUSE",ym="FROM_CLAUSE";var O4="SAMPLE_CLAUSE";var xm="WINDOW_CLAUSE";var bm="SELECT_QUERY",wm="DESCRIBE_QUERY",vm="SET_OPERATION";function Re(t){return t instanceof ue}var ue=class{constructor(e){this.type=e}},xt=class extends ue{};var js=class extends xt{constructor(e){super(C4),this.value=e}toString(){return Ib(this.value)}};function Ib(t){switch(typeof t){case"number":return Number.isFinite(t)?`${t}`:"NULL";case"string":return`'${t.replace("'","''")}'`;case"boolean":return t?"TRUE":"FALSE";default:if(t==null)return"NULL";if(t instanceof Date){let e=+t;if(Number.isNaN(e))return"NULL";let n=t.getUTCFullYear(),r=t.getUTCMonth(),o=t.getUTCDate();return e===Date.UTC(n,r,o)?`DATE '${n}-${r+1}-${o}'`:`epoch_ms(${e})`}else return t instanceof RegExp?`'${t.source}'`:`${t}`}}var Sr=class extends xt{constructor(e){super(gc),this.param=e}get value(){return this.param.value}toString(){return Ib(this.value)}};function Cb(t){return t.split(".")}function Ar(t){return`"${t}"`}function _m(t){return t&&XN(t)?t.slice(1,-1):t}function XN(t){return t[0]==='"'&&t[t.length-1]==='"'}function Pi(t){return t instanceof yc}var yc=class extends xt{constructor(e){super(I4),this.table=[e].flat()}get name(){return this.table[this.table.length-1]}toString(){return this.table.map(e=>Ar(e)).join(".")}};var Xs=class extends xt{constructor(e,n=[]){super(pm),this.name=e,this.args=n}toString(){let{name:e,args:n}=this;return`${e}(${n.join(", ")})`}};function We(t,...e){return new Xs(t,Mm(e).map(It))}function nn(t,...e){return new ku(t,Mm(e).map(It))}function $4(t,...e){return new Ws(new Nu(t,Mm(e).map(It)))}function Dn(t,e=It){return t.flat().filter(n=>n!=null).map(n=>e(n))}function Mm(t){let e=t.length,n=e;for(;n>0&&t[n-1]===void 0;--n);return n<e?t.slice(0,n):t}function ar(t){return typeof t=="string"}function Ru(t){return Array.isArray(t)}function Er(t){return t&&typeof t.addEventListener=="function"&&t.dynamic!==!1&&"value"in t}var Ou=class extends ue{constructor(e,n){super(xm),this.name=e,this.def=n}toString(){return`${Ar(this.name)} AS ${this.def}`}},Ws=class t extends xt{constructor(e,n=new Gs){super(dc),this.func=e,this.def=n}over(e){return new t(this.func,this.def.over(e))}partitionby(...e){return new t(this.func,this.def.partitionby(...e))}orderby(...e){return new t(this.func,this.def.orderby(...e))}rows(e){return new t(this.func,this.def.rows(e))}range(e){return new t(this.func,this.def.range(e))}toString(){return`${this.func} OVER ${this.def}`}},Nu=class extends Xs{constructor(e,n){super(e,n)}},Gs=class extends ue{constructor(e,n,r,o){super(hm),this.name=e,this.partition=n,this.order=r,this.frame=o}over(e){return Lu(this,{name:e})}partitionby(...e){return Lu(this,{partition:Dn(e)})}orderby(...e){return Lu(this,{order:Dn(e)})}rows(e){return Lu(this,{frame:new $u(e)})}range(e){return Lu(this,{frame:new $u(e,!0)})}toString(){let{name:e,partition:n,order:r,frame:o}=this,i=e&&Ar(e),s=[i,n?.length&&`PARTITION BY ${n.join(", ")}`,r?.length&&`ORDER BY ${r.join(", ")}`,o].filter(a=>a);return i&&s.length<2?i:`(${s.join(" ")})`}},$u=class extends ue{constructor(e,n=!1,r=void 0){super(dm),this.extent=Er(e)?new Sr(e):e,this.range=n,this.exclude=r}toString(){let{range:e,exclude:n,extent:r}=this,o=e?"RANGE":"ROWS",[i,s]=Re(r)?r.value:r,a=D4(i,"PRECEDING"),c=D4(s,"FOLLOWING");return`${o} BETWEEN ${a} AND ${c}${n?` ${n}`:""}`}};function Lu(t,e){return new Gs(e.name??t.name,e.partition??t.partition,e.order??t.order,e.frame??t.frame)}function D4(t,e){return t===0?"CURRENT ROW":Number.isFinite(t)?`${Math.abs(t)} ${e}`:`UNBOUNDED ${e}`}function qi(t){return t instanceof zo}var zo=class extends xt{constructor(e,n){super(e),this.table=n}get column(){return null}toString(){let{column:e,table:n}=this,r=`${n??""}`,o=e==="*"?"*":Ar(e);return(r?r+".":"")+o}},Du=class extends zo{constructor(e,n){super(pc,n),this.name=e}get column(){return this.name}};function Nb(t){return t instanceof xc}var xc=class extends zo{constructor(e,n){super(hc,n),this.param=e}get column(){return`${this.param.value}`}};function Fu(t,e){let n=Vs(e);return Er(t)?new xc(new Sr(t),n):new Du(t,n)}var Hs=class extends xt{constructor(e){super(mm),this.value=e}toString(){return this.value}};function mn(t){return new js(t)}function F4(t){return new Hs(t)}function Sm(...t){let e=Dn(t,String);return e?.length?new yc(e):void 0}function It(t){return ar(t)?WN(t):Pu(t)}function Qs(t){return ar(t)?F4(t):Pu(t)}function Pu(t){return t instanceof xt?t:Er(t)?new Sr(t):mn(t)}function Vs(t){return ar(t)?GN(t):Ru(t)?Sm(t):t}function WN(t){let e=Cb(t);return Fu(e.pop(),Sm(e))}function GN(t){return Sm(Cb(t))}function kb(){return new Gs}var ku=class t extends xt{constructor(e,n,r,o){super(Us),this.name=e,this.args=n,this.isDistinct=r,this.filter=o}distinct(e=!0){return new t(this.name,this.args,e,this.filter)}where(e){return ar(e)&&(e=Qs(e)),new t(this.name,this.args,this.isDistinct,e)}window(){return new Ws(this)}partitionby(...e){return this.window().partitionby(...e)}orderby(...e){return this.window().orderby(...e)}toString(){let{name:e,args:n,isDistinct:r,filter:o}=this,i=r?"DISTINCT ":"",s=n?.length?n.join(", "):"*",a=o?` FILTER (WHERE ${o})`:"";return`${e}(${i}${s})${a}`}},P4=["any_value","approx_count_distinct","approx_quantile","arbitrary","arg_max","arg_max_null","arg_min","arg_min_null","array_agg","avg","bit_and","bit_or","bit_xor","bitstring_agg","bool_and","bool_or","corr","count","covar_pop","covar_samp","entropy","favg","first","fsum","geomean","kurtosis_pop","kurtosis","last","mad","max","max_by","median","min","min_by","mode","product","quantile","quantile_cont","quantile_disc","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_sxx","regr_sxy","regr_syy","regr_slope","reservoir_quantile","skewness","stddev","stddev_pop","stddev_samp","string_agg","sum","variance","var_pop","var_samp"];var Am=class extends xt{constructor(e,n,r){super(e),this.expr=n,this.extent=r}toSQL(e){let{extent:n,expr:r}=this;return n?`(${r} ${e} ${n[0]} AND ${n[1]})`:""}},Zs=class extends Am{constructor(e,n){super(cm,e,n)}toString(){return super.toSQL("BETWEEN")}},qu=class extends Am{constructor(e,n){super(fm,e,n)}toString(){return super.toSQL("NOT BETWEEN")}};var Bu=class extends xt{constructor(e,n,r){super(am),this.op=e,this.left=n,this.right=r}toString(){return`(${this.left} ${this.op} ${this.right})`}};var bc=class t extends xt{constructor(e=void 0,n=[],r=void 0){super(im),this.expr=e,this._when=n,this._else=r}when(e,n){return new t(this.expr,this._when.concat(new wc(It(e),It(n))),this._else)}else(e){return new t(this.expr,this._when,It(e))}toString(){return"CASE "+(this.expr?`${this.expr} `:"")+this._when.join(" ")+(this._else?` ELSE ${this._else}`:"")+" END"}},wc=class extends ue{constructor(e,n){super(sm),this.when=e,this.then=n}toString(){return`WHEN ${this.when} THEN ${this.then}`}};var zu=class extends xt{constructor(e,n){super(om),this.expr=e,this.cast=n}toString(){return`(${this.expr})::${this.cast}`}};var Yu=class extends xt{constructor(e){super(mc),this.spans=e}toString(){return this.spans.join("")}};var Uu=class extends ue{constructor(e,n=!1,r=void 0,o=void 0){super(O4),this.size=e,this.perc=n,this.method=r,this.seed=o}toString(){let{size:e,perc:n,method:r,seed:o}=this,i=n?"%":" ROWS",s=o!=null?`, ${o}`:"";return`${e}${i}${r?` (${r}${s})`:""}`}};var ju=class extends ue{constructor(e,n){super(gm),this.expr=e,this.alias=n}toString(){let{expr:e,alias:n}=this;return!n||VN(e,n)?`${e}`:`${e} AS ${Ar(n)}`}};function VN(t,e){return t instanceof zo&&t.table==null&&t.column===e}var Xu=class extends ue{constructor(e,n){super(L4),this.name=e,this.query=n}toString(){return`"${this.name}" AS (${this.query})`}};function Em(t){return t instanceof yt}function Bi(t){return t instanceof Js}function Rb(t){return t instanceof Wu}var yt=class extends xt{static select(...e){return new Js().select(...e)}static from(...e){return new Js().from(...e)}static with(...e){return new Js().with(...e)}static union(...e){return new Ks("UNION",e.flat())}static unionAll(...e){return new Ks("UNION ALL",e.flat())}static intersect(...e){return new Ks("INTERSECT",e.flat())}static except(...e){return new Ks("EXCEPT",e.flat())}static describe(e){return new Wu(e)}constructor(e){super(e),this._orderby=[],this._limit=void 0,this._offset=void 0,this.cteFor=null}get subqueries(){return[]}clone(){return this}orderby(...e){return this._orderby=this._orderby.concat(Dn(e)),this}limit(e){return this._limit=Number.isFinite(e)?e:void 0,this}offset(e){return this._offset=Number.isFinite(e)?e:void 0,this}},Js=class t extends yt{constructor(){super(bm),this._with=[],this._select=[],this._from=[],this._where=[],this._sample=void 0,this._groupby=[],this._having=[],this._window=[],this._qualify=[]}get subqueries(){let e=this.cteFor||this,r=(e instanceof t?e._with:[]).reduce((i,s)=>(i[s.name]=s.query,i),{}),o=[];return this._from.forEach(({expr:i})=>{if(Em(i))o.push(i);else if(Pi(i)){let s=r[i.name];s&&o.push(s)}}),o}clone(){return Object.assign(new t,this)}with(...e){let n=[],r=(o,i)=>{let s=i.clone();s.cteFor=this,n.push(new Xu(o,s))};return e.flat().forEach(o=>{if(o!=null)for(let i in o)r(i,o[i])}),this._with=this._with.concat(n),this}select(...e){let n=[],r=(i,s)=>n.push(new ju(i==null?i:It(i),_m(s)));e.flat().forEach(i=>{if(i!=null)if(ar(i))r(i,i);else if(qi(i))r(i,i.column);else if(Ru(i))r(i[1],i[0]);else for(let s in i)r(i[s],s)});let o=new Set(n.map(i=>i.alias));return this._select=this._select.filter(i=>!o.has(i.alias)).concat(n.filter(i=>i.expr)),this}setSelect(...e){return this._select=[],this.select(...e)}distinct(e=!0){return this._distinct=!!e,this}from(...e){let n=[],r=(o,i)=>n.push(new Gu(Vs(o),_m(i)));return e.flat().forEach(o=>{if(o!=null)if(ar(o))r(o,o);else if(Pi(o))r(o,o.name);else if(Re(o))r(o);else if(Ru(o))r(o[1],o[0]);else for(let i in o)r(o[i],i)}),this._from=this._from.concat(n),this}setFrom(...e){return this._from=[],this.from(...e)}sample(e,n,r){let o;if(typeof e=="number"){let i=e>0&&e<1,s=i?e*100:Math.floor(e);o=new Uu(s,i,n,r)}else o=e;return this._sample=o,this}where(...e){return this._where=this._where.concat(Dn(e,Qs)),this}setWhere(...e){return this._where=[],this.where(...e)}groupby(...e){return this._groupby=this._groupby.concat(Dn(e)),this}setGroupby(...e){return this._groupby=[],this.groupby(...e)}having(...e){return this._having=this._having.concat(Dn(e,Qs)),this}window(...e){let n=[];return e.flat().forEach(r=>{if(r!=null)for(let o in r)n.push(new Ou(_m(o),r[o]))}),this._window=this._window.concat(n),this}qualify(...e){return this._qualify=this._qualify.concat(Dn(e,Qs)),this}toString(){let{_with:e,_select:n,_distinct:r,_from:o,_sample:i,_where:s,_groupby:a,_having:c,_window:f,_qualify:u,_orderby:p,_limit:l,_offset:h}=this,d=[];if(e.length&&d.push(`WITH ${e.join(", ")}`),d.push(`SELECT${r?" DISTINCT":""} ${n.join(", ")}`),o.length&&d.push(`FROM ${o.join(", ")}`),s.length){let m=s.map(String).filter(g=>g).join(" AND ");m&&d.push(`WHERE ${m}`)}if(i&&d.push(`USING SAMPLE ${i}`),a.length&&d.push(`GROUP BY ${a.join(", ")}`),c.length){let m=c.map(String).filter(g=>g).join(" AND ");m&&d.push(`HAVING ${m}`)}if(f.length&&d.push(`WINDOW ${f.join(", ")}`),u.length){let m=u.map(String).filter(g=>g).join(" AND ");m&&d.push(`QUALIFY ${m}`)}return p.length&&d.push(`ORDER BY ${p.join(", ")}`),Number.isFinite(l)&&d.push(`LIMIT ${l}`),Number.isFinite(h)&&d.push(`OFFSET ${h}`),d.join(" ")}},Wu=class t extends ue{constructor(e){super(wm),this.query=e}clone(){return new t(this.query.clone())}toString(){return`DESCRIBE ${this.query}`}},Ks=class t extends yt{constructor(e,n){super(vm),this.op=e,this.queries=n}get subqueries(){let{queries:e,cteFor:n}=this;return n&&e.forEach(r=>r.cteFor=n),e}clone(){let{op:e,queries:n,...r}=this;return Object.assign(new t(e,n),r)}toString(){let{op:e,queries:n,_orderby:r,_limit:o,_offset:i}=this,s=[n.join(` ${e} `)];return r.length&&s.push(`ORDER BY ${r.join(", ")}`),Number.isFinite(o)&&s.push(`LIMIT ${o}`),Number.isFinite(i)&&s.push(`OFFSET ${i}`),s.join(" ")}};var Gu=class extends ue{constructor(e,n){super(ym),this.expr=e,this.alias=n}toString(){let{expr:e,alias:n}=this,r=Em(e)?`(${e})`:`${e}`;return n&&!(Pi(e)&&e.table.join(".")===n)?`${r} AS ${Ar(n)}`:`${r}`}};var Vu=class extends xt{constructor(e,n){super(lm),this.expr=e,this.values=n}toString(){return`(${this.expr} IN (${this.values.join(", ")}))`}};var Hu=class extends xt{constructor(e,n=1){super(N4),this.name=e,this.steps=n}toString(){return`INTERVAL ${this.steps} ${this.name}`}};var Tm=class extends xt{constructor(e,n){super(um),this.op=e,this.clauses=n}toString(){let e=this.clauses;return e.length===0?"":e.length===1?`${e[0]}`:`(${e.join(` ${this.op} `)})`}},Qu=class extends Tm{constructor(e){super("AND",e)}},Zu=class extends Tm{constructor(e){super("OR",e)}};var Ku=class extends xt{constructor(e,n,r){super(rm),this.expr=e,this.desc=n,this.nullsFirst=r}toString(){let{expr:e,desc:n,nullsFirst:r}=this;return`${e}${n?" DESC":n===!1?" ASC":""}${r?" NULLS FIRST":r===!1?" NULLS LAST":""}`}};var Lb=class extends xt{constructor(e,n,r){super(e),this.op=n,this.expr=r}};var Ju=class extends Lb{constructor(e,n){super(k4,e,n)}toString(){return`(${this.expr} ${this.op})`}};function vc(t,e){return nn("arg_max",t,e)}function _c(t,e){return nn("arg_min",t,e)}function Ob(t){return nn("avg",t)}function rn(t){return nn("count",t)}function jn(t){return nn("max",t)}function Wr(t){return nn("min",t)}function tl(t,e){return nn("regr_avgx",t,e)}function $b(t,e){return nn("regr_avgy",t,e)}function el(t,e){return nn("regr_count",t,e)}function Db(t,e){return nn("regr_intercept",t,e)}function Fb(t,e){return nn("regr_sxx",t,e)}function Pb(t,e){return nn("regr_syy",t,e)}function qb(t,e){return nn("regr_slope",t,e)}function Bb(t){return nn("stddev",t)}function zt(t){return nn("sum",t)}function Yo(t,e,n){return t?new bc(void 0,[new wc(It(t),It(e))],It(n)):new bc}function zb(t,e){return new zu(It(t),e)}function Ht(t){return zb(t,"INTEGER")}function de(t){return zb(t,"DOUBLE")}function Im(t,e){return new Hu(t,e)}function Yb(t){return We("epoch_ms",t)}function Ub(t,e,n=1){return We("time_bucket",Im(e,n),t)}function jb(...t){return We("greatest",...t)}function Cm(t){return We("exp",t)}function Xb(t){return We("log",t)}function Mc(t){return We("ln",t)}function Tr(t){return We("sign",t)}function Le(t){return We("abs",t)}function Uo(t){return We("sqrt",t)}function Wb(t){return We("ceil",t)}function Oe(t){return We("floor",t)}function jo(t,e){return We("round",t,e)}function q4(t,e){return new Ju(t,It(e))}function Ir(t,e,n){return new Bu(t,It(e),It(n))}function QN(t,e,n=!1){let r=n?qu:Zs;return new r(It(t),e?.map(It))}function Fn(...t){return new Qu(Dn(t))}function Gr(...t){return new Zu(Dn(t))}function nl(t){return q4("IS NULL",t)}function Vr(t){return q4("IS NOT NULL",t)}function rl(t,e){return Ir("&",t,e)}function Nt(t,e){return Ir("+",t,e)}function ut(t,e){return Ir("-",t,e)}function pt(t,e){return Ir("*",t,e)}function Lt(t,e){return Ir("/",t,e)}function me(t,e){return Ir("**",t,e)}function Xo(t,e){return Ir("<>",t,e)}function le(t,e){return Ir("<",t,e)}function Hr(t,e){return Ir(">",t,e)}function Cr(t,e){return Ir("<=",t,e)}function Gb(t,e){return Ir("IS NOT DISTINCT FROM",t,e)}function gn(t,e){return QN(t,e,!1)}function Nm(t,e){return new Vu(It(t),e.map(It))}function Vb(t,e){return new Ku(It(t),!1,e)}function Hb(t){return We("st_asgeojson",t)}function Ae(t,...e){return new Yu(ZN(t,e))}function ZN(t,e){let n=[t[0]],r=e.length;for(let o=0,i=0;o<r;){let s=e[o];Re(s)?n[++i]=s:Er(s)?n[++i]=new Sr(s):n[i]+=ar(s)?s:mn(s);let a=t[++o];Re(n[i])?n[++i]=a:n[i]+=a}return n.filter(o=>o).map(o=>ar(o)?new Hs(o):o)}function km(t,e,n){return $4("lead",t,e,n)}var Rm={[Us]:["args","filter"],[cm]:["expr","extent"],[am]:["left","right"],[im]:["expr","_when","_else"],[om]:["expr"],[hc]:["param","table"],[pc]:["table"],[wm]:["query"],[R4]:["node"],[mc]:["spans"],[ym]:["expr"],[pm]:["args"],[lm]:["expr","values"],[um]:["clauses"],[fm]:["expr","extent"],[rm]:["expr"],[gc]:["value"],[gm]:["expr"],[bm]:["_with","_select","_from","_where","_sample","_groupby","_having","_window","_qualify","_orderby"],[vm]:["subqueries","_orderby"],[Tb]:["expr"],[sm]:["when","then"],[dc]:["func","def"],[xm]:["def"],[hm]:["partition","order","frame"],[dm]:["extent"]};function ol(t,e){if(e.has(t))return e.get(t);if(Re(t)){let n=Rm[t.type],r=n?.length??0;for(let o=0;o<r;++o){let i=n[o],s=t[i];if(Array.isArray(s)){let a=s.length;for(let c=0;c<a;++c)s[c]=ol(s[c],e)}else s&&(t[i]=ol(s,e))}}return t}function Qr(t,e){if(!Re(t))return;let n=e(t);if(n)return n;let r=Rm[t.type],o=r?.length??0;for(let i=0;i<o;++i){let s=t[r[i]];if(Array.isArray(s)){let a=s.length;for(let c=0;c<a;++c)if(s[c]&&+Qr(s[c],e)<0)return n}else if(s&&+Qr(s,e)<0)return-1}}var KN=new RegExp(`^(${P4.join("|")})$`),JN=/(\\'|\\"|"(?:\\"|[^"])*"|'(?:\\'|[^'])*'|\w+\()/g;function tk(t){return t.split(JN).some(e=>e.endsWith("(")&&KN.test(e.slice(0,-1)))}function yn(t){let e=0;return Qr(t,n=>{switch(n.type){case dc:return-1;case Us:return e|=1,-1;case mc:case mm:{let r=`${n}`.toLowerCase(),o=r.indexOf("(select ");return o>=0&&(r=r.slice(0,o)),r.includes(") over ")?-1:tk(r)?(e|=2,-1):1}}}),e}function Qb(t){let e=new Set;return Qr(t,n=>{n.type===Us&&e.add(n)}),Array.from(e)}function Sc(t){let e={};return Qr(t,n=>{(n.type===pc||n.type===hc)&&(e[n]=n)}),Object.values(e)}function Zb(t){let e=new Set;return Qr(t,n=>{n.type===gc&&e.add(n.param)}),Array.from(e)}function Lm(t,e,{replace:n=!1,temp:r=!1,view:o=!1}={}){return"CREATE"+(n?" OR REPLACE ":" ")+(r?"TEMP ":"")+(o?"VIEW":"TABLE")+(n?" ":" IF NOT EXISTS ")+t+" AS "+e}function Kb(t,e,n,r,o){let i=o?ut(n,de(t)):ut(de(t),e),s=n===e?0:r/(n-e);return s?pt(i,de(s)):i}function Jb(t,e,n,r,o,i){return t.select({index:Nt(Ht(Oe(e)),pt(Ht(Oe(n)),o)),...r}).groupby("index",i)}function t2(t,e,n=void 0,r=[]){let o=n?a=>pt(a,n):a=>a,i=Oe(e),s=Nt(i,1);return yt.from(yt.unionAll(t.clone().select({i:Ht(i),w:o(ut(s,e))}),t.clone().select({i:Ht(s),w:o(ut(e,i))}))).select({index:"i",density:zt("w")},r).groupby("index",r).having(Xo("density",0))}function ek(t){return t}function e2(t,e,n,r,o,i=[]){let s=r?y=>pt(y,r):ek,a=(y,x)=>t.clone().select({xp:e,yp:n,i:y,w:x}),c=(y,x)=>Nt(y,pt(x,o)),f=Ht(Oe(e)),u=Ht(Oe(n)),p=Nt(f,1),l=Nt(u,1),h=ut(e,f),d=ut(p,e),m=ut(n,u),g=ut(l,n);return yt.from(yt.unionAll(a(c(f,u),s(pt(d,g))),a(c(f,l),s(pt(d,m))),a(c(p,u),s(pt(h,g))),a(c(p,l),s(pt(h,m))))).select({index:"i",density:zt("w")},i).groupby("index",i).having(Xo("density",0))}function n2(t,e,n,r,o,i,s=[],a=!0){t.select({x:Ht(Oe(e)),y:Ht(Oe(n))});let c=s.concat(r),f=yt.from(t).select(c,{x0:"x",y0:"y",dx:ut(km("x").over("sw"),"x"),dy:ut(km("y").over("sw"),"y")}).window({sw:kb().partitionby(c).orderby(Vb("x"))}).qualify([Gr(le("x0",o),le(Nt("x0","dx"),o)),Gr(le("y0",i),le(Nt("y0","dy"),i)),Gr(Hr("x0",0),Hr(Nt("x0","dx"),0)),Gr(Hr("y0",0),Hr(Nt("y0","dy"),0))]),u=yt.select({x:jb(jn(Le("dx")),jn(Le("dy")))}).from("pairs"),p=yt.select({i:Ht(Ae`UNNEST(range((${u})))`)}),l=yt.unionAll(yt.select(c,{x:Nt("x0","i"),y:Nt("y0",Ht(jo(Lt(pt("i","dy"),"dx"))))}).from("pairs","indices").where([Cr(Le("dy"),Le("dx")),le("i",Le("dx"))]),yt.select(c,{x:Nt("x0",Ht(jo(Lt(pt(pt(Tr("dy"),"i"),"dx"),"dy")))),y:Nt("y0",pt(Tr("dy"),"i"))}).from("pairs","indices").where([Hr(Le("dy"),Le("dx")),le("i",Le("dy"))]),yt.select(c,{x:"x0",y:"y0"}).from("pairs").where(nl("dx"))),h=yt.from("raster").select(c,"x","y",a?{w:Lt(1,rn().partitionby(["x"].concat(c)))}:null).where([Cr(0,"x"),le("x",o),Cr(0,"y"),le("y",i)]);return yt.with({pairs:f,indices:p,raster:l,points:h}).from("points").select(s,{index:Nt("x",pt("y",Ht(o))),density:a?zt("w"):rn()}).groupby("index",s)}function r2(t,e,n,r,o=[]){let i=Ht(Oe(e)),s=a=>yt.from(t).select(a).groupby(i,o);return yt.union(s([{[n]:Wr(n),[r]:_c(r,n)},...o]),s([{[n]:jn(n),[r]:vc(r,n)},...o]),s([{[n]:_c(n,r),[r]:Wr(r)},...o]),s([{[n]:vc(n,r),[r]:jn(r)},...o])).orderby(o,n)}var Om=t=>t;function B4(){return{apply:Om,invert:Om,sqlApply:It,sqlInvert:Om}}function nk({base:t=null}={}){if(t==null||t===Math.E)return{apply:Math.log,invert:Math.exp,sqlApply:e=>Mc(e),sqlInvert:e=>Cm(e)};if(t===10)return{apply:Math.log10,invert:e=>Math.pow(10,e),sqlApply:e=>Xb(e),sqlInvert:e=>me(10,e)};{let e=+t;return{apply:n=>Math.log(n)/Math.log(e),invert:n=>Math.pow(e,n),sqlApply:n=>Lt(Mc(n),Mc(e)),sqlInvert:n=>me(e,n)}}}function rk({constant:t=1}={}){let e=+t;return{apply:n=>Math.sign(n)*Math.log1p(Math.abs(n)),invert:n=>Math.sign(n)*Math.exp(Math.abs(n)-e),sqlApply:n=>(n=It(n),pt(Tr(n),Mc(Nt(e,Le(n))))),sqlInvert:n=>pt(Tr(n),ut(Cm(Le(n)),e))}}function ok(){return{apply:t=>Math.sign(t)*Math.sqrt(Math.abs(t)),invert:t=>Math.sign(t)*t*t,sqlApply:t=>(t=It(t),pt(Tr(t),Uo(Le(t)))),sqlInvert:t=>pt(Tr(t),me(t,2))}}function ik({exponent:t=1}={}){let e=+t;return{apply:n=>Math.sign(n)*Math.pow(Math.abs(n),e),invert:n=>Math.sign(n)*Math.pow(Math.abs(n),1/e),sqlApply:n=>(n=It(n),pt(Tr(n),me(Le(n),e))),sqlInvert:n=>pt(Tr(n),me(Le(n),Lt(1,e)))}}function z4(){return{apply:t=>+t,invert:t=>new Date(t),sqlApply:t=>t instanceof Date?mn(+t):ak(t)?mn(+t.value):Yb(t),sqlInvert:Om}}var sk={identity:B4,linear:B4,log:nk,symlog:rk,sqrt:ok,pow:ik,time:z4,utc:z4};function il(t){let e=sk[t.type];return e?{...t,...e(t)}:null}function ak(t){return t instanceof js&&t.value instanceof Date}function $m(t){let e=2166136261;for(let n=0,r=t.length;n<r;++n){let o=t.charCodeAt(n),i=o&65280;i&&(e=Y4(e^i>>8)),e=Y4(e^o&255)}return pk(e)>>>0}function Y4(t){return t+(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24)}function pk(t){return t+=t<<13,t^=t>>>7,t+=t<<3,t^=t>>>17,t+=t<<5,t&4294967295}function j4(t,e,n){switch(t.name){case"count":case"sum":return hk(e,t);case"avg":return dk(e,t);case"arg_max":return mk(e,t);case"arg_min":return gk(e,t);case"variance":case"var_samp":return Dm(e,t,n);case"var_pop":return Dm(e,t,n,!1);case"stddev":case"stddev_samp":return Uo(Dm(e,t,n));case"stddev_pop":return Uo(Dm(e,t,n,!1));case"covar_samp":return Fm(e,t,n);case"covar_pop":return Fm(e,t,n,!1);case"corr":return U4(e,t,n);case"regr_count":return Ac(e,t).expr;case"regr_avgx":return V4(e,t);case"regr_avgy":return H4(e,t);case"regr_syy":return i2(e,0,t,n);case"regr_sxx":return i2(e,1,t,n);case"regr_sxy":return Fm(e,t,n,null);case"regr_slope":return Q4(e,t,n);case"regr_intercept":return yk(e,t,n);case"regr_r2":return me(U4(e,t,n),2);case"max":case"min":case"bit_and":case"bit_or":case"bit_xor":case"bool_and":case"bool_or":case"product":{let r=X4(t);return e[r]=t,Ae`${t.name}("${r}")`}default:return null}}function X4(t){return"pre_"+$m(`${t}`).toString(16)}function xn(t,e,n){let r=n?.filter;r&&(e=e.filter?e.where(Fn(r,e.filter)):e.where(r));let o=X4(e);return t[o]=e,o}function W4(t,e){let n=xn(t,rn(e.args[0]),e);return{expr:zt(n),name:n}}function hk(t,e){return zt(xn(t,e))}function dk(t,e){let n=xn(t,e),{expr:r,name:o}=W4(t,e);return Lt(zt(pt(n,o)),r)}function mk(t,e){let n=xn(t,e),r=xn(t,jn(e.args[1]),e);return vc(n,r)}function gk(t,e){let n=xn(t,e),r=xn(t,Wr(e.args[1]),e);return _c(n,r)}function Dm(t,e,n,r=!0){let o=e.args[0],{expr:i}=W4(t,e),s=ut(o,n(o)),a=xn(t,zt(me(s,2)),e),c=xn(t,zt(s),e),f=r?ut(i,1):i;return Lt(ut(zt(a),Lt(me(zt(c),2),i)),f)}function Fm(t,e,n,r=!0){let{expr:o}=Ac(t,e),i=G4(t,e,n),s=sl(t,1,e,n),a=sl(t,0,e,n),c=ut(i,Lt(pt(s,a),o));return r===null?c:r?Lt(c,ut(o,1)):Lt(c,o)}function U4(t,e,n){let{expr:r}=Ac(t,e),o=G4(t,e,n),i=o2(t,1,e,n),s=o2(t,0,e,n),a=sl(t,1,e,n),c=sl(t,0,e,n),f=ut(i,Lt(me(a,2),r)),u=ut(s,Lt(me(c,2),r));return Lt(ut(o,Lt(pt(a,c),r)),Uo(pt(f,u)))}function Ac(t,e){let[n,r]=e.args,o=xn(t,el(n,r),e);return{expr:zt(o),name:o}}function sl(t,e,n,r){let o=n.args,i=o[e],s=o[1-e],a=zt(ut(i,r(i))).where(Vr(s));return zt(xn(t,a,n))}function o2(t,e,n,r){let o=n.args,i=o[e],s=o[1-e],a=zt(me(ut(i,r(i)),2)).where(Vr(s));return zt(xn(t,a,n))}function G4(t,e,n){let[r,o]=e.args,i=zt(pt(ut(o,n(o)),ut(r,n(r))));return zt(xn(t,i,e))}function V4(t,e){let[n,r]=e.args,{expr:o,name:i}=Ac(t,e),s=xn(t,tl(n,r),e);return Lt(zt(pt(s,i)),o)}function H4(t,e){let[n,r]=e.args,{expr:o,name:i}=Ac(t,e),s=xn(t,$b(n,r),e);return Lt(zt(pt(s,i)),o)}function i2(t,e,n,r){let{expr:o}=Ac(t,n),i=sl(t,e,n,r),s=o2(t,e,n,r);return ut(s,Lt(me(i,2),o))}function Q4(t,e,n){let r=Fm(t,e,n,null),o=i2(t,1,e,n);return Lt(r,o)}function yk(t,e,n){let r=V4(t,e),o=H4(t,e),i=Q4(t,e,n);return ut(o,pt(i,r))}function Z4(t){if(!t.filterStable)return null;let e=t.query();if(!Bi(e))return null;let n=Pm(e,c=>{let f=c._from[0]?.expr;return Pi(f)?f.name:f});if(typeof n!="string")return null;let r=new Map,o={},i={},s=[],a=c=>{let f=c.column,u=Pm(e,p=>p._select.find(l=>l.alias===f)?.expr);return Ae`(SELECT avg(${u??c}) FROM "${n}")`};for(let{alias:c,expr:f}of e._select){if(yn(f)>1)return null;let u=Qb(f);if(u.length===0)s.push(c),o[c]=f;else{for(let p of u){if(p.isDistinct)return null;let l=j4(p,o,a);if(!l)return null;r.set(p,l)}i[c]=ol(f,r)}}return r.size?{group:s,preagg:o,output:i}:null}function Pm(t,e){let n=t.subqueries;if(Bi(t)&&n.length===0)return e(t);let r=Pm(n[0],e);for(let o=1;o<n.length;++o){let i=Pm(n[o],e);if(i!==void 0&&i!==r)return NaN}return r}var xk={skip:!0,result:null},qm=class{constructor(e,{schema:n="mosaic",enabled:r=!0}={}){this.entries=new Map,this.active=null,this.mc=e,this._schema=n,this._enabled=r}set enabled(e){this._enabled!==e&&(e||this.clear(),this._enabled=e)}get enabled(){return this._enabled}set schema(e){this._schema!==e&&(this.clear(),this._schema=e)}get schema(){return this._schema}dropSchema(){return this.clear(),this.mc.exec(`DROP SCHEMA IF EXISTS "${this.schema}" CASCADE`)}clear(){this.entries.clear(),this.active=null}request(e,n,r){if(!this.enabled)return null;let{entries:o,mc:i,schema:s}=this,{source:a}=r;if(!a||this.active&&(this.active.source!==a&&this.clear(),this.active?.source===null))return null;let{active:c}=this;if(!c&&(this.active=c=bk(r),c.source===null))return null;if(o.has(e))return o.get(e);let f=Z4(e),u;if(!f)u=null;else if(n.skip(e,r))u=xk;else{let p=n.remove(a).predicate(e);u=_k(e.query(p),c,f,s),u.result=i.exec([`CREATE SCHEMA IF NOT EXISTS ${s}`,Lm(u.table,u.create,{temp:!1})]),u.result.catch(l=>i.logger().error(l))}return o.set(e,u),u}};function bk(t){let{source:e,meta:n}=t,r=t.predicate,o=Sc(r).map(p=>p.column),i,s;if(!n||!o)return{source:null,columns:s,predicate:i};let{type:a,scales:c,bin:f,pixelSize:u=1}=n;if(a==="point")i=p=>p,s=Object.fromEntries(o.map(p=>[`${p}`,It(p)]));else if(a==="interval"&&c){let p=c.map(l=>vk(l,u,f));p.some(l=>!l)||(p.length===1?(i=l=>l?gn("active0",l.extent.map(p[0])):[],s={active0:p[0](r.expr)}):(i=l=>l?Fn(l.clauses.map((h,d)=>gn(`active${d}`,h.extent.map(p[d])))):[],s=Object.fromEntries(r.clauses.map((l,h)=>[`active${h}`,p[h](l.expr)]))))}return{source:s?e:null,columns:s,predicate:i}}var wk={ceil:Wb,round:jo};function vk(t,e,n){let{type:r,domain:o,range:i,apply:s,sqlApply:a}=il(t);if(!s)return;let c=wk[`${n}`.toLowerCase()]||Oe,f=s(Math.min(...o)),u=s(Math.max(...o)),p=(r==="identity"?1:Math.abs(i[1]-i[0])/(u-f))/e,l=p===1?d=>d:d=>pt(de(p),d),h=f===0?d=>d:d=>ut(d,de(f));return d=>Ht(c(l(h(a(d)))))}function _k(t,e,n,r){let{group:o,output:i,preagg:s}=n,{columns:a}=e,c=t.setSelect({...s,...a}).groupby(Object.keys(a)),[f]=c.subqueries;if(f){let g=Object.values(a).flatMap(y=>Sc(y).map(x=>x.column));Mk(f,g)}let u=c._having,p=c._orderby;c._having=[],c._orderby=[];let l=c.toString(),h=($m(l)>>>0).toString(16),d=`${r}.preagg_${h}`,m=yt.select(o,i).from(d).groupby(o).having(u).orderby(p);return new s2({table:d,create:l,active:e,select:m})}function Mk(t,e){let n=new Set,r=o=>{n.has(o)||(n.add(o),Bi(o)&&o._from.length&&o.select(e),o.subqueries.forEach(r))};r(t)}var s2=class{constructor({table:e,create:n,active:r,select:o}){this.table=e,this.create=n,this.result=null,this.active=r,this.select=o,this.skip=!1}query(e){return this.select.clone().where(this.active.predicate(e))}};function Bm(t){switch(t){case"BIGINT":case"HUGEINT":case"INTEGER":case"SMALLINT":case"TINYINT":case"UBIGINT":case"UINTEGER":case"USMALLINT":case"UTINYINT":case"DOUBLE":case"FLOAT":case"REAL":return"number";case"DATE":case"TIMESTAMP":case"TIMESTAMPTZ":case"TIMESTAMP WITH TIME ZONE":case"TIME":case"TIMESTAMP_NS":return"date";case"BOOLEAN":return"boolean";case"VARCHAR":case"UUID":case"JSON":return"string";case"ARRAY":case"LIST":return"array";case"BLOB":case"STRUCT":case"MAP":case"GEOMETRY":return"object";default:if(t.startsWith("DECIMAL"))return"number";if(t.startsWith("STRUCT")||t.startsWith("MAP"))return"object";if(t.endsWith("]"))return"array";throw new Error(`Unsupported type: ${t}`)}}var Sk="count",Ak="nulls",Ek="max",Tk="min",Ik="distinct";var Ck={[Sk]:rn,[Ik]:t=>rn(t).distinct(),[Ek]:jn,[Tk]:Wr,[Ak]:t=>rn().where(nl(t))};function Nk({table:t,column:e,stats:n}){return yt.from(t).select(Array.from(n,r=>({[r]:Ck[r](e)})))}async function a2(t,e){return e.length===1&&e[0].column==="*"?Rk(t,e[0].table):(await Promise.all(e.map(n=>kk(t,n)))).filter(n=>n)}async function kk(t,{table:e,column:n,stats:r}){let o=yt.from({source:e}).select({column:n}).groupby(Re(n)&&yn(n)?Ae`ALL`:[]),[i]=Array.from(await t.query(yt.describe(o))),s={table:e,column:`${n}`,sqlType:i.column_type,type:Bm(i.column_type),nullable:i.null==="YES"};if(!r?.length)return s;let[a]=await t.query(Nk({table:e,column:n,stats:r}),{persist:!0});return Object.assign(s,a)}async function Rk(t,e){return Array.from(await t.query(`DESCRIBE ${Vs(e)}`)).map(r=>({table:e,column:r.column_name,sqlType:r.column_type,type:Bm(r.column_type),nullable:r.null==="YES"}))}var zi=Object.freeze({pending:Symbol("pending"),ready:Symbol("ready"),error:Symbol("error"),done:Symbol("done")}),ta=class extends Promise{constructor(){let e,n;super((r,o)=>{e=r,n=o}),this._resolve=e,this._reject=n,this._state=zi.pending,this._value=void 0}fulfill(e){if(this._value!==void 0){if(e!==void 0)throw Error("Promise is ready and fulfill has a provided value");this._resolve(this._value)}else{if(e===void 0)throw Error("Promise is neither ready nor has provided value");this._resolve(e)}return this._state=zi.done,this}ready(e){return this._state=zi.ready,this._value=e,this}reject(e){return this._state=zi.error,this._reject(e),this}get state(){return this._state}};ta.prototype.constructor=Promise;function zm(){return{debug(...t){},info(...t){},log(...t){},warn(...t){},error(...t){}}}function Lk(t){return(typeof requestAnimationFrame<"u"?requestAnimationFrame:typeof setImmediate<"u"?setImmediate:setTimeout)(t)}function K4(t,e){let n=[],r=0;function o(){let i=Ok(n,e);n=[],r=0;for(let s of i)Dk(s,t),qk(s,e)}return{add(i,s){i.request.type==="arrow"?(r=r||Lk(()=>o()),n.push({entry:i,priority:s,index:n.length})):t(i,s)}}}function Ok(t,e){let n=[],r=new Map;for(let o of t){let{entry:{request:i}}=o,s=$k(i.query,e);if(!r.has(s)){let a=[];n.push(a),r.set(s,a)}r.get(s).push(o)}return n}function $k(t,e){let n=`${t}`;if(Bi(t)&&!e.get(n)){if(t._orderby.length||t._where.length||t._qualify.length||t._having.length)return n;let r=t.clone().setSelect("*"),o=t._groupby;if(o.length){let i={};t._select.forEach(({alias:s,expr:a})=>i[s]=a),r.setGroupby(o.map(s=>qi(s)&&i[s.column]||s))}else t._select.some(i=>yn(i.expr))&&r.setGroupby("ALL");return`${r}`}else return n}function Dk(t,e){if(Fk(t))e({request:{type:"arrow",cache:!1,query:t.query=Pk(t)},result:t.result=new ta});else for(let{entry:n,priority:r}of t)e(n,r)}function Fk(t){if(t.length>1){let e=`${t[0].entry.request.query}`;for(let n=1;n<t.length;++n)if(e!==`${t[n].entry.request.query}`)return!0}return!1}function Pk(t){let e=t.maps=[],n=new Map;for(let i of t){let{query:s}=i.entry.request,a=[];e.push(a);for(let{alias:c,expr:f}of s._select){let u=`${f}`;n.has(u)||n.set(u,[`col${n.size}`,f]);let[p]=n.get(u);a.push([p,c])}}let r=t[0].entry.request.query.clone(),o=r._groupby;if(o.length){let i={};t.maps[0].forEach(([s,a])=>i[a]=s),r.setGroupby(o.map(s=>qi(s)&&i[s.column]||s))}return r.setSelect(Array.from(n.values()))}async function qk(t,e){let{maps:n,query:r,result:o}=t;if(!n)return;let i;try{i=await o}catch(a){for(let{entry:c}of t)c.result.reject(a);return}let s=Rb(r);t.forEach(({entry:a},c)=>{let{request:f,result:u}=a,p=n[c],l=s&&p?zk(i,p):p?Bk(i,p):i;f.cache&&e.set(String(f.query),l),u.fulfill(l)})}function Bk(t,e){return t.select(e.map(n=>n[0]),e.map(n=>n[1]))}function zk(t,e){let n=new Map(e),r=[];for(let o of t)n.has(o.column_name)&&r.push({...o,column_name:n.get(o.column_name)});return r}var Yk=typeof requestIdleCallback<"u"?requestIdleCallback:setTimeout,J4=()=>({get:()=>{},set:(t,e)=>e,clear:()=>{}});function t5({max:t=1e3,ttl:e=3*60*60*1e3}={}){let n=new Map;function r(){let o=performance.now()-e,i=null,s=1/0;for(let[a,c]of n){let{last:f}=c;f<s&&(i=a,s=f),o>f&&n.delete(a)}i&&n.delete(i)}return{get(o){let i=n.get(o);if(i)return i.last=performance.now(),i.value},set(o,i){return n.set(o,{last:performance.now(),value:i}),n.size>t&&Yk(r),i},clear(){n=new Map}}}var Ym=class{constructor(e){this.queue=Array.from({length:e},()=>({head:null,tail:null}))}isEmpty(){return this.queue.every(e=>!e.head)}insert(e,n){let r=this.queue[n];if(!r)throw new Error(`Invalid queue priority rank: ${n}`);let o={item:e,next:null};r.head===null?r.head=r.tail=o:r.tail=r.tail.next=o}remove(e){for(let n of this.queue){let{head:r,tail:o}=n;for(let i=null,s=r;s;i=s,s=s.next)e(s.item)&&(s===r?r=s.next:i.next=s.next,s===o&&(o=i||r));n.head=r,n.tail=o}}next(){for(let e of this.queue){let{head:n}=e;if(n!==null)return e.head=n.next,e.tail===n&&(e.tail=null),n.item}}};var Zr=Object.freeze({High:0,Normal:1,Low:2}),Um=class{constructor(e=32){this.queue=new Ym(3),this.db=null,this.clientCache=null,this._logger=zm(),this._logQueries=!1,this._consolidate=null,this.pendingResults=[],this.maxConcurrentRequests=e,this.pendingExec=!1}next(){if(this.queue.isEmpty()||this.pendingResults.length>this.maxConcurrentRequests||this.pendingExec)return;let{request:e,result:n}=this.queue.next();this.pendingResults.push(n),e.type==="exec"&&(this.pendingExec=!0),this.submit(e,n).finally(()=>{for(;this.pendingResults.length&&this.pendingResults[0].state!==zi.pending;){let r=this.pendingResults.shift();r.state===zi.ready?r.fulfill():r.state===zi.done&&this._logger.warn("Found resolved query in pending results.")}e.type==="exec"&&(this.pendingExec=!1),this.next()})}enqueue(e,n=Zr.Normal){this.queue.insert(e,n),this.next()}async submit(e,n){try{let{query:r,type:o,cache:i=!1,options:s}=e,a=r?`${r}`:null;if(i){let p=this.clientCache.get(a);if(p){let l=await p;this._logger.debug("Cache"),n.ready(l);return}}let c=performance.now();this._logQueries&&this._logger.debug("Query",{type:o,sql:a,...s});let f=this.db.query({type:o,sql:a,...s});i&&this.clientCache.set(a,f);let u=await f;i&&this.clientCache.set(a,u),this._logger.debug(`Request: ${(performance.now()-c).toFixed(1)}`),n.ready(o==="exec"?null:u)}catch(r){n.reject(r)}}cache(e){return e!==void 0?this.clientCache=e===!0?t5():e||J4():this.clientCache}logger(e){return e?this._logger=e:this._logger}logQueries(e){return e!==void 0?this._logQueries=!!e:this._logQueries}connector(e){return e?this.db=e:this.db}consolidate(e){e&&!this._consolidate?this._consolidate=K4(this.enqueue.bind(this),this.clientCache):!e&&this._consolidate&&(this._consolidate=null)}request(e,n=Zr.Normal){let r=new ta,o={request:e,result:r};return this._consolidate?this._consolidate.add(o,n):this.enqueue(o,n),r}cancel(e){let n=new Set(e);if(n.size){this.queue.remove(({result:r})=>n.has(r)?(r.reject("Canceled"),!0):!1);for(let r of this.pendingResults)n.has(r)&&r.reject("Canceled")}}clear(){this.queue.remove(({result:e})=>(e.reject("Cleared"),!0));for(let e of this.pendingResults)e.reject("Cleared");this.pendingResults=[]}};var jm;function c2(t){return t?jm=t:jm==null&&(jm=new Xm),jm}var Xm=class{constructor(e=Eb(),{logger:n=console,manager:r=new Um,cache:o=!0,consolidate:i=!0,preagg:s={}}={}){this.manager=r,this.manager.cache(o),this.manager.consolidate(i),this.databaseConnector(e),this.logger(n),this.clear(),this.preaggregator=new qm(this,s)}clear({clients:e=!0,cache:n=!0}={}){this.manager.clear(),e&&(this.filterGroups?.forEach(r=>r.disconnect()),this.filterGroups=new Map,this.clients?.forEach(r=>this.disconnect(r)),this.clients=new Set),n&&this.manager.cache().clear()}databaseConnector(e){return this.manager.connector(e)}logger(e){return arguments.length&&(this._logger=e||zm(),this.manager.logger(this._logger)),this._logger}cancel(e){this.manager.cancel(e)}exec(e,{priority:n=Zr.Normal}={}){return e=Array.isArray(e)?e.filter(r=>r).join(`;
|
|
2
|
-
`):e,this.manager.request({type:"exec",query:e},n)}query(e,{type:n="arrow",cache:r=!0,priority:o=Zr.Normal,...i}={}){return this.manager.request({type:n,query:e,cache:r,options:i},o)}prefetch(e,n={}){return this.query(e,{...n,cache:!0,priority:Zr.Low})}createBundle(e,n,r=Zr.Low){let o={name:e,queries:n.map(i=>typeof i=="string"?{sql:i}:i)};return this.manager.request({type:"create-bundle",options:o},r)}loadBundle(e,n=Zr.High){let r={name:e};return this.manager.request({type:"load-bundle",options:r},n)}updateClient(e,n,r=Zr.Normal){return e.queryPending(),this.query(n,{priority:r}).then(o=>e.queryResult(o).update(),o=>{this._logger.error(o),e.queryError(o)}).catch(o=>this._logger.error(o))}requestQuery(e,n){return this.preaggregator.clear(),n?this.updateClient(e,n):Promise.resolve(e.update())}async connect(e){let{clients:n}=this;if(n.has(e))throw new Error("Client already connected.");n.add(e),e.coordinator=this,this.initializeClient(e),Uk(this,e.filterBy,e)}async initializeClient(e){let n=e.fields();return n?.length&&e.fieldInfo(await a2(this,n)),e.requestQuery()}disconnect(e){let{clients:n,filterGroups:r}=this;if(!n.has(e))return;n.delete(e),e.coordinator=null;let o=r.get(e.filterBy);o&&o.clients.delete(e)}};function Uk(t,e,n){if(!e)return;let r=t.filterGroups.get(e);if(!r){let o=s=>jk(t,e,s),i=()=>Xk(t,e);e.addEventListener("activate",o),e.addEventListener("value",i),r={selection:e,clients:new Set,disconnect(){e.removeEventListener("activate",o),e.removeEventListener("value",i)}},t.filterGroups.set(e,r)}r.clients.add(n)}function jk(t,e,n){let{preaggregator:r,filterGroups:o}=t,{clients:i}=o.get(e);for(let s of i)r.request(s,e,n)}function Xk(t,e){let{preaggregator:n,filterGroups:r}=t,{clients:o}=r.get(e),{active:i}=e;return Promise.allSettled(Array.from(o,s=>{let a=n.request(s,e,i),c=a?null:e.predicate(s);if(a?.skip||!a&&!c)return;let f=a?.query(i.predicate)??s.query(c);return t.updateClient(s,f)}))}var Wm=class{constructor(){this._callbacks=new Map}addEventListener(e,n){this._callbacks.has(e)||this._callbacks.set(e,{callbacks:new Set,pending:null,queue:new f2}),this._callbacks.get(e).callbacks.add(n)}removeEventListener(e,n){let r=this._callbacks.get(e);r&&r.callbacks.delete(n)}willEmit(e,n){return n}emitQueueFilter(e,n){return null}cancel(e){this._callbacks.get(e)?.queue.clear()}async pending(e){await this._callbacks.get(e)?.pending}emit(e,n){let r=this._callbacks.get(e)||{};if(r.pending)r.queue.enqueue(n,this.emitQueueFilter(e,n));else{let o=this.willEmit(e,n),{callbacks:i,queue:s}=r;if(i?.size){let a=Array.from(i,c=>c(o));r.pending=Promise.allSettled(a).then(()=>{r.pending=null,s.isEmpty()||this.emit(e,s.dequeue())})}}}},f2=class{constructor(){this.clear()}clear(){this.next=null}isEmpty(){return!this.next}enqueue(e,n){let r={value:e};if(n&&this.next){let o=this;for(;o.next;)n(o.next.value)?o=o.next:o.next=o.next.next;o.next=r}else this.next=r}dequeue(){let{next:e}=this;return this.next=e?.next,e?.value}};function al(t,e){return t===e?!1:t instanceof Date&&e instanceof Date?+t!=+e:Array.isArray(t)&&Array.isArray(e)?Wk(t,e):!0}function Wk(t,e){if(t.length!==e.length)return!0;for(let n=0;n<t.length;++n)if(t[n]!==e[n])return!0;return!1}function Wo(t){return t instanceof Ec}var Ec=class t extends Wm{constructor(e){super(),this._value=e}static value(e){return new t(e)}static array(e){if(e.some(n=>Wo(n))){let n=new t,r=()=>{n.update(e.map(o=>Wo(o)?o.value:o))};return r(),e.forEach(o=>Wo(o)?o.addEventListener("value",r):0),n}return new t(e)}get value(){return this._value}update(e,{force:n}={}){return al(this._value,e)||n?this.emit("value",e):this.cancel("value"),this}willEmit(e,n){return e==="value"&&(this._value=n),n}};function u2(t){return t instanceof Yi}function Gm(t,e){return new Yi(new Vm(t),e&&[e].flat())}var Yi=class t extends Ec{static intersect({cross:e=!1,empty:n=!1,include:r=[]}={}){return Gm({cross:e,empty:n},r)}static union({cross:e=!1,empty:n=!1,include:r=[]}={}){return Gm({cross:e,empty:n,union:!0},r)}static single({cross:e=!1,empty:n=!1,include:r=[]}={}){return Gm({cross:e,empty:n,single:!0},r)}static crossfilter({empty:e=!1,include:n=[]}={}){return Gm({cross:!0,empty:e},n)}constructor(e=new Vm,n=[]){if(super([]),this._resolved=this._value,this._resolver=e,this._relay=new Set,Array.isArray(n))for(let r of n)r._relay.add(this)}clone(){let e=new t(this._resolver);return e._value=e._resolved=this._value,e}remove(e){let n=this.clone();return n._value=n._resolved=n._resolver.resolve(this._resolved,{source:e}),n._value.active={source:e},n}get resolver(){return this._resolver}get single(){return this._resolver.single}get clauses(){return super.value}get active(){return this.clauses.active}get value(){return this.active?.value}valueFor(e){return this.clauses.find(n=>n.source===e)?.value}activate(e){this.emit("activate",e),this._relay.forEach(n=>n.activate(e))}update(e){return this._resolved=this._resolver.resolve(this._resolved,e,!0),this._resolved.active=e,this._relay.forEach(n=>n.update(e)),super.update(this._resolved)}willEmit(e,n){return e==="value"?(this._value=n,this.value):n}emitQueueFilter(e,n){return e==="value"?this._resolver.queueFilter(n):null}skip(e,n){return this._resolver.skip(e,n)}predicate(e,n=!1){let{clauses:r}=this,o=n?null:r.active;return this._resolver.predicate(r,o,e)}},Vm=class{constructor({union:e,cross:n,single:r,empty:o}={}){this.union=!!e,this.cross=!!n,this.single=!!r,this.empty=!!o}resolve(e,n,r=!1){let{source:o,predicate:i}=n,s=e.filter(c=>o!==c.source),a=this.single?[]:s;return this.single&&r&&s.forEach(c=>c.source?.reset?.()),i&&a.push(n),a}skip(e,n){return this.cross&&n?.clients?.has(e)}predicate(e,n,r){let{empty:o,union:i}=this;if(o&&!e.length)return[mn(!1)];if(this.skip(r,n))return;let s=e.filter(a=>!this.skip(r,a)).map(a=>a.predicate);return i&&s.length>1?Gr(s):s}queueFilter(e){if(this.cross){let n=e.active?.source;return r=>r.active?.source!==n}return null}};function l2(t,e,{source:n,clients:r=n?new Set([n]):void 0}){let o=e!==void 0?Nm(t,[mn(e)]):null;return{meta:{type:"point"},source:n,clients:r,value:e,predicate:o}}function ea(t,e,{source:n,clients:r=n?new Set([n]):void 0}){let o=null;if(e){let i=e.length&&t.length===1?[Nm(t[0],e.map(s=>mn(s[0])))]:e.map(s=>Fn(s.map((a,c)=>Gb(t[c],mn(a)))));o=e.length===0?mn(!1):i.length>1?Gr(i):i[0]}return{meta:{type:"point"},source:n,clients:r,value:e,predicate:o}}function cl(t,e,{source:n,clients:r=n?new Set([n]):void 0,bin:o,scale:i,pixelSize:s=1}){let a=e!=null?gn(t,e):null;return{meta:{type:"interval",scales:i&&[i],bin:o,pixelSize:s},source:n,clients:r,value:e,predicate:a}}function p2(t,e,{source:n,clients:r=n?new Set([n]):void 0,bin:o,scales:i=[],pixelSize:s=1}){let a=e!=null?Fn(t.map((f,u)=>gn(f,e[u]))):null;return{meta:{type:"interval",scales:i,bin:o,pixelSize:s},source:n,clients:r,value:e,predicate:a}}function h2(t){return typeof t?.getChild=="function"}function d2(){let t=new Set,e,n=new Promise(r=>e=r);return{pending(r){t.add(r)},ready(r){return t.delete(r),t.size===0},resolve(){n=new Promise(r=>{e(),e=r})},get promise(){return n}}}function cr(t){return h2(t)?Gk(t):Vk(t)}function Gk(t){let{numRows:e}=t;return{numRows:e,columns:t.toColumns()}}function Vk(t){let e=t.length;if(typeof t[0]=="object"){let n=e?Object.keys(t[0]):[],r={};return n.length>0&&n.forEach(o=>{r[o]=t.map(i=>i[o])}),{numRows:e,columns:r}}else return{numRows:e,values:t}}var b3={};ZC(b3,{Area:()=>Ga,Arrow:()=>Sh,BarX:()=>Va,BarY:()=>Ha,Cell:()=>Qa,Contour:()=>$h,Density:()=>Ph,Dot:()=>Za,Frame:()=>yh,Geo:()=>qh,Hexgrid:()=>Bh,Image:()=>zh,Line:()=>Ka,Link:()=>_h,Mark:()=>ft,Raster:()=>kh,Rect:()=>Wa,RuleX:()=>ch,RuleY:()=>fh,Text:()=>Ua,TickX:()=>Th,TickY:()=>Ih,Tip:()=>xh,Vector:()=>Xa,WaffleX:()=>Uh,WaffleY:()=>jh,area:()=>vh,areaX:()=>Ns,areaY:()=>Ni,arrow:()=>KT,auto:()=>f9,autoSpec:()=>j6,axisFx:()=>Hx,axisFy:()=>Vx,axisX:()=>lh,axisY:()=>uh,barX:()=>ko,barY:()=>Ro,bin:()=>Ci,binX:()=>Co,binY:()=>No,bollinger:()=>Os,bollingerX:()=>m9,bollingerY:()=>g9,boxX:()=>y9,boxY:()=>x9,cell:()=>ks,cellX:()=>t9,cellY:()=>e9,centroid:()=>_1,circle:()=>o9,cluster:()=>gI,column:()=>ze,contour:()=>T9,crosshair:()=>N9,crosshairX:()=>k9,crosshairY:()=>R9,delaunayLink:()=>$9,delaunayMesh:()=>D9,density:()=>z9,differenceX:()=>j9,differenceY:()=>X9,dodgeX:()=>DI,dodgeY:()=>FI,dot:()=>_r,dotX:()=>n9,dotY:()=>r9,filter:()=>uE,find:()=>bE,formatIsoDate:()=>m6,formatMonth:()=>S7,formatNumber:()=>d6,formatWeekday:()=>A7,frame:()=>Vf,geo:()=>M1,geoCentroid:()=>G9,graticule:()=>H9,gridFx:()=>Jx,gridFy:()=>Zx,gridX:()=>Kx,gridY:()=>Qx,group:()=>th,groupX:()=>ms,groupY:()=>gs,groupZ:()=>Jp,hexagon:()=>i9,hexbin:()=>Q9,hexgrid:()=>Z9,hull:()=>F9,identity:()=>X,image:()=>J9,indexOf:()=>Xt,initializer:()=>Gt,interpolateNearest:()=>Lh,interpolateNone:()=>v1,interpolatorBarycentric:()=>Rh,interpolatorRandomWalk:()=>Oh,legend:()=>wT,line:()=>Ja,lineX:()=>Rs,lineY:()=>Ls,linearRegressionX:()=>nI,linearRegressionY:()=>rI,link:()=>p1,map:()=>Bn,mapX:()=>tu,mapY:()=>eu,marks:()=>Se,normalize:()=>R1,normalizeX:()=>zI,normalizeY:()=>YI,numberInterval:()=>R_,plot:()=>Hf,pointer:()=>_s,pointerX:()=>Ms,pointerY:()=>Ti,raster:()=>M9,rect:()=>gh,rectX:()=>Wf,rectY:()=>Gf,reverse:()=>lE,ruleX:()=>er,ruleY:()=>nr,scale:()=>ys,select:()=>WI,selectFirst:()=>Gh,selectLast:()=>Vh,selectMaxX:()=>D1,selectMaxY:()=>F1,selectMinX:()=>O1,selectMinY:()=>$1,shiftX:()=>UI,shiftY:()=>jI,shuffle:()=>pE,sort:()=>gx,sphere:()=>V9,spike:()=>tT,stackX:()=>L6,stackX1:()=>ET,stackX2:()=>TT,stackY:()=>O6,stackY1:()=>IT,stackY2:()=>CT,text:()=>Io,textX:()=>zx,textY:()=>Yx,tickX:()=>x1,tickY:()=>b1,timeInterval:()=>Gp,tip:()=>s1,transform:()=>Me,tree:()=>u3,treeLink:()=>I1,treeNode:()=>Yh,utcInterval:()=>La,valueof:()=>ct,vector:()=>N6,vectorX:()=>Xx,vectorY:()=>Wx,voronoi:()=>P9,voronoiMesh:()=>q9,waffleX:()=>_I,waffleY:()=>MI,window:()=>nu,windowX:()=>u9,windowY:()=>l9});function dt(t,e){return t==null||e==null?NaN:t<e?-1:t>e?1:t>=e?0:NaN}function bn(t,e){return t==null||e==null?NaN:e<t?-1:e>t?1:e>=t?0:NaN}function Nr(t){let e,n,r;t.length!==2?(e=dt,n=(a,c)=>dt(t(a),c),r=(a,c)=>t(a)-c):(e=t===dt||t===bn?t:Hk,n=t,r=t);function o(a,c,f=0,u=a.length){if(f<u){if(e(c,c)!==0)return u;do{let p=f+u>>>1;n(a[p],c)<0?f=p+1:u=p}while(f<u)}return f}function i(a,c,f=0,u=a.length){if(f<u){if(e(c,c)!==0)return u;do{let p=f+u>>>1;n(a[p],c)<=0?f=p+1:u=p}while(f<u)}return f}function s(a,c,f=0,u=a.length){let p=o(a,c,f,u-1);return p>f&&r(a[p-1],c)>-r(a[p],c)?p-1:p}return{left:o,center:s,right:i}}function Hk(){return 0}function fl(t){return t===null?NaN:+t}function*e5(t,e){if(e===void 0)for(let n of t)n!=null&&(n=+n)>=n&&(yield n);else{let n=-1;for(let r of t)(r=e(r,++n,t))!=null&&(r=+r)>=r&&(yield r)}}var n5=Nr(dt),r5=n5.right,Qk=n5.left,Zk=Nr(fl).center,Go=r5;var ul=o5(i5),m2=o5(Kk);function o5(t){return function(e,n,r=n){if(!((n=+n)>=0))throw new RangeError("invalid rx");if(!((r=+r)>=0))throw new RangeError("invalid ry");let{data:o,width:i,height:s}=e;if(!((i=Math.floor(i))>=0))throw new RangeError("invalid width");if(!((s=Math.floor(s!==void 0?s:o.length/i))>=0))throw new RangeError("invalid height");if(!i||!s||!n&&!r)return e;let a=n&&t(n),c=r&&t(r),f=o.slice();return a&&c?(Tc(a,f,o,i,s),Tc(a,o,f,i,s),Tc(a,f,o,i,s),Ic(c,o,f,i,s),Ic(c,f,o,i,s),Ic(c,o,f,i,s)):a?(Tc(a,o,f,i,s),Tc(a,f,o,i,s),Tc(a,o,f,i,s)):c&&(Ic(c,o,f,i,s),Ic(c,f,o,i,s),Ic(c,o,f,i,s)),e}}function Tc(t,e,n,r,o){for(let i=0,s=r*o;i<s;)t(e,n,i,i+=r,1)}function Ic(t,e,n,r,o){for(let i=0,s=r*o;i<r;++i)t(e,n,i,i+s,r)}function Kk(t){let e=i5(t);return(n,r,o,i,s)=>{o<<=2,i<<=2,s<<=2,e(n,r,o+0,i+0,s),e(n,r,o+1,i+1,s),e(n,r,o+2,i+2,s),e(n,r,o+3,i+3,s)}}function i5(t){let e=Math.floor(t);if(e===t)return Jk(t);let n=t-e,r=2*t+1;return(o,i,s,a,c)=>{if(!((a-=c)>=s))return;let f=e*i[s],u=c*e,p=u+c;for(let l=s,h=s+u;l<h;l+=c)f+=i[Math.min(a,l)];for(let l=s,h=a;l<=h;l+=c)f+=i[Math.min(a,l+u)],o[l]=(f+n*(i[Math.max(s,l-p)]+i[Math.min(a,l+p)]))/r,f-=i[Math.max(s,l-u)]}}function Jk(t){let e=2*t+1;return(n,r,o,i,s)=>{if(!((i-=s)>=o))return;let a=t*r[o],c=s*t;for(let f=o,u=o+c;f<u;f+=s)a+=r[Math.min(i,f)];for(let f=o,u=i;f<=u;f+=s)a+=r[Math.min(i,f+c)],n[f]=a/e,a-=r[Math.max(o,f-c)]}}function Kr(t,e){let n=0;if(e===void 0)for(let r of t)r!=null&&(r=+r)>=r&&++n;else{let r=-1;for(let o of t)(o=e(o,++r,t))!=null&&(o=+o)>=o&&++n}return n}function tR(t){return t.length|0}function eR(t){return!(t>0)}function nR(t){return typeof t!="object"||"length"in t?t:Array.from(t)}function rR(t){return e=>t(...e)}function Hm(...t){let e=typeof t[t.length-1]=="function"&&rR(t.pop());t=t.map(nR);let n=t.map(tR),r=t.length-1,o=new Array(r+1).fill(0),i=[];if(r<0||n.some(eR))return i;for(;;){i.push(o.map((a,c)=>t[c][a]));let s=r;for(;++o[s]===n[s];){if(s===0)return e?i.map(e):i;o[s--]=0}}}function Qm(t,e){var n=0,r=0;return Float64Array.from(t,e===void 0?o=>n+=+o||0:o=>n+=+e(o,r++,t)||0)}function Ui(t,e){let n=0,r,o=0,i=0;if(e===void 0)for(let s of t)s!=null&&(s=+s)>=s&&(r=s-o,o+=r/++n,i+=r*(s-o));else{let s=-1;for(let a of t)(a=e(a,++s,t))!=null&&(a=+a)>=a&&(r=a-o,o+=r/++n,i+=r*(a-o))}if(n>1)return i/(n-1)}function fr(t,e){let n=Ui(t,e);return n&&Math.sqrt(n)}function Ot(t,e){let n,r;if(e===void 0)for(let o of t)o!=null&&(n===void 0?o>=o&&(n=r=o):(n>o&&(n=o),r<o&&(r=o)));else{let o=-1;for(let i of t)(i=e(i,++o,t))!=null&&(n===void 0?i>=i&&(n=r=i):(n>i&&(n=i),r<i&&(r=i)))}return[n,r]}var Ge=class{constructor(){this._partials=new Float64Array(32),this._n=0}add(e){let n=this._partials,r=0;for(let o=0;o<this._n&&o<32;o++){let i=n[o],s=e+i,a=Math.abs(e)<Math.abs(i)?e-(s-i):i-(s-e);a&&(n[r++]=a),e=s}return n[r]=e,this._n=r+1,this}valueOf(){let e=this._partials,n=this._n,r,o,i,s=0;if(n>0){for(s=e[--n];n>0&&(r=s,o=e[--n],s=r+o,i=o-(s-r),!i););n>0&&(i<0&&e[n-1]<0||i>0&&e[n-1]>0)&&(o=i*2,r=s+o,o==r-s&&(s=r))}return s}};var wn=class extends Map{constructor(e,n=c5){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:n}}),e!=null)for(let[r,o]of e)this.set(r,o)}get(e){return super.get(g2(this,e))}has(e){return super.has(g2(this,e))}set(e,n){return super.set(s5(this,e),n)}delete(e){return super.delete(a5(this,e))}},vn=class extends Set{constructor(e,n=c5){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:n}}),e!=null)for(let r of e)this.add(r)}has(e){return super.has(g2(this,e))}add(e){return super.add(s5(this,e))}delete(e){return super.delete(a5(this,e))}};function g2({_intern:t,_key:e},n){let r=e(n);return t.has(r)?t.get(r):n}function s5({_intern:t,_key:e},n){let r=e(n);return t.has(r)?t.get(r):(t.set(r,n),n)}function a5({_intern:t,_key:e},n){let r=e(n);return t.has(r)&&(n=t.get(r),t.delete(r)),n}function c5(t){return t!==null&&typeof t=="object"?t.valueOf():t}function ll(t){return t}function Ve(t,...e){return x2(t,ll,ll,e)}function kr(t,e,...n){return x2(t,ll,e,n)}function y2(t,e,...n){return x2(t,Array.from,e,n)}function x2(t,e,n,r){return function o(i,s){if(s>=r.length)return n(i);let a=new wn,c=r[s++],f=-1;for(let u of i){let p=c(u,++f,i),l=a.get(p);l?l.push(u):a.set(p,[u])}for(let[u,p]of a)a.set(u,o(p,s));return e(a)}(t,0)}function b2(t,e){return Array.from(e,n=>t[n])}function Vo(t,...e){if(typeof t[Symbol.iterator]!="function")throw new TypeError("values is not iterable");t=Array.from(t);let[n]=e;if(n&&n.length!==2||e.length>1){let r=Uint32Array.from(t,(o,i)=>i);return e.length>1?(e=e.map(o=>t.map(o)),r.sort((o,i)=>{for(let s of e){let a=na(s[o],s[i]);if(a)return a}})):(n=t.map(n),r.sort((o,i)=>na(n[o],n[i]))),b2(t,r)}return t.sort(pl(n))}function pl(t=dt){if(t===dt)return na;if(typeof t!="function")throw new TypeError("compare is not a function");return(e,n)=>{let r=t(e,n);return r||r===0?r:(t(n,n)===0)-(t(e,e)===0)}}function na(t,e){return(t==null||!(t>=t))-(e==null||!(e>=e))||(t<e?-1:t>e?1:0)}function Cc(t,e,n){return(e.length!==2?Vo(kr(t,e,n),([r,o],[i,s])=>dt(o,s)||dt(r,i)):Vo(Ve(t,n),([r,o],[i,s])=>e(o,s)||dt(r,i))).map(([r])=>r)}var oR=Math.sqrt(50),iR=Math.sqrt(10),sR=Math.sqrt(2);function Zm(t,e,n){let r=(e-t)/Math.max(0,n),o=Math.floor(Math.log10(r)),i=r/Math.pow(10,o),s=i>=oR?10:i>=iR?5:i>=sR?2:1,a,c,f;return o<0?(f=Math.pow(10,-o)/s,a=Math.round(t*f),c=Math.round(e*f),a/f<t&&++a,c/f>e&&--c,f=-f):(f=Math.pow(10,o)*s,a=Math.round(t/f),c=Math.round(e/f),a*f<t&&++a,c*f>e&&--c),c<a&&.5<=n&&n<2?Zm(t,e,n*2):[a,c,f]}function He(t,e,n){if(e=+e,t=+t,n=+n,!(n>0))return[];if(t===e)return[t];let r=e<t,[o,i,s]=r?Zm(e,t,n):Zm(t,e,n);if(!(i>=o))return[];let a=i-o+1,c=new Array(a);if(r)if(s<0)for(let f=0;f<a;++f)c[f]=(i-f)/-s;else for(let f=0;f<a;++f)c[f]=(i-f)*s;else if(s<0)for(let f=0;f<a;++f)c[f]=(o+f)/-s;else for(let f=0;f<a;++f)c[f]=(o+f)*s;return c}function Ho(t,e,n){return e=+e,t=+t,n=+n,Zm(t,e,n)[2]}function Nc(t,e,n){e=+e,t=+t,n=+n;let r=e<t,o=r?Ho(e,t,n):Ho(t,e,n);return(r?-1:1)*(o<0?1/-o:o)}function kc(t,e,n){let r;for(;;){let o=Ho(t,e,n);if(o===r||o===0||!isFinite(o))return[t,e];o>0?(t=Math.floor(t/o)*o,e=Math.ceil(e/o)*o):o<0&&(t=Math.ceil(t*o)/o,e=Math.floor(e*o)/o),r=o}}function ji(t){return Math.max(1,Math.ceil(Math.log(Kr(t))/Math.LN2)+1)}function Mt(t,e){let n;if(e===void 0)for(let r of t)r!=null&&(n<r||n===void 0&&r>=r)&&(n=r);else{let r=-1;for(let o of t)(o=e(o,++r,t))!=null&&(n<o||n===void 0&&o>=o)&&(n=o)}return n}function Km(t,e){let n,r=-1,o=-1;if(e===void 0)for(let i of t)++o,i!=null&&(n<i||n===void 0&&i>=i)&&(n=i,r=o);else for(let i of t)(i=e(i,++o,t))!=null&&(n<i||n===void 0&&i>=i)&&(n=i,r=o);return r}function At(t,e){let n;if(e===void 0)for(let r of t)r!=null&&(n>r||n===void 0&&r>=r)&&(n=r);else{let r=-1;for(let o of t)(o=e(o,++r,t))!=null&&(n>o||n===void 0&&o>=o)&&(n=o)}return n}function Jm(t,e){let n,r=-1,o=-1;if(e===void 0)for(let i of t)++o,i!=null&&(n>i||n===void 0&&i>=i)&&(n=i,r=o);else for(let i of t)(i=e(i,++o,t))!=null&&(n>i||n===void 0&&i>=i)&&(n=i,r=o);return r}function t0(t,e,n=0,r=1/0,o){if(e=Math.floor(e),n=Math.floor(Math.max(0,n)),r=Math.floor(Math.min(t.length-1,r)),!(n<=e&&e<=r))return t;for(o=o===void 0?na:pl(o);r>n;){if(r-n>600){let c=r-n+1,f=e-n+1,u=Math.log(c),p=.5*Math.exp(2*u/3),l=.5*Math.sqrt(u*p*(c-p)/c)*(f-c/2<0?-1:1),h=Math.max(n,Math.floor(e-f*p/c+l)),d=Math.min(r,Math.floor(e+(c-f)*p/c+l));t0(t,e,h,d,o)}let i=t[e],s=n,a=r;for(hl(t,n,e),o(t[r],i)>0&&hl(t,n,r);s<a;){for(hl(t,s,a),++s,--a;o(t[s],i)<0;)++s;for(;o(t[a],i)>0;)--a}o(t[n],i)===0?hl(t,n,a):(++a,hl(t,a,r)),a<=e&&(n=a+1),e<=a&&(r=a-1)}return t}function hl(t,e,n){let r=t[e];t[e]=t[n],t[n]=r}function ra(t,e=dt){let n,r=!1;if(e.length===1){let o;for(let i of t){let s=e(i);(r?dt(s,o)>0:dt(s,s)===0)&&(n=i,o=s,r=!0)}}else for(let o of t)(r?e(o,n)>0:e(o,o)===0)&&(n=o,r=!0);return n}function _n(t,e,n){if(t=Float64Array.from(e5(t,n)),!(!(r=t.length)||isNaN(e=+e))){if(e<=0||r<2)return At(t);if(e>=1)return Mt(t);var r,o=(r-1)*e,i=Math.floor(o),s=Mt(t0(t,i).subarray(0,i+1)),a=At(t.subarray(i+1));return s+(a-s)*(o-i)}}function w2(t,e,n=fl){if(!(!(r=t.length)||isNaN(e=+e))){if(e<=0||r<2)return+n(t[0],0,t);if(e>=1)return+n(t[r-1],r-1,t);var r,o=(r-1)*e,i=Math.floor(o),s=+n(t[i],i,t),a=+n(t[i+1],i+1,t);return s+(a-s)*(o-i)}}function e0(t,e,n){let r=Kr(t),o=_n(t,.75)-_n(t,.25);return r&&o?Math.ceil((n-e)/(2*o*Math.pow(r,-1/3))):1}function dl(t,e,n){let r=Kr(t),o=fr(t);return r&&o?Math.ceil((n-e)*Math.cbrt(r)/(3.49*o)):1}function Qo(t,e){let n=0,r=0;if(e===void 0)for(let o of t)o!=null&&(o=+o)>=o&&(++n,r+=o);else{let o=-1;for(let i of t)(i=e(i,++o,t))!=null&&(i=+i)>=i&&(++n,r+=i)}if(n)return r/n}function Rr(t,e){return _n(t,.5,e)}function*cR(t){for(let e of t)yield*e}function Rc(t){return Array.from(cR(t))}function Lc(t,e){let n=new wn;if(e===void 0)for(let i of t)i!=null&&i>=i&&n.set(i,(n.get(i)||0)+1);else{let i=-1;for(let s of t)(s=e(s,++i,t))!=null&&s>=s&&n.set(s,(n.get(s)||0)+1)}let r,o=0;for(let[i,s]of n)s>o&&(o=s,r=i);return r}function n0(t,e=fR){let n=[],r,o=!1;for(let i of t)o&&n.push(e(r,i)),r=i,o=!0;return n}function fR(t,e){return[t,e]}function pe(t,e,n){t=+t,e=+e,n=(o=arguments.length)<2?(e=t,t=0,1):o<3?1:+n;for(var r=-1,o=Math.max(0,Math.ceil((e-t)/n))|0,i=new Array(o);++r<o;)i[r]=t+r*n;return i}function ml(t,e=dt){if(typeof t[Symbol.iterator]!="function")throw new TypeError("values is not iterable");let n=Array.from(t),r=new Float64Array(n.length);e.length!==2&&(n=n.map(e),e=dt);let o=(a,c)=>e(n[a],n[c]),i,s;return t=Uint32Array.from(n,(a,c)=>c),t.sort(e===dt?(a,c)=>na(n[a],n[c]):pl(o)),t.forEach((a,c)=>{let f=o(a,i===void 0?a:i);f>=0?((i===void 0||f>0)&&(i=a,s=c),r[a]=s):r[a]=NaN}),r}function r0(t,e=dt){let n,r=!1;if(e.length===1){let o;for(let i of t){let s=e(i);(r?dt(s,o)<0:dt(s,s)===0)&&(n=i,o=s,r=!0)}}else for(let o of t)(r?e(o,n)<0:e(o,o)===0)&&(n=o,r=!0);return n}function Ee(t,e){let n=0;if(e===void 0)for(let r of t)(r=+r)&&(n+=r);else{let r=-1;for(let o of t)(o=+e(o,++r,t))&&(n+=o)}return n}function Xi(t){if(typeof t[Symbol.iterator]!="function")throw new TypeError("values is not iterable");return Array.from(t).reverse()}function f5(t){return t}var v2=1,_2=2,M2=3,o0=4,u5=1e-6;function uR(t){return"translate("+t+",0)"}function lR(t){return"translate(0,"+t+")"}function pR(t){return e=>+t(e)}function hR(t,e){return e=Math.max(0,t.bandwidth()-e*2)/2,t.round()&&(e=Math.round(e)),n=>+t(n)+e}function dR(){return!this.__axis}function mR(t,e){var n=[],r=null,o=null,i=6,s=6,a=3,c=typeof window<"u"&&window.devicePixelRatio>1?0:.5,f=t===v2||t===o0?-1:1,u=t===o0||t===_2?"x":"y",p=t===v2||t===M2?uR:lR;function l(h){var d=r??(e.ticks?e.ticks.apply(e,n):e.domain()),m=o??(e.tickFormat?e.tickFormat.apply(e,n):f5),g=Math.max(i,0)+a,y=e.range(),x=+y[0]+c,b=+y[y.length-1]+c,w=(e.bandwidth?hR:pR)(e.copy(),c),_=h.selection?h.selection():h,v=_.selectAll(".domain").data([null]),M=_.selectAll(".tick").data(d,e).order(),E=M.exit(),T=M.enter().append("g").attr("class","tick"),I=M.select("line"),A=M.select("text");v=v.merge(v.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),M=M.merge(T),I=I.merge(T.append("line").attr("stroke","currentColor").attr(u+"2",f*i)),A=A.merge(T.append("text").attr("fill","currentColor").attr(u,f*g).attr("dy",t===v2?"0em":t===M2?"0.71em":"0.32em")),h!==_&&(v=v.transition(h),M=M.transition(h),I=I.transition(h),A=A.transition(h),E=E.transition(h).attr("opacity",u5).attr("transform",function(k){return isFinite(k=w(k))?p(k+c):this.getAttribute("transform")}),T.attr("opacity",u5).attr("transform",function(k){var L=this.parentNode.__axis;return p((L&&isFinite(L=L(k))?L:w(k))+c)})),E.remove(),v.attr("d",t===o0||t===_2?s?"M"+f*s+","+x+"H"+c+"V"+b+"H"+f*s:"M"+c+","+x+"V"+b:s?"M"+x+","+f*s+"V"+c+"H"+b+"V"+f*s:"M"+x+","+c+"H"+b),M.attr("opacity",1).attr("transform",function(k){return p(w(k)+c)}),I.attr(u+"2",f*i),A.attr(u,f*g).text(m),_.filter(dR).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",t===_2?"start":t===o0?"end":"middle"),_.each(function(){this.__axis=w})}return l.scale=function(h){return arguments.length?(e=h,l):e},l.ticks=function(){return n=Array.from(arguments),l},l.tickArguments=function(h){return arguments.length?(n=h==null?[]:Array.from(h),l):n.slice()},l.tickValues=function(h){return arguments.length?(r=h==null?null:Array.from(h),l):r&&r.slice()},l.tickFormat=function(h){return arguments.length?(o=h,l):o},l.tickSize=function(h){return arguments.length?(i=s=+h,l):i},l.tickSizeInner=function(h){return arguments.length?(i=+h,l):i},l.tickSizeOuter=function(h){return arguments.length?(s=+h,l):s},l.tickPadding=function(h){return arguments.length?(a=+h,l):a},l.offset=function(h){return arguments.length?(c=+h,l):c},l}function S2(t){return mR(M2,t)}var gR={value:()=>{}};function p5(){for(var t=0,e=arguments.length,n={},r;t<e;++t){if(!(r=arguments[t]+"")||r in n||/[\s.]/.test(r))throw new Error("illegal type: "+r);n[r]=[]}return new i0(n)}function i0(t){this._=t}function yR(t,e){return t.trim().split(/^|\s+/).map(function(n){var r="",o=n.indexOf(".");if(o>=0&&(r=n.slice(o+1),n=n.slice(0,o)),n&&!e.hasOwnProperty(n))throw new Error("unknown type: "+n);return{type:n,name:r}})}i0.prototype=p5.prototype={constructor:i0,on:function(t,e){var n=this._,r=yR(t+"",n),o,i=-1,s=r.length;if(arguments.length<2){for(;++i<s;)if((o=(t=r[i]).type)&&(o=xR(n[o],t.name)))return o;return}if(e!=null&&typeof e!="function")throw new Error("invalid callback: "+e);for(;++i<s;)if(o=(t=r[i]).type)n[o]=l5(n[o],t.name,e);else if(e==null)for(o in n)n[o]=l5(n[o],t.name,null);return this},copy:function(){var t={},e=this._;for(var n in e)t[n]=e[n].slice();return new i0(t)},call:function(t,e){if((o=arguments.length-2)>0)for(var n=new Array(o),r=0,o,i;r<o;++r)n[r]=arguments[r+2];if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(i=this._[t],r=0,o=i.length;r<o;++r)i[r].value.apply(e,n)},apply:function(t,e,n){if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(var r=this._[t],o=0,i=r.length;o<i;++o)r[o].value.apply(e,n)}};function xR(t,e){for(var n=0,r=t.length,o;n<r;++n)if((o=t[n]).name===e)return o.value}function l5(t,e,n){for(var r=0,o=t.length;r<o;++r)if(t[r].name===e){t[r]=gR,t=t.slice(0,r).concat(t.slice(r+1));break}return n!=null&&t.push({name:e,value:n}),t}var oa=p5;var s0="http://www.w3.org/1999/xhtml",Mn={svg:"http://www.w3.org/2000/svg",xhtml:s0,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function Zo(t){var e=t+="",n=e.indexOf(":");return n>=0&&(e=t.slice(0,n))!=="xmlns"&&(t=t.slice(n+1)),Mn.hasOwnProperty(e)?{space:Mn[e],local:t}:t}function bR(t){return function(){var e=this.ownerDocument,n=this.namespaceURI;return n===s0&&e.documentElement.namespaceURI===s0?e.createElement(t):e.createElementNS(n,t)}}function wR(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}function Ko(t){var e=Zo(t);return(e.local?wR:bR)(e)}function vR(){}function ia(t){return t==null?vR:function(){return this.querySelector(t)}}function h5(t){typeof t!="function"&&(t=ia(t));for(var e=this._groups,n=e.length,r=new Array(n),o=0;o<n;++o)for(var i=e[o],s=i.length,a=r[o]=new Array(s),c,f,u=0;u<s;++u)(c=i[u])&&(f=t.call(c,c.__data__,u,i))&&("__data__"in c&&(f.__data__=c.__data__),a[u]=f);return new ae(r,this._parents)}function A2(t){return t==null?[]:Array.isArray(t)?t:Array.from(t)}function _R(){return[]}function gl(t){return t==null?_R:function(){return this.querySelectorAll(t)}}function MR(t){return function(){return A2(t.apply(this,arguments))}}function d5(t){typeof t=="function"?t=MR(t):t=gl(t);for(var e=this._groups,n=e.length,r=[],o=[],i=0;i<n;++i)for(var s=e[i],a=s.length,c,f=0;f<a;++f)(c=s[f])&&(r.push(t.call(c,c.__data__,f,s)),o.push(c));return new ae(r,o)}function yl(t){return function(){return this.matches(t)}}function a0(t){return function(e){return e.matches(t)}}var SR=Array.prototype.find;function AR(t){return function(){return SR.call(this.children,t)}}function ER(){return this.firstElementChild}function m5(t){return this.select(t==null?ER:AR(typeof t=="function"?t:a0(t)))}var TR=Array.prototype.filter;function IR(){return Array.from(this.children)}function CR(t){return function(){return TR.call(this.children,t)}}function g5(t){return this.selectAll(t==null?IR:CR(typeof t=="function"?t:a0(t)))}function y5(t){typeof t!="function"&&(t=yl(t));for(var e=this._groups,n=e.length,r=new Array(n),o=0;o<n;++o)for(var i=e[o],s=i.length,a=r[o]=[],c,f=0;f<s;++f)(c=i[f])&&t.call(c,c.__data__,f,i)&&a.push(c);return new ae(r,this._parents)}function c0(t){return new Array(t.length)}function x5(){return new ae(this._enter||this._groups.map(c0),this._parents)}function xl(t,e){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=e}xl.prototype={constructor:xl,appendChild:function(t){return this._parent.insertBefore(t,this._next)},insertBefore:function(t,e){return this._parent.insertBefore(t,e)},querySelector:function(t){return this._parent.querySelector(t)},querySelectorAll:function(t){return this._parent.querySelectorAll(t)}};function b5(t){return function(){return t}}function NR(t,e,n,r,o,i){for(var s=0,a,c=e.length,f=i.length;s<f;++s)(a=e[s])?(a.__data__=i[s],r[s]=a):n[s]=new xl(t,i[s]);for(;s<c;++s)(a=e[s])&&(o[s]=a)}function kR(t,e,n,r,o,i,s){var a,c,f=new Map,u=e.length,p=i.length,l=new Array(u),h;for(a=0;a<u;++a)(c=e[a])&&(l[a]=h=s.call(c,c.__data__,a,e)+"",f.has(h)?o[a]=c:f.set(h,c));for(a=0;a<p;++a)h=s.call(t,i[a],a,i)+"",(c=f.get(h))?(r[a]=c,c.__data__=i[a],f.delete(h)):n[a]=new xl(t,i[a]);for(a=0;a<u;++a)(c=e[a])&&f.get(l[a])===c&&(o[a]=c)}function RR(t){return t.__data__}function w5(t,e){if(!arguments.length)return Array.from(this,RR);var n=e?kR:NR,r=this._parents,o=this._groups;typeof t!="function"&&(t=b5(t));for(var i=o.length,s=new Array(i),a=new Array(i),c=new Array(i),f=0;f<i;++f){var u=r[f],p=o[f],l=p.length,h=LR(t.call(u,u&&u.__data__,f,r)),d=h.length,m=a[f]=new Array(d),g=s[f]=new Array(d),y=c[f]=new Array(l);n(u,p,m,g,y,h,e);for(var x=0,b=0,w,_;x<d;++x)if(w=m[x]){for(x>=b&&(b=x+1);!(_=g[b])&&++b<d;);w._next=_||null}}return s=new ae(s,r),s._enter=a,s._exit=c,s}function LR(t){return typeof t=="object"&&"length"in t?t:Array.from(t)}function v5(){return new ae(this._exit||this._groups.map(c0),this._parents)}function _5(t,e,n){var r=this.enter(),o=this,i=this.exit();return typeof t=="function"?(r=t(r),r&&(r=r.selection())):r=r.append(t+""),e!=null&&(o=e(o),o&&(o=o.selection())),n==null?i.remove():n(i),r&&o?r.merge(o).order():o}function M5(t){for(var e=t.selection?t.selection():t,n=this._groups,r=e._groups,o=n.length,i=r.length,s=Math.min(o,i),a=new Array(o),c=0;c<s;++c)for(var f=n[c],u=r[c],p=f.length,l=a[c]=new Array(p),h,d=0;d<p;++d)(h=f[d]||u[d])&&(l[d]=h);for(;c<o;++c)a[c]=n[c];return new ae(a,this._parents)}function S5(){for(var t=this._groups,e=-1,n=t.length;++e<n;)for(var r=t[e],o=r.length-1,i=r[o],s;--o>=0;)(s=r[o])&&(i&&s.compareDocumentPosition(i)^4&&i.parentNode.insertBefore(s,i),i=s);return this}function A5(t){t||(t=OR);function e(p,l){return p&&l?t(p.__data__,l.__data__):!p-!l}for(var n=this._groups,r=n.length,o=new Array(r),i=0;i<r;++i){for(var s=n[i],a=s.length,c=o[i]=new Array(a),f,u=0;u<a;++u)(f=s[u])&&(c[u]=f);c.sort(e)}return new ae(o,this._parents).order()}function OR(t,e){return t<e?-1:t>e?1:t>=e?0:NaN}function E5(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this}function T5(){return Array.from(this)}function I5(){for(var t=this._groups,e=0,n=t.length;e<n;++e)for(var r=t[e],o=0,i=r.length;o<i;++o){var s=r[o];if(s)return s}return null}function C5(){let t=0;for(let e of this)++t;return t}function N5(){return!this.node()}function k5(t){for(var e=this._groups,n=0,r=e.length;n<r;++n)for(var o=e[n],i=0,s=o.length,a;i<s;++i)(a=o[i])&&t.call(a,a.__data__,i,o);return this}function $R(t){return function(){this.removeAttribute(t)}}function DR(t){return function(){this.removeAttributeNS(t.space,t.local)}}function FR(t,e){return function(){this.setAttribute(t,e)}}function PR(t,e){return function(){this.setAttributeNS(t.space,t.local,e)}}function qR(t,e){return function(){var n=e.apply(this,arguments);n==null?this.removeAttribute(t):this.setAttribute(t,n)}}function BR(t,e){return function(){var n=e.apply(this,arguments);n==null?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,n)}}function R5(t,e){var n=Zo(t);if(arguments.length<2){var r=this.node();return n.local?r.getAttributeNS(n.space,n.local):r.getAttribute(n)}return this.each((e==null?n.local?DR:$R:typeof e=="function"?n.local?BR:qR:n.local?PR:FR)(n,e))}function f0(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView}function zR(t){return function(){this.style.removeProperty(t)}}function YR(t,e,n){return function(){this.style.setProperty(t,e,n)}}function UR(t,e,n){return function(){var r=e.apply(this,arguments);r==null?this.style.removeProperty(t):this.style.setProperty(t,r,n)}}function L5(t,e,n){return arguments.length>1?this.each((e==null?zR:typeof e=="function"?UR:YR)(t,e,n??"")):Wi(this.node(),t)}function Wi(t,e){return t.style.getPropertyValue(e)||f0(t).getComputedStyle(t,null).getPropertyValue(e)}function jR(t){return function(){delete this[t]}}function XR(t,e){return function(){this[t]=e}}function WR(t,e){return function(){var n=e.apply(this,arguments);n==null?delete this[t]:this[t]=n}}function O5(t,e){return arguments.length>1?this.each((e==null?jR:typeof e=="function"?WR:XR)(t,e)):this.node()[t]}function $5(t){return t.trim().split(/^|\s+/)}function E2(t){return t.classList||new D5(t)}function D5(t){this._node=t,this._names=$5(t.getAttribute("class")||"")}D5.prototype={add:function(t){var e=this._names.indexOf(t);e<0&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))},remove:function(t){var e=this._names.indexOf(t);e>=0&&(this._names.splice(e,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};function F5(t,e){for(var n=E2(t),r=-1,o=e.length;++r<o;)n.add(e[r])}function P5(t,e){for(var n=E2(t),r=-1,o=e.length;++r<o;)n.remove(e[r])}function GR(t){return function(){F5(this,t)}}function VR(t){return function(){P5(this,t)}}function HR(t,e){return function(){(e.apply(this,arguments)?F5:P5)(this,t)}}function q5(t,e){var n=$5(t+"");if(arguments.length<2){for(var r=E2(this.node()),o=-1,i=n.length;++o<i;)if(!r.contains(n[o]))return!1;return!0}return this.each((typeof e=="function"?HR:e?GR:VR)(n,e))}function QR(){this.textContent=""}function ZR(t){return function(){this.textContent=t}}function KR(t){return function(){var e=t.apply(this,arguments);this.textContent=e??""}}function B5(t){return arguments.length?this.each(t==null?QR:(typeof t=="function"?KR:ZR)(t)):this.node().textContent}function JR(){this.innerHTML=""}function tL(t){return function(){this.innerHTML=t}}function eL(t){return function(){var e=t.apply(this,arguments);this.innerHTML=e??""}}function z5(t){return arguments.length?this.each(t==null?JR:(typeof t=="function"?eL:tL)(t)):this.node().innerHTML}function nL(){this.nextSibling&&this.parentNode.appendChild(this)}function Y5(){return this.each(nL)}function rL(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function U5(){return this.each(rL)}function j5(t){var e=typeof t=="function"?t:Ko(t);return this.select(function(){return this.appendChild(e.apply(this,arguments))})}function oL(){return null}function X5(t,e){var n=typeof t=="function"?t:Ko(t),r=e==null?oL:typeof e=="function"?e:ia(e);return this.select(function(){return this.insertBefore(n.apply(this,arguments),r.apply(this,arguments)||null)})}function iL(){var t=this.parentNode;t&&t.removeChild(this)}function W5(){return this.each(iL)}function sL(){var t=this.cloneNode(!1),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}function aL(){var t=this.cloneNode(!0),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}function G5(t){return this.select(t?aL:sL)}function V5(t){return arguments.length?this.property("__data__",t):this.node().__data__}function cL(t){return function(e){t.call(this,e,this.__data__)}}function fL(t){return t.trim().split(/^|\s+/).map(function(e){var n="",r=e.indexOf(".");return r>=0&&(n=e.slice(r+1),e=e.slice(0,r)),{type:e,name:n}})}function uL(t){return function(){var e=this.__on;if(e){for(var n=0,r=-1,o=e.length,i;n<o;++n)i=e[n],(!t.type||i.type===t.type)&&i.name===t.name?this.removeEventListener(i.type,i.listener,i.options):e[++r]=i;++r?e.length=r:delete this.__on}}}function lL(t,e,n){return function(){var r=this.__on,o,i=cL(e);if(r){for(var s=0,a=r.length;s<a;++s)if((o=r[s]).type===t.type&&o.name===t.name){this.removeEventListener(o.type,o.listener,o.options),this.addEventListener(o.type,o.listener=i,o.options=n),o.value=e;return}}this.addEventListener(t.type,i,n),o={type:t.type,name:t.name,value:e,listener:i,options:n},r?r.push(o):this.__on=[o]}}function H5(t,e,n){var r=fL(t+""),o,i=r.length,s;if(arguments.length<2){var a=this.node().__on;if(a){for(var c=0,f=a.length,u;c<f;++c)for(o=0,u=a[c];o<i;++o)if((s=r[o]).type===u.type&&s.name===u.name)return u.value}return}for(a=e?lL:uL,o=0;o<i;++o)this.each(a(r[o],e,n));return this}function Q5(t,e,n){var r=f0(t),o=r.CustomEvent;typeof o=="function"?o=new o(e,n):(o=r.document.createEvent("Event"),n?(o.initEvent(e,n.bubbles,n.cancelable),o.detail=n.detail):o.initEvent(e,!1,!1)),t.dispatchEvent(o)}function pL(t,e){return function(){return Q5(this,t,e)}}function hL(t,e){return function(){return Q5(this,t,e.apply(this,arguments))}}function Z5(t,e){return this.each((typeof e=="function"?hL:pL)(t,e))}function*K5(){for(var t=this._groups,e=0,n=t.length;e<n;++e)for(var r=t[e],o=0,i=r.length,s;o<i;++o)(s=r[o])&&(yield s)}var T2=[null];function ae(t,e){this._groups=t,this._parents=e}function J5(){return new ae([[document.documentElement]],T2)}function dL(){return this}ae.prototype=J5.prototype={constructor:ae,select:h5,selectAll:d5,selectChild:m5,selectChildren:g5,filter:y5,data:w5,enter:x5,exit:v5,join:_5,merge:M5,selection:dL,order:S5,sort:A5,call:E5,nodes:T5,node:I5,size:C5,empty:N5,each:k5,attr:R5,style:L5,property:O5,classed:q5,text:B5,html:z5,raise:Y5,lower:U5,append:j5,insert:X5,remove:W5,clone:G5,datum:V5,on:H5,dispatch:Z5,[Symbol.iterator]:K5};var Jo=J5;function Et(t){return typeof t=="string"?new ae([[document.querySelector(t)]],[document.documentElement]):new ae([[t]],T2)}function tM(t){let e;for(;e=t.sourceEvent;)t=e;return t}function on(t,e){if(t=tM(t),e===void 0&&(e=t.currentTarget),e){var n=e.ownerSVGElement||e;if(n.createSVGPoint){var r=n.createSVGPoint();return r.x=t.clientX,r.y=t.clientY,r=r.matrixTransform(e.getScreenCTM().inverse()),[r.x,r.y]}if(e.getBoundingClientRect){var o=e.getBoundingClientRect();return[t.clientX-o.left-e.clientLeft,t.clientY-o.top-e.clientTop]}}return[t.pageX,t.pageY]}var u0={capture:!0,passive:!1};function l0(t){t.preventDefault(),t.stopImmediatePropagation()}function bl(t){var e=t.document.documentElement,n=Et(t).on("dragstart.drag",l0,u0);"onselectstart"in e?n.on("selectstart.drag",l0,u0):(e.__noselect=e.style.MozUserSelect,e.style.MozUserSelect="none")}function wl(t,e){var n=t.document.documentElement,r=Et(t).on("dragstart.drag",null);e&&(r.on("click.drag",l0,u0),setTimeout(function(){r.on("click.drag",null)},0)),"onselectstart"in n?r.on("selectstart.drag",null):(n.style.MozUserSelect=n.__noselect,delete n.__noselect)}function ti(t,e,n){t.prototype=e.prototype=n,n.constructor=t}function Gi(t,e){var n=Object.create(t.prototype);for(var r in e)n[r]=e[r];return n}function to(){}var Vi=.7,ca=1/Vi,Oc="\\s*([+-]?\\d+)\\s*",vl="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",Jr="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",mL=/^#([0-9a-f]{3,8})$/,gL=new RegExp(`^rgb\\(${Oc},${Oc},${Oc}\\)$`),yL=new RegExp(`^rgb\\(${Jr},${Jr},${Jr}\\)$`),xL=new RegExp(`^rgba\\(${Oc},${Oc},${Oc},${vl}\\)$`),bL=new RegExp(`^rgba\\(${Jr},${Jr},${Jr},${vl}\\)$`),wL=new RegExp(`^hsl\\(${vl},${Jr},${Jr}\\)$`),vL=new RegExp(`^hsla\\(${vl},${Jr},${Jr},${vl}\\)$`),eM={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};ti(to,Xn,{copy(t){return Object.assign(new this.constructor,this,t)},displayable(){return this.rgb().displayable()},hex:nM,formatHex:nM,formatHex8:_L,formatHsl:ML,formatRgb:rM,toString:rM});function nM(){return this.rgb().formatHex()}function _L(){return this.rgb().formatHex8()}function ML(){return fM(this).formatHsl()}function rM(){return this.rgb().formatRgb()}function Xn(t){var e,n;return t=(t+"").trim().toLowerCase(),(e=mL.exec(t))?(n=e[1].length,e=parseInt(e[1],16),n===6?oM(e):n===3?new ge(e>>8&15|e>>4&240,e>>4&15|e&240,(e&15)<<4|e&15,1):n===8?p0(e>>24&255,e>>16&255,e>>8&255,(e&255)/255):n===4?p0(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|e&240,((e&15)<<4|e&15)/255):null):(e=gL.exec(t))?new ge(e[1],e[2],e[3],1):(e=yL.exec(t))?new ge(e[1]*255/100,e[2]*255/100,e[3]*255/100,1):(e=xL.exec(t))?p0(e[1],e[2],e[3],e[4]):(e=bL.exec(t))?p0(e[1]*255/100,e[2]*255/100,e[3]*255/100,e[4]):(e=wL.exec(t))?aM(e[1],e[2]/100,e[3]/100,1):(e=vL.exec(t))?aM(e[1],e[2]/100,e[3]/100,e[4]):eM.hasOwnProperty(t)?oM(eM[t]):t==="transparent"?new ge(NaN,NaN,NaN,0):null}function oM(t){return new ge(t>>16&255,t>>8&255,t&255,1)}function p0(t,e,n,r){return r<=0&&(t=e=n=NaN),new ge(t,e,n,r)}function _l(t){return t instanceof to||(t=Xn(t)),t?(t=t.rgb(),new ge(t.r,t.g,t.b,t.opacity)):new ge}function Te(t,e,n,r){return arguments.length===1?_l(t):new ge(t,e,n,r??1)}function ge(t,e,n,r){this.r=+t,this.g=+e,this.b=+n,this.opacity=+r}ti(ge,Te,Gi(to,{brighter(t){return t=t==null?ca:Math.pow(ca,t),new ge(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=t==null?Vi:Math.pow(Vi,t),new ge(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new ge(aa(this.r),aa(this.g),aa(this.b),d0(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:iM,formatHex:iM,formatHex8:SL,formatRgb:sM,toString:sM}));function iM(){return`#${sa(this.r)}${sa(this.g)}${sa(this.b)}`}function SL(){return`#${sa(this.r)}${sa(this.g)}${sa(this.b)}${sa((isNaN(this.opacity)?1:this.opacity)*255)}`}function sM(){let t=d0(this.opacity);return`${t===1?"rgb(":"rgba("}${aa(this.r)}, ${aa(this.g)}, ${aa(this.b)}${t===1?")":`, ${t})`}`}function d0(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function aa(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function sa(t){return t=aa(t),(t<16?"0":"")+t.toString(16)}function aM(t,e,n,r){return r<=0?t=e=n=NaN:n<=0||n>=1?t=e=NaN:e<=0&&(t=NaN),new Lr(t,e,n,r)}function fM(t){if(t instanceof Lr)return new Lr(t.h,t.s,t.l,t.opacity);if(t instanceof to||(t=Xn(t)),!t)return new Lr;if(t instanceof Lr)return t;t=t.rgb();var e=t.r/255,n=t.g/255,r=t.b/255,o=Math.min(e,n,r),i=Math.max(e,n,r),s=NaN,a=i-o,c=(i+o)/2;return a?(e===i?s=(n-r)/a+(n<r)*6:n===i?s=(r-e)/a+2:s=(e-n)/a+4,a/=c<.5?i+o:2-i-o,s*=60):a=c>0&&c<1?0:s,new Lr(s,a,c,t.opacity)}function Ml(t,e,n,r){return arguments.length===1?fM(t):new Lr(t,e,n,r??1)}function Lr(t,e,n,r){this.h=+t,this.s=+e,this.l=+n,this.opacity=+r}ti(Lr,Ml,Gi(to,{brighter(t){return t=t==null?ca:Math.pow(ca,t),new Lr(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=t==null?Vi:Math.pow(Vi,t),new Lr(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+(this.h<0)*360,e=isNaN(t)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*e,o=2*n-r;return new ge(I2(t>=240?t-240:t+120,o,r),I2(t,o,r),I2(t<120?t+240:t-120,o,r),this.opacity)},clamp(){return new Lr(cM(this.h),h0(this.s),h0(this.l),d0(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){let t=d0(this.opacity);return`${t===1?"hsl(":"hsla("}${cM(this.h)}, ${h0(this.s)*100}%, ${h0(this.l)*100}%${t===1?")":`, ${t})`}`}}));function cM(t){return t=(t||0)%360,t<0?t+360:t}function h0(t){return Math.max(0,Math.min(1,t||0))}function I2(t,e,n){return(t<60?e+(n-e)*t/60:t<180?n:t<240?e+(n-e)*(240-t)/60:e)*255}var m0=Math.PI/180,g0=180/Math.PI;var y0=18,uM=.96422,lM=1,pM=.82521,hM=4/29,$c=6/29,dM=3*$c*$c,AL=$c*$c*$c;function mM(t){if(t instanceof eo)return new eo(t.l,t.a,t.b,t.opacity);if(t instanceof ei)return gM(t);t instanceof ge||(t=_l(t));var e=R2(t.r),n=R2(t.g),r=R2(t.b),o=C2((.2225045*e+.7168786*n+.0606169*r)/lM),i,s;return e===n&&n===r?i=s=o:(i=C2((.4360747*e+.3850649*n+.1430804*r)/uM),s=C2((.0139322*e+.0971045*n+.7141733*r)/pM)),new eo(116*o-16,500*(i-o),200*(o-s),t.opacity)}function Dc(t,e,n,r){return arguments.length===1?mM(t):new eo(t,e,n,r??1)}function eo(t,e,n,r){this.l=+t,this.a=+e,this.b=+n,this.opacity=+r}ti(eo,Dc,Gi(to,{brighter(t){return new eo(this.l+y0*(t??1),this.a,this.b,this.opacity)},darker(t){return new eo(this.l-y0*(t??1),this.a,this.b,this.opacity)},rgb(){var t=(this.l+16)/116,e=isNaN(this.a)?t:t+this.a/500,n=isNaN(this.b)?t:t-this.b/200;return e=uM*N2(e),t=lM*N2(t),n=pM*N2(n),new ge(k2(3.1338561*e-1.6168667*t-.4906146*n),k2(-.9787684*e+1.9161415*t+.033454*n),k2(.0719453*e-.2289914*t+1.4052427*n),this.opacity)}}));function C2(t){return t>AL?Math.pow(t,1/3):t/dM+hM}function N2(t){return t>$c?t*t*t:dM*(t-hM)}function k2(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function R2(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function EL(t){if(t instanceof ei)return new ei(t.h,t.c,t.l,t.opacity);if(t instanceof eo||(t=mM(t)),t.a===0&&t.b===0)return new ei(NaN,0<t.l&&t.l<100?0:NaN,t.l,t.opacity);var e=Math.atan2(t.b,t.a)*g0;return new ei(e<0?e+360:e,Math.sqrt(t.a*t.a+t.b*t.b),t.l,t.opacity)}function Sl(t,e,n,r){return arguments.length===1?EL(t):new ei(t,e,n,r??1)}function ei(t,e,n,r){this.h=+t,this.c=+e,this.l=+n,this.opacity=+r}function gM(t){if(isNaN(t.h))return new eo(t.l,0,0,t.opacity);var e=t.h*m0;return new eo(t.l,Math.cos(e)*t.c,Math.sin(e)*t.c,t.opacity)}ti(ei,Sl,Gi(to,{brighter(t){return new ei(this.h,this.c,this.l+y0*(t??1),this.opacity)},darker(t){return new ei(this.h,this.c,this.l-y0*(t??1),this.opacity)},rgb(){return gM(this).rgb()}}));var wM=-.14861,L2=1.78277,O2=-.29227,x0=-.90649,Al=1.97294,yM=Al*x0,xM=Al*L2,bM=L2*O2-x0*wM;function TL(t){if(t instanceof fa)return new fa(t.h,t.s,t.l,t.opacity);t instanceof ge||(t=_l(t));var e=t.r/255,n=t.g/255,r=t.b/255,o=(bM*r+yM*e-xM*n)/(bM+yM-xM),i=r-o,s=(Al*(n-o)-O2*i)/x0,a=Math.sqrt(s*s+i*i)/(Al*o*(1-o)),c=a?Math.atan2(s,i)*g0-120:NaN;return new fa(c<0?c+360:c,a,o,t.opacity)}function Sn(t,e,n,r){return arguments.length===1?TL(t):new fa(t,e,n,r??1)}function fa(t,e,n,r){this.h=+t,this.s=+e,this.l=+n,this.opacity=+r}ti(fa,Sn,Gi(to,{brighter(t){return t=t==null?ca:Math.pow(ca,t),new fa(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=t==null?Vi:Math.pow(Vi,t),new fa(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=isNaN(this.h)?0:(this.h+120)*m0,e=+this.l,n=isNaN(this.s)?0:this.s*e*(1-e),r=Math.cos(t),o=Math.sin(t);return new ge(255*(e+n*(wM*r+L2*o)),255*(e+n*(O2*r+x0*o)),255*(e+n*(Al*r)),this.opacity)}}));function $2(t,e,n,r,o){var i=t*t,s=i*t;return((1-3*t+3*i-s)*e+(4-6*i+3*s)*n+(1+3*t+3*i-3*s)*r+s*o)/6}function vM(t){var e=t.length-1;return function(n){var r=n<=0?n=0:n>=1?(n=1,e-1):Math.floor(n*e),o=t[r],i=t[r+1],s=r>0?t[r-1]:2*o-i,a=r<e-1?t[r+2]:2*i-o;return $2((n-r/e)*e,s,o,i,a)}}function _M(t){var e=t.length;return function(n){var r=Math.floor(((n%=1)<0?++n:n)*e),o=t[(r+e-1)%e],i=t[r%e],s=t[(r+1)%e],a=t[(r+2)%e];return $2((n-r/e)*e,o,i,s,a)}}var Fc=t=>()=>t;function MM(t,e){return function(n){return t+n*e}}function IL(t,e,n){return t=Math.pow(t,n),e=Math.pow(e,n)-t,n=1/n,function(r){return Math.pow(t+r*e,n)}}function Pc(t,e){var n=e-t;return n?MM(t,n>180||n<-180?n-360*Math.round(n/360):n):Fc(isNaN(t)?e:t)}function SM(t){return(t=+t)==1?Kt:function(e,n){return n-e?IL(e,n,t):Fc(isNaN(e)?n:e)}}function Kt(t,e){var n=e-t;return n?MM(t,n):Fc(isNaN(t)?e:t)}var ur=function t(e){var n=SM(e);function r(o,i){var s=n((o=Te(o)).r,(i=Te(i)).r),a=n(o.g,i.g),c=n(o.b,i.b),f=Kt(o.opacity,i.opacity);return function(u){return o.r=s(u),o.g=a(u),o.b=c(u),o.opacity=f(u),o+""}}return r.gamma=t,r}(1);function AM(t){return function(e){var n=e.length,r=new Array(n),o=new Array(n),i=new Array(n),s,a;for(s=0;s<n;++s)a=Te(e[s]),r[s]=a.r||0,o[s]=a.g||0,i[s]=a.b||0;return r=t(r),o=t(o),i=t(i),a.opacity=1,function(c){return a.r=r(c),a.g=o(c),a.b=i(c),a+""}}}var D2=AM(vM),CL=AM(_M);function EM(t,e){e||(e=[]);var n=t?Math.min(e.length,t.length):0,r=e.slice(),o;return function(i){for(o=0;o<n;++o)r[o]=t[o]*(1-i)+e[o]*i;return r}}function TM(t){return ArrayBuffer.isView(t)&&!(t instanceof DataView)}function IM(t,e){var n=e?e.length:0,r=t?Math.min(n,t.length):0,o=new Array(r),i=new Array(n),s;for(s=0;s<r;++s)o[s]=Wn(t[s],e[s]);for(;s<n;++s)i[s]=e[s];return function(a){for(s=0;s<r;++s)i[s]=o[s](a);return i}}function CM(t,e){var n=new Date;return t=+t,e=+e,function(r){return n.setTime(t*(1-r)+e*r),n}}function Qt(t,e){return t=+t,e=+e,function(n){return t*(1-n)+e*n}}function NM(t,e){var n={},r={},o;(t===null||typeof t!="object")&&(t={}),(e===null||typeof e!="object")&&(e={});for(o in e)o in t?n[o]=Wn(t[o],e[o]):r[o]=e[o];return function(i){for(o in n)r[o]=n[o](i);return r}}var P2=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,F2=new RegExp(P2.source,"g");function NL(t){return function(){return t}}function kL(t){return function(e){return t(e)+""}}function El(t,e){var n=P2.lastIndex=F2.lastIndex=0,r,o,i,s=-1,a=[],c=[];for(t=t+"",e=e+"";(r=P2.exec(t))&&(o=F2.exec(e));)(i=o.index)>n&&(i=e.slice(n,i),a[s]?a[s]+=i:a[++s]=i),(r=r[0])===(o=o[0])?a[s]?a[s]+=o:a[++s]=o:(a[++s]=null,c.push({i:s,x:Qt(r,o)})),n=F2.lastIndex;return n<e.length&&(i=e.slice(n),a[s]?a[s]+=i:a[++s]=i),a.length<2?c[0]?kL(c[0].x):NL(e):(e=c.length,function(f){for(var u=0,p;u<e;++u)a[(p=c[u]).i]=p.x(f);return a.join("")})}function Wn(t,e){var n=typeof e,r;return e==null||n==="boolean"?Fc(e):(n==="number"?Qt:n==="string"?(r=Xn(e))?(e=r,ur):El:e instanceof Xn?ur:e instanceof Date?CM:TM(e)?EM:Array.isArray(e)?IM:typeof e.valueOf!="function"&&typeof e.toString!="function"||isNaN(e)?NM:Qt)(t,e)}function ua(t,e){return t=+t,e=+e,function(n){return Math.round(t*(1-n)+e*n)}}var kM=180/Math.PI,b0={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function q2(t,e,n,r,o,i){var s,a,c;return(s=Math.sqrt(t*t+e*e))&&(t/=s,e/=s),(c=t*n+e*r)&&(n-=t*c,r-=e*c),(a=Math.sqrt(n*n+r*r))&&(n/=a,r/=a,c/=a),t*r<e*n&&(t=-t,e=-e,c=-c,s=-s),{translateX:o,translateY:i,rotate:Math.atan2(e,t)*kM,skewX:Math.atan(c)*kM,scaleX:s,scaleY:a}}var w0;function RM(t){let e=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(t+"");return e.isIdentity?b0:q2(e.a,e.b,e.c,e.d,e.e,e.f)}function LM(t){return t==null?b0:(w0||(w0=document.createElementNS("http://www.w3.org/2000/svg","g")),w0.setAttribute("transform",t),(t=w0.transform.baseVal.consolidate())?(t=t.matrix,q2(t.a,t.b,t.c,t.d,t.e,t.f)):b0)}function OM(t,e,n,r){function o(f){return f.length?f.pop()+" ":""}function i(f,u,p,l,h,d){if(f!==p||u!==l){var m=h.push("translate(",null,e,null,n);d.push({i:m-4,x:Qt(f,p)},{i:m-2,x:Qt(u,l)})}else(p||l)&&h.push("translate("+p+e+l+n)}function s(f,u,p,l){f!==u?(f-u>180?u+=360:u-f>180&&(f+=360),l.push({i:p.push(o(p)+"rotate(",null,r)-2,x:Qt(f,u)})):u&&p.push(o(p)+"rotate("+u+r)}function a(f,u,p,l){f!==u?l.push({i:p.push(o(p)+"skewX(",null,r)-2,x:Qt(f,u)}):u&&p.push(o(p)+"skewX("+u+r)}function c(f,u,p,l,h,d){if(f!==p||u!==l){var m=h.push(o(h)+"scale(",null,",",null,")");d.push({i:m-4,x:Qt(f,p)},{i:m-2,x:Qt(u,l)})}else(p!==1||l!==1)&&h.push(o(h)+"scale("+p+","+l+")")}return function(f,u){var p=[],l=[];return f=t(f),u=t(u),i(f.translateX,f.translateY,u.translateX,u.translateY,p,l),s(f.rotate,u.rotate,p,l),a(f.skewX,u.skewX,p,l),c(f.scaleX,f.scaleY,u.scaleX,u.scaleY,p,l),f=u=null,function(h){for(var d=-1,m=l.length,g;++d<m;)p[(g=l[d]).i]=g.x(h);return p.join("")}}}var B2=OM(RM,"px, ","px)","deg)"),z2=OM(LM,", ",")",")");var RL=1e-12;function $M(t){return((t=Math.exp(t))+1/t)/2}function LL(t){return((t=Math.exp(t))-1/t)/2}function OL(t){return((t=Math.exp(2*t))-1)/(t+1)}var Y2=function t(e,n,r){function o(i,s){var a=i[0],c=i[1],f=i[2],u=s[0],p=s[1],l=s[2],h=u-a,d=p-c,m=h*h+d*d,g,y;if(m<RL)y=Math.log(l/f)/e,g=function(M){return[a+M*h,c+M*d,f*Math.exp(e*M*y)]};else{var x=Math.sqrt(m),b=(l*l-f*f+r*m)/(2*f*n*x),w=(l*l-f*f-r*m)/(2*l*n*x),_=Math.log(Math.sqrt(b*b+1)-b),v=Math.log(Math.sqrt(w*w+1)-w);y=(v-_)/e,g=function(M){var E=M*y,T=$M(_),I=f/(n*x)*(T*OL(e*E+_)-LL(_));return[a+I*h,c+I*d,f*T/$M(e*E+_)]}}return g.duration=y*1e3*e/Math.SQRT2,g}return o.rho=function(i){var s=Math.max(.001,+i),a=s*s,c=a*a;return t(s,a,c)},o}(Math.SQRT2,2,4);function DM(t){return function(e,n){var r=t((e=Ml(e)).h,(n=Ml(n)).h),o=Kt(e.s,n.s),i=Kt(e.l,n.l),s=Kt(e.opacity,n.opacity);return function(a){return e.h=r(a),e.s=o(a),e.l=i(a),e.opacity=s(a),e+""}}}var U2=DM(Pc),$L=DM(Kt);function v0(t,e){var n=Kt((t=Dc(t)).l,(e=Dc(e)).l),r=Kt(t.a,e.a),o=Kt(t.b,e.b),i=Kt(t.opacity,e.opacity);return function(s){return t.l=n(s),t.a=r(s),t.b=o(s),t.opacity=i(s),t+""}}function FM(t){return function(e,n){var r=t((e=Sl(e)).h,(n=Sl(n)).h),o=Kt(e.c,n.c),i=Kt(e.l,n.l),s=Kt(e.opacity,n.opacity);return function(a){return e.h=r(a),e.c=o(a),e.l=i(a),e.opacity=s(a),e+""}}}var j2=FM(Pc),DL=FM(Kt);function PM(t){return function e(n){n=+n;function r(o,i){var s=t((o=Sn(o)).h,(i=Sn(i)).h),a=Kt(o.s,i.s),c=Kt(o.l,i.l),f=Kt(o.opacity,i.opacity);return function(u){return o.h=s(u),o.s=a(u),o.l=c(Math.pow(u,n)),o.opacity=f(u),o+""}}return r.gamma=e,r}(1)}var FL=PM(Pc),qc=PM(Kt);function no(t,e){e===void 0&&(e=t,t=Wn);for(var n=0,r=e.length-1,o=e[0],i=new Array(r<0?0:r);n<r;)i[n]=t(o,o=e[++n]);return function(s){var a=Math.max(0,Math.min(r-1,Math.floor(s*=r)));return i[a](s-a)}}function sn(t,e){for(var n=new Array(e),r=0;r<e;++r)n[r]=t(r/(e-1));return n}var Bc=0,Il=0,Tl=0,BM=1e3,_0,Cl,M0=0,la=0,S0=0,Nl=typeof performance=="object"&&performance.now?performance:Date,zM=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};function Rl(){return la||(zM(PL),la=Nl.now()+S0)}function PL(){la=0}function kl(){this._call=this._time=this._next=null}kl.prototype=A0.prototype={constructor:kl,restart:function(t,e,n){if(typeof t!="function")throw new TypeError("callback is not a function");n=(n==null?Rl():+n)+(e==null?0:+e),!this._next&&Cl!==this&&(Cl?Cl._next=this:_0=this,Cl=this),this._call=t,this._time=n,X2()},stop:function(){this._call&&(this._call=null,this._time=1/0,X2())}};function A0(t,e,n){var r=new kl;return r.restart(t,e,n),r}function YM(){Rl(),++Bc;for(var t=_0,e;t;)(e=la-t._time)>=0&&t._call.call(void 0,e),t=t._next;--Bc}function qM(){la=(M0=Nl.now())+S0,Bc=Il=0;try{YM()}finally{Bc=0,BL(),la=0}}function qL(){var t=Nl.now(),e=t-M0;e>BM&&(S0-=e,M0=t)}function BL(){for(var t,e=_0,n,r=1/0;e;)e._call?(r>e._time&&(r=e._time),t=e,e=e._next):(n=e._next,e._next=null,e=t?t._next=n:_0=n);Cl=t,X2(r)}function X2(t){if(!Bc){Il&&(Il=clearTimeout(Il));var e=t-la;e>24?(t<1/0&&(Il=setTimeout(qM,t-Nl.now()-S0)),Tl&&(Tl=clearInterval(Tl))):(Tl||(M0=Nl.now(),Tl=setInterval(qL,BM)),Bc=1,zM(qM))}}function E0(t,e,n){var r=new kl;return e=e==null?0:+e,r.restart(o=>{r.stop(),t(o+e)},e,n),r}var zL=oa("start","end","cancel","interrupt"),YL=[],XM=0,UM=1,I0=2,T0=3,jM=4,C0=5,Ll=6;function Hi(t,e,n,r,o,i){var s=t.__transition;if(!s)t.__transition={};else if(n in s)return;UL(t,n,{name:e,index:r,group:o,on:zL,tween:YL,time:i.time,delay:i.delay,duration:i.duration,ease:i.ease,timer:null,state:XM})}function Ol(t,e){var n=Ie(t,e);if(n.state>XM)throw new Error("too late; already scheduled");return n}function Qe(t,e){var n=Ie(t,e);if(n.state>T0)throw new Error("too late; already running");return n}function Ie(t,e){var n=t.__transition;if(!n||!(n=n[e]))throw new Error("transition not found");return n}function UL(t,e,n){var r=t.__transition,o;r[e]=n,n.timer=A0(i,0,n.time);function i(f){n.state=UM,n.timer.restart(s,n.delay,n.time),n.delay<=f&&s(f-n.delay)}function s(f){var u,p,l,h;if(n.state!==UM)return c();for(u in r)if(h=r[u],h.name===n.name){if(h.state===T0)return E0(s);h.state===jM?(h.state=Ll,h.timer.stop(),h.on.call("interrupt",t,t.__data__,h.index,h.group),delete r[u]):+u<e&&(h.state=Ll,h.timer.stop(),h.on.call("cancel",t,t.__data__,h.index,h.group),delete r[u])}if(E0(function(){n.state===T0&&(n.state=jM,n.timer.restart(a,n.delay,n.time),a(f))}),n.state=I0,n.on.call("start",t,t.__data__,n.index,n.group),n.state===I0){for(n.state=T0,o=new Array(l=n.tween.length),u=0,p=-1;u<l;++u)(h=n.tween[u].value.call(t,t.__data__,n.index,n.group))&&(o[++p]=h);o.length=p+1}}function a(f){for(var u=f<n.duration?n.ease.call(null,f/n.duration):(n.timer.restart(c),n.state=C0,1),p=-1,l=o.length;++p<l;)o[p].call(t,u);n.state===C0&&(n.on.call("end",t,t.__data__,n.index,n.group),c())}function c(){n.state=Ll,n.timer.stop(),delete r[e];for(var f in r)return;delete t.__transition}}function ro(t,e){var n=t.__transition,r,o,i=!0,s;if(n){e=e==null?null:e+"";for(s in n){if((r=n[s]).name!==e){i=!1;continue}o=r.state>I0&&r.state<C0,r.state=Ll,r.timer.stop(),r.on.call(o?"interrupt":"cancel",t,t.__data__,r.index,r.group),delete n[s]}i&&delete t.__transition}}function WM(t){return this.each(function(){ro(this,t)})}function jL(t,e){var n,r;return function(){var o=Qe(this,t),i=o.tween;if(i!==n){r=n=i;for(var s=0,a=r.length;s<a;++s)if(r[s].name===e){r=r.slice(),r.splice(s,1);break}}o.tween=r}}function XL(t,e,n){var r,o;if(typeof n!="function")throw new Error;return function(){var i=Qe(this,t),s=i.tween;if(s!==r){o=(r=s).slice();for(var a={name:e,value:n},c=0,f=o.length;c<f;++c)if(o[c].name===e){o[c]=a;break}c===f&&o.push(a)}i.tween=o}}function GM(t,e){var n=this._id;if(t+="",arguments.length<2){for(var r=Ie(this.node(),n).tween,o=0,i=r.length,s;o<i;++o)if((s=r[o]).name===t)return s.value;return null}return this.each((e==null?jL:XL)(n,t,e))}function zc(t,e,n){var r=t._id;return t.each(function(){var o=Qe(this,r);(o.value||(o.value={}))[e]=n.apply(this,arguments)}),function(o){return Ie(o,r).value[e]}}function N0(t,e){var n;return(typeof e=="number"?Qt:e instanceof Xn?ur:(n=Xn(e))?(e=n,ur):El)(t,e)}function WL(t){return function(){this.removeAttribute(t)}}function GL(t){return function(){this.removeAttributeNS(t.space,t.local)}}function VL(t,e,n){var r,o=n+"",i;return function(){var s=this.getAttribute(t);return s===o?null:s===r?i:i=e(r=s,n)}}function HL(t,e,n){var r,o=n+"",i;return function(){var s=this.getAttributeNS(t.space,t.local);return s===o?null:s===r?i:i=e(r=s,n)}}function QL(t,e,n){var r,o,i;return function(){var s,a=n(this),c;return a==null?void this.removeAttribute(t):(s=this.getAttribute(t),c=a+"",s===c?null:s===r&&c===o?i:(o=c,i=e(r=s,a)))}}function ZL(t,e,n){var r,o,i;return function(){var s,a=n(this),c;return a==null?void this.removeAttributeNS(t.space,t.local):(s=this.getAttributeNS(t.space,t.local),c=a+"",s===c?null:s===r&&c===o?i:(o=c,i=e(r=s,a)))}}function VM(t,e){var n=Zo(t),r=n==="transform"?z2:N0;return this.attrTween(t,typeof e=="function"?(n.local?ZL:QL)(n,r,zc(this,"attr."+t,e)):e==null?(n.local?GL:WL)(n):(n.local?HL:VL)(n,r,e))}function KL(t,e){return function(n){this.setAttribute(t,e.call(this,n))}}function JL(t,e){return function(n){this.setAttributeNS(t.space,t.local,e.call(this,n))}}function tO(t,e){var n,r;function o(){var i=e.apply(this,arguments);return i!==r&&(n=(r=i)&&JL(t,i)),n}return o._value=e,o}function eO(t,e){var n,r;function o(){var i=e.apply(this,arguments);return i!==r&&(n=(r=i)&&KL(t,i)),n}return o._value=e,o}function HM(t,e){var n="attr."+t;if(arguments.length<2)return(n=this.tween(n))&&n._value;if(e==null)return this.tween(n,null);if(typeof e!="function")throw new Error;var r=Zo(t);return this.tween(n,(r.local?tO:eO)(r,e))}function nO(t,e){return function(){Ol(this,t).delay=+e.apply(this,arguments)}}function rO(t,e){return e=+e,function(){Ol(this,t).delay=e}}function QM(t){var e=this._id;return arguments.length?this.each((typeof t=="function"?nO:rO)(e,t)):Ie(this.node(),e).delay}function oO(t,e){return function(){Qe(this,t).duration=+e.apply(this,arguments)}}function iO(t,e){return e=+e,function(){Qe(this,t).duration=e}}function ZM(t){var e=this._id;return arguments.length?this.each((typeof t=="function"?oO:iO)(e,t)):Ie(this.node(),e).duration}function sO(t,e){if(typeof e!="function")throw new Error;return function(){Qe(this,t).ease=e}}function KM(t){var e=this._id;return arguments.length?this.each(sO(e,t)):Ie(this.node(),e).ease}function aO(t,e){return function(){var n=e.apply(this,arguments);if(typeof n!="function")throw new Error;Qe(this,t).ease=n}}function JM(t){if(typeof t!="function")throw new Error;return this.each(aO(this._id,t))}function t8(t){typeof t!="function"&&(t=yl(t));for(var e=this._groups,n=e.length,r=new Array(n),o=0;o<n;++o)for(var i=e[o],s=i.length,a=r[o]=[],c,f=0;f<s;++f)(c=i[f])&&t.call(c,c.__data__,f,i)&&a.push(c);return new An(r,this._parents,this._name,this._id)}function e8(t){if(t._id!==this._id)throw new Error;for(var e=this._groups,n=t._groups,r=e.length,o=n.length,i=Math.min(r,o),s=new Array(r),a=0;a<i;++a)for(var c=e[a],f=n[a],u=c.length,p=s[a]=new Array(u),l,h=0;h<u;++h)(l=c[h]||f[h])&&(p[h]=l);for(;a<r;++a)s[a]=e[a];return new An(s,this._parents,this._name,this._id)}function cO(t){return(t+"").trim().split(/^|\s+/).every(function(e){var n=e.indexOf(".");return n>=0&&(e=e.slice(0,n)),!e||e==="start"})}function fO(t,e,n){var r,o,i=cO(e)?Ol:Qe;return function(){var s=i(this,t),a=s.on;a!==r&&(o=(r=a).copy()).on(e,n),s.on=o}}function n8(t,e){var n=this._id;return arguments.length<2?Ie(this.node(),n).on.on(t):this.each(fO(n,t,e))}function uO(t){return function(){var e=this.parentNode;for(var n in this.__transition)if(+n!==t)return;e&&e.removeChild(this)}}function r8(){return this.on("end.remove",uO(this._id))}function o8(t){var e=this._name,n=this._id;typeof t!="function"&&(t=ia(t));for(var r=this._groups,o=r.length,i=new Array(o),s=0;s<o;++s)for(var a=r[s],c=a.length,f=i[s]=new Array(c),u,p,l=0;l<c;++l)(u=a[l])&&(p=t.call(u,u.__data__,l,a))&&("__data__"in u&&(p.__data__=u.__data__),f[l]=p,Hi(f[l],e,n,l,f,Ie(u,n)));return new An(i,this._parents,e,n)}function i8(t){var e=this._name,n=this._id;typeof t!="function"&&(t=gl(t));for(var r=this._groups,o=r.length,i=[],s=[],a=0;a<o;++a)for(var c=r[a],f=c.length,u,p=0;p<f;++p)if(u=c[p]){for(var l=t.call(u,u.__data__,p,c),h,d=Ie(u,n),m=0,g=l.length;m<g;++m)(h=l[m])&&Hi(h,e,n,m,l,d);i.push(l),s.push(u)}return new An(i,s,e,n)}var lO=Jo.prototype.constructor;function s8(){return new lO(this._groups,this._parents)}function pO(t,e){var n,r,o;return function(){var i=Wi(this,t),s=(this.style.removeProperty(t),Wi(this,t));return i===s?null:i===n&&s===r?o:o=e(n=i,r=s)}}function a8(t){return function(){this.style.removeProperty(t)}}function hO(t,e,n){var r,o=n+"",i;return function(){var s=Wi(this,t);return s===o?null:s===r?i:i=e(r=s,n)}}function dO(t,e,n){var r,o,i;return function(){var s=Wi(this,t),a=n(this),c=a+"";return a==null&&(c=a=(this.style.removeProperty(t),Wi(this,t))),s===c?null:s===r&&c===o?i:(o=c,i=e(r=s,a))}}function mO(t,e){var n,r,o,i="style."+e,s="end."+i,a;return function(){var c=Qe(this,t),f=c.on,u=c.value[i]==null?a||(a=a8(e)):void 0;(f!==n||o!==u)&&(r=(n=f).copy()).on(s,o=u),c.on=r}}function c8(t,e,n){var r=(t+="")=="transform"?B2:N0;return e==null?this.styleTween(t,pO(t,r)).on("end.style."+t,a8(t)):typeof e=="function"?this.styleTween(t,dO(t,r,zc(this,"style."+t,e))).each(mO(this._id,t)):this.styleTween(t,hO(t,r,e),n).on("end.style."+t,null)}function gO(t,e,n){return function(r){this.style.setProperty(t,e.call(this,r),n)}}function yO(t,e,n){var r,o;function i(){var s=e.apply(this,arguments);return s!==o&&(r=(o=s)&&gO(t,s,n)),r}return i._value=e,i}function f8(t,e,n){var r="style."+(t+="");if(arguments.length<2)return(r=this.tween(r))&&r._value;if(e==null)return this.tween(r,null);if(typeof e!="function")throw new Error;return this.tween(r,yO(t,e,n??""))}function xO(t){return function(){this.textContent=t}}function bO(t){return function(){var e=t(this);this.textContent=e??""}}function u8(t){return this.tween("text",typeof t=="function"?bO(zc(this,"text",t)):xO(t==null?"":t+""))}function wO(t){return function(e){this.textContent=t.call(this,e)}}function vO(t){var e,n;function r(){var o=t.apply(this,arguments);return o!==n&&(e=(n=o)&&wO(o)),e}return r._value=t,r}function l8(t){var e="text";if(arguments.length<1)return(e=this.tween(e))&&e._value;if(t==null)return this.tween(e,null);if(typeof t!="function")throw new Error;return this.tween(e,vO(t))}function p8(){for(var t=this._name,e=this._id,n=k0(),r=this._groups,o=r.length,i=0;i<o;++i)for(var s=r[i],a=s.length,c,f=0;f<a;++f)if(c=s[f]){var u=Ie(c,e);Hi(c,t,n,f,s,{time:u.time+u.delay+u.duration,delay:0,duration:u.duration,ease:u.ease})}return new An(r,this._parents,t,n)}function h8(){var t,e,n=this,r=n._id,o=n.size();return new Promise(function(i,s){var a={value:s},c={value:function(){--o===0&&i()}};n.each(function(){var f=Qe(this,r),u=f.on;u!==t&&(e=(t=u).copy(),e._.cancel.push(a),e._.interrupt.push(a),e._.end.push(c)),f.on=e}),o===0&&i()})}var _O=0;function An(t,e,n,r){this._groups=t,this._parents=e,this._name=n,this._id=r}function d8(t){return Jo().transition(t)}function k0(){return++_O}var ni=Jo.prototype;An.prototype=d8.prototype={constructor:An,select:o8,selectAll:i8,selectChild:ni.selectChild,selectChildren:ni.selectChildren,filter:t8,merge:e8,selection:s8,transition:p8,call:ni.call,nodes:ni.nodes,node:ni.node,size:ni.size,empty:ni.empty,each:ni.each,on:n8,attr:VM,attrTween:HM,style:c8,styleTween:f8,text:u8,textTween:l8,remove:r8,tween:GM,delay:QM,duration:ZM,ease:KM,easeVarying:JM,end:h8,[Symbol.iterator]:ni[Symbol.iterator]};function R0(t){return((t*=2)<=1?t*t*t:(t-=2)*t*t+2)/2}var MO={time:null,delay:0,duration:250,ease:R0};function SO(t,e){for(var n;!(n=t.__transition)||!(n=n[e]);)if(!(t=t.parentNode))throw new Error(`transition ${e} not found`);return n}function m8(t){var e,n;t instanceof An?(e=t._id,t=t._name):(e=k0(),(n=MO).time=Rl(),t=t==null?null:t+"");for(var r=this._groups,o=r.length,i=0;i<o;++i)for(var s=r[i],a=s.length,c,f=0;f<a;++f)(c=s[f])&&Hi(c,t,e,f,s,n||SO(c,e));return new An(r,this._parents,t,e)}Jo.prototype.interrupt=WM;Jo.prototype.transition=m8;var L0=t=>()=>t;function W2(t,{sourceEvent:e,target:n,selection:r,mode:o,dispatch:i}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:e,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},selection:{value:r,enumerable:!0,configurable:!0},mode:{value:o,enumerable:!0,configurable:!0},_:{value:i}})}function g8(t){t.stopImmediatePropagation()}function O0(t){t.preventDefault(),t.stopImmediatePropagation()}var y8={name:"drag"},G2={name:"space"},Yc={name:"handle"},Uc={name:"center"},{abs:x8,max:an,min:cn}=Math;function b8(t){return[+t[0],+t[1]]}function H2(t){return[b8(t[0]),b8(t[1])]}var $0={name:"x",handles:["w","e"].map($l),input:function(t,e){return t==null?null:[[+t[0],e[0][1]],[+t[1],e[1][1]]]},output:function(t){return t&&[t[0][0],t[1][0]]}},D0={name:"y",handles:["n","s"].map($l),input:function(t,e){return t==null?null:[[e[0][0],+t[0]],[e[1][0],+t[1]]]},output:function(t){return t&&[t[0][1],t[1][1]]}},AO={name:"xy",handles:["n","w","e","s","nw","ne","sw","se"].map($l),input:function(t){return t==null?null:H2(t)},output:function(t){return t}},ri={overlay:"crosshair",selection:"move",n:"ns-resize",e:"ew-resize",s:"ns-resize",w:"ew-resize",nw:"nwse-resize",ne:"nesw-resize",se:"nwse-resize",sw:"nesw-resize"},w8={e:"w",w:"e",nw:"ne",ne:"nw",se:"sw",sw:"se"},v8={n:"s",s:"n",nw:"sw",ne:"se",se:"ne",sw:"nw"},EO={overlay:1,selection:1,n:null,e:1,s:null,w:-1,nw:-1,ne:1,se:1,sw:-1},TO={overlay:1,selection:1,n:-1,e:null,s:1,w:null,nw:-1,ne:-1,se:1,sw:1};function $l(t){return{type:t}}function IO(t){return!t.ctrlKey&&!t.button}function CO(){var t=this.ownerSVGElement||this;return t.hasAttribute("viewBox")?(t=t.viewBox.baseVal,[[t.x,t.y],[t.x+t.width,t.y+t.height]]):[[0,0],[t.width.baseVal.value,t.height.baseVal.value]]}function NO(){return navigator.maxTouchPoints||"ontouchstart"in this}function V2(t){for(;!t.__brush;)if(!(t=t.parentNode))return;return t.__brush}function kO(t){return t[0][0]===t[1][0]||t[0][1]===t[1][1]}function Q2(){return J2($0)}function Z2(){return J2(D0)}function K2(){return J2(AO)}function J2(t){var e=CO,n=IO,r=NO,o=!0,i=oa("start","brush","end"),s=6,a;function c(g){var y=g.property("__brush",m).selectAll(".overlay").data([$l("overlay")]);y.enter().append("rect").attr("class","overlay").attr("pointer-events","all").attr("cursor",ri.overlay).merge(y).each(function(){var b=V2(this).extent;Et(this).attr("x",b[0][0]).attr("y",b[0][1]).attr("width",b[1][0]-b[0][0]).attr("height",b[1][1]-b[0][1])}),g.selectAll(".selection").data([$l("selection")]).enter().append("rect").attr("class","selection").attr("cursor",ri.selection).attr("fill","#777").attr("fill-opacity",.3).attr("stroke","#fff").attr("shape-rendering","crispEdges");var x=g.selectAll(".handle").data(t.handles,function(b){return b.type});x.exit().remove(),x.enter().append("rect").attr("class",function(b){return"handle handle--"+b.type}).attr("cursor",function(b){return ri[b.type]}),g.each(f).attr("fill","none").attr("pointer-events","all").on("mousedown.brush",l).filter(r).on("touchstart.brush",l).on("touchmove.brush",h).on("touchend.brush touchcancel.brush",d).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}c.move=function(g,y,x){g.tween?g.on("start.brush",function(b){u(this,arguments).beforestart().start(b)}).on("interrupt.brush end.brush",function(b){u(this,arguments).end(b)}).tween("brush",function(){var b=this,w=b.__brush,_=u(b,arguments),v=w.selection,M=t.input(typeof y=="function"?y.apply(this,arguments):y,w.extent),E=Wn(v,M);function T(I){w.selection=I===1&&M===null?null:E(I),f.call(b),_.brush()}return v!==null&&M!==null?T:T(1)}):g.each(function(){var b=this,w=arguments,_=b.__brush,v=t.input(typeof y=="function"?y.apply(b,w):y,_.extent),M=u(b,w).beforestart();ro(b),_.selection=v===null?null:v,f.call(b),M.start(x).brush(x).end(x)})},c.clear=function(g,y){c.move(g,null,y)};function f(){var g=Et(this),y=V2(this).selection;y?(g.selectAll(".selection").style("display",null).attr("x",y[0][0]).attr("y",y[0][1]).attr("width",y[1][0]-y[0][0]).attr("height",y[1][1]-y[0][1]),g.selectAll(".handle").style("display",null).attr("x",function(x){return x.type[x.type.length-1]==="e"?y[1][0]-s/2:y[0][0]-s/2}).attr("y",function(x){return x.type[0]==="s"?y[1][1]-s/2:y[0][1]-s/2}).attr("width",function(x){return x.type==="n"||x.type==="s"?y[1][0]-y[0][0]+s:s}).attr("height",function(x){return x.type==="e"||x.type==="w"?y[1][1]-y[0][1]+s:s})):g.selectAll(".selection,.handle").style("display","none").attr("x",null).attr("y",null).attr("width",null).attr("height",null)}function u(g,y,x){var b=g.__brush.emitter;return b&&(!x||!b.clean)?b:new p(g,y,x)}function p(g,y,x){this.that=g,this.args=y,this.state=g.__brush,this.active=0,this.clean=x}p.prototype={beforestart:function(){return++this.active===1&&(this.state.emitter=this,this.starting=!0),this},start:function(g,y){return this.starting?(this.starting=!1,this.emit("start",g,y)):this.emit("brush",g),this},brush:function(g,y){return this.emit("brush",g,y),this},end:function(g,y){return--this.active===0&&(delete this.state.emitter,this.emit("end",g,y)),this},emit:function(g,y,x){var b=Et(this.that).datum();i.call(g,this.that,new W2(g,{sourceEvent:y,target:c,selection:t.output(this.state.selection),mode:x,dispatch:i}),b)}};function l(g){if(a&&!g.touches||!n.apply(this,arguments))return;var y=this,x=g.target.__data__.type,b=(o&&g.metaKey?x="overlay":x)==="selection"?y8:o&&g.altKey?Uc:Yc,w=t===D0?null:EO[x],_=t===$0?null:TO[x],v=V2(y),M=v.extent,E=v.selection,T=M[0][0],I,A,k=M[0][1],L,S,C=M[1][0],N,R,$=M[1][1],O,D,F=0,P=0,W,K=w&&_&&o&&g.shiftKey,tt,nt,U=Array.from(g.touches||[g],Q=>{let qt=Q.identifier;return Q=on(Q,y),Q.point0=Q.slice(),Q.identifier=qt,Q});ro(y);var et=u(y,arguments,!0).beforestart();if(x==="overlay"){E&&(W=!0);let Q=[U[0],U[1]||U[0]];v.selection=E=[[I=t===D0?T:cn(Q[0][0],Q[1][0]),L=t===$0?k:cn(Q[0][1],Q[1][1])],[N=t===D0?C:an(Q[0][0],Q[1][0]),O=t===$0?$:an(Q[0][1],Q[1][1])]],U.length>1&&bt(g)}else I=E[0][0],L=E[0][1],N=E[1][0],O=E[1][1];A=I,S=L,R=N,D=O;var z=Et(y).attr("pointer-events","none"),G=z.selectAll(".overlay").attr("cursor",ri[x]);if(g.touches)et.moved=q,et.ended=st;else{var J=Et(g.view).on("mousemove.brush",q,!0).on("mouseup.brush",st,!0);o&&J.on("keydown.brush",Tt,!0).on("keyup.brush",Ct,!0),bl(g.view)}f.call(y),et.start(g,b.name);function q(Q){for(let qt of Q.changedTouches||[Q])for(let zn of U)zn.identifier===qt.identifier&&(zn.cur=on(qt,y));if(K&&!tt&&!nt&&U.length===1){let qt=U[0];x8(qt.cur[0]-qt[0])>x8(qt.cur[1]-qt[1])?nt=!0:tt=!0}for(let qt of U)qt.cur&&(qt[0]=qt.cur[0],qt[1]=qt.cur[1]);W=!0,O0(Q),bt(Q)}function bt(Q){let qt=U[0],zn=qt.point0;var Yr;switch(F=qt[0]-zn[0],P=qt[1]-zn[1],b){case G2:case y8:{w&&(F=an(T-I,cn(C-N,F)),A=I+F,R=N+F),_&&(P=an(k-L,cn($-O,P)),S=L+P,D=O+P);break}case Yc:{U[1]?(w&&(A=an(T,cn(C,U[0][0])),R=an(T,cn(C,U[1][0])),w=1),_&&(S=an(k,cn($,U[0][1])),D=an(k,cn($,U[1][1])),_=1)):(w<0?(F=an(T-I,cn(C-I,F)),A=I+F,R=N):w>0&&(F=an(T-N,cn(C-N,F)),A=I,R=N+F),_<0?(P=an(k-L,cn($-L,P)),S=L+P,D=O):_>0&&(P=an(k-O,cn($-O,P)),S=L,D=O+P));break}case Uc:{w&&(A=an(T,cn(C,I-F*w)),R=an(T,cn(C,N+F*w))),_&&(S=an(k,cn($,L-P*_)),D=an(k,cn($,O+P*_)));break}}R<A&&(w*=-1,Yr=I,I=N,N=Yr,Yr=A,A=R,R=Yr,x in w8&&G.attr("cursor",ri[x=w8[x]])),D<S&&(_*=-1,Yr=L,L=O,O=Yr,Yr=S,S=D,D=Yr,x in v8&&G.attr("cursor",ri[x=v8[x]])),v.selection&&(E=v.selection),tt&&(A=E[0][0],R=E[1][0]),nt&&(S=E[0][1],D=E[1][1]),(E[0][0]!==A||E[0][1]!==S||E[1][0]!==R||E[1][1]!==D)&&(v.selection=[[A,S],[R,D]],f.call(y),et.brush(Q,b.name))}function st(Q){if(g8(Q),Q.touches){if(Q.touches.length)return;a&&clearTimeout(a),a=setTimeout(function(){a=null},500)}else wl(Q.view,W),J.on("keydown.brush keyup.brush mousemove.brush mouseup.brush",null);z.attr("pointer-events","all"),G.attr("cursor",ri.overlay),v.selection&&(E=v.selection),kO(E)&&(v.selection=null,f.call(y)),et.end(Q,b.name)}function Tt(Q){switch(Q.keyCode){case 16:{K=w&&_;break}case 18:{b===Yc&&(w&&(N=R-F*w,I=A+F*w),_&&(O=D-P*_,L=S+P*_),b=Uc,bt(Q));break}case 32:{(b===Yc||b===Uc)&&(w<0?N=R-F:w>0&&(I=A-F),_<0?O=D-P:_>0&&(L=S-P),b=G2,G.attr("cursor",ri.selection),bt(Q));break}default:return}O0(Q)}function Ct(Q){switch(Q.keyCode){case 16:{K&&(tt=nt=K=!1,bt(Q));break}case 18:{b===Uc&&(w<0?N=R:w>0&&(I=A),_<0?O=D:_>0&&(L=S),b=Yc,bt(Q));break}case 32:{b===G2&&(Q.altKey?(w&&(N=R-F*w,I=A+F*w),_&&(O=D-P*_,L=S+P*_),b=Uc):(w<0?N=R:w>0&&(I=A),_<0?O=D:_>0&&(L=S),b=Yc),G.attr("cursor",ri[x]),bt(Q));break}default:return}O0(Q)}}function h(g){u(this,arguments).moved(g)}function d(g){u(this,arguments).ended(g)}function m(){var g=this.__brush||{selection:null};return g.extent=H2(e.apply(this,arguments)),g.dim=t,g}return c.extent=function(g){return arguments.length?(e=typeof g=="function"?g:L0(H2(g)),c):e},c.filter=function(g){return arguments.length?(n=typeof g=="function"?g:L0(!!g),c):n},c.touchable=function(g){return arguments.length?(r=typeof g=="function"?g:L0(!!g),c):r},c.handleSize=function(g){return arguments.length?(s=+g,c):s},c.keyModifiers=function(g){return arguments.length?(o=!!g,c):o},c.on=function(){var g=i.on.apply(i,arguments);return g===i?c:g},c}var tw=Math.PI,ew=2*tw,pa=1e-6,RO=ew-pa;function _8(t){this._+=t[0];for(let e=1,n=t.length;e<n;++e)this._+=arguments[e]+t[e]}function LO(t){let e=Math.floor(t);if(!(e>=0))throw new Error(`invalid digits: ${t}`);if(e>15)return _8;let n=10**e;return function(r){this._+=r[0];for(let o=1,i=r.length;o<i;++o)this._+=Math.round(arguments[o]*n)/n+r[o]}}var Qi=class{constructor(e){this._x0=this._y0=this._x1=this._y1=null,this._="",this._append=e==null?_8:LO(e)}moveTo(e,n){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+n}`}closePath(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._append`Z`)}lineTo(e,n){this._append`L${this._x1=+e},${this._y1=+n}`}quadraticCurveTo(e,n,r,o){this._append`Q${+e},${+n},${this._x1=+r},${this._y1=+o}`}bezierCurveTo(e,n,r,o,i,s){this._append`C${+e},${+n},${+r},${+o},${this._x1=+i},${this._y1=+s}`}arcTo(e,n,r,o,i){if(e=+e,n=+n,r=+r,o=+o,i=+i,i<0)throw new Error(`negative radius: ${i}`);let s=this._x1,a=this._y1,c=r-e,f=o-n,u=s-e,p=a-n,l=u*u+p*p;if(this._x1===null)this._append`M${this._x1=e},${this._y1=n}`;else if(l>pa)if(!(Math.abs(p*c-f*u)>pa)||!i)this._append`L${this._x1=e},${this._y1=n}`;else{let h=r-s,d=o-a,m=c*c+f*f,g=h*h+d*d,y=Math.sqrt(m),x=Math.sqrt(l),b=i*Math.tan((tw-Math.acos((m+l-g)/(2*y*x)))/2),w=b/x,_=b/y;Math.abs(w-1)>pa&&this._append`L${e+w*u},${n+w*p}`,this._append`A${i},${i},0,0,${+(p*h>u*d)},${this._x1=e+_*c},${this._y1=n+_*f}`}}arc(e,n,r,o,i,s){if(e=+e,n=+n,r=+r,s=!!s,r<0)throw new Error(`negative radius: ${r}`);let a=r*Math.cos(o),c=r*Math.sin(o),f=e+a,u=n+c,p=1^s,l=s?o-i:i-o;this._x1===null?this._append`M${f},${u}`:(Math.abs(this._x1-f)>pa||Math.abs(this._y1-u)>pa)&&this._append`L${f},${u}`,r&&(l<0&&(l=l%ew+ew),l>RO?this._append`A${r},${r},0,1,${p},${e-a},${n-c}A${r},${r},0,1,${p},${this._x1=f},${this._y1=u}`:l>pa&&this._append`A${r},${r},0,${+(l>=tw)},${p},${this._x1=e+r*Math.cos(i)},${this._y1=n+r*Math.sin(i)}`)}rect(e,n,r,o){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+n}h${r=+r}v${+o}h${-r}Z`}toString(){return this._}};function M8(){return new Qi}M8.prototype=Qi.prototype;function En(t=3){return new Qi(+t)}var OO=Array.prototype,F0=OO.slice;function S8(t,e){return t-e}function A8(t){for(var e=0,n=t.length,r=t[n-1][1]*t[0][0]-t[n-1][0]*t[0][1];++e<n;)r+=t[e-1][1]*t[e][0]-t[e-1][0]*t[e][1];return r}var oo=t=>()=>t;function E8(t,e){for(var n=-1,r=e.length,o;++n<r;)if(o=$O(t,e[n]))return o;return 0}function $O(t,e){for(var n=e[0],r=e[1],o=-1,i=0,s=t.length,a=s-1;i<s;a=i++){var c=t[i],f=c[0],u=c[1],p=t[a],l=p[0],h=p[1];if(DO(c,p,e))return 0;u>r!=h>r&&n<(l-f)*(r-u)/(h-u)+f&&(o=-o)}return o}function DO(t,e,n){var r;return FO(t,e,n)&&PO(t[r=+(t[0]===e[0])],n[r],e[r])}function FO(t,e,n){return(e[0]-t[0])*(n[1]-t[1])===(n[0]-t[0])*(e[1]-t[1])}function PO(t,e,n){return t<=e&&e<=n||n<=e&&e<=t}function T8(){}var oi=[[],[[[1,1.5],[.5,1]]],[[[1.5,1],[1,1.5]]],[[[1.5,1],[.5,1]]],[[[1,.5],[1.5,1]]],[[[1,1.5],[.5,1]],[[1,.5],[1.5,1]]],[[[1,.5],[1,1.5]]],[[[1,.5],[.5,1]]],[[[.5,1],[1,.5]]],[[[1,1.5],[1,.5]]],[[[.5,1],[1,.5]],[[1.5,1],[1,1.5]]],[[[1.5,1],[1,.5]]],[[[.5,1],[1.5,1]]],[[[1,1.5],[1.5,1]]],[[[.5,1],[1,1.5]]],[]];function Zi(){var t=1,e=1,n=ji,r=c;function o(f){var u=n(f);if(Array.isArray(u))u=u.slice().sort(S8);else{let p=Ot(f,qO);for(u=He(...kc(p[0],p[1],u),u);u[u.length-1]>=p[1];)u.pop();for(;u[1]<p[0];)u.shift()}return u.map(p=>i(f,p))}function i(f,u){let p=u==null?NaN:+u;if(isNaN(p))throw new Error(`invalid value: ${u}`);var l=[],h=[];return s(f,p,function(d){r(d,f,p),A8(d)>0?l.push([d]):h.push(d)}),h.forEach(function(d){for(var m=0,g=l.length,y;m<g;++m)if(E8((y=l[m])[0],d)!==-1){y.push(d);return}}),{type:"MultiPolygon",value:u,coordinates:l}}function s(f,u,p){var l=new Array,h=new Array,d,m,g,y,x,b;for(d=m=-1,y=ha(f[0],u),oi[y<<1].forEach(w);++d<t-1;)g=y,y=ha(f[d+1],u),oi[g|y<<1].forEach(w);for(oi[y<<0].forEach(w);++m<e-1;){for(d=-1,y=ha(f[m*t+t],u),x=ha(f[m*t],u),oi[y<<1|x<<2].forEach(w);++d<t-1;)g=y,y=ha(f[m*t+t+d+1],u),b=x,x=ha(f[m*t+d+1],u),oi[g|y<<1|x<<2|b<<3].forEach(w);oi[y|x<<3].forEach(w)}for(d=-1,x=f[m*t]>=u,oi[x<<2].forEach(w);++d<t-1;)b=x,x=ha(f[m*t+d+1],u),oi[x<<2|b<<3].forEach(w);oi[x<<3].forEach(w);function w(_){var v=[_[0][0]+d,_[0][1]+m],M=[_[1][0]+d,_[1][1]+m],E=a(v),T=a(M),I,A;(I=h[E])?(A=l[T])?(delete h[I.end],delete l[A.start],I===A?(I.ring.push(M),p(I.ring)):l[I.start]=h[A.end]={start:I.start,end:A.end,ring:I.ring.concat(A.ring)}):(delete h[I.end],I.ring.push(M),h[I.end=T]=I):(I=l[T])?(A=h[E])?(delete l[I.start],delete h[A.end],I===A?(I.ring.push(M),p(I.ring)):l[A.start]=h[I.end]={start:A.start,end:I.end,ring:A.ring.concat(I.ring)}):(delete l[I.start],I.ring.unshift(v),l[I.start=E]=I):l[E]=h[T]={start:E,end:T,ring:[v,M]}}}function a(f){return f[0]*2+f[1]*(t+1)*4}function c(f,u,p){f.forEach(function(l){var h=l[0],d=l[1],m=h|0,g=d|0,y=nw(u[g*t+m]);h>0&&h<t&&m===h&&(l[0]=I8(h,nw(u[g*t+m-1]),y,p)),d>0&&d<e&&g===d&&(l[1]=I8(d,nw(u[(g-1)*t+m]),y,p))})}return o.contour=i,o.size=function(f){if(!arguments.length)return[t,e];var u=Math.floor(f[0]),p=Math.floor(f[1]);if(!(u>=0&&p>=0))throw new Error("invalid size");return t=u,e=p,o},o.thresholds=function(f){return arguments.length?(n=typeof f=="function"?f:Array.isArray(f)?oo(F0.call(f)):oo(f),o):n},o.smooth=function(f){return arguments.length?(r=f?c:T8,o):r===c},o}function qO(t){return isFinite(t)?t:NaN}function ha(t,e){return t==null?!1:+t>=e}function nw(t){return t==null||isNaN(t=+t)?-1/0:t}function I8(t,e,n,r){let o=r-e,i=n-e,s=isFinite(o)||isFinite(i)?o/i:Math.sign(o)/Math.sign(i);return isNaN(s)?t:t+s-.5}function BO(t){return t[0]}function zO(t){return t[1]}function YO(){return 1}function rw(){var t=BO,e=zO,n=YO,r=960,o=500,i=20,s=2,a=i*3,c=r+a*2>>s,f=o+a*2>>s,u=oo(20);function p(x){var b=new Float32Array(c*f),w=Math.pow(2,-s),_=-1;for(let L of x){var v=(t(L,++_,x)+a)*w,M=(e(L,_,x)+a)*w,E=+n(L,_,x);if(E&&v>=0&&v<c&&M>=0&&M<f){var T=Math.floor(v),I=Math.floor(M),A=v-T-.5,k=M-I-.5;b[T+I*c]+=(1-A)*(1-k)*E,b[T+1+I*c]+=A*(1-k)*E,b[T+1+(I+1)*c]+=A*k*E,b[T+(I+1)*c]+=(1-A)*k*E}}return ul({data:b,width:c,height:f},i*w),b}function l(x){var b=p(x),w=u(b),_=Math.pow(2,2*s);return Array.isArray(w)||(w=He(Number.MIN_VALUE,Mt(b)/_,w)),Zi().size([c,f]).thresholds(w.map(v=>v*_))(b).map((v,M)=>(v.value=+w[M],h(v)))}l.contours=function(x){var b=p(x),w=Zi().size([c,f]),_=Math.pow(2,2*s),v=M=>{M=+M;var E=h(w.contour(b,M*_));return E.value=M,E};return Object.defineProperty(v,"max",{get:()=>Mt(b)/_}),v};function h(x){return x.coordinates.forEach(d),x}function d(x){x.forEach(m)}function m(x){x.forEach(g)}function g(x){x[0]=x[0]*Math.pow(2,s)-a,x[1]=x[1]*Math.pow(2,s)-a}function y(){return a=i*3,c=r+a*2>>s,f=o+a*2>>s,l}return l.x=function(x){return arguments.length?(t=typeof x=="function"?x:oo(+x),l):t},l.y=function(x){return arguments.length?(e=typeof x=="function"?x:oo(+x),l):e},l.weight=function(x){return arguments.length?(n=typeof x=="function"?x:oo(+x),l):n},l.size=function(x){if(!arguments.length)return[r,o];var b=+x[0],w=+x[1];if(!(b>=0&&w>=0))throw new Error("invalid size");return r=b,o=w,y()},l.cellSize=function(x){if(!arguments.length)return 1<<s;if(!((x=+x)>=1))throw new Error("invalid cell size");return s=Math.floor(Math.log(x)/Math.LN2),y()},l.thresholds=function(x){return arguments.length?(u=typeof x=="function"?x:Array.isArray(x)?oo(F0.call(x)):oo(x),l):u},l.bandwidth=function(x){if(!arguments.length)return Math.sqrt(i*(i+1));if(!((x=+x)>=0))throw new Error("invalid bandwidth");return i=(Math.sqrt(4*x*x+1)-1)/2,y()},l}var kt=11102230246251565e-32,ye=134217729,Dl=(3+8*kt)*kt;function da(t,e,n,r,o){let i,s,a,c,f=e[0],u=r[0],p=0,l=0;u>f==u>-f?(i=f,f=e[++p]):(i=u,u=r[++l]);let h=0;if(p<t&&l<n)for(u>f==u>-f?(s=f+i,a=i-(s-f),f=e[++p]):(s=u+i,a=i-(s-u),u=r[++l]),i=s,a!==0&&(o[h++]=a);p<t&&l<n;)u>f==u>-f?(s=i+f,c=s-i,a=i-(s-c)+(f-c),f=e[++p]):(s=i+u,c=s-i,a=i-(s-c)+(u-c),u=r[++l]),i=s,a!==0&&(o[h++]=a);for(;p<t;)s=i+f,c=s-i,a=i-(s-c)+(f-c),f=e[++p],i=s,a!==0&&(o[h++]=a);for(;l<n;)s=i+u,c=s-i,a=i-(s-c)+(u-c),u=r[++l],i=s,a!==0&&(o[h++]=a);return(i!==0||h===0)&&(o[h++]=i),h}function Fl(t,e){let n=e[0];for(let r=1;r<t;r++)n+=e[r];return n}function Y(t){return new Float64Array(t)}var UO=(3+16*kt)*kt,jO=(2+12*kt)*kt,XO=(9+64*kt)*kt*kt,jc=Y(4),C8=Y(8),N8=Y(12),k8=Y(16),Tn=Y(4);function WO(t,e,n,r,o,i,s){let a,c,f,u,p,l,h,d,m,g,y,x,b,w,_,v,M,E,T=t-o,I=n-o,A=e-i,k=r-i;w=T*k,l=ye*T,h=l-(l-T),d=T-h,l=ye*k,m=l-(l-k),g=k-m,_=d*g-(w-h*m-d*m-h*g),v=A*I,l=ye*A,h=l-(l-A),d=A-h,l=ye*I,m=l-(l-I),g=I-m,M=d*g-(v-h*m-d*m-h*g),y=_-M,p=_-y,jc[0]=_-(y+p)+(p-M),x=w+y,p=x-w,b=w-(x-p)+(y-p),y=b-v,p=b-y,jc[1]=b-(y+p)+(p-v),E=x+y,p=E-x,jc[2]=x-(E-p)+(y-p),jc[3]=E;let L=Fl(4,jc),S=jO*s;if(L>=S||-L>=S||(p=t-T,a=t-(T+p)+(p-o),p=n-I,f=n-(I+p)+(p-o),p=e-A,c=e-(A+p)+(p-i),p=r-k,u=r-(k+p)+(p-i),a===0&&c===0&&f===0&&u===0)||(S=XO*s+Dl*Math.abs(L),L+=T*u+k*a-(A*f+I*c),L>=S||-L>=S))return L;w=a*k,l=ye*a,h=l-(l-a),d=a-h,l=ye*k,m=l-(l-k),g=k-m,_=d*g-(w-h*m-d*m-h*g),v=c*I,l=ye*c,h=l-(l-c),d=c-h,l=ye*I,m=l-(l-I),g=I-m,M=d*g-(v-h*m-d*m-h*g),y=_-M,p=_-y,Tn[0]=_-(y+p)+(p-M),x=w+y,p=x-w,b=w-(x-p)+(y-p),y=b-v,p=b-y,Tn[1]=b-(y+p)+(p-v),E=x+y,p=E-x,Tn[2]=x-(E-p)+(y-p),Tn[3]=E;let C=da(4,jc,4,Tn,C8);w=T*u,l=ye*T,h=l-(l-T),d=T-h,l=ye*u,m=l-(l-u),g=u-m,_=d*g-(w-h*m-d*m-h*g),v=A*f,l=ye*A,h=l-(l-A),d=A-h,l=ye*f,m=l-(l-f),g=f-m,M=d*g-(v-h*m-d*m-h*g),y=_-M,p=_-y,Tn[0]=_-(y+p)+(p-M),x=w+y,p=x-w,b=w-(x-p)+(y-p),y=b-v,p=b-y,Tn[1]=b-(y+p)+(p-v),E=x+y,p=E-x,Tn[2]=x-(E-p)+(y-p),Tn[3]=E;let N=da(C,C8,4,Tn,N8);w=a*u,l=ye*a,h=l-(l-a),d=a-h,l=ye*u,m=l-(l-u),g=u-m,_=d*g-(w-h*m-d*m-h*g),v=c*f,l=ye*c,h=l-(l-c),d=c-h,l=ye*f,m=l-(l-f),g=f-m,M=d*g-(v-h*m-d*m-h*g),y=_-M,p=_-y,Tn[0]=_-(y+p)+(p-M),x=w+y,p=x-w,b=w-(x-p)+(y-p),y=b-v,p=b-y,Tn[1]=b-(y+p)+(p-v),E=x+y,p=E-x,Tn[2]=x-(E-p)+(y-p),Tn[3]=E;let R=da(N,N8,4,Tn,k8);return k8[R-1]}function Xc(t,e,n,r,o,i){let s=(e-i)*(n-o),a=(t-o)*(r-i),c=s-a,f=Math.abs(s+a);return Math.abs(c)>=UO*f?c:-WO(t,e,n,r,o,i,f)}var dht=(7+56*kt)*kt,mht=(3+28*kt)*kt,ght=(26+288*kt)*kt*kt,yht=Y(4),xht=Y(4),bht=Y(4),wht=Y(4),vht=Y(4),_ht=Y(4),Mht=Y(4),Sht=Y(4),Aht=Y(4),Eht=Y(8),Tht=Y(8),Iht=Y(8),Cht=Y(4),Nht=Y(8),kht=Y(8),Rht=Y(8),Lht=Y(12),Oht=Y(192),$ht=Y(192);var Pht=(10+96*kt)*kt,qht=(4+48*kt)*kt,Bht=(44+576*kt)*kt*kt,zht=Y(4),Yht=Y(4),Uht=Y(4),jht=Y(4),Xht=Y(4),Wht=Y(4),Ght=Y(4),Vht=Y(4),Hht=Y(8),Qht=Y(8),Zht=Y(8),Kht=Y(8),Jht=Y(8),tdt=Y(8),edt=Y(8),ndt=Y(8),rdt=Y(8),odt=Y(4),idt=Y(4),sdt=Y(4),adt=Y(8),cdt=Y(16),fdt=Y(16),udt=Y(16),ldt=Y(32),pdt=Y(32),hdt=Y(48),ddt=Y(64),mdt=Y(1152),gdt=Y(1152);var wdt=(16+224*kt)*kt,vdt=(5+72*kt)*kt,_dt=(71+1408*kt)*kt*kt,Mdt=Y(4),Sdt=Y(4),Adt=Y(4),Edt=Y(4),Tdt=Y(4),Idt=Y(4),Cdt=Y(4),Ndt=Y(4),kdt=Y(4),Rdt=Y(4),Ldt=Y(24),Odt=Y(24),$dt=Y(24),Ddt=Y(24),Fdt=Y(24),Pdt=Y(24),qdt=Y(24),Bdt=Y(24),zdt=Y(24),Ydt=Y(24),Udt=Y(1152),jdt=Y(1152),Xdt=Y(1152),Wdt=Y(1152),Gdt=Y(1152),Vdt=Y(2304),Hdt=Y(2304),Qdt=Y(3456),Zdt=Y(5760),Kdt=Y(8),Jdt=Y(8),tmt=Y(8),emt=Y(16),nmt=Y(24),rmt=Y(48),omt=Y(48),imt=Y(96),smt=Y(192),amt=Y(384),cmt=Y(384),fmt=Y(384),umt=Y(768);var lmt=Y(96),pmt=Y(96),hmt=Y(96),dmt=Y(1152);var L8=Math.pow(2,-52),P0=new Uint32Array(512),Gc=class t{static from(e,n=KO,r=JO){let o=e.length,i=new Float64Array(o*2);for(let s=0;s<o;s++){let a=e[s];i[2*s]=n(a),i[2*s+1]=r(a)}return new t(i)}constructor(e){let n=e.length>>1;if(n>0&&typeof e[0]!="number")throw new Error("Expected coords to contain numbers.");this.coords=e;let r=Math.max(2*n-5,0);this._triangles=new Uint32Array(r*3),this._halfedges=new Int32Array(r*3),this._hashSize=Math.ceil(Math.sqrt(n)),this._hullPrev=new Uint32Array(n),this._hullNext=new Uint32Array(n),this._hullTri=new Uint32Array(n),this._hullHash=new Int32Array(this._hashSize),this._ids=new Uint32Array(n),this._dists=new Float64Array(n),this.update()}update(){let{coords:e,_hullPrev:n,_hullNext:r,_hullTri:o,_hullHash:i}=this,s=e.length>>1,a=1/0,c=1/0,f=-1/0,u=-1/0;for(let T=0;T<s;T++){let I=e[2*T],A=e[2*T+1];I<a&&(a=I),A<c&&(c=A),I>f&&(f=I),A>u&&(u=A),this._ids[T]=T}let p=(a+f)/2,l=(c+u)/2,h,d,m;for(let T=0,I=1/0;T<s;T++){let A=ow(p,l,e[2*T],e[2*T+1]);A<I&&(h=T,I=A)}let g=e[2*h],y=e[2*h+1];for(let T=0,I=1/0;T<s;T++){if(T===h)continue;let A=ow(g,y,e[2*T],e[2*T+1]);A<I&&A>0&&(d=T,I=A)}let x=e[2*d],b=e[2*d+1],w=1/0;for(let T=0;T<s;T++){if(T===h||T===d)continue;let I=QO(g,y,x,b,e[2*T],e[2*T+1]);I<w&&(m=T,w=I)}let _=e[2*m],v=e[2*m+1];if(w===1/0){for(let A=0;A<s;A++)this._dists[A]=e[2*A]-e[0]||e[2*A+1]-e[1];Wc(this._ids,this._dists,0,s-1);let T=new Uint32Array(s),I=0;for(let A=0,k=-1/0;A<s;A++){let L=this._ids[A],S=this._dists[L];S>k&&(T[I++]=L,k=S)}this.hull=T.subarray(0,I),this.triangles=new Uint32Array(0),this.halfedges=new Uint32Array(0);return}if(Xc(g,y,x,b,_,v)<0){let T=d,I=x,A=b;d=m,x=_,b=v,m=T,_=I,v=A}let M=ZO(g,y,x,b,_,v);this._cx=M.x,this._cy=M.y;for(let T=0;T<s;T++)this._dists[T]=ow(e[2*T],e[2*T+1],M.x,M.y);Wc(this._ids,this._dists,0,s-1),this._hullStart=h;let E=3;r[h]=n[m]=d,r[d]=n[h]=m,r[m]=n[d]=h,o[h]=0,o[d]=1,o[m]=2,i.fill(-1),i[this._hashKey(g,y)]=h,i[this._hashKey(x,b)]=d,i[this._hashKey(_,v)]=m,this.trianglesLen=0,this._addTriangle(h,d,m,-1,-1,-1);for(let T=0,I,A;T<this._ids.length;T++){let k=this._ids[T],L=e[2*k],S=e[2*k+1];if(T>0&&Math.abs(L-I)<=L8&&Math.abs(S-A)<=L8||(I=L,A=S,k===h||k===d||k===m))continue;let C=0;for(let D=0,F=this._hashKey(L,S);D<this._hashSize&&(C=i[(F+D)%this._hashSize],!(C!==-1&&C!==r[C]));D++);C=n[C];let N=C,R;for(;R=r[N],Xc(L,S,e[2*N],e[2*N+1],e[2*R],e[2*R+1])>=0;)if(N=R,N===C){N=-1;break}if(N===-1)continue;let $=this._addTriangle(N,k,r[N],-1,-1,o[N]);o[k]=this._legalize($+2),o[N]=$,E++;let O=r[N];for(;R=r[O],Xc(L,S,e[2*O],e[2*O+1],e[2*R],e[2*R+1])<0;)$=this._addTriangle(O,k,R,o[k],-1,o[O]),o[k]=this._legalize($+2),r[O]=O,E--,O=R;if(N===C)for(;R=n[N],Xc(L,S,e[2*R],e[2*R+1],e[2*N],e[2*N+1])<0;)$=this._addTriangle(R,k,N,-1,o[N],o[R]),this._legalize($+2),o[R]=$,r[N]=N,E--,N=R;this._hullStart=n[k]=N,r[N]=n[O]=k,r[k]=O,i[this._hashKey(L,S)]=k,i[this._hashKey(e[2*N],e[2*N+1])]=N}this.hull=new Uint32Array(E);for(let T=0,I=this._hullStart;T<E;T++)this.hull[T]=I,I=r[I];this.triangles=this._triangles.subarray(0,this.trianglesLen),this.halfedges=this._halfedges.subarray(0,this.trianglesLen)}_hashKey(e,n){return Math.floor(VO(e-this._cx,n-this._cy)*this._hashSize)%this._hashSize}_legalize(e){let{_triangles:n,_halfedges:r,coords:o}=this,i=0,s=0;for(;;){let a=r[e],c=e-e%3;if(s=c+(e+2)%3,a===-1){if(i===0)break;e=P0[--i];continue}let f=a-a%3,u=c+(e+1)%3,p=f+(a+2)%3,l=n[s],h=n[e],d=n[u],m=n[p];if(HO(o[2*l],o[2*l+1],o[2*h],o[2*h+1],o[2*d],o[2*d+1],o[2*m],o[2*m+1])){n[e]=m,n[a]=l;let y=r[p];if(y===-1){let b=this._hullStart;do{if(this._hullTri[b]===p){this._hullTri[b]=e;break}b=this._hullPrev[b]}while(b!==this._hullStart)}this._link(e,y),this._link(a,r[s]),this._link(s,p);let x=f+(a+1)%3;i<P0.length&&(P0[i++]=x)}else{if(i===0)break;e=P0[--i]}}return s}_link(e,n){this._halfedges[e]=n,n!==-1&&(this._halfedges[n]=e)}_addTriangle(e,n,r,o,i,s){let a=this.trianglesLen;return this._triangles[a]=e,this._triangles[a+1]=n,this._triangles[a+2]=r,this._link(a,o),this._link(a+1,i),this._link(a+2,s),this.trianglesLen+=3,a}};function VO(t,e){let n=t/(Math.abs(t)+Math.abs(e));return(e>0?3-n:1+n)/4}function ow(t,e,n,r){let o=t-n,i=e-r;return o*o+i*i}function HO(t,e,n,r,o,i,s,a){let c=t-s,f=e-a,u=n-s,p=r-a,l=o-s,h=i-a,d=c*c+f*f,m=u*u+p*p,g=l*l+h*h;return c*(p*g-m*h)-f*(u*g-m*l)+d*(u*h-p*l)<0}function QO(t,e,n,r,o,i){let s=n-t,a=r-e,c=o-t,f=i-e,u=s*s+a*a,p=c*c+f*f,l=.5/(s*f-a*c),h=(f*u-a*p)*l,d=(s*p-c*u)*l;return h*h+d*d}function ZO(t,e,n,r,o,i){let s=n-t,a=r-e,c=o-t,f=i-e,u=s*s+a*a,p=c*c+f*f,l=.5/(s*f-a*c),h=t+(f*u-a*p)*l,d=e+(s*p-c*u)*l;return{x:h,y:d}}function Wc(t,e,n,r){if(r-n<=20)for(let o=n+1;o<=r;o++){let i=t[o],s=e[i],a=o-1;for(;a>=n&&e[t[a]]>s;)t[a+1]=t[a--];t[a+1]=i}else{let o=n+r>>1,i=n+1,s=r;Pl(t,o,i),e[t[n]]>e[t[r]]&&Pl(t,n,r),e[t[i]]>e[t[r]]&&Pl(t,i,r),e[t[n]]>e[t[i]]&&Pl(t,n,i);let a=t[i],c=e[a];for(;;){do i++;while(e[t[i]]<c);do s--;while(e[t[s]]>c);if(s<i)break;Pl(t,i,s)}t[n+1]=t[s],t[s]=a,r-i+1>=s-n?(Wc(t,e,i,r),Wc(t,e,n,s-1)):(Wc(t,e,n,s-1),Wc(t,e,i,r))}}function Pl(t,e,n){let r=t[e];t[e]=t[n],t[n]=r}function KO(t){return t[0]}function JO(t){return t[1]}var lr=class{constructor(){this._x0=this._y0=this._x1=this._y1=null,this._=""}moveTo(e,n){this._+=`M${this._x0=this._x1=+e},${this._y0=this._y1=+n}`}closePath(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")}lineTo(e,n){this._+=`L${this._x1=+e},${this._y1=+n}`}arc(e,n,r){e=+e,n=+n,r=+r;let o=e+r,i=n;if(r<0)throw new Error("negative radius");this._x1===null?this._+=`M${o},${i}`:(Math.abs(this._x1-o)>1e-6||Math.abs(this._y1-i)>1e-6)&&(this._+="L"+o+","+i),r&&(this._+=`A${r},${r},0,1,1,${e-r},${n}A${r},${r},0,1,1,${this._x1=o},${this._y1=i}`)}rect(e,n,r,o){this._+=`M${this._x0=this._x1=+e},${this._y0=this._y1=+n}h${+r}v${+o}h${-r}Z`}value(){return this._||null}};var Ki=class{constructor(){this._=[]}moveTo(e,n){this._.push([e,n])}closePath(){this._.push(this._[0].slice())}lineTo(e,n){this._.push([e,n])}value(){return this._.length?this._:null}};var ql=class{constructor(e,[n,r,o,i]=[0,0,960,500]){if(!((o=+o)>=(n=+n))||!((i=+i)>=(r=+r)))throw new Error("invalid bounds");this.delaunay=e,this._circumcenters=new Float64Array(e.points.length*2),this.vectors=new Float64Array(e.points.length*2),this.xmax=o,this.xmin=n,this.ymax=i,this.ymin=r,this._init()}update(){return this.delaunay.update(),this._init(),this}_init(){let{delaunay:{points:e,hull:n,triangles:r},vectors:o}=this,i,s,a=this.circumcenters=this._circumcenters.subarray(0,r.length/3*2);for(let m=0,g=0,y=r.length,x,b;m<y;m+=3,g+=2){let w=r[m]*2,_=r[m+1]*2,v=r[m+2]*2,M=e[w],E=e[w+1],T=e[_],I=e[_+1],A=e[v],k=e[v+1],L=T-M,S=I-E,C=A-M,N=k-E,R=(L*N-S*C)*2;if(Math.abs(R)<1e-9){if(i===void 0){i=s=0;for(let O of n)i+=e[O*2],s+=e[O*2+1];i/=n.length,s/=n.length}let $=1e9*Math.sign((i-M)*N-(s-E)*C);x=(M+A)/2-$*N,b=(E+k)/2+$*C}else{let $=1/R,O=L*L+S*S,D=C*C+N*N;x=M+(N*O-S*D)*$,b=E+(L*D-C*O)*$}a[g]=x,a[g+1]=b}let c=n[n.length-1],f,u=c*4,p,l=e[2*c],h,d=e[2*c+1];o.fill(0);for(let m=0;m<n.length;++m)c=n[m],f=u,p=l,h=d,u=c*4,l=e[2*c],d=e[2*c+1],o[f+2]=o[u]=h-d,o[f+3]=o[u+1]=l-p}render(e){let n=e==null?e=new lr:void 0,{delaunay:{halfedges:r,inedges:o,hull:i},circumcenters:s,vectors:a}=this;if(i.length<=1)return null;for(let u=0,p=r.length;u<p;++u){let l=r[u];if(l<u)continue;let h=Math.floor(u/3)*2,d=Math.floor(l/3)*2,m=s[h],g=s[h+1],y=s[d],x=s[d+1];this._renderSegment(m,g,y,x,e)}let c,f=i[i.length-1];for(let u=0;u<i.length;++u){c=f,f=i[u];let p=Math.floor(o[f]/3)*2,l=s[p],h=s[p+1],d=c*4,m=this._project(l,h,a[d+2],a[d+3]);m&&this._renderSegment(l,h,m[0],m[1],e)}return n&&n.value()}renderBounds(e){let n=e==null?e=new lr:void 0;return e.rect(this.xmin,this.ymin,this.xmax-this.xmin,this.ymax-this.ymin),n&&n.value()}renderCell(e,n){let r=n==null?n=new lr:void 0,o=this._clip(e);if(o===null||!o.length)return;n.moveTo(o[0],o[1]);let i=o.length;for(;o[0]===o[i-2]&&o[1]===o[i-1]&&i>1;)i-=2;for(let s=2;s<i;s+=2)(o[s]!==o[s-2]||o[s+1]!==o[s-1])&&n.lineTo(o[s],o[s+1]);return n.closePath(),r&&r.value()}*cellPolygons(){let{delaunay:{points:e}}=this;for(let n=0,r=e.length/2;n<r;++n){let o=this.cellPolygon(n);o&&(o.index=n,yield o)}}cellPolygon(e){let n=new Ki;return this.renderCell(e,n),n.value()}_renderSegment(e,n,r,o,i){let s,a=this._regioncode(e,n),c=this._regioncode(r,o);a===0&&c===0?(i.moveTo(e,n),i.lineTo(r,o)):(s=this._clipSegment(e,n,r,o,a,c))&&(i.moveTo(s[0],s[1]),i.lineTo(s[2],s[3]))}contains(e,n,r){return n=+n,n!==n||(r=+r,r!==r)?!1:this.delaunay._step(e,n,r)===e}*neighbors(e){let n=this._clip(e);if(n)for(let r of this.delaunay.neighbors(e)){let o=this._clip(r);if(o){t:for(let i=0,s=n.length;i<s;i+=2)for(let a=0,c=o.length;a<c;a+=2)if(n[i]===o[a]&&n[i+1]===o[a+1]&&n[(i+2)%s]===o[(a+c-2)%c]&&n[(i+3)%s]===o[(a+c-1)%c]){yield r;break t}}}}_cell(e){let{circumcenters:n,delaunay:{inedges:r,halfedges:o,triangles:i}}=this,s=r[e];if(s===-1)return null;let a=[],c=s;do{let f=Math.floor(c/3);if(a.push(n[f*2],n[f*2+1]),c=c%3===2?c-2:c+1,i[c]!==e)break;c=o[c]}while(c!==s&&c!==-1);return a}_clip(e){if(e===0&&this.delaunay.hull.length===1)return[this.xmax,this.ymin,this.xmax,this.ymax,this.xmin,this.ymax,this.xmin,this.ymin];let n=this._cell(e);if(n===null)return null;let{vectors:r}=this,o=e*4;return this._simplify(r[o]||r[o+1]?this._clipInfinite(e,n,r[o],r[o+1],r[o+2],r[o+3]):this._clipFinite(e,n))}_clipFinite(e,n){let r=n.length,o=null,i,s,a=n[r-2],c=n[r-1],f,u=this._regioncode(a,c),p,l=0;for(let h=0;h<r;h+=2)if(i=a,s=c,a=n[h],c=n[h+1],f=u,u=this._regioncode(a,c),f===0&&u===0)p=l,l=0,o?o.push(a,c):o=[a,c];else{let d,m,g,y,x;if(f===0){if((d=this._clipSegment(i,s,a,c,f,u))===null)continue;[m,g,y,x]=d}else{if((d=this._clipSegment(a,c,i,s,u,f))===null)continue;[y,x,m,g]=d,p=l,l=this._edgecode(m,g),p&&l&&this._edge(e,p,l,o,o.length),o?o.push(m,g):o=[m,g]}p=l,l=this._edgecode(y,x),p&&l&&this._edge(e,p,l,o,o.length),o?o.push(y,x):o=[y,x]}if(o)p=l,l=this._edgecode(o[0],o[1]),p&&l&&this._edge(e,p,l,o,o.length);else if(this.contains(e,(this.xmin+this.xmax)/2,(this.ymin+this.ymax)/2))return[this.xmax,this.ymin,this.xmax,this.ymax,this.xmin,this.ymax,this.xmin,this.ymin];return o}_clipSegment(e,n,r,o,i,s){let a=i<s;for(a&&([e,n,r,o,i,s]=[r,o,e,n,s,i]);;){if(i===0&&s===0)return a?[r,o,e,n]:[e,n,r,o];if(i&s)return null;let c,f,u=i||s;u&8?(c=e+(r-e)*(this.ymax-n)/(o-n),f=this.ymax):u&4?(c=e+(r-e)*(this.ymin-n)/(o-n),f=this.ymin):u&2?(f=n+(o-n)*(this.xmax-e)/(r-e),c=this.xmax):(f=n+(o-n)*(this.xmin-e)/(r-e),c=this.xmin),i?(e=c,n=f,i=this._regioncode(e,n)):(r=c,o=f,s=this._regioncode(r,o))}}_clipInfinite(e,n,r,o,i,s){let a=Array.from(n),c;if((c=this._project(a[0],a[1],r,o))&&a.unshift(c[0],c[1]),(c=this._project(a[a.length-2],a[a.length-1],i,s))&&a.push(c[0],c[1]),a=this._clipFinite(e,a))for(let f=0,u=a.length,p,l=this._edgecode(a[u-2],a[u-1]);f<u;f+=2)p=l,l=this._edgecode(a[f],a[f+1]),p&&l&&(f=this._edge(e,p,l,a,f),u=a.length);else this.contains(e,(this.xmin+this.xmax)/2,(this.ymin+this.ymax)/2)&&(a=[this.xmin,this.ymin,this.xmax,this.ymin,this.xmax,this.ymax,this.xmin,this.ymax]);return a}_edge(e,n,r,o,i){for(;n!==r;){let s,a;switch(n){case 5:n=4;continue;case 4:n=6,s=this.xmax,a=this.ymin;break;case 6:n=2;continue;case 2:n=10,s=this.xmax,a=this.ymax;break;case 10:n=8;continue;case 8:n=9,s=this.xmin,a=this.ymax;break;case 9:n=1;continue;case 1:n=5,s=this.xmin,a=this.ymin;break}(o[i]!==s||o[i+1]!==a)&&this.contains(e,s,a)&&(o.splice(i,0,s,a),i+=2)}return i}_project(e,n,r,o){let i=1/0,s,a,c;if(o<0){if(n<=this.ymin)return null;(s=(this.ymin-n)/o)<i&&(c=this.ymin,a=e+(i=s)*r)}else if(o>0){if(n>=this.ymax)return null;(s=(this.ymax-n)/o)<i&&(c=this.ymax,a=e+(i=s)*r)}if(r>0){if(e>=this.xmax)return null;(s=(this.xmax-e)/r)<i&&(a=this.xmax,c=n+(i=s)*o)}else if(r<0){if(e<=this.xmin)return null;(s=(this.xmin-e)/r)<i&&(a=this.xmin,c=n+(i=s)*o)}return[a,c]}_edgecode(e,n){return(e===this.xmin?1:e===this.xmax?2:0)|(n===this.ymin?4:n===this.ymax?8:0)}_regioncode(e,n){return(e<this.xmin?1:e>this.xmax?2:0)|(n<this.ymin?4:n>this.ymax?8:0)}_simplify(e){if(e&&e.length>4){for(let n=0;n<e.length;n+=2){let r=(n+2)%e.length,o=(n+4)%e.length;(e[n]===e[r]&&e[r]===e[o]||e[n+1]===e[r+1]&&e[r+1]===e[o+1])&&(e.splice(r,2),n-=2)}e.length||(e=null)}return e}};var t$=2*Math.PI,Vc=Math.pow;function e$(t){return t[0]}function n$(t){return t[1]}function r$(t){let{triangles:e,coords:n}=t;for(let r=0;r<e.length;r+=3){let o=2*e[r],i=2*e[r+1],s=2*e[r+2];if((n[s]-n[o])*(n[i+1]-n[o+1])-(n[i]-n[o])*(n[s+1]-n[o+1])>1e-10)return!1}return!0}function o$(t,e,n){return[t+Math.sin(t+e)*n,e+Math.cos(t-e)*n]}var pr=class t{static from(e,n=e$,r=n$,o){return new t("length"in e?i$(e,n,r,o):Float64Array.from(s$(e,n,r,o)))}constructor(e){this._delaunator=new Gc(e),this.inedges=new Int32Array(e.length/2),this._hullIndex=new Int32Array(e.length/2),this.points=this._delaunator.coords,this._init()}update(){return this._delaunator.update(),this._init(),this}_init(){let e=this._delaunator,n=this.points;if(e.hull&&e.hull.length>2&&r$(e)){this.collinear=Int32Array.from({length:n.length/2},(l,h)=>h).sort((l,h)=>n[2*l]-n[2*h]||n[2*l+1]-n[2*h+1]);let c=this.collinear[0],f=this.collinear[this.collinear.length-1],u=[n[2*c],n[2*c+1],n[2*f],n[2*f+1]],p=1e-8*Math.hypot(u[3]-u[1],u[2]-u[0]);for(let l=0,h=n.length/2;l<h;++l){let d=o$(n[2*l],n[2*l+1],p);n[2*l]=d[0],n[2*l+1]=d[1]}this._delaunator=new Gc(n)}else delete this.collinear;let r=this.halfedges=this._delaunator.halfedges,o=this.hull=this._delaunator.hull,i=this.triangles=this._delaunator.triangles,s=this.inedges.fill(-1),a=this._hullIndex.fill(-1);for(let c=0,f=r.length;c<f;++c){let u=i[c%3===2?c-2:c+1];(r[c]===-1||s[u]===-1)&&(s[u]=c)}for(let c=0,f=o.length;c<f;++c)a[o[c]]=c;o.length<=2&&o.length>0&&(this.triangles=new Int32Array(3).fill(-1),this.halfedges=new Int32Array(3).fill(-1),this.triangles[0]=o[0],s[o[0]]=1,o.length===2&&(s[o[1]]=0,this.triangles[1]=o[1],this.triangles[2]=o[1]))}voronoi(e){return new ql(this,e)}*neighbors(e){let{inedges:n,hull:r,_hullIndex:o,halfedges:i,triangles:s,collinear:a}=this;if(a){let p=a.indexOf(e);p>0&&(yield a[p-1]),p<a.length-1&&(yield a[p+1]);return}let c=n[e];if(c===-1)return;let f=c,u=-1;do{if(yield u=s[f],f=f%3===2?f-2:f+1,s[f]!==e)return;if(f=i[f],f===-1){let p=r[(o[e]+1)%r.length];p!==u&&(yield p);return}}while(f!==c)}find(e,n,r=0){if(e=+e,e!==e||(n=+n,n!==n))return-1;let o=r,i;for(;(i=this._step(r,e,n))>=0&&i!==r&&i!==o;)r=i;return i}_step(e,n,r){let{inedges:o,hull:i,_hullIndex:s,halfedges:a,triangles:c,points:f}=this;if(o[e]===-1||!f.length)return(e+1)%(f.length>>1);let u=e,p=Vc(n-f[e*2],2)+Vc(r-f[e*2+1],2),l=o[e],h=l;do{let d=c[h],m=Vc(n-f[d*2],2)+Vc(r-f[d*2+1],2);if(m<p&&(p=m,u=d),h=h%3===2?h-2:h+1,c[h]!==e)break;if(h=a[h],h===-1){if(h=i[(s[e]+1)%i.length],h!==d&&Vc(n-f[h*2],2)+Vc(r-f[h*2+1],2)<p)return h;break}}while(h!==l);return u}render(e){let n=e==null?e=new lr:void 0,{points:r,halfedges:o,triangles:i}=this;for(let s=0,a=o.length;s<a;++s){let c=o[s];if(c<s)continue;let f=i[s]*2,u=i[c]*2;e.moveTo(r[f],r[f+1]),e.lineTo(r[u],r[u+1])}return this.renderHull(e),n&&n.value()}renderPoints(e,n){n===void 0&&(!e||typeof e.moveTo!="function")&&(n=e,e=null),n=n==null?2:+n;let r=e==null?e=new lr:void 0,{points:o}=this;for(let i=0,s=o.length;i<s;i+=2){let a=o[i],c=o[i+1];e.moveTo(a+n,c),e.arc(a,c,n,0,t$)}return r&&r.value()}renderHull(e){let n=e==null?e=new lr:void 0,{hull:r,points:o}=this,i=r[0]*2,s=r.length;e.moveTo(o[i],o[i+1]);for(let a=1;a<s;++a){let c=2*r[a];e.lineTo(o[c],o[c+1])}return e.closePath(),n&&n.value()}hullPolygon(){let e=new Ki;return this.renderHull(e),e.value()}renderTriangle(e,n){let r=n==null?n=new lr:void 0,{points:o,triangles:i}=this,s=i[e*=3]*2,a=i[e+1]*2,c=i[e+2]*2;return n.moveTo(o[s],o[s+1]),n.lineTo(o[a],o[a+1]),n.lineTo(o[c],o[c+1]),n.closePath(),r&&r.value()}*trianglePolygons(){let{triangles:e}=this;for(let n=0,r=e.length/3;n<r;++n)yield this.trianglePolygon(n)}trianglePolygon(e){let n=new Ki;return this.renderTriangle(e,n),n.value()}};function i$(t,e,n,r){let o=t.length,i=new Float64Array(o*2);for(let s=0;s<o;++s){let a=t[s];i[s*2]=e.call(r,a,s,t),i[s*2+1]=n.call(r,a,s,t)}return i}function*s$(t,e,n,r){let o=0;for(let i of t)yield e.call(r,i,o,t),yield n.call(r,i,o,t),++o}function O8(t){return Math.abs(t=Math.round(t))>=1e21?t.toLocaleString("en").replace(/,/g,""):t.toString(10)}function ma(t,e){if((n=(t=e?t.toExponential(e-1):t.toExponential()).indexOf("e"))<0)return null;var n,r=t.slice(0,n);return[r.length>1?r[0]+r.slice(2):r,+t.slice(n+1)]}function io(t){return t=ma(Math.abs(t)),t?t[1]:NaN}function $8(t,e){return function(n,r){for(var o=n.length,i=[],s=0,a=t[0],c=0;o>0&&a>0&&(c+a+1>r&&(a=Math.max(1,r-c)),i.push(n.substring(o-=a,o+a)),!((c+=a+1)>r));)a=t[s=(s+1)%t.length];return i.reverse().join(e)}}function D8(t){return function(e){return e.replace(/[0-9]/g,function(n){return t[+n]})}}var a$=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function so(t){if(!(e=a$.exec(t)))throw new Error("invalid format: "+t);var e;return new q0({fill:e[1],align:e[2],sign:e[3],symbol:e[4],zero:e[5],width:e[6],comma:e[7],precision:e[8]&&e[8].slice(1),trim:e[9],type:e[10]})}so.prototype=q0.prototype;function q0(t){this.fill=t.fill===void 0?" ":t.fill+"",this.align=t.align===void 0?">":t.align+"",this.sign=t.sign===void 0?"-":t.sign+"",this.symbol=t.symbol===void 0?"":t.symbol+"",this.zero=!!t.zero,this.width=t.width===void 0?void 0:+t.width,this.comma=!!t.comma,this.precision=t.precision===void 0?void 0:+t.precision,this.trim=!!t.trim,this.type=t.type===void 0?"":t.type+""}q0.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function F8(t){t:for(var e=t.length,n=1,r=-1,o;n<e;++n)switch(t[n]){case".":r=o=n;break;case"0":r===0&&(r=n),o=n;break;default:if(!+t[n])break t;r>0&&(r=0);break}return r>0?t.slice(0,r)+t.slice(o+1):t}var iw;function P8(t,e){var n=ma(t,e);if(!n)return t+"";var r=n[0],o=n[1],i=o-(iw=Math.max(-8,Math.min(8,Math.floor(o/3)))*3)+1,s=r.length;return i===s?r:i>s?r+new Array(i-s+1).join("0"):i>0?r.slice(0,i)+"."+r.slice(i):"0."+new Array(1-i).join("0")+ma(t,Math.max(0,e+i-1))[0]}function sw(t,e){var n=ma(t,e);if(!n)return t+"";var r=n[0],o=n[1];return o<0?"0."+new Array(-o).join("0")+r:r.length>o+1?r.slice(0,o+1)+"."+r.slice(o+1):r+new Array(o-r.length+2).join("0")}var aw={"%":(t,e)=>(t*100).toFixed(e),b:t=>Math.round(t).toString(2),c:t=>t+"",d:O8,e:(t,e)=>t.toExponential(e),f:(t,e)=>t.toFixed(e),g:(t,e)=>t.toPrecision(e),o:t=>Math.round(t).toString(8),p:(t,e)=>sw(t*100,e),r:sw,s:P8,X:t=>Math.round(t).toString(16).toUpperCase(),x:t=>Math.round(t).toString(16)};function cw(t){return t}var q8=Array.prototype.map,B8=["y","z","a","f","p","n","\xB5","m","","k","M","G","T","P","E","Z","Y"];function z8(t){var e=t.grouping===void 0||t.thousands===void 0?cw:$8(q8.call(t.grouping,Number),t.thousands+""),n=t.currency===void 0?"":t.currency[0]+"",r=t.currency===void 0?"":t.currency[1]+"",o=t.decimal===void 0?".":t.decimal+"",i=t.numerals===void 0?cw:D8(q8.call(t.numerals,String)),s=t.percent===void 0?"%":t.percent+"",a=t.minus===void 0?"\u2212":t.minus+"",c=t.nan===void 0?"NaN":t.nan+"";function f(p){p=so(p);var l=p.fill,h=p.align,d=p.sign,m=p.symbol,g=p.zero,y=p.width,x=p.comma,b=p.precision,w=p.trim,_=p.type;_==="n"?(x=!0,_="g"):aw[_]||(b===void 0&&(b=12),w=!0,_="g"),(g||l==="0"&&h==="=")&&(g=!0,l="0",h="=");var v=m==="$"?n:m==="#"&&/[boxX]/.test(_)?"0"+_.toLowerCase():"",M=m==="$"?r:/[%p]/.test(_)?s:"",E=aw[_],T=/[defgprs%]/.test(_);b=b===void 0?6:/[gprs]/.test(_)?Math.max(1,Math.min(21,b)):Math.max(0,Math.min(20,b));function I(A){var k=v,L=M,S,C,N;if(_==="c")L=E(A)+L,A="";else{A=+A;var R=A<0||1/A<0;if(A=isNaN(A)?c:E(Math.abs(A),b),w&&(A=F8(A)),R&&+A==0&&d!=="+"&&(R=!1),k=(R?d==="("?d:a:d==="-"||d==="("?"":d)+k,L=(_==="s"?B8[8+iw/3]:"")+L+(R&&d==="("?")":""),T){for(S=-1,C=A.length;++S<C;)if(N=A.charCodeAt(S),48>N||N>57){L=(N===46?o+A.slice(S+1):A.slice(S))+L,A=A.slice(0,S);break}}}x&&!g&&(A=e(A,1/0));var $=k.length+A.length+L.length,O=$<y?new Array(y-$+1).join(l):"";switch(x&&g&&(A=e(O+A,O.length?y-L.length:1/0),O=""),h){case"<":A=k+A+L+O;break;case"=":A=k+O+A+L;break;case"^":A=O.slice(0,$=O.length>>1)+k+A+L+O.slice($);break;default:A=O+k+A+L;break}return i(A)}return I.toString=function(){return p+""},I}function u(p,l){var h=f((p=so(p),p.type="f",p)),d=Math.max(-8,Math.min(8,Math.floor(io(l)/3)))*3,m=Math.pow(10,-d),g=B8[8+d/3];return function(y){return h(m*y)+g}}return{format:f,formatPrefix:u}}var B0,hr,z0;fw({thousands:",",grouping:[3],currency:["$",""]});function fw(t){return B0=z8(t),hr=B0.format,z0=B0.formatPrefix,B0}function uw(t){return Math.max(0,-io(Math.abs(t)))}function lw(t,e){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(io(e)/3)))*3-io(Math.abs(t)))}function pw(t,e){return t=Math.abs(t),e=Math.abs(e)-t,Math.max(0,io(e)-io(t))+1}var Z=1e-6,ga=1e-12,mt=Math.PI,Ut=mt/2,hw=mt/4,$e=mt*2,ce=180/mt,vt=mt/180,wt=Math.abs,dr=Math.atan,xe=Math.atan2,H=Math.cos,Bl=Math.ceil,Y0=Math.exp;var U0=Math.hypot,ya=Math.log,j0=Math.pow,V=Math.sin,fn=Math.sign||function(t){return t>0?1:t<0?-1:0},jt=Math.sqrt,Hc=Math.tan;function X0(t){return t>1?0:t<-1?mt:Math.acos(t)}function Zt(t){return t>1?Ut:t<-1?-Ut:Math.asin(t)}function be(){}function W0(t,e){t&&U8.hasOwnProperty(t.type)&&U8[t.type](t,e)}var Y8={Feature:function(t,e){W0(t.geometry,e)},FeatureCollection:function(t,e){for(var n=t.features,r=-1,o=n.length;++r<o;)W0(n[r].geometry,e)}},U8={Sphere:function(t,e){e.sphere()},Point:function(t,e){t=t.coordinates,e.point(t[0],t[1],t[2])},MultiPoint:function(t,e){for(var n=t.coordinates,r=-1,o=n.length;++r<o;)t=n[r],e.point(t[0],t[1],t[2])},LineString:function(t,e){dw(t.coordinates,e,0)},MultiLineString:function(t,e){for(var n=t.coordinates,r=-1,o=n.length;++r<o;)dw(n[r],e,0)},Polygon:function(t,e){j8(t.coordinates,e)},MultiPolygon:function(t,e){for(var n=t.coordinates,r=-1,o=n.length;++r<o;)j8(n[r],e)},GeometryCollection:function(t,e){for(var n=t.geometries,r=-1,o=n.length;++r<o;)W0(n[r],e)}};function dw(t,e,n){var r=-1,o=t.length-n,i;for(e.lineStart();++r<o;)i=t[r],e.point(i[0],i[1],i[2]);e.lineEnd()}function j8(t,e){var n=-1,r=t.length;for(e.polygonStart();++n<r;)dw(t[n],e,1);e.polygonEnd()}function Gn(t,e){t&&Y8.hasOwnProperty(t.type)?Y8[t.type](t,e):W0(t,e)}function zl(t){return[xe(t[1],t[0]),Zt(t[2])]}function ao(t){var e=t[0],n=t[1],r=H(n);return[r*H(e),r*V(e),V(n)]}function Yl(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function Qc(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 G0(t,e){t[0]+=e[0],t[1]+=e[1],t[2]+=e[2]}function Ul(t,e){return[t[0]*e,t[1]*e,t[2]*e]}function jl(t){var e=jt(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]);t[0]/=e,t[1]/=e,t[2]/=e}var Xl,V0,H0,Q0,Z0,K0,J0,tg,mw,gw,yw,G8,V8,In,Cn,Nn,Or={sphere:be,point:xw,lineStart:X8,lineEnd:W8,polygonStart:function(){Or.lineStart=u$,Or.lineEnd=l$},polygonEnd:function(){Or.lineStart=X8,Or.lineEnd=W8}};function xw(t,e){t*=vt,e*=vt;var n=H(e);Wl(n*H(t),n*V(t),V(e))}function Wl(t,e,n){++Xl,H0+=(t-H0)/Xl,Q0+=(e-Q0)/Xl,Z0+=(n-Z0)/Xl}function X8(){Or.point=c$}function c$(t,e){t*=vt,e*=vt;var n=H(e);In=n*H(t),Cn=n*V(t),Nn=V(e),Or.point=f$,Wl(In,Cn,Nn)}function f$(t,e){t*=vt,e*=vt;var n=H(e),r=n*H(t),o=n*V(t),i=V(e),s=xe(jt((s=Cn*i-Nn*o)*s+(s=Nn*r-In*i)*s+(s=In*o-Cn*r)*s),In*r+Cn*o+Nn*i);V0+=s,K0+=s*(In+(In=r)),J0+=s*(Cn+(Cn=o)),tg+=s*(Nn+(Nn=i)),Wl(In,Cn,Nn)}function W8(){Or.point=xw}function u$(){Or.point=p$}function l$(){H8(G8,V8),Or.point=xw}function p$(t,e){G8=t,V8=e,t*=vt,e*=vt,Or.point=H8;var n=H(e);In=n*H(t),Cn=n*V(t),Nn=V(e),Wl(In,Cn,Nn)}function H8(t,e){t*=vt,e*=vt;var n=H(e),r=n*H(t),o=n*V(t),i=V(e),s=Cn*i-Nn*o,a=Nn*r-In*i,c=In*o-Cn*r,f=U0(s,a,c),u=Zt(f),p=f&&-u/f;mw.add(p*s),gw.add(p*a),yw.add(p*c),V0+=u,K0+=u*(In+(In=r)),J0+=u*(Cn+(Cn=o)),tg+=u*(Nn+(Nn=i)),Wl(In,Cn,Nn)}function bw(t){Xl=V0=H0=Q0=Z0=K0=J0=tg=0,mw=new Ge,gw=new Ge,yw=new Ge,Gn(t,Or);var e=+mw,n=+gw,r=+yw,o=U0(e,n,r);return o<ga&&(e=K0,n=J0,r=tg,V0<Z&&(e=H0,n=Q0,r=Z0),o=U0(e,n,r),o<ga)?[NaN,NaN]:[xe(n,e)*ce,Zt(r/o)*ce]}function Gl(t,e){function n(r,o){return r=t(r,o),e(r[0],r[1])}return t.invert&&e.invert&&(n.invert=function(r,o){return r=e.invert(r,o),r&&t.invert(r[0],r[1])}),n}function ww(t,e){return wt(t)>mt&&(t-=Math.round(t/$e)*$e),[t,e]}ww.invert=ww;function vw(t,e,n){return(t%=$e)?e||n?Gl(Z8(t),K8(e,n)):Z8(t):e||n?K8(e,n):ww}function Q8(t){return function(e,n){return e+=t,wt(e)>mt&&(e-=Math.round(e/$e)*$e),[e,n]}}function Z8(t){var e=Q8(t);return e.invert=Q8(-t),e}function K8(t,e){var n=H(t),r=V(t),o=H(e),i=V(e);function s(a,c){var f=H(c),u=H(a)*f,p=V(a)*f,l=V(c),h=l*n+u*r;return[xe(p*o-h*i,u*n-l*r),Zt(h*o+p*i)]}return s.invert=function(a,c){var f=H(c),u=H(a)*f,p=V(a)*f,l=V(c),h=l*o-p*i;return[xe(p*o+l*i,u*n+h*r),Zt(h*n-u*r)]},s}function J8(t){t=vw(t[0]*vt,t[1]*vt,t.length>2?t[2]*vt:0);function e(n){return n=t(n[0]*vt,n[1]*vt),n[0]*=ce,n[1]*=ce,n}return e.invert=function(n){return n=t.invert(n[0]*vt,n[1]*vt),n[0]*=ce,n[1]*=ce,n},e}function eS(t,e,n,r,o,i){if(n){var s=H(e),a=V(e),c=r*n;o==null?(o=e+r*$e,i=e-c/2):(o=tS(s,o),i=tS(s,i),(r>0?o<i:o>i)&&(o+=r*$e));for(var f,u=o;r>0?u>i:u<i;u-=c)f=zl([s,-a*H(u),-a*V(u)]),t.point(f[0],f[1])}}function tS(t,e){e=ao(e),e[0]-=t,jl(e);var n=X0(-e[1]);return((-e[2]<0?-n:n)+$e-Z)%$e}function eg(){var t=[],e;return{point:function(n,r,o){e.push([n,r,o])},lineStart:function(){t.push(e=[])},lineEnd:be,rejoin:function(){t.length>1&&t.push(t.pop().concat(t.shift()))},result:function(){var n=t;return t=[],e=null,n}}}function Zc(t,e){return wt(t[0]-e[0])<Z&&wt(t[1]-e[1])<Z}function ng(t,e,n,r){this.x=t,this.z=e,this.o=n,this.e=r,this.v=!1,this.n=this.p=null}function rg(t,e,n,r,o){var i=[],s=[],a,c;if(t.forEach(function(d){if(!((m=d.length-1)<=0)){var m,g=d[0],y=d[m],x;if(Zc(g,y)){if(!g[2]&&!y[2]){for(o.lineStart(),a=0;a<m;++a)o.point((g=d[a])[0],g[1]);o.lineEnd();return}y[0]+=2*Z}i.push(x=new ng(g,d,null,!0)),s.push(x.o=new ng(g,null,x,!1)),i.push(x=new ng(y,d,null,!1)),s.push(x.o=new ng(y,null,x,!0))}}),!!i.length){for(s.sort(e),nS(i),nS(s),a=0,c=s.length;a<c;++a)s[a].e=n=!n;for(var f=i[0],u,p;;){for(var l=f,h=!0;l.v;)if((l=l.n)===f)return;u=l.z,o.lineStart();do{if(l.v=l.o.v=!0,l.e){if(h)for(a=0,c=u.length;a<c;++a)o.point((p=u[a])[0],p[1]);else r(l.x,l.n.x,1,o);l=l.n}else{if(h)for(u=l.p.z,a=u.length-1;a>=0;--a)o.point((p=u[a])[0],p[1]);else r(l.x,l.p.x,-1,o);l=l.p}l=l.o,u=l.z,h=!h}while(!l.v);o.lineEnd()}}}function nS(t){if(e=t.length){for(var e,n=0,r=t[0],o;++n<e;)r.n=o=t[n],o.p=r,r=o;r.n=o=t[0],o.p=r}}function _w(t){return wt(t[0])<=mt?t[0]:fn(t[0])*((wt(t[0])+mt)%$e-mt)}function rS(t,e){var n=_w(e),r=e[1],o=V(r),i=[V(n),-H(n),0],s=0,a=0,c=new Ge;o===1?r=Ut+Z:o===-1&&(r=-Ut-Z);for(var f=0,u=t.length;f<u;++f)if(l=(p=t[f]).length)for(var p,l,h=p[l-1],d=_w(h),m=h[1]/2+hw,g=V(m),y=H(m),x=0;x<l;++x,d=w,g=v,y=M,h=b){var b=p[x],w=_w(b),_=b[1]/2+hw,v=V(_),M=H(_),E=w-d,T=E>=0?1:-1,I=T*E,A=I>mt,k=g*v;if(c.add(xe(k*T*V(I),y*M+k*H(I))),s+=A?E+T*$e:E,A^d>=n^w>=n){var L=Qc(ao(h),ao(b));jl(L);var S=Qc(i,L);jl(S);var C=(A^E>=0?-1:1)*Zt(S[2]);(r>C||r===C&&(L[0]||L[1]))&&(a+=A^E>=0?1:-1)}}return(s<-Z||s<Z&&c<-ga)^a&1}function og(t,e,n,r){return function(o){var i=e(o),s=eg(),a=e(s),c=!1,f,u,p,l={point:h,lineStart:m,lineEnd:g,polygonStart:function(){l.point=y,l.lineStart=x,l.lineEnd=b,u=[],f=[]},polygonEnd:function(){l.point=h,l.lineStart=m,l.lineEnd=g,u=Rc(u);var w=rS(f,r);u.length?(c||(o.polygonStart(),c=!0),rg(u,d$,w,n,o)):w&&(c||(o.polygonStart(),c=!0),o.lineStart(),n(null,null,1,o),o.lineEnd()),c&&(o.polygonEnd(),c=!1),u=f=null},sphere:function(){o.polygonStart(),o.lineStart(),n(null,null,1,o),o.lineEnd(),o.polygonEnd()}};function h(w,_){t(w,_)&&o.point(w,_)}function d(w,_){i.point(w,_)}function m(){l.point=d,i.lineStart()}function g(){l.point=h,i.lineEnd()}function y(w,_){p.push([w,_]),a.point(w,_)}function x(){a.lineStart(),p=[]}function b(){y(p[0][0],p[0][1]),a.lineEnd();var w=a.clean(),_=s.result(),v,M=_.length,E,T,I;if(p.pop(),f.push(p),p=null,!!M){if(w&1){if(T=_[0],(E=T.length-1)>0){for(c||(o.polygonStart(),c=!0),o.lineStart(),v=0;v<E;++v)o.point((I=T[v])[0],I[1]);o.lineEnd()}return}M>1&&w&2&&_.push(_.pop().concat(_.shift())),u.push(_.filter(h$))}}return l}}function h$(t){return t.length>1}function d$(t,e){return((t=t.x)[0]<0?t[1]-Ut-Z:Ut-t[1])-((e=e.x)[0]<0?e[1]-Ut-Z:Ut-e[1])}var Mw=og(function(){return!0},m$,y$,[-mt,-Ut]);function m$(t){var e=NaN,n=NaN,r=NaN,o;return{lineStart:function(){t.lineStart(),o=1},point:function(i,s){var a=i>0?mt:-mt,c=wt(i-e);wt(c-mt)<Z?(t.point(e,n=(n+s)/2>0?Ut:-Ut),t.point(r,n),t.lineEnd(),t.lineStart(),t.point(a,n),t.point(i,n),o=0):r!==a&&c>=mt&&(wt(e-r)<Z&&(e-=r*Z),wt(i-a)<Z&&(i-=a*Z),n=g$(e,n,i,s),t.point(r,n),t.lineEnd(),t.lineStart(),t.point(a,n),o=0),t.point(e=i,n=s),r=a},lineEnd:function(){t.lineEnd(),e=n=NaN},clean:function(){return 2-o}}}function g$(t,e,n,r){var o,i,s=V(t-n);return wt(s)>Z?dr((V(e)*(i=H(r))*V(n)-V(r)*(o=H(e))*V(t))/(o*i*s)):(e+r)/2}function y$(t,e,n,r){var o;if(t==null)o=n*Ut,r.point(-mt,o),r.point(0,o),r.point(mt,o),r.point(mt,0),r.point(mt,-o),r.point(0,-o),r.point(-mt,-o),r.point(-mt,0),r.point(-mt,o);else if(wt(t[0]-e[0])>Z){var i=t[0]<e[0]?mt:-mt;o=n*i/2,r.point(-i,o),r.point(0,o),r.point(i,o)}else r.point(e[0],e[1])}function oS(t){var e=H(t),n=2*vt,r=e>0,o=wt(e)>Z;function i(u,p,l,h){eS(h,t,n,l,u,p)}function s(u,p){return H(u)*H(p)>e}function a(u){var p,l,h,d,m;return{lineStart:function(){d=h=!1,m=1},point:function(g,y){var x=[g,y],b,w=s(g,y),_=r?w?0:f(g,y):w?f(g+(g<0?mt:-mt),y):0;if(!p&&(d=h=w)&&u.lineStart(),w!==h&&(b=c(p,x),(!b||Zc(p,b)||Zc(x,b))&&(x[2]=1)),w!==h)m=0,w?(u.lineStart(),b=c(x,p),u.point(b[0],b[1])):(b=c(p,x),u.point(b[0],b[1],2),u.lineEnd()),p=b;else if(o&&p&&r^w){var v;!(_&l)&&(v=c(x,p,!0))&&(m=0,r?(u.lineStart(),u.point(v[0][0],v[0][1]),u.point(v[1][0],v[1][1]),u.lineEnd()):(u.point(v[1][0],v[1][1]),u.lineEnd(),u.lineStart(),u.point(v[0][0],v[0][1],3)))}w&&(!p||!Zc(p,x))&&u.point(x[0],x[1]),p=x,h=w,l=_},lineEnd:function(){h&&u.lineEnd(),p=null},clean:function(){return m|(d&&h)<<1}}}function c(u,p,l){var h=ao(u),d=ao(p),m=[1,0,0],g=Qc(h,d),y=Yl(g,g),x=g[0],b=y-x*x;if(!b)return!l&&u;var w=e*y/b,_=-e*x/b,v=Qc(m,g),M=Ul(m,w),E=Ul(g,_);G0(M,E);var T=v,I=Yl(M,T),A=Yl(T,T),k=I*I-A*(Yl(M,M)-1);if(!(k<0)){var L=jt(k),S=Ul(T,(-I-L)/A);if(G0(S,M),S=zl(S),!l)return S;var C=u[0],N=p[0],R=u[1],$=p[1],O;N<C&&(O=C,C=N,N=O);var D=N-C,F=wt(D-mt)<Z,P=F||D<Z;if(!F&&$<R&&(O=R,R=$,$=O),P?F?R+$>0^S[1]<(wt(S[0]-C)<Z?R:$):R<=S[1]&&S[1]<=$:D>mt^(C<=S[0]&&S[0]<=N)){var W=Ul(T,(-I+L)/A);return G0(W,M),[S,zl(W)]}}}function f(u,p){var l=r?t:mt-t,h=0;return u<-l?h|=1:u>l&&(h|=2),p<-l?h|=4:p>l&&(h|=8),h}return og(s,a,i,r?[0,-t]:[-mt,t-mt])}function iS(t,e,n,r,o,i){var s=t[0],a=t[1],c=e[0],f=e[1],u=0,p=1,l=c-s,h=f-a,d;if(d=n-s,!(!l&&d>0)){if(d/=l,l<0){if(d<u)return;d<p&&(p=d)}else if(l>0){if(d>p)return;d>u&&(u=d)}if(d=o-s,!(!l&&d<0)){if(d/=l,l<0){if(d>p)return;d>u&&(u=d)}else if(l>0){if(d<u)return;d<p&&(p=d)}if(d=r-a,!(!h&&d>0)){if(d/=h,h<0){if(d<u)return;d<p&&(p=d)}else if(h>0){if(d>p)return;d>u&&(u=d)}if(d=i-a,!(!h&&d<0)){if(d/=h,h<0){if(d>p)return;d>u&&(u=d)}else if(h>0){if(d<u)return;d<p&&(p=d)}return u>0&&(t[0]=s+u*l,t[1]=a+u*h),p<1&&(e[0]=s+p*l,e[1]=a+p*h),!0}}}}}var Vl=1e9,ig=-Vl;function Kc(t,e,n,r){function o(f,u){return t<=f&&f<=n&&e<=u&&u<=r}function i(f,u,p,l){var h=0,d=0;if(f==null||(h=s(f,p))!==(d=s(u,p))||c(f,u)<0^p>0)do l.point(h===0||h===3?t:n,h>1?r:e);while((h=(h+p+4)%4)!==d);else l.point(u[0],u[1])}function s(f,u){return wt(f[0]-t)<Z?u>0?0:3:wt(f[0]-n)<Z?u>0?2:1:wt(f[1]-e)<Z?u>0?1:0:u>0?3:2}function a(f,u){return c(f.x,u.x)}function c(f,u){var p=s(f,1),l=s(u,1);return p!==l?p-l:p===0?u[1]-f[1]:p===1?f[0]-u[0]:p===2?f[1]-u[1]:u[0]-f[0]}return function(f){var u=f,p=eg(),l,h,d,m,g,y,x,b,w,_,v,M={point:E,lineStart:k,lineEnd:L,polygonStart:I,polygonEnd:A};function E(C,N){o(C,N)&&u.point(C,N)}function T(){for(var C=0,N=0,R=h.length;N<R;++N)for(var $=h[N],O=1,D=$.length,F=$[0],P,W,K=F[0],tt=F[1];O<D;++O)P=K,W=tt,F=$[O],K=F[0],tt=F[1],W<=r?tt>r&&(K-P)*(r-W)>(tt-W)*(t-P)&&++C:tt<=r&&(K-P)*(r-W)<(tt-W)*(t-P)&&--C;return C}function I(){u=p,l=[],h=[],v=!0}function A(){var C=T(),N=v&&C,R=(l=Rc(l)).length;(N||R)&&(f.polygonStart(),N&&(f.lineStart(),i(null,null,1,f),f.lineEnd()),R&&rg(l,a,C,i,f),f.polygonEnd()),u=f,l=h=d=null}function k(){M.point=S,h&&h.push(d=[]),_=!0,w=!1,x=b=NaN}function L(){l&&(S(m,g),y&&w&&p.rejoin(),l.push(p.result())),M.point=E,w&&u.lineEnd()}function S(C,N){var R=o(C,N);if(h&&d.push([C,N]),_)m=C,g=N,y=R,_=!1,R&&(u.lineStart(),u.point(C,N));else if(R&&w)u.point(C,N);else{var $=[x=Math.max(ig,Math.min(Vl,x)),b=Math.max(ig,Math.min(Vl,b))],O=[C=Math.max(ig,Math.min(Vl,C)),N=Math.max(ig,Math.min(Vl,N))];iS($,O,t,e,n,r)?(w||(u.lineStart(),u.point($[0],$[1])),u.point(O[0],O[1]),R||u.lineEnd(),v=!1):R&&(u.lineStart(),u.point(C,N),v=!1)}x=C,b=N,w=R}return M}}function sS(t,e,n){var r=pe(t,e-Z,n).concat(e);return function(o){return r.map(function(i){return[o,i]})}}function aS(t,e,n){var r=pe(t,e-Z,n).concat(e);return function(o){return r.map(function(i){return[i,o]})}}function Sw(){var t,e,n,r,o,i,s,a,c=10,f=c,u=90,p=360,l,h,d,m,g=2.5;function y(){return{type:"MultiLineString",coordinates:x()}}function x(){return pe(Bl(r/u)*u,n,u).map(d).concat(pe(Bl(a/p)*p,s,p).map(m)).concat(pe(Bl(e/c)*c,t,c).filter(function(b){return wt(b%u)>Z}).map(l)).concat(pe(Bl(i/f)*f,o,f).filter(function(b){return wt(b%p)>Z}).map(h))}return y.lines=function(){return x().map(function(b){return{type:"LineString",coordinates:b}})},y.outline=function(){return{type:"Polygon",coordinates:[d(r).concat(m(s).slice(1),d(n).reverse().slice(1),m(a).reverse().slice(1))]}},y.extent=function(b){return arguments.length?y.extentMajor(b).extentMinor(b):y.extentMinor()},y.extentMajor=function(b){return arguments.length?(r=+b[0][0],n=+b[1][0],a=+b[0][1],s=+b[1][1],r>n&&(b=r,r=n,n=b),a>s&&(b=a,a=s,s=b),y.precision(g)):[[r,a],[n,s]]},y.extentMinor=function(b){return arguments.length?(e=+b[0][0],t=+b[1][0],i=+b[0][1],o=+b[1][1],e>t&&(b=e,e=t,t=b),i>o&&(b=i,i=o,o=b),y.precision(g)):[[e,i],[t,o]]},y.step=function(b){return arguments.length?y.stepMajor(b).stepMinor(b):y.stepMinor()},y.stepMajor=function(b){return arguments.length?(u=+b[0],p=+b[1],y):[u,p]},y.stepMinor=function(b){return arguments.length?(c=+b[0],f=+b[1],y):[c,f]},y.precision=function(b){return arguments.length?(g=+b,l=sS(i,o,90),h=aS(e,t,g),d=sS(a,s,90),m=aS(r,n,g),y):g},y.extentMajor([[-180,-90+Z],[180,90-Z]]).extentMinor([[-180,-80-Z],[180,80+Z]])}function Aw(){return Sw()()}var Hl=t=>t;var Ew=new Ge,Tw=new Ge,cS,fS,Iw,Cw,Ji={point:be,lineStart:be,lineEnd:be,polygonStart:function(){Ji.lineStart=x$,Ji.lineEnd=w$},polygonEnd:function(){Ji.lineStart=Ji.lineEnd=Ji.point=be,Ew.add(wt(Tw)),Tw=new Ge},result:function(){var t=Ew/2;return Ew=new Ge,t}};function x$(){Ji.point=b$}function b$(t,e){Ji.point=uS,cS=Iw=t,fS=Cw=e}function uS(t,e){Tw.add(Cw*t-Iw*e),Iw=t,Cw=e}function w$(){uS(cS,fS)}var Nw=Ji;var Jc=1/0,sg=Jc,Ql=-Jc,ag=Ql,v$={point:_$,lineStart:be,lineEnd:be,polygonStart:be,polygonEnd:be,result:function(){var t=[[Jc,sg],[Ql,ag]];return Ql=ag=-(sg=Jc=1/0),t}};function _$(t,e){t<Jc&&(Jc=t),t>Ql&&(Ql=t),e<sg&&(sg=e),e>ag&&(ag=e)}var tf=v$;var kw=0,Rw=0,Zl=0,cg=0,fg=0,ef=0,Lw=0,Ow=0,Kl=0,hS,dS,co,fo,$r={point:xa,lineStart:lS,lineEnd:pS,polygonStart:function(){$r.lineStart=A$,$r.lineEnd=E$},polygonEnd:function(){$r.point=xa,$r.lineStart=lS,$r.lineEnd=pS},result:function(){var t=Kl?[Lw/Kl,Ow/Kl]:ef?[cg/ef,fg/ef]:Zl?[kw/Zl,Rw/Zl]:[NaN,NaN];return kw=Rw=Zl=cg=fg=ef=Lw=Ow=Kl=0,t}};function xa(t,e){kw+=t,Rw+=e,++Zl}function lS(){$r.point=M$}function M$(t,e){$r.point=S$,xa(co=t,fo=e)}function S$(t,e){var n=t-co,r=e-fo,o=jt(n*n+r*r);cg+=o*(co+t)/2,fg+=o*(fo+e)/2,ef+=o,xa(co=t,fo=e)}function pS(){$r.point=xa}function A$(){$r.point=T$}function E$(){mS(hS,dS)}function T$(t,e){$r.point=mS,xa(hS=co=t,dS=fo=e)}function mS(t,e){var n=t-co,r=e-fo,o=jt(n*n+r*r);cg+=o*(co+t)/2,fg+=o*(fo+e)/2,ef+=o,o=fo*t-co*e,Lw+=o*(co+t),Ow+=o*(fo+e),Kl+=o*3,xa(co=t,fo=e)}var $w=$r;function ug(t){this._context=t}ug.prototype={_radius:4.5,pointRadius:function(t){return this._radius=t,this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){this._line===0&&this._context.closePath(),this._point=NaN},point:function(t,e){switch(this._point){case 0:{this._context.moveTo(t,e),this._point=1;break}case 1:{this._context.lineTo(t,e);break}default:{this._context.moveTo(t+this._radius,e),this._context.arc(t,e,this._radius,0,$e);break}}},result:be};var Fw=new Ge,Dw,gS,yS,Jl,tp,lg={point:be,lineStart:function(){lg.point=I$},lineEnd:function(){Dw&&xS(gS,yS),lg.point=be},polygonStart:function(){Dw=!0},polygonEnd:function(){Dw=null},result:function(){var t=+Fw;return Fw=new Ge,t}};function I$(t,e){lg.point=xS,gS=Jl=t,yS=tp=e}function xS(t,e){Jl-=t,tp-=e,Fw.add(jt(Jl*Jl+tp*tp)),Jl=t,tp=e}var Pw=lg;var bS,pg,wS,vS,nf=class{constructor(e){this._append=e==null?_S:C$(e),this._radius=4.5,this._=""}pointRadius(e){return this._radius=+e,this}polygonStart(){this._line=0}polygonEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){this._line===0&&(this._+="Z"),this._point=NaN}point(e,n){switch(this._point){case 0:{this._append`M${e},${n}`,this._point=1;break}case 1:{this._append`L${e},${n}`;break}default:{if(this._append`M${e},${n}`,this._radius!==wS||this._append!==pg){let r=this._radius,o=this._;this._="",this._append`m0,${r}a${r},${r} 0 1,1 0,${-2*r}a${r},${r} 0 1,1 0,${2*r}z`,wS=r,pg=this._append,vS=this._,this._=o}this._+=vS;break}}}result(){let e=this._;return this._="",e.length?e:null}};function _S(t){let e=1;this._+=t[0];for(let n=t.length;e<n;++e)this._+=arguments[e]+t[e]}function C$(t){let e=Math.floor(t);if(!(e>=0))throw new RangeError(`invalid digits: ${t}`);if(e>15)return _S;if(e!==bS){let n=10**e;bS=e,pg=function(o){let i=1;this._+=o[0];for(let s=o.length;i<s;++i)this._+=Math.round(arguments[i]*n)/n+o[i]}}return pg}function De(t,e){let n=3,r=4.5,o,i;function s(a){return a&&(typeof r=="function"&&i.pointRadius(+r.apply(this,arguments)),Gn(a,o(i))),i.result()}return s.area=function(a){return Gn(a,o(Nw)),Nw.result()},s.measure=function(a){return Gn(a,o(Pw)),Pw.result()},s.bounds=function(a){return Gn(a,o(tf)),tf.result()},s.centroid=function(a){return Gn(a,o($w)),$w.result()},s.projection=function(a){return arguments.length?(o=a==null?(t=null,Hl):(t=a).stream,s):t},s.context=function(a){return arguments.length?(i=a==null?(e=null,new nf(n)):new ug(e=a),typeof r!="function"&&i.pointRadius(r),s):e},s.pointRadius=function(a){return arguments.length?(r=typeof a=="function"?a:(i.pointRadius(+a),+a),s):r},s.digits=function(a){if(!arguments.length)return n;if(a==null)n=null;else{let c=Math.floor(a);if(!(c>=0))throw new RangeError(`invalid digits: ${a}`);n=c}return e===null&&(i=new nf(n)),s},s.projection(t).digits(n).context(e)}function ba(t){return{stream:rf(t)}}function rf(t){return function(e){var n=new qw;for(var r in t)n[r]=t[r];return n.stream=e,n}}function qw(){}qw.prototype={constructor:qw,point:function(t,e){this.stream.point(t,e)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}};function Bw(t,e,n){var r=t.clipExtent&&t.clipExtent();return t.scale(150).translate([0,0]),r!=null&&t.clipExtent(null),Gn(n,t.stream(tf)),e(tf.result()),r!=null&&t.clipExtent(r),t}function ep(t,e,n){return Bw(t,function(r){var o=e[1][0]-e[0][0],i=e[1][1]-e[0][1],s=Math.min(o/(r[1][0]-r[0][0]),i/(r[1][1]-r[0][1])),a=+e[0][0]+(o-s*(r[1][0]+r[0][0]))/2,c=+e[0][1]+(i-s*(r[1][1]+r[0][1]))/2;t.scale(150*s).translate([a,c])},n)}function hg(t,e,n){return ep(t,[[0,0],e],n)}function dg(t,e,n){return Bw(t,function(r){var o=+e,i=o/(r[1][0]-r[0][0]),s=(o-i*(r[1][0]+r[0][0]))/2,a=-i*r[0][1];t.scale(150*i).translate([s,a])},n)}function mg(t,e,n){return Bw(t,function(r){var o=+e,i=o/(r[1][1]-r[0][1]),s=-i*r[0][0],a=(o-i*(r[1][1]+r[0][1]))/2;t.scale(150*i).translate([s,a])},n)}var MS=16,N$=H(30*vt);function zw(t,e){return+e?R$(t,e):k$(t)}function k$(t){return rf({point:function(e,n){e=t(e,n),this.stream.point(e[0],e[1])}})}function R$(t,e){function n(r,o,i,s,a,c,f,u,p,l,h,d,m,g){var y=f-r,x=u-o,b=y*y+x*x;if(b>4*e&&m--){var w=s+l,_=a+h,v=c+d,M=jt(w*w+_*_+v*v),E=Zt(v/=M),T=wt(wt(v)-1)<Z||wt(i-p)<Z?(i+p)/2:xe(_,w),I=t(T,E),A=I[0],k=I[1],L=A-r,S=k-o,C=x*L-y*S;(C*C/b>e||wt((y*L+x*S)/b-.5)>.3||s*l+a*h+c*d<N$)&&(n(r,o,i,s,a,c,A,k,T,w/=M,_/=M,v,m,g),g.point(A,k),n(A,k,T,w,_,v,f,u,p,l,h,d,m,g))}}return function(r){var o,i,s,a,c,f,u,p,l,h,d,m,g={point:y,lineStart:x,lineEnd:w,polygonStart:function(){r.polygonStart(),g.lineStart=_},polygonEnd:function(){r.polygonEnd(),g.lineStart=x}};function y(E,T){E=t(E,T),r.point(E[0],E[1])}function x(){p=NaN,g.point=b,r.lineStart()}function b(E,T){var I=ao([E,T]),A=t(E,T);n(p,l,u,h,d,m,p=A[0],l=A[1],u=E,h=I[0],d=I[1],m=I[2],MS,r),r.point(p,l)}function w(){g.point=y,r.lineEnd()}function _(){x(),g.point=v,g.lineEnd=M}function v(E,T){b(o=E,T),i=p,s=l,a=h,c=d,f=m,g.point=b}function M(){n(p,l,u,h,d,m,i,s,o,a,c,f,MS,r),g.lineEnd=w,w()}return g}}var L$=rf({point:function(t,e){this.stream.point(t*vt,e*vt)}});function O$(t){return rf({point:function(e,n){var r=t(e,n);return this.stream.point(r[0],r[1])}})}function $$(t,e,n,r,o){function i(s,a){return s*=r,a*=o,[e+t*s,n-t*a]}return i.invert=function(s,a){return[(s-e)/t*r,(n-a)/t*o]},i}function SS(t,e,n,r,o,i){if(!i)return $$(t,e,n,r,o);var s=H(i),a=V(i),c=s*t,f=a*t,u=s/t,p=a/t,l=(a*n-s*e)/t,h=(a*e+s*n)/t;function d(m,g){return m*=r,g*=o,[c*m-f*g+e,n-f*m-c*g]}return d.invert=function(m,g){return[r*(u*m-p*g+l),o*(h-p*m-u*g)]},d}function Ze(t){return Yw(function(){return t})()}function Yw(t){var e,n=150,r=480,o=250,i=0,s=0,a=0,c=0,f=0,u,p=0,l=1,h=1,d=null,m=Mw,g=null,y,x,b,w=Hl,_=.5,v,M,E,T,I;function A(C){return E(C[0]*vt,C[1]*vt)}function k(C){return C=E.invert(C[0],C[1]),C&&[C[0]*ce,C[1]*ce]}A.stream=function(C){return T&&I===C?T:T=L$(O$(u)(m(v(w(I=C)))))},A.preclip=function(C){return arguments.length?(m=C,d=void 0,S()):m},A.postclip=function(C){return arguments.length?(w=C,g=y=x=b=null,S()):w},A.clipAngle=function(C){return arguments.length?(m=+C?oS(d=C*vt):(d=null,Mw),S()):d*ce},A.clipExtent=function(C){return arguments.length?(w=C==null?(g=y=x=b=null,Hl):Kc(g=+C[0][0],y=+C[0][1],x=+C[1][0],b=+C[1][1]),S()):g==null?null:[[g,y],[x,b]]},A.scale=function(C){return arguments.length?(n=+C,L()):n},A.translate=function(C){return arguments.length?(r=+C[0],o=+C[1],L()):[r,o]},A.center=function(C){return arguments.length?(i=C[0]%360*vt,s=C[1]%360*vt,L()):[i*ce,s*ce]},A.rotate=function(C){return arguments.length?(a=C[0]%360*vt,c=C[1]%360*vt,f=C.length>2?C[2]%360*vt:0,L()):[a*ce,c*ce,f*ce]},A.angle=function(C){return arguments.length?(p=C%360*vt,L()):p*ce},A.reflectX=function(C){return arguments.length?(l=C?-1:1,L()):l<0},A.reflectY=function(C){return arguments.length?(h=C?-1:1,L()):h<0},A.precision=function(C){return arguments.length?(v=zw(M,_=C*C),S()):jt(_)},A.fitExtent=function(C,N){return ep(A,C,N)},A.fitSize=function(C,N){return hg(A,C,N)},A.fitWidth=function(C,N){return dg(A,C,N)},A.fitHeight=function(C,N){return mg(A,C,N)};function L(){var C=SS(n,0,0,l,h,p).apply(null,e(i,s)),N=SS(n,r-C[0],o-C[1],l,h,p);return u=vw(a,c,f),M=Gl(e,N),E=Gl(u,M),v=zw(M,_),S()}function S(){return T=I=null,A}return function(){return e=t.apply(this,arguments),A.invert=e.invert&&k,L()}}function of(t){var e=0,n=mt/3,r=Yw(t),o=r(e,n);return o.parallels=function(i){return arguments.length?r(e=i[0]*vt,n=i[1]*vt):[e*ce,n*ce]},o}function AS(t){var e=H(t);function n(r,o){return[r*e,V(o)/e]}return n.invert=function(r,o){return[r/e,Zt(o*e)]},n}function ES(t,e){var n=V(t),r=(n+V(e))/2;if(wt(r)<Z)return AS(t);var o=1+n*(2*r-n),i=jt(o)/r;function s(a,c){var f=jt(o-2*r*V(c))/r;return[f*V(a*=r),i-f*H(a)]}return s.invert=function(a,c){var f=i-c,u=xe(a,wt(f))*fn(f);return f*r<0&&(u-=mt*fn(a)*fn(f)),[u/r,Zt((o-(a*a+f*f)*r*r)/(2*r))]},s}function ts(){return of(ES).scale(155.424).center([0,33.6442])}function np(){return ts().parallels([29.5,45.5]).scale(1070).translate([480,250]).rotate([96,0]).center([-.6,38.7])}function D$(t){var e=t.length;return{point:function(n,r){for(var o=-1;++o<e;)t[o].point(n,r)},sphere:function(){for(var n=-1;++n<e;)t[n].sphere()},lineStart:function(){for(var n=-1;++n<e;)t[n].lineStart()},lineEnd:function(){for(var n=-1;++n<e;)t[n].lineEnd()},polygonStart:function(){for(var n=-1;++n<e;)t[n].polygonStart()},polygonEnd:function(){for(var n=-1;++n<e;)t[n].polygonEnd()}}}function Uw(){var t,e,n=np(),r,o=ts().rotate([154,0]).center([-2,58.5]).parallels([55,65]),i,s=ts().rotate([157,0]).center([-3,19.9]).parallels([8,18]),a,c,f={point:function(l,h){c=[l,h]}};function u(l){var h=l[0],d=l[1];return c=null,r.point(h,d),c||(i.point(h,d),c)||(a.point(h,d),c)}u.invert=function(l){var h=n.scale(),d=n.translate(),m=(l[0]-d[0])/h,g=(l[1]-d[1])/h;return(g>=.12&&g<.234&&m>=-.425&&m<-.214?o:g>=.166&&g<.234&&m>=-.214&&m<-.115?s:n).invert(l)},u.stream=function(l){return t&&e===l?t:t=D$([n.stream(e=l),o.stream(l),s.stream(l)])},u.precision=function(l){return arguments.length?(n.precision(l),o.precision(l),s.precision(l),p()):n.precision()},u.scale=function(l){return arguments.length?(n.scale(l),o.scale(l*.35),s.scale(l),u.translate(n.translate())):n.scale()},u.translate=function(l){if(!arguments.length)return n.translate();var h=n.scale(),d=+l[0],m=+l[1];return r=n.translate(l).clipExtent([[d-.455*h,m-.238*h],[d+.455*h,m+.238*h]]).stream(f),i=o.translate([d-.307*h,m+.201*h]).clipExtent([[d-.425*h+Z,m+.12*h+Z],[d-.214*h-Z,m+.234*h-Z]]).stream(f),a=s.translate([d-.205*h,m+.212*h]).clipExtent([[d-.214*h+Z,m+.166*h+Z],[d-.115*h-Z,m+.234*h-Z]]).stream(f),p()},u.fitExtent=function(l,h){return ep(u,l,h)},u.fitSize=function(l,h){return hg(u,l,h)},u.fitWidth=function(l,h){return dg(u,l,h)},u.fitHeight=function(l,h){return mg(u,l,h)};function p(){return t=e=null,u}return u.scale(1070)}function gg(t){return function(e,n){var r=H(e),o=H(n),i=t(r*o);return i===1/0?[2,0]:[i*o*V(e),i*V(n)]}}function uo(t){return function(e,n){var r=jt(e*e+n*n),o=t(r),i=V(o),s=H(o);return[xe(e*i,r*s),Zt(r&&n*i/r)]}}var jw=gg(function(t){return jt(2/(1+t))});jw.invert=uo(function(t){return 2*Zt(t/2)});function Xw(){return Ze(jw).scale(124.75).clipAngle(180-.001)}var Ww=gg(function(t){return(t=X0(t))&&t/V(t)});Ww.invert=uo(function(t){return t});function Gw(){return Ze(Ww).scale(79.4188).clipAngle(180-.001)}function sf(t,e){return[t,ya(Hc((Ut+e)/2))]}sf.invert=function(t,e){return[t,2*dr(Y0(e))-Ut]};function Vw(){return Hw(sf).scale(961/$e)}function Hw(t){var e=Ze(t),n=e.center,r=e.scale,o=e.translate,i=e.clipExtent,s=null,a,c,f;e.scale=function(p){return arguments.length?(r(p),u()):r()},e.translate=function(p){return arguments.length?(o(p),u()):o()},e.center=function(p){return arguments.length?(n(p),u()):n()},e.clipExtent=function(p){return arguments.length?(p==null?s=a=c=f=null:(s=+p[0][0],a=+p[0][1],c=+p[1][0],f=+p[1][1]),u()):s==null?null:[[s,a],[c,f]]};function u(){var p=mt*r(),l=e(J8(e.rotate()).invert([0,0]));return i(s==null?[[l[0]-p,l[1]-p],[l[0]+p,l[1]+p]]:t===sf?[[Math.max(l[0]-p,s),a],[Math.min(l[0]+p,c),f]]:[[s,Math.max(l[1]-p,a)],[c,Math.min(l[1]+p,f)]])}return u()}function yg(t){return Hc((Ut+t)/2)}function TS(t,e){var n=H(t),r=t===e?V(t):ya(n/H(e))/ya(yg(e)/yg(t)),o=n*j0(yg(t),r)/r;if(!r)return sf;function i(s,a){o>0?a<-Ut+Z&&(a=-Ut+Z):a>Ut-Z&&(a=Ut-Z);var c=o/j0(yg(a),r);return[c*V(r*s),o-c*H(r*s)]}return i.invert=function(s,a){var c=o-a,f=fn(r)*jt(s*s+c*c),u=xe(s,wt(c))*fn(c);return c*r<0&&(u-=mt*fn(s)*fn(c)),[u/r,2*dr(j0(o/f,1/r))-Ut]},i}function Qw(){return of(TS).scale(109.5).parallels([30,30])}function af(t,e){return[t,e]}af.invert=af;function Zw(){return Ze(af).scale(152.63)}function IS(t,e){var n=H(t),r=t===e?V(t):(n-H(e))/(e-t),o=n/r+t;if(wt(r)<Z)return af;function i(s,a){var c=o-a,f=r*s;return[c*V(f),o-c*H(f)]}return i.invert=function(s,a){var c=o-a,f=xe(s,wt(c))*fn(c);return c*r<0&&(f-=mt*fn(s)*fn(c)),[f/r,o-fn(r)*jt(s*s+c*c)]},i}function Kw(){return of(IS).scale(131.154).center([0,13.9389])}var rp=1.340264,op=-.081106,ip=893e-6,sp=.003796,xg=jt(3)/2,F$=12;function Jw(t,e){var n=Zt(xg*V(e)),r=n*n,o=r*r*r;return[t*H(n)/(xg*(rp+3*op*r+o*(7*ip+9*sp*r))),n*(rp+op*r+o*(ip+sp*r))]}Jw.invert=function(t,e){for(var n=e,r=n*n,o=r*r*r,i=0,s,a,c;i<F$&&(a=n*(rp+op*r+o*(ip+sp*r))-e,c=rp+3*op*r+o*(7*ip+9*sp*r),n-=s=a/c,r=n*n,o=r*r*r,!(wt(s)<ga));++i);return[xg*t*(rp+3*op*r+o*(7*ip+9*sp*r))/H(n),Zt(V(n)/xg)]};function tv(){return Ze(Jw).scale(177.158)}function ev(t,e){var n=H(e),r=H(t)*n;return[n*V(t)/r,V(e)/r]}ev.invert=uo(dr);function nv(){return Ze(ev).scale(144.049).clipAngle(60)}function rv(t,e){return[H(e)*V(t),V(e)]}rv.invert=uo(Zt);function ov(){return Ze(rv).scale(249.5).clipAngle(90+Z)}function iv(t,e){var n=H(e),r=1+H(t)*n;return[n*V(t)/r,V(e)/r]}iv.invert=uo(function(t){return 2*dr(t)});function sv(){return Ze(iv).scale(250).clipAngle(142)}function av(t,e){return[ya(Hc((Ut+e)/2)),-t]}av.invert=function(t,e){return[-e,2*dr(Y0(t))-Ut]};function cv(){var t=Hw(av),e=t.center,n=t.rotate;return t.center=function(r){return arguments.length?e([-r[1],r[0]]):(r=e(),[r[1],-r[0]])},t.rotate=function(r){return arguments.length?n([r[0],r[1],r.length>2?r[2]+90:90]):(r=n(),[r[0],r[1],r[2]-90])},n([0,0,90]).scale(159.155)}function P$(t,e){return t.parent===e.parent?1:2}function q$(t){return t.reduce(B$,0)/t.length}function B$(t,e){return t+e.x}function z$(t){return 1+t.reduce(Y$,0)}function Y$(t,e){return Math.max(t,e.y)}function U$(t){for(var e;e=t.children;)t=e[0];return t}function j$(t){for(var e;e=t.children;)t=e[e.length-1];return t}function bg(){var t=P$,e=1,n=1,r=!1;function o(i){var s,a=0;i.eachAfter(function(l){var h=l.children;h?(l.x=q$(h),l.y=z$(h)):(l.x=s?a+=t(l,s):0,l.y=0,s=l)});var c=U$(i),f=j$(i),u=c.x-t(c,f)/2,p=f.x+t(f,c)/2;return i.eachAfter(r?function(l){l.x=(l.x-i.x)*e,l.y=(i.y-l.y)*n}:function(l){l.x=(l.x-u)/(p-u)*e,l.y=(1-(i.y?l.y/i.y:1))*n})}return o.separation=function(i){return arguments.length?(t=i,o):t},o.size=function(i){return arguments.length?(r=!1,e=+i[0],n=+i[1],o):r?null:[e,n]},o.nodeSize=function(i){return arguments.length?(r=!0,e=+i[0],n=+i[1],o):r?[e,n]:null},o}function X$(t){var e=0,n=t.children,r=n&&n.length;if(!r)e=1;else for(;--r>=0;)e+=n[r].value;t.value=e}function CS(){return this.eachAfter(X$)}function NS(t,e){let n=-1;for(let r of this)t.call(e,r,++n,this);return this}function kS(t,e){for(var n=this,r=[n],o,i,s=-1;n=r.pop();)if(t.call(e,n,++s,this),o=n.children)for(i=o.length-1;i>=0;--i)r.push(o[i]);return this}function RS(t,e){for(var n=this,r=[n],o=[],i,s,a,c=-1;n=r.pop();)if(o.push(n),i=n.children)for(s=0,a=i.length;s<a;++s)r.push(i[s]);for(;n=o.pop();)t.call(e,n,++c,this);return this}function LS(t,e){let n=-1;for(let r of this)if(t.call(e,r,++n,this))return r}function OS(t){return this.eachAfter(function(e){for(var n=+t(e.data)||0,r=e.children,o=r&&r.length;--o>=0;)n+=r[o].value;e.value=n})}function $S(t){return this.eachBefore(function(e){e.children&&e.children.sort(t)})}function DS(t){for(var e=this,n=W$(e,t),r=[e];e!==n;)e=e.parent,r.push(e);for(var o=r.length;t!==n;)r.splice(o,0,t),t=t.parent;return r}function W$(t,e){if(t===e)return t;var n=t.ancestors(),r=e.ancestors(),o=null;for(t=n.pop(),e=r.pop();t===e;)o=t,t=n.pop(),e=r.pop();return o}function FS(){for(var t=this,e=[t];t=t.parent;)e.push(t);return e}function PS(){return Array.from(this)}function qS(){var t=[];return this.eachBefore(function(e){e.children||t.push(e)}),t}function BS(){var t=this,e=[];return t.each(function(n){n!==t&&e.push({source:n.parent,target:n})}),e}function*zS(){var t=this,e,n=[t],r,o,i;do for(e=n.reverse(),n=[];t=e.pop();)if(yield t,r=t.children)for(o=0,i=r.length;o<i;++o)n.push(r[o]);while(n.length)}function fv(t,e){t instanceof Map?(t=[void 0,t],e===void 0&&(e=H$)):e===void 0&&(e=V$);for(var n=new es(t),r,o=[n],i,s,a,c;r=o.pop();)if((s=e(r.data))&&(c=(s=Array.from(s)).length))for(r.children=s,a=c-1;a>=0;--a)o.push(i=s[a]=new es(s[a])),i.parent=r,i.depth=r.depth+1;return n.eachBefore(uv)}function G$(){return fv(this).eachBefore(Q$)}function V$(t){return t.children}function H$(t){return Array.isArray(t)?t[1]:null}function Q$(t){t.data.value!==void 0&&(t.value=t.data.value),t.data=t.data.data}function uv(t){var e=0;do t.height=e;while((t=t.parent)&&t.height<++e)}function es(t){this.data=t,this.depth=this.height=0,this.parent=null}es.prototype=fv.prototype={constructor:es,count:CS,each:NS,eachAfter:RS,eachBefore:kS,find:LS,sum:OS,sort:$S,path:DS,ancestors:FS,descendants:PS,leaves:qS,links:BS,copy:G$,[Symbol.iterator]:zS};function wg(t){return t==null?null:Z$(t)}function Z$(t){if(typeof t!="function")throw new Error;return t}var K$={depth:-1},YS={},lv={};function J$(t){return t.id}function tD(t){return t.parentId}function vg(){var t=J$,e=tD,n;function r(o){var i=Array.from(o),s=t,a=e,c,f,u,p,l,h,d,m,g=new Map;if(n!=null){let y=i.map((w,_)=>eD(n(w,_,o))),x=y.map(US),b=new Set(y).add("");for(let w of x)b.has(w)||(b.add(w),y.push(w),x.push(US(w)),i.push(lv));s=(w,_)=>y[_],a=(w,_)=>x[_]}for(u=0,c=i.length;u<c;++u)f=i[u],h=i[u]=new es(f),(d=s(f,u,o))!=null&&(d+="")&&(m=h.id=d,g.set(m,g.has(m)?YS:h)),(d=a(f,u,o))!=null&&(d+="")&&(h.parent=d);for(u=0;u<c;++u)if(h=i[u],d=h.parent){if(l=g.get(d),!l)throw new Error("missing: "+d);if(l===YS)throw new Error("ambiguous: "+d);l.children?l.children.push(h):l.children=[h],h.parent=l}else{if(p)throw new Error("multiple roots");p=h}if(!p)throw new Error("no root");if(n!=null){for(;p.data===lv&&p.children.length===1;)p=p.children[0],--c;for(let y=i.length-1;y>=0&&(h=i[y],h.data===lv);--y)h.data=null}if(p.parent=K$,p.eachBefore(function(y){y.depth=y.parent.depth+1,--c}).eachBefore(uv),p.parent=null,c>0)throw new Error("cycle");return p}return r.id=function(o){return arguments.length?(t=wg(o),r):t},r.parentId=function(o){return arguments.length?(e=wg(o),r):e},r.path=function(o){return arguments.length?(n=wg(o),r):n},r}function eD(t){t=`${t}`;let e=t.length;return pv(t,e-1)&&!pv(t,e-2)&&(t=t.slice(0,-1)),t[0]==="/"?t:`/${t}`}function US(t){let e=t.length;if(e<2)return"";for(;--e>1&&!pv(t,e););return t.slice(0,e)}function pv(t,e){if(t[e]==="/"){let n=0;for(;e>0&&t[--e]==="\\";)++n;if(!(n&1))return!0}return!1}function nD(t,e){return t.parent===e.parent?1:2}function hv(t){var e=t.children;return e?e[0]:t.t}function dv(t){var e=t.children;return e?e[e.length-1]:t.t}function rD(t,e,n){var r=n/(e.i-t.i);e.c-=r,e.s+=n,t.c+=r,e.z+=n,e.m+=n}function oD(t){for(var e=0,n=0,r=t.children,o=r.length,i;--o>=0;)i=r[o],i.z+=e,i.m+=e,e+=i.s+(n+=i.c)}function iD(t,e,n){return t.a.parent===e.parent?t.a:n}function _g(t,e){this._=t,this.parent=null,this.children=null,this.A=null,this.a=this,this.z=0,this.m=0,this.c=0,this.s=0,this.t=null,this.i=e}_g.prototype=Object.create(es.prototype);function sD(t){for(var e=new _g(t,0),n,r=[e],o,i,s,a;n=r.pop();)if(i=n._.children)for(n.children=new Array(a=i.length),s=a-1;s>=0;--s)r.push(o=n.children[s]=new _g(i[s],s)),o.parent=n;return(e.parent=new _g(null,0)).children=[e],e}function wa(){var t=nD,e=1,n=1,r=null;function o(f){var u=sD(f);if(u.eachAfter(i),u.parent.m=-u.z,u.eachBefore(s),r)f.eachBefore(c);else{var p=f,l=f,h=f;f.eachBefore(function(x){x.x<p.x&&(p=x),x.x>l.x&&(l=x),x.depth>h.depth&&(h=x)});var d=p===l?1:t(p,l)/2,m=d-p.x,g=e/(l.x+d+m),y=n/(h.depth||1);f.eachBefore(function(x){x.x=(x.x+m)*g,x.y=x.depth*y})}return f}function i(f){var u=f.children,p=f.parent.children,l=f.i?p[f.i-1]:null;if(u){oD(f);var h=(u[0].z+u[u.length-1].z)/2;l?(f.z=l.z+t(f._,l._),f.m=f.z-h):f.z=h}else l&&(f.z=l.z+t(f._,l._));f.parent.A=a(f,l,f.parent.A||p[0])}function s(f){f._.x=f.z+f.parent.m,f.m+=f.parent.m}function a(f,u,p){if(u){for(var l=f,h=f,d=u,m=l.parent.children[0],g=l.m,y=h.m,x=d.m,b=m.m,w;d=dv(d),l=hv(l),d&&l;)m=hv(m),h=dv(h),h.a=f,w=d.z+x-l.z-g+t(d._,l._),w>0&&(rD(iD(d,f,p),f,w),g+=w,y+=w),x+=d.m,g+=l.m,b+=m.m,y+=h.m;d&&!dv(h)&&(h.t=d,h.m+=x-y),l&&!hv(m)&&(m.t=l,m.m+=g-b,p=f)}return p}function c(f){f.x*=e,f.y=f.depth*n}return o.separation=function(f){return arguments.length?(t=f,o):t},o.size=function(f){return arguments.length?(r=!1,e=+f[0],n=+f[1],o):r?null:[e,n]},o.nodeSize=function(f){return arguments.length?(r=!0,e=+f[0],n=+f[1],o):r?[e,n]:null},o}var jS=23283064365386963e-26;function va(t=Math.random()){let e=(0<=t&&t<1?t/jS:Math.abs(t))|0;return()=>(e=1664525*e+1013904223|0,jS*(e>>>0))}function we(t,e){switch(arguments.length){case 0:break;case 1:this.range(t);break;default:this.range(e).domain(t);break}return this}function ap(t,e){switch(arguments.length){case 0:break;case 1:{typeof t=="function"?this.interpolator(t):this.range(t);break}default:{this.domain(t),typeof e=="function"?this.interpolator(e):this.range(e);break}}return this}var cp=Symbol("implicit");function _a(){var t=new wn,e=[],n=[],r=cp;function o(i){let s=t.get(i);if(s===void 0){if(r!==cp)return r;t.set(i,s=e.push(i)-1)}return n[s%n.length]}return o.domain=function(i){if(!arguments.length)return e.slice();e=[],t=new wn;for(let s of i)t.has(s)||t.set(s,e.push(s)-1);return o},o.range=function(i){return arguments.length?(n=Array.from(i),o):n.slice()},o.unknown=function(i){return arguments.length?(r=i,o):r},o.copy=function(){return _a(e,n).unknown(r)},we.apply(o,arguments),o}function ns(){var t=_a().unknown(void 0),e=t.domain,n=t.range,r=0,o=1,i,s,a=!1,c=0,f=0,u=.5;delete t.unknown;function p(){var l=e().length,h=o<r,d=h?o:r,m=h?r:o;i=(m-d)/Math.max(1,l-c+f*2),a&&(i=Math.floor(i)),d+=(m-d-i*(l-c))*u,s=i*(1-c),a&&(d=Math.round(d),s=Math.round(s));var g=pe(l).map(function(y){return d+i*y});return n(h?g.reverse():g)}return t.domain=function(l){return arguments.length?(e(l),p()):e()},t.range=function(l){return arguments.length?([r,o]=l,r=+r,o=+o,p()):[r,o]},t.rangeRound=function(l){return[r,o]=l,r=+r,o=+o,a=!0,p()},t.bandwidth=function(){return s},t.step=function(){return i},t.round=function(l){return arguments.length?(a=!!l,p()):a},t.padding=function(l){return arguments.length?(c=Math.min(1,f=+l),p()):c},t.paddingInner=function(l){return arguments.length?(c=Math.min(1,l),p()):c},t.paddingOuter=function(l){return arguments.length?(f=+l,p()):f},t.align=function(l){return arguments.length?(u=Math.max(0,Math.min(1,l)),p()):u},t.copy=function(){return ns(e(),[r,o]).round(a).paddingInner(c).paddingOuter(f).align(u)},we.apply(p(),arguments)}function XS(t){var e=t.copy;return t.padding=t.paddingOuter,delete t.paddingInner,delete t.paddingOuter,t.copy=function(){return XS(e())},t}function mv(){return XS(ns.apply(null,arguments).paddingInner(1))}function gv(t){return function(){return t}}function cf(t){return+t}var WS=[0,1];function Pn(t){return t}function yv(t,e){return(e-=t=+t)?function(n){return(n-t)/e}:gv(isNaN(e)?NaN:.5)}function aD(t,e){var n;return t>e&&(n=t,t=e,e=n),function(r){return Math.max(t,Math.min(e,r))}}function cD(t,e,n){var r=t[0],o=t[1],i=e[0],s=e[1];return o<r?(r=yv(o,r),i=n(s,i)):(r=yv(r,o),i=n(i,s)),function(a){return i(r(a))}}function fD(t,e,n){var r=Math.min(t.length,e.length)-1,o=new Array(r),i=new Array(r),s=-1;for(t[r]<t[0]&&(t=t.slice().reverse(),e=e.slice().reverse());++s<r;)o[s]=yv(t[s],t[s+1]),i[s]=n(e[s],e[s+1]);return function(a){var c=Go(t,a,1,r)-1;return i[c](o[c](a))}}function lo(t,e){return e.domain(t.domain()).range(t.range()).interpolate(t.interpolate()).clamp(t.clamp()).unknown(t.unknown())}function Ma(){var t=WS,e=WS,n=Wn,r,o,i,s=Pn,a,c,f;function u(){var l=Math.min(t.length,e.length);return s!==Pn&&(s=aD(t[0],t[l-1])),a=l>2?fD:cD,c=f=null,p}function p(l){return l==null||isNaN(l=+l)?i:(c||(c=a(t.map(r),e,n)))(r(s(l)))}return p.invert=function(l){return s(o((f||(f=a(e,t.map(r),Qt)))(l)))},p.domain=function(l){return arguments.length?(t=Array.from(l,cf),u()):t.slice()},p.range=function(l){return arguments.length?(e=Array.from(l),u()):e.slice()},p.rangeRound=function(l){return e=Array.from(l),n=ua,u()},p.clamp=function(l){return arguments.length?(s=l?!0:Pn,u()):s!==Pn},p.interpolate=function(l){return arguments.length?(n=l,u()):n},p.unknown=function(l){return arguments.length?(i=l,p):i},function(l,h){return r=l,o=h,u()}}function fp(){return Ma()(Pn,Pn)}function xv(t,e,n,r){var o=Nc(t,e,n),i;switch(r=so(r??",f"),r.type){case"s":{var s=Math.max(Math.abs(t),Math.abs(e));return r.precision==null&&!isNaN(i=lw(o,s))&&(r.precision=i),z0(r,s)}case"":case"e":case"g":case"p":case"r":{r.precision==null&&!isNaN(i=pw(o,Math.max(Math.abs(t),Math.abs(e))))&&(r.precision=i-(r.type==="e"));break}case"f":case"%":{r.precision==null&&!isNaN(i=uw(o))&&(r.precision=i-(r.type==="%")*2);break}}return hr(r)}function ii(t){var e=t.domain;return t.ticks=function(n){var r=e();return He(r[0],r[r.length-1],n??10)},t.tickFormat=function(n,r){var o=e();return xv(o[0],o[o.length-1],n??10,r)},t.nice=function(n){n==null&&(n=10);var r=e(),o=0,i=r.length-1,s=r[o],a=r[i],c,f,u=10;for(a<s&&(f=s,s=a,a=f,f=o,o=i,i=f);u-- >0;){if(f=Ho(s,a,n),f===c)return r[o]=s,r[i]=a,e(r);if(f>0)s=Math.floor(s/f)*f,a=Math.ceil(a/f)*f;else if(f<0)s=Math.ceil(s*f)/f,a=Math.floor(a*f)/f;else break;c=f}return t},t}function si(){var t=fp();return t.copy=function(){return lo(t,si())},we.apply(t,arguments),ii(t)}function up(t){var e;function n(r){return r==null||isNaN(r=+r)?e:r}return n.invert=n,n.domain=n.range=function(r){return arguments.length?(t=Array.from(r,cf),n):t.slice()},n.unknown=function(r){return arguments.length?(e=r,n):e},n.copy=function(){return up(t).unknown(e)},t=arguments.length?Array.from(t,cf):[0,1],ii(n)}function lp(t,e){t=t.slice();var n=0,r=t.length-1,o=t[n],i=t[r],s;return i<o&&(s=n,n=r,r=s,s=o,o=i,i=s),t[n]=e.floor(o),t[r]=e.ceil(i),t}function GS(t){return Math.log(t)}function VS(t){return Math.exp(t)}function uD(t){return-Math.log(-t)}function lD(t){return-Math.exp(-t)}function pD(t){return isFinite(t)?+("1e"+t):t<0?0:t}function hD(t){return t===10?pD:t===Math.E?Math.exp:e=>Math.pow(t,e)}function dD(t){return t===Math.E?Math.log:t===10&&Math.log10||t===2&&Math.log2||(t=Math.log(t),e=>Math.log(e)/t)}function HS(t){return(e,n)=>-t(-e,n)}function bv(t){let e=t(GS,VS),n=e.domain,r=10,o,i;function s(){return o=dD(r),i=hD(r),n()[0]<0?(o=HS(o),i=HS(i),t(uD,lD)):t(GS,VS),e}return e.base=function(a){return arguments.length?(r=+a,s()):r},e.domain=function(a){return arguments.length?(n(a),s()):n()},e.ticks=a=>{let c=n(),f=c[0],u=c[c.length-1],p=u<f;p&&([f,u]=[u,f]);let l=o(f),h=o(u),d,m,g=a==null?10:+a,y=[];if(!(r%1)&&h-l<g){if(l=Math.floor(l),h=Math.ceil(h),f>0){for(;l<=h;++l)for(d=1;d<r;++d)if(m=l<0?d/i(-l):d*i(l),!(m<f)){if(m>u)break;y.push(m)}}else for(;l<=h;++l)for(d=r-1;d>=1;--d)if(m=l>0?d/i(-l):d*i(l),!(m<f)){if(m>u)break;y.push(m)}y.length*2<g&&(y=He(f,u,g))}else y=He(l,h,Math.min(h-l,g)).map(i);return p?y.reverse():y},e.tickFormat=(a,c)=>{if(a==null&&(a=10),c==null&&(c=r===10?"s":","),typeof c!="function"&&(!(r%1)&&(c=so(c)).precision==null&&(c.trim=!0),c=hr(c)),a===1/0)return c;let f=Math.max(1,r*a/e.ticks().length);return u=>{let p=u/i(Math.round(o(u)));return p*r<r-.5&&(p*=r),p<=f?c(u):""}},e.nice=()=>n(lp(n(),{floor:a=>i(Math.floor(o(a))),ceil:a=>i(Math.ceil(o(a)))})),e}function pp(){let t=bv(Ma()).domain([1,10]);return t.copy=()=>lo(t,pp()).base(t.base()),we.apply(t,arguments),t}function QS(t){return function(e){return Math.sign(e)*Math.log1p(Math.abs(e/t))}}function ZS(t){return function(e){return Math.sign(e)*Math.expm1(Math.abs(e))*t}}function wv(t){var e=1,n=t(QS(e),ZS(e));return n.constant=function(r){return arguments.length?t(QS(e=+r),ZS(e)):e},ii(n)}function hp(){var t=wv(Ma());return t.copy=function(){return lo(t,hp()).constant(t.constant())},we.apply(t,arguments)}function KS(t){return function(e){return e<0?-Math.pow(-e,t):Math.pow(e,t)}}function mD(t){return t<0?-Math.sqrt(-t):Math.sqrt(t)}function gD(t){return t<0?-t*t:t*t}function vv(t){var e=t(Pn,Pn),n=1;function r(){return n===1?t(Pn,Pn):n===.5?t(mD,gD):t(KS(n),KS(1/n))}return e.exponent=function(o){return arguments.length?(n=+o,r()):n},ii(e)}function dp(){var t=vv(Ma());return t.copy=function(){return lo(t,dp()).exponent(t.exponent())},we.apply(t,arguments),t}function mp(){var t=[],e=[],n=[],r;function o(){var s=0,a=Math.max(1,e.length);for(n=new Array(a-1);++s<a;)n[s-1]=w2(t,s/a);return i}function i(s){return s==null||isNaN(s=+s)?r:e[Go(n,s)]}return i.invertExtent=function(s){var a=e.indexOf(s);return a<0?[NaN,NaN]:[a>0?n[a-1]:t[0],a<n.length?n[a]:t[t.length-1]]},i.domain=function(s){if(!arguments.length)return t.slice();t=[];for(let a of s)a!=null&&!isNaN(a=+a)&&t.push(a);return t.sort(dt),o()},i.range=function(s){return arguments.length?(e=Array.from(s),o()):e.slice()},i.unknown=function(s){return arguments.length?(r=s,i):r},i.quantiles=function(){return n.slice()},i.copy=function(){return mp().domain(t).range(e).unknown(r)},we.apply(i,arguments)}function gp(){var t=[.5],e=[0,1],n,r=1;function o(i){return i!=null&&i<=i?e[Go(t,i,0,r)]:n}return o.domain=function(i){return arguments.length?(t=Array.from(i),r=Math.min(t.length,e.length-1),o):t.slice()},o.range=function(i){return arguments.length?(e=Array.from(i),r=Math.min(t.length,e.length-1),o):e.slice()},o.invertExtent=function(i){var s=e.indexOf(i);return[t[s-1],t[s]]},o.unknown=function(i){return arguments.length?(n=i,o):n},o.copy=function(){return gp().domain(t).range(e).unknown(n)},we.apply(o,arguments)}var _v=new Date,Mv=new Date;function Wt(t,e,n,r){function o(i){return t(i=arguments.length===0?new Date:new Date(+i)),i}return o.floor=i=>(t(i=new Date(+i)),i),o.ceil=i=>(t(i=new Date(i-1)),e(i,1),t(i),i),o.round=i=>{let s=o(i),a=o.ceil(i);return i-s<a-i?s:a},o.offset=(i,s)=>(e(i=new Date(+i),s==null?1:Math.floor(s)),i),o.range=(i,s,a)=>{let c=[];if(i=o.ceil(i),a=a==null?1:Math.floor(a),!(i<s)||!(a>0))return c;let f;do c.push(f=new Date(+i)),e(i,a),t(i);while(f<i&&i<s);return c},o.filter=i=>Wt(s=>{if(s>=s)for(;t(s),!i(s);)s.setTime(s-1)},(s,a)=>{if(s>=s)if(a<0)for(;++a<=0;)for(;e(s,-1),!i(s););else for(;--a>=0;)for(;e(s,1),!i(s););}),n&&(o.count=(i,s)=>(_v.setTime(+i),Mv.setTime(+s),t(_v),t(Mv),Math.floor(n(_v,Mv))),o.every=i=>(i=Math.floor(i),!isFinite(i)||!(i>0)?null:i>1?o.filter(r?s=>r(s)%i===0:s=>o.count(0,s)%i===0):o)),o}var yp=Wt(()=>{},(t,e)=>{t.setTime(+t+e)},(t,e)=>e-t);yp.every=t=>(t=Math.floor(t),!isFinite(t)||!(t>0)?null:t>1?Wt(e=>{e.setTime(Math.floor(e/t)*t)},(e,n)=>{e.setTime(+e+n*t)},(e,n)=>(n-e)/t):yp);var Sbt=yp.range;var Fe=Wt(t=>{t.setTime(t-t.getMilliseconds())},(t,e)=>{t.setTime(+t+e*1e3)},(t,e)=>(e-t)/1e3,t=>t.getUTCSeconds()),JS=Fe.range;var ai=Wt(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*1e3)},(t,e)=>{t.setTime(+t+e*6e4)},(t,e)=>(e-t)/6e4,t=>t.getMinutes()),yD=ai.range,ci=Wt(t=>{t.setUTCSeconds(0,0)},(t,e)=>{t.setTime(+t+e*6e4)},(t,e)=>(e-t)/6e4,t=>t.getUTCMinutes()),xD=ci.range;var fi=Wt(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*1e3-t.getMinutes()*6e4)},(t,e)=>{t.setTime(+t+e*36e5)},(t,e)=>(e-t)/36e5,t=>t.getHours()),bD=fi.range,ui=Wt(t=>{t.setUTCMinutes(0,0,0)},(t,e)=>{t.setTime(+t+e*36e5)},(t,e)=>(e-t)/36e5,t=>t.getUTCHours()),wD=ui.range;var mr=Wt(t=>t.setHours(0,0,0,0),(t,e)=>t.setDate(t.getDate()+e),(t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*6e4)/864e5,t=>t.getDate()-1),vD=mr.range,Ea=Wt(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/864e5,t=>t.getUTCDate()-1),_D=Ea.range,Ta=Wt(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/864e5,t=>Math.floor(t/864e5)),MD=Ta.range;function Ia(t){return Wt(e=>{e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)},(e,n)=>{e.setDate(e.getDate()+n*7)},(e,n)=>(n-e-(n.getTimezoneOffset()-e.getTimezoneOffset())*6e4)/6048e5)}var Vn=Ia(0),rs=Ia(1),Mg=Ia(2),Sg=Ia(3),ho=Ia(4),Ag=Ia(5),Eg=Ia(6),eA=Vn.range,SD=rs.range,AD=Mg.range,ED=Sg.range,TD=ho.range,ID=Ag.range,CD=Eg.range;function Ca(t){return Wt(e=>{e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)},(e,n)=>{e.setUTCDate(e.getUTCDate()+n*7)},(e,n)=>(n-e)/6048e5)}var Hn=Ca(0),os=Ca(1),Tg=Ca(2),Ig=Ca(3),mo=Ca(4),Cg=Ca(5),Ng=Ca(6),nA=Hn.range,ND=os.range,kD=Tg.range,RD=Ig.range,LD=mo.range,OD=Cg.range,$D=Ng.range;var li=Wt(t=>{t.setDate(1),t.setHours(0,0,0,0)},(t,e)=>{t.setMonth(t.getMonth()+e)},(t,e)=>e.getMonth()-t.getMonth()+(e.getFullYear()-t.getFullYear())*12,t=>t.getMonth()),DD=li.range,pi=Wt(t=>{t.setUTCDate(1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCMonth(t.getUTCMonth()+e)},(t,e)=>e.getUTCMonth()-t.getUTCMonth()+(e.getUTCFullYear()-t.getUTCFullYear())*12,t=>t.getUTCMonth()),FD=pi.range;var un=Wt(t=>{t.setMonth(0,1),t.setHours(0,0,0,0)},(t,e)=>{t.setFullYear(t.getFullYear()+e)},(t,e)=>e.getFullYear()-t.getFullYear(),t=>t.getFullYear());un.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:Wt(e=>{e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)},(e,n)=>{e.setFullYear(e.getFullYear()+n*t)});var PD=un.range,ln=Wt(t=>{t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCFullYear(t.getUTCFullYear()+e)},(t,e)=>e.getUTCFullYear()-t.getUTCFullYear(),t=>t.getUTCFullYear());ln.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:Wt(e=>{e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,n)=>{e.setUTCFullYear(e.getUTCFullYear()+n*t)});var qD=ln.range;function oA(t,e,n,r,o,i){let s=[[Fe,1,1e3],[Fe,5,5*1e3],[Fe,15,15*1e3],[Fe,30,30*1e3],[i,1,6e4],[i,5,5*6e4],[i,15,15*6e4],[i,30,30*6e4],[o,1,36e5],[o,3,3*36e5],[o,6,6*36e5],[o,12,12*36e5],[r,1,864e5],[r,2,2*864e5],[n,1,6048e5],[e,1,2592e6],[e,3,3*2592e6],[t,1,31536e6]];function a(f,u,p){let l=u<f;l&&([f,u]=[u,f]);let h=p&&typeof p.range=="function"?p:c(f,u,p),d=h?h.range(f,+u+1):[];return l?d.reverse():d}function c(f,u,p){let l=Math.abs(u-f)/p,h=Nr(([,,g])=>g).right(s,l);if(h===s.length)return t.every(Nc(f/31536e6,u/31536e6,p));if(h===0)return yp.every(Math.max(Nc(f,u,p),1));let[d,m]=s[l/s[h-1][2]<s[h][2]/l?h-1:h];return d.every(m)}return[a,c]}var[Sv,bp]=oA(ln,pi,Hn,Ta,ui,ci),[Av,Ev]=oA(un,li,Vn,mr,fi,ai);function Tv(t){if(0<=t.y&&t.y<100){var e=new Date(-1,t.m,t.d,t.H,t.M,t.S,t.L);return e.setFullYear(t.y),e}return new Date(t.y,t.m,t.d,t.H,t.M,t.S,t.L)}function Iv(t){if(0<=t.y&&t.y<100){var e=new Date(Date.UTC(-1,t.m,t.d,t.H,t.M,t.S,t.L));return e.setUTCFullYear(t.y),e}return new Date(Date.UTC(t.y,t.m,t.d,t.H,t.M,t.S,t.L))}function wp(t,e,n){return{y:t,m:e,d:n,H:0,M:0,S:0,L:0}}function Cv(t){var e=t.dateTime,n=t.date,r=t.time,o=t.periods,i=t.days,s=t.shortDays,a=t.months,c=t.shortMonths,f=vp(o),u=_p(o),p=vp(i),l=_p(i),h=vp(s),d=_p(s),m=vp(a),g=_p(a),y=vp(c),x=_p(c),b={a:R,A:$,b:O,B:D,c:null,d:uA,e:uA,f:fF,g:bF,G:vF,H:sF,I:aF,j:cF,L:mA,m:uF,M:lF,p:F,q:P,Q:hA,s:dA,S:pF,u:hF,U:dF,V:mF,w:gF,W:yF,x:null,X:null,y:xF,Y:wF,Z:_F,"%":pA},w={a:W,A:K,b:tt,B:nt,c:null,d:lA,e:lA,f:EF,g:DF,G:PF,H:MF,I:SF,j:AF,L:yA,m:TF,M:IF,p:U,q:et,Q:hA,s:dA,S:CF,u:NF,U:kF,V:RF,w:LF,W:OF,x:null,X:null,y:$F,Y:FF,Z:qF,"%":pA},_={a:I,A,b:k,B:L,c:S,d:cA,e:cA,f:nF,g:aA,G:sA,H:fA,I:fA,j:KD,L:eF,m:ZD,M:JD,p:T,q:QD,Q:oF,s:iF,S:tF,u:XD,U:WD,V:GD,w:jD,W:VD,x:C,X:N,y:aA,Y:sA,Z:HD,"%":rF};b.x=v(n,b),b.X=v(r,b),b.c=v(e,b),w.x=v(n,w),w.X=v(r,w),w.c=v(e,w);function v(z,G){return function(J){var q=[],bt=-1,st=0,Tt=z.length,Ct,Q,qt;for(J instanceof Date||(J=new Date(+J));++bt<Tt;)z.charCodeAt(bt)===37&&(q.push(z.slice(st,bt)),(Q=iA[Ct=z.charAt(++bt)])!=null?Ct=z.charAt(++bt):Q=Ct==="e"?" ":"0",(qt=G[Ct])&&(Ct=qt(J,Q)),q.push(Ct),st=bt+1);return q.push(z.slice(st,bt)),q.join("")}}function M(z,G){return function(J){var q=wp(1900,void 0,1),bt=E(q,z,J+="",0),st,Tt;if(bt!=J.length)return null;if("Q"in q)return new Date(q.Q);if("s"in q)return new Date(q.s*1e3+("L"in q?q.L:0));if(G&&!("Z"in q)&&(q.Z=0),"p"in q&&(q.H=q.H%12+q.p*12),q.m===void 0&&(q.m="q"in q?q.q:0),"V"in q){if(q.V<1||q.V>53)return null;"w"in q||(q.w=1),"Z"in q?(st=Iv(wp(q.y,0,1)),Tt=st.getUTCDay(),st=Tt>4||Tt===0?os.ceil(st):os(st),st=Ea.offset(st,(q.V-1)*7),q.y=st.getUTCFullYear(),q.m=st.getUTCMonth(),q.d=st.getUTCDate()+(q.w+6)%7):(st=Tv(wp(q.y,0,1)),Tt=st.getDay(),st=Tt>4||Tt===0?rs.ceil(st):rs(st),st=mr.offset(st,(q.V-1)*7),q.y=st.getFullYear(),q.m=st.getMonth(),q.d=st.getDate()+(q.w+6)%7)}else("W"in q||"U"in q)&&("w"in q||(q.w="u"in q?q.u%7:"W"in q?1:0),Tt="Z"in q?Iv(wp(q.y,0,1)).getUTCDay():Tv(wp(q.y,0,1)).getDay(),q.m=0,q.d="W"in q?(q.w+6)%7+q.W*7-(Tt+5)%7:q.w+q.U*7-(Tt+6)%7);return"Z"in q?(q.H+=q.Z/100|0,q.M+=q.Z%100,Iv(q)):Tv(q)}}function E(z,G,J,q){for(var bt=0,st=G.length,Tt=J.length,Ct,Q;bt<st;){if(q>=Tt)return-1;if(Ct=G.charCodeAt(bt++),Ct===37){if(Ct=G.charAt(bt++),Q=_[Ct in iA?G.charAt(bt++):Ct],!Q||(q=Q(z,J,q))<0)return-1}else if(Ct!=J.charCodeAt(q++))return-1}return q}function T(z,G,J){var q=f.exec(G.slice(J));return q?(z.p=u.get(q[0].toLowerCase()),J+q[0].length):-1}function I(z,G,J){var q=h.exec(G.slice(J));return q?(z.w=d.get(q[0].toLowerCase()),J+q[0].length):-1}function A(z,G,J){var q=p.exec(G.slice(J));return q?(z.w=l.get(q[0].toLowerCase()),J+q[0].length):-1}function k(z,G,J){var q=y.exec(G.slice(J));return q?(z.m=x.get(q[0].toLowerCase()),J+q[0].length):-1}function L(z,G,J){var q=m.exec(G.slice(J));return q?(z.m=g.get(q[0].toLowerCase()),J+q[0].length):-1}function S(z,G,J){return E(z,e,G,J)}function C(z,G,J){return E(z,n,G,J)}function N(z,G,J){return E(z,r,G,J)}function R(z){return s[z.getDay()]}function $(z){return i[z.getDay()]}function O(z){return c[z.getMonth()]}function D(z){return a[z.getMonth()]}function F(z){return o[+(z.getHours()>=12)]}function P(z){return 1+~~(z.getMonth()/3)}function W(z){return s[z.getUTCDay()]}function K(z){return i[z.getUTCDay()]}function tt(z){return c[z.getUTCMonth()]}function nt(z){return a[z.getUTCMonth()]}function U(z){return o[+(z.getUTCHours()>=12)]}function et(z){return 1+~~(z.getUTCMonth()/3)}return{format:function(z){var G=v(z+="",b);return G.toString=function(){return z},G},parse:function(z){var G=M(z+="",!1);return G.toString=function(){return z},G},utcFormat:function(z){var G=v(z+="",w);return G.toString=function(){return z},G},utcParse:function(z){var G=M(z+="",!0);return G.toString=function(){return z},G}}}var iA={"-":"",_:" ",0:"0"},Pe=/^\s*\d+/,zD=/^%/,YD=/[\\^$*+?|[\]().{}]/g;function $t(t,e,n){var r=t<0?"-":"",o=(r?-t:t)+"",i=o.length;return r+(i<n?new Array(n-i+1).join(e)+o:o)}function UD(t){return t.replace(YD,"\\$&")}function vp(t){return new RegExp("^(?:"+t.map(UD).join("|")+")","i")}function _p(t){return new Map(t.map((e,n)=>[e.toLowerCase(),n]))}function jD(t,e,n){var r=Pe.exec(e.slice(n,n+1));return r?(t.w=+r[0],n+r[0].length):-1}function XD(t,e,n){var r=Pe.exec(e.slice(n,n+1));return r?(t.u=+r[0],n+r[0].length):-1}function WD(t,e,n){var r=Pe.exec(e.slice(n,n+2));return r?(t.U=+r[0],n+r[0].length):-1}function GD(t,e,n){var r=Pe.exec(e.slice(n,n+2));return r?(t.V=+r[0],n+r[0].length):-1}function VD(t,e,n){var r=Pe.exec(e.slice(n,n+2));return r?(t.W=+r[0],n+r[0].length):-1}function sA(t,e,n){var r=Pe.exec(e.slice(n,n+4));return r?(t.y=+r[0],n+r[0].length):-1}function aA(t,e,n){var r=Pe.exec(e.slice(n,n+2));return r?(t.y=+r[0]+(+r[0]>68?1900:2e3),n+r[0].length):-1}function HD(t,e,n){var r=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(n,n+6));return r?(t.Z=r[1]?0:-(r[2]+(r[3]||"00")),n+r[0].length):-1}function QD(t,e,n){var r=Pe.exec(e.slice(n,n+1));return r?(t.q=r[0]*3-3,n+r[0].length):-1}function ZD(t,e,n){var r=Pe.exec(e.slice(n,n+2));return r?(t.m=r[0]-1,n+r[0].length):-1}function cA(t,e,n){var r=Pe.exec(e.slice(n,n+2));return r?(t.d=+r[0],n+r[0].length):-1}function KD(t,e,n){var r=Pe.exec(e.slice(n,n+3));return r?(t.m=0,t.d=+r[0],n+r[0].length):-1}function fA(t,e,n){var r=Pe.exec(e.slice(n,n+2));return r?(t.H=+r[0],n+r[0].length):-1}function JD(t,e,n){var r=Pe.exec(e.slice(n,n+2));return r?(t.M=+r[0],n+r[0].length):-1}function tF(t,e,n){var r=Pe.exec(e.slice(n,n+2));return r?(t.S=+r[0],n+r[0].length):-1}function eF(t,e,n){var r=Pe.exec(e.slice(n,n+3));return r?(t.L=+r[0],n+r[0].length):-1}function nF(t,e,n){var r=Pe.exec(e.slice(n,n+6));return r?(t.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function rF(t,e,n){var r=zD.exec(e.slice(n,n+1));return r?n+r[0].length:-1}function oF(t,e,n){var r=Pe.exec(e.slice(n));return r?(t.Q=+r[0],n+r[0].length):-1}function iF(t,e,n){var r=Pe.exec(e.slice(n));return r?(t.s=+r[0],n+r[0].length):-1}function uA(t,e){return $t(t.getDate(),e,2)}function sF(t,e){return $t(t.getHours(),e,2)}function aF(t,e){return $t(t.getHours()%12||12,e,2)}function cF(t,e){return $t(1+mr.count(un(t),t),e,3)}function mA(t,e){return $t(t.getMilliseconds(),e,3)}function fF(t,e){return mA(t,e)+"000"}function uF(t,e){return $t(t.getMonth()+1,e,2)}function lF(t,e){return $t(t.getMinutes(),e,2)}function pF(t,e){return $t(t.getSeconds(),e,2)}function hF(t){var e=t.getDay();return e===0?7:e}function dF(t,e){return $t(Vn.count(un(t)-1,t),e,2)}function gA(t){var e=t.getDay();return e>=4||e===0?ho(t):ho.ceil(t)}function mF(t,e){return t=gA(t),$t(ho.count(un(t),t)+(un(t).getDay()===4),e,2)}function gF(t){return t.getDay()}function yF(t,e){return $t(rs.count(un(t)-1,t),e,2)}function xF(t,e){return $t(t.getFullYear()%100,e,2)}function bF(t,e){return t=gA(t),$t(t.getFullYear()%100,e,2)}function wF(t,e){return $t(t.getFullYear()%1e4,e,4)}function vF(t,e){var n=t.getDay();return t=n>=4||n===0?ho(t):ho.ceil(t),$t(t.getFullYear()%1e4,e,4)}function _F(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+$t(e/60|0,"0",2)+$t(e%60,"0",2)}function lA(t,e){return $t(t.getUTCDate(),e,2)}function MF(t,e){return $t(t.getUTCHours(),e,2)}function SF(t,e){return $t(t.getUTCHours()%12||12,e,2)}function AF(t,e){return $t(1+Ea.count(ln(t),t),e,3)}function yA(t,e){return $t(t.getUTCMilliseconds(),e,3)}function EF(t,e){return yA(t,e)+"000"}function TF(t,e){return $t(t.getUTCMonth()+1,e,2)}function IF(t,e){return $t(t.getUTCMinutes(),e,2)}function CF(t,e){return $t(t.getUTCSeconds(),e,2)}function NF(t){var e=t.getUTCDay();return e===0?7:e}function kF(t,e){return $t(Hn.count(ln(t)-1,t),e,2)}function xA(t){var e=t.getUTCDay();return e>=4||e===0?mo(t):mo.ceil(t)}function RF(t,e){return t=xA(t),$t(mo.count(ln(t),t)+(ln(t).getUTCDay()===4),e,2)}function LF(t){return t.getUTCDay()}function OF(t,e){return $t(os.count(ln(t)-1,t),e,2)}function $F(t,e){return $t(t.getUTCFullYear()%100,e,2)}function DF(t,e){return t=xA(t),$t(t.getUTCFullYear()%100,e,2)}function FF(t,e){return $t(t.getUTCFullYear()%1e4,e,4)}function PF(t,e){var n=t.getUTCDay();return t=n>=4||n===0?mo(t):mo.ceil(t),$t(t.getUTCFullYear()%1e4,e,4)}function qF(){return"+0000"}function pA(){return"%"}function hA(t){return+t}function dA(t){return Math.floor(+t/1e3)}var ff,uf,bA,go,wA;Nv({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function Nv(t){return ff=Cv(t),uf=ff.format,bA=ff.parse,go=ff.utcFormat,wA=ff.utcParse,ff}function BF(t){return new Date(t)}function zF(t){return t instanceof Date?+t:+new Date(+t)}function kg(t,e,n,r,o,i,s,a,c,f){var u=fp(),p=u.invert,l=u.domain,h=f(".%L"),d=f(":%S"),m=f("%I:%M"),g=f("%I %p"),y=f("%a %d"),x=f("%b %d"),b=f("%B"),w=f("%Y");function _(v){return(c(v)<v?h:a(v)<v?d:s(v)<v?m:i(v)<v?g:r(v)<v?o(v)<v?y:x:n(v)<v?b:w)(v)}return u.invert=function(v){return new Date(p(v))},u.domain=function(v){return arguments.length?l(Array.from(v,zF)):l().map(BF)},u.ticks=function(v){var M=l();return t(M[0],M[M.length-1],v??10)},u.tickFormat=function(v,M){return M==null?_:f(M)},u.nice=function(v){var M=l();return(!v||typeof v.range!="function")&&(v=e(M[0],M[M.length-1],v??10)),v?l(lp(M,v)):u},u.copy=function(){return lo(u,kg(t,e,n,r,o,i,s,a,c,f))},u}function Rg(){return we.apply(kg(Av,Ev,un,li,Vn,mr,fi,ai,Fe,uf).domain([new Date(2e3,0,1),new Date(2e3,0,2)]),arguments)}function Lg(){return we.apply(kg(Sv,bp,ln,pi,Hn,Ea,ui,ci,Fe,go).domain([Date.UTC(2e3,0,1),Date.UTC(2e3,0,2)]),arguments)}function Mp(t,e){return e.domain(t.domain()).interpolator(t.interpolator()).clamp(t.clamp()).unknown(t.unknown())}function Og(){var t=0,e=.5,n=1,r=1,o,i,s,a,c,f=Pn,u,p=!1,l;function h(m){return isNaN(m=+m)?l:(m=.5+((m=+u(m))-i)*(r*m<r*i?a:c),f(p?Math.max(0,Math.min(1,m)):m))}h.domain=function(m){return arguments.length?([t,e,n]=m,o=u(t=+t),i=u(e=+e),s=u(n=+n),a=o===i?0:.5/(i-o),c=i===s?0:.5/(s-i),r=i<o?-1:1,h):[t,e,n]},h.clamp=function(m){return arguments.length?(p=!!m,h):p},h.interpolator=function(m){return arguments.length?(f=m,h):f};function d(m){return function(g){var y,x,b;return arguments.length?([y,x,b]=g,f=no(m,[y,x,b]),h):[f(0),f(.5),f(1)]}}return h.range=d(Wn),h.rangeRound=d(ua),h.unknown=function(m){return arguments.length?(l=m,h):l},function(m){return u=m,o=m(t),i=m(e),s=m(n),a=o===i?0:.5/(i-o),c=i===s?0:.5/(s-i),r=i<o?-1:1,h}}function Sp(){var t=ii(Og()(Pn));return t.copy=function(){return Mp(t,Sp())},ap.apply(t,arguments)}function $g(){var t=bv(Og()).domain([.1,1,10]);return t.copy=function(){return Mp(t,$g()).base(t.base())},ap.apply(t,arguments)}function Dg(){var t=wv(Og());return t.copy=function(){return Mp(t,Dg()).constant(t.constant())},ap.apply(t,arguments)}function Fg(){var t=vv(Og());return t.copy=function(){return Mp(t,Fg()).exponent(t.exponent())},ap.apply(t,arguments)}function j(t){for(var e=t.length/6|0,n=new Array(e),r=0;r<e;)n[r]="#"+t.slice(r*6,++r*6);return n}var kv=j("1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf");var Rv=j("7fc97fbeaed4fdc086ffff99386cb0f0027fbf5b17666666");var Lv=j("1b9e77d95f027570b3e7298a66a61ee6ab02a6761d666666");var Ov=j("4269d0efb118ff725c6cc5b03ca951ff8ab7a463f297bbf59c6b4e9498a0");var $v=j("a6cee31f78b4b2df8a33a02cfb9a99e31a1cfdbf6fff7f00cab2d66a3d9affff99b15928");var Dv=j("fbb4aeb3cde3ccebc5decbe4fed9a6ffffcce5d8bdfddaecf2f2f2");var Fv=j("b3e2cdfdcdaccbd5e8f4cae4e6f5c9fff2aef1e2cccccccc");var Pv=j("e41a1c377eb84daf4a984ea3ff7f00ffff33a65628f781bf999999");var qv=j("66c2a5fc8d628da0cbe78ac3a6d854ffd92fe5c494b3b3b3");var Bv=j("8dd3c7ffffb3bebadafb807280b1d3fdb462b3de69fccde5d9d9d9bc80bdccebc5ffed6f");var zv=j("4e79a7f28e2ce1575976b7b259a14fedc949af7aa1ff9da79c755fbab0ab");var at=t=>D2(t[t.length-1]);var Pg=new Array(3).concat("d8b365f5f5f55ab4ac","a6611adfc27d80cdc1018571","a6611adfc27df5f5f580cdc1018571","8c510ad8b365f6e8c3c7eae55ab4ac01665e","8c510ad8b365f6e8c3f5f5f5c7eae55ab4ac01665e","8c510abf812ddfc27df6e8c3c7eae580cdc135978f01665e","8c510abf812ddfc27df6e8c3f5f5f5c7eae580cdc135978f01665e","5430058c510abf812ddfc27df6e8c3c7eae580cdc135978f01665e003c30","5430058c510abf812ddfc27df6e8c3f5f5f5c7eae580cdc135978f01665e003c30").map(j),qg=at(Pg);var Bg=new Array(3).concat("af8dc3f7f7f77fbf7b","7b3294c2a5cfa6dba0008837","7b3294c2a5cff7f7f7a6dba0008837","762a83af8dc3e7d4e8d9f0d37fbf7b1b7837","762a83af8dc3e7d4e8f7f7f7d9f0d37fbf7b1b7837","762a839970abc2a5cfe7d4e8d9f0d3a6dba05aae611b7837","762a839970abc2a5cfe7d4e8f7f7f7d9f0d3a6dba05aae611b7837","40004b762a839970abc2a5cfe7d4e8d9f0d3a6dba05aae611b783700441b","40004b762a839970abc2a5cfe7d4e8f7f7f7d9f0d3a6dba05aae611b783700441b").map(j),zg=at(Bg);var Yg=new Array(3).concat("e9a3c9f7f7f7a1d76a","d01c8bf1b6dab8e1864dac26","d01c8bf1b6daf7f7f7b8e1864dac26","c51b7de9a3c9fde0efe6f5d0a1d76a4d9221","c51b7de9a3c9fde0eff7f7f7e6f5d0a1d76a4d9221","c51b7dde77aef1b6dafde0efe6f5d0b8e1867fbc414d9221","c51b7dde77aef1b6dafde0eff7f7f7e6f5d0b8e1867fbc414d9221","8e0152c51b7dde77aef1b6dafde0efe6f5d0b8e1867fbc414d9221276419","8e0152c51b7dde77aef1b6dafde0eff7f7f7e6f5d0b8e1867fbc414d9221276419").map(j),Ug=at(Yg);var jg=new Array(3).concat("998ec3f7f7f7f1a340","5e3c99b2abd2fdb863e66101","5e3c99b2abd2f7f7f7fdb863e66101","542788998ec3d8daebfee0b6f1a340b35806","542788998ec3d8daebf7f7f7fee0b6f1a340b35806","5427888073acb2abd2d8daebfee0b6fdb863e08214b35806","5427888073acb2abd2d8daebf7f7f7fee0b6fdb863e08214b35806","2d004b5427888073acb2abd2d8daebfee0b6fdb863e08214b358067f3b08","2d004b5427888073acb2abd2d8daebf7f7f7fee0b6fdb863e08214b358067f3b08").map(j),Xg=at(jg);var Ap=new Array(3).concat("ef8a62f7f7f767a9cf","ca0020f4a58292c5de0571b0","ca0020f4a582f7f7f792c5de0571b0","b2182bef8a62fddbc7d1e5f067a9cf2166ac","b2182bef8a62fddbc7f7f7f7d1e5f067a9cf2166ac","b2182bd6604df4a582fddbc7d1e5f092c5de4393c32166ac","b2182bd6604df4a582fddbc7f7f7f7d1e5f092c5de4393c32166ac","67001fb2182bd6604df4a582fddbc7d1e5f092c5de4393c32166ac053061","67001fb2182bd6604df4a582fddbc7f7f7f7d1e5f092c5de4393c32166ac053061").map(j),lf=at(Ap);var Wg=new Array(3).concat("ef8a62ffffff999999","ca0020f4a582bababa404040","ca0020f4a582ffffffbababa404040","b2182bef8a62fddbc7e0e0e09999994d4d4d","b2182bef8a62fddbc7ffffffe0e0e09999994d4d4d","b2182bd6604df4a582fddbc7e0e0e0bababa8787874d4d4d","b2182bd6604df4a582fddbc7ffffffe0e0e0bababa8787874d4d4d","67001fb2182bd6604df4a582fddbc7e0e0e0bababa8787874d4d4d1a1a1a","67001fb2182bd6604df4a582fddbc7ffffffe0e0e0bababa8787874d4d4d1a1a1a").map(j),Gg=at(Wg);var Ep=new Array(3).concat("fc8d59ffffbf91bfdb","d7191cfdae61abd9e92c7bb6","d7191cfdae61ffffbfabd9e92c7bb6","d73027fc8d59fee090e0f3f891bfdb4575b4","d73027fc8d59fee090ffffbfe0f3f891bfdb4575b4","d73027f46d43fdae61fee090e0f3f8abd9e974add14575b4","d73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4","a50026d73027f46d43fdae61fee090e0f3f8abd9e974add14575b4313695","a50026d73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4313695").map(j),pf=at(Ep);var Vg=new Array(3).concat("fc8d59ffffbf91cf60","d7191cfdae61a6d96a1a9641","d7191cfdae61ffffbfa6d96a1a9641","d73027fc8d59fee08bd9ef8b91cf601a9850","d73027fc8d59fee08bffffbfd9ef8b91cf601a9850","d73027f46d43fdae61fee08bd9ef8ba6d96a66bd631a9850","d73027f46d43fdae61fee08bffffbfd9ef8ba6d96a66bd631a9850","a50026d73027f46d43fdae61fee08bd9ef8ba6d96a66bd631a9850006837","a50026d73027f46d43fdae61fee08bffffbfd9ef8ba6d96a66bd631a9850006837").map(j),Hg=at(Vg);var Qg=new Array(3).concat("fc8d59ffffbf99d594","d7191cfdae61abdda42b83ba","d7191cfdae61ffffbfabdda42b83ba","d53e4ffc8d59fee08be6f59899d5943288bd","d53e4ffc8d59fee08bffffbfe6f59899d5943288bd","d53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd","d53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd","9e0142d53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd5e4fa2","9e0142d53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd5e4fa2").map(j),Zg=at(Qg);var Kg=new Array(3).concat("e5f5f999d8c92ca25f","edf8fbb2e2e266c2a4238b45","edf8fbb2e2e266c2a42ca25f006d2c","edf8fbccece699d8c966c2a42ca25f006d2c","edf8fbccece699d8c966c2a441ae76238b45005824","f7fcfde5f5f9ccece699d8c966c2a441ae76238b45005824","f7fcfde5f5f9ccece699d8c966c2a441ae76238b45006d2c00441b").map(j),Jg=at(Kg);var ty=new Array(3).concat("e0ecf49ebcda8856a7","edf8fbb3cde38c96c688419d","edf8fbb3cde38c96c68856a7810f7c","edf8fbbfd3e69ebcda8c96c68856a7810f7c","edf8fbbfd3e69ebcda8c96c68c6bb188419d6e016b","f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d6e016b","f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d810f7c4d004b").map(j),ey=at(ty);var ny=new Array(3).concat("e0f3dba8ddb543a2ca","f0f9e8bae4bc7bccc42b8cbe","f0f9e8bae4bc7bccc443a2ca0868ac","f0f9e8ccebc5a8ddb57bccc443a2ca0868ac","f0f9e8ccebc5a8ddb57bccc44eb3d32b8cbe08589e","f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe08589e","f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe0868ac084081").map(j),ry=at(ny);var oy=new Array(3).concat("fee8c8fdbb84e34a33","fef0d9fdcc8afc8d59d7301f","fef0d9fdcc8afc8d59e34a33b30000","fef0d9fdd49efdbb84fc8d59e34a33b30000","fef0d9fdd49efdbb84fc8d59ef6548d7301f990000","fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301f990000","fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301fb300007f0000").map(j),iy=at(oy);var sy=new Array(3).concat("ece2f0a6bddb1c9099","f6eff7bdc9e167a9cf02818a","f6eff7bdc9e167a9cf1c9099016c59","f6eff7d0d1e6a6bddb67a9cf1c9099016c59","f6eff7d0d1e6a6bddb67a9cf3690c002818a016450","fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016450","fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016c59014636").map(j),ay=at(sy);var cy=new Array(3).concat("ece7f2a6bddb2b8cbe","f1eef6bdc9e174a9cf0570b0","f1eef6bdc9e174a9cf2b8cbe045a8d","f1eef6d0d1e6a6bddb74a9cf2b8cbe045a8d","f1eef6d0d1e6a6bddb74a9cf3690c00570b0034e7b","fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0034e7b","fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0045a8d023858").map(j),fy=at(cy);var uy=new Array(3).concat("e7e1efc994c7dd1c77","f1eef6d7b5d8df65b0ce1256","f1eef6d7b5d8df65b0dd1c77980043","f1eef6d4b9dac994c7df65b0dd1c77980043","f1eef6d4b9dac994c7df65b0e7298ace125691003f","f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125691003f","f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125698004367001f").map(j),ly=at(uy);var py=new Array(3).concat("fde0ddfa9fb5c51b8a","feebe2fbb4b9f768a1ae017e","feebe2fbb4b9f768a1c51b8a7a0177","feebe2fcc5c0fa9fb5f768a1c51b8a7a0177","feebe2fcc5c0fa9fb5f768a1dd3497ae017e7a0177","fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a0177","fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a017749006a").map(j),hy=at(py);var dy=new Array(3).concat("edf8b17fcdbb2c7fb8","ffffcca1dab441b6c4225ea8","ffffcca1dab441b6c42c7fb8253494","ffffccc7e9b47fcdbb41b6c42c7fb8253494","ffffccc7e9b47fcdbb41b6c41d91c0225ea80c2c84","ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea80c2c84","ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea8253494081d58").map(j),my=at(dy);var gy=new Array(3).concat("f7fcb9addd8e31a354","ffffccc2e69978c679238443","ffffccc2e69978c67931a354006837","ffffccd9f0a3addd8e78c67931a354006837","ffffccd9f0a3addd8e78c67941ab5d238443005a32","ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443005a32","ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443006837004529").map(j),yy=at(gy);var xy=new Array(3).concat("fff7bcfec44fd95f0e","ffffd4fed98efe9929cc4c02","ffffd4fed98efe9929d95f0e993404","ffffd4fee391fec44ffe9929d95f0e993404","ffffd4fee391fec44ffe9929ec7014cc4c028c2d04","ffffe5fff7bcfee391fec44ffe9929ec7014cc4c028c2d04","ffffe5fff7bcfee391fec44ffe9929ec7014cc4c02993404662506").map(j),by=at(xy);var wy=new Array(3).concat("ffeda0feb24cf03b20","ffffb2fecc5cfd8d3ce31a1c","ffffb2fecc5cfd8d3cf03b20bd0026","ffffb2fed976feb24cfd8d3cf03b20bd0026","ffffb2fed976feb24cfd8d3cfc4e2ae31a1cb10026","ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cb10026","ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cbd0026800026").map(j),vy=at(wy);var _y=new Array(3).concat("deebf79ecae13182bd","eff3ffbdd7e76baed62171b5","eff3ffbdd7e76baed63182bd08519c","eff3ffc6dbef9ecae16baed63182bd08519c","eff3ffc6dbef9ecae16baed64292c62171b5084594","f7fbffdeebf7c6dbef9ecae16baed64292c62171b5084594","f7fbffdeebf7c6dbef9ecae16baed64292c62171b508519c08306b").map(j),My=at(_y);var Sy=new Array(3).concat("e5f5e0a1d99b31a354","edf8e9bae4b374c476238b45","edf8e9bae4b374c47631a354006d2c","edf8e9c7e9c0a1d99b74c47631a354006d2c","edf8e9c7e9c0a1d99b74c47641ab5d238b45005a32","f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45005a32","f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45006d2c00441b").map(j),Ay=at(Sy);var Ey=new Array(3).concat("f0f0f0bdbdbd636363","f7f7f7cccccc969696525252","f7f7f7cccccc969696636363252525","f7f7f7d9d9d9bdbdbd969696636363252525","f7f7f7d9d9d9bdbdbd969696737373525252252525","fffffff0f0f0d9d9d9bdbdbd969696737373525252252525","fffffff0f0f0d9d9d9bdbdbd969696737373525252252525000000").map(j),Ty=at(Ey);var Iy=new Array(3).concat("efedf5bcbddc756bb1","f2f0f7cbc9e29e9ac86a51a3","f2f0f7cbc9e29e9ac8756bb154278f","f2f0f7dadaebbcbddc9e9ac8756bb154278f","f2f0f7dadaebbcbddc9e9ac8807dba6a51a34a1486","fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a34a1486","fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a354278f3f007d").map(j),Cy=at(Iy);var Ny=new Array(3).concat("fee0d2fc9272de2d26","fee5d9fcae91fb6a4acb181d","fee5d9fcae91fb6a4ade2d26a50f15","fee5d9fcbba1fc9272fb6a4ade2d26a50f15","fee5d9fcbba1fc9272fb6a4aef3b2ccb181d99000d","fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181d99000d","fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181da50f1567000d").map(j),ky=at(Ny);var Ry=new Array(3).concat("fee6cefdae6be6550d","feeddefdbe85fd8d3cd94701","feeddefdbe85fd8d3ce6550da63603","feeddefdd0a2fdae6bfd8d3ce6550da63603","feeddefdd0a2fdae6bfd8d3cf16913d948018c2d04","fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d948018c2d04","fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d94801a636037f2704").map(j),Ly=at(Ry);function Oy(t){return t=Math.max(0,Math.min(1,t)),"rgb("+Math.max(0,Math.min(255,Math.round(-4.54-t*(35.34-t*(2381.73-t*(6402.7-t*(7024.72-t*2710.57)))))))+", "+Math.max(0,Math.min(255,Math.round(32.49+t*(170.73+t*(52.82-t*(131.46-t*(176.58-t*67.37)))))))+", "+Math.max(0,Math.min(255,Math.round(81.24+t*(442.36-t*(2482.43-t*(6167.24-t*(6614.94-t*2475.67)))))))+")"}var $y=qc(Sn(300,.5,0),Sn(-240,.5,1));var Fy=qc(Sn(-100,.75,.35),Sn(80,1.5,.8)),Py=qc(Sn(260,.75,.35),Sn(80,1.5,.8)),Dy=Sn();function qy(t){(t<0||t>1)&&(t-=Math.floor(t));var e=Math.abs(t-.5);return Dy.h=360*t-100,Dy.s=1.5-1.5*e,Dy.l=.8-.9*e,Dy+""}var By=Te(),YF=Math.PI/3,UF=Math.PI*2/3;function zy(t){var e;return t=(.5-t)*Math.PI,By.r=255*(e=Math.sin(t))*e,By.g=255*(e=Math.sin(t+YF))*e,By.b=255*(e=Math.sin(t+UF))*e,By+""}function Yy(t){return t=Math.max(0,Math.min(1,t)),"rgb("+Math.max(0,Math.min(255,Math.round(34.61+t*(1172.33-t*(10793.56-t*(33300.12-t*(38394.49-t*14825.05)))))))+", "+Math.max(0,Math.min(255,Math.round(23.31+t*(557.33+t*(1225.33-t*(3574.96-t*(1073.77+t*707.56)))))))+", "+Math.max(0,Math.min(255,Math.round(27.2+t*(3211.1-t*(15327.97-t*(27814-t*(22569.18-t*6838.66)))))))+")"}function Uy(t){var e=t.length;return function(n){return t[Math.max(0,Math.min(e-1,Math.floor(n*e)))]}}var jy=Uy(j("44015444025645045745055946075a46085c460a5d460b5e470d60470e6147106347116447136548146748166848176948186a481a6c481b6d481c6e481d6f481f70482071482173482374482475482576482677482878482979472a7a472c7a472d7b472e7c472f7d46307e46327e46337f463480453581453781453882443983443a83443b84433d84433e85423f854240864241864142874144874045884046883f47883f48893e49893e4a893e4c8a3d4d8a3d4e8a3c4f8a3c508b3b518b3b528b3a538b3a548c39558c39568c38588c38598c375a8c375b8d365c8d365d8d355e8d355f8d34608d34618d33628d33638d32648e32658e31668e31678e31688e30698e306a8e2f6b8e2f6c8e2e6d8e2e6e8e2e6f8e2d708e2d718e2c718e2c728e2c738e2b748e2b758e2a768e2a778e2a788e29798e297a8e297b8e287c8e287d8e277e8e277f8e27808e26818e26828e26828e25838e25848e25858e24868e24878e23888e23898e238a8d228b8d228c8d228d8d218e8d218f8d21908d21918c20928c20928c20938c1f948c1f958b1f968b1f978b1f988b1f998a1f9a8a1e9b8a1e9c891e9d891f9e891f9f881fa0881fa1881fa1871fa28720a38620a48621a58521a68522a78522a88423a98324aa8325ab8225ac8226ad8127ad8128ae8029af7f2ab07f2cb17e2db27d2eb37c2fb47c31b57b32b67a34b67935b77937b87838b9773aba763bbb753dbc743fbc7340bd7242be7144bf7046c06f48c16e4ac16d4cc26c4ec36b50c46a52c56954c56856c66758c7655ac8645cc8635ec96260ca6063cb5f65cb5e67cc5c69cd5b6ccd5a6ece5870cf5773d05675d05477d1537ad1517cd2507fd34e81d34d84d44b86d54989d5488bd6468ed64590d74393d74195d84098d83e9bd93c9dd93ba0da39a2da37a5db36a8db34aadc32addc30b0dd2fb2dd2db5de2bb8de29bade28bddf26c0df25c2df23c5e021c8e020cae11fcde11dd0e11cd2e21bd5e21ad8e219dae319dde318dfe318e2e418e5e419e7e419eae51aece51befe51cf1e51df4e61ef6e620f8e621fbe723fde725")),Xy=Uy(j("00000401000501010601010802010902020b02020d03030f03031204041405041606051806051a07061c08071e0907200a08220b09240c09260d0a290e0b2b100b2d110c2f120d31130d34140e36150e38160f3b180f3d19103f1a10421c10441d11471e114920114b21114e22115024125325125527125829115a2a115c2c115f2d11612f116331116533106734106936106b38106c390f6e3b0f703d0f713f0f72400f74420f75440f764510774710784910784a10794c117a4e117b4f127b51127c52137c54137d56147d57157e59157e5a167e5c167f5d177f5f187f601880621980641a80651a80671b80681c816a1c816b1d816d1d816e1e81701f81721f817320817521817621817822817922827b23827c23827e24828025828125818326818426818627818827818928818b29818c29818e2a81902a81912b81932b80942c80962c80982d80992d809b2e7f9c2e7f9e2f7fa02f7fa1307ea3307ea5317ea6317da8327daa337dab337cad347cae347bb0357bb2357bb3367ab5367ab73779b83779ba3878bc3978bd3977bf3a77c03a76c23b75c43c75c53c74c73d73c83e73ca3e72cc3f71cd4071cf4070d0416fd2426fd3436ed5446dd6456cd8456cd9466bdb476adc4869de4968df4a68e04c67e24d66e34e65e44f64e55064e75263e85362e95462ea5661eb5760ec5860ed5a5fee5b5eef5d5ef05f5ef1605df2625df2645cf3655cf4675cf4695cf56b5cf66c5cf66e5cf7705cf7725cf8745cf8765cf9785df9795df97b5dfa7d5efa7f5efa815ffb835ffb8560fb8761fc8961fc8a62fc8c63fc8e64fc9065fd9266fd9467fd9668fd9869fd9a6afd9b6bfe9d6cfe9f6dfea16efea36ffea571fea772fea973feaa74feac76feae77feb078feb27afeb47bfeb67cfeb77efeb97ffebb81febd82febf84fec185fec287fec488fec68afec88cfeca8dfecc8ffecd90fecf92fed194fed395fed597fed799fed89afdda9cfddc9efddea0fde0a1fde2a3fde3a5fde5a7fde7a9fde9aafdebacfcecaefceeb0fcf0b2fcf2b4fcf4b6fcf6b8fcf7b9fcf9bbfcfbbdfcfdbf")),Wy=Uy(j("00000401000501010601010802010a02020c02020e03021004031204031405041706041907051b08051d09061f0a07220b07240c08260d08290e092b10092d110a30120a32140b34150b37160b39180c3c190c3e1b0c411c0c431e0c451f0c48210c4a230c4c240c4f260c51280b53290b552b0b572d0b592f0a5b310a5c320a5e340a5f3609613809623909633b09643d09653e0966400a67420a68440a68450a69470b6a490b6a4a0c6b4c0c6b4d0d6c4f0d6c510e6c520e6d540f6d550f6d57106e59106e5a116e5c126e5d126e5f136e61136e62146e64156e65156e67166e69166e6a176e6c186e6d186e6f196e71196e721a6e741a6e751b6e771c6d781c6d7a1d6d7c1d6d7d1e6d7f1e6c801f6c82206c84206b85216b87216b88226a8a226a8c23698d23698f24699025689225689326679526679727669827669a28659b29649d29649f2a63a02a63a22b62a32c61a52c60a62d60a82e5fa92e5eab2f5ead305dae305cb0315bb1325ab3325ab43359b63458b73557b93556ba3655bc3754bd3853bf3952c03a51c13a50c33b4fc43c4ec63d4dc73e4cc83f4bca404acb4149cc4248ce4347cf4446d04545d24644d34743d44842d54a41d74b3fd84c3ed94d3dda4e3cdb503bdd513ade5238df5337e05536e15635e25734e35933e45a31e55c30e65d2fe75e2ee8602de9612bea632aeb6429eb6628ec6726ed6925ee6a24ef6c23ef6e21f06f20f1711ff1731df2741cf3761bf37819f47918f57b17f57d15f67e14f68013f78212f78410f8850ff8870ef8890cf98b0bf98c0af98e09fa9008fa9207fa9407fb9606fb9706fb9906fb9b06fb9d07fc9f07fca108fca309fca50afca60cfca80dfcaa0ffcac11fcae12fcb014fcb216fcb418fbb61afbb81dfbba1ffbbc21fbbe23fac026fac228fac42afac62df9c72ff9c932f9cb35f8cd37f8cf3af7d13df7d340f6d543f6d746f5d949f5db4cf4dd4ff4df53f4e156f3e35af3e55df2e661f2e865f2ea69f1ec6df1ed71f1ef75f1f179f2f27df2f482f3f586f3f68af4f88ef5f992f6fa96f8fb9af9fc9dfafda1fcffa4")),Gy=Uy(j("0d088710078813078916078a19068c1b068d1d068e20068f2206902406912605912805922a05932c05942e05952f059631059733059735049837049938049a3a049a3c049b3e049c3f049c41049d43039e44039e46039f48039f4903a04b03a14c02a14e02a25002a25102a35302a35502a45601a45801a45901a55b01a55c01a65e01a66001a66100a76300a76400a76600a76700a86900a86a00a86c00a86e00a86f00a87100a87201a87401a87501a87701a87801a87a02a87b02a87d03a87e03a88004a88104a78305a78405a78606a68707a68808a68a09a58b0aa58d0ba58e0ca48f0da4910ea3920fa39410a29511a19613a19814a099159f9a169f9c179e9d189d9e199da01a9ca11b9ba21d9aa31e9aa51f99a62098a72197a82296aa2395ab2494ac2694ad2793ae2892b02991b12a90b22b8fb32c8eb42e8db52f8cb6308bb7318ab83289ba3388bb3488bc3587bd3786be3885bf3984c03a83c13b82c23c81c33d80c43e7fc5407ec6417dc7427cc8437bc9447aca457acb4679cc4778cc4977cd4a76ce4b75cf4c74d04d73d14e72d24f71d35171d45270d5536fd5546ed6556dd7566cd8576bd9586ada5a6ada5b69db5c68dc5d67dd5e66de5f65de6164df6263e06363e16462e26561e26660e3685fe4695ee56a5de56b5de66c5ce76e5be76f5ae87059e97158e97257ea7457eb7556eb7655ec7754ed7953ed7a52ee7b51ef7c51ef7e50f07f4ff0804ef1814df1834cf2844bf3854bf3874af48849f48948f58b47f58c46f68d45f68f44f79044f79143f79342f89441f89540f9973ff9983ef99a3efa9b3dfa9c3cfa9e3bfb9f3afba139fba238fca338fca537fca636fca835fca934fdab33fdac33fdae32fdaf31fdb130fdb22ffdb42ffdb52efeb72dfeb82cfeba2cfebb2bfebd2afebe2afec029fdc229fdc328fdc527fdc627fdc827fdca26fdcb26fccd25fcce25fcd025fcd225fbd324fbd524fbd724fad824fada24f9dc24f9dd25f8df25f8e125f7e225f7e425f6e626f6e826f5e926f5eb27f4ed27f3ee27f3f027f2f227f1f426f1f525f0f724f0f921"));function ve(t){return function(){return t}}var Yv=Math.cos;var hf=Math.min,Tp=Math.sin,Dt=Math.sqrt,Uv=1e-12,Na=Math.PI,H_t=Na/2,df=2*Na;function Vy(t){let e=3;return t.digits=function(n){if(!arguments.length)return e;if(n==null)e=null;else{let r=Math.floor(n);if(!(r>=0))throw new RangeError(`invalid digits: ${n}`);e=r}return t},()=>new Qi(e)}var J_t=Array.prototype.slice;function Hy(t){return typeof t=="object"&&"length"in t?t:Array.from(t)}function vA(t){this._context=t}vA.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:this._context.lineTo(t,e);break}}};function hi(t){return new vA(t)}function Qy(t){return t[0]}function Zy(t){return t[1]}function Ip(t,e){var n=ve(!0),r=null,o=hi,i=null,s=Vy(a);t=typeof t=="function"?t:t===void 0?Qy:ve(t),e=typeof e=="function"?e:e===void 0?Zy:ve(e);function a(c){var f,u=(c=Hy(c)).length,p,l=!1,h;for(r==null&&(i=o(h=s())),f=0;f<=u;++f)!(f<u&&n(p=c[f],f,c))===l&&((l=!l)?i.lineStart():i.lineEnd()),l&&i.point(+t(p,f,c),+e(p,f,c));if(h)return i=null,h+""||null}return a.x=function(c){return arguments.length?(t=typeof c=="function"?c:ve(+c),a):t},a.y=function(c){return arguments.length?(e=typeof c=="function"?c:ve(+c),a):e},a.defined=function(c){return arguments.length?(n=typeof c=="function"?c:ve(!!c),a):n},a.curve=function(c){return arguments.length?(o=c,r!=null&&(i=o(r)),a):o},a.context=function(c){return arguments.length?(c==null?r=i=null:i=o(r=c),a):r},a}function mf(t,e,n){var r=null,o=ve(!0),i=null,s=hi,a=null,c=Vy(f);t=typeof t=="function"?t:t===void 0?Qy:ve(+t),e=typeof e=="function"?e:e===void 0?ve(0):ve(+e),n=typeof n=="function"?n:n===void 0?Zy:ve(+n);function f(p){var l,h,d,m=(p=Hy(p)).length,g,y=!1,x,b=new Array(m),w=new Array(m);for(i==null&&(a=s(x=c())),l=0;l<=m;++l){if(!(l<m&&o(g=p[l],l,p))===y)if(y=!y)h=l,a.areaStart(),a.lineStart();else{for(a.lineEnd(),a.lineStart(),d=l-1;d>=h;--d)a.point(b[d],w[d]);a.lineEnd(),a.areaEnd()}y&&(b[l]=+t(g,l,p),w[l]=+e(g,l,p),a.point(r?+r(g,l,p):b[l],n?+n(g,l,p):w[l]))}if(x)return a=null,x+""||null}function u(){return Ip().defined(o).curve(s).context(i)}return f.x=function(p){return arguments.length?(t=typeof p=="function"?p:ve(+p),r=null,f):t},f.x0=function(p){return arguments.length?(t=typeof p=="function"?p:ve(+p),f):t},f.x1=function(p){return arguments.length?(r=p==null?null:typeof p=="function"?p:ve(+p),f):r},f.y=function(p){return arguments.length?(e=typeof p=="function"?p:ve(+p),n=null,f):e},f.y0=function(p){return arguments.length?(e=typeof p=="function"?p:ve(+p),f):e},f.y1=function(p){return arguments.length?(n=p==null?null:typeof p=="function"?p:ve(+p),f):n},f.lineX0=f.lineY0=function(){return u().x(t).y(e)},f.lineY1=function(){return u().x(t).y(n)},f.lineX1=function(){return u().x(r).y(e)},f.defined=function(p){return arguments.length?(o=typeof p=="function"?p:ve(!!p),f):o},f.curve=function(p){return arguments.length?(s=p,i!=null&&(a=s(i)),f):s},f.context=function(p){return arguments.length?(p==null?i=a=null:a=s(i=p),f):i},f}var Ky=class{constructor(e,n){this._context=e,this._x=n}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line}point(e,n){switch(e=+e,n=+n,this._point){case 0:{this._point=1,this._line?this._context.lineTo(e,n):this._context.moveTo(e,n);break}case 1:this._point=2;default:{this._x?this._context.bezierCurveTo(this._x0=(this._x0+e)/2,this._y0,this._x0,n,e,n):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+n)/2,e,this._y0,e,n);break}}this._x0=e,this._y0=n}};function jv(t){return new Ky(t,!0)}function Xv(t){return new Ky(t,!1)}var jF=Dt(3),Cp={draw(t,e){let n=Dt(e+hf(e/28,.75))*.59436,r=n/2,o=r*jF;t.moveTo(0,n),t.lineTo(0,-n),t.moveTo(-o,-r),t.lineTo(o,r),t.moveTo(-o,r),t.lineTo(o,-r)}};var di={draw(t,e){let n=Dt(e/Na);t.moveTo(n,0),t.arc(0,0,n,0,df)}};var Np={draw(t,e){let n=Dt(e/5)/2;t.moveTo(-3*n,-n),t.lineTo(-n,-n),t.lineTo(-n,-3*n),t.lineTo(n,-3*n),t.lineTo(n,-n),t.lineTo(3*n,-n),t.lineTo(3*n,n),t.lineTo(n,n),t.lineTo(n,3*n),t.lineTo(-n,3*n),t.lineTo(-n,n),t.lineTo(-3*n,n),t.closePath()}};var _A=Dt(1/3),XF=_A*2,kp={draw(t,e){let n=Dt(e/XF),r=n*_A;t.moveTo(0,-n),t.lineTo(r,0),t.lineTo(0,n),t.lineTo(-r,0),t.closePath()}};var Rp={draw(t,e){let n=Dt(e)*.62625;t.moveTo(0,-n),t.lineTo(n,0),t.lineTo(0,n),t.lineTo(-n,0),t.closePath()}};var Lp={draw(t,e){let n=Dt(e-hf(e/7,2))*.87559;t.moveTo(-n,0),t.lineTo(n,0),t.moveTo(0,n),t.lineTo(0,-n)}};var Op={draw(t,e){let n=Dt(e),r=-n/2;t.rect(r,r,n,n)}};var $p={draw(t,e){let n=Dt(e)*.4431;t.moveTo(n,n),t.lineTo(n,-n),t.lineTo(-n,-n),t.lineTo(-n,n),t.closePath()}};var WF=.8908130915292852,MA=Tp(Na/10)/Tp(7*Na/10),GF=Tp(df/10)*MA,VF=-Yv(df/10)*MA,Dp={draw(t,e){let n=Dt(e*WF),r=GF*n,o=VF*n;t.moveTo(0,-n),t.lineTo(r,o);for(let i=1;i<5;++i){let s=df*i/5,a=Yv(s),c=Tp(s);t.lineTo(c*n,-a*n),t.lineTo(a*r-c*o,c*r+a*o)}t.closePath()}};var Wv=Dt(3),Fp={draw(t,e){let n=-Dt(e/(Wv*3));t.moveTo(0,n*2),t.lineTo(-Wv*n,-n),t.lineTo(Wv*n,-n),t.closePath()}};var HF=Dt(3),Pp={draw(t,e){let n=Dt(e)*.6824,r=n/2,o=n*HF/2;t.moveTo(0,-n),t.lineTo(o,r),t.lineTo(-o,r),t.closePath()}};var gr=-.5,yr=Dt(3)/2,Gv=1/Dt(12),QF=(Gv/2+1)*3,qp={draw(t,e){let n=Dt(e/QF),r=n/2,o=n*Gv,i=r,s=n*Gv+n,a=-i,c=s;t.moveTo(r,o),t.lineTo(i,s),t.lineTo(a,c),t.lineTo(gr*r-yr*o,yr*r+gr*o),t.lineTo(gr*i-yr*s,yr*i+gr*s),t.lineTo(gr*a-yr*c,yr*a+gr*c),t.lineTo(gr*r+yr*o,gr*o-yr*r),t.lineTo(gr*i+yr*s,gr*s-yr*i),t.lineTo(gr*a+yr*c,gr*c-yr*a),t.closePath()}};var gf={draw(t,e){let n=Dt(e-hf(e/6,1.7))*.6189;t.moveTo(-n,-n),t.lineTo(n,n),t.moveTo(-n,n),t.lineTo(n,-n)}};var Jy=[di,Np,kp,Op,Dp,Fp,qp],Vv=[di,Lp,gf,Pp,Cp,$p,Rp];function xr(){}function yf(t,e,n){t._context.bezierCurveTo((2*t._x0+t._x1)/3,(2*t._y0+t._y1)/3,(t._x0+2*t._x1)/3,(t._y0+2*t._y1)/3,(t._x0+4*t._x1+e)/6,(t._y0+4*t._y1+n)/6)}function Bp(t){this._context=t}Bp.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:yf(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:yf(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function Hv(t){return new Bp(t)}function SA(t){this._context=t}SA.prototype={areaStart:xr,areaEnd:xr,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x2,this._y2),this._context.closePath();break}case 2:{this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break}case 3:{this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4);break}}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x2=t,this._y2=e;break;case 1:this._point=2,this._x3=t,this._y3=e;break;case 2:this._point=3,this._x4=t,this._y4=e,this._context.moveTo((this._x0+4*this._x1+t)/6,(this._y0+4*this._y1+e)/6);break;default:yf(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function Qv(t){return new SA(t)}function AA(t){this._context=t}AA.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var n=(this._x0+4*this._x1+t)/6,r=(this._y0+4*this._y1+e)/6;this._line?this._context.lineTo(n,r):this._context.moveTo(n,r);break;case 3:this._point=4;default:yf(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function Zv(t){return new AA(t)}function EA(t,e){this._basis=new Bp(t),this._beta=e}EA.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var t=this._x,e=this._y,n=t.length-1;if(n>0)for(var r=t[0],o=e[0],i=t[n]-r,s=e[n]-o,a=-1,c;++a<=n;)c=a/n,this._basis.point(this._beta*t[a]+(1-this._beta)*(r+c*i),this._beta*e[a]+(1-this._beta)*(o+c*s));this._x=this._y=null,this._basis.lineEnd()},point:function(t,e){this._x.push(+t),this._y.push(+e)}};var Kv=function t(e){function n(r){return e===1?new Bp(r):new EA(r,e)}return n.beta=function(r){return t(+r)},n}(.85);function xf(t,e,n){t._context.bezierCurveTo(t._x1+t._k*(t._x2-t._x0),t._y1+t._k*(t._y2-t._y0),t._x2+t._k*(t._x1-e),t._y2+t._k*(t._y1-n),t._x2,t._y2)}function tx(t,e){this._context=t,this._k=(1-e)/6}tx.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:xf(this,this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2,this._x1=t,this._y1=e;break;case 2:this._point=3;default:xf(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var Jv=function t(e){function n(r){return new tx(r,e)}return n.tension=function(r){return t(+r)},n}(0);function ex(t,e){this._context=t,this._k=(1-e)/6}ex.prototype={areaStart:xr,areaEnd:xr,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:xf(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var t_=function t(e){function n(r){return new ex(r,e)}return n.tension=function(r){return t(+r)},n}(0);function nx(t,e){this._context=t,this._k=(1-e)/6}nx.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:xf(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var e_=function t(e){function n(r){return new nx(r,e)}return n.tension=function(r){return t(+r)},n}(0);function zp(t,e,n){var r=t._x1,o=t._y1,i=t._x2,s=t._y2;if(t._l01_a>Uv){var a=2*t._l01_2a+3*t._l01_a*t._l12_a+t._l12_2a,c=3*t._l01_a*(t._l01_a+t._l12_a);r=(r*a-t._x0*t._l12_2a+t._x2*t._l01_2a)/c,o=(o*a-t._y0*t._l12_2a+t._y2*t._l01_2a)/c}if(t._l23_a>Uv){var f=2*t._l23_2a+3*t._l23_a*t._l12_a+t._l12_2a,u=3*t._l23_a*(t._l23_a+t._l12_a);i=(i*f+t._x1*t._l23_2a-e*t._l12_2a)/u,s=(s*f+t._y1*t._l23_2a-n*t._l12_2a)/u}t._context.bezierCurveTo(r,o,i,s,t._x2,t._y2)}function TA(t,e){this._context=t,this._alpha=e}TA.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){if(t=+t,e=+e,this._point){var n=this._x2-t,r=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+r*r,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3;default:zp(this,t,e);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var n_=function t(e){function n(r){return e?new TA(r,e):new tx(r,0)}return n.alpha=function(r){return t(+r)},n}(.5);function IA(t,e){this._context=t,this._alpha=e}IA.prototype={areaStart:xr,areaEnd:xr,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},point:function(t,e){if(t=+t,e=+e,this._point){var n=this._x2-t,r=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+r*r,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:zp(this,t,e);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var r_=function t(e){function n(r){return e?new IA(r,e):new ex(r,0)}return n.alpha=function(r){return t(+r)},n}(.5);function CA(t,e){this._context=t,this._alpha=e}CA.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){if(t=+t,e=+e,this._point){var n=this._x2-t,r=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+r*r,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:zp(this,t,e);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var o_=function t(e){function n(r){return e?new CA(r,e):new nx(r,0)}return n.alpha=function(r){return t(+r)},n}(.5);function NA(t){this._context=t}NA.prototype={areaStart:xr,areaEnd:xr,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(t,e){t=+t,e=+e,this._point?this._context.lineTo(t,e):(this._point=1,this._context.moveTo(t,e))}};function i_(t){return new NA(t)}function kA(t){return t<0?-1:1}function RA(t,e,n){var r=t._x1-t._x0,o=e-t._x1,i=(t._y1-t._y0)/(r||o<0&&-0),s=(n-t._y1)/(o||r<0&&-0),a=(i*o+s*r)/(r+o);return(kA(i)+kA(s))*Math.min(Math.abs(i),Math.abs(s),.5*Math.abs(a))||0}function LA(t,e){var n=t._x1-t._x0;return n?(3*(t._y1-t._y0)/n-e)/2:e}function s_(t,e,n){var r=t._x0,o=t._y0,i=t._x1,s=t._y1,a=(i-r)/3;t._context.bezierCurveTo(r+a,o+a*e,i-a,s-a*n,i,s)}function rx(t){this._context=t}rx.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:s_(this,this._t0,LA(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){var n=NaN;if(t=+t,e=+e,!(t===this._x1&&e===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,s_(this,LA(this,n=RA(this,t,e)),n);break;default:s_(this,this._t0,n=RA(this,t,e));break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e,this._t0=n}}};function OA(t){this._context=new $A(t)}(OA.prototype=Object.create(rx.prototype)).point=function(t,e){rx.prototype.point.call(this,e,t)};function $A(t){this._context=t}$A.prototype={moveTo:function(t,e){this._context.moveTo(e,t)},closePath:function(){this._context.closePath()},lineTo:function(t,e){this._context.lineTo(e,t)},bezierCurveTo:function(t,e,n,r,o,i){this._context.bezierCurveTo(e,t,r,n,i,o)}};function a_(t){return new rx(t)}function c_(t){return new OA(t)}function FA(t){this._context=t}FA.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var t=this._x,e=this._y,n=t.length;if(n)if(this._line?this._context.lineTo(t[0],e[0]):this._context.moveTo(t[0],e[0]),n===2)this._context.lineTo(t[1],e[1]);else for(var r=DA(t),o=DA(e),i=0,s=1;s<n;++i,++s)this._context.bezierCurveTo(r[0][i],o[0][i],r[1][i],o[1][i],t[s],e[s]);(this._line||this._line!==0&&n===1)&&this._context.closePath(),this._line=1-this._line,this._x=this._y=null},point:function(t,e){this._x.push(+t),this._y.push(+e)}};function DA(t){var e,n=t.length-1,r,o=new Array(n),i=new Array(n),s=new Array(n);for(o[0]=0,i[0]=2,s[0]=t[0]+2*t[1],e=1;e<n-1;++e)o[e]=1,i[e]=4,s[e]=4*t[e]+2*t[e+1];for(o[n-1]=2,i[n-1]=7,s[n-1]=8*t[n-1]+t[n],e=1;e<n;++e)r=o[e]/i[e-1],i[e]-=r,s[e]-=r*s[e-1];for(o[n-1]=s[n-1]/i[n-1],e=n-2;e>=0;--e)o[e]=(s[e]-o[e+1])/i[e];for(i[n-1]=(t[n]+o[n-1])/2,e=0;e<n-1;++e)i[e]=2*t[e+1]-o[e+1];return[o,i]}function f_(t){return new FA(t)}function ox(t,e){this._context=t,this._t=e}ox.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=this._y=NaN,this._point=0},lineEnd:function(){0<this._t&&this._t<1&&this._point===2&&this._context.lineTo(this._x,this._y),(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line>=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,e),this._context.lineTo(t,e);else{var n=this._x*(1-this._t)+t*this._t;this._context.lineTo(n,this._y),this._context.lineTo(n,e)}break}}this._x=t,this._y=e}};function u_(t){return new ox(t,.5)}function l_(t){return new ox(t,0)}function p_(t){return new ox(t,1)}var Yp=t=>()=>t;function h_(t,{sourceEvent:e,target:n,transform:r,dispatch:o}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:e,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},transform:{value:r,enumerable:!0,configurable:!0},_:{value:o}})}function Qn(t,e,n){this.k=t,this.x=e,this.y=n}Qn.prototype={constructor:Qn,scale:function(t){return t===1?this:new Qn(this.k*t,this.x,this.y)},translate:function(t,e){return t===0&e===0?this:new Qn(this.k,this.x+this.k*t,this.y+this.k*e)},apply:function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},applyX:function(t){return t*this.k+this.x},applyY:function(t){return t*this.k+this.y},invert:function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},invertX:function(t){return(t-this.x)/this.k},invertY:function(t){return(t-this.y)/this.k},rescaleX:function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},rescaleY:function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var Up=new Qn(1,0,0);d_.prototype=Qn.prototype;function d_(t){for(;!t.__zoom;)if(!(t=t.parentNode))return Up;return t.__zoom}function ix(t){t.stopImmediatePropagation()}function bf(t){t.preventDefault(),t.stopImmediatePropagation()}function ZF(t){return(!t.ctrlKey||t.type==="wheel")&&!t.button}function KF(){var t=this;return t instanceof SVGElement?(t=t.ownerSVGElement||t,t.hasAttribute("viewBox")?(t=t.viewBox.baseVal,[[t.x,t.y],[t.x+t.width,t.y+t.height]]):[[0,0],[t.width.baseVal.value,t.height.baseVal.value]]):[[0,0],[t.clientWidth,t.clientHeight]]}function PA(){return this.__zoom||Up}function JF(t){return-t.deltaY*(t.deltaMode===1?.05:t.deltaMode?1:.002)*(t.ctrlKey?10:1)}function tP(){return navigator.maxTouchPoints||"ontouchstart"in this}function eP(t,e,n){var r=t.invertX(e[0][0])-n[0][0],o=t.invertX(e[1][0])-n[1][0],i=t.invertY(e[0][1])-n[0][1],s=t.invertY(e[1][1])-n[1][1];return t.translate(o>r?(r+o)/2:Math.min(0,r)||Math.max(0,o),s>i?(i+s)/2:Math.min(0,i)||Math.max(0,s))}function m_(){var t=ZF,e=KF,n=eP,r=JF,o=tP,i=[0,1/0],s=[[-1/0,-1/0],[1/0,1/0]],a=250,c=Y2,f=oa("start","zoom","end"),u,p,l,h=500,d=150,m=0,g=10;function y(S){S.property("__zoom",PA).on("wheel.zoom",E,{passive:!1}).on("mousedown.zoom",T).on("dblclick.zoom",I).filter(o).on("touchstart.zoom",A).on("touchmove.zoom",k).on("touchend.zoom touchcancel.zoom",L).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}y.transform=function(S,C,N,R){var $=S.selection?S.selection():S;$.property("__zoom",PA),S!==$?_(S,C,N,R):$.interrupt().each(function(){v(this,arguments).event(R).start().zoom(null,typeof C=="function"?C.apply(this,arguments):C).end()})},y.scaleBy=function(S,C,N,R){y.scaleTo(S,function(){var $=this.__zoom.k,O=typeof C=="function"?C.apply(this,arguments):C;return $*O},N,R)},y.scaleTo=function(S,C,N,R){y.transform(S,function(){var $=e.apply(this,arguments),O=this.__zoom,D=N==null?w($):typeof N=="function"?N.apply(this,arguments):N,F=O.invert(D),P=typeof C=="function"?C.apply(this,arguments):C;return n(b(x(O,P),D,F),$,s)},N,R)},y.translateBy=function(S,C,N,R){y.transform(S,function(){return n(this.__zoom.translate(typeof C=="function"?C.apply(this,arguments):C,typeof N=="function"?N.apply(this,arguments):N),e.apply(this,arguments),s)},null,R)},y.translateTo=function(S,C,N,R,$){y.transform(S,function(){var O=e.apply(this,arguments),D=this.__zoom,F=R==null?w(O):typeof R=="function"?R.apply(this,arguments):R;return n(Up.translate(F[0],F[1]).scale(D.k).translate(typeof C=="function"?-C.apply(this,arguments):-C,typeof N=="function"?-N.apply(this,arguments):-N),O,s)},R,$)};function x(S,C){return C=Math.max(i[0],Math.min(i[1],C)),C===S.k?S:new Qn(C,S.x,S.y)}function b(S,C,N){var R=C[0]-N[0]*S.k,$=C[1]-N[1]*S.k;return R===S.x&&$===S.y?S:new Qn(S.k,R,$)}function w(S){return[(+S[0][0]+ +S[1][0])/2,(+S[0][1]+ +S[1][1])/2]}function _(S,C,N,R){S.on("start.zoom",function(){v(this,arguments).event(R).start()}).on("interrupt.zoom end.zoom",function(){v(this,arguments).event(R).end()}).tween("zoom",function(){var $=this,O=arguments,D=v($,O).event(R),F=e.apply($,O),P=N==null?w(F):typeof N=="function"?N.apply($,O):N,W=Math.max(F[1][0]-F[0][0],F[1][1]-F[0][1]),K=$.__zoom,tt=typeof C=="function"?C.apply($,O):C,nt=c(K.invert(P).concat(W/K.k),tt.invert(P).concat(W/tt.k));return function(U){if(U===1)U=tt;else{var et=nt(U),z=W/et[2];U=new Qn(z,P[0]-et[0]*z,P[1]-et[1]*z)}D.zoom(null,U)}})}function v(S,C,N){return!N&&S.__zooming||new M(S,C)}function M(S,C){this.that=S,this.args=C,this.active=0,this.sourceEvent=null,this.extent=e.apply(S,C),this.taps=0}M.prototype={event:function(S){return S&&(this.sourceEvent=S),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(S,C){return this.mouse&&S!=="mouse"&&(this.mouse[1]=C.invert(this.mouse[0])),this.touch0&&S!=="touch"&&(this.touch0[1]=C.invert(this.touch0[0])),this.touch1&&S!=="touch"&&(this.touch1[1]=C.invert(this.touch1[0])),this.that.__zoom=C,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(S){var C=Et(this.that).datum();f.call(S,this.that,new h_(S,{sourceEvent:this.sourceEvent,target:y,type:S,transform:this.that.__zoom,dispatch:f}),C)}};function E(S,...C){if(!t.apply(this,arguments))return;var N=v(this,C).event(S),R=this.__zoom,$=Math.max(i[0],Math.min(i[1],R.k*Math.pow(2,r.apply(this,arguments)))),O=on(S);if(N.wheel)(N.mouse[0][0]!==O[0]||N.mouse[0][1]!==O[1])&&(N.mouse[1]=R.invert(N.mouse[0]=O)),clearTimeout(N.wheel);else{if(R.k===$)return;N.mouse=[O,R.invert(O)],ro(this),N.start()}bf(S),N.wheel=setTimeout(D,d),N.zoom("mouse",n(b(x(R,$),N.mouse[0],N.mouse[1]),N.extent,s));function D(){N.wheel=null,N.end()}}function T(S,...C){if(l||!t.apply(this,arguments))return;var N=S.currentTarget,R=v(this,C,!0).event(S),$=Et(S.view).on("mousemove.zoom",P,!0).on("mouseup.zoom",W,!0),O=on(S,N),D=S.clientX,F=S.clientY;bl(S.view),ix(S),R.mouse=[O,this.__zoom.invert(O)],ro(this),R.start();function P(K){if(bf(K),!R.moved){var tt=K.clientX-D,nt=K.clientY-F;R.moved=tt*tt+nt*nt>m}R.event(K).zoom("mouse",n(b(R.that.__zoom,R.mouse[0]=on(K,N),R.mouse[1]),R.extent,s))}function W(K){$.on("mousemove.zoom mouseup.zoom",null),wl(K.view,R.moved),bf(K),R.event(K).end()}}function I(S,...C){if(t.apply(this,arguments)){var N=this.__zoom,R=on(S.changedTouches?S.changedTouches[0]:S,this),$=N.invert(R),O=N.k*(S.shiftKey?.5:2),D=n(b(x(N,O),R,$),e.apply(this,C),s);bf(S),a>0?Et(this).transition().duration(a).call(_,D,R,S):Et(this).call(y.transform,D,R,S)}}function A(S,...C){if(t.apply(this,arguments)){var N=S.touches,R=N.length,$=v(this,C,S.changedTouches.length===R).event(S),O,D,F,P;for(ix(S),D=0;D<R;++D)F=N[D],P=on(F,this),P=[P,this.__zoom.invert(P),F.identifier],$.touch0?!$.touch1&&$.touch0[2]!==P[2]&&($.touch1=P,$.taps=0):($.touch0=P,O=!0,$.taps=1+!!u);u&&(u=clearTimeout(u)),O&&($.taps<2&&(p=P[0],u=setTimeout(function(){u=null},h)),ro(this),$.start())}}function k(S,...C){if(this.__zooming){var N=v(this,C).event(S),R=S.changedTouches,$=R.length,O,D,F,P;for(bf(S),O=0;O<$;++O)D=R[O],F=on(D,this),N.touch0&&N.touch0[2]===D.identifier?N.touch0[0]=F:N.touch1&&N.touch1[2]===D.identifier&&(N.touch1[0]=F);if(D=N.that.__zoom,N.touch1){var W=N.touch0[0],K=N.touch0[1],tt=N.touch1[0],nt=N.touch1[1],U=(U=tt[0]-W[0])*U+(U=tt[1]-W[1])*U,et=(et=nt[0]-K[0])*et+(et=nt[1]-K[1])*et;D=x(D,Math.sqrt(U/et)),F=[(W[0]+tt[0])/2,(W[1]+tt[1])/2],P=[(K[0]+nt[0])/2,(K[1]+nt[1])/2]}else if(N.touch0)F=N.touch0[0],P=N.touch0[1];else return;N.zoom("touch",n(b(D,F,P),N.extent,s))}}function L(S,...C){if(this.__zooming){var N=v(this,C).event(S),R=S.changedTouches,$=R.length,O,D;for(ix(S),l&&clearTimeout(l),l=setTimeout(function(){l=null},h),O=0;O<$;++O)D=R[O],N.touch0&&N.touch0[2]===D.identifier?delete N.touch0:N.touch1&&N.touch1[2]===D.identifier&&delete N.touch1;if(N.touch1&&!N.touch0&&(N.touch0=N.touch1,delete N.touch1),N.touch0)N.touch0[1]=this.__zoom.invert(N.touch0[0]);else if(N.end(),N.taps===2&&(D=on(D,this),Math.hypot(p[0]-D[0],p[1]-D[1])<g)){var F=Et(this).on("dblclick.zoom");F&&F.apply(this,arguments)}}}return y.wheelDelta=function(S){return arguments.length?(r=typeof S=="function"?S:Yp(+S),y):r},y.filter=function(S){return arguments.length?(t=typeof S=="function"?S:Yp(!!S),y):t},y.touchable=function(S){return arguments.length?(o=typeof S=="function"?S:Yp(!!S),y):o},y.extent=function(S){return arguments.length?(e=typeof S=="function"?S:Yp([[+S[0][0],+S[0][1]],[+S[1][0],+S[1][1]]]),y):e},y.scaleExtent=function(S){return arguments.length?(i[0]=+S[0],i[1]=+S[1],y):[i[0],i[1]]},y.translateExtent=function(S){return arguments.length?(s[0][0]=+S[0][0],s[1][0]=+S[1][0],s[0][1]=+S[0][1],s[1][1]=+S[1][1],y):[[s[0][0],s[0][1]],[s[1][0],s[1][1]]]},y.constrain=function(S){return arguments.length?(n=S,y):n},y.duration=function(S){return arguments.length?(a=+S,y):a},y.interpolate=function(S){return arguments.length?(c=S,y):c},y.on=function(){var S=f.on.apply(f,arguments);return S===f?y:S},y.clickDistance=function(S){return arguments.length?(m=(S=+S)*S,y):Math.sqrt(m)},y.tapDistance=function(S){return arguments.length?(g=+S,y):g},y}function Jt(t){return t!=null&&!Number.isNaN(t)}function qe(t,e){return+Jt(e)-+Jt(t)||dt(t,e)}function ka(t,e){return+Jt(e)-+Jt(t)||bn(t,e)}function jp(t){return t!=null&&`${t}`!=""}function wf(t){return isFinite(t)?t:NaN}function kn(t){return t>0&&isFinite(t)?t:NaN}function is(t){return t<0&&isFinite(t)?t:NaN}function sx(t,e){if(t instanceof Date||(t=new Date(+t)),isNaN(t))return typeof e=="function"?e(t):e;let n=t.getUTCHours(),r=t.getUTCMinutes(),o=t.getUTCSeconds(),i=t.getUTCMilliseconds();return`${nP(t.getUTCFullYear(),4)}-${mi(t.getUTCMonth()+1,2)}-${mi(t.getUTCDate(),2)}${n||r||o||i?`T${mi(n,2)}:${mi(r,2)}${o||i?`:${mi(o,2)}${i?`.${mi(i,3)}`:""}`:""}Z`:""}`}function nP(t){return t<0?`-${mi(-t,6)}`:t>9999?`+${mi(t,6)}`:mi(t,4)}function mi(t,e){return`${t}`.padStart(e,"0")}var rP=/^(?:[-+]\d{2})?\d{4}(?:-\d{2}(?:-\d{2})?)?(?:T\d{2}:\d{2}(?::\d{2}(?:\.\d{3})?)?(?:Z|[-+]\d{2}:?\d{2})?)?$/;function Xp(t,e){return rP.test(t+="")?new Date(t):typeof e=="function"?e(t):e}function gi(t){if(t==null)return;let e=t[0],n=t[t.length-1];return bn(e,n)}var _f=1e3,as=_f*60,cs=as*60,xo=cs*24,yo=xo*7,Ra=xo*30,ss=xo*365,g_=[["millisecond",1],["2 milliseconds",2],["5 milliseconds",5],["10 milliseconds",10],["20 milliseconds",20],["50 milliseconds",50],["100 milliseconds",100],["200 milliseconds",200],["500 milliseconds",500],["second",_f],["5 seconds",5*_f],["15 seconds",15*_f],["30 seconds",30*_f],["minute",as],["5 minutes",5*as],["15 minutes",15*as],["30 minutes",30*as],["hour",cs],["3 hours",3*cs],["6 hours",6*cs],["12 hours",12*cs],["day",xo],["2 days",2*xo],["week",yo],["2 weeks",2*yo],["month",Ra],["3 months",3*Ra],["6 months",6*Ra],["year",ss],["2 years",2*ss],["5 years",5*ss],["10 years",10*ss],["20 years",20*ss],["50 years",50*ss],["100 years",100*ss]],y_=new Map([["second",_f],["minute",as],["hour",cs],["day",xo],["monday",yo],["tuesday",yo],["wednesday",yo],["thursday",yo],["friday",yo],["saturday",yo],["sunday",yo],["week",yo],["month",Ra],["year",ss]]),BA=new Map([["second",Fe],["minute",ai],["hour",fi],["day",mr],["monday",rs],["tuesday",Mg],["wednesday",Sg],["thursday",ho],["friday",Ag],["saturday",Eg],["sunday",Vn],["week",Vn],["month",li],["year",un]]),x_=new Map([["second",Fe],["minute",ci],["hour",ui],["day",Ta],["monday",os],["tuesday",Tg],["wednesday",Ig],["thursday",mo],["friday",Cg],["saturday",Ng],["sunday",Hn],["week",Hn],["month",pi],["year",ln]]),Mf=Symbol("intervalDuration"),cx=Symbol("intervalType");for(let[t,e]of BA)e[Mf]=y_.get(t),e[cx]="time";for(let[t,e]of x_)e[Mf]=y_.get(t),e[cx]="utc";var Wp=[["year",ln,"utc"],["month",pi,"utc"],["day",Ta,"utc",6*Ra],["hour",ui,"utc",3*xo],["minute",ci,"utc",6*cs],["second",Fe,"utc",30*as]],ax=[["year",un,"time"],["month",li,"time"],["day",mr,"time",6*Ra],["hour",fi,"time",3*xo],["minute",ai,"time",6*cs],["second",Fe,"time",30*as]],oP=[Wp[0],ax[0],Wp[1],ax[1],Wp[2],ax[2],...Wp.slice(3)];function fx(t){let e=`${t}`.toLowerCase();e.endsWith("s")&&(e=e.slice(0,-1));let n=1,r=/^(?:(\d+)\s+)/.exec(e);switch(r&&(e=e.slice(r[0].length),n=+r[1]),e){case"quarter":e="month",n*=3;break;case"half":e="month",n*=6;break}let o=x_.get(e);if(!o)throw new Error(`unknown interval: ${t}`);if(n>1&&!o.every)throw new Error(`non-periodic interval: ${e}`);return[e,n]}function Gp(t){return zA(fx(t),"time")}function La(t){return zA(fx(t),"utc")}function zA([t,e],n){let r=(n==="time"?BA:x_).get(t);return e>1&&(r=r.every(e),r[Mf]=y_.get(t)*e,r[cx]=n),r}function b_(t,e){if(!(e>1))return;let n=t[Mf];if(!g_.some(([,o])=>o===n)||n%xo===0&&xo<n&&n<Ra)return;let[r]=g_[Nr(([,o])=>Math.log(o)).center(g_,Math.log(n*e))];return(t[cx]==="time"?Gp:La)(r)}function qA(t,e,n){let r=e==="time"?uf:go;if(n==null)return r(t==="year"?"%Y":t==="month"?"%Y-%m":t==="day"?"%Y-%m-%d":t==="hour"||t==="minute"?"%Y-%m-%dT%H:%M":t==="second"?"%Y-%m-%dT%H:%M:%S":"%Y-%m-%dT%H:%M:%S.%L");let o=iP(n);switch(t){case"millisecond":return vf(r(".%L"),r(":%M:%S"),o);case"second":return vf(r(":%S"),r("%-I:%M"),o);case"minute":return vf(r("%-I:%M"),r("%p"),o);case"hour":return vf(r("%-I %p"),r("%b %-d"),o);case"day":return vf(r("%-d"),r("%b"),o);case"month":return vf(r("%b"),r("%Y"),o);case"year":return r("%Y")}throw new Error("unable to format time ticks")}function iP(t){return t==="left"||t==="right"?(e,n)=>`
|
|
1
|
+
var WC=Object.create;var rb=Object.defineProperty;var GC=Object.getOwnPropertyDescriptor;var VC=Object.getOwnPropertyNames;var HC=Object.getPrototypeOf,QC=Object.prototype.hasOwnProperty;var e4=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),ZC=(t,e)=>{for(var n in e)rb(t,n,{get:e[n],enumerable:!0})},KC=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of VC(e))!QC.call(t,o)&&o!==n&&rb(t,o,{get:()=>e[o],enumerable:!(r=GC(e,o))||r.enumerable});return t};var JC=(t,e,n)=>(n=t!=null?WC(HC(t)):{},KC(e||!t||!t.__esModule?rb(n,"default",{value:t,enumerable:!0}):n,t));var AI=e4((GIt,SI)=>{"use strict";function gY(t,e,n,r,o){for(var i=o+1;r<=o;){var s=r+o>>>1,a=t[s],c=n!==void 0?n(a,e):a-e;c>=0?(i=s,o=s-1):r=s+1}return i}function yY(t,e,n,r,o){for(var i=o+1;r<=o;){var s=r+o>>>1,a=t[s],c=n!==void 0?n(a,e):a-e;c>0?(i=s,o=s-1):r=s+1}return i}function xY(t,e,n,r,o){for(var i=r-1;r<=o;){var s=r+o>>>1,a=t[s],c=n!==void 0?n(a,e):a-e;c<0?(i=s,r=s+1):o=s-1}return i}function bY(t,e,n,r,o){for(var i=r-1;r<=o;){var s=r+o>>>1,a=t[s],c=n!==void 0?n(a,e):a-e;c<=0?(i=s,r=s+1):o=s-1}return i}function wY(t,e,n,r,o){for(;r<=o;){var i=r+o>>>1,s=t[i],a=n!==void 0?n(s,e):s-e;if(a===0)return i;a<=0?r=i+1:o=i-1}return-1}function Wh(t,e,n,r,o,i){return typeof n=="function"?i(t,e,n,r===void 0?0:r|0,o===void 0?t.length-1:o|0):i(t,e,void 0,n===void 0?0:n|0,r===void 0?t.length-1:r|0)}SI.exports={ge:function(t,e,n,r,o){return Wh(t,e,n,r,o,gY)},gt:function(t,e,n,r,o){return Wh(t,e,n,r,o,yY)},lt:function(t,e,n,r,o){return Wh(t,e,n,r,o,xY)},le:function(t,e,n,r,o){return Wh(t,e,n,r,o,bY)},eq:function(t,e,n,r,o){return Wh(t,e,n,r,o,wY)}}});var LI=e4((VIt,RI)=>{"use strict";var R1=AI(),fu=0,ec=1,k1=2;RI.exports=_Y;function m3(t,e,n,r,o){this.mid=t,this.left=e,this.right=n,this.leftPoints=r,this.rightPoints=o,this.count=(e?e.count:0)+(n?n.count:0)+r.length}var Gh=m3.prototype;function h3(t,e){t.mid=e.mid,t.left=e.left,t.right=e.right,t.leftPoints=e.leftPoints,t.rightPoints=e.rightPoints,t.count=e.count}function II(t,e){var n=uu(e);t.mid=n.mid,t.left=n.left,t.right=n.right,t.leftPoints=n.leftPoints,t.rightPoints=n.rightPoints,t.count=n.count}function EI(t,e){var n=t.intervals([]);n.push(e),II(t,n)}function TI(t,e){var n=t.intervals([]),r=n.indexOf(e);return r<0?fu:(n.splice(r,1),II(t,n),ec)}Gh.intervals=function(t){return t.push.apply(t,this.leftPoints),this.left&&this.left.intervals(t),this.right&&this.right.intervals(t),t};Gh.insert=function(t){var e=this.count-this.leftPoints.length;if(this.count+=1,t[1]<this.mid)this.left?4*(this.left.count+1)>3*(e+1)?EI(this,t):this.left.insert(t):this.left=uu([t]);else if(t[0]>this.mid)this.right?4*(this.right.count+1)>3*(e+1)?EI(this,t):this.right.insert(t):this.right=uu([t]);else{var n=R1.ge(this.leftPoints,t,g3),r=R1.ge(this.rightPoints,t,y3);this.leftPoints.splice(n,0,t),this.rightPoints.splice(r,0,t)}};Gh.remove=function(t){var e=this.count-this.leftPoints;if(t[1]<this.mid){if(!this.left)return fu;var n=this.right?this.right.count:0;if(4*n>3*(e-1))return TI(this,t);var r=this.left.remove(t);return r===k1?(this.left=null,this.count-=1,ec):(r===ec&&(this.count-=1),r)}else if(t[0]>this.mid){if(!this.right)return fu;var o=this.left?this.left.count:0;if(4*o>3*(e-1))return TI(this,t);var r=this.right.remove(t);return r===k1?(this.right=null,this.count-=1,ec):(r===ec&&(this.count-=1),r)}else{if(this.count===1)return this.leftPoints[0]===t?k1:fu;if(this.leftPoints.length===1&&this.leftPoints[0]===t){if(this.left&&this.right){for(var i=this,s=this.left;s.right;)i=s,s=s.right;if(i===this)s.right=this.right;else{var a=this.left,r=this.right;i.count-=s.count,i.right=s.left,s.left=a,s.right=r}h3(this,s),this.count=(this.left?this.left.count:0)+(this.right?this.right.count:0)+this.leftPoints.length}else this.left?h3(this,this.left):h3(this,this.right);return ec}for(var a=R1.ge(this.leftPoints,t,g3);a<this.leftPoints.length&&this.leftPoints[a][0]===t[0];++a)if(this.leftPoints[a]===t){this.count-=1,this.leftPoints.splice(a,1);for(var r=R1.ge(this.rightPoints,t,y3);r<this.rightPoints.length&&this.rightPoints[r][1]===t[1];++r)if(this.rightPoints[r]===t)return this.rightPoints.splice(r,1),ec}return fu}};function CI(t,e,n){for(var r=0;r<t.length&&t[r][0]<=e;++r){var o=n(t[r]);if(o)return o}}function NI(t,e,n){for(var r=t.length-1;r>=0&&t[r][1]>=e;--r){var o=n(t[r]);if(o)return o}}function kI(t,e){for(var n=0;n<t.length;++n){var r=e(t[n]);if(r)return r}}Gh.queryPoint=function(t,e){if(t<this.mid){if(this.left){var n=this.left.queryPoint(t,e);if(n)return n}return CI(this.leftPoints,t,e)}else if(t>this.mid){if(this.right){var n=this.right.queryPoint(t,e);if(n)return n}return NI(this.rightPoints,t,e)}else return kI(this.leftPoints,e)};Gh.queryInterval=function(t,e,n){if(t<this.mid&&this.left){var r=this.left.queryInterval(t,e,n);if(r)return r}if(e>this.mid&&this.right){var r=this.right.queryInterval(t,e,n);if(r)return r}return e<this.mid?CI(this.leftPoints,e,n):t>this.mid?NI(this.rightPoints,t,n):kI(this.leftPoints,n)};function vY(t,e){return t-e}function g3(t,e){var n=t[0]-e[0];return n||t[1]-e[1]}function y3(t,e){var n=t[1]-e[1];return n||t[0]-e[0]}function uu(t){if(t.length===0)return null;for(var e=[],n=0;n<t.length;++n)e.push(t[n][0],t[n][1]);e.sort(vY);for(var r=e[e.length>>1],o=[],i=[],s=[],n=0;n<t.length;++n){var a=t[n];a[1]<r?o.push(a):r<a[0]?i.push(a):s.push(a)}var c=s,f=s.slice();return c.sort(g3),f.sort(y3),new m3(r,uu(o),uu(i),c,f)}function d3(t){this.root=t}var lu=d3.prototype;lu.insert=function(t){this.root?this.root.insert(t):this.root=new m3(t[0],null,null,[t],[t])};lu.remove=function(t){if(this.root){var e=this.root.remove(t);return e===k1&&(this.root=null),e!==fu}return!1};lu.queryPoint=function(t,e){if(this.root)return this.root.queryPoint(t,e)};lu.queryInterval=function(t,e,n){if(t<=e&&this.root)return this.root.queryInterval(t,e,n)};Object.defineProperty(lu,"count",{get:function(){return this.root?this.root.count:0}});Object.defineProperty(lu,"intervals",{get:function(){return this.root?this.root.intervals([]):[]}});function _Y(t){return!t||t.length===0?new d3(null):new d3(uu(t))}});var Li=Symbol("Fixed"),je=Symbol("Transient"),gu=Symbol("Transform");var yu=Uint8Array.of(65,82,82,79,87,49),tN=Uint8Array.of(255,255,255,255,0,0,0,0),or={V1:0,V2:1,V3:2,V4:3,V5:4};var ir={NONE:0,Schema:1,DictionaryBatch:2,RecordBatch:3,Tensor:4,SparseTensor:5},B={Dictionary:-1,NONE:0,Null:1,Int:2,Float:3,Binary:4,Utf8:5,Bool:6,Decimal:7,Date:8,Time:9,Timestamp:10,Interval:11,List:12,Struct:13,Union:14,FixedSizeBinary:15,FixedSizeList:16,Map:17,Duration:18,LargeBinary:19,LargeUtf8:20,LargeList:21,RunEndEncoded:22,BinaryView:23,Utf8View:24,ListView:25,LargeListView:26},sc={HALF:0,SINGLE:1,DOUBLE:2},Fo={DAY:0,MILLISECOND:1},Ne={SECOND:0,MILLISECOND:1,MICROSECOND:2,NANOSECOND:3},sr={YEAR_MONTH:0,DAY_TIME:1,MONTH_DAY_NANO:2},Po={Sparse:0,Dense:1};var ac=Uint8Array,fd=Uint16Array,ud=Uint32Array,ld=BigUint64Array,xu=Int8Array,n4=Int16Array,On=Int32Array,Yn=BigInt64Array,ob=Float32Array,Oi=Float64Array;function r4(t,e){let n=Math.log2(t)-3;return(e?[xu,n4,On,Yn]:[ac,fd,ud,ld])[n]}var nj=Object.getPrototypeOf(Int8Array);function cc(t,e){let n=0,r=t.length;if(r<=2147483648)do{let o=n+r>>>1;t[o]<=e?n=o+1:r=o}while(n<r);else do{let o=Math.trunc((n+r)/2);t[o]<=e?n=o+1:r=o}while(n<r);return n}function pd(t,e,n){if(e(t))return t;throw new Error(n(t))}function $n(t,e,n){return e=Array.isArray(e)?e:Object.values(e),pd(t,r=>e.includes(r),n??(()=>`${t} must be one of ${e}`))}function hd(t,e){for(let[n,r]of Object.entries(t))if(r===e)return n;return"<Unknown>"}var qo=t=>`Unsupported data type: "${hd(B,t)}" (id ${t})`,bu=(t,e,n=!0,r=null)=>({name:t,type:e,nullable:n,metadata:r});function o4(t){return Object.hasOwn(t,"name")&&i4(t.type)}function i4(t){return typeof t?.typeId=="number"}function $i(t,e="",n=!0){return o4(t)?t:bu(e,pd(t,i4,()=>"Data type expected."),n)}var dd=(t,e,n=!1,r=-1)=>({typeId:B.Dictionary,id:r,dictionary:t,indices:e||fc(),ordered:n});var md=(t=32,e=!0)=>({typeId:B.Int,bitWidth:$n(t,[8,16,32,64]),signed:e,values:r4(t,e)});var fc=()=>md(32);var ib=(t=2)=>({typeId:B.Float,precision:$n(t,sc),values:[fd,ob,Oi][t]});var sb=()=>({typeId:B.Binary,offsets:On}),gd=()=>({typeId:B.Utf8,offsets:On});var ab=(t,e,n=128)=>({typeId:B.Decimal,precision:t,scale:e,bitWidth:$n(n,[128,256]),values:ld}),cb=t=>({typeId:B.Date,unit:$n(t,Fo),values:t===Fo.DAY?On:Yn});var fb=(t=Ne.MILLISECOND,e=32)=>({typeId:B.Time,unit:$n(t,Ne),bitWidth:$n(e,[32,64]),values:e===32?On:Yn});var yd=(t=Ne.MILLISECOND,e=null)=>({typeId:B.Timestamp,unit:$n(t,Ne),timezone:e,values:Yn}),ub=(t=sr.MONTH_DAY_NANO)=>({typeId:B.Interval,unit:$n(t,sr),values:t===sr.MONTH_DAY_NANO?void 0:On}),xd=t=>({typeId:B.List,children:[$i(t)],offsets:On}),bd=t=>({typeId:B.Struct,children:Array.isArray(t)&&o4(t[0])?t:Object.entries(t).map(([e,n])=>bu(e,n))}),lb=(t,e,n,r)=>(n??=e.map((o,i)=>i),{typeId:B.Union,mode:$n(t,Po),typeIds:n,typeMap:n.reduce((o,i,s)=>(o[i]=s,o),{}),children:e.map((o,i)=>$i(o,`_${i}`)),typeIdForValue:r,offsets:On}),pb=t=>({typeId:B.FixedSizeBinary,stride:t}),wd=(t,e)=>({typeId:B.FixedSizeList,stride:e,children:[$i(t)]}),s4=(t,e)=>({typeId:B.Map,keysSorted:t,children:[e],offsets:On});var hb=(t=Ne.MILLISECOND)=>({typeId:B.Duration,unit:$n(t,Ne),values:Yn}),db=()=>({typeId:B.LargeBinary,offsets:Yn}),mb=()=>({typeId:B.LargeUtf8,offsets:Yn}),gb=t=>({typeId:B.LargeList,children:[$i(t)],offsets:Yn}),yb=(t,e)=>({typeId:B.RunEndEncoded,children:[pd($i(t,"run_ends"),n=>n.type.typeId===B.Int,()=>"Run-ends must have an integer type."),$i(e,"values")]});var xb=t=>({typeId:B.ListView,children:[$i(t,"value")],offsets:On}),bb=t=>({typeId:B.LargeListView,children:[$i(t,"value")],offsets:Yn});var eN=new Oi(2),vd=eN.buffer,lj=new Yn(vd),pj=new ud(vd),hj=new On(vd),dj=new ac(vd);function jr(t){if(t>Number.MAX_SAFE_INTEGER||t<Number.MIN_SAFE_INTEGER)throw Error(`BigInt exceeds integer number representation: ${t}`);return Number(t)}function _d(t,e){return Number(t/e)+Number(t%e)/Number(e)}var uc=t=>BigInt.asUintN(64,t);function c4(t,e){let n=e<<1,r;return BigInt.asIntN(64,t[n+1])<0?(r=uc(~t[n])|uc(~t[n+1])<<64n,r=-(r+1n)):r=t[n]|t[n+1]<<64n,r}function f4(t,e){let n=e<<2,r;return BigInt.asIntN(64,t[n+3])<0?(r=uc(~t[n])|uc(~t[n+1])<<64n|uc(~t[n+2])<<128n|uc(~t[n+3])<<192n,r=-(r+1n)):r=t[n]|t[n+1]<<64n|t[n+2]<<128n|t[n+3]<<192n,r}var rN=new TextDecoder("utf-8"),bj=new TextEncoder;function lc(t){return rN.decode(t)}var qs=4;function wb(t,e){return(t[e>>3]&1<<e%8)!==0}function en(t,e){let n=e+zt(t,e),r=n-zt(t,n),o=Xe(t,r);return(i,s,a=null)=>{if(i<o){let c=Xe(t,r+i);if(c)return s(t,n+c)}return a}}function Mr(t,e){return e}function Di(t,e){return!!oN(t,e)}function oN(t,e){return wu(t,e)<<24>>24}function wu(t,e){return t[e]}function Xe(t,e){return iN(t,e)<<16>>16}function iN(t,e){return t[e]|t[e+1]<<8}function zt(t,e){return t[e]|t[e+1]<<8|t[e+2]<<16|t[e+3]<<24}function u4(t,e){return zt(t,e)>>>0}function ke(t,e){return jr(BigInt.asIntN(64,BigInt(u4(t,e))+(BigInt(u4(t,e+qs))<<32n)))}function Bs(t,e){let n=e+zt(t,e),r=zt(t,n);return n+=qs,lc(t.subarray(n,n+r))}function Un(t,e,n,r){if(!e)return[];let o=e+zt(t,e);return Array.from({length:zt(t,o)},(i,s)=>r(t,o+qs+s*n))}var vb=Symbol("rowIndex");function vu(t,e){class n{constructor(i){this[vb]=i}toJSON(){return l4(t,e,this[vb])}}let r=n.prototype;for(let o=0;o<t.length;++o){if(Object.hasOwn(r,t[o]))continue;let i=e[o];Object.defineProperty(r,t[o],{get(){return i.at(this[vb])},enumerable:!0})}return o=>new n(o)}function Md(t,e){return n=>l4(t,e,n)}function l4(t,e,n){let r={};for(let o=0;o<t.length;++o)r[t[o]]=e[o].at(n);return r}function p4(t){return t instanceof Fi}var zs=class{static ArrayType=null;constructor({length:e,nullCount:n,type:r,validity:o,values:i,offsets:s,sizes:a,children:c}){this.length=e,this.nullCount=n,this.type=r,this.validity=o,this.values=i,this.offsets=s,this.sizes=a,this.children=c,(!n||!this.validity)&&(this.at=f=>this.value(f))}get[Symbol.toStringTag](){return"Batch"}at(e){return this.isValid(e)?this.value(e):null}isValid(e){return wb(this.validity,e)}value(e){return this.values[e]}slice(e,n){let r=n-e,o=Array(r);for(let i=0;i<r;++i)o[i]=this.at(e+i);return o}*[Symbol.iterator](){for(let e=0;e<this.length;++e)yield this.at(e)}},Fi=class extends zs{constructor(e){super(e);let{length:n,values:r}=this;this.values=r.subarray(0,n)}slice(e,n){return this.nullCount?super.slice(e,n):this.values.subarray(e,n)}[Symbol.iterator](){return this.nullCount?super[Symbol.iterator]():this.values[Symbol.iterator]()}},_u=class extends zs{static ArrayType=Oi},ee=class extends zs{static ArrayType=Array},Mu=class extends ee{value(e){return null}},Xr=class extends _u{value(e){return jr(this.values[e])}},Sd=class extends _u{value(e){let n=this.values[e],r=(n&31744)>>10,o=(n&1023)/1024,i=(-1)**((n&32768)>>15);switch(r){case 31:return i*(o?Number.NaN:1/0);case 0:return i*(o?6103515625e-14*o:0)}return i*2**(r-15)*(1+o)}},Ad=class extends ee{value(e){return wb(this.values,e)}},Ed=class extends zs{constructor(e){super(e);let{bitWidth:n,scale:r}=this.type;this.decimal=n===128?c4:f4,this.scale=10n**BigInt(r)}},Td=class extends Ed{static ArrayType=Oi;value(e){return _d(this.decimal(this.values,e),this.scale)}},Id=class extends Ed{static ArrayType=Array;value(e){return this.decimal(this.values,e)}},Su=class extends ee{constructor(e){super(e),this.source=e}value(e){return new Date(this.source.value(e))}},Cd=class extends _u{value(e){return 864e5*this.values[e]}},h4=Xr,Nd=class extends Xr{value(e){return super.value(e)*1e3}},d4=Xr,kd=class extends Xr{value(e){return _d(this.values[e],1000n)}},Rd=class extends Xr{value(e){return _d(this.values[e],1000000n)}},Ld=class extends ee{value(e){return this.values.subarray(e<<1,e+1<<1)}},Od=class extends ee{value(e){let n=this.values,r=e<<4;return Float64Array.of(zt(n,r),zt(n,r+4),ke(n,r+8))}},m4=({values:t,offsets:e},n)=>t.subarray(e[n],e[n+1]),g4=({values:t,offsets:e},n)=>t.subarray(jr(e[n]),jr(e[n+1])),$d=class extends ee{value(e){return m4(this,e)}},Dd=class extends ee{value(e){return g4(this,e)}},Fd=class extends ee{value(e){return lc(m4(this,e))}},Pd=class extends ee{value(e){return lc(g4(this,e))}},qd=class extends ee{value(e){let n=this.offsets;return this.children[0].slice(n[e],n[e+1])}},Bd=class extends ee{value(e){let n=this.offsets;return this.children[0].slice(jr(n[e]),jr(n[e+1]))}},zd=class extends ee{value(e){let n=this.offsets[e],r=n+this.sizes[e];return this.children[0].slice(n,r)}},Yd=class extends ee{value(e){let n=this.offsets[e],r=n+this.sizes[e];return this.children[0].slice(jr(n),jr(r))}},Ud=class extends ee{constructor(e){super(e),this.stride=this.type.stride}},jd=class extends Ud{value(e){let{stride:n,values:r}=this;return r.subarray(e*n,(e+1)*n)}},Xd=class extends Ud{value(e){let{children:n,stride:r}=this;return n[0].slice(e*r,(e+1)*r)}};function y4({children:t,offsets:e},n){let[r,o]=t[0].children,i=e[n],s=e[n+1],a=[];for(let c=i;c<s;++c)a.push([r.at(c),o.at(c)]);return a}var Wd=class extends ee{value(e){return y4(this,e)}},Gd=class extends ee{value(e){return new Map(y4(this,e))}},Au=class extends ee{constructor({typeIds:e,...n}){super(n),this.typeIds=e,this.typeMap=this.type.typeMap}value(e,n=e){let{typeIds:r,children:o,typeMap:i}=this;return o[i[r[e]]].at(n)}},Vd=class extends Au{value(e){return super.value(e,this.offsets[e])}},Eu=class extends ee{constructor(e,n=Md){super(e),this.names=this.type.children.map(r=>r.name),this.factory=n(this.names,this.children)}value(e){return this.factory(e)}},Hd=class extends Eu{constructor(e){super(e,vu)}},Qd=class extends ee{value(e){let[{values:n},r]=this.children;return r.at(cc(n,e))}},Zd=class extends ee{setDictionary(e){return this.dictionary=e,this.cache=e.cache(),this}value(e){return this.cache[this.key(e)]}key(e){return this.values[e]}},Kd=class extends ee{constructor({data:e,...n}){super(n),this.data=e}view(e){let{values:n,data:r}=this,o=e<<4,i=o+4,s=n,a=zt(s,o);return a>12&&(i=zt(s,o+12),s=r[zt(s,o+8)]),s.subarray(i,i+a)}},Jd=class extends Kd{value(e){return this.view(e)}},tm=class extends Kd{value(e){return lc(this.view(e))}};function _b(t){let e=[];return{add(n){return e.push(n),this},clear:()=>e=[],done:()=>new Ys(e,t)}}var Ys=class{constructor(e,n=e[0]?.type){this.type=n,this.length=e.reduce((i,s)=>i+s.length,0),this.nullCount=e.reduce((i,s)=>i+s.nullCount,0),this.data=e;let r=e.length,o=new Int32Array(r+1);if(r===1){let[i]=e;o[1]=i.length,this.at=s=>i.at(s)}else for(let i=0,s=0;i<r;++i)o[i+1]=s+=e[i].length;this.offsets=o}get[Symbol.toStringTag](){return"Column"}[Symbol.iterator](){let e=this.data;return e.length===1?e[0][Symbol.iterator]():sN(e)}at(e){let{data:n,offsets:r}=this,o=cc(r,e)-1;return n[o]?.at(e-r[o])}get(e){return this.at(e)}toArray(){let{length:e,nullCount:n,data:r}=this,o=!n&&p4(r[0]),i=r.length;if(o&&i===1)return r[0].values;let s=!i||n>0?Array:r[0].constructor.ArrayType??r[0].values.constructor,a=new s(e);return o?aN(a,r):cN(a,r)}cache(){return this._cache??(this._cache=this.toArray())}};function*sN(t){for(let e=0;e<t.length;++e){let n=t[e][Symbol.iterator]();for(let r=n.next();!r.done;r=n.next())yield r.value}}function aN(t,e){for(let n=0,r=0;n<e.length;++n){let{values:o}=e[n];t.set(o,r),r+=o.length}return t}function cN(t,e){let n=-1;for(let r=0;r<e.length;++r){let o=e[r];for(let i=0;i<o.length;++i)t[++n]=o.at(i)}return t}var pc=class t{constructor(e,n,r=!1){let o=e.fields.map(s=>s.name);this.schema=e,this.names=o,this.children=n,this.factory=r?vu:Md;let i=[];this.getFactory=s=>i[s]??(i[s]=this.factory(o,n.map(a=>a.data[s])))}get[Symbol.toStringTag](){return"Table"}get numCols(){return this.names.length}get numRows(){return this.children[0]?.length??0}getChildAt(e){return this.children[e]}getChild(e){let n=this.names.findIndex(r=>r===e);return n>-1?this.children[n]:void 0}selectAt(e,n=[]){let{children:r,factory:o,schema:i}=this,{fields:s}=i;return new t({...i,fields:e.map((a,c)=>fN(s[a],n[c]))},e.map(a=>r[a]),o===vu)}select(e,n){let r=this.names,o=e.map(i=>r.indexOf(i));return this.selectAt(o,n)}toColumns(){let{children:e,names:n}=this,r={};return n.forEach((o,i)=>r[o]=e[i]?.toArray()??[]),r}toArray(){let{children:e,getFactory:n,numRows:r}=this,o=e[0]?.data??[],i=Array(r);for(let s=0,a=-1;s<o.length;++s){let c=n(s);for(let f=0;f<o[s].length;++f)i[++a]=c(f)}return i}*[Symbol.iterator](){let{children:e,getFactory:n}=this,r=e[0]?.data??[];for(let o=0;o<r.length;++o){let i=n(o);for(let s=0;s<r[o].length;++s)yield i(s)}}at(e){let{children:n,getFactory:r,numRows:o}=this;if(e<0||e>=o)return null;let[{offsets:i}]=n,s=cc(i,e)-1;return r(s)(e-i[s])}get(e){return this.at(e)}};function fN(t,e){return e!=null&&e!==t.name?{...t,name:e}:t}function Tu(t,e={}){let{typeId:n,bitWidth:r,precision:o,unit:i}=t,{useBigInt:s,useDate:a,useDecimalBigInt:c,useMap:f,useProxy:u}=e;switch(n){case B.Null:return Mu;case B.Bool:return Ad;case B.Int:case B.Time:case B.Duration:return s||r<64?Fi:Xr;case B.Float:return o?Fi:Sd;case B.Date:return x4(i===Fo.DAY?Cd:h4,a&&Su);case B.Timestamp:return x4(i===Ne.SECOND?Nd:i===Ne.MILLISECOND?d4:i===Ne.MICROSECOND?kd:Rd,a&&Su);case B.Decimal:return c?Id:Td;case B.Interval:return i===sr.DAY_TIME?Ld:i===sr.YEAR_MONTH?Fi:Od;case B.FixedSizeBinary:return jd;case B.Utf8:return Fd;case B.LargeUtf8:return Pd;case B.Binary:return $d;case B.LargeBinary:return Dd;case B.BinaryView:return Jd;case B.Utf8View:return tm;case B.List:return qd;case B.LargeList:return Bd;case B.Map:return f?Gd:Wd;case B.ListView:return zd;case B.LargeListView:return Yd;case B.FixedSizeList:return Xd;case B.Struct:return u?Hd:Eu;case B.RunEndEncoded:return Qd;case B.Dictionary:return Zd;case B.Union:return t.mode?Vd:Au}throw new Error(qo(n))}function x4(t,e){return e?class extends e{constructor(r){super(new t(r))}}:t}function uN(t,e){return{offset:ke(t,e),metadataLength:zt(t,e+8),bodyLength:ke(t,e+16)}}function Mb(t,e){return Un(t,e,24,uN)}function em(t,e,n){let r=en(t,e);if(r(10,Mr,0))throw new Error("Record batch compression not implemented");let o=n<or.V4?8:0;return{length:r(4,ke,0),nodes:Un(t,r(6,Mr),16,(i,s)=>({length:ke(i,s),nullCount:ke(i,s+8)})),regions:Un(t,r(8,Mr),16+o,(i,s)=>({offset:ke(i,s+o),length:ke(i,s+o+8)})),variadic:Un(t,r(12,Mr),8,ke)}}function b4(t,e,n){let r=en(t,e);return{id:r(4,ke,0),data:r(6,(o,i)=>em(o,i,n)),isDelta:r(8,Di,!1)}}function Sb(t,e,n,r){$n(n,B,qo);let o=en(t,e);switch(n){case B.Binary:return sb();case B.Utf8:return gd();case B.LargeBinary:return db();case B.LargeUtf8:return mb();case B.List:return xd(r[0]);case B.ListView:return xb(r[0]);case B.LargeList:return gb(r[0]);case B.LargeListView:return bb(r[0]);case B.Struct:return bd(r);case B.RunEndEncoded:return yb(r[0],r[1]);case B.Int:return md(o(4,zt,0),o(6,Di,!1));case B.Float:return ib(o(4,Xe,sc.HALF));case B.Decimal:return ab(o(4,zt,0),o(6,zt,0),o(8,zt,128));case B.Date:return cb(o(4,Xe,Fo.MILLISECOND));case B.Time:return fb(o(4,Xe,Ne.MILLISECOND),o(6,zt,32));case B.Timestamp:return yd(o(4,Xe,Ne.SECOND),o(6,Bs));case B.Interval:return ub(o(4,Xe,sr.YEAR_MONTH));case B.Duration:return hb(o(4,Xe,Ne.MILLISECOND));case B.FixedSizeBinary:return pb(o(4,zt,0));case B.FixedSizeList:return wd(r[0],o(4,zt,0));case B.Map:return s4(o(4,Di,!1),r[0]);case B.Union:return lb(o(4,Xe,Po.Sparse),r,Un(t,o(6,Mr),4,zt))}return{typeId:n}}function Iu(t,e){let n=Un(t,e,4,(r,o)=>{let i=en(r,o);return[i(4,Bs),i(6,Bs)]});return n.length?new Map(n):null}function nm(t,e,n){let r=en(t,e);return{version:n,endianness:r(4,Xe,0),fields:r(6,lN,[]),metadata:r(8,Iu)}}function lN(t,e){return Un(t,e,4,w4)}function w4(t,e){let n=en(t,e),r=n(8,wu,B.NONE),o=n(10,Mr,0),i=n(12,hN),s=n(14,(c,f)=>pN(c,f)),a=Sb(t,o,r,s);return i&&(i.dictionary=a,a=i),{name:n(4,Bs),type:a,nullable:n(6,Di,!1),metadata:n(16,Iu)}}function pN(t,e){let n=Un(t,e,4,w4);return n.length?n:null}function hN(t,e){if(!e)return null;let n=en(t,e);return dd(null,n(6,dN,fc()),n(8,Di,!1),n(4,ke,0))}function dN(t,e){return Sb(t,e,B.Int)}var mN=(t,e)=>`Expected to read ${t} metadata bytes, but only read ${e}.`,gN=(t,e)=>`Expected to read ${t} bytes for message body, but only read ${e}.`,yN=t=>`Unsupported message type: ${t} (${hd(ir,t)})`;function rm(t,e){let n=zt(t,e)||0;if(e+=qs,n===-1&&(n=zt(t,e)||0,e+=qs),n===0)return null;let r=t.subarray(e,e+=n);if(r.byteLength<n)throw new Error(mN(n,r.byteLength));let o=en(r,0),i=o(4,Xe,or.V1),s=o(6,wu,ir.NONE),a=o(8,Mr,0),c=o(10,ke,0),f;if(a){let u=s===ir.Schema?nm:s===ir.DictionaryBatch?b4:s===ir.RecordBatch?em:null;if(!u)throw new Error(yN(s));if(f=u(r,a,i),c>0){let p=t.subarray(e,e+=c);if(p.byteLength<c)throw new Error(gN(c,p.byteLength));f.body=p}}return{version:i,type:s,index:e,content:f}}function v4(t){let e=t instanceof ArrayBuffer?new Uint8Array(t):t;return e instanceof Uint8Array&&xN(e)?wN(e):bN(e)}function xN(t){if(!t||t.length<4)return!1;for(let e=0;e<6;++e)if(yu[e]!==t[e])return!1;return!0}function bN(t){let e=[t].flat(),n,r=[],o=[];for(let i of e){if(!(i instanceof Uint8Array))throw new Error("IPC data batch was not a Uint8Array.");let s=0;for(;;){let a=rm(i,s);if(a===null)break;if(s=a.index,!!a.content)switch(a.type){case ir.Schema:n||(n=a.content);break;case ir.RecordBatch:r.push(a.content);break;case ir.DictionaryBatch:o.push(a.content);break}}}return{schema:n,dictionaries:o,records:r,metadata:null}}function wN(t){let e=t.byteLength-(yu.length+4),n=zt(t,e),r=en(t,e-n),o=r(4,Xe,or.V1),i=r(8,Mb,[]),s=r(10,Mb,[]);return{schema:r(6,(a,c)=>nm(a,c,o)),dictionaries:i.map(({offset:a})=>rm(t,a).content),records:s.map(({offset:a})=>rm(t,a).content),metadata:r(12,Iu)}}function Eb(t,e){return vN(v4(t),e)}function vN(t,e={}){let{schema:n={fields:[]},dictionaries:r,records:o}=t,{version:i,fields:s}=n,a=new Map,c=MN(e,i,a),f=new Map;_N(n,l=>{let h=l.type;h.typeId===B.Dictionary&&f.set(h.id,h.dictionary)});let u=new Map;for(let l of r){let{id:h,data:d,isDelta:m,body:g}=l,y=f.get(h),x=Ab(y,c({...d,body:g}));if(u.has(h)){let b=u.get(h);m||b.clear(),b.add(x)}else{if(m)throw new Error("Delta update can not be first dictionary batch.");u.set(h,_b(y).add(x))}}u.forEach((l,h)=>a.set(h,l.done()));let p=s.map(l=>_b(l.type));for(let l of o){let h=c(l);s.forEach((d,m)=>p[m].add(Ab(d.type,h)))}return new pc(n,p.map(l=>l.done()),e.useProxy)}function _N(t,e){t.fields.forEach(function n(r){e(r),r.type.dictionary?.children?.forEach(n),r.type.children?.forEach(n)})}function MN(t,e,n){let r={version:e,options:t,dictionary:o=>n.get(o)};return o=>{let{length:i,nodes:s,regions:a,variadic:c,body:f}=o,u=-1,p=-1,l=-1;return{...r,length:i,node:()=>s[++u],buffer:h=>{let{length:d,offset:m}=a[++p];return h?new h(f.buffer,f.byteOffset+m,d/h.BYTES_PER_ELEMENT):f.subarray(m,m+d)},variadic:()=>c[++l],visit(h){return h.map(d=>Ab(d.type,this))}}}}function Ab(t,e){let{typeId:n}=t,{length:r,options:o,node:i,buffer:s,variadic:a,version:c}=e,f=Tu(t,o);if(n===B.Null)return new f({length:r,nullCount:r,type:t});let u={...i(),type:t};switch(n){case B.Bool:case B.Int:case B.Time:case B.Duration:case B.Float:case B.Decimal:case B.Date:case B.Timestamp:case B.Interval:case B.FixedSizeBinary:return new f({...u,validity:s(),values:s(t.values)});case B.Utf8:case B.LargeUtf8:case B.Binary:case B.LargeBinary:return new f({...u,validity:s(),offsets:s(t.offsets),values:s()});case B.BinaryView:case B.Utf8View:return new f({...u,validity:s(),values:s(),data:Array.from({length:a()},()=>s())});case B.List:case B.LargeList:case B.Map:return new f({...u,validity:s(),offsets:s(t.offsets),children:e.visit(t.children)});case B.ListView:case B.LargeListView:return new f({...u,validity:s(),offsets:s(t.offsets),sizes:s(t.offsets),children:e.visit(t.children)});case B.FixedSizeList:case B.Struct:return new f({...u,validity:s(),children:e.visit(t.children)});case B.RunEndEncoded:return new f({...u,children:e.visit(t.children)});case B.Dictionary:{let{id:p,indices:l}=t;return new f({...u,validity:s(),values:s(l.values)}).setDictionary(e.dictionary(p))}case B.Union:return c<or.V5&&s(),new f({...u,typeIds:s(xu),offsets:t.mode===Po.Sparse?null:s(t.offsets),children:e.visit(t.children)});default:throw new Error(qo(n))}}var VX=new Uint16Array(new Uint8Array([1,0]).buffer)[0]===1;function Cu(t){return Eb(t,{useDate:!0})}function Tb(t="ws://localhost:3000/"){let e=[],n=!1,r=null,o,i={open(){n=!0,c()},close(){for(n=!1,r=null,o=null;e.length;)e.shift().reject("Socket closed")},error(f){if(r){let{reject:u}=r;r=null,c(),u(f)}else console.error("WebSocket error: ",f)},message({data:f}){if(r){let{query:u,resolve:p,reject:l}=r;if(r=null,c(),typeof f=="string"){let h=JSON.parse(f);h.error?l(h.error):p(h)}else if(u.type==="exec")p();else if(u.type==="arrow")p(Cu(f));else throw new Error(`Unexpected socket data: ${f}`)}else console.log("WebSocket message: ",f)}};function s(){o=new WebSocket(t),o.binaryType="arraybuffer";for(let f in i)o.addEventListener(f,i[f])}function a(f,u,p){o==null&&s(),e.push({query:f,resolve:u,reject:p}),n&&!r&&c()}function c(){e.length&&(r=e.shift(),o.send(JSON.stringify(r.query)))}return{get connected(){return n},query(f){return new Promise((u,p)=>a(f,u,p))}}}var hc="COLUMN_REF",dc="COLUMN_PARAM",I4="TABLE_REF",C4="LITERAL",N4="INTERVAL",om="ORDER_BY",im="CAST",sm="CASE",am="WHEN",Ib="UNARY",k4="UNARY_POSTFIX",cm="BINARY",fm="BETWEEN",um="NOT_BETWEEN",lm="LOGICAL_OPERATOR",pm="IN",hm="FUNCTION",js="AGGREGATE",mc="WINDOW",dm="WINDOW_DEF",mm="WINDOW_FRAME",R4="EXPRESSION",gc="FRAGMENT",gm="VERBATIM",yc="PARAM",L4="WITH_CLAUSE",ym="SELECT_CLAUSE",xm="FROM_CLAUSE";var O4="SAMPLE_CLAUSE";var bm="WINDOW_CLAUSE";var wm="SELECT_QUERY",vm="DESCRIBE_QUERY",_m="SET_OPERATION";function Re(t){return t instanceof ue}var ue=class{constructor(e){this.type=e}},xt=class extends ue{};var Xs=class extends xt{constructor(e){super(C4),this.value=e}toString(){return Cb(this.value)}};function Cb(t){switch(typeof t){case"number":return Number.isFinite(t)?`${t}`:"NULL";case"string":return`'${t.replaceAll("'","''")}'`;case"boolean":return t?"TRUE":"FALSE";default:if(t==null)return"NULL";if(t instanceof Date){let e=+t;if(Number.isNaN(e))return"NULL";let n=t.getUTCFullYear(),r=t.getUTCMonth(),o=t.getUTCDate();return e===Date.UTC(n,r,o)?`DATE '${n}-${r+1}-${o}'`:`epoch_ms(${e})`}else return t instanceof RegExp?`'${t.source}'`:`${t}`}}var Sr=class extends xt{constructor(e){super(yc),this.param=e}get value(){return this.param.value}toString(){return Cb(this.value)}};function Nb(t){return t.split(".")}function Ar(t){return`"${t}"`}function Mm(t){return t&&WN(t)?t.slice(1,-1):t}function WN(t){return t[0]==='"'&&t[t.length-1]==='"'}function Pi(t){return t instanceof xc}var xc=class extends xt{constructor(e){super(I4),this.table=[e].flat()}get name(){return this.table[this.table.length-1]}toString(){return this.table.map(e=>Ar(e)).join(".")}};var Ws=class extends xt{constructor(e,n=[]){super(hm),this.name=e,this.args=n}toString(){let{name:e,args:n}=this;return`${e}(${n.join(", ")})`}};function We(t,...e){return new Ws(t,Sm(e).map(It))}function nn(t,...e){return new ku(t,Sm(e).map(It))}function $4(t,...e){return new Gs(new Nu(t,Sm(e).map(It)))}function Dn(t,e=It){return t.flat().filter(n=>n!=null).map(n=>e(n))}function Sm(t){let e=t.length,n=e;for(;n>0&&t[n-1]===void 0;--n);return n<e?t.slice(0,n):t}function ar(t){return typeof t=="string"}function Ru(t){return Array.isArray(t)}function Er(t){return t&&typeof t.addEventListener=="function"&&t.dynamic!==!1&&"value"in t}var Ou=class extends ue{constructor(e,n){super(bm),this.name=e,this.def=n}toString(){return`${Ar(this.name)} AS ${this.def}`}},Gs=class t extends xt{constructor(e,n=new Vs){super(mc),this.func=e,this.def=n}over(e){return new t(this.func,this.def.over(e))}partitionby(...e){return new t(this.func,this.def.partitionby(...e))}orderby(...e){return new t(this.func,this.def.orderby(...e))}rows(e){return new t(this.func,this.def.rows(e))}range(e){return new t(this.func,this.def.range(e))}toString(){return`${this.func} OVER ${this.def}`}},Nu=class extends Ws{constructor(e,n){super(e,n)}},Vs=class extends ue{constructor(e,n,r,o){super(dm),this.name=e,this.partition=n,this.order=r,this.frame=o}over(e){return Lu(this,{name:e})}partitionby(...e){return Lu(this,{partition:Dn(e)})}orderby(...e){return Lu(this,{order:Dn(e)})}rows(e){return Lu(this,{frame:new $u(e)})}range(e){return Lu(this,{frame:new $u(e,!0)})}toString(){let{name:e,partition:n,order:r,frame:o}=this,i=e&&Ar(e),s=[i,n?.length&&`PARTITION BY ${n.join(", ")}`,r?.length&&`ORDER BY ${r.join(", ")}`,o].filter(a=>a);return i&&s.length<2?i:`(${s.join(" ")})`}},$u=class extends ue{constructor(e,n=!1,r=void 0){super(mm),this.extent=Er(e)?new Sr(e):e,this.range=n,this.exclude=r}toString(){let{range:e,exclude:n,extent:r}=this,o=e?"RANGE":"ROWS",[i,s]=Re(r)?r.value:r,a=D4(i,"PRECEDING"),c=D4(s,"FOLLOWING");return`${o} BETWEEN ${a} AND ${c}${n?` ${n}`:""}`}};function Lu(t,e){return new Vs(e.name??t.name,e.partition??t.partition,e.order??t.order,e.frame??t.frame)}function D4(t,e){return t===0?"CURRENT ROW":Number.isFinite(t)?`${Math.abs(t)} ${e}`:`UNBOUNDED ${e}`}function qi(t){return t instanceof zo}var zo=class extends xt{constructor(e,n){super(e),this.table=n}get column(){return null}toString(){let{column:e,table:n}=this,r=`${n??""}`,o=e==="*"?"*":Ar(e);return(r?r+".":"")+o}},Du=class extends zo{constructor(e,n){super(hc,n),this.name=e}get column(){return this.name}};function kb(t){return t instanceof bc}var bc=class extends zo{constructor(e,n){super(dc,n),this.param=e}get column(){return`${this.param.value}`}};function Fu(t,e){let n=Hs(e);return Er(t)?new bc(new Sr(t),n):new Du(t,n)}var Qs=class extends xt{constructor(e){super(gm),this.value=e}toString(){return this.value}};function gn(t){return new Xs(t)}function F4(t){return new Qs(t)}function Am(...t){let e=Dn(t,String);return e?.length?new xc(e):void 0}function It(t){return ar(t)?GN(t):Pu(t)}function Zs(t){return ar(t)?F4(t):Pu(t)}function Pu(t){return t instanceof xt?t:Er(t)?new Sr(t):gn(t)}function Hs(t){return ar(t)?VN(t):Ru(t)?Am(t):t}function GN(t){let e=Nb(t);return Fu(e.pop(),Am(e))}function VN(t){return Am(Nb(t))}function Rb(){return new Vs}var ku=class t extends xt{constructor(e,n,r,o){super(js),this.name=e,this.args=n,this.isDistinct=r,this.filter=o}distinct(e=!0){return new t(this.name,this.args,e,this.filter)}where(e){return ar(e)&&(e=Zs(e)),new t(this.name,this.args,this.isDistinct,e)}window(){return new Gs(this)}partitionby(...e){return this.window().partitionby(...e)}orderby(...e){return this.window().orderby(...e)}toString(){let{name:e,args:n,isDistinct:r,filter:o}=this,i=r?"DISTINCT ":"",s=n?.length?n.join(", "):"*",a=o?` FILTER (WHERE ${o})`:"";return`${e}(${i}${s})${a}`}},P4=["any_value","approx_count_distinct","approx_quantile","arbitrary","arg_max","arg_max_null","arg_min","arg_min_null","array_agg","avg","bit_and","bit_or","bit_xor","bitstring_agg","bool_and","bool_or","corr","count","covar_pop","covar_samp","entropy","favg","first","fsum","geomean","kurtosis_pop","kurtosis","last","mad","max","max_by","median","min","min_by","mode","product","quantile","quantile_cont","quantile_disc","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_sxx","regr_sxy","regr_syy","regr_slope","reservoir_quantile","skewness","stddev","stddev_pop","stddev_samp","string_agg","sum","variance","var_pop","var_samp"];var Em=class extends xt{constructor(e,n,r){super(e),this.expr=n,this.extent=r}toSQL(e){let{extent:n,expr:r}=this;return n?`(${r} ${e} ${n[0]} AND ${n[1]})`:""}},Ks=class extends Em{constructor(e,n){super(fm,e,n)}toString(){return super.toSQL("BETWEEN")}},qu=class extends Em{constructor(e,n){super(um,e,n)}toString(){return super.toSQL("NOT BETWEEN")}};var Bu=class extends xt{constructor(e,n,r){super(cm),this.op=e,this.left=n,this.right=r}toString(){return`(${this.left} ${this.op} ${this.right})`}};var wc=class t extends xt{constructor(e=void 0,n=[],r=void 0){super(sm),this.expr=e,this._when=n,this._else=r}when(e,n){return new t(this.expr,this._when.concat(new vc(It(e),It(n))),this._else)}else(e){return new t(this.expr,this._when,It(e))}toString(){return"CASE "+(this.expr?`${this.expr} `:"")+this._when.join(" ")+(this._else?` ELSE ${this._else}`:"")+" END"}},vc=class extends ue{constructor(e,n){super(am),this.when=e,this.then=n}toString(){return`WHEN ${this.when} THEN ${this.then}`}};var zu=class extends xt{constructor(e,n){super(im),this.expr=e,this.cast=n}toString(){return`(${this.expr})::${this.cast}`}};var Yu=class extends xt{constructor(e){super(gc),this.spans=e}toString(){return this.spans.join("")}};var Uu=class extends ue{constructor(e,n=!1,r=void 0,o=void 0){super(O4),this.size=e,this.perc=n,this.method=r,this.seed=o}toString(){let{size:e,perc:n,method:r,seed:o}=this,i=n?"%":" ROWS",s=o!=null?`, ${o}`:"";return`${e}${i}${r?` (${r}${s})`:""}`}};var ju=class extends ue{constructor(e,n){super(ym),this.expr=e,this.alias=n}toString(){let{expr:e,alias:n}=this;return!n||HN(e,n)?`${e}`:`${e} AS ${Ar(n)}`}};function HN(t,e){return t instanceof zo&&t.table==null&&t.column===e}var Xu=class extends ue{constructor(e,n){super(L4),this.name=e,this.query=n}toString(){return`"${this.name}" AS (${this.query})`}};function Tm(t){return t instanceof yt}function Bi(t){return t instanceof ta}function Lb(t){return t instanceof Wu}var yt=class extends xt{static select(...e){return new ta().select(...e)}static from(...e){return new ta().from(...e)}static with(...e){return new ta().with(...e)}static union(...e){return new Js("UNION",e.flat())}static unionAll(...e){return new Js("UNION ALL",e.flat())}static intersect(...e){return new Js("INTERSECT",e.flat())}static except(...e){return new Js("EXCEPT",e.flat())}static describe(e){return new Wu(e)}constructor(e){super(e),this._orderby=[],this._limit=void 0,this._offset=void 0,this.cteFor=null}get subqueries(){return[]}clone(){return this}orderby(...e){return this._orderby=this._orderby.concat(Dn(e)),this}limit(e){return this._limit=Number.isFinite(e)?e:void 0,this}offset(e){return this._offset=Number.isFinite(e)?e:void 0,this}},ta=class t extends yt{constructor(){super(wm),this._with=[],this._select=[],this._from=[],this._where=[],this._sample=void 0,this._groupby=[],this._having=[],this._window=[],this._qualify=[]}get subqueries(){let e=this.cteFor||this,r=(e instanceof t?e._with:[]).reduce((i,s)=>(i[s.name]=s.query,i),{}),o=[];return this._from.forEach(({expr:i})=>{if(Tm(i))o.push(i);else if(Pi(i)){let s=r[i.name];s&&o.push(s)}}),o}clone(){return Object.assign(new t,this)}with(...e){let n=[],r=(o,i)=>{let s=i.clone();s.cteFor=this,n.push(new Xu(o,s))};return e.flat().forEach(o=>{if(o!=null)for(let i in o)r(i,o[i])}),this._with=this._with.concat(n),this}select(...e){let n=[],r=(i,s)=>n.push(new ju(i==null?i:It(i),Mm(s)));e.flat().forEach(i=>{if(i!=null)if(ar(i))r(i,i);else if(qi(i))r(i,i.column);else if(Ru(i))r(i[1],i[0]);else for(let s in i)r(i[s],s)});let o=new Set(n.map(i=>i.alias));return this._select=this._select.filter(i=>!o.has(i.alias)).concat(n.filter(i=>i.expr)),this}setSelect(...e){return this._select=[],this.select(...e)}distinct(e=!0){return this._distinct=!!e,this}from(...e){let n=[],r=(o,i)=>n.push(new Gu(Hs(o),Mm(i)));return e.flat().forEach(o=>{if(o!=null)if(ar(o))r(o,o);else if(Pi(o))r(o,o.name);else if(Re(o))r(o);else if(Ru(o))r(o[1],o[0]);else for(let i in o)r(o[i],i)}),this._from=this._from.concat(n),this}setFrom(...e){return this._from=[],this.from(...e)}sample(e,n,r){let o;if(typeof e=="number"){let i=e>0&&e<1,s=i?e*100:Math.floor(e);o=new Uu(s,i,n,r)}else o=e;return this._sample=o,this}where(...e){return this._where=this._where.concat(Dn(e,Zs)),this}setWhere(...e){return this._where=[],this.where(...e)}groupby(...e){return this._groupby=this._groupby.concat(Dn(e)),this}setGroupby(...e){return this._groupby=[],this.groupby(...e)}having(...e){return this._having=this._having.concat(Dn(e,Zs)),this}window(...e){let n=[];return e.flat().forEach(r=>{if(r!=null)for(let o in r)n.push(new Ou(Mm(o),r[o]))}),this._window=this._window.concat(n),this}qualify(...e){return this._qualify=this._qualify.concat(Dn(e,Zs)),this}toString(){let{_with:e,_select:n,_distinct:r,_from:o,_sample:i,_where:s,_groupby:a,_having:c,_window:f,_qualify:u,_orderby:p,_limit:l,_offset:h}=this,d=[];if(e.length&&d.push(`WITH ${e.join(", ")}`),d.push(`SELECT${r?" DISTINCT":""} ${n.join(", ")}`),o.length&&d.push(`FROM ${o.join(", ")}`),s.length){let m=s.map(String).filter(g=>g).join(" AND ");m&&d.push(`WHERE ${m}`)}if(i&&d.push(`USING SAMPLE ${i}`),a.length&&d.push(`GROUP BY ${a.join(", ")}`),c.length){let m=c.map(String).filter(g=>g).join(" AND ");m&&d.push(`HAVING ${m}`)}if(f.length&&d.push(`WINDOW ${f.join(", ")}`),u.length){let m=u.map(String).filter(g=>g).join(" AND ");m&&d.push(`QUALIFY ${m}`)}return p.length&&d.push(`ORDER BY ${p.join(", ")}`),Number.isFinite(l)&&d.push(`LIMIT ${l}`),Number.isFinite(h)&&d.push(`OFFSET ${h}`),d.join(" ")}},Wu=class t extends ue{constructor(e){super(vm),this.query=e}clone(){return new t(this.query.clone())}toString(){return`DESCRIBE ${this.query}`}},Js=class t extends yt{constructor(e,n){super(_m),this.op=e,this.queries=n}get subqueries(){let{queries:e,cteFor:n}=this;return n&&e.forEach(r=>r.cteFor=n),e}clone(){let{op:e,queries:n,...r}=this;return Object.assign(new t(e,n),r)}toString(){let{op:e,queries:n,_orderby:r,_limit:o,_offset:i}=this,s=[n.join(` ${e} `)];return r.length&&s.push(`ORDER BY ${r.join(", ")}`),Number.isFinite(o)&&s.push(`LIMIT ${o}`),Number.isFinite(i)&&s.push(`OFFSET ${i}`),s.join(" ")}};var Gu=class extends ue{constructor(e,n){super(xm),this.expr=e,this.alias=n}toString(){let{expr:e,alias:n}=this,r=Tm(e)?`(${e})`:`${e}`;return n&&!(Pi(e)&&e.table.join(".")===n)?`${r} AS ${Ar(n)}`:`${r}`}};var Vu=class extends xt{constructor(e,n){super(pm),this.expr=e,this.values=n}toString(){return`(${this.expr} IN (${this.values.join(", ")}))`}};var Hu=class extends xt{constructor(e,n=1){super(N4),this.name=e,this.steps=n}toString(){return`INTERVAL ${this.steps} ${this.name}`}};var Im=class extends xt{constructor(e,n){super(lm),this.op=e,this.clauses=n}toString(){let e=this.clauses;return e.length===0?"":e.length===1?`${e[0]}`:`(${e.join(` ${this.op} `)})`}},Qu=class extends Im{constructor(e){super("AND",e)}},Zu=class extends Im{constructor(e){super("OR",e)}};var Ku=class extends xt{constructor(e,n,r){super(om),this.expr=e,this.desc=n,this.nullsFirst=r}toString(){let{expr:e,desc:n,nullsFirst:r}=this;return`${e}${n?" DESC":n===!1?" ASC":""}${r?" NULLS FIRST":r===!1?" NULLS LAST":""}`}};var Ob=class extends xt{constructor(e,n,r){super(e),this.op=n,this.expr=r}};var Ju=class extends Ob{constructor(e,n){super(k4,e,n)}toString(){return`(${this.expr} ${this.op})`}};function _c(t,e){return nn("arg_max",t,e)}function Mc(t,e){return nn("arg_min",t,e)}function $b(t){return nn("avg",t)}function rn(t){return nn("count",t)}function jn(t){return nn("max",t)}function Wr(t){return nn("min",t)}function tl(t,e){return nn("regr_avgx",t,e)}function Db(t,e){return nn("regr_avgy",t,e)}function el(t,e){return nn("regr_count",t,e)}function Fb(t,e){return nn("regr_intercept",t,e)}function Pb(t,e){return nn("regr_sxx",t,e)}function qb(t,e){return nn("regr_syy",t,e)}function Bb(t,e){return nn("regr_slope",t,e)}function zb(t){return nn("stddev",t)}function Pt(t){return nn("sum",t)}function Yo(t,e,n){return t?new wc(void 0,[new vc(It(t),It(e))],It(n)):new wc}function Yb(t,e){return new zu(It(t),e)}function Ht(t){return Yb(t,"INTEGER")}function de(t){return Yb(t,"DOUBLE")}function Cm(t,e){return new Hu(t,e)}function Ub(t){return We("epoch_ms",t)}function jb(t,e,n=1){return We("time_bucket",Cm(e,n),t)}function Xb(...t){return We("greatest",...t)}function Sc(t){return We("exp",t)}function Wb(t){return We("log",t)}function zi(t){return We("ln",t)}function Tr(t){return We("sign",t)}function Le(t){return We("abs",t)}function Uo(t){return We("sqrt",t)}function Gb(t){return We("ceil",t)}function Oe(t){return We("floor",t)}function jo(t,e){return We("round",t,e)}function q4(t,e){return new Ju(t,It(e))}function Ir(t,e,n){return new Bu(t,It(e),It(n))}function ZN(t,e,n=!1){let r=n?qu:Ks;return new r(It(t),e?.map(It))}function Fn(...t){return new Qu(Dn(t))}function Gr(...t){return new Zu(Dn(t))}function nl(t){return q4("IS NULL",t)}function Vr(t){return q4("IS NOT NULL",t)}function rl(t,e){return Ir("&",t,e)}function Nt(t,e){return Ir("+",t,e)}function ut(t,e){return Ir("-",t,e)}function pt(t,e){return Ir("*",t,e)}function Lt(t,e){return Ir("/",t,e)}function me(t,e){return Ir("**",t,e)}function Xo(t,e){return Ir("<>",t,e)}function le(t,e){return Ir("<",t,e)}function Hr(t,e){return Ir(">",t,e)}function Cr(t,e){return Ir("<=",t,e)}function Vb(t,e){return Ir("IS NOT DISTINCT FROM",t,e)}function yn(t,e){return ZN(t,e,!1)}function Nm(t,e){return new Vu(It(t),e.map(It))}function Hb(t,e){return new Ku(It(t),!1,e)}function Qb(t){return We("st_asgeojson",t)}function Ae(t,...e){return new Yu(KN(t,e))}function KN(t,e){let n=[t[0]],r=e.length;for(let o=0,i=0;o<r;){let s=e[o];Re(s)?n[++i]=s:Er(s)?n[++i]=new Sr(s):n[i]+=ar(s)?s:gn(s);let a=t[++o];Re(n[i])?n[++i]=a:n[i]+=a}return n.filter(o=>o).map(o=>ar(o)?new Qs(o):o)}function km(t,e,n){return $4("lead",t,e,n)}var Rm={[js]:["args","filter"],[fm]:["expr","extent"],[cm]:["left","right"],[sm]:["expr","_when","_else"],[im]:["expr"],[dc]:["param","table"],[hc]:["table"],[vm]:["query"],[R4]:["node"],[gc]:["spans"],[xm]:["expr"],[hm]:["args"],[pm]:["expr","values"],[lm]:["clauses"],[um]:["expr","extent"],[om]:["expr"],[yc]:["value"],[ym]:["expr"],[wm]:["_with","_select","_from","_where","_sample","_groupby","_having","_window","_qualify","_orderby"],[_m]:["subqueries","_orderby"],[Ib]:["expr"],[am]:["when","then"],[mc]:["func","def"],[bm]:["def"],[dm]:["partition","order","frame"],[mm]:["extent"]};function ol(t,e){if(e.has(t))return e.get(t);if(Re(t)){let n=Rm[t.type],r=n?.length??0;for(let o=0;o<r;++o){let i=n[o],s=t[i];if(Array.isArray(s)){let a=s.length;for(let c=0;c<a;++c)s[c]=ol(s[c],e)}else s&&(t[i]=ol(s,e))}}return t}function Qr(t,e){if(!Re(t))return;let n=e(t);if(n)return n;let r=Rm[t.type],o=r?.length??0;for(let i=0;i<o;++i){let s=t[r[i]];if(Array.isArray(s)){let a=s.length;for(let c=0;c<a;++c)if(s[c]&&+Qr(s[c],e)<0)return n}else if(s&&+Qr(s,e)<0)return-1}}var JN=new RegExp(`^(${P4.join("|")})$`),tk=/(\\'|\\"|"(?:\\"|[^"])*"|'(?:\\'|[^'])*'|\w+\()/g;function ek(t){return t.split(tk).some(e=>e.endsWith("(")&&JN.test(e.slice(0,-1)))}function xn(t){let e=0;return Qr(t,n=>{switch(n.type){case mc:return-1;case js:return e|=1,-1;case gc:case gm:{let r=`${n}`.toLowerCase(),o=r.indexOf("(select ");return o>=0&&(r=r.slice(0,o)),r.includes(") over ")?-1:ek(r)?(e|=2,-1):1}}}),e}function Zb(t){let e=new Set;return Qr(t,n=>{n.type===js&&e.add(n)}),Array.from(e)}function Ac(t){let e={};return Qr(t,n=>{(n.type===hc||n.type===dc)&&(e[n]=n)}),Object.values(e)}function Kb(t){let e=new Set;return Qr(t,n=>{n.type===yc&&e.add(n.param)}),Array.from(e)}function Lm(t,e,{replace:n=!1,temp:r=!1,view:o=!1}={}){return"CREATE"+(n?" OR REPLACE ":" ")+(r?"TEMP ":"")+(o?"VIEW":"TABLE")+(n?" ":" IF NOT EXISTS ")+t+" AS "+e}function Jb(t,e,n,r,o){let i=o?ut(n,de(t)):ut(de(t),e),s=n===e?0:r/(n-e);return s?pt(i,de(s)):i}function t2(t,e,n,r,o,i){return t.select({index:Nt(Ht(Oe(e)),pt(Ht(Oe(n)),o)),...r}).groupby("index",i)}function e2(t,e,n=void 0,r=[]){let o=n?a=>pt(a,n):a=>a,i=Oe(e),s=Nt(i,1);return yt.from(yt.unionAll(t.clone().select({i:Ht(i),w:o(ut(s,e))}),t.clone().select({i:Ht(s),w:o(ut(e,i))}))).select({index:"i",density:Pt("w")},r).groupby("index",r).having(Xo("density",0))}function nk(t){return t}function n2(t,e,n,r,o,i=[]){let s=r?y=>pt(y,r):nk,a=(y,x)=>t.clone().select({xp:e,yp:n,i:y,w:x}),c=(y,x)=>Nt(y,pt(x,o)),f=Ht(Oe(e)),u=Ht(Oe(n)),p=Nt(f,1),l=Nt(u,1),h=ut(e,f),d=ut(p,e),m=ut(n,u),g=ut(l,n);return yt.from(yt.unionAll(a(c(f,u),s(pt(d,g))),a(c(f,l),s(pt(d,m))),a(c(p,u),s(pt(h,g))),a(c(p,l),s(pt(h,m))))).select({index:"i",density:Pt("w")},i).groupby("index",i).having(Xo("density",0))}function r2(t,e,n,r,o,i,s=[],a=!0){t.select({x:Ht(Oe(e)),y:Ht(Oe(n))});let c=s.concat(r),f=yt.from(t).select(c,{x0:"x",y0:"y",dx:ut(km("x").over("sw"),"x"),dy:ut(km("y").over("sw"),"y")}).window({sw:Rb().partitionby(c).orderby(Hb("x"))}).qualify([Gr(le("x0",o),le(Nt("x0","dx"),o)),Gr(le("y0",i),le(Nt("y0","dy"),i)),Gr(Hr("x0",0),Hr(Nt("x0","dx"),0)),Gr(Hr("y0",0),Hr(Nt("y0","dy"),0))]),u=yt.select({x:Xb(jn(Le("dx")),jn(Le("dy")))}).from("pairs"),p=yt.select({i:Ht(Ae`UNNEST(range((${u})))`)}),l=yt.unionAll(yt.select(c,{x:Nt("x0","i"),y:Nt("y0",Ht(jo(Lt(pt("i","dy"),"dx"))))}).from("pairs","indices").where([Cr(Le("dy"),Le("dx")),le("i",Le("dx"))]),yt.select(c,{x:Nt("x0",Ht(jo(Lt(pt(pt(Tr("dy"),"i"),"dx"),"dy")))),y:Nt("y0",pt(Tr("dy"),"i"))}).from("pairs","indices").where([Hr(Le("dy"),Le("dx")),le("i",Le("dy"))]),yt.select(c,{x:"x0",y:"y0"}).from("pairs").where(nl("dx"))),h=yt.from("raster").select(c,"x","y",a?{w:Lt(1,rn().partitionby(["x"].concat(c)))}:null).where([Cr(0,"x"),le("x",o),Cr(0,"y"),le("y",i)]);return yt.with({pairs:f,indices:p,raster:l,points:h}).from("points").select(s,{index:Nt("x",pt("y",Ht(o))),density:a?Pt("w"):rn()}).groupby("index",s)}function o2(t,e,n,r,o=[]){let i=Ht(Oe(e)),s=a=>yt.from(t).select(a).groupby(i,o);return yt.union(s([{[n]:Wr(n),[r]:Mc(r,n)},...o]),s([{[n]:jn(n),[r]:_c(r,n)},...o]),s([{[n]:Mc(n,r),[r]:Wr(r)},...o]),s([{[n]:_c(n,r),[r]:jn(r)},...o])).orderby(o,n)}var Om=t=>t;function B4(){return{apply:Om,invert:Om,sqlApply:It,sqlInvert:Om}}function rk({base:t=null}={}){if(t==null||t===Math.E)return{apply:Math.log,invert:Math.exp,sqlApply:e=>zi(e),sqlInvert:e=>Sc(e)};if(t===10)return{apply:Math.log10,invert:e=>Math.pow(10,e),sqlApply:e=>Wb(e),sqlInvert:e=>me(10,e)};{let e=+t;return{apply:n=>Math.log(n)/Math.log(e),invert:n=>Math.pow(e,n),sqlApply:n=>Lt(zi(n),zi(e)),sqlInvert:n=>me(e,n)}}}function ok({constant:t=1}={}){let e=+t;return{apply:n=>Math.sign(n)*Math.log1p(Math.abs(n)),invert:n=>Math.sign(n)*Math.exp(Math.abs(n)-e),sqlApply:n=>(n=It(n),pt(Tr(n),zi(Nt(e,Le(n))))),sqlInvert:n=>pt(Tr(n),ut(Sc(Le(n)),e))}}function ik(){return{apply:t=>Math.sign(t)*Math.sqrt(Math.abs(t)),invert:t=>Math.sign(t)*t*t,sqlApply:t=>(t=It(t),pt(Tr(t),Uo(Le(t)))),sqlInvert:t=>pt(Tr(t),me(t,2))}}function sk({exponent:t=1}={}){let e=+t;return{apply:n=>Math.sign(n)*Math.pow(Math.abs(n),e),invert:n=>Math.sign(n)*Math.pow(Math.abs(n),1/e),sqlApply:n=>(n=It(n),pt(Tr(n),me(Le(n),e))),sqlInvert:n=>pt(Tr(n),me(Le(n),Lt(1,e)))}}function z4(){return{apply:t=>+t,invert:t=>new Date(t),sqlApply:t=>t instanceof Date?gn(+t):ck(t)?gn(+t.value):Ub(t),sqlInvert:Om}}var ak={identity:B4,linear:B4,log:rk,symlog:ok,sqrt:ik,pow:sk,time:z4,utc:z4};function il(t){let e=ak[t.type];return e?{...t,...e(t)}:null}function ck(t){return t instanceof Xs&&t.value instanceof Date}function $m(t){let e=2166136261;for(let n=0,r=t.length;n<r;++n){let o=t.charCodeAt(n),i=o&65280;i&&(e=Y4(e^i>>8)),e=Y4(e^o&255)}return hk(e)>>>0}function Y4(t){return t+(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24)}function hk(t){return t+=t<<13,t^=t>>>7,t+=t<<3,t^=t>>>17,t+=t<<5,t&4294967295}function j4(t,e,n){switch(t.name){case"count":case"sum":return dk(e,t);case"avg":return mk(e,t);case"geomean":return gk(e,t);case"arg_max":return yk(e,t);case"arg_min":return xk(e,t);case"variance":case"var_samp":return Dm(e,t,n);case"var_pop":return Dm(e,t,n,!1);case"stddev":case"stddev_samp":return Uo(Dm(e,t,n));case"stddev_pop":return Uo(Dm(e,t,n,!1));case"covar_samp":return Fm(e,t,n);case"covar_pop":return Fm(e,t,n,!1);case"corr":return U4(e,t,n);case"regr_count":return Ec(e,t).expr;case"regr_avgx":return G4(e,t);case"regr_avgy":return V4(e,t);case"regr_syy":return s2(e,0,t,n);case"regr_sxx":return s2(e,1,t,n);case"regr_sxy":return Fm(e,t,n,null);case"regr_slope":return H4(e,t,n);case"regr_intercept":return bk(e,t,n);case"regr_r2":return me(U4(e,t,n),2);case"max":case"min":case"bit_and":case"bit_or":case"bit_xor":case"bool_and":case"bool_or":case"product":{let r=X4(t);return e[r]=t,Ae`${t.name}("${r}")`}default:return null}}function X4(t){return"pre_"+$m(`${t}`).toString(16)}function on(t,e,n){let r=n?.filter;r&&(e=e.filter?e.where(Fn(r,e.filter)):e.where(r));let o=X4(e);return t[o]=e,o}function a2(t,e){let n=on(t,rn(e.args[0]),e);return{expr:Pt(n),name:n}}function dk(t,e){return Pt(on(t,e))}function mk(t,e){let n=on(t,e),{expr:r,name:o}=a2(t,e);return Lt(Pt(pt(n,o)),r)}function gk(t,e){let n=e.args[0],r=on(t,Pt(zi(n)),e),{expr:o}=a2(t,e);return Sc(Lt(Pt(r),o))}function yk(t,e){let n=on(t,e),r=on(t,jn(e.args[1]),e);return _c(n,r)}function xk(t,e){let n=on(t,e),r=on(t,Wr(e.args[1]),e);return Mc(n,r)}function Dm(t,e,n,r=!0){let o=e.args[0],{expr:i}=a2(t,e),s=ut(o,n(o)),a=on(t,Pt(me(s,2)),e),c=on(t,Pt(s),e),f=r?ut(i,1):i;return Lt(ut(Pt(a),Lt(me(Pt(c),2),i)),f)}function Fm(t,e,n,r=!0){let{expr:o}=Ec(t,e),i=W4(t,e,n),s=sl(t,1,e,n),a=sl(t,0,e,n),c=ut(i,Lt(pt(s,a),o));return r===null?c:r?Lt(c,ut(o,1)):Lt(c,o)}function U4(t,e,n){let{expr:r}=Ec(t,e),o=W4(t,e,n),i=i2(t,1,e,n),s=i2(t,0,e,n),a=sl(t,1,e,n),c=sl(t,0,e,n),f=ut(i,Lt(me(a,2),r)),u=ut(s,Lt(me(c,2),r));return Lt(ut(o,Lt(pt(a,c),r)),Uo(pt(f,u)))}function Ec(t,e){let[n,r]=e.args,o=on(t,el(n,r),e);return{expr:Pt(o),name:o}}function sl(t,e,n,r){let o=n.args,i=o[e],s=o[1-e],a=Pt(ut(i,r(i))).where(Vr(s));return Pt(on(t,a,n))}function i2(t,e,n,r){let o=n.args,i=o[e],s=o[1-e],a=Pt(me(ut(i,r(i)),2)).where(Vr(s));return Pt(on(t,a,n))}function W4(t,e,n){let[r,o]=e.args,i=Pt(pt(ut(o,n(o)),ut(r,n(r))));return Pt(on(t,i,e))}function G4(t,e){let[n,r]=e.args,{expr:o,name:i}=Ec(t,e),s=on(t,tl(n,r),e);return Lt(Pt(pt(s,i)),o)}function V4(t,e){let[n,r]=e.args,{expr:o,name:i}=Ec(t,e),s=on(t,Db(n,r),e);return Lt(Pt(pt(s,i)),o)}function s2(t,e,n,r){let{expr:o}=Ec(t,n),i=sl(t,e,n,r),s=i2(t,e,n,r);return ut(s,Lt(me(i,2),o))}function H4(t,e,n){let r=Fm(t,e,n,null),o=s2(t,1,e,n);return Lt(r,o)}function bk(t,e,n){let r=G4(t,e),o=V4(t,e),i=H4(t,e,n);return ut(o,pt(i,r))}function Q4(t){if(!t.filterStable)return null;let e=t.query();if(!Bi(e))return null;let n=Pm(e,c=>{let f=c._from[0]?.expr;return Pi(f)?f.name:f});if(typeof n!="string")return null;let r=new Map,o={},i={},s=[],a=c=>{let f=c.column,u=Pm(e,p=>p._select.find(l=>l.alias===f)?.expr);return Ae`(SELECT avg(${u??c}) FROM "${n}")`};for(let{alias:c,expr:f}of e._select){if(xn(f)>1)return null;let u=Zb(f);if(u.length===0)s.push(c),o[c]=f;else{for(let p of u){if(p.isDistinct)return null;let l=j4(p,o,a);if(!l)return null;r.set(p,l)}i[c]=ol(f,r)}}return r.size?{group:s,preagg:o,output:i}:null}function Pm(t,e){let n=t.subqueries;if(Bi(t)&&n.length===0)return e(t);let r=Pm(n[0],e);for(let o=1;o<n.length;++o){let i=Pm(n[o],e);if(i!==void 0&&i!==r)return NaN}return r}var wk={skip:!0,result:null},qm=class{constructor(e,{schema:n="mosaic",enabled:r=!0}={}){this.entries=new Map,this.active=null,this.mc=e,this._schema=n,this._enabled=r}set enabled(e){this._enabled!==e&&(e||this.clear(),this._enabled=e)}get enabled(){return this._enabled}set schema(e){this._schema!==e&&(this.clear(),this._schema=e)}get schema(){return this._schema}dropSchema(){return this.clear(),this.mc.exec(`DROP SCHEMA IF EXISTS "${this.schema}" CASCADE`)}clear(){this.entries.clear(),this.active=null}request(e,n,r){if(!this.enabled)return null;let{entries:o,mc:i,schema:s}=this,{source:a}=r;if(!a||this.active&&(this.active.source!==a&&this.clear(),this.active?.source===null))return null;let{active:c}=this;if(!c&&(this.active=c=vk(r),c.source===null))return null;if(o.has(e))return o.get(e);let f=Q4(e),u;if(!f)u=null;else if(n.skip(e,r))u=wk;else{let p=n.remove(a).predicate(e);u=Sk(e.query(p),c,f,s),u.result=i.exec([`CREATE SCHEMA IF NOT EXISTS ${s}`,Lm(u.table,u.create,{temp:!1})]),u.result.catch(l=>i.logger().error(l))}return o.set(e,u),u}};function vk(t){let{source:e,meta:n}=t,r=t.predicate,o=Ac(r).map(p=>p.column),i,s;if(!n||!o)return{source:null,columns:s,predicate:i};let{type:a,scales:c,bin:f,pixelSize:u=1}=n;if(a==="point")i=p=>p,s=Object.fromEntries(o.map(p=>[`${p}`,It(p)]));else if(a==="interval"&&c){let p=c.map(l=>Mk(l,u,f));p.some(l=>!l)||(p.length===1?(i=l=>l?yn("active0",l.extent.map(p[0])):[],s={active0:p[0](r.expr)}):(i=l=>l?Fn(l.clauses.map((h,d)=>yn(`active${d}`,h.extent.map(p[d])))):[],s=Object.fromEntries(r.clauses.map((l,h)=>[`active${h}`,p[h](l.expr)]))))}return{source:s?e:null,columns:s,predicate:i}}var _k={ceil:Gb,round:jo};function Mk(t,e,n){let{type:r,domain:o,range:i,apply:s,sqlApply:a}=il(t);if(!s)return;let c=_k[`${n}`.toLowerCase()]||Oe,f=s(Math.min(...o)),u=s(Math.max(...o)),p=(r==="identity"?1:Math.abs(i[1]-i[0])/(u-f))/e,l=p===1?d=>d:d=>pt(de(p),d),h=f===0?d=>d:d=>ut(d,de(f));return d=>Ht(c(l(h(a(d)))))}function Sk(t,e,n,r){let{group:o,output:i,preagg:s}=n,{columns:a}=e,c=t.setSelect({...s,...a}).groupby(Object.keys(a)),[f]=c.subqueries;if(f){let g=Object.values(a).flatMap(y=>Ac(y).map(x=>x.column));Ak(f,g)}let u=c._having,p=c._orderby;c._having=[],c._orderby=[];let l=c.toString(),h=($m(l)>>>0).toString(16),d=`${r}.preagg_${h}`,m=yt.select(o,i).from(d).groupby(o).having(u).orderby(p);return new c2({table:d,create:l,active:e,select:m})}function Ak(t,e){let n=new Set,r=o=>{n.has(o)||(n.add(o),Bi(o)&&o._from.length&&o.select(e),o.subqueries.forEach(r))};r(t)}var c2=class{constructor({table:e,create:n,active:r,select:o}){this.table=e,this.create=n,this.result=null,this.active=r,this.select=o,this.skip=!1}query(e){return this.select.clone().where(this.active.predicate(e))}};function Bm(t){switch(t){case"BIGINT":case"HUGEINT":case"INTEGER":case"SMALLINT":case"TINYINT":case"UBIGINT":case"UINTEGER":case"USMALLINT":case"UTINYINT":case"DOUBLE":case"FLOAT":case"REAL":return"number";case"DATE":case"TIMESTAMP":case"TIMESTAMPTZ":case"TIMESTAMP WITH TIME ZONE":case"TIME":case"TIMESTAMP_NS":return"date";case"BOOLEAN":return"boolean";case"VARCHAR":case"UUID":case"JSON":return"string";case"ARRAY":case"LIST":return"array";case"BLOB":case"STRUCT":case"MAP":case"GEOMETRY":return"object";default:if(t.startsWith("DECIMAL"))return"number";if(t.startsWith("STRUCT")||t.startsWith("MAP"))return"object";if(t.endsWith("]"))return"array";throw new Error(`Unsupported type: ${t}`)}}var Ek="count",Tk="nulls",Ik="max",Ck="min",Nk="distinct";var kk={[Ek]:rn,[Nk]:t=>rn(t).distinct(),[Ik]:jn,[Ck]:Wr,[Tk]:t=>rn().where(nl(t))};function Rk({table:t,column:e,stats:n}){return yt.from(t).select(Array.from(n,r=>({[r]:kk[r](e)})))}async function f2(t,e){return e.length===1&&e[0].column==="*"?Ok(t,e[0].table):(await Promise.all(e.map(n=>Lk(t,n)))).filter(n=>n)}async function Lk(t,{table:e,column:n,stats:r}){let o=yt.from({source:e}).select({column:n}).groupby(Re(n)&&xn(n)?Ae`ALL`:[]),[i]=Array.from(await t.query(yt.describe(o))),s={table:e,column:`${n}`,sqlType:i.column_type,type:Bm(i.column_type),nullable:i.null==="YES"};if(!r?.length)return s;let[a]=await t.query(Rk({table:e,column:n,stats:r}),{persist:!0});return Object.assign(s,a)}async function Ok(t,e){return Array.from(await t.query(`DESCRIBE ${Hs(e)}`)).map(r=>({table:e,column:r.column_name,sqlType:r.column_type,type:Bm(r.column_type),nullable:r.null==="YES"}))}var Yi=Object.freeze({pending:Symbol("pending"),ready:Symbol("ready"),error:Symbol("error"),done:Symbol("done")}),ea=class extends Promise{constructor(){let e,n;super((r,o)=>{e=r,n=o}),this._resolve=e,this._reject=n,this._state=Yi.pending,this._value=void 0}fulfill(e){if(this._value!==void 0){if(e!==void 0)throw Error("Promise is ready and fulfill has a provided value");this._resolve(this._value)}else{if(e===void 0)throw Error("Promise is neither ready nor has provided value");this._resolve(e)}return this._state=Yi.done,this}ready(e){return this._state=Yi.ready,this._value=e,this}reject(e){return this._state=Yi.error,this._reject(e),this}get state(){return this._state}};ea.prototype.constructor=Promise;function zm(){return{debug(...t){},info(...t){},log(...t){},warn(...t){},error(...t){}}}function $k(t){return(typeof requestAnimationFrame<"u"?requestAnimationFrame:typeof setImmediate<"u"?setImmediate:setTimeout)(t)}function Z4(t,e){let n=[],r=0;function o(){let i=Dk(n,e);n=[],r=0;for(let s of i)Pk(s,t),zk(s,e)}return{add(i,s){i.request.type==="arrow"?(r=r||$k(()=>o()),n.push({entry:i,priority:s,index:n.length})):t(i,s)}}}function Dk(t,e){let n=[],r=new Map;for(let o of t){let{entry:{request:i}}=o,s=Fk(i.query,e);if(!r.has(s)){let a=[];n.push(a),r.set(s,a)}r.get(s).push(o)}return n}function Fk(t,e){let n=`${t}`;if(Bi(t)&&!e.get(n)){if(t._orderby.length||t._where.length||t._qualify.length||t._having.length)return n;let r=t.clone().setSelect("*"),o=t._groupby;if(o.length){let i={};t._select.forEach(({alias:s,expr:a})=>i[s]=a),r.setGroupby(o.map(s=>qi(s)&&i[s.column]||s))}else t._select.some(i=>xn(i.expr))&&r.setGroupby("ALL");return`${r}`}else return n}function Pk(t,e){if(qk(t))e({request:{type:"arrow",cache:!1,query:t.query=Bk(t)},result:t.result=new ea});else for(let{entry:n,priority:r}of t)e(n,r)}function qk(t){if(t.length>1){let e=`${t[0].entry.request.query}`;for(let n=1;n<t.length;++n)if(e!==`${t[n].entry.request.query}`)return!0}return!1}function Bk(t){let e=t.maps=[],n=new Map;for(let i of t){let{query:s}=i.entry.request,a=[];e.push(a);for(let{alias:c,expr:f}of s._select){let u=`${f}`;n.has(u)||n.set(u,[`col${n.size}`,f]);let[p]=n.get(u);a.push([p,c])}}let r=t[0].entry.request.query.clone(),o=r._groupby;if(o.length){let i={};t.maps[0].forEach(([s,a])=>i[a]=s),r.setGroupby(o.map(s=>qi(s)&&i[s.column]||s))}return r.setSelect(Array.from(n.values()))}async function zk(t,e){let{maps:n,query:r,result:o}=t;if(!n)return;let i;try{i=await o}catch(a){for(let{entry:c}of t)c.result.reject(a);return}let s=Lb(r);t.forEach(({entry:a},c)=>{let{request:f,result:u}=a,p=n[c],l=s&&p?Uk(i,p):p?Yk(i,p):i;f.cache&&e.set(String(f.query),l),u.fulfill(l)})}function Yk(t,e){return t.select(e.map(n=>n[0]),e.map(n=>n[1]))}function Uk(t,e){let n=new Map(e),r=[];for(let o of t)n.has(o.column_name)&&r.push({...o,column_name:n.get(o.column_name)});return r}var jk=typeof requestIdleCallback<"u"?requestIdleCallback:setTimeout,K4=()=>({get:()=>{},set:(t,e)=>e,clear:()=>{}});function J4({max:t=1e3,ttl:e=3*60*60*1e3}={}){let n=new Map;function r(){let o=performance.now()-e,i=null,s=1/0;for(let[a,c]of n){let{last:f}=c;f<s&&(i=a,s=f),o>f&&n.delete(a)}i&&n.delete(i)}return{get(o){let i=n.get(o);if(i)return i.last=performance.now(),i.value},set(o,i){return n.set(o,{last:performance.now(),value:i}),n.size>t&&jk(r),i},clear(){n=new Map}}}var Ym=class{constructor(e){this.queue=Array.from({length:e},()=>({head:null,tail:null}))}isEmpty(){return this.queue.every(e=>!e.head)}insert(e,n){let r=this.queue[n];if(!r)throw new Error(`Invalid queue priority rank: ${n}`);let o={item:e,next:null};r.head===null?r.head=r.tail=o:r.tail=r.tail.next=o}remove(e){for(let n of this.queue){let{head:r,tail:o}=n;for(let i=null,s=r;s;i=s,s=s.next)e(s.item)&&(s===r?r=s.next:i.next=s.next,s===o&&(o=i||r));n.head=r,n.tail=o}}next(){for(let e of this.queue){let{head:n}=e;if(n!==null)return e.head=n.next,e.tail===n&&(e.tail=null),n.item}}};var Zr=Object.freeze({High:0,Normal:1,Low:2}),Um=class{constructor(e=32){this.queue=new Ym(3),this.db=null,this.clientCache=null,this._logger=zm(),this._logQueries=!1,this._consolidate=null,this.pendingResults=[],this.maxConcurrentRequests=e,this.pendingExec=!1}next(){if(this.queue.isEmpty()||this.pendingResults.length>this.maxConcurrentRequests||this.pendingExec)return;let{request:e,result:n}=this.queue.next();this.pendingResults.push(n),e.type==="exec"&&(this.pendingExec=!0),this.submit(e,n).finally(()=>{for(;this.pendingResults.length&&this.pendingResults[0].state!==Yi.pending;){let r=this.pendingResults.shift();r.state===Yi.ready?r.fulfill():r.state===Yi.done&&this._logger.warn("Found resolved query in pending results.")}e.type==="exec"&&(this.pendingExec=!1),this.next()})}enqueue(e,n=Zr.Normal){this.queue.insert(e,n),this.next()}async submit(e,n){try{let{query:r,type:o,cache:i=!1,options:s}=e,a=r?`${r}`:null;if(i){let p=this.clientCache.get(a);if(p){let l=await p;this._logger.debug("Cache"),n.ready(l);return}}let c=performance.now();this._logQueries&&this._logger.debug("Query",{type:o,sql:a,...s});let f=this.db.query({type:o,sql:a,...s});i&&this.clientCache.set(a,f);let u=await f;i&&this.clientCache.set(a,u),this._logger.debug(`Request: ${(performance.now()-c).toFixed(1)}`),n.ready(o==="exec"?null:u)}catch(r){n.reject(r)}}cache(e){return e!==void 0?this.clientCache=e===!0?J4():e||K4():this.clientCache}logger(e){return e?this._logger=e:this._logger}logQueries(e){return e!==void 0?this._logQueries=!!e:this._logQueries}connector(e){return e?this.db=e:this.db}consolidate(e){e&&!this._consolidate?this._consolidate=Z4(this.enqueue.bind(this),this.clientCache):!e&&this._consolidate&&(this._consolidate=null)}request(e,n=Zr.Normal){let r=new ea,o={request:e,result:r};return this._consolidate?this._consolidate.add(o,n):this.enqueue(o,n),r}cancel(e){let n=new Set(e);if(n.size){this.queue.remove(({result:r})=>n.has(r)?(r.reject("Canceled"),!0):!1);for(let r of this.pendingResults)n.has(r)&&r.reject("Canceled")}}clear(){this.queue.remove(({result:e})=>(e.reject("Cleared"),!0));for(let e of this.pendingResults)e.reject("Cleared");this.pendingResults=[]}};var jm;function Wm(t){return t?jm=t:jm==null&&(jm=new Xm),jm}var Xm=class{constructor(e=Tb(),{logger:n=console,manager:r=new Um,cache:o=!0,consolidate:i=!0,preagg:s={}}={}){this.manager=r,this.manager.cache(o),this.manager.consolidate(i),this.databaseConnector(e),this.logger(n),this.clear(),this.preaggregator=new qm(this,s)}clear({clients:e=!0,cache:n=!0}={}){this.manager.clear(),e&&(this.filterGroups?.forEach(r=>r.disconnect()),this.filterGroups=new Map,this.clients?.forEach(r=>this.disconnect(r)),this.clients=new Set),n&&this.manager.cache().clear()}databaseConnector(e){return this.manager.connector(e)}logger(e){return arguments.length&&(this._logger=e||zm(),this.manager.logger(this._logger)),this._logger}cancel(e){this.manager.cancel(e)}exec(e,{priority:n=Zr.Normal}={}){return e=Array.isArray(e)?e.filter(r=>r).join(`;
|
|
2
|
+
`):e,this.manager.request({type:"exec",query:e},n)}query(e,{type:n="arrow",cache:r=!0,priority:o=Zr.Normal,...i}={}){return this.manager.request({type:n,query:e,cache:r,options:i},o)}prefetch(e,n={}){return this.query(e,{...n,cache:!0,priority:Zr.Low})}createBundle(e,n,r=Zr.Low){let o={name:e,queries:n.map(i=>typeof i=="string"?{sql:i}:i)};return this.manager.request({type:"create-bundle",options:o},r)}loadBundle(e,n=Zr.High){let r={name:e};return this.manager.request({type:"load-bundle",options:r},n)}updateClient(e,n,r=Zr.Normal){return e.queryPending(),e._pending=this.query(n,{priority:r}).then(o=>e.queryResult(o).update(),o=>{this._logger.error(o),e.queryError(o)}).catch(o=>this._logger.error(o))}requestQuery(e,n){return this.preaggregator.clear(),n?this.updateClient(e,n):Promise.resolve(e.update())}async connect(e){let{clients:n}=this;if(n.has(e))throw new Error("Client already connected.");n.add(e),e.coordinator=this,e._pending=this.initializeClient(e),Xk(this,e.filterBy,e)}async initializeClient(e){let n=e.fields();return n?.length&&e.fieldInfo(await f2(this,n)),await e.prepare(),e.requestQuery()}disconnect(e){let{clients:n,filterGroups:r}=this;if(!n.has(e))return;n.delete(e),e.coordinator=null;let o=r.get(e.filterBy);o&&o.clients.delete(e)}};function Xk(t,e,n){if(!e)return;let r=t.filterGroups.get(e);if(!r){let o=s=>Wk(t,e,s),i=()=>Gk(t,e);e.addEventListener("activate",o),e.addEventListener("value",i),r={selection:e,clients:new Set,disconnect(){e.removeEventListener("activate",o),e.removeEventListener("value",i)}},t.filterGroups.set(e,r)}r.clients.add(n)}function Wk(t,e,n){let{preaggregator:r,filterGroups:o}=t,{clients:i}=o.get(e);for(let s of i)r.request(s,e,n)}function Gk(t,e){let{preaggregator:n,filterGroups:r}=t,{clients:o}=r.get(e),{active:i}=e;return Promise.allSettled(Array.from(o,s=>{let a=n.request(s,e,i),c=a?null:e.predicate(s);if(a?.skip||!a&&!c)return;let f=a?.query(i.predicate)??s.query(c);return t.updateClient(s,f)}))}var Gm=class{constructor(){this._callbacks=new Map}addEventListener(e,n){this._callbacks.has(e)||this._callbacks.set(e,{callbacks:new Set,pending:null,queue:new u2}),this._callbacks.get(e).callbacks.add(n)}removeEventListener(e,n){let r=this._callbacks.get(e);r&&r.callbacks.delete(n)}willEmit(e,n){return n}emitQueueFilter(e,n){return null}cancel(e){this._callbacks.get(e)?.queue.clear()}async pending(e){await this._callbacks.get(e)?.pending}emit(e,n){let r=this._callbacks.get(e)||{};if(r.pending)r.queue.enqueue(n,this.emitQueueFilter(e,n));else{let o=this.willEmit(e,n),{callbacks:i,queue:s}=r;if(i?.size){let a=Array.from(i,c=>c(o));r.pending=Promise.allSettled(a).then(()=>{r.pending=null,s.isEmpty()||this.emit(e,s.dequeue())})}}}},u2=class{constructor(){this.clear()}clear(){this.next=null}isEmpty(){return!this.next}enqueue(e,n){let r={value:e};if(n&&this.next){let o=this;for(;o.next;)n(o.next.value)?o=o.next:o.next=o.next.next;o.next=r}else this.next=r}dequeue(){let{next:e}=this;return this.next=e?.next,e?.value}};function al(t,e){return t===e?!1:t instanceof Date&&e instanceof Date?+t!=+e:Array.isArray(t)&&Array.isArray(e)?Vk(t,e):!0}function Vk(t,e){if(t.length!==e.length)return!0;for(let n=0;n<t.length;++n)if(t[n]!==e[n])return!0;return!1}function Wo(t){return t instanceof Tc}var Tc=class t extends Gm{constructor(e){super(),this._value=e}static value(e){return new t(e)}static array(e){if(e.some(n=>Wo(n))){let n=new t,r=()=>{n.update(e.map(o=>Wo(o)?o.value:o))};return r(),e.forEach(o=>Wo(o)?o.addEventListener("value",r):0),n}return new t(e)}get value(){return this._value}update(e,{force:n}={}){return al(this._value,e)||n?this.emit("value",e):this.cancel("value"),this}willEmit(e,n){return e==="value"&&(this._value=n),n}};function l2(t){return t instanceof Ui}function Vm(t,e){return new Ui(new Hm(t),e&&[e].flat())}var Ui=class t extends Tc{static intersect({cross:e=!1,empty:n=!1,include:r=[]}={}){return Vm({cross:e,empty:n},r)}static union({cross:e=!1,empty:n=!1,include:r=[]}={}){return Vm({cross:e,empty:n,union:!0},r)}static single({cross:e=!1,empty:n=!1,include:r=[]}={}){return Vm({cross:e,empty:n,single:!0},r)}static crossfilter({empty:e=!1,include:n=[]}={}){return Vm({cross:!0,empty:e},n)}constructor(e=new Hm,n=[]){if(super([]),this._resolved=this._value,this._resolver=e,this._relay=new Set,Array.isArray(n))for(let r of n)r._relay.add(this)}clone(){let e=new t(this._resolver);return e._value=e._resolved=this._value,e}remove(e){let n=this.clone();return n._value=n._resolved=n._resolver.resolve(this._resolved,{source:e}),n._value.active={source:e},n}get resolver(){return this._resolver}get single(){return this._resolver.single}get clauses(){return super.value}get active(){return this.clauses.active}get value(){return this.active?.value}valueFor(e){return this.clauses.find(n=>n.source===e)?.value}activate(e){this.emit("activate",e),this._relay.forEach(n=>n.activate(e))}update(e){return this._resolved=this._resolver.resolve(this._resolved,e,!0),this._resolved.active=e,this._relay.forEach(n=>n.update(e)),super.update(this._resolved)}willEmit(e,n){return e==="value"?(this._value=n,this.value):n}emitQueueFilter(e,n){return e==="value"?this._resolver.queueFilter(n):null}skip(e,n){return this._resolver.skip(e,n)}predicate(e,n=!1){let{clauses:r}=this,o=n?null:r.active;return this._resolver.predicate(r,o,e)}},Hm=class{constructor({union:e,cross:n,single:r,empty:o}={}){this.union=!!e,this.cross=!!n,this.single=!!r,this.empty=!!o}resolve(e,n,r=!1){let{source:o,predicate:i}=n,s=e.filter(c=>o!==c.source),a=this.single?[]:s;return this.single&&r&&s.forEach(c=>c.source?.reset?.()),i&&a.push(n),a}skip(e,n){return this.cross&&n?.clients?.has(e)}predicate(e,n,r){let{empty:o,union:i}=this;if(o&&!e.length)return[gn(!1)];if(this.skip(r,n))return;let s=e.filter(a=>!this.skip(r,a)).map(a=>a.predicate);return i&&s.length>1?Gr(s):s}queueFilter(e){if(this.cross){let n=e.active?.source;return r=>r.active?.source!==n}return null}};var t5={};function cl(t,e=!1){let n,r,o=t5;function i(f){n=t(f).catch(()=>{}).finally(()=>{if(r){let{value:u}=r;r=null,i(u)}else n=null})}function s(f){r={event:f}}function a(f){n?s(f):i(f)}function c(f){o!==f&&requestAnimationFrame(()=>{let u=o;o=t5,a(u)}),o=f}return e?c:a}var Ic=class{constructor(e){this._filterBy=e,this._requestUpdate=cl(()=>this.requestQuery(),!0),this._coordinator=null,this._pending=Promise.resolve()}get coordinator(){return this._coordinator}set coordinator(e){this._coordinator=e}get pending(){return this._pending}get filterBy(){return this._filterBy}get filterStable(){return!0}fields(){return null}fieldInfo(e){return this}async prepare(){}query(e){return null}queryPending(){return this}queryResult(e){return this}queryError(e){return this}requestQuery(e){let n=e||this.query(this.filterBy?.predicate(this));return this._coordinator.requestQuery(this,n)}requestUpdate(){this._requestUpdate()}initialize(){return this._coordinator.initializeClient(this)}update(){return this}};function p2(t,e,{source:n,clients:r=n?new Set([n]):void 0}){let o=e!==void 0?Nm(t,[gn(e)]):null;return{meta:{type:"point"},source:n,clients:r,value:e,predicate:o}}function na(t,e,{source:n,clients:r=n?new Set([n]):void 0}){let o=null;if(e){let i=e.length&&t.length===1?[Nm(t[0],e.map(s=>gn(s[0])))]:e.map(s=>Fn(s.map((a,c)=>Vb(t[c],gn(a)))));o=e.length===0?gn(!1):i.length>1?Gr(i):i[0]}return{meta:{type:"point"},source:n,clients:r,value:e,predicate:o}}function fl(t,e,{source:n,clients:r=n?new Set([n]):void 0,bin:o,scale:i,pixelSize:s=1}){let a=e!=null?yn(t,e):null;return{meta:{type:"interval",scales:i&&[i],bin:o,pixelSize:s},source:n,clients:r,value:e,predicate:a}}function h2(t,e,{source:n,clients:r=n?new Set([n]):void 0,bin:o,scales:i=[],pixelSize:s=1}){let a=e!=null?Fn(t.map((f,u)=>yn(f,e[u]))):null;return{meta:{type:"interval",scales:i,bin:o,pixelSize:s},source:n,clients:r,value:e,predicate:a}}function d2(t){return typeof t?.getChild=="function"}function m2(){let t=new Set,e,n=new Promise(r=>e=r);return{pending(r){t.add(r)},ready(r){return t.delete(r),t.size===0},resolve(){n=new Promise(r=>{e(),e=r})},get promise(){return n}}}function cr(t){return d2(t)?Hk(t):Qk(t)}function Hk(t){let{numRows:e}=t;return{numRows:e,columns:t.toColumns()}}function Qk(t){let e=t.length;if(typeof t[0]=="object"){let n=e?Object.keys(t[0]):[],r={};return n.length>0&&n.forEach(o=>{r[o]=t.map(i=>i[o])}),{numRows:e,columns:r}}else return{numRows:e,values:t}}var w3={};ZC(w3,{Area:()=>Va,Arrow:()=>Ah,BarX:()=>Ha,BarY:()=>Qa,Cell:()=>Za,Contour:()=>Dh,Density:()=>qh,Dot:()=>Ka,Frame:()=>xh,Geo:()=>Bh,Hexgrid:()=>zh,Image:()=>Yh,Line:()=>Ja,Link:()=>Mh,Mark:()=>ft,Raster:()=>Rh,Rect:()=>Ga,RuleX:()=>fh,RuleY:()=>uh,Text:()=>ja,TickX:()=>Ih,TickY:()=>Ch,Tip:()=>bh,Vector:()=>Wa,WaffleX:()=>jh,WaffleY:()=>Xh,area:()=>_h,areaX:()=>ks,areaY:()=>Ni,arrow:()=>KT,auto:()=>f9,autoSpec:()=>X6,axisFx:()=>Qx,axisFy:()=>Hx,axisX:()=>ph,axisY:()=>lh,barX:()=>ko,barY:()=>Ro,bin:()=>Ci,binX:()=>Co,binY:()=>No,bollinger:()=>$s,bollingerX:()=>m9,bollingerY:()=>g9,boxX:()=>y9,boxY:()=>x9,cell:()=>Rs,cellX:()=>t9,cellY:()=>e9,centroid:()=>M1,circle:()=>o9,cluster:()=>gI,column:()=>ze,contour:()=>T9,crosshair:()=>N9,crosshairX:()=>k9,crosshairY:()=>R9,delaunayLink:()=>$9,delaunayMesh:()=>D9,density:()=>z9,differenceX:()=>j9,differenceY:()=>X9,dodgeX:()=>DI,dodgeY:()=>FI,dot:()=>_r,dotX:()=>n9,dotY:()=>r9,filter:()=>uE,find:()=>bE,formatIsoDate:()=>g6,formatMonth:()=>S7,formatNumber:()=>m6,formatWeekday:()=>A7,frame:()=>Qf,geo:()=>S1,geoCentroid:()=>G9,graticule:()=>H9,gridFx:()=>t1,gridFy:()=>Kx,gridX:()=>Jx,gridY:()=>Zx,group:()=>eh,groupX:()=>gs,groupY:()=>ys,groupZ:()=>th,hexagon:()=>i9,hexbin:()=>Q9,hexgrid:()=>Z9,hull:()=>F9,identity:()=>X,image:()=>J9,indexOf:()=>Xt,initializer:()=>Gt,interpolateNearest:()=>Oh,interpolateNone:()=>_1,interpolatorBarycentric:()=>Lh,interpolatorRandomWalk:()=>$h,legend:()=>wT,line:()=>tc,lineX:()=>Ls,lineY:()=>Os,linearRegressionX:()=>nI,linearRegressionY:()=>rI,link:()=>h1,map:()=>Bn,mapX:()=>nu,mapY:()=>ru,marks:()=>Se,normalize:()=>L1,normalizeX:()=>zI,normalizeY:()=>YI,numberInterval:()=>L_,plot:()=>Zf,pointer:()=>Ms,pointerX:()=>Ss,pointerY:()=>Ti,raster:()=>M9,rect:()=>yh,rectX:()=>Vf,rectY:()=>Hf,reverse:()=>lE,ruleX:()=>er,ruleY:()=>nr,scale:()=>xs,select:()=>WI,selectFirst:()=>Vh,selectLast:()=>Hh,selectMaxX:()=>F1,selectMaxY:()=>P1,selectMinX:()=>$1,selectMinY:()=>D1,shiftX:()=>UI,shiftY:()=>jI,shuffle:()=>pE,sort:()=>yx,sphere:()=>V9,spike:()=>tT,stackX:()=>O6,stackX1:()=>ET,stackX2:()=>TT,stackY:()=>$6,stackY1:()=>IT,stackY2:()=>CT,text:()=>Io,textX:()=>Yx,textY:()=>Ux,tickX:()=>b1,tickY:()=>w1,timeInterval:()=>Vp,tip:()=>a1,transform:()=>Me,tree:()=>l3,treeLink:()=>C1,treeNode:()=>Uh,utcInterval:()=>Oa,valueof:()=>ct,vector:()=>k6,vectorX:()=>Wx,vectorY:()=>Gx,voronoi:()=>P9,voronoiMesh:()=>q9,waffleX:()=>_I,waffleY:()=>MI,window:()=>ou,windowX:()=>u9,windowY:()=>l9});function dt(t,e){return t==null||e==null?NaN:t<e?-1:t>e?1:t>=e?0:NaN}function bn(t,e){return t==null||e==null?NaN:e<t?-1:e>t?1:e>=t?0:NaN}function Nr(t){let e,n,r;t.length!==2?(e=dt,n=(a,c)=>dt(t(a),c),r=(a,c)=>t(a)-c):(e=t===dt||t===bn?t:Zk,n=t,r=t);function o(a,c,f=0,u=a.length){if(f<u){if(e(c,c)!==0)return u;do{let p=f+u>>>1;n(a[p],c)<0?f=p+1:u=p}while(f<u)}return f}function i(a,c,f=0,u=a.length){if(f<u){if(e(c,c)!==0)return u;do{let p=f+u>>>1;n(a[p],c)<=0?f=p+1:u=p}while(f<u)}return f}function s(a,c,f=0,u=a.length){let p=o(a,c,f,u-1);return p>f&&r(a[p-1],c)>-r(a[p],c)?p-1:p}return{left:o,center:s,right:i}}function Zk(){return 0}function ul(t){return t===null?NaN:+t}function*e5(t,e){if(e===void 0)for(let n of t)n!=null&&(n=+n)>=n&&(yield n);else{let n=-1;for(let r of t)(r=e(r,++n,t))!=null&&(r=+r)>=r&&(yield r)}}var n5=Nr(dt),r5=n5.right,Kk=n5.left,Jk=Nr(ul).center,Go=r5;var ll=o5(i5),g2=o5(tR);function o5(t){return function(e,n,r=n){if(!((n=+n)>=0))throw new RangeError("invalid rx");if(!((r=+r)>=0))throw new RangeError("invalid ry");let{data:o,width:i,height:s}=e;if(!((i=Math.floor(i))>=0))throw new RangeError("invalid width");if(!((s=Math.floor(s!==void 0?s:o.length/i))>=0))throw new RangeError("invalid height");if(!i||!s||!n&&!r)return e;let a=n&&t(n),c=r&&t(r),f=o.slice();return a&&c?(Cc(a,f,o,i,s),Cc(a,o,f,i,s),Cc(a,f,o,i,s),Nc(c,o,f,i,s),Nc(c,f,o,i,s),Nc(c,o,f,i,s)):a?(Cc(a,o,f,i,s),Cc(a,f,o,i,s),Cc(a,o,f,i,s)):c&&(Nc(c,o,f,i,s),Nc(c,f,o,i,s),Nc(c,o,f,i,s)),e}}function Cc(t,e,n,r,o){for(let i=0,s=r*o;i<s;)t(e,n,i,i+=r,1)}function Nc(t,e,n,r,o){for(let i=0,s=r*o;i<r;++i)t(e,n,i,i+s,r)}function tR(t){let e=i5(t);return(n,r,o,i,s)=>{o<<=2,i<<=2,s<<=2,e(n,r,o+0,i+0,s),e(n,r,o+1,i+1,s),e(n,r,o+2,i+2,s),e(n,r,o+3,i+3,s)}}function i5(t){let e=Math.floor(t);if(e===t)return eR(t);let n=t-e,r=2*t+1;return(o,i,s,a,c)=>{if(!((a-=c)>=s))return;let f=e*i[s],u=c*e,p=u+c;for(let l=s,h=s+u;l<h;l+=c)f+=i[Math.min(a,l)];for(let l=s,h=a;l<=h;l+=c)f+=i[Math.min(a,l+u)],o[l]=(f+n*(i[Math.max(s,l-p)]+i[Math.min(a,l+p)]))/r,f-=i[Math.max(s,l-u)]}}function eR(t){let e=2*t+1;return(n,r,o,i,s)=>{if(!((i-=s)>=o))return;let a=t*r[o],c=s*t;for(let f=o,u=o+c;f<u;f+=s)a+=r[Math.min(i,f)];for(let f=o,u=i;f<=u;f+=s)a+=r[Math.min(i,f+c)],n[f]=a/e,a-=r[Math.max(o,f-c)]}}function Kr(t,e){let n=0;if(e===void 0)for(let r of t)r!=null&&(r=+r)>=r&&++n;else{let r=-1;for(let o of t)(o=e(o,++r,t))!=null&&(o=+o)>=o&&++n}return n}function nR(t){return t.length|0}function rR(t){return!(t>0)}function oR(t){return typeof t!="object"||"length"in t?t:Array.from(t)}function iR(t){return e=>t(...e)}function Qm(...t){let e=typeof t[t.length-1]=="function"&&iR(t.pop());t=t.map(oR);let n=t.map(nR),r=t.length-1,o=new Array(r+1).fill(0),i=[];if(r<0||n.some(rR))return i;for(;;){i.push(o.map((a,c)=>t[c][a]));let s=r;for(;++o[s]===n[s];){if(s===0)return e?i.map(e):i;o[s--]=0}}}function Zm(t,e){var n=0,r=0;return Float64Array.from(t,e===void 0?o=>n+=+o||0:o=>n+=+e(o,r++,t)||0)}function ji(t,e){let n=0,r,o=0,i=0;if(e===void 0)for(let s of t)s!=null&&(s=+s)>=s&&(r=s-o,o+=r/++n,i+=r*(s-o));else{let s=-1;for(let a of t)(a=e(a,++s,t))!=null&&(a=+a)>=a&&(r=a-o,o+=r/++n,i+=r*(a-o))}if(n>1)return i/(n-1)}function fr(t,e){let n=ji(t,e);return n&&Math.sqrt(n)}function Ot(t,e){let n,r;if(e===void 0)for(let o of t)o!=null&&(n===void 0?o>=o&&(n=r=o):(n>o&&(n=o),r<o&&(r=o)));else{let o=-1;for(let i of t)(i=e(i,++o,t))!=null&&(n===void 0?i>=i&&(n=r=i):(n>i&&(n=i),r<i&&(r=i)))}return[n,r]}var Ge=class{constructor(){this._partials=new Float64Array(32),this._n=0}add(e){let n=this._partials,r=0;for(let o=0;o<this._n&&o<32;o++){let i=n[o],s=e+i,a=Math.abs(e)<Math.abs(i)?e-(s-i):i-(s-e);a&&(n[r++]=a),e=s}return n[r]=e,this._n=r+1,this}valueOf(){let e=this._partials,n=this._n,r,o,i,s=0;if(n>0){for(s=e[--n];n>0&&(r=s,o=e[--n],s=r+o,i=o-(s-r),!i););n>0&&(i<0&&e[n-1]<0||i>0&&e[n-1]>0)&&(o=i*2,r=s+o,o==r-s&&(s=r))}return s}};var wn=class extends Map{constructor(e,n=c5){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:n}}),e!=null)for(let[r,o]of e)this.set(r,o)}get(e){return super.get(y2(this,e))}has(e){return super.has(y2(this,e))}set(e,n){return super.set(s5(this,e),n)}delete(e){return super.delete(a5(this,e))}},vn=class extends Set{constructor(e,n=c5){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:n}}),e!=null)for(let r of e)this.add(r)}has(e){return super.has(y2(this,e))}add(e){return super.add(s5(this,e))}delete(e){return super.delete(a5(this,e))}};function y2({_intern:t,_key:e},n){let r=e(n);return t.has(r)?t.get(r):n}function s5({_intern:t,_key:e},n){let r=e(n);return t.has(r)?t.get(r):(t.set(r,n),n)}function a5({_intern:t,_key:e},n){let r=e(n);return t.has(r)&&(n=t.get(r),t.delete(r)),n}function c5(t){return t!==null&&typeof t=="object"?t.valueOf():t}function pl(t){return t}function Ve(t,...e){return b2(t,pl,pl,e)}function kr(t,e,...n){return b2(t,pl,e,n)}function x2(t,e,...n){return b2(t,Array.from,e,n)}function b2(t,e,n,r){return function o(i,s){if(s>=r.length)return n(i);let a=new wn,c=r[s++],f=-1;for(let u of i){let p=c(u,++f,i),l=a.get(p);l?l.push(u):a.set(p,[u])}for(let[u,p]of a)a.set(u,o(p,s));return e(a)}(t,0)}function w2(t,e){return Array.from(e,n=>t[n])}function Vo(t,...e){if(typeof t[Symbol.iterator]!="function")throw new TypeError("values is not iterable");t=Array.from(t);let[n]=e;if(n&&n.length!==2||e.length>1){let r=Uint32Array.from(t,(o,i)=>i);return e.length>1?(e=e.map(o=>t.map(o)),r.sort((o,i)=>{for(let s of e){let a=ra(s[o],s[i]);if(a)return a}})):(n=t.map(n),r.sort((o,i)=>ra(n[o],n[i]))),w2(t,r)}return t.sort(hl(n))}function hl(t=dt){if(t===dt)return ra;if(typeof t!="function")throw new TypeError("compare is not a function");return(e,n)=>{let r=t(e,n);return r||r===0?r:(t(n,n)===0)-(t(e,e)===0)}}function ra(t,e){return(t==null||!(t>=t))-(e==null||!(e>=e))||(t<e?-1:t>e?1:0)}function kc(t,e,n){return(e.length!==2?Vo(kr(t,e,n),([r,o],[i,s])=>dt(o,s)||dt(r,i)):Vo(Ve(t,n),([r,o],[i,s])=>e(o,s)||dt(r,i))).map(([r])=>r)}var sR=Math.sqrt(50),aR=Math.sqrt(10),cR=Math.sqrt(2);function Km(t,e,n){let r=(e-t)/Math.max(0,n),o=Math.floor(Math.log10(r)),i=r/Math.pow(10,o),s=i>=sR?10:i>=aR?5:i>=cR?2:1,a,c,f;return o<0?(f=Math.pow(10,-o)/s,a=Math.round(t*f),c=Math.round(e*f),a/f<t&&++a,c/f>e&&--c,f=-f):(f=Math.pow(10,o)*s,a=Math.round(t/f),c=Math.round(e/f),a*f<t&&++a,c*f>e&&--c),c<a&&.5<=n&&n<2?Km(t,e,n*2):[a,c,f]}function He(t,e,n){if(e=+e,t=+t,n=+n,!(n>0))return[];if(t===e)return[t];let r=e<t,[o,i,s]=r?Km(e,t,n):Km(t,e,n);if(!(i>=o))return[];let a=i-o+1,c=new Array(a);if(r)if(s<0)for(let f=0;f<a;++f)c[f]=(i-f)/-s;else for(let f=0;f<a;++f)c[f]=(i-f)*s;else if(s<0)for(let f=0;f<a;++f)c[f]=(o+f)/-s;else for(let f=0;f<a;++f)c[f]=(o+f)*s;return c}function Ho(t,e,n){return e=+e,t=+t,n=+n,Km(t,e,n)[2]}function Rc(t,e,n){e=+e,t=+t,n=+n;let r=e<t,o=r?Ho(e,t,n):Ho(t,e,n);return(r?-1:1)*(o<0?1/-o:o)}function Lc(t,e,n){let r;for(;;){let o=Ho(t,e,n);if(o===r||o===0||!isFinite(o))return[t,e];o>0?(t=Math.floor(t/o)*o,e=Math.ceil(e/o)*o):o<0&&(t=Math.ceil(t*o)/o,e=Math.floor(e*o)/o),r=o}}function Xi(t){return Math.max(1,Math.ceil(Math.log(Kr(t))/Math.LN2)+1)}function Mt(t,e){let n;if(e===void 0)for(let r of t)r!=null&&(n<r||n===void 0&&r>=r)&&(n=r);else{let r=-1;for(let o of t)(o=e(o,++r,t))!=null&&(n<o||n===void 0&&o>=o)&&(n=o)}return n}function Jm(t,e){let n,r=-1,o=-1;if(e===void 0)for(let i of t)++o,i!=null&&(n<i||n===void 0&&i>=i)&&(n=i,r=o);else for(let i of t)(i=e(i,++o,t))!=null&&(n<i||n===void 0&&i>=i)&&(n=i,r=o);return r}function At(t,e){let n;if(e===void 0)for(let r of t)r!=null&&(n>r||n===void 0&&r>=r)&&(n=r);else{let r=-1;for(let o of t)(o=e(o,++r,t))!=null&&(n>o||n===void 0&&o>=o)&&(n=o)}return n}function t0(t,e){let n,r=-1,o=-1;if(e===void 0)for(let i of t)++o,i!=null&&(n>i||n===void 0&&i>=i)&&(n=i,r=o);else for(let i of t)(i=e(i,++o,t))!=null&&(n>i||n===void 0&&i>=i)&&(n=i,r=o);return r}function e0(t,e,n=0,r=1/0,o){if(e=Math.floor(e),n=Math.floor(Math.max(0,n)),r=Math.floor(Math.min(t.length-1,r)),!(n<=e&&e<=r))return t;for(o=o===void 0?ra:hl(o);r>n;){if(r-n>600){let c=r-n+1,f=e-n+1,u=Math.log(c),p=.5*Math.exp(2*u/3),l=.5*Math.sqrt(u*p*(c-p)/c)*(f-c/2<0?-1:1),h=Math.max(n,Math.floor(e-f*p/c+l)),d=Math.min(r,Math.floor(e+(c-f)*p/c+l));e0(t,e,h,d,o)}let i=t[e],s=n,a=r;for(dl(t,n,e),o(t[r],i)>0&&dl(t,n,r);s<a;){for(dl(t,s,a),++s,--a;o(t[s],i)<0;)++s;for(;o(t[a],i)>0;)--a}o(t[n],i)===0?dl(t,n,a):(++a,dl(t,a,r)),a<=e&&(n=a+1),e<=a&&(r=a-1)}return t}function dl(t,e,n){let r=t[e];t[e]=t[n],t[n]=r}function oa(t,e=dt){let n,r=!1;if(e.length===1){let o;for(let i of t){let s=e(i);(r?dt(s,o)>0:dt(s,s)===0)&&(n=i,o=s,r=!0)}}else for(let o of t)(r?e(o,n)>0:e(o,o)===0)&&(n=o,r=!0);return n}function _n(t,e,n){if(t=Float64Array.from(e5(t,n)),!(!(r=t.length)||isNaN(e=+e))){if(e<=0||r<2)return At(t);if(e>=1)return Mt(t);var r,o=(r-1)*e,i=Math.floor(o),s=Mt(e0(t,i).subarray(0,i+1)),a=At(t.subarray(i+1));return s+(a-s)*(o-i)}}function v2(t,e,n=ul){if(!(!(r=t.length)||isNaN(e=+e))){if(e<=0||r<2)return+n(t[0],0,t);if(e>=1)return+n(t[r-1],r-1,t);var r,o=(r-1)*e,i=Math.floor(o),s=+n(t[i],i,t),a=+n(t[i+1],i+1,t);return s+(a-s)*(o-i)}}function n0(t,e,n){let r=Kr(t),o=_n(t,.75)-_n(t,.25);return r&&o?Math.ceil((n-e)/(2*o*Math.pow(r,-1/3))):1}function ml(t,e,n){let r=Kr(t),o=fr(t);return r&&o?Math.ceil((n-e)*Math.cbrt(r)/(3.49*o)):1}function Qo(t,e){let n=0,r=0;if(e===void 0)for(let o of t)o!=null&&(o=+o)>=o&&(++n,r+=o);else{let o=-1;for(let i of t)(i=e(i,++o,t))!=null&&(i=+i)>=i&&(++n,r+=i)}if(n)return r/n}function Rr(t,e){return _n(t,.5,e)}function*uR(t){for(let e of t)yield*e}function Oc(t){return Array.from(uR(t))}function $c(t,e){let n=new wn;if(e===void 0)for(let i of t)i!=null&&i>=i&&n.set(i,(n.get(i)||0)+1);else{let i=-1;for(let s of t)(s=e(s,++i,t))!=null&&s>=s&&n.set(s,(n.get(s)||0)+1)}let r,o=0;for(let[i,s]of n)s>o&&(o=s,r=i);return r}function r0(t,e=lR){let n=[],r,o=!1;for(let i of t)o&&n.push(e(r,i)),r=i,o=!0;return n}function lR(t,e){return[t,e]}function pe(t,e,n){t=+t,e=+e,n=(o=arguments.length)<2?(e=t,t=0,1):o<3?1:+n;for(var r=-1,o=Math.max(0,Math.ceil((e-t)/n))|0,i=new Array(o);++r<o;)i[r]=t+r*n;return i}function gl(t,e=dt){if(typeof t[Symbol.iterator]!="function")throw new TypeError("values is not iterable");let n=Array.from(t),r=new Float64Array(n.length);e.length!==2&&(n=n.map(e),e=dt);let o=(a,c)=>e(n[a],n[c]),i,s;return t=Uint32Array.from(n,(a,c)=>c),t.sort(e===dt?(a,c)=>ra(n[a],n[c]):hl(o)),t.forEach((a,c)=>{let f=o(a,i===void 0?a:i);f>=0?((i===void 0||f>0)&&(i=a,s=c),r[a]=s):r[a]=NaN}),r}function o0(t,e=dt){let n,r=!1;if(e.length===1){let o;for(let i of t){let s=e(i);(r?dt(s,o)<0:dt(s,s)===0)&&(n=i,o=s,r=!0)}}else for(let o of t)(r?e(o,n)<0:e(o,o)===0)&&(n=o,r=!0);return n}function Ee(t,e){let n=0;if(e===void 0)for(let r of t)(r=+r)&&(n+=r);else{let r=-1;for(let o of t)(o=+e(o,++r,t))&&(n+=o)}return n}function Wi(t){if(typeof t[Symbol.iterator]!="function")throw new TypeError("values is not iterable");return Array.from(t).reverse()}function f5(t){return t}var _2=1,M2=2,S2=3,i0=4,u5=1e-6;function pR(t){return"translate("+t+",0)"}function hR(t){return"translate(0,"+t+")"}function dR(t){return e=>+t(e)}function mR(t,e){return e=Math.max(0,t.bandwidth()-e*2)/2,t.round()&&(e=Math.round(e)),n=>+t(n)+e}function gR(){return!this.__axis}function yR(t,e){var n=[],r=null,o=null,i=6,s=6,a=3,c=typeof window<"u"&&window.devicePixelRatio>1?0:.5,f=t===_2||t===i0?-1:1,u=t===i0||t===M2?"x":"y",p=t===_2||t===S2?pR:hR;function l(h){var d=r??(e.ticks?e.ticks.apply(e,n):e.domain()),m=o??(e.tickFormat?e.tickFormat.apply(e,n):f5),g=Math.max(i,0)+a,y=e.range(),x=+y[0]+c,b=+y[y.length-1]+c,w=(e.bandwidth?mR:dR)(e.copy(),c),_=h.selection?h.selection():h,v=_.selectAll(".domain").data([null]),M=_.selectAll(".tick").data(d,e).order(),E=M.exit(),T=M.enter().append("g").attr("class","tick"),I=M.select("line"),A=M.select("text");v=v.merge(v.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),M=M.merge(T),I=I.merge(T.append("line").attr("stroke","currentColor").attr(u+"2",f*i)),A=A.merge(T.append("text").attr("fill","currentColor").attr(u,f*g).attr("dy",t===_2?"0em":t===S2?"0.71em":"0.32em")),h!==_&&(v=v.transition(h),M=M.transition(h),I=I.transition(h),A=A.transition(h),E=E.transition(h).attr("opacity",u5).attr("transform",function(k){return isFinite(k=w(k))?p(k+c):this.getAttribute("transform")}),T.attr("opacity",u5).attr("transform",function(k){var L=this.parentNode.__axis;return p((L&&isFinite(L=L(k))?L:w(k))+c)})),E.remove(),v.attr("d",t===i0||t===M2?s?"M"+f*s+","+x+"H"+c+"V"+b+"H"+f*s:"M"+c+","+x+"V"+b:s?"M"+x+","+f*s+"V"+c+"H"+b+"V"+f*s:"M"+x+","+c+"H"+b),M.attr("opacity",1).attr("transform",function(k){return p(w(k)+c)}),I.attr(u+"2",f*i),A.attr(u,f*g).text(m),_.filter(gR).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",t===M2?"start":t===i0?"end":"middle"),_.each(function(){this.__axis=w})}return l.scale=function(h){return arguments.length?(e=h,l):e},l.ticks=function(){return n=Array.from(arguments),l},l.tickArguments=function(h){return arguments.length?(n=h==null?[]:Array.from(h),l):n.slice()},l.tickValues=function(h){return arguments.length?(r=h==null?null:Array.from(h),l):r&&r.slice()},l.tickFormat=function(h){return arguments.length?(o=h,l):o},l.tickSize=function(h){return arguments.length?(i=s=+h,l):i},l.tickSizeInner=function(h){return arguments.length?(i=+h,l):i},l.tickSizeOuter=function(h){return arguments.length?(s=+h,l):s},l.tickPadding=function(h){return arguments.length?(a=+h,l):a},l.offset=function(h){return arguments.length?(c=+h,l):c},l}function A2(t){return yR(S2,t)}var xR={value:()=>{}};function p5(){for(var t=0,e=arguments.length,n={},r;t<e;++t){if(!(r=arguments[t]+"")||r in n||/[\s.]/.test(r))throw new Error("illegal type: "+r);n[r]=[]}return new s0(n)}function s0(t){this._=t}function bR(t,e){return t.trim().split(/^|\s+/).map(function(n){var r="",o=n.indexOf(".");if(o>=0&&(r=n.slice(o+1),n=n.slice(0,o)),n&&!e.hasOwnProperty(n))throw new Error("unknown type: "+n);return{type:n,name:r}})}s0.prototype=p5.prototype={constructor:s0,on:function(t,e){var n=this._,r=bR(t+"",n),o,i=-1,s=r.length;if(arguments.length<2){for(;++i<s;)if((o=(t=r[i]).type)&&(o=wR(n[o],t.name)))return o;return}if(e!=null&&typeof e!="function")throw new Error("invalid callback: "+e);for(;++i<s;)if(o=(t=r[i]).type)n[o]=l5(n[o],t.name,e);else if(e==null)for(o in n)n[o]=l5(n[o],t.name,null);return this},copy:function(){var t={},e=this._;for(var n in e)t[n]=e[n].slice();return new s0(t)},call:function(t,e){if((o=arguments.length-2)>0)for(var n=new Array(o),r=0,o,i;r<o;++r)n[r]=arguments[r+2];if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(i=this._[t],r=0,o=i.length;r<o;++r)i[r].value.apply(e,n)},apply:function(t,e,n){if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(var r=this._[t],o=0,i=r.length;o<i;++o)r[o].value.apply(e,n)}};function wR(t,e){for(var n=0,r=t.length,o;n<r;++n)if((o=t[n]).name===e)return o.value}function l5(t,e,n){for(var r=0,o=t.length;r<o;++r)if(t[r].name===e){t[r]=xR,t=t.slice(0,r).concat(t.slice(r+1));break}return n!=null&&t.push({name:e,value:n}),t}var ia=p5;var a0="http://www.w3.org/1999/xhtml",Mn={svg:"http://www.w3.org/2000/svg",xhtml:a0,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function Zo(t){var e=t+="",n=e.indexOf(":");return n>=0&&(e=t.slice(0,n))!=="xmlns"&&(t=t.slice(n+1)),Mn.hasOwnProperty(e)?{space:Mn[e],local:t}:t}function vR(t){return function(){var e=this.ownerDocument,n=this.namespaceURI;return n===a0&&e.documentElement.namespaceURI===a0?e.createElement(t):e.createElementNS(n,t)}}function _R(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}function Ko(t){var e=Zo(t);return(e.local?_R:vR)(e)}function MR(){}function sa(t){return t==null?MR:function(){return this.querySelector(t)}}function h5(t){typeof t!="function"&&(t=sa(t));for(var e=this._groups,n=e.length,r=new Array(n),o=0;o<n;++o)for(var i=e[o],s=i.length,a=r[o]=new Array(s),c,f,u=0;u<s;++u)(c=i[u])&&(f=t.call(c,c.__data__,u,i))&&("__data__"in c&&(f.__data__=c.__data__),a[u]=f);return new ae(r,this._parents)}function E2(t){return t==null?[]:Array.isArray(t)?t:Array.from(t)}function SR(){return[]}function yl(t){return t==null?SR:function(){return this.querySelectorAll(t)}}function AR(t){return function(){return E2(t.apply(this,arguments))}}function d5(t){typeof t=="function"?t=AR(t):t=yl(t);for(var e=this._groups,n=e.length,r=[],o=[],i=0;i<n;++i)for(var s=e[i],a=s.length,c,f=0;f<a;++f)(c=s[f])&&(r.push(t.call(c,c.__data__,f,s)),o.push(c));return new ae(r,o)}function xl(t){return function(){return this.matches(t)}}function c0(t){return function(e){return e.matches(t)}}var ER=Array.prototype.find;function TR(t){return function(){return ER.call(this.children,t)}}function IR(){return this.firstElementChild}function m5(t){return this.select(t==null?IR:TR(typeof t=="function"?t:c0(t)))}var CR=Array.prototype.filter;function NR(){return Array.from(this.children)}function kR(t){return function(){return CR.call(this.children,t)}}function g5(t){return this.selectAll(t==null?NR:kR(typeof t=="function"?t:c0(t)))}function y5(t){typeof t!="function"&&(t=xl(t));for(var e=this._groups,n=e.length,r=new Array(n),o=0;o<n;++o)for(var i=e[o],s=i.length,a=r[o]=[],c,f=0;f<s;++f)(c=i[f])&&t.call(c,c.__data__,f,i)&&a.push(c);return new ae(r,this._parents)}function f0(t){return new Array(t.length)}function x5(){return new ae(this._enter||this._groups.map(f0),this._parents)}function bl(t,e){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=e}bl.prototype={constructor:bl,appendChild:function(t){return this._parent.insertBefore(t,this._next)},insertBefore:function(t,e){return this._parent.insertBefore(t,e)},querySelector:function(t){return this._parent.querySelector(t)},querySelectorAll:function(t){return this._parent.querySelectorAll(t)}};function b5(t){return function(){return t}}function RR(t,e,n,r,o,i){for(var s=0,a,c=e.length,f=i.length;s<f;++s)(a=e[s])?(a.__data__=i[s],r[s]=a):n[s]=new bl(t,i[s]);for(;s<c;++s)(a=e[s])&&(o[s]=a)}function LR(t,e,n,r,o,i,s){var a,c,f=new Map,u=e.length,p=i.length,l=new Array(u),h;for(a=0;a<u;++a)(c=e[a])&&(l[a]=h=s.call(c,c.__data__,a,e)+"",f.has(h)?o[a]=c:f.set(h,c));for(a=0;a<p;++a)h=s.call(t,i[a],a,i)+"",(c=f.get(h))?(r[a]=c,c.__data__=i[a],f.delete(h)):n[a]=new bl(t,i[a]);for(a=0;a<u;++a)(c=e[a])&&f.get(l[a])===c&&(o[a]=c)}function OR(t){return t.__data__}function w5(t,e){if(!arguments.length)return Array.from(this,OR);var n=e?LR:RR,r=this._parents,o=this._groups;typeof t!="function"&&(t=b5(t));for(var i=o.length,s=new Array(i),a=new Array(i),c=new Array(i),f=0;f<i;++f){var u=r[f],p=o[f],l=p.length,h=$R(t.call(u,u&&u.__data__,f,r)),d=h.length,m=a[f]=new Array(d),g=s[f]=new Array(d),y=c[f]=new Array(l);n(u,p,m,g,y,h,e);for(var x=0,b=0,w,_;x<d;++x)if(w=m[x]){for(x>=b&&(b=x+1);!(_=g[b])&&++b<d;);w._next=_||null}}return s=new ae(s,r),s._enter=a,s._exit=c,s}function $R(t){return typeof t=="object"&&"length"in t?t:Array.from(t)}function v5(){return new ae(this._exit||this._groups.map(f0),this._parents)}function _5(t,e,n){var r=this.enter(),o=this,i=this.exit();return typeof t=="function"?(r=t(r),r&&(r=r.selection())):r=r.append(t+""),e!=null&&(o=e(o),o&&(o=o.selection())),n==null?i.remove():n(i),r&&o?r.merge(o).order():o}function M5(t){for(var e=t.selection?t.selection():t,n=this._groups,r=e._groups,o=n.length,i=r.length,s=Math.min(o,i),a=new Array(o),c=0;c<s;++c)for(var f=n[c],u=r[c],p=f.length,l=a[c]=new Array(p),h,d=0;d<p;++d)(h=f[d]||u[d])&&(l[d]=h);for(;c<o;++c)a[c]=n[c];return new ae(a,this._parents)}function S5(){for(var t=this._groups,e=-1,n=t.length;++e<n;)for(var r=t[e],o=r.length-1,i=r[o],s;--o>=0;)(s=r[o])&&(i&&s.compareDocumentPosition(i)^4&&i.parentNode.insertBefore(s,i),i=s);return this}function A5(t){t||(t=DR);function e(p,l){return p&&l?t(p.__data__,l.__data__):!p-!l}for(var n=this._groups,r=n.length,o=new Array(r),i=0;i<r;++i){for(var s=n[i],a=s.length,c=o[i]=new Array(a),f,u=0;u<a;++u)(f=s[u])&&(c[u]=f);c.sort(e)}return new ae(o,this._parents).order()}function DR(t,e){return t<e?-1:t>e?1:t>=e?0:NaN}function E5(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this}function T5(){return Array.from(this)}function I5(){for(var t=this._groups,e=0,n=t.length;e<n;++e)for(var r=t[e],o=0,i=r.length;o<i;++o){var s=r[o];if(s)return s}return null}function C5(){let t=0;for(let e of this)++t;return t}function N5(){return!this.node()}function k5(t){for(var e=this._groups,n=0,r=e.length;n<r;++n)for(var o=e[n],i=0,s=o.length,a;i<s;++i)(a=o[i])&&t.call(a,a.__data__,i,o);return this}function FR(t){return function(){this.removeAttribute(t)}}function PR(t){return function(){this.removeAttributeNS(t.space,t.local)}}function qR(t,e){return function(){this.setAttribute(t,e)}}function BR(t,e){return function(){this.setAttributeNS(t.space,t.local,e)}}function zR(t,e){return function(){var n=e.apply(this,arguments);n==null?this.removeAttribute(t):this.setAttribute(t,n)}}function YR(t,e){return function(){var n=e.apply(this,arguments);n==null?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,n)}}function R5(t,e){var n=Zo(t);if(arguments.length<2){var r=this.node();return n.local?r.getAttributeNS(n.space,n.local):r.getAttribute(n)}return this.each((e==null?n.local?PR:FR:typeof e=="function"?n.local?YR:zR:n.local?BR:qR)(n,e))}function u0(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView}function UR(t){return function(){this.style.removeProperty(t)}}function jR(t,e,n){return function(){this.style.setProperty(t,e,n)}}function XR(t,e,n){return function(){var r=e.apply(this,arguments);r==null?this.style.removeProperty(t):this.style.setProperty(t,r,n)}}function L5(t,e,n){return arguments.length>1?this.each((e==null?UR:typeof e=="function"?XR:jR)(t,e,n??"")):Gi(this.node(),t)}function Gi(t,e){return t.style.getPropertyValue(e)||u0(t).getComputedStyle(t,null).getPropertyValue(e)}function WR(t){return function(){delete this[t]}}function GR(t,e){return function(){this[t]=e}}function VR(t,e){return function(){var n=e.apply(this,arguments);n==null?delete this[t]:this[t]=n}}function O5(t,e){return arguments.length>1?this.each((e==null?WR:typeof e=="function"?VR:GR)(t,e)):this.node()[t]}function $5(t){return t.trim().split(/^|\s+/)}function T2(t){return t.classList||new D5(t)}function D5(t){this._node=t,this._names=$5(t.getAttribute("class")||"")}D5.prototype={add:function(t){var e=this._names.indexOf(t);e<0&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))},remove:function(t){var e=this._names.indexOf(t);e>=0&&(this._names.splice(e,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};function F5(t,e){for(var n=T2(t),r=-1,o=e.length;++r<o;)n.add(e[r])}function P5(t,e){for(var n=T2(t),r=-1,o=e.length;++r<o;)n.remove(e[r])}function HR(t){return function(){F5(this,t)}}function QR(t){return function(){P5(this,t)}}function ZR(t,e){return function(){(e.apply(this,arguments)?F5:P5)(this,t)}}function q5(t,e){var n=$5(t+"");if(arguments.length<2){for(var r=T2(this.node()),o=-1,i=n.length;++o<i;)if(!r.contains(n[o]))return!1;return!0}return this.each((typeof e=="function"?ZR:e?HR:QR)(n,e))}function KR(){this.textContent=""}function JR(t){return function(){this.textContent=t}}function tL(t){return function(){var e=t.apply(this,arguments);this.textContent=e??""}}function B5(t){return arguments.length?this.each(t==null?KR:(typeof t=="function"?tL:JR)(t)):this.node().textContent}function eL(){this.innerHTML=""}function nL(t){return function(){this.innerHTML=t}}function rL(t){return function(){var e=t.apply(this,arguments);this.innerHTML=e??""}}function z5(t){return arguments.length?this.each(t==null?eL:(typeof t=="function"?rL:nL)(t)):this.node().innerHTML}function oL(){this.nextSibling&&this.parentNode.appendChild(this)}function Y5(){return this.each(oL)}function iL(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function U5(){return this.each(iL)}function j5(t){var e=typeof t=="function"?t:Ko(t);return this.select(function(){return this.appendChild(e.apply(this,arguments))})}function sL(){return null}function X5(t,e){var n=typeof t=="function"?t:Ko(t),r=e==null?sL:typeof e=="function"?e:sa(e);return this.select(function(){return this.insertBefore(n.apply(this,arguments),r.apply(this,arguments)||null)})}function aL(){var t=this.parentNode;t&&t.removeChild(this)}function W5(){return this.each(aL)}function cL(){var t=this.cloneNode(!1),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}function fL(){var t=this.cloneNode(!0),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}function G5(t){return this.select(t?fL:cL)}function V5(t){return arguments.length?this.property("__data__",t):this.node().__data__}function uL(t){return function(e){t.call(this,e,this.__data__)}}function lL(t){return t.trim().split(/^|\s+/).map(function(e){var n="",r=e.indexOf(".");return r>=0&&(n=e.slice(r+1),e=e.slice(0,r)),{type:e,name:n}})}function pL(t){return function(){var e=this.__on;if(e){for(var n=0,r=-1,o=e.length,i;n<o;++n)i=e[n],(!t.type||i.type===t.type)&&i.name===t.name?this.removeEventListener(i.type,i.listener,i.options):e[++r]=i;++r?e.length=r:delete this.__on}}}function hL(t,e,n){return function(){var r=this.__on,o,i=uL(e);if(r){for(var s=0,a=r.length;s<a;++s)if((o=r[s]).type===t.type&&o.name===t.name){this.removeEventListener(o.type,o.listener,o.options),this.addEventListener(o.type,o.listener=i,o.options=n),o.value=e;return}}this.addEventListener(t.type,i,n),o={type:t.type,name:t.name,value:e,listener:i,options:n},r?r.push(o):this.__on=[o]}}function H5(t,e,n){var r=lL(t+""),o,i=r.length,s;if(arguments.length<2){var a=this.node().__on;if(a){for(var c=0,f=a.length,u;c<f;++c)for(o=0,u=a[c];o<i;++o)if((s=r[o]).type===u.type&&s.name===u.name)return u.value}return}for(a=e?hL:pL,o=0;o<i;++o)this.each(a(r[o],e,n));return this}function Q5(t,e,n){var r=u0(t),o=r.CustomEvent;typeof o=="function"?o=new o(e,n):(o=r.document.createEvent("Event"),n?(o.initEvent(e,n.bubbles,n.cancelable),o.detail=n.detail):o.initEvent(e,!1,!1)),t.dispatchEvent(o)}function dL(t,e){return function(){return Q5(this,t,e)}}function mL(t,e){return function(){return Q5(this,t,e.apply(this,arguments))}}function Z5(t,e){return this.each((typeof e=="function"?mL:dL)(t,e))}function*K5(){for(var t=this._groups,e=0,n=t.length;e<n;++e)for(var r=t[e],o=0,i=r.length,s;o<i;++o)(s=r[o])&&(yield s)}var I2=[null];function ae(t,e){this._groups=t,this._parents=e}function J5(){return new ae([[document.documentElement]],I2)}function gL(){return this}ae.prototype=J5.prototype={constructor:ae,select:h5,selectAll:d5,selectChild:m5,selectChildren:g5,filter:y5,data:w5,enter:x5,exit:v5,join:_5,merge:M5,selection:gL,order:S5,sort:A5,call:E5,nodes:T5,node:I5,size:C5,empty:N5,each:k5,attr:R5,style:L5,property:O5,classed:q5,text:B5,html:z5,raise:Y5,lower:U5,append:j5,insert:X5,remove:W5,clone:G5,datum:V5,on:H5,dispatch:Z5,[Symbol.iterator]:K5};var Jo=J5;function Et(t){return typeof t=="string"?new ae([[document.querySelector(t)]],[document.documentElement]):new ae([[t]],I2)}function tM(t){let e;for(;e=t.sourceEvent;)t=e;return t}function sn(t,e){if(t=tM(t),e===void 0&&(e=t.currentTarget),e){var n=e.ownerSVGElement||e;if(n.createSVGPoint){var r=n.createSVGPoint();return r.x=t.clientX,r.y=t.clientY,r=r.matrixTransform(e.getScreenCTM().inverse()),[r.x,r.y]}if(e.getBoundingClientRect){var o=e.getBoundingClientRect();return[t.clientX-o.left-e.clientLeft,t.clientY-o.top-e.clientTop]}}return[t.pageX,t.pageY]}var l0={capture:!0,passive:!1};function p0(t){t.preventDefault(),t.stopImmediatePropagation()}function wl(t){var e=t.document.documentElement,n=Et(t).on("dragstart.drag",p0,l0);"onselectstart"in e?n.on("selectstart.drag",p0,l0):(e.__noselect=e.style.MozUserSelect,e.style.MozUserSelect="none")}function vl(t,e){var n=t.document.documentElement,r=Et(t).on("dragstart.drag",null);e&&(r.on("click.drag",p0,l0),setTimeout(function(){r.on("click.drag",null)},0)),"onselectstart"in n?r.on("selectstart.drag",null):(n.style.MozUserSelect=n.__noselect,delete n.__noselect)}function ti(t,e,n){t.prototype=e.prototype=n,n.constructor=t}function Vi(t,e){var n=Object.create(t.prototype);for(var r in e)n[r]=e[r];return n}function to(){}var Hi=.7,fa=1/Hi,Dc="\\s*([+-]?\\d+)\\s*",_l="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",Jr="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",yL=/^#([0-9a-f]{3,8})$/,xL=new RegExp(`^rgb\\(${Dc},${Dc},${Dc}\\)$`),bL=new RegExp(`^rgb\\(${Jr},${Jr},${Jr}\\)$`),wL=new RegExp(`^rgba\\(${Dc},${Dc},${Dc},${_l}\\)$`),vL=new RegExp(`^rgba\\(${Jr},${Jr},${Jr},${_l}\\)$`),_L=new RegExp(`^hsl\\(${_l},${Jr},${Jr}\\)$`),ML=new RegExp(`^hsla\\(${_l},${Jr},${Jr},${_l}\\)$`),eM={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};ti(to,Xn,{copy(t){return Object.assign(new this.constructor,this,t)},displayable(){return this.rgb().displayable()},hex:nM,formatHex:nM,formatHex8:SL,formatHsl:AL,formatRgb:rM,toString:rM});function nM(){return this.rgb().formatHex()}function SL(){return this.rgb().formatHex8()}function AL(){return fM(this).formatHsl()}function rM(){return this.rgb().formatRgb()}function Xn(t){var e,n;return t=(t+"").trim().toLowerCase(),(e=yL.exec(t))?(n=e[1].length,e=parseInt(e[1],16),n===6?oM(e):n===3?new ge(e>>8&15|e>>4&240,e>>4&15|e&240,(e&15)<<4|e&15,1):n===8?h0(e>>24&255,e>>16&255,e>>8&255,(e&255)/255):n===4?h0(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|e&240,((e&15)<<4|e&15)/255):null):(e=xL.exec(t))?new ge(e[1],e[2],e[3],1):(e=bL.exec(t))?new ge(e[1]*255/100,e[2]*255/100,e[3]*255/100,1):(e=wL.exec(t))?h0(e[1],e[2],e[3],e[4]):(e=vL.exec(t))?h0(e[1]*255/100,e[2]*255/100,e[3]*255/100,e[4]):(e=_L.exec(t))?aM(e[1],e[2]/100,e[3]/100,1):(e=ML.exec(t))?aM(e[1],e[2]/100,e[3]/100,e[4]):eM.hasOwnProperty(t)?oM(eM[t]):t==="transparent"?new ge(NaN,NaN,NaN,0):null}function oM(t){return new ge(t>>16&255,t>>8&255,t&255,1)}function h0(t,e,n,r){return r<=0&&(t=e=n=NaN),new ge(t,e,n,r)}function Ml(t){return t instanceof to||(t=Xn(t)),t?(t=t.rgb(),new ge(t.r,t.g,t.b,t.opacity)):new ge}function Te(t,e,n,r){return arguments.length===1?Ml(t):new ge(t,e,n,r??1)}function ge(t,e,n,r){this.r=+t,this.g=+e,this.b=+n,this.opacity=+r}ti(ge,Te,Vi(to,{brighter(t){return t=t==null?fa:Math.pow(fa,t),new ge(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=t==null?Hi:Math.pow(Hi,t),new ge(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new ge(ca(this.r),ca(this.g),ca(this.b),m0(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:iM,formatHex:iM,formatHex8:EL,formatRgb:sM,toString:sM}));function iM(){return`#${aa(this.r)}${aa(this.g)}${aa(this.b)}`}function EL(){return`#${aa(this.r)}${aa(this.g)}${aa(this.b)}${aa((isNaN(this.opacity)?1:this.opacity)*255)}`}function sM(){let t=m0(this.opacity);return`${t===1?"rgb(":"rgba("}${ca(this.r)}, ${ca(this.g)}, ${ca(this.b)}${t===1?")":`, ${t})`}`}function m0(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function ca(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function aa(t){return t=ca(t),(t<16?"0":"")+t.toString(16)}function aM(t,e,n,r){return r<=0?t=e=n=NaN:n<=0||n>=1?t=e=NaN:e<=0&&(t=NaN),new Lr(t,e,n,r)}function fM(t){if(t instanceof Lr)return new Lr(t.h,t.s,t.l,t.opacity);if(t instanceof to||(t=Xn(t)),!t)return new Lr;if(t instanceof Lr)return t;t=t.rgb();var e=t.r/255,n=t.g/255,r=t.b/255,o=Math.min(e,n,r),i=Math.max(e,n,r),s=NaN,a=i-o,c=(i+o)/2;return a?(e===i?s=(n-r)/a+(n<r)*6:n===i?s=(r-e)/a+2:s=(e-n)/a+4,a/=c<.5?i+o:2-i-o,s*=60):a=c>0&&c<1?0:s,new Lr(s,a,c,t.opacity)}function Sl(t,e,n,r){return arguments.length===1?fM(t):new Lr(t,e,n,r??1)}function Lr(t,e,n,r){this.h=+t,this.s=+e,this.l=+n,this.opacity=+r}ti(Lr,Sl,Vi(to,{brighter(t){return t=t==null?fa:Math.pow(fa,t),new Lr(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=t==null?Hi:Math.pow(Hi,t),new Lr(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+(this.h<0)*360,e=isNaN(t)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*e,o=2*n-r;return new ge(C2(t>=240?t-240:t+120,o,r),C2(t,o,r),C2(t<120?t+240:t-120,o,r),this.opacity)},clamp(){return new Lr(cM(this.h),d0(this.s),d0(this.l),m0(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){let t=m0(this.opacity);return`${t===1?"hsl(":"hsla("}${cM(this.h)}, ${d0(this.s)*100}%, ${d0(this.l)*100}%${t===1?")":`, ${t})`}`}}));function cM(t){return t=(t||0)%360,t<0?t+360:t}function d0(t){return Math.max(0,Math.min(1,t||0))}function C2(t,e,n){return(t<60?e+(n-e)*t/60:t<180?n:t<240?e+(n-e)*(240-t)/60:e)*255}var g0=Math.PI/180,y0=180/Math.PI;var x0=18,uM=.96422,lM=1,pM=.82521,hM=4/29,Fc=6/29,dM=3*Fc*Fc,TL=Fc*Fc*Fc;function mM(t){if(t instanceof eo)return new eo(t.l,t.a,t.b,t.opacity);if(t instanceof ei)return gM(t);t instanceof ge||(t=Ml(t));var e=L2(t.r),n=L2(t.g),r=L2(t.b),o=N2((.2225045*e+.7168786*n+.0606169*r)/lM),i,s;return e===n&&n===r?i=s=o:(i=N2((.4360747*e+.3850649*n+.1430804*r)/uM),s=N2((.0139322*e+.0971045*n+.7141733*r)/pM)),new eo(116*o-16,500*(i-o),200*(o-s),t.opacity)}function Pc(t,e,n,r){return arguments.length===1?mM(t):new eo(t,e,n,r??1)}function eo(t,e,n,r){this.l=+t,this.a=+e,this.b=+n,this.opacity=+r}ti(eo,Pc,Vi(to,{brighter(t){return new eo(this.l+x0*(t??1),this.a,this.b,this.opacity)},darker(t){return new eo(this.l-x0*(t??1),this.a,this.b,this.opacity)},rgb(){var t=(this.l+16)/116,e=isNaN(this.a)?t:t+this.a/500,n=isNaN(this.b)?t:t-this.b/200;return e=uM*k2(e),t=lM*k2(t),n=pM*k2(n),new ge(R2(3.1338561*e-1.6168667*t-.4906146*n),R2(-.9787684*e+1.9161415*t+.033454*n),R2(.0719453*e-.2289914*t+1.4052427*n),this.opacity)}}));function N2(t){return t>TL?Math.pow(t,1/3):t/dM+hM}function k2(t){return t>Fc?t*t*t:dM*(t-hM)}function R2(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function L2(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function IL(t){if(t instanceof ei)return new ei(t.h,t.c,t.l,t.opacity);if(t instanceof eo||(t=mM(t)),t.a===0&&t.b===0)return new ei(NaN,0<t.l&&t.l<100?0:NaN,t.l,t.opacity);var e=Math.atan2(t.b,t.a)*y0;return new ei(e<0?e+360:e,Math.sqrt(t.a*t.a+t.b*t.b),t.l,t.opacity)}function Al(t,e,n,r){return arguments.length===1?IL(t):new ei(t,e,n,r??1)}function ei(t,e,n,r){this.h=+t,this.c=+e,this.l=+n,this.opacity=+r}function gM(t){if(isNaN(t.h))return new eo(t.l,0,0,t.opacity);var e=t.h*g0;return new eo(t.l,Math.cos(e)*t.c,Math.sin(e)*t.c,t.opacity)}ti(ei,Al,Vi(to,{brighter(t){return new ei(this.h,this.c,this.l+x0*(t??1),this.opacity)},darker(t){return new ei(this.h,this.c,this.l-x0*(t??1),this.opacity)},rgb(){return gM(this).rgb()}}));var wM=-.14861,O2=1.78277,$2=-.29227,b0=-.90649,El=1.97294,yM=El*b0,xM=El*O2,bM=O2*$2-b0*wM;function CL(t){if(t instanceof ua)return new ua(t.h,t.s,t.l,t.opacity);t instanceof ge||(t=Ml(t));var e=t.r/255,n=t.g/255,r=t.b/255,o=(bM*r+yM*e-xM*n)/(bM+yM-xM),i=r-o,s=(El*(n-o)-$2*i)/b0,a=Math.sqrt(s*s+i*i)/(El*o*(1-o)),c=a?Math.atan2(s,i)*y0-120:NaN;return new ua(c<0?c+360:c,a,o,t.opacity)}function Sn(t,e,n,r){return arguments.length===1?CL(t):new ua(t,e,n,r??1)}function ua(t,e,n,r){this.h=+t,this.s=+e,this.l=+n,this.opacity=+r}ti(ua,Sn,Vi(to,{brighter(t){return t=t==null?fa:Math.pow(fa,t),new ua(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=t==null?Hi:Math.pow(Hi,t),new ua(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=isNaN(this.h)?0:(this.h+120)*g0,e=+this.l,n=isNaN(this.s)?0:this.s*e*(1-e),r=Math.cos(t),o=Math.sin(t);return new ge(255*(e+n*(wM*r+O2*o)),255*(e+n*($2*r+b0*o)),255*(e+n*(El*r)),this.opacity)}}));function D2(t,e,n,r,o){var i=t*t,s=i*t;return((1-3*t+3*i-s)*e+(4-6*i+3*s)*n+(1+3*t+3*i-3*s)*r+s*o)/6}function vM(t){var e=t.length-1;return function(n){var r=n<=0?n=0:n>=1?(n=1,e-1):Math.floor(n*e),o=t[r],i=t[r+1],s=r>0?t[r-1]:2*o-i,a=r<e-1?t[r+2]:2*i-o;return D2((n-r/e)*e,s,o,i,a)}}function _M(t){var e=t.length;return function(n){var r=Math.floor(((n%=1)<0?++n:n)*e),o=t[(r+e-1)%e],i=t[r%e],s=t[(r+1)%e],a=t[(r+2)%e];return D2((n-r/e)*e,o,i,s,a)}}var qc=t=>()=>t;function MM(t,e){return function(n){return t+n*e}}function NL(t,e,n){return t=Math.pow(t,n),e=Math.pow(e,n)-t,n=1/n,function(r){return Math.pow(t+r*e,n)}}function Bc(t,e){var n=e-t;return n?MM(t,n>180||n<-180?n-360*Math.round(n/360):n):qc(isNaN(t)?e:t)}function SM(t){return(t=+t)==1?Kt:function(e,n){return n-e?NL(e,n,t):qc(isNaN(e)?n:e)}}function Kt(t,e){var n=e-t;return n?MM(t,n):qc(isNaN(t)?e:t)}var ur=function t(e){var n=SM(e);function r(o,i){var s=n((o=Te(o)).r,(i=Te(i)).r),a=n(o.g,i.g),c=n(o.b,i.b),f=Kt(o.opacity,i.opacity);return function(u){return o.r=s(u),o.g=a(u),o.b=c(u),o.opacity=f(u),o+""}}return r.gamma=t,r}(1);function AM(t){return function(e){var n=e.length,r=new Array(n),o=new Array(n),i=new Array(n),s,a;for(s=0;s<n;++s)a=Te(e[s]),r[s]=a.r||0,o[s]=a.g||0,i[s]=a.b||0;return r=t(r),o=t(o),i=t(i),a.opacity=1,function(c){return a.r=r(c),a.g=o(c),a.b=i(c),a+""}}}var F2=AM(vM),kL=AM(_M);function EM(t,e){e||(e=[]);var n=t?Math.min(e.length,t.length):0,r=e.slice(),o;return function(i){for(o=0;o<n;++o)r[o]=t[o]*(1-i)+e[o]*i;return r}}function TM(t){return ArrayBuffer.isView(t)&&!(t instanceof DataView)}function IM(t,e){var n=e?e.length:0,r=t?Math.min(n,t.length):0,o=new Array(r),i=new Array(n),s;for(s=0;s<r;++s)o[s]=Wn(t[s],e[s]);for(;s<n;++s)i[s]=e[s];return function(a){for(s=0;s<r;++s)i[s]=o[s](a);return i}}function CM(t,e){var n=new Date;return t=+t,e=+e,function(r){return n.setTime(t*(1-r)+e*r),n}}function Qt(t,e){return t=+t,e=+e,function(n){return t*(1-n)+e*n}}function NM(t,e){var n={},r={},o;(t===null||typeof t!="object")&&(t={}),(e===null||typeof e!="object")&&(e={});for(o in e)o in t?n[o]=Wn(t[o],e[o]):r[o]=e[o];return function(i){for(o in n)r[o]=n[o](i);return r}}var q2=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,P2=new RegExp(q2.source,"g");function RL(t){return function(){return t}}function LL(t){return function(e){return t(e)+""}}function Tl(t,e){var n=q2.lastIndex=P2.lastIndex=0,r,o,i,s=-1,a=[],c=[];for(t=t+"",e=e+"";(r=q2.exec(t))&&(o=P2.exec(e));)(i=o.index)>n&&(i=e.slice(n,i),a[s]?a[s]+=i:a[++s]=i),(r=r[0])===(o=o[0])?a[s]?a[s]+=o:a[++s]=o:(a[++s]=null,c.push({i:s,x:Qt(r,o)})),n=P2.lastIndex;return n<e.length&&(i=e.slice(n),a[s]?a[s]+=i:a[++s]=i),a.length<2?c[0]?LL(c[0].x):RL(e):(e=c.length,function(f){for(var u=0,p;u<e;++u)a[(p=c[u]).i]=p.x(f);return a.join("")})}function Wn(t,e){var n=typeof e,r;return e==null||n==="boolean"?qc(e):(n==="number"?Qt:n==="string"?(r=Xn(e))?(e=r,ur):Tl:e instanceof Xn?ur:e instanceof Date?CM:TM(e)?EM:Array.isArray(e)?IM:typeof e.valueOf!="function"&&typeof e.toString!="function"||isNaN(e)?NM:Qt)(t,e)}function la(t,e){return t=+t,e=+e,function(n){return Math.round(t*(1-n)+e*n)}}var kM=180/Math.PI,w0={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function B2(t,e,n,r,o,i){var s,a,c;return(s=Math.sqrt(t*t+e*e))&&(t/=s,e/=s),(c=t*n+e*r)&&(n-=t*c,r-=e*c),(a=Math.sqrt(n*n+r*r))&&(n/=a,r/=a,c/=a),t*r<e*n&&(t=-t,e=-e,c=-c,s=-s),{translateX:o,translateY:i,rotate:Math.atan2(e,t)*kM,skewX:Math.atan(c)*kM,scaleX:s,scaleY:a}}var v0;function RM(t){let e=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(t+"");return e.isIdentity?w0:B2(e.a,e.b,e.c,e.d,e.e,e.f)}function LM(t){return t==null?w0:(v0||(v0=document.createElementNS("http://www.w3.org/2000/svg","g")),v0.setAttribute("transform",t),(t=v0.transform.baseVal.consolidate())?(t=t.matrix,B2(t.a,t.b,t.c,t.d,t.e,t.f)):w0)}function OM(t,e,n,r){function o(f){return f.length?f.pop()+" ":""}function i(f,u,p,l,h,d){if(f!==p||u!==l){var m=h.push("translate(",null,e,null,n);d.push({i:m-4,x:Qt(f,p)},{i:m-2,x:Qt(u,l)})}else(p||l)&&h.push("translate("+p+e+l+n)}function s(f,u,p,l){f!==u?(f-u>180?u+=360:u-f>180&&(f+=360),l.push({i:p.push(o(p)+"rotate(",null,r)-2,x:Qt(f,u)})):u&&p.push(o(p)+"rotate("+u+r)}function a(f,u,p,l){f!==u?l.push({i:p.push(o(p)+"skewX(",null,r)-2,x:Qt(f,u)}):u&&p.push(o(p)+"skewX("+u+r)}function c(f,u,p,l,h,d){if(f!==p||u!==l){var m=h.push(o(h)+"scale(",null,",",null,")");d.push({i:m-4,x:Qt(f,p)},{i:m-2,x:Qt(u,l)})}else(p!==1||l!==1)&&h.push(o(h)+"scale("+p+","+l+")")}return function(f,u){var p=[],l=[];return f=t(f),u=t(u),i(f.translateX,f.translateY,u.translateX,u.translateY,p,l),s(f.rotate,u.rotate,p,l),a(f.skewX,u.skewX,p,l),c(f.scaleX,f.scaleY,u.scaleX,u.scaleY,p,l),f=u=null,function(h){for(var d=-1,m=l.length,g;++d<m;)p[(g=l[d]).i]=g.x(h);return p.join("")}}}var z2=OM(RM,"px, ","px)","deg)"),Y2=OM(LM,", ",")",")");var OL=1e-12;function $M(t){return((t=Math.exp(t))+1/t)/2}function $L(t){return((t=Math.exp(t))-1/t)/2}function DL(t){return((t=Math.exp(2*t))-1)/(t+1)}var U2=function t(e,n,r){function o(i,s){var a=i[0],c=i[1],f=i[2],u=s[0],p=s[1],l=s[2],h=u-a,d=p-c,m=h*h+d*d,g,y;if(m<OL)y=Math.log(l/f)/e,g=function(M){return[a+M*h,c+M*d,f*Math.exp(e*M*y)]};else{var x=Math.sqrt(m),b=(l*l-f*f+r*m)/(2*f*n*x),w=(l*l-f*f-r*m)/(2*l*n*x),_=Math.log(Math.sqrt(b*b+1)-b),v=Math.log(Math.sqrt(w*w+1)-w);y=(v-_)/e,g=function(M){var E=M*y,T=$M(_),I=f/(n*x)*(T*DL(e*E+_)-$L(_));return[a+I*h,c+I*d,f*T/$M(e*E+_)]}}return g.duration=y*1e3*e/Math.SQRT2,g}return o.rho=function(i){var s=Math.max(.001,+i),a=s*s,c=a*a;return t(s,a,c)},o}(Math.SQRT2,2,4);function DM(t){return function(e,n){var r=t((e=Sl(e)).h,(n=Sl(n)).h),o=Kt(e.s,n.s),i=Kt(e.l,n.l),s=Kt(e.opacity,n.opacity);return function(a){return e.h=r(a),e.s=o(a),e.l=i(a),e.opacity=s(a),e+""}}}var j2=DM(Bc),FL=DM(Kt);function _0(t,e){var n=Kt((t=Pc(t)).l,(e=Pc(e)).l),r=Kt(t.a,e.a),o=Kt(t.b,e.b),i=Kt(t.opacity,e.opacity);return function(s){return t.l=n(s),t.a=r(s),t.b=o(s),t.opacity=i(s),t+""}}function FM(t){return function(e,n){var r=t((e=Al(e)).h,(n=Al(n)).h),o=Kt(e.c,n.c),i=Kt(e.l,n.l),s=Kt(e.opacity,n.opacity);return function(a){return e.h=r(a),e.c=o(a),e.l=i(a),e.opacity=s(a),e+""}}}var X2=FM(Bc),PL=FM(Kt);function PM(t){return function e(n){n=+n;function r(o,i){var s=t((o=Sn(o)).h,(i=Sn(i)).h),a=Kt(o.s,i.s),c=Kt(o.l,i.l),f=Kt(o.opacity,i.opacity);return function(u){return o.h=s(u),o.s=a(u),o.l=c(Math.pow(u,n)),o.opacity=f(u),o+""}}return r.gamma=e,r}(1)}var qL=PM(Bc),zc=PM(Kt);function no(t,e){e===void 0&&(e=t,t=Wn);for(var n=0,r=e.length-1,o=e[0],i=new Array(r<0?0:r);n<r;)i[n]=t(o,o=e[++n]);return function(s){var a=Math.max(0,Math.min(r-1,Math.floor(s*=r)));return i[a](s-a)}}function an(t,e){for(var n=new Array(e),r=0;r<e;++r)n[r]=t(r/(e-1));return n}var Yc=0,Cl=0,Il=0,BM=1e3,M0,Nl,S0=0,pa=0,A0=0,kl=typeof performance=="object"&&performance.now?performance:Date,zM=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};function Ll(){return pa||(zM(BL),pa=kl.now()+A0)}function BL(){pa=0}function Rl(){this._call=this._time=this._next=null}Rl.prototype=E0.prototype={constructor:Rl,restart:function(t,e,n){if(typeof t!="function")throw new TypeError("callback is not a function");n=(n==null?Ll():+n)+(e==null?0:+e),!this._next&&Nl!==this&&(Nl?Nl._next=this:M0=this,Nl=this),this._call=t,this._time=n,W2()},stop:function(){this._call&&(this._call=null,this._time=1/0,W2())}};function E0(t,e,n){var r=new Rl;return r.restart(t,e,n),r}function YM(){Ll(),++Yc;for(var t=M0,e;t;)(e=pa-t._time)>=0&&t._call.call(void 0,e),t=t._next;--Yc}function qM(){pa=(S0=kl.now())+A0,Yc=Cl=0;try{YM()}finally{Yc=0,YL(),pa=0}}function zL(){var t=kl.now(),e=t-S0;e>BM&&(A0-=e,S0=t)}function YL(){for(var t,e=M0,n,r=1/0;e;)e._call?(r>e._time&&(r=e._time),t=e,e=e._next):(n=e._next,e._next=null,e=t?t._next=n:M0=n);Nl=t,W2(r)}function W2(t){if(!Yc){Cl&&(Cl=clearTimeout(Cl));var e=t-pa;e>24?(t<1/0&&(Cl=setTimeout(qM,t-kl.now()-A0)),Il&&(Il=clearInterval(Il))):(Il||(S0=kl.now(),Il=setInterval(zL,BM)),Yc=1,zM(qM))}}function T0(t,e,n){var r=new Rl;return e=e==null?0:+e,r.restart(o=>{r.stop(),t(o+e)},e,n),r}var UL=ia("start","end","cancel","interrupt"),jL=[],XM=0,UM=1,C0=2,I0=3,jM=4,N0=5,Ol=6;function Qi(t,e,n,r,o,i){var s=t.__transition;if(!s)t.__transition={};else if(n in s)return;XL(t,n,{name:e,index:r,group:o,on:UL,tween:jL,time:i.time,delay:i.delay,duration:i.duration,ease:i.ease,timer:null,state:XM})}function $l(t,e){var n=Ie(t,e);if(n.state>XM)throw new Error("too late; already scheduled");return n}function Qe(t,e){var n=Ie(t,e);if(n.state>I0)throw new Error("too late; already running");return n}function Ie(t,e){var n=t.__transition;if(!n||!(n=n[e]))throw new Error("transition not found");return n}function XL(t,e,n){var r=t.__transition,o;r[e]=n,n.timer=E0(i,0,n.time);function i(f){n.state=UM,n.timer.restart(s,n.delay,n.time),n.delay<=f&&s(f-n.delay)}function s(f){var u,p,l,h;if(n.state!==UM)return c();for(u in r)if(h=r[u],h.name===n.name){if(h.state===I0)return T0(s);h.state===jM?(h.state=Ol,h.timer.stop(),h.on.call("interrupt",t,t.__data__,h.index,h.group),delete r[u]):+u<e&&(h.state=Ol,h.timer.stop(),h.on.call("cancel",t,t.__data__,h.index,h.group),delete r[u])}if(T0(function(){n.state===I0&&(n.state=jM,n.timer.restart(a,n.delay,n.time),a(f))}),n.state=C0,n.on.call("start",t,t.__data__,n.index,n.group),n.state===C0){for(n.state=I0,o=new Array(l=n.tween.length),u=0,p=-1;u<l;++u)(h=n.tween[u].value.call(t,t.__data__,n.index,n.group))&&(o[++p]=h);o.length=p+1}}function a(f){for(var u=f<n.duration?n.ease.call(null,f/n.duration):(n.timer.restart(c),n.state=N0,1),p=-1,l=o.length;++p<l;)o[p].call(t,u);n.state===N0&&(n.on.call("end",t,t.__data__,n.index,n.group),c())}function c(){n.state=Ol,n.timer.stop(),delete r[e];for(var f in r)return;delete t.__transition}}function ro(t,e){var n=t.__transition,r,o,i=!0,s;if(n){e=e==null?null:e+"";for(s in n){if((r=n[s]).name!==e){i=!1;continue}o=r.state>C0&&r.state<N0,r.state=Ol,r.timer.stop(),r.on.call(o?"interrupt":"cancel",t,t.__data__,r.index,r.group),delete n[s]}i&&delete t.__transition}}function WM(t){return this.each(function(){ro(this,t)})}function WL(t,e){var n,r;return function(){var o=Qe(this,t),i=o.tween;if(i!==n){r=n=i;for(var s=0,a=r.length;s<a;++s)if(r[s].name===e){r=r.slice(),r.splice(s,1);break}}o.tween=r}}function GL(t,e,n){var r,o;if(typeof n!="function")throw new Error;return function(){var i=Qe(this,t),s=i.tween;if(s!==r){o=(r=s).slice();for(var a={name:e,value:n},c=0,f=o.length;c<f;++c)if(o[c].name===e){o[c]=a;break}c===f&&o.push(a)}i.tween=o}}function GM(t,e){var n=this._id;if(t+="",arguments.length<2){for(var r=Ie(this.node(),n).tween,o=0,i=r.length,s;o<i;++o)if((s=r[o]).name===t)return s.value;return null}return this.each((e==null?WL:GL)(n,t,e))}function Uc(t,e,n){var r=t._id;return t.each(function(){var o=Qe(this,r);(o.value||(o.value={}))[e]=n.apply(this,arguments)}),function(o){return Ie(o,r).value[e]}}function k0(t,e){var n;return(typeof e=="number"?Qt:e instanceof Xn?ur:(n=Xn(e))?(e=n,ur):Tl)(t,e)}function VL(t){return function(){this.removeAttribute(t)}}function HL(t){return function(){this.removeAttributeNS(t.space,t.local)}}function QL(t,e,n){var r,o=n+"",i;return function(){var s=this.getAttribute(t);return s===o?null:s===r?i:i=e(r=s,n)}}function ZL(t,e,n){var r,o=n+"",i;return function(){var s=this.getAttributeNS(t.space,t.local);return s===o?null:s===r?i:i=e(r=s,n)}}function KL(t,e,n){var r,o,i;return function(){var s,a=n(this),c;return a==null?void this.removeAttribute(t):(s=this.getAttribute(t),c=a+"",s===c?null:s===r&&c===o?i:(o=c,i=e(r=s,a)))}}function JL(t,e,n){var r,o,i;return function(){var s,a=n(this),c;return a==null?void this.removeAttributeNS(t.space,t.local):(s=this.getAttributeNS(t.space,t.local),c=a+"",s===c?null:s===r&&c===o?i:(o=c,i=e(r=s,a)))}}function VM(t,e){var n=Zo(t),r=n==="transform"?Y2:k0;return this.attrTween(t,typeof e=="function"?(n.local?JL:KL)(n,r,Uc(this,"attr."+t,e)):e==null?(n.local?HL:VL)(n):(n.local?ZL:QL)(n,r,e))}function tO(t,e){return function(n){this.setAttribute(t,e.call(this,n))}}function eO(t,e){return function(n){this.setAttributeNS(t.space,t.local,e.call(this,n))}}function nO(t,e){var n,r;function o(){var i=e.apply(this,arguments);return i!==r&&(n=(r=i)&&eO(t,i)),n}return o._value=e,o}function rO(t,e){var n,r;function o(){var i=e.apply(this,arguments);return i!==r&&(n=(r=i)&&tO(t,i)),n}return o._value=e,o}function HM(t,e){var n="attr."+t;if(arguments.length<2)return(n=this.tween(n))&&n._value;if(e==null)return this.tween(n,null);if(typeof e!="function")throw new Error;var r=Zo(t);return this.tween(n,(r.local?nO:rO)(r,e))}function oO(t,e){return function(){$l(this,t).delay=+e.apply(this,arguments)}}function iO(t,e){return e=+e,function(){$l(this,t).delay=e}}function QM(t){var e=this._id;return arguments.length?this.each((typeof t=="function"?oO:iO)(e,t)):Ie(this.node(),e).delay}function sO(t,e){return function(){Qe(this,t).duration=+e.apply(this,arguments)}}function aO(t,e){return e=+e,function(){Qe(this,t).duration=e}}function ZM(t){var e=this._id;return arguments.length?this.each((typeof t=="function"?sO:aO)(e,t)):Ie(this.node(),e).duration}function cO(t,e){if(typeof e!="function")throw new Error;return function(){Qe(this,t).ease=e}}function KM(t){var e=this._id;return arguments.length?this.each(cO(e,t)):Ie(this.node(),e).ease}function fO(t,e){return function(){var n=e.apply(this,arguments);if(typeof n!="function")throw new Error;Qe(this,t).ease=n}}function JM(t){if(typeof t!="function")throw new Error;return this.each(fO(this._id,t))}function t8(t){typeof t!="function"&&(t=xl(t));for(var e=this._groups,n=e.length,r=new Array(n),o=0;o<n;++o)for(var i=e[o],s=i.length,a=r[o]=[],c,f=0;f<s;++f)(c=i[f])&&t.call(c,c.__data__,f,i)&&a.push(c);return new An(r,this._parents,this._name,this._id)}function e8(t){if(t._id!==this._id)throw new Error;for(var e=this._groups,n=t._groups,r=e.length,o=n.length,i=Math.min(r,o),s=new Array(r),a=0;a<i;++a)for(var c=e[a],f=n[a],u=c.length,p=s[a]=new Array(u),l,h=0;h<u;++h)(l=c[h]||f[h])&&(p[h]=l);for(;a<r;++a)s[a]=e[a];return new An(s,this._parents,this._name,this._id)}function uO(t){return(t+"").trim().split(/^|\s+/).every(function(e){var n=e.indexOf(".");return n>=0&&(e=e.slice(0,n)),!e||e==="start"})}function lO(t,e,n){var r,o,i=uO(e)?$l:Qe;return function(){var s=i(this,t),a=s.on;a!==r&&(o=(r=a).copy()).on(e,n),s.on=o}}function n8(t,e){var n=this._id;return arguments.length<2?Ie(this.node(),n).on.on(t):this.each(lO(n,t,e))}function pO(t){return function(){var e=this.parentNode;for(var n in this.__transition)if(+n!==t)return;e&&e.removeChild(this)}}function r8(){return this.on("end.remove",pO(this._id))}function o8(t){var e=this._name,n=this._id;typeof t!="function"&&(t=sa(t));for(var r=this._groups,o=r.length,i=new Array(o),s=0;s<o;++s)for(var a=r[s],c=a.length,f=i[s]=new Array(c),u,p,l=0;l<c;++l)(u=a[l])&&(p=t.call(u,u.__data__,l,a))&&("__data__"in u&&(p.__data__=u.__data__),f[l]=p,Qi(f[l],e,n,l,f,Ie(u,n)));return new An(i,this._parents,e,n)}function i8(t){var e=this._name,n=this._id;typeof t!="function"&&(t=yl(t));for(var r=this._groups,o=r.length,i=[],s=[],a=0;a<o;++a)for(var c=r[a],f=c.length,u,p=0;p<f;++p)if(u=c[p]){for(var l=t.call(u,u.__data__,p,c),h,d=Ie(u,n),m=0,g=l.length;m<g;++m)(h=l[m])&&Qi(h,e,n,m,l,d);i.push(l),s.push(u)}return new An(i,s,e,n)}var hO=Jo.prototype.constructor;function s8(){return new hO(this._groups,this._parents)}function dO(t,e){var n,r,o;return function(){var i=Gi(this,t),s=(this.style.removeProperty(t),Gi(this,t));return i===s?null:i===n&&s===r?o:o=e(n=i,r=s)}}function a8(t){return function(){this.style.removeProperty(t)}}function mO(t,e,n){var r,o=n+"",i;return function(){var s=Gi(this,t);return s===o?null:s===r?i:i=e(r=s,n)}}function gO(t,e,n){var r,o,i;return function(){var s=Gi(this,t),a=n(this),c=a+"";return a==null&&(c=a=(this.style.removeProperty(t),Gi(this,t))),s===c?null:s===r&&c===o?i:(o=c,i=e(r=s,a))}}function yO(t,e){var n,r,o,i="style."+e,s="end."+i,a;return function(){var c=Qe(this,t),f=c.on,u=c.value[i]==null?a||(a=a8(e)):void 0;(f!==n||o!==u)&&(r=(n=f).copy()).on(s,o=u),c.on=r}}function c8(t,e,n){var r=(t+="")=="transform"?z2:k0;return e==null?this.styleTween(t,dO(t,r)).on("end.style."+t,a8(t)):typeof e=="function"?this.styleTween(t,gO(t,r,Uc(this,"style."+t,e))).each(yO(this._id,t)):this.styleTween(t,mO(t,r,e),n).on("end.style."+t,null)}function xO(t,e,n){return function(r){this.style.setProperty(t,e.call(this,r),n)}}function bO(t,e,n){var r,o;function i(){var s=e.apply(this,arguments);return s!==o&&(r=(o=s)&&xO(t,s,n)),r}return i._value=e,i}function f8(t,e,n){var r="style."+(t+="");if(arguments.length<2)return(r=this.tween(r))&&r._value;if(e==null)return this.tween(r,null);if(typeof e!="function")throw new Error;return this.tween(r,bO(t,e,n??""))}function wO(t){return function(){this.textContent=t}}function vO(t){return function(){var e=t(this);this.textContent=e??""}}function u8(t){return this.tween("text",typeof t=="function"?vO(Uc(this,"text",t)):wO(t==null?"":t+""))}function _O(t){return function(e){this.textContent=t.call(this,e)}}function MO(t){var e,n;function r(){var o=t.apply(this,arguments);return o!==n&&(e=(n=o)&&_O(o)),e}return r._value=t,r}function l8(t){var e="text";if(arguments.length<1)return(e=this.tween(e))&&e._value;if(t==null)return this.tween(e,null);if(typeof t!="function")throw new Error;return this.tween(e,MO(t))}function p8(){for(var t=this._name,e=this._id,n=R0(),r=this._groups,o=r.length,i=0;i<o;++i)for(var s=r[i],a=s.length,c,f=0;f<a;++f)if(c=s[f]){var u=Ie(c,e);Qi(c,t,n,f,s,{time:u.time+u.delay+u.duration,delay:0,duration:u.duration,ease:u.ease})}return new An(r,this._parents,t,n)}function h8(){var t,e,n=this,r=n._id,o=n.size();return new Promise(function(i,s){var a={value:s},c={value:function(){--o===0&&i()}};n.each(function(){var f=Qe(this,r),u=f.on;u!==t&&(e=(t=u).copy(),e._.cancel.push(a),e._.interrupt.push(a),e._.end.push(c)),f.on=e}),o===0&&i()})}var SO=0;function An(t,e,n,r){this._groups=t,this._parents=e,this._name=n,this._id=r}function d8(t){return Jo().transition(t)}function R0(){return++SO}var ni=Jo.prototype;An.prototype=d8.prototype={constructor:An,select:o8,selectAll:i8,selectChild:ni.selectChild,selectChildren:ni.selectChildren,filter:t8,merge:e8,selection:s8,transition:p8,call:ni.call,nodes:ni.nodes,node:ni.node,size:ni.size,empty:ni.empty,each:ni.each,on:n8,attr:VM,attrTween:HM,style:c8,styleTween:f8,text:u8,textTween:l8,remove:r8,tween:GM,delay:QM,duration:ZM,ease:KM,easeVarying:JM,end:h8,[Symbol.iterator]:ni[Symbol.iterator]};function L0(t){return((t*=2)<=1?t*t*t:(t-=2)*t*t+2)/2}var AO={time:null,delay:0,duration:250,ease:L0};function EO(t,e){for(var n;!(n=t.__transition)||!(n=n[e]);)if(!(t=t.parentNode))throw new Error(`transition ${e} not found`);return n}function m8(t){var e,n;t instanceof An?(e=t._id,t=t._name):(e=R0(),(n=AO).time=Ll(),t=t==null?null:t+"");for(var r=this._groups,o=r.length,i=0;i<o;++i)for(var s=r[i],a=s.length,c,f=0;f<a;++f)(c=s[f])&&Qi(c,t,e,f,s,n||EO(c,e));return new An(r,this._parents,t,e)}Jo.prototype.interrupt=WM;Jo.prototype.transition=m8;var O0=t=>()=>t;function G2(t,{sourceEvent:e,target:n,selection:r,mode:o,dispatch:i}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:e,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},selection:{value:r,enumerable:!0,configurable:!0},mode:{value:o,enumerable:!0,configurable:!0},_:{value:i}})}function g8(t){t.stopImmediatePropagation()}function $0(t){t.preventDefault(),t.stopImmediatePropagation()}var y8={name:"drag"},V2={name:"space"},jc={name:"handle"},Xc={name:"center"},{abs:x8,max:cn,min:fn}=Math;function b8(t){return[+t[0],+t[1]]}function Q2(t){return[b8(t[0]),b8(t[1])]}var D0={name:"x",handles:["w","e"].map(Dl),input:function(t,e){return t==null?null:[[+t[0],e[0][1]],[+t[1],e[1][1]]]},output:function(t){return t&&[t[0][0],t[1][0]]}},F0={name:"y",handles:["n","s"].map(Dl),input:function(t,e){return t==null?null:[[e[0][0],+t[0]],[e[1][0],+t[1]]]},output:function(t){return t&&[t[0][1],t[1][1]]}},TO={name:"xy",handles:["n","w","e","s","nw","ne","sw","se"].map(Dl),input:function(t){return t==null?null:Q2(t)},output:function(t){return t}},ri={overlay:"crosshair",selection:"move",n:"ns-resize",e:"ew-resize",s:"ns-resize",w:"ew-resize",nw:"nwse-resize",ne:"nesw-resize",se:"nwse-resize",sw:"nesw-resize"},w8={e:"w",w:"e",nw:"ne",ne:"nw",se:"sw",sw:"se"},v8={n:"s",s:"n",nw:"sw",ne:"se",se:"ne",sw:"nw"},IO={overlay:1,selection:1,n:null,e:1,s:null,w:-1,nw:-1,ne:1,se:1,sw:-1},CO={overlay:1,selection:1,n:-1,e:null,s:1,w:null,nw:-1,ne:-1,se:1,sw:1};function Dl(t){return{type:t}}function NO(t){return!t.ctrlKey&&!t.button}function kO(){var t=this.ownerSVGElement||this;return t.hasAttribute("viewBox")?(t=t.viewBox.baseVal,[[t.x,t.y],[t.x+t.width,t.y+t.height]]):[[0,0],[t.width.baseVal.value,t.height.baseVal.value]]}function RO(){return navigator.maxTouchPoints||"ontouchstart"in this}function H2(t){for(;!t.__brush;)if(!(t=t.parentNode))return;return t.__brush}function LO(t){return t[0][0]===t[1][0]||t[0][1]===t[1][1]}function Z2(){return tw(D0)}function K2(){return tw(F0)}function J2(){return tw(TO)}function tw(t){var e=kO,n=NO,r=RO,o=!0,i=ia("start","brush","end"),s=6,a;function c(g){var y=g.property("__brush",m).selectAll(".overlay").data([Dl("overlay")]);y.enter().append("rect").attr("class","overlay").attr("pointer-events","all").attr("cursor",ri.overlay).merge(y).each(function(){var b=H2(this).extent;Et(this).attr("x",b[0][0]).attr("y",b[0][1]).attr("width",b[1][0]-b[0][0]).attr("height",b[1][1]-b[0][1])}),g.selectAll(".selection").data([Dl("selection")]).enter().append("rect").attr("class","selection").attr("cursor",ri.selection).attr("fill","#777").attr("fill-opacity",.3).attr("stroke","#fff").attr("shape-rendering","crispEdges");var x=g.selectAll(".handle").data(t.handles,function(b){return b.type});x.exit().remove(),x.enter().append("rect").attr("class",function(b){return"handle handle--"+b.type}).attr("cursor",function(b){return ri[b.type]}),g.each(f).attr("fill","none").attr("pointer-events","all").on("mousedown.brush",l).filter(r).on("touchstart.brush",l).on("touchmove.brush",h).on("touchend.brush touchcancel.brush",d).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}c.move=function(g,y,x){g.tween?g.on("start.brush",function(b){u(this,arguments).beforestart().start(b)}).on("interrupt.brush end.brush",function(b){u(this,arguments).end(b)}).tween("brush",function(){var b=this,w=b.__brush,_=u(b,arguments),v=w.selection,M=t.input(typeof y=="function"?y.apply(this,arguments):y,w.extent),E=Wn(v,M);function T(I){w.selection=I===1&&M===null?null:E(I),f.call(b),_.brush()}return v!==null&&M!==null?T:T(1)}):g.each(function(){var b=this,w=arguments,_=b.__brush,v=t.input(typeof y=="function"?y.apply(b,w):y,_.extent),M=u(b,w).beforestart();ro(b),_.selection=v===null?null:v,f.call(b),M.start(x).brush(x).end(x)})},c.clear=function(g,y){c.move(g,null,y)};function f(){var g=Et(this),y=H2(this).selection;y?(g.selectAll(".selection").style("display",null).attr("x",y[0][0]).attr("y",y[0][1]).attr("width",y[1][0]-y[0][0]).attr("height",y[1][1]-y[0][1]),g.selectAll(".handle").style("display",null).attr("x",function(x){return x.type[x.type.length-1]==="e"?y[1][0]-s/2:y[0][0]-s/2}).attr("y",function(x){return x.type[0]==="s"?y[1][1]-s/2:y[0][1]-s/2}).attr("width",function(x){return x.type==="n"||x.type==="s"?y[1][0]-y[0][0]+s:s}).attr("height",function(x){return x.type==="e"||x.type==="w"?y[1][1]-y[0][1]+s:s})):g.selectAll(".selection,.handle").style("display","none").attr("x",null).attr("y",null).attr("width",null).attr("height",null)}function u(g,y,x){var b=g.__brush.emitter;return b&&(!x||!b.clean)?b:new p(g,y,x)}function p(g,y,x){this.that=g,this.args=y,this.state=g.__brush,this.active=0,this.clean=x}p.prototype={beforestart:function(){return++this.active===1&&(this.state.emitter=this,this.starting=!0),this},start:function(g,y){return this.starting?(this.starting=!1,this.emit("start",g,y)):this.emit("brush",g),this},brush:function(g,y){return this.emit("brush",g,y),this},end:function(g,y){return--this.active===0&&(delete this.state.emitter,this.emit("end",g,y)),this},emit:function(g,y,x){var b=Et(this.that).datum();i.call(g,this.that,new G2(g,{sourceEvent:y,target:c,selection:t.output(this.state.selection),mode:x,dispatch:i}),b)}};function l(g){if(a&&!g.touches||!n.apply(this,arguments))return;var y=this,x=g.target.__data__.type,b=(o&&g.metaKey?x="overlay":x)==="selection"?y8:o&&g.altKey?Xc:jc,w=t===F0?null:IO[x],_=t===D0?null:CO[x],v=H2(y),M=v.extent,E=v.selection,T=M[0][0],I,A,k=M[0][1],L,S,C=M[1][0],N,R,$=M[1][1],O,D,F=0,P=0,W,K=w&&_&&o&&g.shiftKey,tt,nt,U=Array.from(g.touches||[g],Q=>{let Bt=Q.identifier;return Q=sn(Q,y),Q.point0=Q.slice(),Q.identifier=Bt,Q});ro(y);var et=u(y,arguments,!0).beforestart();if(x==="overlay"){E&&(W=!0);let Q=[U[0],U[1]||U[0]];v.selection=E=[[I=t===F0?T:fn(Q[0][0],Q[1][0]),L=t===D0?k:fn(Q[0][1],Q[1][1])],[N=t===F0?C:cn(Q[0][0],Q[1][0]),O=t===D0?$:cn(Q[0][1],Q[1][1])]],U.length>1&&bt(g)}else I=E[0][0],L=E[0][1],N=E[1][0],O=E[1][1];A=I,S=L,R=N,D=O;var z=Et(y).attr("pointer-events","none"),G=z.selectAll(".overlay").attr("cursor",ri[x]);if(g.touches)et.moved=q,et.ended=st;else{var J=Et(g.view).on("mousemove.brush",q,!0).on("mouseup.brush",st,!0);o&&J.on("keydown.brush",Tt,!0).on("keyup.brush",Ct,!0),wl(g.view)}f.call(y),et.start(g,b.name);function q(Q){for(let Bt of Q.changedTouches||[Q])for(let zn of U)zn.identifier===Bt.identifier&&(zn.cur=sn(Bt,y));if(K&&!tt&&!nt&&U.length===1){let Bt=U[0];x8(Bt.cur[0]-Bt[0])>x8(Bt.cur[1]-Bt[1])?nt=!0:tt=!0}for(let Bt of U)Bt.cur&&(Bt[0]=Bt.cur[0],Bt[1]=Bt.cur[1]);W=!0,$0(Q),bt(Q)}function bt(Q){let Bt=U[0],zn=Bt.point0;var Yr;switch(F=Bt[0]-zn[0],P=Bt[1]-zn[1],b){case V2:case y8:{w&&(F=cn(T-I,fn(C-N,F)),A=I+F,R=N+F),_&&(P=cn(k-L,fn($-O,P)),S=L+P,D=O+P);break}case jc:{U[1]?(w&&(A=cn(T,fn(C,U[0][0])),R=cn(T,fn(C,U[1][0])),w=1),_&&(S=cn(k,fn($,U[0][1])),D=cn(k,fn($,U[1][1])),_=1)):(w<0?(F=cn(T-I,fn(C-I,F)),A=I+F,R=N):w>0&&(F=cn(T-N,fn(C-N,F)),A=I,R=N+F),_<0?(P=cn(k-L,fn($-L,P)),S=L+P,D=O):_>0&&(P=cn(k-O,fn($-O,P)),S=L,D=O+P));break}case Xc:{w&&(A=cn(T,fn(C,I-F*w)),R=cn(T,fn(C,N+F*w))),_&&(S=cn(k,fn($,L-P*_)),D=cn(k,fn($,O+P*_)));break}}R<A&&(w*=-1,Yr=I,I=N,N=Yr,Yr=A,A=R,R=Yr,x in w8&&G.attr("cursor",ri[x=w8[x]])),D<S&&(_*=-1,Yr=L,L=O,O=Yr,Yr=S,S=D,D=Yr,x in v8&&G.attr("cursor",ri[x=v8[x]])),v.selection&&(E=v.selection),tt&&(A=E[0][0],R=E[1][0]),nt&&(S=E[0][1],D=E[1][1]),(E[0][0]!==A||E[0][1]!==S||E[1][0]!==R||E[1][1]!==D)&&(v.selection=[[A,S],[R,D]],f.call(y),et.brush(Q,b.name))}function st(Q){if(g8(Q),Q.touches){if(Q.touches.length)return;a&&clearTimeout(a),a=setTimeout(function(){a=null},500)}else vl(Q.view,W),J.on("keydown.brush keyup.brush mousemove.brush mouseup.brush",null);z.attr("pointer-events","all"),G.attr("cursor",ri.overlay),v.selection&&(E=v.selection),LO(E)&&(v.selection=null,f.call(y)),et.end(Q,b.name)}function Tt(Q){switch(Q.keyCode){case 16:{K=w&&_;break}case 18:{b===jc&&(w&&(N=R-F*w,I=A+F*w),_&&(O=D-P*_,L=S+P*_),b=Xc,bt(Q));break}case 32:{(b===jc||b===Xc)&&(w<0?N=R-F:w>0&&(I=A-F),_<0?O=D-P:_>0&&(L=S-P),b=V2,G.attr("cursor",ri.selection),bt(Q));break}default:return}$0(Q)}function Ct(Q){switch(Q.keyCode){case 16:{K&&(tt=nt=K=!1,bt(Q));break}case 18:{b===Xc&&(w<0?N=R:w>0&&(I=A),_<0?O=D:_>0&&(L=S),b=jc,bt(Q));break}case 32:{b===V2&&(Q.altKey?(w&&(N=R-F*w,I=A+F*w),_&&(O=D-P*_,L=S+P*_),b=Xc):(w<0?N=R:w>0&&(I=A),_<0?O=D:_>0&&(L=S),b=jc),G.attr("cursor",ri[x]),bt(Q));break}default:return}$0(Q)}}function h(g){u(this,arguments).moved(g)}function d(g){u(this,arguments).ended(g)}function m(){var g=this.__brush||{selection:null};return g.extent=Q2(e.apply(this,arguments)),g.dim=t,g}return c.extent=function(g){return arguments.length?(e=typeof g=="function"?g:O0(Q2(g)),c):e},c.filter=function(g){return arguments.length?(n=typeof g=="function"?g:O0(!!g),c):n},c.touchable=function(g){return arguments.length?(r=typeof g=="function"?g:O0(!!g),c):r},c.handleSize=function(g){return arguments.length?(s=+g,c):s},c.keyModifiers=function(g){return arguments.length?(o=!!g,c):o},c.on=function(){var g=i.on.apply(i,arguments);return g===i?c:g},c}var ew=Math.PI,nw=2*ew,ha=1e-6,OO=nw-ha;function _8(t){this._+=t[0];for(let e=1,n=t.length;e<n;++e)this._+=arguments[e]+t[e]}function $O(t){let e=Math.floor(t);if(!(e>=0))throw new Error(`invalid digits: ${t}`);if(e>15)return _8;let n=10**e;return function(r){this._+=r[0];for(let o=1,i=r.length;o<i;++o)this._+=Math.round(arguments[o]*n)/n+r[o]}}var Zi=class{constructor(e){this._x0=this._y0=this._x1=this._y1=null,this._="",this._append=e==null?_8:$O(e)}moveTo(e,n){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+n}`}closePath(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._append`Z`)}lineTo(e,n){this._append`L${this._x1=+e},${this._y1=+n}`}quadraticCurveTo(e,n,r,o){this._append`Q${+e},${+n},${this._x1=+r},${this._y1=+o}`}bezierCurveTo(e,n,r,o,i,s){this._append`C${+e},${+n},${+r},${+o},${this._x1=+i},${this._y1=+s}`}arcTo(e,n,r,o,i){if(e=+e,n=+n,r=+r,o=+o,i=+i,i<0)throw new Error(`negative radius: ${i}`);let s=this._x1,a=this._y1,c=r-e,f=o-n,u=s-e,p=a-n,l=u*u+p*p;if(this._x1===null)this._append`M${this._x1=e},${this._y1=n}`;else if(l>ha)if(!(Math.abs(p*c-f*u)>ha)||!i)this._append`L${this._x1=e},${this._y1=n}`;else{let h=r-s,d=o-a,m=c*c+f*f,g=h*h+d*d,y=Math.sqrt(m),x=Math.sqrt(l),b=i*Math.tan((ew-Math.acos((m+l-g)/(2*y*x)))/2),w=b/x,_=b/y;Math.abs(w-1)>ha&&this._append`L${e+w*u},${n+w*p}`,this._append`A${i},${i},0,0,${+(p*h>u*d)},${this._x1=e+_*c},${this._y1=n+_*f}`}}arc(e,n,r,o,i,s){if(e=+e,n=+n,r=+r,s=!!s,r<0)throw new Error(`negative radius: ${r}`);let a=r*Math.cos(o),c=r*Math.sin(o),f=e+a,u=n+c,p=1^s,l=s?o-i:i-o;this._x1===null?this._append`M${f},${u}`:(Math.abs(this._x1-f)>ha||Math.abs(this._y1-u)>ha)&&this._append`L${f},${u}`,r&&(l<0&&(l=l%nw+nw),l>OO?this._append`A${r},${r},0,1,${p},${e-a},${n-c}A${r},${r},0,1,${p},${this._x1=f},${this._y1=u}`:l>ha&&this._append`A${r},${r},0,${+(l>=ew)},${p},${this._x1=e+r*Math.cos(i)},${this._y1=n+r*Math.sin(i)}`)}rect(e,n,r,o){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+n}h${r=+r}v${+o}h${-r}Z`}toString(){return this._}};function M8(){return new Zi}M8.prototype=Zi.prototype;function En(t=3){return new Zi(+t)}var DO=Array.prototype,P0=DO.slice;function S8(t,e){return t-e}function A8(t){for(var e=0,n=t.length,r=t[n-1][1]*t[0][0]-t[n-1][0]*t[0][1];++e<n;)r+=t[e-1][1]*t[e][0]-t[e-1][0]*t[e][1];return r}var oo=t=>()=>t;function E8(t,e){for(var n=-1,r=e.length,o;++n<r;)if(o=FO(t,e[n]))return o;return 0}function FO(t,e){for(var n=e[0],r=e[1],o=-1,i=0,s=t.length,a=s-1;i<s;a=i++){var c=t[i],f=c[0],u=c[1],p=t[a],l=p[0],h=p[1];if(PO(c,p,e))return 0;u>r!=h>r&&n<(l-f)*(r-u)/(h-u)+f&&(o=-o)}return o}function PO(t,e,n){var r;return qO(t,e,n)&&BO(t[r=+(t[0]===e[0])],n[r],e[r])}function qO(t,e,n){return(e[0]-t[0])*(n[1]-t[1])===(n[0]-t[0])*(e[1]-t[1])}function BO(t,e,n){return t<=e&&e<=n||n<=e&&e<=t}function T8(){}var oi=[[],[[[1,1.5],[.5,1]]],[[[1.5,1],[1,1.5]]],[[[1.5,1],[.5,1]]],[[[1,.5],[1.5,1]]],[[[1,1.5],[.5,1]],[[1,.5],[1.5,1]]],[[[1,.5],[1,1.5]]],[[[1,.5],[.5,1]]],[[[.5,1],[1,.5]]],[[[1,1.5],[1,.5]]],[[[.5,1],[1,.5]],[[1.5,1],[1,1.5]]],[[[1.5,1],[1,.5]]],[[[.5,1],[1.5,1]]],[[[1,1.5],[1.5,1]]],[[[.5,1],[1,1.5]]],[]];function Ki(){var t=1,e=1,n=Xi,r=c;function o(f){var u=n(f);if(Array.isArray(u))u=u.slice().sort(S8);else{let p=Ot(f,zO);for(u=He(...Lc(p[0],p[1],u),u);u[u.length-1]>=p[1];)u.pop();for(;u[1]<p[0];)u.shift()}return u.map(p=>i(f,p))}function i(f,u){let p=u==null?NaN:+u;if(isNaN(p))throw new Error(`invalid value: ${u}`);var l=[],h=[];return s(f,p,function(d){r(d,f,p),A8(d)>0?l.push([d]):h.push(d)}),h.forEach(function(d){for(var m=0,g=l.length,y;m<g;++m)if(E8((y=l[m])[0],d)!==-1){y.push(d);return}}),{type:"MultiPolygon",value:u,coordinates:l}}function s(f,u,p){var l=new Array,h=new Array,d,m,g,y,x,b;for(d=m=-1,y=da(f[0],u),oi[y<<1].forEach(w);++d<t-1;)g=y,y=da(f[d+1],u),oi[g|y<<1].forEach(w);for(oi[y<<0].forEach(w);++m<e-1;){for(d=-1,y=da(f[m*t+t],u),x=da(f[m*t],u),oi[y<<1|x<<2].forEach(w);++d<t-1;)g=y,y=da(f[m*t+t+d+1],u),b=x,x=da(f[m*t+d+1],u),oi[g|y<<1|x<<2|b<<3].forEach(w);oi[y|x<<3].forEach(w)}for(d=-1,x=f[m*t]>=u,oi[x<<2].forEach(w);++d<t-1;)b=x,x=da(f[m*t+d+1],u),oi[x<<2|b<<3].forEach(w);oi[x<<3].forEach(w);function w(_){var v=[_[0][0]+d,_[0][1]+m],M=[_[1][0]+d,_[1][1]+m],E=a(v),T=a(M),I,A;(I=h[E])?(A=l[T])?(delete h[I.end],delete l[A.start],I===A?(I.ring.push(M),p(I.ring)):l[I.start]=h[A.end]={start:I.start,end:A.end,ring:I.ring.concat(A.ring)}):(delete h[I.end],I.ring.push(M),h[I.end=T]=I):(I=l[T])?(A=h[E])?(delete l[I.start],delete h[A.end],I===A?(I.ring.push(M),p(I.ring)):l[A.start]=h[I.end]={start:A.start,end:I.end,ring:A.ring.concat(I.ring)}):(delete l[I.start],I.ring.unshift(v),l[I.start=E]=I):l[E]=h[T]={start:E,end:T,ring:[v,M]}}}function a(f){return f[0]*2+f[1]*(t+1)*4}function c(f,u,p){f.forEach(function(l){var h=l[0],d=l[1],m=h|0,g=d|0,y=rw(u[g*t+m]);h>0&&h<t&&m===h&&(l[0]=I8(h,rw(u[g*t+m-1]),y,p)),d>0&&d<e&&g===d&&(l[1]=I8(d,rw(u[(g-1)*t+m]),y,p))})}return o.contour=i,o.size=function(f){if(!arguments.length)return[t,e];var u=Math.floor(f[0]),p=Math.floor(f[1]);if(!(u>=0&&p>=0))throw new Error("invalid size");return t=u,e=p,o},o.thresholds=function(f){return arguments.length?(n=typeof f=="function"?f:Array.isArray(f)?oo(P0.call(f)):oo(f),o):n},o.smooth=function(f){return arguments.length?(r=f?c:T8,o):r===c},o}function zO(t){return isFinite(t)?t:NaN}function da(t,e){return t==null?!1:+t>=e}function rw(t){return t==null||isNaN(t=+t)?-1/0:t}function I8(t,e,n,r){let o=r-e,i=n-e,s=isFinite(o)||isFinite(i)?o/i:Math.sign(o)/Math.sign(i);return isNaN(s)?t:t+s-.5}function YO(t){return t[0]}function UO(t){return t[1]}function jO(){return 1}function ow(){var t=YO,e=UO,n=jO,r=960,o=500,i=20,s=2,a=i*3,c=r+a*2>>s,f=o+a*2>>s,u=oo(20);function p(x){var b=new Float32Array(c*f),w=Math.pow(2,-s),_=-1;for(let L of x){var v=(t(L,++_,x)+a)*w,M=(e(L,_,x)+a)*w,E=+n(L,_,x);if(E&&v>=0&&v<c&&M>=0&&M<f){var T=Math.floor(v),I=Math.floor(M),A=v-T-.5,k=M-I-.5;b[T+I*c]+=(1-A)*(1-k)*E,b[T+1+I*c]+=A*(1-k)*E,b[T+1+(I+1)*c]+=A*k*E,b[T+(I+1)*c]+=(1-A)*k*E}}return ll({data:b,width:c,height:f},i*w),b}function l(x){var b=p(x),w=u(b),_=Math.pow(2,2*s);return Array.isArray(w)||(w=He(Number.MIN_VALUE,Mt(b)/_,w)),Ki().size([c,f]).thresholds(w.map(v=>v*_))(b).map((v,M)=>(v.value=+w[M],h(v)))}l.contours=function(x){var b=p(x),w=Ki().size([c,f]),_=Math.pow(2,2*s),v=M=>{M=+M;var E=h(w.contour(b,M*_));return E.value=M,E};return Object.defineProperty(v,"max",{get:()=>Mt(b)/_}),v};function h(x){return x.coordinates.forEach(d),x}function d(x){x.forEach(m)}function m(x){x.forEach(g)}function g(x){x[0]=x[0]*Math.pow(2,s)-a,x[1]=x[1]*Math.pow(2,s)-a}function y(){return a=i*3,c=r+a*2>>s,f=o+a*2>>s,l}return l.x=function(x){return arguments.length?(t=typeof x=="function"?x:oo(+x),l):t},l.y=function(x){return arguments.length?(e=typeof x=="function"?x:oo(+x),l):e},l.weight=function(x){return arguments.length?(n=typeof x=="function"?x:oo(+x),l):n},l.size=function(x){if(!arguments.length)return[r,o];var b=+x[0],w=+x[1];if(!(b>=0&&w>=0))throw new Error("invalid size");return r=b,o=w,y()},l.cellSize=function(x){if(!arguments.length)return 1<<s;if(!((x=+x)>=1))throw new Error("invalid cell size");return s=Math.floor(Math.log(x)/Math.LN2),y()},l.thresholds=function(x){return arguments.length?(u=typeof x=="function"?x:Array.isArray(x)?oo(P0.call(x)):oo(x),l):u},l.bandwidth=function(x){if(!arguments.length)return Math.sqrt(i*(i+1));if(!((x=+x)>=0))throw new Error("invalid bandwidth");return i=(Math.sqrt(4*x*x+1)-1)/2,y()},l}var kt=11102230246251565e-32,ye=134217729,Fl=(3+8*kt)*kt;function ma(t,e,n,r,o){let i,s,a,c,f=e[0],u=r[0],p=0,l=0;u>f==u>-f?(i=f,f=e[++p]):(i=u,u=r[++l]);let h=0;if(p<t&&l<n)for(u>f==u>-f?(s=f+i,a=i-(s-f),f=e[++p]):(s=u+i,a=i-(s-u),u=r[++l]),i=s,a!==0&&(o[h++]=a);p<t&&l<n;)u>f==u>-f?(s=i+f,c=s-i,a=i-(s-c)+(f-c),f=e[++p]):(s=i+u,c=s-i,a=i-(s-c)+(u-c),u=r[++l]),i=s,a!==0&&(o[h++]=a);for(;p<t;)s=i+f,c=s-i,a=i-(s-c)+(f-c),f=e[++p],i=s,a!==0&&(o[h++]=a);for(;l<n;)s=i+u,c=s-i,a=i-(s-c)+(u-c),u=r[++l],i=s,a!==0&&(o[h++]=a);return(i!==0||h===0)&&(o[h++]=i),h}function Pl(t,e){let n=e[0];for(let r=1;r<t;r++)n+=e[r];return n}function Y(t){return new Float64Array(t)}var XO=(3+16*kt)*kt,WO=(2+12*kt)*kt,GO=(9+64*kt)*kt*kt,Wc=Y(4),C8=Y(8),N8=Y(12),k8=Y(16),Tn=Y(4);function VO(t,e,n,r,o,i,s){let a,c,f,u,p,l,h,d,m,g,y,x,b,w,_,v,M,E,T=t-o,I=n-o,A=e-i,k=r-i;w=T*k,l=ye*T,h=l-(l-T),d=T-h,l=ye*k,m=l-(l-k),g=k-m,_=d*g-(w-h*m-d*m-h*g),v=A*I,l=ye*A,h=l-(l-A),d=A-h,l=ye*I,m=l-(l-I),g=I-m,M=d*g-(v-h*m-d*m-h*g),y=_-M,p=_-y,Wc[0]=_-(y+p)+(p-M),x=w+y,p=x-w,b=w-(x-p)+(y-p),y=b-v,p=b-y,Wc[1]=b-(y+p)+(p-v),E=x+y,p=E-x,Wc[2]=x-(E-p)+(y-p),Wc[3]=E;let L=Pl(4,Wc),S=WO*s;if(L>=S||-L>=S||(p=t-T,a=t-(T+p)+(p-o),p=n-I,f=n-(I+p)+(p-o),p=e-A,c=e-(A+p)+(p-i),p=r-k,u=r-(k+p)+(p-i),a===0&&c===0&&f===0&&u===0)||(S=GO*s+Fl*Math.abs(L),L+=T*u+k*a-(A*f+I*c),L>=S||-L>=S))return L;w=a*k,l=ye*a,h=l-(l-a),d=a-h,l=ye*k,m=l-(l-k),g=k-m,_=d*g-(w-h*m-d*m-h*g),v=c*I,l=ye*c,h=l-(l-c),d=c-h,l=ye*I,m=l-(l-I),g=I-m,M=d*g-(v-h*m-d*m-h*g),y=_-M,p=_-y,Tn[0]=_-(y+p)+(p-M),x=w+y,p=x-w,b=w-(x-p)+(y-p),y=b-v,p=b-y,Tn[1]=b-(y+p)+(p-v),E=x+y,p=E-x,Tn[2]=x-(E-p)+(y-p),Tn[3]=E;let C=ma(4,Wc,4,Tn,C8);w=T*u,l=ye*T,h=l-(l-T),d=T-h,l=ye*u,m=l-(l-u),g=u-m,_=d*g-(w-h*m-d*m-h*g),v=A*f,l=ye*A,h=l-(l-A),d=A-h,l=ye*f,m=l-(l-f),g=f-m,M=d*g-(v-h*m-d*m-h*g),y=_-M,p=_-y,Tn[0]=_-(y+p)+(p-M),x=w+y,p=x-w,b=w-(x-p)+(y-p),y=b-v,p=b-y,Tn[1]=b-(y+p)+(p-v),E=x+y,p=E-x,Tn[2]=x-(E-p)+(y-p),Tn[3]=E;let N=ma(C,C8,4,Tn,N8);w=a*u,l=ye*a,h=l-(l-a),d=a-h,l=ye*u,m=l-(l-u),g=u-m,_=d*g-(w-h*m-d*m-h*g),v=c*f,l=ye*c,h=l-(l-c),d=c-h,l=ye*f,m=l-(l-f),g=f-m,M=d*g-(v-h*m-d*m-h*g),y=_-M,p=_-y,Tn[0]=_-(y+p)+(p-M),x=w+y,p=x-w,b=w-(x-p)+(y-p),y=b-v,p=b-y,Tn[1]=b-(y+p)+(p-v),E=x+y,p=E-x,Tn[2]=x-(E-p)+(y-p),Tn[3]=E;let R=ma(N,N8,4,Tn,k8);return k8[R-1]}function Gc(t,e,n,r,o,i){let s=(e-i)*(n-o),a=(t-o)*(r-i),c=s-a,f=Math.abs(s+a);return Math.abs(c)>=XO*f?c:-VO(t,e,n,r,o,i,f)}var Cht=(7+56*kt)*kt,Nht=(3+28*kt)*kt,kht=(26+288*kt)*kt*kt,Rht=Y(4),Lht=Y(4),Oht=Y(4),$ht=Y(4),Dht=Y(4),Fht=Y(4),Pht=Y(4),qht=Y(4),Bht=Y(4),zht=Y(8),Yht=Y(8),Uht=Y(8),jht=Y(4),Xht=Y(8),Wht=Y(8),Ght=Y(8),Vht=Y(12),Hht=Y(192),Qht=Y(192);var Jht=(10+96*kt)*kt,tdt=(4+48*kt)*kt,edt=(44+576*kt)*kt*kt,ndt=Y(4),rdt=Y(4),odt=Y(4),idt=Y(4),sdt=Y(4),adt=Y(4),cdt=Y(4),fdt=Y(4),udt=Y(8),ldt=Y(8),pdt=Y(8),hdt=Y(8),ddt=Y(8),mdt=Y(8),gdt=Y(8),ydt=Y(8),xdt=Y(8),bdt=Y(4),wdt=Y(4),vdt=Y(4),_dt=Y(8),Mdt=Y(16),Sdt=Y(16),Adt=Y(16),Edt=Y(32),Tdt=Y(32),Idt=Y(48),Cdt=Y(64),Ndt=Y(1152),kdt=Y(1152);var $dt=(16+224*kt)*kt,Ddt=(5+72*kt)*kt,Fdt=(71+1408*kt)*kt*kt,Pdt=Y(4),qdt=Y(4),Bdt=Y(4),zdt=Y(4),Ydt=Y(4),Udt=Y(4),jdt=Y(4),Xdt=Y(4),Wdt=Y(4),Gdt=Y(4),Vdt=Y(24),Hdt=Y(24),Qdt=Y(24),Zdt=Y(24),Kdt=Y(24),Jdt=Y(24),tmt=Y(24),emt=Y(24),nmt=Y(24),rmt=Y(24),omt=Y(1152),imt=Y(1152),smt=Y(1152),amt=Y(1152),cmt=Y(1152),fmt=Y(2304),umt=Y(2304),lmt=Y(3456),pmt=Y(5760),hmt=Y(8),dmt=Y(8),mmt=Y(8),gmt=Y(16),ymt=Y(24),xmt=Y(48),bmt=Y(48),wmt=Y(96),vmt=Y(192),_mt=Y(384),Mmt=Y(384),Smt=Y(384),Amt=Y(768);var Emt=Y(96),Tmt=Y(96),Imt=Y(96),Cmt=Y(1152);var L8=Math.pow(2,-52),q0=new Uint32Array(512),Hc=class t{static from(e,n=t$,r=e$){let o=e.length,i=new Float64Array(o*2);for(let s=0;s<o;s++){let a=e[s];i[2*s]=n(a),i[2*s+1]=r(a)}return new t(i)}constructor(e){let n=e.length>>1;if(n>0&&typeof e[0]!="number")throw new Error("Expected coords to contain numbers.");this.coords=e;let r=Math.max(2*n-5,0);this._triangles=new Uint32Array(r*3),this._halfedges=new Int32Array(r*3),this._hashSize=Math.ceil(Math.sqrt(n)),this._hullPrev=new Uint32Array(n),this._hullNext=new Uint32Array(n),this._hullTri=new Uint32Array(n),this._hullHash=new Int32Array(this._hashSize),this._ids=new Uint32Array(n),this._dists=new Float64Array(n),this.update()}update(){let{coords:e,_hullPrev:n,_hullNext:r,_hullTri:o,_hullHash:i}=this,s=e.length>>1,a=1/0,c=1/0,f=-1/0,u=-1/0;for(let T=0;T<s;T++){let I=e[2*T],A=e[2*T+1];I<a&&(a=I),A<c&&(c=A),I>f&&(f=I),A>u&&(u=A),this._ids[T]=T}let p=(a+f)/2,l=(c+u)/2,h,d,m;for(let T=0,I=1/0;T<s;T++){let A=iw(p,l,e[2*T],e[2*T+1]);A<I&&(h=T,I=A)}let g=e[2*h],y=e[2*h+1];for(let T=0,I=1/0;T<s;T++){if(T===h)continue;let A=iw(g,y,e[2*T],e[2*T+1]);A<I&&A>0&&(d=T,I=A)}let x=e[2*d],b=e[2*d+1],w=1/0;for(let T=0;T<s;T++){if(T===h||T===d)continue;let I=KO(g,y,x,b,e[2*T],e[2*T+1]);I<w&&(m=T,w=I)}let _=e[2*m],v=e[2*m+1];if(w===1/0){for(let A=0;A<s;A++)this._dists[A]=e[2*A]-e[0]||e[2*A+1]-e[1];Vc(this._ids,this._dists,0,s-1);let T=new Uint32Array(s),I=0;for(let A=0,k=-1/0;A<s;A++){let L=this._ids[A],S=this._dists[L];S>k&&(T[I++]=L,k=S)}this.hull=T.subarray(0,I),this.triangles=new Uint32Array(0),this.halfedges=new Uint32Array(0);return}if(Gc(g,y,x,b,_,v)<0){let T=d,I=x,A=b;d=m,x=_,b=v,m=T,_=I,v=A}let M=JO(g,y,x,b,_,v);this._cx=M.x,this._cy=M.y;for(let T=0;T<s;T++)this._dists[T]=iw(e[2*T],e[2*T+1],M.x,M.y);Vc(this._ids,this._dists,0,s-1),this._hullStart=h;let E=3;r[h]=n[m]=d,r[d]=n[h]=m,r[m]=n[d]=h,o[h]=0,o[d]=1,o[m]=2,i.fill(-1),i[this._hashKey(g,y)]=h,i[this._hashKey(x,b)]=d,i[this._hashKey(_,v)]=m,this.trianglesLen=0,this._addTriangle(h,d,m,-1,-1,-1);for(let T=0,I,A;T<this._ids.length;T++){let k=this._ids[T],L=e[2*k],S=e[2*k+1];if(T>0&&Math.abs(L-I)<=L8&&Math.abs(S-A)<=L8||(I=L,A=S,k===h||k===d||k===m))continue;let C=0;for(let D=0,F=this._hashKey(L,S);D<this._hashSize&&(C=i[(F+D)%this._hashSize],!(C!==-1&&C!==r[C]));D++);C=n[C];let N=C,R;for(;R=r[N],Gc(L,S,e[2*N],e[2*N+1],e[2*R],e[2*R+1])>=0;)if(N=R,N===C){N=-1;break}if(N===-1)continue;let $=this._addTriangle(N,k,r[N],-1,-1,o[N]);o[k]=this._legalize($+2),o[N]=$,E++;let O=r[N];for(;R=r[O],Gc(L,S,e[2*O],e[2*O+1],e[2*R],e[2*R+1])<0;)$=this._addTriangle(O,k,R,o[k],-1,o[O]),o[k]=this._legalize($+2),r[O]=O,E--,O=R;if(N===C)for(;R=n[N],Gc(L,S,e[2*R],e[2*R+1],e[2*N],e[2*N+1])<0;)$=this._addTriangle(R,k,N,-1,o[N],o[R]),this._legalize($+2),o[R]=$,r[N]=N,E--,N=R;this._hullStart=n[k]=N,r[N]=n[O]=k,r[k]=O,i[this._hashKey(L,S)]=k,i[this._hashKey(e[2*N],e[2*N+1])]=N}this.hull=new Uint32Array(E);for(let T=0,I=this._hullStart;T<E;T++)this.hull[T]=I,I=r[I];this.triangles=this._triangles.subarray(0,this.trianglesLen),this.halfedges=this._halfedges.subarray(0,this.trianglesLen)}_hashKey(e,n){return Math.floor(QO(e-this._cx,n-this._cy)*this._hashSize)%this._hashSize}_legalize(e){let{_triangles:n,_halfedges:r,coords:o}=this,i=0,s=0;for(;;){let a=r[e],c=e-e%3;if(s=c+(e+2)%3,a===-1){if(i===0)break;e=q0[--i];continue}let f=a-a%3,u=c+(e+1)%3,p=f+(a+2)%3,l=n[s],h=n[e],d=n[u],m=n[p];if(ZO(o[2*l],o[2*l+1],o[2*h],o[2*h+1],o[2*d],o[2*d+1],o[2*m],o[2*m+1])){n[e]=m,n[a]=l;let y=r[p];if(y===-1){let b=this._hullStart;do{if(this._hullTri[b]===p){this._hullTri[b]=e;break}b=this._hullPrev[b]}while(b!==this._hullStart)}this._link(e,y),this._link(a,r[s]),this._link(s,p);let x=f+(a+1)%3;i<q0.length&&(q0[i++]=x)}else{if(i===0)break;e=q0[--i]}}return s}_link(e,n){this._halfedges[e]=n,n!==-1&&(this._halfedges[n]=e)}_addTriangle(e,n,r,o,i,s){let a=this.trianglesLen;return this._triangles[a]=e,this._triangles[a+1]=n,this._triangles[a+2]=r,this._link(a,o),this._link(a+1,i),this._link(a+2,s),this.trianglesLen+=3,a}};function QO(t,e){let n=t/(Math.abs(t)+Math.abs(e));return(e>0?3-n:1+n)/4}function iw(t,e,n,r){let o=t-n,i=e-r;return o*o+i*i}function ZO(t,e,n,r,o,i,s,a){let c=t-s,f=e-a,u=n-s,p=r-a,l=o-s,h=i-a,d=c*c+f*f,m=u*u+p*p,g=l*l+h*h;return c*(p*g-m*h)-f*(u*g-m*l)+d*(u*h-p*l)<0}function KO(t,e,n,r,o,i){let s=n-t,a=r-e,c=o-t,f=i-e,u=s*s+a*a,p=c*c+f*f,l=.5/(s*f-a*c),h=(f*u-a*p)*l,d=(s*p-c*u)*l;return h*h+d*d}function JO(t,e,n,r,o,i){let s=n-t,a=r-e,c=o-t,f=i-e,u=s*s+a*a,p=c*c+f*f,l=.5/(s*f-a*c),h=t+(f*u-a*p)*l,d=e+(s*p-c*u)*l;return{x:h,y:d}}function Vc(t,e,n,r){if(r-n<=20)for(let o=n+1;o<=r;o++){let i=t[o],s=e[i],a=o-1;for(;a>=n&&e[t[a]]>s;)t[a+1]=t[a--];t[a+1]=i}else{let o=n+r>>1,i=n+1,s=r;ql(t,o,i),e[t[n]]>e[t[r]]&&ql(t,n,r),e[t[i]]>e[t[r]]&&ql(t,i,r),e[t[n]]>e[t[i]]&&ql(t,n,i);let a=t[i],c=e[a];for(;;){do i++;while(e[t[i]]<c);do s--;while(e[t[s]]>c);if(s<i)break;ql(t,i,s)}t[n+1]=t[s],t[s]=a,r-i+1>=s-n?(Vc(t,e,i,r),Vc(t,e,n,s-1)):(Vc(t,e,n,s-1),Vc(t,e,i,r))}}function ql(t,e,n){let r=t[e];t[e]=t[n],t[n]=r}function t$(t){return t[0]}function e$(t){return t[1]}var lr=class{constructor(){this._x0=this._y0=this._x1=this._y1=null,this._=""}moveTo(e,n){this._+=`M${this._x0=this._x1=+e},${this._y0=this._y1=+n}`}closePath(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")}lineTo(e,n){this._+=`L${this._x1=+e},${this._y1=+n}`}arc(e,n,r){e=+e,n=+n,r=+r;let o=e+r,i=n;if(r<0)throw new Error("negative radius");this._x1===null?this._+=`M${o},${i}`:(Math.abs(this._x1-o)>1e-6||Math.abs(this._y1-i)>1e-6)&&(this._+="L"+o+","+i),r&&(this._+=`A${r},${r},0,1,1,${e-r},${n}A${r},${r},0,1,1,${this._x1=o},${this._y1=i}`)}rect(e,n,r,o){this._+=`M${this._x0=this._x1=+e},${this._y0=this._y1=+n}h${+r}v${+o}h${-r}Z`}value(){return this._||null}};var Ji=class{constructor(){this._=[]}moveTo(e,n){this._.push([e,n])}closePath(){this._.push(this._[0].slice())}lineTo(e,n){this._.push([e,n])}value(){return this._.length?this._:null}};var Bl=class{constructor(e,[n,r,o,i]=[0,0,960,500]){if(!((o=+o)>=(n=+n))||!((i=+i)>=(r=+r)))throw new Error("invalid bounds");this.delaunay=e,this._circumcenters=new Float64Array(e.points.length*2),this.vectors=new Float64Array(e.points.length*2),this.xmax=o,this.xmin=n,this.ymax=i,this.ymin=r,this._init()}update(){return this.delaunay.update(),this._init(),this}_init(){let{delaunay:{points:e,hull:n,triangles:r},vectors:o}=this,i,s,a=this.circumcenters=this._circumcenters.subarray(0,r.length/3*2);for(let m=0,g=0,y=r.length,x,b;m<y;m+=3,g+=2){let w=r[m]*2,_=r[m+1]*2,v=r[m+2]*2,M=e[w],E=e[w+1],T=e[_],I=e[_+1],A=e[v],k=e[v+1],L=T-M,S=I-E,C=A-M,N=k-E,R=(L*N-S*C)*2;if(Math.abs(R)<1e-9){if(i===void 0){i=s=0;for(let O of n)i+=e[O*2],s+=e[O*2+1];i/=n.length,s/=n.length}let $=1e9*Math.sign((i-M)*N-(s-E)*C);x=(M+A)/2-$*N,b=(E+k)/2+$*C}else{let $=1/R,O=L*L+S*S,D=C*C+N*N;x=M+(N*O-S*D)*$,b=E+(L*D-C*O)*$}a[g]=x,a[g+1]=b}let c=n[n.length-1],f,u=c*4,p,l=e[2*c],h,d=e[2*c+1];o.fill(0);for(let m=0;m<n.length;++m)c=n[m],f=u,p=l,h=d,u=c*4,l=e[2*c],d=e[2*c+1],o[f+2]=o[u]=h-d,o[f+3]=o[u+1]=l-p}render(e){let n=e==null?e=new lr:void 0,{delaunay:{halfedges:r,inedges:o,hull:i},circumcenters:s,vectors:a}=this;if(i.length<=1)return null;for(let u=0,p=r.length;u<p;++u){let l=r[u];if(l<u)continue;let h=Math.floor(u/3)*2,d=Math.floor(l/3)*2,m=s[h],g=s[h+1],y=s[d],x=s[d+1];this._renderSegment(m,g,y,x,e)}let c,f=i[i.length-1];for(let u=0;u<i.length;++u){c=f,f=i[u];let p=Math.floor(o[f]/3)*2,l=s[p],h=s[p+1],d=c*4,m=this._project(l,h,a[d+2],a[d+3]);m&&this._renderSegment(l,h,m[0],m[1],e)}return n&&n.value()}renderBounds(e){let n=e==null?e=new lr:void 0;return e.rect(this.xmin,this.ymin,this.xmax-this.xmin,this.ymax-this.ymin),n&&n.value()}renderCell(e,n){let r=n==null?n=new lr:void 0,o=this._clip(e);if(o===null||!o.length)return;n.moveTo(o[0],o[1]);let i=o.length;for(;o[0]===o[i-2]&&o[1]===o[i-1]&&i>1;)i-=2;for(let s=2;s<i;s+=2)(o[s]!==o[s-2]||o[s+1]!==o[s-1])&&n.lineTo(o[s],o[s+1]);return n.closePath(),r&&r.value()}*cellPolygons(){let{delaunay:{points:e}}=this;for(let n=0,r=e.length/2;n<r;++n){let o=this.cellPolygon(n);o&&(o.index=n,yield o)}}cellPolygon(e){let n=new Ji;return this.renderCell(e,n),n.value()}_renderSegment(e,n,r,o,i){let s,a=this._regioncode(e,n),c=this._regioncode(r,o);a===0&&c===0?(i.moveTo(e,n),i.lineTo(r,o)):(s=this._clipSegment(e,n,r,o,a,c))&&(i.moveTo(s[0],s[1]),i.lineTo(s[2],s[3]))}contains(e,n,r){return n=+n,n!==n||(r=+r,r!==r)?!1:this.delaunay._step(e,n,r)===e}*neighbors(e){let n=this._clip(e);if(n)for(let r of this.delaunay.neighbors(e)){let o=this._clip(r);if(o){t:for(let i=0,s=n.length;i<s;i+=2)for(let a=0,c=o.length;a<c;a+=2)if(n[i]===o[a]&&n[i+1]===o[a+1]&&n[(i+2)%s]===o[(a+c-2)%c]&&n[(i+3)%s]===o[(a+c-1)%c]){yield r;break t}}}}_cell(e){let{circumcenters:n,delaunay:{inedges:r,halfedges:o,triangles:i}}=this,s=r[e];if(s===-1)return null;let a=[],c=s;do{let f=Math.floor(c/3);if(a.push(n[f*2],n[f*2+1]),c=c%3===2?c-2:c+1,i[c]!==e)break;c=o[c]}while(c!==s&&c!==-1);return a}_clip(e){if(e===0&&this.delaunay.hull.length===1)return[this.xmax,this.ymin,this.xmax,this.ymax,this.xmin,this.ymax,this.xmin,this.ymin];let n=this._cell(e);if(n===null)return null;let{vectors:r}=this,o=e*4;return this._simplify(r[o]||r[o+1]?this._clipInfinite(e,n,r[o],r[o+1],r[o+2],r[o+3]):this._clipFinite(e,n))}_clipFinite(e,n){let r=n.length,o=null,i,s,a=n[r-2],c=n[r-1],f,u=this._regioncode(a,c),p,l=0;for(let h=0;h<r;h+=2)if(i=a,s=c,a=n[h],c=n[h+1],f=u,u=this._regioncode(a,c),f===0&&u===0)p=l,l=0,o?o.push(a,c):o=[a,c];else{let d,m,g,y,x;if(f===0){if((d=this._clipSegment(i,s,a,c,f,u))===null)continue;[m,g,y,x]=d}else{if((d=this._clipSegment(a,c,i,s,u,f))===null)continue;[y,x,m,g]=d,p=l,l=this._edgecode(m,g),p&&l&&this._edge(e,p,l,o,o.length),o?o.push(m,g):o=[m,g]}p=l,l=this._edgecode(y,x),p&&l&&this._edge(e,p,l,o,o.length),o?o.push(y,x):o=[y,x]}if(o)p=l,l=this._edgecode(o[0],o[1]),p&&l&&this._edge(e,p,l,o,o.length);else if(this.contains(e,(this.xmin+this.xmax)/2,(this.ymin+this.ymax)/2))return[this.xmax,this.ymin,this.xmax,this.ymax,this.xmin,this.ymax,this.xmin,this.ymin];return o}_clipSegment(e,n,r,o,i,s){let a=i<s;for(a&&([e,n,r,o,i,s]=[r,o,e,n,s,i]);;){if(i===0&&s===0)return a?[r,o,e,n]:[e,n,r,o];if(i&s)return null;let c,f,u=i||s;u&8?(c=e+(r-e)*(this.ymax-n)/(o-n),f=this.ymax):u&4?(c=e+(r-e)*(this.ymin-n)/(o-n),f=this.ymin):u&2?(f=n+(o-n)*(this.xmax-e)/(r-e),c=this.xmax):(f=n+(o-n)*(this.xmin-e)/(r-e),c=this.xmin),i?(e=c,n=f,i=this._regioncode(e,n)):(r=c,o=f,s=this._regioncode(r,o))}}_clipInfinite(e,n,r,o,i,s){let a=Array.from(n),c;if((c=this._project(a[0],a[1],r,o))&&a.unshift(c[0],c[1]),(c=this._project(a[a.length-2],a[a.length-1],i,s))&&a.push(c[0],c[1]),a=this._clipFinite(e,a))for(let f=0,u=a.length,p,l=this._edgecode(a[u-2],a[u-1]);f<u;f+=2)p=l,l=this._edgecode(a[f],a[f+1]),p&&l&&(f=this._edge(e,p,l,a,f),u=a.length);else this.contains(e,(this.xmin+this.xmax)/2,(this.ymin+this.ymax)/2)&&(a=[this.xmin,this.ymin,this.xmax,this.ymin,this.xmax,this.ymax,this.xmin,this.ymax]);return a}_edge(e,n,r,o,i){for(;n!==r;){let s,a;switch(n){case 5:n=4;continue;case 4:n=6,s=this.xmax,a=this.ymin;break;case 6:n=2;continue;case 2:n=10,s=this.xmax,a=this.ymax;break;case 10:n=8;continue;case 8:n=9,s=this.xmin,a=this.ymax;break;case 9:n=1;continue;case 1:n=5,s=this.xmin,a=this.ymin;break}(o[i]!==s||o[i+1]!==a)&&this.contains(e,s,a)&&(o.splice(i,0,s,a),i+=2)}return i}_project(e,n,r,o){let i=1/0,s,a,c;if(o<0){if(n<=this.ymin)return null;(s=(this.ymin-n)/o)<i&&(c=this.ymin,a=e+(i=s)*r)}else if(o>0){if(n>=this.ymax)return null;(s=(this.ymax-n)/o)<i&&(c=this.ymax,a=e+(i=s)*r)}if(r>0){if(e>=this.xmax)return null;(s=(this.xmax-e)/r)<i&&(a=this.xmax,c=n+(i=s)*o)}else if(r<0){if(e<=this.xmin)return null;(s=(this.xmin-e)/r)<i&&(a=this.xmin,c=n+(i=s)*o)}return[a,c]}_edgecode(e,n){return(e===this.xmin?1:e===this.xmax?2:0)|(n===this.ymin?4:n===this.ymax?8:0)}_regioncode(e,n){return(e<this.xmin?1:e>this.xmax?2:0)|(n<this.ymin?4:n>this.ymax?8:0)}_simplify(e){if(e&&e.length>4){for(let n=0;n<e.length;n+=2){let r=(n+2)%e.length,o=(n+4)%e.length;(e[n]===e[r]&&e[r]===e[o]||e[n+1]===e[r+1]&&e[r+1]===e[o+1])&&(e.splice(r,2),n-=2)}e.length||(e=null)}return e}};var n$=2*Math.PI,Qc=Math.pow;function r$(t){return t[0]}function o$(t){return t[1]}function i$(t){let{triangles:e,coords:n}=t;for(let r=0;r<e.length;r+=3){let o=2*e[r],i=2*e[r+1],s=2*e[r+2];if((n[s]-n[o])*(n[i+1]-n[o+1])-(n[i]-n[o])*(n[s+1]-n[o+1])>1e-10)return!1}return!0}function s$(t,e,n){return[t+Math.sin(t+e)*n,e+Math.cos(t-e)*n]}var pr=class t{static from(e,n=r$,r=o$,o){return new t("length"in e?a$(e,n,r,o):Float64Array.from(c$(e,n,r,o)))}constructor(e){this._delaunator=new Hc(e),this.inedges=new Int32Array(e.length/2),this._hullIndex=new Int32Array(e.length/2),this.points=this._delaunator.coords,this._init()}update(){return this._delaunator.update(),this._init(),this}_init(){let e=this._delaunator,n=this.points;if(e.hull&&e.hull.length>2&&i$(e)){this.collinear=Int32Array.from({length:n.length/2},(l,h)=>h).sort((l,h)=>n[2*l]-n[2*h]||n[2*l+1]-n[2*h+1]);let c=this.collinear[0],f=this.collinear[this.collinear.length-1],u=[n[2*c],n[2*c+1],n[2*f],n[2*f+1]],p=1e-8*Math.hypot(u[3]-u[1],u[2]-u[0]);for(let l=0,h=n.length/2;l<h;++l){let d=s$(n[2*l],n[2*l+1],p);n[2*l]=d[0],n[2*l+1]=d[1]}this._delaunator=new Hc(n)}else delete this.collinear;let r=this.halfedges=this._delaunator.halfedges,o=this.hull=this._delaunator.hull,i=this.triangles=this._delaunator.triangles,s=this.inedges.fill(-1),a=this._hullIndex.fill(-1);for(let c=0,f=r.length;c<f;++c){let u=i[c%3===2?c-2:c+1];(r[c]===-1||s[u]===-1)&&(s[u]=c)}for(let c=0,f=o.length;c<f;++c)a[o[c]]=c;o.length<=2&&o.length>0&&(this.triangles=new Int32Array(3).fill(-1),this.halfedges=new Int32Array(3).fill(-1),this.triangles[0]=o[0],s[o[0]]=1,o.length===2&&(s[o[1]]=0,this.triangles[1]=o[1],this.triangles[2]=o[1]))}voronoi(e){return new Bl(this,e)}*neighbors(e){let{inedges:n,hull:r,_hullIndex:o,halfedges:i,triangles:s,collinear:a}=this;if(a){let p=a.indexOf(e);p>0&&(yield a[p-1]),p<a.length-1&&(yield a[p+1]);return}let c=n[e];if(c===-1)return;let f=c,u=-1;do{if(yield u=s[f],f=f%3===2?f-2:f+1,s[f]!==e)return;if(f=i[f],f===-1){let p=r[(o[e]+1)%r.length];p!==u&&(yield p);return}}while(f!==c)}find(e,n,r=0){if(e=+e,e!==e||(n=+n,n!==n))return-1;let o=r,i;for(;(i=this._step(r,e,n))>=0&&i!==r&&i!==o;)r=i;return i}_step(e,n,r){let{inedges:o,hull:i,_hullIndex:s,halfedges:a,triangles:c,points:f}=this;if(o[e]===-1||!f.length)return(e+1)%(f.length>>1);let u=e,p=Qc(n-f[e*2],2)+Qc(r-f[e*2+1],2),l=o[e],h=l;do{let d=c[h],m=Qc(n-f[d*2],2)+Qc(r-f[d*2+1],2);if(m<p&&(p=m,u=d),h=h%3===2?h-2:h+1,c[h]!==e)break;if(h=a[h],h===-1){if(h=i[(s[e]+1)%i.length],h!==d&&Qc(n-f[h*2],2)+Qc(r-f[h*2+1],2)<p)return h;break}}while(h!==l);return u}render(e){let n=e==null?e=new lr:void 0,{points:r,halfedges:o,triangles:i}=this;for(let s=0,a=o.length;s<a;++s){let c=o[s];if(c<s)continue;let f=i[s]*2,u=i[c]*2;e.moveTo(r[f],r[f+1]),e.lineTo(r[u],r[u+1])}return this.renderHull(e),n&&n.value()}renderPoints(e,n){n===void 0&&(!e||typeof e.moveTo!="function")&&(n=e,e=null),n=n==null?2:+n;let r=e==null?e=new lr:void 0,{points:o}=this;for(let i=0,s=o.length;i<s;i+=2){let a=o[i],c=o[i+1];e.moveTo(a+n,c),e.arc(a,c,n,0,n$)}return r&&r.value()}renderHull(e){let n=e==null?e=new lr:void 0,{hull:r,points:o}=this,i=r[0]*2,s=r.length;e.moveTo(o[i],o[i+1]);for(let a=1;a<s;++a){let c=2*r[a];e.lineTo(o[c],o[c+1])}return e.closePath(),n&&n.value()}hullPolygon(){let e=new Ji;return this.renderHull(e),e.value()}renderTriangle(e,n){let r=n==null?n=new lr:void 0,{points:o,triangles:i}=this,s=i[e*=3]*2,a=i[e+1]*2,c=i[e+2]*2;return n.moveTo(o[s],o[s+1]),n.lineTo(o[a],o[a+1]),n.lineTo(o[c],o[c+1]),n.closePath(),r&&r.value()}*trianglePolygons(){let{triangles:e}=this;for(let n=0,r=e.length/3;n<r;++n)yield this.trianglePolygon(n)}trianglePolygon(e){let n=new Ji;return this.renderTriangle(e,n),n.value()}};function a$(t,e,n,r){let o=t.length,i=new Float64Array(o*2);for(let s=0;s<o;++s){let a=t[s];i[s*2]=e.call(r,a,s,t),i[s*2+1]=n.call(r,a,s,t)}return i}function*c$(t,e,n,r){let o=0;for(let i of t)yield e.call(r,i,o,t),yield n.call(r,i,o,t),++o}function O8(t){return Math.abs(t=Math.round(t))>=1e21?t.toLocaleString("en").replace(/,/g,""):t.toString(10)}function ga(t,e){if((n=(t=e?t.toExponential(e-1):t.toExponential()).indexOf("e"))<0)return null;var n,r=t.slice(0,n);return[r.length>1?r[0]+r.slice(2):r,+t.slice(n+1)]}function io(t){return t=ga(Math.abs(t)),t?t[1]:NaN}function $8(t,e){return function(n,r){for(var o=n.length,i=[],s=0,a=t[0],c=0;o>0&&a>0&&(c+a+1>r&&(a=Math.max(1,r-c)),i.push(n.substring(o-=a,o+a)),!((c+=a+1)>r));)a=t[s=(s+1)%t.length];return i.reverse().join(e)}}function D8(t){return function(e){return e.replace(/[0-9]/g,function(n){return t[+n]})}}var f$=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function so(t){if(!(e=f$.exec(t)))throw new Error("invalid format: "+t);var e;return new B0({fill:e[1],align:e[2],sign:e[3],symbol:e[4],zero:e[5],width:e[6],comma:e[7],precision:e[8]&&e[8].slice(1),trim:e[9],type:e[10]})}so.prototype=B0.prototype;function B0(t){this.fill=t.fill===void 0?" ":t.fill+"",this.align=t.align===void 0?">":t.align+"",this.sign=t.sign===void 0?"-":t.sign+"",this.symbol=t.symbol===void 0?"":t.symbol+"",this.zero=!!t.zero,this.width=t.width===void 0?void 0:+t.width,this.comma=!!t.comma,this.precision=t.precision===void 0?void 0:+t.precision,this.trim=!!t.trim,this.type=t.type===void 0?"":t.type+""}B0.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function F8(t){t:for(var e=t.length,n=1,r=-1,o;n<e;++n)switch(t[n]){case".":r=o=n;break;case"0":r===0&&(r=n),o=n;break;default:if(!+t[n])break t;r>0&&(r=0);break}return r>0?t.slice(0,r)+t.slice(o+1):t}var sw;function P8(t,e){var n=ga(t,e);if(!n)return t+"";var r=n[0],o=n[1],i=o-(sw=Math.max(-8,Math.min(8,Math.floor(o/3)))*3)+1,s=r.length;return i===s?r:i>s?r+new Array(i-s+1).join("0"):i>0?r.slice(0,i)+"."+r.slice(i):"0."+new Array(1-i).join("0")+ga(t,Math.max(0,e+i-1))[0]}function aw(t,e){var n=ga(t,e);if(!n)return t+"";var r=n[0],o=n[1];return o<0?"0."+new Array(-o).join("0")+r:r.length>o+1?r.slice(0,o+1)+"."+r.slice(o+1):r+new Array(o-r.length+2).join("0")}var cw={"%":(t,e)=>(t*100).toFixed(e),b:t=>Math.round(t).toString(2),c:t=>t+"",d:O8,e:(t,e)=>t.toExponential(e),f:(t,e)=>t.toFixed(e),g:(t,e)=>t.toPrecision(e),o:t=>Math.round(t).toString(8),p:(t,e)=>aw(t*100,e),r:aw,s:P8,X:t=>Math.round(t).toString(16).toUpperCase(),x:t=>Math.round(t).toString(16)};function fw(t){return t}var q8=Array.prototype.map,B8=["y","z","a","f","p","n","\xB5","m","","k","M","G","T","P","E","Z","Y"];function z8(t){var e=t.grouping===void 0||t.thousands===void 0?fw:$8(q8.call(t.grouping,Number),t.thousands+""),n=t.currency===void 0?"":t.currency[0]+"",r=t.currency===void 0?"":t.currency[1]+"",o=t.decimal===void 0?".":t.decimal+"",i=t.numerals===void 0?fw:D8(q8.call(t.numerals,String)),s=t.percent===void 0?"%":t.percent+"",a=t.minus===void 0?"\u2212":t.minus+"",c=t.nan===void 0?"NaN":t.nan+"";function f(p){p=so(p);var l=p.fill,h=p.align,d=p.sign,m=p.symbol,g=p.zero,y=p.width,x=p.comma,b=p.precision,w=p.trim,_=p.type;_==="n"?(x=!0,_="g"):cw[_]||(b===void 0&&(b=12),w=!0,_="g"),(g||l==="0"&&h==="=")&&(g=!0,l="0",h="=");var v=m==="$"?n:m==="#"&&/[boxX]/.test(_)?"0"+_.toLowerCase():"",M=m==="$"?r:/[%p]/.test(_)?s:"",E=cw[_],T=/[defgprs%]/.test(_);b=b===void 0?6:/[gprs]/.test(_)?Math.max(1,Math.min(21,b)):Math.max(0,Math.min(20,b));function I(A){var k=v,L=M,S,C,N;if(_==="c")L=E(A)+L,A="";else{A=+A;var R=A<0||1/A<0;if(A=isNaN(A)?c:E(Math.abs(A),b),w&&(A=F8(A)),R&&+A==0&&d!=="+"&&(R=!1),k=(R?d==="("?d:a:d==="-"||d==="("?"":d)+k,L=(_==="s"?B8[8+sw/3]:"")+L+(R&&d==="("?")":""),T){for(S=-1,C=A.length;++S<C;)if(N=A.charCodeAt(S),48>N||N>57){L=(N===46?o+A.slice(S+1):A.slice(S))+L,A=A.slice(0,S);break}}}x&&!g&&(A=e(A,1/0));var $=k.length+A.length+L.length,O=$<y?new Array(y-$+1).join(l):"";switch(x&&g&&(A=e(O+A,O.length?y-L.length:1/0),O=""),h){case"<":A=k+A+L+O;break;case"=":A=k+O+A+L;break;case"^":A=O.slice(0,$=O.length>>1)+k+A+L+O.slice($);break;default:A=O+k+A+L;break}return i(A)}return I.toString=function(){return p+""},I}function u(p,l){var h=f((p=so(p),p.type="f",p)),d=Math.max(-8,Math.min(8,Math.floor(io(l)/3)))*3,m=Math.pow(10,-d),g=B8[8+d/3];return function(y){return h(m*y)+g}}return{format:f,formatPrefix:u}}var z0,hr,Y0;uw({thousands:",",grouping:[3],currency:["$",""]});function uw(t){return z0=z8(t),hr=z0.format,Y0=z0.formatPrefix,z0}function lw(t){return Math.max(0,-io(Math.abs(t)))}function pw(t,e){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(io(e)/3)))*3-io(Math.abs(t)))}function hw(t,e){return t=Math.abs(t),e=Math.abs(e)-t,Math.max(0,io(e)-io(t))+1}var Z=1e-6,ya=1e-12,mt=Math.PI,Ut=mt/2,dw=mt/4,$e=mt*2,ce=180/mt,vt=mt/180,wt=Math.abs,dr=Math.atan,xe=Math.atan2,H=Math.cos,zl=Math.ceil,U0=Math.exp;var j0=Math.hypot,xa=Math.log,X0=Math.pow,V=Math.sin,un=Math.sign||function(t){return t>0?1:t<0?-1:0},jt=Math.sqrt,Zc=Math.tan;function W0(t){return t>1?0:t<-1?mt:Math.acos(t)}function Zt(t){return t>1?Ut:t<-1?-Ut:Math.asin(t)}function be(){}function G0(t,e){t&&U8.hasOwnProperty(t.type)&&U8[t.type](t,e)}var Y8={Feature:function(t,e){G0(t.geometry,e)},FeatureCollection:function(t,e){for(var n=t.features,r=-1,o=n.length;++r<o;)G0(n[r].geometry,e)}},U8={Sphere:function(t,e){e.sphere()},Point:function(t,e){t=t.coordinates,e.point(t[0],t[1],t[2])},MultiPoint:function(t,e){for(var n=t.coordinates,r=-1,o=n.length;++r<o;)t=n[r],e.point(t[0],t[1],t[2])},LineString:function(t,e){mw(t.coordinates,e,0)},MultiLineString:function(t,e){for(var n=t.coordinates,r=-1,o=n.length;++r<o;)mw(n[r],e,0)},Polygon:function(t,e){j8(t.coordinates,e)},MultiPolygon:function(t,e){for(var n=t.coordinates,r=-1,o=n.length;++r<o;)j8(n[r],e)},GeometryCollection:function(t,e){for(var n=t.geometries,r=-1,o=n.length;++r<o;)G0(n[r],e)}};function mw(t,e,n){var r=-1,o=t.length-n,i;for(e.lineStart();++r<o;)i=t[r],e.point(i[0],i[1],i[2]);e.lineEnd()}function j8(t,e){var n=-1,r=t.length;for(e.polygonStart();++n<r;)mw(t[n],e,1);e.polygonEnd()}function Gn(t,e){t&&Y8.hasOwnProperty(t.type)?Y8[t.type](t,e):G0(t,e)}function Yl(t){return[xe(t[1],t[0]),Zt(t[2])]}function ao(t){var e=t[0],n=t[1],r=H(n);return[r*H(e),r*V(e),V(n)]}function Ul(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function Kc(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 V0(t,e){t[0]+=e[0],t[1]+=e[1],t[2]+=e[2]}function jl(t,e){return[t[0]*e,t[1]*e,t[2]*e]}function Xl(t){var e=jt(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]);t[0]/=e,t[1]/=e,t[2]/=e}var Wl,H0,Q0,Z0,K0,J0,tg,eg,gw,yw,xw,G8,V8,In,Cn,Nn,Or={sphere:be,point:bw,lineStart:X8,lineEnd:W8,polygonStart:function(){Or.lineStart=p$,Or.lineEnd=h$},polygonEnd:function(){Or.lineStart=X8,Or.lineEnd=W8}};function bw(t,e){t*=vt,e*=vt;var n=H(e);Gl(n*H(t),n*V(t),V(e))}function Gl(t,e,n){++Wl,Q0+=(t-Q0)/Wl,Z0+=(e-Z0)/Wl,K0+=(n-K0)/Wl}function X8(){Or.point=u$}function u$(t,e){t*=vt,e*=vt;var n=H(e);In=n*H(t),Cn=n*V(t),Nn=V(e),Or.point=l$,Gl(In,Cn,Nn)}function l$(t,e){t*=vt,e*=vt;var n=H(e),r=n*H(t),o=n*V(t),i=V(e),s=xe(jt((s=Cn*i-Nn*o)*s+(s=Nn*r-In*i)*s+(s=In*o-Cn*r)*s),In*r+Cn*o+Nn*i);H0+=s,J0+=s*(In+(In=r)),tg+=s*(Cn+(Cn=o)),eg+=s*(Nn+(Nn=i)),Gl(In,Cn,Nn)}function W8(){Or.point=bw}function p$(){Or.point=d$}function h$(){H8(G8,V8),Or.point=bw}function d$(t,e){G8=t,V8=e,t*=vt,e*=vt,Or.point=H8;var n=H(e);In=n*H(t),Cn=n*V(t),Nn=V(e),Gl(In,Cn,Nn)}function H8(t,e){t*=vt,e*=vt;var n=H(e),r=n*H(t),o=n*V(t),i=V(e),s=Cn*i-Nn*o,a=Nn*r-In*i,c=In*o-Cn*r,f=j0(s,a,c),u=Zt(f),p=f&&-u/f;gw.add(p*s),yw.add(p*a),xw.add(p*c),H0+=u,J0+=u*(In+(In=r)),tg+=u*(Cn+(Cn=o)),eg+=u*(Nn+(Nn=i)),Gl(In,Cn,Nn)}function ww(t){Wl=H0=Q0=Z0=K0=J0=tg=eg=0,gw=new Ge,yw=new Ge,xw=new Ge,Gn(t,Or);var e=+gw,n=+yw,r=+xw,o=j0(e,n,r);return o<ya&&(e=J0,n=tg,r=eg,H0<Z&&(e=Q0,n=Z0,r=K0),o=j0(e,n,r),o<ya)?[NaN,NaN]:[xe(n,e)*ce,Zt(r/o)*ce]}function Vl(t,e){function n(r,o){return r=t(r,o),e(r[0],r[1])}return t.invert&&e.invert&&(n.invert=function(r,o){return r=e.invert(r,o),r&&t.invert(r[0],r[1])}),n}function vw(t,e){return wt(t)>mt&&(t-=Math.round(t/$e)*$e),[t,e]}vw.invert=vw;function _w(t,e,n){return(t%=$e)?e||n?Vl(Z8(t),K8(e,n)):Z8(t):e||n?K8(e,n):vw}function Q8(t){return function(e,n){return e+=t,wt(e)>mt&&(e-=Math.round(e/$e)*$e),[e,n]}}function Z8(t){var e=Q8(t);return e.invert=Q8(-t),e}function K8(t,e){var n=H(t),r=V(t),o=H(e),i=V(e);function s(a,c){var f=H(c),u=H(a)*f,p=V(a)*f,l=V(c),h=l*n+u*r;return[xe(p*o-h*i,u*n-l*r),Zt(h*o+p*i)]}return s.invert=function(a,c){var f=H(c),u=H(a)*f,p=V(a)*f,l=V(c),h=l*o-p*i;return[xe(p*o+l*i,u*n+h*r),Zt(h*n-u*r)]},s}function J8(t){t=_w(t[0]*vt,t[1]*vt,t.length>2?t[2]*vt:0);function e(n){return n=t(n[0]*vt,n[1]*vt),n[0]*=ce,n[1]*=ce,n}return e.invert=function(n){return n=t.invert(n[0]*vt,n[1]*vt),n[0]*=ce,n[1]*=ce,n},e}function eS(t,e,n,r,o,i){if(n){var s=H(e),a=V(e),c=r*n;o==null?(o=e+r*$e,i=e-c/2):(o=tS(s,o),i=tS(s,i),(r>0?o<i:o>i)&&(o+=r*$e));for(var f,u=o;r>0?u>i:u<i;u-=c)f=Yl([s,-a*H(u),-a*V(u)]),t.point(f[0],f[1])}}function tS(t,e){e=ao(e),e[0]-=t,Xl(e);var n=W0(-e[1]);return((-e[2]<0?-n:n)+$e-Z)%$e}function ng(){var t=[],e;return{point:function(n,r,o){e.push([n,r,o])},lineStart:function(){t.push(e=[])},lineEnd:be,rejoin:function(){t.length>1&&t.push(t.pop().concat(t.shift()))},result:function(){var n=t;return t=[],e=null,n}}}function Jc(t,e){return wt(t[0]-e[0])<Z&&wt(t[1]-e[1])<Z}function rg(t,e,n,r){this.x=t,this.z=e,this.o=n,this.e=r,this.v=!1,this.n=this.p=null}function og(t,e,n,r,o){var i=[],s=[],a,c;if(t.forEach(function(d){if(!((m=d.length-1)<=0)){var m,g=d[0],y=d[m],x;if(Jc(g,y)){if(!g[2]&&!y[2]){for(o.lineStart(),a=0;a<m;++a)o.point((g=d[a])[0],g[1]);o.lineEnd();return}y[0]+=2*Z}i.push(x=new rg(g,d,null,!0)),s.push(x.o=new rg(g,null,x,!1)),i.push(x=new rg(y,d,null,!1)),s.push(x.o=new rg(y,null,x,!0))}}),!!i.length){for(s.sort(e),nS(i),nS(s),a=0,c=s.length;a<c;++a)s[a].e=n=!n;for(var f=i[0],u,p;;){for(var l=f,h=!0;l.v;)if((l=l.n)===f)return;u=l.z,o.lineStart();do{if(l.v=l.o.v=!0,l.e){if(h)for(a=0,c=u.length;a<c;++a)o.point((p=u[a])[0],p[1]);else r(l.x,l.n.x,1,o);l=l.n}else{if(h)for(u=l.p.z,a=u.length-1;a>=0;--a)o.point((p=u[a])[0],p[1]);else r(l.x,l.p.x,-1,o);l=l.p}l=l.o,u=l.z,h=!h}while(!l.v);o.lineEnd()}}}function nS(t){if(e=t.length){for(var e,n=0,r=t[0],o;++n<e;)r.n=o=t[n],o.p=r,r=o;r.n=o=t[0],o.p=r}}function Mw(t){return wt(t[0])<=mt?t[0]:un(t[0])*((wt(t[0])+mt)%$e-mt)}function rS(t,e){var n=Mw(e),r=e[1],o=V(r),i=[V(n),-H(n),0],s=0,a=0,c=new Ge;o===1?r=Ut+Z:o===-1&&(r=-Ut-Z);for(var f=0,u=t.length;f<u;++f)if(l=(p=t[f]).length)for(var p,l,h=p[l-1],d=Mw(h),m=h[1]/2+dw,g=V(m),y=H(m),x=0;x<l;++x,d=w,g=v,y=M,h=b){var b=p[x],w=Mw(b),_=b[1]/2+dw,v=V(_),M=H(_),E=w-d,T=E>=0?1:-1,I=T*E,A=I>mt,k=g*v;if(c.add(xe(k*T*V(I),y*M+k*H(I))),s+=A?E+T*$e:E,A^d>=n^w>=n){var L=Kc(ao(h),ao(b));Xl(L);var S=Kc(i,L);Xl(S);var C=(A^E>=0?-1:1)*Zt(S[2]);(r>C||r===C&&(L[0]||L[1]))&&(a+=A^E>=0?1:-1)}}return(s<-Z||s<Z&&c<-ya)^a&1}function ig(t,e,n,r){return function(o){var i=e(o),s=ng(),a=e(s),c=!1,f,u,p,l={point:h,lineStart:m,lineEnd:g,polygonStart:function(){l.point=y,l.lineStart=x,l.lineEnd=b,u=[],f=[]},polygonEnd:function(){l.point=h,l.lineStart=m,l.lineEnd=g,u=Oc(u);var w=rS(f,r);u.length?(c||(o.polygonStart(),c=!0),og(u,g$,w,n,o)):w&&(c||(o.polygonStart(),c=!0),o.lineStart(),n(null,null,1,o),o.lineEnd()),c&&(o.polygonEnd(),c=!1),u=f=null},sphere:function(){o.polygonStart(),o.lineStart(),n(null,null,1,o),o.lineEnd(),o.polygonEnd()}};function h(w,_){t(w,_)&&o.point(w,_)}function d(w,_){i.point(w,_)}function m(){l.point=d,i.lineStart()}function g(){l.point=h,i.lineEnd()}function y(w,_){p.push([w,_]),a.point(w,_)}function x(){a.lineStart(),p=[]}function b(){y(p[0][0],p[0][1]),a.lineEnd();var w=a.clean(),_=s.result(),v,M=_.length,E,T,I;if(p.pop(),f.push(p),p=null,!!M){if(w&1){if(T=_[0],(E=T.length-1)>0){for(c||(o.polygonStart(),c=!0),o.lineStart(),v=0;v<E;++v)o.point((I=T[v])[0],I[1]);o.lineEnd()}return}M>1&&w&2&&_.push(_.pop().concat(_.shift())),u.push(_.filter(m$))}}return l}}function m$(t){return t.length>1}function g$(t,e){return((t=t.x)[0]<0?t[1]-Ut-Z:Ut-t[1])-((e=e.x)[0]<0?e[1]-Ut-Z:Ut-e[1])}var Sw=ig(function(){return!0},y$,b$,[-mt,-Ut]);function y$(t){var e=NaN,n=NaN,r=NaN,o;return{lineStart:function(){t.lineStart(),o=1},point:function(i,s){var a=i>0?mt:-mt,c=wt(i-e);wt(c-mt)<Z?(t.point(e,n=(n+s)/2>0?Ut:-Ut),t.point(r,n),t.lineEnd(),t.lineStart(),t.point(a,n),t.point(i,n),o=0):r!==a&&c>=mt&&(wt(e-r)<Z&&(e-=r*Z),wt(i-a)<Z&&(i-=a*Z),n=x$(e,n,i,s),t.point(r,n),t.lineEnd(),t.lineStart(),t.point(a,n),o=0),t.point(e=i,n=s),r=a},lineEnd:function(){t.lineEnd(),e=n=NaN},clean:function(){return 2-o}}}function x$(t,e,n,r){var o,i,s=V(t-n);return wt(s)>Z?dr((V(e)*(i=H(r))*V(n)-V(r)*(o=H(e))*V(t))/(o*i*s)):(e+r)/2}function b$(t,e,n,r){var o;if(t==null)o=n*Ut,r.point(-mt,o),r.point(0,o),r.point(mt,o),r.point(mt,0),r.point(mt,-o),r.point(0,-o),r.point(-mt,-o),r.point(-mt,0),r.point(-mt,o);else if(wt(t[0]-e[0])>Z){var i=t[0]<e[0]?mt:-mt;o=n*i/2,r.point(-i,o),r.point(0,o),r.point(i,o)}else r.point(e[0],e[1])}function oS(t){var e=H(t),n=2*vt,r=e>0,o=wt(e)>Z;function i(u,p,l,h){eS(h,t,n,l,u,p)}function s(u,p){return H(u)*H(p)>e}function a(u){var p,l,h,d,m;return{lineStart:function(){d=h=!1,m=1},point:function(g,y){var x=[g,y],b,w=s(g,y),_=r?w?0:f(g,y):w?f(g+(g<0?mt:-mt),y):0;if(!p&&(d=h=w)&&u.lineStart(),w!==h&&(b=c(p,x),(!b||Jc(p,b)||Jc(x,b))&&(x[2]=1)),w!==h)m=0,w?(u.lineStart(),b=c(x,p),u.point(b[0],b[1])):(b=c(p,x),u.point(b[0],b[1],2),u.lineEnd()),p=b;else if(o&&p&&r^w){var v;!(_&l)&&(v=c(x,p,!0))&&(m=0,r?(u.lineStart(),u.point(v[0][0],v[0][1]),u.point(v[1][0],v[1][1]),u.lineEnd()):(u.point(v[1][0],v[1][1]),u.lineEnd(),u.lineStart(),u.point(v[0][0],v[0][1],3)))}w&&(!p||!Jc(p,x))&&u.point(x[0],x[1]),p=x,h=w,l=_},lineEnd:function(){h&&u.lineEnd(),p=null},clean:function(){return m|(d&&h)<<1}}}function c(u,p,l){var h=ao(u),d=ao(p),m=[1,0,0],g=Kc(h,d),y=Ul(g,g),x=g[0],b=y-x*x;if(!b)return!l&&u;var w=e*y/b,_=-e*x/b,v=Kc(m,g),M=jl(m,w),E=jl(g,_);V0(M,E);var T=v,I=Ul(M,T),A=Ul(T,T),k=I*I-A*(Ul(M,M)-1);if(!(k<0)){var L=jt(k),S=jl(T,(-I-L)/A);if(V0(S,M),S=Yl(S),!l)return S;var C=u[0],N=p[0],R=u[1],$=p[1],O;N<C&&(O=C,C=N,N=O);var D=N-C,F=wt(D-mt)<Z,P=F||D<Z;if(!F&&$<R&&(O=R,R=$,$=O),P?F?R+$>0^S[1]<(wt(S[0]-C)<Z?R:$):R<=S[1]&&S[1]<=$:D>mt^(C<=S[0]&&S[0]<=N)){var W=jl(T,(-I+L)/A);return V0(W,M),[S,Yl(W)]}}}function f(u,p){var l=r?t:mt-t,h=0;return u<-l?h|=1:u>l&&(h|=2),p<-l?h|=4:p>l&&(h|=8),h}return ig(s,a,i,r?[0,-t]:[-mt,t-mt])}function iS(t,e,n,r,o,i){var s=t[0],a=t[1],c=e[0],f=e[1],u=0,p=1,l=c-s,h=f-a,d;if(d=n-s,!(!l&&d>0)){if(d/=l,l<0){if(d<u)return;d<p&&(p=d)}else if(l>0){if(d>p)return;d>u&&(u=d)}if(d=o-s,!(!l&&d<0)){if(d/=l,l<0){if(d>p)return;d>u&&(u=d)}else if(l>0){if(d<u)return;d<p&&(p=d)}if(d=r-a,!(!h&&d>0)){if(d/=h,h<0){if(d<u)return;d<p&&(p=d)}else if(h>0){if(d>p)return;d>u&&(u=d)}if(d=i-a,!(!h&&d<0)){if(d/=h,h<0){if(d>p)return;d>u&&(u=d)}else if(h>0){if(d<u)return;d<p&&(p=d)}return u>0&&(t[0]=s+u*l,t[1]=a+u*h),p<1&&(e[0]=s+p*l,e[1]=a+p*h),!0}}}}}var Hl=1e9,sg=-Hl;function tf(t,e,n,r){function o(f,u){return t<=f&&f<=n&&e<=u&&u<=r}function i(f,u,p,l){var h=0,d=0;if(f==null||(h=s(f,p))!==(d=s(u,p))||c(f,u)<0^p>0)do l.point(h===0||h===3?t:n,h>1?r:e);while((h=(h+p+4)%4)!==d);else l.point(u[0],u[1])}function s(f,u){return wt(f[0]-t)<Z?u>0?0:3:wt(f[0]-n)<Z?u>0?2:1:wt(f[1]-e)<Z?u>0?1:0:u>0?3:2}function a(f,u){return c(f.x,u.x)}function c(f,u){var p=s(f,1),l=s(u,1);return p!==l?p-l:p===0?u[1]-f[1]:p===1?f[0]-u[0]:p===2?f[1]-u[1]:u[0]-f[0]}return function(f){var u=f,p=ng(),l,h,d,m,g,y,x,b,w,_,v,M={point:E,lineStart:k,lineEnd:L,polygonStart:I,polygonEnd:A};function E(C,N){o(C,N)&&u.point(C,N)}function T(){for(var C=0,N=0,R=h.length;N<R;++N)for(var $=h[N],O=1,D=$.length,F=$[0],P,W,K=F[0],tt=F[1];O<D;++O)P=K,W=tt,F=$[O],K=F[0],tt=F[1],W<=r?tt>r&&(K-P)*(r-W)>(tt-W)*(t-P)&&++C:tt<=r&&(K-P)*(r-W)<(tt-W)*(t-P)&&--C;return C}function I(){u=p,l=[],h=[],v=!0}function A(){var C=T(),N=v&&C,R=(l=Oc(l)).length;(N||R)&&(f.polygonStart(),N&&(f.lineStart(),i(null,null,1,f),f.lineEnd()),R&&og(l,a,C,i,f),f.polygonEnd()),u=f,l=h=d=null}function k(){M.point=S,h&&h.push(d=[]),_=!0,w=!1,x=b=NaN}function L(){l&&(S(m,g),y&&w&&p.rejoin(),l.push(p.result())),M.point=E,w&&u.lineEnd()}function S(C,N){var R=o(C,N);if(h&&d.push([C,N]),_)m=C,g=N,y=R,_=!1,R&&(u.lineStart(),u.point(C,N));else if(R&&w)u.point(C,N);else{var $=[x=Math.max(sg,Math.min(Hl,x)),b=Math.max(sg,Math.min(Hl,b))],O=[C=Math.max(sg,Math.min(Hl,C)),N=Math.max(sg,Math.min(Hl,N))];iS($,O,t,e,n,r)?(w||(u.lineStart(),u.point($[0],$[1])),u.point(O[0],O[1]),R||u.lineEnd(),v=!1):R&&(u.lineStart(),u.point(C,N),v=!1)}x=C,b=N,w=R}return M}}function sS(t,e,n){var r=pe(t,e-Z,n).concat(e);return function(o){return r.map(function(i){return[o,i]})}}function aS(t,e,n){var r=pe(t,e-Z,n).concat(e);return function(o){return r.map(function(i){return[i,o]})}}function Aw(){var t,e,n,r,o,i,s,a,c=10,f=c,u=90,p=360,l,h,d,m,g=2.5;function y(){return{type:"MultiLineString",coordinates:x()}}function x(){return pe(zl(r/u)*u,n,u).map(d).concat(pe(zl(a/p)*p,s,p).map(m)).concat(pe(zl(e/c)*c,t,c).filter(function(b){return wt(b%u)>Z}).map(l)).concat(pe(zl(i/f)*f,o,f).filter(function(b){return wt(b%p)>Z}).map(h))}return y.lines=function(){return x().map(function(b){return{type:"LineString",coordinates:b}})},y.outline=function(){return{type:"Polygon",coordinates:[d(r).concat(m(s).slice(1),d(n).reverse().slice(1),m(a).reverse().slice(1))]}},y.extent=function(b){return arguments.length?y.extentMajor(b).extentMinor(b):y.extentMinor()},y.extentMajor=function(b){return arguments.length?(r=+b[0][0],n=+b[1][0],a=+b[0][1],s=+b[1][1],r>n&&(b=r,r=n,n=b),a>s&&(b=a,a=s,s=b),y.precision(g)):[[r,a],[n,s]]},y.extentMinor=function(b){return arguments.length?(e=+b[0][0],t=+b[1][0],i=+b[0][1],o=+b[1][1],e>t&&(b=e,e=t,t=b),i>o&&(b=i,i=o,o=b),y.precision(g)):[[e,i],[t,o]]},y.step=function(b){return arguments.length?y.stepMajor(b).stepMinor(b):y.stepMinor()},y.stepMajor=function(b){return arguments.length?(u=+b[0],p=+b[1],y):[u,p]},y.stepMinor=function(b){return arguments.length?(c=+b[0],f=+b[1],y):[c,f]},y.precision=function(b){return arguments.length?(g=+b,l=sS(i,o,90),h=aS(e,t,g),d=sS(a,s,90),m=aS(r,n,g),y):g},y.extentMajor([[-180,-90+Z],[180,90-Z]]).extentMinor([[-180,-80-Z],[180,80+Z]])}function Ew(){return Aw()()}var Ql=t=>t;var Tw=new Ge,Iw=new Ge,cS,fS,Cw,Nw,ts={point:be,lineStart:be,lineEnd:be,polygonStart:function(){ts.lineStart=w$,ts.lineEnd=_$},polygonEnd:function(){ts.lineStart=ts.lineEnd=ts.point=be,Tw.add(wt(Iw)),Iw=new Ge},result:function(){var t=Tw/2;return Tw=new Ge,t}};function w$(){ts.point=v$}function v$(t,e){ts.point=uS,cS=Cw=t,fS=Nw=e}function uS(t,e){Iw.add(Nw*t-Cw*e),Cw=t,Nw=e}function _$(){uS(cS,fS)}var kw=ts;var ef=1/0,ag=ef,Zl=-ef,cg=Zl,M$={point:S$,lineStart:be,lineEnd:be,polygonStart:be,polygonEnd:be,result:function(){var t=[[ef,ag],[Zl,cg]];return Zl=cg=-(ag=ef=1/0),t}};function S$(t,e){t<ef&&(ef=t),t>Zl&&(Zl=t),e<ag&&(ag=e),e>cg&&(cg=e)}var nf=M$;var Rw=0,Lw=0,Kl=0,fg=0,ug=0,rf=0,Ow=0,$w=0,Jl=0,hS,dS,co,fo,$r={point:ba,lineStart:lS,lineEnd:pS,polygonStart:function(){$r.lineStart=T$,$r.lineEnd=I$},polygonEnd:function(){$r.point=ba,$r.lineStart=lS,$r.lineEnd=pS},result:function(){var t=Jl?[Ow/Jl,$w/Jl]:rf?[fg/rf,ug/rf]:Kl?[Rw/Kl,Lw/Kl]:[NaN,NaN];return Rw=Lw=Kl=fg=ug=rf=Ow=$w=Jl=0,t}};function ba(t,e){Rw+=t,Lw+=e,++Kl}function lS(){$r.point=A$}function A$(t,e){$r.point=E$,ba(co=t,fo=e)}function E$(t,e){var n=t-co,r=e-fo,o=jt(n*n+r*r);fg+=o*(co+t)/2,ug+=o*(fo+e)/2,rf+=o,ba(co=t,fo=e)}function pS(){$r.point=ba}function T$(){$r.point=C$}function I$(){mS(hS,dS)}function C$(t,e){$r.point=mS,ba(hS=co=t,dS=fo=e)}function mS(t,e){var n=t-co,r=e-fo,o=jt(n*n+r*r);fg+=o*(co+t)/2,ug+=o*(fo+e)/2,rf+=o,o=fo*t-co*e,Ow+=o*(co+t),$w+=o*(fo+e),Jl+=o*3,ba(co=t,fo=e)}var Dw=$r;function lg(t){this._context=t}lg.prototype={_radius:4.5,pointRadius:function(t){return this._radius=t,this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){this._line===0&&this._context.closePath(),this._point=NaN},point:function(t,e){switch(this._point){case 0:{this._context.moveTo(t,e),this._point=1;break}case 1:{this._context.lineTo(t,e);break}default:{this._context.moveTo(t+this._radius,e),this._context.arc(t,e,this._radius,0,$e);break}}},result:be};var Pw=new Ge,Fw,gS,yS,tp,ep,pg={point:be,lineStart:function(){pg.point=N$},lineEnd:function(){Fw&&xS(gS,yS),pg.point=be},polygonStart:function(){Fw=!0},polygonEnd:function(){Fw=null},result:function(){var t=+Pw;return Pw=new Ge,t}};function N$(t,e){pg.point=xS,gS=tp=t,yS=ep=e}function xS(t,e){tp-=t,ep-=e,Pw.add(jt(tp*tp+ep*ep)),tp=t,ep=e}var qw=pg;var bS,hg,wS,vS,of=class{constructor(e){this._append=e==null?_S:k$(e),this._radius=4.5,this._=""}pointRadius(e){return this._radius=+e,this}polygonStart(){this._line=0}polygonEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){this._line===0&&(this._+="Z"),this._point=NaN}point(e,n){switch(this._point){case 0:{this._append`M${e},${n}`,this._point=1;break}case 1:{this._append`L${e},${n}`;break}default:{if(this._append`M${e},${n}`,this._radius!==wS||this._append!==hg){let r=this._radius,o=this._;this._="",this._append`m0,${r}a${r},${r} 0 1,1 0,${-2*r}a${r},${r} 0 1,1 0,${2*r}z`,wS=r,hg=this._append,vS=this._,this._=o}this._+=vS;break}}}result(){let e=this._;return this._="",e.length?e:null}};function _S(t){let e=1;this._+=t[0];for(let n=t.length;e<n;++e)this._+=arguments[e]+t[e]}function k$(t){let e=Math.floor(t);if(!(e>=0))throw new RangeError(`invalid digits: ${t}`);if(e>15)return _S;if(e!==bS){let n=10**e;bS=e,hg=function(o){let i=1;this._+=o[0];for(let s=o.length;i<s;++i)this._+=Math.round(arguments[i]*n)/n+o[i]}}return hg}function De(t,e){let n=3,r=4.5,o,i;function s(a){return a&&(typeof r=="function"&&i.pointRadius(+r.apply(this,arguments)),Gn(a,o(i))),i.result()}return s.area=function(a){return Gn(a,o(kw)),kw.result()},s.measure=function(a){return Gn(a,o(qw)),qw.result()},s.bounds=function(a){return Gn(a,o(nf)),nf.result()},s.centroid=function(a){return Gn(a,o(Dw)),Dw.result()},s.projection=function(a){return arguments.length?(o=a==null?(t=null,Ql):(t=a).stream,s):t},s.context=function(a){return arguments.length?(i=a==null?(e=null,new of(n)):new lg(e=a),typeof r!="function"&&i.pointRadius(r),s):e},s.pointRadius=function(a){return arguments.length?(r=typeof a=="function"?a:(i.pointRadius(+a),+a),s):r},s.digits=function(a){if(!arguments.length)return n;if(a==null)n=null;else{let c=Math.floor(a);if(!(c>=0))throw new RangeError(`invalid digits: ${a}`);n=c}return e===null&&(i=new of(n)),s},s.projection(t).digits(n).context(e)}function wa(t){return{stream:sf(t)}}function sf(t){return function(e){var n=new Bw;for(var r in t)n[r]=t[r];return n.stream=e,n}}function Bw(){}Bw.prototype={constructor:Bw,point:function(t,e){this.stream.point(t,e)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}};function zw(t,e,n){var r=t.clipExtent&&t.clipExtent();return t.scale(150).translate([0,0]),r!=null&&t.clipExtent(null),Gn(n,t.stream(nf)),e(nf.result()),r!=null&&t.clipExtent(r),t}function np(t,e,n){return zw(t,function(r){var o=e[1][0]-e[0][0],i=e[1][1]-e[0][1],s=Math.min(o/(r[1][0]-r[0][0]),i/(r[1][1]-r[0][1])),a=+e[0][0]+(o-s*(r[1][0]+r[0][0]))/2,c=+e[0][1]+(i-s*(r[1][1]+r[0][1]))/2;t.scale(150*s).translate([a,c])},n)}function dg(t,e,n){return np(t,[[0,0],e],n)}function mg(t,e,n){return zw(t,function(r){var o=+e,i=o/(r[1][0]-r[0][0]),s=(o-i*(r[1][0]+r[0][0]))/2,a=-i*r[0][1];t.scale(150*i).translate([s,a])},n)}function gg(t,e,n){return zw(t,function(r){var o=+e,i=o/(r[1][1]-r[0][1]),s=-i*r[0][0],a=(o-i*(r[1][1]+r[0][1]))/2;t.scale(150*i).translate([s,a])},n)}var MS=16,R$=H(30*vt);function Yw(t,e){return+e?O$(t,e):L$(t)}function L$(t){return sf({point:function(e,n){e=t(e,n),this.stream.point(e[0],e[1])}})}function O$(t,e){function n(r,o,i,s,a,c,f,u,p,l,h,d,m,g){var y=f-r,x=u-o,b=y*y+x*x;if(b>4*e&&m--){var w=s+l,_=a+h,v=c+d,M=jt(w*w+_*_+v*v),E=Zt(v/=M),T=wt(wt(v)-1)<Z||wt(i-p)<Z?(i+p)/2:xe(_,w),I=t(T,E),A=I[0],k=I[1],L=A-r,S=k-o,C=x*L-y*S;(C*C/b>e||wt((y*L+x*S)/b-.5)>.3||s*l+a*h+c*d<R$)&&(n(r,o,i,s,a,c,A,k,T,w/=M,_/=M,v,m,g),g.point(A,k),n(A,k,T,w,_,v,f,u,p,l,h,d,m,g))}}return function(r){var o,i,s,a,c,f,u,p,l,h,d,m,g={point:y,lineStart:x,lineEnd:w,polygonStart:function(){r.polygonStart(),g.lineStart=_},polygonEnd:function(){r.polygonEnd(),g.lineStart=x}};function y(E,T){E=t(E,T),r.point(E[0],E[1])}function x(){p=NaN,g.point=b,r.lineStart()}function b(E,T){var I=ao([E,T]),A=t(E,T);n(p,l,u,h,d,m,p=A[0],l=A[1],u=E,h=I[0],d=I[1],m=I[2],MS,r),r.point(p,l)}function w(){g.point=y,r.lineEnd()}function _(){x(),g.point=v,g.lineEnd=M}function v(E,T){b(o=E,T),i=p,s=l,a=h,c=d,f=m,g.point=b}function M(){n(p,l,u,h,d,m,i,s,o,a,c,f,MS,r),g.lineEnd=w,w()}return g}}var $$=sf({point:function(t,e){this.stream.point(t*vt,e*vt)}});function D$(t){return sf({point:function(e,n){var r=t(e,n);return this.stream.point(r[0],r[1])}})}function F$(t,e,n,r,o){function i(s,a){return s*=r,a*=o,[e+t*s,n-t*a]}return i.invert=function(s,a){return[(s-e)/t*r,(n-a)/t*o]},i}function SS(t,e,n,r,o,i){if(!i)return F$(t,e,n,r,o);var s=H(i),a=V(i),c=s*t,f=a*t,u=s/t,p=a/t,l=(a*n-s*e)/t,h=(a*e+s*n)/t;function d(m,g){return m*=r,g*=o,[c*m-f*g+e,n-f*m-c*g]}return d.invert=function(m,g){return[r*(u*m-p*g+l),o*(h-p*m-u*g)]},d}function Ze(t){return Uw(function(){return t})()}function Uw(t){var e,n=150,r=480,o=250,i=0,s=0,a=0,c=0,f=0,u,p=0,l=1,h=1,d=null,m=Sw,g=null,y,x,b,w=Ql,_=.5,v,M,E,T,I;function A(C){return E(C[0]*vt,C[1]*vt)}function k(C){return C=E.invert(C[0],C[1]),C&&[C[0]*ce,C[1]*ce]}A.stream=function(C){return T&&I===C?T:T=$$(D$(u)(m(v(w(I=C)))))},A.preclip=function(C){return arguments.length?(m=C,d=void 0,S()):m},A.postclip=function(C){return arguments.length?(w=C,g=y=x=b=null,S()):w},A.clipAngle=function(C){return arguments.length?(m=+C?oS(d=C*vt):(d=null,Sw),S()):d*ce},A.clipExtent=function(C){return arguments.length?(w=C==null?(g=y=x=b=null,Ql):tf(g=+C[0][0],y=+C[0][1],x=+C[1][0],b=+C[1][1]),S()):g==null?null:[[g,y],[x,b]]},A.scale=function(C){return arguments.length?(n=+C,L()):n},A.translate=function(C){return arguments.length?(r=+C[0],o=+C[1],L()):[r,o]},A.center=function(C){return arguments.length?(i=C[0]%360*vt,s=C[1]%360*vt,L()):[i*ce,s*ce]},A.rotate=function(C){return arguments.length?(a=C[0]%360*vt,c=C[1]%360*vt,f=C.length>2?C[2]%360*vt:0,L()):[a*ce,c*ce,f*ce]},A.angle=function(C){return arguments.length?(p=C%360*vt,L()):p*ce},A.reflectX=function(C){return arguments.length?(l=C?-1:1,L()):l<0},A.reflectY=function(C){return arguments.length?(h=C?-1:1,L()):h<0},A.precision=function(C){return arguments.length?(v=Yw(M,_=C*C),S()):jt(_)},A.fitExtent=function(C,N){return np(A,C,N)},A.fitSize=function(C,N){return dg(A,C,N)},A.fitWidth=function(C,N){return mg(A,C,N)},A.fitHeight=function(C,N){return gg(A,C,N)};function L(){var C=SS(n,0,0,l,h,p).apply(null,e(i,s)),N=SS(n,r-C[0],o-C[1],l,h,p);return u=_w(a,c,f),M=Vl(e,N),E=Vl(u,M),v=Yw(M,_),S()}function S(){return T=I=null,A}return function(){return e=t.apply(this,arguments),A.invert=e.invert&&k,L()}}function af(t){var e=0,n=mt/3,r=Uw(t),o=r(e,n);return o.parallels=function(i){return arguments.length?r(e=i[0]*vt,n=i[1]*vt):[e*ce,n*ce]},o}function AS(t){var e=H(t);function n(r,o){return[r*e,V(o)/e]}return n.invert=function(r,o){return[r/e,Zt(o*e)]},n}function ES(t,e){var n=V(t),r=(n+V(e))/2;if(wt(r)<Z)return AS(t);var o=1+n*(2*r-n),i=jt(o)/r;function s(a,c){var f=jt(o-2*r*V(c))/r;return[f*V(a*=r),i-f*H(a)]}return s.invert=function(a,c){var f=i-c,u=xe(a,wt(f))*un(f);return f*r<0&&(u-=mt*un(a)*un(f)),[u/r,Zt((o-(a*a+f*f)*r*r)/(2*r))]},s}function es(){return af(ES).scale(155.424).center([0,33.6442])}function rp(){return es().parallels([29.5,45.5]).scale(1070).translate([480,250]).rotate([96,0]).center([-.6,38.7])}function P$(t){var e=t.length;return{point:function(n,r){for(var o=-1;++o<e;)t[o].point(n,r)},sphere:function(){for(var n=-1;++n<e;)t[n].sphere()},lineStart:function(){for(var n=-1;++n<e;)t[n].lineStart()},lineEnd:function(){for(var n=-1;++n<e;)t[n].lineEnd()},polygonStart:function(){for(var n=-1;++n<e;)t[n].polygonStart()},polygonEnd:function(){for(var n=-1;++n<e;)t[n].polygonEnd()}}}function jw(){var t,e,n=rp(),r,o=es().rotate([154,0]).center([-2,58.5]).parallels([55,65]),i,s=es().rotate([157,0]).center([-3,19.9]).parallels([8,18]),a,c,f={point:function(l,h){c=[l,h]}};function u(l){var h=l[0],d=l[1];return c=null,r.point(h,d),c||(i.point(h,d),c)||(a.point(h,d),c)}u.invert=function(l){var h=n.scale(),d=n.translate(),m=(l[0]-d[0])/h,g=(l[1]-d[1])/h;return(g>=.12&&g<.234&&m>=-.425&&m<-.214?o:g>=.166&&g<.234&&m>=-.214&&m<-.115?s:n).invert(l)},u.stream=function(l){return t&&e===l?t:t=P$([n.stream(e=l),o.stream(l),s.stream(l)])},u.precision=function(l){return arguments.length?(n.precision(l),o.precision(l),s.precision(l),p()):n.precision()},u.scale=function(l){return arguments.length?(n.scale(l),o.scale(l*.35),s.scale(l),u.translate(n.translate())):n.scale()},u.translate=function(l){if(!arguments.length)return n.translate();var h=n.scale(),d=+l[0],m=+l[1];return r=n.translate(l).clipExtent([[d-.455*h,m-.238*h],[d+.455*h,m+.238*h]]).stream(f),i=o.translate([d-.307*h,m+.201*h]).clipExtent([[d-.425*h+Z,m+.12*h+Z],[d-.214*h-Z,m+.234*h-Z]]).stream(f),a=s.translate([d-.205*h,m+.212*h]).clipExtent([[d-.214*h+Z,m+.166*h+Z],[d-.115*h-Z,m+.234*h-Z]]).stream(f),p()},u.fitExtent=function(l,h){return np(u,l,h)},u.fitSize=function(l,h){return dg(u,l,h)},u.fitWidth=function(l,h){return mg(u,l,h)},u.fitHeight=function(l,h){return gg(u,l,h)};function p(){return t=e=null,u}return u.scale(1070)}function yg(t){return function(e,n){var r=H(e),o=H(n),i=t(r*o);return i===1/0?[2,0]:[i*o*V(e),i*V(n)]}}function uo(t){return function(e,n){var r=jt(e*e+n*n),o=t(r),i=V(o),s=H(o);return[xe(e*i,r*s),Zt(r&&n*i/r)]}}var Xw=yg(function(t){return jt(2/(1+t))});Xw.invert=uo(function(t){return 2*Zt(t/2)});function Ww(){return Ze(Xw).scale(124.75).clipAngle(180-.001)}var Gw=yg(function(t){return(t=W0(t))&&t/V(t)});Gw.invert=uo(function(t){return t});function Vw(){return Ze(Gw).scale(79.4188).clipAngle(180-.001)}function cf(t,e){return[t,xa(Zc((Ut+e)/2))]}cf.invert=function(t,e){return[t,2*dr(U0(e))-Ut]};function Hw(){return Qw(cf).scale(961/$e)}function Qw(t){var e=Ze(t),n=e.center,r=e.scale,o=e.translate,i=e.clipExtent,s=null,a,c,f;e.scale=function(p){return arguments.length?(r(p),u()):r()},e.translate=function(p){return arguments.length?(o(p),u()):o()},e.center=function(p){return arguments.length?(n(p),u()):n()},e.clipExtent=function(p){return arguments.length?(p==null?s=a=c=f=null:(s=+p[0][0],a=+p[0][1],c=+p[1][0],f=+p[1][1]),u()):s==null?null:[[s,a],[c,f]]};function u(){var p=mt*r(),l=e(J8(e.rotate()).invert([0,0]));return i(s==null?[[l[0]-p,l[1]-p],[l[0]+p,l[1]+p]]:t===cf?[[Math.max(l[0]-p,s),a],[Math.min(l[0]+p,c),f]]:[[s,Math.max(l[1]-p,a)],[c,Math.min(l[1]+p,f)]])}return u()}function xg(t){return Zc((Ut+t)/2)}function TS(t,e){var n=H(t),r=t===e?V(t):xa(n/H(e))/xa(xg(e)/xg(t)),o=n*X0(xg(t),r)/r;if(!r)return cf;function i(s,a){o>0?a<-Ut+Z&&(a=-Ut+Z):a>Ut-Z&&(a=Ut-Z);var c=o/X0(xg(a),r);return[c*V(r*s),o-c*H(r*s)]}return i.invert=function(s,a){var c=o-a,f=un(r)*jt(s*s+c*c),u=xe(s,wt(c))*un(c);return c*r<0&&(u-=mt*un(s)*un(c)),[u/r,2*dr(X0(o/f,1/r))-Ut]},i}function Zw(){return af(TS).scale(109.5).parallels([30,30])}function ff(t,e){return[t,e]}ff.invert=ff;function Kw(){return Ze(ff).scale(152.63)}function IS(t,e){var n=H(t),r=t===e?V(t):(n-H(e))/(e-t),o=n/r+t;if(wt(r)<Z)return ff;function i(s,a){var c=o-a,f=r*s;return[c*V(f),o-c*H(f)]}return i.invert=function(s,a){var c=o-a,f=xe(s,wt(c))*un(c);return c*r<0&&(f-=mt*un(s)*un(c)),[f/r,o-un(r)*jt(s*s+c*c)]},i}function Jw(){return af(IS).scale(131.154).center([0,13.9389])}var op=1.340264,ip=-.081106,sp=893e-6,ap=.003796,bg=jt(3)/2,q$=12;function tv(t,e){var n=Zt(bg*V(e)),r=n*n,o=r*r*r;return[t*H(n)/(bg*(op+3*ip*r+o*(7*sp+9*ap*r))),n*(op+ip*r+o*(sp+ap*r))]}tv.invert=function(t,e){for(var n=e,r=n*n,o=r*r*r,i=0,s,a,c;i<q$&&(a=n*(op+ip*r+o*(sp+ap*r))-e,c=op+3*ip*r+o*(7*sp+9*ap*r),n-=s=a/c,r=n*n,o=r*r*r,!(wt(s)<ya));++i);return[bg*t*(op+3*ip*r+o*(7*sp+9*ap*r))/H(n),Zt(V(n)/bg)]};function ev(){return Ze(tv).scale(177.158)}function nv(t,e){var n=H(e),r=H(t)*n;return[n*V(t)/r,V(e)/r]}nv.invert=uo(dr);function rv(){return Ze(nv).scale(144.049).clipAngle(60)}function ov(t,e){return[H(e)*V(t),V(e)]}ov.invert=uo(Zt);function iv(){return Ze(ov).scale(249.5).clipAngle(90+Z)}function sv(t,e){var n=H(e),r=1+H(t)*n;return[n*V(t)/r,V(e)/r]}sv.invert=uo(function(t){return 2*dr(t)});function av(){return Ze(sv).scale(250).clipAngle(142)}function cv(t,e){return[xa(Zc((Ut+e)/2)),-t]}cv.invert=function(t,e){return[-e,2*dr(U0(t))-Ut]};function fv(){var t=Qw(cv),e=t.center,n=t.rotate;return t.center=function(r){return arguments.length?e([-r[1],r[0]]):(r=e(),[r[1],-r[0]])},t.rotate=function(r){return arguments.length?n([r[0],r[1],r.length>2?r[2]+90:90]):(r=n(),[r[0],r[1],r[2]-90])},n([0,0,90]).scale(159.155)}function B$(t,e){return t.parent===e.parent?1:2}function z$(t){return t.reduce(Y$,0)/t.length}function Y$(t,e){return t+e.x}function U$(t){return 1+t.reduce(j$,0)}function j$(t,e){return Math.max(t,e.y)}function X$(t){for(var e;e=t.children;)t=e[0];return t}function W$(t){for(var e;e=t.children;)t=e[e.length-1];return t}function wg(){var t=B$,e=1,n=1,r=!1;function o(i){var s,a=0;i.eachAfter(function(l){var h=l.children;h?(l.x=z$(h),l.y=U$(h)):(l.x=s?a+=t(l,s):0,l.y=0,s=l)});var c=X$(i),f=W$(i),u=c.x-t(c,f)/2,p=f.x+t(f,c)/2;return i.eachAfter(r?function(l){l.x=(l.x-i.x)*e,l.y=(i.y-l.y)*n}:function(l){l.x=(l.x-u)/(p-u)*e,l.y=(1-(i.y?l.y/i.y:1))*n})}return o.separation=function(i){return arguments.length?(t=i,o):t},o.size=function(i){return arguments.length?(r=!1,e=+i[0],n=+i[1],o):r?null:[e,n]},o.nodeSize=function(i){return arguments.length?(r=!0,e=+i[0],n=+i[1],o):r?[e,n]:null},o}function G$(t){var e=0,n=t.children,r=n&&n.length;if(!r)e=1;else for(;--r>=0;)e+=n[r].value;t.value=e}function CS(){return this.eachAfter(G$)}function NS(t,e){let n=-1;for(let r of this)t.call(e,r,++n,this);return this}function kS(t,e){for(var n=this,r=[n],o,i,s=-1;n=r.pop();)if(t.call(e,n,++s,this),o=n.children)for(i=o.length-1;i>=0;--i)r.push(o[i]);return this}function RS(t,e){for(var n=this,r=[n],o=[],i,s,a,c=-1;n=r.pop();)if(o.push(n),i=n.children)for(s=0,a=i.length;s<a;++s)r.push(i[s]);for(;n=o.pop();)t.call(e,n,++c,this);return this}function LS(t,e){let n=-1;for(let r of this)if(t.call(e,r,++n,this))return r}function OS(t){return this.eachAfter(function(e){for(var n=+t(e.data)||0,r=e.children,o=r&&r.length;--o>=0;)n+=r[o].value;e.value=n})}function $S(t){return this.eachBefore(function(e){e.children&&e.children.sort(t)})}function DS(t){for(var e=this,n=V$(e,t),r=[e];e!==n;)e=e.parent,r.push(e);for(var o=r.length;t!==n;)r.splice(o,0,t),t=t.parent;return r}function V$(t,e){if(t===e)return t;var n=t.ancestors(),r=e.ancestors(),o=null;for(t=n.pop(),e=r.pop();t===e;)o=t,t=n.pop(),e=r.pop();return o}function FS(){for(var t=this,e=[t];t=t.parent;)e.push(t);return e}function PS(){return Array.from(this)}function qS(){var t=[];return this.eachBefore(function(e){e.children||t.push(e)}),t}function BS(){var t=this,e=[];return t.each(function(n){n!==t&&e.push({source:n.parent,target:n})}),e}function*zS(){var t=this,e,n=[t],r,o,i;do for(e=n.reverse(),n=[];t=e.pop();)if(yield t,r=t.children)for(o=0,i=r.length;o<i;++o)n.push(r[o]);while(n.length)}function uv(t,e){t instanceof Map?(t=[void 0,t],e===void 0&&(e=Z$)):e===void 0&&(e=Q$);for(var n=new ns(t),r,o=[n],i,s,a,c;r=o.pop();)if((s=e(r.data))&&(c=(s=Array.from(s)).length))for(r.children=s,a=c-1;a>=0;--a)o.push(i=s[a]=new ns(s[a])),i.parent=r,i.depth=r.depth+1;return n.eachBefore(lv)}function H$(){return uv(this).eachBefore(K$)}function Q$(t){return t.children}function Z$(t){return Array.isArray(t)?t[1]:null}function K$(t){t.data.value!==void 0&&(t.value=t.data.value),t.data=t.data.data}function lv(t){var e=0;do t.height=e;while((t=t.parent)&&t.height<++e)}function ns(t){this.data=t,this.depth=this.height=0,this.parent=null}ns.prototype=uv.prototype={constructor:ns,count:CS,each:NS,eachAfter:RS,eachBefore:kS,find:LS,sum:OS,sort:$S,path:DS,ancestors:FS,descendants:PS,leaves:qS,links:BS,copy:H$,[Symbol.iterator]:zS};function vg(t){return t==null?null:J$(t)}function J$(t){if(typeof t!="function")throw new Error;return t}var tD={depth:-1},YS={},pv={};function eD(t){return t.id}function nD(t){return t.parentId}function _g(){var t=eD,e=nD,n;function r(o){var i=Array.from(o),s=t,a=e,c,f,u,p,l,h,d,m,g=new Map;if(n!=null){let y=i.map((w,_)=>rD(n(w,_,o))),x=y.map(US),b=new Set(y).add("");for(let w of x)b.has(w)||(b.add(w),y.push(w),x.push(US(w)),i.push(pv));s=(w,_)=>y[_],a=(w,_)=>x[_]}for(u=0,c=i.length;u<c;++u)f=i[u],h=i[u]=new ns(f),(d=s(f,u,o))!=null&&(d+="")&&(m=h.id=d,g.set(m,g.has(m)?YS:h)),(d=a(f,u,o))!=null&&(d+="")&&(h.parent=d);for(u=0;u<c;++u)if(h=i[u],d=h.parent){if(l=g.get(d),!l)throw new Error("missing: "+d);if(l===YS)throw new Error("ambiguous: "+d);l.children?l.children.push(h):l.children=[h],h.parent=l}else{if(p)throw new Error("multiple roots");p=h}if(!p)throw new Error("no root");if(n!=null){for(;p.data===pv&&p.children.length===1;)p=p.children[0],--c;for(let y=i.length-1;y>=0&&(h=i[y],h.data===pv);--y)h.data=null}if(p.parent=tD,p.eachBefore(function(y){y.depth=y.parent.depth+1,--c}).eachBefore(lv),p.parent=null,c>0)throw new Error("cycle");return p}return r.id=function(o){return arguments.length?(t=vg(o),r):t},r.parentId=function(o){return arguments.length?(e=vg(o),r):e},r.path=function(o){return arguments.length?(n=vg(o),r):n},r}function rD(t){t=`${t}`;let e=t.length;return hv(t,e-1)&&!hv(t,e-2)&&(t=t.slice(0,-1)),t[0]==="/"?t:`/${t}`}function US(t){let e=t.length;if(e<2)return"";for(;--e>1&&!hv(t,e););return t.slice(0,e)}function hv(t,e){if(t[e]==="/"){let n=0;for(;e>0&&t[--e]==="\\";)++n;if(!(n&1))return!0}return!1}function oD(t,e){return t.parent===e.parent?1:2}function dv(t){var e=t.children;return e?e[0]:t.t}function mv(t){var e=t.children;return e?e[e.length-1]:t.t}function iD(t,e,n){var r=n/(e.i-t.i);e.c-=r,e.s+=n,t.c+=r,e.z+=n,e.m+=n}function sD(t){for(var e=0,n=0,r=t.children,o=r.length,i;--o>=0;)i=r[o],i.z+=e,i.m+=e,e+=i.s+(n+=i.c)}function aD(t,e,n){return t.a.parent===e.parent?t.a:n}function Mg(t,e){this._=t,this.parent=null,this.children=null,this.A=null,this.a=this,this.z=0,this.m=0,this.c=0,this.s=0,this.t=null,this.i=e}Mg.prototype=Object.create(ns.prototype);function cD(t){for(var e=new Mg(t,0),n,r=[e],o,i,s,a;n=r.pop();)if(i=n._.children)for(n.children=new Array(a=i.length),s=a-1;s>=0;--s)r.push(o=n.children[s]=new Mg(i[s],s)),o.parent=n;return(e.parent=new Mg(null,0)).children=[e],e}function va(){var t=oD,e=1,n=1,r=null;function o(f){var u=cD(f);if(u.eachAfter(i),u.parent.m=-u.z,u.eachBefore(s),r)f.eachBefore(c);else{var p=f,l=f,h=f;f.eachBefore(function(x){x.x<p.x&&(p=x),x.x>l.x&&(l=x),x.depth>h.depth&&(h=x)});var d=p===l?1:t(p,l)/2,m=d-p.x,g=e/(l.x+d+m),y=n/(h.depth||1);f.eachBefore(function(x){x.x=(x.x+m)*g,x.y=x.depth*y})}return f}function i(f){var u=f.children,p=f.parent.children,l=f.i?p[f.i-1]:null;if(u){sD(f);var h=(u[0].z+u[u.length-1].z)/2;l?(f.z=l.z+t(f._,l._),f.m=f.z-h):f.z=h}else l&&(f.z=l.z+t(f._,l._));f.parent.A=a(f,l,f.parent.A||p[0])}function s(f){f._.x=f.z+f.parent.m,f.m+=f.parent.m}function a(f,u,p){if(u){for(var l=f,h=f,d=u,m=l.parent.children[0],g=l.m,y=h.m,x=d.m,b=m.m,w;d=mv(d),l=dv(l),d&&l;)m=dv(m),h=mv(h),h.a=f,w=d.z+x-l.z-g+t(d._,l._),w>0&&(iD(aD(d,f,p),f,w),g+=w,y+=w),x+=d.m,g+=l.m,b+=m.m,y+=h.m;d&&!mv(h)&&(h.t=d,h.m+=x-y),l&&!dv(m)&&(m.t=l,m.m+=g-b,p=f)}return p}function c(f){f.x*=e,f.y=f.depth*n}return o.separation=function(f){return arguments.length?(t=f,o):t},o.size=function(f){return arguments.length?(r=!1,e=+f[0],n=+f[1],o):r?null:[e,n]},o.nodeSize=function(f){return arguments.length?(r=!0,e=+f[0],n=+f[1],o):r?[e,n]:null},o}var jS=23283064365386963e-26;function _a(t=Math.random()){let e=(0<=t&&t<1?t/jS:Math.abs(t))|0;return()=>(e=1664525*e+1013904223|0,jS*(e>>>0))}function we(t,e){switch(arguments.length){case 0:break;case 1:this.range(t);break;default:this.range(e).domain(t);break}return this}function cp(t,e){switch(arguments.length){case 0:break;case 1:{typeof t=="function"?this.interpolator(t):this.range(t);break}default:{this.domain(t),typeof e=="function"?this.interpolator(e):this.range(e);break}}return this}var fp=Symbol("implicit");function Ma(){var t=new wn,e=[],n=[],r=fp;function o(i){let s=t.get(i);if(s===void 0){if(r!==fp)return r;t.set(i,s=e.push(i)-1)}return n[s%n.length]}return o.domain=function(i){if(!arguments.length)return e.slice();e=[],t=new wn;for(let s of i)t.has(s)||t.set(s,e.push(s)-1);return o},o.range=function(i){return arguments.length?(n=Array.from(i),o):n.slice()},o.unknown=function(i){return arguments.length?(r=i,o):r},o.copy=function(){return Ma(e,n).unknown(r)},we.apply(o,arguments),o}function rs(){var t=Ma().unknown(void 0),e=t.domain,n=t.range,r=0,o=1,i,s,a=!1,c=0,f=0,u=.5;delete t.unknown;function p(){var l=e().length,h=o<r,d=h?o:r,m=h?r:o;i=(m-d)/Math.max(1,l-c+f*2),a&&(i=Math.floor(i)),d+=(m-d-i*(l-c))*u,s=i*(1-c),a&&(d=Math.round(d),s=Math.round(s));var g=pe(l).map(function(y){return d+i*y});return n(h?g.reverse():g)}return t.domain=function(l){return arguments.length?(e(l),p()):e()},t.range=function(l){return arguments.length?([r,o]=l,r=+r,o=+o,p()):[r,o]},t.rangeRound=function(l){return[r,o]=l,r=+r,o=+o,a=!0,p()},t.bandwidth=function(){return s},t.step=function(){return i},t.round=function(l){return arguments.length?(a=!!l,p()):a},t.padding=function(l){return arguments.length?(c=Math.min(1,f=+l),p()):c},t.paddingInner=function(l){return arguments.length?(c=Math.min(1,l),p()):c},t.paddingOuter=function(l){return arguments.length?(f=+l,p()):f},t.align=function(l){return arguments.length?(u=Math.max(0,Math.min(1,l)),p()):u},t.copy=function(){return rs(e(),[r,o]).round(a).paddingInner(c).paddingOuter(f).align(u)},we.apply(p(),arguments)}function XS(t){var e=t.copy;return t.padding=t.paddingOuter,delete t.paddingInner,delete t.paddingOuter,t.copy=function(){return XS(e())},t}function gv(){return XS(rs.apply(null,arguments).paddingInner(1))}function yv(t){return function(){return t}}function uf(t){return+t}var WS=[0,1];function Pn(t){return t}function xv(t,e){return(e-=t=+t)?function(n){return(n-t)/e}:yv(isNaN(e)?NaN:.5)}function fD(t,e){var n;return t>e&&(n=t,t=e,e=n),function(r){return Math.max(t,Math.min(e,r))}}function uD(t,e,n){var r=t[0],o=t[1],i=e[0],s=e[1];return o<r?(r=xv(o,r),i=n(s,i)):(r=xv(r,o),i=n(i,s)),function(a){return i(r(a))}}function lD(t,e,n){var r=Math.min(t.length,e.length)-1,o=new Array(r),i=new Array(r),s=-1;for(t[r]<t[0]&&(t=t.slice().reverse(),e=e.slice().reverse());++s<r;)o[s]=xv(t[s],t[s+1]),i[s]=n(e[s],e[s+1]);return function(a){var c=Go(t,a,1,r)-1;return i[c](o[c](a))}}function lo(t,e){return e.domain(t.domain()).range(t.range()).interpolate(t.interpolate()).clamp(t.clamp()).unknown(t.unknown())}function Sa(){var t=WS,e=WS,n=Wn,r,o,i,s=Pn,a,c,f;function u(){var l=Math.min(t.length,e.length);return s!==Pn&&(s=fD(t[0],t[l-1])),a=l>2?lD:uD,c=f=null,p}function p(l){return l==null||isNaN(l=+l)?i:(c||(c=a(t.map(r),e,n)))(r(s(l)))}return p.invert=function(l){return s(o((f||(f=a(e,t.map(r),Qt)))(l)))},p.domain=function(l){return arguments.length?(t=Array.from(l,uf),u()):t.slice()},p.range=function(l){return arguments.length?(e=Array.from(l),u()):e.slice()},p.rangeRound=function(l){return e=Array.from(l),n=la,u()},p.clamp=function(l){return arguments.length?(s=l?!0:Pn,u()):s!==Pn},p.interpolate=function(l){return arguments.length?(n=l,u()):n},p.unknown=function(l){return arguments.length?(i=l,p):i},function(l,h){return r=l,o=h,u()}}function up(){return Sa()(Pn,Pn)}function bv(t,e,n,r){var o=Rc(t,e,n),i;switch(r=so(r??",f"),r.type){case"s":{var s=Math.max(Math.abs(t),Math.abs(e));return r.precision==null&&!isNaN(i=pw(o,s))&&(r.precision=i),Y0(r,s)}case"":case"e":case"g":case"p":case"r":{r.precision==null&&!isNaN(i=hw(o,Math.max(Math.abs(t),Math.abs(e))))&&(r.precision=i-(r.type==="e"));break}case"f":case"%":{r.precision==null&&!isNaN(i=lw(o))&&(r.precision=i-(r.type==="%")*2);break}}return hr(r)}function ii(t){var e=t.domain;return t.ticks=function(n){var r=e();return He(r[0],r[r.length-1],n??10)},t.tickFormat=function(n,r){var o=e();return bv(o[0],o[o.length-1],n??10,r)},t.nice=function(n){n==null&&(n=10);var r=e(),o=0,i=r.length-1,s=r[o],a=r[i],c,f,u=10;for(a<s&&(f=s,s=a,a=f,f=o,o=i,i=f);u-- >0;){if(f=Ho(s,a,n),f===c)return r[o]=s,r[i]=a,e(r);if(f>0)s=Math.floor(s/f)*f,a=Math.ceil(a/f)*f;else if(f<0)s=Math.ceil(s*f)/f,a=Math.floor(a*f)/f;else break;c=f}return t},t}function si(){var t=up();return t.copy=function(){return lo(t,si())},we.apply(t,arguments),ii(t)}function lp(t){var e;function n(r){return r==null||isNaN(r=+r)?e:r}return n.invert=n,n.domain=n.range=function(r){return arguments.length?(t=Array.from(r,uf),n):t.slice()},n.unknown=function(r){return arguments.length?(e=r,n):e},n.copy=function(){return lp(t).unknown(e)},t=arguments.length?Array.from(t,uf):[0,1],ii(n)}function pp(t,e){t=t.slice();var n=0,r=t.length-1,o=t[n],i=t[r],s;return i<o&&(s=n,n=r,r=s,s=o,o=i,i=s),t[n]=e.floor(o),t[r]=e.ceil(i),t}function GS(t){return Math.log(t)}function VS(t){return Math.exp(t)}function pD(t){return-Math.log(-t)}function hD(t){return-Math.exp(-t)}function dD(t){return isFinite(t)?+("1e"+t):t<0?0:t}function mD(t){return t===10?dD:t===Math.E?Math.exp:e=>Math.pow(t,e)}function gD(t){return t===Math.E?Math.log:t===10&&Math.log10||t===2&&Math.log2||(t=Math.log(t),e=>Math.log(e)/t)}function HS(t){return(e,n)=>-t(-e,n)}function wv(t){let e=t(GS,VS),n=e.domain,r=10,o,i;function s(){return o=gD(r),i=mD(r),n()[0]<0?(o=HS(o),i=HS(i),t(pD,hD)):t(GS,VS),e}return e.base=function(a){return arguments.length?(r=+a,s()):r},e.domain=function(a){return arguments.length?(n(a),s()):n()},e.ticks=a=>{let c=n(),f=c[0],u=c[c.length-1],p=u<f;p&&([f,u]=[u,f]);let l=o(f),h=o(u),d,m,g=a==null?10:+a,y=[];if(!(r%1)&&h-l<g){if(l=Math.floor(l),h=Math.ceil(h),f>0){for(;l<=h;++l)for(d=1;d<r;++d)if(m=l<0?d/i(-l):d*i(l),!(m<f)){if(m>u)break;y.push(m)}}else for(;l<=h;++l)for(d=r-1;d>=1;--d)if(m=l>0?d/i(-l):d*i(l),!(m<f)){if(m>u)break;y.push(m)}y.length*2<g&&(y=He(f,u,g))}else y=He(l,h,Math.min(h-l,g)).map(i);return p?y.reverse():y},e.tickFormat=(a,c)=>{if(a==null&&(a=10),c==null&&(c=r===10?"s":","),typeof c!="function"&&(!(r%1)&&(c=so(c)).precision==null&&(c.trim=!0),c=hr(c)),a===1/0)return c;let f=Math.max(1,r*a/e.ticks().length);return u=>{let p=u/i(Math.round(o(u)));return p*r<r-.5&&(p*=r),p<=f?c(u):""}},e.nice=()=>n(pp(n(),{floor:a=>i(Math.floor(o(a))),ceil:a=>i(Math.ceil(o(a)))})),e}function hp(){let t=wv(Sa()).domain([1,10]);return t.copy=()=>lo(t,hp()).base(t.base()),we.apply(t,arguments),t}function QS(t){return function(e){return Math.sign(e)*Math.log1p(Math.abs(e/t))}}function ZS(t){return function(e){return Math.sign(e)*Math.expm1(Math.abs(e))*t}}function vv(t){var e=1,n=t(QS(e),ZS(e));return n.constant=function(r){return arguments.length?t(QS(e=+r),ZS(e)):e},ii(n)}function dp(){var t=vv(Sa());return t.copy=function(){return lo(t,dp()).constant(t.constant())},we.apply(t,arguments)}function KS(t){return function(e){return e<0?-Math.pow(-e,t):Math.pow(e,t)}}function yD(t){return t<0?-Math.sqrt(-t):Math.sqrt(t)}function xD(t){return t<0?-t*t:t*t}function _v(t){var e=t(Pn,Pn),n=1;function r(){return n===1?t(Pn,Pn):n===.5?t(yD,xD):t(KS(n),KS(1/n))}return e.exponent=function(o){return arguments.length?(n=+o,r()):n},ii(e)}function mp(){var t=_v(Sa());return t.copy=function(){return lo(t,mp()).exponent(t.exponent())},we.apply(t,arguments),t}function gp(){var t=[],e=[],n=[],r;function o(){var s=0,a=Math.max(1,e.length);for(n=new Array(a-1);++s<a;)n[s-1]=v2(t,s/a);return i}function i(s){return s==null||isNaN(s=+s)?r:e[Go(n,s)]}return i.invertExtent=function(s){var a=e.indexOf(s);return a<0?[NaN,NaN]:[a>0?n[a-1]:t[0],a<n.length?n[a]:t[t.length-1]]},i.domain=function(s){if(!arguments.length)return t.slice();t=[];for(let a of s)a!=null&&!isNaN(a=+a)&&t.push(a);return t.sort(dt),o()},i.range=function(s){return arguments.length?(e=Array.from(s),o()):e.slice()},i.unknown=function(s){return arguments.length?(r=s,i):r},i.quantiles=function(){return n.slice()},i.copy=function(){return gp().domain(t).range(e).unknown(r)},we.apply(i,arguments)}function yp(){var t=[.5],e=[0,1],n,r=1;function o(i){return i!=null&&i<=i?e[Go(t,i,0,r)]:n}return o.domain=function(i){return arguments.length?(t=Array.from(i),r=Math.min(t.length,e.length-1),o):t.slice()},o.range=function(i){return arguments.length?(e=Array.from(i),r=Math.min(t.length,e.length-1),o):e.slice()},o.invertExtent=function(i){var s=e.indexOf(i);return[t[s-1],t[s]]},o.unknown=function(i){return arguments.length?(n=i,o):n},o.copy=function(){return yp().domain(t).range(e).unknown(n)},we.apply(o,arguments)}var Mv=new Date,Sv=new Date;function Wt(t,e,n,r){function o(i){return t(i=arguments.length===0?new Date:new Date(+i)),i}return o.floor=i=>(t(i=new Date(+i)),i),o.ceil=i=>(t(i=new Date(i-1)),e(i,1),t(i),i),o.round=i=>{let s=o(i),a=o.ceil(i);return i-s<a-i?s:a},o.offset=(i,s)=>(e(i=new Date(+i),s==null?1:Math.floor(s)),i),o.range=(i,s,a)=>{let c=[];if(i=o.ceil(i),a=a==null?1:Math.floor(a),!(i<s)||!(a>0))return c;let f;do c.push(f=new Date(+i)),e(i,a),t(i);while(f<i&&i<s);return c},o.filter=i=>Wt(s=>{if(s>=s)for(;t(s),!i(s);)s.setTime(s-1)},(s,a)=>{if(s>=s)if(a<0)for(;++a<=0;)for(;e(s,-1),!i(s););else for(;--a>=0;)for(;e(s,1),!i(s););}),n&&(o.count=(i,s)=>(Mv.setTime(+i),Sv.setTime(+s),t(Mv),t(Sv),Math.floor(n(Mv,Sv))),o.every=i=>(i=Math.floor(i),!isFinite(i)||!(i>0)?null:i>1?o.filter(r?s=>r(s)%i===0:s=>o.count(0,s)%i===0):o)),o}var xp=Wt(()=>{},(t,e)=>{t.setTime(+t+e)},(t,e)=>e-t);xp.every=t=>(t=Math.floor(t),!isFinite(t)||!(t>0)?null:t>1?Wt(e=>{e.setTime(Math.floor(e/t)*t)},(e,n)=>{e.setTime(+e+n*t)},(e,n)=>(n-e)/t):xp);var qbt=xp.range;var Fe=Wt(t=>{t.setTime(t-t.getMilliseconds())},(t,e)=>{t.setTime(+t+e*1e3)},(t,e)=>(e-t)/1e3,t=>t.getUTCSeconds()),JS=Fe.range;var ai=Wt(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*1e3)},(t,e)=>{t.setTime(+t+e*6e4)},(t,e)=>(e-t)/6e4,t=>t.getMinutes()),bD=ai.range,ci=Wt(t=>{t.setUTCSeconds(0,0)},(t,e)=>{t.setTime(+t+e*6e4)},(t,e)=>(e-t)/6e4,t=>t.getUTCMinutes()),wD=ci.range;var fi=Wt(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*1e3-t.getMinutes()*6e4)},(t,e)=>{t.setTime(+t+e*36e5)},(t,e)=>(e-t)/36e5,t=>t.getHours()),vD=fi.range,ui=Wt(t=>{t.setUTCMinutes(0,0,0)},(t,e)=>{t.setTime(+t+e*36e5)},(t,e)=>(e-t)/36e5,t=>t.getUTCHours()),_D=ui.range;var mr=Wt(t=>t.setHours(0,0,0,0),(t,e)=>t.setDate(t.getDate()+e),(t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*6e4)/864e5,t=>t.getDate()-1),MD=mr.range,Ta=Wt(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/864e5,t=>t.getUTCDate()-1),SD=Ta.range,Ia=Wt(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/864e5,t=>Math.floor(t/864e5)),AD=Ia.range;function Ca(t){return Wt(e=>{e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)},(e,n)=>{e.setDate(e.getDate()+n*7)},(e,n)=>(n-e-(n.getTimezoneOffset()-e.getTimezoneOffset())*6e4)/6048e5)}var Vn=Ca(0),os=Ca(1),Sg=Ca(2),Ag=Ca(3),ho=Ca(4),Eg=Ca(5),Tg=Ca(6),eA=Vn.range,ED=os.range,TD=Sg.range,ID=Ag.range,CD=ho.range,ND=Eg.range,kD=Tg.range;function Na(t){return Wt(e=>{e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)},(e,n)=>{e.setUTCDate(e.getUTCDate()+n*7)},(e,n)=>(n-e)/6048e5)}var Hn=Na(0),is=Na(1),Ig=Na(2),Cg=Na(3),mo=Na(4),Ng=Na(5),kg=Na(6),nA=Hn.range,RD=is.range,LD=Ig.range,OD=Cg.range,$D=mo.range,DD=Ng.range,FD=kg.range;var li=Wt(t=>{t.setDate(1),t.setHours(0,0,0,0)},(t,e)=>{t.setMonth(t.getMonth()+e)},(t,e)=>e.getMonth()-t.getMonth()+(e.getFullYear()-t.getFullYear())*12,t=>t.getMonth()),PD=li.range,pi=Wt(t=>{t.setUTCDate(1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCMonth(t.getUTCMonth()+e)},(t,e)=>e.getUTCMonth()-t.getUTCMonth()+(e.getUTCFullYear()-t.getUTCFullYear())*12,t=>t.getUTCMonth()),qD=pi.range;var ln=Wt(t=>{t.setMonth(0,1),t.setHours(0,0,0,0)},(t,e)=>{t.setFullYear(t.getFullYear()+e)},(t,e)=>e.getFullYear()-t.getFullYear(),t=>t.getFullYear());ln.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:Wt(e=>{e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)},(e,n)=>{e.setFullYear(e.getFullYear()+n*t)});var BD=ln.range,pn=Wt(t=>{t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCFullYear(t.getUTCFullYear()+e)},(t,e)=>e.getUTCFullYear()-t.getUTCFullYear(),t=>t.getUTCFullYear());pn.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:Wt(e=>{e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,n)=>{e.setUTCFullYear(e.getUTCFullYear()+n*t)});var zD=pn.range;function oA(t,e,n,r,o,i){let s=[[Fe,1,1e3],[Fe,5,5*1e3],[Fe,15,15*1e3],[Fe,30,30*1e3],[i,1,6e4],[i,5,5*6e4],[i,15,15*6e4],[i,30,30*6e4],[o,1,36e5],[o,3,3*36e5],[o,6,6*36e5],[o,12,12*36e5],[r,1,864e5],[r,2,2*864e5],[n,1,6048e5],[e,1,2592e6],[e,3,3*2592e6],[t,1,31536e6]];function a(f,u,p){let l=u<f;l&&([f,u]=[u,f]);let h=p&&typeof p.range=="function"?p:c(f,u,p),d=h?h.range(f,+u+1):[];return l?d.reverse():d}function c(f,u,p){let l=Math.abs(u-f)/p,h=Nr(([,,g])=>g).right(s,l);if(h===s.length)return t.every(Rc(f/31536e6,u/31536e6,p));if(h===0)return xp.every(Math.max(Rc(f,u,p),1));let[d,m]=s[l/s[h-1][2]<s[h][2]/l?h-1:h];return d.every(m)}return[a,c]}var[Av,wp]=oA(pn,pi,Hn,Ia,ui,ci),[Ev,Tv]=oA(ln,li,Vn,mr,fi,ai);function Iv(t){if(0<=t.y&&t.y<100){var e=new Date(-1,t.m,t.d,t.H,t.M,t.S,t.L);return e.setFullYear(t.y),e}return new Date(t.y,t.m,t.d,t.H,t.M,t.S,t.L)}function Cv(t){if(0<=t.y&&t.y<100){var e=new Date(Date.UTC(-1,t.m,t.d,t.H,t.M,t.S,t.L));return e.setUTCFullYear(t.y),e}return new Date(Date.UTC(t.y,t.m,t.d,t.H,t.M,t.S,t.L))}function vp(t,e,n){return{y:t,m:e,d:n,H:0,M:0,S:0,L:0}}function Nv(t){var e=t.dateTime,n=t.date,r=t.time,o=t.periods,i=t.days,s=t.shortDays,a=t.months,c=t.shortMonths,f=_p(o),u=Mp(o),p=_p(i),l=Mp(i),h=_p(s),d=Mp(s),m=_p(a),g=Mp(a),y=_p(c),x=Mp(c),b={a:R,A:$,b:O,B:D,c:null,d:uA,e:uA,f:lF,g:vF,G:MF,H:cF,I:fF,j:uF,L:mA,m:pF,M:hF,p:F,q:P,Q:hA,s:dA,S:dF,u:mF,U:gF,V:yF,w:xF,W:bF,x:null,X:null,y:wF,Y:_F,Z:SF,"%":pA},w={a:W,A:K,b:tt,B:nt,c:null,d:lA,e:lA,f:IF,g:PF,G:BF,H:AF,I:EF,j:TF,L:yA,m:CF,M:NF,p:U,q:et,Q:hA,s:dA,S:kF,u:RF,U:LF,V:OF,w:$F,W:DF,x:null,X:null,y:FF,Y:qF,Z:zF,"%":pA},_={a:I,A,b:k,B:L,c:S,d:cA,e:cA,f:oF,g:aA,G:sA,H:fA,I:fA,j:tF,L:rF,m:JD,M:eF,p:T,q:KD,Q:sF,s:aF,S:nF,u:GD,U:VD,V:HD,w:WD,W:QD,x:C,X:N,y:aA,Y:sA,Z:ZD,"%":iF};b.x=v(n,b),b.X=v(r,b),b.c=v(e,b),w.x=v(n,w),w.X=v(r,w),w.c=v(e,w);function v(z,G){return function(J){var q=[],bt=-1,st=0,Tt=z.length,Ct,Q,Bt;for(J instanceof Date||(J=new Date(+J));++bt<Tt;)z.charCodeAt(bt)===37&&(q.push(z.slice(st,bt)),(Q=iA[Ct=z.charAt(++bt)])!=null?Ct=z.charAt(++bt):Q=Ct==="e"?" ":"0",(Bt=G[Ct])&&(Ct=Bt(J,Q)),q.push(Ct),st=bt+1);return q.push(z.slice(st,bt)),q.join("")}}function M(z,G){return function(J){var q=vp(1900,void 0,1),bt=E(q,z,J+="",0),st,Tt;if(bt!=J.length)return null;if("Q"in q)return new Date(q.Q);if("s"in q)return new Date(q.s*1e3+("L"in q?q.L:0));if(G&&!("Z"in q)&&(q.Z=0),"p"in q&&(q.H=q.H%12+q.p*12),q.m===void 0&&(q.m="q"in q?q.q:0),"V"in q){if(q.V<1||q.V>53)return null;"w"in q||(q.w=1),"Z"in q?(st=Cv(vp(q.y,0,1)),Tt=st.getUTCDay(),st=Tt>4||Tt===0?is.ceil(st):is(st),st=Ta.offset(st,(q.V-1)*7),q.y=st.getUTCFullYear(),q.m=st.getUTCMonth(),q.d=st.getUTCDate()+(q.w+6)%7):(st=Iv(vp(q.y,0,1)),Tt=st.getDay(),st=Tt>4||Tt===0?os.ceil(st):os(st),st=mr.offset(st,(q.V-1)*7),q.y=st.getFullYear(),q.m=st.getMonth(),q.d=st.getDate()+(q.w+6)%7)}else("W"in q||"U"in q)&&("w"in q||(q.w="u"in q?q.u%7:"W"in q?1:0),Tt="Z"in q?Cv(vp(q.y,0,1)).getUTCDay():Iv(vp(q.y,0,1)).getDay(),q.m=0,q.d="W"in q?(q.w+6)%7+q.W*7-(Tt+5)%7:q.w+q.U*7-(Tt+6)%7);return"Z"in q?(q.H+=q.Z/100|0,q.M+=q.Z%100,Cv(q)):Iv(q)}}function E(z,G,J,q){for(var bt=0,st=G.length,Tt=J.length,Ct,Q;bt<st;){if(q>=Tt)return-1;if(Ct=G.charCodeAt(bt++),Ct===37){if(Ct=G.charAt(bt++),Q=_[Ct in iA?G.charAt(bt++):Ct],!Q||(q=Q(z,J,q))<0)return-1}else if(Ct!=J.charCodeAt(q++))return-1}return q}function T(z,G,J){var q=f.exec(G.slice(J));return q?(z.p=u.get(q[0].toLowerCase()),J+q[0].length):-1}function I(z,G,J){var q=h.exec(G.slice(J));return q?(z.w=d.get(q[0].toLowerCase()),J+q[0].length):-1}function A(z,G,J){var q=p.exec(G.slice(J));return q?(z.w=l.get(q[0].toLowerCase()),J+q[0].length):-1}function k(z,G,J){var q=y.exec(G.slice(J));return q?(z.m=x.get(q[0].toLowerCase()),J+q[0].length):-1}function L(z,G,J){var q=m.exec(G.slice(J));return q?(z.m=g.get(q[0].toLowerCase()),J+q[0].length):-1}function S(z,G,J){return E(z,e,G,J)}function C(z,G,J){return E(z,n,G,J)}function N(z,G,J){return E(z,r,G,J)}function R(z){return s[z.getDay()]}function $(z){return i[z.getDay()]}function O(z){return c[z.getMonth()]}function D(z){return a[z.getMonth()]}function F(z){return o[+(z.getHours()>=12)]}function P(z){return 1+~~(z.getMonth()/3)}function W(z){return s[z.getUTCDay()]}function K(z){return i[z.getUTCDay()]}function tt(z){return c[z.getUTCMonth()]}function nt(z){return a[z.getUTCMonth()]}function U(z){return o[+(z.getUTCHours()>=12)]}function et(z){return 1+~~(z.getUTCMonth()/3)}return{format:function(z){var G=v(z+="",b);return G.toString=function(){return z},G},parse:function(z){var G=M(z+="",!1);return G.toString=function(){return z},G},utcFormat:function(z){var G=v(z+="",w);return G.toString=function(){return z},G},utcParse:function(z){var G=M(z+="",!0);return G.toString=function(){return z},G}}}var iA={"-":"",_:" ",0:"0"},Pe=/^\s*\d+/,UD=/^%/,jD=/[\\^$*+?|[\]().{}]/g;function $t(t,e,n){var r=t<0?"-":"",o=(r?-t:t)+"",i=o.length;return r+(i<n?new Array(n-i+1).join(e)+o:o)}function XD(t){return t.replace(jD,"\\$&")}function _p(t){return new RegExp("^(?:"+t.map(XD).join("|")+")","i")}function Mp(t){return new Map(t.map((e,n)=>[e.toLowerCase(),n]))}function WD(t,e,n){var r=Pe.exec(e.slice(n,n+1));return r?(t.w=+r[0],n+r[0].length):-1}function GD(t,e,n){var r=Pe.exec(e.slice(n,n+1));return r?(t.u=+r[0],n+r[0].length):-1}function VD(t,e,n){var r=Pe.exec(e.slice(n,n+2));return r?(t.U=+r[0],n+r[0].length):-1}function HD(t,e,n){var r=Pe.exec(e.slice(n,n+2));return r?(t.V=+r[0],n+r[0].length):-1}function QD(t,e,n){var r=Pe.exec(e.slice(n,n+2));return r?(t.W=+r[0],n+r[0].length):-1}function sA(t,e,n){var r=Pe.exec(e.slice(n,n+4));return r?(t.y=+r[0],n+r[0].length):-1}function aA(t,e,n){var r=Pe.exec(e.slice(n,n+2));return r?(t.y=+r[0]+(+r[0]>68?1900:2e3),n+r[0].length):-1}function ZD(t,e,n){var r=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(n,n+6));return r?(t.Z=r[1]?0:-(r[2]+(r[3]||"00")),n+r[0].length):-1}function KD(t,e,n){var r=Pe.exec(e.slice(n,n+1));return r?(t.q=r[0]*3-3,n+r[0].length):-1}function JD(t,e,n){var r=Pe.exec(e.slice(n,n+2));return r?(t.m=r[0]-1,n+r[0].length):-1}function cA(t,e,n){var r=Pe.exec(e.slice(n,n+2));return r?(t.d=+r[0],n+r[0].length):-1}function tF(t,e,n){var r=Pe.exec(e.slice(n,n+3));return r?(t.m=0,t.d=+r[0],n+r[0].length):-1}function fA(t,e,n){var r=Pe.exec(e.slice(n,n+2));return r?(t.H=+r[0],n+r[0].length):-1}function eF(t,e,n){var r=Pe.exec(e.slice(n,n+2));return r?(t.M=+r[0],n+r[0].length):-1}function nF(t,e,n){var r=Pe.exec(e.slice(n,n+2));return r?(t.S=+r[0],n+r[0].length):-1}function rF(t,e,n){var r=Pe.exec(e.slice(n,n+3));return r?(t.L=+r[0],n+r[0].length):-1}function oF(t,e,n){var r=Pe.exec(e.slice(n,n+6));return r?(t.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function iF(t,e,n){var r=UD.exec(e.slice(n,n+1));return r?n+r[0].length:-1}function sF(t,e,n){var r=Pe.exec(e.slice(n));return r?(t.Q=+r[0],n+r[0].length):-1}function aF(t,e,n){var r=Pe.exec(e.slice(n));return r?(t.s=+r[0],n+r[0].length):-1}function uA(t,e){return $t(t.getDate(),e,2)}function cF(t,e){return $t(t.getHours(),e,2)}function fF(t,e){return $t(t.getHours()%12||12,e,2)}function uF(t,e){return $t(1+mr.count(ln(t),t),e,3)}function mA(t,e){return $t(t.getMilliseconds(),e,3)}function lF(t,e){return mA(t,e)+"000"}function pF(t,e){return $t(t.getMonth()+1,e,2)}function hF(t,e){return $t(t.getMinutes(),e,2)}function dF(t,e){return $t(t.getSeconds(),e,2)}function mF(t){var e=t.getDay();return e===0?7:e}function gF(t,e){return $t(Vn.count(ln(t)-1,t),e,2)}function gA(t){var e=t.getDay();return e>=4||e===0?ho(t):ho.ceil(t)}function yF(t,e){return t=gA(t),$t(ho.count(ln(t),t)+(ln(t).getDay()===4),e,2)}function xF(t){return t.getDay()}function bF(t,e){return $t(os.count(ln(t)-1,t),e,2)}function wF(t,e){return $t(t.getFullYear()%100,e,2)}function vF(t,e){return t=gA(t),$t(t.getFullYear()%100,e,2)}function _F(t,e){return $t(t.getFullYear()%1e4,e,4)}function MF(t,e){var n=t.getDay();return t=n>=4||n===0?ho(t):ho.ceil(t),$t(t.getFullYear()%1e4,e,4)}function SF(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+$t(e/60|0,"0",2)+$t(e%60,"0",2)}function lA(t,e){return $t(t.getUTCDate(),e,2)}function AF(t,e){return $t(t.getUTCHours(),e,2)}function EF(t,e){return $t(t.getUTCHours()%12||12,e,2)}function TF(t,e){return $t(1+Ta.count(pn(t),t),e,3)}function yA(t,e){return $t(t.getUTCMilliseconds(),e,3)}function IF(t,e){return yA(t,e)+"000"}function CF(t,e){return $t(t.getUTCMonth()+1,e,2)}function NF(t,e){return $t(t.getUTCMinutes(),e,2)}function kF(t,e){return $t(t.getUTCSeconds(),e,2)}function RF(t){var e=t.getUTCDay();return e===0?7:e}function LF(t,e){return $t(Hn.count(pn(t)-1,t),e,2)}function xA(t){var e=t.getUTCDay();return e>=4||e===0?mo(t):mo.ceil(t)}function OF(t,e){return t=xA(t),$t(mo.count(pn(t),t)+(pn(t).getUTCDay()===4),e,2)}function $F(t){return t.getUTCDay()}function DF(t,e){return $t(is.count(pn(t)-1,t),e,2)}function FF(t,e){return $t(t.getUTCFullYear()%100,e,2)}function PF(t,e){return t=xA(t),$t(t.getUTCFullYear()%100,e,2)}function qF(t,e){return $t(t.getUTCFullYear()%1e4,e,4)}function BF(t,e){var n=t.getUTCDay();return t=n>=4||n===0?mo(t):mo.ceil(t),$t(t.getUTCFullYear()%1e4,e,4)}function zF(){return"+0000"}function pA(){return"%"}function hA(t){return+t}function dA(t){return Math.floor(+t/1e3)}var lf,pf,bA,go,wA;kv({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function kv(t){return lf=Nv(t),pf=lf.format,bA=lf.parse,go=lf.utcFormat,wA=lf.utcParse,lf}function YF(t){return new Date(t)}function UF(t){return t instanceof Date?+t:+new Date(+t)}function Rg(t,e,n,r,o,i,s,a,c,f){var u=up(),p=u.invert,l=u.domain,h=f(".%L"),d=f(":%S"),m=f("%I:%M"),g=f("%I %p"),y=f("%a %d"),x=f("%b %d"),b=f("%B"),w=f("%Y");function _(v){return(c(v)<v?h:a(v)<v?d:s(v)<v?m:i(v)<v?g:r(v)<v?o(v)<v?y:x:n(v)<v?b:w)(v)}return u.invert=function(v){return new Date(p(v))},u.domain=function(v){return arguments.length?l(Array.from(v,UF)):l().map(YF)},u.ticks=function(v){var M=l();return t(M[0],M[M.length-1],v??10)},u.tickFormat=function(v,M){return M==null?_:f(M)},u.nice=function(v){var M=l();return(!v||typeof v.range!="function")&&(v=e(M[0],M[M.length-1],v??10)),v?l(pp(M,v)):u},u.copy=function(){return lo(u,Rg(t,e,n,r,o,i,s,a,c,f))},u}function Lg(){return we.apply(Rg(Ev,Tv,ln,li,Vn,mr,fi,ai,Fe,pf).domain([new Date(2e3,0,1),new Date(2e3,0,2)]),arguments)}function Og(){return we.apply(Rg(Av,wp,pn,pi,Hn,Ta,ui,ci,Fe,go).domain([Date.UTC(2e3,0,1),Date.UTC(2e3,0,2)]),arguments)}function Sp(t,e){return e.domain(t.domain()).interpolator(t.interpolator()).clamp(t.clamp()).unknown(t.unknown())}function $g(){var t=0,e=.5,n=1,r=1,o,i,s,a,c,f=Pn,u,p=!1,l;function h(m){return isNaN(m=+m)?l:(m=.5+((m=+u(m))-i)*(r*m<r*i?a:c),f(p?Math.max(0,Math.min(1,m)):m))}h.domain=function(m){return arguments.length?([t,e,n]=m,o=u(t=+t),i=u(e=+e),s=u(n=+n),a=o===i?0:.5/(i-o),c=i===s?0:.5/(s-i),r=i<o?-1:1,h):[t,e,n]},h.clamp=function(m){return arguments.length?(p=!!m,h):p},h.interpolator=function(m){return arguments.length?(f=m,h):f};function d(m){return function(g){var y,x,b;return arguments.length?([y,x,b]=g,f=no(m,[y,x,b]),h):[f(0),f(.5),f(1)]}}return h.range=d(Wn),h.rangeRound=d(la),h.unknown=function(m){return arguments.length?(l=m,h):l},function(m){return u=m,o=m(t),i=m(e),s=m(n),a=o===i?0:.5/(i-o),c=i===s?0:.5/(s-i),r=i<o?-1:1,h}}function Ap(){var t=ii($g()(Pn));return t.copy=function(){return Sp(t,Ap())},cp.apply(t,arguments)}function Dg(){var t=wv($g()).domain([.1,1,10]);return t.copy=function(){return Sp(t,Dg()).base(t.base())},cp.apply(t,arguments)}function Fg(){var t=vv($g());return t.copy=function(){return Sp(t,Fg()).constant(t.constant())},cp.apply(t,arguments)}function Pg(){var t=_v($g());return t.copy=function(){return Sp(t,Pg()).exponent(t.exponent())},cp.apply(t,arguments)}function j(t){for(var e=t.length/6|0,n=new Array(e),r=0;r<e;)n[r]="#"+t.slice(r*6,++r*6);return n}var Rv=j("1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf");var Lv=j("7fc97fbeaed4fdc086ffff99386cb0f0027fbf5b17666666");var Ov=j("1b9e77d95f027570b3e7298a66a61ee6ab02a6761d666666");var $v=j("4269d0efb118ff725c6cc5b03ca951ff8ab7a463f297bbf59c6b4e9498a0");var Dv=j("a6cee31f78b4b2df8a33a02cfb9a99e31a1cfdbf6fff7f00cab2d66a3d9affff99b15928");var Fv=j("fbb4aeb3cde3ccebc5decbe4fed9a6ffffcce5d8bdfddaecf2f2f2");var Pv=j("b3e2cdfdcdaccbd5e8f4cae4e6f5c9fff2aef1e2cccccccc");var qv=j("e41a1c377eb84daf4a984ea3ff7f00ffff33a65628f781bf999999");var Bv=j("66c2a5fc8d628da0cbe78ac3a6d854ffd92fe5c494b3b3b3");var zv=j("8dd3c7ffffb3bebadafb807280b1d3fdb462b3de69fccde5d9d9d9bc80bdccebc5ffed6f");var Yv=j("4e79a7f28e2ce1575976b7b259a14fedc949af7aa1ff9da79c755fbab0ab");var at=t=>F2(t[t.length-1]);var qg=new Array(3).concat("d8b365f5f5f55ab4ac","a6611adfc27d80cdc1018571","a6611adfc27df5f5f580cdc1018571","8c510ad8b365f6e8c3c7eae55ab4ac01665e","8c510ad8b365f6e8c3f5f5f5c7eae55ab4ac01665e","8c510abf812ddfc27df6e8c3c7eae580cdc135978f01665e","8c510abf812ddfc27df6e8c3f5f5f5c7eae580cdc135978f01665e","5430058c510abf812ddfc27df6e8c3c7eae580cdc135978f01665e003c30","5430058c510abf812ddfc27df6e8c3f5f5f5c7eae580cdc135978f01665e003c30").map(j),Bg=at(qg);var zg=new Array(3).concat("af8dc3f7f7f77fbf7b","7b3294c2a5cfa6dba0008837","7b3294c2a5cff7f7f7a6dba0008837","762a83af8dc3e7d4e8d9f0d37fbf7b1b7837","762a83af8dc3e7d4e8f7f7f7d9f0d37fbf7b1b7837","762a839970abc2a5cfe7d4e8d9f0d3a6dba05aae611b7837","762a839970abc2a5cfe7d4e8f7f7f7d9f0d3a6dba05aae611b7837","40004b762a839970abc2a5cfe7d4e8d9f0d3a6dba05aae611b783700441b","40004b762a839970abc2a5cfe7d4e8f7f7f7d9f0d3a6dba05aae611b783700441b").map(j),Yg=at(zg);var Ug=new Array(3).concat("e9a3c9f7f7f7a1d76a","d01c8bf1b6dab8e1864dac26","d01c8bf1b6daf7f7f7b8e1864dac26","c51b7de9a3c9fde0efe6f5d0a1d76a4d9221","c51b7de9a3c9fde0eff7f7f7e6f5d0a1d76a4d9221","c51b7dde77aef1b6dafde0efe6f5d0b8e1867fbc414d9221","c51b7dde77aef1b6dafde0eff7f7f7e6f5d0b8e1867fbc414d9221","8e0152c51b7dde77aef1b6dafde0efe6f5d0b8e1867fbc414d9221276419","8e0152c51b7dde77aef1b6dafde0eff7f7f7e6f5d0b8e1867fbc414d9221276419").map(j),jg=at(Ug);var Xg=new Array(3).concat("998ec3f7f7f7f1a340","5e3c99b2abd2fdb863e66101","5e3c99b2abd2f7f7f7fdb863e66101","542788998ec3d8daebfee0b6f1a340b35806","542788998ec3d8daebf7f7f7fee0b6f1a340b35806","5427888073acb2abd2d8daebfee0b6fdb863e08214b35806","5427888073acb2abd2d8daebf7f7f7fee0b6fdb863e08214b35806","2d004b5427888073acb2abd2d8daebfee0b6fdb863e08214b358067f3b08","2d004b5427888073acb2abd2d8daebf7f7f7fee0b6fdb863e08214b358067f3b08").map(j),Wg=at(Xg);var Ep=new Array(3).concat("ef8a62f7f7f767a9cf","ca0020f4a58292c5de0571b0","ca0020f4a582f7f7f792c5de0571b0","b2182bef8a62fddbc7d1e5f067a9cf2166ac","b2182bef8a62fddbc7f7f7f7d1e5f067a9cf2166ac","b2182bd6604df4a582fddbc7d1e5f092c5de4393c32166ac","b2182bd6604df4a582fddbc7f7f7f7d1e5f092c5de4393c32166ac","67001fb2182bd6604df4a582fddbc7d1e5f092c5de4393c32166ac053061","67001fb2182bd6604df4a582fddbc7f7f7f7d1e5f092c5de4393c32166ac053061").map(j),hf=at(Ep);var Gg=new Array(3).concat("ef8a62ffffff999999","ca0020f4a582bababa404040","ca0020f4a582ffffffbababa404040","b2182bef8a62fddbc7e0e0e09999994d4d4d","b2182bef8a62fddbc7ffffffe0e0e09999994d4d4d","b2182bd6604df4a582fddbc7e0e0e0bababa8787874d4d4d","b2182bd6604df4a582fddbc7ffffffe0e0e0bababa8787874d4d4d","67001fb2182bd6604df4a582fddbc7e0e0e0bababa8787874d4d4d1a1a1a","67001fb2182bd6604df4a582fddbc7ffffffe0e0e0bababa8787874d4d4d1a1a1a").map(j),Vg=at(Gg);var Tp=new Array(3).concat("fc8d59ffffbf91bfdb","d7191cfdae61abd9e92c7bb6","d7191cfdae61ffffbfabd9e92c7bb6","d73027fc8d59fee090e0f3f891bfdb4575b4","d73027fc8d59fee090ffffbfe0f3f891bfdb4575b4","d73027f46d43fdae61fee090e0f3f8abd9e974add14575b4","d73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4","a50026d73027f46d43fdae61fee090e0f3f8abd9e974add14575b4313695","a50026d73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4313695").map(j),df=at(Tp);var Hg=new Array(3).concat("fc8d59ffffbf91cf60","d7191cfdae61a6d96a1a9641","d7191cfdae61ffffbfa6d96a1a9641","d73027fc8d59fee08bd9ef8b91cf601a9850","d73027fc8d59fee08bffffbfd9ef8b91cf601a9850","d73027f46d43fdae61fee08bd9ef8ba6d96a66bd631a9850","d73027f46d43fdae61fee08bffffbfd9ef8ba6d96a66bd631a9850","a50026d73027f46d43fdae61fee08bd9ef8ba6d96a66bd631a9850006837","a50026d73027f46d43fdae61fee08bffffbfd9ef8ba6d96a66bd631a9850006837").map(j),Qg=at(Hg);var Zg=new Array(3).concat("fc8d59ffffbf99d594","d7191cfdae61abdda42b83ba","d7191cfdae61ffffbfabdda42b83ba","d53e4ffc8d59fee08be6f59899d5943288bd","d53e4ffc8d59fee08bffffbfe6f59899d5943288bd","d53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd","d53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd","9e0142d53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd5e4fa2","9e0142d53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd5e4fa2").map(j),Kg=at(Zg);var Jg=new Array(3).concat("e5f5f999d8c92ca25f","edf8fbb2e2e266c2a4238b45","edf8fbb2e2e266c2a42ca25f006d2c","edf8fbccece699d8c966c2a42ca25f006d2c","edf8fbccece699d8c966c2a441ae76238b45005824","f7fcfde5f5f9ccece699d8c966c2a441ae76238b45005824","f7fcfde5f5f9ccece699d8c966c2a441ae76238b45006d2c00441b").map(j),ty=at(Jg);var ey=new Array(3).concat("e0ecf49ebcda8856a7","edf8fbb3cde38c96c688419d","edf8fbb3cde38c96c68856a7810f7c","edf8fbbfd3e69ebcda8c96c68856a7810f7c","edf8fbbfd3e69ebcda8c96c68c6bb188419d6e016b","f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d6e016b","f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d810f7c4d004b").map(j),ny=at(ey);var ry=new Array(3).concat("e0f3dba8ddb543a2ca","f0f9e8bae4bc7bccc42b8cbe","f0f9e8bae4bc7bccc443a2ca0868ac","f0f9e8ccebc5a8ddb57bccc443a2ca0868ac","f0f9e8ccebc5a8ddb57bccc44eb3d32b8cbe08589e","f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe08589e","f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe0868ac084081").map(j),oy=at(ry);var iy=new Array(3).concat("fee8c8fdbb84e34a33","fef0d9fdcc8afc8d59d7301f","fef0d9fdcc8afc8d59e34a33b30000","fef0d9fdd49efdbb84fc8d59e34a33b30000","fef0d9fdd49efdbb84fc8d59ef6548d7301f990000","fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301f990000","fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301fb300007f0000").map(j),sy=at(iy);var ay=new Array(3).concat("ece2f0a6bddb1c9099","f6eff7bdc9e167a9cf02818a","f6eff7bdc9e167a9cf1c9099016c59","f6eff7d0d1e6a6bddb67a9cf1c9099016c59","f6eff7d0d1e6a6bddb67a9cf3690c002818a016450","fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016450","fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016c59014636").map(j),cy=at(ay);var fy=new Array(3).concat("ece7f2a6bddb2b8cbe","f1eef6bdc9e174a9cf0570b0","f1eef6bdc9e174a9cf2b8cbe045a8d","f1eef6d0d1e6a6bddb74a9cf2b8cbe045a8d","f1eef6d0d1e6a6bddb74a9cf3690c00570b0034e7b","fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0034e7b","fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0045a8d023858").map(j),uy=at(fy);var ly=new Array(3).concat("e7e1efc994c7dd1c77","f1eef6d7b5d8df65b0ce1256","f1eef6d7b5d8df65b0dd1c77980043","f1eef6d4b9dac994c7df65b0dd1c77980043","f1eef6d4b9dac994c7df65b0e7298ace125691003f","f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125691003f","f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125698004367001f").map(j),py=at(ly);var hy=new Array(3).concat("fde0ddfa9fb5c51b8a","feebe2fbb4b9f768a1ae017e","feebe2fbb4b9f768a1c51b8a7a0177","feebe2fcc5c0fa9fb5f768a1c51b8a7a0177","feebe2fcc5c0fa9fb5f768a1dd3497ae017e7a0177","fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a0177","fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a017749006a").map(j),dy=at(hy);var my=new Array(3).concat("edf8b17fcdbb2c7fb8","ffffcca1dab441b6c4225ea8","ffffcca1dab441b6c42c7fb8253494","ffffccc7e9b47fcdbb41b6c42c7fb8253494","ffffccc7e9b47fcdbb41b6c41d91c0225ea80c2c84","ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea80c2c84","ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea8253494081d58").map(j),gy=at(my);var yy=new Array(3).concat("f7fcb9addd8e31a354","ffffccc2e69978c679238443","ffffccc2e69978c67931a354006837","ffffccd9f0a3addd8e78c67931a354006837","ffffccd9f0a3addd8e78c67941ab5d238443005a32","ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443005a32","ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443006837004529").map(j),xy=at(yy);var by=new Array(3).concat("fff7bcfec44fd95f0e","ffffd4fed98efe9929cc4c02","ffffd4fed98efe9929d95f0e993404","ffffd4fee391fec44ffe9929d95f0e993404","ffffd4fee391fec44ffe9929ec7014cc4c028c2d04","ffffe5fff7bcfee391fec44ffe9929ec7014cc4c028c2d04","ffffe5fff7bcfee391fec44ffe9929ec7014cc4c02993404662506").map(j),wy=at(by);var vy=new Array(3).concat("ffeda0feb24cf03b20","ffffb2fecc5cfd8d3ce31a1c","ffffb2fecc5cfd8d3cf03b20bd0026","ffffb2fed976feb24cfd8d3cf03b20bd0026","ffffb2fed976feb24cfd8d3cfc4e2ae31a1cb10026","ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cb10026","ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cbd0026800026").map(j),_y=at(vy);var My=new Array(3).concat("deebf79ecae13182bd","eff3ffbdd7e76baed62171b5","eff3ffbdd7e76baed63182bd08519c","eff3ffc6dbef9ecae16baed63182bd08519c","eff3ffc6dbef9ecae16baed64292c62171b5084594","f7fbffdeebf7c6dbef9ecae16baed64292c62171b5084594","f7fbffdeebf7c6dbef9ecae16baed64292c62171b508519c08306b").map(j),Sy=at(My);var Ay=new Array(3).concat("e5f5e0a1d99b31a354","edf8e9bae4b374c476238b45","edf8e9bae4b374c47631a354006d2c","edf8e9c7e9c0a1d99b74c47631a354006d2c","edf8e9c7e9c0a1d99b74c47641ab5d238b45005a32","f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45005a32","f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45006d2c00441b").map(j),Ey=at(Ay);var Ty=new Array(3).concat("f0f0f0bdbdbd636363","f7f7f7cccccc969696525252","f7f7f7cccccc969696636363252525","f7f7f7d9d9d9bdbdbd969696636363252525","f7f7f7d9d9d9bdbdbd969696737373525252252525","fffffff0f0f0d9d9d9bdbdbd969696737373525252252525","fffffff0f0f0d9d9d9bdbdbd969696737373525252252525000000").map(j),Iy=at(Ty);var Cy=new Array(3).concat("efedf5bcbddc756bb1","f2f0f7cbc9e29e9ac86a51a3","f2f0f7cbc9e29e9ac8756bb154278f","f2f0f7dadaebbcbddc9e9ac8756bb154278f","f2f0f7dadaebbcbddc9e9ac8807dba6a51a34a1486","fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a34a1486","fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a354278f3f007d").map(j),Ny=at(Cy);var ky=new Array(3).concat("fee0d2fc9272de2d26","fee5d9fcae91fb6a4acb181d","fee5d9fcae91fb6a4ade2d26a50f15","fee5d9fcbba1fc9272fb6a4ade2d26a50f15","fee5d9fcbba1fc9272fb6a4aef3b2ccb181d99000d","fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181d99000d","fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181da50f1567000d").map(j),Ry=at(ky);var Ly=new Array(3).concat("fee6cefdae6be6550d","feeddefdbe85fd8d3cd94701","feeddefdbe85fd8d3ce6550da63603","feeddefdd0a2fdae6bfd8d3ce6550da63603","feeddefdd0a2fdae6bfd8d3cf16913d948018c2d04","fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d948018c2d04","fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d94801a636037f2704").map(j),Oy=at(Ly);function $y(t){return t=Math.max(0,Math.min(1,t)),"rgb("+Math.max(0,Math.min(255,Math.round(-4.54-t*(35.34-t*(2381.73-t*(6402.7-t*(7024.72-t*2710.57)))))))+", "+Math.max(0,Math.min(255,Math.round(32.49+t*(170.73+t*(52.82-t*(131.46-t*(176.58-t*67.37)))))))+", "+Math.max(0,Math.min(255,Math.round(81.24+t*(442.36-t*(2482.43-t*(6167.24-t*(6614.94-t*2475.67)))))))+")"}var Dy=zc(Sn(300,.5,0),Sn(-240,.5,1));var Py=zc(Sn(-100,.75,.35),Sn(80,1.5,.8)),qy=zc(Sn(260,.75,.35),Sn(80,1.5,.8)),Fy=Sn();function By(t){(t<0||t>1)&&(t-=Math.floor(t));var e=Math.abs(t-.5);return Fy.h=360*t-100,Fy.s=1.5-1.5*e,Fy.l=.8-.9*e,Fy+""}var zy=Te(),jF=Math.PI/3,XF=Math.PI*2/3;function Yy(t){var e;return t=(.5-t)*Math.PI,zy.r=255*(e=Math.sin(t))*e,zy.g=255*(e=Math.sin(t+jF))*e,zy.b=255*(e=Math.sin(t+XF))*e,zy+""}function Uy(t){return t=Math.max(0,Math.min(1,t)),"rgb("+Math.max(0,Math.min(255,Math.round(34.61+t*(1172.33-t*(10793.56-t*(33300.12-t*(38394.49-t*14825.05)))))))+", "+Math.max(0,Math.min(255,Math.round(23.31+t*(557.33+t*(1225.33-t*(3574.96-t*(1073.77+t*707.56)))))))+", "+Math.max(0,Math.min(255,Math.round(27.2+t*(3211.1-t*(15327.97-t*(27814-t*(22569.18-t*6838.66)))))))+")"}function jy(t){var e=t.length;return function(n){return t[Math.max(0,Math.min(e-1,Math.floor(n*e)))]}}var Xy=jy(j("44015444025645045745055946075a46085c460a5d460b5e470d60470e6147106347116447136548146748166848176948186a481a6c481b6d481c6e481d6f481f70482071482173482374482475482576482677482878482979472a7a472c7a472d7b472e7c472f7d46307e46327e46337f463480453581453781453882443983443a83443b84433d84433e85423f854240864241864142874144874045884046883f47883f48893e49893e4a893e4c8a3d4d8a3d4e8a3c4f8a3c508b3b518b3b528b3a538b3a548c39558c39568c38588c38598c375a8c375b8d365c8d365d8d355e8d355f8d34608d34618d33628d33638d32648e32658e31668e31678e31688e30698e306a8e2f6b8e2f6c8e2e6d8e2e6e8e2e6f8e2d708e2d718e2c718e2c728e2c738e2b748e2b758e2a768e2a778e2a788e29798e297a8e297b8e287c8e287d8e277e8e277f8e27808e26818e26828e26828e25838e25848e25858e24868e24878e23888e23898e238a8d228b8d228c8d228d8d218e8d218f8d21908d21918c20928c20928c20938c1f948c1f958b1f968b1f978b1f988b1f998a1f9a8a1e9b8a1e9c891e9d891f9e891f9f881fa0881fa1881fa1871fa28720a38620a48621a58521a68522a78522a88423a98324aa8325ab8225ac8226ad8127ad8128ae8029af7f2ab07f2cb17e2db27d2eb37c2fb47c31b57b32b67a34b67935b77937b87838b9773aba763bbb753dbc743fbc7340bd7242be7144bf7046c06f48c16e4ac16d4cc26c4ec36b50c46a52c56954c56856c66758c7655ac8645cc8635ec96260ca6063cb5f65cb5e67cc5c69cd5b6ccd5a6ece5870cf5773d05675d05477d1537ad1517cd2507fd34e81d34d84d44b86d54989d5488bd6468ed64590d74393d74195d84098d83e9bd93c9dd93ba0da39a2da37a5db36a8db34aadc32addc30b0dd2fb2dd2db5de2bb8de29bade28bddf26c0df25c2df23c5e021c8e020cae11fcde11dd0e11cd2e21bd5e21ad8e219dae319dde318dfe318e2e418e5e419e7e419eae51aece51befe51cf1e51df4e61ef6e620f8e621fbe723fde725")),Wy=jy(j("00000401000501010601010802010902020b02020d03030f03031204041405041606051806051a07061c08071e0907200a08220b09240c09260d0a290e0b2b100b2d110c2f120d31130d34140e36150e38160f3b180f3d19103f1a10421c10441d11471e114920114b21114e22115024125325125527125829115a2a115c2c115f2d11612f116331116533106734106936106b38106c390f6e3b0f703d0f713f0f72400f74420f75440f764510774710784910784a10794c117a4e117b4f127b51127c52137c54137d56147d57157e59157e5a167e5c167f5d177f5f187f601880621980641a80651a80671b80681c816a1c816b1d816d1d816e1e81701f81721f817320817521817621817822817922827b23827c23827e24828025828125818326818426818627818827818928818b29818c29818e2a81902a81912b81932b80942c80962c80982d80992d809b2e7f9c2e7f9e2f7fa02f7fa1307ea3307ea5317ea6317da8327daa337dab337cad347cae347bb0357bb2357bb3367ab5367ab73779b83779ba3878bc3978bd3977bf3a77c03a76c23b75c43c75c53c74c73d73c83e73ca3e72cc3f71cd4071cf4070d0416fd2426fd3436ed5446dd6456cd8456cd9466bdb476adc4869de4968df4a68e04c67e24d66e34e65e44f64e55064e75263e85362e95462ea5661eb5760ec5860ed5a5fee5b5eef5d5ef05f5ef1605df2625df2645cf3655cf4675cf4695cf56b5cf66c5cf66e5cf7705cf7725cf8745cf8765cf9785df9795df97b5dfa7d5efa7f5efa815ffb835ffb8560fb8761fc8961fc8a62fc8c63fc8e64fc9065fd9266fd9467fd9668fd9869fd9a6afd9b6bfe9d6cfe9f6dfea16efea36ffea571fea772fea973feaa74feac76feae77feb078feb27afeb47bfeb67cfeb77efeb97ffebb81febd82febf84fec185fec287fec488fec68afec88cfeca8dfecc8ffecd90fecf92fed194fed395fed597fed799fed89afdda9cfddc9efddea0fde0a1fde2a3fde3a5fde5a7fde7a9fde9aafdebacfcecaefceeb0fcf0b2fcf2b4fcf4b6fcf6b8fcf7b9fcf9bbfcfbbdfcfdbf")),Gy=jy(j("00000401000501010601010802010a02020c02020e03021004031204031405041706041907051b08051d09061f0a07220b07240c08260d08290e092b10092d110a30120a32140b34150b37160b39180c3c190c3e1b0c411c0c431e0c451f0c48210c4a230c4c240c4f260c51280b53290b552b0b572d0b592f0a5b310a5c320a5e340a5f3609613809623909633b09643d09653e0966400a67420a68440a68450a69470b6a490b6a4a0c6b4c0c6b4d0d6c4f0d6c510e6c520e6d540f6d550f6d57106e59106e5a116e5c126e5d126e5f136e61136e62146e64156e65156e67166e69166e6a176e6c186e6d186e6f196e71196e721a6e741a6e751b6e771c6d781c6d7a1d6d7c1d6d7d1e6d7f1e6c801f6c82206c84206b85216b87216b88226a8a226a8c23698d23698f24699025689225689326679526679727669827669a28659b29649d29649f2a63a02a63a22b62a32c61a52c60a62d60a82e5fa92e5eab2f5ead305dae305cb0315bb1325ab3325ab43359b63458b73557b93556ba3655bc3754bd3853bf3952c03a51c13a50c33b4fc43c4ec63d4dc73e4cc83f4bca404acb4149cc4248ce4347cf4446d04545d24644d34743d44842d54a41d74b3fd84c3ed94d3dda4e3cdb503bdd513ade5238df5337e05536e15635e25734e35933e45a31e55c30e65d2fe75e2ee8602de9612bea632aeb6429eb6628ec6726ed6925ee6a24ef6c23ef6e21f06f20f1711ff1731df2741cf3761bf37819f47918f57b17f57d15f67e14f68013f78212f78410f8850ff8870ef8890cf98b0bf98c0af98e09fa9008fa9207fa9407fb9606fb9706fb9906fb9b06fb9d07fc9f07fca108fca309fca50afca60cfca80dfcaa0ffcac11fcae12fcb014fcb216fcb418fbb61afbb81dfbba1ffbbc21fbbe23fac026fac228fac42afac62df9c72ff9c932f9cb35f8cd37f8cf3af7d13df7d340f6d543f6d746f5d949f5db4cf4dd4ff4df53f4e156f3e35af3e55df2e661f2e865f2ea69f1ec6df1ed71f1ef75f1f179f2f27df2f482f3f586f3f68af4f88ef5f992f6fa96f8fb9af9fc9dfafda1fcffa4")),Vy=jy(j("0d088710078813078916078a19068c1b068d1d068e20068f2206902406912605912805922a05932c05942e05952f059631059733059735049837049938049a3a049a3c049b3e049c3f049c41049d43039e44039e46039f48039f4903a04b03a14c02a14e02a25002a25102a35302a35502a45601a45801a45901a55b01a55c01a65e01a66001a66100a76300a76400a76600a76700a86900a86a00a86c00a86e00a86f00a87100a87201a87401a87501a87701a87801a87a02a87b02a87d03a87e03a88004a88104a78305a78405a78606a68707a68808a68a09a58b0aa58d0ba58e0ca48f0da4910ea3920fa39410a29511a19613a19814a099159f9a169f9c179e9d189d9e199da01a9ca11b9ba21d9aa31e9aa51f99a62098a72197a82296aa2395ab2494ac2694ad2793ae2892b02991b12a90b22b8fb32c8eb42e8db52f8cb6308bb7318ab83289ba3388bb3488bc3587bd3786be3885bf3984c03a83c13b82c23c81c33d80c43e7fc5407ec6417dc7427cc8437bc9447aca457acb4679cc4778cc4977cd4a76ce4b75cf4c74d04d73d14e72d24f71d35171d45270d5536fd5546ed6556dd7566cd8576bd9586ada5a6ada5b69db5c68dc5d67dd5e66de5f65de6164df6263e06363e16462e26561e26660e3685fe4695ee56a5de56b5de66c5ce76e5be76f5ae87059e97158e97257ea7457eb7556eb7655ec7754ed7953ed7a52ee7b51ef7c51ef7e50f07f4ff0804ef1814df1834cf2844bf3854bf3874af48849f48948f58b47f58c46f68d45f68f44f79044f79143f79342f89441f89540f9973ff9983ef99a3efa9b3dfa9c3cfa9e3bfb9f3afba139fba238fca338fca537fca636fca835fca934fdab33fdac33fdae32fdaf31fdb130fdb22ffdb42ffdb52efeb72dfeb82cfeba2cfebb2bfebd2afebe2afec029fdc229fdc328fdc527fdc627fdc827fdca26fdcb26fccd25fcce25fcd025fcd225fbd324fbd524fbd724fad824fada24f9dc24f9dd25f8df25f8e125f7e225f7e425f6e626f6e826f5e926f5eb27f4ed27f3ee27f3f027f2f227f1f426f1f525f0f724f0f921"));function ve(t){return function(){return t}}var Uv=Math.cos;var mf=Math.min,Ip=Math.sin,Dt=Math.sqrt,jv=1e-12,ka=Math.PI,u6t=ka/2,gf=2*ka;function Hy(t){let e=3;return t.digits=function(n){if(!arguments.length)return e;if(n==null)e=null;else{let r=Math.floor(n);if(!(r>=0))throw new RangeError(`invalid digits: ${n}`);e=r}return t},()=>new Zi(e)}var d6t=Array.prototype.slice;function Qy(t){return typeof t=="object"&&"length"in t?t:Array.from(t)}function vA(t){this._context=t}vA.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:this._context.lineTo(t,e);break}}};function hi(t){return new vA(t)}function Zy(t){return t[0]}function Ky(t){return t[1]}function Cp(t,e){var n=ve(!0),r=null,o=hi,i=null,s=Hy(a);t=typeof t=="function"?t:t===void 0?Zy:ve(t),e=typeof e=="function"?e:e===void 0?Ky:ve(e);function a(c){var f,u=(c=Qy(c)).length,p,l=!1,h;for(r==null&&(i=o(h=s())),f=0;f<=u;++f)!(f<u&&n(p=c[f],f,c))===l&&((l=!l)?i.lineStart():i.lineEnd()),l&&i.point(+t(p,f,c),+e(p,f,c));if(h)return i=null,h+""||null}return a.x=function(c){return arguments.length?(t=typeof c=="function"?c:ve(+c),a):t},a.y=function(c){return arguments.length?(e=typeof c=="function"?c:ve(+c),a):e},a.defined=function(c){return arguments.length?(n=typeof c=="function"?c:ve(!!c),a):n},a.curve=function(c){return arguments.length?(o=c,r!=null&&(i=o(r)),a):o},a.context=function(c){return arguments.length?(c==null?r=i=null:i=o(r=c),a):r},a}function yf(t,e,n){var r=null,o=ve(!0),i=null,s=hi,a=null,c=Hy(f);t=typeof t=="function"?t:t===void 0?Zy:ve(+t),e=typeof e=="function"?e:e===void 0?ve(0):ve(+e),n=typeof n=="function"?n:n===void 0?Ky:ve(+n);function f(p){var l,h,d,m=(p=Qy(p)).length,g,y=!1,x,b=new Array(m),w=new Array(m);for(i==null&&(a=s(x=c())),l=0;l<=m;++l){if(!(l<m&&o(g=p[l],l,p))===y)if(y=!y)h=l,a.areaStart(),a.lineStart();else{for(a.lineEnd(),a.lineStart(),d=l-1;d>=h;--d)a.point(b[d],w[d]);a.lineEnd(),a.areaEnd()}y&&(b[l]=+t(g,l,p),w[l]=+e(g,l,p),a.point(r?+r(g,l,p):b[l],n?+n(g,l,p):w[l]))}if(x)return a=null,x+""||null}function u(){return Cp().defined(o).curve(s).context(i)}return f.x=function(p){return arguments.length?(t=typeof p=="function"?p:ve(+p),r=null,f):t},f.x0=function(p){return arguments.length?(t=typeof p=="function"?p:ve(+p),f):t},f.x1=function(p){return arguments.length?(r=p==null?null:typeof p=="function"?p:ve(+p),f):r},f.y=function(p){return arguments.length?(e=typeof p=="function"?p:ve(+p),n=null,f):e},f.y0=function(p){return arguments.length?(e=typeof p=="function"?p:ve(+p),f):e},f.y1=function(p){return arguments.length?(n=p==null?null:typeof p=="function"?p:ve(+p),f):n},f.lineX0=f.lineY0=function(){return u().x(t).y(e)},f.lineY1=function(){return u().x(t).y(n)},f.lineX1=function(){return u().x(r).y(e)},f.defined=function(p){return arguments.length?(o=typeof p=="function"?p:ve(!!p),f):o},f.curve=function(p){return arguments.length?(s=p,i!=null&&(a=s(i)),f):s},f.context=function(p){return arguments.length?(p==null?i=a=null:a=s(i=p),f):i},f}var Jy=class{constructor(e,n){this._context=e,this._x=n}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line}point(e,n){switch(e=+e,n=+n,this._point){case 0:{this._point=1,this._line?this._context.lineTo(e,n):this._context.moveTo(e,n);break}case 1:this._point=2;default:{this._x?this._context.bezierCurveTo(this._x0=(this._x0+e)/2,this._y0,this._x0,n,e,n):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+n)/2,e,this._y0,e,n);break}}this._x0=e,this._y0=n}};function Xv(t){return new Jy(t,!0)}function Wv(t){return new Jy(t,!1)}var WF=Dt(3),Np={draw(t,e){let n=Dt(e+mf(e/28,.75))*.59436,r=n/2,o=r*WF;t.moveTo(0,n),t.lineTo(0,-n),t.moveTo(-o,-r),t.lineTo(o,r),t.moveTo(-o,r),t.lineTo(o,-r)}};var di={draw(t,e){let n=Dt(e/ka);t.moveTo(n,0),t.arc(0,0,n,0,gf)}};var kp={draw(t,e){let n=Dt(e/5)/2;t.moveTo(-3*n,-n),t.lineTo(-n,-n),t.lineTo(-n,-3*n),t.lineTo(n,-3*n),t.lineTo(n,-n),t.lineTo(3*n,-n),t.lineTo(3*n,n),t.lineTo(n,n),t.lineTo(n,3*n),t.lineTo(-n,3*n),t.lineTo(-n,n),t.lineTo(-3*n,n),t.closePath()}};var _A=Dt(1/3),GF=_A*2,Rp={draw(t,e){let n=Dt(e/GF),r=n*_A;t.moveTo(0,-n),t.lineTo(r,0),t.lineTo(0,n),t.lineTo(-r,0),t.closePath()}};var Lp={draw(t,e){let n=Dt(e)*.62625;t.moveTo(0,-n),t.lineTo(n,0),t.lineTo(0,n),t.lineTo(-n,0),t.closePath()}};var Op={draw(t,e){let n=Dt(e-mf(e/7,2))*.87559;t.moveTo(-n,0),t.lineTo(n,0),t.moveTo(0,n),t.lineTo(0,-n)}};var $p={draw(t,e){let n=Dt(e),r=-n/2;t.rect(r,r,n,n)}};var Dp={draw(t,e){let n=Dt(e)*.4431;t.moveTo(n,n),t.lineTo(n,-n),t.lineTo(-n,-n),t.lineTo(-n,n),t.closePath()}};var VF=.8908130915292852,MA=Ip(ka/10)/Ip(7*ka/10),HF=Ip(gf/10)*MA,QF=-Uv(gf/10)*MA,Fp={draw(t,e){let n=Dt(e*VF),r=HF*n,o=QF*n;t.moveTo(0,-n),t.lineTo(r,o);for(let i=1;i<5;++i){let s=gf*i/5,a=Uv(s),c=Ip(s);t.lineTo(c*n,-a*n),t.lineTo(a*r-c*o,c*r+a*o)}t.closePath()}};var Gv=Dt(3),Pp={draw(t,e){let n=-Dt(e/(Gv*3));t.moveTo(0,n*2),t.lineTo(-Gv*n,-n),t.lineTo(Gv*n,-n),t.closePath()}};var ZF=Dt(3),qp={draw(t,e){let n=Dt(e)*.6824,r=n/2,o=n*ZF/2;t.moveTo(0,-n),t.lineTo(o,r),t.lineTo(-o,r),t.closePath()}};var gr=-.5,yr=Dt(3)/2,Vv=1/Dt(12),KF=(Vv/2+1)*3,Bp={draw(t,e){let n=Dt(e/KF),r=n/2,o=n*Vv,i=r,s=n*Vv+n,a=-i,c=s;t.moveTo(r,o),t.lineTo(i,s),t.lineTo(a,c),t.lineTo(gr*r-yr*o,yr*r+gr*o),t.lineTo(gr*i-yr*s,yr*i+gr*s),t.lineTo(gr*a-yr*c,yr*a+gr*c),t.lineTo(gr*r+yr*o,gr*o-yr*r),t.lineTo(gr*i+yr*s,gr*s-yr*i),t.lineTo(gr*a+yr*c,gr*c-yr*a),t.closePath()}};var xf={draw(t,e){let n=Dt(e-mf(e/6,1.7))*.6189;t.moveTo(-n,-n),t.lineTo(n,n),t.moveTo(-n,n),t.lineTo(n,-n)}};var tx=[di,kp,Rp,$p,Fp,Pp,Bp],Hv=[di,Op,xf,qp,Np,Dp,Lp];function xr(){}function bf(t,e,n){t._context.bezierCurveTo((2*t._x0+t._x1)/3,(2*t._y0+t._y1)/3,(t._x0+2*t._x1)/3,(t._y0+2*t._y1)/3,(t._x0+4*t._x1+e)/6,(t._y0+4*t._y1+n)/6)}function zp(t){this._context=t}zp.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:bf(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:bf(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function Qv(t){return new zp(t)}function SA(t){this._context=t}SA.prototype={areaStart:xr,areaEnd:xr,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x2,this._y2),this._context.closePath();break}case 2:{this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break}case 3:{this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4);break}}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x2=t,this._y2=e;break;case 1:this._point=2,this._x3=t,this._y3=e;break;case 2:this._point=3,this._x4=t,this._y4=e,this._context.moveTo((this._x0+4*this._x1+t)/6,(this._y0+4*this._y1+e)/6);break;default:bf(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function Zv(t){return new SA(t)}function AA(t){this._context=t}AA.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var n=(this._x0+4*this._x1+t)/6,r=(this._y0+4*this._y1+e)/6;this._line?this._context.lineTo(n,r):this._context.moveTo(n,r);break;case 3:this._point=4;default:bf(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function Kv(t){return new AA(t)}function EA(t,e){this._basis=new zp(t),this._beta=e}EA.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var t=this._x,e=this._y,n=t.length-1;if(n>0)for(var r=t[0],o=e[0],i=t[n]-r,s=e[n]-o,a=-1,c;++a<=n;)c=a/n,this._basis.point(this._beta*t[a]+(1-this._beta)*(r+c*i),this._beta*e[a]+(1-this._beta)*(o+c*s));this._x=this._y=null,this._basis.lineEnd()},point:function(t,e){this._x.push(+t),this._y.push(+e)}};var Jv=function t(e){function n(r){return e===1?new zp(r):new EA(r,e)}return n.beta=function(r){return t(+r)},n}(.85);function wf(t,e,n){t._context.bezierCurveTo(t._x1+t._k*(t._x2-t._x0),t._y1+t._k*(t._y2-t._y0),t._x2+t._k*(t._x1-e),t._y2+t._k*(t._y1-n),t._x2,t._y2)}function ex(t,e){this._context=t,this._k=(1-e)/6}ex.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:wf(this,this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2,this._x1=t,this._y1=e;break;case 2:this._point=3;default:wf(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var t_=function t(e){function n(r){return new ex(r,e)}return n.tension=function(r){return t(+r)},n}(0);function nx(t,e){this._context=t,this._k=(1-e)/6}nx.prototype={areaStart:xr,areaEnd:xr,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:wf(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var e_=function t(e){function n(r){return new nx(r,e)}return n.tension=function(r){return t(+r)},n}(0);function rx(t,e){this._context=t,this._k=(1-e)/6}rx.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:wf(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var n_=function t(e){function n(r){return new rx(r,e)}return n.tension=function(r){return t(+r)},n}(0);function Yp(t,e,n){var r=t._x1,o=t._y1,i=t._x2,s=t._y2;if(t._l01_a>jv){var a=2*t._l01_2a+3*t._l01_a*t._l12_a+t._l12_2a,c=3*t._l01_a*(t._l01_a+t._l12_a);r=(r*a-t._x0*t._l12_2a+t._x2*t._l01_2a)/c,o=(o*a-t._y0*t._l12_2a+t._y2*t._l01_2a)/c}if(t._l23_a>jv){var f=2*t._l23_2a+3*t._l23_a*t._l12_a+t._l12_2a,u=3*t._l23_a*(t._l23_a+t._l12_a);i=(i*f+t._x1*t._l23_2a-e*t._l12_2a)/u,s=(s*f+t._y1*t._l23_2a-n*t._l12_2a)/u}t._context.bezierCurveTo(r,o,i,s,t._x2,t._y2)}function TA(t,e){this._context=t,this._alpha=e}TA.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){if(t=+t,e=+e,this._point){var n=this._x2-t,r=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+r*r,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3;default:Yp(this,t,e);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var r_=function t(e){function n(r){return e?new TA(r,e):new ex(r,0)}return n.alpha=function(r){return t(+r)},n}(.5);function IA(t,e){this._context=t,this._alpha=e}IA.prototype={areaStart:xr,areaEnd:xr,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},point:function(t,e){if(t=+t,e=+e,this._point){var n=this._x2-t,r=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+r*r,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:Yp(this,t,e);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var o_=function t(e){function n(r){return e?new IA(r,e):new nx(r,0)}return n.alpha=function(r){return t(+r)},n}(.5);function CA(t,e){this._context=t,this._alpha=e}CA.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){if(t=+t,e=+e,this._point){var n=this._x2-t,r=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+r*r,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:Yp(this,t,e);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var i_=function t(e){function n(r){return e?new CA(r,e):new rx(r,0)}return n.alpha=function(r){return t(+r)},n}(.5);function NA(t){this._context=t}NA.prototype={areaStart:xr,areaEnd:xr,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(t,e){t=+t,e=+e,this._point?this._context.lineTo(t,e):(this._point=1,this._context.moveTo(t,e))}};function s_(t){return new NA(t)}function kA(t){return t<0?-1:1}function RA(t,e,n){var r=t._x1-t._x0,o=e-t._x1,i=(t._y1-t._y0)/(r||o<0&&-0),s=(n-t._y1)/(o||r<0&&-0),a=(i*o+s*r)/(r+o);return(kA(i)+kA(s))*Math.min(Math.abs(i),Math.abs(s),.5*Math.abs(a))||0}function LA(t,e){var n=t._x1-t._x0;return n?(3*(t._y1-t._y0)/n-e)/2:e}function a_(t,e,n){var r=t._x0,o=t._y0,i=t._x1,s=t._y1,a=(i-r)/3;t._context.bezierCurveTo(r+a,o+a*e,i-a,s-a*n,i,s)}function ox(t){this._context=t}ox.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:a_(this,this._t0,LA(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){var n=NaN;if(t=+t,e=+e,!(t===this._x1&&e===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,a_(this,LA(this,n=RA(this,t,e)),n);break;default:a_(this,this._t0,n=RA(this,t,e));break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e,this._t0=n}}};function OA(t){this._context=new $A(t)}(OA.prototype=Object.create(ox.prototype)).point=function(t,e){ox.prototype.point.call(this,e,t)};function $A(t){this._context=t}$A.prototype={moveTo:function(t,e){this._context.moveTo(e,t)},closePath:function(){this._context.closePath()},lineTo:function(t,e){this._context.lineTo(e,t)},bezierCurveTo:function(t,e,n,r,o,i){this._context.bezierCurveTo(e,t,r,n,i,o)}};function c_(t){return new ox(t)}function f_(t){return new OA(t)}function FA(t){this._context=t}FA.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var t=this._x,e=this._y,n=t.length;if(n)if(this._line?this._context.lineTo(t[0],e[0]):this._context.moveTo(t[0],e[0]),n===2)this._context.lineTo(t[1],e[1]);else for(var r=DA(t),o=DA(e),i=0,s=1;s<n;++i,++s)this._context.bezierCurveTo(r[0][i],o[0][i],r[1][i],o[1][i],t[s],e[s]);(this._line||this._line!==0&&n===1)&&this._context.closePath(),this._line=1-this._line,this._x=this._y=null},point:function(t,e){this._x.push(+t),this._y.push(+e)}};function DA(t){var e,n=t.length-1,r,o=new Array(n),i=new Array(n),s=new Array(n);for(o[0]=0,i[0]=2,s[0]=t[0]+2*t[1],e=1;e<n-1;++e)o[e]=1,i[e]=4,s[e]=4*t[e]+2*t[e+1];for(o[n-1]=2,i[n-1]=7,s[n-1]=8*t[n-1]+t[n],e=1;e<n;++e)r=o[e]/i[e-1],i[e]-=r,s[e]-=r*s[e-1];for(o[n-1]=s[n-1]/i[n-1],e=n-2;e>=0;--e)o[e]=(s[e]-o[e+1])/i[e];for(i[n-1]=(t[n]+o[n-1])/2,e=0;e<n-1;++e)i[e]=2*t[e+1]-o[e+1];return[o,i]}function u_(t){return new FA(t)}function ix(t,e){this._context=t,this._t=e}ix.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=this._y=NaN,this._point=0},lineEnd:function(){0<this._t&&this._t<1&&this._point===2&&this._context.lineTo(this._x,this._y),(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line>=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,e),this._context.lineTo(t,e);else{var n=this._x*(1-this._t)+t*this._t;this._context.lineTo(n,this._y),this._context.lineTo(n,e)}break}}this._x=t,this._y=e}};function l_(t){return new ix(t,.5)}function p_(t){return new ix(t,0)}function h_(t){return new ix(t,1)}var Up=t=>()=>t;function d_(t,{sourceEvent:e,target:n,transform:r,dispatch:o}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:e,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},transform:{value:r,enumerable:!0,configurable:!0},_:{value:o}})}function Qn(t,e,n){this.k=t,this.x=e,this.y=n}Qn.prototype={constructor:Qn,scale:function(t){return t===1?this:new Qn(this.k*t,this.x,this.y)},translate:function(t,e){return t===0&e===0?this:new Qn(this.k,this.x+this.k*t,this.y+this.k*e)},apply:function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},applyX:function(t){return t*this.k+this.x},applyY:function(t){return t*this.k+this.y},invert:function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},invertX:function(t){return(t-this.x)/this.k},invertY:function(t){return(t-this.y)/this.k},rescaleX:function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},rescaleY:function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var jp=new Qn(1,0,0);m_.prototype=Qn.prototype;function m_(t){for(;!t.__zoom;)if(!(t=t.parentNode))return jp;return t.__zoom}function sx(t){t.stopImmediatePropagation()}function vf(t){t.preventDefault(),t.stopImmediatePropagation()}function JF(t){return(!t.ctrlKey||t.type==="wheel")&&!t.button}function tP(){var t=this;return t instanceof SVGElement?(t=t.ownerSVGElement||t,t.hasAttribute("viewBox")?(t=t.viewBox.baseVal,[[t.x,t.y],[t.x+t.width,t.y+t.height]]):[[0,0],[t.width.baseVal.value,t.height.baseVal.value]]):[[0,0],[t.clientWidth,t.clientHeight]]}function PA(){return this.__zoom||jp}function eP(t){return-t.deltaY*(t.deltaMode===1?.05:t.deltaMode?1:.002)*(t.ctrlKey?10:1)}function nP(){return navigator.maxTouchPoints||"ontouchstart"in this}function rP(t,e,n){var r=t.invertX(e[0][0])-n[0][0],o=t.invertX(e[1][0])-n[1][0],i=t.invertY(e[0][1])-n[0][1],s=t.invertY(e[1][1])-n[1][1];return t.translate(o>r?(r+o)/2:Math.min(0,r)||Math.max(0,o),s>i?(i+s)/2:Math.min(0,i)||Math.max(0,s))}function g_(){var t=JF,e=tP,n=rP,r=eP,o=nP,i=[0,1/0],s=[[-1/0,-1/0],[1/0,1/0]],a=250,c=U2,f=ia("start","zoom","end"),u,p,l,h=500,d=150,m=0,g=10;function y(S){S.property("__zoom",PA).on("wheel.zoom",E,{passive:!1}).on("mousedown.zoom",T).on("dblclick.zoom",I).filter(o).on("touchstart.zoom",A).on("touchmove.zoom",k).on("touchend.zoom touchcancel.zoom",L).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}y.transform=function(S,C,N,R){var $=S.selection?S.selection():S;$.property("__zoom",PA),S!==$?_(S,C,N,R):$.interrupt().each(function(){v(this,arguments).event(R).start().zoom(null,typeof C=="function"?C.apply(this,arguments):C).end()})},y.scaleBy=function(S,C,N,R){y.scaleTo(S,function(){var $=this.__zoom.k,O=typeof C=="function"?C.apply(this,arguments):C;return $*O},N,R)},y.scaleTo=function(S,C,N,R){y.transform(S,function(){var $=e.apply(this,arguments),O=this.__zoom,D=N==null?w($):typeof N=="function"?N.apply(this,arguments):N,F=O.invert(D),P=typeof C=="function"?C.apply(this,arguments):C;return n(b(x(O,P),D,F),$,s)},N,R)},y.translateBy=function(S,C,N,R){y.transform(S,function(){return n(this.__zoom.translate(typeof C=="function"?C.apply(this,arguments):C,typeof N=="function"?N.apply(this,arguments):N),e.apply(this,arguments),s)},null,R)},y.translateTo=function(S,C,N,R,$){y.transform(S,function(){var O=e.apply(this,arguments),D=this.__zoom,F=R==null?w(O):typeof R=="function"?R.apply(this,arguments):R;return n(jp.translate(F[0],F[1]).scale(D.k).translate(typeof C=="function"?-C.apply(this,arguments):-C,typeof N=="function"?-N.apply(this,arguments):-N),O,s)},R,$)};function x(S,C){return C=Math.max(i[0],Math.min(i[1],C)),C===S.k?S:new Qn(C,S.x,S.y)}function b(S,C,N){var R=C[0]-N[0]*S.k,$=C[1]-N[1]*S.k;return R===S.x&&$===S.y?S:new Qn(S.k,R,$)}function w(S){return[(+S[0][0]+ +S[1][0])/2,(+S[0][1]+ +S[1][1])/2]}function _(S,C,N,R){S.on("start.zoom",function(){v(this,arguments).event(R).start()}).on("interrupt.zoom end.zoom",function(){v(this,arguments).event(R).end()}).tween("zoom",function(){var $=this,O=arguments,D=v($,O).event(R),F=e.apply($,O),P=N==null?w(F):typeof N=="function"?N.apply($,O):N,W=Math.max(F[1][0]-F[0][0],F[1][1]-F[0][1]),K=$.__zoom,tt=typeof C=="function"?C.apply($,O):C,nt=c(K.invert(P).concat(W/K.k),tt.invert(P).concat(W/tt.k));return function(U){if(U===1)U=tt;else{var et=nt(U),z=W/et[2];U=new Qn(z,P[0]-et[0]*z,P[1]-et[1]*z)}D.zoom(null,U)}})}function v(S,C,N){return!N&&S.__zooming||new M(S,C)}function M(S,C){this.that=S,this.args=C,this.active=0,this.sourceEvent=null,this.extent=e.apply(S,C),this.taps=0}M.prototype={event:function(S){return S&&(this.sourceEvent=S),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(S,C){return this.mouse&&S!=="mouse"&&(this.mouse[1]=C.invert(this.mouse[0])),this.touch0&&S!=="touch"&&(this.touch0[1]=C.invert(this.touch0[0])),this.touch1&&S!=="touch"&&(this.touch1[1]=C.invert(this.touch1[0])),this.that.__zoom=C,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(S){var C=Et(this.that).datum();f.call(S,this.that,new d_(S,{sourceEvent:this.sourceEvent,target:y,type:S,transform:this.that.__zoom,dispatch:f}),C)}};function E(S,...C){if(!t.apply(this,arguments))return;var N=v(this,C).event(S),R=this.__zoom,$=Math.max(i[0],Math.min(i[1],R.k*Math.pow(2,r.apply(this,arguments)))),O=sn(S);if(N.wheel)(N.mouse[0][0]!==O[0]||N.mouse[0][1]!==O[1])&&(N.mouse[1]=R.invert(N.mouse[0]=O)),clearTimeout(N.wheel);else{if(R.k===$)return;N.mouse=[O,R.invert(O)],ro(this),N.start()}vf(S),N.wheel=setTimeout(D,d),N.zoom("mouse",n(b(x(R,$),N.mouse[0],N.mouse[1]),N.extent,s));function D(){N.wheel=null,N.end()}}function T(S,...C){if(l||!t.apply(this,arguments))return;var N=S.currentTarget,R=v(this,C,!0).event(S),$=Et(S.view).on("mousemove.zoom",P,!0).on("mouseup.zoom",W,!0),O=sn(S,N),D=S.clientX,F=S.clientY;wl(S.view),sx(S),R.mouse=[O,this.__zoom.invert(O)],ro(this),R.start();function P(K){if(vf(K),!R.moved){var tt=K.clientX-D,nt=K.clientY-F;R.moved=tt*tt+nt*nt>m}R.event(K).zoom("mouse",n(b(R.that.__zoom,R.mouse[0]=sn(K,N),R.mouse[1]),R.extent,s))}function W(K){$.on("mousemove.zoom mouseup.zoom",null),vl(K.view,R.moved),vf(K),R.event(K).end()}}function I(S,...C){if(t.apply(this,arguments)){var N=this.__zoom,R=sn(S.changedTouches?S.changedTouches[0]:S,this),$=N.invert(R),O=N.k*(S.shiftKey?.5:2),D=n(b(x(N,O),R,$),e.apply(this,C),s);vf(S),a>0?Et(this).transition().duration(a).call(_,D,R,S):Et(this).call(y.transform,D,R,S)}}function A(S,...C){if(t.apply(this,arguments)){var N=S.touches,R=N.length,$=v(this,C,S.changedTouches.length===R).event(S),O,D,F,P;for(sx(S),D=0;D<R;++D)F=N[D],P=sn(F,this),P=[P,this.__zoom.invert(P),F.identifier],$.touch0?!$.touch1&&$.touch0[2]!==P[2]&&($.touch1=P,$.taps=0):($.touch0=P,O=!0,$.taps=1+!!u);u&&(u=clearTimeout(u)),O&&($.taps<2&&(p=P[0],u=setTimeout(function(){u=null},h)),ro(this),$.start())}}function k(S,...C){if(this.__zooming){var N=v(this,C).event(S),R=S.changedTouches,$=R.length,O,D,F,P;for(vf(S),O=0;O<$;++O)D=R[O],F=sn(D,this),N.touch0&&N.touch0[2]===D.identifier?N.touch0[0]=F:N.touch1&&N.touch1[2]===D.identifier&&(N.touch1[0]=F);if(D=N.that.__zoom,N.touch1){var W=N.touch0[0],K=N.touch0[1],tt=N.touch1[0],nt=N.touch1[1],U=(U=tt[0]-W[0])*U+(U=tt[1]-W[1])*U,et=(et=nt[0]-K[0])*et+(et=nt[1]-K[1])*et;D=x(D,Math.sqrt(U/et)),F=[(W[0]+tt[0])/2,(W[1]+tt[1])/2],P=[(K[0]+nt[0])/2,(K[1]+nt[1])/2]}else if(N.touch0)F=N.touch0[0],P=N.touch0[1];else return;N.zoom("touch",n(b(D,F,P),N.extent,s))}}function L(S,...C){if(this.__zooming){var N=v(this,C).event(S),R=S.changedTouches,$=R.length,O,D;for(sx(S),l&&clearTimeout(l),l=setTimeout(function(){l=null},h),O=0;O<$;++O)D=R[O],N.touch0&&N.touch0[2]===D.identifier?delete N.touch0:N.touch1&&N.touch1[2]===D.identifier&&delete N.touch1;if(N.touch1&&!N.touch0&&(N.touch0=N.touch1,delete N.touch1),N.touch0)N.touch0[1]=this.__zoom.invert(N.touch0[0]);else if(N.end(),N.taps===2&&(D=sn(D,this),Math.hypot(p[0]-D[0],p[1]-D[1])<g)){var F=Et(this).on("dblclick.zoom");F&&F.apply(this,arguments)}}}return y.wheelDelta=function(S){return arguments.length?(r=typeof S=="function"?S:Up(+S),y):r},y.filter=function(S){return arguments.length?(t=typeof S=="function"?S:Up(!!S),y):t},y.touchable=function(S){return arguments.length?(o=typeof S=="function"?S:Up(!!S),y):o},y.extent=function(S){return arguments.length?(e=typeof S=="function"?S:Up([[+S[0][0],+S[0][1]],[+S[1][0],+S[1][1]]]),y):e},y.scaleExtent=function(S){return arguments.length?(i[0]=+S[0],i[1]=+S[1],y):[i[0],i[1]]},y.translateExtent=function(S){return arguments.length?(s[0][0]=+S[0][0],s[1][0]=+S[1][0],s[0][1]=+S[0][1],s[1][1]=+S[1][1],y):[[s[0][0],s[0][1]],[s[1][0],s[1][1]]]},y.constrain=function(S){return arguments.length?(n=S,y):n},y.duration=function(S){return arguments.length?(a=+S,y):a},y.interpolate=function(S){return arguments.length?(c=S,y):c},y.on=function(){var S=f.on.apply(f,arguments);return S===f?y:S},y.clickDistance=function(S){return arguments.length?(m=(S=+S)*S,y):Math.sqrt(m)},y.tapDistance=function(S){return arguments.length?(g=+S,y):g},y}function Jt(t){return t!=null&&!Number.isNaN(t)}function qe(t,e){return+Jt(e)-+Jt(t)||dt(t,e)}function Ra(t,e){return+Jt(e)-+Jt(t)||bn(t,e)}function Xp(t){return t!=null&&`${t}`!=""}function _f(t){return isFinite(t)?t:NaN}function kn(t){return t>0&&isFinite(t)?t:NaN}function ss(t){return t<0&&isFinite(t)?t:NaN}function ax(t,e){if(t instanceof Date||(t=new Date(+t)),isNaN(t))return typeof e=="function"?e(t):e;let n=t.getUTCHours(),r=t.getUTCMinutes(),o=t.getUTCSeconds(),i=t.getUTCMilliseconds();return`${oP(t.getUTCFullYear(),4)}-${mi(t.getUTCMonth()+1,2)}-${mi(t.getUTCDate(),2)}${n||r||o||i?`T${mi(n,2)}:${mi(r,2)}${o||i?`:${mi(o,2)}${i?`.${mi(i,3)}`:""}`:""}Z`:""}`}function oP(t){return t<0?`-${mi(-t,6)}`:t>9999?`+${mi(t,6)}`:mi(t,4)}function mi(t,e){return`${t}`.padStart(e,"0")}var iP=/^(?:[-+]\d{2})?\d{4}(?:-\d{2}(?:-\d{2})?)?(?:T\d{2}:\d{2}(?::\d{2}(?:\.\d{3})?)?(?:Z|[-+]\d{2}:?\d{2})?)?$/;function Wp(t,e){return iP.test(t+="")?new Date(t):typeof e=="function"?e(t):e}function gi(t){if(t==null)return;let e=t[0],n=t[t.length-1];return bn(e,n)}var Sf=1e3,cs=Sf*60,fs=cs*60,xo=fs*24,yo=xo*7,La=xo*30,as=xo*365,y_=[["millisecond",1],["2 milliseconds",2],["5 milliseconds",5],["10 milliseconds",10],["20 milliseconds",20],["50 milliseconds",50],["100 milliseconds",100],["200 milliseconds",200],["500 milliseconds",500],["second",Sf],["5 seconds",5*Sf],["15 seconds",15*Sf],["30 seconds",30*Sf],["minute",cs],["5 minutes",5*cs],["15 minutes",15*cs],["30 minutes",30*cs],["hour",fs],["3 hours",3*fs],["6 hours",6*fs],["12 hours",12*fs],["day",xo],["2 days",2*xo],["week",yo],["2 weeks",2*yo],["month",La],["3 months",3*La],["6 months",6*La],["year",as],["2 years",2*as],["5 years",5*as],["10 years",10*as],["20 years",20*as],["50 years",50*as],["100 years",100*as]],x_=new Map([["second",Sf],["minute",cs],["hour",fs],["day",xo],["monday",yo],["tuesday",yo],["wednesday",yo],["thursday",yo],["friday",yo],["saturday",yo],["sunday",yo],["week",yo],["month",La],["year",as]]),BA=new Map([["second",Fe],["minute",ai],["hour",fi],["day",mr],["monday",os],["tuesday",Sg],["wednesday",Ag],["thursday",ho],["friday",Eg],["saturday",Tg],["sunday",Vn],["week",Vn],["month",li],["year",ln]]),b_=new Map([["second",Fe],["minute",ci],["hour",ui],["day",Ia],["monday",is],["tuesday",Ig],["wednesday",Cg],["thursday",mo],["friday",Ng],["saturday",kg],["sunday",Hn],["week",Hn],["month",pi],["year",pn]]),Af=Symbol("intervalDuration"),fx=Symbol("intervalType");for(let[t,e]of BA)e[Af]=x_.get(t),e[fx]="time";for(let[t,e]of b_)e[Af]=x_.get(t),e[fx]="utc";var Gp=[["year",pn,"utc"],["month",pi,"utc"],["day",Ia,"utc",6*La],["hour",ui,"utc",3*xo],["minute",ci,"utc",6*fs],["second",Fe,"utc",30*cs]],cx=[["year",ln,"time"],["month",li,"time"],["day",mr,"time",6*La],["hour",fi,"time",3*xo],["minute",ai,"time",6*fs],["second",Fe,"time",30*cs]],sP=[Gp[0],cx[0],Gp[1],cx[1],Gp[2],cx[2],...Gp.slice(3)];function ux(t){let e=`${t}`.toLowerCase();e.endsWith("s")&&(e=e.slice(0,-1));let n=1,r=/^(?:(\d+)\s+)/.exec(e);switch(r&&(e=e.slice(r[0].length),n=+r[1]),e){case"quarter":e="month",n*=3;break;case"half":e="month",n*=6;break}let o=b_.get(e);if(!o)throw new Error(`unknown interval: ${t}`);if(n>1&&!o.every)throw new Error(`non-periodic interval: ${e}`);return[e,n]}function Vp(t){return zA(ux(t),"time")}function Oa(t){return zA(ux(t),"utc")}function zA([t,e],n){let r=(n==="time"?BA:b_).get(t);return e>1&&(r=r.every(e),r[Af]=x_.get(t)*e,r[fx]=n),r}function w_(t,e){if(!(e>1))return;let n=t[Af];if(!y_.some(([,o])=>o===n)||n%xo===0&&xo<n&&n<La)return;let[r]=y_[Nr(([,o])=>Math.log(o)).center(y_,Math.log(n*e))];return(t[fx]==="time"?Vp:Oa)(r)}function qA(t,e,n){let r=e==="time"?pf:go;if(n==null)return r(t==="year"?"%Y":t==="month"?"%Y-%m":t==="day"?"%Y-%m-%d":t==="hour"||t==="minute"?"%Y-%m-%dT%H:%M":t==="second"?"%Y-%m-%dT%H:%M:%S":"%Y-%m-%dT%H:%M:%S.%L");let o=aP(n);switch(t){case"millisecond":return Mf(r(".%L"),r(":%M:%S"),o);case"second":return Mf(r(":%S"),r("%-I:%M"),o);case"minute":return Mf(r("%-I:%M"),r("%p"),o);case"hour":return Mf(r("%-I %p"),r("%b %-d"),o);case"day":return Mf(r("%-d"),r("%b"),o);case"month":return Mf(r("%b"),r("%Y"),o);case"year":return r("%Y")}throw new Error("unable to format time ticks")}function aP(t){return t==="left"||t==="right"?(e,n)=>`
|
|
3
3
|
${e}
|
|
4
4
|
${n}`:t==="top"?(e,n)=>`${n}
|
|
5
5
|
${e}`:(e,n)=>`${e}
|
|
6
|
-
${n}`}function sP(t){return t==="time"?ax:t==="utc"?Wp:oP}function YA(t,e,n){let r=Mt(n0(e,(o,i)=>Math.abs(i-o)));if(r<1e3)return qA("millisecond","utc",n);for(let[o,i,s,a]of sP(t)){if(r>a||o==="hour"&&!r)break;if(e.every(c=>i.floor(c)>=c))return qA(o,s,n)}}function vf(t,e,n){return(r,o,i)=>{let s=t(r,o),a=e(r,o),c=o-gi(i);return o!==c&&i[c]!==void 0&&a===e(i[c],c)?s:n(s,a)}}var Vp=Object.getPrototypeOf(Uint8Array),aP=Object.prototype.toString;function qn(t){return t instanceof Array||t instanceof Vp}function jA(t){return t instanceof Vp&&!cP(t)}function XA(t){return t?.prototype instanceof Vp&&!fP(t)}function cP(t){return t instanceof BigInt64Array||t instanceof BigUint64Array}function fP(t){return t===BigInt64Array||t===BigUint64Array}var v_=Symbol("reindex");function ct(t,e,n){let r=typeof e;return r==="string"?rE(t)?__(t.getChild(e),n):UA(t,M_(e),n):r==="function"?UA(t,e,n):r==="number"||e instanceof Date||r==="boolean"?St(t,oe(e),n):typeof e?.transform=="function"?w_(e.transform(t),n):uP(w_(e,n),t?.[v_])}function uP(t,e){return t!=null&&e?Qp(t,e):t}function UA(t,e,n){return St(t,XA(n)?(r,o)=>S_(e(r,o)):e,n)}function w_(t,e){return e===void 0?Zn(t):oE(t)?__(t,e):t instanceof e?t:e.from(t,XA(e)&&!jA(t)?S_:void 0)}function __(t,e){return t==null?t:(e===void 0||e===Array)&&hP(t.type)?A_(t.toArray()):w_(t.toArray(),e)}var fs=[null],M_=t=>e=>{let n=e[t];return n===void 0&&e.type==="Feature"?e.properties?.[t]:n},Xt={transform:Rn},X={transform:t=>t};var Hp=()=>1,WA=()=>!0,he=t=>t==null?t:`${t}`,Rt=t=>t==null?t:+t;var Oa=t=>t?t[0]:void 0,us=t=>t?t[1]:void 0,GA=t=>t?t[2]:void 0,oe=t=>()=>t;function Sf(t){let e=+`${t}`.slice(1)/100;return(n,r)=>_n(n,e,r)}function _e(t){return jA(t)?t:St(t,S_,Float64Array)}function S_(t){return t==null?NaN:Number(t)}function A_(t){return St(t,E_)}function E_(t){return t instanceof Date&&!isNaN(t)?t:typeof t=="string"?Xp(t):t==null||isNaN(t=Number(t))?void 0:new Date(t)}function ne(t,e){return t===void 0&&(t=e),t===null?[void 0,"none"]:ds(t)?[void 0,t]:[t,void 0]}function Pt(t,e){return t===void 0&&(t=e),t===null||typeof t=="number"?[void 0,t]:[t,void 0]}function T_(t,e,n){if(t!=null)return Ce(t,e,n)}function Ce(t,e,n){let r=`${t}`.toLowerCase();if(!n.includes(r))throw new Error(`invalid ${e}: ${t}`);return r}function yi(t){return rE(t)?t:Zn(t)}function Zn(t){if(t==null||qn(t))return t;if(oE(t))return __(t);switch(t.type){case"FeatureCollection":return t.features;case"GeometryCollection":return t.geometries;case"Feature":case"LineString":case"MultiLineString":case"MultiPoint":case"MultiPolygon":case"Point":case"Polygon":case"Sphere":return[t]}return Array.from(t)}function St(t,e,n=Array){return t==null?t:t instanceof n?t.map(e):n.from(t,e)}function ls(t,e=Array){return t instanceof e?t.slice():e.from(t)}function I_({x:t,x1:e,x2:n}){return t!==void 0||e!==void 0||n!==void 0}function C_({y:t,y1:e,y2:n}){return t!==void 0||e!==void 0||n!==void 0}function xi(t){return I_(t)||C_(t)||t.interval!==void 0}function Be(t){return t?.toString===aP}function bo(t){return Be(t)&&(t.type!==void 0||t.domain!==void 0)}function Kn(t){return Be(t)&&typeof t.transform!="function"}function wo(t){return Kn(t)&&t.value===void 0&&t.channel===void 0}function N_(t,e,n,r=X){return e===void 0&&n===void 0?(e=0,n=t===void 0?r:t):e===void 0?e=t===void 0?0:t:n===void 0&&(n=t===void 0?0:t),[e,n]}function fe(t,e){return t===void 0&&e===void 0?[Oa,us]:[t,e]}function pn({z:t,fill:e,stroke:n}={}){return t===void 0&&([t]=ne(e)),t===void 0&&([t]=ne(n)),t}function ps(t){return qn(t)?t.length:t?.numRows}function Rn(t){let e=ps(t),n=new Uint32Array(e);for(let r=0;r<e;++r)n[r]=r;return n}function Qp(t,e){return qn(t)?St(e,n=>t[n],t.constructor):St(e,n=>t.at(n))}function Af(t){return t.length===1?(e,n)=>t(Qp(n,e)):t}function bi(t,e,n){return t.subarray?t.subarray(e,n):t.slice(e,n)}function br(t){return t!==null&&typeof t=="object"?t.valueOf():t}function ux(t,e){if(e[t]!==void 0)return e[t];switch(t){case"x1":case"x2":t="x";break;case"y1":case"y2":t="y";break}return e[t]}function ze(t){let e;return[{transform:()=>e,label:Je(t)},n=>e=n]}function Ke(t){return t==null?[t]:ze(t)}function Je(t,e){return typeof t=="string"?t:t&&t.label!==void 0?t.label:e}function Ef(t,e){return{transform(n){let r=t.transform(n),o=e.transform(n);return re(r)||re(o)?St(r,(i,s)=>new Date((+r[s]+ +o[s])/2)):St(r,(i,s)=>(+r[s]+ +o[s])/2,Float64Array)},label:t.label}}function $a(t,e){let n=k_(e?.interval,e?.type);return n?St(t,n):t}function k_(t,e){let n=Tf(t,e);return n&&(r=>Jt(r)?n.floor(r):r)}function Tf(t,e){if(t!=null){if(typeof t=="number")return R_(t);if(typeof t=="string")return(e==="time"?Gp:La)(t);if(typeof t.floor!="function")throw new Error("invalid interval; missing floor method");if(typeof t.offset!="function")throw new Error("invalid interval; missing offset method");return t}}function R_(t){t=+t,0<t&&t<1&&Number.isInteger(1/t)&&(t=-1/t);let e=Math.abs(t);return t<0?{floor:n=>Math.floor(n*e)/e,offset:(n,r=1)=>(n*e+Math.floor(r))/e,range:(n,r)=>pe(Math.ceil(n*e),r*e).map(o=>o/e)}:{floor:n=>Math.floor(n/e)*e,offset:(n,r=1)=>n+e*Math.floor(r),range:(n,r)=>pe(Math.ceil(n/e),r/e).map(o=>o*e)}}function vo(t,e){if(t=Tf(t,e),t&&typeof t.range!="function")throw new Error("invalid interval: missing range method");return t}function VA(t,e){if(t=vo(t,e),t&&typeof t.ceil!="function")throw new Error("invalid interval: missing ceil method");return t}function HA(t){return hs(t)&&typeof t?.floor=="function"&&t.floor()instanceof Date}function hs(t){return typeof t?.range=="function"}function wr(t){return t===void 0||Kn(t)?t:{value:t}}function QA(t){return t==null?null:{transform:e=>ct(e,t,Float64Array),label:Je(t)}}function ZA(t){if(!Ln(t))return!1;for(let e of t)if(e!=null)return typeof e=="object"&&"0"in e&&"1"in e}function Ln(t){return t&&typeof t[Symbol.iterator]=="function"}function lx(t){for(let e of t)if(e!=null)return typeof e!="object"||e instanceof Date}function te(t){for(let e of t){if(e==null)continue;let n=typeof e;return n==="string"||n==="boolean"}}function re(t){for(let e of t)if(e!=null)return e instanceof Date}function KA(t){for(let e of t)if(e!=null)return typeof e=="string"&&isNaN(e)&&Xp(e)}function JA(t){for(let e of t)if(e!=null){if(typeof e!="string")return!1;if(e.trim())return!isNaN(e)}}function wi(t){for(let e of t)if(e!=null)return typeof e=="number"}function px(t,e){let n;for(let r of t)if(r!=null){if(!e(r))return!1;n=!0}return n}var lP=new Set("none,currentcolor,transparent,aliceblue,antiquewhite,aqua,aquamarine,azure,beige,bisque,black,blanchedalmond,blue,blueviolet,brown,burlywood,cadetblue,chartreuse,chocolate,coral,cornflowerblue,cornsilk,crimson,cyan,darkblue,darkcyan,darkgoldenrod,darkgray,darkgreen,darkgrey,darkkhaki,darkmagenta,darkolivegreen,darkorange,darkorchid,darkred,darksalmon,darkseagreen,darkslateblue,darkslategray,darkslategrey,darkturquoise,darkviolet,deeppink,deepskyblue,dimgray,dimgrey,dodgerblue,firebrick,floralwhite,forestgreen,fuchsia,gainsboro,ghostwhite,gold,goldenrod,gray,green,greenyellow,grey,honeydew,hotpink,indianred,indigo,ivory,khaki,lavender,lavenderblush,lawngreen,lemonchiffon,lightblue,lightcoral,lightcyan,lightgoldenrodyellow,lightgray,lightgreen,lightgrey,lightpink,lightsalmon,lightseagreen,lightskyblue,lightslategray,lightslategrey,lightsteelblue,lightyellow,lime,limegreen,linen,magenta,maroon,mediumaquamarine,mediumblue,mediumorchid,mediumpurple,mediumseagreen,mediumslateblue,mediumspringgreen,mediumturquoise,mediumvioletred,midnightblue,mintcream,mistyrose,moccasin,navajowhite,navy,oldlace,olive,olivedrab,orange,orangered,orchid,palegoldenrod,palegreen,paleturquoise,palevioletred,papayawhip,peachpuff,peru,pink,plum,powderblue,purple,rebeccapurple,red,rosybrown,royalblue,saddlebrown,salmon,sandybrown,seagreen,seashell,sienna,silver,skyblue,slateblue,slategray,slategrey,snow,springgreen,steelblue,tan,teal,thistle,tomato,turquoise,violet,wheat,white,whitesmoke,yellow".split(","));function ds(t){return typeof t!="string"?!1:(t=t.toLowerCase().trim(),/^#[0-9a-f]{3,8}$/.test(t)||/^(?:url|var|rgb|rgba|hsl|hsla|hwb|lab|lch|oklab|oklch|color|color-mix)\(.*\)$/.test(t)||lP.has(t))}function tE(t){return typeof t=="number"&&(0<=t&&t<=1||isNaN(t))}function Ft(t){return t==null||vi(t)}function vi(t){return/^\s*none\s*$/i.test(t)}function eE(t){return/^\s*round\s*$/i.test(t)}function hx(t,e){return T_(t,e,["middle","top-left","top","top-right","right","bottom-right","bottom","bottom-left","left"])}function _o(t="middle"){return hx(t,"frameAnchor")}function nE(t={},...e){let n=t;for(let r of e)for(let o in r)if(n[o]===void 0){let i=r[o];n===t?n={...n,[o]:i}:n[o]=i}return n}function pP(t){console.warn("named iterables are deprecated; please use an object instead");let e=new Set;return Object.fromEntries(Array.from(t,n=>{let{name:r}=n;if(r==null)throw new Error("missing name");let o=`${r}`;if(o==="__proto__")throw new Error(`illegal name: ${o}`);if(e.has(o))throw new Error(`duplicate name: ${o}`);return e.add(o),[r,n]}))}function Zp(t){return Ln(t)?pP(t):t}function dx(t){return t===!0?t="frame":t===!1?t=null:t!=null&&(t=Ce(t,"clip",["frame","sphere"])),t}function rE(t){return t&&typeof t.getChild=="function"&&typeof t.toArray=="function"&&t.schema&&Array.isArray(t.schema.fields)}function oE(t){return t&&typeof t.toArray=="function"&&t.type}function hP(t){return t&&(t.typeId===8||t.typeId===10)&&t.unit===1}var vr=Symbol("position"),Jn=Symbol("color"),Da=Symbol("radius"),Fa=Symbol("length"),Pa=Symbol("opacity"),If=Symbol("symbol"),iE=Symbol("projection"),Yt=new Map([["x",vr],["y",vr],["fx",vr],["fy",vr],["r",Da],["color",Jn],["opacity",Pa],["symbol",If],["length",Fa],["projection",iE]]);function sE(t){return t===vr||t===iE}function aE(t){return t===vr||t===Da||t===Fa||t===Pa}var L_=Math.sqrt(3),O_=2/L_,dP={draw(t,e){let n=Math.sqrt(e/Math.PI),r=n*O_,o=r/2;t.moveTo(0,r),t.lineTo(n,o),t.lineTo(n,-o),t.lineTo(0,-r),t.lineTo(-n,-o),t.lineTo(-n,o),t.closePath()}},$_=new Map([["asterisk",Cp],["circle",di],["cross",Np],["diamond",kp],["diamond2",Rp],["hexagon",dP],["plus",Lp],["square",Op],["square2",$p],["star",Dp],["times",gf],["triangle",Fp],["triangle2",Pp],["wye",qp]]);function D_(t){return t&&typeof t.draw=="function"}function cE(t){return D_(t)?!0:typeof t!="string"?!1:$_.has(t.toLowerCase())}function Cf(t){if(t==null||D_(t))return t;let e=$_.get(`${t}`.toLowerCase());if(e)return e;throw new Error(`invalid symbol: ${t}`)}function fE(t){if(t==null||D_(t))return[void 0,t];if(typeof t=="string"){let e=$_.get(`${t}`.toLowerCase());if(e)return[void 0,e]}return[t,void 0]}function Me({filter:t,sort:e,reverse:n,transform:r,initializer:o,...i}={},s){if(r===void 0&&(t!=null&&(r=q_(t)),e!=null&&!wo(e)&&(r=F_(r,z_(e))),n&&(r=F_(r,B_))),s!=null&&o!=null)throw new Error("transforms cannot be applied after initializers");return{...i,...(e===null||wo(e))&&{sort:e},transform:F_(r,s)}}function Gt({filter:t,sort:e,reverse:n,initializer:r,...o}={},i){return r===void 0&&(t!=null&&(r=q_(t)),e!=null&&!wo(e)&&(r=P_(r,z_(e))),n&&(r=P_(r,B_))),{...o,...(e===null||wo(e))&&{sort:e},initializer:P_(r,i)}}function F_(t,e){return t==null?e===null?void 0:e:e==null?t===null?void 0:t:function(n,r,o){return{data:n,facets:r}=t.call(this,n,r,o),e.call(this,yi(n),r,o)}}function P_(t,e){return t==null?e===null?void 0:e:e==null?t===null?void 0:t:function(n,r,o,...i){let s,a,c,f,u,p;return{data:a=n,facets:c=r,channels:s}=t.call(this,n,r,o,...i),{data:u=a,facets:p=c,channels:f}=e.call(this,a,c,{...o,...s},...i),{data:u,facets:p,channels:{...s,...f}}}}function mx(t,e){return(t.initializer!=null?Gt:Me)(t,e)}function uE(t,e){return mx(e,q_(t))}function q_(t){return(e,n)=>{let r=ct(e,t);return{data:e,facets:n.map(o=>o.filter(i=>r[i]))}}}function lE({sort:t,...e}={}){return{...mx(e,B_),sort:wo(t)?t:null}}function B_(t,e){return{data:t,facets:e.map(n=>n.slice().reverse())}}function pE({seed:t,sort:e,...n}={}){return{...mx(n,hE(t==null?Math.random:va(t))),sort:wo(e)?e:null}}function gx(t,{sort:e,...n}={}){return{...(Kn(t)&&t.channel!==void 0?Gt:mx)(n,z_(t)),sort:wo(e)?e:null}}function z_(t){return(typeof t=="function"&&t.length!==1?mP:hE)(t)}function mP(t){return(e,n)=>{let r=qn(e)?(o,i)=>t(e[o],e[i]):(o,i)=>t(e.get(o),e.get(i));return{data:e,facets:n.map(o=>o.slice().sort(r))}}}function hE(t){let e,n;({channel:e,value:t,order:n}={...wr(t)});let r=e?.startsWith("-");if(r&&(e=e.slice(1)),n===void 0&&(n=r?ka:qe),typeof n!="function")switch(`${n}`.toLowerCase()){case"ascending":n=qe;break;case"descending":n=ka;break;default:throw new Error(`invalid order: ${n}`)}return(o,i,s)=>{let a;if(e===void 0)a=ct(o,t);else{if(s===void 0)throw new Error("channel sort requires an initializer");if(a=s[e],!a)return{};a=a.value}let c=(f,u)=>n(a[f],a[u]);return{data:o,facets:i.map(f=>f.slice().sort(c))}}}function Jp(t,e){return yx(null,null,t,e)}function ms(t={y:"count"},e={}){let{x:n=X}=e;if(n==null)throw new Error("missing channel: x");return yx(n,null,t,e)}function gs(t={x:"count"},e={}){let{y:n=X}=e;if(n==null)throw new Error("missing channel: y");return yx(null,n,t,e)}function th(t={fill:"count"},e={}){let{x:n,y:r}=e;if([n,r]=fe(n,r),n==null)throw new Error("missing channel: x");if(r==null)throw new Error("missing channel: y");return yx(n,r,t,e)}function yx(t,e,{data:n=wx,filter:r,sort:o,reverse:i,...s}={},a={}){s=U_(s,a),n=xE(n,X),o=o==null?void 0:gE("sort",o,a),r=r==null?void 0:yE("filter",r,a);let[c,f]=Ke(t),[u,p]=Ke(e),{z:l,fill:h,stroke:d,x1:m,x2:g,y1:y,y2:x,...b}=a,[w,_]=Ke(l),[v]=ne(h),[M]=ne(d),[E,T]=Ke(v),[I,A]=Ke(M);return{..."z"in a&&{z:w||l},..."fill"in a&&{fill:E||h},..."stroke"in a&&{stroke:I||d},...Me(b,(k,L,S)=>{let C=$a(ct(k,t),S?.x),N=$a(ct(k,e),S?.y),R=ct(k,l),$=ct(k,v),O=ct(k,M),D=eh(s,{z:R,fill:$,stroke:O}),F=[],P=[],W=C&&f([]),K=N&&p([]),tt=R&&_([]),nt=$&&T([]),U=O&&A([]),et=0;for(let z of s)z.initialize(k);o&&o.initialize(k),r&&r.initialize(k);for(let z of L){let G=[];for(let J of s)J.scope("facet",z);o&&o.scope("facet",z),r&&r.scope("facet",z);for(let[J,q]of Mo(z,D))for(let[bt,st]of Mo(q,N))for(let[Tt,Ct]of Mo(st,C)){let Q={data:k};if(C&&(Q.x=Tt),N&&(Q.y=bt),D&&(Q.z=J),!(r&&!r.reduce(Ct,Q))){G.push(et++),P.push(n.reduceIndex(Ct,k,Q)),C&&W.push(Tt),N&&K.push(bt),R&&tt.push(D===R?J:R[Ct[0]]),$&&nt.push(D===$?J:$[Ct[0]]),O&&U.push(D===O?J:O[Ct[0]]);for(let qt of s)qt.reduce(Ct,Q);o&&o.reduce(Ct,Q)}}F.push(G)}return j_(F,o,i),{data:P,facets:F}}),...!So(s,"x")&&(c?{x:c}:{x1:m,x2:g}),...!So(s,"y")&&(u?{y:u}:{y1:y,y2:x}),...Object.fromEntries(s.map(({name:k,output:L})=>[k,L]))}}function So(t,...e){for(let{name:n}of t)if(e.includes(n))return!0;return!1}function Y_(t,e,n=xx){let r=Object.entries(t);return e.title!=null&&t.title===void 0&&r.push(["title",vP]),e.href!=null&&t.href===void 0&&r.push(["href",vx]),r.filter(([,o])=>o!==void 0).map(([o,i])=>i===null?gP(o):n(o,i,e))}function xx(t,e,n,r=bx){let o;Be(e)&&"reduce"in e&&(o=e.scale,e=e.reduce);let i=r(t,e,n),[s,a]=ze(i.label),c;return{name:t,output:o===void 0?s:{value:s,scale:o},initialize(f){i.initialize(f),c=a([])},scope(f,u){i.scope(f,u)},reduce(f,u){c.push(i.reduce(f,u))}}}function gP(t){return{name:t,initialize(){},scope(){},reduce(){}}}function bx(t,e,n,r=Nf){let o=ux(t,n),i=r(e,o),s,a;return{label:Je(i===Kp?null:o,i.label),initialize(c){s=o===void 0?c:ct(c,o),i.scope==="data"&&(a=i.reduceIndex(Rn(c),s))},scope(c,f){i.scope===c&&(a=i.reduceIndex(f,s))},reduce(c,f){return i.scope==null?i.reduceIndex(c,s,f):i.reduceIndex(c,s,a,f)}}}function Mo(t,e){return e?Ve(t,n=>e[n]):[[,t]]}function Nf(t,e,n=yP){if(t==null)return n(t);if(typeof t.reduceIndex=="function")return t;if(typeof t.reduce=="function"&&Be(t))return bP(t);if(typeof t=="function")return wP(t);if(/^p\d{2}$/i.test(t))return _i(Sf(t));switch(`${t}`.toLowerCase()){case"first":return vx;case"last":return _P;case"identity":return wx;case"count":return Kp;case"distinct":return MP;case"sum":return e==null?Kp:SP;case"proportion":return mE(e,"data");case"proportion-facet":return mE(e,"facet");case"deviation":return _i(fr);case"min":return _i(At);case"min-index":return _i(Jm);case"max":return _i(Mt);case"max-index":return _i(Km);case"mean":return dE(Qo);case"median":return dE(Rr);case"variance":return _i(Ui);case"mode":return _i(Lc)}return n(t)}function yP(t){throw new Error(`invalid reduce: ${t}`)}function U_(t,e){return Y_(t,e,gE)}function gE(t,e,n){return xx(t,e,n,yE)}function yE(t,e,n){return bx(t,e,n,xE)}function xE(t,e){return Nf(t,e,xP)}function xP(t){switch(`${t}`.toLowerCase()){case"x":return AP;case"y":return EP;case"z":return X_}throw new Error(`invalid group reduce: ${t}`)}function eh(t,e){for(let n in e){let r=e[n];if(r!==void 0&&!t.some(o=>o.name===n))return r}}function j_(t,e,n){if(e){let r=e.output.transform(),o=(i,s)=>qe(r[i],r[s]);t.forEach(i=>i.sort(o))}n&&t.forEach(r=>r.reverse())}function bP(t){return console.warn("deprecated reduce interface; implement reduceIndex instead."),{...t,reduceIndex:t.reduce.bind(t)}}function wP(t){return{reduceIndex(e,n,r){return t(Qp(n,e),r)}}}function _i(t){return{reduceIndex(e,n){return t(e,r=>n[r])}}}function dE(t){return{reduceIndex(e,n){let r=t(e,o=>n[o]);return re(n)?new Date(r):r}}}var wx={reduceIndex(t,e){return Qp(e,t)}},vx={reduceIndex(t,e){return e[t[0]]}},vP={reduceIndex(t,e){let r=Vo(kr(t,i=>i.length,i=>e[i]),us),o=r.slice(-5).reverse();if(o.length<r.length){let i=r.slice(0,-4);o[4]=[`\u2026 ${i.length.toLocaleString("en-US")} more`,Ee(i,us)]}return o.map(([i,s])=>`${i} (${s.toLocaleString("en-US")})`).join(`
|
|
7
|
-
`)}},_P={reduceIndex(t,e){return e[t[t.length-1]]}},Kp={label:"Frequency",reduceIndex(t){return t.length}},MP={label:"Distinct",reduceIndex(t,e){let n=new vn;for(let r of t)n.add(e[r]);return n.size}},SP=_i(Ee);function mE(t,e){return t==null?{scope:e,label:"Frequency",reduceIndex:(n,r,o=1)=>n.length/o}:{scope:e,reduceIndex:(n,r,o=1)=>Ee(n,i=>r[i])/o}}var AP={reduceIndex(t,e,{x:n}){return n}},EP={reduceIndex(t,e,{y:n}){return n}},X_={reduceIndex(t,e,{z:n}){return n}};function bE(t){if(typeof t!="function")throw new Error(`invalid test function: ${t}`);return{reduceIndex(e,n,{data:r}){return n[e.find(qn(r)?o=>t(r[o],o,r):o=>t(r.get(o),o,r))]}}}function kf(t,{scale:e,type:n,value:r,filter:o,hint:i,label:s=Je(r)},a){return i===void 0&&typeof r?.transform=="function"&&(i=r.hint),G_(a,{scale:e,type:n,value:ct(t,r),label:s,filter:o,hint:i})}function _x(t,e){return Object.fromEntries(Object.entries(t).map(([n,r])=>[n,kf(e,r,n)]))}function Rf(t,e){let n=Object.fromEntries(Object.entries(t).map(([r,{scale:o,value:i}])=>{let s=o==null?null:e[o];return[r,s==null?i:St(i,s)]}));return n.channels=t,n}function G_(t,e){let{scale:n,value:r}=e;if(n===!0||n==="auto")switch(t){case"fill":case"stroke":case"color":e.scale=n!==!0&&px(r,ds)?null:"color",e.defaultScale="color";break;case"fillOpacity":case"strokeOpacity":case"opacity":e.scale=n!==!0&&px(r,tE)?null:"opacity",e.defaultScale="opacity";break;case"symbol":n!==!0&&px(r,cE)?(e.scale=null,e.value=St(r,Cf)):e.scale="symbol",e.defaultScale="symbol";break;default:e.scale=Yt.has(t)?t:null;break}else if(n===!1)e.scale=null;else if(n!=null&&!Yt.has(n))throw new Error(`unknown scale: ${n}`);return e}function vE(t,e,n,r,o){let{order:i,reverse:s,reduce:a=!0,limit:c}=o;for(let f in o){if(!Yt.has(f))continue;let{value:u,order:p=i,reverse:l=s,reduce:h=a,limit:d=c}=wr(o[f]),m=u?.startsWith("-");if(m&&(u=u.slice(1)),p=p===void 0?m!==(u==="width"||u==="height")?ME:_E:CP(p),h==null||h===!1)continue;let g=f==="fx"||f==="fy"?IP(e,r[f]):TP(n,f);if(!g)throw new Error(`missing channel for scale: ${f}`);let y=g.value,[x=0,b=1/0]=Ln(d)?d:d<0?[d]:[0,d];if(u==null)g.domain=()=>{let w=Array.from(new vn(y));return l&&(w=w.reverse()),(x!==0||b!==1/0)&&(w=w.slice(x,b)),w};else{let w=u==="data"?t:u==="height"?wE(n,"y1","y2"):u==="width"?wE(n,"x1","x2"):W_(n,u,u==="y"?"y2":u==="x"?"x2":void 0),_=Nf(h===!0?"max":h,w);g.domain=()=>{let v=y2(Rn(y),M=>_.reduceIndex(M,w),M=>y[M]);return p&&v.sort(p),l&&v.reverse(),(x!==0||b!==1/0)&&(v=v.slice(x,b)),v.map(Oa)}}}}function TP(t,e){for(let n in t){let r=t[n];if(r.scale===e)return r}}function IP(t,e){let n=t.original;if(n===t)return e;let r=e.value,o=e.value=[];for(let i=0;i<n.length;++i){let s=r[n[i][0]];for(let a of t[i])o[a]=s}return e}function wE(t,e,n){let r=W_(t,e),o=W_(t,n);return St(o,(i,s)=>Math.abs(i-r[s]),Float64Array)}function W_(t,e,n){let r=t[e];if(!r&&n!==void 0&&(r=t[n]),r)return r.value;throw new Error(`missing channel: ${e}`)}function CP(t){if(t==null||typeof t=="function")return t;switch(`${t}`.toLowerCase()){case"ascending":return _E;case"descending":return ME}throw new Error(`invalid order: ${t}`)}function _E([t,e],[n,r]){return qe(e,r)||qe(t,n)}function ME([t,e],[n,r]){return ka(e,r)||qe(t,n)}function nh(t,e){let n=t[e];if(n){for(;n.source;)n=n.source;return n.source===null?null:n}}var IE=new Map([["accent",Rv],["category10",kv],["dark2",Lv],["observable10",Ov],["paired",$v],["pastel1",Dv],["pastel2",Fv],["set1",Pv],["set2",qv],["set3",Bv],["tableau10",zv]]);function CE(t){return t!=null&&IE.has(`${t}`.toLowerCase())}var SE=new Map([...IE,["brbg",Mi(Pg,qg)],["prgn",Mi(Bg,zg)],["piyg",Mi(Yg,Ug)],["puor",Mi(jg,Xg)],["rdbu",Mi(Ap,lf)],["rdgy",Mi(Wg,Gg)],["rdylbu",Mi(Ep,pf)],["rdylgn",Mi(Vg,Hg)],["spectral",Mi(Qg,Zg)],["burd",AE(Ap,lf)],["buylrd",AE(Ep,pf)],["blues",Ye(_y,My)],["greens",Ye(Sy,Ay)],["greys",Ye(Ey,Ty)],["oranges",Ye(Ry,Ly)],["purples",Ye(Iy,Cy)],["reds",Ye(Ny,ky)],["turbo",Si(Yy)],["viridis",Si(jy)],["magma",Si(Xy)],["inferno",Si(Wy)],["plasma",Si(Gy)],["cividis",Si(Oy)],["cubehelix",Si($y)],["warm",Si(Fy)],["cool",Si(Py)],["bugn",Ye(Kg,Jg)],["bupu",Ye(ty,ey)],["gnbu",Ye(ny,ry)],["orrd",Ye(oy,iy)],["pubu",Ye(cy,fy)],["pubugn",Ye(sy,ay)],["purd",Ye(uy,ly)],["rdpu",Ye(py,hy)],["ylgn",Ye(gy,yy)],["ylgnbu",Ye(dy,my)],["ylorbr",Ye(xy,by)],["ylorrd",Ye(wy,vy)],["rainbow",EE(qy)],["sinebow",EE(zy)]]);function Ye(t,e){return({length:n})=>n===1?[t[3][1]]:n===2?[t[3][1],t[3][2]]:(n=Math.max(3,Math.floor(n)),n>9?sn(e,n):t[n])}function Mi(t,e){return({length:n})=>n===2?[t[3][0],t[3][2]]:(n=Math.max(3,Math.floor(n)),n>11?sn(e,n):t[n])}function AE(t,e){return({length:n})=>n===2?[t[3][2],t[3][0]]:(n=Math.max(3,Math.floor(n)),n>11?sn(r=>e(1-r),n):t[n].slice().reverse())}function Si(t){return({length:e})=>sn(t,Math.max(2,Math.floor(e)))}function EE(t){return({length:e})=>sn(t,Math.floor(e)+1).slice(0,-1)}function V_(t){let e=`${t}`.toLowerCase();if(!SE.has(e))throw new Error(`unknown ordinal scheme: ${e}`);return SE.get(e)}function rh(t,e){let n=V_(t),r=typeof n=="function"?n({length:e}):n;return r.length!==e?r.slice(0,e):r}function NE(t,e="greys"){let n=new Set,[r,o]=rh(e,2);for(let i of t)if(i!=null)if(i===!0)n.add(o);else if(i===!1)n.add(r);else return;return[...n]}var TE=new Map([["brbg",qg],["prgn",zg],["piyg",Ug],["puor",Xg],["rdbu",lf],["rdgy",Gg],["rdylbu",pf],["rdylgn",Hg],["spectral",Zg],["burd",t=>lf(1-t)],["buylrd",t=>pf(1-t)],["blues",My],["greens",Ay],["greys",Ty],["purples",Cy],["reds",ky],["oranges",Ly],["turbo",Yy],["viridis",jy],["magma",Xy],["inferno",Wy],["plasma",Gy],["cividis",Oy],["cubehelix",$y],["warm",Fy],["cool",Py],["bugn",Jg],["bupu",ey],["gnbu",ry],["orrd",iy],["pubugn",ay],["pubu",fy],["purd",ly],["rdpu",hy],["ylgnbu",my],["ylgn",yy],["ylorbr",by],["ylorrd",vy],["rainbow",qy],["sinebow",zy]]);function Lf(t){let e=`${t}`.toLowerCase();if(!TE.has(e))throw new Error(`unknown quantitative scheme: ${e}`);return TE.get(e)}var NP=new Set(["brbg","prgn","piyg","puor","rdbu","rdgy","rdylbu","rdylgn","spectral","burd","buylrd"]);function kE(t){return t!=null&&NP.has(`${t}`.toLowerCase())}var Q_=t=>e=>t(1-e),H_=[0,1],RE=new Map([["number",Qt],["rgb",ur],["hsl",U2],["hcl",j2],["lab",v0]]);function Z_(t){let e=`${t}`.toLowerCase();if(!RE.has(e))throw new Error(`unknown interpolator: ${e}`);return RE.get(e)}function $f(t,e,n,{type:r,nice:o,clamp:i,zero:s,domain:a=BE(t,n),unknown:c,round:f,scheme:u,interval:p,range:l=Yt.get(t)===Da?OP(n,a):Yt.get(t)===Fa?$P(n,a):Yt.get(t)===Pa?H_:void 0,interpolate:h=Yt.get(t)===Jn?u==null&&l!==void 0?ur:Lf(u!==void 0?u:r==="cyclical"?"rainbow":"turbo"):f?ua:Qt,reverse:d}){if(p=vo(p,r),(r==="cyclical"||r==="sequential")&&(r="linear"),typeof h!="function"&&(h=Z_(h)),d=!!d,l!==void 0){let m=(a=Zn(a)).length,g=(l=Zn(l)).length;if(m!==g){if(h.length===1)throw new Error("invalid piecewise interpolator");h=no(h,l),l=void 0}}if(h.length===1?(d&&(h=Q_(h),d=!1),l===void 0&&(l=Float64Array.from(a,(m,g)=>g/(a.length-1)),l.length===2&&(l=H_)),e.interpolate((l===H_?oe:oh)(h))):e.interpolate(h),s){let[m,g]=Ot(a);(m>0||g<0)&&(a=ls(a),(gi(a)||1)===Math.sign(m)?a[0]=0:a[a.length-1]=0)}return d&&(a=Xi(a)),e.domain(a).unknown(c),o&&(e.nice(kP(o,r)),a=e.domain()),l!==void 0&&e.range(l),i&&e.clamp(i),{type:r,domain:a,range:l,scale:e,interpolate:h,interval:p}}function kP(t,e){return t===!0?void 0:typeof t=="number"?t:VA(t,e)}function LE(t,e,n){return $f(t,si(),e,n)}function OE(t,e,n){return K_(t,e,{...n,exponent:.5})}function K_(t,e,{exponent:n=1,...r}){return $f(t,dp().exponent(n),e,{...r,type:"pow"})}function $E(t,e,{base:n=10,domain:r=DP(e),...o}){return $f(t,pp().base(n),e,{...o,domain:r})}function DE(t,e,{constant:n=1,...r}){return $f(t,hp().constant(n),e,r)}function FE(t,e,{range:n,quantiles:r=n===void 0?5:(n=[...n]).length,n:o=r,scheme:i="rdylbu",domain:s=FP(e),unknown:a,interpolate:c,reverse:f}){return n===void 0&&(n=c!==void 0?sn(c,o):Yt.get(t)===Jn?rh(i,o):void 0),s.length>0&&(s=mp(s,n===void 0?{length:o}:n).quantiles()),Mx(t,e,{domain:s,range:n,reverse:f,unknown:a})}function PE(t,e,{range:n,n:r=n===void 0?5:(n=[...n]).length,scheme:o="rdylbu",domain:i=BE(t,e),unknown:s,interpolate:a,reverse:c}){let[f,u]=Ot(i),p;return n===void 0?(p=He(f,u,r),p[0]<=f&&p.splice(0,1),p[p.length-1]>=u&&p.pop(),r=p.length+1,n=a!==void 0?sn(a,r):Yt.get(t)===Jn?rh(o,r):void 0):(p=sn(Qt(f,u),r+1).slice(1,-1),f instanceof Date&&(p=p.map(l=>new Date(l)))),gi(Zn(i))<0&&p.reverse(),Mx(t,e,{domain:p,range:n,reverse:c,unknown:s})}function Mx(t,e,{domain:n=[0],unknown:r,scheme:o="rdylbu",interpolate:i,range:s=i!==void 0?sn(i,n.length+1):Yt.get(t)===Jn?rh(o,n.length+1):void 0,reverse:a}){n=Zn(n);let c=gi(n);if(!isNaN(c)&&!RP(n,c))throw new Error(`the ${t} scale has a non-monotonic domain`);return a&&(s=Xi(s)),{type:"threshold",scale:gp(c<0?Xi(n):n,s===void 0?[]:s).unknown(r),domain:n,range:s}}function RP(t,e){for(let n=1,r=t.length,o=t[0];n<r;++n){let i=bn(o,o=t[n]);if(i!==0&&i!==e)return!1}return!0}function qE(t){return{type:"identity",scale:aE(Yt.get(t))?up():e=>e}}function Of(t,e=wf){return t.length?[At(t,({value:n})=>n===void 0?n:At(n,e)),Mt(t,({value:n})=>n===void 0?n:Mt(n,e))]:[0,1]}function BE(t,e){let n=Yt.get(t);return(n===Da||n===Pa||n===Fa?LP:Of)(e)}function LP(t){return[0,t.length?Mt(t,({value:e})=>e===void 0?e:Mt(e,wf)):1]}function OP(t,e){let n=t.find(({radius:s})=>s!==void 0);if(n!==void 0)return[0,n.radius];let r=_n(t,.5,({value:s})=>s===void 0?NaN:_n(s,.25,kn)),o=e.map(s=>3*Math.sqrt(s/r)),i=30/Mt(o);return i<1?o.map(s=>s*i):o}function $P(t,e){let n=Rr(t,({value:i})=>i===void 0?NaN:Rr(i,Math.abs)),r=e.map(i=>12*i/n),o=60/Mt(r);return o<1?r.map(i=>i*o):r}function DP(t){for(let{value:e}of t)if(e!==void 0)for(let n of e){if(n>0)return Of(t,kn);if(n<0)return Of(t,is)}return[1,10]}function FP(t){let e=[];for(let{value:n}of t)if(n!==void 0)for(let r of n)e.push(r);return e}function oh(t){return(e,n)=>r=>t(e+r*(n-e))}var J_=0,t6;function zE(){let t=J_;return J_=0,t6=void 0,t}function hn(t){t!==t6&&(t6=t,console.warn(t),++J_)}function Sx(t,e,n,r,{type:o,nice:i,clamp:s,domain:a=Of(r),unknown:c,pivot:f=0,scheme:u,range:p,symmetric:l=!0,interpolate:h=Yt.get(t)===Jn?u==null&&p!==void 0?ur:Lf(u!==void 0?u:"rdbu"):Qt,reverse:d}){f=+f,a=Zn(a);let[m,g]=a;if(a.length>2&&hn(`Warning: the diverging ${t} scale domain contains extra elements.`),bn(m,g)<0&&([m,g]=[g,m],d=!d),m=Math.min(m,f),g=Math.max(g,f),typeof h!="function"&&(h=Z_(h)),p!==void 0&&(h=h.length===1?oh(h)(...p):no(h,p)),d&&(h=Q_(h)),l){let y=n.apply(f),x=y-n.apply(m),b=n.apply(g)-y;x<b?m=n.invert(y-b):x>b&&(g=n.invert(y+x))}return e.domain([m,f,g]).unknown(c).interpolator(h),s&&e.clamp(s),i&&e.nice(i),{type:o,domain:[m,g],pivot:f,interpolate:h,scale:e}}function YE(t,e,n){return Sx(t,Sp(),PP,e,n)}function UE(t,e,n){return e6(t,e,{...n,exponent:.5})}function e6(t,e,{exponent:n=1,...r}){return Sx(t,Fg().exponent(n=+n),zP(n),e,{...r,type:"diverging-pow"})}function jE(t,e,{base:n=10,pivot:r=1,domain:o=Of(e,r<0?is:kn),...i}){return Sx(t,$g().base(n=+n),qP,e,{domain:o,pivot:r,...i})}function XE(t,e,{constant:n=1,...r}){return Sx(t,Dg().constant(n=+n),YP(n),e,r)}var PP={apply(t){return t},invert(t){return t}},qP={apply:Math.log,invert:Math.exp},BP={apply(t){return Math.sign(t)*Math.sqrt(Math.abs(t))},invert(t){return Math.sign(t)*(t*t)}};function zP(t){return t===.5?BP:{apply(e){return Math.sign(e)*Math.pow(Math.abs(e),t)},invert(e){return Math.sign(e)*Math.pow(Math.abs(e),1/t)}}}function YP(t){return{apply(e){return Math.sign(e)*Math.log1p(Math.abs(e/t))},invert(e){return Math.sign(e)*Math.expm1(Math.abs(e))*t}}}function WE(t,e,n,r){return $f(t,e,n,r)}function GE(t,e,n){return WE(t,Rg(),e,n)}function VE(t,e,n){return WE(t,Lg(),e,n)}var Df=Symbol("ordinal");function QE(t,e,n,{type:r,interval:o,domain:i,range:s,reverse:a,hint:c}){return o=vo(o,r),i===void 0&&(i=e7(n,o,t)),(r==="categorical"||r===Df)&&(r="ordinal"),a&&(i=Xi(i)),i=e.domain(i).domain(),s!==void 0&&(typeof s=="function"&&(s=s(i)),e.range(s)),{type:r,domain:i,range:s,scale:e,hint:c,interval:o}}function ZE(t,e,{type:n,interval:r,domain:o,range:i,scheme:s,unknown:a,...c}){r=vo(r,n),o===void 0&&(o=e7(e,r,t));let f;if(Yt.get(t)===If)f=UP(e),i=i===void 0?jP(f):St(i,Cf);else if(Yt.get(t)===Jn&&(i===void 0&&(n==="ordinal"||n===Df)&&(i=NE(o,s),i!==void 0&&(s=void 0)),s===void 0&&i===void 0&&(s=n==="ordinal"?"turbo":"observable10"),s!==void 0))if(i!==void 0){let u=Lf(s),p=i[0],l=i[1]-i[0];i=({length:h})=>sn(d=>u(p+l*d),h)}else i=V_(s);if(a===cp)throw new Error(`implicit unknown on ${t} scale is not supported`);return QE(t,_a().unknown(a),e,{...c,type:n,domain:o,range:i,hint:f})}function KE(t,e,{align:n=.5,padding:r=.5,...o}){return t7(mv().align(n).padding(r),e,o,t)}function JE(t,e,{align:n=.5,padding:r=.1,paddingInner:o=r,paddingOuter:i=t==="fx"||t==="fy"?0:r,...s}){return t7(ns().align(n).paddingInner(o).paddingOuter(i),e,s,t)}function t7(t,e,n,r){let{round:o}=n;return o!==void 0&&t.round(o=!!o),t=QE(r,t,e,n),t.round=o,t}function e7(t,e,n){let r=new vn;for(let{value:o,domain:i}of t){if(i!==void 0)return i();if(o!==void 0)for(let s of o)r.add(s)}if(e!==void 0){let[o,i]=Ot(r).map(e.floor,e);return e.range(o,e.offset(i))}if(r.size>1e4&&Yt.get(n)===vr)throw new Error(`implicit ordinal domain of ${n} scale has more than 10,000 values`);return Vo(r,qe)}function HE(t,e){let n;for(let{hint:r}of t){let o=r?.[e];if(o!==void 0){if(n===void 0)n=o;else if(n!==o)return}}return n}function UP(t){return{fill:HE(t,"fill"),stroke:HE(t,"stroke")}}function jP(t){return Ft(t.fill)?Vv:Jy}function ih(t,{label:e,inset:n=0,insetTop:r=n,insetRight:o=n,insetBottom:i=n,insetLeft:s=n,round:a,nice:c,clamp:f,zero:u,align:p,padding:l,projection:h,facet:{label:d=e}={},...m}={}){let g={};for(let[y,x]of t){let b=m[y],w=f7(y,x,{round:Yt.get(y)===vr?a:void 0,nice:c,clamp:f,zero:u,align:p,padding:l,projection:h,...b});if(w){let{label:_=y==="fx"||y==="fy"?d:e,percent:v,transform:M,inset:E,insetTop:T=E!==void 0?E:y==="y"?r:0,insetRight:I=E!==void 0?E:y==="x"?o:0,insetBottom:A=E!==void 0?E:y==="y"?i:0,insetLeft:k=E!==void 0?E:y==="x"?s:0}=b||{};if(M==null)M=void 0;else if(typeof M!="function")throw new Error("invalid scale transform; not a function");w.percent=!!v,w.label=_===void 0?XP(x,w):_,w.transform=M,y==="x"||y==="fx"?(w.insetLeft=+k,w.insetRight=+I):(y==="y"||y==="fy")&&(w.insetTop=+T,w.insetBottom=+A),g[y]=w}}return g}function r6(t){let e={},n={scales:e};for(let[r,o]of Object.entries(t)){let{scale:i,type:s,interval:a,label:c}=o;e[r]=l7(o),n[r]=i,i.type=s,a!=null&&(i.interval=a),c!=null&&(i.label=c)}return n}function s7(t,e){let{x:n,y:r,fx:o,fy:i}=t,s=o||i?Tx(e):e;o&&n7(o,s),i&&r7(i,s);let a=o||i?o6(t,e):e;n&&n7(n,a),r&&r7(r,a)}function XP(t=[],e){let n;for(let{label:r}of t)if(r!==void 0){if(n===void 0)n=r;else if(n!==r)return}if(n!==void 0)return!Ao(e)&&e.percent&&(n=`${n} (%)`),{inferred:!0,toString:()=>n}}function Ex(t){return Math.sign(gi(t.domain()))*Math.sign(gi(t.range()))}function Tx(t){let{marginTop:e,marginRight:n,marginBottom:r,marginLeft:o,width:i,height:s,facet:{marginTop:a,marginRight:c,marginBottom:f,marginLeft:u}}=t;return{marginTop:Math.max(e,a),marginRight:Math.max(n,c),marginBottom:Math.max(r,f),marginLeft:Math.max(o,u),width:i,height:s}}function o6({fx:t,fy:e},n){let{marginTop:r,marginRight:o,marginBottom:i,marginLeft:s,width:a,height:c}=Tx(n);return{marginTop:r,marginRight:o,marginBottom:i,marginLeft:s,width:t?t.scale.bandwidth()+s+o:a,height:e?e.scale.bandwidth()+r+i:c,facet:{width:a,height:c}}}function n7(t,e){if(t.range===void 0){let{insetLeft:n,insetRight:r}=t,{width:o,marginLeft:i=0,marginRight:s=0}=e,a=i+n,c=o-s-r;t.range=[a,Math.max(a,c)],Ao(t)||(t.range=c7(t)),t.scale.range(t.range)}a7(t)}function r7(t,e){if(t.range===void 0){let{insetTop:n,insetBottom:r}=t,{height:o,marginTop:i=0,marginBottom:s=0}=e,a=i+n,c=o-s-r;t.range=[Math.max(a,c),a],Ao(t)?t.range.reverse():t.range=c7(t),t.scale.range(t.range)}a7(t)}function a7(t){t.round===void 0&&VP(t)&&WP(t)<=30&&t.scale.round(!0)}function WP({scale:t}){let e=t.domain().length,[n,r]=t.range(),o=t.paddingInner?t.paddingInner():1,i=t.paddingOuter?t.paddingOuter():t.padding(),s=e-o,a=Math.abs(r-n)/Math.max(1,s+i*2);return(a-Math.floor(a))*s}function c7(t){let e=t.scale.domain().length+i6(t);if(!(e>2))return t.range;let[n,r]=t.range;return Array.from({length:e},(o,i)=>n+i/(e-1)*(r-n))}function Ix(t,e,n){return f7(t,n===void 0?void 0:[{hint:n}],{...e})}function f7(t,e=[],n={}){let r=GP(t,e,n);if(n.type===void 0&&n.domain===void 0&&n.range===void 0&&n.interval==null&&t!=="fx"&&t!=="fy"&&Ao({type:r})){let o=e.map(({value:i})=>i).filter(i=>i!==void 0);o.some(re)?hn(`Warning: some data associated with the ${t} scale are dates. Dates are typically associated with a "utc" or "time" scale rather than a "${Ff(r)}" scale. If you are using a bar mark, you probably want a rect mark with the interval option instead; if you are using a group transform, you probably want a bin transform instead. If you want to treat this data as ordinal, you can specify the interval of the ${t} scale (e.g., d3.utcDay), or you can suppress this warning by setting the type of the ${t} scale to "${Ff(r)}".`):o.some(KA)?hn(`Warning: some data associated with the ${t} scale are strings that appear to be dates (e.g., YYYY-MM-DD). If these strings represent dates, you should parse them to Date objects. Dates are typically associated with a "utc" or "time" scale rather than a "${Ff(r)}" scale. If you are using a bar mark, you probably want a rect mark with the interval option instead; if you are using a group transform, you probably want a bin transform instead. If you want to treat this data as ordinal, you can suppress this warning by setting the type of the ${t} scale to "${Ff(r)}".`):o.some(JA)&&hn(`Warning: some data associated with the ${t} scale are strings that appear to be numbers. If these strings represent numbers, you should parse or coerce them to numbers. Numbers are typically associated with a "linear" scale rather than a "${Ff(r)}" scale. If you want to treat this data as ordinal, you can specify the interval of the ${t} scale (e.g., 1 for integers), or you can suppress this warning by setting the type of the ${t} scale to "${Ff(r)}".`)}switch(n.type=r,r){case"diverging":case"diverging-sqrt":case"diverging-pow":case"diverging-log":case"diverging-symlog":case"cyclical":case"sequential":case"linear":case"sqrt":case"threshold":case"quantile":case"pow":case"log":case"symlog":n=Ax(e,n,_e);break;case"identity":switch(Yt.get(t)){case vr:n=Ax(e,n,_e);break;case If:n=Ax(e,n,HP);break}break;case"utc":case"time":n=Ax(e,n,A_);break}switch(r){case"diverging":return YE(t,e,n);case"diverging-sqrt":return UE(t,e,n);case"diverging-pow":return e6(t,e,n);case"diverging-log":return jE(t,e,n);case"diverging-symlog":return XE(t,e,n);case"categorical":case"ordinal":case Df:return ZE(t,e,n);case"cyclical":case"sequential":case"linear":return LE(t,e,n);case"sqrt":return OE(t,e,n);case"threshold":return Mx(t,e,n);case"quantile":return FE(t,e,n);case"quantize":return PE(t,e,n);case"pow":return K_(t,e,n);case"log":return $E(t,e,n);case"symlog":return DE(t,e,n);case"utc":return VE(t,e,n);case"time":return GE(t,e,n);case"point":return KE(t,e,n);case"band":return JE(t,e,n);case"identity":return qE(t);case void 0:return;default:throw new Error(`unknown scale type: ${r}`)}}function Ff(t){return typeof t=="symbol"?t.description:t}function o7(t){return typeof t=="string"?`${t}`.toLowerCase():t}var i7={toString:()=>"projection"};function GP(t,e,{type:n,domain:r,range:o,scheme:i,pivot:s,projection:a}){if(n=o7(n),t==="fx"||t==="fy")return"band";(t==="x"||t==="y")&&a!=null&&(n=i7);for(let f of e){let u=o7(f.type);if(u!==void 0){if(n===void 0)n=u;else if(n!==u)throw new Error(`scale incompatible with channel: ${n} !== ${u}`)}}if(n===i7)return;if(n!==void 0)return n;if(r===void 0&&!e.some(({value:f})=>f!==void 0))return;let c=Yt.get(t);if(c===Da)return"sqrt";if(c===Pa||c===Fa)return"linear";if(c===If)return"ordinal";if((r||o||[]).length>2)return n6(c);if(r!==void 0){if(te(r))return n6(c);if(re(r))return"utc"}else{let f=e.map(({value:u})=>u).filter(u=>u!==void 0);if(f.some(te))return n6(c);if(f.some(re))return"utc"}if(c===Jn){if(s!=null||kE(i))return"diverging";if(CE(i))return"categorical"}return"linear"}function n6(t){switch(t){case vr:return"point";case Jn:return Df;default:return"ordinal"}}function Ao({type:t}){return t==="ordinal"||t==="point"||t==="band"||t===Df}function i6({type:t}){return t==="threshold"}function VP({type:t}){return t==="point"||t==="band"}function tr(t){if(t===void 0)return!0;let e=t.domain(),n=t(e[0]);for(let r=1,o=e.length;r<o;++r)if(t(e[r])-n)return!1;return!0}function Ax(t,{domain:e,...n},r){for(let o of t)o.value!==void 0&&(e===void 0&&(e=o.value?.domain),o.value=r(o.value));return{domain:e===void 0?e:r(e),...n}}function HP(t){return St(t,Cf)}function ys(t={}){let e;for(let n in t)if(Yt.has(n)&&bo(t[n])){if(e!==void 0)throw new Error("ambiguous scale definition; multiple scales found");e=l7(Ix(n,t[n]))}if(e===void 0)throw new Error("invalid scale definition; no scale found");return e}function u7(t){return e=>{if(!Yt.has(e=`${e}`))throw new Error(`unknown scale: ${e}`);return t[e]}}function l7({scale:t,type:e,domain:n,range:r,interpolate:o,interval:i,transform:s,percent:a,pivot:c}){if(e==="identity")return{type:"identity",apply:u=>u,invert:u=>u};let f=t.unknown?t.unknown():void 0;return{type:e,domain:ls(n),...r!==void 0&&{range:ls(r)},...s!==void 0&&{transform:s},...a&&{percent:a},...f!==void 0&&{unknown:f},...i!==void 0&&{interval:i},...o!==void 0&&{interpolate:o},...t.clamp&&{clamp:t.clamp()},...c!==void 0&&{pivot:c,symmetric:!1},...t.base&&{base:t.base()},...t.exponent&&{exponent:t.exponent()},...t.constant&&{constant:t.constant()},...t.align&&{align:t.align(),round:t.round()},...t.padding&&(t.paddingInner?{paddingInner:t.paddingInner(),paddingOuter:t.paddingOuter()}:{padding:t.padding()}),...t.bandwidth&&{bandwidth:t.bandwidth(),step:t.step()},apply:u=>t(u),...t.invert&&{invert:u=>t.invert(u)}}}function h7(t,e){let{fx:n,fy:r}=ih(t,e),o=n?.scale.domain(),i=r?.scale.domain();return o&&i?Hm(o,i).map(([s,a],c)=>({x:s,y:a,i:c})):o?o.map((s,a)=>({x:s,i:a})):i?i.map((s,a)=>({y:s,i:a})):void 0}function d7(t,{x:e,y:n}){return e&&=u6(e),n&&=u6(n),t.filter(e&&n?r=>e.has(r.x)&&n.has(r.y):e?r=>e.has(r.x):r=>n.has(r.y)).sort(e&&n?(r,o)=>e.get(r.x)-e.get(o.x)||n.get(r.y)-n.get(o.y):e?(r,o)=>e.get(r.x)-e.get(o.x):(r,o)=>n.get(r.y)-n.get(o.y))}function Nx(t,{fx:e,fy:n}){let r=Rn(t),o=e?.value,i=n?.value;return e&&n?kr(r,s=>(s.fx=o[s[0]],s.fy=i[s[0]],s),s=>o[s],s=>i[s]):e?kr(r,s=>(s.fx=o[s[0]],s),s=>o[s]):kr(r,s=>(s.fy=i[s[0]],s),s=>i[s])}function m7(t,e,{marginTop:n,marginLeft:r}){return t&&e?({x:o,y:i})=>`translate(${t(o)-r},${e(i)-n})`:t?({x:o})=>`translate(${t(o)-r},0)`:({y:o})=>`translate(0,${e(o)-n})`}function g7(t){let e=[],n=new Uint32Array(Ee(t,r=>r.length));for(let r of t){let o=0;for(let i of t)r!==i&&(n.set(i,o),o+=i.length);e.push(n.slice(0,o))}return e}var QP=new Map([["top",s6],["right",f6],["bottom",a6],["left",c6],["top-left",Cx(s6,c6)],["top-right",Cx(s6,f6)],["bottom-left",Cx(a6,c6)],["bottom-right",Cx(a6,f6)],["top-empty",KP],["right-empty",eq],["bottom-empty",JP],["left-empty",tq],["empty",nq]]);function y7(t){if(t==null)return null;let e=QP.get(`${t}`.toLowerCase());if(e)return e;throw new Error(`invalid facet anchor: ${t}`)}var p7=new WeakMap;function u6(t){let e=p7.get(t);return e||p7.set(t,e=new wn(St(t,(n,r)=>[n,r]))),e}function xs(t,e){return u6(t).get(e)}function ZP(t,e,n){return e=br(e),n=br(n),t.find(r=>Object.is(br(r.x),e)&&Object.is(br(r.y),n))}function kx(t,e,n){return ZP(t,e,n)?.empty}function s6(t,{y:e},{y:n}){return e?xs(e,n)===0:!0}function a6(t,{y:e},{y:n}){return e?xs(e,n)===e.length-1:!0}function c6(t,{x:e},{x:n}){return e?xs(e,n)===0:!0}function f6(t,{x:e},{x:n}){return e?xs(e,n)===e.length-1:!0}function KP(t,{y:e},{x:n,y:r,empty:o}){if(o)return!1;if(!e)return;let i=xs(e,r);if(i>0)return kx(t,n,e[i-1])}function JP(t,{y:e},{x:n,y:r,empty:o}){if(o)return!1;if(!e)return;let i=xs(e,r);if(i<e.length-1)return kx(t,n,e[i+1])}function tq(t,{x:e},{x:n,y:r,empty:o}){if(o)return!1;if(!e)return;let i=xs(e,n);if(i>0)return kx(t,e[i-1],r)}function eq(t,{x:e},{x:n,y:r,empty:o}){if(o)return!1;if(!e)return;let i=xs(e,n);if(i<e.length-1)return kx(t,e[i+1],r)}function nq(t,e,{empty:n}){return n}function Cx(t,e){return function(){return t.apply(null,arguments)&&e.apply(null,arguments)}}function Rx(t,{channels:{fx:e,fy:n},groups:r}){return e&&n?t.map(({x:o,y:i})=>r.get(o)?.get(i)??[]):e?t.map(({x:o})=>r.get(o)??[]):t.map(({y:o})=>r.get(o)??[])}var x7=Math.PI,Ai=2*x7,l6=.618;function b7({projection:t,inset:e=0,insetTop:n=e,insetRight:r=e,insetBottom:o=e,insetLeft:i=e}={},s){if(t==null)return;if(typeof t.stream=="function")return t;let a,c,f="frame";if(Be(t)){let _;if({type:t,domain:c,inset:_,insetTop:n=_!==void 0?_:n,insetRight:r=_!==void 0?_:r,insetBottom:o=_!==void 0?_:o,insetLeft:i=_!==void 0?_:i,clip:f=f,...a}=t,t==null)return}typeof t!="function"&&({type:t}=p6(t));let{width:u,height:p,marginLeft:l,marginRight:h,marginTop:d,marginBottom:m}=s,g=u-l-h-i-r,y=p-d-m-n-o;if(t=t?.({width:g,height:y,clip:f,...a}),t==null)return;f=rq(f,l,d,u-h,p-m);let x=l+i,b=d+n,w;if(c!=null){let[[_,v],[M,E]]=De(t).bounds(c),T=Math.min(g/(M-_),y/(E-v));T>0?(x-=(T*(_+M)-g)/2,b-=(T*(v+E)-y)/2,w=ba({point(I,A){this.stream.point(I*T+x,A*T+b)}})):hn("Warning: the projection could not be fit to the specified domain; using the default scale.")}return w??=x===0&&b===0?w7():ba({point(_,v){this.stream.point(_+x,v+b)}}),{stream:_=>t.stream(w.stream(f(_)))}}function p6(t){switch(`${t}`.toLowerCase()){case"albers-usa":return Dr(Uw,.7463,.4673);case"albers":return Lx(np,.7463,.4673);case"azimuthal-equal-area":return Dr(Xw,4,4);case"azimuthal-equidistant":return Dr(Gw,Ai,Ai);case"conic-conformal":return Lx(Qw,Ai,Ai);case"conic-equal-area":return Lx(ts,6.1702,2.9781);case"conic-equidistant":return Lx(Kw,7.312,3.6282);case"equal-earth":return Dr(tv,5.4133,2.6347);case"equirectangular":return Dr(Zw,Ai,x7);case"gnomonic":return Dr(nv,3.4641,3.4641);case"identity":return{type:w7};case"reflect-y":return{type:oq};case"mercator":return Dr(Vw,Ai,Ai);case"orthographic":return Dr(ov,2,2);case"stereographic":return Dr(sv,2,2);case"transverse-mercator":return Dr(cv,Ai,Ai);default:throw new Error(`unknown projection type: ${t}`)}}function rq(t,e,n,r,o){if(t===!1||t==null||typeof t=="number")return i=>i;switch(t===!0&&(t="frame"),`${t}`.toLowerCase()){case"frame":return Kc(e,n,r,o);default:throw new Error(`unknown projection clip type: ${t}`)}}function Dr(t,e,n){return{type:({width:r,height:o,rotate:i,precision:s=.15,clip:a})=>{let c=t();return s!=null&&c.precision?.(s),i!=null&&c.rotate?.(i),typeof a=="number"&&c.clipAngle?.(a),r!=null&&(c.scale(Math.min(r/e,o/n)),c.translate([r/2,o/2])),c},aspectRatio:n/e}}function Lx(t,e,n){let{type:r,aspectRatio:o}=Dr(t,e,n);return{type:i=>{let{parallels:s,domain:a,width:c,height:f}=i,u=r(i);return s!=null&&(u.parallels(s),a===void 0&&c!=null&&u.fitSize([c,f],{type:"Sphere"})),u},aspectRatio:o}}var w7=oe({stream:t=>t}),oq=oe(ba({point(t,e){this.stream.point(t,-e)}}));function h6(t,e,n,r){let o=n[t],i=n[e],s=o.length,a=n[t]=new Float64Array(s).fill(NaN),c=n[e]=new Float64Array(s).fill(NaN),f,u=r.stream({point(p,l){a[f]=p,c[f]=l}});for(f=0;f<s;++f)u.point(o[f],i[f])}function v7({projection:t}={}){return t==null?!1:typeof t.stream=="function"?!0:(Be(t)&&(t=t.type),t!=null)}function _7(t){if(typeof t?.stream=="function")return l6;if(Be(t)){let e,n;if({domain:e,type:t,...n}=t,e!=null&&t!=null){let r=typeof t=="string"?p6(t).type:t,[[o,i],[s,a]]=De(r({...n,width:100,height:100})).bounds(e),c=(a-i)/(s-o);return c&&isFinite(c)?c<.2?.2:c>5?5:c:l6}}if(t!=null){if(typeof t!="function"){let{aspectRatio:e}=p6(t);if(e)return e}return l6}}function Eo(t,e,{projection:n}){let{x:r,y:o}=t,i={};return r&&(i.x=r),o&&(i.y=o),i=Rf(i,e),n&&r?.scale==="x"&&o?.scale==="y"&&h6("x","y",i,n),r&&(i.x=_e(i.x)),o&&(i.y=_e(i.y)),i}function M7(t){let e=[],n=[],r={scale:"x",value:e},o={scale:"y",value:n},i={point(s,a){e.push(s),n.push(a)},lineStart(){},lineEnd(){},polygonStart(){},polygonEnd(){},sphere(){}};for(let s of t.value)Gn(s,i);return[r,o]}function bs(t={}){let{document:e=typeof window<"u"?window.document:void 0,clip:n}=t;return{document:e,clip:dx(n)}}function rt(t,{document:e}){return Et(Ko(t).call(e.documentElement))}var Ox=Symbol("unset");function ws(t){return(t.length===1?iq:sq)(t)}function iq(t){let e,n=Ox;return r=>(Object.is(n,r)||(n=r,e=t(r)),e)}function sq(t){let e,n;return(...r)=>((n?.length!==r.length||n.some((o,i)=>!Object.is(o,r[i])))&&(n=r,e=t(...r)),e)}var aq=ws(t=>new Intl.NumberFormat(t)),cq=ws((t,e)=>new Intl.DateTimeFormat(t,{timeZone:"UTC",...e&&{month:e}})),fq=ws((t,e)=>new Intl.DateTimeFormat(t,{timeZone:"UTC",...e&&{weekday:e}}));function d6(t="en-US"){let e=aq(t);return n=>n!=null&&!isNaN(n)?e.format(n):void 0}function S7(t="en-US",e="short"){let n=cq(t,e);return r=>r!=null&&!isNaN(r=+new Date(Date.UTC(2e3,+r)))?n.format(r):void 0}function A7(t="en-US",e="short"){let n=fq(t,e);return r=>r!=null&&!isNaN(r=+new Date(Date.UTC(2001,0,+r)))?n.format(r):void 0}function m6(t){return sx(t,"Invalid Date")}function uq(t="en-US"){let e=d6(t);return n=>(n instanceof Date?m6:typeof n=="number"?e:he)(n)}var To=uq();var ie=(typeof window<"u"?window.devicePixelRatio>1:typeof it>"u")?0:.5,lq=0,pq=0;function g6(){return`plot-clip-${++lq}`}function E7(){return`plot-pattern-${++pq}`}function $x(t,{title:e,href:n,ariaLabel:r,ariaDescription:o,ariaHidden:i,target:s,fill:a,fillOpacity:c,stroke:f,strokeWidth:u,strokeOpacity:p,strokeLinejoin:l,strokeLinecap:h,strokeMiterlimit:d,strokeDasharray:m,strokeDashoffset:g,opacity:y,mixBlendMode:x,imageFilter:b,paintOrder:w,pointerEvents:_,shapeRendering:v,channels:M},{ariaLabel:E,fill:T="currentColor",fillOpacity:I,stroke:A="none",strokeOpacity:k,strokeWidth:L,strokeLinecap:S,strokeLinejoin:C,strokeMiterlimit:N,paintOrder:R}){T===null&&(a=null,c=null),A===null&&(f=null,p=null),Ft(T)?!Ft(A)&&(!Ft(a)||M?.fill)&&(A="none"):Ft(A)&&(!Ft(f)||M?.stroke)&&(T="none");let[$,O]=ne(a,T),[D,F]=Pt(c,I),[P,W]=ne(f,A),[K,tt]=Pt(p,k),[nt,U]=Pt(y);vi(W)||(u===void 0&&(u=L),h===void 0&&(h=S),l===void 0&&(l=C),d===void 0&&!eE(l)&&(d=N),!vi(O)&&w===void 0&&(w=R));let[et,z]=Pt(u);return T!==null&&(t.fill=Vt(O,"currentColor"),t.fillOpacity=sh(F,1)),A!==null&&(t.stroke=Vt(W,"none"),t.strokeWidth=sh(z,1),t.strokeOpacity=sh(tt,1),t.strokeLinejoin=Vt(l,"miter"),t.strokeLinecap=Vt(h,"butt"),t.strokeMiterlimit=sh(d,4),t.strokeDasharray=Vt(m,"none"),t.strokeDashoffset=Vt(g,"0")),t.target=he(s),t.ariaLabel=he(E),t.ariaDescription=he(o),t.ariaHidden=he(i),t.opacity=sh(U,1),t.mixBlendMode=Vt(x,"normal"),t.imageFilter=Vt(b,"none"),t.paintOrder=Vt(w,"normal"),t.pointerEvents=Vt(_,"auto"),t.shapeRendering=Vt(v,"auto"),{title:{value:e,optional:!0,filter:null},href:{value:n,optional:!0,filter:null},ariaLabel:{value:r,optional:!0,filter:null},fill:{value:$,scale:"auto",optional:!0},fillOpacity:{value:D,scale:"auto",optional:!0},stroke:{value:P,scale:"auto",optional:!0},strokeOpacity:{value:K,scale:"auto",optional:!0},strokeWidth:{value:et,optional:!0},opacity:{value:nt,scale:"auto",optional:!0}}}function hq(t,e){e&&t.filter(n=>jp(e[n])).append("title").call(mq,e)}function dq(t,e){e&&t.filter(([n])=>jp(e[n])).append("title").call(gq,e)}function mq(t,e){e&&t.text(n=>To(e[n]))}function gq(t,e){e&&t.text(([n])=>To(e[n]))}function _t(t,{target:e,tip:n},{ariaLabel:r,title:o,fill:i,fillOpacity:s,stroke:a,strokeOpacity:c,strokeWidth:f,opacity:u,href:p}){r&&ot(t,"aria-label",l=>r[l]),i&&ot(t,"fill",l=>i[l]),s&&ot(t,"fill-opacity",l=>s[l]),a&&ot(t,"stroke",l=>a[l]),c&&ot(t,"stroke-opacity",l=>c[l]),f&&ot(t,"stroke-width",l=>f[l]),u&&ot(t,"opacity",l=>u[l]),p&&I7(t,l=>p[l],e),n||hq(t,o)}function qa(t,{target:e,tip:n},{ariaLabel:r,title:o,fill:i,fillOpacity:s,stroke:a,strokeOpacity:c,strokeWidth:f,opacity:u,href:p}){r&&ot(t,"aria-label",([l])=>r[l]),i&&ot(t,"fill",([l])=>i[l]),s&&ot(t,"fill-opacity",([l])=>s[l]),a&&ot(t,"stroke",([l])=>a[l]),c&&ot(t,"stroke-opacity",([l])=>c[l]),f&&ot(t,"stroke-width",([l])=>f[l]),u&&ot(t,"opacity",([l])=>u[l]),p&&I7(t,([l])=>p[l],e),n||dq(t,o)}function yq({ariaLabel:t,title:e,fill:n,fillOpacity:r,stroke:o,strokeOpacity:i,strokeWidth:s,opacity:a,href:c},{tip:f}){return[t,f?void 0:e,n,r,o,i,s,a,c].filter(u=>u!==void 0)}function ah(t,e,n){let r=Ve(t,o=>e[o]);return n===void 0&&r.size>1+t.length>>1&&hn("Warning: the implicit z channel has high cardinality. This may occur when the fill or stroke channel is associated with quantitative data rather than ordinal or categorical data. You can suppress this warning by setting the z option explicitly; if this data represents a single series, set z to null."),r.values()}function*Dx(t,e,n,r){let{z:o}=n,{z:i}=r,s=yq(r,n),a=[...e,...s];for(let c of i?ah(t,i,o):[t]){let f,u;t:for(let p of c){for(let l of a)if(!Jt(l[p])){u&&u.push(-1);continue t}if(f===void 0){u&&(yield u),f=s.map(l=>br(l[p])),u=[p];continue}u.push(p);for(let l=0;l<s.length;++l)if(br(s[l][p])!==f[l]){yield u,f=s.map(d=>br(d[p])),u=[p];continue t}}u&&(yield u)}}function xq(t,e,n,r){let o,{clip:i=r.clip}=e;switch(i){case"frame":{t=rt("svg:g",r).each(function(){this.appendChild(t.node()),t.node=()=>this}),o=bq(r,n);break}case"sphere":{o=wq(r);break}}ot(t,"aria-label",e.ariaLabel),ot(t,"aria-description",e.ariaDescription),ot(t,"aria-hidden",e.ariaHidden),ot(t,"clip-path",o)}function T7(t){let e=new WeakMap;return(n,r)=>{let o=e.get(n);if(!o){let i=g6();Et(n.ownerSVGElement).append("clipPath").attr("id",i).call(t,n,r),e.set(n,o=`url(#${i})`)}return o}}var bq=T7((t,e,n)=>{let{width:r,height:o,marginLeft:i,marginRight:s,marginTop:a,marginBottom:c}=n;t.append("rect").attr("x",i).attr("y",a).attr("width",r-s-i).attr("height",o-a-c)}),wq=T7((t,e)=>{let{projection:n}=e;if(!n)throw new Error('the "sphere" clip option requires a projection');t.append("path").attr("d",De(n)({type:"Sphere"}))});function gt(t,e,n,r){xq(t,e,n,r),ot(t,"class",e.className),ot(t,"fill",e.fill),ot(t,"fill-opacity",e.fillOpacity),ot(t,"stroke",e.stroke),ot(t,"stroke-width",e.strokeWidth),ot(t,"stroke-opacity",e.strokeOpacity),ot(t,"stroke-linejoin",e.strokeLinejoin),ot(t,"stroke-linecap",e.strokeLinecap),ot(t,"stroke-miterlimit",e.strokeMiterlimit),ot(t,"stroke-dasharray",e.strokeDasharray),ot(t,"stroke-dashoffset",e.strokeDashoffset),ot(t,"shape-rendering",e.shapeRendering),ot(t,"filter",e.imageFilter),ot(t,"paint-order",e.paintOrder);let{pointerEvents:o=r.pointerSticky===!1?"none":void 0}=e;ot(t,"pointer-events",o)}function lt(t,e){vq(t,"mix-blend-mode",e.mixBlendMode),ot(t,"opacity",e.opacity)}function I7(t,e,n){t.each(function(r){let o=e(r);if(o!=null){let i=this.ownerDocument.createElementNS(Mn.svg,"a");i.setAttribute("fill","inherit"),i.setAttributeNS(Mn.xlink,"href",o),n!=null&&i.setAttribute("target",n),this.parentNode.insertBefore(i,this).appendChild(this)}})}function ot(t,e,n){n!=null&&t.attr(e,n)}function vq(t,e,n){n!=null&&t.style(e,n)}function ht(t,e,{x:n,y:r},o=ie,i=ie){o+=e.dx,i+=e.dy,n?.bandwidth&&(o+=n.bandwidth()/2),r?.bandwidth&&(i+=r.bandwidth()/2),(o||i)&&t.attr("transform",`translate(${o},${i})`)}function Vt(t,e){if((t=he(t))!==e)return t}function sh(t,e){if((t=Rt(t))!==e)return t}var _q=/^-?([_a-z]|[\240-\377]|\\[0-9a-f]{1,6}(\r\n|[ \t\r\n\f])?|\\[^\r\n\f0-9a-f])([_a-z0-9-]|[\240-\377]|\\[0-9a-f]{1,6}(\r\n|[ \t\r\n\f])?|\\[^\r\n\f0-9a-f])*$/i;function vs(t){if(t===void 0)return"plot-d6a7b5";if(t=`${t}`,!_q.test(t))throw new Error(`invalid class name: ${t}`);return t}function Pf(t,e){if(typeof e=="string")t.property("style",e);else if(e!=null)for(let n of t)Object.assign(n.style,e)}function Ue({frameAnchor:t},{width:e,height:n,marginTop:r,marginRight:o,marginBottom:i,marginLeft:s}){return[/left$/.test(t)?s:/right$/.test(t)?e-o:(s+e-o)/2,/^top/.test(t)?r:/^bottom/.test(t)?n-i:(r+n-i)/2]}var ft=class{constructor(e,n={},r={},o){let{facet:i="auto",facetAnchor:s,fx:a,fy:c,sort:f,dx:u=0,dy:p=0,margin:l=0,marginTop:h=l,marginRight:d=l,marginBottom:m=l,marginLeft:g=l,className:y,clip:x=o?.clip,channels:b,tip:w,render:_}=r;if(this.data=e,this.sort=wo(f)?f:null,this.initializer=Gt(r).initializer,this.transform=this.initializer?r.transform:Me(r).transform,i===null||i===!1?this.facet=null:(this.facet=Ce(i===!0?"include":i,"facet",["auto","include","exclude","super"]),this.fx=e===fs&&typeof a=="string"?[a]:a,this.fy=e===fs&&typeof c=="string"?[c]:c),this.facetAnchor=y7(s),n=Zp(n),b!==void 0&&(n={...Mq(b),...n}),o!==void 0&&(n={...$x(this,r,o),...n}),this.channels=Object.fromEntries(Object.entries(n).map(([v,M])=>{if(Kn(M.value)){let{value:E,label:T=M.label,scale:I=M.scale}=M.value;M={...M,label:T,scale:I,value:E}}if(e===fs&&typeof M.value=="string"){let{value:E}=M;M={...M,value:[E]}}return[v,M]}).filter(([v,{value:M,optional:E}])=>{if(M!=null)return!0;if(E)return!1;throw new Error(`missing channel value: ${v}`)})),this.dx=+u,this.dy=+p,this.marginTop=+h,this.marginRight=+d,this.marginBottom=+m,this.marginLeft=+g,this.clip=dx(x),this.tip=Sq(w),this.className=y?vs(y):null,this.facet==="super"){if(a||c)throw new Error("super-faceting cannot use fx or fy");for(let v in this.channels){let{scale:M}=n[v];if(!(M!=="x"&&M!=="y"))throw new Error("super-faceting cannot use x or y")}}_!=null&&(this.render=Ei(_,this.render))}initialize(e,n,r){let o=yi(this.data);e===void 0&&o!=null&&(e=[Rn(o)]);let i=e;this.transform!=null&&({facets:e,data:o}=this.transform(o,e,r),o=yi(o)),e!==void 0&&(e.original=i);let s=_x(this.channels,o);return this.sort!=null&&vE(o,e,s,n,this.sort),{data:o,facets:e,channels:s}}filter(e,n,r){for(let o in n){let{filter:i=Jt}=n[o];if(i!==null){let s=r[o];e=e.filter(a=>i(s[a]))}}return e}project(e,n,r){for(let o in e)if(e[o].scale==="x"&&/^x|x$/.test(o)){let i=o.replace(/^x|x$/,"y");i in e&&e[i].scale==="y"&&h6(o,i,n,r.projection)}}scale(e,n,r){let o=Rf(e,n);return r.projection&&this.project(e,o,r),o}};function Se(...t){return t.plot=ft.prototype.plot,t}function Ei(t,e){if(t==null)return e===null?void 0:e;if(e==null)return t===null?void 0:t;if(typeof t!="function")throw new TypeError(`invalid render transform: ${t}`);if(typeof e!="function")throw new TypeError(`invalid render transform: ${e}`);return function(n,r,o,i,s,a){return t.call(this,n,r,o,i,s,(c,f,u,p,l)=>e.call(this,c,f,u,p,l,a))}}function Mq(t){return Object.fromEntries(Object.entries(Zp(t)).map(([e,n])=>(n=typeof n=="string"?{value:n,label:e}:wr(n),n.filter===void 0&&n.scale==null&&(n={...n,filter:null}),[e,n])))}function Sq(t){return t===!0?"xy":t===!1||t==null?null:typeof t=="string"?Ce(t,"tip",["x","y","xy"]):t}function Fr(t,e){return t?.tip===!0?{...t,tip:e}:Be(t?.tip)&&t.tip.pointer===void 0?{...t,tip:{...t.tip,pointer:e}}:t}function N7(t,e,n={}){let r=.5-ie,o=.5+ie,i=.5+ie,s=.5-ie;for(let{marginTop:m,marginRight:g,marginBottom:y,marginLeft:x}of e)m>r&&(r=m),g>o&&(o=g),y>i&&(i=y),x>s&&(s=x);let{margin:a,marginTop:c=a!==void 0?a:r,marginRight:f=a!==void 0?a:o,marginBottom:u=a!==void 0?a:i,marginLeft:p=a!==void 0?a:s}=n;c=+c,f=+f,u=+u,p=+p;let{width:l=640,height:h=Aq(t,n,{width:l,marginTopDefault:r,marginRightDefault:o,marginBottomDefault:i,marginLeftDefault:s})+Math.max(0,c-r+u-i)}=n;l=+l,h=+h;let d={width:l,height:h,marginTop:c,marginRight:f,marginBottom:u,marginLeft:p};if(t.fx||t.fy){let{margin:m,marginTop:g=m!==void 0?m:c,marginRight:y=m!==void 0?m:f,marginBottom:x=m!==void 0?m:u,marginLeft:b=m!==void 0?m:p}=n.facet??{};g=+g,y=+y,x=+x,b=+b,d.facet={marginTop:g,marginRight:y,marginBottom:x,marginLeft:b}}return d}function Aq({x:t,y:e,fy:n,fx:r},{projection:o,aspectRatio:i},{width:s,marginTopDefault:a,marginRightDefault:c,marginBottomDefault:f,marginLeftDefault:u}){let p=n&&n.scale.domain().length||1,l=_7(o);if(l){let d=r?r.scale.domain().length:1,m=(1.1*p-.1)/(1.1*d-.1)*l,g=Math.max(.1,Math.min(10,m));return Math.round((s-u-c)*g+a+f)}let h=e?Ao(e)?e.scale.domain().length||1:Math.max(7,17/p):1;if(i!=null){if(i=+i,!(isFinite(i)&&i>0))throw new Error(`invalid aspectRatio: ${i}`);let d=C7("y",e)/(C7("x",t)*i),m=r?r.scale.bandwidth():1,g=n?n.scale.bandwidth():1,y=m*(s-u-c)-t.insetLeft-t.insetRight;return(d*y+e.insetTop+e.insetBottom)/g+a+f}return!!(e||n)*Math.max(1,Math.min(60,h*p))*20+!!r*30+60}function C7(t,e){if(!e)throw new Error(`aspectRatio requires ${t} scale`);let{type:n,domain:r}=e,o;switch(n){case"linear":case"utc":case"time":o=Number;break;case"pow":{let a=e.scale.exponent();o=c=>Math.pow(c,a);break}case"log":o=Math.log;break;case"point":case"band":return r.length;default:throw new Error(`unsupported ${t} scale for aspectRatio: ${n}`)}let[i,s]=Ot(r);return Math.abs(o(s)-o(i))}var k7=new WeakMap;function y6(t,e,{x:n,y:r,px:o,py:i,maxRadius:s=40,channels:a,render:c,...f}={}){return s=+s,o!=null&&(n??=null,a={...a,px:{value:o,scale:"x"}}),i!=null&&(r??=null,a={...a,py:{value:i,scale:"y"}}),{x:n,y:r,channels:a,...f,render:Ei(function(u,p,l,h,d,m){d={...d,pointerSticky:!1};let g=d.ownerSVGElement,{data:y}=d.getMarkState(this),x=k7.get(g);x||k7.set(g,x={sticky:!1,roots:[],renders:[]});let b=x.renders.push(W)-1,{x:w,y:_,fx:v,fy:M}=p,E=v?v(u.fx)-h.marginLeft:0,T=M?M(u.fy)-h.marginTop:0;w?.bandwidth&&(E+=w.bandwidth()/2),_?.bandwidth&&(T+=_.bandwidth()/2);let I=u.fi!=null,A;if(I){let U=x.facetStates;U||(x.facetStates=U=new Map),A=U.get(this),A||U.set(this,A=new Map)}let[k,L]=Ue(this,h),{px:S,py:C}=l,N=S?U=>S[U]:x6(l,k),R=C?U=>C[U]:b6(l,L),$,O,D,F;function P(U,et){if(I)if(F&&(F=cancelAnimationFrame(F)),U==null)A.delete(u.fi);else{A.set(u.fi,et),F=requestAnimationFrame(()=>{F=null;for(let[z,G]of A)if(G<et||G===et&&z<u.fi){U=null;break}W(U)});return}W(U)}function W(U){if($===U&&D===x.sticky)return;$=U,D=d.pointerSticky=x.sticky;let et=$==null?[]:[$];I&&(et.fx=u.fx,et.fy=u.fy,et.fi=u.fi);let z=m(et,p,l,h,d);if(O){if(I){let G=O.parentNode,J=O.getAttribute("transform"),q=z.getAttribute("transform");J?z.setAttribute("transform",J):z.removeAttribute("transform"),q?G.setAttribute("transform",q):G.removeAttribute("transform"),z.removeAttribute("aria-label"),z.removeAttribute("aria-description"),z.removeAttribute("aria-hidden")}O.replaceWith(z)}if(x.roots[b]=O=z,!($==null&&A?.size>1)){let G=$==null?null:qn(y)?y[$]:y.get($);d.dispatchValue(G)}return z}function K(U){if(x.sticky||U.pointerType==="mouse"&&U.buttons===1)return;let[et,z]=on(U);et-=E,z-=T;let G=et<h.marginLeft||et>h.width-h.marginRight?1:t,J=z<h.marginTop||z>h.height-h.marginBottom?1:e,q=null,bt=s*s;for(let st of u){let Tt=G*(N(st)-et),Ct=J*(R(st)-z),Q=Tt*Tt+Ct*Ct;Q<=bt&&(q=st,bt=Q)}if(q!=null&&(t!==1||e!==1)){let st=N(q)-et,Tt=R(q)-z;bt=st*st+Tt*Tt}P(q,bt)}function tt(U){U.pointerType==="mouse"&&$!=null&&(x.sticky&&x.roots.some(et=>et?.contains(U.target))||(x.sticky?(x.sticky=!1,x.renders.forEach(et=>et(null))):(x.sticky=!0,W($)),U.stopImmediatePropagation()))}function nt(U){U.pointerType==="mouse"&&(x.sticky||P(null))}return g.addEventListener("pointerenter",K),g.addEventListener("pointermove",K),g.addEventListener("pointerdown",tt),g.addEventListener("pointerleave",nt),W(null)},c)}}function _s(t){return y6(1,1,t)}function Ms(t){return y6(1,.01,t)}function Ti(t){return y6(.01,1,t)}function x6({x1:t,x2:e,x:n=t},r){return t&&e?o=>(t[o]+e[o])/2:n?o=>n[o]:()=>r}function b6({y1:t,y2:e,y:n=t},r){return t&&e?o=>(t[o]+e[o])/2:n?o=>n[o]:()=>r}function Fx(t){return Ao(t)&&t.interval===void 0?void 0:"tabular-nums"}function R7(t,e){let{label:n=t.label,tickSize:r=6,width:o=240,height:i=44+r,marginTop:s=18,marginRight:a=0,marginBottom:c=16+r,marginLeft:f=0,style:u,ticks:p=(o-f-a)/64,tickFormat:l,fontVariant:h=Fx(t),round:d=!0,opacity:m,className:g}=e,y=bs(e);g=vs(g),m=Pt(m)[1],l===null&&(l=()=>null);let x=rt("svg",y).attr("class",`${g}-ramp`).attr("font-family","system-ui, sans-serif").attr("font-size",10).attr("width",o).attr("height",i).attr("viewBox",`0 0 ${o} ${i}`).call(k=>k.append("style").text(`:where(.${g}-ramp) {
|
|
6
|
+
${n}`}function cP(t){return t==="time"?cx:t==="utc"?Gp:sP}function YA(t,e,n){let r=Mt(r0(e,(o,i)=>Math.abs(i-o)));if(r<1e3)return qA("millisecond","utc",n);for(let[o,i,s,a]of cP(t)){if(r>a||o==="hour"&&!r)break;if(e.every(c=>i.floor(c)>=c))return qA(o,s,n)}}function Mf(t,e,n){return(r,o,i)=>{let s=t(r,o),a=e(r,o),c=o-gi(i);return o!==c&&i[c]!==void 0&&a===e(i[c],c)?s:n(s,a)}}var Hp=Object.getPrototypeOf(Uint8Array),fP=Object.prototype.toString;function qn(t){return t instanceof Array||t instanceof Hp}function jA(t){return t instanceof Hp&&!uP(t)}function XA(t){return t?.prototype instanceof Hp&&!lP(t)}function uP(t){return t instanceof BigInt64Array||t instanceof BigUint64Array}function lP(t){return t===BigInt64Array||t===BigUint64Array}var __=Symbol("reindex");function ct(t,e,n){let r=typeof e;return r==="string"?rE(t)?M_(t.getChild(e),n):UA(t,S_(e),n):r==="function"?UA(t,e,n):r==="number"||e instanceof Date||r==="boolean"?St(t,oe(e),n):typeof e?.transform=="function"?v_(e.transform(t),n):pP(v_(e,n),t?.[__])}function pP(t,e){return t!=null&&e?Zp(t,e):t}function UA(t,e,n){return St(t,XA(n)?(r,o)=>A_(e(r,o)):e,n)}function v_(t,e){return e===void 0?Zn(t):oE(t)?M_(t,e):t instanceof e?t:e.from(t,XA(e)&&!jA(t)?A_:void 0)}function M_(t,e){return t==null?t:(e===void 0||e===Array)&&mP(t.type)?E_(t.toArray()):v_(t.toArray(),e)}var us=[null],S_=t=>e=>{let n=e[t];return n===void 0&&e.type==="Feature"?e.properties?.[t]:n},Xt={transform:Rn},X={transform:t=>t};var Qp=()=>1,WA=()=>!0,he=t=>t==null?t:`${t}`,Rt=t=>t==null?t:+t;var $a=t=>t?t[0]:void 0,ls=t=>t?t[1]:void 0,GA=t=>t?t[2]:void 0,oe=t=>()=>t;function Ef(t){let e=+`${t}`.slice(1)/100;return(n,r)=>_n(n,e,r)}function _e(t){return jA(t)?t:St(t,A_,Float64Array)}function A_(t){return t==null?NaN:Number(t)}function E_(t){return St(t,T_)}function T_(t){return t instanceof Date&&!isNaN(t)?t:typeof t=="string"?Wp(t):t==null||isNaN(t=Number(t))?void 0:new Date(t)}function ne(t,e){return t===void 0&&(t=e),t===null?[void 0,"none"]:ms(t)?[void 0,t]:[t,void 0]}function qt(t,e){return t===void 0&&(t=e),t===null||typeof t=="number"?[void 0,t]:[t,void 0]}function I_(t,e,n){if(t!=null)return Ce(t,e,n)}function Ce(t,e,n){let r=`${t}`.toLowerCase();if(!n.includes(r))throw new Error(`invalid ${e}: ${t}`);return r}function yi(t){return rE(t)?t:Zn(t)}function Zn(t){if(t==null||qn(t))return t;if(oE(t))return M_(t);switch(t.type){case"FeatureCollection":return t.features;case"GeometryCollection":return t.geometries;case"Feature":case"LineString":case"MultiLineString":case"MultiPoint":case"MultiPolygon":case"Point":case"Polygon":case"Sphere":return[t]}return Array.from(t)}function St(t,e,n=Array){return t==null?t:t instanceof n?t.map(e):n.from(t,e)}function ps(t,e=Array){return t instanceof e?t.slice():e.from(t)}function C_({x:t,x1:e,x2:n}){return t!==void 0||e!==void 0||n!==void 0}function N_({y:t,y1:e,y2:n}){return t!==void 0||e!==void 0||n!==void 0}function xi(t){return C_(t)||N_(t)||t.interval!==void 0}function Be(t){return t?.toString===fP}function bo(t){return Be(t)&&(t.type!==void 0||t.domain!==void 0)}function Kn(t){return Be(t)&&typeof t.transform!="function"}function wo(t){return Kn(t)&&t.value===void 0&&t.channel===void 0}function k_(t,e,n,r=X){return e===void 0&&n===void 0?(e=0,n=t===void 0?r:t):e===void 0?e=t===void 0?0:t:n===void 0&&(n=t===void 0?0:t),[e,n]}function fe(t,e){return t===void 0&&e===void 0?[$a,ls]:[t,e]}function hn({z:t,fill:e,stroke:n}={}){return t===void 0&&([t]=ne(e)),t===void 0&&([t]=ne(n)),t}function hs(t){return qn(t)?t.length:t?.numRows}function Rn(t){let e=hs(t),n=new Uint32Array(e);for(let r=0;r<e;++r)n[r]=r;return n}function Zp(t,e){return qn(t)?St(e,n=>t[n],t.constructor):St(e,n=>t.at(n))}function Tf(t){return t.length===1?(e,n)=>t(Zp(n,e)):t}function bi(t,e,n){return t.subarray?t.subarray(e,n):t.slice(e,n)}function br(t){return t!==null&&typeof t=="object"?t.valueOf():t}function lx(t,e){if(e[t]!==void 0)return e[t];switch(t){case"x1":case"x2":t="x";break;case"y1":case"y2":t="y";break}return e[t]}function ze(t){let e;return[{transform:()=>e,label:Je(t)},n=>e=n]}function Ke(t){return t==null?[t]:ze(t)}function Je(t,e){return typeof t=="string"?t:t&&t.label!==void 0?t.label:e}function If(t,e){return{transform(n){let r=t.transform(n),o=e.transform(n);return re(r)||re(o)?St(r,(i,s)=>new Date((+r[s]+ +o[s])/2)):St(r,(i,s)=>(+r[s]+ +o[s])/2,Float64Array)},label:t.label}}function Da(t,e){let n=R_(e?.interval,e?.type);return n?St(t,n):t}function R_(t,e){let n=Cf(t,e);return n&&(r=>Jt(r)?n.floor(r):r)}function Cf(t,e){if(t!=null){if(typeof t=="number")return L_(t);if(typeof t=="string")return(e==="time"?Vp:Oa)(t);if(typeof t.floor!="function")throw new Error("invalid interval; missing floor method");if(typeof t.offset!="function")throw new Error("invalid interval; missing offset method");return t}}function L_(t){t=+t,0<t&&t<1&&Number.isInteger(1/t)&&(t=-1/t);let e=Math.abs(t);return t<0?{floor:n=>Math.floor(n*e)/e,offset:(n,r=1)=>(n*e+Math.floor(r))/e,range:(n,r)=>pe(Math.ceil(n*e),r*e).map(o=>o/e)}:{floor:n=>Math.floor(n/e)*e,offset:(n,r=1)=>n+e*Math.floor(r),range:(n,r)=>pe(Math.ceil(n/e),r/e).map(o=>o*e)}}function vo(t,e){if(t=Cf(t,e),t&&typeof t.range!="function")throw new Error("invalid interval: missing range method");return t}function VA(t,e){if(t=vo(t,e),t&&typeof t.ceil!="function")throw new Error("invalid interval: missing ceil method");return t}function HA(t){return ds(t)&&typeof t?.floor=="function"&&t.floor()instanceof Date}function ds(t){return typeof t?.range=="function"}function wr(t){return t===void 0||Kn(t)?t:{value:t}}function QA(t){return t==null?null:{transform:e=>ct(e,t,Float64Array),label:Je(t)}}function ZA(t){if(!Ln(t))return!1;for(let e of t)if(e!=null)return typeof e=="object"&&"0"in e&&"1"in e}function Ln(t){return t&&typeof t[Symbol.iterator]=="function"}function px(t){for(let e of t)if(e!=null)return typeof e!="object"||e instanceof Date}function te(t){for(let e of t){if(e==null)continue;let n=typeof e;return n==="string"||n==="boolean"}}function re(t){for(let e of t)if(e!=null)return e instanceof Date}function KA(t){for(let e of t)if(e!=null)return typeof e=="string"&&isNaN(e)&&Wp(e)}function JA(t){for(let e of t)if(e!=null){if(typeof e!="string")return!1;if(e.trim())return!isNaN(e)}}function wi(t){for(let e of t)if(e!=null)return typeof e=="number"}function hx(t,e){let n;for(let r of t)if(r!=null){if(!e(r))return!1;n=!0}return n}var hP=new Set("none,currentcolor,transparent,aliceblue,antiquewhite,aqua,aquamarine,azure,beige,bisque,black,blanchedalmond,blue,blueviolet,brown,burlywood,cadetblue,chartreuse,chocolate,coral,cornflowerblue,cornsilk,crimson,cyan,darkblue,darkcyan,darkgoldenrod,darkgray,darkgreen,darkgrey,darkkhaki,darkmagenta,darkolivegreen,darkorange,darkorchid,darkred,darksalmon,darkseagreen,darkslateblue,darkslategray,darkslategrey,darkturquoise,darkviolet,deeppink,deepskyblue,dimgray,dimgrey,dodgerblue,firebrick,floralwhite,forestgreen,fuchsia,gainsboro,ghostwhite,gold,goldenrod,gray,green,greenyellow,grey,honeydew,hotpink,indianred,indigo,ivory,khaki,lavender,lavenderblush,lawngreen,lemonchiffon,lightblue,lightcoral,lightcyan,lightgoldenrodyellow,lightgray,lightgreen,lightgrey,lightpink,lightsalmon,lightseagreen,lightskyblue,lightslategray,lightslategrey,lightsteelblue,lightyellow,lime,limegreen,linen,magenta,maroon,mediumaquamarine,mediumblue,mediumorchid,mediumpurple,mediumseagreen,mediumslateblue,mediumspringgreen,mediumturquoise,mediumvioletred,midnightblue,mintcream,mistyrose,moccasin,navajowhite,navy,oldlace,olive,olivedrab,orange,orangered,orchid,palegoldenrod,palegreen,paleturquoise,palevioletred,papayawhip,peachpuff,peru,pink,plum,powderblue,purple,rebeccapurple,red,rosybrown,royalblue,saddlebrown,salmon,sandybrown,seagreen,seashell,sienna,silver,skyblue,slateblue,slategray,slategrey,snow,springgreen,steelblue,tan,teal,thistle,tomato,turquoise,violet,wheat,white,whitesmoke,yellow".split(","));function ms(t){return typeof t!="string"?!1:(t=t.toLowerCase().trim(),/^#[0-9a-f]{3,8}$/.test(t)||/^(?:url|var|rgb|rgba|hsl|hsla|hwb|lab|lch|oklab|oklch|color|color-mix)\(.*\)$/.test(t)||hP.has(t))}function tE(t){return typeof t=="number"&&(0<=t&&t<=1||isNaN(t))}function Ft(t){return t==null||vi(t)}function vi(t){return/^\s*none\s*$/i.test(t)}function eE(t){return/^\s*round\s*$/i.test(t)}function dx(t,e){return I_(t,e,["middle","top-left","top","top-right","right","bottom-right","bottom","bottom-left","left"])}function _o(t="middle"){return dx(t,"frameAnchor")}function nE(t={},...e){let n=t;for(let r of e)for(let o in r)if(n[o]===void 0){let i=r[o];n===t?n={...n,[o]:i}:n[o]=i}return n}function dP(t){console.warn("named iterables are deprecated; please use an object instead");let e=new Set;return Object.fromEntries(Array.from(t,n=>{let{name:r}=n;if(r==null)throw new Error("missing name");let o=`${r}`;if(o==="__proto__")throw new Error(`illegal name: ${o}`);if(e.has(o))throw new Error(`duplicate name: ${o}`);return e.add(o),[r,n]}))}function Kp(t){return Ln(t)?dP(t):t}function mx(t){return t===!0?t="frame":t===!1?t=null:t!=null&&(t=Ce(t,"clip",["frame","sphere"])),t}function rE(t){return t&&typeof t.getChild=="function"&&typeof t.toArray=="function"&&t.schema&&Array.isArray(t.schema.fields)}function oE(t){return t&&typeof t.toArray=="function"&&t.type}function mP(t){return t&&(t.typeId===8||t.typeId===10)&&t.unit===1}var vr=Symbol("position"),Jn=Symbol("color"),Fa=Symbol("radius"),Pa=Symbol("length"),qa=Symbol("opacity"),Nf=Symbol("symbol"),iE=Symbol("projection"),Yt=new Map([["x",vr],["y",vr],["fx",vr],["fy",vr],["r",Fa],["color",Jn],["opacity",qa],["symbol",Nf],["length",Pa],["projection",iE]]);function sE(t){return t===vr||t===iE}function aE(t){return t===vr||t===Fa||t===Pa||t===qa}var O_=Math.sqrt(3),$_=2/O_,gP={draw(t,e){let n=Math.sqrt(e/Math.PI),r=n*$_,o=r/2;t.moveTo(0,r),t.lineTo(n,o),t.lineTo(n,-o),t.lineTo(0,-r),t.lineTo(-n,-o),t.lineTo(-n,o),t.closePath()}},D_=new Map([["asterisk",Np],["circle",di],["cross",kp],["diamond",Rp],["diamond2",Lp],["hexagon",gP],["plus",Op],["square",$p],["square2",Dp],["star",Fp],["times",xf],["triangle",Pp],["triangle2",qp],["wye",Bp]]);function F_(t){return t&&typeof t.draw=="function"}function cE(t){return F_(t)?!0:typeof t!="string"?!1:D_.has(t.toLowerCase())}function kf(t){if(t==null||F_(t))return t;let e=D_.get(`${t}`.toLowerCase());if(e)return e;throw new Error(`invalid symbol: ${t}`)}function fE(t){if(t==null||F_(t))return[void 0,t];if(typeof t=="string"){let e=D_.get(`${t}`.toLowerCase());if(e)return[void 0,e]}return[t,void 0]}function Me({filter:t,sort:e,reverse:n,transform:r,initializer:o,...i}={},s){if(r===void 0&&(t!=null&&(r=B_(t)),e!=null&&!wo(e)&&(r=P_(r,Y_(e))),n&&(r=P_(r,z_))),s!=null&&o!=null)throw new Error("transforms cannot be applied after initializers");return{...i,...(e===null||wo(e))&&{sort:e},transform:P_(r,s)}}function Gt({filter:t,sort:e,reverse:n,initializer:r,...o}={},i){return r===void 0&&(t!=null&&(r=B_(t)),e!=null&&!wo(e)&&(r=q_(r,Y_(e))),n&&(r=q_(r,z_))),{...o,...(e===null||wo(e))&&{sort:e},initializer:q_(r,i)}}function P_(t,e){return t==null?e===null?void 0:e:e==null?t===null?void 0:t:function(n,r,o){return{data:n,facets:r}=t.call(this,n,r,o),e.call(this,yi(n),r,o)}}function q_(t,e){return t==null?e===null?void 0:e:e==null?t===null?void 0:t:function(n,r,o,...i){let s,a,c,f,u,p;return{data:a=n,facets:c=r,channels:s}=t.call(this,n,r,o,...i),{data:u=a,facets:p=c,channels:f}=e.call(this,a,c,{...o,...s},...i),{data:u,facets:p,channels:{...s,...f}}}}function gx(t,e){return(t.initializer!=null?Gt:Me)(t,e)}function uE(t,e){return gx(e,B_(t))}function B_(t){return(e,n)=>{let r=ct(e,t);return{data:e,facets:n.map(o=>o.filter(i=>r[i]))}}}function lE({sort:t,...e}={}){return{...gx(e,z_),sort:wo(t)?t:null}}function z_(t,e){return{data:t,facets:e.map(n=>n.slice().reverse())}}function pE({seed:t,sort:e,...n}={}){return{...gx(n,hE(t==null?Math.random:_a(t))),sort:wo(e)?e:null}}function yx(t,{sort:e,...n}={}){return{...(Kn(t)&&t.channel!==void 0?Gt:gx)(n,Y_(t)),sort:wo(e)?e:null}}function Y_(t){return(typeof t=="function"&&t.length!==1?yP:hE)(t)}function yP(t){return(e,n)=>{let r=qn(e)?(o,i)=>t(e[o],e[i]):(o,i)=>t(e.get(o),e.get(i));return{data:e,facets:n.map(o=>o.slice().sort(r))}}}function hE(t){let e,n;({channel:e,value:t,order:n}={...wr(t)});let r=e?.startsWith("-");if(r&&(e=e.slice(1)),n===void 0&&(n=r?Ra:qe),typeof n!="function")switch(`${n}`.toLowerCase()){case"ascending":n=qe;break;case"descending":n=Ra;break;default:throw new Error(`invalid order: ${n}`)}return(o,i,s)=>{let a;if(e===void 0)a=ct(o,t);else{if(s===void 0)throw new Error("channel sort requires an initializer");if(a=s[e],!a)return{};a=a.value}let c=(f,u)=>n(a[f],a[u]);return{data:o,facets:i.map(f=>f.slice().sort(c))}}}function th(t,e){return xx(null,null,t,e)}function gs(t={y:"count"},e={}){let{x:n=X}=e;if(n==null)throw new Error("missing channel: x");return xx(n,null,t,e)}function ys(t={x:"count"},e={}){let{y:n=X}=e;if(n==null)throw new Error("missing channel: y");return xx(null,n,t,e)}function eh(t={fill:"count"},e={}){let{x:n,y:r}=e;if([n,r]=fe(n,r),n==null)throw new Error("missing channel: x");if(r==null)throw new Error("missing channel: y");return xx(n,r,t,e)}function xx(t,e,{data:n=vx,filter:r,sort:o,reverse:i,...s}={},a={}){s=j_(s,a),n=xE(n,X),o=o==null?void 0:gE("sort",o,a),r=r==null?void 0:yE("filter",r,a);let[c,f]=Ke(t),[u,p]=Ke(e),{z:l,fill:h,stroke:d,x1:m,x2:g,y1:y,y2:x,...b}=a,[w,_]=Ke(l),[v]=ne(h),[M]=ne(d),[E,T]=Ke(v),[I,A]=Ke(M);return{..."z"in a&&{z:w||l},..."fill"in a&&{fill:E||h},..."stroke"in a&&{stroke:I||d},...Me(b,(k,L,S)=>{let C=Da(ct(k,t),S?.x),N=Da(ct(k,e),S?.y),R=ct(k,l),$=ct(k,v),O=ct(k,M),D=nh(s,{z:R,fill:$,stroke:O}),F=[],P=[],W=C&&f([]),K=N&&p([]),tt=R&&_([]),nt=$&&T([]),U=O&&A([]),et=0;for(let z of s)z.initialize(k);o&&o.initialize(k),r&&r.initialize(k);for(let z of L){let G=[];for(let J of s)J.scope("facet",z);o&&o.scope("facet",z),r&&r.scope("facet",z);for(let[J,q]of Mo(z,D))for(let[bt,st]of Mo(q,N))for(let[Tt,Ct]of Mo(st,C)){let Q={data:k};if(C&&(Q.x=Tt),N&&(Q.y=bt),D&&(Q.z=J),!(r&&!r.reduce(Ct,Q))){G.push(et++),P.push(n.reduceIndex(Ct,k,Q)),C&&W.push(Tt),N&&K.push(bt),R&&tt.push(D===R?J:R[Ct[0]]),$&&nt.push(D===$?J:$[Ct[0]]),O&&U.push(D===O?J:O[Ct[0]]);for(let Bt of s)Bt.reduce(Ct,Q);o&&o.reduce(Ct,Q)}}F.push(G)}return X_(F,o,i),{data:P,facets:F}}),...!So(s,"x")&&(c?{x:c}:{x1:m,x2:g}),...!So(s,"y")&&(u?{y:u}:{y1:y,y2:x}),...Object.fromEntries(s.map(({name:k,output:L})=>[k,L]))}}function So(t,...e){for(let{name:n}of t)if(e.includes(n))return!0;return!1}function U_(t,e,n=bx){let r=Object.entries(t);return e.title!=null&&t.title===void 0&&r.push(["title",MP]),e.href!=null&&t.href===void 0&&r.push(["href",_x]),r.filter(([,o])=>o!==void 0).map(([o,i])=>i===null?xP(o):n(o,i,e))}function bx(t,e,n,r=wx){let o;Be(e)&&"reduce"in e&&(o=e.scale,e=e.reduce);let i=r(t,e,n),[s,a]=ze(i.label),c;return{name:t,output:o===void 0?s:{value:s,scale:o},initialize(f){i.initialize(f),c=a([])},scope(f,u){i.scope(f,u)},reduce(f,u){c.push(i.reduce(f,u))}}}function xP(t){return{name:t,initialize(){},scope(){},reduce(){}}}function wx(t,e,n,r=Rf){let o=lx(t,n),i=r(e,o),s,a;return{label:Je(i===Jp?null:o,i.label),initialize(c){s=o===void 0?c:ct(c,o),i.scope==="data"&&(a=i.reduceIndex(Rn(c),s))},scope(c,f){i.scope===c&&(a=i.reduceIndex(f,s))},reduce(c,f){return i.scope==null?i.reduceIndex(c,s,f):i.reduceIndex(c,s,a,f)}}}function Mo(t,e){return e?Ve(t,n=>e[n]):[[,t]]}function Rf(t,e,n=bP){if(t==null)return n(t);if(typeof t.reduceIndex=="function")return t;if(typeof t.reduce=="function"&&Be(t))return vP(t);if(typeof t=="function")return _P(t);if(/^p\d{2}$/i.test(t))return _i(Ef(t));switch(`${t}`.toLowerCase()){case"first":return _x;case"last":return SP;case"identity":return vx;case"count":return Jp;case"distinct":return AP;case"sum":return e==null?Jp:EP;case"proportion":return mE(e,"data");case"proportion-facet":return mE(e,"facet");case"deviation":return _i(fr);case"min":return _i(At);case"min-index":return _i(t0);case"max":return _i(Mt);case"max-index":return _i(Jm);case"mean":return dE(Qo);case"median":return dE(Rr);case"variance":return _i(ji);case"mode":return _i($c)}return n(t)}function bP(t){throw new Error(`invalid reduce: ${t}`)}function j_(t,e){return U_(t,e,gE)}function gE(t,e,n){return bx(t,e,n,yE)}function yE(t,e,n){return wx(t,e,n,xE)}function xE(t,e){return Rf(t,e,wP)}function wP(t){switch(`${t}`.toLowerCase()){case"x":return TP;case"y":return IP;case"z":return W_}throw new Error(`invalid group reduce: ${t}`)}function nh(t,e){for(let n in e){let r=e[n];if(r!==void 0&&!t.some(o=>o.name===n))return r}}function X_(t,e,n){if(e){let r=e.output.transform(),o=(i,s)=>qe(r[i],r[s]);t.forEach(i=>i.sort(o))}n&&t.forEach(r=>r.reverse())}function vP(t){return console.warn("deprecated reduce interface; implement reduceIndex instead."),{...t,reduceIndex:t.reduce.bind(t)}}function _P(t){return{reduceIndex(e,n,r){return t(Zp(n,e),r)}}}function _i(t){return{reduceIndex(e,n){return t(e,r=>n[r])}}}function dE(t){return{reduceIndex(e,n){let r=t(e,o=>n[o]);return re(n)?new Date(r):r}}}var vx={reduceIndex(t,e){return Zp(e,t)}},_x={reduceIndex(t,e){return e[t[0]]}},MP={reduceIndex(t,e){let r=Vo(kr(t,i=>i.length,i=>e[i]),ls),o=r.slice(-5).reverse();if(o.length<r.length){let i=r.slice(0,-4);o[4]=[`\u2026 ${i.length.toLocaleString("en-US")} more`,Ee(i,ls)]}return o.map(([i,s])=>`${i} (${s.toLocaleString("en-US")})`).join(`
|
|
7
|
+
`)}},SP={reduceIndex(t,e){return e[t[t.length-1]]}},Jp={label:"Frequency",reduceIndex(t){return t.length}},AP={label:"Distinct",reduceIndex(t,e){let n=new vn;for(let r of t)n.add(e[r]);return n.size}},EP=_i(Ee);function mE(t,e){return t==null?{scope:e,label:"Frequency",reduceIndex:(n,r,o=1)=>n.length/o}:{scope:e,reduceIndex:(n,r,o=1)=>Ee(n,i=>r[i])/o}}var TP={reduceIndex(t,e,{x:n}){return n}},IP={reduceIndex(t,e,{y:n}){return n}},W_={reduceIndex(t,e,{z:n}){return n}};function bE(t){if(typeof t!="function")throw new Error(`invalid test function: ${t}`);return{reduceIndex(e,n,{data:r}){return n[e.find(qn(r)?o=>t(r[o],o,r):o=>t(r.get(o),o,r))]}}}function Lf(t,{scale:e,type:n,value:r,filter:o,hint:i,label:s=Je(r)},a){return i===void 0&&typeof r?.transform=="function"&&(i=r.hint),V_(a,{scale:e,type:n,value:ct(t,r),label:s,filter:o,hint:i})}function Mx(t,e){return Object.fromEntries(Object.entries(t).map(([n,r])=>[n,Lf(e,r,n)]))}function Of(t,e){let n=Object.fromEntries(Object.entries(t).map(([r,{scale:o,value:i}])=>{let s=o==null?null:e[o];return[r,s==null?i:St(i,s)]}));return n.channels=t,n}function V_(t,e){let{scale:n,value:r}=e;if(n===!0||n==="auto")switch(t){case"fill":case"stroke":case"color":e.scale=n!==!0&&hx(r,ms)?null:"color",e.defaultScale="color";break;case"fillOpacity":case"strokeOpacity":case"opacity":e.scale=n!==!0&&hx(r,tE)?null:"opacity",e.defaultScale="opacity";break;case"symbol":n!==!0&&hx(r,cE)?(e.scale=null,e.value=St(r,kf)):e.scale="symbol",e.defaultScale="symbol";break;default:e.scale=Yt.has(t)?t:null;break}else if(n===!1)e.scale=null;else if(n!=null&&!Yt.has(n))throw new Error(`unknown scale: ${n}`);return e}function vE(t,e,n,r,o){let{order:i,reverse:s,reduce:a=!0,limit:c}=o;for(let f in o){if(!Yt.has(f))continue;let{value:u,order:p=i,reverse:l=s,reduce:h=a,limit:d=c}=wr(o[f]),m=u?.startsWith("-");if(m&&(u=u.slice(1)),p=p===void 0?m!==(u==="width"||u==="height")?ME:_E:kP(p),h==null||h===!1)continue;let g=f==="fx"||f==="fy"?NP(e,r[f]):CP(n,f);if(!g)throw new Error(`missing channel for scale: ${f}`);let y=g.value,[x=0,b=1/0]=Ln(d)?d:d<0?[d]:[0,d];if(u==null)g.domain=()=>{let w=Array.from(new vn(y));return l&&(w=w.reverse()),(x!==0||b!==1/0)&&(w=w.slice(x,b)),w};else{let w=u==="data"?t:u==="height"?wE(n,"y1","y2"):u==="width"?wE(n,"x1","x2"):G_(n,u,u==="y"?"y2":u==="x"?"x2":void 0),_=Rf(h===!0?"max":h,w);g.domain=()=>{let v=x2(Rn(y),M=>_.reduceIndex(M,w),M=>y[M]);return p&&v.sort(p),l&&v.reverse(),(x!==0||b!==1/0)&&(v=v.slice(x,b)),v.map($a)}}}}function CP(t,e){for(let n in t){let r=t[n];if(r.scale===e)return r}}function NP(t,e){let n=t.original;if(n===t)return e;let r=e.value,o=e.value=[];for(let i=0;i<n.length;++i){let s=r[n[i][0]];for(let a of t[i])o[a]=s}return e}function wE(t,e,n){let r=G_(t,e),o=G_(t,n);return St(o,(i,s)=>Math.abs(i-r[s]),Float64Array)}function G_(t,e,n){let r=t[e];if(!r&&n!==void 0&&(r=t[n]),r)return r.value;throw new Error(`missing channel: ${e}`)}function kP(t){if(t==null||typeof t=="function")return t;switch(`${t}`.toLowerCase()){case"ascending":return _E;case"descending":return ME}throw new Error(`invalid order: ${t}`)}function _E([t,e],[n,r]){return qe(e,r)||qe(t,n)}function ME([t,e],[n,r]){return Ra(e,r)||qe(t,n)}function rh(t,e){let n=t[e];if(n){for(;n.source;)n=n.source;return n.source===null?null:n}}var IE=new Map([["accent",Lv],["category10",Rv],["dark2",Ov],["observable10",$v],["paired",Dv],["pastel1",Fv],["pastel2",Pv],["set1",qv],["set2",Bv],["set3",zv],["tableau10",Yv]]);function CE(t){return t!=null&&IE.has(`${t}`.toLowerCase())}var SE=new Map([...IE,["brbg",Mi(qg,Bg)],["prgn",Mi(zg,Yg)],["piyg",Mi(Ug,jg)],["puor",Mi(Xg,Wg)],["rdbu",Mi(Ep,hf)],["rdgy",Mi(Gg,Vg)],["rdylbu",Mi(Tp,df)],["rdylgn",Mi(Hg,Qg)],["spectral",Mi(Zg,Kg)],["burd",AE(Ep,hf)],["buylrd",AE(Tp,df)],["blues",Ye(My,Sy)],["greens",Ye(Ay,Ey)],["greys",Ye(Ty,Iy)],["oranges",Ye(Ly,Oy)],["purples",Ye(Cy,Ny)],["reds",Ye(ky,Ry)],["turbo",Si(Uy)],["viridis",Si(Xy)],["magma",Si(Wy)],["inferno",Si(Gy)],["plasma",Si(Vy)],["cividis",Si($y)],["cubehelix",Si(Dy)],["warm",Si(Py)],["cool",Si(qy)],["bugn",Ye(Jg,ty)],["bupu",Ye(ey,ny)],["gnbu",Ye(ry,oy)],["orrd",Ye(iy,sy)],["pubu",Ye(fy,uy)],["pubugn",Ye(ay,cy)],["purd",Ye(ly,py)],["rdpu",Ye(hy,dy)],["ylgn",Ye(yy,xy)],["ylgnbu",Ye(my,gy)],["ylorbr",Ye(by,wy)],["ylorrd",Ye(vy,_y)],["rainbow",EE(By)],["sinebow",EE(Yy)]]);function Ye(t,e){return({length:n})=>n===1?[t[3][1]]:n===2?[t[3][1],t[3][2]]:(n=Math.max(3,Math.floor(n)),n>9?an(e,n):t[n])}function Mi(t,e){return({length:n})=>n===2?[t[3][0],t[3][2]]:(n=Math.max(3,Math.floor(n)),n>11?an(e,n):t[n])}function AE(t,e){return({length:n})=>n===2?[t[3][2],t[3][0]]:(n=Math.max(3,Math.floor(n)),n>11?an(r=>e(1-r),n):t[n].slice().reverse())}function Si(t){return({length:e})=>an(t,Math.max(2,Math.floor(e)))}function EE(t){return({length:e})=>an(t,Math.floor(e)+1).slice(0,-1)}function H_(t){let e=`${t}`.toLowerCase();if(!SE.has(e))throw new Error(`unknown ordinal scheme: ${e}`);return SE.get(e)}function oh(t,e){let n=H_(t),r=typeof n=="function"?n({length:e}):n;return r.length!==e?r.slice(0,e):r}function NE(t,e="greys"){let n=new Set,[r,o]=oh(e,2);for(let i of t)if(i!=null)if(i===!0)n.add(o);else if(i===!1)n.add(r);else return;return[...n]}var TE=new Map([["brbg",Bg],["prgn",Yg],["piyg",jg],["puor",Wg],["rdbu",hf],["rdgy",Vg],["rdylbu",df],["rdylgn",Qg],["spectral",Kg],["burd",t=>hf(1-t)],["buylrd",t=>df(1-t)],["blues",Sy],["greens",Ey],["greys",Iy],["purples",Ny],["reds",Ry],["oranges",Oy],["turbo",Uy],["viridis",Xy],["magma",Wy],["inferno",Gy],["plasma",Vy],["cividis",$y],["cubehelix",Dy],["warm",Py],["cool",qy],["bugn",ty],["bupu",ny],["gnbu",oy],["orrd",sy],["pubugn",cy],["pubu",uy],["purd",py],["rdpu",dy],["ylgnbu",gy],["ylgn",xy],["ylorbr",wy],["ylorrd",_y],["rainbow",By],["sinebow",Yy]]);function $f(t){let e=`${t}`.toLowerCase();if(!TE.has(e))throw new Error(`unknown quantitative scheme: ${e}`);return TE.get(e)}var RP=new Set(["brbg","prgn","piyg","puor","rdbu","rdgy","rdylbu","rdylgn","spectral","burd","buylrd"]);function kE(t){return t!=null&&RP.has(`${t}`.toLowerCase())}var Z_=t=>e=>t(1-e),Q_=[0,1],RE=new Map([["number",Qt],["rgb",ur],["hsl",j2],["hcl",X2],["lab",_0]]);function K_(t){let e=`${t}`.toLowerCase();if(!RE.has(e))throw new Error(`unknown interpolator: ${e}`);return RE.get(e)}function Ff(t,e,n,{type:r,nice:o,clamp:i,zero:s,domain:a=BE(t,n),unknown:c,round:f,scheme:u,interval:p,range:l=Yt.get(t)===Fa?DP(n,a):Yt.get(t)===Pa?FP(n,a):Yt.get(t)===qa?Q_:void 0,interpolate:h=Yt.get(t)===Jn?u==null&&l!==void 0?ur:$f(u!==void 0?u:r==="cyclical"?"rainbow":"turbo"):f?la:Qt,reverse:d}){if(p=vo(p,r),(r==="cyclical"||r==="sequential")&&(r="linear"),typeof h!="function"&&(h=K_(h)),d=!!d,l!==void 0){let m=(a=Zn(a)).length,g=(l=Zn(l)).length;if(m!==g){if(h.length===1)throw new Error("invalid piecewise interpolator");h=no(h,l),l=void 0}}if(h.length===1?(d&&(h=Z_(h),d=!1),l===void 0&&(l=Float64Array.from(a,(m,g)=>g/(a.length-1)),l.length===2&&(l=Q_)),e.interpolate((l===Q_?oe:ih)(h))):e.interpolate(h),s){let[m,g]=Ot(a);(m>0||g<0)&&(a=ps(a),(gi(a)||1)===Math.sign(m)?a[0]=0:a[a.length-1]=0)}return d&&(a=Wi(a)),e.domain(a).unknown(c),o&&(e.nice(LP(o,r)),a=e.domain()),l!==void 0&&e.range(l),i&&e.clamp(i),{type:r,domain:a,range:l,scale:e,interpolate:h,interval:p}}function LP(t,e){return t===!0?void 0:typeof t=="number"?t:VA(t,e)}function LE(t,e,n){return Ff(t,si(),e,n)}function OE(t,e,n){return J_(t,e,{...n,exponent:.5})}function J_(t,e,{exponent:n=1,...r}){return Ff(t,mp().exponent(n),e,{...r,type:"pow"})}function $E(t,e,{base:n=10,domain:r=PP(e),...o}){return Ff(t,hp().base(n),e,{...o,domain:r})}function DE(t,e,{constant:n=1,...r}){return Ff(t,dp().constant(n),e,r)}function FE(t,e,{range:n,quantiles:r=n===void 0?5:(n=[...n]).length,n:o=r,scheme:i="rdylbu",domain:s=qP(e),unknown:a,interpolate:c,reverse:f}){return n===void 0&&(n=c!==void 0?an(c,o):Yt.get(t)===Jn?oh(i,o):void 0),s.length>0&&(s=gp(s,n===void 0?{length:o}:n).quantiles()),Sx(t,e,{domain:s,range:n,reverse:f,unknown:a})}function PE(t,e,{range:n,n:r=n===void 0?5:(n=[...n]).length,scheme:o="rdylbu",domain:i=BE(t,e),unknown:s,interpolate:a,reverse:c}){let[f,u]=Ot(i),p;return n===void 0?(p=He(f,u,r),p[0]<=f&&p.splice(0,1),p[p.length-1]>=u&&p.pop(),r=p.length+1,n=a!==void 0?an(a,r):Yt.get(t)===Jn?oh(o,r):void 0):(p=an(Qt(f,u),r+1).slice(1,-1),f instanceof Date&&(p=p.map(l=>new Date(l)))),gi(Zn(i))<0&&p.reverse(),Sx(t,e,{domain:p,range:n,reverse:c,unknown:s})}function Sx(t,e,{domain:n=[0],unknown:r,scheme:o="rdylbu",interpolate:i,range:s=i!==void 0?an(i,n.length+1):Yt.get(t)===Jn?oh(o,n.length+1):void 0,reverse:a}){n=Zn(n);let c=gi(n);if(!isNaN(c)&&!OP(n,c))throw new Error(`the ${t} scale has a non-monotonic domain`);return a&&(s=Wi(s)),{type:"threshold",scale:yp(c<0?Wi(n):n,s===void 0?[]:s).unknown(r),domain:n,range:s}}function OP(t,e){for(let n=1,r=t.length,o=t[0];n<r;++n){let i=bn(o,o=t[n]);if(i!==0&&i!==e)return!1}return!0}function qE(t){return{type:"identity",scale:aE(Yt.get(t))?lp():e=>e}}function Df(t,e=_f){return t.length?[At(t,({value:n})=>n===void 0?n:At(n,e)),Mt(t,({value:n})=>n===void 0?n:Mt(n,e))]:[0,1]}function BE(t,e){let n=Yt.get(t);return(n===Fa||n===qa||n===Pa?$P:Df)(e)}function $P(t){return[0,t.length?Mt(t,({value:e})=>e===void 0?e:Mt(e,_f)):1]}function DP(t,e){let n=t.find(({radius:s})=>s!==void 0);if(n!==void 0)return[0,n.radius];let r=_n(t,.5,({value:s})=>s===void 0?NaN:_n(s,.25,kn)),o=e.map(s=>3*Math.sqrt(s/r)),i=30/Mt(o);return i<1?o.map(s=>s*i):o}function FP(t,e){let n=Rr(t,({value:i})=>i===void 0?NaN:Rr(i,Math.abs)),r=e.map(i=>12*i/n),o=60/Mt(r);return o<1?r.map(i=>i*o):r}function PP(t){for(let{value:e}of t)if(e!==void 0)for(let n of e){if(n>0)return Df(t,kn);if(n<0)return Df(t,ss)}return[1,10]}function qP(t){let e=[];for(let{value:n}of t)if(n!==void 0)for(let r of n)e.push(r);return e}function ih(t){return(e,n)=>r=>t(e+r*(n-e))}var t6=0,e6;function zE(){let t=t6;return t6=0,e6=void 0,t}function dn(t){t!==e6&&(e6=t,console.warn(t),++t6)}function Ax(t,e,n,r,{type:o,nice:i,clamp:s,domain:a=Df(r),unknown:c,pivot:f=0,scheme:u,range:p,symmetric:l=!0,interpolate:h=Yt.get(t)===Jn?u==null&&p!==void 0?ur:$f(u!==void 0?u:"rdbu"):Qt,reverse:d}){f=+f,a=Zn(a);let[m,g]=a;if(a.length>2&&dn(`Warning: the diverging ${t} scale domain contains extra elements.`),bn(m,g)<0&&([m,g]=[g,m],d=!d),m=Math.min(m,f),g=Math.max(g,f),typeof h!="function"&&(h=K_(h)),p!==void 0&&(h=h.length===1?ih(h)(...p):no(h,p)),d&&(h=Z_(h)),l){let y=n.apply(f),x=y-n.apply(m),b=n.apply(g)-y;x<b?m=n.invert(y-b):x>b&&(g=n.invert(y+x))}return e.domain([m,f,g]).unknown(c).interpolator(h),s&&e.clamp(s),i&&e.nice(i),{type:o,domain:[m,g],pivot:f,interpolate:h,scale:e}}function YE(t,e,n){return Ax(t,Ap(),BP,e,n)}function UE(t,e,n){return n6(t,e,{...n,exponent:.5})}function n6(t,e,{exponent:n=1,...r}){return Ax(t,Pg().exponent(n=+n),UP(n),e,{...r,type:"diverging-pow"})}function jE(t,e,{base:n=10,pivot:r=1,domain:o=Df(e,r<0?ss:kn),...i}){return Ax(t,Dg().base(n=+n),zP,e,{domain:o,pivot:r,...i})}function XE(t,e,{constant:n=1,...r}){return Ax(t,Fg().constant(n=+n),jP(n),e,r)}var BP={apply(t){return t},invert(t){return t}},zP={apply:Math.log,invert:Math.exp},YP={apply(t){return Math.sign(t)*Math.sqrt(Math.abs(t))},invert(t){return Math.sign(t)*(t*t)}};function UP(t){return t===.5?YP:{apply(e){return Math.sign(e)*Math.pow(Math.abs(e),t)},invert(e){return Math.sign(e)*Math.pow(Math.abs(e),1/t)}}}function jP(t){return{apply(e){return Math.sign(e)*Math.log1p(Math.abs(e/t))},invert(e){return Math.sign(e)*Math.expm1(Math.abs(e))*t}}}function WE(t,e,n,r){return Ff(t,e,n,r)}function GE(t,e,n){return WE(t,Lg(),e,n)}function VE(t,e,n){return WE(t,Og(),e,n)}var Pf=Symbol("ordinal");function QE(t,e,n,{type:r,interval:o,domain:i,range:s,reverse:a,hint:c}){return o=vo(o,r),i===void 0&&(i=e7(n,o,t)),(r==="categorical"||r===Pf)&&(r="ordinal"),a&&(i=Wi(i)),i=e.domain(i).domain(),s!==void 0&&(typeof s=="function"&&(s=s(i)),e.range(s)),{type:r,domain:i,range:s,scale:e,hint:c,interval:o}}function ZE(t,e,{type:n,interval:r,domain:o,range:i,scheme:s,unknown:a,...c}){r=vo(r,n),o===void 0&&(o=e7(e,r,t));let f;if(Yt.get(t)===Nf)f=XP(e),i=i===void 0?WP(f):St(i,kf);else if(Yt.get(t)===Jn&&(i===void 0&&(n==="ordinal"||n===Pf)&&(i=NE(o,s),i!==void 0&&(s=void 0)),s===void 0&&i===void 0&&(s=n==="ordinal"?"turbo":"observable10"),s!==void 0))if(i!==void 0){let u=$f(s),p=i[0],l=i[1]-i[0];i=({length:h})=>an(d=>u(p+l*d),h)}else i=H_(s);if(a===fp)throw new Error(`implicit unknown on ${t} scale is not supported`);return QE(t,Ma().unknown(a),e,{...c,type:n,domain:o,range:i,hint:f})}function KE(t,e,{align:n=.5,padding:r=.5,...o}){return t7(gv().align(n).padding(r),e,o,t)}function JE(t,e,{align:n=.5,padding:r=.1,paddingInner:o=r,paddingOuter:i=t==="fx"||t==="fy"?0:r,...s}){return t7(rs().align(n).paddingInner(o).paddingOuter(i),e,s,t)}function t7(t,e,n,r){let{round:o}=n;return o!==void 0&&t.round(o=!!o),t=QE(r,t,e,n),t.round=o,t}function e7(t,e,n){let r=new vn;for(let{value:o,domain:i}of t){if(i!==void 0)return i();if(o!==void 0)for(let s of o)r.add(s)}if(e!==void 0){let[o,i]=Ot(r).map(e.floor,e);return e.range(o,e.offset(i))}if(r.size>1e4&&Yt.get(n)===vr)throw new Error(`implicit ordinal domain of ${n} scale has more than 10,000 values`);return Vo(r,qe)}function HE(t,e){let n;for(let{hint:r}of t){let o=r?.[e];if(o!==void 0){if(n===void 0)n=o;else if(n!==o)return}}return n}function XP(t){return{fill:HE(t,"fill"),stroke:HE(t,"stroke")}}function WP(t){return Ft(t.fill)?Hv:tx}function sh(t,{label:e,inset:n=0,insetTop:r=n,insetRight:o=n,insetBottom:i=n,insetLeft:s=n,round:a,nice:c,clamp:f,zero:u,align:p,padding:l,projection:h,facet:{label:d=e}={},...m}={}){let g={};for(let[y,x]of t){let b=m[y],w=f7(y,x,{round:Yt.get(y)===vr?a:void 0,nice:c,clamp:f,zero:u,align:p,padding:l,projection:h,...b});if(w){let{label:_=y==="fx"||y==="fy"?d:e,percent:v,transform:M,inset:E,insetTop:T=E!==void 0?E:y==="y"?r:0,insetRight:I=E!==void 0?E:y==="x"?o:0,insetBottom:A=E!==void 0?E:y==="y"?i:0,insetLeft:k=E!==void 0?E:y==="x"?s:0}=b||{};if(M==null)M=void 0;else if(typeof M!="function")throw new Error("invalid scale transform; not a function");w.percent=!!v,w.label=_===void 0?GP(x,w):_,w.transform=M,y==="x"||y==="fx"?(w.insetLeft=+k,w.insetRight=+I):(y==="y"||y==="fy")&&(w.insetTop=+T,w.insetBottom=+A),g[y]=w}}return g}function o6(t){let e={},n={scales:e};for(let[r,o]of Object.entries(t)){let{scale:i,type:s,interval:a,label:c}=o;e[r]=l7(o),n[r]=i,i.type=s,a!=null&&(i.interval=a),c!=null&&(i.label=c)}return n}function s7(t,e){let{x:n,y:r,fx:o,fy:i}=t,s=o||i?Ix(e):e;o&&n7(o,s),i&&r7(i,s);let a=o||i?i6(t,e):e;n&&n7(n,a),r&&r7(r,a)}function GP(t=[],e){let n;for(let{label:r}of t)if(r!==void 0){if(n===void 0)n=r;else if(n!==r)return}if(n!==void 0)return!Ao(e)&&e.percent&&(n=`${n} (%)`),{inferred:!0,toString:()=>n}}function Tx(t){return Math.sign(gi(t.domain()))*Math.sign(gi(t.range()))}function Ix(t){let{marginTop:e,marginRight:n,marginBottom:r,marginLeft:o,width:i,height:s,facet:{marginTop:a,marginRight:c,marginBottom:f,marginLeft:u}}=t;return{marginTop:Math.max(e,a),marginRight:Math.max(n,c),marginBottom:Math.max(r,f),marginLeft:Math.max(o,u),width:i,height:s}}function i6({fx:t,fy:e},n){let{marginTop:r,marginRight:o,marginBottom:i,marginLeft:s,width:a,height:c}=Ix(n);return{marginTop:r,marginRight:o,marginBottom:i,marginLeft:s,width:t?t.scale.bandwidth()+s+o:a,height:e?e.scale.bandwidth()+r+i:c,facet:{width:a,height:c}}}function n7(t,e){if(t.range===void 0){let{insetLeft:n,insetRight:r}=t,{width:o,marginLeft:i=0,marginRight:s=0}=e,a=i+n,c=o-s-r;t.range=[a,Math.max(a,c)],Ao(t)||(t.range=c7(t)),t.scale.range(t.range)}a7(t)}function r7(t,e){if(t.range===void 0){let{insetTop:n,insetBottom:r}=t,{height:o,marginTop:i=0,marginBottom:s=0}=e,a=i+n,c=o-s-r;t.range=[Math.max(a,c),a],Ao(t)?t.range.reverse():t.range=c7(t),t.scale.range(t.range)}a7(t)}function a7(t){t.round===void 0&&QP(t)&&VP(t)<=30&&t.scale.round(!0)}function VP({scale:t}){let e=t.domain().length,[n,r]=t.range(),o=t.paddingInner?t.paddingInner():1,i=t.paddingOuter?t.paddingOuter():t.padding(),s=e-o,a=Math.abs(r-n)/Math.max(1,s+i*2);return(a-Math.floor(a))*s}function c7(t){let e=t.scale.domain().length+s6(t);if(!(e>2))return t.range;let[n,r]=t.range;return Array.from({length:e},(o,i)=>n+i/(e-1)*(r-n))}function Cx(t,e,n){return f7(t,n===void 0?void 0:[{hint:n}],{...e})}function f7(t,e=[],n={}){let r=HP(t,e,n);if(n.type===void 0&&n.domain===void 0&&n.range===void 0&&n.interval==null&&t!=="fx"&&t!=="fy"&&Ao({type:r})){let o=e.map(({value:i})=>i).filter(i=>i!==void 0);o.some(re)?dn(`Warning: some data associated with the ${t} scale are dates. Dates are typically associated with a "utc" or "time" scale rather than a "${qf(r)}" scale. If you are using a bar mark, you probably want a rect mark with the interval option instead; if you are using a group transform, you probably want a bin transform instead. If you want to treat this data as ordinal, you can specify the interval of the ${t} scale (e.g., d3.utcDay), or you can suppress this warning by setting the type of the ${t} scale to "${qf(r)}".`):o.some(KA)?dn(`Warning: some data associated with the ${t} scale are strings that appear to be dates (e.g., YYYY-MM-DD). If these strings represent dates, you should parse them to Date objects. Dates are typically associated with a "utc" or "time" scale rather than a "${qf(r)}" scale. If you are using a bar mark, you probably want a rect mark with the interval option instead; if you are using a group transform, you probably want a bin transform instead. If you want to treat this data as ordinal, you can suppress this warning by setting the type of the ${t} scale to "${qf(r)}".`):o.some(JA)&&dn(`Warning: some data associated with the ${t} scale are strings that appear to be numbers. If these strings represent numbers, you should parse or coerce them to numbers. Numbers are typically associated with a "linear" scale rather than a "${qf(r)}" scale. If you want to treat this data as ordinal, you can specify the interval of the ${t} scale (e.g., 1 for integers), or you can suppress this warning by setting the type of the ${t} scale to "${qf(r)}".`)}switch(n.type=r,r){case"diverging":case"diverging-sqrt":case"diverging-pow":case"diverging-log":case"diverging-symlog":case"cyclical":case"sequential":case"linear":case"sqrt":case"threshold":case"quantile":case"pow":case"log":case"symlog":n=Ex(e,n,_e);break;case"identity":switch(Yt.get(t)){case vr:n=Ex(e,n,_e);break;case Nf:n=Ex(e,n,ZP);break}break;case"utc":case"time":n=Ex(e,n,E_);break}switch(r){case"diverging":return YE(t,e,n);case"diverging-sqrt":return UE(t,e,n);case"diverging-pow":return n6(t,e,n);case"diverging-log":return jE(t,e,n);case"diverging-symlog":return XE(t,e,n);case"categorical":case"ordinal":case Pf:return ZE(t,e,n);case"cyclical":case"sequential":case"linear":return LE(t,e,n);case"sqrt":return OE(t,e,n);case"threshold":return Sx(t,e,n);case"quantile":return FE(t,e,n);case"quantize":return PE(t,e,n);case"pow":return J_(t,e,n);case"log":return $E(t,e,n);case"symlog":return DE(t,e,n);case"utc":return VE(t,e,n);case"time":return GE(t,e,n);case"point":return KE(t,e,n);case"band":return JE(t,e,n);case"identity":return qE(t);case void 0:return;default:throw new Error(`unknown scale type: ${r}`)}}function qf(t){return typeof t=="symbol"?t.description:t}function o7(t){return typeof t=="string"?`${t}`.toLowerCase():t}var i7={toString:()=>"projection"};function HP(t,e,{type:n,domain:r,range:o,scheme:i,pivot:s,projection:a}){if(n=o7(n),t==="fx"||t==="fy")return"band";(t==="x"||t==="y")&&a!=null&&(n=i7);for(let f of e){let u=o7(f.type);if(u!==void 0){if(n===void 0)n=u;else if(n!==u)throw new Error(`scale incompatible with channel: ${n} !== ${u}`)}}if(n===i7)return;if(n!==void 0)return n;if(r===void 0&&!e.some(({value:f})=>f!==void 0))return;let c=Yt.get(t);if(c===Fa)return"sqrt";if(c===qa||c===Pa)return"linear";if(c===Nf)return"ordinal";if((r||o||[]).length>2)return r6(c);if(r!==void 0){if(te(r))return r6(c);if(re(r))return"utc"}else{let f=e.map(({value:u})=>u).filter(u=>u!==void 0);if(f.some(te))return r6(c);if(f.some(re))return"utc"}if(c===Jn){if(s!=null||kE(i))return"diverging";if(CE(i))return"categorical"}return"linear"}function r6(t){switch(t){case vr:return"point";case Jn:return Pf;default:return"ordinal"}}function Ao({type:t}){return t==="ordinal"||t==="point"||t==="band"||t===Pf}function s6({type:t}){return t==="threshold"}function QP({type:t}){return t==="point"||t==="band"}function tr(t){if(t===void 0)return!0;let e=t.domain(),n=t(e[0]);for(let r=1,o=e.length;r<o;++r)if(t(e[r])-n)return!1;return!0}function Ex(t,{domain:e,...n},r){for(let o of t)o.value!==void 0&&(e===void 0&&(e=o.value?.domain),o.value=r(o.value));return{domain:e===void 0?e:r(e),...n}}function ZP(t){return St(t,kf)}function xs(t={}){let e;for(let n in t)if(Yt.has(n)&&bo(t[n])){if(e!==void 0)throw new Error("ambiguous scale definition; multiple scales found");e=l7(Cx(n,t[n]))}if(e===void 0)throw new Error("invalid scale definition; no scale found");return e}function u7(t){return e=>{if(!Yt.has(e=`${e}`))throw new Error(`unknown scale: ${e}`);return t[e]}}function l7({scale:t,type:e,domain:n,range:r,interpolate:o,interval:i,transform:s,percent:a,pivot:c}){if(e==="identity")return{type:"identity",apply:u=>u,invert:u=>u};let f=t.unknown?t.unknown():void 0;return{type:e,domain:ps(n),...r!==void 0&&{range:ps(r)},...s!==void 0&&{transform:s},...a&&{percent:a},...f!==void 0&&{unknown:f},...i!==void 0&&{interval:i},...o!==void 0&&{interpolate:o},...t.clamp&&{clamp:t.clamp()},...c!==void 0&&{pivot:c,symmetric:!1},...t.base&&{base:t.base()},...t.exponent&&{exponent:t.exponent()},...t.constant&&{constant:t.constant()},...t.align&&{align:t.align(),round:t.round()},...t.padding&&(t.paddingInner?{paddingInner:t.paddingInner(),paddingOuter:t.paddingOuter()}:{padding:t.padding()}),...t.bandwidth&&{bandwidth:t.bandwidth(),step:t.step()},apply:u=>t(u),...t.invert&&{invert:u=>t.invert(u)}}}function h7(t,e){let{fx:n,fy:r}=sh(t,e),o=n?.scale.domain(),i=r?.scale.domain();return o&&i?Qm(o,i).map(([s,a],c)=>({x:s,y:a,i:c})):o?o.map((s,a)=>({x:s,i:a})):i?i.map((s,a)=>({y:s,i:a})):void 0}function d7(t,{x:e,y:n}){return e&&=l6(e),n&&=l6(n),t.filter(e&&n?r=>e.has(r.x)&&n.has(r.y):e?r=>e.has(r.x):r=>n.has(r.y)).sort(e&&n?(r,o)=>e.get(r.x)-e.get(o.x)||n.get(r.y)-n.get(o.y):e?(r,o)=>e.get(r.x)-e.get(o.x):(r,o)=>n.get(r.y)-n.get(o.y))}function kx(t,{fx:e,fy:n}){let r=Rn(t),o=e?.value,i=n?.value;return e&&n?kr(r,s=>(s.fx=o[s[0]],s.fy=i[s[0]],s),s=>o[s],s=>i[s]):e?kr(r,s=>(s.fx=o[s[0]],s),s=>o[s]):kr(r,s=>(s.fy=i[s[0]],s),s=>i[s])}function m7(t,e,{marginTop:n,marginLeft:r}){return t&&e?({x:o,y:i})=>`translate(${t(o)-r},${e(i)-n})`:t?({x:o})=>`translate(${t(o)-r},0)`:({y:o})=>`translate(0,${e(o)-n})`}function g7(t){let e=[],n=new Uint32Array(Ee(t,r=>r.length));for(let r of t){let o=0;for(let i of t)r!==i&&(n.set(i,o),o+=i.length);e.push(n.slice(0,o))}return e}var KP=new Map([["top",a6],["right",u6],["bottom",c6],["left",f6],["top-left",Nx(a6,f6)],["top-right",Nx(a6,u6)],["bottom-left",Nx(c6,f6)],["bottom-right",Nx(c6,u6)],["top-empty",tq],["right-empty",rq],["bottom-empty",eq],["left-empty",nq],["empty",oq]]);function y7(t){if(t==null)return null;let e=KP.get(`${t}`.toLowerCase());if(e)return e;throw new Error(`invalid facet anchor: ${t}`)}var p7=new WeakMap;function l6(t){let e=p7.get(t);return e||p7.set(t,e=new wn(St(t,(n,r)=>[n,r]))),e}function bs(t,e){return l6(t).get(e)}function JP(t,e,n){return e=br(e),n=br(n),t.find(r=>Object.is(br(r.x),e)&&Object.is(br(r.y),n))}function Rx(t,e,n){return JP(t,e,n)?.empty}function a6(t,{y:e},{y:n}){return e?bs(e,n)===0:!0}function c6(t,{y:e},{y:n}){return e?bs(e,n)===e.length-1:!0}function f6(t,{x:e},{x:n}){return e?bs(e,n)===0:!0}function u6(t,{x:e},{x:n}){return e?bs(e,n)===e.length-1:!0}function tq(t,{y:e},{x:n,y:r,empty:o}){if(o)return!1;if(!e)return;let i=bs(e,r);if(i>0)return Rx(t,n,e[i-1])}function eq(t,{y:e},{x:n,y:r,empty:o}){if(o)return!1;if(!e)return;let i=bs(e,r);if(i<e.length-1)return Rx(t,n,e[i+1])}function nq(t,{x:e},{x:n,y:r,empty:o}){if(o)return!1;if(!e)return;let i=bs(e,n);if(i>0)return Rx(t,e[i-1],r)}function rq(t,{x:e},{x:n,y:r,empty:o}){if(o)return!1;if(!e)return;let i=bs(e,n);if(i<e.length-1)return Rx(t,e[i+1],r)}function oq(t,e,{empty:n}){return n}function Nx(t,e){return function(){return t.apply(null,arguments)&&e.apply(null,arguments)}}function Lx(t,{channels:{fx:e,fy:n},groups:r}){return e&&n?t.map(({x:o,y:i})=>r.get(o)?.get(i)??[]):e?t.map(({x:o})=>r.get(o)??[]):t.map(({y:o})=>r.get(o)??[])}var x7=Math.PI,Ai=2*x7,p6=.618;function b7({projection:t,inset:e=0,insetTop:n=e,insetRight:r=e,insetBottom:o=e,insetLeft:i=e}={},s){if(t==null)return;if(typeof t.stream=="function")return t;let a,c,f="frame";if(Be(t)){let _;if({type:t,domain:c,inset:_,insetTop:n=_!==void 0?_:n,insetRight:r=_!==void 0?_:r,insetBottom:o=_!==void 0?_:o,insetLeft:i=_!==void 0?_:i,clip:f=f,...a}=t,t==null)return}typeof t!="function"&&({type:t}=h6(t));let{width:u,height:p,marginLeft:l,marginRight:h,marginTop:d,marginBottom:m}=s,g=u-l-h-i-r,y=p-d-m-n-o;if(t=t?.({width:g,height:y,clip:f,...a}),t==null)return;f=iq(f,l,d,u-h,p-m);let x=l+i,b=d+n,w;if(c!=null){let[[_,v],[M,E]]=De(t).bounds(c),T=Math.min(g/(M-_),y/(E-v));T>0?(x-=(T*(_+M)-g)/2,b-=(T*(v+E)-y)/2,w=wa({point(I,A){this.stream.point(I*T+x,A*T+b)}})):dn("Warning: the projection could not be fit to the specified domain; using the default scale.")}return w??=x===0&&b===0?w7():wa({point(_,v){this.stream.point(_+x,v+b)}}),{stream:_=>t.stream(w.stream(f(_)))}}function h6(t){switch(`${t}`.toLowerCase()){case"albers-usa":return Dr(jw,.7463,.4673);case"albers":return Ox(rp,.7463,.4673);case"azimuthal-equal-area":return Dr(Ww,4,4);case"azimuthal-equidistant":return Dr(Vw,Ai,Ai);case"conic-conformal":return Ox(Zw,Ai,Ai);case"conic-equal-area":return Ox(es,6.1702,2.9781);case"conic-equidistant":return Ox(Jw,7.312,3.6282);case"equal-earth":return Dr(ev,5.4133,2.6347);case"equirectangular":return Dr(Kw,Ai,x7);case"gnomonic":return Dr(rv,3.4641,3.4641);case"identity":return{type:w7};case"reflect-y":return{type:sq};case"mercator":return Dr(Hw,Ai,Ai);case"orthographic":return Dr(iv,2,2);case"stereographic":return Dr(av,2,2);case"transverse-mercator":return Dr(fv,Ai,Ai);default:throw new Error(`unknown projection type: ${t}`)}}function iq(t,e,n,r,o){if(t===!1||t==null||typeof t=="number")return i=>i;switch(t===!0&&(t="frame"),`${t}`.toLowerCase()){case"frame":return tf(e,n,r,o);default:throw new Error(`unknown projection clip type: ${t}`)}}function Dr(t,e,n){return{type:({width:r,height:o,rotate:i,precision:s=.15,clip:a})=>{let c=t();return s!=null&&c.precision?.(s),i!=null&&c.rotate?.(i),typeof a=="number"&&c.clipAngle?.(a),r!=null&&(c.scale(Math.min(r/e,o/n)),c.translate([r/2,o/2])),c},aspectRatio:n/e}}function Ox(t,e,n){let{type:r,aspectRatio:o}=Dr(t,e,n);return{type:i=>{let{parallels:s,domain:a,width:c,height:f}=i,u=r(i);return s!=null&&(u.parallels(s),a===void 0&&c!=null&&u.fitSize([c,f],{type:"Sphere"})),u},aspectRatio:o}}var w7=oe({stream:t=>t}),sq=oe(wa({point(t,e){this.stream.point(t,-e)}}));function d6(t,e,n,r){let o=n[t],i=n[e],s=o.length,a=n[t]=new Float64Array(s).fill(NaN),c=n[e]=new Float64Array(s).fill(NaN),f,u=r.stream({point(p,l){a[f]=p,c[f]=l}});for(f=0;f<s;++f)u.point(o[f],i[f])}function v7({projection:t}={}){return t==null?!1:typeof t.stream=="function"?!0:(Be(t)&&(t=t.type),t!=null)}function _7(t){if(typeof t?.stream=="function")return p6;if(Be(t)){let e,n;if({domain:e,type:t,...n}=t,e!=null&&t!=null){let r=typeof t=="string"?h6(t).type:t,[[o,i],[s,a]]=De(r({...n,width:100,height:100})).bounds(e),c=(a-i)/(s-o);return c&&isFinite(c)?c<.2?.2:c>5?5:c:p6}}if(t!=null){if(typeof t!="function"){let{aspectRatio:e}=h6(t);if(e)return e}return p6}}function Eo(t,e,{projection:n}){let{x:r,y:o}=t,i={};return r&&(i.x=r),o&&(i.y=o),i=Of(i,e),n&&r?.scale==="x"&&o?.scale==="y"&&d6("x","y",i,n),r&&(i.x=_e(i.x)),o&&(i.y=_e(i.y)),i}function M7(t){let e=[],n=[],r={scale:"x",value:e},o={scale:"y",value:n},i={point(s,a){e.push(s),n.push(a)},lineStart(){},lineEnd(){},polygonStart(){},polygonEnd(){},sphere(){}};for(let s of t.value)Gn(s,i);return[r,o]}function ws(t={}){let{document:e=typeof window<"u"?window.document:void 0,clip:n}=t;return{document:e,clip:mx(n)}}function rt(t,{document:e}){return Et(Ko(t).call(e.documentElement))}var $x=Symbol("unset");function vs(t){return(t.length===1?aq:cq)(t)}function aq(t){let e,n=$x;return r=>(Object.is(n,r)||(n=r,e=t(r)),e)}function cq(t){let e,n;return(...r)=>((n?.length!==r.length||n.some((o,i)=>!Object.is(o,r[i])))&&(n=r,e=t(...r)),e)}var fq=vs(t=>new Intl.NumberFormat(t)),uq=vs((t,e)=>new Intl.DateTimeFormat(t,{timeZone:"UTC",...e&&{month:e}})),lq=vs((t,e)=>new Intl.DateTimeFormat(t,{timeZone:"UTC",...e&&{weekday:e}}));function m6(t="en-US"){let e=fq(t);return n=>n!=null&&!isNaN(n)?e.format(n):void 0}function S7(t="en-US",e="short"){let n=uq(t,e);return r=>r!=null&&!isNaN(r=+new Date(Date.UTC(2e3,+r)))?n.format(r):void 0}function A7(t="en-US",e="short"){let n=lq(t,e);return r=>r!=null&&!isNaN(r=+new Date(Date.UTC(2001,0,+r)))?n.format(r):void 0}function g6(t){return ax(t,"Invalid Date")}function pq(t="en-US"){let e=m6(t);return n=>(n instanceof Date?g6:typeof n=="number"?e:he)(n)}var To=pq();var ie=(typeof window<"u"?window.devicePixelRatio>1:typeof it>"u")?0:.5,hq=0,dq=0;function y6(){return`plot-clip-${++hq}`}function E7(){return`plot-pattern-${++dq}`}function Dx(t,{title:e,href:n,ariaLabel:r,ariaDescription:o,ariaHidden:i,target:s,fill:a,fillOpacity:c,stroke:f,strokeWidth:u,strokeOpacity:p,strokeLinejoin:l,strokeLinecap:h,strokeMiterlimit:d,strokeDasharray:m,strokeDashoffset:g,opacity:y,mixBlendMode:x,imageFilter:b,paintOrder:w,pointerEvents:_,shapeRendering:v,channels:M},{ariaLabel:E,fill:T="currentColor",fillOpacity:I,stroke:A="none",strokeOpacity:k,strokeWidth:L,strokeLinecap:S,strokeLinejoin:C,strokeMiterlimit:N,paintOrder:R}){T===null&&(a=null,c=null),A===null&&(f=null,p=null),Ft(T)?!Ft(A)&&(!Ft(a)||M?.fill)&&(A="none"):Ft(A)&&(!Ft(f)||M?.stroke)&&(T="none");let[$,O]=ne(a,T),[D,F]=qt(c,I),[P,W]=ne(f,A),[K,tt]=qt(p,k),[nt,U]=qt(y);vi(W)||(u===void 0&&(u=L),h===void 0&&(h=S),l===void 0&&(l=C),d===void 0&&!eE(l)&&(d=N),!vi(O)&&w===void 0&&(w=R));let[et,z]=qt(u);return T!==null&&(t.fill=Vt(O,"currentColor"),t.fillOpacity=ah(F,1)),A!==null&&(t.stroke=Vt(W,"none"),t.strokeWidth=ah(z,1),t.strokeOpacity=ah(tt,1),t.strokeLinejoin=Vt(l,"miter"),t.strokeLinecap=Vt(h,"butt"),t.strokeMiterlimit=ah(d,4),t.strokeDasharray=Vt(m,"none"),t.strokeDashoffset=Vt(g,"0")),t.target=he(s),t.ariaLabel=he(E),t.ariaDescription=he(o),t.ariaHidden=he(i),t.opacity=ah(U,1),t.mixBlendMode=Vt(x,"normal"),t.imageFilter=Vt(b,"none"),t.paintOrder=Vt(w,"normal"),t.pointerEvents=Vt(_,"auto"),t.shapeRendering=Vt(v,"auto"),{title:{value:e,optional:!0,filter:null},href:{value:n,optional:!0,filter:null},ariaLabel:{value:r,optional:!0,filter:null},fill:{value:$,scale:"auto",optional:!0},fillOpacity:{value:D,scale:"auto",optional:!0},stroke:{value:P,scale:"auto",optional:!0},strokeOpacity:{value:K,scale:"auto",optional:!0},strokeWidth:{value:et,optional:!0},opacity:{value:nt,scale:"auto",optional:!0}}}function mq(t,e){e&&t.filter(n=>Xp(e[n])).append("title").call(yq,e)}function gq(t,e){e&&t.filter(([n])=>Xp(e[n])).append("title").call(xq,e)}function yq(t,e){e&&t.text(n=>To(e[n]))}function xq(t,e){e&&t.text(([n])=>To(e[n]))}function _t(t,{target:e,tip:n},{ariaLabel:r,title:o,fill:i,fillOpacity:s,stroke:a,strokeOpacity:c,strokeWidth:f,opacity:u,href:p}){r&&ot(t,"aria-label",l=>r[l]),i&&ot(t,"fill",l=>i[l]),s&&ot(t,"fill-opacity",l=>s[l]),a&&ot(t,"stroke",l=>a[l]),c&&ot(t,"stroke-opacity",l=>c[l]),f&&ot(t,"stroke-width",l=>f[l]),u&&ot(t,"opacity",l=>u[l]),p&&I7(t,l=>p[l],e),n||mq(t,o)}function Ba(t,{target:e,tip:n},{ariaLabel:r,title:o,fill:i,fillOpacity:s,stroke:a,strokeOpacity:c,strokeWidth:f,opacity:u,href:p}){r&&ot(t,"aria-label",([l])=>r[l]),i&&ot(t,"fill",([l])=>i[l]),s&&ot(t,"fill-opacity",([l])=>s[l]),a&&ot(t,"stroke",([l])=>a[l]),c&&ot(t,"stroke-opacity",([l])=>c[l]),f&&ot(t,"stroke-width",([l])=>f[l]),u&&ot(t,"opacity",([l])=>u[l]),p&&I7(t,([l])=>p[l],e),n||gq(t,o)}function bq({ariaLabel:t,title:e,fill:n,fillOpacity:r,stroke:o,strokeOpacity:i,strokeWidth:s,opacity:a,href:c},{tip:f}){return[t,f?void 0:e,n,r,o,i,s,a,c].filter(u=>u!==void 0)}function ch(t,e,n){let r=Ve(t,o=>e[o]);return n===void 0&&r.size>1+t.length>>1&&dn("Warning: the implicit z channel has high cardinality. This may occur when the fill or stroke channel is associated with quantitative data rather than ordinal or categorical data. You can suppress this warning by setting the z option explicitly; if this data represents a single series, set z to null."),r.values()}function*Fx(t,e,n,r){let{z:o}=n,{z:i}=r,s=bq(r,n),a=[...e,...s];for(let c of i?ch(t,i,o):[t]){let f,u;t:for(let p of c){for(let l of a)if(!Jt(l[p])){u&&u.push(-1);continue t}if(f===void 0){u&&(yield u),f=s.map(l=>br(l[p])),u=[p];continue}u.push(p);for(let l=0;l<s.length;++l)if(br(s[l][p])!==f[l]){yield u,f=s.map(d=>br(d[p])),u=[p];continue t}}u&&(yield u)}}function wq(t,e,n,r){let o,{clip:i=r.clip}=e;switch(i){case"frame":{t=rt("svg:g",r).each(function(){this.appendChild(t.node()),t.node=()=>this}),o=vq(r,n);break}case"sphere":{o=_q(r);break}}ot(t,"aria-label",e.ariaLabel),ot(t,"aria-description",e.ariaDescription),ot(t,"aria-hidden",e.ariaHidden),ot(t,"clip-path",o)}function T7(t){let e=new WeakMap;return(n,r)=>{let o=e.get(n);if(!o){let i=y6();Et(n.ownerSVGElement).append("clipPath").attr("id",i).call(t,n,r),e.set(n,o=`url(#${i})`)}return o}}var vq=T7((t,e,n)=>{let{width:r,height:o,marginLeft:i,marginRight:s,marginTop:a,marginBottom:c}=n;t.append("rect").attr("x",i).attr("y",a).attr("width",r-s-i).attr("height",o-a-c)}),_q=T7((t,e)=>{let{projection:n}=e;if(!n)throw new Error('the "sphere" clip option requires a projection');t.append("path").attr("d",De(n)({type:"Sphere"}))});function gt(t,e,n,r){wq(t,e,n,r),ot(t,"class",e.className),ot(t,"fill",e.fill),ot(t,"fill-opacity",e.fillOpacity),ot(t,"stroke",e.stroke),ot(t,"stroke-width",e.strokeWidth),ot(t,"stroke-opacity",e.strokeOpacity),ot(t,"stroke-linejoin",e.strokeLinejoin),ot(t,"stroke-linecap",e.strokeLinecap),ot(t,"stroke-miterlimit",e.strokeMiterlimit),ot(t,"stroke-dasharray",e.strokeDasharray),ot(t,"stroke-dashoffset",e.strokeDashoffset),ot(t,"shape-rendering",e.shapeRendering),ot(t,"filter",e.imageFilter),ot(t,"paint-order",e.paintOrder);let{pointerEvents:o=r.pointerSticky===!1?"none":void 0}=e;ot(t,"pointer-events",o)}function lt(t,e){Mq(t,"mix-blend-mode",e.mixBlendMode),ot(t,"opacity",e.opacity)}function I7(t,e,n){t.each(function(r){let o=e(r);if(o!=null){let i=this.ownerDocument.createElementNS(Mn.svg,"a");i.setAttribute("fill","inherit"),i.setAttributeNS(Mn.xlink,"href",o),n!=null&&i.setAttribute("target",n),this.parentNode.insertBefore(i,this).appendChild(this)}})}function ot(t,e,n){n!=null&&t.attr(e,n)}function Mq(t,e,n){n!=null&&t.style(e,n)}function ht(t,e,{x:n,y:r},o=ie,i=ie){o+=e.dx,i+=e.dy,n?.bandwidth&&(o+=n.bandwidth()/2),r?.bandwidth&&(i+=r.bandwidth()/2),(o||i)&&t.attr("transform",`translate(${o},${i})`)}function Vt(t,e){if((t=he(t))!==e)return t}function ah(t,e){if((t=Rt(t))!==e)return t}var Sq=/^-?([_a-z]|[\240-\377]|\\[0-9a-f]{1,6}(\r\n|[ \t\r\n\f])?|\\[^\r\n\f0-9a-f])([_a-z0-9-]|[\240-\377]|\\[0-9a-f]{1,6}(\r\n|[ \t\r\n\f])?|\\[^\r\n\f0-9a-f])*$/i;function _s(t){if(t===void 0)return"plot-d6a7b5";if(t=`${t}`,!Sq.test(t))throw new Error(`invalid class name: ${t}`);return t}function Bf(t,e){if(typeof e=="string")t.property("style",e);else if(e!=null)for(let n of t)Object.assign(n.style,e)}function Ue({frameAnchor:t},{width:e,height:n,marginTop:r,marginRight:o,marginBottom:i,marginLeft:s}){return[/left$/.test(t)?s:/right$/.test(t)?e-o:(s+e-o)/2,/^top/.test(t)?r:/^bottom/.test(t)?n-i:(r+n-i)/2]}var ft=class{constructor(e,n={},r={},o){let{facet:i="auto",facetAnchor:s,fx:a,fy:c,sort:f,dx:u=0,dy:p=0,margin:l=0,marginTop:h=l,marginRight:d=l,marginBottom:m=l,marginLeft:g=l,className:y,clip:x=o?.clip,channels:b,tip:w,render:_}=r;if(this.data=e,this.sort=wo(f)?f:null,this.initializer=Gt(r).initializer,this.transform=this.initializer?r.transform:Me(r).transform,i===null||i===!1?this.facet=null:(this.facet=Ce(i===!0?"include":i,"facet",["auto","include","exclude","super"]),this.fx=e===us&&typeof a=="string"?[a]:a,this.fy=e===us&&typeof c=="string"?[c]:c),this.facetAnchor=y7(s),n=Kp(n),b!==void 0&&(n={...Aq(b),...n}),o!==void 0&&(n={...Dx(this,r,o),...n}),this.channels=Object.fromEntries(Object.entries(n).map(([v,M])=>{if(Kn(M.value)){let{value:E,label:T=M.label,scale:I=M.scale}=M.value;M={...M,label:T,scale:I,value:E}}if(e===us&&typeof M.value=="string"){let{value:E}=M;M={...M,value:[E]}}return[v,M]}).filter(([v,{value:M,optional:E}])=>{if(M!=null)return!0;if(E)return!1;throw new Error(`missing channel value: ${v}`)})),this.dx=+u,this.dy=+p,this.marginTop=+h,this.marginRight=+d,this.marginBottom=+m,this.marginLeft=+g,this.clip=mx(x),this.tip=Eq(w),this.className=y?_s(y):null,this.facet==="super"){if(a||c)throw new Error("super-faceting cannot use fx or fy");for(let v in this.channels){let{scale:M}=n[v];if(!(M!=="x"&&M!=="y"))throw new Error("super-faceting cannot use x or y")}}_!=null&&(this.render=Ei(_,this.render))}initialize(e,n,r){let o=yi(this.data);e===void 0&&o!=null&&(e=[Rn(o)]);let i=e;this.transform!=null&&({facets:e,data:o}=this.transform(o,e,r),o=yi(o)),e!==void 0&&(e.original=i);let s=Mx(this.channels,o);return this.sort!=null&&vE(o,e,s,n,this.sort),{data:o,facets:e,channels:s}}filter(e,n,r){for(let o in n){let{filter:i=Jt}=n[o];if(i!==null){let s=r[o];e=e.filter(a=>i(s[a]))}}return e}project(e,n,r){for(let o in e)if(e[o].scale==="x"&&/^x|x$/.test(o)){let i=o.replace(/^x|x$/,"y");i in e&&e[i].scale==="y"&&d6(o,i,n,r.projection)}}scale(e,n,r){let o=Of(e,n);return r.projection&&this.project(e,o,r),o}};function Se(...t){return t.plot=ft.prototype.plot,t}function Ei(t,e){if(t==null)return e===null?void 0:e;if(e==null)return t===null?void 0:t;if(typeof t!="function")throw new TypeError(`invalid render transform: ${t}`);if(typeof e!="function")throw new TypeError(`invalid render transform: ${e}`);return function(n,r,o,i,s,a){return t.call(this,n,r,o,i,s,(c,f,u,p,l)=>e.call(this,c,f,u,p,l,a))}}function Aq(t){return Object.fromEntries(Object.entries(Kp(t)).map(([e,n])=>(n=typeof n=="string"?{value:n,label:e}:wr(n),n.filter===void 0&&n.scale==null&&(n={...n,filter:null}),[e,n])))}function Eq(t){return t===!0?"xy":t===!1||t==null?null:typeof t=="string"?Ce(t,"tip",["x","y","xy"]):t}function Fr(t,e){return t?.tip===!0?{...t,tip:e}:Be(t?.tip)&&t.tip.pointer===void 0?{...t,tip:{...t.tip,pointer:e}}:t}function N7(t,e,n={}){let r=.5-ie,o=.5+ie,i=.5+ie,s=.5-ie;for(let{marginTop:m,marginRight:g,marginBottom:y,marginLeft:x}of e)m>r&&(r=m),g>o&&(o=g),y>i&&(i=y),x>s&&(s=x);let{margin:a,marginTop:c=a!==void 0?a:r,marginRight:f=a!==void 0?a:o,marginBottom:u=a!==void 0?a:i,marginLeft:p=a!==void 0?a:s}=n;c=+c,f=+f,u=+u,p=+p;let{width:l=640,height:h=Tq(t,n,{width:l,marginTopDefault:r,marginRightDefault:o,marginBottomDefault:i,marginLeftDefault:s})+Math.max(0,c-r+u-i)}=n;l=+l,h=+h;let d={width:l,height:h,marginTop:c,marginRight:f,marginBottom:u,marginLeft:p};if(t.fx||t.fy){let{margin:m,marginTop:g=m!==void 0?m:c,marginRight:y=m!==void 0?m:f,marginBottom:x=m!==void 0?m:u,marginLeft:b=m!==void 0?m:p}=n.facet??{};g=+g,y=+y,x=+x,b=+b,d.facet={marginTop:g,marginRight:y,marginBottom:x,marginLeft:b}}return d}function Tq({x:t,y:e,fy:n,fx:r},{projection:o,aspectRatio:i},{width:s,marginTopDefault:a,marginRightDefault:c,marginBottomDefault:f,marginLeftDefault:u}){let p=n&&n.scale.domain().length||1,l=_7(o);if(l){let d=r?r.scale.domain().length:1,m=(1.1*p-.1)/(1.1*d-.1)*l,g=Math.max(.1,Math.min(10,m));return Math.round((s-u-c)*g+a+f)}let h=e?Ao(e)?e.scale.domain().length||1:Math.max(7,17/p):1;if(i!=null){if(i=+i,!(isFinite(i)&&i>0))throw new Error(`invalid aspectRatio: ${i}`);let d=C7("y",e)/(C7("x",t)*i),m=r?r.scale.bandwidth():1,g=n?n.scale.bandwidth():1,y=m*(s-u-c)-t.insetLeft-t.insetRight;return(d*y+e.insetTop+e.insetBottom)/g+a+f}return!!(e||n)*Math.max(1,Math.min(60,h*p))*20+!!r*30+60}function C7(t,e){if(!e)throw new Error(`aspectRatio requires ${t} scale`);let{type:n,domain:r}=e,o;switch(n){case"linear":case"utc":case"time":o=Number;break;case"pow":{let a=e.scale.exponent();o=c=>Math.pow(c,a);break}case"log":o=Math.log;break;case"point":case"band":return r.length;default:throw new Error(`unsupported ${t} scale for aspectRatio: ${n}`)}let[i,s]=Ot(r);return Math.abs(o(s)-o(i))}var k7=new WeakMap;function x6(t,e,{x:n,y:r,px:o,py:i,maxRadius:s=40,channels:a,render:c,...f}={}){return s=+s,o!=null&&(n??=null,a={...a,px:{value:o,scale:"x"}}),i!=null&&(r??=null,a={...a,py:{value:i,scale:"y"}}),{x:n,y:r,channels:a,...f,render:Ei(function(u,p,l,h,d,m){d={...d,pointerSticky:!1};let g=d.ownerSVGElement,{data:y}=d.getMarkState(this),x=k7.get(g);x||k7.set(g,x={sticky:!1,roots:[],renders:[]});let b=x.renders.push(W)-1,{x:w,y:_,fx:v,fy:M}=p,E=v?v(u.fx)-h.marginLeft:0,T=M?M(u.fy)-h.marginTop:0;w?.bandwidth&&(E+=w.bandwidth()/2),_?.bandwidth&&(T+=_.bandwidth()/2);let I=u.fi!=null,A;if(I){let U=x.facetStates;U||(x.facetStates=U=new Map),A=U.get(this),A||U.set(this,A=new Map)}let[k,L]=Ue(this,h),{px:S,py:C}=l,N=S?U=>S[U]:b6(l,k),R=C?U=>C[U]:w6(l,L),$,O,D,F;function P(U,et){if(I)if(F&&(F=cancelAnimationFrame(F)),U==null)A.delete(u.fi);else{A.set(u.fi,et),F=requestAnimationFrame(()=>{F=null;for(let[z,G]of A)if(G<et||G===et&&z<u.fi){U=null;break}W(U)});return}W(U)}function W(U){if($===U&&D===x.sticky)return;$=U,D=d.pointerSticky=x.sticky;let et=$==null?[]:[$];I&&(et.fx=u.fx,et.fy=u.fy,et.fi=u.fi);let z=m(et,p,l,h,d);if(O){if(I){let G=O.parentNode,J=O.getAttribute("transform"),q=z.getAttribute("transform");J?z.setAttribute("transform",J):z.removeAttribute("transform"),q?G.setAttribute("transform",q):G.removeAttribute("transform"),z.removeAttribute("aria-label"),z.removeAttribute("aria-description"),z.removeAttribute("aria-hidden")}O.replaceWith(z)}if(x.roots[b]=O=z,!($==null&&A?.size>1)){let G=$==null?null:qn(y)?y[$]:y.get($);d.dispatchValue(G)}return z}function K(U){if(x.sticky||U.pointerType==="mouse"&&U.buttons===1)return;let[et,z]=sn(U);et-=E,z-=T;let G=et<h.marginLeft||et>h.width-h.marginRight?1:t,J=z<h.marginTop||z>h.height-h.marginBottom?1:e,q=null,bt=s*s;for(let st of u){let Tt=G*(N(st)-et),Ct=J*(R(st)-z),Q=Tt*Tt+Ct*Ct;Q<=bt&&(q=st,bt=Q)}if(q!=null&&(t!==1||e!==1)){let st=N(q)-et,Tt=R(q)-z;bt=st*st+Tt*Tt}P(q,bt)}function tt(U){U.pointerType==="mouse"&&$!=null&&(x.sticky&&x.roots.some(et=>et?.contains(U.target))||(x.sticky?(x.sticky=!1,x.renders.forEach(et=>et(null))):(x.sticky=!0,W($)),U.stopImmediatePropagation()))}function nt(U){U.pointerType==="mouse"&&(x.sticky||P(null))}return g.addEventListener("pointerenter",K),g.addEventListener("pointermove",K),g.addEventListener("pointerdown",tt),g.addEventListener("pointerleave",nt),W(null)},c)}}function Ms(t){return x6(1,1,t)}function Ss(t){return x6(1,.01,t)}function Ti(t){return x6(.01,1,t)}function b6({x1:t,x2:e,x:n=t},r){return t&&e?o=>(t[o]+e[o])/2:n?o=>n[o]:()=>r}function w6({y1:t,y2:e,y:n=t},r){return t&&e?o=>(t[o]+e[o])/2:n?o=>n[o]:()=>r}function Px(t){return Ao(t)&&t.interval===void 0?void 0:"tabular-nums"}function R7(t,e){let{label:n=t.label,tickSize:r=6,width:o=240,height:i=44+r,marginTop:s=18,marginRight:a=0,marginBottom:c=16+r,marginLeft:f=0,style:u,ticks:p=(o-f-a)/64,tickFormat:l,fontVariant:h=Px(t),round:d=!0,opacity:m,className:g}=e,y=ws(e);g=_s(g),m=qt(m)[1],l===null&&(l=()=>null);let x=rt("svg",y).attr("class",`${g}-ramp`).attr("font-family","system-ui, sans-serif").attr("font-size",10).attr("width",o).attr("height",i).attr("viewBox",`0 0 ${o} ${i}`).call(k=>k.append("style").text(`:where(.${g}-ramp) {
|
|
8
8
|
display: block;
|
|
9
9
|
height: auto;
|
|
10
10
|
height: intrinsic;
|
|
@@ -13,9 +13,9 @@ ${n}`}function sP(t){return t==="time"?ax:t==="utc"?Wp:oP}function YA(t,e,n){let
|
|
|
13
13
|
}
|
|
14
14
|
:where(.${g}-ramp text) {
|
|
15
15
|
white-space: pre;
|
|
16
|
-
}`)).call(Pf,u),b=k=>k.selectAll(".tick line").attr("y1",s+c-i),w,_=d?(k,L)=>k.rangeRound(L):(k,L)=>k.range(L),{type:v,domain:M,range:E,interpolate:T,scale:I,pivot:A}=t;if(T){let k=E===void 0?T:no(T.length===1?oh(T):T,E);w=_(I.copy(),sn(Qt(f,o-a),Math.min(M.length+(A!==void 0),E===void 0?1/0:E.length)));let L=256,S=y.document.createElement("canvas");S.width=L,S.height=1;let C=S.getContext("2d");for(let N=0,R=L-1;N<L;++N)C.fillStyle=k(N/R),C.fillRect(N,0,1,1);x.append("image").attr("opacity",m).attr("x",f).attr("y",s).attr("width",o-f-a).attr("height",i-s-c).attr("preserveAspectRatio","none").attr("xlink:href",S.toDataURL())}else if(v==="threshold"){let k=M,L=l===void 0?S=>S:typeof l=="string"?hr(l):l;w=_(si().domain([-1,E.length-1]),[f,o-a]),x.append("g").attr("fill-opacity",m).selectAll().data(E).enter().append("rect").attr("x",(S,C)=>w(C-1)).attr("y",s).attr("width",(S,C)=>w(C)-w(C-1)).attr("height",i-s-c).attr("fill",S=>S),p=St(k,(S,C)=>C),l=S=>L(k[S],S)}else w=_(ns().domain(M),[f,o-a]),x.append("g").attr("fill-opacity",m).selectAll().data(M).enter().append("rect").attr("x",w).attr("y",s).attr("width",Math.max(0,w.bandwidth()-1)).attr("height",i-s-c).attr("fill",I),b=()=>{};return x.append("g").attr("transform",`translate(0,${i-c})`).call(S2(w).ticks(Array.isArray(p)?null:p,typeof l=="string"?l:void 0).tickFormat(typeof l=="function"?l:void 0).tickSize(r).tickValues(Array.isArray(p)?p:null)).attr("font-size",null).attr("font-family",null).attr("font-variant",Vt(h,"normal")).call(b).call(k=>k.select(".domain").remove()),n!==void 0&&x.append("text").attr("x",f).attr("y",s-6).attr("fill","currentColor").attr("font-weight","bold").text(n),x.node()}var qf=Math.PI/180;function Pr(t,{marker:e,markerStart:n=e,markerMid:r=e,markerEnd:o=e}={}){t.markerStart=w6(n),t.markerMid=w6(r),t.markerEnd=w6(o)}function w6(t){if(t==null||t===!1)return null;if(t===!0)return O7;if(typeof t=="function")return t;switch(`${t}`.toLowerCase()){case"none":return null;case"arrow":return L7("auto");case"arrow-reverse":return L7("auto-start-reverse");case"dot":return Eq;case"circle":case"circle-fill":return O7;case"circle-stroke":return Tq;case"tick":return v6("auto");case"tick-x":return v6(90);case"tick-y":return v6(0)}throw new Error(`invalid marker: ${t}`)}function L7(t){return(e,n)=>rt("svg:marker",n).attr("viewBox","-5 -5 10 10").attr("markerWidth",6.67).attr("markerHeight",6.67).attr("orient",t).attr("fill","none").attr("stroke",e).attr("stroke-width",1.5).attr("stroke-linecap","round").attr("stroke-linejoin","round").call(r=>r.append("path").attr("d","M-1.5,-3l3,3l-3,3")).node()}function Eq(t,e){return rt("svg:marker",e).attr("viewBox","-5 -5 10 10").attr("markerWidth",6.67).attr("markerHeight",6.67).attr("fill",t).attr("stroke","none").call(n=>n.append("circle").attr("r",2.5)).node()}function O7(t,e){return rt("svg:marker",e).attr("viewBox","-5 -5 10 10").attr("markerWidth",6.67).attr("markerHeight",6.67).attr("fill",t).attr("stroke","var(--plot-background)").attr("stroke-width",1.5).call(n=>n.append("circle").attr("r",3)).node()}function Tq(t,e){return rt("svg:marker",e).attr("viewBox","-5 -5 10 10").attr("markerWidth",6.67).attr("markerHeight",6.67).attr("fill","var(--plot-background)").attr("stroke",t).attr("stroke-width",1.5).call(n=>n.append("circle").attr("r",3)).node()}function v6(t){return(e,n)=>rt("svg:marker",n).attr("viewBox","-3 -3 6 6").attr("markerWidth",6).attr("markerHeight",6).attr("orient",t).attr("stroke",e).call(r=>r.append("path").attr("d","M0,-3v6")).node()}var Iq=0;function Ii(t,e,{stroke:n},r){return F7(t,e,n&&(o=>n[o]),null,r)}function $7(t,e,{stroke:n,z:r},o){return F7(t,e,n&&(([i])=>n[i]),r,o)}var _6=1,D7=2;function Cq(t,e){let n=new Uint8Array(e.length),r=t.data().filter(i=>i.length>1),o=r.length;for(let i=0,s=Ox;i<o;++i){let a=r[i];if(a.length>1){let c=a[0];s!==(s=br(e[c]))&&(n[c]|=_6)}}for(let i=o-1,s=Ox;i>=0;--i){let a=r[i];if(a.length>1){let c=a[0];s!==(s=br(e[c]))&&(n[c]|=D7)}}return([i])=>n[i]}function F7(t,{markerStart:e,markerMid:n,markerEnd:r,stroke:o},i=()=>o,s,a){if(!e&&!n&&!r)return;let c=new Map,f=s&&Cq(t,s);function u(p,l,h){return function(d){if(h&&!h(d))return;let m=i(d),g=c.get(l);g||c.set(l,g=new Map);let y=g.get(m);if(!y){let x=this.parentNode.insertBefore(l(m,a),this),b=`plot-marker-${++Iq}`;x.setAttribute("id",b),g.set(m,y=`url(#${b})`)}this.setAttribute(p,y)}}e&&t.each(u("marker-start",e,f&&(p=>f(p)&_6))),n&&f&&t.each(u("marker-start",n,p=>!(f(p)&_6))),n&&t.each(u("marker-mid",n)),r&&t.each(u("marker-end",r,f&&(p=>f(p)&D7)))}function Ba({inset:t,insetLeft:e,insetRight:n,...r}={}){return[e,n]=P7(t,e,n),{inset:t,insetLeft:e,insetRight:n,...r}}function za({inset:t,insetTop:e,insetBottom:n,...r}={}){return[e,n]=P7(t,e,n),{inset:t,insetTop:e,insetBottom:n,...r}}function P7(t,e,n){return t===void 0&&e===void 0&&n===void 0?ie?[1,0]:[.5,.5]:[e,n]}function q7(t,{interval:e}){return t={...wr(t)},t.interval=Tf(t.interval===void 0?e:t.interval),t}function Px(t,e,n,r){let{[t]:o,[`${t}1`]:i,[`${t}2`]:s}=n,{value:a,interval:c}=q7(o,n);if(a==null||c==null&&!r)return n;let f=Je(o);if(c==null){let h,d={transform:m=>h||(h=ct(m,a)),label:f};return{...n,[t]:void 0,[`${t}1`]:i===void 0?d:i,[`${t}2`]:s===void 0&&!(i===s&&r)?d:s}}let u,p;function l(h){return p!==void 0&&h===u?p:p=St(ct(u=h,a),d=>c.floor(d))}return e({...n,[t]:void 0,[`${t}1`]:i===void 0?{transform:l,label:f}:i,[`${t}2`]:s===void 0?{transform:h=>l(h).map(d=>c.offset(d)),label:f}:s})}function B7(t,e,n){let{[t]:r}=n,{value:o,interval:i}=q7(r,n);return o==null||i==null?n:e({...n,[t]:{label:Je(r),transform:s=>{let a=St(ct(s,o),f=>i.floor(f)),c=a.map(f=>i.offset(f));return a.map(re(a)?(f,u)=>f==null||isNaN(f=+f)||(u=c[u],u==null)||isNaN(u=+u)?void 0:new Date((f+u)/2):(f,u)=>f==null||(u=c[u],u==null)?NaN:(+f+ +u)/2)}}})}function M6(t={}){return Px("x",Ba,t,!0)}function S6(t={}){return Px("y",za,t,!0)}function Bf(t={}){return Px("x",Ba,t)}function zf(t={}){return Px("y",za,t)}function qx(t={}){return B7("x",Ba,t)}function Bx(t={}){return B7("y",za,t)}var z7={ariaLabel:"rule",fill:null,stroke:"currentColor"},ch=class extends ft{constructor(e,n={}){let{x:r,y1:o,y2:i,inset:s=0,insetTop:a=s,insetBottom:c=s}=n;super(e,{x:{value:r,scale:"x",optional:!0},y1:{value:o,scale:"y",optional:!0},y2:{value:i,scale:"y",optional:!0}},Fr(n,"x"),z7),this.insetTop=Rt(a),this.insetBottom=Rt(c),Pr(this,n)}render(e,n,r,o,i){let{x:s,y:a}=n,{x:c,y1:f,y2:u}=r,{width:p,height:l,marginTop:h,marginRight:d,marginLeft:m,marginBottom:g}=o,{insetTop:y,insetBottom:x}=this;return rt("svg:g",i).call(gt,this,o,i).call(ht,this,{x:c&&s},ie,0).call(b=>b.selectAll().data(e).enter().append("line").call(lt,this).attr("x1",c?w=>c[w]:(m+p-d)/2).attr("x2",c?w=>c[w]:(m+p-d)/2).attr("y1",f&&!tr(a)?w=>f[w]+y:h+y).attr("y2",u&&!tr(a)?a.bandwidth?w=>u[w]+a.bandwidth()-x:w=>u[w]-x:l-g-x).call(_t,this,r).call(Ii,this,r,i)).node()}},fh=class extends ft{constructor(e,n={}){let{x1:r,x2:o,y:i,inset:s=0,insetRight:a=s,insetLeft:c=s}=n;super(e,{y:{value:i,scale:"y",optional:!0},x1:{value:r,scale:"x",optional:!0},x2:{value:o,scale:"x",optional:!0}},Fr(n,"y"),z7),this.insetRight=Rt(a),this.insetLeft=Rt(c),Pr(this,n)}render(e,n,r,o,i){let{x:s,y:a}=n,{y:c,x1:f,x2:u}=r,{width:p,height:l,marginTop:h,marginRight:d,marginLeft:m,marginBottom:g}=o,{insetLeft:y,insetRight:x}=this;return rt("svg:g",i).call(gt,this,o,i).call(ht,this,{y:c&&a},0,ie).call(b=>b.selectAll().data(e).enter().append("line").call(lt,this).attr("x1",f&&!tr(s)?w=>f[w]+y:m+y).attr("x2",u&&!tr(s)?s.bandwidth?w=>u[w]+s.bandwidth()-x:w=>u[w]-x:p-d-x).attr("y1",c?w=>c[w]:(h+l-g)/2).attr("y2",c?w=>c[w]:(h+l-g)/2).call(_t,this,r).call(Ii,this,r,i)).node()}};function er(t,e){let{x:n=X,y:r,y1:o,y2:i,...s}=zf(e);return[o,i]=Y7(r,o,i),new ch(t,{...s,x:n,y1:o,y2:i})}function nr(t,e){let{y:n=X,x:r,x1:o,x2:i,...s}=Bf(e);return[o,i]=Y7(r,o,i),new fh(t,{...s,y:n,x1:o,x2:i})}function Y7(t,e,n){if(t==null){if(e===void 0){if(n!==void 0)return[0,n]}else if(n===void 0)return[0,e]}else{if(e===void 0)return n===void 0?[0,t]:[t,n];if(n===void 0)return[t,e]}return[e,n]}function qr(t,...e){let n=e.length;for(let r=0,o=!0;r<n;++r)typeof e[r]!="function"&&(o&&(t=t.slice(),o=!1),t.splice(r,2,t[r]+e[r]+t[r+1]),e.splice(r,1),--r,--n);return r=>{let o=t[0];for(let i=0;i<n;++i)o+=e[i](r)+t[i+1];return o}}var Nq={ariaLabel:"text",strokeLinejoin:"round",strokeWidth:3,paintOrder:"stroke"},G7="\xAD",Ua=class extends ft{constructor(e,n={}){let{x:r,y:o,text:i=Ln(e)&&lx(e)?X:Xt,frameAnchor:s,textAnchor:a=/right$/i.test(s)?"end":/left$/i.test(s)?"start":"middle",lineAnchor:c=/^top/i.test(s)?"top":/^bottom/i.test(s)?"bottom":"middle",lineHeight:f=1,lineWidth:u=1/0,textOverflow:p,monospace:l,fontFamily:h=l?"ui-monospace, monospace":void 0,fontSize:d,fontStyle:m,fontVariant:g,fontWeight:y,rotate:x}=n,[b,w]=Pt(x,0),[_,v]=Oq(d);if(super(e,{x:{value:r,scale:"x",optional:!0},y:{value:o,scale:"y",optional:!0},fontSize:{value:_,optional:!0},rotate:{value:QA(b),optional:!0},text:{value:i,filter:jp,optional:!0}},n,Nq),this.rotate=w,this.textAnchor=Vt(a,"middle"),this.lineAnchor=Ce(c,"lineAnchor",["top","middle","bottom"]),this.lineHeight=+f,this.lineWidth=+u,this.textOverflow=E6(p),this.monospace=!!l,this.fontFamily=he(h),this.fontSize=v,this.fontStyle=he(m),this.fontVariant=he(g),this.fontWeight=he(y),this.frameAnchor=_o(s),!(this.lineWidth>=0))throw new Error(`invalid lineWidth: ${u}`);this.splitLines=I6(this),this.clipLine=C6(this)}render(e,n,r,o,i){let{x:s,y:a}=n,{x:c,y:f,rotate:u,text:p,title:l,fontSize:h}=r,{rotate:d}=this,[m,g]=Ue(this,o);return rt("svg:g",i).call(gt,this,o,i).call(T6,this,p,o).call(ht,this,{x:c&&s,y:f&&a}).call(y=>y.selectAll().data(e).enter().append("text").call(lt,this).call(kq,this,p,l).attr("transform",qr`translate(${c?x=>c[x]:m},${f?x=>f[x]:g})${u?x=>` rotate(${u[x]})`:d?` rotate(${d})`:""}`).call(ot,"font-size",h&&(x=>h[x])).call(_t,this,r)).node()}};function E6(t){return t==null?null:Ce(t,"textOverflow",["clip","ellipsis","clip-start","clip-end","ellipsis-start","ellipsis-middle","ellipsis-end"]).replace(/^(clip|ellipsis)$/,"$1-end")}function kq(t,e,n,r){if(!n)return;let{lineAnchor:o,lineHeight:i,textOverflow:s,splitLines:a,clipLine:c}=e;t.each(function(f){let u=a(To(n[f])??"").map(c),p=u.length,l=o==="top"?.71:o==="bottom"?1-p:(164-p*100)/200;if(p>1){let h=0;for(let d=0;d<p;++d){if(++h,!u[d])continue;let m=this.ownerDocument.createElementNS(Mn.svg,"tspan");m.setAttribute("x",0),d===h-1?m.setAttribute("y",`${(l+d)*i}em`):m.setAttribute("dy",`${h*i}em`),m.textContent=u[d],this.appendChild(m),h=0}}else l&&this.setAttribute("y",`${l*i}em`),this.textContent=u[0];if(s&&!r&&u[0]!==n[f]){let h=this.ownerDocument.createElementNS(Mn.svg,"title");h.textContent=n[f],this.appendChild(h)}})}function Io(t,{x:e,y:n,...r}={}){return r.frameAnchor===void 0&&([e,n]=fe(e,n)),new Ua(t,{...r,x:e,y:n})}function zx(t,{x:e=X,...n}={}){return new Ua(t,Bx({...n,x:e}))}function Yx(t,{y:e=X,...n}={}){return new Ua(t,qx({...n,y:e}))}function T6(t,e,n){ot(t,"text-anchor",e.textAnchor),ot(t,"font-family",e.fontFamily),ot(t,"font-size",e.fontSize),ot(t,"font-style",e.fontStyle),ot(t,"font-variant",e.fontVariant===void 0?Rq(n):e.fontVariant),ot(t,"font-weight",e.fontWeight)}function Rq(t){return t&&(wi(t)||re(t))?"tabular-nums":void 0}var Lq=new Set(["inherit","initial","revert","unset","xx-small","x-small","small","medium","large","x-large","xx-large","xxx-large","larger","smaller"]);function Oq(t){return t==null||typeof t=="number"?[void 0,t]:typeof t!="string"?[t,void 0]:(t=t.trim().toLowerCase(),Lq.has(t)||/^[+-]?\d*\.?\d+(e[+-]?\d+)?(\w*|%)$/.test(t)?[void 0,t]:[t,void 0])}function $q(t,e,n){let r=[],o,i=0;for(let[s,a,c]of Dq(t)){if(o===void 0&&(o=s),i>o&&n(t,o,a)>e&&(r.push(t.slice(o,i)+(t[i-1]===G7?"-":"")),o=s),c){r.push(t.slice(o,a)),o=void 0;continue}i=a}return r}function*Dq(t){let e=0,n=0,r=t.length;for(;n<r;){let o=1;switch(t[n]){case G7:case"-":++n,yield[e,n,!1],e=n;break;case" ":for(yield[e,n,!1];t[++n]===" ";);e=n;break;case"\r":t[n+1]===`
|
|
16
|
+
}`)).call(Bf,u),b=k=>k.selectAll(".tick line").attr("y1",s+c-i),w,_=d?(k,L)=>k.rangeRound(L):(k,L)=>k.range(L),{type:v,domain:M,range:E,interpolate:T,scale:I,pivot:A}=t;if(T){let k=E===void 0?T:no(T.length===1?ih(T):T,E);w=_(I.copy(),an(Qt(f,o-a),Math.min(M.length+(A!==void 0),E===void 0?1/0:E.length)));let L=256,S=y.document.createElement("canvas");S.width=L,S.height=1;let C=S.getContext("2d");for(let N=0,R=L-1;N<L;++N)C.fillStyle=k(N/R),C.fillRect(N,0,1,1);x.append("image").attr("opacity",m).attr("x",f).attr("y",s).attr("width",o-f-a).attr("height",i-s-c).attr("preserveAspectRatio","none").attr("xlink:href",S.toDataURL())}else if(v==="threshold"){let k=M,L=l===void 0?S=>S:typeof l=="string"?hr(l):l;w=_(si().domain([-1,E.length-1]),[f,o-a]),x.append("g").attr("fill-opacity",m).selectAll().data(E).enter().append("rect").attr("x",(S,C)=>w(C-1)).attr("y",s).attr("width",(S,C)=>w(C)-w(C-1)).attr("height",i-s-c).attr("fill",S=>S),p=St(k,(S,C)=>C),l=S=>L(k[S],S)}else w=_(rs().domain(M),[f,o-a]),x.append("g").attr("fill-opacity",m).selectAll().data(M).enter().append("rect").attr("x",w).attr("y",s).attr("width",Math.max(0,w.bandwidth()-1)).attr("height",i-s-c).attr("fill",I),b=()=>{};return x.append("g").attr("transform",`translate(0,${i-c})`).call(A2(w).ticks(Array.isArray(p)?null:p,typeof l=="string"?l:void 0).tickFormat(typeof l=="function"?l:void 0).tickSize(r).tickValues(Array.isArray(p)?p:null)).attr("font-size",null).attr("font-family",null).attr("font-variant",Vt(h,"normal")).call(b).call(k=>k.select(".domain").remove()),n!==void 0&&x.append("text").attr("x",f).attr("y",s-6).attr("fill","currentColor").attr("font-weight","bold").text(n),x.node()}var zf=Math.PI/180;function Pr(t,{marker:e,markerStart:n=e,markerMid:r=e,markerEnd:o=e}={}){t.markerStart=v6(n),t.markerMid=v6(r),t.markerEnd=v6(o)}function v6(t){if(t==null||t===!1)return null;if(t===!0)return O7;if(typeof t=="function")return t;switch(`${t}`.toLowerCase()){case"none":return null;case"arrow":return L7("auto");case"arrow-reverse":return L7("auto-start-reverse");case"dot":return Iq;case"circle":case"circle-fill":return O7;case"circle-stroke":return Cq;case"tick":return _6("auto");case"tick-x":return _6(90);case"tick-y":return _6(0)}throw new Error(`invalid marker: ${t}`)}function L7(t){return(e,n)=>rt("svg:marker",n).attr("viewBox","-5 -5 10 10").attr("markerWidth",6.67).attr("markerHeight",6.67).attr("orient",t).attr("fill","none").attr("stroke",e).attr("stroke-width",1.5).attr("stroke-linecap","round").attr("stroke-linejoin","round").call(r=>r.append("path").attr("d","M-1.5,-3l3,3l-3,3")).node()}function Iq(t,e){return rt("svg:marker",e).attr("viewBox","-5 -5 10 10").attr("markerWidth",6.67).attr("markerHeight",6.67).attr("fill",t).attr("stroke","none").call(n=>n.append("circle").attr("r",2.5)).node()}function O7(t,e){return rt("svg:marker",e).attr("viewBox","-5 -5 10 10").attr("markerWidth",6.67).attr("markerHeight",6.67).attr("fill",t).attr("stroke","var(--plot-background)").attr("stroke-width",1.5).call(n=>n.append("circle").attr("r",3)).node()}function Cq(t,e){return rt("svg:marker",e).attr("viewBox","-5 -5 10 10").attr("markerWidth",6.67).attr("markerHeight",6.67).attr("fill","var(--plot-background)").attr("stroke",t).attr("stroke-width",1.5).call(n=>n.append("circle").attr("r",3)).node()}function _6(t){return(e,n)=>rt("svg:marker",n).attr("viewBox","-3 -3 6 6").attr("markerWidth",6).attr("markerHeight",6).attr("orient",t).attr("stroke",e).call(r=>r.append("path").attr("d","M0,-3v6")).node()}var Nq=0;function Ii(t,e,{stroke:n},r){return F7(t,e,n&&(o=>n[o]),null,r)}function $7(t,e,{stroke:n,z:r},o){return F7(t,e,n&&(([i])=>n[i]),r,o)}var M6=1,D7=2;function kq(t,e){let n=new Uint8Array(e.length),r=t.data().filter(i=>i.length>1),o=r.length;for(let i=0,s=$x;i<o;++i){let a=r[i];if(a.length>1){let c=a[0];s!==(s=br(e[c]))&&(n[c]|=M6)}}for(let i=o-1,s=$x;i>=0;--i){let a=r[i];if(a.length>1){let c=a[0];s!==(s=br(e[c]))&&(n[c]|=D7)}}return([i])=>n[i]}function F7(t,{markerStart:e,markerMid:n,markerEnd:r,stroke:o},i=()=>o,s,a){if(!e&&!n&&!r)return;let c=new Map,f=s&&kq(t,s);function u(p,l,h){return function(d){if(h&&!h(d))return;let m=i(d),g=c.get(l);g||c.set(l,g=new Map);let y=g.get(m);if(!y){let x=this.parentNode.insertBefore(l(m,a),this),b=`plot-marker-${++Nq}`;x.setAttribute("id",b),g.set(m,y=`url(#${b})`)}this.setAttribute(p,y)}}e&&t.each(u("marker-start",e,f&&(p=>f(p)&M6))),n&&f&&t.each(u("marker-start",n,p=>!(f(p)&M6))),n&&t.each(u("marker-mid",n)),r&&t.each(u("marker-end",r,f&&(p=>f(p)&D7)))}function za({inset:t,insetLeft:e,insetRight:n,...r}={}){return[e,n]=P7(t,e,n),{inset:t,insetLeft:e,insetRight:n,...r}}function Ya({inset:t,insetTop:e,insetBottom:n,...r}={}){return[e,n]=P7(t,e,n),{inset:t,insetTop:e,insetBottom:n,...r}}function P7(t,e,n){return t===void 0&&e===void 0&&n===void 0?ie?[1,0]:[.5,.5]:[e,n]}function q7(t,{interval:e}){return t={...wr(t)},t.interval=Cf(t.interval===void 0?e:t.interval),t}function qx(t,e,n,r){let{[t]:o,[`${t}1`]:i,[`${t}2`]:s}=n,{value:a,interval:c}=q7(o,n);if(a==null||c==null&&!r)return n;let f=Je(o);if(c==null){let h,d={transform:m=>h||(h=ct(m,a)),label:f};return{...n,[t]:void 0,[`${t}1`]:i===void 0?d:i,[`${t}2`]:s===void 0&&!(i===s&&r)?d:s}}let u,p;function l(h){return p!==void 0&&h===u?p:p=St(ct(u=h,a),d=>c.floor(d))}return e({...n,[t]:void 0,[`${t}1`]:i===void 0?{transform:l,label:f}:i,[`${t}2`]:s===void 0?{transform:h=>l(h).map(d=>c.offset(d)),label:f}:s})}function B7(t,e,n){let{[t]:r}=n,{value:o,interval:i}=q7(r,n);return o==null||i==null?n:e({...n,[t]:{label:Je(r),transform:s=>{let a=St(ct(s,o),f=>i.floor(f)),c=a.map(f=>i.offset(f));return a.map(re(a)?(f,u)=>f==null||isNaN(f=+f)||(u=c[u],u==null)||isNaN(u=+u)?void 0:new Date((f+u)/2):(f,u)=>f==null||(u=c[u],u==null)?NaN:(+f+ +u)/2)}}})}function S6(t={}){return qx("x",za,t,!0)}function A6(t={}){return qx("y",Ya,t,!0)}function Yf(t={}){return qx("x",za,t)}function Uf(t={}){return qx("y",Ya,t)}function Bx(t={}){return B7("x",za,t)}function zx(t={}){return B7("y",Ya,t)}var z7={ariaLabel:"rule",fill:null,stroke:"currentColor"},fh=class extends ft{constructor(e,n={}){let{x:r,y1:o,y2:i,inset:s=0,insetTop:a=s,insetBottom:c=s}=n;super(e,{x:{value:r,scale:"x",optional:!0},y1:{value:o,scale:"y",optional:!0},y2:{value:i,scale:"y",optional:!0}},Fr(n,"x"),z7),this.insetTop=Rt(a),this.insetBottom=Rt(c),Pr(this,n)}render(e,n,r,o,i){let{x:s,y:a}=n,{x:c,y1:f,y2:u}=r,{width:p,height:l,marginTop:h,marginRight:d,marginLeft:m,marginBottom:g}=o,{insetTop:y,insetBottom:x}=this;return rt("svg:g",i).call(gt,this,o,i).call(ht,this,{x:c&&s},ie,0).call(b=>b.selectAll().data(e).enter().append("line").call(lt,this).attr("x1",c?w=>c[w]:(m+p-d)/2).attr("x2",c?w=>c[w]:(m+p-d)/2).attr("y1",f&&!tr(a)?w=>f[w]+y:h+y).attr("y2",u&&!tr(a)?a.bandwidth?w=>u[w]+a.bandwidth()-x:w=>u[w]-x:l-g-x).call(_t,this,r).call(Ii,this,r,i)).node()}},uh=class extends ft{constructor(e,n={}){let{x1:r,x2:o,y:i,inset:s=0,insetRight:a=s,insetLeft:c=s}=n;super(e,{y:{value:i,scale:"y",optional:!0},x1:{value:r,scale:"x",optional:!0},x2:{value:o,scale:"x",optional:!0}},Fr(n,"y"),z7),this.insetRight=Rt(a),this.insetLeft=Rt(c),Pr(this,n)}render(e,n,r,o,i){let{x:s,y:a}=n,{y:c,x1:f,x2:u}=r,{width:p,height:l,marginTop:h,marginRight:d,marginLeft:m,marginBottom:g}=o,{insetLeft:y,insetRight:x}=this;return rt("svg:g",i).call(gt,this,o,i).call(ht,this,{y:c&&a},0,ie).call(b=>b.selectAll().data(e).enter().append("line").call(lt,this).attr("x1",f&&!tr(s)?w=>f[w]+y:m+y).attr("x2",u&&!tr(s)?s.bandwidth?w=>u[w]+s.bandwidth()-x:w=>u[w]-x:p-d-x).attr("y1",c?w=>c[w]:(h+l-g)/2).attr("y2",c?w=>c[w]:(h+l-g)/2).call(_t,this,r).call(Ii,this,r,i)).node()}};function er(t,e){let{x:n=X,y:r,y1:o,y2:i,...s}=Uf(e);return[o,i]=Y7(r,o,i),new fh(t,{...s,x:n,y1:o,y2:i})}function nr(t,e){let{y:n=X,x:r,x1:o,x2:i,...s}=Yf(e);return[o,i]=Y7(r,o,i),new uh(t,{...s,y:n,x1:o,x2:i})}function Y7(t,e,n){if(t==null){if(e===void 0){if(n!==void 0)return[0,n]}else if(n===void 0)return[0,e]}else{if(e===void 0)return n===void 0?[0,t]:[t,n];if(n===void 0)return[t,e]}return[e,n]}function qr(t,...e){let n=e.length;for(let r=0,o=!0;r<n;++r)typeof e[r]!="function"&&(o&&(t=t.slice(),o=!1),t.splice(r,2,t[r]+e[r]+t[r+1]),e.splice(r,1),--r,--n);return r=>{let o=t[0];for(let i=0;i<n;++i)o+=e[i](r)+t[i+1];return o}}var Rq={ariaLabel:"text",strokeLinejoin:"round",strokeWidth:3,paintOrder:"stroke"},G7="\xAD",ja=class extends ft{constructor(e,n={}){let{x:r,y:o,text:i=Ln(e)&&px(e)?X:Xt,frameAnchor:s,textAnchor:a=/right$/i.test(s)?"end":/left$/i.test(s)?"start":"middle",lineAnchor:c=/^top/i.test(s)?"top":/^bottom/i.test(s)?"bottom":"middle",lineHeight:f=1,lineWidth:u=1/0,textOverflow:p,monospace:l,fontFamily:h=l?"ui-monospace, monospace":void 0,fontSize:d,fontStyle:m,fontVariant:g,fontWeight:y,rotate:x}=n,[b,w]=qt(x,0),[_,v]=Dq(d);if(super(e,{x:{value:r,scale:"x",optional:!0},y:{value:o,scale:"y",optional:!0},fontSize:{value:_,optional:!0},rotate:{value:QA(b),optional:!0},text:{value:i,filter:Xp,optional:!0}},n,Rq),this.rotate=w,this.textAnchor=Vt(a,"middle"),this.lineAnchor=Ce(c,"lineAnchor",["top","middle","bottom"]),this.lineHeight=+f,this.lineWidth=+u,this.textOverflow=T6(p),this.monospace=!!l,this.fontFamily=he(h),this.fontSize=v,this.fontStyle=he(m),this.fontVariant=he(g),this.fontWeight=he(y),this.frameAnchor=_o(s),!(this.lineWidth>=0))throw new Error(`invalid lineWidth: ${u}`);this.splitLines=C6(this),this.clipLine=N6(this)}render(e,n,r,o,i){let{x:s,y:a}=n,{x:c,y:f,rotate:u,text:p,title:l,fontSize:h}=r,{rotate:d}=this,[m,g]=Ue(this,o);return rt("svg:g",i).call(gt,this,o,i).call(I6,this,p,o).call(ht,this,{x:c&&s,y:f&&a}).call(y=>y.selectAll().data(e).enter().append("text").call(lt,this).call(Lq,this,p,l).attr("transform",qr`translate(${c?x=>c[x]:m},${f?x=>f[x]:g})${u?x=>` rotate(${u[x]})`:d?` rotate(${d})`:""}`).call(ot,"font-size",h&&(x=>h[x])).call(_t,this,r)).node()}};function T6(t){return t==null?null:Ce(t,"textOverflow",["clip","ellipsis","clip-start","clip-end","ellipsis-start","ellipsis-middle","ellipsis-end"]).replace(/^(clip|ellipsis)$/,"$1-end")}function Lq(t,e,n,r){if(!n)return;let{lineAnchor:o,lineHeight:i,textOverflow:s,splitLines:a,clipLine:c}=e;t.each(function(f){let u=a(To(n[f])??"").map(c),p=u.length,l=o==="top"?.71:o==="bottom"?1-p:(164-p*100)/200;if(p>1){let h=0;for(let d=0;d<p;++d){if(++h,!u[d])continue;let m=this.ownerDocument.createElementNS(Mn.svg,"tspan");m.setAttribute("x",0),d===h-1?m.setAttribute("y",`${(l+d)*i}em`):m.setAttribute("dy",`${h*i}em`),m.textContent=u[d],this.appendChild(m),h=0}}else l&&this.setAttribute("y",`${l*i}em`),this.textContent=u[0];if(s&&!r&&u[0]!==n[f]){let h=this.ownerDocument.createElementNS(Mn.svg,"title");h.textContent=n[f],this.appendChild(h)}})}function Io(t,{x:e,y:n,...r}={}){return r.frameAnchor===void 0&&([e,n]=fe(e,n)),new ja(t,{...r,x:e,y:n})}function Yx(t,{x:e=X,...n}={}){return new ja(t,zx({...n,x:e}))}function Ux(t,{y:e=X,...n}={}){return new ja(t,Bx({...n,y:e}))}function I6(t,e,n){ot(t,"text-anchor",e.textAnchor),ot(t,"font-family",e.fontFamily),ot(t,"font-size",e.fontSize),ot(t,"font-style",e.fontStyle),ot(t,"font-variant",e.fontVariant===void 0?Oq(n):e.fontVariant),ot(t,"font-weight",e.fontWeight)}function Oq(t){return t&&(wi(t)||re(t))?"tabular-nums":void 0}var $q=new Set(["inherit","initial","revert","unset","xx-small","x-small","small","medium","large","x-large","xx-large","xxx-large","larger","smaller"]);function Dq(t){return t==null||typeof t=="number"?[void 0,t]:typeof t!="string"?[t,void 0]:(t=t.trim().toLowerCase(),$q.has(t)||/^[+-]?\d*\.?\d+(e[+-]?\d+)?(\w*|%)$/.test(t)?[void 0,t]:[t,void 0])}function Fq(t,e,n){let r=[],o,i=0;for(let[s,a,c]of Pq(t)){if(o===void 0&&(o=s),i>o&&n(t,o,a)>e&&(r.push(t.slice(o,i)+(t[i-1]===G7?"-":"")),o=s),c){r.push(t.slice(o,a)),o=void 0;continue}i=a}return r}function*Pq(t){let e=0,n=0,r=t.length;for(;n<r;){let o=1;switch(t[n]){case G7:case"-":++n,yield[e,n,!1],e=n;break;case" ":for(yield[e,n,!1];t[++n]===" ";);e=n;break;case"\r":t[n+1]===`
|
|
17
17
|
`&&++o;case`
|
|
18
|
-
`:yield[e,n,!0],n+=o,e=n;break;default:++n;break}}yield[e,n,!0]}var U7={a:56,b:63,c:57,d:63,e:58,f:37,g:62,h:60,i:26,j:26,k:55,l:26,m:88,n:60,o:60,p:62,q:62,r:39,s:54,t:38,u:60,v:55,w:79,x:54,y:55,z:55,A:69,B:67,C:73,D:74,E:61,F:58,G:76,H:75,I:28,J:55,K:67,L:58,M:89,N:75,O:78,P:65,Q:78,R:67,S:65,T:65,U:75,V:69,W:98,X:69,Y:67,Z:67,0:64,1:48,2:62,3:64,4:66,5:63,6:65,7:58,8:65,9:65," ":29,"!":32,'"':49,"'":31,"(":39,")":39,",":31,"-":48,".":31,"/":32,":":31,";":31,"?":52,"\u2018":31,"\u2019":31,"\u201C":47,"\u201D":47,"\u2026":82};function Ux(t,e=0,n=t.length){let r=0;for(let o=e;o<n;o=Yf(t,o))r+=U7[t[o]]??(H7(t,o)?120:U7.e);return r}function jx(t,e=0,n=t.length){let r=0;for(let o=e;o<n;o=Yf(t,o))r+=H7(t,o)?126:63;return r}function I6({monospace:t,lineWidth:e,textOverflow:n}){if(n!=null||e==1/0)return i=>i.split(/\r\n?|\n/g);let r=t?jx:Ux,o=e*100;return i=>$q(i,o,r)}function C6({monospace:t,lineWidth:e,textOverflow:n}){if(n==null||e==1/0)return i=>i;let r=t?jx:Ux,o=e*100;switch(n){case"clip-start":return i=>X7(i,o,r,"");case"clip-end":return i=>j7(i,o,r,"");case"ellipsis-start":return i=>X7(i,o,r,Ya);case"ellipsis-middle":return i=>Fq(i,o,r,Ya);case"ellipsis-end":return i=>j7(i,o,r,Ya)}}var Ya="\u2026";function ja(t,e,n,r){let o=[],i=0;for(let s=0,a=0,c=t.length;s<c;s=a){a=Yf(t,s);let f=n(t,s,a);if(i+f>e){for(i+=r;i>e&&s>0;)a=s,s=o.pop(),i-=n(t,s,a);return[s,e-i]}i+=f,o.push(s)}return[-1,0]}function j7(t,e,n,r){t=t.trim();let o=n(r),[i]=ja(t,e,n,o);return i<0?t:t.slice(0,i).trimEnd()+r}function Fq(t,e,n,r){t=t.trim();let o=n(t);if(o<=e)return t;let i=n(r)/2,[s,a]=ja(t,e/2,n,i),[c]=ja(t,o-e/2-a+i,n,-i);return c<0?r:t.slice(0,s).trimEnd()+r+t.slice(Yf(t,c)).trimStart()}function X7(t,e,n,r){t=t.trim();let o=n(t);if(o<=e)return t;let i=n(r),[s]=ja(t,o-e+i,n,-i);return s<0?r:r+t.slice(Yf(t,s)).trimStart()}var A6=/[\p{Combining_Mark}\p{Emoji_Modifier}]+/uy,W7=/\p{Extended_Pictographic}/uy;function Yf(t,e){return e+=Pq(t,e)?2:1,Bq(t,e)&&(e=A6.lastIndex),qq(t,e)?Yf(t,e+1):e}function V7(t,e){return t.charCodeAt(e)<128}function Pq(t,e){let n=t.charCodeAt(e);if(n>=55296&&n<56320){let r=t.charCodeAt(e+1);return r>=56320&&r<57344}return!1}function qq(t,e){return t.charCodeAt(e)===8205}function Bq(t,e){return V7(t,e)?!1:(A6.lastIndex=e,A6.test(t))}function H7(t,e){return V7(t,e)?!1:(W7.lastIndex=e,W7.test(t))}var Q7={ariaLabel:"vector",fill:"none",stroke:"currentColor",strokeWidth:1.5,strokeLinejoin:"round",strokeLinecap:"round"},Z7=3.5,zq=Z7*5,K7={draw(t,e,n){let r=e*n/zq;t.moveTo(0,0),t.lineTo(0,-e),t.moveTo(-r,r-e),t.lineTo(0,-e),t.lineTo(r,r-e)}},J7={draw(t,e,n){t.moveTo(-n,0),t.lineTo(0,-e),t.lineTo(n,0)}},Yq=new Map([["arrow",K7],["spike",J7]]);function Uq(t){return t&&typeof t.draw=="function"}function jq(t){if(Uq(t))return t;let e=Yq.get(`${t}`.toLowerCase());if(e)return e;throw new Error(`invalid shape: ${t}`)}var Xa=class extends ft{constructor(e,n={}){let{x:r,y:o,r:i=Z7,length:s,rotate:a,shape:c=K7,anchor:f="middle",frameAnchor:u}=n,[p,l]=Pt(s,12),[h,d]=Pt(a,0);super(e,{x:{value:r,scale:"x",optional:!0},y:{value:o,scale:"y",optional:!0},length:{value:p,scale:"length",optional:!0},rotate:{value:h,optional:!0}},n,Q7),this.r=+i,this.length=l,this.rotate=d,this.shape=jq(c),this.anchor=Ce(f,"anchor",["start","middle","end"]),this.frameAnchor=_o(u)}render(e,n,r,o,i){let{x:s,y:a}=n,{x:c,y:f,length:u,rotate:p}=r,{length:l,rotate:h,anchor:d,shape:m,r:g}=this,[y,x]=Ue(this,o);return rt("svg:g",i).call(gt,this,o,i).call(ht,this,{x:c&&s,y:f&&a}).call(b=>b.selectAll().data(e).enter().append("path").call(lt,this).attr("transform",qr`translate(${c?w=>c[w]:y},${f?w=>f[w]:x})${p?w=>` rotate(${p[w]})`:h?` rotate(${h})`:""}${d==="start"?"":d==="end"?u?w=>` translate(0,${u[w]})`:` translate(0,${l})`:u?w=>` translate(0,${u[w]/2})`:` translate(0,${l/2})`}`).attr("d",u?w=>{let _=En();return m.draw(_,u[w],g),_}:(()=>{let w=En();return m.draw(w,l,g),w})()).call(_t,this,r)).node()}};function N6(t,e={}){let{x:n,y:r,...o}=e;return e.frameAnchor===void 0&&([n,r]=fe(n,r)),new Xa(t,{...o,x:n,y:r})}function Xx(t,e={}){let{x:n=X,...r}=e;return new Xa(t,{...r,x:n})}function Wx(t,e={}){let{y:n=X,...r}=e;return new Xa(t,{...r,y:n})}function tT(t,e={}){let{shape:n=J7,stroke:r=Q7.stroke,strokeWidth:o=1,fill:i=r,fillOpacity:s=.3,anchor:a="start",...c}=e;return N6(t,{...c,shape:n,stroke:r,strokeWidth:o,fill:i,fillOpacity:s,anchor:a})}function Ss(t,e){return arguments.length<2&&!Ln(t)&&(e=t,t=null),e===void 0&&(e={}),[t,e]}function Gx({anchor:t}={},e){return t===void 0?e[0]:Ce(t,"anchor",e)}function eT(t){return Gx(t,["left","right"])}function nT(t){return Gx(t,["right","left"])}function rT(t){return Gx(t,["bottom","top"])}function oT(t){return Gx(t,["top","bottom"])}function uh(){let[t,e]=Ss(...arguments);return iT("y",eT(e),t,e)}function Vx(){let[t,e]=Ss(...arguments);return iT("fy",nT(e),t,e)}function lh(){let[t,e]=Ss(...arguments);return sT("x",rT(e),t,e)}function Hx(){let[t,e]=Ss(...arguments);return sT("fx",oT(e),t,e)}function iT(t,e,n,{color:r="currentColor",opacity:o=1,stroke:i=r,strokeOpacity:s=o,strokeWidth:a=1,fill:c=r,fillOpacity:f=o,textAnchor:u,textStroke:p,textStrokeOpacity:l,textStrokeWidth:h,tickSize:d=t==="y"?6:0,tickPadding:m,tickRotate:g,x:y,margin:x,marginTop:b=x===void 0?20:x,marginRight:w=x===void 0?e==="right"?40:0:x,marginBottom:_=x===void 0?20:x,marginLeft:v=x===void 0?e==="left"?40:0:x,label:M,labelAnchor:E,labelArrow:T,labelOffset:I,...A}){return d=Rt(d),m=Rt(m),g=Rt(g),E!==void 0&&(E=Ce(E,"labelAnchor",["center","top","bottom"])),T=dT(T),Se(d&&!Ft(i)?Xq(t,e,n,{stroke:i,strokeOpacity:s,strokeWidth:a,tickSize:d,tickPadding:m,tickRotate:g,x:y,...A}):null,Ft(c)?null:Gq(t,e,n,{fill:c,fillOpacity:f,stroke:p,strokeOpacity:l,strokeWidth:h,textAnchor:u,tickSize:d,tickPadding:m,tickRotate:g,x:y,marginTop:b,marginRight:w,marginBottom:_,marginLeft:v,...A}),!Ft(c)&&M!==null?Io([],uT({fill:c,fillOpacity:f,...A},function(k,L,S,C,N){let R=C[t],{marginTop:$,marginRight:O,marginBottom:D,marginLeft:F}=t==="y"&&N.inset||N,P=E??(R.bandwidth?"center":"top"),W=I??(e==="right"?O:F)-3;return P==="center"?(this.textAnchor=void 0,this.lineAnchor=e==="right"?"bottom":"top",this.frameAnchor=e,this.rotate=-90):(this.textAnchor=e==="right"?"end":"start",this.lineAnchor=P,this.frameAnchor=`${P}-${e}`,this.rotate=0),this.dy=P==="top"?3-$:P==="bottom"?D-3:0,this.dx=e==="right"?W:-W,this.ariaLabel=`${t}-axis label`,{facets:[[0]],channels:{text:{value:[hT(t,R,{anchor:e,label:M,labelAnchor:P,labelArrow:T})]}}}})):null)}function sT(t,e,n,{color:r="currentColor",opacity:o=1,stroke:i=r,strokeOpacity:s=o,strokeWidth:a=1,fill:c=r,fillOpacity:f=o,textAnchor:u,textStroke:p,textStrokeOpacity:l,textStrokeWidth:h,tickSize:d=t==="x"?6:0,tickPadding:m,tickRotate:g,y,margin:x,marginTop:b=x===void 0?e==="top"?30:0:x,marginRight:w=x===void 0?20:x,marginBottom:_=x===void 0?e==="bottom"?30:0:x,marginLeft:v=x===void 0?20:x,label:M,labelAnchor:E,labelArrow:T,labelOffset:I,...A}){return d=Rt(d),m=Rt(m),g=Rt(g),E!==void 0&&(E=Ce(E,"labelAnchor",["center","left","right"])),T=dT(T),Se(d&&!Ft(i)?Wq(t,e,n,{stroke:i,strokeOpacity:s,strokeWidth:a,tickSize:d,tickPadding:m,tickRotate:g,y,...A}):null,Ft(c)?null:Vq(t,e,n,{fill:c,fillOpacity:f,stroke:p,strokeOpacity:l,strokeWidth:h,textAnchor:u,tickSize:d,tickPadding:m,tickRotate:g,y,marginTop:b,marginRight:w,marginBottom:_,marginLeft:v,...A}),!Ft(c)&&M!==null?Io([],uT({fill:c,fillOpacity:f,...A},function(k,L,S,C,N){let R=C[t],{marginTop:$,marginRight:O,marginBottom:D,marginLeft:F}=t==="x"&&N.inset||N,P=E??(R.bandwidth?"center":"right"),W=I??(e==="top"?$:D)-3;return P==="center"?(this.frameAnchor=e,this.textAnchor=void 0):(this.frameAnchor=`${e}-${P}`,this.textAnchor=P==="right"?"end":"start"),this.lineAnchor=e,this.dy=e==="top"?-W:W,this.dx=P==="right"?O-3:P==="left"?3-F:0,this.ariaLabel=`${t}-axis label`,{facets:[[0]],channels:{text:{value:[hT(t,R,{anchor:e,label:M,labelAnchor:P,labelArrow:T})]}}}})):null)}function Xq(t,e,n,{strokeWidth:r=1,strokeLinecap:o=null,strokeLinejoin:i=null,facetAnchor:s=e+(t==="y"?"-empty":""),frameAnchor:a=e,tickSize:c,inset:f=0,insetLeft:u=f,insetRight:p=f,dx:l=0,y:h=t==="y"?void 0:null,...d}){return Uf(Wx,t,n,{ariaLabel:`${t}-axis tick`,ariaHidden:!0},{strokeWidth:r,strokeLinecap:o,strokeLinejoin:i,facetAnchor:s,frameAnchor:a,y:h,...d,dx:e==="left"?+l-ie+ +u:+l+ie-p,anchor:"start",length:c,shape:e==="left"?Kq:Jq})}function Wq(t,e,n,{strokeWidth:r=1,strokeLinecap:o=null,strokeLinejoin:i=null,facetAnchor:s=e+(t==="x"?"-empty":""),frameAnchor:a=e,tickSize:c,inset:f=0,insetTop:u=f,insetBottom:p=f,dy:l=0,x:h=t==="x"?void 0:null,...d}){return Uf(Xx,t,n,{ariaLabel:`${t}-axis tick`,ariaHidden:!0},{strokeWidth:r,strokeLinejoin:i,strokeLinecap:o,facetAnchor:s,frameAnchor:a,x:h,...d,dy:e==="bottom"?+l-ie-p:+l+ie+ +u,anchor:"start",length:c,shape:e==="bottom"?Qq:Zq})}function Gq(t,e,n,{facetAnchor:r=e+(t==="y"?"-empty":""),frameAnchor:o=e,tickSize:i,tickRotate:s=0,tickPadding:a=Math.max(3,9-i)+(Math.abs(s)>60?4*Math.cos(s*qf):0),text:c,textAnchor:f=Math.abs(s)>60?"middle":e==="left"?"end":"start",lineAnchor:u=s>60?"top":s<-60?"bottom":"middle",fontVariant:p,inset:l=0,insetLeft:h=l,insetRight:d=l,dx:m=0,y:g=t==="y"?void 0:null,...y}){return Uf(Yx,t,n,{ariaLabel:`${t}-axis tick label`},{facetAnchor:r,frameAnchor:o,text:c,textAnchor:f,lineAnchor:u,fontVariant:p,rotate:s,y:g,...y,dx:e==="left"?+m-i-a+ +h:+m+ +i+ +a-d},function(x,b,w,_,v){p===void 0&&(this.fontVariant=pT(x)),c===void 0&&(v.text=lT(x,b,w,_,e))})}function Vq(t,e,n,{facetAnchor:r=e+(t==="x"?"-empty":""),frameAnchor:o=e,tickSize:i,tickRotate:s=0,tickPadding:a=Math.max(3,9-i)+(Math.abs(s)>=10?4*Math.cos(s*qf):0),text:c,textAnchor:f=Math.abs(s)>=10?s<0^e==="bottom"?"start":"end":"middle",lineAnchor:u=Math.abs(s)>=10?"middle":e==="bottom"?"top":"bottom",fontVariant:p,inset:l=0,insetTop:h=l,insetBottom:d=l,dy:m=0,x:g=t==="x"?void 0:null,...y}){return Uf(zx,t,n,{ariaLabel:`${t}-axis tick label`},{facetAnchor:r,frameAnchor:o,text:c===void 0?null:c,textAnchor:f,lineAnchor:u,fontVariant:p,rotate:s,x:g,...y,dy:e==="bottom"?+m+ +i+ +a-d:+m-i-a+ +h},function(x,b,w,_,v){p===void 0&&(this.fontVariant=pT(x)),c===void 0&&(v.text=lT(x,b,w,_,e))})}function Qx(){let[t,e]=Ss(...arguments);return aT("y",eT(e),t,e)}function Zx(){let[t,e]=Ss(...arguments);return aT("fy",nT(e),t,e)}function Kx(){let[t,e]=Ss(...arguments);return cT("x",rT(e),t,e)}function Jx(){let[t,e]=Ss(...arguments);return cT("fx",oT(e),t,e)}function aT(t,e,n,{y:r=t==="y"?void 0:null,x:o=null,x1:i=e==="left"?o:null,x2:s=e==="right"?o:null,...a}){return Uf(nr,t,n,{ariaLabel:`${t}-grid`,ariaHidden:!0},{y:r,x1:i,x2:s,...fT(a)})}function cT(t,e,n,{x:r=t==="x"?void 0:null,y:o=null,y1:i=e==="top"?o:null,y2:s=e==="bottom"?o:null,...a}){return Uf(er,t,n,{ariaLabel:`${t}-grid`,ariaHidden:!0},{x:r,y1:i,y2:s,...fT(a)})}function fT({color:t="currentColor",opacity:e=.1,stroke:n=t,strokeOpacity:r=e,strokeWidth:o=1,...i}){return{stroke:n,strokeOpacity:r,strokeWidth:o,...i}}function uT({fill:t,fillOpacity:e,fontFamily:n,fontSize:r,fontStyle:o,fontVariant:i,fontWeight:s,monospace:a,pointerEvents:c,shapeRendering:f,clip:u=!1},p){return[,t]=ne(t),[,e]=Pt(e),{facet:"super",x:null,y:null,fill:t,fillOpacity:e,fontFamily:n,fontSize:r,fontStyle:o,fontVariant:i,fontWeight:s,monospace:a,pointerEvents:c,shapeRendering:f,clip:u,initializer:p}}function Uf(t,e,n,r,o,i){let s;function a(u,p,l,h,d,m){let g=u==null&&(e==="fx"||e==="fy"),{[e]:y}=h;if(!y)throw new Error(`missing scale: ${e}`);let x=y.domain(),{interval:b,ticks:w,tickFormat:_,tickSpacing:v=e==="x"?80:35}=o;if(typeof w=="string"&&mT(y)&&(b=w,w=void 0),w===void 0&&(w=vo(b,y.type)??Hq(y,v)),u==null){if(Ln(w))u=Zn(w);else if(hs(w))u=k6(w,...Ot(x));else if(y.interval){let E=y.interval;if(y.ticks){let[T,I]=Ot(x),A=(I-T)/E[Mf];E=b_(E,A/w)??E,u=k6(E,T,I)}else{u=x;let T=u.length;E=b_(E,T/w)??E,E!==y.interval&&(u=k6(E,...Ot(u)))}if(E===y.interval){let T=Math.round(u.length/w);T>1&&(u=u.filter((I,A)=>A%T===0))}}else y.ticks?u=y.ticks(w):u=x;if(!y.ticks&&u.length&&u!==x){let E=new vn(x);u=u.filter(T=>E.has(T)),u.length||hn(`Warning: the ${e}-axis ticks appear to not align with the scale domain, resulting in no ticks. Try different ticks?`)}e==="y"||e==="x"?p=[Rn(u)]:s[e]={scale:e,value:X}}i?.call(this,y,u,w,_,s);let M=Object.fromEntries(Object.entries(s).map(([E,T])=>[E,{...T,value:ct(u,T.value)}]));return g&&(p=m.filterFacets(u,M)),{data:u,facets:p,channels:M}}let c=Gt(o).initializer,f=t(n,Gt({...o,initializer:a},c));return n==null?(s=f.channels,f.channels={}):s={},r!==void 0&&Object.assign(f,r),f.clip===void 0&&(f.clip=!1),f}function Hq(t,e){let[n,r]=Ot(t.range());return(r-n)/e}function lT(t,e,n,r,o){return{value:ph(t,e,n,r,o)}}function ph(t,e,n,r,o){return typeof r=="function"&&!(t.type==="log"&&t.tickFormat)?r:r===void 0&&e&&re(e)?YA(t.type,e,o)??To:t.tickFormat?t.tickFormat(typeof n=="number"?n:null,r):r===void 0?To:typeof r=="string"?(re(t.domain())?go:hr)(r):oe(r)}function k6(t,e,n){return t.range(e,t.offset(t.floor(n)))}var Qq={draw(t,e){t.moveTo(0,0),t.lineTo(0,e)}},Zq={draw(t,e){t.moveTo(0,0),t.lineTo(0,-e)}},Kq={draw(t,e){t.moveTo(0,0),t.lineTo(-e,0)}},Jq={draw(t,e){t.moveTo(0,0),t.lineTo(e,0)}};function pT(t){return t.bandwidth&&!t.interval?void 0:"tabular-nums"}function hT(t,e,{anchor:n,label:r=e.label,labelAnchor:o,labelArrow:i}={}){if(!(r==null||r.inferred&&mT(e)&&/^(date|time|year)$/i.test(r))){if(r=String(r),i==="auto"&&(i=(!e.bandwidth||e.interval)&&!/[↑↓→←]/.test(r)),!i)return r;if(i===!0){let s=Ex(e);s&&(i=/x$/.test(t)||o==="center"?/x$/.test(t)===s<0?"left":"right":s<0?"up":"down")}switch(i){case"left":return`\u2190 ${r}`;case"right":return`${r} \u2192`;case"up":return n==="right"?`${r} \u2191`:`\u2191 ${r}`;case"down":return n==="right"?`${r} \u2193`:`\u2193 ${r}`}return r}}function dT(t="auto"){return Ft(t)?!1:typeof t=="boolean"?t:Ce(t,"labelArrow",["auto","up","right","down","left"])}function mT(t){return re(t.domain())}function gT(t,e){if(e==null)return e;let n=t(e);if(!n)throw new Error(`scale not found: ${e}`);return n}function yT(t,{opacity:e,...n}={}){if(!Ao(t)&&!i6(t))throw new Error(`swatches legend requires ordinal or threshold color scale (not ${t.type})`);return bT(t,n,(r,o,i,s)=>r.append("svg").attr("width",i).attr("height",s).attr("fill",o.scale).attr("fill-opacity",Pt(e)[1]).append("rect").attr("width","100%").attr("height","100%"))}function xT(t,{fill:e=t.hint?.fill!==void 0?t.hint.fill:"none",fillOpacity:n=1,stroke:r=t.hint?.stroke!==void 0?t.hint.stroke:Ft(e)?"currentColor":"none",strokeOpacity:o=1,strokeWidth:i=1.5,r:s=4.5,...a}={},c){let[f,u]=ne(e),[p,l]=ne(r),h=gT(c,f),d=gT(c,p),m=s*s*Math.PI;return n=Pt(n)[1],o=Pt(o)[1],i=Pt(i)[1],bT(t,a,(g,y,x,b)=>g.append("svg").attr("viewBox","-8 -8 16 16").attr("width",x).attr("height",b).attr("fill",f==="color"?w=>h.scale(w):u).attr("fill-opacity",n).attr("stroke",p==="color"?w=>d.scale(w):l).attr("stroke-opacity",o).attr("stroke-width",i).append("path").attr("d",w=>{let _=En();return t.scale(w).draw(_,m),_}))}function bT(t,e={},n){let{columns:r,tickFormat:o,fontVariant:i=Fx(t),swatchSize:s=15,swatchWidth:a=s,swatchHeight:c=s,marginLeft:f=0,className:u,style:p,width:l}=e,h=bs(e);u=vs(u),o=ph(t.scale,t.domain,void 0,o);let d=rt("div",h).attr("class",`${u}-swatches ${u}-swatches-${r!=null?"columns":"wrap"}`),m;return r!=null?(m=`:where(.${u}-swatches-columns .${u}-swatch) {
|
|
18
|
+
`:yield[e,n,!0],n+=o,e=n;break;default:++n;break}}yield[e,n,!0]}var U7={a:56,b:63,c:57,d:63,e:58,f:37,g:62,h:60,i:26,j:26,k:55,l:26,m:88,n:60,o:60,p:62,q:62,r:39,s:54,t:38,u:60,v:55,w:79,x:54,y:55,z:55,A:69,B:67,C:73,D:74,E:61,F:58,G:76,H:75,I:28,J:55,K:67,L:58,M:89,N:75,O:78,P:65,Q:78,R:67,S:65,T:65,U:75,V:69,W:98,X:69,Y:67,Z:67,0:64,1:48,2:62,3:64,4:66,5:63,6:65,7:58,8:65,9:65," ":29,"!":32,'"':49,"'":31,"(":39,")":39,",":31,"-":48,".":31,"/":32,":":31,";":31,"?":52,"\u2018":31,"\u2019":31,"\u201C":47,"\u201D":47,"\u2026":82};function jx(t,e=0,n=t.length){let r=0;for(let o=e;o<n;o=jf(t,o))r+=U7[t[o]]??(H7(t,o)?120:U7.e);return r}function Xx(t,e=0,n=t.length){let r=0;for(let o=e;o<n;o=jf(t,o))r+=H7(t,o)?126:63;return r}function C6({monospace:t,lineWidth:e,textOverflow:n}){if(n!=null||e==1/0)return i=>i.split(/\r\n?|\n/g);let r=t?Xx:jx,o=e*100;return i=>Fq(i,o,r)}function N6({monospace:t,lineWidth:e,textOverflow:n}){if(n==null||e==1/0)return i=>i;let r=t?Xx:jx,o=e*100;switch(n){case"clip-start":return i=>X7(i,o,r,"");case"clip-end":return i=>j7(i,o,r,"");case"ellipsis-start":return i=>X7(i,o,r,Ua);case"ellipsis-middle":return i=>qq(i,o,r,Ua);case"ellipsis-end":return i=>j7(i,o,r,Ua)}}var Ua="\u2026";function Xa(t,e,n,r){let o=[],i=0;for(let s=0,a=0,c=t.length;s<c;s=a){a=jf(t,s);let f=n(t,s,a);if(i+f>e){for(i+=r;i>e&&s>0;)a=s,s=o.pop(),i-=n(t,s,a);return[s,e-i]}i+=f,o.push(s)}return[-1,0]}function j7(t,e,n,r){t=t.trim();let o=n(r),[i]=Xa(t,e,n,o);return i<0?t:t.slice(0,i).trimEnd()+r}function qq(t,e,n,r){t=t.trim();let o=n(t);if(o<=e)return t;let i=n(r)/2,[s,a]=Xa(t,e/2,n,i),[c]=Xa(t,o-e/2-a+i,n,-i);return c<0?r:t.slice(0,s).trimEnd()+r+t.slice(jf(t,c)).trimStart()}function X7(t,e,n,r){t=t.trim();let o=n(t);if(o<=e)return t;let i=n(r),[s]=Xa(t,o-e+i,n,-i);return s<0?r:r+t.slice(jf(t,s)).trimStart()}var E6=/[\p{Combining_Mark}\p{Emoji_Modifier}]+/uy,W7=/\p{Extended_Pictographic}/uy;function jf(t,e){return e+=Bq(t,e)?2:1,Yq(t,e)&&(e=E6.lastIndex),zq(t,e)?jf(t,e+1):e}function V7(t,e){return t.charCodeAt(e)<128}function Bq(t,e){let n=t.charCodeAt(e);if(n>=55296&&n<56320){let r=t.charCodeAt(e+1);return r>=56320&&r<57344}return!1}function zq(t,e){return t.charCodeAt(e)===8205}function Yq(t,e){return V7(t,e)?!1:(E6.lastIndex=e,E6.test(t))}function H7(t,e){return V7(t,e)?!1:(W7.lastIndex=e,W7.test(t))}var Q7={ariaLabel:"vector",fill:"none",stroke:"currentColor",strokeWidth:1.5,strokeLinejoin:"round",strokeLinecap:"round"},Z7=3.5,Uq=Z7*5,K7={draw(t,e,n){let r=e*n/Uq;t.moveTo(0,0),t.lineTo(0,-e),t.moveTo(-r,r-e),t.lineTo(0,-e),t.lineTo(r,r-e)}},J7={draw(t,e,n){t.moveTo(-n,0),t.lineTo(0,-e),t.lineTo(n,0)}},jq=new Map([["arrow",K7],["spike",J7]]);function Xq(t){return t&&typeof t.draw=="function"}function Wq(t){if(Xq(t))return t;let e=jq.get(`${t}`.toLowerCase());if(e)return e;throw new Error(`invalid shape: ${t}`)}var Wa=class extends ft{constructor(e,n={}){let{x:r,y:o,r:i=Z7,length:s,rotate:a,shape:c=K7,anchor:f="middle",frameAnchor:u}=n,[p,l]=qt(s,12),[h,d]=qt(a,0);super(e,{x:{value:r,scale:"x",optional:!0},y:{value:o,scale:"y",optional:!0},length:{value:p,scale:"length",optional:!0},rotate:{value:h,optional:!0}},n,Q7),this.r=+i,this.length=l,this.rotate=d,this.shape=Wq(c),this.anchor=Ce(f,"anchor",["start","middle","end"]),this.frameAnchor=_o(u)}render(e,n,r,o,i){let{x:s,y:a}=n,{x:c,y:f,length:u,rotate:p}=r,{length:l,rotate:h,anchor:d,shape:m,r:g}=this,[y,x]=Ue(this,o);return rt("svg:g",i).call(gt,this,o,i).call(ht,this,{x:c&&s,y:f&&a}).call(b=>b.selectAll().data(e).enter().append("path").call(lt,this).attr("transform",qr`translate(${c?w=>c[w]:y},${f?w=>f[w]:x})${p?w=>` rotate(${p[w]})`:h?` rotate(${h})`:""}${d==="start"?"":d==="end"?u?w=>` translate(0,${u[w]})`:` translate(0,${l})`:u?w=>` translate(0,${u[w]/2})`:` translate(0,${l/2})`}`).attr("d",u?w=>{let _=En();return m.draw(_,u[w],g),_}:(()=>{let w=En();return m.draw(w,l,g),w})()).call(_t,this,r)).node()}};function k6(t,e={}){let{x:n,y:r,...o}=e;return e.frameAnchor===void 0&&([n,r]=fe(n,r)),new Wa(t,{...o,x:n,y:r})}function Wx(t,e={}){let{x:n=X,...r}=e;return new Wa(t,{...r,x:n})}function Gx(t,e={}){let{y:n=X,...r}=e;return new Wa(t,{...r,y:n})}function tT(t,e={}){let{shape:n=J7,stroke:r=Q7.stroke,strokeWidth:o=1,fill:i=r,fillOpacity:s=.3,anchor:a="start",...c}=e;return k6(t,{...c,shape:n,stroke:r,strokeWidth:o,fill:i,fillOpacity:s,anchor:a})}function As(t,e){return arguments.length<2&&!Ln(t)&&(e=t,t=null),e===void 0&&(e={}),[t,e]}function Vx({anchor:t}={},e){return t===void 0?e[0]:Ce(t,"anchor",e)}function eT(t){return Vx(t,["left","right"])}function nT(t){return Vx(t,["right","left"])}function rT(t){return Vx(t,["bottom","top"])}function oT(t){return Vx(t,["top","bottom"])}function lh(){let[t,e]=As(...arguments);return iT("y",eT(e),t,e)}function Hx(){let[t,e]=As(...arguments);return iT("fy",nT(e),t,e)}function ph(){let[t,e]=As(...arguments);return sT("x",rT(e),t,e)}function Qx(){let[t,e]=As(...arguments);return sT("fx",oT(e),t,e)}function iT(t,e,n,{color:r="currentColor",opacity:o=1,stroke:i=r,strokeOpacity:s=o,strokeWidth:a=1,fill:c=r,fillOpacity:f=o,textAnchor:u,textStroke:p,textStrokeOpacity:l,textStrokeWidth:h,tickSize:d=t==="y"?6:0,tickPadding:m,tickRotate:g,x:y,margin:x,marginTop:b=x===void 0?20:x,marginRight:w=x===void 0?e==="right"?40:0:x,marginBottom:_=x===void 0?20:x,marginLeft:v=x===void 0?e==="left"?40:0:x,label:M,labelAnchor:E,labelArrow:T,labelOffset:I,...A}){return d=Rt(d),m=Rt(m),g=Rt(g),E!==void 0&&(E=Ce(E,"labelAnchor",["center","top","bottom"])),T=dT(T),Se(d&&!Ft(i)?Gq(t,e,n,{stroke:i,strokeOpacity:s,strokeWidth:a,tickSize:d,tickPadding:m,tickRotate:g,x:y,...A}):null,Ft(c)?null:Hq(t,e,n,{fill:c,fillOpacity:f,stroke:p,strokeOpacity:l,strokeWidth:h,textAnchor:u,tickSize:d,tickPadding:m,tickRotate:g,x:y,marginTop:b,marginRight:w,marginBottom:_,marginLeft:v,...A}),!Ft(c)&&M!==null?Io([],uT({fill:c,fillOpacity:f,...A},function(k,L,S,C,N){let R=C[t],{marginTop:$,marginRight:O,marginBottom:D,marginLeft:F}=t==="y"&&N.inset||N,P=E??(R.bandwidth?"center":"top"),W=I??(e==="right"?O:F)-3;return P==="center"?(this.textAnchor=void 0,this.lineAnchor=e==="right"?"bottom":"top",this.frameAnchor=e,this.rotate=-90):(this.textAnchor=e==="right"?"end":"start",this.lineAnchor=P,this.frameAnchor=`${P}-${e}`,this.rotate=0),this.dy=P==="top"?3-$:P==="bottom"?D-3:0,this.dx=e==="right"?W:-W,this.ariaLabel=`${t}-axis label`,{facets:[[0]],channels:{text:{value:[hT(t,R,{anchor:e,label:M,labelAnchor:P,labelArrow:T})]}}}})):null)}function sT(t,e,n,{color:r="currentColor",opacity:o=1,stroke:i=r,strokeOpacity:s=o,strokeWidth:a=1,fill:c=r,fillOpacity:f=o,textAnchor:u,textStroke:p,textStrokeOpacity:l,textStrokeWidth:h,tickSize:d=t==="x"?6:0,tickPadding:m,tickRotate:g,y,margin:x,marginTop:b=x===void 0?e==="top"?30:0:x,marginRight:w=x===void 0?20:x,marginBottom:_=x===void 0?e==="bottom"?30:0:x,marginLeft:v=x===void 0?20:x,label:M,labelAnchor:E,labelArrow:T,labelOffset:I,...A}){return d=Rt(d),m=Rt(m),g=Rt(g),E!==void 0&&(E=Ce(E,"labelAnchor",["center","left","right"])),T=dT(T),Se(d&&!Ft(i)?Vq(t,e,n,{stroke:i,strokeOpacity:s,strokeWidth:a,tickSize:d,tickPadding:m,tickRotate:g,y,...A}):null,Ft(c)?null:Qq(t,e,n,{fill:c,fillOpacity:f,stroke:p,strokeOpacity:l,strokeWidth:h,textAnchor:u,tickSize:d,tickPadding:m,tickRotate:g,y,marginTop:b,marginRight:w,marginBottom:_,marginLeft:v,...A}),!Ft(c)&&M!==null?Io([],uT({fill:c,fillOpacity:f,...A},function(k,L,S,C,N){let R=C[t],{marginTop:$,marginRight:O,marginBottom:D,marginLeft:F}=t==="x"&&N.inset||N,P=E??(R.bandwidth?"center":"right"),W=I??(e==="top"?$:D)-3;return P==="center"?(this.frameAnchor=e,this.textAnchor=void 0):(this.frameAnchor=`${e}-${P}`,this.textAnchor=P==="right"?"end":"start"),this.lineAnchor=e,this.dy=e==="top"?-W:W,this.dx=P==="right"?O-3:P==="left"?3-F:0,this.ariaLabel=`${t}-axis label`,{facets:[[0]],channels:{text:{value:[hT(t,R,{anchor:e,label:M,labelAnchor:P,labelArrow:T})]}}}})):null)}function Gq(t,e,n,{strokeWidth:r=1,strokeLinecap:o=null,strokeLinejoin:i=null,facetAnchor:s=e+(t==="y"?"-empty":""),frameAnchor:a=e,tickSize:c,inset:f=0,insetLeft:u=f,insetRight:p=f,dx:l=0,y:h=t==="y"?void 0:null,...d}){return Xf(Gx,t,n,{ariaLabel:`${t}-axis tick`,ariaHidden:!0},{strokeWidth:r,strokeLinecap:o,strokeLinejoin:i,facetAnchor:s,frameAnchor:a,y:h,...d,dx:e==="left"?+l-ie+ +u:+l+ie-p,anchor:"start",length:c,shape:e==="left"?tB:eB})}function Vq(t,e,n,{strokeWidth:r=1,strokeLinecap:o=null,strokeLinejoin:i=null,facetAnchor:s=e+(t==="x"?"-empty":""),frameAnchor:a=e,tickSize:c,inset:f=0,insetTop:u=f,insetBottom:p=f,dy:l=0,x:h=t==="x"?void 0:null,...d}){return Xf(Wx,t,n,{ariaLabel:`${t}-axis tick`,ariaHidden:!0},{strokeWidth:r,strokeLinejoin:i,strokeLinecap:o,facetAnchor:s,frameAnchor:a,x:h,...d,dy:e==="bottom"?+l-ie-p:+l+ie+ +u,anchor:"start",length:c,shape:e==="bottom"?Kq:Jq})}function Hq(t,e,n,{facetAnchor:r=e+(t==="y"?"-empty":""),frameAnchor:o=e,tickSize:i,tickRotate:s=0,tickPadding:a=Math.max(3,9-i)+(Math.abs(s)>60?4*Math.cos(s*zf):0),text:c,textAnchor:f=Math.abs(s)>60?"middle":e==="left"?"end":"start",lineAnchor:u=s>60?"top":s<-60?"bottom":"middle",fontVariant:p,inset:l=0,insetLeft:h=l,insetRight:d=l,dx:m=0,y:g=t==="y"?void 0:null,...y}){return Xf(Ux,t,n,{ariaLabel:`${t}-axis tick label`},{facetAnchor:r,frameAnchor:o,text:c,textAnchor:f,lineAnchor:u,fontVariant:p,rotate:s,y:g,...y,dx:e==="left"?+m-i-a+ +h:+m+ +i+ +a-d},function(x,b,w,_,v){p===void 0&&(this.fontVariant=pT(x)),c===void 0&&(v.text=lT(x,b,w,_,e))})}function Qq(t,e,n,{facetAnchor:r=e+(t==="x"?"-empty":""),frameAnchor:o=e,tickSize:i,tickRotate:s=0,tickPadding:a=Math.max(3,9-i)+(Math.abs(s)>=10?4*Math.cos(s*zf):0),text:c,textAnchor:f=Math.abs(s)>=10?s<0^e==="bottom"?"start":"end":"middle",lineAnchor:u=Math.abs(s)>=10?"middle":e==="bottom"?"top":"bottom",fontVariant:p,inset:l=0,insetTop:h=l,insetBottom:d=l,dy:m=0,x:g=t==="x"?void 0:null,...y}){return Xf(Yx,t,n,{ariaLabel:`${t}-axis tick label`},{facetAnchor:r,frameAnchor:o,text:c===void 0?null:c,textAnchor:f,lineAnchor:u,fontVariant:p,rotate:s,x:g,...y,dy:e==="bottom"?+m+ +i+ +a-d:+m-i-a+ +h},function(x,b,w,_,v){p===void 0&&(this.fontVariant=pT(x)),c===void 0&&(v.text=lT(x,b,w,_,e))})}function Zx(){let[t,e]=As(...arguments);return aT("y",eT(e),t,e)}function Kx(){let[t,e]=As(...arguments);return aT("fy",nT(e),t,e)}function Jx(){let[t,e]=As(...arguments);return cT("x",rT(e),t,e)}function t1(){let[t,e]=As(...arguments);return cT("fx",oT(e),t,e)}function aT(t,e,n,{y:r=t==="y"?void 0:null,x:o=null,x1:i=e==="left"?o:null,x2:s=e==="right"?o:null,...a}){return Xf(nr,t,n,{ariaLabel:`${t}-grid`,ariaHidden:!0},{y:r,x1:i,x2:s,...fT(a)})}function cT(t,e,n,{x:r=t==="x"?void 0:null,y:o=null,y1:i=e==="top"?o:null,y2:s=e==="bottom"?o:null,...a}){return Xf(er,t,n,{ariaLabel:`${t}-grid`,ariaHidden:!0},{x:r,y1:i,y2:s,...fT(a)})}function fT({color:t="currentColor",opacity:e=.1,stroke:n=t,strokeOpacity:r=e,strokeWidth:o=1,...i}){return{stroke:n,strokeOpacity:r,strokeWidth:o,...i}}function uT({fill:t,fillOpacity:e,fontFamily:n,fontSize:r,fontStyle:o,fontVariant:i,fontWeight:s,monospace:a,pointerEvents:c,shapeRendering:f,clip:u=!1},p){return[,t]=ne(t),[,e]=qt(e),{facet:"super",x:null,y:null,fill:t,fillOpacity:e,fontFamily:n,fontSize:r,fontStyle:o,fontVariant:i,fontWeight:s,monospace:a,pointerEvents:c,shapeRendering:f,clip:u,initializer:p}}function Xf(t,e,n,r,o,i){let s;function a(u,p,l,h,d,m){let g=u==null&&(e==="fx"||e==="fy"),{[e]:y}=h;if(!y)throw new Error(`missing scale: ${e}`);let x=y.domain(),{interval:b,ticks:w,tickFormat:_,tickSpacing:v=e==="x"?80:35}=o;if(typeof w=="string"&&mT(y)&&(b=w,w=void 0),w===void 0&&(w=vo(b,y.type)??Zq(y,v)),u==null){if(Ln(w))u=Zn(w);else if(ds(w))u=R6(w,...Ot(x));else if(y.interval){let E=y.interval;if(y.ticks){let[T,I]=Ot(x),A=(I-T)/E[Af];E=w_(E,A/w)??E,u=R6(E,T,I)}else{u=x;let T=u.length;E=w_(E,T/w)??E,E!==y.interval&&(u=R6(E,...Ot(u)))}if(E===y.interval){let T=Math.round(u.length/w);T>1&&(u=u.filter((I,A)=>A%T===0))}}else y.ticks?u=y.ticks(w):u=x;if(!y.ticks&&u.length&&u!==x){let E=new vn(x);u=u.filter(T=>E.has(T)),u.length||dn(`Warning: the ${e}-axis ticks appear to not align with the scale domain, resulting in no ticks. Try different ticks?`)}e==="y"||e==="x"?p=[Rn(u)]:s[e]={scale:e,value:X}}i?.call(this,y,u,w,_,s);let M=Object.fromEntries(Object.entries(s).map(([E,T])=>[E,{...T,value:ct(u,T.value)}]));return g&&(p=m.filterFacets(u,M)),{data:u,facets:p,channels:M}}let c=Gt(o).initializer,f=t(n,Gt({...o,initializer:a},c));return n==null?(s=f.channels,f.channels={}):s={},r!==void 0&&Object.assign(f,r),f.clip===void 0&&(f.clip=!1),f}function Zq(t,e){let[n,r]=Ot(t.range());return(r-n)/e}function lT(t,e,n,r,o){return{value:hh(t,e,n,r,o)}}function hh(t,e,n,r,o){return typeof r=="function"&&!(t.type==="log"&&t.tickFormat)?r:r===void 0&&e&&re(e)?YA(t.type,e,o)??To:t.tickFormat?t.tickFormat(typeof n=="number"?n:null,r):r===void 0?To:typeof r=="string"?(re(t.domain())?go:hr)(r):oe(r)}function R6(t,e,n){return t.range(e,t.offset(t.floor(n)))}var Kq={draw(t,e){t.moveTo(0,0),t.lineTo(0,e)}},Jq={draw(t,e){t.moveTo(0,0),t.lineTo(0,-e)}},tB={draw(t,e){t.moveTo(0,0),t.lineTo(-e,0)}},eB={draw(t,e){t.moveTo(0,0),t.lineTo(e,0)}};function pT(t){return t.bandwidth&&!t.interval?void 0:"tabular-nums"}function hT(t,e,{anchor:n,label:r=e.label,labelAnchor:o,labelArrow:i}={}){if(!(r==null||r.inferred&&mT(e)&&/^(date|time|year)$/i.test(r))){if(r=String(r),i==="auto"&&(i=(!e.bandwidth||e.interval)&&!/[↑↓→←]/.test(r)),!i)return r;if(i===!0){let s=Tx(e);s&&(i=/x$/.test(t)||o==="center"?/x$/.test(t)===s<0?"left":"right":s<0?"up":"down")}switch(i){case"left":return`\u2190 ${r}`;case"right":return`${r} \u2192`;case"up":return n==="right"?`${r} \u2191`:`\u2191 ${r}`;case"down":return n==="right"?`${r} \u2193`:`\u2193 ${r}`}return r}}function dT(t="auto"){return Ft(t)?!1:typeof t=="boolean"?t:Ce(t,"labelArrow",["auto","up","right","down","left"])}function mT(t){return re(t.domain())}function gT(t,e){if(e==null)return e;let n=t(e);if(!n)throw new Error(`scale not found: ${e}`);return n}function yT(t,{opacity:e,...n}={}){if(!Ao(t)&&!s6(t))throw new Error(`swatches legend requires ordinal or threshold color scale (not ${t.type})`);return bT(t,n,(r,o,i,s)=>r.append("svg").attr("width",i).attr("height",s).attr("fill",o.scale).attr("fill-opacity",qt(e)[1]).append("rect").attr("width","100%").attr("height","100%"))}function xT(t,{fill:e=t.hint?.fill!==void 0?t.hint.fill:"none",fillOpacity:n=1,stroke:r=t.hint?.stroke!==void 0?t.hint.stroke:Ft(e)?"currentColor":"none",strokeOpacity:o=1,strokeWidth:i=1.5,r:s=4.5,...a}={},c){let[f,u]=ne(e),[p,l]=ne(r),h=gT(c,f),d=gT(c,p),m=s*s*Math.PI;return n=qt(n)[1],o=qt(o)[1],i=qt(i)[1],bT(t,a,(g,y,x,b)=>g.append("svg").attr("viewBox","-8 -8 16 16").attr("width",x).attr("height",b).attr("fill",f==="color"?w=>h.scale(w):u).attr("fill-opacity",n).attr("stroke",p==="color"?w=>d.scale(w):l).attr("stroke-opacity",o).attr("stroke-width",i).append("path").attr("d",w=>{let _=En();return t.scale(w).draw(_,m),_}))}function bT(t,e={},n){let{columns:r,tickFormat:o,fontVariant:i=Px(t),swatchSize:s=15,swatchWidth:a=s,swatchHeight:c=s,marginLeft:f=0,className:u,style:p,width:l}=e,h=ws(e);u=_s(u),o=hh(t.scale,t.domain,void 0,o);let d=rt("div",h).attr("class",`${u}-swatches ${u}-swatches-${r!=null?"columns":"wrap"}`),m;return r!=null?(m=`:where(.${u}-swatches-columns .${u}-swatch) {
|
|
19
19
|
display: flex;
|
|
20
20
|
align-items: center;
|
|
21
21
|
break-inside: avoid;
|
|
@@ -47,7 +47,7 @@ ${n}`}function sP(t){return t==="time"?ax:t==="utc"?Wp:oP}function YA(t,e,n){let
|
|
|
47
47
|
margin-right: 0.5em;
|
|
48
48
|
overflow: visible;
|
|
49
49
|
}
|
|
50
|
-
${m}`)).style("margin-left",f?`${+f}px`:null).style("width",l===void 0?null:`${+l}px`).style("font-variant",Vt(i,"normal")).call(Pf,p).node()}var t1=new Map([["symbol",xT],["color",_T],["opacity",tB]]);function wT(t={}){for(let[e,n]of t1){let r=t[e];if(bo(r)){let o=bs(t),i;if(e==="symbol"){let{fill:s,stroke:a=s===void 0&&bo(t.color)?"color":void 0}=t;i={fill:s,stroke:a}}return n(Ix(e,r,i),R6(o,r,t),s=>bo(t[s])?Ix(s,t[s]):null)}}throw new Error("unknown legend type; no scale found")}function vT(t,e,n={}){return(r,o)=>{if(!t1.has(r))throw new Error(`unknown legend type: ${r}`);if(r in t)return t1.get(r)(t[r],R6(e,n[r],o),i=>t[i])}}function R6({className:t,...e},{label:n,ticks:r,tickFormat:o}={},i){return nE(i,{className:t,...e},{label:n,ticks:r,tickFormat:o})}function _T(t,{legend:e=!0,...n}){if(e===!0&&(e=t.type==="ordinal"?"swatches":"ramp"),t.domain!==void 0)switch(`${e}`.toLowerCase()){case"swatches":return yT(t,n);case"ramp":return R7(t,n);default:throw new Error(`unknown legend type: ${e}`)}}function tB({type:t,interpolate:e,...n},{legend:r=!0,color:o=Te(0,0,0),...i}){if(!e)throw new Error(`${t} opacity scales are not supported`);if(r===!0&&(r="ramp"),`${r}`.toLowerCase()!=="ramp")throw new Error(`${r} opacity legends are not supported`);return _T({type:t,...n,interpolate:eB(o)},{legend:r,...i})}function eB(t){let{r:e,g:n,b:r}=Te(t)||Te(0,0,0);return o=>`rgba(${e},${n},${r},${o})`}function MT(t,e,n){let r=[];for(let[o,i]of t1){let s=n[o];if(s?.legend&&o in t){let a=i(t[o],R6(e,t[o],s),c=>t[c]);a!=null&&r.push(a)}}return r}function As(t={}){return I_(t)?t:{...t,x:X}}function Es(t={}){return C_(t)?t:{...t,y:X}}function e1(t,e){if(e.length===1)return{data:t,facets:e};let n=ps(t),r=new Uint8Array(n),o=0;for(let a of e)for(let c of a)r[c]&&++o,r[c]=1;if(o===0)return{data:t,facets:e};t=ls(t);let i=t[v_]=new Uint32Array(n+o);e=e.map(a=>ls(a,Uint32Array));let s=n;r.fill(0);for(let a of e)for(let c=0,f=a.length;c<f;++c){let u=a[c];r[u]?(a[c]=s,t[s]=t[u],i[s]=u,++s):i[u]=u,r[u]=1}return{data:t,facets:e}}function L6(t={},e={}){arguments.length===1&&([t,e]=jf(t));let{y1:n,y:r=n,x:o,...i}=e,[s,a,c,f]=Xf(r,o,"y","x",t,i);return{...s,y1:n,y:a,x1:c,x2:f,x:Ef(c,f)}}function ET(t={},e={}){arguments.length===1&&([t,e]=jf(t));let{y1:n,y:r=n,x:o}=e,[i,s,a]=Xf(r,o,"y","x",t,e);return{...i,y1:n,y:s,x:a}}function TT(t={},e={}){arguments.length===1&&([t,e]=jf(t));let{y1:n,y:r=n,x:o}=e,[i,s,,a]=Xf(r,o,"y","x",t,e);return{...i,y1:n,y:s,x:a}}function O6(t={},e={}){arguments.length===1&&([t,e]=jf(t));let{x1:n,x:r=n,y:o,...i}=e,[s,a,c,f]=Xf(r,o,"x","y",t,i);return{...s,x1:n,x:a,y1:c,y2:f,y:Ef(c,f)}}function IT(t={},e={}){arguments.length===1&&([t,e]=jf(t));let{x1:n,x:r=n,y:o}=e,[i,s,a]=Xf(r,o,"x","y",t,e);return{...i,x1:n,x:s,y:a}}function CT(t={},e={}){arguments.length===1&&([t,e]=jf(t));let{x1:n,x:r=n,y:o}=e,[i,s,,a]=Xf(r,o,"x","y",t,e);return{...i,x1:n,x:s,y:a}}function Ts({x:t,x1:e,x2:n,...r}={}){return r=Fr(r,"y"),e===void 0&&n===void 0?L6({x:t,...r}):([e,n]=N_(t,e,n),{...r,x1:e,x2:n})}function Is({y:t,y1:e,y2:n,...r}={}){return r=Fr(r,"x"),e===void 0&&n===void 0?O6({y:t,...r}):([e,n]=N_(t,e,n),{...r,y1:e,y2:n})}function jf(t){let{offset:e,order:n,reverse:r,...o}=t;return[{offset:e,order:n,reverse:r},o]}var nB={length:!0};function Xf(t,e=Hp,n,r,{offset:o,order:i,reverse:s},a){if(e===null)throw new Error(`stack requires ${r}`);let c=pn(a),[f,u]=Ke(t),[p,l]=ze(e),[h,d]=ze(e);return p.hint=h.hint=nB,o=rB(o),i=sB(i,o,r),[Me(a,(m,g,y)=>{({data:m,facets:g}=e1(m,g));let x=t==null?void 0:u($a(ct(m,t),y?.[n])),b=ct(m,e,Float64Array),w=ct(m,c),_=i&&i(m,x,b,w),v=ps(m),M=l(new Float64Array(v)),E=d(new Float64Array(v)),T=[];for(let I of g){let A=x?Array.from(Ve(I,k=>x[k]).values()):[I];if(_)for(let k of A)k.sort(_);for(let k of A){let L=0,S=0;s&&k.reverse();for(let C of k){let N=b[C];N<0?L=E[C]=(M[C]=L)+N:N>0?S=E[C]=(M[C]=S)+N:E[C]=M[C]=S}}T.push(A)}return o&&o(T,M,E,w),{data:m,facets:g}}),f,p,h]}function rB(t){if(t!=null){if(typeof t=="function")return t;switch(`${t}`.toLowerCase()){case"expand":case"normalize":return oB;case"center":case"silhouette":return iB;case"wiggle":return kT}throw new Error(`unknown offset: ${t}`)}}function NT(t,e){let n=0,r=0;for(let o of t){let i=e[o];i<n&&(n=i),i>r&&(r=i)}return[n,r]}function oB(t,e,n){for(let r of t)for(let o of r){let[i,s]=NT(o,n);for(let a of o){let c=1/(s-i||1);e[a]=c*(e[a]-i),n[a]=c*(n[a]-i)}}}function iB(t,e,n){for(let r of t){for(let o of r){let[i,s]=NT(o,n);for(let a of o){let c=(s+i)/2;e[a]-=c,n[a]-=c}}RT(r,e,n)}LT(t,e,n)}function kT(t,e,n,r){for(let o of t){let i=new wn,s=0;for(let a of o){let c=-1,f=a.map(h=>Math.abs(n[h]-e[h])),u=a.map(h=>{c=r?r[h]:++c;let d=n[h]-e[h],m=i.has(c)?d-i.get(c):0;return i.set(c,d),m}),p=[0,...Qm(u)];for(let h of a)e[h]+=s,n[h]+=s;let l=Ee(f);l&&(s-=Ee(f,(h,d)=>(u[d]/2+p[d])*h)/l)}RT(o,e,n)}LT(t,e,n)}function RT(t,e,n){let r=At(t,o=>At(o,i=>e[i]));for(let o of t)for(let i of o)e[i]-=r,n[i]-=r}function LT(t,e,n){let r=t.length;if(r===1)return;let o=t.map(a=>a.flat()),i=o.map(a=>(At(a,c=>e[c])+Mt(a,c=>n[c]))/2),s=At(i);for(let a=0;a<r;a++){let c=s-i[a];for(let f of o[a])e[f]+=c,n[f]+=c}}function sB(t,e,n){if(t===void 0&&e===kT)return ST(qe);if(t!=null){if(typeof t=="string"){let r=t.startsWith("-"),o=r?ka:qe;switch((r?t.slice(1):t).toLowerCase()){case"value":case n:return aB(o);case"z":return cB(o);case"sum":return fB(o);case"appearance":return uB(o);case"inside-out":return ST(o)}return AT(M_(t))}if(typeof t=="function")return(t.length===1?AT:lB)(t);if(qn(t))return pB(t);throw new Error(`invalid order: ${t}`)}}function aB(t){return(e,n,r)=>(o,i)=>t(r[o],r[i])}function cB(t){return(e,n,r,o)=>(i,s)=>t(o[i],o[s])}function fB(t){return n1(t,(e,n,r,o)=>Cc(Rn(e),i=>Ee(i,s=>r[s]),i=>o[i]))}function uB(t){return n1(t,(e,n,r,o)=>Cc(Rn(e),i=>n[ra(i,s=>r[s])],i=>o[i]))}function ST(t){return n1(t,(e,n,r,o)=>{let i=Rn(e),s=Cc(i,p=>n[ra(p,l=>r[l])],p=>o[p]),a=kr(i,p=>Ee(p,l=>r[l]),p=>o[p]),c=[],f=[],u=0;for(let p of s)u<0?(u+=a.get(p),c.push(p)):(u-=a.get(p),f.push(p));return f.reverse().concat(c)})}function AT(t){return e=>{let n=ct(e,t);return(r,o)=>qe(n[r],n[o])}}function lB(t){return e=>qn(e)?(n,r)=>t(e[n],e[r]):(n,r)=>t(e.get(n),e.get(r))}function pB(t){return n1(qe,()=>t)}function n1(t,e){return(n,r,o,i)=>{if(!i)throw new Error("missing channel: z");let s=new wn(e(n,r,o,i).map((a,c)=>[a,c]));return(a,c)=>t(s.get(i[a]),s.get(i[c]))}}var hB={ariaLabel:"rect"},Wa=class extends ft{constructor(e,n={}){let{x1:r,y1:o,x2:i,y2:s}=n;super(e,{x1:{value:r,scale:"x",type:r!=null&&i==null?"band":void 0,optional:!0},y1:{value:o,scale:"y",type:o!=null&&s==null?"band":void 0,optional:!0},x2:{value:i,scale:"x",optional:!0},y2:{value:s,scale:"y",optional:!0}},n,hB),hh(this,n),dh(this,n)}render(e,n,r,o,i){let{x:s,y:a}=n,{x1:c,y1:f,x2:u,y2:p}=r,{marginTop:l,marginRight:h,marginBottom:d,marginLeft:m,width:g,height:y}=o,{projection:x}=i,{insetTop:b,insetRight:w,insetBottom:_,insetLeft:v}=this,{rx:M,ry:E,rx1y1:T,rx1y2:I,rx2y1:A,rx2y2:k}=this;(c||u)&&!x&&tr(s)&&(c=u=null),(f||p)&&!x&&tr(a)&&(f=p=null);let L=s?.bandwidth?s.bandwidth():0,S=a?.bandwidth?a.bandwidth():0;return rt("svg:g",i).call(gt,this,o,i).call(ht,this,{},0,0).call(C=>C.selectAll().data(e).enter().call(T||I||A||k?N=>N.append("path").call(lt,this).call(mh,c&&u?R=>c[R]+(u[R]<c[R]?-w:v):c?R=>c[R]+v:m+v,f&&p?R=>f[R]+(p[R]<f[R]?-_:b):f?R=>f[R]+b:l+b,c&&u?R=>u[R]-(u[R]<c[R]?-v:w):c?R=>c[R]+L-w:g-h-w,f&&p?R=>p[R]-(p[R]<f[R]?-b:_):f?R=>f[R]+S-_:y-d-_,this).call(_t,this,r):N=>N.append("rect").call(lt,this).attr("x",c?u?R=>Math.min(c[R],u[R])+v:R=>c[R]+v:m+v).attr("y",f?p?R=>Math.min(f[R],p[R])+b:R=>f[R]+b:l+b).attr("width",c?u?R=>Math.max(0,Math.abs(u[R]-c[R])+L-v-w):L-v-w:g-h-m-w-v).attr("height",f?p?R=>Math.max(0,Math.abs(f[R]-p[R])+S-b-_):S-b-_:y-l-d-b-_).call(ot,"rx",M).call(ot,"ry",E).call(_t,this,r))).node()}};function hh(t,{inset:e=0,insetTop:n=e,insetRight:r=e,insetBottom:o=e,insetLeft:i=e}={}){t.insetTop=Rt(n),t.insetRight=Rt(r),t.insetBottom=Rt(o),t.insetLeft=Rt(i)}function dh(t,{r:e,rx:n,ry:r,rx1:o=e,ry1:i=e,rx2:s=e,ry2:a=e,rx1y1:c=o!==void 0?+o:i!==void 0?+i:0,rx1y2:f=o!==void 0?+o:a!==void 0?+a:0,rx2y1:u=s!==void 0?+s:i!==void 0?+i:0,rx2y2:p=s!==void 0?+s:a!==void 0?+a:0}={}){c||f||u||p?(t.rx1y1=c,t.rx1y2=f,t.rx2y1=u,t.rx2y2=p):(t.rx=Vt(n,"auto"),t.ry=Vt(r,"auto"))}function mh(t,e,n,r,o,i){let{rx1y1:s,rx1y2:a,rx2y1:c,rx2y2:f}=i;typeof e!="function"&&(e=oe(e)),typeof n!="function"&&(n=oe(n)),typeof r!="function"&&(r=oe(r)),typeof o!="function"&&(o=oe(o));let u=Math.max(Math.abs(s+c),Math.abs(a+f)),p=Math.max(Math.abs(s+a),Math.abs(c+f));t.attr("d",l=>{let h=e(l),d=n(l),m=r(l),g=o(l),y=h>m,x=d>g,b=y?m:h,w=y?h:m,_=x?g:d,v=x?d:g,M=Math.min(1,(w-b)/u,(v-_)/p),E=M*(y?x?f:c:x?a:s),T=M*(y?x?a:s:x?f:c),I=M*(y?x?s:a:x?c:f),A=M*(y?x?c:f:x?s:a);return`M${b},${_+o1(E,A)}A${E},${E} 0 0 ${E<0?0:1} ${b+r1(E,A)},${_}H${w-r1(T,I)}A${T},${T} 0 0 ${T<0?0:1} ${w},${_+o1(T,I)}V${v-o1(I,T)}A${I},${I} 0 0 ${I<0?0:1} ${w-r1(I,T)},${v}H${b+r1(A,E)}A${A},${A} 0 0 ${A<0?0:1} ${b},${v-o1(A,E)}Z`})}function r1(t,e){return e<0?t:Math.abs(t)}function o1(t,e){return e<0?Math.abs(t):t}function gh(t,e){return new Wa(t,M6(S6(e)))}function Wf(t,e={}){return xi(e)||(e={...e,y:Xt,x2:X,interval:1}),new Wa(t,Ts(S6(As(e))))}function Gf(t,e={}){return xi(e)||(e={...e,x:Xt,y2:X,interval:1}),new Wa(t,Is(M6(Es(e))))}var dB={ariaLabel:"frame",fill:"none",stroke:"currentColor",clip:!1},mB={ariaLabel:"frame",fill:null,stroke:"currentColor",strokeLinecap:"square",clip:!1},yh=class extends ft{constructor(e={}){let{anchor:n=null}=e;super(fs,void 0,e,n==null?dB:mB),this.anchor=T_(n,"anchor",["top","right","bottom","left"]),hh(this,e),n||dh(this,e)}render(e,n,r,o,i){let{marginTop:s,marginRight:a,marginBottom:c,marginLeft:f,width:u,height:p}=o,{anchor:l,insetTop:h,insetRight:d,insetBottom:m,insetLeft:g}=this,{rx:y,ry:x,rx1y1:b,rx1y2:w,rx2y1:_,rx2y2:v}=this,M=f+g,E=u-a-d,T=s+h,I=p-c-m;return rt(l?"svg:line":b||w||_||v?"svg:path":"svg:rect",i).datum(0).call(gt,this,o,i).call(lt,this).call(_t,this,r).call(ht,this,{}).call(l==="left"?A=>A.attr("x1",M).attr("x2",M).attr("y1",T).attr("y2",I):l==="right"?A=>A.attr("x1",E).attr("x2",E).attr("y1",T).attr("y2",I):l==="top"?A=>A.attr("x1",M).attr("x2",E).attr("y1",T).attr("y2",T):l==="bottom"?A=>A.attr("x1",M).attr("x2",E).attr("y1",I).attr("y2",I):b||w||_||v?A=>A.call(mh,M,T,E,I,this):A=>A.attr("x",M).attr("y",T).attr("width",E-M).attr("height",I-T).attr("rx",y).attr("ry",x)).node()}};function Vf(t){return new yh(t)}var $6={ariaLabel:"tip",fill:"var(--plot-background)",stroke:"currentColor"},gB=new Set(["geometry","href","src","ariaLabel","scales"]),xh=class extends ft{constructor(e,n={}){n.tip&&(n={...n,tip:!1}),n.title===void 0&&Ln(e)&&lx(e)&&(n={...n,title:X});let{x:r,y:o,x1:i,x2:s,y1:a,y2:c,anchor:f,preferredAnchor:u="bottom",monospace:p,fontFamily:l=p?"ui-monospace, monospace":void 0,fontSize:h,fontStyle:d,fontVariant:m,fontWeight:g,lineHeight:y=1,lineWidth:x=20,frameAnchor:b,format:w,textAnchor:_="start",textOverflow:v,textPadding:M=8,title:E,pointerSize:T=12,pathFilter:I="drop-shadow(0 3px 4px rgba(0,0,0,0.2))"}=n;super(e,{x:{value:i!=null&&s!=null?null:r,scale:"x",optional:!0},y:{value:a!=null&&c!=null?null:o,scale:"y",optional:!0},x1:{value:i,scale:"x",optional:s==null},y1:{value:a,scale:"y",optional:c==null},x2:{value:s,scale:"x",optional:i==null},y2:{value:c,scale:"y",optional:a==null},title:{value:E,optional:!0}},n,$6),this.anchor=hx(f,"anchor"),this.preferredAnchor=hx(u,"preferredAnchor"),this.frameAnchor=_o(b),this.textAnchor=Vt(_,"middle"),this.textPadding=+M,this.pointerSize=+T,this.pathFilter=he(I),this.lineHeight=+y,this.lineWidth=+x,this.textOverflow=E6(v),this.monospace=!!p,this.fontFamily=he(l),this.fontSize=Rt(h),this.fontStyle=he(d),this.fontVariant=he(m),this.fontWeight=he(g);for(let A in $6)A in this.channels&&(this[A]=$6[A]);this.splitLines=I6(this),this.clipLine=C6(this),this.format=typeof w=="string"||typeof w=="function"?{title:w}:{...w}}render(e,n,r,o,i){let s=this,{x:a,y:c,fx:f,fy:u}=n,{ownerSVGElement:p,document:l}=i,{anchor:h,monospace:d,lineHeight:m,lineWidth:g}=this,{textPadding:y,pointerSize:x,pathFilter:b}=this,{marginTop:w,marginLeft:_}=o,{x1:v,y1:M,x2:E,y2:T,x:I=v??E,y:A=M??T}=r,k=f?f(e.fx)-_:0,L=u?u(e.fy)-w:0,[S,C]=Ue(this,o),N=x6(r,S),R=b6(r,C),$=d?jx:Ux,O=$(Ya),D,F;"title"in r?(D=OT.call(this,{title:r.channels.title},n),F=wB):(D=OT.call(this,r.channels,n),F=vB);let P=rt("svg:g",i).call(gt,this,o,i).call(T6,this).call(ht,this,{x:I&&a,y:A&&c}).call(tt=>tt.selectAll().data(e).enter().append("g").attr("transform",nt=>`translate(${Math.round(N(nt))},${Math.round(R(nt))})`).call(lt,this).call(nt=>nt.append("path").attr("filter",b)).call(nt=>nt.append("text").each(function(U){let et=Et(this);this.setAttribute("fill","currentColor"),this.setAttribute("fill-opacity",1),this.setAttribute("stroke","none");let z=F.call(s,U,e,D,n,r);if(typeof z=="string")for(let G of s.splitLines(z))W(et,{value:s.clipLine(G)});else{let G=new Set;for(let J of z){let{label:q=""}=J;q&&G.has(q)||(G.add(q),W(et,J))}}})));function W(tt,{label:nt,value:U,color:et,opacity:z}){nt??="",U??="";let G=et!=null||z!=null,J,q=g*100,[bt]=ja(nt,q,$,O);if(bt>=0)nt=nt.slice(0,bt).trimEnd()+Ya,J=U.trim(),U="";else{(nt||!U&&!G)&&(U=" "+U);let[Tt]=ja(U,q-$(nt),$,O);Tt>=0&&(J=U.trim(),U=U.slice(0,Tt).trimEnd()+Ya)}let st=tt.append("tspan").attr("x",0).attr("dy",`${m}em`).text("\u200B");nt&&st.append("tspan").attr("font-weight","bold").text(nt),U&&st.append(()=>l.createTextNode(U)),G&&st.append("tspan").text(" \u25A0").attr("fill",et).attr("fill-opacity",z).style("user-select","none"),J&&st.append("title").text(J)}function K(){let{width:tt,height:nt}=o.facet??o;P.selectChildren().each(function(U){let{x:et,width:z,height:G}=this.getBBox();z=Math.round(z),G=Math.round(G);let J=h;if(J===void 0){let st=N(U)+k,Tt=R(U)+L,Ct=st+z+x+y*2<tt,Q=st-z-x-y*2>0,qt=Tt+G+x+y*2<nt,zn=Tt-G-x-y*2>0;J=Ct&&Q?qt&&zn?s.preferredAnchor:zn?"bottom":"top":qt&&zn?Ct?"left":"right":(Ct||Q)&&(qt||zn)?`${zn?"bottom":"top"}-${Ct?"left":"right"}`:s.preferredAnchor}let q=this.firstChild,bt=this.lastChild;if(q.setAttribute("d",bB(J,x,y,z,G)),et)for(let st of bt.childNodes)st.setAttribute("x",-et);bt.setAttribute("y",`${+yB(J,bt.childNodes.length,m).toFixed(6)}em`),bt.setAttribute("transform",`translate(${xB(J,x,y,z,G)})`)}),P.attr("visibility",null)}return e.length&&(P.attr("visibility","hidden"),p.isConnected?Promise.resolve().then(K):typeof requestAnimationFrame<"u"&&requestAnimationFrame(K)),P.node()}};function s1(t,{x:e,y:n,...r}={}){return r.frameAnchor===void 0&&([e,n]=fe(e,n)),new xh(t,{...r,x:e,y:n})}function yB(t,e,n){return/^top(?:-|$)/.test(t)?.94-n:-.29-e*n}function xB(t,e,n,r,o){switch(t){case"middle":return[-r/2,o/2];case"top-left":return[n,e+n];case"top":return[-r/2,e/2+n];case"top-right":return[-r-n,e+n];case"right":return[-e/2-r-n,o/2];case"bottom-left":return[n,-e-n];case"bottom":return[-r/2,-e/2-n];case"bottom-right":return[-r-n,-e-n];case"left":return[n+e/2,o/2]}}function bB(t,e,n,r,o){let i=r+n*2,s=o+n*2;switch(t){case"middle":return`M${-i/2},${-s/2}h${i}v${s}h${-i}z`;case"top-left":return`M0,0l${e},${e}h${i-e}v${s}h${-i}z`;case"top":return`M0,0l${e/2},${e/2}h${(i-e)/2}v${s}h${-i}v${-s}h${(i-e)/2}z`;case"top-right":return`M0,0l${-e},${e}h${e-i}v${s}h${i}z`;case"right":return`M0,0l${-e/2},${-e/2}v${e/2-s/2}h${-i}v${s}h${i}v${e/2-s/2}z`;case"bottom-left":return`M0,0l${e},${-e}h${i-e}v${-s}h${-i}z`;case"bottom":return`M0,0l${e/2},${-e/2}h${(i-e)/2}v${-s}h${-i}v${s}h${(i-e)/2}z`;case"bottom-right":return`M0,0l${-e},${-e}h${e-i}v${-s}h${i}z`;case"left":return`M0,0l${e/2},${-e/2}v${e/2-s/2}h${i}v${s}h${-i}v${e/2-s/2}z`}}function OT(t,e){let n={},r=this.format;r=$T(r,t,"x"),r=$T(r,t,"y"),this.format=r;for(let o in r){let i=r[o];if(!(i===null||i===!1))if(o==="fx"||o==="fy")n[o]=!0;else{let s=nh(t,o);s&&(n[o]=s)}}for(let o in t){if(o in n||o in r||gB.has(o)||(o==="x"||o==="y")&&t.geometry)continue;let i=nh(t,o);if(i){if(i.scale==null&&i.defaultScale==="color")continue;n[o]=i}}this.facet&&(e.fx&&!("fx"in r)&&(n.fx=!0),e.fy&&!("fy"in r)&&(n.fy=!0));for(let o in n){let i=this.format[o];if(typeof i=="string"){let s=n[o]?.value??e[o]?.domain()??[];this.format[o]=(re(s)?go:hr)(i)}else if(i===void 0||i===!0){let s=e[o];this.format[o]=s?.bandwidth?ph(s,s.domain()):To}}return n}function $T(t,e,n){if(!(n in t))return t;let r=`${n}1`,o=`${n}2`;if((r in t||!(r in e))&&(o in t||!(o in e)))return t;let i=Object.entries(t),s=t[n];return i.splice(i.findIndex(([a])=>a===n)+1,0,[r,s],[o,s]),Object.fromEntries(i)}function wB(t,e,{title:n}){return this.format.title(n.value[t],t)}function*vB(t,e,n,r,o){for(let i in n){if(i==="fx"||i==="fy"){yield{label:i1(r,n,i),value:this.format[i](e[i],t)};continue}if(i==="x1"&&"x2"in n||i==="y1"&&"y2"in n)continue;let s=n[i];if(i==="x2"&&"x1"in n)yield{label:FT(r,n,"x"),value:DT(this.format.x2,n.x1,s,t)};else if(i==="y2"&&"y1"in n)yield{label:FT(r,n,"y"),value:DT(this.format.y2,n.y1,s,t)};else{let a=s.value[t],c=s.scale;if(!Jt(a)&&c==null)continue;yield{label:i1(r,n,i),value:this.format[i](a,t),color:c==="color"?o[i][t]:null,opacity:c==="opacity"?o[i][t]:null}}}}function DT(t,e,n,r){return n.hint?.length?`${t(n.value[r]-e.value[r],r)}`:`${t(e.value[r],r)}\u2013${t(n.value[r],r)}`}function FT(t,e,n){let r=i1(t,e,`${n}1`,n),o=i1(t,e,`${n}2`,n);return r===o?r:`${r}\u2013${o}`}function i1(t,e,n,r=n){let o=e[n],i=t[o?.scale??n];return String(i?.label??o?.label??r)}function Hf(t={}){let{facet:e,style:n,title:r,subtitle:o,caption:i,ariaLabel:s,ariaDescription:a}=t,c=vs(t.className),f=t.marks===void 0?[]:qT(t.marks);f.push(...TB(f));let u=AB(e,t),p=new Map;for(let O of f){let D=BT(O,u,t);D&&p.set(O,D)}let l=new Map;u&&bh(l,[u],t),bh(l,p,t);let h=qT(IB(f,l,t));for(let O of h){let D=BT(O,u,t);D&&p.set(O,D)}f.unshift(...h);let d=h7(l,t);if(d!==void 0){let O=u?Rx(d,u):void 0;for(let F of f){if(F.facet===null||F.facet==="super")continue;let P=p.get(F);P!==void 0&&(P.facetsIndex=F.fx!=null||F.fy!=null?Rx(d,P):O)}let D=new Set;for(let{facetsIndex:F}of p.values())F?.forEach((P,W)=>{P?.length>0&&D.add(W)});d.forEach(0<D.size&&D.size<d.length?(F,P)=>F.empty=!D.has(P):F=>F.empty=!1);for(let F of f)if(F.facet==="exclude"){let P=p.get(F);P!==void 0&&(P.facetsIndex=g7(P.facetsIndex))}}for(let O of Yt.keys())bo(t[O])&&O!=="fx"&&O!=="fy"&&l.set(O,[]);let m=new Map;for(let O of f){if(m.has(O))throw new Error("duplicate mark; each mark must be unique");let{facetsIndex:D,channels:F}=p.get(O)??{},{data:P,facets:W,channels:K}=O.initialize(D,F,t);P6(K,t),m.set(O,{data:P,facets:W,channels:K})}let g=ih(bh(l,m,t),t),y=N7(g,f,t);s7(g,y);let x=r6(g),{fx:b,fy:w}=x,_=b||w?o6(g,y):y,v=b||w?$B(x,y):y,M=bs(t),E=M.document,T=Ko("svg").call(E.documentElement),I=T;M.ownerSVGElement=T,M.className=c,M.projection=b7(t,_),M.filterFacets=(O,D)=>Rx(d,{channels:D,groups:Nx(O,D)}),M.getMarkState=O=>{let D=m.get(O),F=p.get(O);return{...D,channels:{...D.channels,...F?.channels}}},M.dispatchValue=O=>{I.value!==O&&(I.value=O,I.dispatchEvent(new Event("input",{bubbles:!0})))};let A=new Set;for(let[O,D]of m)if(O.initializer!=null){let F=O.facet==="super"?v:_,P=O.initializer(D.data,D.facets,D.channels,x,F,M);if(P.data!==void 0&&(D.data=P.data),P.facets!==void 0&&(D.facets=P.facets),P.channels!==void 0){let{fx:W,fy:K,...tt}=P.channels;SB(tt),Object.assign(D.channels,tt);for(let nt of Object.values(tt)){let{scale:U}=nt;U!=null&&!sE(Yt.get(U))&&(UT(nt,t),A.add(U))}(W!=null||K!=null)&&p.set(O,!0)}}if(A.size){let O=new Map;bh(O,m,t,W=>A.has(W)),bh(l,m,t,W=>A.has(W));let D=OB(ih(O,t),g),{scales:F,...P}=r6(D);Object.assign(g,D),Object.assign(x,P),Object.assign(x.scales,F)}let k,L;d!==void 0&&(k={x:b?.domain(),y:w?.domain()},d=d7(d,k),L=m7(b,w,y));for(let[O,D]of m)D.values=O.scale(D.channels,x,M);let{width:S,height:C}=y;Et(T).attr("class",c).attr("fill","currentColor").attr("font-family","system-ui, sans-serif").attr("font-size",10).attr("text-anchor","middle").attr("width",S).attr("height",C).attr("viewBox",`0 0 ${S} ${C}`).attr("aria-label",s).attr("aria-description",a).call(O=>O.append("style").text(`:where(.${c}) {
|
|
50
|
+
${m}`)).style("margin-left",f?`${+f}px`:null).style("width",l===void 0?null:`${+l}px`).style("font-variant",Vt(i,"normal")).call(Bf,p).node()}var e1=new Map([["symbol",xT],["color",_T],["opacity",nB]]);function wT(t={}){for(let[e,n]of e1){let r=t[e];if(bo(r)){let o=ws(t),i;if(e==="symbol"){let{fill:s,stroke:a=s===void 0&&bo(t.color)?"color":void 0}=t;i={fill:s,stroke:a}}return n(Cx(e,r,i),L6(o,r,t),s=>bo(t[s])?Cx(s,t[s]):null)}}throw new Error("unknown legend type; no scale found")}function vT(t,e,n={}){return(r,o)=>{if(!e1.has(r))throw new Error(`unknown legend type: ${r}`);if(r in t)return e1.get(r)(t[r],L6(e,n[r],o),i=>t[i])}}function L6({className:t,...e},{label:n,ticks:r,tickFormat:o}={},i){return nE(i,{className:t,...e},{label:n,ticks:r,tickFormat:o})}function _T(t,{legend:e=!0,...n}){if(e===!0&&(e=t.type==="ordinal"?"swatches":"ramp"),t.domain!==void 0)switch(`${e}`.toLowerCase()){case"swatches":return yT(t,n);case"ramp":return R7(t,n);default:throw new Error(`unknown legend type: ${e}`)}}function nB({type:t,interpolate:e,...n},{legend:r=!0,color:o=Te(0,0,0),...i}){if(!e)throw new Error(`${t} opacity scales are not supported`);if(r===!0&&(r="ramp"),`${r}`.toLowerCase()!=="ramp")throw new Error(`${r} opacity legends are not supported`);return _T({type:t,...n,interpolate:rB(o)},{legend:r,...i})}function rB(t){let{r:e,g:n,b:r}=Te(t)||Te(0,0,0);return o=>`rgba(${e},${n},${r},${o})`}function MT(t,e,n){let r=[];for(let[o,i]of e1){let s=n[o];if(s?.legend&&o in t){let a=i(t[o],L6(e,t[o],s),c=>t[c]);a!=null&&r.push(a)}}return r}function Es(t={}){return C_(t)?t:{...t,x:X}}function Ts(t={}){return N_(t)?t:{...t,y:X}}function n1(t,e){if(e.length===1)return{data:t,facets:e};let n=hs(t),r=new Uint8Array(n),o=0;for(let a of e)for(let c of a)r[c]&&++o,r[c]=1;if(o===0)return{data:t,facets:e};t=ps(t);let i=t[__]=new Uint32Array(n+o);e=e.map(a=>ps(a,Uint32Array));let s=n;r.fill(0);for(let a of e)for(let c=0,f=a.length;c<f;++c){let u=a[c];r[u]?(a[c]=s,t[s]=t[u],i[s]=u,++s):i[u]=u,r[u]=1}return{data:t,facets:e}}function O6(t={},e={}){arguments.length===1&&([t,e]=Wf(t));let{y1:n,y:r=n,x:o,...i}=e,[s,a,c,f]=Gf(r,o,"y","x",t,i);return{...s,y1:n,y:a,x1:c,x2:f,x:If(c,f)}}function ET(t={},e={}){arguments.length===1&&([t,e]=Wf(t));let{y1:n,y:r=n,x:o}=e,[i,s,a]=Gf(r,o,"y","x",t,e);return{...i,y1:n,y:s,x:a}}function TT(t={},e={}){arguments.length===1&&([t,e]=Wf(t));let{y1:n,y:r=n,x:o}=e,[i,s,,a]=Gf(r,o,"y","x",t,e);return{...i,y1:n,y:s,x:a}}function $6(t={},e={}){arguments.length===1&&([t,e]=Wf(t));let{x1:n,x:r=n,y:o,...i}=e,[s,a,c,f]=Gf(r,o,"x","y",t,i);return{...s,x1:n,x:a,y1:c,y2:f,y:If(c,f)}}function IT(t={},e={}){arguments.length===1&&([t,e]=Wf(t));let{x1:n,x:r=n,y:o}=e,[i,s,a]=Gf(r,o,"x","y",t,e);return{...i,x1:n,x:s,y:a}}function CT(t={},e={}){arguments.length===1&&([t,e]=Wf(t));let{x1:n,x:r=n,y:o}=e,[i,s,,a]=Gf(r,o,"x","y",t,e);return{...i,x1:n,x:s,y:a}}function Is({x:t,x1:e,x2:n,...r}={}){return r=Fr(r,"y"),e===void 0&&n===void 0?O6({x:t,...r}):([e,n]=k_(t,e,n),{...r,x1:e,x2:n})}function Cs({y:t,y1:e,y2:n,...r}={}){return r=Fr(r,"x"),e===void 0&&n===void 0?$6({y:t,...r}):([e,n]=k_(t,e,n),{...r,y1:e,y2:n})}function Wf(t){let{offset:e,order:n,reverse:r,...o}=t;return[{offset:e,order:n,reverse:r},o]}var oB={length:!0};function Gf(t,e=Qp,n,r,{offset:o,order:i,reverse:s},a){if(e===null)throw new Error(`stack requires ${r}`);let c=hn(a),[f,u]=Ke(t),[p,l]=ze(e),[h,d]=ze(e);return p.hint=h.hint=oB,o=iB(o),i=cB(i,o,r),[Me(a,(m,g,y)=>{({data:m,facets:g}=n1(m,g));let x=t==null?void 0:u(Da(ct(m,t),y?.[n])),b=ct(m,e,Float64Array),w=ct(m,c),_=i&&i(m,x,b,w),v=hs(m),M=l(new Float64Array(v)),E=d(new Float64Array(v)),T=[];for(let I of g){let A=x?Array.from(Ve(I,k=>x[k]).values()):[I];if(_)for(let k of A)k.sort(_);for(let k of A){let L=0,S=0;s&&k.reverse();for(let C of k){let N=b[C];N<0?L=E[C]=(M[C]=L)+N:N>0?S=E[C]=(M[C]=S)+N:E[C]=M[C]=S}}T.push(A)}return o&&o(T,M,E,w),{data:m,facets:g}}),f,p,h]}function iB(t){if(t!=null){if(typeof t=="function")return t;switch(`${t}`.toLowerCase()){case"expand":case"normalize":return sB;case"center":case"silhouette":return aB;case"wiggle":return kT}throw new Error(`unknown offset: ${t}`)}}function NT(t,e){let n=0,r=0;for(let o of t){let i=e[o];i<n&&(n=i),i>r&&(r=i)}return[n,r]}function sB(t,e,n){for(let r of t)for(let o of r){let[i,s]=NT(o,n);for(let a of o){let c=1/(s-i||1);e[a]=c*(e[a]-i),n[a]=c*(n[a]-i)}}}function aB(t,e,n){for(let r of t){for(let o of r){let[i,s]=NT(o,n);for(let a of o){let c=(s+i)/2;e[a]-=c,n[a]-=c}}RT(r,e,n)}LT(t,e,n)}function kT(t,e,n,r){for(let o of t){let i=new wn,s=0;for(let a of o){let c=-1,f=a.map(h=>Math.abs(n[h]-e[h])),u=a.map(h=>{c=r?r[h]:++c;let d=n[h]-e[h],m=i.has(c)?d-i.get(c):0;return i.set(c,d),m}),p=[0,...Zm(u)];for(let h of a)e[h]+=s,n[h]+=s;let l=Ee(f);l&&(s-=Ee(f,(h,d)=>(u[d]/2+p[d])*h)/l)}RT(o,e,n)}LT(t,e,n)}function RT(t,e,n){let r=At(t,o=>At(o,i=>e[i]));for(let o of t)for(let i of o)e[i]-=r,n[i]-=r}function LT(t,e,n){let r=t.length;if(r===1)return;let o=t.map(a=>a.flat()),i=o.map(a=>(At(a,c=>e[c])+Mt(a,c=>n[c]))/2),s=At(i);for(let a=0;a<r;a++){let c=s-i[a];for(let f of o[a])e[f]+=c,n[f]+=c}}function cB(t,e,n){if(t===void 0&&e===kT)return ST(qe);if(t!=null){if(typeof t=="string"){let r=t.startsWith("-"),o=r?Ra:qe;switch((r?t.slice(1):t).toLowerCase()){case"value":case n:return fB(o);case"z":return uB(o);case"sum":return lB(o);case"appearance":return pB(o);case"inside-out":return ST(o)}return AT(S_(t))}if(typeof t=="function")return(t.length===1?AT:hB)(t);if(qn(t))return dB(t);throw new Error(`invalid order: ${t}`)}}function fB(t){return(e,n,r)=>(o,i)=>t(r[o],r[i])}function uB(t){return(e,n,r,o)=>(i,s)=>t(o[i],o[s])}function lB(t){return r1(t,(e,n,r,o)=>kc(Rn(e),i=>Ee(i,s=>r[s]),i=>o[i]))}function pB(t){return r1(t,(e,n,r,o)=>kc(Rn(e),i=>n[oa(i,s=>r[s])],i=>o[i]))}function ST(t){return r1(t,(e,n,r,o)=>{let i=Rn(e),s=kc(i,p=>n[oa(p,l=>r[l])],p=>o[p]),a=kr(i,p=>Ee(p,l=>r[l]),p=>o[p]),c=[],f=[],u=0;for(let p of s)u<0?(u+=a.get(p),c.push(p)):(u-=a.get(p),f.push(p));return f.reverse().concat(c)})}function AT(t){return e=>{let n=ct(e,t);return(r,o)=>qe(n[r],n[o])}}function hB(t){return e=>qn(e)?(n,r)=>t(e[n],e[r]):(n,r)=>t(e.get(n),e.get(r))}function dB(t){return r1(qe,()=>t)}function r1(t,e){return(n,r,o,i)=>{if(!i)throw new Error("missing channel: z");let s=new wn(e(n,r,o,i).map((a,c)=>[a,c]));return(a,c)=>t(s.get(i[a]),s.get(i[c]))}}var mB={ariaLabel:"rect"},Ga=class extends ft{constructor(e,n={}){let{x1:r,y1:o,x2:i,y2:s}=n;super(e,{x1:{value:r,scale:"x",type:r!=null&&i==null?"band":void 0,optional:!0},y1:{value:o,scale:"y",type:o!=null&&s==null?"band":void 0,optional:!0},x2:{value:i,scale:"x",optional:!0},y2:{value:s,scale:"y",optional:!0}},n,mB),dh(this,n),mh(this,n)}render(e,n,r,o,i){let{x:s,y:a}=n,{x1:c,y1:f,x2:u,y2:p}=r,{marginTop:l,marginRight:h,marginBottom:d,marginLeft:m,width:g,height:y}=o,{projection:x}=i,{insetTop:b,insetRight:w,insetBottom:_,insetLeft:v}=this,{rx:M,ry:E,rx1y1:T,rx1y2:I,rx2y1:A,rx2y2:k}=this;(c||u)&&!x&&tr(s)&&(c=u=null),(f||p)&&!x&&tr(a)&&(f=p=null);let L=s?.bandwidth?s.bandwidth():0,S=a?.bandwidth?a.bandwidth():0;return rt("svg:g",i).call(gt,this,o,i).call(ht,this,{},0,0).call(C=>C.selectAll().data(e).enter().call(T||I||A||k?N=>N.append("path").call(lt,this).call(gh,c&&u?R=>c[R]+(u[R]<c[R]?-w:v):c?R=>c[R]+v:m+v,f&&p?R=>f[R]+(p[R]<f[R]?-_:b):f?R=>f[R]+b:l+b,c&&u?R=>u[R]-(u[R]<c[R]?-v:w):c?R=>c[R]+L-w:g-h-w,f&&p?R=>p[R]-(p[R]<f[R]?-b:_):f?R=>f[R]+S-_:y-d-_,this).call(_t,this,r):N=>N.append("rect").call(lt,this).attr("x",c?u?R=>Math.min(c[R],u[R])+v:R=>c[R]+v:m+v).attr("y",f?p?R=>Math.min(f[R],p[R])+b:R=>f[R]+b:l+b).attr("width",c?u?R=>Math.max(0,Math.abs(u[R]-c[R])+L-v-w):L-v-w:g-h-m-w-v).attr("height",f?p?R=>Math.max(0,Math.abs(f[R]-p[R])+S-b-_):S-b-_:y-l-d-b-_).call(ot,"rx",M).call(ot,"ry",E).call(_t,this,r))).node()}};function dh(t,{inset:e=0,insetTop:n=e,insetRight:r=e,insetBottom:o=e,insetLeft:i=e}={}){t.insetTop=Rt(n),t.insetRight=Rt(r),t.insetBottom=Rt(o),t.insetLeft=Rt(i)}function mh(t,{r:e,rx:n,ry:r,rx1:o=e,ry1:i=e,rx2:s=e,ry2:a=e,rx1y1:c=o!==void 0?+o:i!==void 0?+i:0,rx1y2:f=o!==void 0?+o:a!==void 0?+a:0,rx2y1:u=s!==void 0?+s:i!==void 0?+i:0,rx2y2:p=s!==void 0?+s:a!==void 0?+a:0}={}){c||f||u||p?(t.rx1y1=c,t.rx1y2=f,t.rx2y1=u,t.rx2y2=p):(t.rx=Vt(n,"auto"),t.ry=Vt(r,"auto"))}function gh(t,e,n,r,o,i){let{rx1y1:s,rx1y2:a,rx2y1:c,rx2y2:f}=i;typeof e!="function"&&(e=oe(e)),typeof n!="function"&&(n=oe(n)),typeof r!="function"&&(r=oe(r)),typeof o!="function"&&(o=oe(o));let u=Math.max(Math.abs(s+c),Math.abs(a+f)),p=Math.max(Math.abs(s+a),Math.abs(c+f));t.attr("d",l=>{let h=e(l),d=n(l),m=r(l),g=o(l),y=h>m,x=d>g,b=y?m:h,w=y?h:m,_=x?g:d,v=x?d:g,M=Math.min(1,(w-b)/u,(v-_)/p),E=M*(y?x?f:c:x?a:s),T=M*(y?x?a:s:x?f:c),I=M*(y?x?s:a:x?c:f),A=M*(y?x?c:f:x?s:a);return`M${b},${_+i1(E,A)}A${E},${E} 0 0 ${E<0?0:1} ${b+o1(E,A)},${_}H${w-o1(T,I)}A${T},${T} 0 0 ${T<0?0:1} ${w},${_+i1(T,I)}V${v-i1(I,T)}A${I},${I} 0 0 ${I<0?0:1} ${w-o1(I,T)},${v}H${b+o1(A,E)}A${A},${A} 0 0 ${A<0?0:1} ${b},${v-i1(A,E)}Z`})}function o1(t,e){return e<0?t:Math.abs(t)}function i1(t,e){return e<0?Math.abs(t):t}function yh(t,e){return new Ga(t,S6(A6(e)))}function Vf(t,e={}){return xi(e)||(e={...e,y:Xt,x2:X,interval:1}),new Ga(t,Is(A6(Es(e))))}function Hf(t,e={}){return xi(e)||(e={...e,x:Xt,y2:X,interval:1}),new Ga(t,Cs(S6(Ts(e))))}var gB={ariaLabel:"frame",fill:"none",stroke:"currentColor",clip:!1},yB={ariaLabel:"frame",fill:null,stroke:"currentColor",strokeLinecap:"square",clip:!1},xh=class extends ft{constructor(e={}){let{anchor:n=null}=e;super(us,void 0,e,n==null?gB:yB),this.anchor=I_(n,"anchor",["top","right","bottom","left"]),dh(this,e),n||mh(this,e)}render(e,n,r,o,i){let{marginTop:s,marginRight:a,marginBottom:c,marginLeft:f,width:u,height:p}=o,{anchor:l,insetTop:h,insetRight:d,insetBottom:m,insetLeft:g}=this,{rx:y,ry:x,rx1y1:b,rx1y2:w,rx2y1:_,rx2y2:v}=this,M=f+g,E=u-a-d,T=s+h,I=p-c-m;return rt(l?"svg:line":b||w||_||v?"svg:path":"svg:rect",i).datum(0).call(gt,this,o,i).call(lt,this).call(_t,this,r).call(ht,this,{}).call(l==="left"?A=>A.attr("x1",M).attr("x2",M).attr("y1",T).attr("y2",I):l==="right"?A=>A.attr("x1",E).attr("x2",E).attr("y1",T).attr("y2",I):l==="top"?A=>A.attr("x1",M).attr("x2",E).attr("y1",T).attr("y2",T):l==="bottom"?A=>A.attr("x1",M).attr("x2",E).attr("y1",I).attr("y2",I):b||w||_||v?A=>A.call(gh,M,T,E,I,this):A=>A.attr("x",M).attr("y",T).attr("width",E-M).attr("height",I-T).attr("rx",y).attr("ry",x)).node()}};function Qf(t){return new xh(t)}var D6={ariaLabel:"tip",fill:"var(--plot-background)",stroke:"currentColor"},xB=new Set(["geometry","href","src","ariaLabel","scales"]),bh=class extends ft{constructor(e,n={}){n.tip&&(n={...n,tip:!1}),n.title===void 0&&Ln(e)&&px(e)&&(n={...n,title:X});let{x:r,y:o,x1:i,x2:s,y1:a,y2:c,anchor:f,preferredAnchor:u="bottom",monospace:p,fontFamily:l=p?"ui-monospace, monospace":void 0,fontSize:h,fontStyle:d,fontVariant:m,fontWeight:g,lineHeight:y=1,lineWidth:x=20,frameAnchor:b,format:w,textAnchor:_="start",textOverflow:v,textPadding:M=8,title:E,pointerSize:T=12,pathFilter:I="drop-shadow(0 3px 4px rgba(0,0,0,0.2))"}=n;super(e,{x:{value:i!=null&&s!=null?null:r,scale:"x",optional:!0},y:{value:a!=null&&c!=null?null:o,scale:"y",optional:!0},x1:{value:i,scale:"x",optional:s==null},y1:{value:a,scale:"y",optional:c==null},x2:{value:s,scale:"x",optional:i==null},y2:{value:c,scale:"y",optional:a==null},title:{value:E,optional:!0}},n,D6),this.anchor=dx(f,"anchor"),this.preferredAnchor=dx(u,"preferredAnchor"),this.frameAnchor=_o(b),this.textAnchor=Vt(_,"middle"),this.textPadding=+M,this.pointerSize=+T,this.pathFilter=he(I),this.lineHeight=+y,this.lineWidth=+x,this.textOverflow=T6(v),this.monospace=!!p,this.fontFamily=he(l),this.fontSize=Rt(h),this.fontStyle=he(d),this.fontVariant=he(m),this.fontWeight=he(g);for(let A in D6)A in this.channels&&(this[A]=D6[A]);this.splitLines=C6(this),this.clipLine=N6(this),this.format=typeof w=="string"||typeof w=="function"?{title:w}:{...w}}render(e,n,r,o,i){let s=this,{x:a,y:c,fx:f,fy:u}=n,{ownerSVGElement:p,document:l}=i,{anchor:h,monospace:d,lineHeight:m,lineWidth:g}=this,{textPadding:y,pointerSize:x,pathFilter:b}=this,{marginTop:w,marginLeft:_}=o,{x1:v,y1:M,x2:E,y2:T,x:I=v??E,y:A=M??T}=r,k=f?f(e.fx)-_:0,L=u?u(e.fy)-w:0,[S,C]=Ue(this,o),N=b6(r,S),R=w6(r,C),$=d?Xx:jx,O=$(Ua),D,F;"title"in r?(D=OT.call(this,{title:r.channels.title},n),F=_B):(D=OT.call(this,r.channels,n),F=MB);let P=rt("svg:g",i).call(gt,this,o,i).call(I6,this).call(ht,this,{x:I&&a,y:A&&c}).call(tt=>tt.selectAll().data(e).enter().append("g").attr("transform",nt=>`translate(${Math.round(N(nt))},${Math.round(R(nt))})`).call(lt,this).call(nt=>nt.append("path").attr("filter",b)).call(nt=>nt.append("text").each(function(U){let et=Et(this);this.setAttribute("fill","currentColor"),this.setAttribute("fill-opacity",1),this.setAttribute("stroke","none");let z=F.call(s,U,e,D,n,r);if(typeof z=="string")for(let G of s.splitLines(z))W(et,{value:s.clipLine(G)});else{let G=new Set;for(let J of z){let{label:q=""}=J;q&&G.has(q)||(G.add(q),W(et,J))}}})));function W(tt,{label:nt,value:U,color:et,opacity:z}){nt??="",U??="";let G=et!=null||z!=null,J,q=g*100,[bt]=Xa(nt,q,$,O);if(bt>=0)nt=nt.slice(0,bt).trimEnd()+Ua,J=U.trim(),U="";else{(nt||!U&&!G)&&(U=" "+U);let[Tt]=Xa(U,q-$(nt),$,O);Tt>=0&&(J=U.trim(),U=U.slice(0,Tt).trimEnd()+Ua)}let st=tt.append("tspan").attr("x",0).attr("dy",`${m}em`).text("\u200B");nt&&st.append("tspan").attr("font-weight","bold").text(nt),U&&st.append(()=>l.createTextNode(U)),G&&st.append("tspan").text(" \u25A0").attr("fill",et).attr("fill-opacity",z).style("user-select","none"),J&&st.append("title").text(J)}function K(){let{width:tt,height:nt}=o.facet??o;P.selectChildren().each(function(U){let{x:et,width:z,height:G}=this.getBBox();z=Math.round(z),G=Math.round(G);let J=h;if(J===void 0){let st=N(U)+k,Tt=R(U)+L,Ct=st+z+x+y*2<tt,Q=st-z-x-y*2>0,Bt=Tt+G+x+y*2<nt,zn=Tt-G-x-y*2>0;J=Ct&&Q?Bt&&zn?s.preferredAnchor:zn?"bottom":"top":Bt&&zn?Ct?"left":"right":(Ct||Q)&&(Bt||zn)?`${zn?"bottom":"top"}-${Ct?"left":"right"}`:s.preferredAnchor}let q=this.firstChild,bt=this.lastChild;if(q.setAttribute("d",vB(J,x,y,z,G)),et)for(let st of bt.childNodes)st.setAttribute("x",-et);bt.setAttribute("y",`${+bB(J,bt.childNodes.length,m).toFixed(6)}em`),bt.setAttribute("transform",`translate(${wB(J,x,y,z,G)})`)}),P.attr("visibility",null)}return e.length&&(P.attr("visibility","hidden"),p.isConnected?Promise.resolve().then(K):typeof requestAnimationFrame<"u"&&requestAnimationFrame(K)),P.node()}};function a1(t,{x:e,y:n,...r}={}){return r.frameAnchor===void 0&&([e,n]=fe(e,n)),new bh(t,{...r,x:e,y:n})}function bB(t,e,n){return/^top(?:-|$)/.test(t)?.94-n:-.29-e*n}function wB(t,e,n,r,o){switch(t){case"middle":return[-r/2,o/2];case"top-left":return[n,e+n];case"top":return[-r/2,e/2+n];case"top-right":return[-r-n,e+n];case"right":return[-e/2-r-n,o/2];case"bottom-left":return[n,-e-n];case"bottom":return[-r/2,-e/2-n];case"bottom-right":return[-r-n,-e-n];case"left":return[n+e/2,o/2]}}function vB(t,e,n,r,o){let i=r+n*2,s=o+n*2;switch(t){case"middle":return`M${-i/2},${-s/2}h${i}v${s}h${-i}z`;case"top-left":return`M0,0l${e},${e}h${i-e}v${s}h${-i}z`;case"top":return`M0,0l${e/2},${e/2}h${(i-e)/2}v${s}h${-i}v${-s}h${(i-e)/2}z`;case"top-right":return`M0,0l${-e},${e}h${e-i}v${s}h${i}z`;case"right":return`M0,0l${-e/2},${-e/2}v${e/2-s/2}h${-i}v${s}h${i}v${e/2-s/2}z`;case"bottom-left":return`M0,0l${e},${-e}h${i-e}v${-s}h${-i}z`;case"bottom":return`M0,0l${e/2},${-e/2}h${(i-e)/2}v${-s}h${-i}v${s}h${(i-e)/2}z`;case"bottom-right":return`M0,0l${-e},${-e}h${e-i}v${-s}h${i}z`;case"left":return`M0,0l${e/2},${-e/2}v${e/2-s/2}h${i}v${s}h${-i}v${e/2-s/2}z`}}function OT(t,e){let n={},r=this.format;r=$T(r,t,"x"),r=$T(r,t,"y"),this.format=r;for(let o in r){let i=r[o];if(!(i===null||i===!1))if(o==="fx"||o==="fy")n[o]=!0;else{let s=rh(t,o);s&&(n[o]=s)}}for(let o in t){if(o in n||o in r||xB.has(o)||(o==="x"||o==="y")&&t.geometry)continue;let i=rh(t,o);if(i){if(i.scale==null&&i.defaultScale==="color")continue;n[o]=i}}this.facet&&(e.fx&&!("fx"in r)&&(n.fx=!0),e.fy&&!("fy"in r)&&(n.fy=!0));for(let o in n){let i=this.format[o];if(typeof i=="string"){let s=n[o]?.value??e[o]?.domain()??[];this.format[o]=(re(s)?go:hr)(i)}else if(i===void 0||i===!0){let s=e[o];this.format[o]=s?.bandwidth?hh(s,s.domain()):To}}return n}function $T(t,e,n){if(!(n in t))return t;let r=`${n}1`,o=`${n}2`;if((r in t||!(r in e))&&(o in t||!(o in e)))return t;let i=Object.entries(t),s=t[n];return i.splice(i.findIndex(([a])=>a===n)+1,0,[r,s],[o,s]),Object.fromEntries(i)}function _B(t,e,{title:n}){return this.format.title(n.value[t],t)}function*MB(t,e,n,r,o){for(let i in n){if(i==="fx"||i==="fy"){yield{label:s1(r,n,i),value:this.format[i](e[i],t)};continue}if(i==="x1"&&"x2"in n||i==="y1"&&"y2"in n)continue;let s=n[i];if(i==="x2"&&"x1"in n)yield{label:FT(r,n,"x"),value:DT(this.format.x2,n.x1,s,t)};else if(i==="y2"&&"y1"in n)yield{label:FT(r,n,"y"),value:DT(this.format.y2,n.y1,s,t)};else{let a=s.value[t],c=s.scale;if(!Jt(a)&&c==null)continue;yield{label:s1(r,n,i),value:this.format[i](a,t),color:c==="color"?o[i][t]:null,opacity:c==="opacity"?o[i][t]:null}}}}function DT(t,e,n,r){return n.hint?.length?`${t(n.value[r]-e.value[r],r)}`:`${t(e.value[r],r)}\u2013${t(n.value[r],r)}`}function FT(t,e,n){let r=s1(t,e,`${n}1`,n),o=s1(t,e,`${n}2`,n);return r===o?r:`${r}\u2013${o}`}function s1(t,e,n,r=n){let o=e[n],i=t[o?.scale??n];return String(i?.label??o?.label??r)}function Zf(t={}){let{facet:e,style:n,title:r,subtitle:o,caption:i,ariaLabel:s,ariaDescription:a}=t,c=_s(t.className),f=t.marks===void 0?[]:qT(t.marks);f.push(...CB(f));let u=TB(e,t),p=new Map;for(let O of f){let D=BT(O,u,t);D&&p.set(O,D)}let l=new Map;u&&wh(l,[u],t),wh(l,p,t);let h=qT(NB(f,l,t));for(let O of h){let D=BT(O,u,t);D&&p.set(O,D)}f.unshift(...h);let d=h7(l,t);if(d!==void 0){let O=u?Lx(d,u):void 0;for(let F of f){if(F.facet===null||F.facet==="super")continue;let P=p.get(F);P!==void 0&&(P.facetsIndex=F.fx!=null||F.fy!=null?Lx(d,P):O)}let D=new Set;for(let{facetsIndex:F}of p.values())F?.forEach((P,W)=>{P?.length>0&&D.add(W)});d.forEach(0<D.size&&D.size<d.length?(F,P)=>F.empty=!D.has(P):F=>F.empty=!1);for(let F of f)if(F.facet==="exclude"){let P=p.get(F);P!==void 0&&(P.facetsIndex=g7(P.facetsIndex))}}for(let O of Yt.keys())bo(t[O])&&O!=="fx"&&O!=="fy"&&l.set(O,[]);let m=new Map;for(let O of f){if(m.has(O))throw new Error("duplicate mark; each mark must be unique");let{facetsIndex:D,channels:F}=p.get(O)??{},{data:P,facets:W,channels:K}=O.initialize(D,F,t);q6(K,t),m.set(O,{data:P,facets:W,channels:K})}let g=sh(wh(l,m,t),t),y=N7(g,f,t);s7(g,y);let x=o6(g),{fx:b,fy:w}=x,_=b||w?i6(g,y):y,v=b||w?FB(x,y):y,M=ws(t),E=M.document,T=Ko("svg").call(E.documentElement),I=T;M.ownerSVGElement=T,M.className=c,M.projection=b7(t,_),M.filterFacets=(O,D)=>Lx(d,{channels:D,groups:kx(O,D)}),M.getMarkState=O=>{let D=m.get(O),F=p.get(O);return{...D,channels:{...D.channels,...F?.channels}}},M.dispatchValue=O=>{I.value!==O&&(I.value=O,I.dispatchEvent(new Event("input",{bubbles:!0})))};let A=new Set;for(let[O,D]of m)if(O.initializer!=null){let F=O.facet==="super"?v:_,P=O.initializer(D.data,D.facets,D.channels,x,F,M);if(P.data!==void 0&&(D.data=P.data),P.facets!==void 0&&(D.facets=P.facets),P.channels!==void 0){let{fx:W,fy:K,...tt}=P.channels;EB(tt),Object.assign(D.channels,tt);for(let nt of Object.values(tt)){let{scale:U}=nt;U!=null&&!sE(Yt.get(U))&&(UT(nt,t),A.add(U))}(W!=null||K!=null)&&p.set(O,!0)}}if(A.size){let O=new Map;wh(O,m,t,W=>A.has(W)),wh(l,m,t,W=>A.has(W));let D=DB(sh(O,t),g),{scales:F,...P}=o6(D);Object.assign(g,D),Object.assign(x,P),Object.assign(x.scales,F)}let k,L;d!==void 0&&(k={x:b?.domain(),y:w?.domain()},d=d7(d,k),L=m7(b,w,y));for(let[O,D]of m)D.values=O.scale(D.channels,x,M);let{width:S,height:C}=y;Et(T).attr("class",c).attr("fill","currentColor").attr("font-family","system-ui, sans-serif").attr("font-size",10).attr("text-anchor","middle").attr("width",S).attr("height",C).attr("viewBox",`0 0 ${S} ${C}`).attr("aria-label",s).attr("aria-description",a).call(O=>O.append("style").text(`:where(.${c}) {
|
|
51
51
|
--plot-background: white;
|
|
52
52
|
display: block;
|
|
53
53
|
height: auto;
|
|
@@ -57,4 +57,4 @@ ${m}`)).style("margin-left",f?`${+f}px`:null).style("width",l===void 0?null:`${+
|
|
|
57
57
|
:where(.${c} text),
|
|
58
58
|
:where(.${c} tspan) {
|
|
59
59
|
white-space: pre;
|
|
60
|
-
}`)).call(Pf,n);for(let O of f){let{channels:D,values:F,facets:P}=m.get(O);if(d===void 0||O.facet==="super"){let W=null;if(P&&(W=P[0],W=O.filter(W,D,F),W.length===0))continue;let K=O.render(W,x,F,v,M);if(K==null)continue;T.appendChild(K)}else{let W;for(let K of d){if(!(O.facetAnchor?.(d,k,K)??!K.empty))continue;let tt=null;if(P){let U=p.has(O);if(tt=P[U?K.i:0],tt=O.filter(tt,D,F),tt.length===0)continue;!U&&tt===P[0]&&(tt=bi(tt)),tt.fx=K.x,tt.fy=K.y,tt.fi=K.i}let nt=O.render(tt,x,F,_,M);if(nt!=null){(W??=Et(T).append("g")).append(()=>nt).datum(K);for(let U of["aria-label","aria-description","aria-hidden","transform"])nt.hasAttribute(U)&&(W.attr(U,nt.getAttribute(U)),nt.removeAttribute(U))}}W?.selectChildren().attr("transform",L)}}let N=MT(g,M,t),{figure:R=r!=null||o!=null||i!=null||N.length>0}=t;R&&(I=E.createElement("figure"),I.className=`${c}-figure`,I.style.maxWidth="initial",r!=null&&I.append(PT(E,r,"h2")),o!=null&&I.append(PT(E,o,"h3")),I.append(...N,T),i!=null&&I.append(_B(E,i)),"value"in T&&(I.value=T.value,delete T.value)),I.scale=u7(x.scales),I.legend=vT(g,M,t);let $=zE();return $>0&&Et(T).append("text").attr("x",S).attr("y",20).attr("dy","-1em").attr("text-anchor","end").attr("font-family","initial").text("\u26A0\uFE0F").append("title").text(`${$.toLocaleString("en-US")} warning${$===1?"":"s"}. Please check the console.`),I}function PT(t,e,n){if(e.ownerDocument)return e;let r=t.createElement(n);return r.append(e),r}function _B(t,e){let n=t.createElement("figcaption");return n.append(e),n}function qT(t){return t.flat(1/0).filter(e=>e!=null).map(MB)}function MB(t){return typeof t.render=="function"?t:new F6(t)}var F6=class extends ft{constructor(e){if(typeof e!="function")throw new TypeError("invalid mark; missing render function");super(),this.render=e}render(){}};function P6(t,e){for(let n in t)UT(t[n],e);return t}function UT(t,e){let{scale:n,transform:r=!0}=t;if(n==null||!r)return;let{type:o,percent:i,interval:s,transform:a=i?c=>c==null?NaN:c*100:k_(s,o)}=e[n]??{};a!=null&&(t.value=St(t.value,a),t.transform=!1)}function SB(t){for(let e in t)G_(e,t[e])}function bh(t,e,n,r=WA){for(let{channels:o}of e.values())for(let i in o){let s=o[i],{scale:a}=s;if(a!=null&&r(a))if(a==="projection"){if(!v7(n)){let c=n.x?.domain===void 0,f=n.y?.domain===void 0;if(c||f){let[u,p]=M7(s);c&&D6(t,"x",u),f&&D6(t,"y",p)}}}else D6(t,a,s)}return t}function D6(t,e,n){let r=t.get(e);r!==void 0?r.push(n):t.set(e,[n])}function AB(t,e){if(t==null)return;let{x:n,y:r}=t;if(n==null&&r==null)return;let o=yi(t.data);if(o==null)throw new Error("missing facet data");let i={};n!=null&&(i.fx=kf(o,{value:n,scale:"fx"})),r!=null&&(i.fy=kf(o,{value:r,scale:"fy"})),P6(i,e);let s=Nx(o,i);return{channels:i,groups:s,data:t.data}}function BT(t,e,n){if(t.facet===null||t.facet==="super")return;let{fx:r,fy:o}=t;if(r!=null||o!=null){let c=yi(t.data??r??o);if(c===void 0)throw new Error(`missing facet data in ${t.ariaLabel}`);if(c===null)return;let f={};return r!=null&&(f.fx=kf(c,{value:r,scale:"fx"})),o!=null&&(f.fy=kf(c,{value:o,scale:"fy"})),P6(f,n),{channels:f,groups:Nx(c,f)}}if(e===void 0)return;let{channels:i,groups:s,data:a}=e;if(t.facet!=="auto"||t.data===a)return{channels:i,groups:s};a.length>0&&(s.size>1||s.size===1&&i.fx&&i.fy&&[...s][0][1].size>1)&&ps(yi(t.data))===ps(a)&&hn(`Warning: the ${t.ariaLabel} mark appears to use faceted data, but isn\u2019t faceted. The mark data has the same length as the facet data and the mark facet option is "auto", but the mark data and facet data are distinct. If this mark should be faceted, set the mark facet option to true; otherwise, suppress this warning by setting the mark facet option to false.`)}function EB(t,e={}){return Gt({...e,x:null,y:null},(n,r,o,i,s,a)=>a.getMarkState(t))}function TB(t){let e=[];for(let n of t){let r=n.tip;if(r){r===!0?r={}:typeof r=="string"&&(r={pointer:r});let{pointer:o,preferredAnchor:i}=r;o=/^x$/i.test(o)?Ms:/^y$/i.test(o)?Ti:_s,r=o(EB(n,r)),r.title=null,i===void 0&&(r.preferredAnchor=o===Ti?"left":"bottom");let s=s1(n.data,r);s.facet=n.facet,s.facetAnchor=n.facetAnchor,e.push(s)}}return e}function IB(t,e,n){let{projection:r,x:o={},y:i={},fx:s={},fy:a={},axis:c,grid:f,facet:u={},facet:{axis:p=c,grid:l}=u,x:{axis:h=c,grid:d=h===null?null:f}=o,y:{axis:m=c,grid:g=m===null?null:f}=i,fx:{axis:y=p,grid:x=y===null?null:l}=s,fy:{axis:b=p,grid:w=b===null?null:l}=a}=n;(r||!bo(o)&&!zT("x",t))&&(h=d=null),(r||!bo(i)&&!zT("y",t))&&(m=g=null),e.has("fx")||(y=x=null),e.has("fy")||(b=w=null),h===void 0&&(h=!f1(t,"x")),m===void 0&&(m=!f1(t,"y")),y===void 0&&(y=!f1(t,"fx")),b===void 0&&(b=!f1(t,"fy")),h===!0&&(h="bottom"),m===!0&&(m="left"),y===!0&&(y=h==="top"||h===null?"bottom":"top"),b===!0&&(b=m==="right"||m===null?"left":"right");let _=[];return c1(_,w,Zx,a),a1(_,b,Vx,"right","left",u,a),c1(_,x,Jx,s),a1(_,y,Hx,"top","bottom",u,s),c1(_,g,Qx,i),a1(_,m,uh,"left","right",n,i),c1(_,d,Kx,o),a1(_,h,lh,"bottom","top",n,o),_}function a1(t,e,n,r,o,i,s){if(!e)return;let a=CB(e);s=NB(a?r:e,i,s);let{line:c}=s;(n===uh||n===lh)&&c&&!vi(c)&&t.push(Vf(kB(s))),t.push(n(s)),a&&t.push(n({...s,anchor:o,label:null}))}function c1(t,e,n,r){!e||vi(e)||t.push(n(RB(e,r)))}function CB(t){return/^\s*both\s*$/i.test(t)}function NB(t,e,{line:n=e.line,ticks:r,tickSize:o,tickSpacing:i,tickPadding:s,tickFormat:a,tickRotate:c,fontVariant:f,ariaLabel:u,ariaDescription:p,label:l=e.label,labelAnchor:h,labelArrow:d=e.labelArrow,labelOffset:m}){return{anchor:t,line:n,ticks:r,tickSize:o,tickSpacing:i,tickPadding:s,tickFormat:a,tickRotate:c,fontVariant:f,ariaLabel:u,ariaDescription:p,label:l,labelAnchor:h,labelArrow:d,labelOffset:m}}function kB(t){let{anchor:e,line:n}=t;return{anchor:e,facetAnchor:e+"-empty",stroke:n===!0?void 0:n}}function RB(t,{stroke:e=ds(t)?t:void 0,ticks:n=LB(t)?t:void 0,tickSpacing:r,ariaLabel:o,ariaDescription:i}){return{stroke:e,ticks:n,tickSpacing:r,ariaLabel:o,ariaDescription:i}}function LB(t){switch(typeof t){case"number":return!0;case"string":return!ds(t)}return Ln(t)||typeof t?.range=="function"}function f1(t,e){let n=`${e}-axis `;return t.some(r=>r.ariaLabel?.startsWith(n))}function zT(t,e){for(let n of e)for(let r in n.channels){let{scale:o}=n.channels[r];if(o===t||o==="projection")return!0}return!1}function OB(t,e){for(let n in t){let r=t[n],o=e[n];r.label===void 0&&o&&(r.label=o.label)}return t}function $B({fx:t,fy:e},n){let{marginTop:r,marginRight:o,marginBottom:i,marginLeft:s,width:a,height:c}=Tx(n),f=t&&YT(t),u=e&&YT(e);return{marginTop:e?u[0]:r,marginRight:t?a-f[1]:o,marginBottom:e?c-u[1]:i,marginLeft:t?f[0]:s,inset:{marginTop:n.marginTop,marginRight:n.marginRight,marginBottom:n.marginBottom,marginLeft:n.marginLeft},width:a,height:c}}function YT(t){let e=t.domain();if(e.length===0)return[0,t.bandwidth()];let n=t(e[0]),r=t(e[e.length-1]);return r<n&&([n,r]=[r,n]),[n,r+t.bandwidth()]}var DB=new Map([["basis",Hv],["basis-closed",Qv],["basis-open",Zv],["bundle",Kv],["bump-x",jv],["bump-y",Xv],["cardinal",Jv],["cardinal-closed",t_],["cardinal-open",e_],["catmull-rom",n_],["catmull-rom-closed",r_],["catmull-rom-open",o_],["linear",hi],["linear-closed",i_],["monotone-x",a_],["monotone-y",c_],["natural",f_],["step",u_],["step-after",p_],["step-before",l_]]);function wh(t=hi,e){if(typeof t=="function")return t;let n=DB.get(`${t}`.toLowerCase());if(!n)throw new Error(`unknown curve: ${t}`);if(e!==void 0){if("beta"in n)return n.beta(e);if("tension"in n)return n.tension(e);if("alpha"in n)return n.alpha(e)}return n}function u1(t=Cs,e){return typeof t!="function"&&`${t}`.toLowerCase()==="auto"?Cs:wh(t,e)}function Cs(t){return hi(t)}function Co(t={y:"count"},e={}){[t,e]=B6(t,e);let{x:n,y:r}=e;return q6(l1(n,e,X),null,null,r,t,Ba(e))}function No(t={x:"count"},e={}){[t,e]=B6(t,e);let{x:n,y:r}=e;return q6(null,l1(r,e,X),n,null,t,za(e))}function Ci(t={fill:"count"},e={}){[t,e]=B6(t,e);let{x:n,y:r}=FB(e);return q6(n,r,null,null,t,Ba(za(e)))}function WT(t,e,n={}){if(n?.interval==null)return n;let{reduce:r=vx}=n,o={filter:null};return n[e]!=null&&(o[e]=r),n[`${e}1`]!=null&&(o[`${e}1`]=r),n[`${e}2`]!=null&&(o[`${e}2`]=r),t(o,n)}function Qf(t={}){return WT(Co,"y",Fr(t,"x"))}function Zf(t={}){return WT(No,"x",Fr(t,"y"))}function q6(t,e,n,r,{data:o=wx,filter:i=Kp,sort:s,reverse:a,...c}={},f={}){t=jT(t),e=jT(e),c=PB(c,f),o=HT(o,X),s=s==null?void 0:GT("sort",s,f),i=i==null?void 0:VT("filter",i,f),n!=null&&So(c,"x","x1","x2")&&(n=null),r!=null&&So(c,"y","y1","y2")&&(r=null);let[u,p]=Ke(t),[l,h]=Ke(t),[d,m]=Ke(e),[g,y]=Ke(e),[x,b]=n!=null?[n,"x"]:r!=null?[r,"y"]:[],[w,_]=Ke(x),{x:v,y:M,z:E,fill:T,stroke:I,x1:A,x2:k,y1:L,y2:S,domain:C,cumulative:N,thresholds:R,interval:$,...O}=f,[D,F]=Ke(E),[P]=ne(T),[W]=ne(I),[K,tt]=Ke(P),[nt,U]=Ke(W);return{..."z"in f&&{z:D||E},..."fill"in f&&{fill:K||T},..."stroke"in f&&{stroke:nt||I},...Me(O,(et,z,G)=>{let J=$a(ct(et,x),G?.[b]),q=ct(et,E),bt=ct(et,P),st=ct(et,W),Tt=eh(c,{z:q,fill:bt,stroke:st}),Ct=[],Q=[],qt=J&&_([]),zn=q&&F([]),Yr=bt&&tt([]),PC=st&&U([]),Z3=t&&p([]),qC=t&&h([]),K3=e&&m([]),BC=e&&y([]),zC=zB(t,e,et),YC=0;for(let rc of c)rc.initialize(et);s&&s.initialize(et),i&&i.initialize(et);for(let rc of z){let J3=[];for(let oc of c)oc.scope("facet",rc);s&&s.scope("facet",rc),i&&i.scope("facet",rc);for(let[oc,UC]of Mo(rc,Tt))for(let[jC,ad]of Mo(UC,J))for(let[Ur,Do]of zC(ad))if(Tt&&(Do.z=oc),!(i&&!i.reduce(Ur,Do))){J3.push(YC++),Q.push(o.reduceIndex(Ur,et,Do)),J&&qt.push(jC),q&&zn.push(Tt===q?oc:q[(Ur.length>0?Ur:ad)[0]]),bt&&Yr.push(Tt===bt?oc:bt[(Ur.length>0?Ur:ad)[0]]),st&&PC.push(Tt===st?oc:st[(Ur.length>0?Ur:ad)[0]]),Z3&&(Z3.push(Do.x1),qC.push(Do.x2)),K3&&(K3.push(Do.y1),BC.push(Do.y2));for(let XC of c)XC.reduce(Ur,Do);s&&s.reduce(Ur,Do)}Ct.push(J3)}return j_(Ct,s,a),{data:Q,facets:Ct}}),...!So(c,"x")&&(u?{x1:u,x2:l,x:Ef(u,l)}:{x:v,x1:A,x2:k}),...!So(c,"y")&&(d?{y1:d,y2:g,y:Ef(d,g)}:{y:M,y1:L,y2:S}),...w&&{[b]:w},...Object.fromEntries(c.map(({name:et,output:z})=>[et,z]))}}function B6({cumulative:t,domain:e,thresholds:n,interval:r,...o},i){return[o,{cumulative:t,domain:e,thresholds:n,interval:r,...i}]}function l1(t,{cumulative:e,domain:n,thresholds:r,interval:o},i){return t={...wr(t)},t.domain===void 0&&(t.domain=n),t.cumulative===void 0&&(t.cumulative=e),t.thresholds===void 0&&(t.thresholds=r),t.interval===void 0&&(t.interval=o),t.value===void 0&&(t.value=i),t.thresholds=z6(t.thresholds,t.interval),t}function FB(t){let{x:e,y:n}=t;return e=l1(e,t),n=l1(n,t),[e.value,n.value]=fe(e.value,n.value),{x:e,y:n}}function jT(t){if(t==null)return;let{value:e,cumulative:n,domain:r=Ot,thresholds:o}=t,i=s=>{let a=ct(s,e),c;if(re(a)||BB(o)){a=St(a,E_,Float64Array);let[u,p]=typeof r=="function"?r(a):r,l=typeof o=="function"&&!hs(o)?o(a,u,p):o;typeof l=="number"&&(l=bp(u,p,l)),hs(l)&&(r===Ot&&(u=l.floor(u),p=l.offset(l.floor(p))),l=l.range(u,l.offset(p))),c=l}else{a=_e(a);let[u,p]=typeof r=="function"?r(a):r,l=typeof o=="function"&&!hs(o)?o(a,u,p):o;if(typeof l=="number")if(r===Ot){let h=Ho(u,p,l);if(isFinite(h))if(h>0){let d=Math.round(u/h),m=Math.round(p/h);d*h<=u||--d,m*h>p||++m;let g=m-d+1;l=new Float64Array(g);for(let y=0;y<g;++y)l[y]=(d+y)*h}else if(h<0){h=-h;let d=Math.round(u*h),m=Math.round(p*h);d/h<=u||--d,m/h>p||++m;let g=m-d+1;l=new Float64Array(g);for(let y=0;y<g;++y)l[y]=(d+y)/h}else l=[u];else l=[u]}else l=He(u,p,l);else hs(l)&&(r===Ot&&(u=l.floor(u),p=l.offset(l.floor(p))),l=l.range(u,l.offset(p)));c=l}let f=[];if(c.length===1)f.push([c[0],c[0]]);else for(let u=1;u<c.length;++u)f.push([c[u-1],c[u]]);return f.bin=(n<0?UB:n>0?YB:Y6)(f,c,a),f};return i.label=Je(e),i}function z6(t,e,n=XT){if(t===void 0)return e===void 0?n:vo(e);if(typeof t=="string"){switch(t.toLowerCase()){case"freedman-diaconis":return e0;case"scott":return dl;case"sturges":return ji;case"auto":return XT}return La(t)}return t}function PB(t,e){return Y_(t,e,GT)}function GT(t,e,n){return xx(t,e,n,VT)}function VT(t,e,n){return bx(t,e,n,HT)}function HT(t,e){return Nf(t,e,qB)}function qB(t){switch(`${t}`.toLowerCase()){case"x":return jB;case"x1":return WB;case"x2":return GB;case"y":return XB;case"y1":return VB;case"y2":return HB;case"z":return X_}throw new Error(`invalid bin reduce: ${t}`)}function XT(t,e,n){return Math.min(200,dl(t,e,n))}function BB(t){return HA(t)||Ln(t)&&re(t)}function zB(t,e,n){let r=t?.(n),o=e?.(n);return r&&o?function*(i){let s=r.bin(i);for(let[a,[c,f]]of r.entries()){let u=o.bin(s[a]);for(let[p,[l,h]]of o.entries())yield[u[p],{data:n,x1:c,y1:l,x2:f,y2:h}]}}:r?function*(i){let s=r.bin(i);for(let[a,[c,f]]of r.entries())yield[s[a],{data:n,x1:c,x2:f}]}:function*(i){let s=o.bin(i);for(let[a,[c,f]]of o.entries())yield[s[a],{data:n,y1:c,y2:f}]}}function Y6(t,e,n){return e=_e(e),r=>{let o=t.map(()=>[]);for(let i of r)o[Go(e,n[i])-1]?.push(i);return o}}function YB(t,e,n){let r=Y6(t,e,n);return o=>{let i=r(o);for(let s=1,a=i.length;s<a;++s){let c=i[s-1],f=i[s];for(let u of c)f.push(u)}return i}}function UB(t,e,n){let r=Y6(t,e,n);return o=>{let i=r(o);for(let s=i.length-2;s>=0;--s){let a=i[s+1],c=i[s];for(let f of a)c.push(f)}return i}}function QT(t,e){let n=(+t+ +e)/2;return t instanceof Date?new Date(n):n}var jB={reduceIndex(t,e,{x1:n,x2:r}){return QT(n,r)}},XB={reduceIndex(t,e,{y1:n,y2:r}){return QT(n,r)}},WB={reduceIndex(t,e,{x1:n}){return n}},GB={reduceIndex(t,e,{x2:n}){return n}},VB={reduceIndex(t,e,{y1:n}){return n}},HB={reduceIndex(t,e,{y2:n}){return n}};var QB={ariaLabel:"area",strokeWidth:1,strokeLinecap:"round",strokeLinejoin:"round",strokeMiterlimit:1},Ga=class extends ft{constructor(e,n={}){let{x1:r,y1:o,x2:i,y2:s,z:a,curve:c,tension:f}=n;super(e,{x1:{value:r,scale:"x"},y1:{value:o,scale:"y"},x2:{value:i,scale:"x",optional:!0},y2:{value:s,scale:"y",optional:!0},z:{value:pn(n),optional:!0}},n,QB),this.z=a,this.curve=wh(c,f)}filter(e){return e}render(e,n,r,o,i){let{x1:s,y1:a,x2:c=s,y2:f=a}=r;return rt("svg:g",i).call(gt,this,o,i).call(ht,this,n,0,0).call(u=>u.selectAll().data(Dx(e,[s,a,c,f],this,r)).enter().append("path").call(lt,this).call(qa,this,r).attr("d",mf().curve(this.curve).defined(p=>p>=0).x0(p=>s[p]).y0(p=>a[p]).x1(p=>c[p]).y1(p=>f[p]))).node()}};function vh(t,e){return e===void 0?Ni(t,{x:Oa,y:us}):new Ga(t,e)}function Ns(t,e){let{y:n=Xt,...r}=Zf(e);return new Ga(t,Ts(As({...r,y1:n,y2:void 0})))}function Ni(t,e){let{x:n=Xt,...r}=Qf(e);return new Ga(t,Is(Es({...r,x1:n,x2:void 0})))}var ZB={ariaLabel:"link",fill:"none",stroke:"currentColor",strokeMiterlimit:1},_h=class extends ft{constructor(e,n={}){let{x1:r,y1:o,x2:i,y2:s,curve:a,tension:c}=n;super(e,{x1:{value:r,scale:"x"},y1:{value:o,scale:"y"},x2:{value:i,scale:"x",optional:!0},y2:{value:s,scale:"y",optional:!0}},n,ZB),this.curve=u1(a,c),Pr(this,n)}project(e,n,r){this.curve!==Cs&&super.project(e,n,r)}render(e,n,r,o,i){let{x1:s,y1:a,x2:c=s,y2:f=a}=r,{curve:u}=this;return rt("svg:g",i).call(gt,this,o,i).call(ht,this,n).call(p=>p.selectAll().data(e).enter().append("path").call(lt,this).attr("d",u===Cs&&i.projection?KB(i.projection,s,a,c,f):l=>{let h=En(),d=u(h);return d.lineStart(),d.point(s[l],a[l]),d.point(c[l],f[l]),d.lineEnd(),h}).call(_t,this,r).call(Ii,this,r,i)).node()}};function KB(t,e,n,r,o){let i=De(t);return e=_e(e),n=_e(n),r=_e(r),o=_e(o),s=>i({type:"LineString",coordinates:[[e[s],n[s]],[r[s],o[s]]]})}function p1(t,{x:e,x1:n,x2:r,y:o,y1:i,y2:s,...a}={}){return[n,r]=Mh(e,n,r),[i,s]=Mh(o,i,s),new _h(t,{...a,x1:n,x2:r,y1:i,y2:s})}function Mh(t,e,n){if(t===void 0){if(e===void 0){if(n!==void 0)return[n]}else if(n===void 0)return[e]}else{if(e===void 0)return n===void 0?[t]:[t,n];if(n===void 0)return[t,e]}return[e,n]}var JB={ariaLabel:"arrow",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeMiterlimit:1,strokeWidth:1.5},Sh=class extends ft{constructor(e,n={}){let{x1:r,y1:o,x2:i,y2:s,bend:a=0,headAngle:c=60,headLength:f=8,inset:u=0,insetStart:p=u,insetEnd:l=u,sweep:h}=n;super(e,{x1:{value:r,scale:"x"},y1:{value:o,scale:"y"},x2:{value:i,scale:"x",optional:!0},y2:{value:s,scale:"y",optional:!0}},n,JB),this.bend=a===!0?22.5:Math.max(-90,Math.min(90,a)),this.headAngle=+c,this.headLength=+f,this.insetStart=+p,this.insetEnd=+l,this.sweep=tz(h)}render(e,n,r,o,i){let{x1:s,y1:a,x2:c=s,y2:f=a,SW:u}=r,{strokeWidth:p,bend:l,headAngle:h,headLength:d,insetStart:m,insetEnd:g}=this,y=u?w=>u[w]:oe(p===void 0?1:p),x=h*qf/2,b=d/1.5;return rt("svg:g",i).call(gt,this,o,i).call(ht,this,n).call(w=>w.selectAll().data(e).enter().append("path").call(lt,this).attr("d",_=>{let v=s[_],M=a[_],E=c[_],T=f[_],I=Math.hypot(E-v,T-M);if(I<=m+g)return null;let A=Math.atan2(T-M,E-v),k=Math.min(b*y(_),I/3),L=this.sweep(v,M,E,T)*l*qf,S=Math.hypot(I/Math.tan(L),I)/2;if(m||g)if(S<1e5){let K=Math.sign(L),[tt,nt]=ez([v,M],[E,T],S,K);if(m&&([v,M]=ZT([tt,nt,S],[v,M,m],-K*Math.sign(m))),g){let[U,et]=ZT([tt,nt,S],[E,T,g],K*Math.sign(g));A+=Math.atan2(et-nt,U-tt)-Math.atan2(T-nt,E-tt),E=U,T=et}}else{let K=E-v,tt=T-M,nt=Math.hypot(K,tt);m&&(v+=K/nt*m,M+=tt/nt*m),g&&(E-=K/nt*g,T-=tt/nt*g)}let C=A+L,N=C+x,R=C-x,$=E-k*Math.cos(N),O=T-k*Math.sin(N),D=E-k*Math.cos(R),F=T-k*Math.sin(R),P=S<1e5?`A${S},${S} 0,0,${L>0?1:0} `:"L",W=k?`M${$},${O}L${E},${T}L${D},${F}`:"";return`M${v},${M}${P}${E},${T}${W}`}).call(_t,this,r)).node()}};function tz(t=1){if(typeof t=="number")return oe(Math.sign(t));if(typeof t=="function")return(e,n,r,o)=>Math.sign(t(e,n,r,o));switch(Ce(t,"sweep",["+x","-x","+y","-y"])){case"+x":return(e,n,r)=>dt(e,r);case"-x":return(e,n,r)=>bn(e,r);case"+y":return(e,n,r,o)=>dt(n,o);case"-y":return(e,n,r,o)=>bn(n,o)}}function ez([t,e],[n,r],o,i){let s=n-t,a=r-e,c=Math.hypot(s,a),f=i*Math.sqrt(o*o-c*c/4)/c;return[(t+n)/2-a*f,(e+r)/2+s*f]}function ZT([t,e,n],[r,o,i],s){let a=r-t,c=o-e,f=Math.hypot(a,c),u=(a*a+c*c-i*i+n*n)/(2*f),p=s*Math.sqrt(n*n-u*u);return[t+(a*u+c*p)/f,e+(c*u-a*p)/f]}function KT(t,{x:e,x1:n,x2:r,y:o,y1:i,y2:s,...a}={}){return[n,r]=Mh(e,n,r),[i,s]=Mh(o,i,s),new Sh(t,{...a,x1:n,x2:r,y1:i,y2:s})}var nz={ariaLabel:"bar"},Kf=class extends ft{constructor(e,n,r={},o=nz){super(e,n,r,o),hh(this,r),dh(this,r)}render(e,n,r,o,i){let{rx:s,ry:a,rx1y1:c,rx1y2:f,rx2y1:u,rx2y2:p}=this,l=this._x(n,r,o),h=this._y(n,r,o),d=this._width(n,r,o),m=this._height(n,r,o);return rt("svg:g",i).call(gt,this,o,i).call(this._transform,this,n).call(g=>g.selectAll().data(e).enter().call(c||f||u||p?y=>y.append("path").call(lt,this).call(mh,l,h,JT(l,d),JT(h,m),this).call(_t,this,r):y=>y.append("rect").call(lt,this).attr("x",l).attr("width",d).attr("y",h).attr("height",m).call(ot,"rx",s).call(ot,"ry",a).call(_t,this,r))).node()}_x(e,{x:n},{marginLeft:r}){let{insetLeft:o}=this;return n?i=>n[i]+o:r+o}_y(e,{y:n},{marginTop:r}){let{insetTop:o}=this;return n?i=>n[i]+o:r+o}_width({x:e},{x:n},{marginRight:r,marginLeft:o,width:i}){let{insetLeft:s,insetRight:a}=this,c=n&&e?e.bandwidth():i-r-o;return Math.max(0,c-s-a)}_height({y:e},{y:n},{marginTop:r,marginBottom:o,height:i}){let{insetTop:s,insetBottom:a}=this,c=n&&e?e.bandwidth():i-r-o;return Math.max(0,c-s-a)}};function JT(t,e){return typeof t=="function"&&typeof e=="function"?n=>t(n)+e(n):typeof t=="function"?n=>t(n)+e:typeof e=="function"?n=>t+e(n):t+e}var Va=class extends Kf{constructor(e,n={},r){let{x1:o,x2:i,y:s}=n;super(e,{x1:{value:o,scale:"x"},x2:{value:i,scale:"x"},y:{value:s,scale:"y",type:"band",optional:!0}},n,r)}_transform(e,n,{x:r}){e.call(ht,n,{x:r},0,0)}_x({x:e},{x1:n,x2:r},{marginLeft:o}){let{insetLeft:i}=this;return tr(e)?o+i:s=>Math.min(n[s],r[s])+i}_width({x:e},{x1:n,x2:r},{marginRight:o,marginLeft:i,width:s}){let{insetLeft:a,insetRight:c}=this;return tr(e)?s-o-i-a-c:f=>Math.max(0,Math.abs(r[f]-n[f])-a-c)}},Ha=class extends Kf{constructor(e,n={},r){let{x:o,y1:i,y2:s}=n;super(e,{y1:{value:i,scale:"y"},y2:{value:s,scale:"y"},x:{value:o,scale:"x",type:"band",optional:!0}},n,r)}_transform(e,n,{y:r}){e.call(ht,n,{y:r},0,0)}_y({y:e},{y1:n,y2:r},{marginTop:o}){let{insetTop:i}=this;return tr(e)?o+i:s=>Math.min(n[s],r[s])+i}_height({y:e},{y1:n,y2:r},{marginTop:o,marginBottom:i,height:s}){let{insetTop:a,insetBottom:c}=this;return tr(e)?s-o-i-a-c:f=>Math.max(0,Math.abs(r[f]-n[f])-a-c)}};function ko(t,e={}){return xi(e)||(e={...e,y:Xt,x2:X}),new Va(t,Ts(Bf(As(e))))}function Ro(t,e={}){return xi(e)||(e={...e,x:Xt,y2:X}),new Ha(t,Is(zf(Es(e))))}var rz={ariaLabel:"cell"},Qa=class extends Kf{constructor(e,{x:n,y:r,...o}={}){super(e,{x:{value:n,scale:"x",type:"band",optional:!0},y:{value:r,scale:"y",type:"band",optional:!0}},o,rz)}_transform(e,n){e.call(ht,n,{},0,0)}};function ks(t,{x:e,y:n,...r}={}){return[e,n]=fe(e,n),new Qa(t,{...r,x:e,y:n})}function t9(t,{x:e=Xt,fill:n,stroke:r,...o}={}){return n===void 0&&ne(r)[0]===void 0&&(n=X),new Qa(t,{...o,x:e,fill:n,stroke:r})}function e9(t,{y:e=Xt,fill:n,stroke:r,...o}={}){return n===void 0&&ne(r)[0]===void 0&&(n=X),new Qa(t,{...o,y:e,fill:n,stroke:r})}var oz={ariaLabel:"dot",fill:"none",stroke:"currentColor",strokeWidth:1.5};function Ah(t){return t.sort===void 0&&t.reverse===void 0?gx({channel:"-r"},t):t}var Za=class extends ft{constructor(e,n={}){let{x:r,y:o,r:i,rotate:s,symbol:a=di,frameAnchor:c}=n,[f,u]=Pt(s,0),[p,l]=fE(a),[h,d]=Pt(i,p==null?3:4.5);super(e,{x:{value:r,scale:"x",optional:!0},y:{value:o,scale:"y",optional:!0},r:{value:h,scale:"r",filter:kn,optional:!0},rotate:{value:f,optional:!0},symbol:{value:p,scale:"auto",optional:!0}},Ah(n),oz),this.r=d,this.rotate=u,this.symbol=l,this.frameAnchor=_o(c);let{channels:m}=this,{symbol:g}=m;if(g){let{fill:y,stroke:x}=m;g.hint={fill:y?y.value===g.value?"color":"currentColor":this.fill??"currentColor",stroke:x?x.value===g.value?"color":"currentColor":this.stroke??"none"}}}render(e,n,r,o,i){let{x:s,y:a}=n,{x:c,y:f,r:u,rotate:p,symbol:l}=r,{r:h,rotate:d,symbol:m}=this,[g,y]=Ue(this,o),x=m===di,b=u?void 0:h*h*Math.PI;return is(h)&&(e=[]),rt("svg:g",i).call(gt,this,o,i).call(ht,this,{x:c&&s,y:f&&a}).call(w=>w.selectAll().data(e).enter().append(x?"circle":"path").call(lt,this).call(x?_=>{_.attr("cx",c?v=>c[v]:g).attr("cy",f?v=>f[v]:y).attr("r",u?v=>u[v]:h)}:_=>{_.attr("transform",qr`translate(${c?v=>c[v]:g},${f?v=>f[v]:y})${p?v=>` rotate(${p[v]})`:d?` rotate(${d})`:""}`).attr("d",u&&l?v=>{let M=En();return l[v].draw(M,u[v]*u[v]*Math.PI),M}:u?v=>{let M=En();return m.draw(M,u[v]*u[v]*Math.PI),M}:l?v=>{let M=En();return l[v].draw(M,b),M}:(()=>{let v=En();return m.draw(v,b),v})())}).call(_t,this,r)).node()}};function _r(t,{x:e,y:n,...r}={}){return r.frameAnchor===void 0&&([e,n]=fe(e,n)),new Za(t,{...r,x:e,y:n})}function n9(t,{x:e=X,...n}={}){return new Za(t,Bx({...n,x:e}))}function r9(t,{y:e=X,...n}={}){return new Za(t,qx({...n,y:e}))}function o9(t,e){return _r(t,{...e,symbol:"circle"})}function i9(t,e){return _r(t,{...e,symbol:"hexagon"})}var iz={ariaLabel:"line",fill:"none",stroke:"currentColor",strokeWidth:1.5,strokeLinecap:"round",strokeLinejoin:"round",strokeMiterlimit:1},Ka=class extends ft{constructor(e,n={}){let{x:r,y:o,z:i,curve:s,tension:a}=n;super(e,{x:{value:r,scale:"x"},y:{value:o,scale:"y"},z:{value:pn(n),optional:!0}},n,iz),this.z=i,this.curve=u1(s,a),Pr(this,n)}filter(e){return e}project(e,n,r){this.curve!==Cs&&super.project(e,n,r)}render(e,n,r,o,i){let{x:s,y:a}=r,{curve:c}=this;return rt("svg:g",i).call(gt,this,o,i).call(ht,this,n).call(f=>f.selectAll().data(Dx(e,[s,a],this,r)).enter().append("path").call(lt,this).call(qa,this,r).call($7,this,r,i).attr("d",c===Cs&&i.projection?sz(i.projection,s,a):Ip().curve(c).defined(u=>u>=0).x(u=>s[u]).y(u=>a[u]))).node()}};function sz(t,e,n){let r=De(t);return e=_e(e),n=_e(n),o=>{let i=[],s=[i];for(let a of o)a===-1?(i=[],s.push(i)):i.push([e[a],n[a]]);return r({type:"MultiLineString",coordinates:s})}}function Ja(t,{x:e,y:n,...r}={}){return[e,n]=fe(e,n),new Ka(t,{...r,x:e,y:n})}function Rs(t,{x:e=X,y:n=Xt,...r}={}){return new Ka(t,Zf({...r,x:e,y:n}))}function Ls(t,{x:e=Xt,y:n=X,...r}={}){return new Ka(t,Qf({...r,x:e,y:n}))}function j6(t,e){e=az(e);let{x:n,y:r,color:o,size:i}=e,s=h1(t,n),a=h1(t,r),c=h1(t,o),f=h1(t,i),{fx:u,fy:p,x:{value:l,reduce:h,zero:d,...m},y:{value:g,reduce:y,zero:x,...b},color:{value:w,color:_,reduce:v},size:{value:M,reduce:E},mark:T}=e;if(h===void 0&&(h=y==null&&l==null&&M==null&&g!=null?"count":null),y===void 0&&(y=h==null&&g==null&&M==null&&l!=null?"count":null),E===void 0&&M==null&&v==null&&h==null&&y==null&&(l==null||te(s))&&(g==null||te(a))&&(E="count"),d===void 0&&(d=d1(h)?!0:void 0),x===void 0&&(x=d1(y)?!0:void 0),l==null&&g==null)throw new Error("must specify x or y");if(h!=null&&g==null)throw new Error("reducing x requires y");if(y!=null&&l==null)throw new Error("reducing y requires x");T===void 0&&(T=M!=null||E!=null?"dot":d1(h)||d1(y)||v!=null?"bar":l!=null&&g!=null?te(s)||te(a)||h==null&&y==null&&!Eh(s)&&!Eh(a)?"dot":"line":l!=null||g!=null?"rule":null);let I,A,k;switch(T){case"dot":k=_r,A="stroke";break;case"line":k=s&&a||h!=null||y!=null?x||y!=null||s&&Eh(s)?Ls:d||h!=null||a&&Eh(a)?Rs:Ja:s?Rs:Ls,A="stroke",a9(c)&&(I=null);break;case"area":k=!(x||y!=null)&&(d||h!=null||a&&Eh(a))?Ns:Ni,A="fill",a9(c)&&(I=null);break;case"rule":k=s?er:nr,A="stroke";break;case"bar":k=h!=null?te(a)?s9(h)&&s&&te(s)?ks:ko:Wf:y!=null?te(s)?s9(y)&&a&&te(a)?ks:Ro:Gf:v!=null||E!=null?s&&te(s)&&a&&te(a)?ks:s&&te(s)?Ro:a&&te(a)?ko:gh:s&&wi(s)&&!(a&&wi(a))?ko:a&&wi(a)&&!(s&&wi(s))?Ro:ks,A="fill";break;default:throw new Error(`invalid mark: ${T}`)}let L={fx:u,fy:p,x:s??void 0,y:a??void 0,[A]:c??_,z:I,r:f??void 0,tip:!0},S,C={[A]:v??void 0,r:E??void 0};if(h!=null&&y!=null)throw new Error("cannot reduce both x and y");return y!=null?(C.y=y,S=te(s)?ms:Co):h!=null?(C.x=h,S=te(a)?gs:No):(v!=null||E!=null)&&(s&&a?S=te(s)&&te(a)?th:te(s)?No:te(a)?Co:Ci:s?S=te(s)?ms:Co:a&&(S=te(a)?gs:No)),(S===Ci||S===Co)&&(L.x={value:s,...m}),(S===Ci||S===No)&&(L.y={value:a,...b}),d===void 0&&(d=s&&!(S===Ci||S===Co)&&(k===ko||k===Ns||k===Wf||k===nr)),x===void 0&&(x=a&&!(S===Ci||S===No)&&(k===Ro||k===Ni||k===Gf||k===er)),{fx:u??null,fy:p??null,x:{value:l??null,reduce:h??null,zero:!!d,...m},y:{value:g??null,reduce:y??null,zero:!!x,...b},color:{value:w??null,reduce:v??null,..._!==void 0&&{color:_}},size:{value:M??null,reduce:E??null},mark:T,markImpl:c9[k],markOptions:L,transformImpl:c9[S],transformOptions:C,colorMode:A}}function f9(t,e){let n=j6(t,e),{fx:r,fy:o,x:{zero:i},y:{zero:s},markOptions:a,transformOptions:c,colorMode:f}=n,u=U6[n.markImpl],p=U6[n.transformImpl],l=r!=null||o!=null?Vf({strokeOpacity:.1}):null,h=[i?er([0]):null,s?nr([0]):null],d=u(t,p?p(c,a):a);return f==="stroke"?Se(l,h,d):Se(l,d,h)}function Eh(t){let e,n;for(let r of t){if(r==null)continue;if(e===void 0){e=r;continue}let o=Math.sign(dt(e,r));if(o){if(n!==void 0&&o!==n)return!1;e=r,n=o}}return!0}function az({x:t,y:e,color:n,size:r,fx:o,fy:i,mark:s}={}){return Kn(t)||(t=Jf(t)),Kn(e)||(e=Jf(e)),Kn(n)||(n=ds(n)?{color:n}:Jf(n)),Kn(r)||(r=Jf(r)),Kn(o)&&({value:o}=Jf(o)),Kn(i)&&({value:i}=Jf(i)),s!=null&&(s=`${s}`.toLowerCase()),{x:t,y:e,color:n,size:r,fx:o,fy:i,mark:s}}function h1(t,e){let n=ct(t,e.value);return n&&(n.label=Je(e.value)),n}function Jf(t){return cz(t)?{reduce:t}:{value:t}}function d1(t){return/^(?:distinct|count|sum|proportion)$/i.test(t)}function s9(t){return/^(?:first|last|mode)$/i.test(t)}function cz(t){if(t==null)return!1;if(typeof t.reduceIndex=="function"||typeof t.reduce=="function"&&Be(t)||/^p\d{2}$/i.test(t))return!0;switch(`${t}`.toLowerCase()){case"first":case"last":case"count":case"distinct":case"sum":case"proportion":case"proportion-facet":case"deviation":case"min":case"min-index":case"max":case"max-index":case"mean":case"median":case"variance":case"mode":return!0}return!1}function a9(t){return t?new vn(t).size>t.length>>1:!1}var U6={dot:_r,line:Ja,lineX:Rs,lineY:Ls,areaX:Ns,areaY:Ni,ruleX:er,ruleY:nr,barX:ko,barY:Ro,rect:gh,rectX:Wf,rectY:Gf,cell:ks,bin:Ci,binX:Co,binY:No,group:th,groupX:ms,groupY:gs},c9=Object.fromEntries(Object.entries(U6).map(([t,e])=>[e,t]));function tu(t,e={}){let{x:n,x1:r,x2:o}=e;n===void 0&&r===void 0&&o===void 0&&(e={...e,x:n=X});let i={};return n!=null&&(i.x=t),r!=null&&(i.x1=t),o!=null&&(i.x2=t),Bn(i,e)}function eu(t,e={}){let{y:n,y1:r,y2:o}=e;n===void 0&&r===void 0&&o===void 0&&(e={...e,y:n=X});let i={};return n!=null&&(i.y=t),r!=null&&(i.y1=t),o!=null&&(i.y2=t),Bn(i,e)}function Bn(t={},e={}){let n=pn(e),r=Object.entries(t).map(([o,i])=>{let s=ux(o,e);if(s==null)throw new Error(`missing channel: ${o}`);let[a,c]=ze(s);return{key:o,input:s,output:a,setOutput:c,map:fz(i)}});return{...Me(e,(o,i)=>{let s=ct(o,n),a=r.map(({input:f})=>ct(o,f)),c=r.map(({setOutput:f})=>f(new Array(o.length)));for(let f of i)for(let u of s?Ve(f,p=>s[p]).values():[f])r.forEach(({map:p},l)=>p.mapIndex(u,a[l],c[l]));return{data:o,facets:i}}),...Object.fromEntries(r.map(({key:o,output:i})=>[o,i]))}}function fz(t){if(t==null)throw new Error("missing map");if(typeof t.mapIndex=="function")return t;if(typeof t.map=="function"&&Be(t))return uz(t);if(typeof t=="function")return X6(Af(t));switch(`${t}`.toLowerCase()){case"cumsum":return pz;case"rank":return X6((e,n)=>ml(e,r=>n[r]));case"quantile":return X6((e,n)=>lz(e,r=>n[r]))}throw new Error(`invalid map: ${t}`)}function uz(t){return console.warn("deprecated map interface; implement mapIndex instead."),{mapIndex:t.map.bind(t)}}function lz(t,e){let n=Kr(t,e)-1;return ml(t,e).map(r=>r/n)}function X6(t){return{mapIndex(e,n,r){let o=t(e,n);if(o.length!==e.length)throw new Error("map function returned a mismatched length");for(let i=0,s=e.length;i<s;++i)r[e[i]]=o[i]}}}var pz={mapIndex(t,e,n){let r=0;for(let o of t)n[o]=r+=e[o]}};function u9(t={},e){return arguments.length===1&&(e=t),tu(nu(t),e)}function l9(t={},e){return arguments.length===1&&(e=t),eu(nu(t),e)}function nu(t={}){typeof t=="number"&&(t={k:t});let{k:e,reduce:n,shift:r,anchor:o,strict:i}=t;if(o===void 0&&r!==void 0&&(o=dz(r),hn(`Warning: the shift option is deprecated; please use anchor "${o}" instead.`)),!((e=Math.floor(e))>0))throw new Error(`invalid k: ${e}`);return mz(n)(e,hz(o,e),i)}function hz(t="middle",e){switch(`${t}`.toLowerCase()){case"middle":return e-1>>1;case"start":return 0;case"end":return e-1}throw new Error(`invalid anchor: ${t}`)}function dz(t){switch(`${t}`.toLowerCase()){case"centered":return"middle";case"leading":return"start";case"trailing":return"end"}throw new Error(`invalid shift: ${t}`)}function mz(t="mean"){if(typeof t=="string"){if(/^p\d{2}$/i.test(t))return m1(Sf(t));switch(t.toLowerCase()){case"deviation":return m1(fr);case"max":return g1((e,n)=>Mt(e,r=>n[r]));case"mean":return gz;case"median":return m1(Rr);case"min":return g1((e,n)=>At(e,r=>n[r]));case"mode":return g1((e,n)=>Lc(e,r=>n[r]));case"sum":return p9;case"variance":return m1(Ui);case"difference":return bz;case"ratio":return wz;case"first":return vz;case"last":return _z}}if(typeof t!="function")throw new Error(`invalid reduce: ${t}`);return g1(Af(t))}function m1(t){return(e,n,r)=>r?{mapIndex(o,i,s){let a=f=>i[f]==null?NaN:+i[f],c=0;for(let f=0;f<e-1;++f)isNaN(a(f))&&++c;for(let f=0,u=o.length-e+1;f<u;++f)isNaN(a(f+e-1))&&++c,s[o[f+n]]=c===0?t(bi(o,f,f+e),a):NaN,isNaN(a(f))&&--c}}:{mapIndex(o,i,s){let a=c=>i[c]==null?NaN:+i[c];for(let c=-n;c<0;++c)s[o[c+n]]=t(bi(o,0,c+e),a);for(let c=0,f=o.length-n;c<f;++c)s[o[c+n]]=t(bi(o,c,c+e),a)}}}function g1(t){return(e,n,r)=>r?{mapIndex(o,i,s){let a=0;for(let c=0;c<e-1;++c)a+=Jt(i[o[c]]);for(let c=0,f=o.length-e+1;c<f;++c)a+=Jt(i[o[c+e-1]]),a===e&&(s[o[c+n]]=t(bi(o,c,c+e),i)),a-=Jt(i[o[c]])}}:{mapIndex(o,i,s){for(let a=-n;a<0;++a)s[o[a+n]]=t(bi(o,0,a+e),i);for(let a=0,c=o.length-n;a<c;++a)s[o[a+n]]=t(bi(o,a,a+e),i)}}}function p9(t,e,n){return n?{mapIndex(r,o,i){let s=0,a=0;for(let c=0;c<t-1;++c){let f=o[r[c]];f===null||isNaN(f)?++s:a+=+f}for(let c=0,f=r.length-t+1;c<f;++c){let u=o[r[c]],p=o[r[c+t-1]];p===null||isNaN(p)?++s:a+=+p,i[r[c+e]]=s===0?a:NaN,u===null||isNaN(u)?--s:a-=+u}}}:{mapIndex(r,o,i){let s=0,a=r.length;for(let c=0,f=Math.min(a,t-e-1);c<f;++c)s+=+o[r[c]]||0;for(let c=-e,f=a-e;c<f;++c)s+=+o[r[c+t-1]]||0,i[r[c+e]]=s,s-=+o[r[c]]||0}}}function gz(t,e,n){if(n){let r=p9(t,e,n);return{mapIndex(o,i,s){r.mapIndex(o,i,s);for(let a=0,c=o.length-t+1;a<c;++a)s[o[a+e]]/=t}}}else return{mapIndex(r,o,i){let s=0,a=0,c=r.length;for(let f=0,u=Math.min(c,t-e-1);f<u;++f){let p=o[r[f]];p!==null&&!isNaN(p=+p)&&(s+=p,++a)}for(let f=-e,u=c-e;f<u;++f){let p=o[r[f+t-1]],l=o[r[f]];p!==null&&!isNaN(p=+p)&&(s+=p,++a),i[r[f+e]]=s/a,l!==null&&!isNaN(l=+l)&&(s-=l,--a)}}}}function yz(t,e,n,r){for(let o=n+r;n<o;++n){let i=t[e[n]];if(Jt(i))return i}}function xz(t,e,n,r){for(let o=n+r-1;o>=n;--o){let i=t[e[o]];if(Jt(i))return i}}function h9(t,e,n,r){for(let o=n+r;n<o;++n){let i=t[e[n]];if(i!==null&&!isNaN(i=+i))return i}}function d9(t,e,n,r){for(let o=n+r-1;o>=n;--o){let i=t[e[o]];if(i!==null&&!isNaN(i=+i))return i}}function bz(t,e,n){return n?{mapIndex(r,o,i){for(let s=0,a=r.length-t;s<a;++s){let c=o[r[s]],f=o[r[s+t-1]];i[r[s+e]]=c===null||f===null?NaN:f-c}}}:{mapIndex(r,o,i){for(let s=-e,a=r.length-t+e+1;s<a;++s)i[r[s+e]]=d9(o,r,s,t)-h9(o,r,s,t)}}}function wz(t,e,n){return n?{mapIndex(r,o,i){for(let s=0,a=r.length-t;s<a;++s){let c=o[r[s]],f=o[r[s+t-1]];i[r[s+e]]=c===null||f===null?NaN:f/c}}}:{mapIndex(r,o,i){for(let s=-e,a=r.length-t+e+1;s<a;++s)i[r[s+e]]=d9(o,r,s,t)/h9(o,r,s,t)}}}function vz(t,e,n){return n?{mapIndex(r,o,i){for(let s=0,a=r.length-t;s<a;++s)i[r[s+e]]=o[r[s]]}}:{mapIndex(r,o,i){for(let s=-e,a=r.length-t+e+1;s<a;++s)i[r[s+e]]=yz(o,r,s,t)}}}function _z(t,e,n){return n?{mapIndex(r,o,i){for(let s=0,a=r.length-t;s<a;++s)i[r[s+e]]=o[r[s+t-1]]}}:{mapIndex(r,o,i){for(let s=-e,a=r.length-t+e+1;s<a;++s)i[r[s+e]]=xz(o,r,s,t)}}}var ki={n:20,k:2,color:"currentColor",opacity:.2,strict:!0,anchor:"end"};function m9(t,{x:e=X,y:n,k:r=ki.k,color:o=ki.color,opacity:i=ki.opacity,fill:s=o,fillOpacity:a=i,stroke:c=o,strokeOpacity:f,strokeWidth:u,...p}={}){return Se(Ft(s)?null:Ns(t,Bn({x1:Os({k:-r,...p}),x2:Os({k:r,...p})},{x1:e,x2:e,y:n,fill:s,fillOpacity:a,...p})),Ft(c)?null:Rs(t,Bn({x:Os(p)},{x:e,y:n,stroke:c,strokeOpacity:f,strokeWidth:u,...p})))}function g9(t,{x:e,y:n=X,k:r=ki.k,color:o=ki.color,opacity:i=ki.opacity,fill:s=o,fillOpacity:a=i,stroke:c=o,strokeOpacity:f,strokeWidth:u,...p}={}){return Se(Ft(s)?null:Ni(t,Bn({y1:Os({k:-r,...p}),y2:Os({k:r,...p})},{x:e,y1:n,y2:n,fill:s,fillOpacity:a,...p})),Ft(c)?null:Ls(t,Bn({y:Os(p)},{x:e,y:n,stroke:c,strokeOpacity:f,strokeWidth:u,...p})))}function Os({n:t=ki.n,k:e=0,strict:n=ki.strict,anchor:r=ki.anchor}={}){return nu({k:t,reduce:o=>Qo(o)+e*(fr(o)||0),strict:n,anchor:r})}var Mz={ariaLabel:"tick",fill:null,stroke:"currentColor"},y1=class extends ft{constructor(e,n,r){super(e,n,r,Mz),Pr(this,r)}render(e,n,r,o,i){return rt("svg:g",i).call(gt,this,o,i).call(this._transform,this,n).call(s=>s.selectAll().data(e).enter().append("line").call(lt,this).attr("x1",this._x1(n,r,o)).attr("x2",this._x2(n,r,o)).attr("y1",this._y1(n,r,o)).attr("y2",this._y2(n,r,o)).call(_t,this,r).call(Ii,this,r,i)).node()}},Th=class extends y1{constructor(e,n={}){let{x:r,y:o,inset:i=0,insetTop:s=i,insetBottom:a=i}=n;super(e,{x:{value:r,scale:"x"},y:{value:o,scale:"y",type:"band",optional:!0}},n),this.insetTop=Rt(s),this.insetBottom=Rt(a)}_transform(e,n,{x:r}){e.call(ht,n,{x:r},ie,0)}_x1(e,{x:n}){return r=>n[r]}_x2(e,{x:n}){return r=>n[r]}_y1({y:e},{y:n},{marginTop:r}){let{insetTop:o}=this;return n&&e?i=>n[i]+o:r+o}_y2({y:e},{y:n},{height:r,marginBottom:o}){let{insetBottom:i}=this;return n&&e?s=>n[s]+e.bandwidth()-i:r-o-i}},Ih=class extends y1{constructor(e,n={}){let{x:r,y:o,inset:i=0,insetRight:s=i,insetLeft:a=i}=n;super(e,{y:{value:o,scale:"y"},x:{value:r,scale:"x",type:"band",optional:!0}},n),this.insetRight=Rt(s),this.insetLeft=Rt(a)}_transform(e,n,{y:r}){e.call(ht,n,{y:r},0,ie)}_x1({x:e},{x:n},{marginLeft:r}){let{insetLeft:o}=this;return n&&e?i=>n[i]+o:r+o}_x2({x:e},{x:n},{width:r,marginRight:o}){let{insetRight:i}=this;return n&&e?s=>n[s]+e.bandwidth()-i:r-o-i}_y1(e,{y:n}){return r=>n[r]}_y2(e,{y:n}){return r=>n[r]}};function x1(t,{x:e=X,...n}={}){return new Th(t,{...n,x:e})}function b1(t,{y:e=X,...n}={}){return new Ih(t,{...n,y:e})}function y9(t,{x:e=X,y:n=null,r,fill:o="#ccc",fillOpacity:i,stroke:s="currentColor",strokeOpacity:a,strokeWidth:c=2,sort:f,...u}={}){let p=n!=null?gs:Jp;return Se(nr(t,p({x1:W6,x2:G6},{x:e,y:n,stroke:s,strokeOpacity:a,...u})),ko(t,p({x1:"p25",x2:"p75"},{x:e,y:n,fill:o,fillOpacity:i,...u})),x1(t,p({x:"p50"},{x:e,y:n,stroke:s,strokeOpacity:a,strokeWidth:c,sort:f,...u})),_r(t,Bn({x:b9},{x:e,y:n,z:n,r,stroke:s,strokeOpacity:a,...u})))}function x9(t,{y:e=X,x:n=null,r,fill:o="#ccc",fillOpacity:i,stroke:s="currentColor",strokeOpacity:a,strokeWidth:c=2,sort:f,...u}={}){let p=n!=null?ms:Jp;return Se(er(t,p({y1:W6,y2:G6},{x:n,y:e,stroke:s,strokeOpacity:a,...u})),Ro(t,p({y1:"p25",y2:"p75"},{x:n,y:e,fill:o,fillOpacity:i,...u})),b1(t,p({y:"p50"},{x:n,y:e,stroke:s,strokeOpacity:a,strokeWidth:c,sort:f,...u})),_r(t,Bn({y:b9},{x:n,y:e,z:n,r,stroke:s,strokeOpacity:a,...u})))}function b9(t){let e=W6(t),n=G6(t);return t.map(r=>r<e||r>n?r:NaN)}function W6(t){let e=w9(t)*2.5-v9(t)*1.5;return At(t,n=>n>=e?n:NaN)}function G6(t){let e=v9(t)*2.5-w9(t)*1.5;return Mt(t,n=>n<=e?n:NaN)}function w9(t){return _n(t,.25)}function v9(t){return _n(t,.75)}var Sz={ariaLabel:"raster",stroke:null,pixelSize:1};function ru(t,e){let n=+t;if(isNaN(n))throw new Error(`invalid ${e}: ${t}`);return n}function _9(t,e){let n=Math.floor(t);if(isNaN(n))throw new Error(`invalid ${e}: ${t}`);return n}var Nh=class extends ft{constructor(e,n,r={},o){let{width:i,height:s,x:a,y:c,x1:f=a==null?0:void 0,y1:u=c==null?0:void 0,x2:p=a==null?i:void 0,y2:l=c==null?s:void 0,pixelSize:h=o.pixelSize,blur:d=0,interpolate:m}=r;if(i!=null&&(i=_9(i,"width")),s!=null&&(s=_9(s,"height")),f!=null&&(f=ru(f,"x1")),u!=null&&(u=ru(u,"y1")),p!=null&&(p=ru(p,"x2")),l!=null&&(l=ru(l,"y2")),a==null&&(f==null||p==null))throw new Error("missing x");if(c==null&&(u==null||l==null))throw new Error("missing y");e!=null&&i!=null&&s!=null&&(a===void 0&&f!=null&&p!=null&&(a=Rz(f,p,i,s)),c===void 0&&u!=null&&l!=null&&(c=Lz(u,l,i,s))),super(e,{x:{value:a,scale:"x",optional:!0},y:{value:c,scale:"y",optional:!0},x1:{value:f==null?null:[f],scale:"x",optional:!0,filter:null},y1:{value:u==null?null:[u],scale:"y",optional:!0,filter:null},x2:{value:p==null?null:[p],scale:"x",optional:!0,filter:null},y2:{value:l==null?null:[l],scale:"y",optional:!0,filter:null},...n},r,o),this.width=i,this.height=s,this.pixelSize=ru(h,"pixelSize"),this.blur=ru(d,"blur"),this.interpolate=a==null||c==null?null:Az(m)}},kh=class extends Nh{constructor(e,n={}){let{imageRendering:r}=n;if(e==null){let{fill:o,fillOpacity:i}=n;Pt(i)[0]!==void 0&&(n=w1("fillOpacity",n)),ne(o)[0]!==void 0&&(n=w1("fill",n))}super(e,void 0,n,Sz),this.imageRendering=Vt(r,"auto")}scale(e,{color:n,...r},o){return super.scale(e,r,o)}render(e,n,r,o,i){let s=n[r.channels.fill?.scale]??(C=>C),{x:a,y:c}=r,{document:f}=i,[u,p,l,h]=S9(r,o,i),d=l-u,m=h-p,{pixelSize:g,width:y=Math.round(Math.abs(d)/g),height:x=Math.round(Math.abs(m)/g)}=this,b=y*x,{fill:w,fillOpacity:_}=r,v=0;if(this.interpolate){let C=y/d,N=x/m,R=St(a,O=>(O-u)*C,Float64Array),$=St(c,O=>(O-p)*N,Float64Array);w&&(w=this.interpolate(e,y,x,R,$,w)),_&&(_=this.interpolate(e,y,x,R,$,_))}else this.data==null&&e&&(v=e.fi*b);let M=f.createElement("canvas");M.width=y,M.height=x;let E=M.getContext("2d"),T=E.createImageData(y,x),I=T.data,{r:A,g:k,b:L}=Te(this.fill)??{r:0,g:0,b:0},S=(this.fillOpacity??1)*255;for(let C=0;C<b;++C){let N=C<<2;if(w){let R=s(w[C+v]);if(R==null){I[N+3]=0;continue}({r:A,g:k,b:L}=Te(R))}_&&(S=_[C+v]*255),I[N+0]=A,I[N+1]=k,I[N+2]=L,I[N+3]=S}return this.blur>0&&m2(T,this.blur),E.putImageData(T,0,0),rt("svg:g",i).call(gt,this,o,i).call(ht,this,n).call(C=>C.append("image").attr("transform",`translate(${u},${p}) scale(${Math.sign(l-u)},${Math.sign(h-p)})`).attr("width",Math.abs(d)).attr("height",Math.abs(m)).attr("preserveAspectRatio","none").call(ot,"image-rendering",this.imageRendering).call(lt,this).attr("xlink:href",M.toDataURL())).node()}};function V6(t,e,n){arguments.length<3&&(n=e,e=null);let{x:r,y:o,[t]:i,...s}=n;return r===void 0&&o===void 0&&ZA(e)&&(r=Oa,o=us,i===void 0&&(i=GA)),[e,{...s,x:r,y:o,[t]:i}]}function M9(){let[t,e]=V6("fill",...arguments);return new kh(t,t==null||e.fill!==void 0||e.fillOpacity!==void 0?e:{...e,fill:X})}function S9({x1:t,y1:e,x2:n,y2:r},o,{projection:i}){let{width:s,height:a,marginTop:c,marginRight:f,marginBottom:u,marginLeft:p}=o;return[t&&i==null?t[0]:p,e&&i==null?e[0]:c,n&&i==null?n[0]:s-f,r&&i==null?r[0]:a-u]}function H6({x1:t,y1:e,x2:n,y2:r},o,i,s){let a={};return t&&(a.x1=t),e&&(a.y1=e),n&&(a.x2=n),r&&(a.y2=r),S9(Rf(a,o),i,s)}function w1(t,e={}){let{[t]:n}=e;if(typeof n!="function")throw new Error(`invalid ${t}: not a function`);return Gt({...e,[t]:void 0},function(r,o,i,s,a,c){let{x:f,y:u}=s;if(!f)throw new Error("missing scale: x");if(!u)throw new Error("missing scale: y");let[p,l,h,d]=H6(i,s,a,c),m=h-p,g=d-l,{pixelSize:y}=this,{width:x=Math.round(Math.abs(m)/y),height:b=Math.round(Math.abs(g)/y)}=e,w=new Array(x*b*(o?o.length:1)),_=m/x,v=g/b,M=0;for(let E of o??[void 0])for(let T=.5;T<b;++T)for(let I=.5;I<x;++I,++M)w[M]=n(f.invert(p+I*_),u.invert(l+T*v),E);return{data:w,facets:o,channels:{[t]:{value:w,scale:"auto"}}}})}function Az(t){if(typeof t=="function")return t;if(t==null)return v1;switch(`${t}`.toLowerCase()){case"none":return v1;case"nearest":return Lh;case"barycentric":return Rh();case"random-walk":return Oh()}throw new Error(`invalid interpolate: ${t}`)}function v1(t,e,n,r,o,i){let s=new Array(e*n);for(let a of t)r[a]<0||r[a]>=e||o[a]<0||o[a]>=n||(s[Math.floor(o[a])*e+Math.floor(r[a])]=i[a]);return s}function Rh({random:t=va(42)}={}){return(e,n,r,o,i,s)=>{let{points:a,triangles:c,hull:f}=pr.from(e,h=>o[h],h=>i[h]),u=new s.constructor(n*r).fill(NaN),p=new Uint8Array(n*r),l=kz(s,t);for(let h=0;h<c.length;h+=3){let d=c[h],m=c[h+1],g=c[h+2],y=a[2*d],x=a[2*m],b=a[2*g],w=a[2*d+1],_=a[2*m+1],v=a[2*g+1],M=Math.min(y,x,b),E=Math.max(y,x,b),T=Math.min(w,_,v),I=Math.max(w,_,v),A=(_-v)*(y-b)+(w-v)*(b-x);if(!A)continue;let k=s[e[d]],L=s[e[m]],S=s[e[g]];for(let C=Math.floor(M);C<E;++C)for(let N=Math.floor(T);N<I;++N){if(C<0||C>=n||N<0||N>=r)continue;let R=C+.5,$=N+.5,O=Math.sign(A),D=(_-v)*(R-b)+($-v)*(b-x);if(D*O<0)continue;let F=(v-w)*(R-b)+($-v)*(y-b);if(F*O<0)continue;let P=A-(D+F);if(P*O<0)continue;let W=C+n*N;u[W]=l(k,D/A,L,F/A,S,P/A,C,N),p[W]=1}}return Ez(u,p,o,i,s,n,r,f,e,l),u}}function Ez(t,e,n,r,o,i,s,a,c,f){n=Float64Array.from(a,h=>n[c[h]]),r=Float64Array.from(a,h=>r[c[h]]),o=Array.from(a,h=>o[c[h]]);let u=n.length,p=Array.from({length:u},(h,d)=>Iz(d,n,r)),l=0;for(let h=0;h<s;++h){let d=h+.5;for(let m=0;m<i;++m){let g=m+i*h;if(!e[g]){let y=m+.5;for(let x=0;x<u;++x){let b=(u+l+(x%2?(x+1)/2:-x/2))%u;if(p[b](y,d)){let w=Tz(n.at(b-1),r.at(b-1),n[b],r[b],y,d);t[g]=f(o.at(b-1),w,o[b],1-w,o[b],0,m,h),l=b;break}}}}}}function Tz(t,e,n,r,o,i){let s=n-t,a=r-e,c=s*(n-o)+a*(r-i),f=s*(o-t)+a*(i-e);return c>0&&f>0?c/(c+f):+(c>f)}function Ch(t,e,n,r){return t*r-n*e}function Iz(t,e,n){let r=e.length,o=e.at(t-2),i=n.at(t-2),s=e.at(t-1),a=n.at(t-1),c=e[t],f=n[t],u=e.at(t+1-r),p=n.at(t+1-r),l=s-c,h=a-f,d=o-s,m=i-a,g=c-u,y=f-p,x=Math.hypot(l,h),b=Math.hypot(d,m),w=Math.hypot(g,y);return(_,v)=>{let M=_-s,E=v-a,T=_-c,I=v-f;return Ch(M,E,T,I)>-1e-6&&Ch(M,E,l,h)*b-Ch(M,E,d,m)*x>-1e-6&&Ch(T,I,g,y)*x-Ch(T,I,l,h)*w<=0}}function Lh(t,e,n,r,o,i){let s=new i.constructor(e*n),a=pr.from(t,u=>r[u],u=>o[u]),c,f;for(let u=.5,p=0;u<n;++u){f=c;for(let l=.5;l<e;++l,++p)f=a.find(l,u,f),l===.5&&(c=f),s[p]=i[t[f]]}return s}function Oh({random:t=va(42),minDistance:e=.5,maxSteps:n=2}={}){return(r,o,i,s,a,c)=>{let f=new c.constructor(o*i),u=pr.from(r,d=>s[d],d=>a[d]),p,l,h;for(let d=.5,m=0;d<i;++d){l=p;for(let g=.5;g<o;++g,++m){let y=g,x=d;h=l=u.find(y,x,l),g===.5&&(p=l);let b,w=0;for(;(b=Math.hypot(s[r[h]]-y,a[r[h]]-x))>e&&w<n;){let _=t(g,d,w)*2*Math.PI;y+=Math.cos(_)*b,x+=Math.sin(_)*b,h=u.find(y,x,h),++w}f[m]=c[r[h]]}}return f}}function Cz(t,e,n,r,o,i){return e*t+r*n+i*o}function Nz(t){return(e,n,r,o,i,s,a,c)=>{let f=t(a,c);return f<n?e:f<n+o?r:i}}function kz(t,e){return wi(t)||re(t)?Cz:Nz(e)}function Rz(t,e,n){return{transform(r){let o=r.length,i=new Float64Array(o),s=(e-t)/n,a=t+s/2;for(let c=0;c<o;++c)i[c]=c%n*s+a;return i}}}function Lz(t,e,n,r){return{transform(o){let i=o.length,s=new Float64Array(i),a=(e-t)/r,c=t+a/2;for(let f=0;f<i;++f)s[f]=Math.floor(f/n)%r*a+c;return s}}}var A9={ariaLabel:"contour",fill:"none",stroke:"currentColor",strokeMiterlimit:1,pixelSize:2},$h=class extends Nh{constructor(e,{smooth:n=!0,value:r,...o}={}){let i=$x({},o,A9);if(r===void 0){for(let a in i)if(i[a].value!=null){if(r!==void 0)throw new Error("ambiguous contour value");r=o[a],o[a]="value"}}if(r!=null){let a={transform:c=>c.map(f=>f.value),label:Je(r)};for(let c in i)o[c]==="value"&&(o[c]=a)}if(e==null){if(r==null)throw new Error("missing contour value");o=w1("value",{value:r,...o}),r=null}else{let{interpolate:a}=o;r===void 0&&(r=X),a===void 0&&(o.interpolate="nearest")}super(e,{value:{value:r,optional:!0}},Oz(o),A9);let s={geometry:{value:X}};for(let a in this.channels){let c=this.channels[a],{scale:f}=c;f==="x"||f==="y"||a==="value"||(s[a]=c,delete this.channels[a])}this.contourChannels=s,this.smooth=!!n}filter(e,{x:n,y:r,value:o,...i},s){return super.filter(e,i,s)}render(e,n,r,o,i){let{geometry:s}=r,a=De();return rt("svg:g",i).call(gt,this,o,i).call(ht,this,n).call(c=>{c.selectAll().data(e).enter().append("path").call(lt,this).attr("d",f=>a(s[f])).call(_t,this,r)}).node()}};function Oz({thresholds:t,interval:e,...n}){return t=z6(t,e,ji),Gt(n,function(r,o,i,s,a,c){let[f,u,p,l]=H6(i,s,a,c),h=p-f,d=l-u,{pixelSize:m,width:g=Math.round(Math.abs(h)/m),height:y=Math.round(Math.abs(d)/m)}=this,x=g/h,b=y/d,w=i.value.value,_=[];if(this.interpolate){let{x:I,y:A}=Eo(i,s,c),k=St(I,N=>(N-f)*x,Float64Array),L=St(A,N=>(N-u)*b,Float64Array),S=[i.x,i.y,i.value],C=[k,L,w];for(let N of o){let R=this.filter(N,S,C);_.push(this.interpolate(R,g,y,k,L,w))}}else if(o){let I=g*y,A=o.length;for(let k=0;k<A;++k)_.push(w.slice(k*I,k*I+I))}else _.push(w);if(this.blur>0)for(let I of _)ul({data:I,width:g,height:y},this.blur);let v=$z(t,w,...Dz(_));if(v===null)throw new Error(`unsupported thresholds: ${t}`);let{contour:M}=Zi().size([g,y]).smooth(this.smooth),E=[],T=[];for(let I of _)T.push(pe(E.length,E.push(...St(v,A=>M(I,A)))));for(let{coordinates:I}of E)for(let A of I)for(let k of A)for(let L of k)L[0]=L[0]/x+f,L[1]=L[1]/b+u;return{data:E,facets:T,channels:_x(this.contourChannels,E)}})}function $z(t,e,n,r){if(typeof t?.range=="function")return t.range(t.floor(n),r);if(typeof t=="function"&&(t=t(e,n,r)),typeof t!="number")return Zn(t);let o=He(...kc(n,r,t),t);for(;o[o.length-1]>=r;)o.pop();for(;o[1]<n;)o.shift();return o}function T9(){return new $h(...V6("value",...arguments))}function Dz(t){return[At(t,e=>At(e,E9)),Mt(t,e=>Mt(e,E9))]}function E9(t){return isFinite(t)?t:NaN}function N9(t,e){return Q6(_s,t,e)}function k9(t,e={}){return Q6(Ms,t,e)}function R9(t,e={}){return Q6(Ti,t,e)}function Q6(t,e,n={}){let{x:r,y:o,maxRadius:i}=n,s=t({px:r,py:o,maxRadius:i}),a=[];r!=null&&a.push(er(e,I9("x",{...s,inset:-6},n))),o!=null&&a.push(nr(e,I9("y",{...s,inset:-6},n))),r!=null&&a.push(Io(e,C9("x",{...s,dy:9,frameAnchor:"bottom",lineAnchor:"top"},n))),o!=null&&a.push(Io(e,C9("y",{...s,dx:-9,frameAnchor:"left",textAnchor:"end"},n)));for(let c of a)c.ariaLabel=`crosshair ${c.ariaLabel}`;return Se(...a)}function L9(t,{channels:e,...n},{facet:r,facetAnchor:o,fx:i,fy:s,[t]:a,channels:c,transform:f,initializer:u}){return{...n,facet:r,facetAnchor:o,fx:i,fy:s,[t]:a,channels:{...e,...c},transform:f,initializer:Fz(t,u)}}function Fz(t,e){return e==null?e:function(n,r,{x:o,y:i,px:s,py:a,...c},...f){let{channels:{x:u,y:p,...l}={},...h}=e.call(this,n,r,{...c,x:s,y:a},...f);return{channels:{...l,...u&&{px:u,...t==="x"&&{x:u}},...p&&{py:p,...t==="y"&&{y:p}}},...h}}}function I9(t,e,n){let{color:r="currentColor",opacity:o=.2,ruleStroke:i=r,ruleStrokeOpacity:s=o,ruleStrokeWidth:a}=n;return{...L9(t,e,n),stroke:i,strokeOpacity:s,strokeWidth:a}}function C9(t,e,n){let{color:r="currentColor",textFill:o=r,textFillOpacity:i,textStroke:s="var(--plot-background)",textStrokeOpacity:a,textStrokeWidth:c=5}=n;return{...L9(t,e,Pz(t,n)),fill:o,fillOpacity:i,stroke:s,strokeOpacity:a,strokeWidth:c}}function Pz(t,e){return Gt(e,(n,r,o)=>({channels:{text:{value:nh(o,t)?.value}}}))}var qz={ariaLabel:"delaunay link",fill:"none",stroke:"currentColor",strokeMiterlimit:1},Bz={ariaLabel:"delaunay mesh",fill:null,stroke:"currentColor",strokeOpacity:.2},zz={ariaLabel:"hull",fill:"none",stroke:"currentColor",strokeWidth:1.5,strokeMiterlimit:1},Yz={ariaLabel:"voronoi",fill:"none",stroke:"currentColor",strokeMiterlimit:1},Uz={ariaLabel:"voronoi mesh",fill:null,stroke:"currentColor",strokeOpacity:.2},Z6=class extends ft{constructor(e,n={}){let{x:r,y:o,z:i,curve:s,tension:a}=n;super(e,{x:{value:r,scale:"x",optional:!0},y:{value:o,scale:"y",optional:!0},z:{value:i,optional:!0}},n,qz),this.curve=wh(s,a),Pr(this,n)}render(e,n,r,o,i){let{x:s,y:a}=n,{x:c,y:f,z:u}=r,{curve:p}=this,[l,h]=Ue(this,o),d=c?x=>c[x]:oe(l),m=f?x=>f[x]:oe(h),g=this;function y(x){let b=-1,w=[],_={};for(let S in r)_[S]=[];let v=[],M=[],E=[],T=[];function I(S,C){S=x[S],C=x[C],w.push(++b),v[b]=d(S),E[b]=m(S),M[b]=d(C),T[b]=m(C);for(let N in r)_[N].push(r[N][C])}let{halfedges:A,hull:k,triangles:L}=pr.from(x,d,m);for(let S=0;S<A.length;++S){let C=A[S];C>S&&I(L[S],L[C])}for(let S=0;S<k.length;++S)I(k[S],k[(S+1)%k.length]);Et(this).selectAll().data(w).enter().append("path").call(lt,g).attr("d",S=>{let C=En(),N=p(C);return N.lineStart(),N.point(v[S],E[S]),N.point(M[S],T[S]),N.lineEnd(),C}).call(_t,g,_).call(Ii,g,_,i)}return rt("svg:g",i).call(gt,this,o,i).call(ht,this,{x:c&&s,y:f&&a}).call(u?x=>x.selectAll().data(Ve(e,b=>u[b]).values()).enter().append("g").each(y):x=>x.datum(e).each(y)).node()}},Dh=class extends ft{constructor(e,n={},r,o=({z:i})=>i){let{x:i,y:s}=n;super(e,{x:{value:i,scale:"x",optional:!0},y:{value:s,scale:"y",optional:!0},z:{value:o(n),optional:!0}},n,r)}render(e,n,r,o,i){let{x:s,y:a}=n,{x:c,y:f,z:u}=r,[p,l]=Ue(this,o),h=c?y=>c[y]:oe(p),d=f?y=>f[y]:oe(l),m=this;function g(y){let x=pr.from(y,h,d);Et(this).append("path").datum(y[0]).call(lt,m).attr("d",m._render(x,o)).call(_t,m,r)}return rt("svg:g",i).call(gt,this,o,i).call(ht,this,{x:c&&s,y:f&&a}).call(u?y=>y.selectAll().data(Ve(e,x=>u[x]).values()).enter().append("g").each(g):y=>y.datum(e).each(g)).node()}},K6=class extends Dh{constructor(e,n={}){super(e,n,Bz),this.fill="none"}_render(e){return e.render()}},J6=class extends Dh{constructor(e,n={}){super(e,n,zz,pn)}_render(e){return e.renderHull()}},t3=class extends ft{constructor(e,n={}){let{x:r,y:o,z:i}=n;super(e,{x:{value:r,scale:"x",optional:!0},y:{value:o,scale:"y",optional:!0},z:{value:i,optional:!0}},Gt(n,function(s,a,c,f,u,p){let{x:l,y:h,z:d}=c;({x:l,y:h}=Eo(c,f,p)),d=d?.value;let m=new Array((l??h).length).fill(null),[g,y]=Ue(this,u),x=l?w=>l[w]:oe(g),b=h?w=>h[w]:oe(y);for(let w of a){l&&(w=w.filter(_=>Jt(x(_)))),h&&(w=w.filter(_=>Jt(b(_))));for(let[,_]of Mo(w,d)){let v=pr.from(_,x,b),M=O9(v,u);for(let E=0,T=_.length;E<T;++E)m[_[E]]=M.renderCell(E)}}return{data:s,facets:a,channels:{cells:{value:m}}}}),Yz)}render(e,n,r,o,i){let{x:s,y:a}=n,{x:c,y:f,cells:u}=r;return rt("svg:g",i).call(gt,this,o,i).call(ht,this,{x:c&&s,y:f&&a}).call(p=>{p.selectAll().data(e).enter().append("path").call(lt,this).attr("d",l=>u[l]).call(_t,this,r)}).node()}},e3=class extends Dh{constructor(e,n){super(e,n,Uz),this.fill="none"}_render(e,n){return O9(e,n).render()}};function O9(t,e){let{width:n,height:r,marginTop:o,marginRight:i,marginBottom:s,marginLeft:a}=e;return t.voronoi([a,o,n-i,r-s])}function Fh(t,e,{x:n,y:r,...o}={}){return[n,r]=fe(n,r),new t(e,{...o,x:n,y:r})}function $9(t,e){return Fh(Z6,t,e)}function D9(t,e){return Fh(K6,t,e)}function F9(t,e){return Fh(J6,t,e)}function P9(t,{x:e,y:n,initializer:r,...o}={}){return Fh(t3,t,{...Me({...o,x:e,y:n},e1),initializer:r})}function q9(t,e){return Fh(e3,t,e)}var jz={ariaLabel:"density",fill:"none",stroke:"currentColor",strokeMiterlimit:1},Ph=class extends ft{constructor(e,{x:n,y:r,z:o,weight:i,fill:s,stroke:a,...c}={}){let f=B9(s)&&(s="currentColor",!0),u=B9(a)&&(a="currentColor",!0);super(e,{x:{value:n,scale:"x",optional:!0},y:{value:r,scale:"y",optional:!0},z:{value:pn({z:o,fill:s,stroke:a}),optional:!0},weight:{value:i,optional:!0}},Wz({...c,fill:s,stroke:a},f,u),jz),f&&(this.fill=void 0),u&&(this.stroke=void 0),this.z=o}filter(e){return e}render(e,n,r,o,i){let{contours:s}=r,a=De();return rt("svg:g",i).call(gt,this,o,i).call(ht,this,{}).call(c=>c.selectAll().data(e).enter().append("path").call(lt,this).call(_t,this,r).attr("d",f=>a(s[f]))).node()}};function z9(t,{x:e,y:n,...r}={}){return[e,n]=fe(e,n),new Ph(t,{...r,x:e,y:n})}var Xz=new Set(["x","y","z","weight"]);function Wz(t,e,n){let{bandwidth:o,thresholds:i}=t;return o=o===void 0?20:+o,i=i===void 0?20:typeof i?.[Symbol.iterator]=="function"?_e(i):+i,Gt(t,function(s,a,c,f,u,p){let l=c.weight?_e(c.weight.value):null,h=c.z?.value,{z:d}=this,[m,g]=Ue(this,u),{width:y,height:x}=u,{x:b,y:w}=Eo(c,f,p),_=Object.fromEntries(Object.entries(c).filter(([L])=>!Xz.has(L)).map(([L,S])=>[L,{...S,value:[]}])),v=e&&[],M=n&&[],E=rw().x(b?L=>b[L]:m).y(w?L=>w[L]:g).weight(l?L=>l[L]:1).size([y,x]).bandwidth(o),T=[];for(let L of a){let S=[];T.push(S);for(let C of h?ah(L,h,d):[L]){let N=E.contours(C);S.push([C,N])}}let I=i;if(!(I instanceof Vp)){let L=0;for(let S of T)for(let[,C]of S){let N=C.max;N>L&&(L=N)}I=Float64Array.from({length:i-1},(S,C)=>L*100*(C+1)/i)}let A=[],k=[];for(let L of T){let S=[];A.push(S);for(let[C,N]of L)for(let R of I){S.push(k.length),k.push(N(R/100)),v&&v.push(R),M&&M.push(R);for(let $ in _)_[$].value.push(c[$].value[C[0]])}}return v&&v.push(0),M&&M.push(0),{data:s,facets:A,channels:{..._,...v&&{fill:{value:v,scale:"color"}},...M&&{stroke:{value:M,scale:"color"}},contours:{value:k}}}})}function B9(t){return/^density$/i.test(t)}function j9(t,e){return W9("x",t,e)}function X9(t,e){return W9("y",t,e)}function W9(t,e,{x1:n,x2:r,y1:o,y2:i,x:s=n===void 0&&r===void 0?t==="y"?Xt:X:void 0,y:a=o===void 0&&i===void 0?t==="x"?Xt:X:void 0,fill:c,positiveFill:f="#3ca951",negativeFill:u="#4269d0",fillOpacity:p=1,positiveFillOpacity:l=p,negativeFillOpacity:h=p,stroke:d,strokeOpacity:m,z:g=ne(d)[0],clip:y,tip:x,render:b,...w}={}){return[n,r]=Y9(s,n,r),[o,i]=Y9(a,o,i),n===r&&o===i&&(t==="y"?o=Ri(0):n=Ri(0)),{tip:x}=Fr({tip:x},t==="y"?"x":"y"),Se(Ft(f)?null:Object.assign(vh(e,{x1:n,x2:r,y1:o,y2:i,z:g,fill:f,fillOpacity:l,render:Ei(b,U9(t,!0)),clip:y,...w}),{ariaLabel:"positive difference"}),Ft(u)?null:Object.assign(vh(e,{x1:n,x2:r,y1:o,y2:i,z:g,fill:u,fillOpacity:h,render:Ei(b,U9(t,!1)),clip:y,...w}),{ariaLabel:"negative difference"}),Ja(e,{x:r,y:i,z:g,stroke:d,strokeOpacity:m,tip:x,clip:!0,...w}))}function Y9(t,e,n){return e===void 0&&n===void 0?e=n=Ri(t):e===void 0?(n=Ri(n),e=t===void 0?n:Ri(t)):n===void 0?(e=Ri(e),n=t===void 0?e:Ri(t)):(e=Ri(e),n=Ri(n)),[e,n]}function Ri(t){let e,{value:n,label:r=Je(n)}=wr(t);return{transform:o=>e||(e=ct(o,n)),label:r}}function U9(t,e){let n=t==="x"?"y":"x",r=`${n}1`,o=`${n}2`,i=`${t}1`,s=`${t}2`;return(a,c,f,u,p,l)=>{let{[r]:h,[o]:d}=f,m=new Float32Array(h.length),g=new Float32Array(d.length),y=u[t==="y"?"height":"width"];(e===Ex(c[t])<0?m:g).fill(y);let x=l(a,c,{...f,[o]:h,[s]:g},u,p),b=l(a,c,{...f,[r]:d,[i]:m},u,p),w=x.querySelector("g")??x,_=b.querySelector("g")??b;for(let v=0;w.firstChild;v+=2){let M=g6(),E=rt("svg:clipPath",p).attr("id",M).node();E.appendChild(w.firstChild),_.childNodes[v].setAttribute("clip-path",`url(#${M})`),_.insertBefore(E,_.childNodes[v])}return b}}function _1({geometry:t=X,...e}={}){let n=ws(r=>ct(r,t));return Gt({...e,x:null,y:null,geometry:{transform:n}},(r,o,i,s,a,{projection:c})=>{let f=n(r),u=f.length,p=new Float64Array(u),l=new Float64Array(u),h=De(c);for(let d=0;d<u;++d)[p[d],l[d]]=h.centroid(f[d]);return{data:r,facets:o,channels:{x:{value:p,scale:c==null?"x":null,source:null},y:{value:l,scale:c==null?"y":null,source:null}}}})}function G9({geometry:t=X,...e}={}){let n=ws(o=>ct(o,t)),r=ws(o=>ct(n(o),bw));return{...e,x:{transform:o=>Float64Array.from(r(o),([i])=>i)},y:{transform:o=>Float64Array.from(r(o),([,i])=>i)},geometry:{transform:n}}}var Gz={ariaLabel:"geo",fill:"none",stroke:"currentColor",strokeWidth:1,strokeLinecap:"round",strokeLinejoin:"round",strokeMiterlimit:1},qh=class extends ft{constructor(e,n={}){let[r,o]=Pt(n.r,3);super(e,{x:{value:n.tip?n.x:null,scale:"x",optional:!0},y:{value:n.tip?n.y:null,scale:"y",optional:!0},r:{value:r,scale:"r",filter:kn,optional:!0},geometry:{value:n.geometry,scale:"projection"}},Ah(n),Gz),this.r=o}render(e,n,r,o,i){let{geometry:s,r:a}=r,c=De(i.projection??Vz(n)),{r:f}=this;return is(f)?e=[]:f!==void 0&&c.pointRadius(f),rt("svg:g",i).call(gt,this,o,i).call(ht,this,n).call(u=>{u.selectAll().data(e).enter().append("path").call(lt,this).attr("d",a?p=>c.pointRadius(a[p])(s[p]):p=>c(s[p])).call(_t,this,r)}).node()}};function Vz({x:t,y:e}){if(t||e)return t??=n=>n,e??=n=>n,ba({point(n,r){this.stream.point(t(n),e(r))}})}function M1(t,e={}){return e.tip&&e.x===void 0&&e.y===void 0?e=_1(e):e.geometry===void 0&&(e={...e,geometry:X}),new qh(t,e)}function V9({strokeWidth:t=1.5,...e}={}){return M1({type:"Sphere"},{strokeWidth:t,...e})}function H9({strokeOpacity:t=.1,...e}={}){return M1(Aw(),{strokeOpacity:t,...e})}var ou=.5,iu=0;function Q9(t={fill:"count"},{binWidth:e,...n}={}){let{z:r}=n;return e=e===void 0?20:Rt(e),t=U_(t,n),So(t,"fill")&&(n.channels={...n.channels,fill:{value:[]}}),n.symbol===void 0&&(n.symbol="hexagon"),n.r===void 0&&!So(t,"r")&&(n.r=e/2),Gt(n,(o,i,s,a,c,f)=>{let{x:u,y:p,z:l,fill:h,stroke:d,symbol:m}=s;if(u===void 0)throw new Error("missing channel: x");if(p===void 0)throw new Error("missing channel: y");({x:u,y:p}=Eo(s,a,f)),l=l?l.value:ct(o,r),h=h?.value,d=d?.value,m=m?.value;let g=eh(t,{z:l,fill:h,stroke:d,symbol:m}),y=l&&[],x=h&&[],b=d&&[],w=m&&[],_=[],v=[],M=[],E=-1;for(let k of t)k.initialize(o);for(let k of i){let L=[];for(let S of t)S.scope("facet",k);for(let[S,C]of Mo(k,g))for(let{index:N,extent:R}of Hz(o,C,u,p,e)){L.push(++E),v.push(R.x),M.push(R.y),l&&y.push(g===l?S:l[N[0]]),h&&x.push(g===h?S:h[N[0]]),d&&b.push(g===d?S:d[N[0]]),m&&w.push(g===m?S:m[N[0]]);for(let $ of t)$.reduce(N,R)}_.push(L)}let T=s.x.scale,I=s.y.scale,A={x:{value:v,source:a[T]?{value:St(v,a[T].invert),scale:T}:null},y:{value:M,source:a[I]?{value:St(M,a[I].invert),scale:I}:null},...l&&{z:{value:y}},...h&&{fill:{value:x,scale:"auto"}},...d&&{stroke:{value:b,scale:"auto"}},...m&&{symbol:{value:w,scale:"auto"}},...Object.fromEntries(t.map(({name:k,output:L})=>[k,{scale:"auto",label:L.label,radius:k==="r"?e/2:void 0,value:L.transform()}]))};return{data:o,facets:_,channels:A}})}function Hz(t,e,n,r,o){let i=o*(1.5/L_),s=new Map;for(let a of e){let c=n[a],f=r[a];if(isNaN(c)||isNaN(f))continue;let u=Math.round(f=(f-iu)/i),p=Math.round(c=(c-ou)/o-(u&1)/2),l=f-u;if(Math.abs(l)*3>1){let m=c-p,g=p+(c<p?-1:1)/2,y=u+(f<u?-1:1),x=c-g,b=f-y;m*m+l*l>x*x+b*b&&(p=g+(u&1?1:-1)/2,u=y)}let h=`${p},${u}`,d=s.get(h);d===void 0&&(d={index:[],extent:{data:t,x:(p+(u&1)/2)*o+ou,y:u*i+iu}},s.set(h,d)),d.index.push(a)}return s.values()}var Qz={ariaLabel:"hexgrid",fill:"none",stroke:"currentColor",strokeOpacity:.1};function Z9(t){return new Bh(t)}var Bh=class extends ft{constructor({binWidth:e=20,clip:n=!0,...r}={}){super(fs,void 0,{clip:n,...r},Qz),this.binWidth=Rt(e)}render(e,n,r,o,i){let{binWidth:s}=this,{marginTop:a,marginRight:c,marginBottom:f,marginLeft:u,width:p,height:l}=o,h=u-ou,d=p-c-ou,m=a-iu,g=l-f-iu,y=s/2,x=y*O_,b=x/2,w=y*2,_=x*1.5,v=Math.floor(h/w),M=Math.ceil(d/w),E=Math.floor((m+b)/_),T=Math.ceil((g-b)/_)+1,I=`m0,${$s(-x)}l${$s(y)},${$s(b)}v${$s(x)}l${$s(-y)},${$s(b)}`,A=I;for(let k=E;k<T;++k)for(let L=v;L<M;++L)A+=`M${$s(L*w+(k&1)*y)},${$s(k*_)}${I}`;return rt("svg:g",i).datum(0).call(gt,this,o,i).call(ht,this,{},ie+ou,ie+iu).call(k=>k.append("path").call(lt,this).call(_t,this,r).attr("d",A)).node()}};function $s(t){return Math.round(t*1e3)/1e3}var Zz={ariaLabel:"image",fill:null,stroke:null};function Kz(t){return/^\.*\//.test(t)}function Jz(t){return/^(blob|data|file|http|https):/i.test(t)}function tY(t){return typeof t=="string"&&(Kz(t)||Jz(t))?[void 0,t]:[t,void 0]}var zh=class extends ft{constructor(e,n={}){let{x:r,y:o,r:i,width:s,height:a,rotate:c,src:f,preserveAspectRatio:u,crossOrigin:p,frameAnchor:l,imageRendering:h}=n;i==null&&(i=void 0),i===void 0&&s===void 0&&a===void 0?s=a=16:s===void 0&&a!==void 0?s=a:a===void 0&&s!==void 0&&(a=s);let[d,m]=tY(f),[g,y]=Pt(i),[x,b]=Pt(s,y!==void 0?y*2:void 0),[w,_]=Pt(a,y!==void 0?y*2:void 0),[v,M]=Pt(c,0);super(e,{x:{value:r,scale:"x",optional:!0},y:{value:o,scale:"y",optional:!0},r:{value:g,scale:"r",filter:kn,optional:!0},width:{value:x,filter:kn,optional:!0},height:{value:w,filter:kn,optional:!0},rotate:{value:v,optional:!0},src:{value:d,optional:!0}},Ah(n),Zz),this.src=m,this.width=b,this.rotate=M,this.height=_,this.r=y,this.preserveAspectRatio=Vt(u,"xMidYMid"),this.crossOrigin=he(p),this.frameAnchor=_o(l),this.imageRendering=Vt(h,"auto")}render(e,n,r,o,i){let{x:s,y:a}=n,{x:c,y:f,width:u,height:p,r:l,rotate:h,src:d}=r,{r:m,width:g,height:y,rotate:x}=this,[b,w]=Ue(this,o);return rt("svg:g",i).call(gt,this,o,i).call(ht,this,{x:c&&s,y:f&&a}).call(_=>_.selectAll().data(e).enter().append("image").call(lt,this).attr("x",K9(c,u,l,b,g,m)).attr("y",K9(f,p,l,w,y,m)).attr("width",u?v=>u[v]:g!==void 0?g:l?v=>l[v]*2:m*2).attr("height",p?v=>p[v]:y!==void 0?y:l?v=>l[v]*2:m*2).attr("transform",h?v=>`rotate(${h[v]})`:x?`rotate(${x})`:null).attr("transform-origin",h||x?qr`${c?v=>c[v]:b}px ${f?v=>f[v]:w}px`:null).call(ot,"href",d?v=>d[v]:this.src).call(ot,"preserveAspectRatio",this.preserveAspectRatio).call(ot,"crossorigin",this.crossOrigin).call(ot,"image-rendering",this.imageRendering).call(ot,"clip-path",l?v=>`circle(${l[v]}px)`:m!==void 0?`circle(${m}px)`:null).call(_t,this,r)).node()}};function K9(t,e,n,r,o,i){return e&&t?s=>t[s]-e[s]/2:e?s=>r-e[s]/2:t&&o!==void 0?s=>t[s]-o/2:o!==void 0?r-o/2:n&&t?s=>t[s]-n[s]:n?s=>r-n[s]:t?s=>t[s]-i:r-i}function J9(t,{x:e,y:n,...r}={}){return r.frameAnchor===void 0&&([e,n]=fe(e,n)),new zh(t,{...r,x:e,y:n})}function eY(t,e,n){var r=1e-8,o=e-1,i=n-1,s=0,a,c,f,u,p,l,h,d,m,g,y;if(t<=0)return 0;if(t>=1)return 1;for(e>=1&&n>=1?(f=t<.5?t:1-t,u=Math.sqrt(-2*Math.log(f)),h=(2.30753+u*.27061)/(1+u*(.99229+u*.04481))-u,t<.5&&(h=-h),d=(h*h-3)/6,m=2/(1/(2*e-1)+1/(2*n-1)),g=h*Math.sqrt(d+m)/m-(1/(2*n-1)-1/(2*e-1))*(d+5/6-2/(3*m)),h=e/(e+n*Math.exp(2*g))):(a=Math.log(e/(e+n)),c=Math.log(n/(e+n)),u=Math.exp(e*a)/e,p=Math.exp(n*c)/n,g=u+p,t<u/g?h=Math.pow(e*g*t,1/e):h=1-Math.pow(n*g*(1-t),1/n)),y=-su(e)-su(n)+su(e+n);s<10;s++){if(h===0||h===1)return h;if(l=nY(h,e,n)-t,u=Math.exp(o*Math.log(h)+i*Math.log(1-h)+y),p=l/u,h-=u=p/(1-.5*Math.min(1,p*(o/h-i/(1-h)))),h<=0&&(h=.5*(h+u)),h>=1&&(h=.5*(h+u+1)),Math.abs(u)<r*h&&s>0)break}return h}function nY(t,e,n){var r=t===0||t===1?0:Math.exp(su(e+n)-su(e)-su(n)+e*Math.log(t)+n*Math.log(1-t));return t<0||t>1?!1:t<(e+1)/(e+n+2)?r*tI(t,e,n)/e:1-r*tI(1-t,n,e)/n}function tI(t,e,n){var r=1e-30,o=1,i=e+n,s=e+1,a=e-1,c=1,f=1-i*t/s,u,p,l,h;for(Math.abs(f)<r&&(f=r),f=1/f,h=f;o<=100&&(u=2*o,p=o*(n-o)*t/((a+u)*(e+u)),f=1+p*f,Math.abs(f)<r&&(f=r),c=1+p/c,Math.abs(c)<r&&(c=r),f=1/f,h*=f*c,p=-(e+o)*(i+o)*t/((e+u)*(s+u)),f=1+p*f,Math.abs(f)<r&&(f=r),c=1+p/c,Math.abs(c)<r&&(c=r),f=1/f,l=f*c,h*=l,!(Math.abs(l-1)<3e-7));o++);return h}function su(t){var e=0,n=[76.18009172947146,-86.5053203294167,24.01409824083091,-1.231739572450155,.001208650973866179,-5395239384953e-18],r=1.000000000190015,o,i,s;for(s=(i=o=t)+5.5,s-=(o+.5)*Math.log(s);e<6;e++)r+=n[e]/++i;return Math.log(2.506628274631*r/o)-s}function eI(t,e){var n=eY(2*Math.min(t,1-t),.5*e,.5);return n=Math.sqrt(e*(1-n)/n),t>.5?n:-n}var rY={ariaLabel:"linear-regression",fill:"currentColor",fillOpacity:.1,stroke:"currentColor",strokeWidth:1.5,strokeLinecap:"round",strokeLinejoin:"round",strokeMiterlimit:1},S1=class extends ft{constructor(e,n={}){let{x:r,y:o,z:i,ci:s=.95,precision:a=4}=n;if(super(e,{x:{value:r,scale:"x"},y:{value:o,scale:"y"},z:{value:pn(n),optional:!0}},n,rY),this.z=i,this.ci=+s,this.precision=+a,!(0<=this.ci&&this.ci<1))throw new Error(`invalid ci; not in [0, 1): ${s}`);if(!(this.precision>0))throw new Error(`invalid precision: ${a}`)}render(e,n,r,o,i){let{x:s,y:a,z:c}=r,{ci:f}=this;return rt("svg:g",i).call(gt,this,o,i).call(ht,this,n).call(u=>u.selectAll().data(c?ah(e,c,this.z):[e]).enter().call(p=>p.append("path").attr("fill","none").call(lt,this).call(qa,this,{...r,fill:null,fillOpacity:null}).attr("d",l=>this._renderLine(l,s,a)).call(f&&!vi(this.fill)?l=>l.select(oY).attr("stroke","none").call(lt,this).call(qa,this,{...r,stroke:null,strokeOpacity:null,strokeWidth:null}).attr("d",h=>this._renderBand(h,s,a)):()=>{}))).node()}};function oY(){return this.parentNode.insertBefore(this.ownerDocument.createElementNS(Mn.svg,"path"),this)}var n3=class extends S1{constructor(e,n){super(e,n)}_renderBand(e,n,r){let{ci:o,precision:i}=this,[s,a]=Ot(e,u=>r[u]),c=A1(e,r,n),f=oI(e,r,n,(1-o)/2,c);return mf().y(u=>u).x0(u=>f(u,-1)).x1(u=>f(u,1))(pe(s,a-i/2,i).concat(a))}_renderLine(e,n,r){let[o,i]=Ot(e,a=>r[a]),s=A1(e,r,n);return`M${s(o)},${o}L${s(i)},${i}`}},r3=class extends S1{constructor(e,n){super(e,n)}_renderBand(e,n,r){let{ci:o,precision:i}=this,[s,a]=Ot(e,u=>n[u]),c=A1(e,n,r),f=oI(e,n,r,(1-o)/2,c);return mf().x(u=>u).y0(u=>f(u,-1)).y1(u=>f(u,1))(pe(s,a-i/2,i).concat(a))}_renderLine(e,n,r){let[o,i]=Ot(e,a=>n[a]),s=A1(e,n,r);return`M${o},${s(o)}L${i},${s(i)}`}};function nI(t,{y:e=Xt,x:n=X,stroke:r,fill:o=Ft(r)?"currentColor":r,...i}={}){return new n3(t,Zf({...i,x:n,y:e,fill:o,stroke:r}))}function rI(t,{x:e=Xt,y:n=X,stroke:r,fill:o=Ft(r)?"currentColor":r,...i}={}){return new r3(t,Qf({...i,x:e,y:n,fill:o,stroke:r}))}function A1(t,e,n){let r=0,o=0,i=0,s=0;for(let u of t){let p=e[u],l=n[u];r+=p,o+=l,i+=p*l,s+=p*p}let a=t.length,c=(a*i-r*o)/(a*s-r*r),f=(o-c*r)/a;return u=>c*u+f}function oI(t,e,n,r,o){let i=Ee(t,u=>e[u])/t.length,s=0,a=0;for(let u of t)s+=(e[u]-i)**2,a+=(n[u]-o(e[u]))**2;let c=Math.sqrt(a/(t.length-2)),f=eI(r,t.length-2);return(u,p)=>{let l=o(u),h=c*Math.sqrt(1/t.length+(u-i)**2/s);return l+p*f*h}}function Yh({path:t=X,delimiter:e,frameAnchor:n,treeLayout:r=wa,treeSort:o,treeSeparation:i,treeAnchor:s,treeFilter:a,...c}={}){s=C1(s),o=aI(o),a!=null&&(a=i3(a)),n===void 0&&(n=s.frameAnchor);let f=cI(e),u=mI(c,i3),[p,l]=ze(),[h,d]=ze();return{x:p,y:h,frameAnchor:n,...Me(c,(m,g)=>{let y=f(ct(m,t)),x=l([]),b=d([]),w=-1,_=[],v=[],M=vg().path(I=>y[I]),E=qn(m)?I=>I.data=m[I.data]:I=>I.data=m.get(I.data),T=r();T.nodeSize&&T.nodeSize([1,1]),T.separation&&i!==void 0&&T.separation(i??Hp);for(let I of u)I[T1]=I[hI]([]);for(let I of g){let A=[],k=M(I.filter(L=>y[L]!=null)).each(E);o!=null&&k.sort(o),T(k);for(let L of k.descendants())if(!(a!=null&&!a(L))){A.push(++w),_[w]=L.data,s.position(L,w,x,b);for(let S of u)S[T1][w]=S[dI](L)}v.push(A)}return{data:_,facets:v}}),...Object.fromEntries(u)}}function I1({path:t=X,delimiter:e,curve:n="bump-x",stroke:r="#555",strokeWidth:o=1.5,strokeOpacity:i=.5,treeLayout:s=wa,treeSort:a,treeSeparation:c,treeAnchor:f,treeFilter:u,...p}={}){f=C1(f),a=aI(a),u!=null&&(u=sI(u)),p={curve:n,stroke:r,strokeWidth:o,strokeOpacity:i,...p};let l=cI(e),h=mI(p,sI),[d,m]=ze(),[g,y]=ze(),[x,b]=ze(),[w,_]=ze();return{x1:d,x2:g,y1:x,y2:w,...Me(p,(v,M)=>{let E=l(ct(v,t)),T=m([]),I=y([]),A=b([]),k=_([]),L=-1,S=[],C=[],N=vg().path($=>E[$]),R=s();R.nodeSize&&R.nodeSize([1,1]),R.separation&&c!==void 0&&R.separation(c??Hp);for(let $ of h)$[T1]=$[hI]([]);for(let $ of M){let O=[],D=N($.filter(F=>E[F]!=null)).each(F=>F.data=v[F.data]);a!=null&&D.sort(a),R(D);for(let{source:F,target:P}of D.links())if(!(u!=null&&!u(P,F))){O.push(++L),S[L]=P.data,f.position(F,L,T,A),f.position(P,L,I,k);for(let W of h)W[T1][L]=W[dI](P,F)}C.push(O)}return{data:S,facets:C}}),...Object.fromEntries(h)}}function C1(t="left"){switch(`${t}`.trim().toLowerCase()){case"left":return iY;case"right":return sY}throw new Error(`invalid tree anchor: ${t}`)}var iY={frameAnchor:"left",dx:6,position({x:t,y:e},n,r,o){r[n]=e,o[n]=-t}},sY={frameAnchor:"right",dx:-6,position({x:t,y:e},n,r,o){r[n]=-e,o[n]=-t}};function aI(t){return t==null||typeof t=="function"?t:`${t}`.trim().toLowerCase().startsWith("node:")?iI(i3(t)):iI(aY(t))}function iI(t){return(e,n)=>qe(t(e),t(n))}function aY(t){return e=>e.data?.[t]}function cI(t="/"){if(t=`${t}`,t==="/")return n=>n;if(t.length!==1)throw new Error("delimiter must be exactly one character");let e=t.charCodeAt(0);return n=>n.map(r=>cY(r,e))}var o3=92,fI=47;function cY(t,e){if(e===o3)throw new Error("delimiter cannot be backslash");let n=!1;for(let r=0,o=t.length;r<o;++r){switch(t.charCodeAt(r)){case o3:if(!n){n=!0;continue}break;case e:n?(t=t.slice(0,r-1)+t.slice(r),--r,--o):t=t.slice(0,r)+"/"+t.slice(r+1);break;case fI:n?(t=t.slice(0,r)+"\\\\"+t.slice(r),r+=2,o+=2):(t=t.slice(0,r)+"\\"+t.slice(r),++r,++o);break}n=!1}return t}function fY(t){let e=!1;for(let n=0,r=t.length;n<r;++n){switch(t.charCodeAt(n)){case o3:if(!e){e=!0;continue}case fI:e&&(t=t.slice(0,n-1)+t.slice(n),--n,--r);break}e=!1}return t}function uI(t){return Be(t)&&typeof t.node=="function"}function uY(t){return Be(t)&&typeof t.link=="function"}function i3(t){if(uI(t))return t.node;if(t=`${t}`.trim().toLowerCase(),!!t.startsWith("node:")){switch(t){case"node:name":return a3;case"node:path":return s3;case"node:internal":return lI;case"node:external":return pI;case"node:depth":return c3;case"node:height":return f3}throw new Error(`invalid node value: ${t}`)}}function sI(t){if(uI(t))return t.node;if(uY(t))return t.link;if(t=`${t}`.trim().toLowerCase(),!(!t.startsWith("node:")&&!t.startsWith("parent:"))){switch(t){case"parent:name":return E1(a3);case"parent:path":return E1(s3);case"parent:depth":return E1(c3);case"parent:height":return E1(f3);case"node:name":return a3;case"node:path":return s3;case"node:internal":return lI;case"node:external":return pI;case"node:depth":return c3;case"node:height":return f3}throw new Error(`invalid link value: ${t}`)}}function s3(t){return t.id}function a3(t){return lY(t.id)}function c3(t){return t.depth}function f3(t){return t.height}function lI(t){return!!t.children}function pI(t){return!t.children}function E1(t){return(e,n)=>n==null?void 0:t(n)}function lY(t){let e=t.length;for(;--e>0&&!pY(t,e););return fY(t.slice(e+1))}function pY(t,e){if(t[e]==="/"){let n=0;for(;e>0&&t[--e]==="\\";)++n;if(!(n&1))return!0}return!1}var hI=2,dI=3,T1=4;function mI(t,e){let n=[];for(let r in t){let o=t[r],i=e(o);i!==void 0&&n.push([r,...ze(o),i])}return n}function u3(t,{fill:e,stroke:n,strokeWidth:r,strokeOpacity:o,strokeLinejoin:i,strokeLinecap:s,strokeMiterlimit:a,strokeDasharray:c,strokeDashoffset:f,marker:u,markerStart:p=u,markerEnd:l=u,dot:h=Ft(p)&&Ft(l),text:d="node:name",textStroke:m="var(--plot-background)",title:g="node:path",dx:y,dy:x,textAnchor:b,treeLayout:w=wa,textLayout:_=w===wa||w===bg?"mirrored":"normal",tip:v,...M}={}){if(y===void 0&&(y=C1(M.treeAnchor).dx),b!==void 0)throw new Error("textAnchor is not a configurable tree option");_=Ce(_,"textLayout",["mirrored","normal"]);function E(T){return Io(t,Yh({treeLayout:w,text:d,fill:e===void 0?"currentColor":e,stroke:m,dx:y,dy:x,title:g,...T,...M}))}return Se(p1(t,I1({treeLayout:w,markerStart:p,markerEnd:l,stroke:n!==void 0?n:e===void 0?"node:internal":e,strokeWidth:r,strokeOpacity:o,strokeLinejoin:i,strokeLinecap:s,strokeMiterlimit:a,strokeDasharray:c,strokeDashoffset:f,...M})),h?_r(t,Yh({treeLayout:w,fill:e===void 0?"node:internal":e,title:g,tip:v,...M})):null,d!=null?_==="mirrored"?[E({textAnchor:"start",treeFilter:"node:external"}),E({textAnchor:"end",treeFilter:"node:internal",dx:-y})]:E():null)}function gI(t,e){return u3(t,{...e,treeLayout:bg})}var xI={ariaLabel:"waffle"},Uh=class extends Va{constructor(e,{unit:n=1,gap:r=1,round:o,render:i,multiple:s,...a}={}){super(e,{...a,render:Ei(i,bI("x"))},xI),this.unit=Math.max(0,n),this.gap=+r,this.round=wI(o),this.multiple=vI(s)}},jh=class extends Ha{constructor(e,{unit:n=1,gap:r=1,round:o,render:i,multiple:s,...a}={}){super(e,{...a,render:Ei(i,bI("y"))},xI),this.unit=Math.max(0,n),this.gap=+r,this.round=wI(o),this.multiple=vI(s)}};function bI(t){return function(e,n,r,o,i){let{unit:s,gap:a,rx:c,ry:f,round:u}=this,{document:p}=i,l=r.channels[`${t}1`].value,h=r.channels[`${t}2`].value,d=this[t==="y"?"_width":"_height"](n,r,o),m=this[t==="y"?"_x":"_y"](n,r,o),g=s*hY(n.scales[t]),{multiple:y=Math.max(1,Math.floor(Math.sqrt(d/g)))}=this,x=Math.min(d/y,g*y),b=g*y,w=t==="y"?([A,k])=>[A*x,-k*b]:([A,k])=>[k*b,A*x],_=(d-y*x)/2,v=typeof m=="function"?A=>m(A)+_:m+_,M=n[t](0),E=E7(),T=p.createElementNS(Mn.svg,"pattern");T.setAttribute("width",t==="y"?x:b),T.setAttribute("height",t==="y"?b:x),T.setAttribute("patternUnits","userSpaceOnUse");let I=T.appendChild(p.createElementNS(Mn.svg,"rect"));return I.setAttribute("x",a/2),I.setAttribute("y",a/2),I.setAttribute("width",(t==="y"?x:b)-a),I.setAttribute("height",(t==="y"?b:x)-a),c!=null&&I.setAttribute("rx",c),f!=null&&I.setAttribute("ry",f),rt("svg:g",i).call(gt,this,o,i).call(this._transform,this,n).call(A=>A.selectAll().data(e).enter().append(()=>T.cloneNode(!0)).attr("id",k=>`${E}-${k}`).select("rect").call(lt,this).call(_t,this,r)).call(A=>A.selectAll().data(e).enter().append("path").attr("transform",t==="y"?qr`translate(${v},${M})`:qr`translate(${M},${v})`).attr("d",k=>`M${l3(u(l[k]/s),u(h[k]/s),y).map(w).join("L")}Z`).attr("fill",k=>`url(#${E}-${k})`).attr("stroke",this.stroke==null?null:k=>`url(#${E}-${k})`)).node()}}function l3(t,e,n){if(t<0||e<0){let r=Math.ceil(-Math.min(t,e)/n);return l3(t+r*n,e+r*n,n).map(([o,i])=>[o,i-r])}return e<t?l3(e,t,n):[[0,Math.ceil(t/n)],[Math.floor(t%n),Math.ceil(t/n)],[Math.floor(t%n),Math.floor(t/n)+t%1],[Math.ceil(t%n),Math.floor(t/n)+t%1],...t%n>n-1?[]:[[Math.ceil(t%n),Math.floor(t/n)],[n,Math.floor(t/n)]],[n,Math.floor(e/n)],[Math.ceil(e%n),Math.floor(e/n)],[Math.ceil(e%n),Math.floor(e/n)+e%1],[Math.floor(e%n),Math.floor(e/n)+e%1],...e%n<1?[]:[[Math.floor(e%n),Math.ceil(e/n)],[0,Math.ceil(e/n)]]]}function wI(t){if(t===void 0||t===!1)return Number;if(t===!0)return Math.round;if(typeof t!="function")throw new Error(`invalid round: ${t}`);return t}function vI(t){return t===void 0?void 0:Math.max(1,Math.floor(t))}function hY({domain:t,range:e}){return yI(e)/yI(t)}function yI(t){let[e,n]=Ot(t);return n-e}function _I(t,e={}){return xi(e)||(e={...e,y:Xt,x2:X}),new Uh(t,Ts(Bf(As(e))))}function MI(t,e={}){return xi(e)||(e={...e,x:Xt,y2:X}),new jh(t,Is(zf(Es(e))))}var OI=JC(LI(),1);var vY=({marginLeft:t})=>[1,t],_Y=({width:t,marginRight:e})=>[-1,t-e],MY=({width:t,marginLeft:e,marginRight:n})=>[0,(e+t-n)/2],SY=({marginTop:t})=>[1,t],AY=({height:t,marginBottom:e})=>[-1,t-e],EY=({height:t,marginTop:e,marginBottom:n})=>[0,(e+t-n)/2];function $I(t){return typeof t=="string"?{anchor:t}:t}function DI(t={},e={}){arguments.length===1&&([t,e]=PI(t));let{anchor:n="left",padding:r=1,r:o=e.r}=$I(t);switch(`${n}`.toLowerCase()){case"left":n=vY;break;case"right":n=_Y;break;case"middle":n=MY;break;default:throw new Error(`unknown dodge anchor: ${n}`)}return qI("x","y",n,Rt(r),o,e)}function FI(t={},e={}){arguments.length===1&&([t,e]=PI(t));let{anchor:n="bottom",padding:r=1,r:o=e.r}=$I(t);switch(`${n}`.toLowerCase()){case"top":n=SY;break;case"bottom":n=AY;break;case"middle":n=EY;break;default:throw new Error(`unknown dodge anchor: ${n}`)}return qI("y","x",n,Rt(r),o,e)}function PI(t){let{anchor:e,padding:n,...r}=t,{r:o}=r;return[{anchor:e,padding:n,r:o},r]}function qI(t,e,n,r,o,i){if(o!=null&&typeof o!="number"){let{channels:s,sort:a,reverse:c}=i;s=Zp(s),s?.r===void 0&&(i={...i,channels:{...s,r:{value:o,scale:"r"}}}),a===void 0&&c===void 0&&(i.sort={channel:"-r"})}return Gt(i,function(s,a,c,f,u,p){let{[e]:l,r:h}=c;if(!c[e])throw new Error(`missing channel: ${e}`);({[e]:l}=Eo(c,f,p));let d=h?void 0:o!==void 0?Rt(o):this.r!==void 0?this.r:3;h&&(h=ct(h.value,f[h.scale]||X,Float64Array));let[m,g]=n(u),y=m?IY:TY,x=new Float64Array(l.length),b=h?w=>h[w]:()=>d;for(let w of a){let _=(0,OI.default)();w=w.filter(h?M=>wf(l[M])&&kn(h[M]):M=>wf(l[M]));let v=new Float64Array(2*w.length+2);for(let M of w){let E=b(M),T=m?E+r:0,I=l[M]-E,A=l[M]+E,k=2;_.queryInterval(I-r,A+r,([,,S])=>{let C=x[S]-T,N=l[M]-l[S],R=r+(h?h[M]+h[S]:2*d),$=Math.sqrt(R*R-N*N);v[k++]=C-$,v[k++]=C+$});let L=v.slice(0,k);m&&(L=L.filter(S=>S>=0));t:for(let S of L.sort(y)){for(let C=0;C<k;C+=2)if(v[C]+1e-6<S&&S<v[C+1]-1e-6)continue t;x[M]=S+T;break}_.insert([I,A,M])}}m||(m=1);for(let w of a)for(let _ of w)x[_]=x[_]*m+g;return{data:s,facets:a,channels:{[t]:{value:x,source:null},[e]:{value:l,source:c[e]},...h&&{r:{value:h,source:c.r}}}}})}function TY(t,e){return Math.abs(t)-Math.abs(e)}function IY(t,e){return t-e}function zI(t,e){return arguments.length===1&&({basis:t,...e}=t),tu(R1(t),e)}function YI(t,e){return arguments.length===1&&({basis:t,...e}=t),eu(R1(t),e)}function R1(t){if(t===void 0)return BI;if(typeof t=="function")return L1(Af(t));if(/^p\d{2}$/i.test(t))return uu(Sf(t));switch(`${t}`.toLowerCase()){case"deviation":return kY;case"first":return BI;case"last":return NY;case"max":return RY;case"mean":return LY;case"median":return OY;case"min":return $Y;case"sum":return DY;case"extent":return CY}throw new Error(`invalid basis: ${t}`)}function L1(t){return{mapIndex(e,n,r){let o=+t(e,n);for(let i of e)r[i]=n[i]===null?NaN:n[i]/o}}}function uu(t){return L1((e,n)=>t(e,r=>n[r]))}var CY={mapIndex(t,e,n){let[r,o]=Ot(t,s=>e[s]),i=o-r;for(let s of t)n[s]=e[s]===null?NaN:(e[s]-r)/i}},BI=L1((t,e)=>{for(let n=0;n<t.length;++n){let r=e[t[n]];if(Jt(r))return r}}),NY=L1((t,e)=>{for(let n=t.length-1;n>=0;--n){let r=e[t[n]];if(Jt(r))return r}}),kY={mapIndex(t,e,n){let r=Qo(t,i=>e[i]),o=fr(t,i=>e[i]);for(let i of t)n[i]=e[i]===null?NaN:o?(e[i]-r)/o:0}},RY=uu(Mt),LY=uu(Qo),OY=uu(Rr),$Y=uu(At),DY=uu(Ee);function UI(t,e){return XI("x",t,e)}function jI(t,e){return XI("y",t,e)}function XI(t,e,n={}){let r,o=1;if(typeof e=="number")o=e,r=(f,u)=>+f+u;else{if(typeof e=="string"){let f=e.startsWith("-")?-1:1;[e,o]=fx(e.replace(/^[+-]/,"")),o*=f}e=Tf(e),r=(f,u)=>e.offset(f,u)}let i=`${t}1`,s=`${t}2`,a=Bn({[i]:f=>f.map(u=>r(u,o)),[s]:f=>f},n),c=a[s].transform;return a[s].transform=()=>{let f=c(),[u,p]=Ot(f);return f.domain=o<0?[u,r(p,o)]:[r(u,o),p],f},a}function WI(t,e={}){if(typeof t=="string")switch(t.toLowerCase()){case"first":return Gh(e);case"last":return Vh(e)}if(typeof t=="function")return Ds(null,t,e);let n,r;for(n in t){if(r!==void 0)throw new Error("ambiguous selector; multiple inputs");r=FY(t[n])}if(r===void 0)throw new Error(`invalid selector: ${t}`);return Ds(n,r,e)}function FY(t){if(typeof t=="function")return t;switch(`${t}`.toLowerCase()){case"min":return y3;case"max":return x3}throw new Error(`unknown selector: ${t}`)}function Gh(t){return Ds(null,PY,t)}function Vh(t){return Ds(null,qY,t)}function O1(t){return Ds("x",y3,t)}function $1(t){return Ds("y",y3,t)}function D1(t){return Ds("x",x3,t)}function F1(t){return Ds("y",x3,t)}function*PY(t){yield t[0]}function*qY(t){yield t[t.length-1]}function*y3(t,e){yield r0(t,n=>e[n])}function*x3(t,e){yield ra(t,n=>e[n])}function Ds(t,e,n){if(t!=null){if(n[t]==null)throw new Error(`missing channel: ${t}`);t=n[t]}let r=pn(n);return Me(n,(o,i)=>{let s=ct(o,r),a=ct(o,t),c=[];for(let f of i){let u=[];for(let p of s?Ve(f,l=>s[l]).values():[f])for(let l of e(p,a))u.push(l);c.push(u)}return{data:o,facets:c}})}ft.prototype.plot=function({marks:t=[],...e}={}){return Hf({...e,marks:[...t,this]})};var BY=new Map([["style","style"],["width","width"],["height","height"],["margin","margin"],["marginLeft","marginLeft"],["marginRight","marginRight"],["marginTop","marginTop"],["marginBottom","marginBottom"],["align","align"],["aspectRatio","aspectRatio"],["axis","axis"],["inset","inset"],["grid","grid"],["label","label"],["padding","padding"],["xScale","x.type"],["xDomain","x.domain"],["xRange","x.range"],["xNice","x.nice"],["xInset","x.inset"],["xInsetLeft","x.insetLeft"],["xInsetRight","x.insetRight"],["xClamp","x.clamp"],["xRound","x.round"],["xAlign","x.align"],["xPadding","x.padding"],["xPaddingInner","x.paddingInner"],["xPaddingOuter","x.paddingOuter"],["xAxis","x.axis"],["xTicks","x.ticks"],["xTickSize","x.tickSize"],["xTickSpacing","x.tickSpacing"],["xTickPadding","x.tickPadding"],["xTickFormat","x.tickFormat"],["xTickRotate","x.tickRotate"],["xGrid","x.grid"],["xLine","x.line"],["xLabel","x.label"],["xLabelAnchor","x.labelAnchor"],["xLabelArrow","x.labelArrow"],["xLabelOffset","x.labelOffset"],["xFontVariant","x.fontVariant"],["xAriaLabel","x.ariaLabel"],["xAriaDescription","x.ariaDescription"],["xPercent","x.percent"],["xReverse","x.reverse"],["xZero","x.zero"],["xBase","x.base"],["xExponent","x.exponent"],["xConstant","x.constant"],["yScale","y.type"],["yDomain","y.domain"],["yRange","y.range"],["yNice","y.nice"],["yInset","y.inset"],["yInsetTop","y.insetTop"],["yInsetBottom","y.insetBottom"],["yClamp","y.clamp"],["yRound","y.round"],["yAlign","y.align"],["yPadding","y.padding"],["yPaddingInner","y.paddingInner"],["yPaddingOuter","y.paddingOuter"],["yAxis","y.axis"],["yTicks","y.ticks"],["yTickSize","y.tickSize"],["yTickSpacing","y.tickSpacing"],["yTickPadding","y.tickPadding"],["yTickFormat","y.tickFormat"],["yTickRotate","y.tickRotate"],["yGrid","y.grid"],["yLine","y.line"],["yLabel","y.label"],["yLabelAnchor","y.labelAnchor"],["yLabelArrow","y.labelArrow"],["yLabelOffset","y.labelOffset"],["yFontVariant","y.fontVariant"],["yAriaLabel","y.ariaLabel"],["yAriaDescription","y.ariaDescription"],["yPercent","y.percent"],["yReverse","y.reverse"],["yZero","y.zero"],["yBase","y.base"],["yExponent","y.exponent"],["yConstant","y.constant"],["facetMargin","facet.margin"],["facetMarginTop","facet.marginTop"],["facetMarginBottom","facet.marginBottom"],["facetMarginLeft","facet.marginLeft"],["facetMarginRight","facet.marginRight"],["facetGrid","facet.grid"],["facetLabel","facet.label"],["fxDomain","fx.domain"],["fxRange","fx.range"],["fxInset","fx.inset"],["fxInsetLeft","fx.insetLeft"],["fxInsetRight","fx.insetRight"],["fxRound","fx.round"],["fxAlign","fx.align"],["fxPadding","fx.padding"],["fxPaddingInner","fx.paddingInner"],["fxPaddingOuter","fx.paddingOuter"],["fxAxis","fx.axis"],["fxTicks","fx.ticks"],["fxTickSize","fx.tickSize"],["fxTickSpacing","fx.tickSpacing"],["fxTickPadding","fx.tickPadding"],["fxTickFormat","fx.tickFormat"],["fxTickRotate","fx.tickRotate"],["fxGrid","fx.grid"],["fxLine","fx.line"],["fxLabel","fx.label"],["fxLabelAnchor","fx.labelAnchor"],["fxLabelOffset","fx.labelOffset"],["fxFontVariant","fx.fontVariant"],["fxAriaLabel","fx.ariaLabel"],["fxAriaDescription","fx.ariaDescription"],["fxReverse","fx.reverse"],["fyDomain","fy.domain"],["fyRange","fy.range"],["fyInset","fy,inset"],["fyInsetTop","fy.insetTop"],["fyInsetBottom","fy.insetBottom"],["fyRound","fy.round"],["fyAlign","fy.align"],["fyPadding","fy.padding"],["fyPaddingInner","fy.paddingInner"],["fyPaddingOuter","fy.paddingOuter"],["fyAxis","fy.axis"],["fyTicks","fy.ticks"],["fyTickSize","fy.tickSize"],["fyTickSpacing","fy.tickSpacing"],["fyTickPadding","fy.tickPadding"],["fyTickFormat","fy.tickFormat"],["fyTickRotate","fy.tickRotate"],["fyGrid","fy.grid"],["fyLine","fy.line"],["fyLabel","fy.label"],["fyLabelAnchor","fy.labelAnchor"],["fyLabelOffset","fy.labelOffset"],["fyFontVariant","fy.fontVariant"],["fyAriaLabel","fy.ariaLabel"],["fyAriaDescription","fy.ariaDescription"],["fyReverse","fy.reverse"],["colorScale","color.type"],["colorDomain","color.domain"],["colorRange","color.range"],["colorClamp","color.clamp"],["colorN","color.n"],["colorNice","color.nice"],["colorScheme","color.scheme"],["colorInterpolate","color.interpolate"],["colorPivot","color.pivot"],["colorSymmetric","color.symmetric"],["colorLabel","color.label"],["colorPercent","color.percent"],["colorReverse","color.reverse"],["colorZero","color.zero"],["colorTickFormat","color.tickFormat"],["colorBase","color.base"],["colorExponent","color.exponent"],["colorConstant","color.constant"],["opacityScale","opacity.type"],["opacityDomain","opacity.domain"],["opacityRange","opacity.range"],["opacityClamp","opacity.clamp"],["opacityNice","opacity.nice"],["opacityLabel","opacity.label"],["opacityPercent","opacity.percent"],["opacityReverse","opacity.reverse"],["opacityZero","opacity.zero"],["opacityTickFormat","opacity.tickFormat"],["opacityBase","opacity.base"],["opacityExponent","opacity.exponent"],["opacityConstant","opacity.constant"],["symbolScale","symbol.type"],["symbolDomain","symbol.domain"],["symbolRange","symbol.range"],["rScale","r.type"],["rDomain","r.domain"],["rRange","r.range"],["rClamp","r.clamp"],["rNice","r.nice"],["rLabel","r.label"],["rPercent","r.percent"],["rZero","r.zero"],["rBase","r.base"],["rExponent","r.exponent"],["rConstant","r.constant"],["lengthScale","length.type"],["lengthDomain","length.domain"],["lengthRange","length.range"],["lengthClamp","length.clamp"],["lengthNice","length.nice"],["lengthPercent","length.percent"],["lengthZero","length.zero"],["lengthBase","length.base"],["lengthExponent","length.exponent"],["lengthConstant","length.constant"],["projectionType","projection.type"],["projectionParallels","projection.parallels"],["projectionPrecision","projection.precision"],["projectionRotate","projection.rotate"],["projectionDomain","projection.domain"],["projectionInset","projection.inset"],["projectionInsetLeft","projection.insetLeft"],["projectionInsetRight","projection.insetRight"],["projectionInsetTop","projection.insetTop"],["projectionInsetBottom","projection.insetBottom"],["projectionClip","projection.clip"]]);function zY(t,e,n){for(let r=0;r<e.length;++r){let o=e[r];r===e.length-1?t[o]=n:t=t[o]||(t[o]={})}}function GI(t,e,n){for(let r in t){let o=BY.get(r);if(o==null)throw new Error(`Unrecognized plot attribute: ${r}`);let i=t[r];typeof i=="symbol"?n.push(r):i!==void 0&&zY(e,o.split("."),i)}}var YY=new Set(["frame","hexgrid","sphere","graticule"]),UY=new Map([["first",Gh],["last",Vh],["maxX",D1],["maxY",F1],["minX",O1],["minY",$1],["nearest",_s],["nearestX",Ms],["nearestXY",Ti]]);async function VI(t){let e={marks:[]},n=[],{attributes:r,marks:o}=t;GI(r,e,n);let i=[];for(let a of o)for(let{type:c,data:f,options:u}of a.plotSpecs()){let{select:p,...l}=u,h=UY.get(p)?.(l)??l,d=YY.has(c)?[h]:[f,h];e.marks.push(b3[c](...d)),i.push(a.index)}XY(e,t);let s=Hf(e);GY(s,i),jY(t,s,r,n);for(let a of t.interactors)await a.init(s);return s}function jY(t,e,n,r){r.forEach(o=>{let i=n[o];if(i===Li){if(!o.endsWith("Domain"))throw new Error(`Unsupported fixed attribute: ${o}`);let s=o.slice(0,-6),a=e.scale(s);a?.domain&&t.setAttribute(o,n[`${s}Reverse`]?a.domain.slice().reverse():a.domain)}else throw new Error(`Unrecognized symbol: ${i}`)})}function XY(t,e){let{marks:n}=e;P1("x",t,n),P1("y",t,n),P1("fx",t,n),P1("fy",t,n)}function P1(t,e,n){let r=e[t]||{};if(r.axis===null||r.label!==void 0)return;let o=n.map(s=>s.channelField(t)?.field);if(o.every(s=>s==null))return;let i;for(let s=0;s<o.length;++s){let a=HI(o[s]);a!==void 0&&(i===void 0?i=a:i!==a&&(i=void 0))}i!==void 0&&(e[t]={...r,label:i})}function HI(t){if(t){switch(t.type){case"COLUMN_REF":return t.column;case"CAST":return HI(t.expr);case"FUNCTION":if(t.name==="make_date")return"date";break}return WY(t)}}function WY(t){let e=`${t}`.replaceAll('"',"").replaceAll("(*)","()");return e.endsWith("()")?e.slice(0,-2):e}function GY(t,e){let n=-1;for(let r of t.children){let o=r.getAttribute("aria-label")||"";r.nodeName==="style"||o.includes("-axis")||o.includes("-grid")||r.setAttribute("data-index",e[++n])}}var VY={width:640,marginLeft:40,marginRight:20,marginTop:20,marginBottom:30},w3=class{constructor(e){this.attributes={...VY},this.listeners=null,this.interactors=[],this.legends=[],this.marks=[],this.markset=null,this.element=e||document.createElement("div"),this.element.setAttribute("class","plot"),this.element.style.display="flex",this.element.value=this,this.params=new Map,this.synch=d2()}margins(){return{left:this.getAttribute("marginLeft"),top:this.getAttribute("marginTop"),bottom:this.getAttribute("marginBottom"),right:this.getAttribute("marginRight")}}innerWidth(){let{left:e,right:n}=this.margins();return this.getAttribute("width")-e-n}innerHeight(e=400){let{top:n,bottom:r}=this.margins(),o=this.getAttribute("height");return o==null&&(o=HY(this,n,r)||e,this.setAttribute("height",o,{silent:!0})),o-n-r}pending(e){this.synch.pending(e)}update(e){return this.synch.ready(e)&&!this.pendingRender&&(this.pendingRender=!0,requestAnimationFrame(()=>this.render())),this.synch.promise}async render(){this.pendingRender=!1;let e=await VI(this),n=this.legends.flatMap(({legend:r,include:o})=>{let i=r.init(e);return o?i:[]});this.element.replaceChildren(e,...n),this.synch.resolve()}getAttribute(e){return this.attributes[e]}setAttribute(e,n,r){return al(this.attributes[e],n)?(n===void 0?delete this.attributes[e]:this.attributes[e]=n,r?.silent||this.listeners?.get(e)?.forEach(o=>o(e,n)),!0):!1}addAttributeListener(e,n){let r=this.listeners||(this.listeners=new Map);return r.has(e)||r.set(e,new Set),r.get(e).add(n),this}removeAttributeListener(e,n){return this.listeners?.get(e)?.delete(n)}addParams(e,n){let{params:r}=this;for(let o of n)r.has(o)?r.get(o).push(e):(r.set(o,[e]),o.addEventListener("value",()=>Promise.allSettled(r.get(o).map(i=>i.initialize()))))}addMark(e){return e.setPlot(this,this.marks.length),this.marks.push(e),this.markset=null,this}get markSet(){return this.markset||(this.markset=new Set(this.marks))}addInteractor(e){return this.interactors.push(e),this}addLegend(e,n=!0){e.setPlot(this),this.legends.push({legend:e,include:n})}};function HY(t,e,n){let r=t.getAttribute("aspectRatio");if(r==null)return;let o=t.getAttribute("xDomain"),i=t.getAttribute("yDomain");if(!o||!i)return;let s=Math.abs(o[1]-o[0]);return Math.abs(i[1]-i[0])*t.innerWidth()/(r*s)+e+n}function q1(t){return typeof t!="string"?!1:(t=t.toLowerCase().trim(),t==="none"||t==="currentcolor"||t.startsWith("url(")&&t.endsWith(")")||t.startsWith("var(")&&t.endsWith(")")||Xn(t)!==null)}var QY=new Set(["offset","order","reverse","sort","label","anchor","curve","tension","marker","markerStart","markerMid","markerEnd","textAnchor","lineAnchor","lineHeight","textOverflow","monospace","fontFamily","fontSize","fontStyle","fontVariant","fontWeight","frameAnchor","strokeLinejoin","strokeLinecap","strokeMiterlimit","strokeDasharray","strokeDashoffset","mixBlendMode","shapeRendering","imageRendering","preserveAspectRatio","interpolate","crossOrigin","paintOrder","pointerEvents","target","select"]);function QI(t){return QY.has(t)}var ZY=new Set(["asterisk","circle","cross","diamond","diamond2","hexagon","plus","square","square2","star","times","triangle","triangle2","wye"]);function ZI(t){return ZY.has(`${t}`.toLowerCase())}var KI=t=>t==="stroke"||t==="fill",KY=t=>/opacity$/i.test(t),JY=t=>t==="symbol",tU=(t,e)=>t!=="sort"&&t!=="tip"&&e!=null&&!Array.isArray(e),v3=(t,e)=>({channel:t,field:e,as:qi(e)&&!Nb(e)?e.column:t}),_3=(t,e)=>({channel:t,value:e}),B1=t=>Array.isArray(t),tn=class extends gu{constructor(e,n,r,o={}){super(n?.options?.filterBy),this.type=e,this.reqs=o,this.source=n;let i=this.channels=[],s=this.detail=new Set,a=this.params=new Set;B1(n)?this.data=cr(n):Wo(n?.table)&&a.add(n.table);let c=(f,u)=>{let p=typeof u;if(f==="channels")for(let l in u)s.add(l),c(l,u[l]);else if(p==="function"&&u[du]){let l=u(this,f);for(let h in l)c(h,l[h])}else if(p==="string")QI(f)||KI(f)&&q1(u)||JY(f)&&ZI(u)?i.push(_3(f,u)):i.push(v3(f,Fu(u)));else if(Er(u)){let l=_3(f,u.value);i.push(l),u.addEventListener("value",h=>(l.value=h,this.update()))}else Re(u)?(Zb(u).forEach(l=>a.add(l)),i.push(v3(f,u))):p==="object"&&tU(f,u)?i.push(v3(f,u)):u!==void 0&&i.push(_3(f,u))};for(let f in r)c(f,r[f])}setPlot(e,n){this.plot=e,this.index=n,e.addParams(this,this.params),this.source?.table&&this.queryPending()}sourceTable(){let e=this.source?.table;return e?Wo(e)?e.value:e:null}hasOwnData(){return this.source==null||B1(this.source)}hasFieldInfo(){return!!this._fieldInfo}channel(e){return this.channels.find(n=>n.channel===e)}channelField(e,{exact:n=!1}={}){let r=n?this.channel(e):this.channels.find(o=>o.channel.startsWith(e));return r?.field?r:null}fields(){if(this.hasOwnData())return null;let{channels:e,reqs:n}=this,r=new Map;for(let{channel:i,field:s}of e){if(!s)continue;let a=s.stats?.stats||[],c=s.stats?.column??s,f=r.get(c)??r.set(c,new Set).get(c);a.forEach(u=>f.add(u)),n[i]?.forEach(u=>f.add(u))}let o=this.sourceTable();return Array.from(r,([i,s])=>({table:o,column:i,stats:Array.from(s)}))}fieldInfo(e){let n=Object.fromEntries(e.map(r=>[r.column,r]));for(let r of this.channels){let{field:o}=r;o&&Object.assign(r,n[o.stats?.column??o])}return this._fieldInfo=!0,this}query(e=[]){return this.hasOwnData()?null:Hh(this.channels,this.sourceTable()).where(e)}queryPending(){return this.plot.pending(this),this}queryResult(e){return this.data=cr(e),this}update(){return this.plot.update(this)}plotSpecs(){let{type:e,data:n,detail:r,channels:o}=this;return M3(e,r,o,n)}};function dn(t,e){let n=e?.[t.as]??t.as;return Object.hasOwn(t,"value")?t.value:KI(t.channel)?{value:n,scale:"color"}:KY(t.channel)?{value:n,scale:"opacity"}:n}function Hh(t,e,n=[]){let r=yt.from({source:e}),o=new Set,i=!1;for(let s of t){let{channel:a,field:c,as:f}=s;if(!n.includes(a)){if(a==="orderby")r.orderby(s.value);else if(c){if(yn(c))i=!0;else{if(o.has(f))continue;o.add(f)}r.select({[f]:c})}}}return i&&r.groupby(Array.from(o)),r}function M3(t,e,n,r,o={}){let{numRows:i,values:s,columns:a}=r??{},c={};for(let p of n){let l=e.has(p.channel)?c:o;l[p.channel]=dn(p,a)}return e.size&&(o.channels=c),[{type:t,data:s??(r?{length:i}:null),options:o}]}function ec(t,e){let{plot:n}=t,r=n.getAttribute(`${e}Scale`);if(!r){let{type:i}=t.channelField(e);r=i==="date"?"time":"linear"}let o={type:r};switch(r){case"log":o.base=n.getAttribute(`${e}Base`)??10;break;case"pow":o.exponent=n.getAttribute(`${e}Exponent`)??1;break;case"symlog":o.constant=n.getAttribute(`${e}Constant`)??1;break}return il(o)}function rr(t,e,n,r,o=1,i){let{field:s}=t.channelField(e);i=i??s;let{type:a,apply:c,sqlApply:f}=ec(t,e),u=!!t.plot.getAttribute(`${e}Reverse`),[p,l]=r.map(m=>c(m)),h=f(i),d=a==="time"||a==="utc"?h:i;return[Kb(h,p,l,n-o,u),d]}var S3={x:["min","max"]},A3={y:["min","max"]},z1={...S3,...A3};function JI(t,e,n,r,o){let{plot:i}=t,s=i.getAttribute(r),a=i.getAttribute(o);if(Array.isArray(s)&&!s[je])return s;{let{column:c,min:f,max:u}=t.channelField(n),p=E3(e,c)||(a?si().domain([f,u]).nice().domain():[f,u]);return s!==Li&&(p[je]=!0),i.setAttribute(r,p,{silent:!0}),p}}function Lo(t,e){return JI(t,e,"x","xDomain","xNice")}function Oo(t,e){return JI(t,e,"y","yDomain","yNice")}function E3(t,e){if(!t)return;let n,r;return[t].flat().forEach(o=>Qr(o,i=>{if(i instanceof Zs&&`${i.expr}`===e){let s=(i.extent??[]).map(a=>a?.value??a);(n==null||s[0]<n)&&(n=s[0]),(r==null||s[1]>r)&&(r=s[1])}})),n!=null&&r!=null&&n!==r?[n,r]:void 0}var T3=class extends tn{constructor(e,n,r){let o=e.endsWith("X")?"y":e.endsWith("Y")?"x":null,i=o?{[o]:["count","min","max"]}:void 0;super(e,n,r,i),this.dim=o}query(e=[]){let{plot:n,dim:r,source:o}=this,i=o.options?.optimize,s=super.query(e);if(!r)return s;let a=r==="x"?"y":"x",c=this.channelField(a,{exact:!0})?.as,{field:f,as:u,type:p,count:l,min:h,max:d}=this.channelField(r),m=p==="date"||p==="number",g=r==="x"?n.innerWidth():n.innerHeight();if(i??=l/g>10,i&&m&&c){let[y,x]=E3(e,f)||[h,d],[b]=rr(this,r,g,[y,x],1,u),w=s._select.map(_=>_.alias).filter(_=>_!==u&&_!==c);return r2(s,b,u,c,w)}else return s.orderby(f)}};function I3(t,e=[]){return new e.constructor(t)}function tC(t,e,n,r,o){let i=e.length,s={},a=[];if(o?.length){let c=new Int32Array(i),f=o.map(l=>r[l]),u={};for(let l=0;l<i;++l){let h=f.map(d=>d[l]);c[l]=u[h]??=a.push(h)-1}for(let l=0;l<o.length;++l)s[o[l]]=a.map(h=>h[l]);let p=s._grid=a.map(()=>I3(t,n));for(let l=0;l<i;++l)p[c[l]][e[l]]=n[l]}else{a.push([]);let[c]=s._grid=[I3(t,n)];for(let f=0;f<i;++f)c[e[f]]=n[f]}return{numRows:a.length,columns:s}}function eC(t,e,n,r,o,i,s){let a=n.length,c=t*e,f=o.map(h=>r[h]),u={},p=[],l=new Int32Array(a);if(i?.length){let h=i.map(m=>r[m]),d={};for(let m=0;m<a;++m){let g=h.map(y=>y[m]);l[m]=d[g]??=p.push(g)-1}for(let m=0;m<i.length;++m)u[i[m]]=p.map(g=>g[m])}else p.push([]);if(s){let h=n.map(g=>g%t),d=n.map(g=>Math.floor(g/t)),m=p.map(()=>[]);for(let g=0;g<a;++g)m[l[g]].push(g);o.forEach((g,y)=>{let x=f[y];u[g]=p.map((b,w)=>s(m[w],t,e,h,d,x))})}else o.forEach((h,d)=>{let m=f[d],g=u[h]=p.map(()=>I3(c,m));for(let y=0;y<a;++y)g[l[y]][n[y]]=m[y]});return{numRows:p.length,columns:u}}function Qh(t){let e=1/0,n=-1/0;return t.forEach(r=>{let o=r.length;for(let i=0;i<o;++i){let s=r[i];s<e&&(e=s),s>n&&(n=s)}}),Number.isFinite(e)&&Number.isFinite(n)?[e,n]:[0,1]}function nC(t){let e=new vn;return t.forEach(n=>{let r=n.length;for(let o=0;o<r;++o)e.add(n[o])}),Array.from(e).sort(dt)}function se(t,e){return Wo(t)?(t.addEventListener("value",e),t.value):t}function Zh(t,e=!1){let n=new Float64Array(5),r=new Float64Array(4);eU(n,r,t);let o=Float64Array.of(0,r[1]-n[1]*r[0],r[2]-n[2]*r[0],r[3]-n[3]*r[0],-n[4]*r[0]),i=1+n[1]+n[2]+n[3]+n[4],s=(r[0]+r[1]+r[2]+r[3])/i,a=(o[1]+o[2]+o[3]+o[4])/i;return{sigma:t,negative:e,a:n,b_causal:r,b_anticausal:o,sum_causal:s,sum_anticausal:a}}function eU(t,e,n){let o=Float64Array.of(.84,1.8675,.84,-1.8675,-.34015,-.1299,-.34015,.1299),i=Math.exp(-1.783/n),s=Math.exp(-1.723/n),a=.6318/n,c=1.997/n,f=Float64Array.of(-i*Math.cos(a),i*Math.sin(a),-i*Math.cos(-a),i*Math.sin(-a),-s*Math.cos(c),s*Math.sin(c),-s*Math.cos(-c),s*Math.sin(-c)),u=n*2.5066282746310007,p=Float64Array.of(o[0],o[1],0,0,0,0,0,0),l=Float64Array.of(1,0,f[0],f[1],0,0,0,0,0,0),h,d;for(d=2;d<8;d+=2){for(p[d]=f[d]*p[d-2]-f[d+1]*p[d-1],p[d+1]=f[d]*p[d-1]+f[d+1]*p[d-2],h=d-2;h>0;h-=2)p[h]+=f[d]*p[h-2]-f[d+1]*p[h-1],p[h+1]+=f[d]*p[h-1]+f[d+1]*p[h-2];for(h=0;h<=d;h+=2)p[h]+=o[d]*l[h]-o[d+1]*l[h+1],p[h+1]+=o[d]*l[h+1]+o[d+1]*l[h];for(l[d+2]=f[d]*l[d]-f[d+1]*l[d+1],l[d+3]=f[d]*l[d+1]+f[d+1]*l[d],h=d;h>0;h-=2)l[h]+=f[d]*l[h-2]-f[d+1]*l[h-1],l[h+1]+=f[d]*l[h-1]+f[d+1]*l[h-2]}for(d=0;d<4;++d)h=d<<1,e[d]=p[h]/u,t[d+1]=l[h+2]}function rC(t,e,n,[r,o]){let i=new Float64Array(Math.max(r,o)),s=new Float64Array(Math.max(r,o)),a=new Float64Array(5),c=new Float64Array(n.length);for(let f=0,u=0;f<o;++f,u+=r){let p=c.subarray(u);Y1(t,n.subarray(u),r,1,i,s,a,p)}for(let f=0;f<r;++f){let u=c.subarray(f);Y1(e,u,o,r,i,s,a,u)}return c}function Y1(t,e,n,r=1,o=new Float64Array(n),i=new Float64Array(n),s=new Float64Array(5),a=o,c=nU){let f=r*2,u=r*3,p=r*4,l=r*n,h,d;for(c(o,e,n,r,t.b_causal,3,t.a,4,t.sum_causal,s,t.sigma),d=4,h=p;d<n;++d,h+=r)o[d]=t.b_causal[0]*e[h]+t.b_causal[1]*e[h-r]+t.b_causal[2]*e[h-f]+t.b_causal[3]*e[h-u]-t.a[1]*o[d-1]-t.a[2]*o[d-2]-t.a[3]*o[d-3]-t.a[4]*o[d-4];for(c(i,e,n,-r,t.b_anticausal,4,t.a,4,t.sum_anticausal,s,t.sigma),d=4,h=l-r*5;d<n;++d,h-=r)i[d]=t.b_anticausal[1]*e[h+r]+t.b_anticausal[2]*e[h+f]+t.b_anticausal[3]*e[h+u]+t.b_anticausal[4]*e[h+p]-t.a[1]*i[d-1]-t.a[2]*i[d-2]-t.a[3]*i[d-3]-t.a[4]*i[d-4];if(t.negative)for(d=0,h=0;d<n;++d,h+=r)a[h]=o[d]+i[n-d-1];else for(d=0,h=0;d<n;++d,h+=r)a[h]=Math.max(0,o[d]+i[n-d-1]);return a}function nU(t,e,n,r,o,i,s,a,c,f,u,p=.5){let l=Math.abs(r)*n,h=r<0?l+r:0,d,m,g;for(m=0;m<=a;++m)for(f[m]=m<=i?o[m]:0,g=1;g<=a&&g<=m;++g)f[m]-=s[g]*f[m-g];for(g=0;g<a;++g)for(t[g]=0,m=1;m<=g;++m)d=h+r*m,d>=0&&d<l&&(t[g]+=f[g-m]*e[d]);let y=e[h],x=Math.ceil(u*10);for(m=0;m<x;++m){for(g=0;g<a;++g)t[g]+=f[g]*y;if(c-=Math.abs(f[0]),c<=p)break;for(f[a]=m+a<=i?o[m+a]:0,g=1;g<=a;++g)f[a]-=s[g]*f[a-g];for(g=0;g<a;++g)f[g]=f[g+1]}}var Br="density",zr=class extends tn{constructor(e,n,r){let{bandwidth:o=0,interpolate:i="none",pixelSize:s=1,pad:a=1,width:c,height:f,...u}=r,p=rU(u);super(e,n,u,z1),this.densityMap=p,this.bandwidth=se(o,l=>(this.bandwidth=l,this.grids?this.convolve().update():null)),this.interpolate=se(i,l=>(this.interpolate=l,this.requestUpdate())),this.pixelSize=se(s,l=>(this.pixelSize=l,this.requestUpdate())),this.pad=se(a,l=>(this.pad=l,this.requestUpdate())),this.width=se(c,l=>(this.width=l,this.requestUpdate())),this.height=se(f,l=>(this.height=l,this.requestUpdate()))}setPlot(e,n){let r=()=>{this.hasFieldInfo()&&this.requestUpdate()};e.addAttributeListener("xDomain",r),e.addAttributeListener("yDomain",r),super.setPlot(e,n)}get filterStable(){let e=this.plot.getAttribute("xDomain"),n=this.plot.getAttribute("yDomain");return e&&n&&!e[je]&&!n[je]}query(e=[]){let{interpolate:n,pad:r,channels:o,densityMap:i}=this,[s,a]=this.extentX=Lo(this,e),[c,f]=this.extentY=Oo(this,e),[u,p]=this.bins=this.binDimensions(),[l,h]=rr(this,"x",u,[s,a],r),[d,m]=rr(this,"y",p,[c,f],r),g=r?[gn(h,[+s,+a]),gn(m,[+c,+f])]:[Cr(+s,h),le(h,+a),Cr(+c,m),le(m,+f)],y=yt.from(this.sourceTable()).where(e.concat(g)),x=this.groupby=[],b={};for(let _ of o)if(Object.hasOwn(_,"field")){let{as:v,channel:M,field:E}=_;yn(E)?(b[M]=E,i[M]=!0):M==="weight"?b[Br]=zt(E):M!=="x"&&M!=="y"&&(y.select({[v]:E}),x.push(v))}let w=this.aggr=Object.keys(b);if(b.density&&w.length>1)throw new Error("Weight option can not be used with custom aggregates.");if(w.length||(w.push(Br),b[Br]=rn()),n==="linear"){if(w.length>1)throw new Error("Linear binning not applicable to multiple aggregates.");if(!b[Br])throw new Error("Linear binning not applicable to custom aggregates.");let _=Sc(b[Br])[0];return e2(y,l,d,_,u,x)}else return Jb(y,l,d,b,u,x)}binDimensions(){let{plot:e,pixelSize:n,width:r,height:o}=this;return[r??Math.round(e.innerWidth()/n),o??Math.round(e.innerHeight()/n)]}queryResult(e){let[n,r]=this.bins,o=oU(this.interpolate),{columns:i}=cr(e);return this.grids0=eC(n,r,i.index,i,this.aggr,this.groupby,o),this.convolve()}convolve(){let{aggr:e,bandwidth:n,bins:r,grids0:o,plot:i}=this;if(this.grids=o,n>0){let s=e.length===1?e[0]:e.includes(Br)?Br:null;if(!s)return console.warn("No compatible grid found for smoothing."),this;let a=o.columns[s],c=i.innerWidth(),f=i.innerHeight(),[u,p]=r,l=a.some(m=>m.some(g=>g<0)),h=Zh(n*(u-1)/c,l),d=Zh(n*(p-1)/f,l);this.grids={numRows:o.numRows,columns:{...o.columns,[s]:a.map(m=>rC(h,d,m,r))}}}return this}};function rU(t){let e={};for(let n in t)t[n]==="density"&&(delete t[n],e[n]=!0);return e}function oU(t="none"){if(typeof t=="function")return t;switch(t.toLowerCase()){case"none":case"linear":return;case"nearest":return Lh;case"barycentric":return Rh();case"random-walk":return Oh()}throw new Error(`invalid interpolate: ${t}`)}var C3=class extends zr{constructor(e,n){let{thresholds:r=10,...o}=n;super("geo",e,{bandwidth:20,interpolate:"linear",pixelSize:2,...o}),this.thresholds=se(r,i=>(this.thresholds=i,this.grids?this.contours().update():null))}convolve(){return super.convolve().contours()}contours(){let{bins:e,densityMap:n,grids:r,thresholds:o,plot:i}=this,{numRows:s,columns:a}=r,c=o,f;if(Array.isArray(c))f=c;else{let[,A]=Qh(a.density);f=Array.from({length:c-1},(k,L)=>A*(L+1)/c)}(n.fill||n.stroke)&&this.plot.getAttribute("colorScale")!=="log"&&this.plot.setAttribute("colorZero",!0);let[u,p]=e,[l,h]=i.getAttribute("xDomain"),[d,m]=i.getAttribute("yDomain"),g=(h-l)/u,y=(m-d)/p,x=+l,b=+d,w=A=>x+A*g,_=A=>b+A*y,v=Zi().size(e),M=this.contourData=Array(s*f.length),{density:E,...T}=a,I=Object.entries(T);for(let A=0,k=0;A<s;++A){let L=E[A],S=I.reduce((C,[N,R])=>(C[N]=R[A],C),{});for(let C=0;C<f.length;++C,++k)M[k]=Object.assign(iU(v.contour(L,f[C]),w,_),S)}return this}plotSpecs(){let{type:e,channels:n,densityMap:r,contourData:o}=this,i={};for(let s of n){let{channel:a}=s;a!=="x"&&a!=="y"&&(i[a]=dn(s))}for(let s in r)r[s]&&(i[s]=dn({channel:s,as:"value"}));return[{type:e,data:o,options:i}]}};function iU(t,e,n){function r(s){s.forEach(o)}function o(s){s.forEach(i)}function i(s){s[0]=e(s[0]),s[1]=n(s[1])}return t.coordinates.forEach(r),t}function Kh(t){return Array.from({length:t},(e,n)=>n)}function U1(t,e){let n=e.reduce((o,i,s)=>(o[i]=s,o),{}),r=Kh(t.length);return r.sort((o,i)=>n[t[o]]-n[t[i]]),r}function j1(t,e){if(typeof document<"u"){let n=document.createElement("canvas");return n.setAttribute("width",t),n.setAttribute("height",e),n}throw new Error("Can not create a canvas instance.")}function oC(t=1){let e=255*t|0;return(n,r,o)=>{for(let i=0,s=0;i<o;++i)for(let a=0;a<r;++a,s+=4)n[s+3]=e}}function iC(t){let{apply:e}=t;return(n,r,o,i)=>{for(let s=0,a=0;s<o;++s)for(let c=0,f=(o-s-1)*r;c<r;++c,a+=4)n[a+3]=255*e(i[c+f])|0}}function sC(t={}){let{r:e=0,g:n=0,b:r=0,opacity:o=1}=typeof t=="string"?Te(t):t,i=new Uint8ClampedArray([e,n,r,255*o|0]);return(s,a,c)=>{for(let f=0,u=0;f<c;++f)for(let p=0;p<a;++p,u+=4)s[u+0]=i[0],s[u+1]=i[1],s[u+2]=i[2],s[u+3]=i[3]}}function aC(t){let{domain:e,range:n}=t,r=Object.create(null),o=new Uint8ClampedArray(4*e.length),i=e.length-1,s=n.length;for(let a=0;a<=i;++a){let c=n[a%s],{r:f,g:u,b:p,opacity:l=1}=typeof c=="string"?Te(c):c,h=a<<2;o[h+0]=f,o[h+1]=u,o[h+2]=p,o[h+3]=255*l|0,r[e[a]]=h}return(a,c,f,u)=>{if(u.map)for(let p=0,l=0;p<f;++p)for(let h=0,d=(f-p-1)*c;h<c;++h,l+=4){let m=r[u[h+d]];a[l+0]=o[m+0],a[l+1]=o[m+1],a[l+2]=o[m+2],a[l+3]=o[m+3]}else{let p=r[u];for(let l=0,h=0;l<f;++l)for(let d=0;d<c;++d,h+=4)a[h+0]=o[p+0],a[h+1]=o[p+1],a[h+2]=o[p+2],a[h+3]=o[p+3]}}}function cC(t,e,n){let{interpolate:r}=e,o=new Uint8ClampedArray(4*t),i=t-1;for(let s=0;s<=i;++s){let a=r(s/i),{r:c,g:f,b:u,opacity:p=1}=typeof a=="string"?Te(a):a,l=s<<2;o[l+0]=c,o[l+1]=f,o[l+2]=u,o[l+3]=255*p|0}return(s,a,c,f)=>{for(let u=0,p=0;u<c;++u)for(let l=0,h=(c-u-1)*a;l<a;++l,p+=4){let d=i*n(f[l+h])<<2;s[p+0]=o[d+0],s[p+1]=o[d+1],s[p+2]=o[d+2],s[p+3]=o[d+3]}}}var lu=class extends zr{constructor(e,n){super("image",e,n),this.image=null}setPlot(e,n){let r=()=>{this.hasFieldInfo()&&this.rasterize()};e.addAttributeListener("schemeColor",r),super.setPlot(e,n)}convolve(){return super.convolve().rasterize()}rasterize(){let{bins:e,grids:n}=this,[r,o]=e,{numRows:i,columns:s}=n,{canvas:a,ctx:c,img:f}=fU(this,r,o),{alpha:u,alphaProp:p,color:l,colorProp:h}=k3(this),d=s[p]??[],m=s[h]??[],g=i>1&&h&&this.groupby?.includes(h)?U1(m,this.plot.getAttribute("colorDomain")):Kh(i);return this.data={numRows:i,columns:{src:Array.from({length:i},(y,x)=>(l?.(f.data,r,o,m[g[x]]),u?.(f.data,r,o,d[g[x]]),c.putImageData(f,0,0),a.toDataURL()))}},this}plotSpecs(){let{type:e,plot:n,data:{numRows:r,columns:o}}=this,i={src:o.src,width:n.innerWidth(),height:n.innerHeight(),preserveAspectRatio:"none",imageRendering:this.channel("imageRendering")?.value,frameAnchor:"middle"};return[{type:e,data:{length:r},options:i}]}},N3=class extends lu{constructor(e,n){super(e,{bandwidth:20,interpolate:"linear",pixelSize:2,...n})}};function k3(t){let{aggr:e,densityMap:n,groupby:r,plot:o}=t,i=e.includes(Br),s=e.includes("fillOpacity"),a=t.channel("fill"),c=t.channel("fillOpacity");if(e.length>2||i&&s)throw new Error("Invalid raster encodings. Try dropping an aggregate?");if(r.includes(c?.as))throw new Error("Raster fillOpacity must be an aggregate or constant.");let f=n.fill||e.includes("fill")?"grid":r.includes(a?.as)?"group":q1(a?.value)?a.value:i&&o.getAttribute("colorScheme")?"grid":void 0,u=n.fillOpacity||e.includes("fillOpacity")?"grid":typeof c?.value=="number"?c.value:i&&f!=="grid"?"grid":void 0;if(f!=="grid"&&u!=="grid")throw new Error("Raster mark missing density values.");let p=a?.as??(f==="grid"?Br:null),l=c?.as??(u==="grid"?Br:null),h=f!=="grid"&&f!=="group"?sC(f):aU(t,p),d=u!=="grid"?oC(u):sU(t,l);return{alphaProp:l,colorProp:p,alpha:d,color:h}}function sU(t,e){let{plot:n,grids:r}=t,o=n.getAttribute("opacityDomain"),i=o===Li,s=o?.[je],a=!i&&!s&&o||Qh(r.columns[e]);(i||s||!o)&&(i||(a[je]=!0),n.setAttribute("opacityDomain",a));let c=ys({opacity:{type:n.getAttribute("opacityScale"),domain:a,range:n.getAttribute("opacityRange"),clamp:n.getAttribute("opacityClamp"),nice:n.getAttribute("opacityNice"),reverse:n.getAttribute("opacityReverse"),zero:n.getAttribute("opacityZero"),base:n.getAttribute("opacityBase"),exponent:n.getAttribute("opacityExponent"),constant:n.getAttribute("opacityConstant")}});return iC(c)}function aU(t,e){let{plot:n,grids:r}=t,o=r.columns[e],i=!o[0]?.map,s=i||Array.isArray(o[0]),a=n.getAttribute("colorDomain"),c=a===Li,f=a?.[je],u=!c&&!f&&a||(i?o.slice().sort(dt):s?nC(o):Qh(o));(c||f||!a)&&(c||(u[je]=!0),n.setAttribute("colorDomain",u));let p=ys({color:{type:n.getAttribute("colorScale"),domain:u,range:n.getAttribute("colorRange"),clamp:n.getAttribute("colorClamp"),n:n.getAttribute("colorN"),nice:n.getAttribute("colorNice"),reverse:n.getAttribute("colorReverse"),scheme:n.getAttribute("colorScheme"),interpolate:n.getAttribute("colorInterpolate"),pivot:n.getAttribute("colorPivot"),symmetric:n.getAttribute("colorSymmetric"),zero:n.getAttribute("colorZero"),base:n.getAttribute("colorBase"),exponent:n.getAttribute("colorExponent"),constant:n.getAttribute("colorConstant")}});if(s)return aC(p);{let l=ys({x:{type:cU(p.type),domain:p.domain,reverse:p.reverse,range:[0,1],clamp:p.clamp,base:p.base,exponent:p.exponent,constant:p.constant}});return cC(1024,p,l.apply)}}function cU(t){return t.endsWith("symlog")?"symlog":t.endsWith("log")?"log":t.endsWith("pow")?"pow":t.endsWith("sqrt")?"sqrt":t==="diverging"?"linear":t}function fU(t,e,n){if(!t.image||t.image.w!==e||t.image.h!==n){let r=j1(e,n),o=r.getContext("2d",{willReadFrequently:!0}),i=o.getImageData(0,0,e,n);t.image={canvas:r,ctx:o,img:i,w:e,h:n}}return t.image}var R3=class extends lu{constructor(e,n){let{normalize:r=!0,...o}=n;super(e,o),this.normalize=se(r,i=>(this.normalize=i,this.requestUpdate()))}query(e=[]){let{channels:n,normalize:r,pad:o}=this,[i,s]=this.bins=this.binDimensions(),[a]=rr(this,"x",i,Lo(this,e),o),[c]=rr(this,"y",s,Oo(this,e),o),f=yt.from(this.sourceTable()).where(uU(this,e));this.aggr=["density"];let u=this.groupby=[],p=[];for(let l of n)if(Object.hasOwn(l,"field")){let{channel:h,field:d}=l;h==="z"?(f.select({[h]:d}),p.push("z")):h!=="x"&&h!=="y"&&(f.select({[h]:d}),u.push(h))}return n2(f,a,c,p,i,s,u,r)}};function uU(t,e){if(Array.isArray(e)&&!e.length)return e;let n=t.channelField("x").column,r=t.channelField("y").column,o=s=>{let a=`${s.expr}`;return s.type!=="BETWEEN"||a!==n&&a!==r},i=s=>s.op==="AND"?Fn(s.clauses.filter(a=>o(a))):s;return Array.isArray(e)?e.filter(s=>o(s)).map(s=>i(s)):i(e)}var lU={fill:1,stroke:1,z:1},L3=class extends tn{constructor(e,n,r){let{bins:o=1024,bandwidth:i=20,normalize:s=!1,stack:a=!1,...c}=r,f=e.endsWith("X")?"y":"x";super(e,n,c,f==="x"?S3:A3),this.dim=f,this.bins=se(o,u=>(this.bins=u,this.requestUpdate())),this.bandwidth=se(i,u=>(this.bandwidth=u,this.grids?this.convolve().update():null)),this.normalize=se(s,u=>(this.normalize=u,this.convolve().update())),this.stack=se(a,u=>(this.stack=u,this.update()))}get filterStable(){let e=this.dim==="x"?"xDomain":"yDomain",n=this.plot.getAttribute(e);return n&&!n[je]}query(e=[]){if(this.hasOwnData())throw new Error("Density1DMark requires a data source");let{bins:n,channels:r,dim:o}=this,i=this.extent=(o==="x"?Lo:Oo)(this,e),[s,a]=rr(this,o,n,i),c=Hh(r,this.sourceTable(),[o]).where(e.concat(gn(a,i))),f=this.channelField("weight")?"weight":null,u=this.groupby=r.flatMap(p=>lU[p.channel]&&p.field?p.as:[]);return t2(c,s,f,u)}queryResult(e){let n=cr(e).columns;return this.grids=tC(this.bins,n.index,n.density,n,this.groupby),this.convolve()}convolve(){let{bins:e,bandwidth:n,normalize:r,dim:o,grids:i,groupby:s,plot:a,extent:[c,f]}=this,u=i.columns,p=i.numRows,l=this.channelField(o).as,h=o==="x"?"y":"x",d=o==="x"?a.innerWidth():a.innerHeight(),m=u._grid.some(M=>M.some(E=>E<0)),g=Zh(n*(e-1)/d,m),y=+c,x=(f-y)/(e-1),b=e*p,w=new Float64Array(b),_=new Float64Array(b),v=s.reduce((M,E)=>(M[E]=Array(b),M),{});for(let M=0,E=0;E<p;++E){s.forEach(k=>v[k].fill(u[k][E],M,M+e));let T=u._grid[E],I=Y1(g,T,e),A=1/pU(T,I,x,r);for(let k=0;k<e;++k,++M)w[M]=y+k*x,_[M]=I[k]*A}return this.data={numRows:b,columns:{[l]:w,[h]:_,...v}},this}plotSpecs(){let{type:e,data:{numRows:n,columns:r},channels:o,dim:i,stack:s}=this,a=e.startsWith("area")&&!s?"2":"",c=i==="x"?{[`y${a}`]:r.y}:{[`x${a}`]:r.x};for(let f of o)c[f.channel]=dn(f,r);return[{type:e,data:{length:n},options:c}]}};function pU(t,e,n,r){return(r===!0||r==="sum"?Ee(t):r==="max"?Mt(e):n)||1}var O3=class extends zr{constructor(e,n){let{type:r="dot",...o}=n;super(r,e,{bandwidth:20,interpolate:"linear",pad:0,pixelSize:2,...o})}convolve(){super.convolve();let{bins:e,pad:n,extentX:r,extentY:o}=this,[i,s]=e,a=ec(this,"x"),c=ec(this,"y"),[f,u]=r.map(g=>a.apply(g)),[p,l]=o.map(g=>c.apply(g)),h=(u-f)/(i-n),d=(l-p)/(s-n),m=n?0:.5;return this.data=hU(this.grids,e,f,p,h,d,a.invert,c.invert,m),this}plotSpecs(){let{type:e,channels:n,densityMap:r,data:{numRows:o,columns:i}}=this,s={};for(let a of n){let{channel:c}=a;s[c]=c==="x"||c==="y"?i[c]:dn(a,i)}for(let a in r)r[a]&&(s[a]=i.density);return[{type:e,data:{length:o},options:s}]}};function hU(t,e,n,r,o,i,s,a,c){let f=1/(o*i),[u,p]=e,l=u*p,h=l*t.numRows,d=new Float64Array(h),m=new Float64Array(h),g=new Float64Array(h),y={x:d,y:m,density:g},{density:x,...b}=t.columns;for(let _ in b)y[_]=new b[_].constructor(h);let w=0;for(let _=0;_<t.numRows;++_){for(let M in b)y[M].fill(b[M][_],w,w+l);let v=x[_];for(let M=0,E=0;E<p;++E)for(let T=0;T<u;++T,++w,++M)d[w]=s(n+(T+c)*o),m[w]=a(r+(E+c)*i),g[w]=v[M]*f}return{numRows:h,columns:y}}function dU(t,e,n){var r=1e-8,o=e-1,i=n-1,s=0,a,c,f,u,p,l,h,d,m,g,y;if(t<=0)return 0;if(t>=1)return 1;for(e>=1&&n>=1?(f=t<.5?t:1-t,u=Math.sqrt(-2*Math.log(f)),h=(2.30753+u*.27061)/(1+u*(.99229+u*.04481))-u,t<.5&&(h=-h),d=(h*h-3)/6,m=2/(1/(2*e-1)+1/(2*n-1)),g=h*Math.sqrt(d+m)/m-(1/(2*n-1)-1/(2*e-1))*(d+5/6-2/(3*m)),h=e/(e+n*Math.exp(2*g))):(a=Math.log(e/(e+n)),c=Math.log(n/(e+n)),u=Math.exp(e*a)/e,p=Math.exp(n*c)/n,g=u+p,t<u/g?h=Math.pow(e*g*t,1/e):h=1-Math.pow(n*g*(1-t),1/n)),y=-pu(e)-pu(n)+pu(e+n);s<10;s++){if(h===0||h===1)return h;if(l=mU(h,e,n)-t,u=Math.exp(o*Math.log(h)+i*Math.log(1-h)+y),p=l/u,h-=u=p/(1-.5*Math.min(1,p*(o/h-i/(1-h)))),h<=0&&(h=.5*(h+u)),h>=1&&(h=.5*(h+u+1)),Math.abs(u)<r*h&&s>0)break}return h}function mU(t,e,n){var r=t===0||t===1?0:Math.exp(pu(e+n)-pu(e)-pu(n)+e*Math.log(t)+n*Math.log(1-t));return t<0||t>1?0:t<(e+1)/(e+n+2)?r*fC(t,e,n)/e:1-r*fC(1-t,n,e)/n}function fC(t,e,n){var r=1e-30,o=1,i=e+n,s=e+1,a=e-1,c=1,f=1-i*t/s,u,p,l,h;for(Math.abs(f)<r&&(f=r),f=1/f,h=f;o<=100&&(u=2*o,p=o*(n-o)*t/((a+u)*(e+u)),f=1+p*f,Math.abs(f)<r&&(f=r),c=1+p/c,Math.abs(c)<r&&(c=r),f=1/f,h*=f*c,p=-(e+o)*(i+o)*t/((e+u)*(s+u)),f=1+p*f,Math.abs(f)<r&&(f=r),c=1+p/c,Math.abs(c)<r&&(c=r),f=1/f,l=f*c,h*=l,!(Math.abs(l-1)<3e-7));o++);return h}function pu(t){var e=0,n=[76.18009172947146,-86.5053203294167,24.01409824083091,-1.231739572450155,.001208650973866179,-5395239384953e-18],r=1.000000000190015,o,i,s;for(s=(i=o=t)+5.5,s-=(o+.5)*Math.log(s);e<6;e++)r+=n[e]/++i;return Math.log(2.506628274631*r/o)-s}function uC(t,e){var n=dU(2*Math.min(t,1-t),.5*e,.5);return n=Math.sqrt(e*(1-n)/n),t>.5?n:-n}function lC(t){let e=-Math.log((1-t)*(1+t)),n;return e<6.25?(e-=3.125,n=-364441206401782e-35,n=-16850591381820166e-35+n*e,n=128584807152564e-32+n*e,n=11157877678025181e-33+n*e,n=-1333171662854621e-31+n*e,n=20972767875968562e-33+n*e,n=6637638134358324e-30+n*e,n=-4054566272975207e-29+n*e,n=-8151934197605472e-29+n*e,n=26335093153082323e-28+n*e,n=-12975133253453532e-27+n*e,n=-5415412054294628e-26+n*e,n=10512122733215323e-25+n*e,n=-4112633980346984e-24+n*e,n=-29070369957882005e-24+n*e,n=42347877827932404e-23+n*e,n=-13654692000834679e-22+n*e,n=-13882523362786469e-21+n*e,n=.00018673420803405714+n*e,n=-.000740702534166267+n*e,n=-.006033670871430149+n*e,n=.24015818242558962+n*e,n=1.6536545626831027+n*e):e<16?(e=Math.sqrt(e)-3.25,n=22137376921775787e-25,n=9075656193888539e-23+n*e,n=-27517406297064545e-23+n*e,n=18239629214389228e-24+n*e,n=15027403968909828e-22+n*e,n=-4013867526981546e-21+n*e,n=29234449089955446e-22+n*e,n=12475304481671779e-21+n*e,n=-47318229009055734e-21+n*e,n=6828485145957318e-20+n*e,n=24031110387097894e-21+n*e,n=-.0003550375203628475+n*e,n=.0009532893797373805+n*e,n=-.0016882755560235047+n*e,n=.002491442096107851+n*e,n=-.003751208507569241+n*e,n=.005370914553590064+n*e,n=1.0052589676941592+n*e,n=3.0838856104922208+n*e):Number.isFinite(e)?(e=Math.sqrt(e)-5,n=-27109920616438573e-27,n=-2555641816996525e-25+n*e,n=15076572693500548e-25+n*e,n=-3789465440126737e-24+n*e,n=761570120807834e-23+n*e,n=-1496002662714924e-23+n*e,n=2914795345090108e-23+n*e,n=-6771199775845234e-23+n*e,n=22900482228026655e-23+n*e,n=-99298272942317e-20+n*e,n=4526062597223154e-21+n*e,n=-1968177810553167e-20+n*e,n=7599527703001776e-20+n*e,n=-.00021503011930044477+n*e,n=-.00013871931833623122+n*e,n=1.0103004648645344+n*e,n=4.849906401408584+n*e):n=1/0,n*t}var $3=class extends tn{constructor(e,n,r){let o=e.endsWith("X")?"y":"x",{ci:i=.95,...s}=r;super(e,n,s),this.dim=o,this.field=this.channelField(o).field,this.channels=this.channels.filter(a=>a.channel!==o),this.ci=se(i,a=>(this.ci=a,this.update()))}query(e=[]){let{channels:n,field:r}=this,o=n.concat([{field:Ob(r),as:"__avg__"},{field:Lt(Bb(r),Uo(rn(r))),as:"__se__"}]);return Hh(o,this.sourceTable()).where(e)}queryResult(e){return this.data=cr(e),this}plotSpecs(){let{type:e,dim:n,detail:r,data:o,ci:i,channels:s}=this,a=Math.SQRT2*lC(i),{columns:{__avg__:c,__se__:f}}=o,u={[`${n}1`]:c.map((p,l)=>p-a*f[l]),[`${n}2`]:c.map((p,l)=>p+a*f[l])};return M3(e,r,s,o,u)}};var gU="geom",D3=class extends tn{constructor(e,n={},r){!B1(e)&&!n?.geometry&&(n.geometry=Hb(gU)),super("geo",e,n,r)}queryResult(e){super.queryResult(e);let n=this.channelField("geometry")?.as;if(n){let{columns:r}=this.data;typeof r[n][0]=="string"&&(r[n]=r[n].map(o=>JSON.parse(o)))}return this}};var F3=class extends tn{constructor(e,n){let{type:r="hexagon",binWidth:o=20,...i}=n;super(r,e,{r:o/2,clip:!0,...i},z1),this.binWidth=se(o,s=>(this.binWidth=s,this.requestUpdate()))}get filterStable(){let e=this.plot.getAttribute("xDomain"),n=this.plot.getAttribute("yDomain");return e&&n&&!e[je]&&!n[je]}query(e=[]){if(this.hasOwnData())return null;let{plot:n,binWidth:r,channels:o}=this,i,s,a=new Set,c={};for(let I of o)if(I.channel!=="orderby"){if(I.channel==="x")i=I;else if(I.channel==="y")s=I;else if(Object.hasOwn(I,"field")){let{as:A,field:k}=I;c[A]=k,yn(k)||a.add(A)}}let[f,u]=Lo(this,e),[p,l]=Oo(this,e),h=.5-n.getAttribute("marginLeft"),d=0-n.getAttribute("marginTop"),m=de(r),g=de(r*(1.5/Math.sqrt(3))),y=de(n.innerWidth()/(u-f)),x=de(n.innerHeight()/(l-p)),b="_x",w="_y",_="_px",v="_py",M="_pi",E="_pj",T="_tt";return yt.select({[i.as]:Nt(de(f),Lt(Nt(pt(Nt(b,pt(.5,rl(w,1))),m),h),y)),[s.as]:ut(de(l),Lt(Nt(pt(w,g),d),x)),...c}).groupby(b,w,...a).from(yt.select({[v]:Lt(ut(pt(x,ut(l,s.field)),d),g),[E]:Ht(jo(v)),[_]:ut(Lt(ut(pt(y,ut(i.field,f)),h),m),pt(.5,rl(E,1))),[M]:Ht(jo(_)),[T]:Fn(Hr(pt(Le(ut(v,E)),3),1),Hr(Nt(me(ut(_,M),2),me(ut(v,E),2)),Nt(me(ut(ut(_,M),pt(.5,Yo(le(_,M),-1,1))),2),me(ut(ut(v,E),Yo(le(v,E),-1,1)),2)))),[b]:Yo(T,Ht(Nt(Nt(M,Yo(le(_,M),-.5,.5)),Yo(Xo(rl(E,1),0),.5,-.5))),M),[w]:Yo(T,Ht(Nt(E,Yo(le(v,E),-1,1))),E)},"*").from(this.sourceTable()).where(Vr(i.field),Vr(s.field),e))}};var P3=class extends zr{constructor(e,n){let{origin:r=[0,0],dim:o="xy",...i}=n;super("image",e,i),this.image=null,this.origin=r,this.tileX=o.toLowerCase().includes("x"),this.tileY=o.toLowerCase().includes("y")}setPlot(e,n){let r=()=>{this.hasFieldInfo()&&this.rasterize()};e.addAttributeListener("schemeColor",r),super.setPlot(e,n)}requestQuery(){return this.requestTiles()}query(e=[]){return this._filter=e,null}tileQuery(e){let{interpolate:n,pad:r,channels:o,densityMap:i}=this,[[s,a],[c,f]]=e,[u,p]=this.bins,[l,h]=rr(this,"x",u,[s,a],r),[d,m]=rr(this,"y",p,[c,f],r),g=r?[gn(h,[+s,+a]),gn(m,[+c,+f])]:[Cr(+s,h),le(h,+a),Cr(+c,m),le(m,+f)],y=yt.from(this.sourceTable()).where(g),x=this.groupby=[],b={};for(let _ of o)if(Object.hasOwn(_,"field")){let{as:v,channel:M,field:E}=_;E.aggregate?(b[M]=E,i[M]=!0):M==="weight"?b.density=zt(E):M!=="x"&&M!=="y"&&(y.select({[v]:E}),x.push(v))}let w=this.aggr=Object.keys(b);if(b.density&&w.length>1)throw new Error("Weight option can not be used with custom aggregates.");if(w.length||(w.push("density"),b.density=rn()),n==="linear"){if(w.length>1)throw new Error("Linear binning not applicable to multiple aggregates.");if(!b.density)throw new Error("Linear binning not applicable to custom aggregates.");return vU(y,l,d,b.density,u,x)}else return wU(y,l,d,b,u,x)}async requestTiles(){let e=c2();this.prefetch&&e.cancel(this.prefetch);let{pad:n,tileX:r,tileY:o,origin:[i,s]}=this,[a,c]=this.bins=this.binDimensions(),[f,u]=Lo(this,this._filter),[p,l]=Oo(this,this._filter),h=u-f,d=l-p,m=Math.floor((f-i)*(a-n)/h),g=Math.floor((p-s)*(c-n)/d),y=(A,k)=>[[i+A*h,i+(A+1)*h],[s+k*d,s+(k+1)*d]],x=Math.floor((f-i)/h),b=r?pC((u-i)/h):x,w=Math.floor((p-s)/d),_=o?pC((l-s)/d):w,v=[];for(let A=x;A<=b;++A)for(let k=w;k<=_;++k)v.push([A,k]);let M=v.map(([A,k])=>e.query(this.tileQuery(y(A,k)))),E=[];if(r)for(let A=w;A<=_;++A)E.push([b+1,A]),E.push([x-1,A]);if(o){let A=r?x-1:x,k=r?b+1:b;for(let L=A;L<=k;++L)E.push([L,_+1]),E.push([L,w-1])}this.prefetch=E.map(([A,k])=>e.prefetch(this.tileQuery(y(A,k))));let T=await Promise.all(M),I=yU(a,c,m,g,v,T);this.grids0={numRows:I.length,columns:{density:[I]}},this.convolve().update()}convolve(){return super.convolve().rasterize()}rasterize(){let{bins:e,grids:n}=this,[r,o]=e,{numRows:i,columns:s}=n,{canvas:a,ctx:c,img:f}=bU(this,r,o),{alpha:u,alphaProp:p,color:l,colorProp:h}=k3(this),d=s[p]??[],m=s[h]??[],g=i>1&&h&&this.groupby?.includes(h)?U1(m,this.plot.getAttribute("colorDomain")):Kh(i);return this.data={numRows:i,columns:{src:Array.from({length:i},(y,x)=>(l?.(f.data,r,o,m[g[x]]),u?.(f.data,r,o,d[g[x]]),c.putImageData(f,0,0),a.toDataURL()))}},this}plotSpecs(){let{type:e,plot:n,data:{numRows:r,columns:o}}=this,i={src:o.src,width:n.innerWidth(),height:n.innerHeight(),preserveAspectRatio:"none",imageRendering:this.channel("imageRendering")?.value,frameAnchor:"middle"};return[{type:e,data:{length:r},options:i}]}};function yU(t,e,n,r,o,i){let s=new Float64Array(t*e);return i.forEach((a,c)=>{let[f,u]=o[c],p=f*t-n,l=u*e-r;xU(t,e,s,a,p,l)}),s}function xU(t,e,n,r,o,i){let s=r.numRows;if(s===0)return;let a=r.getChild("index").toArray(),c=r.getChild("density").toArray();for(let f=0;f<s;++f){let u=a[f],p=o+u%t,l=i+Math.floor(u/t);0<=p&&p<t&&0<=l&&l<e&&(n[p+l*t]=c[f])}}function bU(t,e,n){if(!t.image||t.image.w!==e||t.image.h!==n){let r=j1(e,n),o=r.getContext("2d",{willReadFrequently:!0}),i=o.getImageData(0,0,e,n);t.image={canvas:r,ctx:o,img:i,w:e,h:n}}return t.image}function wU(t,e,n,r,o,i){return t.select({index:Ae`FLOOR(${e})::INTEGER + FLOOR(${n})::INTEGER * ${o}`,...r}).groupby("index",i)}function vU(t,e,n,r,o,i){let s=r.column?`* ${r.column}`:"",a=(l,h)=>t.clone().select({xp:e,yp:n,i:l,w:h}),c=a(Ae`FLOOR(xp)::INTEGER + FLOOR(yp)::INTEGER * ${o}`,Ae`(FLOOR(xp)::INTEGER + 1 - xp) * (FLOOR(yp)::INTEGER + 1 - yp)${s}`),f=a(Ae`FLOOR(xp)::INTEGER + (FLOOR(yp)::INTEGER + 1) * ${o}`,Ae`(FLOOR(xp)::INTEGER + 1 - xp) * (yp - FLOOR(yp)::INTEGER)${s}`),u=a(Ae`FLOOR(xp)::INTEGER + 1 + FLOOR(yp)::INTEGER * ${o}`,Ae`(xp - FLOOR(xp)::INTEGER) * (FLOOR(yp)::INTEGER + 1 - yp)${s}`),p=a(Ae`FLOOR(xp)::INTEGER + 1 + (FLOOR(yp)::INTEGER + 1) * ${o}`,Ae`(xp - FLOOR(xp)::INTEGER) * (yp - FLOOR(yp)::INTEGER)${s}`);return yt.from(yt.unionAll(c,f,u,p)).select({index:"i",density:zt("w")},i).groupby("index",i).having(Xo("density",0))}function pC(t){let e=Math.floor(t);return e===t?e-1:e}var B3=class extends tn{constructor(e,n){let{ci:r=.95,precision:o=4,...i}=n;super("line",e,i);let s=()=>this.modelFit?this.confidenceBand().update():null;this.ci=se(r,a=>(this.ci=a,s())),this.precision=se(o,a=>(this.precision=a,s()))}query(e=[]){let n=this.channelField("x").as,r=this.channelField("y").as,o=Array.from(new Set(["stroke","z","fx","fy"].flatMap(i=>this.channelField(i)?.as||[])));return yt.from(super.query(e)).select({intercept:Db(r,n),slope:qb(r,n),n:el(r,n),ssy:Pb(r,n),ssx:Fb(r,n),xm:tl(r,n),x0:de(Wr(n).where(Vr(r))),x1:de(jn(n).where(Vr(r)))}).select(o).groupby(o)}queryResult(e){return this.modelFit=cr(e),this.lineData=_U(this.modelFit),this.confidenceBand()}confidenceBand(){let{ci:e,modelFit:n,precision:r,plot:o}=this,i=o.innerWidth();return this.areaData=e?MU(n,e,r,i):null,this}plotSpecs(){let{lineData:e,areaData:n,channels:r,ci:o}=this,i=e.columns,s=o?n.columns:{},a={x:i.x,y:i.y},c={x:s.x,y1:s.y1,y2:s.y2,fillOpacity:.1};for(let f of r)switch(f.channel){case"x":case"y":case"fill":break;case"tip":c.tip=dn(f,s);break;case"stroke":a.stroke=dn(f,i),c.fill=dn(f,s);break;case"strokeOpacity":a.strokeOpacity=dn(f,i);break;case"fillOpacity":c.fillOpacity=dn(f,s);break;default:a[f.channel]=dn(f,i),c[f.channel]=dn(f,s);break}return[...o?[{type:"areaY",data:{length:n.numRows},options:c}]:[],{type:"line",data:{length:e.numRows},options:a}]}};function q3(t,e){if(t.concat)return t.concat(e);let n=new t.constructor(t.length+e.length);return n.set(t,0),n.set(e,t.length),n}function _U(t){let{x0:e=[],x1:n=[],xm:r,intercept:o,slope:i,n:s,ssx:a,ssy:c,...f}=t.columns,u=(h,d)=>o[d]+h*i[d],p=q3(e,n),l=q3(e.map(u),n.map(u));for(let h in f)f[h]=q3(f[h],f[h]);return{numRows:p.length,columns:{x:p,y:l,...f}}}function MU(t,e,n,r){let o=t.numRows,{x0:i,x1:s,xm:a,intercept:c,slope:f,n:u,ssx:p,ssy:l,...h}=t.columns,d=Object.keys(h),m={x:[],y1:[],y2:[]};d.forEach(g=>m[g]=[]);for(let g=0;g<o;++g){let y=n*(s[g]-i[g])/r,x=uC((1-e)/2,u[g]-2)*Math.sqrt(l[g]/(u[g]-2));pe(i[g],s[g]-y/2,y).concat(s[g]).forEach(b=>{let w=c[g]+b*f[g],_=x*Math.sqrt(1/u[g]+(b-a[g])**2/p[g]);m.x.push(b),m.y1.push(w-_),m.y2.push(w+_),d.forEach(v=>m[v].push(h[v][g]))})}return{numRows:m.x.length,columns:m}}function hu(t){t.tagName==="a"&&(t=t.children[0]);let e=t.__data__;return Array.isArray(e)?e[0]:e}function hC(t){let e=t.toLowerCase(),n=t.length,r="";for(let o=0;o<n;++o)r+=(t[o]!==e[o]?"-":"")+e[o];return r}function Fs(t){let e={};for(let n in t)e[hC(n)]=t[n];return e}function SU(t){let{channels:e}=t,n=new Set,r=!1,o=!1;for(let i of e){let{channel:s,field:a,as:c}=i;if(s==="orderby")r=!0;else if(a)if(yn(a))o=!0;else{if(n.has(c))continue;n.add(c)}}return!r&&o&&n.size&&t.channels.push({channel:"orderby",value:Array.from(n)}),t}var z3=class{constructor(e,{selection:n,channels:r={}}){this.mark=SU(e),this.selection=n;let o=Object.entries(Fs(r));this.channels=o.length?o:[["opacity",.2]],this.selection.addEventListener("value",mu(()=>this.update()))}init(e){this.svg=e;let n=this.values=[],o=`g[data-index="${this.mark.index}"]`,i=`${o} > *:not(g), ${o} > g > *`,s=this.nodes=e.querySelectorAll(i),{channels:a}=this;for(let c=0;c<s.length;++c){let f=s[c];n.push(a.map(u=>f.getAttribute(u[0])))}return this.update()}async update(){let{svg:e,nodes:n,channels:r,values:o,mark:i,selection:s}=this;if(!e)return;let a=await AU(i,s);for(let c=0;c<n.length;++c){let f=n[c],u=o[c],p=a(hu(f));for(let l=0;l<r.length;++l){let[h,d]=r[l];f.setAttribute(h,p?u[l]:d)}}}};async function AU(t,e){let n=e?.predicate(t);if(!n||n.length===0)return()=>!0;let r=t.filterBy?.predicate(t,!0),o={__:Fn(n)},i=t.query(r);(i.queries||[i]).forEach(c=>{c._groupby.length?c.select(o):c.setSelect(o)});let s=await t.coordinator.query(i),a=s.getChild?.("__");return s.numRows||s.length?a?c=>a.at(c):c=>s[c].__:()=>!1}function X1(){let t=this,e=t.getScreenCTM,n;t.getScreenCTM=()=>t.isConnected?n=e.call(t):n}function Y3(t){let e=t.on,n=!0;function r(o){n=!1,o(),n=!0}return t.reset=(...o)=>{r(()=>t.clear(...o))},t.moveSilent=(...o)=>{r(()=>t.move(...o))},t.on=(...o)=>{if(o.length>1&&o[1]){let i=o[1];o[1]=(...s)=>n&&i(...s)}return e(...o)},t}function W1(){return Y3(K2())}function dC(){return Y3(Q2())}function mC(){return Y3(Z2())}function G1(t,e,n,r,o){let i=Et(e??t).append("g").attr("class",o),s=t.scale("fx"),a=t.scale("fy");if(s||a){let c=s?.domain.map(u=>s.apply(u)-n),f=a?.domain.map(u=>a.apply(u)-r);if(c&&f)for(let u=0;u<c.length;++u)for(let p=0;p<f.length;++p)i.append("g").attr("transform",`translate(${c[u]}, ${f[p]})`);else if(c)for(let u=0;u<c.length;++u)i.append("g").attr("transform",`translate(${c[u]}, 0})`);else if(f)for(let u=0;u<f.length;++u)i.append("g").attr("transform",`translate(0, ${f[u]})`);i=i.selectAll("g")}return i.each(X1)}function Jh(t,e){return t===e||t&&e&&Math.abs(t[0]-e[0])<1e-12&&Math.abs(t[1]-e[1])<1e-12||!1}function gC(t){if(Re(t)){if(t.type==="COLUMN_REF")return t.column;if(t.type==="AGGREGATE")return t.args[0]??t}return t}function $o(t,e){return gC(t.channelField(e)?.field)}function yC(t,e){let n=[],r=[];return e.forEach(o=>{let i=o==="color"?["color","fill","stroke"]:o==="x"?["x","x1","x2"]:o==="y"?["y","y1","y2"]:[o];for(let s=0;s<i.length;++s){let a=t.channelField(i[s],{exact:!0});if(a){n.push(gC(a.field)),r.push(a.as);return}}throw new Error(`Missing channel: ${o}`)}),{fields:n,as:r}}function td(t,e,n=1){return e.invert(n*Math.floor(t/n))}var ed=class{constructor(e,{channel:n,selection:r,field:o=void 0,pixelSize:i=1,peers:s=!0,brush:a}){this.mark=e,this.channel=n,this.pixelSize=i||1,this.selection=r,this.peers=s,this.field=o||$o(e,n),this.style=a&&Fs(a),this.brush=n==="y"?mC():dC(),this.brush.on("brush end",({selection:c})=>this.publish(c))}reset(){this.value=void 0,this.g&&this.brush.reset(this.g)}activate(){this.selection.activate(this.clause(this.value||[0,1]))}publish(e){let n;e&&(n=e.map(r=>td(r,this.scale,this.pixelSize)).sort((r,o)=>r-o)),Jh(n,this.value)||(this.value=n,this.g.call(this.brush.moveSilent,e),this.selection.update(this.clause(n)))}clause(e){let{mark:n,pixelSize:r,field:o,scale:i}=this;return cl(o,e,{source:this,clients:this.peers?n.plot.markSet:new Set().add(n),scale:i,pixelSize:r})}init(e,n){let{brush:r,channel:o,style:i}=this;this.scale=e.scale(o);let s=this.value?.map(this.scale.apply).sort(dt),a=e.scale("x").range,c=e.scale("y").range;if(r.extent([[At(a),At(c)],[Mt(a),Mt(c)]]),this.g=G1(e,n,At(a),At(c),`interval-${o}`).call(r).call(r.moveSilent,s),i){let f=this.g.selectAll("rect.selection");for(let u in i)f.attr(u,i[u])}e.addEventListener("pointerenter",f=>{f.buttons||this.activate()})}};var U3=class{constructor(e,{selection:n,xfield:r,yfield:o,pixelSize:i=1,peers:s=!0,brush:a}){this.mark=e,this.pixelSize=i||1,this.selection=n,this.peers=s,this.xfield=r||$o(e,"x"),this.yfield=o||$o(e,"y"),this.style=a&&Fs(a),this.brush=W1(),this.brush.on("brush end",({selection:c})=>this.publish(c))}reset(){this.value=void 0,this.g&&this.brush.reset(this.g)}activate(){this.selection.activate(this.clause(this.value||[[0,1],[0,1]]))}publish(e){let{value:n,pixelSize:r,xscale:o,yscale:i}=this,s,a;if(e){let[c,f]=e;s=[c[0],f[0]].map(u=>td(u,o,r)).sort(dt),a=[c[1],f[1]].map(u=>td(u,i,r)).sort(dt)}(!Jh(s,n?.[0])||!Jh(a,n?.[1]))&&(this.value=e?[s,a]:void 0,this.g.call(this.brush.moveSilent,e),this.selection.update(this.clause(this.value)))}clause(e){let{mark:n,pixelSize:r,xfield:o,yfield:i,xscale:s,yscale:a}=this;return p2([o,i],e,{source:this,clients:this.peers?n.plot.markSet:new Set().add(n),scales:[s,a],pixelSize:r})}init(e){let{brush:n,style:r,value:o}=this,i=this.xscale=e.scale("x"),s=this.yscale=e.scale("y"),a=i.range,c=s.range;if(n.extent([[At(a),At(c)],[Mt(a),Mt(c)]]),this.g=G1(e,null,At(a),At(c),"interval-xy").call(n),r){let f=this.g.selectAll("rect.selection");for(let u in r)f.attr(u,r[u])}if(o){let[f,u]=o[0].map(i.apply).sort(dt),[p,l]=o[1].map(s.apply).sort(dt);this.g.call(n.moveSilent,[[f,p],[u,l]])}e.addEventListener("pointerenter",f=>{f.buttons||this.activate()})}};var j3=class{constructor(e,{selection:n,pointer:r,channels:o,fields:i,maxRadius:s=40}){this.mark=e,this.selection=n,this.clients=new Set().add(e),this.pointer=r,this.channels=o||(r==="x"?["x"]:r==="y"?["y"]:["x","y"]),this.fields=i||this.channels.map(a=>$o(e,[a])),this.maxRadius=s,this.valueIndex=-1}clause(e){let{clients:n,fields:r}=this,o={source:this,clients:n};return r.length>1?ea(r,e&&[e],o):l2(r[0],e?.[0],o)}init(e){let n=this,{mark:r,channels:o,selection:i,maxRadius:s}=this,{data:{columns:a}}=r,c=o.map(m=>r.channelField(m).as),f=!u2(i),[u,p]=EU(e,r),l=this.pointer==="y"?.01:1,h=this.pointer==="x"?.01:1,d=Et(e);d.on("pointerenter pointerdown pointermove",function(m){let[g,y]=on(m,this),x=TU(u,p,g,y,l,h,s);if(x!==this.valueIndex){this.valueIndex=x;let b=x<0?void 0:c.map(w=>a[w][x]);i.update(f?!b||b.length>1?b:b[0]:n.clause(b))}}),!f&&(d.on("pointerleave",()=>{i.update(n.clause(void 0))}),e.addEventListener("pointerenter",m=>{if(!m.buttons){let g=this.channels.map(()=>0);i.activate(this.clause(g))}}))}};function EU(t,e){let{data:{columns:n}}=e,r=p=>n[e.channelField(p)?.as],o=p=>t.scale(p),i=t.scale("x"),s=t.scale("y"),a=o("fx")?.apply,c=o("fy")?.apply,f=Array.from(r("x"),i.apply),u=Array.from(r("y"),s.apply);if(a){let p=At(i.range),l=r("fx");for(let h=0;h<l.length;++h)f[h]+=a(l[h])-p}if(c){let p=At(s.range),l=r("fy");for(let h=0;h<l.length;++h)u[h]+=c(l[h])-p}return[f,u]}function TU(t,e,n,r,o,i,s){let a=s*s,c=-1;for(let f=0;f<t.length;++f){let u=o*(t[f]-n),p=i*(e[f]-r),l=u*u+p*p;l<=a&&(a=l,c=f)}return c}var xC=(t,e)=>t-e,W3=class{constructor(e,{x:n=new Yi,y:r=new Yi,xfield:o,yfield:i,zoom:s=!0,panx:a=!0,pany:c=!0}){this.mark=e,this.xsel=n,this.ysel=r,this.xfield=o||$o(e,"x"),this.yfield=i||$o(e,"y"),this.zoom=X3(s,[0,1/0],[1,1]),this.panx=this.xsel&&a,this.pany=this.ysel&&c;let{plot:f}=e;a&&this.xsel.addEventListener("value",u=>{f.setAttribute("xDomain",u)&&f.update()}),c&&this.ysel.addEventListener("value",u=>{f.setAttribute("yDomain",u)&&f.update()})}publish(e){if(this.panx){let n=IU(e,this.xscale);this.xsel.update(this.clause(n,this.xfield,this.xscale))}if(this.pany){let n=CU(e,this.yscale);this.ysel.update(this.clause(n,this.yfield,this.yscale))}}clause(e,n,r){return cl(n,e,{source:this,clients:this.mark.plot.markSet,scale:r})}init(e){if(this.svg=e,this.initialized)return;this.initialized=!0;let{panx:n,pany:r,mark:{plot:{element:o}},xsel:i,ysel:s}=this;this.xscale=e.scale("x"),this.yscale=e.scale("y");let a=this.xscale.range.slice().sort(xC),c=this.yscale.range.slice().sort(xC),f=X3(n,[-1/0,1/0],a),u=X3(r,[-1/0,1/0],c),p=m_().extent([[a[0],c[0]],[a[1],c[1]]]).scaleExtent(this.zoom).translateExtent([[f[0],u[0]],[f[1],u[1]]]).on("start",()=>{this.xscale=this.svg.scale("x"),this.yscale=this.svg.scale("y")}).on("end",()=>o.__zoom=new Qn(1,0,0)).on("zoom",({transform:l})=>this.publish(l));if(Et(o).call(p),n||r){let l=!1;o.addEventListener("pointerenter",h=>{if(!l&&(l=!0,!h.buttons)){if(n){let{xscale:d,xfield:m}=this;i.activate(this.clause(d.domain,m,d))}if(r){let{yscale:d,yfield:m}=this;s.activate(this.clause(d.domain,m,d))}}}),o.addEventListener("pointerleave",()=>l=!1)}}};function X3(t,e,n){return t?Array.isArray(t)?t:e:n}function IU(t,e){return e.range.map(t.invertX,t).map(e.invert,e)}function CU(t,e){return e.range.map(t.invertY,t).map(e.invert,e)}var NU={m:2,l:2,h:1,v:1,z:0,c:6,s:4,q:4,t:2,a:7},kU=/[mlhvzcsqta]([^mlhvzcsqta]+|$)/gi,RU=/^[+-]?(([0-9]*\.[0-9]+)|([0-9]+\.)|([0-9]+))([eE][+-]?[0-9]+)?/,LU=/^((\s+,?\s*)|(,\s*))/,OU=/^[01]/,bC=t=>`Invalid SVG path, incorrect parameter ${t}`;function wC(t){let e=[];return(t.match(kU)||[]).forEach(r=>{let o=r[0],i=o.toLowerCase(),s=NU[i],a=$U(i,s,r.slice(1).trim()),c=a.length;if(c<s||c&&c%s!==0)throw new Error(bC("count"));if(e.push([o,...a.slice(0,s)]),c!==s){i==="m"&&(o=o==="M"?"L":"l");for(let f=s;f<c;f+=s)e.push([o,...a.slice(f,f+s)])}}),e}function $U(t,e,n){let r=[];for(let o=0;e&&o<n.length;)for(let i=0;i<e;++i){let s=t==="a"&&(i===3||i===4)?OU:RU,a=n.slice(o).match(s);if(a===null)throw new Error(bC("type"));o+=a[0].length,r.push(+a[0]);let c=n.slice(o).match(LU);c!==null&&(o+=c[0].length)}return r}function AC(t,e,n){let{x:r,y:o}=t.getBoundingClientRect(),i=t.createSVGMatrix(),s=[];for(let a of e.children)if(a.tagName==="g"){let c=EC(a)??i;for(let f of a.children)vC(n,r,o,f,c)&&s.push(f)}else vC(n,r,o,a,i)&&s.push(a);return s}function vC(t,e,n,r,o){let[[i,s],[a,c]]=t,{e:f,f:u}=o,p=r.getBoundingClientRect(),l=p.left-e,h=p.right-e,d=p.top-n,m=p.bottom-n;if(l>=i&&h<=a&&d>=s&&m<=c)return!0;if(l<=a&&h>=i&&d<=c&&m>=s){let g=r.tagName;if(g==="a"&&(r=r.children[0],g=r.tagName),g==="rect"||g==="text"||g==="image")return!0;switch(i-=f,s-=u,a-=f,c-=u,g){case"circle":return TC(i,s,a,c,nc(r.cx),nc(r.cy),nc(r.r));case"line":return IC(i,s,a,c,nc(r.x1),nc(r.y1),nc(r.x2),nc(r.y2));case"path":return DU(i,s,a,c,r)}}return!1}function nc(t){return t.baseVal.value}function EC(t){let e=t.transform.baseVal,n=e.length,r=e[0]?.matrix;for(let o=1;o<n;++o)r=r.multiply(e[o].matrix);return r}function TC(t,e,n,r,o,i,s){let a=t<=o&&o<=n,c=e<=i&&i<=r;if(a&&c)return!0;let f=Math.min(Math.abs(t-o),Math.abs(n-o));if(c&&f<=s)return!0;let u=Math.min(Math.abs(e-i),Math.abs(r-i));return a&&u<=s||f*f+u*u<=s*s}function IC(t,e,n,r,o,i,s,a){let c=Math.max(Math.min(o,s),t),f=Math.min(Math.max(o,s),n);if(c>f)return!1;let u=i,p=a,l=s-o;if(Math.abs(l)>1e-8){let m=(a-i)/l,g=i-m*o;u=m*c+g,p=m*f+g}let h=Math.max(Math.min(u,p),e),d=Math.min(Math.max(u,p),r);return h<=d}function DU(t,e,n,r,o){let i=o.__path__||(o.__path__=wC(o.getAttribute("d"))),s=0,a=0,c=0,f=0,u=!1,p=[0,0],l=2,h=EC(o),d=(x,b)=>{p.length=l=2,p[0]=c=s=x,p[1]=f=a=b},m=h?(x,b)=>d(_C(h,x,b),MC(h,x,b)):(x,b)=>d(x,b),g=(x,b)=>(p[l]=x,p[l+1]=b,l+=2,IC(t,e,n,r,p[l-4],p[l-3],x,b)),y=h?(x,b)=>{u=g(_C(h,c=x,f=b),MC(h,x,b))}:(x,b)=>{u=g(c=x,f=b)};for(let x=0;x<i.length;++x){let b=i[x];switch(b[0]){case"M":m(b[1],b[2]);break;case"m":m(c+b[1],f+b[2]);break;case"L":case"T":y(b[1],b[2]);break;case"H":y(b[1],f);break;case"V":y(c,b[1]);break;case"l":case"t":y(c+b[1],f+b[2]);break;case"h":y(c+b[1],f);break;case"v":y(c,f+b[1]);break;case"C":y(b[5],b[6]);break;case"c":y(c+b[5],f+b[6]);break;case"S":case"Q":y(b[3],b[4]);break;case"s":case"q":y(c+b[3],f+b[4]);break;case"A":y(b[6],b[7]);break;case"a":if(FU(i,x))return TC(t,e,n,r,c,f-b[2],b[2]);y(c+b[6],c+b[7]);break;case"z":case"Z":if(y(s,a),PU(t,e,p)>0)return!0;m(s,a);break;default:return console.warn("SVG path command not supported: ",b[0]),!1}if(u)return!0}return!1}function _C(t,e,n){return t.a*e+t.c*n+t.e}function MC(t,e,n){return t.b*e+t.d*n+t.f}function FU(t,e){let n=t[e],r=t[e+1];return r&&r[0]==="a"&&t[e+2]?.[0]==="z"&&n[1]===n[2]&&r[1]===r[2]&&n[1]===r[1]&&n[7]===-r[7]}function PU(t,e,n){let r=0,o=n.length-2;for(let i=0;i<o;i+=2)n[i+1]<=e?n[i+3]>e&&SC(t,e,n,i)>0&&++r:n[i+3]<=e&&SC(t,e,n[i])<0&&--r;return r}function SC(t,e,n,r){return(n[r+2]-n[r])*(e-n[r+1])-(t-n[r])*(n[r+3]-n[r+1])}function V1(t,e){return t==null||e==null?t!=null||e!=null:t.length!==e.length||t.some((n,r)=>H1(n,e[r]))}function H1(t,e){let n=t.length;if(e.length!==n)return!0;for(let r=0;r<n;++r)if(t[r]!==e[r])return!0;return!1}var G3=class{constructor(e,{channels:n,selection:r,peers:o=!0,brush:i={fill:"none",stroke:"currentColor",strokeDasharray:"1,1"}}){this.mark=e,this.selection=r,this.peers=o,this.style=i&&Fs(i),this.brush=W1(),this.brush.on("brush end",c=>this.publish(c.selection)),this.extent=null,this.groups=null;let{fields:s,as:a}=yC(e,n);this.fields=s,this.as=a}reset(){this.value=void 0,this.extent=null,this.g&&this.brush.reset(this.g)}activate(){this.selection.activate(this.clause([this.fields.map(()=>0)]))}clause(e){let{fields:n,mark:r}=this;return ea(n,e,{source:this,clients:this.peers?r.plot.markSet:new Set().add(r)})}publish(e){let{as:n,group:r,mark:o,svg:i}=this,s;if(e){let{data:{columns:a={}}={}}=o,c=new Map;AC(i,r,e).forEach(f=>{let u=hu(f),p=n.map(l=>a[l][u]);c.set(p.join("|"),p)}),s=Array.from(c.values())}this.extent=e,V1(s,this.value)&&(this.value=s,this.selection.update(this.clause(s)))}init(e){let{brush:n,extent:r,mark:o,style:i}=this;this.svg=e;let s=e.width.baseVal.value,a=e.height.baseVal.value;if(n.extent([[0,0],[s,a]]),this.group=e.querySelector(`[data-index="${o.index}"]`),this.g=Et(e).append("g").attr("class","region-xy").each(X1).call(n).call(n.moveSilent,r),i){let c=this.g.selectAll("rect.selection");for(let f in i)c.attr(f,i[f])}e.addEventListener("pointerenter",c=>{c.buttons||this.activate()})}};var nd=class{constructor(e,{selection:n,channels:r,peers:o=!0}){this.value=null,this.mark=e,this.selection=n,this.peers=o;let i=this.fields=[],s=this.as=[];r.forEach(a=>{let c=a==="color"?["color","fill","stroke"]:a==="x"?["x","x1","x2"]:a==="y"?["y","y1","y2"]:[a];for(let f=0;f<c.length;++f){let u=e.channelField(c[f],{exact:!0});if(u){i.push(u.field?.basis||u.field),s.push(u.as);return}}throw new Error(`Missing channel: ${a}`)})}clause(e){let{fields:n,mark:r}=this;return ea(n,e,{source:this,clients:this.peers?r.plot.markSet:new Set().add(r)})}init(e,n,r){let{mark:o,as:i,selection:s}=this,{data:{columns:a={}}={}}=o;r??=f=>i.map(u=>a[u][hu(f)]),n??=`[data-index="${o.index}"]`;let c=Array.from(e.querySelectorAll(n));e.addEventListener("pointerdown",f=>{let u=s.single?s.value:this.value,p=f.target,l=null;if(qU(c,p)){let h=r(p);(f.shiftKey||f.metaKey)&&u?.length?(l=u.filter(d=>H1(d,h)),l.length===u.length&&l.push(h)):u?.length===1&&!H1(u[0],h)?l=null:l=[h]}this.value=l,V1(u,l)&&s.update(this.clause(l))}),e.addEventListener("pointerenter",f=>{f.buttons||this.selection.activate(this.clause([this.fields.map(()=>0)]))})}};function qU(t,e){return t.some(n=>n.contains(e))}var NC=":scope > div, :scope > span",Q1="swatch",CC="ramp",V3=class{constructor(e,n){let{as:r,field:o,...i}=n;this.channel=e,this.options=i,this.type=null,this.handler=null,this.selection=r,this.field=o,this.legend=null,this.element=document.createElement("div"),this.element.setAttribute("class","legend"),Object.defineProperty(this.element,"value",{value:this})}setPlot(e){this.plot=e}init(e){let n=BU(this,e);return this.element.replaceChildren(n),this.element}update(){if(!this.legend)return;let{selection:e,handler:n}=this,{single:r,value:o}=e,i=r?o:e.valueFor(n),s=i&&i.length?new Set(i.map(c=>c[0])):null,a=this.legend.querySelectorAll(NC);for(let c of a){let f=s?s.has(c.__data__):!0;c.style.opacity=f?1:.2}}};function BU(t,e){let{channel:n,plot:r,selection:o}=t,i=e.scale(n),s=i.type==="ordinal"?Q1:CC,a={label:r.getAttribute(`${n}Label`)??null,...t.options},c=s===Q1?a:a.label?{tickSize:2,...a}:{tickSize:2,marginTop:1,height:29,...a},f=e.legend(n,c);t.legend=f;let u=!!o;if(u&&s===CC){let p=c.width??240,l=jU(i,p);l?f.scale=function(h){return h==="x"?{range:[0,p]}:h==="y"?{range:[-10,0]}:h===n?l:void 0}:u=!1}if(u){let p=zU(t,s);s===Q1?(p.init(f,NC,l=>[l.__data__]),t.update()):p.init(f,f.querySelector("g:last-of-type"))}return f}function zU(t,e){let{channel:n,handler:r,selection:o}=t;if(r)return r;let i=YU(t);return e===Q1?(t.handler=new nd(i,{selection:o,channels:[n],peers:!1}),o.addEventListener("value",()=>t.update())):t.handler=new ed(i,{selection:o,channel:n,brush:{fill:"none",stroke:"currentColor"},peers:!1}),t.handler}function YU(t){let{channel:e,plot:n}=t,r=t.field??UU(n.marks,e)??"value";if(r){let o={field:r};return{plot:n,channelField:i=>e===i?o:void 0}}}function UU(t,e){let n=e==="color"?["fill","stroke"]:e==="opacity"?["opacity","fillOpacity","strokeOpacity"]:null;if(n==null)return null;for(let r=t.length-1;r>-1;--r)for(let o of n){let i=t[r].channelField(o,{exact:!0});if(i)return i.field}return null}function jU(t,e){let{apply:n,invert:r,interpolate:o,...i}=t,s=t.type;s.startsWith("diverging-")&&(s=s.slice(11));let a;switch(s){case"log":case"pow":case"sqrt":case"symlog":a=s;break;case"threshold":case"quantize":case"quantile":return console.warn(`Legends do not yet support ${s} scales.`),null;default:a="linear"}return ys({x:{...i,type:a,range:[0,e]}})}function Z1(t,e,n=0,r=Math.LN10){let o,i=Math.ceil(Math.log(e)/r),s=Math.max(n,Math.pow(10,Math.round(Math.log(t)/r)-i));for(;Math.ceil(t/s)>e;)s*=10;let a=[5,2];for(let c=0,f=a.length;c<f;++c)o=s/a[c],o>=n&&t/o<=e&&(s=o);return s}function kC(t,e,n){let{step:r,steps:o,minstep:i=0,nice:s=!0}=n;if(s!==!1){let a=e-t,c=Math.LN10;r=r||Z1(a,o||25,i,c);let f=Math.log(r),u=f>=0?0:~~(-f/c)+1,p=Math.pow(10,-u-1);f=Math.floor(t/r+p)*r,t=t<f?f-r:f,e=Math.ceil(e/r)*r,o=Math.round((e-t)/r)}return{min:t,max:e,steps:o}}var $C="year",RC="month",LC="day",K1="hour",J1="minute",tb="second",XU="millisecond",od=1e3,id=od*60,sd=id*60,eb=sd*24,WU=eb*7,OC=eb*30,DC=eb*365,rd=[[tb,1,od],[tb,5,5*od],[tb,15,15*od],[tb,30,30*od],[J1,1,id],[J1,5,5*id],[J1,15,15*id],[J1,30,30*id],[K1,1,sd],[K1,3,3*sd],[K1,6,6*sd],[K1,12,12*sd],[LC,1,eb],[LC,7,WU],[RC,1,OC],[RC,3,3*OC],[$C,1,DC]];function FC(t,e,n){let r=e-t,o=r/n,i=Nr(s=>s[2]).right(rd,o);return i===rd.length?{interval:$C,step:Z1(r/DC,n)}:i?(i=rd[o/rd[i-1][2]<rd[i][2]/o?i-1:i],{interval:i[0],step:i[1]}):{interval:XU,step:Z1(r,n,1)}}var GU=new Set(["rectY-x","rectX-y","rect-x","rect-y","ruleY-x","ruleX-y"]);function VU(t,e){return GU.has(`${t.type}-${e}`)}function HU(t,e={}){let n=(r,o)=>VU(r,o)?{[`${o}1`]:H3(r,o,t,e),[`${o}2`]:H3(r,o,t,{...e,offset:1})}:{[o]:H3(r,o,t,e)};return n[du]=!0,n}function H3(t,e,n,r){return new Q3(n,t,e,r)}function QU(t,e){let n=t.plot.getAttribute(`${e}Scale`);return n==="utc"||n==="time"}var Q3=class extends xt{constructor(e,n,r,o){super("COLUMN_REF"),this.column=e,this.mark=n,this.channel=r,this.options=o}get stats(){return{column:this.column,stats:["min","max"]}}toString(){let{mark:e,channel:n,column:r,options:o}=this,{type:i,min:s,max:a}=e.channelField(n),{interval:c,steps:f,offset:u=0}=o,p=c??(i==="date"||QU(e,n)?"date":"number"),l;if(p==="number"){let{apply:h,sqlApply:d,sqlInvert:m}=ec(e,n),g=kC(h(s),h(a),o),y=d(r),x=de((g.max-g.min)/g.steps),b=Oe(Lt(g.min===0?y:ut(y,g.min),x)),w=Nt(g.min,pt(x,u?Nt(u,b):b));l=m(w)}else{let{interval:h,step:d=1}=p==="date"?FC(s,a,f||40):o,m=Ub(r,h,d);l=u?Nt(m,Im(h,u*d)):m}return`${l}`}};export{T3 as ConnectedMark,C3 as ContourMark,R3 as DenseLineMark,L3 as Density1DMark,O3 as Density2DMark,$3 as ErrorBarMark,Li as Fixed,D3 as GeoMark,zr as Grid2DMark,N3 as HeatmapMark,F3 as HexbinMark,z3 as Highlight,ed as Interval1D,U3 as Interval2D,V3 as Legend,tn as Mark,j3 as Nearest,W3 as PanZoom,w3 as Plot,lu as RasterMark,P3 as RasterTileMark,G3 as Region,B3 as RegressionMark,nd as Toggle,du as Transform,je as Transient,HU as bin};
|
|
60
|
+
}`)).call(Bf,n);for(let O of f){let{channels:D,values:F,facets:P}=m.get(O);if(d===void 0||O.facet==="super"){let W=null;if(P&&(W=P[0],W=O.filter(W,D,F),W.length===0))continue;let K=O.render(W,x,F,v,M);if(K==null)continue;T.appendChild(K)}else{let W;for(let K of d){if(!(O.facetAnchor?.(d,k,K)??!K.empty))continue;let tt=null;if(P){let U=p.has(O);if(tt=P[U?K.i:0],tt=O.filter(tt,D,F),tt.length===0)continue;!U&&tt===P[0]&&(tt=bi(tt)),tt.fx=K.x,tt.fy=K.y,tt.fi=K.i}let nt=O.render(tt,x,F,_,M);if(nt!=null){(W??=Et(T).append("g")).append(()=>nt).datum(K);for(let U of["aria-label","aria-description","aria-hidden","transform"])nt.hasAttribute(U)&&(W.attr(U,nt.getAttribute(U)),nt.removeAttribute(U))}}W?.selectChildren().attr("transform",L)}}let N=MT(g,M,t),{figure:R=r!=null||o!=null||i!=null||N.length>0}=t;R&&(I=E.createElement("figure"),I.className=`${c}-figure`,I.style.maxWidth="initial",r!=null&&I.append(PT(E,r,"h2")),o!=null&&I.append(PT(E,o,"h3")),I.append(...N,T),i!=null&&I.append(SB(E,i)),"value"in T&&(I.value=T.value,delete T.value)),I.scale=u7(x.scales),I.legend=vT(g,M,t);let $=zE();return $>0&&Et(T).append("text").attr("x",S).attr("y",20).attr("dy","-1em").attr("text-anchor","end").attr("font-family","initial").text("\u26A0\uFE0F").append("title").text(`${$.toLocaleString("en-US")} warning${$===1?"":"s"}. Please check the console.`),I}function PT(t,e,n){if(e.ownerDocument)return e;let r=t.createElement(n);return r.append(e),r}function SB(t,e){let n=t.createElement("figcaption");return n.append(e),n}function qT(t){return t.flat(1/0).filter(e=>e!=null).map(AB)}function AB(t){return typeof t.render=="function"?t:new P6(t)}var P6=class extends ft{constructor(e){if(typeof e!="function")throw new TypeError("invalid mark; missing render function");super(),this.render=e}render(){}};function q6(t,e){for(let n in t)UT(t[n],e);return t}function UT(t,e){let{scale:n,transform:r=!0}=t;if(n==null||!r)return;let{type:o,percent:i,interval:s,transform:a=i?c=>c==null?NaN:c*100:R_(s,o)}=e[n]??{};a!=null&&(t.value=St(t.value,a),t.transform=!1)}function EB(t){for(let e in t)V_(e,t[e])}function wh(t,e,n,r=WA){for(let{channels:o}of e.values())for(let i in o){let s=o[i],{scale:a}=s;if(a!=null&&r(a))if(a==="projection"){if(!v7(n)){let c=n.x?.domain===void 0,f=n.y?.domain===void 0;if(c||f){let[u,p]=M7(s);c&&F6(t,"x",u),f&&F6(t,"y",p)}}}else F6(t,a,s)}return t}function F6(t,e,n){let r=t.get(e);r!==void 0?r.push(n):t.set(e,[n])}function TB(t,e){if(t==null)return;let{x:n,y:r}=t;if(n==null&&r==null)return;let o=yi(t.data);if(o==null)throw new Error("missing facet data");let i={};n!=null&&(i.fx=Lf(o,{value:n,scale:"fx"})),r!=null&&(i.fy=Lf(o,{value:r,scale:"fy"})),q6(i,e);let s=kx(o,i);return{channels:i,groups:s,data:t.data}}function BT(t,e,n){if(t.facet===null||t.facet==="super")return;let{fx:r,fy:o}=t;if(r!=null||o!=null){let c=yi(t.data??r??o);if(c===void 0)throw new Error(`missing facet data in ${t.ariaLabel}`);if(c===null)return;let f={};return r!=null&&(f.fx=Lf(c,{value:r,scale:"fx"})),o!=null&&(f.fy=Lf(c,{value:o,scale:"fy"})),q6(f,n),{channels:f,groups:kx(c,f)}}if(e===void 0)return;let{channels:i,groups:s,data:a}=e;if(t.facet!=="auto"||t.data===a)return{channels:i,groups:s};a.length>0&&(s.size>1||s.size===1&&i.fx&&i.fy&&[...s][0][1].size>1)&&hs(yi(t.data))===hs(a)&&dn(`Warning: the ${t.ariaLabel} mark appears to use faceted data, but isn\u2019t faceted. The mark data has the same length as the facet data and the mark facet option is "auto", but the mark data and facet data are distinct. If this mark should be faceted, set the mark facet option to true; otherwise, suppress this warning by setting the mark facet option to false.`)}function IB(t,e={}){return Gt({...e,x:null,y:null},(n,r,o,i,s,a)=>a.getMarkState(t))}function CB(t){let e=[];for(let n of t){let r=n.tip;if(r){r===!0?r={}:typeof r=="string"&&(r={pointer:r});let{pointer:o,preferredAnchor:i}=r;o=/^x$/i.test(o)?Ss:/^y$/i.test(o)?Ti:Ms,r=o(IB(n,r)),r.title=null,i===void 0&&(r.preferredAnchor=o===Ti?"left":"bottom");let s=a1(n.data,r);s.facet=n.facet,s.facetAnchor=n.facetAnchor,e.push(s)}}return e}function NB(t,e,n){let{projection:r,x:o={},y:i={},fx:s={},fy:a={},axis:c,grid:f,facet:u={},facet:{axis:p=c,grid:l}=u,x:{axis:h=c,grid:d=h===null?null:f}=o,y:{axis:m=c,grid:g=m===null?null:f}=i,fx:{axis:y=p,grid:x=y===null?null:l}=s,fy:{axis:b=p,grid:w=b===null?null:l}=a}=n;(r||!bo(o)&&!zT("x",t))&&(h=d=null),(r||!bo(i)&&!zT("y",t))&&(m=g=null),e.has("fx")||(y=x=null),e.has("fy")||(b=w=null),h===void 0&&(h=!u1(t,"x")),m===void 0&&(m=!u1(t,"y")),y===void 0&&(y=!u1(t,"fx")),b===void 0&&(b=!u1(t,"fy")),h===!0&&(h="bottom"),m===!0&&(m="left"),y===!0&&(y=h==="top"||h===null?"bottom":"top"),b===!0&&(b=m==="right"||m===null?"left":"right");let _=[];return f1(_,w,Kx,a),c1(_,b,Hx,"right","left",u,a),f1(_,x,t1,s),c1(_,y,Qx,"top","bottom",u,s),f1(_,g,Zx,i),c1(_,m,lh,"left","right",n,i),f1(_,d,Jx,o),c1(_,h,ph,"bottom","top",n,o),_}function c1(t,e,n,r,o,i,s){if(!e)return;let a=kB(e);s=RB(a?r:e,i,s);let{line:c}=s;(n===lh||n===ph)&&c&&!vi(c)&&t.push(Qf(LB(s))),t.push(n(s)),a&&t.push(n({...s,anchor:o,label:null}))}function f1(t,e,n,r){!e||vi(e)||t.push(n(OB(e,r)))}function kB(t){return/^\s*both\s*$/i.test(t)}function RB(t,e,{line:n=e.line,ticks:r,tickSize:o,tickSpacing:i,tickPadding:s,tickFormat:a,tickRotate:c,fontVariant:f,ariaLabel:u,ariaDescription:p,label:l=e.label,labelAnchor:h,labelArrow:d=e.labelArrow,labelOffset:m}){return{anchor:t,line:n,ticks:r,tickSize:o,tickSpacing:i,tickPadding:s,tickFormat:a,tickRotate:c,fontVariant:f,ariaLabel:u,ariaDescription:p,label:l,labelAnchor:h,labelArrow:d,labelOffset:m}}function LB(t){let{anchor:e,line:n}=t;return{anchor:e,facetAnchor:e+"-empty",stroke:n===!0?void 0:n}}function OB(t,{stroke:e=ms(t)?t:void 0,ticks:n=$B(t)?t:void 0,tickSpacing:r,ariaLabel:o,ariaDescription:i}){return{stroke:e,ticks:n,tickSpacing:r,ariaLabel:o,ariaDescription:i}}function $B(t){switch(typeof t){case"number":return!0;case"string":return!ms(t)}return Ln(t)||typeof t?.range=="function"}function u1(t,e){let n=`${e}-axis `;return t.some(r=>r.ariaLabel?.startsWith(n))}function zT(t,e){for(let n of e)for(let r in n.channels){let{scale:o}=n.channels[r];if(o===t||o==="projection")return!0}return!1}function DB(t,e){for(let n in t){let r=t[n],o=e[n];r.label===void 0&&o&&(r.label=o.label)}return t}function FB({fx:t,fy:e},n){let{marginTop:r,marginRight:o,marginBottom:i,marginLeft:s,width:a,height:c}=Ix(n),f=t&&YT(t),u=e&&YT(e);return{marginTop:e?u[0]:r,marginRight:t?a-f[1]:o,marginBottom:e?c-u[1]:i,marginLeft:t?f[0]:s,inset:{marginTop:n.marginTop,marginRight:n.marginRight,marginBottom:n.marginBottom,marginLeft:n.marginLeft},width:a,height:c}}function YT(t){let e=t.domain();if(e.length===0)return[0,t.bandwidth()];let n=t(e[0]),r=t(e[e.length-1]);return r<n&&([n,r]=[r,n]),[n,r+t.bandwidth()]}var PB=new Map([["basis",Qv],["basis-closed",Zv],["basis-open",Kv],["bundle",Jv],["bump-x",Xv],["bump-y",Wv],["cardinal",t_],["cardinal-closed",e_],["cardinal-open",n_],["catmull-rom",r_],["catmull-rom-closed",o_],["catmull-rom-open",i_],["linear",hi],["linear-closed",s_],["monotone-x",c_],["monotone-y",f_],["natural",u_],["step",l_],["step-after",h_],["step-before",p_]]);function vh(t=hi,e){if(typeof t=="function")return t;let n=PB.get(`${t}`.toLowerCase());if(!n)throw new Error(`unknown curve: ${t}`);if(e!==void 0){if("beta"in n)return n.beta(e);if("tension"in n)return n.tension(e);if("alpha"in n)return n.alpha(e)}return n}function l1(t=Ns,e){return typeof t!="function"&&`${t}`.toLowerCase()==="auto"?Ns:vh(t,e)}function Ns(t){return hi(t)}function Co(t={y:"count"},e={}){[t,e]=z6(t,e);let{x:n,y:r}=e;return B6(p1(n,e,X),null,null,r,t,za(e))}function No(t={x:"count"},e={}){[t,e]=z6(t,e);let{x:n,y:r}=e;return B6(null,p1(r,e,X),n,null,t,Ya(e))}function Ci(t={fill:"count"},e={}){[t,e]=z6(t,e);let{x:n,y:r}=qB(e);return B6(n,r,null,null,t,za(Ya(e)))}function WT(t,e,n={}){if(n?.interval==null)return n;let{reduce:r=_x}=n,o={filter:null};return n[e]!=null&&(o[e]=r),n[`${e}1`]!=null&&(o[`${e}1`]=r),n[`${e}2`]!=null&&(o[`${e}2`]=r),t(o,n)}function Kf(t={}){return WT(Co,"y",Fr(t,"x"))}function Jf(t={}){return WT(No,"x",Fr(t,"y"))}function B6(t,e,n,r,{data:o=vx,filter:i=Jp,sort:s,reverse:a,...c}={},f={}){t=jT(t),e=jT(e),c=BB(c,f),o=HT(o,X),s=s==null?void 0:GT("sort",s,f),i=i==null?void 0:VT("filter",i,f),n!=null&&So(c,"x","x1","x2")&&(n=null),r!=null&&So(c,"y","y1","y2")&&(r=null);let[u,p]=Ke(t),[l,h]=Ke(t),[d,m]=Ke(e),[g,y]=Ke(e),[x,b]=n!=null?[n,"x"]:r!=null?[r,"y"]:[],[w,_]=Ke(x),{x:v,y:M,z:E,fill:T,stroke:I,x1:A,x2:k,y1:L,y2:S,domain:C,cumulative:N,thresholds:R,interval:$,...O}=f,[D,F]=Ke(E),[P]=ne(T),[W]=ne(I),[K,tt]=Ke(P),[nt,U]=Ke(W);return{..."z"in f&&{z:D||E},..."fill"in f&&{fill:K||T},..."stroke"in f&&{stroke:nt||I},...Me(O,(et,z,G)=>{let J=Da(ct(et,x),G?.[b]),q=ct(et,E),bt=ct(et,P),st=ct(et,W),Tt=nh(c,{z:q,fill:bt,stroke:st}),Ct=[],Q=[],Bt=J&&_([]),zn=q&&F([]),Yr=bt&&tt([]),PC=st&&U([]),K3=t&&p([]),qC=t&&h([]),J3=e&&m([]),BC=e&&y([]),zC=UB(t,e,et),YC=0;for(let oc of c)oc.initialize(et);s&&s.initialize(et),i&&i.initialize(et);for(let oc of z){let t4=[];for(let ic of c)ic.scope("facet",oc);s&&s.scope("facet",oc),i&&i.scope("facet",oc);for(let[ic,UC]of Mo(oc,Tt))for(let[jC,cd]of Mo(UC,J))for(let[Ur,Do]of zC(cd))if(Tt&&(Do.z=ic),!(i&&!i.reduce(Ur,Do))){t4.push(YC++),Q.push(o.reduceIndex(Ur,et,Do)),J&&Bt.push(jC),q&&zn.push(Tt===q?ic:q[(Ur.length>0?Ur:cd)[0]]),bt&&Yr.push(Tt===bt?ic:bt[(Ur.length>0?Ur:cd)[0]]),st&&PC.push(Tt===st?ic:st[(Ur.length>0?Ur:cd)[0]]),K3&&(K3.push(Do.x1),qC.push(Do.x2)),J3&&(J3.push(Do.y1),BC.push(Do.y2));for(let XC of c)XC.reduce(Ur,Do);s&&s.reduce(Ur,Do)}Ct.push(t4)}return X_(Ct,s,a),{data:Q,facets:Ct}}),...!So(c,"x")&&(u?{x1:u,x2:l,x:If(u,l)}:{x:v,x1:A,x2:k}),...!So(c,"y")&&(d?{y1:d,y2:g,y:If(d,g)}:{y:M,y1:L,y2:S}),...w&&{[b]:w},...Object.fromEntries(c.map(({name:et,output:z})=>[et,z]))}}function z6({cumulative:t,domain:e,thresholds:n,interval:r,...o},i){return[o,{cumulative:t,domain:e,thresholds:n,interval:r,...i}]}function p1(t,{cumulative:e,domain:n,thresholds:r,interval:o},i){return t={...wr(t)},t.domain===void 0&&(t.domain=n),t.cumulative===void 0&&(t.cumulative=e),t.thresholds===void 0&&(t.thresholds=r),t.interval===void 0&&(t.interval=o),t.value===void 0&&(t.value=i),t.thresholds=Y6(t.thresholds,t.interval),t}function qB(t){let{x:e,y:n}=t;return e=p1(e,t),n=p1(n,t),[e.value,n.value]=fe(e.value,n.value),{x:e,y:n}}function jT(t){if(t==null)return;let{value:e,cumulative:n,domain:r=Ot,thresholds:o}=t,i=s=>{let a=ct(s,e),c;if(re(a)||YB(o)){a=St(a,T_,Float64Array);let[u,p]=typeof r=="function"?r(a):r,l=typeof o=="function"&&!ds(o)?o(a,u,p):o;typeof l=="number"&&(l=wp(u,p,l)),ds(l)&&(r===Ot&&(u=l.floor(u),p=l.offset(l.floor(p))),l=l.range(u,l.offset(p))),c=l}else{a=_e(a);let[u,p]=typeof r=="function"?r(a):r,l=typeof o=="function"&&!ds(o)?o(a,u,p):o;if(typeof l=="number")if(r===Ot){let h=Ho(u,p,l);if(isFinite(h))if(h>0){let d=Math.round(u/h),m=Math.round(p/h);d*h<=u||--d,m*h>p||++m;let g=m-d+1;l=new Float64Array(g);for(let y=0;y<g;++y)l[y]=(d+y)*h}else if(h<0){h=-h;let d=Math.round(u*h),m=Math.round(p*h);d/h<=u||--d,m/h>p||++m;let g=m-d+1;l=new Float64Array(g);for(let y=0;y<g;++y)l[y]=(d+y)/h}else l=[u];else l=[u]}else l=He(u,p,l);else ds(l)&&(r===Ot&&(u=l.floor(u),p=l.offset(l.floor(p))),l=l.range(u,l.offset(p)));c=l}let f=[];if(c.length===1)f.push([c[0],c[0]]);else for(let u=1;u<c.length;++u)f.push([c[u-1],c[u]]);return f.bin=(n<0?XB:n>0?jB:U6)(f,c,a),f};return i.label=Je(e),i}function Y6(t,e,n=XT){if(t===void 0)return e===void 0?n:vo(e);if(typeof t=="string"){switch(t.toLowerCase()){case"freedman-diaconis":return n0;case"scott":return ml;case"sturges":return Xi;case"auto":return XT}return Oa(t)}return t}function BB(t,e){return U_(t,e,GT)}function GT(t,e,n){return bx(t,e,n,VT)}function VT(t,e,n){return wx(t,e,n,HT)}function HT(t,e){return Rf(t,e,zB)}function zB(t){switch(`${t}`.toLowerCase()){case"x":return WB;case"x1":return VB;case"x2":return HB;case"y":return GB;case"y1":return QB;case"y2":return ZB;case"z":return W_}throw new Error(`invalid bin reduce: ${t}`)}function XT(t,e,n){return Math.min(200,ml(t,e,n))}function YB(t){return HA(t)||Ln(t)&&re(t)}function UB(t,e,n){let r=t?.(n),o=e?.(n);return r&&o?function*(i){let s=r.bin(i);for(let[a,[c,f]]of r.entries()){let u=o.bin(s[a]);for(let[p,[l,h]]of o.entries())yield[u[p],{data:n,x1:c,y1:l,x2:f,y2:h}]}}:r?function*(i){let s=r.bin(i);for(let[a,[c,f]]of r.entries())yield[s[a],{data:n,x1:c,x2:f}]}:function*(i){let s=o.bin(i);for(let[a,[c,f]]of o.entries())yield[s[a],{data:n,y1:c,y2:f}]}}function U6(t,e,n){return e=_e(e),r=>{let o=t.map(()=>[]);for(let i of r)o[Go(e,n[i])-1]?.push(i);return o}}function jB(t,e,n){let r=U6(t,e,n);return o=>{let i=r(o);for(let s=1,a=i.length;s<a;++s){let c=i[s-1],f=i[s];for(let u of c)f.push(u)}return i}}function XB(t,e,n){let r=U6(t,e,n);return o=>{let i=r(o);for(let s=i.length-2;s>=0;--s){let a=i[s+1],c=i[s];for(let f of a)c.push(f)}return i}}function QT(t,e){let n=(+t+ +e)/2;return t instanceof Date?new Date(n):n}var WB={reduceIndex(t,e,{x1:n,x2:r}){return QT(n,r)}},GB={reduceIndex(t,e,{y1:n,y2:r}){return QT(n,r)}},VB={reduceIndex(t,e,{x1:n}){return n}},HB={reduceIndex(t,e,{x2:n}){return n}},QB={reduceIndex(t,e,{y1:n}){return n}},ZB={reduceIndex(t,e,{y2:n}){return n}};var KB={ariaLabel:"area",strokeWidth:1,strokeLinecap:"round",strokeLinejoin:"round",strokeMiterlimit:1},Va=class extends ft{constructor(e,n={}){let{x1:r,y1:o,x2:i,y2:s,z:a,curve:c,tension:f}=n;super(e,{x1:{value:r,scale:"x"},y1:{value:o,scale:"y"},x2:{value:i,scale:"x",optional:!0},y2:{value:s,scale:"y",optional:!0},z:{value:hn(n),optional:!0}},n,KB),this.z=a,this.curve=vh(c,f)}filter(e){return e}render(e,n,r,o,i){let{x1:s,y1:a,x2:c=s,y2:f=a}=r;return rt("svg:g",i).call(gt,this,o,i).call(ht,this,n,0,0).call(u=>u.selectAll().data(Fx(e,[s,a,c,f],this,r)).enter().append("path").call(lt,this).call(Ba,this,r).attr("d",yf().curve(this.curve).defined(p=>p>=0).x0(p=>s[p]).y0(p=>a[p]).x1(p=>c[p]).y1(p=>f[p]))).node()}};function _h(t,e){return e===void 0?Ni(t,{x:$a,y:ls}):new Va(t,e)}function ks(t,e){let{y:n=Xt,...r}=Jf(e);return new Va(t,Is(Es({...r,y1:n,y2:void 0})))}function Ni(t,e){let{x:n=Xt,...r}=Kf(e);return new Va(t,Cs(Ts({...r,x1:n,x2:void 0})))}var JB={ariaLabel:"link",fill:"none",stroke:"currentColor",strokeMiterlimit:1},Mh=class extends ft{constructor(e,n={}){let{x1:r,y1:o,x2:i,y2:s,curve:a,tension:c}=n;super(e,{x1:{value:r,scale:"x"},y1:{value:o,scale:"y"},x2:{value:i,scale:"x",optional:!0},y2:{value:s,scale:"y",optional:!0}},n,JB),this.curve=l1(a,c),Pr(this,n)}project(e,n,r){this.curve!==Ns&&super.project(e,n,r)}render(e,n,r,o,i){let{x1:s,y1:a,x2:c=s,y2:f=a}=r,{curve:u}=this;return rt("svg:g",i).call(gt,this,o,i).call(ht,this,n).call(p=>p.selectAll().data(e).enter().append("path").call(lt,this).attr("d",u===Ns&&i.projection?tz(i.projection,s,a,c,f):l=>{let h=En(),d=u(h);return d.lineStart(),d.point(s[l],a[l]),d.point(c[l],f[l]),d.lineEnd(),h}).call(_t,this,r).call(Ii,this,r,i)).node()}};function tz(t,e,n,r,o){let i=De(t);return e=_e(e),n=_e(n),r=_e(r),o=_e(o),s=>i({type:"LineString",coordinates:[[e[s],n[s]],[r[s],o[s]]]})}function h1(t,{x:e,x1:n,x2:r,y:o,y1:i,y2:s,...a}={}){return[n,r]=Sh(e,n,r),[i,s]=Sh(o,i,s),new Mh(t,{...a,x1:n,x2:r,y1:i,y2:s})}function Sh(t,e,n){if(t===void 0){if(e===void 0){if(n!==void 0)return[n]}else if(n===void 0)return[e]}else{if(e===void 0)return n===void 0?[t]:[t,n];if(n===void 0)return[t,e]}return[e,n]}var ez={ariaLabel:"arrow",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeMiterlimit:1,strokeWidth:1.5},Ah=class extends ft{constructor(e,n={}){let{x1:r,y1:o,x2:i,y2:s,bend:a=0,headAngle:c=60,headLength:f=8,inset:u=0,insetStart:p=u,insetEnd:l=u,sweep:h}=n;super(e,{x1:{value:r,scale:"x"},y1:{value:o,scale:"y"},x2:{value:i,scale:"x",optional:!0},y2:{value:s,scale:"y",optional:!0}},n,ez),this.bend=a===!0?22.5:Math.max(-90,Math.min(90,a)),this.headAngle=+c,this.headLength=+f,this.insetStart=+p,this.insetEnd=+l,this.sweep=nz(h)}render(e,n,r,o,i){let{x1:s,y1:a,x2:c=s,y2:f=a,SW:u}=r,{strokeWidth:p,bend:l,headAngle:h,headLength:d,insetStart:m,insetEnd:g}=this,y=u?w=>u[w]:oe(p===void 0?1:p),x=h*zf/2,b=d/1.5;return rt("svg:g",i).call(gt,this,o,i).call(ht,this,n).call(w=>w.selectAll().data(e).enter().append("path").call(lt,this).attr("d",_=>{let v=s[_],M=a[_],E=c[_],T=f[_],I=Math.hypot(E-v,T-M);if(I<=m+g)return null;let A=Math.atan2(T-M,E-v),k=Math.min(b*y(_),I/3),L=this.sweep(v,M,E,T)*l*zf,S=Math.hypot(I/Math.tan(L),I)/2;if(m||g)if(S<1e5){let K=Math.sign(L),[tt,nt]=rz([v,M],[E,T],S,K);if(m&&([v,M]=ZT([tt,nt,S],[v,M,m],-K*Math.sign(m))),g){let[U,et]=ZT([tt,nt,S],[E,T,g],K*Math.sign(g));A+=Math.atan2(et-nt,U-tt)-Math.atan2(T-nt,E-tt),E=U,T=et}}else{let K=E-v,tt=T-M,nt=Math.hypot(K,tt);m&&(v+=K/nt*m,M+=tt/nt*m),g&&(E-=K/nt*g,T-=tt/nt*g)}let C=A+L,N=C+x,R=C-x,$=E-k*Math.cos(N),O=T-k*Math.sin(N),D=E-k*Math.cos(R),F=T-k*Math.sin(R),P=S<1e5?`A${S},${S} 0,0,${L>0?1:0} `:"L",W=k?`M${$},${O}L${E},${T}L${D},${F}`:"";return`M${v},${M}${P}${E},${T}${W}`}).call(_t,this,r)).node()}};function nz(t=1){if(typeof t=="number")return oe(Math.sign(t));if(typeof t=="function")return(e,n,r,o)=>Math.sign(t(e,n,r,o));switch(Ce(t,"sweep",["+x","-x","+y","-y"])){case"+x":return(e,n,r)=>dt(e,r);case"-x":return(e,n,r)=>bn(e,r);case"+y":return(e,n,r,o)=>dt(n,o);case"-y":return(e,n,r,o)=>bn(n,o)}}function rz([t,e],[n,r],o,i){let s=n-t,a=r-e,c=Math.hypot(s,a),f=i*Math.sqrt(o*o-c*c/4)/c;return[(t+n)/2-a*f,(e+r)/2+s*f]}function ZT([t,e,n],[r,o,i],s){let a=r-t,c=o-e,f=Math.hypot(a,c),u=(a*a+c*c-i*i+n*n)/(2*f),p=s*Math.sqrt(n*n-u*u);return[t+(a*u+c*p)/f,e+(c*u-a*p)/f]}function KT(t,{x:e,x1:n,x2:r,y:o,y1:i,y2:s,...a}={}){return[n,r]=Sh(e,n,r),[i,s]=Sh(o,i,s),new Ah(t,{...a,x1:n,x2:r,y1:i,y2:s})}var oz={ariaLabel:"bar"},tu=class extends ft{constructor(e,n,r={},o=oz){super(e,n,r,o),dh(this,r),mh(this,r)}render(e,n,r,o,i){let{rx:s,ry:a,rx1y1:c,rx1y2:f,rx2y1:u,rx2y2:p}=this,l=this._x(n,r,o),h=this._y(n,r,o),d=this._width(n,r,o),m=this._height(n,r,o);return rt("svg:g",i).call(gt,this,o,i).call(this._transform,this,n).call(g=>g.selectAll().data(e).enter().call(c||f||u||p?y=>y.append("path").call(lt,this).call(gh,l,h,JT(l,d),JT(h,m),this).call(_t,this,r):y=>y.append("rect").call(lt,this).attr("x",l).attr("width",d).attr("y",h).attr("height",m).call(ot,"rx",s).call(ot,"ry",a).call(_t,this,r))).node()}_x(e,{x:n},{marginLeft:r}){let{insetLeft:o}=this;return n?i=>n[i]+o:r+o}_y(e,{y:n},{marginTop:r}){let{insetTop:o}=this;return n?i=>n[i]+o:r+o}_width({x:e},{x:n},{marginRight:r,marginLeft:o,width:i}){let{insetLeft:s,insetRight:a}=this,c=n&&e?e.bandwidth():i-r-o;return Math.max(0,c-s-a)}_height({y:e},{y:n},{marginTop:r,marginBottom:o,height:i}){let{insetTop:s,insetBottom:a}=this,c=n&&e?e.bandwidth():i-r-o;return Math.max(0,c-s-a)}};function JT(t,e){return typeof t=="function"&&typeof e=="function"?n=>t(n)+e(n):typeof t=="function"?n=>t(n)+e:typeof e=="function"?n=>t+e(n):t+e}var Ha=class extends tu{constructor(e,n={},r){let{x1:o,x2:i,y:s}=n;super(e,{x1:{value:o,scale:"x"},x2:{value:i,scale:"x"},y:{value:s,scale:"y",type:"band",optional:!0}},n,r)}_transform(e,n,{x:r}){e.call(ht,n,{x:r},0,0)}_x({x:e},{x1:n,x2:r},{marginLeft:o}){let{insetLeft:i}=this;return tr(e)?o+i:s=>Math.min(n[s],r[s])+i}_width({x:e},{x1:n,x2:r},{marginRight:o,marginLeft:i,width:s}){let{insetLeft:a,insetRight:c}=this;return tr(e)?s-o-i-a-c:f=>Math.max(0,Math.abs(r[f]-n[f])-a-c)}},Qa=class extends tu{constructor(e,n={},r){let{x:o,y1:i,y2:s}=n;super(e,{y1:{value:i,scale:"y"},y2:{value:s,scale:"y"},x:{value:o,scale:"x",type:"band",optional:!0}},n,r)}_transform(e,n,{y:r}){e.call(ht,n,{y:r},0,0)}_y({y:e},{y1:n,y2:r},{marginTop:o}){let{insetTop:i}=this;return tr(e)?o+i:s=>Math.min(n[s],r[s])+i}_height({y:e},{y1:n,y2:r},{marginTop:o,marginBottom:i,height:s}){let{insetTop:a,insetBottom:c}=this;return tr(e)?s-o-i-a-c:f=>Math.max(0,Math.abs(r[f]-n[f])-a-c)}};function ko(t,e={}){return xi(e)||(e={...e,y:Xt,x2:X}),new Ha(t,Is(Yf(Es(e))))}function Ro(t,e={}){return xi(e)||(e={...e,x:Xt,y2:X}),new Qa(t,Cs(Uf(Ts(e))))}var iz={ariaLabel:"cell"},Za=class extends tu{constructor(e,{x:n,y:r,...o}={}){super(e,{x:{value:n,scale:"x",type:"band",optional:!0},y:{value:r,scale:"y",type:"band",optional:!0}},o,iz)}_transform(e,n){e.call(ht,n,{},0,0)}};function Rs(t,{x:e,y:n,...r}={}){return[e,n]=fe(e,n),new Za(t,{...r,x:e,y:n})}function t9(t,{x:e=Xt,fill:n,stroke:r,...o}={}){return n===void 0&&ne(r)[0]===void 0&&(n=X),new Za(t,{...o,x:e,fill:n,stroke:r})}function e9(t,{y:e=Xt,fill:n,stroke:r,...o}={}){return n===void 0&&ne(r)[0]===void 0&&(n=X),new Za(t,{...o,y:e,fill:n,stroke:r})}var sz={ariaLabel:"dot",fill:"none",stroke:"currentColor",strokeWidth:1.5};function Eh(t){return t.sort===void 0&&t.reverse===void 0?yx({channel:"-r"},t):t}var Ka=class extends ft{constructor(e,n={}){let{x:r,y:o,r:i,rotate:s,symbol:a=di,frameAnchor:c}=n,[f,u]=qt(s,0),[p,l]=fE(a),[h,d]=qt(i,p==null?3:4.5);super(e,{x:{value:r,scale:"x",optional:!0},y:{value:o,scale:"y",optional:!0},r:{value:h,scale:"r",filter:kn,optional:!0},rotate:{value:f,optional:!0},symbol:{value:p,scale:"auto",optional:!0}},Eh(n),sz),this.r=d,this.rotate=u,this.symbol=l,this.frameAnchor=_o(c);let{channels:m}=this,{symbol:g}=m;if(g){let{fill:y,stroke:x}=m;g.hint={fill:y?y.value===g.value?"color":"currentColor":this.fill??"currentColor",stroke:x?x.value===g.value?"color":"currentColor":this.stroke??"none"}}}render(e,n,r,o,i){let{x:s,y:a}=n,{x:c,y:f,r:u,rotate:p,symbol:l}=r,{r:h,rotate:d,symbol:m}=this,[g,y]=Ue(this,o),x=m===di,b=u?void 0:h*h*Math.PI;return ss(h)&&(e=[]),rt("svg:g",i).call(gt,this,o,i).call(ht,this,{x:c&&s,y:f&&a}).call(w=>w.selectAll().data(e).enter().append(x?"circle":"path").call(lt,this).call(x?_=>{_.attr("cx",c?v=>c[v]:g).attr("cy",f?v=>f[v]:y).attr("r",u?v=>u[v]:h)}:_=>{_.attr("transform",qr`translate(${c?v=>c[v]:g},${f?v=>f[v]:y})${p?v=>` rotate(${p[v]})`:d?` rotate(${d})`:""}`).attr("d",u&&l?v=>{let M=En();return l[v].draw(M,u[v]*u[v]*Math.PI),M}:u?v=>{let M=En();return m.draw(M,u[v]*u[v]*Math.PI),M}:l?v=>{let M=En();return l[v].draw(M,b),M}:(()=>{let v=En();return m.draw(v,b),v})())}).call(_t,this,r)).node()}};function _r(t,{x:e,y:n,...r}={}){return r.frameAnchor===void 0&&([e,n]=fe(e,n)),new Ka(t,{...r,x:e,y:n})}function n9(t,{x:e=X,...n}={}){return new Ka(t,zx({...n,x:e}))}function r9(t,{y:e=X,...n}={}){return new Ka(t,Bx({...n,y:e}))}function o9(t,e){return _r(t,{...e,symbol:"circle"})}function i9(t,e){return _r(t,{...e,symbol:"hexagon"})}var az={ariaLabel:"line",fill:"none",stroke:"currentColor",strokeWidth:1.5,strokeLinecap:"round",strokeLinejoin:"round",strokeMiterlimit:1},Ja=class extends ft{constructor(e,n={}){let{x:r,y:o,z:i,curve:s,tension:a}=n;super(e,{x:{value:r,scale:"x"},y:{value:o,scale:"y"},z:{value:hn(n),optional:!0}},n,az),this.z=i,this.curve=l1(s,a),Pr(this,n)}filter(e){return e}project(e,n,r){this.curve!==Ns&&super.project(e,n,r)}render(e,n,r,o,i){let{x:s,y:a}=r,{curve:c}=this;return rt("svg:g",i).call(gt,this,o,i).call(ht,this,n).call(f=>f.selectAll().data(Fx(e,[s,a],this,r)).enter().append("path").call(lt,this).call(Ba,this,r).call($7,this,r,i).attr("d",c===Ns&&i.projection?cz(i.projection,s,a):Cp().curve(c).defined(u=>u>=0).x(u=>s[u]).y(u=>a[u]))).node()}};function cz(t,e,n){let r=De(t);return e=_e(e),n=_e(n),o=>{let i=[],s=[i];for(let a of o)a===-1?(i=[],s.push(i)):i.push([e[a],n[a]]);return r({type:"MultiLineString",coordinates:s})}}function tc(t,{x:e,y:n,...r}={}){return[e,n]=fe(e,n),new Ja(t,{...r,x:e,y:n})}function Ls(t,{x:e=X,y:n=Xt,...r}={}){return new Ja(t,Jf({...r,x:e,y:n}))}function Os(t,{x:e=Xt,y:n=X,...r}={}){return new Ja(t,Kf({...r,x:e,y:n}))}function X6(t,e){e=fz(e);let{x:n,y:r,color:o,size:i}=e,s=d1(t,n),a=d1(t,r),c=d1(t,o),f=d1(t,i),{fx:u,fy:p,x:{value:l,reduce:h,zero:d,...m},y:{value:g,reduce:y,zero:x,...b},color:{value:w,color:_,reduce:v},size:{value:M,reduce:E},mark:T}=e;if(h===void 0&&(h=y==null&&l==null&&M==null&&g!=null?"count":null),y===void 0&&(y=h==null&&g==null&&M==null&&l!=null?"count":null),E===void 0&&M==null&&v==null&&h==null&&y==null&&(l==null||te(s))&&(g==null||te(a))&&(E="count"),d===void 0&&(d=m1(h)?!0:void 0),x===void 0&&(x=m1(y)?!0:void 0),l==null&&g==null)throw new Error("must specify x or y");if(h!=null&&g==null)throw new Error("reducing x requires y");if(y!=null&&l==null)throw new Error("reducing y requires x");T===void 0&&(T=M!=null||E!=null?"dot":m1(h)||m1(y)||v!=null?"bar":l!=null&&g!=null?te(s)||te(a)||h==null&&y==null&&!Th(s)&&!Th(a)?"dot":"line":l!=null||g!=null?"rule":null);let I,A,k;switch(T){case"dot":k=_r,A="stroke";break;case"line":k=s&&a||h!=null||y!=null?x||y!=null||s&&Th(s)?Os:d||h!=null||a&&Th(a)?Ls:tc:s?Ls:Os,A="stroke",a9(c)&&(I=null);break;case"area":k=!(x||y!=null)&&(d||h!=null||a&&Th(a))?ks:Ni,A="fill",a9(c)&&(I=null);break;case"rule":k=s?er:nr,A="stroke";break;case"bar":k=h!=null?te(a)?s9(h)&&s&&te(s)?Rs:ko:Vf:y!=null?te(s)?s9(y)&&a&&te(a)?Rs:Ro:Hf:v!=null||E!=null?s&&te(s)&&a&&te(a)?Rs:s&&te(s)?Ro:a&&te(a)?ko:yh:s&&wi(s)&&!(a&&wi(a))?ko:a&&wi(a)&&!(s&&wi(s))?Ro:Rs,A="fill";break;default:throw new Error(`invalid mark: ${T}`)}let L={fx:u,fy:p,x:s??void 0,y:a??void 0,[A]:c??_,z:I,r:f??void 0,tip:!0},S,C={[A]:v??void 0,r:E??void 0};if(h!=null&&y!=null)throw new Error("cannot reduce both x and y");return y!=null?(C.y=y,S=te(s)?gs:Co):h!=null?(C.x=h,S=te(a)?ys:No):(v!=null||E!=null)&&(s&&a?S=te(s)&&te(a)?eh:te(s)?No:te(a)?Co:Ci:s?S=te(s)?gs:Co:a&&(S=te(a)?ys:No)),(S===Ci||S===Co)&&(L.x={value:s,...m}),(S===Ci||S===No)&&(L.y={value:a,...b}),d===void 0&&(d=s&&!(S===Ci||S===Co)&&(k===ko||k===ks||k===Vf||k===nr)),x===void 0&&(x=a&&!(S===Ci||S===No)&&(k===Ro||k===Ni||k===Hf||k===er)),{fx:u??null,fy:p??null,x:{value:l??null,reduce:h??null,zero:!!d,...m},y:{value:g??null,reduce:y??null,zero:!!x,...b},color:{value:w??null,reduce:v??null,..._!==void 0&&{color:_}},size:{value:M??null,reduce:E??null},mark:T,markImpl:c9[k],markOptions:L,transformImpl:c9[S],transformOptions:C,colorMode:A}}function f9(t,e){let n=X6(t,e),{fx:r,fy:o,x:{zero:i},y:{zero:s},markOptions:a,transformOptions:c,colorMode:f}=n,u=j6[n.markImpl],p=j6[n.transformImpl],l=r!=null||o!=null?Qf({strokeOpacity:.1}):null,h=[i?er([0]):null,s?nr([0]):null],d=u(t,p?p(c,a):a);return f==="stroke"?Se(l,h,d):Se(l,d,h)}function Th(t){let e,n;for(let r of t){if(r==null)continue;if(e===void 0){e=r;continue}let o=Math.sign(dt(e,r));if(o){if(n!==void 0&&o!==n)return!1;e=r,n=o}}return!0}function fz({x:t,y:e,color:n,size:r,fx:o,fy:i,mark:s}={}){return Kn(t)||(t=eu(t)),Kn(e)||(e=eu(e)),Kn(n)||(n=ms(n)?{color:n}:eu(n)),Kn(r)||(r=eu(r)),Kn(o)&&({value:o}=eu(o)),Kn(i)&&({value:i}=eu(i)),s!=null&&(s=`${s}`.toLowerCase()),{x:t,y:e,color:n,size:r,fx:o,fy:i,mark:s}}function d1(t,e){let n=ct(t,e.value);return n&&(n.label=Je(e.value)),n}function eu(t){return uz(t)?{reduce:t}:{value:t}}function m1(t){return/^(?:distinct|count|sum|proportion)$/i.test(t)}function s9(t){return/^(?:first|last|mode)$/i.test(t)}function uz(t){if(t==null)return!1;if(typeof t.reduceIndex=="function"||typeof t.reduce=="function"&&Be(t)||/^p\d{2}$/i.test(t))return!0;switch(`${t}`.toLowerCase()){case"first":case"last":case"count":case"distinct":case"sum":case"proportion":case"proportion-facet":case"deviation":case"min":case"min-index":case"max":case"max-index":case"mean":case"median":case"variance":case"mode":return!0}return!1}function a9(t){return t?new vn(t).size>t.length>>1:!1}var j6={dot:_r,line:tc,lineX:Ls,lineY:Os,areaX:ks,areaY:Ni,ruleX:er,ruleY:nr,barX:ko,barY:Ro,rect:yh,rectX:Vf,rectY:Hf,cell:Rs,bin:Ci,binX:Co,binY:No,group:eh,groupX:gs,groupY:ys},c9=Object.fromEntries(Object.entries(j6).map(([t,e])=>[e,t]));function nu(t,e={}){let{x:n,x1:r,x2:o}=e;n===void 0&&r===void 0&&o===void 0&&(e={...e,x:n=X});let i={};return n!=null&&(i.x=t),r!=null&&(i.x1=t),o!=null&&(i.x2=t),Bn(i,e)}function ru(t,e={}){let{y:n,y1:r,y2:o}=e;n===void 0&&r===void 0&&o===void 0&&(e={...e,y:n=X});let i={};return n!=null&&(i.y=t),r!=null&&(i.y1=t),o!=null&&(i.y2=t),Bn(i,e)}function Bn(t={},e={}){let n=hn(e),r=Object.entries(t).map(([o,i])=>{let s=lx(o,e);if(s==null)throw new Error(`missing channel: ${o}`);let[a,c]=ze(s);return{key:o,input:s,output:a,setOutput:c,map:lz(i)}});return{...Me(e,(o,i)=>{let s=ct(o,n),a=r.map(({input:f})=>ct(o,f)),c=r.map(({setOutput:f})=>f(new Array(o.length)));for(let f of i)for(let u of s?Ve(f,p=>s[p]).values():[f])r.forEach(({map:p},l)=>p.mapIndex(u,a[l],c[l]));return{data:o,facets:i}}),...Object.fromEntries(r.map(({key:o,output:i})=>[o,i]))}}function lz(t){if(t==null)throw new Error("missing map");if(typeof t.mapIndex=="function")return t;if(typeof t.map=="function"&&Be(t))return pz(t);if(typeof t=="function")return W6(Tf(t));switch(`${t}`.toLowerCase()){case"cumsum":return dz;case"rank":return W6((e,n)=>gl(e,r=>n[r]));case"quantile":return W6((e,n)=>hz(e,r=>n[r]))}throw new Error(`invalid map: ${t}`)}function pz(t){return console.warn("deprecated map interface; implement mapIndex instead."),{mapIndex:t.map.bind(t)}}function hz(t,e){let n=Kr(t,e)-1;return gl(t,e).map(r=>r/n)}function W6(t){return{mapIndex(e,n,r){let o=t(e,n);if(o.length!==e.length)throw new Error("map function returned a mismatched length");for(let i=0,s=e.length;i<s;++i)r[e[i]]=o[i]}}}var dz={mapIndex(t,e,n){let r=0;for(let o of t)n[o]=r+=e[o]}};function u9(t={},e){return arguments.length===1&&(e=t),nu(ou(t),e)}function l9(t={},e){return arguments.length===1&&(e=t),ru(ou(t),e)}function ou(t={}){typeof t=="number"&&(t={k:t});let{k:e,reduce:n,shift:r,anchor:o,strict:i}=t;if(o===void 0&&r!==void 0&&(o=gz(r),dn(`Warning: the shift option is deprecated; please use anchor "${o}" instead.`)),!((e=Math.floor(e))>0))throw new Error(`invalid k: ${e}`);return yz(n)(e,mz(o,e),i)}function mz(t="middle",e){switch(`${t}`.toLowerCase()){case"middle":return e-1>>1;case"start":return 0;case"end":return e-1}throw new Error(`invalid anchor: ${t}`)}function gz(t){switch(`${t}`.toLowerCase()){case"centered":return"middle";case"leading":return"start";case"trailing":return"end"}throw new Error(`invalid shift: ${t}`)}function yz(t="mean"){if(typeof t=="string"){if(/^p\d{2}$/i.test(t))return g1(Ef(t));switch(t.toLowerCase()){case"deviation":return g1(fr);case"max":return y1((e,n)=>Mt(e,r=>n[r]));case"mean":return xz;case"median":return g1(Rr);case"min":return y1((e,n)=>At(e,r=>n[r]));case"mode":return y1((e,n)=>$c(e,r=>n[r]));case"sum":return p9;case"variance":return g1(ji);case"difference":return vz;case"ratio":return _z;case"first":return Mz;case"last":return Sz}}if(typeof t!="function")throw new Error(`invalid reduce: ${t}`);return y1(Tf(t))}function g1(t){return(e,n,r)=>r?{mapIndex(o,i,s){let a=f=>i[f]==null?NaN:+i[f],c=0;for(let f=0;f<e-1;++f)isNaN(a(f))&&++c;for(let f=0,u=o.length-e+1;f<u;++f)isNaN(a(f+e-1))&&++c,s[o[f+n]]=c===0?t(bi(o,f,f+e),a):NaN,isNaN(a(f))&&--c}}:{mapIndex(o,i,s){let a=c=>i[c]==null?NaN:+i[c];for(let c=-n;c<0;++c)s[o[c+n]]=t(bi(o,0,c+e),a);for(let c=0,f=o.length-n;c<f;++c)s[o[c+n]]=t(bi(o,c,c+e),a)}}}function y1(t){return(e,n,r)=>r?{mapIndex(o,i,s){let a=0;for(let c=0;c<e-1;++c)a+=Jt(i[o[c]]);for(let c=0,f=o.length-e+1;c<f;++c)a+=Jt(i[o[c+e-1]]),a===e&&(s[o[c+n]]=t(bi(o,c,c+e),i)),a-=Jt(i[o[c]])}}:{mapIndex(o,i,s){for(let a=-n;a<0;++a)s[o[a+n]]=t(bi(o,0,a+e),i);for(let a=0,c=o.length-n;a<c;++a)s[o[a+n]]=t(bi(o,a,a+e),i)}}}function p9(t,e,n){return n?{mapIndex(r,o,i){let s=0,a=0;for(let c=0;c<t-1;++c){let f=o[r[c]];f===null||isNaN(f)?++s:a+=+f}for(let c=0,f=r.length-t+1;c<f;++c){let u=o[r[c]],p=o[r[c+t-1]];p===null||isNaN(p)?++s:a+=+p,i[r[c+e]]=s===0?a:NaN,u===null||isNaN(u)?--s:a-=+u}}}:{mapIndex(r,o,i){let s=0,a=r.length;for(let c=0,f=Math.min(a,t-e-1);c<f;++c)s+=+o[r[c]]||0;for(let c=-e,f=a-e;c<f;++c)s+=+o[r[c+t-1]]||0,i[r[c+e]]=s,s-=+o[r[c]]||0}}}function xz(t,e,n){if(n){let r=p9(t,e,n);return{mapIndex(o,i,s){r.mapIndex(o,i,s);for(let a=0,c=o.length-t+1;a<c;++a)s[o[a+e]]/=t}}}else return{mapIndex(r,o,i){let s=0,a=0,c=r.length;for(let f=0,u=Math.min(c,t-e-1);f<u;++f){let p=o[r[f]];p!==null&&!isNaN(p=+p)&&(s+=p,++a)}for(let f=-e,u=c-e;f<u;++f){let p=o[r[f+t-1]],l=o[r[f]];p!==null&&!isNaN(p=+p)&&(s+=p,++a),i[r[f+e]]=s/a,l!==null&&!isNaN(l=+l)&&(s-=l,--a)}}}}function bz(t,e,n,r){for(let o=n+r;n<o;++n){let i=t[e[n]];if(Jt(i))return i}}function wz(t,e,n,r){for(let o=n+r-1;o>=n;--o){let i=t[e[o]];if(Jt(i))return i}}function h9(t,e,n,r){for(let o=n+r;n<o;++n){let i=t[e[n]];if(i!==null&&!isNaN(i=+i))return i}}function d9(t,e,n,r){for(let o=n+r-1;o>=n;--o){let i=t[e[o]];if(i!==null&&!isNaN(i=+i))return i}}function vz(t,e,n){return n?{mapIndex(r,o,i){for(let s=0,a=r.length-t;s<a;++s){let c=o[r[s]],f=o[r[s+t-1]];i[r[s+e]]=c===null||f===null?NaN:f-c}}}:{mapIndex(r,o,i){for(let s=-e,a=r.length-t+e+1;s<a;++s)i[r[s+e]]=d9(o,r,s,t)-h9(o,r,s,t)}}}function _z(t,e,n){return n?{mapIndex(r,o,i){for(let s=0,a=r.length-t;s<a;++s){let c=o[r[s]],f=o[r[s+t-1]];i[r[s+e]]=c===null||f===null?NaN:f/c}}}:{mapIndex(r,o,i){for(let s=-e,a=r.length-t+e+1;s<a;++s)i[r[s+e]]=d9(o,r,s,t)/h9(o,r,s,t)}}}function Mz(t,e,n){return n?{mapIndex(r,o,i){for(let s=0,a=r.length-t;s<a;++s)i[r[s+e]]=o[r[s]]}}:{mapIndex(r,o,i){for(let s=-e,a=r.length-t+e+1;s<a;++s)i[r[s+e]]=bz(o,r,s,t)}}}function Sz(t,e,n){return n?{mapIndex(r,o,i){for(let s=0,a=r.length-t;s<a;++s)i[r[s+e]]=o[r[s+t-1]]}}:{mapIndex(r,o,i){for(let s=-e,a=r.length-t+e+1;s<a;++s)i[r[s+e]]=wz(o,r,s,t)}}}var ki={n:20,k:2,color:"currentColor",opacity:.2,strict:!0,anchor:"end"};function m9(t,{x:e=X,y:n,k:r=ki.k,color:o=ki.color,opacity:i=ki.opacity,fill:s=o,fillOpacity:a=i,stroke:c=o,strokeOpacity:f,strokeWidth:u,...p}={}){return Se(Ft(s)?null:ks(t,Bn({x1:$s({k:-r,...p}),x2:$s({k:r,...p})},{x1:e,x2:e,y:n,fill:s,fillOpacity:a,...p})),Ft(c)?null:Ls(t,Bn({x:$s(p)},{x:e,y:n,stroke:c,strokeOpacity:f,strokeWidth:u,...p})))}function g9(t,{x:e,y:n=X,k:r=ki.k,color:o=ki.color,opacity:i=ki.opacity,fill:s=o,fillOpacity:a=i,stroke:c=o,strokeOpacity:f,strokeWidth:u,...p}={}){return Se(Ft(s)?null:Ni(t,Bn({y1:$s({k:-r,...p}),y2:$s({k:r,...p})},{x:e,y1:n,y2:n,fill:s,fillOpacity:a,...p})),Ft(c)?null:Os(t,Bn({y:$s(p)},{x:e,y:n,stroke:c,strokeOpacity:f,strokeWidth:u,...p})))}function $s({n:t=ki.n,k:e=0,strict:n=ki.strict,anchor:r=ki.anchor}={}){return ou({k:t,reduce:o=>Qo(o)+e*(fr(o)||0),strict:n,anchor:r})}var Az={ariaLabel:"tick",fill:null,stroke:"currentColor"},x1=class extends ft{constructor(e,n,r){super(e,n,r,Az),Pr(this,r)}render(e,n,r,o,i){return rt("svg:g",i).call(gt,this,o,i).call(this._transform,this,n).call(s=>s.selectAll().data(e).enter().append("line").call(lt,this).attr("x1",this._x1(n,r,o)).attr("x2",this._x2(n,r,o)).attr("y1",this._y1(n,r,o)).attr("y2",this._y2(n,r,o)).call(_t,this,r).call(Ii,this,r,i)).node()}},Ih=class extends x1{constructor(e,n={}){let{x:r,y:o,inset:i=0,insetTop:s=i,insetBottom:a=i}=n;super(e,{x:{value:r,scale:"x"},y:{value:o,scale:"y",type:"band",optional:!0}},n),this.insetTop=Rt(s),this.insetBottom=Rt(a)}_transform(e,n,{x:r}){e.call(ht,n,{x:r},ie,0)}_x1(e,{x:n}){return r=>n[r]}_x2(e,{x:n}){return r=>n[r]}_y1({y:e},{y:n},{marginTop:r}){let{insetTop:o}=this;return n&&e?i=>n[i]+o:r+o}_y2({y:e},{y:n},{height:r,marginBottom:o}){let{insetBottom:i}=this;return n&&e?s=>n[s]+e.bandwidth()-i:r-o-i}},Ch=class extends x1{constructor(e,n={}){let{x:r,y:o,inset:i=0,insetRight:s=i,insetLeft:a=i}=n;super(e,{y:{value:o,scale:"y"},x:{value:r,scale:"x",type:"band",optional:!0}},n),this.insetRight=Rt(s),this.insetLeft=Rt(a)}_transform(e,n,{y:r}){e.call(ht,n,{y:r},0,ie)}_x1({x:e},{x:n},{marginLeft:r}){let{insetLeft:o}=this;return n&&e?i=>n[i]+o:r+o}_x2({x:e},{x:n},{width:r,marginRight:o}){let{insetRight:i}=this;return n&&e?s=>n[s]+e.bandwidth()-i:r-o-i}_y1(e,{y:n}){return r=>n[r]}_y2(e,{y:n}){return r=>n[r]}};function b1(t,{x:e=X,...n}={}){return new Ih(t,{...n,x:e})}function w1(t,{y:e=X,...n}={}){return new Ch(t,{...n,y:e})}function y9(t,{x:e=X,y:n=null,r,fill:o="#ccc",fillOpacity:i,stroke:s="currentColor",strokeOpacity:a,strokeWidth:c=2,sort:f,...u}={}){let p=n!=null?ys:th;return Se(nr(t,p({x1:G6,x2:V6},{x:e,y:n,stroke:s,strokeOpacity:a,...u})),ko(t,p({x1:"p25",x2:"p75"},{x:e,y:n,fill:o,fillOpacity:i,...u})),b1(t,p({x:"p50"},{x:e,y:n,stroke:s,strokeOpacity:a,strokeWidth:c,sort:f,...u})),_r(t,Bn({x:b9},{x:e,y:n,z:n,r,stroke:s,strokeOpacity:a,...u})))}function x9(t,{y:e=X,x:n=null,r,fill:o="#ccc",fillOpacity:i,stroke:s="currentColor",strokeOpacity:a,strokeWidth:c=2,sort:f,...u}={}){let p=n!=null?gs:th;return Se(er(t,p({y1:G6,y2:V6},{x:n,y:e,stroke:s,strokeOpacity:a,...u})),Ro(t,p({y1:"p25",y2:"p75"},{x:n,y:e,fill:o,fillOpacity:i,...u})),w1(t,p({y:"p50"},{x:n,y:e,stroke:s,strokeOpacity:a,strokeWidth:c,sort:f,...u})),_r(t,Bn({y:b9},{x:n,y:e,z:n,r,stroke:s,strokeOpacity:a,...u})))}function b9(t){let e=G6(t),n=V6(t);return t.map(r=>r<e||r>n?r:NaN)}function G6(t){let e=w9(t)*2.5-v9(t)*1.5;return At(t,n=>n>=e?n:NaN)}function V6(t){let e=v9(t)*2.5-w9(t)*1.5;return Mt(t,n=>n<=e?n:NaN)}function w9(t){return _n(t,.25)}function v9(t){return _n(t,.75)}var Ez={ariaLabel:"raster",stroke:null,pixelSize:1};function iu(t,e){let n=+t;if(isNaN(n))throw new Error(`invalid ${e}: ${t}`);return n}function _9(t,e){let n=Math.floor(t);if(isNaN(n))throw new Error(`invalid ${e}: ${t}`);return n}var kh=class extends ft{constructor(e,n,r={},o){let{width:i,height:s,x:a,y:c,x1:f=a==null?0:void 0,y1:u=c==null?0:void 0,x2:p=a==null?i:void 0,y2:l=c==null?s:void 0,pixelSize:h=o.pixelSize,blur:d=0,interpolate:m}=r;if(i!=null&&(i=_9(i,"width")),s!=null&&(s=_9(s,"height")),f!=null&&(f=iu(f,"x1")),u!=null&&(u=iu(u,"y1")),p!=null&&(p=iu(p,"x2")),l!=null&&(l=iu(l,"y2")),a==null&&(f==null||p==null))throw new Error("missing x");if(c==null&&(u==null||l==null))throw new Error("missing y");e!=null&&i!=null&&s!=null&&(a===void 0&&f!=null&&p!=null&&(a=Oz(f,p,i,s)),c===void 0&&u!=null&&l!=null&&(c=$z(u,l,i,s))),super(e,{x:{value:a,scale:"x",optional:!0},y:{value:c,scale:"y",optional:!0},x1:{value:f==null?null:[f],scale:"x",optional:!0,filter:null},y1:{value:u==null?null:[u],scale:"y",optional:!0,filter:null},x2:{value:p==null?null:[p],scale:"x",optional:!0,filter:null},y2:{value:l==null?null:[l],scale:"y",optional:!0,filter:null},...n},r,o),this.width=i,this.height=s,this.pixelSize=iu(h,"pixelSize"),this.blur=iu(d,"blur"),this.interpolate=a==null||c==null?null:Tz(m)}},Rh=class extends kh{constructor(e,n={}){let{imageRendering:r}=n;if(e==null){let{fill:o,fillOpacity:i}=n;qt(i)[0]!==void 0&&(n=v1("fillOpacity",n)),ne(o)[0]!==void 0&&(n=v1("fill",n))}super(e,void 0,n,Ez),this.imageRendering=Vt(r,"auto")}scale(e,{color:n,...r},o){return super.scale(e,r,o)}render(e,n,r,o,i){let s=n[r.channels.fill?.scale]??(C=>C),{x:a,y:c}=r,{document:f}=i,[u,p,l,h]=S9(r,o,i),d=l-u,m=h-p,{pixelSize:g,width:y=Math.round(Math.abs(d)/g),height:x=Math.round(Math.abs(m)/g)}=this,b=y*x,{fill:w,fillOpacity:_}=r,v=0;if(this.interpolate){let C=y/d,N=x/m,R=St(a,O=>(O-u)*C,Float64Array),$=St(c,O=>(O-p)*N,Float64Array);w&&(w=this.interpolate(e,y,x,R,$,w)),_&&(_=this.interpolate(e,y,x,R,$,_))}else this.data==null&&e&&(v=e.fi*b);let M=f.createElement("canvas");M.width=y,M.height=x;let E=M.getContext("2d"),T=E.createImageData(y,x),I=T.data,{r:A,g:k,b:L}=Te(this.fill)??{r:0,g:0,b:0},S=(this.fillOpacity??1)*255;for(let C=0;C<b;++C){let N=C<<2;if(w){let R=s(w[C+v]);if(R==null){I[N+3]=0;continue}({r:A,g:k,b:L}=Te(R))}_&&(S=_[C+v]*255),I[N+0]=A,I[N+1]=k,I[N+2]=L,I[N+3]=S}return this.blur>0&&g2(T,this.blur),E.putImageData(T,0,0),rt("svg:g",i).call(gt,this,o,i).call(ht,this,n).call(C=>C.append("image").attr("transform",`translate(${u},${p}) scale(${Math.sign(l-u)},${Math.sign(h-p)})`).attr("width",Math.abs(d)).attr("height",Math.abs(m)).attr("preserveAspectRatio","none").call(ot,"image-rendering",this.imageRendering).call(lt,this).attr("xlink:href",M.toDataURL())).node()}};function H6(t,e,n){arguments.length<3&&(n=e,e=null);let{x:r,y:o,[t]:i,...s}=n;return r===void 0&&o===void 0&&ZA(e)&&(r=$a,o=ls,i===void 0&&(i=GA)),[e,{...s,x:r,y:o,[t]:i}]}function M9(){let[t,e]=H6("fill",...arguments);return new Rh(t,t==null||e.fill!==void 0||e.fillOpacity!==void 0?e:{...e,fill:X})}function S9({x1:t,y1:e,x2:n,y2:r},o,{projection:i}){let{width:s,height:a,marginTop:c,marginRight:f,marginBottom:u,marginLeft:p}=o;return[t&&i==null?t[0]:p,e&&i==null?e[0]:c,n&&i==null?n[0]:s-f,r&&i==null?r[0]:a-u]}function Q6({x1:t,y1:e,x2:n,y2:r},o,i,s){let a={};return t&&(a.x1=t),e&&(a.y1=e),n&&(a.x2=n),r&&(a.y2=r),S9(Of(a,o),i,s)}function v1(t,e={}){let{[t]:n}=e;if(typeof n!="function")throw new Error(`invalid ${t}: not a function`);return Gt({...e,[t]:void 0},function(r,o,i,s,a,c){let{x:f,y:u}=s;if(!f)throw new Error("missing scale: x");if(!u)throw new Error("missing scale: y");let[p,l,h,d]=Q6(i,s,a,c),m=h-p,g=d-l,{pixelSize:y}=this,{width:x=Math.round(Math.abs(m)/y),height:b=Math.round(Math.abs(g)/y)}=e,w=new Array(x*b*(o?o.length:1)),_=m/x,v=g/b,M=0;for(let E of o??[void 0])for(let T=.5;T<b;++T)for(let I=.5;I<x;++I,++M)w[M]=n(f.invert(p+I*_),u.invert(l+T*v),E);return{data:w,facets:o,channels:{[t]:{value:w,scale:"auto"}}}})}function Tz(t){if(typeof t=="function")return t;if(t==null)return _1;switch(`${t}`.toLowerCase()){case"none":return _1;case"nearest":return Oh;case"barycentric":return Lh();case"random-walk":return $h()}throw new Error(`invalid interpolate: ${t}`)}function _1(t,e,n,r,o,i){let s=new Array(e*n);for(let a of t)r[a]<0||r[a]>=e||o[a]<0||o[a]>=n||(s[Math.floor(o[a])*e+Math.floor(r[a])]=i[a]);return s}function Lh({random:t=_a(42)}={}){return(e,n,r,o,i,s)=>{let{points:a,triangles:c,hull:f}=pr.from(e,h=>o[h],h=>i[h]),u=new s.constructor(n*r).fill(NaN),p=new Uint8Array(n*r),l=Lz(s,t);for(let h=0;h<c.length;h+=3){let d=c[h],m=c[h+1],g=c[h+2],y=a[2*d],x=a[2*m],b=a[2*g],w=a[2*d+1],_=a[2*m+1],v=a[2*g+1],M=Math.min(y,x,b),E=Math.max(y,x,b),T=Math.min(w,_,v),I=Math.max(w,_,v),A=(_-v)*(y-b)+(w-v)*(b-x);if(!A)continue;let k=s[e[d]],L=s[e[m]],S=s[e[g]];for(let C=Math.floor(M);C<E;++C)for(let N=Math.floor(T);N<I;++N){if(C<0||C>=n||N<0||N>=r)continue;let R=C+.5,$=N+.5,O=Math.sign(A),D=(_-v)*(R-b)+($-v)*(b-x);if(D*O<0)continue;let F=(v-w)*(R-b)+($-v)*(y-b);if(F*O<0)continue;let P=A-(D+F);if(P*O<0)continue;let W=C+n*N;u[W]=l(k,D/A,L,F/A,S,P/A,C,N),p[W]=1}}return Iz(u,p,o,i,s,n,r,f,e,l),u}}function Iz(t,e,n,r,o,i,s,a,c,f){n=Float64Array.from(a,h=>n[c[h]]),r=Float64Array.from(a,h=>r[c[h]]),o=Array.from(a,h=>o[c[h]]);let u=n.length,p=Array.from({length:u},(h,d)=>Nz(d,n,r)),l=0;for(let h=0;h<s;++h){let d=h+.5;for(let m=0;m<i;++m){let g=m+i*h;if(!e[g]){let y=m+.5;for(let x=0;x<u;++x){let b=(u+l+(x%2?(x+1)/2:-x/2))%u;if(p[b](y,d)){let w=Cz(n.at(b-1),r.at(b-1),n[b],r[b],y,d);t[g]=f(o.at(b-1),w,o[b],1-w,o[b],0,m,h),l=b;break}}}}}}function Cz(t,e,n,r,o,i){let s=n-t,a=r-e,c=s*(n-o)+a*(r-i),f=s*(o-t)+a*(i-e);return c>0&&f>0?c/(c+f):+(c>f)}function Nh(t,e,n,r){return t*r-n*e}function Nz(t,e,n){let r=e.length,o=e.at(t-2),i=n.at(t-2),s=e.at(t-1),a=n.at(t-1),c=e[t],f=n[t],u=e.at(t+1-r),p=n.at(t+1-r),l=s-c,h=a-f,d=o-s,m=i-a,g=c-u,y=f-p,x=Math.hypot(l,h),b=Math.hypot(d,m),w=Math.hypot(g,y);return(_,v)=>{let M=_-s,E=v-a,T=_-c,I=v-f;return Nh(M,E,T,I)>-1e-6&&Nh(M,E,l,h)*b-Nh(M,E,d,m)*x>-1e-6&&Nh(T,I,g,y)*x-Nh(T,I,l,h)*w<=0}}function Oh(t,e,n,r,o,i){let s=new i.constructor(e*n),a=pr.from(t,u=>r[u],u=>o[u]),c,f;for(let u=.5,p=0;u<n;++u){f=c;for(let l=.5;l<e;++l,++p)f=a.find(l,u,f),l===.5&&(c=f),s[p]=i[t[f]]}return s}function $h({random:t=_a(42),minDistance:e=.5,maxSteps:n=2}={}){return(r,o,i,s,a,c)=>{let f=new c.constructor(o*i),u=pr.from(r,d=>s[d],d=>a[d]),p,l,h;for(let d=.5,m=0;d<i;++d){l=p;for(let g=.5;g<o;++g,++m){let y=g,x=d;h=l=u.find(y,x,l),g===.5&&(p=l);let b,w=0;for(;(b=Math.hypot(s[r[h]]-y,a[r[h]]-x))>e&&w<n;){let _=t(g,d,w)*2*Math.PI;y+=Math.cos(_)*b,x+=Math.sin(_)*b,h=u.find(y,x,h),++w}f[m]=c[r[h]]}}return f}}function kz(t,e,n,r,o,i){return e*t+r*n+i*o}function Rz(t){return(e,n,r,o,i,s,a,c)=>{let f=t(a,c);return f<n?e:f<n+o?r:i}}function Lz(t,e){return wi(t)||re(t)?kz:Rz(e)}function Oz(t,e,n){return{transform(r){let o=r.length,i=new Float64Array(o),s=(e-t)/n,a=t+s/2;for(let c=0;c<o;++c)i[c]=c%n*s+a;return i}}}function $z(t,e,n,r){return{transform(o){let i=o.length,s=new Float64Array(i),a=(e-t)/r,c=t+a/2;for(let f=0;f<i;++f)s[f]=Math.floor(f/n)%r*a+c;return s}}}var A9={ariaLabel:"contour",fill:"none",stroke:"currentColor",strokeMiterlimit:1,pixelSize:2},Dh=class extends kh{constructor(e,{smooth:n=!0,value:r,...o}={}){let i=Dx({},o,A9);if(r===void 0){for(let a in i)if(i[a].value!=null){if(r!==void 0)throw new Error("ambiguous contour value");r=o[a],o[a]="value"}}if(r!=null){let a={transform:c=>c.map(f=>f.value),label:Je(r)};for(let c in i)o[c]==="value"&&(o[c]=a)}if(e==null){if(r==null)throw new Error("missing contour value");o=v1("value",{value:r,...o}),r=null}else{let{interpolate:a}=o;r===void 0&&(r=X),a===void 0&&(o.interpolate="nearest")}super(e,{value:{value:r,optional:!0}},Dz(o),A9);let s={geometry:{value:X}};for(let a in this.channels){let c=this.channels[a],{scale:f}=c;f==="x"||f==="y"||a==="value"||(s[a]=c,delete this.channels[a])}this.contourChannels=s,this.smooth=!!n}filter(e,{x:n,y:r,value:o,...i},s){return super.filter(e,i,s)}render(e,n,r,o,i){let{geometry:s}=r,a=De();return rt("svg:g",i).call(gt,this,o,i).call(ht,this,n).call(c=>{c.selectAll().data(e).enter().append("path").call(lt,this).attr("d",f=>a(s[f])).call(_t,this,r)}).node()}};function Dz({thresholds:t,interval:e,...n}){return t=Y6(t,e,Xi),Gt(n,function(r,o,i,s,a,c){let[f,u,p,l]=Q6(i,s,a,c),h=p-f,d=l-u,{pixelSize:m,width:g=Math.round(Math.abs(h)/m),height:y=Math.round(Math.abs(d)/m)}=this,x=g/h,b=y/d,w=i.value.value,_=[];if(this.interpolate){let{x:I,y:A}=Eo(i,s,c),k=St(I,N=>(N-f)*x,Float64Array),L=St(A,N=>(N-u)*b,Float64Array),S=[i.x,i.y,i.value],C=[k,L,w];for(let N of o){let R=this.filter(N,S,C);_.push(this.interpolate(R,g,y,k,L,w))}}else if(o){let I=g*y,A=o.length;for(let k=0;k<A;++k)_.push(w.slice(k*I,k*I+I))}else _.push(w);if(this.blur>0)for(let I of _)ll({data:I,width:g,height:y},this.blur);let v=Fz(t,w,...Pz(_));if(v===null)throw new Error(`unsupported thresholds: ${t}`);let{contour:M}=Ki().size([g,y]).smooth(this.smooth),E=[],T=[];for(let I of _)T.push(pe(E.length,E.push(...St(v,A=>M(I,A)))));for(let{coordinates:I}of E)for(let A of I)for(let k of A)for(let L of k)L[0]=L[0]/x+f,L[1]=L[1]/b+u;return{data:E,facets:T,channels:Mx(this.contourChannels,E)}})}function Fz(t,e,n,r){if(typeof t?.range=="function")return t.range(t.floor(n),r);if(typeof t=="function"&&(t=t(e,n,r)),typeof t!="number")return Zn(t);let o=He(...Lc(n,r,t),t);for(;o[o.length-1]>=r;)o.pop();for(;o[1]<n;)o.shift();return o}function T9(){return new Dh(...H6("value",...arguments))}function Pz(t){return[At(t,e=>At(e,E9)),Mt(t,e=>Mt(e,E9))]}function E9(t){return isFinite(t)?t:NaN}function N9(t,e){return Z6(Ms,t,e)}function k9(t,e={}){return Z6(Ss,t,e)}function R9(t,e={}){return Z6(Ti,t,e)}function Z6(t,e,n={}){let{x:r,y:o,maxRadius:i}=n,s=t({px:r,py:o,maxRadius:i}),a=[];r!=null&&a.push(er(e,I9("x",{...s,inset:-6},n))),o!=null&&a.push(nr(e,I9("y",{...s,inset:-6},n))),r!=null&&a.push(Io(e,C9("x",{...s,dy:9,frameAnchor:"bottom",lineAnchor:"top"},n))),o!=null&&a.push(Io(e,C9("y",{...s,dx:-9,frameAnchor:"left",textAnchor:"end"},n)));for(let c of a)c.ariaLabel=`crosshair ${c.ariaLabel}`;return Se(...a)}function L9(t,{channels:e,...n},{facet:r,facetAnchor:o,fx:i,fy:s,[t]:a,channels:c,transform:f,initializer:u}){return{...n,facet:r,facetAnchor:o,fx:i,fy:s,[t]:a,channels:{...e,...c},transform:f,initializer:qz(t,u)}}function qz(t,e){return e==null?e:function(n,r,{x:o,y:i,px:s,py:a,...c},...f){let{channels:{x:u,y:p,...l}={},...h}=e.call(this,n,r,{...c,x:s,y:a},...f);return{channels:{...l,...u&&{px:u,...t==="x"&&{x:u}},...p&&{py:p,...t==="y"&&{y:p}}},...h}}}function I9(t,e,n){let{color:r="currentColor",opacity:o=.2,ruleStroke:i=r,ruleStrokeOpacity:s=o,ruleStrokeWidth:a}=n;return{...L9(t,e,n),stroke:i,strokeOpacity:s,strokeWidth:a}}function C9(t,e,n){let{color:r="currentColor",textFill:o=r,textFillOpacity:i,textStroke:s="var(--plot-background)",textStrokeOpacity:a,textStrokeWidth:c=5}=n;return{...L9(t,e,Bz(t,n)),fill:o,fillOpacity:i,stroke:s,strokeOpacity:a,strokeWidth:c}}function Bz(t,e){return Gt(e,(n,r,o)=>({channels:{text:{value:rh(o,t)?.value}}}))}var zz={ariaLabel:"delaunay link",fill:"none",stroke:"currentColor",strokeMiterlimit:1},Yz={ariaLabel:"delaunay mesh",fill:null,stroke:"currentColor",strokeOpacity:.2},Uz={ariaLabel:"hull",fill:"none",stroke:"currentColor",strokeWidth:1.5,strokeMiterlimit:1},jz={ariaLabel:"voronoi",fill:"none",stroke:"currentColor",strokeMiterlimit:1},Xz={ariaLabel:"voronoi mesh",fill:null,stroke:"currentColor",strokeOpacity:.2},K6=class extends ft{constructor(e,n={}){let{x:r,y:o,z:i,curve:s,tension:a}=n;super(e,{x:{value:r,scale:"x",optional:!0},y:{value:o,scale:"y",optional:!0},z:{value:i,optional:!0}},n,zz),this.curve=vh(s,a),Pr(this,n)}render(e,n,r,o,i){let{x:s,y:a}=n,{x:c,y:f,z:u}=r,{curve:p}=this,[l,h]=Ue(this,o),d=c?x=>c[x]:oe(l),m=f?x=>f[x]:oe(h),g=this;function y(x){let b=-1,w=[],_={};for(let S in r)_[S]=[];let v=[],M=[],E=[],T=[];function I(S,C){S=x[S],C=x[C],w.push(++b),v[b]=d(S),E[b]=m(S),M[b]=d(C),T[b]=m(C);for(let N in r)_[N].push(r[N][C])}let{halfedges:A,hull:k,triangles:L}=pr.from(x,d,m);for(let S=0;S<A.length;++S){let C=A[S];C>S&&I(L[S],L[C])}for(let S=0;S<k.length;++S)I(k[S],k[(S+1)%k.length]);Et(this).selectAll().data(w).enter().append("path").call(lt,g).attr("d",S=>{let C=En(),N=p(C);return N.lineStart(),N.point(v[S],E[S]),N.point(M[S],T[S]),N.lineEnd(),C}).call(_t,g,_).call(Ii,g,_,i)}return rt("svg:g",i).call(gt,this,o,i).call(ht,this,{x:c&&s,y:f&&a}).call(u?x=>x.selectAll().data(Ve(e,b=>u[b]).values()).enter().append("g").each(y):x=>x.datum(e).each(y)).node()}},Fh=class extends ft{constructor(e,n={},r,o=({z:i})=>i){let{x:i,y:s}=n;super(e,{x:{value:i,scale:"x",optional:!0},y:{value:s,scale:"y",optional:!0},z:{value:o(n),optional:!0}},n,r)}render(e,n,r,o,i){let{x:s,y:a}=n,{x:c,y:f,z:u}=r,[p,l]=Ue(this,o),h=c?y=>c[y]:oe(p),d=f?y=>f[y]:oe(l),m=this;function g(y){let x=pr.from(y,h,d);Et(this).append("path").datum(y[0]).call(lt,m).attr("d",m._render(x,o)).call(_t,m,r)}return rt("svg:g",i).call(gt,this,o,i).call(ht,this,{x:c&&s,y:f&&a}).call(u?y=>y.selectAll().data(Ve(e,x=>u[x]).values()).enter().append("g").each(g):y=>y.datum(e).each(g)).node()}},J6=class extends Fh{constructor(e,n={}){super(e,n,Yz),this.fill="none"}_render(e){return e.render()}},t3=class extends Fh{constructor(e,n={}){super(e,n,Uz,hn)}_render(e){return e.renderHull()}},e3=class extends ft{constructor(e,n={}){let{x:r,y:o,z:i}=n;super(e,{x:{value:r,scale:"x",optional:!0},y:{value:o,scale:"y",optional:!0},z:{value:i,optional:!0}},Gt(n,function(s,a,c,f,u,p){let{x:l,y:h,z:d}=c;({x:l,y:h}=Eo(c,f,p)),d=d?.value;let m=new Array((l??h).length).fill(null),[g,y]=Ue(this,u),x=l?w=>l[w]:oe(g),b=h?w=>h[w]:oe(y);for(let w of a){l&&(w=w.filter(_=>Jt(x(_)))),h&&(w=w.filter(_=>Jt(b(_))));for(let[,_]of Mo(w,d)){let v=pr.from(_,x,b),M=O9(v,u);for(let E=0,T=_.length;E<T;++E)m[_[E]]=M.renderCell(E)}}return{data:s,facets:a,channels:{cells:{value:m}}}}),jz)}render(e,n,r,o,i){let{x:s,y:a}=n,{x:c,y:f,cells:u}=r;return rt("svg:g",i).call(gt,this,o,i).call(ht,this,{x:c&&s,y:f&&a}).call(p=>{p.selectAll().data(e).enter().append("path").call(lt,this).attr("d",l=>u[l]).call(_t,this,r)}).node()}},n3=class extends Fh{constructor(e,n){super(e,n,Xz),this.fill="none"}_render(e,n){return O9(e,n).render()}};function O9(t,e){let{width:n,height:r,marginTop:o,marginRight:i,marginBottom:s,marginLeft:a}=e;return t.voronoi([a,o,n-i,r-s])}function Ph(t,e,{x:n,y:r,...o}={}){return[n,r]=fe(n,r),new t(e,{...o,x:n,y:r})}function $9(t,e){return Ph(K6,t,e)}function D9(t,e){return Ph(J6,t,e)}function F9(t,e){return Ph(t3,t,e)}function P9(t,{x:e,y:n,initializer:r,...o}={}){return Ph(e3,t,{...Me({...o,x:e,y:n},n1),initializer:r})}function q9(t,e){return Ph(n3,t,e)}var Wz={ariaLabel:"density",fill:"none",stroke:"currentColor",strokeMiterlimit:1},qh=class extends ft{constructor(e,{x:n,y:r,z:o,weight:i,fill:s,stroke:a,...c}={}){let f=B9(s)&&(s="currentColor",!0),u=B9(a)&&(a="currentColor",!0);super(e,{x:{value:n,scale:"x",optional:!0},y:{value:r,scale:"y",optional:!0},z:{value:hn({z:o,fill:s,stroke:a}),optional:!0},weight:{value:i,optional:!0}},Vz({...c,fill:s,stroke:a},f,u),Wz),f&&(this.fill=void 0),u&&(this.stroke=void 0),this.z=o}filter(e){return e}render(e,n,r,o,i){let{contours:s}=r,a=De();return rt("svg:g",i).call(gt,this,o,i).call(ht,this,{}).call(c=>c.selectAll().data(e).enter().append("path").call(lt,this).call(_t,this,r).attr("d",f=>a(s[f]))).node()}};function z9(t,{x:e,y:n,...r}={}){return[e,n]=fe(e,n),new qh(t,{...r,x:e,y:n})}var Gz=new Set(["x","y","z","weight"]);function Vz(t,e,n){let{bandwidth:o,thresholds:i}=t;return o=o===void 0?20:+o,i=i===void 0?20:typeof i?.[Symbol.iterator]=="function"?_e(i):+i,Gt(t,function(s,a,c,f,u,p){let l=c.weight?_e(c.weight.value):null,h=c.z?.value,{z:d}=this,[m,g]=Ue(this,u),{width:y,height:x}=u,{x:b,y:w}=Eo(c,f,p),_=Object.fromEntries(Object.entries(c).filter(([L])=>!Gz.has(L)).map(([L,S])=>[L,{...S,value:[]}])),v=e&&[],M=n&&[],E=ow().x(b?L=>b[L]:m).y(w?L=>w[L]:g).weight(l?L=>l[L]:1).size([y,x]).bandwidth(o),T=[];for(let L of a){let S=[];T.push(S);for(let C of h?ch(L,h,d):[L]){let N=E.contours(C);S.push([C,N])}}let I=i;if(!(I instanceof Hp)){let L=0;for(let S of T)for(let[,C]of S){let N=C.max;N>L&&(L=N)}I=Float64Array.from({length:i-1},(S,C)=>L*100*(C+1)/i)}let A=[],k=[];for(let L of T){let S=[];A.push(S);for(let[C,N]of L)for(let R of I){S.push(k.length),k.push(N(R/100)),v&&v.push(R),M&&M.push(R);for(let $ in _)_[$].value.push(c[$].value[C[0]])}}return v&&v.push(0),M&&M.push(0),{data:s,facets:A,channels:{..._,...v&&{fill:{value:v,scale:"color"}},...M&&{stroke:{value:M,scale:"color"}},contours:{value:k}}}})}function B9(t){return/^density$/i.test(t)}function j9(t,e){return W9("x",t,e)}function X9(t,e){return W9("y",t,e)}function W9(t,e,{x1:n,x2:r,y1:o,y2:i,x:s=n===void 0&&r===void 0?t==="y"?Xt:X:void 0,y:a=o===void 0&&i===void 0?t==="x"?Xt:X:void 0,fill:c,positiveFill:f="#3ca951",negativeFill:u="#4269d0",fillOpacity:p=1,positiveFillOpacity:l=p,negativeFillOpacity:h=p,stroke:d,strokeOpacity:m,z:g=ne(d)[0],clip:y,tip:x,render:b,...w}={}){return[n,r]=Y9(s,n,r),[o,i]=Y9(a,o,i),n===r&&o===i&&(t==="y"?o=Ri(0):n=Ri(0)),{tip:x}=Fr({tip:x},t==="y"?"x":"y"),Se(Ft(f)?null:Object.assign(_h(e,{x1:n,x2:r,y1:o,y2:i,z:g,fill:f,fillOpacity:l,render:Ei(b,U9(t,!0)),clip:y,...w}),{ariaLabel:"positive difference"}),Ft(u)?null:Object.assign(_h(e,{x1:n,x2:r,y1:o,y2:i,z:g,fill:u,fillOpacity:h,render:Ei(b,U9(t,!1)),clip:y,...w}),{ariaLabel:"negative difference"}),tc(e,{x:r,y:i,z:g,stroke:d,strokeOpacity:m,tip:x,clip:!0,...w}))}function Y9(t,e,n){return e===void 0&&n===void 0?e=n=Ri(t):e===void 0?(n=Ri(n),e=t===void 0?n:Ri(t)):n===void 0?(e=Ri(e),n=t===void 0?e:Ri(t)):(e=Ri(e),n=Ri(n)),[e,n]}function Ri(t){let e,{value:n,label:r=Je(n)}=wr(t);return{transform:o=>e||(e=ct(o,n)),label:r}}function U9(t,e){let n=t==="x"?"y":"x",r=`${n}1`,o=`${n}2`,i=`${t}1`,s=`${t}2`;return(a,c,f,u,p,l)=>{let{[r]:h,[o]:d}=f,m=new Float32Array(h.length),g=new Float32Array(d.length),y=u[t==="y"?"height":"width"];(e===Tx(c[t])<0?m:g).fill(y);let x=l(a,c,{...f,[o]:h,[s]:g},u,p),b=l(a,c,{...f,[r]:d,[i]:m},u,p),w=x.querySelector("g")??x,_=b.querySelector("g")??b;for(let v=0;w.firstChild;v+=2){let M=y6(),E=rt("svg:clipPath",p).attr("id",M).node();E.appendChild(w.firstChild),_.childNodes[v].setAttribute("clip-path",`url(#${M})`),_.insertBefore(E,_.childNodes[v])}return b}}function M1({geometry:t=X,...e}={}){let n=vs(r=>ct(r,t));return Gt({...e,x:null,y:null,geometry:{transform:n}},(r,o,i,s,a,{projection:c})=>{let f=n(r),u=f.length,p=new Float64Array(u),l=new Float64Array(u),h=De(c);for(let d=0;d<u;++d)[p[d],l[d]]=h.centroid(f[d]);return{data:r,facets:o,channels:{x:{value:p,scale:c==null?"x":null,source:null},y:{value:l,scale:c==null?"y":null,source:null}}}})}function G9({geometry:t=X,...e}={}){let n=vs(o=>ct(o,t)),r=vs(o=>ct(n(o),ww));return{...e,x:{transform:o=>Float64Array.from(r(o),([i])=>i)},y:{transform:o=>Float64Array.from(r(o),([,i])=>i)},geometry:{transform:n}}}var Hz={ariaLabel:"geo",fill:"none",stroke:"currentColor",strokeWidth:1,strokeLinecap:"round",strokeLinejoin:"round",strokeMiterlimit:1},Bh=class extends ft{constructor(e,n={}){let[r,o]=qt(n.r,3);super(e,{x:{value:n.tip?n.x:null,scale:"x",optional:!0},y:{value:n.tip?n.y:null,scale:"y",optional:!0},r:{value:r,scale:"r",filter:kn,optional:!0},geometry:{value:n.geometry,scale:"projection"}},Eh(n),Hz),this.r=o}render(e,n,r,o,i){let{geometry:s,r:a}=r,c=De(i.projection??Qz(n)),{r:f}=this;return ss(f)?e=[]:f!==void 0&&c.pointRadius(f),rt("svg:g",i).call(gt,this,o,i).call(ht,this,n).call(u=>{u.selectAll().data(e).enter().append("path").call(lt,this).attr("d",a?p=>c.pointRadius(a[p])(s[p]):p=>c(s[p])).call(_t,this,r)}).node()}};function Qz({x:t,y:e}){if(t||e)return t??=n=>n,e??=n=>n,wa({point(n,r){this.stream.point(t(n),e(r))}})}function S1(t,e={}){return e.tip&&e.x===void 0&&e.y===void 0?e=M1(e):e.geometry===void 0&&(e={...e,geometry:X}),new Bh(t,e)}function V9({strokeWidth:t=1.5,...e}={}){return S1({type:"Sphere"},{strokeWidth:t,...e})}function H9({strokeOpacity:t=.1,...e}={}){return S1(Ew(),{strokeOpacity:t,...e})}var su=.5,au=0;function Q9(t={fill:"count"},{binWidth:e,...n}={}){let{z:r}=n;return e=e===void 0?20:Rt(e),t=j_(t,n),So(t,"fill")&&(n.channels={...n.channels,fill:{value:[]}}),n.symbol===void 0&&(n.symbol="hexagon"),n.r===void 0&&!So(t,"r")&&(n.r=e/2),Gt(n,(o,i,s,a,c,f)=>{let{x:u,y:p,z:l,fill:h,stroke:d,symbol:m}=s;if(u===void 0)throw new Error("missing channel: x");if(p===void 0)throw new Error("missing channel: y");({x:u,y:p}=Eo(s,a,f)),l=l?l.value:ct(o,r),h=h?.value,d=d?.value,m=m?.value;let g=nh(t,{z:l,fill:h,stroke:d,symbol:m}),y=l&&[],x=h&&[],b=d&&[],w=m&&[],_=[],v=[],M=[],E=-1;for(let k of t)k.initialize(o);for(let k of i){let L=[];for(let S of t)S.scope("facet",k);for(let[S,C]of Mo(k,g))for(let{index:N,extent:R}of Zz(o,C,u,p,e)){L.push(++E),v.push(R.x),M.push(R.y),l&&y.push(g===l?S:l[N[0]]),h&&x.push(g===h?S:h[N[0]]),d&&b.push(g===d?S:d[N[0]]),m&&w.push(g===m?S:m[N[0]]);for(let $ of t)$.reduce(N,R)}_.push(L)}let T=s.x.scale,I=s.y.scale,A={x:{value:v,source:a[T]?{value:St(v,a[T].invert),scale:T}:null},y:{value:M,source:a[I]?{value:St(M,a[I].invert),scale:I}:null},...l&&{z:{value:y}},...h&&{fill:{value:x,scale:"auto"}},...d&&{stroke:{value:b,scale:"auto"}},...m&&{symbol:{value:w,scale:"auto"}},...Object.fromEntries(t.map(({name:k,output:L})=>[k,{scale:"auto",label:L.label,radius:k==="r"?e/2:void 0,value:L.transform()}]))};return{data:o,facets:_,channels:A}})}function Zz(t,e,n,r,o){let i=o*(1.5/O_),s=new Map;for(let a of e){let c=n[a],f=r[a];if(isNaN(c)||isNaN(f))continue;let u=Math.round(f=(f-au)/i),p=Math.round(c=(c-su)/o-(u&1)/2),l=f-u;if(Math.abs(l)*3>1){let m=c-p,g=p+(c<p?-1:1)/2,y=u+(f<u?-1:1),x=c-g,b=f-y;m*m+l*l>x*x+b*b&&(p=g+(u&1?1:-1)/2,u=y)}let h=`${p},${u}`,d=s.get(h);d===void 0&&(d={index:[],extent:{data:t,x:(p+(u&1)/2)*o+su,y:u*i+au}},s.set(h,d)),d.index.push(a)}return s.values()}var Kz={ariaLabel:"hexgrid",fill:"none",stroke:"currentColor",strokeOpacity:.1};function Z9(t){return new zh(t)}var zh=class extends ft{constructor({binWidth:e=20,clip:n=!0,...r}={}){super(us,void 0,{clip:n,...r},Kz),this.binWidth=Rt(e)}render(e,n,r,o,i){let{binWidth:s}=this,{marginTop:a,marginRight:c,marginBottom:f,marginLeft:u,width:p,height:l}=o,h=u-su,d=p-c-su,m=a-au,g=l-f-au,y=s/2,x=y*$_,b=x/2,w=y*2,_=x*1.5,v=Math.floor(h/w),M=Math.ceil(d/w),E=Math.floor((m+b)/_),T=Math.ceil((g-b)/_)+1,I=`m0,${Ds(-x)}l${Ds(y)},${Ds(b)}v${Ds(x)}l${Ds(-y)},${Ds(b)}`,A=I;for(let k=E;k<T;++k)for(let L=v;L<M;++L)A+=`M${Ds(L*w+(k&1)*y)},${Ds(k*_)}${I}`;return rt("svg:g",i).datum(0).call(gt,this,o,i).call(ht,this,{},ie+su,ie+au).call(k=>k.append("path").call(lt,this).call(_t,this,r).attr("d",A)).node()}};function Ds(t){return Math.round(t*1e3)/1e3}var Jz={ariaLabel:"image",fill:null,stroke:null};function tY(t){return/^\.*\//.test(t)}function eY(t){return/^(blob|data|file|http|https):/i.test(t)}function nY(t){return typeof t=="string"&&(tY(t)||eY(t))?[void 0,t]:[t,void 0]}var Yh=class extends ft{constructor(e,n={}){let{x:r,y:o,r:i,width:s,height:a,rotate:c,src:f,preserveAspectRatio:u,crossOrigin:p,frameAnchor:l,imageRendering:h}=n;i==null&&(i=void 0),i===void 0&&s===void 0&&a===void 0?s=a=16:s===void 0&&a!==void 0?s=a:a===void 0&&s!==void 0&&(a=s);let[d,m]=nY(f),[g,y]=qt(i),[x,b]=qt(s,y!==void 0?y*2:void 0),[w,_]=qt(a,y!==void 0?y*2:void 0),[v,M]=qt(c,0);super(e,{x:{value:r,scale:"x",optional:!0},y:{value:o,scale:"y",optional:!0},r:{value:g,scale:"r",filter:kn,optional:!0},width:{value:x,filter:kn,optional:!0},height:{value:w,filter:kn,optional:!0},rotate:{value:v,optional:!0},src:{value:d,optional:!0}},Eh(n),Jz),this.src=m,this.width=b,this.rotate=M,this.height=_,this.r=y,this.preserveAspectRatio=Vt(u,"xMidYMid"),this.crossOrigin=he(p),this.frameAnchor=_o(l),this.imageRendering=Vt(h,"auto")}render(e,n,r,o,i){let{x:s,y:a}=n,{x:c,y:f,width:u,height:p,r:l,rotate:h,src:d}=r,{r:m,width:g,height:y,rotate:x}=this,[b,w]=Ue(this,o);return rt("svg:g",i).call(gt,this,o,i).call(ht,this,{x:c&&s,y:f&&a}).call(_=>_.selectAll().data(e).enter().append("image").call(lt,this).attr("x",K9(c,u,l,b,g,m)).attr("y",K9(f,p,l,w,y,m)).attr("width",u?v=>u[v]:g!==void 0?g:l?v=>l[v]*2:m*2).attr("height",p?v=>p[v]:y!==void 0?y:l?v=>l[v]*2:m*2).attr("transform",h?v=>`rotate(${h[v]})`:x?`rotate(${x})`:null).attr("transform-origin",h||x?qr`${c?v=>c[v]:b}px ${f?v=>f[v]:w}px`:null).call(ot,"href",d?v=>d[v]:this.src).call(ot,"preserveAspectRatio",this.preserveAspectRatio).call(ot,"crossorigin",this.crossOrigin).call(ot,"image-rendering",this.imageRendering).call(ot,"clip-path",l?v=>`circle(${l[v]}px)`:m!==void 0?`circle(${m}px)`:null).call(_t,this,r)).node()}};function K9(t,e,n,r,o,i){return e&&t?s=>t[s]-e[s]/2:e?s=>r-e[s]/2:t&&o!==void 0?s=>t[s]-o/2:o!==void 0?r-o/2:n&&t?s=>t[s]-n[s]:n?s=>r-n[s]:t?s=>t[s]-i:r-i}function J9(t,{x:e,y:n,...r}={}){return r.frameAnchor===void 0&&([e,n]=fe(e,n)),new Yh(t,{...r,x:e,y:n})}function rY(t,e,n){var r=1e-8,o=e-1,i=n-1,s=0,a,c,f,u,p,l,h,d,m,g,y;if(t<=0)return 0;if(t>=1)return 1;for(e>=1&&n>=1?(f=t<.5?t:1-t,u=Math.sqrt(-2*Math.log(f)),h=(2.30753+u*.27061)/(1+u*(.99229+u*.04481))-u,t<.5&&(h=-h),d=(h*h-3)/6,m=2/(1/(2*e-1)+1/(2*n-1)),g=h*Math.sqrt(d+m)/m-(1/(2*n-1)-1/(2*e-1))*(d+5/6-2/(3*m)),h=e/(e+n*Math.exp(2*g))):(a=Math.log(e/(e+n)),c=Math.log(n/(e+n)),u=Math.exp(e*a)/e,p=Math.exp(n*c)/n,g=u+p,t<u/g?h=Math.pow(e*g*t,1/e):h=1-Math.pow(n*g*(1-t),1/n)),y=-cu(e)-cu(n)+cu(e+n);s<10;s++){if(h===0||h===1)return h;if(l=oY(h,e,n)-t,u=Math.exp(o*Math.log(h)+i*Math.log(1-h)+y),p=l/u,h-=u=p/(1-.5*Math.min(1,p*(o/h-i/(1-h)))),h<=0&&(h=.5*(h+u)),h>=1&&(h=.5*(h+u+1)),Math.abs(u)<r*h&&s>0)break}return h}function oY(t,e,n){var r=t===0||t===1?0:Math.exp(cu(e+n)-cu(e)-cu(n)+e*Math.log(t)+n*Math.log(1-t));return t<0||t>1?!1:t<(e+1)/(e+n+2)?r*tI(t,e,n)/e:1-r*tI(1-t,n,e)/n}function tI(t,e,n){var r=1e-30,o=1,i=e+n,s=e+1,a=e-1,c=1,f=1-i*t/s,u,p,l,h;for(Math.abs(f)<r&&(f=r),f=1/f,h=f;o<=100&&(u=2*o,p=o*(n-o)*t/((a+u)*(e+u)),f=1+p*f,Math.abs(f)<r&&(f=r),c=1+p/c,Math.abs(c)<r&&(c=r),f=1/f,h*=f*c,p=-(e+o)*(i+o)*t/((e+u)*(s+u)),f=1+p*f,Math.abs(f)<r&&(f=r),c=1+p/c,Math.abs(c)<r&&(c=r),f=1/f,l=f*c,h*=l,!(Math.abs(l-1)<3e-7));o++);return h}function cu(t){var e=0,n=[76.18009172947146,-86.5053203294167,24.01409824083091,-1.231739572450155,.001208650973866179,-5395239384953e-18],r=1.000000000190015,o,i,s;for(s=(i=o=t)+5.5,s-=(o+.5)*Math.log(s);e<6;e++)r+=n[e]/++i;return Math.log(2.506628274631*r/o)-s}function eI(t,e){var n=rY(2*Math.min(t,1-t),.5*e,.5);return n=Math.sqrt(e*(1-n)/n),t>.5?n:-n}var iY={ariaLabel:"linear-regression",fill:"currentColor",fillOpacity:.1,stroke:"currentColor",strokeWidth:1.5,strokeLinecap:"round",strokeLinejoin:"round",strokeMiterlimit:1},A1=class extends ft{constructor(e,n={}){let{x:r,y:o,z:i,ci:s=.95,precision:a=4}=n;if(super(e,{x:{value:r,scale:"x"},y:{value:o,scale:"y"},z:{value:hn(n),optional:!0}},n,iY),this.z=i,this.ci=+s,this.precision=+a,!(0<=this.ci&&this.ci<1))throw new Error(`invalid ci; not in [0, 1): ${s}`);if(!(this.precision>0))throw new Error(`invalid precision: ${a}`)}render(e,n,r,o,i){let{x:s,y:a,z:c}=r,{ci:f}=this;return rt("svg:g",i).call(gt,this,o,i).call(ht,this,n).call(u=>u.selectAll().data(c?ch(e,c,this.z):[e]).enter().call(p=>p.append("path").attr("fill","none").call(lt,this).call(Ba,this,{...r,fill:null,fillOpacity:null}).attr("d",l=>this._renderLine(l,s,a)).call(f&&!vi(this.fill)?l=>l.select(sY).attr("stroke","none").call(lt,this).call(Ba,this,{...r,stroke:null,strokeOpacity:null,strokeWidth:null}).attr("d",h=>this._renderBand(h,s,a)):()=>{}))).node()}};function sY(){return this.parentNode.insertBefore(this.ownerDocument.createElementNS(Mn.svg,"path"),this)}var r3=class extends A1{constructor(e,n){super(e,n)}_renderBand(e,n,r){let{ci:o,precision:i}=this,[s,a]=Ot(e,u=>r[u]),c=E1(e,r,n),f=oI(e,r,n,(1-o)/2,c);return yf().y(u=>u).x0(u=>f(u,-1)).x1(u=>f(u,1))(pe(s,a-i/2,i).concat(a))}_renderLine(e,n,r){let[o,i]=Ot(e,a=>r[a]),s=E1(e,r,n);return`M${s(o)},${o}L${s(i)},${i}`}},o3=class extends A1{constructor(e,n){super(e,n)}_renderBand(e,n,r){let{ci:o,precision:i}=this,[s,a]=Ot(e,u=>n[u]),c=E1(e,n,r),f=oI(e,n,r,(1-o)/2,c);return yf().x(u=>u).y0(u=>f(u,-1)).y1(u=>f(u,1))(pe(s,a-i/2,i).concat(a))}_renderLine(e,n,r){let[o,i]=Ot(e,a=>n[a]),s=E1(e,n,r);return`M${o},${s(o)}L${i},${s(i)}`}};function nI(t,{y:e=Xt,x:n=X,stroke:r,fill:o=Ft(r)?"currentColor":r,...i}={}){return new r3(t,Jf({...i,x:n,y:e,fill:o,stroke:r}))}function rI(t,{x:e=Xt,y:n=X,stroke:r,fill:o=Ft(r)?"currentColor":r,...i}={}){return new o3(t,Kf({...i,x:e,y:n,fill:o,stroke:r}))}function E1(t,e,n){let r=0,o=0,i=0,s=0;for(let u of t){let p=e[u],l=n[u];r+=p,o+=l,i+=p*l,s+=p*p}let a=t.length,c=(a*i-r*o)/(a*s-r*r),f=(o-c*r)/a;return u=>c*u+f}function oI(t,e,n,r,o){let i=Ee(t,u=>e[u])/t.length,s=0,a=0;for(let u of t)s+=(e[u]-i)**2,a+=(n[u]-o(e[u]))**2;let c=Math.sqrt(a/(t.length-2)),f=eI(r,t.length-2);return(u,p)=>{let l=o(u),h=c*Math.sqrt(1/t.length+(u-i)**2/s);return l+p*f*h}}function Uh({path:t=X,delimiter:e,frameAnchor:n,treeLayout:r=va,treeSort:o,treeSeparation:i,treeAnchor:s,treeFilter:a,...c}={}){s=N1(s),o=aI(o),a!=null&&(a=s3(a)),n===void 0&&(n=s.frameAnchor);let f=cI(e),u=mI(c,s3),[p,l]=ze(),[h,d]=ze();return{x:p,y:h,frameAnchor:n,...Me(c,(m,g)=>{let y=f(ct(m,t)),x=l([]),b=d([]),w=-1,_=[],v=[],M=_g().path(I=>y[I]),E=qn(m)?I=>I.data=m[I.data]:I=>I.data=m.get(I.data),T=r();T.nodeSize&&T.nodeSize([1,1]),T.separation&&i!==void 0&&T.separation(i??Qp);for(let I of u)I[I1]=I[hI]([]);for(let I of g){let A=[],k=M(I.filter(L=>y[L]!=null)).each(E);o!=null&&k.sort(o),T(k);for(let L of k.descendants())if(!(a!=null&&!a(L))){A.push(++w),_[w]=L.data,s.position(L,w,x,b);for(let S of u)S[I1][w]=S[dI](L)}v.push(A)}return{data:_,facets:v}}),...Object.fromEntries(u)}}function C1({path:t=X,delimiter:e,curve:n="bump-x",stroke:r="#555",strokeWidth:o=1.5,strokeOpacity:i=.5,treeLayout:s=va,treeSort:a,treeSeparation:c,treeAnchor:f,treeFilter:u,...p}={}){f=N1(f),a=aI(a),u!=null&&(u=sI(u)),p={curve:n,stroke:r,strokeWidth:o,strokeOpacity:i,...p};let l=cI(e),h=mI(p,sI),[d,m]=ze(),[g,y]=ze(),[x,b]=ze(),[w,_]=ze();return{x1:d,x2:g,y1:x,y2:w,...Me(p,(v,M)=>{let E=l(ct(v,t)),T=m([]),I=y([]),A=b([]),k=_([]),L=-1,S=[],C=[],N=_g().path($=>E[$]),R=s();R.nodeSize&&R.nodeSize([1,1]),R.separation&&c!==void 0&&R.separation(c??Qp);for(let $ of h)$[I1]=$[hI]([]);for(let $ of M){let O=[],D=N($.filter(F=>E[F]!=null)).each(F=>F.data=v[F.data]);a!=null&&D.sort(a),R(D);for(let{source:F,target:P}of D.links())if(!(u!=null&&!u(P,F))){O.push(++L),S[L]=P.data,f.position(F,L,T,A),f.position(P,L,I,k);for(let W of h)W[I1][L]=W[dI](P,F)}C.push(O)}return{data:S,facets:C}}),...Object.fromEntries(h)}}function N1(t="left"){switch(`${t}`.trim().toLowerCase()){case"left":return aY;case"right":return cY}throw new Error(`invalid tree anchor: ${t}`)}var aY={frameAnchor:"left",dx:6,position({x:t,y:e},n,r,o){r[n]=e,o[n]=-t}},cY={frameAnchor:"right",dx:-6,position({x:t,y:e},n,r,o){r[n]=-e,o[n]=-t}};function aI(t){return t==null||typeof t=="function"?t:`${t}`.trim().toLowerCase().startsWith("node:")?iI(s3(t)):iI(fY(t))}function iI(t){return(e,n)=>qe(t(e),t(n))}function fY(t){return e=>e.data?.[t]}function cI(t="/"){if(t=`${t}`,t==="/")return n=>n;if(t.length!==1)throw new Error("delimiter must be exactly one character");let e=t.charCodeAt(0);return n=>n.map(r=>uY(r,e))}var i3=92,fI=47;function uY(t,e){if(e===i3)throw new Error("delimiter cannot be backslash");let n=!1;for(let r=0,o=t.length;r<o;++r){switch(t.charCodeAt(r)){case i3:if(!n){n=!0;continue}break;case e:n?(t=t.slice(0,r-1)+t.slice(r),--r,--o):t=t.slice(0,r)+"/"+t.slice(r+1);break;case fI:n?(t=t.slice(0,r)+"\\\\"+t.slice(r),r+=2,o+=2):(t=t.slice(0,r)+"\\"+t.slice(r),++r,++o);break}n=!1}return t}function lY(t){let e=!1;for(let n=0,r=t.length;n<r;++n){switch(t.charCodeAt(n)){case i3:if(!e){e=!0;continue}case fI:e&&(t=t.slice(0,n-1)+t.slice(n),--n,--r);break}e=!1}return t}function uI(t){return Be(t)&&typeof t.node=="function"}function pY(t){return Be(t)&&typeof t.link=="function"}function s3(t){if(uI(t))return t.node;if(t=`${t}`.trim().toLowerCase(),!!t.startsWith("node:")){switch(t){case"node:name":return c3;case"node:path":return a3;case"node:internal":return lI;case"node:external":return pI;case"node:depth":return f3;case"node:height":return u3}throw new Error(`invalid node value: ${t}`)}}function sI(t){if(uI(t))return t.node;if(pY(t))return t.link;if(t=`${t}`.trim().toLowerCase(),!(!t.startsWith("node:")&&!t.startsWith("parent:"))){switch(t){case"parent:name":return T1(c3);case"parent:path":return T1(a3);case"parent:depth":return T1(f3);case"parent:height":return T1(u3);case"node:name":return c3;case"node:path":return a3;case"node:internal":return lI;case"node:external":return pI;case"node:depth":return f3;case"node:height":return u3}throw new Error(`invalid link value: ${t}`)}}function a3(t){return t.id}function c3(t){return hY(t.id)}function f3(t){return t.depth}function u3(t){return t.height}function lI(t){return!!t.children}function pI(t){return!t.children}function T1(t){return(e,n)=>n==null?void 0:t(n)}function hY(t){let e=t.length;for(;--e>0&&!dY(t,e););return lY(t.slice(e+1))}function dY(t,e){if(t[e]==="/"){let n=0;for(;e>0&&t[--e]==="\\";)++n;if(!(n&1))return!0}return!1}var hI=2,dI=3,I1=4;function mI(t,e){let n=[];for(let r in t){let o=t[r],i=e(o);i!==void 0&&n.push([r,...ze(o),i])}return n}function l3(t,{fill:e,stroke:n,strokeWidth:r,strokeOpacity:o,strokeLinejoin:i,strokeLinecap:s,strokeMiterlimit:a,strokeDasharray:c,strokeDashoffset:f,marker:u,markerStart:p=u,markerEnd:l=u,dot:h=Ft(p)&&Ft(l),text:d="node:name",textStroke:m="var(--plot-background)",title:g="node:path",dx:y,dy:x,textAnchor:b,treeLayout:w=va,textLayout:_=w===va||w===wg?"mirrored":"normal",tip:v,...M}={}){if(y===void 0&&(y=N1(M.treeAnchor).dx),b!==void 0)throw new Error("textAnchor is not a configurable tree option");_=Ce(_,"textLayout",["mirrored","normal"]);function E(T){return Io(t,Uh({treeLayout:w,text:d,fill:e===void 0?"currentColor":e,stroke:m,dx:y,dy:x,title:g,...T,...M}))}return Se(h1(t,C1({treeLayout:w,markerStart:p,markerEnd:l,stroke:n!==void 0?n:e===void 0?"node:internal":e,strokeWidth:r,strokeOpacity:o,strokeLinejoin:i,strokeLinecap:s,strokeMiterlimit:a,strokeDasharray:c,strokeDashoffset:f,...M})),h?_r(t,Uh({treeLayout:w,fill:e===void 0?"node:internal":e,title:g,tip:v,...M})):null,d!=null?_==="mirrored"?[E({textAnchor:"start",treeFilter:"node:external"}),E({textAnchor:"end",treeFilter:"node:internal",dx:-y})]:E():null)}function gI(t,e){return l3(t,{...e,treeLayout:wg})}var xI={ariaLabel:"waffle"},jh=class extends Ha{constructor(e,{unit:n=1,gap:r=1,round:o,render:i,multiple:s,...a}={}){super(e,{...a,render:Ei(i,bI("x"))},xI),this.unit=Math.max(0,n),this.gap=+r,this.round=wI(o),this.multiple=vI(s)}},Xh=class extends Qa{constructor(e,{unit:n=1,gap:r=1,round:o,render:i,multiple:s,...a}={}){super(e,{...a,render:Ei(i,bI("y"))},xI),this.unit=Math.max(0,n),this.gap=+r,this.round=wI(o),this.multiple=vI(s)}};function bI(t){return function(e,n,r,o,i){let{unit:s,gap:a,rx:c,ry:f,round:u}=this,{document:p}=i,l=r.channels[`${t}1`].value,h=r.channels[`${t}2`].value,d=this[t==="y"?"_width":"_height"](n,r,o),m=this[t==="y"?"_x":"_y"](n,r,o),g=s*mY(n.scales[t]),{multiple:y=Math.max(1,Math.floor(Math.sqrt(d/g)))}=this,x=Math.min(d/y,g*y),b=g*y,w=t==="y"?([A,k])=>[A*x,-k*b]:([A,k])=>[k*b,A*x],_=(d-y*x)/2,v=typeof m=="function"?A=>m(A)+_:m+_,M=n[t](0),E=E7(),T=p.createElementNS(Mn.svg,"pattern");T.setAttribute("width",t==="y"?x:b),T.setAttribute("height",t==="y"?b:x),T.setAttribute("patternUnits","userSpaceOnUse");let I=T.appendChild(p.createElementNS(Mn.svg,"rect"));return I.setAttribute("x",a/2),I.setAttribute("y",a/2),I.setAttribute("width",(t==="y"?x:b)-a),I.setAttribute("height",(t==="y"?b:x)-a),c!=null&&I.setAttribute("rx",c),f!=null&&I.setAttribute("ry",f),rt("svg:g",i).call(gt,this,o,i).call(this._transform,this,n).call(A=>A.selectAll().data(e).enter().append(()=>T.cloneNode(!0)).attr("id",k=>`${E}-${k}`).select("rect").call(lt,this).call(_t,this,r)).call(A=>A.selectAll().data(e).enter().append("path").attr("transform",t==="y"?qr`translate(${v},${M})`:qr`translate(${M},${v})`).attr("d",k=>`M${p3(u(l[k]/s),u(h[k]/s),y).map(w).join("L")}Z`).attr("fill",k=>`url(#${E}-${k})`).attr("stroke",this.stroke==null?null:k=>`url(#${E}-${k})`)).node()}}function p3(t,e,n){if(t<0||e<0){let r=Math.ceil(-Math.min(t,e)/n);return p3(t+r*n,e+r*n,n).map(([o,i])=>[o,i-r])}return e<t?p3(e,t,n):[[0,Math.ceil(t/n)],[Math.floor(t%n),Math.ceil(t/n)],[Math.floor(t%n),Math.floor(t/n)+t%1],[Math.ceil(t%n),Math.floor(t/n)+t%1],...t%n>n-1?[]:[[Math.ceil(t%n),Math.floor(t/n)],[n,Math.floor(t/n)]],[n,Math.floor(e/n)],[Math.ceil(e%n),Math.floor(e/n)],[Math.ceil(e%n),Math.floor(e/n)+e%1],[Math.floor(e%n),Math.floor(e/n)+e%1],...e%n<1?[]:[[Math.floor(e%n),Math.ceil(e/n)],[0,Math.ceil(e/n)]]]}function wI(t){if(t===void 0||t===!1)return Number;if(t===!0)return Math.round;if(typeof t!="function")throw new Error(`invalid round: ${t}`);return t}function vI(t){return t===void 0?void 0:Math.max(1,Math.floor(t))}function mY({domain:t,range:e}){return yI(e)/yI(t)}function yI(t){let[e,n]=Ot(t);return n-e}function _I(t,e={}){return xi(e)||(e={...e,y:Xt,x2:X}),new jh(t,Is(Yf(Es(e))))}function MI(t,e={}){return xi(e)||(e={...e,x:Xt,y2:X}),new Xh(t,Cs(Uf(Ts(e))))}var OI=JC(LI(),1);var MY=({marginLeft:t})=>[1,t],SY=({width:t,marginRight:e})=>[-1,t-e],AY=({width:t,marginLeft:e,marginRight:n})=>[0,(e+t-n)/2],EY=({marginTop:t})=>[1,t],TY=({height:t,marginBottom:e})=>[-1,t-e],IY=({height:t,marginTop:e,marginBottom:n})=>[0,(e+t-n)/2];function $I(t){return typeof t=="string"?{anchor:t}:t}function DI(t={},e={}){arguments.length===1&&([t,e]=PI(t));let{anchor:n="left",padding:r=1,r:o=e.r}=$I(t);switch(`${n}`.toLowerCase()){case"left":n=MY;break;case"right":n=SY;break;case"middle":n=AY;break;default:throw new Error(`unknown dodge anchor: ${n}`)}return qI("x","y",n,Rt(r),o,e)}function FI(t={},e={}){arguments.length===1&&([t,e]=PI(t));let{anchor:n="bottom",padding:r=1,r:o=e.r}=$I(t);switch(`${n}`.toLowerCase()){case"top":n=EY;break;case"bottom":n=TY;break;case"middle":n=IY;break;default:throw new Error(`unknown dodge anchor: ${n}`)}return qI("y","x",n,Rt(r),o,e)}function PI(t){let{anchor:e,padding:n,...r}=t,{r:o}=r;return[{anchor:e,padding:n,r:o},r]}function qI(t,e,n,r,o,i){if(o!=null&&typeof o!="number"){let{channels:s,sort:a,reverse:c}=i;s=Kp(s),s?.r===void 0&&(i={...i,channels:{...s,r:{value:o,scale:"r"}}}),a===void 0&&c===void 0&&(i.sort={channel:"-r"})}return Gt(i,function(s,a,c,f,u,p){let{[e]:l,r:h}=c;if(!c[e])throw new Error(`missing channel: ${e}`);({[e]:l}=Eo(c,f,p));let d=h?void 0:o!==void 0?Rt(o):this.r!==void 0?this.r:3;h&&(h=ct(h.value,f[h.scale]||X,Float64Array));let[m,g]=n(u),y=m?NY:CY,x=new Float64Array(l.length),b=h?w=>h[w]:()=>d;for(let w of a){let _=(0,OI.default)();w=w.filter(h?M=>_f(l[M])&&kn(h[M]):M=>_f(l[M]));let v=new Float64Array(2*w.length+2);for(let M of w){let E=b(M),T=m?E+r:0,I=l[M]-E,A=l[M]+E,k=2;_.queryInterval(I-r,A+r,([,,S])=>{let C=x[S]-T,N=l[M]-l[S],R=r+(h?h[M]+h[S]:2*d),$=Math.sqrt(R*R-N*N);v[k++]=C-$,v[k++]=C+$});let L=v.slice(0,k);m&&(L=L.filter(S=>S>=0));t:for(let S of L.sort(y)){for(let C=0;C<k;C+=2)if(v[C]+1e-6<S&&S<v[C+1]-1e-6)continue t;x[M]=S+T;break}_.insert([I,A,M])}}m||(m=1);for(let w of a)for(let _ of w)x[_]=x[_]*m+g;return{data:s,facets:a,channels:{[t]:{value:x,source:null},[e]:{value:l,source:c[e]},...h&&{r:{value:h,source:c.r}}}}})}function CY(t,e){return Math.abs(t)-Math.abs(e)}function NY(t,e){return t-e}function zI(t,e){return arguments.length===1&&({basis:t,...e}=t),nu(L1(t),e)}function YI(t,e){return arguments.length===1&&({basis:t,...e}=t),ru(L1(t),e)}function L1(t){if(t===void 0)return BI;if(typeof t=="function")return O1(Tf(t));if(/^p\d{2}$/i.test(t))return pu(Ef(t));switch(`${t}`.toLowerCase()){case"deviation":return LY;case"first":return BI;case"last":return RY;case"max":return OY;case"mean":return $Y;case"median":return DY;case"min":return FY;case"sum":return PY;case"extent":return kY}throw new Error(`invalid basis: ${t}`)}function O1(t){return{mapIndex(e,n,r){let o=+t(e,n);for(let i of e)r[i]=n[i]===null?NaN:n[i]/o}}}function pu(t){return O1((e,n)=>t(e,r=>n[r]))}var kY={mapIndex(t,e,n){let[r,o]=Ot(t,s=>e[s]),i=o-r;for(let s of t)n[s]=e[s]===null?NaN:(e[s]-r)/i}},BI=O1((t,e)=>{for(let n=0;n<t.length;++n){let r=e[t[n]];if(Jt(r))return r}}),RY=O1((t,e)=>{for(let n=t.length-1;n>=0;--n){let r=e[t[n]];if(Jt(r))return r}}),LY={mapIndex(t,e,n){let r=Qo(t,i=>e[i]),o=fr(t,i=>e[i]);for(let i of t)n[i]=e[i]===null?NaN:o?(e[i]-r)/o:0}},OY=pu(Mt),$Y=pu(Qo),DY=pu(Rr),FY=pu(At),PY=pu(Ee);function UI(t,e){return XI("x",t,e)}function jI(t,e){return XI("y",t,e)}function XI(t,e,n={}){let r,o=1;if(typeof e=="number")o=e,r=(f,u)=>+f+u;else{if(typeof e=="string"){let f=e.startsWith("-")?-1:1;[e,o]=ux(e.replace(/^[+-]/,"")),o*=f}e=Cf(e),r=(f,u)=>e.offset(f,u)}let i=`${t}1`,s=`${t}2`,a=Bn({[i]:f=>f.map(u=>r(u,o)),[s]:f=>f},n),c=a[s].transform;return a[s].transform=()=>{let f=c(),[u,p]=Ot(f);return f.domain=o<0?[u,r(p,o)]:[r(u,o),p],f},a}function WI(t,e={}){if(typeof t=="string")switch(t.toLowerCase()){case"first":return Vh(e);case"last":return Hh(e)}if(typeof t=="function")return Fs(null,t,e);let n,r;for(n in t){if(r!==void 0)throw new Error("ambiguous selector; multiple inputs");r=qY(t[n])}if(r===void 0)throw new Error(`invalid selector: ${t}`);return Fs(n,r,e)}function qY(t){if(typeof t=="function")return t;switch(`${t}`.toLowerCase()){case"min":return x3;case"max":return b3}throw new Error(`unknown selector: ${t}`)}function Vh(t){return Fs(null,BY,t)}function Hh(t){return Fs(null,zY,t)}function $1(t){return Fs("x",x3,t)}function D1(t){return Fs("y",x3,t)}function F1(t){return Fs("x",b3,t)}function P1(t){return Fs("y",b3,t)}function*BY(t){yield t[0]}function*zY(t){yield t[t.length-1]}function*x3(t,e){yield o0(t,n=>e[n])}function*b3(t,e){yield oa(t,n=>e[n])}function Fs(t,e,n){if(t!=null){if(n[t]==null)throw new Error(`missing channel: ${t}`);t=n[t]}let r=hn(n);return Me(n,(o,i)=>{let s=ct(o,r),a=ct(o,t),c=[];for(let f of i){let u=[];for(let p of s?Ve(f,l=>s[l]).values():[f])for(let l of e(p,a))u.push(l);c.push(u)}return{data:o,facets:c}})}ft.prototype.plot=function({marks:t=[],...e}={}){return Zf({...e,marks:[...t,this]})};var YY=new Map([["style","style"],["width","width"],["height","height"],["margin","margin"],["marginLeft","marginLeft"],["marginRight","marginRight"],["marginTop","marginTop"],["marginBottom","marginBottom"],["align","align"],["aspectRatio","aspectRatio"],["axis","axis"],["inset","inset"],["grid","grid"],["label","label"],["padding","padding"],["xScale","x.type"],["xDomain","x.domain"],["xRange","x.range"],["xNice","x.nice"],["xInset","x.inset"],["xInsetLeft","x.insetLeft"],["xInsetRight","x.insetRight"],["xClamp","x.clamp"],["xRound","x.round"],["xAlign","x.align"],["xPadding","x.padding"],["xPaddingInner","x.paddingInner"],["xPaddingOuter","x.paddingOuter"],["xAxis","x.axis"],["xTicks","x.ticks"],["xTickSize","x.tickSize"],["xTickSpacing","x.tickSpacing"],["xTickPadding","x.tickPadding"],["xTickFormat","x.tickFormat"],["xTickRotate","x.tickRotate"],["xGrid","x.grid"],["xLine","x.line"],["xLabel","x.label"],["xLabelAnchor","x.labelAnchor"],["xLabelArrow","x.labelArrow"],["xLabelOffset","x.labelOffset"],["xFontVariant","x.fontVariant"],["xAriaLabel","x.ariaLabel"],["xAriaDescription","x.ariaDescription"],["xPercent","x.percent"],["xReverse","x.reverse"],["xZero","x.zero"],["xBase","x.base"],["xExponent","x.exponent"],["xConstant","x.constant"],["yScale","y.type"],["yDomain","y.domain"],["yRange","y.range"],["yNice","y.nice"],["yInset","y.inset"],["yInsetTop","y.insetTop"],["yInsetBottom","y.insetBottom"],["yClamp","y.clamp"],["yRound","y.round"],["yAlign","y.align"],["yPadding","y.padding"],["yPaddingInner","y.paddingInner"],["yPaddingOuter","y.paddingOuter"],["yAxis","y.axis"],["yTicks","y.ticks"],["yTickSize","y.tickSize"],["yTickSpacing","y.tickSpacing"],["yTickPadding","y.tickPadding"],["yTickFormat","y.tickFormat"],["yTickRotate","y.tickRotate"],["yGrid","y.grid"],["yLine","y.line"],["yLabel","y.label"],["yLabelAnchor","y.labelAnchor"],["yLabelArrow","y.labelArrow"],["yLabelOffset","y.labelOffset"],["yFontVariant","y.fontVariant"],["yAriaLabel","y.ariaLabel"],["yAriaDescription","y.ariaDescription"],["yPercent","y.percent"],["yReverse","y.reverse"],["yZero","y.zero"],["yBase","y.base"],["yExponent","y.exponent"],["yConstant","y.constant"],["facetMargin","facet.margin"],["facetMarginTop","facet.marginTop"],["facetMarginBottom","facet.marginBottom"],["facetMarginLeft","facet.marginLeft"],["facetMarginRight","facet.marginRight"],["facetGrid","facet.grid"],["facetLabel","facet.label"],["fxDomain","fx.domain"],["fxRange","fx.range"],["fxInset","fx.inset"],["fxInsetLeft","fx.insetLeft"],["fxInsetRight","fx.insetRight"],["fxRound","fx.round"],["fxAlign","fx.align"],["fxPadding","fx.padding"],["fxPaddingInner","fx.paddingInner"],["fxPaddingOuter","fx.paddingOuter"],["fxAxis","fx.axis"],["fxTicks","fx.ticks"],["fxTickSize","fx.tickSize"],["fxTickSpacing","fx.tickSpacing"],["fxTickPadding","fx.tickPadding"],["fxTickFormat","fx.tickFormat"],["fxTickRotate","fx.tickRotate"],["fxGrid","fx.grid"],["fxLine","fx.line"],["fxLabel","fx.label"],["fxLabelAnchor","fx.labelAnchor"],["fxLabelOffset","fx.labelOffset"],["fxFontVariant","fx.fontVariant"],["fxAriaLabel","fx.ariaLabel"],["fxAriaDescription","fx.ariaDescription"],["fxReverse","fx.reverse"],["fyDomain","fy.domain"],["fyRange","fy.range"],["fyInset","fy,inset"],["fyInsetTop","fy.insetTop"],["fyInsetBottom","fy.insetBottom"],["fyRound","fy.round"],["fyAlign","fy.align"],["fyPadding","fy.padding"],["fyPaddingInner","fy.paddingInner"],["fyPaddingOuter","fy.paddingOuter"],["fyAxis","fy.axis"],["fyTicks","fy.ticks"],["fyTickSize","fy.tickSize"],["fyTickSpacing","fy.tickSpacing"],["fyTickPadding","fy.tickPadding"],["fyTickFormat","fy.tickFormat"],["fyTickRotate","fy.tickRotate"],["fyGrid","fy.grid"],["fyLine","fy.line"],["fyLabel","fy.label"],["fyLabelAnchor","fy.labelAnchor"],["fyLabelOffset","fy.labelOffset"],["fyFontVariant","fy.fontVariant"],["fyAriaLabel","fy.ariaLabel"],["fyAriaDescription","fy.ariaDescription"],["fyReverse","fy.reverse"],["colorScale","color.type"],["colorDomain","color.domain"],["colorRange","color.range"],["colorClamp","color.clamp"],["colorN","color.n"],["colorNice","color.nice"],["colorScheme","color.scheme"],["colorInterpolate","color.interpolate"],["colorPivot","color.pivot"],["colorSymmetric","color.symmetric"],["colorLabel","color.label"],["colorPercent","color.percent"],["colorReverse","color.reverse"],["colorZero","color.zero"],["colorTickFormat","color.tickFormat"],["colorBase","color.base"],["colorExponent","color.exponent"],["colorConstant","color.constant"],["opacityScale","opacity.type"],["opacityDomain","opacity.domain"],["opacityRange","opacity.range"],["opacityClamp","opacity.clamp"],["opacityNice","opacity.nice"],["opacityLabel","opacity.label"],["opacityPercent","opacity.percent"],["opacityReverse","opacity.reverse"],["opacityZero","opacity.zero"],["opacityTickFormat","opacity.tickFormat"],["opacityBase","opacity.base"],["opacityExponent","opacity.exponent"],["opacityConstant","opacity.constant"],["symbolScale","symbol.type"],["symbolDomain","symbol.domain"],["symbolRange","symbol.range"],["rScale","r.type"],["rDomain","r.domain"],["rRange","r.range"],["rClamp","r.clamp"],["rNice","r.nice"],["rLabel","r.label"],["rPercent","r.percent"],["rZero","r.zero"],["rBase","r.base"],["rExponent","r.exponent"],["rConstant","r.constant"],["lengthScale","length.type"],["lengthDomain","length.domain"],["lengthRange","length.range"],["lengthClamp","length.clamp"],["lengthNice","length.nice"],["lengthPercent","length.percent"],["lengthZero","length.zero"],["lengthBase","length.base"],["lengthExponent","length.exponent"],["lengthConstant","length.constant"],["projectionType","projection.type"],["projectionParallels","projection.parallels"],["projectionPrecision","projection.precision"],["projectionRotate","projection.rotate"],["projectionDomain","projection.domain"],["projectionInset","projection.inset"],["projectionInsetLeft","projection.insetLeft"],["projectionInsetRight","projection.insetRight"],["projectionInsetTop","projection.insetTop"],["projectionInsetBottom","projection.insetBottom"],["projectionClip","projection.clip"]]);function UY(t,e,n){for(let r=0;r<e.length;++r){let o=e[r];r===e.length-1?t[o]=n:t=t[o]||(t[o]={})}}function GI(t,e,n){for(let r in t){let o=YY.get(r);if(o==null)throw new Error(`Unrecognized plot attribute: ${r}`);let i=t[r];typeof i=="symbol"?n.push(r):i!==void 0&&UY(e,o.split("."),i)}}var jY=new Set(["frame","hexgrid","sphere","graticule"]),XY=new Map([["first",Vh],["last",Hh],["maxX",F1],["maxY",P1],["minX",$1],["minY",D1],["nearest",Ms],["nearestX",Ss],["nearestXY",Ti]]);async function VI(t){let e={marks:[]},n=[],{attributes:r,marks:o}=t;GI(r,e,n);let i=[];for(let a of o)for(let{type:c,data:f,options:u}of a.plotSpecs()){let{select:p,...l}=u,h=XY.get(p)?.(l)??l,d=jY.has(c)?[h]:[f,h];e.marks.push(w3[c](...d)),i.push(a.index)}GY(e,t);let s=Zf(e);HY(s,i),WY(t,s,r,n);for(let a of t.interactors)await a.init(s);return s}function WY(t,e,n,r){r.forEach(o=>{let i=n[o];if(i===Li){if(!o.endsWith("Domain"))throw new Error(`Unsupported fixed attribute: ${o}`);let s=o.slice(0,-6),a=e.scale(s);a?.domain&&t.setAttribute(o,n[`${s}Reverse`]?a.domain.slice().reverse():a.domain)}else throw new Error(`Unrecognized symbol: ${i}`)})}function GY(t,e){let{marks:n}=e;q1("x",t,n),q1("y",t,n),q1("fx",t,n),q1("fy",t,n)}function q1(t,e,n){let r=e[t]||{};if(r.axis===null||r.label!==void 0)return;let o=n.map(s=>s.channelField(t)?.field);if(o.every(s=>s==null))return;let i;for(let s=0;s<o.length;++s){let a=HI(o[s]);a!==void 0&&(i===void 0?i=a:i!==a&&(i=void 0))}i!==void 0&&(e[t]={...r,label:i})}function HI(t){if(t){switch(t.type){case"COLUMN_REF":return t.column;case"CAST":return HI(t.expr);case"FUNCTION":if(t.name==="make_date")return"date";break}return VY(t)}}function VY(t){let e=`${t}`.replaceAll('"',"").replaceAll("(*)","()");return e.endsWith("()")?e.slice(0,-2):e}function HY(t,e){let n=-1;for(let r of t.children){let o=r.getAttribute("aria-label")||"";r.nodeName==="style"||o.includes("-axis")||o.includes("-grid")||r.setAttribute("data-index",e[++n])}}var QY={width:640,marginLeft:40,marginRight:20,marginTop:20,marginBottom:30},v3=class{constructor(e){this.attributes={...QY},this.listeners=null,this.interactors=[],this.legends=[],this.marks=[],this.markset=null,this.params=new Map,this.synch=m2(),this.element=e||document.createElement("div"),this.element.setAttribute("class","plot"),this.element.style.display="flex",Object.assign(this.element,{value:this})}margins(){return{left:this.getAttribute("marginLeft"),top:this.getAttribute("marginTop"),bottom:this.getAttribute("marginBottom"),right:this.getAttribute("marginRight")}}innerWidth(){let{left:e,right:n}=this.margins();return this.getAttribute("width")-e-n}innerHeight(e=400){let{top:n,bottom:r}=this.margins(),o=this.getAttribute("height");return o==null&&(o=ZY(this,n,r)||e,this.setAttribute("height",o,{silent:!0})),o-n-r}pending(e){this.synch.pending(e)}update(e){return this.synch.ready(e)&&!this.pendingRender&&(this.pendingRender=!0,requestAnimationFrame(()=>this.render())),this.synch.promise}async render(){this.pendingRender=!1;let e=await VI(this),n=this.legends.flatMap(({legend:r,include:o})=>{let i=r.init(e);return o?i:[]});this.element.replaceChildren(e,...n),this.synch.resolve()}getAttribute(e){return this.attributes[e]}setAttribute(e,n,r){return al(this.attributes[e],n)?(n===void 0?delete this.attributes[e]:this.attributes[e]=n,r?.silent||this.listeners?.get(e)?.forEach(o=>o(e,n)),!0):!1}addAttributeListener(e,n){let r=this.listeners||(this.listeners=new Map);return r.has(e)||r.set(e,new Set),r.get(e).add(n),this}removeAttributeListener(e,n){return this.listeners?.get(e)?.delete(n)}addParams(e,n){let{params:r}=this;for(let o of n)r.has(o)?r.get(o).push(e):(r.set(o,[e]),o.addEventListener("value",()=>Promise.allSettled(r.get(o).map(i=>i.initialize()))))}addMark(e){return e.setPlot(this,this.marks.length),this.marks.push(e),this.markset=null,this}get markSet(){return this.markset||(this.markset=new Set(this.marks))}addInteractor(e){return this.interactors.push(e),this}addLegend(e,n=!0){e.setPlot(this),this.legends.push({legend:e,include:n})}};function ZY(t,e,n){let r=t.getAttribute("aspectRatio");if(r==null)return;let o=t.getAttribute("xDomain"),i=t.getAttribute("yDomain");if(!o||!i)return;let s=Math.abs(o[1]-o[0]);return Math.abs(i[1]-i[0])*t.innerWidth()/(r*s)+e+n}function B1(t){return typeof t!="string"?!1:(t=t.toLowerCase().trim(),t==="none"||t==="currentcolor"||t.startsWith("url(")&&t.endsWith(")")||t.startsWith("var(")&&t.endsWith(")")||Xn(t)!==null)}var KY=new Set(["offset","order","reverse","sort","label","anchor","curve","tension","marker","markerStart","markerMid","markerEnd","textAnchor","lineAnchor","lineHeight","textOverflow","monospace","fontFamily","fontSize","fontStyle","fontVariant","fontWeight","frameAnchor","strokeLinejoin","strokeLinecap","strokeMiterlimit","strokeDasharray","strokeDashoffset","mixBlendMode","shapeRendering","imageRendering","preserveAspectRatio","interpolate","crossOrigin","paintOrder","pointerEvents","target","select"]);function QI(t){return KY.has(t)}var JY=new Set(["asterisk","circle","cross","diamond","diamond2","hexagon","plus","square","square2","star","times","triangle","triangle2","wye"]);function ZI(t){return JY.has(`${t}`.toLowerCase())}var KI=t=>t==="stroke"||t==="fill",tU=t=>/opacity$/i.test(t),eU=t=>t==="symbol",nU=(t,e)=>t!=="sort"&&t!=="tip"&&e!=null&&!Array.isArray(e),_3=(t,e)=>({channel:t,field:e,as:qi(e)&&!kb(e)?e.column:t}),M3=(t,e)=>({channel:t,value:e}),z1=t=>Array.isArray(t),tn=class extends Ic{constructor(e,n,r,o={}){super(n?.options?.filterBy),this.type=e,this.reqs=o,this.source=n;let i=this.channels=[],s=this.detail=new Set,a=this.params=new Set;z1(n)?this.data=cr(n):Wo(n?.table)&&a.add(n.table);let c=(f,u)=>{let p=typeof u;if(f==="channels")for(let l in u)s.add(l),c(l,u[l]);else if(p==="function"&&u[gu]){let l=u(this,f);for(let h in l)c(h,l[h])}else if(p==="string")QI(f)||KI(f)&&B1(u)||eU(f)&&ZI(u)?i.push(M3(f,u)):i.push(_3(f,Fu(u)));else if(Er(u)){let l=M3(f,u.value);i.push(l),u.addEventListener("value",h=>(l.value=h,this.update()))}else Re(u)?(Kb(u).forEach(l=>a.add(l)),i.push(_3(f,u))):p==="object"&&nU(f,u)?i.push(_3(f,u)):u!==void 0&&i.push(M3(f,u))};for(let f in r)c(f,r[f])}setPlot(e,n){this.plot=e,this.index=n,e.addParams(this,this.params),this.source?.table&&this.queryPending()}sourceTable(){let e=this.source?.table;return e?Wo(e)?e.value:e:null}hasOwnData(){return this.source==null||z1(this.source)}hasFieldInfo(){return!!this._fieldInfo}channel(e){return this.channels.find(n=>n.channel===e)}channelField(e,{exact:n=!1}={}){let r=n?this.channel(e):this.channels.find(o=>o.channel.startsWith(e));return r?.field?r:null}fields(){if(this.hasOwnData())return null;let{channels:e,reqs:n}=this,r=new Map;for(let{channel:i,field:s}of e){if(!s)continue;let a=s.stats?.stats||[],c=s.stats?.column??s,f=r.get(c)??r.set(c,new Set).get(c);a.forEach(u=>f.add(u)),n[i]?.forEach(u=>f.add(u))}let o=this.sourceTable();return Array.from(r,([i,s])=>({table:o,column:i,stats:Array.from(s)}))}fieldInfo(e){let n=Object.fromEntries(e.map(r=>[r.column,r]));for(let r of this.channels){let{field:o}=r;o&&Object.assign(r,n[o.stats?.column??o])}return this._fieldInfo=!0,this}query(e=[]){return this.hasOwnData()?null:Qh(this.channels,this.sourceTable()).where(e)}queryPending(){return this.plot.pending(this),this}queryResult(e){return this.data=cr(e),this}update(){return this.plot.update(this)}plotSpecs(){let{type:e,data:n,detail:r,channels:o}=this;return S3(e,r,o,n)}};function mn(t,e){let n=e?.[t.as]??t.as;return Object.hasOwn(t,"value")?t.value:KI(t.channel)?{value:n,scale:"color"}:tU(t.channel)?{value:n,scale:"opacity"}:n}function Qh(t,e,n=[]){let r=yt.from({source:e}),o=new Set,i=!1;for(let s of t){let{channel:a,field:c,as:f}=s;if(!n.includes(a)){if(a==="orderby")r.orderby(s.value??c);else if(c){if(xn(c))i=!0;else{if(o.has(f))continue;o.add(f)}r.select({[f]:c})}}}return i&&r.groupby(Array.from(o)),r}function S3(t,e,n,r,o={}){let{numRows:i,values:s,columns:a}=r??{},c={};for(let p of n){let l=e.has(p.channel)?c:o;l[p.channel]=mn(p,a)}return e.size&&(o.channels=c),[{type:t,data:s??(r?{length:i}:null),options:o}]}function nc(t,e){let{plot:n}=t,r=n.getAttribute(`${e}Scale`);if(!r){let{type:i}=t.channelField(e);r=i==="date"?"time":"linear"}let o={type:r};switch(r){case"log":o.base=n.getAttribute(`${e}Base`)??10;break;case"pow":o.exponent=n.getAttribute(`${e}Exponent`)??1;break;case"symlog":o.constant=n.getAttribute(`${e}Constant`)??1;break}return il(o)}function rr(t,e,n,r,o=1,i){let{field:s}=t.channelField(e);i=i??s;let{type:a,apply:c,sqlApply:f}=nc(t,e),u=!!t.plot.getAttribute(`${e}Reverse`),[p,l]=r.map(m=>c(m)),h=f(i),d=a==="time"||a==="utc"?h:i;return[Jb(h,p,l,n-o,u),d]}var A3={x:["min","max"]},E3={y:["min","max"]},Y1={...A3,...E3};function JI(t,e,n,r,o){let{plot:i}=t,s=i.getAttribute(r),a=i.getAttribute(o);if(Array.isArray(s)&&!s[je])return s;{let{column:c,min:f,max:u}=t.channelField(n),p=T3(e,c)||(a?si().domain([f,u]).nice().domain():[f,u]);return s!==Li&&(p[je]=!0),i.setAttribute(r,p,{silent:!0}),p}}function Lo(t,e){return JI(t,e,"x","xDomain","xNice")}function Oo(t,e){return JI(t,e,"y","yDomain","yNice")}function T3(t,e){if(!t)return;let n,r;return[t].flat().forEach(o=>Qr(o,i=>{if(i instanceof Ks&&`${i.expr}`===e){let s=(i.extent??[]).map(a=>a?.value??a);(n==null||s[0]<n)&&(n=s[0]),(r==null||s[1]>r)&&(r=s[1])}})),n!=null&&r!=null&&n!==r?[n,r]:void 0}var I3=class extends tn{constructor(e,n,r){let o=e.endsWith("X")?"y":e.endsWith("Y")?"x":null,i=o?{[o]:["count","min","max"]}:void 0;super(e,n,r,i),this.dim=o}query(e=[]){let{plot:n,dim:r,source:o}=this,i=o.options?.optimize,s=super.query(e);if(!r)return s;let a=r==="x"?"y":"x",c=this.channelField(a,{exact:!0})?.as,{field:f,as:u,type:p,count:l,min:h,max:d}=this.channelField(r),m=p==="date"||p==="number",g=r==="x"?n.innerWidth():n.innerHeight();if(i??=l/g>10,i&&m&&c){let[y,x]=T3(e,f)||[h,d],[b]=rr(this,r,g,[y,x],1,u),w=s._select.map(_=>_.alias).filter(_=>_!==u&&_!==c);return o2(s,b,u,c,w)}else return s.orderby(u)}};function C3(t,e=[]){return new e.constructor(t)}function tC(t,e,n,r,o){let i=e.length,s={},a=[];if(o?.length){let c=new Int32Array(i),f=o.map(l=>r[l]),u={};for(let l=0;l<i;++l){let h=f.map(d=>d[l]);c[l]=u[h]??=a.push(h)-1}for(let l=0;l<o.length;++l)s[o[l]]=a.map(h=>h[l]);let p=s._grid=a.map(()=>C3(t,n));for(let l=0;l<i;++l)p[c[l]][e[l]]=n[l]}else{a.push([]);let[c]=s._grid=[C3(t,n)];for(let f=0;f<i;++f)c[e[f]]=n[f]}return{numRows:a.length,columns:s}}function eC(t,e,n,r,o,i,s){let a=n.length,c=t*e,f=o.map(h=>r[h]),u={},p=[],l=new Int32Array(a);if(i?.length){let h=i.map(m=>r[m]),d={};for(let m=0;m<a;++m){let g=h.map(y=>y[m]);l[m]=d[g]??=p.push(g)-1}for(let m=0;m<i.length;++m)u[i[m]]=p.map(g=>g[m])}else p.push([]);if(s){let h=n.map(g=>g%t),d=n.map(g=>Math.floor(g/t)),m=p.map(()=>[]);for(let g=0;g<a;++g)m[l[g]].push(g);o.forEach((g,y)=>{let x=f[y];u[g]=p.map((b,w)=>s(m[w],t,e,h,d,x))})}else o.forEach((h,d)=>{let m=f[d],g=u[h]=p.map(()=>C3(c,m));for(let y=0;y<a;++y)g[l[y]][n[y]]=m[y]});return{numRows:p.length,columns:u}}function Zh(t){let e=1/0,n=-1/0;return t.forEach(r=>{let o=r.length;for(let i=0;i<o;++i){let s=r[i];s<e&&(e=s),s>n&&(n=s)}}),Number.isFinite(e)&&Number.isFinite(n)?[e,n]:[0,1]}function nC(t){let e=new vn;return t.forEach(n=>{let r=n.length;for(let o=0;o<r;++o)e.add(n[o])}),Array.from(e).sort(dt)}function se(t,e){return Wo(t)?(t.addEventListener("value",e),t.value):t}function Kh(t,e=!1){let n=new Float64Array(5),r=new Float64Array(4);rU(n,r,t);let o=Float64Array.of(0,r[1]-n[1]*r[0],r[2]-n[2]*r[0],r[3]-n[3]*r[0],-n[4]*r[0]),i=1+n[1]+n[2]+n[3]+n[4],s=(r[0]+r[1]+r[2]+r[3])/i,a=(o[1]+o[2]+o[3]+o[4])/i;return{sigma:t,negative:e,a:n,b_causal:r,b_anticausal:o,sum_causal:s,sum_anticausal:a}}function rU(t,e,n){let o=Float64Array.of(.84,1.8675,.84,-1.8675,-.34015,-.1299,-.34015,.1299),i=Math.exp(-1.783/n),s=Math.exp(-1.723/n),a=.6318/n,c=1.997/n,f=Float64Array.of(-i*Math.cos(a),i*Math.sin(a),-i*Math.cos(-a),i*Math.sin(-a),-s*Math.cos(c),s*Math.sin(c),-s*Math.cos(-c),s*Math.sin(-c)),u=n*2.5066282746310007,p=Float64Array.of(o[0],o[1],0,0,0,0,0,0),l=Float64Array.of(1,0,f[0],f[1],0,0,0,0,0,0),h,d;for(d=2;d<8;d+=2){for(p[d]=f[d]*p[d-2]-f[d+1]*p[d-1],p[d+1]=f[d]*p[d-1]+f[d+1]*p[d-2],h=d-2;h>0;h-=2)p[h]+=f[d]*p[h-2]-f[d+1]*p[h-1],p[h+1]+=f[d]*p[h-1]+f[d+1]*p[h-2];for(h=0;h<=d;h+=2)p[h]+=o[d]*l[h]-o[d+1]*l[h+1],p[h+1]+=o[d]*l[h+1]+o[d+1]*l[h];for(l[d+2]=f[d]*l[d]-f[d+1]*l[d+1],l[d+3]=f[d]*l[d+1]+f[d+1]*l[d],h=d;h>0;h-=2)l[h]+=f[d]*l[h-2]-f[d+1]*l[h-1],l[h+1]+=f[d]*l[h-1]+f[d+1]*l[h-2]}for(d=0;d<4;++d)h=d<<1,e[d]=p[h]/u,t[d+1]=l[h+2]}function rC(t,e,n,[r,o]){let i=new Float64Array(Math.max(r,o)),s=new Float64Array(Math.max(r,o)),a=new Float64Array(5),c=new Float64Array(n.length);for(let f=0,u=0;f<o;++f,u+=r){let p=c.subarray(u);U1(t,n.subarray(u),r,1,i,s,a,p)}for(let f=0;f<r;++f){let u=c.subarray(f);U1(e,u,o,r,i,s,a,u)}return c}function U1(t,e,n,r=1,o=new Float64Array(n),i=new Float64Array(n),s=new Float64Array(5),a=o,c=oU){let f=r*2,u=r*3,p=r*4,l=r*n,h,d;for(c(o,e,n,r,t.b_causal,3,t.a,4,t.sum_causal,s,t.sigma),d=4,h=p;d<n;++d,h+=r)o[d]=t.b_causal[0]*e[h]+t.b_causal[1]*e[h-r]+t.b_causal[2]*e[h-f]+t.b_causal[3]*e[h-u]-t.a[1]*o[d-1]-t.a[2]*o[d-2]-t.a[3]*o[d-3]-t.a[4]*o[d-4];for(c(i,e,n,-r,t.b_anticausal,4,t.a,4,t.sum_anticausal,s,t.sigma),d=4,h=l-r*5;d<n;++d,h-=r)i[d]=t.b_anticausal[1]*e[h+r]+t.b_anticausal[2]*e[h+f]+t.b_anticausal[3]*e[h+u]+t.b_anticausal[4]*e[h+p]-t.a[1]*i[d-1]-t.a[2]*i[d-2]-t.a[3]*i[d-3]-t.a[4]*i[d-4];if(t.negative)for(d=0,h=0;d<n;++d,h+=r)a[h]=o[d]+i[n-d-1];else for(d=0,h=0;d<n;++d,h+=r)a[h]=Math.max(0,o[d]+i[n-d-1]);return a}function oU(t,e,n,r,o,i,s,a,c,f,u,p=.5){let l=Math.abs(r)*n,h=r<0?l+r:0,d,m,g;for(m=0;m<=a;++m)for(f[m]=m<=i?o[m]:0,g=1;g<=a&&g<=m;++g)f[m]-=s[g]*f[m-g];for(g=0;g<a;++g)for(t[g]=0,m=1;m<=g;++m)d=h+r*m,d>=0&&d<l&&(t[g]+=f[g-m]*e[d]);let y=e[h],x=Math.ceil(u*10);for(m=0;m<x;++m){for(g=0;g<a;++g)t[g]+=f[g]*y;if(c-=Math.abs(f[0]),c<=p)break;for(f[a]=m+a<=i?o[m+a]:0,g=1;g<=a;++g)f[a]-=s[g]*f[a-g];for(g=0;g<a;++g)f[g]=f[g+1]}}var Br="density",zr=class extends tn{constructor(e,n,r){let{bandwidth:o=0,interpolate:i="none",pixelSize:s=1,pad:a=1,width:c,height:f,...u}=r,p=iU(u);super(e,n,u,Y1),this.densityMap=p,this.bandwidth=se(o,l=>(this.bandwidth=l,this.grids?this.convolve().update():null)),this.interpolate=se(i,l=>(this.interpolate=l,this.requestUpdate())),this.pixelSize=se(s,l=>(this.pixelSize=l,this.requestUpdate())),this.pad=se(a,l=>(this.pad=l,this.requestUpdate())),this.width=se(c,l=>(this.width=l,this.requestUpdate())),this.height=se(f,l=>(this.height=l,this.requestUpdate()))}setPlot(e,n){let r=()=>{this.hasFieldInfo()&&this.requestUpdate()};e.addAttributeListener("xDomain",r),e.addAttributeListener("yDomain",r),super.setPlot(e,n)}get filterStable(){let e=this.plot.getAttribute("xDomain"),n=this.plot.getAttribute("yDomain");return e&&n&&!e[je]&&!n[je]}query(e=[]){let{interpolate:n,pad:r,channels:o,densityMap:i}=this,[s,a]=this.extentX=Lo(this,e),[c,f]=this.extentY=Oo(this,e),[u,p]=this.bins=this.binDimensions(),[l,h]=rr(this,"x",u,[s,a],r),[d,m]=rr(this,"y",p,[c,f],r),g=r?[yn(h,[+s,+a]),yn(m,[+c,+f])]:[Cr(+s,h),le(h,+a),Cr(+c,m),le(m,+f)],y=yt.from(this.sourceTable()).where(e.concat(g)),x=this.groupby=[],b={};for(let _ of o)if(Object.hasOwn(_,"field")){let{as:v,channel:M,field:E}=_;xn(E)?(b[M]=E,i[M]=!0):M==="weight"?b[Br]=Pt(E):M!=="x"&&M!=="y"&&(y.select({[v]:E}),x.push(v))}let w=this.aggr=Object.keys(b);if(b.density&&w.length>1)throw new Error("Weight option can not be used with custom aggregates.");if(w.length||(w.push(Br),b[Br]=rn()),n==="linear"){if(w.length>1)throw new Error("Linear binning not applicable to multiple aggregates.");if(!b[Br])throw new Error("Linear binning not applicable to custom aggregates.");let _=Ac(b[Br])[0];return n2(y,l,d,_,u,x)}else return t2(y,l,d,b,u,x)}binDimensions(){let{plot:e,pixelSize:n,width:r,height:o}=this;return[r??Math.round(e.innerWidth()/n),o??Math.round(e.innerHeight()/n)]}queryResult(e){let[n,r]=this.bins,o=sU(this.interpolate),{columns:i}=cr(e);return this.grids0=eC(n,r,i.index,i,this.aggr,this.groupby,o),this.convolve()}convolve(){let{aggr:e,bandwidth:n,bins:r,grids0:o,plot:i}=this;if(this.grids=o,n>0){let s=e.length===1?e[0]:e.includes(Br)?Br:null;if(!s)return console.warn("No compatible grid found for smoothing."),this;let a=o.columns[s],c=i.innerWidth(),f=i.innerHeight(),[u,p]=r,l=a.some(m=>m.some(g=>g<0)),h=Kh(n*(u-1)/c,l),d=Kh(n*(p-1)/f,l);this.grids={numRows:o.numRows,columns:{...o.columns,[s]:a.map(m=>rC(h,d,m,r))}}}return this}};function iU(t){let e={};for(let n in t)t[n]==="density"&&(delete t[n],e[n]=!0);return e}function sU(t="none"){if(typeof t=="function")return t;switch(t.toLowerCase()){case"none":case"linear":return;case"nearest":return Oh;case"barycentric":return Lh();case"random-walk":return $h()}throw new Error(`invalid interpolate: ${t}`)}var N3=class extends zr{constructor(e,n){let{thresholds:r=10,...o}=n;super("geo",e,{bandwidth:20,interpolate:"linear",pixelSize:2,...o}),this.thresholds=se(r,i=>(this.thresholds=i,this.grids?this.contours().update():null))}convolve(){return super.convolve().contours()}contours(){let{bins:e,densityMap:n,grids:r,thresholds:o,plot:i}=this,{numRows:s,columns:a}=r,c=o,f;if(Array.isArray(c))f=c;else{let[,A]=Zh(a.density);f=Array.from({length:c-1},(k,L)=>A*(L+1)/c)}(n.fill||n.stroke)&&this.plot.getAttribute("colorScale")!=="log"&&this.plot.setAttribute("colorZero",!0);let[u,p]=e,[l,h]=i.getAttribute("xDomain"),[d,m]=i.getAttribute("yDomain"),g=(h-l)/u,y=(m-d)/p,x=+l,b=+d,w=A=>x+A*g,_=A=>b+A*y,v=Ki().size(e),M=this.contourData=Array(s*f.length),{density:E,...T}=a,I=Object.entries(T);for(let A=0,k=0;A<s;++A){let L=E[A],S=I.reduce((C,[N,R])=>(C[N]=R[A],C),{});for(let C=0;C<f.length;++C,++k)M[k]=Object.assign(aU(v.contour(L,f[C]),w,_),S)}return this}plotSpecs(){let{type:e,channels:n,densityMap:r,contourData:o}=this,i={};for(let s of n){let{channel:a}=s;a!=="x"&&a!=="y"&&(i[a]=mn(s))}for(let s in r)r[s]&&(i[s]=mn({channel:s,as:"value"}));return[{type:e,data:o,options:i}]}};function aU(t,e,n){function r(s){s.forEach(o)}function o(s){s.forEach(i)}function i(s){s[0]=e(s[0]),s[1]=n(s[1])}return t.coordinates.forEach(r),t}function Jh(t){return Array.from({length:t},(e,n)=>n)}function j1(t,e){let n=e.reduce((o,i,s)=>(o[i]=s,o),{}),r=Jh(t.length);return r.sort((o,i)=>n[t[o]]-n[t[i]]),r}function X1(t,e){if(typeof document<"u"){let n=document.createElement("canvas");return n.setAttribute("width",t),n.setAttribute("height",e),n}throw new Error("Can not create a canvas instance.")}function oC(t=1){let e=255*t|0;return(n,r,o)=>{for(let i=0,s=0;i<o;++i)for(let a=0;a<r;++a,s+=4)n[s+3]=e}}function iC(t){let{apply:e}=t;return(n,r,o,i)=>{for(let s=0,a=0;s<o;++s)for(let c=0,f=(o-s-1)*r;c<r;++c,a+=4)n[a+3]=255*e(i[c+f])|0}}function sC(t={}){let{r:e=0,g:n=0,b:r=0,opacity:o=1}=typeof t=="string"?Te(t):t,i=new Uint8ClampedArray([e,n,r,255*o|0]);return(s,a,c)=>{for(let f=0,u=0;f<c;++f)for(let p=0;p<a;++p,u+=4)s[u+0]=i[0],s[u+1]=i[1],s[u+2]=i[2],s[u+3]=i[3]}}function aC(t){let{domain:e,range:n}=t,r=Object.create(null),o=new Uint8ClampedArray(4*e.length),i=e.length-1,s=n.length;for(let a=0;a<=i;++a){let c=n[a%s],{r:f,g:u,b:p,opacity:l=1}=typeof c=="string"?Te(c):c,h=a<<2;o[h+0]=f,o[h+1]=u,o[h+2]=p,o[h+3]=255*l|0,r[e[a]]=h}return(a,c,f,u)=>{if(u.map)for(let p=0,l=0;p<f;++p)for(let h=0,d=(f-p-1)*c;h<c;++h,l+=4){let m=r[u[h+d]];a[l+0]=o[m+0],a[l+1]=o[m+1],a[l+2]=o[m+2],a[l+3]=o[m+3]}else{let p=r[u];for(let l=0,h=0;l<f;++l)for(let d=0;d<c;++d,h+=4)a[h+0]=o[p+0],a[h+1]=o[p+1],a[h+2]=o[p+2],a[h+3]=o[p+3]}}}function cC(t,e,n){let{interpolate:r}=e,o=new Uint8ClampedArray(4*t),i=t-1;for(let s=0;s<=i;++s){let a=r(s/i),{r:c,g:f,b:u,opacity:p=1}=typeof a=="string"?Te(a):a,l=s<<2;o[l+0]=c,o[l+1]=f,o[l+2]=u,o[l+3]=255*p|0}return(s,a,c,f)=>{for(let u=0,p=0;u<c;++u)for(let l=0,h=(c-u-1)*a;l<a;++l,p+=4){let d=i*n(f[l+h])<<2;s[p+0]=o[d+0],s[p+1]=o[d+1],s[p+2]=o[d+2],s[p+3]=o[d+3]}}}var hu=class extends zr{constructor(e,n){super("image",e,n),this.image=null}setPlot(e,n){let r=()=>{this.hasFieldInfo()&&this.rasterize()};e.addAttributeListener("schemeColor",r),super.setPlot(e,n)}convolve(){return super.convolve().rasterize()}rasterize(){let{bins:e,grids:n}=this,[r,o]=e,{numRows:i,columns:s}=n,{canvas:a,ctx:c,img:f}=lU(this,r,o),{alpha:u,alphaProp:p,color:l,colorProp:h}=R3(this),d=s[p]??[],m=s[h]??[],g=i>1&&h&&this.groupby?.includes(h)?j1(m,this.plot.getAttribute("colorDomain")):Jh(i);return this.data={numRows:i,columns:{src:Array.from({length:i},(y,x)=>(l?.(f.data,r,o,m[g[x]]),u?.(f.data,r,o,d[g[x]]),c.putImageData(f,0,0),a.toDataURL()))}},this}plotSpecs(){let{type:e,plot:n,data:{numRows:r,columns:o}}=this,i={src:o.src,width:n.innerWidth(),height:n.innerHeight(),preserveAspectRatio:"none",imageRendering:this.channel("imageRendering")?.value,frameAnchor:"middle"};return[{type:e,data:{length:r},options:i}]}},k3=class extends hu{constructor(e,n){super(e,{bandwidth:20,interpolate:"linear",pixelSize:2,...n})}};function R3(t){let{aggr:e,densityMap:n,groupby:r,plot:o}=t,i=e.includes(Br),s=e.includes("fillOpacity"),a=t.channel("fill"),c=t.channel("fillOpacity");if(e.length>2||i&&s)throw new Error("Invalid raster encodings. Try dropping an aggregate?");if(r.includes(c?.as))throw new Error("Raster fillOpacity must be an aggregate or constant.");let f=n.fill||e.includes("fill")?"grid":r.includes(a?.as)?"group":B1(a?.value)?a.value:i&&o.getAttribute("colorScheme")?"grid":void 0,u=n.fillOpacity||e.includes("fillOpacity")?"grid":typeof c?.value=="number"?c.value:i&&f!=="grid"?"grid":void 0;if(f!=="grid"&&u!=="grid")throw new Error("Raster mark missing density values.");let p=a?.as??(f==="grid"?Br:null),l=c?.as??(u==="grid"?Br:null),h=f!=="grid"&&f!=="group"?sC(f):fU(t,p),d=u!=="grid"?oC(u):cU(t,l);return{alphaProp:l,colorProp:p,alpha:d,color:h}}function cU(t,e){let{plot:n,grids:r}=t,o=n.getAttribute("opacityDomain"),i=o===Li,s=o?.[je],a=!i&&!s&&o||Zh(r.columns[e]);(i||s||!o)&&(i||(a[je]=!0),n.setAttribute("opacityDomain",a));let c=xs({opacity:{type:n.getAttribute("opacityScale"),domain:a,range:n.getAttribute("opacityRange"),clamp:n.getAttribute("opacityClamp"),nice:n.getAttribute("opacityNice"),reverse:n.getAttribute("opacityReverse"),zero:n.getAttribute("opacityZero"),base:n.getAttribute("opacityBase"),exponent:n.getAttribute("opacityExponent"),constant:n.getAttribute("opacityConstant")}});return iC(c)}function fU(t,e){let{plot:n,grids:r}=t,o=r.columns[e],i=!o[0]?.map,s=i||Array.isArray(o[0]),a=n.getAttribute("colorDomain"),c=a===Li,f=a?.[je],u=!c&&!f&&a||(i?o.slice().sort(dt):s?nC(o):Zh(o));(c||f||!a)&&(c||(u[je]=!0),n.setAttribute("colorDomain",u));let p=xs({color:{type:n.getAttribute("colorScale"),domain:u,range:n.getAttribute("colorRange"),clamp:n.getAttribute("colorClamp"),n:n.getAttribute("colorN"),nice:n.getAttribute("colorNice"),reverse:n.getAttribute("colorReverse"),scheme:n.getAttribute("colorScheme"),interpolate:n.getAttribute("colorInterpolate"),pivot:n.getAttribute("colorPivot"),symmetric:n.getAttribute("colorSymmetric"),zero:n.getAttribute("colorZero"),base:n.getAttribute("colorBase"),exponent:n.getAttribute("colorExponent"),constant:n.getAttribute("colorConstant")}});if(s)return aC(p);{let l=xs({x:{type:uU(p.type),domain:p.domain,reverse:p.reverse,range:[0,1],clamp:p.clamp,base:p.base,exponent:p.exponent,constant:p.constant}});return cC(1024,p,l.apply)}}function uU(t){return t.endsWith("symlog")?"symlog":t.endsWith("log")?"log":t.endsWith("pow")?"pow":t.endsWith("sqrt")?"sqrt":t==="diverging"?"linear":t}function lU(t,e,n){if(!t.image||t.image.w!==e||t.image.h!==n){let r=X1(e,n),o=r.getContext("2d",{willReadFrequently:!0}),i=o.getImageData(0,0,e,n);t.image={canvas:r,ctx:o,img:i,w:e,h:n}}return t.image}var L3=class extends hu{constructor(e,n){let{normalize:r=!0,...o}=n;super(e,o),this.normalize=se(r,i=>(this.normalize=i,this.requestUpdate()))}query(e=[]){let{channels:n,normalize:r,pad:o}=this,[i,s]=this.bins=this.binDimensions(),[a]=rr(this,"x",i,Lo(this,e),o),[c]=rr(this,"y",s,Oo(this,e),o),f=yt.from(this.sourceTable()).where(pU(this,e));this.aggr=["density"];let u=this.groupby=[],p=[];for(let l of n)if(Object.hasOwn(l,"field")){let{channel:h,field:d}=l;h==="z"?(f.select({[h]:d}),p.push("z")):h!=="x"&&h!=="y"&&(f.select({[h]:d}),u.push(h))}return r2(f,a,c,p,i,s,u,r)}};function pU(t,e){if(Array.isArray(e)&&!e.length)return e;let n=t.channelField("x").column,r=t.channelField("y").column,o=s=>{let a=`${s.expr}`;return s.type!=="BETWEEN"||a!==n&&a!==r},i=s=>s.op==="AND"?Fn(s.clauses.filter(a=>o(a))):s;return Array.isArray(e)?e.filter(s=>o(s)).map(s=>i(s)):i(e)}var hU={fill:1,stroke:1,z:1},O3=class extends tn{constructor(e,n,r){let{bins:o=1024,bandwidth:i=20,normalize:s=!1,stack:a=!1,...c}=r,f=e.endsWith("X")?"y":"x";super(e,n,c,f==="x"?A3:E3),this.dim=f,this.bins=se(o,u=>(this.bins=u,this.requestUpdate())),this.bandwidth=se(i,u=>(this.bandwidth=u,this.grids?this.convolve().update():null)),this.normalize=se(s,u=>(this.normalize=u,this.convolve().update())),this.stack=se(a,u=>(this.stack=u,this.update()))}get filterStable(){let e=this.dim==="x"?"xDomain":"yDomain",n=this.plot.getAttribute(e);return n&&!n[je]}query(e=[]){if(this.hasOwnData())throw new Error("Density1DMark requires a data source");let{bins:n,channels:r,dim:o}=this,i=this.extent=(o==="x"?Lo:Oo)(this,e),[s,a]=rr(this,o,n,i),c=Qh(r,this.sourceTable(),[o]).where(e.concat(yn(a,i))),f=this.channelField("weight")?"weight":null,u=this.groupby=r.flatMap(p=>hU[p.channel]&&p.field?p.as:[]);return e2(c,s,f,u)}queryResult(e){let n=cr(e).columns;return this.grids=tC(this.bins,n.index,n.density,n,this.groupby),this.convolve()}convolve(){let{bins:e,bandwidth:n,normalize:r,dim:o,grids:i,groupby:s,plot:a,extent:[c,f]}=this,u=i.columns,p=i.numRows,l=this.channelField(o).as,h=o==="x"?"y":"x",d=o==="x"?a.innerWidth():a.innerHeight(),m=u._grid.some(M=>M.some(E=>E<0)),g=Kh(n*(e-1)/d,m),y=+c,x=(f-y)/(e-1),b=e*p,w=new Float64Array(b),_=new Float64Array(b),v=s.reduce((M,E)=>(M[E]=Array(b),M),{});for(let M=0,E=0;E<p;++E){s.forEach(k=>v[k].fill(u[k][E],M,M+e));let T=u._grid[E],I=U1(g,T,e),A=1/dU(T,I,x,r);for(let k=0;k<e;++k,++M)w[M]=y+k*x,_[M]=I[k]*A}return this.data={numRows:b,columns:{[l]:w,[h]:_,...v}},this}plotSpecs(){let{type:e,data:{numRows:n,columns:r},channels:o,dim:i,stack:s}=this,a=e.startsWith("area")&&!s?"2":"",c=i==="x"?{[`y${a}`]:r.y}:{[`x${a}`]:r.x};for(let f of o)c[f.channel]=mn(f,r);return[{type:e,data:{length:n},options:c}]}};function dU(t,e,n,r){return(r===!0||r==="sum"?Ee(t):r==="max"?Mt(e):n)||1}var $3=class extends zr{constructor(e,n){let{type:r="dot",...o}=n;super(r,e,{bandwidth:20,interpolate:"linear",pad:0,pixelSize:2,...o})}convolve(){super.convolve();let{bins:e,pad:n,extentX:r,extentY:o}=this,[i,s]=e,a=nc(this,"x"),c=nc(this,"y"),[f,u]=r.map(g=>a.apply(g)),[p,l]=o.map(g=>c.apply(g)),h=(u-f)/(i-n),d=(l-p)/(s-n),m=n?0:.5;return this.data=mU(this.grids,e,f,p,h,d,a.invert,c.invert,m),this}plotSpecs(){let{type:e,channels:n,densityMap:r,data:{numRows:o,columns:i}}=this,s={};for(let a of n){let{channel:c}=a;s[c]=c==="x"||c==="y"?i[c]:mn(a,i)}for(let a in r)r[a]&&(s[a]=i.density);return[{type:e,data:{length:o},options:s}]}};function mU(t,e,n,r,o,i,s,a,c){let f=1/(o*i),[u,p]=e,l=u*p,h=l*t.numRows,d=new Float64Array(h),m=new Float64Array(h),g=new Float64Array(h),y={x:d,y:m,density:g},{density:x,...b}=t.columns;for(let _ in b)y[_]=new b[_].constructor(h);let w=0;for(let _=0;_<t.numRows;++_){for(let M in b)y[M].fill(b[M][_],w,w+l);let v=x[_];for(let M=0,E=0;E<p;++E)for(let T=0;T<u;++T,++w,++M)d[w]=s(n+(T+c)*o),m[w]=a(r+(E+c)*i),g[w]=v[M]*f}return{numRows:h,columns:y}}function gU(t,e,n){var r=1e-8,o=e-1,i=n-1,s=0,a,c,f,u,p,l,h,d,m,g,y;if(t<=0)return 0;if(t>=1)return 1;for(e>=1&&n>=1?(f=t<.5?t:1-t,u=Math.sqrt(-2*Math.log(f)),h=(2.30753+u*.27061)/(1+u*(.99229+u*.04481))-u,t<.5&&(h=-h),d=(h*h-3)/6,m=2/(1/(2*e-1)+1/(2*n-1)),g=h*Math.sqrt(d+m)/m-(1/(2*n-1)-1/(2*e-1))*(d+5/6-2/(3*m)),h=e/(e+n*Math.exp(2*g))):(a=Math.log(e/(e+n)),c=Math.log(n/(e+n)),u=Math.exp(e*a)/e,p=Math.exp(n*c)/n,g=u+p,t<u/g?h=Math.pow(e*g*t,1/e):h=1-Math.pow(n*g*(1-t),1/n)),y=-du(e)-du(n)+du(e+n);s<10;s++){if(h===0||h===1)return h;if(l=yU(h,e,n)-t,u=Math.exp(o*Math.log(h)+i*Math.log(1-h)+y),p=l/u,h-=u=p/(1-.5*Math.min(1,p*(o/h-i/(1-h)))),h<=0&&(h=.5*(h+u)),h>=1&&(h=.5*(h+u+1)),Math.abs(u)<r*h&&s>0)break}return h}function yU(t,e,n){var r=t===0||t===1?0:Math.exp(du(e+n)-du(e)-du(n)+e*Math.log(t)+n*Math.log(1-t));return t<0||t>1?0:t<(e+1)/(e+n+2)?r*fC(t,e,n)/e:1-r*fC(1-t,n,e)/n}function fC(t,e,n){var r=1e-30,o=1,i=e+n,s=e+1,a=e-1,c=1,f=1-i*t/s,u,p,l,h;for(Math.abs(f)<r&&(f=r),f=1/f,h=f;o<=100&&(u=2*o,p=o*(n-o)*t/((a+u)*(e+u)),f=1+p*f,Math.abs(f)<r&&(f=r),c=1+p/c,Math.abs(c)<r&&(c=r),f=1/f,h*=f*c,p=-(e+o)*(i+o)*t/((e+u)*(s+u)),f=1+p*f,Math.abs(f)<r&&(f=r),c=1+p/c,Math.abs(c)<r&&(c=r),f=1/f,l=f*c,h*=l,!(Math.abs(l-1)<3e-7));o++);return h}function du(t){var e=0,n=[76.18009172947146,-86.5053203294167,24.01409824083091,-1.231739572450155,.001208650973866179,-5395239384953e-18],r=1.000000000190015,o,i,s;for(s=(i=o=t)+5.5,s-=(o+.5)*Math.log(s);e<6;e++)r+=n[e]/++i;return Math.log(2.506628274631*r/o)-s}function uC(t,e){var n=gU(2*Math.min(t,1-t),.5*e,.5);return n=Math.sqrt(e*(1-n)/n),t>.5?n:-n}function lC(t){let e=-Math.log((1-t)*(1+t)),n;return e<6.25?(e-=3.125,n=-364441206401782e-35,n=-16850591381820166e-35+n*e,n=128584807152564e-32+n*e,n=11157877678025181e-33+n*e,n=-1333171662854621e-31+n*e,n=20972767875968562e-33+n*e,n=6637638134358324e-30+n*e,n=-4054566272975207e-29+n*e,n=-8151934197605472e-29+n*e,n=26335093153082323e-28+n*e,n=-12975133253453532e-27+n*e,n=-5415412054294628e-26+n*e,n=10512122733215323e-25+n*e,n=-4112633980346984e-24+n*e,n=-29070369957882005e-24+n*e,n=42347877827932404e-23+n*e,n=-13654692000834679e-22+n*e,n=-13882523362786469e-21+n*e,n=.00018673420803405714+n*e,n=-.000740702534166267+n*e,n=-.006033670871430149+n*e,n=.24015818242558962+n*e,n=1.6536545626831027+n*e):e<16?(e=Math.sqrt(e)-3.25,n=22137376921775787e-25,n=9075656193888539e-23+n*e,n=-27517406297064545e-23+n*e,n=18239629214389228e-24+n*e,n=15027403968909828e-22+n*e,n=-4013867526981546e-21+n*e,n=29234449089955446e-22+n*e,n=12475304481671779e-21+n*e,n=-47318229009055734e-21+n*e,n=6828485145957318e-20+n*e,n=24031110387097894e-21+n*e,n=-.0003550375203628475+n*e,n=.0009532893797373805+n*e,n=-.0016882755560235047+n*e,n=.002491442096107851+n*e,n=-.003751208507569241+n*e,n=.005370914553590064+n*e,n=1.0052589676941592+n*e,n=3.0838856104922208+n*e):Number.isFinite(e)?(e=Math.sqrt(e)-5,n=-27109920616438573e-27,n=-2555641816996525e-25+n*e,n=15076572693500548e-25+n*e,n=-3789465440126737e-24+n*e,n=761570120807834e-23+n*e,n=-1496002662714924e-23+n*e,n=2914795345090108e-23+n*e,n=-6771199775845234e-23+n*e,n=22900482228026655e-23+n*e,n=-99298272942317e-20+n*e,n=4526062597223154e-21+n*e,n=-1968177810553167e-20+n*e,n=7599527703001776e-20+n*e,n=-.00021503011930044477+n*e,n=-.00013871931833623122+n*e,n=1.0103004648645344+n*e,n=4.849906401408584+n*e):n=1/0,n*t}var D3=class extends tn{constructor(e,n,r){let o=e.endsWith("X")?"y":"x",{ci:i=.95,...s}=r;super(e,n,s),this.dim=o,this.field=this.channelField(o).field,this.channels=this.channels.filter(a=>a.channel!==o),this.ci=se(i,a=>(this.ci=a,this.update()))}query(e=[]){let{channels:n,field:r}=this,o=n.concat([{field:$b(r),as:"__avg__"},{field:Lt(zb(r),Uo(rn(r))),as:"__se__"}]);return Qh(o,this.sourceTable()).where(e)}queryResult(e){return this.data=cr(e),this}plotSpecs(){let{type:e,dim:n,detail:r,data:o,ci:i,channels:s}=this,a=Math.SQRT2*lC(i),{columns:{__avg__:c,__se__:f}}=o,u={[`${n}1`]:c.map((p,l)=>p-a*f[l]),[`${n}2`]:c.map((p,l)=>p+a*f[l])};return S3(e,r,s,o,u)}};var xU="geom",F3=class extends tn{constructor(e,n={},r){!z1(e)&&!n?.geometry&&(n.geometry=Qb(xU)),super("geo",e,n,r)}queryResult(e){super.queryResult(e);let n=this.channelField("geometry")?.as;if(n){let{columns:r}=this.data;typeof r[n][0]=="string"&&(r[n]=r[n].map(o=>JSON.parse(o)))}return this}};var P3=class extends tn{constructor(e,n){let{type:r="hexagon",binWidth:o=20,...i}=n;super(r,e,{r:o/2,clip:!0,...i},Y1),this.binWidth=se(o,s=>(this.binWidth=s,this.requestUpdate()))}get filterStable(){let e=this.plot.getAttribute("xDomain"),n=this.plot.getAttribute("yDomain");return e&&n&&!e[je]&&!n[je]}query(e=[]){if(this.hasOwnData())return null;let{plot:n,binWidth:r,channels:o}=this,i,s,a=new Set,c={};for(let I of o)if(I.channel!=="orderby"){if(I.channel==="x")i=I;else if(I.channel==="y")s=I;else if(Object.hasOwn(I,"field")){let{as:A,field:k}=I;c[A]=k,xn(k)||a.add(A)}}let[f,u]=Lo(this,e),[p,l]=Oo(this,e),h=.5-n.getAttribute("marginLeft"),d=0-n.getAttribute("marginTop"),m=de(r),g=de(r*(1.5/Math.sqrt(3))),y=de(n.innerWidth()/(u-f)),x=de(n.innerHeight()/(l-p)),b="_x",w="_y",_="_px",v="_py",M="_pi",E="_pj",T="_tt";return yt.select({[i.as]:Nt(de(f),Lt(Nt(pt(Nt(b,pt(.5,rl(w,1))),m),h),y)),[s.as]:ut(de(l),Lt(Nt(pt(w,g),d),x)),...c}).groupby(b,w,...a).from(yt.select({[v]:Lt(ut(pt(x,ut(l,s.field)),d),g),[E]:Ht(jo(v)),[_]:ut(Lt(ut(pt(y,ut(i.field,f)),h),m),pt(.5,rl(E,1))),[M]:Ht(jo(_)),[T]:Fn(Hr(pt(Le(ut(v,E)),3),1),Hr(Nt(me(ut(_,M),2),me(ut(v,E),2)),Nt(me(ut(ut(_,M),pt(.5,Yo(le(_,M),-1,1))),2),me(ut(ut(v,E),Yo(le(v,E),-1,1)),2)))),[b]:Yo(T,Ht(Nt(Nt(M,Yo(le(_,M),-.5,.5)),Yo(Xo(rl(E,1),0),.5,-.5))),M),[w]:Yo(T,Ht(Nt(E,Yo(le(v,E),-1,1))),E)},"*").from(this.sourceTable()).where(Vr(i.field),Vr(s.field),e))}};var q3=class extends zr{constructor(e,n){let{origin:r=[0,0],dim:o="xy",...i}=n;super("image",e,i),this.image=null,this.origin=r,this.tileX=o.toLowerCase().includes("x"),this.tileY=o.toLowerCase().includes("y")}setPlot(e,n){let r=()=>{this.hasFieldInfo()&&this.rasterize()};e.addAttributeListener("schemeColor",r),super.setPlot(e,n)}requestQuery(){return this.requestTiles()}query(e=[]){return this._filter=e,null}tileQuery(e){let{interpolate:n,pad:r,channels:o,densityMap:i}=this,[[s,a],[c,f]]=e,[u,p]=this.bins,[l,h]=rr(this,"x",u,[s,a],r),[d,m]=rr(this,"y",p,[c,f],r),g=r?[yn(h,[+s,+a]),yn(m,[+c,+f])]:[Cr(+s,h),le(h,+a),Cr(+c,m),le(m,+f)],y=yt.from(this.sourceTable()).where(g),x=this.groupby=[],b={};for(let _ of o)if(Object.hasOwn(_,"field")){let{as:v,channel:M,field:E}=_;E.aggregate?(b[M]=E,i[M]=!0):M==="weight"?b.density=Pt(E):M!=="x"&&M!=="y"&&(y.select({[v]:E}),x.push(v))}let w=this.aggr=Object.keys(b);if(b.density&&w.length>1)throw new Error("Weight option can not be used with custom aggregates.");if(w.length||(w.push("density"),b.density=rn()),n==="linear"){if(w.length>1)throw new Error("Linear binning not applicable to multiple aggregates.");if(!b.density)throw new Error("Linear binning not applicable to custom aggregates.");return MU(y,l,d,b.density,u,x)}else return _U(y,l,d,b,u,x)}async requestTiles(){let e=Wm();this.prefetch&&e.cancel(this.prefetch);let{pad:n,tileX:r,tileY:o,origin:[i,s]}=this,[a,c]=this.bins=this.binDimensions(),[f,u]=Lo(this,this._filter),[p,l]=Oo(this,this._filter),h=u-f,d=l-p,m=Math.floor((f-i)*(a-n)/h),g=Math.floor((p-s)*(c-n)/d),y=(A,k)=>[[i+A*h,i+(A+1)*h],[s+k*d,s+(k+1)*d]],x=Math.floor((f-i)/h),b=r?pC((u-i)/h):x,w=Math.floor((p-s)/d),_=o?pC((l-s)/d):w,v=[];for(let A=x;A<=b;++A)for(let k=w;k<=_;++k)v.push([A,k]);let M=v.map(([A,k])=>e.query(this.tileQuery(y(A,k)))),E=[];if(r)for(let A=w;A<=_;++A)E.push([b+1,A]),E.push([x-1,A]);if(o){let A=r?x-1:x,k=r?b+1:b;for(let L=A;L<=k;++L)E.push([L,_+1]),E.push([L,w-1])}this.prefetch=E.map(([A,k])=>e.prefetch(this.tileQuery(y(A,k))));let T=await Promise.all(M),I=bU(a,c,m,g,v,T);this.grids0={numRows:I.length,columns:{density:[I]}},this.convolve().update()}convolve(){return super.convolve().rasterize()}rasterize(){let{bins:e,grids:n}=this,[r,o]=e,{numRows:i,columns:s}=n,{canvas:a,ctx:c,img:f}=vU(this,r,o),{alpha:u,alphaProp:p,color:l,colorProp:h}=R3(this),d=s[p]??[],m=s[h]??[],g=i>1&&h&&this.groupby?.includes(h)?j1(m,this.plot.getAttribute("colorDomain")):Jh(i);return this.data={numRows:i,columns:{src:Array.from({length:i},(y,x)=>(l?.(f.data,r,o,m[g[x]]),u?.(f.data,r,o,d[g[x]]),c.putImageData(f,0,0),a.toDataURL()))}},this}plotSpecs(){let{type:e,plot:n,data:{numRows:r,columns:o}}=this,i={src:o.src,width:n.innerWidth(),height:n.innerHeight(),preserveAspectRatio:"none",imageRendering:this.channel("imageRendering")?.value,frameAnchor:"middle"};return[{type:e,data:{length:r},options:i}]}};function bU(t,e,n,r,o,i){let s=new Float64Array(t*e);return i.forEach((a,c)=>{let[f,u]=o[c],p=f*t-n,l=u*e-r;wU(t,e,s,a,p,l)}),s}function wU(t,e,n,r,o,i){let s=r.numRows;if(s===0)return;let a=r.getChild("index").toArray(),c=r.getChild("density").toArray();for(let f=0;f<s;++f){let u=a[f],p=o+u%t,l=i+Math.floor(u/t);0<=p&&p<t&&0<=l&&l<e&&(n[p+l*t]=c[f])}}function vU(t,e,n){if(!t.image||t.image.w!==e||t.image.h!==n){let r=X1(e,n),o=r.getContext("2d",{willReadFrequently:!0}),i=o.getImageData(0,0,e,n);t.image={canvas:r,ctx:o,img:i,w:e,h:n}}return t.image}function _U(t,e,n,r,o,i){return t.select({index:Ae`FLOOR(${e})::INTEGER + FLOOR(${n})::INTEGER * ${o}`,...r}).groupby("index",i)}function MU(t,e,n,r,o,i){let s=r.column?`* ${r.column}`:"",a=(l,h)=>t.clone().select({xp:e,yp:n,i:l,w:h}),c=a(Ae`FLOOR(xp)::INTEGER + FLOOR(yp)::INTEGER * ${o}`,Ae`(FLOOR(xp)::INTEGER + 1 - xp) * (FLOOR(yp)::INTEGER + 1 - yp)${s}`),f=a(Ae`FLOOR(xp)::INTEGER + (FLOOR(yp)::INTEGER + 1) * ${o}`,Ae`(FLOOR(xp)::INTEGER + 1 - xp) * (yp - FLOOR(yp)::INTEGER)${s}`),u=a(Ae`FLOOR(xp)::INTEGER + 1 + FLOOR(yp)::INTEGER * ${o}`,Ae`(xp - FLOOR(xp)::INTEGER) * (FLOOR(yp)::INTEGER + 1 - yp)${s}`),p=a(Ae`FLOOR(xp)::INTEGER + 1 + (FLOOR(yp)::INTEGER + 1) * ${o}`,Ae`(xp - FLOOR(xp)::INTEGER) * (yp - FLOOR(yp)::INTEGER)${s}`);return yt.from(yt.unionAll(c,f,u,p)).select({index:"i",density:Pt("w")},i).groupby("index",i).having(Xo("density",0))}function pC(t){let e=Math.floor(t);return e===t?e-1:e}var z3=class extends tn{constructor(e,n){let{ci:r=.95,precision:o=4,...i}=n;super("line",e,i);let s=()=>this.modelFit?this.confidenceBand().update():null;this.ci=se(r,a=>(this.ci=a,s())),this.precision=se(o,a=>(this.precision=a,s()))}query(e=[]){let n=this.channelField("x").as,r=this.channelField("y").as,o=Array.from(new Set(["stroke","z","fx","fy"].flatMap(i=>this.channelField(i)?.as||[])));return yt.from(super.query(e)).select({intercept:Fb(r,n),slope:Bb(r,n),n:el(r,n),ssy:qb(r,n),ssx:Pb(r,n),xm:tl(r,n),x0:de(Wr(n).where(Vr(r))),x1:de(jn(n).where(Vr(r)))}).select(o).groupby(o)}queryResult(e){return this.modelFit=cr(e),this.lineData=SU(this.modelFit),this.confidenceBand()}confidenceBand(){let{ci:e,modelFit:n,precision:r,plot:o}=this,i=o.innerWidth();return this.areaData=e?AU(n,e,r,i):null,this}plotSpecs(){let{lineData:e,areaData:n,channels:r,ci:o}=this,i=e.columns,s=o?n.columns:{},a={x:i.x,y:i.y},c={x:s.x,y1:s.y1,y2:s.y2,fillOpacity:.1};for(let f of r)switch(f.channel){case"x":case"y":case"fill":break;case"tip":c.tip=mn(f,s);break;case"stroke":a.stroke=mn(f,i),c.fill=mn(f,s);break;case"strokeOpacity":a.strokeOpacity=mn(f,i);break;case"fillOpacity":c.fillOpacity=mn(f,s);break;default:a[f.channel]=mn(f,i),c[f.channel]=mn(f,s);break}return[...o?[{type:"areaY",data:{length:n.numRows},options:c}]:[],{type:"line",data:{length:e.numRows},options:a}]}};function B3(t,e){if(t.concat)return t.concat(e);let n=new t.constructor(t.length+e.length);return n.set(t,0),n.set(e,t.length),n}function SU(t){let{x0:e=[],x1:n=[],xm:r,intercept:o,slope:i,n:s,ssx:a,ssy:c,...f}=t.columns,u=(h,d)=>o[d]+h*i[d],p=B3(e,n),l=B3(e.map(u),n.map(u));for(let h in f)f[h]=B3(f[h],f[h]);return{numRows:p.length,columns:{x:p,y:l,...f}}}function AU(t,e,n,r){let o=t.numRows,{x0:i,x1:s,xm:a,intercept:c,slope:f,n:u,ssx:p,ssy:l,...h}=t.columns,d=Object.keys(h),m={x:[],y1:[],y2:[]};d.forEach(g=>m[g]=[]);for(let g=0;g<o;++g){let y=n*(s[g]-i[g])/r,x=uC((1-e)/2,u[g]-2)*Math.sqrt(l[g]/(u[g]-2));pe(i[g],s[g]-y/2,y).concat(s[g]).forEach(b=>{let w=c[g]+b*f[g],_=x*Math.sqrt(1/u[g]+(b-a[g])**2/p[g]);m.x.push(b),m.y1.push(w-_),m.y2.push(w+_),d.forEach(v=>m[v].push(h[v][g]))})}return{numRows:m.x.length,columns:m}}function mu(t){t.tagName==="a"&&(t=t.children[0]);let e=t.__data__;return Array.isArray(e)?e[0]:e}function hC(t){let e=t.toLowerCase(),n=t.length,r="";for(let o=0;o<n;++o)r+=(t[o]!==e[o]?"-":"")+e[o];return r}function Ps(t){let e={};for(let n in t)e[hC(n)]=t[n];return e}function EU(t){let{channels:e}=t,n=new Set,r=!1,o=!1;for(let i of e){let{channel:s,field:a,as:c}=i;if(s==="orderby")r=!0;else if(a)if(xn(a))o=!0;else{if(n.has(c))continue;n.add(c)}}return!r&&o&&n.size&&t.channels.push({channel:"orderby",value:Array.from(n)}),t}var Y3=class{constructor(e,{selection:n,channels:r={}}){this.mark=EU(e),this.selection=n;let o=Object.entries(Ps(r));this.channels=o.length?o:[["opacity",.2]],this.selection.addEventListener("value",cl(()=>this.update()))}init(e){this.svg=e;let n=this.values=[],o=`g[data-index="${this.mark.index}"]`,i=`${o} > *:not(g), ${o} > g > *`,s=this.nodes=e.querySelectorAll(i),{channels:a}=this;for(let c=0;c<s.length;++c){let f=s[c];n.push(a.map(u=>f.getAttribute(u[0])))}return this.update()}async update(){let{svg:e,nodes:n,channels:r,values:o,mark:i,selection:s}=this;if(!e)return;let a=await TU(i,s);for(let c=0;c<n.length;++c){let f=n[c],u=o[c],p=a(mu(f));for(let l=0;l<r.length;++l){let[h,d]=r[l];f.setAttribute(h,p?u[l]:d)}}}};async function TU(t,e){let n=e?.predicate(t);if(!n||n.length===0)return()=>!0;let r=t.filterBy?.predicate(t,!0),o={__:Fn(n)},i=t.query(r);(i.queries||[i]).forEach(c=>{c._groupby.length?c.select(o):c.setSelect(o)});let s=await t.coordinator.query(i),a=s.getChild?.("__");return s.numRows||s.length?a?c=>a.at(c):c=>s[c].__:()=>!1}function W1(){let t=this,e=t.getScreenCTM,n;t.getScreenCTM=()=>t.isConnected?n=e.call(t):n}function U3(t){let e=t.on,n=!0;function r(o){n=!1,o(),n=!0}return t.reset=(...o)=>{r(()=>t.clear(...o))},t.moveSilent=(...o)=>{r(()=>t.move(...o))},t.on=(...o)=>{if(o.length>1&&o[1]){let i=o[1];o[1]=(...s)=>n&&i(...s)}return e(...o)},t}function G1(){return U3(J2())}function dC(){return U3(Z2())}function mC(){return U3(K2())}function V1(t,e,n,r,o){let i=Et(e??t).append("g").attr("class",o),s=t.scale("fx"),a=t.scale("fy");if(s||a){let c=s?.domain.map(u=>s.apply(u)-n),f=a?.domain.map(u=>a.apply(u)-r);if(c&&f)for(let u=0;u<c.length;++u)for(let p=0;p<f.length;++p)i.append("g").attr("transform",`translate(${c[u]}, ${f[p]})`);else if(c)for(let u=0;u<c.length;++u)i.append("g").attr("transform",`translate(${c[u]}, 0})`);else if(f)for(let u=0;u<f.length;++u)i.append("g").attr("transform",`translate(0, ${f[u]})`);i=i.selectAll("g")}return i.each(W1)}function td(t,e){return t===e||t&&e&&Math.abs(t[0]-e[0])<1e-12&&Math.abs(t[1]-e[1])<1e-12||!1}function gC(t){if(Re(t)){if(t.type==="COLUMN_REF")return t.column;if(t.type==="AGGREGATE")return t.args[0]??t}return t}function $o(t,e){return gC(t.channelField(e)?.field)}function yC(t,e){let n=[],r=[];return e.forEach(o=>{let i=o==="color"?["color","fill","stroke"]:o==="x"?["x","x1","x2"]:o==="y"?["y","y1","y2"]:[o];for(let s=0;s<i.length;++s){let a=t.channelField(i[s],{exact:!0});if(a){n.push(gC(a.field)),r.push(a.as);return}}throw new Error(`Missing channel: ${o}`)}),{fields:n,as:r}}function ed(t,e,n=1){return e.invert(n*Math.floor(t/n))}var nd=class{constructor(e,{channel:n,selection:r,field:o=void 0,pixelSize:i=1,peers:s=!0,brush:a}){this.mark=e,this.channel=n,this.pixelSize=i||1,this.selection=r,this.peers=s,this.field=o||$o(e,n),this.style=a&&Ps(a),this.brush=n==="y"?mC():dC(),this.brush.on("brush end",({selection:c})=>this.publish(c))}reset(){this.value=void 0,this.g&&this.brush.reset(this.g)}activate(){this.selection.activate(this.clause(this.value||[0,1]))}publish(e){let n;e&&(n=e.map(r=>ed(r,this.scale,this.pixelSize)).sort((r,o)=>r-o)),td(n,this.value)||(this.value=n,this.g.call(this.brush.moveSilent,e),this.selection.update(this.clause(n)))}clause(e){let{mark:n,pixelSize:r,field:o,scale:i}=this;return fl(o,e,{source:this,clients:this.peers?n.plot.markSet:new Set().add(n),scale:i,pixelSize:r})}init(e,n){let{brush:r,channel:o,style:i}=this;this.scale=e.scale(o);let s=this.value?.map(this.scale.apply).sort(dt),a=e.scale("x").range,c=e.scale("y").range;if(r.extent([[At(a),At(c)],[Mt(a),Mt(c)]]),this.g=V1(e,n,At(a),At(c),`interval-${o}`).call(r).call(r.moveSilent,s),i){let f=this.g.selectAll("rect.selection");for(let u in i)f.attr(u,i[u])}e.addEventListener("pointerenter",f=>{f.buttons||this.activate()})}};var j3=class{constructor(e,{selection:n,xfield:r,yfield:o,pixelSize:i=1,peers:s=!0,brush:a}){this.mark=e,this.pixelSize=i||1,this.selection=n,this.peers=s,this.xfield=r||$o(e,"x"),this.yfield=o||$o(e,"y"),this.style=a&&Ps(a),this.brush=G1(),this.brush.on("brush end",({selection:c})=>this.publish(c))}reset(){this.value=void 0,this.g&&this.brush.reset(this.g)}activate(){this.selection.activate(this.clause(this.value||[[0,1],[0,1]]))}publish(e){let{value:n,pixelSize:r,xscale:o,yscale:i}=this,s,a;if(e){let[c,f]=e;s=[c[0],f[0]].map(u=>ed(u,o,r)).sort(dt),a=[c[1],f[1]].map(u=>ed(u,i,r)).sort(dt)}(!td(s,n?.[0])||!td(a,n?.[1]))&&(this.value=e?[s,a]:void 0,this.g.call(this.brush.moveSilent,e),this.selection.update(this.clause(this.value)))}clause(e){let{mark:n,pixelSize:r,xfield:o,yfield:i,xscale:s,yscale:a}=this;return h2([o,i],e,{source:this,clients:this.peers?n.plot.markSet:new Set().add(n),scales:[s,a],pixelSize:r})}init(e){let{brush:n,style:r,value:o}=this,i=this.xscale=e.scale("x"),s=this.yscale=e.scale("y"),a=i.range,c=s.range;if(n.extent([[At(a),At(c)],[Mt(a),Mt(c)]]),this.g=V1(e,null,At(a),At(c),"interval-xy").call(n),r){let f=this.g.selectAll("rect.selection");for(let u in r)f.attr(u,r[u])}if(o){let[f,u]=o[0].map(i.apply).sort(dt),[p,l]=o[1].map(s.apply).sort(dt);this.g.call(n.moveSilent,[[f,p],[u,l]])}e.addEventListener("pointerenter",f=>{f.buttons||this.activate()})}};var X3=class{constructor(e,{selection:n,pointer:r,channels:o,fields:i,maxRadius:s=40}){this.mark=e,this.selection=n,this.clients=new Set().add(e),this.pointer=r,this.channels=o||(r==="x"?["x"]:r==="y"?["y"]:["x","y"]),this.fields=i||this.channels.map(a=>$o(e,[a])),this.maxRadius=s,this.valueIndex=-1}clause(e){let{clients:n,fields:r}=this,o={source:this,clients:n};return r.length>1?na(r,e&&[e],o):p2(r[0],e?.[0],o)}init(e){let n=this,{mark:r,channels:o,selection:i,maxRadius:s}=this,{data:{columns:a}}=r,c=o.map(m=>r.channelField(m).as),f=!l2(i),[u,p]=IU(e,r),l=this.pointer==="y"?.01:1,h=this.pointer==="x"?.01:1,d=Et(e);d.on("pointerenter pointerdown pointermove",function(m){let[g,y]=sn(m,this),x=CU(u,p,g,y,l,h,s);if(x!==this.valueIndex){this.valueIndex=x;let b=x<0?void 0:c.map(w=>a[w][x]);i.update(f?!b||b.length>1?b:b[0]:n.clause(b))}}),!f&&(d.on("pointerleave",()=>{i.update(n.clause(void 0))}),e.addEventListener("pointerenter",m=>{m.buttons||this.activate()}))}activate(){let e=this.channels.map(()=>0);this.selection.activate(this.clause(e))}};function IU(t,e){let{data:{columns:n}}=e,r=p=>n[e.channelField(p)?.as],o=p=>t.scale(p),i=t.scale("x"),s=t.scale("y"),a=o("fx")?.apply,c=o("fy")?.apply,f=Array.from(r("x"),i.apply),u=Array.from(r("y"),s.apply);if(a){let p=At(i.range),l=r("fx");for(let h=0;h<l.length;++h)f[h]+=a(l[h])-p}if(c){let p=At(s.range),l=r("fy");for(let h=0;h<l.length;++h)u[h]+=c(l[h])-p}return[f,u]}function CU(t,e,n,r,o,i,s){let a=s*s,c=-1;for(let f=0;f<t.length;++f){let u=o*(t[f]-n),p=i*(e[f]-r),l=u*u+p*p;l<=a&&(a=l,c=f)}return c}var xC=(t,e)=>t-e,G3=class{constructor(e,{x:n=new Ui,y:r=new Ui,xfield:o,yfield:i,zoom:s=!0,panx:a=!0,pany:c=!0}){this.mark=e,this.xsel=n,this.ysel=r,this.xfield=o||$o(e,"x"),this.yfield=i||$o(e,"y"),this.zoom=W3(s,[0,1/0],[1,1]),this.panx=this.xsel&&a,this.pany=this.ysel&&c;let{plot:f}=e;a&&this.xsel.addEventListener("value",u=>{f.setAttribute("xDomain",u)&&f.update()}),c&&this.ysel.addEventListener("value",u=>{f.setAttribute("yDomain",u)&&f.update()})}publish(e){if(this.panx){let n=NU(e,this.xscale);this.xsel.update(this.clause(n,this.xfield,this.xscale))}if(this.pany){let n=kU(e,this.yscale);this.ysel.update(this.clause(n,this.yfield,this.yscale))}}clause(e,n,r){return fl(n,e,{source:this,clients:this.mark.plot.markSet,scale:r})}init(e){if(this.svg=e,this.initialized)return;this.initialized=!0;let{panx:n,pany:r,mark:{plot:{element:o}}}=this;this.xscale=e.scale("x"),this.yscale=e.scale("y");let i=this.xscale.range.slice().sort(xC),s=this.yscale.range.slice().sort(xC),a=W3(n,[-1/0,1/0],i),c=W3(r,[-1/0,1/0],s),f=g_().extent([[i[0],s[0]],[i[1],s[1]]]).scaleExtent(this.zoom).translateExtent([[a[0],c[0]],[a[1],c[1]]]).on("start",()=>{this.xscale=this.svg.scale("x"),this.yscale=this.svg.scale("y")}).on("end",()=>o.__zoom=new Qn(1,0,0)).on("zoom",({transform:u})=>this.publish(u));if(Et(o).call(f),n||r){let u=!1;o.addEventListener("pointerenter",p=>{u||(u=!0,p.buttons||this.activate())}),o.addEventListener("pointerleave",()=>u=!1)}}activate(){if(this.panx){let{xscale:e,xfield:n}=this;this.xsel.activate(this.clause(e.domain,n,e))}if(this.pany){let{yscale:e,yfield:n}=this;this.ysel.activate(this.clause(e.domain,n,e))}}};function W3(t,e,n){return t?Array.isArray(t)?t:e:n}function NU(t,e){return e.range.map(t.invertX,t).map(e.invert,e)}function kU(t,e){return e.range.map(t.invertY,t).map(e.invert,e)}var RU={m:2,l:2,h:1,v:1,z:0,c:6,s:4,q:4,t:2,a:7},LU=/[mlhvzcsqta]([^mlhvzcsqta]+|$)/gi,OU=/^[+-]?(([0-9]*\.[0-9]+)|([0-9]+\.)|([0-9]+))([eE][+-]?[0-9]+)?/,$U=/^((\s+,?\s*)|(,\s*))/,DU=/^[01]/,bC=t=>`Invalid SVG path, incorrect parameter ${t}`;function wC(t){let e=[];return(t.match(LU)||[]).forEach(r=>{let o=r[0],i=o.toLowerCase(),s=RU[i],a=FU(i,s,r.slice(1).trim()),c=a.length;if(c<s||c&&c%s!==0)throw new Error(bC("count"));if(e.push([o,...a.slice(0,s)]),c!==s){i==="m"&&(o=o==="M"?"L":"l");for(let f=s;f<c;f+=s)e.push([o,...a.slice(f,f+s)])}}),e}function FU(t,e,n){let r=[];for(let o=0;e&&o<n.length;)for(let i=0;i<e;++i){let s=t==="a"&&(i===3||i===4)?DU:OU,a=n.slice(o).match(s);if(a===null)throw new Error(bC("type"));o+=a[0].length,r.push(+a[0]);let c=n.slice(o).match($U);c!==null&&(o+=c[0].length)}return r}function AC(t,e,n){let{x:r,y:o}=t.getBoundingClientRect(),i=t.createSVGMatrix(),s=[];for(let a of e.children)if(a.tagName==="g"){let c=EC(a)??i;for(let f of a.children)vC(n,r,o,f,c)&&s.push(f)}else vC(n,r,o,a,i)&&s.push(a);return s}function vC(t,e,n,r,o){let[[i,s],[a,c]]=t,{e:f,f:u}=o,p=r.getBoundingClientRect(),l=p.left-e,h=p.right-e,d=p.top-n,m=p.bottom-n;if(l>=i&&h<=a&&d>=s&&m<=c)return!0;if(l<=a&&h>=i&&d<=c&&m>=s){let g=r.tagName;if(g==="a"&&(r=r.children[0],g=r.tagName),g==="rect"||g==="text"||g==="image")return!0;switch(i-=f,s-=u,a-=f,c-=u,g){case"circle":return TC(i,s,a,c,rc(r.cx),rc(r.cy),rc(r.r));case"line":return IC(i,s,a,c,rc(r.x1),rc(r.y1),rc(r.x2),rc(r.y2));case"path":return PU(i,s,a,c,r)}}return!1}function rc(t){return t.baseVal.value}function EC(t){let e=t.transform.baseVal,n=e.length,r=e[0]?.matrix;for(let o=1;o<n;++o)r=r.multiply(e[o].matrix);return r}function TC(t,e,n,r,o,i,s){let a=t<=o&&o<=n,c=e<=i&&i<=r;if(a&&c)return!0;let f=Math.min(Math.abs(t-o),Math.abs(n-o));if(c&&f<=s)return!0;let u=Math.min(Math.abs(e-i),Math.abs(r-i));return a&&u<=s||f*f+u*u<=s*s}function IC(t,e,n,r,o,i,s,a){let c=Math.max(Math.min(o,s),t),f=Math.min(Math.max(o,s),n);if(c>f)return!1;let u=i,p=a,l=s-o;if(Math.abs(l)>1e-8){let m=(a-i)/l,g=i-m*o;u=m*c+g,p=m*f+g}let h=Math.max(Math.min(u,p),e),d=Math.min(Math.max(u,p),r);return h<=d}function PU(t,e,n,r,o){let i=o.__path__||(o.__path__=wC(o.getAttribute("d"))),s=0,a=0,c=0,f=0,u=!1,p=[0,0],l=2,h=EC(o),d=(x,b)=>{p.length=l=2,p[0]=c=s=x,p[1]=f=a=b},m=h?(x,b)=>d(_C(h,x,b),MC(h,x,b)):(x,b)=>d(x,b),g=(x,b)=>(p[l]=x,p[l+1]=b,l+=2,IC(t,e,n,r,p[l-4],p[l-3],x,b)),y=h?(x,b)=>{u=g(_C(h,c=x,f=b),MC(h,x,b))}:(x,b)=>{u=g(c=x,f=b)};for(let x=0;x<i.length;++x){let b=i[x];switch(b[0]){case"M":m(b[1],b[2]);break;case"m":m(c+b[1],f+b[2]);break;case"L":case"T":y(b[1],b[2]);break;case"H":y(b[1],f);break;case"V":y(c,b[1]);break;case"l":case"t":y(c+b[1],f+b[2]);break;case"h":y(c+b[1],f);break;case"v":y(c,f+b[1]);break;case"C":y(b[5],b[6]);break;case"c":y(c+b[5],f+b[6]);break;case"S":case"Q":y(b[3],b[4]);break;case"s":case"q":y(c+b[3],f+b[4]);break;case"A":y(b[6],b[7]);break;case"a":if(qU(i,x))return TC(t,e,n,r,c,f-b[2],b[2]);y(c+b[6],c+b[7]);break;case"z":case"Z":if(y(s,a),BU(t,e,p)>0)return!0;m(s,a);break;default:return console.warn("SVG path command not supported: ",b[0]),!1}if(u)return!0}return!1}function _C(t,e,n){return t.a*e+t.c*n+t.e}function MC(t,e,n){return t.b*e+t.d*n+t.f}function qU(t,e){let n=t[e],r=t[e+1];return r&&r[0]==="a"&&t[e+2]?.[0]==="z"&&n[1]===n[2]&&r[1]===r[2]&&n[1]===r[1]&&n[7]===-r[7]}function BU(t,e,n){let r=0,o=n.length-2;for(let i=0;i<o;i+=2)n[i+1]<=e?n[i+3]>e&&SC(t,e,n,i)>0&&++r:n[i+3]<=e&&SC(t,e,n[i])<0&&--r;return r}function SC(t,e,n,r){return(n[r+2]-n[r])*(e-n[r+1])-(t-n[r])*(n[r+3]-n[r+1])}function H1(t,e){return t==null||e==null?t!=null||e!=null:t.length!==e.length||t.some((n,r)=>Q1(n,e[r]))}function Q1(t,e){let n=t.length;if(e.length!==n)return!0;for(let r=0;r<n;++r)if(t[r]!==e[r])return!0;return!1}var V3=class{constructor(e,{channels:n,selection:r,peers:o=!0,brush:i={fill:"none",stroke:"currentColor",strokeDasharray:"1,1"}}){this.mark=e,this.selection=r,this.peers=o,this.style=i&&Ps(i),this.brush=G1(),this.brush.on("brush end",c=>this.publish(c.selection)),this.extent=null,this.groups=null;let{fields:s,as:a}=yC(e,n);this.fields=s,this.as=a}reset(){this.value=void 0,this.extent=null,this.g&&this.brush.reset(this.g)}activate(){this.selection.activate(this.clause([this.fields.map(()=>0)]))}clause(e){let{fields:n,mark:r}=this;return na(n,e,{source:this,clients:this.peers?r.plot.markSet:new Set().add(r)})}publish(e){let{as:n,group:r,mark:o,svg:i}=this,s;if(e){let{data:{columns:a={}}={}}=o,c=new Map;AC(i,r,e).forEach(f=>{let u=mu(f),p=n.map(l=>a[l][u]);c.set(p.join("|"),p)}),s=Array.from(c.values())}this.extent=e,H1(s,this.value)&&(this.value=s,this.selection.update(this.clause(s)))}init(e){let{brush:n,extent:r,mark:o,style:i}=this;this.svg=e;let s=e.width.baseVal.value,a=e.height.baseVal.value;if(n.extent([[0,0],[s,a]]),this.group=e.querySelector(`[data-index="${o.index}"]`),this.g=Et(e).append("g").attr("class","region-xy").each(W1).call(n).call(n.moveSilent,r),i){let c=this.g.selectAll("rect.selection");for(let f in i)c.attr(f,i[f])}e.addEventListener("pointerenter",c=>{c.buttons||this.activate()})}};var rd=class{constructor(e,{selection:n,channels:r,peers:o=!0}){this.mark=e,this.value=null,this.selection=n,this.peers=o;let i=this.fields=[],s=this.as=[];r.forEach(a=>{let c=a==="color"?["color","fill","stroke"]:a==="x"?["x","x1","x2"]:a==="y"?["y","y1","y2"]:[a];for(let f=0;f<c.length;++f){let u=e.channelField(c[f],{exact:!0});if(u){i.push(u.field?.basis||u.field),s.push(u.as);return}}throw new Error(`Missing channel: ${a}`)})}clause(e){let{fields:n,mark:r}=this;return na(n,e,{source:this,clients:this.peers?r.plot.markSet:new Set().add(r)})}init(e,n,r){let{mark:o,as:i,selection:s}=this,{data:{columns:a={}}={}}=o;r??=f=>i.map(u=>a[u][mu(f)]),n??=`[data-index="${o.index}"]`;let c=Array.from(e.querySelectorAll(n));e.addEventListener("pointerdown",f=>{let u=s.single?s.value:this.value,p=f.target,l=null;if(zU(c,p)){let h=r(p);(f.shiftKey||f.metaKey)&&u?.length?(l=u.filter(d=>Q1(d,h)),l.length===u.length&&l.push(h)):u?.length===1&&!Q1(u[0],h)?l=null:l=[h]}this.value=l,H1(u,l)&&s.update(this.clause(l))}),e.addEventListener("pointerenter",f=>{f.buttons||this.activate()})}activate(){this.selection.activate(this.clause([this.fields.map(()=>0)]))}};function zU(t,e){return t.some(n=>n.contains(e))}var NC=":scope > div, :scope > span",Z1="swatch",CC="ramp",H3=class{constructor(e,n){let{as:r,field:o,...i}=n;this.channel=e,this.options=i,this.type=null,this.handler=null,this.selection=r,this.field=o,this.legend=null,this.element=document.createElement("div"),this.element.setAttribute("class","legend"),Object.defineProperty(this.element,"value",{value:this})}setPlot(e){this.plot=e}init(e){let n=YU(this,e);return this.element.replaceChildren(n),this.element}update(){if(!this.legend)return;let{selection:e,handler:n}=this,{single:r,value:o}=e,i=r?o:e.valueFor(n),s=i&&i.length?new Set(i.map(c=>c[0])):null,a=this.legend.querySelectorAll(NC);for(let c of a){let f=s?s.has(c.__data__):!0;c.style.opacity=f?1:.2}}};function YU(t,e){let{channel:n,plot:r,selection:o}=t,i=e.scale(n),s=i.type==="ordinal"?Z1:CC,a={label:r.getAttribute(`${n}Label`)??null,...t.options},c=s===Z1?a:a.label?{tickSize:2,...a}:{tickSize:2,marginTop:1,height:29,...a},f=e.legend(n,c);t.legend=f;let u=!!o;if(u&&s===CC){let p=c.width??240,l=WU(i,p);l?f.scale=function(h){return h==="x"?{range:[0,p]}:h==="y"?{range:[-10,0]}:h===n?l:void 0}:u=!1}if(u){let p=UU(t,s);s===Z1?(p.init(f,NC,l=>[l.__data__]),t.update()):p.init(f,f.querySelector("g:last-of-type"))}return f}function UU(t,e){let{channel:n,handler:r,selection:o}=t;if(r)return r;let i=jU(t);return e===Z1?(t.handler=new rd(i,{selection:o,channels:[n],peers:!1}),o.addEventListener("value",()=>t.update())):t.handler=new nd(i,{selection:o,channel:n,brush:{fill:"none",stroke:"currentColor"},peers:!1}),t.handler}function jU(t){let{channel:e,plot:n}=t,r=t.field??XU(n.marks,e)??"value";if(r){let o={field:r};return{plot:n,channelField:i=>e===i?o:void 0}}}function XU(t,e){let n=e==="color"?["fill","stroke"]:e==="opacity"?["opacity","fillOpacity","strokeOpacity"]:null;if(n==null)return null;for(let r=t.length-1;r>-1;--r)for(let o of n){let i=t[r].channelField(o,{exact:!0});if(i)return i.field}return null}function WU(t,e){let{apply:n,invert:r,interpolate:o,...i}=t,s=t.type;s.startsWith("diverging-")&&(s=s.slice(11));let a;switch(s){case"log":case"pow":case"sqrt":case"symlog":a=s;break;case"threshold":case"quantize":case"quantile":return console.warn(`Legends do not yet support ${s} scales.`),null;default:a="linear"}return xs({x:{...i,type:a,range:[0,e]}})}function K1(t,e,n=0,r=Math.LN10){let o,i=Math.ceil(Math.log(e)/r),s=Math.max(n,Math.pow(10,Math.round(Math.log(t)/r)-i));for(;Math.ceil(t/s)>e;)s*=10;let a=[5,2];for(let c=0,f=a.length;c<f;++c)o=s/a[c],o>=n&&t/o<=e&&(s=o);return s}function kC(t,e,n){let{step:r,steps:o,minstep:i=0,nice:s=!0}=n;if(s!==!1){let a=e-t,c=Math.LN10;r=r||K1(a,o||25,i,c);let f=Math.log(r),u=f>=0?0:~~(-f/c)+1,p=Math.pow(10,-u-1);f=Math.floor(t/r+p)*r,t=t<f?f-r:f,e=Math.ceil(e/r)*r,o=Math.round((e-t)/r)}return{min:t,max:e,steps:o}}var $C="year",RC="month",LC="day",J1="hour",tb="minute",eb="second",GU="millisecond",id=1e3,sd=id*60,ad=sd*60,nb=ad*24,VU=nb*7,OC=nb*30,DC=nb*365,od=[[eb,1,id],[eb,5,5*id],[eb,15,15*id],[eb,30,30*id],[tb,1,sd],[tb,5,5*sd],[tb,15,15*sd],[tb,30,30*sd],[J1,1,ad],[J1,3,3*ad],[J1,6,6*ad],[J1,12,12*ad],[LC,1,nb],[LC,7,VU],[RC,1,OC],[RC,3,3*OC],[$C,1,DC]];function FC(t,e,n){let r=e-t,o=r/n,i=Nr(s=>s[2]).right(od,o);return i===od.length?{interval:$C,step:K1(r/DC,n)}:i?(i=od[o/od[i-1][2]<od[i][2]/o?i-1:i],{interval:i[0],step:i[1]}):{interval:GU,step:K1(r,n,1)}}var HU=new Set(["rectY-x","rectX-y","rect-x","rect-y","ruleY-x","ruleX-y"]);function QU(t,e){return HU.has(`${t.type}-${e}`)}function ZU(t,e={}){let n=(r,o)=>QU(r,o)?{[`${o}1`]:Q3(r,o,t,e),[`${o}2`]:Q3(r,o,t,{...e,offset:1})}:{[o]:Q3(r,o,t,e)};return n[gu]=!0,n}function Q3(t,e,n,r){return new Z3(n,t,e,r)}function KU(t,e){let n=t.plot.getAttribute(`${e}Scale`);return n==="utc"||n==="time"}var Z3=class extends xt{constructor(e,n,r,o){super("COLUMN_REF"),this.column=e,this.mark=n,this.channel=r,this.options=o}get stats(){return{column:this.column,stats:["min","max"]}}toString(){let{mark:e,channel:n,column:r,options:o}=this,{type:i,min:s,max:a}=e.channelField(n),{interval:c,steps:f,offset:u=0}=o,p=c??(i==="date"||KU(e,n)?"date":"number"),l;if(p==="number"){let{apply:h,sqlApply:d,sqlInvert:m}=nc(e,n),g=kC(h(s),h(a),o),y=d(r),x=de((g.max-g.min)/g.steps),b=Oe(Lt(g.min===0?y:ut(y,g.min),x)),w=Nt(g.min,pt(x,u?Nt(u,b):b));l=m(w)}else{let{interval:h,step:d=1}=p==="date"?FC(s,a,f||40):o,m=jb(r,h,d);l=u?Nt(m,Cm(h,u*d)):m}return`${l}`}};export{I3 as ConnectedMark,N3 as ContourMark,L3 as DenseLineMark,O3 as Density1DMark,$3 as Density2DMark,D3 as ErrorBarMark,Li as Fixed,F3 as GeoMark,zr as Grid2DMark,k3 as HeatmapMark,P3 as HexbinMark,Y3 as Highlight,nd as Interval1D,j3 as Interval2D,H3 as Legend,tn as Mark,X3 as Nearest,G3 as PanZoom,v3 as Plot,hu as RasterMark,q3 as RasterTileMark,V3 as Region,z3 as RegressionMark,rd as Toggle,gu as Transform,je as Transient,ZU as bin};
|