UNPKG

billboard.js

Version:

Re-usable easy interface JavaScript chart library, based on D3 v4+

11 lines 257 kB
/*! * Copyright (c) 2017 ~ present NAVER Corp. * billboard.js project is licensed under the MIT license * * billboard.js, JavaScript chart library * https://naver.github.io/billboard.js/ * * @version 3.14.2 * @requires billboard.js * @summary billboard.js plugin */(function(qr,Lr){typeof exports=="object"&&typeof module=="object"?module.exports=Lr():typeof define=="function"&&define.amd?define("bb",[],Lr):typeof exports=="object"?exports.bb=Lr():(qr.bb=qr.bb||{},qr.bb.plugin=qr.bb.plugin||{},qr.bb.plugin["sparkline.pkgd"]=Lr())})(this,function(){return function(){"use strict";var Ce={68990:function(i,d,t){t.d(d,{default:function(){return Sa}});var r=Object.defineProperty,n=Object.getOwnPropertySymbols,e=Object.prototype.hasOwnProperty,o=Object.prototype.propertyIsEnumerable,s=(a,f,h)=>f in a?r(a,f,{enumerable:!0,configurable:!0,writable:!0,value:h}):a[f]=h,u=(a,f)=>{for(var h in f||(f={}))e.call(f,h)&&s(a,h,f[h]);if(n)for(var h of n(f))o.call(f,h)&&s(a,h,f[h]);return a};const l={button:"bb-button",chart:"bb-chart",empty:"bb-empty",main:"bb-main",target:"bb-target",EXPANDED:"_expanded_"},v={arc:"bb-arc",arcLabelLine:"bb-arc-label-line",arcRange:"bb-arc-range",arcs:"bb-arcs",chartArc:"bb-chart-arc",chartArcs:"bb-chart-arcs",chartArcsBackground:"bb-chart-arcs-background",chartArcsTitle:"bb-chart-arcs-title",needle:"bb-needle"},c={area:"bb-area",areas:"bb-areas"},g={axis:"bb-axis",axisX:"bb-axis-x",axisXLabel:"bb-axis-x-label",axisY:"bb-axis-y",axisY2:"bb-axis-y2",axisY2Label:"bb-axis-y2-label",axisYLabel:"bb-axis-y-label",axisXTooltip:"bb-axis-x-tooltip",axisYTooltip:"bb-axis-y-tooltip",axisY2Tooltip:"bb-axis-y2-tooltip"},y={bar:"bb-bar",bars:"bb-bars",chartBar:"bb-chart-bar",chartBars:"bb-chart-bars"},p={candlestick:"bb-candlestick",candlesticks:"bb-candlesticks",chartCandlestick:"bb-chart-candlestick",chartCandlesticks:"bb-chart-candlesticks",valueDown:"bb-value-down",valueUp:"bb-value-up"},m={chartCircles:"bb-chart-circles",circle:"bb-circle",circles:"bb-circles"},S={colorPattern:"bb-color-pattern",colorScale:"bb-colorscale"},x={dragarea:"bb-dragarea",INCLUDED:"_included_"},O={funnel:"bb-funnel",chartFunnel:"bb-chart-funnel",chartFunnels:"bb-chart-funnels",funnelBackground:"bb-funnel-background"},P={chartArcsGaugeMax:"bb-chart-arcs-gauge-max",chartArcsGaugeMin:"bb-chart-arcs-gauge-min",chartArcsGaugeUnit:"bb-chart-arcs-gauge-unit",chartArcsGaugeTitle:"bb-chart-arcs-gauge-title",gaugeValue:"bb-gauge-value"},T={legend:"bb-legend",legendBackground:"bb-legend-background",legendItem:"bb-legend-item",legendItemEvent:"bb-legend-item-event",legendItemHidden:"bb-legend-item-hidden",legendItemPoint:"bb-legend-item-point",legendItemTile:"bb-legend-item-tile"},R={chartLine:"bb-chart-line",chartLines:"bb-chart-lines",line:"bb-line",lines:"bb-lines"},N={eventRect:"bb-event-rect",eventRects:"bb-event-rects",eventRectsMultiple:"bb-event-rects-multiple",eventRectsSingle:"bb-event-rects-single"},A={focused:"bb-focused",defocused:"bb-defocused",legendItemFocused:"bb-legend-item-focused",xgridFocus:"bb-xgrid-focus",ygridFocus:"bb-ygrid-focus"},C={grid:"bb-grid",gridLines:"bb-grid-lines",xgrid:"bb-xgrid",xgridLine:"bb-xgrid-line",xgridLines:"bb-xgrid-lines",xgrids:"bb-xgrids",ygrid:"bb-ygrid",ygridLine:"bb-ygrid-line",ygridLines:"bb-ygrid-lines",ygrids:"bb-ygrids"},D={level:"bb-level",levels:"bb-levels"},$={chartRadar:"bb-chart-radar",chartRadars:"bb-chart-radars"},F={region:"bb-region",regions:"bb-regions"},L={selectedCircle:"bb-selected-circle",selectedCircles:"bb-selected-circles",SELECTED:"_selected_"},G={shape:"bb-shape",shapes:"bb-shapes"},H={brush:"bb-brush",subchart:"bb-subchart"},U={chartText:"bb-chart-text",chartTexts:"bb-chart-texts",text:"bb-text",texts:"bb-texts",title:"bb-title",TextOverlapping:"text-overlapping"},B={tooltip:"bb-tooltip",tooltipContainer:"bb-tooltip-container",tooltipName:"bb-tooltip-name"},j={treemap:"bb-treemap",chartTreemap:"bb-chart-treemap",chartTreemaps:"bb-chart-treemaps"},z={buttonZoomReset:"bb-zoom-reset",zoomBrush:"bb-zoom-brush"};var Q=u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u({},l),v),c),g),y),p),m),S),x),P),T),R),N),A),O),C),$),F),L),G),H),U),B),j),z);function X(){}function k(a){return a==null?X:function(){return this.querySelector(a)}}function Z(a){typeof a!="function"&&(a=k(a));for(var f=this._groups,h=f.length,E=new Array(h),I=0;I<h;++I)for(var M=f[I],b=M.length,w=E[I]=new Array(b),W,q,tt=0;tt<b;++tt)(W=M[tt])&&(q=a.call(W,W.__data__,tt,M))&&("__data__"in W&&(q.__data__=W.__data__),w[tt]=q);return new Gr(E,this._parents)}function gt(a){return a==null?[]:Array.isArray(a)?a:Array.from(a)}function lt(){return[]}function yt(a){return a==null?lt:function(){return this.querySelectorAll(a)}}function Ot(a){return function(){return gt(a.apply(this,arguments))}}function Rt(a){typeof a=="function"?a=Ot(a):a=yt(a);for(var f=this._groups,h=f.length,E=[],I=[],M=0;M<h;++M)for(var b=f[M],w=b.length,W,q=0;q<w;++q)(W=b[q])&&(E.push(a.call(W,W.__data__,q,b)),I.push(W));return new Gr(E,I)}function Wt(a){return function(){return this.matches(a)}}function Vt(a){return function(f){return f.matches(a)}}var $t=Array.prototype.find;function vt(a){return function(){return $t.call(this.children,a)}}function mt(){return this.firstElementChild}function Mt(a){return this.select(a==null?mt:vt(typeof a=="function"?a:Vt(a)))}var Ft=Array.prototype.filter;function Nt(){return Array.from(this.children)}function Bt(a){return function(){return Ft.call(this.children,a)}}function qt(a){return this.selectAll(a==null?Nt:Bt(typeof a=="function"?a:Vt(a)))}function _t(a){typeof a!="function"&&(a=Wt(a));for(var f=this._groups,h=f.length,E=new Array(h),I=0;I<h;++I)for(var M=f[I],b=M.length,w=E[I]=[],W,q=0;q<b;++q)(W=M[q])&&a.call(W,W.__data__,q,M)&&w.push(W);return new Gr(E,this._parents)}function Xt(a){return new Array(a.length)}function Lt(){return new Gr(this._enter||this._groups.map(Xt),this._parents)}function Jt(a,f){this.ownerDocument=a.ownerDocument,this.namespaceURI=a.namespaceURI,this._next=null,this._parent=a,this.__data__=f}Jt.prototype={constructor:Jt,appendChild:function(a){return this._parent.insertBefore(a,this._next)},insertBefore:function(a,f){return this._parent.insertBefore(a,f)},querySelector:function(a){return this._parent.querySelector(a)},querySelectorAll:function(a){return this._parent.querySelectorAll(a)}};function Yt(a){return function(){return a}}function jt(a,f,h,E,I,M){for(var b=0,w,W=f.length,q=M.length;b<q;++b)(w=f[b])?(w.__data__=M[b],E[b]=w):h[b]=new Jt(a,M[b]);for(;b<W;++b)(w=f[b])&&(I[b]=w)}function st(a,f,h,E,I,M,b){var w,W,q=new Map,tt=f.length,Tt=M.length,bt=new Array(tt),Ht;for(w=0;w<tt;++w)(W=f[w])&&(bt[w]=Ht=b.call(W,W.__data__,w,f)+"",q.has(Ht)?I[w]=W:q.set(Ht,W));for(w=0;w<Tt;++w)Ht=b.call(a,M[w],w,M)+"",(W=q.get(Ht))?(E[w]=W,W.__data__=M[w],q.delete(Ht)):h[w]=new Jt(a,M[w]);for(w=0;w<tt;++w)(W=f[w])&&q.get(bt[w])===W&&(I[w]=W)}function dt(a){return a.__data__}function _(a,f){if(!arguments.length)return Array.from(this,dt);var h=f?st:jt,E=this._parents,I=this._groups;typeof a!="function"&&(a=Yt(a));for(var M=I.length,b=new Array(M),w=new Array(M),W=new Array(M),q=0;q<M;++q){var tt=E[q],Tt=I[q],bt=Tt.length,Ht=At(a.call(tt,tt&&tt.__data__,q,E)),fr=Ht.length,xr=w[q]=new Array(fr),Et=b[q]=new Array(fr),Gt=W[q]=new Array(bt);h(tt,Tt,xr,Et,Gt,Ht,f);for(var Kt=0,wt=0,tr,rr;Kt<fr;++Kt)if(tr=xr[Kt]){for(Kt>=wt&&(wt=Kt+1);!(rr=Et[wt])&&++wt<fr;);tr._next=rr||null}}return b=new Gr(b,E),b._enter=w,b._exit=W,b}function At(a){return typeof a=="object"&&"length"in a?a:Array.from(a)}function Pt(){return new Gr(this._exit||this._groups.map(Xt),this._parents)}function It(a,f,h){var E=this.enter(),I=this,M=this.exit();return typeof a=="function"?(E=a(E),E&&(E=E.selection())):E=E.append(a+""),f!=null&&(I=f(I),I&&(I=I.selection())),h==null?M.remove():h(M),E&&I?E.merge(I).order():I}function St(a){for(var f=a.selection?a.selection():a,h=this._groups,E=f._groups,I=h.length,M=E.length,b=Math.min(I,M),w=new Array(I),W=0;W<b;++W)for(var q=h[W],tt=E[W],Tt=q.length,bt=w[W]=new Array(Tt),Ht,fr=0;fr<Tt;++fr)(Ht=q[fr]||tt[fr])&&(bt[fr]=Ht);for(;W<I;++W)w[W]=h[W];return new Gr(w,this._parents)}function er(){for(var a=this._groups,f=-1,h=a.length;++f<h;)for(var E=a[f],I=E.length-1,M=E[I],b;--I>=0;)(b=E[I])&&(M&&b.compareDocumentPosition(M)^4&&M.parentNode.insertBefore(b,M),M=b);return this}function or(a){a||(a=K);function f(Tt,bt){return Tt&&bt?a(Tt.__data__,bt.__data__):!Tt-!bt}for(var h=this._groups,E=h.length,I=new Array(E),M=0;M<E;++M){for(var b=h[M],w=b.length,W=I[M]=new Array(w),q,tt=0;tt<w;++tt)(q=b[tt])&&(W[tt]=q);W.sort(f)}return new Gr(I,this._parents).order()}function K(a,f){return a<f?-1:a>f?1:a>=f?0:NaN}function et(){var a=arguments[0];return arguments[0]=this,a.apply(null,arguments),this}function it(){return Array.from(this)}function ot(){for(var a=this._groups,f=0,h=a.length;f<h;++f)for(var E=a[f],I=0,M=E.length;I<M;++I){var b=E[I];if(b)return b}return null}function ct(){let a=0;for(const f of this)++a;return a}function rt(){return!this.node()}function Dt(a){for(var f=this._groups,h=0,E=f.length;h<E;++h)for(var I=f[h],M=0,b=I.length,w;M<b;++M)(w=I[M])&&a.call(w,w.__data__,M,I);return this}var kt="http://www.w3.org/1999/xhtml",nt={svg:"http://www.w3.org/2000/svg",xhtml:kt,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function ht(a){var f=a+="",h=f.indexOf(":");return h>=0&&(f=a.slice(0,h))!=="xmlns"&&(a=a.slice(h+1)),nt.hasOwnProperty(f)?{space:nt[f],local:a}:a}function pt(a){return function(){this.removeAttribute(a)}}function xt(a){return function(){this.removeAttributeNS(a.space,a.local)}}function Ut(a,f){return function(){this.setAttribute(a,f)}}function Zt(a,f){return function(){this.setAttributeNS(a.space,a.local,f)}}function nr(a,f){return function(){var h=f.apply(this,arguments);h==null?this.removeAttribute(a):this.setAttribute(a,h)}}function ar(a,f){return function(){var h=f.apply(this,arguments);h==null?this.removeAttributeNS(a.space,a.local):this.setAttributeNS(a.space,a.local,h)}}function ir(a,f){var h=ht(a);if(arguments.length<2){var E=this.node();return h.local?E.getAttributeNS(h.space,h.local):E.getAttribute(h)}return this.each((f==null?h.local?xt:pt:typeof f=="function"?h.local?ar:nr:h.local?Zt:Ut)(h,f))}function cr(a){return a.ownerDocument&&a.ownerDocument.defaultView||a.document&&a||a.defaultView}function Ur(a){return function(){this.style.removeProperty(a)}}function gn(a,f,h){return function(){this.style.setProperty(a,f,h)}}function bn(a,f,h){return function(){var E=f.apply(this,arguments);E==null?this.style.removeProperty(a):this.style.setProperty(a,E,h)}}function yn(a,f,h){return arguments.length>1?this.each((f==null?Ur:typeof f=="function"?bn:gn)(a,f,h==null?"":h)):$r(this.node(),a)}function $r(a,f){return a.style.getPropertyValue(f)||cr(a).getComputedStyle(a,null).getPropertyValue(f)}function Br(a){return function(){delete this[a]}}function Fn(a,f){return function(){this[a]=f}}function Jr(a,f){return function(){var h=f.apply(this,arguments);h==null?delete this[a]:this[a]=h}}function jr(a,f){return arguments.length>1?this.each((f==null?Br:typeof f=="function"?Jr:Fn)(a,f)):this.node()[a]}function fn(a){return a.trim().split(/^|\s+/)}function zr(a){return a.classList||new mr(a)}function mr(a){this._node=a,this._names=fn(a.getAttribute("class")||"")}mr.prototype={add:function(a){var f=this._names.indexOf(a);f<0&&(this._names.push(a),this._node.setAttribute("class",this._names.join(" ")))},remove:function(a){var f=this._names.indexOf(a);f>=0&&(this._names.splice(f,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(a){return this._names.indexOf(a)>=0}};function Nr(a,f){for(var h=zr(a),E=-1,I=f.length;++E<I;)h.add(f[E])}function pn(a,f){for(var h=zr(a),E=-1,I=f.length;++E<I;)h.remove(f[E])}function $n(a){return function(){Nr(this,a)}}function Y(a){return function(){pn(this,a)}}function ft(a,f){return function(){(f.apply(this,arguments)?Nr:pn)(this,a)}}function J(a,f){var h=fn(a+"");if(arguments.length<2){for(var E=zr(this.node()),I=-1,M=h.length;++I<M;)if(!E.contains(h[I]))return!1;return!0}return this.each((typeof f=="function"?ft:f?$n:Y)(h,f))}function V(){this.textContent=""}function at(a){return function(){this.textContent=a}}function zt(a){return function(){var f=a.apply(this,arguments);this.textContent=f==null?"":f}}function Ct(a){return arguments.length?this.each(a==null?V:(typeof a=="function"?zt:at)(a)):this.node().textContent}function sr(){this.innerHTML=""}function ur(a){return function(){this.innerHTML=a}}function dr(a){return function(){var f=a.apply(this,arguments);this.innerHTML=f==null?"":f}}function Dr(a){return arguments.length?this.each(a==null?sr:(typeof a=="function"?dr:ur)(a)):this.node().innerHTML}function ut(){this.nextSibling&&this.parentNode.appendChild(this)}function lr(){return this.each(ut)}function wr(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function mn(){return this.each(wr)}function Ln(a){return function(){var f=this.ownerDocument,h=this.namespaceURI;return h===kt&&f.documentElement.namespaceURI===kt?f.createElement(a):f.createElementNS(h,a)}}function Un(a){return function(){return this.ownerDocument.createElementNS(a.space,a.local)}}function ln(a){var f=ht(a);return(f.local?Un:Ln)(f)}function Ra(a){var f=typeof a=="function"?a:ln(a);return this.select(function(){return this.appendChild(f.apply(this,arguments))})}function Aa(){return null}function Pa(a,f){var h=typeof a=="function"?a:ln(a),E=f==null?Aa:typeof f=="function"?f:k(f);return this.select(function(){return this.insertBefore(h.apply(this,arguments),E.apply(this,arguments)||null)})}function Ca(){var a=this.parentNode;a&&a.removeChild(this)}function Na(){return this.each(Ca)}function Ma(){var a=this.cloneNode(!1),f=this.parentNode;return f?f.insertBefore(a,this.nextSibling):a}function Da(){var a=this.cloneNode(!0),f=this.parentNode;return f?f.insertBefore(a,this.nextSibling):a}function ba(a){return this.select(a?Da:Ma)}function Fa(a){return arguments.length?this.property("__data__",a):this.node().__data__}function $a(a){return function(f){a.call(this,f,this.__data__)}}function La(a){return a.trim().split(/^|\s+/).map(function(f){var h="",E=f.indexOf(".");return E>=0&&(h=f.slice(E+1),f=f.slice(0,E)),{type:f,name:h}})}function Ua(a){return function(){var f=this.__on;if(f){for(var h=0,E=-1,I=f.length,M;h<I;++h)M=f[h],(!a.type||M.type===a.type)&&M.name===a.name?this.removeEventListener(M.type,M.listener,M.options):f[++E]=M;++E?f.length=E:delete this.__on}}}function Ba(a,f,h){return function(){var E=this.__on,I,M=$a(f);if(E){for(var b=0,w=E.length;b<w;++b)if((I=E[b]).type===a.type&&I.name===a.name){this.removeEventListener(I.type,I.listener,I.options),this.addEventListener(I.type,I.listener=M,I.options=h),I.value=f;return}}this.addEventListener(a.type,M,h),I={type:a.type,name:a.name,value:f,listener:M,options:h},E?E.push(I):this.__on=[I]}}function ja(a,f,h){var E=La(a+""),I,M=E.length,b;if(arguments.length<2){var w=this.node().__on;if(w){for(var W=0,q=w.length,tt;W<q;++W)for(I=0,tt=w[W];I<M;++I)if((b=E[I]).type===tt.type&&b.name===tt.name)return tt.value}return}for(w=f?Ba:Ua,I=0;I<M;++I)this.each(w(E[I],f,h));return this}function Ne(a,f,h){var E=cr(a),I=E.CustomEvent;typeof I=="function"?I=new I(f,h):(I=E.document.createEvent("Event"),h?(I.initEvent(f,h.bubbles,h.cancelable),I.detail=h.detail):I.initEvent(f,!1,!1)),a.dispatchEvent(I)}function wa(a,f){return function(){return Ne(this,a,f)}}function Ga(a,f){return function(){return Ne(this,a,f.apply(this,arguments))}}function Ha(a,f){return this.each((typeof f=="function"?Ga:wa)(a,f))}function*Va(){for(var a=this._groups,f=0,h=a.length;f<h;++f)for(var E=a[f],I=0,M=E.length,b;I<M;++I)(b=E[I])&&(yield b)}var Wa=[null];function Gr(a,f){this._groups=a,this._parents=f}function Me(){return new Gr([[document.documentElement]],Wa)}function za(){return this}Gr.prototype=Me.prototype={constructor:Gr,select:Z,selectAll:Rt,selectChild:Mt,selectChildren:qt,filter:_t,data:_,enter:Lt,exit:Pt,join:It,merge:St,selection:za,order:er,sort:or,call:et,nodes:it,node:ot,size:ct,empty:rt,each:Dt,attr:ir,style:yn,property:jr,classed:J,text:Ct,html:Dr,raise:lr,lower:mn,append:Ra,insert:Pa,remove:Na,clone:ba,datum:Fa,on:ja,dispatch:Ha,[Symbol.iterator]:Va};var xn=Me,Ya={value:()=>{}};function De(){for(var a=0,f=arguments.length,h={},E;a<f;++a){if(!(E=arguments[a]+"")||E in h||/[\s.]/.test(E))throw new Error("illegal type: "+E);h[E]=[]}return new Bn(h)}function Bn(a){this._=a}function Ka(a,f){return a.trim().split(/^|\s+/).map(function(h){var E="",I=h.indexOf(".");if(I>=0&&(E=h.slice(I+1),h=h.slice(0,I)),h&&!f.hasOwnProperty(h))throw new Error("unknown type: "+h);return{type:h,name:E}})}Bn.prototype=De.prototype={constructor:Bn,on:function(a,f){var h=this._,E=Ka(a+"",h),I,M=-1,b=E.length;if(arguments.length<2){for(;++M<b;)if((I=(a=E[M]).type)&&(I=Xa(h[I],a.name)))return I;return}if(f!=null&&typeof f!="function")throw new Error("invalid callback: "+f);for(;++M<b;)if(I=(a=E[M]).type)h[I]=be(h[I],a.name,f);else if(f==null)for(I in h)h[I]=be(h[I],a.name,null);return this},copy:function(){var a={},f=this._;for(var h in f)a[h]=f[h].slice();return new Bn(a)},call:function(a,f){if((I=arguments.length-2)>0)for(var h=new Array(I),E=0,I,M;E<I;++E)h[E]=arguments[E+2];if(!this._.hasOwnProperty(a))throw new Error("unknown type: "+a);for(M=this._[a],E=0,I=M.length;E<I;++E)M[E].value.apply(f,h)},apply:function(a,f,h){if(!this._.hasOwnProperty(a))throw new Error("unknown type: "+a);for(var E=this._[a],I=0,M=E.length;I<M;++I)E[I].value.apply(f,h)}};function Xa(a,f){for(var h=0,E=a.length,I;h<E;++h)if((I=a[h]).name===f)return I.value}function be(a,f,h){for(var E=0,I=a.length;E<I;++E)if(a[E].name===f){a[E]=Ya,a=a.slice(0,E).concat(a.slice(E+1));break}return h!=null&&a.push({name:f,value:h}),a}var Ja=De,vn=0,Sn=0,En=0,Fe=1e3,jn,In,wn=0,an=0,Gn=0,On=typeof performance=="object"&&performance.now?performance:Date,$e=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(a){setTimeout(a,17)};function se(){return an||($e(Qa),an=On.now()+Gn)}function Qa(){an=0}function Hn(){this._call=this._time=this._next=null}Hn.prototype=Le.prototype={constructor:Hn,restart:function(a,f,h){if(typeof a!="function")throw new TypeError("callback is not a function");h=(h==null?se():+h)+(f==null?0:+f),!this._next&&In!==this&&(In?In._next=this:jn=this,In=this),this._call=a,this._time=h,ie()},stop:function(){this._call&&(this._call=null,this._time=1/0,ie())}};function Le(a,f,h){var E=new Hn;return E.restart(a,f,h),E}function Za(){se(),++vn;for(var a=jn,f;a;)(f=an-a._time)>=0&&a._call.call(void 0,f),a=a._next;--vn}function Ue(){an=(wn=On.now())+Gn,vn=Sn=0;try{Za()}finally{vn=0,qa(),an=0}}function ka(){var a=On.now(),f=a-wn;f>Fe&&(Gn-=f,wn=a)}function qa(){for(var a,f=jn,h,E=1/0;f;)f._call?(E>f._time&&(E=f._time),a=f,f=f._next):(h=f._next,f._next=null,f=a?a._next=h:jn=h);In=a,ie(E)}function ie(a){if(!vn){Sn&&(Sn=clearTimeout(Sn));var f=a-an;f>24?(a<1/0&&(Sn=setTimeout(Ue,a-On.now()-Gn)),En&&(En=clearInterval(En))):(En||(wn=On.now(),En=setInterval(ka,Fe)),vn=1,$e(Ue))}}function Be(a,f,h){var E=new Hn;return f=f==null?0:+f,E.restart(I=>{E.stop(),a(I+f)},f,h),E}var _a=Ja("start","end","cancel","interrupt"),to=[],je=0,we=1,ue=2,Vn=3,Ge=4,fe=5,Wn=6;function zn(a,f,h,E,I,M){var b=a.__transition;if(!b)a.__transition={};else if(h in b)return;ro(a,h,{name:f,index:E,group:I,on:_a,tween:to,time:M.time,delay:M.delay,duration:M.duration,ease:M.ease,timer:null,state:je})}function le(a,f){var h=Hr(a,f);if(h.state>je)throw new Error("too late; already scheduled");return h}function Yr(a,f){var h=Hr(a,f);if(h.state>Vn)throw new Error("too late; already running");return h}function Hr(a,f){var h=a.__transition;if(!h||!(h=h[f]))throw new Error("transition not found");return h}function ro(a,f,h){var E=a.__transition,I;E[f]=h,h.timer=Le(M,0,h.time);function M(q){h.state=we,h.timer.restart(b,h.delay,h.time),h.delay<=q&&b(q-h.delay)}function b(q){var tt,Tt,bt,Ht;if(h.state!==we)return W();for(tt in E)if(Ht=E[tt],Ht.name===h.name){if(Ht.state===Vn)return Be(b);Ht.state===Ge?(Ht.state=Wn,Ht.timer.stop(),Ht.on.call("interrupt",a,a.__data__,Ht.index,Ht.group),delete E[tt]):+tt<f&&(Ht.state=Wn,Ht.timer.stop(),Ht.on.call("cancel",a,a.__data__,Ht.index,Ht.group),delete E[tt])}if(Be(function(){h.state===Vn&&(h.state=Ge,h.timer.restart(w,h.delay,h.time),w(q))}),h.state=ue,h.on.call("start",a,a.__data__,h.index,h.group),h.state===ue){for(h.state=Vn,I=new Array(bt=h.tween.length),tt=0,Tt=-1;tt<bt;++tt)(Ht=h.tween[tt].value.call(a,a.__data__,h.index,h.group))&&(I[++Tt]=Ht);I.length=Tt+1}}function w(q){for(var tt=q<h.duration?h.ease.call(null,q/h.duration):(h.timer.restart(W),h.state=fe,1),Tt=-1,bt=I.length;++Tt<bt;)I[Tt].call(a,tt);h.state===fe&&(h.on.call("end",a,a.__data__,h.index,h.group),W())}function W(){h.state=Wn,h.timer.stop(),delete E[f];for(var q in E)return;delete a.__transition}}function no(a,f){var h=a.__transition,E,I,M=!0,b;if(h){f=f==null?null:f+"";for(b in h){if((E=h[b]).name!==f){M=!1;continue}I=E.state>ue&&E.state<fe,E.state=Wn,E.timer.stop(),E.on.call(I?"interrupt":"cancel",a,a.__data__,E.index,E.group),delete h[b]}M&&delete a.__transition}}function eo(a){return this.each(function(){no(this,a)})}function _r(a,f){return a=+a,f=+f,function(h){return a*(1-h)+f*h}}var He=180/Math.PI,ve={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function Ve(a,f,h,E,I,M){var b,w,W;return(b=Math.sqrt(a*a+f*f))&&(a/=b,f/=b),(W=a*h+f*E)&&(h-=a*W,E-=f*W),(w=Math.sqrt(h*h+E*E))&&(h/=w,E/=w,W/=w),a*E<f*h&&(a=-a,f=-f,W=-W,b=-b),{translateX:I,translateY:M,rotate:Math.atan2(f,a)*He,skewX:Math.atan(W)*He,scaleX:b,scaleY:w}}var Yn;function ao(a){const f=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(a+"");return f.isIdentity?ve:Ve(f.a,f.b,f.c,f.d,f.e,f.f)}function oo(a){return a==null||(Yn||(Yn=document.createElementNS("http://www.w3.org/2000/svg","g")),Yn.setAttribute("transform",a),!(a=Yn.transform.baseVal.consolidate()))?ve:(a=a.matrix,Ve(a.a,a.b,a.c,a.d,a.e,a.f))}function We(a,f,h,E){function I(q){return q.length?q.pop()+" ":""}function M(q,tt,Tt,bt,Ht,fr){if(q!==Tt||tt!==bt){var xr=Ht.push("translate(",null,f,null,h);fr.push({i:xr-4,x:_r(q,Tt)},{i:xr-2,x:_r(tt,bt)})}else(Tt||bt)&&Ht.push("translate("+Tt+f+bt+h)}function b(q,tt,Tt,bt){q!==tt?(q-tt>180?tt+=360:tt-q>180&&(q+=360),bt.push({i:Tt.push(I(Tt)+"rotate(",null,E)-2,x:_r(q,tt)})):tt&&Tt.push(I(Tt)+"rotate("+tt+E)}function w(q,tt,Tt,bt){q!==tt?bt.push({i:Tt.push(I(Tt)+"skewX(",null,E)-2,x:_r(q,tt)}):tt&&Tt.push(I(Tt)+"skewX("+tt+E)}function W(q,tt,Tt,bt,Ht,fr){if(q!==Tt||tt!==bt){var xr=Ht.push(I(Ht)+"scale(",null,",",null,")");fr.push({i:xr-4,x:_r(q,Tt)},{i:xr-2,x:_r(tt,bt)})}else(Tt!==1||bt!==1)&&Ht.push(I(Ht)+"scale("+Tt+","+bt+")")}return function(q,tt){var Tt=[],bt=[];return q=a(q),tt=a(tt),M(q.translateX,q.translateY,tt.translateX,tt.translateY,Tt,bt),b(q.rotate,tt.rotate,Tt,bt),w(q.skewX,tt.skewX,Tt,bt),W(q.scaleX,q.scaleY,tt.scaleX,tt.scaleY,Tt,bt),q=tt=null,function(Ht){for(var fr=-1,xr=bt.length,Et;++fr<xr;)Tt[(Et=bt[fr]).i]=Et.x(Ht);return Tt.join("")}}}var so=We(ao,"px, ","px)","deg)"),io=We(oo,", ",")",")");function uo(a,f){var h,E;return function(){var I=Yr(this,a),M=I.tween;if(M!==h){E=h=M;for(var b=0,w=E.length;b<w;++b)if(E[b].name===f){E=E.slice(),E.splice(b,1);break}}I.tween=E}}function fo(a,f,h){var E,I;if(typeof h!="function")throw new Error;return function(){var M=Yr(this,a),b=M.tween;if(b!==E){I=(E=b).slice();for(var w={name:f,value:h},W=0,q=I.length;W<q;++W)if(I[W].name===f){I[W]=w;break}W===q&&I.push(w)}M.tween=I}}function lo(a,f){var h=this._id;if(a+="",arguments.length<2){for(var E=Hr(this.node(),h).tween,I=0,M=E.length,b;I<M;++I)if((b=E[I]).name===a)return b.value;return null}return this.each((f==null?uo:fo)(h,a,f))}function ce(a,f,h){var E=a._id;return a.each(function(){var I=Yr(this,E);(I.value||(I.value={}))[f]=h.apply(this,arguments)}),function(I){return Hr(I,E).value[f]}}function de(a,f,h){a.prototype=f.prototype=h,h.constructor=a}function ze(a,f){var h=Object.create(a.prototype);for(var E in f)h[E]=f[E];return h}function Tn(){}var Rn=.7,Kn=1/Rn,cn="\\s*([+-]?\\d+)\\s*",An="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",Kr="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",vo=/^#([0-9a-f]{3,8})$/,co=new RegExp(`^rgb\\(${cn},${cn},${cn}\\)$`),ho=new RegExp(`^rgb\\(${Kr},${Kr},${Kr}\\)$`),go=new RegExp(`^rgba\\(${cn},${cn},${cn},${An}\\)$`),yo=new RegExp(`^rgba\\(${Kr},${Kr},${Kr},${An}\\)$`),po=new RegExp(`^hsl\\(${An},${Kr},${Kr}\\)$`),mo=new RegExp(`^hsla\\(${An},${Kr},${Kr},${An}\\)$`),Ye={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};de(Tn,Pn,{copy(a){return Object.assign(new this.constructor,this,a)},displayable(){return this.rgb().displayable()},hex:Ke,formatHex:Ke,formatHex8:xo,formatHsl:So,formatRgb:Xe,toString:Xe});function Ke(){return this.rgb().formatHex()}function xo(){return this.rgb().formatHex8()}function So(){return qe(this).formatHsl()}function Xe(){return this.rgb().formatRgb()}function Pn(a){var f,h;return a=(a+"").trim().toLowerCase(),(f=vo.exec(a))?(h=f[1].length,f=parseInt(f[1],16),h===6?Je(f):h===3?new br(f>>8&15|f>>4&240,f>>4&15|f&240,(f&15)<<4|f&15,1):h===8?Xn(f>>24&255,f>>16&255,f>>8&255,(f&255)/255):h===4?Xn(f>>12&15|f>>8&240,f>>8&15|f>>4&240,f>>4&15|f&240,((f&15)<<4|f&15)/255):null):(f=co.exec(a))?new br(f[1],f[2],f[3],1):(f=ho.exec(a))?new br(f[1]*255/100,f[2]*255/100,f[3]*255/100,1):(f=go.exec(a))?Xn(f[1],f[2],f[3],f[4]):(f=yo.exec(a))?Xn(f[1]*255/100,f[2]*255/100,f[3]*255/100,f[4]):(f=po.exec(a))?ke(f[1],f[2]/100,f[3]/100,1):(f=mo.exec(a))?ke(f[1],f[2]/100,f[3]/100,f[4]):Ye.hasOwnProperty(a)?Je(Ye[a]):a==="transparent"?new br(NaN,NaN,NaN,0):null}function Je(a){return new br(a>>16&255,a>>8&255,a&255,1)}function Xn(a,f,h,E){return E<=0&&(a=f=h=NaN),new br(a,f,h,E)}function Eo(a){return a instanceof Tn||(a=Pn(a)),a?(a=a.rgb(),new br(a.r,a.g,a.b,a.opacity)):new br}function Jn(a,f,h,E){return arguments.length===1?Eo(a):new br(a,f,h,E==null?1:E)}function br(a,f,h,E){this.r=+a,this.g=+f,this.b=+h,this.opacity=+E}de(br,Jn,ze(Tn,{brighter(a){return a=a==null?Kn:Math.pow(Kn,a),new br(this.r*a,this.g*a,this.b*a,this.opacity)},darker(a){return a=a==null?Rn:Math.pow(Rn,a),new br(this.r*a,this.g*a,this.b*a,this.opacity)},rgb(){return this},clamp(){return new br(on(this.r),on(this.g),on(this.b),Qn(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:Qe,formatHex:Qe,formatHex8:Io,formatRgb:Ze,toString:Ze}));function Qe(){return`#${sn(this.r)}${sn(this.g)}${sn(this.b)}`}function Io(){return`#${sn(this.r)}${sn(this.g)}${sn(this.b)}${sn((isNaN(this.opacity)?1:this.opacity)*255)}`}function Ze(){const a=Qn(this.opacity);return`${a===1?"rgb(":"rgba("}${on(this.r)}, ${on(this.g)}, ${on(this.b)}${a===1?")":`, ${a})`}`}function Qn(a){return isNaN(a)?1:Math.max(0,Math.min(1,a))}function on(a){return Math.max(0,Math.min(255,Math.round(a)||0))}function sn(a){return a=on(a),(a<16?"0":"")+a.toString(16)}function ke(a,f,h,E){return E<=0?a=f=h=NaN:h<=0||h>=1?a=f=NaN:f<=0&&(a=NaN),new Vr(a,f,h,E)}function qe(a){if(a instanceof Vr)return new Vr(a.h,a.s,a.l,a.opacity);if(a instanceof Tn||(a=Pn(a)),!a)return new Vr;if(a instanceof Vr)return a;a=a.rgb();var f=a.r/255,h=a.g/255,E=a.b/255,I=Math.min(f,h,E),M=Math.max(f,h,E),b=NaN,w=M-I,W=(M+I)/2;return w?(f===M?b=(h-E)/w+(h<E)*6:h===M?b=(E-f)/w+2:b=(f-h)/w+4,w/=W<.5?M+I:2-M-I,b*=60):w=W>0&&W<1?0:b,new Vr(b,w,W,a.opacity)}function Oo(a,f,h,E){return arguments.length===1?qe(a):new Vr(a,f,h,E==null?1:E)}function Vr(a,f,h,E){this.h=+a,this.s=+f,this.l=+h,this.opacity=+E}de(Vr,Oo,ze(Tn,{brighter(a){return a=a==null?Kn:Math.pow(Kn,a),new Vr(this.h,this.s,this.l*a,this.opacity)},darker(a){return a=a==null?Rn:Math.pow(Rn,a),new Vr(this.h,this.s,this.l*a,this.opacity)},rgb(){var a=this.h%360+(this.h<0)*360,f=isNaN(a)||isNaN(this.s)?0:this.s,h=this.l,E=h+(h<.5?h:1-h)*f,I=2*h-E;return new br(he(a>=240?a-240:a+120,I,E),he(a,I,E),he(a<120?a+240:a-120,I,E),this.opacity)},clamp(){return new Vr(_e(this.h),Zn(this.s),Zn(this.l),Qn(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(){const a=Qn(this.opacity);return`${a===1?"hsl(":"hsla("}${_e(this.h)}, ${Zn(this.s)*100}%, ${Zn(this.l)*100}%${a===1?")":`, ${a})`}`}}));function _e(a){return a=(a||0)%360,a<0?a+360:a}function Zn(a){return Math.max(0,Math.min(1,a||0))}function he(a,f,h){return(a<60?f+(h-f)*a/60:a<180?h:a<240?f+(h-f)*(240-a)/60:f)*255}function ta(a,f,h,E,I){var M=a*a,b=M*a;return((1-3*a+3*M-b)*f+(4-6*M+3*b)*h+(1+3*a+3*M-3*b)*E+b*I)/6}function To(a){var f=a.length-1;return function(h){var E=h<=0?h=0:h>=1?(h=1,f-1):Math.floor(h*f),I=a[E],M=a[E+1],b=E>0?a[E-1]:2*I-M,w=E<f-1?a[E+2]:2*M-I;return ta((h-E/f)*f,b,I,M,w)}}function Ro(a){var f=a.length;return function(h){var E=Math.floor(((h%=1)<0?++h:h)*f),I=a[(E+f-1)%f],M=a[E%f],b=a[(E+1)%f],w=a[(E+2)%f];return ta((h-E/f)*f,I,M,b,w)}}var ra=a=>()=>a;function na(a,f){return function(h){return a+h*f}}function Ao(a,f,h){return a=Math.pow(a,h),f=Math.pow(f,h)-a,h=1/h,function(E){return Math.pow(a+E*f,h)}}function fi(a,f){var h=f-a;return h?na(a,h>180||h<-180?h-360*Math.round(h/360):h):constant(isNaN(a)?f:a)}function Po(a){return(a=+a)==1?ea:function(f,h){return h-f?Ao(f,h,a):ra(isNaN(f)?h:f)}}function ea(a,f){var h=f-a;return h?na(a,h):ra(isNaN(a)?f:a)}var aa=function a(f){var h=Po(f);function E(I,M){var b=h((I=Jn(I)).r,(M=Jn(M)).r),w=h(I.g,M.g),W=h(I.b,M.b),q=ea(I.opacity,M.opacity);return function(tt){return I.r=b(tt),I.g=w(tt),I.b=W(tt),I.opacity=q(tt),I+""}}return E.gamma=a,E}(1);function oa(a){return function(f){var h=f.length,E=new Array(h),I=new Array(h),M=new Array(h),b,w;for(b=0;b<h;++b)w=Jn(f[b]),E[b]=w.r||0,I[b]=w.g||0,M[b]=w.b||0;return E=a(E),I=a(I),M=a(M),w.opacity=1,function(W){return w.r=E(W),w.g=I(W),w.b=M(W),w+""}}}var li=oa(To),vi=oa(Ro),ge=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,ye=new RegExp(ge.source,"g");function Co(a){return function(){return a}}function No(a){return function(f){return a(f)+""}}function Mo(a,f){var h=ge.lastIndex=ye.lastIndex=0,E,I,M,b=-1,w=[],W=[];for(a=a+"",f=f+"";(E=ge.exec(a))&&(I=ye.exec(f));)(M=I.index)>h&&(M=f.slice(h,M),w[b]?w[b]+=M:w[++b]=M),(E=E[0])===(I=I[0])?w[b]?w[b]+=I:w[++b]=I:(w[++b]=null,W.push({i:b,x:_r(E,I)})),h=ye.lastIndex;return h<f.length&&(M=f.slice(h),w[b]?w[b]+=M:w[++b]=M),w.length<2?W[0]?No(W[0].x):Co(f):(f=W.length,function(q){for(var tt=0,Tt;tt<f;++tt)w[(Tt=W[tt]).i]=Tt.x(q);return w.join("")})}function sa(a,f){var h;return(typeof f=="number"?_r:f instanceof Pn?aa:(h=Pn(f))?(f=h,aa):Mo)(a,f)}function Do(a){return function(){this.removeAttribute(a)}}function bo(a){return function(){this.removeAttributeNS(a.space,a.local)}}function Fo(a,f,h){var E,I=h+"",M;return function(){var b=this.getAttribute(a);return b===I?null:b===E?M:M=f(E=b,h)}}function $o(a,f,h){var E,I=h+"",M;return function(){var b=this.getAttributeNS(a.space,a.local);return b===I?null:b===E?M:M=f(E=b,h)}}function Lo(a,f,h){var E,I,M;return function(){var b,w=h(this),W;return w==null?void this.removeAttribute(a):(b=this.getAttribute(a),W=w+"",b===W?null:b===E&&W===I?M:(I=W,M=f(E=b,w)))}}function Uo(a,f,h){var E,I,M;return function(){var b,w=h(this),W;return w==null?void this.removeAttributeNS(a.space,a.local):(b=this.getAttributeNS(a.space,a.local),W=w+"",b===W?null:b===E&&W===I?M:(I=W,M=f(E=b,w)))}}function Bo(a,f){var h=ht(a),E=h==="transform"?io:sa;return this.attrTween(a,typeof f=="function"?(h.local?Uo:Lo)(h,E,ce(this,"attr."+a,f)):f==null?(h.local?bo:Do)(h):(h.local?$o:Fo)(h,E,f))}function jo(a,f){return function(h){this.setAttribute(a,f.call(this,h))}}function wo(a,f){return function(h){this.setAttributeNS(a.space,a.local,f.call(this,h))}}function Go(a,f){var h,E;function I(){var M=f.apply(this,arguments);return M!==E&&(h=(E=M)&&wo(a,M)),h}return I._value=f,I}function Ho(a,f){var h,E;function I(){var M=f.apply(this,arguments);return M!==E&&(h=(E=M)&&jo(a,M)),h}return I._value=f,I}function Vo(a,f){var h="attr."+a;if(arguments.length<2)return(h=this.tween(h))&&h._value;if(f==null)return this.tween(h,null);if(typeof f!="function")throw new Error;var E=ht(a);return this.tween(h,(E.local?Go:Ho)(E,f))}function Wo(a,f){return function(){le(this,a).delay=+f.apply(this,arguments)}}function zo(a,f){return f=+f,function(){le(this,a).delay=f}}function Yo(a){var f=this._id;return arguments.length?this.each((typeof a=="function"?Wo:zo)(f,a)):Hr(this.node(),f).delay}function Ko(a,f){return function(){Yr(this,a).duration=+f.apply(this,arguments)}}function Xo(a,f){return f=+f,function(){Yr(this,a).duration=f}}function Jo(a){var f=this._id;return arguments.length?this.each((typeof a=="function"?Ko:Xo)(f,a)):Hr(this.node(),f).duration}function Qo(a,f){if(typeof f!="function")throw new Error;return function(){Yr(this,a).ease=f}}function Zo(a){var f=this._id;return arguments.length?this.each(Qo(f,a)):Hr(this.node(),f).ease}function ko(a,f){return function(){var h=f.apply(this,arguments);if(typeof h!="function")throw new Error;Yr(this,a).ease=h}}function qo(a){if(typeof a!="function")throw new Error;return this.each(ko(this._id,a))}function _o(a){typeof a!="function"&&(a=Wt(a));for(var f=this._groups,h=f.length,E=new Array(h),I=0;I<h;++I)for(var M=f[I],b=M.length,w=E[I]=[],W,q=0;q<b;++q)(W=M[q])&&a.call(W,W.__data__,q,M)&&w.push(W);return new Qr(E,this._parents,this._name,this._id)}function ts(a){if(a._id!==this._id)throw new Error;for(var f=this._groups,h=a._groups,E=f.length,I=h.length,M=Math.min(E,I),b=new Array(E),w=0;w<M;++w)for(var W=f[w],q=h[w],tt=W.length,Tt=b[w]=new Array(tt),bt,Ht=0;Ht<tt;++Ht)(bt=W[Ht]||q[Ht])&&(Tt[Ht]=bt);for(;w<E;++w)b[w]=f[w];return new Qr(b,this._parents,this._name,this._id)}function rs(a){return(a+"").trim().split(/^|\s+/).every(function(f){var h=f.indexOf(".");return h>=0&&(f=f.slice(0,h)),!f||f==="start"})}function ns(a,f,h){var E,I,M=rs(f)?le:Yr;return function(){var b=M(this,a),w=b.on;w!==E&&(I=(E=w).copy()).on(f,h),b.on=I}}function es(a,f){var h=this._id;return arguments.length<2?Hr(this.node(),h).on.on(a):this.each(ns(h,a,f))}function as(a){return function(){var f=this.parentNode;for(var h in this.__transition)if(+h!==a)return;f&&f.removeChild(this)}}function os(){return this.on("end.remove",as(this._id))}function ss(a){var f=this._name,h=this._id;typeof a!="function"&&(a=k(a));for(var E=this._groups,I=E.length,M=new Array(I),b=0;b<I;++b)for(var w=E[b],W=w.length,q=M[b]=new Array(W),tt,Tt,bt=0;bt<W;++bt)(tt=w[bt])&&(Tt=a.call(tt,tt.__data__,bt,w))&&("__data__"in tt&&(Tt.__data__=tt.__data__),q[bt]=Tt,zn(q[bt],f,h,bt,q,Hr(tt,h)));return new Qr(M,this._parents,f,h)}function is(a){var f=this._name,h=this._id;typeof a!="function"&&(a=yt(a));for(var E=this._groups,I=E.length,M=[],b=[],w=0;w<I;++w)for(var W=E[w],q=W.length,tt,Tt=0;Tt<q;++Tt)if(tt=W[Tt]){for(var bt=a.call(tt,tt.__data__,Tt,W),Ht,fr=Hr(tt,h),xr=0,Et=bt.length;xr<Et;++xr)(Ht=bt[xr])&&zn(Ht,f,h,xr,bt,fr);M.push(bt),b.push(tt)}return new Qr(M,b,f,h)}var us=xn.prototype.constructor;function fs(){return new us(this._groups,this._parents)}function ls(a,f){var h,E,I;return function(){var M=$r(this,a),b=(this.style.removeProperty(a),$r(this,a));return M===b?null:M===h&&b===E?I:I=f(h=M,E=b)}}function ia(a){return function(){this.style.removeProperty(a)}}function vs(a,f,h){var E,I=h+"",M;return function(){var b=$r(this,a);return b===I?null:b===E?M:M=f(E=b,h)}}function cs(a,f,h){var E,I,M;return function(){var b=$r(this,a),w=h(this),W=w+"";return w==null&&(W=w=(this.style.removeProperty(a),$r(this,a))),b===W?null:b===E&&W===I?M:(I=W,M=f(E=b,w))}}function ds(a,f){var h,E,I,M="style."+f,b="end."+M,w;return function(){var W=Yr(this,a),q=W.on,tt=W.value[M]==null?w||(w=ia(f)):void 0;(q!==h||I!==tt)&&(E=(h=q).copy()).on(b,I=tt),W.on=E}}function hs(a,f,h){var E=(a+="")=="transform"?so:sa;return f==null?this.styleTween(a,ls(a,E)).on("end.style."+a,ia(a)):typeof f=="function"?this.styleTween(a,cs(a,E,ce(this,"style."+a,f))).each(ds(this._id,a)):this.styleTween(a,vs(a,E,f),h).on("end.style."+a,null)}function gs(a,f,h){return function(E){this.style.setProperty(a,f.call(this,E),h)}}function ys(a,f,h){var E,I;function M(){var b=f.apply(this,arguments);return b!==I&&(E=(I=b)&&gs(a,b,h)),E}return M._value=f,M}function ps(a,f,h){var E="style."+(a+="");if(arguments.length<2)return(E=this.tween(E))&&E._value;if(f==null)return this.tween(E,null);if(typeof f!="function")throw new Error;return this.tween(E,ys(a,f,h==null?"":h))}function ms(a){return function(){this.textContent=a}}function xs(a){return function(){var f=a(this);this.textContent=f==null?"":f}}function Ss(a){return this.tween("text",typeof a=="function"?xs(ce(this,"text",a)):ms(a==null?"":a+""))}function Es(a){return function(f){this.textContent=a.call(this,f)}}function Is(a){var f,h;function E(){var I=a.apply(this,arguments);return I!==h&&(f=(h=I)&&Es(I)),f}return E._value=a,E}function Os(a){var f="text";if(arguments.length<1)return(f=this.tween(f))&&f._value;if(a==null)return this.tween(f,null);if(typeof a!="function")throw new Error;return this.tween(f,Is(a))}function Ts(){for(var a=this._name,f=this._id,h=ua(),E=this._groups,I=E.length,M=0;M<I;++M)for(var b=E[M],w=b.length,W,q=0;q<w;++q)if(W=b[q]){var tt=Hr(W,f);zn(W,a,h,q,b,{time:tt.time+tt.delay+tt.duration,delay:0,duration:tt.duration,ease:tt.ease})}return new Qr(E,this._parents,a,h)}function Rs(){var a,f,h=this,E=h._id,I=h.size();return new Promise(function(M,b){var w={value:b},W={value:function(){--I===0&&M()}};h.each(function(){var q=Yr(this,E),tt=q.on;tt!==a&&(f=(a=tt).copy(),f._.cancel.push(w),f._.interrupt.push(w),f._.end.push(W)),q.on=f}),I===0&&M()})}var As=0;function Qr(a,f,h,E){this._groups=a,this._parents=f,this._name=h,this._id=E}function Ps(a){return xn().transition(a)}function ua(){return++As}var Zr=xn.prototype;Qr.prototype=Ps.prototype={constructor:Qr,select:ss,selectAll:is,selectChild:Zr.selectChild,selectChildren:Zr.selectChildren,filter:_o,merge:ts,selection:fs,transition:Ts,call:Zr.call,nodes:Zr.nodes,node:Zr.node,size:Zr.size,empty:Zr.empty,each:Zr.each,on:es,attr:Bo,attrTween:Vo,style:hs,styleTween:ps,text:Ss,textTween:Os,remove:os,tween:lo,delay:Yo,duration:Jo,ease:Zo,easeVarying:qo,end:Rs,[Symbol.iterator]:Zr[Symbol.iterator]};function ci(a){return a*a*a}function di(a){return--a*a*a+1}function Cs(a){return((a*=2)<=1?a*a*a:(a-=2)*a*a+2)/2}var Ns={time:null,delay:0,duration:250,ease:Cs};function Ms(a,f){for(var h;!(h=a.__transition)||!(h=h[f]);)if(!(a=a.parentNode))throw new Error(`transition ${f} not found`);return h}function Ds(a){var f,h;a instanceof Qr?(f=a._id,a=a._name):(f=ua(),(h=Ns).time=se(),a=a==null?null:a+"");for(var E=this._groups,I=E.length,M=0;M<I;++M)for(var b=E[M],w=b.length,W,q=0;q<w;++q)(W=b[q])&&zn(W,a,f,q,b,h||Ms(W,f));return new Qr(E,this._parents,a,f)}xn.prototype.interrupt=eo,xn.prototype.transition=Ds;var fa={name:"drag"},pe={name:"space"},dn={name:"handle"},hn={name:"center"};const{abs:la,max:Pr,min:Cr}=Math;function va(a){return[+a[0],+a[1]]}function me(a){return[va(a[0]),va(a[1])]}var kn={name:"x",handles:["w","e"].map(Cn),input:function(a,f){return a==null?null:[[+a[0],f[0][1]],[+a[1],f[1][1]]]},output:function(a){return a&&[a[0][0],a[1][0]]}},qn={name:"y",handles:["n","s"].map(Cn),input:function(a,f){return a==null?null:[[f[0][0],+a[0]],[f[1][0],+a[1]]]},output:function(a){return a&&[a[0][1],a[1][1]]}},bs={name:"xy",handles:["n","w","e","s","nw","ne","sw","se"].map(Cn),input:function(a){return a==null?null:me(a)},output:function(a){return a}},kr={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"},ca={e:"w",w:"e",nw:"ne",ne:"nw",se:"sw",sw:"se"},da={n:"s",s:"n",nw:"sw",ne:"se",se:"ne",sw:"nw"},Fs={overlay:1,selection:1,n:null,e:1,s:null,w:-1,nw:-1,ne:1,se:1,sw:-1},$s={overlay:1,selection:1,n:-1,e:null,s:1,w:null,nw:-1,ne:-1,se:1,sw:1};function Cn(a){return{type:a}}function Ls(a){return!a.ctrlKey&&!a.button}function Us(){var a=this.ownerSVGElement||this;return a.hasAttribute("viewBox")?(a=a.viewBox.baseVal,[[a.x,a.y],[a.x+a.width,a.y+a.height]]):[[0,0],[a.width.baseVal.value,a.height.baseVal.value]]}function Bs(){return navigator.maxTouchPoints||"ontouchstart"in this}function xe(a){for(;!a.__brush;)if(!(a=a.parentNode))return;return a.__brush}function js(a){return a[0][0]===a[1][0]||a[0][1]===a[1][1]}function hi(a){var f=a.__brush;return f?f.dim.output(f.selection):null}function gi(){return Se(kn)}function yi(){return Se(qn)}function pi(){return Se(bs)}function Se(a){var f=Us,h=Ls,E=Bs,I=!0,M=dispatch("start","brush","end"),b=6,w;function W(Et){var Gt=Et.property("__brush",xr).selectAll(".overlay").data([Cn("overlay")]);Gt.enter().append("rect").attr("class","overlay").attr("pointer-events","all").attr("cursor",kr.overlay).merge(Gt).each(function(){var wt=xe(this).extent;select(this).attr("x",wt[0][0]).attr("y",wt[0][1]).attr("width",wt[1][0]-wt[0][0]).attr("height",wt[1][1]-wt[0][1])}),Et.selectAll(".selection").data([Cn("selection")]).enter().append("rect").attr("class","selection").attr("cursor",kr.selection).attr("fill","#777").attr("fill-opacity",.3).attr("stroke","#fff").attr("shape-rendering","crispEdges");var Kt=Et.selectAll(".handle").data(a.handles,function(wt){return wt.type});Kt.exit().remove(),Kt.enter().append("rect").attr("class",function(wt){return"handle handle--"+wt.type}).attr("cursor",function(wt){return kr[wt.type]}),Et.each(q).attr("fill","none").attr("pointer-events","all").on("mousedown.brush",bt).filter(E).on("touchstart.brush",bt).on("touchmove.brush",Ht).on("touchend.brush touchcancel.brush",fr).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}W.move=function(Et,Gt,Kt){Et.tween?Et.on("start.brush",function(wt){tt(this,arguments).beforestart().start(wt)}).on("interrupt.brush end.brush",function(wt){tt(this,arguments).end(wt)}).tween("brush",function(){var wt=this,tr=wt.__brush,rr=tt(wt,arguments),Mr=tr.selection,Xr=a.input(typeof Gt=="function"?Gt.apply(this,arguments):Gt,tr.extent),hr=interpolate(Mr,Xr);function Wr(vr){tr.selection=vr===1&&Xr===null?null:hr(vr),q.call(wt),rr.brush()}return Mr!==null&&Xr!==null?Wr:Wr(1)}):Et.each(function(){var wt=this,tr=arguments,rr=wt.__brush,Mr=a.input(typeof Gt=="function"?Gt.apply(wt,tr):Gt,rr.extent),Xr=tt(wt,tr).beforestart();interrupt(wt),rr.selection=Mr===null?null:Mr,q.call(wt),Xr.start(Kt).brush(Kt).end(Kt)})},W.clear=function(Et,Gt){W.move(Et,null,Gt)};function q(){var Et=select(this),Gt=xe(this).selection;Gt?(Et.selectAll(".selection").style("display",null).attr("x",Gt[0][0]).attr("y",Gt[0][1]).attr("width",Gt[1][0]-Gt[0][0]).attr("height",Gt[1][1]-Gt[0][1]),Et.selectAll(".handle").style("display",null).attr("x",function(Kt){return Kt.type[Kt.type.length-1]==="e"?Gt[1][0]-b/2:Gt[0][0]-b/2}).attr("y",function(Kt){return Kt.type[0]==="s"?Gt[1][1]-b/2:Gt[0][1]-b/2}).attr("width",function(Kt){return Kt.type==="n"||Kt.type==="s"?Gt[1][0]-Gt[0][0]+b:b}).attr("height",function(Kt){return Kt.type==="e"||Kt.type==="w"?Gt[1][1]-Gt[0][1]+b:b})):Et.selectAll(".selection,.handle").style("display","none").attr("x",null).attr("y",null).attr("width",null).attr("height",null)}function tt(Et,Gt,Kt){var wt=Et.__brush.emitter;return wt&&(!Kt||!wt.clean)?wt:new Tt(Et,Gt,Kt)}function Tt(Et,Gt,Kt){this.that=Et,this.args=Gt,this.state=Et.__brush,this.active=0,this.clean=Kt}Tt.prototype={beforestart:function(){return++this.active===1&&(this.state.emitter=this,this.starting=!0),this},start:function(Et,Gt){return this.starting?(this.starting=!1,this.emit("start",Et,Gt)):this.emit("brush",Et),this},brush:function(Et,Gt){return this.emit("brush",Et,Gt),this},end:function(Et,Gt){return--this.active===0&&(delete this.state.emitter,this.emit("end",Et,Gt)),this},emit:function(Et,Gt,Kt){var wt=select(this.that).datum();M.call(Et,this.that,new BrushEvent(Et,{sourceEvent:Gt,target:W,selection:a.output(this.state.selection),mode:Kt,dispatch:M}),wt)}};function bt(Et){if(w&&!Et.touches||!h.apply(this,arguments))return;var Gt=this,Kt=Et.target.__data__.type,wt=(I&&Et.metaKey?Kt="overlay":Kt)==="selection"?fa:I&&Et.altKey?hn:dn,tr=a===qn?null:Fs[Kt],rr=a===kn?null:$s[Kt],Mr=xe(Gt),Xr=Mr.extent,hr=Mr.selection,Wr=Xr[0][0],vr,Sr,tn=Xr[0][1],Er,Ir,rn=Xr[1][0],Or,Tr,nn=Xr[1][1],Rr,Ar,gr=0,yr=0,Pe,ne=tr&&rr&&I&&Et.shiftKey,ee,ae,Fr=Array.from(Et.touches||[Et],Qt=>{const pr=Qt.identifier;return Qt=pointer(Qt,Gt),Qt.point0=Qt.slice(),Qt.identifier=pr,Qt});interrupt(Gt);var Nn=tt(Gt,arguments,!0).beforestart();if(Kt==="overlay"){hr&&(Pe=!0);const Qt=[Fr[0],Fr[1]||Fr[0]];Mr.selection=hr=[[vr=a===qn?Wr:Cr(Qt[0][0],Qt[1][0]),Er=a===kn?tn:Cr(Qt[0][1],Qt[1][1])],[Or=a===qn?rn:Pr(Qt[0][0],Qt[1][0]),Rr=a===kn?nn:Pr(Qt[0][1],Qt[1][1])]],Fr.length>1&&un(Et)}else vr=hr[0][0],Er=hr[0][1],Or=hr[1][0],Rr=hr[1][1];Sr=vr,Ir=Er,Tr=Or,Ar=Rr;var Ea=select(Gt).attr("pointer-events","none"),Mn=Ea.selectAll(".overlay").attr("cursor",kr[Kt]);if(Et.touches)Nn.moved=Oa,Nn.ended=Ta;else{var Ia=select(Et.view).on("mousemove.brush",Oa,!0).on("mouseup.brush",Ta,!0);I&&Ia.on("keydown.brush",ii,!0).on("keyup.brush",ui,!0),dragDisable(Et.view)}q.call(Gt),Nn.start(Et,wt.name);function Oa(Qt){for(const pr of Qt.changedTouches||[Qt])for(const Dn of Fr)Dn.identifier===pr.identifier&&(Dn.cur=pointer(pr,Gt));if(ne&&!ee&&!ae&&Fr.length===1){const pr=Fr[0];la(pr.cur[0]-pr[0])>la(pr.cur[1]-pr[1])?ae=!0:ee=!0}for(const pr of Fr)pr.cur&&(pr[0]=pr.cur[0],pr[1]=pr.cur[1]);Pe=!0,noevent(Qt),un(Qt)}function un(Qt){const pr=Fr[0],Dn=pr.point0;var en;switch(gr=pr[0]-Dn[0],yr=pr[1]-Dn[1],wt){case pe:case fa:{tr&&(gr=Pr(Wr-vr,Cr(rn-Or,gr)),Sr=vr+gr,Tr=Or+gr),rr&&(yr=Pr(tn-Er,Cr(nn-Rr,yr)),Ir=Er+yr,Ar=Rr+yr);break}case dn:{Fr[1]?(tr&&(Sr=Pr(Wr,Cr(rn,Fr[0][0])),Tr=Pr(Wr,Cr(rn,Fr[1][0])),tr=1),rr&&(Ir=Pr(tn,Cr(nn,Fr[0][1])),Ar=Pr(tn,Cr(nn,Fr[1][1])),rr=1)):(tr<0?(gr=Pr(Wr-vr,Cr(rn-vr,gr)),Sr=vr+gr,Tr=Or):tr>0&&(gr=Pr(Wr-Or,Cr(rn-Or,gr)),Sr=vr,Tr=Or+gr),rr<0?(yr=Pr(tn-Er,Cr(nn-Er,yr)),Ir=Er+yr,Ar=Rr):rr>0&&(yr=Pr(tn-Rr,Cr(nn-Rr,yr)),Ir=Er,Ar=Rr+yr));break}case hn:{tr&&(Sr=Pr(Wr,Cr(rn,vr-gr*tr)),Tr=Pr(Wr,Cr(rn,Or+gr*tr))),rr&&(Ir=Pr(tn,Cr(nn,Er-yr*rr)),Ar=Pr(tn,Cr(nn,Rr+yr*rr)));break}}Tr<Sr&&(tr*=-1,en=vr,vr=Or,Or=en,en=Sr,Sr=Tr,Tr=en,Kt in ca&&Mn.attr("cursor",kr[Kt=ca[Kt]])),Ar<Ir&&(rr*=-1,en=Er,Er=Rr,Rr=en,en=Ir,Ir=Ar,Ar=en,Kt in da&&Mn.attr("cursor",kr[Kt=da[Kt]])),Mr.selection&&(hr=Mr.selection),ee&&(Sr=hr[0][0],Tr=hr[1][0]),ae&&(Ir=hr[0][1],Ar=hr[1][1]),(hr[0][0]!==Sr||hr[0][1]!==Ir||hr[1][0]!==Tr||hr[1][1]!==Ar)&&(Mr.selection=[[Sr,Ir],[Tr,Ar]],q.call(Gt),Nn.brush(Qt,wt.name))}function Ta(Qt){if(nopropagation(Qt),Qt.touches){if(Qt.touches.length)return;w&&clearTimeout(w),w=setTimeout(function(){w=null},500)}else dragEnable(Qt.view,Pe),Ia.on("keydown.brush keyup.brush mousemove.brush mouseup.brush",null);Ea.attr("pointer-events","all"),Mn.attr("cursor",kr.overlay),Mr.selection&&(hr=Mr.selection),js(hr)&&(Mr.selection=null,q.call(Gt)),Nn.end(Qt,wt.name)}function ii(Qt){switch(Qt.keyCode){case 16:{ne=tr&&rr;break}case 18:{wt===dn&&(tr&&(Or=Tr-gr*tr,vr=Sr+gr*tr),rr&&(Rr=Ar-yr*rr,Er=Ir