//#region node_modules/d3-dispatch/src/dispatch.js
var e = { value: () => {} };
function t() {
	for (var e = 0, t = arguments.length, r = {}, i; e < t; ++e) {
		if (!(i = arguments[e] + "") || i in r || /[\s.]/.test(i)) throw Error("illegal type: " + i);
		r[i] = [];
	}
	return new n(r);
}
function n(e) {
	this._ = e;
}
function r(e, t) {
	return e.trim().split(/^|\s+/).map(function(e) {
		var n = "", r = e.indexOf(".");
		if (r >= 0 && (n = e.slice(r + 1), e = e.slice(0, r)), e && !t.hasOwnProperty(e)) throw Error("unknown type: " + e);
		return {
			type: e,
			name: n
		};
	});
}
n.prototype = t.prototype = {
	constructor: n,
	on: function(e, t) {
		var n = this._, o = r(e + "", n), s, c = -1, l = o.length;
		if (arguments.length < 2) {
			for (; ++c < l;) if ((s = (e = o[c]).type) && (s = i(n[s], e.name))) return s;
			return;
		}
		if (t != null && typeof t != "function") throw Error("invalid callback: " + t);
		for (; ++c < l;) if (s = (e = o[c]).type) n[s] = a(n[s], e.name, t);
		else if (t == null) for (s in n) n[s] = a(n[s], e.name, null);
		return this;
	},
	copy: function() {
		var e = {}, t = this._;
		for (var r in t) e[r] = t[r].slice();
		return new n(e);
	},
	call: function(e, t) {
		if ((i = arguments.length - 2) > 0) for (var n = Array(i), r = 0, i, a; r < i; ++r) n[r] = arguments[r + 2];
		if (!this._.hasOwnProperty(e)) throw Error("unknown type: " + e);
		for (a = this._[e], r = 0, i = a.length; r < i; ++r) a[r].value.apply(t, n);
	},
	apply: function(e, t, n) {
		if (!this._.hasOwnProperty(e)) throw Error("unknown type: " + e);
		for (var r = this._[e], i = 0, a = r.length; i < a; ++i) r[i].value.apply(t, n);
	}
};
function i(e, t) {
	for (var n = 0, r = e.length, i; n < r; ++n) if ((i = e[n]).name === t) return i.value;
}
function a(t, n, r) {
	for (var i = 0, a = t.length; i < a; ++i) if (t[i].name === n) {
		t[i] = e, t = t.slice(0, i).concat(t.slice(i + 1));
		break;
	}
	return r != null && t.push({
		name: n,
		value: r
	}), t;
}
var o = {
	svg: "http://www.w3.org/2000/svg",
	xhtml: "http://www.w3.org/1999/xhtml",
	xlink: "http://www.w3.org/1999/xlink",
	xml: "http://www.w3.org/XML/1998/namespace",
	xmlns: "http://www.w3.org/2000/xmlns/"
};
//#endregion
//#region node_modules/d3-selection/src/namespace.js
function s(e) {
	var t = e += "", n = t.indexOf(":");
	return n >= 0 && (t = e.slice(0, n)) !== "xmlns" && (e = e.slice(n + 1)), o.hasOwnProperty(t) ? {
		space: o[t],
		local: e
	} : e;
}
//#endregion
//#region node_modules/d3-selection/src/creator.js
function c(e) {
	return function() {
		var t = this.ownerDocument, n = this.namespaceURI;
		return n === "http://www.w3.org/1999/xhtml" && t.documentElement.namespaceURI === "http://www.w3.org/1999/xhtml" ? t.createElement(e) : t.createElementNS(n, e);
	};
}
function l(e) {
	return function() {
		return this.ownerDocument.createElementNS(e.space, e.local);
	};
}
function u(e) {
	var t = s(e);
	return (t.local ? l : c)(t);
}
//#endregion
//#region node_modules/d3-selection/src/selector.js
function d() {}
function f(e) {
	return e == null ? d : function() {
		return this.querySelector(e);
	};
}
//#endregion
//#region node_modules/d3-selection/src/selection/select.js
function p(e) {
	typeof e != "function" && (e = f(e));
	for (var t = this._groups, n = t.length, r = Array(n), i = 0; i < n; ++i) for (var a = t[i], o = a.length, s = r[i] = Array(o), c, l, u = 0; u < o; ++u) (c = a[u]) && (l = e.call(c, c.__data__, u, a)) && ("__data__" in c && (l.__data__ = c.__data__), s[u] = l);
	return new w(r, this._parents);
}
//#endregion
//#region node_modules/d3-selection/src/array.js
function m(e) {
	return e == null ? [] : Array.isArray(e) ? e : Array.from(e);
}
//#endregion
//#region node_modules/d3-selection/src/selectorAll.js
function h() {
	return [];
}
function g(e) {
	return e == null ? h : function() {
		return this.querySelectorAll(e);
	};
}
//#endregion
//#region node_modules/d3-selection/src/selection/selectAll.js
function _(e) {
	return function() {
		return m(e.apply(this, arguments));
	};
}
function v(e) {
	e = typeof e == "function" ? _(e) : g(e);
	for (var t = this._groups, n = t.length, r = [], i = [], a = 0; a < n; ++a) for (var o = t[a], s = o.length, c, l = 0; l < s; ++l) (c = o[l]) && (r.push(e.call(c, c.__data__, l, o)), i.push(c));
	return new w(r, i);
}
//#endregion
//#region node_modules/d3-selection/src/matcher.js
function y(e) {
	return function() {
		return this.matches(e);
	};
}
function b(e) {
	return function(t) {
		return t.matches(e);
	};
}
//#endregion
//#region node_modules/d3-selection/src/selection/selectChild.js
var ee = Array.prototype.find;
function te(e) {
	return function() {
		return ee.call(this.children, e);
	};
}
function x() {
	return this.firstElementChild;
}
function ne(e) {
	return this.select(e == null ? x : te(typeof e == "function" ? e : b(e)));
}
//#endregion
//#region node_modules/d3-selection/src/selection/selectChildren.js
var re = Array.prototype.filter;
function ie() {
	return Array.from(this.children);
}
function ae(e) {
	return function() {
		return re.call(this.children, e);
	};
}
function oe(e) {
	return this.selectAll(e == null ? ie : ae(typeof e == "function" ? e : b(e)));
}
//#endregion
//#region node_modules/d3-selection/src/selection/filter.js
function se(e) {
	typeof e != "function" && (e = y(e));
	for (var t = this._groups, n = t.length, r = Array(n), i = 0; i < n; ++i) for (var a = t[i], o = a.length, s = r[i] = [], c, l = 0; l < o; ++l) (c = a[l]) && e.call(c, c.__data__, l, a) && s.push(c);
	return new w(r, this._parents);
}
//#endregion
//#region node_modules/d3-selection/src/selection/sparse.js
function ce(e) {
	return Array(e.length);
}
//#endregion
//#region node_modules/d3-selection/src/selection/enter.js
function le() {
	return new w(this._enter || this._groups.map(ce), this._parents);
}
function S(e, t) {
	this.ownerDocument = e.ownerDocument, this.namespaceURI = e.namespaceURI, this._next = null, this._parent = e, this.__data__ = t;
}
S.prototype = {
	constructor: S,
	appendChild: function(e) {
		return this._parent.insertBefore(e, this._next);
	},
	insertBefore: function(e, t) {
		return this._parent.insertBefore(e, t);
	},
	querySelector: function(e) {
		return this._parent.querySelector(e);
	},
	querySelectorAll: function(e) {
		return this._parent.querySelectorAll(e);
	}
};
//#endregion
//#region node_modules/d3-selection/src/constant.js
function ue(e) {
	return function() {
		return e;
	};
}
//#endregion
//#region node_modules/d3-selection/src/selection/data.js
function de(e, t, n, r, i, a) {
	for (var o = 0, s, c = t.length, l = a.length; o < l; ++o) (s = t[o]) ? (s.__data__ = a[o], r[o] = s) : n[o] = new S(e, a[o]);
	for (; o < c; ++o) (s = t[o]) && (i[o] = s);
}
function fe(e, t, n, r, i, a, o) {
	var s, c, l = /* @__PURE__ */ new Map(), u = t.length, d = a.length, f = Array(u), p;
	for (s = 0; s < u; ++s) (c = t[s]) && (f[s] = p = o.call(c, c.__data__, s, t) + "", l.has(p) ? i[s] = c : l.set(p, c));
	for (s = 0; s < d; ++s) p = o.call(e, a[s], s, a) + "", (c = l.get(p)) ? (r[s] = c, c.__data__ = a[s], l.delete(p)) : n[s] = new S(e, a[s]);
	for (s = 0; s < u; ++s) (c = t[s]) && l.get(f[s]) === c && (i[s] = c);
}
function pe(e) {
	return e.__data__;
}
function me(e, t) {
	if (!arguments.length) return Array.from(this, pe);
	var n = t ? fe : de, r = this._parents, i = this._groups;
	typeof e != "function" && (e = ue(e));
	for (var a = i.length, o = Array(a), s = Array(a), c = Array(a), l = 0; l < a; ++l) {
		var u = r[l], d = i[l], f = d.length, p = he(e.call(u, u && u.__data__, l, r)), m = p.length, h = s[l] = Array(m), g = o[l] = Array(m);
		n(u, d, h, g, c[l] = Array(f), p, t);
		for (var _ = 0, v = 0, y, b; _ < m; ++_) if (y = h[_]) {
			for (_ >= v && (v = _ + 1); !(b = g[v]) && ++v < m;);
			y._next = b || null;
		}
	}
	return o = new w(o, r), o._enter = s, o._exit = c, o;
}
function he(e) {
	return typeof e == "object" && "length" in e ? e : Array.from(e);
}
//#endregion
//#region node_modules/d3-selection/src/selection/exit.js
function ge() {
	return new w(this._exit || this._groups.map(ce), this._parents);
}
//#endregion
//#region node_modules/d3-selection/src/selection/join.js
function _e(e, t, n) {
	var r = this.enter(), i = this, a = this.exit();
	return typeof e == "function" ? (r = e(r), r &&= r.selection()) : r = r.append(e + ""), t != null && (i = t(i), i &&= i.selection()), n == null ? a.remove() : n(a), r && i ? r.merge(i).order() : i;
}
//#endregion
//#region node_modules/d3-selection/src/selection/merge.js
function ve(e) {
	for (var t = e.selection ? e.selection() : e, n = this._groups, r = t._groups, i = n.length, a = r.length, o = Math.min(i, a), s = Array(i), c = 0; c < o; ++c) for (var l = n[c], u = r[c], d = l.length, f = s[c] = Array(d), p, m = 0; m < d; ++m) (p = l[m] || u[m]) && (f[m] = p);
	for (; c < i; ++c) s[c] = n[c];
	return new w(s, this._parents);
}
//#endregion
//#region node_modules/d3-selection/src/selection/order.js
function ye() {
	for (var e = this._groups, t = -1, n = e.length; ++t < n;) for (var r = e[t], i = r.length - 1, a = r[i], o; --i >= 0;) (o = r[i]) && (a && o.compareDocumentPosition(a) ^ 4 && a.parentNode.insertBefore(o, a), a = o);
	return this;
}
//#endregion
//#region node_modules/d3-selection/src/selection/sort.js
function be(e) {
	e ||= xe;
	function t(t, n) {
		return t && n ? e(t.__data__, n.__data__) : !t - !n;
	}
	for (var n = this._groups, r = n.length, i = Array(r), a = 0; a < r; ++a) {
		for (var o = n[a], s = o.length, c = i[a] = Array(s), l, u = 0; u < s; ++u) (l = o[u]) && (c[u] = l);
		c.sort(t);
	}
	return new w(i, this._parents).order();
}
function xe(e, t) {
	return e < t ? -1 : e > t ? 1 : e >= t ? 0 : NaN;
}
//#endregion
//#region node_modules/d3-selection/src/selection/call.js
function Se() {
	var e = arguments[0];
	return arguments[0] = this, e.apply(null, arguments), this;
}
//#endregion
//#region node_modules/d3-selection/src/selection/nodes.js
function Ce() {
	return Array.from(this);
}
//#endregion
//#region node_modules/d3-selection/src/selection/node.js
function we() {
	for (var e = this._groups, t = 0, n = e.length; t < n; ++t) for (var r = e[t], i = 0, a = r.length; i < a; ++i) {
		var o = r[i];
		if (o) return o;
	}
	return null;
}
//#endregion
//#region node_modules/d3-selection/src/selection/size.js
function Te() {
	let e = 0;
	for (let t of this) ++e;
	return e;
}
//#endregion
//#region node_modules/d3-selection/src/selection/empty.js
function Ee() {
	return !this.node();
}
//#endregion
//#region node_modules/d3-selection/src/selection/each.js
function De(e) {
	for (var t = this._groups, n = 0, r = t.length; n < r; ++n) for (var i = t[n], a = 0, o = i.length, s; a < o; ++a) (s = i[a]) && e.call(s, s.__data__, a, i);
	return this;
}
//#endregion
//#region node_modules/d3-selection/src/selection/attr.js
function Oe(e) {
	return function() {
		this.removeAttribute(e);
	};
}
function ke(e) {
	return function() {
		this.removeAttributeNS(e.space, e.local);
	};
}
function Ae(e, t) {
	return function() {
		this.setAttribute(e, t);
	};
}
function je(e, t) {
	return function() {
		this.setAttributeNS(e.space, e.local, t);
	};
}
function Me(e, t) {
	return function() {
		var n = t.apply(this, arguments);
		n == null ? this.removeAttribute(e) : this.setAttribute(e, n);
	};
}
function Ne(e, t) {
	return function() {
		var n = t.apply(this, arguments);
		n == null ? this.removeAttributeNS(e.space, e.local) : this.setAttributeNS(e.space, e.local, n);
	};
}
function Pe(e, t) {
	var n = s(e);
	if (arguments.length < 2) {
		var r = this.node();
		return n.local ? r.getAttributeNS(n.space, n.local) : r.getAttribute(n);
	}
	return this.each((t == null ? n.local ? ke : Oe : typeof t == "function" ? n.local ? Ne : Me : n.local ? je : Ae)(n, t));
}
//#endregion
//#region node_modules/d3-selection/src/window.js
function Fe(e) {
	return e.ownerDocument && e.ownerDocument.defaultView || e.document && e || e.defaultView;
}
//#endregion
//#region node_modules/d3-selection/src/selection/style.js
function Ie(e) {
	return function() {
		this.style.removeProperty(e);
	};
}
function Le(e, t, n) {
	return function() {
		this.style.setProperty(e, t, n);
	};
}
function Re(e, t, n) {
	return function() {
		var r = t.apply(this, arguments);
		r == null ? this.style.removeProperty(e) : this.style.setProperty(e, r, n);
	};
}
function ze(e, t, n) {
	return arguments.length > 1 ? this.each((t == null ? Ie : typeof t == "function" ? Re : Le)(e, t, n ?? "")) : C(this.node(), e);
}
function C(e, t) {
	return e.style.getPropertyValue(t) || Fe(e).getComputedStyle(e, null).getPropertyValue(t);
}
//#endregion
//#region node_modules/d3-selection/src/selection/property.js
function Be(e) {
	return function() {
		delete this[e];
	};
}
function Ve(e, t) {
	return function() {
		this[e] = t;
	};
}
function He(e, t) {
	return function() {
		var n = t.apply(this, arguments);
		n == null ? delete this[e] : this[e] = n;
	};
}
function Ue(e, t) {
	return arguments.length > 1 ? this.each((t == null ? Be : typeof t == "function" ? He : Ve)(e, t)) : this.node()[e];
}
//#endregion
//#region node_modules/d3-selection/src/selection/classed.js
function We(e) {
	return e.trim().split(/^|\s+/);
}
function Ge(e) {
	return e.classList || new Ke(e);
}
function Ke(e) {
	this._node = e, this._names = We(e.getAttribute("class") || "");
}
Ke.prototype = {
	add: function(e) {
		this._names.indexOf(e) < 0 && (this._names.push(e), this._node.setAttribute("class", this._names.join(" ")));
	},
	remove: function(e) {
		var t = this._names.indexOf(e);
		t >= 0 && (this._names.splice(t, 1), this._node.setAttribute("class", this._names.join(" ")));
	},
	contains: function(e) {
		return this._names.indexOf(e) >= 0;
	}
};
function qe(e, t) {
	for (var n = Ge(e), r = -1, i = t.length; ++r < i;) n.add(t[r]);
}
function Je(e, t) {
	for (var n = Ge(e), r = -1, i = t.length; ++r < i;) n.remove(t[r]);
}
function Ye(e) {
	return function() {
		qe(this, e);
	};
}
function Xe(e) {
	return function() {
		Je(this, e);
	};
}
function Ze(e, t) {
	return function() {
		(t.apply(this, arguments) ? qe : Je)(this, e);
	};
}
function Qe(e, t) {
	var n = We(e + "");
	if (arguments.length < 2) {
		for (var r = Ge(this.node()), i = -1, a = n.length; ++i < a;) if (!r.contains(n[i])) return !1;
		return !0;
	}
	return this.each((typeof t == "function" ? Ze : t ? Ye : Xe)(n, t));
}
//#endregion
//#region node_modules/d3-selection/src/selection/text.js
function $e() {
	this.textContent = "";
}
function et(e) {
	return function() {
		this.textContent = e;
	};
}
function tt(e) {
	return function() {
		this.textContent = e.apply(this, arguments) ?? "";
	};
}
function nt(e) {
	return arguments.length ? this.each(e == null ? $e : (typeof e == "function" ? tt : et)(e)) : this.node().textContent;
}
//#endregion
//#region node_modules/d3-selection/src/selection/html.js
function rt() {
	this.innerHTML = "";
}
function it(e) {
	return function() {
		this.innerHTML = e;
	};
}
function at(e) {
	return function() {
		this.innerHTML = e.apply(this, arguments) ?? "";
	};
}
function ot(e) {
	return arguments.length ? this.each(e == null ? rt : (typeof e == "function" ? at : it)(e)) : this.node().innerHTML;
}
//#endregion
//#region node_modules/d3-selection/src/selection/raise.js
function st() {
	this.nextSibling && this.parentNode.appendChild(this);
}
function ct() {
	return this.each(st);
}
//#endregion
//#region node_modules/d3-selection/src/selection/lower.js
function lt() {
	this.previousSibling && this.parentNode.insertBefore(this, this.parentNode.firstChild);
}
function ut() {
	return this.each(lt);
}
//#endregion
//#region node_modules/d3-selection/src/selection/append.js
function dt(e) {
	var t = typeof e == "function" ? e : u(e);
	return this.select(function() {
		return this.appendChild(t.apply(this, arguments));
	});
}
//#endregion
//#region node_modules/d3-selection/src/selection/insert.js
function ft() {
	return null;
}
function pt(e, t) {
	var n = typeof e == "function" ? e : u(e), r = t == null ? ft : typeof t == "function" ? t : f(t);
	return this.select(function() {
		return this.insertBefore(n.apply(this, arguments), r.apply(this, arguments) || null);
	});
}
//#endregion
//#region node_modules/d3-selection/src/selection/remove.js
function mt() {
	var e = this.parentNode;
	e && e.removeChild(this);
}
function ht() {
	return this.each(mt);
}
//#endregion
//#region node_modules/d3-selection/src/selection/clone.js
function gt() {
	var e = this.cloneNode(!1), t = this.parentNode;
	return t ? t.insertBefore(e, this.nextSibling) : e;
}
function _t() {
	var e = this.cloneNode(!0), t = this.parentNode;
	return t ? t.insertBefore(e, this.nextSibling) : e;
}
function vt(e) {
	return this.select(e ? _t : gt);
}
//#endregion
//#region node_modules/d3-selection/src/selection/datum.js
function yt(e) {
	return arguments.length ? this.property("__data__", e) : this.node().__data__;
}
//#endregion
//#region node_modules/d3-selection/src/selection/on.js
function bt(e) {
	return function(t) {
		e.call(this, t, this.__data__);
	};
}
function xt(e) {
	return e.trim().split(/^|\s+/).map(function(e) {
		var t = "", n = e.indexOf(".");
		return n >= 0 && (t = e.slice(n + 1), e = e.slice(0, n)), {
			type: e,
			name: t
		};
	});
}
function St(e) {
	return function() {
		var t = this.__on;
		if (t) {
			for (var n = 0, r = -1, i = t.length, a; n < i; ++n) a = t[n], (!e.type || a.type === e.type) && a.name === e.name ? this.removeEventListener(a.type, a.listener, a.options) : t[++r] = a;
			++r ? t.length = r : delete this.__on;
		}
	};
}
function Ct(e, t, n) {
	return function() {
		var r = this.__on, i, a = bt(t);
		if (r) {
			for (var o = 0, s = r.length; o < s; ++o) if ((i = r[o]).type === e.type && i.name === e.name) {
				this.removeEventListener(i.type, i.listener, i.options), this.addEventListener(i.type, i.listener = a, i.options = n), i.value = t;
				return;
			}
		}
		this.addEventListener(e.type, a, n), i = {
			type: e.type,
			name: e.name,
			value: t,
			listener: a,
			options: n
		}, r ? r.push(i) : this.__on = [i];
	};
}
function wt(e, t, n) {
	var r = xt(e + ""), i, a = r.length, o;
	if (arguments.length < 2) {
		var s = this.node().__on;
		if (s) {
			for (var c = 0, l = s.length, u; c < l; ++c) for (i = 0, u = s[c]; i < a; ++i) if ((o = r[i]).type === u.type && o.name === u.name) return u.value;
		}
		return;
	}
	for (s = t ? Ct : St, i = 0; i < a; ++i) this.each(s(r[i], t, n));
	return this;
}
//#endregion
//#region node_modules/d3-selection/src/selection/dispatch.js
function Tt(e, t, n) {
	var r = Fe(e), i = r.CustomEvent;
	typeof i == "function" ? i = new i(t, n) : (i = r.document.createEvent("Event"), n ? (i.initEvent(t, n.bubbles, n.cancelable), i.detail = n.detail) : i.initEvent(t, !1, !1)), e.dispatchEvent(i);
}
function Et(e, t) {
	return function() {
		return Tt(this, e, t);
	};
}
function Dt(e, t) {
	return function() {
		return Tt(this, e, t.apply(this, arguments));
	};
}
function Ot(e, t) {
	return this.each((typeof t == "function" ? Dt : Et)(e, t));
}
//#endregion
//#region node_modules/d3-selection/src/selection/iterator.js
function* kt() {
	for (var e = this._groups, t = 0, n = e.length; t < n; ++t) for (var r = e[t], i = 0, a = r.length, o; i < a; ++i) (o = r[i]) && (yield o);
}
//#endregion
//#region node_modules/d3-selection/src/selection/index.js
var At = [null];
function w(e, t) {
	this._groups = e, this._parents = t;
}
function T() {
	return new w([[document.documentElement]], At);
}
function jt() {
	return this;
}
w.prototype = T.prototype = {
	constructor: w,
	select: p,
	selectAll: v,
	selectChild: ne,
	selectChildren: oe,
	filter: se,
	data: me,
	enter: le,
	exit: ge,
	join: _e,
	merge: ve,
	selection: jt,
	order: ye,
	sort: be,
	call: Se,
	nodes: Ce,
	node: we,
	size: Te,
	empty: Ee,
	each: De,
	attr: Pe,
	style: ze,
	property: Ue,
	classed: Qe,
	text: nt,
	html: ot,
	raise: ct,
	lower: ut,
	append: dt,
	insert: pt,
	remove: ht,
	clone: vt,
	datum: yt,
	on: wt,
	dispatch: Ot,
	[Symbol.iterator]: kt
};
//#endregion
//#region node_modules/d3-selection/src/select.js
function E(e) {
	return typeof e == "string" ? new w([[document.querySelector(e)]], [document.documentElement]) : new w([[e]], At);
}
//#endregion
//#region node_modules/d3-selection/src/sourceEvent.js
function Mt(e) {
	let t;
	for (; t = e.sourceEvent;) e = t;
	return e;
}
//#endregion
//#region node_modules/d3-selection/src/pointer.js
function D(e, t) {
	if (e = Mt(e), t === void 0 && (t = e.currentTarget), t) {
		var n = t.ownerSVGElement || t;
		if (n.createSVGPoint) {
			var r = n.createSVGPoint();
			return r.x = e.clientX, r.y = e.clientY, r = r.matrixTransform(t.getScreenCTM().inverse()), [r.x, r.y];
		}
		if (t.getBoundingClientRect) {
			var i = t.getBoundingClientRect();
			return [e.clientX - i.left - t.clientLeft, e.clientY - i.top - t.clientTop];
		}
	}
	return [e.pageX, e.pageY];
}
//#endregion
//#region node_modules/d3-drag/src/noevent.js
var Nt = { passive: !1 }, O = {
	capture: !0,
	passive: !1
};
function Pt(e) {
	e.stopImmediatePropagation();
}
function k(e) {
	e.preventDefault(), e.stopImmediatePropagation();
}
//#endregion
//#region node_modules/d3-drag/src/nodrag.js
function Ft(e) {
	var t = e.document.documentElement, n = E(e).on("dragstart.drag", k, O);
	"onselectstart" in t ? n.on("selectstart.drag", k, O) : (t.__noselect = t.style.MozUserSelect, t.style.MozUserSelect = "none");
}
function It(e, t) {
	var n = e.document.documentElement, r = E(e).on("dragstart.drag", null);
	t && (r.on("click.drag", k, O), setTimeout(function() {
		r.on("click.drag", null);
	}, 0)), "onselectstart" in n ? r.on("selectstart.drag", null) : (n.style.MozUserSelect = n.__noselect, delete n.__noselect);
}
//#endregion
//#region node_modules/d3-color/src/define.js
function A(e, t, n) {
	e.prototype = t.prototype = n, n.constructor = e;
}
function Lt(e, t) {
	var n = Object.create(e.prototype);
	for (var r in t) n[r] = t[r];
	return n;
}
//#endregion
//#region node_modules/d3-color/src/color.js
function j() {}
var M = .7, Rt = 1 / M, N = "\\s*([+-]?\\d+)\\s*", P = "\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*", F = "\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*", zt = /^#([0-9a-f]{3,8})$/, Bt = RegExp(`^rgb\\(${N},${N},${N}\\)$`), Vt = RegExp(`^rgb\\(${F},${F},${F}\\)$`), Ht = RegExp(`^rgba\\(${N},${N},${N},${P}\\)$`), Ut = RegExp(`^rgba\\(${F},${F},${F},${P}\\)$`), Wt = RegExp(`^hsl\\(${P},${F},${F}\\)$`), Gt = RegExp(`^hsla\\(${P},${F},${F},${P}\\)$`), Kt = {
	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
};
A(j, I, {
	copy(e) {
		return Object.assign(new this.constructor(), this, e);
	},
	displayable() {
		return this.rgb().displayable();
	},
	hex: qt,
	formatHex: qt,
	formatHex8: Jt,
	formatHsl: Yt,
	formatRgb: Xt,
	toString: Xt
});
function qt() {
	return this.rgb().formatHex();
}
function Jt() {
	return this.rgb().formatHex8();
}
function Yt() {
	return on(this).formatHsl();
}
function Xt() {
	return this.rgb().formatRgb();
}
function I(e) {
	var t, n;
	return e = (e + "").trim().toLowerCase(), (t = zt.exec(e)) ? (n = t[1].length, t = parseInt(t[1], 16), n === 6 ? Zt(t) : n === 3 ? new L(t >> 8 & 15 | t >> 4 & 240, t >> 4 & 15 | t & 240, (t & 15) << 4 | t & 15, 1) : n === 8 ? Qt(t >> 24 & 255, t >> 16 & 255, t >> 8 & 255, (t & 255) / 255) : n === 4 ? Qt(t >> 12 & 15 | t >> 8 & 240, t >> 8 & 15 | t >> 4 & 240, t >> 4 & 15 | t & 240, ((t & 15) << 4 | t & 15) / 255) : null) : (t = Bt.exec(e)) ? new L(t[1], t[2], t[3], 1) : (t = Vt.exec(e)) ? new L(t[1] * 255 / 100, t[2] * 255 / 100, t[3] * 255 / 100, 1) : (t = Ht.exec(e)) ? Qt(t[1], t[2], t[3], t[4]) : (t = Ut.exec(e)) ? Qt(t[1] * 255 / 100, t[2] * 255 / 100, t[3] * 255 / 100, t[4]) : (t = Wt.exec(e)) ? an(t[1], t[2] / 100, t[3] / 100, 1) : (t = Gt.exec(e)) ? an(t[1], t[2] / 100, t[3] / 100, t[4]) : Kt.hasOwnProperty(e) ? Zt(Kt[e]) : e === "transparent" ? new L(NaN, NaN, NaN, 0) : null;
}
function Zt(e) {
	return new L(e >> 16 & 255, e >> 8 & 255, e & 255, 1);
}
function Qt(e, t, n, r) {
	return r <= 0 && (e = t = n = NaN), new L(e, t, n, r);
}
function $t(e) {
	return e instanceof j || (e = I(e)), e ? (e = e.rgb(), new L(e.r, e.g, e.b, e.opacity)) : new L();
}
function en(e, t, n, r) {
	return arguments.length === 1 ? $t(e) : new L(e, t, n, r ?? 1);
}
function L(e, t, n, r) {
	this.r = +e, this.g = +t, this.b = +n, this.opacity = +r;
}
A(L, en, Lt(j, {
	brighter(e) {
		return e = e == null ? Rt : Rt ** +e, new L(this.r * e, this.g * e, this.b * e, this.opacity);
	},
	darker(e) {
		return e = e == null ? M : M ** +e, new L(this.r * e, this.g * e, this.b * e, this.opacity);
	},
	rgb() {
		return this;
	},
	clamp() {
		return new L(z(this.r), z(this.g), z(this.b), R(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: tn,
	formatHex: tn,
	formatHex8: nn,
	formatRgb: rn,
	toString: rn
}));
function tn() {
	return `#${B(this.r)}${B(this.g)}${B(this.b)}`;
}
function nn() {
	return `#${B(this.r)}${B(this.g)}${B(this.b)}${B((isNaN(this.opacity) ? 1 : this.opacity) * 255)}`;
}
function rn() {
	let e = R(this.opacity);
	return `${e === 1 ? "rgb(" : "rgba("}${z(this.r)}, ${z(this.g)}, ${z(this.b)}${e === 1 ? ")" : `, ${e})`}`;
}
function R(e) {
	return isNaN(e) ? 1 : Math.max(0, Math.min(1, e));
}
function z(e) {
	return Math.max(0, Math.min(255, Math.round(e) || 0));
}
function B(e) {
	return e = z(e), (e < 16 ? "0" : "") + e.toString(16);
}
function an(e, t, n, r) {
	return r <= 0 ? e = t = n = NaN : n <= 0 || n >= 1 ? e = t = NaN : t <= 0 && (e = NaN), new V(e, t, n, r);
}
function on(e) {
	if (e instanceof V) return new V(e.h, e.s, e.l, e.opacity);
	if (e instanceof j || (e = I(e)), !e) return new V();
	if (e instanceof V) return e;
	e = e.rgb();
	var t = e.r / 255, n = e.g / 255, r = e.b / 255, i = Math.min(t, n, r), a = Math.max(t, n, r), o = NaN, s = a - i, c = (a + i) / 2;
	return s ? (o = t === a ? (n - r) / s + (n < r) * 6 : n === a ? (r - t) / s + 2 : (t - n) / s + 4, s /= c < .5 ? a + i : 2 - a - i, o *= 60) : s = c > 0 && c < 1 ? 0 : o, new V(o, s, c, e.opacity);
}
function sn(e, t, n, r) {
	return arguments.length === 1 ? on(e) : new V(e, t, n, r ?? 1);
}
function V(e, t, n, r) {
	this.h = +e, this.s = +t, this.l = +n, this.opacity = +r;
}
A(V, sn, Lt(j, {
	brighter(e) {
		return e = e == null ? Rt : Rt ** +e, new V(this.h, this.s, this.l * e, this.opacity);
	},
	darker(e) {
		return e = e == null ? M : M ** +e, new V(this.h, this.s, this.l * e, this.opacity);
	},
	rgb() {
		var e = this.h % 360 + (this.h < 0) * 360, t = isNaN(e) || isNaN(this.s) ? 0 : this.s, n = this.l, r = n + (n < .5 ? n : 1 - n) * t, i = 2 * n - r;
		return new L(ln(e >= 240 ? e - 240 : e + 120, i, r), ln(e, i, r), ln(e < 120 ? e + 240 : e - 120, i, r), this.opacity);
	},
	clamp() {
		return new V(cn(this.h), H(this.s), H(this.l), R(this.opacity));
	},
	displayable() {
		return (0 <= this.s && this.s <= 1 || isNaN(this.s)) && 0 <= this.l && this.l <= 1 && 0 <= this.opacity && this.opacity <= 1;
	},
	formatHsl() {
		let e = R(this.opacity);
		return `${e === 1 ? "hsl(" : "hsla("}${cn(this.h)}, ${H(this.s) * 100}%, ${H(this.l) * 100}%${e === 1 ? ")" : `, ${e})`}`;
	}
}));
function cn(e) {
	return e = (e || 0) % 360, e < 0 ? e + 360 : e;
}
function H(e) {
	return Math.max(0, Math.min(1, e || 0));
}
function ln(e, t, n) {
	return (e < 60 ? t + (n - t) * e / 60 : e < 180 ? n : e < 240 ? t + (n - t) * (240 - e) / 60 : t) * 255;
}
//#endregion
//#region node_modules/d3-interpolate/src/constant.js
var un = (e) => () => e;
//#endregion
//#region node_modules/d3-interpolate/src/color.js
function dn(e, t) {
	return function(n) {
		return e + n * t;
	};
}
function fn(e, t, n) {
	return e **= +n, t = t ** +n - e, n = 1 / n, function(r) {
		return (e + r * t) ** +n;
	};
}
function pn(e, t) {
	var n = t - e;
	return n ? dn(e, n > 180 || n < -180 ? n - 360 * Math.round(n / 360) : n) : un(isNaN(e) ? t : e);
}
function mn(e) {
	return (e = +e) == 1 ? hn : function(t, n) {
		return n - t ? fn(t, n, e) : un(isNaN(t) ? n : t);
	};
}
function hn(e, t) {
	var n = t - e;
	return n ? dn(e, n) : un(isNaN(e) ? t : e);
}
//#endregion
//#region node_modules/d3-interpolate/src/rgb.js
var gn = (function e(t) {
	var n = mn(t);
	function r(e, t) {
		var r = n((e = en(e)).r, (t = en(t)).r), i = n(e.g, t.g), a = n(e.b, t.b), o = hn(e.opacity, t.opacity);
		return function(t) {
			return e.r = r(t), e.g = i(t), e.b = a(t), e.opacity = o(t), e + "";
		};
	}
	return r.gamma = e, r;
})(1);
//#endregion
//#region node_modules/d3-interpolate/src/number.js
function U(e, t) {
	return e = +e, t = +t, function(n) {
		return e * (1 - n) + t * n;
	};
}
//#endregion
//#region node_modules/d3-interpolate/src/string.js
var _n = /[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g, vn = new RegExp(_n.source, "g");
function yn(e) {
	return function() {
		return e;
	};
}
function bn(e) {
	return function(t) {
		return e(t) + "";
	};
}
function xn(e, t) {
	var n = _n.lastIndex = vn.lastIndex = 0, r, i, a, o = -1, s = [], c = [];
	for (e += "", t += ""; (r = _n.exec(e)) && (i = vn.exec(t));) (a = i.index) > n && (a = t.slice(n, a), s[o] ? s[o] += a : s[++o] = a), (r = r[0]) === (i = i[0]) ? s[o] ? s[o] += i : s[++o] = i : (s[++o] = null, c.push({
		i: o,
		x: U(r, i)
	})), n = vn.lastIndex;
	return n < t.length && (a = t.slice(n), s[o] ? s[o] += a : s[++o] = a), s.length < 2 ? c[0] ? bn(c[0].x) : yn(t) : (t = c.length, function(e) {
		for (var n = 0, r; n < t; ++n) s[(r = c[n]).i] = r.x(e);
		return s.join("");
	});
}
//#endregion
//#region node_modules/d3-interpolate/src/transform/decompose.js
var Sn = 180 / Math.PI, Cn = {
	translateX: 0,
	translateY: 0,
	rotate: 0,
	skewX: 0,
	scaleX: 1,
	scaleY: 1
};
function wn(e, t, n, r, i, a) {
	var o, s, c;
	return (o = Math.sqrt(e * e + t * t)) && (e /= o, t /= o), (c = e * n + t * r) && (n -= e * c, r -= t * c), (s = Math.sqrt(n * n + r * r)) && (n /= s, r /= s, c /= s), e * r < t * n && (e = -e, t = -t, c = -c, o = -o), {
		translateX: i,
		translateY: a,
		rotate: Math.atan2(t, e) * Sn,
		skewX: Math.atan(c) * Sn,
		scaleX: o,
		scaleY: s
	};
}
//#endregion
//#region node_modules/d3-interpolate/src/transform/parse.js
var Tn;
function En(e) {
	let t = new (typeof DOMMatrix == "function" ? DOMMatrix : WebKitCSSMatrix)(e + "");
	return t.isIdentity ? Cn : wn(t.a, t.b, t.c, t.d, t.e, t.f);
}
function Dn(e) {
	return e == null || (Tn ||= document.createElementNS("http://www.w3.org/2000/svg", "g"), Tn.setAttribute("transform", e), !(e = Tn.transform.baseVal.consolidate())) ? Cn : (e = e.matrix, wn(e.a, e.b, e.c, e.d, e.e, e.f));
}
//#endregion
//#region node_modules/d3-interpolate/src/transform/index.js
function On(e, t, n, r) {
	function i(e) {
		return e.length ? e.pop() + " " : "";
	}
	function a(e, r, i, a, o, s) {
		if (e !== i || r !== a) {
			var c = o.push("translate(", null, t, null, n);
			s.push({
				i: c - 4,
				x: U(e, i)
			}, {
				i: c - 2,
				x: U(r, a)
			});
		} else (i || a) && o.push("translate(" + i + t + a + n);
	}
	function o(e, t, n, a) {
		e === t ? t && n.push(i(n) + "rotate(" + t + r) : (e - t > 180 ? t += 360 : t - e > 180 && (e += 360), a.push({
			i: n.push(i(n) + "rotate(", null, r) - 2,
			x: U(e, t)
		}));
	}
	function s(e, t, n, a) {
		e === t ? t && n.push(i(n) + "skewX(" + t + r) : a.push({
			i: n.push(i(n) + "skewX(", null, r) - 2,
			x: U(e, t)
		});
	}
	function c(e, t, n, r, a, o) {
		if (e !== n || t !== r) {
			var s = a.push(i(a) + "scale(", null, ",", null, ")");
			o.push({
				i: s - 4,
				x: U(e, n)
			}, {
				i: s - 2,
				x: U(t, r)
			});
		} else (n !== 1 || r !== 1) && a.push(i(a) + "scale(" + n + "," + r + ")");
	}
	return function(t, n) {
		var r = [], i = [];
		return t = e(t), n = e(n), a(t.translateX, t.translateY, n.translateX, n.translateY, r, i), o(t.rotate, n.rotate, r, i), s(t.skewX, n.skewX, r, i), c(t.scaleX, t.scaleY, n.scaleX, n.scaleY, r, i), t = n = null, function(e) {
			for (var t = -1, n = i.length, a; ++t < n;) r[(a = i[t]).i] = a.x(e);
			return r.join("");
		};
	};
}
var kn = On(En, "px, ", "px)", "deg)"), An = On(Dn, ", ", ")", ")"), jn = 1e-12;
function Mn(e) {
	return ((e = Math.exp(e)) + 1 / e) / 2;
}
function Nn(e) {
	return ((e = Math.exp(e)) - 1 / e) / 2;
}
function Pn(e) {
	return ((e = Math.exp(2 * e)) - 1) / (e + 1);
}
var Fn = (function e(t, n, r) {
	function i(e, i) {
		var a = e[0], o = e[1], s = e[2], c = i[0], l = i[1], u = i[2], d = c - a, f = l - o, p = d * d + f * f, m, h;
		if (p < jn) h = Math.log(u / s) / t, m = function(e) {
			return [
				a + e * d,
				o + e * f,
				s * Math.exp(t * e * h)
			];
		};
		else {
			var g = Math.sqrt(p), _ = (u * u - s * s + r * p) / (2 * s * n * g), v = (u * u - s * s - r * p) / (2 * u * n * g), y = Math.log(Math.sqrt(_ * _ + 1) - _);
			h = (Math.log(Math.sqrt(v * v + 1) - v) - y) / t, m = function(e) {
				var r = e * h, i = Mn(y), c = s / (n * g) * (i * Pn(t * r + y) - Nn(y));
				return [
					a + c * d,
					o + c * f,
					s * i / Mn(t * r + y)
				];
			};
		}
		return m.duration = h * 1e3 * t / Math.SQRT2, m;
	}
	return i.rho = function(t) {
		var n = Math.max(.001, +t), r = n * n;
		return e(n, r, r * r);
	}, i;
})(Math.SQRT2, 2, 4), W = 0, In = 0, Ln = 0, Rn = 1e3, zn, G, Bn = 0, K = 0, Vn = 0, q = typeof performance == "object" && performance.now ? performance : Date, Hn = typeof window == "object" && window.requestAnimationFrame ? window.requestAnimationFrame.bind(window) : function(e) {
	setTimeout(e, 17);
};
function Un() {
	return K ||= (Hn(Wn), q.now() + Vn);
}
function Wn() {
	K = 0;
}
function Gn() {
	this._call = this._time = this._next = null;
}
Gn.prototype = Kn.prototype = {
	constructor: Gn,
	restart: function(e, t, n) {
		if (typeof e != "function") throw TypeError("callback is not a function");
		n = (n == null ? Un() : +n) + (t == null ? 0 : +t), !this._next && G !== this && (G ? G._next = this : zn = this, G = this), this._call = e, this._time = n, Zn();
	},
	stop: function() {
		this._call && (this._call = null, this._time = Infinity, Zn());
	}
};
function Kn(e, t, n) {
	var r = new Gn();
	return r.restart(e, t, n), r;
}
function qn() {
	Un(), ++W;
	for (var e = zn, t; e;) (t = K - e._time) >= 0 && e._call.call(void 0, t), e = e._next;
	--W;
}
function Jn() {
	K = (Bn = q.now()) + Vn, W = In = 0;
	try {
		qn();
	} finally {
		W = 0, Xn(), K = 0;
	}
}
function Yn() {
	var e = q.now(), t = e - Bn;
	t > Rn && (Vn -= t, Bn = e);
}
function Xn() {
	for (var e, t = zn, n, r = Infinity; t;) t._call ? (r > t._time && (r = t._time), e = t, t = t._next) : (n = t._next, t._next = null, t = e ? e._next = n : zn = n);
	G = e, Zn(r);
}
function Zn(e) {
	W || (In &&= clearTimeout(In), e - K > 24 ? (e < Infinity && (In = setTimeout(Jn, e - q.now() - Vn)), Ln &&= clearInterval(Ln)) : (Ln ||= (Bn = q.now(), setInterval(Yn, Rn)), W = 1, Hn(Jn)));
}
//#endregion
//#region node_modules/d3-timer/src/timeout.js
function Qn(e, t, n) {
	var r = new Gn();
	return t = t == null ? 0 : +t, r.restart((n) => {
		r.stop(), e(n + t);
	}, t, n), r;
}
//#endregion
//#region node_modules/d3-transition/src/transition/schedule.js
var $n = t("start", "end", "cancel", "interrupt"), er = [];
function tr(e, t, n, r, i, a) {
	var o = e.__transition;
	if (!o) e.__transition = {};
	else if (n in o) return;
	rr(e, n, {
		name: t,
		index: r,
		group: i,
		on: $n,
		tween: er,
		time: a.time,
		delay: a.delay,
		duration: a.duration,
		ease: a.ease,
		timer: null,
		state: 0
	});
}
function nr(e, t) {
	var n = Y(e, t);
	if (n.state > 0) throw Error("too late; already scheduled");
	return n;
}
function J(e, t) {
	var n = Y(e, t);
	if (n.state > 3) throw Error("too late; already running");
	return n;
}
function Y(e, t) {
	var n = e.__transition;
	if (!n || !(n = n[t])) throw Error("transition not found");
	return n;
}
function rr(e, t, n) {
	var r = e.__transition, i;
	r[t] = n, n.timer = Kn(a, 0, n.time);
	function a(e) {
		n.state = 1, n.timer.restart(o, n.delay, n.time), n.delay <= e && o(e - n.delay);
	}
	function o(a) {
		var l, u, d, f;
		if (n.state !== 1) return c();
		for (l in r) if (f = r[l], f.name === n.name) {
			if (f.state === 3) return Qn(o);
			f.state === 4 ? (f.state = 6, f.timer.stop(), f.on.call("interrupt", e, e.__data__, f.index, f.group), delete r[l]) : +l < t && (f.state = 6, f.timer.stop(), f.on.call("cancel", e, e.__data__, f.index, f.group), delete r[l]);
		}
		if (Qn(function() {
			n.state === 3 && (n.state = 4, n.timer.restart(s, n.delay, n.time), s(a));
		}), n.state = 2, n.on.call("start", e, e.__data__, n.index, n.group), n.state === 2) {
			for (n.state = 3, i = Array(d = n.tween.length), l = 0, u = -1; l < d; ++l) (f = n.tween[l].value.call(e, e.__data__, n.index, n.group)) && (i[++u] = f);
			i.length = u + 1;
		}
	}
	function s(t) {
		for (var r = t < n.duration ? n.ease.call(null, t / n.duration) : (n.timer.restart(c), n.state = 5, 1), a = -1, o = i.length; ++a < o;) i[a].call(e, r);
		n.state === 5 && (n.on.call("end", e, e.__data__, n.index, n.group), c());
	}
	function c() {
		for (var i in n.state = 6, n.timer.stop(), delete r[t], r) return;
		delete e.__transition;
	}
}
//#endregion
//#region node_modules/d3-transition/src/interrupt.js
function ir(e, t) {
	var n = e.__transition, r, i, a = !0, o;
	if (n) {
		for (o in t = t == null ? null : t + "", n) {
			if ((r = n[o]).name !== t) {
				a = !1;
				continue;
			}
			i = r.state > 2 && r.state < 5, r.state = 6, r.timer.stop(), r.on.call(i ? "interrupt" : "cancel", e, e.__data__, r.index, r.group), delete n[o];
		}
		a && delete e.__transition;
	}
}
//#endregion
//#region node_modules/d3-transition/src/selection/interrupt.js
function ar(e) {
	return this.each(function() {
		ir(this, e);
	});
}
//#endregion
//#region node_modules/d3-transition/src/transition/tween.js
function or(e, t) {
	var n, r;
	return function() {
		var i = J(this, e), a = i.tween;
		if (a !== n) {
			r = n = a;
			for (var o = 0, s = r.length; o < s; ++o) if (r[o].name === t) {
				r = r.slice(), r.splice(o, 1);
				break;
			}
		}
		i.tween = r;
	};
}
function sr(e, t, n) {
	var r, i;
	if (typeof n != "function") throw Error();
	return function() {
		var a = J(this, e), o = a.tween;
		if (o !== r) {
			i = (r = o).slice();
			for (var s = {
				name: t,
				value: n
			}, c = 0, l = i.length; c < l; ++c) if (i[c].name === t) {
				i[c] = s;
				break;
			}
			c === l && i.push(s);
		}
		a.tween = i;
	};
}
function cr(e, t) {
	var n = this._id;
	if (e += "", arguments.length < 2) {
		for (var r = Y(this.node(), n).tween, i = 0, a = r.length, o; i < a; ++i) if ((o = r[i]).name === e) return o.value;
		return null;
	}
	return this.each((t == null ? or : sr)(n, e, t));
}
function lr(e, t, n) {
	var r = e._id;
	return e.each(function() {
		var e = J(this, r);
		(e.value ||= {})[t] = n.apply(this, arguments);
	}), function(e) {
		return Y(e, r).value[t];
	};
}
//#endregion
//#region node_modules/d3-transition/src/transition/interpolate.js
function ur(e, t) {
	var n;
	return (typeof t == "number" ? U : t instanceof I ? gn : (n = I(t)) ? (t = n, gn) : xn)(e, t);
}
//#endregion
//#region node_modules/d3-transition/src/transition/attr.js
function dr(e) {
	return function() {
		this.removeAttribute(e);
	};
}
function fr(e) {
	return function() {
		this.removeAttributeNS(e.space, e.local);
	};
}
function pr(e, t, n) {
	var r, i = n + "", a;
	return function() {
		var o = this.getAttribute(e);
		return o === i ? null : o === r ? a : a = t(r = o, n);
	};
}
function mr(e, t, n) {
	var r, i = n + "", a;
	return function() {
		var o = this.getAttributeNS(e.space, e.local);
		return o === i ? null : o === r ? a : a = t(r = o, n);
	};
}
function hr(e, t, n) {
	var r, i, a;
	return function() {
		var o, s = n(this), c;
		return s == null ? void this.removeAttribute(e) : (o = this.getAttribute(e), c = s + "", o === c ? null : o === r && c === i ? a : (i = c, a = t(r = o, s)));
	};
}
function gr(e, t, n) {
	var r, i, a;
	return function() {
		var o, s = n(this), c;
		return s == null ? void this.removeAttributeNS(e.space, e.local) : (o = this.getAttributeNS(e.space, e.local), c = s + "", o === c ? null : o === r && c === i ? a : (i = c, a = t(r = o, s)));
	};
}
function _r(e, t) {
	var n = s(e), r = n === "transform" ? An : ur;
	return this.attrTween(e, typeof t == "function" ? (n.local ? gr : hr)(n, r, lr(this, "attr." + e, t)) : t == null ? (n.local ? fr : dr)(n) : (n.local ? mr : pr)(n, r, t));
}
//#endregion
//#region node_modules/d3-transition/src/transition/attrTween.js
function vr(e, t) {
	return function(n) {
		this.setAttribute(e, t.call(this, n));
	};
}
function yr(e, t) {
	return function(n) {
		this.setAttributeNS(e.space, e.local, t.call(this, n));
	};
}
function br(e, t) {
	var n, r;
	function i() {
		var i = t.apply(this, arguments);
		return i !== r && (n = (r = i) && yr(e, i)), n;
	}
	return i._value = t, i;
}
function xr(e, t) {
	var n, r;
	function i() {
		var i = t.apply(this, arguments);
		return i !== r && (n = (r = i) && vr(e, i)), n;
	}
	return i._value = t, i;
}
function Sr(e, t) {
	var n = "attr." + e;
	if (arguments.length < 2) return (n = this.tween(n)) && n._value;
	if (t == null) return this.tween(n, null);
	if (typeof t != "function") throw Error();
	var r = s(e);
	return this.tween(n, (r.local ? br : xr)(r, t));
}
//#endregion
//#region node_modules/d3-transition/src/transition/delay.js
function Cr(e, t) {
	return function() {
		nr(this, e).delay = +t.apply(this, arguments);
	};
}
function wr(e, t) {
	return t = +t, function() {
		nr(this, e).delay = t;
	};
}
function Tr(e) {
	var t = this._id;
	return arguments.length ? this.each((typeof e == "function" ? Cr : wr)(t, e)) : Y(this.node(), t).delay;
}
//#endregion
//#region node_modules/d3-transition/src/transition/duration.js
function Er(e, t) {
	return function() {
		J(this, e).duration = +t.apply(this, arguments);
	};
}
function Dr(e, t) {
	return t = +t, function() {
		J(this, e).duration = t;
	};
}
function Or(e) {
	var t = this._id;
	return arguments.length ? this.each((typeof e == "function" ? Er : Dr)(t, e)) : Y(this.node(), t).duration;
}
//#endregion
//#region node_modules/d3-transition/src/transition/ease.js
function kr(e, t) {
	if (typeof t != "function") throw Error();
	return function() {
		J(this, e).ease = t;
	};
}
function Ar(e) {
	var t = this._id;
	return arguments.length ? this.each(kr(t, e)) : Y(this.node(), t).ease;
}
//#endregion
//#region node_modules/d3-transition/src/transition/easeVarying.js
function jr(e, t) {
	return function() {
		var n = t.apply(this, arguments);
		if (typeof n != "function") throw Error();
		J(this, e).ease = n;
	};
}
function Mr(e) {
	if (typeof e != "function") throw Error();
	return this.each(jr(this._id, e));
}
//#endregion
//#region node_modules/d3-transition/src/transition/filter.js
function Nr(e) {
	typeof e != "function" && (e = y(e));
	for (var t = this._groups, n = t.length, r = Array(n), i = 0; i < n; ++i) for (var a = t[i], o = a.length, s = r[i] = [], c, l = 0; l < o; ++l) (c = a[l]) && e.call(c, c.__data__, l, a) && s.push(c);
	return new X(r, this._parents, this._name, this._id);
}
//#endregion
//#region node_modules/d3-transition/src/transition/merge.js
function Pr(e) {
	if (e._id !== this._id) throw Error();
	for (var t = this._groups, n = e._groups, r = t.length, i = n.length, a = Math.min(r, i), o = Array(r), s = 0; s < a; ++s) for (var c = t[s], l = n[s], u = c.length, d = o[s] = Array(u), f, p = 0; p < u; ++p) (f = c[p] || l[p]) && (d[p] = f);
	for (; s < r; ++s) o[s] = t[s];
	return new X(o, this._parents, this._name, this._id);
}
//#endregion
//#region node_modules/d3-transition/src/transition/on.js
function Fr(e) {
	return (e + "").trim().split(/^|\s+/).every(function(e) {
		var t = e.indexOf(".");
		return t >= 0 && (e = e.slice(0, t)), !e || e === "start";
	});
}
function Ir(e, t, n) {
	var r, i, a = Fr(t) ? nr : J;
	return function() {
		var o = a(this, e), s = o.on;
		s !== r && (i = (r = s).copy()).on(t, n), o.on = i;
	};
}
function Lr(e, t) {
	var n = this._id;
	return arguments.length < 2 ? Y(this.node(), n).on.on(e) : this.each(Ir(n, e, t));
}
//#endregion
//#region node_modules/d3-transition/src/transition/remove.js
function Rr(e) {
	return function() {
		var t = this.parentNode;
		for (var n in this.__transition) if (+n !== e) return;
		t && t.removeChild(this);
	};
}
function zr() {
	return this.on("end.remove", Rr(this._id));
}
//#endregion
//#region node_modules/d3-transition/src/transition/select.js
function Br(e) {
	var t = this._name, n = this._id;
	typeof e != "function" && (e = f(e));
	for (var r = this._groups, i = r.length, a = Array(i), o = 0; o < i; ++o) for (var s = r[o], c = s.length, l = a[o] = Array(c), u, d, p = 0; p < c; ++p) (u = s[p]) && (d = e.call(u, u.__data__, p, s)) && ("__data__" in u && (d.__data__ = u.__data__), l[p] = d, tr(l[p], t, n, p, l, Y(u, n)));
	return new X(a, this._parents, t, n);
}
//#endregion
//#region node_modules/d3-transition/src/transition/selectAll.js
function Vr(e) {
	var t = this._name, n = this._id;
	typeof e != "function" && (e = g(e));
	for (var r = this._groups, i = r.length, a = [], o = [], s = 0; s < i; ++s) for (var c = r[s], l = c.length, u, d = 0; d < l; ++d) if (u = c[d]) {
		for (var f = e.call(u, u.__data__, d, c), p, m = Y(u, n), h = 0, _ = f.length; h < _; ++h) (p = f[h]) && tr(p, t, n, h, f, m);
		a.push(f), o.push(u);
	}
	return new X(a, o, t, n);
}
//#endregion
//#region node_modules/d3-transition/src/transition/selection.js
var Hr = T.prototype.constructor;
function Ur() {
	return new Hr(this._groups, this._parents);
}
//#endregion
//#region node_modules/d3-transition/src/transition/style.js
function Wr(e, t) {
	var n, r, i;
	return function() {
		var a = C(this, e), o = (this.style.removeProperty(e), C(this, e));
		return a === o ? null : a === n && o === r ? i : i = t(n = a, r = o);
	};
}
function Gr(e) {
	return function() {
		this.style.removeProperty(e);
	};
}
function Kr(e, t, n) {
	var r, i = n + "", a;
	return function() {
		var o = C(this, e);
		return o === i ? null : o === r ? a : a = t(r = o, n);
	};
}
function qr(e, t, n) {
	var r, i, a;
	return function() {
		var o = C(this, e), s = n(this), c = s + "";
		return s ?? (c = s = (this.style.removeProperty(e), C(this, e))), o === c ? null : o === r && c === i ? a : (i = c, a = t(r = o, s));
	};
}
function Jr(e, t) {
	var n, r, i, a = "style." + t, o = "end." + a, s;
	return function() {
		var c = J(this, e), l = c.on, u = c.value[a] == null ? s ||= Gr(t) : void 0;
		(l !== n || i !== u) && (r = (n = l).copy()).on(o, i = u), c.on = r;
	};
}
function Yr(e, t, n) {
	var r = (e += "") == "transform" ? kn : ur;
	return t == null ? this.styleTween(e, Wr(e, r)).on("end.style." + e, Gr(e)) : typeof t == "function" ? this.styleTween(e, qr(e, r, lr(this, "style." + e, t))).each(Jr(this._id, e)) : this.styleTween(e, Kr(e, r, t), n).on("end.style." + e, null);
}
//#endregion
//#region node_modules/d3-transition/src/transition/styleTween.js
function Xr(e, t, n) {
	return function(r) {
		this.style.setProperty(e, t.call(this, r), n);
	};
}
function Zr(e, t, n) {
	var r, i;
	function a() {
		var a = t.apply(this, arguments);
		return a !== i && (r = (i = a) && Xr(e, a, n)), r;
	}
	return a._value = t, a;
}
function Qr(e, t, n) {
	var r = "style." + (e += "");
	if (arguments.length < 2) return (r = this.tween(r)) && r._value;
	if (t == null) return this.tween(r, null);
	if (typeof t != "function") throw Error();
	return this.tween(r, Zr(e, t, n ?? ""));
}
//#endregion
//#region node_modules/d3-transition/src/transition/text.js
function $r(e) {
	return function() {
		this.textContent = e;
	};
}
function ei(e) {
	return function() {
		this.textContent = e(this) ?? "";
	};
}
function ti(e) {
	return this.tween("text", typeof e == "function" ? ei(lr(this, "text", e)) : $r(e == null ? "" : e + ""));
}
//#endregion
//#region node_modules/d3-transition/src/transition/textTween.js
function ni(e) {
	return function(t) {
		this.textContent = e.call(this, t);
	};
}
function ri(e) {
	var t, n;
	function r() {
		var r = e.apply(this, arguments);
		return r !== n && (t = (n = r) && ni(r)), t;
	}
	return r._value = e, r;
}
function ii(e) {
	var t = "text";
	if (arguments.length < 1) return (t = this.tween(t)) && t._value;
	if (e == null) return this.tween(t, null);
	if (typeof e != "function") throw Error();
	return this.tween(t, ri(e));
}
//#endregion
//#region node_modules/d3-transition/src/transition/transition.js
function ai() {
	for (var e = this._name, t = this._id, n = li(), r = this._groups, i = r.length, a = 0; a < i; ++a) for (var o = r[a], s = o.length, c, l = 0; l < s; ++l) if (c = o[l]) {
		var u = Y(c, t);
		tr(c, e, n, l, o, {
			time: u.time + u.delay + u.duration,
			delay: 0,
			duration: u.duration,
			ease: u.ease
		});
	}
	return new X(r, this._parents, e, n);
}
//#endregion
//#region node_modules/d3-transition/src/transition/end.js
function oi() {
	var e, t, n = this, r = n._id, i = n.size();
	return new Promise(function(a, o) {
		var s = { value: o }, c = { value: function() {
			--i === 0 && a();
		} };
		n.each(function() {
			var n = J(this, r), i = n.on;
			i !== e && (t = (e = i).copy(), t._.cancel.push(s), t._.interrupt.push(s), t._.end.push(c)), n.on = t;
		}), i === 0 && a();
	});
}
//#endregion
//#region node_modules/d3-transition/src/transition/index.js
var si = 0;
function X(e, t, n, r) {
	this._groups = e, this._parents = t, this._name = n, this._id = r;
}
function ci(e) {
	return T().transition(e);
}
function li() {
	return ++si;
}
var Z = T.prototype;
X.prototype = ci.prototype = {
	constructor: X,
	select: Br,
	selectAll: Vr,
	selectChild: Z.selectChild,
	selectChildren: Z.selectChildren,
	filter: Nr,
	merge: Pr,
	selection: Ur,
	transition: ai,
	call: Z.call,
	nodes: Z.nodes,
	node: Z.node,
	size: Z.size,
	empty: Z.empty,
	each: Z.each,
	on: Lr,
	attr: _r,
	attrTween: Sr,
	style: Yr,
	styleTween: Qr,
	text: ti,
	textTween: ii,
	remove: zr,
	tween: cr,
	delay: Tr,
	duration: Or,
	ease: Ar,
	easeVarying: Mr,
	end: oi,
	[Symbol.iterator]: Z[Symbol.iterator]
};
//#endregion
//#region node_modules/d3-ease/src/cubic.js
function ui(e) {
	return ((e *= 2) <= 1 ? e * e * e : (e -= 2) * e * e + 2) / 2;
}
//#endregion
//#region node_modules/d3-transition/src/selection/transition.js
var di = {
	time: null,
	delay: 0,
	duration: 250,
	ease: ui
};
function fi(e, t) {
	for (var n; !(n = e.__transition) || !(n = n[t]);) if (!(e = e.parentNode)) throw Error(`transition ${t} not found`);
	return n;
}
function pi(e) {
	var t, n;
	e instanceof X ? (t = e._id, e = e._name) : (t = li(), (n = di).time = Un(), e = e == null ? null : e + "");
	for (var r = this._groups, i = r.length, a = 0; a < i; ++a) for (var o = r[a], s = o.length, c, l = 0; l < s; ++l) (c = o[l]) && tr(c, e, t, l, o, n || fi(c, t));
	return new X(r, this._parents, e, t);
}
T.prototype.interrupt = ar, T.prototype.transition = pi;
//#endregion
//#region node_modules/d3-zoom/src/constant.js
var mi = (e) => () => e;
//#endregion
//#region node_modules/d3-zoom/src/event.js
function hi(e, { sourceEvent: t, target: n, transform: r, dispatch: i }) {
	Object.defineProperties(this, {
		type: {
			value: e,
			enumerable: !0,
			configurable: !0
		},
		sourceEvent: {
			value: t,
			enumerable: !0,
			configurable: !0
		},
		target: {
			value: n,
			enumerable: !0,
			configurable: !0
		},
		transform: {
			value: r,
			enumerable: !0,
			configurable: !0
		},
		_: { value: i }
	});
}
//#endregion
//#region node_modules/d3-zoom/src/transform.js
function Q(e, t, n) {
	this.k = e, this.x = t, this.y = n;
}
Q.prototype = {
	constructor: Q,
	scale: function(e) {
		return e === 1 ? this : new Q(this.k * e, this.x, this.y);
	},
	translate: function(e, t) {
		return e === 0 & t === 0 ? this : new Q(this.k, this.x + this.k * e, this.y + this.k * t);
	},
	apply: function(e) {
		return [e[0] * this.k + this.x, e[1] * this.k + this.y];
	},
	applyX: function(e) {
		return e * this.k + this.x;
	},
	applyY: function(e) {
		return e * this.k + this.y;
	},
	invert: function(e) {
		return [(e[0] - this.x) / this.k, (e[1] - this.y) / this.k];
	},
	invertX: function(e) {
		return (e - this.x) / this.k;
	},
	invertY: function(e) {
		return (e - this.y) / this.k;
	},
	rescaleX: function(e) {
		return e.copy().domain(e.range().map(this.invertX, this).map(e.invert, e));
	},
	rescaleY: function(e) {
		return e.copy().domain(e.range().map(this.invertY, this).map(e.invert, e));
	},
	toString: function() {
		return "translate(" + this.x + "," + this.y + ") scale(" + this.k + ")";
	}
};
var gi = new Q(1, 0, 0);
_i.prototype = Q.prototype;
function _i(e) {
	for (; !e.__zoom;) if (!(e = e.parentNode)) return gi;
	return e.__zoom;
}
//#endregion
//#region node_modules/d3-zoom/src/noevent.js
function vi(e) {
	e.stopImmediatePropagation();
}
function $(e) {
	e.preventDefault(), e.stopImmediatePropagation();
}
//#endregion
//#region node_modules/d3-zoom/src/zoom.js
function yi(e) {
	return (!e.ctrlKey || e.type === "wheel") && !e.button;
}
function bi() {
	var e = this;
	return e instanceof SVGElement ? (e = e.ownerSVGElement || e, e.hasAttribute("viewBox") ? (e = e.viewBox.baseVal, [[e.x, e.y], [e.x + e.width, e.y + e.height]]) : [[0, 0], [e.width.baseVal.value, e.height.baseVal.value]]) : [[0, 0], [e.clientWidth, e.clientHeight]];
}
function xi() {
	return this.__zoom || gi;
}
function Si(e) {
	return -e.deltaY * (e.deltaMode === 1 ? .05 : e.deltaMode ? 1 : .002) * (e.ctrlKey ? 10 : 1);
}
function Ci() {
	return navigator.maxTouchPoints || "ontouchstart" in this;
}
function wi(e, t, n) {
	var r = e.invertX(t[0][0]) - n[0][0], i = e.invertX(t[1][0]) - n[1][0], a = e.invertY(t[0][1]) - n[0][1], o = e.invertY(t[1][1]) - n[1][1];
	return e.translate(i > r ? (r + i) / 2 : Math.min(0, r) || Math.max(0, i), o > a ? (a + o) / 2 : Math.min(0, a) || Math.max(0, o));
}
function Ti() {
	var e = yi, n = bi, r = wi, i = Si, a = Ci, o = [0, Infinity], s = [[-Infinity, -Infinity], [Infinity, Infinity]], c = 250, l = Fn, u = t("start", "zoom", "end"), d, f, p, m = 500, h = 150, g = 0, _ = 10;
	function v(e) {
		e.property("__zoom", xi).on("wheel.zoom", re, { passive: !1 }).on("mousedown.zoom", ie).on("dblclick.zoom", ae).filter(a).on("touchstart.zoom", oe).on("touchmove.zoom", se).on("touchend.zoom touchcancel.zoom", ce).style("-webkit-tap-highlight-color", "rgba(0,0,0,0)");
	}
	v.transform = function(e, t, n, r) {
		var i = e.selection ? e.selection() : e;
		i.property("__zoom", xi), e === i ? i.interrupt().each(function() {
			x(this, arguments).event(r).start().zoom(null, typeof t == "function" ? t.apply(this, arguments) : t).end();
		}) : te(e, t, n, r);
	}, v.scaleBy = function(e, t, n, r) {
		v.scaleTo(e, function() {
			return this.__zoom.k * (typeof t == "function" ? t.apply(this, arguments) : t);
		}, n, r);
	}, v.scaleTo = function(e, t, i, a) {
		v.transform(e, function() {
			var e = n.apply(this, arguments), a = this.__zoom, o = i == null ? ee(e) : typeof i == "function" ? i.apply(this, arguments) : i, c = a.invert(o), l = typeof t == "function" ? t.apply(this, arguments) : t;
			return r(b(y(a, l), o, c), e, s);
		}, i, a);
	}, v.translateBy = function(e, t, i, a) {
		v.transform(e, function() {
			return r(this.__zoom.translate(typeof t == "function" ? t.apply(this, arguments) : t, typeof i == "function" ? i.apply(this, arguments) : i), n.apply(this, arguments), s);
		}, null, a);
	}, v.translateTo = function(e, t, i, a, o) {
		v.transform(e, function() {
			var e = n.apply(this, arguments), o = this.__zoom, c = a == null ? ee(e) : typeof a == "function" ? a.apply(this, arguments) : a;
			return r(gi.translate(c[0], c[1]).scale(o.k).translate(typeof t == "function" ? -t.apply(this, arguments) : -t, typeof i == "function" ? -i.apply(this, arguments) : -i), e, s);
		}, a, o);
	};
	function y(e, t) {
		return t = Math.max(o[0], Math.min(o[1], t)), t === e.k ? e : new Q(t, e.x, e.y);
	}
	function b(e, t, n) {
		var r = t[0] - n[0] * e.k, i = t[1] - n[1] * e.k;
		return r === e.x && i === e.y ? e : new Q(e.k, r, i);
	}
	function ee(e) {
		return [(+e[0][0] + +e[1][0]) / 2, (+e[0][1] + +e[1][1]) / 2];
	}
	function te(e, t, r, i) {
		e.on("start.zoom", function() {
			x(this, arguments).event(i).start();
		}).on("interrupt.zoom end.zoom", function() {
			x(this, arguments).event(i).end();
		}).tween("zoom", function() {
			var e = this, a = arguments, o = x(e, a).event(i), s = n.apply(e, a), c = r == null ? ee(s) : typeof r == "function" ? r.apply(e, a) : r, u = Math.max(s[1][0] - s[0][0], s[1][1] - s[0][1]), d = e.__zoom, f = typeof t == "function" ? t.apply(e, a) : t, p = l(d.invert(c).concat(u / d.k), f.invert(c).concat(u / f.k));
			return function(e) {
				if (e === 1) e = f;
				else {
					var t = p(e), n = u / t[2];
					e = new Q(n, c[0] - t[0] * n, c[1] - t[1] * n);
				}
				o.zoom(null, e);
			};
		});
	}
	function x(e, t, n) {
		return !n && e.__zooming || new ne(e, t);
	}
	function ne(e, t) {
		this.that = e, this.args = t, this.active = 0, this.sourceEvent = null, this.extent = n.apply(e, t), this.taps = 0;
	}
	ne.prototype = {
		event: function(e) {
			return e && (this.sourceEvent = e), this;
		},
		start: function() {
			return ++this.active === 1 && (this.that.__zooming = this, this.emit("start")), this;
		},
		zoom: function(e, t) {
			return this.mouse && e !== "mouse" && (this.mouse[1] = t.invert(this.mouse[0])), this.touch0 && e !== "touch" && (this.touch0[1] = t.invert(this.touch0[0])), this.touch1 && e !== "touch" && (this.touch1[1] = t.invert(this.touch1[0])), this.that.__zoom = t, this.emit("zoom"), this;
		},
		end: function() {
			return --this.active === 0 && (delete this.that.__zooming, this.emit("end")), this;
		},
		emit: function(e) {
			var t = E(this.that).datum();
			u.call(e, this.that, new hi(e, {
				sourceEvent: this.sourceEvent,
				target: v,
				type: e,
				transform: this.that.__zoom,
				dispatch: u
			}), t);
		}
	};
	function re(t, ...n) {
		if (!e.apply(this, arguments)) return;
		var a = x(this, n).event(t), c = this.__zoom, l = Math.max(o[0], Math.min(o[1], c.k * 2 ** i.apply(this, arguments))), u = D(t);
		if (a.wheel) (a.mouse[0][0] !== u[0] || a.mouse[0][1] !== u[1]) && (a.mouse[1] = c.invert(a.mouse[0] = u)), clearTimeout(a.wheel);
		else if (c.k === l) return;
		else a.mouse = [u, c.invert(u)], ir(this), a.start();
		$(t), a.wheel = setTimeout(d, h), a.zoom("mouse", r(b(y(c, l), a.mouse[0], a.mouse[1]), a.extent, s));
		function d() {
			a.wheel = null, a.end();
		}
	}
	function ie(t, ...n) {
		if (p || !e.apply(this, arguments)) return;
		var i = t.currentTarget, a = x(this, n, !0).event(t), o = E(t.view).on("mousemove.zoom", d, !0).on("mouseup.zoom", f, !0), c = D(t, i), l = t.clientX, u = t.clientY;
		Ft(t.view), vi(t), a.mouse = [c, this.__zoom.invert(c)], ir(this), a.start();
		function d(e) {
			if ($(e), !a.moved) {
				var t = e.clientX - l, n = e.clientY - u;
				a.moved = t * t + n * n > g;
			}
			a.event(e).zoom("mouse", r(b(a.that.__zoom, a.mouse[0] = D(e, i), a.mouse[1]), a.extent, s));
		}
		function f(e) {
			o.on("mousemove.zoom mouseup.zoom", null), It(e.view, a.moved), $(e), a.event(e).end();
		}
	}
	function ae(t, ...i) {
		if (e.apply(this, arguments)) {
			var a = this.__zoom, o = D(t.changedTouches ? t.changedTouches[0] : t, this), l = a.invert(o), u = a.k * (t.shiftKey ? .5 : 2), d = r(b(y(a, u), o, l), n.apply(this, i), s);
			$(t), c > 0 ? E(this).transition().duration(c).call(te, d, o, t) : E(this).call(v.transform, d, o, t);
		}
	}
	function oe(t, ...n) {
		if (e.apply(this, arguments)) {
			var r = t.touches, i = r.length, a = x(this, n, t.changedTouches.length === i).event(t), o, s, c, l;
			for (vi(t), s = 0; s < i; ++s) c = r[s], l = D(c, this), l = [
				l,
				this.__zoom.invert(l),
				c.identifier
			], a.touch0 ? !a.touch1 && a.touch0[2] !== l[2] && (a.touch1 = l, a.taps = 0) : (a.touch0 = l, o = !0, a.taps = 1 + !!d);
			d &&= clearTimeout(d), o && (a.taps < 2 && (f = l[0], d = setTimeout(function() {
				d = null;
			}, m)), ir(this), a.start());
		}
	}
	function se(e, ...t) {
		if (this.__zooming) {
			var n = x(this, t).event(e), i = e.changedTouches, a = i.length, o, c, l, u;
			for ($(e), o = 0; o < a; ++o) c = i[o], l = D(c, this), n.touch0 && n.touch0[2] === c.identifier ? n.touch0[0] = l : n.touch1 && n.touch1[2] === c.identifier && (n.touch1[0] = l);
			if (c = n.that.__zoom, n.touch1) {
				var d = n.touch0[0], f = n.touch0[1], p = n.touch1[0], m = n.touch1[1], h = (h = p[0] - d[0]) * h + (h = p[1] - d[1]) * h, g = (g = m[0] - f[0]) * g + (g = m[1] - f[1]) * g;
				c = y(c, Math.sqrt(h / g)), l = [(d[0] + p[0]) / 2, (d[1] + p[1]) / 2], u = [(f[0] + m[0]) / 2, (f[1] + m[1]) / 2];
			} else if (n.touch0) l = n.touch0[0], u = n.touch0[1];
			else return;
			n.zoom("touch", r(b(c, l, u), n.extent, s));
		}
	}
	function ce(e, ...t) {
		if (this.__zooming) {
			var n = x(this, t).event(e), r = e.changedTouches, i = r.length, a, o;
			for (vi(e), p && clearTimeout(p), p = setTimeout(function() {
				p = null;
			}, m), a = 0; a < i; ++a) o = r[a], n.touch0 && n.touch0[2] === o.identifier ? delete n.touch0 : n.touch1 && n.touch1[2] === o.identifier && delete n.touch1;
			if (n.touch1 && !n.touch0 && (n.touch0 = n.touch1, delete n.touch1), n.touch0) n.touch0[1] = this.__zoom.invert(n.touch0[0]);
			else if (n.end(), n.taps === 2 && (o = D(o, this), Math.hypot(f[0] - o[0], f[1] - o[1]) < _)) {
				var s = E(this).on("dblclick.zoom");
				s && s.apply(this, arguments);
			}
		}
	}
	return v.wheelDelta = function(e) {
		return arguments.length ? (i = typeof e == "function" ? e : mi(+e), v) : i;
	}, v.filter = function(t) {
		return arguments.length ? (e = typeof t == "function" ? t : mi(!!t), v) : e;
	}, v.touchable = function(e) {
		return arguments.length ? (a = typeof e == "function" ? e : mi(!!e), v) : a;
	}, v.extent = function(e) {
		return arguments.length ? (n = typeof e == "function" ? e : mi([[+e[0][0], +e[0][1]], [+e[1][0], +e[1][1]]]), v) : n;
	}, v.scaleExtent = function(e) {
		return arguments.length ? (o[0] = +e[0], o[1] = +e[1], v) : [o[0], o[1]];
	}, v.translateExtent = function(e) {
		return arguments.length ? (s[0][0] = +e[0][0], s[1][0] = +e[1][0], s[0][1] = +e[0][1], s[1][1] = +e[1][1], v) : [[s[0][0], s[0][1]], [s[1][0], s[1][1]]];
	}, v.constrain = function(e) {
		return arguments.length ? (r = e, v) : r;
	}, v.duration = function(e) {
		return arguments.length ? (c = +e, v) : c;
	}, v.interpolate = function(e) {
		return arguments.length ? (l = e, v) : l;
	}, v.on = function() {
		var e = u.on.apply(u, arguments);
		return e === u ? v : e;
	}, v.clickDistance = function(e) {
		return arguments.length ? (g = (e = +e) * e, v) : Math.sqrt(g);
	}, v.tapDistance = function(e) {
		return arguments.length ? (_ = +e, v) : _;
	}, v;
}
//#endregion
export { D as C, Pt as S, t as T, Ft as _, xn as a, Nt as b, pn as c, j as d, L as f, Lt as g, A as h, Fn as i, hn as l, $t as m, gi as n, U as o, I as p, _i as r, gn as s, Ti as t, un as u, It as v, E as w, O as x, k as y };

//# sourceMappingURL=src-BEYP07TO.js.map