UNPKG

racing-bars

Version:

Bar chart race made easy 📶

2 lines • 143 kB
var aa=Object.defineProperty;var ye=(t,e)=>{for(var r in e)aa(t,r,{get:e[r],enumerable:!0})};var xn={};ye(xn,{actionTypes:()=>Lt,changeOptions:()=>ua,defaultOptions:()=>dr,loadOptions:()=>sa,optionsReducer:()=>vn,validateOptions:()=>gr});var Lt={loadOptions:"options/load",changeOptions:"options/change"},sa=t=>({type:Lt.loadOptions,payload:t}),ua=t=>({type:Lt.changeOptions,payload:t});var Dr={};ye(Dr,{actionTypes:()=>xe,containerReducer:()=>br,setContainer:()=>la});var xe={setContainer:"container/set"},la=t=>({type:xe.setContainer,payload:t.element});var ca={element:document.body},br=(t=ca,e)=>{switch(e.type){case xe.setContainer:return{...t,element:e.payload};default:return t}};var Ar={};ye(Ar,{actionTypes:()=>F,addDateSlice:()=>_a,addFilter:()=>pa,addSelection:()=>ya,allExceptFilter:()=>ga,clearDateSlices:()=>ba,dataLoaded:()=>fa,dataReducer:()=>Sr,removeFilter:()=>ha,removeSelection:()=>xa,resetFilters:()=>da,resetSelections:()=>wa,toggleFilter:()=>ma,toggleSelection:()=>va});var F={dataLoaded:"data/loaded",addFilter:"data/addFilter",removeFilter:"data/removeFilter",toggleFilter:"data/toggleFilter",resetFilters:"data/resetFilters",allExceptFilter:"data/allExceptFilter",addSelection:"data/addSelection",removeSelection:"data/removeSelection",toggleSelection:"data/toggleSelection",resetSelections:"data/resetSelections",addDateSlice:"data/addDateSlice",clearDateSlices:"data/clearDateSlices"},fa=t=>({type:F.dataLoaded,payload:t}),pa=t=>({type:F.addFilter,payload:t}),ha=t=>({type:F.removeFilter,payload:t}),ma=t=>({type:F.toggleFilter,payload:t}),da=()=>({type:F.resetFilters}),ga=t=>({type:F.allExceptFilter,payload:t}),ya=t=>({type:F.addSelection,payload:t}),xa=t=>({type:F.removeSelection,payload:t}),va=t=>({type:F.toggleSelection,payload:t}),wa=()=>({type:F.resetSelections}),_a=(t,e)=>{let r={};return r[t]=e,{type:F.addDateSlice,payload:r,triggerRender:!1}},ba=()=>({type:F.clearDateSlices});var Da={names:[],groups:[],datesCache:[],groupFilter:[],selected:[],dateSlices:{}},Sr=(t=Da,e)=>{switch(e.type){case F.dataLoaded:return{...t,names:[...e.payload.names],groups:[...e.payload.groups],datesCache:[...e.payload.datesCache]};case F.addFilter:return{...t,groupFilter:kr(t.groupFilter,e.payload)};case F.removeFilter:return{...t,groupFilter:ve(t.groupFilter,e.payload)};case F.toggleFilter:return{...t,groupFilter:Sn(t.groupFilter,e.payload)};case F.resetFilters:return{...t,groupFilter:[]};case F.allExceptFilter:return{...t,groupFilter:ve(t.groups,e.payload)};case F.addSelection:return{...t,selected:kr(t.selected,e.payload)};case F.removeSelection:return{...t,selected:ve(t.selected,e.payload)};case F.toggleSelection:return{...t,selected:Sn(t.selected,e.payload)};case F.resetSelections:return{...t,selected:[]};case F.addDateSlice:return{...t,dateSlices:{...t.dateSlices,...e.payload}};case F.clearDateSlices:return{...t,dateSlices:{}};default:return t}};function kr(t,e){let r=[...t];return r.includes(e)||r.push(e),r}function ve(t,e){return t.filter(r=>r!==e)}function Sn(t,e){return t.includes(e)?ve(t,e):kr(t,e)}var yn={};ye(yn,{actionTypes:()=>U,changeDates:()=>Sa,createTicker:()=>gn,dec:()=>Na,inc:()=>Ca,initialize:()=>ka,setFirst:()=>Ma,setLast:()=>Ea,setRunning:()=>Ta,tickerReducer:()=>Tr,updateDate:()=>Aa});var U={initialize:"ticker/initialize",changeDates:"ticker/changeDates",updateDate:"ticker/updateDate",setRunning:"ticker/setRunning",setFirst:"ticker/setFirst",setLast:"ticker/setLast",inc:"ticker/inc",dec:"ticker/dec"},ka=t=>({type:U.initialize,payload:t}),Sa=t=>({type:U.changeDates,payload:t}),Aa=t=>({type:U.updateDate,payload:t}),Ta=t=>({type:U.setRunning,payload:t}),Ma=()=>({type:U.setFirst}),Ea=()=>({type:U.setLast}),Ca=(t=1)=>({type:U.inc,payload:t}),Na=(t=1)=>({type:U.dec,payload:t});var Ra={isRunning:!1,currentDate:"",isFirstDate:!0,isLastDate:!1,dates:[]},Tr=(t=Ra,e)=>{switch(e.type){case U.initialize:{let r=e.payload;return{...t,isRunning:!1,currentDate:r[0],isFirstDate:!0,isLastDate:!1,dates:r}}case U.changeDates:{let r=e.payload,n=r.indexOf(t.currentDate)!==-1?t.currentDate:t.currentDate<r[0]?r[0]:t.currentDate>r[r.length-1]?r[r.length-1]:r[[...r,t.currentDate].sort().indexOf(t.currentDate)];return{...t,currentDate:n,isFirstDate:n===r[0],isLastDate:n===r[r.length-1],dates:r}}case U.updateDate:{let r=e.payload;return t.dates.indexOf(r)===-1?{...t}:{...t,currentDate:r,isFirstDate:r===t.dates[0],isLastDate:r===t.dates[t.dates.length-1]}}case U.setRunning:return{...t,isRunning:e.payload};case U.setFirst:return{...t,currentDate:t.dates[0],isFirstDate:!0,isLastDate:!1};case U.setLast:return{...t,currentDate:t.dates[t.dates.length-1],isFirstDate:!1,isLastDate:!0};case U.inc:{let r=t.dates.indexOf(t.currentDate),n=t.dates.length-1,o=e.payload,i=r+o>n?t.dates[n]:t.dates[r+o];return{...t,currentDate:i,isFirstDate:i===t.dates[0],isLastDate:i===t.dates[n]}}case U.dec:{let r=t.dates.indexOf(t.currentDate),n=e.payload,o=r-n<0?t.dates[0]:t.dates[r-n];return{...t,currentDate:o,isFirstDate:o===t.dates[0],isLastDate:o===t.dates[t.dates.length-1]}}default:return t}};function vt(t,e){return t==null||e==null?NaN:t<e?-1:t>e?1:t>=e?0:NaN}function Mr(t,e){return t==null||e==null?NaN:e<t?-1:e>t?1:e>=t?0:NaN}function we(t){let e,r,n;t.length!==2?(e=vt,r=(s,l)=>vt(t(s),l),n=(s,l)=>t(s)-l):(e=t===vt||t===Mr?t:Fa,r=t,n=t);function o(s,l,u=0,c=s.length){if(u<c){if(e(l,l)!==0)return c;do{let f=u+c>>>1;r(s[f],l)<0?u=f+1:c=f}while(u<c)}return u}function i(s,l,u=0,c=s.length){if(u<c){if(e(l,l)!==0)return c;do{let f=u+c>>>1;r(s[f],l)<=0?u=f+1:c=f}while(u<c)}return u}function a(s,l,u=0,c=s.length){let f=o(s,l,u,c-1);return f>u&&n(s[f-1],l)>-n(s[f],l)?f-1:f}return{left:o,center:a,right:i}}function Fa(){return 0}function Er(t){return t===null?NaN:+t}var An=we(vt),Tn=An.right,Oa=An.left,Ia=we(Er).center,Cr=Tn;var La=Math.sqrt(50),Pa=Math.sqrt(10),za=Math.sqrt(2);function _e(t,e,r){let n=(e-t)/Math.max(0,r),o=Math.floor(Math.log10(n)),i=n/Math.pow(10,o),a=i>=La?10:i>=Pa?5:i>=za?2:1,s,l,u;return o<0?(u=Math.pow(10,-o)/a,s=Math.round(t*u),l=Math.round(e*u),s/u<t&&++s,l/u>e&&--l,u=-u):(u=Math.pow(10,o)*a,s=Math.round(t/u),l=Math.round(e/u),s*u<t&&++s,l*u>e&&--l),l<s&&.5<=r&&r<2?_e(t,e,r*2):[s,l,u]}function be(t,e,r){if(e=+e,t=+t,r=+r,!(r>0))return[];if(t===e)return[t];let n=e<t,[o,i,a]=n?_e(e,t,r):_e(t,e,r);if(!(i>=o))return[];let s=i-o+1,l=new Array(s);if(n)if(a<0)for(let u=0;u<s;++u)l[u]=(i-u)/-a;else for(let u=0;u<s;++u)l[u]=(i-u)*a;else if(a<0)for(let u=0;u<s;++u)l[u]=(o+u)/-a;else for(let u=0;u<s;++u)l[u]=(o+u)*a;return l}function Kt(t,e,r){return e=+e,t=+t,r=+r,_e(t,e,r)[2]}function Nr(t,e,r){e=+e,t=+t,r=+r;let n=e<t,o=n?Kt(e,t,r):Kt(t,e,r);return(n?-1:1)*(o<0?1/-o:o)}function wt(t,e){let r;if(e===void 0)for(let n of t)n!=null&&(r<n||r===void 0&&n>=n)&&(r=n);else{let n=-1;for(let o of t)(o=e(o,++n,t))!=null&&(r<o||r===void 0&&o>=o)&&(r=o)}return r}function Mn(t){return t}var ke=1,Rr=2,En=3,De=4,Cn=1e-6;function Ha(t){return"translate("+t+",0)"}function $a(t){return"translate(0,"+t+")"}function Ba(t){return e=>+t(e)}function Va(t,e){return e=Math.max(0,t.bandwidth()-e*2)/2,t.round()&&(e=Math.round(e)),r=>+t(r)+e}function Ya(){return!this.__axis}function Ua(t,e){var r=[],n=null,o=null,i=6,a=6,s=3,l=typeof window<"u"&&window.devicePixelRatio>1?0:.5,u=t===ke||t===De?-1:1,c=t===De||t===Rr?"x":"y",f=t===ke||t===En?Ha:$a;function p(h){var m=n??(e.ticks?e.ticks.apply(e,r):e.domain()),g=o??(e.tickFormat?e.tickFormat.apply(e,r):Mn),x=Math.max(i,0)+s,b=e.range(),D=+b[0]+l,k=+b[b.length-1]+l,S=(e.bandwidth?Va:Ba)(e.copy(),l),d=h.selection?h.selection():h,w=d.selectAll(".domain").data([null]),E=d.selectAll(".tick").data(m,e).order(),R=E.exit(),I=E.enter().append("g").attr("class","tick"),H=E.select("line"),_=E.select("text");w=w.merge(w.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),E=E.merge(I),H=H.merge(I.append("line").attr("stroke","currentColor").attr(c+"2",u*i)),_=_.merge(I.append("text").attr("fill","currentColor").attr(c,u*x).attr("dy",t===ke?"0em":t===En?"0.71em":"0.32em")),h!==d&&(w=w.transition(h),E=E.transition(h),H=H.transition(h),_=_.transition(h),R=R.transition(h).attr("opacity",Cn).attr("transform",function(C){return isFinite(C=S(C))?f(C+l):this.getAttribute("transform")}),I.attr("opacity",Cn).attr("transform",function(C){var A=this.parentNode.__axis;return f((A&&isFinite(A=A(C))?A:S(C))+l)})),R.remove(),w.attr("d",t===De||t===Rr?a?"M"+u*a+","+D+"H"+l+"V"+k+"H"+u*a:"M"+l+","+D+"V"+k:a?"M"+D+","+u*a+"V"+l+"H"+k+"V"+u*a:"M"+D+","+l+"H"+k),E.attr("opacity",1).attr("transform",function(C){return f(S(C)+l)}),H.attr(c+"2",u*i),_.attr(c,u*x).text(g),d.filter(Ya).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",t===Rr?"start":t===De?"end":"middle"),d.each(function(){this.__axis=S})}return p.scale=function(h){return arguments.length?(e=h,p):e},p.ticks=function(){return r=Array.from(arguments),p},p.tickArguments=function(h){return arguments.length?(r=h==null?[]:Array.from(h),p):r.slice()},p.tickValues=function(h){return arguments.length?(n=h==null?null:Array.from(h),p):n&&n.slice()},p.tickFormat=function(h){return arguments.length?(o=h,p):o},p.tickSize=function(h){return arguments.length?(i=a=+h,p):i},p.tickSizeInner=function(h){return arguments.length?(i=+h,p):i},p.tickSizeOuter=function(h){return arguments.length?(a=+h,p):a},p.tickPadding=function(h){return arguments.length?(s=+h,p):s},p.offset=function(h){return arguments.length?(l=+h,p):l},p}function Se(t){return Ua(ke,t)}var qa={value:()=>{}};function Rn(){for(var t=0,e=arguments.length,r={},n;t<e;++t){if(!(n=arguments[t]+"")||n in r||/[\s.]/.test(n))throw new Error("illegal type: "+n);r[n]=[]}return new Ae(r)}function Ae(t){this._=t}function Wa(t,e){return t.trim().split(/^|\s+/).map(function(r){var n="",o=r.indexOf(".");if(o>=0&&(n=r.slice(o+1),r=r.slice(0,o)),r&&!e.hasOwnProperty(r))throw new Error("unknown type: "+r);return{type:r,name:n}})}Ae.prototype=Rn.prototype={constructor:Ae,on:function(t,e){var r=this._,n=Wa(t+"",r),o,i=-1,a=n.length;if(arguments.length<2){for(;++i<a;)if((o=(t=n[i]).type)&&(o=Xa(r[o],t.name)))return o;return}if(e!=null&&typeof e!="function")throw new Error("invalid callback: "+e);for(;++i<a;)if(o=(t=n[i]).type)r[o]=Nn(r[o],t.name,e);else if(e==null)for(o in r)r[o]=Nn(r[o],t.name,null);return this},copy:function(){var t={},e=this._;for(var r in e)t[r]=e[r].slice();return new Ae(t)},call:function(t,e){if((o=arguments.length-2)>0)for(var r=new Array(o),n=0,o,i;n<o;++n)r[n]=arguments[n+2];if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(i=this._[t],n=0,o=i.length;n<o;++n)i[n].value.apply(e,r)},apply:function(t,e,r){if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(var n=this._[t],o=0,i=n.length;o<i;++o)n[o].value.apply(e,r)}};function Xa(t,e){for(var r=0,n=t.length,o;r<n;++r)if((o=t[r]).name===e)return o.value}function Nn(t,e,r){for(var n=0,o=t.length;n<o;++n)if(t[n].name===e){t[n]=qa,t=t.slice(0,n).concat(t.slice(n+1));break}return r!=null&&t.push({name:e,value:r}),t}var Fr=Rn;var Te="http://www.w3.org/1999/xhtml",Or={svg:"http://www.w3.org/2000/svg",xhtml:Te,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function ct(t){var e=t+="",r=e.indexOf(":");return r>=0&&(e=t.slice(0,r))!=="xmlns"&&(t=t.slice(r+1)),Or.hasOwnProperty(e)?{space:Or[e],local:t}:t}function ja(t){return function(){var e=this.ownerDocument,r=this.namespaceURI;return r===Te&&e.documentElement.namespaceURI===Te?e.createElement(t):e.createElementNS(r,t)}}function Ga(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}function Me(t){var e=ct(t);return(e.local?Ga:ja)(e)}function Ka(){}function _t(t){return t==null?Ka:function(){return this.querySelector(t)}}function Fn(t){typeof t!="function"&&(t=_t(t));for(var e=this._groups,r=e.length,n=new Array(r),o=0;o<r;++o)for(var i=e[o],a=i.length,s=n[o]=new Array(a),l,u,c=0;c<a;++c)(l=i[c])&&(u=t.call(l,l.__data__,c,i))&&("__data__"in l&&(u.__data__=l.__data__),s[c]=u);return new P(n,this._parents)}function Ir(t){return t==null?[]:Array.isArray(t)?t:Array.from(t)}function Za(){return[]}function Zt(t){return t==null?Za:function(){return this.querySelectorAll(t)}}function Qa(t){return function(){return Ir(t.apply(this,arguments))}}function On(t){typeof t=="function"?t=Qa(t):t=Zt(t);for(var e=this._groups,r=e.length,n=[],o=[],i=0;i<r;++i)for(var a=e[i],s=a.length,l,u=0;u<s;++u)(l=a[u])&&(n.push(t.call(l,l.__data__,u,a)),o.push(l));return new P(n,o)}function Qt(t){return function(){return this.matches(t)}}function Ee(t){return function(e){return e.matches(t)}}var Ja=Array.prototype.find;function ts(t){return function(){return Ja.call(this.children,t)}}function es(){return this.firstElementChild}function In(t){return this.select(t==null?es:ts(typeof t=="function"?t:Ee(t)))}var rs=Array.prototype.filter;function ns(){return Array.from(this.children)}function os(t){return function(){return rs.call(this.children,t)}}function Ln(t){return this.selectAll(t==null?ns:os(typeof t=="function"?t:Ee(t)))}function Pn(t){typeof t!="function"&&(t=Qt(t));for(var e=this._groups,r=e.length,n=new Array(r),o=0;o<r;++o)for(var i=e[o],a=i.length,s=n[o]=[],l,u=0;u<a;++u)(l=i[u])&&t.call(l,l.__data__,u,i)&&s.push(l);return new P(n,this._parents)}function Ce(t){return new Array(t.length)}function zn(){return new P(this._enter||this._groups.map(Ce),this._parents)}function Jt(t,e){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=e}Jt.prototype={constructor:Jt,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 Hn(t){return function(){return t}}function is(t,e,r,n,o,i){for(var a=0,s,l=e.length,u=i.length;a<u;++a)(s=e[a])?(s.__data__=i[a],n[a]=s):r[a]=new Jt(t,i[a]);for(;a<l;++a)(s=e[a])&&(o[a]=s)}function as(t,e,r,n,o,i,a){var s,l,u=new Map,c=e.length,f=i.length,p=new Array(c),h;for(s=0;s<c;++s)(l=e[s])&&(p[s]=h=a.call(l,l.__data__,s,e)+"",u.has(h)?o[s]=l:u.set(h,l));for(s=0;s<f;++s)h=a.call(t,i[s],s,i)+"",(l=u.get(h))?(n[s]=l,l.__data__=i[s],u.delete(h)):r[s]=new Jt(t,i[s]);for(s=0;s<c;++s)(l=e[s])&&u.get(p[s])===l&&(o[s]=l)}function ss(t){return t.__data__}function $n(t,e){if(!arguments.length)return Array.from(this,ss);var r=e?as:is,n=this._parents,o=this._groups;typeof t!="function"&&(t=Hn(t));for(var i=o.length,a=new Array(i),s=new Array(i),l=new Array(i),u=0;u<i;++u){var c=n[u],f=o[u],p=f.length,h=us(t.call(c,c&&c.__data__,u,n)),m=h.length,g=s[u]=new Array(m),x=a[u]=new Array(m),b=l[u]=new Array(p);r(c,f,g,x,b,h,e);for(var D=0,k=0,S,d;D<m;++D)if(S=g[D]){for(D>=k&&(k=D+1);!(d=x[k])&&++k<m;);S._next=d||null}}return a=new P(a,n),a._enter=s,a._exit=l,a}function us(t){return typeof t=="object"&&"length"in t?t:Array.from(t)}function Bn(){return new P(this._exit||this._groups.map(Ce),this._parents)}function Vn(t,e,r){var n=this.enter(),o=this,i=this.exit();return typeof t=="function"?(n=t(n),n&&(n=n.selection())):n=n.append(t+""),e!=null&&(o=e(o),o&&(o=o.selection())),r==null?i.remove():r(i),n&&o?n.merge(o).order():o}function Yn(t){for(var e=t.selection?t.selection():t,r=this._groups,n=e._groups,o=r.length,i=n.length,a=Math.min(o,i),s=new Array(o),l=0;l<a;++l)for(var u=r[l],c=n[l],f=u.length,p=s[l]=new Array(f),h,m=0;m<f;++m)(h=u[m]||c[m])&&(p[m]=h);for(;l<o;++l)s[l]=r[l];return new P(s,this._parents)}function Un(){for(var t=this._groups,e=-1,r=t.length;++e<r;)for(var n=t[e],o=n.length-1,i=n[o],a;--o>=0;)(a=n[o])&&(i&&a.compareDocumentPosition(i)^4&&i.parentNode.insertBefore(a,i),i=a);return this}function qn(t){t||(t=ls);function e(f,p){return f&&p?t(f.__data__,p.__data__):!f-!p}for(var r=this._groups,n=r.length,o=new Array(n),i=0;i<n;++i){for(var a=r[i],s=a.length,l=o[i]=new Array(s),u,c=0;c<s;++c)(u=a[c])&&(l[c]=u);l.sort(e)}return new P(o,this._parents).order()}function ls(t,e){return t<e?-1:t>e?1:t>=e?0:NaN}function Wn(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this}function Xn(){return Array.from(this)}function jn(){for(var t=this._groups,e=0,r=t.length;e<r;++e)for(var n=t[e],o=0,i=n.length;o<i;++o){var a=n[o];if(a)return a}return null}function Gn(){let t=0;for(let e of this)++t;return t}function Kn(){return!this.node()}function Zn(t){for(var e=this._groups,r=0,n=e.length;r<n;++r)for(var o=e[r],i=0,a=o.length,s;i<a;++i)(s=o[i])&&t.call(s,s.__data__,i,o);return this}function cs(t){return function(){this.removeAttribute(t)}}function fs(t){return function(){this.removeAttributeNS(t.space,t.local)}}function ps(t,e){return function(){this.setAttribute(t,e)}}function hs(t,e){return function(){this.setAttributeNS(t.space,t.local,e)}}function ms(t,e){return function(){var r=e.apply(this,arguments);r==null?this.removeAttribute(t):this.setAttribute(t,r)}}function ds(t,e){return function(){var r=e.apply(this,arguments);r==null?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,r)}}function Qn(t,e){var r=ct(t);if(arguments.length<2){var n=this.node();return r.local?n.getAttributeNS(r.space,r.local):n.getAttribute(r)}return this.each((e==null?r.local?fs:cs:typeof e=="function"?r.local?ds:ms:r.local?hs:ps)(r,e))}function Ne(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView}function gs(t){return function(){this.style.removeProperty(t)}}function ys(t,e,r){return function(){this.style.setProperty(t,e,r)}}function xs(t,e,r){return function(){var n=e.apply(this,arguments);n==null?this.style.removeProperty(t):this.style.setProperty(t,n,r)}}function Jn(t,e,r){return arguments.length>1?this.each((e==null?gs:typeof e=="function"?xs:ys)(t,e,r??"")):ht(this.node(),t)}function ht(t,e){return t.style.getPropertyValue(e)||Ne(t).getComputedStyle(t,null).getPropertyValue(e)}function vs(t){return function(){delete this[t]}}function ws(t,e){return function(){this[t]=e}}function _s(t,e){return function(){var r=e.apply(this,arguments);r==null?delete this[t]:this[t]=r}}function to(t,e){return arguments.length>1?this.each((e==null?vs:typeof e=="function"?_s:ws)(t,e)):this.node()[t]}function eo(t){return t.trim().split(/^|\s+/)}function Lr(t){return t.classList||new ro(t)}function ro(t){this._node=t,this._names=eo(t.getAttribute("class")||"")}ro.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 no(t,e){for(var r=Lr(t),n=-1,o=e.length;++n<o;)r.add(e[n])}function oo(t,e){for(var r=Lr(t),n=-1,o=e.length;++n<o;)r.remove(e[n])}function bs(t){return function(){no(this,t)}}function Ds(t){return function(){oo(this,t)}}function ks(t,e){return function(){(e.apply(this,arguments)?no:oo)(this,t)}}function io(t,e){var r=eo(t+"");if(arguments.length<2){for(var n=Lr(this.node()),o=-1,i=r.length;++o<i;)if(!n.contains(r[o]))return!1;return!0}return this.each((typeof e=="function"?ks:e?bs:Ds)(r,e))}function Ss(){this.textContent=""}function As(t){return function(){this.textContent=t}}function Ts(t){return function(){var e=t.apply(this,arguments);this.textContent=e??""}}function ao(t){return arguments.length?this.each(t==null?Ss:(typeof t=="function"?Ts:As)(t)):this.node().textContent}function Ms(){this.innerHTML=""}function Es(t){return function(){this.innerHTML=t}}function Cs(t){return function(){var e=t.apply(this,arguments);this.innerHTML=e??""}}function so(t){return arguments.length?this.each(t==null?Ms:(typeof t=="function"?Cs:Es)(t)):this.node().innerHTML}function Ns(){this.nextSibling&&this.parentNode.appendChild(this)}function uo(){return this.each(Ns)}function Rs(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function lo(){return this.each(Rs)}function co(t){var e=typeof t=="function"?t:Me(t);return this.select(function(){return this.appendChild(e.apply(this,arguments))})}function Fs(){return null}function fo(t,e){var r=typeof t=="function"?t:Me(t),n=e==null?Fs:typeof e=="function"?e:_t(e);return this.select(function(){return this.insertBefore(r.apply(this,arguments),n.apply(this,arguments)||null)})}function Os(){var t=this.parentNode;t&&t.removeChild(this)}function po(){return this.each(Os)}function Is(){var t=this.cloneNode(!1),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}function Ls(){var t=this.cloneNode(!0),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}function ho(t){return this.select(t?Ls:Is)}function mo(t){return arguments.length?this.property("__data__",t):this.node().__data__}function Ps(t){return function(e){t.call(this,e,this.__data__)}}function zs(t){return t.trim().split(/^|\s+/).map(function(e){var r="",n=e.indexOf(".");return n>=0&&(r=e.slice(n+1),e=e.slice(0,n)),{type:e,name:r}})}function Hs(t){return function(){var e=this.__on;if(e){for(var r=0,n=-1,o=e.length,i;r<o;++r)i=e[r],(!t.type||i.type===t.type)&&i.name===t.name?this.removeEventListener(i.type,i.listener,i.options):e[++n]=i;++n?e.length=n:delete this.__on}}}function $s(t,e,r){return function(){var n=this.__on,o,i=Ps(e);if(n){for(var a=0,s=n.length;a<s;++a)if((o=n[a]).type===t.type&&o.name===t.name){this.removeEventListener(o.type,o.listener,o.options),this.addEventListener(o.type,o.listener=i,o.options=r),o.value=e;return}}this.addEventListener(t.type,i,r),o={type:t.type,name:t.name,value:e,listener:i,options:r},n?n.push(o):this.__on=[o]}}function go(t,e,r){var n=zs(t+""),o,i=n.length,a;if(arguments.length<2){var s=this.node().__on;if(s){for(var l=0,u=s.length,c;l<u;++l)for(o=0,c=s[l];o<i;++o)if((a=n[o]).type===c.type&&a.name===c.name)return c.value}return}for(s=e?$s:Hs,o=0;o<i;++o)this.each(s(n[o],e,r));return this}function yo(t,e,r){var n=Ne(t),o=n.CustomEvent;typeof o=="function"?o=new o(e,r):(o=n.document.createEvent("Event"),r?(o.initEvent(e,r.bubbles,r.cancelable),o.detail=r.detail):o.initEvent(e,!1,!1)),t.dispatchEvent(o)}function Bs(t,e){return function(){return yo(this,t,e)}}function Vs(t,e){return function(){return yo(this,t,e.apply(this,arguments))}}function xo(t,e){return this.each((typeof e=="function"?Vs:Bs)(t,e))}function*vo(){for(var t=this._groups,e=0,r=t.length;e<r;++e)for(var n=t[e],o=0,i=n.length,a;o<i;++o)(a=n[o])&&(yield a)}var Pr=[null];function P(t,e){this._groups=t,this._parents=e}function wo(){return new P([[document.documentElement]],Pr)}function Ys(){return this}P.prototype=wo.prototype={constructor:P,select:Fn,selectAll:On,selectChild:In,selectChildren:Ln,filter:Pn,data:$n,enter:zn,exit:Bn,join:Vn,merge:Yn,selection:Ys,order:Un,sort:qn,call:Wn,nodes:Xn,node:jn,size:Gn,empty:Kn,each:Zn,attr:Qn,style:Jn,property:to,classed:io,text:ao,html:so,raise:uo,lower:lo,append:co,insert:fo,remove:po,clone:ho,datum:mo,on:go,dispatch:xo,[Symbol.iterator]:vo};var ft=wo;function j(t){return typeof t=="string"?new P([[document.querySelector(t)]],[document.documentElement]):new P([[t]],Pr)}function Re(t,e,r){t.prototype=e.prototype=r,r.constructor=t}function zr(t,e){var r=Object.create(t.prototype);for(var n in e)r[n]=e[n];return r}function re(){}var te=.7,Ie=1/te,Pt="\\s*([+-]?\\d+)\\s*",ee="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",at="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",Us=/^#([0-9a-f]{3,8})$/,qs=new RegExp(`^rgb\\(${Pt},${Pt},${Pt}\\)$`),Ws=new RegExp(`^rgb\\(${at},${at},${at}\\)$`),Xs=new RegExp(`^rgba\\(${Pt},${Pt},${Pt},${ee}\\)$`),js=new RegExp(`^rgba\\(${at},${at},${at},${ee}\\)$`),Gs=new RegExp(`^hsl\\(${ee},${at},${at}\\)$`),Ks=new RegExp(`^hsla\\(${ee},${at},${at},${ee}\\)$`),_o={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};Re(re,rt,{copy(t){return Object.assign(new this.constructor,this,t)},displayable(){return this.rgb().displayable()},hex:bo,formatHex:bo,formatHex8:Zs,formatHsl:Qs,formatRgb:Do,toString:Do});function bo(){return this.rgb().formatHex()}function Zs(){return this.rgb().formatHex8()}function Qs(){return Eo(this).formatHsl()}function Do(){return this.rgb().formatRgb()}function rt(t){var e,r;return t=(t+"").trim().toLowerCase(),(e=Us.exec(t))?(r=e[1].length,e=parseInt(e[1],16),r===6?ko(e):r===3?new Z(e>>8&15|e>>4&240,e>>4&15|e&240,(e&15)<<4|e&15,1):r===8?Fe(e>>24&255,e>>16&255,e>>8&255,(e&255)/255):r===4?Fe(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=qs.exec(t))?new Z(e[1],e[2],e[3],1):(e=Ws.exec(t))?new Z(e[1]*255/100,e[2]*255/100,e[3]*255/100,1):(e=Xs.exec(t))?Fe(e[1],e[2],e[3],e[4]):(e=js.exec(t))?Fe(e[1]*255/100,e[2]*255/100,e[3]*255/100,e[4]):(e=Gs.exec(t))?To(e[1],e[2]/100,e[3]/100,1):(e=Ks.exec(t))?To(e[1],e[2]/100,e[3]/100,e[4]):_o.hasOwnProperty(t)?ko(_o[t]):t==="transparent"?new Z(NaN,NaN,NaN,0):null}function ko(t){return new Z(t>>16&255,t>>8&255,t&255,1)}function Fe(t,e,r,n){return n<=0&&(t=e=r=NaN),new Z(t,e,r,n)}function Js(t){return t instanceof re||(t=rt(t)),t?(t=t.rgb(),new Z(t.r,t.g,t.b,t.opacity)):new Z}function zt(t,e,r,n){return arguments.length===1?Js(t):new Z(t,e,r,n??1)}function Z(t,e,r,n){this.r=+t,this.g=+e,this.b=+r,this.opacity=+n}Re(Z,zt,zr(re,{brighter(t){return t=t==null?Ie:Math.pow(Ie,t),new Z(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=t==null?te:Math.pow(te,t),new Z(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new Z(Dt(this.r),Dt(this.g),Dt(this.b),Le(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:So,formatHex:So,formatHex8:tu,formatRgb:Ao,toString:Ao}));function So(){return`#${bt(this.r)}${bt(this.g)}${bt(this.b)}`}function tu(){return`#${bt(this.r)}${bt(this.g)}${bt(this.b)}${bt((isNaN(this.opacity)?1:this.opacity)*255)}`}function Ao(){let t=Le(this.opacity);return`${t===1?"rgb(":"rgba("}${Dt(this.r)}, ${Dt(this.g)}, ${Dt(this.b)}${t===1?")":`, ${t})`}`}function Le(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function Dt(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function bt(t){return t=Dt(t),(t<16?"0":"")+t.toString(16)}function To(t,e,r,n){return n<=0?t=e=r=NaN:r<=0||r>=1?t=e=NaN:e<=0&&(t=NaN),new et(t,e,r,n)}function Eo(t){if(t instanceof et)return new et(t.h,t.s,t.l,t.opacity);if(t instanceof re||(t=rt(t)),!t)return new et;if(t instanceof et)return t;t=t.rgb();var e=t.r/255,r=t.g/255,n=t.b/255,o=Math.min(e,r,n),i=Math.max(e,r,n),a=NaN,s=i-o,l=(i+o)/2;return s?(e===i?a=(r-n)/s+(r<n)*6:r===i?a=(n-e)/s+2:a=(e-r)/s+4,s/=l<.5?i+o:2-i-o,a*=60):s=l>0&&l<1?0:a,new et(a,s,l,t.opacity)}function ne(t,e,r,n){return arguments.length===1?Eo(t):new et(t,e,r,n??1)}function et(t,e,r,n){this.h=+t,this.s=+e,this.l=+r,this.opacity=+n}Re(et,ne,zr(re,{brighter(t){return t=t==null?Ie:Math.pow(Ie,t),new et(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=t==null?te:Math.pow(te,t),new et(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,r=this.l,n=r+(r<.5?r:1-r)*e,o=2*r-n;return new Z(Hr(t>=240?t-240:t+120,o,n),Hr(t,o,n),Hr(t<120?t+240:t-120,o,n),this.opacity)},clamp(){return new et(Mo(this.h),Oe(this.s),Oe(this.l),Le(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=Le(this.opacity);return`${t===1?"hsl(":"hsla("}${Mo(this.h)}, ${Oe(this.s)*100}%, ${Oe(this.l)*100}%${t===1?")":`, ${t})`}`}}));function Mo(t){return t=(t||0)%360,t<0?t+360:t}function Oe(t){return Math.max(0,Math.min(1,t||0))}function Hr(t,e,r){return(t<60?e+(r-e)*t/60:t<180?r:t<240?e+(r-e)*(240-t)/60:e)*255}function $r(t,e,r,n,o){var i=t*t,a=i*t;return((1-3*t+3*i-a)*e+(4-6*i+3*a)*r+(1+3*t+3*i-3*a)*n+a*o)/6}function Co(t){var e=t.length-1;return function(r){var n=r<=0?r=0:r>=1?(r=1,e-1):Math.floor(r*e),o=t[n],i=t[n+1],a=n>0?t[n-1]:2*o-i,s=n<e-1?t[n+2]:2*i-o;return $r((r-n/e)*e,a,o,i,s)}}function No(t){var e=t.length;return function(r){var n=Math.floor(((r%=1)<0?++r:r)*e),o=t[(n+e-1)%e],i=t[n%e],a=t[(n+1)%e],s=t[(n+2)%e];return $r((r-n/e)*e,o,i,a,s)}}var oe=t=>()=>t;function eu(t,e){return function(r){return t+r*e}}function ru(t,e,r){return t=Math.pow(t,r),e=Math.pow(e,r)-t,r=1/r,function(n){return Math.pow(t+n*e,r)}}function Ro(t){return(t=+t)==1?Pe:function(e,r){return r-e?ru(e,r,t):oe(isNaN(e)?r:e)}}function Pe(t,e){var r=e-t;return r?eu(t,r):oe(isNaN(t)?e:t)}var kt=function t(e){var r=Ro(e);function n(o,i){var a=r((o=zt(o)).r,(i=zt(i)).r),s=r(o.g,i.g),l=r(o.b,i.b),u=Pe(o.opacity,i.opacity);return function(c){return o.r=a(c),o.g=s(c),o.b=l(c),o.opacity=u(c),o+""}}return n.gamma=t,n}(1);function Fo(t){return function(e){var r=e.length,n=new Array(r),o=new Array(r),i=new Array(r),a,s;for(a=0;a<r;++a)s=zt(e[a]),n[a]=s.r||0,o[a]=s.g||0,i[a]=s.b||0;return n=t(n),o=t(o),i=t(i),s.opacity=1,function(l){return s.r=n(l),s.g=o(l),s.b=i(l),s+""}}}var nu=Fo(Co),ou=Fo(No);function Oo(t,e){e||(e=[]);var r=t?Math.min(e.length,t.length):0,n=e.slice(),o;return function(i){for(o=0;o<r;++o)n[o]=t[o]*(1-i)+e[o]*i;return n}}function Io(t){return ArrayBuffer.isView(t)&&!(t instanceof DataView)}function Lo(t,e){var r=e?e.length:0,n=t?Math.min(r,t.length):0,o=new Array(n),i=new Array(r),a;for(a=0;a<n;++a)o[a]=st(t[a],e[a]);for(;a<r;++a)i[a]=e[a];return function(s){for(a=0;a<n;++a)i[a]=o[a](s);return i}}function Po(t,e){var r=new Date;return t=+t,e=+e,function(n){return r.setTime(t*(1-n)+e*n),r}}function q(t,e){return t=+t,e=+e,function(r){return t*(1-r)+e*r}}function zo(t,e){var r={},n={},o;(t===null||typeof t!="object")&&(t={}),(e===null||typeof e!="object")&&(e={});for(o in e)o in t?r[o]=st(t[o],e[o]):n[o]=e[o];return function(i){for(o in r)n[o]=r[o](i);return n}}var Vr=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,Br=new RegExp(Vr.source,"g");function iu(t){return function(){return t}}function au(t){return function(e){return t(e)+""}}function ie(t,e){var r=Vr.lastIndex=Br.lastIndex=0,n,o,i,a=-1,s=[],l=[];for(t=t+"",e=e+"";(n=Vr.exec(t))&&(o=Br.exec(e));)(i=o.index)>r&&(i=e.slice(r,i),s[a]?s[a]+=i:s[++a]=i),(n=n[0])===(o=o[0])?s[a]?s[a]+=o:s[++a]=o:(s[++a]=null,l.push({i:a,x:q(n,o)})),r=Br.lastIndex;return r<e.length&&(i=e.slice(r),s[a]?s[a]+=i:s[++a]=i),s.length<2?l[0]?au(l[0].x):iu(e):(e=l.length,function(u){for(var c=0,f;c<e;++c)s[(f=l[c]).i]=f.x(u);return s.join("")})}function st(t,e){var r=typeof e,n;return e==null||r==="boolean"?oe(e):(r==="number"?q:r==="string"?(n=rt(e))?(e=n,kt):ie:e instanceof rt?kt:e instanceof Date?Po:Io(e)?Oo:Array.isArray(e)?Lo:typeof e.valueOf!="function"&&typeof e.toString!="function"||isNaN(e)?zo:q)(t,e)}function ze(t,e){return t=+t,e=+e,function(r){return Math.round(t*(1-r)+e*r)}}var Ho=180/Math.PI,He={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function Yr(t,e,r,n,o,i){var a,s,l;return(a=Math.sqrt(t*t+e*e))&&(t/=a,e/=a),(l=t*r+e*n)&&(r-=t*l,n-=e*l),(s=Math.sqrt(r*r+n*n))&&(r/=s,n/=s,l/=s),t*n<e*r&&(t=-t,e=-e,l=-l,a=-a),{translateX:o,translateY:i,rotate:Math.atan2(e,t)*Ho,skewX:Math.atan(l)*Ho,scaleX:a,scaleY:s}}var $e;function $o(t){let e=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(t+"");return e.isIdentity?He:Yr(e.a,e.b,e.c,e.d,e.e,e.f)}function Bo(t){return t==null?He:($e||($e=document.createElementNS("http://www.w3.org/2000/svg","g")),$e.setAttribute("transform",t),(t=$e.transform.baseVal.consolidate())?(t=t.matrix,Yr(t.a,t.b,t.c,t.d,t.e,t.f)):He)}function Vo(t,e,r,n){function o(u){return u.length?u.pop()+" ":""}function i(u,c,f,p,h,m){if(u!==f||c!==p){var g=h.push("translate(",null,e,null,r);m.push({i:g-4,x:q(u,f)},{i:g-2,x:q(c,p)})}else(f||p)&&h.push("translate("+f+e+p+r)}function a(u,c,f,p){u!==c?(u-c>180?c+=360:c-u>180&&(u+=360),p.push({i:f.push(o(f)+"rotate(",null,n)-2,x:q(u,c)})):c&&f.push(o(f)+"rotate("+c+n)}function s(u,c,f,p){u!==c?p.push({i:f.push(o(f)+"skewX(",null,n)-2,x:q(u,c)}):c&&f.push(o(f)+"skewX("+c+n)}function l(u,c,f,p,h,m){if(u!==f||c!==p){var g=h.push(o(h)+"scale(",null,",",null,")");m.push({i:g-4,x:q(u,f)},{i:g-2,x:q(c,p)})}else(f!==1||p!==1)&&h.push(o(h)+"scale("+f+","+p+")")}return function(u,c){var f=[],p=[];return u=t(u),c=t(c),i(u.translateX,u.translateY,c.translateX,c.translateY,f,p),a(u.rotate,c.rotate,f,p),s(u.skewX,c.skewX,f,p),l(u.scaleX,u.scaleY,c.scaleX,c.scaleY,f,p),u=c=null,function(h){for(var m=-1,g=p.length,x;++m<g;)f[(x=p[m]).i]=x.x(h);return f.join("")}}}var Ur=Vo($o,"px, ","px)","deg)"),qr=Vo(Bo,", ",")",")");var Ht=0,se=0,ae=0,Uo=1e3,Be,ue,Ve=0,St=0,Ye=0,le=typeof performance=="object"&&performance.now?performance:Date,qo=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};function Tt(){return St||(qo(su),St=le.now()+Ye)}function su(){St=0}function At(){this._call=this._time=this._next=null}At.prototype=Ue.prototype={constructor:At,restart:function(t,e,r){if(typeof t!="function")throw new TypeError("callback is not a function");r=(r==null?Tt():+r)+(e==null?0:+e),!this._next&&ue!==this&&(ue?ue._next=this:Be=this,ue=this),this._call=t,this._time=r,Wr()},stop:function(){this._call&&(this._call=null,this._time=1/0,Wr())}};function Ue(t,e,r){var n=new At;return n.restart(t,e,r),n}function Wo(){Tt(),++Ht;for(var t=Be,e;t;)(e=St-t._time)>=0&&t._call.call(void 0,e),t=t._next;--Ht}function Yo(){St=(Ve=le.now())+Ye,Ht=se=0;try{Wo()}finally{Ht=0,lu(),St=0}}function uu(){var t=le.now(),e=t-Ve;e>Uo&&(Ye-=e,Ve=t)}function lu(){for(var t,e=Be,r,n=1/0;e;)e._call?(n>e._time&&(n=e._time),t=e,e=e._next):(r=e._next,e._next=null,e=t?t._next=r:Be=r);ue=t,Wr(n)}function Wr(t){if(!Ht){se&&(se=clearTimeout(se));var e=t-St;e>24?(t<1/0&&(se=setTimeout(Yo,t-le.now()-Ye)),ae&&(ae=clearInterval(ae))):(ae||(Ve=le.now(),ae=setInterval(uu,Uo)),Ht=1,qo(Yo))}}function qe(t,e,r){var n=new At;return e=e==null?0:+e,n.restart(o=>{n.stop(),t(o+e)},e,r),n}function We(t,e,r){var n=new At,o=e;return e==null?(n.restart(t,e,r),n):(n._restart=n.restart,n.restart=function(i,a,s){a=+a,s=s==null?Tt():+s,n._restart(function l(u){u+=o,n._restart(l,o+=a,s),i(u)},a,s)},n.restart(t,e,r),n)}var cu=Fr("start","end","cancel","interrupt"),fu=[],Go=0,Xo=1,je=2,Xe=3,jo=4,Ge=5,ce=6;function mt(t,e,r,n,o,i){var a=t.__transition;if(!a)t.__transition={};else if(r in a)return;pu(t,r,{name:e,index:n,group:o,on:cu,tween:fu,time:i.time,delay:i.delay,duration:i.duration,ease:i.ease,timer:null,state:Go})}function fe(t,e){var r=V(t,e);if(r.state>Go)throw new Error("too late; already scheduled");return r}function W(t,e){var r=V(t,e);if(r.state>Xe)throw new Error("too late; already running");return r}function V(t,e){var r=t.__transition;if(!r||!(r=r[e]))throw new Error("transition not found");return r}function pu(t,e,r){var n=t.__transition,o;n[e]=r,r.timer=Ue(i,0,r.time);function i(u){r.state=Xo,r.timer.restart(a,r.delay,r.time),r.delay<=u&&a(u-r.delay)}function a(u){var c,f,p,h;if(r.state!==Xo)return l();for(c in n)if(h=n[c],h.name===r.name){if(h.state===Xe)return qe(a);h.state===jo?(h.state=ce,h.timer.stop(),h.on.call("interrupt",t,t.__data__,h.index,h.group),delete n[c]):+c<e&&(h.state=ce,h.timer.stop(),h.on.call("cancel",t,t.__data__,h.index,h.group),delete n[c])}if(qe(function(){r.state===Xe&&(r.state=jo,r.timer.restart(s,r.delay,r.time),s(u))}),r.state=je,r.on.call("start",t,t.__data__,r.index,r.group),r.state===je){for(r.state=Xe,o=new Array(p=r.tween.length),c=0,f=-1;c<p;++c)(h=r.tween[c].value.call(t,t.__data__,r.index,r.group))&&(o[++f]=h);o.length=f+1}}function s(u){for(var c=u<r.duration?r.ease.call(null,u/r.duration):(r.timer.restart(l),r.state=Ge,1),f=-1,p=o.length;++f<p;)o[f].call(t,c);r.state===Ge&&(r.on.call("end",t,t.__data__,r.index,r.group),l())}function l(){r.state=ce,r.timer.stop(),delete n[e];for(var u in n)return;delete t.__transition}}function Ke(t,e){var r=t.__transition,n,o,i=!0,a;if(r){e=e==null?null:e+"";for(a in r){if((n=r[a]).name!==e){i=!1;continue}o=n.state>je&&n.state<Ge,n.state=ce,n.timer.stop(),n.on.call(o?"interrupt":"cancel",t,t.__data__,n.index,n.group),delete r[a]}i&&delete t.__transition}}function Ko(t){return this.each(function(){Ke(this,t)})}function hu(t,e){var r,n;return function(){var o=W(this,t),i=o.tween;if(i!==r){n=r=i;for(var a=0,s=n.length;a<s;++a)if(n[a].name===e){n=n.slice(),n.splice(a,1);break}}o.tween=n}}function mu(t,e,r){var n,o;if(typeof r!="function")throw new Error;return function(){var i=W(this,t),a=i.tween;if(a!==n){o=(n=a).slice();for(var s={name:e,value:r},l=0,u=o.length;l<u;++l)if(o[l].name===e){o[l]=s;break}l===u&&o.push(s)}i.tween=o}}function Zo(t,e){var r=this._id;if(t+="",arguments.length<2){for(var n=V(this.node(),r).tween,o=0,i=n.length,a;o<i;++o)if((a=n[o]).name===t)return a.value;return null}return this.each((e==null?hu:mu)(r,t,e))}function $t(t,e,r){var n=t._id;return t.each(function(){var o=W(this,n);(o.value||(o.value={}))[e]=r.apply(this,arguments)}),function(o){return V(o,n).value[e]}}function Ze(t,e){var r;return(typeof e=="number"?q:e instanceof rt?kt:(r=rt(e))?(e=r,kt):ie)(t,e)}function du(t){return function(){this.removeAttribute(t)}}function gu(t){return function(){this.removeAttributeNS(t.space,t.local)}}function yu(t,e,r){var n,o=r+"",i;return function(){var a=this.getAttribute(t);return a===o?null:a===n?i:i=e(n=a,r)}}function xu(t,e,r){var n,o=r+"",i;return function(){var a=this.getAttributeNS(t.space,t.local);return a===o?null:a===n?i:i=e(n=a,r)}}function vu(t,e,r){var n,o,i;return function(){var a,s=r(this),l;return s==null?void this.removeAttribute(t):(a=this.getAttribute(t),l=s+"",a===l?null:a===n&&l===o?i:(o=l,i=e(n=a,s)))}}function wu(t,e,r){var n,o,i;return function(){var a,s=r(this),l;return s==null?void this.removeAttributeNS(t.space,t.local):(a=this.getAttributeNS(t.space,t.local),l=s+"",a===l?null:a===n&&l===o?i:(o=l,i=e(n=a,s)))}}function Qo(t,e){var r=ct(t),n=r==="transform"?qr:Ze;return this.attrTween(t,typeof e=="function"?(r.local?wu:vu)(r,n,$t(this,"attr."+t,e)):e==null?(r.local?gu:du)(r):(r.local?xu:yu)(r,n,e))}function _u(t,e){return function(r){this.setAttribute(t,e.call(this,r))}}function bu(t,e){return function(r){this.setAttributeNS(t.space,t.local,e.call(this,r))}}function Du(t,e){var r,n;function o(){var i=e.apply(this,arguments);return i!==n&&(r=(n=i)&&bu(t,i)),r}return o._value=e,o}function ku(t,e){var r,n;function o(){var i=e.apply(this,arguments);return i!==n&&(r=(n=i)&&_u(t,i)),r}return o._value=e,o}function Jo(t,e){var r="attr."+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;var n=ct(t);return this.tween(r,(n.local?Du:ku)(n,e))}function Su(t,e){return function(){fe(this,t).delay=+e.apply(this,arguments)}}function Au(t,e){return e=+e,function(){fe(this,t).delay=e}}function ti(t){var e=this._id;return arguments.length?this.each((typeof t=="function"?Su:Au)(e,t)):V(this.node(),e).delay}function Tu(t,e){return function(){W(this,t).duration=+e.apply(this,arguments)}}function Mu(t,e){return e=+e,function(){W(this,t).duration=e}}function ei(t){var e=this._id;return arguments.length?this.each((typeof t=="function"?Tu:Mu)(e,t)):V(this.node(),e).duration}function Eu(t,e){if(typeof e!="function")throw new Error;return function(){W(this,t).ease=e}}function ri(t){var e=this._id;return arguments.length?this.each(Eu(e,t)):V(this.node(),e).ease}function Cu(t,e){return function(){var r=e.apply(this,arguments);if(typeof r!="function")throw new Error;W(this,t).ease=r}}function ni(t){if(typeof t!="function")throw new Error;return this.each(Cu(this._id,t))}function oi(t){typeof t!="function"&&(t=Qt(t));for(var e=this._groups,r=e.length,n=new Array(r),o=0;o<r;++o)for(var i=e[o],a=i.length,s=n[o]=[],l,u=0;u<a;++u)(l=i[u])&&t.call(l,l.__data__,u,i)&&s.push(l);return new K(n,this._parents,this._name,this._id)}function ii(t){if(t._id!==this._id)throw new Error;for(var e=this._groups,r=t._groups,n=e.length,o=r.length,i=Math.min(n,o),a=new Array(n),s=0;s<i;++s)for(var l=e[s],u=r[s],c=l.length,f=a[s]=new Array(c),p,h=0;h<c;++h)(p=l[h]||u[h])&&(f[h]=p);for(;s<n;++s)a[s]=e[s];return new K(a,this._parents,this._name,this._id)}function Nu(t){return(t+"").trim().split(/^|\s+/).every(function(e){var r=e.indexOf(".");return r>=0&&(e=e.slice(0,r)),!e||e==="start"})}function Ru(t,e,r){var n,o,i=Nu(e)?fe:W;return function(){var a=i(this,t),s=a.on;s!==n&&(o=(n=s).copy()).on(e,r),a.on=o}}function ai(t,e){var r=this._id;return arguments.length<2?V(this.node(),r).on.on(t):this.each(Ru(r,t,e))}function Fu(t){return function(){var e=this.parentNode;for(var r in this.__transition)if(+r!==t)return;e&&e.removeChild(this)}}function si(){return this.on("end.remove",Fu(this._id))}function ui(t){var e=this._name,r=this._id;typeof t!="function"&&(t=_t(t));for(var n=this._groups,o=n.length,i=new Array(o),a=0;a<o;++a)for(var s=n[a],l=s.length,u=i[a]=new Array(l),c,f,p=0;p<l;++p)(c=s[p])&&(f=t.call(c,c.__data__,p,s))&&("__data__"in c&&(f.__data__=c.__data__),u[p]=f,mt(u[p],e,r,p,u,V(c,r)));return new K(i,this._parents,e,r)}function li(t){var e=this._name,r=this._id;typeof t!="function"&&(t=Zt(t));for(var n=this._groups,o=n.length,i=[],a=[],s=0;s<o;++s)for(var l=n[s],u=l.length,c,f=0;f<u;++f)if(c=l[f]){for(var p=t.call(c,c.__data__,f,l),h,m=V(c,r),g=0,x=p.length;g<x;++g)(h=p[g])&&mt(h,e,r,g,p,m);i.push(p),a.push(c)}return new K(i,a,e,r)}var Ou=ft.prototype.constructor;function ci(){return new Ou(this._groups,this._parents)}function Iu(t,e){var r,n,o;return function(){var i=ht(this,t),a=(this.style.removeProperty(t),ht(this,t));return i===a?null:i===r&&a===n?o:o=e(r=i,n=a)}}function fi(t){return function(){this.style.removeProperty(t)}}function Lu(t,e,r){var n,o=r+"",i;return function(){var a=ht(this,t);return a===o?null:a===n?i:i=e(n=a,r)}}function Pu(t,e,r){var n,o,i;return function(){var a=ht(this,t),s=r(this),l=s+"";return s==null&&(l=s=(this.style.removeProperty(t),ht(this,t))),a===l?null:a===n&&l===o?i:(o=l,i=e(n=a,s))}}function zu(t,e){var r,n,o,i="style."+e,a="end."+i,s;return function(){var l=W(this,t),u=l.on,c=l.value[i]==null?s||(s=fi(e)):void 0;(u!==r||o!==c)&&(n=(r=u).copy()).on(a,o=c),l.on=n}}function pi(t,e,r){var n=(t+="")=="transform"?Ur:Ze;return e==null?this.styleTween(t,Iu(t,n)).on("end.style."+t,fi(t)):typeof e=="function"?this.styleTween(t,Pu(t,n,$t(this,"style."+t,e))).each(zu(this._id,t)):this.styleTween(t,Lu(t,n,e),r).on("end.style."+t,null)}function Hu(t,e,r){return function(n){this.style.setProperty(t,e.call(this,n),r)}}function $u(t,e,r){var n,o;function i(){var a=e.apply(this,arguments);return a!==o&&(n=(o=a)&&Hu(t,a,r)),n}return i._value=e,i}function hi(t,e,r){var n="style."+(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;return this.tween(n,$u(t,e,r??""))}function Bu(t){return function(){this.textContent=t}}function Vu(t){return function(){var e=t(this);this.textContent=e??""}}function mi(t){return this.tween("text",typeof t=="function"?Vu($t(this,"text",t)):Bu(t==null?"":t+""))}function Yu(t){return function(e){this.textContent=t.call(this,e)}}function Uu(t){var e,r;function n(){var o=t.apply(this,arguments);return o!==r&&(e=(r=o)&&Yu(o)),e}return n._value=t,n}function di(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,Uu(t))}function gi(){for(var t=this._name,e=this._id,r=Qe(),n=this._groups,o=n.length,i=0;i<o;++i)for(var a=n[i],s=a.length,l,u=0;u<s;++u)if(l=a[u]){var c=V(l,e);mt(l,t,r,u,a,{time:c.time+c.delay+c.duration,delay:0,duration:c.duration,ease:c.ease})}return new K(n,this._parents,t,r)}function yi(){var t,e,r=this,n=r._id,o=r.size();return new Promise(function(i,a){var s={value:a},l={value:function(){--o===0&&i()}};r.each(function(){var u=W(this,n),c=u.on;c!==t&&(e=(t=c).copy(),e._.cancel.push(s),e._.interrupt.push(s),e._.end.push(l)),u.on=e}),o===0&&i()})}var qu=0;function K(t,e,r,n){this._groups=t,this._parents=e,this._name=r,this._id=n}function xi(t){return ft().transition(t)}function Qe(){return++qu}var pt=ft.prototype;K.prototype=xi.prototype={constructor:K,select:ui,selectAll:li,selectChild:pt.selectChild,selectChildren:pt.selectChildren,filter:oi,merge:ii,selection:ci,transition:gi,call:pt.call,nodes:pt.nodes,node:pt.node,size:pt.size,empty:pt.empty,each:pt.each,on:ai,attr:Qo,attrTween:Jo,style:pi,styleTween:hi,text:mi,textTween:di,remove:si,tween:Zo,delay:ti,duration:ei,ease:ri,easeVarying:ni,end:yi,[Symbol.iterator]:pt[Symbol.iterator]};var X=t=>+t;function Je(t){return((t*=2)<=1?t*t*t:(t-=2)*t*t+2)/2}var Wu={time:null,delay:0,duration:250,ease:Je};function Xu(t,e){for(var r;!(r=t.__transition)||!(r=r[e]);)if(!(t=t.parentNode))throw new Error(`transition ${e} not found`);return r}function vi(t){var e,r;t instanceof K?(e=t._id,t=t._name):(e=Qe(),(r=Wu).time=Tt(),t=t==null?null:t+"");for(var n=this._groups,o=n.length,i=0;i<o;++i)for(var a=n[i],s=a.length,l,u=0;u<s;++u)(l=a[u])&&mt(l,t,e,u,a,r||Xu(l,e));return new K(n,this._parents,t,e)}ft.prototype.interrupt=Ko;ft.prototype.transition=vi;var{abs:Jd,max:tg,min:eg}=Math;function wi(t){return[+t[0],+t[1]]}function ju(t){return[wi(t[0]),wi(t[1])]}var rg={name:"x",handles:["w","e"].map(Xr),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]]}},ng={name:"y",handles:["n","s"].map(Xr),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]]}},og={name:"xy",handles:["n","w","e","s","nw","ne","sw","se"].map(Xr),input:function(t){return t==null?null:ju(t)},output:function(t){return t}};function Xr(t){return{type:t}}var _i={},jr={},Gr=34,pe=10,Kr=13;function Di(t){return new Function("d","return {"+t.map(function(e,r){return JSON.stringify(e)+": d["+r+'] || ""'}).join(",")+"}")}function Gu(t,e){var r=Di(t);return function(n,o){return e(r(n),o,t)}}function bi(t){var e=Object.create(null),r=[];return t.forEach(function(n){for(var o in n)o in e||r.push(e[o]=o)}),r}function Q(t,e){var r=t+"",n=r.length;return n<e?new Array(e-n+1).join(0)+r:r}function Ku(t){return t<0?"-"+Q(-t,6):t>9999?"+"+Q(t,6):Q(t,4)}function Zu(t){var e=t.getUTCHours(),r=t.getUTCMinutes(),n=t.getUTCSeconds(),o=t.getUTCMilliseconds();return isNaN(t)?"Invalid Date":Ku(t.getUTCFullYear(),4)+"-"+Q(t.getUTCMonth()+1,2)+"-"+Q(t.getUTCDate(),2)+(o?"T"+Q(e,2)+":"+Q(r,2)+":"+Q(n,2)+"."+Q(o,3)+"Z":n?"T"+Q(e,2)+":"+Q(r,2)+":"+Q(n,2)+"Z":r||e?"T"+Q(e,2)+":"+Q(r,2)+"Z":"")}function he(t){var e=new RegExp('["'+t+` \r]`),r=t.charCodeAt(0);function n(f,p){var h,m,g=o(f,function(x,b){if(h)return h(x,b-1);m=x,h=p?Gu(x,p):Di(x)});return g.columns=m||[],g}function o(f,p){var h=[],m=f.length,g=0,x=0,b,D=m<=0,k=!1;f.charCodeAt(m-1)===pe&&--m,f.charCodeAt(m-1)===Kr&&--m;function S(){if(D)return jr;if(k)return k=!1,_i;var w,E=g,R;if(f.charCodeAt(E)===Gr){for(;g++<m&&f.charCodeAt(g)!==Gr||f.charCodeAt(++g)===Gr;);return(w=g)>=m?D=!0:(R=f.charCodeAt(g++))===pe?k=!0:R===Kr&&(k=!0,f.charCodeAt(g)===pe&&++g),f.slice(E+1,w-1).replace(/""/g,'"')}for(;g<m;){if((R=f.charCodeAt(w=g++))===pe)k=!0;else if(R===Kr)k=!0,f.charCodeAt