UNPKG

ileaf-text-editor

Version:

A React-based rich text editor library with Quill.js, featuring PDF/DOCX export, print support, and extensive customization options

1,162 lines 1.54 MB
import In, { useState as Nl, useRef as qg, useEffect as Tb, createRef as Ob, forwardRef as Rb } from "react"; var gn = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {}; function Dv(r) { return r && r.__esModule && Object.prototype.hasOwnProperty.call(r, "default") ? r.default : r; } var Hu = { exports: {} }, ol = {}; /** * @license React * react-jsx-runtime.production.js * * Copyright (c) Meta Platforms, Inc. and affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ var a0; function kb() { if (a0) return ol; a0 = 1; var r = Symbol.for("react.transitional.element"), e = Symbol.for("react.fragment"); function t(A, n, i) { var s = null; if (i !== void 0 && (s = "" + i), n.key !== void 0 && (s = "" + n.key), "key" in n) { i = {}; for (var a in n) a !== "key" && (i[a] = n[a]); } else i = n; return n = i.ref, { $$typeof: r, type: A, key: s, ref: n !== void 0 ? n : null, props: i }; } return ol.Fragment = e, ol.jsx = t, ol.jsxs = t, ol; } var ll = {}; /** * @license React * react-jsx-runtime.development.js * * Copyright (c) Meta Platforms, Inc. and affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ var o0; function Hb() { return o0 || (o0 = 1, process.env.NODE_ENV !== "production" && function() { function r(Ae) { if (Ae == null) return null; if (typeof Ae == "function") return Ae.$$typeof === fe ? null : Ae.displayName || Ae.name || null; if (typeof Ae == "string") return Ae; switch (Ae) { case g: return "Fragment"; case p: return "Profiler"; case F: return "StrictMode"; case Q: return "Suspense"; case K: return "SuspenseList"; case H: return "Activity"; } if (typeof Ae == "object") switch (typeof Ae.tag == "number" && console.error( "Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue." ), Ae.$$typeof) { case w: return "Portal"; case E: return (Ae.displayName || "Context") + ".Provider"; case v: return (Ae._context.displayName || "Context") + ".Consumer"; case C: var oe = Ae.render; return Ae = Ae.displayName, Ae || (Ae = oe.displayName || oe.name || "", Ae = Ae !== "" ? "ForwardRef(" + Ae + ")" : "ForwardRef"), Ae; case q: return oe = Ae.displayName || null, oe !== null ? oe : r(Ae.type) || "Memo"; case j: oe = Ae._payload, Ae = Ae._init; try { return r(Ae(oe)); } catch { } } return null; } function e(Ae) { return "" + Ae; } function t(Ae) { try { e(Ae); var oe = !1; } catch { oe = !0; } if (oe) { oe = console; var U = oe.error, M = typeof Symbol == "function" && Symbol.toStringTag && Ae[Symbol.toStringTag] || Ae.constructor.name || "Object"; return U.call( oe, "The provided key is an unsupported type %s. This value must be coerced to a string before using it here.", M ), e(Ae); } } function A(Ae) { if (Ae === g) return "<>"; if (typeof Ae == "object" && Ae !== null && Ae.$$typeof === j) return "<...>"; try { var oe = r(Ae); return oe ? "<" + oe + ">" : "<...>"; } catch { return "<...>"; } } function n() { var Ae = R.A; return Ae === null ? null : Ae.getOwner(); } function i() { return Error("react-stack-top-frame"); } function s(Ae) { if (_.call(Ae, "key")) { var oe = Object.getOwnPropertyDescriptor(Ae, "key").get; if (oe && oe.isReactWarning) return !1; } return Ae.key !== void 0; } function a(Ae, oe) { function U() { W || (W = !0, console.error( "%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)", oe )); } U.isReactWarning = !0, Object.defineProperty(Ae, "key", { get: U, configurable: !0 }); } function o() { var Ae = r(this.type); return ee[Ae] || (ee[Ae] = !0, console.error( "Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release." )), Ae = this.props.ref, Ae !== void 0 ? Ae : null; } function l(Ae, oe, U, M, V, J, X, N) { return U = J.ref, Ae = { $$typeof: c, type: Ae, key: oe, props: J, _owner: V }, (U !== void 0 ? U : null) !== null ? Object.defineProperty(Ae, "ref", { enumerable: !1, get: o }) : Object.defineProperty(Ae, "ref", { enumerable: !1, value: null }), Ae._store = {}, Object.defineProperty(Ae._store, "validated", { configurable: !1, enumerable: !1, writable: !0, value: 0 }), Object.defineProperty(Ae, "_debugInfo", { configurable: !1, enumerable: !1, writable: !0, value: null }), Object.defineProperty(Ae, "_debugStack", { configurable: !1, enumerable: !1, writable: !0, value: X }), Object.defineProperty(Ae, "_debugTask", { configurable: !1, enumerable: !1, writable: !0, value: N }), Object.freeze && (Object.freeze(Ae.props), Object.freeze(Ae)), Ae; } function f(Ae, oe, U, M, V, J, X, N) { var L = oe.children; if (L !== void 0) if (M) if (T(L)) { for (M = 0; M < L.length; M++) h(L[M]); Object.freeze && Object.freeze(L); } else console.error( "React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead." ); else h(L); if (_.call(oe, "key")) { L = r(Ae); var $ = Object.keys(oe).filter(function(G) { return G !== "key"; }); M = 0 < $.length ? "{key: someKey, " + $.join(": ..., ") + ": ...}" : "{key: someKey}", le[L + M] || ($ = 0 < $.length ? "{" + $.join(": ..., ") + ": ...}" : "{}", console.error( `A props object containing a "key" prop is being spread into JSX: let props = %s; <%s {...props} /> React keys must be passed directly to JSX without using spread: let props = %s; <%s key={someKey} {...props} />`, M, L, $, L ), le[L + M] = !0); } if (L = null, U !== void 0 && (t(U), L = "" + U), s(oe) && (t(oe.key), L = "" + oe.key), "key" in oe) { U = {}; for (var re in oe) re !== "key" && (U[re] = oe[re]); } else U = oe; return L && a( U, typeof Ae == "function" ? Ae.displayName || Ae.name || "Unknown" : Ae ), l( Ae, L, J, V, n(), U, X, N ); } function h(Ae) { typeof Ae == "object" && Ae !== null && Ae.$$typeof === c && Ae._store && (Ae._store.validated = 1); } var d = In, c = Symbol.for("react.transitional.element"), w = Symbol.for("react.portal"), g = Symbol.for("react.fragment"), F = Symbol.for("react.strict_mode"), p = Symbol.for("react.profiler"), v = Symbol.for("react.consumer"), E = Symbol.for("react.context"), C = Symbol.for("react.forward_ref"), Q = Symbol.for("react.suspense"), K = Symbol.for("react.suspense_list"), q = Symbol.for("react.memo"), j = Symbol.for("react.lazy"), H = Symbol.for("react.activity"), fe = Symbol.for("react.client.reference"), R = d.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, _ = Object.prototype.hasOwnProperty, T = Array.isArray, y = console.createTask ? console.createTask : function() { return null; }; d = { "react-stack-bottom-frame": function(Ae) { return Ae(); } }; var W, ee = {}, z = d["react-stack-bottom-frame"].bind( d, i )(), ae = y(A(i)), le = {}; ll.Fragment = g, ll.jsx = function(Ae, oe, U, M, V) { var J = 1e4 > R.recentlyCreatedOwnerStacks++; return f( Ae, oe, U, !1, M, V, J ? Error("react-stack-top-frame") : z, J ? y(A(Ae)) : ae ); }, ll.jsxs = function(Ae, oe, U, M, V) { var J = 1e4 > R.recentlyCreatedOwnerStacks++; return f( Ae, oe, U, !0, M, V, J ? Error("react-stack-top-frame") : z, J ? y(A(Ae)) : ae ); }; }()), ll; } var l0; function Db() { return l0 || (l0 = 1, process.env.NODE_ENV === "production" ? Hu.exports = kb() : Hu.exports = Hb()), Hu.exports; } var ft = Db(); function Kt(r) { "@babel/helpers - typeof"; return Kt = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(e) { return typeof e; } : function(e) { return e && typeof Symbol == "function" && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e; }, Kt(r); } var fA = Uint8Array, YA = Uint16Array, jg = Int32Array, uf = new fA([ 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0, /* unused */ 0, 0, /* impossible */ 0 ]), cf = new fA([ 0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13, /* unused */ 0, 0 ]), Pp = new fA([16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]), Pv = function(r, e) { for (var t = new YA(31), A = 0; A < 31; ++A) t[A] = e += 1 << r[A - 1]; for (var n = new jg(t[30]), A = 1; A < 30; ++A) for (var i = t[A]; i < t[A + 1]; ++i) n[i] = i - t[A] << 5 | A; return { b: t, r: n }; }, Mv = Pv(uf, 2), Kv = Mv.b, Mp = Mv.r; Kv[28] = 258, Mp[258] = 28; var qv = Pv(cf, 0), Pb = qv.b, u0 = qv.r, Kp = new YA(32768); for (var ar = 0; ar < 32768; ++ar) { var ys = (ar & 43690) >> 1 | (ar & 21845) << 1; ys = (ys & 52428) >> 2 | (ys & 13107) << 2, ys = (ys & 61680) >> 4 | (ys & 3855) << 4, Kp[ar] = ((ys & 65280) >> 8 | (ys & 255) << 8) >> 1; } var gi = function(r, e, t) { for (var A = r.length, n = 0, i = new YA(e); n < A; ++n) r[n] && ++i[r[n] - 1]; var s = new YA(e); for (n = 1; n < e; ++n) s[n] = s[n - 1] + i[n - 1] << 1; var a; if (t) { a = new YA(1 << e); var o = 15 - e; for (n = 0; n < A; ++n) if (r[n]) for (var l = n << 4 | r[n], f = e - r[n], h = s[r[n] - 1]++ << f, d = h | (1 << f) - 1; h <= d; ++h) a[Kp[h] >> o] = l; } else for (a = new YA(A), n = 0; n < A; ++n) r[n] && (a[n] = Kp[s[r[n] - 1]++] >> 15 - r[n]); return a; }, Ds = new fA(288); for (var ar = 0; ar < 144; ++ar) Ds[ar] = 8; for (var ar = 144; ar < 256; ++ar) Ds[ar] = 9; for (var ar = 256; ar < 280; ++ar) Ds[ar] = 7; for (var ar = 280; ar < 288; ++ar) Ds[ar] = 8; var ql = new fA(32); for (var ar = 0; ar < 32; ++ar) ql[ar] = 5; var Mb = /* @__PURE__ */ gi(Ds, 9, 0), Kb = /* @__PURE__ */ gi(Ds, 9, 1), qb = /* @__PURE__ */ gi(ql, 5, 0), jb = /* @__PURE__ */ gi(ql, 5, 1), sh = function(r) { for (var e = r[0], t = 1; t < r.length; ++t) r[t] > e && (e = r[t]); return e; }, _n = function(r, e, t) { var A = e / 8 | 0; return (r[A] | r[A + 1] << 8) >> (e & 7) & t; }, ah = function(r, e) { var t = e / 8 | 0; return (r[t] | r[t + 1] << 8 | r[t + 2] << 16) >> (e & 7); }, Gg = function(r) { return (r + 7) / 8 | 0; }, jv = function(r, e, t) { return (t == null || t > r.length) && (t = r.length), new fA(r.subarray(e, t)); }, Gb = [ "unexpected EOF", "invalid block type", "invalid length/literal", "invalid distance", "stream finished", "no stream handler", , "no callback", "invalid UTF-8 data", "extra field too long", "date not in range 1980-2099", "filename too long", "stream finishing", "invalid zip data" // determined by unknown compression method ], Tn = function(r, e, t) { var A = new Error(e || Gb[r]); if (A.code = r, Error.captureStackTrace && Error.captureStackTrace(A, Tn), !t) throw A; return A; }, Vb = function(r, e, t, A) { var n = r.length, i = 0; if (!n || e.f && !e.l) return t || new fA(0); var s = !t, a = s || e.i != 2, o = e.i; s && (t = new fA(n * 3)); var l = function(G) { var Y = t.length; if (G > Y) { var we = new fA(Math.max(Y * 2, G)); we.set(t), t = we; } }, f = e.f || 0, h = e.p || 0, d = e.b || 0, c = e.l, w = e.d, g = e.m, F = e.n, p = n * 8; do { if (!c) { f = _n(r, h, 1); var v = _n(r, h + 1, 3); if (h += 3, v) if (v == 1) c = Kb, w = jb, g = 9, F = 5; else if (v == 2) { var K = _n(r, h, 31) + 257, q = _n(r, h + 10, 15) + 4, j = K + _n(r, h + 5, 31) + 1; h += 14; for (var H = new fA(j), fe = new fA(19), R = 0; R < q; ++R) fe[Pp[R]] = _n(r, h + R * 3, 7); h += q * 3; for (var _ = sh(fe), T = (1 << _) - 1, y = gi(fe, _, 1), R = 0; R < j; ) { var W = y[_n(r, h, T)]; h += W & 15; var E = W >> 4; if (E < 16) H[R++] = E; else { var ee = 0, z = 0; for (E == 16 ? (z = 3 + _n(r, h, 3), h += 2, ee = H[R - 1]) : E == 17 ? (z = 3 + _n(r, h, 7), h += 3) : E == 18 && (z = 11 + _n(r, h, 127), h += 7); z--; ) H[R++] = ee; } } var ae = H.subarray(0, K), le = H.subarray(K); g = sh(ae), F = sh(le), c = gi(ae, g, 1), w = gi(le, F, 1); } else Tn(1); else { var E = Gg(h) + 4, C = r[E - 4] | r[E - 3] << 8, Q = E + C; if (Q > n) { o && Tn(0); break; } a && l(d + C), t.set(r.subarray(E, Q), d), e.b = d += C, e.p = h = Q * 8, e.f = f; continue; } if (h > p) { o && Tn(0); break; } } a && l(d + 131072); for (var Ae = (1 << g) - 1, oe = (1 << F) - 1, U = h; ; U = h) { var ee = c[ah(r, h) & Ae], M = ee >> 4; if (h += ee & 15, h > p) { o && Tn(0); break; } if (ee || Tn(2), M < 256) t[d++] = M; else if (M == 256) { U = h, c = null; break; } else { var V = M - 254; if (M > 264) { var R = M - 257, J = uf[R]; V = _n(r, h, (1 << J) - 1) + Kv[R], h += J; } var X = w[ah(r, h) & oe], N = X >> 4; X || Tn(3), h += X & 15; var le = Pb[N]; if (N > 3) { var J = cf[N]; le += ah(r, h) & (1 << J) - 1, h += J; } if (h > p) { o && Tn(0); break; } a && l(d + 131072); var L = d + V; if (d < le) { var $ = i - le, re = Math.min(le, L); for ($ + d < 0 && Tn(3); d < re; ++d) t[d] = A[$ + d]; } for (; d < L; ++d) t[d] = t[d - le]; } } e.l = c, e.p = U, e.b = d, e.f = f, c && (f = 1, e.m = g, e.d = w, e.n = F); } while (!f); return d != t.length && s ? jv(t, 0, d) : t.subarray(0, d); }, Pi = function(r, e, t) { t <<= e & 7; var A = e / 8 | 0; r[A] |= t, r[A + 1] |= t >> 8; }, ul = function(r, e, t) { t <<= e & 7; var A = e / 8 | 0; r[A] |= t, r[A + 1] |= t >> 8, r[A + 2] |= t >> 16; }, oh = function(r, e) { for (var t = [], A = 0; A < r.length; ++A) r[A] && t.push({ s: A, f: r[A] }); var n = t.length, i = t.slice(); if (!n) return { t: Vv, l: 0 }; if (n == 1) { var s = new fA(t[0].s + 1); return s[t[0].s] = 1, { t: s, l: 1 }; } t.sort(function(Q, K) { return Q.f - K.f; }), t.push({ s: -1, f: 25001 }); var a = t[0], o = t[1], l = 0, f = 1, h = 2; for (t[0] = { s: -1, f: a.f + o.f, l: a, r: o }; f != n - 1; ) a = t[t[l].f < t[h].f ? l++ : h++], o = t[l != f && t[l].f < t[h].f ? l++ : h++], t[f++] = { s: -1, f: a.f + o.f, l: a, r: o }; for (var d = i[0].s, A = 1; A < n; ++A) i[A].s > d && (d = i[A].s); var c = new YA(d + 1), w = qp(t[f - 1], c, 0); if (w > e) { var A = 0, g = 0, F = w - e, p = 1 << F; for (i.sort(function(K, q) { return c[q.s] - c[K.s] || K.f - q.f; }); A < n; ++A) { var v = i[A].s; if (c[v] > e) g += p - (1 << w - c[v]), c[v] = e; else break; } for (g >>= F; g > 0; ) { var E = i[A].s; c[E] < e ? g -= 1 << e - c[E]++ - 1 : ++A; } for (; A >= 0 && g; --A) { var C = i[A].s; c[C] == e && (--c[C], ++g); } w = e; } return { t: new fA(c), l: w }; }, qp = function(r, e, t) { return r.s == -1 ? Math.max(qp(r.l, e, t + 1), qp(r.r, e, t + 1)) : e[r.s] = t; }, c0 = function(r) { for (var e = r.length; e && !r[--e]; ) ; for (var t = new YA(++e), A = 0, n = r[0], i = 1, s = function(o) { t[A++] = o; }, a = 1; a <= e; ++a) if (r[a] == n && a != e) ++i; else { if (!n && i > 2) { for (; i > 138; i -= 138) s(32754); i > 2 && (s(i > 10 ? i - 11 << 5 | 28690 : i - 3 << 5 | 12305), i = 0); } else if (i > 3) { for (s(n), --i; i > 6; i -= 6) s(8304); i > 2 && (s(i - 3 << 5 | 8208), i = 0); } for (; i--; ) s(n); i = 1, n = r[a]; } return { c: t.subarray(0, A), n: e }; }, cl = function(r, e) { for (var t = 0, A = 0; A < e.length; ++A) t += r[A] * e[A]; return t; }, Gv = function(r, e, t) { var A = t.length, n = Gg(e + 2); r[n] = A & 255, r[n + 1] = A >> 8, r[n + 2] = r[n] ^ 255, r[n + 3] = r[n + 1] ^ 255; for (var i = 0; i < A; ++i) r[n + i + 4] = t[i]; return (n + 4 + A) * 8; }, f0 = function(r, e, t, A, n, i, s, a, o, l, f) { Pi(e, f++, t), ++n[256]; for (var h = oh(n, 15), d = h.t, c = h.l, w = oh(i, 15), g = w.t, F = w.l, p = c0(d), v = p.c, E = p.n, C = c0(g), Q = C.c, K = C.n, q = new YA(19), j = 0; j < v.length; ++j) ++q[v[j] & 31]; for (var j = 0; j < Q.length; ++j) ++q[Q[j] & 31]; for (var H = oh(q, 7), fe = H.t, R = H.l, _ = 19; _ > 4 && !fe[Pp[_ - 1]]; --_) ; var T = l + 5 << 3, y = cl(n, Ds) + cl(i, ql) + s, W = cl(n, d) + cl(i, g) + s + 14 + 3 * _ + cl(q, fe) + 2 * q[16] + 3 * q[17] + 7 * q[18]; if (o >= 0 && T <= y && T <= W) return Gv(e, f, r.subarray(o, o + l)); var ee, z, ae, le; if (Pi(e, f, 1 + (W < y)), f += 2, W < y) { ee = gi(d, c, 0), z = d, ae = gi(g, F, 0), le = g; var Ae = gi(fe, R, 0); Pi(e, f, E - 257), Pi(e, f + 5, K - 1), Pi(e, f + 10, _ - 4), f += 14; for (var j = 0; j < _; ++j) Pi(e, f + 3 * j, fe[Pp[j]]); f += 3 * _; for (var oe = [v, Q], U = 0; U < 2; ++U) for (var M = oe[U], j = 0; j < M.length; ++j) { var V = M[j] & 31; Pi(e, f, Ae[V]), f += fe[V], V > 15 && (Pi(e, f, M[j] >> 5 & 127), f += M[j] >> 12); } } else ee = Mb, z = Ds, ae = qb, le = ql; for (var j = 0; j < a; ++j) { var J = A[j]; if (J > 255) { var V = J >> 18 & 31; ul(e, f, ee[V + 257]), f += z[V + 257], V > 7 && (Pi(e, f, J >> 23 & 31), f += uf[V]); var X = J & 31; ul(e, f, ae[X]), f += le[X], X > 3 && (ul(e, f, J >> 5 & 8191), f += cf[X]); } else ul(e, f, ee[J]), f += z[J]; } return ul(e, f, ee[256]), f + z[256]; }, zb = /* @__PURE__ */ new jg([65540, 131080, 131088, 131104, 262176, 1048704, 1048832, 2114560, 2117632]), Vv = /* @__PURE__ */ new fA(0), Wb = function(r, e, t, A, n, i) { var s = i.z || r.length, a = new fA(A + s + 5 * (1 + Math.ceil(s / 7e3)) + n), o = a.subarray(A, a.length - n), l = i.l, f = (i.r || 0) & 7; if (e) { f && (o[0] = i.r >> 3); for (var h = zb[e - 1], d = h >> 13, c = h & 8191, w = (1 << t) - 1, g = i.p || new YA(32768), F = i.h || new YA(w + 1), p = Math.ceil(t / 3), v = 2 * p, E = function(k) { return (r[k] ^ r[k + 1] << p ^ r[k + 2] << v) & w; }, C = new jg(25e3), Q = new YA(288), K = new YA(32), q = 0, j = 0, H = i.i || 0, fe = 0, R = i.w || 0, _ = 0; H + 2 < s; ++H) { var T = E(H), y = H & 32767, W = F[T]; if (g[y] = W, F[T] = y, R <= H) { var ee = s - H; if ((q > 7e3 || fe > 24576) && (ee > 423 || !l)) { f = f0(r, o, 0, C, Q, K, j, fe, _, H - _, f), fe = q = j = 0, _ = H; for (var z = 0; z < 286; ++z) Q[z] = 0; for (var z = 0; z < 30; ++z) K[z] = 0; } var ae = 2, le = 0, Ae = c, oe = y - W & 32767; if (ee > 2 && T == E(H - oe)) for (var U = Math.min(d, ee) - 1, M = Math.min(32767, H), V = Math.min(258, ee); oe <= M && --Ae && y != W; ) { if (r[H + ae] == r[H + ae - oe]) { for (var J = 0; J < V && r[H + J] == r[H + J - oe]; ++J) ; if (J > ae) { if (ae = J, le = oe, J > U) break; for (var X = Math.min(oe, J - 2), N = 0, z = 0; z < X; ++z) { var L = H - oe + z & 32767, $ = g[L], re = L - $ & 32767; re > N && (N = re, W = L); } } } y = W, W = g[y], oe += y - W & 32767; } if (le) { C[fe++] = 268435456 | Mp[ae] << 18 | u0[le]; var G = Mp[ae] & 31, Y = u0[le] & 31; j += uf[G] + cf[Y], ++Q[257 + G], ++K[Y], R = H + ae, ++q; } else C[fe++] = r[H], ++Q[r[H]]; } } for (H = Math.max(H, R); H < s; ++H) C[fe++] = r[H], ++Q[r[H]]; f = f0(r, o, l, C, Q, K, j, fe, _, H - _, f), l || (i.r = f & 7 | o[f / 8 | 0] << 3, f -= 7, i.h = F, i.p = g, i.i = H, i.w = R); } else { for (var H = i.w || 0; H < s + l; H += 65535) { var we = H + 65535; we >= s && (o[f / 8 | 0] = l, we = s), f = Gv(o, f + 1, r.subarray(H, we)); } i.i = s; } return jv(a, 0, A + Gg(f) + n); }, zv = function() { var r = 1, e = 0; return { p: function(t) { for (var A = r, n = e, i = t.length | 0, s = 0; s != i; ) { for (var a = Math.min(s + 2655, i); s < a; ++s) n += A += t[s]; A = (A & 65535) + 15 * (A >> 16), n = (n & 65535) + 15 * (n >> 16); } r = A, e = n; }, d: function() { return r %= 65521, e %= 65521, (r & 255) << 24 | (r & 65280) << 8 | (e & 255) << 8 | e >> 8; } }; }, Xb = function(r, e, t, A, n) { if (!n && (n = { l: 1 }, e.dictionary)) { var i = e.dictionary.subarray(-32768), s = new fA(i.length + r.length); s.set(i), s.set(r, i.length), r = s, n.w = i.length; } return Wb(r, e.level == null ? 6 : e.level, e.mem == null ? n.l ? Math.ceil(Math.max(8, Math.min(13, Math.log(r.length))) * 1.5) : 20 : 12 + e.mem, t, A, n); }, Wv = function(r, e, t) { for (; t; ++e) r[e] = t, t >>>= 8; }, Jb = function(r, e) { var t = e.level, A = t == 0 ? 0 : t < 6 ? 1 : t == 9 ? 3 : 2; if (r[0] = 120, r[1] = A << 6 | (e.dictionary && 32), r[1] |= 31 - (r[0] << 8 | r[1]) % 31, e.dictionary) { var n = zv(); n.p(e.dictionary), Wv(r, 2, n.d()); } }, Yb = function(r, e) { return ((r[0] & 15) != 8 || r[0] >> 4 > 7 || (r[0] << 8 | r[1]) % 31) && Tn(6, "invalid zlib data"), (r[1] >> 5 & 1) == 1 && Tn(6, "invalid zlib data: " + (r[1] & 32 ? "need" : "unexpected") + " dictionary"), (r[1] >> 3 & 4) + 2; }; function jp(r, e) { e || (e = {}); var t = zv(); t.p(r); var A = Xb(r, e, e.dictionary ? 6 : 2, 4); return Jb(A, e), Wv(A, A.length - 4, t.d()), A; } function $b(r, e) { return Vb(r.subarray(Yb(r), -4), { i: 2 }, e, e); } var Zb = typeof TextDecoder < "u" && /* @__PURE__ */ new TextDecoder(), e4 = 0; try { Zb.decode(Vv, { stream: !0 }), e4 = 1; } catch { } /** @license * * jsPDF - PDF Document creation from JavaScript * Version 3.0.1 Built on 2025-03-17T14:19:36.873Z * CommitID 00000000 * * Copyright (c) 2010-2021 James Hall <james@parall.ax>, https://github.com/MrRio/jsPDF * 2015-2021 yWorks GmbH, http://www.yworks.com * 2015-2021 Lukas Holländer <lukas.hollaender@yworks.com>, https://github.com/HackbrettXXX * 2016-2018 Aras Abbasi <aras.abbasi@gmail.com> * 2010 Aaron Spike, https://github.com/acspike * 2012 Willow Systems Corporation, https://github.com/willowsystems * 2012 Pablo Hess, https://github.com/pablohess * 2012 Florian Jenett, https://github.com/fjenett * 2013 Warren Weckesser, https://github.com/warrenweckesser * 2013 Youssef Beddad, https://github.com/lifof * 2013 Lee Driscoll, https://github.com/lsdriscoll * 2013 Stefan Slonevskiy, https://github.com/stefslon * 2013 Jeremy Morel, https://github.com/jmorel * 2013 Christoph Hartmann, https://github.com/chris-rock * 2014 Juan Pablo Gaviria, https://github.com/juanpgaviria * 2014 James Makes, https://github.com/dollaruw * 2014 Diego Casorran, https://github.com/diegocr * 2014 Steven Spungin, https://github.com/Flamenco * 2014 Kenneth Glassey, https://github.com/Gavvers * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including * without limitation the rights to use, copy, modify, merge, publish, * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. * * Contributor(s): * siefkenj, ahwolf, rickygu, Midnith, saintclair, eaparango, * kim3er, mfo, alnorth, Flamenco */ var gt = /* @__PURE__ */ function() { return typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : this; }(); function lh() { gt.console && typeof gt.console.log == "function" && gt.console.log.apply(gt.console, arguments); } var Yt = { log: lh, warn: function(r) { gt.console && (typeof gt.console.warn == "function" ? gt.console.warn.apply(gt.console, arguments) : lh.call(null, arguments)); }, error: function(r) { gt.console && (typeof gt.console.error == "function" ? gt.console.error.apply(gt.console, arguments) : lh(r)); } }; function uh(r, e, t) { var A = new XMLHttpRequest(); A.open("GET", r), A.responseType = "blob", A.onload = function() { ua(A.response, e, t); }, A.onerror = function() { Yt.error("could not download file"); }, A.send(); } function h0(r) { var e = new XMLHttpRequest(); e.open("HEAD", r, !1); try { e.send(); } catch { } return e.status >= 200 && e.status <= 299; } function Du(r) { try { r.dispatchEvent(new MouseEvent("click")); } catch { var e = document.createEvent("MouseEvents"); e.initMouseEvent("click", !0, !0, window, 0, 0, 0, 80, 20, !1, !1, !1, !1, 0, null), r.dispatchEvent(e); } } var Tl, Gp, ua = gt.saveAs || ((typeof window > "u" ? "undefined" : Kt(window)) !== "object" || window !== gt ? function() { } : typeof HTMLAnchorElement < "u" && "download" in HTMLAnchorElement.prototype ? function(r, e, t) { var A = gt.URL || gt.webkitURL, n = document.createElement("a"); e = e || r.name || "download", n.download = e, n.rel = "noopener", typeof r == "string" ? (n.href = r, n.origin !== location.origin ? h0(n.href) ? uh(r, e, t) : Du(n, n.target = "_blank") : Du(n)) : (n.href = A.createObjectURL(r), setTimeout(function() { A.revokeObjectURL(n.href); }, 4e4), setTimeout(function() { Du(n); }, 0)); } : "msSaveOrOpenBlob" in navigator ? function(r, e, t) { if (e = e || r.name || "download", typeof r == "string") if (h0(r)) uh(r, e, t); else { var A = document.createElement("a"); A.href = r, A.target = "_blank", setTimeout(function() { Du(A); }); } else navigator.msSaveOrOpenBlob(function(n, i) { return i === void 0 ? i = { autoBom: !1 } : Kt(i) !== "object" && (Yt.warn("Deprecated: Expected third argument to be a object"), i = { autoBom: !i }), i.autoBom && /^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(n.type) ? new Blob(["\uFEFF", n], { type: n.type }) : n; }(r, t), e); } : function(r, e, t, A) { if ((A = A || open("", "_blank")) && (A.document.title = A.document.body.innerText = "downloading..."), typeof r == "string") return uh(r, e, t); var n = r.type === "application/octet-stream", i = /constructor/i.test(gt.HTMLElement) || gt.safari, s = /CriOS\/[\d]+/.test(navigator.userAgent); if ((s || n && i) && (typeof FileReader > "u" ? "undefined" : Kt(FileReader)) === "object") { var a = new FileReader(); a.onloadend = function() { var f = a.result; f = s ? f : f.replace(/^data:[^;]*;/, "data:attachment/file;"), A ? A.location.href = f : location = f, A = null; }, a.readAsDataURL(r); } else { var o = gt.URL || gt.webkitURL, l = o.createObjectURL(r); A ? A.location = l : location.href = l, A = null, setTimeout(function() { o.revokeObjectURL(l); }, 4e4); } }); /** * A class to parse color values * @author Stoyan Stefanov <sstoo@gmail.com> * {@link http://www.phpied.com/rgb-color-parser-in-javascript/} * @license Use it if you like it */ function Xv(r) { var e; r = r || "", this.ok = !1, r.charAt(0) == "#" && (r = r.substr(1, 6)), r = { aliceblue: "f0f8ff", antiquewhite: "faebd7", aqua: "00ffff", aquamarine: "7fffd4", azure: "f0ffff", beige: "f5f5dc", bisque: "ffe4c4", black: "000000", blanchedalmond: "ffebcd", blue: "0000ff", blueviolet: "8a2be2", brown: "a52a2a", burlywood: "deb887", cadetblue: "5f9ea0", chartreuse: "7fff00", chocolate: "d2691e", coral: "ff7f50", cornflowerblue: "6495ed", cornsilk: "fff8dc", crimson: "dc143c", cyan: "00ffff", darkblue: "00008b", darkcyan: "008b8b", darkgoldenrod: "b8860b", darkgray: "a9a9a9", darkgreen: "006400", darkkhaki: "bdb76b", darkmagenta: "8b008b", darkolivegreen: "556b2f", darkorange: "ff8c00", darkorchid: "9932cc", darkred: "8b0000", darksalmon: "e9967a", darkseagreen: "8fbc8f", darkslateblue: "483d8b", darkslategray: "2f4f4f", darkturquoise: "00ced1", darkviolet: "9400d3", deeppink: "ff1493", deepskyblue: "00bfff", dimgray: "696969", dodgerblue: "1e90ff", feldspar: "d19275", firebrick: "b22222", floralwhite: "fffaf0", forestgreen: "228b22", fuchsia: "ff00ff", gainsboro: "dcdcdc", ghostwhite: "f8f8ff", gold: "ffd700", goldenrod: "daa520", gray: "808080", green: "008000", greenyellow: "adff2f", honeydew: "f0fff0", hotpink: "ff69b4", indianred: "cd5c5c", indigo: "4b0082", ivory: "fffff0", khaki: "f0e68c", lavender: "e6e6fa", lavenderblush: "fff0f5", lawngreen: "7cfc00", lemonchiffon: "fffacd", lightblue: "add8e6", lightcoral: "f08080", lightcyan: "e0ffff", lightgoldenrodyellow: "fafad2", lightgrey: "d3d3d3", lightgreen: "90ee90", lightpink: "ffb6c1", lightsalmon: "ffa07a", lightseagreen: "20b2aa", lightskyblue: "87cefa", lightslateblue: "8470ff", lightslategray: "778899", lightsteelblue: "b0c4de", lightyellow: "ffffe0", lime: "00ff00", limegreen: "32cd32", linen: "faf0e6", magenta: "ff00ff", maroon: "800000", mediumaquamarine: "66cdaa", mediumblue: "0000cd", mediumorchid: "ba55d3", mediumpurple: "9370d8", mediumseagreen: "3cb371", mediumslateblue: "7b68ee", mediumspringgreen: "00fa9a", mediumturquoise: "48d1cc", mediumvioletred: "c71585", midnightblue: "191970", mintcream: "f5fffa", mistyrose: "ffe4e1", moccasin: "ffe4b5", navajowhite: "ffdead", navy: "000080", oldlace: "fdf5e6", olive: "808000", olivedrab: "6b8e23", orange: "ffa500", orangered: "ff4500", orchid: "da70d6", palegoldenrod: "eee8aa", palegreen: "98fb98", paleturquoise: "afeeee", palevioletred: "d87093", papayawhip: "ffefd5", peachpuff: "ffdab9", peru: "cd853f", pink: "ffc0cb", plum: "dda0dd", powderblue: "b0e0e6", purple: "800080", red: "ff0000", rosybrown: "bc8f8f", royalblue: "4169e1", saddlebrown: "8b4513", salmon: "fa8072", sandybrown: "f4a460", seagreen: "2e8b57", seashell: "fff5ee", sienna: "a0522d", silver: "c0c0c0", skyblue: "87ceeb", slateblue: "6a5acd", slategray: "708090", snow: "fffafa", springgreen: "00ff7f", steelblue: "4682b4", tan: "d2b48c", teal: "008080", thistle: "d8bfd8", tomato: "ff6347", turquoise: "40e0d0", violet: "ee82ee", violetred: "d02090", wheat: "f5deb3", white: "ffffff", whitesmoke: "f5f5f5", yellow: "ffff00", yellowgreen: "9acd32" }[r = (r = r.replace(/ /g, "")).toLowerCase()] || r; for (var t = [{ re: /^rgb\((\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3})\)$/, example: ["rgb(123, 234, 45)", "rgb(255,234,245)"], process: function(a) { return [parseInt(a[1]), parseInt(a[2]), parseInt(a[3])]; } }, { re: /^(\w{2})(\w{2})(\w{2})$/, example: ["#00ff00", "336699"], process: function(a) { return [parseInt(a[1], 16), parseInt(a[2], 16), parseInt(a[3], 16)]; } }, { re: /^(\w{1})(\w{1})(\w{1})$/, example: ["#fb0", "f0f"], process: function(a) { return [parseInt(a[1] + a[1], 16), parseInt(a[2] + a[2], 16), parseInt(a[3] + a[3], 16)]; } }], A = 0; A < t.length; A++) { var n = t[A].re, i = t[A].process, s = n.exec(r); s && (e = i(s), this.r = e[0], this.g = e[1], this.b = e[2], this.ok = !0); } this.r = this.r < 0 || isNaN(this.r) ? 0 : this.r > 255 ? 255 : this.r, this.g = this.g < 0 || isNaN(this.g) ? 0 : this.g > 255 ? 255 : this.g, this.b = this.b < 0 || isNaN(this.b) ? 0 : this.b > 255 ? 255 : this.b, this.toRGB = function() { return "rgb(" + this.r + ", " + this.g + ", " + this.b + ")"; }, this.toHex = function() { var a = this.r.toString(16), o = this.g.toString(16), l = this.b.toString(16); return a.length == 1 && (a = "0" + a), o.length == 1 && (o = "0" + o), l.length == 1 && (l = "0" + l), "#" + a + o + l; }; } /** * @license * Joseph Myers does not specify a particular license for his work. * * Author: Joseph Myers * Accessed from: http://www.myersdaily.org/joseph/javascript/md5.js * * Modified by: Owen Leong */ function ch(r, e) { var t = r[0], A = r[1], n = r[2], i = r[3]; t = sA(t, A, n, i, e[0], 7, -680876936), i = sA(i, t, A, n, e[1], 12, -389564586), n = sA(n, i, t, A, e[2], 17, 606105819), A = sA(A, n, i, t, e[3], 22, -1044525330), t = sA(t, A, n, i, e[4], 7, -176418897), i = sA(i, t, A, n, e[5], 12, 1200080426), n = sA(n, i, t, A, e[6], 17, -1473231341), A = sA(A, n, i, t, e[7], 22, -45705983), t = sA(t, A, n, i, e[8], 7, 1770035416), i = sA(i, t, A, n, e[9], 12, -1958414417), n = sA(n, i, t, A, e[10], 17, -42063), A = sA(A, n, i, t, e[11], 22, -1990404162), t = sA(t, A, n, i, e[12], 7, 1804603682), i = sA(i, t, A, n, e[13], 12, -40341101), n = sA(n, i, t, A, e[14], 17, -1502002290), t = aA(t, A = sA(A, n, i, t, e[15], 22, 1236535329), n, i, e[1], 5, -165796510), i = aA(i, t, A, n, e[6], 9, -1069501632), n = aA(n, i, t, A, e[11], 14, 643717713), A = aA(A, n, i, t, e[0], 20, -373897302), t = aA(t, A, n, i, e[5], 5, -701558691), i = aA(i, t, A, n, e[10], 9, 38016083), n = aA(n, i, t, A, e[15], 14, -660478335), A = aA(A, n, i, t, e[4], 20, -405537848), t = aA(t, A, n, i, e[9], 5, 568446438), i = aA(i, t, A, n, e[14], 9, -1019803690), n = aA(n, i, t, A, e[3], 14, -187363961), A = aA(A, n, i, t, e[8], 20, 1163531501), t = aA(t, A, n, i, e[13], 5, -1444681467), i = aA(i, t, A, n, e[2], 9, -51403784), n = aA(n, i, t, A, e[7], 14, 1735328473), t = oA(t, A = aA(A, n, i, t, e[12], 20, -1926607734), n, i, e[5], 4, -378558), i = oA(i, t, A, n, e[8], 11, -2022574463), n = oA(n, i, t, A, e[11], 16, 1839030562), A = oA(A, n, i, t, e[14], 23, -35309556), t = oA(t, A, n, i, e[1], 4, -1530992060), i = oA(i, t, A, n, e[4], 11, 1272893353), n = oA(n, i, t, A, e[7], 16, -155497632), A = oA(A, n, i, t, e[10], 23, -1094730640), t = oA(t, A, n, i, e[13], 4, 681279174), i = oA(i, t, A, n, e[0], 11, -358537222), n = oA(n, i, t, A, e[3], 16, -722521979), A = oA(A, n, i, t, e[6], 23, 76029189), t = oA(t, A, n, i, e[9], 4, -640364487), i = oA(i, t, A, n, e[12], 11, -421815835), n = oA(n, i, t, A, e[15], 16, 530742520), t = lA(t, A = oA(A, n, i, t, e[2], 23, -995338651), n, i, e[0], 6, -198630844), i = lA(i, t, A, n, e[7], 10, 1126891415), n = lA(n, i, t, A, e[14], 15, -1416354905), A = lA(A, n, i, t, e[5], 21, -57434055), t = lA(t, A, n, i, e[12], 6, 1700485571), i = lA(i, t, A, n, e[3], 10, -1894986606), n = lA(n, i, t, A, e[10], 15, -1051523), A = lA(A, n, i, t, e[1], 21, -2054922799), t = lA(t, A, n, i, e[8], 6, 1873313359), i = lA(i, t, A, n, e[15], 10, -30611744), n = lA(n, i, t, A, e[6], 15, -1560198380), A = lA(A, n, i, t, e[13], 21, 1309151649), t = lA(t, A, n, i, e[4], 6, -145523070), i = lA(i, t, A, n, e[11], 10, -1120210379), n = lA(n, i, t, A, e[2], 15, 718787259), A = lA(A, n, i, t, e[9], 21, -343485551), r[0] = Ss(t, r[0]), r[1] = Ss(A, r[1]), r[2] = Ss(n, r[2]), r[3] = Ss(i, r[3]); } function ff(r, e, t, A, n, i) { return e = Ss(Ss(e, r), Ss(A, i)), Ss(e << n | e >>> 32 - n, t); } function sA(r, e, t, A, n, i, s) { return ff(e & t | ~e & A, r, e, n, i, s); } function aA(r, e, t, A, n, i, s) { return ff(e & A | t & ~A, r, e, n, i, s); } function oA(r, e, t, A, n, i, s) { return ff(e ^ t ^ A, r, e, n, i, s); } function lA(r, e, t, A, n, i, s) { return ff(t ^ (e | ~A), r, e, n, i, s); } function Jv(r) { var e, t = r.length, A = [1732584193, -271733879, -1732584194, 271733878]; for (e = 64; e <= r.length; e += 64) ch(A, t4(r.substring(e - 64, e))); r = r.substring(e - 64); var n = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; for (e = 0; e < r.length; e++) n[e >> 2] |= r.charCodeAt(e) << (e % 4 << 3); if (n[e >> 2] |= 128 << (e % 4 << 3), e > 55) for (ch(A, n), e = 0; e < 16; e++) n[e] = 0; return n[14] = 8 * t, ch(A, n), A; } function t4(r) { var e, t = []; for (e = 0; e < 64; e += 4) t[e >> 2] = r.charCodeAt(e) + (r.charCodeAt(e + 1) << 8) + (r.charCodeAt(e + 2) << 16) + (r.charCodeAt(e + 3) << 24); return t; } Tl = gt.atob.bind(gt), Gp = gt.btoa.bind(gt); var d0 = "0123456789abcdef".split(""); function r4(r) { for (var e = "", t = 0; t < 4; t++) e += d0[r >> 8 * t + 4 & 15] + d0[r >> 8 * t & 15]; return e; } function A4(r) { return String.fromCharCode((255 & r) >> 0, (65280 & r) >> 8, (16711680 & r) >> 16, (4278190080 & r) >> 24); } function Vp(r) { return Jv(r).map(A4).join(""); } var n4 = function(r) { for (var e = 0; e < r.length; e++) r[e] = r4(r[e]); return r.join(""); }(Jv("hello")) != "5d41402abc4b2a76b9719d911017c592"; function Ss(r, e) { if (n4) { var t = (65535 & r) + (65535 & e); return (r >> 16) + (e >> 16) + (t >> 16) << 16 | 65535 & t; } return r + e & 4294967295; } /** * @license * FPDF is released under a permissive license: there is no usage restriction. * You may embed it freely in your application (commercial or not), with or * without modifications. * * Reference: http://www.fpdf.org/en/script/script37.php */ function zp(r, e) { var t, A, n, i; if (r !== t) { for (var s = (n = r, i = 1 + (256 / r.length >> 0), new Array(i + 1).join(n)), a = [], o = 0; o < 256; o++) a[o] = o; var l = 0; for (o = 0; o < 256; o++) { var f = a[o]; l = (l + f + s.charCodeAt(o)) % 256, a[o] = a[l], a[l] = f; } t = r, A = a; } else a = A; var h = e.length, d = 0, c = 0, w = ""; for (o = 0; o < h; o++) c = (c + (f = a[d = (d + 1) % 256])) % 256, a[d] = a[c], a[c] = f, s = a[(a[d] + a[c]) % 256], w += String.fromCharCode(e.charCodeAt(o) ^ s); return w; } /** * @license * Licensed under the MIT License. * http://opensource.org/licenses/mit-license * Author: Owen Leong (@owenl131) * Date: 15 Oct 2020 * References: * https://www.cs.cmu.edu/~dst/Adobe/Gallery/anon21jul01-pdf-encryption.txt * https://github.com/foliojs/pdfkit/blob/master/lib/security.js * http://www.fpdf.org/en/script/script37.php */ var p0 = { print: 4, modify: 8, copy: 16, "annot-forms": 32 }; function io(r, e, t, A) { this.v = 1, this.r = 2; var n = 192; r.forEach(function(a) { if (p0.perm !== void 0) throw new Error("Invalid permission: " + a); n += p0[a]; }), this.padding = "(¿N^NuŠAd\0NVÿú\b..\0¶Ðh>€/\f©þdSiz"; var i = (e + this.padding).substr(0, 32), s = (t + this.padding).substr(0, 32); this.O = this.processOwnerPassword(i, s), this.P = -(1 + (255 ^ n)), this.encryptionKey = Vp(i + this.O + this.lsbFirstWord(this.P) + this.hexToBytes(A)).substr(0, 5), this.U = zp(this.encryptionKey, this.padding); } function so(r) { if (/[^\u0000-\u00ff]/.test(r)) throw new Error("Invalid PDF Name Object: " + r + ", Only accept ASCII characters."); for (var e = "", t = r.length, A = 0; A < t; A++) { var n = r.charCodeAt(A); n < 33 || n === 35 || n === 37 || n === 40 || n === 41 || n === 47 || n === 60 || n === 62 || n === 91 || n === 93 || n === 123 || n === 125 || n > 126 ? e += "#" + ("0" + n.toString(16)).slice(-2) : e += r[A]; } return e; } function g0(r) { if (Kt(r) !== "object") throw new Error("Invalid Context passed to initialize PubSub (jsPDF-module)"); var e = {}; this.subscribe = function(t, A, n) { if (n = n || !1, typeof t != "string" || typeof A != "function" || typeof n != "boolean") throw new Error("Invalid arguments passed to PubSub.subscribe (jsPDF-module)"); e.hasOwnProperty(t) || (e[t] = {}); var i = Math.random().toString(35); return e[t][i] = [A, !!n], i; }, this.unsubscribe = function(t) { for (var A in e) if (e[A][t]) return delete e[A][t], Object.keys(e[A]).length === 0 && delete e[A], !0; return !1; }, this.publish = function(t) { if (e.hasOwnProperty(t)) { var A = Array.prototype.slice.call(arguments, 1), n = []; for (var i in e[t]) { var s = e[t][i]; try { s[0].apply(r, A); } catch (a) { gt.console && Yt.error("jsPDF PubSub Error", a.message, a); } s[1] && n.push(i); } n.length && n.forEach(this.unsubscribe); } }, this.getTopics = function() { return e; }; } function jc(r) { if (!(this instanceof jc)) return new jc(r); var e = "opacity,stroke-opacity".split(","); for (var t in r) r.hasOwnProperty(t) && e.indexOf(t) >= 0 && (this[t] = r[t]); this.id = "", this.objectNumber = -1; } function Yv(r, e) { this.gState = r, this.matrix = e, this.id = "", this.objectNumber = -1; } function ca(r, e, t, A, n) { if (!(this instanceof ca)) return new ca(r, e, t, A, n); this.type = r === "axial" ? 2 : 3, this.coords = e, this.colors = t, Yv.call(this, A, n); } function go(r, e, t, A, n) { if (!(this instanceof go)) return new go(r, e, t, A, n); this.boundingBox = r, this.xStep = e, this.yStep = t, this.stream = "", this.cloneIndex = 0, Yv.call(this, A, n); } function pt(r) { var e, t = typeof arguments[0] == "string" ? arguments[0] : "p", A = arguments[1], n = arguments[2], i = arguments[3], s = [], a = 1, o = 16, l = "S", f = null; Kt(r = r || {}) === "object" && (t = r.orientation, A = r.unit || A, n = r.format || n, i = r.compress || r.compressPdf || i, (f = r.encryption || null) !== null && (f.userPassword = f.userPassword || "", f.ownerPassword = f.ownerPassword || "", f.userPermissions = f.userPermissions || []), a = typeof r.userUnit == "number" ? Math.abs(r.userUnit) : 1, r.precision !== void 0 && (e = r.precision), r.floatPrecision !== void 0 && (o = r.floatPrecision), l = r.defaultPathOperation || "S"), s = r.filters || (i === !0 ? ["FlateEncode"] : s), A = A || "mm", t = ("" + (t || "P")).toLowerCase(); var h = r.putOnlyUsedFonts || !1, d = {}, c = { internal: {}, __private__: {} }; c.__private__.PubSub = g0; var w = "1.3", g = c.__private__.getPdfVersion = function() { return w; }; c.__private__.setPdfVersion = function(x) { w = x; }; var F = { a0: [2383.94, 3370.39], a1: [1683.78, 2383.94], a2: [1190.55, 1683.78], a3: [841.89, 1190.55], a4: [595.28, 841.89], a5: [419.53, 595.28], a6: [297.64, 419.53], a7: [209.76, 297.64], a8: [147.4, 209.76], a9: [104.88, 147.4], a10: [73.7, 104.88], b0: [2834.65, 4008.19], b1: [2004.09, 2834.65], b2: [1417.32, 2004.09], b3: [1000.63, 1417.32], b4: [708.66, 1000.63], b5: [498.9, 708.66], b6: [354.33, 498.9], b7: [249.45, 354.33], b8: [175.75, 249.45], b9: [124.72, 175.75], b10: [87.87, 124.72], c0: [2599.37, 3676.54], c1: [1836.85, 2599.37], c2: [1298.27, 1836.85], c3: [918.43, 1298.27], c4: [649.13, 918.43], c5: [459.21, 649.13], c6: [323.15, 459.21], c7: [229.61, 323.15], c8: [161.57, 229.61], c9: [113.39, 161.57], c10: [79.37, 113.39], dl: [311.81, 623.62], letter: [612, 792], "government-letter": [576, 756], legal: [612, 1008], "junior-legal": [576, 360], ledger: [1224, 792], tabloid: [792, 1224], "credit-card": [153, 243] }; c.__private__.getPageFormats = function() { return F; }; var p = c.__private__.getPageFormat = function(x) { return F[x]; }; n = n || "a4"; var v = { COMPAT: "compat", ADVANCED: "advanced" }, E = v.COMPAT; function C() { this.saveGraphicsState(), S(new it(Ve, 0, 0, -Ve, 0, ls() * Ve).toString() + " cm"), this.setFontSize(this.getFontSize() / Ve), l = "n", E = v.ADVANCED; } function Q() { this.restoreGraphicsState(), l = "S", E = v.COMPAT; } var K = c.__private__.combineFontStyleAndFontWeight = function(x, te) { if (x == "bold" && te == "normal" || x == "bold" && te == 400 || x == "normal" && te == "italic" || x == "bold" && te == "italic") throw new Error("Invalid Combination of fontweight and fontstyle"); return te && (x = te == 400 || te === "normal" ? x === "italic" ? "italic" : "normal" : te != 700 && te !== "bold" || x !== "normal" ? (te == 700 ? "bold" : te) + "" + x : "bold"), x; }; c.advancedAPI = function(x) { var te = E === v.COMPAT; return te && C.call(this), typeof x != "function" || (x(this), te && Q.call(this)), this; }, c.compatAPI = function(x) { var te = E === v.ADVANCED; return te && Q.call(this), typeof x != "function" || (x(this), te && C.call(this)), this; }, c.isAdvancedAPI = function() { return E === v.ADVANCED; }; var q, j = function(x) { if (E !== v.ADVANCED) throw new Error(x + " is only available in 'advanced' API mode. You need to call advancedAPI() first."); }, H = c.roundToPrecision = c.__private__.roundToPrecision = function(x, te) { var ve = e || te; if (isNaN(x) || isNaN(ve)) throw new Error("Invalid argument passed to jsPDF.roundToPrecision"); return x.toFixed(ve).replace(/0+$/, ""); }; q = c.hpf = c.__private__.hpf = typeof o == "number" ? function(x) { if (isNaN(x)) throw new Error("Invalid argument passed to jsPDF.hpf"); return H(x, o); } : o === "smart" ? function(x) { if (isNaN(x)) throw new Error("Invalid argument passed to jsPDF.hpf"); return H(x, x > -1 && x < 1 ? 16 : 5); } : function(x) { if (isNaN(x)) throw new Error("Invalid argument passed to jsPDF.hpf"); return H(x, 16); }; var fe = c.f2 = c.__private__.f2 = function(x) { if (isNaN(x)) throw new Error("Invalid argument passed to jsPDF.f2"); return H(x, 2); }, R = c.__private__.f3 = function(x) { if (isNaN(x)) throw new Error("Invalid argument passed to jsPDF.f3"); return H(x, 3); }, _ = c.scale = c.__private__.scale = function(x) { if (isNaN(x)) throw new Error("Invalid argument passed to jsPDF.scale"); return E === v.COMPAT ? x * Ve : E === v.ADVANCED ? x : void 0; }, T = function(x) { return E === v.COMPAT ? ls() - x : E === v.ADVANCED ? x : void 0; }, y = function(x) { return _(T(x)); }; c.__private__.setPrecision = c.setPrecision = function(x) { typeof parseInt(x, 10) == "number" && (e = parseInt(x, 10)); }; var W, ee = "00000000000000000000000000000000", z = c.__private__.getFileId = function() { return ee; }, ae = c.__private__.setFileId = function(x) { return ee = x !== void 0 && /^[a-fA-F0-9]{32}$/.test(x) ? x.toUpperCase() : ee.split("").map(function() { return "ABCDEF0123456789".charAt(Math.floor(16 * Math.random())); }).join(""), f !== null && (br = new io(f.userPermissions, f.userPassword, f.ownerPassword, ee)), ee; }; c.setFileId = function(x) { return ae(x), this; }, c.getFileId = function() { return z(); }; var le = c.__private__.convertDateToPDFDate = function(x) { var te = x.getTimezoneOffset(), ve = te < 0 ? "+" : "-", ye = Math.floor(Math.abs(te / 60)), _e = Math.abs(te % 60), Te = [ve, V(ye), "'", V(_e), "'"].join(""); return ["D:", x.getFullYear(), V(x.getMonth() + 1), V(x.getDate()), V(x.getHours()), V(x.getMinutes()), V(x.getSeconds()), Te].join(""); }, Ae = c.__private__.convertPDFDateToDate = function(x) { var te = parseInt(x.substr(2, 4), 10), ve = parseInt(x.subst