UNPKG

@isbx/webshap

Version:

Explain any ML models anywhere

1,614 lines (1,612 loc) 2.18 MB
var q2 = Object.defineProperty; var K2 = (n, e, t) => e in n ? q2(n, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : n[e] = t; var Ke = (n, e, t) => (K2(n, typeof e != "symbol" ? e + "" : e, t), t); function X2(n, e) { for (var t = 0; t < e.length; t++) { const s = e[t]; if (typeof s != "string" && !Array.isArray(s)) { for (const r in s) if (r !== "default" && !(r in n)) { const o = Object.getOwnPropertyDescriptor(s, r); o && Object.defineProperty(n, r, o.get ? o : { enumerable: !0, get: () => s[r] }); } } } return Object.freeze(Object.defineProperty(n, Symbol.toStringTag, { value: "Module" })); } const C1 = Math.random, j2 = function n(e) { function t(s, r) { return s = s == null ? 0 : +s, r = r == null ? 1 : +r, arguments.length === 1 ? (r = s, s = 0) : r -= s, function() { return e() * r + s; }; } return t.source = n, t; }(C1), Y2 = function n(e) { function t(s, r) { return arguments.length < 2 && (r = s, s = 0), s = Math.floor(s), r = Math.floor(r) - s, function() { return Math.floor(e() * r + s); }; } return t.source = n, t; }(C1), Z2 = 1664525, J2 = 1013904223, Wm = 1 / 4294967296; function Um(n = Math.random()) { let e = (0 <= n && n < 1 ? n / Wm : Math.abs(n)) | 0; return () => (e = Z2 * e + J2 | 0, Wm * (e >>> 0)); } const Gm = (n, e) => { const t = Math.min(e, n - e); return Array.from(new Array(t), (s, r) => r + 1).reduce((s, r) => s * (n + 1 - r) / r, 1); }, Q2 = (n, e) => { const t = []; function s(r = 0, o = []) { if (o.length === e) { t.push(o); return; } for (let i = r; i < n.length; i++) s(i + 1, [...o, n[i]]); } return s(), t; }; function ec() { return ec = Object.assign ? Object.assign.bind() : function(n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var s in t) ({}).hasOwnProperty.call(t, s) && (n[s] = t[s]); } return n; }, ec.apply(null, arguments); } var D1 = { // minimum relative difference between two compared values, // used by all comparison functions epsilon: 1e-12, // type of default matrix output. Choose 'matrix' (default) or 'array' matrix: "Matrix", // type of default number output. Choose 'number' (default) 'BigNumber', or 'Fraction number: "number", // number of significant digits in BigNumbers precision: 64, // predictable output type of functions. When true, output type depends only // on the input types. When false (default), output type can vary depending // on input values. For example `math.sqrt(-4)` returns `complex('2i')` when // predictable is false, and returns `NaN` when true. predictable: !1, // random seed for seeded pseudo random number generation // null = randomly seed randomSeed: null }; function It(n) { return typeof n == "number"; } function zt(n) { return !n || typeof n != "object" || typeof n.constructor != "function" ? !1 : n.isBigNumber === !0 && typeof n.constructor.prototype == "object" && n.constructor.prototype.isBigNumber === !0 || typeof n.constructor.isDecimal == "function" && n.constructor.isDecimal(n) === !0; } function $1(n) { return n && typeof n == "object" && Object.getPrototypeOf(n).isComplex === !0 || !1; } function I1(n) { return n && typeof n == "object" && Object.getPrototypeOf(n).isFraction === !0 || !1; } function S1(n) { return n && n.constructor.prototype.isUnit === !0 || !1; } function xs(n) { return typeof n == "string"; } var dt = Array.isArray; function ot(n) { return n && n.constructor.prototype.isMatrix === !0 || !1; } function qi(n) { return Array.isArray(n) || ot(n); } function e$(n) { return n && n.isDenseMatrix && n.constructor.prototype.isMatrix === !0 || !1; } function t$(n) { return n && n.isSparseMatrix && n.constructor.prototype.isMatrix === !0 || !1; } function N1(n) { return n && n.constructor.prototype.isRange === !0 || !1; } function zd(n) { return n && n.constructor.prototype.isIndex === !0 || !1; } function n$(n) { return typeof n == "boolean"; } function s$(n) { return n && n.constructor.prototype.isResultSet === !0 || !1; } function r$(n) { return n && n.constructor.prototype.isHelp === !0 || !1; } function o$(n) { return typeof n == "function"; } function i$(n) { return n instanceof Date; } function a$(n) { return n instanceof RegExp; } function k1(n) { return !!(n && typeof n == "object" && n.constructor === Object && !$1(n) && !I1(n)); } function u$(n) { return n === null; } function c$(n) { return n === void 0; } function l$(n) { return n && n.isAccessorNode === !0 && n.constructor.prototype.isNode === !0 || !1; } function h$(n) { return n && n.isArrayNode === !0 && n.constructor.prototype.isNode === !0 || !1; } function d$(n) { return n && n.isAssignmentNode === !0 && n.constructor.prototype.isNode === !0 || !1; } function f$(n) { return n && n.isBlockNode === !0 && n.constructor.prototype.isNode === !0 || !1; } function p$(n) { return n && n.isConditionalNode === !0 && n.constructor.prototype.isNode === !0 || !1; } function m$(n) { return n && n.isConstantNode === !0 && n.constructor.prototype.isNode === !0 || !1; } function g$(n) { return n && n.isFunctionAssignmentNode === !0 && n.constructor.prototype.isNode === !0 || !1; } function x$(n) { return n && n.isFunctionNode === !0 && n.constructor.prototype.isNode === !0 || !1; } function b$(n) { return n && n.isIndexNode === !0 && n.constructor.prototype.isNode === !0 || !1; } function y$(n) { return n && n.isNode === !0 && n.constructor.prototype.isNode === !0 || !1; } function v$(n) { return n && n.isObjectNode === !0 && n.constructor.prototype.isNode === !0 || !1; } function w$(n) { return n && n.isOperatorNode === !0 && n.constructor.prototype.isNode === !0 || !1; } function C$(n) { return n && n.isParenthesisNode === !0 && n.constructor.prototype.isNode === !0 || !1; } function D$(n) { return n && n.isRangeNode === !0 && n.constructor.prototype.isNode === !0 || !1; } function $$(n) { return n && n.isRelationalNode === !0 && n.constructor.prototype.isNode === !0 || !1; } function I$(n) { return n && n.isSymbolNode === !0 && n.constructor.prototype.isNode === !0 || !1; } function S$(n) { return n && n.constructor.prototype.isChain === !0 || !1; } function Ls(n) { var e = typeof n; return e === "object" ? n === null ? "null" : zt(n) ? "BigNumber" : n.constructor && n.constructor.name ? n.constructor.name : "Object" : e; } function Je(n) { var e = typeof n; if (e === "number" || e === "string" || e === "boolean" || n === null || n === void 0) return n; if (typeof n.clone == "function") return n.clone(); if (Array.isArray(n)) return n.map(function(t) { return Je(t); }); if (n instanceof Date) return new Date(n.valueOf()); if (zt(n)) return n; if (k1(n)) return N$(n, Je); throw new TypeError("Cannot clone: unknown type of value (value: ".concat(n, ")")); } function N$(n, e) { var t = {}; for (var s in n) Ki(n, s) && (t[s] = e(n[s])); return t; } function E1(n, e) { for (var t in e) Ki(e, t) && (n[t] = e[t]); return n; } function jo(n, e) { var t, s, r; if (Array.isArray(n)) { if (!Array.isArray(e) || n.length !== e.length) return !1; for (s = 0, r = n.length; s < r; s++) if (!jo(n[s], e[s])) return !1; return !0; } else { if (typeof n == "function") return n === e; if (n instanceof Object) { if (Array.isArray(e) || !(e instanceof Object)) return !1; for (t in n) if (!(t in e) || !jo(n[t], e[t])) return !1; for (t in e) if (!(t in n)) return !1; return !0; } else return n === e; } } function Ki(n, e) { return n && Object.hasOwnProperty.call(n, e); } function k$(n, e) { for (var t = {}, s = 0; s < e.length; s++) { var r = e[s], o = n[r]; o !== void 0 && (t[r] = o); } return t; } var E$ = ["Matrix", "Array"], A$ = ["number", "BigNumber", "Fraction"], Kn = function(e) { if (e) throw new Error(`The global config is readonly. Please create a mathjs instance if you want to change the default configuration. Example: import { create, all } from 'mathjs'; const mathjs = create(all); mathjs.config({ number: 'BigNumber' }); `); return Object.freeze(D1); }; ec(Kn, D1, { MATRIX_OPTIONS: E$, NUMBER_OPTIONS: A$ }); function Hm() { return !0; } function Yn() { return !1; } function Ro() { } const qm = "Argument is not a typed-function."; function A1() { function n(A) { return typeof A == "object" && A !== null && A.constructor === Object; } const e = [{ name: "number", test: function(A) { return typeof A == "number"; } }, { name: "string", test: function(A) { return typeof A == "string"; } }, { name: "boolean", test: function(A) { return typeof A == "boolean"; } }, { name: "Function", test: function(A) { return typeof A == "function"; } }, { name: "Array", test: Array.isArray }, { name: "Date", test: function(A) { return A instanceof Date; } }, { name: "RegExp", test: function(A) { return A instanceof RegExp; } }, { name: "Object", test: n }, { name: "null", test: function(A) { return A === null; } }, { name: "undefined", test: function(A) { return A === void 0; } }], t = { name: "any", test: Hm, isAny: !0 }; let s, r, o = 0, i = { createCount: 0 }; function a(A) { const z = s.get(A); if (z) return z; let q = 'Unknown type "' + A + '"'; const Q = A.toLowerCase(); let se; for (se of r) if (se.toLowerCase() === Q) { q += '. Did you mean "' + se + '" ?'; break; } throw new TypeError(q); } function u(A) { let z = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "any"; const q = z ? a(z).index : r.length, Q = []; for (let ne = 0; ne < A.length; ++ne) { if (!A[ne] || typeof A[ne].name != "string" || typeof A[ne].test != "function") throw new TypeError("Object with properties {name: string, test: function} expected"); const ge = A[ne].name; if (s.has(ge)) throw new TypeError('Duplicate type name "' + ge + '"'); Q.push(ge), s.set(ge, { name: ge, test: A[ne].test, isAny: A[ne].isAny, index: q + ne, conversionsTo: [] // Newly added type can't have any conversions to it }); } const se = r.slice(q); r = r.slice(0, q).concat(Q).concat(se); for (let ne = q + Q.length; ne < r.length; ++ne) s.get(r[ne]).index = ne; } function c() { s = /* @__PURE__ */ new Map(), r = [], o = 0, u([t], !1); } c(), u(e); function l() { let A; for (A of r) s.get(A).conversionsTo = []; o = 0; } function h(A) { const z = r.filter((q) => { const Q = s.get(q); return !Q.isAny && Q.test(A); }); return z.length ? z : ["any"]; } function d(A) { return A && typeof A == "function" && "_typedFunctionData" in A; } function f(A, z, q) { if (!d(A)) throw new TypeError(qm); const Q = q && q.exact, se = Array.isArray(z) ? z.join(",") : z, ne = v(se), ge = x(ne); if (!Q || ge in A.signatures) { const et = A._typedFunctionData.signatureMap.get(ge); if (et) return et; } const le = ne.length; let xe; if (Q) { xe = []; let et; for (et in A.signatures) xe.push(A._typedFunctionData.signatureMap.get(et)); } else xe = A._typedFunctionData.signatures; for (let et = 0; et < le; ++et) { const ht = ne[et], Ft = []; let Fn; for (Fn of xe) { const $n = $(Fn.params, et); if (!(!$n || ht.restParam && !$n.restParam)) { if (!$n.hasAny) { const fs = y($n); if (ht.types.some((ps) => !fs.has(ps.name))) continue; } Ft.push(Fn); } } if (xe = Ft, xe.length === 0) break; } let ce; for (ce of xe) if (ce.params.length <= le) return ce; throw new TypeError("Signature not found (signature: " + (A.name || "unnamed") + "(" + x(ne, ", ") + "))"); } function m(A, z, q) { return f(A, z, q).implementation; } function p(A, z) { const q = a(z); if (q.test(A)) return A; const Q = q.conversionsTo; if (Q.length === 0) throw new Error("There are no conversions to " + z + " defined."); for (let se = 0; se < Q.length; se++) if (a(Q[se].from).test(A)) return Q[se].convert(A); throw new Error("Cannot convert " + A + " to " + z); } function x(A) { let z = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : ","; return A.map((q) => q.name).join(z); } function g(A) { const z = A.indexOf("...") === 0, Q = (z ? A.length > 3 ? A.slice(3) : "any" : A).split("|").map((le) => a(le.trim())); let se = !1, ne = z ? "..." : ""; return { types: Q.map(function(le) { return se = le.isAny || se, ne += le.name + "|", { name: le.name, typeIndex: le.index, test: le.test, isAny: le.isAny, conversion: null, conversionIndex: -1 }; }), name: ne.slice(0, -1), // remove trailing '|' from above hasAny: se, hasConversion: !1, restParam: z }; } function b(A) { const z = A.types.map((ge) => ge.name), q = U(z); let Q = A.hasAny, se = A.name; const ne = q.map(function(ge) { const le = a(ge.from); return Q = le.isAny || Q, se += "|" + ge.from, { name: ge.from, typeIndex: le.index, test: le.test, isAny: le.isAny, conversion: ge, conversionIndex: ge.index }; }); return { types: A.types.concat(ne), name: se, hasAny: Q, hasConversion: ne.length > 0, restParam: A.restParam }; } function y(A) { return A.typeSet || (A.typeSet = /* @__PURE__ */ new Set(), A.types.forEach((z) => A.typeSet.add(z.name))), A.typeSet; } function v(A) { const z = []; if (typeof A != "string") throw new TypeError("Signatures must be strings"); const q = A.trim(); if (q === "") return z; const Q = q.split(","); for (let se = 0; se < Q.length; ++se) { const ne = g(Q[se].trim()); if (ne.restParam && se !== Q.length - 1) throw new SyntaxError('Unexpected rest parameter "' + Q[se] + '": only allowed for the last parameter'); if (ne.types.length === 0) return null; z.push(ne); } return z; } function w(A) { const z = fe(A); return z ? z.restParam : !1; } function C(A) { if (!A || A.types.length === 0) return Hm; if (A.types.length === 1) return a(A.types[0].name).test; if (A.types.length === 2) { const z = a(A.types[0].name).test, q = a(A.types[1].name).test; return function(se) { return z(se) || q(se); }; } else { const z = A.types.map(function(q) { return a(q.name).test; }); return function(Q) { for (let se = 0; se < z.length; se++) if (z[se](Q)) return !0; return !1; }; } } function D(A) { let z, q, Q; if (w(A)) { z = De(A).map(C); const se = z.length, ne = C(fe(A)), ge = function(le) { for (let xe = se; xe < le.length; xe++) if (!ne(le[xe])) return !1; return !0; }; return function(xe) { for (let ce = 0; ce < z.length; ce++) if (!z[ce](xe[ce])) return !1; return ge(xe) && xe.length >= se + 1; }; } else return A.length === 0 ? function(ne) { return ne.length === 0; } : A.length === 1 ? (q = C(A[0]), function(ne) { return q(ne[0]) && ne.length === 1; }) : A.length === 2 ? (q = C(A[0]), Q = C(A[1]), function(ne) { return q(ne[0]) && Q(ne[1]) && ne.length === 2; }) : (z = A.map(C), function(ne) { for (let ge = 0; ge < z.length; ge++) if (!z[ge](ne[ge])) return !1; return ne.length === z.length; }); } function $(A, z) { return z < A.length ? A[z] : w(A) ? fe(A) : null; } function I(A, z) { const q = $(A, z); return q ? y(q) : /* @__PURE__ */ new Set(); } function S(A) { return A.conversion === null || A.conversion === void 0; } function N(A, z) { const q = /* @__PURE__ */ new Set(); return A.forEach((Q) => { const se = I(Q.params, z); let ne; for (ne of se) q.add(ne); }), q.has("any") ? ["any"] : Array.from(q); } function E(A, z, q) { let Q, se; const ne = A || "unnamed"; let ge = q, le; for (le = 0; le < z.length; le++) { const ht = []; if (ge.forEach((Ft) => { const Fn = $(Ft.params, le), $n = C(Fn); (le < Ft.params.length || w(Ft.params)) && $n(z[le]) && ht.push(Ft); }), ht.length === 0) { if (se = N(ge, le), se.length > 0) { const Ft = h(z[le]); return Q = new TypeError("Unexpected type of argument in function " + ne + " (expected: " + se.join(" or ") + ", actual: " + Ft.join(" | ") + ", index: " + le + ")"), Q.data = { category: "wrongType", fn: ne, index: le, actual: Ft, expected: se }, Q; } } else ge = ht; } const xe = ge.map(function(ht) { return w(ht.params) ? 1 / 0 : ht.params.length; }); if (z.length < Math.min.apply(null, xe)) return se = N(ge, le), Q = new TypeError("Too few arguments in function " + ne + " (expected: " + se.join(" or ") + ", index: " + z.length + ")"), Q.data = { category: "tooFewArgs", fn: ne, index: z.length, expected: se }, Q; const ce = Math.max.apply(null, xe); if (z.length > ce) return Q = new TypeError("Too many arguments in function " + ne + " (expected: " + ce + ", actual: " + z.length + ")"), Q.data = { category: "tooManyArgs", fn: ne, index: z.length, expectedLength: ce }, Q; const et = []; for (let ht = 0; ht < z.length; ++ht) et.push(h(z[ht]).join("|")); return Q = new TypeError('Arguments of type "' + et.join(", ") + '" do not match any of the defined signatures of function ' + ne + "."), Q.data = { category: "mismatch", actual: et }, Q; } function M(A) { let z = r.length + 1; for (let q = 0; q < A.types.length; q++) S(A.types[q]) && (z = Math.min(z, A.types[q].typeIndex)); return z; } function F(A) { let z = o + 1; for (let q = 0; q < A.types.length; q++) S(A.types[q]) || (z = Math.min(z, A.types[q].conversionIndex)); return z; } function _(A, z) { if (A.hasAny) { if (!z.hasAny) return 1; } else if (z.hasAny) return -1; if (A.restParam) { if (!z.restParam) return 1; } else if (z.restParam) return -1; if (A.hasConversion) { if (!z.hasConversion) return 1; } else if (z.hasConversion) return -1; const q = M(A) - M(z); if (q < 0) return -1; if (q > 0) return 1; const Q = F(A) - F(z); return Q < 0 ? -1 : Q > 0 ? 1 : 0; } function T(A, z) { const q = A.params, Q = z.params, se = fe(q), ne = fe(Q), ge = w(q), le = w(Q); if (ge && se.hasAny) { if (!le || !ne.hasAny) return 1; } else if (le && ne.hasAny) return -1; let xe = 0, ce = 0, et; for (et of q) et.hasAny && ++xe, et.hasConversion && ++ce; let ht = 0, Ft = 0; for (et of Q) et.hasAny && ++ht, et.hasConversion && ++Ft; if (xe !== ht) return xe - ht; if (ge && se.hasConversion) { if (!le || !ne.hasConversion) return 1; } else if (le && ne.hasConversion) return -1; if (ce !== Ft) return ce - Ft; if (ge) { if (!le) return 1; } else if (le) return -1; const Fn = (q.length - Q.length) * (ge ? -1 : 1); if (Fn !== 0) return Fn; const $n = []; let fs = 0; for (let Fo = 0; Fo < q.length; ++Fo) { const _u = _(q[Fo], Q[Fo]); $n.push(_u), fs += _u; } if (fs !== 0) return fs; let ps; for (ps of $n) if (ps !== 0) return ps; return 0; } function U(A) { if (A.length === 0) return []; const z = A.map(a); A.length > 1 && z.sort((se, ne) => se.index - ne.index); let q = z[0].conversionsTo; if (A.length === 1) return q; q = q.concat([]); const Q = new Set(A); for (let se = 1; se < z.length; ++se) { let ne; for (ne of z[se].conversionsTo) Q.has(ne.from) || (q.push(ne), Q.add(ne.from)); } return q; } function L(A, z) { let q = z; if (A.some((se) => se.hasConversion)) { const se = w(A), ne = A.map(G); q = function() { const le = [], xe = se ? arguments.length - 1 : arguments.length; for (let ce = 0; ce < xe; ce++) le[ce] = ne[ce](arguments[ce]); return se && (le[xe] = arguments[xe].map(ne[xe])), z.apply(this, le); }; } let Q = q; if (w(A)) { const se = A.length - 1; Q = function() { return q.apply(this, Ce(arguments, 0, se).concat([Ce(arguments, se)])); }; } return Q; } function G(A) { let z, q, Q, se; const ne = [], ge = []; switch (A.types.forEach(function(le) { le.conversion && (ne.push(a(le.conversion.from).test), ge.push(le.conversion.convert)); }), ge.length) { case 0: return function(xe) { return xe; }; case 1: return z = ne[0], Q = ge[0], function(xe) { return z(xe) ? Q(xe) : xe; }; case 2: return z = ne[0], q = ne[1], Q = ge[0], se = ge[1], function(xe) { return z(xe) ? Q(xe) : q(xe) ? se(xe) : xe; }; default: return function(xe) { for (let ce = 0; ce < ge.length; ce++) if (ne[ce](xe)) return ge[ce](xe); return xe; }; } } function X(A) { function z(q, Q, se) { if (Q < q.length) { const ne = q[Q]; let ge = []; if (ne.restParam) { const le = ne.types.filter(S); le.length < ne.types.length && ge.push({ types: le, name: "..." + le.map((xe) => xe.name).join("|"), hasAny: le.some((xe) => xe.isAny), hasConversion: !1, restParam: !0 }), ge.push(ne); } else ge = ne.types.map(function(le) { return { types: [le], name: le.name, hasAny: le.isAny, hasConversion: le.conversion, restParam: !1 }; }); return Me(ge, function(le) { return z(q, Q + 1, se.concat([le])); }); } else return [se]; } return z(A, 0, []); } function Z(A, z) { const q = Math.max(A.length, z.length); for (let le = 0; le < q; le++) { const xe = I(A, le), ce = I(z, le); let et = !1, ht; for (ht of ce) if (xe.has(ht)) { et = !0; break; } if (!et) return !1; } const Q = A.length, se = z.length, ne = w(A), ge = w(z); return ne ? ge ? Q === se : se >= Q : ge ? Q >= se : Q === se; } function te(A) { return A.map((z) => Ze(z) ? Ve(z.referToSelf.callback) : He(z) ? ze(z.referTo.references, z.referTo.callback) : z); } function ee(A, z, q) { const Q = []; let se; for (se of A) { let ne = q[se]; if (typeof ne != "number") throw new TypeError('No definition for referenced signature "' + se + '"'); if (ne = z[ne], typeof ne != "function") return !1; Q.push(ne); } return Q; } function ae(A, z, q) { const Q = te(A), se = new Array(Q.length).fill(!1); let ne = !0; for (; ne; ) { ne = !1; let ge = !0; for (let le = 0; le < Q.length; ++le) { if (se[le]) continue; const xe = Q[le]; if (Ze(xe)) Q[le] = xe.referToSelf.callback(q), Q[le].referToSelf = xe.referToSelf, se[le] = !0, ge = !1; else if (He(xe)) { const ce = ee(xe.referTo.references, Q, z); ce ? (Q[le] = xe.referTo.callback.apply(this, ce), Q[le].referTo = xe.referTo, se[le] = !0, ge = !1) : ne = !0; } } if (ge && ne) throw new SyntaxError("Circular reference detected in resolving typed.referTo"); } return Q; } function re(A) { const z = /\bthis(\(|\.signatures\b)/; Object.keys(A).forEach((q) => { const Q = A[q]; if (z.test(Q.toString())) throw new SyntaxError("Using `this` to self-reference a function is deprecated since typed-function@3. Use typed.referTo and typed.referToSelf instead."); }); } function he(A, z) { if (i.createCount++, Object.keys(z).length === 0) throw new SyntaxError("No signatures provided"); i.warnAgainstDeprecatedThis && re(z); const q = [], Q = [], se = {}, ne = []; let ge; for (ge in z) { if (!Object.prototype.hasOwnProperty.call(z, ge)) continue; const ct = v(ge); if (!ct) continue; q.forEach(function(Fi) { if (Z(Fi, ct)) throw new TypeError('Conflicting signatures "' + x(Fi) + '" and "' + x(ct) + '".'); }), q.push(ct); const Rn = Q.length; Q.push(z[ge]); const G2 = ct.map(b); let Mu; for (Mu of X(G2)) { const Fi = x(Mu); ne.push({ params: Mu, name: Fi, fn: Rn }), Mu.every((H2) => !H2.hasConversion) && (se[Fi] = Rn); } } ne.sort(T); const le = ae(Q, se, Ti); let xe; for (xe in se) Object.prototype.hasOwnProperty.call(se, xe) && (se[xe] = le[se[xe]]); const ce = [], et = /* @__PURE__ */ new Map(); for (xe of ne) et.has(xe.name) || (xe.fn = le[xe.fn], ce.push(xe), et.set(xe.name, xe)); const ht = ce[0] && ce[0].params.length <= 2 && !w(ce[0].params), Ft = ce[1] && ce[1].params.length <= 2 && !w(ce[1].params), Fn = ce[2] && ce[2].params.length <= 2 && !w(ce[2].params), $n = ce[3] && ce[3].params.length <= 2 && !w(ce[3].params), fs = ce[4] && ce[4].params.length <= 2 && !w(ce[4].params), ps = ce[5] && ce[5].params.length <= 2 && !w(ce[5].params), Fo = ht && Ft && Fn && $n && fs && ps; for (let ct = 0; ct < ce.length; ++ct) ce[ct].test = D(ce[ct].params); const _u = ht ? C(ce[0].params[0]) : Yn, g2 = Ft ? C(ce[1].params[0]) : Yn, x2 = Fn ? C(ce[2].params[0]) : Yn, b2 = $n ? C(ce[3].params[0]) : Yn, y2 = fs ? C(ce[4].params[0]) : Yn, v2 = ps ? C(ce[5].params[0]) : Yn, w2 = ht ? C(ce[0].params[1]) : Yn, C2 = Ft ? C(ce[1].params[1]) : Yn, D2 = Fn ? C(ce[2].params[1]) : Yn, $2 = $n ? C(ce[3].params[1]) : Yn, I2 = fs ? C(ce[4].params[1]) : Yn, S2 = ps ? C(ce[5].params[1]) : Yn; for (let ct = 0; ct < ce.length; ++ct) ce[ct].implementation = L(ce[ct].params, ce[ct].fn); const N2 = ht ? ce[0].implementation : Ro, k2 = Ft ? ce[1].implementation : Ro, E2 = Fn ? ce[2].implementation : Ro, A2 = $n ? ce[3].implementation : Ro, T2 = fs ? ce[4].implementation : Ro, F2 = ps ? ce[5].implementation : Ro, R2 = ht ? ce[0].params.length : -1, _2 = Ft ? ce[1].params.length : -1, M2 = Fn ? ce[2].params.length : -1, O2 = $n ? ce[3].params.length : -1, B2 = fs ? ce[4].params.length : -1, L2 = ps ? ce[5].params.length : -1, P2 = Fo ? 6 : 0, z2 = ce.length, V2 = ce.map((ct) => ct.test), W2 = ce.map((ct) => ct.implementation), U2 = function() { for (let Rn = P2; Rn < z2; Rn++) if (V2[Rn](arguments)) return W2[Rn].apply(this, arguments); return i.onMismatch(A, arguments, ce); }; function Ti(ct, Rn) { return arguments.length === R2 && _u(ct) && w2(Rn) ? N2.apply(this, arguments) : arguments.length === _2 && g2(ct) && C2(Rn) ? k2.apply(this, arguments) : arguments.length === M2 && x2(ct) && D2(Rn) ? E2.apply(this, arguments) : arguments.length === O2 && b2(ct) && $2(Rn) ? A2.apply(this, arguments) : arguments.length === B2 && y2(ct) && I2(Rn) ? T2.apply(this, arguments) : arguments.length === L2 && v2(ct) && S2(Rn) ? F2.apply(this, arguments) : U2.apply(this, arguments); } try { Object.defineProperty(Ti, "name", { value: A }); } catch { } return Ti.signatures = se, Ti._typedFunctionData = { signatures: ce, signatureMap: et }, Ti; } function de(A, z, q) { throw E(A, z, q); } function De(A) { return Ce(A, 0, A.length - 1); } function fe(A) { return A[A.length - 1]; } function Ce(A, z, q) { return Array.prototype.slice.call(A, z, q); } function Te(A, z) { for (let q = 0; q < A.length; q++) if (z(A[q])) return A[q]; } function Me(A, z) { return Array.prototype.concat.apply([], A.map(z)); } function Ee() { const A = De(arguments).map((q) => x(v(q))), z = fe(arguments); if (typeof z != "function") throw new TypeError("Callback function expected as last argument"); return ze(A, z); } function ze(A, z) { return { referTo: { references: A, callback: z } }; } function Ve(A) { if (typeof A != "function") throw new TypeError("Callback function expected as first argument"); return { referToSelf: { callback: A } }; } function He(A) { return A && typeof A.referTo == "object" && Array.isArray(A.referTo.references) && typeof A.referTo.callback == "function"; } function Ze(A) { return A && typeof A.referToSelf == "object" && typeof A.referToSelf.callback == "function"; } function tt(A, z) { if (!A) return z; if (z && z !== A) { const q = new Error("Function names do not match (expected: " + A + ", actual: " + z + ")"); throw q.data = { actual: z, expected: A }, q; } return A; } function fn(A) { let z; for (const q in A) Object.prototype.hasOwnProperty.call(A, q) && (d(A[q]) || typeof A[q].signature == "string") && (z = tt(z, A[q].name)); return z; } function Tt(A, z) { let q; for (q in z) if (Object.prototype.hasOwnProperty.call(z, q)) { if (q in A && z[q] !== A[q]) { const Q = new Error('Signature "' + q + '" is defined twice'); throw Q.data = { signature: q, sourceFunction: z[q], destFunction: A[q] }, Q; } A[q] = z[q]; } } const As = i; i = function(A) { const z = typeof A == "string", q = z ? 1 : 0; let Q = z ? A : ""; const se = {}; for (let ne = q; ne < arguments.length; ++ne) { const ge = arguments[ne]; let le = {}, xe; if (typeof ge == "function" ? (xe = ge.name, typeof ge.signature == "string" ? le[ge.signature] = ge : d(ge) && (le = ge.signatures)) : n(ge) && (le = ge, z || (xe = fn(ge))), Object.keys(le).length === 0) { const ce = new TypeError("Argument to 'typed' at index " + ne + " is not a (typed) function, nor an object with signatures as keys and functions as values."); throw ce.data = { index: ne, argument: ge }, ce; } z || (Q = tt(Q, xe)), Tt(se, le); } return he(Q || "", se); }, i.create = A1, i.createCount = As.createCount, i.onMismatch = de, i.throwMismatchError = de, i.createError = E, i.clear = c, i.clearConversions = l, i.addTypes = u, i._findType = a, i.referTo = Ee, i.referToSelf = Ve, i.convert = p, i.findSignature = f, i.find = m, i.isTypedFunction = d, i.warnAgainstDeprecatedThis = !0, i.addType = function(A, z) { let q = "any"; z !== !1 && s.has("Object") && (q = "Object"), i.addTypes([A], q); }; function pn(A) { if (!A || typeof A.from != "string" || typeof A.to != "string" || typeof A.convert != "function") throw new TypeError("Object with properties {from: string, to: string, convert: function} expected"); if (A.to === A.from) throw new SyntaxError('Illegal to define conversion from "' + A.from + '" to itself.'); } return i.addConversion = function(A) { let z = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : { override: !1 }; pn(A); const q = a(A.to), Q = q.conversionsTo.find((se) => se.from === A.from); if (Q) if (z && z.override) i.removeConversion({ from: Q.from, to: A.to, convert: Q.convert }); else throw new Error('There is already a conversion from "' + A.from + '" to "' + q.name + '"'); q.conversionsTo.push({ from: A.from, convert: A.convert, index: o++ }); }, i.addConversions = function(A, z) { A.forEach((q) => i.addConversion(q, z)); }, i.removeConversion = function(A) { pn(A); const z = a(A.to), q = Te(z.conversionsTo, (se) => se.from === A.from); if (!q) throw new Error("Attempt to remove nonexistent conversion from " + A.from + " to " + A.to); if (q.convert !== A.convert) throw new Error("Conversion to remove does not match existing conversion"); const Q = z.conversionsTo.indexOf(q); z.conversionsTo.splice(Q, 1); }, i.resolve = function(A, z) { if (!d(A)) throw new TypeError(qm); const q = A._typedFunctionData.signatures; for (let Q = 0; Q < q.length; ++Q) if (q[Q].test(z)) return q[Q]; return null; }, i; } const Km = A1(); function St(n) { return typeof n == "boolean" ? !0 : isFinite(n) ? n === Math.round(n) : !1; } function Ih(n, e, t) { var s = { 2: "0b", 8: "0o", 16: "0x" }, r = s[e], o = ""; if (t) { if (t < 1) throw new Error("size must be in greater than 0"); if (!St(t)) throw new Error("size must be an integer"); if (n > 2 ** (t - 1) - 1 || n < -(2 ** (t - 1))) throw new Error("Value must be in range [-2^".concat(t - 1, ", 2^").concat(t - 1, "-1]")); if (!St(n)) throw new Error("Value must be an integer"); n < 0 && (n = n + 2 ** t), o = "i".concat(t); } var i = ""; return n < 0 && (n = -n, i = "-"), "".concat(i).concat(r).concat(n.toString(e)).concat(o); } function Xh(n, e) { if (typeof e == "function") return e(n); if (n === 1 / 0) return "Infinity"; if (n === -1 / 0) return "-Infinity"; if (isNaN(n)) return "NaN"; var t = "auto", s, r; if (e && (e.notation && (t = e.notation), It(e) ? s = e : It(e.precision) && (s = e.precision), e.wordSize && (r = e.wordSize, typeof r != "number"))) throw new Error('Option "wordSize" must be a number'); switch (t) { case "fixed": return F$(n, s); case "exponential": return T1(n, s); case "engineering": return T$(n, s); case "bin": return Ih(n, 2, r); case "oct": return Ih(n, 8, r); case "hex": return Ih(n, 16, r); case "auto": return R$(n, s, e && e).replace(/((\.\d*?)(0+))($|e)/, function() { var o = arguments[2], i = arguments[4]; return o !== "." ? o + i : i; }); default: throw new Error('Unknown notation "' + t + '". Choose "auto", "exponential", "fixed", "bin", "oct", or "hex.'); } } function Wc(n) { var e = String(n).toLowerCase().match(/^(-?)(\d+\.?\d*)(e([+-]?\d+))?$/); if (!e) throw new SyntaxError("Invalid number " + n); var t = e[1], s = e[2], r = parseFloat(e[4] || "0"), o = s.indexOf("."); r += o !== -1 ? o - 1 : s.length - 1; var i = s.replace(".", "").replace(/^0*/, function(a) { return r -= a.length, ""; }).replace(/0*$/, "").split("").map(function(a) { return parseInt(a); }); return i.length === 0 && (i.push(0), r++), { sign: t, coefficients: i, exponent: r }; } function T$(n, e) { if (isNaN(n) || !isFinite(n)) return String(n); var t = Wc(n), s = Uc(t, e), r = s.exponent, o = s.coefficients, i = r % 3 === 0 ? r : r < 0 ? r - 3 - r % 3 : r - r % 3; if (It(e)) for (; e > o.length || r - i + 1 > o.length; ) o.push(0); else for (var a = Math.abs(r - i) - (o.length - 1), u = 0; u < a; u++) o.push(0); for (var c = Math.abs(r - i), l = 1; c > 0; ) l++, c--; var h = o.slice(l).join(""), d = It(e) && h.length || h.match(/[1-9]/) ? "." + h : "", f = o.slice(0, l).join("") + d + "e" + (r >= 0 ? "+" : "") + i.toString(); return s.sign + f; } function F$(n, e) { if (isNaN(n) || !isFinite(n)) return String(n); var t = Wc(n), s = typeof e == "number" ? Uc(t, t.exponent + 1 + e) : t, r = s.coefficients, o = s.exponent + 1, i = o + (e || 0); return r.length < i && (r = r.concat(Uo(i - r.length))), o < 0 && (r = Uo(-o + 1).concat(r), o = 1), o < r.length && r.splice(o, 0, o === 0 ? "0." : "."), s.sign + r.join(""); } function T1(n, e) { if (isNaN(n) || !isFinite(n)) return String(n); var t = Wc(n), s = e ? Uc(t, e) : t, r = s.coefficients, o = s.exponent; r.length < e && (r = r.concat(Uo(e - r.length))); var i = r.shift(); return s.sign + i + (r.length > 0 ? "." + r.join("") : "") + "e" + (o >= 0 ? "+" : "") + o; } function R$(n, e, t) { if (isNaN(n) || !isFinite(n)) return String(n); var s = t && t.lowerExp !== void 0 ? t.lowerExp : -3, r = t && t.upperExp !== void 0 ? t.upperExp : 5, o = Wc(n), i = e ? Uc(o, e) : o; if (i.exponent < s || i.exponent >= r) return T1(n, e); var a = i.coefficients, u = i.exponent; a.length < e && (a = a.concat(Uo(e - a.length))), a = a.concat(Uo(u - a.length + 1 + (a.length < e ? e - a.length : 0))), a = Uo(-u).concat(a); var c = u > 0 ? u : 0; return c < a.length - 1 && a.splice(c + 1, 0, "."), i.sign + a.join(""); } function Uc(n, e) { for (var t = { sign: n.sign, coefficients: n.coefficients, exponent: n.exponent }, s = t.coefficients; e <= 0; ) s.unshift(0), t.exponent++, e++; if (s.length > e) { var r = s.splice(e, s.length - e); if (r[0] >= 5) { var o = e - 1; for (s[o]++; s[o] === 10; ) s.pop(), o === 0 && (s.unshift(0), t.exponent++, o++), o--, s[o]++; } } return t; } function Uo(n) { for (var e = [], t = 0; t < n; t++) e.push(0); return e; } function _$(n) { return n.toExponential().replace(/e.*$/, "").replace(/^0\.?0*|\./, "").length; } var M$ = Number.EPSILON || 2220446049250313e-31; function Cr(n, e, t) { if (t == null) return n === e; if (n === e) return !0; if (isNaN(n) || isNaN(e)) return !1; if (isFinite(n) && isFinite(e)) { var s = Math.abs(n - e); return s < M$ ? !0 : s <= Math.max(Math.abs(n), Math.abs(e)) * t; } return !1; } function Sh(n, e, t) { var s = n.constructor, r = new s(2), o = ""; if (t) { if (t < 1) throw new Error("size must be in greater than 0"); if (!St(t)) throw new Error("size must be an integer"); if (n.greaterThan(r.pow(t - 1).sub(1)) || n.lessThan(r.pow(t - 1).mul(-1))) throw new Error("Value must be in range [-2^".concat(t - 1, ", 2^").concat(t - 1, "-1]")); if (!n.isInteger()) throw new Error("Value must be an integer"); n.lessThan(0) && (n = n.add(r.pow(t))), o = "i".concat(t); } switch (e) { case 2: return "".concat(n.toBinary()).concat(o); case 8: return "".concat(n.toOctal()).concat(o); case 16: return "".concat(n.toHexadecimal()).concat(o); default: throw new Error("Base ".concat(e, " not supported ")); } } function O$(n, e) { if (typeof e == "function") return e(n); if (!n.isFinite()) return n.isNaN() ? "NaN" : n.gt(0) ? "Infinity" : "-Infinity"; var t = "auto", s, r; if (e !== void 0 && (e.notation && (t = e.notation), typeof e == "number" ? s = e : e.precision !== void 0 && (s = e.precision), e.wordSize && (r = e.wordSize, typeof r != "number"))) throw new Error('Option "wordSize" must be a number'); switch (t) { case "fixed": return L$(n, s); case "exponential": return Xm(n, s); case "engineering": return B$(n, s); case "bin": return Sh(n, 2, r); case "oct": return Sh(n, 8, r); case "hex": return Sh(n, 16, r); case "auto": { var o = e && e.lowerExp !== void 0 ? e.lowerExp : -3, i = e && e.upperExp !== void 0 ? e.upperExp : 5; if (n.isZero()) return "0"; var a, u = n.toSignificantDigits(s), c = u.e; return c >= o && c < i ? a = u.toFixed() : a = Xm(n, s), a.replace(/((\.\d*?)(0+))($|e)/, function() { var l = arguments[2], h = arguments[4]; return l !== "." ? l + h : h; }); } default: throw new Error('Unknown notation "' + t + '". Choose "auto", "exponential", "fixed", "bin", "oct", or "hex.'); } } function B$(n, e) { var t = n.e, s = t % 3 === 0 ? t : t < 0 ? t - 3 - t % 3 : t - t % 3, r = n.mul(Math.pow(10, -s)), o = r.toPrecision(e); if (o.indexOf("e") !== -1) { var i = n.constructor; o = new i(o).toFixed(); } return o + "e" + (t >= 0 ? "+" : "") + s.toString(); } function Xm(n, e) { return e !== void 0 ? n.toExponential(e - 1) : n.toExponential(); } function L$(n, e) { return n.toFixed(e); } function Et(n, e) { var t = P$(n, e); return e && typeof e == "object" && "truncate" in e && t.length > e.truncate ? t.substring(0, e.truncate - 3) + "..." : t; } function P$(n, e) { if (typeof n == "number") return Xh(n, e); if (zt(n)) return O$(n, e); if (z$(n)) return !e || e.fraction !== "decimal" ? n.s * n.n + "/" + n.d : n.toString(); if (Array.isArray(n)) return F1(n, e); if (xs(n)) return jm(n); if (typeof n == "function") return n.syntax ? String(n.syntax) : "function"; if (n && typeof n == "object") { if (typeof n.format == "function") return n.format(e); if (n && n.toString(e) !== {}.toString()) return n.toString(e); var t = Object.keys(n).map((s) => jm(s) + ": " + Et(n[s], e)); return "{" + t.join(", ") + "}"; } return String(n); } function jm(n) { for (var e = String(n), t = "", s = 0; s < e.length; ) { var r = e.charAt(s); t += r in Ym ? Ym[r] : r, s++; } return '"' + t + '"'; } var Ym = { '"': '\\"', "\\": "\\\\", "\b": "\\b", "\f": "\\f", "\n": "\\n", "\r": "\\r", " ": "\\t" }; function F1(n, e) { if (Array.isArray(n)) { for (var t = "[", s = n.length, r = 0; r < s; r++) r !== 0 && (t += ", "), t += F1(n[r], e); return t += "]", t; } else return Et(n, e); } function z$(n) { return n && typeof n == "object" && typeof n.s == "number" && typeof n.n == "number" && typeof n.d == "number" || !1; } function it(n, e, t) { if (!(this instanceof it)) throw new SyntaxError("Constructor must be called with the new operator"); this.actual = n, this.expected = e, this.relation = t, this.message = "Dimension mismatch (" + (Array.isArray(n) ? "[" + n.join(", ") + "]" : n) + " " + (this.relation || "!=") + " " + (Array.isArray(e) ? "[" + e.join(", ") + "]" : e) + ")", this.stack = new Error().stack; } it.prototype = new RangeError(); it.prototype.constructor = RangeError; it.prototype.name = "DimensionError"; it.prototype.isDimensionError = !0; function Ar(n, e, t) { if (!(this instanceof Ar)) throw new SyntaxError("Constructor must be called with the new operator"); this.index = n, arguments.length < 3 ? (this.min = 0, this.max = e) : (this.min = e, this.max = t), this.min !== void 0 && this.index < this.min ? this.message = "Index out of range (" + this.index + " < " + this.min + ")" : this.max !== void 0 && this.index >= this.max ? this.message = "Index out of range (" + this.index + " > " + (this.max - 1) + ")" : this.message = "Index out of range (" + this.index + ")", this.stack = new Error().stack; } Ar.prototype = new RangeError(); Ar.prototype.constructor = RangeError; Ar.prototype.name = "IndexError"; Ar.prototype.isIndexError = !0; function At(n) { for (var e = []; Array.isArray(n); ) e.push(n.length), n = n[0]; return e; } function R1(n, e, t) { var s, r = n.length; if (r !== e[t]) throw new it(r, e[t]); if (t < e.length - 1) { var o = t + 1; for (s = 0; s < r; s++) { var i = n[s]; if (!Array.isArray(i)) throw new it(e.length - 1, e.length, "<"); R1(n[s], e, o); } } else for (s = 0; s < r; s++) if (Array.isArray(n[s])) throw new it(e.length + 1, e.length, ">"); } function Zm(n, e) { var t = e.length === 0; if (t) { if (Array.isArray(n)) throw new it(n.length, 0); } else R1(n, e, 0); } function Ct(n, e) { if (n !== void 0) { if (!It(n) || !St(n)) throw new TypeError("Index must be an integer (value: " + n + ")"); if (n < 0 || typeof e == "number" && n >= e) throw new Ar(n, e); } } function Xi(n, e, t) { if (!Array.isArray(e)) throw new TypeError("Array expected"); if (e.length === 0) throw new Error("Resizing to scalar is not supported"); e.forEach(function(r) { if (!It(r) || !St(r) || r < 0) throw new TypeError("Invalid size, must contain positive integers (size: " + Et(e) + ")"); }), (It(n) || zt(n)) && (n = [n]); var s = t !== void 0 ? t : 0; return jh(n, e, 0, s), n; } function jh(n, e, t, s) { var r, o, i = n.length, a = e[t], u = Math.min(i, a); if (n.length = a, t < e.length - 1) { var c = t + 1; for (r = 0; r < u; r++) o = n[r], Array.isArray(o) || (o = [o], n[r] = o), jh(o, e, c, s); for (r = u; r < a; r++) o = [], n[r] = o, jh(o, e, c, s); } else { for (r = 0; r < u; r++) for (; Array.isArray(n[r]); ) n[r] = n[r][0]; for (r = u; r < a; r++) n[r] = s; } } function Vd(n, e) { var t = Yh(n), s = t.length; if (!Array.isArray(n) || !Array.isArray(e)) throw new TypeError("Array expected"); if (e.length === 0) throw new it(0, s, "!="); e = Wd(e, s); var r = _1(e); if (s !== r) throw new it(r, s, "!="); try { return V$(t, e); } catch (o) { throw o instanceof it ? new it(r, s, "!=") : o; } } function Wd(n, e) { var t = _1(n), s = n.slice(), r = -1, o = n.indexOf(r), i = n.indexOf(r, o + 1) >= 0; if (i) throw new Error("More than one wildcard in sizes"); var a = o >= 0, u = e % t === 0; if (a) if (u) s[o] = -e / t; else throw new Error("Could not replace wildcard, since " + e + " is no multiple of " + -t); return s; } function _1(n) { return n.reduce((e, t) => e * t, 1); } function V$(n, e) { for (var t = n, s, r = e.length - 1; r > 0; r--) { var o = e[r]; s = []; for (var i = t.length / o, a = 0; a < i; a++) s.push(t.slice(a * o, (a + 1) * o)); t = s; } return t; } function Jm(n, e) { for (var t = e || At(n); Array.isArray(n) && n.length === 1; ) n = n[0], t.shift(); for (var s = t.length; t[s - 1] === 1; ) s--; return s < t.length && (n = M1(n, s, 0), t.length = s), n; } function M1(n, e, t) { var s, r; if (t < e) { var o = t + 1; for (s = 0, r = n.length; s < r; s++) n[s] = M1(n[s], e, o); } else for (; Array.isArray(n); ) n = n[0]; return n; } function O1(n, e, t, s) { var r = s || At(n); if (t) for (var o = 0; o < t; o++) n = [n], r.unshift(1); for (n = B1(n, e, 0); r.length < e; ) r.push(1); return n; } function B1(n, e, t) { var s, r; if (Array.isArray(n)) { var o = t + 1; for (s = 0, r = n.length; s < r; s++) n[s] = B1(n[s], e, o); } else for (var i = t; i < e; i++) n = [n]; return n; } function Yh(n) { if (!Array.isArray(n)) return n; var e = []; return n.forEach(function t(s) { Array.isArray(s) ? s.forEach(t) : e.push(s); }), e; } function ji(n, e) { for (var t, s = 0, r = 0; r < n.length; r++) { var o = n[r], i = Array.isArray(o); if (r === 0 && i && (s = o.length), i && o.length !== s) return; var a = i ? ji(o, e) : e(o); if (t === void 0) t = a; else if (t !== a) return "mixed"; } return t; } function L1(n, e, t, s) { if (s < t) { if (n.length !== e.length) throw new it(n.length, e.length); for (var r = [], o = 0; o < n.length; o++) r[o] = L1(n[o], e[o], t, s + 1); return r; } else return n.concat(e); } function P1() { var n = Array.prototype.slice.call(arguments, 0, -1), e = Array.prototype.slice.call(arguments, -1); if (n.length === 1) return n[0]; if (n.length > 1) return n.slice(1).reduce(function(t, s) { return L1(t, s, e, 0); }, n[0]); throw new Error("Wrong number of arguments in function concat"); } function W$() { for (var n = arguments.length, e = new Array(n), t = 0; t < n; t++) e[t] = arguments[t]; for (var s = e.map((d) => d.length), r = Math.max(...s), o = new Array(r).fill(null), i = 0; i < e.length; i++) for (var a = e[i], u = s[i], c = 0; c < u; c++) { var l = r - u + c; a[c] > o[l] && (o[l] = a[c]); } for (var h = 0; h < e.length; h++) tc(e[h], o); return o; } function tc(n, e) { for (var t = e.length, s = n.length, r = 0; r < s; r++) { var o = t - s + r; if (n[r] < e[o] && n[r] > 1 || n[r] > e[o]) throw new Error("shape missmatch: missmatch is found in arg with shape (".concat(n, ") not possible to broadcast dimension ").concat(s, " with size ").concat(n[r], " to size ").concat(e[o])); } } function Qm(n, e) { var t = At(n); if (jo(t, e))