@supportwire/messenger-js-sdk 1.0.26
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +80 -0
- package/dist/index-bfV4xNqW-CRQbrL80.js +1092 -0
- package/dist/index-bfV4xNqW-CRQbrL80.js.map +1 -0
- package/dist/index-bfV4xNqW-ChZOGalc.cjs +162 -0
- package/dist/index-bfV4xNqW-ChZOGalc.cjs.map +1 -0
- package/dist/index.cjs +921 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +149 -0
- package/dist/index.js +2646 -0
- package/dist/index.js.map +1 -0
- package/dist/snapdom-6yvsn_Iv-6uiY9rZc.js +3373 -0
- package/dist/snapdom-6yvsn_Iv-6uiY9rZc.js.map +1 -0
- package/dist/snapdom-6yvsn_Iv-OVmChxqF.cjs +9 -0
- package/dist/snapdom-6yvsn_Iv-OVmChxqF.cjs.map +1 -0
- package/package.json +37 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"snapdom-6yvsn_Iv-6uiY9rZc.js","sources":["../../widget-loader/dist/snapdom-6yvsn_Iv.js"],"sourcesContent":["var Wr = Object.defineProperty, Ir = Object.defineProperties;\nvar _r = Object.getOwnPropertyDescriptors;\nvar At = Object.getOwnPropertySymbols;\nvar Ur = Object.prototype.hasOwnProperty, Or = Object.prototype.propertyIsEnumerable;\nvar Mt = (e, t, r) => t in e ? Wr(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r, W = (e, t) => {\n for (var r in t || (t = {}))\n Ur.call(t, r) && Mt(e, r, t[r]);\n if (At)\n for (var r of At(t))\n Or.call(t, r) && Mt(e, r, t[r]);\n return e;\n}, z = (e, t) => Ir(e, _r(t));\nvar jr = Object.defineProperty, Q = (e, t) => () => (e && (t = e(e = 0)), t), Pe = (e, t) => {\n for (var r in t) jr(e, r, { get: t[r], enumerable: !0 });\n};\nfunction Hr(e) {\n if (e === !0) return \"soft\";\n if (e === !1) return \"disabled\";\n if (typeof e == \"string\") {\n let t = e.toLowerCase().trim();\n if (t === \"auto\") return \"auto\";\n if (t === \"full\") return \"full\";\n if (t === \"soft\" || t === \"disabled\") return t;\n }\n return \"soft\";\n}\nfunction Dr(e = \"soft\") {\n switch (A.session.__counterEpoch = (A.session.__counterEpoch || 0) + 1, e) {\n case \"auto\": {\n A.session.styleMap = /* @__PURE__ */ new Map(), A.session.nodeMap = /* @__PURE__ */ new Map();\n return;\n }\n case \"soft\": {\n A.session.styleMap = /* @__PURE__ */ new Map(), A.session.nodeMap = /* @__PURE__ */ new Map(), A.session.styleCache = /* @__PURE__ */ new WeakMap();\n return;\n }\n case \"full\":\n return;\n case \"disabled\": {\n A.session.styleMap = /* @__PURE__ */ new Map(), A.session.nodeMap = /* @__PURE__ */ new Map(), A.session.styleCache = /* @__PURE__ */ new WeakMap(), A.computedStyle = /* @__PURE__ */ new WeakMap(), A.baseStyle = new ee(50), A.defaultStyle = new ee(30), A.image = new ee(100), A.background = new ee(100), A.resource = new ee(150), A.font = /* @__PURE__ */ new Set();\n return;\n }\n default: {\n A.session.styleMap = /* @__PURE__ */ new Map(), A.session.nodeMap = /* @__PURE__ */ new Map(), A.session.styleCache = /* @__PURE__ */ new WeakMap();\n return;\n }\n }\n}\nvar ee, A, ie = Q(() => {\n ee = class extends Map {\n constructor(e = 100, ...t) {\n super(...t), this._maxSize = e;\n }\n set(e, t) {\n if (this.size >= this._maxSize && !this.has(e)) {\n let r = this.keys().next().value;\n r !== void 0 && this.delete(r);\n }\n return super.set(e, t);\n }\n }, A = { image: new ee(100), background: new ee(100), resource: new ee(150), defaultStyle: new ee(30), baseStyle: new ee(50), computedStyle: /* @__PURE__ */ new WeakMap(), measureHints: /* @__PURE__ */ new WeakMap(), font: /* @__PURE__ */ new Set(), session: { styleMap: /* @__PURE__ */ new Map(), styleCache: /* @__PURE__ */ new WeakMap(), nodeMap: /* @__PURE__ */ new Map() } };\n});\nfunction ft(e) {\n let t = e.match(/url\\((['\"]?)(.*?)(\\1)\\)/);\n if (!t) return null;\n let r = t[2].trim();\n return r.startsWith(\"#\") ? null : r;\n}\nfunction Br(e) {\n if (!e || e === \"none\") return \"\";\n let t = e.replace(/translate[XY]?\\([^)]*\\)/g, \"\");\n return t = t.replace(/matrix\\(([^)]+)\\)/g, (r, n) => {\n let i = n.split(\",\").map((o) => o.trim());\n return i.length !== 6 ? `matrix(${n})` : (i[4] = \"0\", i[5] = \"0\", `matrix(${i.join(\", \")})`);\n }), t = t.replace(/matrix3d\\(([^)]+)\\)/g, (r, n) => {\n let i = n.split(\",\").map((o) => o.trim());\n return i.length !== 16 ? `matrix3d(${n})` : (i[12] = \"0\", i[13] = \"0\", `matrix3d(${i.join(\", \")})`);\n }), t.trim().replace(/\\s{2,}/g, \" \");\n}\nfunction Be(e) {\n if (/%[0-9A-Fa-f]{2}/.test(e)) return e;\n try {\n return encodeURI(e);\n } catch (t) {\n return e;\n }\n}\nfunction qr(e, t) {\n var r;\n if (!e || /^(data|blob|about|#)/i.test(e.trim())) return e;\n try {\n let n = t || typeof document < \"u\" && (document.baseURI || ((r = document.location) == null ? void 0 : r.href)) || \"http://localhost/\";\n return new URL(e, n).href;\n } catch (n) {\n return e;\n }\n}\nvar Ve = Q(() => {\n});\nfunction Vr(e = \"[snapDOM]\", { ttlMs: t = 5 * 6e4, maxEntries: r = 12 } = {}) {\n let n = /* @__PURE__ */ new Map(), i = 0;\n function o(a, l, c) {\n if (i >= r) return;\n let u = Date.now();\n (n.get(l) || 0) > u || (n.set(l, u + t), i++, a === \"warn\" && console && console.warn ? console.warn(`${e} ${c}`) : console && console.error && console.error(`${e} ${c}`));\n }\n return { warnOnce(a, l) {\n o(\"warn\", a, l);\n }, errorOnce(a, l) {\n o(\"error\", a, l);\n }, reset() {\n n.clear(), i = 0;\n } };\n}\nfunction zr(e) {\n return /^data:|^blob:|^about:blank$/i.test(e);\n}\nfunction Xr(e, t) {\n try {\n let r = typeof location < \"u\" && location.href ? location.href : \"http://localhost/\", n = t.includes(\"{url}\") ? t.split(\"{url}\")[0] : t, i = new URL(n || \".\", r), o = new URL(e, r);\n if (o.origin === i.origin) return !0;\n let a = o.searchParams;\n if (a && (a.has(\"url\") || a.has(\"target\"))) return !0;\n } catch (r) {\n }\n return !1;\n}\nfunction Yr(e, t) {\n if (!t || zr(e) || Xr(e, t)) return !1;\n try {\n let r = typeof location < \"u\" && location.href ? location.href : \"http://localhost/\", n = new URL(e, r);\n return typeof location < \"u\" ? n.origin !== location.origin : !0;\n } catch (r) {\n return !!t;\n }\n}\nfunction Gr(e, t) {\n if (!t) return e;\n if (t.includes(\"{url}\")) return t.replace(\"{urlRaw}\", Be(e)).replace(\"{url}\", encodeURIComponent(e));\n if (/[?&]url=?$/.test(t)) return `${t}${encodeURIComponent(e)}`;\n if (t.endsWith(\"?\")) return `${t}url=${encodeURIComponent(e)}`;\n if (t.endsWith(\"/\")) return `${t}${Be(e)}`;\n let r = t.includes(\"?\") ? \"&\" : \"?\";\n return `${t}${r}url=${encodeURIComponent(e)}`;\n}\nfunction $t(e) {\n return new Promise((t, r) => {\n let n = new FileReader();\n n.onload = () => t(String(n.result || \"\")), n.onerror = () => r(new Error(\"read_failed\")), n.readAsDataURL(e);\n });\n}\nfunction Jr(e, t) {\n var r, n;\n return [t.as || \"blob\", (r = t.timeout) != null ? r : 3e3, t.useProxy || \"\", (n = t.errorTTL) != null ? n : 8e3, e].join(\"|\");\n}\nasync function oe(e, t = {}) {\n var y, S, M;\n let r = (y = t.as) != null ? y : \"blob\", n = (S = t.timeout) != null ? S : 3e3, i = t.useProxy || \"\", o = (M = t.errorTTL) != null ? M : 8e3, a = t.headers || {}, l = !!t.silent;\n if (/^data:/i.test(e)) try {\n if (r === \"text\") return { ok: !0, data: String(e), status: 200, url: e, fromCache: !1 };\n if (r === \"dataURL\") return { ok: !0, data: String(e), status: 200, url: e, fromCache: !1, mime: String(e).slice(5).split(\";\")[0] || \"\" };\n let [, g = \"\", w = \"\"] = String(e).match(/^data:([^,]*),(.*)$/) || [], C = /;base64/i.test(g) ? atob(w) : decodeURIComponent(w), b = new Uint8Array([...C].map((x) => x.charCodeAt(0))), v = new Blob([b], { type: (g || \"\").split(\";\")[0] || \"\" });\n return { ok: !0, data: v, status: 200, url: e, fromCache: !1, mime: v.type || \"\" };\n } catch (g) {\n return { ok: !1, data: null, status: 0, url: e, fromCache: !1, reason: \"special_url_error\" };\n }\n if (/^blob:/i.test(e)) try {\n let g = await fetch(e);\n if (!g.ok) return { ok: !1, data: null, status: g.status, url: e, fromCache: !1, reason: \"http_error\" };\n let w = await g.blob(), C = w.type || g.headers.get(\"content-type\") || \"\";\n return r === \"dataURL\" ? { ok: !0, data: await $t(w), status: g.status, url: e, fromCache: !1, mime: C } : r === \"text\" ? { ok: !0, data: await w.text(), status: g.status, url: e, fromCache: !1, mime: C } : { ok: !0, data: w, status: g.status, url: e, fromCache: !1, mime: C };\n } catch (g) {\n return { ok: !1, data: null, status: 0, url: e, fromCache: !1, reason: \"network\" };\n }\n if (/^about:blank$/i.test(e)) return r === \"dataURL\" ? { ok: !0, data: \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR4nGMAAQAABQABDQottAAAAABJRU5ErkJggg==\", status: 200, url: e, fromCache: !1, mime: \"image/png\" } : { ok: !0, data: r === \"text\" ? \"\" : new Blob([]), status: 200, url: e, fromCache: !1 };\n let c = Jr(e, { as: r, timeout: n, useProxy: i, errorTTL: o }), u = $e.get(c);\n if (u && u.until > Date.now()) return z(W({}, u.result), { fromCache: !0 });\n u && $e.delete(c);\n let d = _e.get(c);\n if (d) return d;\n let s = Yr(e, i) ? Gr(e, i) : e, f = t.credentials;\n if (!f) try {\n let g = typeof location < \"u\" && location.href ? location.href : \"http://localhost/\", w = new URL(e, g);\n f = typeof location < \"u\" && w.origin === location.origin ? \"include\" : \"omit\";\n } catch (g) {\n f = \"omit\";\n }\n let p = new AbortController(), m = setTimeout(() => p.abort(\"timeout\"), n), h = (async () => {\n var g, w;\n try {\n let C = await fetch(s, { signal: p.signal, credentials: f, headers: a });\n if (!C.ok) {\n let x = { ok: !1, data: null, status: C.status, url: s, fromCache: !1, reason: \"http_error\" };\n if (o > 0 && $e.set(c, { until: Date.now() + o, result: x }), !l) {\n let $ = `${C.status} ${C.statusText || \"\"}`.trim();\n Ze.warnOnce(`http:${C.status}:${r}:${new URL(e, (g = location == null ? void 0 : location.href) != null ? g : \"http://localhost/\").origin}`, `HTTP error ${$} while fetching ${r} ${e}`);\n }\n return t.onError && t.onError(x), x;\n }\n if (r === \"text\") return { ok: !0, data: await C.text(), status: C.status, url: s, fromCache: !1 };\n let b = await C.blob(), v = b.type || C.headers.get(\"content-type\") || \"\";\n return r === \"dataURL\" ? { ok: !0, data: await $t(b), status: C.status, url: s, fromCache: !1, mime: v } : { ok: !0, data: b, status: C.status, url: s, fromCache: !1, mime: v };\n } catch (C) {\n let b = C && typeof C == \"object\" && \"name\" in C && C.name === \"AbortError\" ? String(C.message || \"\").includes(\"timeout\") ? \"timeout\" : \"abort\" : \"network\", v = { ok: !1, data: null, status: 0, url: s, fromCache: !1, reason: b };\n if (!/^blob:/i.test(e) && o > 0 && $e.set(c, { until: Date.now() + o, result: v }), !l) {\n let x = `${b}:${r}:${new URL(e, (w = location == null ? void 0 : location.href) != null ? w : \"http://localhost/\").origin}`, $ = b === \"timeout\" ? `Timeout after ${n}ms. Consider increasing timeout or using a proxy for ${e}` : b === \"abort\" ? `Request aborted while fetching ${r} ${e}` : `Network/CORS issue while fetching ${r} ${e}. A proxy may be required`;\n Ze.errorOnce(x, $);\n }\n return t.onError && t.onError(v), v;\n } finally {\n clearTimeout(m), _e.delete(c);\n }\n })();\n return _e.set(c, h), h;\n}\nvar Ze, _e, $e, ke = Q(() => {\n Ve(), Ze = Vr(\"[snapDOM]\", { ttlMs: 3 * 6e4, maxEntries: 10 }), _e = /* @__PURE__ */ new Map(), $e = /* @__PURE__ */ new Map();\n});\nasync function Kt(e, t = {}) {\n if (/^((repeating-)?(linear|radial|conic)-gradient)\\(/i.test(e) || e.trim() === \"none\") return e;\n let r = ft(e);\n if (!r) return e;\n let n = qr(r), i = Be(n);\n if (A.background.has(i)) {\n let o = A.background.get(i);\n return o ? `url(\"${o}\")` : \"none\";\n }\n try {\n let o = await oe(i, { as: \"dataURL\", useProxy: t.useProxy });\n return o.ok ? (A.background.set(i, o.data), `url(\"${o.data}\")`) : (A.background.set(i, null), \"none\");\n } catch (o) {\n return A.background.set(i, null), \"none\";\n }\n}\nvar Kr = Q(() => {\n ie(), Ve(), ke();\n});\nfunction Qr(e) {\n if (e = String(e).toLowerCase(), mt.has(e)) {\n let o = {};\n return A.defaultStyle.set(e, o), o;\n }\n if (A.defaultStyle.has(e)) return A.defaultStyle.get(e);\n let t = document.getElementById(\"snapdom-sandbox\");\n t || (t = document.createElement(\"div\"), t.id = \"snapdom-sandbox\", t.setAttribute(\"data-snapdom-sandbox\", \"true\"), t.setAttribute(\"aria-hidden\", \"true\"), t.style.position = \"absolute\", t.style.left = \"-9999px\", t.style.top = \"-9999px\", t.style.width = \"0px\", t.style.height = \"0px\", t.style.overflow = \"hidden\", document.body.appendChild(t));\n let r = document.createElement(e);\n r.style.all = \"initial\", t.appendChild(r);\n let n = getComputedStyle(r), i = {};\n for (let o of n) {\n if (dt(o)) continue;\n let a = n.getPropertyValue(o);\n i[o] = a;\n }\n return t.removeChild(r), A.defaultStyle.set(e, i), i;\n}\nfunction dt(e) {\n let t = String(e).toLowerCase();\n return !!(tr.has(t) || er.test(t) || Zt.test(t));\n}\nfunction et(e, t) {\n if (t = String(t || \"\").toLowerCase(), mt.has(t)) return \"\";\n let r = [], n = Qr(t), i = (e.display || \"\").toLowerCase() === \"inline\" || (/* @__PURE__ */ new Set([\"span\", \"small\", \"em\", \"strong\", \"b\", \"i\", \"u\", \"s\", \"code\", \"cite\", \"mark\", \"sub\", \"sup\"])).has(t);\n for (let [o, a] of Object.entries(e)) {\n if (dt(o) || i && (o === \"width\" || o === \"min-width\" || o === \"max-width\")) continue;\n let l = n[o];\n a && a !== l && r.push(`${o}:${a}`);\n }\n return r.sort(), r.join(\";\");\n}\nfunction Zr(e) {\n let t = /* @__PURE__ */ new Set();\n return e.nodeType !== Node.ELEMENT_NODE && e.nodeType !== Node.DOCUMENT_FRAGMENT_NODE ? [] : (e.tagName && t.add(e.tagName.toLowerCase()), typeof e.querySelectorAll == \"function\" && e.querySelectorAll(\"*\").forEach((r) => t.add(r.tagName.toLowerCase())), Array.from(t));\n}\nfunction en(e) {\n let t = /* @__PURE__ */ new Map();\n for (let n of e) {\n let i = A.defaultStyle.get(n);\n if (!i) continue;\n let o = Object.entries(i).map(([a, l]) => `${a}:${l};`).sort().join(\"\");\n o && (t.has(o) || t.set(o, []), t.get(o).push(n));\n }\n let r = \"\";\n for (let [n, i] of t.entries()) r += `${i.join(\",\")} { ${n} }\n`;\n return r;\n}\nfunction tn(e) {\n let t = Array.from(new Set(e.values())).filter(Boolean).sort(), r = /* @__PURE__ */ new Map(), n = 1;\n for (let i of t) r.set(i, `c${n++}`);\n return r;\n}\nfunction rn(e) {\n var t;\n try {\n let r = e == null ? void 0 : e.ownerDocument;\n if (!r) return typeof window < \"u\" ? window : null;\n let n = r.defaultView;\n if (n && typeof n.getComputedStyle == \"function\") return n;\n if (typeof window < \"u\" && window.frames) for (let i = 0; i < window.frames.length; i++) try {\n if (((t = window.frames[i]) == null ? void 0 : t.document) === r) return window.frames[i];\n } catch (o) {\n }\n } catch (r) {\n }\n return typeof window < \"u\" ? window : null;\n}\nfunction me(e, t = null) {\n let r = () => {\n let o = { length: 0, getPropertyValue: () => \"\", item: () => \"\" };\n return o[Symbol.iterator] = function* () {\n }, o;\n };\n if (!(e instanceof Element)) {\n let o = typeof window < \"u\" ? window : null;\n if (o && typeof o.getComputedStyle == \"function\") try {\n return o.getComputedStyle(e, t) || r();\n } catch (a) {\n return r();\n }\n return r();\n }\n let n = A.computedStyle.get(e);\n n || (n = /* @__PURE__ */ new Map(), A.computedStyle.set(e, n));\n let i = n.get(t);\n if (!i) {\n let o = rn(e), a = null;\n try {\n a = o && typeof o.getComputedStyle == \"function\" ? o.getComputedStyle(e, t) : null;\n } catch (l) {\n }\n if (!a && typeof window < \"u\" && typeof window.getComputedStyle == \"function\") try {\n e.ownerDocument === document && (a = window.getComputedStyle(e, t));\n } catch (l) {\n }\n i = a || r(), n.set(t, i);\n }\n return i;\n}\nfunction Et(e) {\n let t = {};\n for (let r of e) t[r] = e.getPropertyValue(r);\n return t;\n}\nfunction tt(e) {\n let t = [], r = 0, n = 0;\n for (let i = 0; i < e.length; i++) {\n let o = e[i];\n o === \"(\" && r++, o === \")\" && r--, o === \",\" && r === 0 && (t.push(e.slice(n, i).trim()), n = i + 1);\n }\n return t.push(e.slice(n).trim()), t;\n}\nvar Qt, mt, Zt, er, tr, rr = Q(() => {\n ie(), Qt = /* @__PURE__ */ new Set([\"meta\", \"script\", \"noscript\", \"title\", \"link\", \"template\"]), mt = /* @__PURE__ */ new Set([\"meta\", \"link\", \"style\", \"title\", \"noscript\", \"script\", \"template\", \"g\", \"defs\", \"use\", \"marker\", \"mask\", \"clipPath\", \"pattern\", \"path\", \"polygon\", \"polyline\", \"line\", \"circle\", \"ellipse\", \"rect\", \"filter\", \"lineargradient\", \"radialgradient\", \"stop\"]), Zt = /(?:^|-)(animation|transition)(?:-|$)/i, er = /^(--.+|view-timeline|scroll-timeline|animation-trigger|offset-|position-try|app-region|interactivity|overlay|view-transition|-webkit-locale|-webkit-user-(?:drag|modify)|-webkit-tap-highlight-color|-webkit-text-security)$/i, tr = /* @__PURE__ */ new Set([\"cursor\", \"pointer-events\", \"touch-action\", \"user-select\", \"print-color-adjust\", \"speak\", \"reading-flow\", \"reading-order\", \"anchor-name\", \"anchor-scope\", \"container-name\", \"container-type\", \"timeline-scope\", \"zoom\"]);\n});\nfunction Ce(e, { fast: t = !1 } = {}) {\n if (t) return e();\n \"requestIdleCallback\" in window ? requestIdleCallback(e, { timeout: 50 }) : setTimeout(e, 1);\n}\nfunction nn() {\n if (typeof navigator > \"u\") return !1;\n if (navigator.userAgentData) return navigator.userAgentData.platform === \"iOS\";\n let e = navigator.userAgent || \"\", t = /iPhone|iPad|iPod/.test(e), r = navigator.maxTouchPoints > 2 && /Macintosh/.test(e);\n return t || r;\n}\nfunction be() {\n if (typeof navigator > \"u\") return !1;\n let e = navigator.userAgent || \"\", t = e.toLowerCase(), r = t.includes(\"safari\") && !t.includes(\"chrome\") && !t.includes(\"crios\") && !t.includes(\"fxios\") && !t.includes(\"android\"), n = /applewebkit/i.test(e), i = /mobile/i.test(e), o = !/safari/i.test(e), a = n && i && o, l = /(micromessenger|wxwork|wecom|windowswechat|macwechat)/i.test(e), c = /(baiduboxapp|baidubrowser|baidusearch|baiduboxlite)/i.test(t), u = /ipad|iphone|ipod/.test(t) && n;\n return r || a || l || c || u;\n}\nfunction on() {\n if (typeof navigator > \"u\") return !1;\n let e = (navigator.userAgent || \"\").toLowerCase();\n return e.includes(\"firefox\") || e.includes(\"fxios\");\n}\nvar Re = Q(() => {\n});\nfunction D(e, t, r) {\n let n = e && typeof e == \"object\" && (e.options || e);\n n && n.debug && (r !== void 0 ? console.warn(\"[snapdom]\", t, r) : console.warn(\"[snapdom]\", t));\n}\nvar nr = Q(() => {\n}), ce = Q(() => {\n Kr(), rr(), Re(), Ve(), nr();\n}), or = {};\nPe(or, { toCanvas: () => ze });\nfunction an(e) {\n return typeof e == \"string\" && /^data:image\\/svg\\+xml/i.test(e);\n}\nfunction ln(e) {\n let t = e.indexOf(\",\");\n return t >= 0 ? decodeURIComponent(e.slice(t + 1)) : \"\";\n}\nfunction sn(e) {\n return `data:image/svg+xml;charset=utf-8,${encodeURIComponent(e)}`;\n}\nfunction cn(e) {\n let t = [], r = \"\", n = 0;\n for (let i = 0; i < e.length; i++) {\n let o = e[i];\n o === \"(\" && n++, o === \")\" && (n = Math.max(0, n - 1)), o === \";\" && n === 0 ? (t.push(r), r = \"\") : r += o;\n }\n return r.trim() && t.push(r), t.map((i) => i.trim()).filter(Boolean);\n}\nfunction un(e) {\n let t = [], r = \"\", n = 0;\n for (let o = 0; o < e.length; o++) {\n let a = e[o];\n a === \"(\" && n++, a === \")\" && (n = Math.max(0, n - 1)), a === \",\" && n === 0 ? (t.push(r.trim()), r = \"\") : r += a;\n }\n r.trim() && t.push(r.trim());\n let i = [];\n for (let o of t) {\n if (/\\binset\\b/i.test(o)) continue;\n let a = o.match(/-?\\d+(?:\\.\\d+)?px/gi) || [], [l = \"0px\", c = \"0px\", u = \"0px\"] = a, d = o.replace(/-?\\d+(?:\\.\\d+)?px/gi, \"\").replace(/\\binset\\b/ig, \"\").trim().replace(/\\s{2,}/g, \" \"), s = !!d && d !== \",\";\n i.push(`drop-shadow(${l} ${c} ${u}${s ? ` ${d}` : \"\"})`);\n }\n return i.join(\" \");\n}\nfunction ir(e) {\n let t = cn(e), r = null, n = null, i = null, o = [];\n for (let l of t) {\n let c = l.indexOf(\":\");\n if (c < 0) continue;\n let u = l.slice(0, c).trim().toLowerCase(), d = l.slice(c + 1).trim();\n u === \"box-shadow\" ? i = d : u === \"filter\" ? r = d : u === \"-webkit-filter\" ? n = d : o.push([u, d]);\n }\n if (i) {\n let l = un(i);\n l && (r = r ? `${r} ${l}` : l, n = n ? `${n} ${l}` : l);\n }\n let a = [...o];\n return r && a.push([\"filter\", r]), n && a.push([\"-webkit-filter\", n]), a.map(([l, c]) => `${l}:${c}`).join(\";\");\n}\nfunction fn(e) {\n return e.replace(/([^{}]+)\\{([^}]*)\\}/g, (t, r, n) => `${r}{${ir(n)}}`);\n}\nfunction dn(e) {\n return e = e.replace(/<style[^>]*>([\\s\\S]*?)<\\/style>/gi, (t, r) => t.replace(r, fn(r))), e = e.replace(/style=(['\"])([\\s\\S]*?)\\1/gi, (t, r, n) => `style=${r}${ir(n)}${r}`), e;\n}\nfunction mn(e) {\n if (!be() || !an(e)) return e;\n try {\n let t = ln(e), r = dn(t);\n return sn(r);\n } catch (t) {\n return e;\n }\n}\nasync function ze(e, t) {\n let { width: r, height: n, scale: i = 1, dpr: o = 1, meta: a = {}, backgroundColor: l } = t;\n e = mn(e);\n let c = new Image();\n c.loading = \"eager\", c.decoding = \"sync\", c.crossOrigin = \"anonymous\", c.src = e, await c.decode();\n let u = c.naturalWidth, d = c.naturalHeight, s = Number.isFinite(a.w0) ? a.w0 : u, f = Number.isFinite(a.h0) ? a.h0 : d, p, m, h = Number.isFinite(r), y = Number.isFinite(n);\n if (h && y) p = Math.max(1, r), m = Math.max(1, n);\n else if (h) {\n let g = r / Math.max(1, s);\n p = r, m = f * g;\n } else if (y) {\n let g = n / Math.max(1, f);\n m = n, p = s * g;\n } else p = u, m = d;\n p = p * i, m = m * i;\n let S = document.createElement(\"canvas\");\n S.width = p * o, S.height = m * o, S.style.width = `${p}px`, S.style.height = `${m}px`;\n let M = S.getContext(\"2d\");\n return o !== 1 && M.scale(o, o), l && (M.save(), M.fillStyle = l, M.fillRect(0, 0, p, m), M.restore()), M.drawImage(c, 0, 0, p, m), S;\n}\nvar Xe = Q(() => {\n Re();\n}), Ue = {};\nPe(Ue, { rasterize: () => ar });\nasync function ar(e, t) {\n let r = await ze(e, t), n = new Image();\n return n.src = r.toDataURL(`image/${t.format}`, t.quality), await n.decode(), n.style.width = `${r.width / t.dpr}px`, n.style.height = `${r.height / t.dpr}px`, n;\n}\nvar Oe = Q(() => {\n Xe();\n}), rt = {};\nPe(rt, { toImg: () => Ft, toSvg: () => Ft });\nasync function Ft(e, t) {\n let { scale: r = 1, width: n, height: i, meta: o = {} } = t, a = Number.isFinite(n), l = Number.isFinite(i), c = Number.isFinite(r) && r !== 1 || a || l;\n if (be() && c) return await ar(e, z(W({}, t), { format: \"png\", quality: 1, meta: o }));\n let u = new Image();\n if (u.decoding = \"sync\", u.loading = \"eager\", u.src = e, await u.decode(), a && l) u.style.width = `${n}px`, u.style.height = `${i}px`;\n else if (a) {\n let d = Number.isFinite(o.w0) ? o.w0 : u.naturalWidth, s = Number.isFinite(o.h0) ? o.h0 : u.naturalHeight, f = n / Math.max(1, d);\n u.style.width = `${n}px`, u.style.height = `${Math.round(s * f)}px`;\n } else if (l) {\n let d = Number.isFinite(o.w0) ? o.w0 : u.naturalWidth, s = Number.isFinite(o.h0) ? o.h0 : u.naturalHeight, f = i / Math.max(1, s);\n u.style.height = `${i}px`, u.style.width = `${Math.round(d * f)}px`;\n } else {\n let d = Math.round(u.naturalWidth * r), s = Math.round(u.naturalHeight * r);\n if (u.style.width = `${d}px`, u.style.height = `${s}px`, typeof e == \"string\" && e.startsWith(\"data:image/svg+xml\")) try {\n let f = decodeURIComponent(e.split(\",\")[1]).replace(/width=\"[^\"]*\"/, `width=\"${d}\"`).replace(/height=\"[^\"]*\"/, `height=\"${s}\"`);\n e = `data:image/svg+xml;charset=utf-8,${encodeURIComponent(f)}`, u.src = e;\n } catch (f) {\n D(t, \"SVG width/height patch in toImg failed\", f);\n }\n }\n return u;\n}\nvar Nt = Q(() => {\n ce(), Oe();\n}), lr = {};\nPe(lr, { toBlob: () => sr });\nasync function sr(e, t) {\n let r = t.type;\n if (r === \"svg\") {\n let i = decodeURIComponent(e.split(\",\")[1]);\n return new Blob([i], { type: \"image/svg+xml\" });\n }\n let n = await ze(e, t);\n return new Promise((i) => n.toBlob((o) => i(o), `image/${r}`, t.quality));\n}\nvar cr = Q(() => {\n Xe();\n}), ur = {};\nPe(ur, { download: () => hn });\nasync function Lt(e, t) {\n var n;\n let r = new File([e], t, { type: e.type });\n if (!((n = navigator.canShare) != null && n.call(navigator, { files: [r] }))) return !1;\n try {\n await navigator.share({ files: [r], title: t });\n } catch (i) {\n if (i.name !== \"AbortError\") return !1;\n }\n return !0;\n}\nasync function hn(e, t) {\n let r = /* @__PURE__ */ new Set([\"png\", \"jpeg\", \"jpg\", \"webp\", \"svg\"]), n = ((t == null ? void 0 : t.type) || \"\").toLowerCase(), i = r.has(n) ? n : \"\", o = ((t == null ? void 0 : t.format) || i || \"\").toLowerCase(), a = o === \"jpg\" ? \"jpeg\" : o || \"png\", l = (t == null ? void 0 : t.filename) || `snapdom.${a}`, c = z(W({}, t || {}), { format: a, type: a });\n c.dpr = 1;\n let u = nn();\n if (a === \"svg\") {\n let f = await sr(e, z(W({}, c), { type: \"svg\" }));\n if (u && await Lt(f, l)) return;\n let p = URL.createObjectURL(f), m = document.createElement(\"a\");\n m.href = p, m.download = l, document.body.appendChild(m), m.click(), URL.revokeObjectURL(p), m.remove();\n return;\n }\n let d = await ze(e, c);\n if (u) {\n let f = `image/${a}`, p = await new Promise((m) => d.toBlob(m, f, t == null ? void 0 : t.quality));\n if (p && await Lt(p, l)) return;\n }\n let s = document.createElement(\"a\");\n s.href = d.toDataURL(`image/${a}`, t == null ? void 0 : t.quality), s.download = l, document.body.appendChild(s), s.click(), s.remove();\n}\nvar pn = Q(() => {\n cr(), Xe(), Re();\n});\nce();\nce();\nie();\nvar Pt = /* @__PURE__ */ new WeakMap(), Ne = /* @__PURE__ */ new Map(), gn = 2e3, nt = 0;\nfunction Ee() {\n nt++, Ne.size > gn && Ne.clear();\n}\nvar Rt = !1;\nfunction yn(e = document.documentElement) {\n var t, r;\n if (!Rt) {\n Rt = !0;\n try {\n new MutationObserver(() => Ee()).observe(e, { subtree: !0, childList: !0, characterData: !0, attributes: !0 });\n } catch (n) {\n }\n try {\n new MutationObserver(() => Ee()).observe(document.head, { subtree: !0, childList: !0, characterData: !0, attributes: !0 });\n } catch (n) {\n }\n try {\n let n = document.fonts;\n n && ((t = n.addEventListener) == null || t.call(n, \"loadingdone\", Ee), (r = n.ready) == null || r.then(() => Ee()).catch(() => {\n }));\n } catch (n) {\n }\n }\n}\nfunction wn(e, t = {}) {\n let r = {}, n = e.getPropertyValue(\"visibility\"), i = t.excludeStyleProps;\n for (let s = 0; s < e.length; s++) {\n let f = e[s];\n if (dt(f) || i && (i instanceof RegExp && i.test(f) || typeof i == \"function\" && i(f))) continue;\n let p = e.getPropertyValue(f);\n (f === \"background-image\" || f === \"content\") && p.includes(\"url(\") && !p.includes(\"data:\") && (p = \"none\"), r[f] = p;\n }\n let o = [\"text-decoration-line\", \"text-decoration-color\", \"text-decoration-style\", \"text-decoration-thickness\", \"text-underline-offset\", \"text-decoration-skip-ink\"];\n for (let s of o) if (!r[s]) try {\n let f = e.getPropertyValue(s);\n f && (r[s] = f);\n } catch (f) {\n }\n let a = [\"-webkit-text-stroke\", \"-webkit-text-stroke-width\", \"-webkit-text-stroke-color\", \"paint-order\"];\n for (let s of a) if (!r[s]) try {\n let f = e.getPropertyValue(s);\n f && (r[s] = f);\n } catch (f) {\n }\n if (t.embedFonts) {\n let s = [\"font-feature-settings\", \"font-variation-settings\", \"font-kerning\", \"font-variant\", \"font-variant-ligatures\", \"font-optical-sizing\"];\n for (let f of s) if (!r[f]) try {\n let p = e.getPropertyValue(f);\n p && (r[f] = p);\n } catch (p) {\n }\n }\n n === \"hidden\" && (r.opacity = \"0\");\n try {\n (r[\"content-visibility\"] || e.getPropertyValue(\"content-visibility\")) === \"hidden\" && (r.visibility = \"hidden\");\n } catch (s) {\n }\n let l = parseFloat(e.getPropertyValue(\"border-top-width\") || 0) || 0, c = parseFloat(e.getPropertyValue(\"border-right-width\") || 0) || 0, u = parseFloat(e.getPropertyValue(\"border-bottom-width\") || 0) || 0, d = parseFloat(e.getPropertyValue(\"border-left-width\") || 0) || 0;\n if (l === 0 && c === 0 && u === 0 && d === 0) {\n let s = (e.getPropertyValue(\"border-image-source\") || \"\").trim(), f = s && s !== \"none\", p = [\"border\", \"border-top\", \"border-right\", \"border-bottom\", \"border-left\", \"border-width\", \"border-style\", \"border-color\", \"border-top-width\", \"border-top-style\", \"border-top-color\", \"border-right-width\", \"border-right-style\", \"border-right-color\", \"border-bottom-width\", \"border-bottom-style\", \"border-bottom-color\", \"border-left-width\", \"border-left-style\", \"border-left-color\", \"border-block\", \"border-block-width\", \"border-block-style\", \"border-block-color\", \"border-inline\", \"border-inline-width\", \"border-inline-style\", \"border-inline-color\"];\n for (let m of p) delete r[m];\n f || (r.border = \"none\");\n }\n return r;\n}\nvar Tt = /* @__PURE__ */ new WeakMap();\nfunction bn(e) {\n let t = Tt.get(e);\n return t || (t = Object.entries(e).sort((r, n) => r[0] < n[0] ? -1 : r[0] > n[0] ? 1 : 0).map(([r, n]) => `${r}:${n}`).join(\";\"), Tt.set(e, t), t);\n}\nfunction xn(e, t = null, r = {}) {\n let n = Pt.get(e);\n if (n && n.epoch === nt) return n.snapshot;\n let i = t || getComputedStyle(e), o = wn(i, r);\n return $n(e, i, o), Pt.set(e, { epoch: nt, snapshot: o }), o;\n}\nfunction Sn(e, t) {\n return e && e.session && e.persist ? e : e && (e.styleMap || e.styleCache || e.nodeMap) ? { session: e, persist: { snapshotKeyCache: Ne, defaultStyle: A.defaultStyle, baseStyle: A.baseStyle, image: A.image, resource: A.resource, background: A.background, font: A.font }, options: t || {} } : { session: A.session, persist: { snapshotKeyCache: Ne, defaultStyle: A.defaultStyle, baseStyle: A.baseStyle, image: A.image, resource: A.resource, background: A.background, font: A.font }, options: e || t || {} };\n}\nfunction Cn(e, t, r) {\n if (!(!e.style || e.style.length === 0)) for (let n = 0; n < e.style.length; n++) {\n let i = e.style[n], o = r.getPropertyValue(i);\n o && t.style.setProperty(i, o);\n }\n}\nasync function we(e, t, r, n) {\n var f, p;\n if (e.tagName === \"STYLE\") return;\n let i = Sn(r, n), o = i.options && i.options.cache || \"auto\";\n o !== \"disabled\" && yn(document.documentElement), o === \"disabled\" && !i.session.__bumpedForDisabled && (Ee(), Ne.clear(), i.session.__bumpedForDisabled = !0);\n let { session: a, persist: l } = i;\n if (!a.styleCache.has(e)) {\n let m = null;\n try {\n m = getComputedStyle(e);\n } catch (h) {\n }\n a.styleCache.set(e, m || getComputedStyle(document.documentElement));\n }\n let c = a.styleCache.get(e);\n (f = e.getAttribute) != null && f.call(e, \"style\") && Cn(e, t, c);\n let u = xn(e, c, i.options), d = bn(u), s = l.snapshotKeyCache.get(d);\n if (!s) {\n let m = ((p = e.tagName) == null ? void 0 : p.toLowerCase()) || \"div\";\n s = et(u, m), l.snapshotKeyCache.set(d, s);\n }\n a.styleMap.set(t, s);\n}\nfunction vn(e) {\n return e instanceof HTMLImageElement || e instanceof HTMLCanvasElement || e instanceof HTMLVideoElement || e instanceof HTMLIFrameElement || e instanceof SVGElement || e instanceof HTMLObjectElement || e instanceof HTMLEmbedElement;\n}\nfunction kn(e) {\n return e.backgroundImage && e.backgroundImage !== \"none\" || e.backgroundColor && e.backgroundColor !== \"rgba(0, 0, 0, 0)\" && e.backgroundColor !== \"transparent\" || (parseFloat(e.borderTopWidth) || 0) > 0 || (parseFloat(e.borderBottomWidth) || 0) > 0 || (parseFloat(e.paddingTop) || 0) > 0 || (parseFloat(e.paddingBottom) || 0) > 0 ? !0 : (e.overflowBlock || e.overflowY || \"visible\") !== \"visible\";\n}\nfunction An(e) {\n let t = e.parentElement;\n if (!t) return !1;\n let r = getComputedStyle(t).display || \"\";\n return r.includes(\"flex\") || r.includes(\"grid\");\n}\nfunction Mn(e, t) {\n if (e.textContent && /\\S/.test(e.textContent)) return !0;\n let r = e.firstElementChild, n = e.lastElementChild;\n if (r && r.tagName === \"BR\" || n && n.tagName === \"BR\") return !0;\n let i = e.scrollHeight;\n if (i === 0) return !1;\n let o = parseFloat(t.paddingTop) || 0, a = parseFloat(t.paddingBottom) || 0;\n return i > o + a;\n}\nfunction $n(e, t, r) {\n if (e instanceof HTMLElement && e.style && e.style.height) return;\n let n = e.tagName && e.tagName.toLowerCase();\n if (!n || ![\"div\", \"section\", \"article\", \"main\", \"aside\", \"header\", \"footer\", \"nav\"].includes(n)) return;\n let i = parseFloat(t.height);\n if (Number.isFinite(i) && e.scrollHeight > 0 && Math.abs(i - e.scrollHeight) > 2 || t.aspectRatio && t.aspectRatio !== \"none\" && t.aspectRatio !== \"auto\") return;\n let o = t.display || \"\";\n if (o.includes(\"flex\") || o.includes(\"grid\") || vn(e)) return;\n let a = t.position;\n if (a === \"absolute\" || a === \"fixed\" || a === \"sticky\" || t.transform !== \"none\" || kn(t) || An(e)) return;\n let l = t.overflowX || t.overflow || \"visible\", c = t.overflowY || t.overflow || \"visible\";\n if (l !== \"visible\" || c !== \"visible\") return;\n let u = t.clip;\n u && u !== \"auto\" && u !== \"rect(auto, auto, auto, auto)\" || t.visibility === \"hidden\" || t.opacity === \"0\" || Mn(e, t) && (delete r.height, delete r[\"block-size\"]);\n}\nrr();\nvar fr = [\"fill\", \"stroke\", \"color\", \"background-color\", \"stop-color\"], Wt = /* @__PURE__ */ new Map();\nfunction En(e, t) {\n let r = t + \"::\" + e.toLowerCase(), n = Wt.get(r);\n if (n) return n;\n let i = document, o = t === \"http://www.w3.org/2000/svg\" ? i.createElementNS(t, e) : i.createElement(e), a = i.createElement(\"div\");\n a.style.cssText = \"position:absolute;left:-99999px;top:-99999px;contain:strict;display:block;\", a.appendChild(o), i.documentElement.appendChild(a);\n let l = getComputedStyle(o), c = {};\n for (let u of fr) c[u] = l.getPropertyValue(u) || \"\";\n return a.remove(), Wt.set(r, c), c;\n}\nfunction Fn(e, t) {\n var o, a, l;\n if (!(e instanceof Element) || !(t instanceof Element)) return;\n let r = (o = e.getAttribute) == null ? void 0 : o.call(e, \"style\"), n = !!(r && r.includes(\"var(\"));\n if (!n && ((a = e.attributes) != null && a.length)) {\n let c = e.attributes;\n for (let u = 0; u < c.length; u++) {\n let d = c[u];\n if (d && typeof d.value == \"string\" && d.value.includes(\"var(\")) {\n n = !0;\n break;\n }\n }\n }\n let i = null;\n if (n) try {\n i = getComputedStyle(e);\n } catch (c) {\n }\n if (n) {\n let c = e.style;\n if (c && c.length) {\n let u = /* @__PURE__ */ new Set();\n for (let d = 0; d < c.length; d++) {\n let s = c[d];\n if (u.has(s)) continue;\n u.add(s);\n let f = c.getPropertyValue(s);\n if (!f || !f.includes(\"var(\")) continue;\n let p = i && i.getPropertyValue(s);\n if (p) try {\n t.style.setProperty(s, p.trim(), c.getPropertyPriority(s));\n } catch (m) {\n }\n }\n }\n }\n if (n && ((l = e.attributes) != null && l.length)) {\n let c = e.attributes;\n for (let u = 0; u < c.length; u++) {\n let d = c[u];\n if (!d || typeof d.value != \"string\" || !d.value.includes(\"var(\")) continue;\n let s = d.name, f = i && i.getPropertyValue(s);\n if (f) try {\n t.style.setProperty(s, f.trim());\n } catch (p) {\n }\n }\n }\n if (!n) {\n if (!i) try {\n i = getComputedStyle(e);\n } catch (d) {\n i = null;\n }\n if (!i) return;\n let c = e.namespaceURI || \"html\", u = En(e.tagName, c);\n for (let d of fr) {\n let s = i.getPropertyValue(d) || \"\", f = u[d] || \"\";\n if (s && s !== f) try {\n t.style.setProperty(d, s.trim());\n } catch (p) {\n }\n }\n }\n}\nce();\nce();\nie();\nke();\nfunction Ke(e, t, r) {\n return Promise.all(e.map((n) => new Promise((i) => {\n function o() {\n Ce((a) => {\n !(a && typeof a.timeRemaining == \"function\") || a.timeRemaining() > 0 ? t(n, i) : o();\n }, { fast: r });\n }\n o();\n })));\n}\nfunction Nn(e) {\n return e = e.trim(), !e || /:not\\(\\s*\\[data-sd-slotted\\]\\s*\\)\\s*$/.test(e) ? e : `${e}:not([data-sd-slotted])`;\n}\nfunction Ln(e, t, r = !0) {\n return e.split(\",\").map((n) => n.trim()).filter(Boolean).map((n) => {\n if (n.startsWith(\":where(\") || n.startsWith(\"@\")) return n;\n let i = r ? Nn(n) : n;\n return `:where(${t} ${i})`;\n }).join(\", \");\n}\nfunction Pn(e, t) {\n return e ? (e = e.replace(/:host\\(([^)]+)\\)/g, (r, n) => `:where(${t}:is(${n.trim()}))`), e = e.replace(/:host\\b/g, `:where(${t})`), e = e.replace(/:host-context\\(([^)]+)\\)/g, (r, n) => `:where(:where(${n.trim()}) ${t})`), e = e.replace(/::slotted\\(([^)]+)\\)/g, (r, n) => `:where(${t} ${n.trim()})`), e = e.replace(/(^|})(\\s*)([^@}{]+){/g, (r, n, i, o) => {\n let a = Ln(o, t, !0);\n return `${n}${i}${a}{`;\n }), e) : \"\";\n}\nfunction Rn(e) {\n return e.shadowScopeSeq = (e.shadowScopeSeq || 0) + 1, `s${e.shadowScopeSeq}`;\n}\nfunction Tn(e) {\n let t = \"\";\n try {\n e.querySelectorAll(\"style\").forEach((n) => {\n t += (n.textContent || \"\") + `\n`;\n });\n let r = e.adoptedStyleSheets || [];\n for (let n of r) try {\n if (n && n.cssRules) for (let i of n.cssRules) t += i.cssText + `\n`;\n } catch (i) {\n }\n } catch (r) {\n }\n return t;\n}\nfunction Wn(e, t, r) {\n if (!t) return;\n let n = document.createElement(\"style\");\n n.setAttribute(\"data-sd\", r), n.textContent = t, e.insertBefore(n, e.firstChild || null);\n}\nfunction In(e, t) {\n try {\n let r = e.currentSrc || e.src || \"\";\n if (!r) return;\n t.setAttribute(\"src\", r), t.removeAttribute(\"srcset\"), t.removeAttribute(\"sizes\"), t.loading = \"eager\", t.decoding = \"sync\";\n } catch (r) {\n }\n}\nfunction _n(e) {\n let t = /* @__PURE__ */ new Set();\n if (!e) return t;\n let r = /var\\(\\s*(--[A-Za-z0-9_-]+)\\b/g, n;\n for (; n = r.exec(e); ) t.add(n[1]);\n return t;\n}\nfunction Un(e, t) {\n try {\n let r = getComputedStyle(e).getPropertyValue(t).trim();\n if (r) return r;\n } catch (r) {\n }\n try {\n let r = getComputedStyle(document.documentElement).getPropertyValue(t).trim();\n if (r) return r;\n } catch (r) {\n }\n return \"\";\n}\nfunction On(e, t, r) {\n let n = [];\n for (let i of t) {\n let o = Un(e, i);\n o && n.push(`${i}: ${o};`);\n }\n return n.length ? `${r}{${n.join(\"\")}}\n` : \"\";\n}\nfunction jn(e) {\n e && (e.nodeType === Node.ELEMENT_NODE && e.setAttribute(\"data-sd-slotted\", \"\"), e.querySelectorAll && e.querySelectorAll(\"*\").forEach((t) => t.setAttribute(\"data-sd-slotted\", \"\")));\n}\nasync function Hn(e, t = 3) {\n let r = () => {\n var o;\n try {\n return e.contentDocument || ((o = e.contentWindow) == null ? void 0 : o.document) || null;\n } catch (a) {\n return null;\n }\n }, n = r(), i = 0;\n for (; i < t && (!n || !n.body && !n.documentElement); ) await new Promise((o) => setTimeout(o, 0)), n = r(), i++;\n return n && (n.body || n.documentElement) ? n : null;\n}\nfunction Dn(e) {\n let t = e.getBoundingClientRect(), r = 0, n = 0, i = 0, o = 0;\n try {\n let c = getComputedStyle(e);\n r = parseFloat(c.borderLeftWidth) || 0, n = parseFloat(c.borderRightWidth) || 0, i = parseFloat(c.borderTopWidth) || 0, o = parseFloat(c.borderBottomWidth) || 0;\n } catch (c) {\n }\n let a = Math.max(0, Math.round(t.width - (r + n))), l = Math.max(0, Math.round(t.height - (i + o)));\n return { contentWidth: a, contentHeight: l, rect: t };\n}\nfunction se(e) {\n let t = 0, r = 0;\n if (e.offsetWidth > 0 && (t = e.offsetWidth), e.offsetHeight > 0 && (r = e.offsetHeight), t === 0 || r === 0) try {\n let n = getComputedStyle(e);\n if (t === 0) {\n let i = parseFloat(n.width);\n !isNaN(i) && i > 0 && (t = i);\n }\n if (r === 0) {\n let i = parseFloat(n.height);\n !isNaN(i) && i > 0 && (r = i);\n }\n } catch (n) {\n }\n if (t === 0 || r === 0) try {\n if (t === 0) {\n let n = parseFloat(e.getAttribute(\"width\"));\n !isNaN(n) && n > 0 && (t = n);\n }\n if (r === 0) {\n let n = parseFloat(e.getAttribute(\"height\"));\n !isNaN(n) && n > 0 && (r = n);\n }\n } catch (n) {\n }\n if ((t === 0 || r === 0) && (e.naturalWidth || e.naturalHeight)) try {\n t === 0 && e.naturalWidth > 0 && (t = e.naturalWidth), r === 0 && e.naturalHeight > 0 && (r = e.naturalHeight);\n } catch (n) {\n }\n return { width: t, height: r };\n}\nfunction Bn(e, t, r) {\n let n = e.createElement(\"style\");\n return n.setAttribute(\"data-sd-iframe-pin\", \"\"), n.textContent = `html, body {margin: 0 !important;padding: 0 !important;width: ${t}px !important;height: ${r}px !important;min-width: ${t}px !important;min-height: ${r}px !important;box-sizing: border-box !important;overflow: hidden !important;background-clip: border-box !important;}`, (e.head || e.documentElement).appendChild(n), () => {\n try {\n n.remove();\n } catch (i) {\n }\n };\n}\nasync function qn(e, t, r) {\n let n = await Hn(e, 3);\n if (!n) throw new Error(\"iframe document not accessible/ready\");\n let { contentWidth: i, contentHeight: o, rect: a } = Dn(e), l = r == null ? void 0 : r.snap;\n if (!l && typeof window < \"u\" && window.snapdom && (l = window.snapdom), !l || typeof l.toPng != \"function\") throw new Error(\"[snapdom] iframe capture requires snapdom.toPng. Use snapdom(el) or pass options.snap. With ESM, assign window.snapdom = snapdom after import if using iframes.\");\n let c = z(W({}, r), { scale: 1 }), u = Bn(n, i, o), d;\n try {\n d = await l.toPng(n.documentElement, c);\n } finally {\n u();\n }\n d.style.display = \"block\", d.style.width = `${i}px`, d.style.height = `${o}px`;\n let s = document.createElement(\"div\");\n return t.nodeMap.set(s, e), we(e, s, t, r), s.style.overflow = \"hidden\", s.style.display = \"block\", s.style.width || (s.style.width = `${Math.round(a.width)}px`), s.style.height || (s.style.height = `${Math.round(a.height)}px`), s.appendChild(d), s;\n}\nfunction Vn(e) {\n let { width: t, height: r } = se(e), n = e.getBoundingClientRect(), i;\n try {\n i = window.getComputedStyle(e);\n } catch (g) {\n }\n let o = i ? parseFloat(i.width) : NaN, a = i ? parseFloat(i.height) : NaN, l = Math.round(t || n.width || 0), c = Math.round(r || n.height || 0), u = Number.isFinite(o) && o > 0 ? Math.round(o) : Math.max(12, l || 16), d = Number.isFinite(a) && a > 0 ? Math.round(a) : Math.max(12, c || 16), s = (e.type || \"text\").toLowerCase() === \"checkbox\", f = !!e.checked, p = !!e.indeterminate, m = Math.max(Math.min(u, d), 12), h = \"middle\";\n try {\n i && i.verticalAlign && (h = i.verticalAlign);\n } catch (g) {\n }\n let y = document.createElement(\"div\");\n y.setAttribute(\"data-snapdom-input-replacement\", e.type || \"checkbox\"), y.style.cssText = `display:inline-block;width:${m}px;height:${m}px;vertical-align:${h};flex-shrink:0;line-height:0;`;\n let S = document.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\");\n S.setAttribute(\"width\", String(m)), S.setAttribute(\"height\", String(m)), S.setAttribute(\"viewBox\", `0 0 ${m} ${m}`), y.appendChild(S);\n function M() {\n let g = \"#0a6ed1\";\n try {\n i && (g = i.accentColor || i.color || g);\n } catch (v) {\n }\n let w = 2, C = w / 2, b = m - w;\n if (S.innerHTML = \"\", s) {\n let v = document.createElementNS(\"http://www.w3.org/2000/svg\", \"rect\");\n if (v.setAttribute(\"x\", String(C)), v.setAttribute(\"y\", String(C)), v.setAttribute(\"width\", String(b)), v.setAttribute(\"height\", String(b)), v.setAttribute(\"rx\", \"2\"), v.setAttribute(\"ry\", \"2\"), v.setAttribute(\"fill\", f ? g : \"none\"), v.setAttribute(\"stroke\", g), v.setAttribute(\"stroke-width\", String(w)), S.appendChild(v), f) {\n let x = document.createElementNS(\"http://www.w3.org/2000/svg\", \"path\");\n x.setAttribute(\"d\", `M ${C + 2} ${m / 2} L ${m / 2 - 1} ${m - C - 2} L ${m - C - 2} ${C + 2}`), x.setAttribute(\"stroke\", \"white\"), x.setAttribute(\"stroke-width\", String(Math.max(1.5, w))), x.setAttribute(\"fill\", \"none\"), x.setAttribute(\"stroke-linecap\", \"round\"), x.setAttribute(\"stroke-linejoin\", \"round\"), S.appendChild(x);\n } else if (p) {\n let x = document.createElementNS(\"http://www.w3.org/2000/svg\", \"rect\"), $ = Math.max(6, b - 4);\n x.setAttribute(\"x\", String((m - $) / 2)), x.setAttribute(\"y\", String((m - w) / 2)), x.setAttribute(\"width\", String($)), x.setAttribute(\"height\", String(w)), x.setAttribute(\"fill\", g), x.setAttribute(\"rx\", \"1\"), S.appendChild(x);\n }\n } else {\n let v = document.createElementNS(\"http://www.w3.org/2000/svg\", \"circle\");\n if (v.setAttribute(\"cx\", String(m / 2)), v.setAttribute(\"cy\", String(m / 2)), v.setAttribute(\"r\", String((m - w) / 2)), v.setAttribute(\"fill\", f ? g : \"none\"), v.setAttribute(\"stroke\", g), v.setAttribute(\"stroke-width\", String(w)), S.appendChild(v), f) {\n let x = document.createElementNS(\"http://www.w3.org/2000/svg\", \"circle\"), $ = Math.max(2, (m - w * 2) * 0.35);\n x.setAttribute(\"cx\", String(m / 2)), x.setAttribute(\"cy\", String(m / 2)), x.setAttribute(\"r\", String($)), x.setAttribute(\"fill\", \"white\"), S.appendChild(x);\n }\n }\n y.style.setProperty(\"width\", `${m}px`, \"important\"), y.style.setProperty(\"height\", `${m}px`, \"important\"), y.style.setProperty(\"min-width\", `${m}px`, \"important\"), y.style.setProperty(\"min-height\", `${m}px`, \"important\");\n }\n return M(), { el: y, applyVisual: M };\n}\nvar Me = new ee(80);\nasync function Fe(e) {\n var r;\n if ((r = A.resource) != null && r.has(e)) return A.resource.get(e);\n if (Me.has(e)) return Me.get(e);\n let t = (async () => {\n var i;\n let n = await oe(e, { as: \"dataURL\", silent: !0 });\n if (!n.ok || typeof n.data != \"string\") throw new Error(`[snapDOM] Failed to read blob URL: ${e}`);\n return (i = A.resource) == null || i.set(e, n.data), n.data;\n })();\n Me.set(e, t);\n try {\n let n = await t;\n return Me.set(e, n), n;\n } catch (n) {\n throw Me.delete(e), n;\n }\n}\nvar zn = /\\bblob:[^)\"'\\s]+/g;\nasync function It(e) {\n if (!e || e.indexOf(\"blob:\") === -1) return e;\n let t = Array.from(new Set(e.match(zn) || []));\n if (t.length === 0) return e;\n let r = e;\n for (let n of t) try {\n let i = await Fe(n);\n r = r.split(n).join(i);\n } catch (i) {\n }\n return r;\n}\nfunction Ie(e) {\n return typeof e == \"string\" && e.startsWith(\"blob:\");\n}\nfunction Xn(e) {\n return (e || \"\").split(\",\").map((t) => t.trim()).filter(Boolean).map((t) => {\n let r = t.match(/^(\\S+)(\\s+.+)?$/);\n return r ? { url: r[1], desc: r[2] || \"\" } : null;\n }).filter(Boolean);\n}\nfunction Yn(e) {\n return e.map((t) => t.desc ? `${t.url} ${t.desc.trim()}` : t.url).join(\", \");\n}\nasync function Gn(e, t = null) {\n var c, u;\n if (!e) return;\n let r = t, n = e.querySelectorAll ? e.querySelectorAll(\"img\") : [];\n for (let d of n) try {\n let s = d.getAttribute(\"src\") || d.currentSrc || \"\";\n if (Ie(s)) {\n let p = await Fe(s);\n d.setAttribute(\"src\", p);\n }\n let f = d.getAttribute(\"srcset\");\n if (f && f.includes(\"blob:\")) {\n let p = Xn(f), m = !1;\n for (let h of p) if (Ie(h.url)) try {\n h.url = await Fe(h.url), m = !0;\n } catch (y) {\n D(r, \"blobUrlToDataUrl for srcset item failed\", y);\n }\n m && d.setAttribute(\"srcset\", Yn(p));\n }\n } catch (s) {\n D(r, \"resolveBlobUrls for img failed\", s);\n }\n let i = e.querySelectorAll ? e.querySelectorAll(\"image\") : [];\n for (let d of i) try {\n let s = \"http://www.w3.org/1999/xlink\", f = d.getAttribute(\"href\") || ((c = d.getAttributeNS) == null ? void 0 : c.call(d, s, \"href\"));\n if (Ie(f)) {\n let p = await Fe(f);\n d.setAttribute(\"href\", p), (u = d.removeAttributeNS) == null || u.call(d, s, \"href\");\n }\n } catch (s) {\n D(r, \"resolveBlobUrls for SVG image href failed\", s);\n }\n let o = e.querySelectorAll ? e.querySelectorAll(\"[style*='blob:']\") : [];\n for (let d of o) try {\n let s = d.getAttribute(\"style\");\n if (s && s.includes(\"blob:\")) {\n let f = await It(s);\n d.setAttribute(\"style\", f);\n }\n } catch (s) {\n D(r, \"replaceBlobUrls in inline style failed\", s);\n }\n let a = e.querySelectorAll ? e.querySelectorAll(\"style\") : [];\n for (let d of a) try {\n let s = d.textContent || \"\";\n s.includes(\"blob:\") && (d.textContent = await It(s));\n } catch (s) {\n D(r, \"replaceBlobUrls in style tag failed\", s);\n }\n let l = [\"poster\"];\n for (let d of l) {\n let s = e.querySelectorAll ? e.querySelectorAll(`[${d}^='blob:']`) : [];\n for (let f of s) try {\n let p = f.getAttribute(d);\n Ie(p) && f.setAttribute(d, await Fe(p));\n } catch (p) {\n D(r, `resolveBlobUrls for ${d} failed`, p);\n }\n }\n}\nRe();\nasync function je(e, t, r) {\n var d, s, f, p, m, h, y, S, M;\n if (!e) throw new Error(\"Invalid node\");\n let n = /* @__PURE__ */ new Set(), i = null, o = null;\n if (e.nodeType === Node.ELEMENT_NODE) {\n let g = (e.localName || e.tagName || \"\").toLowerCase();\n if (e.id === \"snapdom-sandbox\" || e.hasAttribute(\"data-snapdom-sandbox\") || Qt.has(g)) return null;\n if (g === \"foreignobject\" && ((s = (d = e.parentElement) == null ? void 0 : d.closest) != null && s.call(d, \"foreignObject\"))) return D(t, \"Nested <foreignObject> skipped (SVG spec limitation — not rendered by browsers)\"), null;\n }\n if (e.nodeType === Node.TEXT_NODE || e.nodeType !== Node.ELEMENT_NODE) return e.cloneNode(!0);\n if (e.getAttribute(\"data-capture\") === \"exclude\") {\n if (r.excludeMode === \"hide\") {\n let g = document.createElement(\"div\"), { width: w, height: C } = se(e), b = w || e.getBoundingClientRect().width || 0, v = C || e.getBoundingClientRect().height || 0;\n return g.style.cssText = `display:inline-block;width:${b}px;height:${v}px;visibility:hidden;`, g;\n } else if (r.excludeMode === \"remove\") return null;\n }\n if (r.exclude && Array.isArray(r.exclude)) for (let g of r.exclude) try {\n if ((f = e.matches) != null && f.call(e, g)) {\n if (r.excludeMode === \"hide\") {\n let w = document.createElement(\"div\"), { width: C, height: b } = se(e), v = C || e.getBoundingClientRect().width || 0, x = b || e.getBoundingClientRect().height || 0;\n return w.style.cssText = `display:inline-block;width:${v}px;height:${x}px;visibility:hidden;`, w;\n } else if (r.excludeMode === \"remove\") return null;\n }\n } catch (w) {\n console.warn(`Invalid selector in exclude option: ${g}`, w);\n }\n if (typeof r.filter == \"function\") try {\n if (!r.filter(e)) {\n if (r.filterMode === \"hide\") {\n let g = document.createElement(\"div\"), { width: w, height: C } = se(e), b = w || e.getBoundingClientRect().width || 0, v = C || e.getBoundingClientRect().height || 0;\n return g.style.cssText = `display:inline-block;width:${b}px;height:${v}px;visibility:hidden;`, g;\n } else if (r.filterMode === \"remove\") return null;\n }\n } catch (g) {\n console.warn(\"Error in filter function:\", g);\n }\n if (e.tagName === \"IFRAME\") {\n let g = !1;\n try {\n g = !!(e.contentDocument || (p = e.contentWindow) != null && p.document);\n } catch (w) {\n D(t, \"iframe same-origin probe failed\", w);\n }\n if (g) try {\n return await qn(e, t, r);\n } catch (w) {\n console.warn(\"[SnapDOM] iframe rasterization failed, fallback:\", w);\n }\n if (g || console.warn(\"[snapdom] cross-origin <iframe> skipped (cannot access content). Use options.placeholders to show a placeholder instead.\", e), r.placeholders) {\n let { width: w, height: C } = se(e), b = document.createElement(\"div\");\n return b.style.cssText = `width:${w}px;height:${C}px;background-image:repeating-linear-gradient(45deg,#ddd,#ddd 5px,#f9f9f9 5px,#f9f9f9 10px);display:flex;align-items:center;justify-content:center;font-size:12px;color:#555;border:1px solid #aaa;`, we(e, b, t, r), b;\n } else {\n let { width: w, height: C } = se(e), b = document.createElement(\"div\");\n return b.style.cssText = `display:inline-block;width:${w}px;height:${C}px;visibility:hidden;`, we(e, b, t, r), b;\n }\n }\n if (e.getAttribute(\"data-capture\") === \"placeholder\") {\n let g = e.cloneNode(!1);\n t.nodeMap.set(g, e), we(e, g, t, r);\n let w = document.createElement(\"div\");\n return w.textContent = e.getAttribute(\"data-placeholder-text\") || \"\", w.style.cssText = \"color:#666;font-size:12px;text-align:center;line-height:1.4;padding:0.5em;box-sizing:border-box;\", g.appendChild(w), g;\n }\n if (e.tagName === \"CANVAS\") {\n let g = \"\";\n try {\n let v = e.getContext(\"2d\", { willReadFrequently: !0 });\n try {\n v && v.getImageData(0, 0, 1, 1);\n } catch (x) {\n }\n if (await new Promise((x) => requestAnimationFrame(x)), g = e.toDataURL(\"image/png\"), !g || g === \"data:,\") {\n try {\n v && v.getImageData(0, 0, 1, 1);\n } catch (x) {\n }\n if (await new Promise((x) => requestAnimationFrame(x)), g = e.toDataURL(\"image/png\"), !g || g === \"data:,\") {\n let x = document.createElement(\"canvas\");\n x.width = e.width, x.height = e.height;\n let $ = x.getContext(\"2d\");\n $ && ($.drawImage(e, 0, 0), g = x.toDataURL(\"image/png\"));\n }\n }\n } catch (v) {\n D(t, \"Canvas toDataURL failed, using empty/fallback\", v);\n }\n let w = document.createElement(\"img\");\n try {\n w.decoding = \"sync\", w.loading = \"eager\";\n } catch (v) {\n D(t, \"img decoding/loading hints failed\", v);\n }\n g && (w.src = g), w.width = e.width, w.height = e.height;\n let { width: C, height: b } = se(e);\n return C > 0 && (w.style.width = `${C}px`), b > 0 && (w.style.height = `${b}px`), t.nodeMap.set(w, e), we(e, w, t, r), w;\n }\n if (e.tagName === \"VIDEO\") {\n let g = \"\";\n try {\n let v = document.createElement(\"canvas\");\n v.width = e.videoWidth || e.offsetWidth || 320, v.height = e.videoHeight || e.offsetHeight || 240;\n let x = v.getContext(\"2d\");\n x && (x.drawImage(e, 0, 0, v.width, v.height), g = v.toDataURL(\"image/png\"), (!g || g === \"data:,\") && (g = \"\"));\n } catch (v) {\n D(t, \"Video frame capture failed, using poster fallback\", v);\n }\n let w = document.createElement(\"img\");\n try {\n w.decoding = \"sync\", w.loading = \"eager\";\n } catch (v) {\n }\n g ? w.src = g : e.poster && (w.src = e.poster), w.width = e.videoWidth || e.offsetWidth || 0, w.height = e.videoHeight || e.offsetHeight || 0;\n let { width: C, height: b } = se(e);\n return C > 0 && (w.style.width = `${C}px`), b > 0 && (w.style.height = `${b}px`), w.style.objectFit = \"contain\", t.nodeMap.set(w, e), we(e, w, t, r), w;\n }\n let a;\n try {\n if (a = e.cloneNode(!1), (m = a.attributes) == null ? void 0 : m.length) try {\n for (let g of a.attributes) /[\\x00-\\x08\\x0B\\x0C\\x0E-\\x1F\\uFFFE\\uFFFF]/.test(g.value) && a.setAttribute(g.name, g.value.replace(/[\\x00-\\x08\\x0B\\x0C\\x0E-\\x1F\\uFFFE\\uFFFF]/g, \"\"));\n } catch (g) {\n }\n if (Fn(e, a), t.nodeMap.set(a, e), e.tagName === \"IMG\") {\n In(e, a);\n try {\n let { width: g, height: w } = se(e), C = Math.round(g || 0), b = Math.round(w || 0);\n C && (a.dataset.snapdomWidth = String(C)), b && (a.dataset.snapdomHeight = String(b));\n } catch (g) {\n D(t, \"getUnscaledDimensions for IMG failed\", g);\n }\n try {\n let g = e.getAttribute(\"style\") || \"\", w = window.getComputedStyle(e), C = (j) => {\n let _ = g.match(new RegExp(`${j}\\\\s*:\\\\s*([^;]+)`, \"i\")), B = _ ? _[1].trim() : w.getPropertyValue(j);\n return /%|auto/i.test(String(B || \"\"));\n }, b = parseInt(a.dataset.snapdomWidth || \"0\", 10), v = parseInt(a.dataset.snapdomHeight || \"0\", 10), x = C(\"width\") || !b, $ = C(\"height\") || !v;\n x && b && (a.style.width = `${b}px`), $ && v && (a.style.height = `${v}px`);\n let E = w.getPropertyValue(\"object-fit\"), U = w.getPropertyValue(\"object-position\");\n E && E !== \"fill\" ? (a.style.objectFit = E, U && (a.style.objectPosition = U)) : (b && (a.style.minWidth = `${b}px`), v && (a.style.minHeight = `${v}px`));\n } catch (g) {\n D(t, \"IMG dimension freeze failed\", g);\n }\n }\n } catch (g) {\n throw console.error(\"[Snapdom] Failed to clone node:\", e, g), g;\n }\n let l = null;\n if (e instanceof HTMLTextAreaElement) {\n let { width: g, height: w } = se(e), C = g || e.getBoundingClientRect().width || 0, b = w || e.getBoundingClientRect().height || 0;\n C && (a.style.width = `${C}px`), b && (a.style.height = `${b}px`);\n }\n if (e instanceof HTMLInputElement) {\n let g = (e.type || \"text\").toLowerCase();\n if ((g === \"checkbox\" || g === \"radio\") && on()) {\n let { el: w, applyVisual: C } = Vn(e);\n t.nodeMap.set(w, e), l = C, a = w;\n } else a.value = e.value, a.setAttribute(\"value\", e.value), e.checked !== void 0 && (a.checked = e.checked, e.checked && a.setAttribute(\"checked\", \"\"), e.indeterminate && (a.indeterminate = e.indeterminate));\n }\n if ((e instanceof HTMLInputElement || e instanceof HTMLTextAreaElement) && !e.value && e.placeholder) try {\n let g = window.getComputedStyle(e, \"::placeholder\"), w = g && g.color;\n if (w && w !== \"rgba(0, 0, 0, 0)\") {\n let C = \"snapdom-ph-\" + (Math.random() * 1e6 | 0);\n a.classList.add(C);\n let b = document.createElement(\"style\");\n b.textContent = `.${C}::placeholder{color:${w}!important;opacity:${g.opacity || \"1\"}!important;}`, a.prepend(b);\n }\n } catch (g) {\n }\n if (e instanceof HTMLSelectElement && (i = e.value), e instanceof HTMLTextAreaElement && (o = e.value), e instanceof HTMLInputElement || e instanceof HTMLTextAreaElement || e instanceof HTMLSelectElement) {\n e.disabled && a.setAttribute(\"disabled\", \"\"), e.required && a.setAttribute(\"required\", \"\"), e.readOnly && a.setAttribute(\"readonly\", \"\");\n let g = e;\n g.min !== void 0 && g.min !== \"\" && a.setAttribute(\"min\", g.min), g.max !== void 0 && g.max !== \"\" && a.setAttribute(\"max\", g.max), g.pattern !== void 0 && g.pattern !== \"\" && a.setAttribute(\"pattern\", g.pattern);\n let w = e.getAttribute(\"aria-invalid\");\n w !== null && a.setAttribute(\"aria-invalid\", w);\n }\n if (we(e, a, t, r), l && l(), e instanceof SVGElement) {\n let g = [\"fill\", \"stroke\", \"stroke-width\", \"stroke-dasharray\", \"stroke-dashoffset\", \"stroke-linecap\", \"stroke-linejoin\", \"stroke-miterlimit\", \"opacity\", \"fill-opacity\", \"stroke-opacity\", \"fill-rule\", \"clip-rule\", \"marker\", \"marker-start\", \"marker-mid\", \"marker-end\", \"visibility\", \"display\"];\n try {\n let w = window.getComputedStyle(e);\n for (let C of g) {\n let b = w.getPropertyValue(C);\n b && a.style.setProperty(C, b);\n }\n } catch (w) {\n }\n }\n if (e.shadowRoot) {\n let g = function(j, _) {\n if (j.nodeType === Node.ELEMENT_NODE && j.tagName === \"STYLE\") return _(null);\n je(j, t, r).then((B) => {\n _(B || null);\n }).catch(() => {\n _(null);\n });\n };\n try {\n let j = e.shadowRoot.querySelectorAll(\"slot\");\n for (let _ of j) {\n let B = [];\n try {\n B = ((h = _.assignedNodes) == null ? void 0 : h.call(_, { flatten: !0 })) || ((y = _.assignedNodes) == null ? void 0 : y.call(_)) || [];\n } catch (V) {\n B = ((S = _.assignedNodes) == null ? void 0 : S.call(_)) || [];\n }\n for (let V of B) n.add(V);\n }\n } catch (j) {\n }\n let w = Rn(t), C = `[data-sd=\"${w}\"]`;\n try {\n a.setAttribute(\"data-sd\", w);\n } catch (j) {\n }\n let b = Tn(e.shadowRoot), v = Pn(b, C), x = _n(b), $ = On(e, x, C);\n Wn(a, $ + v, w);\n let E = document.createDocumentFragment(), U = await Ke(Array.from(e.shadowRoot.childNodes), g, r.fast);\n E.append(...U.filter((j) => !!j)), a.appendChild(E);\n }\n if (e.tagName === \"SLOT\") {\n let g = function(x, $) {\n je(x, t, r).then((E) => {\n E && jn(E), $(E || null);\n }).catch(() => {\n $(null);\n });\n }, w = ((M = e.assignedNodes) == null ? void 0 : M.call(e, { flatten: !0 })) || [], C = w.length > 0 ? w : Array.from(e.childNodes), b = document.createDocumentFragment(), v = await Ke(Array.from(C), g, r.fast);\n return b.append(...v.filter((x) => !!x)), b;\n }\n function c(g, w) {\n if (n.has(g)) return w(null);\n je(g, t, r).then((C) => {\n w(C || null);\n }).catch(() => {\n w(null);\n });\n }\n let u = await Ke(Array.from(e.childNodes), c, r.fast);\n if (a.append(...u.filter((g) => !!g)), i !== null && a instanceof HTMLSelectElement) {\n a.value = i;\n for (let g of a.options) g.value === i ? g.setAttribute(\"selected\", \"\") : g.removeAttribute(\"selected\");\n }\n return o !== null && a instanceof HTMLTextAreaElement && (a.textContent = o), a;\n}\nce();\nVe();\nie();\nvar Jn = [/font\\s*awesome/i, /material\\s*icons/i, /ionicons/i, /glyphicons/i, /feather/i, /bootstrap\\s*icons/i, /remix\\s*icons/i, /heroicons/i, /layui/i, /lucide/i], xe = Object.assign({ materialIconsFilled: \"https://fonts.gstatic.com/s/materialicons/v48/flUhRq6tzZclQEJ-Vdg-IuiaDsNcIhQ8tQ.woff2\", materialIconsOutlined: \"https://fonts.gstatic.com/s/materialiconsoutlined/v110/gok-H7zzDkdnRel8-DQ6KAXJ69wP1tGnf4ZGhUcel5euIg.woff2\", materialIconsRound: \"https://fonts.gstatic.com/s/materialiconsround/v109/LDItaoyNOAY6Uewc665JcIzCKsKc_M9flwmPq_HTTw.woff2\", materialIconsSharp: \"https://fonts.gstatic.com/s/materialiconssharp/v110/oPWQ_lt5nv4pWNJpghLP75WiFR4kLh3kvmvRImcycg.woff2\" }, typeof window < \"u\" && window.__SNAPDOM_ICON_FONTS__ || {}), ot = [];\nfunction Kn(e) {\n let t = Array.isArray(e) ? e : [e];\n for (let r of t) r instanceof RegExp ? ot.push(r) : typeof r == \"string\" ? ot.push(new RegExp(r, \"i\")) : console.warn(\"[snapdom] Ignored invalid iconFont value:\", r);\n}\nfunction de(e) {\n let t = typeof e == \"string\" ? e : \"\", r = [...Jn, ...ot];\n for (let n of r) if (n instanceof RegExp && n.test(t)) return !0;\n return !!(/icon/i.test(t) || /glyph/i.test(t) || /symbols/i.test(t) || /feather/i.test(t) || /fontawesome/i.test(t));\n}\nfunction Qn(e = \"\") {\n let t = String(e).toLowerCase();\n return /\\bmaterial\\s*icons\\b/.test(t) || /\\bmaterial\\s*symbols\\b/.test(t);\n}\nvar _t = /* @__PURE__ */ new Map();\nfunction Zn(e = \"\") {\n let t = /* @__PURE__ */ Object.create(null), r = String(e || \"\"), n = /['\"]?\\s*([A-Za-z]{3,4})\\s*['\"]?\\s*([+-]?\\d+(?:\\.\\d+)?)\\s*/g, i;\n for (; i = n.exec(r); ) t[i[1].toUpperCase()] = Number(i[2]);\n return t;\n}\nasync function eo(e, t, r) {\n var s;\n let n = String(e || \"\"), i = n.toLowerCase(), o = String(t || \"\").toLowerCase();\n if (/\\bmaterial\\s*icons\\b/.test(i) && !/\\bsymbols\\b/.test(i)) return { familyForMeasure: n, familyForCanvas: n };\n if (!/\\bmaterial\\s*symbols\\b/.test(i)) return { familyForMeasure: n, familyForCanvas: n };\n let a = r && ((s = r.FILL) != null ? s : r.fill), l = \"outlined\";\n /\\brounded\\b/.test(o) || /\\bround\\b/.test(o) ? l = \"rounded\" : /\\bsharp\\b/.test(o) ? l = \"sharp\" : /\\boutlined\\b/.test(o) && (l = \"outlined\");\n let c = a === 1, u = null;\n if (c && (l === \"outlined\" && xe.materialIconsFilled ? u = { url: xe.materialIconsFilled, alias: \"snapdom-mi-filled\" } : l === \"rounded\" && xe.materialIconsRound ? u = { url: xe.materialIconsRound, alias: \"snapdom-mi-round\" } : l === \"sharp\" && xe.materialIconsSharp && (u = { url: xe.materialIconsSharp, alias: \"snapdom-mi-sharp\" })), !u) return { familyForMeasure: n, familyForCanvas: n };\n if (!_t.has(u.alias)) try {\n let f = new FontFace(u.alias, `url(${u.url})`, { style: \"normal\", weight: \"400\" });\n document.fonts.add(f), await f.load(), _t.set(u.alias, !0);\n } catch (f) {\n return { familyForMeasure: n, familyForCanvas: n };\n }\n let d = `\"${u.alias}\"`;\n return { familyForMeasure: d, familyForCanvas: d };\n}\nasync function to(e = \"Material Icons\", t = 24) {\n try {\n await Promise.all([document.fonts.load(`400 ${t}px \"${String(e).replace(/[\"']/g, \"\")}\"`), document.fonts.ready]);\n } catch (r) {\n }\n}\nfunction ro(e) {\n var i, o;\n let t = ((i = e.getPropertyValue(\"-webkit-text-fill-color\")) == null ? void 0 : i.trim()) || \"\", r = /^transparent$/i.test(t) || /rgba?\\(\\s*0\\s*,\\s*0\\s*,\\s*0\\s*,\\s*0\\s*\\)/i.test(t);\n if (t && !r && t.toLowerCase() !== \"currentcolor\") return t;\n let n = (o = e.color) == null ? void 0 : o.trim();\n return n && n !== \"inherit\" ? n : \"#000\";\n}\nasync function no(e, { family: t = \"Material Icons\", weight: r = \"normal\", fontSize: n = 32, color: i = \"#000\", variation: o = \"\", className: a = \"\" } = {}) {\n let l = String(t || \"\").replace(/^['\"]+|['\"]+$/g, \"\"), c = window.devicePixelRatio || 1, u = Zn(o), { familyForMeasure: d, familyForCanvas: s } = await eo(l, a, u);\n await to(s.replace(/^[\"']+|[\"']+$/g, \"\"), n);\n let f = document.createElement(\"span\");\n f.textContent = e, f.style.position = \"absolute\", f.style.visibility = \"hidden\", f.style.left = \"-99999px\", f.style.whiteSpace = \"nowrap\", f.style.fontFamily = d, f.style.fontWeight = String(r || \"normal\"), f.style.fontSize = `${n}px`, f.style.lineHeight = \"1\", f.style.margin = \"0\", f.style.padding = \"0\", f.style.fontFeatureSettings = \"'liga' 1\", f.style.fontVariantLigatures = \"normal\", f.style.color = i, document.body.appendChild(f);\n let p = f.getBoundingClientRect(), m = Math.max(1, Math.ceil(p.width)), h = Math.max(1, Math.ceil(p.height));\n document.body.removeChild(f);\n let y = document.createElement(\"canvas\");\n y.width = m * c, y.height = h * c;\n let S = y.getContext(\"2d\");\n S.scale(c, c), S.font = `${r ? `${r} ` : \"\"}${n}px ${s}`, S.textAlign = \"left\", S.textBaseline = \"top\", S.fillStyle = i;\n try {\n S.fontKerning = \"normal\";\n } catch (M) {\n }\n return S.fillText(e, 0, 0), { dataUrl: y.toDataURL(), width: m, height: h };\n}\nasync function oo(e, t) {\n if (!(e instanceof Element)) return 0;\n let r = '.material-icons, [class*=\"material-symbols\"]', n = Array.from(e.querySelectorAll(r)).filter((a) => a && a.textContent && a.textContent.trim());\n if (n.length === 0) return 0;\n let i = t instanceof Element ? Array.from(t.querySelectorAll(r)).filter((a) => a && a.textContent && a.textContent.trim()) : [], o = 0;\n for (let a = 0; a < n.length; a++) {\n let l = n[a], c = i[a] || null;\n try {\n let u = getComputedStyle(c || l), d = u.fontFamily || \"Material Icons\";\n if (!Qn(d)) continue;\n let s = (c || l).textContent.trim();\n if (!s) continue;\n let f = parseInt(u.fontSize, 10) || 24, p = u.fontWeight && u.fontWeight !== \"normal\" ? u.fontWeight : \"normal\", m = ro(u), h = u.fontVariationSettings && u.fontVariationSettings !== \"normal\" ? u.fontVariationSettings : \"\", y = (c || l).className || \"\", { dataUrl: S, width: M, height: g } = await no(s, { family: d, weight: p, fontSize: f, color: m, variation: h, className: y });\n l.textContent = \"\";\n let w = l.ownerDocument.createElement(\"img\");\n w.src = S, w.alt = s, w.style.height = `${f}px`, w.style.width = `${Math.max(1, Math.round(M / g * f))}px`, w.style.objectFit = \"contain\", w.style.verticalAlign = getComputedStyle(l).verticalAlign || \"baseline\", l.appendChild(w), o++;\n } catch (u) {\n }\n }\n return o;\n}\nke();\nasync function io(e, t, r, n = 32, i = \"#000\") {\n t = t.replace(/^['\"]+|['\"]+$/g, \"\");\n let o = window.devicePixelRatio || 1;\n try {\n await document.fonts.ready;\n } catch (f) {\n }\n let a = document.createElement(\"span\");\n a.textContent = e, a.style.position = \"absolute\", a.style.visibility = \"hidden\", a.style.fontFamily = `\"${t}\"`, a.style.fontWeight = r || \"normal\", a.style.fontSize = `${n}px`, a.style.lineHeight = \"1\", a.style.whiteSpace = \"nowrap\", a.style.padding = \"0\", a.style.margin = \"0\", document.body.appendChild(a);\n let l = a.getBoundingClientRect(), c = Math.ceil(l.width), u = Math.ceil(l.height);\n document.body.removeChild(a);\n let d = document.createElement(\"canvas\");\n d.width = Math.max(1, c * o), d.height = Math.max(1, u * o);\n let s = d.getContext(\"2d\");\n return s.scale(o, o), s.font = r ? `${r} ${n}px \"${t}\"` : `${n}px \"${t}\"`, s.textAlign = \"left\", s.textBaseline = \"top\", s.fillStyle = i, s.fillText(e, 0, 0), { dataUrl: d.toDataURL(), width: c, height: u };\n}\nvar dr = /* @__PURE__ */ new Set([\"serif\", \"sans-serif\", \"monospace\", \"cursive\", \"fantasy\", \"system-ui\", \"emoji\", \"math\", \"fangsong\", \"ui-serif\", \"ui-sans-serif\", \"ui-monospace\", \"ui-rounded\"]), ao = [\"katex\", \"mathjax\", \"mathml\"];\nfunction ht(e) {\n if (!e) return \"\";\n for (let t of e.split(\",\")) {\n let r = t.trim().replace(/^['\"]+|['\"]+$/g, \"\");\n if (r && !dr.has(r.toLowerCase())) return r;\n }\n return \"\";\n}\nfunction lo(e) {\n if (!e) return [];\n let t = [];\n for (let r of e.split(\",\")) {\n let n = r.trim().replace(/^['\"]+|['\"]+$/g, \"\");\n n && (dr.has(n.toLowerCase()) || t.push(n));\n }\n return t;\n}\nfunction He(e) {\n let t = String(e != null ? e : \"400\").trim().toLowerCase();\n if (t === \"normal\") return 400;\n if (t === \"bold\") return 700;\n let r = parseInt(t, 10);\n return Number.isFinite(r) ? Math.min(900, Math.max(100, r)) : 400;\n}\nfunction De(e) {\n let t = String(e != null ? e : \"normal\").trim().toLowerCase();\n return t.startsWith(\"italic\") ? \"italic\" : t.startsWith(\"oblique\") ? \"oblique\" : \"normal\";\n}\nfunction so(e) {\n let t = String(e != null ? e : \"100%\").match(/(\\d+(?:\\.\\d+)?)\\s*%/);\n return t ? Math.max(50, Math.min(200, parseFloat(t[1]))) : 100;\n}\nfunction co(e) {\n let t = String(e || \"400\").trim(), r = t.match(/^(\\d{2,3})\\s+(\\d{2,3})$/);\n if (r) {\n let i = He(r[1]), o = He(r[2]);\n return { min: Math.min(i, o), max: Math.max(i, o) };\n }\n let n = He(t);\n return { min: n, max: n };\n}\nfunction uo(e) {\n let t = String(e || \"normal\").trim().toLowerCase();\n return t === \"italic\" ? { kind: \"italic\" } : t.startsWith(\"oblique\") ? { kind: \"oblique\" } : { kind: \"normal\" };\n}\nfunction fo(e) {\n let t = String(e || \"100%\").trim(), r = t.match(/(\\d+(?:\\.\\d+)?)\\s*%\\s+(\\d+(?:\\.\\d+)?)\\s*%/);\n if (r) {\n let o = parseFloat(r[1]), a = parseFloat(r[2]);\n return { min: Math.min(o, a), max: Math.max(o, a) };\n }\n let n = t.match(/(\\d+(?:\\.\\d+)?)\\s*%/), i = n ? parseFloat(n[1]) : 100;\n return { min: i, max: i };\n}\nfunction mo(e) {\n return !e || typeof e != \"string\" ? \"\" : e.replace(/\\s+(variable|vf|v[0-9]+)$/i, \"\").trim().toLowerCase().replace(/\\s+/g, \"-\");\n}\nfunction ho(e, t, r = []) {\n if (!e) return !1;\n try {\n let n = new URL(e, location.href);\n if (n.origin === location.origin) return !0;\n let i = n.host.toLowerCase();\n if ([\"fonts.googleapis.com\", \"fonts.gstatic.com\", \"use.typekit.net\", \"p.typekit.net\", \"kit.fontawesome.com\", \"use.fontawesome.com\", \"cdn.jsdelivr.net\", \"unpkg.com\", \"cdnjs.cloudflare.com\", \"esm.sh\"].some((a) => i.endsWith(a)) || r.some((a) => i === a.toLowerCase() || i.endsWith(\".\" + a.toLowerCase()))) return !0;\n let o = (n.pathname + n.search).toLowerCase();\n if (/\\bfont(s)?\\b/.test(o) || /\\.woff2?(\\b|$)/.test(o) || ao.some((a) => o.includes(a))) return !0;\n for (let a of t) {\n let l = a.toLowerCase().replace(/\\s+/g, \"+\"), c = a.toLowerCase().replace(/\\s+/g, \"-\"), u = mo(a);\n if (o.includes(l) || o.includes(c) || u && o.includes(u)) return !0;\n }\n return !1;\n } catch (n) {\n return !1;\n }\n}\nfunction po(e) {\n var r;\n let t = /* @__PURE__ */ new Set();\n for (let n of e || []) {\n let i = (r = String(n).split(\"__\")[0]) == null ? void 0 : r.trim();\n i && t.add(i);\n }\n return t;\n}\nfunction Ut(e, t) {\n return e && e.replace(/url\\(\\s*(['\"]?)([^)'\"]+)\\1\\s*\\)/g, (r, n, i) => {\n let o = (i || \"\").trim();\n if (!o || /^data:|^blob:|^https?:|^file:|^about:/i.test(o)) return r;\n let a = o;\n try {\n a = new URL(o, t || location.href).href;\n } catch (l) {\n }\n return `url(\"${a}\")`;\n });\n}\nvar it = /@import\\s+(?:url\\(\\s*(['\"]?)([^)\"']+)\\1\\s*\\)|(['\"])([^\"']+)\\3)([^;]*);/g, qe = 4;\nasync function go(e, t, r) {\n if (!e) return e;\n let n = /* @__PURE__ */ new Set();\n function i(l, c) {\n try {\n return new URL(l, c || location.href).href;\n } catch (u) {\n return l;\n }\n }\n async function o(l, c, u = 0) {\n if (u > qe) return console.warn(`[snapDOM] @import depth exceeded (${qe}) at ${c}`), l;\n let d = \"\", s = 0, f;\n for (; f = it.exec(l); ) {\n d += l.slice(s, f.index), s = it.lastIndex;\n let p = (f[2] || f[4] || \"\").trim(), m = i(p, c);\n if (n.has(m)) {\n console.warn(`[snapDOM] Skipping circular @import: ${m}`);\n continue;\n }\n n.add(m);\n let h = \"\";\n try {\n let y = await oe(m, { as: \"text\", useProxy: r, silent: !0 });\n y.ok && typeof y.data == \"string\" && (h = y.data);\n } catch (y) {\n }\n h ? (h = Ut(h, m), h = await o(h, m, u + 1), d += `\n/* inlined: ${m} */\n${h}\n`) : d += f[0];\n }\n return d += l.slice(s), d;\n }\n let a = Ut(e, t || location.href);\n return a = await o(a, t || location.href, 0), a;\n}\nvar mr = /url\\(([\"']?)([^\"')]+)\\1\\)/g, yo = /@font-face[^{}]*\\{[^}]*\\}/g;\nfunction hr(e) {\n if (!e) return [];\n let t = [], r = e.split(\",\").map((n) => n.trim()).filter(Boolean);\n for (let n of r) {\n let i = n.match(/^U\\+([0-9A-Fa-f?]+)(?:-([0-9A-Fa-f?]+))?$/);\n if (!i) continue;\n let o = i[1], a = i[2], l = (c) => {\n if (!c.includes(\"?\")) return parseInt(c, 16);\n let u = parseInt(c.replace(/\\?/g, \"0\"), 16), d = parseInt(c.replace(/\\?/g, \"F\"), 16);\n return [u, d];\n };\n if (a) {\n let c = l(o), u = l(a), d = Array.isArray(c) ? c[0] : c, s = Array.isArray(u) ? u[1] : u;\n t.push([Math.min(d, s), Math.max(d, s)]);\n } else {\n let c = l(o);\n Array.isArray(c) ? t.push([c[0], c[1]]) : t.push([c, c]);\n }\n }\n return t;\n}\nfunction pr(e, t) {\n if (!t.length || !e || e.size === 0) return !0;\n for (let r of e) for (let [n, i] of t) if (r >= n && r <= i) return !0;\n return !1;\n}\nfunction pt(e, t) {\n let r = [];\n if (!e) return r;\n for (let n of e.matchAll(mr)) {\n let i = (n[2] || \"\").trim();\n if (!(!i || i.startsWith(\"data:\"))) {\n if (!/^https?:/i.test(i)) try {\n i = new URL(i, t || location.href).href;\n } catch (o) {\n }\n r.push(i);\n }\n }\n return r;\n}\nasync function gr(e, t, r = \"\") {\n var i, o, a, l, c;\n let n = e;\n for (let u of e.matchAll(mr)) {\n let d = ft(u[0]);\n if (!d) continue;\n let s = d;\n if (!s.startsWith(\"http\") && !s.startsWith(\"data:\")) try {\n s = new URL(s, t || location.href).href;\n } catch (f) {\n }\n if (!de(s)) {\n if ((i = A.resource) != null && i.has(s)) {\n (o = A.font) == null || o.add(s), n = n.replace(u[0], `url(${A.resource.get(s)})`);\n continue;\n }\n if (!((a = A.font) != null && a.has(s))) try {\n let f = await oe(s, { as: \"dataURL\", useProxy: r, silent: !0 });\n if (f.ok && typeof f.data == \"string\") {\n let p = f.data;\n (l = A.resource) == null || l.set(s, p), (c = A.font) == null || c.add(s), n = n.replace(u[0], `url(${p})`);\n }\n } catch (f) {\n console.warn(\"[snapDOM] Failed to fetch font resource:\", s);\n }\n }\n }\n return n;\n}\nfunction wo(e) {\n if (!e.length) return null;\n let t = (a, l) => e.some(([c, u]) => !(u < a || c > l)), r = t(0, 255) || t(305, 305), n = t(256, 591) || t(7680, 7935), i = t(880, 1023), o = t(1024, 1279);\n return t(7840, 7929) || t(258, 259) || t(416, 417) || t(431, 432) ? \"vietnamese\" : o ? \"cyrillic\" : i ? \"greek\" : n ? \"latin-ext\" : r ? \"latin\" : null;\n}\nfunction Ot(e = {}) {\n let t = new Set((e.families || []).map((i) => String(i).toLowerCase())), r = new Set((e.domains || []).map((i) => String(i).toLowerCase())), n = new Set((e.subsets || []).map((i) => String(i).toLowerCase()));\n return (i, o) => {\n if (t.size && t.has(i.family.toLowerCase())) return !0;\n if (r.size) for (let a of i.srcUrls) try {\n if (r.has(new URL(a).host.toLowerCase())) return !0;\n } catch (l) {\n }\n if (n.size) {\n let a = wo(o);\n if (a && n.has(a)) return !0;\n }\n return !1;\n };\n}\nfunction bo(e) {\n var o, a, l, c, u, d;\n if (!e) return e;\n let t = /@font-face[^{}]*\\{[^}]*\\}/gi, r = /* @__PURE__ */ new Set(), n = [];\n for (let s of e.match(t) || []) {\n let f = ((o = s.match(/font-family:\\s*([^;]+);/i)) == null ? void 0 : o[1]) || \"\", p = ht(f), m = (((a = s.match(/font-weight:\\s*([^;]+);/i)) == null ? void 0 : a[1]) || \"400\").trim(), h = (((l = s.match(/font-style:\\s*([^;]+);/i)) == null ? void 0 : l[1]) || \"normal\").trim(), y = (((c = s.match(/font-stretch:\\s*([^;]+);/i)) == null ? void 0 : c[1]) || \"100%\").trim(), S = (((u = s.match(/unicode-range:\\s*([^;]+);/i)) == null ? void 0 : u[1]) || \"\").trim(), M = (((d = s.match(/src\\s*:\\s*([^;}]+)[;}]/i)) == null ? void 0 : d[1]) || \"\").trim(), g = pt(M, location.href), w = g.length ? g.map((b) => String(b).toLowerCase()).sort().join(\"|\") : M.toLowerCase(), C = [String(p || \"\").toLowerCase(), m, h, y, S.toLowerCase(), w].join(\"|\");\n r.has(C) || (r.add(C), n.push(s));\n }\n if (n.length === 0) return e;\n let i = 0;\n return e.replace(t, () => n[i++] || \"\");\n}\nfunction xo(e, t, r, n, i) {\n let o = Array.from(e || []).sort().join(\"|\"), a = t ? JSON.stringify({ families: (t.families || []).map((d) => String(d).toLowerCase()).sort(), domains: (t.domains || []).map((d) => String(d).toLowerCase()).sort(), subsets: (t.subsets || []).map((d) => String(d).toLowerCase()).sort() }) : \"\", l = (r || []).map((d) => `${(d.family || \"\").toLowerCase()}::${d.weight || \"normal\"}::${d.style || \"normal\"}::${d.src || \"\"}`).sort().join(\"|\"), c = n || \"\", u = (i || []).map((d) => String(d).toLowerCase()).sort().join(\"|\");\n return `fonts-embed-css::req=${o}::ex=${a}::lf=${l}::px=${c}::fd=${u}`;\n}\nasync function yr(e, t, r, n) {\n let i;\n try {\n i = e.cssRules || [];\n } catch (a) {\n return;\n }\n let o = (a, l) => {\n try {\n return new URL(a, l || location.href).href;\n } catch (c) {\n return a;\n }\n };\n for (let a of i) {\n if (a.type === CSSRule.IMPORT_RULE && a.styleSheet) {\n let l = a.href ? o(a.href, t) : t;\n if (n.depth >= qe) {\n console.warn(`[snapDOM] CSSOM import depth exceeded (${qe}) at ${l}`);\n continue;\n }\n if (l && n.visitedSheets.has(l)) {\n console.warn(`[snapDOM] Skipping circular CSSOM import: ${l}`);\n continue;\n }\n l && n.visitedSheets.add(l);\n let c = z(W({}, n), { depth: (n.depth || 0) + 1 });\n await yr(a.styleSheet, l, r, c);\n continue;\n }\n if (a.type === CSSRule.FONT_FACE_RULE) {\n let l = (a.style.getPropertyValue(\"font-family\") || \"\").trim(), c = ht(l);\n if (!c || de(c)) continue;\n let u = (a.style.getPropertyValue(\"font-weight\") || \"400\").trim(), d = (a.style.getPropertyValue(\"font-style\") || \"normal\").trim(), s = (a.style.getPropertyValue(\"font-stretch\") || \"100%\").trim(), f = (a.style.getPropertyValue(\"src\") || \"\").trim(), p = (a.style.getPropertyValue(\"unicode-range\") || \"\").trim();\n if (!n.faceMatchesRequired(c, d, u, s)) continue;\n let m = hr(p);\n if (!pr(n.usedCodepoints, m)) continue;\n let h = { family: c, weightSpec: u, styleSpec: d, stretchSpec: s, unicodeRange: p, srcRaw: f, srcUrls: pt(f, t || location.href), href: t || location.href };\n if (n.simpleExcluder && n.simpleExcluder(h, m)) continue;\n if (/url\\(/i.test(f)) {\n let y = await gr(f, t || location.href, n.useProxy);\n await r(`@font-face{font-family:${c};src:${y};font-style:${d};font-weight:${u};font-stretch:${s};${p ? `unicode-range:${p};` : \"\"}}`);\n } else await r(`@font-face{font-family:${c};src:${f};font-style:${d};font-weight:${u};font-stretch:${s};${p ? `unicode-range:${p};` : \"\"}}`);\n }\n }\n}\nasync function So({ required: e, usedCodepoints: t, exclude: r = void 0, localFonts: n = [], useProxy: i = \"\", fontStylesheetDomains: o = [] } = {}) {\n var y, S, M, g, w, C, b, v, x, $, E, U, j, _, B, V, te, re;\n e instanceof Set || (e = /* @__PURE__ */ new Set()), t instanceof Set || (t = /* @__PURE__ */ new Set());\n let a = /* @__PURE__ */ new Map();\n for (let k of e) {\n let [P, T, O, F] = String(k).split(\"__\");\n if (!P) continue;\n let L = a.get(P) || [];\n L.push({ w: parseInt(T, 10), s: O, st: parseInt(F, 10) }), a.set(P, L);\n }\n function l(k, P, T, O) {\n if (!a.has(k)) return !1;\n let F = a.get(k), L = co(T), I = uo(P), R = fo(O), Y = L.min !== L.max, X = L.min, ae = (H) => I.kind === \"normal\" && H === \"normal\" || I.kind !== \"normal\" && (H === \"italic\" || H === \"oblique\"), ne = !1;\n for (let H of F) {\n let J = Y ? H.w >= L.min && H.w <= L.max : H.w === X, Z = ae(De(H.s)), Ae = H.st >= R.min && H.st <= R.max;\n if (J && Z && Ae) {\n ne = !0;\n break;\n }\n }\n if (ne) return !0;\n if (!Y) for (let H of F) {\n let J = ae(De(H.s)), Z = H.st >= R.min && H.st <= R.max;\n if (Math.abs(X - H.w) <= 300 && J && Z) return !0;\n }\n if (!Y && I.kind === \"normal\" && F.some((H) => De(H.s) !== \"normal\")) for (let H of F) {\n let J = Math.abs(X - H.w) <= 300, Z = H.st >= R.min && H.st <= R.max;\n if (J && Z) return !0;\n }\n return !1;\n }\n let c = Ot(r), u = xo(e, r, n, i, o);\n if ((y = A.resource) != null && y.has(u)) return A.resource.get(u);\n let d = po(e), s = [], f = it;\n for (let k of document.querySelectorAll(\"style\")) {\n let P = k.textContent || \"\";\n for (let T of P.matchAll(f)) {\n let O = (T[2] || T[4] || \"\").trim();\n !O || de(O) || document.querySelector(`link[rel=\"stylesheet\"][href=\"${O}\"]`) || s.push(O);\n }\n }\n s.length && await Promise.all(s.map((k) => new Promise((P) => {\n if (document.querySelector(`link[rel=\"stylesheet\"][href=\"${k}\"]`)) return P(null);\n let T = document.createElement(\"link\");\n T.rel = \"stylesheet\", T.href = k, T.setAttribute(\"data-snapdom\", \"injected-import\"), T.onload = () => P(T), T.onerror = () => P(null), document.head.appendChild(T);\n })));\n let p = \"\", m = Array.from(document.querySelectorAll('link[rel=\"stylesheet\"]')).filter((k) => !!k.href);\n for (let k of m) try {\n if (de(k.href)) continue;\n let P = \"\", T = !1;\n try {\n T = new URL(k.href, location.href).origin === location.origin;\n } catch (F) {\n }\n if (!T) {\n let F = Array.isArray(o) ? o : [];\n if (!ho(k.href, d, F)) continue;\n }\n if (T) {\n let F = Array.from(document.styleSheets).find((L) => L.href === k.href);\n if (F) try {\n let L = F.cssRules || [];\n P = Array.from(L).map((I) => I.cssText).join(\"\");\n } catch (L) {\n }\n }\n if (!P) {\n let F = await oe(k.href, { as: \"text\", useProxy: i });\n if (F != null && F.ok && typeof F.data == \"string\" && (P = F.data), de(k.href)) continue;\n }\n P = await go(P, k.href, i);\n let O = \"\";\n for (let F of P.match(yo) || []) {\n let L = (((S = F.match(/font-family:\\s*([^;]+);/i)) == null ? void 0 : S[1]) || \"\").trim(), I = ht(L);\n if (!I || de(I)) continue;\n let R = (((M = F.match(/font-weight:\\s*([^;]+);/i)) == null ? void 0 : M[1]) || \"400\").trim(), Y = (((g = F.match(/font-style:\\s*([^;]+);/i)) == null ? void 0 : g[1]) || \"normal\").trim(), X = (((w = F.match(/font-stretch:\\s*([^;]+);/i)) == null ? void 0 : w[1]) || \"100%\").trim(), ae = (((C = F.match(/unicode-range:\\s*([^;]+);/i)) == null ? void 0 : C[1]) || \"\").trim(), ne = (((b = F.match(/src\\s*:\\s*([^;}]+)[;}]/i)) == null ? void 0 : b[1]) || \"\").trim(), H = pt(ne, k.href);\n if (!l(I, Y, R, X)) continue;\n let J = hr(ae);\n if (!pr(t, J)) continue;\n let Z = { family: I, weightSpec: R, styleSpec: Y, stretchSpec: X, unicodeRange: ae, srcRaw: ne, srcUrls: H, href: k.href };\n if (r && c(Z, J)) continue;\n let Ae = /url\\(/i.test(ne) ? await gr(F, k.href, i) : F;\n O += Ae;\n }\n O.trim() && (p += O);\n } catch (P) {\n console.warn(\"[snapDOM] Failed to process stylesheet:\", k.href);\n }\n let h = { requiredIndex: a, usedCodepoints: t, faceMatchesRequired: l, simpleExcluder: r ? Ot(r) : null, useProxy: i, visitedSheets: /* @__PURE__ */ new Set(), depth: 0 };\n for (let k of document.styleSheets) if (!(k.href && m.some((P) => P.href === k.href))) try {\n let P = k.href || location.origin + \"/\";\n P && h.visitedSheets.add(P), await yr(k, P, async (T) => {\n p += T;\n }, h);\n } catch (P) {\n }\n try {\n for (let k of document.fonts || []) {\n if (!k || !k.family || k.status !== \"loaded\" || !k._snapdomSrc) continue;\n let P = String(k.family).replace(/^['\"]+|['\"]+$/g, \"\");\n if (de(P) || !a.has(P) || r != null && r.families && r.families.some((O) => String(O).toLowerCase() === P.toLowerCase())) continue;\n let T = k._snapdomSrc;\n if (!String(T).startsWith(\"data:\")) {\n if ((v = A.resource) != null && v.has(k._snapdomSrc)) T = A.resource.get(k._snapdomSrc), (x = A.font) == null || x.add(k._snapdomSrc);\n else if (!(($ = A.font) != null && $.has(k._snapdomSrc))) try {\n let O = await oe(k._snapdomSrc, { as: \"dataURL\", useProxy: i, silent: !0 });\n if (O.ok && typeof O.data == \"string\") T = O.data, (E = A.resource) == null || E.set(k._snapdomSrc, T), (U = A.font) == null || U.add(k._snapdomSrc);\n else continue;\n } catch (O) {\n console.warn(\"[snapDOM] Failed to fetch dynamic font src:\", k._snapdomSrc);\n continue;\n }\n }\n p += `@font-face{font-family:'${P}';src:url(${T});font-style:${k.style || \"normal\"};font-weight:${k.weight || \"normal\"};}`;\n }\n } catch (k) {\n }\n for (let k of n) {\n if (!k || typeof k != \"object\") continue;\n let P = String(k.family || \"\").replace(/^['\"]+|['\"]+$/g, \"\");\n if (!P || de(P) || !a.has(P) || r != null && r.families && r.families.some((R) => String(R).toLowerCase() === P.toLowerCase())) continue;\n let T = k.weight != null ? String(k.weight) : \"normal\", O = k.style != null ? String(k.style) : \"normal\", F = k.stretchPct != null ? `${k.stretchPct}%` : \"100%\", L = String(k.src || \"\"), I = L;\n if (!I.startsWith(\"data:\")) {\n if ((j = A.resource) != null && j.has(L)) I = A.resource.get(L), (_ = A.font) == null || _.add(L);\n else if (!((B = A.font) != null && B.has(L))) try {\n let R = await oe(L, { as: \"dataURL\", useProxy: i, silent: !0 });\n if (R.ok && typeof R.data == \"string\") I = R.data, (V = A.resource) == null || V.set(L, I), (te = A.font) == null || te.add(L);\n else continue;\n } catch (R) {\n console.warn(\"[snapDOM] Failed to fetch localFonts src:\", L);\n continue;\n }\n }\n p += `@font-face{font-family:'${P}';src:url(${I});font-style:${O};font-weight:${T};font-stretch:${F};}`;\n }\n return p && (p = bo(p), (re = A.resource) == null || re.set(u, p)), p;\n}\nfunction wr(e) {\n let t = /* @__PURE__ */ new Set();\n if (!e) return t;\n let r = document.createTreeWalker(e, NodeFilter.SHOW_ELEMENT, null), n = (a) => {\n let l = lo(a.fontFamily);\n if (l.length) for (let c of l) {\n let u = (d, s, f) => `${c}__${He(d)}__${De(s)}__${so(f)}`;\n t.add(u(a.fontWeight, a.fontStyle, a.fontStretch));\n }\n };\n n(getComputedStyle(e));\n let i = getComputedStyle(e, \"::before\");\n i && i.content && i.content !== \"none\" && n(i);\n let o = getComputedStyle(e, \"::after\");\n for (o && o.content && o.content !== \"none\" && n(o); r.nextNode(); ) {\n let a = r.currentNode, l = getComputedStyle(a);\n n(l);\n let c = getComputedStyle(a, \"::before\");\n c && c.content && c.content !== \"none\" && n(c);\n let u = getComputedStyle(a, \"::after\");\n u && u.content && u.content !== \"none\" && n(u);\n }\n return t;\n}\nfunction Co(e) {\n var i;\n let t = /* @__PURE__ */ new Set(), r = (o) => {\n if (o) for (let a of o) t.add(a.codePointAt(0));\n }, n = document.createTreeWalker(e, NodeFilter.SHOW_ELEMENT | NodeFilter.SHOW_TEXT, null);\n for (; n.nextNode(); ) {\n let o = n.currentNode;\n if (o.nodeType === Node.TEXT_NODE) r(o.nodeValue || \"\");\n else if (o.nodeType === Node.ELEMENT_NODE) {\n let a = o;\n for (let l of [\"::before\", \"::after\"]) {\n let c = (i = getComputedStyle(a, l)) == null ? void 0 : i.getPropertyValue(\"content\");\n if (!(!c || c === \"none\")) if (/^\"/.test(c) || /^'/.test(c)) r(c.slice(1, -1));\n else {\n let u = c.match(/\\\\[0-9A-Fa-f]{1,6}/g);\n if (u) for (let d of u) try {\n t.add(parseInt(d.slice(1), 16));\n } catch (s) {\n }\n }\n }\n }\n }\n return t;\n}\nasync function br(e, t = 2) {\n try {\n await document.fonts.ready;\n } catch (i) {\n }\n let r = Array.from(e || []).filter(Boolean);\n if (r.length === 0) return;\n let n = () => {\n let i = document.createElement(\"div\");\n i.style.cssText = \"position:absolute!important;left:-9999px!important;top:0!important;opacity:0!important;pointer-events:none!important;contain:layout size style;\";\n for (let o of r) {\n let a = document.createElement(\"span\");\n a.textContent = \"AaBbGg1234ÁÉÍÓÚçñ—∞\", a.style.fontFamily = `\"${o}\"`, a.style.fontWeight = \"700\", a.style.fontStyle = \"italic\", a.style.fontSize = \"32px\", a.style.lineHeight = \"1\", a.style.whiteSpace = \"nowrap\", a.style.margin = \"0\", a.style.padding = \"0\", i.appendChild(a);\n }\n document.body.appendChild(i), i.offsetWidth, document.body.removeChild(i);\n };\n for (let i = 0; i < Math.max(1, t); i++) n(), await new Promise((o) => requestAnimationFrame(() => requestAnimationFrame(o)));\n}\nie();\nfunction vo(e) {\n return /\\bcounter\\s*\\(|\\bcounters\\s*\\(/.test(e || \"\");\n}\nfunction ko(e) {\n return (e || \"\").replace(/\"([^\"]*)\"/g, \"$1\");\n}\nfunction jt(e, t = !1) {\n let r = \"\", n = Math.max(1, e);\n for (; n > 0; ) n--, r = String.fromCharCode(97 + n % 26) + r, n = Math.floor(n / 26);\n return t ? r.toUpperCase() : r;\n}\nfunction Ht(e, t = !0) {\n let r = [[1e3, \"M\"], [900, \"CM\"], [500, \"D\"], [400, \"CD\"], [100, \"C\"], [90, \"XC\"], [50, \"L\"], [40, \"XL\"], [10, \"X\"], [9, \"IX\"], [5, \"V\"], [4, \"IV\"], [1, \"I\"]], n = Math.max(1, Math.min(3999, e)), i = \"\";\n for (let [o, a] of r) for (; n >= o; ) i += a, n -= o;\n return t ? i : i.toLowerCase();\n}\nfunction Dt(e, t) {\n switch ((t || \"decimal\").toLowerCase()) {\n case \"decimal\":\n return String(e);\n case \"decimal-leading-zero\": {\n let r = Math.abs(e);\n return (e < 0 ? \"-\" : \"\") + (r < 10 ? \"0\" : \"\") + String(r);\n }\n case \"lower-alpha\":\n return jt(e, !1);\n case \"upper-alpha\":\n return jt(e, !0);\n case \"lower-roman\":\n return Ht(e, !1);\n case \"upper-roman\":\n return Ht(e, !0);\n default:\n return String(e);\n }\n}\nfunction Ao(e) {\n let t = () => {\n var f, p;\n return (p = (f = A == null ? void 0 : A.session) == null ? void 0 : f.__counterEpoch) != null ? p : 0;\n }, r = t(), n = /* @__PURE__ */ new WeakMap(), i = e instanceof Document ? e.documentElement : e, o = (f) => f && f.tagName === \"LI\", a = (f) => {\n let p = 0, m = f == null ? void 0 : f.parentElement;\n if (!m) return 0;\n for (let h of m.children) {\n if (h === f) break;\n h.tagName === \"LI\" && p++;\n }\n return p;\n }, l = (f) => {\n let p = /* @__PURE__ */ new Map();\n for (let [m, h] of f) p.set(m, h.slice());\n return p;\n }, c = (f, p, m) => {\n var g, w, C;\n let h = l(f), y;\n try {\n y = ((g = m.style) == null ? void 0 : g.counterReset) || getComputedStyle(m).counterReset;\n } catch (b) {\n }\n if (y && y !== \"none\") for (let b of y.split(\",\")) {\n let v = b.trim().split(/\\s+/), x = v[0], $ = Number.isFinite(Number(v[1])) ? Number(v[1]) : 0;\n if (!x) continue;\n let E = p.get(x);\n if (E && E.length) {\n let U = E.slice();\n U.push($), h.set(x, U);\n } else h.set(x, [$]);\n }\n let S;\n try {\n S = ((w = m.style) == null ? void 0 : w.counterSet) || getComputedStyle(m).counterSet;\n } catch (b) {\n }\n if (S && S !== \"none\") for (let b of S.split(\",\")) {\n let v = b.trim().split(/\\s+/), x = v[0], $ = Number.isFinite(Number(v[1])) ? Number(v[1]) : 0;\n if (!x) continue;\n let E = h.get(x) || [];\n E.length === 0 && E.push(0), E[E.length - 1] = $, h.set(x, E);\n }\n let M;\n try {\n M = ((C = m.style) == null ? void 0 : C.counterIncrement) || getComputedStyle(m).counterIncrement;\n } catch (b) {\n }\n if (M && M !== \"none\") for (let b of M.split(\",\")) {\n let v = b.trim().split(/\\s+/), x = v[0], $ = Number.isFinite(Number(v[1])) ? Number(v[1]) : 1;\n if (!x) continue;\n let E = h.get(x) || [];\n E.length === 0 && E.push(0), E[E.length - 1] += $, h.set(x, E);\n }\n try {\n if (getComputedStyle(m).display === \"list-item\" && o(m)) {\n let b = m.parentElement, v = 1;\n if (b && b.tagName === \"OL\") {\n let $ = b.getAttribute(\"start\"), E = Number.isFinite(Number($)) ? Number($) : 1, U = a(m), j = m.getAttribute(\"value\");\n v = Number.isFinite(Number(j)) ? Number(j) : E + U;\n } else v = 1 + a(m);\n let x = h.get(\"list-item\") || [];\n x.length === 0 && x.push(0), x[x.length - 1] = v, h.set(\"list-item\", x);\n }\n } catch (b) {\n }\n return h;\n }, u = (f, p, m) => {\n let h = c(m, p, f);\n n.set(f, h);\n let y = h;\n for (let M of f.children) y = u(M, h, y);\n let S = /* @__PURE__ */ new Map();\n for (let [M, g] of m) {\n let w = g.length, C = y.get(M);\n S.set(M, C && C.length ? C.slice(0, w) : g.slice());\n }\n for (let [M, g] of y) !S.has(M) && g.length && !p.has(M) && S.set(M, g.slice(0, 1));\n return S;\n }, d = /* @__PURE__ */ new Map();\n u(i, d, d);\n function s() {\n let f = t();\n if (f !== r) {\n r = f;\n let p = /* @__PURE__ */ new Map();\n u(i, p, p);\n }\n }\n return { get(f, p) {\n var h;\n s();\n let m = (h = n.get(f)) == null ? void 0 : h.get(p);\n return m && m.length ? m[m.length - 1] : 0;\n }, getStack(f, p) {\n var h;\n s();\n let m = (h = n.get(f)) == null ? void 0 : h.get(p);\n return m ? m.slice() : [];\n } };\n}\nfunction Mo(e, t, r) {\n if (!e || e === \"none\") return e;\n try {\n let n = /\\b(counter|counters)\\s*\\(([^)]+)\\)/g, i = e.replace(n, (o, a, l) => {\n var u, d, s, f;\n let c = String(l).split(\",\").map((p) => p.trim());\n if (a === \"counter\") {\n let p = (u = c[0]) == null ? void 0 : u.replace(/^[\"']|[\"']$/g, \"\"), m = (c[1] || \"decimal\").toLowerCase(), h = r.get(t, p);\n return Dt(h, m);\n } else {\n let p = (d = c[0]) == null ? void 0 : d.replace(/^[\"']|[\"']$/g, \"\"), m = (f = (s = c[1]) == null ? void 0 : s.replace(/^[\"']|[\"']$/g, \"\")) != null ? f : \"\", h = (c[2] || \"decimal\").toLowerCase(), y = r.getStack(t, p);\n return y.length ? y.map((S) => Dt(S, h)).join(m) : \"\";\n }\n });\n return ko(i);\n } catch (n) {\n return \"- \";\n }\n}\nke();\nie();\nvar Se = /* @__PURE__ */ new WeakMap(), Bt = 1e3;\nfunction $o(e, t) {\n let r = xr(e);\n return t ? (t.__pseudoPreflightFp !== r && (t.__pseudoPreflight = Vt(e), t.__pseudoPreflightFp = r), !!t.__pseudoPreflight) : Vt(e);\n}\nfunction at(e) {\n try {\n return e && e.cssRules ? e.cssRules : null;\n } catch (t) {\n return null;\n }\n}\nfunction xr(e) {\n let t = e.querySelectorAll('style,link[rel~=\"stylesheet\"]'), r = `n:${t.length}|`, n = 0;\n for (let o = 0; o < t.length; o++) {\n let a = t[o];\n if (a.tagName === \"STYLE\") {\n let l = a.textContent ? a.textContent.length : 0;\n r += `S${l}|`;\n let c = a.sheet, u = c ? at(c) : null;\n u && (n += u.length);\n } else {\n let l = a.getAttribute(\"href\") || \"\", c = a.getAttribute(\"media\") || \"all\";\n r += `L${l}|m:${c}|`;\n let u = a.sheet, d = u ? at(u) : null;\n d && (n += d.length);\n }\n }\n let i = e.adoptedStyleSheets;\n return r += `ass:${Array.isArray(i) ? i.length : 0}|tr:${n}`, r;\n}\nfunction qt(e, t, r) {\n let n = at(e);\n if (!n) return !1;\n for (let i = 0; i < n.length; i++) {\n if (r.budget <= 0) return !1;\n let o = n[i], a = o && o.cssText ? o.cssText : \"\";\n r.budget--;\n for (let l of t) if (a.includes(l)) return !0;\n if (o && o.cssRules && o.cssRules.length) for (let l = 0; l < o.cssRules.length && r.budget > 0; l++) {\n let c = o.cssRules[l], u = c && c.cssText ? c.cssText : \"\";\n r.budget--;\n for (let d of t) if (u.includes(d)) return !0;\n }\n if (r.budget <= 0) return !1;\n }\n return !1;\n}\nfunction Vt(e = document) {\n let t = xr(e), r = Se.get(e);\n if (r && r.fingerprint === t) return r.result;\n let n = [\"::before\", \"::after\", \"::first-letter\", \":before\", \":after\", \":first-letter\", \"counter(\", \"counters(\", \"counter-increment\", \"counter-reset\"], i = e.querySelectorAll(\"style\");\n for (let a = 0; a < i.length; a++) {\n let l = i[a].textContent || \"\";\n for (let c of n) if (l.includes(c)) return Se.set(e, { fingerprint: t, result: !0 }), !0;\n }\n let o = e.adoptedStyleSheets;\n if (Array.isArray(o) && o.length) {\n let a = { budget: Bt };\n try {\n for (let l of o) if (qt(l, n, a)) return Se.set(e, { fingerprint: t, result: !0 }), !0;\n } catch (l) {\n }\n }\n {\n let a = e.querySelectorAll('style,link[rel~=\"stylesheet\"]'), l = { budget: Bt };\n for (let c = 0; c < a.length && l.budget > 0; c++) {\n let u = a[c], d = null;\n if (u.tagName, d = u.sheet || null, d && qt(d, n, l)) return Se.set(e, { fingerprint: t, result: !0 }), !0;\n }\n }\n return e.querySelector('[style*=\"counter(\"], [style*=\"counters(\"]') ? (Se.set(e, { fingerprint: t, result: !0 }), !0) : (Se.set(e, { fingerprint: t, result: !1 }), !1);\n}\nvar ve = /* @__PURE__ */ new WeakMap(), zt = -1;\nfunction Eo(e) {\n return (e || \"\").replace(/\"([^\"]*)\"/g, \"$1\");\n}\nfunction Fo(e) {\n if (!e) return \"\";\n let t = [], r = /\"([^\"]*)\"/g, n;\n for (; n = r.exec(e); ) t.push(n[1]);\n return t.length ? t.join(\"\") : Eo(e);\n}\nfunction lt(e, t) {\n let r = e.parentElement, n = r ? ve.get(r) : null;\n return n ? { get(i, o) {\n let a = t.get(i, o), l = n.get(o);\n return typeof l == \"number\" ? Math.max(a, l) : a;\n }, getStack(i, o) {\n let a = t.getStack(i, o);\n if (!a.length) return a;\n let l = n.get(o);\n if (typeof l == \"number\") {\n let c = a.slice();\n return c[c.length - 1] = Math.max(c[c.length - 1], l), c;\n }\n return a;\n } } : t;\n}\nfunction st(e, t, r) {\n let n = /* @__PURE__ */ new Map();\n function i(c) {\n let u = [];\n if (!c || c === \"none\") return u;\n for (let d of String(c).split(\",\")) {\n let s = d.trim().split(/\\s+/), f = s[0], p = Number.isFinite(Number(s[1])) ? Number(s[1]) : void 0;\n f && u.push({ name: f, num: p });\n }\n return u;\n }\n let o = i(t == null ? void 0 : t.counterReset), a = i(t == null ? void 0 : t.counterIncrement);\n function l(c) {\n if (n.has(c)) return n.get(c).slice();\n let u = r.getStack(e, c);\n u = u.length ? u.slice() : [];\n let d = o.find((f) => f.name === c);\n if (d) {\n let f = Number.isFinite(d.num) ? d.num : 0;\n u = u.length ? [...u, f] : [f];\n }\n let s = a.find((f) => f.name === c);\n if (s) {\n let f = Number.isFinite(s.num) ? s.num : 1;\n u.length === 0 && (u = [0]), u[u.length - 1] += f;\n }\n return n.set(c, u.slice()), u;\n }\n return { get(c, u) {\n let d = l(u);\n return d.length ? d[d.length - 1] : 0;\n }, getStack(c, u) {\n return l(u);\n }, __incs: a };\n}\nfunction No(e, t, r) {\n let n;\n try {\n n = me(e, t);\n } catch (c) {\n }\n let i = n == null ? void 0 : n.content;\n if (!i || i === \"none\" || i === \"normal\") return { text: \"\", incs: [] };\n let o = lt(e, r), a = st(e, n, o), l = vo(i) ? Mo(i, e, a) : i;\n return { text: Fo(l), incs: a.__incs || [] };\n}\nasync function ct(e, t, r, n) {\n var c, u, d, s, f;\n if (!(e instanceof Element) || !(t instanceof Element)) return;\n let i = e.ownerDocument || document;\n if (!$o(i, r)) return;\n let o = (u = (c = A == null ? void 0 : A.session) == null ? void 0 : c.__counterEpoch) != null ? u : 0;\n if (zt !== o && (ve = /* @__PURE__ */ new WeakMap(), r && (r.__counterCtx = null), zt = o), !r.__counterCtx) try {\n r.__counterCtx = Ao(e.ownerDocument || document);\n } catch (p) {\n D(r, \"buildCounterContext failed\", p);\n }\n let a = r.__counterCtx;\n for (let p of [\"::before\", \"::after\", \"::first-letter\"]) try {\n let m = me(e, p);\n if (!m || m.content === \"none\" && m.backgroundImage === \"none\" && m.backgroundColor === \"transparent\" && (m.borderStyle === \"none\" || parseFloat(m.borderWidth) === 0) && (!m.transform || m.transform === \"none\") && m.display === \"inline\") continue;\n if (p === \"::first-letter\") {\n let F = me(e);\n if (!(m.color !== F.color || m.fontSize !== F.fontSize || m.fontWeight !== F.fontWeight || m.fontFamily !== F.fontFamily || m.fontStyle !== F.fontStyle || m.textTransform !== F.textTransform || m.float !== F.float || m.paddingTop !== F.paddingTop || m.paddingRight !== F.paddingRight || m.paddingBottom !== F.paddingBottom || m.paddingLeft !== F.paddingLeft || m.marginTop !== F.marginTop || m.marginRight !== F.marginRight || m.marginBottom !== F.marginBottom || m.marginLeft !== F.marginLeft)) continue;\n let L = Array.from(t.childNodes).find((J) => {\n var Z;\n return J.nodeType === Node.TEXT_NODE && ((Z = J.textContent) == null ? void 0 : Z.trim().length) > 0;\n });\n if (!L) continue;\n let I = L.textContent, R = (d = I.match(/^([^\\p{L}\\p{N}\\s]*[\\p{L}\\p{N}](?:['’])?)/u)) == null ? void 0 : d[0], Y = I.slice((R == null ? void 0 : R.length) || 0);\n if (!R || /[\\uD800-\\uDFFF]/.test(R)) continue;\n let X = document.createElement(\"span\");\n X.textContent = R, X.dataset.snapdomPseudo = \"::first-letter\";\n let ae = Et(m), ne = et(ae, \"span\");\n r.styleMap.set(X, ne);\n let H = document.createTextNode(Y);\n t.replaceChild(H, L), t.insertBefore(X, H);\n continue;\n }\n let h = (s = m.content) != null ? s : \"\", y = h === \"\" || h === \"none\" || h === \"normal\", { text: S, incs: M } = No(e, p, a), g = m.backgroundImage, w = m.backgroundColor, C = m.fontFamily, b = parseInt(m.fontSize) || 32, v = parseInt(m.fontWeight) || !1, x = m.color || \"#000\", $ = m.borderStyle, E = parseFloat(m.borderWidth), U = m.transform, j = de(C), _ = !y && S !== \"\", B = g && g !== \"none\", V = w && w !== \"transparent\" && w !== \"rgba(0, 0, 0, 0)\", te = $ && $ !== \"none\" && E > 0, re = U && U !== \"none\";\n if (!(_ || B || V || te || re)) {\n if (M && M.length && e.parentElement) {\n let F = ve.get(e.parentElement) || /* @__PURE__ */ new Map();\n for (let { name: L } of M) {\n if (!L) continue;\n let I = lt(e, a), R = st(e, me(e, p), I).get(e, L);\n F.set(L, R);\n }\n ve.set(e.parentElement, F);\n }\n continue;\n }\n let k = document.createElement(\"span\");\n k.dataset.snapdomPseudo = p, k.style.pointerEvents = \"none\";\n let P = Et(m), T = et(P, \"span\");\n if (r.styleMap.set(k, T), j && S && S.length === 1) {\n let { dataUrl: F, width: L, height: I } = await io(S, C, v, b, x), R = document.createElement(\"img\");\n R.src = F, R.style = `height:${b}px;width:${L / I * b}px;object-fit:contain;`, k.appendChild(R), t.dataset.snapdomHasIcon = \"true\";\n } else if (S && S.startsWith(\"url(\")) {\n let F = ft(S);\n if (F != null && F.trim()) try {\n let L = await oe(Be(F), { as: \"dataURL\", useProxy: n.useProxy });\n if (L != null && L.ok && typeof L.data == \"string\") {\n let I = document.createElement(\"img\");\n I.src = L.data, I.style = `width:${b}px;height:auto;object-fit:contain;`, k.appendChild(I);\n }\n } catch (L) {\n console.error(`[snapdom] Error in pseudo ${p} for`, e, L);\n }\n } else !j && _ && (k.textContent = S);\n k.style.backgroundImage = \"none\", \"maskImage\" in k.style && (k.style.maskImage = \"none\"), \"webkitMaskImage\" in k.style && (k.style.webkitMaskImage = \"none\");\n try {\n k.style.backgroundRepeat = m.backgroundRepeat, k.style.backgroundSize = m.backgroundSize, m.backgroundPositionX && m.backgroundPositionY ? (k.style.backgroundPositionX = m.backgroundPositionX, k.style.backgroundPositionY = m.backgroundPositionY) : k.style.backgroundPosition = m.backgroundPosition, k.style.backgroundOrigin = m.backgroundOrigin, k.style.backgroundClip = m.backgroundClip, k.style.backgroundAttachment = m.backgroundAttachment, k.style.backgroundBlendMode = m.backgroundBlendMode;\n } catch (F) {\n }\n if (B) try {\n let F = tt(g), L = await Promise.all(F.map(Kt));\n k.style.backgroundImage = L.join(\", \");\n } catch (F) {\n console.warn(`[snapdom] Failed to inline background-image for ${p}`, F);\n }\n V && (k.style.backgroundColor = w);\n let O = k.childNodes.length > 0 || ((f = k.textContent) == null ? void 0 : f.trim()) !== \"\" || B || V || te || re;\n if (M && M.length && e.parentElement) {\n let F = ve.get(e.parentElement) || /* @__PURE__ */ new Map(), L = lt(e, a), I = st(e, me(e, p), L);\n for (let { name: R } of M) {\n if (!R) continue;\n let Y = I.get(e, R);\n F.set(R, Y);\n }\n ve.set(e.parentElement, F);\n }\n if (!O) continue;\n p === \"::before\" ? (t.dataset.snapdomHasBefore = \"1\", t.insertBefore(k, t.firstChild)) : (t.dataset.snapdomHasAfter = \"1\", t.appendChild(k));\n } catch (m) {\n console.warn(`[snapdom] Failed to capture ${p} for`, e, m);\n }\n let l = Array.from(t.children).filter((p) => !p.dataset.snapdomPseudo);\n if (r.nodeMap) for (let p of l) {\n let m = r.nodeMap.get(p);\n m instanceof Element && await ct(m, p, r, n);\n }\n else {\n let p = Array.from(e.children);\n for (let m = 0; m < Math.min(p.length, l.length); m++) await ct(p[m], l[m], r, n);\n }\n}\nfunction Lo(e, t) {\n var w, C;\n if (!e || !(e instanceof Element)) return;\n let r = e.ownerDocument || document, n = r, i = e instanceof SVGSVGElement ? [e] : Array.from(e.querySelectorAll(\"svg\"));\n if (i.length === 0) return;\n let o = /url\\(\\s*#([^)]+)\\)/g, a = [\"fill\", \"stroke\", \"filter\", \"clip-path\", \"mask\", \"marker\", \"marker-start\", \"marker-mid\", \"marker-end\"], l = (b) => window.CSS && CSS.escape ? CSS.escape(b) : b.replace(/[^a-zA-Z0-9_-]/g, \"\\\\$&\"), c = \"http://www.w3.org/1999/xlink\", u = (b) => {\n if (!b || !b.getAttribute) return null;\n let v = b.getAttribute(\"href\") || b.getAttribute(\"xlink:href\") || (typeof b.getAttributeNS == \"function\" ? b.getAttributeNS(c, \"href\") : null);\n if (v) return v;\n let x = b.attributes;\n if (!x) return null;\n for (let $ = 0; $ < x.length; $++) {\n let E = x[$];\n if (!E || !E.name) continue;\n if (E.name === \"href\") return E.value;\n let U = E.name.indexOf(\":\");\n if (U !== -1 && E.name.slice(U + 1) === \"href\") return E.value;\n }\n return null;\n }, d = new Set(Array.from(e.querySelectorAll(\"[id]\")).map((b) => b.id)), s = /* @__PURE__ */ new Set(), f = !1, p = (b, v = null) => {\n if (!b) return;\n o.lastIndex = 0;\n let x;\n for (; x = o.exec(b); ) {\n f = !0;\n let $ = (x[1] || \"\").trim();\n $ && (d.has($) || (s.add($), v && !v.has($) && v.add($)));\n }\n }, m = (b) => {\n let v = b.querySelectorAll(\"use\");\n for (let $ of v) {\n let E = u($);\n if (!E || !E.startsWith(\"#\")) continue;\n f = !0;\n let U = E.slice(1).trim();\n U && !d.has(U) && s.add(U);\n }\n let x = b.querySelectorAll('*[style*=\"url(\"],*[fill^=\"url(\"], *[stroke^=\"url(\"],*[filter^=\"url(\"],*[clip-path^=\"url(\"],*[mask^=\"url(\"],*[marker^=\"url(\"],*[marker-start^=\"url(\"],*[marker-mid^=\"url(\"],*[marker-end^=\"url(\"]');\n for (let $ of x) {\n p($.getAttribute(\"style\") || \"\");\n for (let E of a) p($.getAttribute(E));\n }\n };\n for (let b of i) m(b);\n if (!f) return;\n let h = e.querySelector(\"svg.inline-defs-container\");\n h || (h = r.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\"), h.classList.add(\"inline-defs-container\"), h.setAttribute(\"aria-hidden\", \"true\"), h.setAttribute(\"style\", \"position:absolute;width:0;height:0;overflow:hidden\"), e.insertBefore(h, e.firstChild || null));\n let y = h.querySelector(\"defs\") || null, S = (b) => {\n if (!b || d.has(b)) return null;\n let v = l(b), x = ($) => {\n let E = n.querySelector($);\n return E && !e.contains(E) ? E : null;\n };\n return x(`svg defs > *#${v}`) || x(`svg > symbol#${v}`) || x(`*#${v}`);\n };\n if (!s.size) return;\n let M = new Set(s), g = /* @__PURE__ */ new Set();\n for (; M.size; ) {\n let b = M.values().next().value;\n if (M.delete(b), !b || d.has(b) || g.has(b)) continue;\n let v = S(b);\n if (!v) {\n g.add(b);\n continue;\n }\n y || (y = r.createElementNS(\"http://www.w3.org/2000/svg\", \"defs\"), h.appendChild(y));\n let x = v.cloneNode(!0);\n x.id || x.setAttribute(\"id\", b), y.appendChild(x), g.add(b), d.add(b);\n let $ = [x, ...x.querySelectorAll(\"*\")];\n for (let E of $) {\n let U = u(E);\n if (U && U.startsWith(\"#\")) {\n let _ = U.slice(1).trim();\n _ && !d.has(_) && !g.has(_) && M.add(_);\n }\n let j = ((w = E.getAttribute) == null ? void 0 : w.call(E, \"style\")) || \"\";\n j && p(j, M);\n for (let _ of a) {\n let B = (C = E.getAttribute) == null ? void 0 : C.call(E, _);\n B && p(B, M);\n }\n }\n }\n}\nie();\nfunction Po(e, t) {\n var l;\n if (!e || !t) return;\n let r = e.scrollTop || 0;\n if (!r) return;\n getComputedStyle(t).position === \"static\" && (t.style.position = \"relative\");\n let n = e.getBoundingClientRect(), i = e.clientHeight, o = \"data-snap-ph\", a = document.createTreeWalker(e, NodeFilter.SHOW_ELEMENT);\n for (; a.nextNode(); ) {\n let c = a.currentNode, u = getComputedStyle(c), d = u.position;\n if (d !== \"sticky\" && d !== \"-webkit-sticky\") continue;\n let s = Xt(u.top), f = Xt(u.bottom);\n if (s == null && f == null) continue;\n let p = Ro(c, e), m = To(t, p, o);\n if (!m) continue;\n let h = c.getBoundingClientRect(), y = h.width, S = h.height, M = h.left - n.left;\n if (!(y > 0 && S > 0) || !Number.isFinite(M)) continue;\n let g = s != null ? s + r : r + (i - S - f);\n if (!Number.isFinite(g)) continue;\n let w = Number.parseInt(u.zIndex, 10), C = Number.isFinite(w), b = C ? Math.max(w, 1) + 1 : 2, v = C ? w - 1 : 0, x = m.cloneNode(!1);\n x.setAttribute(o, \"1\"), x.style.position = \"sticky\", x.style.left = `${M}px`, x.style.top = `${g}px`, x.style.width = `${y}px`, x.style.height = `${S}px`, x.style.visibility = \"hidden\", x.style.zIndex = String(v), x.style.overflow = \"hidden\", x.style.background = \"transparent\", x.style.boxShadow = \"none\", x.style.filter = \"none\", (l = m.parentElement) == null || l.insertBefore(x, m), m.style.position = \"absolute\", m.style.left = `${M}px`, m.style.top = `${g}px`, m.style.bottom = \"auto\", m.style.zIndex = String(b), m.style.pointerEvents = \"none\";\n }\n}\nfunction Xt(e) {\n if (!e || e === \"auto\") return null;\n let t = Number.parseFloat(e);\n return Number.isFinite(t) ? t : null;\n}\nfunction Ro(e, t) {\n let r = [];\n for (let n = e; n && n !== t; ) {\n let i = n.parentElement;\n if (!i) break;\n r.push(Array.prototype.indexOf.call(i.children, n)), n = i;\n }\n return r.reverse();\n}\nfunction To(e, t, r) {\n let n = e;\n for (let i = 0; i < t.length; i++) if (n = Wo(n, r)[t[i]], !n) return null;\n return n instanceof HTMLElement ? n : null;\n}\nfunction Wo(e, t) {\n let r = [], n = e.children;\n for (let i = 0; i < n.length; i++) {\n let o = n[i];\n o.hasAttribute(t) || r.push(o);\n }\n return r;\n}\nfunction Io(e) {\n let t = getComputedStyle(e), r = t.outlineStyle, n = t.outlineWidth, i = t.borderStyle, o = t.borderWidth, a = r !== \"none\" && parseFloat(n) > 0, l = i === \"none\" || parseFloat(o) === 0;\n a && l && (e.style.border = `${n} solid transparent`);\n}\nfunction _o(e) {\n let t = [];\n try {\n let r = e.querySelectorAll(\"*\");\n for (let n of r) {\n if (!(n instanceof HTMLElement)) continue;\n let i = n.style.contentVisibility || \"\", o = getComputedStyle(n), a = o.contentVisibility || o.getPropertyValue(\"content-visibility\") || \"\";\n (a === \"auto\" || a === \"hidden\") && (t.push({ el: n, original: i }), n.style.contentVisibility = \"visible\");\n }\n if (e instanceof HTMLElement) {\n let n = getComputedStyle(e), i = n.contentVisibility || n.getPropertyValue(\"content-visibility\") || \"\";\n (i === \"auto\" || i === \"hidden\") && (t.push({ el: e, original: e.style.contentVisibility || \"\" }), e.style.contentVisibility = \"visible\");\n }\n } catch (r) {\n }\n return () => {\n for (let { el: r, original: n } of t) try {\n r.style.contentVisibility = n;\n } catch (i) {\n }\n };\n}\nasync function Uo(e, t = {}) {\n var u, d;\n let r = { styleMap: A.session.styleMap, styleCache: A.session.styleCache, nodeMap: A.session.nodeMap, options: t }, n, i = \"\", o = \"\";\n Io(e);\n let a = _o(e);\n try {\n Lo(e);\n } catch (s) {\n console.warn(\"inlineExternal defs or symbol failed:\", s);\n }\n try {\n n = await je(e, r, t);\n } catch (s) {\n throw console.warn(\"deepClone failed:\", s), s;\n } finally {\n a();\n }\n try {\n await ct(e, n, r, t);\n } catch (s) {\n console.warn(\"inlinePseudoElements failed:\", s);\n }\n await Gn(n, r);\n try {\n let s = n.querySelectorAll(\"style[data-sd]\");\n for (let f of s) o += f.textContent || \"\", f.remove();\n } catch (s) {\n D(r, \"Failed to extract shadow CSS from style[data-sd]\", s);\n }\n let l = tn(r.styleMap);\n i = Array.from(l.entries()).map(([s, f]) => `.${f}{${s}}`).join(\"\"), i = o + \"[data-snapdom-has-after]::after,[data-snapdom-has-before]::before{content:none!important;display:none!important}\" + i;\n for (let [s, f] of r.styleMap.entries()) {\n if (s.tagName === \"STYLE\") continue;\n if (s.getRootNode && s.getRootNode() instanceof ShadowRoot) {\n s.setAttribute(\"style\", f.replace(/;/g, \"; \"));\n continue;\n }\n let p = l.get(f);\n p && s.classList.add(p);\n let m = (u = s.style) == null ? void 0 : u.backgroundImage, h = (d = s.dataset) == null ? void 0 : d.snapdomHasIcon;\n m && m !== \"none\" && (s.style.backgroundImage = m), h && (s.style.verticalAlign = \"middle\", s.style.display = \"inline\");\n }\n for (let [s, f] of r.nodeMap.entries()) {\n let p = f.scrollLeft, m = f.scrollTop;\n if ((p || m) && s instanceof HTMLElement) {\n s.style.overflow = \"hidden\", s.style.scrollbarWidth = \"none\", s.style.msOverflowStyle = \"none\";\n try {\n let y = s.querySelectorAll(\"*\");\n for (let S of y) {\n if (!(S instanceof HTMLElement)) continue;\n let M = S.style.position;\n if (M === \"fixed\" || M === \"absolute\") {\n let g = parseFloat(S.style.top) || 0, w = parseFloat(S.style.left) || 0;\n S.style.top = `${g + m}px`, S.style.left = `${w + p}px`, M === \"fixed\" && (S.style.position = \"absolute\");\n }\n }\n } catch (y) {\n }\n let h = document.createElement(\"div\");\n for (h.style.transform = `translate(${-p}px, ${-m}px)`, h.style.willChange = \"transform\", h.style.display = \"inline-block\", h.style.width = \"100%\"; s.firstChild; ) h.appendChild(s.firstChild);\n s.appendChild(h);\n }\n }\n let c = n instanceof HTMLElement && n.firstElementChild instanceof HTMLElement ? n.firstElementChild : n;\n if (Po(e, c), e === r.nodeMap.get(n)) {\n let s = r.styleCache.get(e) || me(e);\n r.styleCache.set(e, s);\n let f = Br(s.transform);\n n.style.margin = \"0\", n.style.top = \"auto\", n.style.left = \"auto\", n.style.right = \"auto\", n.style.bottom = \"auto\", n.style.animation = \"none\", n.style.transition = \"none\", n.style.willChange = \"auto\", n.style.float = \"none\", n.style.clear = \"none\", n.style.transform = f || \"\";\n }\n for (let [s, f] of r.nodeMap.entries()) f.tagName === \"PRE\" && (s.style.marginTop = \"0\", s.style.marginBlockStart = \"0\");\n return { clone: n, classCSS: i, styleCache: r.styleCache };\n}\nke();\nvar Sr = \"http://www.w3.org/1999/xlink\";\nfunction Oo(e) {\n return e.getAttribute(\"href\") || e.getAttribute(\"xlink:href\") || (typeof e.getAttributeNS == \"function\" ? e.getAttributeNS(Sr, \"href\") : null);\n}\nfunction jo(e) {\n var u, d, s, f;\n let t = parseInt(((u = e.dataset) == null ? void 0 : u.snapdomWidth) || \"\", 10) || 0, r = parseInt(((d = e.dataset) == null ? void 0 : d.snapdomHeight) || \"\", 10) || 0, n = parseInt(e.getAttribute(\"width\") || \"\", 10) || 0, i = parseInt(e.getAttribute(\"height\") || \"\", 10) || 0, o = parseFloat(((s = e.style) == null ? void 0 : s.width) || \"\") || 0, a = parseFloat(((f = e.style) == null ? void 0 : f.height) || \"\") || 0, l = t || o || n || e.width || e.naturalWidth || 100, c = r || a || i || e.height || e.naturalHeight || 100;\n return { width: l, height: c };\n}\nasync function Ho(e, t = {}) {\n let r = Array.from(e.querySelectorAll(\"img\")), n = async (a) => {\n if (!a.getAttribute(\"src\")) {\n let f = a.currentSrc || a.src || \"\";\n f && a.setAttribute(\"src\", f);\n }\n a.removeAttribute(\"srcset\"), a.removeAttribute(\"sizes\");\n let l = a.src || \"\";\n if (!l) return;\n let c = await oe(l, { as: \"dataURL\", useProxy: t.useProxy });\n if (c.ok && typeof c.data == \"string\" && c.data.startsWith(\"data:\")) {\n a.src = c.data, a.width || (a.width = a.naturalWidth || 100), a.height || (a.height = a.naturalHeight || 100);\n return;\n }\n let { width: u, height: d } = jo(a), { fallbackURL: s } = t || {};\n if (s) try {\n let f = typeof s == \"function\" ? await s({ width: u, height: d, src: l, element: a }) : s;\n if (f) {\n let p = await oe(f, { as: \"dataURL\", useProxy: t.useProxy });\n if (p != null && p.ok && typeof p.data == \"string\") {\n a.src = p.data, a.width || (a.width = u), a.height || (a.height = d);\n return;\n }\n }\n } catch (f) {\n }\n if (t.placeholders !== !1) {\n let f = document.createElement(\"div\");\n f.style.cssText = [`width:${u}px`, `height:${d}px`, \"background:#ccc\", \"display:inline-block\", \"text-align:center\", `line-height:${d}px`, \"color:#666\", \"font-size:12px\", \"overflow:hidden\"].join(\";\"), f.textContent = \"img\", a.replaceWith(f);\n } else {\n let f = document.createElement(\"div\");\n f.style.cssText = `display:inline-block;width:${u}px;height:${d}px;visibility:hidden;`, a.replaceWith(f);\n }\n };\n for (let a = 0; a < r.length; a += 4) {\n let l = r.slice(a, a + 4).map(n);\n await Promise.allSettled(l);\n }\n let i = Array.from(e.querySelectorAll(\"image\")), o = async (a) => {\n let l = Oo(a);\n if (!l || l.startsWith(\"data:\") || l.startsWith(\"blob:\")) return;\n let c = await oe(l, { as: \"dataURL\", useProxy: t.useProxy });\n c.ok && typeof c.data == \"string\" && c.data.startsWith(\"data:\") && (a.setAttribute(\"href\", c.data), a.removeAttribute(\"xlink:href\"), typeof a.removeAttributeNS == \"function\" && a.removeAttributeNS(Sr, \"href\"));\n };\n for (let a = 0; a < i.length; a += 4) {\n let l = i.slice(a, a + 4).map(o);\n await Promise.allSettled(l);\n }\n}\nce();\nasync function Do(e, t, r, n = {}) {\n let i = [[e, t]], o = [\"background-image\", \"mask\", \"mask-image\", \"-webkit-mask\", \"-webkit-mask-image\", \"mask-source\", \"mask-box-image-source\", \"mask-border-source\", \"-webkit-mask-box-image-source\", \"border-image\", \"border-image-source\"], a = [\"mask-position\", \"mask-size\", \"mask-repeat\", \"-webkit-mask-position\", \"-webkit-mask-size\", \"-webkit-mask-repeat\", \"mask-origin\", \"mask-clip\", \"-webkit-mask-origin\", \"-webkit-mask-clip\", \"-webkit-mask-position-x\", \"-webkit-mask-position-y\"], l = [\"background-position\", \"background-position-x\", \"background-position-y\", \"background-size\", \"background-repeat\", \"background-origin\", \"background-clip\", \"background-attachment\", \"background-blend-mode\"], c = [\"border-image-slice\", \"border-image-width\", \"border-image-outset\", \"border-image-repeat\"];\n for (; i.length; ) {\n let [u, d] = i.shift();\n if (!d) continue;\n let s = r.get(u) || me(u);\n r.has(u) || r.set(u, s);\n let f = (() => {\n let h = s.getPropertyValue(\"border-image\"), y = s.getPropertyValue(\"border-image-source\");\n return h && h !== \"none\" || y && y !== \"none\";\n })();\n for (let h of l) {\n let y = s.getPropertyValue(h);\n y && d.style.setProperty(h, y);\n }\n for (let h of o) {\n let y = s.getPropertyValue(h);\n if (h === \"background-image\" && (!y || y === \"none\")) {\n let g = s.getPropertyValue(\"background\");\n g && /url\\s*\\(/.test(g) && (y = tt(g).filter((w) => /url\\s*\\(/.test(w)).join(\", \") || y);\n }\n if (!y || y === \"none\") continue;\n let S = tt(y), M = await Promise.all(S.map((g) => Kt(g, n)));\n M.some((g) => g && g !== \"none\" && !/^url\\(undefined/.test(g)) && d.style.setProperty(h, M.join(\", \"));\n }\n for (let h of a) {\n let y = s.getPropertyValue(h);\n !y || y === \"initial\" || d.style.setProperty(h, y);\n }\n if (f) for (let h of c) {\n let y = s.getPropertyValue(h);\n !y || y === \"initial\" || d.style.setProperty(h, y);\n }\n let p = u.shadowRoot ? Array.from(u.shadowRoot.children).filter((h) => h.tagName !== \"STYLE\") : Array.from(u.children), m = Array.from(d.children).filter((h) => {\n var y, S;\n return !((y = h.dataset) != null && y.snapdomPseudo || h.tagName === \"STYLE\" && ((S = h.dataset) != null && S.sd));\n });\n for (let h = 0; h < Math.min(p.length, m.length); h++) i.push([p[h], m[h]]);\n }\n}\nce();\nie();\nfunction Bo(e) {\n if (!e) return () => {\n };\n let t = [];\n function r(n) {\n let i = qo(n);\n i && t.push(i);\n for (let o of n.children || []) r(o);\n }\n return r(e), () => t.forEach((n) => n());\n}\nfunction qo(e) {\n var u;\n if (!e) return () => {\n };\n let t = Vo(e);\n if (t <= 0) return () => {\n };\n if (!Yo(e)) return () => {\n };\n let r = getComputedStyle(e), n = Math.round(zo(r) * t + Xo(r)), i = (u = e.textContent) != null ? u : \"\", o = i;\n if (e.scrollHeight <= n + 0.5) return () => {\n };\n let a = 0, l = i.length, c = -1;\n for (; a <= l; ) {\n let d = a + l >> 1;\n e.textContent = i.slice(0, d) + \"…\", e.scrollHeight <= n + 0.5 ? (c = d, a = d + 1) : l = d - 1;\n }\n return e.textContent = (c >= 0 ? i.slice(0, c) : \"\") + \"…\", () => {\n e.textContent = o;\n };\n}\nfunction Vo(e) {\n let t = getComputedStyle(e), r = t.getPropertyValue(\"-webkit-line-clamp\") || t.getPropertyValue(\"line-clamp\");\n r = (r || \"\").trim();\n let n = parseInt(r, 10);\n return Number.isFinite(n) && n > 0 ? n : 0;\n}\nfunction zo(e) {\n let t = (e.lineHeight || \"\").trim(), r = parseFloat(e.fontSize) || 16;\n return !t || t === \"normal\" ? Math.round(r * 1.2) : t.endsWith(\"px\") ? parseFloat(t) : /^\\d+(\\.\\d+)?$/.test(t) ? Math.round(parseFloat(t) * r) : t.endsWith(\"%\") ? Math.round(parseFloat(t) / 100 * r) : Math.round(r * 1.2);\n}\nfunction Xo(e) {\n return (parseFloat(e.paddingTop) || 0) + (parseFloat(e.paddingBottom) || 0);\n}\nfunction Yo(e) {\n return e.childElementCount > 0 ? !1 : Array.from(e.childNodes).some((t) => t.nodeType === Node.TEXT_NODE);\n}\nvar Le = [];\nfunction Cr(e) {\n if (!e) return null;\n if (Array.isArray(e)) {\n let [t, r] = e;\n return typeof t == \"function\" ? t(r) : t;\n }\n if (typeof e == \"object\" && \"plugin\" in e) {\n let { plugin: t, options: r } = e;\n return typeof t == \"function\" ? t(r) : t;\n }\n return typeof e == \"function\" ? e() : e;\n}\nfunction Go(...e) {\n let t = e.flat();\n for (let r of t) {\n let n = Cr(r);\n n && (Le.some((i) => i && i.name && n.name && i.name === n.name) || Le.push(n));\n }\n}\nfunction vr(e) {\n return (e && Array.isArray(e.plugins) ? e.plugins : Le) || Le;\n}\nasync function ye(e, t, r) {\n let n = r, i = vr(t);\n for (let o of i) {\n let a = o && typeof o[e] == \"function\" ? o[e] : null;\n if (!a) continue;\n let l = await a(t, n);\n typeof l < \"u\" && (n = l);\n }\n return n;\n}\nasync function Jo(e, t, r) {\n let n = [], i = vr(t);\n for (let o of i) {\n let a = o && typeof o[e] == \"function\" ? o[e] : null;\n if (!a) continue;\n let l = await a(t, r);\n typeof l < \"u\" && n.push(l);\n }\n return n;\n}\nfunction Ko(e) {\n let t = [];\n if (Array.isArray(e)) for (let r of e) {\n let n = Cr(r);\n if (!n || !n.name) continue;\n let i = t.findIndex((o) => o && o.name === n.name);\n i >= 0 && t.splice(i, 1), t.push(n);\n }\n for (let r of Le) r && r.name && !t.some((n) => n.name === r.name) && t.push(r);\n return Object.freeze(t);\n}\nfunction Qo(e, t, r = !1) {\n return !e || e.plugins && !r || (e.plugins = Ko(t)), e;\n}\nce();\nfunction Zo(e, t, r = {}) {\n if (!e || !t || !t.style) return;\n let n = getComputedStyle(e);\n try {\n t.style.boxShadow = \"none\";\n } catch (o) {\n D(r, \"stripRootShadows boxShadow\", o);\n }\n try {\n t.style.textShadow = \"none\";\n } catch (o) {\n D(r, \"stripRootShadows textShadow\", o);\n }\n try {\n t.style.outline = \"none\";\n } catch (o) {\n D(r, \"stripRootShadows outline\", o);\n }\n let i = (n.filter || \"\").replace(/\\bblur\\([^()]*\\)\\s*/gi, \"\").replace(/\\bdrop-shadow\\([^()]*\\)\\s*/gi, \"\").trim().replace(/\\s+/g, \" \");\n try {\n t.style.filter = i.length ? i : \"none\";\n } catch (o) {\n D(r, \"stripRootShadows filter\", o);\n }\n}\nfunction ei(e) {\n let t = document.createTreeWalker(e, NodeFilter.SHOW_COMMENT), r = [];\n for (; t.nextNode(); ) r.push(t.currentNode);\n for (let n of r) n.remove();\n}\nfunction ti(e, t = {}) {\n let { stripFrameworkDirectives: r = !0 } = t, n = /* @__PURE__ */ new Set([\"xml\", \"xlink\"]), i = document.createTreeWalker(e, NodeFilter.SHOW_ELEMENT);\n for (; i.nextNode(); ) {\n let o = i.currentNode;\n for (let a of Array.from(o.attributes)) {\n let l = a.name;\n if (l.includes(\"@\")) {\n o.removeAttribute(l);\n continue;\n }\n if (l.includes(\":\")) {\n let c = l.split(\":\", 1)[0];\n if (!n.has(c)) {\n o.removeAttribute(l);\n continue;\n }\n }\n if (r && (l.startsWith(\"x-\") || l.startsWith(\"v-\") || l.startsWith(\":\") || l.startsWith(\"on:\") || l.startsWith(\"bind:\") || l.startsWith(\"let:\") || l.startsWith(\"class:\"))) {\n o.removeAttribute(l);\n continue;\n }\n }\n }\n}\nfunction ri(e, t = {}) {\n e && (ti(e, t), ei(e));\n}\nfunction ni(e) {\n var t;\n try {\n let r = ((t = e.getAttribute) == null ? void 0 : t.call(e, \"style\")) || \"\";\n return /\\b(height|width|block-size|inline-size)\\s*:/.test(r);\n } catch (r) {\n return !1;\n }\n}\nfunction oi(e) {\n return e instanceof HTMLImageElement || e instanceof HTMLCanvasElement || e instanceof HTMLVideoElement || e instanceof HTMLIFrameElement || e instanceof SVGElement || e instanceof HTMLObjectElement || e instanceof HTMLEmbedElement;\n}\nfunction ii(e, t) {\n if (!(e instanceof Element) || ni(e) || oi(e)) return !1;\n let r = t.position;\n if (r === \"absolute\" || r === \"fixed\" || r === \"sticky\") return !1;\n let n = t.display || \"\";\n return !(n.includes(\"flex\") || n.includes(\"grid\") || n.startsWith(\"table\") || t.transform && t.transform !== \"none\");\n}\nfunction ai(e, t, r = /* @__PURE__ */ new Map()) {\n function n(i, o) {\n if (!(i instanceof Element) || !(o instanceof Element)) return;\n let a = i.childElementCount > o.childElementCount, l = r.get(i) || getComputedStyle(i);\n if (r.has(i) || r.set(i, l), a && ii(i, l)) {\n o.style.height || (o.style.height = \"auto\"), o.style.width || (o.style.width = \"auto\"), o.style.removeProperty(\"block-size\"), o.style.removeProperty(\"inline-size\"), o.style.minHeight || (o.style.minHeight = \"0\"), o.style.minWidth || (o.style.minWidth = \"0\"), o.style.maxHeight || (o.style.maxHeight = \"none\"), o.style.maxWidth || (o.style.maxWidth = \"none\");\n let d = l.overflowY || l.overflowBlock || \"visible\", s = l.overflowX || l.overflowInline || \"visible\";\n (d !== \"visible\" || s !== \"visible\") && (o.style.overflow = \"visible\");\n }\n let c = Array.from(i.children), u = Array.from(o.children);\n for (let d = 0; d < Math.min(c.length, u.length); d++) n(c[d], u[d]);\n }\n n(e, t);\n}\nfunction li(e) {\n let t = getComputedStyle(e);\n return !(t.display === \"none\" || t.position === \"absolute\" || t.position === \"fixed\");\n}\nfunction si(e, t) {\n if (!(e instanceof Element)) return !1;\n if (e.getAttribute(\"data-capture\") === \"exclude\" && (t == null ? void 0 : t.excludeMode) === \"remove\") return !0;\n if (Array.isArray(t == null ? void 0 : t.exclude)) for (let r of t.exclude) try {\n if (e.matches(r)) return t.excludeMode === \"remove\";\n } catch (n) {\n D(t, \"exclude selector match failed\", n);\n }\n return !1;\n}\nfunction ci(e, t) {\n let r = getComputedStyle(e), n = e.getBoundingClientRect(), i = 1 / 0, o = -1 / 0, a = !1, l = Array.from(e.children);\n for (let p of l) {\n if (si(p, t) || !li(p)) continue;\n let m = p.getBoundingClientRect(), h = m.top - n.top, y = m.bottom - n.top;\n y <= h || (h < i && (i = h), y > o && (o = y), a = !0);\n }\n let c = a ? Math.max(0, o - i) : 0, u = parseFloat(r.borderTopWidth) || 0, d = parseFloat(r.borderBottomWidth) || 0, s = parseFloat(r.paddingTop) || 0, f = parseFloat(r.paddingBottom) || 0;\n return u + d + s + f + c;\n}\nvar N = (e, t = 3) => Number.isFinite(e) ? Math.round(e * 10 ** t) / 10 ** t : e, ui = /::-webkit-scrollbar(-[a-z]+)?\\b/i;\nfunction ut(e, t = /* @__PURE__ */ new Set()) {\n let r = \"\";\n if (!e) return r;\n for (let n = 0; n < e.length; n++) {\n let i = e[n];\n try {\n if (i.type === CSSRule.IMPORT_RULE && i.styleSheet) {\n r += ut(i.styleSheet.cssRules, t);\n continue;\n }\n if (i.type === CSSRule.MEDIA_RULE && i.cssRules) {\n let o = ut(i.cssRules, t);\n o && (r += `@media ${i.conditionText}{${o}}`);\n continue;\n }\n if (i.type === CSSRule.STYLE_RULE) {\n let o = i.selectorText || \"\";\n if (ui.test(o)) {\n let a = i.cssText;\n a && !t.has(a) && (t.add(a), r += a);\n }\n }\n } catch (o) {\n }\n }\n return r;\n}\nfunction fi(e) {\n if (!e || !e.styleSheets) return \"\";\n let t = /* @__PURE__ */ new Set(), r = \"\";\n for (let n of Array.from(e.styleSheets)) try {\n let i = n.cssRules;\n i && (r += ut(i, t));\n } catch (i) {\n }\n return r;\n}\nfunction di(e) {\n var l;\n let t = e.boxShadow || \"\";\n if (!t || t === \"none\") return { top: 0, right: 0, bottom: 0, left: 0 };\n let r = t.split(/\\),(?=(?:[^()]*\\([^()]*\\))*[^()]*$)/).map((c) => c.trim()), n = 0, i = 0, o = 0, a = 0;\n for (let c of r) {\n let u = ((l = c.match(/-?\\d+(\\.\\d+)?px/g)) == null ? void 0 : l.map((y) => parseFloat(y))) || [];\n if (u.length < 2) continue;\n let [d, s, f = 0, p = 0] = u, m = Math.abs(d) + f + p, h = Math.abs(s) + f + p;\n i = Math.max(i, m + Math.max(d, 0)), a = Math.max(a, m + Math.max(-d, 0)), o = Math.max(o, h + Math.max(s, 0)), n = Math.max(n, h + Math.max(-s, 0));\n }\n return { top: Math.ceil(n), right: Math.ceil(i), bottom: Math.ceil(o), left: Math.ceil(a) };\n}\nfunction mi(e) {\n let t = (e.filter || \"\").match(/blur\\(\\s*([0-9.]+)px\\s*\\)/), r = t ? Math.ceil(parseFloat(t[1]) || 0) : 0;\n return { top: r, right: r, bottom: r, left: r };\n}\nfunction hi(e) {\n if ((e.outlineStyle || \"none\") === \"none\") return { top: 0, right: 0, bottom: 0, left: 0 };\n let t = Math.ceil(parseFloat(e.outlineWidth || \"0\") || 0), r = parseFloat(e.outlineOffset || \"0\") || 0, n = t + Math.max(0, Math.ceil(r));\n return { top: n, right: n, bottom: n, left: n };\n}\nfunction pi(e) {\n var c;\n let t = `${e.filter || \"\"} ${e.webkitFilter || \"\"}`.trim();\n if (!t || t === \"none\") return { bleed: { top: 0, right: 0, bottom: 0, left: 0 }, has: !1 };\n let r = t.match(/drop-shadow\\((?:[^()]|\\([^()]*\\))*\\)/gi) || [], n = 0, i = 0, o = 0, a = 0, l = !1;\n for (let u of r) {\n l = !0;\n let d = ((c = u.match(/-?\\d+(?:\\.\\d+)?px/gi)) == null ? void 0 : c.map((y) => parseFloat(y))) || [], [s = 0, f = 0, p = 0] = d, m = Math.abs(s) + p, h = Math.abs(f) + p;\n i = Math.max(i, m + Math.max(s, 0)), a = Math.max(a, m + Math.max(-s, 0)), o = Math.max(o, h + Math.max(f, 0)), n = Math.max(n, h + Math.max(-f, 0));\n }\n return { bleed: { top: N(n), right: N(i), bottom: N(o), left: N(a) }, has: l };\n}\nfunction gi(e, t) {\n if (!e || !t || !t.style) return null;\n let r = getComputedStyle(e);\n try {\n t.style.transformOrigin = \"0 0\";\n } catch (l) {\n }\n try {\n \"translate\" in t.style && (t.style.translate = \"none\"), \"rotate\" in t.style && (t.style.rotate = \"none\");\n } catch (l) {\n }\n let n = r.transform || \"none\";\n if (n === \"none\") try {\n let l = kr(e);\n if (l.a === 1 && l.b === 0 && l.c === 0 && l.d === 1) return t.style.transform = \"none\", { a: 1, b: 0, c: 0, d: 1 };\n } catch (l) {\n }\n function i(l, c, u, d) {\n let s = Math.sqrt(l * l + c * c) || 0, f = 0, p = 0;\n if (s > 0) {\n let m = l / s, h = c / s;\n f = m * u + h * d;\n let y = u - m * f, S = d - h * f;\n p = Math.sqrt(y * y + S * S) || 0, p > 0 ? f = f / p : f = 0;\n }\n return { a: s, b: 0, c: f * p, d: p };\n }\n let o = n.match(/^matrix\\(\\s*([^)]+)\\)$/i);\n if (o) {\n let l = o[1].split(\",\").map((c) => parseFloat(c.trim()));\n if (l.length === 6 && l.every(Number.isFinite)) {\n let [c, u, d, s] = l, f = i(c, u, d, s);\n try {\n t.style.transform = `matrix(${f.a}, ${f.b}, ${f.c}, ${f.d}, 0, 0)`;\n } catch (p) {\n }\n return f;\n }\n }\n let a = n.match(/^matrix3d\\(\\s*([^)]+)\\)$/i);\n if (a) {\n let l = a[1].split(\",\").map((c) => parseFloat(c.trim()));\n if (l.length === 16 && l.every(Number.isFinite)) {\n let c = l[0], u = l[1], d = l[4], s = l[5], f = i(c, u, d, s);\n try {\n t.style.transform = `matrix(${f.a}, ${f.b}, ${f.c}, ${f.d}, 0, 0)`;\n } catch (p) {\n }\n return f;\n }\n }\n try {\n let l = new DOMMatrix(n), c = i(l.a, l.b, l.c, l.d);\n try {\n t.style.transform = `matrix(${c.a}, ${c.b}, ${c.c}, ${c.d}, 0, 0)`;\n } catch (u) {\n }\n return c;\n } catch (l) {\n return null;\n }\n}\nfunction Yt(e, t, r, n, i) {\n let o = r.a, a = r.b, l = r.c, c = r.d, u = r.e || 0, d = r.f || 0;\n function s(S, M) {\n let g = S - n, w = M - i, C = o * g + l * w, b = a * g + c * w;\n return C += n + u, b += i + d, [C, b];\n }\n let f = [s(0, 0), s(e, 0), s(0, t), s(e, t)], p = 1 / 0, m = 1 / 0, h = -1 / 0, y = -1 / 0;\n for (let [S, M] of f) S < p && (p = S), M < m && (m = M), S > h && (h = S), M > y && (y = M);\n return { minX: p, minY: m, maxX: h, maxY: y, width: h - p, height: y - m };\n}\nfunction yi(e, t, r) {\n let n = (e.transformOrigin || \"0 0\").trim().split(/\\s+/), [i, o] = [n[0] || \"0\", n[1] || \"0\"], a = (l, c) => {\n let u = l.toLowerCase();\n return u === \"left\" || u === \"top\" ? 0 : u === \"center\" ? c / 2 : u === \"right\" || u === \"bottom\" ? c : u.endsWith(\"px\") ? parseFloat(u) || 0 : u.endsWith(\"%\") ? (parseFloat(u) || 0) * c / 100 : /^-?\\d+(\\.\\d+)?$/.test(u) && parseFloat(u) || 0;\n };\n return { ox: a(i, t), oy: a(o, r) };\n}\nfunction wi(e) {\n var i, o, a, l, c, u, d, s;\n let t = { rotate: \"0deg\", scale: null, translate: null }, r = typeof e.computedStyleMap == \"function\" ? e.computedStyleMap() : null;\n if (r) {\n let f = (y) => {\n try {\n return typeof r.has == \"function\" && !r.has(y) || typeof r.get != \"function\" ? null : r.get(y);\n } catch (S) {\n return null;\n }\n }, p = f(\"rotate\");\n if (p) if (p.angle) {\n let y = p.angle;\n t.rotate = y.unit === \"rad\" ? y.value * 180 / Math.PI + \"deg\" : y.value + y.unit;\n } else p.unit ? t.rotate = p.unit === \"rad\" ? p.value * 180 / Math.PI + \"deg\" : p.value + p.unit : t.rotate = String(p);\n else {\n let y = getComputedStyle(e);\n t.rotate = y.rotate && y.rotate !== \"none\" ? y.rotate : \"0deg\";\n }\n let m = f(\"scale\");\n if (m) {\n let y = \"x\" in m && ((i = m.x) == null ? void 0 : i.value) != null ? m.x.value : Array.isArray(m) ? (o = m[0]) == null ? void 0 : o.value : Number(m) || 1, S = \"y\" in m && ((a = m.y) == null ? void 0 : a.value) != null ? m.y.value : Array.isArray(m) ? (l = m[1]) == null ? void 0 : l.value : y;\n t.scale = `${y} ${S}`;\n } else {\n let y = getComputedStyle(e);\n t.scale = y.scale && y.scale !== \"none\" ? y.scale : null;\n }\n let h = f(\"translate\");\n if (h) {\n let y = \"x\" in h && \"value\" in h.x ? h.x.value : Array.isArray(h) ? (c = h[0]) == null ? void 0 : c.value : 0, S = \"y\" in h && \"value\" in h.y ? h.y.value : Array.isArray(h) ? (u = h[1]) == null ? void 0 : u.value : 0, M = \"x\" in h && ((d = h.x) != null && d.unit) ? h.x.unit : \"px\", g = \"y\" in h && ((s = h.y) != null && s.unit) ? h.y.unit : \"px\";\n t.translate = `${y}${M} ${S}${g}`;\n } else {\n let y = getComputedStyle(e);\n t.translate = y.translate && y.translate !== \"none\" ? y.translate : null;\n }\n return t;\n }\n let n = getComputedStyle(e);\n return t.rotate = n.rotate && n.rotate !== \"none\" ? n.rotate : \"0deg\", t.scale = n.scale && n.scale !== \"none\" ? n.scale : null, t.translate = n.translate && n.translate !== \"none\" ? n.translate : null, t;\n}\nvar Qe = null;\nfunction bi() {\n if (Qe) return Qe;\n let e = document.createElement(\"div\");\n return e.id = \"snapdom-measure-slot\", e.setAttribute(\"aria-hidden\", \"true\"), Object.assign(e.style, { position: \"absolute\", left: \"-99999px\", top: \"0px\", width: \"0px\", height: \"0px\", overflow: \"hidden\", opacity: \"0\", pointerEvents: \"none\", contain: \"size layout style\" }), document.documentElement.appendChild(e), Qe = e, e;\n}\nfunction xi(e) {\n let t = bi(), r = document.createElement(\"div\");\n r.style.transformOrigin = \"0 0\", e.baseTransform && (r.style.transform = e.baseTransform), e.rotate && (r.style.rotate = e.rotate), e.scale && (r.style.scale = e.scale), e.translate && (r.style.translate = e.translate), t.appendChild(r);\n let n = kr(r);\n return t.removeChild(r), n;\n}\nfunction Si(e) {\n let t = getComputedStyle(e), r = t.transform || \"none\";\n if (r !== \"none\" && !/^matrix\\(\\s*1\\s*,\\s*0\\s*,\\s*0\\s*,\\s*1\\s*,\\s*0\\s*,\\s*0\\s*\\)$/i.test(r)) return !0;\n let n = t.rotate && t.rotate !== \"none\" && t.rotate !== \"0deg\", i = t.scale && t.scale !== \"none\" && t.scale !== \"1\", o = t.translate && t.translate !== \"none\" && t.translate !== \"0px 0px\";\n return !!(n || i || o);\n}\nfunction kr(e) {\n let t = getComputedStyle(e).transform;\n if (!t || t === \"none\") return new DOMMatrix();\n try {\n return new DOMMatrix(t);\n } catch (r) {\n return new WebKitCSSMatrix(t);\n }\n}\nasync function Ar(e, t) {\n var g, w;\n if (!e) throw new Error(\"Element cannot be null or undefined\");\n Dr(t.cache);\n let r = t.fast, n = t.outerTransforms !== !1, i = !!t.outerShadows, o = { element: e, options: t, plugins: t.plugins }, a, l, c, u = \"\", d = \"\", s, f, p = null;\n await ye(\"beforeSnap\", o), await ye(\"beforeClone\", o);\n let m = Bo(o.element);\n try {\n ({ clone: a, classCSS: l, styleCache: c } = await Uo(o.element, o.options)), !n && a && (p = gi(o.element, a)), !i && a && Zo(o.element, a, o.options);\n } finally {\n m();\n }\n if (o = W({ clone: a, classCSS: l, styleCache: c }, o), await ye(\"afterClone\", o), ri(o.clone), ((g = o.options) == null ? void 0 : g.excludeMode) === \"remove\") try {\n ai(o.element, o.clone, o.styleCache);\n } catch (C) {\n console.warn(\"[snapdom] shrink pass failed:\", C);\n }\n try {\n await oo(o.clone, o.element);\n } catch (C) {\n }\n await new Promise((C) => {\n Ce(async () => {\n await Ho(o.clone, o.options), C();\n }, { fast: r });\n }), await new Promise((C) => {\n Ce(async () => {\n await Do(o.element, o.clone, o.styleCache, o.options), C();\n }, { fast: r });\n }), t.embedFonts && await new Promise((C) => {\n Ce(async () => {\n let b = wr(o.element), v = Co(o.element);\n if (be()) {\n let x = new Set(Array.from(b).map(($) => String($).split(\"__\")[0]).filter(Boolean));\n await br(x, 1);\n }\n u = await So({ required: b, usedCodepoints: v, exclude: o.options.excludeFonts, useProxy: o.options.useProxy, fontStylesheetDomains: o.options.fontStylesheetDomains }), C();\n }, { fast: r });\n });\n let h = Zr(o.clone).sort(), y = h.join(\",\");\n A.baseStyle.has(y) ? d = A.baseStyle.get(y) : await new Promise((C) => {\n Ce(() => {\n d = en(h), A.baseStyle.set(y, d), C();\n }, { fast: r });\n });\n let S = fi(((w = o.element) == null ? void 0 : w.ownerDocument) || document);\n o = W({ fontsCSS: u, baseCSS: d, scrollbarCSS: S }, o), await ye(\"beforeRender\", o), await new Promise((C) => {\n Ce(() => {\n var bt, xt, St, Ct, vt, kt;\n let b = me(o.element), v = o.element.getBoundingClientRect(), x = Math.max(1, N(o.element.offsetWidth || parseFloat(b.width) || v.width || 1)), $ = Math.max(1, N(o.element.offsetHeight || parseFloat(b.height) || v.height || 1)), E = o.element.ownerDocument || document;\n if (o.element === E.body || o.element === E.documentElement) {\n let G = Math.max(o.element.scrollHeight || 0, ((bt = E.documentElement) == null ? void 0 : bt.scrollHeight) || 0, ((xt = E.body) == null ? void 0 : xt.scrollHeight) || 0), K = Math.max(o.element.scrollWidth || 0, ((St = E.documentElement) == null ? void 0 : St.scrollWidth) || 0, ((Ct = E.body) == null ? void 0 : Ct.scrollWidth) || 0);\n G > 0 && ($ = Math.max($, N(G))), K > 0 && (x = Math.max(x, N(K)));\n try {\n let le = (o.scrollbarCSS || \"\").length + (o.baseCSS || \"\").length + (o.fontsCSS || \"\").length + (o.classCSS || \"\").length, ue = A.measureHints.get(o.element);\n if (ue && ue.cssLen === le && ue.w0 === x) ue.csh > 0 && ($ = Math.max($, N(ue.csh))), ue.csw > 0 && (x = Math.max(x, N(ue.csw)));\n else {\n let fe = E.createElement(\"div\");\n fe.style.cssText = \"position:absolute!important;left:-9999px!important;top:0!important;width:\" + x + \"px!important;overflow:visible!important;visibility:hidden!important;\";\n let We = E.createElement(\"style\");\n We.textContent = (o.scrollbarCSS || \"\") + o.baseCSS + o.fontsCSS + \"svg{overflow:visible;} foreignObject{overflow:visible;}\" + o.classCSS, fe.appendChild(We), fe.appendChild(o.clone.cloneNode(!0)), E.body.appendChild(fe);\n let ge = fe.scrollHeight, Je = fe.scrollWidth;\n E.body.removeChild(fe), A.measureHints.set(o.element, { cssLen: le, w0: x, csh: ge, csw: Je }), ge > 0 && ($ = Math.max($, N(ge))), Je > 0 && (x = Math.max(x, N(Je)));\n }\n } catch (le) {\n }\n }\n if (((vt = o.options) == null ? void 0 : vt.excludeMode) === \"remove\") {\n let G = ci(o.element, o.options);\n Number.isFinite(G) && G > 0 && ($ = Math.max(1, Math.min($, N(G + 1))));\n }\n let U = (G, K = NaN) => {\n let le = typeof G == \"string\" ? parseFloat(G) : G;\n return Number.isFinite(le) ? le : K;\n }, j = U(o.options.width), _ = U(o.options.height), B = x, V = $, te = Number.isFinite(j), re = Number.isFinite(_), k = $ > 0 ? x / $ : 1;\n te && re ? (B = Math.max(1, N(j)), V = Math.max(1, N(_))) : te ? (B = Math.max(1, N(j)), V = Math.max(1, N(B / (k || 1)))) : re ? (V = Math.max(1, N(_)), B = Math.max(1, N(V * (k || 1)))) : (B = x, V = $);\n let P = 0, T = 0, O = x, F = $;\n if (!n && p && Number.isFinite(p.a)) {\n let G = { a: p.a, b: p.b || 0, c: p.c || 0, d: p.d || 1, e: 0, f: 0 }, K = Yt(x, $, G, 0, 0);\n P = N(K.minX), T = N(K.minY), O = N(K.maxX), F = N(K.maxY);\n } else if (n && Gt(o.element)) {\n let G = b.transform && b.transform !== \"none\" ? b.transform : \"\", K = wi(o.element), le = xi({ baseTransform: G, rotate: K.rotate || \"0deg\", scale: K.scale, translate: K.translate }), { ox: ue, oy: fe } = yi(b, x, $), We = le.is2D ? le : new DOMMatrix(le.toString()), ge = Yt(x, $, We, ue, fe);\n P = N(ge.minX), T = N(ge.minY), O = N(ge.maxX), F = N(ge.maxY);\n }\n let L = di(b), I = mi(b), R = hi(b), Y = pi(b), X = i ? { top: N(L.top + I.top + R.top + Y.bleed.top), right: N(L.right + I.right + R.right + Y.bleed.right), bottom: N(L.bottom + I.bottom + R.bottom + Y.bleed.bottom), left: N(L.left + I.left + R.left + Y.bleed.left) } : { top: 0, right: 0, bottom: 0, left: 0 };\n P = N(P - X.left), T = N(T - X.top), O = N(O + X.right), F = N(F + X.bottom);\n let ae = Math.max(1, N(O - P)), ne = Math.max(1, N(F - T)), H = te || re ? N(B / x) : 1, J = re || te ? N(V / $) : 1, Z = Math.max(1, N(ae * H)), Ae = Math.max(1, N(ne * J)), gt = \"http://www.w3.org/2000/svg\", $r = be() && Gt(o.element) ? 1 : 0, he = N($r + (n ? 0 : 1)), pe = document.createElementNS(gt, \"foreignObject\"), Er = N(P), Fr = N(T);\n pe.setAttribute(\"x\", String(N(-(Er - he)))), pe.setAttribute(\"y\", String(N(-(Fr - he)))), pe.setAttribute(\"width\", String(N(x + he * 2))), pe.setAttribute(\"height\", String(N($ + he * 2))), pe.style.overflow = \"visible\";\n let yt = document.createElement(\"style\"), Nr = 'svg{overflow:visible;} foreignObject{overflow:visible;} foreignObject *{min-width:0;} foreignObject pre,foreignObject [style*=\"white-space\"]{white-space:inherit;}';\n yt.textContent = (o.scrollbarCSS || \"\") + o.baseCSS + o.fontsCSS + Nr + o.classCSS, pe.appendChild(yt);\n let Te = document.createElement(\"div\");\n Te.setAttribute(\"xmlns\", \"http://www.w3.org/1999/xhtml\"), Te.style.cssText = `all:initial;box-sizing:border-box;display:block;overflow:visible;width:${N(x)}px;height:${N($)}px`, Te.appendChild(o.clone), pe.appendChild(Te);\n let Lr = new XMLSerializer().serializeToString(pe), Ye = N(ae + he * 2), Ge = N(ne + he * 2), wt = te || re;\n t.meta = { w0: x, h0: $, vbW: Ye, vbH: Ge, targetW: B, targetH: V };\n let Pr = be() && wt ? Ye : N(Z + he * 2), Rr = be() && wt ? Ge : N(Ae + he * 2), Tr = parseFloat((kt = me(E.documentElement)) == null ? void 0 : kt.fontSize) || 16;\n f = `<svg xmlns=\"${gt}\" width=\"${Pr}\" height=\"${Rr}\" viewBox=\"0 0 ${Ye} ${Ge}\" font-size=\"${Tr}px\">` + Lr + \"</svg>\", s = `data:image/svg+xml;charset=utf-8,${encodeURIComponent(f)}`, o = W({ svgString: f, dataURL: s }, o), C();\n }, { fast: r });\n }), await ye(\"afterRender\", o);\n let M = document.getElementById(\"snapdom-sandbox\");\n return M && M.style.position === \"absolute\" && M.remove(), o.dataURL;\n}\nfunction Gt(e) {\n return Si(e);\n}\nie();\nfunction Ci(e = {}) {\n var n, i, o, a, l, c, u, d, s, f, p, m, h, y, S, M, g, w, C, b, v, x;\n let t = (n = e.format) != null ? n : \"png\";\n t === \"jpg\" && (t = \"jpeg\");\n let r = Hr(e.cache);\n return { debug: (i = e.debug) != null ? i : !1, fast: (o = e.fast) != null ? o : !0, scale: (a = e.scale) != null ? a : 1, exclude: (l = e.exclude) != null ? l : [], excludeMode: (c = e.excludeMode) != null ? c : \"hide\", filter: (u = e.filter) != null ? u : null, filterMode: (d = e.filterMode) != null ? d : \"hide\", placeholders: e.placeholders !== !1, embedFonts: (s = e.embedFonts) != null ? s : !1, iconFonts: Array.isArray(e.iconFonts) ? e.iconFonts : e.iconFonts ? [e.iconFonts] : [], localFonts: Array.isArray(e.localFonts) ? e.localFonts : [], excludeFonts: (f = e.excludeFonts) != null ? f : void 0, fontStylesheetDomains: Array.isArray(e.fontStylesheetDomains) ? e.fontStylesheetDomains : [], fallbackURL: (p = e.fallbackURL) != null ? p : void 0, cache: r, useProxy: typeof e.useProxy == \"string\" ? e.useProxy : \"\", width: (m = e.width) != null ? m : null, height: (h = e.height) != null ? h : null, format: t, type: (y = e.type) != null ? y : \"svg\", quality: (S = e.quality) != null ? S : 0.92, dpr: (M = e.dpr) != null ? M : window.devicePixelRatio || 1, backgroundColor: (g = e.backgroundColor) != null ? g : [\"jpeg\", \"webp\"].includes(t) ? \"#ffffff\" : null, filename: (w = e.filename) != null ? w : \"snapDOM\", outerTransforms: (C = e.outerTransforms) != null ? C : !0, outerShadows: (b = e.outerShadows) != null ? b : !1, safariWarmupAttempts: Math.min(3, Math.max(1, ((v = e.safariWarmupAttempts) != null ? v : 3) | 0)), excludeStyleProps: (x = e.excludeStyleProps) != null ? x : null };\n}\nRe();\nnr();\nce();\nke();\nie();\nfunction vi(...e) {\n return Go(...e), q;\n}\nvar q = Object.assign(Ai, { plugins: vi }), Mr = /* @__PURE__ */ Symbol(\"snapdom.internal\"), ki = /* @__PURE__ */ Symbol(\"snapdom.internal.silent\"), Jt = !1;\nasync function Ai(e, t) {\n var n;\n if (!e) throw new Error(\"Element cannot be null or undefined\");\n let r = Ci(t);\n if (Qo(r, t && t.plugins), be() && (r.embedFonts === !0 || $i(e))) {\n if (r.embedFonts) try {\n let o = wr(e), a = new Set([...o].map((l) => String(l).split(\"__\")[0]).filter(Boolean));\n await br(a, 1);\n } catch (o) {\n }\n let i = (n = r.safariWarmupAttempts) != null ? n : 3;\n for (let o = 0; o < i; o++) try {\n await Mi(e, t);\n } catch (a) {\n }\n }\n return r.iconFonts && r.iconFonts.length > 0 && Kn(r.iconFonts), r.snap || (r.snap = { toPng: (i, o) => q.toPng(i, o), toSvg: (i, o) => q.toSvg(i, o) }), q.capture(e, r, Mr);\n}\nq.capture = async (e, t, r) => {\n if (r !== Mr) throw new Error(\"[snapdom.capture] is internal. Use snapdom(...) instead.\");\n let n = await Ar(e, t), i = { img: async (h, y) => {\n let { toImg: S } = await Promise.resolve().then(() => (Nt(), rt));\n return S(n, W(W({}, h), y || {}));\n }, svg: async (h, y) => {\n let { toSvg: S } = await Promise.resolve().then(() => (Nt(), rt));\n return S(n, W(W({}, h), y || {}));\n }, canvas: async (h, y) => {\n let { toCanvas: S } = await Promise.resolve().then(() => (Xe(), or));\n return S(n, W(W({}, h), y || {}));\n }, blob: async (h, y) => {\n let { toBlob: S } = await Promise.resolve().then(() => (cr(), lr));\n return S(n, W(W({}, h), y || {}));\n }, png: async (h, y) => {\n let { rasterize: S } = await Promise.resolve().then(() => (Oe(), Ue));\n return S(n, z(W(W({}, h), y || {}), { format: \"png\" }));\n }, jpeg: async (h, y) => {\n let { rasterize: S } = await Promise.resolve().then(() => (Oe(), Ue));\n return S(n, z(W(W({}, h), y || {}), { format: \"jpeg\" }));\n }, webp: async (h, y) => {\n let { rasterize: S } = await Promise.resolve().then(() => (Oe(), Ue));\n return S(n, z(W(W({}, h), y || {}), { format: \"webp\" }));\n }, download: async (h, y) => {\n let { download: S } = await Promise.resolve().then(() => (pn(), ur));\n return S(n, W(W({}, h), y || {}));\n } }, o = {};\n for (let h of [\"img\", \"svg\", \"canvas\", \"blob\", \"png\", \"jpeg\", \"webp\"]) o[h] = async (y) => i[h](t, z(W({}, y || {}), { [ki]: !0 }));\n o.jpg = o.jpeg;\n let a = z(W({}, t), { export: { url: n }, exports: o }), l = await Jo(\"defineExports\", a), c = Object.assign({}, ...l.filter((h) => h && typeof h == \"object\")), u = W(W({}, i), c);\n u.jpeg && !u.jpg && (u.jpg = (h, y) => u.jpeg(h, y));\n function d(h, y) {\n let S = W(W({}, t), y || {});\n return (h === \"jpeg\" || h === \"jpg\") && (S.backgroundColor == null || S.backgroundColor === \"transparent\") && (S.backgroundColor = \"#ffffff\"), S;\n }\n let s = !1, f = Promise.resolve();\n async function p(h, y) {\n let S = async () => {\n let M = u[h];\n if (!M) throw new Error(`[snapdom] Unknown export type: ${h}`);\n let g = d(h, y), w = z(W({}, t), { export: { type: h, options: g, url: n } });\n await ye(\"beforeExport\", w);\n let C = await M(w, g);\n return await ye(\"afterExport\", w, C), s || (s = !0, await ye(\"afterSnap\", t)), C;\n };\n return f = f.then(S);\n }\n let m = { url: n, toRaw: () => n, to: (h, y) => p(h, y), toImg: (h) => p(\"img\", h), toSvg: (h) => p(\"svg\", h), toCanvas: (h) => p(\"canvas\", h), toBlob: (h) => p(\"blob\", h), toPng: (h) => p(\"png\", h), toJpg: (h) => p(\"jpg\", h), toWebp: (h) => p(\"webp\", h), download: (h) => p(\"download\", h) };\n for (let h of Object.keys(u)) {\n let y = \"to\" + h.charAt(0).toUpperCase() + h.slice(1);\n m[y] || (m[y] = (S) => p(h, S));\n }\n return m;\n};\nq.toRaw = (e, t) => q(e, t).then((r) => r.toRaw());\nq.toImg = (e, t) => q(e, t).then((r) => r.toImg());\nq.toSvg = (e, t) => q(e, t).then((r) => r.toSvg());\nq.toCanvas = (e, t) => q(e, t).then((r) => r.toCanvas());\nq.toBlob = (e, t) => q(e, t).then((r) => r.toBlob());\nq.toPng = (e, t) => q(e, z(W({}, t), { format: \"png\" })).then((r) => r.toPng());\nq.toJpg = (e, t) => q(e, z(W({}, t), { format: \"jpeg\" })).then((r) => r.toJpg());\nq.toWebp = (e, t) => q(e, z(W({}, t), { format: \"webp\" })).then((r) => r.toWebp());\nq.download = (e, t) => q(e, t).then((r) => r.download());\nasync function Mi(e, t) {\n if (Jt) return;\n let r = z(W({}, t), { fast: !0, embedFonts: !0, scale: 0.2 }), n;\n try {\n n = await Ar(e, r);\n } catch (i) {\n D(t, \"safariWarmup pre-capture failed\", i);\n }\n await new Promise((i) => requestAnimationFrame(() => requestAnimationFrame(i))), n && await new Promise((i) => {\n let o = new Image();\n try {\n o.decoding = \"sync\", o.loading = \"eager\";\n } catch (a) {\n D(t, \"safariWarmup img hints failed\", a);\n }\n o.style.cssText = \"position:fixed;left:0px;top:0px;width:10px;height:10px;opacity:0.01;pointer-events:none;\", o.src = n, document.body.appendChild(o), (async () => {\n try {\n typeof o.decode == \"function\" && await o.decode();\n } catch (l) {\n D(t, \"safariWarmup img.decode failed\", l);\n }\n let a = performance.now();\n for (; !(o.complete && o.naturalWidth > 0) && performance.now() - a < 900; ) await new Promise((l) => setTimeout(l, 200));\n await new Promise((l) => requestAnimationFrame(l));\n try {\n let l = document.createElement(\"canvas\");\n l.width = Math.max(1, o.naturalWidth || 10), l.height = Math.max(1, o.naturalHeight || 10);\n let c = l.getContext(\"2d\");\n c && c.drawImage(o, 0, 0);\n } catch (l) {\n }\n await new Promise((l) => requestAnimationFrame(l));\n try {\n o.remove();\n } catch (l) {\n D(t, \"safariWarmup img.remove failed\", l);\n }\n i();\n })();\n }), e.querySelectorAll(\"canvas\").forEach((i) => {\n try {\n let o = i.getContext(\"2d\", { willReadFrequently: !0 });\n o && o.getImageData(0, 0, 1, 1);\n } catch (o) {\n D(t, \"safariWarmup canvas poke failed\", o);\n }\n }), Jt = !0;\n}\nfunction $i(e) {\n let t = document.createTreeWalker(e, NodeFilter.SHOW_ELEMENT);\n for (; t.nextNode(); ) {\n let r = t.currentNode, n = getComputedStyle(r), i = n.backgroundImage && n.backgroundImage !== \"none\", o = n.maskImage && n.maskImage !== \"none\" || n.webkitMaskImage && n.webkitMaskImage !== \"none\";\n if (i || o || r.tagName === \"CANVAS\") return !0;\n }\n return !1;\n}\nexport {\n q as snapdom\n};\n//# sourceMappingURL=snapdom-6yvsn_Iv.js.map\n"],"names":["Wr","Ir","_r","At","Ur","Or","Mt","e","t","r","W","z","jr","Q","Pe","Hr","Dr","A","ee","ie","ft","Br","n","i","o","Be","qr","Ve","Vr","a","l","c","u","zr","Xr","Yr","Gr","$t","Jr","oe","y","S","M","C","x","v","$e","d","_e","s","p","m","h","$","Ze","ke","Kt","Kr","Qr","mt","dt","tr","er","Zt","et","Zr","en","tn","rn","me","Et","tt","Qt","rr","Ce","nn","be","on","Re","D","nr","ce","or","ze","an","ln","sn","cn","un","ir","fn","dn","mn","f","Xe","Ue","ar","Oe","rt","Ft","Nt","lr","sr","cr","ur","hn","Lt","pn","Pt","Ne","gn","nt","Ee","Rt","yn","wn","Tt","bn","xn","$n","Sn","Cn","we","vn","kn","An","Mn","fr","Wt","En","Fn","Ke","Nn","Ln","Pn","Rn","Tn","Wn","In","_n","Un","On","jn","Hn","Dn","se","Bn","qn","Vn","Me","Fe","zn","It","Ie","Xn","Yn","Gn","je","j","_","B","U","V","Jn","xe","ot","Kn","de","Qn","_t","Zn","eo","to","ro","no","oo","io","dr","ao","ht","lo","He","De","so","co","uo","fo","mo","ho","po","Ut","it","qe","go","mr","yo","hr","pr","pt","gr","wo","Ot","bo","xo","yr","So","g","w","b","E","te","re","k","O","F","L","I","Y","X","ae","ne","J","Z","Ae","wr","Co","br","vo","ko","jt","Ht","Dt","Ao","Mo","Se","Bt","$o","xr","Vt","at","qt","ve","zt","Eo","Fo","lt","st","No","ct","Lo","Po","Xt","Ro","To","Wo","Io","_o","Uo","Sr","Oo","jo","Ho","Do","Bo","qo","Vo","Yo","zo","Xo","Le","Cr","Go","vr","ye","Jo","Ko","Qo","Zo","ei","ri","oi","ii","ai","li","si","ci","N","ut","fi","mi","hi","pi","gi","kr","Yt","yi","wi","Qe","bi","xi","Si","Ar","bt","xt","St","Ct","vt","kt","G","K","le","ue","fe","We","ge","Je","P","T","Gt","R","H","gt","$r","he","pe","Er","Fr","yt","Nr","Te","Lr","Ye","Ge","wt","Pr","Rr","Tr","Ci","vi","Ai","Mr","ki","Jt","$i","Mi"],"mappings":"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"}
|