vrembem 4.0.0-next.32 → 4.0.0-next.34
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/LICENSE +1 -1
- package/dev/base.css +20 -9
- package/dev/base.css.map +1 -1
- package/dev/index.css +95 -87
- package/dev/index.css.map +1 -1
- package/dev/index.js +1648 -1610
- package/dev/index.js.map +1 -1
- package/dev/index.umd.cjs +1617 -1579
- package/dev/index.umd.cjs.map +1 -1
- package/dev/root.css +75 -76
- package/dev/root.css.map +1 -1
- package/dist/base.css +1 -1
- package/dist/base.css.map +1 -1
- package/dist/index.css +1 -1
- package/dist/index.css.map +1 -1
- package/dist/index.js +2084 -2056
- package/dist/index.js.map +1 -1
- package/dist/index.umd.cjs +9 -9
- package/dist/index.umd.cjs.map +1 -1
- package/dist/root.css +1 -1
- package/dist/root.css.map +1 -1
- package/package.json +23 -22
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../core/dist/index.js","../../drawer/dist/index.js","../../modal/dist/index.js","../../popover/dist/index.js"],"sourcesContent":["const u = \":not([inert])\", f = ':not([tabindex^=\"-\"])', m = \":not(:disabled)\", k = [\n `a[href]${u}${f}`,\n `area[href]${u}${f}`,\n `input:not([type=\"hidden\"]):not([type=\"radio\"])${u}${f}${m}`,\n `input[type=\"radio\"]${u}${f}${m}`,\n `select${u}${f}${m}`,\n `textarea${u}${f}${m}`,\n `button${u}${f}${m}`,\n `details${u} > summary:first-of-type${f}`,\n `iframe${u}${f}`,\n `audio[controls]${u}${f}`,\n `video[controls]${u}${f}`,\n `[contenteditable]${u}${f}`,\n `[tabindex]${u}${f}`\n];\nfunction C(n, t = \"config\") {\n const s = (n.getAttribute(`data-${t}`) || \"\").replace(/'/g, '\"');\n return s ? JSON.parse(s) : {};\n}\nfunction E(n) {\n if (typeof n == \"string\") {\n const t = document.getElementById(n);\n if (t) return t;\n throw new Error(`Element not found with ID: \"${n}\"`);\n } else if (n instanceof HTMLElement) {\n if (!n.id)\n throw new Error(\"HTMLElement must have an ID\");\n return n;\n } else\n throw new Error(\"Invalid argument: query must be a string or HTMLElement\");\n}\nasync function g(n, t, ...e) {\n t in n && typeof n[t] == \"function\" && await n[t](...e);\n}\nfunction x(n, t, e) {\n if (typeof t == \"string\") {\n const r = document.querySelector(t);\n if (!r)\n throw new Error(`No teleport reference found for selector: ${t}`);\n t = r;\n } else if (!(t instanceof HTMLElement))\n throw new Error(`Not a valid teleport reference: '${t}'`);\n if (typeof t[e] != \"function\")\n throw new Error(`Not a valid teleport method: '${e}'`);\n let s = document.createComment(\n \"teleported #\" + n.id\n );\n return n.before(s), t[e](n), () => {\n s && (s.after(n), s.remove(), s = null);\n };\n}\nfunction v(n) {\n return n.split(\"-\").map(\n (t, e) => e === 0 ? t : t.charAt(0).toUpperCase() + t.slice(1)\n ).join(\"\");\n}\nfunction $(n) {\n return n.replace(/([a-z])([A-Z])/g, \"$1-$2\").toLowerCase();\n}\nfunction S(n) {\n if (typeof n == \"number\")\n return n;\n const t = parseFloat(n);\n if (!Number.isNaN(t)) {\n const e = n.includes(\"ms\");\n return t * (e ? 1 : 1e3);\n }\n throw new Error(`Could not convert value to milliseconds: ${n}`);\n}\nfunction J(n, t, e, s, r = 0) {\n return new Promise((a) => {\n n.classList.remove(t), n.classList.add(e), setTimeout(() => {\n n.classList.add(s), n.classList.remove(e), a(n);\n }, S(r));\n });\n}\nfunction R(n, t = {}) {\n const e = {\n fallback: null,\n element: document.body,\n ...t\n };\n if (!n.startsWith(\"--\")) {\n const r = y();\n r && (n = `${r}${n}`), n = `--${n}`;\n }\n const s = getComputedStyle(e.element).getPropertyValue(n).trim();\n if (s)\n return s;\n if (e.fallback)\n return e.fallback;\n throw new Error(`CSS variable \"${n}\" was not found!`);\n}\nasync function h(n, t, e) {\n await g(t, n, e), e && await g(e, n);\n for (const s of t.plugins)\n await g(s, n, { plugin: s, parent: t, entry: e });\n await t.emit(n, e);\n}\nfunction M(n) {\n const t = getComputedStyle(n.el), e = {}, s = n.getSetting(\"customProps\");\n for (let r = 0; r < s.length; r++) {\n const a = y(), o = n.parent.module.toLowerCase(), i = $(s[r]), c = t.getPropertyValue(`--${a}${o}-${i}`).trim();\n c && (e[i] = c);\n }\n return e;\n}\nfunction y() {\n return getComputedStyle(document.body).getPropertyValue(\"--vb-prefix\").trim();\n}\nfunction P(n, t, e = \"camel\") {\n return t = e === \"camel\" ? v(t) : $(t), n.split(\".\").concat(t).reduce((s, r) => s?.[r], this);\n}\nfunction A(n, t = {}) {\n const {\n fallback: e,\n props: s = [\"dataConfig\", \"customProps\", \"settings\", \"parent.settings\"]\n } = t;\n for (const r of s) {\n const a = r !== \"customProps\" ? \"camel\" : \"kebab\", o = P.call(this, r, n, a);\n if (o !== void 0)\n return o;\n }\n if (e !== void 0)\n return e;\n throw new Error(`${this.parent.module} setting does not exist: ${n}`);\n}\nfunction I(n, t) {\n t && document.querySelectorAll(t).forEach((s) => {\n n ? s.style.overflow = \"hidden\" : s.style.removeProperty(\"overflow\");\n });\n}\nfunction T(n, t) {\n t && document.querySelectorAll(t).forEach((s) => {\n n ? (s.inert = !0, s.setAttribute(\"aria-hidden\", \"true\")) : (s.inert = !1, s.removeAttribute(\"aria-hidden\"));\n });\n}\nfunction G(n, t, e) {\n T(!!n, t), I(!!n, e);\n}\nconst L = {\n events: {},\n on(n, t, ...e) {\n this.events[n] || (this.events[n] = []), this.events[n].some(\n (r) => r.listener === t\n ) || this.events[n].push({ listener: t, args: e });\n },\n off(n, t) {\n this.events[n] && (this.events[n] = this.events[n].filter(\n (e) => e.listener !== t\n ));\n },\n async emit(n, t) {\n if (n = n.startsWith(\"on\") ? n.slice(2, 3).toLowerCase() + n.slice(3) : n, !!this.events[n])\n for (const { listener: e, args: s } of this.events[n])\n await e(t, ...s);\n }\n};\nclass O extends Array {\n constructor(t = null) {\n super(), this.el = t, this.el && this.set();\n }\n get first() {\n return this[0];\n }\n get last() {\n return this[this.length - 1];\n }\n set(t = this.el) {\n this.length = 0, t && this.push(...t.querySelectorAll(k.join(\",\")));\n }\n clear() {\n this.length = 0;\n }\n}\nclass U {\n constructor(t = null) {\n this.el = t, this.focusable = new O(), this.handleFocusTrap = D.bind(this);\n }\n on(t = this.el) {\n this.focusable.set(t), this.focusable.length ? document.addEventListener(\"keydown\", this.handleFocusTrap) : document.addEventListener(\"keydown\", b);\n }\n off() {\n this.focusable.clear(), document.removeEventListener(\"keydown\", this.handleFocusTrap), document.removeEventListener(\"keydown\", b);\n }\n}\nfunction b(n) {\n (n.key === \"Tab\" || n.keyCode === 9) && n.preventDefault();\n}\nfunction D(n) {\n if (n.key !== \"Tab\" && n.keyCode !== 9) return;\n const { activeElement: t } = document, { el: e, focusable: s } = this, r = n.shiftKey, a = t === s.first || t === e, o = t === s.last || t === e;\n if (r && a || !r && o) {\n n.preventDefault();\n const i = r ? s.last : s.first;\n i && typeof i.focus == \"function\" && i.focus();\n }\n}\nfunction w(n, t = !0) {\n const e = localStorage.getItem(n), s = e ? JSON.parse(e) : {};\n return {\n get(r, a) {\n return r ? r in s ? s[r] : a : s;\n },\n set(r, a) {\n return a ? s[r] = a : delete s[r], t && localStorage.setItem(n, JSON.stringify(s)), s;\n }\n };\n}\nclass H extends Array {\n constructor(t = {}) {\n super(), this.presets = t;\n }\n applySettings(t) {\n const e = t?.defaults || {}, s = this.presets?.[t.name] || {}, r = t?.options || {};\n t.settings = { ...e, ...s, ...r };\n }\n validate(t) {\n return !(\"name\" in t) || typeof t.name != \"string\" ? (console.error(\"Plugin requires a name!\"), !1) : !0;\n }\n get(t) {\n return this.find((e) => e.name === t);\n }\n add(t) {\n if (Array.isArray(t))\n t.forEach((e) => this.add(e));\n else if (this.applySettings(t), this.validate(t)) {\n const e = this.findIndex((s) => s.name === t.name);\n ~e ? this[e] = t : this.push(t);\n }\n }\n remove(t) {\n const e = this.findIndex((s) => s.name === t);\n ~e && this.splice(e, 1);\n }\n}\nclass W extends Array {\n constructor(t = {}) {\n super(), this.settings = t;\n }\n get copy() {\n return [...this];\n }\n get top() {\n const t = this[this.length - 1];\n return t || null;\n }\n updateIndex() {\n this.forEach((t, e) => {\n t.el.style.zIndex = \"\";\n const s = getComputedStyle(t.el)[\"z-index\"];\n t.el.style.zIndex = String(parseInt(s, 10) + e + 1);\n });\n }\n onChange() {\n this.updateIndex(), typeof this.settings.onChange == \"function\" && this.settings.onChange();\n }\n add(t) {\n this.push(t), this.onChange();\n }\n remove(t) {\n const e = this.findIndex((s) => s.id === t.id);\n ~e && (t.el.style.zIndex = \"\", this.splice(e, 1), this.onChange());\n }\n moveToTop(t) {\n const e = this.findIndex((s) => s.id === t.id);\n ~e && (this.splice(e, 1), this.add(t));\n }\n}\nconst N = {\n condition: !0\n}, Q = {\n primary: \"hsl(152deg 60% 50%)\",\n secondary: \"hsl(214deg 50% 50%)\",\n neutral: \"hsl(214deg 20% 50%)\",\n important: \"hsl(0deg 80% 50%)\"\n};\nfunction Z(n = {}) {\n const t = {\n name: \"debug\",\n defaults: N,\n options: n\n };\n function e(o, i = [], c = [\"primary\", \"secondary\"]) {\n const l = c.map((d) => `color: ${Q[d]}`);\n console.log(`%c📡 DEBUG: %c${o}`, ...l, ...i);\n }\n function s(o, ...i) {\n return typeof o == \"function\" ? o(...i) : o;\n }\n const r = {\n beforeMountRef: e.bind(null, \"Event > beforeMount()\"),\n afterMountRef: e.bind(null, \"Event > afterMount()\"),\n beforeUnmountRef: e.bind(\n null,\n \"Event > beforeUnmount()\",\n [],\n [\"important\", \"neutral\"]\n ),\n afterUnmountRef: e.bind(\n null,\n \"Event > afterUnmount()\",\n [],\n [\"important\", \"neutral\"]\n ),\n createEntryRef: (o, { parent: i, plugin: c }) => {\n if (s(c.settings.condition, o)) {\n const l = i.collection.length;\n e(`Event > createEntry() > [${l}] #${o.id}`);\n }\n },\n registerEntryRef: (o, { parent: i, plugin: c }) => {\n if (s(c.settings.condition, o)) {\n const l = i.collection.length;\n e(`Event > registerEntry() > [${l}] #${o.id}`);\n }\n },\n destroyEntryRef: (o, { parent: i, plugin: c }) => {\n if (s(c.settings.condition, o)) {\n const l = i.collection.length;\n e(\n `Event > destroyEntry() > [${l}] #${o.id}`,\n [],\n [\"important\", \"neutral\"]\n );\n }\n },\n deregisterEntryRef: (o, { parent: i, plugin: c }) => {\n if (s(c.settings.condition, o)) {\n const l = i.collection.length;\n e(\n `Event > deregisterEntry() > [${l}]`,\n [],\n [\"important\", \"neutral\"]\n );\n }\n }\n };\n return { ...t, ...{\n // Plugin setup/teardown methods\n setup({ parent: o }) {\n e(\"Plugin > setup()\", Array.from(arguments), [\"secondary\", \"neutral\"]), o.on(\"beforeMount\", r.beforeMountRef), o.on(\"createEntry\", r.createEntryRef, { parent: o, plugin: this }), o.on(\"registerEntry\", r.registerEntryRef, {\n parent: o,\n plugin: this\n }), o.on(\"afterMount\", r.afterMountRef), o.on(\"beforeUnmount\", r.beforeUnmountRef), o.on(\"destroyEntry\", r.destroyEntryRef, { parent: o, plugin: this }), o.on(\"deregisterEntry\", r.deregisterEntryRef, {\n parent: o,\n plugin: this\n }), o.on(\"afterUnmount\", r.afterUnmountRef);\n },\n teardown({ parent: o }) {\n e(\"Plugin > teardown()\", Array.from(arguments), [\n \"secondary\",\n \"neutral\"\n ]), o.off(\"beforeMount\", r.beforeMountRef), o.off(\"createEntry\", r.createEntryRef), o.off(\"registerEntry\", r.registerEntryRef), o.off(\"afterMount\", r.afterMountRef), o.off(\"beforeUnmount\", r.beforeUnmountRef), o.off(\"destroyEntry\", r.destroyEntryRef), o.off(\"deregisterEntry\", r.deregisterEntryRef), o.off(\"afterUnmount\", r.afterUnmountRef);\n },\n // Mount lifecycle hooks\n beforeMount() {\n e(\"Hook > beforeMount()\", Array.from(arguments));\n },\n onCreateEntry({ parent: o, entry: i }) {\n if (s(this.settings.condition, i)) {\n const c = o.collection.length;\n e(\n `Hook > onCreateEntry() > [${c}] #${i.id}`,\n Array.from(arguments)\n );\n }\n },\n onRegisterEntry({ parent: o, entry: i }) {\n if (s(this.settings.condition, i)) {\n const c = o.collection.length - 1;\n e(\n `Hook > onRegisterEntry() > [${c}] #${i.id}`,\n Array.from(arguments)\n );\n }\n },\n afterMount() {\n e(\"Hook > afterMount()\", Array.from(arguments));\n },\n // Unmount lifecycle hooks\n beforeUnmount() {\n e(\"Hook > beforeUnmount()\", Array.from(arguments), [\n \"important\",\n \"neutral\"\n ]);\n },\n onDestroyEntry({ parent: o, entry: i }) {\n if (s(this.settings.condition, i)) {\n const c = o.collection.length - 1;\n e(\n `Hook > onDestroyEntry() > [${c}] #${i.id}`,\n Array.from(arguments),\n [\"important\", \"neutral\"]\n );\n }\n },\n onDeregisterEntry({ parent: o, entry: i }) {\n if (s(this.settings.condition, i)) {\n const c = o.collection.length;\n e(`Hook > onDeregisterEntry() > [${c}]`, Array.from(arguments), [\n \"important\",\n \"neutral\"\n ]);\n }\n },\n afterUnmount() {\n e(\"Hook > afterUnmount()\", Array.from(arguments), [\n \"important\",\n \"neutral\"\n ]);\n }\n } };\n}\nconst q = {\n condition: !0\n};\nfunction _(n = {}) {\n const t = {\n name: \"focusTrap\",\n defaults: q,\n options: n\n }, e = {\n setup({ parent: o }) {\n o.on(\"opened\", r, this), o.on(\"closed\", a, this);\n },\n teardown({ parent: o }) {\n o.off(\"opened\", r), o.off(\"closed\", a);\n },\n onCreateEntry({ entry: o }) {\n o.focusTrap = new U();\n }\n };\n function s(o, ...i) {\n return typeof o == \"function\" ? o(...i) : o;\n }\n function r(o, i) {\n const c = { plugin: i, parent: o.parent, entry: o };\n s(i.settings.condition, c) && o.focusTrap?.on(o.dialog);\n }\n function a(o, i) {\n const c = { plugin: i, parent: o.parent, entry: o };\n s(i.settings.condition, c) && o.focusTrap?.off();\n }\n return { ...t, ...e };\n}\nconst F = {\n // The data attributes to get the breakpoint values from\n dataBreakpoint: \"breakpoint\",\n // The data attributes to get the media query value from\n dataMediaQuery: \"media-query\",\n // The string token to replace in the media query string\n token: \"{{BP}}\",\n // Sets a global breakpoint. Can be overridden by setting a data attribute\n // value. Notice: setting this option will enable a media query breakpoint on\n // all entries.\n breakpoint: null,\n // The default media query string to use. Can be overridden by setting a data\n // attribute value.\n mediaQuery: \"(min-width: {{BP}})\",\n // Maps entry ID or breakpoint key to breakpoint values. This is referenced\n // when getting an entries breakpoint value.\n breakpoints: {},\n // Maps entry ID's to a media query strings. Media query may contain a token.\n // This is referenced when getting an entries media query string.\n mediaQueries: {},\n // The function to run when the MediaQueryList triggers a \"change\" event.\n // This is run once on initial mount.\n onChange: () => {\n }\n};\nfunction X(n = {}) {\n const t = {\n name: \"mediaQuery\",\n defaults: F,\n options: n\n }, e = {\n // Run when an entry is created\n // Sets up the MediaQueryList and event listener\n onCreateEntry({ entry: i }) {\n a.call(this, i);\n },\n // Run when an entry is destroyed\n // Removes the MediaQueryList and event listener\n onDestroyEntry({ entry: i }) {\n o(i);\n }\n };\n function s(i) {\n const c = i.el.getAttribute(`data-${this.settings.dataMediaQuery}`);\n return !c && i.id in this.settings.mediaQueries ? this.settings.mediaQueries[i.id] : c || void 0;\n }\n function r(i) {\n let c = i.el.getAttribute(`data-${this.settings.dataBreakpoint}`);\n return !c && i.id in this.settings.breakpoints && (c = this.settings.breakpoints[i.id]), c && c in this.settings.breakpoints && (c = this.settings.breakpoints[c]), c && (c = getComputedStyle(document.body).getPropertyValue(`--${y()}breakpoint-${c}`).trim() || c), c || this.settings.breakpoint;\n }\n function a(i) {\n let c = s.call(this, i);\n const l = r.call(this, i);\n if (!l && !c) return;\n l && !c && (c = this.settings.mediaQuery);\n const d = c.replace(new RegExp(`${this.settings.token}`, \"g\"), l);\n i.mql = window.matchMedia(d), i.mql.onchange = (p) => {\n this.settings.onChange(p, i);\n }, this.settings.onChange(i.mql, i);\n }\n function o(i) {\n i.mql && (i.mql.onchange = null, i.mql = null);\n }\n return { ...t, ...e };\n}\nconst V = {\n // The property on entry objects to watch\n prop: \"state\",\n // The default value or a function to compute the initial value\n value: null,\n // The local storage key prefix\n keyPrefix: \"VB:\",\n // The local storage key to use. If not provided, module name and prop value\n // will be used e.g., \"VB:ModalState\".\n key: null,\n // Condition to determine whether or not to store the value in local storage\n condition: !1,\n // The function to run whenever the value changes\n onChange() {\n }\n};\nfunction Y(n = {}) {\n const t = {\n name: \"propStore\",\n defaults: V,\n options: n,\n store: null\n }, e = {\n setup({ parent: i }) {\n this.store = w(o.call(this, i.module));\n },\n async onCreateEntry({ entry: i }) {\n await s.call(this, i);\n },\n onDestroyEntry({ entry: i }) {\n a.call(this, i);\n }\n };\n async function s(i) {\n let c = i[this.settings.prop] || null;\n const l = { plugin: this, parent: i.parent, entry: i };\n Object.defineProperty(i, this.settings.prop, {\n configurable: !0,\n get() {\n return c;\n },\n set: async (d) => {\n if (c === d) return;\n const p = c;\n c = d, r(\n this.settings.condition,\n l,\n d,\n p\n ) && this.store.set(i.id, d), await this.settings.onChange(l, d, p);\n }\n }), Object.defineProperty(i, \"store\", {\n configurable: !0,\n get: () => this.store.get(i.id),\n set: (d) => {\n i[this.settings.prop] = d;\n }\n }), i[this.settings.prop] = await r(this.settings.value, l) || i[this.settings.prop];\n }\n function r(i, ...c) {\n return typeof i == \"function\" ? i(...c) : i;\n }\n async function a(i) {\n const c = i[this.settings.prop];\n delete i[this.settings.prop], i[this.settings.prop] = c, this.store.set(i.id, null);\n }\n function o(i) {\n const c = this.settings.prop.charAt(0).toUpperCase() + this.settings.prop.slice(1), l = this.settings.key || i + c;\n return this.settings.keyPrefix + l;\n }\n return { ...t, ...e };\n}\nconst B = {\n where: null,\n how: \"append\"\n};\nfunction tt(n = {}) {\n const t = {\n name: \"teleport\",\n defaults: B,\n options: n\n }, e = {\n onCreateEntry({ plugin: a, entry: o }) {\n s(a, o);\n },\n onDestroyEntry({ plugin: a, entry: o }) {\n r(a, o);\n }\n };\n function s(a, o) {\n o.teleport = () => {\n typeof o.teleportReturn == \"function\" && o.teleportReturn(), o.teleportReturn = x(\n o.el,\n o.getSetting(\"teleport\", { fallback: a.settings.where }),\n o.getSetting(\"teleportMethod\", { fallback: a.settings.how })\n );\n }, o.teleport(), o.parent.emit(\"teleport\", { plugin: a, parent: o.parent, entry: o });\n }\n function r(a, o) {\n typeof o.teleportReturn == \"function\" && o.teleportReturn(), o.parent.emit(\"teleportReturn\", {\n plugin: a,\n parent: o.parent,\n entry: o\n });\n }\n return { ...t, ...e };\n}\nconst j = {\n dataConfig: \"config\",\n customProps: []\n};\nclass z {\n constructor(t, e, s = {}) {\n this.parent = t, this.el = E(e), this.settings = { ...s }, this.dataConfig = {}, this.customProps = {};\n }\n get id() {\n return this.el.id;\n }\n applySettings(t) {\n return Object.assign(this.settings, t);\n }\n getSetting(t, e) {\n return A.call(this, t, e);\n }\n buildDataConfig() {\n return Object.assign(\n this.dataConfig,\n C(this.el, this.getSetting(\"dataConfig\"))\n );\n }\n buildCustomProps() {\n return Object.assign(this.customProps, M(this));\n }\n async init(t = {}) {\n this.applySettings(t), this.buildDataConfig(), this.buildCustomProps();\n }\n async destroy() {\n Object.getOwnPropertyNames(this).forEach((t) => {\n delete this[t];\n });\n }\n}\nclass et {\n constructor(t = {}) {\n this.module = this.constructor.name, this.collection = [], this.entryClass = z, this.settings = { ...j, ...t }, this.plugins = new H(this.settings.presets), this.events = {}, Object.assign(this, L);\n }\n get(t, e = \"id\") {\n return this.collection.find((s) => s[e] === t);\n }\n applySettings(t) {\n return Object.assign(this.settings, t);\n }\n async createEntry(t, e) {\n const s = new this.entryClass(this, t, e);\n return await g(s, \"init\"), await h(\"onCreateEntry\", this, s), s;\n }\n async destroyEntry(t) {\n return await h(\"onDestroyEntry\", this, t), await g(t, \"destroy\"), t;\n }\n async register(t, e = {}) {\n const s = E(t), r = this.collection.findIndex((a) => a.id === s.id);\n if (~r) {\n const a = this.collection[r];\n return a.el = s, typeof a.init == \"function\" && await a.init(e), a;\n } else {\n const a = await this.createEntry(s, e);\n return this.collection.push(a), await h(\"onRegisterEntry\", this, a), a;\n }\n }\n async deregister(t) {\n const e = this.collection.findIndex((s) => s.id === t);\n if (~e) {\n const s = await this.destroyEntry(this.collection[e]);\n return await h(\n \"onDeregisterEntry\",\n this,\n this.collection[e]\n ), this.collection.splice(e, 1), s;\n }\n return null;\n }\n async mount(t = {}) {\n this.applySettings(t);\n for (const s of this.settings?.plugins || [])\n this.plugins.add(s);\n for (const s of this.plugins)\n await g(s, \"setup\", { plugin: s, parent: this });\n await h(\"beforeMount\", this);\n const e = document.querySelectorAll(this.settings.selector);\n for (const s of e)\n await this.register(s);\n return await h(\"afterMount\", this), this;\n }\n async unmount() {\n for (await h(\"beforeUnmount\", this); this.collection.length > 0; )\n await this.deregister(this.collection[0].id);\n await h(\"afterUnmount\", this);\n for (const t of this.plugins)\n await g(t, \"teardown\", { plugin: t, parent: this });\n for (const t of [...this.plugins])\n this.plugins.remove(t.name);\n return this;\n }\n}\nfunction nt(n = {}) {\n const t = {\n prefix: R(\"prefix-themes\", { fallback: \"vb-theme-\" }),\n themes: [\"root\", \"light\", \"dark\"],\n storeKey: \"VB:Profile\"\n };\n for (const [a] of Object.entries(t))\n n && n[a] && (t[a] = n[a]);\n const e = {\n onInit() {\n },\n onChange() {\n }\n };\n for (const [a] of Object.entries(e))\n n && n[a] && (e[a] = n[a]);\n const s = w(t.storeKey), r = {\n // Store our settings in the API\n settings: t,\n // Actions\n add(a) {\n t.themes.push(a);\n },\n remove(a) {\n const o = t.themes.indexOf(a);\n ~o && t.themes.splice(o, 1);\n },\n callback(a) {\n e[a].call(this);\n },\n // Getters\n get class() {\n return `${t.prefix}${this.theme}`;\n },\n get classes() {\n return t.themes.map((a) => `${t.prefix}${a}`);\n },\n get themes() {\n return t.themes;\n },\n // Setup the theme get and set methods\n get theme() {\n return s.get(\"theme\") || \"root\";\n },\n set theme(a) {\n t.themes.includes(a) ? this.theme != a && (s.set(\"theme\", a), document.documentElement.classList.remove(...this.classes), document.documentElement.classList.add(`${t.prefix}${a}`), this.callback(\"onChange\")) : console.error(`Not a valid theme value: \"${a}\"`);\n }\n };\n return r.callback(\"onInit\"), r;\n}\nexport {\n et as Collection,\n z as CollectionEntry,\n U as FocusTrap,\n O as FocusableArray,\n H as PluginsArray,\n W as StackArray,\n R as cssVar,\n Z as debug,\n h as dispatchLifecycleHook,\n L as eventEmitter,\n _ as focusTrap,\n k as focusableSelectors,\n M as getCustomProps,\n C as getDataConfig,\n E as getElement,\n y as getPrefix,\n A as getSetting,\n w as localStore,\n g as maybeRunMethod,\n X as mediaQuery,\n Y as propStore,\n G as setGlobalState,\n tt as teleport,\n x as teleportElement,\n nt as themeStore,\n v as toCamel,\n $ as toKebab,\n S as toMilliseconds,\n J as transition\n};\n//# sourceMappingURL=index.js.map\n","function b(t, e = \"config\") {\n const s = (t.getAttribute(`data-${e}`) || \"\").replace(/'/g, '\"');\n return s ? JSON.parse(s) : {};\n}\nfunction p(t) {\n if (typeof t == \"string\") {\n const e = document.getElementById(t);\n if (e) return e;\n throw new Error(`Element not found with ID: \"${t}\"`);\n } else if (t instanceof HTMLElement) {\n if (!t.id)\n throw new Error(\"HTMLElement must have an ID\");\n return t;\n } else\n throw new Error(\"Invalid argument: query must be a string or HTMLElement\");\n}\nasync function r(t, e, ...s) {\n e in t && typeof t[e] == \"function\" && await t[e](...s);\n}\nfunction C(t) {\n return t.split(\"-\").map(\n (e, s) => s === 0 ? e : e.charAt(0).toUpperCase() + e.slice(1)\n ).join(\"\");\n}\nfunction m(t) {\n return t.replace(/([a-z])([A-Z])/g, \"$1-$2\").toLowerCase();\n}\nfunction L(t) {\n if (typeof t == \"number\")\n return t;\n const e = parseFloat(t);\n if (!Number.isNaN(e)) {\n const s = t.includes(\"ms\");\n return e * (s ? 1 : 1e3);\n }\n throw new Error(`Could not convert value to milliseconds: ${t}`);\n}\nfunction w(t, e, s, i, n = 0) {\n return new Promise((a) => {\n t.classList.remove(e), t.classList.add(s), setTimeout(() => {\n t.classList.add(i), t.classList.remove(s), a(t);\n }, L(n));\n });\n}\nasync function o(t, e, s) {\n await r(e, t, s), s && await r(s, t);\n for (const i of e.plugins)\n await r(i, t, { plugin: i, parent: e, entry: s });\n await e.emit(t, s);\n}\nfunction O(t) {\n const e = getComputedStyle(t.el), s = {}, i = t.getSetting(\"customProps\");\n for (let n = 0; n < i.length; n++) {\n const a = M(), c = t.parent.module.toLowerCase(), h = m(i[n]), f = e.getPropertyValue(`--${a}${c}-${h}`).trim();\n f && (s[h] = f);\n }\n return s;\n}\nfunction M() {\n return getComputedStyle(document.body).getPropertyValue(\"--vb-prefix\").trim();\n}\nfunction $(t, e, s = \"camel\") {\n return e = s === \"camel\" ? C(e) : m(e), t.split(\".\").concat(e).reduce((i, n) => i?.[n], this);\n}\nfunction P(t, e = {}) {\n const {\n fallback: s,\n props: i = [\"dataConfig\", \"customProps\", \"settings\", \"parent.settings\"]\n } = e;\n for (const n of i) {\n const a = n !== \"customProps\" ? \"camel\" : \"kebab\", c = $.call(this, n, t, a);\n if (c !== void 0)\n return c;\n }\n if (s !== void 0)\n return s;\n throw new Error(`${this.parent.module} setting does not exist: ${t}`);\n}\nfunction x(t, e) {\n e && document.querySelectorAll(e).forEach((s) => {\n t ? s.style.overflow = \"hidden\" : s.style.removeProperty(\"overflow\");\n });\n}\nfunction A(t, e) {\n e && document.querySelectorAll(e).forEach((s) => {\n t ? (s.inert = !0, s.setAttribute(\"aria-hidden\", \"true\")) : (s.inert = !1, s.removeAttribute(\"aria-hidden\"));\n });\n}\nfunction d(t, e, s) {\n A(!!t, e), x(!!t, s);\n}\nconst D = {\n events: {},\n on(t, e, ...s) {\n this.events[t] || (this.events[t] = []), this.events[t].some(\n (i) => i.listener === e\n ) || this.events[t].push({ listener: e, args: s });\n },\n off(t, e) {\n this.events[t] && (this.events[t] = this.events[t].filter(\n (s) => s.listener !== e\n ));\n },\n async emit(t, e) {\n if (t = t.startsWith(\"on\") ? t.slice(2, 3).toLowerCase() + t.slice(3) : t, !!this.events[t])\n for (const { listener: s, args: i } of this.events[t])\n await s(e, ...i);\n }\n};\nclass y extends Array {\n constructor(e = {}) {\n super(), this.presets = e;\n }\n applySettings(e) {\n const s = e?.defaults || {}, i = this.presets?.[e.name] || {}, n = e?.options || {};\n e.settings = { ...s, ...i, ...n };\n }\n validate(e) {\n return !(\"name\" in e) || typeof e.name != \"string\" ? (console.error(\"Plugin requires a name!\"), !1) : !0;\n }\n get(e) {\n return this.find((s) => s.name === e);\n }\n add(e) {\n if (Array.isArray(e))\n e.forEach((s) => this.add(s));\n else if (this.applySettings(e), this.validate(e)) {\n const s = this.findIndex((i) => i.name === e.name);\n ~s ? this[s] = e : this.push(e);\n }\n }\n remove(e) {\n const s = this.findIndex((i) => i.name === e);\n ~s && this.splice(s, 1);\n }\n}\nconst I = {\n dataConfig: \"config\",\n customProps: []\n};\nclass S {\n constructor(e, s, i = {}) {\n this.parent = e, this.el = p(s), this.settings = { ...i }, this.dataConfig = {}, this.customProps = {};\n }\n get id() {\n return this.el.id;\n }\n applySettings(e) {\n return Object.assign(this.settings, e);\n }\n getSetting(e, s) {\n return P.call(this, e, s);\n }\n buildDataConfig() {\n return Object.assign(\n this.dataConfig,\n b(this.el, this.getSetting(\"dataConfig\"))\n );\n }\n buildCustomProps() {\n return Object.assign(this.customProps, O(this));\n }\n async init(e = {}) {\n this.applySettings(e), this.buildDataConfig(), this.buildCustomProps();\n }\n async destroy() {\n Object.getOwnPropertyNames(this).forEach((e) => {\n delete this[e];\n });\n }\n}\nclass T {\n constructor(e = {}) {\n this.module = this.constructor.name, this.collection = [], this.entryClass = S, this.settings = { ...I, ...e }, this.plugins = new y(this.settings.presets), this.events = {}, Object.assign(this, D);\n }\n get(e, s = \"id\") {\n return this.collection.find((i) => i[s] === e);\n }\n applySettings(e) {\n return Object.assign(this.settings, e);\n }\n async createEntry(e, s) {\n const i = new this.entryClass(this, e, s);\n return await r(i, \"init\"), await o(\"onCreateEntry\", this, i), i;\n }\n async destroyEntry(e) {\n return await o(\"onDestroyEntry\", this, e), await r(e, \"destroy\"), e;\n }\n async register(e, s = {}) {\n const i = p(e), n = this.collection.findIndex((a) => a.id === i.id);\n if (~n) {\n const a = this.collection[n];\n return a.el = i, typeof a.init == \"function\" && await a.init(s), a;\n } else {\n const a = await this.createEntry(i, s);\n return this.collection.push(a), await o(\"onRegisterEntry\", this, a), a;\n }\n }\n async deregister(e) {\n const s = this.collection.findIndex((i) => i.id === e);\n if (~s) {\n const i = await this.destroyEntry(this.collection[s]);\n return await o(\n \"onDeregisterEntry\",\n this,\n this.collection[s]\n ), this.collection.splice(s, 1), i;\n }\n return null;\n }\n async mount(e = {}) {\n this.applySettings(e);\n for (const i of this.settings?.plugins || [])\n this.plugins.add(i);\n for (const i of this.plugins)\n await r(i, \"setup\", { plugin: i, parent: this });\n await o(\"beforeMount\", this);\n const s = document.querySelectorAll(this.settings.selector);\n for (const i of s)\n await this.register(i);\n return await o(\"afterMount\", this), this;\n }\n async unmount() {\n for (await o(\"beforeUnmount\", this); this.collection.length > 0; )\n await this.deregister(this.collection[0].id);\n await o(\"afterUnmount\", this);\n for (const e of this.plugins)\n await r(e, \"teardown\", { plugin: e, parent: this });\n for (const e of [...this.plugins])\n this.plugins.remove(e.name);\n return this;\n }\n}\nconst k = {\n focusTrap: {\n condition: ({ entry: t }) => t.state === \"closed\" || t.state === \"opened\" && t.mode === \"modal\"\n },\n mediaQuery: {\n onChange(t, e) {\n e.mode = t.matches ? \"inline\" : \"modal\";\n }\n },\n propStore: {\n prop: \"inlineState\",\n value: ({ entry: t }) => t.store,\n condition: ({ entry: t }) => [\"opened\", \"closed\", \"indeterminate\"].includes(t.state),\n onChange: ({ entry: t }) => t.applyState()\n }\n}, j = {\n presets: k,\n dataOpen: \"drawer-open\",\n dataClose: \"drawer-close\",\n dataToggle: \"drawer-toggle\",\n selector: \".drawer\",\n selectorDialog: \".drawer__dialog\",\n selectorScreen: \".drawer\",\n selectorFocus: \"[data-focus]\",\n selectorInert: null,\n selectorOverflow: \"body\",\n stateOpened: \"is-opened\",\n stateOpening: \"is-opening\",\n stateClosing: \"is-closing\",\n stateClosed: \"is-closed\",\n classModal: \"drawer_modal\",\n customProps: [\"transition-duration\"],\n breakpoints: null,\n customEventPrefix: \"drawer:\",\n setTabindex: !0,\n transition: !0,\n transitionDuration: 300\n};\nfunction q(t) {\n switch (t.mode) {\n case \"inline\":\n return H(t);\n case \"modal\":\n return N(t);\n default:\n throw new Error(`\"${t.mode}\" is not a valid drawer mode.`);\n }\n}\nasync function H(t) {\n return t.el.classList.remove(t.getSetting(\"classModal\")), t.dialog.removeAttribute(\"aria-modal\"), d(\n !1,\n t.getSetting(\"selectorInert\"),\n t.getSetting(\"selectorOverflow\")\n ), t.applyState(), t.el.dispatchEvent(\n new CustomEvent(t.getSetting(\"customEventPrefix\") + \"switchMode\", {\n detail: t.parent,\n bubbles: !0\n })\n ), await t.parent.emit(\"switchMode\", t), t;\n}\nasync function N(t) {\n return t.el.classList.add(t.getSetting(\"classModal\")), t.dialog.setAttribute(\"aria-modal\", \"true\"), await t.close(!1, !1), t.el.dispatchEvent(\n new CustomEvent(t.getSetting(\"customEventPrefix\") + \"switchMode\", {\n detail: t.parent,\n bubbles: !0\n })\n ), await t.parent.emit(\"switchMode\", t), t;\n}\nfunction v(t) {\n t.dialog && t.state === \"opened\" ? (t.dialog.querySelector(t.parent.settings.selectorFocus) || t.dialog).focus() : t.trigger && (t.trigger.focus(), t.trigger = null);\n}\nasync function u(t, e, s = !0) {\n return (t.state === \"closed\" || t.state === \"indeterminate\" || t.state === null) && (t.setState(\"opening\"), e ?? t.getSetting(\"transition\") ? await w(\n t.el,\n t.getSetting(\"stateClosed\"),\n t.getSetting(\"stateOpening\"),\n t.getSetting(\"stateOpened\"),\n t.getSetting(\"transitionDuration\")\n ) : (t.el.classList.add(t.getSetting(\"stateOpened\")), t.el.classList.remove(t.getSetting(\"stateClosed\"))), t.setState(\"opened\"), t.mode === \"modal\" && d(\n !0,\n t.getSetting(\"selectorInert\"),\n t.getSetting(\"selectorOverflow\")\n ), s && v(t), t.el.dispatchEvent(\n new CustomEvent(t.getSetting(\"customEventPrefix\") + \"opened\", {\n detail: t.parent,\n bubbles: !0\n })\n ), await t.parent.emit(\"opened\", t)), t;\n}\nasync function g(t, e, s = !0) {\n return (t.state === \"opened\" || t.state === \"indeterminate\" || t.state === null) && (t.setState(\"closing\"), document.activeElement && document.activeElement instanceof HTMLElement && document.activeElement.blur(), e ?? t.getSetting(\"transition\") ? await w(\n t.el,\n t.getSetting(\"stateOpened\"),\n t.getSetting(\"stateClosing\"),\n t.getSetting(\"stateClosed\"),\n t.getSetting(\"transitionDuration\")\n ) : (t.el.classList.add(t.getSetting(\"stateClosed\")), t.el.classList.remove(t.getSetting(\"stateOpened\"))), t.setState(\"closed\"), t.mode === \"modal\" && d(\n !1,\n t.getSetting(\"selectorInert\"),\n t.getSetting(\"selectorOverflow\")\n ), s && v(t), t.el.dispatchEvent(\n new CustomEvent(t.getSetting(\"customEventPrefix\") + \"closed\", {\n detail: t.parent,\n bubbles: !0\n })\n ), await t.parent.emit(\"closed\", t)), t;\n}\nasync function E(t, e, s) {\n return t.state === \"closed\" ? u(t, e, s) : g(t, e, s);\n}\nclass F extends S {\n #t;\n constructor(e, s, i = {}) {\n super(e, s, i), this.#t = \"indeterminate\", this.dialog = this.el.querySelector(this.getSetting(\"selectorDialog\")) || this.el, this.trigger = null, this.state = null, this.inlineState = null;\n }\n get mode() {\n return this.#t;\n }\n set mode(e) {\n this.#t !== e && (this.#t = e, q(this));\n }\n setState(e) {\n this.state = e;\n const s = [\"opening\", \"closing\"];\n this.mode === \"inline\" && !s.includes(e) && (this.inlineState = e), e === \"indeterminate\" && (this.el.classList.remove(this.getSetting(\"stateOpened\")), this.el.classList.remove(this.getSetting(\"stateOpening\")), this.el.classList.remove(this.getSetting(\"stateClosed\")), this.el.classList.remove(this.getSetting(\"stateClosing\")));\n }\n async applyState() {\n if (this.mode === \"modal\") return this;\n if (this.inlineState === \"opened\")\n return await this.open(!1, !1);\n if (this.inlineState === \"closed\")\n return await this.close(!1, !1);\n if (this.state === null) {\n if (this.el.classList.contains(this.getSetting(\"stateOpened\")))\n return await this.open(!1, !1);\n if (this.el.classList.contains(this.getSetting(\"stateClosed\")))\n return await this.close(!1, !1);\n }\n return this.setState(\"indeterminate\"), this;\n }\n async open(e, s) {\n return u(this, e, s);\n }\n async close(e, s) {\n return g(this, e, s);\n }\n async toggle(e, s) {\n return E(this, e, s);\n }\n async deregister() {\n return this.parent.deregister(this.id);\n }\n async onCreateEntry() {\n this.getSetting(\"setTabindex\") && this.dialog && this.dialog.setAttribute(\"tabindex\", \"-1\"), await this.applyState(), this.inlineState = this.state, this.mode = this.el && this.el.classList.contains(this.getSetting(\"classModal\")) ? \"modal\" : \"inline\";\n }\n async onDestroyEntry() {\n this.mode === \"modal\" && this.state === \"opened\" && await this.close(!1);\n }\n}\nfunction l(t) {\n const e = this.get(t);\n if (e)\n return e;\n throw new Error(`Drawer not found in collection with id of \"${t}\"`);\n}\nasync function U(t) {\n const e = t.target;\n if (e) {\n const s = e.closest(`\n [data-${this.settings.dataOpen}],\n [data-${this.settings.dataToggle}],\n [data-${this.settings.dataClose}]\n `);\n if (s) {\n t.preventDefault(), s.matches(`[data-${this.settings.dataToggle}]`) && s.getAttribute(`data-${this.settings.dataToggle}`)?.trim().split(\" \")?.forEach((n) => {\n const a = l.call(this, n);\n return a.trigger = s, a.toggle();\n }), s.matches(`[data-${this.settings.dataOpen}]`) && s.getAttribute(`data-${this.settings.dataOpen}`)?.trim().split(\" \")?.forEach((n) => {\n const a = l.call(this, n);\n return a.trigger = s, a.open();\n }), s.matches(`[data-${this.settings.dataClose}]`) && s.getAttribute(`data-${this.settings.dataClose}`)?.trim().split(\" \")?.forEach((n) => {\n if (n) {\n const a = l.call(this, n);\n return a.trigger = s, a.close();\n } else {\n const a = e.closest(this.settings.selector);\n if (a) return this.close(a.id);\n }\n });\n return;\n }\n if (this.activeModal && e.matches(this.settings.selectorScreen))\n return this.close(this.activeModal.id);\n }\n}\nfunction _(t) {\n if (t.key === \"Escape\" && this.activeModal)\n return this.close(this.activeModal.id);\n}\nclass z extends T {\n #t;\n #e;\n constructor(e) {\n super({ ...j, ...e }), this.module = \"Drawer\", this.entryClass = F, this.#t = U.bind(this), this.#e = _.bind(this);\n }\n get activeModal() {\n return this.collection.find((e) => e.state === \"opened\" && e.mode === \"modal\");\n }\n async open(e, s, i) {\n const n = l.call(this, e);\n return u(n, s, i);\n }\n async close(e, s, i) {\n const n = l.call(this, e);\n return g(n, s, i);\n }\n async toggle(e, s, i) {\n const n = l.call(this, e);\n return E(n, s, i);\n }\n async afterMount() {\n document.addEventListener(\"click\", this.#t, !1), document.addEventListener(\"keydown\", this.#e, !1);\n }\n async afterUnmount() {\n document.removeEventListener(\"click\", this.#t, !1), document.removeEventListener(\"keydown\", this.#e, !1);\n }\n}\nexport {\n z as default\n};\n//# sourceMappingURL=index.js.map\n","function C(e, t = \"config\") {\n const s = (e.getAttribute(`data-${t}`) || \"\").replace(/'/g, '\"');\n return s ? JSON.parse(s) : {};\n}\nfunction p(e) {\n if (typeof e == \"string\") {\n const t = document.getElementById(e);\n if (t) return t;\n throw new Error(`Element not found with ID: \"${e}\"`);\n } else if (e instanceof HTMLElement) {\n if (!e.id)\n throw new Error(\"HTMLElement must have an ID\");\n return e;\n } else\n throw new Error(\"Invalid argument: query must be a string or HTMLElement\");\n}\nasync function r(e, t, ...s) {\n t in e && typeof e[t] == \"function\" && await e[t](...s);\n}\nfunction S(e) {\n return e.split(\"-\").map(\n (t, s) => s === 0 ? t : t.charAt(0).toUpperCase() + t.slice(1)\n ).join(\"\");\n}\nfunction m(e) {\n return e.replace(/([a-z])([A-Z])/g, \"$1-$2\").toLowerCase();\n}\nfunction E(e) {\n if (typeof e == \"number\")\n return e;\n const t = parseFloat(e);\n if (!Number.isNaN(t)) {\n const s = e.includes(\"ms\");\n return t * (s ? 1 : 1e3);\n }\n throw new Error(`Could not convert value to milliseconds: ${e}`);\n}\nfunction w(e, t, s, i, n = 0) {\n return new Promise((o) => {\n e.classList.remove(t), e.classList.add(s), setTimeout(() => {\n e.classList.add(i), e.classList.remove(s), o(e);\n }, E(n));\n });\n}\nasync function a(e, t, s) {\n await r(t, e, s), s && await r(s, e);\n for (const i of t.plugins)\n await r(i, e, { plugin: i, parent: t, entry: s });\n await t.emit(e, s);\n}\nfunction b(e) {\n const t = getComputedStyle(e.el), s = {}, i = e.getSetting(\"customProps\");\n for (let n = 0; n < i.length; n++) {\n const o = A(), c = e.parent.module.toLowerCase(), g = m(i[n]), f = t.getPropertyValue(`--${o}${c}-${g}`).trim();\n f && (s[g] = f);\n }\n return s;\n}\nfunction A() {\n return getComputedStyle(document.body).getPropertyValue(\"--vb-prefix\").trim();\n}\nfunction x(e, t, s = \"camel\") {\n return t = s === \"camel\" ? S(t) : m(t), e.split(\".\").concat(t).reduce((i, n) => i?.[n], this);\n}\nfunction L(e, t = {}) {\n const {\n fallback: s,\n props: i = [\"dataConfig\", \"customProps\", \"settings\", \"parent.settings\"]\n } = t;\n for (const n of i) {\n const o = n !== \"customProps\" ? \"camel\" : \"kebab\", c = x.call(this, n, e, o);\n if (c !== void 0)\n return c;\n }\n if (s !== void 0)\n return s;\n throw new Error(`${this.parent.module} setting does not exist: ${e}`);\n}\nfunction O(e, t) {\n t && document.querySelectorAll(t).forEach((s) => {\n e ? s.style.overflow = \"hidden\" : s.style.removeProperty(\"overflow\");\n });\n}\nfunction P(e, t) {\n t && document.querySelectorAll(t).forEach((s) => {\n e ? (s.inert = !0, s.setAttribute(\"aria-hidden\", \"true\")) : (s.inert = !1, s.removeAttribute(\"aria-hidden\"));\n });\n}\nfunction $(e, t, s) {\n P(!!e, t), O(!!e, s);\n}\nconst I = {\n events: {},\n on(e, t, ...s) {\n this.events[e] || (this.events[e] = []), this.events[e].some(\n (i) => i.listener === t\n ) || this.events[e].push({ listener: t, args: s });\n },\n off(e, t) {\n this.events[e] && (this.events[e] = this.events[e].filter(\n (s) => s.listener !== t\n ));\n },\n async emit(e, t) {\n if (e = e.startsWith(\"on\") ? e.slice(2, 3).toLowerCase() + e.slice(3) : e, !!this.events[e])\n for (const { listener: s, args: i } of this.events[e])\n await s(t, ...i);\n }\n};\nclass M extends Array {\n constructor(t = {}) {\n super(), this.presets = t;\n }\n applySettings(t) {\n const s = t?.defaults || {}, i = this.presets?.[t.name] || {}, n = t?.options || {};\n t.settings = { ...s, ...i, ...n };\n }\n validate(t) {\n return !(\"name\" in t) || typeof t.name != \"string\" ? (console.error(\"Plugin requires a name!\"), !1) : !0;\n }\n get(t) {\n return this.find((s) => s.name === t);\n }\n add(t) {\n if (Array.isArray(t))\n t.forEach((s) => this.add(s));\n else if (this.applySettings(t), this.validate(t)) {\n const s = this.findIndex((i) => i.name === t.name);\n ~s ? this[s] = t : this.push(t);\n }\n }\n remove(t) {\n const s = this.findIndex((i) => i.name === t);\n ~s && this.splice(s, 1);\n }\n}\nclass k extends Array {\n constructor(t = {}) {\n super(), this.settings = t;\n }\n get copy() {\n return [...this];\n }\n get top() {\n return this[this.length - 1] || null;\n }\n updateIndex() {\n this.forEach((t, s) => {\n t.el.style.zIndex = \"\";\n const i = getComputedStyle(t.el)[\"z-index\"];\n t.el.style.zIndex = String(parseInt(i, 10) + s + 1);\n });\n }\n onChange() {\n this.updateIndex(), typeof this.settings.onChange == \"function\" && this.settings.onChange();\n }\n add(t) {\n this.push(t), this.onChange();\n }\n remove(t) {\n const s = this.findIndex((i) => i.id === t.id);\n ~s && (t.el.style.zIndex = \"\", this.splice(s, 1), this.onChange());\n }\n moveToTop(t) {\n const s = this.findIndex((i) => i.id === t.id);\n ~s && (this.splice(s, 1), this.add(t));\n }\n}\nconst D = {\n dataConfig: \"config\",\n customProps: []\n};\nclass v {\n constructor(t, s, i = {}) {\n this.parent = t, this.el = p(s), this.settings = { ...i }, this.dataConfig = {}, this.customProps = {};\n }\n get id() {\n return this.el.id;\n }\n applySettings(t) {\n return Object.assign(this.settings, t);\n }\n getSetting(t, s) {\n return L.call(this, t, s);\n }\n buildDataConfig() {\n return Object.assign(\n this.dataConfig,\n C(this.el, this.getSetting(\"dataConfig\"))\n );\n }\n buildCustomProps() {\n return Object.assign(this.customProps, b(this));\n }\n async init(t = {}) {\n this.applySettings(t), this.buildDataConfig(), this.buildCustomProps();\n }\n async destroy() {\n Object.getOwnPropertyNames(this).forEach((t) => {\n delete this[t];\n });\n }\n}\nclass q {\n constructor(t = {}) {\n this.module = this.constructor.name, this.collection = [], this.entryClass = v, this.settings = { ...D, ...t }, this.plugins = new M(this.settings.presets), this.events = {}, Object.assign(this, I);\n }\n get(t, s = \"id\") {\n return this.collection.find((i) => i[s] === t);\n }\n applySettings(t) {\n return Object.assign(this.settings, t);\n }\n async createEntry(t, s) {\n const i = new this.entryClass(this, t, s);\n return await r(i, \"init\"), await a(\"onCreateEntry\", this, i), i;\n }\n async destroyEntry(t) {\n return await a(\"onDestroyEntry\", this, t), await r(t, \"destroy\"), t;\n }\n async register(t, s = {}) {\n const i = p(t), n = this.collection.findIndex((o) => o.id === i.id);\n if (~n) {\n const o = this.collection[n];\n return o.el = i, typeof o.init == \"function\" && await o.init(s), o;\n } else {\n const o = await this.createEntry(i, s);\n return this.collection.push(o), await a(\"onRegisterEntry\", this, o), o;\n }\n }\n async deregister(t) {\n const s = this.collection.findIndex((i) => i.id === t);\n if (~s) {\n const i = await this.destroyEntry(this.collection[s]);\n return await a(\n \"onDeregisterEntry\",\n this,\n this.collection[s]\n ), this.collection.splice(s, 1), i;\n }\n return null;\n }\n async mount(t = {}) {\n this.applySettings(t);\n for (const i of this.settings?.plugins || [])\n this.plugins.add(i);\n for (const i of this.plugins)\n await r(i, \"setup\", { plugin: i, parent: this });\n await a(\"beforeMount\", this);\n const s = document.querySelectorAll(this.settings.selector);\n for (const i of s)\n await this.register(i);\n return await a(\"afterMount\", this), this;\n }\n async unmount() {\n for (await a(\"beforeUnmount\", this); this.collection.length > 0; )\n await this.deregister(this.collection[0].id);\n await a(\"afterUnmount\", this);\n for (const t of this.plugins)\n await r(t, \"teardown\", { plugin: t, parent: this });\n for (const t of [...this.plugins])\n this.plugins.remove(t.name);\n return this;\n }\n}\nconst T = {\n // Data attributes\n dataOpen: \"modal-open\",\n dataClose: \"modal-close\",\n dataReplace: \"modal-replace\",\n // Selectors\n selector: \".modal\",\n selectorDialog: \".modal__dialog\",\n selectorScreen: \".modal\",\n selectorRequired: '[role=\"alertdialog\"]',\n selectorFocus: \"[data-focus]\",\n selectorInert: null,\n selectorOverflow: \"body\",\n // State classes\n stateOpened: \"is-opened\",\n stateOpening: \"is-opening\",\n stateClosing: \"is-closing\",\n stateClosed: \"is-closed\",\n // Feature settings\n customProps: [\"transition-duration\"],\n customEventPrefix: \"modal:\",\n setTabindex: !0,\n transition: !0,\n transitionDuration: 300\n};\nfunction d(e) {\n e.active ? (e.active.dialog.querySelector(e.settings.selectorFocus) || e.active.dialog).focus() : e.trigger && (e.trigger.focus(), e.trigger = null);\n}\nasync function u(e, t, s = !0) {\n return e.parent.stack.moveToTop(e), e.state === \"closed\" && (e.state = \"opening\", e.parent.stack.add(e), t ?? e.getSetting(\"transition\") ? await w(\n e.el,\n e.getSetting(\"stateClosed\"),\n e.getSetting(\"stateOpening\"),\n e.getSetting(\"stateOpened\"),\n e.getSetting(\"transitionDuration\")\n ) : (e.el.classList.add(e.getSetting(\"stateOpened\")), e.el.classList.remove(e.getSetting(\"stateClosed\"))), e.state = \"opened\"), s && d(e.parent), e.el.dispatchEvent(\n new CustomEvent(e.getSetting(\"customEventPrefix\") + \"opened\", {\n detail: e.parent,\n bubbles: !0\n })\n ), await e.parent.emit(\"opened\", e), e;\n}\nasync function h(e, t, s = !0) {\n return e && e.state === \"opened\" && (e.state = \"closing\", document.activeElement && document.activeElement instanceof HTMLElement && document.activeElement.blur(), t ?? e.getSetting(\"transition\") ? await w(\n e.el,\n e.getSetting(\"stateOpened\"),\n e.getSetting(\"stateClosing\"),\n e.getSetting(\"stateClosed\"),\n e.getSetting(\"transitionDuration\")\n ) : (e.el.classList.add(e.getSetting(\"stateClosed\")), e.el.classList.remove(e.getSetting(\"stateOpened\"))), e.parent.stack.remove(e), e.state = \"closed\", s && d(e.parent), e.el.dispatchEvent(\n new CustomEvent(e.getSetting(\"customEventPrefix\") + \"closed\", {\n detail: e.parent,\n bubbles: !0\n })\n ), await e.parent.emit(\"closed\", e)), e;\n}\nasync function y(e, t, s = !0) {\n let i, n;\n return e.state === \"opened\" ? (i = e, n = await e.parent.closeAll(e.id, t)) : [n, i] = await Promise.all([\n e.parent.closeAll(\"\", t),\n u(e, t, !1)\n ]), s && d(e.parent), { opened: i, closed: n };\n}\nclass R extends v {\n constructor(t, s, i = {}) {\n super(t, s, i), this.state = \"closed\", this.dialog = this.el.querySelector(this.getSetting(\"selectorDialog\")) || this.el;\n }\n get isRequired() {\n return this.dialog.matches(this.getSetting(\"selectorRequired\"));\n }\n async open(t, s) {\n return u(this, t, s);\n }\n async close(t, s) {\n return h(this, t, s);\n }\n async replace(t, s) {\n return y(this, t, s);\n }\n async deregister() {\n return this.parent.deregister(this.id);\n }\n async onCreateEntry() {\n this.dialog.setAttribute(\"aria-modal\", \"true\"), this.dialog.hasAttribute(\"role\") || this.dialog.setAttribute(\"role\", \"dialog\"), this.getSetting(\"setTabindex\") && this.dialog.setAttribute(\"tabindex\", \"-1\");\n }\n async onRegisterEntry() {\n this.el.classList.contains(this.getSetting(\"stateOpened\")) ? await this.open(!1) : (this.el.classList.remove(this.getSetting(\"stateOpening\")), this.el.classList.remove(this.getSetting(\"stateClosing\")), this.el.classList.add(this.getSetting(\"stateClosed\")));\n }\n async onDestroyEntry() {\n this.state === \"opened\" && await this.close(!1);\n }\n}\nfunction l(e) {\n const t = this.get(e);\n if (t)\n return t;\n throw new Error(`Modal not found in collection with id of \"${e}\".`);\n}\nasync function j(e) {\n const t = e.target;\n if (t) {\n const s = t.closest(`\n [data-${this.settings.dataOpen}],\n [data-${this.settings.dataReplace}],\n [data-${this.settings.dataClose}]\n `);\n if (s) {\n if (e.preventDefault(), s.matches(`[data-${this.settings.dataOpen}]`)) {\n const i = s.getAttribute(`data-${this.settings.dataOpen}`)?.trim(), n = l.call(this, i);\n return t.closest(this.settings.selector) || (this.trigger = s), n.open();\n }\n if (s.matches(`[data-${this.settings.dataReplace}]`)) {\n const i = s.getAttribute(`data-${this.settings.dataReplace}`)?.trim(), n = l.call(this, i);\n return t.closest(this.settings.selector) || (this.trigger = s), n.replace();\n }\n if (s.matches(`[data-${this.settings.dataClose}]`)) {\n const i = s.getAttribute(`data-${this.settings.dataClose}`)?.trim();\n return i === \"*\" ? this.closeAll() : this.close(i || \"\");\n }\n }\n if (this.active && t.matches(this.settings.selectorScreen) && !this.active.isRequired)\n return this.close();\n }\n}\nfunction z(e) {\n if (e.key === \"Escape\" && this.active && !this.active.dialog.matches(this.settings.selectorRequired))\n return this.close();\n}\nasync function H(e = \"\", t) {\n const s = [];\n return await Promise.all(\n this.stack.copy.map(async (i) => {\n e && e === i.id || s.push(await h(i, t, !1));\n })\n ), s;\n}\nclass N extends q {\n #t;\n #e;\n constructor(t) {\n super({ ...T, ...t }), this.module = \"Modal\", this.entryClass = R, this.trigger = null, this.#t = j.bind(this), this.#e = z.bind(this), this.stack = new k({\n onChange: () => {\n $(\n !!this.stack.top,\n this.settings.selectorInert,\n this.settings.selectorOverflow\n );\n }\n });\n }\n get active() {\n return this.stack.top;\n }\n async open(t, s, i) {\n const n = l.call(this, t);\n return u(n, s, i);\n }\n async close(t, s, i) {\n const n = t ? l.call(this, t) : this.active;\n return h(n, s, i);\n }\n async replace(t, s, i) {\n const n = l.call(this, t);\n return y(n, s, i);\n }\n async closeAll(t, s, i = !0) {\n const n = await H.call(this, t, s);\n return i && d(this), n;\n }\n async afterMount() {\n document.addEventListener(\"click\", this.#t, !1), document.addEventListener(\"keydown\", this.#e, !1);\n }\n async beforeUnmount() {\n this.trigger = null;\n }\n async afterUnmount() {\n document.removeEventListener(\"click\", this.#t, !1), document.removeEventListener(\"keydown\", this.#e, !1);\n }\n}\nexport {\n N as default\n};\n//# sourceMappingURL=index.js.map\n","function Jt(t, e = \"config\") {\n const n = (t.getAttribute(`data-${e}`) || \"\").replace(/'/g, '\"');\n return n ? JSON.parse(n) : {};\n}\nfunction Rt(t) {\n if (typeof t == \"string\") {\n const e = document.getElementById(t);\n if (e) return e;\n throw new Error(`Element not found with ID: \"${t}\"`);\n } else if (t instanceof HTMLElement) {\n if (!t.id)\n throw new Error(\"HTMLElement must have an ID\");\n return t;\n } else\n throw new Error(\"Invalid argument: query must be a string or HTMLElement\");\n}\nasync function z(t, e, ...n) {\n e in t && typeof t[e] == \"function\" && await t[e](...n);\n}\nfunction Zt(t) {\n return t.split(\"-\").map(\n (e, n) => n === 0 ? e : e.charAt(0).toUpperCase() + e.slice(1)\n ).join(\"\");\n}\nfunction kt(t) {\n return t.replace(/([a-z])([A-Z])/g, \"$1-$2\").toLowerCase();\n}\nasync function H(t, e, n) {\n await z(e, t, n), n && await z(n, t);\n for (const i of e.plugins)\n await z(i, t, { plugin: i, parent: e, entry: n });\n await e.emit(t, n);\n}\nfunction Gt(t) {\n const e = getComputedStyle(t.el), n = {}, i = t.getSetting(\"customProps\");\n for (let s = 0; s < i.length; s++) {\n const o = Qt(), r = t.parent.module.toLowerCase(), c = kt(i[s]), l = e.getPropertyValue(`--${o}${r}-${c}`).trim();\n l && (n[c] = l);\n }\n return n;\n}\nfunction Qt() {\n return getComputedStyle(document.body).getPropertyValue(\"--vb-prefix\").trim();\n}\nfunction te(t, e, n = \"camel\") {\n return e = n === \"camel\" ? Zt(e) : kt(e), t.split(\".\").concat(e).reduce((i, s) => i?.[s], this);\n}\nfunction ee(t, e = {}) {\n const {\n fallback: n,\n props: i = [\"dataConfig\", \"customProps\", \"settings\", \"parent.settings\"]\n } = e;\n for (const s of i) {\n const o = s !== \"customProps\" ? \"camel\" : \"kebab\", r = te.call(this, s, t, o);\n if (r !== void 0)\n return r;\n }\n if (n !== void 0)\n return n;\n throw new Error(`${this.parent.module} setting does not exist: ${t}`);\n}\nconst ne = {\n events: {},\n on(t, e, ...n) {\n this.events[t] || (this.events[t] = []), this.events[t].some(\n (i) => i.listener === e\n ) || this.events[t].push({ listener: e, args: n });\n },\n off(t, e) {\n this.events[t] && (this.events[t] = this.events[t].filter(\n (n) => n.listener !== e\n ));\n },\n async emit(t, e) {\n if (t = t.startsWith(\"on\") ? t.slice(2, 3).toLowerCase() + t.slice(3) : t, !!this.events[t])\n for (const { listener: n, args: i } of this.events[t])\n await n(e, ...i);\n }\n};\nclass ie extends Array {\n constructor(e = {}) {\n super(), this.presets = e;\n }\n applySettings(e) {\n const n = e?.defaults || {}, i = this.presets?.[e.name] || {}, s = e?.options || {};\n e.settings = { ...n, ...i, ...s };\n }\n validate(e) {\n return !(\"name\" in e) || typeof e.name != \"string\" ? (console.error(\"Plugin requires a name!\"), !1) : !0;\n }\n get(e) {\n return this.find((n) => n.name === e);\n }\n add(e) {\n if (Array.isArray(e))\n e.forEach((n) => this.add(n));\n else if (this.applySettings(e), this.validate(e)) {\n const n = this.findIndex((i) => i.name === e.name);\n ~n ? this[n] = e : this.push(e);\n }\n }\n remove(e) {\n const n = this.findIndex((i) => i.name === e);\n ~n && this.splice(n, 1);\n }\n}\nconst se = {\n dataConfig: \"config\",\n customProps: []\n};\nclass Dt {\n constructor(e, n, i = {}) {\n this.parent = e, this.el = Rt(n), this.settings = { ...i }, this.dataConfig = {}, this.customProps = {};\n }\n get id() {\n return this.el.id;\n }\n applySettings(e) {\n return Object.assign(this.settings, e);\n }\n getSetting(e, n) {\n return ee.call(this, e, n);\n }\n buildDataConfig() {\n return Object.assign(\n this.dataConfig,\n Jt(this.el, this.getSetting(\"dataConfig\"))\n );\n }\n buildCustomProps() {\n return Object.assign(this.customProps, Gt(this));\n }\n async init(e = {}) {\n this.applySettings(e), this.buildDataConfig(), this.buildCustomProps();\n }\n async destroy() {\n Object.getOwnPropertyNames(this).forEach((e) => {\n delete this[e];\n });\n }\n}\nclass oe {\n constructor(e = {}) {\n this.module = this.constructor.name, this.collection = [], this.entryClass = Dt, this.settings = { ...se, ...e }, this.plugins = new ie(this.settings.presets), this.events = {}, Object.assign(this, ne);\n }\n get(e, n = \"id\") {\n return this.collection.find((i) => i[n] === e);\n }\n applySettings(e) {\n return Object.assign(this.settings, e);\n }\n async createEntry(e, n) {\n const i = new this.entryClass(this, e, n);\n return await z(i, \"init\"), await H(\"onCreateEntry\", this, i), i;\n }\n async destroyEntry(e) {\n return await H(\"onDestroyEntry\", this, e), await z(e, \"destroy\"), e;\n }\n async register(e, n = {}) {\n const i = Rt(e), s = this.collection.findIndex((o) => o.id === i.id);\n if (~s) {\n const o = this.collection[s];\n return o.el = i, typeof o.init == \"function\" && await o.init(n), o;\n } else {\n const o = await this.createEntry(i, n);\n return this.collection.push(o), await H(\"onRegisterEntry\", this, o), o;\n }\n }\n async deregister(e) {\n const n = this.collection.findIndex((i) => i.id === e);\n if (~n) {\n const i = await this.destroyEntry(this.collection[n]);\n return await H(\n \"onDeregisterEntry\",\n this,\n this.collection[n]\n ), this.collection.splice(n, 1), i;\n }\n return null;\n }\n async mount(e = {}) {\n this.applySettings(e);\n for (const i of this.settings?.plugins || [])\n this.plugins.add(i);\n for (const i of this.plugins)\n await z(i, \"setup\", { plugin: i, parent: this });\n await H(\"beforeMount\", this);\n const n = document.querySelectorAll(this.settings.selector);\n for (const i of n)\n await this.register(i);\n return await H(\"afterMount\", this), this;\n }\n async unmount() {\n for (await H(\"beforeUnmount\", this); this.collection.length > 0; )\n await this.deregister(this.collection[0].id);\n await H(\"afterUnmount\", this);\n for (const e of this.plugins)\n await z(e, \"teardown\", { plugin: e, parent: this });\n for (const e of [...this.plugins])\n this.plugins.remove(e.name);\n return this;\n }\n}\nconst re = {\n // Selectors\n selector: \".popover\",\n selectorTooltip: \".popover_tooltip\",\n selectorArrow: \".popover__arrow\",\n // State classes\n stateActive: \"is-active\",\n // Custom properties and their defaults\n customProps: [\n \"placement\",\n \"event\",\n \"offset\",\n \"flip-padding\",\n \"shift-padding\",\n \"arrow-padding\",\n \"toggle-delay\"\n ],\n customEventPrefix: \"popover:\",\n placement: \"bottom\",\n event: \"click\",\n offset: 0,\n flipPadding: 0,\n shiftPadding: 0,\n arrowPadding: 0,\n toggleDelay: 0\n}, K = Math.min, j = Math.max, st = Math.round, it = Math.floor, R = (t) => ({\n x: t,\n y: t\n}), ce = {\n left: \"right\",\n right: \"left\",\n bottom: \"top\",\n top: \"bottom\"\n}, le = {\n start: \"end\",\n end: \"start\"\n};\nfunction dt(t, e, n) {\n return j(t, K(e, n));\n}\nfunction q(t, e) {\n return typeof t == \"function\" ? t(e) : t;\n}\nfunction I(t) {\n return t.split(\"-\")[0];\n}\nfunction et(t) {\n return t.split(\"-\")[1];\n}\nfunction mt(t) {\n return t === \"x\" ? \"y\" : \"x\";\n}\nfunction pt(t) {\n return t === \"y\" ? \"height\" : \"width\";\n}\nconst ae = /* @__PURE__ */ new Set([\"top\", \"bottom\"]);\nfunction N(t) {\n return ae.has(I(t)) ? \"y\" : \"x\";\n}\nfunction wt(t) {\n return mt(N(t));\n}\nfunction fe(t, e, n) {\n n === void 0 && (n = !1);\n const i = et(t), s = wt(t), o = pt(s);\n let r = s === \"x\" ? i === (n ? \"end\" : \"start\") ? \"right\" : \"left\" : i === \"start\" ? \"bottom\" : \"top\";\n return e.reference[o] > e.floating[o] && (r = ot(r)), [r, ot(r)];\n}\nfunction ue(t) {\n const e = ot(t);\n return [gt(t), e, gt(e)];\n}\nfunction gt(t) {\n return t.replace(/start|end/g, (e) => le[e]);\n}\nconst At = [\"left\", \"right\"], Et = [\"right\", \"left\"], de = [\"top\", \"bottom\"], ge = [\"bottom\", \"top\"];\nfunction he(t, e, n) {\n switch (t) {\n case \"top\":\n case \"bottom\":\n return n ? e ? Et : At : e ? At : Et;\n case \"left\":\n case \"right\":\n return e ? de : ge;\n default:\n return [];\n }\n}\nfunction me(t, e, n, i) {\n const s = et(t);\n let o = he(I(t), n === \"start\", i);\n return s && (o = o.map((r) => r + \"-\" + s), e && (o = o.concat(o.map(gt)))), o;\n}\nfunction ot(t) {\n return t.replace(/left|right|bottom|top/g, (e) => ce[e]);\n}\nfunction pe(t) {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n ...t\n };\n}\nfunction Mt(t) {\n return typeof t != \"number\" ? pe(t) : {\n top: t,\n right: t,\n bottom: t,\n left: t\n };\n}\nfunction rt(t) {\n const {\n x: e,\n y: n,\n width: i,\n height: s\n } = t;\n return {\n width: i,\n height: s,\n top: n,\n left: e,\n right: e + i,\n bottom: n + s,\n x: e,\n y: n\n };\n}\nfunction Ct(t, e, n) {\n let {\n reference: i,\n floating: s\n } = t;\n const o = N(e), r = wt(e), c = pt(r), l = I(e), a = o === \"y\", d = i.x + i.width / 2 - s.width / 2, u = i.y + i.height / 2 - s.height / 2, g = i[c] / 2 - s[c] / 2;\n let f;\n switch (l) {\n case \"top\":\n f = {\n x: d,\n y: i.y - s.height\n };\n break;\n case \"bottom\":\n f = {\n x: d,\n y: i.y + i.height\n };\n break;\n case \"right\":\n f = {\n x: i.x + i.width,\n y: u\n };\n break;\n case \"left\":\n f = {\n x: i.x - s.width,\n y: u\n };\n break;\n default:\n f = {\n x: i.x,\n y: i.y\n };\n }\n switch (et(e)) {\n case \"start\":\n f[r] -= g * (n && a ? -1 : 1);\n break;\n case \"end\":\n f[r] += g * (n && a ? -1 : 1);\n break;\n }\n return f;\n}\nconst we = async (t, e, n) => {\n const {\n placement: i = \"bottom\",\n strategy: s = \"absolute\",\n middleware: o = [],\n platform: r\n } = n, c = o.filter(Boolean), l = await (r.isRTL == null ? void 0 : r.isRTL(e));\n let a = await r.getElementRects({\n reference: t,\n floating: e,\n strategy: s\n }), {\n x: d,\n y: u\n } = Ct(a, i, l), g = i, f = {}, h = 0;\n for (let m = 0; m < c.length; m++) {\n const {\n name: p,\n fn: w\n } = c[m], {\n x: y,\n y: x,\n data: b,\n reset: v\n } = await w({\n x: d,\n y: u,\n initialPlacement: i,\n placement: g,\n strategy: s,\n middlewareData: f,\n rects: a,\n platform: r,\n elements: {\n reference: t,\n floating: e\n }\n });\n d = y ?? d, u = x ?? u, f = {\n ...f,\n [p]: {\n ...f[p],\n ...b\n }\n }, v && h <= 50 && (h++, typeof v == \"object\" && (v.placement && (g = v.placement), v.rects && (a = v.rects === !0 ? await r.getElementRects({\n reference: t,\n floating: e,\n strategy: s\n }) : v.rects), {\n x: d,\n y: u\n } = Ct(a, g, l)), m = -1);\n }\n return {\n x: d,\n y: u,\n placement: g,\n strategy: s,\n middlewareData: f\n };\n};\nasync function $t(t, e) {\n var n;\n e === void 0 && (e = {});\n const {\n x: i,\n y: s,\n platform: o,\n rects: r,\n elements: c,\n strategy: l\n } = t, {\n boundary: a = \"clippingAncestors\",\n rootBoundary: d = \"viewport\",\n elementContext: u = \"floating\",\n altBoundary: g = !1,\n padding: f = 0\n } = q(e, t), h = Mt(f), p = c[g ? u === \"floating\" ? \"reference\" : \"floating\" : u], w = rt(await o.getClippingRect({\n element: (n = await (o.isElement == null ? void 0 : o.isElement(p))) == null || n ? p : p.contextElement || await (o.getDocumentElement == null ? void 0 : o.getDocumentElement(c.floating)),\n boundary: a,\n rootBoundary: d,\n strategy: l\n })), y = u === \"floating\" ? {\n x: i,\n y: s,\n width: r.floating.width,\n height: r.floating.height\n } : r.reference, x = await (o.getOffsetParent == null ? void 0 : o.getOffsetParent(c.floating)), b = await (o.isElement == null ? void 0 : o.isElement(x)) ? await (o.getScale == null ? void 0 : o.getScale(x)) || {\n x: 1,\n y: 1\n } : {\n x: 1,\n y: 1\n }, v = rt(o.convertOffsetParentRelativeRectToViewportRelativeRect ? await o.convertOffsetParentRelativeRectToViewportRelativeRect({\n elements: c,\n rect: y,\n offsetParent: x,\n strategy: l\n }) : y);\n return {\n top: (w.top - v.top + h.top) / b.y,\n bottom: (v.bottom - w.bottom + h.bottom) / b.y,\n left: (w.left - v.left + h.left) / b.x,\n right: (v.right - w.right + h.right) / b.x\n };\n}\nconst ye = (t) => ({\n name: \"arrow\",\n options: t,\n async fn(e) {\n const {\n x: n,\n y: i,\n placement: s,\n rects: o,\n platform: r,\n elements: c,\n middlewareData: l\n } = e, {\n element: a,\n padding: d = 0\n } = q(t, e) || {};\n if (a == null)\n return {};\n const u = Mt(d), g = {\n x: n,\n y: i\n }, f = wt(s), h = pt(f), m = await r.getDimensions(a), p = f === \"y\", w = p ? \"top\" : \"left\", y = p ? \"bottom\" : \"right\", x = p ? \"clientHeight\" : \"clientWidth\", b = o.reference[h] + o.reference[f] - g[f] - o.floating[h], v = g[f] - o.reference[f], C = await (r.getOffsetParent == null ? void 0 : r.getOffsetParent(a));\n let S = C ? C[x] : 0;\n (!S || !await (r.isElement == null ? void 0 : r.isElement(C))) && (S = c.floating[x] || o.floating[h]);\n const Z = b / 2 - v / 2, B = S / 2 - m[h] / 2 - 1, M = K(u[w], B), G = K(u[y], B), W = M, Q = S - m[h] - G, A = S / 2 - m[h] / 2 + Z, _ = dt(W, A, Q), $ = !l.arrow && et(s) != null && A !== _ && o.reference[h] / 2 - (A < W ? M : G) - m[h] / 2 < 0, L = $ ? A < W ? A - W : A - Q : 0;\n return {\n [f]: g[f] + L,\n data: {\n [f]: _,\n centerOffset: A - _ - L,\n ...$ && {\n alignmentOffset: L\n }\n },\n reset: $\n };\n }\n}), xe = function(t) {\n return t === void 0 && (t = {}), {\n name: \"flip\",\n options: t,\n async fn(e) {\n var n, i;\n const {\n placement: s,\n middlewareData: o,\n rects: r,\n initialPlacement: c,\n platform: l,\n elements: a\n } = e, {\n mainAxis: d = !0,\n crossAxis: u = !0,\n fallbackPlacements: g,\n fallbackStrategy: f = \"bestFit\",\n fallbackAxisSideDirection: h = \"none\",\n flipAlignment: m = !0,\n ...p\n } = q(t, e);\n if ((n = o.arrow) != null && n.alignmentOffset)\n return {};\n const w = I(s), y = N(c), x = I(c) === c, b = await (l.isRTL == null ? void 0 : l.isRTL(a.floating)), v = g || (x || !m ? [ot(c)] : ue(c)), C = h !== \"none\";\n !g && C && v.push(...me(c, m, h, b));\n const S = [c, ...v], Z = await $t(e, p), B = [];\n let M = ((i = o.flip) == null ? void 0 : i.overflows) || [];\n if (d && B.push(Z[w]), u) {\n const A = fe(s, r, b);\n B.push(Z[A[0]], Z[A[1]]);\n }\n if (M = [...M, {\n placement: s,\n overflows: B\n }], !B.every((A) => A <= 0)) {\n var G, W;\n const A = (((G = o.flip) == null ? void 0 : G.index) || 0) + 1, _ = S[A];\n if (_ && (!(u === \"alignment\" ? y !== N(_) : !1) || // We leave the current main axis only if every placement on that axis\n // overflows the main axis.\n M.every((O) => O.overflows[0] > 0 && N(O.placement) === y)))\n return {\n data: {\n index: A,\n overflows: M\n },\n reset: {\n placement: _\n }\n };\n let $ = (W = M.filter((L) => L.overflows[0] <= 0).sort((L, O) => L.overflows[1] - O.overflows[1])[0]) == null ? void 0 : W.placement;\n if (!$)\n switch (f) {\n case \"bestFit\": {\n var Q;\n const L = (Q = M.filter((O) => {\n if (C) {\n const F = N(O.placement);\n return F === y || // Create a bias to the `y` side axis due to horizontal\n // reading directions favoring greater width.\n F === \"y\";\n }\n return !0;\n }).map((O) => [O.placement, O.overflows.filter((F) => F > 0).reduce((F, Xt) => F + Xt, 0)]).sort((O, F) => O[1] - F[1])[0]) == null ? void 0 : Q[0];\n L && ($ = L);\n break;\n }\n case \"initialPlacement\":\n $ = c;\n break;\n }\n if (s !== $)\n return {\n reset: {\n placement: $\n }\n };\n }\n return {};\n }\n };\n}, Nt = /* @__PURE__ */ new Set([\"left\", \"top\"]);\nasync function ve(t, e) {\n const {\n placement: n,\n platform: i,\n elements: s\n } = t, o = await (i.isRTL == null ? void 0 : i.isRTL(s.floating)), r = I(n), c = et(n), l = N(n) === \"y\", a = Nt.has(r) ? -1 : 1, d = o && l ? -1 : 1, u = q(e, t);\n let {\n mainAxis: g,\n crossAxis: f,\n alignmentAxis: h\n } = typeof u == \"number\" ? {\n mainAxis: u,\n crossAxis: 0,\n alignmentAxis: null\n } : {\n mainAxis: u.mainAxis || 0,\n crossAxis: u.crossAxis || 0,\n alignmentAxis: u.alignmentAxis\n };\n return c && typeof h == \"number\" && (f = c === \"end\" ? h * -1 : h), l ? {\n x: f * d,\n y: g * a\n } : {\n x: g * a,\n y: f * d\n };\n}\nconst be = function(t) {\n return t === void 0 && (t = 0), {\n name: \"offset\",\n options: t,\n async fn(e) {\n var n, i;\n const {\n x: s,\n y: o,\n placement: r,\n middlewareData: c\n } = e, l = await ve(e, t);\n return r === ((n = c.offset) == null ? void 0 : n.placement) && (i = c.arrow) != null && i.alignmentOffset ? {} : {\n x: s + l.x,\n y: o + l.y,\n data: {\n ...l,\n placement: r\n }\n };\n }\n };\n}, Ae = function(t) {\n return t === void 0 && (t = {}), {\n name: \"shift\",\n options: t,\n async fn(e) {\n const {\n x: n,\n y: i,\n placement: s\n } = e, {\n mainAxis: o = !0,\n crossAxis: r = !1,\n limiter: c = {\n fn: (p) => {\n let {\n x: w,\n y\n } = p;\n return {\n x: w,\n y\n };\n }\n },\n ...l\n } = q(t, e), a = {\n x: n,\n y: i\n }, d = await $t(e, l), u = N(I(s)), g = mt(u);\n let f = a[g], h = a[u];\n if (o) {\n const p = g === \"y\" ? \"top\" : \"left\", w = g === \"y\" ? \"bottom\" : \"right\", y = f + d[p], x = f - d[w];\n f = dt(y, f, x);\n }\n if (r) {\n const p = u === \"y\" ? \"top\" : \"left\", w = u === \"y\" ? \"bottom\" : \"right\", y = h + d[p], x = h - d[w];\n h = dt(y, h, x);\n }\n const m = c.fn({\n ...e,\n [g]: f,\n [u]: h\n });\n return {\n ...m,\n data: {\n x: m.x - n,\n y: m.y - i,\n enabled: {\n [g]: o,\n [u]: r\n }\n }\n };\n }\n };\n}, Ee = function(t) {\n return t === void 0 && (t = {}), {\n options: t,\n fn(e) {\n const {\n x: n,\n y: i,\n placement: s,\n rects: o,\n middlewareData: r\n } = e, {\n offset: c = 0,\n mainAxis: l = !0,\n crossAxis: a = !0\n } = q(t, e), d = {\n x: n,\n y: i\n }, u = N(s), g = mt(u);\n let f = d[g], h = d[u];\n const m = q(c, e), p = typeof m == \"number\" ? {\n mainAxis: m,\n crossAxis: 0\n } : {\n mainAxis: 0,\n crossAxis: 0,\n ...m\n };\n if (l) {\n const x = g === \"y\" ? \"height\" : \"width\", b = o.reference[g] - o.floating[x] + p.mainAxis, v = o.reference[g] + o.reference[x] - p.mainAxis;\n f < b ? f = b : f > v && (f = v);\n }\n if (a) {\n var w, y;\n const x = g === \"y\" ? \"width\" : \"height\", b = Nt.has(I(s)), v = o.reference[u] - o.floating[x] + (b && ((w = r.offset) == null ? void 0 : w[u]) || 0) + (b ? 0 : p.crossAxis), C = o.reference[u] + o.reference[x] + (b ? 0 : ((y = r.offset) == null ? void 0 : y[u]) || 0) - (b ? p.crossAxis : 0);\n h < v ? h = v : h > C && (h = C);\n }\n return {\n [g]: f,\n [u]: h\n };\n }\n };\n};\nfunction ct() {\n return typeof window < \"u\";\n}\nfunction J(t) {\n return Ft(t) ? (t.nodeName || \"\").toLowerCase() : \"#document\";\n}\nfunction E(t) {\n var e;\n return (t == null || (e = t.ownerDocument) == null ? void 0 : e.defaultView) || window;\n}\nfunction D(t) {\n var e;\n return (e = (Ft(t) ? t.ownerDocument : t.document) || window.document) == null ? void 0 : e.documentElement;\n}\nfunction Ft(t) {\n return ct() ? t instanceof Node || t instanceof E(t).Node : !1;\n}\nfunction P(t) {\n return ct() ? t instanceof Element || t instanceof E(t).Element : !1;\n}\nfunction k(t) {\n return ct() ? t instanceof HTMLElement || t instanceof E(t).HTMLElement : !1;\n}\nfunction St(t) {\n return !ct() || typeof ShadowRoot > \"u\" ? !1 : t instanceof ShadowRoot || t instanceof E(t).ShadowRoot;\n}\nconst Ce = /* @__PURE__ */ new Set([\"inline\", \"contents\"]);\nfunction nt(t) {\n const {\n overflow: e,\n overflowX: n,\n overflowY: i,\n display: s\n } = T(t);\n return /auto|scroll|overlay|hidden|clip/.test(e + i + n) && !Ce.has(s);\n}\nconst Se = /* @__PURE__ */ new Set([\"table\", \"td\", \"th\"]);\nfunction Le(t) {\n return Se.has(J(t));\n}\nconst Oe = [\":popover-open\", \":modal\"];\nfunction lt(t) {\n return Oe.some((e) => {\n try {\n return t.matches(e);\n } catch {\n return !1;\n }\n });\n}\nconst Pe = [\"transform\", \"translate\", \"scale\", \"rotate\", \"perspective\"], Te = [\"transform\", \"translate\", \"scale\", \"rotate\", \"perspective\", \"filter\"], Re = [\"paint\", \"layout\", \"strict\", \"content\"];\nfunction yt(t) {\n const e = xt(), n = P(t) ? T(t) : t;\n return Pe.some((i) => n[i] ? n[i] !== \"none\" : !1) || (n.containerType ? n.containerType !== \"normal\" : !1) || !e && (n.backdropFilter ? n.backdropFilter !== \"none\" : !1) || !e && (n.filter ? n.filter !== \"none\" : !1) || Te.some((i) => (n.willChange || \"\").includes(i)) || Re.some((i) => (n.contain || \"\").includes(i));\n}\nfunction ke(t) {\n let e = V(t);\n for (; k(e) && !X(e); ) {\n if (yt(e))\n return e;\n if (lt(e))\n return null;\n e = V(e);\n }\n return null;\n}\nfunction xt() {\n return typeof CSS > \"u\" || !CSS.supports ? !1 : CSS.supports(\"-webkit-backdrop-filter\", \"none\");\n}\nconst De = /* @__PURE__ */ new Set([\"html\", \"body\", \"#document\"]);\nfunction X(t) {\n return De.has(J(t));\n}\nfunction T(t) {\n return E(t).getComputedStyle(t);\n}\nfunction at(t) {\n return P(t) ? {\n scrollLeft: t.scrollLeft,\n scrollTop: t.scrollTop\n } : {\n scrollLeft: t.scrollX,\n scrollTop: t.scrollY\n };\n}\nfunction V(t) {\n if (J(t) === \"html\")\n return t;\n const e = (\n // Step into the shadow DOM of the parent of a slotted node.\n t.assignedSlot || // DOM Element detected.\n t.parentNode || // ShadowRoot detected.\n St(t) && t.host || // Fallback.\n D(t)\n );\n return St(e) ? e.host : e;\n}\nfunction Ht(t) {\n const e = V(t);\n return X(e) ? t.ownerDocument ? t.ownerDocument.body : t.body : k(e) && nt(e) ? e : Ht(e);\n}\nfunction tt(t, e, n) {\n var i;\n e === void 0 && (e = []), n === void 0 && (n = !0);\n const s = Ht(t), o = s === ((i = t.ownerDocument) == null ? void 0 : i.body), r = E(s);\n if (o) {\n const c = ht(r);\n return e.concat(r, r.visualViewport || [], nt(s) ? s : [], c && n ? tt(c) : []);\n }\n return e.concat(s, tt(s, [], n));\n}\nfunction ht(t) {\n return t.parent && Object.getPrototypeOf(t.parent) ? t.frameElement : null;\n}\nfunction It(t) {\n const e = T(t);\n let n = parseFloat(e.width) || 0, i = parseFloat(e.height) || 0;\n const s = k(t), o = s ? t.offsetWidth : n, r = s ? t.offsetHeight : i, c = st(n) !== o || st(i) !== r;\n return c && (n = o, i = r), {\n width: n,\n height: i,\n $: c\n };\n}\nfunction vt(t) {\n return P(t) ? t : t.contextElement;\n}\nfunction Y(t) {\n const e = vt(t);\n if (!k(e))\n return R(1);\n const n = e.getBoundingClientRect(), {\n width: i,\n height: s,\n $: o\n } = It(e);\n let r = (o ? st(n.width) : n.width) / i, c = (o ? st(n.height) : n.height) / s;\n return (!r || !Number.isFinite(r)) && (r = 1), (!c || !Number.isFinite(c)) && (c = 1), {\n x: r,\n y: c\n };\n}\nconst Me = /* @__PURE__ */ R(0);\nfunction Vt(t) {\n const e = E(t);\n return !xt() || !e.visualViewport ? Me : {\n x: e.visualViewport.offsetLeft,\n y: e.visualViewport.offsetTop\n };\n}\nfunction $e(t, e, n) {\n return e === void 0 && (e = !1), !n || e && n !== E(t) ? !1 : e;\n}\nfunction U(t, e, n, i) {\n e === void 0 && (e = !1), n === void 0 && (n = !1);\n const s = t.getBoundingClientRect(), o = vt(t);\n let r = R(1);\n e && (i ? P(i) && (r = Y(i)) : r = Y(t));\n const c = $e(o, n, i) ? Vt(o) : R(0);\n let l = (s.left + c.x) / r.x, a = (s.top + c.y) / r.y, d = s.width / r.x, u = s.height / r.y;\n if (o) {\n const g = E(o), f = i && P(i) ? E(i) : i;\n let h = g, m = ht(h);\n for (; m && i && f !== h; ) {\n const p = Y(m), w = m.getBoundingClientRect(), y = T(m), x = w.left + (m.clientLeft + parseFloat(y.paddingLeft)) * p.x, b = w.top + (m.clientTop + parseFloat(y.paddingTop)) * p.y;\n l *= p.x, a *= p.y, d *= p.x, u *= p.y, l += x, a += b, h = E(m), m = ht(h);\n }\n }\n return rt({\n width: d,\n height: u,\n x: l,\n y: a\n });\n}\nfunction bt(t, e) {\n const n = at(t).scrollLeft;\n return e ? e.left + n : U(D(t)).left + n;\n}\nfunction Bt(t, e, n) {\n n === void 0 && (n = !1);\n const i = t.getBoundingClientRect(), s = i.left + e.scrollLeft - (n ? 0 : (\n // RTL <body> scrollbar.\n bt(t, i)\n )), o = i.top + e.scrollTop;\n return {\n x: s,\n y: o\n };\n}\nfunction Ne(t) {\n let {\n elements: e,\n rect: n,\n offsetParent: i,\n strategy: s\n } = t;\n const o = s === \"fixed\", r = D(i), c = e ? lt(e.floating) : !1;\n if (i === r || c && o)\n return n;\n let l = {\n scrollLeft: 0,\n scrollTop: 0\n }, a = R(1);\n const d = R(0), u = k(i);\n if ((u || !u && !o) && ((J(i) !== \"body\" || nt(r)) && (l = at(i)), k(i))) {\n const f = U(i);\n a = Y(i), d.x = f.x + i.clientLeft, d.y = f.y + i.clientTop;\n }\n const g = r && !u && !o ? Bt(r, l, !0) : R(0);\n return {\n width: n.width * a.x,\n height: n.height * a.y,\n x: n.x * a.x - l.scrollLeft * a.x + d.x + g.x,\n y: n.y * a.y - l.scrollTop * a.y + d.y + g.y\n };\n}\nfunction Fe(t) {\n return Array.from(t.getClientRects());\n}\nfunction He(t) {\n const e = D(t), n = at(t), i = t.ownerDocument.body, s = j(e.scrollWidth, e.clientWidth, i.scrollWidth, i.clientWidth), o = j(e.scrollHeight, e.clientHeight, i.scrollHeight, i.clientHeight);\n let r = -n.scrollLeft + bt(t);\n const c = -n.scrollTop;\n return T(i).direction === \"rtl\" && (r += j(e.clientWidth, i.clientWidth) - s), {\n width: s,\n height: o,\n x: r,\n y: c\n };\n}\nfunction Ie(t, e) {\n const n = E(t), i = D(t), s = n.visualViewport;\n let o = i.clientWidth, r = i.clientHeight, c = 0, l = 0;\n if (s) {\n o = s.width, r = s.height;\n const a = xt();\n (!a || a && e === \"fixed\") && (c = s.offsetLeft, l = s.offsetTop);\n }\n return {\n width: o,\n height: r,\n x: c,\n y: l\n };\n}\nconst Ve = /* @__PURE__ */ new Set([\"absolute\", \"fixed\"]);\nfunction Be(t, e) {\n const n = U(t, !0, e === \"fixed\"), i = n.top + t.clientTop, s = n.left + t.clientLeft, o = k(t) ? Y(t) : R(1), r = t.clientWidth * o.x, c = t.clientHeight * o.y, l = s * o.x, a = i * o.y;\n return {\n width: r,\n height: c,\n x: l,\n y: a\n };\n}\nfunction Lt(t, e, n) {\n let i;\n if (e === \"viewport\")\n i = Ie(t, n);\n else if (e === \"document\")\n i = He(D(t));\n else if (P(e))\n i = Be(e, n);\n else {\n const s = Vt(t);\n i = {\n x: e.x - s.x,\n y: e.y - s.y,\n width: e.width,\n height: e.height\n };\n }\n return rt(i);\n}\nfunction Wt(t, e) {\n const n = V(t);\n return n === e || !P(n) || X(n) ? !1 : T(n).position === \"fixed\" || Wt(n, e);\n}\nfunction We(t, e) {\n const n = e.get(t);\n if (n)\n return n;\n let i = tt(t, [], !1).filter((c) => P(c) && J(c) !== \"body\"), s = null;\n const o = T(t).position === \"fixed\";\n let r = o ? V(t) : t;\n for (; P(r) && !X(r); ) {\n const c = T(r), l = yt(r);\n !l && c.position === \"fixed\" && (s = null), (o ? !l && !s : !l && c.position === \"static\" && !!s && Ve.has(s.position) || nt(r) && !l && Wt(t, r)) ? i = i.filter((d) => d !== r) : s = c, r = V(r);\n }\n return e.set(t, i), i;\n}\nfunction _e(t) {\n let {\n element: e,\n boundary: n,\n rootBoundary: i,\n strategy: s\n } = t;\n const r = [...n === \"clippingAncestors\" ? lt(e) ? [] : We(e, this._c) : [].concat(n), i], c = r[0], l = r.reduce((a, d) => {\n const u = Lt(e, d, s);\n return a.top = j(u.top, a.top), a.right = K(u.right, a.right), a.bottom = K(u.bottom, a.bottom), a.left = j(u.left, a.left), a;\n }, Lt(e, c, s));\n return {\n width: l.right - l.left,\n height: l.bottom - l.top,\n x: l.left,\n y: l.top\n };\n}\nfunction ze(t) {\n const {\n width: e,\n height: n\n } = It(t);\n return {\n width: e,\n height: n\n };\n}\nfunction je(t, e, n) {\n const i = k(e), s = D(e), o = n === \"fixed\", r = U(t, !0, o, e);\n let c = {\n scrollLeft: 0,\n scrollTop: 0\n };\n const l = R(0);\n function a() {\n l.x = bt(s);\n }\n if (i || !i && !o)\n if ((J(e) !== \"body\" || nt(s)) && (c = at(e)), i) {\n const f = U(e, !0, o, e);\n l.x = f.x + e.clientLeft, l.y = f.y + e.clientTop;\n } else s && a();\n o && !i && s && a();\n const d = s && !i && !o ? Bt(s, c) : R(0), u = r.left + c.scrollLeft - l.x - d.x, g = r.top + c.scrollTop - l.y - d.y;\n return {\n x: u,\n y: g,\n width: r.width,\n height: r.height\n };\n}\nfunction ft(t) {\n return T(t).position === \"static\";\n}\nfunction Ot(t, e) {\n if (!k(t) || T(t).position === \"fixed\")\n return null;\n if (e)\n return e(t);\n let n = t.offsetParent;\n return D(t) === n && (n = n.ownerDocument.body), n;\n}\nfunction _t(t, e) {\n const n = E(t);\n if (lt(t))\n return n;\n if (!k(t)) {\n let s = V(t);\n for (; s && !X(s); ) {\n if (P(s) && !ft(s))\n return s;\n s = V(s);\n }\n return n;\n }\n let i = Ot(t, e);\n for (; i && Le(i) && ft(i); )\n i = Ot(i, e);\n return i && X(i) && ft(i) && !yt(i) ? n : i || ke(t) || n;\n}\nconst qe = async function(t) {\n const e = this.getOffsetParent || _t, n = this.getDimensions, i = await n(t.floating);\n return {\n reference: je(t.reference, await e(t.floating), t.strategy),\n floating: {\n x: 0,\n y: 0,\n width: i.width,\n height: i.height\n }\n };\n};\nfunction Ue(t) {\n return T(t).direction === \"rtl\";\n}\nconst Ye = {\n convertOffsetParentRelativeRectToViewportRelativeRect: Ne,\n getDocumentElement: D,\n getClippingRect: _e,\n getOffsetParent: _t,\n getElementRects: qe,\n getClientRects: Fe,\n getDimensions: ze,\n getScale: Y,\n isElement: P,\n isRTL: Ue\n};\nfunction zt(t, e) {\n return t.x === e.x && t.y === e.y && t.width === e.width && t.height === e.height;\n}\nfunction Ke(t, e) {\n let n = null, i;\n const s = D(t);\n function o() {\n var c;\n clearTimeout(i), (c = n) == null || c.disconnect(), n = null;\n }\n function r(c, l) {\n c === void 0 && (c = !1), l === void 0 && (l = 1), o();\n const a = t.getBoundingClientRect(), {\n left: d,\n top: u,\n width: g,\n height: f\n } = a;\n if (c || e(), !g || !f)\n return;\n const h = it(u), m = it(s.clientWidth - (d + g)), p = it(s.clientHeight - (u + f)), w = it(d), x = {\n rootMargin: -h + \"px \" + -m + \"px \" + -p + \"px \" + -w + \"px\",\n threshold: j(0, K(1, l)) || 1\n };\n let b = !0;\n function v(C) {\n const S = C[0].intersectionRatio;\n if (S !== l) {\n if (!b)\n return r();\n S ? r(!1, S) : i = setTimeout(() => {\n r(!1, 1e-7);\n }, 1e3);\n }\n S === 1 && !zt(a, t.getBoundingClientRect()) && r(), b = !1;\n }\n try {\n n = new IntersectionObserver(v, {\n ...x,\n // Handle <iframe>s\n root: s.ownerDocument\n });\n } catch {\n n = new IntersectionObserver(v, x);\n }\n n.observe(t);\n }\n return r(!0), o;\n}\nfunction Xe(t, e, n, i) {\n i === void 0 && (i = {});\n const {\n ancestorScroll: s = !0,\n ancestorResize: o = !0,\n elementResize: r = typeof ResizeObserver == \"function\",\n layoutShift: c = typeof IntersectionObserver == \"function\",\n animationFrame: l = !1\n } = i, a = vt(t), d = s || o ? [...a ? tt(a) : [], ...tt(e)] : [];\n d.forEach((w) => {\n s && w.addEventListener(\"scroll\", n, {\n passive: !0\n }), o && w.addEventListener(\"resize\", n);\n });\n const u = a && c ? Ke(a, n) : null;\n let g = -1, f = null;\n r && (f = new ResizeObserver((w) => {\n let [y] = w;\n y && y.target === a && f && (f.unobserve(e), cancelAnimationFrame(g), g = requestAnimationFrame(() => {\n var x;\n (x = f) == null || x.observe(e);\n })), n();\n }), a && !l && f.observe(a), f.observe(e));\n let h, m = l ? U(t) : null;\n l && p();\n function p() {\n const w = U(t);\n m && !zt(m, w) && n(), m = w, h = requestAnimationFrame(p);\n }\n return n(), () => {\n var w;\n d.forEach((y) => {\n s && y.removeEventListener(\"scroll\", n), o && y.removeEventListener(\"resize\", n);\n }), u?.(), (w = f) == null || w.disconnect(), f = null, l && cancelAnimationFrame(h);\n };\n}\nconst Je = be, Ze = Ae, Ge = xe, Qe = ye, tn = Ee, en = (t, e, n) => {\n const i = /* @__PURE__ */ new Map(), s = {\n platform: Ye,\n ...n\n }, o = {\n ...s.platform,\n _c: i\n };\n return we(t, e, {\n ...s,\n platform: o\n });\n};\nfunction Pt(t, e, n) {\n Object.assign(t.style, {\n left: e != null ? `${e}px` : \"\",\n top: n != null ? `${n}px` : \"\"\n });\n}\nfunction jt(t, e) {\n let n = t.getSetting(\"toggle-delay\");\n typeof n == \"string\" && (n.indexOf(\",\") > -1 && (n = n.split(\",\")), n.indexOf(\" \") > -1 && (n = n.split(\" \"))), Array.isArray(n) && (n = n[e]);\n const i = Number(n);\n if (Number.isNaN(i))\n throw new Error(`Provided delay value is not a number: \"${n}\"`);\n return i;\n}\nfunction ut(t) {\n let e;\n const n = typeof t == \"string\" ? t.trim().split(\" \").map((i) => parseFloat(i)).filter((i) => !isNaN(i)) : [t];\n for (let i = 0; i < n.length; i++)\n n[i] = Number(n[i]);\n switch (n.length) {\n case 1:\n e = n[0];\n break;\n case 2:\n e = {\n top: n[0],\n right: n[1],\n bottom: n[0],\n left: n[1]\n };\n break;\n case 3:\n e = {\n top: n[0],\n right: n[1],\n bottom: n[2],\n left: n[1]\n };\n break;\n case 4:\n e = {\n top: n[0],\n right: n[1],\n bottom: n[2],\n left: n[3]\n };\n break;\n default:\n e = void 0;\n break;\n }\n return e;\n}\nfunction nn(t) {\n return {\n offset: Number(t.getSetting(\"offset\")),\n flip: {\n padding: ut(t.getSetting(\"flip-padding\"))\n },\n shift: {\n padding: ut(t.getSetting(\"shift-padding\"))\n },\n arrow: {\n selector: t.getSetting(\"selectorArrow\"),\n element: null,\n padding: ut(t.getSetting(\"arrow-padding\"))\n }\n };\n}\nfunction Tt(t) {\n const e = this.get(t);\n if (e)\n return e;\n throw new Error(`Popover not found in collection with id of \"${t}\".`);\n}\nasync function qt(t) {\n return t && t.state === \"opened\" && (t.el.inert = !0, t.el.classList.remove(t.parent.settings.stateActive), t.isTooltip || t.trigger?.setAttribute(\"aria-expanded\", \"false\"), t.floatingCleanup(), t.state = \"closed\", t.trigger === t.parent.trigger && (t.parent.trigger = null), t.el.dispatchEvent(\n new CustomEvent(t.getSetting(\"customEventPrefix\") + \"closed\", {\n detail: t.parent,\n bubbles: !0\n })\n ), await t.parent.emit(\"closed\", t)), t;\n}\nasync function Ut(t) {\n const e = [];\n for (const n of t.collection)\n n.state === \"opened\" && e.push(await n.close());\n return e;\n}\nfunction Yt(t) {\n t.state == \"opened\" && setTimeout(() => (document.activeElement?.closest(\n `#${t.id}, [aria-controls=\"${t.id}\"], [aria-describedby=\"${t.id}\"]`\n ) || t.close(), t), 1);\n}\nfunction sn(t) {\n t.state === \"opened\" ? t.close() : (this.trigger = t.trigger, t.open());\n}\nfunction on(t) {\n t.isTooltip && (t.toggleDelayId && clearTimeout(t.toggleDelayId), t.close());\n}\nfunction rn(t, e) {\n if (t.isHovered = e, e.type == \"focus\" && t.trigger && !t.trigger.matches(\":focus-visible\"))\n return;\n t.toggleDelayId && clearTimeout(t.toggleDelayId);\n const n = t.trigger?.getAttribute(\"aria-expanded\");\n if (n && n == \"true\") return;\n const i = this.activeHover ? 0 : jt(t, 0);\n this.activeHover && this.activeHover.close(), t.toggleDelayId = setTimeout(() => {\n t.id && t.open();\n }, i);\n}\nfunction cn(t, e) {\n setTimeout(() => {\n t.isHovered = e, !t.isHovered && (t.toggleDelayId && clearTimeout(t.toggleDelayId), t.toggleDelayId = setTimeout(\n () => Yt(t),\n jt(t, 1)\n ));\n }, 1);\n}\nfunction ln(t) {\n switch (t.key) {\n case \"Escape\":\n this.trigger && this.trigger.focus(), Ut(this);\n return;\n case \"Tab\":\n this.collection.forEach((e) => {\n Yt(e);\n });\n return;\n default:\n return;\n }\n}\nfunction an(t) {\n const e = this;\n document.addEventListener(\"click\", function n(i) {\n const s = i.target;\n s && (s.closest(\n `#${t.id}, [aria-controls=\"${t.id}\"], [aria-describedby=\"${t.id}\"]`\n ) ? t.el && !t.el.classList.contains(e.settings.stateActive) && this.removeEventListener(\"click\", n) : (t.el && t.el.classList.contains(e.settings.stateActive) && t.close(), this.removeEventListener(\"click\", n)));\n });\n}\nasync function Kt(t) {\n t.el.inert = !1, t.el.classList.add(t.parent.settings.stateActive), t.isTooltip || t.trigger?.setAttribute(\"aria-expanded\", \"true\"), t.buildCustomProps();\n const e = nn(t), n = t.el.querySelector(\n e.arrow.selector\n );\n return e.arrow.element = n || null, t.trigger instanceof HTMLElement && (t.floatingCleanup = Xe(t.trigger, t.el, () => {\n const i = [\n Ge(e.flip),\n Ze({ ...e.shift, limiter: tn() }),\n Je(e.offset)\n ];\n e.arrow.element && i.push(\n Qe({\n ...e.arrow,\n element: e.arrow.element\n })\n ), en(t.trigger, t.el, {\n placement: t.getSetting(\"placement\"),\n middleware: i\n }).then(({ x: s, y: o, placement: r, middlewareData: c }) => {\n if (t.el) {\n if (Pt(t.el, s, o), e.arrow.element && c.arrow) {\n const { x: l, y: a } = c.arrow;\n Pt(e.arrow.element, l, a);\n }\n t.el.setAttribute(\"data-floating-placement\", r);\n }\n });\n })), t.state = \"opened\", t.getSetting(\"event\") === \"click\" && an.call(t.parent, t), t.el.dispatchEvent(\n new CustomEvent(t.getSetting(\"customEventPrefix\") + \"opened\", {\n detail: t.parent,\n bubbles: !0\n })\n ), await t.parent.emit(\"opened\", t), t;\n}\nclass fn extends Dt {\n #t;\n #e;\n constructor(e, n, i = {}) {\n super(e, n, i), this.state = \"closed\", this.toggleDelayId = null, this.trigger = null, this.#t = null, this.#e = {\n el: !1,\n trigger: !1\n }, this.floatingCleanup = () => {\n };\n }\n get isTooltip() {\n return !!this.el.closest(this.getSetting(\"selectorTooltip\")) || this.el.getAttribute(\"role\") == \"tooltip\";\n }\n get isHovered() {\n return this.#e.el || this.#e.trigger;\n }\n set isHovered(e) {\n const n = e.type == \"mouseenter\" ? !0 : e.type == \"mouseleave\" ? !1 : void 0;\n if (n != null)\n switch (e.target) {\n case this.el:\n this.#e.el = n;\n break;\n case this.trigger:\n this.#e.trigger = n;\n break;\n }\n }\n async open() {\n return Kt(this);\n }\n async close() {\n return qt(this);\n }\n async deregister() {\n return this.parent.deregister(this.id);\n }\n registerEventListeners() {\n this.#t || (this.getSetting(\"event\") === \"hover\" ? (this.#t = [\n {\n el: [\"el\", \"trigger\"],\n type: [\"mouseenter\", \"focus\"],\n listener: rn.bind(this.parent, this)\n },\n {\n el: [\"el\", \"trigger\"],\n type: [\"mouseleave\", \"focusout\"],\n listener: cn.bind(this.parent, this)\n },\n {\n el: [\"trigger\"],\n type: [\"click\"],\n listener: on.bind(this.parent, this)\n }\n ], this.#t.forEach((n) => {\n n.el.forEach((i) => {\n n.type.forEach((s) => {\n this[i].addEventListener(s, n.listener, !1);\n });\n });\n })) : (this.#t = [\n {\n el: [\"trigger\"],\n type: [\"click\"],\n listener: sn.bind(this.parent, this)\n }\n ], this.#t.forEach((n) => {\n n.el.forEach((i) => {\n n.type.forEach((s) => {\n this[i].addEventListener(s, n.listener, !1);\n });\n });\n })));\n }\n deregisterEventListeners() {\n this.#t && (this.#t.forEach((e) => {\n e.el.forEach((n) => {\n e.type.forEach((i) => {\n this[n].removeEventListener(i, e.listener, !1);\n });\n });\n }), this.#t = null);\n }\n async onCreateEntry() {\n this.trigger = document.querySelector(\n `[aria-controls=\"${this.id}\"], [aria-describedby=\"${this.id}\"]`\n ), this.isTooltip ? (this.settings.event = \"hover\", this.el.setAttribute(\"role\", \"tooltip\")) : this.trigger && this.trigger instanceof HTMLElement && this.trigger.setAttribute(\"aria-expanded\", \"false\"), this.registerEventListeners();\n }\n async onRegisterEntry() {\n this.el.classList.contains(this.getSetting(\"stateActive\")) ? await this.open() : this.el.inert = !0;\n }\n async onDestroyEntry() {\n this.state === \"opened\" && await this.close(), this.floatingCleanup(), this.deregisterEventListeners();\n }\n}\nclass un extends oe {\n #t;\n constructor(e) {\n super({ ...re, ...e }), this.module = \"Popover\", this.entryClass = fn, this.trigger = null, this.#t = ln.bind(this);\n }\n get active() {\n return this.get(\"opened\", \"state\");\n }\n get activeHover() {\n return this.collection.find((e) => e.state == \"opened\" && e.getSetting(\"event\") == \"hover\");\n }\n async open(e) {\n const n = Tt.call(this, e);\n return Kt(n);\n }\n async close(e) {\n const n = e ? Tt.call(this, e) : void 0;\n return n ? qt(n) : Ut(this);\n }\n async afterMount() {\n document.addEventListener(\"keydown\", this.#t, !1);\n }\n async beforeUnmount() {\n this.trigger = null;\n }\n async afterUnmount() {\n document.removeEventListener(\"keydown\", this.#t, !1);\n }\n}\nexport {\n un as default\n};\n//# sourceMappingURL=index.js.map\n"],"names":["u","f","m","k","C","n","t","s","E","g","e","x","v","$","S","J","a","R","y","h","M","i","c","P","A","I","T","G","L","r","U$2","O","D","b","w","W","N","Q","Z","o","d","q","_","U","F","X","l","p","V","Y","B","tt","j","z$3","et$1","z","H","nt","S$1","T$2","q$1","Jt","Rt","Zt","kt","Gt","Qt","te","ee","ne","ie","se","Dt","oe","re","K","st","it","ce","le","dt","et","mt","pt","ae","wt","fe","ot","ue","gt","At","Et","de","ge","he","me","pe","Mt","rt","Ct","we","$t","ye","xe","Xt","Nt","ve","be","Ae","Ee","ct","Ft","St","Ce","Se","Le","Oe","lt","Pe","Te","Re","yt","xt","ke","De","at","Ht","ht","It","vt","Me","Vt","$e","bt","Bt","Ne","Fe","He","Ie","Ve","Be","Lt","Wt","We","_e","ze","je","ft","Ot","_t","qe","Ue","Ye","zt","Ke","Xe","Je","Ze","Ge","Qe","tn","en","Pt","jt","ut","nn","Tt","qt","Ut","Yt","sn","on","rn","cn","ln","an","Kt","fn","un"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../core/dist/index.js","../../drawer/dist/index.js","../../modal/dist/index.js","../../popover/dist/index.js"],"sourcesContent":["const l = \":not([inert])\", u = ':not([tabindex^=\"-\"])', m = \":not(:disabled)\", C = [\n `a[href]${l}${u}`,\n `area[href]${l}${u}`,\n `input:not([type=\"hidden\"]):not([type=\"radio\"])${l}${u}${m}`,\n `input[type=\"radio\"]${l}${u}${m}`,\n `select${l}${u}${m}`,\n `textarea${l}${u}${m}`,\n `button${l}${u}${m}`,\n `details${l} > summary:first-of-type${u}`,\n `iframe${l}${u}`,\n `audio[controls]${l}${u}`,\n `video[controls]${l}${u}`,\n `[contenteditable]${l}${u}`,\n `[tabindex]${l}${u}`\n];\nfunction x(i, t = \"config\") {\n const o = (i.getAttribute(`data-${t}`) || \"\").replace(/'/g, '\"');\n return o ? JSON.parse(o) : {};\n}\nfunction v(i) {\n if (typeof i == \"string\") {\n const t = document.getElementById(i);\n if (t) return t;\n throw new Error(`Element not found with ID: \"${i}\"`);\n } else if (i instanceof HTMLElement) {\n if (!i.id)\n throw new Error(\"HTMLElement must have an ID\");\n return i;\n } else\n throw new Error(\"Invalid argument: query must be a string or HTMLElement\");\n}\nfunction h(i, ...t) {\n return typeof i == \"function\" ? i(...t) : i;\n}\nasync function g(i, t, ...e) {\n t in i && typeof i[t] == \"function\" && await i[t](...e);\n}\nfunction k(i, t, e) {\n if (typeof t == \"string\") {\n const r = document.querySelector(t);\n if (!r)\n throw new Error(`No teleport reference found for selector: ${t}`);\n t = r;\n } else if (!(t instanceof HTMLElement))\n throw new Error(`Not a valid teleport reference: '${t}'`);\n if (typeof t[e] != \"function\")\n throw new Error(`Not a valid teleport method: '${e}'`);\n let o = document.createComment(\n \"teleported #\" + i.id\n );\n return i.before(o), t[e](i), () => {\n o && (o.after(i), o.remove(), o = null);\n };\n}\nfunction R(i) {\n return i.split(\"-\").map(\n (t, e) => e === 0 ? t : t.charAt(0).toUpperCase() + t.slice(1)\n ).join(\"\");\n}\nfunction M(i) {\n return i.replace(/([a-z])([A-Z])/g, \"$1-$2\").toLowerCase();\n}\nfunction A(i) {\n if (typeof i == \"number\")\n return i;\n const t = parseFloat(i);\n if (!Number.isNaN(t)) {\n const e = i.includes(\"ms\");\n return t * (e ? 1 : 1e3);\n }\n throw new Error(`Could not convert value to milliseconds: ${i}`);\n}\nfunction W(i, t, e, o, r = 0) {\n return new Promise((n) => {\n i.classList.remove(t), i.classList.add(e), setTimeout(() => {\n i.classList.add(o), i.classList.remove(e), n(i);\n }, A(r));\n });\n}\nfunction S(i, t = {}) {\n const e = {\n fallback: null,\n element: document.body,\n ...t\n };\n if (!i.startsWith(\"--\")) {\n const r = y();\n r && (i = `${r}${i}`), i = `--${i}`;\n }\n const o = getComputedStyle(e.element).getPropertyValue(i).trim();\n if (o)\n return o;\n if (e.fallback)\n return e.fallback;\n throw new Error(`CSS variable \"${i}\" was not found!`);\n}\nasync function d(i, t, e) {\n await g(t, i, e), e && await g(e, i);\n for (const o of t.plugins)\n await g(o, i, { parent: t, entry: e });\n await t.emit(i, { parent: t, entry: e });\n}\nfunction b(i) {\n const t = getComputedStyle(i.el), e = {}, o = i.config.get(\"customProps\");\n for (let r = 0; r < o.length; r++) {\n const n = y(), s = i.parent.name.toLowerCase(), c = M(o[r]), a = t.getPropertyValue(`--${n}${s}-${c}`).trim();\n a && (e[R(c)] = a);\n }\n return e;\n}\nfunction y() {\n return getComputedStyle(document.body).getPropertyValue(\"--vb-prefix\").trim();\n}\nfunction P(i, t) {\n t && document.querySelectorAll(t).forEach((o) => {\n i ? o.style.overflow = \"hidden\" : o.style.removeProperty(\"overflow\");\n });\n}\nfunction T(i, t) {\n t && document.querySelectorAll(t).forEach((o) => {\n o.inert = i;\n });\n}\nfunction Z(i, t, e) {\n T(!!i, t), P(!!i, e);\n}\nclass I {\n #t;\n #e;\n constructor() {\n this.#t = {}, this.#e = [];\n }\n get(t, e) {\n const { fallback: o, source: r } = e ?? {};\n if (r) {\n const n = this.#t?.[r]?.[t];\n if (n !== void 0)\n return n;\n } else\n for (const n of this.#e) {\n const s = this.#t?.[n]?.[t];\n if (s !== void 0)\n return s;\n }\n if (o !== void 0)\n return o;\n throw new Error(`Config does not exist: ${t}`);\n }\n set(t, e = {}) {\n let o, r;\n return typeof t == \"string\" ? (o = t, r = e) : (o = \"entry\", r = t), this.#t[o] ? Object.assign(this.#t[o], r) : (this.#e.unshift(o), this.#t[o] = r), this.#t[o];\n }\n remove(t) {\n const e = this.#e.indexOf(t);\n e !== -1 && this.#e.splice(e, 1), delete this.#t[t];\n }\n setSourceOrder(t) {\n const e = Object.keys(this.#t).reverse(), o = t.filter((r) => e.includes(r));\n for (const r of e)\n o.includes(r) || o.push(r);\n return this.#e = o;\n }\n}\nclass L {\n constructor() {\n this.events = {};\n }\n on(t, e, ...o) {\n this.events[t] || (this.events[t] = []), this.events[t].some(\n (n) => n.listener === e\n ) || this.events[t].push({ listener: e, args: o });\n }\n off(t, e) {\n this.events[t] && (this.events[t] = this.events[t].filter(\n (o) => o.listener !== e\n ));\n }\n async emit(t, ...e) {\n if (t = t.startsWith(\"on\") ? t.slice(2, 3).toLowerCase() + t.slice(3) : t, !!this.events[t])\n for (const { listener: o, args: r } of this.events[t])\n await o(...e, ...r);\n }\n}\nclass U extends Array {\n constructor(t = null) {\n super(), this.el = t, this.el && this.set();\n }\n get first() {\n return this[0];\n }\n get last() {\n return this[this.length - 1];\n }\n set(t = this.el) {\n this.length = 0, t && this.push(...t.querySelectorAll(C.join(\",\")));\n }\n clear() {\n this.length = 0;\n }\n}\nclass D {\n constructor(t = null) {\n this.el = t, this.focusable = new U(), this.handleFocusTrap = O.bind(this);\n }\n on(t = this.el) {\n this.focusable.set(t), this.focusable.length ? document.addEventListener(\"keydown\", this.handleFocusTrap) : document.addEventListener(\"keydown\", $);\n }\n off() {\n this.focusable.clear(), document.removeEventListener(\"keydown\", this.handleFocusTrap), document.removeEventListener(\"keydown\", $);\n }\n}\nfunction $(i) {\n (i.key === \"Tab\" || i.keyCode === 9) && i.preventDefault();\n}\nfunction O(i) {\n if (i.key !== \"Tab\" && i.keyCode !== 9) return;\n const { activeElement: t } = document, { el: e, focusable: o } = this, r = i.shiftKey, n = t === o.first || t === e, s = t === o.last || t === e;\n if (r && n || !r && s) {\n i.preventDefault();\n const c = r ? o.last : o.first;\n c && typeof c.focus == \"function\" && c.focus();\n }\n}\nfunction w(i, t = !0) {\n const e = localStorage.getItem(i), o = e ? JSON.parse(e) : {};\n return {\n get(r, n) {\n return r ? r in o ? o[r] : n : o;\n },\n set(r, n) {\n return n ? o[r] = n : delete o[r], t && localStorage.setItem(i, JSON.stringify(o)), o;\n }\n };\n}\nclass H extends Array {\n constructor(t = {}) {\n super(), this.presets = t;\n }\n #t(t) {\n const e = this.presets?.[t.name] || {}, o = t?.options || {};\n t.config = { ...t.config, ...e, ...o };\n }\n #e(t) {\n return !(\"name\" in t) || typeof t.name != \"string\" ? (console.error(\"Plugin requires a name!\"), !1) : !0;\n }\n get(t) {\n return this.find((e) => e.name === t) || null;\n }\n add(t) {\n if (Array.isArray(t))\n t.forEach((e) => this.add(e));\n else if (this.#t(t), this.#e(t)) {\n const e = this.findIndex((o) => o.name === t.name);\n ~e ? this[e] = t : this.push(t);\n }\n }\n remove(t) {\n const e = this.findIndex((o) => o.name === t);\n ~e && this.splice(e, 1);\n }\n}\nclass _ extends Array {\n constructor(t = {}) {\n super(), this.config = t;\n }\n get copy() {\n return [...this];\n }\n get top() {\n const t = this[this.length - 1];\n return t || null;\n }\n updateIndex() {\n this.forEach((t, e) => {\n t.el.style.zIndex = \"\";\n const o = getComputedStyle(t.el).getPropertyValue(\"z-index\"), r = parseInt(o, 10), n = String((Number.isNaN(r) ? 0 : r) + e + 1);\n t.el.style.zIndex = n;\n });\n }\n onChange() {\n this.updateIndex(), typeof this.config.onChange == \"function\" && this.config.onChange();\n }\n add(t) {\n this.push(t), this.onChange();\n }\n remove(t) {\n const e = this.findIndex((o) => o.id === t.id);\n ~e && (t.el.style.zIndex = \"\", this.splice(e, 1), this.onChange());\n }\n moveToTop(t) {\n const e = this.findIndex((o) => o.id === t.id);\n ~e && (this.splice(e, 1), this.add(t));\n }\n}\nconst N = {\n attr: \"config\",\n sourceKey: \"attr\"\n};\nfunction X(i = {}) {\n return { ...{\n name: \"attrConfig\",\n config: N,\n options: i\n }, ...{\n onCreateEntry({ entry: o }) {\n const r = x(o.el, this.config.attr);\n o.config.set(this.config.sourceKey, r);\n },\n onDestroyEntry({ entry: o }) {\n o.config.remove(this.config.sourceKey);\n }\n } };\n}\nconst K = {\n sourceKey: \"css\"\n};\nfunction Y(i = {}) {\n const t = {\n name: \"cssConfig\",\n config: K,\n options: i\n }, e = {\n setup(r) {\n r.on(\"updateCustomProps\", o, this);\n },\n teardown(r) {\n r.off(\"updateCustomProps\", o);\n },\n onCreateEntry({ entry: r }) {\n const n = b(r);\n r.config.set(this.config.sourceKey, n);\n },\n onDestroyEntry({ entry: r }) {\n r.config.remove(this.config.sourceKey);\n }\n };\n function o(r, n) {\n const s = b(r);\n r.config.set(n.config.sourceKey, s);\n }\n return { ...t, ...e };\n}\nconst Q = {\n condition: !0\n}, q = {\n primary: \"hsl(152deg 60% 50%)\",\n secondary: \"hsl(214deg 50% 50%)\",\n neutral: \"hsl(214deg 20% 50%)\",\n important: \"hsl(0deg 80% 50%)\"\n};\nfunction tt(i = {}) {\n const t = {\n name: \"debug\",\n config: Q,\n options: i\n };\n function e(n, s = [], c = [\"primary\", \"secondary\"]) {\n const a = c.map((f) => `color: ${q[f]}`);\n console.log(`%c📡 DEBUG: %c${n}`, ...a, ...s);\n }\n const o = {\n beforeMountRef: e.bind(\n null,\n \"Event > beforeMount()\",\n [],\n [\"primary\", \"secondary\"]\n ),\n afterMountRef: e.bind(\n null,\n \"Event > afterMount()\",\n [],\n [\"primary\", \"secondary\"]\n ),\n beforeUnmountRef: e.bind(\n null,\n \"Event > beforeUnmount()\",\n [],\n [\"important\", \"neutral\"]\n ),\n afterUnmountRef: e.bind(\n null,\n \"Event > afterUnmount()\",\n [],\n [\"important\", \"neutral\"]\n ),\n createEntryRef: ({ parent: n, entry: s }, c) => {\n if (h(c.config.condition, s)) {\n const a = n.collection.length;\n e(`Event > createEntry() > [${a}] #${s.id}`);\n }\n },\n registerEntryRef: ({ parent: n, entry: s }, c) => {\n if (h(c.config.condition, s)) {\n const a = n.collection.length;\n e(`Event > registerEntry() > [${a}] #${s.id}`);\n }\n },\n destroyEntryRef: ({ parent: n, entry: s }, c) => {\n if (h(c.config.condition, s)) {\n const a = n.collection.length;\n e(\n `Event > destroyEntry() > [${a}] #${s.id}`,\n [],\n [\"important\", \"neutral\"]\n );\n }\n },\n deregisterEntryRef: ({ parent: n, entry: s }, c) => {\n if (h(c.config.condition, s)) {\n const a = n.collection.length;\n e(\n `Event > deregisterEntry() > [${a}]`,\n [],\n [\"important\", \"neutral\"]\n );\n }\n }\n };\n return { ...t, ...{\n // Plugin setup/teardown methods\n setup(n) {\n e(\"Plugin > setup()\", Array.from(arguments), [\"secondary\", \"neutral\"]), n.on(\"beforeMount\", o.beforeMountRef), n.on(\"createEntry\", o.createEntryRef, this), n.on(\"registerEntry\", o.registerEntryRef, this), n.on(\"afterMount\", o.afterMountRef), n.on(\"beforeUnmount\", o.beforeUnmountRef), n.on(\"destroyEntry\", o.destroyEntryRef, this), n.on(\"deregisterEntry\", o.deregisterEntryRef, this), n.on(\"afterUnmount\", o.afterUnmountRef);\n },\n teardown(n) {\n e(\"Plugin > teardown()\", Array.from(arguments), [\n \"secondary\",\n \"neutral\"\n ]), n.off(\"beforeMount\", o.beforeMountRef), n.off(\"createEntry\", o.createEntryRef), n.off(\"registerEntry\", o.registerEntryRef), n.off(\"afterMount\", o.afterMountRef), n.off(\"beforeUnmount\", o.beforeUnmountRef), n.off(\"destroyEntry\", o.destroyEntryRef), n.off(\"deregisterEntry\", o.deregisterEntryRef), n.off(\"afterUnmount\", o.afterUnmountRef);\n },\n // Mount lifecycle hooks\n beforeMount() {\n e(\"Hook > beforeMount()\", Array.from(arguments));\n },\n onCreateEntry({ parent: n, entry: s }) {\n if (h(this.config.condition, s)) {\n const c = n.collection.length;\n e(\n `Hook > onCreateEntry() > [${c}] #${s.id}`,\n Array.from(arguments)\n );\n }\n },\n onRegisterEntry({ parent: n, entry: s }) {\n if (h(this.config.condition, s)) {\n const c = n.collection.length - 1;\n e(\n `Hook > onRegisterEntry() > [${c}] #${s.id}`,\n Array.from(arguments)\n );\n }\n },\n afterMount() {\n e(\"Hook > afterMount()\", Array.from(arguments));\n },\n // Unmount lifecycle hooks\n beforeUnmount() {\n e(\"Hook > beforeUnmount()\", Array.from(arguments), [\n \"important\",\n \"neutral\"\n ]);\n },\n onDestroyEntry({ parent: n, entry: s }) {\n if (h(this.config.condition, s)) {\n const c = n.collection.length - 1;\n e(\n `Hook > onDestroyEntry() > [${c}] #${s.id}`,\n Array.from(arguments),\n [\"important\", \"neutral\"]\n );\n }\n },\n onDeregisterEntry({ parent: n, entry: s }) {\n if (h(this.config.condition, s)) {\n const c = n.collection.length;\n e(`Hook > onDeregisterEntry() > [${c}]`, Array.from(arguments), [\n \"important\",\n \"neutral\"\n ]);\n }\n },\n afterUnmount() {\n e(\"Hook > afterUnmount()\", Array.from(arguments), [\n \"important\",\n \"neutral\"\n ]);\n }\n } };\n}\nconst F = {\n condition: !0\n};\nfunction et(i = {}) {\n const t = {\n name: \"focusTrap\",\n config: F,\n options: i\n }, e = {\n setup(n) {\n n.on(\"opened\", o, this), n.on(\"closed\", r, this);\n },\n teardown(n) {\n n.off(\"opened\", o), n.off(\"closed\", r);\n },\n onCreateEntry({ entry: n }) {\n n.focusTrap = new D();\n }\n };\n function o(n, s) {\n const c = { plugin: s, parent: n.parent, entry: n };\n n.focusTrap && h(s.config.condition, c) && n.focusTrap.on(n.dialog);\n }\n function r(n, s) {\n const c = { plugin: s, parent: n.parent, entry: n };\n n.focusTrap && h(s.config.condition, c) && n.focusTrap.off();\n }\n return { ...t, ...e };\n}\nconst V = {\n // The data attributes to get the breakpoint values from\n attrBreakpoint: \"breakpoint\",\n // The data attributes to get the media query value from\n attrMediaQuery: \"media-query\",\n // The string token to replace in the media query string\n token: \"{{BP}}\",\n // Sets a global breakpoint. Can be overridden by setting a data attribute\n // value. Notice: setting this option will enable a media query breakpoint on\n // all entries.\n breakpoint: null,\n // The default media query string to use. Can be overridden by setting a data\n // attribute value.\n mediaQuery: \"(min-width: {{BP}})\",\n // Maps entry ID or breakpoint key to breakpoint values. This is referenced\n // when getting an entries breakpoint value.\n breakpoints: {},\n // Maps entry ID's to a media query strings. Media query may contain a token.\n // This is referenced when getting an entries media query string.\n mediaQueries: {},\n // The function to run when the MediaQueryList triggers a \"change\" event.\n // This is run once on initial mount.\n onChange: () => {\n }\n};\nfunction ot(i = {}) {\n const t = {\n name: \"mediaQuery\",\n config: V,\n options: i\n }, e = {\n // Run when an entry is created\n // Sets up the MediaQueryList and event listener\n onCreateEntry({ entry: c }) {\n n.call(this, c);\n },\n // Run when an entry is destroyed\n // Removes the MediaQueryList and event listener\n onDestroyEntry({ entry: c }) {\n s(c);\n }\n };\n function o(c) {\n const a = c.el.getAttribute(`data-${this.config.attrMediaQuery}`);\n return !a && c.id in this.config.mediaQueries ? this.config.mediaQueries[c.id] : a || void 0;\n }\n function r(c) {\n let a = c.el.getAttribute(`data-${this.config.attrBreakpoint}`);\n return !a && c.id in this.config.breakpoints && (a = this.config.breakpoints[c.id]), a && a in this.config.breakpoints && (a = this.config.breakpoints[a]), a && (a = getComputedStyle(document.body).getPropertyValue(`--${y()}breakpoint-${a}`).trim() || a), a || this.config.breakpoint;\n }\n function n(c) {\n const a = r.call(this, c);\n if (!a) return;\n let f = o.call(this, c) || this.config.mediaQuery;\n if (!f) return;\n const p = f.replace(new RegExp(`${this.config.token}`, \"g\"), a);\n c.mql = window.matchMedia(p), c.mql.onchange = (E) => {\n this.config.onChange(E, c);\n }, this.config.onChange(c.mql, c);\n }\n function s(c) {\n c.mql && (c.mql.onchange = null, c.mql = null);\n }\n return { ...t, ...e };\n}\nconst B = {\n // The property on entry objects to watch\n prop: \"state\",\n // The default value or a function to compute the initial value\n value: null,\n // The local storage key prefix\n keyPrefix: \"VB:\",\n // The local storage key to use. If not provided, module name and prop value\n // will be used e.g., \"VB:ModalState\".\n key: null,\n // Condition to determine whether or not to store the value in local storage\n condition: !1,\n // The function to run whenever the value changes\n onChange() {\n }\n};\nfunction nt(i = {}) {\n const t = {\n name: \"propStore\",\n config: B,\n options: i,\n store: null\n }, e = {\n setup(s) {\n this.store = w(n.call(this, s.name));\n },\n async onCreateEntry({ entry: s }) {\n await o.call(this, s);\n },\n onDestroyEntry({ entry: s }) {\n r.call(this, s);\n }\n };\n async function o(s) {\n let c = s[this.config.prop] || null;\n const a = { plugin: this, parent: s.parent, entry: s };\n Object.defineProperty(s, this.config.prop, {\n configurable: !0,\n get() {\n return c;\n },\n set: async (f) => {\n if (c === f) return;\n const p = c;\n c = f, h(\n this.config.condition,\n a,\n f,\n p\n ) && this.store?.set(s.id, f), await this.config.onChange(a, f, p);\n }\n }), Object.defineProperty(s, \"store\", {\n configurable: !0,\n get: () => this.store?.get(s.id),\n set: (f) => {\n s[this.config.prop] = f;\n }\n }), s[this.config.prop] = await h(this.config.value, a) || s[this.config.prop];\n }\n async function r(s) {\n const c = s[this.config.prop];\n delete s[this.config.prop], s[this.config.prop] = c, this.store?.set(s.id, null);\n }\n function n(s) {\n const c = this.config.prop.charAt(0).toUpperCase() + this.config.prop.slice(1), a = this.config.key || s + c;\n return this.config.keyPrefix + a;\n }\n return { ...t, ...e };\n}\nconst j = {\n where: null,\n how: \"append\"\n};\nfunction it(i = {}) {\n const t = {\n name: \"teleport\",\n config: j,\n options: i\n }, e = {\n onCreateEntry({ entry: n }) {\n o(this, n);\n },\n onDestroyEntry({ entry: n }) {\n r(this, n);\n }\n };\n function o(n, s) {\n s.teleport = () => {\n typeof s.teleportReturn == \"function\" && s.teleportReturn(), s.teleportReturn = k(\n s.el,\n s.config.get(\"teleport\", { fallback: n.config.where }),\n s.config.get(\"teleportMethod\", { fallback: n.config.how })\n );\n }, s.teleport(), s.parent.emit(\"teleport\", { plugin: n, parent: s.parent, entry: s });\n }\n function r(n, s) {\n typeof s.teleportReturn == \"function\" && s.teleportReturn(), s.parent.emit(\"teleportReturn\", {\n plugin: n,\n parent: s.parent,\n entry: s\n });\n }\n return { ...t, ...e };\n}\nclass z {\n constructor(t, e) {\n this.config = new I(), this.parent = t, this.el = v(e), this.id = this.el.id, this.config.set(\"parent\", this.parent.config), this.config.set(\"entry\", {});\n }\n}\nconst J = {\n selector: \"\",\n plugins: [],\n presets: {}\n};\nclass st {\n constructor(t = {}) {\n this.#t = new L(), this.events = this.#t.events, this.on = this.#t.on.bind(this.#t), this.off = this.#t.off.bind(this.#t), this.emit = this.#t.emit.bind(this.#t), this.collection = [], this.entryClass = z, this.name = this.constructor.name, this.config = { ...J, ...t }, this.plugins = new H(this.config.presets);\n }\n #t;\n get(t, e = \"id\") {\n return this.collection.find((o) => o[e] === t);\n }\n getOrThrow(t, e = \"id\") {\n const o = this.get(t, e);\n if (o)\n return o;\n throw new Error(\n `${this.name} entry not found in collection with ${String(e)} of \"${t}\"`\n );\n }\n updateConfig(t = {}) {\n return Object.assign(this.config, t);\n }\n async createEntry(t) {\n const e = new this.entryClass(this, t);\n return await g(e, \"init\"), await d(\"onCreateEntry\", this, e), e;\n }\n async destroyEntry(t) {\n return await d(\"onDestroyEntry\", this, t), await g(t, \"destroy\"), t;\n }\n async register(t) {\n const e = this.collection.findIndex((o) => o.id === t.id);\n return ~e ? this.collection[e] = t : this.collection.push(t), await d(\"onRegisterEntry\", this, t), t;\n }\n async deregister(t) {\n const e = this.collection.findIndex((o) => o.id === t.id);\n if (~e) {\n await d(\n \"onDeregisterEntry\",\n this,\n this.collection[e]\n );\n const [o] = this.collection.splice(e, 1);\n }\n return t;\n }\n async mount(t = (e) => e) {\n for (const e of this.config?.plugins || [])\n this.plugins.add(e);\n for (const e of this.plugins)\n await g(e, \"setup\", this);\n if (await d(\"beforeMount\", this), this.config.selector) {\n const e = document.querySelectorAll(this.config.selector);\n for (const o of e)\n await this.createEntry(o).then((r) => t(r)).then((r) => this.register(r));\n }\n return await d(\"afterMount\", this), this;\n }\n async unmount(t = (e) => e) {\n for (await d(\"beforeUnmount\", this); this.collection.length > 0; )\n await this.destroyEntry(this.collection[0]).then((e) => t(e)).then((e) => this.deregister(e));\n await d(\"afterUnmount\", this);\n for (const e of this.plugins)\n await g(e, \"teardown\", this);\n for (const e of [...this.plugins])\n this.plugins.remove(e.name);\n return this;\n }\n}\nconst G = {\n prefix: S(\"theme-prefix\", { fallback: \"vb-theme-\" }),\n storeKey: \"VB:Profile\",\n fallback: \"root\",\n themes: [\"root\", \"light\", \"dark\"],\n onInit() {\n },\n onChange() {\n }\n};\nfunction rt(i = {}) {\n const t = { ...G, ...i };\n function e(n) {\n t[n].call(r);\n }\n const o = w(t.storeKey), r = {\n // Store our config in the API\n config: t,\n // Actions\n add(n) {\n t.themes.push(n);\n },\n remove(n) {\n const s = t.themes.indexOf(n);\n ~s && t.themes.splice(s, 1);\n },\n // Getters\n get class() {\n return `${t.prefix}${this.theme}`;\n },\n get classes() {\n return t.themes.map((n) => `${t.prefix}${n}`);\n },\n get themes() {\n return t.themes;\n },\n // Setup the theme get and set methods\n get theme() {\n return o.get(\"theme\") || t.fallback;\n },\n set theme(n) {\n t.themes.includes(n) ? this.theme != n && (o.set(\"theme\", n), document.documentElement.classList.remove(...this.classes), document.documentElement.classList.add(`${t.prefix}${n}`), e(\"onChange\")) : console.error(`Not a valid theme value: \"${n}\"`);\n }\n };\n return e(\"onInit\"), r;\n}\nexport {\n st as Collection,\n z as CollectionEntry,\n I as ConfigManager,\n L as EventEmitter,\n D as FocusTrap,\n U as FocusableArray,\n H as PluginArray,\n _ as StackArray,\n X as attrConfig,\n Y as cssConfig,\n S as cssVar,\n tt as debug,\n d as dispatchLifecycleHook,\n et as focusTrap,\n C as focusableSelectors,\n x as getAttrData,\n b as getCustomProps,\n v as getElement,\n y as getPrefix,\n h as getValue,\n w as localStore,\n g as maybeRunMethod,\n ot as mediaQuery,\n nt as propStore,\n Z as setGlobalState,\n it as teleport,\n k as teleportElement,\n rt as themeStore,\n R as toCamel,\n M as toKebab,\n A as toMilliseconds,\n W as transition\n};\n//# sourceMappingURL=index.js.map\n","function p(t) {\n if (typeof t == \"string\") {\n const e = document.getElementById(t);\n if (e) return e;\n throw new Error(`Element not found with ID: \"${t}\"`);\n } else if (t instanceof HTMLElement) {\n if (!t.id)\n throw new Error(\"HTMLElement must have an ID\");\n return t;\n } else\n throw new Error(\"Invalid argument: query must be a string or HTMLElement\");\n}\nasync function r(t, e, ...s) {\n e in t && typeof t[e] == \"function\" && await t[e](...s);\n}\nfunction w(t) {\n if (typeof t == \"number\")\n return t;\n const e = parseFloat(t);\n if (!Number.isNaN(e)) {\n const s = t.includes(\"ms\");\n return e * (s ? 1 : 1e3);\n }\n throw new Error(`Could not convert value to milliseconds: ${t}`);\n}\nfunction f(t, e, s, i, o = 0) {\n return new Promise((n) => {\n t.classList.remove(e), t.classList.add(s), setTimeout(() => {\n t.classList.add(i), t.classList.remove(s), n(t);\n }, w(o));\n });\n}\nfunction v(t, e = {}) {\n const s = {\n fallback: null,\n element: document.body,\n ...e\n };\n if (!t.startsWith(\"--\")) {\n const o = E();\n o && (t = `${o}${t}`), t = `--${t}`;\n }\n const i = getComputedStyle(s.element).getPropertyValue(t).trim();\n if (i)\n return i;\n if (s.fallback)\n return s.fallback;\n throw new Error(`CSS variable \"${t}\" was not found!`);\n}\nasync function a(t, e, s) {\n await r(e, t, s), s && await r(s, t);\n for (const i of e.plugins)\n await r(i, t, { parent: e, entry: s });\n await e.emit(t, { parent: e, entry: s });\n}\nfunction E() {\n return getComputedStyle(document.body).getPropertyValue(\"--vb-prefix\").trim();\n}\nfunction b(t, e) {\n e && document.querySelectorAll(e).forEach((s) => {\n t ? s.style.overflow = \"hidden\" : s.style.removeProperty(\"overflow\");\n });\n}\nfunction C(t, e) {\n e && document.querySelectorAll(e).forEach((s) => {\n s.inert = t;\n });\n}\nfunction c(t, e, s) {\n C(!!t, e), b(!!t, s);\n}\nclass S {\n #t;\n #e;\n constructor() {\n this.#t = {}, this.#e = [];\n }\n get(e, s) {\n const { fallback: i, source: o } = s ?? {};\n if (o) {\n const n = this.#t?.[o]?.[e];\n if (n !== void 0)\n return n;\n } else\n for (const n of this.#e) {\n const d = this.#t?.[n]?.[e];\n if (d !== void 0)\n return d;\n }\n if (i !== void 0)\n return i;\n throw new Error(`Config does not exist: ${e}`);\n }\n set(e, s = {}) {\n let i, o;\n return typeof e == \"string\" ? (i = e, o = s) : (i = \"entry\", o = e), this.#t[i] ? Object.assign(this.#t[i], o) : (this.#e.unshift(i), this.#t[i] = o), this.#t[i];\n }\n remove(e) {\n const s = this.#e.indexOf(e);\n s !== -1 && this.#e.splice(s, 1), delete this.#t[e];\n }\n setSourceOrder(e) {\n const s = Object.keys(this.#t).reverse(), i = e.filter((o) => s.includes(o));\n for (const o of s)\n i.includes(o) || i.push(o);\n return this.#e = i;\n }\n}\nclass O {\n constructor() {\n this.events = {};\n }\n on(e, s, ...i) {\n this.events[e] || (this.events[e] = []), this.events[e].some(\n (o) => o.listener === s\n ) || this.events[e].push({ listener: s, args: i });\n }\n off(e, s) {\n this.events[e] && (this.events[e] = this.events[e].filter(\n (i) => i.listener !== s\n ));\n }\n async emit(e, ...s) {\n if (e = e.startsWith(\"on\") ? e.slice(2, 3).toLowerCase() + e.slice(3) : e, !!this.events[e])\n for (const { listener: i, args: o } of this.events[e])\n await i(...s, ...o);\n }\n}\nclass L extends Array {\n constructor(e = {}) {\n super(), this.presets = e;\n }\n #t(e) {\n const s = this.presets?.[e.name] || {}, i = e?.options || {};\n e.config = { ...e.config, ...s, ...i };\n }\n #e(e) {\n return !(\"name\" in e) || typeof e.name != \"string\" ? (console.error(\"Plugin requires a name!\"), !1) : !0;\n }\n get(e) {\n return this.find((s) => s.name === e) || null;\n }\n add(e) {\n if (Array.isArray(e))\n e.forEach((s) => this.add(s));\n else if (this.#t(e), this.#e(e)) {\n const s = this.findIndex((i) => i.name === e.name);\n ~s ? this[s] = e : this.push(e);\n }\n }\n remove(e) {\n const s = this.findIndex((i) => i.name === e);\n ~s && this.splice(s, 1);\n }\n}\nclass g {\n constructor(e, s) {\n this.config = new S(), this.parent = e, this.el = p(s), this.id = this.el.id, this.config.set(\"parent\", this.parent.config), this.config.set(\"entry\", {});\n }\n}\nconst M = {\n selector: \"\",\n plugins: [],\n presets: {}\n};\nclass x {\n constructor(e = {}) {\n this.#t = new O(), this.events = this.#t.events, this.on = this.#t.on.bind(this.#t), this.off = this.#t.off.bind(this.#t), this.emit = this.#t.emit.bind(this.#t), this.collection = [], this.entryClass = g, this.name = this.constructor.name, this.config = { ...M, ...e }, this.plugins = new L(this.config.presets);\n }\n #t;\n get(e, s = \"id\") {\n return this.collection.find((i) => i[s] === e);\n }\n getOrThrow(e, s = \"id\") {\n const i = this.get(e, s);\n if (i)\n return i;\n throw new Error(\n `${this.name} entry not found in collection with ${String(s)} of \"${e}\"`\n );\n }\n updateConfig(e = {}) {\n return Object.assign(this.config, e);\n }\n async createEntry(e) {\n const s = new this.entryClass(this, e);\n return await r(s, \"init\"), await a(\"onCreateEntry\", this, s), s;\n }\n async destroyEntry(e) {\n return await a(\"onDestroyEntry\", this, e), await r(e, \"destroy\"), e;\n }\n async register(e) {\n const s = this.collection.findIndex((i) => i.id === e.id);\n return ~s ? this.collection[s] = e : this.collection.push(e), await a(\"onRegisterEntry\", this, e), e;\n }\n async deregister(e) {\n const s = this.collection.findIndex((i) => i.id === e.id);\n if (~s) {\n await a(\n \"onDeregisterEntry\",\n this,\n this.collection[s]\n );\n const [i] = this.collection.splice(s, 1);\n }\n return e;\n }\n async mount(e = (s) => s) {\n for (const s of this.config?.plugins || [])\n this.plugins.add(s);\n for (const s of this.plugins)\n await r(s, \"setup\", this);\n if (await a(\"beforeMount\", this), this.config.selector) {\n const s = document.querySelectorAll(this.config.selector);\n for (const i of s)\n await this.createEntry(i).then((o) => e(o)).then((o) => this.register(o));\n }\n return await a(\"afterMount\", this), this;\n }\n async unmount(e = (s) => s) {\n for (await a(\"beforeUnmount\", this); this.collection.length > 0; )\n await this.destroyEntry(this.collection[0]).then((s) => e(s)).then((s) => this.deregister(s));\n await a(\"afterUnmount\", this);\n for (const s of this.plugins)\n await r(s, \"teardown\", this);\n for (const s of [...this.plugins])\n this.plugins.remove(s.name);\n return this;\n }\n}\nv(\"theme-prefix\", { fallback: \"vb-theme-\" });\nconst T = {\n focusTrap: {\n condition: ({ entry: t }) => t.state === \"closed\" || t.state === \"opened\" && t.mode === \"modal\"\n },\n mediaQuery: {\n onChange(t, e) {\n e.mode = t.matches ? \"inline\" : \"modal\";\n }\n },\n propStore: {\n prop: \"inlineState\",\n value: ({ entry: t }) => t.store,\n condition: ({ entry: t }) => [\"opened\", \"closed\", \"indeterminate\"].includes(t.state),\n onChange: ({ entry: t }) => t.applyState()\n }\n}, $ = {\n presets: T,\n attrOpen: \"drawer-open\",\n attrClose: \"drawer-close\",\n attrToggle: \"drawer-toggle\",\n selector: \".drawer\",\n selectorDialog: \".drawer__dialog\",\n selectorScreen: \".drawer\",\n selectorFocus: \"[data-focus]\",\n selectorInert: null,\n selectorOverflow: \"body\",\n stateOpened: \"is-opened\",\n stateOpening: \"is-opening\",\n stateClosing: \"is-closing\",\n stateClosed: \"is-closed\",\n classModal: \"drawer_modal\",\n customProps: [\"transition-duration\"],\n breakpoints: null,\n customEventPrefix: \"drawer:\",\n setTabindex: !0,\n transition: !0,\n transitionDuration: 300\n};\nfunction k(t) {\n switch (t.mode) {\n case \"inline\":\n return D(t);\n case \"modal\":\n return I(t);\n default:\n throw new Error(`\"${t.mode}\" is not a valid drawer mode.`);\n }\n}\nasync function D(t) {\n return t.el.classList.remove(t.config.get(\"classModal\")), t.dialog.removeAttribute(\"aria-modal\"), c(\n !1,\n t.config.get(\"selectorInert\"),\n t.config.get(\"selectorOverflow\")\n ), t.applyState(), t.el.dispatchEvent(\n new CustomEvent(t.config.get(\"customEventPrefix\") + \"switchMode\", {\n detail: t.parent,\n bubbles: !0\n })\n ), await t.parent.emit(\"switchMode\", t), t;\n}\nasync function I(t) {\n return t.el.classList.add(t.config.get(\"classModal\")), t.dialog.setAttribute(\"aria-modal\", \"true\"), await t.close(!1, !1), t.el.dispatchEvent(\n new CustomEvent(t.config.get(\"customEventPrefix\") + \"switchMode\", {\n detail: t.parent,\n bubbles: !0\n })\n ), await t.parent.emit(\"switchMode\", t), t;\n}\nfunction u(t) {\n t.dialog && t.state === \"opened\" ? (t.dialog.querySelector(t.config.get(\"selectorFocus\")) || t.dialog).focus() : t.trigger && (t.trigger.focus(), t.trigger = null);\n}\nasync function l(t, e, s = !0) {\n return (t.state === \"closed\" || t.state === \"indeterminate\" || t.state === null) && (t.setState(\"opening\"), e ?? t.config.get(\"transition\") ? await f(\n t.el,\n t.config.get(\"stateClosed\"),\n t.config.get(\"stateOpening\"),\n t.config.get(\"stateOpened\"),\n t.config.get(\"transitionDuration\")\n ) : (t.el.classList.add(t.config.get(\"stateOpened\")), t.el.classList.remove(t.config.get(\"stateClosed\"))), t.setState(\"opened\"), t.mode === \"modal\" && c(\n !0,\n t.config.get(\"selectorInert\"),\n t.config.get(\"selectorOverflow\")\n ), s && u(t), t.el.dispatchEvent(\n new CustomEvent(t.config.get(\"customEventPrefix\") + \"opened\", {\n detail: t.parent,\n bubbles: !0\n })\n ), await t.parent.emit(\"opened\", t)), t;\n}\nasync function h(t, e, s = !0) {\n return (t.state === \"opened\" || t.state === \"indeterminate\" || t.state === null) && (t.setState(\"closing\"), document.activeElement && document.activeElement instanceof HTMLElement && document.activeElement.blur(), e ?? t.config.get(\"transition\") ? await f(\n t.el,\n t.config.get(\"stateOpened\"),\n t.config.get(\"stateClosing\"),\n t.config.get(\"stateClosed\"),\n t.config.get(\"transitionDuration\")\n ) : (t.el.classList.add(t.config.get(\"stateClosed\")), t.el.classList.remove(t.config.get(\"stateOpened\"))), t.setState(\"closed\"), t.mode === \"modal\" && c(\n !1,\n t.config.get(\"selectorInert\"),\n t.config.get(\"selectorOverflow\")\n ), s && u(t), t.el.dispatchEvent(\n new CustomEvent(t.config.get(\"customEventPrefix\") + \"closed\", {\n detail: t.parent,\n bubbles: !0\n })\n ), await t.parent.emit(\"closed\", t)), t;\n}\nasync function m(t, e, s) {\n return t.state === \"closed\" ? l(t, e, s) : h(t, e, s);\n}\nclass A extends g {\n #t;\n constructor(e, s) {\n super(e, s), this.#t = \"indeterminate\", this.dialog = this.el.querySelector(this.config.get(\"selectorDialog\")) || this.el, this.trigger = null, this.state = null, this.inlineState = null;\n }\n get mode() {\n return this.#t;\n }\n set mode(e) {\n this.#t !== e && (this.#t = e, k(this));\n }\n setState(e) {\n this.state = e;\n const s = [\"opening\", \"closing\"];\n this.mode === \"inline\" && !s.includes(e) && (this.inlineState = e), e === \"indeterminate\" && (this.el.classList.remove(this.config.get(\"stateOpened\")), this.el.classList.remove(this.config.get(\"stateOpening\")), this.el.classList.remove(this.config.get(\"stateClosed\")), this.el.classList.remove(this.config.get(\"stateClosing\")));\n }\n async applyState() {\n if (this.mode === \"modal\") return this;\n if (this.inlineState === \"opened\")\n return await this.open(!1, !1);\n if (this.inlineState === \"closed\")\n return await this.close(!1, !1);\n if (this.state === null) {\n if (this.el.classList.contains(this.config.get(\"stateOpened\")))\n return await this.open(!1, !1);\n if (this.el.classList.contains(this.config.get(\"stateClosed\")))\n return await this.close(!1, !1);\n }\n return this.setState(\"indeterminate\"), this;\n }\n async open(e, s) {\n return l(this, e, s);\n }\n async close(e, s) {\n return h(this, e, s);\n }\n async toggle(e, s) {\n return m(this, e, s);\n }\n async deregister() {\n return this.parent.deregister(this);\n }\n async onCreateEntry() {\n this.config.get(\"setTabindex\") && this.dialog && this.dialog.setAttribute(\"tabindex\", \"-1\"), await this.applyState(), this.inlineState = this.state, this.mode = this.el && this.el.classList.contains(this.config.get(\"classModal\")) ? \"modal\" : \"inline\";\n }\n async onDestroyEntry() {\n this.mode === \"modal\" && this.state === \"opened\" && await this.close(!1);\n }\n}\nasync function P(t) {\n const e = t.target;\n if (e) {\n const s = e.closest(`\n [data-${this.config.attrOpen}],\n [data-${this.config.attrToggle}],\n [data-${this.config.attrClose}]\n `);\n if (s) {\n t.preventDefault(), s.matches(`[data-${this.config.attrToggle}]`) && s.getAttribute(`data-${this.config.attrToggle}`)?.trim().split(\" \")?.forEach((o) => {\n const n = this.getOrThrow(o);\n return n.trigger = s, n.toggle();\n }), s.matches(`[data-${this.config.attrOpen}]`) && s.getAttribute(`data-${this.config.attrOpen}`)?.trim().split(\" \")?.forEach((o) => {\n const n = this.getOrThrow(o);\n return n.trigger = s, n.open();\n }), s.matches(`[data-${this.config.attrClose}]`) && s.getAttribute(`data-${this.config.attrClose}`)?.trim().split(\" \")?.forEach((o) => {\n if (o) {\n const n = this.getOrThrow(o);\n return n.trigger = s, n.close();\n } else {\n const n = e.closest(this.config.selector);\n if (n) return this.close(n.id);\n }\n });\n return;\n }\n if (this.activeModal && e.matches(this.config.selectorScreen))\n return this.close(this.activeModal.id);\n }\n}\nfunction y(t) {\n if (t.key === \"Escape\" && this.activeModal)\n return this.close(this.activeModal.id);\n}\nclass q extends x {\n constructor(e) {\n super({ ...$, ...e }), this.entryClass = A, this.name = \"Drawer\", this.#t = P.bind(this), this.#e = y.bind(this);\n }\n #t;\n #e;\n get activeModal() {\n return this.collection.find((e) => e.state === \"opened\" && e.mode === \"modal\");\n }\n async open(e, s, i) {\n const o = this.getOrThrow(e);\n return l(o, s, i);\n }\n async close(e, s, i) {\n const o = this.getOrThrow(e);\n return h(o, s, i);\n }\n async toggle(e, s, i) {\n const o = this.getOrThrow(e);\n return m(o, s, i);\n }\n async afterMount() {\n document.addEventListener(\"click\", this.#t, !1), document.addEventListener(\"keydown\", this.#e, !1);\n }\n async afterUnmount() {\n document.removeEventListener(\"click\", this.#t, !1), document.removeEventListener(\"keydown\", this.#e, !1);\n }\n}\nexport {\n q as default\n};\n//# sourceMappingURL=index.js.map\n","function p(s) {\n if (typeof s == \"string\") {\n const t = document.getElementById(s);\n if (t) return t;\n throw new Error(`Element not found with ID: \"${s}\"`);\n } else if (s instanceof HTMLElement) {\n if (!s.id)\n throw new Error(\"HTMLElement must have an ID\");\n return s;\n } else\n throw new Error(\"Invalid argument: query must be a string or HTMLElement\");\n}\nasync function a(s, t, ...e) {\n t in s && typeof s[t] == \"function\" && await s[t](...e);\n}\nfunction m(s) {\n if (typeof s == \"number\")\n return s;\n const t = parseFloat(s);\n if (!Number.isNaN(t)) {\n const e = s.includes(\"ms\");\n return t * (e ? 1 : 1e3);\n }\n throw new Error(`Could not convert value to milliseconds: ${s}`);\n}\nfunction u(s, t, e, i, n = 0) {\n return new Promise((o) => {\n s.classList.remove(t), s.classList.add(e), setTimeout(() => {\n s.classList.add(i), s.classList.remove(e), o(s);\n }, m(n));\n });\n}\nfunction w(s, t = {}) {\n const e = {\n fallback: null,\n element: document.body,\n ...t\n };\n if (!s.startsWith(\"--\")) {\n const n = v();\n n && (s = `${n}${s}`), s = `--${s}`;\n }\n const i = getComputedStyle(e.element).getPropertyValue(s).trim();\n if (i)\n return i;\n if (e.fallback)\n return e.fallback;\n throw new Error(`CSS variable \"${s}\" was not found!`);\n}\nasync function r(s, t, e) {\n await a(t, s, e), e && await a(e, s);\n for (const i of t.plugins)\n await a(i, s, { parent: t, entry: e });\n await t.emit(s, { parent: t, entry: e });\n}\nfunction v() {\n return getComputedStyle(document.body).getPropertyValue(\"--vb-prefix\").trim();\n}\nfunction y(s, t) {\n t && document.querySelectorAll(t).forEach((e) => {\n s ? e.style.overflow = \"hidden\" : e.style.removeProperty(\"overflow\");\n });\n}\nfunction E(s, t) {\n t && document.querySelectorAll(t).forEach((e) => {\n e.inert = s;\n });\n}\nfunction b(s, t, e) {\n E(!!s, t), y(!!s, e);\n}\nclass C {\n #t;\n #e;\n constructor() {\n this.#t = {}, this.#e = [];\n }\n get(t, e) {\n const { fallback: i, source: n } = e ?? {};\n if (n) {\n const o = this.#t?.[n]?.[t];\n if (o !== void 0)\n return o;\n } else\n for (const o of this.#e) {\n const f = this.#t?.[o]?.[t];\n if (f !== void 0)\n return f;\n }\n if (i !== void 0)\n return i;\n throw new Error(`Config does not exist: ${t}`);\n }\n set(t, e = {}) {\n let i, n;\n return typeof t == \"string\" ? (i = t, n = e) : (i = \"entry\", n = t), this.#t[i] ? Object.assign(this.#t[i], n) : (this.#e.unshift(i), this.#t[i] = n), this.#t[i];\n }\n remove(t) {\n const e = this.#e.indexOf(t);\n e !== -1 && this.#e.splice(e, 1), delete this.#t[t];\n }\n setSourceOrder(t) {\n const e = Object.keys(this.#t).reverse(), i = t.filter((n) => e.includes(n));\n for (const n of e)\n i.includes(n) || i.push(n);\n return this.#e = i;\n }\n}\nclass x {\n constructor() {\n this.events = {};\n }\n on(t, e, ...i) {\n this.events[t] || (this.events[t] = []), this.events[t].some(\n (n) => n.listener === e\n ) || this.events[t].push({ listener: e, args: i });\n }\n off(t, e) {\n this.events[t] && (this.events[t] = this.events[t].filter(\n (i) => i.listener !== e\n ));\n }\n async emit(t, ...e) {\n if (t = t.startsWith(\"on\") ? t.slice(2, 3).toLowerCase() + t.slice(3) : t, !!this.events[t])\n for (const { listener: i, args: n } of this.events[t])\n await i(...e, ...n);\n }\n}\nclass O extends Array {\n constructor(t = {}) {\n super(), this.presets = t;\n }\n #t(t) {\n const e = this.presets?.[t.name] || {}, i = t?.options || {};\n t.config = { ...t.config, ...e, ...i };\n }\n #e(t) {\n return !(\"name\" in t) || typeof t.name != \"string\" ? (console.error(\"Plugin requires a name!\"), !1) : !0;\n }\n get(t) {\n return this.find((e) => e.name === t) || null;\n }\n add(t) {\n if (Array.isArray(t))\n t.forEach((e) => this.add(e));\n else if (this.#t(t), this.#e(t)) {\n const e = this.findIndex((i) => i.name === t.name);\n ~e ? this[e] = t : this.push(t);\n }\n }\n remove(t) {\n const e = this.findIndex((i) => i.name === t);\n ~e && this.splice(e, 1);\n }\n}\nclass L extends Array {\n constructor(t = {}) {\n super(), this.config = t;\n }\n get copy() {\n return [...this];\n }\n get top() {\n return this[this.length - 1] || null;\n }\n updateIndex() {\n this.forEach((t, e) => {\n t.el.style.zIndex = \"\";\n const i = getComputedStyle(t.el).getPropertyValue(\"z-index\"), n = parseInt(i, 10), o = String((Number.isNaN(n) ? 0 : n) + e + 1);\n t.el.style.zIndex = o;\n });\n }\n onChange() {\n this.updateIndex(), typeof this.config.onChange == \"function\" && this.config.onChange();\n }\n add(t) {\n this.push(t), this.onChange();\n }\n remove(t) {\n const e = this.findIndex((i) => i.id === t.id);\n ~e && (t.el.style.zIndex = \"\", this.splice(e, 1), this.onChange());\n }\n moveToTop(t) {\n const e = this.findIndex((i) => i.id === t.id);\n ~e && (this.splice(e, 1), this.add(t));\n }\n}\nclass d {\n constructor(t, e) {\n this.config = new C(), this.parent = t, this.el = p(e), this.id = this.el.id, this.config.set(\"parent\", this.parent.config), this.config.set(\"entry\", {});\n }\n}\nconst k = {\n selector: \"\",\n plugins: [],\n presets: {}\n};\nclass A {\n constructor(t = {}) {\n this.#t = new x(), this.events = this.#t.events, this.on = this.#t.on.bind(this.#t), this.off = this.#t.off.bind(this.#t), this.emit = this.#t.emit.bind(this.#t), this.collection = [], this.entryClass = d, this.name = this.constructor.name, this.config = { ...k, ...t }, this.plugins = new O(this.config.presets);\n }\n #t;\n get(t, e = \"id\") {\n return this.collection.find((i) => i[e] === t);\n }\n getOrThrow(t, e = \"id\") {\n const i = this.get(t, e);\n if (i)\n return i;\n throw new Error(\n `${this.name} entry not found in collection with ${String(e)} of \"${t}\"`\n );\n }\n updateConfig(t = {}) {\n return Object.assign(this.config, t);\n }\n async createEntry(t) {\n const e = new this.entryClass(this, t);\n return await a(e, \"init\"), await r(\"onCreateEntry\", this, e), e;\n }\n async destroyEntry(t) {\n return await r(\"onDestroyEntry\", this, t), await a(t, \"destroy\"), t;\n }\n async register(t) {\n const e = this.collection.findIndex((i) => i.id === t.id);\n return ~e ? this.collection[e] = t : this.collection.push(t), await r(\"onRegisterEntry\", this, t), t;\n }\n async deregister(t) {\n const e = this.collection.findIndex((i) => i.id === t.id);\n if (~e) {\n await r(\n \"onDeregisterEntry\",\n this,\n this.collection[e]\n );\n const [i] = this.collection.splice(e, 1);\n }\n return t;\n }\n async mount(t = (e) => e) {\n for (const e of this.config?.plugins || [])\n this.plugins.add(e);\n for (const e of this.plugins)\n await a(e, \"setup\", this);\n if (await r(\"beforeMount\", this), this.config.selector) {\n const e = document.querySelectorAll(this.config.selector);\n for (const i of e)\n await this.createEntry(i).then((n) => t(n)).then((n) => this.register(n));\n }\n return await r(\"afterMount\", this), this;\n }\n async unmount(t = (e) => e) {\n for (await r(\"beforeUnmount\", this); this.collection.length > 0; )\n await this.destroyEntry(this.collection[0]).then((e) => t(e)).then((e) => this.deregister(e));\n await r(\"afterUnmount\", this);\n for (const e of this.plugins)\n await a(e, \"teardown\", this);\n for (const e of [...this.plugins])\n this.plugins.remove(e.name);\n return this;\n }\n}\nw(\"theme-prefix\", { fallback: \"vb-theme-\" });\nconst I = {\n // Data attributes\n attrOpen: \"modal-open\",\n attrClose: \"modal-close\",\n attrReplace: \"modal-replace\",\n // Selectors\n selector: \".modal\",\n selectorDialog: \".modal__dialog\",\n selectorScreen: \".modal\",\n selectorRequired: '[role=\"alertdialog\"]',\n selectorFocus: \"[data-focus]\",\n selectorInert: null,\n selectorOverflow: \"body\",\n // State classes\n stateOpened: \"is-opened\",\n stateOpening: \"is-opening\",\n stateClosing: \"is-closing\",\n stateClosed: \"is-closed\",\n // Feature configurations\n customProps: [\"transition-duration\"],\n customEventPrefix: \"modal:\",\n setTabindex: !0,\n transition: !0,\n transitionDuration: 300\n};\nfunction c(s) {\n if (s.active) {\n const t = s.active.dialog.querySelector(s.config.selectorFocus) || s.active.dialog;\n \"focus\" in t && typeof t.focus == \"function\" && t.focus();\n } else\n s.trigger && (s.trigger.focus(), s.trigger = null);\n}\nasync function l(s, t, e = !0) {\n return s.parent.stack.moveToTop(s), s.state === \"closed\" && (s.state = \"opening\", s.parent.stack.add(s), t ?? s.config.get(\"transition\") ? await u(\n s.el,\n s.config.get(\"stateClosed\"),\n s.config.get(\"stateOpening\"),\n s.config.get(\"stateOpened\"),\n s.config.get(\"transitionDuration\")\n ) : (s.el.classList.add(s.config.get(\"stateOpened\")), s.el.classList.remove(s.config.get(\"stateClosed\"))), s.state = \"opened\"), e && c(s.parent), s.el.dispatchEvent(\n new CustomEvent(s.config.get(\"customEventPrefix\") + \"opened\", {\n detail: s.parent,\n bubbles: !0\n })\n ), await s.parent.emit(\"opened\", s), s;\n}\nasync function h(s, t, e = !0) {\n return s && s.state === \"opened\" && (s.state = \"closing\", document.activeElement && document.activeElement instanceof HTMLElement && document.activeElement.blur(), t ?? s.config.get(\"transition\") ? await u(\n s.el,\n s.config.get(\"stateOpened\"),\n s.config.get(\"stateClosing\"),\n s.config.get(\"stateClosed\"),\n s.config.get(\"transitionDuration\")\n ) : (s.el.classList.add(s.config.get(\"stateClosed\")), s.el.classList.remove(s.config.get(\"stateOpened\"))), s.parent.stack.remove(s), s.state = \"closed\", e && c(s.parent), s.el.dispatchEvent(\n new CustomEvent(s.config.get(\"customEventPrefix\") + \"closed\", {\n detail: s.parent,\n bubbles: !0\n })\n ), await s.parent.emit(\"closed\", s)), s;\n}\nasync function g(s, t, e = !0) {\n let i, n;\n return s.state === \"opened\" ? (i = s, n = await s.parent.closeAll(s.id, t)) : [n, i] = await Promise.all([\n s.parent.closeAll(\"\", t),\n l(s, t, !1)\n ]), e && c(s.parent), { opened: i, closed: n };\n}\nclass $ extends d {\n constructor(t, e) {\n super(t, e), this.state = \"closed\", this.dialog = this.el.querySelector(this.config.get(\"selectorDialog\")) || this.el;\n }\n get isRequired() {\n return this.dialog.matches(this.config.get(\"selectorRequired\"));\n }\n async open(t, e) {\n return l(this, t, e);\n }\n async close(t, e) {\n return h(this, t, e);\n }\n async replace(t, e) {\n return g(this, t, e);\n }\n async deregister() {\n return this.parent.deregister(this);\n }\n async onCreateEntry() {\n this.dialog.setAttribute(\"aria-modal\", \"true\"), this.dialog.hasAttribute(\"role\") || this.dialog.setAttribute(\"role\", \"dialog\"), this.config.get(\"setTabindex\") && this.dialog.setAttribute(\"tabindex\", \"-1\");\n }\n async onRegisterEntry() {\n this.el.classList.contains(this.config.get(\"stateOpened\")) ? await this.open(!1) : (this.el.classList.remove(this.config.get(\"stateOpening\")), this.el.classList.remove(this.config.get(\"stateClosing\")), this.el.classList.add(this.config.get(\"stateClosed\")));\n }\n async onDestroyEntry() {\n this.state === \"opened\" && await this.close(!1);\n }\n}\nasync function T(s) {\n const t = s.target;\n if (t) {\n const e = t.closest(`\n [data-${this.config.attrOpen}],\n [data-${this.config.attrReplace}],\n [data-${this.config.attrClose}]\n `);\n if (e) {\n if (s.preventDefault(), e.matches(`[data-${this.config.attrOpen}]`)) {\n const i = e.getAttribute(`data-${this.config.attrOpen}`)?.trim(), n = this.getOrThrow(i);\n return t.closest(this.config.selector) || (this.trigger = e), n.open();\n }\n if (e.matches(`[data-${this.config.attrReplace}]`)) {\n const i = e.getAttribute(`data-${this.config.attrReplace}`)?.trim(), n = this.getOrThrow(i);\n return t.closest(this.config.selector) || (this.trigger = e), n.replace();\n }\n if (e.matches(`[data-${this.config.attrClose}]`)) {\n const i = e.getAttribute(`data-${this.config.attrClose}`)?.trim();\n return i === \"*\" ? this.closeAll() : this.close(i || \"\");\n }\n }\n if (this.active && t.matches(this.config.selectorScreen) && !this.active.isRequired)\n return this.close();\n }\n}\nfunction S(s) {\n if (s.key === \"Escape\" && this.active && !this.active.dialog.matches(this.config.selectorRequired))\n return this.close();\n}\nasync function M(s = \"\", t) {\n const e = [];\n return await Promise.all(\n this.stack.copy.map(async (i) => {\n s && s === i.id || e.push(await h(i, t, !1));\n })\n ), e;\n}\nclass P extends A {\n constructor(t) {\n super({ ...I, ...t }), this.entryClass = $, this.name = \"Modal\", this.trigger = null, this.#t = T.bind(this), this.#e = S.bind(this), this.stack = new L({\n onChange: () => {\n b(\n !!this.stack.top,\n this.config.selectorInert,\n this.config.selectorOverflow\n );\n }\n });\n }\n #t;\n #e;\n get active() {\n return this.stack.top;\n }\n async open(t, e, i) {\n const n = this.getOrThrow(t);\n return l(n, e, i);\n }\n async close(t, e, i) {\n const n = t ? this.getOrThrow(t) : this.active;\n return h(n, e, i);\n }\n async replace(t, e, i) {\n const n = this.getOrThrow(t);\n return g(n, e, i);\n }\n async closeAll(t, e, i = !0) {\n const n = await M.call(this, t, e);\n return i && c(this), n;\n }\n async afterMount() {\n document.addEventListener(\"click\", this.#t, !1), document.addEventListener(\"keydown\", this.#e, !1);\n }\n async beforeUnmount() {\n this.trigger = null;\n }\n async afterUnmount() {\n document.removeEventListener(\"click\", this.#t, !1), document.removeEventListener(\"keydown\", this.#e, !1);\n }\n}\nexport {\n P as default\n};\n//# sourceMappingURL=index.js.map\n","function jt(t) {\n if (typeof t == \"string\") {\n const e = document.getElementById(t);\n if (e) return e;\n throw new Error(`Element not found with ID: \"${t}\"`);\n } else if (t instanceof HTMLElement) {\n if (!t.id)\n throw new Error(\"HTMLElement must have an ID\");\n return t;\n } else\n throw new Error(\"Invalid argument: query must be a string or HTMLElement\");\n}\nasync function z(t, e, ...n) {\n e in t && typeof t[e] == \"function\" && await t[e](...n);\n}\nfunction Kt(t, e = {}) {\n const n = {\n fallback: null,\n element: document.body,\n ...e\n };\n if (!t.startsWith(\"--\")) {\n const s = Jt();\n s && (t = `${s}${t}`), t = `--${t}`;\n }\n const i = getComputedStyle(n.element).getPropertyValue(t).trim();\n if (i)\n return i;\n if (n.fallback)\n return n.fallback;\n throw new Error(`CSS variable \"${t}\" was not found!`);\n}\nasync function N(t, e, n) {\n await z(e, t, n), n && await z(n, t);\n for (const i of e.plugins)\n await z(i, t, { parent: e, entry: n });\n await e.emit(t, { parent: e, entry: n });\n}\nfunction Jt() {\n return getComputedStyle(document.body).getPropertyValue(\"--vb-prefix\").trim();\n}\nclass Gt {\n #t;\n #e;\n constructor() {\n this.#t = {}, this.#e = [];\n }\n get(e, n) {\n const { fallback: i, source: s } = n ?? {};\n if (s) {\n const o = this.#t?.[s]?.[e];\n if (o !== void 0)\n return o;\n } else\n for (const o of this.#e) {\n const r = this.#t?.[o]?.[e];\n if (r !== void 0)\n return r;\n }\n if (i !== void 0)\n return i;\n throw new Error(`Config does not exist: ${e}`);\n }\n set(e, n = {}) {\n let i, s;\n return typeof e == \"string\" ? (i = e, s = n) : (i = \"entry\", s = e), this.#t[i] ? Object.assign(this.#t[i], s) : (this.#e.unshift(i), this.#t[i] = s), this.#t[i];\n }\n remove(e) {\n const n = this.#e.indexOf(e);\n n !== -1 && this.#e.splice(n, 1), delete this.#t[e];\n }\n setSourceOrder(e) {\n const n = Object.keys(this.#t).reverse(), i = e.filter((s) => n.includes(s));\n for (const s of n)\n i.includes(s) || i.push(s);\n return this.#e = i;\n }\n}\nclass Qt {\n constructor() {\n this.events = {};\n }\n on(e, n, ...i) {\n this.events[e] || (this.events[e] = []), this.events[e].some(\n (s) => s.listener === n\n ) || this.events[e].push({ listener: n, args: i });\n }\n off(e, n) {\n this.events[e] && (this.events[e] = this.events[e].filter(\n (i) => i.listener !== n\n ));\n }\n async emit(e, ...n) {\n if (e = e.startsWith(\"on\") ? e.slice(2, 3).toLowerCase() + e.slice(3) : e, !!this.events[e])\n for (const { listener: i, args: s } of this.events[e])\n await i(...n, ...s);\n }\n}\nclass Zt extends Array {\n constructor(e = {}) {\n super(), this.presets = e;\n }\n #t(e) {\n const n = this.presets?.[e.name] || {}, i = e?.options || {};\n e.config = { ...e.config, ...n, ...i };\n }\n #e(e) {\n return !(\"name\" in e) || typeof e.name != \"string\" ? (console.error(\"Plugin requires a name!\"), !1) : !0;\n }\n get(e) {\n return this.find((n) => n.name === e) || null;\n }\n add(e) {\n if (Array.isArray(e))\n e.forEach((n) => this.add(n));\n else if (this.#t(e), this.#e(e)) {\n const n = this.findIndex((i) => i.name === e.name);\n ~n ? this[n] = e : this.push(e);\n }\n }\n remove(e) {\n const n = this.findIndex((i) => i.name === e);\n ~n && this.splice(n, 1);\n }\n}\nclass Pt {\n constructor(e, n) {\n this.config = new Gt(), this.parent = e, this.el = jt(n), this.id = this.el.id, this.config.set(\"parent\", this.parent.config), this.config.set(\"entry\", {});\n }\n}\nconst te = {\n selector: \"\",\n plugins: [],\n presets: {}\n};\nclass ee {\n constructor(e = {}) {\n this.#t = new Qt(), this.events = this.#t.events, this.on = this.#t.on.bind(this.#t), this.off = this.#t.off.bind(this.#t), this.emit = this.#t.emit.bind(this.#t), this.collection = [], this.entryClass = Pt, this.name = this.constructor.name, this.config = { ...te, ...e }, this.plugins = new Zt(this.config.presets);\n }\n #t;\n get(e, n = \"id\") {\n return this.collection.find((i) => i[n] === e);\n }\n getOrThrow(e, n = \"id\") {\n const i = this.get(e, n);\n if (i)\n return i;\n throw new Error(\n `${this.name} entry not found in collection with ${String(n)} of \"${e}\"`\n );\n }\n updateConfig(e = {}) {\n return Object.assign(this.config, e);\n }\n async createEntry(e) {\n const n = new this.entryClass(this, e);\n return await z(n, \"init\"), await N(\"onCreateEntry\", this, n), n;\n }\n async destroyEntry(e) {\n return await N(\"onDestroyEntry\", this, e), await z(e, \"destroy\"), e;\n }\n async register(e) {\n const n = this.collection.findIndex((i) => i.id === e.id);\n return ~n ? this.collection[n] = e : this.collection.push(e), await N(\"onRegisterEntry\", this, e), e;\n }\n async deregister(e) {\n const n = this.collection.findIndex((i) => i.id === e.id);\n if (~n) {\n await N(\n \"onDeregisterEntry\",\n this,\n this.collection[n]\n );\n const [i] = this.collection.splice(n, 1);\n }\n return e;\n }\n async mount(e = (n) => n) {\n for (const n of this.config?.plugins || [])\n this.plugins.add(n);\n for (const n of this.plugins)\n await z(n, \"setup\", this);\n if (await N(\"beforeMount\", this), this.config.selector) {\n const n = document.querySelectorAll(this.config.selector);\n for (const i of n)\n await this.createEntry(i).then((s) => e(s)).then((s) => this.register(s));\n }\n return await N(\"afterMount\", this), this;\n }\n async unmount(e = (n) => n) {\n for (await N(\"beforeUnmount\", this); this.collection.length > 0; )\n await this.destroyEntry(this.collection[0]).then((n) => e(n)).then((n) => this.deregister(n));\n await N(\"afterUnmount\", this);\n for (const n of this.plugins)\n await z(n, \"teardown\", this);\n for (const n of [...this.plugins])\n this.plugins.remove(n.name);\n return this;\n }\n}\nKt(\"theme-prefix\", { fallback: \"vb-theme-\" });\nconst ne = {\n // Selectors\n selector: \".popover\",\n selectorTooltip: \".popover_tooltip\",\n selectorArrow: \".popover__arrow\",\n // State classes\n stateActive: \"is-active\",\n // Custom properties and their defaults\n customProps: [\n \"placement\",\n \"event\",\n \"offset\",\n \"flip-padding\",\n \"shift-padding\",\n \"arrow-padding\",\n \"toggle-delay\"\n ],\n customEventPrefix: \"popover:\",\n placement: \"bottom\",\n event: \"click\",\n offset: 0,\n flipPadding: 0,\n shiftPadding: 0,\n arrowPadding: 0,\n toggleDelay: 0\n}, j = Math.min, q = Math.max, st = Math.round, it = Math.floor, P = (t) => ({\n x: t,\n y: t\n}), ie = {\n left: \"right\",\n right: \"left\",\n bottom: \"top\",\n top: \"bottom\"\n}, se = {\n start: \"end\",\n end: \"start\"\n};\nfunction ht(t, e, n) {\n return q(t, j(e, n));\n}\nfunction X(t, e) {\n return typeof t == \"function\" ? t(e) : t;\n}\nfunction I(t) {\n return t.split(\"-\")[0];\n}\nfunction et(t) {\n return t.split(\"-\")[1];\n}\nfunction pt(t) {\n return t === \"x\" ? \"y\" : \"x\";\n}\nfunction wt(t) {\n return t === \"y\" ? \"height\" : \"width\";\n}\nconst oe = /* @__PURE__ */ new Set([\"top\", \"bottom\"]);\nfunction F(t) {\n return oe.has(I(t)) ? \"y\" : \"x\";\n}\nfunction yt(t) {\n return pt(F(t));\n}\nfunction re(t, e, n) {\n n === void 0 && (n = !1);\n const i = et(t), s = yt(t), o = wt(s);\n let r = s === \"x\" ? i === (n ? \"end\" : \"start\") ? \"right\" : \"left\" : i === \"start\" ? \"bottom\" : \"top\";\n return e.reference[o] > e.floating[o] && (r = ot(r)), [r, ot(r)];\n}\nfunction ce(t) {\n const e = ot(t);\n return [gt(t), e, gt(e)];\n}\nfunction gt(t) {\n return t.replace(/start|end/g, (e) => se[e]);\n}\nconst Et = [\"left\", \"right\"], At = [\"right\", \"left\"], le = [\"top\", \"bottom\"], ae = [\"bottom\", \"top\"];\nfunction fe(t, e, n) {\n switch (t) {\n case \"top\":\n case \"bottom\":\n return n ? e ? At : Et : e ? Et : At;\n case \"left\":\n case \"right\":\n return e ? le : ae;\n default:\n return [];\n }\n}\nfunction ue(t, e, n, i) {\n const s = et(t);\n let o = fe(I(t), n === \"start\", i);\n return s && (o = o.map((r) => r + \"-\" + s), e && (o = o.concat(o.map(gt)))), o;\n}\nfunction ot(t) {\n return t.replace(/left|right|bottom|top/g, (e) => ie[e]);\n}\nfunction de(t) {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n ...t\n };\n}\nfunction kt(t) {\n return typeof t != \"number\" ? de(t) : {\n top: t,\n right: t,\n bottom: t,\n left: t\n };\n}\nfunction rt(t) {\n const {\n x: e,\n y: n,\n width: i,\n height: s\n } = t;\n return {\n width: i,\n height: s,\n top: n,\n left: e,\n right: e + i,\n bottom: n + s,\n x: e,\n y: n\n };\n}\nfunction Ct(t, e, n) {\n let {\n reference: i,\n floating: s\n } = t;\n const o = F(e), r = yt(e), c = wt(r), a = I(e), l = o === \"y\", d = i.x + i.width / 2 - s.width / 2, u = i.y + i.height / 2 - s.height / 2, h = i[c] / 2 - s[c] / 2;\n let f;\n switch (a) {\n case \"top\":\n f = {\n x: d,\n y: i.y - s.height\n };\n break;\n case \"bottom\":\n f = {\n x: d,\n y: i.y + i.height\n };\n break;\n case \"right\":\n f = {\n x: i.x + i.width,\n y: u\n };\n break;\n case \"left\":\n f = {\n x: i.x - s.width,\n y: u\n };\n break;\n default:\n f = {\n x: i.x,\n y: i.y\n };\n }\n switch (et(e)) {\n case \"start\":\n f[r] -= h * (n && l ? -1 : 1);\n break;\n case \"end\":\n f[r] += h * (n && l ? -1 : 1);\n break;\n }\n return f;\n}\nconst he = async (t, e, n) => {\n const {\n placement: i = \"bottom\",\n strategy: s = \"absolute\",\n middleware: o = [],\n platform: r\n } = n, c = o.filter(Boolean), a = await (r.isRTL == null ? void 0 : r.isRTL(e));\n let l = await r.getElementRects({\n reference: t,\n floating: e,\n strategy: s\n }), {\n x: d,\n y: u\n } = Ct(l, i, a), h = i, f = {}, g = 0;\n for (let m = 0; m < c.length; m++) {\n const {\n name: p,\n fn: w\n } = c[m], {\n x: y,\n y: x,\n data: b,\n reset: v\n } = await w({\n x: d,\n y: u,\n initialPlacement: i,\n placement: h,\n strategy: s,\n middlewareData: f,\n rects: l,\n platform: r,\n elements: {\n reference: t,\n floating: e\n }\n });\n d = y ?? d, u = x ?? u, f = {\n ...f,\n [p]: {\n ...f[p],\n ...b\n }\n }, v && g <= 50 && (g++, typeof v == \"object\" && (v.placement && (h = v.placement), v.rects && (l = v.rects === !0 ? await r.getElementRects({\n reference: t,\n floating: e,\n strategy: s\n }) : v.rects), {\n x: d,\n y: u\n } = Ct(l, h, a)), m = -1);\n }\n return {\n x: d,\n y: u,\n placement: h,\n strategy: s,\n middlewareData: f\n };\n};\nasync function Dt(t, e) {\n var n;\n e === void 0 && (e = {});\n const {\n x: i,\n y: s,\n platform: o,\n rects: r,\n elements: c,\n strategy: a\n } = t, {\n boundary: l = \"clippingAncestors\",\n rootBoundary: d = \"viewport\",\n elementContext: u = \"floating\",\n altBoundary: h = !1,\n padding: f = 0\n } = X(e, t), g = kt(f), p = c[h ? u === \"floating\" ? \"reference\" : \"floating\" : u], w = rt(await o.getClippingRect({\n element: (n = await (o.isElement == null ? void 0 : o.isElement(p))) == null || n ? p : p.contextElement || await (o.getDocumentElement == null ? void 0 : o.getDocumentElement(c.floating)),\n boundary: l,\n rootBoundary: d,\n strategy: a\n })), y = u === \"floating\" ? {\n x: i,\n y: s,\n width: r.floating.width,\n height: r.floating.height\n } : r.reference, x = await (o.getOffsetParent == null ? void 0 : o.getOffsetParent(c.floating)), b = await (o.isElement == null ? void 0 : o.isElement(x)) ? await (o.getScale == null ? void 0 : o.getScale(x)) || {\n x: 1,\n y: 1\n } : {\n x: 1,\n y: 1\n }, v = rt(o.convertOffsetParentRelativeRectToViewportRelativeRect ? await o.convertOffsetParentRelativeRectToViewportRelativeRect({\n elements: c,\n rect: y,\n offsetParent: x,\n strategy: a\n }) : y);\n return {\n top: (w.top - v.top + g.top) / b.y,\n bottom: (v.bottom - w.bottom + g.bottom) / b.y,\n left: (w.left - v.left + g.left) / b.x,\n right: (v.right - w.right + g.right) / b.x\n };\n}\nconst ge = (t) => ({\n name: \"arrow\",\n options: t,\n async fn(e) {\n const {\n x: n,\n y: i,\n placement: s,\n rects: o,\n platform: r,\n elements: c,\n middlewareData: a\n } = e, {\n element: l,\n padding: d = 0\n } = X(t, e) || {};\n if (l == null)\n return {};\n const u = kt(d), h = {\n x: n,\n y: i\n }, f = yt(s), g = wt(f), m = await r.getDimensions(l), p = f === \"y\", w = p ? \"top\" : \"left\", y = p ? \"bottom\" : \"right\", x = p ? \"clientHeight\" : \"clientWidth\", b = o.reference[g] + o.reference[f] - h[f] - o.floating[g], v = h[f] - o.reference[f], C = await (r.getOffsetParent == null ? void 0 : r.getOffsetParent(l));\n let L = C ? C[x] : 0;\n (!L || !await (r.isElement == null ? void 0 : r.isElement(C))) && (L = c.floating[x] || o.floating[g]);\n const G = b / 2 - v / 2, V = L / 2 - m[g] / 2 - 1, M = j(u[w], V), Q = j(u[y], V), B = M, Z = L - m[g] - Q, E = L / 2 - m[g] / 2 + G, _ = ht(B, E, Z), $ = !a.arrow && et(s) != null && E !== _ && o.reference[g] / 2 - (E < B ? M : Q) - m[g] / 2 < 0, O = $ ? E < B ? E - B : E - Z : 0;\n return {\n [f]: h[f] + O,\n data: {\n [f]: _,\n centerOffset: E - _ - O,\n ...$ && {\n alignmentOffset: O\n }\n },\n reset: $\n };\n }\n}), me = function(t) {\n return t === void 0 && (t = {}), {\n name: \"flip\",\n options: t,\n async fn(e) {\n var n, i;\n const {\n placement: s,\n middlewareData: o,\n rects: r,\n initialPlacement: c,\n platform: a,\n elements: l\n } = e, {\n mainAxis: d = !0,\n crossAxis: u = !0,\n fallbackPlacements: h,\n fallbackStrategy: f = \"bestFit\",\n fallbackAxisSideDirection: g = \"none\",\n flipAlignment: m = !0,\n ...p\n } = X(t, e);\n if ((n = o.arrow) != null && n.alignmentOffset)\n return {};\n const w = I(s), y = F(c), x = I(c) === c, b = await (a.isRTL == null ? void 0 : a.isRTL(l.floating)), v = h || (x || !m ? [ot(c)] : ce(c)), C = g !== \"none\";\n !h && C && v.push(...ue(c, m, g, b));\n const L = [c, ...v], G = await Dt(e, p), V = [];\n let M = ((i = o.flip) == null ? void 0 : i.overflows) || [];\n if (d && V.push(G[w]), u) {\n const E = re(s, r, b);\n V.push(G[E[0]], G[E[1]]);\n }\n if (M = [...M, {\n placement: s,\n overflows: V\n }], !V.every((E) => E <= 0)) {\n var Q, B;\n const E = (((Q = o.flip) == null ? void 0 : Q.index) || 0) + 1, _ = L[E];\n if (_ && (!(u === \"alignment\" ? y !== F(_) : !1) || // We leave the current main axis only if every placement on that axis\n // overflows the main axis.\n M.every((T) => F(T.placement) === y ? T.overflows[0] > 0 : !0)))\n return {\n data: {\n index: E,\n overflows: M\n },\n reset: {\n placement: _\n }\n };\n let $ = (B = M.filter((O) => O.overflows[0] <= 0).sort((O, T) => O.overflows[1] - T.overflows[1])[0]) == null ? void 0 : B.placement;\n if (!$)\n switch (f) {\n case \"bestFit\": {\n var Z;\n const O = (Z = M.filter((T) => {\n if (C) {\n const H = F(T.placement);\n return H === y || // Create a bias to the `y` side axis due to horizontal\n // reading directions favoring greater width.\n H === \"y\";\n }\n return !0;\n }).map((T) => [T.placement, T.overflows.filter((H) => H > 0).reduce((H, Yt) => H + Yt, 0)]).sort((T, H) => T[1] - H[1])[0]) == null ? void 0 : Z[0];\n O && ($ = O);\n break;\n }\n case \"initialPlacement\":\n $ = c;\n break;\n }\n if (s !== $)\n return {\n reset: {\n placement: $\n }\n };\n }\n return {};\n }\n };\n}, Mt = /* @__PURE__ */ new Set([\"left\", \"top\"]);\nasync function pe(t, e) {\n const {\n placement: n,\n platform: i,\n elements: s\n } = t, o = await (i.isRTL == null ? void 0 : i.isRTL(s.floating)), r = I(n), c = et(n), a = F(n) === \"y\", l = Mt.has(r) ? -1 : 1, d = o && a ? -1 : 1, u = X(e, t);\n let {\n mainAxis: h,\n crossAxis: f,\n alignmentAxis: g\n } = typeof u == \"number\" ? {\n mainAxis: u,\n crossAxis: 0,\n alignmentAxis: null\n } : {\n mainAxis: u.mainAxis || 0,\n crossAxis: u.crossAxis || 0,\n alignmentAxis: u.alignmentAxis\n };\n return c && typeof g == \"number\" && (f = c === \"end\" ? g * -1 : g), a ? {\n x: f * d,\n y: h * l\n } : {\n x: h * l,\n y: f * d\n };\n}\nconst we = function(t) {\n return t === void 0 && (t = 0), {\n name: \"offset\",\n options: t,\n async fn(e) {\n var n, i;\n const {\n x: s,\n y: o,\n placement: r,\n middlewareData: c\n } = e, a = await pe(e, t);\n return r === ((n = c.offset) == null ? void 0 : n.placement) && (i = c.arrow) != null && i.alignmentOffset ? {} : {\n x: s + a.x,\n y: o + a.y,\n data: {\n ...a,\n placement: r\n }\n };\n }\n };\n}, ye = function(t) {\n return t === void 0 && (t = {}), {\n name: \"shift\",\n options: t,\n async fn(e) {\n const {\n x: n,\n y: i,\n placement: s\n } = e, {\n mainAxis: o = !0,\n crossAxis: r = !1,\n limiter: c = {\n fn: (p) => {\n let {\n x: w,\n y\n } = p;\n return {\n x: w,\n y\n };\n }\n },\n ...a\n } = X(t, e), l = {\n x: n,\n y: i\n }, d = await Dt(e, a), u = F(I(s)), h = pt(u);\n let f = l[h], g = l[u];\n if (o) {\n const p = h === \"y\" ? \"top\" : \"left\", w = h === \"y\" ? \"bottom\" : \"right\", y = f + d[p], x = f - d[w];\n f = ht(y, f, x);\n }\n if (r) {\n const p = u === \"y\" ? \"top\" : \"left\", w = u === \"y\" ? \"bottom\" : \"right\", y = g + d[p], x = g - d[w];\n g = ht(y, g, x);\n }\n const m = c.fn({\n ...e,\n [h]: f,\n [u]: g\n });\n return {\n ...m,\n data: {\n x: m.x - n,\n y: m.y - i,\n enabled: {\n [h]: o,\n [u]: r\n }\n }\n };\n }\n };\n}, xe = function(t) {\n return t === void 0 && (t = {}), {\n options: t,\n fn(e) {\n const {\n x: n,\n y: i,\n placement: s,\n rects: o,\n middlewareData: r\n } = e, {\n offset: c = 0,\n mainAxis: a = !0,\n crossAxis: l = !0\n } = X(t, e), d = {\n x: n,\n y: i\n }, u = F(s), h = pt(u);\n let f = d[h], g = d[u];\n const m = X(c, e), p = typeof m == \"number\" ? {\n mainAxis: m,\n crossAxis: 0\n } : {\n mainAxis: 0,\n crossAxis: 0,\n ...m\n };\n if (a) {\n const x = h === \"y\" ? \"height\" : \"width\", b = o.reference[h] - o.floating[x] + p.mainAxis, v = o.reference[h] + o.reference[x] - p.mainAxis;\n f < b ? f = b : f > v && (f = v);\n }\n if (l) {\n var w, y;\n const x = h === \"y\" ? \"width\" : \"height\", b = Mt.has(I(s)), v = o.reference[u] - o.floating[x] + (b && ((w = r.offset) == null ? void 0 : w[u]) || 0) + (b ? 0 : p.crossAxis), C = o.reference[u] + o.reference[x] + (b ? 0 : ((y = r.offset) == null ? void 0 : y[u]) || 0) - (b ? p.crossAxis : 0);\n g < v ? g = v : g > C && (g = C);\n }\n return {\n [h]: f,\n [u]: g\n };\n }\n };\n};\nfunction ct() {\n return typeof window < \"u\";\n}\nfunction J(t) {\n return $t(t) ? (t.nodeName || \"\").toLowerCase() : \"#document\";\n}\nfunction A(t) {\n var e;\n return (t == null || (e = t.ownerDocument) == null ? void 0 : e.defaultView) || window;\n}\nfunction D(t) {\n var e;\n return (e = ($t(t) ? t.ownerDocument : t.document) || window.document) == null ? void 0 : e.documentElement;\n}\nfunction $t(t) {\n return ct() ? t instanceof Node || t instanceof A(t).Node : !1;\n}\nfunction S(t) {\n return ct() ? t instanceof Element || t instanceof A(t).Element : !1;\n}\nfunction k(t) {\n return ct() ? t instanceof HTMLElement || t instanceof A(t).HTMLElement : !1;\n}\nfunction Lt(t) {\n return !ct() || typeof ShadowRoot > \"u\" ? !1 : t instanceof ShadowRoot || t instanceof A(t).ShadowRoot;\n}\nconst ve = /* @__PURE__ */ new Set([\"inline\", \"contents\"]);\nfunction nt(t) {\n const {\n overflow: e,\n overflowX: n,\n overflowY: i,\n display: s\n } = R(t);\n return /auto|scroll|overlay|hidden|clip/.test(e + i + n) && !ve.has(s);\n}\nconst be = /* @__PURE__ */ new Set([\"table\", \"td\", \"th\"]);\nfunction Ee(t) {\n return be.has(J(t));\n}\nconst Ae = [\":popover-open\", \":modal\"];\nfunction lt(t) {\n return Ae.some((e) => {\n try {\n return t.matches(e);\n } catch {\n return !1;\n }\n });\n}\nconst Ce = [\"transform\", \"translate\", \"scale\", \"rotate\", \"perspective\"], Le = [\"transform\", \"translate\", \"scale\", \"rotate\", \"perspective\", \"filter\"], Oe = [\"paint\", \"layout\", \"strict\", \"content\"];\nfunction xt(t) {\n const e = vt(), n = S(t) ? R(t) : t;\n return Ce.some((i) => n[i] ? n[i] !== \"none\" : !1) || (n.containerType ? n.containerType !== \"normal\" : !1) || !e && (n.backdropFilter ? n.backdropFilter !== \"none\" : !1) || !e && (n.filter ? n.filter !== \"none\" : !1) || Le.some((i) => (n.willChange || \"\").includes(i)) || Oe.some((i) => (n.contain || \"\").includes(i));\n}\nfunction Te(t) {\n let e = W(t);\n for (; k(e) && !K(e); ) {\n if (xt(e))\n return e;\n if (lt(e))\n return null;\n e = W(e);\n }\n return null;\n}\nfunction vt() {\n return typeof CSS > \"u\" || !CSS.supports ? !1 : CSS.supports(\"-webkit-backdrop-filter\", \"none\");\n}\nconst Se = /* @__PURE__ */ new Set([\"html\", \"body\", \"#document\"]);\nfunction K(t) {\n return Se.has(J(t));\n}\nfunction R(t) {\n return A(t).getComputedStyle(t);\n}\nfunction at(t) {\n return S(t) ? {\n scrollLeft: t.scrollLeft,\n scrollTop: t.scrollTop\n } : {\n scrollLeft: t.scrollX,\n scrollTop: t.scrollY\n };\n}\nfunction W(t) {\n if (J(t) === \"html\")\n return t;\n const e = (\n // Step into the shadow DOM of the parent of a slotted node.\n t.assignedSlot || // DOM Element detected.\n t.parentNode || // ShadowRoot detected.\n Lt(t) && t.host || // Fallback.\n D(t)\n );\n return Lt(e) ? e.host : e;\n}\nfunction Ft(t) {\n const e = W(t);\n return K(e) ? t.ownerDocument ? t.ownerDocument.body : t.body : k(e) && nt(e) ? e : Ft(e);\n}\nfunction tt(t, e, n) {\n var i;\n e === void 0 && (e = []), n === void 0 && (n = !0);\n const s = Ft(t), o = s === ((i = t.ownerDocument) == null ? void 0 : i.body), r = A(s);\n if (o) {\n const c = mt(r);\n return e.concat(r, r.visualViewport || [], nt(s) ? s : [], c && n ? tt(c) : []);\n }\n return e.concat(s, tt(s, [], n));\n}\nfunction mt(t) {\n return t.parent && Object.getPrototypeOf(t.parent) ? t.frameElement : null;\n}\nfunction Ht(t) {\n const e = R(t);\n let n = parseFloat(e.width) || 0, i = parseFloat(e.height) || 0;\n const s = k(t), o = s ? t.offsetWidth : n, r = s ? t.offsetHeight : i, c = st(n) !== o || st(i) !== r;\n return c && (n = o, i = r), {\n width: n,\n height: i,\n $: c\n };\n}\nfunction bt(t) {\n return S(t) ? t : t.contextElement;\n}\nfunction Y(t) {\n const e = bt(t);\n if (!k(e))\n return P(1);\n const n = e.getBoundingClientRect(), {\n width: i,\n height: s,\n $: o\n } = Ht(e);\n let r = (o ? st(n.width) : n.width) / i, c = (o ? st(n.height) : n.height) / s;\n return (!r || !Number.isFinite(r)) && (r = 1), (!c || !Number.isFinite(c)) && (c = 1), {\n x: r,\n y: c\n };\n}\nconst Re = /* @__PURE__ */ P(0);\nfunction Nt(t) {\n const e = A(t);\n return !vt() || !e.visualViewport ? Re : {\n x: e.visualViewport.offsetLeft,\n y: e.visualViewport.offsetTop\n };\n}\nfunction Pe(t, e, n) {\n return e === void 0 && (e = !1), !n || e && n !== A(t) ? !1 : e;\n}\nfunction U(t, e, n, i) {\n e === void 0 && (e = !1), n === void 0 && (n = !1);\n const s = t.getBoundingClientRect(), o = bt(t);\n let r = P(1);\n e && (i ? S(i) && (r = Y(i)) : r = Y(t));\n const c = Pe(o, n, i) ? Nt(o) : P(0);\n let a = (s.left + c.x) / r.x, l = (s.top + c.y) / r.y, d = s.width / r.x, u = s.height / r.y;\n if (o) {\n const h = A(o), f = i && S(i) ? A(i) : i;\n let g = h, m = mt(g);\n for (; m && i && f !== g; ) {\n const p = Y(m), w = m.getBoundingClientRect(), y = R(m), x = w.left + (m.clientLeft + parseFloat(y.paddingLeft)) * p.x, b = w.top + (m.clientTop + parseFloat(y.paddingTop)) * p.y;\n a *= p.x, l *= p.y, d *= p.x, u *= p.y, a += x, l += b, g = A(m), m = mt(g);\n }\n }\n return rt({\n width: d,\n height: u,\n x: a,\n y: l\n });\n}\nfunction ft(t, e) {\n const n = at(t).scrollLeft;\n return e ? e.left + n : U(D(t)).left + n;\n}\nfunction It(t, e) {\n const n = t.getBoundingClientRect(), i = n.left + e.scrollLeft - ft(t, n), s = n.top + e.scrollTop;\n return {\n x: i,\n y: s\n };\n}\nfunction ke(t) {\n let {\n elements: e,\n rect: n,\n offsetParent: i,\n strategy: s\n } = t;\n const o = s === \"fixed\", r = D(i), c = e ? lt(e.floating) : !1;\n if (i === r || c && o)\n return n;\n let a = {\n scrollLeft: 0,\n scrollTop: 0\n }, l = P(1);\n const d = P(0), u = k(i);\n if ((u || !u && !o) && ((J(i) !== \"body\" || nt(r)) && (a = at(i)), k(i))) {\n const f = U(i);\n l = Y(i), d.x = f.x + i.clientLeft, d.y = f.y + i.clientTop;\n }\n const h = r && !u && !o ? It(r, a) : P(0);\n return {\n width: n.width * l.x,\n height: n.height * l.y,\n x: n.x * l.x - a.scrollLeft * l.x + d.x + h.x,\n y: n.y * l.y - a.scrollTop * l.y + d.y + h.y\n };\n}\nfunction De(t) {\n return Array.from(t.getClientRects());\n}\nfunction Me(t) {\n const e = D(t), n = at(t), i = t.ownerDocument.body, s = q(e.scrollWidth, e.clientWidth, i.scrollWidth, i.clientWidth), o = q(e.scrollHeight, e.clientHeight, i.scrollHeight, i.clientHeight);\n let r = -n.scrollLeft + ft(t);\n const c = -n.scrollTop;\n return R(i).direction === \"rtl\" && (r += q(e.clientWidth, i.clientWidth) - s), {\n width: s,\n height: o,\n x: r,\n y: c\n };\n}\nconst Ot = 25;\nfunction $e(t, e) {\n const n = A(t), i = D(t), s = n.visualViewport;\n let o = i.clientWidth, r = i.clientHeight, c = 0, a = 0;\n if (s) {\n o = s.width, r = s.height;\n const d = vt();\n (!d || d && e === \"fixed\") && (c = s.offsetLeft, a = s.offsetTop);\n }\n const l = ft(i);\n if (l <= 0) {\n const d = i.ownerDocument, u = d.body, h = getComputedStyle(u), f = d.compatMode === \"CSS1Compat\" && parseFloat(h.marginLeft) + parseFloat(h.marginRight) || 0, g = Math.abs(i.clientWidth - u.clientWidth - f);\n g <= Ot && (o -= g);\n } else l <= Ot && (o += l);\n return {\n width: o,\n height: r,\n x: c,\n y: a\n };\n}\nconst Fe = /* @__PURE__ */ new Set([\"absolute\", \"fixed\"]);\nfunction He(t, e) {\n const n = U(t, !0, e === \"fixed\"), i = n.top + t.clientTop, s = n.left + t.clientLeft, o = k(t) ? Y(t) : P(1), r = t.clientWidth * o.x, c = t.clientHeight * o.y, a = s * o.x, l = i * o.y;\n return {\n width: r,\n height: c,\n x: a,\n y: l\n };\n}\nfunction Tt(t, e, n) {\n let i;\n if (e === \"viewport\")\n i = $e(t, n);\n else if (e === \"document\")\n i = Me(D(t));\n else if (S(e))\n i = He(e, n);\n else {\n const s = Nt(t);\n i = {\n x: e.x - s.x,\n y: e.y - s.y,\n width: e.width,\n height: e.height\n };\n }\n return rt(i);\n}\nfunction Wt(t, e) {\n const n = W(t);\n return n === e || !S(n) || K(n) ? !1 : R(n).position === \"fixed\" || Wt(n, e);\n}\nfunction Ne(t, e) {\n const n = e.get(t);\n if (n)\n return n;\n let i = tt(t, [], !1).filter((c) => S(c) && J(c) !== \"body\"), s = null;\n const o = R(t).position === \"fixed\";\n let r = o ? W(t) : t;\n for (; S(r) && !K(r); ) {\n const c = R(r), a = xt(r);\n !a && c.position === \"fixed\" && (s = null), (o ? !a && !s : !a && c.position === \"static\" && !!s && Fe.has(s.position) || nt(r) && !a && Wt(t, r)) ? i = i.filter((d) => d !== r) : s = c, r = W(r);\n }\n return e.set(t, i), i;\n}\nfunction Ie(t) {\n let {\n element: e,\n boundary: n,\n rootBoundary: i,\n strategy: s\n } = t;\n const r = [...n === \"clippingAncestors\" ? lt(e) ? [] : Ne(e, this._c) : [].concat(n), i], c = r[0], a = r.reduce((l, d) => {\n const u = Tt(e, d, s);\n return l.top = q(u.top, l.top), l.right = j(u.right, l.right), l.bottom = j(u.bottom, l.bottom), l.left = q(u.left, l.left), l;\n }, Tt(e, c, s));\n return {\n width: a.right - a.left,\n height: a.bottom - a.top,\n x: a.left,\n y: a.top\n };\n}\nfunction We(t) {\n const {\n width: e,\n height: n\n } = Ht(t);\n return {\n width: e,\n height: n\n };\n}\nfunction Ve(t, e, n) {\n const i = k(e), s = D(e), o = n === \"fixed\", r = U(t, !0, o, e);\n let c = {\n scrollLeft: 0,\n scrollTop: 0\n };\n const a = P(0);\n function l() {\n a.x = ft(s);\n }\n if (i || !i && !o)\n if ((J(e) !== \"body\" || nt(s)) && (c = at(e)), i) {\n const f = U(e, !0, o, e);\n a.x = f.x + e.clientLeft, a.y = f.y + e.clientTop;\n } else s && l();\n o && !i && s && l();\n const d = s && !i && !o ? It(s, c) : P(0), u = r.left + c.scrollLeft - a.x - d.x, h = r.top + c.scrollTop - a.y - d.y;\n return {\n x: u,\n y: h,\n width: r.width,\n height: r.height\n };\n}\nfunction ut(t) {\n return R(t).position === \"static\";\n}\nfunction St(t, e) {\n if (!k(t) || R(t).position === \"fixed\")\n return null;\n if (e)\n return e(t);\n let n = t.offsetParent;\n return D(t) === n && (n = n.ownerDocument.body), n;\n}\nfunction Vt(t, e) {\n const n = A(t);\n if (lt(t))\n return n;\n if (!k(t)) {\n let s = W(t);\n for (; s && !K(s); ) {\n if (S(s) && !ut(s))\n return s;\n s = W(s);\n }\n return n;\n }\n let i = St(t, e);\n for (; i && Ee(i) && ut(i); )\n i = St(i, e);\n return i && K(i) && ut(i) && !xt(i) ? n : i || Te(t) || n;\n}\nconst Be = async function(t) {\n const e = this.getOffsetParent || Vt, n = this.getDimensions, i = await n(t.floating);\n return {\n reference: Ve(t.reference, await e(t.floating), t.strategy),\n floating: {\n x: 0,\n y: 0,\n width: i.width,\n height: i.height\n }\n };\n};\nfunction _e(t) {\n return R(t).direction === \"rtl\";\n}\nconst ze = {\n convertOffsetParentRelativeRectToViewportRelativeRect: ke,\n getDocumentElement: D,\n getClippingRect: Ie,\n getOffsetParent: Vt,\n getElementRects: Be,\n getClientRects: De,\n getDimensions: We,\n getScale: Y,\n isElement: S,\n isRTL: _e\n};\nfunction Bt(t, e) {\n return t.x === e.x && t.y === e.y && t.width === e.width && t.height === e.height;\n}\nfunction qe(t, e) {\n let n = null, i;\n const s = D(t);\n function o() {\n var c;\n clearTimeout(i), (c = n) == null || c.disconnect(), n = null;\n }\n function r(c, a) {\n c === void 0 && (c = !1), a === void 0 && (a = 1), o();\n const l = t.getBoundingClientRect(), {\n left: d,\n top: u,\n width: h,\n height: f\n } = l;\n if (c || e(), !h || !f)\n return;\n const g = it(u), m = it(s.clientWidth - (d + h)), p = it(s.clientHeight - (u + f)), w = it(d), x = {\n rootMargin: -g + \"px \" + -m + \"px \" + -p + \"px \" + -w + \"px\",\n threshold: q(0, j(1, a)) || 1\n };\n let b = !0;\n function v(C) {\n const L = C[0].intersectionRatio;\n if (L !== a) {\n if (!b)\n return r();\n L ? r(!1, L) : i = setTimeout(() => {\n r(!1, 1e-7);\n }, 1e3);\n }\n L === 1 && !Bt(l, t.getBoundingClientRect()) && r(), b = !1;\n }\n try {\n n = new IntersectionObserver(v, {\n ...x,\n // Handle <iframe>s\n root: s.ownerDocument\n });\n } catch {\n n = new IntersectionObserver(v, x);\n }\n n.observe(t);\n }\n return r(!0), o;\n}\nfunction Xe(t, e, n, i) {\n i === void 0 && (i = {});\n const {\n ancestorScroll: s = !0,\n ancestorResize: o = !0,\n elementResize: r = typeof ResizeObserver == \"function\",\n layoutShift: c = typeof IntersectionObserver == \"function\",\n animationFrame: a = !1\n } = i, l = bt(t), d = s || o ? [...l ? tt(l) : [], ...tt(e)] : [];\n d.forEach((w) => {\n s && w.addEventListener(\"scroll\", n, {\n passive: !0\n }), o && w.addEventListener(\"resize\", n);\n });\n const u = l && c ? qe(l, n) : null;\n let h = -1, f = null;\n r && (f = new ResizeObserver((w) => {\n let [y] = w;\n y && y.target === l && f && (f.unobserve(e), cancelAnimationFrame(h), h = requestAnimationFrame(() => {\n var x;\n (x = f) == null || x.observe(e);\n })), n();\n }), l && !a && f.observe(l), f.observe(e));\n let g, m = a ? U(t) : null;\n a && p();\n function p() {\n const w = U(t);\n m && !Bt(m, w) && n(), m = w, g = requestAnimationFrame(p);\n }\n return n(), () => {\n var w;\n d.forEach((y) => {\n s && y.removeEventListener(\"scroll\", n), o && y.removeEventListener(\"resize\", n);\n }), u?.(), (w = f) == null || w.disconnect(), f = null, a && cancelAnimationFrame(g);\n };\n}\nconst Ue = we, Ye = ye, je = me, Ke = ge, Je = xe, Ge = (t, e, n) => {\n const i = /* @__PURE__ */ new Map(), s = {\n platform: ze,\n ...n\n }, o = {\n ...s.platform,\n _c: i\n };\n return he(t, e, {\n ...s,\n platform: o\n });\n};\nfunction Rt(t, e, n) {\n Object.assign(t.style, {\n left: e != null ? `${e}px` : \"\",\n top: n != null ? `${n}px` : \"\"\n });\n}\nfunction _t(t, e) {\n let n = t.config.get(\"toggleDelay\");\n typeof n == \"string\" && (n.indexOf(\",\") > -1 && (n = n.split(\",\")), n.indexOf(\" \") > -1 && (n = n.split(\" \"))), Array.isArray(n) && (n = n[e]);\n const i = Number(n);\n if (Number.isNaN(i))\n throw new Error(`Provided delay value is not a number: \"${n}\"`);\n return i;\n}\nfunction dt(t) {\n let e;\n const n = typeof t == \"string\" ? t.trim().split(\" \").map((i) => parseFloat(i)).filter((i) => !isNaN(i)) : [t];\n for (let i = 0; i < n.length; i++)\n n[i] = Number(n[i]);\n switch (n.length) {\n case 1:\n e = n[0];\n break;\n case 2:\n e = {\n top: n[0],\n right: n[1],\n bottom: n[0],\n left: n[1]\n };\n break;\n case 3:\n e = {\n top: n[0],\n right: n[1],\n bottom: n[2],\n left: n[1]\n };\n break;\n case 4:\n e = {\n top: n[0],\n right: n[1],\n bottom: n[2],\n left: n[3]\n };\n break;\n default:\n e = void 0;\n break;\n }\n return e;\n}\nfunction Qe(t) {\n return {\n offset: Number(t.config.get(\"offset\")),\n flip: {\n padding: dt(t.config.get(\"flipPadding\"))\n },\n shift: {\n padding: dt(t.config.get(\"shiftPadding\"))\n },\n arrow: {\n selector: t.config.get(\"selectorArrow\"),\n element: null,\n padding: dt(t.config.get(\"arrowPadding\"))\n }\n };\n}\nasync function zt(t) {\n return t && t.state === \"opened\" && (t.el.inert = !0, t.el.classList.remove(t.config.get(\"stateActive\")), t.isTooltip || t.trigger?.setAttribute(\"aria-expanded\", \"false\"), t.floatingCleanup(), t.state = \"closed\", t.trigger === t.parent.trigger && (t.parent.trigger = null), t.el.dispatchEvent(\n new CustomEvent(t.config.get(\"customEventPrefix\") + \"closed\", {\n detail: t.parent,\n bubbles: !0\n })\n ), await t.parent.emit(\"closed\", t)), t;\n}\nasync function qt(t) {\n const e = [];\n for (const n of t.collection)\n n.state === \"opened\" && e.push(await n.close());\n return e;\n}\nfunction Xt(t) {\n t.state == \"opened\" && setTimeout(() => (document.activeElement?.closest(\n `#${t.id}, [aria-controls=\"${t.id}\"], [aria-describedby=\"${t.id}\"]`\n ) || t.close(), t), 1);\n}\nfunction Ze(t) {\n t.state === \"opened\" ? t.close() : (this.trigger = t.trigger, t.open());\n}\nfunction tn(t) {\n t.isTooltip && (t.toggleDelayId && clearTimeout(t.toggleDelayId), t.close());\n}\nfunction en(t, e) {\n if (!(e instanceof MouseEvent) || (t.isHovered = e, e.type == \"focus\" && t.trigger && !t.trigger.matches(\":focus-visible\")))\n return;\n t.toggleDelayId && clearTimeout(t.toggleDelayId);\n const n = t.trigger?.getAttribute(\"aria-expanded\");\n if (n && n == \"true\") return;\n const i = this.activeHover ? 0 : _t(t, 0);\n this.activeHover && this.activeHover.close(), t.toggleDelayId = setTimeout(() => {\n t.id && t.open();\n }, i);\n}\nfunction nn(t, e) {\n e instanceof MouseEvent && setTimeout(() => {\n t.isHovered = e, !t.isHovered && (t.toggleDelayId && clearTimeout(t.toggleDelayId), t.toggleDelayId = setTimeout(\n () => Xt(t),\n _t(t, 1)\n ));\n }, 1);\n}\nfunction sn(t) {\n switch (t.key) {\n case \"Escape\":\n this.trigger && this.trigger.focus(), qt(this);\n return;\n case \"Tab\":\n this.collection.forEach((e) => {\n Xt(e);\n });\n return;\n default:\n return;\n }\n}\nfunction on(t) {\n document.addEventListener(\"click\", function e(n) {\n const i = n.target;\n i && (i.closest(\n `#${t.id}, [aria-controls=\"${t.id}\"], [aria-describedby=\"${t.id}\"]`\n ) ? t.el && !t.el.classList.contains(t.config.get(\"stateActive\")) && this.removeEventListener(\"click\", e) : (t.el && t.el.classList.contains(t.config.get(\"stateActive\")) && t.close(), this.removeEventListener(\"click\", e)));\n });\n}\nasync function Ut(t) {\n t.el.inert = !1, t.el.classList.add(t.config.get(\"stateActive\")), t.isTooltip || t.trigger?.setAttribute(\"aria-expanded\", \"true\"), await t.parent.emit(\"updateCustomProps\", t);\n const e = Qe(t), n = t.el.querySelector(\n e.arrow.selector\n );\n return e.arrow.element = n || null, t.trigger instanceof HTMLElement && (t.floatingCleanup = Xe(t.trigger, t.el, () => {\n const i = [\n je(e.flip),\n Ye({ ...e.shift, limiter: Je() }),\n Ue(e.offset)\n ];\n e.arrow.element && i.push(\n Ke({\n ...e.arrow,\n element: e.arrow.element\n })\n ), Ge(t.trigger, t.el, {\n placement: t.config.get(\"placement\"),\n middleware: i\n }).then(({ x: s, y: o, placement: r, middlewareData: c }) => {\n if (t.el) {\n if (Rt(t.el, s, o), e.arrow.element && c.arrow) {\n const { x: a, y: l } = c.arrow;\n Rt(e.arrow.element, a, l);\n }\n t.el.setAttribute(\"data-floating-placement\", r);\n }\n });\n })), t.state = \"opened\", t.config.get(\"event\") === \"click\" && on.call(t.parent, t), t.el.dispatchEvent(\n new CustomEvent(t.config.get(\"customEventPrefix\") + \"opened\", {\n detail: t.parent,\n bubbles: !0\n })\n ), await t.parent.emit(\"opened\", t), t;\n}\nclass rn extends Pt {\n constructor(e, n) {\n super(e, n), this.#t = [], this.#e = {\n el: !1,\n trigger: !1\n }, this.state = \"closed\", this.trigger = null, this.toggleDelayId = null, this.floatingCleanup = () => {\n };\n }\n #t;\n #e;\n get isTooltip() {\n return !!this.el.closest(this.config.get(\"selectorTooltip\")) || this.el.getAttribute(\"role\") == \"tooltip\";\n }\n get isHovered() {\n return this.#e.el || this.#e.trigger;\n }\n set isHovered(e) {\n const n = e.type == \"mouseenter\" ? !0 : e.type == \"mouseleave\" ? !1 : void 0;\n if (n != null)\n switch (e.target) {\n case this.el:\n this.#e.el = n;\n break;\n case this.trigger:\n this.#e.trigger = n;\n break;\n }\n }\n async open() {\n return Ut(this);\n }\n async close() {\n return zt(this);\n }\n async deregister() {\n return this.parent.deregister(this);\n }\n registerEventListeners() {\n this.#t.length || (this.config.get(\"event\") === \"hover\" ? (this.#t = [\n {\n el: [\"el\", \"trigger\"],\n type: [\"mouseenter\", \"focus\"],\n listener: en.bind(this.parent, this)\n },\n {\n el: [\"el\", \"trigger\"],\n type: [\"mouseleave\", \"focusout\"],\n listener: nn.bind(this.parent, this)\n },\n {\n el: [\"trigger\"],\n type: [\"click\"],\n listener: tn.bind(this.parent, this)\n }\n ], this.#t.forEach((n) => {\n n.el.forEach((i) => {\n n.type.forEach((s) => {\n this[i].addEventListener(\n s,\n n.listener,\n !1\n );\n });\n });\n })) : (this.#t = [\n {\n el: [\"trigger\"],\n type: [\"click\"],\n listener: Ze.bind(this.parent, this)\n }\n ], this.#t.forEach((n) => {\n n.el.forEach((i) => {\n n.type.forEach((s) => {\n this[i].addEventListener(\n s,\n n.listener,\n !1\n );\n });\n });\n })));\n }\n deregisterEventListeners() {\n this.#t && (this.#t.forEach((e) => {\n e.el.forEach((n) => {\n e.type.forEach((i) => {\n this[n].removeEventListener(\n i,\n e.listener,\n !1\n );\n });\n });\n }), this.#t = []);\n }\n async onCreateEntry() {\n this.trigger = document.querySelector(\n `[aria-controls=\"${this.id}\"], [aria-describedby=\"${this.id}\"]`\n ), this.isTooltip ? (this.config.set({ event: \"hover\" }), this.el.setAttribute(\"role\", \"tooltip\")) : this.trigger && this.trigger instanceof HTMLElement && this.trigger.setAttribute(\"aria-expanded\", \"false\");\n }\n async onRegisterEntry() {\n this.registerEventListeners(), this.el.classList.contains(this.config.get(\"stateActive\")) ? await this.open() : this.el.inert = !0;\n }\n async onDestroyEntry() {\n this.state === \"opened\" && await this.close(), this.floatingCleanup(), this.deregisterEventListeners();\n }\n}\nclass cn extends ee {\n constructor(e) {\n super({ ...ne, ...e }), this.entryClass = rn, this.name = \"Popover\", this.trigger = null, this.#t = sn.bind(this);\n }\n #t;\n get active() {\n return this.get(\"opened\", \"state\");\n }\n get activeHover() {\n return this.collection.find((e) => e.state == \"opened\" && e.config.get(\"event\") == \"hover\");\n }\n async open(e) {\n const n = this.getOrThrow(e);\n return Ut(n);\n }\n async close(e) {\n const n = e ? this.getOrThrow(e) : void 0;\n return n ? zt(n) : qt(this);\n }\n async afterMount() {\n document.addEventListener(\"keydown\", this.#t, !1);\n }\n async beforeUnmount() {\n this.trigger = null;\n }\n async afterUnmount() {\n document.removeEventListener(\"keydown\", this.#t, !1);\n }\n}\nexport {\n cn as default\n};\n//# sourceMappingURL=index.js.map\n"],"names":["l","u","m","C","x","i","o","v","h","g","e","k","r","R","M","A","W","n","S","y","d","b","s","c","a","P","T","Z","I$3","L$2","D$2","U","O","$","w","H","_","N","X","K","Y","Q","q","tt","f","F","et","D","V","ot","p","E","B","nt","j","it","z$1","I","J","st$1","L","z","G","rt","t","S$2","O$1","g$1","x$1","A$1","jt","Kt","Jt","Gt","Qt","Zt","Pt","te","ee","ne","st","ie","se","ht","pt","wt","oe","yt","re","ce","gt","Et","At","le","ae","fe","ue","de","kt","Ct","he","Dt","ge","me","Yt","Mt","pe","we","ye","xe","ct","$t","Lt","ve","be","Ee","Ae","lt","Ce","Le","Oe","xt","vt","Te","Se","at","Ft","mt","Ht","bt","Re","Nt","Pe","ft","It","ke","De","Me","Ot","$e","Fe","He","Tt","Wt","Ne","Ie","We","Ve","ut","St","Vt","Be","_e","ze","Bt","qe","Xe","Ue","Ye","je","Ke","Je","Ge","Rt","_t","dt","Qe","zt","qt","Xt","Ze","tn","en","nn","sn","on","Ut","rn","cn"],"mappings":"AAAA,MAAMA,IAAI,iBAAiBC,IAAI,yBAAyBC,KAAI,mBAAmBC,KAAI;AAAA,EACjF,UAAUH,CAAC,GAAGC,CAAC;AAAA,EACf,aAAaD,CAAC,GAAGC,CAAC;AAAA,EAClB,iDAAiDD,CAAC,GAAGC,CAAC,GAAGC,EAAC;AAAA,EAC1D,sBAAsBF,CAAC,GAAGC,CAAC,GAAGC,EAAC;AAAA,EAC/B,SAASF,CAAC,GAAGC,CAAC,GAAGC,EAAC;AAAA,EAClB,WAAWF,CAAC,GAAGC,CAAC,GAAGC,EAAC;AAAA,EACpB,SAASF,CAAC,GAAGC,CAAC,GAAGC,EAAC;AAAA,EAClB,UAAUF,CAAC,2BAA2BC,CAAC;AAAA,EACvC,SAASD,CAAC,GAAGC,CAAC;AAAA,EACd,kBAAkBD,CAAC,GAAGC,CAAC;AAAA,EACvB,kBAAkBD,CAAC,GAAGC,CAAC;AAAA,EACvB,oBAAoBD,CAAC,GAAGC,CAAC;AAAA,EACzB,aAAaD,CAAC,GAAGC,CAAC;AACpB;AACA,SAASG,GAAEC,GAAG,IAAI,UAAU;AAC1B,QAAMC,KAAKD,EAAE,aAAa,QAAQ,CAAC,EAAE,KAAK,IAAI,QAAQ,MAAM,GAAG;AAC/D,SAAOC,IAAI,KAAK,MAAMA,CAAC,IAAI,CAAA;AAC7B;AACA,SAASC,GAAEF,GAAG;AACZ,MAAI,OAAOA,KAAK,UAAU;AACxB,UAAM,IAAI,SAAS,eAAeA,CAAC;AACnC,QAAI,EAAG,QAAO;AACd,UAAM,IAAI,MAAM,+BAA+BA,CAAC,GAAG;AAAA,EACrD,WAAWA,aAAa,aAAa;AACnC,QAAI,CAACA,EAAE;AACL,YAAM,IAAI,MAAM,6BAA6B;AAC/C,WAAOA;AAAA,EACT;AACE,UAAM,IAAI,MAAM,yDAAyD;AAC7E;AACA,SAASG,EAAEH,MAAM,GAAG;AAClB,SAAO,OAAOA,KAAK,aAAaA,EAAE,GAAG,CAAC,IAAIA;AAC5C;AACA,eAAeI,EAAEJ,GAAG,MAAMK,GAAG;AAC3B,OAAKL,KAAK,OAAOA,EAAE,CAAC,KAAK,cAAc,MAAMA,EAAE,CAAC,EAAE,GAAGK,CAAC;AACxD;AACA,SAASC,GAAEN,GAAG,GAAGK,GAAG;AAClB,MAAI,OAAO,KAAK,UAAU;AACxB,UAAME,IAAI,SAAS,cAAc,CAAC;AAClC,QAAI,CAACA;AACH,YAAM,IAAI,MAAM,6CAA6C,CAAC,EAAE;AAClE,QAAIA;AAAA,EACN,WAAW,EAAE,aAAa;AACxB,UAAM,IAAI,MAAM,oCAAoC,CAAC,GAAG;AAC1D,MAAI,OAAO,EAAEF,CAAC,KAAK;AACjB,UAAM,IAAI,MAAM,iCAAiCA,CAAC,GAAG;AACvD,MAAIJ,IAAI,SAAS;AAAA,IACf,iBAAiBD,EAAE;AAAA,EACvB;AACE,SAAOA,EAAE,OAAOC,CAAC,GAAG,EAAEI,CAAC,EAAEL,CAAC,GAAG,MAAM;AACjC,IAAAC,MAAMA,EAAE,MAAMD,CAAC,GAAGC,EAAE,OAAM,GAAIA,IAAI;AAAA,EACpC;AACF;AACA,SAASO,GAAER,GAAG;AACZ,SAAOA,EAAE,MAAM,GAAG,EAAE;AAAA,IAClB,CAAC,GAAGK,MAAMA,MAAM,IAAI,IAAI,EAAE,OAAO,CAAC,EAAE,YAAW,IAAK,EAAE,MAAM,CAAC;AAAA,EACjE,EAAI,KAAK,EAAE;AACX;AACA,SAASI,GAAET,GAAG;AACZ,SAAOA,EAAE,QAAQ,mBAAmB,OAAO,EAAE,YAAW;AAC1D;AACA,SAASU,GAAEV,GAAG;AACZ,MAAI,OAAOA,KAAK;AACd,WAAOA;AACT,QAAM,IAAI,WAAWA,CAAC;AACtB,MAAI,CAAC,OAAO,MAAM,CAAC,GAAG;AACpB,UAAMK,IAAIL,EAAE,SAAS,IAAI;AACzB,WAAO,KAAKK,IAAI,IAAI;AAAA,EACtB;AACA,QAAM,IAAI,MAAM,4CAA4CL,CAAC,EAAE;AACjE;AACA,SAASW,GAAEX,GAAG,GAAGK,GAAGJ,GAAGM,IAAI,GAAG;AAC5B,SAAO,IAAI,QAAQ,CAACK,MAAM;AACxB,IAAAZ,EAAE,UAAU,OAAO,CAAC,GAAGA,EAAE,UAAU,IAAIK,CAAC,GAAG,WAAW,MAAM;AAC1D,MAAAL,EAAE,UAAU,IAAIC,CAAC,GAAGD,EAAE,UAAU,OAAOK,CAAC,GAAGO,EAAEZ,CAAC;AAAA,IAChD,GAAGU,GAAEH,CAAC,CAAC;AAAA,EACT,CAAC;AACH;AACA,SAASM,GAAEb,GAAG,IAAI,IAAI;AACpB,QAAMK,IAAI;AAAA,IACR,UAAU;AAAA,IACV,SAAS,SAAS;AAAA,IAClB,GAAG;AAAA,EACP;AACE,MAAI,CAACL,EAAE,WAAW,IAAI,GAAG;AACvB,UAAMO,IAAIO,GAAC;AACX,IAAAP,MAAMP,IAAI,GAAGO,CAAC,GAAGP,CAAC,KAAKA,IAAI,KAAKA,CAAC;AAAA,EACnC;AACA,QAAMC,IAAI,iBAAiBI,EAAE,OAAO,EAAE,iBAAiBL,CAAC,EAAE,KAAI;AAC9D,MAAIC;AACF,WAAOA;AACT,MAAII,EAAE;AACJ,WAAOA,EAAE;AACX,QAAM,IAAI,MAAM,iBAAiBL,CAAC,kBAAkB;AACtD;AACA,eAAee,EAAEf,GAAG,GAAGK,GAAG;AACxB,QAAMD,EAAE,GAAGJ,GAAGK,CAAC,GAAGA,KAAK,MAAMD,EAAEC,GAAGL,CAAC;AACnC,aAAWC,KAAK,EAAE;AAChB,UAAMG,EAAEH,GAAGD,GAAG,EAAE,QAAQ,GAAG,OAAOK,GAAG;AACvC,QAAM,EAAE,KAAKL,GAAG,EAAE,QAAQ,GAAG,OAAOK,GAAG;AACzC;AACA,SAASW,GAAEhB,GAAG;AACZ,QAAM,IAAI,iBAAiBA,EAAE,EAAE,GAAGK,IAAI,CAAA,GAAIJ,IAAID,EAAE,OAAO,IAAI,aAAa;AACxE,WAASO,IAAI,GAAGA,IAAIN,EAAE,QAAQM,KAAK;AACjC,UAAMK,IAAIE,MAAKG,IAAIjB,EAAE,OAAO,KAAK,YAAW,GAAIkB,IAAIT,GAAER,EAAEM,CAAC,CAAC,GAAGY,IAAI,EAAE,iBAAiB,KAAKP,CAAC,GAAGK,CAAC,IAAIC,CAAC,EAAE,EAAE,KAAI;AAC3G,IAAAC,MAAMd,EAAEG,GAAEU,CAAC,CAAC,IAAIC;AAAA,EAClB;AACA,SAAOd;AACT;AACA,SAASS,KAAI;AACX,SAAO,iBAAiB,SAAS,IAAI,EAAE,iBAAiB,aAAa,EAAE,KAAI;AAC7E;AACA,SAASM,GAAEpB,GAAG,GAAG;AACf,OAAK,SAAS,iBAAiB,CAAC,EAAE,QAAQ,CAACC,MAAM;AAC/C,IAAAD,IAAIC,EAAE,MAAM,WAAW,WAAWA,EAAE,MAAM,eAAe,UAAU;AAAA,EACrE,CAAC;AACH;AACA,SAASoB,GAAErB,GAAG,GAAG;AACf,OAAK,SAAS,iBAAiB,CAAC,EAAE,QAAQ,CAACC,MAAM;AAC/C,IAAAA,EAAE,QAAQD;AAAA,EACZ,CAAC;AACH;AACA,SAASsB,GAAEtB,GAAG,GAAGK,GAAG;AAClBgB,EAAAA,GAAE,CAAC,CAACrB,GAAG,CAAC,GAAGoB,GAAE,CAAC,CAACpB,GAAGK,CAAC;AACrB;AACA,IAAAkB,KAAA,MAAQ;AAAA,EACN;AAAA,EACA;AAAA,EACA,cAAc;AACZ,SAAK,KAAK,CAAA,GAAI,KAAK,KAAK,CAAA;AAAA,EAC1B;AAAA,EACA,IAAI,GAAGlB,GAAG;AACR,UAAM,EAAE,UAAUJ,GAAG,QAAQM,EAAC,IAAKF,KAAK,CAAA;AACxC,QAAIE,GAAG;AACL,YAAMK,IAAI,KAAK,KAAKL,CAAC,IAAI,CAAC;AAC1B,UAAIK,MAAM;AACR,eAAOA;AAAA,IACX;AACE,iBAAWA,KAAK,KAAK,IAAI;AACvB,cAAMK,IAAI,KAAK,KAAKL,CAAC,IAAI,CAAC;AAC1B,YAAIK,MAAM;AACR,iBAAOA;AAAA,MACX;AACF,QAAIhB,MAAM;AACR,aAAOA;AACT,UAAM,IAAI,MAAM,0BAA0B,CAAC,EAAE;AAAA,EAC/C;AAAA,EACA,IAAI,GAAGI,IAAI,IAAI;AACb,QAAIJ,GAAGM;AACP,WAAO,OAAO,KAAK,YAAYN,IAAI,GAAGM,IAAIF,MAAMJ,IAAI,SAASM,IAAI,IAAI,KAAK,GAAGN,CAAC,IAAI,OAAO,OAAO,KAAK,GAAGA,CAAC,GAAGM,CAAC,KAAK,KAAK,GAAG,QAAQN,CAAC,GAAG,KAAK,GAAGA,CAAC,IAAIM,IAAI,KAAK,GAAGN,CAAC;AAAA,EAClK;AAAA,EACA,OAAO,GAAG;AACR,UAAMI,IAAI,KAAK,GAAG,QAAQ,CAAC;AAC3B,IAAAA,MAAM,MAAM,KAAK,GAAG,OAAOA,GAAG,CAAC,GAAG,OAAO,KAAK,GAAG,CAAC;AAAA,EACpD;AAAA,EACA,eAAe,GAAG;AAChB,UAAMA,IAAI,OAAO,KAAK,KAAK,EAAE,EAAE,QAAO,GAAIJ,IAAI,EAAE,OAAO,CAACM,MAAMF,EAAE,SAASE,CAAC,CAAC;AAC3E,eAAWA,KAAKF;AACd,MAAAJ,EAAE,SAASM,CAAC,KAAKN,EAAE,KAAKM,CAAC;AAC3B,WAAO,KAAK,KAAKN;AAAA,EACnB;AACF,GACAuB,KAAA,MAAQ;AAAA,EACN,cAAc;AACZ,SAAK,SAAS,CAAA;AAAA,EAChB;AAAA,EACA,GAAG,GAAGnB,MAAMJ,GAAG;AACb,SAAK,OAAO,CAAC,MAAM,KAAK,OAAO,CAAC,IAAI,CAAA,IAAK,KAAK,OAAO,CAAC,EAAE;AAAA,MACtD,CAACW,MAAMA,EAAE,aAAaP;AAAA,IAC5B,KAAS,KAAK,OAAO,CAAC,EAAE,KAAK,EAAE,UAAUA,GAAG,MAAMJ,GAAG;AAAA,EACnD;AAAA,EACA,IAAI,GAAGI,GAAG;AACR,SAAK,OAAO,CAAC,MAAM,KAAK,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,EAAE;AAAA,MACjD,CAACJ,MAAMA,EAAE,aAAaI;AAAA,IAC5B;AAAA,EACE;AAAA,EACA,MAAM,KAAK,MAAMA,GAAG;AAClB,QAAI,IAAI,EAAE,WAAW,IAAI,IAAI,EAAE,MAAM,GAAG,CAAC,EAAE,YAAW,IAAK,EAAE,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,OAAO,CAAC;AACxF,iBAAW,EAAE,UAAUJ,GAAG,MAAMM,OAAO,KAAK,OAAO,CAAC;AAClD,cAAMN,EAAE,GAAGI,GAAG,GAAGE,CAAC;AAAA,EACxB;AACF,QACA,cAAgB,MAAM;AAAA,EACpB,YAAY,IAAI,MAAM;AACpB,UAAK,GAAI,KAAK,KAAK,GAAG,KAAK,MAAM,KAAK,IAAG;AAAA,EAC3C;AAAA,EACA,IAAI,QAAQ;AACV,WAAO,KAAK,CAAC;AAAA,EACf;AAAA,EACA,IAAI,OAAO;AACT,WAAO,KAAK,KAAK,SAAS,CAAC;AAAA,EAC7B;AAAA,EACA,IAAI,IAAI,KAAK,IAAI;AACf,SAAK,SAAS,GAAG,KAAK,KAAK,KAAK,GAAG,EAAE,iBAAiBT,GAAE,KAAK,GAAG,CAAC,CAAC;AAAA,EACpE;AAAA,EACA,QAAQ;AACN,SAAK,SAAS;AAAA,EAChB;AACF,GACA2B,KAAA,MAAQ;AAAA,EACN,YAAY,IAAI,MAAM;AACpB,SAAK,KAAK,GAAG,KAAK,YAAY,IAAIC,GAAC,GAAI,KAAK,kBAAkBC,GAAE,KAAK,IAAI;AAAA,EAC3E;AAAA,EACA,GAAG,IAAI,KAAK,IAAI;AACd,SAAK,UAAU,IAAI,CAAC,GAAG,KAAK,UAAU,SAAS,SAAS,iBAAiB,WAAW,KAAK,eAAe,IAAI,SAAS,iBAAiB,WAAWC,EAAC;AAAA,EACpJ;AAAA,EACA,MAAM;AACJ,SAAK,UAAU,SAAS,SAAS,oBAAoB,WAAW,KAAK,eAAe,GAAG,SAAS,oBAAoB,WAAWA,EAAC;AAAA,EAClI;AACF;AACA,SAASA,GAAE5B,GAAG;AACZ,GAACA,EAAE,QAAQ,SAASA,EAAE,YAAY,MAAMA,EAAE,eAAc;AAC1D;AACA,SAAS2B,GAAE3B,GAAG;AACZ,MAAIA,EAAE,QAAQ,SAASA,EAAE,YAAY,EAAG;AACxC,QAAM,EAAE,eAAe,EAAC,IAAK,UAAU,EAAE,IAAIK,GAAG,WAAWJ,MAAM,MAAMM,IAAIP,EAAE,UAAUY,IAAI,MAAMX,EAAE,SAAS,MAAMI,GAAGY,IAAI,MAAMhB,EAAE,QAAQ,MAAMI;AAC/I,MAAIE,KAAKK,KAAK,CAACL,KAAKU,GAAG;AACrB,IAAAjB,EAAE,eAAc;AAChB,UAAMkB,IAAIX,IAAIN,EAAE,OAAOA,EAAE;AACzB,IAAAiB,KAAK,OAAOA,EAAE,SAAS,cAAcA,EAAE,MAAK;AAAA,EAC9C;AACF;AACA,SAASW,GAAE7B,GAAG,IAAI,IAAI;AACpB,QAAMK,IAAI,aAAa,QAAQL,CAAC,GAAGC,IAAII,IAAI,KAAK,MAAMA,CAAC,IAAI,CAAA;AAC3D,SAAO;AAAA,IACL,IAAIE,GAAGK,GAAG;AACR,aAAOL,IAAIA,KAAKN,IAAIA,EAAEM,CAAC,IAAIK,IAAIX;AAAA,IACjC;AAAA,IACA,IAAIM,GAAGK,GAAG;AACR,aAAOA,IAAIX,EAAEM,CAAC,IAAIK,IAAI,OAAOX,EAAEM,CAAC,GAAG,KAAK,aAAa,QAAQP,GAAG,KAAK,UAAUC,CAAC,CAAC,GAAGA;AAAA,IACtF;AAAA,EACJ;AACA;AACA,MAAM6B,WAAU,MAAM;AAAA,EACpB,YAAY,IAAI,IAAI;AAClB,UAAK,GAAI,KAAK,UAAU;AAAA,EAC1B;AAAA,EACA,GAAG,GAAG;AACJ,UAAMzB,IAAI,KAAK,UAAU,EAAE,IAAI,KAAK,CAAA,GAAIJ,IAAI,GAAG,WAAW,CAAA;AAC1D,MAAE,SAAS,EAAE,GAAG,EAAE,QAAQ,GAAGI,GAAG,GAAGJ,EAAC;AAAA,EACtC;AAAA,EACA,GAAG,GAAG;AACJ,WAAO,EAAE,UAAU,MAAM,OAAO,EAAE,QAAQ,YAAY,QAAQ,MAAM,yBAAyB,GAAG,MAAM;AAAA,EACxG;AAAA,EACA,IAAI,GAAG;AACL,WAAO,KAAK,KAAK,CAACI,MAAMA,EAAE,SAAS,CAAC,KAAK;AAAA,EAC3C;AAAA,EACA,IAAI,GAAG;AACL,QAAI,MAAM,QAAQ,CAAC;AACjB,QAAE,QAAQ,CAACA,MAAM,KAAK,IAAIA,CAAC,CAAC;AAAA,aACrB,KAAK,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC,GAAG;AAC/B,YAAMA,IAAI,KAAK,UAAU,CAACJ,MAAMA,EAAE,SAAS,EAAE,IAAI;AACjD,OAACI,IAAI,KAAKA,CAAC,IAAI,IAAI,KAAK,KAAK,CAAC;AAAA,IAChC;AAAA,EACF;AAAA,EACA,OAAO,GAAG;AACR,UAAMA,IAAI,KAAK,UAAU,CAACJ,MAAMA,EAAE,SAAS,CAAC;AAC5C,KAACI,KAAK,KAAK,OAAOA,GAAG,CAAC;AAAA,EACxB;AACF;AACA,MAAM0B,WAAU,MAAM;AAAA,EACpB,YAAY,IAAI,IAAI;AAClB,UAAK,GAAI,KAAK,SAAS;AAAA,EACzB;AAAA,EACA,IAAI,OAAO;AACT,WAAO,CAAC,GAAG,IAAI;AAAA,EACjB;AAAA,EACA,IAAI,MAAM;AAER,WADU,KAAK,KAAK,SAAS,CAAC,KAClB;AAAA,EACd;AAAA,EACA,cAAc;AACZ,SAAK,QAAQ,CAAC,GAAG1B,MAAM;AACrB,QAAE,GAAG,MAAM,SAAS;AACpB,YAAMJ,IAAI,iBAAiB,EAAE,EAAE,EAAE,iBAAiB,SAAS,GAAGM,IAAI,SAASN,GAAG,EAAE,GAAGW,IAAI,QAAQ,OAAO,MAAML,CAAC,IAAI,IAAIA,KAAKF,IAAI,CAAC;AAC/H,QAAE,GAAG,MAAM,SAASO;AAAA,IACtB,CAAC;AAAA,EACH;AAAA,EACA,WAAW;AACT,SAAK,eAAe,OAAO,KAAK,OAAO,YAAY,cAAc,KAAK,OAAO,SAAQ;AAAA,EACvF;AAAA,EACA,IAAI,GAAG;AACL,SAAK,KAAK,CAAC,GAAG,KAAK,SAAQ;AAAA,EAC7B;AAAA,EACA,OAAO,GAAG;AACR,UAAMP,IAAI,KAAK,UAAU,CAACJ,MAAMA,EAAE,OAAO,EAAE,EAAE;AAC7C,KAACI,MAAM,EAAE,GAAG,MAAM,SAAS,IAAI,KAAK,OAAOA,GAAG,CAAC,GAAG,KAAK,SAAQ;AAAA,EACjE;AAAA,EACA,UAAU,GAAG;AACX,UAAMA,IAAI,KAAK,UAAU,CAACJ,MAAMA,EAAE,OAAO,EAAE,EAAE;AAC7C,KAACI,MAAM,KAAK,OAAOA,GAAG,CAAC,GAAG,KAAK,IAAI,CAAC;AAAA,EACtC;AACF;AACA,MAAM2B,KAAI;AAAA,EACR,MAAM;AAAA,EACN,WAAW;AACb;AACA,SAASC,GAAEjC,IAAI,IAAI;AACjB,SAAO,EACL,MAAM,cACN,QAAQgC,IACR,SAAShC,GAET,cAAc,EAAE,OAAOC,KAAK;AAC1B,UAAMM,IAAIR,GAAEE,EAAE,IAAI,KAAK,OAAO,IAAI;AAClC,IAAAA,EAAE,OAAO,IAAI,KAAK,OAAO,WAAWM,CAAC;AAAA,EACvC,GACA,eAAe,EAAE,OAAON,KAAK;AAC3B,IAAAA,EAAE,OAAO,OAAO,KAAK,OAAO,SAAS;AAAA,EACvC,EACD;AACH;AACA,MAAMiC,KAAI;AAAA,EACR,WAAW;AACb;AACA,SAASC,GAAEnC,IAAI,IAAI;AACjB,QAAM,IAAI;AAAA,IACR,MAAM;AAAA,IACN,QAAQkC;AAAAA,IACR,SAASlC;AAAA,EACb,GAAKK,IAAI;AAAA,IACL,MAAME,GAAG;AACP,MAAAA,EAAE,GAAG,qBAAqBN,GAAG,IAAI;AAAA,IACnC;AAAA,IACA,SAASM,GAAG;AACV,MAAAA,EAAE,IAAI,qBAAqBN,CAAC;AAAA,IAC9B;AAAA,IACA,cAAc,EAAE,OAAOM,KAAK;AAC1B,YAAMK,IAAII,GAAET,CAAC;AACb,MAAAA,EAAE,OAAO,IAAI,KAAK,OAAO,WAAWK,CAAC;AAAA,IACvC;AAAA,IACA,eAAe,EAAE,OAAOL,KAAK;AAC3B,MAAAA,EAAE,OAAO,OAAO,KAAK,OAAO,SAAS;AAAA,IACvC;AAAA,EACJ;AACE,WAASN,EAAEM,GAAGK,GAAG;AACf,UAAMK,IAAID,GAAET,CAAC;AACb,IAAAA,EAAE,OAAO,IAAIK,EAAE,OAAO,WAAWK,CAAC;AAAA,EACpC;AACA,SAAO,EAAE,GAAG,GAAG,GAAGZ,EAAC;AACrB;AACA,MAAM+B,KAAI;AAAA,EACR,WAAW;AACb,GAAGC,KAAI;AAAA,EACL,SAAS;AAAA,EACT,WAAW;AAAA,EACX,SAAS;AAAA,EACT,WAAW;AACb;AACA,SAASC,GAAGtC,IAAI,IAAI;AAClB,QAAM,IAAI;AAAA,IACR,MAAM;AAAA,IACN,QAAQoC;AAAA,IACR,SAASpC;AAAA,EACb;AACE,WAASK,EAAEO,GAAG,IAAI,CAAA,GAAIM,IAAI,CAAC,WAAW,WAAW,GAAG;AAClD,UAAM,IAAIA,EAAE,IAAI,CAACqB,MAAM,UAAUF,GAAEE,CAAC,CAAC,EAAE;AACvC,YAAQ,IAAI,iBAAiB3B,CAAC,IAAI,GAAG,GAAG,GAAG,CAAC;AAAA,EAC9C;AACA,QAAMX,IAAI;AAAA,IACR,gBAAgBI,EAAE;AAAA,MAChB;AAAA,MACA;AAAA,MACA,CAAA;AAAA,MACA,CAAC,WAAW,WAAW;AAAA,IAC7B;AAAA,IACI,eAAeA,EAAE;AAAA,MACf;AAAA,MACA;AAAA,MACA,CAAA;AAAA,MACA,CAAC,WAAW,WAAW;AAAA,IAC7B;AAAA,IACI,kBAAkBA,EAAE;AAAA,MAClB;AAAA,MACA;AAAA,MACA,CAAA;AAAA,MACA,CAAC,aAAa,SAAS;AAAA,IAC7B;AAAA,IACI,iBAAiBA,EAAE;AAAA,MACjB;AAAA,MACA;AAAA,MACA,CAAA;AAAA,MACA,CAAC,aAAa,SAAS;AAAA,IAC7B;AAAA,IACI,gBAAgB,CAAC,EAAE,QAAQO,GAAG,OAAO,EAAC,GAAIM,MAAM;AAC9C,UAAIf,EAAEe,EAAE,OAAO,WAAW,CAAC,GAAG;AAC5B,cAAM,IAAIN,EAAE,WAAW;AACvB,QAAAP,EAAE,4BAA4B,CAAC,MAAM,EAAE,EAAE,EAAE;AAAA,MAC7C;AAAA,IACF;AAAA,IACA,kBAAkB,CAAC,EAAE,QAAQO,GAAG,OAAO,EAAC,GAAIM,MAAM;AAChD,UAAIf,EAAEe,EAAE,OAAO,WAAW,CAAC,GAAG;AAC5B,cAAM,IAAIN,EAAE,WAAW;AACvB,QAAAP,EAAE,8BAA8B,CAAC,MAAM,EAAE,EAAE,EAAE;AAAA,MAC/C;AAAA,IACF;AAAA,IACA,iBAAiB,CAAC,EAAE,QAAQO,GAAG,OAAO,EAAC,GAAIM,MAAM;AAC/C,UAAIf,EAAEe,EAAE,OAAO,WAAW,CAAC,GAAG;AAC5B,cAAM,IAAIN,EAAE,WAAW;AACvB,QAAAP;AAAA,UACE,6BAA6B,CAAC,MAAM,EAAE,EAAE;AAAA,UACxC,CAAA;AAAA,UACA,CAAC,aAAa,SAAS;AAAA,QACjC;AAAA,MACM;AAAA,IACF;AAAA,IACA,oBAAoB,CAAC,EAAE,QAAQO,GAAG,OAAO,EAAC,GAAIM,MAAM;AAClD,UAAIf,EAAEe,EAAE,OAAO,WAAW,CAAC,GAAG;AAC5B,cAAM,IAAIN,EAAE,WAAW;AACvB,QAAAP;AAAA,UACE,gCAAgC,CAAC;AAAA,UACjC,CAAA;AAAA,UACA,CAAC,aAAa,SAAS;AAAA,QACjC;AAAA,MACM;AAAA,IACF;AAAA,EACJ;AACE,SAAO;AAAA,IAAE,GAAG;AAAA;AAAA,IAEV,MAAMO,GAAG;AACP,MAAAP,EAAE,oBAAoB,MAAM,KAAK,SAAS,GAAG,CAAC,aAAa,SAAS,CAAC,GAAGO,EAAE,GAAG,eAAeX,EAAE,cAAc,GAAGW,EAAE,GAAG,eAAeX,EAAE,gBAAgB,IAAI,GAAGW,EAAE,GAAG,iBAAiBX,EAAE,kBAAkB,IAAI,GAAGW,EAAE,GAAG,cAAcX,EAAE,aAAa,GAAGW,EAAE,GAAG,iBAAiBX,EAAE,gBAAgB,GAAGW,EAAE,GAAG,gBAAgBX,EAAE,iBAAiB,IAAI,GAAGW,EAAE,GAAG,mBAAmBX,EAAE,oBAAoB,IAAI,GAAGW,EAAE,GAAG,gBAAgBX,EAAE,eAAe;AAAA,IACza;AAAA,IACA,SAASW,GAAG;AACV,MAAAP,EAAE,uBAAuB,MAAM,KAAK,SAAS,GAAG;AAAA,QAC9C;AAAA,QACA;AAAA,MACR,CAAO,GAAGO,EAAE,IAAI,eAAeX,EAAE,cAAc,GAAGW,EAAE,IAAI,eAAeX,EAAE,cAAc,GAAGW,EAAE,IAAI,iBAAiBX,EAAE,gBAAgB,GAAGW,EAAE,IAAI,cAAcX,EAAE,aAAa,GAAGW,EAAE,IAAI,iBAAiBX,EAAE,gBAAgB,GAAGW,EAAE,IAAI,gBAAgBX,EAAE,eAAe,GAAGW,EAAE,IAAI,mBAAmBX,EAAE,kBAAkB,GAAGW,EAAE,IAAI,gBAAgBX,EAAE,eAAe;AAAA,IACrV;AAAA;AAAA,IAEA,cAAc;AACZ,MAAAI,EAAE,wBAAwB,MAAM,KAAK,SAAS,CAAC;AAAA,IACjD;AAAA,IACA,cAAc,EAAE,QAAQO,GAAG,OAAO,EAAC,GAAI;AACrC,UAAIT,EAAE,KAAK,OAAO,WAAW,CAAC,GAAG;AAC/B,cAAMe,IAAIN,EAAE,WAAW;AACvB,QAAAP;AAAA,UACE,6BAA6Ba,CAAC,MAAM,EAAE,EAAE;AAAA,UACxC,MAAM,KAAK,SAAS;AAAA,QAC9B;AAAA,MACM;AAAA,IACF;AAAA,IACA,gBAAgB,EAAE,QAAQN,GAAG,OAAO,EAAC,GAAI;AACvC,UAAIT,EAAE,KAAK,OAAO,WAAW,CAAC,GAAG;AAC/B,cAAMe,IAAIN,EAAE,WAAW,SAAS;AAChC,QAAAP;AAAA,UACE,+BAA+Ba,CAAC,MAAM,EAAE,EAAE;AAAA,UAC1C,MAAM,KAAK,SAAS;AAAA,QAC9B;AAAA,MACM;AAAA,IACF;AAAA,IACA,aAAa;AACX,MAAAb,EAAE,uBAAuB,MAAM,KAAK,SAAS,CAAC;AAAA,IAChD;AAAA;AAAA,IAEA,gBAAgB;AACd,MAAAA,EAAE,0BAA0B,MAAM,KAAK,SAAS,GAAG;AAAA,QACjD;AAAA,QACA;AAAA,MACR,CAAO;AAAA,IACH;AAAA,IACA,eAAe,EAAE,QAAQO,GAAG,OAAO,EAAC,GAAI;AACtC,UAAIT,EAAE,KAAK,OAAO,WAAW,CAAC,GAAG;AAC/B,cAAMe,IAAIN,EAAE,WAAW,SAAS;AAChC,QAAAP;AAAA,UACE,8BAA8Ba,CAAC,MAAM,EAAE,EAAE;AAAA,UACzC,MAAM,KAAK,SAAS;AAAA,UACpB,CAAC,aAAa,SAAS;AAAA,QACjC;AAAA,MACM;AAAA,IACF;AAAA,IACA,kBAAkB,EAAE,QAAQN,GAAG,OAAO,EAAC,GAAI;AACzC,UAAIT,EAAE,KAAK,OAAO,WAAW,CAAC,GAAG;AAC/B,cAAMe,IAAIN,EAAE,WAAW;AACvB,QAAAP,EAAE,iCAAiCa,CAAC,KAAK,MAAM,KAAK,SAAS,GAAG;AAAA,UAC9D;AAAA,UACA;AAAA,QACV,CAAS;AAAA,MACH;AAAA,IACF;AAAA,IACA,eAAe;AACb,MAAAb,EAAE,yBAAyB,MAAM,KAAK,SAAS,GAAG;AAAA,QAChD;AAAA,QACA;AAAA,MACR,CAAO;AAAA,IACH;AAAA,EACD;AACH;AACA,MAAMmC,KAAI;AAAA,EACR,WAAW;AACb;AACA,SAASC,GAAGzC,IAAI,IAAI;AAClB,QAAM,IAAI;AAAA,IACR,MAAM;AAAA,IACN,QAAQwC;AAAAA,IACR,SAASxC;AAAA,EACb,GAAKK,IAAI;AAAA,IACL,MAAMO,GAAG;AACP,MAAAA,EAAE,GAAG,UAAUX,GAAG,IAAI,GAAGW,EAAE,GAAG,UAAUL,GAAG,IAAI;AAAA,IACjD;AAAA,IACA,SAASK,GAAG;AACV,MAAAA,EAAE,IAAI,UAAUX,CAAC,GAAGW,EAAE,IAAI,UAAUL,CAAC;AAAA,IACvC;AAAA,IACA,cAAc,EAAE,OAAOK,KAAK;AAC1B,MAAAA,EAAE,YAAY,IAAI8B,GAAC;AAAA,IACrB;AAAA,EACJ;AACE,WAASzC,EAAEW,GAAGK,GAAG;AACf,UAAMC,IAAI,EAAE,QAAQD,GAAG,QAAQL,EAAE,QAAQ,OAAOA,EAAC;AACjD,IAAAA,EAAE,aAAaT,EAAEc,EAAE,OAAO,WAAWC,CAAC,KAAKN,EAAE,UAAU,GAAGA,EAAE,MAAM;AAAA,EACpE;AACA,WAASL,EAAEK,GAAGK,GAAG;AACf,UAAMC,IAAI,EAAE,QAAQD,GAAG,QAAQL,EAAE,QAAQ,OAAOA,EAAC;AACjD,IAAAA,EAAE,aAAaT,EAAEc,EAAE,OAAO,WAAWC,CAAC,KAAKN,EAAE,UAAU,IAAG;AAAA,EAC5D;AACA,SAAO,EAAE,GAAG,GAAG,GAAGP,EAAC;AACrB;AACA,MAAMsC,KAAI;AAAA;AAAA,EAER,gBAAgB;AAAA;AAAA,EAEhB,gBAAgB;AAAA;AAAA,EAEhB,OAAO;AAAA;AAAA;AAAA;AAAA,EAIP,YAAY;AAAA;AAAA;AAAA,EAGZ,YAAY;AAAA;AAAA;AAAA,EAGZ,aAAa,CAAA;AAAA;AAAA;AAAA,EAGb,cAAc,CAAA;AAAA;AAAA;AAAA,EAGd,UAAU,MAAM;AAAA,EAChB;AACF;AACA,SAASC,GAAG5C,IAAI,IAAI;AAClB,QAAM,IAAI;AAAA,IACR,MAAM;AAAA,IACN,QAAQ2C;AAAA,IACR,SAAS3C;AAAA,EACb,GAAKK,IAAI;AAAA;AAAA;AAAA,IAGL,cAAc,EAAE,OAAOa,KAAK;AAC1B,MAAAN,EAAE,KAAK,MAAMM,CAAC;AAAA,IAChB;AAAA;AAAA;AAAA,IAGA,eAAe,EAAE,OAAOA,KAAK;AAC3B,MAAAD,EAAEC,CAAC;AAAA,IACL;AAAA,EACJ;AACE,WAASjB,EAAEiB,GAAG;AACZ,UAAMC,IAAID,EAAE,GAAG,aAAa,QAAQ,KAAK,OAAO,cAAc,EAAE;AAChE,WAAO,CAACC,KAAKD,EAAE,MAAM,KAAK,OAAO,eAAe,KAAK,OAAO,aAAaA,EAAE,EAAE,IAAIC,KAAK;AAAA,EACxF;AACA,WAASZ,EAAEW,GAAG;AACZ,QAAIC,IAAID,EAAE,GAAG,aAAa,QAAQ,KAAK,OAAO,cAAc,EAAE;AAC9D,WAAO,CAACC,KAAKD,EAAE,MAAM,KAAK,OAAO,gBAAgBC,IAAI,KAAK,OAAO,YAAYD,EAAE,EAAE,IAAIC,KAAKA,KAAK,KAAK,OAAO,gBAAgBA,IAAI,KAAK,OAAO,YAAYA,CAAC,IAAIA,MAAMA,IAAI,iBAAiB,SAAS,IAAI,EAAE,iBAAiB,KAAKL,GAAC,CAAE,cAAcK,CAAC,EAAE,EAAE,KAAI,KAAMA,IAAIA,KAAK,KAAK,OAAO;AAAA,EACnR;AACA,WAASP,EAAEM,GAAG;AACZ,UAAMC,IAAIZ,EAAE,KAAK,MAAMW,CAAC;AACxB,QAAI,CAACC,EAAG;AACR,QAAIoB,IAAItC,EAAE,KAAK,MAAMiB,CAAC,KAAK,KAAK,OAAO;AACvC,QAAI,CAACqB,EAAG;AACR,UAAMM,IAAIN,EAAE,QAAQ,IAAI,OAAO,GAAG,KAAK,OAAO,KAAK,IAAI,GAAG,GAAGpB,CAAC;AAC9D,IAAAD,EAAE,MAAM,OAAO,WAAW2B,CAAC,GAAG3B,EAAE,IAAI,WAAW,CAAC4B,MAAM;AACpD,WAAK,OAAO,SAASA,GAAG5B,CAAC;AAAA,IAC3B,GAAG,KAAK,OAAO,SAASA,EAAE,KAAKA,CAAC;AAAA,EAClC;AACA,WAASD,EAAEC,GAAG;AACZ,IAAAA,EAAE,QAAQA,EAAE,IAAI,WAAW,MAAMA,EAAE,MAAM;AAAA,EAC3C;AACA,SAAO,EAAE,GAAG,GAAG,GAAGb,EAAC;AACrB;AACA,MAAM0C,KAAI;AAAA;AAAA,EAER,MAAM;AAAA;AAAA,EAEN,OAAO;AAAA;AAAA,EAEP,WAAW;AAAA;AAAA;AAAA,EAGX,KAAK;AAAA;AAAA,EAEL,WAAW;AAAA;AAAA,EAEX,WAAW;AAAA,EACX;AACF;AACA,SAASC,GAAGhD,IAAI,IAAI;AAClB,QAAM,IAAI;AAAA,IACR,MAAM;AAAA,IACN,QAAQ+C;AAAA,IACR,SAAS/C;AAAA,IACT,OAAO;AAAA,EACX,GAAKK,IAAI;AAAA,IACL,MAAMY,GAAG;AACP,WAAK,QAAQY,GAAEjB,EAAE,KAAK,MAAMK,EAAE,IAAI,CAAC;AAAA,IACrC;AAAA,IACA,MAAM,cAAc,EAAE,OAAOA,KAAK;AAChC,YAAMhB,EAAE,KAAK,MAAMgB,CAAC;AAAA,IACtB;AAAA,IACA,eAAe,EAAE,OAAOA,KAAK;AAC3B,MAAAV,EAAE,KAAK,MAAMU,CAAC;AAAA,IAChB;AAAA,EACJ;AACE,iBAAehB,EAAEgB,GAAG;AAClB,QAAIC,IAAID,EAAE,KAAK,OAAO,IAAI,KAAK;AAC/B,UAAME,IAAI,EAAE,QAAQ,MAAM,QAAQF,EAAE,QAAQ,OAAOA,EAAC;AACpD,WAAO,eAAeA,GAAG,KAAK,OAAO,MAAM;AAAA,MACzC,cAAc;AAAA,MACd,MAAM;AACJ,eAAOC;AAAA,MACT;AAAA,MACA,KAAK,OAAOqB,MAAM;AAChB,YAAIrB,MAAMqB,EAAG;AACb,cAAMM,IAAI3B;AACV,QAAAA,IAAIqB,GAAGpC;AAAAA,UACL,KAAK,OAAO;AAAA,UACZgB;AAAA,UACAoB;AAAA,UACAM;AAAA,QACV,KAAa,KAAK,OAAO,IAAI5B,EAAE,IAAIsB,CAAC,GAAG,MAAM,KAAK,OAAO,SAASpB,GAAGoB,GAAGM,CAAC;AAAA,MACnE;AAAA,IACN,CAAK,GAAG,OAAO,eAAe5B,GAAG,SAAS;AAAA,MACpC,cAAc;AAAA,MACd,KAAK,MAAM,KAAK,OAAO,IAAIA,EAAE,EAAE;AAAA,MAC/B,KAAK,CAACsB,MAAM;AACV,QAAAtB,EAAE,KAAK,OAAO,IAAI,IAAIsB;AAAA,MACxB;AAAA,IACN,CAAK,GAAGtB,EAAE,KAAK,OAAO,IAAI,IAAI,MAAMd,EAAE,KAAK,OAAO,OAAOgB,CAAC,KAAKF,EAAE,KAAK,OAAO,IAAI;AAAA,EAC/E;AACA,iBAAeV,EAAEU,GAAG;AAClB,UAAMC,IAAID,EAAE,KAAK,OAAO,IAAI;AAC5B,WAAOA,EAAE,KAAK,OAAO,IAAI,GAAGA,EAAE,KAAK,OAAO,IAAI,IAAIC,GAAG,KAAK,OAAO,IAAID,EAAE,IAAI,IAAI;AAAA,EACjF;AACA,WAASL,EAAEK,GAAG;AACZ,UAAMC,IAAI,KAAK,OAAO,KAAK,OAAO,CAAC,EAAE,YAAW,IAAK,KAAK,OAAO,KAAK,MAAM,CAAC,GAAGC,IAAI,KAAK,OAAO,OAAOF,IAAIC;AAC3G,WAAO,KAAK,OAAO,YAAYC;AAAA,EACjC;AACA,SAAO,EAAE,GAAG,GAAG,GAAGd,EAAC;AACrB;AACA,MAAM4C,KAAI;AAAA,EACR,OAAO;AAAA,EACP,KAAK;AACP;AACA,SAASC,GAAGlD,IAAI,IAAI;AAClB,QAAM,IAAI;AAAA,IACR,MAAM;AAAA,IACN,QAAQiD;AAAAA,IACR,SAASjD;AAAA,EACb,GAAKK,IAAI;AAAA,IACL,cAAc,EAAE,OAAOO,KAAK;AAC1B,MAAAX,EAAE,MAAMW,CAAC;AAAA,IACX;AAAA,IACA,eAAe,EAAE,OAAOA,KAAK;AAC3B,MAAAL,EAAE,MAAMK,CAAC;AAAA,IACX;AAAA,EACJ;AACE,WAASX,EAAEW,GAAGK,GAAG;AACf,IAAAA,EAAE,WAAW,MAAM;AACjB,aAAOA,EAAE,kBAAkB,cAAcA,EAAE,kBAAkBA,EAAE,iBAAiBX;AAAAA,QAC9EW,EAAE;AAAA,QACFA,EAAE,OAAO,IAAI,YAAY,EAAE,UAAUL,EAAE,OAAO,OAAO;AAAA,QACrDK,EAAE,OAAO,IAAI,kBAAkB,EAAE,UAAUL,EAAE,OAAO,IAAG,CAAE;AAAA,MACjE;AAAA,IACI,GAAGK,EAAE,SAAQ,GAAIA,EAAE,OAAO,KAAK,YAAY,EAAE,QAAQL,GAAG,QAAQK,EAAE,QAAQ,OAAOA,GAAG;AAAA,EACtF;AACA,WAASV,EAAEK,GAAGK,GAAG;AACf,WAAOA,EAAE,kBAAkB,cAAcA,EAAE,eAAc,GAAIA,EAAE,OAAO,KAAK,kBAAkB;AAAA,MAC3F,QAAQL;AAAA,MACR,QAAQK,EAAE;AAAA,MACV,OAAOA;AAAA,IACb,CAAK;AAAA,EACH;AACA,SAAO,EAAE,GAAG,GAAG,GAAGZ,EAAC;AACrB;AACA,IAAA8C,KAAA,MAAQ;AAAA,EACN,YAAY,GAAG9C,GAAG;AAChB,SAAK,SAAS,IAAI+C,GAAC,GAAI,KAAK,SAAS,GAAG,KAAK,KAAKlD,GAAEG,CAAC,GAAG,KAAK,KAAK,KAAK,GAAG,IAAI,KAAK,OAAO,IAAI,UAAU,KAAK,OAAO,MAAM,GAAG,KAAK,OAAO,IAAI,SAAS,CAAA,CAAE;AAAA,EAC1J;AACF;AACA,MAAMgD,KAAI;AAAA,EACR,UAAU;AAAA,EACV,SAAS,CAAA;AAAA,EACT,SAAS,CAAA;AACX;AACA,IAAAC,KAAA,MAAS;AAAA,EACP,YAAY,IAAI,IAAI;AAClB,SAAK,KAAK,IAAIC,GAAC,GAAI,KAAK,SAAS,KAAK,GAAG,QAAQ,KAAK,KAAK,KAAK,GAAG,GAAG,KAAK,KAAK,EAAE,GAAG,KAAK,MAAM,KAAK,GAAG,IAAI,KAAK,KAAK,EAAE,GAAG,KAAK,OAAO,KAAK,GAAG,KAAK,KAAK,KAAK,EAAE,GAAG,KAAK,aAAa,CAAA,GAAI,KAAK,aAAaC,IAAG,KAAK,OAAO,KAAK,YAAY,MAAM,KAAK,SAAS,EAAE,GAAGH,IAAG,GAAG,EAAC,GAAI,KAAK,UAAU,IAAIvB,GAAE,KAAK,OAAO,OAAO;AAAA,EACzT;AAAA,EACA;AAAA,EACA,IAAI,GAAGzB,IAAI,MAAM;AACf,WAAO,KAAK,WAAW,KAAK,CAACJ,MAAMA,EAAEI,CAAC,MAAM,CAAC;AAAA,EAC/C;AAAA,EACA,WAAW,GAAGA,IAAI,MAAM;AACtB,UAAMJ,IAAI,KAAK,IAAI,GAAGI,CAAC;AACvB,QAAIJ;AACF,aAAOA;AACT,UAAM,IAAI;AAAA,MACR,GAAG,KAAK,IAAI,uCAAuC,OAAOI,CAAC,CAAC,QAAQ,CAAC;AAAA,IAC3E;AAAA,EACE;AAAA,EACA,aAAa,IAAI,IAAI;AACnB,WAAO,OAAO,OAAO,KAAK,QAAQ,CAAC;AAAA,EACrC;AAAA,EACA,MAAM,YAAY,GAAG;AACnB,UAAMA,IAAI,IAAI,KAAK,WAAW,MAAM,CAAC;AACrC,WAAO,MAAMD,EAAEC,GAAG,MAAM,GAAG,MAAMU,EAAE,iBAAiB,MAAMV,CAAC,GAAGA;AAAA,EAChE;AAAA,EACA,MAAM,aAAa,GAAG;AACpB,WAAO,MAAMU,EAAE,kBAAkB,MAAM,CAAC,GAAG,MAAMX,EAAE,GAAG,SAAS,GAAG;AAAA,EACpE;AAAA,EACA,MAAM,SAAS,GAAG;AAChB,UAAMC,IAAI,KAAK,WAAW,UAAU,CAACJ,MAAMA,EAAE,OAAO,EAAE,EAAE;AACxD,WAAO,CAACI,IAAI,KAAK,WAAWA,CAAC,IAAI,IAAI,KAAK,WAAW,KAAK,CAAC,GAAG,MAAMU,EAAE,mBAAmB,MAAM,CAAC,GAAG;AAAA,EACrG;AAAA,EACA,MAAM,WAAW,GAAG;AAClB,UAAMV,IAAI,KAAK,WAAW,UAAU,CAACJ,MAAMA,EAAE,OAAO,EAAE,EAAE;AACxD,QAAI,CAACI,GAAG;AACN,YAAMU;AAAAA,QACJ;AAAA,QACA;AAAA,QACA,KAAK,WAAWV,CAAC;AAAA,MACzB;AACM,YAAM,CAACJ,CAAC,IAAI,KAAK,WAAW,OAAOI,GAAG,CAAC;AAAA,IACzC;AACA,WAAO;AAAA,EACT;AAAA,EACA,MAAM,MAAM,IAAI,CAACA,MAAMA,GAAG;AACxB,eAAWA,KAAK,KAAK,QAAQ,WAAW,CAAA;AACtC,WAAK,QAAQ,IAAIA,CAAC;AACpB,eAAWA,KAAK,KAAK;AACnB,YAAMD,EAAEC,GAAG,SAAS,IAAI;AAC1B,QAAI,MAAMU,EAAE,eAAe,IAAI,GAAG,KAAK,OAAO,UAAU;AACtD,YAAMV,IAAI,SAAS,iBAAiB,KAAK,OAAO,QAAQ;AACxD,iBAAWJ,KAAKI;AACd,cAAM,KAAK,YAAYJ,CAAC,EAAE,KAAK,CAACM,MAAM,EAAEA,CAAC,CAAC,EAAE,KAAK,CAACA,MAAM,KAAK,SAASA,CAAC,CAAC;AAAA,IAC5E;AACA,WAAO,MAAMQ,EAAE,cAAc,IAAI,GAAG;AAAA,EACtC;AAAA,EACA,MAAM,QAAQ,IAAI,CAACV,MAAMA,GAAG;AAC1B,SAAK,MAAMU,EAAE,iBAAiB,IAAI,GAAG,KAAK,WAAW,SAAS;AAC5D,YAAM,KAAK,aAAa,KAAK,WAAW,CAAC,CAAC,EAAE,KAAK,CAACV,MAAM,EAAEA,CAAC,CAAC,EAAE,KAAK,CAACA,MAAM,KAAK,WAAWA,CAAC,CAAC;AAC9F,UAAMU,EAAE,gBAAgB,IAAI;AAC5B,eAAWV,KAAK,KAAK;AACnB,YAAMD,EAAEC,GAAG,YAAY,IAAI;AAC7B,eAAWA,KAAK,CAAC,GAAG,KAAK,OAAO;AAC9B,WAAK,QAAQ,OAAOA,EAAE,IAAI;AAC5B,WAAO;AAAA,EACT;AACF;AACA,MAAMoD,KAAI;AAAA,EACR,QAAQ5C,GAAE,gBAAgB,EAAE,UAAU,YAAW,CAAE;AAAA,EACnD,UAAU;AAAA,EACV,UAAU;AAAA,EACV,QAAQ,CAAC,QAAQ,SAAS,MAAM;AAAA,EAChC,SAAS;AAAA,EACT;AAAA,EACA,WAAW;AAAA,EACX;AACF;AACA,SAAS6C,GAAG1D,IAAI,IAAI;AAClB,QAAM,IAAI,EAAE,GAAGyD,IAAG,GAAGzD,EAAC;AACtB,WAASK,EAAEO,GAAG;AACZ,MAAEA,CAAC,EAAE,KAAKL,CAAC;AAAA,EACb;AACA,QAAMN,IAAI4B,GAAE,EAAE,QAAQ,GAAGtB,IAAI;AAAA;AAAA,IAE3B,QAAQ;AAAA;AAAA,IAER,IAAIK,GAAG;AACL,QAAE,OAAO,KAAKA,CAAC;AAAA,IACjB;AAAA,IACA,OAAOA,GAAG;AACR,YAAMK,IAAI,EAAE,OAAO,QAAQL,CAAC;AAC5B,OAACK,KAAK,EAAE,OAAO,OAAOA,GAAG,CAAC;AAAA,IAC5B;AAAA;AAAA,IAEA,IAAI,QAAQ;AACV,aAAO,GAAG,EAAE,MAAM,GAAG,KAAK,KAAK;AAAA,IACjC;AAAA,IACA,IAAI,UAAU;AACZ,aAAO,EAAE,OAAO,IAAI,CAACL,MAAM,GAAG,EAAE,MAAM,GAAGA,CAAC,EAAE;AAAA,IAC9C;AAAA,IACA,IAAI,SAAS;AACX,aAAO,EAAE;AAAA,IACX;AAAA;AAAA,IAEA,IAAI,QAAQ;AACV,aAAOX,EAAE,IAAI,OAAO,KAAK,EAAE;AAAA,IAC7B;AAAA,IACA,IAAI,MAAMW,GAAG;AACX,QAAE,OAAO,SAASA,CAAC,IAAI,KAAK,SAASA,MAAMX,EAAE,IAAI,SAASW,CAAC,GAAG,SAAS,gBAAgB,UAAU,OAAO,GAAG,KAAK,OAAO,GAAG,SAAS,gBAAgB,UAAU,IAAI,GAAG,EAAE,MAAM,GAAGA,CAAC,EAAE,GAAGP,EAAE,UAAU,KAAK,QAAQ,MAAM,6BAA6BO,CAAC,GAAG;AAAA,IACvP;AAAA,EACJ;AACE,SAAOP,EAAE,QAAQ,GAAGE;AACtB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtyBA,SAASsC,GAAEc,GAAG;AACZ,MAAI,OAAOA,KAAK,UAAU;AACxB,UAAMtD,IAAI,SAAS,eAAesD,CAAC;AACnC,QAAItD,EAAG,QAAOA;AACd,UAAM,IAAI,MAAM,+BAA+BsD,CAAC,GAAG;AAAA,EACrD,WAAWA,aAAa,aAAa;AACnC,QAAI,CAACA,EAAE;AACL,YAAM,IAAI,MAAM,6BAA6B;AAC/C,WAAOA;AAAA,EACT;AACE,UAAM,IAAI,MAAM,yDAAyD;AAC7E;AACA,eAAepD,EAAEoD,GAAGtD,MAAMY,GAAG;AAC3B,EAAAZ,KAAKsD,KAAK,OAAOA,EAAEtD,CAAC,KAAK,cAAc,MAAMsD,EAAEtD,CAAC,EAAE,GAAGY,CAAC;AACxD;AACA,SAASY,GAAE8B,GAAG;AACZ,MAAI,OAAOA,KAAK;AACd,WAAOA;AACT,QAAMtD,IAAI,WAAWsD,CAAC;AACtB,MAAI,CAAC,OAAO,MAAMtD,CAAC,GAAG;AACpB,UAAMY,IAAI0C,EAAE,SAAS,IAAI;AACzB,WAAOtD,KAAKY,IAAI,IAAI;AAAA,EACtB;AACA,QAAM,IAAI,MAAM,4CAA4C0C,CAAC,EAAE;AACjE;AACA,SAASpB,GAAEoB,GAAGtD,GAAGY,GAAG,GAAG,IAAI,GAAG;AAC5B,SAAO,IAAI,QAAQ,CAACL,MAAM;AACxB,IAAA+C,EAAE,UAAU,OAAOtD,CAAC,GAAGsD,EAAE,UAAU,IAAI1C,CAAC,GAAG,WAAW,MAAM;AAC1D,MAAA0C,EAAE,UAAU,IAAI,CAAC,GAAGA,EAAE,UAAU,OAAO1C,CAAC,GAAGL,EAAE+C,CAAC;AAAA,IAChD,GAAG9B,GAAE,CAAC,CAAC;AAAA,EACT,CAAC;AACH;AACA,SAAS3B,GAAEyD,GAAGtD,IAAI,IAAI;AACpB,QAAMY,IAAI;AAAA,IACR,UAAU;AAAA,IACV,SAAS,SAAS;AAAA,IAClB,GAAGZ;AAAA,EACP;AACE,MAAI,CAACsD,EAAE,WAAW,IAAI,GAAG;AACvB,UAAM,IAAIb,GAAC;AACX,UAAMa,IAAI,GAAG,CAAC,GAAGA,CAAC,KAAKA,IAAI,KAAKA,CAAC;AAAA,EACnC;AACA,QAAM,IAAI,iBAAiB1C,EAAE,OAAO,EAAE,iBAAiB0C,CAAC,EAAE,KAAI;AAC9D,MAAI;AACF,WAAO;AACT,MAAI1C,EAAE;AACJ,WAAOA,EAAE;AACX,QAAM,IAAI,MAAM,iBAAiB0C,CAAC,kBAAkB;AACtD;AACA,eAAexC,EAAEwC,GAAGtD,GAAGY,GAAG;AACxB,QAAMV,EAAEF,GAAGsD,GAAG1C,CAAC,GAAGA,KAAK,MAAMV,EAAEU,GAAG0C,CAAC;AACnC,aAAW,KAAKtD,EAAE;AAChB,UAAME,EAAE,GAAGoD,GAAG,EAAE,QAAQtD,GAAG,OAAOY,GAAG;AACvC,QAAMZ,EAAE,KAAKsD,GAAG,EAAE,QAAQtD,GAAG,OAAOY,GAAG;AACzC;AACA,SAAS6B,KAAI;AACX,SAAO,iBAAiB,SAAS,IAAI,EAAE,iBAAiB,aAAa,EAAE,KAAI;AAC7E;AACA,SAAS9B,GAAE2C,GAAGtD,GAAG;AACf,EAAAA,KAAK,SAAS,iBAAiBA,CAAC,EAAE,QAAQ,CAACY,MAAM;AAC/C,IAAA0C,IAAI1C,EAAE,MAAM,WAAW,WAAWA,EAAE,MAAM,eAAe,UAAU;AAAA,EACrE,CAAC;AACH;AACA,SAASnB,GAAE6D,GAAGtD,GAAG;AACf,EAAAA,KAAK,SAAS,iBAAiBA,CAAC,EAAE,QAAQ,CAACY,MAAM;AAC/C,IAAAA,EAAE,QAAQ0C;AAAA,EACZ,CAAC;AACH;AACA,SAASzC,GAAEyC,GAAGtD,GAAGY,GAAG;AAClBnB,EAAAA,GAAE,CAAC,CAAC6D,GAAGtD,CAAC,GAAGW,GAAE,CAAC,CAAC2C,GAAG1C,CAAC;AACrB;AACA,IAAA2C,KAAA,MAAQ;AAAA,EACN;AAAA,EACA;AAAA,EACA,cAAc;AACZ,SAAK,KAAK,CAAA,GAAI,KAAK,KAAK,CAAA;AAAA,EAC1B;AAAA,EACA,IAAIvD,GAAGY,GAAG;AACR,UAAM,EAAE,UAAU,GAAG,QAAQ,EAAC,IAAKA,KAAK,CAAA;AACxC,QAAI,GAAG;AACL,YAAML,IAAI,KAAK,KAAK,CAAC,IAAIP,CAAC;AAC1B,UAAIO,MAAM;AACR,eAAOA;AAAA,IACX;AACE,iBAAWA,KAAK,KAAK,IAAI;AACvB,cAAMG,IAAI,KAAK,KAAKH,CAAC,IAAIP,CAAC;AAC1B,YAAIU,MAAM;AACR,iBAAOA;AAAA,MACX;AACF,QAAI,MAAM;AACR,aAAO;AACT,UAAM,IAAI,MAAM,0BAA0BV,CAAC,EAAE;AAAA,EAC/C;AAAA,EACA,IAAIA,GAAGY,IAAI,IAAI;AACb,QAAI,GAAG;AACP,WAAO,OAAOZ,KAAK,YAAY,IAAIA,GAAG,IAAIY,MAAM,IAAI,SAAS,IAAIZ,IAAI,KAAK,GAAG,CAAC,IAAI,OAAO,OAAO,KAAK,GAAG,CAAC,GAAG,CAAC,KAAK,KAAK,GAAG,QAAQ,CAAC,GAAG,KAAK,GAAG,CAAC,IAAI,IAAI,KAAK,GAAG,CAAC;AAAA,EAClK;AAAA,EACA,OAAOA,GAAG;AACR,UAAMY,IAAI,KAAK,GAAG,QAAQZ,CAAC;AAC3B,IAAAY,MAAM,MAAM,KAAK,GAAG,OAAOA,GAAG,CAAC,GAAG,OAAO,KAAK,GAAGZ,CAAC;AAAA,EACpD;AAAA,EACA,eAAeA,GAAG;AAChB,UAAMY,IAAI,OAAO,KAAK,KAAK,EAAE,EAAE,QAAO,GAAI,IAAIZ,EAAE,OAAO,CAAC,MAAMY,EAAE,SAAS,CAAC,CAAC;AAC3E,eAAW,KAAKA;AACd,QAAE,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC;AAC3B,WAAO,KAAK,KAAK;AAAA,EACnB;AACF,GACA4C,KAAA,MAAQ;AAAA,EACN,cAAc;AACZ,SAAK,SAAS,CAAA;AAAA,EAChB;AAAA,EACA,GAAGxD,GAAGY,MAAM,GAAG;AACb,SAAK,OAAOZ,CAAC,MAAM,KAAK,OAAOA,CAAC,IAAI,CAAA,IAAK,KAAK,OAAOA,CAAC,EAAE;AAAA,MACtD,CAAC,MAAM,EAAE,aAAaY;AAAA,IAC5B,KAAS,KAAK,OAAOZ,CAAC,EAAE,KAAK,EAAE,UAAUY,GAAG,MAAM,GAAG;AAAA,EACnD;AAAA,EACA,IAAIZ,GAAGY,GAAG;AACR,SAAK,OAAOZ,CAAC,MAAM,KAAK,OAAOA,CAAC,IAAI,KAAK,OAAOA,CAAC,EAAE;AAAA,MACjD,CAAC,MAAM,EAAE,aAAaY;AAAA,IAC5B;AAAA,EACE;AAAA,EACA,MAAM,KAAKZ,MAAMY,GAAG;AAClB,QAAIZ,IAAIA,EAAE,WAAW,IAAI,IAAIA,EAAE,MAAM,GAAG,CAAC,EAAE,YAAW,IAAKA,EAAE,MAAM,CAAC,IAAIA,GAAG,CAAC,CAAC,KAAK,OAAOA,CAAC;AACxF,iBAAW,EAAE,UAAU,GAAG,MAAM,OAAO,KAAK,OAAOA,CAAC;AAClD,cAAM,EAAE,GAAGY,GAAG,GAAG,CAAC;AAAA,EACxB;AACF,QACA,cAAgB,MAAM;AAAA,EACpB,YAAYZ,IAAI,IAAI;AAClB,UAAK,GAAI,KAAK,UAAUA;AAAA,EAC1B;AAAA,EACA,GAAGA,GAAG;AACJ,UAAMY,IAAI,KAAK,UAAUZ,EAAE,IAAI,KAAK,CAAA,GAAI,IAAIA,GAAG,WAAW,CAAA;AAC1D,IAAAA,EAAE,SAAS,EAAE,GAAGA,EAAE,QAAQ,GAAGY,GAAG,GAAG,EAAC;AAAA,EACtC;AAAA,EACA,GAAGZ,GAAG;AACJ,WAAO,EAAE,UAAUA,MAAM,OAAOA,EAAE,QAAQ,YAAY,QAAQ,MAAM,yBAAyB,GAAG,MAAM;AAAA,EACxG;AAAA,EACA,IAAIA,GAAG;AACL,WAAO,KAAK,KAAK,CAACY,MAAMA,EAAE,SAASZ,CAAC,KAAK;AAAA,EAC3C;AAAA,EACA,IAAIA,GAAG;AACL,QAAI,MAAM,QAAQA,CAAC;AACjB,MAAAA,EAAE,QAAQ,CAACY,MAAM,KAAK,IAAIA,CAAC,CAAC;AAAA,aACrB,KAAK,GAAGZ,CAAC,GAAG,KAAK,GAAGA,CAAC,GAAG;AAC/B,YAAMY,IAAI,KAAK,UAAU,CAAC,MAAM,EAAE,SAASZ,EAAE,IAAI;AACjD,OAACY,IAAI,KAAKA,CAAC,IAAIZ,IAAI,KAAK,KAAKA,CAAC;AAAA,IAChC;AAAA,EACF;AAAA,EACA,OAAOA,GAAG;AACR,UAAMY,IAAI,KAAK,UAAU,CAAC,MAAM,EAAE,SAASZ,CAAC;AAC5C,KAACY,KAAK,KAAK,OAAOA,GAAG,CAAC;AAAA,EACxB;AACF,GACA6C,KAAA,MAAQ;AAAA,EACN,YAAYzD,GAAGY,GAAG;AAChB,SAAK,SAAS,IAAIJ,GAAC,GAAI,KAAK,SAASR,GAAG,KAAK,KAAKwC,GAAE5B,CAAC,GAAG,KAAK,KAAK,KAAK,GAAG,IAAI,KAAK,OAAO,IAAI,UAAU,KAAK,OAAO,MAAM,GAAG,KAAK,OAAO,IAAI,SAAS,CAAA,CAAE;AAAA,EAC1J;AACF;AACA,MAAMR,KAAI;AAAA,EACR,UAAU;AAAA,EACV,SAAS,CAAA;AAAA,EACT,SAAS,CAAA;AACX;AACA,IAAAsD,KAAA,MAAQ;AAAA,EACN,YAAY1D,IAAI,IAAI;AAClB,SAAK,KAAK,IAAIsB,GAAC,GAAI,KAAK,SAAS,KAAK,GAAG,QAAQ,KAAK,KAAK,KAAK,GAAG,GAAG,KAAK,KAAK,EAAE,GAAG,KAAK,MAAM,KAAK,GAAG,IAAI,KAAK,KAAK,EAAE,GAAG,KAAK,OAAO,KAAK,GAAG,KAAK,KAAK,KAAK,EAAE,GAAG,KAAK,aAAa,CAAA,GAAI,KAAK,aAAavB,IAAG,KAAK,OAAO,KAAK,YAAY,MAAM,KAAK,SAAS,EAAE,GAAGK,IAAG,GAAGJ,EAAC,GAAI,KAAK,UAAU,IAAIkD,GAAE,KAAK,OAAO,OAAO;AAAA,EACzT;AAAA,EACA;AAAA,EACA,IAAIlD,GAAGY,IAAI,MAAM;AACf,WAAO,KAAK,WAAW,KAAK,CAAC,MAAM,EAAEA,CAAC,MAAMZ,CAAC;AAAA,EAC/C;AAAA,EACA,WAAWA,GAAGY,IAAI,MAAM;AACtB,UAAM,IAAI,KAAK,IAAIZ,GAAGY,CAAC;AACvB,QAAI;AACF,aAAO;AACT,UAAM,IAAI;AAAA,MACR,GAAG,KAAK,IAAI,uCAAuC,OAAOA,CAAC,CAAC,QAAQZ,CAAC;AAAA,IAC3E;AAAA,EACE;AAAA,EACA,aAAaA,IAAI,IAAI;AACnB,WAAO,OAAO,OAAO,KAAK,QAAQA,CAAC;AAAA,EACrC;AAAA,EACA,MAAM,YAAYA,GAAG;AACnB,UAAMY,IAAI,IAAI,KAAK,WAAW,MAAMZ,CAAC;AACrC,WAAO,MAAME,EAAEU,GAAG,MAAM,GAAG,MAAME,EAAE,iBAAiB,MAAMF,CAAC,GAAGA;AAAA,EAChE;AAAA,EACA,MAAM,aAAaZ,GAAG;AACpB,WAAO,MAAMc,EAAE,kBAAkB,MAAMd,CAAC,GAAG,MAAME,EAAEF,GAAG,SAAS,GAAGA;AAAA,EACpE;AAAA,EACA,MAAM,SAASA,GAAG;AAChB,UAAMY,IAAI,KAAK,WAAW,UAAU,CAAC,MAAM,EAAE,OAAOZ,EAAE,EAAE;AACxD,WAAO,CAACY,IAAI,KAAK,WAAWA,CAAC,IAAIZ,IAAI,KAAK,WAAW,KAAKA,CAAC,GAAG,MAAMc,EAAE,mBAAmB,MAAMd,CAAC,GAAGA;AAAA,EACrG;AAAA,EACA,MAAM,WAAWA,GAAG;AAClB,UAAMY,IAAI,KAAK,WAAW,UAAU,CAAC,MAAM,EAAE,OAAOZ,EAAE,EAAE;AACxD,QAAI,CAACY,GAAG;AACN,YAAME;AAAAA,QACJ;AAAA,QACA;AAAA,QACA,KAAK,WAAWF,CAAC;AAAA,MACzB;AACM,YAAM,CAAC,CAAC,IAAI,KAAK,WAAW,OAAOA,GAAG,CAAC;AAAA,IACzC;AACA,WAAOZ;AAAA,EACT;AAAA,EACA,MAAM,MAAMA,IAAI,CAACY,MAAMA,GAAG;AACxB,eAAWA,KAAK,KAAK,QAAQ,WAAW,CAAA;AACtC,WAAK,QAAQ,IAAIA,CAAC;AACpB,eAAWA,KAAK,KAAK;AACnB,YAAMV,EAAEU,GAAG,SAAS,IAAI;AAC1B,QAAI,MAAME,EAAE,eAAe,IAAI,GAAG,KAAK,OAAO,UAAU;AACtD,YAAMF,IAAI,SAAS,iBAAiB,KAAK,OAAO,QAAQ;AACxD,iBAAW,KAAKA;AACd,cAAM,KAAK,YAAY,CAAC,EAAE,KAAK,CAAC,MAAMZ,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC;AAAA,IAC5E;AACA,WAAO,MAAMc,EAAE,cAAc,IAAI,GAAG;AAAA,EACtC;AAAA,EACA,MAAM,QAAQd,IAAI,CAACY,MAAMA,GAAG;AAC1B,SAAK,MAAME,EAAE,iBAAiB,IAAI,GAAG,KAAK,WAAW,SAAS;AAC5D,YAAM,KAAK,aAAa,KAAK,WAAW,CAAC,CAAC,EAAE,KAAK,CAACF,MAAMZ,EAAEY,CAAC,CAAC,EAAE,KAAK,CAACA,MAAM,KAAK,WAAWA,CAAC,CAAC;AAC9F,UAAME,EAAE,gBAAgB,IAAI;AAC5B,eAAWF,KAAK,KAAK;AACnB,YAAMV,EAAEU,GAAG,YAAY,IAAI;AAC7B,eAAWA,KAAK,CAAC,GAAG,KAAK,OAAO;AAC9B,WAAK,QAAQ,OAAOA,EAAE,IAAI;AAC5B,WAAO;AAAA,EACT;AACF;AACAf,GAAE,gBAAgB,EAAE,UAAU,aAAa;AAC3C,MAAMmB,KAAI;AAAA,EACR,WAAW;AAAA,IACT,WAAW,CAAC,EAAE,OAAOsC,EAAC,MAAOA,EAAE,UAAU,YAAYA,EAAE,UAAU,YAAYA,EAAE,SAAS;AAAA,EAC5F;AAAA,EACE,YAAY;AAAA,IACV,SAASA,GAAGtD,GAAG;AACb,MAAAA,EAAE,OAAOsD,EAAE,UAAU,WAAW;AAAA,IAClC;AAAA,EACJ;AAAA,EACE,WAAW;AAAA,IACT,MAAM;AAAA,IACN,OAAO,CAAC,EAAE,OAAOA,EAAC,MAAOA,EAAE;AAAA,IAC3B,WAAW,CAAC,EAAE,OAAOA,EAAC,MAAO,CAAC,UAAU,UAAU,eAAe,EAAE,SAASA,EAAE,KAAK;AAAA,IACnF,UAAU,CAAC,EAAE,OAAOA,EAAC,MAAOA,EAAE,WAAU;AAAA,EAC5C;AACA,GAAG/B,KAAI;AAAA,EACL,SAASP;AAAAA,EACT,UAAU;AAAA,EACV,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,UAAU;AAAA,EACV,gBAAgB;AAAA,EAChB,gBAAgB;AAAA,EAChB,eAAe;AAAA,EACf,eAAe;AAAA,EACf,kBAAkB;AAAA,EAClB,aAAa;AAAA,EACb,cAAc;AAAA,EACd,cAAc;AAAA,EACd,aAAa;AAAA,EACb,YAAY;AAAA,EACZ,aAAa,CAAC,qBAAqB;AAAA,EACnC,aAAa;AAAA,EACb,mBAAmB;AAAA,EACnB,aAAa;AAAA,EACb,YAAY;AAAA,EACZ,oBAAoB;AACtB;AACA,SAASf,GAAEqD,GAAG;AACZ,UAAQA,EAAE,MAAI;AAAA,IACZ,KAAK;AACH,aAAOjB,GAAEiB,CAAC;AAAA,IACZ,KAAK;AACH,aAAOP,GAAEO,CAAC;AAAA,IACZ;AACE,YAAM,IAAI,MAAM,IAAIA,EAAE,IAAI,+BAA+B;AAAA,EAC/D;AACA;AACA,eAAejB,GAAEiB,GAAG;AAClB,SAAOA,EAAE,GAAG,UAAU,OAAOA,EAAE,OAAO,IAAI,YAAY,CAAC,GAAGA,EAAE,OAAO,gBAAgB,YAAY,GAAGzC;AAAAA,IAChG;AAAA,IACAyC,EAAE,OAAO,IAAI,eAAe;AAAA,IAC5BA,EAAE,OAAO,IAAI,kBAAkB;AAAA,EACnC,GAAKA,EAAE,WAAU,GAAIA,EAAE,GAAG;AAAA,IACtB,IAAI,YAAYA,EAAE,OAAO,IAAI,mBAAmB,IAAI,cAAc;AAAA,MAChE,QAAQA,EAAE;AAAA,MACV,SAAS;AAAA,IACf,CAAK;AAAA,EACL,GAAK,MAAMA,EAAE,OAAO,KAAK,cAAcA,CAAC,GAAGA;AAC3C;AACA,eAAeP,GAAEO,GAAG;AAClB,SAAOA,EAAE,GAAG,UAAU,IAAIA,EAAE,OAAO,IAAI,YAAY,CAAC,GAAGA,EAAE,OAAO,aAAa,cAAc,MAAM,GAAG,MAAMA,EAAE,MAAM,IAAI,EAAE,GAAGA,EAAE,GAAG;AAAA,IAC9H,IAAI,YAAYA,EAAE,OAAO,IAAI,mBAAmB,IAAI,cAAc;AAAA,MAChE,QAAQA,EAAE;AAAA,MACV,SAAS;AAAA,IACf,CAAK;AAAA,EACL,GAAK,MAAMA,EAAE,OAAO,KAAK,cAAcA,CAAC,GAAGA;AAC3C;AACA,SAAS/D,GAAE+D,GAAG;AACZ,EAAAA,EAAE,UAAUA,EAAE,UAAU,YAAYA,EAAE,OAAO,cAAcA,EAAE,OAAO,IAAI,eAAe,CAAC,KAAKA,EAAE,QAAQ,MAAK,IAAKA,EAAE,YAAYA,EAAE,QAAQ,MAAK,GAAIA,EAAE,UAAU;AAChK;AACA,eAAehE,GAAEgE,GAAGtD,GAAGY,IAAI,IAAI;AAC7B,UAAQ0C,EAAE,UAAU,YAAYA,EAAE,UAAU,mBAAmBA,EAAE,UAAU,UAAUA,EAAE,SAAS,SAAS,GAAGtD,KAAKsD,EAAE,OAAO,IAAI,YAAY,IAAI,MAAMpB;AAAA,IAClJoB,EAAE;AAAA,IACFA,EAAE,OAAO,IAAI,aAAa;AAAA,IAC1BA,EAAE,OAAO,IAAI,cAAc;AAAA,IAC3BA,EAAE,OAAO,IAAI,aAAa;AAAA,IAC1BA,EAAE,OAAO,IAAI,oBAAoB;AAAA,EACrC,KAAOA,EAAE,GAAG,UAAU,IAAIA,EAAE,OAAO,IAAI,aAAa,CAAC,GAAGA,EAAE,GAAG,UAAU,OAAOA,EAAE,OAAO,IAAI,aAAa,CAAC,IAAIA,EAAE,SAAS,QAAQ,GAAGA,EAAE,SAAS,WAAWzC;AAAAA,IACrJ;AAAA,IACAyC,EAAE,OAAO,IAAI,eAAe;AAAA,IAC5BA,EAAE,OAAO,IAAI,kBAAkB;AAAA,EACnC,GAAK1C,KAAKrB,GAAE+D,CAAC,GAAGA,EAAE,GAAG;AAAA,IACjB,IAAI,YAAYA,EAAE,OAAO,IAAI,mBAAmB,IAAI,UAAU;AAAA,MAC5D,QAAQA,EAAE;AAAA,MACV,SAAS;AAAA,IACf,CAAK;AAAA,EACL,GAAK,MAAMA,EAAE,OAAO,KAAK,UAAUA,CAAC,IAAIA;AACxC;AACA,eAAexD,GAAEwD,GAAGtD,GAAGY,IAAI,IAAI;AAC7B,UAAQ0C,EAAE,UAAU,YAAYA,EAAE,UAAU,mBAAmBA,EAAE,UAAU,UAAUA,EAAE,SAAS,SAAS,GAAG,SAAS,iBAAiB,SAAS,yBAAyB,eAAe,SAAS,cAAc,KAAI,GAAItD,KAAKsD,EAAE,OAAO,IAAI,YAAY,IAAI,MAAMpB;AAAA,IAC5PoB,EAAE;AAAA,IACFA,EAAE,OAAO,IAAI,aAAa;AAAA,IAC1BA,EAAE,OAAO,IAAI,cAAc;AAAA,IAC3BA,EAAE,OAAO,IAAI,aAAa;AAAA,IAC1BA,EAAE,OAAO,IAAI,oBAAoB;AAAA,EACrC,KAAOA,EAAE,GAAG,UAAU,IAAIA,EAAE,OAAO,IAAI,aAAa,CAAC,GAAGA,EAAE,GAAG,UAAU,OAAOA,EAAE,OAAO,IAAI,aAAa,CAAC,IAAIA,EAAE,SAAS,QAAQ,GAAGA,EAAE,SAAS,WAAWzC;AAAAA,IACrJ;AAAA,IACAyC,EAAE,OAAO,IAAI,eAAe;AAAA,IAC5BA,EAAE,OAAO,IAAI,kBAAkB;AAAA,EACnC,GAAK1C,KAAKrB,GAAE+D,CAAC,GAAGA,EAAE,GAAG;AAAA,IACjB,IAAI,YAAYA,EAAE,OAAO,IAAI,mBAAmB,IAAI,UAAU;AAAA,MAC5D,QAAQA,EAAE;AAAA,MACV,SAAS;AAAA,IACf,CAAK;AAAA,EACL,GAAK,MAAMA,EAAE,OAAO,KAAK,UAAUA,CAAC,IAAIA;AACxC;AACA,eAAe9D,GAAE8D,GAAGtD,GAAGY,GAAG;AACxB,SAAO0C,EAAE,UAAU,WAAWhE,GAAEgE,GAAGtD,GAAGY,CAAC,IAAId,GAAEwD,GAAGtD,GAAGY,CAAC;AACtD;SACA,cAAgBb,GAAE;AAAA,EAChB;AAAA,EACA,YAAYC,GAAGY,GAAG;AAChB,UAAMZ,GAAGY,CAAC,GAAG,KAAK,KAAK,iBAAiB,KAAK,SAAS,KAAK,GAAG,cAAc,KAAK,OAAO,IAAI,gBAAgB,CAAC,KAAK,KAAK,IAAI,KAAK,UAAU,MAAM,KAAK,QAAQ,MAAM,KAAK,cAAc;AAAA,EACxL;AAAA,EACA,IAAI,OAAO;AACT,WAAO,KAAK;AAAA,EACd;AAAA,EACA,IAAI,KAAKZ,GAAG;AACV,SAAK,OAAOA,MAAM,KAAK,KAAKA,GAAGC,GAAE,IAAI;AAAA,EACvC;AAAA,EACA,SAASD,GAAG;AACV,SAAK,QAAQA;AACb,UAAMY,IAAI,CAAC,WAAW,SAAS;AAC/B,SAAK,SAAS,YAAY,CAACA,EAAE,SAASZ,CAAC,MAAM,KAAK,cAAcA,IAAIA,MAAM,oBAAoB,KAAK,GAAG,UAAU,OAAO,KAAK,OAAO,IAAI,aAAa,CAAC,GAAG,KAAK,GAAG,UAAU,OAAO,KAAK,OAAO,IAAI,cAAc,CAAC,GAAG,KAAK,GAAG,UAAU,OAAO,KAAK,OAAO,IAAI,aAAa,CAAC,GAAG,KAAK,GAAG,UAAU,OAAO,KAAK,OAAO,IAAI,cAAc,CAAC;AAAA,EACvU;AAAA,EACA,MAAM,aAAa;AACjB,QAAI,KAAK,SAAS,QAAS,QAAO;AAClC,QAAI,KAAK,gBAAgB;AACvB,aAAO,MAAM,KAAK,KAAK,IAAI,EAAE;AAC/B,QAAI,KAAK,gBAAgB;AACvB,aAAO,MAAM,KAAK,MAAM,IAAI,EAAE;AAChC,QAAI,KAAK,UAAU,MAAM;AACvB,UAAI,KAAK,GAAG,UAAU,SAAS,KAAK,OAAO,IAAI,aAAa,CAAC;AAC3D,eAAO,MAAM,KAAK,KAAK,IAAI,EAAE;AAC/B,UAAI,KAAK,GAAG,UAAU,SAAS,KAAK,OAAO,IAAI,aAAa,CAAC;AAC3D,eAAO,MAAM,KAAK,MAAM,IAAI,EAAE;AAAA,IAClC;AACA,WAAO,KAAK,SAAS,eAAe,GAAG;AAAA,EACzC;AAAA,EACA,MAAM,KAAKA,GAAGY,GAAG;AACf,WAAOtB,GAAE,MAAMU,GAAGY,CAAC;AAAA,EACrB;AAAA,EACA,MAAM,MAAMZ,GAAGY,GAAG;AAChB,WAAOd,GAAE,MAAME,GAAGY,CAAC;AAAA,EACrB;AAAA,EACA,MAAM,OAAOZ,GAAGY,GAAG;AACjB,WAAOpB,GAAE,MAAMQ,GAAGY,CAAC;AAAA,EACrB;AAAA,EACA,MAAM,aAAa;AACjB,WAAO,KAAK,OAAO,WAAW,IAAI;AAAA,EACpC;AAAA,EACA,MAAM,gBAAgB;AACpB,SAAK,OAAO,IAAI,aAAa,KAAK,KAAK,UAAU,KAAK,OAAO,aAAa,YAAY,IAAI,GAAG,MAAM,KAAK,WAAU,GAAI,KAAK,cAAc,KAAK,OAAO,KAAK,OAAO,KAAK,MAAM,KAAK,GAAG,UAAU,SAAS,KAAK,OAAO,IAAI,YAAY,CAAC,IAAI,UAAU;AAAA,EACpP;AAAA,EACA,MAAM,iBAAiB;AACrB,SAAK,SAAS,WAAW,KAAK,UAAU,YAAY,MAAM,KAAK,MAAM,EAAE;AAAA,EACzE;AACF;AACA,eAAeG,GAAEuC,GAAG;AAClB,QAAMtD,IAAIsD,EAAE;AACZ,MAAItD,GAAG;AACL,UAAMY,IAAIZ,EAAE,QAAQ;AAAA,cACV,KAAK,OAAO,QAAQ;AAAA,cACpB,KAAK,OAAO,UAAU;AAAA,cACtB,KAAK,OAAO,SAAS;AAAA,KAC9B;AACD,QAAIY,GAAG;AACL,MAAA0C,EAAE,eAAc,GAAI1C,EAAE,QAAQ,SAAS,KAAK,OAAO,UAAU,GAAG,KAAKA,EAAE,aAAa,QAAQ,KAAK,OAAO,UAAU,EAAE,GAAG,KAAI,EAAG,MAAM,GAAG,GAAG,QAAQ,CAAChB,MAAM;AACvJ,cAAMW,IAAI,KAAK,WAAWX,CAAC;AAC3B,eAAOW,EAAE,UAAUK,GAAGL,EAAE,OAAM;AAAA,MAChC,CAAC,GAAGK,EAAE,QAAQ,SAAS,KAAK,OAAO,QAAQ,GAAG,KAAKA,EAAE,aAAa,QAAQ,KAAK,OAAO,QAAQ,EAAE,GAAG,OAAO,MAAM,GAAG,GAAG,QAAQ,CAAChB,MAAM;AACnI,cAAMW,IAAI,KAAK,WAAWX,CAAC;AAC3B,eAAOW,EAAE,UAAUK,GAAGL,EAAE,KAAI;AAAA,MAC9B,CAAC,GAAGK,EAAE,QAAQ,SAAS,KAAK,OAAO,SAAS,GAAG,KAAKA,EAAE,aAAa,QAAQ,KAAK,OAAO,SAAS,EAAE,GAAG,OAAO,MAAM,GAAG,GAAG,QAAQ,CAAChB,MAAM;AACrI,YAAIA,GAAG;AACL,gBAAMW,IAAI,KAAK,WAAWX,CAAC;AAC3B,iBAAOW,EAAE,UAAUK,GAAGL,EAAE,MAAK;AAAA,QAC/B,OAAO;AACL,gBAAMA,IAAIP,EAAE,QAAQ,KAAK,OAAO,QAAQ;AACxC,cAAIO,EAAG,QAAO,KAAK,MAAMA,EAAE,EAAE;AAAA,QAC/B;AAAA,MACF,CAAC;AACD;AAAA,IACF;AACA,QAAI,KAAK,eAAeP,EAAE,QAAQ,KAAK,OAAO,cAAc;AAC1D,aAAO,KAAK,MAAM,KAAK,YAAY,EAAE;AAAA,EACzC;AACF;AACA,SAASS,GAAE6C,GAAG;AACZ,MAAIA,EAAE,QAAQ,YAAY,KAAK;AAC7B,WAAO,KAAK,MAAM,KAAK,YAAY,EAAE;AACzC;SACA,cAAgB5D,GAAE;AAAA,EAChB,YAAYM,GAAG;AACb,UAAM,EAAE,GAAGuB,IAAG,GAAGvB,EAAC,CAAE,GAAG,KAAK,aAAaK,IAAG,KAAK,OAAO,UAAU,KAAK,KAAKU,GAAE,KAAK,IAAI,GAAG,KAAK,KAAKN,GAAE,KAAK,IAAI;AAAA,EACjH;AAAA,EACA;AAAA,EACA;AAAA,EACA,IAAI,cAAc;AAChB,WAAO,KAAK,WAAW,KAAK,CAACT,MAAMA,EAAE,UAAU,YAAYA,EAAE,SAAS,OAAO;AAAA,EAC/E;AAAA,EACA,MAAM,KAAKA,GAAGY,GAAG,GAAG;AAClB,UAAM,IAAI,KAAK,WAAWZ,CAAC;AAC3B,WAAOV,GAAE,GAAGsB,GAAG,CAAC;AAAA,EAClB;AAAA,EACA,MAAM,MAAMZ,GAAGY,GAAG,GAAG;AACnB,UAAM,IAAI,KAAK,WAAWZ,CAAC;AAC3B,WAAOF,GAAE,GAAGc,GAAG,CAAC;AAAA,EAClB;AAAA,EACA,MAAM,OAAOZ,GAAGY,GAAG,GAAG;AACpB,UAAM,IAAI,KAAK,WAAWZ,CAAC;AAC3B,WAAOR,GAAE,GAAGoB,GAAG,CAAC;AAAA,EAClB;AAAA,EACA,MAAM,aAAa;AACjB,aAAS,iBAAiB,SAAS,KAAK,IAAI,EAAE,GAAG,SAAS,iBAAiB,WAAW,KAAK,IAAI,EAAE;AAAA,EACnG;AAAA,EACA,MAAM,eAAe;AACnB,aAAS,oBAAoB,SAAS,KAAK,IAAI,EAAE,GAAG,SAAS,oBAAoB,WAAW,KAAK,IAAI,EAAE;AAAA,EACzG;AACF;ACncA,SAAS4B,GAAE5B,GAAG;AACZ,MAAI,OAAOA,KAAK,UAAU;AACxB,UAAM,IAAI,SAAS,eAAeA,CAAC;AACnC,QAAI,EAAG,QAAO;AACd,UAAM,IAAI,MAAM,+BAA+BA,CAAC,GAAG;AAAA,EACrD,WAAWA,aAAa,aAAa;AACnC,QAAI,CAACA,EAAE;AACL,YAAM,IAAI,MAAM,6BAA6B;AAC/C,WAAOA;AAAA,EACT;AACE,UAAM,IAAI,MAAM,yDAAyD;AAC7E;AACA,eAAeE,EAAEF,GAAG,MAAMZ,GAAG;AAC3B,OAAKY,KAAK,OAAOA,EAAE,CAAC,KAAK,cAAc,MAAMA,EAAE,CAAC,EAAE,GAAGZ,CAAC;AACxD;AACA,SAASR,GAAEoB,GAAG;AACZ,MAAI,OAAOA,KAAK;AACd,WAAOA;AACT,QAAM,IAAI,WAAWA,CAAC;AACtB,MAAI,CAAC,OAAO,MAAM,CAAC,GAAG;AACpB,UAAMZ,IAAIY,EAAE,SAAS,IAAI;AACzB,WAAO,KAAKZ,IAAI,IAAI;AAAA,EACtB;AACA,QAAM,IAAI,MAAM,4CAA4CY,CAAC,EAAE;AACjE;AACA,SAASrB,GAAEqB,GAAG,GAAGZ,GAAG,GAAGO,IAAI,GAAG;AAC5B,SAAO,IAAI,QAAQ,CAACX,MAAM;AACxB,IAAAgB,EAAE,UAAU,OAAO,CAAC,GAAGA,EAAE,UAAU,IAAIZ,CAAC,GAAG,WAAW,MAAM;AAC1D,MAAAY,EAAE,UAAU,IAAI,CAAC,GAAGA,EAAE,UAAU,OAAOZ,CAAC,GAAGJ,EAAEgB,CAAC;AAAA,IAChD,GAAGpB,GAAEe,CAAC,CAAC;AAAA,EACT,CAAC;AACH;AACA,SAASiB,GAAEZ,GAAG,IAAI,IAAI;AACpB,QAAMZ,IAAI;AAAA,IACR,UAAU;AAAA,IACV,SAAS,SAAS;AAAA,IAClB,GAAG;AAAA,EACP;AACE,MAAI,CAACY,EAAE,WAAW,IAAI,GAAG;AACvB,UAAML,IAAIV,GAAC;AACX,IAAAU,MAAMK,IAAI,GAAGL,CAAC,GAAGK,CAAC,KAAKA,IAAI,KAAKA,CAAC;AAAA,EACnC;AACA,QAAM,IAAI,iBAAiBZ,EAAE,OAAO,EAAE,iBAAiBY,CAAC,EAAE,KAAI;AAC9D,MAAI;AACF,WAAO;AACT,MAAIZ,EAAE;AACJ,WAAOA,EAAE;AACX,QAAM,IAAI,MAAM,iBAAiBY,CAAC,kBAAkB;AACtD;AACA,eAAeV,EAAEU,GAAG,GAAGZ,GAAG;AACxB,QAAMc,EAAE,GAAGF,GAAGZ,CAAC,GAAGA,KAAK,MAAMc,EAAEd,GAAGY,CAAC;AACnC,aAAW,KAAK,EAAE;AAChB,UAAME,EAAE,GAAGF,GAAG,EAAE,QAAQ,GAAG,OAAOZ,GAAG;AACvC,QAAM,EAAE,KAAKY,GAAG,EAAE,QAAQ,GAAG,OAAOZ,GAAG;AACzC;AACA,SAASH,KAAI;AACX,SAAO,iBAAiB,SAAS,IAAI,EAAE,iBAAiB,aAAa,EAAE,KAAI;AAC7E;AACA,SAASY,GAAEG,GAAG,GAAG;AACf,OAAK,SAAS,iBAAiB,CAAC,EAAE,QAAQ,CAACZ,MAAM;AAC/C,IAAAY,IAAIZ,EAAE,MAAM,WAAW,WAAWA,EAAE,MAAM,eAAe,UAAU;AAAA,EACrE,CAAC;AACH;AACA,SAASyC,GAAE7B,GAAG,GAAG;AACf,OAAK,SAAS,iBAAiB,CAAC,EAAE,QAAQ,CAACZ,MAAM;AAC/C,IAAAA,EAAE,QAAQY;AAAA,EACZ,CAAC;AACH;AACA,SAASD,GAAEC,GAAG,GAAGZ,GAAG;AAClB,EAAAyC,GAAE,CAAC,CAAC7B,GAAG,CAAC,GAAGH,GAAE,CAAC,CAACG,GAAGZ,CAAC;AACrB;AACA,MAAMP,GAAE;AAAA,EACN;AAAA,EACA;AAAA,EACA,cAAc;AACZ,SAAK,KAAK,CAAA,GAAI,KAAK,KAAK,CAAA;AAAA,EAC1B;AAAA,EACA,IAAI,GAAGO,GAAG;AACR,UAAM,EAAE,UAAU,GAAG,QAAQO,EAAC,IAAKP,KAAK,CAAA;AACxC,QAAIO,GAAG;AACL,YAAMX,IAAI,KAAK,KAAKW,CAAC,IAAI,CAAC;AAC1B,UAAIX,MAAM;AACR,eAAOA;AAAA,IACX;AACE,iBAAWA,KAAK,KAAK,IAAI;AACvB,cAAMsC,IAAI,KAAK,KAAKtC,CAAC,IAAI,CAAC;AAC1B,YAAIsC,MAAM;AACR,iBAAOA;AAAA,MACX;AACF,QAAI,MAAM;AACR,aAAO;AACT,UAAM,IAAI,MAAM,0BAA0B,CAAC,EAAE;AAAA,EAC/C;AAAA,EACA,IAAI,GAAGlC,IAAI,IAAI;AACb,QAAI,GAAGO;AACP,WAAO,OAAO,KAAK,YAAY,IAAI,GAAGA,IAAIP,MAAM,IAAI,SAASO,IAAI,IAAI,KAAK,GAAG,CAAC,IAAI,OAAO,OAAO,KAAK,GAAG,CAAC,GAAGA,CAAC,KAAK,KAAK,GAAG,QAAQ,CAAC,GAAG,KAAK,GAAG,CAAC,IAAIA,IAAI,KAAK,GAAG,CAAC;AAAA,EAClK;AAAA,EACA,OAAO,GAAG;AACR,UAAMP,IAAI,KAAK,GAAG,QAAQ,CAAC;AAC3B,IAAAA,MAAM,MAAM,KAAK,GAAG,OAAOA,GAAG,CAAC,GAAG,OAAO,KAAK,GAAG,CAAC;AAAA,EACpD;AAAA,EACA,eAAe,GAAG;AAChB,UAAMA,IAAI,OAAO,KAAK,KAAK,EAAE,EAAE,QAAO,GAAI,IAAI,EAAE,OAAO,CAACO,MAAMP,EAAE,SAASO,CAAC,CAAC;AAC3E,eAAWA,KAAKP;AACd,QAAE,SAASO,CAAC,KAAK,EAAE,KAAKA,CAAC;AAC3B,WAAO,KAAK,KAAK;AAAA,EACnB;AACF;AACA,MAAMb,GAAE;AAAA,EACN,cAAc;AACZ,SAAK,SAAS,CAAA;AAAA,EAChB;AAAA,EACA,GAAG,GAAGM,MAAM,GAAG;AACb,SAAK,OAAO,CAAC,MAAM,KAAK,OAAO,CAAC,IAAI,CAAA,IAAK,KAAK,OAAO,CAAC,EAAE;AAAA,MACtD,CAACO,MAAMA,EAAE,aAAaP;AAAA,IAC5B,KAAS,KAAK,OAAO,CAAC,EAAE,KAAK,EAAE,UAAUA,GAAG,MAAM,GAAG;AAAA,EACnD;AAAA,EACA,IAAI,GAAGA,GAAG;AACR,SAAK,OAAO,CAAC,MAAM,KAAK,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,EAAE;AAAA,MACjD,CAAC,MAAM,EAAE,aAAaA;AAAA,IAC5B;AAAA,EACE;AAAA,EACA,MAAM,KAAK,MAAMA,GAAG;AAClB,QAAI,IAAI,EAAE,WAAW,IAAI,IAAI,EAAE,MAAM,GAAG,CAAC,EAAE,YAAW,IAAK,EAAE,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,OAAO,CAAC;AACxF,iBAAW,EAAE,UAAU,GAAG,MAAMO,OAAO,KAAK,OAAO,CAAC;AAClD,cAAM,EAAE,GAAGP,GAAG,GAAGO,CAAC;AAAA,EACxB;AACF;AACA,MAAMe,WAAU,MAAM;AAAA,EACpB,YAAY,IAAI,IAAI;AAClB,UAAK,GAAI,KAAK,UAAU;AAAA,EAC1B;AAAA,EACA,GAAG,GAAG;AACJ,UAAMtB,IAAI,KAAK,UAAU,EAAE,IAAI,KAAK,CAAA,GAAI,IAAI,GAAG,WAAW,CAAA;AAC1D,MAAE,SAAS,EAAE,GAAG,EAAE,QAAQ,GAAGA,GAAG,GAAG,EAAC;AAAA,EACtC;AAAA,EACA,GAAG,GAAG;AACJ,WAAO,EAAE,UAAU,MAAM,OAAO,EAAE,QAAQ,YAAY,QAAQ,MAAM,yBAAyB,GAAG,MAAM;AAAA,EACxG;AAAA,EACA,IAAI,GAAG;AACL,WAAO,KAAK,KAAK,CAACA,MAAMA,EAAE,SAAS,CAAC,KAAK;AAAA,EAC3C;AAAA,EACA,IAAI,GAAG;AACL,QAAI,MAAM,QAAQ,CAAC;AACjB,QAAE,QAAQ,CAACA,MAAM,KAAK,IAAIA,CAAC,CAAC;AAAA,aACrB,KAAK,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC,GAAG;AAC/B,YAAMA,IAAI,KAAK,UAAU,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI;AACjD,OAACA,IAAI,KAAKA,CAAC,IAAI,IAAI,KAAK,KAAK,CAAC;AAAA,IAChC;AAAA,EACF;AAAA,EACA,OAAO,GAAG;AACR,UAAMA,IAAI,KAAK,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC;AAC5C,KAACA,KAAK,KAAK,OAAOA,GAAG,CAAC;AAAA,EACxB;AACF;AACA,MAAMkD,WAAU,MAAM;AAAA,EACpB,YAAY,IAAI,IAAI;AAClB,UAAK,GAAI,KAAK,SAAS;AAAA,EACzB;AAAA,EACA,IAAI,OAAO;AACT,WAAO,CAAC,GAAG,IAAI;AAAA,EACjB;AAAA,EACA,IAAI,MAAM;AACR,WAAO,KAAK,KAAK,SAAS,CAAC,KAAK;AAAA,EAClC;AAAA,EACA,cAAc;AACZ,SAAK,QAAQ,CAAC,GAAGlD,MAAM;AACrB,QAAE,GAAG,MAAM,SAAS;AACpB,YAAM,IAAI,iBAAiB,EAAE,EAAE,EAAE,iBAAiB,SAAS,GAAGO,IAAI,SAAS,GAAG,EAAE,GAAGX,IAAI,QAAQ,OAAO,MAAMW,CAAC,IAAI,IAAIA,KAAKP,IAAI,CAAC;AAC/H,QAAE,GAAG,MAAM,SAASJ;AAAA,IACtB,CAAC;AAAA,EACH;AAAA,EACA,WAAW;AACT,SAAK,eAAe,OAAO,KAAK,OAAO,YAAY,cAAc,KAAK,OAAO,SAAQ;AAAA,EACvF;AAAA,EACA,IAAI,GAAG;AACL,SAAK,KAAK,CAAC,GAAG,KAAK,SAAQ;AAAA,EAC7B;AAAA,EACA,OAAO,GAAG;AACR,UAAMI,IAAI,KAAK,UAAU,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE;AAC7C,KAACA,MAAM,EAAE,GAAG,MAAM,SAAS,IAAI,KAAK,OAAOA,GAAG,CAAC,GAAG,KAAK,SAAQ;AAAA,EACjE;AAAA,EACA,UAAU,GAAG;AACX,UAAMA,IAAI,KAAK,UAAU,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE;AAC7C,KAACA,MAAM,KAAK,OAAOA,GAAG,CAAC,GAAG,KAAK,IAAI,CAAC;AAAA,EACtC;AACF;AACA,MAAMU,GAAE;AAAA,EACN,YAAY,GAAGV,GAAG;AAChB,SAAK,SAAS,IAAIP,GAAC,GAAI,KAAK,SAAS,GAAG,KAAK,KAAK+C,GAAExC,CAAC,GAAG,KAAK,KAAK,KAAK,GAAG,IAAI,KAAK,OAAO,IAAI,UAAU,KAAK,OAAO,MAAM,GAAG,KAAK,OAAO,IAAI,SAAS,CAAA,CAAE;AAAA,EAC1J;AACF;AACA,MAAMC,KAAI;AAAA,EACR,UAAU;AAAA,EACV,SAAS,CAAA;AAAA,EACT,SAAS,CAAA;AACX;AACA,IAAA0D,KAAA,MAAQ;AAAA,EACN,YAAY,IAAI,IAAI;AAClB,SAAK,KAAK,IAAIjE,GAAC,GAAI,KAAK,SAAS,KAAK,GAAG,QAAQ,KAAK,KAAK,KAAK,GAAG,GAAG,KAAK,KAAK,EAAE,GAAG,KAAK,MAAM,KAAK,GAAG,IAAI,KAAK,KAAK,EAAE,GAAG,KAAK,OAAO,KAAK,GAAG,KAAK,KAAK,KAAK,EAAE,GAAG,KAAK,aAAa,CAAA,GAAI,KAAK,aAAagB,IAAG,KAAK,OAAO,KAAK,YAAY,MAAM,KAAK,SAAS,EAAE,GAAGT,IAAG,GAAG,EAAC,GAAI,KAAK,UAAU,IAAIqB,GAAE,KAAK,OAAO,OAAO;AAAA,EACzT;AAAA,EACA;AAAA,EACA,IAAI,GAAGtB,IAAI,MAAM;AACf,WAAO,KAAK,WAAW,KAAK,CAAC,MAAM,EAAEA,CAAC,MAAM,CAAC;AAAA,EAC/C;AAAA,EACA,WAAW,GAAGA,IAAI,MAAM;AACtB,UAAM,IAAI,KAAK,IAAI,GAAGA,CAAC;AACvB,QAAI;AACF,aAAO;AACT,UAAM,IAAI;AAAA,MACR,GAAG,KAAK,IAAI,uCAAuC,OAAOA,CAAC,CAAC,QAAQ,CAAC;AAAA,IAC3E;AAAA,EACE;AAAA,EACA,aAAa,IAAI,IAAI;AACnB,WAAO,OAAO,OAAO,KAAK,QAAQ,CAAC;AAAA,EACrC;AAAA,EACA,MAAM,YAAY,GAAG;AACnB,UAAMA,IAAI,IAAI,KAAK,WAAW,MAAM,CAAC;AACrC,WAAO,MAAMc,EAAEd,GAAG,MAAM,GAAG,MAAME,EAAE,iBAAiB,MAAMF,CAAC,GAAGA;AAAA,EAChE;AAAA,EACA,MAAM,aAAa,GAAG;AACpB,WAAO,MAAME,EAAE,kBAAkB,MAAM,CAAC,GAAG,MAAMY,EAAE,GAAG,SAAS,GAAG;AAAA,EACpE;AAAA,EACA,MAAM,SAAS,GAAG;AAChB,UAAMd,IAAI,KAAK,WAAW,UAAU,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE;AACxD,WAAO,CAACA,IAAI,KAAK,WAAWA,CAAC,IAAI,IAAI,KAAK,WAAW,KAAK,CAAC,GAAG,MAAME,EAAE,mBAAmB,MAAM,CAAC,GAAG;AAAA,EACrG;AAAA,EACA,MAAM,WAAW,GAAG;AAClB,UAAMF,IAAI,KAAK,WAAW,UAAU,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE;AACxD,QAAI,CAACA,GAAG;AACN,YAAME;AAAA,QACJ;AAAA,QACA;AAAA,QACA,KAAK,WAAWF,CAAC;AAAA,MACzB;AACM,YAAM,CAAC,CAAC,IAAI,KAAK,WAAW,OAAOA,GAAG,CAAC;AAAA,IACzC;AACA,WAAO;AAAA,EACT;AAAA,EACA,MAAM,MAAM,IAAI,CAACA,MAAMA,GAAG;AACxB,eAAWA,KAAK,KAAK,QAAQ,WAAW,CAAA;AACtC,WAAK,QAAQ,IAAIA,CAAC;AACpB,eAAWA,KAAK,KAAK;AACnB,YAAMc,EAAEd,GAAG,SAAS,IAAI;AAC1B,QAAI,MAAME,EAAE,eAAe,IAAI,GAAG,KAAK,OAAO,UAAU;AACtD,YAAMF,IAAI,SAAS,iBAAiB,KAAK,OAAO,QAAQ;AACxD,iBAAW,KAAKA;AACd,cAAM,KAAK,YAAY,CAAC,EAAE,KAAK,CAACO,MAAM,EAAEA,CAAC,CAAC,EAAE,KAAK,CAACA,MAAM,KAAK,SAASA,CAAC,CAAC;AAAA,IAC5E;AACA,WAAO,MAAML,EAAE,cAAc,IAAI,GAAG;AAAA,EACtC;AAAA,EACA,MAAM,QAAQ,IAAI,CAACF,MAAMA,GAAG;AAC1B,SAAK,MAAME,EAAE,iBAAiB,IAAI,GAAG,KAAK,WAAW,SAAS;AAC5D,YAAM,KAAK,aAAa,KAAK,WAAW,CAAC,CAAC,EAAE,KAAK,CAACF,MAAM,EAAEA,CAAC,CAAC,EAAE,KAAK,CAACA,MAAM,KAAK,WAAWA,CAAC,CAAC;AAC9F,UAAME,EAAE,gBAAgB,IAAI;AAC5B,eAAWF,KAAK,KAAK;AACnB,YAAMc,EAAEd,GAAG,YAAY,IAAI;AAC7B,eAAWA,KAAK,CAAC,GAAG,KAAK,OAAO;AAC9B,WAAK,QAAQ,OAAOA,EAAE,IAAI;AAC5B,WAAO;AAAA,EACT;AACF;AACAwB,GAAE,gBAAgB,EAAE,UAAU,aAAa;AAC3C,MAAMuB,KAAI;AAAA;AAAA,EAER,UAAU;AAAA,EACV,WAAW;AAAA,EACX,aAAa;AAAA;AAAA,EAEb,UAAU;AAAA,EACV,gBAAgB;AAAA,EAChB,gBAAgB;AAAA,EAChB,kBAAkB;AAAA,EAClB,eAAe;AAAA,EACf,eAAe;AAAA,EACf,kBAAkB;AAAA;AAAA,EAElB,aAAa;AAAA,EACb,cAAc;AAAA,EACd,cAAc;AAAA,EACd,aAAa;AAAA;AAAA,EAEb,aAAa,CAAC,qBAAqB;AAAA,EACnC,mBAAmB;AAAA,EACnB,aAAa;AAAA,EACb,YAAY;AAAA,EACZ,oBAAoB;AACtB;AACA,SAASlC,GAAED,GAAG;AACZ,MAAIA,EAAE,QAAQ;AACZ,UAAM,IAAIA,EAAE,OAAO,OAAO,cAAcA,EAAE,OAAO,aAAa,KAAKA,EAAE,OAAO;AAC5E,eAAW,KAAK,OAAO,EAAE,SAAS,cAAc,EAAE,MAAK;AAAA,EACzD;AACE,IAAAA,EAAE,YAAYA,EAAE,QAAQ,MAAK,GAAIA,EAAE,UAAU;AACjD;AACA,eAAetB,GAAEsB,GAAG,GAAGZ,IAAI,IAAI;AAC7B,SAAOY,EAAE,OAAO,MAAM,UAAUA,CAAC,GAAGA,EAAE,UAAU,aAAaA,EAAE,QAAQ,WAAWA,EAAE,OAAO,MAAM,IAAIA,CAAC,GAAG,KAAKA,EAAE,OAAO,IAAI,YAAY,IAAI,MAAMrB;AAAA,IAC/IqB,EAAE;AAAA,IACFA,EAAE,OAAO,IAAI,aAAa;AAAA,IAC1BA,EAAE,OAAO,IAAI,cAAc;AAAA,IAC3BA,EAAE,OAAO,IAAI,aAAa;AAAA,IAC1BA,EAAE,OAAO,IAAI,oBAAoB;AAAA,EACrC,KAAOA,EAAE,GAAG,UAAU,IAAIA,EAAE,OAAO,IAAI,aAAa,CAAC,GAAGA,EAAE,GAAG,UAAU,OAAOA,EAAE,OAAO,IAAI,aAAa,CAAC,IAAIA,EAAE,QAAQ,WAAWZ,KAAKa,GAAED,EAAE,MAAM,GAAGA,EAAE,GAAG;AAAA,IACrJ,IAAI,YAAYA,EAAE,OAAO,IAAI,mBAAmB,IAAI,UAAU;AAAA,MAC5D,QAAQA,EAAE;AAAA,MACV,SAAS;AAAA,IACf,CAAK;AAAA,EACL,GAAK,MAAMA,EAAE,OAAO,KAAK,UAAUA,CAAC,GAAGA;AACvC;AACA,eAAed,GAAEc,GAAG,GAAGZ,IAAI,IAAI;AAC7B,SAAOY,KAAKA,EAAE,UAAU,aAAaA,EAAE,QAAQ,WAAW,SAAS,iBAAiB,SAAS,yBAAyB,eAAe,SAAS,cAAc,KAAI,GAAI,KAAKA,EAAE,OAAO,IAAI,YAAY,IAAI,MAAMrB;AAAA,IAC1MqB,EAAE;AAAA,IACFA,EAAE,OAAO,IAAI,aAAa;AAAA,IAC1BA,EAAE,OAAO,IAAI,cAAc;AAAA,IAC3BA,EAAE,OAAO,IAAI,aAAa;AAAA,IAC1BA,EAAE,OAAO,IAAI,oBAAoB;AAAA,EACrC,KAAOA,EAAE,GAAG,UAAU,IAAIA,EAAE,OAAO,IAAI,aAAa,CAAC,GAAGA,EAAE,GAAG,UAAU,OAAOA,EAAE,OAAO,IAAI,aAAa,CAAC,IAAIA,EAAE,OAAO,MAAM,OAAOA,CAAC,GAAGA,EAAE,QAAQ,UAAUZ,KAAKa,GAAED,EAAE,MAAM,GAAGA,EAAE,GAAG;AAAA,IAC9K,IAAI,YAAYA,EAAE,OAAO,IAAI,mBAAmB,IAAI,UAAU;AAAA,MAC5D,QAAQA,EAAE;AAAA,MACV,SAAS;AAAA,IACf,CAAK;AAAA,EACL,GAAK,MAAMA,EAAE,OAAO,KAAK,UAAUA,CAAC,IAAIA;AACxC;AACA,eAAeb,GAAEa,GAAG,GAAGZ,IAAI,IAAI;AAC7B,MAAI,GAAGO;AACP,SAAOK,EAAE,UAAU,YAAY,IAAIA,GAAGL,IAAI,MAAMK,EAAE,OAAO,SAASA,EAAE,IAAI,CAAC,KAAK,CAACL,GAAG,CAAC,IAAI,MAAM,QAAQ,IAAI;AAAA,IACvGK,EAAE,OAAO,SAAS,IAAI,CAAC;AAAA,IACvBtB,GAAEsB,GAAG,GAAG,EAAE;AAAA,EACd,CAAG,GAAGZ,KAAKa,GAAED,EAAE,MAAM,GAAG,EAAE,QAAQ,GAAG,QAAQL,EAAC;AAC9C;AACA,MAAMgB,WAAUb,GAAE;AAAA,EAChB,YAAY,GAAGV,GAAG;AAChB,UAAM,GAAGA,CAAC,GAAG,KAAK,QAAQ,UAAU,KAAK,SAAS,KAAK,GAAG,cAAc,KAAK,OAAO,IAAI,gBAAgB,CAAC,KAAK,KAAK;AAAA,EACrH;AAAA,EACA,IAAI,aAAa;AACf,WAAO,KAAK,OAAO,QAAQ,KAAK,OAAO,IAAI,kBAAkB,CAAC;AAAA,EAChE;AAAA,EACA,MAAM,KAAK,GAAGA,GAAG;AACf,WAAOV,GAAE,MAAM,GAAGU,CAAC;AAAA,EACrB;AAAA,EACA,MAAM,MAAM,GAAGA,GAAG;AAChB,WAAOF,GAAE,MAAM,GAAGE,CAAC;AAAA,EACrB;AAAA,EACA,MAAM,QAAQ,GAAGA,GAAG;AAClB,WAAOD,GAAE,MAAM,GAAGC,CAAC;AAAA,EACrB;AAAA,EACA,MAAM,aAAa;AACjB,WAAO,KAAK,OAAO,WAAW,IAAI;AAAA,EACpC;AAAA,EACA,MAAM,gBAAgB;AACpB,SAAK,OAAO,aAAa,cAAc,MAAM,GAAG,KAAK,OAAO,aAAa,MAAM,KAAK,KAAK,OAAO,aAAa,QAAQ,QAAQ,GAAG,KAAK,OAAO,IAAI,aAAa,KAAK,KAAK,OAAO,aAAa,YAAY,IAAI;AAAA,EAC7M;AAAA,EACA,MAAM,kBAAkB;AACtB,SAAK,GAAG,UAAU,SAAS,KAAK,OAAO,IAAI,aAAa,CAAC,IAAI,MAAM,KAAK,KAAK,EAAE,KAAK,KAAK,GAAG,UAAU,OAAO,KAAK,OAAO,IAAI,cAAc,CAAC,GAAG,KAAK,GAAG,UAAU,OAAO,KAAK,OAAO,IAAI,cAAc,CAAC,GAAG,KAAK,GAAG,UAAU,IAAI,KAAK,OAAO,IAAI,aAAa,CAAC;AAAA,EAChQ;AAAA,EACA,MAAM,iBAAiB;AACrB,SAAK,UAAU,YAAY,MAAM,KAAK,MAAM,EAAE;AAAA,EAChD;AACF;AACA,eAAegB,GAAEJ,GAAG;AAClB,QAAM,IAAIA,EAAE;AACZ,MAAI,GAAG;AACL,UAAMZ,IAAI,EAAE,QAAQ;AAAA,cACV,KAAK,OAAO,QAAQ;AAAA,cACpB,KAAK,OAAO,WAAW;AAAA,cACvB,KAAK,OAAO,SAAS;AAAA,KAC9B;AACD,QAAIA,GAAG;AACL,UAAIY,EAAE,kBAAkBZ,EAAE,QAAQ,SAAS,KAAK,OAAO,QAAQ,GAAG,GAAG;AACnE,cAAM,IAAIA,EAAE,aAAa,QAAQ,KAAK,OAAO,QAAQ,EAAE,GAAG,KAAI,GAAIO,IAAI,KAAK,WAAW,CAAC;AACvF,eAAO,EAAE,QAAQ,KAAK,OAAO,QAAQ,MAAM,KAAK,UAAUP,IAAIO,EAAE,KAAI;AAAA,MACtE;AACA,UAAIP,EAAE,QAAQ,SAAS,KAAK,OAAO,WAAW,GAAG,GAAG;AAClD,cAAM,IAAIA,EAAE,aAAa,QAAQ,KAAK,OAAO,WAAW,EAAE,GAAG,KAAI,GAAIO,IAAI,KAAK,WAAW,CAAC;AAC1F,eAAO,EAAE,QAAQ,KAAK,OAAO,QAAQ,MAAM,KAAK,UAAUP,IAAIO,EAAE,QAAO;AAAA,MACzE;AACA,UAAIP,EAAE,QAAQ,SAAS,KAAK,OAAO,SAAS,GAAG,GAAG;AAChD,cAAM,IAAIA,EAAE,aAAa,QAAQ,KAAK,OAAO,SAAS,EAAE,GAAG,KAAI;AAC/D,eAAO,MAAM,MAAM,KAAK,SAAQ,IAAK,KAAK,MAAM,KAAK,EAAE;AAAA,MACzD;AAAA,IACF;AACA,QAAI,KAAK,UAAU,EAAE,QAAQ,KAAK,OAAO,cAAc,KAAK,CAAC,KAAK,OAAO;AACvE,aAAO,KAAK,MAAK;AAAA,EACrB;AACF;AACA,SAASQ,GAAEI,GAAG;AACZ,MAAIA,EAAE,QAAQ,YAAY,KAAK,UAAU,CAAC,KAAK,OAAO,OAAO,QAAQ,KAAK,OAAO,gBAAgB;AAC/F,WAAO,KAAK,MAAK;AACrB;AACA,eAAeR,GAAEQ,IAAI,IAAI,GAAG;AAC1B,QAAMZ,IAAI,CAAA;AACV,SAAO,MAAM,QAAQ;AAAA,IACnB,KAAK,MAAM,KAAK,IAAI,OAAO,MAAM;AAC/B,MAAAY,KAAKA,MAAM,EAAE,MAAMZ,EAAE,KAAK,MAAMF,GAAE,GAAG,GAAG,EAAE,CAAC;AAAA,IAC7C,CAAC;AAAA,EACL,GAAKE;AACL;SACA,cAAgBK,GAAE;AAAA,EAChB,YAAY,GAAG;AACb,UAAM,EAAE,GAAG0C,IAAG,GAAG,EAAC,CAAE,GAAG,KAAK,aAAaxB,IAAG,KAAK,OAAO,SAAS,KAAK,UAAU,MAAM,KAAK,KAAKP,GAAE,KAAK,IAAI,GAAG,KAAK,KAAKR,GAAE,KAAK,IAAI,GAAG,KAAK,QAAQ,IAAI0C,GAAE;AAAA,MACvJ,UAAU,MAAM;AACd,QAAAvC;AAAA,UACE,CAAC,CAAC,KAAK,MAAM;AAAA,UACb,KAAK,OAAO;AAAA,UACZ,KAAK,OAAO;AAAA,QACtB;AAAA,MACM;AAAA,IACN,CAAK;AAAA,EACH;AAAA,EACA;AAAA,EACA;AAAA,EACA,IAAI,SAAS;AACX,WAAO,KAAK,MAAM;AAAA,EACpB;AAAA,EACA,MAAM,KAAK,GAAGX,GAAG,GAAG;AAClB,UAAMO,IAAI,KAAK,WAAW,CAAC;AAC3B,WAAOjB,GAAEiB,GAAGP,GAAG,CAAC;AAAA,EAClB;AAAA,EACA,MAAM,MAAM,GAAGA,GAAG,GAAG;AACnB,UAAMO,IAAI,IAAI,KAAK,WAAW,CAAC,IAAI,KAAK;AACxC,WAAOT,GAAES,GAAGP,GAAG,CAAC;AAAA,EAClB;AAAA,EACA,MAAM,QAAQ,GAAGA,GAAG,GAAG;AACrB,UAAMO,IAAI,KAAK,WAAW,CAAC;AAC3B,WAAOR,GAAEQ,GAAGP,GAAG,CAAC;AAAA,EAClB;AAAA,EACA,MAAM,SAAS,GAAGA,GAAG,IAAI,IAAI;AAC3B,UAAMO,IAAI,MAAMH,GAAE,KAAK,MAAM,GAAGJ,CAAC;AACjC,WAAO,KAAKa,GAAE,IAAI,GAAGN;AAAA,EACvB;AAAA,EACA,MAAM,aAAa;AACjB,aAAS,iBAAiB,SAAS,KAAK,IAAI,EAAE,GAAG,SAAS,iBAAiB,WAAW,KAAK,IAAI,EAAE;AAAA,EACnG;AAAA,EACA,MAAM,gBAAgB;AACpB,SAAK,UAAU;AAAA,EACjB;AAAA,EACA,MAAM,eAAe;AACnB,aAAS,oBAAoB,SAAS,KAAK,IAAI,EAAE,GAAG,SAAS,oBAAoB,WAAW,KAAK,IAAI,EAAE;AAAA,EACzG;AACF;ACvbA,SAASqD,GAAGN,GAAG;AACb,MAAI,OAAOA,KAAK,UAAU;AACxB,UAAMtD,IAAI,SAAS,eAAesD,CAAC;AACnC,QAAItD,EAAG,QAAOA;AACd,UAAM,IAAI,MAAM,+BAA+BsD,CAAC,GAAG;AAAA,EACrD,WAAWA,aAAa,aAAa;AACnC,QAAI,CAACA,EAAE;AACL,YAAM,IAAI,MAAM,6BAA6B;AAC/C,WAAOA;AAAA,EACT;AACE,UAAM,IAAI,MAAM,yDAAyD;AAC7E;AACA,eAAeH,EAAEG,GAAGtD,MAAM,GAAG;AAC3B,EAAAA,KAAKsD,KAAK,OAAOA,EAAEtD,CAAC,KAAK,cAAc,MAAMsD,EAAEtD,CAAC,EAAE,GAAG,CAAC;AACxD;AACA,SAAS6D,GAAGP,GAAGtD,IAAI,IAAI;AACrB,QAAM,IAAI;AAAA,IACR,UAAU;AAAA,IACV,SAAS,SAAS;AAAA,IAClB,GAAGA;AAAA,EACP;AACE,MAAI,CAACsD,EAAE,WAAW,IAAI,GAAG;AACvB,UAAM1C,IAAIkD,GAAE;AACZ,IAAAlD,MAAM0C,IAAI,GAAG1C,CAAC,GAAG0C,CAAC,KAAKA,IAAI,KAAKA,CAAC;AAAA,EACnC;AACA,QAAM,IAAI,iBAAiB,EAAE,OAAO,EAAE,iBAAiBA,CAAC,EAAE,KAAI;AAC9D,MAAI;AACF,WAAO;AACT,MAAI,EAAE;AACJ,WAAO,EAAE;AACX,QAAM,IAAI,MAAM,iBAAiBA,CAAC,kBAAkB;AACtD;AACA,eAAe3B,EAAE2B,GAAGtD,GAAG,GAAG;AACxB,QAAMmD,EAAEnD,GAAGsD,GAAG,CAAC,GAAG,KAAK,MAAMH,EAAE,GAAGG,CAAC;AACnC,aAAW,KAAKtD,EAAE;AAChB,UAAMmD,EAAE,GAAGG,GAAG,EAAE,QAAQtD,GAAG,OAAO,GAAG;AACvC,QAAMA,EAAE,KAAKsD,GAAG,EAAE,QAAQtD,GAAG,OAAO,GAAG;AACzC;AACA,SAAS8D,KAAK;AACZ,SAAO,iBAAiB,SAAS,IAAI,EAAE,iBAAiB,aAAa,EAAE,KAAI;AAC7E;AACA,MAAMC,GAAG;AAAA,EACP;AAAA,EACA;AAAA,EACA,cAAc;AACZ,SAAK,KAAK,CAAA,GAAI,KAAK,KAAK,CAAA;AAAA,EAC1B;AAAA,EACA,IAAI/D,GAAG,GAAG;AACR,UAAM,EAAE,UAAU,GAAG,QAAQY,EAAC,IAAK,KAAK,CAAA;AACxC,QAAIA,GAAG;AACL,YAAMhB,IAAI,KAAK,KAAKgB,CAAC,IAAIZ,CAAC;AAC1B,UAAIJ,MAAM;AACR,eAAOA;AAAA,IACX;AACE,iBAAWA,KAAK,KAAK,IAAI;AACvB,cAAM,IAAI,KAAK,KAAKA,CAAC,IAAII,CAAC;AAC1B,YAAI,MAAM;AACR,iBAAO;AAAA,MACX;AACF,QAAI,MAAM;AACR,aAAO;AACT,UAAM,IAAI,MAAM,0BAA0BA,CAAC,EAAE;AAAA,EAC/C;AAAA,EACA,IAAIA,GAAG,IAAI,IAAI;AACb,QAAI,GAAGY;AACP,WAAO,OAAOZ,KAAK,YAAY,IAAIA,GAAGY,IAAI,MAAM,IAAI,SAASA,IAAIZ,IAAI,KAAK,GAAG,CAAC,IAAI,OAAO,OAAO,KAAK,GAAG,CAAC,GAAGY,CAAC,KAAK,KAAK,GAAG,QAAQ,CAAC,GAAG,KAAK,GAAG,CAAC,IAAIA,IAAI,KAAK,GAAG,CAAC;AAAA,EAClK;AAAA,EACA,OAAOZ,GAAG;AACR,UAAM,IAAI,KAAK,GAAG,QAAQA,CAAC;AAC3B,UAAM,MAAM,KAAK,GAAG,OAAO,GAAG,CAAC,GAAG,OAAO,KAAK,GAAGA,CAAC;AAAA,EACpD;AAAA,EACA,eAAeA,GAAG;AAChB,UAAM,IAAI,OAAO,KAAK,KAAK,EAAE,EAAE,QAAO,GAAI,IAAIA,EAAE,OAAO,CAACY,MAAM,EAAE,SAASA,CAAC,CAAC;AAC3E,eAAWA,KAAK;AACd,QAAE,SAASA,CAAC,KAAK,EAAE,KAAKA,CAAC;AAC3B,WAAO,KAAK,KAAK;AAAA,EACnB;AACF;AACA,MAAMoD,GAAG;AAAA,EACP,cAAc;AACZ,SAAK,SAAS,CAAA;AAAA,EAChB;AAAA,EACA,GAAGhE,GAAG,MAAM,GAAG;AACb,SAAK,OAAOA,CAAC,MAAM,KAAK,OAAOA,CAAC,IAAI,CAAA,IAAK,KAAK,OAAOA,CAAC,EAAE;AAAA,MACtD,CAACY,MAAMA,EAAE,aAAa;AAAA,IAC5B,KAAS,KAAK,OAAOZ,CAAC,EAAE,KAAK,EAAE,UAAU,GAAG,MAAM,GAAG;AAAA,EACnD;AAAA,EACA,IAAIA,GAAG,GAAG;AACR,SAAK,OAAOA,CAAC,MAAM,KAAK,OAAOA,CAAC,IAAI,KAAK,OAAOA,CAAC,EAAE;AAAA,MACjD,CAAC,MAAM,EAAE,aAAa;AAAA,IAC5B;AAAA,EACE;AAAA,EACA,MAAM,KAAKA,MAAM,GAAG;AAClB,QAAIA,IAAIA,EAAE,WAAW,IAAI,IAAIA,EAAE,MAAM,GAAG,CAAC,EAAE,YAAW,IAAKA,EAAE,MAAM,CAAC,IAAIA,GAAG,CAAC,CAAC,KAAK,OAAOA,CAAC;AACxF,iBAAW,EAAE,UAAU,GAAG,MAAMY,OAAO,KAAK,OAAOZ,CAAC;AAClD,cAAM,EAAE,GAAG,GAAG,GAAGY,CAAC;AAAA,EACxB;AACF;AACA,MAAMqD,WAAW,MAAM;AAAA,EACrB,YAAYjE,IAAI,IAAI;AAClB,UAAK,GAAI,KAAK,UAAUA;AAAA,EAC1B;AAAA,EACA,GAAGA,GAAG;AACJ,UAAM,IAAI,KAAK,UAAUA,EAAE,IAAI,KAAK,CAAA,GAAI,IAAIA,GAAG,WAAW,CAAA;AAC1D,IAAAA,EAAE,SAAS,EAAE,GAAGA,EAAE,QAAQ,GAAG,GAAG,GAAG,EAAC;AAAA,EACtC;AAAA,EACA,GAAGA,GAAG;AACJ,WAAO,EAAE,UAAUA,MAAM,OAAOA,EAAE,QAAQ,YAAY,QAAQ,MAAM,yBAAyB,GAAG,MAAM;AAAA,EACxG;AAAA,EACA,IAAIA,GAAG;AACL,WAAO,KAAK,KAAK,CAAC,MAAM,EAAE,SAASA,CAAC,KAAK;AAAA,EAC3C;AAAA,EACA,IAAIA,GAAG;AACL,QAAI,MAAM,QAAQA,CAAC;AACjB,MAAAA,EAAE,QAAQ,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC;AAAA,aACrB,KAAK,GAAGA,CAAC,GAAG,KAAK,GAAGA,CAAC,GAAG;AAC/B,YAAM,IAAI,KAAK,UAAU,CAAC,MAAM,EAAE,SAASA,EAAE,IAAI;AACjD,OAAC,IAAI,KAAK,CAAC,IAAIA,IAAI,KAAK,KAAKA,CAAC;AAAA,IAChC;AAAA,EACF;AAAA,EACA,OAAOA,GAAG;AACR,UAAM,IAAI,KAAK,UAAU,CAAC,MAAM,EAAE,SAASA,CAAC;AAC5C,KAAC,KAAK,KAAK,OAAO,GAAG,CAAC;AAAA,EACxB;AACF;AACA,MAAMkE,GAAG;AAAA,EACP,YAAYlE,GAAG,GAAG;AAChB,SAAK,SAAS,IAAI+D,GAAE,GAAI,KAAK,SAAS/D,GAAG,KAAK,KAAK4D,GAAG,CAAC,GAAG,KAAK,KAAK,KAAK,GAAG,IAAI,KAAK,OAAO,IAAI,UAAU,KAAK,OAAO,MAAM,GAAG,KAAK,OAAO,IAAI,SAAS,CAAA,CAAE;AAAA,EAC5J;AACF;AACA,MAAMO,KAAK;AAAA,EACT,UAAU;AAAA,EACV,SAAS,CAAA;AAAA,EACT,SAAS,CAAA;AACX;AACA,MAAMC,GAAG;AAAA,EACP,YAAYpE,IAAI,IAAI;AAClB,SAAK,KAAK,IAAIgE,GAAE,GAAI,KAAK,SAAS,KAAK,GAAG,QAAQ,KAAK,KAAK,KAAK,GAAG,GAAG,KAAK,KAAK,EAAE,GAAG,KAAK,MAAM,KAAK,GAAG,IAAI,KAAK,KAAK,EAAE,GAAG,KAAK,OAAO,KAAK,GAAG,KAAK,KAAK,KAAK,EAAE,GAAG,KAAK,aAAa,CAAA,GAAI,KAAK,aAAaE,IAAI,KAAK,OAAO,KAAK,YAAY,MAAM,KAAK,SAAS,EAAE,GAAGC,IAAI,GAAGnE,EAAC,GAAI,KAAK,UAAU,IAAIiE,GAAG,KAAK,OAAO,OAAO;AAAA,EAC7T;AAAA,EACA;AAAA,EACA,IAAIjE,GAAG,IAAI,MAAM;AACf,WAAO,KAAK,WAAW,KAAK,CAAC,MAAM,EAAE,CAAC,MAAMA,CAAC;AAAA,EAC/C;AAAA,EACA,WAAWA,GAAG,IAAI,MAAM;AACtB,UAAM,IAAI,KAAK,IAAIA,GAAG,CAAC;AACvB,QAAI;AACF,aAAO;AACT,UAAM,IAAI;AAAA,MACR,GAAG,KAAK,IAAI,uCAAuC,OAAO,CAAC,CAAC,QAAQA,CAAC;AAAA,IAC3E;AAAA,EACE;AAAA,EACA,aAAaA,IAAI,IAAI;AACnB,WAAO,OAAO,OAAO,KAAK,QAAQA,CAAC;AAAA,EACrC;AAAA,EACA,MAAM,YAAYA,GAAG;AACnB,UAAM,IAAI,IAAI,KAAK,WAAW,MAAMA,CAAC;AACrC,WAAO,MAAMmD,EAAE,GAAG,MAAM,GAAG,MAAMxB,EAAE,iBAAiB,MAAM,CAAC,GAAG;AAAA,EAChE;AAAA,EACA,MAAM,aAAa3B,GAAG;AACpB,WAAO,MAAM2B,EAAE,kBAAkB,MAAM3B,CAAC,GAAG,MAAMmD,EAAEnD,GAAG,SAAS,GAAGA;AAAA,EACpE;AAAA,EACA,MAAM,SAASA,GAAG;AAChB,UAAM,IAAI,KAAK,WAAW,UAAU,CAAC,MAAM,EAAE,OAAOA,EAAE,EAAE;AACxD,WAAO,CAAC,IAAI,KAAK,WAAW,CAAC,IAAIA,IAAI,KAAK,WAAW,KAAKA,CAAC,GAAG,MAAM2B,EAAE,mBAAmB,MAAM3B,CAAC,GAAGA;AAAA,EACrG;AAAA,EACA,MAAM,WAAWA,GAAG;AAClB,UAAM,IAAI,KAAK,WAAW,UAAU,CAAC,MAAM,EAAE,OAAOA,EAAE,EAAE;AACxD,QAAI,CAAC,GAAG;AACN,YAAM2B;AAAA,QACJ;AAAA,QACA;AAAA,QACA,KAAK,WAAW,CAAC;AAAA,MACzB;AACM,YAAM,CAAC,CAAC,IAAI,KAAK,WAAW,OAAO,GAAG,CAAC;AAAA,IACzC;AACA,WAAO3B;AAAA,EACT;AAAA,EACA,MAAM,MAAMA,IAAI,CAAC,MAAM,GAAG;AACxB,eAAW,KAAK,KAAK,QAAQ,WAAW,CAAA;AACtC,WAAK,QAAQ,IAAI,CAAC;AACpB,eAAW,KAAK,KAAK;AACnB,YAAMmD,EAAE,GAAG,SAAS,IAAI;AAC1B,QAAI,MAAMxB,EAAE,eAAe,IAAI,GAAG,KAAK,OAAO,UAAU;AACtD,YAAM,IAAI,SAAS,iBAAiB,KAAK,OAAO,QAAQ;AACxD,iBAAW,KAAK;AACd,cAAM,KAAK,YAAY,CAAC,EAAE,KAAK,CAACf,MAAMZ,EAAEY,CAAC,CAAC,EAAE,KAAK,CAACA,MAAM,KAAK,SAASA,CAAC,CAAC;AAAA,IAC5E;AACA,WAAO,MAAMe,EAAE,cAAc,IAAI,GAAG;AAAA,EACtC;AAAA,EACA,MAAM,QAAQ3B,IAAI,CAAC,MAAM,GAAG;AAC1B,SAAK,MAAM2B,EAAE,iBAAiB,IAAI,GAAG,KAAK,WAAW,SAAS;AAC5D,YAAM,KAAK,aAAa,KAAK,WAAW,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM3B,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC;AAC9F,UAAM2B,EAAE,gBAAgB,IAAI;AAC5B,eAAW,KAAK,KAAK;AACnB,YAAMwB,EAAE,GAAG,YAAY,IAAI;AAC7B,eAAW,KAAK,CAAC,GAAG,KAAK,OAAO;AAC9B,WAAK,QAAQ,OAAO,EAAE,IAAI;AAC5B,WAAO;AAAA,EACT;AACF;AACAU,GAAG,gBAAgB,EAAE,UAAU,aAAa;AAC5C,MAAMQ,KAAK;AAAA;AAAA,EAET,UAAU;AAAA,EACV,iBAAiB;AAAA,EACjB,eAAe;AAAA;AAAA,EAEf,aAAa;AAAA;AAAA,EAEb,aAAa;AAAA,IACX;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACJ;AAAA,EACE,mBAAmB;AAAA,EACnB,WAAW;AAAA,EACX,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,aAAa;AAAA,EACb,cAAc;AAAA,EACd,cAAc;AAAA,EACd,aAAa;AACf,GAAGzB,KAAI,KAAK,KAAKZ,IAAI,KAAK,KAAKsC,KAAK,KAAK,OAAOzB,KAAK,KAAK,OAAO9B,IAAI,CAACuC,OAAO;AAAA,EAC3E,GAAGA;AAAA,EACH,GAAGA;AACL,IAAIiB,KAAK;AAAA,EACP,MAAM;AAAA,EACN,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,KAAK;AACP,GAAGC,KAAK;AAAA,EACN,OAAO;AAAA,EACP,KAAK;AACP;AACA,SAASC,GAAGnB,GAAGtD,GAAG,GAAG;AACnB,SAAOgC,EAAEsB,GAAGV,GAAE5C,GAAG,CAAC,CAAC;AACrB;AACA,SAAS4B,GAAE0B,GAAGtD,GAAG;AACf,SAAO,OAAOsD,KAAK,aAAaA,EAAEtD,CAAC,IAAIsD;AACzC;AACA,SAASP,EAAEO,GAAG;AACZ,SAAOA,EAAE,MAAM,GAAG,EAAE,CAAC;AACvB;AACA,SAASlB,GAAGkB,GAAG;AACb,SAAOA,EAAE,MAAM,GAAG,EAAE,CAAC;AACvB;AACA,SAASoB,GAAGpB,GAAG;AACb,SAAOA,MAAM,MAAM,MAAM;AAC3B;AACA,SAASqB,GAAGrB,GAAG;AACb,SAAOA,MAAM,MAAM,WAAW;AAChC;AACA,MAAMsB,KAAqB,oBAAI,IAAI,CAAC,OAAO,QAAQ,CAAC;AACpD,SAASzC,EAAEmB,GAAG;AACZ,SAAOsB,GAAG,IAAI7B,EAAEO,CAAC,CAAC,IAAI,MAAM;AAC9B;AACA,SAASuB,GAAGvB,GAAG;AACb,SAAOoB,GAAGvC,EAAEmB,CAAC,CAAC;AAChB;AACA,SAASwB,GAAGxB,GAAGtD,GAAG,GAAG;AACnB,QAAM,WAAW,IAAI;AACrB,QAAM,IAAIoC,GAAGkB,CAAC,GAAG1C,IAAIiE,GAAGvB,CAAC,GAAG1D,IAAI+E,GAAG/D,CAAC;AACpC,MAAI,IAAIA,MAAM,MAAM,OAAO,IAAI,QAAQ,WAAW,UAAU,SAAS,MAAM,UAAU,WAAW;AAChG,SAAOZ,EAAE,UAAUJ,CAAC,IAAII,EAAE,SAASJ,CAAC,MAAM,IAAI2C,GAAG,CAAC,IAAI,CAAC,GAAGA,GAAG,CAAC,CAAC;AACjE;AACA,SAASwC,GAAGzB,GAAG;AACb,QAAMtD,IAAIuC,GAAGe,CAAC;AACd,SAAO,CAAC0B,GAAG1B,CAAC,GAAGtD,GAAGgF,GAAGhF,CAAC,CAAC;AACzB;AACA,SAASgF,GAAG1B,GAAG;AACb,SAAOA,EAAE,QAAQ,cAAc,CAACtD,MAAMwE,GAAGxE,CAAC,CAAC;AAC7C;AACA,MAAMiF,KAAK,CAAC,QAAQ,OAAO,GAAGC,KAAK,CAAC,SAAS,MAAM,GAAGC,KAAK,CAAC,OAAO,QAAQ,GAAGC,KAAK,CAAC,UAAU,KAAK;AACnG,SAASC,GAAG/B,GAAGtD,GAAG,GAAG;AACnB,UAAQsD,GAAC;AAAA,IACP,KAAK;AAAA,IACL,KAAK;AACH,aAAO,IAAItD,IAAIkF,KAAKD,KAAKjF,IAAIiF,KAAKC;AAAA,IACpC,KAAK;AAAA,IACL,KAAK;AACH,aAAOlF,IAAImF,KAAKC;AAAA,IAClB;AACE,aAAO,CAAA;AAAA,EACb;AACA;AACA,SAASE,GAAGhC,GAAGtD,GAAG,GAAG,GAAG;AACtB,QAAMY,IAAIwB,GAAGkB,CAAC;AACd,MAAI1D,IAAIyF,GAAGtC,EAAEO,CAAC,GAAG,MAAM,SAAS,CAAC;AACjC,SAAO1C,MAAMhB,IAAIA,EAAE,IAAI,CAAC,MAAM,IAAI,MAAMgB,CAAC,GAAGZ,MAAMJ,IAAIA,EAAE,OAAOA,EAAE,IAAIoF,EAAE,CAAC,KAAKpF;AAC/E;AACA,SAAS2C,GAAGe,GAAG;AACb,SAAOA,EAAE,QAAQ,0BAA0B,CAACtD,MAAMuE,GAAGvE,CAAC,CAAC;AACzD;AACA,SAASuF,GAAGjC,GAAG;AACb,SAAO;AAAA,IACL,KAAK;AAAA,IACL,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,GAAGA;AAAA,EACP;AACA;AACA,SAASkC,GAAGlC,GAAG;AACb,SAAO,OAAOA,KAAK,WAAWiC,GAAGjC,CAAC,IAAI;AAAA,IACpC,KAAKA;AAAA,IACL,OAAOA;AAAA,IACP,QAAQA;AAAA,IACR,MAAMA;AAAA,EACV;AACA;AACA,SAASD,GAAGC,GAAG;AACb,QAAM;AAAA,IACJ,GAAGtD;AAAA,IACH,GAAG;AAAA,IACH,OAAO;AAAA,IACP,QAAQY;AAAA,EACZ,IAAM0C;AACJ,SAAO;AAAA,IACL,OAAO;AAAA,IACP,QAAQ1C;AAAA,IACR,KAAK;AAAA,IACL,MAAMZ;AAAA,IACN,OAAOA,IAAI;AAAA,IACX,QAAQ,IAAIY;AAAA,IACZ,GAAGZ;AAAA,IACH,GAAG;AAAA,EACP;AACA;AACA,SAASyF,GAAGnC,GAAGtD,GAAG,GAAG;AACnB,MAAI;AAAA,IACF,WAAW;AAAA,IACX,UAAUY;AAAA,EACd,IAAM0C;AACJ,QAAM1D,IAAIuC,EAAEnC,CAAC,GAAG,IAAI6E,GAAG7E,CAAC,GAAGa,IAAI8D,GAAG,CAAC,GAAG7D,IAAIiC,EAAE/C,CAAC,GAAG,IAAIJ,MAAM,KAAKc,IAAI,EAAE,IAAI,EAAE,QAAQ,IAAIE,EAAE,QAAQ,GAAGrB,IAAI,EAAE,IAAI,EAAE,SAAS,IAAIqB,EAAE,SAAS,GAAGd,IAAI,EAAEe,CAAC,IAAI,IAAID,EAAEC,CAAC,IAAI;AACjK,MAAI;AACJ,UAAQC,GAAC;AAAA,IACP,KAAK;AACH,UAAI;AAAA,QACF,GAAGJ;AAAA,QACH,GAAG,EAAE,IAAIE,EAAE;AAAA,MACnB;AACM;AAAA,IACF,KAAK;AACH,UAAI;AAAA,QACF,GAAGF;AAAA,QACH,GAAG,EAAE,IAAI,EAAE;AAAA,MACnB;AACM;AAAA,IACF,KAAK;AACH,UAAI;AAAA,QACF,GAAG,EAAE,IAAI,EAAE;AAAA,QACX,GAAGnB;AAAA,MACX;AACM;AAAA,IACF,KAAK;AACH,UAAI;AAAA,QACF,GAAG,EAAE,IAAIqB,EAAE;AAAA,QACX,GAAGrB;AAAA,MACX;AACM;AAAA,IACF;AACE,UAAI;AAAA,QACF,GAAG,EAAE;AAAA,QACL,GAAG,EAAE;AAAA,MACb;AAAA,EACA;AACE,UAAQ6C,GAAGpC,CAAC,GAAC;AAAA,IACX,KAAK;AACH,QAAE,CAAC,KAAKF,KAAK,KAAK,IAAI,KAAK;AAC3B;AAAA,IACF,KAAK;AACH,QAAE,CAAC,KAAKA,KAAK,KAAK,IAAI,KAAK;AAC3B;AAAA,EACN;AACE,SAAO;AACT;AACA,MAAM4F,KAAK,OAAOpC,GAAGtD,GAAG,MAAM;AAC5B,QAAM;AAAA,IACJ,WAAW,IAAI;AAAA,IACf,UAAUY,IAAI;AAAA,IACd,YAAYhB,IAAI,CAAA;AAAA,IAChB,UAAU;AAAA,EACd,IAAM,GAAGiB,IAAIjB,EAAE,OAAO,OAAO,GAAGkB,IAAI,OAAO,EAAE,SAAS,OAAO,SAAS,EAAE,MAAMd,CAAC;AAC7E,MAAI,IAAI,MAAM,EAAE,gBAAgB;AAAA,IAC9B,WAAWsD;AAAA,IACX,UAAUtD;AAAA,IACV,UAAUY;AAAA,EACd,CAAG,GAAG;AAAA,IACF,GAAGF;AAAA,IACH,GAAGnB;AAAA,EACP,IAAMkG,GAAG,GAAG,GAAG3E,CAAC,GAAGhB,IAAI,GAAG,IAAI,IAAI,IAAI;AACpC,WAASN,IAAI,GAAGA,IAAIqB,EAAE,QAAQrB,KAAK;AACjC,UAAM;AAAA,MACJ,MAAMgD;AAAA,MACN,IAAIhB;AAAA,IACV,IAAQX,EAAErB,CAAC,GAAG;AAAA,MACR,GAAGiB;AAAA,MACH,GAAGf;AAAA,MACH,MAAM;AAAA,MACN,OAAOG;AAAA,IACb,IAAQ,MAAM2B,EAAE;AAAA,MACV,GAAGd;AAAA,MACH,GAAGnB;AAAA,MACH,kBAAkB;AAAA,MAClB,WAAWO;AAAA,MACX,UAAUc;AAAA,MACV,gBAAgB;AAAA,MAChB,OAAO;AAAA,MACP,UAAU;AAAA,MACV,UAAU;AAAA,QACR,WAAW0C;AAAA,QACX,UAAUtD;AAAA,MAClB;AAAA,IACA,CAAK;AACD,IAAAU,IAAID,KAAKC,GAAGnB,IAAIG,KAAKH,GAAG,IAAI;AAAA,MAC1B,GAAG;AAAA,MACH,CAACiD,CAAC,GAAG;AAAA,QACH,GAAG,EAAEA,CAAC;AAAA,QACN,GAAG;AAAA,MACX;AAAA,IACA,GAAO3C,KAAK,KAAK,OAAO,KAAK,OAAOA,KAAK,aAAaA,EAAE,cAAcC,IAAID,EAAE,YAAYA,EAAE,UAAU,IAAIA,EAAE,UAAU,KAAK,MAAM,EAAE,gBAAgB;AAAA,MAC3I,WAAWyD;AAAA,MACX,UAAUtD;AAAA,MACV,UAAUY;AAAA,IAChB,CAAK,IAAIf,EAAE,QAAQ;AAAA,MACb,GAAGa;AAAA,MACH,GAAGnB;AAAA,IACT,IAAQkG,GAAG,GAAG3F,GAAGgB,CAAC,IAAItB,IAAI;AAAA,EACxB;AACA,SAAO;AAAA,IACL,GAAGkB;AAAA,IACH,GAAGnB;AAAA,IACH,WAAWO;AAAA,IACX,UAAUc;AAAA,IACV,gBAAgB;AAAA,EACpB;AACA;AACA,eAAe+E,GAAGrC,GAAGtD,GAAG;AACtB,MAAI;AACJ,EAAAA,MAAM,WAAWA,IAAI;AACrB,QAAM;AAAA,IACJ,GAAG;AAAA,IACH,GAAGY;AAAA,IACH,UAAUhB;AAAA,IACV,OAAO;AAAA,IACP,UAAUiB;AAAA,IACV,UAAUC;AAAA,EACd,IAAMwC,GAAG;AAAA,IACL,UAAU,IAAI;AAAA,IACd,cAAc5C,IAAI;AAAA,IAClB,gBAAgBnB,IAAI;AAAA,IACpB,aAAaO,IAAI;AAAA,IACjB,SAAS,IAAI;AAAA,EACjB,IAAM8B,GAAE5B,GAAGsD,CAAC,GAAG,IAAIkC,GAAG,CAAC,GAAG,IAAI3E,EAAEf,IAAIP,MAAM,aAAa,cAAc,aAAaA,CAAC,GAAGiC,IAAI6B,GAAG,MAAMzD,EAAE,gBAAgB;AAAA,IACjH,UAAU,IAAI,OAAOA,EAAE,aAAa,OAAO,SAASA,EAAE,UAAU,CAAC,OAAO,QAAQ,IAAI,IAAI,EAAE,kBAAkB,OAAOA,EAAE,sBAAsB,OAAO,SAASA,EAAE,mBAAmBiB,EAAE,QAAQ;AAAA,IAC1L,UAAU;AAAA,IACV,cAAcH;AAAA,IACd,UAAUI;AAAA,EACd,CAAG,CAAC,GAAG,IAAIvB,MAAM,aAAa;AAAA,IAC1B,GAAG;AAAA,IACH,GAAGqB;AAAA,IACH,OAAO,EAAE,SAAS;AAAA,IAClB,QAAQ,EAAE,SAAS;AAAA,EACvB,IAAM,EAAE,WAAWlB,IAAI,OAAOE,EAAE,mBAAmB,OAAO,SAASA,EAAE,gBAAgBiB,EAAE,QAAQ,IAAIF,IAAI,OAAOf,EAAE,aAAa,OAAO,SAASA,EAAE,UAAUF,CAAC,KAAK,OAAOE,EAAE,YAAY,OAAO,SAASA,EAAE,SAASF,CAAC,MAAM;AAAA,IAClN,GAAG;AAAA,IACH,GAAG;AAAA,EACP,IAAM;AAAA,IACF,GAAG;AAAA,IACH,GAAG;AAAA,EACP,GAAKG,IAAIwD,GAAGzD,EAAE,wDAAwD,MAAMA,EAAE,sDAAsD;AAAA,IAChI,UAAUiB;AAAA,IACV,MAAM;AAAA,IACN,cAAcnB;AAAA,IACd,UAAUoB;AAAA,EACd,CAAG,IAAI,CAAC;AACN,SAAO;AAAA,IACL,MAAMU,EAAE,MAAM3B,EAAE,MAAM,EAAE,OAAOc,EAAE;AAAA,IACjC,SAASd,EAAE,SAAS2B,EAAE,SAAS,EAAE,UAAUb,EAAE;AAAA,IAC7C,OAAOa,EAAE,OAAO3B,EAAE,OAAO,EAAE,QAAQc,EAAE;AAAA,IACrC,QAAQd,EAAE,QAAQ2B,EAAE,QAAQ,EAAE,SAASb,EAAE;AAAA,EAC7C;AACA;AACA,MAAMiF,KAAK,CAACtC,OAAO;AAAA,EACjB,MAAM;AAAA,EACN,SAASA;AAAA,EACT,MAAM,GAAGtD,GAAG;AACV,UAAM;AAAA,MACJ,GAAG;AAAA,MACH,GAAG;AAAA,MACH,WAAWY;AAAA,MACX,OAAOhB;AAAA,MACP,UAAU;AAAA,MACV,UAAUiB;AAAA,MACV,gBAAgBC;AAAA,IACtB,IAAQd,GAAG;AAAA,MACL,SAAS;AAAA,MACT,SAASU,IAAI;AAAA,IACnB,IAAQkB,GAAE0B,GAAGtD,CAAC,KAAK,CAAA;AACf,QAAI,KAAK;AACP,aAAO,CAAA;AACT,UAAMT,IAAIiG,GAAG9E,CAAC,GAAGZ,IAAI;AAAA,MACnB,GAAG;AAAA,MACH,GAAG;AAAA,IACT,GAAO,IAAI+E,GAAGjE,CAAC,GAAG,IAAI+D,GAAG,CAAC,GAAGnF,IAAI,MAAM,EAAE,cAAc,CAAC,GAAGgD,IAAI,MAAM,KAAKhB,IAAIgB,IAAI,QAAQ,QAAQ/B,IAAI+B,IAAI,WAAW,SAAS9C,IAAI8C,IAAI,iBAAiB,eAAe,IAAI5C,EAAE,UAAU,CAAC,IAAIA,EAAE,UAAU,CAAC,IAAIE,EAAE,CAAC,IAAIF,EAAE,SAAS,CAAC,GAAGC,IAAIC,EAAE,CAAC,IAAIF,EAAE,UAAU,CAAC,GAAGH,IAAI,OAAO,EAAE,mBAAmB,OAAO,SAAS,EAAE,gBAAgB,CAAC;AAC5T,QAAIyD,IAAIzD,IAAIA,EAAEC,CAAC,IAAI;AACnB,KAAC,CAACwD,KAAK,CAAC,OAAO,EAAE,aAAa,OAAO,SAAS,EAAE,UAAUzD,CAAC,QAAQyD,IAAIrC,EAAE,SAASnB,CAAC,KAAKE,EAAE,SAAS,CAAC;AACpG,UAAMwD,KAAI,IAAI,IAAIvD,IAAI,GAAGyC,IAAIY,IAAI,IAAI1D,EAAE,CAAC,IAAI,IAAI,GAAG,IAAIoD,GAAErD,EAAEiC,CAAC,GAAGc,CAAC,GAAGP,KAAIa,GAAErD,EAAEkB,CAAC,GAAG6B,CAAC,GAAGI,IAAI,GAAGzB,KAAIiC,IAAI1D,EAAE,CAAC,IAAIuC,IAAGU,IAAIS,IAAI,IAAI1D,EAAE,CAAC,IAAI,IAAI4D,IAAG1B,IAAI+C,GAAG/B,GAAGD,GAAGxB,EAAC,GAAGM,IAAI,CAACT,EAAE,SAASsB,GAAGxB,CAAC,KAAK,QAAQ6B,MAAMf,KAAK9B,EAAE,UAAU,CAAC,IAAI,KAAK6C,IAAIC,IAAI,IAAIX,MAAKvC,EAAE,CAAC,IAAI,IAAI,GAAG8B,IAAIC,IAAIkB,IAAIC,IAAID,IAAIC,IAAID,IAAIxB,KAAI;AACxR,WAAO;AAAA,MACL,CAAC,CAAC,GAAGnB,EAAE,CAAC,IAAIwB;AAAA,MACZ,MAAM;AAAA,QACJ,CAAC,CAAC,GAAGI;AAAA,QACL,cAAce,IAAIf,IAAIJ;AAAA,QACtB,GAAGC,KAAK;AAAA,UACN,iBAAiBD;AAAA,QAC3B;AAAA,MACA;AAAA,MACM,OAAOC;AAAA,IACb;AAAA,EACE;AACF,IAAIsE,KAAK,SAASvC,GAAG;AACnB,SAAOA,MAAM,WAAWA,IAAI,CAAA,IAAK;AAAA,IAC/B,MAAM;AAAA,IACN,SAASA;AAAA,IACT,MAAM,GAAGtD,GAAG;AACV,UAAI,GAAG;AACP,YAAM;AAAA,QACJ,WAAWY;AAAA,QACX,gBAAgBhB;AAAA,QAChB,OAAO;AAAA,QACP,kBAAkBiB;AAAA,QAClB,UAAUC;AAAA,QACV,UAAU;AAAA,MAClB,IAAUd,GAAG;AAAA,QACL,UAAUU,IAAI;AAAA,QACd,WAAWnB,IAAI;AAAA,QACf,oBAAoBO;AAAA,QACpB,kBAAkB,IAAI;AAAA,QACtB,2BAA2B,IAAI;AAAA,QAC/B,eAAeN,IAAI;AAAA,QACnB,GAAGgD;AAAA,MACX,IAAUZ,GAAE0B,GAAGtD,CAAC;AACV,WAAK,IAAIJ,EAAE,UAAU,QAAQ,EAAE;AAC7B,eAAO,CAAA;AACT,YAAM4B,IAAIuB,EAAEnC,CAAC,GAAGH,IAAI0B,EAAEtB,CAAC,GAAGnB,IAAIqD,EAAElC,CAAC,MAAMA,GAAG,IAAI,OAAOC,EAAE,SAAS,OAAO,SAASA,EAAE,MAAM,EAAE,QAAQ,IAAIjB,IAAIC,MAAMJ,KAAK,CAACF,IAAI,CAAC+C,GAAG1B,CAAC,CAAC,IAAIkE,GAAGlE,CAAC,IAAIpB,IAAI,MAAM;AACtJ,OAACK,KAAKL,KAAKI,EAAE,KAAK,GAAGyF,GAAGzE,GAAGrB,GAAG,GAAG,CAAC,CAAC;AACnC,YAAM0D,IAAI,CAACrC,GAAG,GAAGhB,CAAC,GAAGuD,KAAI,MAAMuC,GAAG3F,GAAGwC,CAAC,GAAGF,IAAI,CAAA;AAC7C,UAAI,MAAM,IAAI1C,EAAE,SAAS,OAAO,SAAS,EAAE,cAAc,CAAA;AACzD,UAAIc,KAAK4B,EAAE,KAAKc,GAAE5B,CAAC,CAAC,GAAGjC,GAAG;AACxB,cAAMkD,IAAIqC,GAAGlE,GAAG,GAAG,CAAC;AACpB,QAAA0B,EAAE,KAAKc,GAAEX,EAAE,CAAC,CAAC,GAAGW,GAAEX,EAAE,CAAC,CAAC,CAAC;AAAA,MACzB;AACA,UAAI,IAAI,CAAC,GAAG,GAAG;AAAA,QACb,WAAW7B;AAAA,QACX,WAAW0B;AAAA,MACnB,CAAO,GAAG,CAACA,EAAE,MAAM,CAACG,MAAMA,KAAK,CAAC,GAAG;AAC3B,YAAIV,IAAGW;AACP,cAAMD,OAAOV,KAAInC,EAAE,SAAS,OAAO,SAASmC,GAAE,UAAU,KAAK,GAAGL,IAAIwB,EAAET,CAAC;AACvE,YAAIf,MAAM,EAAEnC,MAAM,eAAckB,MAAM0B,EAAET,CAAC;AAAA;AAAA,QAEzC,EAAE,MAAM,CAACV,MAAMmB,EAAEnB,EAAE,SAAS,MAAMP,IAAIO,EAAE,UAAU,CAAC,IAAI,IAAI,EAAE;AAC3D,iBAAO;AAAA,YACL,MAAM;AAAA,cACJ,OAAOyB;AAAA,cACP,WAAW;AAAA,YACzB;AAAA,YACY,OAAO;AAAA,cACL,WAAWf;AAAA,YACzB;AAAA,UACA;AACQ,YAAIH,KAAKmB,IAAI,EAAE,OAAO,CAACpB,MAAMA,EAAE,UAAU,CAAC,KAAK,CAAC,EAAE,KAAK,CAACA,GAAGN,MAAMM,EAAE,UAAU,CAAC,IAAIN,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC,MAAM,OAAO,SAAS0B,EAAE;AAC3H,YAAI,CAACnB;AACH,kBAAQ,GAAC;AAAA,YACP,KAAK,WAAW;AACd,kBAAIN;AACJ,oBAAMK,KAAKL,KAAI,EAAE,OAAO,CAACD,MAAM;AAC7B,oBAAIvB,GAAG;AACL,wBAAMgC,IAAIU,EAAEnB,EAAE,SAAS;AACvB,yBAAOS,MAAMhB;AAAA;AAAA,kBAEbgB,MAAM;AAAA,gBACR;AACA,uBAAO;AAAA,cACT,CAAC,EAAE,IAAI,CAACT,MAAM,CAACA,EAAE,WAAWA,EAAE,UAAU,OAAO,CAACS,MAAMA,IAAI,CAAC,EAAE,OAAO,CAACA,GAAGqE,OAAOrE,IAAIqE,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC9E,GAAGS,MAAMT,EAAE,CAAC,IAAIS,EAAE,CAAC,CAAC,EAAE,CAAC,MAAM,OAAO,SAASR,GAAE,CAAC;AAClJ,cAAAK,MAAMC,IAAID;AACV;AAAA,YACF;AAAA,YACA,KAAK;AACH,cAAAC,IAAIV;AACJ;AAAA,UACd;AACQ,YAAID,MAAMW;AACR,iBAAO;AAAA,YACL,OAAO;AAAA,cACL,WAAWA;AAAA,YACzB;AAAA,UACA;AAAA,MACM;AACA,aAAO,CAAA;AAAA,IACT;AAAA,EACJ;AACA,GAAGwE,KAAqB,oBAAI,IAAI,CAAC,QAAQ,KAAK,CAAC;AAC/C,eAAeC,GAAG1C,GAAGtD,GAAG;AACtB,QAAM;AAAA,IACJ,WAAW;AAAA,IACX,UAAU;AAAA,IACV,UAAUY;AAAA,EACd,IAAM0C,GAAG1D,IAAI,OAAO,EAAE,SAAS,OAAO,SAAS,EAAE,MAAMgB,EAAE,QAAQ,IAAI,IAAImC,EAAE,CAAC,GAAGlC,IAAIuB,GAAG,CAAC,GAAGtB,IAAIqB,EAAE,CAAC,MAAM,KAAK,IAAI4D,GAAG,IAAI,CAAC,IAAI,KAAK,GAAGrF,IAAId,KAAKkB,IAAI,KAAK,GAAGvB,IAAIqC,GAAE5B,GAAGsD,CAAC;AACjK,MAAI;AAAA,IACF,UAAUxD;AAAA,IACV,WAAW;AAAA,IACX,eAAe;AAAA,EACnB,IAAM,OAAOP,KAAK,WAAW;AAAA,IACzB,UAAUA;AAAA,IACV,WAAW;AAAA,IACX,eAAe;AAAA,EACnB,IAAM;AAAA,IACF,UAAUA,EAAE,YAAY;AAAA,IACxB,WAAWA,EAAE,aAAa;AAAA,IAC1B,eAAeA,EAAE;AAAA,EACrB;AACE,SAAOsB,KAAK,OAAO,KAAK,aAAa,IAAIA,MAAM,QAAQ,IAAI,KAAK,IAAIC,IAAI;AAAA,IACtE,GAAG,IAAIJ;AAAA,IACP,GAAGZ,IAAI;AAAA,EACX,IAAM;AAAA,IACF,GAAGA,IAAI;AAAA,IACP,GAAG,IAAIY;AAAA,EACX;AACA;AACA,MAAMuF,KAAK,SAAS3C,GAAG;AACrB,SAAOA,MAAM,WAAWA,IAAI,IAAI;AAAA,IAC9B,MAAM;AAAA,IACN,SAASA;AAAA,IACT,MAAM,GAAGtD,GAAG;AACV,UAAI,GAAG;AACP,YAAM;AAAA,QACJ,GAAGY;AAAA,QACH,GAAGhB;AAAA,QACH,WAAW;AAAA,QACX,gBAAgBiB;AAAA,MACxB,IAAUb,GAAGc,IAAI,MAAMkF,GAAGhG,GAAGsD,CAAC;AACxB,aAAO,QAAQ,IAAIzC,EAAE,WAAW,OAAO,SAAS,EAAE,eAAe,IAAIA,EAAE,UAAU,QAAQ,EAAE,kBAAkB,KAAK;AAAA,QAChH,GAAGD,IAAIE,EAAE;AAAA,QACT,GAAGlB,IAAIkB,EAAE;AAAA,QACT,MAAM;AAAA,UACJ,GAAGA;AAAA,UACH,WAAW;AAAA,QACrB;AAAA,MACA;AAAA,IACI;AAAA,EACJ;AACA,GAAGoF,KAAK,SAAS5C,GAAG;AAClB,SAAOA,MAAM,WAAWA,IAAI,CAAA,IAAK;AAAA,IAC/B,MAAM;AAAA,IACN,SAASA;AAAA,IACT,MAAM,GAAGtD,GAAG;AACV,YAAM;AAAA,QACJ,GAAG;AAAA,QACH,GAAG;AAAA,QACH,WAAWY;AAAA,MACnB,IAAUZ,GAAG;AAAA,QACL,UAAUJ,IAAI;AAAA,QACd,WAAW,IAAI;AAAA,QACf,SAASiB,IAAI;AAAA,UACX,IAAI,CAAC2B,MAAM;AACT,gBAAI;AAAA,cACF,GAAGhB;AAAA,cACH,GAAAf;AAAA,YACd,IAAgB+B;AACJ,mBAAO;AAAA,cACL,GAAGhB;AAAA,cACH,GAAAf;AAAA,YACd;AAAA,UACU;AAAA,QACV;AAAA,QACQ,GAAGK;AAAA,MACX,IAAUc,GAAE0B,GAAGtD,CAAC,GAAG,IAAI;AAAA,QACf,GAAG;AAAA,QACH,GAAG;AAAA,MACX,GAASU,IAAI,MAAMiF,GAAG3F,GAAGc,CAAC,GAAGvB,IAAI4C,EAAEY,EAAEnC,CAAC,CAAC,GAAGd,IAAI4E,GAAGnF,CAAC;AAC5C,UAAI,IAAI,EAAEO,CAAC,GAAG,IAAI,EAAEP,CAAC;AACrB,UAAIK,GAAG;AACL,cAAM4C,IAAI1C,MAAM,MAAM,QAAQ,QAAQ0B,IAAI1B,MAAM,MAAM,WAAW,SAASW,IAAI,IAAIC,EAAE8B,CAAC,GAAG9C,IAAI,IAAIgB,EAAEc,CAAC;AACnG,YAAIiD,GAAGhE,GAAG,GAAGf,CAAC;AAAA,MAChB;AACA,UAAI,GAAG;AACL,cAAM8C,IAAIjD,MAAM,MAAM,QAAQ,QAAQiC,IAAIjC,MAAM,MAAM,WAAW,SAASkB,IAAI,IAAIC,EAAE8B,CAAC,GAAG9C,IAAI,IAAIgB,EAAEc,CAAC;AACnG,YAAIiD,GAAGhE,GAAG,GAAGf,CAAC;AAAA,MAChB;AACA,YAAMF,IAAIqB,EAAE,GAAG;AAAA,QACb,GAAGb;AAAA,QACH,CAACF,CAAC,GAAG;AAAA,QACL,CAACP,CAAC,GAAG;AAAA,MACb,CAAO;AACD,aAAO;AAAA,QACL,GAAGC;AAAA,QACH,MAAM;AAAA,UACJ,GAAGA,EAAE,IAAI;AAAA,UACT,GAAGA,EAAE,IAAI;AAAA,UACT,SAAS;AAAA,YACP,CAACM,CAAC,GAAGF;AAAA,YACL,CAACL,CAAC,GAAG;AAAA,UACjB;AAAA,QACA;AAAA,MACA;AAAA,IACI;AAAA,EACJ;AACA,GAAG4G,KAAK,SAAS7C,GAAG;AAClB,SAAOA,MAAM,WAAWA,IAAI,CAAA,IAAK;AAAA,IAC/B,SAASA;AAAA,IACT,GAAGtD,GAAG;AACJ,YAAM;AAAA,QACJ,GAAG;AAAA,QACH,GAAG;AAAA,QACH,WAAWY;AAAA,QACX,OAAOhB;AAAA,QACP,gBAAgB;AAAA,MACxB,IAAUI,GAAG;AAAA,QACL,QAAQa,IAAI;AAAA,QACZ,UAAUC,IAAI;AAAA,QACd,WAAW,IAAI;AAAA,MACvB,IAAUc,GAAE0B,GAAGtD,CAAC,GAAGU,IAAI;AAAA,QACf,GAAG;AAAA,QACH,GAAG;AAAA,MACX,GAASnB,IAAI4C,EAAEvB,CAAC,GAAGd,IAAI4E,GAAGnF,CAAC;AACrB,UAAI,IAAImB,EAAEZ,CAAC,GAAG,IAAIY,EAAEnB,CAAC;AACrB,YAAMC,IAAIoC,GAAEf,GAAGb,CAAC,GAAGwC,IAAI,OAAOhD,KAAK,WAAW;AAAA,QAC5C,UAAUA;AAAA,QACV,WAAW;AAAA,MACnB,IAAU;AAAA,QACF,UAAU;AAAA,QACV,WAAW;AAAA,QACX,GAAGA;AAAA,MACX;AACM,UAAIsB,GAAG;AACL,cAAMpB,IAAII,MAAM,MAAM,WAAW,SAAS,IAAIF,EAAE,UAAUE,CAAC,IAAIF,EAAE,SAASF,CAAC,IAAI8C,EAAE,UAAU3C,IAAID,EAAE,UAAUE,CAAC,IAAIF,EAAE,UAAUF,CAAC,IAAI8C,EAAE;AACnI,YAAI,IAAI,IAAI,IAAI,IAAI3C,MAAM,IAAIA;AAAA,MAChC;AACA,UAAI,GAAG;AACL,YAAI2B,GAAGf;AACP,cAAMf,IAAII,MAAM,MAAM,UAAU,UAAU,IAAIiG,GAAG,IAAIhD,EAAEnC,CAAC,CAAC,GAAGf,IAAID,EAAE,UAAUL,CAAC,IAAIK,EAAE,SAASF,CAAC,KAAK,OAAO8B,IAAI,EAAE,WAAW,OAAO,SAASA,EAAEjC,CAAC,MAAM,MAAM,IAAI,IAAIiD,EAAE,YAAY/C,IAAIG,EAAE,UAAUL,CAAC,IAAIK,EAAE,UAAUF,CAAC,KAAK,IAAI,MAAMe,IAAI,EAAE,WAAW,OAAO,SAASA,EAAElB,CAAC,MAAM,MAAM,IAAIiD,EAAE,YAAY;AAClS,YAAI3C,IAAI,IAAIA,IAAI,IAAIJ,MAAM,IAAIA;AAAA,MAChC;AACA,aAAO;AAAA,QACL,CAACK,CAAC,GAAG;AAAA,QACL,CAACP,CAAC,GAAG;AAAA,MACb;AAAA,IACI;AAAA,EACJ;AACA;AACA,SAAS6G,KAAK;AACZ,SAAO,OAAO,SAAS;AACzB;AACA,SAASpD,GAAEM,GAAG;AACZ,SAAO+C,GAAG/C,CAAC,KAAKA,EAAE,YAAY,IAAI,YAAW,IAAK;AACpD;AACA,SAASjD,EAAEiD,GAAG;AACZ,MAAItD;AACJ,UAAQsD,KAAK,SAAStD,IAAIsD,EAAE,kBAAkB,OAAO,SAAStD,EAAE,gBAAgB;AAClF;AACA,SAAS,EAAEsD,GAAG;AACZ,MAAItD;AACJ,UAAQA,KAAKqG,GAAG/C,CAAC,IAAIA,EAAE,gBAAgBA,EAAE,aAAa,OAAO,aAAa,OAAO,SAAStD,EAAE;AAC9F;AACA,SAASqG,GAAG/C,GAAG;AACb,SAAO8C,GAAE,IAAK9C,aAAa,QAAQA,aAAajD,EAAEiD,CAAC,EAAE,OAAO;AAC9D;AACA,SAAS9C,EAAE8C,GAAG;AACZ,SAAO8C,GAAE,IAAK9C,aAAa,WAAWA,aAAajD,EAAEiD,CAAC,EAAE,UAAU;AACpE;AACA,SAASrD,EAAEqD,GAAG;AACZ,SAAO8C,GAAE,IAAK9C,aAAa,eAAeA,aAAajD,EAAEiD,CAAC,EAAE,cAAc;AAC5E;AACA,SAASgD,GAAGhD,GAAG;AACb,SAAO,CAAC8C,GAAE,KAAM,OAAO,aAAa,MAAM,KAAK9C,aAAa,cAAcA,aAAajD,EAAEiD,CAAC,EAAE;AAC9F;AACA,MAAMiD,KAAqB,oBAAI,IAAI,CAAC,UAAU,UAAU,CAAC;AACzD,SAAS5D,GAAGW,GAAG;AACb,QAAM;AAAA,IACJ,UAAUtD;AAAA,IACV,WAAW;AAAA,IACX,WAAW;AAAA,IACX,SAASY;AAAA,EACb,IAAMT,EAAEmD,CAAC;AACP,SAAO,kCAAkC,KAAKtD,IAAI,IAAI,CAAC,KAAK,CAACuG,GAAG,IAAI3F,CAAC;AACvE;AACA,MAAM4F,KAAqB,oBAAI,IAAI,CAAC,SAAS,MAAM,IAAI,CAAC;AACxD,SAASC,GAAGnD,GAAG;AACb,SAAOkD,GAAG,IAAIxD,GAAEM,CAAC,CAAC;AACpB;AACA,MAAMoD,KAAK,CAAC,iBAAiB,QAAQ;AACrC,SAASC,GAAGrD,GAAG;AACb,SAAOoD,GAAG,KAAK,CAAC1G,MAAM;AACpB,QAAI;AACF,aAAOsD,EAAE,QAAQtD,CAAC;AAAA,IACpB,QAAQ;AACN,aAAO;AAAA,IACT;AAAA,EACF,CAAC;AACH;AACA,MAAM4G,KAAK,CAAC,aAAa,aAAa,SAAS,UAAU,aAAa,GAAGC,KAAK,CAAC,aAAa,aAAa,SAAS,UAAU,eAAe,QAAQ,GAAGC,KAAK,CAAC,SAAS,UAAU,UAAU,SAAS;AAClM,SAASC,GAAGzD,GAAG;AACb,QAAMtD,IAAIgH,GAAE,GAAI,IAAIxG,EAAE8C,CAAC,IAAInD,EAAEmD,CAAC,IAAIA;AAClC,SAAOsD,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,MAAM,SAAS,EAAE,MAAM,EAAE,gBAAgB,EAAE,kBAAkB,WAAW,OAAO,CAAC5G,MAAM,EAAE,iBAAiB,EAAE,mBAAmB,SAAS,OAAO,CAACA,MAAM,EAAE,SAAS,EAAE,WAAW,SAAS,OAAO6G,GAAG,KAAK,CAAC,OAAO,EAAE,cAAc,IAAI,SAAS,CAAC,CAAC,KAAKC,GAAG,KAAK,CAAC,OAAO,EAAE,WAAW,IAAI,SAAS,CAAC,CAAC;AAC/T;AACA,SAASG,GAAG3D,GAAG;AACb,MAAItD,IAAIM,EAAEgD,CAAC;AACX,SAAOrD,EAAED,CAAC,KAAK,CAAC6B,GAAE7B,CAAC,KAAK;AACtB,QAAI+G,GAAG/G,CAAC;AACN,aAAOA;AACT,QAAI2G,GAAG3G,CAAC;AACN,aAAO;AACT,IAAAA,IAAIM,EAAEN,CAAC;AAAA,EACT;AACA,SAAO;AACT;AACA,SAASgH,KAAK;AACZ,SAAO,OAAO,MAAM,OAAO,CAAC,IAAI,WAAW,KAAK,IAAI,SAAS,2BAA2B,MAAM;AAChG;AACA,MAAME,KAAqB,oBAAI,IAAI,CAAC,QAAQ,QAAQ,WAAW,CAAC;AAChE,SAASrF,GAAEyB,GAAG;AACZ,SAAO4D,GAAG,IAAIlE,GAAEM,CAAC,CAAC;AACpB;AACA,SAASnD,EAAEmD,GAAG;AACZ,SAAOjD,EAAEiD,CAAC,EAAE,iBAAiBA,CAAC;AAChC;AACA,SAAS6D,GAAG7D,GAAG;AACb,SAAO9C,EAAE8C,CAAC,IAAI;AAAA,IACZ,YAAYA,EAAE;AAAA,IACd,WAAWA,EAAE;AAAA,EACjB,IAAM;AAAA,IACF,YAAYA,EAAE;AAAA,IACd,WAAWA,EAAE;AAAA,EACjB;AACA;AACA,SAAShD,EAAEgD,GAAG;AACZ,MAAIN,GAAEM,CAAC,MAAM;AACX,WAAOA;AACT,QAAMtD;AAAA;AAAA,IAEJsD,EAAE;AAAA,IACFA,EAAE;AAAA,IACFgD,GAAGhD,CAAC,KAAKA,EAAE;AAAA,IACX,EAAEA,CAAC;AAAA;AAEL,SAAOgD,GAAGtG,CAAC,IAAIA,EAAE,OAAOA;AAC1B;AACA,SAASoH,GAAG9D,GAAG;AACb,QAAMtD,IAAIM,EAAEgD,CAAC;AACb,SAAOzB,GAAE7B,CAAC,IAAIsD,EAAE,gBAAgBA,EAAE,cAAc,OAAOA,EAAE,OAAOrD,EAAED,CAAC,KAAK2C,GAAG3C,CAAC,IAAIA,IAAIoH,GAAGpH,CAAC;AAC1F;AACA,SAASiC,GAAGqB,GAAGtD,GAAG,GAAG;AACnB,MAAI;AACJ,EAAAA,MAAM,WAAWA,IAAI,CAAA,IAAK,MAAM,WAAW,IAAI;AAC/C,QAAMY,IAAIwG,GAAG9D,CAAC,GAAG1D,IAAIgB,QAAQ,IAAI0C,EAAE,kBAAkB,OAAO,SAAS,EAAE,OAAO,IAAIjD,EAAEO,CAAC;AACrF,MAAIhB,GAAG;AACL,UAAMiB,IAAIwG,GAAG,CAAC;AACd,WAAOrH,EAAE,OAAO,GAAG,EAAE,kBAAkB,CAAA,GAAI2C,GAAG/B,CAAC,IAAIA,IAAI,CAAA,GAAIC,KAAK,IAAIoB,GAAGpB,CAAC,IAAI,EAAE;AAAA,EAChF;AACA,SAAOb,EAAE,OAAOY,GAAGqB,GAAGrB,GAAG,CAAA,GAAI,CAAC,CAAC;AACjC;AACA,SAASyG,GAAG/D,GAAG;AACb,SAAOA,EAAE,UAAU,OAAO,eAAeA,EAAE,MAAM,IAAIA,EAAE,eAAe;AACxE;AACA,SAASgE,GAAGhE,GAAG;AACb,QAAMtD,IAAIG,EAAEmD,CAAC;AACb,MAAI,IAAI,WAAWtD,EAAE,KAAK,KAAK,GAAG,IAAI,WAAWA,EAAE,MAAM,KAAK;AAC9D,QAAMY,IAAIX,EAAEqD,CAAC,GAAG1D,IAAIgB,IAAI0C,EAAE,cAAc,GAAG,IAAI1C,IAAI0C,EAAE,eAAe,GAAGzC,IAAIyD,GAAG,CAAC,MAAM1E,KAAK0E,GAAG,CAAC,MAAM;AACpG,SAAOzD,MAAM,IAAIjB,GAAG,IAAI,IAAI;AAAA,IAC1B,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,GAAGiB;AAAA,EACP;AACA;AACA,SAAS0G,GAAGjE,GAAG;AACb,SAAO9C,EAAE8C,CAAC,IAAIA,IAAIA,EAAE;AACtB;AACA,SAASxB,GAAEwB,GAAG;AACZ,QAAMtD,IAAIuH,GAAGjE,CAAC;AACd,MAAI,CAACrD,EAAED,CAAC;AACN,WAAOe,EAAE,CAAC;AACZ,QAAM,IAAIf,EAAE,yBAAyB;AAAA,IACnC,OAAO;AAAA,IACP,QAAQY;AAAA,IACR,GAAGhB;AAAA,EACP,IAAM0H,GAAGtH,CAAC;AACR,MAAI,KAAKJ,IAAI0E,GAAG,EAAE,KAAK,IAAI,EAAE,SAAS,GAAGzD,KAAKjB,IAAI0E,GAAG,EAAE,MAAM,IAAI,EAAE,UAAU1D;AAC7E,UAAQ,CAAC,KAAK,CAAC,OAAO,SAAS,CAAC,OAAO,IAAI,KAAK,CAACC,KAAK,CAAC,OAAO,SAASA,CAAC,OAAOA,IAAI,IAAI;AAAA,IACrF,GAAG;AAAA,IACH,GAAGA;AAAA,EACP;AACA;AACA,MAAM2G,KAAqB,gBAAAzG,EAAE,CAAC;AAC9B,SAAS0G,GAAGnE,GAAG;AACb,QAAMtD,IAAIK,EAAEiD,CAAC;AACb,SAAO,CAAC0D,GAAE,KAAM,CAAChH,EAAE,iBAAiBwH,KAAK;AAAA,IACvC,GAAGxH,EAAE,eAAe;AAAA,IACpB,GAAGA,EAAE,eAAe;AAAA,EACxB;AACA;AACA,SAAS0H,GAAGpE,GAAGtD,GAAG,GAAG;AACnB,SAAOA,MAAM,WAAWA,IAAI,KAAK,CAAC,KAAKA,KAAK,MAAMK,EAAEiD,CAAC,IAAI,KAAKtD;AAChE;AACA,SAASqB,GAAEiC,GAAGtD,GAAG,GAAG,GAAG;AACrB,EAAAA,MAAM,WAAWA,IAAI,KAAK,MAAM,WAAW,IAAI;AAC/C,QAAMY,IAAI0C,EAAE,sBAAqB,GAAI1D,IAAI2H,GAAGjE,CAAC;AAC7C,MAAI,IAAIvC,EAAE,CAAC;AACX,EAAAf,MAAM,IAAIQ,EAAE,CAAC,MAAM,IAAIsB,GAAE,CAAC,KAAK,IAAIA,GAAEwB,CAAC;AACtC,QAAMzC,IAAI6G,GAAG9H,GAAG,GAAG,CAAC,IAAI6H,GAAG7H,CAAC,IAAImB,EAAE,CAAC;AACnC,MAAID,KAAKF,EAAE,OAAOC,EAAE,KAAK,EAAE,GAAG,KAAKD,EAAE,MAAMC,EAAE,KAAK,EAAE,GAAGH,IAAIE,EAAE,QAAQ,EAAE,GAAGrB,IAAIqB,EAAE,SAAS,EAAE;AAC3F,MAAIhB,GAAG;AACL,UAAME,IAAIO,EAAET,CAAC,GAAG,IAAI,KAAKY,EAAE,CAAC,IAAIH,EAAE,CAAC,IAAI;AACvC,QAAI,IAAIP,GAAGN,IAAI6H,GAAG,CAAC;AACnB,WAAO7H,KAAK,KAAK,MAAM,KAAK;AAC1B,YAAMgD,IAAIV,GAAEtC,CAAC,GAAGgC,IAAIhC,EAAE,sBAAqB,GAAIiB,IAAIN,EAAEX,CAAC,GAAGE,IAAI8B,EAAE,QAAQhC,EAAE,aAAa,WAAWiB,EAAE,WAAW,KAAK+B,EAAE,GAAG,IAAIhB,EAAE,OAAOhC,EAAE,YAAY,WAAWiB,EAAE,UAAU,KAAK+B,EAAE;AACjL,MAAA1B,KAAK0B,EAAE,GAAG,KAAKA,EAAE,GAAG9B,KAAK8B,EAAE,GAAGjD,KAAKiD,EAAE,GAAG1B,KAAKpB,GAAG,KAAK,GAAG,IAAIW,EAAEb,CAAC,GAAGA,IAAI6H,GAAG,CAAC;AAAA,IAC5E;AAAA,EACF;AACA,SAAOhE,GAAG;AAAA,IACR,OAAO3C;AAAA,IACP,QAAQnB;AAAA,IACR,GAAGuB;AAAA,IACH,GAAG;AAAA,EACP,CAAG;AACH;AACA,SAAS6G,GAAGrE,GAAGtD,GAAG;AAChB,QAAM,IAAImH,GAAG7D,CAAC,EAAE;AAChB,SAAOtD,IAAIA,EAAE,OAAO,IAAIqB,GAAE,EAAEiC,CAAC,CAAC,EAAE,OAAO;AACzC;AACA,SAASsE,GAAGtE,GAAGtD,GAAG;AAChB,QAAM,IAAIsD,EAAE,sBAAqB,GAAI,IAAI,EAAE,OAAOtD,EAAE,aAAa2H,GAAGrE,GAAG,CAAC,GAAG1C,IAAI,EAAE,MAAMZ,EAAE;AACzF,SAAO;AAAA,IACL,GAAG;AAAA,IACH,GAAGY;AAAA,EACP;AACA;AACA,SAASiH,GAAGvE,GAAG;AACb,MAAI;AAAA,IACF,UAAUtD;AAAA,IACV,MAAM;AAAA,IACN,cAAc;AAAA,IACd,UAAUY;AAAA,EACd,IAAM0C;AACJ,QAAM1D,IAAIgB,MAAM,SAAS,IAAI,EAAE,CAAC,GAAGC,IAAIb,IAAI2G,GAAG3G,EAAE,QAAQ,IAAI;AAC5D,MAAI,MAAM,KAAKa,KAAKjB;AAClB,WAAO;AACT,MAAIkB,IAAI;AAAA,IACN,YAAY;AAAA,IACZ,WAAW;AAAA,EACf,GAAK,IAAIC,EAAE,CAAC;AACV,QAAML,IAAIK,EAAE,CAAC,GAAGxB,IAAIU,EAAE,CAAC;AACvB,OAAKV,KAAK,CAACA,KAAK,CAACK,QAAQoD,GAAE,CAAC,MAAM,UAAUL,GAAG,CAAC,OAAO7B,IAAIqG,GAAG,CAAC,IAAIlH,EAAE,CAAC,IAAI;AACxE,UAAM,IAAIoB,GAAE,CAAC;AACb,QAAIS,GAAE,CAAC,GAAGpB,EAAE,IAAI,EAAE,IAAI,EAAE,YAAYA,EAAE,IAAI,EAAE,IAAI,EAAE;AAAA,EACpD;AACA,QAAMZ,IAAI,KAAK,CAACP,KAAK,CAACK,IAAIgI,GAAG,GAAG9G,CAAC,IAAIC,EAAE,CAAC;AACxC,SAAO;AAAA,IACL,OAAO,EAAE,QAAQ,EAAE;AAAA,IACnB,QAAQ,EAAE,SAAS,EAAE;AAAA,IACrB,GAAG,EAAE,IAAI,EAAE,IAAID,EAAE,aAAa,EAAE,IAAIJ,EAAE,IAAIZ,EAAE;AAAA,IAC5C,GAAG,EAAE,IAAI,EAAE,IAAIgB,EAAE,YAAY,EAAE,IAAIJ,EAAE,IAAIZ,EAAE;AAAA,EAC/C;AACA;AACA,SAASgI,GAAGxE,GAAG;AACb,SAAO,MAAM,KAAKA,EAAE,eAAc,CAAE;AACtC;AACA,SAASyE,GAAGzE,GAAG;AACb,QAAMtD,IAAI,EAAEsD,CAAC,GAAG,IAAI6D,GAAG7D,CAAC,GAAG,IAAIA,EAAE,cAAc,MAAM1C,IAAIoB,EAAEhC,EAAE,aAAaA,EAAE,aAAa,EAAE,aAAa,EAAE,WAAW,GAAGJ,IAAIoC,EAAEhC,EAAE,cAAcA,EAAE,cAAc,EAAE,cAAc,EAAE,YAAY;AAC5L,MAAI,IAAI,CAAC,EAAE,aAAa2H,GAAGrE,CAAC;AAC5B,QAAMzC,IAAI,CAAC,EAAE;AACb,SAAOV,EAAE,CAAC,EAAE,cAAc,UAAU,KAAK6B,EAAEhC,EAAE,aAAa,EAAE,WAAW,IAAIY,IAAI;AAAA,IAC7E,OAAOA;AAAA,IACP,QAAQhB;AAAA,IACR,GAAG;AAAA,IACH,GAAGiB;AAAA,EACP;AACA;AACA,MAAMmH,KAAK;AACX,SAASC,GAAG3E,GAAGtD,GAAG;AAChB,QAAM,IAAIK,EAAEiD,CAAC,GAAG,IAAI,EAAEA,CAAC,GAAG1C,IAAI,EAAE;AAChC,MAAIhB,IAAI,EAAE,aAAa,IAAI,EAAE,cAAciB,IAAI,GAAGC,IAAI;AACtD,MAAIF,GAAG;AACL,IAAAhB,IAAIgB,EAAE,OAAO,IAAIA,EAAE;AACnB,UAAMF,IAAIsG,GAAE;AACZ,KAAC,CAACtG,KAAKA,KAAKV,MAAM,aAAaa,IAAID,EAAE,YAAYE,IAAIF,EAAE;AAAA,EACzD;AACA,QAAM,IAAI+G,GAAG,CAAC;AACd,MAAI,KAAK,GAAG;AACV,UAAMjH,IAAI,EAAE,eAAenB,IAAImB,EAAE,MAAMZ,IAAI,iBAAiBP,CAAC,GAAG,IAAImB,EAAE,eAAe,gBAAgB,WAAWZ,EAAE,UAAU,IAAI,WAAWA,EAAE,WAAW,KAAK,GAAG,IAAI,KAAK,IAAI,EAAE,cAAcP,EAAE,cAAc,CAAC;AAC9M,SAAKyI,OAAOpI,KAAK;AAAA,EACnB,MAAO,MAAKoI,OAAOpI,KAAK;AACxB,SAAO;AAAA,IACL,OAAOA;AAAA,IACP,QAAQ;AAAA,IACR,GAAGiB;AAAA,IACH,GAAGC;AAAA,EACP;AACA;AACA,MAAMoH,KAAqB,oBAAI,IAAI,CAAC,YAAY,OAAO,CAAC;AACxD,SAASC,GAAG7E,GAAGtD,GAAG;AAChB,QAAM,IAAIqB,GAAEiC,GAAG,IAAItD,MAAM,OAAO,GAAG,IAAI,EAAE,MAAMsD,EAAE,WAAW1C,IAAI,EAAE,OAAO0C,EAAE,YAAY1D,IAAIK,EAAEqD,CAAC,IAAIxB,GAAEwB,CAAC,IAAIvC,EAAE,CAAC,GAAG,IAAIuC,EAAE,cAAc1D,EAAE,GAAGiB,IAAIyC,EAAE,eAAe1D,EAAE,GAAGkB,IAAIF,IAAIhB,EAAE,GAAG,IAAI,IAAIA,EAAE;AACzL,SAAO;AAAA,IACL,OAAO;AAAA,IACP,QAAQiB;AAAA,IACR,GAAGC;AAAA,IACH,GAAG;AAAA,EACP;AACA;AACA,SAASsH,GAAG9E,GAAGtD,GAAG,GAAG;AACnB,MAAI;AACJ,MAAIA,MAAM;AACR,QAAIiI,GAAG3E,GAAG,CAAC;AAAA,WACJtD,MAAM;AACb,QAAI+H,GAAG,EAAEzE,CAAC,CAAC;AAAA,WACJ9C,EAAER,CAAC;AACV,QAAImI,GAAGnI,GAAG,CAAC;AAAA,OACR;AACH,UAAMY,IAAI6G,GAAGnE,CAAC;AACd,QAAI;AAAA,MACF,GAAGtD,EAAE,IAAIY,EAAE;AAAA,MACX,GAAGZ,EAAE,IAAIY,EAAE;AAAA,MACX,OAAOZ,EAAE;AAAA,MACT,QAAQA,EAAE;AAAA,IAChB;AAAA,EACE;AACA,SAAOqD,GAAG,CAAC;AACb;AACA,SAASgF,GAAG/E,GAAGtD,GAAG;AAChB,QAAM,IAAIM,EAAEgD,CAAC;AACb,SAAO,MAAMtD,KAAK,CAACQ,EAAE,CAAC,KAAKqB,GAAE,CAAC,IAAI,KAAK1B,EAAE,CAAC,EAAE,aAAa,WAAWkI,GAAG,GAAGrI,CAAC;AAC7E;AACA,SAASsI,GAAGhF,GAAGtD,GAAG;AAChB,QAAM,IAAIA,EAAE,IAAIsD,CAAC;AACjB,MAAI;AACF,WAAO;AACT,MAAI,IAAIrB,GAAGqB,GAAG,CAAA,GAAI,EAAE,EAAE,OAAO,CAACzC,MAAML,EAAEK,CAAC,KAAKmC,GAAEnC,CAAC,MAAM,MAAM,GAAGD,IAAI;AAClE,QAAMhB,IAAIO,EAAEmD,CAAC,EAAE,aAAa;AAC5B,MAAI,IAAI1D,IAAIU,EAAEgD,CAAC,IAAIA;AACnB,SAAO9C,EAAE,CAAC,KAAK,CAACqB,GAAE,CAAC,KAAK;AACtB,UAAMhB,IAAIV,EAAE,CAAC,GAAGW,IAAIiG,GAAG,CAAC;AACxB,KAACjG,KAAKD,EAAE,aAAa,YAAYD,IAAI,QAAQhB,IAAI,CAACkB,KAAK,CAACF,IAAI,CAACE,KAAKD,EAAE,aAAa,YAAcD,KAAKsH,GAAG,IAAItH,EAAE,QAAQ,KAAK+B,GAAG,CAAC,KAAK,CAAC7B,KAAKuH,GAAG/E,GAAG,CAAC,KAAK,IAAI,EAAE,OAAO,CAAC5C,MAAMA,MAAM,CAAC,IAAIE,IAAIC,GAAG,IAAIP,EAAE,CAAC;AAAA,EACpM;AACA,SAAON,EAAE,IAAIsD,GAAG,CAAC,GAAG;AACtB;AACA,SAASiF,GAAGjF,GAAG;AACb,MAAI;AAAA,IACF,SAAStD;AAAA,IACT,UAAU;AAAA,IACV,cAAc;AAAA,IACd,UAAUY;AAAA,EACd,IAAM0C;AACJ,QAAMpD,IAAI,CAAC,GAAG,MAAM,sBAAsByG,GAAG3G,CAAC,IAAI,CAAA,IAAKsI,GAAGtI,GAAG,KAAK,EAAE,IAAI,CAAA,EAAG,OAAO,CAAC,GAAG,CAAC,GAAGa,IAAIX,EAAE,CAAC,GAAG,IAAIA,EAAE,OAAO,CAACZ,GAAGoB,MAAM;AACzH,UAAM,IAAI0H,GAAGpI,GAAGU,GAAGE,CAAC;AACpB,WAAOtB,EAAE,MAAM0C,EAAE,EAAE,KAAK1C,EAAE,GAAG,GAAGA,EAAE,QAAQsD,GAAE,EAAE,OAAOtD,EAAE,KAAK,GAAGA,EAAE,SAASsD,GAAE,EAAE,QAAQtD,EAAE,MAAM,GAAGA,EAAE,OAAO0C,EAAE,EAAE,MAAM1C,EAAE,IAAI,GAAGA;AAAA,EAC/H,GAAG8I,GAAGpI,GAAGa,GAAGD,CAAC,CAAC;AACd,SAAO;AAAA,IACL,OAAO,EAAE,QAAQ,EAAE;AAAA,IACnB,QAAQ,EAAE,SAAS,EAAE;AAAA,IACrB,GAAG,EAAE;AAAA,IACL,GAAG,EAAE;AAAA,EACT;AACA;AACA,SAAS4H,GAAGlF,GAAG;AACb,QAAM;AAAA,IACJ,OAAOtD;AAAA,IACP,QAAQ;AAAA,EACZ,IAAMsH,GAAGhE,CAAC;AACR,SAAO;AAAA,IACL,OAAOtD;AAAA,IACP,QAAQ;AAAA,EACZ;AACA;AACA,SAASyI,GAAGnF,GAAGtD,GAAG,GAAG;AACnB,QAAM,IAAIC,EAAED,CAAC,GAAGY,IAAI,EAAEZ,CAAC,GAAGJ,IAAI,MAAM,SAAS,IAAIyB,GAAEiC,GAAG,IAAI1D,GAAGI,CAAC;AAC9D,MAAIa,IAAI;AAAA,IACN,YAAY;AAAA,IACZ,WAAW;AAAA,EACf;AACE,QAAMC,IAAIC,EAAE,CAAC;AACb,WAAS,IAAI;AACX,IAAAD,EAAE,IAAI6G,GAAG/G,CAAC;AAAA,EACZ;AACA,MAAI,KAAK,CAAC,KAAK,CAAChB;AACd,SAAKoD,GAAEhD,CAAC,MAAM,UAAU2C,GAAG/B,CAAC,OAAOC,IAAIsG,GAAGnH,CAAC,IAAI,GAAG;AAChD,YAAM,IAAIqB,GAAErB,GAAG,IAAIJ,GAAGI,CAAC;AACvB,MAAAc,EAAE,IAAI,EAAE,IAAId,EAAE,YAAYc,EAAE,IAAI,EAAE,IAAId,EAAE;AAAA,IAC1C,MAAO,CAAAY,KAAK,EAAC;AACf,EAAAhB,KAAK,CAAC,KAAKgB,KAAK,EAAC;AACjB,QAAMF,IAAIE,KAAK,CAAC,KAAK,CAAChB,IAAIgI,GAAGhH,GAAGC,CAAC,IAAIE,EAAE,CAAC,GAAGxB,IAAI,EAAE,OAAOsB,EAAE,aAAaC,EAAE,IAAIJ,EAAE,GAAGZ,IAAI,EAAE,MAAMe,EAAE,YAAYC,EAAE,IAAIJ,EAAE;AACpH,SAAO;AAAA,IACL,GAAGnB;AAAA,IACH,GAAGO;AAAA,IACH,OAAO,EAAE;AAAA,IACT,QAAQ,EAAE;AAAA,EACd;AACA;AACA,SAAS4I,GAAGpF,GAAG;AACb,SAAOnD,EAAEmD,CAAC,EAAE,aAAa;AAC3B;AACA,SAASqF,GAAGrF,GAAGtD,GAAG;AAChB,MAAI,CAACC,EAAEqD,CAAC,KAAKnD,EAAEmD,CAAC,EAAE,aAAa;AAC7B,WAAO;AACT,MAAItD;AACF,WAAOA,EAAEsD,CAAC;AACZ,MAAI,IAAIA,EAAE;AACV,SAAO,EAAEA,CAAC,MAAM,MAAM,IAAI,EAAE,cAAc,OAAO;AACnD;AACA,SAASsF,GAAGtF,GAAGtD,GAAG;AAChB,QAAM,IAAIK,EAAEiD,CAAC;AACb,MAAIqD,GAAGrD,CAAC;AACN,WAAO;AACT,MAAI,CAACrD,EAAEqD,CAAC,GAAG;AACT,QAAI1C,IAAIN,EAAEgD,CAAC;AACX,WAAO1C,KAAK,CAACiB,GAAEjB,CAAC,KAAK;AACnB,UAAIJ,EAAEI,CAAC,KAAK,CAAC8H,GAAG9H,CAAC;AACf,eAAOA;AACT,MAAAA,IAAIN,EAAEM,CAAC;AAAA,IACT;AACA,WAAO;AAAA,EACT;AACA,MAAI,IAAI+H,GAAGrF,GAAGtD,CAAC;AACf,SAAO,KAAKyG,GAAG,CAAC,KAAKiC,GAAG,CAAC;AACvB,QAAIC,GAAG,GAAG3I,CAAC;AACb,SAAO,KAAK6B,GAAE,CAAC,KAAK6G,GAAG,CAAC,KAAK,CAAC3B,GAAG,CAAC,IAAI,IAAI,KAAKE,GAAG3D,CAAC,KAAK;AAC1D;AACA,MAAMuF,KAAK,eAAevF,GAAG;AAC3B,QAAMtD,IAAI,KAAK,mBAAmB4I,IAAI,IAAI,KAAK,eAAe,IAAI,MAAM,EAAEtF,EAAE,QAAQ;AACpF,SAAO;AAAA,IACL,WAAWmF,GAAGnF,EAAE,WAAW,MAAMtD,EAAEsD,EAAE,QAAQ,GAAGA,EAAE,QAAQ;AAAA,IAC1D,UAAU;AAAA,MACR,GAAG;AAAA,MACH,GAAG;AAAA,MACH,OAAO,EAAE;AAAA,MACT,QAAQ,EAAE;AAAA,IAChB;AAAA,EACA;AACA;AACA,SAASwF,GAAGxF,GAAG;AACb,SAAOnD,EAAEmD,CAAC,EAAE,cAAc;AAC5B;AACA,MAAMyF,KAAK;AAAA,EACT,uDAAuDlB;AAAA,EACvD,oBAAoB;AAAA,EACpB,iBAAiBU;AAAA,EACjB,iBAAiBK;AAAA,EACjB,iBAAiBC;AAAA,EACjB,gBAAgBf;AAAA,EAChB,eAAeU;AAAA,EACf,UAAU1G;AAAA,EACV,WAAWtB;AAAA,EACX,OAAOsI;AACT;AACA,SAASE,GAAG1F,GAAGtD,GAAG;AAChB,SAAOsD,EAAE,MAAMtD,EAAE,KAAKsD,EAAE,MAAMtD,EAAE,KAAKsD,EAAE,UAAUtD,EAAE,SAASsD,EAAE,WAAWtD,EAAE;AAC7E;AACA,SAASiJ,GAAG3F,GAAGtD,GAAG;AAChB,MAAI,IAAI,MAAM;AACd,QAAMY,IAAI,EAAE0C,CAAC;AACb,WAAS1D,IAAI;AACX,QAAIiB;AACJ,iBAAa,CAAC,IAAIA,IAAI,MAAM,QAAQA,EAAE,cAAc,IAAI;AAAA,EAC1D;AACA,WAAS,EAAEA,GAAGC,GAAG;AACf,IAAAD,MAAM,WAAWA,IAAI,KAAKC,MAAM,WAAWA,IAAI,IAAIlB,EAAC;AACpD,UAAM,IAAI0D,EAAE,yBAAyB;AAAA,MACnC,MAAM5C;AAAA,MACN,KAAKnB;AAAA,MACL,OAAOO;AAAA,MACP,QAAQ;AAAA,IACd,IAAQ;AACJ,QAAIe,KAAKb,EAAC,GAAI,CAACF,KAAK,CAAC;AACnB;AACF,UAAM,IAAI+C,GAAGtD,CAAC,GAAGC,IAAIqD,GAAGjC,EAAE,eAAeF,IAAIZ,EAAE,GAAG0C,IAAIK,GAAGjC,EAAE,gBAAgBrB,IAAI,EAAE,GAAGiC,IAAIqB,GAAGnC,CAAC,GAAGhB,IAAI;AAAA,MACjG,YAAY,CAAC,IAAI,QAAQ,CAACF,IAAI,QAAQ,CAACgD,IAAI,QAAQ,CAAChB,IAAI;AAAA,MACxD,WAAWQ,EAAE,GAAGY,GAAE,GAAG9B,CAAC,CAAC,KAAK;AAAA,IAClC;AACI,QAAIH,IAAI;AACR,aAASd,EAAEJ,GAAG;AACZ,YAAMyD,IAAIzD,EAAE,CAAC,EAAE;AACf,UAAIyD,MAAMpC,GAAG;AACX,YAAI,CAACH;AACH,iBAAO,EAAC;AACV,QAAAuC,IAAI,EAAE,IAAIA,CAAC,IAAI,IAAI,WAAW,MAAM;AAClC,YAAE,IAAI,IAAI;AAAA,QACZ,GAAG,GAAG;AAAA,MACR;AACA,MAAAA,MAAM,KAAK,CAAC8F,GAAG,GAAG1F,EAAE,sBAAqB,CAAE,KAAK,KAAK3C,IAAI;AAAA,IAC3D;AACA,QAAI;AACF,UAAI,IAAI,qBAAqBd,GAAG;AAAA,QAC9B,GAAGH;AAAA;AAAA,QAEH,MAAMkB,EAAE;AAAA,MAChB,CAAO;AAAA,IACH,QAAQ;AACN,UAAI,IAAI,qBAAqBf,GAAGH,CAAC;AAAA,IACnC;AACA,MAAE,QAAQ4D,CAAC;AAAA,EACb;AACA,SAAO,EAAE,EAAE,GAAG1D;AAChB;AACA,SAASsJ,GAAG5F,GAAGtD,GAAG,GAAG,GAAG;AACtB,QAAM,WAAW,IAAI;AACrB,QAAM;AAAA,IACJ,gBAAgBY,IAAI;AAAA,IACpB,gBAAgBhB,IAAI;AAAA,IACpB,eAAe,IAAI,OAAO,kBAAkB;AAAA,IAC5C,aAAaiB,IAAI,OAAO,wBAAwB;AAAA,IAChD,gBAAgBC,IAAI;AAAA,EACxB,IAAM,GAAG,IAAIyG,GAAGjE,CAAC,GAAG5C,IAAIE,KAAKhB,IAAI,CAAC,GAAG,IAAIqC,GAAG,CAAC,IAAI,CAAA,GAAI,GAAGA,GAAGjC,CAAC,CAAC,IAAI,CAAA;AAC/D,EAAAU,EAAE,QAAQ,CAACc,MAAM;AACf,IAAAZ,KAAKY,EAAE,iBAAiB,UAAU,GAAG;AAAA,MACnC,SAAS;AAAA,IACf,CAAK,GAAG5B,KAAK4B,EAAE,iBAAiB,UAAU,CAAC;AAAA,EACzC,CAAC;AACD,QAAMjC,IAAI,KAAKsB,IAAIoI,GAAG,GAAG,CAAC,IAAI;AAC9B,MAAInJ,IAAI,IAAI,IAAI;AAChB,QAAM,IAAI,IAAI,eAAe,CAAC0B,MAAM;AAClC,QAAI,CAACf,CAAC,IAAIe;AACV,IAAAf,KAAKA,EAAE,WAAW,KAAK,MAAM,EAAE,UAAUT,CAAC,GAAG,qBAAqBF,CAAC,GAAGA,IAAI,sBAAsB,MAAM;AACpG,UAAIJ;AACJ,OAACA,IAAI,MAAM,QAAQA,EAAE,QAAQM,CAAC;AAAA,IAChC,CAAC,IAAI,EAAC;AAAA,EACR,CAAC,GAAG,KAAK,CAACc,KAAK,EAAE,QAAQ,CAAC,GAAG,EAAE,QAAQd,CAAC;AACxC,MAAI,GAAGR,IAAIsB,IAAIO,GAAEiC,CAAC,IAAI;AACtB,EAAAxC,KAAK0B,EAAC;AACN,WAASA,IAAI;AACX,UAAMhB,IAAIH,GAAEiC,CAAC;AACb,IAAA9D,KAAK,CAACwJ,GAAGxJ,GAAGgC,CAAC,KAAK,KAAKhC,IAAIgC,GAAG,IAAI,sBAAsBgB,CAAC;AAAA,EAC3D;AACA,SAAO,EAAC,GAAI,MAAM;AAChB,QAAIhB;AACJ,IAAAd,EAAE,QAAQ,CAACD,MAAM;AACf,MAAAG,KAAKH,EAAE,oBAAoB,UAAU,CAAC,GAAGb,KAAKa,EAAE,oBAAoB,UAAU,CAAC;AAAA,IACjF,CAAC,GAAGlB,IAAC,IAAOiC,IAAI,MAAM,QAAQA,EAAE,WAAU,GAAI,IAAI,MAAMV,KAAK,qBAAqB,CAAC;AAAA,EACrF;AACF;AACA,MAAMqI,KAAKlD,IAAImD,KAAKlD,IAAImD,KAAKxD,IAAIyD,KAAK1D,IAAI2D,KAAKpD,IAAIqD,KAAK,CAAClG,GAAGtD,GAAG,MAAM;AACnE,QAAM,IAAoB,oBAAI,IAAG,GAAIY,IAAI;AAAA,IACvC,UAAUmI;AAAA,IACV,GAAG;AAAA,EACP,GAAKnJ,IAAI;AAAA,IACL,GAAGgB,EAAE;AAAA,IACL,IAAI;AAAA,EACR;AACE,SAAO8E,GAAGpC,GAAGtD,GAAG;AAAA,IACd,GAAGY;AAAA,IACH,UAAUhB;AAAA,EACd,CAAG;AACH;AACA,SAAS6J,GAAGnG,GAAGtD,GAAG,GAAG;AACnB,SAAO,OAAOsD,EAAE,OAAO;AAAA,IACrB,MAAMtD,KAAK,OAAO,GAAGA,CAAC,OAAO;AAAA,IAC7B,KAAK,KAAK,OAAO,GAAG,CAAC,OAAO;AAAA,EAChC,CAAG;AACH;AACA,SAAS0J,GAAGpG,GAAGtD,GAAG;AAChB,MAAI,IAAIsD,EAAE,OAAO,IAAI,aAAa;AAClC,SAAO,KAAK,aAAa,EAAE,QAAQ,GAAG,IAAI,OAAO,IAAI,EAAE,MAAM,GAAG,IAAI,EAAE,QAAQ,GAAG,IAAI,OAAO,IAAI,EAAE,MAAM,GAAG,KAAK,MAAM,QAAQ,CAAC,MAAM,IAAI,EAAEtD,CAAC;AAC5I,QAAM,IAAI,OAAO,CAAC;AAClB,MAAI,OAAO,MAAM,CAAC;AAChB,UAAM,IAAI,MAAM,0CAA0C,CAAC,GAAG;AAChE,SAAO;AACT;AACA,SAAS2J,GAAGrG,GAAG;AACb,MAAItD;AACJ,QAAM,IAAI,OAAOsD,KAAK,WAAWA,EAAE,KAAI,EAAG,MAAM,GAAG,EAAE,IAAI,CAAC,MAAM,WAAW,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAACA,CAAC;AAC5G,WAAS,IAAI,GAAG,IAAI,EAAE,QAAQ;AAC5B,MAAE,CAAC,IAAI,OAAO,EAAE,CAAC,CAAC;AACpB,UAAQ,EAAE,QAAM;AAAA,IACd,KAAK;AACH,MAAAtD,IAAI,EAAE,CAAC;AACP;AAAA,IACF,KAAK;AACH,MAAAA,IAAI;AAAA,QACF,KAAK,EAAE,CAAC;AAAA,QACR,OAAO,EAAE,CAAC;AAAA,QACV,QAAQ,EAAE,CAAC;AAAA,QACX,MAAM,EAAE,CAAC;AAAA,MACjB;AACM;AAAA,IACF,KAAK;AACH,MAAAA,IAAI;AAAA,QACF,KAAK,EAAE,CAAC;AAAA,QACR,OAAO,EAAE,CAAC;AAAA,QACV,QAAQ,EAAE,CAAC;AAAA,QACX,MAAM,EAAE,CAAC;AAAA,MACjB;AACM;AAAA,IACF,KAAK;AACH,MAAAA,IAAI;AAAA,QACF,KAAK,EAAE,CAAC;AAAA,QACR,OAAO,EAAE,CAAC;AAAA,QACV,QAAQ,EAAE,CAAC;AAAA,QACX,MAAM,EAAE,CAAC;AAAA,MACjB;AACM;AAAA,IACF;AACE,MAAAA,IAAI;AACJ;AAAA,EACN;AACE,SAAOA;AACT;AACA,SAAS4J,GAAGtG,GAAG;AACb,SAAO;AAAA,IACL,QAAQ,OAAOA,EAAE,OAAO,IAAI,QAAQ,CAAC;AAAA,IACrC,MAAM;AAAA,MACJ,SAASqG,GAAGrG,EAAE,OAAO,IAAI,aAAa,CAAC;AAAA,IAC7C;AAAA,IACI,OAAO;AAAA,MACL,SAASqG,GAAGrG,EAAE,OAAO,IAAI,cAAc,CAAC;AAAA,IAC9C;AAAA,IACI,OAAO;AAAA,MACL,UAAUA,EAAE,OAAO,IAAI,eAAe;AAAA,MACtC,SAAS;AAAA,MACT,SAASqG,GAAGrG,EAAE,OAAO,IAAI,cAAc,CAAC;AAAA,IAC9C;AAAA,EACA;AACA;AACA,eAAeuG,GAAGvG,GAAG;AACnB,SAAOA,KAAKA,EAAE,UAAU,aAAaA,EAAE,GAAG,QAAQ,IAAIA,EAAE,GAAG,UAAU,OAAOA,EAAE,OAAO,IAAI,aAAa,CAAC,GAAGA,EAAE,aAAaA,EAAE,SAAS,aAAa,iBAAiB,OAAO,GAAGA,EAAE,gBAAe,GAAIA,EAAE,QAAQ,UAAUA,EAAE,YAAYA,EAAE,OAAO,YAAYA,EAAE,OAAO,UAAU,OAAOA,EAAE,GAAG;AAAA,IACrR,IAAI,YAAYA,EAAE,OAAO,IAAI,mBAAmB,IAAI,UAAU;AAAA,MAC5D,QAAQA,EAAE;AAAA,MACV,SAAS;AAAA,IACf,CAAK;AAAA,EACL,GAAK,MAAMA,EAAE,OAAO,KAAK,UAAUA,CAAC,IAAIA;AACxC;AACA,eAAewG,GAAGxG,GAAG;AACnB,QAAMtD,IAAI,CAAA;AACV,aAAW,KAAKsD,EAAE;AAChB,MAAE,UAAU,YAAYtD,EAAE,KAAK,MAAM,EAAE,OAAO;AAChD,SAAOA;AACT;AACA,SAAS+J,GAAGzG,GAAG;AACb,EAAAA,EAAE,SAAS,YAAY,WAAW,OAAO,SAAS,eAAe;AAAA,IAC/D,IAAIA,EAAE,EAAE,qBAAqBA,EAAE,EAAE,0BAA0BA,EAAE,EAAE;AAAA,EACnE,KAAOA,EAAE,MAAK,GAAIA,IAAI,CAAC;AACvB;AACA,SAAS0G,GAAG1G,GAAG;AACb,EAAAA,EAAE,UAAU,WAAWA,EAAE,MAAK,KAAM,KAAK,UAAUA,EAAE,SAASA,EAAE,KAAI;AACtE;AACA,SAAS2G,GAAG3G,GAAG;AACb,EAAAA,EAAE,cAAcA,EAAE,iBAAiB,aAAaA,EAAE,aAAa,GAAGA,EAAE;AACtE;AACA,SAAS4G,GAAG5G,GAAGtD,GAAG;AAChB,MAAI,EAAEA,aAAa,gBAAgBsD,EAAE,YAAYtD,GAAGA,EAAE,QAAQ,WAAWsD,EAAE,WAAW,CAACA,EAAE,QAAQ,QAAQ,gBAAgB;AACvH;AACF,EAAAA,EAAE,iBAAiB,aAAaA,EAAE,aAAa;AAC/C,QAAM,IAAIA,EAAE,SAAS,aAAa,eAAe;AACjD,MAAI,KAAK,KAAK,OAAQ;AACtB,QAAM,IAAI,KAAK,cAAc,IAAIoG,GAAGpG,GAAG,CAAC;AACxC,OAAK,eAAe,KAAK,YAAY,MAAK,GAAIA,EAAE,gBAAgB,WAAW,MAAM;AAC/E,IAAAA,EAAE,MAAMA,EAAE,KAAI;AAAA,EAChB,GAAG,CAAC;AACN;AACA,SAAS6G,GAAG7G,GAAGtD,GAAG;AAChB,EAAAA,aAAa,cAAc,WAAW,MAAM;AAC1C,IAAAsD,EAAE,YAAYtD,GAAG,CAACsD,EAAE,cAAcA,EAAE,iBAAiB,aAAaA,EAAE,aAAa,GAAGA,EAAE,gBAAgB;AAAA,MACpG,MAAMyG,GAAGzG,CAAC;AAAA,MACVoG,GAAGpG,GAAG,CAAC;AAAA,IACb;AAAA,EACE,GAAG,CAAC;AACN;AACA,SAAS8G,GAAG9G,GAAG;AACb,UAAQA,EAAE,KAAG;AAAA,IACX,KAAK;AACH,WAAK,WAAW,KAAK,QAAQ,MAAK,GAAIwG,GAAG,IAAI;AAC7C;AAAA,IACF,KAAK;AACH,WAAK,WAAW,QAAQ,CAAC9J,MAAM;AAC7B,QAAA+J,GAAG/J,CAAC;AAAA,MACN,CAAC;AACD;AAAA,IACF;AACE;AAAA,EACN;AACA;AACA,SAASqK,GAAG/G,GAAG;AACb,WAAS,iBAAiB,SAAS,SAAStD,EAAE,GAAG;AAC/C,UAAM,IAAI,EAAE;AACZ,UAAM,EAAE;AAAA,MACN,IAAIsD,EAAE,EAAE,qBAAqBA,EAAE,EAAE,0BAA0BA,EAAE,EAAE;AAAA,IACrE,IAAQA,EAAE,MAAM,CAACA,EAAE,GAAG,UAAU,SAASA,EAAE,OAAO,IAAI,aAAa,CAAC,KAAK,KAAK,oBAAoB,SAAStD,CAAC,KAAKsD,EAAE,MAAMA,EAAE,GAAG,UAAU,SAASA,EAAE,OAAO,IAAI,aAAa,CAAC,KAAKA,EAAE,SAAS,KAAK,oBAAoB,SAAStD,CAAC;AAAA,EAC7N,CAAC;AACH;AACA,eAAesK,GAAGhH,GAAG;AACnB,EAAAA,EAAE,GAAG,QAAQ,IAAIA,EAAE,GAAG,UAAU,IAAIA,EAAE,OAAO,IAAI,aAAa,CAAC,GAAGA,EAAE,aAAaA,EAAE,SAAS,aAAa,iBAAiB,MAAM,GAAG,MAAMA,EAAE,OAAO,KAAK,qBAAqBA,CAAC;AAC7K,QAAMtD,IAAI4J,GAAGtG,CAAC,GAAG,IAAIA,EAAE,GAAG;AAAA,IACxBtD,EAAE,MAAM;AAAA,EACZ;AACE,SAAOA,EAAE,MAAM,UAAU,KAAK,MAAMsD,EAAE,mBAAmB,gBAAgBA,EAAE,kBAAkB4F,GAAG5F,EAAE,SAASA,EAAE,IAAI,MAAM;AACrH,UAAM,IAAI;AAAA,MACR+F,GAAGrJ,EAAE,IAAI;AAAA,MACToJ,GAAG,EAAE,GAAGpJ,EAAE,OAAO,SAASuJ,GAAE,GAAI;AAAA,MAChCJ,GAAGnJ,EAAE,MAAM;AAAA,IACjB;AACI,IAAAA,EAAE,MAAM,WAAW,EAAE;AAAA,MACnBsJ,GAAG;AAAA,QACD,GAAGtJ,EAAE;AAAA,QACL,SAASA,EAAE,MAAM;AAAA,MACzB,CAAO;AAAA,IACP,GAAOwJ,GAAGlG,EAAE,SAASA,EAAE,IAAI;AAAA,MACrB,WAAWA,EAAE,OAAO,IAAI,WAAW;AAAA,MACnC,YAAY;AAAA,IAClB,CAAK,EAAE,KAAK,CAAC,EAAE,GAAG1C,GAAG,GAAGhB,GAAG,WAAW,GAAG,gBAAgBiB,EAAC,MAAO;AAC3D,UAAIyC,EAAE,IAAI;AACR,YAAImG,GAAGnG,EAAE,IAAI1C,GAAGhB,CAAC,GAAGI,EAAE,MAAM,WAAWa,EAAE,OAAO;AAC9C,gBAAM,EAAE,GAAGC,GAAG,GAAG,EAAC,IAAKD,EAAE;AACzB,UAAA4I,GAAGzJ,EAAE,MAAM,SAASc,GAAG,CAAC;AAAA,QAC1B;AACA,QAAAwC,EAAE,GAAG,aAAa,2BAA2B,CAAC;AAAA,MAChD;AAAA,IACF,CAAC;AAAA,EACH,CAAC,IAAIA,EAAE,QAAQ,UAAUA,EAAE,OAAO,IAAI,OAAO,MAAM,WAAW+G,GAAG,KAAK/G,EAAE,QAAQA,CAAC,GAAGA,EAAE,GAAG;AAAA,IACvF,IAAI,YAAYA,EAAE,OAAO,IAAI,mBAAmB,IAAI,UAAU;AAAA,MAC5D,QAAQA,EAAE;AAAA,MACV,SAAS;AAAA,IACf,CAAK;AAAA,EACL,GAAK,MAAMA,EAAE,OAAO,KAAK,UAAUA,CAAC,GAAGA;AACvC;AACA,MAAMiH,WAAWrG,GAAG;AAAA,EAClB,YAAYlE,GAAG,GAAG;AAChB,UAAMA,GAAG,CAAC,GAAG,KAAK,KAAK,CAAA,GAAI,KAAK,KAAK;AAAA,MACnC,IAAI;AAAA,MACJ,SAAS;AAAA,IACf,GAAO,KAAK,QAAQ,UAAU,KAAK,UAAU,MAAM,KAAK,gBAAgB,MAAM,KAAK,kBAAkB,MAAM;AAAA,IACvG;AAAA,EACF;AAAA,EACA;AAAA,EACA;AAAA,EACA,IAAI,YAAY;AACd,WAAO,CAAC,CAAC,KAAK,GAAG,QAAQ,KAAK,OAAO,IAAI,iBAAiB,CAAC,KAAK,KAAK,GAAG,aAAa,MAAM,KAAK;AAAA,EAClG;AAAA,EACA,IAAI,YAAY;AACd,WAAO,KAAK,GAAG,MAAM,KAAK,GAAG;AAAA,EAC/B;AAAA,EACA,IAAI,UAAUA,GAAG;AACf,UAAM,IAAIA,EAAE,QAAQ,eAAe,KAAKA,EAAE,QAAQ,eAAe,KAAK;AACtE,QAAI,KAAK;AACP,cAAQA,EAAE,QAAM;AAAA,QACd,KAAK,KAAK;AACR,eAAK,GAAG,KAAK;AACb;AAAA,QACF,KAAK,KAAK;AACR,eAAK,GAAG,UAAU;AAClB;AAAA,MACV;AAAA,EACE;AAAA,EACA,MAAM,OAAO;AACX,WAAOsK,GAAG,IAAI;AAAA,EAChB;AAAA,EACA,MAAM,QAAQ;AACZ,WAAOT,GAAG,IAAI;AAAA,EAChB;AAAA,EACA,MAAM,aAAa;AACjB,WAAO,KAAK,OAAO,WAAW,IAAI;AAAA,EACpC;AAAA,EACA,yBAAyB;AACvB,SAAK,GAAG,WAAW,KAAK,OAAO,IAAI,OAAO,MAAM,WAAW,KAAK,KAAK;AAAA,MACnE;AAAA,QACE,IAAI,CAAC,MAAM,SAAS;AAAA,QACpB,MAAM,CAAC,cAAc,OAAO;AAAA,QAC5B,UAAUK,GAAG,KAAK,KAAK,QAAQ,IAAI;AAAA,MAC3C;AAAA,MACM;AAAA,QACE,IAAI,CAAC,MAAM,SAAS;AAAA,QACpB,MAAM,CAAC,cAAc,UAAU;AAAA,QAC/B,UAAUC,GAAG,KAAK,KAAK,QAAQ,IAAI;AAAA,MAC3C;AAAA,MACM;AAAA,QACE,IAAI,CAAC,SAAS;AAAA,QACd,MAAM,CAAC,OAAO;AAAA,QACd,UAAUF,GAAG,KAAK,KAAK,QAAQ,IAAI;AAAA,MAC3C;AAAA,IACA,GAAO,KAAK,GAAG,QAAQ,CAAC1J,MAAM;AACxB,MAAAA,EAAE,GAAG,QAAQ,CAACZ,MAAM;AAClB,QAAAY,EAAE,KAAK,QAAQ,CAACK,MAAM;AACpB,eAAKjB,CAAC,EAAE;AAAA,YACNiB;AAAA,YACAL,EAAE;AAAA,YACF;AAAA,UACZ;AAAA,QACQ,CAAC;AAAA,MACH,CAAC;AAAA,IACH,CAAC,MAAM,KAAK,KAAK;AAAA,MACf;AAAA,QACE,IAAI,CAAC,SAAS;AAAA,QACd,MAAM,CAAC,OAAO;AAAA,QACd,UAAUyJ,GAAG,KAAK,KAAK,QAAQ,IAAI;AAAA,MAC3C;AAAA,IACA,GAAO,KAAK,GAAG,QAAQ,CAACzJ,MAAM;AACxB,MAAAA,EAAE,GAAG,QAAQ,CAACZ,MAAM;AAClB,QAAAY,EAAE,KAAK,QAAQ,CAACK,MAAM;AACpB,eAAKjB,CAAC,EAAE;AAAA,YACNiB;AAAA,YACAL,EAAE;AAAA,YACF;AAAA,UACZ;AAAA,QACQ,CAAC;AAAA,MACH,CAAC;AAAA,IACH,CAAC;AAAA,EACH;AAAA,EACA,2BAA2B;AACzB,SAAK,OAAO,KAAK,GAAG,QAAQ,CAACP,MAAM;AACjC,MAAAA,EAAE,GAAG,QAAQ,CAAC,MAAM;AAClB,QAAAA,EAAE,KAAK,QAAQ,CAAC,MAAM;AACpB,eAAK,CAAC,EAAE;AAAA,YACN;AAAA,YACAA,EAAE;AAAA,YACF;AAAA,UACZ;AAAA,QACQ,CAAC;AAAA,MACH,CAAC;AAAA,IACH,CAAC,GAAG,KAAK,KAAK;EAChB;AAAA,EACA,MAAM,gBAAgB;AACpB,SAAK,UAAU,SAAS;AAAA,MACtB,mBAAmB,KAAK,EAAE,0BAA0B,KAAK,EAAE;AAAA,IACjE,GAAO,KAAK,aAAa,KAAK,OAAO,IAAI,EAAE,OAAO,QAAO,CAAE,GAAG,KAAK,GAAG,aAAa,QAAQ,SAAS,KAAK,KAAK,WAAW,KAAK,mBAAmB,eAAe,KAAK,QAAQ,aAAa,iBAAiB,OAAO;AAAA,EAChN;AAAA,EACA,MAAM,kBAAkB;AACtB,SAAK,uBAAsB,GAAI,KAAK,GAAG,UAAU,SAAS,KAAK,OAAO,IAAI,aAAa,CAAC,IAAI,MAAM,KAAK,KAAI,IAAK,KAAK,GAAG,QAAQ;AAAA,EAClI;AAAA,EACA,MAAM,iBAAiB;AACrB,SAAK,UAAU,YAAY,MAAM,KAAK,SAAS,KAAK,gBAAe,GAAI,KAAK,yBAAwB;AAAA,EACtG;AACF;AACA,MAAMwK,WAAWpG,GAAG;AAAA,EAClB,YAAYpE,GAAG;AACb,UAAM,EAAE,GAAGqE,IAAI,GAAGrE,EAAC,CAAE,GAAG,KAAK,aAAauK,IAAI,KAAK,OAAO,WAAW,KAAK,UAAU,MAAM,KAAK,KAAKH,GAAG,KAAK,IAAI;AAAA,EAClH;AAAA,EACA;AAAA,EACA,IAAI,SAAS;AACX,WAAO,KAAK,IAAI,UAAU,OAAO;AAAA,EACnC;AAAA,EACA,IAAI,cAAc;AAChB,WAAO,KAAK,WAAW,KAAK,CAACpK,MAAMA,EAAE,SAAS,YAAYA,EAAE,OAAO,IAAI,OAAO,KAAK,OAAO;AAAA,EAC5F;AAAA,EACA,MAAM,KAAKA,GAAG;AACZ,UAAM,IAAI,KAAK,WAAWA,CAAC;AAC3B,WAAOsK,GAAG,CAAC;AAAA,EACb;AAAA,EACA,MAAM,MAAMtK,GAAG;AACb,UAAM,IAAIA,IAAI,KAAK,WAAWA,CAAC,IAAI;AACnC,WAAO,IAAI6J,GAAG,CAAC,IAAIC,GAAG,IAAI;AAAA,EAC5B;AAAA,EACA,MAAM,aAAa;AACjB,aAAS,iBAAiB,WAAW,KAAK,IAAI,EAAE;AAAA,EAClD;AAAA,EACA,MAAM,gBAAgB;AACpB,SAAK,UAAU;AAAA,EACjB;AAAA,EACA,MAAM,eAAe;AACnB,aAAS,oBAAoB,WAAW,KAAK,IAAI,EAAE;AAAA,EACrD;AACF;"}
|