circlepack-chart
Version:
A circle packing interactive chart web component for visualizing hierarchical data
2 lines • 111 kB
JavaScript
// Version 1.10.4 circlepack-chart - https://github.com/vasturiano/circlepack-chart
!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?module.exports=n():"function"==typeof define&&define.amd?define(n):(t="undefined"!=typeof globalThis?globalThis:t||self).CirclePack=n()}(this,(function(){"use strict";function t(t,n){(null==n||n>t.length)&&(n=t.length);for(var e=0,r=Array(n);e<n;e++)r[e]=t[e];return r}function n(n){return function(n){if(Array.isArray(n))return t(n)}(n)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(n)||function(n,e){if(n){if("string"==typeof n)return t(n,e);var r={}.toString.call(n).slice(8,-1);return"Object"===r&&n.constructor&&(r=n.constructor.name),"Map"===r||"Set"===r?Array.from(n):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?t(n,e):void 0}}(n)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}!function(t,n){void 0===n&&(n={});var e=n.insertAt;if("undefined"!=typeof document){var r=document.head||document.getElementsByTagName("head")[0],i=document.createElement("style");i.type="text/css","top"===e&&r.firstChild?r.insertBefore(i,r.firstChild):r.appendChild(i),i.styleSheet?i.styleSheet.cssText=t:i.appendChild(document.createTextNode(t))}}(".circlepack-viz {\n cursor: move;\n}\n\n.circlepack-viz circle {\n cursor: pointer;\n stroke: lightgrey;\n stroke-opacity: .4;\n opacity: .85;\n transition-property: stroke-opacity, opacity;\n transition-duration: .4s;\n}\n\n.circlepack-viz circle:hover {\n stroke-opacity: 1;\n opacity: 1;\n transition-duration: .05s;\n}\n\n.circlepack-viz text {\n font-size: 12px;\n font-family: sans-serif;\n pointer-events: none;\n dominant-baseline: middle;\n text-anchor: middle;\n fill: #404041;\n}\n\n.circlepack-viz text.light {\n fill: #F7F7F7;\n}\n\n.circlepack-viz .tooltip-title {\n font-weight: bold;\n text-align: center;\n margin-bottom: 5px;\n}\n\n.circlepack-viz {\n position: relative;\n}\n");var e="http://www.w3.org/1999/xhtml",r={svg:"http://www.w3.org/2000/svg",xhtml:e,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function i(t){var n=t+="",e=n.indexOf(":");return e>=0&&"xmlns"!==(n=t.slice(0,e))&&(t=t.slice(e+1)),r.hasOwnProperty(n)?{space:r[n],local:t}:t}function o(t){return function(){var n=this.ownerDocument,r=this.namespaceURI;return r===e&&n.documentElement.namespaceURI===e?n.createElement(t):n.createElementNS(r,t)}}function a(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}function u(t){var n=i(t);return(n.local?a:o)(n)}function l(){}function s(t){return null==t?l:function(){return this.querySelector(t)}}function c(){return[]}function f(t){return null==t?c:function(){return this.querySelectorAll(t)}}function h(t){return function(){return function(t){return null==t?[]:Array.isArray(t)?t:Array.from(t)}(t.apply(this,arguments))}}function p(t){return function(){return this.matches(t)}}function d(t){return function(n){return n.matches(t)}}var g=Array.prototype.find;function _(){return this.firstElementChild}var v=Array.prototype.filter;function m(){return Array.from(this.children)}function y(t){return new Array(t.length)}function b(t,n){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=n}function w(t,n,e,r,i,o){for(var a,u=0,l=n.length,s=o.length;u<s;++u)(a=n[u])?(a.__data__=o[u],r[u]=a):e[u]=new b(t,o[u]);for(;u<l;++u)(a=n[u])&&(i[u]=a)}function x(t,n,e,r,i,o,a){var u,l,s,c=new Map,f=n.length,h=o.length,p=new Array(f);for(u=0;u<f;++u)(l=n[u])&&(p[u]=s=a.call(l,l.__data__,u,n)+"",c.has(s)?i[u]=l:c.set(s,l));for(u=0;u<h;++u)s=a.call(t,o[u],u,o)+"",(l=c.get(s))?(r[u]=l,l.__data__=o[u],c.delete(s)):e[u]=new b(t,o[u]);for(u=0;u<f;++u)(l=n[u])&&c.get(p[u])===l&&(i[u]=l)}function k(t){return t.__data__}function M(t){return"object"==typeof t&&"length"in t?t:Array.from(t)}function A(t,n){return t<n?-1:t>n?1:t>=n?0:NaN}function S(t){return function(){this.removeAttribute(t)}}function E(t){return function(){this.removeAttributeNS(t.space,t.local)}}function N(t,n){return function(){this.setAttribute(t,n)}}function z(t,n){return function(){this.setAttributeNS(t.space,t.local,n)}}function C(t,n){return function(){var e=n.apply(this,arguments);null==e?this.removeAttribute(t):this.setAttribute(t,e)}}function T(t,n){return function(){var e=n.apply(this,arguments);null==e?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,e)}}function j(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView}function O(t){return function(){this.style.removeProperty(t)}}function P(t,n,e){return function(){this.style.setProperty(t,n,e)}}function R(t,n,e){return function(){var r=n.apply(this,arguments);null==r?this.style.removeProperty(t):this.style.setProperty(t,r,e)}}function $(t,n){return t.style.getPropertyValue(n)||j(t).getComputedStyle(t,null).getPropertyValue(n)}function D(t){return function(){delete this[t]}}function H(t,n){return function(){this[t]=n}}function U(t,n){return function(){var e=n.apply(this,arguments);null==e?delete this[t]:this[t]=e}}function I(t){return t.trim().split(/^|\s+/)}function q(t){return t.classList||new X(t)}function X(t){this._node=t,this._names=I(t.getAttribute("class")||"")}function F(t,n){for(var e=q(t),r=-1,i=n.length;++r<i;)e.add(n[r])}function L(t,n){for(var e=q(t),r=-1,i=n.length;++r<i;)e.remove(n[r])}function B(t){return function(){F(this,t)}}function Y(t){return function(){L(this,t)}}function V(t,n){return function(){(n.apply(this,arguments)?F:L)(this,t)}}function W(){this.textContent=""}function G(t){return function(){this.textContent=t}}function K(t){return function(){var n=t.apply(this,arguments);this.textContent=null==n?"":n}}function Q(){this.innerHTML=""}function Z(t){return function(){this.innerHTML=t}}function J(t){return function(){var n=t.apply(this,arguments);this.innerHTML=null==n?"":n}}function tt(){this.nextSibling&&this.parentNode.appendChild(this)}function nt(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function et(){return null}function rt(){var t=this.parentNode;t&&t.removeChild(this)}function it(){var t=this.cloneNode(!1),n=this.parentNode;return n?n.insertBefore(t,this.nextSibling):t}function ot(){var t=this.cloneNode(!0),n=this.parentNode;return n?n.insertBefore(t,this.nextSibling):t}function at(t){return function(){var n=this.__on;if(n){for(var e,r=0,i=-1,o=n.length;r<o;++r)e=n[r],t.type&&e.type!==t.type||e.name!==t.name?n[++i]=e:this.removeEventListener(e.type,e.listener,e.options);++i?n.length=i:delete this.__on}}}function ut(t,n,e){return function(){var r,i=this.__on,o=function(t){return function(n){t.call(this,n,this.__data__)}}(n);if(i)for(var a=0,u=i.length;a<u;++a)if((r=i[a]).type===t.type&&r.name===t.name)return this.removeEventListener(r.type,r.listener,r.options),this.addEventListener(r.type,r.listener=o,r.options=e),void(r.value=n);this.addEventListener(t.type,o,e),r={type:t.type,name:t.name,value:n,listener:o,options:e},i?i.push(r):this.__on=[r]}}function lt(t,n,e){var r=j(t),i=r.CustomEvent;"function"==typeof i?i=new i(n,e):(i=r.document.createEvent("Event"),e?(i.initEvent(n,e.bubbles,e.cancelable),i.detail=e.detail):i.initEvent(n,!1,!1)),t.dispatchEvent(i)}function st(t,n){return function(){return lt(this,t,n)}}function ct(t,n){return function(){return lt(this,t,n.apply(this,arguments))}}b.prototype={constructor:b,appendChild:function(t){return this._parent.insertBefore(t,this._next)},insertBefore:function(t,n){return this._parent.insertBefore(t,n)},querySelector:function(t){return this._parent.querySelector(t)},querySelectorAll:function(t){return this._parent.querySelectorAll(t)}},X.prototype={add:function(t){this._names.indexOf(t)<0&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))},remove:function(t){var n=this._names.indexOf(t);n>=0&&(this._names.splice(n,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};var ft=[null];function ht(t,n){this._groups=t,this._parents=n}function pt(){return new ht([[document.documentElement]],ft)}function dt(t){return"string"==typeof t?new ht([[document.querySelector(t)]],[document.documentElement]):new ht([[t]],ft)}function gt(t,n){if(t=function(t){let n;for(;n=t.sourceEvent;)t=n;return t}(t),void 0===n&&(n=t.currentTarget),n){var e=n.ownerSVGElement||n;if(e.createSVGPoint){var r=e.createSVGPoint();return r.x=t.clientX,r.y=t.clientY,[(r=r.matrixTransform(n.getScreenCTM().inverse())).x,r.y]}if(n.getBoundingClientRect){var i=n.getBoundingClientRect();return[t.clientX-i.left-n.clientLeft,t.clientY-i.top-n.clientTop]}}return[t.pageX,t.pageY]}function _t(t,n){return null==t||null==n?NaN:t<n?-1:t>n?1:t>=n?0:NaN}function vt(t,n){return null==t||null==n?NaN:n<t?-1:n>t?1:n>=t?0:NaN}function mt(t){let n,e,r;function i(t,r,i=0,o=t.length){if(i<o){if(0!==n(r,r))return o;do{const n=i+o>>>1;e(t[n],r)<0?i=n+1:o=n}while(i<o)}return i}return 2!==t.length?(n=_t,e=(n,e)=>_t(t(n),e),r=(n,e)=>t(n)-e):(n=t===_t||t===vt?t:yt,e=t,r=t),{left:i,center:function(t,n,e=0,o=t.length){const a=i(t,n,e,o-1);return a>e&&r(t[a-1],n)>-r(t[a],n)?a-1:a},right:function(t,r,i=0,o=t.length){if(i<o){if(0!==n(r,r))return o;do{const n=i+o>>>1;e(t[n],r)<=0?i=n+1:o=n}while(i<o)}return i}}}function yt(){return 0}ht.prototype=pt.prototype={constructor:ht,select:function(t){"function"!=typeof t&&(t=s(t));for(var n=this._groups,e=n.length,r=new Array(e),i=0;i<e;++i)for(var o,a,u=n[i],l=u.length,c=r[i]=new Array(l),f=0;f<l;++f)(o=u[f])&&(a=t.call(o,o.__data__,f,u))&&("__data__"in o&&(a.__data__=o.__data__),c[f]=a);return new ht(r,this._parents)},selectAll:function(t){t="function"==typeof t?h(t):f(t);for(var n=this._groups,e=n.length,r=[],i=[],o=0;o<e;++o)for(var a,u=n[o],l=u.length,s=0;s<l;++s)(a=u[s])&&(r.push(t.call(a,a.__data__,s,u)),i.push(a));return new ht(r,i)},selectChild:function(t){return this.select(null==t?_:function(t){return function(){return g.call(this.children,t)}}("function"==typeof t?t:d(t)))},selectChildren:function(t){return this.selectAll(null==t?m:function(t){return function(){return v.call(this.children,t)}}("function"==typeof t?t:d(t)))},filter:function(t){"function"!=typeof t&&(t=p(t));for(var n=this._groups,e=n.length,r=new Array(e),i=0;i<e;++i)for(var o,a=n[i],u=a.length,l=r[i]=[],s=0;s<u;++s)(o=a[s])&&t.call(o,o.__data__,s,a)&&l.push(o);return new ht(r,this._parents)},data:function(t,n){if(!arguments.length)return Array.from(this,k);var e=n?x:w,r=this._parents,i=this._groups;"function"!=typeof t&&(t=function(t){return function(){return t}}(t));for(var o=i.length,a=new Array(o),u=new Array(o),l=new Array(o),s=0;s<o;++s){var c=r[s],f=i[s],h=f.length,p=M(t.call(c,c&&c.__data__,s,r)),d=p.length,g=u[s]=new Array(d),_=a[s]=new Array(d);e(c,f,g,_,l[s]=new Array(h),p,n);for(var v,m,y=0,b=0;y<d;++y)if(v=g[y]){for(y>=b&&(b=y+1);!(m=_[b])&&++b<d;);v._next=m||null}}return(a=new ht(a,r))._enter=u,a._exit=l,a},enter:function(){return new ht(this._enter||this._groups.map(y),this._parents)},exit:function(){return new ht(this._exit||this._groups.map(y),this._parents)},join:function(t,n,e){var r=this.enter(),i=this,o=this.exit();return"function"==typeof t?(r=t(r))&&(r=r.selection()):r=r.append(t+""),null!=n&&(i=n(i))&&(i=i.selection()),null==e?o.remove():e(o),r&&i?r.merge(i).order():i},merge:function(t){for(var n=t.selection?t.selection():t,e=this._groups,r=n._groups,i=e.length,o=r.length,a=Math.min(i,o),u=new Array(i),l=0;l<a;++l)for(var s,c=e[l],f=r[l],h=c.length,p=u[l]=new Array(h),d=0;d<h;++d)(s=c[d]||f[d])&&(p[d]=s);for(;l<i;++l)u[l]=e[l];return new ht(u,this._parents)},selection:function(){return this},order:function(){for(var t=this._groups,n=-1,e=t.length;++n<e;)for(var r,i=t[n],o=i.length-1,a=i[o];--o>=0;)(r=i[o])&&(a&&4^r.compareDocumentPosition(a)&&a.parentNode.insertBefore(r,a),a=r);return this},sort:function(t){function n(n,e){return n&&e?t(n.__data__,e.__data__):!n-!e}t||(t=A);for(var e=this._groups,r=e.length,i=new Array(r),o=0;o<r;++o){for(var a,u=e[o],l=u.length,s=i[o]=new Array(l),c=0;c<l;++c)(a=u[c])&&(s[c]=a);s.sort(n)}return new ht(i,this._parents).order()},call:function(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this},nodes:function(){return Array.from(this)},node:function(){for(var t=this._groups,n=0,e=t.length;n<e;++n)for(var r=t[n],i=0,o=r.length;i<o;++i){var a=r[i];if(a)return a}return null},size:function(){let t=0;for(const n of this)++t;return t},empty:function(){return!this.node()},each:function(t){for(var n=this._groups,e=0,r=n.length;e<r;++e)for(var i,o=n[e],a=0,u=o.length;a<u;++a)(i=o[a])&&t.call(i,i.__data__,a,o);return this},attr:function(t,n){var e=i(t);if(arguments.length<2){var r=this.node();return e.local?r.getAttributeNS(e.space,e.local):r.getAttribute(e)}return this.each((null==n?e.local?E:S:"function"==typeof n?e.local?T:C:e.local?z:N)(e,n))},style:function(t,n,e){return arguments.length>1?this.each((null==n?O:"function"==typeof n?R:P)(t,n,null==e?"":e)):$(this.node(),t)},property:function(t,n){return arguments.length>1?this.each((null==n?D:"function"==typeof n?U:H)(t,n)):this.node()[t]},classed:function(t,n){var e=I(t+"");if(arguments.length<2){for(var r=q(this.node()),i=-1,o=e.length;++i<o;)if(!r.contains(e[i]))return!1;return!0}return this.each(("function"==typeof n?V:n?B:Y)(e,n))},text:function(t){return arguments.length?this.each(null==t?W:("function"==typeof t?K:G)(t)):this.node().textContent},html:function(t){return arguments.length?this.each(null==t?Q:("function"==typeof t?J:Z)(t)):this.node().innerHTML},raise:function(){return this.each(tt)},lower:function(){return this.each(nt)},append:function(t){var n="function"==typeof t?t:u(t);return this.select((function(){return this.appendChild(n.apply(this,arguments))}))},insert:function(t,n){var e="function"==typeof t?t:u(t),r=null==n?et:"function"==typeof n?n:s(n);return this.select((function(){return this.insertBefore(e.apply(this,arguments),r.apply(this,arguments)||null)}))},remove:function(){return this.each(rt)},clone:function(t){return this.select(t?ot:it)},datum:function(t){return arguments.length?this.property("__data__",t):this.node().__data__},on:function(t,n,e){var r,i,o=function(t){return t.trim().split(/^|\s+/).map((function(t){var n="",e=t.indexOf(".");return e>=0&&(n=t.slice(e+1),t=t.slice(0,e)),{type:t,name:n}}))}(t+""),a=o.length;if(!(arguments.length<2)){for(u=n?ut:at,r=0;r<a;++r)this.each(u(o[r],n,e));return this}var u=this.node().__on;if(u)for(var l,s=0,c=u.length;s<c;++s)for(r=0,l=u[s];r<a;++r)if((i=o[r]).type===l.type&&i.name===l.name)return l.value},dispatch:function(t,n){return this.each(("function"==typeof n?ct:st)(t,n))},[Symbol.iterator]:function*(){for(var t=this._groups,n=0,e=t.length;n<e;++n)for(var r,i=t[n],o=0,a=i.length;o<a;++o)(r=i[o])&&(yield r)}};const bt=mt(_t).right;mt((function(t){return null===t?NaN:+t})).center;const wt=Math.sqrt(50),xt=Math.sqrt(10),kt=Math.sqrt(2);function Mt(t,n,e){const r=(n-t)/Math.max(0,e),i=Math.floor(Math.log10(r)),o=r/Math.pow(10,i),a=o>=wt?10:o>=xt?5:o>=kt?2:1;let u,l,s;return i<0?(s=Math.pow(10,-i)/a,u=Math.round(t*s),l=Math.round(n*s),u/s<t&&++u,l/s>n&&--l,s=-s):(s=Math.pow(10,i)*a,u=Math.round(t/s),l=Math.round(n/s),u*s<t&&++u,l*s>n&&--l),l<u&&.5<=e&&e<2?Mt(t,n,2*e):[u,l,s]}function At(t,n,e){return Mt(t=+t,n=+n,e=+e)[2]}function St(t,n){switch(arguments.length){case 0:break;case 1:this.range(t);break;default:this.range(n).domain(t)}return this}function Et(t,n,e){t.prototype=n.prototype=e,e.constructor=t}function Nt(t,n){var e=Object.create(t.prototype);for(var r in n)e[r]=n[r];return e}function zt(){}var Ct=.7,Tt=1/Ct,jt="\\s*([+-]?\\d+)\\s*",Ot="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",Pt="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",Rt=/^#([0-9a-f]{3,8})$/,$t=new RegExp(`^rgb\\(${jt},${jt},${jt}\\)$`),Dt=new RegExp(`^rgb\\(${Pt},${Pt},${Pt}\\)$`),Ht=new RegExp(`^rgba\\(${jt},${jt},${jt},${Ot}\\)$`),Ut=new RegExp(`^rgba\\(${Pt},${Pt},${Pt},${Ot}\\)$`),It=new RegExp(`^hsl\\(${Ot},${Pt},${Pt}\\)$`),qt=new RegExp(`^hsla\\(${Ot},${Pt},${Pt},${Ot}\\)$`),Xt={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};function Ft(){return this.rgb().formatHex()}function Lt(){return this.rgb().formatRgb()}function Bt(t){var n,e;return t=(t+"").trim().toLowerCase(),(n=Rt.exec(t))?(e=n[1].length,n=parseInt(n[1],16),6===e?Yt(n):3===e?new Gt(n>>8&15|n>>4&240,n>>4&15|240&n,(15&n)<<4|15&n,1):8===e?Vt(n>>24&255,n>>16&255,n>>8&255,(255&n)/255):4===e?Vt(n>>12&15|n>>8&240,n>>8&15|n>>4&240,n>>4&15|240&n,((15&n)<<4|15&n)/255):null):(n=$t.exec(t))?new Gt(n[1],n[2],n[3],1):(n=Dt.exec(t))?new Gt(255*n[1]/100,255*n[2]/100,255*n[3]/100,1):(n=Ht.exec(t))?Vt(n[1],n[2],n[3],n[4]):(n=Ut.exec(t))?Vt(255*n[1]/100,255*n[2]/100,255*n[3]/100,n[4]):(n=It.exec(t))?nn(n[1],n[2]/100,n[3]/100,1):(n=qt.exec(t))?nn(n[1],n[2]/100,n[3]/100,n[4]):Xt.hasOwnProperty(t)?Yt(Xt[t]):"transparent"===t?new Gt(NaN,NaN,NaN,0):null}function Yt(t){return new Gt(t>>16&255,t>>8&255,255&t,1)}function Vt(t,n,e,r){return r<=0&&(t=n=e=NaN),new Gt(t,n,e,r)}function Wt(t,n,e,r){return 1===arguments.length?function(t){return t instanceof zt||(t=Bt(t)),t?new Gt((t=t.rgb()).r,t.g,t.b,t.opacity):new Gt}(t):new Gt(t,n,e,null==r?1:r)}function Gt(t,n,e,r){this.r=+t,this.g=+n,this.b=+e,this.opacity=+r}function Kt(){return`#${tn(this.r)}${tn(this.g)}${tn(this.b)}`}function Qt(){const t=Zt(this.opacity);return`${1===t?"rgb(":"rgba("}${Jt(this.r)}, ${Jt(this.g)}, ${Jt(this.b)}${1===t?")":`, ${t})`}`}function Zt(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function Jt(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function tn(t){return((t=Jt(t))<16?"0":"")+t.toString(16)}function nn(t,n,e,r){return r<=0?t=n=e=NaN:e<=0||e>=1?t=n=NaN:n<=0&&(t=NaN),new rn(t,n,e,r)}function en(t){if(t instanceof rn)return new rn(t.h,t.s,t.l,t.opacity);if(t instanceof zt||(t=Bt(t)),!t)return new rn;if(t instanceof rn)return t;var n=(t=t.rgb()).r/255,e=t.g/255,r=t.b/255,i=Math.min(n,e,r),o=Math.max(n,e,r),a=NaN,u=o-i,l=(o+i)/2;return u?(a=n===o?(e-r)/u+6*(e<r):e===o?(r-n)/u+2:(n-e)/u+4,u/=l<.5?o+i:2-o-i,a*=60):u=l>0&&l<1?0:a,new rn(a,u,l,t.opacity)}function rn(t,n,e,r){this.h=+t,this.s=+n,this.l=+e,this.opacity=+r}function on(t){return(t=(t||0)%360)<0?t+360:t}function an(t){return Math.max(0,Math.min(1,t||0))}function un(t,n,e){return 255*(t<60?n+(e-n)*t/60:t<180?e:t<240?n+(e-n)*(240-t)/60:n)}Et(zt,Bt,{copy(t){return Object.assign(new this.constructor,this,t)},displayable(){return this.rgb().displayable()},hex:Ft,formatHex:Ft,formatHex8:function(){return this.rgb().formatHex8()},formatHsl:function(){return en(this).formatHsl()},formatRgb:Lt,toString:Lt}),Et(Gt,Wt,Nt(zt,{brighter(t){return t=null==t?Tt:Math.pow(Tt,t),new Gt(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=null==t?Ct:Math.pow(Ct,t),new Gt(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new Gt(Jt(this.r),Jt(this.g),Jt(this.b),Zt(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:Kt,formatHex:Kt,formatHex8:function(){return`#${tn(this.r)}${tn(this.g)}${tn(this.b)}${tn(255*(isNaN(this.opacity)?1:this.opacity))}`},formatRgb:Qt,toString:Qt})),Et(rn,(function(t,n,e,r){return 1===arguments.length?en(t):new rn(t,n,e,null==r?1:r)}),Nt(zt,{brighter(t){return t=null==t?Tt:Math.pow(Tt,t),new rn(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=null==t?Ct:Math.pow(Ct,t),new rn(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+360*(this.h<0),n=isNaN(t)||isNaN(this.s)?0:this.s,e=this.l,r=e+(e<.5?e:1-e)*n,i=2*e-r;return new Gt(un(t>=240?t-240:t+120,i,r),un(t,i,r),un(t<120?t+240:t-120,i,r),this.opacity)},clamp(){return new rn(on(this.h),an(this.s),an(this.l),Zt(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 t=Zt(this.opacity);return`${1===t?"hsl(":"hsla("}${on(this.h)}, ${100*an(this.s)}%, ${100*an(this.l)}%${1===t?")":`, ${t})`}`}}));var ln=t=>()=>t;function sn(t){return 1==(t=+t)?cn:function(n,e){return e-n?function(t,n,e){return t=Math.pow(t,e),n=Math.pow(n,e)-t,e=1/e,function(r){return Math.pow(t+r*n,e)}}(n,e,t):ln(isNaN(n)?e:n)}}function cn(t,n){var e=n-t;return e?function(t,n){return function(e){return t+e*n}}(t,e):ln(isNaN(t)?n:t)}var fn=function t(n){var e=sn(n);function r(t,n){var r=e((t=Wt(t)).r,(n=Wt(n)).r),i=e(t.g,n.g),o=e(t.b,n.b),a=cn(t.opacity,n.opacity);return function(n){return t.r=r(n),t.g=i(n),t.b=o(n),t.opacity=a(n),t+""}}return r.gamma=t,r}(1);function hn(t,n){n||(n=[]);var e,r=t?Math.min(n.length,t.length):0,i=n.slice();return function(o){for(e=0;e<r;++e)i[e]=t[e]*(1-o)+n[e]*o;return i}}function pn(t,n){var e,r=n?n.length:0,i=t?Math.min(r,t.length):0,o=new Array(i),a=new Array(r);for(e=0;e<i;++e)o[e]=bn(t[e],n[e]);for(;e<r;++e)a[e]=n[e];return function(t){for(e=0;e<i;++e)a[e]=o[e](t);return a}}function dn(t,n){var e=new Date;return t=+t,n=+n,function(r){return e.setTime(t*(1-r)+n*r),e}}function gn(t,n){return t=+t,n=+n,function(e){return t*(1-e)+n*e}}function _n(t,n){var e,r={},i={};for(e in null!==t&&"object"==typeof t||(t={}),null!==n&&"object"==typeof n||(n={}),n)e in t?r[e]=bn(t[e],n[e]):i[e]=n[e];return function(t){for(e in r)i[e]=r[e](t);return i}}var vn=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,mn=new RegExp(vn.source,"g");function yn(t,n){var e,r,i,o=vn.lastIndex=mn.lastIndex=0,a=-1,u=[],l=[];for(t+="",n+="";(e=vn.exec(t))&&(r=mn.exec(n));)(i=r.index)>o&&(i=n.slice(o,i),u[a]?u[a]+=i:u[++a]=i),(e=e[0])===(r=r[0])?u[a]?u[a]+=r:u[++a]=r:(u[++a]=null,l.push({i:a,x:gn(e,r)})),o=mn.lastIndex;return o<n.length&&(i=n.slice(o),u[a]?u[a]+=i:u[++a]=i),u.length<2?l[0]?function(t){return function(n){return t(n)+""}}(l[0].x):function(t){return function(){return t}}(n):(n=l.length,function(t){for(var e,r=0;r<n;++r)u[(e=l[r]).i]=e.x(t);return u.join("")})}function bn(t,n){var e,r=typeof n;return null==n||"boolean"===r?ln(n):("number"===r?gn:"string"===r?(e=Bt(n))?(n=e,fn):yn:n instanceof Bt?fn:n instanceof Date?dn:function(t){return ArrayBuffer.isView(t)&&!(t instanceof DataView)}(n)?hn:Array.isArray(n)?pn:"function"!=typeof n.valueOf&&"function"!=typeof n.toString||isNaN(n)?_n:gn)(t,n)}function wn(t,n){return t=+t,n=+n,function(e){return Math.round(t*(1-e)+n*e)}}var xn,kn=180/Math.PI,Mn={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function An(t,n,e,r,i,o){var a,u,l;return(a=Math.sqrt(t*t+n*n))&&(t/=a,n/=a),(l=t*e+n*r)&&(e-=t*l,r-=n*l),(u=Math.sqrt(e*e+r*r))&&(e/=u,r/=u,l/=u),t*r<n*e&&(t=-t,n=-n,l=-l,a=-a),{translateX:i,translateY:o,rotate:Math.atan2(n,t)*kn,skewX:Math.atan(l)*kn,scaleX:a,scaleY:u}}function Sn(t,n,e,r){function i(t){return t.length?t.pop()+" ":""}return function(o,a){var u=[],l=[];return o=t(o),a=t(a),function(t,r,i,o,a,u){if(t!==i||r!==o){var l=a.push("translate(",null,n,null,e);u.push({i:l-4,x:gn(t,i)},{i:l-2,x:gn(r,o)})}else(i||o)&&a.push("translate("+i+n+o+e)}(o.translateX,o.translateY,a.translateX,a.translateY,u,l),function(t,n,e,o){t!==n?(t-n>180?n+=360:n-t>180&&(t+=360),o.push({i:e.push(i(e)+"rotate(",null,r)-2,x:gn(t,n)})):n&&e.push(i(e)+"rotate("+n+r)}(o.rotate,a.rotate,u,l),function(t,n,e,o){t!==n?o.push({i:e.push(i(e)+"skewX(",null,r)-2,x:gn(t,n)}):n&&e.push(i(e)+"skewX("+n+r)}(o.skewX,a.skewX,u,l),function(t,n,e,r,o,a){if(t!==e||n!==r){var u=o.push(i(o)+"scale(",null,",",null,")");a.push({i:u-4,x:gn(t,e)},{i:u-2,x:gn(n,r)})}else 1===e&&1===r||o.push(i(o)+"scale("+e+","+r+")")}(o.scaleX,o.scaleY,a.scaleX,a.scaleY,u,l),o=a=null,function(t){for(var n,e=-1,r=l.length;++e<r;)u[(n=l[e]).i]=n.x(t);return u.join("")}}}var En=Sn((function(t){const n=new("function"==typeof DOMMatrix?DOMMatrix:WebKitCSSMatrix)(t+"");return n.isIdentity?Mn:An(n.a,n.b,n.c,n.d,n.e,n.f)}),"px, ","px)","deg)"),Nn=Sn((function(t){return null==t?Mn:(xn||(xn=document.createElementNS("http://www.w3.org/2000/svg","g")),xn.setAttribute("transform",t),(t=xn.transform.baseVal.consolidate())?An((t=t.matrix).a,t.b,t.c,t.d,t.e,t.f):Mn)}),", ",")",")");function zn(t){return((t=Math.exp(t))+1/t)/2}var Cn=function t(n,e,r){function i(t,i){var o,a,u=t[0],l=t[1],s=t[2],c=i[0],f=i[1],h=i[2],p=c-u,d=f-l,g=p*p+d*d;if(g<1e-12)a=Math.log(h/s)/n,o=function(t){return[u+t*p,l+t*d,s*Math.exp(n*t*a)]};else{var _=Math.sqrt(g),v=(h*h-s*s+r*g)/(2*s*e*_),m=(h*h-s*s-r*g)/(2*h*e*_),y=Math.log(Math.sqrt(v*v+1)-v),b=Math.log(Math.sqrt(m*m+1)-m);a=(b-y)/n,o=function(t){var r=t*a,i=zn(y),o=s/(e*_)*(i*function(t){return((t=Math.exp(2*t))-1)/(t+1)}(n*r+y)-function(t){return((t=Math.exp(t))-1/t)/2}(y));return[u+o*p,l+o*d,s*i/zn(n*r+y)]}}return o.duration=1e3*a*n/Math.SQRT2,o}return i.rho=function(n){var e=Math.max(.001,+n),r=e*e;return t(e,r,r*r)},i}(Math.SQRT2,2,4);function Tn(t){return+t}var jn=[0,1];function On(t){return t}function Pn(t,n){return(n-=t=+t)?function(e){return(e-t)/n}:function(t){return function(){return t}}(isNaN(n)?NaN:.5)}function Rn(t,n,e){var r=t[0],i=t[1],o=n[0],a=n[1];return i<r?(r=Pn(i,r),o=e(a,o)):(r=Pn(r,i),o=e(o,a)),function(t){return o(r(t))}}function $n(t,n,e){var r=Math.min(t.length,n.length)-1,i=new Array(r),o=new Array(r),a=-1;for(t[r]<t[0]&&(t=t.slice().reverse(),n=n.slice().reverse());++a<r;)i[a]=Pn(t[a],t[a+1]),o[a]=e(n[a],n[a+1]);return function(n){var e=bt(t,n,1,r)-1;return o[e](i[e](n))}}function Dn(){var t,n,e,r,i,o,a=jn,u=jn,l=bn,s=On;function c(){var t=Math.min(a.length,u.length);return s!==On&&(s=function(t,n){var e;return t>n&&(e=t,t=n,n=e),function(e){return Math.max(t,Math.min(n,e))}}(a[0],a[t-1])),r=t>2?$n:Rn,i=o=null,f}function f(n){return null==n||isNaN(n=+n)?e:(i||(i=r(a.map(t),u,l)))(t(s(n)))}return f.invert=function(e){return s(n((o||(o=r(u,a.map(t),gn)))(e)))},f.domain=function(t){return arguments.length?(a=Array.from(t,Tn),c()):a.slice()},f.range=function(t){return arguments.length?(u=Array.from(t),c()):u.slice()},f.rangeRound=function(t){return u=Array.from(t),l=wn,c()},f.clamp=function(t){return arguments.length?(s=!!t||On,c()):s!==On},f.interpolate=function(t){return arguments.length?(l=t,c()):l},f.unknown=function(t){return arguments.length?(e=t,f):e},function(e,r){return t=e,n=r,c()}}function Hn(t,n){if((e=(t=n?t.toExponential(n-1):t.toExponential()).indexOf("e"))<0)return null;var e,r=t.slice(0,e);return[r.length>1?r[0]+r.slice(2):r,+t.slice(e+1)]}function Un(t){return(t=Hn(Math.abs(t)))?t[1]:NaN}var In,qn=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function Xn(t){if(!(n=qn.exec(t)))throw new Error("invalid format: "+t);var n;return new Fn({fill:n[1],align:n[2],sign:n[3],symbol:n[4],zero:n[5],width:n[6],comma:n[7],precision:n[8]&&n[8].slice(1),trim:n[9],type:n[10]})}function Fn(t){this.fill=void 0===t.fill?" ":t.fill+"",this.align=void 0===t.align?">":t.align+"",this.sign=void 0===t.sign?"-":t.sign+"",this.symbol=void 0===t.symbol?"":t.symbol+"",this.zero=!!t.zero,this.width=void 0===t.width?void 0:+t.width,this.comma=!!t.comma,this.precision=void 0===t.precision?void 0:+t.precision,this.trim=!!t.trim,this.type=void 0===t.type?"":t.type+""}function Ln(t,n){var e=Hn(t,n);if(!e)return t+"";var r=e[0],i=e[1];return i<0?"0."+new Array(-i).join("0")+r:r.length>i+1?r.slice(0,i+1)+"."+r.slice(i+1):r+new Array(i-r.length+2).join("0")}Xn.prototype=Fn.prototype,Fn.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(void 0===this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(void 0===this.precision?"":"."+Math.max(0,0|this.precision))+(this.trim?"~":"")+this.type};var Bn={"%":(t,n)=>(100*t).toFixed(n),b:t=>Math.round(t).toString(2),c:t=>t+"",d:function(t){return Math.abs(t=Math.round(t))>=1e21?t.toLocaleString("en").replace(/,/g,""):t.toString(10)},e:(t,n)=>t.toExponential(n),f:(t,n)=>t.toFixed(n),g:(t,n)=>t.toPrecision(n),o:t=>Math.round(t).toString(8),p:(t,n)=>Ln(100*t,n),r:Ln,s:function(t,n){var e=Hn(t,n);if(!e)return t+"";var r=e[0],i=e[1],o=i-(In=3*Math.max(-8,Math.min(8,Math.floor(i/3))))+1,a=r.length;return o===a?r:o>a?r+new Array(o-a+1).join("0"):o>0?r.slice(0,o)+"."+r.slice(o):"0."+new Array(1-o).join("0")+Hn(t,Math.max(0,n+o-1))[0]},X:t=>Math.round(t).toString(16).toUpperCase(),x:t=>Math.round(t).toString(16)};function Yn(t){return t}var Vn,Wn,Gn,Kn=Array.prototype.map,Qn=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function Zn(t){var n,e,r=void 0===t.grouping||void 0===t.thousands?Yn:(n=Kn.call(t.grouping,Number),e=t.thousands+"",function(t,r){for(var i=t.length,o=[],a=0,u=n[0],l=0;i>0&&u>0&&(l+u+1>r&&(u=Math.max(1,r-l)),o.push(t.substring(i-=u,i+u)),!((l+=u+1)>r));)u=n[a=(a+1)%n.length];return o.reverse().join(e)}),i=void 0===t.currency?"":t.currency[0]+"",o=void 0===t.currency?"":t.currency[1]+"",a=void 0===t.decimal?".":t.decimal+"",u=void 0===t.numerals?Yn:function(t){return function(n){return n.replace(/[0-9]/g,(function(n){return t[+n]}))}}(Kn.call(t.numerals,String)),l=void 0===t.percent?"%":t.percent+"",s=void 0===t.minus?"−":t.minus+"",c=void 0===t.nan?"NaN":t.nan+"";function f(t){var n=(t=Xn(t)).fill,e=t.align,f=t.sign,h=t.symbol,p=t.zero,d=t.width,g=t.comma,_=t.precision,v=t.trim,m=t.type;"n"===m?(g=!0,m="g"):Bn[m]||(void 0===_&&(_=12),v=!0,m="g"),(p||"0"===n&&"="===e)&&(p=!0,n="0",e="=");var y="$"===h?i:"#"===h&&/[boxX]/.test(m)?"0"+m.toLowerCase():"",b="$"===h?o:/[%p]/.test(m)?l:"",w=Bn[m],x=/[defgprs%]/.test(m);function k(t){var i,o,l,h=y,k=b;if("c"===m)k=w(t)+k,t="";else{var M=(t=+t)<0||1/t<0;if(t=isNaN(t)?c:w(Math.abs(t),_),v&&(t=function(t){t:for(var n,e=t.length,r=1,i=-1;r<e;++r)switch(t[r]){case".":i=n=r;break;case"0":0===i&&(i=r),n=r;break;default:if(!+t[r])break t;i>0&&(i=0)}return i>0?t.slice(0,i)+t.slice(n+1):t}(t)),M&&0==+t&&"+"!==f&&(M=!1),h=(M?"("===f?f:s:"-"===f||"("===f?"":f)+h,k=("s"===m?Qn[8+In/3]:"")+k+(M&&"("===f?")":""),x)for(i=-1,o=t.length;++i<o;)if(48>(l=t.charCodeAt(i))||l>57){k=(46===l?a+t.slice(i+1):t.slice(i))+k,t=t.slice(0,i);break}}g&&!p&&(t=r(t,1/0));var A=h.length+t.length+k.length,S=A<d?new Array(d-A+1).join(n):"";switch(g&&p&&(t=r(S+t,S.length?d-k.length:1/0),S=""),e){case"<":t=h+t+k+S;break;case"=":t=h+S+t+k;break;case"^":t=S.slice(0,A=S.length>>1)+h+t+k+S.slice(A);break;default:t=S+h+t+k}return u(t)}return _=void 0===_?6:/[gprs]/.test(m)?Math.max(1,Math.min(21,_)):Math.max(0,Math.min(20,_)),k.toString=function(){return t+""},k}return{format:f,formatPrefix:function(t,n){var e=f(((t=Xn(t)).type="f",t)),r=3*Math.max(-8,Math.min(8,Math.floor(Un(n)/3))),i=Math.pow(10,-r),o=Qn[8+r/3];return function(t){return e(i*t)+o}}}}function Jn(t,n,e,r){var i,o=function(t,n,e){e=+e;const r=(n=+n)<(t=+t),i=r?At(n,t,e):At(t,n,e);return(r?-1:1)*(i<0?1/-i:i)}(t,n,e);switch((r=Xn(null==r?",f":r)).type){case"s":var a=Math.max(Math.abs(t),Math.abs(n));return null!=r.precision||isNaN(i=function(t,n){return Math.max(0,3*Math.max(-8,Math.min(8,Math.floor(Un(n)/3)))-Un(Math.abs(t)))}(o,a))||(r.precision=i),Gn(r,a);case"":case"e":case"g":case"p":case"r":null!=r.precision||isNaN(i=function(t,n){return t=Math.abs(t),n=Math.abs(n)-t,Math.max(0,Un(n)-Un(t))+1}(o,Math.max(Math.abs(t),Math.abs(n))))||(r.precision=i-("e"===r.type));break;case"f":case"%":null!=r.precision||isNaN(i=function(t){return Math.max(0,-Un(Math.abs(t)))}(o))||(r.precision=i-2*("%"===r.type))}return Wn(r)}function te(t){var n=t.domain;return t.ticks=function(t){var e=n();return function(t,n,e){if(!((e=+e)>0))return[];if((t=+t)==(n=+n))return[t];const r=n<t,[i,o,a]=r?Mt(n,t,e):Mt(t,n,e);if(!(o>=i))return[];const u=o-i+1,l=new Array(u);if(r)if(a<0)for(let t=0;t<u;++t)l[t]=(o-t)/-a;else for(let t=0;t<u;++t)l[t]=(o-t)*a;else if(a<0)for(let t=0;t<u;++t)l[t]=(i+t)/-a;else for(let t=0;t<u;++t)l[t]=(i+t)*a;return l}(e[0],e[e.length-1],null==t?10:t)},t.tickFormat=function(t,e){var r=n();return Jn(r[0],r[r.length-1],null==t?10:t,e)},t.nice=function(e){null==e&&(e=10);var r,i,o=n(),a=0,u=o.length-1,l=o[a],s=o[u],c=10;for(s<l&&(i=l,l=s,s=i,i=a,a=u,u=i);c-- >0;){if((i=At(l,s,e))===r)return o[a]=l,o[u]=s,n(o);if(i>0)l=Math.floor(l/i)*i,s=Math.ceil(s/i)*i;else{if(!(i<0))break;l=Math.ceil(l*i)/i,s=Math.floor(s*i)/i}r=i}return t},t}function ne(t){var n=0,e=t.children,r=e&&e.length;if(r)for(;--r>=0;)n+=e[r].value;else n=1;t.value=n}function ee(t,n){t instanceof Map?(t=[void 0,t],void 0===n&&(n=ie)):void 0===n&&(n=re);for(var e,r,i,o,a,u=new ue(t),l=[u];e=l.pop();)if((i=n(e.data))&&(a=(i=Array.from(i)).length))for(e.children=i,o=a-1;o>=0;--o)l.push(r=i[o]=new ue(i[o])),r.parent=e,r.depth=e.depth+1;return u.eachBefore(ae)}function re(t){return t.children}function ie(t){return Array.isArray(t)?t[1]:null}function oe(t){void 0!==t.data.value&&(t.value=t.data.value),t.data=t.data.data}function ae(t){var n=0;do{t.height=n}while((t=t.parent)&&t.height<++n)}function ue(t){this.data=t,this.depth=this.height=0,this.parent=null}function le(t){return null==t?null:function(t){if("function"!=typeof t)throw new Error;return t}(t)}function se(){return 0}Vn=Zn({thousands:",",grouping:[3],currency:["$",""]}),Wn=Vn.format,Gn=Vn.formatPrefix,ue.prototype=ee.prototype={constructor:ue,count:function(){return this.eachAfter(ne)},each:function(t,n){let e=-1;for(const r of this)t.call(n,r,++e,this);return this},eachAfter:function(t,n){for(var e,r,i,o=this,a=[o],u=[],l=-1;o=a.pop();)if(u.push(o),e=o.children)for(r=0,i=e.length;r<i;++r)a.push(e[r]);for(;o=u.pop();)t.call(n,o,++l,this);return this},eachBefore:function(t,n){for(var e,r,i=this,o=[i],a=-1;i=o.pop();)if(t.call(n,i,++a,this),e=i.children)for(r=e.length-1;r>=0;--r)o.push(e[r]);return this},find:function(t,n){let e=-1;for(const r of this)if(t.call(n,r,++e,this))return r},sum:function(t){return this.eachAfter((function(n){for(var e=+t(n.data)||0,r=n.children,i=r&&r.length;--i>=0;)e+=r[i].value;n.value=e}))},sort:function(t){return this.eachBefore((function(n){n.children&&n.children.sort(t)}))},path:function(t){for(var n=this,e=function(t,n){if(t===n)return t;var e=t.ancestors(),r=n.ancestors(),i=null;t=e.pop(),n=r.pop();for(;t===n;)i=t,t=e.pop(),n=r.pop();return i}(n,t),r=[n];n!==e;)n=n.parent,r.push(n);for(var i=r.length;t!==e;)r.splice(i,0,t),t=t.parent;return r},ancestors:function(){for(var t=this,n=[t];t=t.parent;)n.push(t);return n},descendants:function(){return Array.from(this)},leaves:function(){var t=[];return this.eachBefore((function(n){n.children||t.push(n)})),t},links:function(){var t=this,n=[];return t.each((function(e){e!==t&&n.push({source:e.parent,target:e})})),n},copy:function(){return ee(this).eachBefore(oe)},[Symbol.iterator]:function*(){var t,n,e,r,i=this,o=[i];do{for(t=o.reverse(),o=[];i=t.pop();)if(yield i,n=i.children)for(e=0,r=n.length;e<r;++e)o.push(n[e])}while(o.length)}};const ce=4294967296;function fe(t,n){var e,r;if(de(n,t))return[n];for(e=0;e<t.length;++e)if(he(n,t[e])&&de(_e(t[e],n),t))return[t[e],n];for(e=0;e<t.length-1;++e)for(r=e+1;r<t.length;++r)if(he(_e(t[e],t[r]),n)&&he(_e(t[e],n),t[r])&&he(_e(t[r],n),t[e])&&de(ve(t[e],t[r],n),t))return[t[e],t[r],n];throw new Error}function he(t,n){var e=t.r-n.r,r=n.x-t.x,i=n.y-t.y;return e<0||e*e<r*r+i*i}function pe(t,n){var e=t.r-n.r+1e-9*Math.max(t.r,n.r,1),r=n.x-t.x,i=n.y-t.y;return e>0&&e*e>r*r+i*i}function de(t,n){for(var e=0;e<n.length;++e)if(!pe(t,n[e]))return!1;return!0}function ge(t){switch(t.length){case 1:return function(t){return{x:t.x,y:t.y,r:t.r}}(t[0]);case 2:return _e(t[0],t[1]);case 3:return ve(t[0],t[1],t[2])}}function _e(t,n){var e=t.x,r=t.y,i=t.r,o=n.x,a=n.y,u=n.r,l=o-e,s=a-r,c=u-i,f=Math.sqrt(l*l+s*s);return{x:(e+o+l/f*c)/2,y:(r+a+s/f*c)/2,r:(f+i+u)/2}}function ve(t,n,e){var r=t.x,i=t.y,o=t.r,a=n.x,u=n.y,l=n.r,s=e.x,c=e.y,f=e.r,h=r-a,p=r-s,d=i-u,g=i-c,_=l-o,v=f-o,m=r*r+i*i-o*o,y=m-a*a-u*u+l*l,b=m-s*s-c*c+f*f,w=p*d-h*g,x=(d*b-g*y)/(2*w)-r,k=(g*_-d*v)/w,M=(p*y-h*b)/(2*w)-i,A=(h*v-p*_)/w,S=k*k+A*A-1,E=2*(o+x*k+M*A),N=x*x+M*M-o*o,z=-(Math.abs(S)>1e-6?(E+Math.sqrt(E*E-4*S*N))/(2*S):N/E);return{x:r+x+k*z,y:i+M+A*z,r:z}}function me(t,n,e){var r,i,o,a,u=t.x-n.x,l=t.y-n.y,s=u*u+l*l;s?(i=n.r+e.r,i*=i,a=t.r+e.r,i>(a*=a)?(r=(s+a-i)/(2*s),o=Math.sqrt(Math.max(0,a/s-r*r)),e.x=t.x-r*u-o*l,e.y=t.y-r*l+o*u):(r=(s+i-a)/(2*s),o=Math.sqrt(Math.max(0,i/s-r*r)),e.x=n.x+r*u-o*l,e.y=n.y+r*l+o*u)):(e.x=n.x+e.r,e.y=n.y)}function ye(t,n){var e=t.r+n.r-1e-6,r=n.x-t.x,i=n.y-t.y;return e>0&&e*e>r*r+i*i}function be(t){var n=t._,e=t.next._,r=n.r+e.r,i=(n.x*e.r+e.x*n.r)/r,o=(n.y*e.r+e.y*n.r)/r;return i*i+o*o}function we(t){this._=t,this.next=null,this.previous=null}function xe(t,n){if(!(o=(t=function(t){return"object"==typeof t&&"length"in t?t:Array.from(t)}(t)).length))return 0;var e,r,i,o,a,u,l,s,c,f,h;if((e=t[0]).x=0,e.y=0,!(o>1))return e.r;if(r=t[1],e.x=-r.r,r.x=e.r,r.y=0,!(o>2))return e.r+r.r;me(r,e,i=t[2]),e=new we(e),r=new we(r),i=new we(i),e.next=i.previous=r,r.next=e.previous=i,i.next=r.previous=e;t:for(l=3;l<o;++l){me(e._,r._,i=t[l]),i=new we(i),s=r.next,c=e.previous,f=r._.r,h=e._.r;do{if(f<=h){if(ye(s._,i._)){r=s,e.next=r,r.previous=e,--l;continue t}f+=s._.r,s=s.next}else{if(ye(c._,i._)){(e=c).next=r,r.previous=e,--l;continue t}h+=c._.r,c=c.previous}}while(s!==c.next);for(i.previous=e,i.next=r,e.next=r.previous=r=i,a=be(e);(i=i.next)!==r;)(u=be(i))<a&&(e=i,a=u);r=e.next}for(e=[r._],i=r;(i=i.next)!==r;)e.push(i._);for(i=function(t,n){for(var e,r,i=0,o=(t=function(t,n){let e,r,i=t.length;for(;i;)r=n()*i--|0,e=t[i],t[i]=t[r],t[r]=e;return t}(Array.from(t),n)).length,a=[];i<o;)e=t[i],r&&pe(r,e)?++i:(r=ge(a=fe(a,e)),i=0);return r}(e,n),l=0;l<o;++l)(e=t[l]).x-=i.x,e.y-=i.y;return i.r}function ke(t){return Math.sqrt(t.value)}function Me(){var t=null,n=1,e=1,r=se;function i(i){const o=function(){let t=1;return()=>(t=(1664525*t+1013904223)%ce)/ce}();return i.x=n/2,i.y=e/2,t?i.eachBefore(Ae(t)).eachAfter(Se(r,.5,o)).eachBefore(Ee(1)):i.eachBefore(Ae(ke)).eachAfter(Se(se,1,o)).eachAfter(Se(r,i.r/Math.min(n,e),o)).eachBefore(Ee(Math.min(n,e)/(2*i.r))),i}return i.radius=function(n){return arguments.length?(t=le(n),i):t},i.size=function(t){return arguments.length?(n=+t[0],e=+t[1],i):[n,e]},i.padding=function(t){return arguments.length?(r="function"==typeof t?t:function(t){return function(){return t}}(+t),i):r},i}function Ae(t){return function(n){n.children||(n.r=Math.max(0,+t(n)||0))}}function Se(t,n,e){return function(r){if(i=r.children){var i,o,a,u=i.length,l=t(r)*n||0;if(l)for(o=0;o<u;++o)i[o].r+=l;if(a=xe(i,e),l)for(o=0;o<u;++o)i[o].r-=l;r.r=a+l}}}function Ee(t){return function(n){var e=n.parent;n.r*=t,e&&(n.x=e.x+t*n.x,n.y=e.y+t*n.y)}}var Ne={value:()=>{}};function ze(){for(var t,n=0,e=arguments.length,r={};n<e;++n){if(!(t=arguments[n]+"")||t in r||/[\s.]/.test(t))throw new Error("illegal type: "+t);r[t]=[]}return new Ce(r)}function Ce(t){this._=t}function Te(t,n){for(var e,r=0,i=t.length;r<i;++r)if((e=t[r]).name===n)return e.value}function je(t,n,e){for(var r=0,i=t.length;r<i;++r)if(t[r].name===n){t[r]=Ne,t=t.slice(0,r).concat(t.slice(r+1));break}return null!=e&&t.push({name:n,value:e}),t}Ce.prototype=ze.prototype={constructor:Ce,on:function(t,n){var e,r,i=this._,o=(r=i,(t+"").trim().split(/^|\s+/).map((function(t){var n="",e=t.indexOf(".");if(e>=0&&(n=t.slice(e+1),t=t.slice(0,e)),t&&!r.hasOwnProperty(t))throw new Error("unknown type: "+t);return{type:t,name:n}}))),a=-1,u=o.length;if(!(arguments.length<2)){if(null!=n&&"function"!=typeof n)throw new Error("invalid callback: "+n);for(;++a<u;)if(e=(t=o[a]).type)i[e]=je(i[e],t.name,n);else if(null==n)for(e in i)i[e]=je(i[e],t.name,null);return this}for(;++a<u;)if((e=(t=o[a]).type)&&(e=Te(i[e],t.name)))return e},copy:function(){var t={},n=this._;for(var e in n)t[e]=n[e].slice();return new Ce(t)},call:function(t,n){if((e=arguments.length-2)>0)for(var e,r,i=new Array(e),o=0;o<e;++o)i[o]=arguments[o+2];if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(o=0,e=(r=this._[t]).length;o<e;++o)r[o].value.apply(n,i)},apply:function(t,n,e){if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(var r=this._[t],i=0,o=r.length;i<o;++i)r[i].value.apply(n,e)}};var Oe,Pe,Re=0,$e=0,De=0,He=0,Ue=0,Ie=0,qe="object"==typeof performance&&performance.now?performance:Date,Xe="object"==typeof window&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};function Fe(){return Ue||(Xe(Le),Ue=qe.now()+Ie)}function Le(){Ue=0}function Be(){this._call=this._time=this._next=null}function Ye(t,n,e){var r=new Be;return r.restart(t,n,e),r}function Ve(){Ue=(He=qe.now())+Ie,Re=$e=0;try{!function(){Fe(),++Re;for(var t,n=Oe;n;)(t=Ue-n._time)>=0&&n._call.call(void 0,t),n=n._next;--Re}()}finally{Re=0,function(){var t,n,e=Oe,r=1/0;for(;e;)e._call?(r>e._time&&(r=e._time),t=e,e=e._next):(n=e._next,e._next=null,e=t?t._next=n:Oe=n);Pe=t,Ge(r)}(),Ue=0}}function We(){var t=qe.now(),n=t-He;n>1e3&&(Ie-=n,He=t)}function Ge(t){Re||($e&&($e=clearTimeout($e)),t-Ue>24?(t<1/0&&($e=setTimeout(Ve,t-qe.now()-Ie)),De&&(De=clearInterval(De))):(De||(He=qe.now(),De=setInterval(We,1e3)),Re=1,Xe(Ve)))}function Ke(t,n,e){var r=new Be;return n=null==n?0:+n,r.restart((e=>{r.stop(),t(e+n)}),n,e),r}Be.prototype=Ye.prototype={constructor:Be,restart:function(t,n,e){if("function"!=typeof t)throw new TypeError("callback is not a function");e=(null==e?Fe():+e)+(null==n?0:+n),this._next||Pe===this||(Pe?Pe._next=this:Oe=this,Pe=this),this._call=t,this._time=e,Ge()},stop:function(){this._call&&(this._call=null,this._time=1/0,Ge())}};var Qe=ze("start","end","cancel","interrupt"),Ze=[];function Je(t,n,e,r,i,o){var a=t.__transition;if(a){if(e in a)return}else t.__transition={};!function(t,n,e){var r,i=t.__transition;function o(t){e.state=1,e.timer.restart(a,e.delay,e.time),e.delay<=t&&a(t-e.delay)}function a(o){var s,c,f,h;if(1!==e.state)return l();for(s in i)if((h=i[s]).name===e.name){if(3===h.state)return Ke(a);4===h.state?(h.state=6,h.timer.stop(),h.on.call("interrupt",t,t.__data__,h.index,h.group),delete i[s]):+s<n&&(h.state=6,h.timer.stop(),h.on.call("cancel",t,t.__data__,h.index,h.group),delete i[s])}if(Ke((function(){3===e.state&&(e.state=4,e.timer.restart(u,e.delay,e.time),u(o))})),e.state=2,e.on.call("start",t,t.__data__,e.index,e.group),2===e.state){for(e.state=3,r=new Array(f=e.tween.length),s=0,c=-1;s<f;++s)(h=e.tween[s].value.call(t,t.__data__,e.index,e.group))&&(r[++c]=h);r.length=c+1}}function u(n){for(var i=n<e.duration?e.ease.call(null,n/e.duration):(e.timer.restart(l),e.state=5,1),o=-1,a=r.length;++o<a;)r[o].call(t,i);5===e.state&&(e.on.call("end",t,t.__data__,e.index,e.group),l())}function l(){for(var r in e.state=6,e.timer.stop(),delete i[n],i)return;delete t.__transition}i[n]=e,e.timer=Ye(o,0,e.time)}(t,e,{name:n,index:r,group:i,on:Qe,tween:Ze,time:o.time,delay:o.delay,duration:o.duration,ease:o.ease,timer:null,state:0})}function tr(t,n){var e=er(t,n);if(e.state>0)throw new Error("too late; already scheduled");return e}function nr(t,n){var e=er(t,n);if(e.state>3)throw new Error("too late; already running");return e}function er(t,n){var e=t.__transition;if(!e||!(e=e[n]))throw new Error("transition not found");return e}function rr(t,n){var e,r,i,o=t.__transition,a=!0;if(o){for(i in n=null==n?null:n+"",o)(e=o[i]).name===n?(r=e.state>2&&e.state<5,e.state=6,e.timer.stop(),e.on.call(r?"interrupt":"cancel",t,t.__data__,e.index,e.group),delete o[i]):a=!1;a&&delete t.__transition}}function ir(t,n){var e,r;return function(){var i=nr(this,t),o=i.tween;if(o!==e)for(var a=0,u=(r=e=o).length;a<u;++a)if(r[a].name===n){(r=r.slice()).splice(a,1);break}i.tween=r}}function or(t,n,e){var r,i;if("function"!=typeof e)throw new Error;return function(){var o=nr(this,t),a=o.tween;if(a!==r){i=(r=a).slice();for(var u={name:n,value:e},l=0,s=i.length;l<s;++l)if(i[l].name===n){i[l]=u;break}l===s&&i.push(u)}o.tween=i}}function ar(t,n,e){var r=t._id;return t.each((function(){var t=nr(this,r);(t.value||(t.value={}))[n]=e.apply(this,arguments)})),function(t){return er(t,r).value[n]}}function ur(t,n){var e;return("number"==typeof n?gn:n instanceof Bt?fn:(e=Bt(n))?(n=e,fn):yn)(t,n)}function lr(t){return function(){this.removeAttribute(t)}}function sr(t){return function(){this.removeAttributeNS(t.space,t.local)}}function cr(t,n,e){var r,i,o=e+"";return function(){var a=this.getAttribute(t);return a===o?null:a===r?i:i=n(r=a,e)}}function fr(t,n,e){var r,i,o=e+"";return function(){var a=this.getAttributeNS(t.space,t.local);return a===o?null:a===r?i:i=n(r=a,e)}}function hr(t,n,e){var r,i,o;return function(){var a,u,l=e(this);if(null!=l)return(a=this.getAttribute(t))===(u=l+"")?null:a===r&&u===i?o:(i=u,o=n(r=a,l));this.removeAttribute(t)}}function pr(t,n,e){var r,i,o;return function(){var a,u,l=e(this);if(null!=l)return(a=this.getAttributeNS(t.space,t.local))===(u=l+"")?null:a===r&&u===i?o:(i=u,o=n(r=a,l));this.removeAttributeNS(t.space,t.local)}}function dr(t,n){var e,r;function i(){var i=n.apply(this,arguments);return i!==r&&(e=(r=i)&&function(t,n){return function(e){this.setAttributeNS(t.space,t.local,n.call(this,e))}}(t,i)),e}return i._value=n,i}function gr(t,n){var e,r;function i(){var i=n.apply(this,arguments);return i!==r&&(e=(r=i)&&function(t,n){return function(e){this.setAttribute(t,n.call(this,e))}}(t,i)),e}return i._value=n,i}function _r(t,n){return function(){tr(this,t).delay=+n.apply(this,arguments)}}function vr(t,n){return n=+n,function(){tr(this,t).delay=n}}function mr(t,n){return function(){nr(this,t).duration=+n.apply(this,arguments)}}function yr(t,n){return n=+n,function(){nr(this,t).duration=n}}var br=pt.prototype.constructor;function wr(t){return function(){this.style.removeProperty(t)}}var xr=0;function kr(t,n,e,r){this._groups=t,this._parents=n,this._name=e,this._id=r}function Mr(t){return pt().transition(t)}function Ar(){return++xr}var Sr=pt.prototype;kr.prototype=Mr.prototype={constructor:kr,select:function(t){var n=this._name,e=this._id;"function"!=typeof t&&(t=s(t));for(var r=this._groups,i=r.length,o=new Array(i),a=0;a<i;++a)for(var u,l,c=r[a],f=c.length,h=o[a]=new Array(f),p=0;p<f;++p)(u=c[p])&&(l=t.call(u,u.__data__,p,c))&&("__data__"in u&&(l.__data__=u.__data__),h[p]=l,Je(h[p],n,e,p,h,er(u,e)));return new kr(o,this._parents,n,e)},selectAll:function(t){var n=this._name,e=this._id;"function"!=typeof t&&(t=f(t));for(var r=this._groups,i=r.length,o=[],a=[],u=0;u<i;++u)for(var l,s=r[u],c=s.length,h=0;h<c;++h)if(l=s[h]){for(var p,d=t.call(l,l.__data__,h,s),g=er(l,e),_=0,v=d.length;_<v;++_)(p=d[_])&&Je(p,n,e,_,d,g);o.push(d),a.push(l)}return new kr(o,a,n,e)},selectChild:Sr.selectChild,selectChildren:Sr.selectChildren,filter:function(t){"function"!=typeof t&&(t=p(t));for(var n=this._groups,e=n.length,r=new Array(e),i=0;i<e;++i)for(var o,a=n[i],u=a.length,l=r[i]=[],s=0;s<u;++s)(o=a[s])&&t.call(o,o.__data__,s,a)&&l.push(o);return new kr(r,this._parents,this._name,this._id)},merge:function(t){if(t._id!==this._id)throw new Error;for(var n=this._groups,e=t._groups,r=n.length,i=e.length,o=Math.min(r,i),a=new Array(r),u=0;u<o;++u)for(var l,s=n[u],c=e[u],f=s.length,h=a[u]=new Array(f),p=0;p<f;++p)(l=s[p]||c[p])&&(h[p]=l);for(;u<r;++u)a[u]=n[u];return new kr(a,this._parents,this._name,this._id)},selection:function(){return new br(this._groups,this._parents)},transition:function(