import { aK as I, aL as qe, aM as O, ah as y, ag as Te, aN as Xe, aO as Qe, aP as We, aQ as Ee, aR as G, ae as X, aS as Je, aT as Oe, aU as ze, aV as C, aW as R, an as $e, a8 as me, aX as Ve, aY as Z, aZ as ke, a_ as en, a$ as L, am as nn, b0 as rn, af as tn, b1 as re, b2 as sn, b3 as an, al as un, ak as we, ai as fn, b4 as B, ac as on, b5 as dn, ao as M, z as te, b6 as ie } from "./mermaid-9f2aa176.js"; var hn = "[object Symbol]"; function Q(e) { return typeof e == "symbol" || I(e) && qe(e) == hn; } function ve(e, n) { for (var r = -1, t = e == null ? 0 : e.length, i = Array(t); ++r < t; ) i[r] = n(e[r], r, e); return i; } var ln = 1 / 0, se = O ? O.prototype : void 0, ae = se ? se.toString : void 0; function Pe(e) { if (typeof e == "string") return e; if (y(e)) return ve(e, Pe) + ""; if (Q(e)) return ae ? ae.call(e) : ""; var n = e + ""; return n == "0" && 1 / e == -ln ? "-0" : n; } function gn() { } function Le(e, n) { for (var r = -1, t = e == null ? 0 : e.length; ++r < t && n(e[r], r, e) !== !1; ) ; return e; } function cn(e, n, r, t) { for (var i = e.length, s = r + (t ? 1 : -1); t ? s-- : ++s < i; ) if (n(e[s], s, e)) return s; return -1; } function _n(e) { return e !== e; } function pn(e, n, r) { for (var t = r - 1, i = e.length; ++t < i; ) if (e[t] === n) return t; return -1; } function bn(e, n, r) { return n === n ? pn(e, n, r) : cn(e, _n, r); } function yn(e, n) { var r = e == null ? 0 : e.length; return !!r && bn(e, n, 0) > -1; } function T(e) { return Te(e) ? Xe(e) : Qe(e); } var An = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, Tn = /^\w*$/; function W(e, n) { if (y(e)) return !1; var r = typeof e; return r == "number" || r == "symbol" || r == "boolean" || e == null || Q(e) ? !0 : Tn.test(e) || !An.test(e) || n != null && e in Object(n); } var En = 500; function On(e) { var n = We(e, function(t) { return r.size === En && r.clear(), t; }), r = n.cache; return n; } var $n = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g, mn = /\\(\\)?/g, wn = On(function(e) { var n = []; return e.charCodeAt(0) === 46 && n.push(""), e.replace($n, function(r, t, i, s) { n.push(i ? s.replace(mn, "$1") : t || r); }), n; }); const vn = wn; function Pn(e) { return e == null ? "" : Pe(e); } function Ie(e, n) { return y(e) ? e : W(e, n) ? [e] : vn(Pn(e)); } var Ln = 1 / 0; function U(e) { if (typeof e == "string" || Q(e)) return e; var n = e + ""; return n == "0" && 1 / e == -Ln ? "-0" : n; } function Ce(e, n) { n = Ie(n, e); for (var r = 0, t = n.length; e != null && r < t; ) e = e[U(n[r++])]; return r && r == t ? e : void 0; } function In(e, n, r) { var t = e == null ? void 0 : Ce(e, n); return t === void 0 ? r : t; } function J(e, n) { for (var r = -1, t = n.length, i = e.length; ++r < t; ) e[i + r] = n[r]; return e; } var ue = O ? O.isConcatSpreadable : void 0; function Cn(e) { return y(e) || Ee(e) || !!(ue && e && e[ue]); } function Se(e, n, r, t, i) { var s = -1, a = e.length; for (r || (r = Cn), i || (i = []); ++s < a; ) { var u = e[s]; n > 0 && r(u) ? n > 1 ? Se(u, n - 1, r, t, i) : J(i, u) : t || (i[i.length] = u); } return i; } function Sn(e, n, r, t) { var i = -1, s = e == null ? 0 : e.length; for (t && s && (r = e[++i]); ++i < s; ) r = n(r, e[i], i, e); return r; } function Nn(e, n) { return e && G(n, T(n), e); } function Fn(e, n) { return e && G(n, X(n), e); } function Ne(e, n) { for (var r = -1, t = e == null ? 0 : e.length, i = 0, s = []; ++r < t; ) { var a = e[r]; n(a, r, e) && (s[i++] = a); } return s; } function Fe() { return []; } var Mn = Object.prototype, xn = Mn.propertyIsEnumerable, fe = Object.getOwnPropertySymbols, Dn = fe ? function(e) { return e == null ? [] : (e = Object(e), Ne(fe(e), function(n) { return xn.call(e, n); })); } : Fe; const z = Dn; function Rn(e, n) { return G(e, z(e), n); } var Gn = Object.getOwnPropertySymbols, Un = Gn ? function(e) { for (var n = []; e; ) J(n, z(e)), e = Je(e); return n; } : Fe; const Me = Un; function Bn(e, n) { return G(e, Me(e), n); } function xe(e, n, r) { var t = n(e); return y(e) ? t : J(t, r(e)); } function q(e) { return xe(e, T, z); } function jn(e) { return xe(e, X, Me); } var Kn = Object.prototype, Hn = Kn.hasOwnProperty; function Yn(e) { var n = e.length, r = new e.constructor(n); return n && typeof e[0] == "string" && Hn.call(e, "index") && (r.index = e.index, r.input = e.input), r; } function Zn(e, n) { var r = n ? Oe(e.buffer) : e.buffer; return new e.constructor(r, e.byteOffset, e.byteLength); } var qn = /\w*$/; function Xn(e) { var n = new e.constructor(e.source, qn.exec(e)); return n.lastIndex = e.lastIndex, n; } var oe = O ? O.prototype : void 0, de = oe ? oe.valueOf : void 0; function Qn(e) { return de ? Object(de.call(e)) : {}; } var Wn = "[object Boolean]", Jn = "[object Date]", zn = "[object Map]", Vn = "[object Number]", kn = "[object RegExp]", er = "[object Set]", nr = "[object String]", rr = "[object Symbol]", tr = "[object ArrayBuffer]", ir = "[object DataView]", sr = "[object Float32Array]", ar = "[object Float64Array]", ur = "[object Int8Array]", fr = "[object Int16Array]", or = "[object Int32Array]", dr = "[object Uint8Array]", hr = "[object Uint8ClampedArray]", lr = "[object Uint16Array]", gr = "[object Uint32Array]"; function cr(e, n, r) { var t = e.constructor; switch (n) { case tr: return Oe(e); case Wn: case Jn: return new t(+e); case ir: return Zn(e, r); case sr: case ar: case ur: case fr: case or: case dr: case hr: case lr: case gr: return ze(e, r); case zn: return new t(); case Vn: case nr: return new t(e); case kn: return Xn(e); case er: return new t(); case rr: return Qn(e); } } var _r = "[object Map]"; function pr(e) { return I(e) && C(e) == _r; } var he = R && R.isMap, br = he ? $e(he) : pr; const yr = br; var Ar = "[object Set]"; function Tr(e) { return I(e) && C(e) == Ar; } var le = R && R.isSet, Er = le ? $e(le) : Tr; const Or = Er; var $r = 1, mr = 2, wr = 4, De = "[object Arguments]", vr = "[object Array]", Pr = "[object Boolean]", Lr = "[object Date]", Ir = "[object Error]", Re = "[object Function]", Cr = "[object GeneratorFunction]", Sr = "[object Map]", Nr = "[object Number]", Ge = "[object Object]", Fr = "[object RegExp]", Mr = "[object Set]", xr = "[object String]", Dr = "[object Symbol]", Rr = "[object WeakMap]", Gr = "[object ArrayBuffer]", Ur = "[object DataView]", Br = "[object Float32Array]", jr = "[object Float64Array]", Kr = "[object Int8Array]", Hr = "[object Int16Array]", Yr = "[object Int32Array]", Zr = "[object Uint8Array]", qr = "[object Uint8ClampedArray]", Xr = "[object Uint16Array]", Qr = "[object Uint32Array]", h = {}; h[De] = h[vr] = h[Gr] = h[Ur] = h[Pr] = h[Lr] = h[Br] = h[jr] = h[Kr] = h[Hr] = h[Yr] = h[Sr] = h[Nr] = h[Ge] = h[Fr] = h[Mr] = h[xr] = h[Dr] = h[Zr] = h[qr] = h[Xr] = h[Qr] = !0; h[Ir] = h[Re] = h[Rr] = !1; function j(e, n, r, t, i, s) { var a, u = n & $r, f = n & mr, g = n & wr; if (r && (a = i ? r(e, t, i, s) : r(e)), a !== void 0) return a; if (!me(e)) return e; var l = y(e); if (l) { if (a = Yn(e), !u) return Ve(e, a); } else { var o = C(e), d = o == Re || o == Cr; if (Z(e)) return ke(e, u); if (o == Ge || o == De || d && !i) { if (a = f || d ? {} : en(e), !u) return f ? Bn(e, Fn(a, e)) : Rn(e, Nn(a, e)); } else { if (!h[o]) return i ? e : {}; a = cr(e, o, u); } } s || (s = new L()); var A = s.get(e); if (A) return A; s.set(e, a), Or(e) ? e.forEach(function(c) { a.add(j(c, n, r, c, e, s)); }) : yr(e) && e.forEach(function(c, _) { a.set(_, j(c, n, r, _, e, s)); }); var p = g ? f ? jn : q : f ? X : T, b = l ? void 0 : p(e); return Le(b || e, function(c, _) { b && (_ = c, c = e[_]), nn(a, _, j(c, n, r, _, e, s)); }), a; } var Wr = "__lodash_hash_undefined__"; function Jr(e) { return this.__data__.set(e, Wr), this; } function zr(e) { return this.__data__.has(e); } function S(e) { var n = -1, r = e == null ? 0 : e.length; for (this.__data__ = new rn(); ++n < r; ) this.add(e[n]); } S.prototype.add = S.prototype.push = Jr; S.prototype.has = zr; function Vr(e, n) { for (var r = -1, t = e == null ? 0 : e.length; ++r < t; ) if (n(e[r], r, e)) return !0; return !1; } function Ue(e, n) { return e.has(n); } var kr = 1, et = 2; function Be(e, n, r, t, i, s) { var a = r & kr, u = e.length, f = n.length; if (u != f && !(a && f > u)) return !1; var g = s.get(e), l = s.get(n); if (g && l) return g == n && l == e; var o = -1, d = !0, A = r & et ? new S() : void 0; for (s.set(e, n), s.set(n, e); ++o < u; ) { var p = e[o], b = n[o]; if (t) var c = a ? t(b, p, o, n, e, s) : t(p, b, o, e, n, s); if (c !== void 0) { if (c) continue; d = !1; break; } if (A) { if (!Vr(n, function(_, $) { if (!Ue(A, $) && (p === _ || i(p, _, r, t, s))) return A.push($); })) { d = !1; break; } } else if (!(p === b || i(p, b, r, t, s))) { d = !1; break; } } return s.delete(e), s.delete(n), d; } function nt(e) { var n = -1, r = Array(e.size); return e.forEach(function(t, i) { r[++n] = [i, t]; }), r; } function V(e) { var n = -1, r = Array(e.size); return e.forEach(function(t) { r[++n] = t; }), r; } var rt = 1, tt = 2, it = "[object Boolean]", st = "[object Date]", at = "[object Error]", ut = "[object Map]", ft = "[object Number]", ot = "[object RegExp]", dt = "[object Set]", ht = "[object String]", lt = "[object Symbol]", gt = "[object ArrayBuffer]", ct = "[object DataView]", ge = O ? O.prototype : void 0, K = ge ? ge.valueOf : void 0; function _t(e, n, r, t, i, s, a) { switch (r) { case ct: if (e.byteLength != n.byteLength || e.byteOffset != n.byteOffset) return !1; e = e.buffer, n = n.buffer; case gt: return !(e.byteLength != n.byteLength || !s(new re(e), new re(n))); case it: case st: case ft: return tn(+e, +n); case at: return e.name == n.name && e.message == n.message; case ot: case ht: return e == n + ""; case ut: var u = nt; case dt: var f = t & rt; if (u || (u = V), e.size != n.size && !f) return !1; var g = a.get(e); if (g) return g == n; t |= tt, a.set(e, n); var l = Be(u(e), u(n), t, i, s, a); return a.delete(e), l; case lt: if (K) return K.call(e) == K.call(n); } return !1; } var pt = 1, bt = Object.prototype, yt = bt.hasOwnProperty; function At(e, n, r, t, i, s) { var a = r & pt, u = q(e), f = u.length, g = q(n), l = g.length; if (f != l && !a) return !1; for (var o = f; o--; ) { var d = u[o]; if (!(a ? d in n : yt.call(n, d))) return !1; } var A = s.get(e), p = s.get(n); if (A && p) return A == n && p == e; var b = !0; s.set(e, n), s.set(n, e); for (var c = a; ++o < f; ) { d = u[o]; var _ = e[d], $ = n[d]; if (t) var ne = a ? t($, _, d, n, e, s) : t(_, $, d, e, n, s); if (!(ne === void 0 ? _ === $ || i(_, $, r, t, s) : ne)) { b = !1; break; } c || (c = d == "constructor"); } if (b && !c) { var N = e.constructor, F = n.constructor; N != F && "constructor" in e && "constructor" in n && !(typeof N == "function" && N instanceof N && typeof F == "function" && F instanceof F) && (b = !1); } return s.delete(e), s.delete(n), b; } var Tt = 1, ce = "[object Arguments]", _e = "[object Array]", x = "[object Object]", Et = Object.prototype, pe = Et.hasOwnProperty; function Ot(e, n, r, t, i, s) { var a = y(e), u = y(n), f = a ? _e : C(e), g = u ? _e : C(n); f = f == ce ? x : f, g = g == ce ? x : g; var l = f == x, o = g == x, d = f == g; if (d && Z(e)) { if (!Z(n)) return !1; a = !0, l = !1; } if (d && !l) return s || (s = new L()), a || sn(e) ? Be(e, n, r, t, i, s) : _t(e, n, f, r, t, i, s); if (!(r & Tt)) { var A = l && pe.call(e, "__wrapped__"), p = o && pe.call(n, "__wrapped__"); if (A || p) { var b = A ? e.value() : e, c = p ? n.value() : n; return s || (s = new L()), i(b, c, r, t, s); } } return d ? (s || (s = new L()), At(e, n, r, t, i, s)) : !1; } function k(e, n, r, t, i) { return e === n ? !0 : e == null || n == null || !I(e) && !I(n) ? e !== e && n !== n : Ot(e, n, r, t, k, i); } var $t = 1, mt = 2; function wt(e, n, r, t) { var i = r.length, s = i, a = !t; if (e == null) return !s; for (e = Object(e); i--; ) { var u = r[i]; if (a && u[2] ? u[1] !== e[u[0]] : !(u[0] in e)) return !1; } for (; ++i < s; ) { u = r[i]; var f = u[0], g = e[f], l = u[1]; if (a && u[2]) { if (g === void 0 && !(f in e)) return !1; } else { var o = new L(); if (t) var d = t(g, l, f, e, n, o); if (!(d === void 0 ? k(l, g, $t | mt, t, o) : d)) return !1; } } return !0; } function je(e) { return e === e && !me(e); } function vt(e) { for (var n = T(e), r = n.length; r--; ) { var t = n[r], i = e[t]; n[r] = [t, i, je(i)]; } return n; } function Ke(e, n) { return function(r) { return r == null ? !1 : r[e] === n && (n !== void 0 || e in Object(r)); }; } function Pt(e) { var n = vt(e); return n.length == 1 && n[0][2] ? Ke(n[0][0], n[0][1]) : function(r) { return r === e || wt(r, e, n); }; } function Lt(e, n) { return e != null && n in Object(e); } function He(e, n, r) { n = Ie(n, e); for (var t = -1, i = n.length, s = !1; ++t < i; ) { var a = U(n[t]); if (!(s = e != null && r(e, a))) break; e = e[a]; } return s || ++t != i ? s : (i = e == null ? 0 : e.length, !!i && an(i) && un(a, i) && (y(e) || Ee(e))); } function It(e, n) { return e != null && He(e, n, Lt); } var Ct = 1, St = 2; function Nt(e, n) { return W(e) && je(n) ? Ke(U(e), n) : function(r) { var t = In(r, e); return t === void 0 && t === n ? It(r, e) : k(n, t, Ct | St); }; } function Ft(e) { return function(n) { return n == null ? void 0 : n[e]; }; } function Mt(e) { return function(n) { return Ce(n, e); }; } function xt(e) { return W(e) ? Ft(U(e)) : Mt(e); } function Ye(e) { return typeof e == "function" ? e : e == null ? we : typeof e == "object" ? y(e) ? Nt(e[0], e[1]) : Pt(e) : xt(e); } function Dt(e, n) { return e && fn(e, n, T); } function Rt(e, n) { return function(r, t) { if (r == null) return r; if (!Te(r)) return e(r, t); for (var i = r.length, s = n ? i : -1, a = Object(r); (n ? s-- : ++s < i) && t(a[s], s, a) !== !1; ) ; return r; }; } var Gt = Rt(Dt); const ee = Gt; function Ut(e, n, r) { for (var t = -1, i = e == null ? 0 : e.length; ++t < i; ) if (r(n, e[t])) return !0; return !1; } function Bt(e) { return typeof e == "function" ? e : we; } function m(e, n) { var r = y(e) ? Le : ee; return r(e, Bt(n)); } function jt(e, n) { var r = []; return ee(e, function(t, i, s) { n(t, i, s) && r.push(t); }), r; } function D(e, n) { var r = y(e) ? Ne : jt; return r(e, Ye(n)); } var Kt = Object.prototype, Ht = Kt.hasOwnProperty; function Yt(e, n) { return e != null && Ht.call(e, n); } function E(e, n) { return e != null && He(e, n, Yt); } function Zt(e, n) { return ve(n, function(r) { return e[r]; }); } function H(e) { return e == null ? [] : Zt(e, T(e)); } function v(e) { return e === void 0; } function qt(e, n, r, t, i) { return i(e, function(s, a, u) { r = t ? (t = !1, s) : n(r, s, a, u); }), r; } function Xt(e, n, r) { var t = y(e) ? Sn : qt, i = arguments.length < 3; return t(e, Ye(n), r, i, ee); } var Qt = 1 / 0, Wt = B && 1 / V(new B([, -0]))[1] == Qt ? function(e) { return new B(e); } : gn; const Jt = Wt; var zt = 200; function Vt(e, n, r) { var t = -1, i = yn, s = e.length, a = !0, u = [], f = u; if (r) a = !1, i = Ut; else if (s >= zt) { var g = n ? null : Jt(e); if (g) return V(g); a = !1, i = Ue, f = new S(); } else f = n ? [] : u; e: for (; ++t < s; ) { var l = e[t], o = n ? n(l) : l; if (l = r || l !== 0 ? l : 0, a && o === o) { for (var d = f.length; d--; ) if (f[d] === o) continue e; n && f.push(o), u.push(l); } else i(f, o, r) || (f !== u && f.push(o), u.push(l)); } return u; } var kt = on(function(e) { return Vt(Se(e, 1, dn, !0)); }); const ei = kt; var ni = "\0", w = "\0", be = ""; class Ze { constructor(n = {}) { this._isDirected = E(n, "directed") ? n.directed : !0, this._isMultigraph = E(n, "multigraph") ? n.multigraph : !1, this._isCompound = E(n, "compound") ? n.compound : !1, this._label = void 0, this._defaultNodeLabelFn = M(void 0), this._defaultEdgeLabelFn = M(void 0), this._nodes = {}, this._isCompound && (this._parent = {}, this._children = {}, this._children[w] = {}), this._in = {}, this._preds = {}, this._out = {}, this._sucs = {}, this._edgeObjs = {}, this._edgeLabels = {}; } /* === Graph functions ========= */ isDirected() { return this._isDirected; } isMultigraph() { return this._isMultigraph; } isCompound() { return this._isCompound; } setGraph(n) { return this._label = n, this; } graph() { return this._label; } /* === Node functions ========== */ setDefaultNodeLabel(n) { return te(n) || (n = M(n)), this._defaultNodeLabelFn = n, this; } nodeCount() { return this._nodeCount; } nodes() { return T(this._nodes); } sources() { var n = this; return D(this.nodes(), function(r) { return ie(n._in[r]); }); } sinks() { var n = this; return D(this.nodes(), function(r) { return ie(n._out[r]); }); } setNodes(n, r) { var t = arguments, i = this; return m(n, function(s) { t.length > 1 ? i.setNode(s, r) : i.setNode(s); }), this; } setNode(n, r) { return E(this._nodes, n) ? (arguments.length > 1 && (this._nodes[n] = r), this) : (this._nodes[n] = arguments.length > 1 ? r : this._defaultNodeLabelFn(n), this._isCompound && (this._parent[n] = w, this._children[n] = {}, this._children[w][n] = !0), this._in[n] = {}, this._preds[n] = {}, this._out[n] = {}, this._sucs[n] = {}, ++this._nodeCount, this); } node(n) { return this._nodes[n]; } hasNode(n) { return E(this._nodes, n); } removeNode(n) { var r = this; if (E(this._nodes, n)) { var t = function(i) { r.removeEdge(r._edgeObjs[i]); }; delete this._nodes[n], this._isCompound && (this._removeFromParentsChildList(n), delete this._parent[n], m(this.children(n), function(i) { r.setParent(i); }), delete this._children[n]), m(T(this._in[n]), t), delete this._in[n], delete this._preds[n], m(T(this._out[n]), t), delete this._out[n], delete this._sucs[n], --this._nodeCount; } return this; } setParent(n, r) { if (!this._isCompound) throw new Error("Cannot set parent in a non-compound graph"); if (v(r)) r = w; else { r += ""; for (var t = r; !v(t); t = this.parent(t)) if (t === n) throw new Error("Setting " + r + " as parent of " + n + " would create a cycle"); this.setNode(r); } return this.setNode(n), this._removeFromParentsChildList(n), this._parent[n] = r, this._children[r][n] = !0, this; } _removeFromParentsChildList(n) { delete this._children[this._parent[n]][n]; } parent(n) { if (this._isCompound) { var r = this._parent[n]; if (r !== w) return r; } } children(n) { if (v(n) && (n = w), this._isCompound) { var r = this._children[n]; if (r) return T(r); } else { if (n === w) return this.nodes(); if (this.hasNode(n)) return []; } } predecessors(n) { var r = this._preds[n]; if (r) return T(r); } successors(n) { var r = this._sucs[n]; if (r) return T(r); } neighbors(n) { var r = this.predecessors(n); if (r) return ei(r, this.successors(n)); } isLeaf(n) { var r; return this.isDirected() ? r = this.successors(n) : r = this.neighbors(n), r.length === 0; } filterNodes(n) { var r = new this.constructor({ directed: this._isDirected, multigraph: this._isMultigraph, compound: this._isCompound }); r.setGraph(this.graph()); var t = this; m(this._nodes, function(a, u) { n(u) && r.setNode(u, a); }), m(this._edgeObjs, function(a) { r.hasNode(a.v) && r.hasNode(a.w) && r.setEdge(a, t.edge(a)); }); var i = {}; function s(a) { var u = t.parent(a); return u === void 0 || r.hasNode(u) ? (i[a] = u, u) : u in i ? i[u] : s(u); } return this._isCompound && m(r.nodes(), function(a) { r.setParent(a, s(a)); }), r; } /* === Edge functions ========== */ setDefaultEdgeLabel(n) { return te(n) || (n = M(n)), this._defaultEdgeLabelFn = n, this; } edgeCount() { return this._edgeCount; } edges() { return H(this._edgeObjs); } setPath(n, r) { var t = this, i = arguments; return Xt(n, function(s, a) { return i.length > 1 ? t.setEdge(s, a, r) : t.setEdge(s, a), a; }), this; } /* * setEdge(v, w, [value, [name]]) * setEdge({ v, w, [name] }, [value]) */ setEdge() { var n, r, t, i, s = !1, a = arguments[0]; typeof a == "object" && a !== null && "v" in a ? (n = a.v, r = a.w, t = a.name, arguments.length === 2 && (i = arguments[1], s = !0)) : (n = a, r = arguments[1], t = arguments[3], arguments.length > 2 && (i = arguments[2], s = !0)), n = "" + n, r = "" + r, v(t) || (t = "" + t); var u = P(this._isDirected, n, r, t); if (E(this._edgeLabels, u)) return s && (this._edgeLabels[u] = i), this; if (!v(t) && !this._isMultigraph) throw new Error("Cannot set a named edge when isMultigraph = false"); this.setNode(n), this.setNode(r), this._edgeLabels[u] = s ? i : this._defaultEdgeLabelFn(n, r, t); var f = ri(this._isDirected, n, r, t); return n = f.v, r = f.w, Object.freeze(f), this._edgeObjs[u] = f, ye(this._preds[r], n), ye(this._sucs[n], r), this._in[r][u] = f, this._out[n][u] = f, this._edgeCount++, this; } edge(n, r, t) { var i = arguments.length === 1 ? Y(this._isDirected, arguments[0]) : P(this._isDirected, n, r, t); return this._edgeLabels[i]; } hasEdge(n, r, t) { var i = arguments.length === 1 ? Y(this._isDirected, arguments[0]) : P(this._isDirected, n, r, t); return E(this._edgeLabels, i); } removeEdge(n, r, t) { var i = arguments.length === 1 ? Y(this._isDirected, arguments[0]) : P(this._isDirected, n, r, t), s = this._edgeObjs[i]; return s && (n = s.v, r = s.w, delete this._edgeLabels[i], delete this._edgeObjs[i], Ae(this._preds[r], n), Ae(this._sucs[n], r), delete this._in[r][i], delete this._out[n][i], this._edgeCount--), this; } inEdges(n, r) { var t = this._in[n]; if (t) { var i = H(t); return r ? D(i, function(s) { return s.v === r; }) : i; } } outEdges(n, r) { var t = this._out[n]; if (t) { var i = H(t); return r ? D(i, function(s) { return s.w === r; }) : i; } } nodeEdges(n, r) { var t = this.inEdges(n, r); if (t) return t.concat(this.outEdges(n, r)); } } Ze.prototype._nodeCount = 0; Ze.prototype._edgeCount = 0; function ye(e, n) { e[n] ? e[n]++ : e[n] = 1; } function Ae(e, n) { --e[n] || delete e[n]; } function P(e, n, r, t) { var i = "" + n, s = "" + r; if (!e && i > s) { var a = i; i = s, s = a; } return i + be + s + be + (v(t) ? ni : t); } function ri(e, n, r, t) { var i = "" + n, s = "" + r; if (!e && i > s) { var a = i; i = s, s = a; } var u = { v: i, w: s }; return t && (u.name = t), u; } function Y(e, n) { return P(e, n.v, n.w, n.name); } export { Ze as G, Q as a, Se as b, j as c, Ye as d, cn as e, m as f, ee as g, E as h, v as i, ve as j, T as k, Bt as l, Dt as m, Ie as n, Ce as o, It as p, Pn as q, D as r, Xt as s, U as t, H as v };