UNPKG

72.3 kBJavaScriptView Raw
1import { a7 as M, a8 as He, a9 as $, aa as _, ab as L, ac as Fr, ad as nn, ae as D, af as X, ag as Z, ah as Un, ai as Dr, aj as ke, ak as Gr, al as Br, am as Yn, an as Ur, ao as qe, ap as Hn, aq as V, ar as cn, as as kn, at as Yr, v as Mn, au as Ln, av as se } from "./mermaid-9357f3d0.js";
2var Hr = "[object Symbol]";
3function R(n) {
4 return typeof n == "symbol" || M(n) && He(n) == Hr;
5}
6function H(n, e) {
7 for (var r = -1, t = n == null ? 0 : n.length, i = Array(t); ++r < t; )
8 i[r] = e(n[r], r, n);
9 return i;
10}
11var kr = 1 / 0, fe = $ ? $.prototype : void 0, de = fe ? fe.toString : void 0;
12function Ke(n) {
13 if (typeof n == "string")
14 return n;
15 if (_(n))
16 return H(n, Ke) + "";
17 if (R(n))
18 return de ? de.call(n) : "";
19 var e = n + "";
20 return e == "0" && 1 / n == -kr ? "-0" : e;
21}
22var qr = /\s/;
23function Kr(n) {
24 for (var e = n.length; e-- && qr.test(n.charAt(e)); )
25 ;
26 return e;
27}
28var Wr = /^\s+/;
29function Xr(n) {
30 return n && n.slice(0, Kr(n) + 1).replace(Wr, "");
31}
32var ce = 0 / 0, Zr = /^[-+]0x[0-9a-f]+$/i, Vr = /^0b[01]+$/i, zr = /^0o[0-7]+$/i, Jr = parseInt;
33function jr(n) {
34 if (typeof n == "number")
35 return n;
36 if (R(n))
37 return ce;
38 if (L(n)) {
39 var e = typeof n.valueOf == "function" ? n.valueOf() : n;
40 n = L(e) ? e + "" : e;
41 }
42 if (typeof n != "string")
43 return n === 0 ? n : +n;
44 n = Xr(n);
45 var r = Vr.test(n);
46 return r || zr.test(n) ? Jr(n.slice(2), r ? 2 : 8) : Zr.test(n) ? ce : +n;
47}
48var le = 1 / 0, Qr = 17976931348623157e292;
49function fn(n) {
50 if (!n)
51 return n === 0 ? n : 0;
52 if (n = jr(n), n === le || n === -le) {
53 var e = n < 0 ? -1 : 1;
54 return e * Qr;
55 }
56 return n === n ? n : 0;
57}
58function nt(n) {
59 var e = fn(n), r = e % 1;
60 return e === e ? r ? e - r : e : 0;
61}
62function G(n) {
63 return n;
64}
65var he = Object.create, et = function() {
66 function n() {
67 }
68 return function(e) {
69 if (!L(e))
70 return {};
71 if (he)
72 return he(e);
73 n.prototype = e;
74 var r = new n();
75 return n.prototype = void 0, r;
76 };
77}();
78const rt = et;
79function tt(n, e, r) {
80 switch (r.length) {
81 case 0:
82 return n.call(e);
83 case 1:
84 return n.call(e, r[0]);
85 case 2:
86 return n.call(e, r[0], r[1]);
87 case 3:
88 return n.call(e, r[0], r[1], r[2]);
89 }
90 return n.apply(e, r);
91}
92function it() {
93}
94function We(n, e) {
95 var r = -1, t = n.length;
96 for (e || (e = Array(t)); ++r < t; )
97 e[r] = n[r];
98 return e;
99}
100var at = 800, ot = 16, ut = Date.now;
101function st(n) {
102 var e = 0, r = 0;
103 return function() {
104 var t = ut(), i = ot - (t - r);
105 if (r = t, i > 0) {
106 if (++e >= at)
107 return arguments[0];
108 } else
109 e = 0;
110 return n.apply(void 0, arguments);
111 };
112}
113function Y(n) {
114 return function() {
115 return n;
116 };
117}
118var ft = function() {
119 try {
120 var n = Fr(Object, "defineProperty");
121 return n({}, "", {}), n;
122 } catch {
123 }
124}();
125const ln = ft;
126var dt = ln ? function(n, e) {
127 return ln(n, "toString", {
128 configurable: !0,
129 enumerable: !1,
130 value: Y(e),
131 writable: !0
132 });
133} : G;
134const ct = dt;
135var lt = st(ct);
136const Xe = lt;
137function Ze(n, e) {
138 for (var r = -1, t = n == null ? 0 : n.length; ++r < t && e(n[r], r, n) !== !1; )
139 ;
140 return n;
141}
142function Ve(n, e, r, t) {
143 for (var i = n.length, a = r + (t ? 1 : -1); t ? a-- : ++a < i; )
144 if (e(n[a], a, n))
145 return a;
146 return -1;
147}
148function ht(n) {
149 return n !== n;
150}
151function vt(n, e, r) {
152 for (var t = r - 1, i = n.length; ++t < i; )
153 if (n[t] === e)
154 return t;
155 return -1;
156}
157function gt(n, e, r) {
158 return e === e ? vt(n, e, r) : Ve(n, ht, r);
159}
160function pt(n, e) {
161 var r = n == null ? 0 : n.length;
162 return !!r && gt(n, e, 0) > -1;
163}
164var bt = 9007199254740991, wt = /^(?:0|[1-9]\d*)$/;
165function pn(n, e) {
166 var r = typeof n;
167 return e = e ?? bt, !!e && (r == "number" || r != "symbol" && wt.test(n)) && n > -1 && n % 1 == 0 && n < e;
168}
169function bn(n, e, r) {
170 e == "__proto__" && ln ? ln(n, e, {
171 configurable: !0,
172 enumerable: !0,
173 value: r,
174 writable: !0
175 }) : n[e] = r;
176}
177var mt = Object.prototype, _t = mt.hasOwnProperty;
178function wn(n, e, r) {
179 var t = n[e];
180 (!(_t.call(n, e) && nn(t, r)) || r === void 0 && !(e in n)) && bn(n, e, r);
181}
182function en(n, e, r, t) {
183 var i = !r;
184 r || (r = {});
185 for (var a = -1, o = e.length; ++a < o; ) {
186 var u = e[a], s = t ? t(r[u], n[u], u, r, n) : void 0;
187 s === void 0 && (s = n[u]), i ? bn(r, u, s) : wn(r, u, s);
188 }
189 return r;
190}
191var ve = Math.max;
192function ze(n, e, r) {
193 return e = ve(e === void 0 ? n.length - 1 : e, 0), function() {
194 for (var t = arguments, i = -1, a = ve(t.length - e, 0), o = Array(a); ++i < a; )
195 o[i] = t[e + i];
196 i = -1;
197 for (var u = Array(e + 1); ++i < e; )
198 u[i] = t[i];
199 return u[e] = r(o), tt(n, this, u);
200 };
201}
202function mn(n, e) {
203 return Xe(ze(n, e, G), n + "");
204}
205function z(n, e, r) {
206 if (!L(r))
207 return !1;
208 var t = typeof e;
209 return (t == "number" ? D(r) && pn(e, r.length) : t == "string" && e in r) ? nn(r[e], n) : !1;
210}
211function Et(n) {
212 return mn(function(e, r) {
213 var t = -1, i = r.length, a = i > 1 ? r[i - 1] : void 0, o = i > 2 ? r[2] : void 0;
214 for (a = n.length > 3 && typeof a == "function" ? (i--, a) : void 0, o && z(r[0], r[1], o) && (a = i < 3 ? void 0 : a, i = 1), e = Object(e); ++t < i; ) {
215 var u = r[t];
216 u && n(e, u, t, a);
217 }
218 return e;
219 });
220}
221function yt(n, e) {
222 for (var r = -1, t = Array(n); ++r < n; )
223 t[r] = e(r);
224 return t;
225}
226var xt = Object.prototype, Tt = xt.hasOwnProperty;
227function Je(n, e) {
228 var r = _(n), t = !r && X(n), i = !r && !t && Z(n), a = !r && !t && !i && Un(n), o = r || t || i || a, u = o ? yt(n.length, String) : [], s = u.length;
229 for (var f in n)
230 (e || Tt.call(n, f)) && !(o && // Safari 9 has enumerable `arguments.length` in strict mode.
231 (f == "length" || // Node.js 0.10 has enumerable non-index properties on buffers.
232 i && (f == "offset" || f == "parent") || // PhantomJS 2 has enumerable non-index properties on typed arrays.
233 a && (f == "buffer" || f == "byteLength" || f == "byteOffset") || // Skip index properties.
234 pn(f, s))) && u.push(f);
235 return u;
236}
237function T(n) {
238 return D(n) ? Je(n) : Dr(n);
239}
240function Ot(n) {
241 var e = [];
242 if (n != null)
243 for (var r in Object(n))
244 e.push(r);
245 return e;
246}
247var Lt = Object.prototype, At = Lt.hasOwnProperty;
248function Pt(n) {
249 if (!L(n))
250 return Ot(n);
251 var e = ke(n), r = [];
252 for (var t in n)
253 t == "constructor" && (e || !At.call(n, t)) || r.push(t);
254 return r;
255}
256function B(n) {
257 return D(n) ? Je(n, !0) : Pt(n);
258}
259var Nt = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, $t = /^\w*$/;
260function qn(n, e) {
261 if (_(n))
262 return !1;
263 var r = typeof n;
264 return r == "number" || r == "symbol" || r == "boolean" || n == null || R(n) ? !0 : $t.test(n) || !Nt.test(n) || e != null && n in Object(e);
265}
266var Ct = 500;
267function It(n) {
268 var e = Gr(n, function(t) {
269 return r.size === Ct && r.clear(), t;
270 }), r = e.cache;
271 return e;
272}
273var St = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g, Mt = /\\(\\)?/g, Rt = It(function(n) {
274 var e = [];
275 return n.charCodeAt(0) === 46 && e.push(""), n.replace(St, function(r, t, i, a) {
276 e.push(i ? a.replace(Mt, "$1") : t || r);
277 }), e;
278});
279const Ft = Rt;
280function je(n) {
281 return n == null ? "" : Ke(n);
282}
283function _n(n, e) {
284 return _(n) ? n : qn(n, e) ? [n] : Ft(je(n));
285}
286var Dt = 1 / 0;
287function rn(n) {
288 if (typeof n == "string" || R(n))
289 return n;
290 var e = n + "";
291 return e == "0" && 1 / n == -Dt ? "-0" : e;
292}
293function En(n, e) {
294 e = _n(e, n);
295 for (var r = 0, t = e.length; n != null && r < t; )
296 n = n[rn(e[r++])];
297 return r && r == t ? n : void 0;
298}
299function Gt(n, e, r) {
300 var t = n == null ? void 0 : En(n, e);
301 return t === void 0 ? r : t;
302}
303function Kn(n, e) {
304 for (var r = -1, t = e.length, i = n.length; ++r < t; )
305 n[i + r] = e[r];
306 return n;
307}
308var ge = $ ? $.isConcatSpreadable : void 0;
309function Bt(n) {
310 return _(n) || X(n) || !!(ge && n && n[ge]);
311}
312function yn(n, e, r, t, i) {
313 var a = -1, o = n.length;
314 for (r || (r = Bt), i || (i = []); ++a < o; ) {
315 var u = n[a];
316 e > 0 && r(u) ? e > 1 ? yn(u, e - 1, r, t, i) : Kn(i, u) : t || (i[i.length] = u);
317 }
318 return i;
319}
320function q(n) {
321 var e = n == null ? 0 : n.length;
322 return e ? yn(n, 1) : [];
323}
324function Ut(n) {
325 return Xe(ze(n, void 0, q), n + "");
326}
327var Yt = Br(Object.getPrototypeOf, Object);
328const Wn = Yt;
329var Ht = "[object Object]", kt = Function.prototype, qt = Object.prototype, Qe = kt.toString, Kt = qt.hasOwnProperty, Wt = Qe.call(Object);
330function Xt(n) {
331 if (!M(n) || He(n) != Ht)
332 return !1;
333 var e = Wn(n);
334 if (e === null)
335 return !0;
336 var r = Kt.call(e, "constructor") && e.constructor;
337 return typeof r == "function" && r instanceof r && Qe.call(r) == Wt;
338}
339function Zt(n, e, r, t) {
340 var i = -1, a = n == null ? 0 : n.length;
341 for (t && a && (r = n[++i]); ++i < a; )
342 r = e(r, n[i], i, n);
343 return r;
344}
345function Vt() {
346 this.__data__ = new Yn(), this.size = 0;
347}
348function zt(n) {
349 var e = this.__data__, r = e.delete(n);
350 return this.size = e.size, r;
351}
352function Jt(n) {
353 return this.__data__.get(n);
354}
355function jt(n) {
356 return this.__data__.has(n);
357}
358var Qt = 200;
359function ni(n, e) {
360 var r = this.__data__;
361 if (r instanceof Yn) {
362 var t = r.__data__;
363 if (!Ur || t.length < Qt - 1)
364 return t.push([n, e]), this.size = ++r.size, this;
365 r = this.__data__ = new qe(t);
366 }
367 return r.set(n, e), this.size = r.size, this;
368}
369function O(n) {
370 var e = this.__data__ = new Yn(n);
371 this.size = e.size;
372}
373O.prototype.clear = Vt;
374O.prototype.delete = zt;
375O.prototype.get = Jt;
376O.prototype.has = jt;
377O.prototype.set = ni;
378function ei(n, e) {
379 return n && en(e, T(e), n);
380}
381function ri(n, e) {
382 return n && en(e, B(e), n);
383}
384var nr = typeof exports == "object" && exports && !exports.nodeType && exports, pe = nr && typeof module == "object" && module && !module.nodeType && module, ti = pe && pe.exports === nr, be = ti ? Hn.Buffer : void 0, we = be ? be.allocUnsafe : void 0;
385function er(n, e) {
386 if (e)
387 return n.slice();
388 var r = n.length, t = we ? we(r) : new n.constructor(r);
389 return n.copy(t), t;
390}
391function rr(n, e) {
392 for (var r = -1, t = n == null ? 0 : n.length, i = 0, a = []; ++r < t; ) {
393 var o = n[r];
394 e(o, r, n) && (a[i++] = o);
395 }
396 return a;
397}
398function tr() {
399 return [];
400}
401var ii = Object.prototype, ai = ii.propertyIsEnumerable, me = Object.getOwnPropertySymbols, oi = me ? function(n) {
402 return n == null ? [] : (n = Object(n), rr(me(n), function(e) {
403 return ai.call(n, e);
404 }));
405} : tr;
406const Xn = oi;
407function ui(n, e) {
408 return en(n, Xn(n), e);
409}
410var si = Object.getOwnPropertySymbols, fi = si ? function(n) {
411 for (var e = []; n; )
412 Kn(e, Xn(n)), n = Wn(n);
413 return e;
414} : tr;
415const ir = fi;
416function di(n, e) {
417 return en(n, ir(n), e);
418}
419function ar(n, e, r) {
420 var t = e(n);
421 return _(n) ? t : Kn(t, r(n));
422}
423function Rn(n) {
424 return ar(n, T, Xn);
425}
426function ci(n) {
427 return ar(n, B, ir);
428}
429var li = Object.prototype, hi = li.hasOwnProperty;
430function vi(n) {
431 var e = n.length, r = new n.constructor(e);
432 return e && typeof n[0] == "string" && hi.call(n, "index") && (r.index = n.index, r.input = n.input), r;
433}
434var gi = Hn.Uint8Array;
435const hn = gi;
436function Zn(n) {
437 var e = new n.constructor(n.byteLength);
438 return new hn(e).set(new hn(n)), e;
439}
440function pi(n, e) {
441 var r = e ? Zn(n.buffer) : n.buffer;
442 return new n.constructor(r, n.byteOffset, n.byteLength);
443}
444var bi = /\w*$/;
445function wi(n) {
446 var e = new n.constructor(n.source, bi.exec(n));
447 return e.lastIndex = n.lastIndex, e;
448}
449var _e = $ ? $.prototype : void 0, Ee = _e ? _e.valueOf : void 0;
450function mi(n) {
451 return Ee ? Object(Ee.call(n)) : {};
452}
453function or(n, e) {
454 var r = e ? Zn(n.buffer) : n.buffer;
455 return new n.constructor(r, n.byteOffset, n.length);
456}
457var _i = "[object Boolean]", Ei = "[object Date]", yi = "[object Map]", xi = "[object Number]", Ti = "[object RegExp]", Oi = "[object Set]", Li = "[object String]", Ai = "[object Symbol]", Pi = "[object ArrayBuffer]", Ni = "[object DataView]", $i = "[object Float32Array]", Ci = "[object Float64Array]", Ii = "[object Int8Array]", Si = "[object Int16Array]", Mi = "[object Int32Array]", Ri = "[object Uint8Array]", Fi = "[object Uint8ClampedArray]", Di = "[object Uint16Array]", Gi = "[object Uint32Array]";
458function Bi(n, e, r) {
459 var t = n.constructor;
460 switch (e) {
461 case Pi:
462 return Zn(n);
463 case _i:
464 case Ei:
465 return new t(+n);
466 case Ni:
467 return pi(n, r);
468 case $i:
469 case Ci:
470 case Ii:
471 case Si:
472 case Mi:
473 case Ri:
474 case Fi:
475 case Di:
476 case Gi:
477 return or(n, r);
478 case yi:
479 return new t();
480 case xi:
481 case Li:
482 return new t(n);
483 case Ti:
484 return wi(n);
485 case Oi:
486 return new t();
487 case Ai:
488 return mi(n);
489 }
490}
491function ur(n) {
492 return typeof n.constructor == "function" && !ke(n) ? rt(Wn(n)) : {};
493}
494var Ui = "[object Map]";
495function Yi(n) {
496 return M(n) && V(n) == Ui;
497}
498var ye = cn && cn.isMap, Hi = ye ? kn(ye) : Yi;
499const ki = Hi;
500var qi = "[object Set]";
501function Ki(n) {
502 return M(n) && V(n) == qi;
503}
504var xe = cn && cn.isSet, Wi = xe ? kn(xe) : Ki;
505const Xi = Wi;
506var Zi = 1, Vi = 2, zi = 4, sr = "[object Arguments]", Ji = "[object Array]", ji = "[object Boolean]", Qi = "[object Date]", na = "[object Error]", fr = "[object Function]", ea = "[object GeneratorFunction]", ra = "[object Map]", ta = "[object Number]", dr = "[object Object]", ia = "[object RegExp]", aa = "[object Set]", oa = "[object String]", ua = "[object Symbol]", sa = "[object WeakMap]", fa = "[object ArrayBuffer]", da = "[object DataView]", ca = "[object Float32Array]", la = "[object Float64Array]", ha = "[object Int8Array]", va = "[object Int16Array]", ga = "[object Int32Array]", pa = "[object Uint8Array]", ba = "[object Uint8ClampedArray]", wa = "[object Uint16Array]", ma = "[object Uint32Array]", w = {};
507w[sr] = w[Ji] = w[fa] = w[da] = w[ji] = w[Qi] = w[ca] = w[la] = w[ha] = w[va] = w[ga] = w[ra] = w[ta] = w[dr] = w[ia] = w[aa] = w[oa] = w[ua] = w[pa] = w[ba] = w[wa] = w[ma] = !0;
508w[na] = w[fr] = w[sa] = !1;
509function dn(n, e, r, t, i, a) {
510 var o, u = e & Zi, s = e & Vi, f = e & zi;
511 if (r && (o = i ? r(n, t, i, a) : r(n)), o !== void 0)
512 return o;
513 if (!L(n))
514 return n;
515 var d = _(n);
516 if (d) {
517 if (o = vi(n), !u)
518 return We(n, o);
519 } else {
520 var l = V(n), h = l == fr || l == ea;
521 if (Z(n))
522 return er(n, u);
523 if (l == dr || l == sr || h && !i) {
524 if (o = s || h ? {} : ur(n), !u)
525 return s ? di(n, ri(o, n)) : ui(n, ei(o, n));
526 } else {
527 if (!w[l])
528 return i ? n : {};
529 o = Bi(n, l, u);
530 }
531 }
532 a || (a = new O());
533 var g = a.get(n);
534 if (g)
535 return g;
536 a.set(n, o), Xi(n) ? n.forEach(function(m) {
537 o.add(dn(m, e, r, m, n, a));
538 }) : ki(n) && n.forEach(function(m, E) {
539 o.set(E, dn(m, e, r, E, n, a));
540 });
541 var v = f ? s ? ci : Rn : s ? B : T, p = d ? void 0 : v(n);
542 return Ze(p || n, function(m, E) {
543 p && (E = m, m = n[E]), wn(o, E, dn(m, e, r, E, n, a));
544 }), o;
545}
546var _a = 1, Ea = 4;
547function ya(n) {
548 return dn(n, _a | Ea);
549}
550var xa = "__lodash_hash_undefined__";
551function Ta(n) {
552 return this.__data__.set(n, xa), this;
553}
554function Oa(n) {
555 return this.__data__.has(n);
556}
557function J(n) {
558 var e = -1, r = n == null ? 0 : n.length;
559 for (this.__data__ = new qe(); ++e < r; )
560 this.add(n[e]);
561}
562J.prototype.add = J.prototype.push = Ta;
563J.prototype.has = Oa;
564function La(n, e) {
565 for (var r = -1, t = n == null ? 0 : n.length; ++r < t; )
566 if (e(n[r], r, n))
567 return !0;
568 return !1;
569}
570function cr(n, e) {
571 return n.has(e);
572}
573var Aa = 1, Pa = 2;
574function lr(n, e, r, t, i, a) {
575 var o = r & Aa, u = n.length, s = e.length;
576 if (u != s && !(o && s > u))
577 return !1;
578 var f = a.get(n), d = a.get(e);
579 if (f && d)
580 return f == e && d == n;
581 var l = -1, h = !0, g = r & Pa ? new J() : void 0;
582 for (a.set(n, e), a.set(e, n); ++l < u; ) {
583 var v = n[l], p = e[l];
584 if (t)
585 var m = o ? t(p, v, l, e, n, a) : t(v, p, l, n, e, a);
586 if (m !== void 0) {
587 if (m)
588 continue;
589 h = !1;
590 break;
591 }
592 if (g) {
593 if (!La(e, function(E, I) {
594 if (!cr(g, I) && (v === E || i(v, E, r, t, a)))
595 return g.push(I);
596 })) {
597 h = !1;
598 break;
599 }
600 } else if (!(v === p || i(v, p, r, t, a))) {
601 h = !1;
602 break;
603 }
604 }
605 return a.delete(n), a.delete(e), h;
606}
607function Na(n) {
608 var e = -1, r = Array(n.size);
609 return n.forEach(function(t, i) {
610 r[++e] = [i, t];
611 }), r;
612}
613function Vn(n) {
614 var e = -1, r = Array(n.size);
615 return n.forEach(function(t) {
616 r[++e] = t;
617 }), r;
618}
619var $a = 1, Ca = 2, Ia = "[object Boolean]", Sa = "[object Date]", Ma = "[object Error]", Ra = "[object Map]", Fa = "[object Number]", Da = "[object RegExp]", Ga = "[object Set]", Ba = "[object String]", Ua = "[object Symbol]", Ya = "[object ArrayBuffer]", Ha = "[object DataView]", Te = $ ? $.prototype : void 0, An = Te ? Te.valueOf : void 0;
620function ka(n, e, r, t, i, a, o) {
621 switch (r) {
622 case Ha:
623 if (n.byteLength != e.byteLength || n.byteOffset != e.byteOffset)
624 return !1;
625 n = n.buffer, e = e.buffer;
626 case Ya:
627 return !(n.byteLength != e.byteLength || !a(new hn(n), new hn(e)));
628 case Ia:
629 case Sa:
630 case Fa:
631 return nn(+n, +e);
632 case Ma:
633 return n.name == e.name && n.message == e.message;
634 case Da:
635 case Ba:
636 return n == e + "";
637 case Ra:
638 var u = Na;
639 case Ga:
640 var s = t & $a;
641 if (u || (u = Vn), n.size != e.size && !s)
642 return !1;
643 var f = o.get(n);
644 if (f)
645 return f == e;
646 t |= Ca, o.set(n, e);
647 var d = lr(u(n), u(e), t, i, a, o);
648 return o.delete(n), d;
649 case Ua:
650 if (An)
651 return An.call(n) == An.call(e);
652 }
653 return !1;
654}
655var qa = 1, Ka = Object.prototype, Wa = Ka.hasOwnProperty;
656function Xa(n, e, r, t, i, a) {
657 var o = r & qa, u = Rn(n), s = u.length, f = Rn(e), d = f.length;
658 if (s != d && !o)
659 return !1;
660 for (var l = s; l--; ) {
661 var h = u[l];
662 if (!(o ? h in e : Wa.call(e, h)))
663 return !1;
664 }
665 var g = a.get(n), v = a.get(e);
666 if (g && v)
667 return g == e && v == n;
668 var p = !0;
669 a.set(n, e), a.set(e, n);
670 for (var m = o; ++l < s; ) {
671 h = u[l];
672 var E = n[h], I = e[h];
673 if (t)
674 var ue = o ? t(I, E, h, e, n, a) : t(E, I, h, n, e, a);
675 if (!(ue === void 0 ? E === I || i(E, I, r, t, a) : ue)) {
676 p = !1;
677 break;
678 }
679 m || (m = h == "constructor");
680 }
681 if (p && !m) {
682 var on = n.constructor, un = e.constructor;
683 on != un && "constructor" in n && "constructor" in e && !(typeof on == "function" && on instanceof on && typeof un == "function" && un instanceof un) && (p = !1);
684 }
685 return a.delete(n), a.delete(e), p;
686}
687var Za = 1, Oe = "[object Arguments]", Le = "[object Array]", sn = "[object Object]", Va = Object.prototype, Ae = Va.hasOwnProperty;
688function za(n, e, r, t, i, a) {
689 var o = _(n), u = _(e), s = o ? Le : V(n), f = u ? Le : V(e);
690 s = s == Oe ? sn : s, f = f == Oe ? sn : f;
691 var d = s == sn, l = f == sn, h = s == f;
692 if (h && Z(n)) {
693 if (!Z(e))
694 return !1;
695 o = !0, d = !1;
696 }
697 if (h && !d)
698 return a || (a = new O()), o || Un(n) ? lr(n, e, r, t, i, a) : ka(n, e, s, r, t, i, a);
699 if (!(r & Za)) {
700 var g = d && Ae.call(n, "__wrapped__"), v = l && Ae.call(e, "__wrapped__");
701 if (g || v) {
702 var p = g ? n.value() : n, m = v ? e.value() : e;
703 return a || (a = new O()), i(p, m, r, t, a);
704 }
705 }
706 return h ? (a || (a = new O()), Xa(n, e, r, t, i, a)) : !1;
707}
708function zn(n, e, r, t, i) {
709 return n === e ? !0 : n == null || e == null || !M(n) && !M(e) ? n !== n && e !== e : za(n, e, r, t, zn, i);
710}
711var Ja = 1, ja = 2;
712function Qa(n, e, r, t) {
713 var i = r.length, a = i, o = !t;
714 if (n == null)
715 return !a;
716 for (n = Object(n); i--; ) {
717 var u = r[i];
718 if (o && u[2] ? u[1] !== n[u[0]] : !(u[0] in n))
719 return !1;
720 }
721 for (; ++i < a; ) {
722 u = r[i];
723 var s = u[0], f = n[s], d = u[1];
724 if (o && u[2]) {
725 if (f === void 0 && !(s in n))
726 return !1;
727 } else {
728 var l = new O();
729 if (t)
730 var h = t(f, d, s, n, e, l);
731 if (!(h === void 0 ? zn(d, f, Ja | ja, t, l) : h))
732 return !1;
733 }
734 }
735 return !0;
736}
737function hr(n) {
738 return n === n && !L(n);
739}
740function no(n) {
741 for (var e = T(n), r = e.length; r--; ) {
742 var t = e[r], i = n[t];
743 e[r] = [t, i, hr(i)];
744 }
745 return e;
746}
747function vr(n, e) {
748 return function(r) {
749 return r == null ? !1 : r[n] === e && (e !== void 0 || n in Object(r));
750 };
751}
752function eo(n) {
753 var e = no(n);
754 return e.length == 1 && e[0][2] ? vr(e[0][0], e[0][1]) : function(r) {
755 return r === n || Qa(r, n, e);
756 };
757}
758function ro(n, e) {
759 return n != null && e in Object(n);
760}
761function gr(n, e, r) {
762 e = _n(e, n);
763 for (var t = -1, i = e.length, a = !1; ++t < i; ) {
764 var o = rn(e[t]);
765 if (!(a = n != null && r(n, o)))
766 break;
767 n = n[o];
768 }
769 return a || ++t != i ? a : (i = n == null ? 0 : n.length, !!i && Yr(i) && pn(o, i) && (_(n) || X(n)));
770}
771function pr(n, e) {
772 return n != null && gr(n, e, ro);
773}
774var to = 1, io = 2;
775function ao(n, e) {
776 return qn(n) && hr(e) ? vr(rn(n), e) : function(r) {
777 var t = Gt(r, n);
778 return t === void 0 && t === e ? pr(r, n) : zn(e, t, to | io);
779 };
780}
781function oo(n) {
782 return function(e) {
783 return e == null ? void 0 : e[n];
784 };
785}
786function uo(n) {
787 return function(e) {
788 return En(e, n);
789 };
790}
791function so(n) {
792 return qn(n) ? oo(rn(n)) : uo(n);
793}
794function C(n) {
795 return typeof n == "function" ? n : n == null ? G : typeof n == "object" ? _(n) ? ao(n[0], n[1]) : eo(n) : so(n);
796}
797function fo(n) {
798 return function(e, r, t) {
799 for (var i = -1, a = Object(e), o = t(e), u = o.length; u--; ) {
800 var s = o[n ? u : ++i];
801 if (r(a[s], s, a) === !1)
802 break;
803 }
804 return e;
805 };
806}
807var co = fo();
808const Jn = co;
809function jn(n, e) {
810 return n && Jn(n, e, T);
811}
812function lo(n, e) {
813 return function(r, t) {
814 if (r == null)
815 return r;
816 if (!D(r))
817 return n(r, t);
818 for (var i = r.length, a = e ? i : -1, o = Object(r); (e ? a-- : ++a < i) && t(o[a], a, o) !== !1; )
819 ;
820 return r;
821 };
822}
823var ho = lo(jn);
824const xn = ho;
825var vo = function() {
826 return Hn.Date.now();
827};
828const Pe = vo;
829var br = Object.prototype, go = br.hasOwnProperty, po = mn(function(n, e) {
830 n = Object(n);
831 var r = -1, t = e.length, i = t > 2 ? e[2] : void 0;
832 for (i && z(e[0], e[1], i) && (t = 1); ++r < t; )
833 for (var a = e[r], o = B(a), u = -1, s = o.length; ++u < s; ) {
834 var f = o[u], d = n[f];
835 (d === void 0 || nn(d, br[f]) && !go.call(n, f)) && (n[f] = a[f]);
836 }
837 return n;
838});
839const bo = po;
840function Fn(n, e, r) {
841 (r !== void 0 && !nn(n[e], r) || r === void 0 && !(e in n)) && bn(n, e, r);
842}
843function wr(n) {
844 return M(n) && D(n);
845}
846function Dn(n, e) {
847 if (!(e === "constructor" && typeof n[e] == "function") && e != "__proto__")
848 return n[e];
849}
850function wo(n) {
851 return en(n, B(n));
852}
853function mo(n, e, r, t, i, a, o) {
854 var u = Dn(n, r), s = Dn(e, r), f = o.get(s);
855 if (f) {
856 Fn(n, r, f);
857 return;
858 }
859 var d = a ? a(u, s, r + "", n, e, o) : void 0, l = d === void 0;
860 if (l) {
861 var h = _(s), g = !h && Z(s), v = !h && !g && Un(s);
862 d = s, h || g || v ? _(u) ? d = u : wr(u) ? d = We(u) : g ? (l = !1, d = er(s, !0)) : v ? (l = !1, d = or(s, !0)) : d = [] : Xt(s) || X(s) ? (d = u, X(u) ? d = wo(u) : (!L(u) || Mn(u)) && (d = ur(s))) : l = !1;
863 }
864 l && (o.set(s, d), i(d, s, t, a, o), o.delete(s)), Fn(n, r, d);
865}
866function mr(n, e, r, t, i) {
867 n !== e && Jn(e, function(a, o) {
868 if (i || (i = new O()), L(a))
869 mo(n, e, o, r, mr, t, i);
870 else {
871 var u = t ? t(Dn(n, o), a, o + "", n, e, i) : void 0;
872 u === void 0 && (u = a), Fn(n, o, u);
873 }
874 }, B);
875}
876function _o(n, e, r) {
877 for (var t = -1, i = n == null ? 0 : n.length; ++t < i; )
878 if (r(e, n[t]))
879 return !0;
880 return !1;
881}
882function vn(n) {
883 var e = n == null ? 0 : n.length;
884 return e ? n[e - 1] : void 0;
885}
886function Qn(n) {
887 return typeof n == "function" ? n : G;
888}
889function c(n, e) {
890 var r = _(n) ? Ze : xn;
891 return r(n, Qn(e));
892}
893function Eo(n, e) {
894 var r = [];
895 return xn(n, function(t, i, a) {
896 e(t, i, a) && r.push(t);
897 }), r;
898}
899function P(n, e) {
900 var r = _(n) ? rr : Eo;
901 return r(n, C(e));
902}
903function yo(n) {
904 return function(e, r, t) {
905 var i = Object(e);
906 if (!D(e)) {
907 var a = C(r);
908 e = T(e), r = function(u) {
909 return a(i[u], u, i);
910 };
911 }
912 var o = n(e, r, t);
913 return o > -1 ? i[a ? e[o] : o] : void 0;
914 };
915}
916var xo = Math.max;
917function To(n, e, r) {
918 var t = n == null ? 0 : n.length;
919 if (!t)
920 return -1;
921 var i = r == null ? 0 : nt(r);
922 return i < 0 && (i = xo(t + i, 0)), Ve(n, C(e), i);
923}
924var Oo = yo(To);
925const ne = Oo;
926function _r(n, e) {
927 var r = -1, t = D(n) ? Array(n.length) : [];
928 return xn(n, function(i, a, o) {
929 t[++r] = e(i, a, o);
930 }), t;
931}
932function y(n, e) {
933 var r = _(n) ? H : _r;
934 return r(n, C(e));
935}
936function Lo(n, e) {
937 return n == null ? n : Jn(n, Qn(e), B);
938}
939function Ao(n, e) {
940 return n && jn(n, Qn(e));
941}
942function Po(n, e) {
943 return n > e;
944}
945var No = Object.prototype, $o = No.hasOwnProperty;
946function Co(n, e) {
947 return n != null && $o.call(n, e);
948}
949function b(n, e) {
950 return n != null && gr(n, e, Co);
951}
952function Io(n, e) {
953 return H(e, function(r) {
954 return n[r];
955 });
956}
957function N(n) {
958 return n == null ? [] : Io(n, T(n));
959}
960function x(n) {
961 return n === void 0;
962}
963function Er(n, e) {
964 return n < e;
965}
966function Tn(n, e) {
967 var r = {};
968 return e = C(e), jn(n, function(t, i, a) {
969 bn(r, i, e(t, i, a));
970 }), r;
971}
972function ee(n, e, r) {
973 for (var t = -1, i = n.length; ++t < i; ) {
974 var a = n[t], o = e(a);
975 if (o != null && (u === void 0 ? o === o && !R(o) : r(o, u)))
976 var u = o, s = a;
977 }
978 return s;
979}
980function F(n) {
981 return n && n.length ? ee(n, G, Po) : void 0;
982}
983var So = Et(function(n, e, r) {
984 mr(n, e, r);
985});
986const Gn = So;
987function j(n) {
988 return n && n.length ? ee(n, G, Er) : void 0;
989}
990function re(n, e) {
991 return n && n.length ? ee(n, C(e), Er) : void 0;
992}
993function Mo(n, e, r, t) {
994 if (!L(n))
995 return n;
996 e = _n(e, n);
997 for (var i = -1, a = e.length, o = a - 1, u = n; u != null && ++i < a; ) {
998 var s = rn(e[i]), f = r;
999 if (s === "__proto__" || s === "constructor" || s === "prototype")
1000 return n;
1001 if (i != o) {
1002 var d = u[s];
1003 f = t ? t(d, s, u) : void 0, f === void 0 && (f = L(d) ? d : pn(e[i + 1]) ? [] : {});
1004 }
1005 wn(u, s, f), u = u[s];
1006 }
1007 return n;
1008}
1009function Ro(n, e, r) {
1010 for (var t = -1, i = e.length, a = {}; ++t < i; ) {
1011 var o = e[t], u = En(n, o);
1012 r(u, o) && Mo(a, _n(o, n), u);
1013 }
1014 return a;
1015}
1016function Fo(n, e) {
1017 var r = n.length;
1018 for (n.sort(e); r--; )
1019 n[r] = n[r].value;
1020 return n;
1021}
1022function Do(n, e) {
1023 if (n !== e) {
1024 var r = n !== void 0, t = n === null, i = n === n, a = R(n), o = e !== void 0, u = e === null, s = e === e, f = R(e);
1025 if (!u && !f && !a && n > e || a && o && s && !u && !f || t && o && s || !r && s || !i)
1026 return 1;
1027 if (!t && !a && !f && n < e || f && r && i && !t && !a || u && r && i || !o && i || !s)
1028 return -1;
1029 }
1030 return 0;
1031}
1032function Go(n, e, r) {
1033 for (var t = -1, i = n.criteria, a = e.criteria, o = i.length, u = r.length; ++t < o; ) {
1034 var s = Do(i[t], a[t]);
1035 if (s) {
1036 if (t >= u)
1037 return s;
1038 var f = r[t];
1039 return s * (f == "desc" ? -1 : 1);
1040 }
1041 }
1042 return n.index - e.index;
1043}
1044function Bo(n, e, r) {
1045 e.length ? e = H(e, function(a) {
1046 return _(a) ? function(o) {
1047 return En(o, a.length === 1 ? a[0] : a);
1048 } : a;
1049 }) : e = [G];
1050 var t = -1;
1051 e = H(e, kn(C));
1052 var i = _r(n, function(a, o, u) {
1053 var s = H(e, function(f) {
1054 return f(a);
1055 });
1056 return { criteria: s, index: ++t, value: a };
1057 });
1058 return Fo(i, function(a, o) {
1059 return Go(a, o, r);
1060 });
1061}
1062function Uo(n, e) {
1063 return Ro(n, e, function(r, t) {
1064 return pr(n, t);
1065 });
1066}
1067var Yo = Ut(function(n, e) {
1068 return n == null ? {} : Uo(n, e);
1069});
1070const gn = Yo;
1071var Ho = Math.ceil, ko = Math.max;
1072function qo(n, e, r, t) {
1073 for (var i = -1, a = ko(Ho((e - n) / (r || 1)), 0), o = Array(a); a--; )
1074 o[t ? a : ++i] = n, n += r;
1075 return o;
1076}
1077function Ko(n) {
1078 return function(e, r, t) {
1079 return t && typeof t != "number" && z(e, r, t) && (r = t = void 0), e = fn(e), r === void 0 ? (r = e, e = 0) : r = fn(r), t = t === void 0 ? e < r ? 1 : -1 : fn(t), qo(e, r, t, n);
1080 };
1081}
1082var Wo = Ko();
1083const k = Wo;
1084function Xo(n, e, r, t, i) {
1085 return i(n, function(a, o, u) {
1086 r = t ? (t = !1, a) : e(r, a, o, u);
1087 }), r;
1088}
1089function tn(n, e, r) {
1090 var t = _(n) ? Zt : Xo, i = arguments.length < 3;
1091 return t(n, C(e), r, i, xn);
1092}
1093var Zo = mn(function(n, e) {
1094 if (n == null)
1095 return [];
1096 var r = e.length;
1097 return r > 1 && z(n, e[0], e[1]) ? e = [] : r > 2 && z(e[0], e[1], e[2]) && (e = [e[0]]), Bo(n, yn(e, 1), []);
1098});
1099const an = Zo;
1100var Vo = 1 / 0, zo = Ln && 1 / Vn(new Ln([, -0]))[1] == Vo ? function(n) {
1101 return new Ln(n);
1102} : it;
1103const Jo = zo;
1104var jo = 200;
1105function Qo(n, e, r) {
1106 var t = -1, i = pt, a = n.length, o = !0, u = [], s = u;
1107 if (r)
1108 o = !1, i = _o;
1109 else if (a >= jo) {
1110 var f = e ? null : Jo(n);
1111 if (f)
1112 return Vn(f);
1113 o = !1, i = cr, s = new J();
1114 } else
1115 s = e ? [] : u;
1116 n:
1117 for (; ++t < a; ) {
1118 var d = n[t], l = e ? e(d) : d;
1119 if (d = r || d !== 0 ? d : 0, o && l === l) {
1120 for (var h = s.length; h--; )
1121 if (s[h] === l)
1122 continue n;
1123 e && s.push(l), u.push(d);
1124 } else
1125 i(s, l, r) || (s !== u && s.push(l), u.push(d));
1126 }
1127 return u;
1128}
1129var nu = mn(function(n) {
1130 return Qo(yn(n, 1, wr, !0));
1131});
1132const eu = nu;
1133var ru = 0;
1134function te(n) {
1135 var e = ++ru;
1136 return je(n) + e;
1137}
1138function tu(n, e, r) {
1139 for (var t = -1, i = n.length, a = e.length, o = {}; ++t < i; ) {
1140 var u = t < a ? e[t] : void 0;
1141 r(o, n[t], u);
1142 }
1143 return o;
1144}
1145function iu(n, e) {
1146 return tu(n || [], e || [], wn);
1147}
1148var au = "\0", S = "\0", Ne = "";
1149class A {
1150 constructor(e = {}) {
1151 this._isDirected = b(e, "directed") ? e.directed : !0, this._isMultigraph = b(e, "multigraph") ? e.multigraph : !1, this._isCompound = b(e, "compound") ? e.compound : !1, this._label = void 0, this._defaultNodeLabelFn = Y(void 0), this._defaultEdgeLabelFn = Y(void 0), this._nodes = {}, this._isCompound && (this._parent = {}, this._children = {}, this._children[S] = {}), this._in = {}, this._preds = {}, this._out = {}, this._sucs = {}, this._edgeObjs = {}, this._edgeLabels = {};
1152 }
1153 /* === Graph functions ========= */
1154 isDirected() {
1155 return this._isDirected;
1156 }
1157 isMultigraph() {
1158 return this._isMultigraph;
1159 }
1160 isCompound() {
1161 return this._isCompound;
1162 }
1163 setGraph(e) {
1164 return this._label = e, this;
1165 }
1166 graph() {
1167 return this._label;
1168 }
1169 /* === Node functions ========== */
1170 setDefaultNodeLabel(e) {
1171 return Mn(e) || (e = Y(e)), this._defaultNodeLabelFn = e, this;
1172 }
1173 nodeCount() {
1174 return this._nodeCount;
1175 }
1176 nodes() {
1177 return T(this._nodes);
1178 }
1179 sources() {
1180 var e = this;
1181 return P(this.nodes(), function(r) {
1182 return se(e._in[r]);
1183 });
1184 }
1185 sinks() {
1186 var e = this;
1187 return P(this.nodes(), function(r) {
1188 return se(e._out[r]);
1189 });
1190 }
1191 setNodes(e, r) {
1192 var t = arguments, i = this;
1193 return c(e, function(a) {
1194 t.length > 1 ? i.setNode(a, r) : i.setNode(a);
1195 }), this;
1196 }
1197 setNode(e, r) {
1198 return b(this._nodes, e) ? (arguments.length > 1 && (this._nodes[e] = r), this) : (this._nodes[e] = arguments.length > 1 ? r : this._defaultNodeLabelFn(e), this._isCompound && (this._parent[e] = S, this._children[e] = {}, this._children[S][e] = !0), this._in[e] = {}, this._preds[e] = {}, this._out[e] = {}, this._sucs[e] = {}, ++this._nodeCount, this);
1199 }
1200 node(e) {
1201 return this._nodes[e];
1202 }
1203 hasNode(e) {
1204 return b(this._nodes, e);
1205 }
1206 removeNode(e) {
1207 var r = this;
1208 if (b(this._nodes, e)) {
1209 var t = function(i) {
1210 r.removeEdge(r._edgeObjs[i]);
1211 };
1212 delete this._nodes[e], this._isCompound && (this._removeFromParentsChildList(e), delete this._parent[e], c(this.children(e), function(i) {
1213 r.setParent(i);
1214 }), delete this._children[e]), c(T(this._in[e]), t), delete this._in[e], delete this._preds[e], c(T(this._out[e]), t), delete this._out[e], delete this._sucs[e], --this._nodeCount;
1215 }
1216 return this;
1217 }
1218 setParent(e, r) {
1219 if (!this._isCompound)
1220 throw new Error("Cannot set parent in a non-compound graph");
1221 if (x(r))
1222 r = S;
1223 else {
1224 r += "";
1225 for (var t = r; !x(t); t = this.parent(t))
1226 if (t === e)
1227 throw new Error("Setting " + r + " as parent of " + e + " would create a cycle");
1228 this.setNode(r);
1229 }
1230 return this.setNode(e), this._removeFromParentsChildList(e), this._parent[e] = r, this._children[r][e] = !0, this;
1231 }
1232 _removeFromParentsChildList(e) {
1233 delete this._children[this._parent[e]][e];
1234 }
1235 parent(e) {
1236 if (this._isCompound) {
1237 var r = this._parent[e];
1238 if (r !== S)
1239 return r;
1240 }
1241 }
1242 children(e) {
1243 if (x(e) && (e = S), this._isCompound) {
1244 var r = this._children[e];
1245 if (r)
1246 return T(r);
1247 } else {
1248 if (e === S)
1249 return this.nodes();
1250 if (this.hasNode(e))
1251 return [];
1252 }
1253 }
1254 predecessors(e) {
1255 var r = this._preds[e];
1256 if (r)
1257 return T(r);
1258 }
1259 successors(e) {
1260 var r = this._sucs[e];
1261 if (r)
1262 return T(r);
1263 }
1264 neighbors(e) {
1265 var r = this.predecessors(e);
1266 if (r)
1267 return eu(r, this.successors(e));
1268 }
1269 isLeaf(e) {
1270 var r;
1271 return this.isDirected() ? r = this.successors(e) : r = this.neighbors(e), r.length === 0;
1272 }
1273 filterNodes(e) {
1274 var r = new this.constructor({
1275 directed: this._isDirected,
1276 multigraph: this._isMultigraph,
1277 compound: this._isCompound
1278 });
1279 r.setGraph(this.graph());
1280 var t = this;
1281 c(this._nodes, function(o, u) {
1282 e(u) && r.setNode(u, o);
1283 }), c(this._edgeObjs, function(o) {
1284 r.hasNode(o.v) && r.hasNode(o.w) && r.setEdge(o, t.edge(o));
1285 });
1286 var i = {};
1287 function a(o) {
1288 var u = t.parent(o);
1289 return u === void 0 || r.hasNode(u) ? (i[o] = u, u) : u in i ? i[u] : a(u);
1290 }
1291 return this._isCompound && c(r.nodes(), function(o) {
1292 r.setParent(o, a(o));
1293 }), r;
1294 }
1295 /* === Edge functions ========== */
1296 setDefaultEdgeLabel(e) {
1297 return Mn(e) || (e = Y(e)), this._defaultEdgeLabelFn = e, this;
1298 }
1299 edgeCount() {
1300 return this._edgeCount;
1301 }
1302 edges() {
1303 return N(this._edgeObjs);
1304 }
1305 setPath(e, r) {
1306 var t = this, i = arguments;
1307 return tn(e, function(a, o) {
1308 return i.length > 1 ? t.setEdge(a, o, r) : t.setEdge(a, o), o;
1309 }), this;
1310 }
1311 /*
1312 * setEdge(v, w, [value, [name]])
1313 * setEdge({ v, w, [name] }, [value])
1314 */
1315 setEdge() {
1316 var e, r, t, i, a = !1, o = arguments[0];
1317 typeof o == "object" && o !== null && "v" in o ? (e = o.v, r = o.w, t = o.name, arguments.length === 2 && (i = arguments[1], a = !0)) : (e = o, r = arguments[1], t = arguments[3], arguments.length > 2 && (i = arguments[2], a = !0)), e = "" + e, r = "" + r, x(t) || (t = "" + t);
1318 var u = W(this._isDirected, e, r, t);
1319 if (b(this._edgeLabels, u))
1320 return a && (this._edgeLabels[u] = i), this;
1321 if (!x(t) && !this._isMultigraph)
1322 throw new Error("Cannot set a named edge when isMultigraph = false");
1323 this.setNode(e), this.setNode(r), this._edgeLabels[u] = a ? i : this._defaultEdgeLabelFn(e, r, t);
1324 var s = ou(this._isDirected, e, r, t);
1325 return e = s.v, r = s.w, Object.freeze(s), this._edgeObjs[u] = s, $e(this._preds[r], e), $e(this._sucs[e], r), this._in[r][u] = s, this._out[e][u] = s, this._edgeCount++, this;
1326 }
1327 edge(e, r, t) {
1328 var i = arguments.length === 1 ? Pn(this._isDirected, arguments[0]) : W(this._isDirected, e, r, t);
1329 return this._edgeLabels[i];
1330 }
1331 hasEdge(e, r, t) {
1332 var i = arguments.length === 1 ? Pn(this._isDirected, arguments[0]) : W(this._isDirected, e, r, t);
1333 return b(this._edgeLabels, i);
1334 }
1335 removeEdge(e, r, t) {
1336 var i = arguments.length === 1 ? Pn(this._isDirected, arguments[0]) : W(this._isDirected, e, r, t), a = this._edgeObjs[i];
1337 return a && (e = a.v, r = a.w, delete this._edgeLabels[i], delete this._edgeObjs[i], Ce(this._preds[r], e), Ce(this._sucs[e], r), delete this._in[r][i], delete this._out[e][i], this._edgeCount--), this;
1338 }
1339 inEdges(e, r) {
1340 var t = this._in[e];
1341 if (t) {
1342 var i = N(t);
1343 return r ? P(i, function(a) {
1344 return a.v === r;
1345 }) : i;
1346 }
1347 }
1348 outEdges(e, r) {
1349 var t = this._out[e];
1350 if (t) {
1351 var i = N(t);
1352 return r ? P(i, function(a) {
1353 return a.w === r;
1354 }) : i;
1355 }
1356 }
1357 nodeEdges(e, r) {
1358 var t = this.inEdges(e, r);
1359 if (t)
1360 return t.concat(this.outEdges(e, r));
1361 }
1362}
1363A.prototype._nodeCount = 0;
1364A.prototype._edgeCount = 0;
1365function $e(n, e) {
1366 n[e] ? n[e]++ : n[e] = 1;
1367}
1368function Ce(n, e) {
1369 --n[e] || delete n[e];
1370}
1371function W(n, e, r, t) {
1372 var i = "" + e, a = "" + r;
1373 if (!n && i > a) {
1374 var o = i;
1375 i = a, a = o;
1376 }
1377 return i + Ne + a + Ne + (x(t) ? au : t);
1378}
1379function ou(n, e, r, t) {
1380 var i = "" + e, a = "" + r;
1381 if (!n && i > a) {
1382 var o = i;
1383 i = a, a = o;
1384 }
1385 var u = { v: i, w: a };
1386 return t && (u.name = t), u;
1387}
1388function Pn(n, e) {
1389 return W(n, e.v, e.w, e.name);
1390}
1391class uu {
1392 constructor() {
1393 var e = {};
1394 e._next = e._prev = e, this._sentinel = e;
1395 }
1396 dequeue() {
1397 var e = this._sentinel, r = e._prev;
1398 if (r !== e)
1399 return Ie(r), r;
1400 }
1401 enqueue(e) {
1402 var r = this._sentinel;
1403 e._prev && e._next && Ie(e), e._next = r._next, r._next._prev = e, r._next = e, e._prev = r;
1404 }
1405 toString() {
1406 for (var e = [], r = this._sentinel, t = r._prev; t !== r; )
1407 e.push(JSON.stringify(t, su)), t = t._prev;
1408 return "[" + e.join(", ") + "]";
1409 }
1410}
1411function Ie(n) {
1412 n._prev._next = n._next, n._next._prev = n._prev, delete n._next, delete n._prev;
1413}
1414function su(n, e) {
1415 if (n !== "_next" && n !== "_prev")
1416 return e;
1417}
1418var fu = Y(1);
1419function du(n, e) {
1420 if (n.nodeCount() <= 1)
1421 return [];
1422 var r = lu(n, e || fu), t = cu(r.graph, r.buckets, r.zeroIdx);
1423 return q(
1424 y(t, function(i) {
1425 return n.outEdges(i.v, i.w);
1426 })
1427 );
1428}
1429function cu(n, e, r) {
1430 for (var t = [], i = e[e.length - 1], a = e[0], o; n.nodeCount(); ) {
1431 for (; o = a.dequeue(); )
1432 Nn(n, e, r, o);
1433 for (; o = i.dequeue(); )
1434 Nn(n, e, r, o);
1435 if (n.nodeCount()) {
1436 for (var u = e.length - 2; u > 0; --u)
1437 if (o = e[u].dequeue(), o) {
1438 t = t.concat(Nn(n, e, r, o, !0));
1439 break;
1440 }
1441 }
1442 }
1443 return t;
1444}
1445function Nn(n, e, r, t, i) {
1446 var a = i ? [] : void 0;
1447 return c(n.inEdges(t.v), function(o) {
1448 var u = n.edge(o), s = n.node(o.v);
1449 i && a.push({ v: o.v, w: o.w }), s.out -= u, Bn(e, r, s);
1450 }), c(n.outEdges(t.v), function(o) {
1451 var u = n.edge(o), s = o.w, f = n.node(s);
1452 f.in -= u, Bn(e, r, f);
1453 }), n.removeNode(t.v), a;
1454}
1455function lu(n, e) {
1456 var r = new A(), t = 0, i = 0;
1457 c(n.nodes(), function(u) {
1458 r.setNode(u, { v: u, in: 0, out: 0 });
1459 }), c(n.edges(), function(u) {
1460 var s = r.edge(u.v, u.w) || 0, f = e(u), d = s + f;
1461 r.setEdge(u.v, u.w, d), i = Math.max(i, r.node(u.v).out += f), t = Math.max(t, r.node(u.w).in += f);
1462 });
1463 var a = k(i + t + 3).map(function() {
1464 return new uu();
1465 }), o = t + 1;
1466 return c(r.nodes(), function(u) {
1467 Bn(a, o, r.node(u));
1468 }), { graph: r, buckets: a, zeroIdx: o };
1469}
1470function Bn(n, e, r) {
1471 r.out ? r.in ? n[r.out - r.in + e].enqueue(r) : n[n.length - 1].enqueue(r) : n[0].enqueue(r);
1472}
1473function hu(n) {
1474 var e = n.graph().acyclicer === "greedy" ? du(n, r(n)) : vu(n);
1475 c(e, function(t) {
1476 var i = n.edge(t);
1477 n.removeEdge(t), i.forwardName = t.name, i.reversed = !0, n.setEdge(t.w, t.v, i, te("rev"));
1478 });
1479 function r(t) {
1480 return function(i) {
1481 return t.edge(i).weight;
1482 };
1483 }
1484}
1485function vu(n) {
1486 var e = [], r = {}, t = {};
1487 function i(a) {
1488 b(t, a) || (t[a] = !0, r[a] = !0, c(n.outEdges(a), function(o) {
1489 b(r, o.w) ? e.push(o) : i(o.w);
1490 }), delete r[a]);
1491 }
1492 return c(n.nodes(), i), e;
1493}
1494function gu(n) {
1495 c(n.edges(), function(e) {
1496 var r = n.edge(e);
1497 if (r.reversed) {
1498 n.removeEdge(e);
1499 var t = r.forwardName;
1500 delete r.reversed, delete r.forwardName, n.setEdge(e.w, e.v, r, t);
1501 }
1502 });
1503}
1504function K(n, e, r, t) {
1505 var i;
1506 do
1507 i = te(t);
1508 while (n.hasNode(i));
1509 return r.dummy = e, n.setNode(i, r), i;
1510}
1511function pu(n) {
1512 var e = new A().setGraph(n.graph());
1513 return c(n.nodes(), function(r) {
1514 e.setNode(r, n.node(r));
1515 }), c(n.edges(), function(r) {
1516 var t = e.edge(r.v, r.w) || { weight: 0, minlen: 1 }, i = n.edge(r);
1517 e.setEdge(r.v, r.w, {
1518 weight: t.weight + i.weight,
1519 minlen: Math.max(t.minlen, i.minlen)
1520 });
1521 }), e;
1522}
1523function yr(n) {
1524 var e = new A({ multigraph: n.isMultigraph() }).setGraph(n.graph());
1525 return c(n.nodes(), function(r) {
1526 n.children(r).length || e.setNode(r, n.node(r));
1527 }), c(n.edges(), function(r) {
1528 e.setEdge(r, n.edge(r));
1529 }), e;
1530}
1531function Se(n, e) {
1532 var r = n.x, t = n.y, i = e.x - r, a = e.y - t, o = n.width / 2, u = n.height / 2;
1533 if (!i && !a)
1534 throw new Error("Not possible to find intersection inside of the rectangle");
1535 var s, f;
1536 return Math.abs(a) * o > Math.abs(i) * u ? (a < 0 && (u = -u), s = u * i / a, f = u) : (i < 0 && (o = -o), s = o, f = o * a / i), { x: r + s, y: t + f };
1537}
1538function On(n) {
1539 var e = y(k(xr(n) + 1), function() {
1540 return [];
1541 });
1542 return c(n.nodes(), function(r) {
1543 var t = n.node(r), i = t.rank;
1544 x(i) || (e[i][t.order] = r);
1545 }), e;
1546}
1547function bu(n) {
1548 var e = j(
1549 y(n.nodes(), function(r) {
1550 return n.node(r).rank;
1551 })
1552 );
1553 c(n.nodes(), function(r) {
1554 var t = n.node(r);
1555 b(t, "rank") && (t.rank -= e);
1556 });
1557}
1558function wu(n) {
1559 var e = j(
1560 y(n.nodes(), function(a) {
1561 return n.node(a).rank;
1562 })
1563 ), r = [];
1564 c(n.nodes(), function(a) {
1565 var o = n.node(a).rank - e;
1566 r[o] || (r[o] = []), r[o].push(a);
1567 });
1568 var t = 0, i = n.graph().nodeRankFactor;
1569 c(r, function(a, o) {
1570 x(a) && o % i !== 0 ? --t : t && c(a, function(u) {
1571 n.node(u).rank += t;
1572 });
1573 });
1574}
1575function Me(n, e, r, t) {
1576 var i = {
1577 width: 0,
1578 height: 0
1579 };
1580 return arguments.length >= 4 && (i.rank = r, i.order = t), K(n, "border", i, e);
1581}
1582function xr(n) {
1583 return F(
1584 y(n.nodes(), function(e) {
1585 var r = n.node(e).rank;
1586 if (!x(r))
1587 return r;
1588 })
1589 );
1590}
1591function mu(n, e) {
1592 var r = { lhs: [], rhs: [] };
1593 return c(n, function(t) {
1594 e(t) ? r.lhs.push(t) : r.rhs.push(t);
1595 }), r;
1596}
1597function _u(n, e) {
1598 var r = Pe();
1599 try {
1600 return e();
1601 } finally {
1602 console.log(n + " time: " + (Pe() - r) + "ms");
1603 }
1604}
1605function Eu(n, e) {
1606 return e();
1607}
1608function yu(n) {
1609 function e(r) {
1610 var t = n.children(r), i = n.node(r);
1611 if (t.length && c(t, e), b(i, "minRank")) {
1612 i.borderLeft = [], i.borderRight = [];
1613 for (var a = i.minRank, o = i.maxRank + 1; a < o; ++a)
1614 Re(n, "borderLeft", "_bl", r, i, a), Re(n, "borderRight", "_br", r, i, a);
1615 }
1616 }
1617 c(n.children(), e);
1618}
1619function Re(n, e, r, t, i, a) {
1620 var o = { width: 0, height: 0, rank: a, borderType: e }, u = i[e][a - 1], s = K(n, "border", o, r);
1621 i[e][a] = s, n.setParent(s, t), u && n.setEdge(u, s, { weight: 1 });
1622}
1623function xu(n) {
1624 var e = n.graph().rankdir.toLowerCase();
1625 (e === "lr" || e === "rl") && Tr(n);
1626}
1627function Tu(n) {
1628 var e = n.graph().rankdir.toLowerCase();
1629 (e === "bt" || e === "rl") && Ou(n), (e === "lr" || e === "rl") && (Lu(n), Tr(n));
1630}
1631function Tr(n) {
1632 c(n.nodes(), function(e) {
1633 Fe(n.node(e));
1634 }), c(n.edges(), function(e) {
1635 Fe(n.edge(e));
1636 });
1637}
1638function Fe(n) {
1639 var e = n.width;
1640 n.width = n.height, n.height = e;
1641}
1642function Ou(n) {
1643 c(n.nodes(), function(e) {
1644 $n(n.node(e));
1645 }), c(n.edges(), function(e) {
1646 var r = n.edge(e);
1647 c(r.points, $n), b(r, "y") && $n(r);
1648 });
1649}
1650function $n(n) {
1651 n.y = -n.y;
1652}
1653function Lu(n) {
1654 c(n.nodes(), function(e) {
1655 Cn(n.node(e));
1656 }), c(n.edges(), function(e) {
1657 var r = n.edge(e);
1658 c(r.points, Cn), b(r, "x") && Cn(r);
1659 });
1660}
1661function Cn(n) {
1662 var e = n.x;
1663 n.x = n.y, n.y = e;
1664}
1665function Au(n) {
1666 n.graph().dummyChains = [], c(n.edges(), function(e) {
1667 Pu(n, e);
1668 });
1669}
1670function Pu(n, e) {
1671 var r = e.v, t = n.node(r).rank, i = e.w, a = n.node(i).rank, o = e.name, u = n.edge(e), s = u.labelRank;
1672 if (a !== t + 1) {
1673 n.removeEdge(e);
1674 var f, d, l;
1675 for (l = 0, ++t; t < a; ++l, ++t)
1676 u.points = [], d = {
1677 width: 0,
1678 height: 0,
1679 edgeLabel: u,
1680 edgeObj: e,
1681 rank: t
1682 }, f = K(n, "edge", d, "_d"), t === s && (d.width = u.width, d.height = u.height, d.dummy = "edge-label", d.labelpos = u.labelpos), n.setEdge(r, f, { weight: u.weight }, o), l === 0 && n.graph().dummyChains.push(f), r = f;
1683 n.setEdge(r, i, { weight: u.weight }, o);
1684 }
1685}
1686function Nu(n) {
1687 c(n.graph().dummyChains, function(e) {
1688 var r = n.node(e), t = r.edgeLabel, i;
1689 for (n.setEdge(r.edgeObj, t); r.dummy; )
1690 i = n.successors(e)[0], n.removeNode(e), t.points.push({ x: r.x, y: r.y }), r.dummy === "edge-label" && (t.x = r.x, t.y = r.y, t.width = r.width, t.height = r.height), e = i, r = n.node(e);
1691 });
1692}
1693function ie(n) {
1694 var e = {};
1695 function r(t) {
1696 var i = n.node(t);
1697 if (b(e, t))
1698 return i.rank;
1699 e[t] = !0;
1700 var a = j(
1701 y(n.outEdges(t), function(o) {
1702 return r(o.w) - n.edge(o).minlen;
1703 })
1704 );
1705 return (a === Number.POSITIVE_INFINITY || // return value of _.map([]) for Lodash 3
1706 a === void 0 || // return value of _.map([]) for Lodash 4
1707 a === null) && (a = 0), i.rank = a;
1708 }
1709 c(n.sources(), r);
1710}
1711function Q(n, e) {
1712 return n.node(e.w).rank - n.node(e.v).rank - n.edge(e).minlen;
1713}
1714function Or(n) {
1715 var e = new A({ directed: !1 }), r = n.nodes()[0], t = n.nodeCount();
1716 e.setNode(r, {});
1717 for (var i, a; $u(e, n) < t; )
1718 i = Cu(e, n), a = e.hasNode(i.v) ? Q(n, i) : -Q(n, i), Iu(e, n, a);
1719 return e;
1720}
1721function $u(n, e) {
1722 function r(t) {
1723 c(e.nodeEdges(t), function(i) {
1724 var a = i.v, o = t === a ? i.w : a;
1725 !n.hasNode(o) && !Q(e, i) && (n.setNode(o, {}), n.setEdge(t, o, {}), r(o));
1726 });
1727 }
1728 return c(n.nodes(), r), n.nodeCount();
1729}
1730function Cu(n, e) {
1731 return re(e.edges(), function(r) {
1732 if (n.hasNode(r.v) !== n.hasNode(r.w))
1733 return Q(e, r);
1734 });
1735}
1736function Iu(n, e, r) {
1737 c(n.nodes(), function(t) {
1738 e.node(t).rank += r;
1739 });
1740}
1741function Su() {
1742}
1743Su.prototype = new Error();
1744function Lr(n, e, r) {
1745 _(e) || (e = [e]);
1746 var t = (n.isDirected() ? n.successors : n.neighbors).bind(n), i = [], a = {};
1747 return c(e, function(o) {
1748 if (!n.hasNode(o))
1749 throw new Error("Graph does not have node: " + o);
1750 Ar(n, o, r === "post", a, t, i);
1751 }), i;
1752}
1753function Ar(n, e, r, t, i, a) {
1754 b(t, e) || (t[e] = !0, r || a.push(e), c(i(e), function(o) {
1755 Ar(n, o, r, t, i, a);
1756 }), r && a.push(e));
1757}
1758function Mu(n, e) {
1759 return Lr(n, e, "post");
1760}
1761function Ru(n, e) {
1762 return Lr(n, e, "pre");
1763}
1764U.initLowLimValues = oe;
1765U.initCutValues = ae;
1766U.calcCutValue = Pr;
1767U.leaveEdge = $r;
1768U.enterEdge = Cr;
1769U.exchangeEdges = Ir;
1770function U(n) {
1771 n = pu(n), ie(n);
1772 var e = Or(n);
1773 oe(e), ae(e, n);
1774 for (var r, t; r = $r(e); )
1775 t = Cr(e, n, r), Ir(e, n, r, t);
1776}
1777function ae(n, e) {
1778 var r = Mu(n, n.nodes());
1779 r = r.slice(0, r.length - 1), c(r, function(t) {
1780 Fu(n, e, t);
1781 });
1782}
1783function Fu(n, e, r) {
1784 var t = n.node(r), i = t.parent;
1785 n.edge(r, i).cutvalue = Pr(n, e, r);
1786}
1787function Pr(n, e, r) {
1788 var t = n.node(r), i = t.parent, a = !0, o = e.edge(r, i), u = 0;
1789 return o || (a = !1, o = e.edge(i, r)), u = o.weight, c(e.nodeEdges(r), function(s) {
1790 var f = s.v === r, d = f ? s.w : s.v;
1791 if (d !== i) {
1792 var l = f === a, h = e.edge(s).weight;
1793 if (u += l ? h : -h, Gu(n, r, d)) {
1794 var g = n.edge(r, d).cutvalue;
1795 u += l ? -g : g;
1796 }
1797 }
1798 }), u;
1799}
1800function oe(n, e) {
1801 arguments.length < 2 && (e = n.nodes()[0]), Nr(n, {}, 1, e);
1802}
1803function Nr(n, e, r, t, i) {
1804 var a = r, o = n.node(t);
1805 return e[t] = !0, c(n.neighbors(t), function(u) {
1806 b(e, u) || (r = Nr(n, e, r, u, t));
1807 }), o.low = a, o.lim = r++, i ? o.parent = i : delete o.parent, r;
1808}
1809function $r(n) {
1810 return ne(n.edges(), function(e) {
1811 return n.edge(e).cutvalue < 0;
1812 });
1813}
1814function Cr(n, e, r) {
1815 var t = r.v, i = r.w;
1816 e.hasEdge(t, i) || (t = r.w, i = r.v);
1817 var a = n.node(t), o = n.node(i), u = a, s = !1;
1818 a.lim > o.lim && (u = o, s = !0);
1819 var f = P(e.edges(), function(d) {
1820 return s === De(n, n.node(d.v), u) && s !== De(n, n.node(d.w), u);
1821 });
1822 return re(f, function(d) {
1823 return Q(e, d);
1824 });
1825}
1826function Ir(n, e, r, t) {
1827 var i = r.v, a = r.w;
1828 n.removeEdge(i, a), n.setEdge(t.v, t.w, {}), oe(n), ae(n, e), Du(n, e);
1829}
1830function Du(n, e) {
1831 var r = ne(n.nodes(), function(i) {
1832 return !e.node(i).parent;
1833 }), t = Ru(n, r);
1834 t = t.slice(1), c(t, function(i) {
1835 var a = n.node(i).parent, o = e.edge(i, a), u = !1;
1836 o || (o = e.edge(a, i), u = !0), e.node(i).rank = e.node(a).rank + (u ? o.minlen : -o.minlen);
1837 });
1838}
1839function Gu(n, e, r) {
1840 return n.hasEdge(e, r);
1841}
1842function De(n, e, r) {
1843 return r.low <= e.lim && e.lim <= r.lim;
1844}
1845function Bu(n) {
1846 switch (n.graph().ranker) {
1847 case "network-simplex":
1848 Ge(n);
1849 break;
1850 case "tight-tree":
1851 Yu(n);
1852 break;
1853 case "longest-path":
1854 Uu(n);
1855 break;
1856 default:
1857 Ge(n);
1858 }
1859}
1860var Uu = ie;
1861function Yu(n) {
1862 ie(n), Or(n);
1863}
1864function Ge(n) {
1865 U(n);
1866}
1867function Hu(n) {
1868 var e = K(n, "root", {}, "_root"), r = ku(n), t = F(N(r)) - 1, i = 2 * t + 1;
1869 n.graph().nestingRoot = e, c(n.edges(), function(o) {
1870 n.edge(o).minlen *= i;
1871 });
1872 var a = qu(n) + 1;
1873 c(n.children(), function(o) {
1874 Sr(n, e, i, a, t, r, o);
1875 }), n.graph().nodeRankFactor = i;
1876}
1877function Sr(n, e, r, t, i, a, o) {
1878 var u = n.children(o);
1879 if (!u.length) {
1880 o !== e && n.setEdge(e, o, { weight: 0, minlen: r });
1881 return;
1882 }
1883 var s = Me(n, "_bt"), f = Me(n, "_bb"), d = n.node(o);
1884 n.setParent(s, o), d.borderTop = s, n.setParent(f, o), d.borderBottom = f, c(u, function(l) {
1885 Sr(n, e, r, t, i, a, l);
1886 var h = n.node(l), g = h.borderTop ? h.borderTop : l, v = h.borderBottom ? h.borderBottom : l, p = h.borderTop ? t : 2 * t, m = g !== v ? 1 : i - a[o] + 1;
1887 n.setEdge(s, g, {
1888 weight: p,
1889 minlen: m,
1890 nestingEdge: !0
1891 }), n.setEdge(v, f, {
1892 weight: p,
1893 minlen: m,
1894 nestingEdge: !0
1895 });
1896 }), n.parent(o) || n.setEdge(e, s, { weight: 0, minlen: i + a[o] });
1897}
1898function ku(n) {
1899 var e = {};
1900 function r(t, i) {
1901 var a = n.children(t);
1902 a && a.length && c(a, function(o) {
1903 r(o, i + 1);
1904 }), e[t] = i;
1905 }
1906 return c(n.children(), function(t) {
1907 r(t, 1);
1908 }), e;
1909}
1910function qu(n) {
1911 return tn(
1912 n.edges(),
1913 function(e, r) {
1914 return e + n.edge(r).weight;
1915 },
1916 0
1917 );
1918}
1919function Ku(n) {
1920 var e = n.graph();
1921 n.removeNode(e.nestingRoot), delete e.nestingRoot, c(n.edges(), function(r) {
1922 var t = n.edge(r);
1923 t.nestingEdge && n.removeEdge(r);
1924 });
1925}
1926function Wu(n, e, r) {
1927 var t = {}, i;
1928 c(r, function(a) {
1929 for (var o = n.parent(a), u, s; o; ) {
1930 if (u = n.parent(o), u ? (s = t[u], t[u] = o) : (s = i, i = o), s && s !== o) {
1931 e.setEdge(s, o);
1932 return;
1933 }
1934 o = u;
1935 }
1936 });
1937}
1938function Xu(n, e, r) {
1939 var t = Zu(n), i = new A({ compound: !0 }).setGraph({ root: t }).setDefaultNodeLabel(function(a) {
1940 return n.node(a);
1941 });
1942 return c(n.nodes(), function(a) {
1943 var o = n.node(a), u = n.parent(a);
1944 (o.rank === e || o.minRank <= e && e <= o.maxRank) && (i.setNode(a), i.setParent(a, u || t), c(n[r](a), function(s) {
1945 var f = s.v === a ? s.w : s.v, d = i.edge(f, a), l = x(d) ? 0 : d.weight;
1946 i.setEdge(f, a, { weight: n.edge(s).weight + l });
1947 }), b(o, "minRank") && i.setNode(a, {
1948 borderLeft: o.borderLeft[e],
1949 borderRight: o.borderRight[e]
1950 }));
1951 }), i;
1952}
1953function Zu(n) {
1954 for (var e; n.hasNode(e = te("_root")); )
1955 ;
1956 return e;
1957}
1958function Vu(n, e) {
1959 for (var r = 0, t = 1; t < e.length; ++t)
1960 r += zu(n, e[t - 1], e[t]);
1961 return r;
1962}
1963function zu(n, e, r) {
1964 for (var t = iu(
1965 r,
1966 y(r, function(f, d) {
1967 return d;
1968 })
1969 ), i = q(
1970 y(e, function(f) {
1971 return an(
1972 y(n.outEdges(f), function(d) {
1973 return { pos: t[d.w], weight: n.edge(d).weight };
1974 }),
1975 "pos"
1976 );
1977 })
1978 ), a = 1; a < r.length; )
1979 a <<= 1;
1980 var o = 2 * a - 1;
1981 a -= 1;
1982 var u = y(new Array(o), function() {
1983 return 0;
1984 }), s = 0;
1985 return c(
1986 // @ts-expect-error
1987 i.forEach(function(f) {
1988 var d = f.pos + a;
1989 u[d] += f.weight;
1990 for (var l = 0; d > 0; )
1991 d % 2 && (l += u[d + 1]), d = d - 1 >> 1, u[d] += f.weight;
1992 s += f.weight * l;
1993 })
1994 ), s;
1995}
1996function Ju(n) {
1997 var e = {}, r = P(n.nodes(), function(u) {
1998 return !n.children(u).length;
1999 }), t = F(
2000 y(r, function(u) {
2001 return n.node(u).rank;
2002 })
2003 ), i = y(k(t + 1), function() {
2004 return [];
2005 });
2006 function a(u) {
2007 if (!b(e, u)) {
2008 e[u] = !0;
2009 var s = n.node(u);
2010 i[s.rank].push(u), c(n.successors(u), a);
2011 }
2012 }
2013 var o = an(r, function(u) {
2014 return n.node(u).rank;
2015 });
2016 return c(o, a), i;
2017}
2018function ju(n, e) {
2019 return y(e, function(r) {
2020 var t = n.inEdges(r);
2021 if (t.length) {
2022 var i = tn(
2023 t,
2024 function(a, o) {
2025 var u = n.edge(o), s = n.node(o.v);
2026 return {
2027 sum: a.sum + u.weight * s.order,
2028 weight: a.weight + u.weight
2029 };
2030 },
2031 { sum: 0, weight: 0 }
2032 );
2033 return {
2034 v: r,
2035 barycenter: i.sum / i.weight,
2036 weight: i.weight
2037 };
2038 } else
2039 return { v: r };
2040 });
2041}
2042function Qu(n, e) {
2043 var r = {};
2044 c(n, function(i, a) {
2045 var o = r[i.v] = {
2046 indegree: 0,
2047 in: [],
2048 out: [],
2049 vs: [i.v],
2050 i: a
2051 };
2052 x(i.barycenter) || (o.barycenter = i.barycenter, o.weight = i.weight);
2053 }), c(e.edges(), function(i) {
2054 var a = r[i.v], o = r[i.w];
2055 !x(a) && !x(o) && (o.indegree++, a.out.push(r[i.w]));
2056 });
2057 var t = P(r, function(i) {
2058 return !i.indegree;
2059 });
2060 return ns(t);
2061}
2062function ns(n) {
2063 var e = [];
2064 function r(a) {
2065 return function(o) {
2066 o.merged || (x(o.barycenter) || x(a.barycenter) || o.barycenter >= a.barycenter) && es(a, o);
2067 };
2068 }
2069 function t(a) {
2070 return function(o) {
2071 o.in.push(a), --o.indegree === 0 && n.push(o);
2072 };
2073 }
2074 for (; n.length; ) {
2075 var i = n.pop();
2076 e.push(i), c(i.in.reverse(), r(i)), c(i.out, t(i));
2077 }
2078 return y(
2079 P(e, function(a) {
2080 return !a.merged;
2081 }),
2082 function(a) {
2083 return gn(a, ["vs", "i", "barycenter", "weight"]);
2084 }
2085 );
2086}
2087function es(n, e) {
2088 var r = 0, t = 0;
2089 n.weight && (r += n.barycenter * n.weight, t += n.weight), e.weight && (r += e.barycenter * e.weight, t += e.weight), n.vs = e.vs.concat(n.vs), n.barycenter = r / t, n.weight = t, n.i = Math.min(e.i, n.i), e.merged = !0;
2090}
2091function rs(n, e) {
2092 var r = mu(n, function(d) {
2093 return b(d, "barycenter");
2094 }), t = r.lhs, i = an(r.rhs, function(d) {
2095 return -d.i;
2096 }), a = [], o = 0, u = 0, s = 0;
2097 t.sort(ts(!!e)), s = Be(a, i, s), c(t, function(d) {
2098 s += d.vs.length, a.push(d.vs), o += d.barycenter * d.weight, u += d.weight, s = Be(a, i, s);
2099 });
2100 var f = { vs: q(a) };
2101 return u && (f.barycenter = o / u, f.weight = u), f;
2102}
2103function Be(n, e, r) {
2104 for (var t; e.length && (t = vn(e)).i <= r; )
2105 e.pop(), n.push(t.vs), r++;
2106 return r;
2107}
2108function ts(n) {
2109 return function(e, r) {
2110 return e.barycenter < r.barycenter ? -1 : e.barycenter > r.barycenter ? 1 : n ? r.i - e.i : e.i - r.i;
2111 };
2112}
2113function Mr(n, e, r, t) {
2114 var i = n.children(e), a = n.node(e), o = a ? a.borderLeft : void 0, u = a ? a.borderRight : void 0, s = {};
2115 o && (i = P(i, function(v) {
2116 return v !== o && v !== u;
2117 }));
2118 var f = ju(n, i);
2119 c(f, function(v) {
2120 if (n.children(v.v).length) {
2121 var p = Mr(n, v.v, r, t);
2122 s[v.v] = p, b(p, "barycenter") && as(v, p);
2123 }
2124 });
2125 var d = Qu(f, r);
2126 is(d, s);
2127 var l = rs(d, t);
2128 if (o && (l.vs = q([o, l.vs, u]), n.predecessors(o).length)) {
2129 var h = n.node(n.predecessors(o)[0]), g = n.node(n.predecessors(u)[0]);
2130 b(l, "barycenter") || (l.barycenter = 0, l.weight = 0), l.barycenter = (l.barycenter * l.weight + h.order + g.order) / (l.weight + 2), l.weight += 2;
2131 }
2132 return l;
2133}
2134function is(n, e) {
2135 c(n, function(r) {
2136 r.vs = q(
2137 r.vs.map(function(t) {
2138 return e[t] ? e[t].vs : t;
2139 })
2140 );
2141 });
2142}
2143function as(n, e) {
2144 x(n.barycenter) ? (n.barycenter = e.barycenter, n.weight = e.weight) : (n.barycenter = (n.barycenter * n.weight + e.barycenter * e.weight) / (n.weight + e.weight), n.weight += e.weight);
2145}
2146function os(n) {
2147 var e = xr(n), r = Ue(n, k(1, e + 1), "inEdges"), t = Ue(n, k(e - 1, -1, -1), "outEdges"), i = Ju(n);
2148 Ye(n, i);
2149 for (var a = Number.POSITIVE_INFINITY, o, u = 0, s = 0; s < 4; ++u, ++s) {
2150 us(u % 2 ? r : t, u % 4 >= 2), i = On(n);
2151 var f = Vu(n, i);
2152 f < a && (s = 0, o = ya(i), a = f);
2153 }
2154 Ye(n, o);
2155}
2156function Ue(n, e, r) {
2157 return y(e, function(t) {
2158 return Xu(n, t, r);
2159 });
2160}
2161function us(n, e) {
2162 var r = new A();
2163 c(n, function(t) {
2164 var i = t.graph().root, a = Mr(t, i, r, e);
2165 c(a.vs, function(o, u) {
2166 t.node(o).order = u;
2167 }), Wu(t, r, a.vs);
2168 });
2169}
2170function Ye(n, e) {
2171 c(e, function(r) {
2172 c(r, function(t, i) {
2173 n.node(t).order = i;
2174 });
2175 });
2176}
2177function ss(n) {
2178 var e = ds(n);
2179 c(n.graph().dummyChains, function(r) {
2180 for (var t = n.node(r), i = t.edgeObj, a = fs(n, e, i.v, i.w), o = a.path, u = a.lca, s = 0, f = o[s], d = !0; r !== i.w; ) {
2181 if (t = n.node(r), d) {
2182 for (; (f = o[s]) !== u && n.node(f).maxRank < t.rank; )
2183 s++;
2184 f === u && (d = !1);
2185 }
2186 if (!d) {
2187 for (; s < o.length - 1 && n.node(f = o[s + 1]).minRank <= t.rank; )
2188 s++;
2189 f = o[s];
2190 }
2191 n.setParent(r, f), r = n.successors(r)[0];
2192 }
2193 });
2194}
2195function fs(n, e, r, t) {
2196 var i = [], a = [], o = Math.min(e[r].low, e[t].low), u = Math.max(e[r].lim, e[t].lim), s, f;
2197 s = r;
2198 do
2199 s = n.parent(s), i.push(s);
2200 while (s && (e[s].low > o || u > e[s].lim));
2201 for (f = s, s = t; (s = n.parent(s)) !== f; )
2202 a.push(s);
2203 return { path: i.concat(a.reverse()), lca: f };
2204}
2205function ds(n) {
2206 var e = {}, r = 0;
2207 function t(i) {
2208 var a = r;
2209 c(n.children(i), t), e[i] = { low: a, lim: r++ };
2210 }
2211 return c(n.children(), t), e;
2212}
2213function cs(n, e) {
2214 var r = {};
2215 function t(i, a) {
2216 var o = 0, u = 0, s = i.length, f = vn(a);
2217 return c(a, function(d, l) {
2218 var h = hs(n, d), g = h ? n.node(h).order : s;
2219 (h || d === f) && (c(a.slice(u, l + 1), function(v) {
2220 c(n.predecessors(v), function(p) {
2221 var m = n.node(p), E = m.order;
2222 (E < o || g < E) && !(m.dummy && n.node(v).dummy) && Rr(r, p, v);
2223 });
2224 }), u = l + 1, o = g);
2225 }), a;
2226 }
2227 return tn(e, t), r;
2228}
2229function ls(n, e) {
2230 var r = {};
2231 function t(a, o, u, s, f) {
2232 var d;
2233 c(k(o, u), function(l) {
2234 d = a[l], n.node(d).dummy && c(n.predecessors(d), function(h) {
2235 var g = n.node(h);
2236 g.dummy && (g.order < s || g.order > f) && Rr(r, h, d);
2237 });
2238 });
2239 }
2240 function i(a, o) {
2241 var u = -1, s, f = 0;
2242 return c(o, function(d, l) {
2243 if (n.node(d).dummy === "border") {
2244 var h = n.predecessors(d);
2245 h.length && (s = n.node(h[0]).order, t(o, f, l, u, s), f = l, u = s);
2246 }
2247 t(o, f, o.length, s, a.length);
2248 }), o;
2249 }
2250 return tn(e, i), r;
2251}
2252function hs(n, e) {
2253 if (n.node(e).dummy)
2254 return ne(n.predecessors(e), function(r) {
2255 return n.node(r).dummy;
2256 });
2257}
2258function Rr(n, e, r) {
2259 if (e > r) {
2260 var t = e;
2261 e = r, r = t;
2262 }
2263 var i = n[e];
2264 i || (n[e] = i = {}), i[r] = !0;
2265}
2266function vs(n, e, r) {
2267 if (e > r) {
2268 var t = e;
2269 e = r, r = t;
2270 }
2271 return b(n[e], r);
2272}
2273function gs(n, e, r, t) {
2274 var i = {}, a = {}, o = {};
2275 return c(e, function(u) {
2276 c(u, function(s, f) {
2277 i[s] = s, a[s] = s, o[s] = f;
2278 });
2279 }), c(e, function(u) {
2280 var s = -1;
2281 c(u, function(f) {
2282 var d = t(f);
2283 if (d.length) {
2284 d = an(d, function(p) {
2285 return o[p];
2286 });
2287 for (var l = (d.length - 1) / 2, h = Math.floor(l), g = Math.ceil(l); h <= g; ++h) {
2288 var v = d[h];
2289 a[f] === f && s < o[v] && !vs(r, f, v) && (a[v] = f, a[f] = i[f] = i[v], s = o[v]);
2290 }
2291 }
2292 });
2293 }), { root: i, align: a };
2294}
2295function ps(n, e, r, t, i) {
2296 var a = {}, o = bs(n, e, r, i), u = i ? "borderLeft" : "borderRight";
2297 function s(l, h) {
2298 for (var g = o.nodes(), v = g.pop(), p = {}; v; )
2299 p[v] ? l(v) : (p[v] = !0, g.push(v), g = g.concat(h(v))), v = g.pop();
2300 }
2301 function f(l) {
2302 a[l] = o.inEdges(l).reduce(function(h, g) {
2303 return Math.max(h, a[g.v] + o.edge(g));
2304 }, 0);
2305 }
2306 function d(l) {
2307 var h = o.outEdges(l).reduce(function(v, p) {
2308 return Math.min(v, a[p.w] - o.edge(p));
2309 }, Number.POSITIVE_INFINITY), g = n.node(l);
2310 h !== Number.POSITIVE_INFINITY && g.borderType !== u && (a[l] = Math.max(a[l], h));
2311 }
2312 return s(f, o.predecessors.bind(o)), s(d, o.successors.bind(o)), c(t, function(l) {
2313 a[l] = a[r[l]];
2314 }), a;
2315}
2316function bs(n, e, r, t) {
2317 var i = new A(), a = n.graph(), o = ys(a.nodesep, a.edgesep, t);
2318 return c(e, function(u) {
2319 var s;
2320 c(u, function(f) {
2321 var d = r[f];
2322 if (i.setNode(d), s) {
2323 var l = r[s], h = i.edge(l, d);
2324 i.setEdge(l, d, Math.max(o(n, f, s), h || 0));
2325 }
2326 s = f;
2327 });
2328 }), i;
2329}
2330function ws(n, e) {
2331 return re(N(e), function(r) {
2332 var t = Number.NEGATIVE_INFINITY, i = Number.POSITIVE_INFINITY;
2333 return Lo(r, function(a, o) {
2334 var u = xs(n, o) / 2;
2335 t = Math.max(a + u, t), i = Math.min(a - u, i);
2336 }), t - i;
2337 });
2338}
2339function ms(n, e) {
2340 var r = N(e), t = j(r), i = F(r);
2341 c(["u", "d"], function(a) {
2342 c(["l", "r"], function(o) {
2343 var u = a + o, s = n[u], f;
2344 if (s !== e) {
2345 var d = N(s);
2346 f = o === "l" ? t - j(d) : i - F(d), f && (n[u] = Tn(s, function(l) {
2347 return l + f;
2348 }));
2349 }
2350 });
2351 });
2352}
2353function _s(n, e) {
2354 return Tn(n.ul, function(r, t) {
2355 if (e)
2356 return n[e.toLowerCase()][t];
2357 var i = an(y(n, t));
2358 return (i[1] + i[2]) / 2;
2359 });
2360}
2361function Es(n) {
2362 var e = On(n), r = Gn(cs(n, e), ls(n, e)), t = {}, i;
2363 c(["u", "d"], function(o) {
2364 i = o === "u" ? e : N(e).reverse(), c(["l", "r"], function(u) {
2365 u === "r" && (i = y(i, function(l) {
2366 return N(l).reverse();
2367 }));
2368 var s = (o === "u" ? n.predecessors : n.successors).bind(n), f = gs(n, i, r, s), d = ps(n, i, f.root, f.align, u === "r");
2369 u === "r" && (d = Tn(d, function(l) {
2370 return -l;
2371 })), t[o + u] = d;
2372 });
2373 });
2374 var a = ws(n, t);
2375 return ms(t, a), _s(t, n.graph().align);
2376}
2377function ys(n, e, r) {
2378 return function(t, i, a) {
2379 var o = t.node(i), u = t.node(a), s = 0, f;
2380 if (s += o.width / 2, b(o, "labelpos"))
2381 switch (o.labelpos.toLowerCase()) {
2382 case "l":
2383 f = -o.width / 2;
2384 break;
2385 case "r":
2386 f = o.width / 2;
2387 break;
2388 }
2389 if (f && (s += r ? f : -f), f = 0, s += (o.dummy ? e : n) / 2, s += (u.dummy ? e : n) / 2, s += u.width / 2, b(u, "labelpos"))
2390 switch (u.labelpos.toLowerCase()) {
2391 case "l":
2392 f = u.width / 2;
2393 break;
2394 case "r":
2395 f = -u.width / 2;
2396 break;
2397 }
2398 return f && (s += r ? f : -f), f = 0, s;
2399 };
2400}
2401function xs(n, e) {
2402 return n.node(e).width;
2403}
2404function Ts(n) {
2405 n = yr(n), Os(n), Ao(Es(n), function(e, r) {
2406 n.node(r).x = e;
2407 });
2408}
2409function Os(n) {
2410 var e = On(n), r = n.graph().ranksep, t = 0;
2411 c(e, function(i) {
2412 var a = F(
2413 y(i, function(o) {
2414 return n.node(o).height;
2415 })
2416 );
2417 c(i, function(o) {
2418 n.node(o).y = t + a / 2;
2419 }), t += a + r;
2420 });
2421}
2422function zs(n, e) {
2423 var r = e && e.debugTiming ? _u : Eu;
2424 r("layout", function() {
2425 var t = r(" buildLayoutGraph", function() {
2426 return Fs(n);
2427 });
2428 r(" runLayout", function() {
2429 Ls(t, r);
2430 }), r(" updateInputGraph", function() {
2431 As(n, t);
2432 });
2433 });
2434}
2435function Ls(n, e) {
2436 e(" makeSpaceForEdgeLabels", function() {
2437 Ds(n);
2438 }), e(" removeSelfEdges", function() {
2439 Ws(n);
2440 }), e(" acyclic", function() {
2441 hu(n);
2442 }), e(" nestingGraph.run", function() {
2443 Hu(n);
2444 }), e(" rank", function() {
2445 Bu(yr(n));
2446 }), e(" injectEdgeLabelProxies", function() {
2447 Gs(n);
2448 }), e(" removeEmptyRanks", function() {
2449 wu(n);
2450 }), e(" nestingGraph.cleanup", function() {
2451 Ku(n);
2452 }), e(" normalizeRanks", function() {
2453 bu(n);
2454 }), e(" assignRankMinMax", function() {
2455 Bs(n);
2456 }), e(" removeEdgeLabelProxies", function() {
2457 Us(n);
2458 }), e(" normalize.run", function() {
2459 Au(n);
2460 }), e(" parentDummyChains", function() {
2461 ss(n);
2462 }), e(" addBorderSegments", function() {
2463 yu(n);
2464 }), e(" order", function() {
2465 os(n);
2466 }), e(" insertSelfEdges", function() {
2467 Xs(n);
2468 }), e(" adjustCoordinateSystem", function() {
2469 xu(n);
2470 }), e(" position", function() {
2471 Ts(n);
2472 }), e(" positionSelfEdges", function() {
2473 Zs(n);
2474 }), e(" removeBorderNodes", function() {
2475 Ks(n);
2476 }), e(" normalize.undo", function() {
2477 Nu(n);
2478 }), e(" fixupEdgeLabelCoords", function() {
2479 ks(n);
2480 }), e(" undoCoordinateSystem", function() {
2481 Tu(n);
2482 }), e(" translateGraph", function() {
2483 Ys(n);
2484 }), e(" assignNodeIntersects", function() {
2485 Hs(n);
2486 }), e(" reversePoints", function() {
2487 qs(n);
2488 }), e(" acyclic.undo", function() {
2489 gu(n);
2490 });
2491}
2492function As(n, e) {
2493 c(n.nodes(), function(r) {
2494 var t = n.node(r), i = e.node(r);
2495 t && (t.x = i.x, t.y = i.y, e.children(r).length && (t.width = i.width, t.height = i.height));
2496 }), c(n.edges(), function(r) {
2497 var t = n.edge(r), i = e.edge(r);
2498 t.points = i.points, b(i, "x") && (t.x = i.x, t.y = i.y);
2499 }), n.graph().width = e.graph().width, n.graph().height = e.graph().height;
2500}
2501var Ps = ["nodesep", "edgesep", "ranksep", "marginx", "marginy"], Ns = { ranksep: 50, edgesep: 20, nodesep: 50, rankdir: "tb" }, $s = ["acyclicer", "ranker", "rankdir", "align"], Cs = ["width", "height"], Is = { width: 0, height: 0 }, Ss = ["minlen", "weight", "width", "height", "labeloffset"], Ms = {
2502 minlen: 1,
2503 weight: 1,
2504 width: 0,
2505 height: 0,
2506 labeloffset: 10,
2507 labelpos: "r"
2508}, Rs = ["labelpos"];
2509function Fs(n) {
2510 var e = new A({ multigraph: !0, compound: !0 }), r = Sn(n.graph());
2511 return e.setGraph(
2512 Gn({}, Ns, In(r, Ps), gn(r, $s))
2513 ), c(n.nodes(), function(t) {
2514 var i = Sn(n.node(t));
2515 e.setNode(t, bo(In(i, Cs), Is)), e.setParent(t, n.parent(t));
2516 }), c(n.edges(), function(t) {
2517 var i = Sn(n.edge(t));
2518 e.setEdge(
2519 t,
2520 Gn({}, Ms, In(i, Ss), gn(i, Rs))
2521 );
2522 }), e;
2523}
2524function Ds(n) {
2525 var e = n.graph();
2526 e.ranksep /= 2, c(n.edges(), function(r) {
2527 var t = n.edge(r);
2528 t.minlen *= 2, t.labelpos.toLowerCase() !== "c" && (e.rankdir === "TB" || e.rankdir === "BT" ? t.width += t.labeloffset : t.height += t.labeloffset);
2529 });
2530}
2531function Gs(n) {
2532 c(n.edges(), function(e) {
2533 var r = n.edge(e);
2534 if (r.width && r.height) {
2535 var t = n.node(e.v), i = n.node(e.w), a = { rank: (i.rank - t.rank) / 2 + t.rank, e };
2536 K(n, "edge-proxy", a, "_ep");
2537 }
2538 });
2539}
2540function Bs(n) {
2541 var e = 0;
2542 c(n.nodes(), function(r) {
2543 var t = n.node(r);
2544 t.borderTop && (t.minRank = n.node(t.borderTop).rank, t.maxRank = n.node(t.borderBottom).rank, e = F(e, t.maxRank));
2545 }), n.graph().maxRank = e;
2546}
2547function Us(n) {
2548 c(n.nodes(), function(e) {
2549 var r = n.node(e);
2550 r.dummy === "edge-proxy" && (n.edge(r.e).labelRank = r.rank, n.removeNode(e));
2551 });
2552}
2553function Ys(n) {
2554 var e = Number.POSITIVE_INFINITY, r = 0, t = Number.POSITIVE_INFINITY, i = 0, a = n.graph(), o = a.marginx || 0, u = a.marginy || 0;
2555 function s(f) {
2556 var d = f.x, l = f.y, h = f.width, g = f.height;
2557 e = Math.min(e, d - h / 2), r = Math.max(r, d + h / 2), t = Math.min(t, l - g / 2), i = Math.max(i, l + g / 2);
2558 }
2559 c(n.nodes(), function(f) {
2560 s(n.node(f));
2561 }), c(n.edges(), function(f) {
2562 var d = n.edge(f);
2563 b(d, "x") && s(d);
2564 }), e -= o, t -= u, c(n.nodes(), function(f) {
2565 var d = n.node(f);
2566 d.x -= e, d.y -= t;
2567 }), c(n.edges(), function(f) {
2568 var d = n.edge(f);
2569 c(d.points, function(l) {
2570 l.x -= e, l.y -= t;
2571 }), b(d, "x") && (d.x -= e), b(d, "y") && (d.y -= t);
2572 }), a.width = r - e + o, a.height = i - t + u;
2573}
2574function Hs(n) {
2575 c(n.edges(), function(e) {
2576 var r = n.edge(e), t = n.node(e.v), i = n.node(e.w), a, o;
2577 r.points ? (a = r.points[0], o = r.points[r.points.length - 1]) : (r.points = [], a = i, o = t), r.points.unshift(Se(t, a)), r.points.push(Se(i, o));
2578 });
2579}
2580function ks(n) {
2581 c(n.edges(), function(e) {
2582 var r = n.edge(e);
2583 if (b(r, "x"))
2584 switch ((r.labelpos === "l" || r.labelpos === "r") && (r.width -= r.labeloffset), r.labelpos) {
2585 case "l":
2586 r.x -= r.width / 2 + r.labeloffset;
2587 break;
2588 case "r":
2589 r.x += r.width / 2 + r.labeloffset;
2590 break;
2591 }
2592 });
2593}
2594function qs(n) {
2595 c(n.edges(), function(e) {
2596 var r = n.edge(e);
2597 r.reversed && r.points.reverse();
2598 });
2599}
2600function Ks(n) {
2601 c(n.nodes(), function(e) {
2602 if (n.children(e).length) {
2603 var r = n.node(e), t = n.node(r.borderTop), i = n.node(r.borderBottom), a = n.node(vn(r.borderLeft)), o = n.node(vn(r.borderRight));
2604 r.width = Math.abs(o.x - a.x), r.height = Math.abs(i.y - t.y), r.x = a.x + r.width / 2, r.y = t.y + r.height / 2;
2605 }
2606 }), c(n.nodes(), function(e) {
2607 n.node(e).dummy === "border" && n.removeNode(e);
2608 });
2609}
2610function Ws(n) {
2611 c(n.edges(), function(e) {
2612 if (e.v === e.w) {
2613 var r = n.node(e.v);
2614 r.selfEdges || (r.selfEdges = []), r.selfEdges.push({ e, label: n.edge(e) }), n.removeEdge(e);
2615 }
2616 });
2617}
2618function Xs(n) {
2619 var e = On(n);
2620 c(e, function(r) {
2621 var t = 0;
2622 c(r, function(i, a) {
2623 var o = n.node(i);
2624 o.order = a + t, c(o.selfEdges, function(u) {
2625 K(
2626 n,
2627 "selfedge",
2628 {
2629 width: u.label.width,
2630 height: u.label.height,
2631 rank: o.rank,
2632 order: a + ++t,
2633 e: u.e,
2634 label: u.label
2635 },
2636 "_se"
2637 );
2638 }), delete o.selfEdges;
2639 });
2640 });
2641}
2642function Zs(n) {
2643 c(n.nodes(), function(e) {
2644 var r = n.node(e);
2645 if (r.dummy === "selfedge") {
2646 var t = n.node(r.e.v), i = t.x + t.width / 2, a = t.y, o = r.x - i, u = t.height / 2;
2647 n.setEdge(r.e, r.label), n.removeNode(e), r.label.points = [
2648 { x: i + 2 * o / 3, y: a - u },
2649 { x: i + 5 * o / 6, y: a - u },
2650 { x: i + o, y: a },
2651 { x: i + 5 * o / 6, y: a + u },
2652 { x: i + 2 * o / 3, y: a + u }
2653 ], r.label.x = r.x, r.label.y = r.y;
2654 }
2655 });
2656}
2657function In(n, e) {
2658 return Tn(gn(n, e), Number);
2659}
2660function Sn(n) {
2661 var e = {};
2662 return c(n, function(r, t) {
2663 e[t.toLowerCase()] = r;
2664 }), e;
2665}
2666export {
2667 A as G,
2668 x as a,
2669 dn as b,
2670 bo as d,
2671 c as f,
2672 b as h,
2673 Xt as i,
2674 zs as l,
2675 y as m,
2676 gn as p,
2677 k as r,
2678 te as u
2679};