@evelan/jexity-widget 0.10.5-canary.21 → 0.10.5

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.
@@ -1 +1 @@
1
- {"version":3,"file":"react.mjs","sources":["../src/entries/react.tsx","index.mjs"],"sourcesContent":["import {\n createContext,\n createElement,\n useContext,\n useEffect,\n useRef,\n useState,\n} from 'react'\nimport type { ReactNode } from 'react'\nimport type { JexityChatOptions, JexityChatInstance } from '../types'\n\ninterface JexityChatContextValue {\n open: () => void\n close: () => void\n toggle: () => void\n isOpen: boolean\n}\n\nconst JexityChatContext = createContext<JexityChatContextValue | null>(null)\n\nexport interface JexityChatProviderProps extends JexityChatOptions {\n children?: ReactNode\n}\n\nexport function JexityChatProvider(props: JexityChatProviderProps) {\n const { children, ...options } = props\n const [isOpen, setIsOpen] = useState(false)\n const instanceRef = useRef<JexityChatInstance | null>(null)\n const unsubRef = useRef<(() => void) | null>(null)\n const containerRef = useRef<HTMLDivElement | null>(null)\n\n const embedded = options.mode === 'embedded'\n\n useEffect(() => {\n let cancelled = false\n\n // @ts-expect-error -- resolved at runtime, not in TS source tree\n import('./index.mjs').then(\n (mod: { JexityChat: (opts: JexityChatOptions) => JexityChatInstance }) => {\n if (cancelled) { return }\n\n // In embedded mode, mount into the provider's own container div.\n // In floating mode, let JexityChat create its own div on document.body.\n const mountOptions = embedded && containerRef.current\n ? { ...options, container: containerRef.current }\n : options\n\n const inst = mod.JexityChat(mountOptions)\n instanceRef.current = inst\n unsubRef.current = inst.subscribe((open) => { setIsOpen(open) })\n },\n ).catch((err: unknown) => {\n if (!cancelled) {\n console.error('[jexity] Failed to load widget core:', err)\n }\n })\n\n return () => {\n cancelled = true\n unsubRef.current?.()\n instanceRef.current?.shutdown()\n instanceRef.current = null\n unsubRef.current = null\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [options.orgSlug, options.projSlug])\n\n const value: JexityChatContextValue = {\n open: () => { instanceRef.current?.open() },\n close: () => { instanceRef.current?.close() },\n toggle: () => { instanceRef.current?.toggle() },\n isOpen,\n }\n\n // In embedded mode, render a host div that the widget mounts into.\n // In floating mode, render children only (widget mounts on document.body).\n return createElement(\n JexityChatContext.Provider,\n { value },\n embedded\n ? createElement('div', {\n ref: containerRef,\n style: { width: '100%', height: '100%' },\n })\n : children,\n )\n}\n\nexport function useJexityChat(): JexityChatContextValue {\n const ctx = useContext(JexityChatContext)\n if (!ctx) {\n throw new Error('useJexityChat must be used within a <JexityChatProvider>')\n }\n return ctx\n}\n","var Xe, m, Cr, Rr, ce, Pn, Tr, $r, Ar, ln, Dt, Ut, Ir, We = {}, Er = [], Fi = /acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i, Ye = Array.isArray;\nfunction Y(t, e) {\n for (var n in e) t[n] = e[n];\n return t;\n}\nfunction cn(t) {\n t && t.parentNode && t.parentNode.removeChild(t);\n}\nfunction z(t, e, n) {\n var r, i, s, o = {};\n for (s in e) s == \"key\" ? r = e[s] : s == \"ref\" ? i = e[s] : o[s] = e[s];\n if (arguments.length > 2 && (o.children = arguments.length > 3 ? Xe.call(arguments, 2) : n), typeof t == \"function\" && t.defaultProps != null) for (s in t.defaultProps) o[s] === void 0 && (o[s] = t.defaultProps[s]);\n return Fe(t, o, r, i, null);\n}\nfunction Fe(t, e, n, r, i) {\n var s = { type: t, props: e, key: n, ref: r, __k: null, __: null, __b: 0, __e: null, __c: null, constructor: void 0, __v: i ?? ++Cr, __i: -1, __u: 0 };\n return i == null && m.vnode != null && m.vnode(s), s;\n}\nfunction Di() {\n return { current: null };\n}\nfunction Q(t) {\n return t.children;\n}\nfunction V(t, e) {\n this.props = t, this.context = e;\n}\nfunction je(t, e) {\n if (e == null) return t.__ ? je(t.__, t.__i + 1) : null;\n for (var n; e < t.__k.length; e++) if ((n = t.__k[e]) != null && n.__e != null) return n.__e;\n return typeof t.type == \"function\" ? je(t) : null;\n}\nfunction Pr(t) {\n var e, n;\n if ((t = t.__) != null && t.__c != null) {\n for (t.__e = t.__c.base = null, e = 0; e < t.__k.length; e++) if ((n = t.__k[e]) != null && n.__e != null) {\n t.__e = t.__c.base = n.__e;\n break;\n }\n return Pr(t);\n }\n}\nfunction Vt(t) {\n (!t.__d && (t.__d = !0) && ce.push(t) && !ft.__r++ || Pn != m.debounceRendering) && ((Pn = m.debounceRendering) || Tr)(ft);\n}\nfunction ft() {\n for (var t, e, n, r, i, s, o, l = 1; ce.length; ) ce.length > l && ce.sort($r), t = ce.shift(), l = ce.length, t.__d && (n = void 0, r = void 0, i = (r = (e = t).__v).__e, s = [], o = [], e.__P && ((n = Y({}, r)).__v = r.__v + 1, m.vnode && m.vnode(n), un(e.__P, n, r, e.__n, e.__P.namespaceURI, 32 & r.__u ? [i] : null, s, i ?? je(r), !!(32 & r.__u), o), n.__v = r.__v, n.__.__k[n.__i] = n, Lr(s, n, o), r.__e = r.__ = null, n.__e != i && Pr(n)));\n ft.__r = 0;\n}\nfunction qr(t, e, n, r, i, s, o, l, a, h, d) {\n var c, p, f, g, x, k, _, w = r && r.__k || Er, H = e.length;\n for (a = Ui(n, e, w, a, H), c = 0; c < H; c++) (f = n.__k[c]) != null && (p = f.__i == -1 ? We : w[f.__i] || We, f.__i = c, k = un(t, f, p, i, s, o, l, a, h, d), g = f.__e, f.ref && p.ref != f.ref && (p.ref && hn(p.ref, null, f), d.push(f.ref, f.__c || g, f)), x == null && g != null && (x = g), (_ = !!(4 & f.__u)) || p.__k === f.__k ? a = Mr(f, a, t, _) : typeof f.type == \"function\" && k !== void 0 ? a = k : g && (a = g.nextSibling), f.__u &= -7);\n return n.__e = x, a;\n}\nfunction Ui(t, e, n, r, i) {\n var s, o, l, a, h, d = n.length, c = d, p = 0;\n for (t.__k = new Array(i), s = 0; s < i; s++) (o = e[s]) != null && typeof o != \"boolean\" && typeof o != \"function\" ? (a = s + p, (o = t.__k[s] = typeof o == \"string\" || typeof o == \"number\" || typeof o == \"bigint\" || o.constructor == String ? Fe(null, o, null, null, null) : Ye(o) ? Fe(Q, { children: o }, null, null, null) : o.constructor == null && o.__b > 0 ? Fe(o.type, o.props, o.key, o.ref ? o.ref : null, o.__v) : o).__ = t, o.__b = t.__b + 1, l = null, (h = o.__i = Vi(o, n, a, c)) != -1 && (c--, (l = n[h]) && (l.__u |= 2)), l == null || l.__v == null ? (h == -1 && (i > d ? p-- : i < d && p++), typeof o.type != \"function\" && (o.__u |= 4)) : h != a && (h == a - 1 ? p-- : h == a + 1 ? p++ : (h > a ? p-- : p++, o.__u |= 4))) : t.__k[s] = null;\n if (c) for (s = 0; s < d; s++) (l = n[s]) != null && (2 & l.__u) == 0 && (l.__e == r && (r = je(l)), Nr(l, l));\n return r;\n}\nfunction Mr(t, e, n, r) {\n var i, s;\n if (typeof t.type == \"function\") {\n for (i = t.__k, s = 0; i && s < i.length; s++) i[s] && (i[s].__ = t, e = Mr(i[s], e, n, r));\n return e;\n }\n t.__e != e && (r && (e && t.type && !e.parentNode && (e = je(t)), n.insertBefore(t.__e, e || null)), e = t.__e);\n do\n e = e && e.nextSibling;\n while (e != null && e.nodeType == 8);\n return e;\n}\nfunction ee(t, e) {\n return e = e || [], t == null || typeof t == \"boolean\" || (Ye(t) ? t.some(function(n) {\n ee(n, e);\n }) : e.push(t)), e;\n}\nfunction Vi(t, e, n, r) {\n var i, s, o, l = t.key, a = t.type, h = e[n], d = h != null && (2 & h.__u) == 0;\n if (h === null && t.key == null || d && l == h.key && a == h.type) return n;\n if (r > (d ? 1 : 0)) {\n for (i = n - 1, s = n + 1; i >= 0 || s < e.length; ) if ((h = e[o = i >= 0 ? i-- : s++]) != null && (2 & h.__u) == 0 && l == h.key && a == h.type) return o;\n }\n return -1;\n}\nfunction qn(t, e, n) {\n e[0] == \"-\" ? t.setProperty(e, n ?? \"\") : t[e] = n == null ? \"\" : typeof n != \"number\" || Fi.test(e) ? n : n + \"px\";\n}\nfunction st(t, e, n, r, i) {\n var s, o;\n e: if (e == \"style\") if (typeof n == \"string\") t.style.cssText = n;\n else {\n if (typeof r == \"string\" && (t.style.cssText = r = \"\"), r) for (e in r) n && e in n || qn(t.style, e, \"\");\n if (n) for (e in n) r && n[e] == r[e] || qn(t.style, e, n[e]);\n }\n else if (e[0] == \"o\" && e[1] == \"n\") s = e != (e = e.replace(Ar, \"$1\")), o = e.toLowerCase(), e = o in t || e == \"onFocusOut\" || e == \"onFocusIn\" ? o.slice(2) : e.slice(2), t.l || (t.l = {}), t.l[e + s] = n, n ? r ? n.u = r.u : (n.u = ln, t.addEventListener(e, s ? Ut : Dt, s)) : t.removeEventListener(e, s ? Ut : Dt, s);\n else {\n if (i == \"http://www.w3.org/2000/svg\") e = e.replace(/xlink(H|:h)/, \"h\").replace(/sName$/, \"s\");\n else if (e != \"width\" && e != \"height\" && e != \"href\" && e != \"list\" && e != \"form\" && e != \"tabIndex\" && e != \"download\" && e != \"rowSpan\" && e != \"colSpan\" && e != \"role\" && e != \"popover\" && e in t) try {\n t[e] = n ?? \"\";\n break e;\n } catch {\n }\n typeof n == \"function\" || (n == null || n === !1 && e[4] != \"-\" ? t.removeAttribute(e) : t.setAttribute(e, e == \"popover\" && n == 1 ? \"\" : n));\n }\n}\nfunction Mn(t) {\n return function(e) {\n if (this.l) {\n var n = this.l[e.type + t];\n if (e.t == null) e.t = ln++;\n else if (e.t < n.u) return;\n return n(m.event ? m.event(e) : e);\n }\n };\n}\nfunction un(t, e, n, r, i, s, o, l, a, h) {\n var d, c, p, f, g, x, k, _, w, H, J, ie, F, En, it, qe, It, G = e.type;\n if (e.constructor != null) return null;\n 128 & n.__u && (a = !!(32 & n.__u), s = [l = e.__e = n.__e]), (d = m.__b) && d(e);\n e: if (typeof G == \"function\") try {\n if (_ = e.props, w = \"prototype\" in G && G.prototype.render, H = (d = G.contextType) && r[d.__c], J = d ? H ? H.props.value : d.__ : r, n.__c ? k = (c = e.__c = n.__c).__ = c.__E : (w ? e.__c = c = new G(_, J) : (e.__c = c = new V(_, J), c.constructor = G, c.render = Hi), H && H.sub(c), c.props = _, c.state || (c.state = {}), c.context = J, c.__n = r, p = c.__d = !0, c.__h = [], c._sb = []), w && c.__s == null && (c.__s = c.state), w && G.getDerivedStateFromProps != null && (c.__s == c.state && (c.__s = Y({}, c.__s)), Y(c.__s, G.getDerivedStateFromProps(_, c.__s))), f = c.props, g = c.state, c.__v = e, p) w && G.getDerivedStateFromProps == null && c.componentWillMount != null && c.componentWillMount(), w && c.componentDidMount != null && c.__h.push(c.componentDidMount);\n else {\n if (w && G.getDerivedStateFromProps == null && _ !== f && c.componentWillReceiveProps != null && c.componentWillReceiveProps(_, J), !c.__e && c.shouldComponentUpdate != null && c.shouldComponentUpdate(_, c.__s, J) === !1 || e.__v == n.__v) {\n for (e.__v != n.__v && (c.props = _, c.state = c.__s, c.__d = !1), e.__e = n.__e, e.__k = n.__k, e.__k.some(function(be) {\n be && (be.__ = e);\n }), ie = 0; ie < c._sb.length; ie++) c.__h.push(c._sb[ie]);\n c._sb = [], c.__h.length && o.push(c);\n break e;\n }\n c.componentWillUpdate != null && c.componentWillUpdate(_, c.__s, J), w && c.componentDidUpdate != null && c.__h.push(function() {\n c.componentDidUpdate(f, g, x);\n });\n }\n if (c.context = J, c.props = _, c.__P = t, c.__e = !1, F = m.__r, En = 0, w) {\n for (c.state = c.__s, c.__d = !1, F && F(e), d = c.render(c.props, c.state, c.context), it = 0; it < c._sb.length; it++) c.__h.push(c._sb[it]);\n c._sb = [];\n } else do\n c.__d = !1, F && F(e), d = c.render(c.props, c.state, c.context), c.state = c.__s;\n while (c.__d && ++En < 25);\n c.state = c.__s, c.getChildContext != null && (r = Y(Y({}, r), c.getChildContext())), w && !p && c.getSnapshotBeforeUpdate != null && (x = c.getSnapshotBeforeUpdate(f, g)), qe = d, d != null && d.type === Q && d.key == null && (qe = Or(d.props.children)), l = qr(t, Ye(qe) ? qe : [qe], e, n, r, i, s, o, l, a, h), c.base = e.__e, e.__u &= -161, c.__h.length && o.push(c), k && (c.__E = c.__ = null);\n } catch (be) {\n if (e.__v = null, a || s != null) if (be.then) {\n for (e.__u |= a ? 160 : 128; l && l.nodeType == 8 && l.nextSibling; ) l = l.nextSibling;\n s[s.indexOf(l)] = null, e.__e = l;\n } else {\n for (It = s.length; It--; ) cn(s[It]);\n Wt(e);\n }\n else e.__e = n.__e, e.__k = n.__k, be.then || Wt(e);\n m.__e(be, e, n);\n }\n else s == null && e.__v == n.__v ? (e.__k = n.__k, e.__e = n.__e) : l = e.__e = Wi(n.__e, e, n, r, i, s, o, a, h);\n return (d = m.diffed) && d(e), 128 & e.__u ? void 0 : l;\n}\nfunction Wt(t) {\n t && t.__c && (t.__c.__e = !0), t && t.__k && t.__k.forEach(Wt);\n}\nfunction Lr(t, e, n) {\n for (var r = 0; r < n.length; r++) hn(n[r], n[++r], n[++r]);\n m.__c && m.__c(e, t), t.some(function(i) {\n try {\n t = i.__h, i.__h = [], t.some(function(s) {\n s.call(i);\n });\n } catch (s) {\n m.__e(s, i.__v);\n }\n });\n}\nfunction Or(t) {\n return typeof t != \"object\" || t == null || t.__b && t.__b > 0 ? t : Ye(t) ? t.map(Or) : Y({}, t);\n}\nfunction Wi(t, e, n, r, i, s, o, l, a) {\n var h, d, c, p, f, g, x, k = n.props, _ = e.props, w = e.type;\n if (w == \"svg\" ? i = \"http://www.w3.org/2000/svg\" : w == \"math\" ? i = \"http://www.w3.org/1998/Math/MathML\" : i || (i = \"http://www.w3.org/1999/xhtml\"), s != null) {\n for (h = 0; h < s.length; h++) if ((f = s[h]) && \"setAttribute\" in f == !!w && (w ? f.localName == w : f.nodeType == 3)) {\n t = f, s[h] = null;\n break;\n }\n }\n if (t == null) {\n if (w == null) return document.createTextNode(_);\n t = document.createElementNS(i, w, _.is && _), l && (m.__m && m.__m(e, s), l = !1), s = null;\n }\n if (w == null) k === _ || l && t.data == _ || (t.data = _);\n else {\n if (s = s && Xe.call(t.childNodes), k = n.props || We, !l && s != null) for (k = {}, h = 0; h < t.attributes.length; h++) k[(f = t.attributes[h]).name] = f.value;\n for (h in k) if (f = k[h], h != \"children\") {\n if (h == \"dangerouslySetInnerHTML\") c = f;\n else if (!(h in _)) {\n if (h == \"value\" && \"defaultValue\" in _ || h == \"checked\" && \"defaultChecked\" in _) continue;\n st(t, h, null, f, i);\n }\n }\n for (h in _) f = _[h], h == \"children\" ? p = f : h == \"dangerouslySetInnerHTML\" ? d = f : h == \"value\" ? g = f : h == \"checked\" ? x = f : l && typeof f != \"function\" || k[h] === f || st(t, h, f, k[h], i);\n if (d) l || c && (d.__html == c.__html || d.__html == t.innerHTML) || (t.innerHTML = d.__html), e.__k = [];\n else if (c && (t.innerHTML = \"\"), qr(e.type == \"template\" ? t.content : t, Ye(p) ? p : [p], e, n, r, w == \"foreignObject\" ? \"http://www.w3.org/1999/xhtml\" : i, s, o, s ? s[0] : n.__k && je(n, 0), l, a), s != null) for (h = s.length; h--; ) cn(s[h]);\n l || (h = \"value\", w == \"progress\" && g == null ? t.removeAttribute(\"value\") : g != null && (g !== t[h] || w == \"progress\" && !g || w == \"option\" && g != k[h]) && st(t, h, g, k[h], i), h = \"checked\", x != null && x != t[h] && st(t, h, x, k[h], i));\n }\n return t;\n}\nfunction hn(t, e, n) {\n try {\n if (typeof t == \"function\") {\n var r = typeof t.__u == \"function\";\n r && t.__u(), r && e == null || (t.__u = t(e));\n } else t.current = e;\n } catch (i) {\n m.__e(i, n);\n }\n}\nfunction Nr(t, e, n) {\n var r, i;\n if (m.unmount && m.unmount(t), (r = t.ref) && (r.current && r.current != t.__e || hn(r, null, e)), (r = t.__c) != null) {\n if (r.componentWillUnmount) try {\n r.componentWillUnmount();\n } catch (s) {\n m.__e(s, e);\n }\n r.base = r.__P = null;\n }\n if (r = t.__k) for (i = 0; i < r.length; i++) r[i] && Nr(r[i], e, n || typeof t.type != \"function\");\n n || cn(t.__e), t.__c = t.__ = t.__e = void 0;\n}\nfunction Hi(t, e, n) {\n return this.constructor(t, n);\n}\nfunction de(t, e, n) {\n var r, i, s, o;\n e == document && (e = document.documentElement), m.__ && m.__(t, e), i = (r = typeof n == \"function\") ? null : n && n.__k || e.__k, s = [], o = [], un(e, t = (!r && n || e).__k = z(Q, null, [t]), i || We, We, e.namespaceURI, !r && n ? [n] : i ? null : e.firstChild ? Xe.call(e.childNodes) : null, s, !r && n ? n : i ? i.__e : e.firstChild, r, o), Lr(s, t, o);\n}\nfunction zr(t, e) {\n de(t, e, zr);\n}\nfunction Ji(t, e, n) {\n var r, i, s, o, l = Y({}, t.props);\n for (s in t.type && t.type.defaultProps && (o = t.type.defaultProps), e) s == \"key\" ? r = e[s] : s == \"ref\" ? i = e[s] : l[s] = e[s] === void 0 && o != null ? o[s] : e[s];\n return arguments.length > 2 && (l.children = arguments.length > 3 ? Xe.call(arguments, 2) : n), Fe(t.type, l, r || t.key, i || t.ref, null);\n}\nfunction Gi(t) {\n function e(n) {\n var r, i;\n return this.getChildContext || (r = /* @__PURE__ */ new Set(), (i = {})[e.__c] = this, this.getChildContext = function() {\n return i;\n }, this.componentWillUnmount = function() {\n r = null;\n }, this.shouldComponentUpdate = function(s) {\n this.props.value != s.value && r.forEach(function(o) {\n o.__e = !0, Vt(o);\n });\n }, this.sub = function(s) {\n r.add(s);\n var o = s.componentWillUnmount;\n s.componentWillUnmount = function() {\n r && r.delete(s), o && o.call(s);\n };\n }), n.children;\n }\n return e.__c = \"__cC\" + Ir++, e.__ = t, e.Provider = e.__l = (e.Consumer = function(n, r) {\n return n.children(r);\n }).contextType = e, e;\n}\nXe = Er.slice, m = { __e: function(t, e, n, r) {\n for (var i, s, o; e = e.__; ) if ((i = e.__c) && !i.__) try {\n if ((s = i.constructor) && s.getDerivedStateFromError != null && (i.setState(s.getDerivedStateFromError(t)), o = i.__d), i.componentDidCatch != null && (i.componentDidCatch(t, r || {}), o = i.__d), o) return i.__E = i;\n } catch (l) {\n t = l;\n }\n throw t;\n} }, Cr = 0, Rr = function(t) {\n return t != null && t.constructor == null;\n}, V.prototype.setState = function(t, e) {\n var n;\n n = this.__s != null && this.__s != this.state ? this.__s : this.__s = Y({}, this.state), typeof t == \"function\" && (t = t(Y({}, n), this.props)), t && Y(n, t), t != null && this.__v && (e && this._sb.push(e), Vt(this));\n}, V.prototype.forceUpdate = function(t) {\n this.__v && (this.__e = !0, t && this.__h.push(t), Vt(this));\n}, V.prototype.render = Q, ce = [], Tr = typeof Promise == \"function\" ? Promise.prototype.then.bind(Promise.resolve()) : setTimeout, $r = function(t, e) {\n return t.__v.__b - e.__v.__b;\n}, ft.__r = 0, Ar = /(PointerCapture)$|Capture$/i, ln = 0, Dt = Mn(!1), Ut = Mn(!0), Ir = 0;\nvar Ki = 0;\nfunction u(t, e, n, r, i, s) {\n e || (e = {});\n var o, l, a = e;\n if (\"ref\" in a) for (l in a = {}, e) l == \"ref\" ? o = e[l] : a[l] = e[l];\n var h = { type: t, props: a, key: n, ref: o, __k: null, __: null, __b: 0, __e: null, __c: null, constructor: void 0, __v: --Ki, __i: -1, __u: 0, __source: i, __self: s };\n if (typeof t == \"function\" && (o = t.defaultProps)) for (l in o) a[l] === void 0 && (a[l] = o[l]);\n return m.vnode && m.vnode(h), h;\n}\nvar ae, S, Et, Ln, Ce = 0, Qr = [], j = m, On = j.__b, Nn = j.__r, zn = j.diffed, Qn = j.__c, Bn = j.unmount, Fn = j.__;\nfunction Ae(t, e) {\n j.__h && j.__h(S, t, Ce || e), Ce = 0;\n var n = S.__H || (S.__H = { __: [], __h: [] });\n return t >= n.__.length && n.__.push({}), n.__[t];\n}\nfunction T(t) {\n return Ce = 1, dn(Ur, t);\n}\nfunction dn(t, e, n) {\n var r = Ae(ae++, 2);\n if (r.t = t, !r.__c && (r.__ = [n ? n(e) : Ur(void 0, e), function(l) {\n var a = r.__N ? r.__N[0] : r.__[0], h = r.t(a, l);\n a !== h && (r.__N = [h, r.__[1]], r.__c.setState({}));\n }], r.__c = S, !S.__f)) {\n var i = function(l, a, h) {\n if (!r.__c.__H) return !0;\n var d = r.__c.__H.__.filter(function(p) {\n return !!p.__c;\n });\n if (d.every(function(p) {\n return !p.__N;\n })) return !s || s.call(this, l, a, h);\n var c = r.__c.props !== l;\n return d.forEach(function(p) {\n if (p.__N) {\n var f = p.__[0];\n p.__ = p.__N, p.__N = void 0, f !== p.__[0] && (c = !0);\n }\n }), s && s.call(this, l, a, h) || c;\n };\n S.__f = !0;\n var s = S.shouldComponentUpdate, o = S.componentWillUpdate;\n S.componentWillUpdate = function(l, a, h) {\n if (this.__e) {\n var d = s;\n s = void 0, i(l, a, h), s = d;\n }\n o && o.call(this, l, a, h);\n }, S.shouldComponentUpdate = i;\n }\n return r.__N || r.__;\n}\nfunction M(t, e) {\n var n = Ae(ae++, 3);\n !j.__s && fn(n.__H, e) && (n.__ = t, n.u = e, S.__H.__h.push(n));\n}\nfunction et(t, e) {\n var n = Ae(ae++, 4);\n !j.__s && fn(n.__H, e) && (n.__ = t, n.u = e, S.__h.push(n));\n}\nfunction tt(t) {\n return Ce = 5, B(function() {\n return { current: t };\n }, []);\n}\nfunction Br(t, e, n) {\n Ce = 6, et(function() {\n if (typeof t == \"function\") {\n var r = t(e());\n return function() {\n t(null), r && typeof r == \"function\" && r();\n };\n }\n if (t) return t.current = e(), function() {\n return t.current = null;\n };\n }, n == null ? n : n.concat(t));\n}\nfunction B(t, e) {\n var n = Ae(ae++, 7);\n return fn(n.__H, e) && (n.__ = t(), n.__H = e, n.__h = t), n.__;\n}\nfunction He(t, e) {\n return Ce = 8, B(function() {\n return t;\n }, e);\n}\nfunction kt(t) {\n var e = S.context[t.__c], n = Ae(ae++, 9);\n return n.c = t, e ? (n.__ == null && (n.__ = !0, e.sub(S)), e.props.value) : t.__;\n}\nfunction Fr(t, e) {\n j.useDebugValue && j.useDebugValue(e ? e(t) : t);\n}\nfunction Dr() {\n var t = Ae(ae++, 11);\n if (!t.__) {\n for (var e = S.__v; e !== null && !e.__m && e.__ !== null; ) e = e.__;\n var n = e.__m || (e.__m = [0, 0]);\n t.__ = \"P\" + n[0] + \"-\" + n[1]++;\n }\n return t.__;\n}\nfunction Zi() {\n for (var t; t = Qr.shift(); ) if (t.__P && t.__H) try {\n t.__H.__h.forEach(ut), t.__H.__h.forEach(Ht), t.__H.__h = [];\n } catch (e) {\n t.__H.__h = [], j.__e(e, t.__v);\n }\n}\nj.__b = function(t) {\n S = null, On && On(t);\n}, j.__ = function(t, e) {\n t && e.__k && e.__k.__m && (t.__m = e.__k.__m), Fn && Fn(t, e);\n}, j.__r = function(t) {\n Nn && Nn(t), ae = 0;\n var e = (S = t.__c).__H;\n e && (Et === S ? (e.__h = [], S.__h = [], e.__.forEach(function(n) {\n n.__N && (n.__ = n.__N), n.u = n.__N = void 0;\n })) : (e.__h.forEach(ut), e.__h.forEach(Ht), e.__h = [], ae = 0)), Et = S;\n}, j.diffed = function(t) {\n zn && zn(t);\n var e = t.__c;\n e && e.__H && (e.__H.__h.length && (Qr.push(e) !== 1 && Ln === j.requestAnimationFrame || ((Ln = j.requestAnimationFrame) || Xi)(Zi)), e.__H.__.forEach(function(n) {\n n.u && (n.__H = n.u), n.u = void 0;\n })), Et = S = null;\n}, j.__c = function(t, e) {\n e.some(function(n) {\n try {\n n.__h.forEach(ut), n.__h = n.__h.filter(function(r) {\n return !r.__ || Ht(r);\n });\n } catch (r) {\n e.some(function(i) {\n i.__h && (i.__h = []);\n }), e = [], j.__e(r, n.__v);\n }\n }), Qn && Qn(t, e);\n}, j.unmount = function(t) {\n Bn && Bn(t);\n var e, n = t.__c;\n n && n.__H && (n.__H.__.forEach(function(r) {\n try {\n ut(r);\n } catch (i) {\n e = i;\n }\n }), n.__H = void 0, e && j.__e(e, n.__v));\n};\nvar Dn = typeof requestAnimationFrame == \"function\";\nfunction Xi(t) {\n var e, n = function() {\n clearTimeout(r), Dn && cancelAnimationFrame(e), setTimeout(t);\n }, r = setTimeout(n, 35);\n Dn && (e = requestAnimationFrame(n));\n}\nfunction ut(t) {\n var e = S, n = t.__c;\n typeof n == \"function\" && (t.__c = void 0, n()), S = e;\n}\nfunction Ht(t) {\n var e = S;\n t.__c = t.__(), S = e;\n}\nfunction fn(t, e) {\n return !t || t.length !== e.length || e.some(function(n, r) {\n return n !== t[r];\n });\n}\nfunction Ur(t, e) {\n return typeof e == \"function\" ? e(t) : e;\n}\nfunction Vr(t, e) {\n for (var n in e) t[n] = e[n];\n return t;\n}\nfunction Jt(t, e) {\n for (var n in t) if (n !== \"__source\" && !(n in e)) return !0;\n for (var r in e) if (r !== \"__source\" && t[r] !== e[r]) return !0;\n return !1;\n}\nfunction Wr(t, e) {\n var n = e(), r = T({ t: { __: n, u: e } }), i = r[0].t, s = r[1];\n return et(function() {\n i.__ = n, i.u = e, Pt(i) && s({ t: i });\n }, [t, n, e]), M(function() {\n return Pt(i) && s({ t: i }), t(function() {\n Pt(i) && s({ t: i });\n });\n }, [t]), n;\n}\nfunction Pt(t) {\n var e, n, r = t.u, i = t.__;\n try {\n var s = r();\n return !((e = i) === (n = s) && (e !== 0 || 1 / e == 1 / n) || e != e && n != n);\n } catch {\n return !0;\n }\n}\nfunction Hr(t) {\n t();\n}\nfunction Jr(t) {\n return t;\n}\nfunction Gr() {\n return [!1, Hr];\n}\nvar Kr = et;\nfunction Gt(t, e) {\n this.props = t, this.context = e;\n}\nfunction Yi(t, e) {\n function n(i) {\n var s = this.props.ref, o = s == i.ref;\n return !o && s && (s.call ? s(null) : s.current = null), e ? !e(this.props, i) || !o : Jt(this.props, i);\n }\n function r(i) {\n return this.shouldComponentUpdate = n, z(t, i);\n }\n return r.displayName = \"Memo(\" + (t.displayName || t.name) + \")\", r.prototype.isReactComponent = !0, r.__f = !0, r.type = t, r;\n}\n(Gt.prototype = new V()).isPureReactComponent = !0, Gt.prototype.shouldComponentUpdate = function(t, e) {\n return Jt(this.props, t) || Jt(this.state, e);\n};\nvar Un = m.__b;\nm.__b = function(t) {\n t.type && t.type.__f && t.ref && (t.props.ref = t.ref, t.ref = null), Un && Un(t);\n};\nvar es = typeof Symbol < \"u\" && Symbol.for && /* @__PURE__ */ Symbol.for(\"react.forward_ref\") || 3911;\nfunction ts(t) {\n function e(n) {\n var r = Vr({}, n);\n return delete r.ref, t(r, n.ref || null);\n }\n return e.$$typeof = es, e.render = t, e.prototype.isReactComponent = e.__f = !0, e.displayName = \"ForwardRef(\" + (t.displayName || t.name) + \")\", e;\n}\nvar Vn = function(t, e) {\n return t == null ? null : ee(ee(t).map(e));\n}, ns = { map: Vn, forEach: Vn, count: function(t) {\n return t ? ee(t).length : 0;\n}, only: function(t) {\n var e = ee(t);\n if (e.length !== 1) throw \"Children.only\";\n return e[0];\n}, toArray: ee }, rs = m.__e;\nm.__e = function(t, e, n, r) {\n if (t.then) {\n for (var i, s = e; s = s.__; ) if ((i = s.__c) && i.__c) return e.__e == null && (e.__e = n.__e, e.__k = n.__k), i.__c(t, e);\n }\n rs(t, e, n, r);\n};\nvar Wn = m.unmount;\nfunction Zr(t, e, n) {\n return t && (t.__c && t.__c.__H && (t.__c.__H.__.forEach(function(r) {\n typeof r.__c == \"function\" && r.__c();\n }), t.__c.__H = null), (t = Vr({}, t)).__c != null && (t.__c.__P === n && (t.__c.__P = e), t.__c.__e = !0, t.__c = null), t.__k = t.__k && t.__k.map(function(r) {\n return Zr(r, e, n);\n })), t;\n}\nfunction Xr(t, e, n) {\n return t && n && (t.__v = null, t.__k = t.__k && t.__k.map(function(r) {\n return Xr(r, e, n);\n }), t.__c && t.__c.__P === e && (t.__e && n.appendChild(t.__e), t.__c.__e = !0, t.__c.__P = n)), t;\n}\nfunction ht() {\n this.__u = 0, this.o = null, this.__b = null;\n}\nfunction Yr(t) {\n var e = t.__.__c;\n return e && e.__a && e.__a(t);\n}\nfunction is(t) {\n var e, n, r;\n function i(s) {\n if (e || (e = t()).then(function(o) {\n n = o.default || o;\n }, function(o) {\n r = o;\n }), r) throw r;\n if (!n) throw e;\n return z(n, s);\n }\n return i.displayName = \"Lazy\", i.__f = !0, i;\n}\nfunction Ne() {\n this.i = null, this.l = null;\n}\nm.unmount = function(t) {\n var e = t.__c;\n e && e.__R && e.__R(), e && 32 & t.__u && (t.type = null), Wn && Wn(t);\n}, (ht.prototype = new V()).__c = function(t, e) {\n var n = e.__c, r = this;\n r.o == null && (r.o = []), r.o.push(n);\n var i = Yr(r.__v), s = !1, o = function() {\n s || (s = !0, n.__R = null, i ? i(l) : l());\n };\n n.__R = o;\n var l = function() {\n if (!--r.__u) {\n if (r.state.__a) {\n var a = r.state.__a;\n r.__v.__k[0] = Xr(a, a.__c.__P, a.__c.__O);\n }\n var h;\n for (r.setState({ __a: r.__b = null }); h = r.o.pop(); ) h.forceUpdate();\n }\n };\n r.__u++ || 32 & e.__u || r.setState({ __a: r.__b = r.__v.__k[0] }), t.then(o, o);\n}, ht.prototype.componentWillUnmount = function() {\n this.o = [];\n}, ht.prototype.render = function(t, e) {\n if (this.__b) {\n if (this.__v.__k) {\n var n = document.createElement(\"div\"), r = this.__v.__k[0].__c;\n this.__v.__k[0] = Zr(this.__b, n, r.__O = r.__P);\n }\n this.__b = null;\n }\n var i = e.__a && z(Q, null, t.fallback);\n return i && (i.__u &= -33), [z(Q, null, e.__a ? null : t.children), i];\n};\nvar Hn = function(t, e, n) {\n if (++n[1] === n[0] && t.l.delete(e), t.props.revealOrder && (t.props.revealOrder[0] !== \"t\" || !t.l.size)) for (n = t.i; n; ) {\n for (; n.length > 3; ) n.pop()();\n if (n[1] < n[0]) break;\n t.i = n = n[2];\n }\n};\nfunction ss(t) {\n return this.getChildContext = function() {\n return t.context;\n }, t.children;\n}\nfunction os(t) {\n var e = this, n = t.h;\n if (e.componentWillUnmount = function() {\n de(null, e.v), e.v = null, e.h = null;\n }, e.h && e.h !== n && e.componentWillUnmount(), !e.v) {\n for (var r = e.__v; r !== null && !r.__m && r.__ !== null; ) r = r.__;\n e.h = n, e.v = { nodeType: 1, parentNode: n, childNodes: [], __k: { __m: r.__m }, contains: function() {\n return !0;\n }, insertBefore: function(i, s) {\n this.childNodes.push(i), e.h.insertBefore(i, s);\n }, removeChild: function(i) {\n this.childNodes.splice(this.childNodes.indexOf(i) >>> 1, 1), e.h.removeChild(i);\n } };\n }\n de(z(ss, { context: e.context }, t.__v), e.v);\n}\nfunction as(t, e) {\n var n = z(os, { __v: t, h: e });\n return n.containerInfo = e, n;\n}\n(Ne.prototype = new V()).__a = function(t) {\n var e = this, n = Yr(e.__v), r = e.l.get(t);\n return r[0]++, function(i) {\n var s = function() {\n e.props.revealOrder ? (r.push(i), Hn(e, t, r)) : i();\n };\n n ? n(s) : s();\n };\n}, Ne.prototype.render = function(t) {\n this.i = null, this.l = /* @__PURE__ */ new Map();\n var e = ee(t.children);\n t.revealOrder && t.revealOrder[0] === \"b\" && e.reverse();\n for (var n = e.length; n--; ) this.l.set(e[n], this.i = [1, 0, this.i]);\n return t.children;\n}, Ne.prototype.componentDidUpdate = Ne.prototype.componentDidMount = function() {\n var t = this;\n this.l.forEach(function(e, n) {\n Hn(t, n, e);\n });\n};\nvar ei = typeof Symbol < \"u\" && Symbol.for && /* @__PURE__ */ Symbol.for(\"react.element\") || 60103, ls = /^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|dominant|fill|flood|font|glyph(?!R)|horiz|image(!S)|letter|lighting|marker(?!H|W|U)|overline|paint|pointer|shape|stop|strikethrough|stroke|text(?!L)|transform|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/, cs = /^on(Ani|Tra|Tou|BeforeInp|Compo)/, us = /[A-Z0-9]/g, hs = typeof document < \"u\", ds = function(t) {\n return (typeof Symbol < \"u\" && typeof /* @__PURE__ */ Symbol() == \"symbol\" ? /fil|che|rad/ : /fil|che|ra/).test(t);\n};\nfunction fs(t, e, n) {\n return e.__k == null && (e.textContent = \"\"), de(t, e), typeof n == \"function\" && n(), t ? t.__c : null;\n}\nfunction ps(t, e, n) {\n return zr(t, e), typeof n == \"function\" && n(), t ? t.__c : null;\n}\nV.prototype.isReactComponent = {}, [\"componentWillMount\", \"componentWillReceiveProps\", \"componentWillUpdate\"].forEach(function(t) {\n Object.defineProperty(V.prototype, t, { configurable: !0, get: function() {\n return this[\"UNSAFE_\" + t];\n }, set: function(e) {\n Object.defineProperty(this, t, { configurable: !0, writable: !0, value: e });\n } });\n});\nvar Jn = m.event;\nfunction gs() {\n}\nfunction ms() {\n return this.cancelBubble;\n}\nfunction xs() {\n return this.defaultPrevented;\n}\nm.event = function(t) {\n return Jn && (t = Jn(t)), t.persist = gs, t.isPropagationStopped = ms, t.isDefaultPrevented = xs, t.nativeEvent = t;\n};\nvar pn, bs = { enumerable: !1, configurable: !0, get: function() {\n return this.class;\n} }, Gn = m.vnode;\nm.vnode = function(t) {\n typeof t.type == \"string\" && (function(e) {\n var n = e.props, r = e.type, i = {}, s = r.indexOf(\"-\") === -1;\n for (var o in n) {\n var l = n[o];\n if (!(o === \"value\" && \"defaultValue\" in n && l == null || hs && o === \"children\" && r === \"noscript\" || o === \"class\" || o === \"className\")) {\n var a = o.toLowerCase();\n o === \"defaultValue\" && \"value\" in n && n.value == null ? o = \"value\" : o === \"download\" && l === !0 ? l = \"\" : a === \"translate\" && l === \"no\" ? l = !1 : a[0] === \"o\" && a[1] === \"n\" ? a === \"ondoubleclick\" ? o = \"ondblclick\" : a !== \"onchange\" || r !== \"input\" && r !== \"textarea\" || ds(n.type) ? a === \"onfocus\" ? o = \"onfocusin\" : a === \"onblur\" ? o = \"onfocusout\" : cs.test(o) && (o = a) : a = o = \"oninput\" : s && ls.test(o) ? o = o.replace(us, \"-$&\").toLowerCase() : l === null && (l = void 0), a === \"oninput\" && i[o = a] && (o = \"oninputCapture\"), i[o] = l;\n }\n }\n r == \"select\" && i.multiple && Array.isArray(i.value) && (i.value = ee(n.children).forEach(function(h) {\n h.props.selected = i.value.indexOf(h.props.value) != -1;\n })), r == \"select\" && i.defaultValue != null && (i.value = ee(n.children).forEach(function(h) {\n h.props.selected = i.multiple ? i.defaultValue.indexOf(h.props.value) != -1 : i.defaultValue == h.props.value;\n })), n.class && !n.className ? (i.class = n.class, Object.defineProperty(i, \"className\", bs)) : (n.className && !n.class || n.class && n.className) && (i.class = i.className = n.className), e.props = i;\n })(t), t.$$typeof = ei, Gn && Gn(t);\n};\nvar Kn = m.__r;\nm.__r = function(t) {\n Kn && Kn(t), pn = t.__c;\n};\nvar Zn = m.diffed;\nm.diffed = function(t) {\n Zn && Zn(t);\n var e = t.props, n = t.__e;\n n != null && t.type === \"textarea\" && \"value\" in e && e.value !== n.value && (n.value = e.value == null ? \"\" : e.value), pn = null;\n};\nvar ys = { ReactCurrentDispatcher: { current: { readContext: function(t) {\n return pn.__n[t.__c].props.value;\n}, useCallback: He, useContext: kt, useDebugValue: Fr, useDeferredValue: Jr, useEffect: M, useId: Dr, useImperativeHandle: Br, useInsertionEffect: Kr, useLayoutEffect: et, useMemo: B, useReducer: dn, useRef: tt, useState: T, useSyncExternalStore: Wr, useTransition: Gr } } };\nfunction vs(t) {\n return z.bind(null, t);\n}\nfunction St(t) {\n return !!t && t.$$typeof === ei;\n}\nfunction _s(t) {\n return St(t) && t.type === Q;\n}\nfunction ws(t) {\n return !!t && !!t.displayName && (typeof t.displayName == \"string\" || t.displayName instanceof String) && t.displayName.startsWith(\"Memo(\");\n}\nfunction ks(t) {\n return St(t) ? Ji.apply(null, arguments) : t;\n}\nfunction Ss(t) {\n return !!t.__k && (de(null, t), !0);\n}\nfunction js(t) {\n return t && (t.base || t.nodeType === 1 && t) || null;\n}\nvar Cs = function(t, e) {\n return t(e);\n}, Rs = function(t, e) {\n return t(e);\n}, Ts = Q, $s = St, gn = { useState: T, useId: Dr, useReducer: dn, useEffect: M, useLayoutEffect: et, useInsertionEffect: Kr, useTransition: Gr, useDeferredValue: Jr, useSyncExternalStore: Wr, startTransition: Hr, useRef: tt, useImperativeHandle: Br, useMemo: B, useCallback: He, useContext: kt, useDebugValue: Fr, version: \"18.3.1\", Children: ns, render: fs, hydrate: ps, unmountComponentAtNode: Ss, createPortal: as, createElement: z, createContext: Gi, createFactory: vs, cloneElement: ks, createRef: Di, Fragment: Q, isValidElement: St, isElement: $s, isFragment: _s, isMemo: ws, findDOMNode: js, Component: V, PureComponent: Gt, memo: Yi, forwardRef: ts, flushSync: Rs, unstable_batchedUpdates: Cs, StrictMode: Ts, Suspense: ht, SuspenseList: Ne, lazy: is, __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED: ys }, X = [], N = [], As = Uint8Array, qt = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\nfor (var ye = 0, Is = qt.length; ye < Is; ++ye)\n X[ye] = qt[ye], N[qt.charCodeAt(ye)] = ye;\nN[45] = 62;\nN[95] = 63;\nfunction Es(t) {\n var e = t.length;\n if (e % 4 > 0)\n throw new Error(\"Invalid string. Length must be a multiple of 4\");\n var n = t.indexOf(\"=\");\n n === -1 && (n = e);\n var r = n === e ? 0 : 4 - n % 4;\n return [n, r];\n}\nfunction Ps(t, e, n) {\n return (e + n) * 3 / 4 - n;\n}\nfunction Je(t) {\n var e, n = Es(t), r = n[0], i = n[1], s = new As(Ps(t, r, i)), o = 0, l = i > 0 ? r - 4 : r, a;\n for (a = 0; a < l; a += 4)\n e = N[t.charCodeAt(a)] << 18 | N[t.charCodeAt(a + 1)] << 12 | N[t.charCodeAt(a + 2)] << 6 | N[t.charCodeAt(a + 3)], s[o++] = e >> 16 & 255, s[o++] = e >> 8 & 255, s[o++] = e & 255;\n return i === 2 && (e = N[t.charCodeAt(a)] << 2 | N[t.charCodeAt(a + 1)] >> 4, s[o++] = e & 255), i === 1 && (e = N[t.charCodeAt(a)] << 10 | N[t.charCodeAt(a + 1)] << 4 | N[t.charCodeAt(a + 2)] >> 2, s[o++] = e >> 8 & 255, s[o++] = e & 255), s;\n}\nfunction qs(t) {\n return X[t >> 18 & 63] + X[t >> 12 & 63] + X[t >> 6 & 63] + X[t & 63];\n}\nfunction Ms(t, e, n) {\n for (var r, i = [], s = e; s < n; s += 3)\n r = (t[s] << 16 & 16711680) + (t[s + 1] << 8 & 65280) + (t[s + 2] & 255), i.push(qs(r));\n return i.join(\"\");\n}\nfunction Ge(t) {\n for (var e, n = t.length, r = n % 3, i = [], s = 16383, o = 0, l = n - r; o < l; o += s)\n i.push(\n Ms(\n t,\n o,\n o + s > l ? l : o + s\n )\n );\n return r === 1 ? (e = t[n - 1], i.push(X[e >> 2] + X[e << 4 & 63] + \"==\")) : r === 2 && (e = (t[n - 2] << 8) + t[n - 1], i.push(\n X[e >> 10] + X[e >> 4 & 63] + X[e << 2 & 63] + \"=\"\n )), i.join(\"\");\n}\nfunction re(t) {\n if (t === void 0)\n return {};\n if (!ti(t))\n throw new Error(\n `The arguments to a Convex function must be an object. Received: ${t}`\n );\n return t;\n}\nfunction Ls(t) {\n if (typeof t > \"u\")\n throw new Error(\n \"Client created with undefined deployment address. If you used an environment variable, check that it's set.\"\n );\n if (typeof t != \"string\")\n throw new Error(\n `Invalid deployment address: found ${t}\".`\n );\n if (!(t.startsWith(\"http:\") || t.startsWith(\"https:\")))\n throw new Error(\n `Invalid deployment address: Must start with \"https://\" or \"http://\". Found \"${t}\".`\n );\n try {\n new URL(t);\n } catch {\n throw new Error(\n `Invalid deployment address: \"${t}\" is not a valid URL. If you believe this URL is correct, use the \\`skipConvexDeploymentUrlCheck\\` option to bypass this.`\n );\n }\n if (t.endsWith(\".convex.site\"))\n throw new Error(\n `Invalid deployment address: \"${t}\" ends with .convex.site, which is used for HTTP Actions. Convex deployment URLs typically end with .convex.cloud? If you believe this URL is correct, use the \\`skipConvexDeploymentUrlCheck\\` option to bypass this.`\n );\n}\nfunction ti(t) {\n const e = typeof t == \"object\", n = Object.getPrototypeOf(t), r = n === null || n === Object.prototype || // Objects generated from other contexts (e.g. across Node.js `vm` modules) will not satisfy the previous\n // conditions but are still simple objects.\n n?.constructor?.name === \"Object\";\n return e && r;\n}\nconst ni = !0, Re = BigInt(\"-9223372036854775808\"), mn = BigInt(\"9223372036854775807\"), Kt = BigInt(\"0\"), Os = BigInt(\"8\"), Ns = BigInt(\"256\");\nfunction ri(t) {\n return Number.isNaN(t) || !Number.isFinite(t) || Object.is(t, -0);\n}\nfunction zs(t) {\n t < Kt && (t -= Re + Re);\n let e = t.toString(16);\n e.length % 2 === 1 && (e = \"0\" + e);\n const n = new Uint8Array(new ArrayBuffer(8));\n let r = 0;\n for (const i of e.match(/.{2}/g).reverse())\n n.set([parseInt(i, 16)], r++), t >>= Os;\n return Ge(n);\n}\nfunction Qs(t) {\n const e = Je(t);\n if (e.byteLength !== 8)\n throw new Error(\n `Received ${e.byteLength} bytes, expected 8 for $integer`\n );\n let n = Kt, r = Kt;\n for (const i of e)\n n += BigInt(i) * Ns ** r, r++;\n return n > mn && (n += Re + Re), n;\n}\nfunction Bs(t) {\n if (t < Re || mn < t)\n throw new Error(\n `BigInt ${t} does not fit into a 64-bit signed integer.`\n );\n const e = new ArrayBuffer(8);\n return new DataView(e).setBigInt64(0, t, !0), Ge(new Uint8Array(e));\n}\nfunction Fs(t) {\n const e = Je(t);\n if (e.byteLength !== 8)\n throw new Error(\n `Received ${e.byteLength} bytes, expected 8 for $integer`\n );\n return new DataView(e.buffer).getBigInt64(0, !0);\n}\nconst Ds = DataView.prototype.setBigInt64 ? Bs : zs, Us = DataView.prototype.getBigInt64 ? Fs : Qs, Xn = 1024;\nfunction ii(t) {\n if (t.length > Xn)\n throw new Error(\n `Field name ${t} exceeds maximum field name length ${Xn}.`\n );\n if (t.startsWith(\"$\"))\n throw new Error(`Field name ${t} starts with a '$', which is reserved.`);\n for (let e = 0; e < t.length; e += 1) {\n const n = t.charCodeAt(e);\n if (n < 32 || n >= 127)\n throw new Error(\n `Field name ${t} has invalid character '${t[e]}': Field names can only contain non-control ASCII characters`\n );\n }\n}\nfunction Te(t) {\n if (t === null || typeof t == \"boolean\" || typeof t == \"number\" || typeof t == \"string\")\n return t;\n if (Array.isArray(t))\n return t.map((r) => Te(r));\n if (typeof t != \"object\")\n throw new Error(`Unexpected type of ${t}`);\n const e = Object.entries(t);\n if (e.length === 1) {\n const r = e[0][0];\n if (r === \"$bytes\") {\n if (typeof t.$bytes != \"string\")\n throw new Error(`Malformed $bytes field on ${t}`);\n return Je(t.$bytes).buffer;\n }\n if (r === \"$integer\") {\n if (typeof t.$integer != \"string\")\n throw new Error(`Malformed $integer field on ${t}`);\n return Us(t.$integer);\n }\n if (r === \"$float\") {\n if (typeof t.$float != \"string\")\n throw new Error(`Malformed $float field on ${t}`);\n const i = Je(t.$float);\n if (i.byteLength !== 8)\n throw new Error(\n `Received ${i.byteLength} bytes, expected 8 for $float`\n );\n const o = new DataView(i.buffer).getFloat64(0, ni);\n if (!ri(o))\n throw new Error(`Float ${o} should be encoded as a number`);\n return o;\n }\n if (r === \"$set\")\n throw new Error(\n \"Received a Set which is no longer supported as a Convex type.\"\n );\n if (r === \"$map\")\n throw new Error(\n \"Received a Map which is no longer supported as a Convex type.\"\n );\n }\n const n = {};\n for (const [r, i] of Object.entries(t))\n ii(r), n[r] = Te(i);\n return n;\n}\nconst Yn = 16384;\nfunction De(t) {\n const e = JSON.stringify(t, (n, r) => r === void 0 ? \"undefined\" : typeof r == \"bigint\" ? `${r.toString()}n` : r);\n if (e.length > Yn) {\n const n = \"[...truncated]\";\n let r = Yn - n.length;\n const i = e.codePointAt(r - 1);\n return i !== void 0 && i > 65535 && (r -= 1), e.substring(0, r) + n;\n }\n return e;\n}\nfunction Zt(t, e, n, r) {\n if (t === void 0) {\n const o = n && ` (present at path ${n} in original object ${De(\n e\n )})`;\n throw new Error(\n `undefined is not a valid Convex value${o}. To learn about Convex's supported types, see https://docs.convex.dev/using/types.`\n );\n }\n if (t === null)\n return t;\n if (typeof t == \"bigint\") {\n if (t < Re || mn < t)\n throw new Error(\n `BigInt ${t} does not fit into a 64-bit signed integer.`\n );\n return { $integer: Ds(t) };\n }\n if (typeof t == \"number\")\n if (ri(t)) {\n const o = new ArrayBuffer(8);\n return new DataView(o).setFloat64(0, t, ni), { $float: Ge(new Uint8Array(o)) };\n } else\n return t;\n if (typeof t == \"boolean\" || typeof t == \"string\")\n return t;\n if (t instanceof ArrayBuffer)\n return { $bytes: Ge(new Uint8Array(t)) };\n if (Array.isArray(t))\n return t.map(\n (o, l) => Zt(o, e, n + `[${l}]`)\n );\n if (t instanceof Set)\n throw new Error(\n Mt(n, \"Set\", [...t], e)\n );\n if (t instanceof Map)\n throw new Error(\n Mt(n, \"Map\", [...t], e)\n );\n if (!ti(t)) {\n const o = t?.constructor?.name, l = o ? `${o} ` : \"\";\n throw new Error(\n Mt(n, l, t, e)\n );\n }\n const i = {}, s = Object.entries(t);\n s.sort(([o, l], [a, h]) => o === a ? 0 : o < a ? -1 : 1);\n for (const [o, l] of s)\n l !== void 0 && (ii(o), i[o] = Zt(l, e, n + `.${o}`));\n return i;\n}\nfunction Mt(t, e, n, r) {\n return t ? `${e}${De(\n n\n )} is not a supported Convex type (present at path ${t} in original object ${De(\n r\n )}). To learn about Convex's supported types, see https://docs.convex.dev/using/types.` : `${e}${De(\n n\n )} is not a supported Convex type.`;\n}\nfunction te(t) {\n return Zt(t, t, \"\");\n}\nvar Vs = Object.defineProperty, Ws = (t, e, n) => e in t ? Vs(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n, Lt = (t, e, n) => Ws(t, typeof e != \"symbol\" ? e + \"\" : e, n), er, tr;\nconst Hs = /* @__PURE__ */ Symbol.for(\"ConvexError\");\nclass Xt extends (tr = Error, er = Hs, tr) {\n constructor(e) {\n super(typeof e == \"string\" ? e : De(e)), Lt(this, \"name\", \"ConvexError\"), Lt(this, \"data\"), Lt(this, er, !0), this.data = e;\n }\n}\nconst si = () => Array.from({ length: 4 }, () => 0);\nsi();\nsi();\nconst nr = \"1.37.0\";\nvar Js = Object.defineProperty, Gs = (t, e, n) => e in t ? Js(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n, rr = (t, e, n) => Gs(t, typeof e != \"symbol\" ? e + \"\" : e, n);\nconst Ks = \"color:rgb(0, 145, 255)\";\nfunction oi(t) {\n switch (t) {\n case \"query\":\n return \"Q\";\n case \"mutation\":\n return \"M\";\n case \"action\":\n return \"A\";\n case \"any\":\n return \"?\";\n }\n}\nclass ai {\n constructor(e) {\n rr(this, \"_onLogLineFuncs\"), rr(this, \"_verbose\"), this._onLogLineFuncs = {}, this._verbose = e.verbose;\n }\n addLogLineListener(e) {\n let n = Math.random().toString(36).substring(2, 15);\n for (let r = 0; r < 10 && this._onLogLineFuncs[n] !== void 0; r++)\n n = Math.random().toString(36).substring(2, 15);\n return this._onLogLineFuncs[n] = e, () => {\n delete this._onLogLineFuncs[n];\n };\n }\n logVerbose(...e) {\n if (this._verbose)\n for (const n of Object.values(this._onLogLineFuncs))\n n(\"debug\", `${(/* @__PURE__ */ new Date()).toISOString()}`, ...e);\n }\n log(...e) {\n for (const n of Object.values(this._onLogLineFuncs))\n n(\"info\", ...e);\n }\n warn(...e) {\n for (const n of Object.values(this._onLogLineFuncs))\n n(\"warn\", ...e);\n }\n error(...e) {\n for (const n of Object.values(this._onLogLineFuncs))\n n(\"error\", ...e);\n }\n}\nfunction li(t) {\n const e = new ai(t);\n return e.addLogLineListener((n, ...r) => {\n switch (n) {\n case \"debug\":\n console.debug(...r);\n break;\n case \"info\":\n console.log(...r);\n break;\n case \"warn\":\n console.warn(...r);\n break;\n case \"error\":\n console.error(...r);\n break;\n default:\n console.log(...r);\n }\n }), e;\n}\nfunction ci(t) {\n return new ai(t);\n}\nfunction pt(t, e, n, r, i) {\n const s = oi(n);\n if (typeof i == \"object\" && (i = `ConvexError ${JSON.stringify(i.errorData, null, 2)}`), e === \"info\") {\n const o = i.match(/^\\[.*?\\] /);\n if (o === null) {\n t.error(\n `[CONVEX ${s}(${r})] Could not parse console.log`\n );\n return;\n }\n const l = i.slice(1, o[0].length - 2), a = i.slice(o[0].length);\n t.log(`%c[CONVEX ${s}(${r})] [${l}]`, Ks, a);\n } else\n t.error(`[CONVEX ${s}(${r})] ${i}`);\n}\nfunction Zs(t, e) {\n const n = `[CONVEX FATAL ERROR] ${e}`;\n return t.error(n), new Error(n);\n}\nfunction we(t, e, n) {\n return `[CONVEX ${oi(t)}(${e})] ${n.errorMessage}\n Called by client`;\n}\nfunction Yt(t, e) {\n return e.data = t.errorData, e;\n}\nfunction fe(t) {\n const e = t.split(\":\");\n let n, r;\n return e.length === 1 ? (n = e[0], r = \"default\") : (n = e.slice(0, e.length - 1).join(\":\"), r = e[e.length - 1]), n.endsWith(\".js\") && (n = n.slice(0, -3)), `${n}:${r}`;\n}\nfunction he(t, e) {\n return JSON.stringify({\n udfPath: fe(t),\n args: te(e)\n });\n}\nfunction ir(t, e, n) {\n const { initialNumItems: r, id: i } = n;\n return JSON.stringify({\n type: \"paginated\",\n udfPath: fe(t),\n args: te(e),\n options: te({ initialNumItems: r, id: i })\n });\n}\nvar Xs = Object.defineProperty, Ys = (t, e, n) => e in t ? Xs(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n, K = (t, e, n) => Ys(t, typeof e != \"symbol\" ? e + \"\" : e, n);\nclass eo {\n constructor() {\n K(this, \"nextQueryId\"), K(this, \"querySetVersion\"), K(this, \"querySet\"), K(this, \"queryIdToToken\"), K(this, \"identityVersion\"), K(this, \"auth\"), K(this, \"outstandingQueriesOlderThanRestart\"), K(this, \"outstandingAuthOlderThanRestart\"), K(this, \"paused\"), K(this, \"pendingQuerySetModifications\"), this.nextQueryId = 0, this.querySetVersion = 0, this.identityVersion = 0, this.querySet = /* @__PURE__ */ new Map(), this.queryIdToToken = /* @__PURE__ */ new Map(), this.outstandingQueriesOlderThanRestart = /* @__PURE__ */ new Set(), this.outstandingAuthOlderThanRestart = !1, this.paused = !1, this.pendingQuerySetModifications = /* @__PURE__ */ new Map();\n }\n hasSyncedPastLastReconnect() {\n return this.outstandingQueriesOlderThanRestart.size === 0 && !this.outstandingAuthOlderThanRestart;\n }\n markAuthCompletion() {\n this.outstandingAuthOlderThanRestart = !1;\n }\n subscribe(e, n, r, i) {\n const s = fe(e), o = he(s, n), l = this.querySet.get(o);\n if (l !== void 0)\n return l.numSubscribers += 1, {\n queryToken: o,\n modification: null,\n unsubscribe: () => this.removeSubscriber(o)\n };\n {\n const a = this.nextQueryId++, h = {\n id: a,\n canonicalizedUdfPath: s,\n args: n,\n numSubscribers: 1,\n journal: r,\n componentPath: i\n };\n this.querySet.set(o, h), this.queryIdToToken.set(a, o);\n const d = this.querySetVersion, c = this.querySetVersion + 1, p = {\n type: \"Add\",\n queryId: a,\n udfPath: s,\n args: [te(n)],\n journal: r,\n componentPath: i\n };\n return this.paused ? this.pendingQuerySetModifications.set(a, p) : this.querySetVersion = c, {\n queryToken: o,\n modification: {\n type: \"ModifyQuerySet\",\n baseVersion: d,\n newVersion: c,\n modifications: [p]\n },\n unsubscribe: () => this.removeSubscriber(o)\n };\n }\n }\n transition(e) {\n for (const n of e.modifications)\n switch (n.type) {\n case \"QueryUpdated\":\n case \"QueryFailed\": {\n this.outstandingQueriesOlderThanRestart.delete(n.queryId);\n const r = n.journal;\n if (r !== void 0) {\n const i = this.queryIdToToken.get(n.queryId);\n i !== void 0 && (this.querySet.get(i).journal = r);\n }\n break;\n }\n case \"QueryRemoved\": {\n this.outstandingQueriesOlderThanRestart.delete(n.queryId);\n break;\n }\n default:\n throw new Error(`Invalid modification ${n.type}`);\n }\n }\n queryId(e, n) {\n const r = fe(e), i = he(r, n), s = this.querySet.get(i);\n return s !== void 0 ? s.id : null;\n }\n isCurrentOrNewerAuthVersion(e) {\n return e >= this.identityVersion;\n }\n getAuth() {\n return this.auth;\n }\n setAuth(e) {\n this.auth = {\n tokenType: \"User\",\n value: e\n };\n const n = this.identityVersion;\n return this.paused || (this.identityVersion = n + 1), {\n type: \"Authenticate\",\n baseVersion: n,\n ...this.auth\n };\n }\n setAdminAuth(e, n) {\n const r = {\n tokenType: \"Admin\",\n value: e,\n impersonating: n\n };\n this.auth = r;\n const i = this.identityVersion;\n return this.paused || (this.identityVersion = i + 1), {\n type: \"Authenticate\",\n baseVersion: i,\n ...r\n };\n }\n clearAuth() {\n this.auth = void 0, this.markAuthCompletion();\n const e = this.identityVersion;\n return this.paused || (this.identityVersion = e + 1), {\n type: \"Authenticate\",\n tokenType: \"None\",\n baseVersion: e\n };\n }\n hasAuth() {\n return !!this.auth;\n }\n isNewAuth(e) {\n return this.auth?.value !== e;\n }\n queryPath(e) {\n const n = this.queryIdToToken.get(e);\n return n ? this.querySet.get(n).canonicalizedUdfPath : null;\n }\n queryArgs(e) {\n const n = this.queryIdToToken.get(e);\n return n ? this.querySet.get(n).args : null;\n }\n queryToken(e) {\n return this.queryIdToToken.get(e) ?? null;\n }\n queryJournal(e) {\n return this.querySet.get(e)?.journal;\n }\n restart() {\n this.unpause(), this.outstandingQueriesOlderThanRestart.clear();\n const e = [];\n for (const i of this.querySet.values()) {\n const s = {\n type: \"Add\",\n queryId: i.id,\n udfPath: i.canonicalizedUdfPath,\n args: [te(i.args)],\n journal: i.journal,\n componentPath: i.componentPath\n };\n e.push(s), this.outstandingQueriesOlderThanRestart.add(i.id);\n }\n this.querySetVersion = 1;\n const n = {\n type: \"ModifyQuerySet\",\n baseVersion: 0,\n newVersion: 1,\n modifications: e\n };\n if (!this.auth)\n return this.identityVersion = 0, [n, void 0];\n this.outstandingAuthOlderThanRestart = !0;\n const r = {\n type: \"Authenticate\",\n baseVersion: 0,\n ...this.auth\n };\n return this.identityVersion = 1, [n, r];\n }\n pause() {\n this.paused = !0;\n }\n resume() {\n const e = this.pendingQuerySetModifications.size > 0 ? {\n type: \"ModifyQuerySet\",\n baseVersion: this.querySetVersion,\n newVersion: ++this.querySetVersion,\n modifications: Array.from(\n this.pendingQuerySetModifications.values()\n )\n } : void 0, n = this.auth !== void 0 ? {\n type: \"Authenticate\",\n baseVersion: this.identityVersion++,\n ...this.auth\n } : void 0;\n return this.unpause(), [e, n];\n }\n unpause() {\n this.paused = !1, this.pendingQuerySetModifications.clear();\n }\n removeSubscriber(e) {\n const n = this.querySet.get(e);\n if (n.numSubscribers > 1)\n return n.numSubscribers -= 1, null;\n {\n this.querySet.delete(e), this.queryIdToToken.delete(n.id), this.outstandingQueriesOlderThanRestart.delete(n.id);\n const r = this.querySetVersion, i = this.querySetVersion + 1, s = {\n type: \"Remove\",\n queryId: n.id\n };\n return this.paused ? this.pendingQuerySetModifications.has(n.id) ? this.pendingQuerySetModifications.delete(n.id) : this.pendingQuerySetModifications.set(n.id, s) : this.querySetVersion = i, {\n type: \"ModifyQuerySet\",\n baseVersion: r,\n newVersion: i,\n modifications: [s]\n };\n }\n }\n}\nvar to = Object.defineProperty, no = (t, e, n) => e in t ? to(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n, ot = (t, e, n) => no(t, typeof e != \"symbol\" ? e + \"\" : e, n);\nclass ro {\n constructor(e, n) {\n this.logger = e, this.markConnectionStateDirty = n, ot(this, \"inflightRequests\"), ot(this, \"requestsOlderThanRestart\"), ot(this, \"inflightMutationsCount\", 0), ot(this, \"inflightActionsCount\", 0), this.inflightRequests = /* @__PURE__ */ new Map(), this.requestsOlderThanRestart = /* @__PURE__ */ new Set();\n }\n request(e, n) {\n const r = new Promise((i) => {\n const s = n ? \"Requested\" : \"NotSent\";\n this.inflightRequests.set(e.requestId, {\n message: e,\n status: { status: s, requestedAt: /* @__PURE__ */ new Date(), onResult: i }\n }), e.type === \"Mutation\" ? this.inflightMutationsCount++ : e.type === \"Action\" && this.inflightActionsCount++;\n });\n return this.markConnectionStateDirty(), r;\n }\n /**\n * Update the state after receiving a response.\n *\n * @returns A RequestId if the request is complete and its optimistic update\n * can be dropped, null otherwise.\n */\n onResponse(e) {\n const n = this.inflightRequests.get(e.requestId);\n if (n === void 0 || n.status.status === \"Completed\")\n return null;\n const r = n.message.type === \"Mutation\" ? \"mutation\" : \"action\", i = n.message.udfPath;\n for (const a of e.logLines)\n pt(this.logger, \"info\", r, i, a);\n const s = n.status;\n let o, l;\n if (e.success)\n o = {\n success: !0,\n logLines: e.logLines,\n value: Te(e.result)\n }, l = () => s.onResult(o);\n else {\n const a = e.result, { errorData: h } = e;\n pt(this.logger, \"error\", r, i, a), o = {\n success: !1,\n errorMessage: a,\n errorData: h !== void 0 ? Te(h) : void 0,\n logLines: e.logLines\n }, l = () => s.onResult(o);\n }\n return e.type === \"ActionResponse\" || !e.success ? (l(), this.inflightRequests.delete(e.requestId), this.requestsOlderThanRestart.delete(e.requestId), n.message.type === \"Action\" ? this.inflightActionsCount-- : n.message.type === \"Mutation\" && this.inflightMutationsCount--, this.markConnectionStateDirty(), { requestId: e.requestId, result: o }) : (n.status = {\n status: \"Completed\",\n result: o,\n ts: e.ts,\n onResolve: l\n }, null);\n }\n // Remove and returns completed requests.\n removeCompleted(e) {\n const n = /* @__PURE__ */ new Map();\n for (const [r, i] of this.inflightRequests.entries()) {\n const s = i.status;\n s.status === \"Completed\" && s.ts.lessThanOrEqual(e) && (s.onResolve(), n.set(r, s.result), i.message.type === \"Mutation\" ? this.inflightMutationsCount-- : i.message.type === \"Action\" && this.inflightActionsCount--, this.inflightRequests.delete(r), this.requestsOlderThanRestart.delete(r));\n }\n return n.size > 0 && this.markConnectionStateDirty(), n;\n }\n restart() {\n this.requestsOlderThanRestart = new Set(this.inflightRequests.keys());\n const e = [];\n for (const [n, r] of this.inflightRequests) {\n if (r.status.status === \"NotSent\") {\n r.status.status = \"Requested\", e.push(r.message);\n continue;\n }\n if (r.message.type === \"Mutation\")\n e.push(r.message);\n else if (r.message.type === \"Action\") {\n if (this.inflightRequests.delete(n), this.requestsOlderThanRestart.delete(n), this.inflightActionsCount--, r.status.status === \"Completed\")\n throw new Error(\"Action should never be in 'Completed' state\");\n r.status.onResult({\n success: !1,\n errorMessage: \"Connection lost while action was in flight\",\n logLines: []\n });\n }\n }\n return this.markConnectionStateDirty(), e;\n }\n resume() {\n const e = [];\n for (const [, n] of this.inflightRequests)\n if (n.status.status === \"NotSent\") {\n n.status.status = \"Requested\", e.push(n.message);\n continue;\n }\n return e;\n }\n /**\n * @returns true if there are any requests that have been requested but have\n * not be completed yet.\n */\n hasIncompleteRequests() {\n for (const e of this.inflightRequests.values())\n if (e.status.status === \"Requested\")\n return !0;\n return !1;\n }\n /**\n * @returns true if there are any inflight requests, including ones that have\n * completed on the server, but have not been applied.\n */\n hasInflightRequests() {\n return this.inflightRequests.size > 0;\n }\n /**\n * @returns true if there are any inflight requests, that have been hanging around\n * since prior to the most recent restart.\n */\n hasSyncedPastLastReconnect() {\n return this.requestsOlderThanRestart.size === 0;\n }\n timeOfOldestInflightRequest() {\n if (this.inflightRequests.size === 0)\n return null;\n let e = Date.now();\n for (const n of this.inflightRequests.values())\n n.status.status !== \"Completed\" && n.status.requestedAt.getTime() < e && (e = n.status.requestedAt.getTime());\n return new Date(e);\n }\n /**\n * @returns The number of mutations currently in flight.\n */\n inflightMutations() {\n return this.inflightMutationsCount;\n }\n /**\n * @returns The number of actions currently in flight.\n */\n inflightActions() {\n return this.inflightActionsCount;\n }\n}\nconst Ke = /* @__PURE__ */ Symbol.for(\"functionName\"), ui = /* @__PURE__ */ Symbol.for(\"toReferencePath\");\nfunction io(t) {\n return t[ui] ?? null;\n}\nfunction so(t) {\n return t.startsWith(\"function://\");\n}\nfunction oo(t) {\n let e;\n if (typeof t == \"string\")\n so(t) ? e = { functionHandle: t } : e = { name: t };\n else if (t[Ke])\n e = { name: t[Ke] };\n else {\n const n = io(t);\n if (!n)\n throw new Error(`${t} is not a functionReference`);\n e = { reference: n };\n }\n return e;\n}\nfunction P(t) {\n const e = oo(t);\n if (e.name === void 0)\n throw e.functionHandle !== void 0 ? new Error(\n `Expected function reference like \"api.file.func\" or \"internal.file.func\", but received function handle ${e.functionHandle}`\n ) : e.reference !== void 0 ? new Error(\n `Expected function reference in the current component like \"api.file.func\" or \"internal.file.func\", but received reference ${e.reference}`\n ) : new Error(\n `Expected function reference like \"api.file.func\" or \"internal.file.func\", but received ${JSON.stringify(e)}`\n );\n if (typeof t == \"string\") return t;\n const n = t[Ke];\n if (!n)\n throw new Error(`${t} is not a functionReference`);\n return n;\n}\nfunction hi(t) {\n return { [Ke]: t };\n}\nfunction di(t = []) {\n const e = {\n get(n, r) {\n if (typeof r == \"string\") {\n const i = [...t, r];\n return di(i);\n } else if (r === Ke) {\n if (t.length < 2) {\n const o = [\"api\", ...t].join(\".\");\n throw new Error(\n `API path is expected to be of the form \\`api.moduleName.functionName\\`. Found: \\`${o}\\``\n );\n }\n const i = t.slice(0, -1).join(\"/\"), s = t[t.length - 1];\n return s === \"default\" ? i : i + \":\" + s;\n } else return r === Symbol.toStringTag ? \"FunctionReference\" : void 0;\n }\n };\n return new Proxy({}, e);\n}\nconst ao = di();\nvar lo = Object.defineProperty, co = (t, e, n) => e in t ? lo(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n, gt = (t, e, n) => co(t, typeof e != \"symbol\" ? e + \"\" : e, n);\nclass Ze {\n constructor(e) {\n gt(this, \"queryResults\"), gt(this, \"modifiedQueries\"), this.queryResults = e, this.modifiedQueries = [];\n }\n getQuery(e, ...n) {\n const r = re(n[0]), i = P(e), s = this.queryResults.get(\n he(i, r)\n );\n if (s !== void 0)\n return Ze.queryValue(s.result);\n }\n getAllQueries(e) {\n const n = [], r = P(e);\n for (const i of this.queryResults.values())\n i.udfPath === fe(r) && n.push({\n args: i.args,\n value: Ze.queryValue(i.result)\n });\n return n;\n }\n setQuery(e, n, r) {\n const i = re(n), s = P(e), o = he(s, i);\n let l;\n r === void 0 ? l = void 0 : l = {\n success: !0,\n value: r,\n // It's an optimistic update, so there are no function logs to show.\n logLines: []\n };\n const a = {\n udfPath: s,\n args: i,\n result: l\n };\n this.queryResults.set(o, a), this.modifiedQueries.push(o);\n }\n static queryValue(e) {\n if (e !== void 0)\n return e.success ? e.value : void 0;\n }\n}\nclass uo {\n constructor() {\n gt(this, \"queryResults\"), gt(this, \"optimisticUpdates\"), this.queryResults = /* @__PURE__ */ new Map(), this.optimisticUpdates = [];\n }\n /**\n * Apply all optimistic updates on top of server query results\n */\n ingestQueryResultsFromServer(e, n) {\n this.optimisticUpdates = this.optimisticUpdates.filter((o) => !n.has(o.mutationId));\n const r = this.queryResults;\n this.queryResults = new Map(e);\n const i = new Ze(this.queryResults);\n for (const o of this.optimisticUpdates)\n o.update(i);\n const s = [];\n for (const [o, l] of this.queryResults) {\n const a = r.get(o);\n (a === void 0 || a.result !== l.result) && s.push(o);\n }\n return s;\n }\n applyOptimisticUpdate(e, n) {\n this.optimisticUpdates.push({\n update: e,\n mutationId: n\n });\n const r = new Ze(this.queryResults);\n return e(r), r.modifiedQueries;\n }\n /**\n * \"Raw\" with respect to errors vs values, but query results still have\n * optimistic updates applied.\n *\n * @internal\n */\n rawQueryResult(e) {\n const n = this.queryResults.get(e);\n if (n !== void 0)\n return n.result;\n }\n queryResult(e) {\n const n = this.queryResults.get(e);\n if (n === void 0)\n return;\n const r = n.result;\n if (r !== void 0) {\n if (r.success)\n return r.value;\n throw r.errorData !== void 0 ? Yt(\n r,\n new Xt(\n we(\"query\", n.udfPath, r)\n )\n ) : new Error(\n we(\"query\", n.udfPath, r)\n );\n }\n }\n hasQueryResult(e) {\n return this.queryResults.get(e) !== void 0;\n }\n /**\n * @internal\n */\n queryLogs(e) {\n return this.queryResults.get(e)?.result?.logLines;\n }\n}\nvar ho = Object.defineProperty, fo = (t, e, n) => e in t ? ho(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n, Ot = (t, e, n) => fo(t, typeof e != \"symbol\" ? e + \"\" : e, n);\nclass E {\n constructor(e, n) {\n Ot(this, \"low\"), Ot(this, \"high\"), Ot(this, \"__isUnsignedLong__\"), this.low = e | 0, this.high = n | 0, this.__isUnsignedLong__ = !0;\n }\n static isLong(e) {\n return (e && e.__isUnsignedLong__) === !0;\n }\n // prettier-ignore\n static fromBytesLE(e) {\n return new E(\n e[0] | e[1] << 8 | e[2] << 16 | e[3] << 24,\n e[4] | e[5] << 8 | e[6] << 16 | e[7] << 24\n );\n }\n // prettier-ignore\n toBytesLE() {\n const e = this.high, n = this.low;\n return [\n n & 255,\n n >>> 8 & 255,\n n >>> 16 & 255,\n n >>> 24,\n e & 255,\n e >>> 8 & 255,\n e >>> 16 & 255,\n e >>> 24\n ];\n }\n static fromNumber(e) {\n return isNaN(e) || e < 0 ? sr : e >= po ? go : new E(e % Ue | 0, e / Ue | 0);\n }\n toString() {\n return (BigInt(this.high) * BigInt(Ue) + BigInt(this.low)).toString();\n }\n equals(e) {\n return E.isLong(e) || (e = E.fromValue(e)), this.high >>> 31 === 1 && e.high >>> 31 === 1 ? !1 : this.high === e.high && this.low === e.low;\n }\n notEquals(e) {\n return !this.equals(e);\n }\n comp(e) {\n return E.isLong(e) || (e = E.fromValue(e)), this.equals(e) ? 0 : e.high >>> 0 > this.high >>> 0 || e.high === this.high && e.low >>> 0 > this.low >>> 0 ? -1 : 1;\n }\n lessThanOrEqual(e) {\n return this.comp(\n /* validates */\n e\n ) <= 0;\n }\n static fromValue(e) {\n return typeof e == \"number\" ? E.fromNumber(e) : new E(e.low, e.high);\n }\n}\nconst sr = new E(0, 0), or = 65536, Ue = or * or, po = Ue * Ue, go = new E(-1, -1);\nvar mo = Object.defineProperty, xo = (t, e, n) => e in t ? mo(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n, at = (t, e, n) => xo(t, typeof e != \"symbol\" ? e + \"\" : e, n);\nclass ar {\n constructor(e, n) {\n at(this, \"version\"), at(this, \"remoteQuerySet\"), at(this, \"queryPath\"), at(this, \"logger\"), this.version = { querySet: 0, ts: E.fromNumber(0), identity: 0 }, this.remoteQuerySet = /* @__PURE__ */ new Map(), this.queryPath = e, this.logger = n;\n }\n transition(e) {\n const n = e.startVersion;\n if (this.version.querySet !== n.querySet || this.version.ts.notEquals(n.ts) || this.version.identity !== n.identity)\n throw new Error(\n `Invalid start version: ${n.ts.toString()}:${n.querySet}:${n.identity}, transitioning from ${this.version.ts.toString()}:${this.version.querySet}:${this.version.identity}`\n );\n for (const r of e.modifications)\n switch (r.type) {\n case \"QueryUpdated\": {\n const i = this.queryPath(r.queryId);\n if (i)\n for (const o of r.logLines)\n pt(this.logger, \"info\", \"query\", i, o);\n const s = Te(r.value ?? null);\n this.remoteQuerySet.set(r.queryId, {\n success: !0,\n value: s,\n logLines: r.logLines\n });\n break;\n }\n case \"QueryFailed\": {\n const i = this.queryPath(r.queryId);\n if (i)\n for (const o of r.logLines)\n pt(this.logger, \"info\", \"query\", i, o);\n const { errorData: s } = r;\n this.remoteQuerySet.set(r.queryId, {\n success: !1,\n errorMessage: r.errorMessage,\n errorData: s !== void 0 ? Te(s) : void 0,\n logLines: r.logLines\n });\n break;\n }\n case \"QueryRemoved\": {\n this.remoteQuerySet.delete(r.queryId);\n break;\n }\n default:\n throw new Error(`Invalid modification ${r.type}`);\n }\n this.version = e.endVersion;\n }\n remoteQueryResults() {\n return this.remoteQuerySet;\n }\n timestamp() {\n return this.version.ts;\n }\n}\nfunction Nt(t) {\n const e = Je(t);\n return E.fromBytesLE(Array.from(e));\n}\nfunction bo(t) {\n const e = new Uint8Array(t.toBytesLE());\n return Ge(e);\n}\nfunction lr(t) {\n switch (t.type) {\n case \"FatalError\":\n case \"AuthError\":\n case \"ActionResponse\":\n case \"TransitionChunk\":\n case \"Ping\":\n return { ...t };\n case \"MutationResponse\":\n return t.success ? { ...t, ts: Nt(t.ts) } : { ...t };\n case \"Transition\":\n return {\n ...t,\n startVersion: {\n ...t.startVersion,\n ts: Nt(t.startVersion.ts)\n },\n endVersion: {\n ...t.endVersion,\n ts: Nt(t.endVersion.ts)\n }\n };\n }\n}\nfunction yo(t) {\n switch (t.type) {\n case \"Authenticate\":\n case \"ModifyQuerySet\":\n case \"Mutation\":\n case \"Action\":\n case \"Event\":\n return { ...t };\n case \"Connect\":\n return t.maxObservedTimestamp !== void 0 ? {\n ...t,\n maxObservedTimestamp: bo(t.maxObservedTimestamp)\n } : { ...t, maxObservedTimestamp: void 0 };\n }\n}\nvar vo = Object.defineProperty, _o = (t, e, n) => e in t ? vo(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n, C = (t, e, n) => _o(t, typeof e != \"symbol\" ? e + \"\" : e, n);\nconst wo = 1e3, ko = 1001, So = 1005, jo = 4040;\nlet dt;\nfunction _e() {\n return dt === void 0 && (dt = Date.now()), typeof performance > \"u\" || !performance.now ? Date.now() : Math.round(dt + performance.now());\n}\nfunction cr() {\n return `t=${Math.round((_e() - dt) / 100) / 10}s`;\n}\nconst fi = {\n // A known error, e.g. during a restart or push\n InternalServerError: { timeout: 1e3 },\n // ErrorMetadata::overloaded() messages that we realy should back off\n SubscriptionsWorkerFullError: { timeout: 3e3 },\n TooManyConcurrentRequests: { timeout: 3e3 },\n CommitterFullError: { timeout: 3e3 },\n AwsTooManyRequestsException: { timeout: 3e3 },\n ExecuteFullError: { timeout: 3e3 },\n SystemTimeoutError: { timeout: 3e3 },\n ExpiredInQueue: { timeout: 3e3 },\n // ErrorMetadata::feature_temporarily_unavailable() that typically indicate a deploy just happened\n VectorIndexesUnavailable: { timeout: 1e3 },\n SearchIndexesUnavailable: { timeout: 1e3 },\n TableSummariesUnavailable: { timeout: 1e3 },\n // More ErrorMetadata::overloaded()\n VectorIndexTooLarge: { timeout: 3e3 },\n SearchIndexTooLarge: { timeout: 3e3 },\n TooManyWritesInTimePeriod: { timeout: 3e3 }\n};\nfunction Co(t) {\n if (t === void 0) return \"Unknown\";\n for (const e of Object.keys(\n fi\n ))\n if (t.startsWith(e))\n return e;\n return \"Unknown\";\n}\nclass Ro {\n constructor(e, n, r, i, s, o) {\n this.markConnectionStateDirty = s, this.debug = o, C(this, \"socket\"), C(this, \"connectionCount\"), C(this, \"_hasEverConnected\", !1), C(this, \"lastCloseReason\"), C(this, \"transitionChunkBuffer\", null), C(this, \"defaultInitialBackoff\"), C(this, \"maxBackoff\"), C(this, \"retries\"), C(this, \"serverInactivityThreshold\"), C(this, \"reconnectDueToServerInactivityTimeout\"), C(this, \"scheduledReconnect\", null), C(this, \"networkOnlineHandler\", null), C(this, \"pendingNetworkRecoveryInfo\", null), C(this, \"uri\"), C(this, \"onOpen\"), C(this, \"onResume\"), C(this, \"onMessage\"), C(this, \"webSocketConstructor\"), C(this, \"logger\"), C(this, \"onServerDisconnectError\"), this.webSocketConstructor = r, this.socket = { state: \"disconnected\" }, this.connectionCount = 0, this.lastCloseReason = \"InitialConnect\", this.defaultInitialBackoff = 1e3, this.maxBackoff = 16e3, this.retries = 0, this.serverInactivityThreshold = 6e4, this.reconnectDueToServerInactivityTimeout = null, this.uri = e, this.onOpen = n.onOpen, this.onResume = n.onResume, this.onMessage = n.onMessage, this.onServerDisconnectError = n.onServerDisconnectError, this.logger = i, this.setupNetworkListener(), this.connect();\n }\n setSocketState(e) {\n this.socket = e, this._logVerbose(\n `socket state changed: ${this.socket.state}, paused: ${\"paused\" in this.socket ? this.socket.paused : void 0}`\n ), this.markConnectionStateDirty();\n }\n setupNetworkListener() {\n typeof window > \"u\" || typeof window.addEventListener != \"function\" || this.networkOnlineHandler === null && (this.networkOnlineHandler = () => {\n this._logVerbose(\"network online event detected\"), this.tryReconnectImmediately();\n }, window.addEventListener(\"online\", this.networkOnlineHandler), this._logVerbose(\"network online event listener registered\"));\n }\n cleanupNetworkListener() {\n this.networkOnlineHandler && typeof window < \"u\" && typeof window.removeEventListener == \"function\" && (window.removeEventListener(\"online\", this.networkOnlineHandler), this.networkOnlineHandler = null, this._logVerbose(\"network online event listener removed\"));\n }\n assembleTransition(e) {\n if (e.partNumber < 0 || e.partNumber >= e.totalParts || e.totalParts === 0 || this.transitionChunkBuffer && (this.transitionChunkBuffer.totalParts !== e.totalParts || this.transitionChunkBuffer.transitionId !== e.transitionId))\n throw this.transitionChunkBuffer = null, new Error(\"Invalid TransitionChunk\");\n if (this.transitionChunkBuffer === null && (this.transitionChunkBuffer = {\n chunks: [],\n totalParts: e.totalParts,\n transitionId: e.transitionId\n }), e.partNumber !== this.transitionChunkBuffer.chunks.length) {\n const n = this.transitionChunkBuffer.chunks.length;\n throw this.transitionChunkBuffer = null, new Error(\n `TransitionChunk received out of order: expected part ${n}, got ${e.partNumber}`\n );\n }\n if (this.transitionChunkBuffer.chunks.push(e.chunk), this.transitionChunkBuffer.chunks.length === e.totalParts) {\n const n = this.transitionChunkBuffer.chunks.join(\"\");\n this.transitionChunkBuffer = null;\n const r = lr(JSON.parse(n));\n if (r.type !== \"Transition\")\n throw new Error(\n `Expected Transition, got ${r.type} after assembling chunks`\n );\n return r;\n }\n return null;\n }\n connect() {\n if (this.socket.state === \"terminated\")\n return;\n if (this.socket.state !== \"disconnected\" && this.socket.state !== \"stopped\")\n throw new Error(\n \"Didn't start connection from disconnected state: \" + this.socket.state\n );\n const e = new this.webSocketConstructor(this.uri);\n this._logVerbose(\"constructed WebSocket\"), this.setSocketState({\n state: \"connecting\",\n ws: e,\n paused: \"no\"\n }), this.resetServerInactivityTimeout(), e.onopen = () => {\n if (this.logger.logVerbose(\"begin ws.onopen\"), this.socket.state !== \"connecting\")\n throw new Error(\"onopen called with socket not in connecting state\");\n if (this.setSocketState({\n state: \"ready\",\n ws: e,\n paused: this.socket.paused === \"yes\" ? \"uninitialized\" : \"no\"\n }), this.resetServerInactivityTimeout(), this.socket.paused === \"no\" && (this._hasEverConnected = !0, this.onOpen({\n connectionCount: this.connectionCount,\n lastCloseReason: this.lastCloseReason,\n clientTs: _e()\n })), this.lastCloseReason !== \"InitialConnect\" && (this.lastCloseReason ? this.logger.log(\n \"WebSocket reconnected at\",\n cr(),\n \"after disconnect due to\",\n this.lastCloseReason\n ) : this.logger.log(\"WebSocket reconnected at\", cr())), this.connectionCount += 1, this.lastCloseReason = null, this.pendingNetworkRecoveryInfo !== null) {\n const { timeSavedMs: n } = this.pendingNetworkRecoveryInfo;\n this.pendingNetworkRecoveryInfo = null, this.sendMessage({\n type: \"Event\",\n eventType: \"NetworkRecoveryReconnect\",\n event: { timeSavedMs: n }\n }), this.logger.log(\n `Network recovery reconnect saved ~${Math.round(n / 1e3)}s of waiting`\n );\n }\n }, e.onerror = (n) => {\n this.transitionChunkBuffer = null;\n const r = n.message;\n r && this.logger.log(`WebSocket error message: ${r}`);\n }, e.onmessage = (n) => {\n this.resetServerInactivityTimeout();\n const r = n.data.length;\n let i = lr(JSON.parse(n.data));\n if (this._logVerbose(`received ws message with type ${i.type}`), i.type === \"Ping\")\n return;\n if (i.type === \"TransitionChunk\") {\n const o = this.assembleTransition(i);\n if (!o)\n return;\n i = o, this._logVerbose(\n `assembled full ws message of type ${i.type}`\n );\n }\n this.transitionChunkBuffer !== null && (this.transitionChunkBuffer = null, this.logger.log(\n `Received unexpected ${i.type} while buffering TransitionChunks`\n )), i.type === \"Transition\" && this.reportLargeTransition({\n messageLength: r,\n transition: i\n }), this.onMessage(i).hasSyncedPastLastReconnect && (this.retries = 0, this.markConnectionStateDirty());\n }, e.onclose = (n) => {\n if (this._logVerbose(\"begin ws.onclose\"), this.transitionChunkBuffer = null, this.lastCloseReason === null && (this.lastCloseReason = n.reason || `closed with code ${n.code}`), n.code !== wo && n.code !== ko && // This commonly gets fired on mobile apps when the app is backgrounded\n n.code !== So && n.code !== jo) {\n let i = `WebSocket closed with code ${n.code}`;\n n.reason && (i += `: ${n.reason}`), this.logger.log(i), this.onServerDisconnectError && n.reason && this.onServerDisconnectError(i);\n }\n const r = Co(n.reason);\n this.scheduleReconnect(r);\n };\n }\n /**\n * @returns The state of the {@link Socket}.\n */\n socketState() {\n return this.socket.state;\n }\n /**\n * @param message - A ClientMessage to send.\n * @returns Whether the message (might have been) sent.\n */\n sendMessage(e) {\n const n = {\n type: e.type,\n ...e.type === \"Authenticate\" && e.tokenType === \"User\" ? {\n value: `...${e.value.slice(-7)}`\n } : {}\n };\n if (this.socket.state === \"ready\" && this.socket.paused === \"no\") {\n const r = yo(e), i = JSON.stringify(r);\n let s = !1;\n try {\n this.socket.ws.send(i), s = !0;\n } catch (o) {\n this.logger.log(\n `Failed to send message on WebSocket, reconnecting: ${o}`\n ), this.closeAndReconnect(\"FailedToSendMessage\");\n }\n return this._logVerbose(\n `${s ? \"sent\" : \"failed to send\"} message with type ${e.type}: ${JSON.stringify(\n n\n )}`\n ), !0;\n }\n return this._logVerbose(\n `message not sent (socket state: ${this.socket.state}, paused: ${\"paused\" in this.socket ? this.socket.paused : void 0}): ${JSON.stringify(\n n\n )}`\n ), !1;\n }\n resetServerInactivityTimeout() {\n this.socket.state !== \"terminated\" && (this.reconnectDueToServerInactivityTimeout !== null && (clearTimeout(this.reconnectDueToServerInactivityTimeout), this.reconnectDueToServerInactivityTimeout = null), this.reconnectDueToServerInactivityTimeout = setTimeout(() => {\n this.closeAndReconnect(\"InactiveServer\");\n }, this.serverInactivityThreshold));\n }\n scheduleReconnect(e) {\n this.scheduledReconnect && (clearTimeout(this.scheduledReconnect.timeout), this.scheduledReconnect = null), this.socket = { state: \"disconnected\" };\n const n = this.nextBackoff(e);\n this.markConnectionStateDirty(), this.logger.log(`Attempting reconnect in ${Math.round(n)}ms`);\n const r = _e(), i = setTimeout(() => {\n this.scheduledReconnect?.timeout === i && (this.scheduledReconnect = null, this.connect());\n }, n);\n this.scheduledReconnect = {\n timeout: i,\n scheduledAt: r,\n backoffMs: n\n };\n }\n /**\n * Close the WebSocket and schedule a reconnect.\n *\n * This should be used when we hit an error and would like to restart the session.\n */\n closeAndReconnect(e) {\n switch (this._logVerbose(`begin closeAndReconnect with reason ${e}`), this.socket.state) {\n case \"disconnected\":\n case \"terminated\":\n case \"stopped\":\n return;\n case \"connecting\":\n case \"ready\": {\n this.lastCloseReason = e, this.close(), this.scheduleReconnect(\"client\");\n return;\n }\n default:\n this.socket;\n }\n }\n /**\n * Close the WebSocket, being careful to clear the onclose handler to avoid re-entrant\n * calls. Use this instead of directly calling `ws.close()`\n *\n * It is the callers responsibility to update the state after this method is called so that the\n * closed socket is not accessible or used again after this method is called\n */\n close() {\n switch (this.transitionChunkBuffer = null, this.socket.state) {\n case \"disconnected\":\n case \"terminated\":\n case \"stopped\":\n return Promise.resolve();\n case \"connecting\": {\n const e = this.socket.ws;\n return e.onmessage = (n) => {\n this._logVerbose(\"Ignoring message received after close\");\n }, new Promise((n) => {\n e.onclose = () => {\n this._logVerbose(\"Closed after connecting\"), n();\n }, e.onopen = () => {\n this._logVerbose(\"Opened after connecting\"), e.close();\n };\n });\n }\n case \"ready\": {\n this._logVerbose(\"ws.close called\");\n const e = this.socket.ws;\n e.onmessage = (r) => {\n this._logVerbose(\"Ignoring message received after close\");\n };\n const n = new Promise((r) => {\n e.onclose = () => {\n r();\n };\n });\n return e.close(), n;\n }\n default:\n return this.socket, Promise.resolve();\n }\n }\n /**\n * Close the WebSocket and do not reconnect.\n * @returns A Promise that resolves when the WebSocket `onClose` callback is called.\n */\n terminate() {\n switch (this.reconnectDueToServerInactivityTimeout && clearTimeout(this.reconnectDueToServerInactivityTimeout), this.scheduledReconnect && (clearTimeout(this.scheduledReconnect.timeout), this.scheduledReconnect = null), this.cleanupNetworkListener(), this.socket.state) {\n case \"terminated\":\n case \"stopped\":\n case \"disconnected\":\n case \"connecting\":\n case \"ready\": {\n const e = this.close();\n return this.setSocketState({ state: \"terminated\" }), e;\n }\n default:\n throw this.socket, new Error(\n `Invalid websocket state: ${this.socket.state}`\n );\n }\n }\n stop() {\n switch (this.socket.state) {\n case \"terminated\":\n return Promise.resolve();\n case \"connecting\":\n case \"stopped\":\n case \"disconnected\":\n case \"ready\": {\n this.cleanupNetworkListener();\n const e = this.close();\n return this.socket = { state: \"stopped\" }, e;\n }\n default:\n return this.socket, Promise.resolve();\n }\n }\n /**\n * Create a new WebSocket after a previous `stop()`, unless `terminate()` was\n * called before.\n */\n tryRestart() {\n switch (this.socket.state) {\n case \"stopped\":\n break;\n case \"terminated\":\n case \"connecting\":\n case \"ready\":\n case \"disconnected\":\n this.logger.logVerbose(\"Restart called without stopping first\");\n return;\n default:\n this.socket;\n }\n this.setupNetworkListener(), this.connect();\n }\n pause() {\n switch (this.socket.state) {\n case \"disconnected\":\n case \"stopped\":\n case \"terminated\":\n return;\n case \"connecting\":\n case \"ready\": {\n this.socket = { ...this.socket, paused: \"yes\" };\n return;\n }\n default: {\n this.socket;\n return;\n }\n }\n }\n /**\n * Try to reconnect immediately, canceling any scheduled reconnect.\n * This is useful when detecting network recovery.\n * Only takes action if we're in disconnected state (waiting to reconnect).\n */\n tryReconnectImmediately() {\n if (this._logVerbose(\"tryReconnectImmediately called\"), this.socket.state !== \"disconnected\") {\n this._logVerbose(\n `tryReconnectImmediately called but socket state is ${this.socket.state}, no action taken`\n );\n return;\n }\n let e = null;\n if (this.scheduledReconnect) {\n const n = _e() - this.scheduledReconnect.scheduledAt;\n e = Math.max(0, this.scheduledReconnect.backoffMs - n), this._logVerbose(\n `would have waited ${Math.round(e)}ms more (backoff was ${Math.round(this.scheduledReconnect.backoffMs)}ms, elapsed ${Math.round(n)}ms)`\n ), clearTimeout(this.scheduledReconnect.timeout), this.scheduledReconnect = null, this._logVerbose(\"canceled scheduled reconnect\");\n }\n this.logger.log(\"Network recovery detected, reconnecting immediately\"), this.pendingNetworkRecoveryInfo = e !== null ? { timeSavedMs: e } : null, this.connect();\n }\n /**\n * Resume the state machine if previously paused.\n */\n resume() {\n switch (this.socket.state) {\n case \"connecting\":\n this.socket = { ...this.socket, paused: \"no\" };\n return;\n case \"ready\":\n this.socket.paused === \"uninitialized\" ? (this.socket = { ...this.socket, paused: \"no\" }, this._hasEverConnected = !0, this.onOpen({\n connectionCount: this.connectionCount,\n lastCloseReason: this.lastCloseReason,\n clientTs: _e()\n })) : this.socket.paused === \"yes\" && (this.socket = { ...this.socket, paused: \"no\" }, this.onResume());\n return;\n case \"terminated\":\n case \"stopped\":\n case \"disconnected\":\n return;\n default:\n this.socket;\n }\n this.connect();\n }\n connectionState() {\n return {\n isConnected: this.socket.state === \"ready\",\n hasEverConnected: this._hasEverConnected,\n connectionCount: this.connectionCount,\n connectionRetries: this.retries\n };\n }\n _logVerbose(e) {\n this.logger.logVerbose(e);\n }\n nextBackoff(e) {\n const r = (e === \"client\" ? 100 : e === \"Unknown\" ? this.defaultInitialBackoff : fi[e].timeout) * Math.pow(2, this.retries);\n this.retries += 1;\n const i = Math.min(r, this.maxBackoff), s = i * (Math.random() - 0.5);\n return i + s;\n }\n reportLargeTransition({\n transition: e,\n messageLength: n\n }) {\n if (e.clientClockSkew === void 0 || e.serverTs === void 0)\n return;\n const r = _e() - // client time now\n // clientClockSkew = (server time + upstream latency) - client time\n // clientClockSkew is \"how many milliseconds behind (slow) is the client clock\"\n // but the latency of the Connect message inflates this, making it appear further behind\n e.clientClockSkew - e.serverTs / 1e6, i = `${Math.round(r)}ms`, s = `${Math.round(n / 1e4) / 100}MB`, o = n / (r / 1e3), l = `${Math.round(o / 1e4) / 100}MB per second`;\n this._logVerbose(\n `received ${s} transition in ${i} at ${l}`\n ), n > 2e7 ? this.logger.log(\n `received query results totaling more that 20MB (${s}) which will take a long time to download on slower connections`\n ) : r > 2e4 && this.logger.log(\n `received query results totaling ${s} which took more than 20s to arrive (${i})`\n ), this.debug && this.sendMessage({\n type: \"Event\",\n eventType: \"ClientReceivedTransition\",\n event: { transitionTransitTime: r, messageLength: n }\n });\n }\n}\nfunction To() {\n return $o();\n}\nfunction $o() {\n return \"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/g, (t) => {\n const e = Math.random() * 16 | 0;\n return (t === \"x\" ? e : e & 3 | 8).toString(16);\n });\n}\nclass ze extends Error {\n}\nze.prototype.name = \"InvalidTokenError\";\nfunction Ao(t) {\n return decodeURIComponent(\n atob(t).replace(/(.)/g, (e, n) => {\n let r = n.charCodeAt(0).toString(16).toUpperCase();\n return r.length < 2 && (r = \"0\" + r), \"%\" + r;\n })\n );\n}\nfunction Io(t) {\n let e = t.replace(/-/g, \"+\").replace(/_/g, \"/\");\n switch (e.length % 4) {\n case 0:\n break;\n case 2:\n e += \"==\";\n break;\n case 3:\n e += \"=\";\n break;\n default:\n throw new Error(\"base64 string is not of the correct length\");\n }\n try {\n return Ao(e);\n } catch {\n return atob(e);\n }\n}\nfunction pi(t, e) {\n if (typeof t != \"string\")\n throw new ze(\"Invalid token specified: must be a string\");\n e || (e = {});\n const n = e.header === !0 ? 0 : 1, r = t.split(\".\")[n];\n if (typeof r != \"string\")\n throw new ze(\n `Invalid token specified: missing part #${n + 1}`\n );\n let i;\n try {\n i = Io(r);\n } catch (s) {\n throw new ze(\n `Invalid token specified: invalid base64 for part #${n + 1} (${s.message})`\n );\n }\n try {\n return JSON.parse(i);\n } catch (s) {\n throw new ze(\n `Invalid token specified: invalid json for part #${n + 1} (${s.message})`\n );\n }\n}\nvar Eo = Object.defineProperty, Po = (t, e, n) => e in t ? Eo(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n, O = (t, e, n) => Po(t, typeof e != \"symbol\" ? e + \"\" : e, n);\nconst qo = 480 * 60 * 60 * 1e3, ur = 2;\nclass Mo {\n constructor(e, n, r) {\n O(this, \"authState\", { state: \"noAuth\" }), O(this, \"configVersion\", 0), O(this, \"syncState\"), O(this, \"authenticate\"), O(this, \"stopSocket\"), O(this, \"tryRestartSocket\"), O(this, \"pauseSocket\"), O(this, \"resumeSocket\"), O(this, \"clearAuth\"), O(this, \"logger\"), O(this, \"refreshTokenLeewaySeconds\"), O(this, \"tokenConfirmationAttempts\", 0), this.syncState = e, this.authenticate = n.authenticate, this.stopSocket = n.stopSocket, this.tryRestartSocket = n.tryRestartSocket, this.pauseSocket = n.pauseSocket, this.resumeSocket = n.resumeSocket, this.clearAuth = n.clearAuth, this.logger = r.logger, this.refreshTokenLeewaySeconds = r.refreshTokenLeewaySeconds;\n }\n async setConfig(e, n) {\n this.resetAuthState(), this._logVerbose(\"pausing WS for auth token fetch\"), this.pauseSocket();\n const r = await this.fetchTokenAndGuardAgainstRace(e, {\n forceRefreshToken: !1\n });\n r.isFromOutdatedConfig || (r.value ? (this.setAuthState({\n state: \"waitingForServerConfirmationOfCachedToken\",\n config: { fetchToken: e, onAuthChange: n },\n hasRetried: !1\n }), this.authenticate(r.value)) : (this.setAuthState({\n state: \"initialRefetch\",\n config: { fetchToken: e, onAuthChange: n }\n }), await this.refetchToken()), this._logVerbose(\"resuming WS after auth token fetch\"), this.resumeSocket());\n }\n onTransition(e) {\n if (this.syncState.isCurrentOrNewerAuthVersion(\n e.endVersion.identity\n ) && !(e.endVersion.identity <= e.startVersion.identity)) {\n if (this._logVerbose(\n `auth state is ${this.authState.state} when handling transition`\n ), this.syncState.markAuthCompletion(), this.authState.state === \"waitingForServerConfirmationOfCachedToken\") {\n this._logVerbose(\"server confirmed auth token is valid\"), this.refetchToken(), this.authState.config.onAuthChange(!0);\n return;\n }\n this.authState.state === \"waitingForServerConfirmationOfFreshToken\" && (this._logVerbose(\"server confirmed new auth token is valid\"), this.scheduleTokenRefetch(this.authState.token), this.tokenConfirmationAttempts = 0, this.authState.hadAuth || this.authState.config.onAuthChange(!0));\n }\n }\n onAuthError(e) {\n if (e.authUpdateAttempted === !1 && (this.authState.state === \"waitingForServerConfirmationOfFreshToken\" || this.authState.state === \"waitingForServerConfirmationOfCachedToken\")) {\n this._logVerbose(\"ignoring non-auth token expired error\");\n return;\n }\n const { baseVersion: n } = e;\n if (!this.syncState.isCurrentOrNewerAuthVersion(n + 1)) {\n this._logVerbose(\"ignoring auth error for previous auth attempt\");\n return;\n }\n this.tryToReauthenticate(e);\n }\n // This is similar to `refetchToken` defined below, in fact we\n // don't represent them as different states, but it is different\n // in that we pause the WebSocket so that mutations\n // don't retry with bad auth.\n async tryToReauthenticate(e) {\n if (this._logVerbose(`attempting to reauthenticate: ${e.error}`), // No way to fetch another token, kaboom\n this.authState.state === \"noAuth\" || // We failed on a fresh token. After a small number of retries, we give up\n // and clear the auth state to avoid infinite retries.\n this.authState.state === \"waitingForServerConfirmationOfFreshToken\" && this.tokenConfirmationAttempts >= ur) {\n this.logger.error(\n `Failed to authenticate: \"${e.error}\", check your server auth config`\n ), this.syncState.hasAuth() && this.syncState.clearAuth(), this.authState.state !== \"noAuth\" && this.setAndReportAuthFailed(this.authState.config.onAuthChange);\n return;\n }\n this.authState.state === \"waitingForServerConfirmationOfFreshToken\" && (this.tokenConfirmationAttempts++, this._logVerbose(\n `retrying reauthentication, ${ur - this.tokenConfirmationAttempts} attempts remaining`\n )), await this.stopSocket();\n const n = await this.fetchTokenAndGuardAgainstRace(\n this.authState.config.fetchToken,\n {\n forceRefreshToken: !0\n }\n );\n n.isFromOutdatedConfig || (n.value && this.syncState.isNewAuth(n.value) ? (this.authenticate(n.value), this.setAuthState({\n state: \"waitingForServerConfirmationOfFreshToken\",\n config: this.authState.config,\n token: n.value,\n hadAuth: this.authState.state === \"notRefetching\" || this.authState.state === \"waitingForScheduledRefetch\"\n })) : (this._logVerbose(\"reauthentication failed, could not fetch a new token\"), this.syncState.hasAuth() && this.syncState.clearAuth(), this.setAndReportAuthFailed(this.authState.config.onAuthChange)), this.tryRestartSocket());\n }\n // Force refetch the token and schedule another refetch\n // before the token expires - an active client should never\n // need to reauthenticate.\n async refetchToken() {\n if (this.authState.state === \"noAuth\")\n return;\n this._logVerbose(\"refetching auth token\");\n const e = await this.fetchTokenAndGuardAgainstRace(\n this.authState.config.fetchToken,\n {\n forceRefreshToken: !0\n }\n );\n e.isFromOutdatedConfig || (e.value ? this.syncState.isNewAuth(e.value) ? (this.setAuthState({\n state: \"waitingForServerConfirmationOfFreshToken\",\n hadAuth: this.syncState.hasAuth(),\n token: e.value,\n config: this.authState.config\n }), this.authenticate(e.value)) : this.setAuthState({\n state: \"notRefetching\",\n config: this.authState.config\n }) : (this._logVerbose(\"refetching token failed\"), this.syncState.hasAuth() && this.clearAuth(), this.setAndReportAuthFailed(this.authState.config.onAuthChange)), this._logVerbose(\n \"restarting WS after auth token fetch (if currently stopped)\"\n ), this.tryRestartSocket());\n }\n scheduleTokenRefetch(e) {\n if (this.authState.state === \"noAuth\")\n return;\n const n = this.decodeToken(e);\n if (!n) {\n this.logger.error(\n \"Auth token is not a valid JWT, cannot refetch the token\"\n );\n return;\n }\n const { iat: r, exp: i } = n;\n if (!r || !i) {\n this.logger.error(\n \"Auth token does not have required fields, cannot refetch the token\"\n );\n return;\n }\n const s = i - r;\n if (s <= 2) {\n this.logger.error(\n \"Auth token does not live long enough, cannot refetch the token\"\n );\n return;\n }\n let o = Math.min(\n qo,\n (s - this.refreshTokenLeewaySeconds) * 1e3\n );\n o <= 0 && (this.logger.warn(\n `Refetching auth token immediately, configured leeway ${this.refreshTokenLeewaySeconds}s is larger than the token's lifetime ${s}s`\n ), o = 0);\n const l = setTimeout(() => {\n this._logVerbose(\"running scheduled token refetch\"), this.refetchToken();\n }, o);\n this.setAuthState({\n state: \"waitingForScheduledRefetch\",\n refetchTokenTimeoutId: l,\n config: this.authState.config\n }), this._logVerbose(\n `scheduled preemptive auth token refetching in ${o}ms`\n );\n }\n // Protects against simultaneous calls to `setConfig`\n // while we're fetching a token\n async fetchTokenAndGuardAgainstRace(e, n) {\n const r = ++this.configVersion;\n this._logVerbose(\n `fetching token with config version ${r}`\n );\n const i = await e(n);\n return this.configVersion !== r ? (this._logVerbose(\n `stale config version, expected ${r}, got ${this.configVersion}`\n ), { isFromOutdatedConfig: !0 }) : { isFromOutdatedConfig: !1, value: i };\n }\n stop() {\n this.resetAuthState(), this.configVersion++, this._logVerbose(`config version bumped to ${this.configVersion}`);\n }\n setAndReportAuthFailed(e) {\n e(!1), this.resetAuthState();\n }\n resetAuthState() {\n this.setAuthState({ state: \"noAuth\" });\n }\n setAuthState(e) {\n const n = e.state === \"waitingForServerConfirmationOfFreshToken\" ? {\n hadAuth: e.hadAuth,\n state: e.state,\n token: `...${e.token.slice(-7)}`\n } : { state: e.state };\n switch (this._logVerbose(\n `setting auth state to ${JSON.stringify(n)}`\n ), e.state) {\n case \"waitingForScheduledRefetch\":\n case \"notRefetching\":\n case \"noAuth\":\n this.tokenConfirmationAttempts = 0;\n break;\n }\n this.authState.state === \"waitingForScheduledRefetch\" && clearTimeout(this.authState.refetchTokenTimeoutId), this.authState = e;\n }\n decodeToken(e) {\n try {\n return pi(e);\n } catch (n) {\n return this._logVerbose(\n `Error decoding token: ${n instanceof Error ? n.message : \"Unknown error\"}`\n ), null;\n }\n }\n _logVerbose(e) {\n this.logger.logVerbose(`${e} [v${this.configVersion}]`);\n }\n}\nconst Lo = [\n \"convexClientConstructed\",\n \"convexWebSocketOpen\",\n \"convexFirstMessageReceived\"\n];\nfunction Oo(t, e) {\n const n = { sessionId: e };\n typeof performance > \"u\" || !performance.mark || performance.mark(t, { detail: n });\n}\nfunction No(t) {\n let e = t.name.slice(6);\n return e = e.charAt(0).toLowerCase() + e.slice(1), {\n name: e,\n startTime: t.startTime\n };\n}\nfunction zo(t) {\n if (typeof performance > \"u\" || !performance.getEntriesByName)\n return [];\n const e = [];\n for (const n of Lo) {\n const r = performance.getEntriesByName(n).filter((i) => i.entryType === \"mark\").filter((i) => i.detail.sessionId === t);\n e.push(...r);\n }\n return e.map(No);\n}\nvar Qo = Object.defineProperty, Bo = (t, e, n) => e in t ? Qo(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n, R = (t, e, n) => Bo(t, typeof e != \"symbol\" ? e + \"\" : e, n);\nclass Fo {\n /**\n * @param address - The url of your Convex deployment, often provided\n * by an environment variable. E.g. `https://small-mouse-123.convex.cloud`.\n * @param onTransition - A callback receiving an array of query tokens\n * corresponding to query results that have changed -- additional handlers\n * can be added via `addOnTransitionHandler`.\n * @param options - See {@link BaseConvexClientOptions} for a full description.\n */\n constructor(e, n, r) {\n if (R(this, \"address\"), R(this, \"state\"), R(this, \"requestManager\"), R(this, \"webSocketManager\"), R(this, \"authenticationManager\"), R(this, \"remoteQuerySet\"), R(this, \"optimisticQueryResults\"), R(this, \"_transitionHandlerCounter\", 0), R(this, \"_nextRequestId\"), R(this, \"_onTransitionFns\", /* @__PURE__ */ new Map()), R(this, \"_sessionId\"), R(this, \"firstMessageReceived\", !1), R(this, \"debug\"), R(this, \"logger\"), R(this, \"maxObservedTimestamp\"), R(this, \"connectionStateSubscribers\", /* @__PURE__ */ new Map()), R(this, \"nextConnectionStateSubscriberId\", 0), R(this, \"_lastPublishedConnectionState\"), R(this, \"markConnectionStateDirty\", () => {\n Promise.resolve().then(() => {\n const f = this.connectionState();\n if (JSON.stringify(f) !== JSON.stringify(this._lastPublishedConnectionState)) {\n this._lastPublishedConnectionState = f;\n for (const g of this.connectionStateSubscribers.values())\n g(f);\n }\n });\n }), R(this, \"mark\", (f) => {\n this.debug && Oo(f, this.sessionId);\n }), typeof e == \"object\")\n throw new Error(\n \"Passing a ClientConfig object is no longer supported. Pass the URL of the Convex deployment as a string directly.\"\n );\n r?.skipConvexDeploymentUrlCheck !== !0 && Ls(e), r = { ...r };\n const i = r.authRefreshTokenLeewaySeconds ?? 10;\n let s = r.webSocketConstructor;\n if (!s && typeof WebSocket > \"u\")\n throw new Error(\n \"No WebSocket global variable defined! To use Convex in an environment without WebSocket try the HTTP client: https://docs.convex.dev/api/classes/browser.ConvexHttpClient\"\n );\n s = s || WebSocket, this.debug = r.reportDebugInfoToConvex ?? !1, this.address = e, this.logger = r.logger === !1 ? ci({ verbose: r.verbose ?? !1 }) : r.logger !== !0 && r.logger ? r.logger : li({ verbose: r.verbose ?? !1 });\n const o = e.search(\"://\");\n if (o === -1)\n throw new Error(\"Provided address was not an absolute URL.\");\n const l = e.substring(o + 3), a = e.substring(0, o);\n let h;\n if (a === \"http\")\n h = \"ws\";\n else if (a === \"https\")\n h = \"wss\";\n else\n throw new Error(`Unknown parent protocol ${a}`);\n const d = `${h}://${l}/api/${nr}/sync`;\n this.state = new eo(), this.remoteQuerySet = new ar(\n (f) => this.state.queryPath(f),\n this.logger\n ), this.requestManager = new ro(\n this.logger,\n this.markConnectionStateDirty\n );\n const c = () => {\n this.webSocketManager.pause(), this.state.pause();\n };\n this.authenticationManager = new Mo(\n this.state,\n {\n authenticate: (f) => {\n const g = this.state.setAuth(f);\n return this.webSocketManager.sendMessage(g), g.baseVersion;\n },\n stopSocket: () => this.webSocketManager.stop(),\n tryRestartSocket: () => this.webSocketManager.tryRestart(),\n pauseSocket: c,\n resumeSocket: () => this.webSocketManager.resume(),\n clearAuth: () => {\n this.clearAuth();\n }\n },\n {\n logger: this.logger,\n refreshTokenLeewaySeconds: i\n }\n ), this.optimisticQueryResults = new uo(), this.addOnTransitionHandler((f) => {\n n(f.queries.map((g) => g.token));\n }), this._nextRequestId = 0, this._sessionId = To();\n const { unsavedChangesWarning: p } = r;\n if (typeof window > \"u\" || typeof window.addEventListener > \"u\") {\n if (p === !0)\n throw new Error(\n \"unsavedChangesWarning requested, but window.addEventListener not found! Remove {unsavedChangesWarning: true} from Convex client options.\"\n );\n } else p !== !1 && window.addEventListener(\"beforeunload\", (f) => {\n if (this.requestManager.hasIncompleteRequests()) {\n f.preventDefault();\n const g = \"Are you sure you want to leave? Your changes may not be saved.\";\n return (f || window.event).returnValue = g, g;\n }\n });\n this.webSocketManager = new Ro(\n d,\n {\n onOpen: (f) => {\n this.mark(\"convexWebSocketOpen\"), this.webSocketManager.sendMessage({\n ...f,\n type: \"Connect\",\n sessionId: this._sessionId,\n maxObservedTimestamp: this.maxObservedTimestamp\n }), this.remoteQuerySet = new ar(\n (k) => this.state.queryPath(k),\n this.logger\n );\n const [g, x] = this.state.restart();\n x && this.webSocketManager.sendMessage(x), this.webSocketManager.sendMessage(g);\n for (const k of this.requestManager.restart())\n this.webSocketManager.sendMessage(k);\n },\n onResume: () => {\n const [f, g] = this.state.resume();\n g && this.webSocketManager.sendMessage(g), f && this.webSocketManager.sendMessage(f);\n for (const x of this.requestManager.resume())\n this.webSocketManager.sendMessage(x);\n },\n onMessage: (f) => {\n switch (this.firstMessageReceived || (this.firstMessageReceived = !0, this.mark(\"convexFirstMessageReceived\"), this.reportMarks()), f.type) {\n case \"Transition\": {\n this.observedTimestamp(f.endVersion.ts), this.authenticationManager.onTransition(f), this.remoteQuerySet.transition(f), this.state.transition(f);\n const g = this.requestManager.removeCompleted(\n this.remoteQuerySet.timestamp()\n );\n this.notifyOnQueryResultChanges(g);\n break;\n }\n case \"MutationResponse\": {\n f.success && this.observedTimestamp(f.ts);\n const g = this.requestManager.onResponse(f);\n g !== null && this.notifyOnQueryResultChanges(\n /* @__PURE__ */ new Map([\n [\n g.requestId,\n g.result\n ]\n ])\n );\n break;\n }\n case \"ActionResponse\": {\n this.requestManager.onResponse(f);\n break;\n }\n case \"AuthError\": {\n this.authenticationManager.onAuthError(f);\n break;\n }\n case \"FatalError\": {\n const g = Zs(this.logger, f.error);\n throw this.webSocketManager.terminate(), g;\n }\n }\n return {\n hasSyncedPastLastReconnect: this.hasSyncedPastLastReconnect()\n };\n },\n onServerDisconnectError: r.onServerDisconnectError\n },\n s,\n this.logger,\n this.markConnectionStateDirty,\n this.debug\n ), this.mark(\"convexClientConstructed\"), r.expectAuth && c();\n }\n /**\n * Return true if there is outstanding work from prior to the time of the most recent restart.\n * This indicates that the client has not proven itself to have gotten past the issue that\n * potentially led to the restart. Use this to influence when to reset backoff after a failure.\n */\n hasSyncedPastLastReconnect() {\n return this.requestManager.hasSyncedPastLastReconnect() && this.state.hasSyncedPastLastReconnect();\n }\n observedTimestamp(e) {\n (this.maxObservedTimestamp === void 0 || this.maxObservedTimestamp.lessThanOrEqual(e)) && (this.maxObservedTimestamp = e);\n }\n getMaxObservedTimestamp() {\n return this.maxObservedTimestamp;\n }\n /**\n * Compute the current query results based on the remoteQuerySet and the\n * current optimistic updates and call `onTransition` for all the changed\n * queries.\n *\n * @param completedMutations - A set of mutation IDs whose optimistic updates\n * are no longer needed.\n */\n notifyOnQueryResultChanges(e) {\n const n = this.remoteQuerySet.remoteQueryResults(), r = /* @__PURE__ */ new Map();\n for (const [s, o] of n) {\n const l = this.state.queryToken(s);\n if (l !== null) {\n const a = {\n result: o,\n udfPath: this.state.queryPath(s),\n args: this.state.queryArgs(s)\n };\n r.set(l, a);\n }\n }\n const i = this.optimisticQueryResults.ingestQueryResultsFromServer(\n r,\n new Set(e.keys())\n );\n this.handleTransition({\n queries: i.map((s) => {\n const o = this.optimisticQueryResults.rawQueryResult(s);\n return {\n token: s,\n modification: {\n kind: \"Updated\",\n result: o\n }\n };\n }),\n reflectedMutations: Array.from(e).map(\n ([s, o]) => ({\n requestId: s,\n result: o\n })\n ),\n timestamp: this.remoteQuerySet.timestamp()\n });\n }\n handleTransition(e) {\n for (const n of this._onTransitionFns.values())\n n(e);\n }\n /**\n * Add a handler that will be called on a transition.\n *\n * Any external side effects (e.g. setting React state) should be handled here.\n *\n * @param fn\n *\n * @returns\n */\n addOnTransitionHandler(e) {\n const n = this._transitionHandlerCounter++;\n return this._onTransitionFns.set(n, e), () => this._onTransitionFns.delete(n);\n }\n /**\n * Get the current JWT auth token and decoded claims.\n */\n getCurrentAuthClaims() {\n const e = this.state.getAuth();\n let n = {};\n if (e && e.tokenType === \"User\")\n try {\n n = e ? pi(e.value) : {};\n } catch {\n n = {};\n }\n else\n return;\n return { token: e.value, decoded: n };\n }\n /**\n * Set the authentication token to be used for subsequent queries and mutations.\n * `fetchToken` will be called automatically again if a token expires.\n * `fetchToken` should return `null` if the token cannot be retrieved, for example\n * when the user's rights were permanently revoked.\n * @param fetchToken - an async function returning the JWT-encoded OpenID Connect Identity Token\n * @param onChange - a callback that will be called when the authentication status changes\n */\n setAuth(e, n) {\n this.authenticationManager.setConfig(e, n);\n }\n hasAuth() {\n return this.state.hasAuth();\n }\n /** @internal */\n setAdminAuth(e, n) {\n const r = this.state.setAdminAuth(e, n);\n this.webSocketManager.sendMessage(r);\n }\n clearAuth() {\n const e = this.state.clearAuth();\n this.webSocketManager.sendMessage(e);\n }\n /**\n * Subscribe to a query function.\n *\n * Whenever this query's result changes, the `onTransition` callback\n * passed into the constructor will be called.\n *\n * @param name - The name of the query.\n * @param args - An arguments object for the query. If this is omitted, the\n * arguments will be `{}`.\n * @param options - A {@link SubscribeOptions} options object for this query.\n \n * @returns An object containing a {@link QueryToken} corresponding to this\n * query and an `unsubscribe` callback.\n */\n subscribe(e, n, r) {\n const i = re(n), { modification: s, queryToken: o, unsubscribe: l } = this.state.subscribe(\n e,\n i,\n r?.journal,\n r?.componentPath\n );\n return s !== null && this.webSocketManager.sendMessage(s), {\n queryToken: o,\n unsubscribe: () => {\n const a = l();\n a && this.webSocketManager.sendMessage(a);\n }\n };\n }\n /**\n * A query result based only on the current, local state.\n *\n * The only way this will return a value is if we're already subscribed to the\n * query or its value has been set optimistically.\n */\n localQueryResult(e, n) {\n const r = re(n), i = he(e, r);\n return this.optimisticQueryResults.queryResult(i);\n }\n /**\n * Get query result by query token based on current, local state\n *\n * The only way this will return a value is if we're already subscribed to the\n * query or its value has been set optimistically.\n *\n * @internal\n */\n localQueryResultByToken(e) {\n return this.optimisticQueryResults.queryResult(e);\n }\n /**\n * Whether local query result is available for a token.\n *\n * This method does not throw if the result is an error.\n *\n * @internal\n */\n hasLocalQueryResultByToken(e) {\n return this.optimisticQueryResults.hasQueryResult(e);\n }\n /**\n * @internal\n */\n localQueryLogs(e, n) {\n const r = re(n), i = he(e, r);\n return this.optimisticQueryResults.queryLogs(i);\n }\n /**\n * Retrieve the current {@link QueryJournal} for this query function.\n *\n * If we have not yet received a result for this query, this will be `undefined`.\n *\n * @param name - The name of the query.\n * @param args - The arguments object for this query.\n * @returns The query's {@link QueryJournal} or `undefined`.\n */\n queryJournal(e, n) {\n const r = re(n), i = he(e, r);\n return this.state.queryJournal(i);\n }\n /**\n * Get the current {@link ConnectionState} between the client and the Convex\n * backend.\n *\n * @returns The {@link ConnectionState} with the Convex backend.\n */\n connectionState() {\n const e = this.webSocketManager.connectionState();\n return {\n hasInflightRequests: this.requestManager.hasInflightRequests(),\n isWebSocketConnected: e.isConnected,\n hasEverConnected: e.hasEverConnected,\n connectionCount: e.connectionCount,\n connectionRetries: e.connectionRetries,\n timeOfOldestInflightRequest: this.requestManager.timeOfOldestInflightRequest(),\n inflightMutations: this.requestManager.inflightMutations(),\n inflightActions: this.requestManager.inflightActions()\n };\n }\n /**\n * Subscribe to the {@link ConnectionState} between the client and the Convex\n * backend, calling a callback each time it changes.\n *\n * Subscribed callbacks will be called when any part of ConnectionState changes.\n * ConnectionState may grow in future versions (e.g. to provide a array of\n * inflight requests) in which case callbacks would be called more frequently.\n *\n * @returns An unsubscribe function to stop listening.\n */\n subscribeToConnectionState(e) {\n const n = this.nextConnectionStateSubscriberId++;\n return this.connectionStateSubscribers.set(n, e), () => {\n this.connectionStateSubscribers.delete(n);\n };\n }\n /**\n * Execute a mutation function.\n *\n * @param name - The name of the mutation.\n * @param args - An arguments object for the mutation. If this is omitted,\n * the arguments will be `{}`.\n * @param options - A {@link MutationOptions} options object for this mutation.\n \n * @returns - A promise of the mutation's result.\n */\n async mutation(e, n, r) {\n const i = await this.mutationInternal(e, n, r);\n if (!i.success)\n throw i.errorData !== void 0 ? Yt(\n i,\n new Xt(\n we(\"mutation\", e, i)\n )\n ) : new Error(we(\"mutation\", e, i));\n return i.value;\n }\n /**\n * @internal\n */\n async mutationInternal(e, n, r, i) {\n const { mutationPromise: s } = this.enqueueMutation(\n e,\n n,\n r,\n i\n );\n return s;\n }\n /**\n * @internal\n */\n enqueueMutation(e, n, r, i) {\n const s = re(n);\n this.tryReportLongDisconnect();\n const o = this.nextRequestId;\n if (this._nextRequestId++, r !== void 0) {\n const d = r.optimisticUpdate;\n if (d !== void 0) {\n const c = (g) => {\n d(\n g,\n s\n ) instanceof Promise && this.logger.warn(\n \"Optimistic update handler returned a Promise. Optimistic updates should be synchronous.\"\n );\n }, f = this.optimisticQueryResults.applyOptimisticUpdate(\n c,\n o\n ).map((g) => {\n const x = this.localQueryResultByToken(g);\n return {\n token: g,\n modification: {\n kind: \"Updated\",\n result: x === void 0 ? void 0 : {\n success: !0,\n value: x,\n logLines: []\n }\n }\n };\n });\n this.handleTransition({\n queries: f,\n reflectedMutations: [],\n timestamp: this.remoteQuerySet.timestamp()\n });\n }\n }\n const l = {\n type: \"Mutation\",\n requestId: o,\n udfPath: e,\n componentPath: i,\n args: [te(s)]\n }, a = this.webSocketManager.sendMessage(l), h = this.requestManager.request(l, a);\n return {\n requestId: o,\n mutationPromise: h\n };\n }\n /**\n * Execute an action function.\n *\n * @param name - The name of the action.\n * @param args - An arguments object for the action. If this is omitted,\n * the arguments will be `{}`.\n * @returns A promise of the action's result.\n */\n async action(e, n) {\n const r = await this.actionInternal(e, n);\n if (!r.success)\n throw r.errorData !== void 0 ? Yt(\n r,\n new Xt(we(\"action\", e, r))\n ) : new Error(we(\"action\", e, r));\n return r.value;\n }\n /**\n * @internal\n */\n async actionInternal(e, n, r) {\n const i = re(n), s = this.nextRequestId;\n this._nextRequestId++, this.tryReportLongDisconnect();\n const o = {\n type: \"Action\",\n requestId: s,\n udfPath: e,\n componentPath: r,\n args: [te(i)]\n }, l = this.webSocketManager.sendMessage(o);\n return this.requestManager.request(o, l);\n }\n /**\n * Close any network handles associated with this client and stop all subscriptions.\n *\n * Call this method when you're done with an {@link BaseConvexClient} to\n * dispose of its sockets and resources.\n *\n * @returns A `Promise` fulfilled when the connection has been completely closed.\n */\n async close() {\n return this.authenticationManager.stop(), this.webSocketManager.terminate();\n }\n /**\n * Return the address for this client, useful for creating a new client.\n *\n * Not guaranteed to match the address with which this client was constructed:\n * it may be canonicalized.\n */\n get url() {\n return this.address;\n }\n /**\n * @internal\n */\n get nextRequestId() {\n return this._nextRequestId;\n }\n /**\n * @internal\n */\n get sessionId() {\n return this._sessionId;\n }\n /**\n * Reports performance marks to the server. This should only be called when\n * we have a functional websocket.\n */\n reportMarks() {\n if (this.debug) {\n const e = zo(this.sessionId);\n this.webSocketManager.sendMessage({\n type: \"Event\",\n eventType: \"ClientConnect\",\n event: e\n });\n }\n }\n tryReportLongDisconnect() {\n if (!this.debug)\n return;\n const e = this.connectionState().timeOfOldestInflightRequest;\n if (e === null || Date.now() - e.getTime() <= 60 * 1e3)\n return;\n const n = `${this.address}/api/debug_event`;\n fetch(n, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Convex-Client\": `npm-${nr}`\n },\n body: JSON.stringify({ event: \"LongWebsocketDisconnect\" })\n }).then((r) => {\n r.ok || this.logger.warn(\n \"Analytics request failed with response:\",\n r.body\n );\n }).catch((r) => {\n this.logger.warn(\"Analytics response failed with error:\", r);\n });\n }\n}\nfunction zt(t) {\n if (typeof t != \"object\" || t === null || !Array.isArray(t.page) || typeof t.isDone != \"boolean\" || typeof t.continueCursor != \"string\")\n throw new Error(`Not a valid paginated query result: ${t?.toString()}`);\n return t;\n}\nvar Do = Object.defineProperty, Uo = (t, e, n) => e in t ? Do(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n, hr = (t, e, n) => Uo(t, typeof e != \"symbol\" ? e + \"\" : e, n);\nclass Vo {\n constructor(e, n) {\n this.client = e, this.onTransition = n, hr(this, \"paginatedQuerySet\", /* @__PURE__ */ new Map()), hr(this, \"lastTransitionTs\"), this.lastTransitionTs = E.fromNumber(0), this.client.addOnTransitionHandler(\n (r) => this.onBaseTransition(r)\n );\n }\n /**\n * Subscribe to a paginated query.\n *\n * @param name - The name of the paginated query function\n * @param args - Arguments for the query (excluding paginationOpts)\n * @param options - Pagination options including initialNumItems\n * @returns Object with paginatedQueryToken and unsubscribe function\n */\n subscribe(e, n, r) {\n const i = fe(e), s = ir(\n i,\n n,\n r\n ), o = () => this.removePaginatedQuerySubscriber(s), l = this.paginatedQuerySet.get(s);\n return l ? (l.numSubscribers += 1, {\n paginatedQueryToken: s,\n unsubscribe: o\n }) : (this.paginatedQuerySet.set(s, {\n token: s,\n canonicalizedUdfPath: i,\n args: n,\n numSubscribers: 1,\n options: { initialNumItems: r.initialNumItems },\n nextPageKey: 0,\n pageKeys: [],\n pageKeyToQuery: /* @__PURE__ */ new Map(),\n ongoingSplits: /* @__PURE__ */ new Map(),\n skip: !1,\n id: r.id\n }), this.addPageToPaginatedQuery(s, null, r.initialNumItems), {\n paginatedQueryToken: s,\n unsubscribe: o\n });\n }\n /**\n * Get current results for a paginated query based on local state.\n *\n * Throws an error when one of the pages has errored.\n */\n localQueryResult(e, n, r) {\n const i = fe(e), s = ir(\n i,\n n,\n r\n );\n return this.localQueryResultByToken(s);\n }\n /**\n * @internal\n */\n localQueryResultByToken(e) {\n const n = this.paginatedQuerySet.get(e);\n if (!n)\n return;\n const r = this.activePageQueryTokens(n);\n if (r.length === 0)\n return {\n results: [],\n status: \"LoadingFirstPage\",\n loadMore: (a) => this.loadMoreOfPaginatedQuery(e, a)\n };\n let i = [], s = !1, o = !1;\n for (const a of r) {\n const h = this.client.localQueryResultByToken(a);\n if (h === void 0) {\n s = !0, o = !1;\n continue;\n }\n const d = zt(h);\n i = i.concat(d.page), o = !!d.isDone;\n }\n let l;\n return s ? l = i.length === 0 ? \"LoadingFirstPage\" : \"LoadingMore\" : o ? l = \"Exhausted\" : l = \"CanLoadMore\", {\n results: i,\n status: l,\n loadMore: (a) => this.loadMoreOfPaginatedQuery(e, a)\n };\n }\n onBaseTransition(e) {\n const n = e.queries.map((o) => o.token), r = this.queriesContainingTokens(n);\n let i = [];\n r.length > 0 && (this.processPaginatedQuerySplits(\n r,\n (o) => this.client.localQueryResultByToken(o)\n ), i = r.map((o) => ({\n token: o,\n modification: {\n kind: \"Updated\",\n result: this.localQueryResultByToken(o)\n }\n })));\n const s = {\n ...e,\n paginatedQueries: i\n };\n this.onTransition(s);\n }\n /**\n * Load more items for a paginated query.\n *\n * This *always* causes a transition, the status of the query\n * has probably changed from \"CanLoadMore\" to \"LoadingMore\".\n * Data might have changed too: maybe a subscription to this page\n * query already exists (unlikely but possible) or this page query\n * has an optimistic update providing some initial data.\n *\n * @internal\n */\n loadMoreOfPaginatedQuery(e, n) {\n this.mustGetPaginatedQuery(e);\n const r = this.queryTokenForLastPageOfPaginatedQuery(e), i = this.client.localQueryResultByToken(r);\n if (!i)\n return !1;\n const s = zt(i);\n if (s.isDone)\n return !1;\n this.addPageToPaginatedQuery(\n e,\n s.continueCursor,\n n\n );\n const o = {\n timestamp: this.lastTransitionTs,\n reflectedMutations: [],\n queries: [],\n paginatedQueries: [\n {\n token: e,\n modification: {\n kind: \"Updated\",\n result: this.localQueryResultByToken(e)\n }\n }\n ]\n };\n return this.onTransition(o), !0;\n }\n /**\n * @internal\n */\n queriesContainingTokens(e) {\n if (e.length === 0)\n return [];\n const n = [], r = new Set(e);\n for (const [i, s] of this.paginatedQuerySet)\n for (const o of this.allQueryTokens(s))\n if (r.has(o)) {\n n.push(i);\n break;\n }\n return n;\n }\n /**\n * @internal\n */\n processPaginatedQuerySplits(e, n) {\n for (const r of e) {\n const i = this.mustGetPaginatedQuery(r), { ongoingSplits: s, pageKeyToQuery: o, pageKeys: l } = i;\n for (const [a, [h, d]] of s)\n n(o.get(h).queryToken) !== void 0 && n(o.get(d).queryToken) !== void 0 && this.completePaginatedQuerySplit(\n i,\n a,\n h,\n d\n );\n for (const a of l) {\n if (s.has(a))\n continue;\n const h = o.get(a).queryToken, d = n(h);\n if (!d)\n continue;\n const c = zt(d);\n c.splitCursor && (c.pageStatus === \"SplitRecommended\" || c.pageStatus === \"SplitRequired\" || // This client-driven page splitting condition will change in the future.\n c.page.length > i.options.initialNumItems * 2) && this.splitPaginatedQueryPage(\n i,\n a,\n c.splitCursor,\n // we just checked\n c.continueCursor\n );\n }\n }\n }\n splitPaginatedQueryPage(e, n, r, i) {\n const s = e.nextPageKey++, o = e.nextPageKey++, l = {\n cursor: i,\n numItems: e.options.initialNumItems,\n id: e.id\n }, a = this.client.subscribe(\n e.canonicalizedUdfPath,\n {\n ...e.args,\n paginationOpts: {\n ...l,\n cursor: null,\n // Start from beginning for first split\n endCursor: r\n }\n }\n );\n e.pageKeyToQuery.set(s, a);\n const h = this.client.subscribe(\n e.canonicalizedUdfPath,\n {\n ...e.args,\n paginationOpts: {\n ...l,\n cursor: r,\n endCursor: i\n }\n }\n );\n e.pageKeyToQuery.set(o, h), e.ongoingSplits.set(n, [s, o]);\n }\n /**\n * @internal\n */\n addPageToPaginatedQuery(e, n, r) {\n const i = this.mustGetPaginatedQuery(e), s = i.nextPageKey++, o = {\n cursor: n,\n numItems: r,\n id: i.id\n }, l = {\n ...i.args,\n paginationOpts: o\n }, a = this.client.subscribe(\n i.canonicalizedUdfPath,\n l\n );\n return i.pageKeys.push(s), i.pageKeyToQuery.set(s, a), a;\n }\n removePaginatedQuerySubscriber(e) {\n const n = this.paginatedQuerySet.get(e);\n if (n && (n.numSubscribers -= 1, !(n.numSubscribers > 0))) {\n for (const r of n.pageKeyToQuery.values())\n r.unsubscribe();\n this.paginatedQuerySet.delete(e);\n }\n }\n completePaginatedQuerySplit(e, n, r, i) {\n const s = e.pageKeyToQuery.get(n);\n e.pageKeyToQuery.delete(n);\n const o = e.pageKeys.indexOf(n);\n e.pageKeys.splice(o, 1, r, i), e.ongoingSplits.delete(n), s.unsubscribe();\n }\n /** The query tokens for all active pages, in result order */\n activePageQueryTokens(e) {\n return e.pageKeys.map(\n (n) => e.pageKeyToQuery.get(n).queryToken\n );\n }\n allQueryTokens(e) {\n return Array.from(e.pageKeyToQuery.values()).map(\n (n) => n.queryToken\n );\n }\n queryTokenForLastPageOfPaginatedQuery(e) {\n const n = this.mustGetPaginatedQuery(e), r = n.pageKeys[n.pageKeys.length - 1];\n if (r === void 0)\n throw new Error(`No pages for paginated query ${e}`);\n return n.pageKeyToQuery.get(r).queryToken;\n }\n mustGetPaginatedQuery(e) {\n const n = this.paginatedQuerySet.get(e);\n if (!n)\n throw new Error(\"paginated query no longer exists for token \" + e);\n return n;\n }\n}\nfunction Wo({\n // (Synchronously) returns the current value of our subscription.\n getCurrentValue: t,\n // This function is passed an event handler to attach to the subscription.\n // It should return an unsubscribe function that removes the handler.\n subscribe: e\n}) {\n const [n, r] = T(() => ({\n getCurrentValue: t,\n subscribe: e,\n value: t()\n }));\n let i = n.value;\n return (n.getCurrentValue !== t || n.subscribe !== e) && (i = t(), r({\n getCurrentValue: t,\n subscribe: e,\n value: i\n })), M(() => {\n let s = !1;\n const o = () => {\n s || r((a) => {\n if (a.getCurrentValue !== t || a.subscribe !== e)\n return a;\n const h = t();\n return a.value === h ? a : { ...a, value: h };\n });\n }, l = e(o);\n return o(), () => {\n s = !0, l();\n };\n }, [t, e]), i;\n}\nvar Ho = Object.defineProperty, Jo = (t, e, n) => e in t ? Ho(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n, ne = (t, e, n) => Jo(t, typeof e != \"symbol\" ? e + \"\" : e, n);\nconst Go = 5e3;\nif (typeof gn > \"u\")\n throw new Error(\"Required dependency 'react' not found\");\nfunction gi(t, e, n) {\n function r(i) {\n return Yo(i), e.mutation(t, i, {\n optimisticUpdate: n\n });\n }\n return r.withOptimisticUpdate = function(s) {\n if (n !== void 0)\n throw new Error(\n `Already specified optimistic update for mutation ${P(\n t\n )}`\n );\n return gi(t, e, s);\n }, r;\n}\nclass Ko {\n /**\n * @param address - The url of your Convex deployment, often provided\n * by an environment variable. E.g. `https://small-mouse-123.convex.cloud`.\n * @param options - See {@link ConvexReactClientOptions} for a full description.\n */\n constructor(e, n) {\n if (ne(this, \"address\"), ne(this, \"cachedSync\"), ne(this, \"cachedPaginatedQueryClient\"), ne(this, \"listeners\"), ne(this, \"options\"), ne(this, \"closed\", !1), ne(this, \"_logger\"), ne(this, \"adminAuth\"), ne(this, \"fakeUserIdentity\"), e === void 0)\n throw new Error(\n \"No address provided to ConvexReactClient.\\nIf trying to deploy to production, make sure to follow all the instructions found at https://docs.convex.dev/production/hosting/\\nIf running locally, make sure to run `convex dev` and ensure the .env.local file is populated.\"\n );\n if (typeof e != \"string\")\n throw new Error(\n `ConvexReactClient requires a URL like 'https://happy-otter-123.convex.cloud', received something of type ${typeof e} instead.`\n );\n if (!e.includes(\"://\"))\n throw new Error(\"Provided address was not an absolute URL.\");\n this.address = e, this.listeners = /* @__PURE__ */ new Map(), this._logger = n?.logger === !1 ? ci({ verbose: n?.verbose ?? !1 }) : n?.logger !== !0 && n?.logger ? n.logger : li({ verbose: n?.verbose ?? !1 }), this.options = { ...n, logger: this._logger };\n }\n /**\n * Return the address for this client, useful for creating a new client.\n *\n * Not guaranteed to match the address with which this client was constructed:\n * it may be canonicalized.\n */\n get url() {\n return this.address;\n }\n /**\n * Lazily instantiate the `BaseConvexClient` so we don't create the WebSocket\n * when server-side rendering.\n *\n * @internal\n */\n get sync() {\n if (this.closed)\n throw new Error(\"ConvexReactClient has already been closed.\");\n return this.cachedSync ? this.cachedSync : (this.cachedSync = new Fo(\n this.address,\n () => {\n },\n // Use the PaginatedQueryClient's transition instead.\n this.options\n ), this.adminAuth && this.cachedSync.setAdminAuth(this.adminAuth, this.fakeUserIdentity), this.cachedPaginatedQueryClient = new Vo(\n this.cachedSync,\n (e) => this.handleTransition(e)\n ), this.cachedSync);\n }\n /**\n * Lazily instantiate the `PaginatedQueryClient` so we don't create it\n * when server-side rendering.\n *\n * @internal\n */\n get paginatedQueryClient() {\n if (this.sync, this.cachedPaginatedQueryClient)\n return this.cachedPaginatedQueryClient;\n throw new Error(\"Should already be instantiated\");\n }\n /**\n * Set the authentication token to be used for subsequent queries and mutations.\n * `fetchToken` will be called automatically again if a token expires.\n * `fetchToken` should return `null` if the token cannot be retrieved, for example\n * when the user's rights were permanently revoked.\n * @param fetchToken - an async function returning the JWT-encoded OpenID Connect Identity Token\n * @param onChange - a callback that will be called when the authentication status changes\n */\n setAuth(e, n) {\n if (typeof e == \"string\")\n throw new Error(\n \"Passing a string to ConvexReactClient.setAuth is no longer supported, please upgrade to passing in an async function to handle reauthentication.\"\n );\n this.sync.setAuth(\n e,\n n ?? (() => {\n })\n );\n }\n /**\n * Clear the current authentication token if set.\n */\n clearAuth() {\n this.sync.clearAuth();\n }\n /**\n * @internal\n */\n setAdminAuth(e, n) {\n if (this.adminAuth = e, this.fakeUserIdentity = n, this.closed)\n throw new Error(\"ConvexReactClient has already been closed.\");\n this.cachedSync && this.sync.setAdminAuth(e, n);\n }\n /**\n * Construct a new {@link Watch} on a Convex query function.\n *\n * **Most application code should not call this method directly. Instead use\n * the {@link useQuery} hook.**\n *\n * The act of creating a watch does nothing, a Watch is stateless.\n *\n * @param query - A {@link server.FunctionReference} for the public query to run.\n * @param args - An arguments object for the query. If this is omitted,\n * the arguments will be `{}`.\n * @param options - A {@link WatchQueryOptions} options object for this query.\n *\n * @returns The {@link Watch} object.\n */\n watchQuery(e, ...n) {\n const [r, i] = n, s = P(e);\n return {\n onUpdate: (o) => {\n const { queryToken: l, unsubscribe: a } = this.sync.subscribe(\n s,\n r,\n i\n ), h = this.listeners.get(l);\n return h !== void 0 ? h.add(o) : this.listeners.set(l, /* @__PURE__ */ new Set([o])), () => {\n if (this.closed)\n return;\n const d = this.listeners.get(l);\n d.delete(o), d.size === 0 && this.listeners.delete(l), a();\n };\n },\n localQueryResult: () => {\n if (this.cachedSync)\n return this.cachedSync.localQueryResult(s, r);\n },\n localQueryLogs: () => {\n if (this.cachedSync)\n return this.cachedSync.localQueryLogs(s, r);\n },\n journal: () => {\n if (this.cachedSync)\n return this.cachedSync.queryJournal(s, r);\n }\n };\n }\n // Let's try out a queryOptions-style API.\n // This method is similar to the React Query API `queryClient.prefetchQuery()`.\n // In the future an ensureQueryData(): Promise<Data> method could exist.\n /**\n * Indicates likely future interest in a query subscription.\n *\n * The implementation currently immediately subscribes to a query. In the future this method\n * may prioritize some queries over others, fetch the query result without subscribing, or\n * do nothing in slow network connections or high load scenarios.\n *\n * To use this in a React component, call useQuery() and ignore the return value.\n *\n * @param queryOptions - A query (function reference from an api object) and its args, plus\n * an optional extendSubscriptionFor for how long to subscribe to the query.\n */\n prewarmQuery(e) {\n const n = e.extendSubscriptionFor ?? Go, i = this.watchQuery(e.query, e.args || {}).onUpdate(() => {\n });\n setTimeout(i, n);\n }\n /**\n * Construct a new {@link PaginatedWatch} on a Convex paginated query function.\n *\n * **Most application code should not call this method directly. Instead use\n * the {@link usePaginatedQuery} hook.**\n *\n * The act of creating a watch does nothing, a Watch is stateless.\n *\n * @param query - A {@link server.FunctionReference} for the public query to run.\n * @param args - An arguments object for the query. If this is omitted,\n * the arguments will be `{}`.\n * @param options - A {@link WatchPaginatedQueryOptions} options object for this query.\n *\n * @returns The {@link PaginatedWatch} object.\n *\n * @internal\n */\n watchPaginatedQuery(e, n, r) {\n const i = P(e);\n return {\n onUpdate: (s) => {\n const { paginatedQueryToken: o, unsubscribe: l } = this.paginatedQueryClient.subscribe(i, n || {}, r), a = this.listeners.get(o);\n return a !== void 0 ? a.add(s) : this.listeners.set(o, /* @__PURE__ */ new Set([s])), () => {\n if (this.closed)\n return;\n const h = this.listeners.get(o);\n h.delete(s), h.size === 0 && this.listeners.delete(o), l();\n };\n },\n localQueryResult: () => this.paginatedQueryClient.localQueryResult(i, n, r)\n };\n }\n /**\n * Execute a mutation function.\n *\n * @param mutation - A {@link server.FunctionReference} for the public mutation\n * to run.\n * @param args - An arguments object for the mutation. If this is omitted,\n * the arguments will be `{}`.\n * @param options - A {@link MutationOptions} options object for the mutation.\n * @returns A promise of the mutation's result.\n */\n mutation(e, ...n) {\n const [r, i] = n, s = P(e);\n return this.sync.mutation(s, r, i);\n }\n /**\n * Execute an action function.\n *\n * @param action - A {@link server.FunctionReference} for the public action\n * to run.\n * @param args - An arguments object for the action. If this is omitted,\n * the arguments will be `{}`.\n * @returns A promise of the action's result.\n */\n action(e, ...n) {\n const r = P(e);\n return this.sync.action(r, ...n);\n }\n /**\n * Fetch a query result once.\n *\n * **Most application code should subscribe to queries instead, using\n * the {@link useQuery} hook.**\n *\n * @param query - A {@link server.FunctionReference} for the public query\n * to run.\n * @param args - An arguments object for the query. If this is omitted,\n * the arguments will be `{}`.\n * @returns A promise of the query's result.\n */\n query(e, ...n) {\n const r = this.watchQuery(e, ...n), i = r.localQueryResult();\n return i !== void 0 ? Promise.resolve(i) : new Promise((s, o) => {\n const l = r.onUpdate(() => {\n l();\n try {\n s(r.localQueryResult());\n } catch (a) {\n o(a);\n }\n });\n });\n }\n /**\n * Get the current {@link ConnectionState} between the client and the Convex\n * backend.\n *\n * @returns The {@link ConnectionState} with the Convex backend.\n */\n connectionState() {\n return this.sync.connectionState();\n }\n /**\n * Subscribe to the {@link ConnectionState} between the client and the Convex\n * backend, calling a callback each time it changes.\n *\n * Subscribed callbacks will be called when any part of ConnectionState changes.\n * ConnectionState may grow in future versions (e.g. to provide a array of\n * inflight requests) in which case callbacks would be called more frequently.\n * ConnectionState may also *lose* properties in future versions as we figure\n * out what information is most useful. As such this API is considered unstable.\n *\n * @returns An unsubscribe function to stop listening.\n */\n subscribeToConnectionState(e) {\n return this.sync.subscribeToConnectionState(e);\n }\n /**\n * Get the logger for this client.\n *\n * @returns The {@link Logger} for this client.\n */\n get logger() {\n return this._logger;\n }\n /**\n * Close any network handles associated with this client and stop all subscriptions.\n *\n * Call this method when you're done with a {@link ConvexReactClient} to\n * dispose of its sockets and resources.\n *\n * @returns A `Promise` fulfilled when the connection has been completely closed.\n */\n async close() {\n if (this.closed = !0, this.listeners = /* @__PURE__ */ new Map(), this.cachedPaginatedQueryClient && (this.cachedPaginatedQueryClient = void 0), this.cachedSync) {\n const e = this.cachedSync;\n this.cachedSync = void 0, await e.close();\n }\n }\n /**\n * Handle transitions from both base client and paginated client.\n * This ensures all transitions are processed synchronously and in order.\n */\n handleTransition(e) {\n const n = e.queries.map((i) => i.token), r = e.paginatedQueries.map((i) => i.token);\n this.transition([...n, ...r]);\n }\n transition(e) {\n for (const n of e) {\n const r = this.listeners.get(n);\n if (r)\n for (const i of r)\n i();\n }\n }\n}\nconst xn = gn.createContext(\n void 0\n // in the future this will be a mocked client for testing\n);\nfunction Zo() {\n return kt(xn);\n}\nconst Xo = ({ client: t, children: e }) => gn.createElement(\n xn.Provider,\n { value: t },\n e\n);\nfunction dr(t, ...e) {\n const n = e[0] === \"skip\", r = e[0] === \"skip\" ? {} : re(e[0]), i = typeof t == \"string\" ? hi(t) : t, s = P(i), o = B(\n () => n ? {} : { query: { query: i, args: r } },\n // Stringify args so args that are semantically the same don't trigger a\n // rerender. Saves developers from adding `useMemo` on every args usage.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [JSON.stringify(te(r)), s, n]\n ), a = ra(o).query;\n if (a instanceof Error)\n throw a;\n return a;\n}\nfunction jt(t) {\n const e = typeof t == \"string\" ? hi(t) : t, n = kt(xn);\n if (n === void 0)\n throw new Error(\n \"Could not find Convex client! `useMutation` must be used in the React component tree under `ConvexProvider`. Did you forget it? See https://docs.convex.dev/quick-start#set-up-convex-in-your-react-app\"\n );\n return B(\n () => gi(e, n),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [n, P(e)]\n );\n}\nfunction Yo(t) {\n if (typeof t == \"object\" && t !== null && \"bubbles\" in t && \"persist\" in t && \"isDefaultPrevented\" in t)\n throw new Error(\n \"Convex function called with SyntheticEvent object. Did you use a Convex function as an event handler directly? Event handlers like onClick receive an event object as their first argument. These SyntheticEvent objects are not valid Convex values. Try wrapping the function like `const handler = () => myMutation();` and using `handler` in the event handler.\"\n );\n}\nvar ea = Object.defineProperty, ta = (t, e, n) => e in t ? ea(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n, Qt = (t, e, n) => ta(t, typeof e != \"symbol\" ? e + \"\" : e, n);\nclass na {\n constructor(e) {\n Qt(this, \"createWatch\"), Qt(this, \"queries\"), Qt(this, \"listeners\"), this.createWatch = e, this.queries = {}, this.listeners = /* @__PURE__ */ new Set();\n }\n setQueries(e) {\n for (const n of Object.keys(e)) {\n const { query: r, args: i, paginationOptions: s } = e[n];\n if (P(r), this.queries[n] === void 0)\n this.addQuery(\n n,\n r,\n i,\n s ? { paginationOptions: s } : {}\n );\n else {\n const o = this.queries[n];\n (P(r) !== P(o.query) || JSON.stringify(te(i)) !== JSON.stringify(te(o.args)) || JSON.stringify(s) !== JSON.stringify(o.paginationOptions)) && (this.removeQuery(n), this.addQuery(\n n,\n r,\n i,\n s ? { paginationOptions: s } : {}\n ));\n }\n }\n for (const n of Object.keys(this.queries))\n e[n] === void 0 && this.removeQuery(n);\n }\n subscribe(e) {\n return this.listeners.add(e), () => {\n this.listeners.delete(e);\n };\n }\n getLocalResults(e) {\n const n = {};\n for (const r of Object.keys(e)) {\n const { query: i, args: s } = e[r], o = e[r].paginationOptions;\n P(i);\n const l = this.createWatch(\n i,\n s,\n o ? { paginationOptions: o } : {}\n );\n let a;\n try {\n a = l.localQueryResult();\n } catch (h) {\n if (h instanceof Error)\n a = h;\n else\n throw h;\n }\n n[r] = a;\n }\n return n;\n }\n setCreateWatch(e) {\n this.createWatch = e;\n for (const n of Object.keys(this.queries)) {\n const { query: r, args: i, watch: s, paginationOptions: o } = this.queries[n], l = \"journal\" in s ? s.journal() : void 0;\n this.removeQuery(n), this.addQuery(n, r, i, {\n ...l ? { journal: l } : [],\n ...o ? { paginationOptions: o } : {}\n });\n }\n }\n destroy() {\n for (const e of Object.keys(this.queries))\n this.removeQuery(e);\n this.listeners = /* @__PURE__ */ new Set();\n }\n addQuery(e, n, r, {\n paginationOptions: i,\n journal: s\n }) {\n if (this.queries[e] !== void 0)\n throw new Error(\n `Tried to add a new query with identifier ${e} when it already exists.`\n );\n const o = this.createWatch(n, r, {\n ...s ? { journal: s } : [],\n ...i ? { paginationOptions: i } : {}\n }), l = o.onUpdate(() => this.notifyListeners());\n this.queries[e] = {\n query: n,\n args: r,\n watch: o,\n unsubscribe: l,\n ...i ? { paginationOptions: i } : {}\n };\n }\n removeQuery(e) {\n const n = this.queries[e];\n if (n === void 0)\n throw new Error(`No query found with identifier ${e}.`);\n n.unsubscribe(), delete this.queries[e];\n }\n notifyListeners() {\n for (const e of this.listeners)\n e();\n }\n}\nfunction ra(t) {\n const e = Zo();\n if (e === void 0)\n throw new Error(\n \"Could not find Convex client! `useQuery` must be used in the React component tree under `ConvexProvider`. Did you forget it? See https://docs.convex.dev/quick-start#set-up-convex-in-your-react-app\"\n );\n const n = B(() => (r, i, {\n journal: s,\n paginationOptions: o\n }) => o ? e.watchPaginatedQuery(r, i, o) : e.watchQuery(r, i, s ? { journal: s } : {}), [e]);\n return ia(t, n);\n}\nfunction ia(t, e) {\n const [n] = T(() => new na(e));\n n.createWatch !== e && n.setCreateWatch(e), M(() => () => n.destroy(), [n]);\n const r = B(\n () => ({\n getCurrentValue: () => n.getLocalResults(t),\n subscribe: (i) => (n.setQueries(t), n.subscribe(i))\n }),\n [n, t]\n );\n return Wo(r);\n}\nvar sa = /* @__PURE__ */ Symbol.for(\"preact-signals\");\nfunction Ct() {\n if (oe > 1)\n oe--;\n else {\n for (var t, e = !1; Ve !== void 0; ) {\n var n = Ve;\n for (Ve = void 0, en++; n !== void 0; ) {\n var r = n.o;\n if (n.o = void 0, n.f &= -3, !(8 & n.f) && bi(n)) try {\n n.c();\n } catch (i) {\n e || (t = i, e = !0);\n }\n n = r;\n }\n }\n if (en = 0, oe--, e) throw t;\n }\n}\nfunction oa(t) {\n if (oe > 0) return t();\n oe++;\n try {\n return t();\n } finally {\n Ct();\n }\n}\nvar y = void 0;\nfunction mi(t) {\n var e = y;\n y = void 0;\n try {\n return t();\n } finally {\n y = e;\n }\n}\nvar Ve = void 0, oe = 0, en = 0, mt = 0;\nfunction xi(t) {\n if (y !== void 0) {\n var e = t.n;\n if (e === void 0 || e.t !== y)\n return e = { i: 0, S: t, p: y.s, n: void 0, t: y, e: void 0, x: void 0, r: e }, y.s !== void 0 && (y.s.n = e), y.s = e, t.n = e, 32 & y.f && t.S(e), e;\n if (e.i === -1)\n return e.i = 0, e.n !== void 0 && (e.n.p = e.p, e.p !== void 0 && (e.p.n = e.n), e.p = y.s, e.n = void 0, y.s.n = e, y.s = e), e;\n }\n}\nfunction $(t, e) {\n this.v = t, this.i = 0, this.n = void 0, this.t = void 0, this.W = e?.watched, this.Z = e?.unwatched, this.name = e?.name;\n}\n$.prototype.brand = sa;\n$.prototype.h = function() {\n return !0;\n};\n$.prototype.S = function(t) {\n var e = this, n = this.t;\n n !== t && t.e === void 0 && (t.x = n, this.t = t, n !== void 0 ? n.e = t : mi(function() {\n var r;\n (r = e.W) == null || r.call(e);\n }));\n};\n$.prototype.U = function(t) {\n var e = this;\n if (this.t !== void 0) {\n var n = t.e, r = t.x;\n n !== void 0 && (n.x = r, t.e = void 0), r !== void 0 && (r.e = n, t.x = void 0), t === this.t && (this.t = r, r === void 0 && mi(function() {\n var i;\n (i = e.Z) == null || i.call(e);\n }));\n }\n};\n$.prototype.subscribe = function(t) {\n var e = this;\n return nt(function() {\n var n = e.value, r = y;\n y = void 0;\n try {\n t(n);\n } finally {\n y = r;\n }\n }, { name: \"sub\" });\n};\n$.prototype.valueOf = function() {\n return this.value;\n};\n$.prototype.toString = function() {\n return this.value + \"\";\n};\n$.prototype.toJSON = function() {\n return this.value;\n};\n$.prototype.peek = function() {\n var t = y;\n y = void 0;\n try {\n return this.value;\n } finally {\n y = t;\n }\n};\nObject.defineProperty($.prototype, \"value\", { get: function() {\n var t = xi(this);\n return t !== void 0 && (t.i = this.i), this.v;\n}, set: function(t) {\n if (t !== this.v) {\n if (en > 100) throw new Error(\"Cycle detected\");\n this.v = t, this.i++, mt++, oe++;\n try {\n for (var e = this.t; e !== void 0; e = e.x) e.t.N();\n } finally {\n Ct();\n }\n }\n} });\nfunction L(t, e) {\n return new $(t, e);\n}\nfunction bi(t) {\n for (var e = t.s; e !== void 0; e = e.n) if (e.S.i !== e.i || !e.S.h() || e.S.i !== e.i) return !0;\n return !1;\n}\nfunction yi(t) {\n for (var e = t.s; e !== void 0; e = e.n) {\n var n = e.S.n;\n if (n !== void 0 && (e.r = n), e.S.n = e, e.i = -1, e.n === void 0) {\n t.s = e;\n break;\n }\n }\n}\nfunction vi(t) {\n for (var e = t.s, n = void 0; e !== void 0; ) {\n var r = e.p;\n e.i === -1 ? (e.S.U(e), r !== void 0 && (r.n = e.n), e.n !== void 0 && (e.n.p = r)) : n = e, e.S.n = e.r, e.r !== void 0 && (e.r = void 0), e = r;\n }\n t.s = n;\n}\nfunction me(t, e) {\n $.call(this, void 0), this.x = t, this.s = void 0, this.g = mt - 1, this.f = 4, this.W = e?.watched, this.Z = e?.unwatched, this.name = e?.name;\n}\nme.prototype = new $();\nme.prototype.h = function() {\n if (this.f &= -3, 1 & this.f) return !1;\n if ((36 & this.f) == 32 || (this.f &= -5, this.g === mt)) return !0;\n if (this.g = mt, this.f |= 1, this.i > 0 && !bi(this))\n return this.f &= -2, !0;\n var t = y;\n try {\n yi(this), y = this;\n var e = this.x();\n (16 & this.f || this.v !== e || this.i === 0) && (this.v = e, this.f &= -17, this.i++);\n } catch (n) {\n this.v = n, this.f |= 16, this.i++;\n }\n return y = t, vi(this), this.f &= -2, !0;\n};\nme.prototype.S = function(t) {\n if (this.t === void 0) {\n this.f |= 36;\n for (var e = this.s; e !== void 0; e = e.n) e.S.S(e);\n }\n $.prototype.S.call(this, t);\n};\nme.prototype.U = function(t) {\n if (this.t !== void 0 && ($.prototype.U.call(this, t), this.t === void 0)) {\n this.f &= -33;\n for (var e = this.s; e !== void 0; e = e.n) e.S.U(e);\n }\n};\nme.prototype.N = function() {\n if (!(2 & this.f)) {\n this.f |= 6;\n for (var t = this.t; t !== void 0; t = t.x) t.t.N();\n }\n};\nObject.defineProperty(me.prototype, \"value\", { get: function() {\n if (1 & this.f) throw new Error(\"Cycle detected\");\n var t = xi(this);\n if (this.h(), t !== void 0 && (t.i = this.i), 16 & this.f) throw this.v;\n return this.v;\n} });\nfunction tn(t, e) {\n return new me(t, e);\n}\nfunction _i(t) {\n var e = t.u;\n if (t.u = void 0, typeof e == \"function\") {\n oe++;\n var n = y;\n y = void 0;\n try {\n e();\n } catch (r) {\n throw t.f &= -2, t.f |= 8, bn(t), r;\n } finally {\n y = n, Ct();\n }\n }\n}\nfunction bn(t) {\n for (var e = t.s; e !== void 0; e = e.n) e.S.U(e);\n t.x = void 0, t.s = void 0, _i(t);\n}\nfunction aa(t) {\n if (y !== this) throw new Error(\"Out-of-order effect\");\n vi(this), y = t, this.f &= -2, 8 & this.f && bn(this), Ct();\n}\nfunction Ie(t, e) {\n this.x = t, this.u = void 0, this.s = void 0, this.o = void 0, this.f = 32, this.name = e?.name;\n}\nIe.prototype.c = function() {\n var t = this.S();\n try {\n if (8 & this.f || this.x === void 0) return;\n var e = this.x();\n typeof e == \"function\" && (this.u = e);\n } finally {\n t();\n }\n};\nIe.prototype.S = function() {\n if (1 & this.f) throw new Error(\"Cycle detected\");\n this.f |= 1, this.f &= -9, _i(this), yi(this), oe++;\n var t = y;\n return y = this, aa.bind(this, t);\n};\nIe.prototype.N = function() {\n 2 & this.f || (this.f |= 2, this.o = Ve, Ve = this);\n};\nIe.prototype.d = function() {\n this.f |= 8, 1 & this.f || bn(this);\n};\nIe.prototype.dispose = function() {\n this.d();\n};\nfunction nt(t, e) {\n var n = new Ie(t, e);\n try {\n n.c();\n } catch (i) {\n throw n.d(), i;\n }\n var r = n.d.bind(n);\n return r[Symbol.dispose] = r, r;\n}\nvar wi, Rt, lt, la = typeof window < \"u\" && !!window.__PREACT_SIGNALS_DEVTOOLS__, ki = [];\nnt(function() {\n wi = this.N;\n})();\nfunction Ee(t, e) {\n m[t] = e.bind(null, m[t] || function() {\n });\n}\nfunction xt(t) {\n if (lt) {\n var e = lt;\n lt = void 0, e();\n }\n lt = t && t.S();\n}\nfunction Si(t) {\n var e = this, n = t.data, r = Qe(n);\n r.value = n;\n var i = B(function() {\n for (var l = e, a = e.__v; a = a.__; ) if (a.__c) {\n a.__c.__$f |= 4;\n break;\n }\n var h = tn(function() {\n var f = r.value.value;\n return f === 0 ? 0 : f === !0 ? \"\" : f || \"\";\n }), d = tn(function() {\n return !Array.isArray(h.value) && !Rr(h.value);\n }), c = nt(function() {\n if (this.N = ji, d.value) {\n var f = h.value;\n l.__v && l.__v.__e && l.__v.__e.nodeType === 3 && (l.__v.__e.data = f);\n }\n }), p = e.__$u.d;\n return e.__$u.d = function() {\n c(), p.call(this);\n }, [d, h];\n }, []), s = i[0], o = i[1];\n return s.value ? o.peek() : o.value;\n}\nSi.displayName = \"ReactiveTextNode\";\nObject.defineProperties($.prototype, { constructor: { configurable: !0, value: void 0 }, type: { configurable: !0, value: Si }, props: { configurable: !0, get: function() {\n return { data: this };\n} }, __b: { configurable: !0, value: 1 } });\nEe(\"__b\", function(t, e) {\n if (typeof e.type == \"string\") {\n var n, r = e.props;\n for (var i in r) if (i !== \"children\") {\n var s = r[i];\n s instanceof $ && (n || (e.__np = n = {}), n[i] = s, r[i] = s.peek());\n }\n }\n t(e);\n});\nEe(\"__r\", function(t, e) {\n if (t(e), e.type !== Q) {\n xt();\n var n, r = e.__c;\n r && (r.__$f &= -2, (n = r.__$u) === void 0 && (r.__$u = n = (function(i, s) {\n var o;\n return nt(function() {\n o = this;\n }, { name: s }), o.c = i, o;\n })(function() {\n var i;\n la && ((i = n.y) == null || i.call(n)), r.__$f |= 1, r.setState({});\n }, typeof e.type == \"function\" ? e.type.displayName || e.type.name : \"\"))), Rt = r, xt(n);\n }\n});\nEe(\"__e\", function(t, e, n, r) {\n xt(), Rt = void 0, t(e, n, r);\n});\nEe(\"diffed\", function(t, e) {\n xt(), Rt = void 0;\n var n;\n if (typeof e.type == \"string\" && (n = e.__e)) {\n var r = e.__np, i = e.props;\n if (r) {\n var s = n.U;\n if (s) for (var o in s) {\n var l = s[o];\n l !== void 0 && !(o in r) && (l.d(), s[o] = void 0);\n }\n else\n s = {}, n.U = s;\n for (var a in r) {\n var h = s[a], d = r[a];\n h === void 0 ? (h = ca(n, a, d, i), s[a] = h) : h.o(d, i);\n }\n }\n }\n t(e);\n});\nfunction ca(t, e, n, r) {\n var i = e in t && t.ownerSVGElement === void 0, s = L(n);\n return { o: function(o, l) {\n s.value = o, r = l;\n }, d: nt(function() {\n this.N = ji;\n var o = s.value.value;\n r[e] !== o && (r[e] = o, i ? t[e] = o : o != null && (o !== !1 || e[4] === \"-\") ? t.setAttribute(e, o) : t.removeAttribute(e));\n }) };\n}\nEe(\"unmount\", function(t, e) {\n if (typeof e.type == \"string\") {\n var n = e.__e;\n if (n) {\n var r = n.U;\n if (r) {\n n.U = void 0;\n for (var i in r) {\n var s = r[i];\n s && s.d();\n }\n }\n }\n } else {\n var o = e.__c;\n if (o) {\n var l = o.__$u;\n l && (o.__$u = void 0, l.d());\n }\n }\n t(e);\n});\nEe(\"__h\", function(t, e, n, r) {\n (r < 3 || r === 9) && (e.__$f |= 2), t(e, n, r);\n});\nV.prototype.shouldComponentUpdate = function(t, e) {\n if (this.__R) return !0;\n var n = this.__$u, r = n && n.s !== void 0;\n for (var i in e) return !0;\n if (this.__f || typeof this.u == \"boolean\" && this.u === !0) {\n var s = 2 & this.__$f;\n if (!(r || s || 4 & this.__$f) || 1 & this.__$f) return !0;\n } else if (!(r || 4 & this.__$f) || 3 & this.__$f) return !0;\n for (var o in t) if (o !== \"__source\" && t[o] !== this.props[o]) return !0;\n for (var l in this.props) if (!(l in t)) return !0;\n return !1;\n};\nfunction Qe(t, e) {\n return B(function() {\n return L(t, e);\n }, []);\n}\nfunction ua(t, e) {\n var n = tt(t);\n return n.current = t, Rt.__$f |= 4, B(function() {\n return tn(function() {\n return n.current();\n }, e);\n }, []);\n}\nvar ha = function(t) {\n queueMicrotask(function() {\n queueMicrotask(t);\n });\n};\nfunction da() {\n oa(function() {\n for (var t; t = ki.shift(); ) wi.call(t);\n });\n}\nfunction ji() {\n ki.push(this) === 1 && (m.requestAnimationFrame || ha)(da);\n}\nconst A = L(!1), bt = L(void 0), yt = L(void 0);\nfunction fa(t) {\n return t.replace(/\\.convex\\.site\\b/, \".convex.cloud\");\n}\nfunction Ci(t) {\n return t.replace(/\\.convex\\.cloud\\b/, \".convex.site\");\n}\nfunction pa(t, e) {\n const n = t.title ?? e?.title ?? \"Assistant\";\n return {\n title: n,\n greeting: t.greeting ?? e?.welcomeMessage ?? `Hi! I'm ${n}. How can I help?`,\n locale: t.locale ?? e?.locale,\n position: t.position ?? e?.position,\n colorScheme: t.colorScheme ?? e?.colorScheme,\n hideBranding: t.hideBranding ?? e?.hideBranding ?? !1,\n triggerIcon: t.triggerIcon ?? e?.triggerIcon ?? \"chat\",\n triggerRadius: t.triggerRadius ?? e?.triggerRadius ?? \"full\",\n triggerLabel: t.triggerLabel ?? e?.triggerLabel ?? \"Chatte mit uns\",\n mode: t.mode ?? \"floating\",\n primaryColor: t.primaryColor ?? e?.primaryColor,\n accentColor: t.accentColor ?? e?.accentColor,\n fontFamily: t.fontFamily ?? e?.fontFamily,\n fontSize: t.fontSize ?? e?.fontSize,\n borderRadius: t.borderRadius ?? e?.borderRadius,\n windowWidth: t.windowWidth ?? e?.windowWidth,\n windowHeight: t.windowHeight ?? e?.windowHeight\n };\n}\nasync function ga(t, e, n, r) {\n const i = new URL(`${t}/widget/config`);\n i.searchParams.set(\"orgSlug\", e), r && i.searchParams.set(\"projSlug\", r);\n const s = await fetch(i.toString(), { signal: n });\n return s.ok ? s.json() : null;\n}\nfunction ma(t, e, n) {\n const [r, i] = T(null);\n return M(() => {\n i(null);\n const s = n ?? \"https://tame-spider-109.eu-west-1.convex.cloud\", o = s ? Ci(s) : void 0;\n if (!o || !t)\n return;\n const l = new AbortController();\n async function a(h) {\n try {\n const d = await ga(h, t, l.signal, e);\n d && i(d);\n } catch (d) {\n if (d instanceof Error && d.name === \"AbortError\")\n return;\n }\n }\n return a(o), () => {\n l.abort();\n };\n }, [t, e, n]), r;\n}\nasync function xa(t, e, n) {\n try {\n const r = await fetch(`${e}/widget/bootstrap`, {\n method: \"POST\",\n headers: { \"Content-Type\": \"application/json\" },\n body: JSON.stringify(n ? { orgSlug: t, projSlug: n } : { orgSlug: t }),\n credentials: \"omit\"\n });\n if (r.ok) {\n const i = await r.json();\n return { ok: !0, token: i.token, excludePaths: i.excludePaths };\n }\n return r.status === 403 ? { ok: !1, error: \"unauthorized\" } : r.status === 404 ? { ok: !1, error: \"not_found\" } : r.status === 429 ? { ok: !1, error: \"rate_limited\", retryAfterSec: Number(r.headers.get(\"Retry-After\")) || 60 } : { ok: !1, error: \"network\" };\n } catch {\n return { ok: !1, error: \"network\" };\n }\n}\nfunction ba(t, e, n, r) {\n M(() => {\n if (n)\n return;\n const i = r ?? \"https://tame-spider-109.eu-west-1.convex.cloud\", s = i ? Ci(i) : void 0;\n if (!s || !t)\n return;\n let o = !1;\n return (async () => {\n const l = await xa(t, s, e);\n if (!o)\n if (l.ok)\n yt.value = l.token;\n else {\n const a = e ? `project '${t}/${e}'` : `org '${t}'`;\n l.error === \"unauthorized\" ? console.error(\n `[JexityChat] This domain is not authorized for ${a}. Check the widget's domain rules.`\n ) : l.error === \"not_found\" ? console.error(`[JexityChat] No active widget config found for ${a}.`) : l.error === \"rate_limited\" ? console.error(\n `[JexityChat] Bootstrap rate-limited for ${a}. Retry after ${l.retryAfterSec ?? 60}s.`\n ) : console.error(`[JexityChat] Bootstrap failed: ${l.error}`);\n }\n })(), () => {\n o = !0;\n };\n }, [t, e, n, r]);\n}\nconst Ri = {\n title: \"Assistant\",\n statusOnline: \"Online · Responds in seconds\",\n inputPlaceholder: \"Type a message…\",\n aiThinking: \"AI is responding…\",\n sendAriaLabel: \"Send message\",\n openChatAriaLabel: \"Open chat\",\n closeChatAriaLabel: \"Close chat\",\n errorNetwork: \"Network error. Please try again.\",\n errorQuota: \"Message limit reached. Please try again later.\",\n errorRateLimited: \"Too many messages. Try again in {seconds}s.\",\n localeLabelDe: \"DE\",\n localeLabelEn: \"EN\",\n resumeConversation: \"Resume conversation\",\n sessionNotFound: \"Your previous session was not found. Starting a new conversation.\",\n startNewConversation: \"Start new conversation\",\n chatWith: \"Chat with {title}\",\n haveReferenceNumber: \"Have a reference number?\",\n referencePlaceholder: \"e.g. JEX-A3B7C2\",\n resume: \"Resume\",\n howCanWeHelp: \"How can we help?\",\n getInstantHelp: \"Get instant help\",\n submitTicket: \"Submit a ticket\",\n replyByEmail: \"We'll reply by email\",\n ticketSubmitted: \"Ticket submitted\",\n yourReferenceNumber: \"Your reference number:\",\n sentToEmailHint: \"We've sent it to your email. Use this number to follow up.\",\n done: \"Done\",\n submittingTicket: \"Submitting your ticket…\",\n yourName: \"Your name\",\n yourEmail: \"Your email\",\n submit: \"Submit\",\n back: \"Go back\",\n // Escalation form\n escalationFormTitle: \"Leave your details\",\n escalationSubtitle: \"Our team will get back to you by email so you don’t have to wait here.\",\n escalationNameLabel: \"Your name\",\n escalationEmailLabel: \"Your email\",\n escalationSubmit: \"Send to team\",\n escalationSubmitting: \"Sending…\",\n escalationSubmitted: \"Request submitted\",\n escalationConsent: \"We’ll only use your email to respond to this conversation.\",\n escalationSkip: \"Skip, I’ll wait here\",\n escalationPromptTitle: \"Talk to our team\",\n escalationPromptSubtitle: \"We can notify you by email when our team replies.\",\n escalationPromptSubmit: \"Leave details\",\n escalationSubmitFailed: \"Failed to submit. Please try again.\",\n // Session resume prompt\n sessionNotFoundPrompt: \"Session not found. Would you like to start a new conversation?\",\n // Resolved session\n sessionResolved: \"This conversation has been resolved.\",\n tryAgain: \"Try again\",\n goBack: \"Go back\",\n somethingWentWrong: \"Something went wrong\",\n fabLabel: \"Chat with us\",\n chatNoLongerAvailable: \"This chat is no longer available.\"\n}, ya = {\n title: \"Assistent\",\n statusOnline: \"Online · Antwortet in Sekunden\",\n inputPlaceholder: \"Nachricht eingeben…\",\n aiThinking: \"KI antwortet…\",\n sendAriaLabel: \"Nachricht senden\",\n openChatAriaLabel: \"Chat öffnen\",\n closeChatAriaLabel: \"Chat schließen\",\n errorNetwork: \"Netzwerkfehler. Bitte versuche es erneut.\",\n errorQuota: \"Nachrichtenlimit erreicht. Bitte versuche es später erneut.\",\n errorRateLimited: \"Zu viele Nachrichten. Bitte in {seconds} Sek. erneut versuchen.\",\n localeLabelDe: \"DE\",\n localeLabelEn: \"EN\",\n resumeConversation: \"Gespräch fortsetzen\",\n sessionNotFound: \"Ihre vorherige Sitzung wurde nicht gefunden. Ein neues Gespräch wird gestartet.\",\n startNewConversation: \"Neues Gespräch beginnen\",\n chatWith: \"Chatte mit {title}\",\n haveReferenceNumber: \"Hast du eine Referenznummer?\",\n referencePlaceholder: \"z.B. JEX-A3B7C2\",\n resume: \"Fortsetzen\",\n howCanWeHelp: \"Wie können wir helfen?\",\n getInstantHelp: \"Soforthilfe erhalten\",\n submitTicket: \"Ticket einreichen\",\n replyByEmail: \"Wir antworten per E-Mail\",\n ticketSubmitted: \"Ticket eingereicht\",\n yourReferenceNumber: \"Deine Referenznummer:\",\n sentToEmailHint: \"Wir haben sie an deine E-Mail gesendet. Verwende diese Nummer für Rückfragen.\",\n done: \"Fertig\",\n submittingTicket: \"Dein Ticket wird übermittelt…\",\n yourName: \"Dein Name\",\n yourEmail: \"Deine E-Mail\",\n submit: \"Absenden\",\n back: \"Zurück\",\n // Escalation form\n escalationFormTitle: \"Hinterlassen Sie Ihre Daten\",\n escalationSubtitle: \"Unser Team meldet sich per E-Mail bei Ihnen — Sie müssen nicht hier warten.\",\n escalationNameLabel: \"Ihr Name\",\n escalationEmailLabel: \"Ihre E-Mail\",\n escalationSubmit: \"An Team senden\",\n escalationSubmitting: \"Wird gesendet…\",\n escalationSubmitted: \"Anfrage gesendet\",\n escalationConsent: \"Wir verwenden Ihre E-Mail nur, um auf diese Unterhaltung zu antworten.\",\n escalationSkip: \"Überspringen, ich warte hier\",\n escalationPromptTitle: \"Sprechen Sie mit unserem Team\",\n escalationPromptSubtitle: \"Wir benachrichtigen Sie per E-Mail, wenn wir antworten.\",\n escalationPromptSubmit: \"Daten hinterlassen\",\n escalationSubmitFailed: \"Senden fehlgeschlagen. Bitte versuche es erneut.\",\n // Session resume prompt\n sessionNotFoundPrompt: \"Sitzung nicht gefunden. Möchten Sie ein neues Gespräch beginnen?\",\n // Resolved session\n sessionResolved: \"Diese Unterhaltung wurde abgeschlossen.\",\n tryAgain: \"Erneut versuchen\",\n goBack: \"Zurück\",\n somethingWentWrong: \"Etwas ist schiefgelaufen\",\n fabLabel: \"Chatte mit uns\",\n chatNoLongerAvailable: \"Dieser Chat ist nicht mehr verfügbar.\"\n}, va = [\n { value: \"de\", label: \"Deutsch\", flag: \"🇩🇪\" },\n { value: \"en\", label: \"English\", flag: \"🇬🇧\" }\n], _a = \"de\", wa = \"jex-locale\", yn = L(\"de\"), ka = { en: Ri, de: ya };\nfunction q() {\n return ka[yn.value] ?? Ri;\n}\nfunction Bt(t) {\n if (!t)\n return null;\n const e = (t.split(\"-\")[0] ?? \"\").toLowerCase();\n return va.some((r) => r.value === e) ? e : null;\n}\nfunction Ti(t) {\n const e = Bt(t);\n if (e)\n return e;\n try {\n const n = Bt(localStorage.getItem(wa));\n if (n)\n return n;\n } catch {\n }\n if (typeof navigator < \"u\") {\n const n = Bt(navigator.language);\n if (n)\n return n;\n }\n return _a;\n}\nfunction Sa(t) {\n M(() => {\n function e(n) {\n const r = t ?? window.location.origin;\n if (n.origin !== r || n.data?.type !== \"jexity:config\")\n return;\n const { locale: i } = n.data.payload;\n i && (yn.value = Ti(i));\n }\n return window.addEventListener(\"message\", e), () => {\n window.removeEventListener(\"message\", e);\n };\n }, [t]);\n}\nconst vn = \"jex-session-ref\", Tt = \"jex-session-active\", le = L(null), pe = L(!1);\nfunction ja() {\n return \"JEX-\" + Math.random().toString(36).slice(2, 8).toUpperCase();\n}\nfunction Ca() {\n try {\n const t = sessionStorage.getItem(vn), e = sessionStorage.getItem(Tt);\n le.value = t ?? null, pe.value = t !== null && e === \"true\";\n } catch {\n le.value = null, pe.value = !1;\n }\n}\nfunction nn() {\n const t = ja();\n le.value = t, pe.value = !1;\n try {\n sessionStorage.setItem(vn, t), sessionStorage.removeItem(Tt);\n } catch {\n }\n return t;\n}\nfunction Ra(t) {\n le.value = t, pe.value = !0;\n try {\n sessionStorage.setItem(vn, t), sessionStorage.setItem(Tt, \"true\");\n } catch {\n }\n}\nfunction Ta() {\n if (le.value) {\n pe.value = !0;\n try {\n sessionStorage.setItem(Tt, \"true\");\n } catch {\n }\n }\n}\nfunction $a(t) {\n const e = {}, { primaryColor: n, theme: r } = t;\n if (n && (e[\"--jex-primary\"] = n, e[\"--jex-bg-trigger\"] = n, e[\"--jex-bg-header\"] = n, e[\"--jex-bg-msg-user\"] = n, e[\"--jex-bg-send-btn\"] = n), t.accentColor && (e[\"--jex-accent\"] = t.accentColor), r?.bg) {\n const i = r.bg;\n i.trigger && (e[\"--jex-bg-trigger\"] = i.trigger), i.header && (e[\"--jex-bg-header\"] = i.header), i.msgUser && (e[\"--jex-bg-msg-user\"] = i.msgUser), i.msgBot && (e[\"--jex-bg-msg-bot\"] = i.msgBot), i.window && (e[\"--jex-bg-window\"] = i.window), i.sendBtn && (e[\"--jex-bg-send-btn\"] = i.sendBtn);\n }\n if (r?.text) {\n const i = r.text;\n i.header && (e[\"--jex-text-header\"] = i.header), i.msgUser && (e[\"--jex-text-msg-user\"] = i.msgUser), i.msgBot && (e[\"--jex-text-msg-bot\"] = i.msgBot), i.main && (e[\"--jex-text-main\"] = i.main), i.muted && (e[\"--jex-text-muted\"] = i.muted);\n }\n if (r?.border) {\n const i = r.border;\n i.window && (e[\"--jex-border-window\"] = i.window), i.input && (e[\"--jex-border-input\"] = i.input);\n }\n return t.fontFamily && (e[\"--jex-font-family\"] = t.fontFamily), t.fontSize && (e[\"--jex-font-size\"] = `${t.fontSize}px`), t.borderRadius && (e[\"--jex-radius\"] = t.borderRadius), t.windowWidth && (e[\"--jex-window-width\"] = `${t.windowWidth}px`), t.windowHeight && (e[\"--jex-window-height\"] = `${t.windowHeight}px`), Object.keys(e).length > 0 ? e : void 0;\n}\nconst W = L([{ id: \"home\" }]), Aa = L(\"screen\");\nfunction ke(t) {\n W.value = [...W.value, t];\n}\nfunction _n() {\n W.value.length > 1 && (W.value = W.value.slice(0, -1));\n}\nfunction Se(t) {\n W.value = [...W.value.slice(0, -1), t];\n}\nfunction wn({ size: t = 24 }) {\n return /* @__PURE__ */ u(\"svg\", { width: t, height: t, viewBox: \"0 0 24 24\", fill: \"none\", stroke: \"currentColor\", \"stroke-width\": \"2\", \"stroke-linecap\": \"round\", \"stroke-linejoin\": \"round\", \"aria-hidden\": \"true\", children: [\n /* @__PURE__ */ u(\"path\", { d: \"M12 8V4H8\" }),\n /* @__PURE__ */ u(\"rect\", { width: \"16\", height: \"12\", x: \"4\", y: \"8\", rx: \"2\" }),\n /* @__PURE__ */ u(\"path\", { d: \"M2 14h2\" }),\n /* @__PURE__ */ u(\"path\", { d: \"M20 14h2\" }),\n /* @__PURE__ */ u(\"path\", { d: \"M15 13v2\" }),\n /* @__PURE__ */ u(\"path\", { d: \"M9 13v2\" })\n ] });\n}\nfunction fr({ title: t }) {\n const e = q(), n = W.value.length > 1;\n return /* @__PURE__ */ u(\"header\", { class: \"jex-chat-header\", children: [\n n && /* @__PURE__ */ u(\n \"button\",\n {\n class: \"jex-header-back\",\n onClick: _n,\n \"aria-label\": e.back || \"Go back\",\n children: /* @__PURE__ */ u(\"svg\", { width: 20, height: 20, viewBox: \"0 0 24 24\", fill: \"none\", stroke: \"currentColor\", \"stroke-width\": \"2\", \"stroke-linecap\": \"round\", \"stroke-linejoin\": \"round\", \"aria-hidden\": \"true\", children: /* @__PURE__ */ u(\"path\", { d: \"m15 18-6-6 6-6\" }) })\n }\n ),\n !n && /* @__PURE__ */ u(wn, { size: 24 }),\n /* @__PURE__ */ u(\"div\", { class: \"jex-header-info\", children: [\n /* @__PURE__ */ u(\"h3\", { children: t }),\n /* @__PURE__ */ u(\"p\", { children: e.statusOnline })\n ] })\n ] });\n}\nfunction Ia({ size: t = 14 }) {\n return /* @__PURE__ */ u(\"svg\", { width: t, height: t, viewBox: \"0 0 24 24\", fill: \"none\", stroke: \"currentColor\", \"stroke-width\": \"2\", \"stroke-linecap\": \"round\", \"stroke-linejoin\": \"round\", \"aria-hidden\": \"true\", children: /* @__PURE__ */ u(\"path\", { d: \"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z\" }) });\n}\nfunction pr() {\n return /* @__PURE__ */ u(\"div\", { class: \"jex-widget-footer\", children: /* @__PURE__ */ u(\n \"a\",\n {\n href: \"https://jexitychat.de\",\n target: \"_blank\",\n rel: \"noopener noreferrer\",\n class: \"jex-branding\",\n children: [\n /* @__PURE__ */ u(Ia, { size: 14 }),\n /* @__PURE__ */ u(\"span\", { children: [\n \"Powered by \",\n /* @__PURE__ */ u(\"strong\", { children: \"Jexity\" })\n ] })\n ]\n }\n ) });\n}\nfunction $i({ size: t = 28 }) {\n return /* @__PURE__ */ u(\"svg\", { width: t, height: t, viewBox: \"0 0 24 24\", fill: \"none\", stroke: \"currentColor\", \"stroke-width\": \"2\", \"stroke-linecap\": \"round\", \"stroke-linejoin\": \"round\", \"aria-hidden\": \"true\", children: /* @__PURE__ */ u(\"path\", { d: \"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z\" }) });\n}\nfunction Ea({ size: t = 28 }) {\n return /* @__PURE__ */ u(\"svg\", { width: t, height: t, viewBox: \"0 0 24 24\", fill: \"none\", stroke: \"currentColor\", \"stroke-width\": \"2\", \"stroke-linecap\": \"round\", \"stroke-linejoin\": \"round\", \"aria-hidden\": \"true\", children: [\n /* @__PURE__ */ u(\"path\", { d: \"M18 6 6 18\" }),\n /* @__PURE__ */ u(\"path\", { d: \"m6 6 12 12\" })\n ] });\n}\nfunction Pa({ size: t = 24, ...e }) {\n return /* @__PURE__ */ u(\n \"svg\",\n {\n width: t,\n height: t,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n \"stroke-width\": \"2\",\n \"stroke-linecap\": \"round\",\n \"stroke-linejoin\": \"round\",\n ...e,\n children: /* @__PURE__ */ u(\"path\", { d: \"M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z\" })\n }\n );\n}\nconst qa = {\n chat: /* @__PURE__ */ u($i, { size: 28 }),\n bot: /* @__PURE__ */ u(wn, { size: 28 }),\n sparkles: /* @__PURE__ */ u(Pa, { size: 28 })\n}, Ma = {\n none: \"0px\",\n sm: \"0.5rem\",\n md: \"0.75rem\",\n lg: \"1.25rem\",\n full: \"9999px\"\n};\nfunction La({ radius: t = \"full\", iconOption: e = \"chat\", label: n }) {\n const r = q(), i = n ?? r.fabLabel, s = i !== \"\";\n return /* @__PURE__ */ u(\n \"button\",\n {\n class: `jex-floating-button ${!A.value && s ? \"jex-has-label\" : \"\"}`,\n style: { borderRadius: Ma[t] ?? \"9999px\" },\n onClick: () => {\n A.value = !A.value;\n },\n \"aria-label\": A.value ? r.closeChatAriaLabel : r.openChatAriaLabel,\n children: A.value ? /* @__PURE__ */ u(Ea, { size: 28 }) : /* @__PURE__ */ u(\"div\", { class: \"jex-fab-inner\", children: [\n qa[e],\n s && /* @__PURE__ */ u(\"span\", { class: \"jex-fab-label\", children: i })\n ] })\n }\n );\n}\nfunction Oa({ title: t }) {\n const e = q(), n = le.value, [r, i] = T(\"\");\n function s() {\n nn(), ke({ id: \"chat\" });\n }\n function o() {\n ke({ id: \"chat\" });\n }\n function l(a) {\n a.preventDefault();\n const h = r.trim().toUpperCase();\n h && (Ra(h), ke({ id: \"chat\" }));\n }\n return /* @__PURE__ */ u(\"div\", { class: \"jex-home\", children: [\n /* @__PURE__ */ u(\"div\", { class: \"jex-home-hero\", children: [\n /* @__PURE__ */ u(\"div\", { class: \"jex-home-avatar\", children: [\n /* @__PURE__ */ u($i, { size: 24 }),\n /* @__PURE__ */ u(\"span\", { class: \"jex-home-status-dot\" })\n ] }),\n /* @__PURE__ */ u(\"div\", { class: \"jex-home-hero-text\", children: [\n /* @__PURE__ */ u(\"h2\", { class: \"jex-home-title\", children: t }),\n /* @__PURE__ */ u(\"span\", { class: \"jex-home-status\", children: e.statusOnline })\n ] })\n ] }),\n /* @__PURE__ */ u(\"form\", { class: \"jex-home-lookup\", onSubmit: l, children: [\n /* @__PURE__ */ u(\n \"input\",\n {\n class: \"jex-home-lookup-input\",\n type: \"text\",\n placeholder: e.referencePlaceholder,\n value: r,\n onInput: (a) => {\n i(a.currentTarget.value);\n }\n }\n ),\n /* @__PURE__ */ u(\n \"button\",\n {\n class: \"jex-home-lookup-submit\",\n type: \"submit\",\n disabled: !r.trim(),\n children: e.resume\n }\n )\n ] }),\n /* @__PURE__ */ u(\"div\", { class: \"jex-home-actions\", children: [\n n && /* @__PURE__ */ u(\"button\", { class: \"jex-home-resume-card\", onClick: o, children: [\n /* @__PURE__ */ u(\"div\", { class: \"jex-home-resume-top\", children: [\n /* @__PURE__ */ u(\"span\", { class: \"jex-home-resume-label\", children: e.resumeConversation }),\n /* @__PURE__ */ u(\"svg\", { width: \"16\", height: \"16\", viewBox: \"0 0 16 16\", fill: \"none\", class: \"jex-home-resume-arrow\", children: /* @__PURE__ */ u(\"path\", { d: \"M6 3l5 5-5 5\", stroke: \"currentColor\", \"stroke-width\": \"2\", \"stroke-linecap\": \"round\", \"stroke-linejoin\": \"round\" }) })\n ] }),\n /* @__PURE__ */ u(\"span\", { class: \"jex-home-resume-ref\", children: n })\n ] }),\n /* @__PURE__ */ u(\"button\", { class: \"jex-home-new-btn\", onClick: s, children: n ? e.startNewConversation : e.chatWith.replace(\"{title}\", t) })\n ] })\n ] });\n}\nfunction Na({ title: t }) {\n const e = q();\n return /* @__PURE__ */ u(\"div\", { class: \"jex-selection\", children: [\n /* @__PURE__ */ u(\"h2\", { class: \"jex-selection-title\", children: e.howCanWeHelp }),\n /* @__PURE__ */ u(\"div\", { class: \"jex-selection-options\", children: [\n /* @__PURE__ */ u(\n \"button\",\n {\n class: \"jex-selection-option\",\n onClick: () => ke({ id: \"chat\" }),\n children: [\n /* @__PURE__ */ u(\"span\", { class: \"jex-selection-icon\", children: \"💬\" }),\n /* @__PURE__ */ u(\"span\", { class: \"jex-selection-label\", children: e.chatWith.replace(\"{title}\", t) }),\n /* @__PURE__ */ u(\"span\", { class: \"jex-selection-sub\", children: e.getInstantHelp })\n ]\n }\n ),\n /* @__PURE__ */ u(\n \"button\",\n {\n class: \"jex-selection-option\",\n onClick: () => ke({ id: \"form\" }),\n children: [\n /* @__PURE__ */ u(\"span\", { class: \"jex-selection-icon\", children: \"📝\" }),\n /* @__PURE__ */ u(\"span\", { class: \"jex-selection-label\", children: e.submitTicket }),\n /* @__PURE__ */ u(\"span\", { class: \"jex-selection-sub\", children: e.replyByEmail })\n ]\n }\n )\n ] })\n ] });\n}\nfunction Ai(t, e) {\n const n = {\n get(r, i) {\n if (typeof i == \"string\") {\n const s = [...e, i];\n return Ai(t, s);\n } else if (i === ui) {\n if (e.length < 1) {\n const s = [t, ...e].join(\".\");\n throw new Error(\n `API path is expected to be of the form \\`${t}.childComponent.functionName\\`. Found: \\`${s}\\``\n );\n }\n return \"_reference/childComponent/\" + e.join(\"/\");\n } else\n return;\n }\n };\n return new Proxy({}, n);\n}\nconst za = () => Ai(\"components\", []), $e = ao;\nza();\nfunction Qa(t, e) {\n const n = tt(null), r = Qe(!1), i = Qe(!1), s = Qe(!1), o = Qe(null), l = jt($e.functions.chat.public.sessions.createOrResume), a = async (p) => {\n const f = yt.value;\n if (!f)\n return console.warn(\"[JexityChat] No bootstrap token — session creation blocked.\"), null;\n const g = await l({\n orgSlug: t,\n ...e ? { projSlug: e } : {},\n visitorId: p,\n bootstrapToken: f,\n ...bt.value ? { source: bt.value } : {}\n });\n o.value = g.status;\n const x = { sessionId: g.sessionId, visitorId: p };\n return n.current = x, { session: x, result: g };\n }, h = He(async () => {\n if (n.current)\n return n.current;\n if (s.value)\n return null;\n r.value = !0;\n const p = le.value !== null, f = le.value ?? nn();\n try {\n const g = await a(f);\n return g ? (p && g.result.isNew && (i.value = !0, s.value = !0), g.session) : null;\n } catch (g) {\n return console.error(\"[JexityChat] Failed to create session:\", g), null;\n } finally {\n r.value = !1;\n }\n }, [t, e, l, r, i, s]), d = He(async () => {\n n.current = null, s.value = !1, i.value = !1;\n const p = nn();\n r.value = !0;\n try {\n return (await a(p))?.session ?? null;\n } catch (f) {\n return console.error(\"[JexityChat] Failed to create fresh session:\", f), null;\n } finally {\n r.value = !1;\n }\n }, [t, e, l, r, i, s, o]), c = n.current;\n return {\n sessionId: c?.sessionId ?? null,\n visitorId: c?.visitorId ?? null,\n isLoading: r.value,\n sessionNotFound: i.value,\n resumeFailed: s.value,\n sessionStatus: o.value,\n isOrgDeleted: o.value === \"org_deleted\",\n ensureSession: h,\n startFresh: d\n };\n}\nconst Ba = (...t) => t.filter((e, n, r) => !!e && e.trim() !== \"\" && r.indexOf(e) === n).join(\" \").trim();\nconst gr = (t) => t.replace(/([a-z0-9])([A-Z])/g, \"$1-$2\").toLowerCase();\nconst Fa = (t) => t.replace(\n /^([A-Z])|[\\s-_]+(\\w)/g,\n (e, n, r) => r ? r.toUpperCase() : n.toLowerCase()\n);\nconst mr = (t) => {\n const e = Fa(t);\n return e.charAt(0).toUpperCase() + e.slice(1);\n};\nvar Da = {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n \"stroke-width\": \"2\",\n \"stroke-linecap\": \"round\",\n \"stroke-linejoin\": \"round\"\n};\nconst Ua = (t) => {\n for (const e in t)\n if (e.startsWith(\"aria-\") || e === \"role\" || e === \"title\")\n return !0;\n return !1;\n};\nconst Va = ({\n color: t = \"currentColor\",\n size: e = 24,\n strokeWidth: n = 2,\n absoluteStrokeWidth: r,\n children: i,\n iconNode: s,\n class: o = \"\",\n ...l\n}) => z(\n \"svg\",\n {\n ...Da,\n width: String(e),\n height: e,\n stroke: t,\n \"stroke-width\": r ? Number(n) * 24 / Number(e) : n,\n class: [\"lucide\", o].join(\" \"),\n ...!i && !Ua(l) && { \"aria-hidden\": \"true\" },\n ...l\n },\n [...s.map(([a, h]) => z(a, h)), ...ee(i)]\n);\nconst Wa = (t, e) => {\n const n = ({ class: r = \"\", className: i = \"\", children: s, ...o }) => z(\n Va,\n {\n ...o,\n iconNode: e,\n class: Ba(\n `lucide-${gr(mr(t))}`,\n `lucide-${gr(t)}`,\n r,\n i\n )\n },\n s\n );\n return n.displayName = mr(t), n;\n};\nconst Ha = Wa(\"corner-up-left\", [\n [\"path\", { d: \"M20 20v-7a4 4 0 0 0-4-4H4\", key: \"1nkjon\" }],\n [\"path\", { d: \"M9 14 4 9l5-5\", key: \"102s5s\" }]\n]);\nfunction kn() {\n return { async: !1, breaks: !1, extensions: null, gfm: !0, hooks: null, pedantic: !1, renderer: null, silent: !1, tokenizer: null, walkTokens: null };\n}\nvar xe = kn();\nfunction Ii(t) {\n xe = t;\n}\nvar ue = { exec: () => null };\nfunction b(t, e = \"\") {\n let n = typeof t == \"string\" ? t : t.source, r = { replace: (i, s) => {\n let o = typeof s == \"string\" ? s : s.source;\n return o = o.replace(I.caret, \"$1\"), n = n.replace(i, o), r;\n }, getRegex: () => new RegExp(n, e) };\n return r;\n}\nvar Ja = (() => {\n try {\n return !!new RegExp(\"(?<=1)(?<!1)\");\n } catch {\n return !1;\n }\n})(), I = { codeRemoveIndent: /^(?: {1,4}| {0,3}\\t)/gm, outputLinkReplace: /\\\\([\\[\\]])/g, indentCodeCompensation: /^(\\s+)(?:```)/, beginningSpace: /^\\s+/, endingHash: /#$/, startingSpaceChar: /^ /, endingSpaceChar: / $/, nonSpaceChar: /[^ ]/, newLineCharGlobal: /\\n/g, tabCharGlobal: /\\t/g, multipleSpaceGlobal: /\\s+/g, blankLine: /^[ \\t]*$/, doubleBlankLine: /\\n[ \\t]*\\n[ \\t]*$/, blockquoteStart: /^ {0,3}>/, blockquoteSetextReplace: /\\n {0,3}((?:=+|-+) *)(?=\\n|$)/g, blockquoteSetextReplace2: /^ {0,3}>[ \\t]?/gm, listReplaceNesting: /^ {1,4}(?=( {4})*[^ ])/g, listIsTask: /^\\[[ xX]\\] +\\S/, listReplaceTask: /^\\[[ xX]\\] +/, listTaskCheckbox: /\\[[ xX]\\]/, anyLine: /\\n.*\\n/, hrefBrackets: /^<(.*)>$/, tableDelimiter: /[:|]/, tableAlignChars: /^\\||\\| *$/g, tableRowBlankLine: /\\n[ \\t]*$/, tableAlignRight: /^ *-+: *$/, tableAlignCenter: /^ *:-+: *$/, tableAlignLeft: /^ *:-+ *$/, startATag: /^<a /i, endATag: /^<\\/a>/i, startPreScriptTag: /^<(pre|code|kbd|script)(\\s|>)/i, endPreScriptTag: /^<\\/(pre|code|kbd|script)(\\s|>)/i, startAngleBracket: /^</, endAngleBracket: />$/, pedanticHrefTitle: /^([^'\"]*[^\\s])\\s+(['\"])(.*)\\2/, unicodeAlphaNumeric: /[\\p{L}\\p{N}]/u, escapeTest: /[&<>\"']/, escapeReplace: /[&<>\"']/g, escapeTestNoEncode: /[<>\"']|&(?!(#\\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\\w+);)/, escapeReplaceNoEncode: /[<>\"']|&(?!(#\\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\\w+);)/g, caret: /(^|[^\\[])\\^/g, percentDecode: /%25/g, findPipe: /\\|/g, splitPipe: / \\|/, slashPipe: /\\\\\\|/g, carriageReturn: /\\r\\n|\\r/g, spaceLine: /^ +$/gm, notSpaceStart: /^\\S*/, endingNewline: /\\n$/, listItemRegex: (t) => new RegExp(`^( {0,3}${t})((?:[\t ][^\\\\n]*)?(?:\\\\n|$))`), nextBulletRegex: (t) => new RegExp(`^ {0,${Math.min(3, t - 1)}}(?:[*+-]|\\\\d{1,9}[.)])((?:[ \t][^\\\\n]*)?(?:\\\\n|$))`), hrRegex: (t) => new RegExp(`^ {0,${Math.min(3, t - 1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\\\* *){3,})(?:\\\\n+|$)`), fencesBeginRegex: (t) => new RegExp(`^ {0,${Math.min(3, t - 1)}}(?:\\`\\`\\`|~~~)`), headingBeginRegex: (t) => new RegExp(`^ {0,${Math.min(3, t - 1)}}#`), htmlBeginRegex: (t) => new RegExp(`^ {0,${Math.min(3, t - 1)}}<(?:[a-z].*>|!--)`, \"i\"), blockquoteBeginRegex: (t) => new RegExp(`^ {0,${Math.min(3, t - 1)}}>`) }, Ga = /^(?:[ \\t]*(?:\\n|$))+/, Ka = /^((?: {4}| {0,3}\\t)[^\\n]+(?:\\n(?:[ \\t]*(?:\\n|$))*)?)+/, Za = /^ {0,3}(`{3,}(?=[^`\\n]*(?:\\n|$))|~{3,})([^\\n]*)(?:\\n|$)(?:|([\\s\\S]*?)(?:\\n|$))(?: {0,3}\\1[~`]* *(?=\\n|$)|$)/, rt = /^ {0,3}((?:-[\\t ]*){3,}|(?:_[ \\t]*){3,}|(?:\\*[ \\t]*){3,})(?:\\n+|$)/, Xa = /^ {0,3}(#{1,6})(?=\\s|$)(.*)(?:\\n+|$)/, Sn = / {0,3}(?:[*+-]|\\d{1,9}[.)])/, Ei = /^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\\n(?!\\s*?\\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\\n {0,3}(=+|-+) *(?:\\n+|$)/, Pi = b(Ei).replace(/bull/g, Sn).replace(/blockCode/g, /(?: {4}| {0,3}\\t)/).replace(/fences/g, / {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g, / {0,3}>/).replace(/heading/g, / {0,3}#{1,6}/).replace(/html/g, / {0,3}<[^\\n>]+>\\n/).replace(/\\|table/g, \"\").getRegex(), Ya = b(Ei).replace(/bull/g, Sn).replace(/blockCode/g, /(?: {4}| {0,3}\\t)/).replace(/fences/g, / {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g, / {0,3}>/).replace(/heading/g, / {0,3}#{1,6}/).replace(/html/g, / {0,3}<[^\\n>]+>\\n/).replace(/table/g, / {0,3}\\|?(?:[:\\- ]*\\|)+[\\:\\- ]*\\n/).getRegex(), jn = /^([^\\n]+(?:\\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\\n)[^\\n]+)*)/, el = /^[^\\n]+/, Cn = /(?!\\s*\\])(?:\\\\[\\s\\S]|[^\\[\\]\\\\])+/, tl = b(/^ {0,3}\\[(label)\\]: *(?:\\n[ \\t]*)?([^<\\s][^\\s]*|<.*?>)(?:(?: +(?:\\n[ \\t]*)?| *\\n[ \\t]*)(title))? *(?:\\n+|$)/).replace(\"label\", Cn).replace(\"title\", /(?:\"(?:\\\\\"?|[^\"\\\\])*\"|'[^'\\n]*(?:\\n[^'\\n]+)*\\n?'|\\([^()]*\\))/).getRegex(), nl = b(/^(bull)([ \\t][^\\n]+?)?(?:\\n|$)/).replace(/bull/g, Sn).getRegex(), $t = \"address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul\", Rn = /<!--(?:-?>|[\\s\\S]*?(?:-->|$))/, rl = b(\"^ {0,3}(?:<(script|pre|style|textarea)[\\\\s>][\\\\s\\\\S]*?(?:</\\\\1>[^\\\\n]*\\\\n+|$)|comment[^\\\\n]*(\\\\n+|$)|<\\\\?[\\\\s\\\\S]*?(?:\\\\?>\\\\n*|$)|<![A-Z][\\\\s\\\\S]*?(?:>\\\\n*|$)|<!\\\\[CDATA\\\\[[\\\\s\\\\S]*?(?:\\\\]\\\\]>\\\\n*|$)|</?(tag)(?: +|\\\\n|/?>)[\\\\s\\\\S]*?(?:(?:\\\\n[ \t]*)+\\\\n|$)|<(?!script|pre|style|textarea)([a-z][\\\\w-]*)(?:attribute)*? */?>(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:(?:\\\\n[ \t]*)+\\\\n|$)|</(?!script|pre|style|textarea)[a-z][\\\\w-]*\\\\s*>(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:(?:\\\\n[ \t]*)+\\\\n|$))\", \"i\").replace(\"comment\", Rn).replace(\"tag\", $t).replace(\"attribute\", / +[a-zA-Z:_][\\w.:-]*(?: *= *\"[^\"\\n]*\"| *= *'[^'\\n]*'| *= *[^\\s\"'=<>`]+)?/).getRegex(), qi = b(jn).replace(\"hr\", rt).replace(\"heading\", \" {0,3}#{1,6}(?:\\\\s|$)\").replace(\"|lheading\", \"\").replace(\"|table\", \"\").replace(\"blockquote\", \" {0,3}>\").replace(\"fences\", \" {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n\").replace(\"list\", \" {0,3}(?:[*+-]|1[.)])[ \\\\t]\").replace(\"html\", \"</?(?:tag)(?: +|\\\\n|/?>)|<(?:script|pre|style|textarea|!--)\").replace(\"tag\", $t).getRegex(), il = b(/^( {0,3}> ?(paragraph|[^\\n]*)(?:\\n|$))+/).replace(\"paragraph\", qi).getRegex(), Tn = { blockquote: il, code: Ka, def: tl, fences: Za, heading: Xa, hr: rt, html: rl, lheading: Pi, list: nl, newline: Ga, paragraph: qi, table: ue, text: el }, xr = b(\"^ *([^\\\\n ].*)\\\\n {0,3}((?:\\\\| *)?:?-+:? *(?:\\\\| *:?-+:? *)*(?:\\\\| *)?)(?:\\\\n((?:(?! *\\\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\\\n|$))*)\\\\n*|$)\").replace(\"hr\", rt).replace(\"heading\", \" {0,3}#{1,6}(?:\\\\s|$)\").replace(\"blockquote\", \" {0,3}>\").replace(\"code\", \"(?: {4}| {0,3}\t)[^\\\\n]\").replace(\"fences\", \" {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n\").replace(\"list\", \" {0,3}(?:[*+-]|1[.)])[ \\\\t]\").replace(\"html\", \"</?(?:tag)(?: +|\\\\n|/?>)|<(?:script|pre|style|textarea|!--)\").replace(\"tag\", $t).getRegex(), sl = { ...Tn, lheading: Ya, table: xr, paragraph: b(jn).replace(\"hr\", rt).replace(\"heading\", \" {0,3}#{1,6}(?:\\\\s|$)\").replace(\"|lheading\", \"\").replace(\"table\", xr).replace(\"blockquote\", \" {0,3}>\").replace(\"fences\", \" {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n\").replace(\"list\", \" {0,3}(?:[*+-]|1[.)])[ \\\\t]\").replace(\"html\", \"</?(?:tag)(?: +|\\\\n|/?>)|<(?:script|pre|style|textarea|!--)\").replace(\"tag\", $t).getRegex() }, ol = { ...Tn, html: b(`^ *(?:comment *(?:\\\\n|\\\\s*$)|<(tag)[\\\\s\\\\S]+?</\\\\1> *(?:\\\\n{2,}|\\\\s*$)|<tag(?:\"[^\"]*\"|'[^']*'|\\\\s[^'\"/>\\\\s]*)*?/?> *(?:\\\\n{2,}|\\\\s*$))`).replace(\"comment\", Rn).replace(/tag/g, \"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\\\b)\\\\w+(?!:|[^\\\\w\\\\s@]*@)\\\\b\").getRegex(), def: /^ *\\[([^\\]]+)\\]: *<?([^\\s>]+)>?(?: +([\"(][^\\n]+[\")]))? *(?:\\n+|$)/, heading: /^(#{1,6})(.*)(?:\\n+|$)/, fences: ue, lheading: /^(.+?)\\n {0,3}(=+|-+) *(?:\\n+|$)/, paragraph: b(jn).replace(\"hr\", rt).replace(\"heading\", ` *#{1,6} *[^\n]`).replace(\"lheading\", Pi).replace(\"|table\", \"\").replace(\"blockquote\", \" {0,3}>\").replace(\"|fences\", \"\").replace(\"|list\", \"\").replace(\"|html\", \"\").replace(\"|tag\", \"\").getRegex() }, al = /^\\\\([!\"#$%&'()*+,\\-./:;<=>?@\\[\\]\\\\^_`{|}~])/, ll = /^(`+)([^`]|[^`][\\s\\S]*?[^`])\\1(?!`)/, Mi = /^( {2,}|\\\\)\\n(?!\\s*$)/, cl = /^(`+|[^`])(?:(?= {2,}\\n)|[\\s\\S]*?(?:(?=[\\\\<!\\[`*_]|\\b_|$)|[^ ](?= {2,}\\n)))/, Pe = /[\\p{P}\\p{S}]/u, At = /[\\s\\p{P}\\p{S}]/u, $n = /[^\\s\\p{P}\\p{S}]/u, ul = b(/^((?![*_])punctSpace)/, \"u\").replace(/punctSpace/g, At).getRegex(), Li = /(?!~)[\\p{P}\\p{S}]/u, hl = /(?!~)[\\s\\p{P}\\p{S}]/u, dl = /(?:[^\\s\\p{P}\\p{S}]|~)/u, fl = b(/link|precode-code|html/, \"g\").replace(\"link\", /\\[(?:[^\\[\\]`]|(?<a>`+)[^`]+\\k<a>(?!`))*?\\]\\((?:\\\\[\\s\\S]|[^\\\\\\(\\)]|\\((?:\\\\[\\s\\S]|[^\\\\\\(\\)])*\\))*\\)/).replace(\"precode-\", Ja ? \"(?<!`)()\" : \"(^^|[^`])\").replace(\"code\", /(?<b>`+)[^`]+\\k<b>(?!`)/).replace(\"html\", /<(?! )[^<>]*?>/).getRegex(), Oi = /^(?:\\*+(?:((?!\\*)punct)|([^\\s*]))?)|^_+(?:((?!_)punct)|([^\\s_]))?/, pl = b(Oi, \"u\").replace(/punct/g, Pe).getRegex(), gl = b(Oi, \"u\").replace(/punct/g, Li).getRegex(), Ni = \"^[^_*]*?__[^_*]*?\\\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\\\*)punct(\\\\*+)(?=[\\\\s]|$)|notPunctSpace(\\\\*+)(?!\\\\*)(?=punctSpace|$)|(?!\\\\*)punctSpace(\\\\*+)(?=notPunctSpace)|[\\\\s](\\\\*+)(?!\\\\*)(?=punct)|(?!\\\\*)punct(\\\\*+)(?!\\\\*)(?=punct)|notPunctSpace(\\\\*+)(?=notPunctSpace)\", ml = b(Ni, \"gu\").replace(/notPunctSpace/g, $n).replace(/punctSpace/g, At).replace(/punct/g, Pe).getRegex(), xl = b(Ni, \"gu\").replace(/notPunctSpace/g, dl).replace(/punctSpace/g, hl).replace(/punct/g, Li).getRegex(), bl = b(\"^[^_*]*?\\\\*\\\\*[^_*]*?_[^_*]*?(?=\\\\*\\\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)\", \"gu\").replace(/notPunctSpace/g, $n).replace(/punctSpace/g, At).replace(/punct/g, Pe).getRegex(), yl = b(/^~~?(?:((?!~)punct)|[^\\s~])/, \"u\").replace(/punct/g, Pe).getRegex(), vl = \"^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)\", _l = b(vl, \"gu\").replace(/notPunctSpace/g, $n).replace(/punctSpace/g, At).replace(/punct/g, Pe).getRegex(), wl = b(/\\\\(punct)/, \"gu\").replace(/punct/g, Pe).getRegex(), kl = b(/^<(scheme:[^\\s\\x00-\\x1f<>]*|email)>/).replace(\"scheme\", /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace(\"email\", /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(), Sl = b(Rn).replace(\"(?:-->|$)\", \"-->\").getRegex(), jl = b(\"^comment|^</[a-zA-Z][\\\\w:-]*\\\\s*>|^<[a-zA-Z][\\\\w-]*(?:attribute)*?\\\\s*/?>|^<\\\\?[\\\\s\\\\S]*?\\\\?>|^<![a-zA-Z]+\\\\s[\\\\s\\\\S]*?>|^<!\\\\[CDATA\\\\[[\\\\s\\\\S]*?\\\\]\\\\]>\").replace(\"comment\", Sl).replace(\"attribute\", /\\s+[a-zA-Z:_][\\w.:-]*(?:\\s*=\\s*\"[^\"]*\"|\\s*=\\s*'[^']*'|\\s*=\\s*[^\\s\"'=<>`]+)?/).getRegex(), vt = /(?:\\[(?:\\\\[\\s\\S]|[^\\[\\]\\\\])*\\]|\\\\[\\s\\S]|`+(?!`)[^`]*?`+(?!`)|``+(?=\\])|[^\\[\\]\\\\`])*?/, Cl = b(/^!?\\[(label)\\]\\(\\s*(href)(?:(?:[ \\t]+(?:\\n[ \\t]*)?|\\n[ \\t]*)(title))?\\s*\\)/).replace(\"label\", vt).replace(\"href\", /<(?:\\\\.|[^\\n<>\\\\])+>|[^ \\t\\n\\x00-\\x1f]*/).replace(\"title\", /\"(?:\\\\\"?|[^\"\\\\])*\"|'(?:\\\\'?|[^'\\\\])*'|\\((?:\\\\\\)?|[^)\\\\])*\\)/).getRegex(), zi = b(/^!?\\[(label)\\]\\[(ref)\\]/).replace(\"label\", vt).replace(\"ref\", Cn).getRegex(), Qi = b(/^!?\\[(ref)\\](?:\\[\\])?/).replace(\"ref\", Cn).getRegex(), Rl = b(\"reflink|nolink(?!\\\\()\", \"g\").replace(\"reflink\", zi).replace(\"nolink\", Qi).getRegex(), br = /[hH][tT][tT][pP][sS]?|[fF][tT][pP]/, An = { _backpedal: ue, anyPunctuation: wl, autolink: kl, blockSkip: fl, br: Mi, code: ll, del: ue, delLDelim: ue, delRDelim: ue, emStrongLDelim: pl, emStrongRDelimAst: ml, emStrongRDelimUnd: bl, escape: al, link: Cl, nolink: Qi, punctuation: ul, reflink: zi, reflinkSearch: Rl, tag: jl, text: cl, url: ue }, Tl = { ...An, link: b(/^!?\\[(label)\\]\\((.*?)\\)/).replace(\"label\", vt).getRegex(), reflink: b(/^!?\\[(label)\\]\\s*\\[([^\\]]*)\\]/).replace(\"label\", vt).getRegex() }, rn = { ...An, emStrongRDelimAst: xl, emStrongLDelim: gl, delLDelim: yl, delRDelim: _l, url: b(/^((?:protocol):\\/\\/|www\\.)(?:[a-zA-Z0-9\\-]+\\.?)+[^\\s<]*|^email/).replace(\"protocol\", br).replace(\"email\", /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(), _backpedal: /(?:[^?!.,:;*_'\"~()&]+|\\([^)]*\\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'\"~)]+(?!$))+/, del: /^(~~?)(?=[^\\s~])((?:\\\\[\\s\\S]|[^\\\\])*?(?:\\\\[\\s\\S]|[^\\s~\\\\]))\\1(?=[^~]|$)/, text: b(/^([`~]+|[^`~])(?:(?= {2,}\\n)|(?=[a-zA-Z0-9.!#$%&'*+\\/=?_`{\\|}~-]+@)|[\\s\\S]*?(?:(?=[\\\\<!\\[`*~_]|\\b_|protocol:\\/\\/|www\\.|$)|[^ ](?= {2,}\\n)|[^a-zA-Z0-9.!#$%&'*+\\/=?_`{\\|}~-](?=[a-zA-Z0-9.!#$%&'*+\\/=?_`{\\|}~-]+@)))/).replace(\"protocol\", br).getRegex() }, $l = { ...rn, br: b(Mi).replace(\"{2,}\", \"*\").getRegex(), text: b(rn.text).replace(\"\\\\b_\", \"\\\\b_| {2,}\\\\n\").replace(/\\{2,\\}/g, \"*\").getRegex() }, ct = { normal: Tn, gfm: sl, pedantic: ol }, Me = { normal: An, gfm: rn, breaks: $l, pedantic: Tl }, Al = { \"&\": \"&amp;\", \"<\": \"&lt;\", \">\": \"&gt;\", '\"': \"&quot;\", \"'\": \"&#39;\" }, yr = (t) => Al[t];\nfunction Z(t, e) {\n if (e) {\n if (I.escapeTest.test(t)) return t.replace(I.escapeReplace, yr);\n } else if (I.escapeTestNoEncode.test(t)) return t.replace(I.escapeReplaceNoEncode, yr);\n return t;\n}\nfunction vr(t) {\n try {\n t = encodeURI(t).replace(I.percentDecode, \"%\");\n } catch {\n return null;\n }\n return t;\n}\nfunction _r(t, e) {\n let n = t.replace(I.findPipe, (s, o, l) => {\n let a = !1, h = o;\n for (; --h >= 0 && l[h] === \"\\\\\"; ) a = !a;\n return a ? \"|\" : \" |\";\n }), r = n.split(I.splitPipe), i = 0;\n if (r[0].trim() || r.shift(), r.length > 0 && !r.at(-1)?.trim() && r.pop(), e) if (r.length > e) r.splice(e);\n else for (; r.length < e; ) r.push(\"\");\n for (; i < r.length; i++) r[i] = r[i].trim().replace(I.slashPipe, \"|\");\n return r;\n}\nfunction Le(t, e, n) {\n let r = t.length;\n if (r === 0) return \"\";\n let i = 0;\n for (; i < r && t.charAt(r - i - 1) === e; )\n i++;\n return t.slice(0, r - i);\n}\nfunction Il(t, e) {\n if (t.indexOf(e[1]) === -1) return -1;\n let n = 0;\n for (let r = 0; r < t.length; r++) if (t[r] === \"\\\\\") r++;\n else if (t[r] === e[0]) n++;\n else if (t[r] === e[1] && (n--, n < 0)) return r;\n return n > 0 ? -2 : -1;\n}\nfunction El(t, e = 0) {\n let n = e, r = \"\";\n for (let i of t) if (i === \"\t\") {\n let s = 4 - n % 4;\n r += \" \".repeat(s), n += s;\n } else r += i, n++;\n return r;\n}\nfunction wr(t, e, n, r, i) {\n let s = e.href, o = e.title || null, l = t[1].replace(i.other.outputLinkReplace, \"$1\");\n r.state.inLink = !0;\n let a = { type: t[0].charAt(0) === \"!\" ? \"image\" : \"link\", raw: n, href: s, title: o, text: l, tokens: r.inlineTokens(l) };\n return r.state.inLink = !1, a;\n}\nfunction Pl(t, e, n) {\n let r = t.match(n.other.indentCodeCompensation);\n if (r === null) return e;\n let i = r[1];\n return e.split(`\n`).map((s) => {\n let o = s.match(n.other.beginningSpace);\n if (o === null) return s;\n let [l] = o;\n return l.length >= i.length ? s.slice(i.length) : s;\n }).join(`\n`);\n}\nvar _t = class {\n options;\n rules;\n lexer;\n constructor(t) {\n this.options = t || xe;\n }\n space(t) {\n let e = this.rules.block.newline.exec(t);\n if (e && e[0].length > 0) return { type: \"space\", raw: e[0] };\n }\n code(t) {\n let e = this.rules.block.code.exec(t);\n if (e) {\n let n = e[0].replace(this.rules.other.codeRemoveIndent, \"\");\n return { type: \"code\", raw: e[0], codeBlockStyle: \"indented\", text: this.options.pedantic ? n : Le(n, `\n`) };\n }\n }\n fences(t) {\n let e = this.rules.block.fences.exec(t);\n if (e) {\n let n = e[0], r = Pl(n, e[3] || \"\", this.rules);\n return { type: \"code\", raw: n, lang: e[2] ? e[2].trim().replace(this.rules.inline.anyPunctuation, \"$1\") : e[2], text: r };\n }\n }\n heading(t) {\n let e = this.rules.block.heading.exec(t);\n if (e) {\n let n = e[2].trim();\n if (this.rules.other.endingHash.test(n)) {\n let r = Le(n, \"#\");\n (this.options.pedantic || !r || this.rules.other.endingSpaceChar.test(r)) && (n = r.trim());\n }\n return { type: \"heading\", raw: e[0], depth: e[1].length, text: n, tokens: this.lexer.inline(n) };\n }\n }\n hr(t) {\n let e = this.rules.block.hr.exec(t);\n if (e) return { type: \"hr\", raw: Le(e[0], `\n`) };\n }\n blockquote(t) {\n let e = this.rules.block.blockquote.exec(t);\n if (e) {\n let n = Le(e[0], `\n`).split(`\n`), r = \"\", i = \"\", s = [];\n for (; n.length > 0; ) {\n let o = !1, l = [], a;\n for (a = 0; a < n.length; a++) if (this.rules.other.blockquoteStart.test(n[a])) l.push(n[a]), o = !0;\n else if (!o) l.push(n[a]);\n else break;\n n = n.slice(a);\n let h = l.join(`\n`), d = h.replace(this.rules.other.blockquoteSetextReplace, `\n $1`).replace(this.rules.other.blockquoteSetextReplace2, \"\");\n r = r ? `${r}\n${h}` : h, i = i ? `${i}\n${d}` : d;\n let c = this.lexer.state.top;\n if (this.lexer.state.top = !0, this.lexer.blockTokens(d, s, !0), this.lexer.state.top = c, n.length === 0) break;\n let p = s.at(-1);\n if (p?.type === \"code\") break;\n if (p?.type === \"blockquote\") {\n let f = p, g = f.raw + `\n` + n.join(`\n`), x = this.blockquote(g);\n s[s.length - 1] = x, r = r.substring(0, r.length - f.raw.length) + x.raw, i = i.substring(0, i.length - f.text.length) + x.text;\n break;\n } else if (p?.type === \"list\") {\n let f = p, g = f.raw + `\n` + n.join(`\n`), x = this.list(g);\n s[s.length - 1] = x, r = r.substring(0, r.length - p.raw.length) + x.raw, i = i.substring(0, i.length - f.raw.length) + x.raw, n = g.substring(s.at(-1).raw.length).split(`\n`);\n continue;\n }\n }\n return { type: \"blockquote\", raw: r, tokens: s, text: i };\n }\n }\n list(t) {\n let e = this.rules.block.list.exec(t);\n if (e) {\n let n = e[1].trim(), r = n.length > 1, i = { type: \"list\", raw: \"\", ordered: r, start: r ? +n.slice(0, -1) : \"\", loose: !1, items: [] };\n n = r ? `\\\\d{1,9}\\\\${n.slice(-1)}` : `\\\\${n}`, this.options.pedantic && (n = r ? n : \"[*+-]\");\n let s = this.rules.other.listItemRegex(n), o = !1;\n for (; t; ) {\n let a = !1, h = \"\", d = \"\";\n if (!(e = s.exec(t)) || this.rules.block.hr.test(t)) break;\n h = e[0], t = t.substring(h.length);\n let c = El(e[2].split(`\n`, 1)[0], e[1].length), p = t.split(`\n`, 1)[0], f = !c.trim(), g = 0;\n if (this.options.pedantic ? (g = 2, d = c.trimStart()) : f ? g = e[1].length + 1 : (g = c.search(this.rules.other.nonSpaceChar), g = g > 4 ? 1 : g, d = c.slice(g), g += e[1].length), f && this.rules.other.blankLine.test(p) && (h += p + `\n`, t = t.substring(p.length + 1), a = !0), !a) {\n let x = this.rules.other.nextBulletRegex(g), k = this.rules.other.hrRegex(g), _ = this.rules.other.fencesBeginRegex(g), w = this.rules.other.headingBeginRegex(g), H = this.rules.other.htmlBeginRegex(g), J = this.rules.other.blockquoteBeginRegex(g);\n for (; t; ) {\n let ie = t.split(`\n`, 1)[0], F;\n if (p = ie, this.options.pedantic ? (p = p.replace(this.rules.other.listReplaceNesting, \" \"), F = p) : F = p.replace(this.rules.other.tabCharGlobal, \" \"), _.test(p) || w.test(p) || H.test(p) || J.test(p) || x.test(p) || k.test(p)) break;\n if (F.search(this.rules.other.nonSpaceChar) >= g || !p.trim()) d += `\n` + F.slice(g);\n else {\n if (f || c.replace(this.rules.other.tabCharGlobal, \" \").search(this.rules.other.nonSpaceChar) >= 4 || _.test(c) || w.test(c) || k.test(c)) break;\n d += `\n` + p;\n }\n f = !p.trim(), h += ie + `\n`, t = t.substring(ie.length + 1), c = F.slice(g);\n }\n }\n i.loose || (o ? i.loose = !0 : this.rules.other.doubleBlankLine.test(h) && (o = !0)), i.items.push({ type: \"list_item\", raw: h, task: !!this.options.gfm && this.rules.other.listIsTask.test(d), loose: !1, text: d, tokens: [] }), i.raw += h;\n }\n let l = i.items.at(-1);\n if (l) l.raw = l.raw.trimEnd(), l.text = l.text.trimEnd();\n else return;\n i.raw = i.raw.trimEnd();\n for (let a of i.items) {\n if (this.lexer.state.top = !1, a.tokens = this.lexer.blockTokens(a.text, []), a.task) {\n if (a.text = a.text.replace(this.rules.other.listReplaceTask, \"\"), a.tokens[0]?.type === \"text\" || a.tokens[0]?.type === \"paragraph\") {\n a.tokens[0].raw = a.tokens[0].raw.replace(this.rules.other.listReplaceTask, \"\"), a.tokens[0].text = a.tokens[0].text.replace(this.rules.other.listReplaceTask, \"\");\n for (let d = this.lexer.inlineQueue.length - 1; d >= 0; d--) if (this.rules.other.listIsTask.test(this.lexer.inlineQueue[d].src)) {\n this.lexer.inlineQueue[d].src = this.lexer.inlineQueue[d].src.replace(this.rules.other.listReplaceTask, \"\");\n break;\n }\n }\n let h = this.rules.other.listTaskCheckbox.exec(a.raw);\n if (h) {\n let d = { type: \"checkbox\", raw: h[0] + \" \", checked: h[0] !== \"[ ]\" };\n a.checked = d.checked, i.loose ? a.tokens[0] && [\"paragraph\", \"text\"].includes(a.tokens[0].type) && \"tokens\" in a.tokens[0] && a.tokens[0].tokens ? (a.tokens[0].raw = d.raw + a.tokens[0].raw, a.tokens[0].text = d.raw + a.tokens[0].text, a.tokens[0].tokens.unshift(d)) : a.tokens.unshift({ type: \"paragraph\", raw: d.raw, text: d.raw, tokens: [d] }) : a.tokens.unshift(d);\n }\n }\n if (!i.loose) {\n let h = a.tokens.filter((c) => c.type === \"space\"), d = h.length > 0 && h.some((c) => this.rules.other.anyLine.test(c.raw));\n i.loose = d;\n }\n }\n if (i.loose) for (let a of i.items) {\n a.loose = !0;\n for (let h of a.tokens) h.type === \"text\" && (h.type = \"paragraph\");\n }\n return i;\n }\n }\n html(t) {\n let e = this.rules.block.html.exec(t);\n if (e) return { type: \"html\", block: !0, raw: e[0], pre: e[1] === \"pre\" || e[1] === \"script\" || e[1] === \"style\", text: e[0] };\n }\n def(t) {\n let e = this.rules.block.def.exec(t);\n if (e) {\n let n = e[1].toLowerCase().replace(this.rules.other.multipleSpaceGlobal, \" \"), r = e[2] ? e[2].replace(this.rules.other.hrefBrackets, \"$1\").replace(this.rules.inline.anyPunctuation, \"$1\") : \"\", i = e[3] ? e[3].substring(1, e[3].length - 1).replace(this.rules.inline.anyPunctuation, \"$1\") : e[3];\n return { type: \"def\", tag: n, raw: e[0], href: r, title: i };\n }\n }\n table(t) {\n let e = this.rules.block.table.exec(t);\n if (!e || !this.rules.other.tableDelimiter.test(e[2])) return;\n let n = _r(e[1]), r = e[2].replace(this.rules.other.tableAlignChars, \"\").split(\"|\"), i = e[3]?.trim() ? e[3].replace(this.rules.other.tableRowBlankLine, \"\").split(`\n`) : [], s = { type: \"table\", raw: e[0], header: [], align: [], rows: [] };\n if (n.length === r.length) {\n for (let o of r) this.rules.other.tableAlignRight.test(o) ? s.align.push(\"right\") : this.rules.other.tableAlignCenter.test(o) ? s.align.push(\"center\") : this.rules.other.tableAlignLeft.test(o) ? s.align.push(\"left\") : s.align.push(null);\n for (let o = 0; o < n.length; o++) s.header.push({ text: n[o], tokens: this.lexer.inline(n[o]), header: !0, align: s.align[o] });\n for (let o of i) s.rows.push(_r(o, s.header.length).map((l, a) => ({ text: l, tokens: this.lexer.inline(l), header: !1, align: s.align[a] })));\n return s;\n }\n }\n lheading(t) {\n let e = this.rules.block.lheading.exec(t);\n if (e) {\n let n = e[1].trim();\n return { type: \"heading\", raw: e[0], depth: e[2].charAt(0) === \"=\" ? 1 : 2, text: n, tokens: this.lexer.inline(n) };\n }\n }\n paragraph(t) {\n let e = this.rules.block.paragraph.exec(t);\n if (e) {\n let n = e[1].charAt(e[1].length - 1) === `\n` ? e[1].slice(0, -1) : e[1];\n return { type: \"paragraph\", raw: e[0], text: n, tokens: this.lexer.inline(n) };\n }\n }\n text(t) {\n let e = this.rules.block.text.exec(t);\n if (e) return { type: \"text\", raw: e[0], text: e[0], tokens: this.lexer.inline(e[0]) };\n }\n escape(t) {\n let e = this.rules.inline.escape.exec(t);\n if (e) return { type: \"escape\", raw: e[0], text: e[1] };\n }\n tag(t) {\n let e = this.rules.inline.tag.exec(t);\n if (e) return !this.lexer.state.inLink && this.rules.other.startATag.test(e[0]) ? this.lexer.state.inLink = !0 : this.lexer.state.inLink && this.rules.other.endATag.test(e[0]) && (this.lexer.state.inLink = !1), !this.lexer.state.inRawBlock && this.rules.other.startPreScriptTag.test(e[0]) ? this.lexer.state.inRawBlock = !0 : this.lexer.state.inRawBlock && this.rules.other.endPreScriptTag.test(e[0]) && (this.lexer.state.inRawBlock = !1), { type: \"html\", raw: e[0], inLink: this.lexer.state.inLink, inRawBlock: this.lexer.state.inRawBlock, block: !1, text: e[0] };\n }\n link(t) {\n let e = this.rules.inline.link.exec(t);\n if (e) {\n let n = e[2].trim();\n if (!this.options.pedantic && this.rules.other.startAngleBracket.test(n)) {\n if (!this.rules.other.endAngleBracket.test(n)) return;\n let s = Le(n.slice(0, -1), \"\\\\\");\n if ((n.length - s.length) % 2 === 0) return;\n } else {\n let s = Il(e[2], \"()\");\n if (s === -2) return;\n if (s > -1) {\n let o = (e[0].indexOf(\"!\") === 0 ? 5 : 4) + e[1].length + s;\n e[2] = e[2].substring(0, s), e[0] = e[0].substring(0, o).trim(), e[3] = \"\";\n }\n }\n let r = e[2], i = \"\";\n if (this.options.pedantic) {\n let s = this.rules.other.pedanticHrefTitle.exec(r);\n s && (r = s[1], i = s[3]);\n } else i = e[3] ? e[3].slice(1, -1) : \"\";\n return r = r.trim(), this.rules.other.startAngleBracket.test(r) && (this.options.pedantic && !this.rules.other.endAngleBracket.test(n) ? r = r.slice(1) : r = r.slice(1, -1)), wr(e, { href: r && r.replace(this.rules.inline.anyPunctuation, \"$1\"), title: i && i.replace(this.rules.inline.anyPunctuation, \"$1\") }, e[0], this.lexer, this.rules);\n }\n }\n reflink(t, e) {\n let n;\n if ((n = this.rules.inline.reflink.exec(t)) || (n = this.rules.inline.nolink.exec(t))) {\n let r = (n[2] || n[1]).replace(this.rules.other.multipleSpaceGlobal, \" \"), i = e[r.toLowerCase()];\n if (!i) {\n let s = n[0].charAt(0);\n return { type: \"text\", raw: s, text: s };\n }\n return wr(n, i, n[0], this.lexer, this.rules);\n }\n }\n emStrong(t, e, n = \"\") {\n let r = this.rules.inline.emStrongLDelim.exec(t);\n if (!(!r || !r[1] && !r[2] && !r[3] && !r[4] || r[4] && n.match(this.rules.other.unicodeAlphaNumeric)) && (!(r[1] || r[3]) || !n || this.rules.inline.punctuation.exec(n))) {\n let i = [...r[0]].length - 1, s, o, l = i, a = 0, h = r[0][0] === \"*\" ? this.rules.inline.emStrongRDelimAst : this.rules.inline.emStrongRDelimUnd;\n for (h.lastIndex = 0, e = e.slice(-1 * t.length + i); (r = h.exec(e)) != null; ) {\n if (s = r[1] || r[2] || r[3] || r[4] || r[5] || r[6], !s) continue;\n if (o = [...s].length, r[3] || r[4]) {\n l += o;\n continue;\n } else if ((r[5] || r[6]) && i % 3 && !((i + o) % 3)) {\n a += o;\n continue;\n }\n if (l -= o, l > 0) continue;\n o = Math.min(o, o + l + a);\n let d = [...r[0]][0].length, c = t.slice(0, i + r.index + d + o);\n if (Math.min(i, o) % 2) {\n let f = c.slice(1, -1);\n return { type: \"em\", raw: c, text: f, tokens: this.lexer.inlineTokens(f) };\n }\n let p = c.slice(2, -2);\n return { type: \"strong\", raw: c, text: p, tokens: this.lexer.inlineTokens(p) };\n }\n }\n }\n codespan(t) {\n let e = this.rules.inline.code.exec(t);\n if (e) {\n let n = e[2].replace(this.rules.other.newLineCharGlobal, \" \"), r = this.rules.other.nonSpaceChar.test(n), i = this.rules.other.startingSpaceChar.test(n) && this.rules.other.endingSpaceChar.test(n);\n return r && i && (n = n.substring(1, n.length - 1)), { type: \"codespan\", raw: e[0], text: n };\n }\n }\n br(t) {\n let e = this.rules.inline.br.exec(t);\n if (e) return { type: \"br\", raw: e[0] };\n }\n del(t, e, n = \"\") {\n let r = this.rules.inline.delLDelim.exec(t);\n if (r && (!r[1] || !n || this.rules.inline.punctuation.exec(n))) {\n let i = [...r[0]].length - 1, s, o, l = i, a = this.rules.inline.delRDelim;\n for (a.lastIndex = 0, e = e.slice(-1 * t.length + i); (r = a.exec(e)) != null; ) {\n if (s = r[1] || r[2] || r[3] || r[4] || r[5] || r[6], !s || (o = [...s].length, o !== i)) continue;\n if (r[3] || r[4]) {\n l += o;\n continue;\n }\n if (l -= o, l > 0) continue;\n o = Math.min(o, o + l);\n let h = [...r[0]][0].length, d = t.slice(0, i + r.index + h + o), c = d.slice(i, -i);\n return { type: \"del\", raw: d, text: c, tokens: this.lexer.inlineTokens(c) };\n }\n }\n }\n autolink(t) {\n let e = this.rules.inline.autolink.exec(t);\n if (e) {\n let n, r;\n return e[2] === \"@\" ? (n = e[1], r = \"mailto:\" + n) : (n = e[1], r = n), { type: \"link\", raw: e[0], text: n, href: r, tokens: [{ type: \"text\", raw: n, text: n }] };\n }\n }\n url(t) {\n let e;\n if (e = this.rules.inline.url.exec(t)) {\n let n, r;\n if (e[2] === \"@\") n = e[0], r = \"mailto:\" + n;\n else {\n let i;\n do\n i = e[0], e[0] = this.rules.inline._backpedal.exec(e[0])?.[0] ?? \"\";\n while (i !== e[0]);\n n = e[0], e[1] === \"www.\" ? r = \"http://\" + e[0] : r = e[0];\n }\n return { type: \"link\", raw: e[0], text: n, href: r, tokens: [{ type: \"text\", raw: n, text: n }] };\n }\n }\n inlineText(t) {\n let e = this.rules.inline.text.exec(t);\n if (e) {\n let n = this.lexer.state.inRawBlock;\n return { type: \"text\", raw: e[0], text: e[0], escaped: n };\n }\n }\n}, D = class sn {\n tokens;\n options;\n state;\n inlineQueue;\n tokenizer;\n constructor(e) {\n this.tokens = [], this.tokens.links = /* @__PURE__ */ Object.create(null), this.options = e || xe, this.options.tokenizer = this.options.tokenizer || new _t(), this.tokenizer = this.options.tokenizer, this.tokenizer.options = this.options, this.tokenizer.lexer = this, this.inlineQueue = [], this.state = { inLink: !1, inRawBlock: !1, top: !0 };\n let n = { other: I, block: ct.normal, inline: Me.normal };\n this.options.pedantic ? (n.block = ct.pedantic, n.inline = Me.pedantic) : this.options.gfm && (n.block = ct.gfm, this.options.breaks ? n.inline = Me.breaks : n.inline = Me.gfm), this.tokenizer.rules = n;\n }\n static get rules() {\n return { block: ct, inline: Me };\n }\n static lex(e, n) {\n return new sn(n).lex(e);\n }\n static lexInline(e, n) {\n return new sn(n).inlineTokens(e);\n }\n lex(e) {\n e = e.replace(I.carriageReturn, `\n`), this.blockTokens(e, this.tokens);\n for (let n = 0; n < this.inlineQueue.length; n++) {\n let r = this.inlineQueue[n];\n this.inlineTokens(r.src, r.tokens);\n }\n return this.inlineQueue = [], this.tokens;\n }\n blockTokens(e, n = [], r = !1) {\n for (this.tokenizer.lexer = this, this.options.pedantic && (e = e.replace(I.tabCharGlobal, \" \").replace(I.spaceLine, \"\")); e; ) {\n let i;\n if (this.options.extensions?.block?.some((o) => (i = o.call({ lexer: this }, e, n)) ? (e = e.substring(i.raw.length), n.push(i), !0) : !1)) continue;\n if (i = this.tokenizer.space(e)) {\n e = e.substring(i.raw.length);\n let o = n.at(-1);\n i.raw.length === 1 && o !== void 0 ? o.raw += `\n` : n.push(i);\n continue;\n }\n if (i = this.tokenizer.code(e)) {\n e = e.substring(i.raw.length);\n let o = n.at(-1);\n o?.type === \"paragraph\" || o?.type === \"text\" ? (o.raw += (o.raw.endsWith(`\n`) ? \"\" : `\n`) + i.raw, o.text += `\n` + i.text, this.inlineQueue.at(-1).src = o.text) : n.push(i);\n continue;\n }\n if (i = this.tokenizer.fences(e)) {\n e = e.substring(i.raw.length), n.push(i);\n continue;\n }\n if (i = this.tokenizer.heading(e)) {\n e = e.substring(i.raw.length), n.push(i);\n continue;\n }\n if (i = this.tokenizer.hr(e)) {\n e = e.substring(i.raw.length), n.push(i);\n continue;\n }\n if (i = this.tokenizer.blockquote(e)) {\n e = e.substring(i.raw.length), n.push(i);\n continue;\n }\n if (i = this.tokenizer.list(e)) {\n e = e.substring(i.raw.length), n.push(i);\n continue;\n }\n if (i = this.tokenizer.html(e)) {\n e = e.substring(i.raw.length), n.push(i);\n continue;\n }\n if (i = this.tokenizer.def(e)) {\n e = e.substring(i.raw.length);\n let o = n.at(-1);\n o?.type === \"paragraph\" || o?.type === \"text\" ? (o.raw += (o.raw.endsWith(`\n`) ? \"\" : `\n`) + i.raw, o.text += `\n` + i.raw, this.inlineQueue.at(-1).src = o.text) : this.tokens.links[i.tag] || (this.tokens.links[i.tag] = { href: i.href, title: i.title }, n.push(i));\n continue;\n }\n if (i = this.tokenizer.table(e)) {\n e = e.substring(i.raw.length), n.push(i);\n continue;\n }\n if (i = this.tokenizer.lheading(e)) {\n e = e.substring(i.raw.length), n.push(i);\n continue;\n }\n let s = e;\n if (this.options.extensions?.startBlock) {\n let o = 1 / 0, l = e.slice(1), a;\n this.options.extensions.startBlock.forEach((h) => {\n a = h.call({ lexer: this }, l), typeof a == \"number\" && a >= 0 && (o = Math.min(o, a));\n }), o < 1 / 0 && o >= 0 && (s = e.substring(0, o + 1));\n }\n if (this.state.top && (i = this.tokenizer.paragraph(s))) {\n let o = n.at(-1);\n r && o?.type === \"paragraph\" ? (o.raw += (o.raw.endsWith(`\n`) ? \"\" : `\n`) + i.raw, o.text += `\n` + i.text, this.inlineQueue.pop(), this.inlineQueue.at(-1).src = o.text) : n.push(i), r = s.length !== e.length, e = e.substring(i.raw.length);\n continue;\n }\n if (i = this.tokenizer.text(e)) {\n e = e.substring(i.raw.length);\n let o = n.at(-1);\n o?.type === \"text\" ? (o.raw += (o.raw.endsWith(`\n`) ? \"\" : `\n`) + i.raw, o.text += `\n` + i.text, this.inlineQueue.pop(), this.inlineQueue.at(-1).src = o.text) : n.push(i);\n continue;\n }\n if (e) {\n let o = \"Infinite loop on byte: \" + e.charCodeAt(0);\n if (this.options.silent) {\n console.error(o);\n break;\n } else throw new Error(o);\n }\n }\n return this.state.top = !0, n;\n }\n inline(e, n = []) {\n return this.inlineQueue.push({ src: e, tokens: n }), n;\n }\n inlineTokens(e, n = []) {\n this.tokenizer.lexer = this;\n let r = e, i = null;\n if (this.tokens.links) {\n let a = Object.keys(this.tokens.links);\n if (a.length > 0) for (; (i = this.tokenizer.rules.inline.reflinkSearch.exec(r)) != null; ) a.includes(i[0].slice(i[0].lastIndexOf(\"[\") + 1, -1)) && (r = r.slice(0, i.index) + \"[\" + \"a\".repeat(i[0].length - 2) + \"]\" + r.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex));\n }\n for (; (i = this.tokenizer.rules.inline.anyPunctuation.exec(r)) != null; ) r = r.slice(0, i.index) + \"++\" + r.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);\n let s;\n for (; (i = this.tokenizer.rules.inline.blockSkip.exec(r)) != null; ) s = i[2] ? i[2].length : 0, r = r.slice(0, i.index + s) + \"[\" + \"a\".repeat(i[0].length - s - 2) + \"]\" + r.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);\n r = this.options.hooks?.emStrongMask?.call({ lexer: this }, r) ?? r;\n let o = !1, l = \"\";\n for (; e; ) {\n o || (l = \"\"), o = !1;\n let a;\n if (this.options.extensions?.inline?.some((d) => (a = d.call({ lexer: this }, e, n)) ? (e = e.substring(a.raw.length), n.push(a), !0) : !1)) continue;\n if (a = this.tokenizer.escape(e)) {\n e = e.substring(a.raw.length), n.push(a);\n continue;\n }\n if (a = this.tokenizer.tag(e)) {\n e = e.substring(a.raw.length), n.push(a);\n continue;\n }\n if (a = this.tokenizer.link(e)) {\n e = e.substring(a.raw.length), n.push(a);\n continue;\n }\n if (a = this.tokenizer.reflink(e, this.tokens.links)) {\n e = e.substring(a.raw.length);\n let d = n.at(-1);\n a.type === \"text\" && d?.type === \"text\" ? (d.raw += a.raw, d.text += a.text) : n.push(a);\n continue;\n }\n if (a = this.tokenizer.emStrong(e, r, l)) {\n e = e.substring(a.raw.length), n.push(a);\n continue;\n }\n if (a = this.tokenizer.codespan(e)) {\n e = e.substring(a.raw.length), n.push(a);\n continue;\n }\n if (a = this.tokenizer.br(e)) {\n e = e.substring(a.raw.length), n.push(a);\n continue;\n }\n if (a = this.tokenizer.del(e, r, l)) {\n e = e.substring(a.raw.length), n.push(a);\n continue;\n }\n if (a = this.tokenizer.autolink(e)) {\n e = e.substring(a.raw.length), n.push(a);\n continue;\n }\n if (!this.state.inLink && (a = this.tokenizer.url(e))) {\n e = e.substring(a.raw.length), n.push(a);\n continue;\n }\n let h = e;\n if (this.options.extensions?.startInline) {\n let d = 1 / 0, c = e.slice(1), p;\n this.options.extensions.startInline.forEach((f) => {\n p = f.call({ lexer: this }, c), typeof p == \"number\" && p >= 0 && (d = Math.min(d, p));\n }), d < 1 / 0 && d >= 0 && (h = e.substring(0, d + 1));\n }\n if (a = this.tokenizer.inlineText(h)) {\n e = e.substring(a.raw.length), a.raw.slice(-1) !== \"_\" && (l = a.raw.slice(-1)), o = !0;\n let d = n.at(-1);\n d?.type === \"text\" ? (d.raw += a.raw, d.text += a.text) : n.push(a);\n continue;\n }\n if (e) {\n let d = \"Infinite loop on byte: \" + e.charCodeAt(0);\n if (this.options.silent) {\n console.error(d);\n break;\n } else throw new Error(d);\n }\n }\n return n;\n }\n}, wt = class {\n options;\n parser;\n constructor(t) {\n this.options = t || xe;\n }\n space(t) {\n return \"\";\n }\n code({ text: t, lang: e, escaped: n }) {\n let r = (e || \"\").match(I.notSpaceStart)?.[0], i = t.replace(I.endingNewline, \"\") + `\n`;\n return r ? '<pre><code class=\"language-' + Z(r) + '\">' + (n ? i : Z(i, !0)) + `</code></pre>\n` : \"<pre><code>\" + (n ? i : Z(i, !0)) + `</code></pre>\n`;\n }\n blockquote({ tokens: t }) {\n return `<blockquote>\n${this.parser.parse(t)}</blockquote>\n`;\n }\n html({ text: t }) {\n return t;\n }\n def(t) {\n return \"\";\n }\n heading({ tokens: t, depth: e }) {\n return `<h${e}>${this.parser.parseInline(t)}</h${e}>\n`;\n }\n hr(t) {\n return `<hr>\n`;\n }\n list(t) {\n let e = t.ordered, n = t.start, r = \"\";\n for (let o = 0; o < t.items.length; o++) {\n let l = t.items[o];\n r += this.listitem(l);\n }\n let i = e ? \"ol\" : \"ul\", s = e && n !== 1 ? ' start=\"' + n + '\"' : \"\";\n return \"<\" + i + s + `>\n` + r + \"</\" + i + `>\n`;\n }\n listitem(t) {\n return `<li>${this.parser.parse(t.tokens)}</li>\n`;\n }\n checkbox({ checked: t }) {\n return \"<input \" + (t ? 'checked=\"\" ' : \"\") + 'disabled=\"\" type=\"checkbox\"> ';\n }\n paragraph({ tokens: t }) {\n return `<p>${this.parser.parseInline(t)}</p>\n`;\n }\n table(t) {\n let e = \"\", n = \"\";\n for (let i = 0; i < t.header.length; i++) n += this.tablecell(t.header[i]);\n e += this.tablerow({ text: n });\n let r = \"\";\n for (let i = 0; i < t.rows.length; i++) {\n let s = t.rows[i];\n n = \"\";\n for (let o = 0; o < s.length; o++) n += this.tablecell(s[o]);\n r += this.tablerow({ text: n });\n }\n return r && (r = `<tbody>${r}</tbody>`), `<table>\n<thead>\n` + e + `</thead>\n` + r + `</table>\n`;\n }\n tablerow({ text: t }) {\n return `<tr>\n${t}</tr>\n`;\n }\n tablecell(t) {\n let e = this.parser.parseInline(t.tokens), n = t.header ? \"th\" : \"td\";\n return (t.align ? `<${n} align=\"${t.align}\">` : `<${n}>`) + e + `</${n}>\n`;\n }\n strong({ tokens: t }) {\n return `<strong>${this.parser.parseInline(t)}</strong>`;\n }\n em({ tokens: t }) {\n return `<em>${this.parser.parseInline(t)}</em>`;\n }\n codespan({ text: t }) {\n return `<code>${Z(t, !0)}</code>`;\n }\n br(t) {\n return \"<br>\";\n }\n del({ tokens: t }) {\n return `<del>${this.parser.parseInline(t)}</del>`;\n }\n link({ href: t, title: e, tokens: n }) {\n let r = this.parser.parseInline(n), i = vr(t);\n if (i === null) return r;\n t = i;\n let s = '<a href=\"' + t + '\"';\n return e && (s += ' title=\"' + Z(e) + '\"'), s += \">\" + r + \"</a>\", s;\n }\n image({ href: t, title: e, text: n, tokens: r }) {\n r && (n = this.parser.parseInline(r, this.parser.textRenderer));\n let i = vr(t);\n if (i === null) return Z(n);\n t = i;\n let s = `<img src=\"${t}\" alt=\"${Z(n)}\"`;\n return e && (s += ` title=\"${Z(e)}\"`), s += \">\", s;\n }\n text(t) {\n return \"tokens\" in t && t.tokens ? this.parser.parseInline(t.tokens) : \"escaped\" in t && t.escaped ? t.text : Z(t.text);\n }\n}, In = class {\n strong({ text: t }) {\n return t;\n }\n em({ text: t }) {\n return t;\n }\n codespan({ text: t }) {\n return t;\n }\n del({ text: t }) {\n return t;\n }\n html({ text: t }) {\n return t;\n }\n text({ text: t }) {\n return t;\n }\n link({ text: t }) {\n return \"\" + t;\n }\n image({ text: t }) {\n return \"\" + t;\n }\n br() {\n return \"\";\n }\n checkbox({ raw: t }) {\n return t;\n }\n}, U = class on {\n options;\n renderer;\n textRenderer;\n constructor(e) {\n this.options = e || xe, this.options.renderer = this.options.renderer || new wt(), this.renderer = this.options.renderer, this.renderer.options = this.options, this.renderer.parser = this, this.textRenderer = new In();\n }\n static parse(e, n) {\n return new on(n).parse(e);\n }\n static parseInline(e, n) {\n return new on(n).parseInline(e);\n }\n parse(e) {\n this.renderer.parser = this;\n let n = \"\";\n for (let r = 0; r < e.length; r++) {\n let i = e[r];\n if (this.options.extensions?.renderers?.[i.type]) {\n let o = i, l = this.options.extensions.renderers[o.type].call({ parser: this }, o);\n if (l !== !1 || ![\"space\", \"hr\", \"heading\", \"code\", \"table\", \"blockquote\", \"list\", \"html\", \"def\", \"paragraph\", \"text\"].includes(o.type)) {\n n += l || \"\";\n continue;\n }\n }\n let s = i;\n switch (s.type) {\n case \"space\": {\n n += this.renderer.space(s);\n break;\n }\n case \"hr\": {\n n += this.renderer.hr(s);\n break;\n }\n case \"heading\": {\n n += this.renderer.heading(s);\n break;\n }\n case \"code\": {\n n += this.renderer.code(s);\n break;\n }\n case \"table\": {\n n += this.renderer.table(s);\n break;\n }\n case \"blockquote\": {\n n += this.renderer.blockquote(s);\n break;\n }\n case \"list\": {\n n += this.renderer.list(s);\n break;\n }\n case \"checkbox\": {\n n += this.renderer.checkbox(s);\n break;\n }\n case \"html\": {\n n += this.renderer.html(s);\n break;\n }\n case \"def\": {\n n += this.renderer.def(s);\n break;\n }\n case \"paragraph\": {\n n += this.renderer.paragraph(s);\n break;\n }\n case \"text\": {\n n += this.renderer.text(s);\n break;\n }\n default: {\n let o = 'Token with \"' + s.type + '\" type was not found.';\n if (this.options.silent) return console.error(o), \"\";\n throw new Error(o);\n }\n }\n }\n return n;\n }\n parseInline(e, n = this.renderer) {\n this.renderer.parser = this;\n let r = \"\";\n for (let i = 0; i < e.length; i++) {\n let s = e[i];\n if (this.options.extensions?.renderers?.[s.type]) {\n let l = this.options.extensions.renderers[s.type].call({ parser: this }, s);\n if (l !== !1 || ![\"escape\", \"html\", \"link\", \"image\", \"strong\", \"em\", \"codespan\", \"br\", \"del\", \"text\"].includes(s.type)) {\n r += l || \"\";\n continue;\n }\n }\n let o = s;\n switch (o.type) {\n case \"escape\": {\n r += n.text(o);\n break;\n }\n case \"html\": {\n r += n.html(o);\n break;\n }\n case \"link\": {\n r += n.link(o);\n break;\n }\n case \"image\": {\n r += n.image(o);\n break;\n }\n case \"checkbox\": {\n r += n.checkbox(o);\n break;\n }\n case \"strong\": {\n r += n.strong(o);\n break;\n }\n case \"em\": {\n r += n.em(o);\n break;\n }\n case \"codespan\": {\n r += n.codespan(o);\n break;\n }\n case \"br\": {\n r += n.br(o);\n break;\n }\n case \"del\": {\n r += n.del(o);\n break;\n }\n case \"text\": {\n r += n.text(o);\n break;\n }\n default: {\n let l = 'Token with \"' + o.type + '\" type was not found.';\n if (this.options.silent) return console.error(l), \"\";\n throw new Error(l);\n }\n }\n }\n return r;\n }\n}, Be = class {\n options;\n block;\n constructor(t) {\n this.options = t || xe;\n }\n static passThroughHooks = /* @__PURE__ */ new Set([\"preprocess\", \"postprocess\", \"processAllTokens\", \"emStrongMask\"]);\n static passThroughHooksRespectAsync = /* @__PURE__ */ new Set([\"preprocess\", \"postprocess\", \"processAllTokens\"]);\n preprocess(t) {\n return t;\n }\n postprocess(t) {\n return t;\n }\n processAllTokens(t) {\n return t;\n }\n emStrongMask(t) {\n return t;\n }\n provideLexer() {\n return this.block ? D.lex : D.lexInline;\n }\n provideParser() {\n return this.block ? U.parse : U.parseInline;\n }\n}, ql = class {\n defaults = kn();\n options = this.setOptions;\n parse = this.parseMarkdown(!0);\n parseInline = this.parseMarkdown(!1);\n Parser = U;\n Renderer = wt;\n TextRenderer = In;\n Lexer = D;\n Tokenizer = _t;\n Hooks = Be;\n constructor(...t) {\n this.use(...t);\n }\n walkTokens(t, e) {\n let n = [];\n for (let r of t) switch (n = n.concat(e.call(this, r)), r.type) {\n case \"table\": {\n let i = r;\n for (let s of i.header) n = n.concat(this.walkTokens(s.tokens, e));\n for (let s of i.rows) for (let o of s) n = n.concat(this.walkTokens(o.tokens, e));\n break;\n }\n case \"list\": {\n let i = r;\n n = n.concat(this.walkTokens(i.items, e));\n break;\n }\n default: {\n let i = r;\n this.defaults.extensions?.childTokens?.[i.type] ? this.defaults.extensions.childTokens[i.type].forEach((s) => {\n let o = i[s].flat(1 / 0);\n n = n.concat(this.walkTokens(o, e));\n }) : i.tokens && (n = n.concat(this.walkTokens(i.tokens, e)));\n }\n }\n return n;\n }\n use(...t) {\n let e = this.defaults.extensions || { renderers: {}, childTokens: {} };\n return t.forEach((n) => {\n let r = { ...n };\n if (r.async = this.defaults.async || r.async || !1, n.extensions && (n.extensions.forEach((i) => {\n if (!i.name) throw new Error(\"extension name required\");\n if (\"renderer\" in i) {\n let s = e.renderers[i.name];\n s ? e.renderers[i.name] = function(...o) {\n let l = i.renderer.apply(this, o);\n return l === !1 && (l = s.apply(this, o)), l;\n } : e.renderers[i.name] = i.renderer;\n }\n if (\"tokenizer\" in i) {\n if (!i.level || i.level !== \"block\" && i.level !== \"inline\") throw new Error(\"extension level must be 'block' or 'inline'\");\n let s = e[i.level];\n s ? s.unshift(i.tokenizer) : e[i.level] = [i.tokenizer], i.start && (i.level === \"block\" ? e.startBlock ? e.startBlock.push(i.start) : e.startBlock = [i.start] : i.level === \"inline\" && (e.startInline ? e.startInline.push(i.start) : e.startInline = [i.start]));\n }\n \"childTokens\" in i && i.childTokens && (e.childTokens[i.name] = i.childTokens);\n }), r.extensions = e), n.renderer) {\n let i = this.defaults.renderer || new wt(this.defaults);\n for (let s in n.renderer) {\n if (!(s in i)) throw new Error(`renderer '${s}' does not exist`);\n if ([\"options\", \"parser\"].includes(s)) continue;\n let o = s, l = n.renderer[o], a = i[o];\n i[o] = (...h) => {\n let d = l.apply(i, h);\n return d === !1 && (d = a.apply(i, h)), d || \"\";\n };\n }\n r.renderer = i;\n }\n if (n.tokenizer) {\n let i = this.defaults.tokenizer || new _t(this.defaults);\n for (let s in n.tokenizer) {\n if (!(s in i)) throw new Error(`tokenizer '${s}' does not exist`);\n if ([\"options\", \"rules\", \"lexer\"].includes(s)) continue;\n let o = s, l = n.tokenizer[o], a = i[o];\n i[o] = (...h) => {\n let d = l.apply(i, h);\n return d === !1 && (d = a.apply(i, h)), d;\n };\n }\n r.tokenizer = i;\n }\n if (n.hooks) {\n let i = this.defaults.hooks || new Be();\n for (let s in n.hooks) {\n if (!(s in i)) throw new Error(`hook '${s}' does not exist`);\n if ([\"options\", \"block\"].includes(s)) continue;\n let o = s, l = n.hooks[o], a = i[o];\n Be.passThroughHooks.has(s) ? i[o] = (h) => {\n if (this.defaults.async && Be.passThroughHooksRespectAsync.has(s)) return (async () => {\n let c = await l.call(i, h);\n return a.call(i, c);\n })();\n let d = l.call(i, h);\n return a.call(i, d);\n } : i[o] = (...h) => {\n if (this.defaults.async) return (async () => {\n let c = await l.apply(i, h);\n return c === !1 && (c = await a.apply(i, h)), c;\n })();\n let d = l.apply(i, h);\n return d === !1 && (d = a.apply(i, h)), d;\n };\n }\n r.hooks = i;\n }\n if (n.walkTokens) {\n let i = this.defaults.walkTokens, s = n.walkTokens;\n r.walkTokens = function(o) {\n let l = [];\n return l.push(s.call(this, o)), i && (l = l.concat(i.call(this, o))), l;\n };\n }\n this.defaults = { ...this.defaults, ...r };\n }), this;\n }\n setOptions(t) {\n return this.defaults = { ...this.defaults, ...t }, this;\n }\n lexer(t, e) {\n return D.lex(t, e ?? this.defaults);\n }\n parser(t, e) {\n return U.parse(t, e ?? this.defaults);\n }\n parseMarkdown(t) {\n return (e, n) => {\n let r = { ...n }, i = { ...this.defaults, ...r }, s = this.onError(!!i.silent, !!i.async);\n if (this.defaults.async === !0 && r.async === !1) return s(new Error(\"marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise.\"));\n if (typeof e > \"u\" || e === null) return s(new Error(\"marked(): input parameter is undefined or null\"));\n if (typeof e != \"string\") return s(new Error(\"marked(): input parameter is of type \" + Object.prototype.toString.call(e) + \", string expected\"));\n if (i.hooks && (i.hooks.options = i, i.hooks.block = t), i.async) return (async () => {\n let o = i.hooks ? await i.hooks.preprocess(e) : e, l = await (i.hooks ? await i.hooks.provideLexer() : t ? D.lex : D.lexInline)(o, i), a = i.hooks ? await i.hooks.processAllTokens(l) : l;\n i.walkTokens && await Promise.all(this.walkTokens(a, i.walkTokens));\n let h = await (i.hooks ? await i.hooks.provideParser() : t ? U.parse : U.parseInline)(a, i);\n return i.hooks ? await i.hooks.postprocess(h) : h;\n })().catch(s);\n try {\n i.hooks && (e = i.hooks.preprocess(e));\n let o = (i.hooks ? i.hooks.provideLexer() : t ? D.lex : D.lexInline)(e, i);\n i.hooks && (o = i.hooks.processAllTokens(o)), i.walkTokens && this.walkTokens(o, i.walkTokens);\n let l = (i.hooks ? i.hooks.provideParser() : t ? U.parse : U.parseInline)(o, i);\n return i.hooks && (l = i.hooks.postprocess(l)), l;\n } catch (o) {\n return s(o);\n }\n };\n }\n onError(t, e) {\n return (n) => {\n if (n.message += `\nPlease report this to https://github.com/markedjs/marked.`, t) {\n let r = \"<p>An error occurred:</p><pre>\" + Z(n.message + \"\", !0) + \"</pre>\";\n return e ? Promise.resolve(r) : r;\n }\n if (e) return Promise.reject(n);\n throw n;\n };\n }\n}, ge = new ql();\nfunction v(t, e) {\n return ge.parse(t, e);\n}\nv.options = v.setOptions = function(t) {\n return ge.setOptions(t), v.defaults = ge.defaults, Ii(v.defaults), v;\n};\nv.getDefaults = kn;\nv.defaults = xe;\nv.use = function(...t) {\n return ge.use(...t), v.defaults = ge.defaults, Ii(v.defaults), v;\n};\nv.walkTokens = function(t, e) {\n return ge.walkTokens(t, e);\n};\nv.parseInline = ge.parseInline;\nv.Parser = U;\nv.parser = U.parse;\nv.Renderer = wt;\nv.TextRenderer = In;\nv.Lexer = D;\nv.lexer = D.lex;\nv.Tokenizer = _t;\nv.Hooks = Be;\nv.parse = v;\nv.options;\nv.setOptions;\nv.use;\nv.walkTokens;\nv.parseInline;\nU.parse;\nD.lex;\nv.setOptions({\n breaks: !0,\n gfm: !0\n});\nfunction Ml({ text: t }) {\n const e = B(() => {\n if (!t)\n return \"\";\n const n = v.parse(t);\n return typeof n == \"string\" ? n : \"\";\n }, [t]);\n return /* @__PURE__ */ u(\"div\", { class: \"jex-md\", dangerouslySetInnerHTML: { __html: e } });\n}\nconst an = L(\"\"), se = L(null), kr = L(Date.now());\nfunction Ll(t) {\n if (!t)\n return;\n const e = t.trim().split(/\\s+/)[0];\n if (!e)\n return;\n const n = `@${e} `, r = an.value;\n r.includes(n) || r.includes(`@${e}`) || (an.value = r.trimStart() ? `${n}${r.trimStart()}` : n);\n}\nfunction Ol(t) {\n const e = t.trim().split(/\\s+/).filter(Boolean);\n return e.length === 0 ? \"?\" : e.map((n) => n[0]).join(\"\").slice(0, 2).toUpperCase();\n}\nfunction ve({ text: t, streaming: e, error: n, authorId: r, authorName: i, authorImage: s, botAvatarUrl: o }) {\n const l = !!r, [a, h] = T(!1), d = He(() => h(!0), []), c = [\n \"jex-message bot\",\n n ? \"jex-message-error\" : \"\"\n ].filter(Boolean).join(\" \");\n return /* @__PURE__ */ u(\"div\", { class: \"jex-message-row bot\", children: [\n /* @__PURE__ */ u(\"div\", { class: `jex-avatar ${l ? \"jex-avatar-agent\" : \"jex-avatar-bot\"}`, children: l && s && !a ? /* @__PURE__ */ u(\"img\", { src: s, alt: i ?? \"\", class: \"jex-avatar-img\", onError: d }) : l ? /* @__PURE__ */ u(\"span\", { class: \"jex-avatar-initials\", children: Ol(i ?? \"\") }) : o && !a ? /* @__PURE__ */ u(\"img\", { src: o, alt: \"\", class: \"jex-avatar-img\", onError: d }) : /* @__PURE__ */ u(wn, { size: 14 }) }),\n /* @__PURE__ */ u(\"div\", { class: \"jex-message-content\", children: [\n /* @__PURE__ */ u(\"div\", { class: c, children: [\n /* @__PURE__ */ u(Ml, { text: t }),\n e && /* @__PURE__ */ u(\"span\", { class: \"jex-streaming-cursor\" })\n ] }),\n l && i && /* @__PURE__ */ u(\"div\", { class: \"jex-message-author-row\", children: [\n /* @__PURE__ */ u(\"span\", { class: \"jex-message-author\", children: i }),\n /* @__PURE__ */ u(\n \"button\",\n {\n type: \"button\",\n class: \"jex-reply-tag-btn\",\n \"aria-label\": `Reply to ${i}`,\n title: `Reply to ${i}`,\n onClick: () => {\n Ll(i);\n },\n children: /* @__PURE__ */ u(Ha, { size: 12 })\n }\n )\n ] })\n ] })\n ] });\n}\nfunction Nl({ text: t }) {\n return /* @__PURE__ */ u(\"div\", { class: \"jex-message user\", children: t });\n}\nfunction zl({ message: t, sessionId: e, visitorId: n }) {\n const r = q();\n return t.formData ? /* @__PURE__ */ u(\"div\", { class: \"jex-inline-form-submitted\", children: [\n /* @__PURE__ */ u(\"span\", { class: \"jex-inline-form-check\", children: \"✓\" }),\n /* @__PURE__ */ u(\"div\", { children: [\n /* @__PURE__ */ u(\"div\", { class: \"jex-inline-form-submitted-title\", children: r.escalationSubmitted }),\n /* @__PURE__ */ u(\"div\", { class: \"jex-inline-form-submitted-detail\", children: [\n t.formData.visitorName,\n \" · \",\n t.formData.visitorEmail\n ] })\n ] })\n ] }) : /* @__PURE__ */ u(\"div\", { class: \"jex-message-row bot\", children: /* @__PURE__ */ u(\n Ql,\n {\n messageId: t._id,\n sessionId: e,\n visitorId: n\n }\n ) });\n}\nfunction Ql({ messageId: t, sessionId: e, visitorId: n }) {\n const r = q(), [i, s] = T(\"\"), [o, l] = T(\"\"), [a, h] = T(!1), d = jt($e.functions.chat.public.helpdesk.submitEscalation);\n async function c(p) {\n if (p.preventDefault(), !a) {\n h(!0);\n try {\n await d({\n sessionId: e,\n visitorId: n,\n formMessageId: t,\n visitorName: i.trim(),\n visitorEmail: o.trim()\n });\n } catch (f) {\n console.error(\"[FormMessage] Submit failed:\", f), h(!1);\n }\n }\n }\n return /* @__PURE__ */ u(\"div\", { class: \"jex-inline-form\", children: [\n /* @__PURE__ */ u(\"div\", { class: \"jex-inline-form-title\", children: r.escalationFormTitle }),\n /* @__PURE__ */ u(\"form\", { class: \"jex-form\", onSubmit: (p) => {\n c(p);\n }, children: [\n /* @__PURE__ */ u(\n \"input\",\n {\n class: \"jex-form-input\",\n type: \"text\",\n placeholder: r.escalationNameLabel,\n value: i,\n required: !0,\n disabled: a,\n onInput: (p) => {\n s(p.currentTarget.value);\n }\n }\n ),\n /* @__PURE__ */ u(\n \"input\",\n {\n class: \"jex-form-input\",\n type: \"email\",\n placeholder: r.escalationEmailLabel,\n value: o,\n required: !0,\n disabled: a,\n onInput: (p) => {\n l(p.currentTarget.value);\n }\n }\n ),\n /* @__PURE__ */ u(\"button\", { class: \"jex-form-submit\", type: \"submit\", disabled: a, children: a ? r.escalationSubmitting : r.escalationSubmit })\n ] }),\n /* @__PURE__ */ u(\"div\", { class: \"jex-inline-form-consent\", children: r.escalationConsent })\n ] });\n}\nconst Bl = {\n crawl: \"🌐\",\n file: \"📄\",\n snippet: \"💡\",\n qa: \"❓\"\n};\nfunction Fl({ sources: t }) {\n const [e, n] = T(!1);\n return t.length === 0 ? null : /* @__PURE__ */ u(\"div\", { class: \"jex-sources-row\", children: [\n /* @__PURE__ */ u(\n \"button\",\n {\n type: \"button\",\n class: \"jex-sources-toggle\",\n onClick: () => {\n n((r) => !r);\n },\n \"aria-expanded\": e,\n children: [\n /* @__PURE__ */ u(\"span\", { class: \"jex-sources-icon\", children: \"📖\" }),\n /* @__PURE__ */ u(\"span\", { children: [\n t.length,\n \" \",\n t.length === 1 ? \"source\" : \"sources\"\n ] }),\n /* @__PURE__ */ u(\"span\", { class: `jex-sources-chevron${e ? \" jex-sources-chevron--open\" : \"\"}`, children: \"▾\" })\n ]\n }\n ),\n e ? /* @__PURE__ */ u(\"div\", { class: \"jex-sources-pills\", children: t.map((r, i) => {\n const s = r.sourceType === \"crawl\", o = Dl(r), l = s && r.url ? `${r.title}\n${r.url}` : r.title, a = /* @__PURE__ */ u(Q, { children: [\n typeof r.id == \"number\" ? /* @__PURE__ */ u(\"span\", { class: \"jex-source-id\", children: r.id }) : null,\n /* @__PURE__ */ u(\"span\", { class: \"jex-source-type\", children: Bl[r.sourceType] }),\n /* @__PURE__ */ u(\"span\", { class: \"jex-source-label\", children: o }),\n /* @__PURE__ */ u(\"span\", { class: \"jex-source-score\", children: [\n \"· \",\n r.score.toFixed(2)\n ] })\n ] });\n return s && r.url ? /* @__PURE__ */ u(\n \"a\",\n {\n class: \"jex-source-pill\",\n href: r.url,\n target: \"_blank\",\n rel: \"noopener noreferrer\",\n title: l,\n children: a\n },\n i\n ) : /* @__PURE__ */ u(\"span\", { class: \"jex-source-pill\", title: l, children: a }, i);\n }) }) : null\n ] });\n}\nfunction Dl(t) {\n if (t.sourceType === \"crawl\" && t.url)\n try {\n const e = new URL(t.url);\n return !e.pathname || e.pathname === \"/\" ? e.hostname : e.pathname;\n } catch {\n }\n return t.title;\n}\nfunction Ul() {\n return /* @__PURE__ */ u(\"div\", { class: \"jex-typing\", children: [\n /* @__PURE__ */ u(\"span\", {}),\n /* @__PURE__ */ u(\"span\", {}),\n /* @__PURE__ */ u(\"span\", {})\n ] });\n}\nconst Vl = /\\s?\\[\\d+\\]/g;\nfunction Sr(t) {\n return t.replace(Vl, \"\");\n}\nfunction Wl({ conversations: t, greeting: e, sessionNotFound: n, resumeFailed: r, onStartFresh: i, sessionId: s, visitorId: o }) {\n const l = q(), a = tt(null), [h, d] = T(null);\n return M(() => {\n a.current?.scrollIntoView({ behavior: \"smooth\" });\n }, [t?.length, t?.at(-1)?.content]), /* @__PURE__ */ u(\"div\", { class: \"jex-chat-messages\", children: [\n /* @__PURE__ */ u(ve, { text: e }),\n n && r && i ? /* @__PURE__ */ u(\"div\", { class: \"jex-session-prompt\", children: [\n /* @__PURE__ */ u(\"div\", { class: \"jex-session-prompt-text\", children: l.sessionNotFoundPrompt }),\n /* @__PURE__ */ u(\n \"button\",\n {\n class: \"jex-session-prompt-btn\",\n type: \"button\",\n onClick: () => {\n i();\n },\n children: l.startNewConversation\n }\n )\n ] }) : n ? /* @__PURE__ */ u(\"div\", { class: \"jex-session-notice\", children: l.sessionNotFound }) : null,\n t?.map((c) => {\n if (c.contentType === \"human-notice\")\n return /* @__PURE__ */ u(ve, { text: c.content }, c._id);\n if (c.contentType === \"escalation-form\" && s && o)\n return Aa.value === \"screen\" && !c.formData ? h === c._id ? null : /* @__PURE__ */ u(\"div\", { class: \"jex-inline-form jex-inline-form-card\", children: [\n /* @__PURE__ */ u(\"div\", { class: \"jex-inline-form-title\", children: l.escalationPromptTitle }),\n /* @__PURE__ */ u(\"div\", { class: \"jex-inline-form-subtitle\", children: l.escalationPromptSubtitle }),\n /* @__PURE__ */ u(\n \"button\",\n {\n class: \"jex-form-submit\",\n type: \"button\",\n onClick: () => {\n ke({ id: \"escalation-form\", formMessageId: c._id, sessionId: s, visitorId: o });\n },\n children: l.escalationPromptSubmit\n }\n ),\n /* @__PURE__ */ u(\n \"button\",\n {\n class: \"jex-escalation-skip\",\n type: \"button\",\n onClick: () => {\n d(c._id);\n },\n children: l.escalationSkip\n }\n )\n ] }, c._id) : /* @__PURE__ */ u(zl, { message: c, sessionId: s, visitorId: o }, c._id);\n if (c.contentType === \"escalation-confirm\")\n return /* @__PURE__ */ u(ve, { text: c.content }, c._id);\n if (c.role === \"user\")\n return /* @__PURE__ */ u(Nl, { text: c.content }, c._id);\n const p = {\n authorId: c.authorId,\n authorName: c.authorName,\n authorImage: c.authorImage\n };\n return c.status === \"streaming\" && c.content === \"\" ? /* @__PURE__ */ u(Ul, {}, c._id) : c.status === \"streaming\" ? /* @__PURE__ */ u(ve, { text: Sr(c.content), streaming: !0, ...p }, c._id) : c.status === \"error\" ? /* @__PURE__ */ u(\n ve,\n {\n text: c.errorMessage ?? `${l.somethingWentWrong}. ${l.tryAgain}.`,\n error: !0,\n ...p\n },\n c._id\n ) : /* @__PURE__ */ u(\"div\", { children: [\n /* @__PURE__ */ u(ve, { text: Sr(c.content), ...p }),\n c.sources && c.sources.length > 0 ? /* @__PURE__ */ u(Fl, { sources: c.sources }) : null\n ] }, c._id);\n }),\n /* @__PURE__ */ u(\"div\", { ref: a })\n ] });\n}\nfunction Hl({ size: t = 18 }) {\n return /* @__PURE__ */ u(\"svg\", { width: t, height: t, viewBox: \"0 0 24 24\", fill: \"none\", stroke: \"currentColor\", \"stroke-width\": \"2\", \"stroke-linecap\": \"round\", \"stroke-linejoin\": \"round\", \"aria-hidden\": \"true\", children: [\n /* @__PURE__ */ u(\"path\", { d: \"M22 2 11 13\" }),\n /* @__PURE__ */ u(\"path\", { d: \"M22 2 15 22 11 13 2 9l20-7z\" })\n ] });\n}\nfunction Jl() {\n const t = q(), e = ua(() => {\n const n = se.value;\n return n === null ? 0 : Math.max(0, Math.ceil((n - kr.value) / 1e3));\n });\n return M(() => {\n const n = se.value;\n if (n === null)\n return;\n const r = setInterval(() => {\n kr.value = Date.now();\n }, 1e3), i = setTimeout(() => {\n se.value = null;\n }, Math.max(0, n - Date.now()));\n return () => {\n clearInterval(r), clearTimeout(i);\n };\n }, [se.value]), se.value === null ? null : /* @__PURE__ */ u(\"div\", { class: \"jex-rate-limit-notice\", role: \"status\", \"aria-live\": \"polite\", children: t.errorRateLimited.replace(\"{seconds}\", String(e.value)) });\n}\nfunction Gl({ sessionId: t, visitorId: e, isLoading: n, isStreaming: r, sessionStatus: i, ensureSession: s, onStartFresh: o }) {\n const l = q(), a = an, h = jt($e.functions.chat.public.conversations.send), d = se.value !== null && se.value > Date.now(), c = n || r || d;\n if (i === \"resolved\")\n return /* @__PURE__ */ u(\"div\", { class: \"jex-chat-input-resolved\", children: [\n /* @__PURE__ */ u(\"div\", { class: \"jex-resolved-notice\", children: l.sessionResolved }),\n /* @__PURE__ */ u(\n \"button\",\n {\n class: \"jex-resolved-new-btn\",\n type: \"button\",\n onClick: () => {\n o();\n },\n children: l.startNewConversation\n }\n )\n ] });\n async function p() {\n const f = a.value.trim();\n if (!f || c)\n return;\n const g = t && e ? { sessionId: t, visitorId: e } : await s();\n if (g) {\n Ta(), a.value = \"\";\n try {\n const x = await h({\n sessionId: g.sessionId,\n visitorId: g.visitorId,\n content: f\n });\n !x.ok && x.reason === \"rate_limited\" && (se.value = Date.now() + x.retryAfterMs);\n } catch (x) {\n console.error(\"[jexity] Failed to send message:\", x);\n }\n }\n }\n return /* @__PURE__ */ u(\"div\", { class: \"jex-chat-input\", children: [\n /* @__PURE__ */ u(Jl, {}),\n /* @__PURE__ */ u(\n \"input\",\n {\n type: \"text\",\n \"aria-label\": l.inputPlaceholder,\n placeholder: r ? l.aiThinking : l.inputPlaceholder,\n value: a.value,\n onInput: (f) => {\n a.value = f.currentTarget.value;\n },\n onKeyDown: (f) => {\n f.key === \"Enter\" && p();\n },\n disabled: n || r\n }\n ),\n /* @__PURE__ */ u(\n \"button\",\n {\n class: \"jex-send-btn\",\n onClick: p,\n \"aria-label\": l.sendAriaLabel,\n disabled: c,\n children: /* @__PURE__ */ u(Hl, { size: 18 })\n }\n )\n ] });\n}\nfunction Bi({ message: t }) {\n return /* @__PURE__ */ u(\"div\", { class: \"jex-overlay jex-loading\", children: [\n /* @__PURE__ */ u(\"div\", { class: \"jex-loading-spinner\", \"aria-hidden\": \"true\" }),\n t && /* @__PURE__ */ u(\"p\", { class: \"jex-loading-message\", children: t })\n ] });\n}\nfunction Kl({ greeting: t, orgSlug: e, projSlug: n }) {\n const r = q(), { sessionId: i, visitorId: s, isLoading: o, sessionNotFound: l, resumeFailed: a, isOrgDeleted: h, ensureSession: d, startFresh: c } = Qa(e, n), p = dr(\n $e.functions.chat.public.conversations.listBySession,\n i && s ? { sessionId: i, visitorId: s } : \"skip\"\n ), f = dr(\n $e.functions.chat.public.sessions.getSessionStatus,\n i && s ? { sessionId: i, visitorId: s } : \"skip\"\n ), g = i !== null && p === void 0, x = p?.some((k) => k.status === \"streaming\") ?? !1;\n return M(() => {\n pe.value && !i && d();\n }, [d, i]), h ? /* @__PURE__ */ u(\"div\", { class: \"jex-chat-messages\", children: /* @__PURE__ */ u(\"div\", { class: \"jex-session-notice\", children: r.chatNoLongerAvailable }) }) : o || g && pe.value ? /* @__PURE__ */ u(Bi, { message: r.resumeConversation }) : /* @__PURE__ */ u(Q, { children: [\n /* @__PURE__ */ u(\n Wl,\n {\n conversations: p,\n greeting: t,\n sessionNotFound: l,\n resumeFailed: a,\n onStartFresh: c,\n sessionId: i,\n visitorId: s\n }\n ),\n /* @__PURE__ */ u(\n Gl,\n {\n sessionId: i,\n visitorId: s,\n isLoading: o,\n isStreaming: x,\n sessionStatus: f ?? null,\n ensureSession: d,\n onStartFresh: c\n }\n )\n ] });\n}\nfunction Zl({ formMessageId: t, sessionId: e, visitorId: n }) {\n const r = q(), [i, s] = T(\"\"), [o, l] = T(\"\"), a = jt($e.functions.chat.public.helpdesk.submitEscalation);\n async function h(d) {\n d.preventDefault(), Se({ id: \"loading\", message: r.escalationSubmitting });\n try {\n const c = await a({\n sessionId: e,\n visitorId: n,\n formMessageId: t,\n visitorName: i.trim(),\n visitorEmail: o.trim()\n });\n Se({ id: \"confirmation\", ref: c.ticketRef });\n } catch (c) {\n console.error(\"[EscalationFormScreen] Submit failed:\", c), Se({ id: \"error\", message: r.escalationSubmitFailed });\n }\n }\n return /* @__PURE__ */ u(\"div\", { class: \"jex-form-screen\", children: [\n /* @__PURE__ */ u(\"h2\", { class: \"jex-form-title\", children: r.escalationFormTitle }),\n /* @__PURE__ */ u(\"p\", { class: \"jex-escalation-subtitle\", children: r.escalationSubtitle }),\n /* @__PURE__ */ u(\"form\", { class: \"jex-form\", onSubmit: (d) => {\n h(d);\n }, children: [\n /* @__PURE__ */ u(\n \"input\",\n {\n class: \"jex-form-input\",\n type: \"text\",\n placeholder: r.escalationNameLabel,\n value: i,\n required: !0,\n onInput: (d) => {\n s(d.currentTarget.value);\n }\n }\n ),\n /* @__PURE__ */ u(\n \"input\",\n {\n class: \"jex-form-input\",\n type: \"email\",\n placeholder: r.escalationEmailLabel,\n value: o,\n required: !0,\n onInput: (d) => {\n l(d.currentTarget.value);\n }\n }\n ),\n /* @__PURE__ */ u(\"button\", { class: \"jex-form-submit\", type: \"submit\", children: r.escalationSubmit })\n ] }),\n /* @__PURE__ */ u(\"div\", { class: \"jex-inline-form-consent\", style: { textAlign: \"center\", margin: \"16px 0 8px 0\" }, children: r.escalationConsent }),\n /* @__PURE__ */ u(\"button\", { class: \"jex-escalation-skip\", type: \"button\", onClick: () => {\n _n();\n }, children: r.escalationSkip })\n ] });\n}\nfunction Xl() {\n const t = q(), [e, n] = T(\"\"), [r, i] = T(\"\"), [s, o] = T(\"\");\n async function l(a) {\n a.preventDefault(), Se({ id: \"loading\", message: t.submittingTicket }), await new Promise((d) => {\n setTimeout(d, 1200);\n });\n const h = \"JEX-\" + Math.random().toString(36).slice(2, 8).toUpperCase();\n Se({ id: \"confirmation\", ref: h });\n }\n return /* @__PURE__ */ u(\"div\", { class: \"jex-form-screen\", children: [\n /* @__PURE__ */ u(\"h2\", { class: \"jex-form-title\", children: t.submitTicket }),\n /* @__PURE__ */ u(\"form\", { class: \"jex-form\", onSubmit: (a) => {\n l(a);\n }, children: [\n /* @__PURE__ */ u(\n \"input\",\n {\n class: \"jex-form-input\",\n type: \"text\",\n placeholder: t.yourName,\n value: e,\n required: !0,\n onInput: (a) => {\n n(a.currentTarget.value);\n }\n }\n ),\n /* @__PURE__ */ u(\n \"input\",\n {\n class: \"jex-form-input\",\n type: \"email\",\n placeholder: t.yourEmail,\n value: r,\n required: !0,\n onInput: (a) => {\n i(a.currentTarget.value);\n }\n }\n ),\n /* @__PURE__ */ u(\n \"textarea\",\n {\n class: \"jex-form-textarea\",\n placeholder: t.howCanWeHelp,\n value: s,\n required: !0,\n onInput: (a) => {\n o(a.currentTarget.value);\n }\n }\n ),\n /* @__PURE__ */ u(\"button\", { class: \"jex-form-submit\", type: \"submit\", children: t.submit })\n ] })\n ] });\n}\nfunction Yl({ ticketRef: t }) {\n const e = q();\n return /* @__PURE__ */ u(\"div\", { class: \"jex-confirmation\", children: [\n /* @__PURE__ */ u(\"div\", { class: \"jex-confirmation-icon\", \"aria-hidden\": \"true\", children: \"✓\" }),\n /* @__PURE__ */ u(\"h2\", { class: \"jex-confirmation-title\", children: e.ticketSubmitted }),\n /* @__PURE__ */ u(\"p\", { class: \"jex-confirmation-body\", children: e.yourReferenceNumber }),\n /* @__PURE__ */ u(\"div\", { class: \"jex-confirmation-ref\", children: t }),\n /* @__PURE__ */ u(\"p\", { class: \"jex-confirmation-hint\", children: e.sentToEmailHint }),\n /* @__PURE__ */ u(\n \"button\",\n {\n class: \"jex-confirmation-done\",\n onClick: () => {\n A.value = !1;\n },\n children: e.done\n }\n )\n ] });\n}\nfunction ec({ message: t, onRetry: e, onBack: n }) {\n const r = q();\n return /* @__PURE__ */ u(\"div\", { class: \"jex-overlay jex-error\", children: [\n /* @__PURE__ */ u(\"p\", { class: \"jex-error-message\", children: t }),\n /* @__PURE__ */ u(\"div\", { class: \"jex-error-actions\", children: [\n e && /* @__PURE__ */ u(\"button\", { class: \"jex-error-retry\", onClick: e, children: r.tryAgain }),\n n && /* @__PURE__ */ u(\"button\", { class: \"jex-error-back\", onClick: n, children: r.goBack })\n ] })\n ] });\n}\nfunction jr({ greeting: t, title: e, orgSlug: n, projSlug: r }) {\n const i = W.value, s = i[i.length - 1], o = i.findLast(\n (l) => l.id === \"confirmation\"\n );\n return /* @__PURE__ */ u(\"div\", { class: \"jex-screen-container\", children: [\n s.id === \"home\" && /* @__PURE__ */ u(Oa, { greeting: t, title: e }),\n s.id === \"selection\" && /* @__PURE__ */ u(Na, { title: e }),\n s.id === \"form\" && /* @__PURE__ */ u(Xl, {}),\n s.id === \"escalation-form\" && /* @__PURE__ */ u(\n Zl,\n {\n formMessageId: s.formMessageId,\n sessionId: s.sessionId,\n visitorId: s.visitorId\n }\n ),\n s.id === \"confirmation\" && o && /* @__PURE__ */ u(Yl, { ticketRef: o.ref }),\n s.id === \"chat\" && /* @__PURE__ */ u(Kl, { greeting: t, orgSlug: n, projSlug: r }),\n s.id === \"loading\" && /* @__PURE__ */ u(Bi, { message: s.message }),\n s.id === \"error\" && /* @__PURE__ */ u(\n ec,\n {\n message: s.message,\n onRetry: () => Se({ id: \"loading\" }),\n onBack: _n\n }\n )\n ] });\n}\nfunction tc({ options: t }) {\n ba(t.orgSlug, t.projSlug, t.bootstrapToken, t.convexUrl);\n const e = ma(t.orgSlug, t.projSlug, t.convexUrl);\n Sa(t.parentOrigin), M(() => {\n Ca();\n }, []);\n const n = pa(t, e);\n M(() => {\n yn.value = Ti(n.locale);\n }, [n.locale]);\n const r = n.position === \"bottom-left\", i = n.colorScheme === \"dark\" || n.colorScheme === \"light\" ? n.colorScheme : \"\", s = $a({\n ...t,\n primaryColor: n.primaryColor,\n accentColor: n.accentColor,\n fontFamily: n.fontFamily,\n fontSize: n.fontSize,\n borderRadius: n.borderRadius,\n windowWidth: n.windowWidth,\n windowHeight: n.windowHeight\n }), o = n.mode === \"embedded\", a = e !== null || o || !!t.parentOrigin ? s : { ...s, visibility: \"hidden\" };\n return /* @__PURE__ */ u(\n \"div\",\n {\n class: `jex-widget ${i}`.trim(),\n style: a,\n children: o ? /* @__PURE__ */ u(\"div\", { class: \"jex-embedded\", children: [\n /* @__PURE__ */ u(fr, { title: n.title }),\n /* @__PURE__ */ u(jr, { greeting: n.greeting, title: n.title, orgSlug: t.orgSlug, projSlug: t.projSlug }),\n !n.hideBranding && /* @__PURE__ */ u(pr, {})\n ] }) : /* @__PURE__ */ u(\"div\", { class: `jex-container${r ? \" jex-pos-left\" : \"\"}`, children: [\n A.value && /* @__PURE__ */ u(\"div\", { class: \"jex-chat-window\", children: [\n /* @__PURE__ */ u(fr, { title: n.title }),\n /* @__PURE__ */ u(jr, { greeting: n.greeting, title: n.title, orgSlug: t.orgSlug, projSlug: t.projSlug }),\n !n.hideBranding && /* @__PURE__ */ u(pr, {})\n ] }),\n /* @__PURE__ */ u(\n La,\n {\n iconOption: n.triggerIcon,\n radius: n.triggerRadius,\n label: n.triggerLabel\n }\n )\n ] })\n }\n );\n}\nconst nc = '.jex-widget{--jex-primary: #115A62;--jex-primary-hover: var(--jex-accent, color-mix(in srgb, var(--jex-primary) 85%, #000));--jex-radius: .75rem;--jex-font-family: \"Inter\", system-ui, -apple-system, sans-serif;--jex-font-size: 14px;--jex-window-width: 380px;--jex-window-height: 600px;--jex-shadow: 0 16px 48px -12px rgba(13, 127, 138, .25), 0 4px 16px rgba(0, 0, 0, .08);pointer-events:auto;--jex-bg-trigger: var(--jex-primary);--jex-bg-header: var(--jex-primary);--jex-bg-msg-user: var(--jex-primary);--jex-bg-send-btn: var(--jex-primary);--jex-bg-window: rgba(255, 255, 255, .95);--jex-bg-msg-bot: #f1f5f9;--jex-bg-input: rgba(247, 253, 253, .6);--jex-text-header: #ffffff;--jex-text-msg-user: #ffffff;--jex-text-msg-bot: #0f172a;--jex-text-main: #0f172a;--jex-text-muted: #64748b;--jex-bg-avatar-agent: #d1fae5;--jex-text-avatar-agent: #065f46;--jex-border-window: rgba(226, 232, 240, .8);--jex-border-input: rgba(203, 213, 225, .8);--jex-bg-glass: var(--jex-bg-window);--jex-border-glass: var(--jex-border-window);font-family:var(--jex-font-family);-webkit-font-smoothing:antialiased}.dark .jex-widget,.jex-widget.dark{--jex-primary: #1cb0bf;--jex-primary-hover: var(--jex-accent, color-mix(in srgb, var(--jex-primary) 85%, #000));--jex-bg-window: rgba(10, 15, 26, .95);--jex-bg-msg-bot: #233146;--jex-bg-input: rgba(10, 15, 26, .6);--jex-text-msg-bot: #f8fafc;--jex-text-main: #f8fafc;--jex-text-muted: #94a3b8;--jex-border-window: rgba(30, 41, 59, .8);--jex-border-input: rgba(51, 65, 85, .9);--jex-bg-avatar-agent: #064e3b;--jex-text-avatar-agent: #6ee7b7;--jex-bg-error: #3b1318;--jex-border-error: #5c1d24;--jex-text-error: #fca5a5}@media(prefers-color-scheme:dark){:host:not(.light) .jex-widget:not(.light){--jex-primary: #1cb0bf;--jex-primary-hover: var(--jex-accent, color-mix(in srgb, var(--jex-primary) 85%, #000));--jex-bg-window: rgba(10, 15, 26, .95);--jex-bg-msg-bot: #233146;--jex-bg-input: rgba(10, 15, 26, .6);--jex-text-msg-bot: #f8fafc;--jex-text-main: #f8fafc;--jex-text-muted: #94a3b8;--jex-border-window: rgba(30, 41, 59, .8);--jex-border-input: rgba(51, 65, 85, .9);--jex-bg-error: #3b1318;--jex-border-error: #5c1d24;--jex-text-error: #fca5a5}}.jex-widget *{box-sizing:border-box;margin:0;padding:0}.jex-container{position:fixed;bottom:24px;right:24px;display:flex;flex-direction:column;align-items:flex-end;gap:16px;z-index:9999}.jex-container.jex-pos-left{right:auto;left:24px;align-items:flex-start}:host(.jex-mode-embedded){display:block;width:100%;height:100%}:host(.jex-mode-embedded) .jex-widget{width:100%;height:100%}.jex-embedded{display:flex;flex-direction:column;width:100%;height:100%;background:var(--jex-bg-window);border:1px solid var(--jex-border-window);overflow:hidden}.jex-embedded .jex-screen-container{flex:1;overflow:hidden;display:flex;flex-direction:column}.jex-floating-button{height:56px;min-width:56px;padding:0;background:var(--jex-bg-trigger);color:var(--jex-text-header);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:var(--jex-shadow);transition:transform .3s cubic-bezier(.175,.885,.32,1.275),background .2s,width .3s ease,border-radius .3s ease}.jex-floating-button.jex-has-label{min-width:110px;padding:0 20px}.jex-fab-inner{display:flex;align-items:center;gap:12px}.jex-fab-label{font-size:15px;font-weight:600;white-space:nowrap}.jex-floating-button:hover{transform:scale(1.1);background:var(--jex-primary-hover)}.jex-floating-button:active{transform:scale(.95)}.jex-chat-window{width:var(--jex-window-width);height:var(--jex-window-height);max-height:calc(100vh - 120px);background:var(--jex-bg-window);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid var(--jex-border-window);border-radius:calc(var(--jex-radius) * 2);box-shadow:var(--jex-shadow);display:flex;flex-direction:column;overflow:hidden;animation:jexSlideUp .4s cubic-bezier(.16,1,.3,1);transform-origin:bottom right}@keyframes jexSlideUp{0%{opacity:0;transform:scale(.8) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.jex-chat-header{padding:20px;background:var(--jex-bg-header);color:var(--jex-text-header);display:flex;align-items:center;gap:12px;flex-shrink:0}.jex-header-info h3{font-size:16px;font-weight:600;color:var(--jex-text-header);margin:0}.jex-header-info p{font-size:12px;opacity:.8;color:var(--jex-text-header);margin:0}.jex-header-back{background:none;border:none;color:var(--jex-text-header);cursor:pointer;padding:4px;display:flex;align-items:center;opacity:.8;transition:opacity .2s;flex-shrink:0}.jex-header-back:hover{opacity:1}.jex-screen-container{flex:1;overflow:hidden;display:flex;flex-direction:column}.jex-home{flex:1;display:flex;flex-direction:column;padding:24px;gap:20px;overflow-y:auto}.jex-home-hero{display:flex;align-items:center;gap:14px;animation:jexFadeIn .4s ease both}.jex-home-avatar{position:relative;width:48px;height:48px;border-radius:14px;background:var(--jex-primary);color:var(--jex-text-header);display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 4px 12px color-mix(in srgb,var(--jex-primary) 30%,transparent)}.jex-home-status-dot{position:absolute;bottom:-2px;right:-2px;width:14px;height:14px;border-radius:50%;background:#22c55e;border:2.5px solid var(--jex-bg-window);animation:jexPulse 2s ease-in-out infinite}@keyframes jexPulse{0%,to{box-shadow:0 0 #22c55e66}50%{box-shadow:0 0 0 6px #22c55e00}}.jex-home-hero-text{display:flex;flex-direction:column;gap:2px;min-width:0}.jex-home-title{font-size:17px;font-weight:700;color:var(--jex-text-main);margin:0;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jex-home-status{font-size:12px;font-weight:500;color:#22c55e;letter-spacing:.02em}.jex-home-greeting{background:var(--jex-bg-msg-bot);border:1px solid var(--jex-border-window);border-radius:4px 16px 16px;padding:16px 18px;font-size:14px;line-height:1.55;color:var(--jex-text-main);animation:jexFadeIn .4s .1s ease both}.jex-home-greeting p{margin:0}@keyframes jexFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.jex-home-actions{display:flex;flex-direction:column;gap:10px;animation:jexFadeIn .4s .2s ease both}.jex-home-start-btn{background:var(--jex-bg-send-btn);color:var(--jex-text-header);border:none;border-radius:12px;padding:14px 20px;font-size:15px;font-weight:600;cursor:pointer;font-family:inherit;transition:background .2s,transform .15s,box-shadow .2s;width:100%;box-shadow:0 2px 8px color-mix(in srgb,var(--jex-primary) 25%,transparent)}.jex-home-start-btn:hover{background:var(--jex-primary-hover);transform:translateY(-1px);box-shadow:0 4px 16px color-mix(in srgb,var(--jex-primary) 35%,transparent)}.jex-home-start-btn:active{transform:translateY(0);box-shadow:0 1px 4px color-mix(in srgb,var(--jex-primary) 20%,transparent)}.jex-home-resume-card{display:flex;flex-direction:column;gap:8px;width:100%;text-align:left;padding:16px 18px;border-radius:14px;border:1.5px solid var(--jex-primary);background:color-mix(in srgb,var(--jex-primary) 6%,var(--jex-bg-window));cursor:pointer;font-family:inherit;transition:background .2s,border-color .2s,transform .15s,box-shadow .2s;box-shadow:0 2px 8px color-mix(in srgb,var(--jex-primary) 12%,transparent)}.jex-home-resume-card:hover{background:color-mix(in srgb,var(--jex-primary) 10%,var(--jex-bg-window));transform:translateY(-1px);box-shadow:0 4px 16px color-mix(in srgb,var(--jex-primary) 20%,transparent)}.jex-home-resume-card:active{transform:translateY(0)}.jex-home-resume-top{display:flex;align-items:center;justify-content:space-between}.jex-home-resume-label{font-size:14px;font-weight:600;color:var(--jex-primary)}.jex-home-resume-arrow{color:var(--jex-primary);opacity:.6;transition:opacity .2s,transform .2s}.jex-home-resume-card:hover .jex-home-resume-arrow{opacity:1;transform:translate(2px)}.jex-home-resume-ref{font-family:ui-monospace,Cascadia Code,Fira Code,monospace;font-size:13px;font-weight:600;letter-spacing:.06em;color:var(--jex-text-muted)}.jex-home-new-btn{background:transparent;color:var(--jex-text-muted);border:1px solid var(--jex-border-input);border-radius:12px;padding:12px 20px;font-size:14px;font-weight:500;cursor:pointer;font-family:inherit;transition:color .2s,border-color .2s,background .2s;width:100%}.jex-home-new-btn:hover{color:var(--jex-text-main);border-color:var(--jex-text-muted);background:color-mix(in srgb,var(--jex-primary) 3%,transparent)}.jex-session-ref{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--jex-bg-msg-bot);border:1px solid var(--jex-border-window);border-radius:8px;font-size:12px}.jex-session-ref-label{color:var(--jex-text-muted);font-weight:500}.jex-session-ref-code{color:var(--jex-primary);font-weight:700;font-family:ui-monospace,Cascadia Code,monospace;letter-spacing:.05em}.jex-chat-messages{flex:1;padding:20px;overflow-y:auto;display:flex;flex-direction:column;gap:12px}.jex-message-row{display:flex;align-items:flex-end;gap:8px;max-width:85%}.jex-message-row.bot{align-self:flex-start}.jex-message-content{flex:1;min-width:0}.jex-avatar{width:24px;height:24px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:12px;margin-bottom:2px}.jex-avatar-bot{background:var(--jex-bg-msg-bot);color:var(--jex-primary)}.jex-avatar-agent{background:var(--jex-bg-avatar-agent)}.jex-avatar-img{width:100%;height:100%;border-radius:50%;object-fit:cover}.jex-avatar-initials{font-size:9px;font-weight:700;color:var(--jex-text-avatar-agent)}.jex-message-author-row{display:flex;align-items:center;gap:6px;margin-top:2px;padding-left:4px}.jex-message-author{font-size:10px;color:var(--jex-text-muted)}.jex-reply-tag-btn{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;padding:0;border:none;border-radius:4px;background:transparent;color:var(--jex-text-muted, #6b7280);cursor:pointer;transition:background .15s,color .15s}.jex-reply-tag-btn:hover{background:#0000000f;color:var(--jex-primary, #115A62)}.jex-reply-tag-btn:focus-visible{outline:2px solid var(--jex-primary, #115A62);outline-offset:1px}.jex-message{padding:12px 16px;border-radius:18px;font-size:14px;line-height:1.4}.jex-message.bot{background:var(--jex-bg-msg-bot);border:1px solid var(--jex-border-window);color:var(--jex-text-msg-bot);border-bottom-left-radius:4px}.jex-message.user{align-self:flex-end;max-width:80%;background:var(--jex-bg-msg-user);color:var(--jex-text-msg-user);border-bottom-right-radius:4px}.jex-typing{align-self:flex-start;display:flex;gap:4px;padding:12px 16px}.jex-typing span{width:8px;height:8px;border-radius:50%;background:var(--jex-text-muted);animation:jexTypingDot 1.2s infinite ease-in-out}.jex-typing span:nth-child(2){animation-delay:.2s}.jex-typing span:nth-child(3){animation-delay:.4s}@keyframes jexTypingDot{0%,80%,to{transform:scale(.8);opacity:.4}40%{transform:scale(1);opacity:1}}.jex-md{word-break:break-word;overflow-wrap:anywhere}.jex-md p{margin:0 0 8px}.jex-md p:last-child{margin-bottom:0}.jex-md strong{font-weight:600}.jex-md em{font-style:italic}.jex-md ul,.jex-md ol{margin:0 0 8px;padding-left:20px}.jex-md ul:last-child,.jex-md ol:last-child{margin-bottom:0}.jex-md ul{list-style-type:disc}.jex-md ol{list-style-type:decimal}.jex-md li{margin-bottom:2px}.jex-md li:last-child{margin-bottom:0}.jex-md a{color:var(--jex-primary);text-decoration:underline;text-underline-offset:2px}.jex-md a:hover{opacity:.8}.jex-md code{background:#00000014;padding:1px 5px;border-radius:4px;font-size:.9em;font-family:ui-monospace,Cascadia Code,Fira Code,monospace}.jex-md pre{background:#0000000f;border-radius:8px;padding:10px 12px;margin:0 0 8px;overflow-x:auto;font-size:.85em}.jex-md pre:last-child{margin-bottom:0}.jex-md pre code{background:none;padding:0;border-radius:0;font-size:inherit}.jex-md h1,.jex-md h2,.jex-md h3,.jex-md h4{font-weight:600;margin:8px 0 4px}.jex-md h1:first-child,.jex-md h2:first-child,.jex-md h3:first-child,.jex-md h4:first-child{margin-top:0}.jex-md h3{font-size:1em}.jex-md h4{font-size:.95em}.jex-md hr{border:none;border-top:1px solid var(--jex-border-window);margin:8px 0}.jex-md blockquote{border-left:3px solid var(--jex-primary);margin:0 0 8px;padding:4px 12px;color:var(--jex-text-muted)}.jex-md blockquote:last-child{margin-bottom:0}.dark .jex-md code,.jex-widget.dark .jex-md code{background:#ffffff1a}.dark .jex-md pre,.jex-widget.dark .jex-md pre{background:#ffffff14}@media(prefers-color-scheme:dark){:host:not(.light) .jex-widget:not(.light) .jex-md code{background:#ffffff1a}:host:not(.light) .jex-widget:not(.light) .jex-md pre{background:#ffffff14}}.jex-streaming-cursor:after{content:\"◊\";margin-left:2px;animation:jexBlinkCursor .8s ease-in-out infinite}@keyframes jexBlinkCursor{0%,to{opacity:1}50%{opacity:0}}.jex-session-notice{align-self:center;text-align:center;padding:8px 16px;margin:8px 0;font-size:12px;color:var(--jex-text-muted);background:var(--jex-bg-input, #f1f5f9);border-radius:8px;line-height:1.4}.jex-message-error{background:var(--jex-bg-error, #fef2f2)!important;border-color:var(--jex-border-error, #fecaca)!important;color:var(--jex-text-error, #991b1b)!important}.jex-chat-input{padding:16px;border-top:1px solid var(--jex-border-window);display:flex;gap:8px;flex-shrink:0;flex-wrap:wrap}.jex-rate-limit-notice{flex:1 0 100%;order:-1;margin-bottom:8px;padding:8px 12px;border-radius:10px;background:var(--jex-bg-msg-bot, #f1f5f9);color:var(--jex-text-muted, #64748b);font-size:12px;line-height:1.4;text-align:center}.jex-chat-input input{flex:1;background:var(--jex-bg-input);border:1px solid var(--jex-border-input);border-radius:12px;padding:10px 14px;color:var(--jex-text-main);outline:none;font-family:inherit;font-size:14px}.jex-chat-input input:focus{border-color:var(--jex-primary)}.jex-send-btn{background:var(--jex-bg-send-btn);color:var(--jex-text-header);border:none;border-radius:12px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s cubic-bezier(.175,.885,.32,1.275);flex-shrink:0}.jex-send-btn:hover{transform:scale(1.05);background:var(--jex-primary-hover)}.jex-send-btn:active{transform:scale(.95)}.jex-widget-footer{display:flex;align-items:center;justify-content:center;padding:8px 16px;border-top:1px solid var(--jex-border-glass);background:#00000005;flex-shrink:0}.jex-widget.dark .jex-widget-footer{background:#ffffff05}@media(prefers-color-scheme:dark){:host:not(.light) .jex-widget:not(.light) .jex-widget-footer{background:#ffffff05}}.jex-branding{display:flex;align-items:center;gap:6px;text-decoration:none;color:var(--jex-text-muted);font-size:11px;font-weight:500;transition:color .2s}.jex-branding:hover{color:var(--jex-text-main)}.jex-branding-icon{color:var(--jex-primary)}.jex-branding span strong{font-weight:700;color:var(--jex-text-main)}.jex-locale-select-wrapper{position:relative;display:flex;align-items:center}.jex-locale-select{appearance:none;-webkit-appearance:none;background:transparent;border:1px solid transparent;padding:4px 20px 4px 6px;border-radius:6px;font-family:inherit;font-size:11px;font-weight:600;color:var(--jex-text-muted);background-color:transparent;cursor:pointer;outline:none;transition:all .2s ease}.jex-locale-select option{background-color:#fff;color:#0f172a}.jex-locale-select:hover,.jex-locale-select:focus-visible{color:var(--jex-text-main);background:#0000000a}.jex-widget.dark .jex-locale-select:hover,.jex-widget.dark .jex-locale-select:focus-visible{background:#ffffff0d}.jex-widget.dark .jex-locale-select option{background-color:#0f172a;color:#f8fafc}@media(prefers-color-scheme:dark){:host:not(.light) .jex-widget:not(.light) .jex-locale-select:hover,:host:not(.light) .jex-widget:not(.light) .jex-locale-select:focus-visible{background:#ffffff0d}:host:not(.light) .jex-widget:not(.light) .jex-locale-select option{background-color:#0f172a;color:#f8fafc}}.jex-locale-select:focus-visible{border-color:var(--jex-primary)}.jex-locale-chevron{position:absolute;right:4px;pointer-events:none;color:var(--jex-text-muted);transition:color .2s ease}.jex-locale-select-wrapper:hover .jex-locale-chevron{color:var(--jex-text-main)}.jex-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:var(--jex-bg-window, #fff);z-index:10;padding:24px;text-align:center}.jex-loading-spinner{width:32px;height:32px;border:3px solid var(--jex-border-input, #e2e8f0);border-top-color:var(--jex-primary, #115A62);border-radius:50%;animation:jex-spin .7s linear infinite}@keyframes jex-spin{to{transform:rotate(360deg)}}.jex-loading-message{font-size:14px;color:var(--jex-text-muted, #64748b)}.jex-error-message{font-size:14px;color:var(--jex-text-main, #334155)}.jex-error-actions{display:flex;gap:8px}.jex-error-retry,.jex-error-back{padding:8px 16px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;border:none}.jex-error-retry{background:var(--jex-primary, #115A62);color:#fff}.jex-error-back{background:transparent;color:var(--jex-text-muted, #64748b);border:1px solid var(--jex-border-input, #e2e8f0)}.jex-selection{display:flex;flex-direction:column;gap:12px;padding:24px 16px;height:100%}.jex-selection-title{font-size:16px;font-weight:700;color:var(--jex-text-main, #0f172a);margin:0 0 8px}.jex-selection-options{display:flex;flex-direction:column;gap:10px}.jex-selection-option{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:16px;border-radius:12px;border:1px solid var(--jex-border-window, #e2e8f0);background:transparent;cursor:pointer;text-align:left;transition:border-color .15s ease,background .15s ease}.jex-selection-option:hover{border-color:var(--jex-primary, #115A62);background:color-mix(in srgb,var(--jex-primary, #115A62) 5%,transparent)}.jex-selection-icon{font-size:20px}.jex-selection-label{font-size:14px;font-weight:600;color:var(--jex-text-main, #0f172a)}.jex-selection-sub{font-size:12px;color:var(--jex-text-muted, #64748b)}.jex-form-screen{display:flex;flex-direction:column;padding:20px 16px;height:100%;overflow-y:auto}.jex-form-title{font-size:16px;font-weight:700;color:var(--jex-text-main, #0f172a);margin:0 0 16px}.jex-form{display:flex;flex-direction:column;gap:10px}.jex-form-input,.jex-form-textarea{padding:10px 12px;border-radius:8px;border:1px solid var(--jex-border-input, #e2e8f0);font-size:14px;background:transparent;color:var(--jex-text-main, #0f172a);outline:none}.jex-form-input:focus,.jex-form-textarea:focus{border-color:var(--jex-primary, #115A62)}.jex-form-textarea{min-height:80px;resize:vertical}.jex-form-submit{padding:10px;border-radius:8px;border:none;background:var(--jex-primary, #115A62);color:#fff;font-size:14px;font-weight:600;cursor:pointer;margin-top:4px}.jex-inline-form{display:flex;flex-direction:column;gap:8px;padding:12px;background:var(--jex-bg-msg-bot, #f1f5f9);border:1px solid var(--jex-border-input, #e2e8f0);border-radius:var(--jex-radius, .75rem);width:100%}.jex-inline-form-title{font-weight:600;font-size:15px;color:var(--jex-text-main, #0f172a);margin:0}.jex-inline-form-subtitle{font-size:13px;color:var(--jex-text-muted, #64748b);line-height:1.4;margin:0 0 4px}.jex-inline-form-consent{font-size:11px;color:var(--jex-text-muted, #64748b);line-height:1.3;margin-top:4px;text-align:center}.jex-inline-form .jex-form-submit:disabled{opacity:.7;cursor:not-allowed}.jex-escalation-subtitle{font-size:13px;color:var(--jex-text-muted, #64748b);line-height:1.45;margin:0 0 8px}.jex-escalation-skip{padding:8px 12px;border:none;background:transparent;color:var(--jex-text-muted, #64748b);font-size:13px;cursor:pointer;text-decoration:underline;text-underline-offset:2px;text-align:center}.jex-escalation-skip:hover{color:var(--jex-text-main, #0f172a)}.jex-inline-form-card{position:relative;padding:14px;gap:8px}.jex-inline-form-dismiss{position:absolute;top:10px;right:10px;width:24px;height:24px;border-radius:50%;border:1px solid var(--jex-border-input, #e2e8f0);background:var(--jex-bg-window, #fff);color:var(--jex-text-muted, #64748b);font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1}.jex-inline-form-dismiss:hover{background:var(--jex-bg-msg-bot, #f1f5f9);color:var(--jex-text-main, #0f172a)}.jex-inline-form-submitted{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--jex-bg-msg-bot, #f1f5f9);border:1px solid var(--jex-border-input, #e2e8f0);border-radius:var(--jex-radius, .75rem);width:100%}.jex-inline-form-check{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:color-mix(in srgb,var(--jex-primary) 15%,transparent);color:var(--jex-primary, #115A62);font-size:14px;font-weight:700;flex-shrink:0}.jex-inline-form-submitted-title{font-weight:600;font-size:var(--jex-font-size, 14px);color:var(--jex-text-main, #0f172a)}.jex-inline-form-submitted-detail{font-size:12px;color:var(--jex-text-muted, #64748b);margin-top:2px}.jex-escalation-confirm{border-left:3px solid var(--jex-primary, #115A62);padding-left:8px}.jex-session-prompt{display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px 16px;margin:8px 0;text-align:center}.jex-session-prompt-text{font-size:13px;color:var(--jex-text-muted, #64748b)}.jex-session-prompt-btn{padding:8px 16px;border-radius:8px;border:1px solid var(--jex-primary, #115A62);background:transparent;color:var(--jex-primary, #115A62);font-size:13px;font-weight:600;cursor:pointer}.jex-session-prompt-btn:hover{background:color-mix(in srgb,var(--jex-primary) 10%,transparent)}.jex-chat-input-resolved{display:flex;flex-direction:column;align-items:center;gap:10px;padding:14px 16px;border-top:1px solid var(--jex-border-input, #e2e8f0);background:var(--jex-bg-msg-bot, #f1f5f9);text-align:center}.jex-resolved-notice{font-size:13px;font-weight:500;color:var(--jex-text-muted, #64748b)}.jex-resolved-new-btn{padding:10px 20px;border-radius:8px;border:none;background:var(--jex-primary, #115A62);color:#fff;font-size:13px;font-weight:600;cursor:pointer;width:100%}.jex-resolved-new-btn:hover{opacity:.9}.jex-confirmation{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:32px 24px;height:100%;text-align:center}.jex-confirmation-icon{width:48px;height:48px;border-radius:50%;background:color-mix(in srgb,var(--jex-primary, #115A62) 15%,transparent);color:var(--jex-primary, #115A62);font-size:22px;display:flex;align-items:center;justify-content:center}.jex-confirmation-title{font-size:18px;font-weight:700;color:var(--jex-text-main, #0f172a);margin:0}.jex-confirmation-body{font-size:13px;color:var(--jex-text-muted, #64748b);margin:0}.jex-confirmation-ref{font-size:20px;font-weight:700;letter-spacing:.05em;color:var(--jex-primary, #115A62);background:color-mix(in srgb,var(--jex-primary, #115A62) 10%,transparent);padding:10px 20px;border-radius:10px}.jex-confirmation-hint{font-size:12px;color:var(--jex-text-muted, #64748b);margin:0}.jex-confirmation-done{margin-top:8px;padding:10px 28px;border-radius:8px;border:none;background:var(--jex-primary, #115A62);color:#fff;font-size:14px;font-weight:600;cursor:pointer}.jex-home-lookup-link{background:none;border:none;font-size:12px;color:var(--jex-text-muted, #64748b);cursor:pointer;text-decoration:underline;padding:0;align-self:center}.jex-home-lookup{display:flex;gap:8px;width:100%;animation:jexFadeIn .4s .1s ease both}.jex-home-lookup-input{flex:1;padding:10px 14px;border-radius:10px;border:1px solid var(--jex-border-input, #e2e8f0);background:var(--jex-bg-input);color:var(--jex-text-main);font-size:13px;font-family:ui-monospace,Cascadia Code,Fira Code,monospace;letter-spacing:.04em;outline:none;transition:border-color .2s}.jex-home-lookup-input::placeholder{font-family:inherit;letter-spacing:.04em;color:var(--jex-text-muted);opacity:.7}.jex-home-lookup-input:focus{border-color:var(--jex-primary, #115A62)}.jex-home-lookup-submit{padding:10px 16px;border-radius:10px;border:none;background:var(--jex-primary, #115A62);color:#fff;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit;transition:background .2s,opacity .2s;flex-shrink:0}.jex-home-lookup-submit:hover:not(:disabled){background:var(--jex-primary-hover)}.jex-home-lookup-submit:disabled{opacity:.4;cursor:default}.jex-sources-row{margin-top:6px;margin-left:32px;display:flex;flex-direction:column;gap:6px}.jex-sources-toggle{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:transparent;border:none;border-radius:6px;cursor:pointer;font-size:11px;color:var(--jex-text-muted, #6b7280);font-family:inherit;align-self:flex-start;transition:background .15s,color .15s}.jex-sources-toggle:hover{background:#0000000a;color:inherit}.jex-sources-icon{font-size:12px;line-height:1}.jex-sources-chevron{display:inline-block;font-size:10px;transition:transform .15s}.jex-sources-chevron--open{transform:rotate(180deg)}.jex-sources-pills{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.jex-source-pill{display:inline-flex;align-items:center;gap:6px;max-width:240px;padding:2px 8px;border-radius:999px;border:1px solid rgba(0,0,0,.1);background:#0000000a;color:var(--jex-text-muted, #6b7280);font-size:11px;text-decoration:none;cursor:pointer;transition:background .15s,color .15s}.jex-source-pill:hover{background:#00000014;color:inherit}.jex-source-id{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;border-radius:4px;background:var(--jex-primary, #115A62);color:#fff;font-size:10px;font-weight:600;line-height:1;flex-shrink:0;font-variant-numeric:tabular-nums}.jex-source-type{font-size:10px;flex-shrink:0}.jex-source-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.jex-source-score{opacity:.6;flex-shrink:0;font-variant-numeric:tabular-nums}';\nfunction rc(t) {\n const e = document.createElement(\"style\");\n e.textContent = nc, t.appendChild(e);\n}\nconst ic = \"https://tame-spider-109.eu-west-1.convex.cloud\";\nlet Ft = null;\nfunction sc(t) {\n const e = t ?? ic;\n if (!e)\n throw new Error(\"[jexity] No Convex URL — set VITE_CONVEX_URL at build time or data-convex-url on the script tag\");\n return Ft || (Ft = new Ko(fa(e))), Ft;\n}\nfunction oc(t, e) {\n const n = t.shadowRoot ?? t.attachShadow({ mode: \"open\" });\n for (; n.firstChild; )\n n.removeChild(n.firstChild);\n rc(n), bt.value = e.source, yt.value = e.bootstrapToken, W.value = [{ id: \"home\" }], e.mode === \"embedded\" && (t.classList.add(\"jex-mode-embedded\"), A.value = !0);\n const r = document.createElement(\"div\");\n return e.mode === \"embedded\" && (r.style.cssText = \"width:100%;height:100%\"), n.appendChild(r), de(\n /* @__PURE__ */ u(Xo, { client: sc(e.convexUrl), children: /* @__PURE__ */ u(tc, { options: e }) }),\n r\n ), function() {\n de(null, r), A.value = !1, bt.value = void 0, yt.value = void 0, W.value = [{ id: \"home\" }];\n };\n}\nfunction ac(t, e, n) {\n const r = oc(t, e), i = /* @__PURE__ */ new Set(), s = A.subscribe((l) => {\n for (const a of i)\n a(l);\n });\n return {\n shutdown() {\n s(), i.clear(), r(), n && n();\n },\n open() {\n A.value = !0;\n },\n close() {\n A.value = !1;\n },\n toggle() {\n A.value = !A.value;\n },\n get isOpen() {\n return A.value;\n },\n subscribe(l) {\n return i.add(l), () => {\n i.delete(l);\n };\n }\n };\n}\nlet Oe = null;\nfunction lc(t) {\n Oe && Oe.shutdown();\n let e;\n t.container ? e = typeof t.container == \"string\" ? document.querySelector(t.container) : t.container : (e = document.createElement(\"div\"), e.id = \"jexity-chat-widget\", document.body.appendChild(e));\n const n = ac(e, t, () => {\n t.container || e.remove(), Oe === n && (Oe = null);\n });\n return Oe = n, n;\n}\nexport {\n lc as JexityChat\n};\n//# sourceMappingURL=index.mjs.map\n"],"names":["JexityChatContext","createContext","JexityChatProvider","props","children","options","isOpen","setIsOpen","useState","instanceRef","useRef","unsubRef","containerRef","embedded","useEffect","cancelled","index","mod","mountOptions","inst","open","err","value","createElement","useJexityChat","ctx","useContext","Xe","Cr","Rr","Pn","Tr","Ar","ln","Ir","Er","Fi","Ye","Y","cn","z","Fe","Di","V","je","Pr","Vt","ft","un","Lr","qr","h","p","f","k","_","w","Ui","hn","Mr","Vi","Nr","qn","Mn","F","qe","It","G","Hi","Or","Wt","Wi","zr","Ji","Gi","Ki","u","S","Ln","Qr","j","On","Nn","zn","Qn","Bn","Fn","Ae","dn","Ur","B","Br","kt","Fr","Dr","Zi","Ht","Xi","Dn","Vr","Jt","Wr","Hr","Jr","Gr","Kr","Yi","Un","es","ts","Vn","ns","rs","Wn","Zr","Xr","Yr","is","Ne","Hn","ss","os","as","ei","ls","cs","us","hs","ds","fs","ps","Jn","gs","ms","xs","pn","bs","Gn","Kn","Zn","ys","vs","St","_s","ws","ks","Ss","js","Cs","Rs","Ts","$s","gn","X","N","As","qt","Is","Es","Ps","qs","Ms","Ge","ti","Ls","ni","mn","Os","Ns","ri","zs","Qs","Bs","Fs","Ds","Us","Xn","ii","o","Yn","De","Zt","Mt","Vs","Ws","Lt","er","tr","Hs","si","nr","Js","Gs","rr","Ks","oi","ai","li","ci","pt","Zs","we","Yt","fe","ir","Xs","Ys","K","eo","to","no","ro","Ke","ui","io","so","oo","P","hi","di","ao","lo","co","Ze","uo","ho","fo","Ot","E","sr","po","go","Ue","or","mo","xo","ar","bo","lr","yo","vo","_o","wo","ko","So","jo","_e","cr","fi","Co","Ro","r","i","s","To","$o","ze","Ao","Io","pi","Eo","Po","qo","ur","Mo","Lo","Oo","No","zo","Qo","Bo","Fo","g","x","zt","Do","Uo","hr","Vo","Wo","Ho","Jo","Go","gi","Yo","Ko","xn","Zo","Xo","dr","a","ra","jt","ea","ta","Qt","na","ia","sa","Ve","en","bi","oa","mi","xi","$","yi","vi","tn","_i","bn","aa","Ie","wi","la","ki","Ee","Si","ji","ca","ua","ha","da","A","fa","Ci","pa","ga","ma","xa","ba","Ri","ya","va","_a","wa","yn","ka","q","Ti","Sa","vn","pe","ja","Ca","nn","Ra","Ta","$a","Aa","ke","Se","Ia","pr","Ea","Pa","qa","Ma","La","Oa","Na","Ai","za","$e","Qa","Ba","gr","Fa","mr","Da","Ua","Va","Wa","Ha","kn","Ii","I","Ja","Ga","Ka","Za","Xa","Ei","Pi","Ya","jn","el","Cn","tl","nl","$t","Rn","rl","qi","il","Tn","xr","sl","ol","al","ll","Mi","cl","Pe","At","$n","ul","Li","hl","dl","fl","Oi","pl","gl","Ni","ml","xl","bl","yl","vl","_l","wl","kl","Sl","jl","Cl","zi","Qi","Rl","br","An","Tl","rn","$l","Al","yr","Z","vr","Il","El","Pl","_t","D","sn","wt","In","U","on","Be","ql","Ml","an","kr","Ll","Ol","Nl","zl","Ql","Bl","Fl","Dl","Ul","Vl","Wl","Hl","Jl","Gl","Bi","Kl","Zl","Xl","Yl","ec","jr","tc","nc","rc","ic","sc","oc","ac","l","lc"],"mappings":"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"}
1
+ {"version":3,"file":"react.mjs","sources":["../src/entries/react.tsx","index.mjs"],"sourcesContent":["import {\n createContext,\n createElement,\n useContext,\n useEffect,\n useRef,\n useState,\n} from 'react'\nimport type { ReactNode } from 'react'\nimport type { JexityChatOptions, JexityChatInstance } from '../types'\n\ninterface JexityChatContextValue {\n open: () => void\n close: () => void\n toggle: () => void\n isOpen: boolean\n}\n\nconst JexityChatContext = createContext<JexityChatContextValue | null>(null)\n\nexport interface JexityChatProviderProps extends JexityChatOptions {\n children?: ReactNode\n}\n\nexport function JexityChatProvider(props: JexityChatProviderProps) {\n const { children, ...options } = props\n const [isOpen, setIsOpen] = useState(false)\n const instanceRef = useRef<JexityChatInstance | null>(null)\n const unsubRef = useRef<(() => void) | null>(null)\n const containerRef = useRef<HTMLDivElement | null>(null)\n\n const embedded = options.mode === 'embedded'\n\n useEffect(() => {\n let cancelled = false\n\n // @ts-expect-error -- resolved at runtime, not in TS source tree\n import('./index.mjs').then(\n (mod: { JexityChat: (opts: JexityChatOptions) => JexityChatInstance }) => {\n if (cancelled) { return }\n\n // In embedded mode, mount into the provider's own container div.\n // In floating mode, let JexityChat create its own div on document.body.\n const mountOptions = embedded && containerRef.current\n ? { ...options, container: containerRef.current }\n : options\n\n const inst = mod.JexityChat(mountOptions)\n instanceRef.current = inst\n unsubRef.current = inst.subscribe((open) => { setIsOpen(open) })\n },\n ).catch((err: unknown) => {\n if (!cancelled) {\n console.error('[jexity] Failed to load widget core:', err)\n }\n })\n\n return () => {\n cancelled = true\n unsubRef.current?.()\n instanceRef.current?.shutdown()\n instanceRef.current = null\n unsubRef.current = null\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [options.orgSlug, options.projSlug])\n\n const value: JexityChatContextValue = {\n open: () => { instanceRef.current?.open() },\n close: () => { instanceRef.current?.close() },\n toggle: () => { instanceRef.current?.toggle() },\n isOpen,\n }\n\n // In embedded mode, render a host div that the widget mounts into.\n // In floating mode, render children only (widget mounts on document.body).\n return createElement(\n JexityChatContext.Provider,\n { value },\n embedded\n ? createElement('div', {\n ref: containerRef,\n style: { width: '100%', height: '100%' },\n })\n : children,\n )\n}\n\nexport function useJexityChat(): JexityChatContextValue {\n const ctx = useContext(JexityChatContext)\n if (!ctx) {\n throw new Error('useJexityChat must be used within a <JexityChatProvider>')\n }\n return ctx\n}\n","var Xe, m, Cr, Rr, ce, Pn, Tr, $r, Ar, ln, Dt, Ut, Ir, We = {}, Er = [], Fi = /acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i, Ye = Array.isArray;\nfunction Y(t, e) {\n for (var n in e) t[n] = e[n];\n return t;\n}\nfunction cn(t) {\n t && t.parentNode && t.parentNode.removeChild(t);\n}\nfunction z(t, e, n) {\n var r, i, s, o = {};\n for (s in e) s == \"key\" ? r = e[s] : s == \"ref\" ? i = e[s] : o[s] = e[s];\n if (arguments.length > 2 && (o.children = arguments.length > 3 ? Xe.call(arguments, 2) : n), typeof t == \"function\" && t.defaultProps != null) for (s in t.defaultProps) o[s] === void 0 && (o[s] = t.defaultProps[s]);\n return Fe(t, o, r, i, null);\n}\nfunction Fe(t, e, n, r, i) {\n var s = { type: t, props: e, key: n, ref: r, __k: null, __: null, __b: 0, __e: null, __c: null, constructor: void 0, __v: i ?? ++Cr, __i: -1, __u: 0 };\n return i == null && m.vnode != null && m.vnode(s), s;\n}\nfunction Di() {\n return { current: null };\n}\nfunction Q(t) {\n return t.children;\n}\nfunction V(t, e) {\n this.props = t, this.context = e;\n}\nfunction je(t, e) {\n if (e == null) return t.__ ? je(t.__, t.__i + 1) : null;\n for (var n; e < t.__k.length; e++) if ((n = t.__k[e]) != null && n.__e != null) return n.__e;\n return typeof t.type == \"function\" ? je(t) : null;\n}\nfunction Pr(t) {\n var e, n;\n if ((t = t.__) != null && t.__c != null) {\n for (t.__e = t.__c.base = null, e = 0; e < t.__k.length; e++) if ((n = t.__k[e]) != null && n.__e != null) {\n t.__e = t.__c.base = n.__e;\n break;\n }\n return Pr(t);\n }\n}\nfunction Vt(t) {\n (!t.__d && (t.__d = !0) && ce.push(t) && !ft.__r++ || Pn != m.debounceRendering) && ((Pn = m.debounceRendering) || Tr)(ft);\n}\nfunction ft() {\n for (var t, e, n, r, i, s, o, l = 1; ce.length; ) ce.length > l && ce.sort($r), t = ce.shift(), l = ce.length, t.__d && (n = void 0, r = void 0, i = (r = (e = t).__v).__e, s = [], o = [], e.__P && ((n = Y({}, r)).__v = r.__v + 1, m.vnode && m.vnode(n), un(e.__P, n, r, e.__n, e.__P.namespaceURI, 32 & r.__u ? [i] : null, s, i ?? je(r), !!(32 & r.__u), o), n.__v = r.__v, n.__.__k[n.__i] = n, Lr(s, n, o), r.__e = r.__ = null, n.__e != i && Pr(n)));\n ft.__r = 0;\n}\nfunction qr(t, e, n, r, i, s, o, l, a, h, d) {\n var c, p, f, g, x, k, _, w = r && r.__k || Er, H = e.length;\n for (a = Ui(n, e, w, a, H), c = 0; c < H; c++) (f = n.__k[c]) != null && (p = f.__i == -1 ? We : w[f.__i] || We, f.__i = c, k = un(t, f, p, i, s, o, l, a, h, d), g = f.__e, f.ref && p.ref != f.ref && (p.ref && hn(p.ref, null, f), d.push(f.ref, f.__c || g, f)), x == null && g != null && (x = g), (_ = !!(4 & f.__u)) || p.__k === f.__k ? a = Mr(f, a, t, _) : typeof f.type == \"function\" && k !== void 0 ? a = k : g && (a = g.nextSibling), f.__u &= -7);\n return n.__e = x, a;\n}\nfunction Ui(t, e, n, r, i) {\n var s, o, l, a, h, d = n.length, c = d, p = 0;\n for (t.__k = new Array(i), s = 0; s < i; s++) (o = e[s]) != null && typeof o != \"boolean\" && typeof o != \"function\" ? (a = s + p, (o = t.__k[s] = typeof o == \"string\" || typeof o == \"number\" || typeof o == \"bigint\" || o.constructor == String ? Fe(null, o, null, null, null) : Ye(o) ? Fe(Q, { children: o }, null, null, null) : o.constructor == null && o.__b > 0 ? Fe(o.type, o.props, o.key, o.ref ? o.ref : null, o.__v) : o).__ = t, o.__b = t.__b + 1, l = null, (h = o.__i = Vi(o, n, a, c)) != -1 && (c--, (l = n[h]) && (l.__u |= 2)), l == null || l.__v == null ? (h == -1 && (i > d ? p-- : i < d && p++), typeof o.type != \"function\" && (o.__u |= 4)) : h != a && (h == a - 1 ? p-- : h == a + 1 ? p++ : (h > a ? p-- : p++, o.__u |= 4))) : t.__k[s] = null;\n if (c) for (s = 0; s < d; s++) (l = n[s]) != null && (2 & l.__u) == 0 && (l.__e == r && (r = je(l)), Nr(l, l));\n return r;\n}\nfunction Mr(t, e, n, r) {\n var i, s;\n if (typeof t.type == \"function\") {\n for (i = t.__k, s = 0; i && s < i.length; s++) i[s] && (i[s].__ = t, e = Mr(i[s], e, n, r));\n return e;\n }\n t.__e != e && (r && (e && t.type && !e.parentNode && (e = je(t)), n.insertBefore(t.__e, e || null)), e = t.__e);\n do\n e = e && e.nextSibling;\n while (e != null && e.nodeType == 8);\n return e;\n}\nfunction ee(t, e) {\n return e = e || [], t == null || typeof t == \"boolean\" || (Ye(t) ? t.some(function(n) {\n ee(n, e);\n }) : e.push(t)), e;\n}\nfunction Vi(t, e, n, r) {\n var i, s, o, l = t.key, a = t.type, h = e[n], d = h != null && (2 & h.__u) == 0;\n if (h === null && t.key == null || d && l == h.key && a == h.type) return n;\n if (r > (d ? 1 : 0)) {\n for (i = n - 1, s = n + 1; i >= 0 || s < e.length; ) if ((h = e[o = i >= 0 ? i-- : s++]) != null && (2 & h.__u) == 0 && l == h.key && a == h.type) return o;\n }\n return -1;\n}\nfunction qn(t, e, n) {\n e[0] == \"-\" ? t.setProperty(e, n ?? \"\") : t[e] = n == null ? \"\" : typeof n != \"number\" || Fi.test(e) ? n : n + \"px\";\n}\nfunction st(t, e, n, r, i) {\n var s, o;\n e: if (e == \"style\") if (typeof n == \"string\") t.style.cssText = n;\n else {\n if (typeof r == \"string\" && (t.style.cssText = r = \"\"), r) for (e in r) n && e in n || qn(t.style, e, \"\");\n if (n) for (e in n) r && n[e] == r[e] || qn(t.style, e, n[e]);\n }\n else if (e[0] == \"o\" && e[1] == \"n\") s = e != (e = e.replace(Ar, \"$1\")), o = e.toLowerCase(), e = o in t || e == \"onFocusOut\" || e == \"onFocusIn\" ? o.slice(2) : e.slice(2), t.l || (t.l = {}), t.l[e + s] = n, n ? r ? n.u = r.u : (n.u = ln, t.addEventListener(e, s ? Ut : Dt, s)) : t.removeEventListener(e, s ? Ut : Dt, s);\n else {\n if (i == \"http://www.w3.org/2000/svg\") e = e.replace(/xlink(H|:h)/, \"h\").replace(/sName$/, \"s\");\n else if (e != \"width\" && e != \"height\" && e != \"href\" && e != \"list\" && e != \"form\" && e != \"tabIndex\" && e != \"download\" && e != \"rowSpan\" && e != \"colSpan\" && e != \"role\" && e != \"popover\" && e in t) try {\n t[e] = n ?? \"\";\n break e;\n } catch {\n }\n typeof n == \"function\" || (n == null || n === !1 && e[4] != \"-\" ? t.removeAttribute(e) : t.setAttribute(e, e == \"popover\" && n == 1 ? \"\" : n));\n }\n}\nfunction Mn(t) {\n return function(e) {\n if (this.l) {\n var n = this.l[e.type + t];\n if (e.t == null) e.t = ln++;\n else if (e.t < n.u) return;\n return n(m.event ? m.event(e) : e);\n }\n };\n}\nfunction un(t, e, n, r, i, s, o, l, a, h) {\n var d, c, p, f, g, x, k, _, w, H, J, ie, F, En, it, qe, It, G = e.type;\n if (e.constructor != null) return null;\n 128 & n.__u && (a = !!(32 & n.__u), s = [l = e.__e = n.__e]), (d = m.__b) && d(e);\n e: if (typeof G == \"function\") try {\n if (_ = e.props, w = \"prototype\" in G && G.prototype.render, H = (d = G.contextType) && r[d.__c], J = d ? H ? H.props.value : d.__ : r, n.__c ? k = (c = e.__c = n.__c).__ = c.__E : (w ? e.__c = c = new G(_, J) : (e.__c = c = new V(_, J), c.constructor = G, c.render = Hi), H && H.sub(c), c.props = _, c.state || (c.state = {}), c.context = J, c.__n = r, p = c.__d = !0, c.__h = [], c._sb = []), w && c.__s == null && (c.__s = c.state), w && G.getDerivedStateFromProps != null && (c.__s == c.state && (c.__s = Y({}, c.__s)), Y(c.__s, G.getDerivedStateFromProps(_, c.__s))), f = c.props, g = c.state, c.__v = e, p) w && G.getDerivedStateFromProps == null && c.componentWillMount != null && c.componentWillMount(), w && c.componentDidMount != null && c.__h.push(c.componentDidMount);\n else {\n if (w && G.getDerivedStateFromProps == null && _ !== f && c.componentWillReceiveProps != null && c.componentWillReceiveProps(_, J), !c.__e && c.shouldComponentUpdate != null && c.shouldComponentUpdate(_, c.__s, J) === !1 || e.__v == n.__v) {\n for (e.__v != n.__v && (c.props = _, c.state = c.__s, c.__d = !1), e.__e = n.__e, e.__k = n.__k, e.__k.some(function(be) {\n be && (be.__ = e);\n }), ie = 0; ie < c._sb.length; ie++) c.__h.push(c._sb[ie]);\n c._sb = [], c.__h.length && o.push(c);\n break e;\n }\n c.componentWillUpdate != null && c.componentWillUpdate(_, c.__s, J), w && c.componentDidUpdate != null && c.__h.push(function() {\n c.componentDidUpdate(f, g, x);\n });\n }\n if (c.context = J, c.props = _, c.__P = t, c.__e = !1, F = m.__r, En = 0, w) {\n for (c.state = c.__s, c.__d = !1, F && F(e), d = c.render(c.props, c.state, c.context), it = 0; it < c._sb.length; it++) c.__h.push(c._sb[it]);\n c._sb = [];\n } else do\n c.__d = !1, F && F(e), d = c.render(c.props, c.state, c.context), c.state = c.__s;\n while (c.__d && ++En < 25);\n c.state = c.__s, c.getChildContext != null && (r = Y(Y({}, r), c.getChildContext())), w && !p && c.getSnapshotBeforeUpdate != null && (x = c.getSnapshotBeforeUpdate(f, g)), qe = d, d != null && d.type === Q && d.key == null && (qe = Or(d.props.children)), l = qr(t, Ye(qe) ? qe : [qe], e, n, r, i, s, o, l, a, h), c.base = e.__e, e.__u &= -161, c.__h.length && o.push(c), k && (c.__E = c.__ = null);\n } catch (be) {\n if (e.__v = null, a || s != null) if (be.then) {\n for (e.__u |= a ? 160 : 128; l && l.nodeType == 8 && l.nextSibling; ) l = l.nextSibling;\n s[s.indexOf(l)] = null, e.__e = l;\n } else {\n for (It = s.length; It--; ) cn(s[It]);\n Wt(e);\n }\n else e.__e = n.__e, e.__k = n.__k, be.then || Wt(e);\n m.__e(be, e, n);\n }\n else s == null && e.__v == n.__v ? (e.__k = n.__k, e.__e = n.__e) : l = e.__e = Wi(n.__e, e, n, r, i, s, o, a, h);\n return (d = m.diffed) && d(e), 128 & e.__u ? void 0 : l;\n}\nfunction Wt(t) {\n t && t.__c && (t.__c.__e = !0), t && t.__k && t.__k.forEach(Wt);\n}\nfunction Lr(t, e, n) {\n for (var r = 0; r < n.length; r++) hn(n[r], n[++r], n[++r]);\n m.__c && m.__c(e, t), t.some(function(i) {\n try {\n t = i.__h, i.__h = [], t.some(function(s) {\n s.call(i);\n });\n } catch (s) {\n m.__e(s, i.__v);\n }\n });\n}\nfunction Or(t) {\n return typeof t != \"object\" || t == null || t.__b && t.__b > 0 ? t : Ye(t) ? t.map(Or) : Y({}, t);\n}\nfunction Wi(t, e, n, r, i, s, o, l, a) {\n var h, d, c, p, f, g, x, k = n.props, _ = e.props, w = e.type;\n if (w == \"svg\" ? i = \"http://www.w3.org/2000/svg\" : w == \"math\" ? i = \"http://www.w3.org/1998/Math/MathML\" : i || (i = \"http://www.w3.org/1999/xhtml\"), s != null) {\n for (h = 0; h < s.length; h++) if ((f = s[h]) && \"setAttribute\" in f == !!w && (w ? f.localName == w : f.nodeType == 3)) {\n t = f, s[h] = null;\n break;\n }\n }\n if (t == null) {\n if (w == null) return document.createTextNode(_);\n t = document.createElementNS(i, w, _.is && _), l && (m.__m && m.__m(e, s), l = !1), s = null;\n }\n if (w == null) k === _ || l && t.data == _ || (t.data = _);\n else {\n if (s = s && Xe.call(t.childNodes), k = n.props || We, !l && s != null) for (k = {}, h = 0; h < t.attributes.length; h++) k[(f = t.attributes[h]).name] = f.value;\n for (h in k) if (f = k[h], h != \"children\") {\n if (h == \"dangerouslySetInnerHTML\") c = f;\n else if (!(h in _)) {\n if (h == \"value\" && \"defaultValue\" in _ || h == \"checked\" && \"defaultChecked\" in _) continue;\n st(t, h, null, f, i);\n }\n }\n for (h in _) f = _[h], h == \"children\" ? p = f : h == \"dangerouslySetInnerHTML\" ? d = f : h == \"value\" ? g = f : h == \"checked\" ? x = f : l && typeof f != \"function\" || k[h] === f || st(t, h, f, k[h], i);\n if (d) l || c && (d.__html == c.__html || d.__html == t.innerHTML) || (t.innerHTML = d.__html), e.__k = [];\n else if (c && (t.innerHTML = \"\"), qr(e.type == \"template\" ? t.content : t, Ye(p) ? p : [p], e, n, r, w == \"foreignObject\" ? \"http://www.w3.org/1999/xhtml\" : i, s, o, s ? s[0] : n.__k && je(n, 0), l, a), s != null) for (h = s.length; h--; ) cn(s[h]);\n l || (h = \"value\", w == \"progress\" && g == null ? t.removeAttribute(\"value\") : g != null && (g !== t[h] || w == \"progress\" && !g || w == \"option\" && g != k[h]) && st(t, h, g, k[h], i), h = \"checked\", x != null && x != t[h] && st(t, h, x, k[h], i));\n }\n return t;\n}\nfunction hn(t, e, n) {\n try {\n if (typeof t == \"function\") {\n var r = typeof t.__u == \"function\";\n r && t.__u(), r && e == null || (t.__u = t(e));\n } else t.current = e;\n } catch (i) {\n m.__e(i, n);\n }\n}\nfunction Nr(t, e, n) {\n var r, i;\n if (m.unmount && m.unmount(t), (r = t.ref) && (r.current && r.current != t.__e || hn(r, null, e)), (r = t.__c) != null) {\n if (r.componentWillUnmount) try {\n r.componentWillUnmount();\n } catch (s) {\n m.__e(s, e);\n }\n r.base = r.__P = null;\n }\n if (r = t.__k) for (i = 0; i < r.length; i++) r[i] && Nr(r[i], e, n || typeof t.type != \"function\");\n n || cn(t.__e), t.__c = t.__ = t.__e = void 0;\n}\nfunction Hi(t, e, n) {\n return this.constructor(t, n);\n}\nfunction de(t, e, n) {\n var r, i, s, o;\n e == document && (e = document.documentElement), m.__ && m.__(t, e), i = (r = typeof n == \"function\") ? null : n && n.__k || e.__k, s = [], o = [], un(e, t = (!r && n || e).__k = z(Q, null, [t]), i || We, We, e.namespaceURI, !r && n ? [n] : i ? null : e.firstChild ? Xe.call(e.childNodes) : null, s, !r && n ? n : i ? i.__e : e.firstChild, r, o), Lr(s, t, o);\n}\nfunction zr(t, e) {\n de(t, e, zr);\n}\nfunction Ji(t, e, n) {\n var r, i, s, o, l = Y({}, t.props);\n for (s in t.type && t.type.defaultProps && (o = t.type.defaultProps), e) s == \"key\" ? r = e[s] : s == \"ref\" ? i = e[s] : l[s] = e[s] === void 0 && o != null ? o[s] : e[s];\n return arguments.length > 2 && (l.children = arguments.length > 3 ? Xe.call(arguments, 2) : n), Fe(t.type, l, r || t.key, i || t.ref, null);\n}\nfunction Gi(t) {\n function e(n) {\n var r, i;\n return this.getChildContext || (r = /* @__PURE__ */ new Set(), (i = {})[e.__c] = this, this.getChildContext = function() {\n return i;\n }, this.componentWillUnmount = function() {\n r = null;\n }, this.shouldComponentUpdate = function(s) {\n this.props.value != s.value && r.forEach(function(o) {\n o.__e = !0, Vt(o);\n });\n }, this.sub = function(s) {\n r.add(s);\n var o = s.componentWillUnmount;\n s.componentWillUnmount = function() {\n r && r.delete(s), o && o.call(s);\n };\n }), n.children;\n }\n return e.__c = \"__cC\" + Ir++, e.__ = t, e.Provider = e.__l = (e.Consumer = function(n, r) {\n return n.children(r);\n }).contextType = e, e;\n}\nXe = Er.slice, m = { __e: function(t, e, n, r) {\n for (var i, s, o; e = e.__; ) if ((i = e.__c) && !i.__) try {\n if ((s = i.constructor) && s.getDerivedStateFromError != null && (i.setState(s.getDerivedStateFromError(t)), o = i.__d), i.componentDidCatch != null && (i.componentDidCatch(t, r || {}), o = i.__d), o) return i.__E = i;\n } catch (l) {\n t = l;\n }\n throw t;\n} }, Cr = 0, Rr = function(t) {\n return t != null && t.constructor == null;\n}, V.prototype.setState = function(t, e) {\n var n;\n n = this.__s != null && this.__s != this.state ? this.__s : this.__s = Y({}, this.state), typeof t == \"function\" && (t = t(Y({}, n), this.props)), t && Y(n, t), t != null && this.__v && (e && this._sb.push(e), Vt(this));\n}, V.prototype.forceUpdate = function(t) {\n this.__v && (this.__e = !0, t && this.__h.push(t), Vt(this));\n}, V.prototype.render = Q, ce = [], Tr = typeof Promise == \"function\" ? Promise.prototype.then.bind(Promise.resolve()) : setTimeout, $r = function(t, e) {\n return t.__v.__b - e.__v.__b;\n}, ft.__r = 0, Ar = /(PointerCapture)$|Capture$/i, ln = 0, Dt = Mn(!1), Ut = Mn(!0), Ir = 0;\nvar Ki = 0;\nfunction u(t, e, n, r, i, s) {\n e || (e = {});\n var o, l, a = e;\n if (\"ref\" in a) for (l in a = {}, e) l == \"ref\" ? o = e[l] : a[l] = e[l];\n var h = { type: t, props: a, key: n, ref: o, __k: null, __: null, __b: 0, __e: null, __c: null, constructor: void 0, __v: --Ki, __i: -1, __u: 0, __source: i, __self: s };\n if (typeof t == \"function\" && (o = t.defaultProps)) for (l in o) a[l] === void 0 && (a[l] = o[l]);\n return m.vnode && m.vnode(h), h;\n}\nvar ae, S, Et, Ln, Ce = 0, Qr = [], j = m, On = j.__b, Nn = j.__r, zn = j.diffed, Qn = j.__c, Bn = j.unmount, Fn = j.__;\nfunction Ae(t, e) {\n j.__h && j.__h(S, t, Ce || e), Ce = 0;\n var n = S.__H || (S.__H = { __: [], __h: [] });\n return t >= n.__.length && n.__.push({}), n.__[t];\n}\nfunction T(t) {\n return Ce = 1, dn(Ur, t);\n}\nfunction dn(t, e, n) {\n var r = Ae(ae++, 2);\n if (r.t = t, !r.__c && (r.__ = [n ? n(e) : Ur(void 0, e), function(l) {\n var a = r.__N ? r.__N[0] : r.__[0], h = r.t(a, l);\n a !== h && (r.__N = [h, r.__[1]], r.__c.setState({}));\n }], r.__c = S, !S.__f)) {\n var i = function(l, a, h) {\n if (!r.__c.__H) return !0;\n var d = r.__c.__H.__.filter(function(p) {\n return !!p.__c;\n });\n if (d.every(function(p) {\n return !p.__N;\n })) return !s || s.call(this, l, a, h);\n var c = r.__c.props !== l;\n return d.forEach(function(p) {\n if (p.__N) {\n var f = p.__[0];\n p.__ = p.__N, p.__N = void 0, f !== p.__[0] && (c = !0);\n }\n }), s && s.call(this, l, a, h) || c;\n };\n S.__f = !0;\n var s = S.shouldComponentUpdate, o = S.componentWillUpdate;\n S.componentWillUpdate = function(l, a, h) {\n if (this.__e) {\n var d = s;\n s = void 0, i(l, a, h), s = d;\n }\n o && o.call(this, l, a, h);\n }, S.shouldComponentUpdate = i;\n }\n return r.__N || r.__;\n}\nfunction M(t, e) {\n var n = Ae(ae++, 3);\n !j.__s && fn(n.__H, e) && (n.__ = t, n.u = e, S.__H.__h.push(n));\n}\nfunction et(t, e) {\n var n = Ae(ae++, 4);\n !j.__s && fn(n.__H, e) && (n.__ = t, n.u = e, S.__h.push(n));\n}\nfunction tt(t) {\n return Ce = 5, B(function() {\n return { current: t };\n }, []);\n}\nfunction Br(t, e, n) {\n Ce = 6, et(function() {\n if (typeof t == \"function\") {\n var r = t(e());\n return function() {\n t(null), r && typeof r == \"function\" && r();\n };\n }\n if (t) return t.current = e(), function() {\n return t.current = null;\n };\n }, n == null ? n : n.concat(t));\n}\nfunction B(t, e) {\n var n = Ae(ae++, 7);\n return fn(n.__H, e) && (n.__ = t(), n.__H = e, n.__h = t), n.__;\n}\nfunction He(t, e) {\n return Ce = 8, B(function() {\n return t;\n }, e);\n}\nfunction kt(t) {\n var e = S.context[t.__c], n = Ae(ae++, 9);\n return n.c = t, e ? (n.__ == null && (n.__ = !0, e.sub(S)), e.props.value) : t.__;\n}\nfunction Fr(t, e) {\n j.useDebugValue && j.useDebugValue(e ? e(t) : t);\n}\nfunction Dr() {\n var t = Ae(ae++, 11);\n if (!t.__) {\n for (var e = S.__v; e !== null && !e.__m && e.__ !== null; ) e = e.__;\n var n = e.__m || (e.__m = [0, 0]);\n t.__ = \"P\" + n[0] + \"-\" + n[1]++;\n }\n return t.__;\n}\nfunction Zi() {\n for (var t; t = Qr.shift(); ) if (t.__P && t.__H) try {\n t.__H.__h.forEach(ut), t.__H.__h.forEach(Ht), t.__H.__h = [];\n } catch (e) {\n t.__H.__h = [], j.__e(e, t.__v);\n }\n}\nj.__b = function(t) {\n S = null, On && On(t);\n}, j.__ = function(t, e) {\n t && e.__k && e.__k.__m && (t.__m = e.__k.__m), Fn && Fn(t, e);\n}, j.__r = function(t) {\n Nn && Nn(t), ae = 0;\n var e = (S = t.__c).__H;\n e && (Et === S ? (e.__h = [], S.__h = [], e.__.forEach(function(n) {\n n.__N && (n.__ = n.__N), n.u = n.__N = void 0;\n })) : (e.__h.forEach(ut), e.__h.forEach(Ht), e.__h = [], ae = 0)), Et = S;\n}, j.diffed = function(t) {\n zn && zn(t);\n var e = t.__c;\n e && e.__H && (e.__H.__h.length && (Qr.push(e) !== 1 && Ln === j.requestAnimationFrame || ((Ln = j.requestAnimationFrame) || Xi)(Zi)), e.__H.__.forEach(function(n) {\n n.u && (n.__H = n.u), n.u = void 0;\n })), Et = S = null;\n}, j.__c = function(t, e) {\n e.some(function(n) {\n try {\n n.__h.forEach(ut), n.__h = n.__h.filter(function(r) {\n return !r.__ || Ht(r);\n });\n } catch (r) {\n e.some(function(i) {\n i.__h && (i.__h = []);\n }), e = [], j.__e(r, n.__v);\n }\n }), Qn && Qn(t, e);\n}, j.unmount = function(t) {\n Bn && Bn(t);\n var e, n = t.__c;\n n && n.__H && (n.__H.__.forEach(function(r) {\n try {\n ut(r);\n } catch (i) {\n e = i;\n }\n }), n.__H = void 0, e && j.__e(e, n.__v));\n};\nvar Dn = typeof requestAnimationFrame == \"function\";\nfunction Xi(t) {\n var e, n = function() {\n clearTimeout(r), Dn && cancelAnimationFrame(e), setTimeout(t);\n }, r = setTimeout(n, 35);\n Dn && (e = requestAnimationFrame(n));\n}\nfunction ut(t) {\n var e = S, n = t.__c;\n typeof n == \"function\" && (t.__c = void 0, n()), S = e;\n}\nfunction Ht(t) {\n var e = S;\n t.__c = t.__(), S = e;\n}\nfunction fn(t, e) {\n return !t || t.length !== e.length || e.some(function(n, r) {\n return n !== t[r];\n });\n}\nfunction Ur(t, e) {\n return typeof e == \"function\" ? e(t) : e;\n}\nfunction Vr(t, e) {\n for (var n in e) t[n] = e[n];\n return t;\n}\nfunction Jt(t, e) {\n for (var n in t) if (n !== \"__source\" && !(n in e)) return !0;\n for (var r in e) if (r !== \"__source\" && t[r] !== e[r]) return !0;\n return !1;\n}\nfunction Wr(t, e) {\n var n = e(), r = T({ t: { __: n, u: e } }), i = r[0].t, s = r[1];\n return et(function() {\n i.__ = n, i.u = e, Pt(i) && s({ t: i });\n }, [t, n, e]), M(function() {\n return Pt(i) && s({ t: i }), t(function() {\n Pt(i) && s({ t: i });\n });\n }, [t]), n;\n}\nfunction Pt(t) {\n var e, n, r = t.u, i = t.__;\n try {\n var s = r();\n return !((e = i) === (n = s) && (e !== 0 || 1 / e == 1 / n) || e != e && n != n);\n } catch {\n return !0;\n }\n}\nfunction Hr(t) {\n t();\n}\nfunction Jr(t) {\n return t;\n}\nfunction Gr() {\n return [!1, Hr];\n}\nvar Kr = et;\nfunction Gt(t, e) {\n this.props = t, this.context = e;\n}\nfunction Yi(t, e) {\n function n(i) {\n var s = this.props.ref, o = s == i.ref;\n return !o && s && (s.call ? s(null) : s.current = null), e ? !e(this.props, i) || !o : Jt(this.props, i);\n }\n function r(i) {\n return this.shouldComponentUpdate = n, z(t, i);\n }\n return r.displayName = \"Memo(\" + (t.displayName || t.name) + \")\", r.prototype.isReactComponent = !0, r.__f = !0, r.type = t, r;\n}\n(Gt.prototype = new V()).isPureReactComponent = !0, Gt.prototype.shouldComponentUpdate = function(t, e) {\n return Jt(this.props, t) || Jt(this.state, e);\n};\nvar Un = m.__b;\nm.__b = function(t) {\n t.type && t.type.__f && t.ref && (t.props.ref = t.ref, t.ref = null), Un && Un(t);\n};\nvar es = typeof Symbol < \"u\" && Symbol.for && /* @__PURE__ */ Symbol.for(\"react.forward_ref\") || 3911;\nfunction ts(t) {\n function e(n) {\n var r = Vr({}, n);\n return delete r.ref, t(r, n.ref || null);\n }\n return e.$$typeof = es, e.render = t, e.prototype.isReactComponent = e.__f = !0, e.displayName = \"ForwardRef(\" + (t.displayName || t.name) + \")\", e;\n}\nvar Vn = function(t, e) {\n return t == null ? null : ee(ee(t).map(e));\n}, ns = { map: Vn, forEach: Vn, count: function(t) {\n return t ? ee(t).length : 0;\n}, only: function(t) {\n var e = ee(t);\n if (e.length !== 1) throw \"Children.only\";\n return e[0];\n}, toArray: ee }, rs = m.__e;\nm.__e = function(t, e, n, r) {\n if (t.then) {\n for (var i, s = e; s = s.__; ) if ((i = s.__c) && i.__c) return e.__e == null && (e.__e = n.__e, e.__k = n.__k), i.__c(t, e);\n }\n rs(t, e, n, r);\n};\nvar Wn = m.unmount;\nfunction Zr(t, e, n) {\n return t && (t.__c && t.__c.__H && (t.__c.__H.__.forEach(function(r) {\n typeof r.__c == \"function\" && r.__c();\n }), t.__c.__H = null), (t = Vr({}, t)).__c != null && (t.__c.__P === n && (t.__c.__P = e), t.__c.__e = !0, t.__c = null), t.__k = t.__k && t.__k.map(function(r) {\n return Zr(r, e, n);\n })), t;\n}\nfunction Xr(t, e, n) {\n return t && n && (t.__v = null, t.__k = t.__k && t.__k.map(function(r) {\n return Xr(r, e, n);\n }), t.__c && t.__c.__P === e && (t.__e && n.appendChild(t.__e), t.__c.__e = !0, t.__c.__P = n)), t;\n}\nfunction ht() {\n this.__u = 0, this.o = null, this.__b = null;\n}\nfunction Yr(t) {\n var e = t.__.__c;\n return e && e.__a && e.__a(t);\n}\nfunction is(t) {\n var e, n, r;\n function i(s) {\n if (e || (e = t()).then(function(o) {\n n = o.default || o;\n }, function(o) {\n r = o;\n }), r) throw r;\n if (!n) throw e;\n return z(n, s);\n }\n return i.displayName = \"Lazy\", i.__f = !0, i;\n}\nfunction Ne() {\n this.i = null, this.l = null;\n}\nm.unmount = function(t) {\n var e = t.__c;\n e && e.__R && e.__R(), e && 32 & t.__u && (t.type = null), Wn && Wn(t);\n}, (ht.prototype = new V()).__c = function(t, e) {\n var n = e.__c, r = this;\n r.o == null && (r.o = []), r.o.push(n);\n var i = Yr(r.__v), s = !1, o = function() {\n s || (s = !0, n.__R = null, i ? i(l) : l());\n };\n n.__R = o;\n var l = function() {\n if (!--r.__u) {\n if (r.state.__a) {\n var a = r.state.__a;\n r.__v.__k[0] = Xr(a, a.__c.__P, a.__c.__O);\n }\n var h;\n for (r.setState({ __a: r.__b = null }); h = r.o.pop(); ) h.forceUpdate();\n }\n };\n r.__u++ || 32 & e.__u || r.setState({ __a: r.__b = r.__v.__k[0] }), t.then(o, o);\n}, ht.prototype.componentWillUnmount = function() {\n this.o = [];\n}, ht.prototype.render = function(t, e) {\n if (this.__b) {\n if (this.__v.__k) {\n var n = document.createElement(\"div\"), r = this.__v.__k[0].__c;\n this.__v.__k[0] = Zr(this.__b, n, r.__O = r.__P);\n }\n this.__b = null;\n }\n var i = e.__a && z(Q, null, t.fallback);\n return i && (i.__u &= -33), [z(Q, null, e.__a ? null : t.children), i];\n};\nvar Hn = function(t, e, n) {\n if (++n[1] === n[0] && t.l.delete(e), t.props.revealOrder && (t.props.revealOrder[0] !== \"t\" || !t.l.size)) for (n = t.i; n; ) {\n for (; n.length > 3; ) n.pop()();\n if (n[1] < n[0]) break;\n t.i = n = n[2];\n }\n};\nfunction ss(t) {\n return this.getChildContext = function() {\n return t.context;\n }, t.children;\n}\nfunction os(t) {\n var e = this, n = t.h;\n if (e.componentWillUnmount = function() {\n de(null, e.v), e.v = null, e.h = null;\n }, e.h && e.h !== n && e.componentWillUnmount(), !e.v) {\n for (var r = e.__v; r !== null && !r.__m && r.__ !== null; ) r = r.__;\n e.h = n, e.v = { nodeType: 1, parentNode: n, childNodes: [], __k: { __m: r.__m }, contains: function() {\n return !0;\n }, insertBefore: function(i, s) {\n this.childNodes.push(i), e.h.insertBefore(i, s);\n }, removeChild: function(i) {\n this.childNodes.splice(this.childNodes.indexOf(i) >>> 1, 1), e.h.removeChild(i);\n } };\n }\n de(z(ss, { context: e.context }, t.__v), e.v);\n}\nfunction as(t, e) {\n var n = z(os, { __v: t, h: e });\n return n.containerInfo = e, n;\n}\n(Ne.prototype = new V()).__a = function(t) {\n var e = this, n = Yr(e.__v), r = e.l.get(t);\n return r[0]++, function(i) {\n var s = function() {\n e.props.revealOrder ? (r.push(i), Hn(e, t, r)) : i();\n };\n n ? n(s) : s();\n };\n}, Ne.prototype.render = function(t) {\n this.i = null, this.l = /* @__PURE__ */ new Map();\n var e = ee(t.children);\n t.revealOrder && t.revealOrder[0] === \"b\" && e.reverse();\n for (var n = e.length; n--; ) this.l.set(e[n], this.i = [1, 0, this.i]);\n return t.children;\n}, Ne.prototype.componentDidUpdate = Ne.prototype.componentDidMount = function() {\n var t = this;\n this.l.forEach(function(e, n) {\n Hn(t, n, e);\n });\n};\nvar ei = typeof Symbol < \"u\" && Symbol.for && /* @__PURE__ */ Symbol.for(\"react.element\") || 60103, ls = /^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|dominant|fill|flood|font|glyph(?!R)|horiz|image(!S)|letter|lighting|marker(?!H|W|U)|overline|paint|pointer|shape|stop|strikethrough|stroke|text(?!L)|transform|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/, cs = /^on(Ani|Tra|Tou|BeforeInp|Compo)/, us = /[A-Z0-9]/g, hs = typeof document < \"u\", ds = function(t) {\n return (typeof Symbol < \"u\" && typeof /* @__PURE__ */ Symbol() == \"symbol\" ? /fil|che|rad/ : /fil|che|ra/).test(t);\n};\nfunction fs(t, e, n) {\n return e.__k == null && (e.textContent = \"\"), de(t, e), typeof n == \"function\" && n(), t ? t.__c : null;\n}\nfunction ps(t, e, n) {\n return zr(t, e), typeof n == \"function\" && n(), t ? t.__c : null;\n}\nV.prototype.isReactComponent = {}, [\"componentWillMount\", \"componentWillReceiveProps\", \"componentWillUpdate\"].forEach(function(t) {\n Object.defineProperty(V.prototype, t, { configurable: !0, get: function() {\n return this[\"UNSAFE_\" + t];\n }, set: function(e) {\n Object.defineProperty(this, t, { configurable: !0, writable: !0, value: e });\n } });\n});\nvar Jn = m.event;\nfunction gs() {\n}\nfunction ms() {\n return this.cancelBubble;\n}\nfunction xs() {\n return this.defaultPrevented;\n}\nm.event = function(t) {\n return Jn && (t = Jn(t)), t.persist = gs, t.isPropagationStopped = ms, t.isDefaultPrevented = xs, t.nativeEvent = t;\n};\nvar pn, bs = { enumerable: !1, configurable: !0, get: function() {\n return this.class;\n} }, Gn = m.vnode;\nm.vnode = function(t) {\n typeof t.type == \"string\" && (function(e) {\n var n = e.props, r = e.type, i = {}, s = r.indexOf(\"-\") === -1;\n for (var o in n) {\n var l = n[o];\n if (!(o === \"value\" && \"defaultValue\" in n && l == null || hs && o === \"children\" && r === \"noscript\" || o === \"class\" || o === \"className\")) {\n var a = o.toLowerCase();\n o === \"defaultValue\" && \"value\" in n && n.value == null ? o = \"value\" : o === \"download\" && l === !0 ? l = \"\" : a === \"translate\" && l === \"no\" ? l = !1 : a[0] === \"o\" && a[1] === \"n\" ? a === \"ondoubleclick\" ? o = \"ondblclick\" : a !== \"onchange\" || r !== \"input\" && r !== \"textarea\" || ds(n.type) ? a === \"onfocus\" ? o = \"onfocusin\" : a === \"onblur\" ? o = \"onfocusout\" : cs.test(o) && (o = a) : a = o = \"oninput\" : s && ls.test(o) ? o = o.replace(us, \"-$&\").toLowerCase() : l === null && (l = void 0), a === \"oninput\" && i[o = a] && (o = \"oninputCapture\"), i[o] = l;\n }\n }\n r == \"select\" && i.multiple && Array.isArray(i.value) && (i.value = ee(n.children).forEach(function(h) {\n h.props.selected = i.value.indexOf(h.props.value) != -1;\n })), r == \"select\" && i.defaultValue != null && (i.value = ee(n.children).forEach(function(h) {\n h.props.selected = i.multiple ? i.defaultValue.indexOf(h.props.value) != -1 : i.defaultValue == h.props.value;\n })), n.class && !n.className ? (i.class = n.class, Object.defineProperty(i, \"className\", bs)) : (n.className && !n.class || n.class && n.className) && (i.class = i.className = n.className), e.props = i;\n })(t), t.$$typeof = ei, Gn && Gn(t);\n};\nvar Kn = m.__r;\nm.__r = function(t) {\n Kn && Kn(t), pn = t.__c;\n};\nvar Zn = m.diffed;\nm.diffed = function(t) {\n Zn && Zn(t);\n var e = t.props, n = t.__e;\n n != null && t.type === \"textarea\" && \"value\" in e && e.value !== n.value && (n.value = e.value == null ? \"\" : e.value), pn = null;\n};\nvar ys = { ReactCurrentDispatcher: { current: { readContext: function(t) {\n return pn.__n[t.__c].props.value;\n}, useCallback: He, useContext: kt, useDebugValue: Fr, useDeferredValue: Jr, useEffect: M, useId: Dr, useImperativeHandle: Br, useInsertionEffect: Kr, useLayoutEffect: et, useMemo: B, useReducer: dn, useRef: tt, useState: T, useSyncExternalStore: Wr, useTransition: Gr } } };\nfunction vs(t) {\n return z.bind(null, t);\n}\nfunction St(t) {\n return !!t && t.$$typeof === ei;\n}\nfunction _s(t) {\n return St(t) && t.type === Q;\n}\nfunction ws(t) {\n return !!t && !!t.displayName && (typeof t.displayName == \"string\" || t.displayName instanceof String) && t.displayName.startsWith(\"Memo(\");\n}\nfunction ks(t) {\n return St(t) ? Ji.apply(null, arguments) : t;\n}\nfunction Ss(t) {\n return !!t.__k && (de(null, t), !0);\n}\nfunction js(t) {\n return t && (t.base || t.nodeType === 1 && t) || null;\n}\nvar Cs = function(t, e) {\n return t(e);\n}, Rs = function(t, e) {\n return t(e);\n}, Ts = Q, $s = St, gn = { useState: T, useId: Dr, useReducer: dn, useEffect: M, useLayoutEffect: et, useInsertionEffect: Kr, useTransition: Gr, useDeferredValue: Jr, useSyncExternalStore: Wr, startTransition: Hr, useRef: tt, useImperativeHandle: Br, useMemo: B, useCallback: He, useContext: kt, useDebugValue: Fr, version: \"18.3.1\", Children: ns, render: fs, hydrate: ps, unmountComponentAtNode: Ss, createPortal: as, createElement: z, createContext: Gi, createFactory: vs, cloneElement: ks, createRef: Di, Fragment: Q, isValidElement: St, isElement: $s, isFragment: _s, isMemo: ws, findDOMNode: js, Component: V, PureComponent: Gt, memo: Yi, forwardRef: ts, flushSync: Rs, unstable_batchedUpdates: Cs, StrictMode: Ts, Suspense: ht, SuspenseList: Ne, lazy: is, __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED: ys }, X = [], N = [], As = Uint8Array, qt = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\nfor (var ye = 0, Is = qt.length; ye < Is; ++ye)\n X[ye] = qt[ye], N[qt.charCodeAt(ye)] = ye;\nN[45] = 62;\nN[95] = 63;\nfunction Es(t) {\n var e = t.length;\n if (e % 4 > 0)\n throw new Error(\"Invalid string. Length must be a multiple of 4\");\n var n = t.indexOf(\"=\");\n n === -1 && (n = e);\n var r = n === e ? 0 : 4 - n % 4;\n return [n, r];\n}\nfunction Ps(t, e, n) {\n return (e + n) * 3 / 4 - n;\n}\nfunction Je(t) {\n var e, n = Es(t), r = n[0], i = n[1], s = new As(Ps(t, r, i)), o = 0, l = i > 0 ? r - 4 : r, a;\n for (a = 0; a < l; a += 4)\n e = N[t.charCodeAt(a)] << 18 | N[t.charCodeAt(a + 1)] << 12 | N[t.charCodeAt(a + 2)] << 6 | N[t.charCodeAt(a + 3)], s[o++] = e >> 16 & 255, s[o++] = e >> 8 & 255, s[o++] = e & 255;\n return i === 2 && (e = N[t.charCodeAt(a)] << 2 | N[t.charCodeAt(a + 1)] >> 4, s[o++] = e & 255), i === 1 && (e = N[t.charCodeAt(a)] << 10 | N[t.charCodeAt(a + 1)] << 4 | N[t.charCodeAt(a + 2)] >> 2, s[o++] = e >> 8 & 255, s[o++] = e & 255), s;\n}\nfunction qs(t) {\n return X[t >> 18 & 63] + X[t >> 12 & 63] + X[t >> 6 & 63] + X[t & 63];\n}\nfunction Ms(t, e, n) {\n for (var r, i = [], s = e; s < n; s += 3)\n r = (t[s] << 16 & 16711680) + (t[s + 1] << 8 & 65280) + (t[s + 2] & 255), i.push(qs(r));\n return i.join(\"\");\n}\nfunction Ge(t) {\n for (var e, n = t.length, r = n % 3, i = [], s = 16383, o = 0, l = n - r; o < l; o += s)\n i.push(\n Ms(\n t,\n o,\n o + s > l ? l : o + s\n )\n );\n return r === 1 ? (e = t[n - 1], i.push(X[e >> 2] + X[e << 4 & 63] + \"==\")) : r === 2 && (e = (t[n - 2] << 8) + t[n - 1], i.push(\n X[e >> 10] + X[e >> 4 & 63] + X[e << 2 & 63] + \"=\"\n )), i.join(\"\");\n}\nfunction re(t) {\n if (t === void 0)\n return {};\n if (!ti(t))\n throw new Error(\n `The arguments to a Convex function must be an object. Received: ${t}`\n );\n return t;\n}\nfunction Ls(t) {\n if (typeof t > \"u\")\n throw new Error(\n \"Client created with undefined deployment address. If you used an environment variable, check that it's set.\"\n );\n if (typeof t != \"string\")\n throw new Error(\n `Invalid deployment address: found ${t}\".`\n );\n if (!(t.startsWith(\"http:\") || t.startsWith(\"https:\")))\n throw new Error(\n `Invalid deployment address: Must start with \"https://\" or \"http://\". Found \"${t}\".`\n );\n try {\n new URL(t);\n } catch {\n throw new Error(\n `Invalid deployment address: \"${t}\" is not a valid URL. If you believe this URL is correct, use the \\`skipConvexDeploymentUrlCheck\\` option to bypass this.`\n );\n }\n if (t.endsWith(\".convex.site\"))\n throw new Error(\n `Invalid deployment address: \"${t}\" ends with .convex.site, which is used for HTTP Actions. Convex deployment URLs typically end with .convex.cloud? If you believe this URL is correct, use the \\`skipConvexDeploymentUrlCheck\\` option to bypass this.`\n );\n}\nfunction ti(t) {\n const e = typeof t == \"object\", n = Object.getPrototypeOf(t), r = n === null || n === Object.prototype || // Objects generated from other contexts (e.g. across Node.js `vm` modules) will not satisfy the previous\n // conditions but are still simple objects.\n n?.constructor?.name === \"Object\";\n return e && r;\n}\nconst ni = !0, Re = BigInt(\"-9223372036854775808\"), mn = BigInt(\"9223372036854775807\"), Kt = BigInt(\"0\"), Os = BigInt(\"8\"), Ns = BigInt(\"256\");\nfunction ri(t) {\n return Number.isNaN(t) || !Number.isFinite(t) || Object.is(t, -0);\n}\nfunction zs(t) {\n t < Kt && (t -= Re + Re);\n let e = t.toString(16);\n e.length % 2 === 1 && (e = \"0\" + e);\n const n = new Uint8Array(new ArrayBuffer(8));\n let r = 0;\n for (const i of e.match(/.{2}/g).reverse())\n n.set([parseInt(i, 16)], r++), t >>= Os;\n return Ge(n);\n}\nfunction Qs(t) {\n const e = Je(t);\n if (e.byteLength !== 8)\n throw new Error(\n `Received ${e.byteLength} bytes, expected 8 for $integer`\n );\n let n = Kt, r = Kt;\n for (const i of e)\n n += BigInt(i) * Ns ** r, r++;\n return n > mn && (n += Re + Re), n;\n}\nfunction Bs(t) {\n if (t < Re || mn < t)\n throw new Error(\n `BigInt ${t} does not fit into a 64-bit signed integer.`\n );\n const e = new ArrayBuffer(8);\n return new DataView(e).setBigInt64(0, t, !0), Ge(new Uint8Array(e));\n}\nfunction Fs(t) {\n const e = Je(t);\n if (e.byteLength !== 8)\n throw new Error(\n `Received ${e.byteLength} bytes, expected 8 for $integer`\n );\n return new DataView(e.buffer).getBigInt64(0, !0);\n}\nconst Ds = DataView.prototype.setBigInt64 ? Bs : zs, Us = DataView.prototype.getBigInt64 ? Fs : Qs, Xn = 1024;\nfunction ii(t) {\n if (t.length > Xn)\n throw new Error(\n `Field name ${t} exceeds maximum field name length ${Xn}.`\n );\n if (t.startsWith(\"$\"))\n throw new Error(`Field name ${t} starts with a '$', which is reserved.`);\n for (let e = 0; e < t.length; e += 1) {\n const n = t.charCodeAt(e);\n if (n < 32 || n >= 127)\n throw new Error(\n `Field name ${t} has invalid character '${t[e]}': Field names can only contain non-control ASCII characters`\n );\n }\n}\nfunction Te(t) {\n if (t === null || typeof t == \"boolean\" || typeof t == \"number\" || typeof t == \"string\")\n return t;\n if (Array.isArray(t))\n return t.map((r) => Te(r));\n if (typeof t != \"object\")\n throw new Error(`Unexpected type of ${t}`);\n const e = Object.entries(t);\n if (e.length === 1) {\n const r = e[0][0];\n if (r === \"$bytes\") {\n if (typeof t.$bytes != \"string\")\n throw new Error(`Malformed $bytes field on ${t}`);\n return Je(t.$bytes).buffer;\n }\n if (r === \"$integer\") {\n if (typeof t.$integer != \"string\")\n throw new Error(`Malformed $integer field on ${t}`);\n return Us(t.$integer);\n }\n if (r === \"$float\") {\n if (typeof t.$float != \"string\")\n throw new Error(`Malformed $float field on ${t}`);\n const i = Je(t.$float);\n if (i.byteLength !== 8)\n throw new Error(\n `Received ${i.byteLength} bytes, expected 8 for $float`\n );\n const o = new DataView(i.buffer).getFloat64(0, ni);\n if (!ri(o))\n throw new Error(`Float ${o} should be encoded as a number`);\n return o;\n }\n if (r === \"$set\")\n throw new Error(\n \"Received a Set which is no longer supported as a Convex type.\"\n );\n if (r === \"$map\")\n throw new Error(\n \"Received a Map which is no longer supported as a Convex type.\"\n );\n }\n const n = {};\n for (const [r, i] of Object.entries(t))\n ii(r), n[r] = Te(i);\n return n;\n}\nconst Yn = 16384;\nfunction De(t) {\n const e = JSON.stringify(t, (n, r) => r === void 0 ? \"undefined\" : typeof r == \"bigint\" ? `${r.toString()}n` : r);\n if (e.length > Yn) {\n const n = \"[...truncated]\";\n let r = Yn - n.length;\n const i = e.codePointAt(r - 1);\n return i !== void 0 && i > 65535 && (r -= 1), e.substring(0, r) + n;\n }\n return e;\n}\nfunction Zt(t, e, n, r) {\n if (t === void 0) {\n const o = n && ` (present at path ${n} in original object ${De(\n e\n )})`;\n throw new Error(\n `undefined is not a valid Convex value${o}. To learn about Convex's supported types, see https://docs.convex.dev/using/types.`\n );\n }\n if (t === null)\n return t;\n if (typeof t == \"bigint\") {\n if (t < Re || mn < t)\n throw new Error(\n `BigInt ${t} does not fit into a 64-bit signed integer.`\n );\n return { $integer: Ds(t) };\n }\n if (typeof t == \"number\")\n if (ri(t)) {\n const o = new ArrayBuffer(8);\n return new DataView(o).setFloat64(0, t, ni), { $float: Ge(new Uint8Array(o)) };\n } else\n return t;\n if (typeof t == \"boolean\" || typeof t == \"string\")\n return t;\n if (t instanceof ArrayBuffer)\n return { $bytes: Ge(new Uint8Array(t)) };\n if (Array.isArray(t))\n return t.map(\n (o, l) => Zt(o, e, n + `[${l}]`)\n );\n if (t instanceof Set)\n throw new Error(\n Mt(n, \"Set\", [...t], e)\n );\n if (t instanceof Map)\n throw new Error(\n Mt(n, \"Map\", [...t], e)\n );\n if (!ti(t)) {\n const o = t?.constructor?.name, l = o ? `${o} ` : \"\";\n throw new Error(\n Mt(n, l, t, e)\n );\n }\n const i = {}, s = Object.entries(t);\n s.sort(([o, l], [a, h]) => o === a ? 0 : o < a ? -1 : 1);\n for (const [o, l] of s)\n l !== void 0 && (ii(o), i[o] = Zt(l, e, n + `.${o}`));\n return i;\n}\nfunction Mt(t, e, n, r) {\n return t ? `${e}${De(\n n\n )} is not a supported Convex type (present at path ${t} in original object ${De(\n r\n )}). To learn about Convex's supported types, see https://docs.convex.dev/using/types.` : `${e}${De(\n n\n )} is not a supported Convex type.`;\n}\nfunction te(t) {\n return Zt(t, t, \"\");\n}\nvar Vs = Object.defineProperty, Ws = (t, e, n) => e in t ? Vs(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n, Lt = (t, e, n) => Ws(t, typeof e != \"symbol\" ? e + \"\" : e, n), er, tr;\nconst Hs = /* @__PURE__ */ Symbol.for(\"ConvexError\");\nclass Xt extends (tr = Error, er = Hs, tr) {\n constructor(e) {\n super(typeof e == \"string\" ? e : De(e)), Lt(this, \"name\", \"ConvexError\"), Lt(this, \"data\"), Lt(this, er, !0), this.data = e;\n }\n}\nconst si = () => Array.from({ length: 4 }, () => 0);\nsi();\nsi();\nconst nr = \"1.38.0\";\nvar Js = Object.defineProperty, Gs = (t, e, n) => e in t ? Js(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n, rr = (t, e, n) => Gs(t, typeof e != \"symbol\" ? e + \"\" : e, n);\nconst Ks = \"color:rgb(0, 145, 255)\";\nfunction oi(t) {\n switch (t) {\n case \"query\":\n return \"Q\";\n case \"mutation\":\n return \"M\";\n case \"action\":\n return \"A\";\n case \"any\":\n return \"?\";\n }\n}\nclass ai {\n constructor(e) {\n rr(this, \"_onLogLineFuncs\"), rr(this, \"_verbose\"), this._onLogLineFuncs = {}, this._verbose = e.verbose;\n }\n addLogLineListener(e) {\n let n = Math.random().toString(36).substring(2, 15);\n for (let r = 0; r < 10 && this._onLogLineFuncs[n] !== void 0; r++)\n n = Math.random().toString(36).substring(2, 15);\n return this._onLogLineFuncs[n] = e, () => {\n delete this._onLogLineFuncs[n];\n };\n }\n logVerbose(...e) {\n if (this._verbose)\n for (const n of Object.values(this._onLogLineFuncs))\n n(\"debug\", `${(/* @__PURE__ */ new Date()).toISOString()}`, ...e);\n }\n log(...e) {\n for (const n of Object.values(this._onLogLineFuncs))\n n(\"info\", ...e);\n }\n warn(...e) {\n for (const n of Object.values(this._onLogLineFuncs))\n n(\"warn\", ...e);\n }\n error(...e) {\n for (const n of Object.values(this._onLogLineFuncs))\n n(\"error\", ...e);\n }\n}\nfunction li(t) {\n const e = new ai(t);\n return e.addLogLineListener((n, ...r) => {\n switch (n) {\n case \"debug\":\n console.debug(...r);\n break;\n case \"info\":\n console.log(...r);\n break;\n case \"warn\":\n console.warn(...r);\n break;\n case \"error\":\n console.error(...r);\n break;\n default:\n console.log(...r);\n }\n }), e;\n}\nfunction ci(t) {\n return new ai(t);\n}\nfunction pt(t, e, n, r, i) {\n const s = oi(n);\n if (typeof i == \"object\" && (i = `ConvexError ${JSON.stringify(i.errorData, null, 2)}`), e === \"info\") {\n const o = i.match(/^\\[.*?\\] /);\n if (o === null) {\n t.error(\n `[CONVEX ${s}(${r})] Could not parse console.log`\n );\n return;\n }\n const l = i.slice(1, o[0].length - 2), a = i.slice(o[0].length);\n t.log(`%c[CONVEX ${s}(${r})] [${l}]`, Ks, a);\n } else\n t.error(`[CONVEX ${s}(${r})] ${i}`);\n}\nfunction Zs(t, e) {\n const n = `[CONVEX FATAL ERROR] ${e}`;\n return t.error(n), new Error(n);\n}\nfunction we(t, e, n) {\n return `[CONVEX ${oi(t)}(${e})] ${n.errorMessage}\n Called by client`;\n}\nfunction Yt(t, e) {\n return e.data = t.errorData, e;\n}\nfunction fe(t) {\n const e = t.split(\":\");\n let n, r;\n return e.length === 1 ? (n = e[0], r = \"default\") : (n = e.slice(0, e.length - 1).join(\":\"), r = e[e.length - 1]), n.endsWith(\".js\") && (n = n.slice(0, -3)), `${n}:${r}`;\n}\nfunction he(t, e) {\n return JSON.stringify({\n udfPath: fe(t),\n args: te(e)\n });\n}\nfunction ir(t, e, n) {\n const { initialNumItems: r, id: i } = n;\n return JSON.stringify({\n type: \"paginated\",\n udfPath: fe(t),\n args: te(e),\n options: te({ initialNumItems: r, id: i })\n });\n}\nvar Xs = Object.defineProperty, Ys = (t, e, n) => e in t ? Xs(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n, K = (t, e, n) => Ys(t, typeof e != \"symbol\" ? e + \"\" : e, n);\nclass eo {\n constructor() {\n K(this, \"nextQueryId\"), K(this, \"querySetVersion\"), K(this, \"querySet\"), K(this, \"queryIdToToken\"), K(this, \"identityVersion\"), K(this, \"auth\"), K(this, \"outstandingQueriesOlderThanRestart\"), K(this, \"outstandingAuthOlderThanRestart\"), K(this, \"paused\"), K(this, \"pendingQuerySetModifications\"), this.nextQueryId = 0, this.querySetVersion = 0, this.identityVersion = 0, this.querySet = /* @__PURE__ */ new Map(), this.queryIdToToken = /* @__PURE__ */ new Map(), this.outstandingQueriesOlderThanRestart = /* @__PURE__ */ new Set(), this.outstandingAuthOlderThanRestart = !1, this.paused = !1, this.pendingQuerySetModifications = /* @__PURE__ */ new Map();\n }\n hasSyncedPastLastReconnect() {\n return this.outstandingQueriesOlderThanRestart.size === 0 && !this.outstandingAuthOlderThanRestart;\n }\n markAuthCompletion() {\n this.outstandingAuthOlderThanRestart = !1;\n }\n subscribe(e, n, r, i) {\n const s = fe(e), o = he(s, n), l = this.querySet.get(o);\n if (l !== void 0)\n return l.numSubscribers += 1, {\n queryToken: o,\n modification: null,\n unsubscribe: () => this.removeSubscriber(o)\n };\n {\n const a = this.nextQueryId++, h = {\n id: a,\n canonicalizedUdfPath: s,\n args: n,\n numSubscribers: 1,\n journal: r,\n componentPath: i\n };\n this.querySet.set(o, h), this.queryIdToToken.set(a, o);\n const d = this.querySetVersion, c = this.querySetVersion + 1, p = {\n type: \"Add\",\n queryId: a,\n udfPath: s,\n args: [te(n)],\n journal: r,\n componentPath: i\n };\n return this.paused ? this.pendingQuerySetModifications.set(a, p) : this.querySetVersion = c, {\n queryToken: o,\n modification: {\n type: \"ModifyQuerySet\",\n baseVersion: d,\n newVersion: c,\n modifications: [p]\n },\n unsubscribe: () => this.removeSubscriber(o)\n };\n }\n }\n transition(e) {\n for (const n of e.modifications)\n switch (n.type) {\n case \"QueryUpdated\":\n case \"QueryFailed\": {\n this.outstandingQueriesOlderThanRestart.delete(n.queryId);\n const r = n.journal;\n if (r !== void 0) {\n const i = this.queryIdToToken.get(n.queryId);\n i !== void 0 && (this.querySet.get(i).journal = r);\n }\n break;\n }\n case \"QueryRemoved\": {\n this.outstandingQueriesOlderThanRestart.delete(n.queryId);\n break;\n }\n default:\n throw new Error(`Invalid modification ${n.type}`);\n }\n }\n queryId(e, n) {\n const r = fe(e), i = he(r, n), s = this.querySet.get(i);\n return s !== void 0 ? s.id : null;\n }\n isCurrentOrNewerAuthVersion(e) {\n return e >= this.identityVersion;\n }\n getAuth() {\n return this.auth;\n }\n setAuth(e) {\n this.auth = {\n tokenType: \"User\",\n value: e\n };\n const n = this.identityVersion;\n return this.paused || (this.identityVersion = n + 1), {\n type: \"Authenticate\",\n baseVersion: n,\n ...this.auth\n };\n }\n setAdminAuth(e, n) {\n const r = {\n tokenType: \"Admin\",\n value: e,\n impersonating: n\n };\n this.auth = r;\n const i = this.identityVersion;\n return this.paused || (this.identityVersion = i + 1), {\n type: \"Authenticate\",\n baseVersion: i,\n ...r\n };\n }\n clearAuth() {\n this.auth = void 0, this.markAuthCompletion();\n const e = this.identityVersion;\n return this.paused || (this.identityVersion = e + 1), {\n type: \"Authenticate\",\n tokenType: \"None\",\n baseVersion: e\n };\n }\n hasAuth() {\n return !!this.auth;\n }\n isNewAuth(e) {\n return this.auth?.value !== e;\n }\n queryPath(e) {\n const n = this.queryIdToToken.get(e);\n return n ? this.querySet.get(n).canonicalizedUdfPath : null;\n }\n queryArgs(e) {\n const n = this.queryIdToToken.get(e);\n return n ? this.querySet.get(n).args : null;\n }\n queryToken(e) {\n return this.queryIdToToken.get(e) ?? null;\n }\n queryJournal(e) {\n return this.querySet.get(e)?.journal;\n }\n restart() {\n this.unpause(), this.outstandingQueriesOlderThanRestart.clear();\n const e = [];\n for (const i of this.querySet.values()) {\n const s = {\n type: \"Add\",\n queryId: i.id,\n udfPath: i.canonicalizedUdfPath,\n args: [te(i.args)],\n journal: i.journal,\n componentPath: i.componentPath\n };\n e.push(s), this.outstandingQueriesOlderThanRestart.add(i.id);\n }\n this.querySetVersion = 1;\n const n = {\n type: \"ModifyQuerySet\",\n baseVersion: 0,\n newVersion: 1,\n modifications: e\n };\n if (!this.auth)\n return this.identityVersion = 0, [n, void 0];\n this.outstandingAuthOlderThanRestart = !0;\n const r = {\n type: \"Authenticate\",\n baseVersion: 0,\n ...this.auth\n };\n return this.identityVersion = 1, [n, r];\n }\n pause() {\n this.paused = !0;\n }\n resume() {\n const e = this.pendingQuerySetModifications.size > 0 ? {\n type: \"ModifyQuerySet\",\n baseVersion: this.querySetVersion,\n newVersion: ++this.querySetVersion,\n modifications: Array.from(\n this.pendingQuerySetModifications.values()\n )\n } : void 0, n = this.auth !== void 0 ? {\n type: \"Authenticate\",\n baseVersion: this.identityVersion++,\n ...this.auth\n } : void 0;\n return this.unpause(), [e, n];\n }\n unpause() {\n this.paused = !1, this.pendingQuerySetModifications.clear();\n }\n removeSubscriber(e) {\n const n = this.querySet.get(e);\n if (n.numSubscribers > 1)\n return n.numSubscribers -= 1, null;\n {\n this.querySet.delete(e), this.queryIdToToken.delete(n.id), this.outstandingQueriesOlderThanRestart.delete(n.id);\n const r = this.querySetVersion, i = this.querySetVersion + 1, s = {\n type: \"Remove\",\n queryId: n.id\n };\n return this.paused ? this.pendingQuerySetModifications.has(n.id) ? this.pendingQuerySetModifications.delete(n.id) : this.pendingQuerySetModifications.set(n.id, s) : this.querySetVersion = i, {\n type: \"ModifyQuerySet\",\n baseVersion: r,\n newVersion: i,\n modifications: [s]\n };\n }\n }\n}\nvar to = Object.defineProperty, no = (t, e, n) => e in t ? to(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n, ot = (t, e, n) => no(t, typeof e != \"symbol\" ? e + \"\" : e, n);\nclass ro {\n constructor(e, n) {\n this.logger = e, this.markConnectionStateDirty = n, ot(this, \"inflightRequests\"), ot(this, \"requestsOlderThanRestart\"), ot(this, \"inflightMutationsCount\", 0), ot(this, \"inflightActionsCount\", 0), this.inflightRequests = /* @__PURE__ */ new Map(), this.requestsOlderThanRestart = /* @__PURE__ */ new Set();\n }\n request(e, n) {\n const r = new Promise((i) => {\n const s = n ? \"Requested\" : \"NotSent\";\n this.inflightRequests.set(e.requestId, {\n message: e,\n status: { status: s, requestedAt: /* @__PURE__ */ new Date(), onResult: i }\n }), e.type === \"Mutation\" ? this.inflightMutationsCount++ : e.type === \"Action\" && this.inflightActionsCount++;\n });\n return this.markConnectionStateDirty(), r;\n }\n /**\n * Update the state after receiving a response.\n *\n * @returns A RequestId if the request is complete and its optimistic update\n * can be dropped, null otherwise.\n */\n onResponse(e) {\n const n = this.inflightRequests.get(e.requestId);\n if (n === void 0 || n.status.status === \"Completed\")\n return null;\n const r = n.message.type === \"Mutation\" ? \"mutation\" : \"action\", i = n.message.udfPath;\n for (const a of e.logLines)\n pt(this.logger, \"info\", r, i, a);\n const s = n.status;\n let o, l;\n if (e.success)\n o = {\n success: !0,\n logLines: e.logLines,\n value: Te(e.result)\n }, l = () => s.onResult(o);\n else {\n const a = e.result, { errorData: h } = e;\n pt(this.logger, \"error\", r, i, a), o = {\n success: !1,\n errorMessage: a,\n errorData: h !== void 0 ? Te(h) : void 0,\n logLines: e.logLines\n }, l = () => s.onResult(o);\n }\n return e.type === \"ActionResponse\" || !e.success ? (l(), this.inflightRequests.delete(e.requestId), this.requestsOlderThanRestart.delete(e.requestId), n.message.type === \"Action\" ? this.inflightActionsCount-- : n.message.type === \"Mutation\" && this.inflightMutationsCount--, this.markConnectionStateDirty(), { requestId: e.requestId, result: o }) : (n.status = {\n status: \"Completed\",\n result: o,\n ts: e.ts,\n onResolve: l\n }, null);\n }\n // Remove and returns completed requests.\n removeCompleted(e) {\n const n = /* @__PURE__ */ new Map();\n for (const [r, i] of this.inflightRequests.entries()) {\n const s = i.status;\n s.status === \"Completed\" && s.ts.lessThanOrEqual(e) && (s.onResolve(), n.set(r, s.result), i.message.type === \"Mutation\" ? this.inflightMutationsCount-- : i.message.type === \"Action\" && this.inflightActionsCount--, this.inflightRequests.delete(r), this.requestsOlderThanRestart.delete(r));\n }\n return n.size > 0 && this.markConnectionStateDirty(), n;\n }\n restart() {\n this.requestsOlderThanRestart = new Set(this.inflightRequests.keys());\n const e = [];\n for (const [n, r] of this.inflightRequests) {\n if (r.status.status === \"NotSent\") {\n r.status.status = \"Requested\", e.push(r.message);\n continue;\n }\n if (r.message.type === \"Mutation\")\n e.push(r.message);\n else if (r.message.type === \"Action\") {\n if (this.inflightRequests.delete(n), this.requestsOlderThanRestart.delete(n), this.inflightActionsCount--, r.status.status === \"Completed\")\n throw new Error(\"Action should never be in 'Completed' state\");\n r.status.onResult({\n success: !1,\n errorMessage: \"Connection lost while action was in flight\",\n logLines: []\n });\n }\n }\n return this.markConnectionStateDirty(), e;\n }\n resume() {\n const e = [];\n for (const [, n] of this.inflightRequests)\n if (n.status.status === \"NotSent\") {\n n.status.status = \"Requested\", e.push(n.message);\n continue;\n }\n return e;\n }\n /**\n * @returns true if there are any requests that have been requested but have\n * not be completed yet.\n */\n hasIncompleteRequests() {\n for (const e of this.inflightRequests.values())\n if (e.status.status === \"Requested\")\n return !0;\n return !1;\n }\n /**\n * @returns true if there are any inflight requests, including ones that have\n * completed on the server, but have not been applied.\n */\n hasInflightRequests() {\n return this.inflightRequests.size > 0;\n }\n /**\n * @returns true if there are any inflight requests, that have been hanging around\n * since prior to the most recent restart.\n */\n hasSyncedPastLastReconnect() {\n return this.requestsOlderThanRestart.size === 0;\n }\n timeOfOldestInflightRequest() {\n if (this.inflightRequests.size === 0)\n return null;\n let e = Date.now();\n for (const n of this.inflightRequests.values())\n n.status.status !== \"Completed\" && n.status.requestedAt.getTime() < e && (e = n.status.requestedAt.getTime());\n return new Date(e);\n }\n /**\n * @returns The number of mutations currently in flight.\n */\n inflightMutations() {\n return this.inflightMutationsCount;\n }\n /**\n * @returns The number of actions currently in flight.\n */\n inflightActions() {\n return this.inflightActionsCount;\n }\n}\nconst Ke = /* @__PURE__ */ Symbol.for(\"functionName\"), ui = /* @__PURE__ */ Symbol.for(\"toReferencePath\");\nfunction io(t) {\n return t[ui] ?? null;\n}\nfunction so(t) {\n return t.startsWith(\"function://\");\n}\nfunction oo(t) {\n let e;\n if (typeof t == \"string\")\n so(t) ? e = { functionHandle: t } : e = { name: t };\n else if (t[Ke])\n e = { name: t[Ke] };\n else {\n const n = io(t);\n if (!n)\n throw new Error(`${t} is not a functionReference`);\n e = { reference: n };\n }\n return e;\n}\nfunction P(t) {\n const e = oo(t);\n if (e.name === void 0)\n throw e.functionHandle !== void 0 ? new Error(\n `Expected function reference like \"api.file.func\" or \"internal.file.func\", but received function handle ${e.functionHandle}`\n ) : e.reference !== void 0 ? new Error(\n `Expected function reference in the current component like \"api.file.func\" or \"internal.file.func\", but received reference ${e.reference}`\n ) : new Error(\n `Expected function reference like \"api.file.func\" or \"internal.file.func\", but received ${JSON.stringify(e)}`\n );\n if (typeof t == \"string\") return t;\n const n = t[Ke];\n if (!n)\n throw new Error(`${t} is not a functionReference`);\n return n;\n}\nfunction hi(t) {\n return { [Ke]: t };\n}\nfunction di(t = []) {\n const e = {\n get(n, r) {\n if (typeof r == \"string\") {\n const i = [...t, r];\n return di(i);\n } else if (r === Ke) {\n if (t.length < 2) {\n const o = [\"api\", ...t].join(\".\");\n throw new Error(\n `API path is expected to be of the form \\`api.moduleName.functionName\\`. Found: \\`${o}\\``\n );\n }\n const i = t.slice(0, -1).join(\"/\"), s = t[t.length - 1];\n return s === \"default\" ? i : i + \":\" + s;\n } else return r === Symbol.toStringTag ? \"FunctionReference\" : void 0;\n }\n };\n return new Proxy({}, e);\n}\nconst ao = di();\nvar lo = Object.defineProperty, co = (t, e, n) => e in t ? lo(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n, gt = (t, e, n) => co(t, typeof e != \"symbol\" ? e + \"\" : e, n);\nclass Ze {\n constructor(e) {\n gt(this, \"queryResults\"), gt(this, \"modifiedQueries\"), this.queryResults = e, this.modifiedQueries = [];\n }\n getQuery(e, ...n) {\n const r = re(n[0]), i = P(e), s = this.queryResults.get(\n he(i, r)\n );\n if (s !== void 0)\n return Ze.queryValue(s.result);\n }\n getAllQueries(e) {\n const n = [], r = P(e);\n for (const i of this.queryResults.values())\n i.udfPath === fe(r) && n.push({\n args: i.args,\n value: Ze.queryValue(i.result)\n });\n return n;\n }\n setQuery(e, n, r) {\n const i = re(n), s = P(e), o = he(s, i);\n let l;\n r === void 0 ? l = void 0 : l = {\n success: !0,\n value: r,\n // It's an optimistic update, so there are no function logs to show.\n logLines: []\n };\n const a = {\n udfPath: s,\n args: i,\n result: l\n };\n this.queryResults.set(o, a), this.modifiedQueries.push(o);\n }\n static queryValue(e) {\n if (e !== void 0)\n return e.success ? e.value : void 0;\n }\n}\nclass uo {\n constructor() {\n gt(this, \"queryResults\"), gt(this, \"optimisticUpdates\"), this.queryResults = /* @__PURE__ */ new Map(), this.optimisticUpdates = [];\n }\n /**\n * Apply all optimistic updates on top of server query results\n */\n ingestQueryResultsFromServer(e, n) {\n this.optimisticUpdates = this.optimisticUpdates.filter((o) => !n.has(o.mutationId));\n const r = this.queryResults;\n this.queryResults = new Map(e);\n const i = new Ze(this.queryResults);\n for (const o of this.optimisticUpdates)\n o.update(i);\n const s = [];\n for (const [o, l] of this.queryResults) {\n const a = r.get(o);\n (a === void 0 || a.result !== l.result) && s.push(o);\n }\n return s;\n }\n applyOptimisticUpdate(e, n) {\n this.optimisticUpdates.push({\n update: e,\n mutationId: n\n });\n const r = new Ze(this.queryResults);\n return e(r), r.modifiedQueries;\n }\n /**\n * \"Raw\" with respect to errors vs values, but query results still have\n * optimistic updates applied.\n *\n * @internal\n */\n rawQueryResult(e) {\n const n = this.queryResults.get(e);\n if (n !== void 0)\n return n.result;\n }\n queryResult(e) {\n const n = this.queryResults.get(e);\n if (n === void 0)\n return;\n const r = n.result;\n if (r !== void 0) {\n if (r.success)\n return r.value;\n throw r.errorData !== void 0 ? Yt(\n r,\n new Xt(\n we(\"query\", n.udfPath, r)\n )\n ) : new Error(\n we(\"query\", n.udfPath, r)\n );\n }\n }\n hasQueryResult(e) {\n return this.queryResults.get(e) !== void 0;\n }\n /**\n * @internal\n */\n queryLogs(e) {\n return this.queryResults.get(e)?.result?.logLines;\n }\n}\nvar ho = Object.defineProperty, fo = (t, e, n) => e in t ? ho(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n, Ot = (t, e, n) => fo(t, typeof e != \"symbol\" ? e + \"\" : e, n);\nclass E {\n constructor(e, n) {\n Ot(this, \"low\"), Ot(this, \"high\"), Ot(this, \"__isUnsignedLong__\"), this.low = e | 0, this.high = n | 0, this.__isUnsignedLong__ = !0;\n }\n static isLong(e) {\n return (e && e.__isUnsignedLong__) === !0;\n }\n // prettier-ignore\n static fromBytesLE(e) {\n return new E(\n e[0] | e[1] << 8 | e[2] << 16 | e[3] << 24,\n e[4] | e[5] << 8 | e[6] << 16 | e[7] << 24\n );\n }\n // prettier-ignore\n toBytesLE() {\n const e = this.high, n = this.low;\n return [\n n & 255,\n n >>> 8 & 255,\n n >>> 16 & 255,\n n >>> 24,\n e & 255,\n e >>> 8 & 255,\n e >>> 16 & 255,\n e >>> 24\n ];\n }\n static fromNumber(e) {\n return isNaN(e) || e < 0 ? sr : e >= po ? go : new E(e % Ue | 0, e / Ue | 0);\n }\n toString() {\n return (BigInt(this.high) * BigInt(Ue) + BigInt(this.low)).toString();\n }\n equals(e) {\n return E.isLong(e) || (e = E.fromValue(e)), this.high >>> 31 === 1 && e.high >>> 31 === 1 ? !1 : this.high === e.high && this.low === e.low;\n }\n notEquals(e) {\n return !this.equals(e);\n }\n comp(e) {\n return E.isLong(e) || (e = E.fromValue(e)), this.equals(e) ? 0 : e.high >>> 0 > this.high >>> 0 || e.high === this.high && e.low >>> 0 > this.low >>> 0 ? -1 : 1;\n }\n lessThanOrEqual(e) {\n return this.comp(\n /* validates */\n e\n ) <= 0;\n }\n static fromValue(e) {\n return typeof e == \"number\" ? E.fromNumber(e) : new E(e.low, e.high);\n }\n}\nconst sr = new E(0, 0), or = 65536, Ue = or * or, po = Ue * Ue, go = new E(-1, -1);\nvar mo = Object.defineProperty, xo = (t, e, n) => e in t ? mo(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n, at = (t, e, n) => xo(t, typeof e != \"symbol\" ? e + \"\" : e, n);\nclass ar {\n constructor(e, n) {\n at(this, \"version\"), at(this, \"remoteQuerySet\"), at(this, \"queryPath\"), at(this, \"logger\"), this.version = { querySet: 0, ts: E.fromNumber(0), identity: 0 }, this.remoteQuerySet = /* @__PURE__ */ new Map(), this.queryPath = e, this.logger = n;\n }\n transition(e) {\n const n = e.startVersion;\n if (this.version.querySet !== n.querySet || this.version.ts.notEquals(n.ts) || this.version.identity !== n.identity)\n throw new Error(\n `Invalid start version: ${n.ts.toString()}:${n.querySet}:${n.identity}, transitioning from ${this.version.ts.toString()}:${this.version.querySet}:${this.version.identity}`\n );\n for (const r of e.modifications)\n switch (r.type) {\n case \"QueryUpdated\": {\n const i = this.queryPath(r.queryId);\n if (i)\n for (const o of r.logLines)\n pt(this.logger, \"info\", \"query\", i, o);\n const s = Te(r.value ?? null);\n this.remoteQuerySet.set(r.queryId, {\n success: !0,\n value: s,\n logLines: r.logLines\n });\n break;\n }\n case \"QueryFailed\": {\n const i = this.queryPath(r.queryId);\n if (i)\n for (const o of r.logLines)\n pt(this.logger, \"info\", \"query\", i, o);\n const { errorData: s } = r;\n this.remoteQuerySet.set(r.queryId, {\n success: !1,\n errorMessage: r.errorMessage,\n errorData: s !== void 0 ? Te(s) : void 0,\n logLines: r.logLines\n });\n break;\n }\n case \"QueryRemoved\": {\n this.remoteQuerySet.delete(r.queryId);\n break;\n }\n default:\n throw new Error(`Invalid modification ${r.type}`);\n }\n this.version = e.endVersion;\n }\n remoteQueryResults() {\n return this.remoteQuerySet;\n }\n timestamp() {\n return this.version.ts;\n }\n}\nfunction Nt(t) {\n const e = Je(t);\n return E.fromBytesLE(Array.from(e));\n}\nfunction bo(t) {\n const e = new Uint8Array(t.toBytesLE());\n return Ge(e);\n}\nfunction lr(t) {\n switch (t.type) {\n case \"FatalError\":\n case \"AuthError\":\n case \"ActionResponse\":\n case \"TransitionChunk\":\n case \"Ping\":\n return { ...t };\n case \"MutationResponse\":\n return t.success ? { ...t, ts: Nt(t.ts) } : { ...t };\n case \"Transition\":\n return {\n ...t,\n startVersion: {\n ...t.startVersion,\n ts: Nt(t.startVersion.ts)\n },\n endVersion: {\n ...t.endVersion,\n ts: Nt(t.endVersion.ts)\n }\n };\n }\n}\nfunction yo(t) {\n switch (t.type) {\n case \"Authenticate\":\n case \"ModifyQuerySet\":\n case \"Mutation\":\n case \"Action\":\n case \"Event\":\n return { ...t };\n case \"Connect\":\n return t.maxObservedTimestamp !== void 0 ? {\n ...t,\n maxObservedTimestamp: bo(t.maxObservedTimestamp)\n } : { ...t, maxObservedTimestamp: void 0 };\n }\n}\nvar vo = Object.defineProperty, _o = (t, e, n) => e in t ? vo(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n, C = (t, e, n) => _o(t, typeof e != \"symbol\" ? e + \"\" : e, n);\nconst wo = 1e3, ko = 1001, So = 1005, jo = 4040;\nlet dt;\nfunction _e() {\n return dt === void 0 && (dt = Date.now()), typeof performance > \"u\" || !performance.now ? Date.now() : Math.round(dt + performance.now());\n}\nfunction cr() {\n return `t=${Math.round((_e() - dt) / 100) / 10}s`;\n}\nconst fi = {\n // A known error, e.g. during a restart or push\n InternalServerError: { timeout: 1e3 },\n // ErrorMetadata::overloaded() messages that we realy should back off\n SubscriptionsWorkerFullError: { timeout: 3e3 },\n TooManyConcurrentRequests: { timeout: 3e3 },\n CommitterFullError: { timeout: 3e3 },\n AwsTooManyRequestsException: { timeout: 3e3 },\n ExecuteFullError: { timeout: 3e3 },\n SystemTimeoutError: { timeout: 3e3 },\n ExpiredInQueue: { timeout: 3e3 },\n // ErrorMetadata::feature_temporarily_unavailable() that typically indicate a deploy just happened\n VectorIndexesUnavailable: { timeout: 1e3 },\n SearchIndexesUnavailable: { timeout: 1e3 },\n TableSummariesUnavailable: { timeout: 1e3 },\n // More ErrorMetadata::overloaded()\n VectorIndexTooLarge: { timeout: 3e3 },\n SearchIndexTooLarge: { timeout: 3e3 },\n TooManyWritesInTimePeriod: { timeout: 3e3 }\n};\nfunction Co(t) {\n if (t === void 0) return \"Unknown\";\n for (const e of Object.keys(\n fi\n ))\n if (t.startsWith(e))\n return e;\n return \"Unknown\";\n}\nclass Ro {\n constructor(e, n, r, i, s, o) {\n this.markConnectionStateDirty = s, this.debug = o, C(this, \"socket\"), C(this, \"connectionCount\"), C(this, \"_hasEverConnected\", !1), C(this, \"lastCloseReason\"), C(this, \"transitionChunkBuffer\", null), C(this, \"defaultInitialBackoff\"), C(this, \"maxBackoff\"), C(this, \"retries\"), C(this, \"serverInactivityThreshold\"), C(this, \"reconnectDueToServerInactivityTimeout\"), C(this, \"scheduledReconnect\", null), C(this, \"networkOnlineHandler\", null), C(this, \"pendingNetworkRecoveryInfo\", null), C(this, \"uri\"), C(this, \"onOpen\"), C(this, \"onResume\"), C(this, \"onMessage\"), C(this, \"webSocketConstructor\"), C(this, \"logger\"), C(this, \"onServerDisconnectError\"), this.webSocketConstructor = r, this.socket = { state: \"disconnected\" }, this.connectionCount = 0, this.lastCloseReason = \"InitialConnect\", this.defaultInitialBackoff = 1e3, this.maxBackoff = 16e3, this.retries = 0, this.serverInactivityThreshold = 6e4, this.reconnectDueToServerInactivityTimeout = null, this.uri = e, this.onOpen = n.onOpen, this.onResume = n.onResume, this.onMessage = n.onMessage, this.onServerDisconnectError = n.onServerDisconnectError, this.logger = i, this.setupNetworkListener(), this.connect();\n }\n setSocketState(e) {\n this.socket = e, this._logVerbose(\n `socket state changed: ${this.socket.state}, paused: ${\"paused\" in this.socket ? this.socket.paused : void 0}`\n ), this.markConnectionStateDirty();\n }\n setupNetworkListener() {\n typeof window > \"u\" || typeof window.addEventListener != \"function\" || this.networkOnlineHandler === null && (this.networkOnlineHandler = () => {\n this._logVerbose(\"network online event detected\"), this.tryReconnectImmediately();\n }, window.addEventListener(\"online\", this.networkOnlineHandler), this._logVerbose(\"network online event listener registered\"));\n }\n cleanupNetworkListener() {\n this.networkOnlineHandler && typeof window < \"u\" && typeof window.removeEventListener == \"function\" && (window.removeEventListener(\"online\", this.networkOnlineHandler), this.networkOnlineHandler = null, this._logVerbose(\"network online event listener removed\"));\n }\n assembleTransition(e) {\n if (e.partNumber < 0 || e.partNumber >= e.totalParts || e.totalParts === 0 || this.transitionChunkBuffer && (this.transitionChunkBuffer.totalParts !== e.totalParts || this.transitionChunkBuffer.transitionId !== e.transitionId))\n throw this.transitionChunkBuffer = null, new Error(\"Invalid TransitionChunk\");\n if (this.transitionChunkBuffer === null && (this.transitionChunkBuffer = {\n chunks: [],\n totalParts: e.totalParts,\n transitionId: e.transitionId\n }), e.partNumber !== this.transitionChunkBuffer.chunks.length) {\n const n = this.transitionChunkBuffer.chunks.length;\n throw this.transitionChunkBuffer = null, new Error(\n `TransitionChunk received out of order: expected part ${n}, got ${e.partNumber}`\n );\n }\n if (this.transitionChunkBuffer.chunks.push(e.chunk), this.transitionChunkBuffer.chunks.length === e.totalParts) {\n const n = this.transitionChunkBuffer.chunks.join(\"\");\n this.transitionChunkBuffer = null;\n const r = lr(JSON.parse(n));\n if (r.type !== \"Transition\")\n throw new Error(\n `Expected Transition, got ${r.type} after assembling chunks`\n );\n return r;\n }\n return null;\n }\n connect() {\n if (this.socket.state === \"terminated\")\n return;\n if (this.socket.state !== \"disconnected\" && this.socket.state !== \"stopped\")\n throw new Error(\n \"Didn't start connection from disconnected state: \" + this.socket.state\n );\n const e = new this.webSocketConstructor(this.uri);\n this._logVerbose(\"constructed WebSocket\"), this.setSocketState({\n state: \"connecting\",\n ws: e,\n paused: \"no\"\n }), this.resetServerInactivityTimeout(), e.onopen = () => {\n if (this.logger.logVerbose(\"begin ws.onopen\"), this.socket.state !== \"connecting\")\n throw new Error(\"onopen called with socket not in connecting state\");\n if (this.setSocketState({\n state: \"ready\",\n ws: e,\n paused: this.socket.paused === \"yes\" ? \"uninitialized\" : \"no\"\n }), this.resetServerInactivityTimeout(), this.socket.paused === \"no\" && (this._hasEverConnected = !0, this.onOpen({\n connectionCount: this.connectionCount,\n lastCloseReason: this.lastCloseReason,\n clientTs: _e()\n })), this.lastCloseReason !== \"InitialConnect\" && (this.lastCloseReason ? this.logger.log(\n \"WebSocket reconnected at\",\n cr(),\n \"after disconnect due to\",\n this.lastCloseReason\n ) : this.logger.log(\"WebSocket reconnected at\", cr())), this.connectionCount += 1, this.lastCloseReason = null, this.pendingNetworkRecoveryInfo !== null) {\n const { timeSavedMs: n } = this.pendingNetworkRecoveryInfo;\n this.pendingNetworkRecoveryInfo = null, this.sendMessage({\n type: \"Event\",\n eventType: \"NetworkRecoveryReconnect\",\n event: { timeSavedMs: n }\n }), this.logger.log(\n `Network recovery reconnect saved ~${Math.round(n / 1e3)}s of waiting`\n );\n }\n }, e.onerror = (n) => {\n this.transitionChunkBuffer = null;\n const r = n.message;\n r && this.logger.log(`WebSocket error message: ${r}`);\n }, e.onmessage = (n) => {\n this.resetServerInactivityTimeout();\n const r = n.data.length;\n let i = lr(JSON.parse(n.data));\n if (this._logVerbose(`received ws message with type ${i.type}`), i.type === \"Ping\")\n return;\n if (i.type === \"TransitionChunk\") {\n const o = this.assembleTransition(i);\n if (!o)\n return;\n i = o, this._logVerbose(\n `assembled full ws message of type ${i.type}`\n );\n }\n this.transitionChunkBuffer !== null && (this.transitionChunkBuffer = null, this.logger.log(\n `Received unexpected ${i.type} while buffering TransitionChunks`\n )), i.type === \"Transition\" && this.reportLargeTransition({\n messageLength: r,\n transition: i\n }), this.onMessage(i).hasSyncedPastLastReconnect && (this.retries = 0, this.markConnectionStateDirty());\n }, e.onclose = (n) => {\n if (this._logVerbose(\"begin ws.onclose\"), this.transitionChunkBuffer = null, this.lastCloseReason === null && (this.lastCloseReason = n.reason || `closed with code ${n.code}`), n.code !== wo && n.code !== ko && // This commonly gets fired on mobile apps when the app is backgrounded\n n.code !== So && n.code !== jo) {\n let i = `WebSocket closed with code ${n.code}`;\n n.reason && (i += `: ${n.reason}`), this.logger.log(i), this.onServerDisconnectError && n.reason && this.onServerDisconnectError(i);\n }\n const r = Co(n.reason);\n this.scheduleReconnect(r);\n };\n }\n /**\n * @returns The state of the {@link Socket}.\n */\n socketState() {\n return this.socket.state;\n }\n /**\n * @param message - A ClientMessage to send.\n * @returns Whether the message (might have been) sent.\n */\n sendMessage(e) {\n const n = {\n type: e.type,\n ...e.type === \"Authenticate\" && e.tokenType === \"User\" ? {\n value: `...${e.value.slice(-7)}`\n } : {}\n };\n if (this.socket.state === \"ready\" && this.socket.paused === \"no\") {\n const r = yo(e), i = JSON.stringify(r);\n let s = !1;\n try {\n this.socket.ws.send(i), s = !0;\n } catch (o) {\n this.logger.log(\n `Failed to send message on WebSocket, reconnecting: ${o}`\n ), this.closeAndReconnect(\"FailedToSendMessage\");\n }\n return this._logVerbose(\n `${s ? \"sent\" : \"failed to send\"} message with type ${e.type}: ${JSON.stringify(\n n\n )}`\n ), !0;\n }\n return this._logVerbose(\n `message not sent (socket state: ${this.socket.state}, paused: ${\"paused\" in this.socket ? this.socket.paused : void 0}): ${JSON.stringify(\n n\n )}`\n ), !1;\n }\n resetServerInactivityTimeout() {\n this.socket.state !== \"terminated\" && (this.reconnectDueToServerInactivityTimeout !== null && (clearTimeout(this.reconnectDueToServerInactivityTimeout), this.reconnectDueToServerInactivityTimeout = null), this.reconnectDueToServerInactivityTimeout = setTimeout(() => {\n this.closeAndReconnect(\"InactiveServer\");\n }, this.serverInactivityThreshold));\n }\n scheduleReconnect(e) {\n this.scheduledReconnect && (clearTimeout(this.scheduledReconnect.timeout), this.scheduledReconnect = null), this.socket = { state: \"disconnected\" };\n const n = this.nextBackoff(e);\n this.markConnectionStateDirty(), this.logger.log(`Attempting reconnect in ${Math.round(n)}ms`);\n const r = _e(), i = setTimeout(() => {\n this.scheduledReconnect?.timeout === i && (this.scheduledReconnect = null, this.connect());\n }, n);\n this.scheduledReconnect = {\n timeout: i,\n scheduledAt: r,\n backoffMs: n\n };\n }\n /**\n * Close the WebSocket and schedule a reconnect.\n *\n * This should be used when we hit an error and would like to restart the session.\n */\n closeAndReconnect(e) {\n switch (this._logVerbose(`begin closeAndReconnect with reason ${e}`), this.socket.state) {\n case \"disconnected\":\n case \"terminated\":\n case \"stopped\":\n return;\n case \"connecting\":\n case \"ready\": {\n this.lastCloseReason = e, this.close(), this.scheduleReconnect(\"client\");\n return;\n }\n default:\n this.socket;\n }\n }\n /**\n * Close the WebSocket, being careful to clear the onclose handler to avoid re-entrant\n * calls. Use this instead of directly calling `ws.close()`\n *\n * It is the callers responsibility to update the state after this method is called so that the\n * closed socket is not accessible or used again after this method is called\n */\n close() {\n switch (this.transitionChunkBuffer = null, this.socket.state) {\n case \"disconnected\":\n case \"terminated\":\n case \"stopped\":\n return Promise.resolve();\n case \"connecting\": {\n const e = this.socket.ws;\n return e.onmessage = (n) => {\n this._logVerbose(\"Ignoring message received after close\");\n }, new Promise((n) => {\n e.onclose = () => {\n this._logVerbose(\"Closed after connecting\"), n();\n }, e.onopen = () => {\n this._logVerbose(\"Opened after connecting\"), e.close();\n };\n });\n }\n case \"ready\": {\n this._logVerbose(\"ws.close called\");\n const e = this.socket.ws;\n e.onmessage = (r) => {\n this._logVerbose(\"Ignoring message received after close\");\n };\n const n = new Promise((r) => {\n e.onclose = () => {\n r();\n };\n });\n return e.close(), n;\n }\n default:\n return this.socket, Promise.resolve();\n }\n }\n /**\n * Close the WebSocket and do not reconnect.\n * @returns A Promise that resolves when the WebSocket `onClose` callback is called.\n */\n terminate() {\n switch (this.reconnectDueToServerInactivityTimeout && clearTimeout(this.reconnectDueToServerInactivityTimeout), this.scheduledReconnect && (clearTimeout(this.scheduledReconnect.timeout), this.scheduledReconnect = null), this.cleanupNetworkListener(), this.socket.state) {\n case \"terminated\":\n case \"stopped\":\n case \"disconnected\":\n case \"connecting\":\n case \"ready\": {\n const e = this.close();\n return this.setSocketState({ state: \"terminated\" }), e;\n }\n default:\n throw this.socket, new Error(\n `Invalid websocket state: ${this.socket.state}`\n );\n }\n }\n stop() {\n switch (this.socket.state) {\n case \"terminated\":\n return Promise.resolve();\n case \"connecting\":\n case \"stopped\":\n case \"disconnected\":\n case \"ready\": {\n this.cleanupNetworkListener();\n const e = this.close();\n return this.socket = { state: \"stopped\" }, e;\n }\n default:\n return this.socket, Promise.resolve();\n }\n }\n /**\n * Create a new WebSocket after a previous `stop()`, unless `terminate()` was\n * called before.\n */\n tryRestart() {\n switch (this.socket.state) {\n case \"stopped\":\n break;\n case \"terminated\":\n case \"connecting\":\n case \"ready\":\n case \"disconnected\":\n this.logger.logVerbose(\"Restart called without stopping first\");\n return;\n default:\n this.socket;\n }\n this.setupNetworkListener(), this.connect();\n }\n pause() {\n switch (this.socket.state) {\n case \"disconnected\":\n case \"stopped\":\n case \"terminated\":\n return;\n case \"connecting\":\n case \"ready\": {\n this.socket = { ...this.socket, paused: \"yes\" };\n return;\n }\n default: {\n this.socket;\n return;\n }\n }\n }\n /**\n * Try to reconnect immediately, canceling any scheduled reconnect.\n * This is useful when detecting network recovery.\n * Only takes action if we're in disconnected state (waiting to reconnect).\n */\n tryReconnectImmediately() {\n if (this._logVerbose(\"tryReconnectImmediately called\"), this.socket.state !== \"disconnected\") {\n this._logVerbose(\n `tryReconnectImmediately called but socket state is ${this.socket.state}, no action taken`\n );\n return;\n }\n let e = null;\n if (this.scheduledReconnect) {\n const n = _e() - this.scheduledReconnect.scheduledAt;\n e = Math.max(0, this.scheduledReconnect.backoffMs - n), this._logVerbose(\n `would have waited ${Math.round(e)}ms more (backoff was ${Math.round(this.scheduledReconnect.backoffMs)}ms, elapsed ${Math.round(n)}ms)`\n ), clearTimeout(this.scheduledReconnect.timeout), this.scheduledReconnect = null, this._logVerbose(\"canceled scheduled reconnect\");\n }\n this.logger.log(\"Network recovery detected, reconnecting immediately\"), this.pendingNetworkRecoveryInfo = e !== null ? { timeSavedMs: e } : null, this.connect();\n }\n /**\n * Resume the state machine if previously paused.\n */\n resume() {\n switch (this.socket.state) {\n case \"connecting\":\n this.socket = { ...this.socket, paused: \"no\" };\n return;\n case \"ready\":\n this.socket.paused === \"uninitialized\" ? (this.socket = { ...this.socket, paused: \"no\" }, this._hasEverConnected = !0, this.onOpen({\n connectionCount: this.connectionCount,\n lastCloseReason: this.lastCloseReason,\n clientTs: _e()\n })) : this.socket.paused === \"yes\" && (this.socket = { ...this.socket, paused: \"no\" }, this.onResume());\n return;\n case \"terminated\":\n case \"stopped\":\n case \"disconnected\":\n return;\n default:\n this.socket;\n }\n this.connect();\n }\n connectionState() {\n return {\n isConnected: this.socket.state === \"ready\",\n hasEverConnected: this._hasEverConnected,\n connectionCount: this.connectionCount,\n connectionRetries: this.retries\n };\n }\n _logVerbose(e) {\n this.logger.logVerbose(e);\n }\n nextBackoff(e) {\n const r = (e === \"client\" ? 100 : e === \"Unknown\" ? this.defaultInitialBackoff : fi[e].timeout) * Math.pow(2, this.retries);\n this.retries += 1;\n const i = Math.min(r, this.maxBackoff), s = i * (Math.random() - 0.5);\n return i + s;\n }\n reportLargeTransition({\n transition: e,\n messageLength: n\n }) {\n if (e.clientClockSkew === void 0 || e.serverTs === void 0)\n return;\n const r = _e() - // client time now\n // clientClockSkew = (server time + upstream latency) - client time\n // clientClockSkew is \"how many milliseconds behind (slow) is the client clock\"\n // but the latency of the Connect message inflates this, making it appear further behind\n e.clientClockSkew - e.serverTs / 1e6, i = `${Math.round(r)}ms`, s = `${Math.round(n / 1e4) / 100}MB`, o = n / (r / 1e3), l = `${Math.round(o / 1e4) / 100}MB per second`;\n this._logVerbose(\n `received ${s} transition in ${i} at ${l}`\n ), n > 2e7 ? this.logger.log(\n `received query results totaling more that 20MB (${s}) which will take a long time to download on slower connections`\n ) : r > 2e4 && this.logger.log(\n `received query results totaling ${s} which took more than 20s to arrive (${i})`\n ), this.debug && this.sendMessage({\n type: \"Event\",\n eventType: \"ClientReceivedTransition\",\n event: { transitionTransitTime: r, messageLength: n }\n });\n }\n}\nfunction To() {\n return $o();\n}\nfunction $o() {\n return \"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/g, (t) => {\n const e = Math.random() * 16 | 0;\n return (t === \"x\" ? e : e & 3 | 8).toString(16);\n });\n}\nclass ze extends Error {\n}\nze.prototype.name = \"InvalidTokenError\";\nfunction Ao(t) {\n return decodeURIComponent(\n atob(t).replace(/(.)/g, (e, n) => {\n let r = n.charCodeAt(0).toString(16).toUpperCase();\n return r.length < 2 && (r = \"0\" + r), \"%\" + r;\n })\n );\n}\nfunction Io(t) {\n let e = t.replace(/-/g, \"+\").replace(/_/g, \"/\");\n switch (e.length % 4) {\n case 0:\n break;\n case 2:\n e += \"==\";\n break;\n case 3:\n e += \"=\";\n break;\n default:\n throw new Error(\"base64 string is not of the correct length\");\n }\n try {\n return Ao(e);\n } catch {\n return atob(e);\n }\n}\nfunction pi(t, e) {\n if (typeof t != \"string\")\n throw new ze(\"Invalid token specified: must be a string\");\n e || (e = {});\n const n = e.header === !0 ? 0 : 1, r = t.split(\".\")[n];\n if (typeof r != \"string\")\n throw new ze(\n `Invalid token specified: missing part #${n + 1}`\n );\n let i;\n try {\n i = Io(r);\n } catch (s) {\n throw new ze(\n `Invalid token specified: invalid base64 for part #${n + 1} (${s.message})`\n );\n }\n try {\n return JSON.parse(i);\n } catch (s) {\n throw new ze(\n `Invalid token specified: invalid json for part #${n + 1} (${s.message})`\n );\n }\n}\nvar Eo = Object.defineProperty, Po = (t, e, n) => e in t ? Eo(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n, O = (t, e, n) => Po(t, typeof e != \"symbol\" ? e + \"\" : e, n);\nconst qo = 480 * 60 * 60 * 1e3, ur = 2;\nclass Mo {\n constructor(e, n, r) {\n O(this, \"authState\", { state: \"noAuth\" }), O(this, \"configVersion\", 0), O(this, \"syncState\"), O(this, \"authenticate\"), O(this, \"stopSocket\"), O(this, \"tryRestartSocket\"), O(this, \"pauseSocket\"), O(this, \"resumeSocket\"), O(this, \"clearAuth\"), O(this, \"logger\"), O(this, \"refreshTokenLeewaySeconds\"), O(this, \"tokenConfirmationAttempts\", 0), this.syncState = e, this.authenticate = n.authenticate, this.stopSocket = n.stopSocket, this.tryRestartSocket = n.tryRestartSocket, this.pauseSocket = n.pauseSocket, this.resumeSocket = n.resumeSocket, this.clearAuth = n.clearAuth, this.logger = r.logger, this.refreshTokenLeewaySeconds = r.refreshTokenLeewaySeconds;\n }\n async setConfig(e, n) {\n this.resetAuthState(), this._logVerbose(\"pausing WS for auth token fetch\"), this.pauseSocket();\n const r = await this.fetchTokenAndGuardAgainstRace(e, {\n forceRefreshToken: !1\n });\n r.isFromOutdatedConfig || (r.value ? (this.setAuthState({\n state: \"waitingForServerConfirmationOfCachedToken\",\n config: { fetchToken: e, onAuthChange: n },\n hasRetried: !1\n }), this.authenticate(r.value)) : (this.setAuthState({\n state: \"initialRefetch\",\n config: { fetchToken: e, onAuthChange: n }\n }), await this.refetchToken()), this._logVerbose(\"resuming WS after auth token fetch\"), this.resumeSocket());\n }\n onTransition(e) {\n if (this.syncState.isCurrentOrNewerAuthVersion(\n e.endVersion.identity\n ) && !(e.endVersion.identity <= e.startVersion.identity)) {\n if (this._logVerbose(\n `auth state is ${this.authState.state} when handling transition`\n ), this.syncState.markAuthCompletion(), this.authState.state === \"waitingForServerConfirmationOfCachedToken\") {\n this._logVerbose(\"server confirmed auth token is valid\"), this.refetchToken(), this.authState.config.onAuthChange(!0);\n return;\n }\n this.authState.state === \"waitingForServerConfirmationOfFreshToken\" && (this._logVerbose(\"server confirmed new auth token is valid\"), this.scheduleTokenRefetch(this.authState.token), this.tokenConfirmationAttempts = 0, this.authState.hadAuth || this.authState.config.onAuthChange(!0));\n }\n }\n onAuthError(e) {\n if (e.authUpdateAttempted === !1 && (this.authState.state === \"waitingForServerConfirmationOfFreshToken\" || this.authState.state === \"waitingForServerConfirmationOfCachedToken\")) {\n this._logVerbose(\"ignoring non-auth token expired error\");\n return;\n }\n const { baseVersion: n } = e;\n if (!this.syncState.isCurrentOrNewerAuthVersion(n + 1)) {\n this._logVerbose(\"ignoring auth error for previous auth attempt\");\n return;\n }\n this.tryToReauthenticate(e);\n }\n // This is similar to `refetchToken` defined below, in fact we\n // don't represent them as different states, but it is different\n // in that we pause the WebSocket so that mutations\n // don't retry with bad auth.\n async tryToReauthenticate(e) {\n if (this._logVerbose(`attempting to reauthenticate: ${e.error}`), // No way to fetch another token, kaboom\n this.authState.state === \"noAuth\" || // We failed on a fresh token. After a small number of retries, we give up\n // and clear the auth state to avoid infinite retries.\n this.authState.state === \"waitingForServerConfirmationOfFreshToken\" && this.tokenConfirmationAttempts >= ur) {\n this.logger.error(\n `Failed to authenticate: \"${e.error}\", check your server auth config`\n ), this.syncState.hasAuth() && this.syncState.clearAuth(), this.authState.state !== \"noAuth\" && this.setAndReportAuthFailed(this.authState.config.onAuthChange);\n return;\n }\n this.authState.state === \"waitingForServerConfirmationOfFreshToken\" && (this.tokenConfirmationAttempts++, this._logVerbose(\n `retrying reauthentication, ${ur - this.tokenConfirmationAttempts} attempts remaining`\n )), await this.stopSocket();\n const n = await this.fetchTokenAndGuardAgainstRace(\n this.authState.config.fetchToken,\n {\n forceRefreshToken: !0\n }\n );\n n.isFromOutdatedConfig || (n.value && this.syncState.isNewAuth(n.value) ? (this.authenticate(n.value), this.setAuthState({\n state: \"waitingForServerConfirmationOfFreshToken\",\n config: this.authState.config,\n token: n.value,\n hadAuth: this.authState.state === \"notRefetching\" || this.authState.state === \"waitingForScheduledRefetch\"\n })) : (this._logVerbose(\"reauthentication failed, could not fetch a new token\"), this.syncState.hasAuth() && this.syncState.clearAuth(), this.setAndReportAuthFailed(this.authState.config.onAuthChange)), this.tryRestartSocket());\n }\n // Force refetch the token and schedule another refetch\n // before the token expires - an active client should never\n // need to reauthenticate.\n async refetchToken() {\n if (this.authState.state === \"noAuth\")\n return;\n this._logVerbose(\"refetching auth token\");\n const e = await this.fetchTokenAndGuardAgainstRace(\n this.authState.config.fetchToken,\n {\n forceRefreshToken: !0\n }\n );\n e.isFromOutdatedConfig || (e.value ? this.syncState.isNewAuth(e.value) ? (this.setAuthState({\n state: \"waitingForServerConfirmationOfFreshToken\",\n hadAuth: this.syncState.hasAuth(),\n token: e.value,\n config: this.authState.config\n }), this.authenticate(e.value)) : this.setAuthState({\n state: \"notRefetching\",\n config: this.authState.config\n }) : (this._logVerbose(\"refetching token failed\"), this.syncState.hasAuth() && this.clearAuth(), this.setAndReportAuthFailed(this.authState.config.onAuthChange)), this._logVerbose(\n \"restarting WS after auth token fetch (if currently stopped)\"\n ), this.tryRestartSocket());\n }\n scheduleTokenRefetch(e) {\n if (this.authState.state === \"noAuth\")\n return;\n const n = this.decodeToken(e);\n if (!n) {\n this.logger.error(\n \"Auth token is not a valid JWT, cannot refetch the token\"\n );\n return;\n }\n const { iat: r, exp: i } = n;\n if (!r || !i) {\n this.logger.error(\n \"Auth token does not have required fields, cannot refetch the token\"\n );\n return;\n }\n const s = i - r;\n if (s <= 2) {\n this.logger.error(\n \"Auth token does not live long enough, cannot refetch the token\"\n );\n return;\n }\n let o = Math.min(\n qo,\n (s - this.refreshTokenLeewaySeconds) * 1e3\n );\n o <= 0 && (this.logger.warn(\n `Refetching auth token immediately, configured leeway ${this.refreshTokenLeewaySeconds}s is larger than the token's lifetime ${s}s`\n ), o = 0);\n const l = setTimeout(() => {\n this._logVerbose(\"running scheduled token refetch\"), this.refetchToken();\n }, o);\n this.setAuthState({\n state: \"waitingForScheduledRefetch\",\n refetchTokenTimeoutId: l,\n config: this.authState.config\n }), this._logVerbose(\n `scheduled preemptive auth token refetching in ${o}ms`\n );\n }\n // Protects against simultaneous calls to `setConfig`\n // while we're fetching a token\n async fetchTokenAndGuardAgainstRace(e, n) {\n const r = ++this.configVersion;\n this._logVerbose(\n `fetching token with config version ${r}`\n );\n const i = await e(n);\n return this.configVersion !== r ? (this._logVerbose(\n `stale config version, expected ${r}, got ${this.configVersion}`\n ), { isFromOutdatedConfig: !0 }) : { isFromOutdatedConfig: !1, value: i };\n }\n stop() {\n this.resetAuthState(), this.configVersion++, this._logVerbose(`config version bumped to ${this.configVersion}`);\n }\n setAndReportAuthFailed(e) {\n e(!1), this.resetAuthState();\n }\n resetAuthState() {\n this.setAuthState({ state: \"noAuth\" });\n }\n setAuthState(e) {\n const n = e.state === \"waitingForServerConfirmationOfFreshToken\" ? {\n hadAuth: e.hadAuth,\n state: e.state,\n token: `...${e.token.slice(-7)}`\n } : { state: e.state };\n switch (this._logVerbose(\n `setting auth state to ${JSON.stringify(n)}`\n ), e.state) {\n case \"waitingForScheduledRefetch\":\n case \"notRefetching\":\n case \"noAuth\":\n this.tokenConfirmationAttempts = 0;\n break;\n }\n this.authState.state === \"waitingForScheduledRefetch\" && clearTimeout(this.authState.refetchTokenTimeoutId), this.authState = e;\n }\n decodeToken(e) {\n try {\n return pi(e);\n } catch (n) {\n return this._logVerbose(\n `Error decoding token: ${n instanceof Error ? n.message : \"Unknown error\"}`\n ), null;\n }\n }\n _logVerbose(e) {\n this.logger.logVerbose(`${e} [v${this.configVersion}]`);\n }\n}\nconst Lo = [\n \"convexClientConstructed\",\n \"convexWebSocketOpen\",\n \"convexFirstMessageReceived\"\n];\nfunction Oo(t, e) {\n const n = { sessionId: e };\n typeof performance > \"u\" || !performance.mark || performance.mark(t, { detail: n });\n}\nfunction No(t) {\n let e = t.name.slice(6);\n return e = e.charAt(0).toLowerCase() + e.slice(1), {\n name: e,\n startTime: t.startTime\n };\n}\nfunction zo(t) {\n if (typeof performance > \"u\" || !performance.getEntriesByName)\n return [];\n const e = [];\n for (const n of Lo) {\n const r = performance.getEntriesByName(n).filter((i) => i.entryType === \"mark\").filter((i) => i.detail.sessionId === t);\n e.push(...r);\n }\n return e.map(No);\n}\nvar Qo = Object.defineProperty, Bo = (t, e, n) => e in t ? Qo(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n, R = (t, e, n) => Bo(t, typeof e != \"symbol\" ? e + \"\" : e, n);\nclass Fo {\n /**\n * @param address - The url of your Convex deployment, often provided\n * by an environment variable. E.g. `https://small-mouse-123.convex.cloud`.\n * @param onTransition - A callback receiving an array of query tokens\n * corresponding to query results that have changed -- additional handlers\n * can be added via `addOnTransitionHandler`.\n * @param options - See {@link BaseConvexClientOptions} for a full description.\n */\n constructor(e, n, r) {\n if (R(this, \"address\"), R(this, \"state\"), R(this, \"requestManager\"), R(this, \"webSocketManager\"), R(this, \"authenticationManager\"), R(this, \"remoteQuerySet\"), R(this, \"optimisticQueryResults\"), R(this, \"_transitionHandlerCounter\", 0), R(this, \"_nextRequestId\"), R(this, \"_onTransitionFns\", /* @__PURE__ */ new Map()), R(this, \"_sessionId\"), R(this, \"firstMessageReceived\", !1), R(this, \"debug\"), R(this, \"logger\"), R(this, \"maxObservedTimestamp\"), R(this, \"connectionStateSubscribers\", /* @__PURE__ */ new Map()), R(this, \"nextConnectionStateSubscriberId\", 0), R(this, \"_lastPublishedConnectionState\"), R(this, \"markConnectionStateDirty\", () => {\n Promise.resolve().then(() => {\n const f = this.connectionState();\n if (JSON.stringify(f) !== JSON.stringify(this._lastPublishedConnectionState)) {\n this._lastPublishedConnectionState = f;\n for (const g of this.connectionStateSubscribers.values())\n g(f);\n }\n });\n }), R(this, \"mark\", (f) => {\n this.debug && Oo(f, this.sessionId);\n }), typeof e == \"object\")\n throw new Error(\n \"Passing a ClientConfig object is no longer supported. Pass the URL of the Convex deployment as a string directly.\"\n );\n r?.skipConvexDeploymentUrlCheck !== !0 && Ls(e), r = { ...r };\n const i = r.authRefreshTokenLeewaySeconds ?? 10;\n let s = r.webSocketConstructor;\n if (!s && typeof WebSocket > \"u\")\n throw new Error(\n \"No WebSocket global variable defined! To use Convex in an environment without WebSocket try the HTTP client: https://docs.convex.dev/api/classes/browser.ConvexHttpClient\"\n );\n s = s || WebSocket, this.debug = r.reportDebugInfoToConvex ?? !1, this.address = e, this.logger = r.logger === !1 ? ci({ verbose: r.verbose ?? !1 }) : r.logger !== !0 && r.logger ? r.logger : li({ verbose: r.verbose ?? !1 });\n const o = e.search(\"://\");\n if (o === -1)\n throw new Error(\"Provided address was not an absolute URL.\");\n const l = e.substring(o + 3), a = e.substring(0, o);\n let h;\n if (a === \"http\")\n h = \"ws\";\n else if (a === \"https\")\n h = \"wss\";\n else\n throw new Error(`Unknown parent protocol ${a}`);\n const d = `${h}://${l}/api/${nr}/sync`;\n this.state = new eo(), this.remoteQuerySet = new ar(\n (f) => this.state.queryPath(f),\n this.logger\n ), this.requestManager = new ro(\n this.logger,\n this.markConnectionStateDirty\n );\n const c = () => {\n this.webSocketManager.pause(), this.state.pause();\n };\n this.authenticationManager = new Mo(\n this.state,\n {\n authenticate: (f) => {\n const g = this.state.setAuth(f);\n return this.webSocketManager.sendMessage(g), g.baseVersion;\n },\n stopSocket: () => this.webSocketManager.stop(),\n tryRestartSocket: () => this.webSocketManager.tryRestart(),\n pauseSocket: c,\n resumeSocket: () => this.webSocketManager.resume(),\n clearAuth: () => {\n this.clearAuth();\n }\n },\n {\n logger: this.logger,\n refreshTokenLeewaySeconds: i\n }\n ), this.optimisticQueryResults = new uo(), this.addOnTransitionHandler((f) => {\n n(f.queries.map((g) => g.token));\n }), this._nextRequestId = 0, this._sessionId = To();\n const { unsavedChangesWarning: p } = r;\n if (typeof window > \"u\" || typeof window.addEventListener > \"u\") {\n if (p === !0)\n throw new Error(\n \"unsavedChangesWarning requested, but window.addEventListener not found! Remove {unsavedChangesWarning: true} from Convex client options.\"\n );\n } else p !== !1 && window.addEventListener(\"beforeunload\", (f) => {\n if (this.requestManager.hasIncompleteRequests()) {\n f.preventDefault();\n const g = \"Are you sure you want to leave? Your changes may not be saved.\";\n return (f || window.event).returnValue = g, g;\n }\n });\n this.webSocketManager = new Ro(\n d,\n {\n onOpen: (f) => {\n this.mark(\"convexWebSocketOpen\"), this.webSocketManager.sendMessage({\n ...f,\n type: \"Connect\",\n sessionId: this._sessionId,\n maxObservedTimestamp: this.maxObservedTimestamp\n }), this.remoteQuerySet = new ar(\n (k) => this.state.queryPath(k),\n this.logger\n );\n const [g, x] = this.state.restart();\n x && this.webSocketManager.sendMessage(x), this.webSocketManager.sendMessage(g);\n for (const k of this.requestManager.restart())\n this.webSocketManager.sendMessage(k);\n },\n onResume: () => {\n const [f, g] = this.state.resume();\n g && this.webSocketManager.sendMessage(g), f && this.webSocketManager.sendMessage(f);\n for (const x of this.requestManager.resume())\n this.webSocketManager.sendMessage(x);\n },\n onMessage: (f) => {\n switch (this.firstMessageReceived || (this.firstMessageReceived = !0, this.mark(\"convexFirstMessageReceived\"), this.reportMarks()), f.type) {\n case \"Transition\": {\n this.observedTimestamp(f.endVersion.ts), this.authenticationManager.onTransition(f), this.remoteQuerySet.transition(f), this.state.transition(f);\n const g = this.requestManager.removeCompleted(\n this.remoteQuerySet.timestamp()\n );\n this.notifyOnQueryResultChanges(g);\n break;\n }\n case \"MutationResponse\": {\n f.success && this.observedTimestamp(f.ts);\n const g = this.requestManager.onResponse(f);\n g !== null && this.notifyOnQueryResultChanges(\n /* @__PURE__ */ new Map([\n [\n g.requestId,\n g.result\n ]\n ])\n );\n break;\n }\n case \"ActionResponse\": {\n this.requestManager.onResponse(f);\n break;\n }\n case \"AuthError\": {\n this.authenticationManager.onAuthError(f);\n break;\n }\n case \"FatalError\": {\n const g = Zs(this.logger, f.error);\n throw this.webSocketManager.terminate(), g;\n }\n }\n return {\n hasSyncedPastLastReconnect: this.hasSyncedPastLastReconnect()\n };\n },\n onServerDisconnectError: r.onServerDisconnectError\n },\n s,\n this.logger,\n this.markConnectionStateDirty,\n this.debug\n ), this.mark(\"convexClientConstructed\"), r.expectAuth && c();\n }\n /**\n * Return true if there is outstanding work from prior to the time of the most recent restart.\n * This indicates that the client has not proven itself to have gotten past the issue that\n * potentially led to the restart. Use this to influence when to reset backoff after a failure.\n */\n hasSyncedPastLastReconnect() {\n return this.requestManager.hasSyncedPastLastReconnect() && this.state.hasSyncedPastLastReconnect();\n }\n observedTimestamp(e) {\n (this.maxObservedTimestamp === void 0 || this.maxObservedTimestamp.lessThanOrEqual(e)) && (this.maxObservedTimestamp = e);\n }\n getMaxObservedTimestamp() {\n return this.maxObservedTimestamp;\n }\n /**\n * Compute the current query results based on the remoteQuerySet and the\n * current optimistic updates and call `onTransition` for all the changed\n * queries.\n *\n * @param completedMutations - A set of mutation IDs whose optimistic updates\n * are no longer needed.\n */\n notifyOnQueryResultChanges(e) {\n const n = this.remoteQuerySet.remoteQueryResults(), r = /* @__PURE__ */ new Map();\n for (const [s, o] of n) {\n const l = this.state.queryToken(s);\n if (l !== null) {\n const a = {\n result: o,\n udfPath: this.state.queryPath(s),\n args: this.state.queryArgs(s)\n };\n r.set(l, a);\n }\n }\n const i = this.optimisticQueryResults.ingestQueryResultsFromServer(\n r,\n new Set(e.keys())\n );\n this.handleTransition({\n queries: i.map((s) => {\n const o = this.optimisticQueryResults.rawQueryResult(s);\n return {\n token: s,\n modification: {\n kind: \"Updated\",\n result: o\n }\n };\n }),\n reflectedMutations: Array.from(e).map(\n ([s, o]) => ({\n requestId: s,\n result: o\n })\n ),\n timestamp: this.remoteQuerySet.timestamp()\n });\n }\n handleTransition(e) {\n for (const n of this._onTransitionFns.values())\n n(e);\n }\n /**\n * Add a handler that will be called on a transition.\n *\n * Any external side effects (e.g. setting React state) should be handled here.\n *\n * @param fn\n *\n * @returns\n */\n addOnTransitionHandler(e) {\n const n = this._transitionHandlerCounter++;\n return this._onTransitionFns.set(n, e), () => this._onTransitionFns.delete(n);\n }\n /**\n * Get the current JWT auth token and decoded claims.\n */\n getCurrentAuthClaims() {\n const e = this.state.getAuth();\n let n = {};\n if (e && e.tokenType === \"User\")\n try {\n n = e ? pi(e.value) : {};\n } catch {\n n = {};\n }\n else\n return;\n return { token: e.value, decoded: n };\n }\n /**\n * Set the authentication token to be used for subsequent queries and mutations.\n * `fetchToken` will be called automatically again if a token expires.\n * `fetchToken` should return `null` if the token cannot be retrieved, for example\n * when the user's rights were permanently revoked.\n * @param fetchToken - an async function returning the JWT-encoded OpenID Connect Identity Token\n * @param onChange - a callback that will be called when the authentication status changes\n */\n setAuth(e, n) {\n this.authenticationManager.setConfig(e, n);\n }\n hasAuth() {\n return this.state.hasAuth();\n }\n /** @internal */\n setAdminAuth(e, n) {\n const r = this.state.setAdminAuth(e, n);\n this.webSocketManager.sendMessage(r);\n }\n clearAuth() {\n const e = this.state.clearAuth();\n this.webSocketManager.sendMessage(e);\n }\n /**\n * Subscribe to a query function.\n *\n * Whenever this query's result changes, the `onTransition` callback\n * passed into the constructor will be called.\n *\n * @param name - The name of the query.\n * @param args - An arguments object for the query. If this is omitted, the\n * arguments will be `{}`.\n * @param options - A {@link SubscribeOptions} options object for this query.\n \n * @returns An object containing a {@link QueryToken} corresponding to this\n * query and an `unsubscribe` callback.\n */\n subscribe(e, n, r) {\n const i = re(n), { modification: s, queryToken: o, unsubscribe: l } = this.state.subscribe(\n e,\n i,\n r?.journal,\n r?.componentPath\n );\n return s !== null && this.webSocketManager.sendMessage(s), {\n queryToken: o,\n unsubscribe: () => {\n const a = l();\n a && this.webSocketManager.sendMessage(a);\n }\n };\n }\n /**\n * A query result based only on the current, local state.\n *\n * The only way this will return a value is if we're already subscribed to the\n * query or its value has been set optimistically.\n */\n localQueryResult(e, n) {\n const r = re(n), i = he(e, r);\n return this.optimisticQueryResults.queryResult(i);\n }\n /**\n * Get query result by query token based on current, local state\n *\n * The only way this will return a value is if we're already subscribed to the\n * query or its value has been set optimistically.\n *\n * @internal\n */\n localQueryResultByToken(e) {\n return this.optimisticQueryResults.queryResult(e);\n }\n /**\n * Whether local query result is available for a token.\n *\n * This method does not throw if the result is an error.\n *\n * @internal\n */\n hasLocalQueryResultByToken(e) {\n return this.optimisticQueryResults.hasQueryResult(e);\n }\n /**\n * @internal\n */\n localQueryLogs(e, n) {\n const r = re(n), i = he(e, r);\n return this.optimisticQueryResults.queryLogs(i);\n }\n /**\n * Retrieve the current {@link QueryJournal} for this query function.\n *\n * If we have not yet received a result for this query, this will be `undefined`.\n *\n * @param name - The name of the query.\n * @param args - The arguments object for this query.\n * @returns The query's {@link QueryJournal} or `undefined`.\n */\n queryJournal(e, n) {\n const r = re(n), i = he(e, r);\n return this.state.queryJournal(i);\n }\n /**\n * Get the current {@link ConnectionState} between the client and the Convex\n * backend.\n *\n * @returns The {@link ConnectionState} with the Convex backend.\n */\n connectionState() {\n const e = this.webSocketManager.connectionState();\n return {\n hasInflightRequests: this.requestManager.hasInflightRequests(),\n isWebSocketConnected: e.isConnected,\n hasEverConnected: e.hasEverConnected,\n connectionCount: e.connectionCount,\n connectionRetries: e.connectionRetries,\n timeOfOldestInflightRequest: this.requestManager.timeOfOldestInflightRequest(),\n inflightMutations: this.requestManager.inflightMutations(),\n inflightActions: this.requestManager.inflightActions()\n };\n }\n /**\n * Subscribe to the {@link ConnectionState} between the client and the Convex\n * backend, calling a callback each time it changes.\n *\n * Subscribed callbacks will be called when any part of ConnectionState changes.\n * ConnectionState may grow in future versions (e.g. to provide a array of\n * inflight requests) in which case callbacks would be called more frequently.\n *\n * @returns An unsubscribe function to stop listening.\n */\n subscribeToConnectionState(e) {\n const n = this.nextConnectionStateSubscriberId++;\n return this.connectionStateSubscribers.set(n, e), () => {\n this.connectionStateSubscribers.delete(n);\n };\n }\n /**\n * Execute a mutation function.\n *\n * @param name - The name of the mutation.\n * @param args - An arguments object for the mutation. If this is omitted,\n * the arguments will be `{}`.\n * @param options - A {@link MutationOptions} options object for this mutation.\n \n * @returns - A promise of the mutation's result.\n */\n async mutation(e, n, r) {\n const i = await this.mutationInternal(e, n, r);\n if (!i.success)\n throw i.errorData !== void 0 ? Yt(\n i,\n new Xt(\n we(\"mutation\", e, i)\n )\n ) : new Error(we(\"mutation\", e, i));\n return i.value;\n }\n /**\n * @internal\n */\n async mutationInternal(e, n, r, i) {\n const { mutationPromise: s } = this.enqueueMutation(\n e,\n n,\n r,\n i\n );\n return s;\n }\n /**\n * @internal\n */\n enqueueMutation(e, n, r, i) {\n const s = re(n);\n this.tryReportLongDisconnect();\n const o = this.nextRequestId;\n if (this._nextRequestId++, r !== void 0) {\n const d = r.optimisticUpdate;\n if (d !== void 0) {\n const c = (g) => {\n d(\n g,\n s\n ) instanceof Promise && this.logger.warn(\n \"Optimistic update handler returned a Promise. Optimistic updates should be synchronous.\"\n );\n }, f = this.optimisticQueryResults.applyOptimisticUpdate(\n c,\n o\n ).map((g) => {\n const x = this.localQueryResultByToken(g);\n return {\n token: g,\n modification: {\n kind: \"Updated\",\n result: x === void 0 ? void 0 : {\n success: !0,\n value: x,\n logLines: []\n }\n }\n };\n });\n this.handleTransition({\n queries: f,\n reflectedMutations: [],\n timestamp: this.remoteQuerySet.timestamp()\n });\n }\n }\n const l = {\n type: \"Mutation\",\n requestId: o,\n udfPath: e,\n componentPath: i,\n args: [te(s)]\n }, a = this.webSocketManager.sendMessage(l), h = this.requestManager.request(l, a);\n return {\n requestId: o,\n mutationPromise: h\n };\n }\n /**\n * Execute an action function.\n *\n * @param name - The name of the action.\n * @param args - An arguments object for the action. If this is omitted,\n * the arguments will be `{}`.\n * @returns A promise of the action's result.\n */\n async action(e, n) {\n const r = await this.actionInternal(e, n);\n if (!r.success)\n throw r.errorData !== void 0 ? Yt(\n r,\n new Xt(we(\"action\", e, r))\n ) : new Error(we(\"action\", e, r));\n return r.value;\n }\n /**\n * @internal\n */\n async actionInternal(e, n, r) {\n const i = re(n), s = this.nextRequestId;\n this._nextRequestId++, this.tryReportLongDisconnect();\n const o = {\n type: \"Action\",\n requestId: s,\n udfPath: e,\n componentPath: r,\n args: [te(i)]\n }, l = this.webSocketManager.sendMessage(o);\n return this.requestManager.request(o, l);\n }\n /**\n * Close any network handles associated with this client and stop all subscriptions.\n *\n * Call this method when you're done with an {@link BaseConvexClient} to\n * dispose of its sockets and resources.\n *\n * @returns A `Promise` fulfilled when the connection has been completely closed.\n */\n async close() {\n return this.authenticationManager.stop(), this.webSocketManager.terminate();\n }\n /**\n * Return the address for this client, useful for creating a new client.\n *\n * Not guaranteed to match the address with which this client was constructed:\n * it may be canonicalized.\n */\n get url() {\n return this.address;\n }\n /**\n * @internal\n */\n get nextRequestId() {\n return this._nextRequestId;\n }\n /**\n * @internal\n */\n get sessionId() {\n return this._sessionId;\n }\n /**\n * Reports performance marks to the server. This should only be called when\n * we have a functional websocket.\n */\n reportMarks() {\n if (this.debug) {\n const e = zo(this.sessionId);\n this.webSocketManager.sendMessage({\n type: \"Event\",\n eventType: \"ClientConnect\",\n event: e\n });\n }\n }\n tryReportLongDisconnect() {\n if (!this.debug)\n return;\n const e = this.connectionState().timeOfOldestInflightRequest;\n if (e === null || Date.now() - e.getTime() <= 60 * 1e3)\n return;\n const n = `${this.address}/api/debug_event`;\n fetch(n, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Convex-Client\": `npm-${nr}`\n },\n body: JSON.stringify({ event: \"LongWebsocketDisconnect\" })\n }).then((r) => {\n r.ok || this.logger.warn(\n \"Analytics request failed with response:\",\n r.body\n );\n }).catch((r) => {\n this.logger.warn(\"Analytics response failed with error:\", r);\n });\n }\n}\nfunction zt(t) {\n if (typeof t != \"object\" || t === null || !Array.isArray(t.page) || typeof t.isDone != \"boolean\" || typeof t.continueCursor != \"string\")\n throw new Error(`Not a valid paginated query result: ${t?.toString()}`);\n return t;\n}\nvar Do = Object.defineProperty, Uo = (t, e, n) => e in t ? Do(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n, hr = (t, e, n) => Uo(t, typeof e != \"symbol\" ? e + \"\" : e, n);\nclass Vo {\n constructor(e, n) {\n this.client = e, this.onTransition = n, hr(this, \"paginatedQuerySet\", /* @__PURE__ */ new Map()), hr(this, \"lastTransitionTs\"), this.lastTransitionTs = E.fromNumber(0), this.client.addOnTransitionHandler(\n (r) => this.onBaseTransition(r)\n );\n }\n /**\n * Subscribe to a paginated query.\n *\n * @param name - The name of the paginated query function\n * @param args - Arguments for the query (excluding paginationOpts)\n * @param options - Pagination options including initialNumItems\n * @returns Object with paginatedQueryToken and unsubscribe function\n */\n subscribe(e, n, r) {\n const i = fe(e), s = ir(\n i,\n n,\n r\n ), o = () => this.removePaginatedQuerySubscriber(s), l = this.paginatedQuerySet.get(s);\n return l ? (l.numSubscribers += 1, {\n paginatedQueryToken: s,\n unsubscribe: o\n }) : (this.paginatedQuerySet.set(s, {\n token: s,\n canonicalizedUdfPath: i,\n args: n,\n numSubscribers: 1,\n options: { initialNumItems: r.initialNumItems },\n nextPageKey: 0,\n pageKeys: [],\n pageKeyToQuery: /* @__PURE__ */ new Map(),\n ongoingSplits: /* @__PURE__ */ new Map(),\n skip: !1,\n id: r.id\n }), this.addPageToPaginatedQuery(s, null, r.initialNumItems), {\n paginatedQueryToken: s,\n unsubscribe: o\n });\n }\n /**\n * Get current results for a paginated query based on local state.\n *\n * Throws an error when one of the pages has errored.\n */\n localQueryResult(e, n, r) {\n const i = fe(e), s = ir(\n i,\n n,\n r\n );\n return this.localQueryResultByToken(s);\n }\n /**\n * @internal\n */\n localQueryResultByToken(e) {\n const n = this.paginatedQuerySet.get(e);\n if (!n)\n return;\n const r = this.activePageQueryTokens(n);\n if (r.length === 0)\n return {\n results: [],\n status: \"LoadingFirstPage\",\n loadMore: (a) => this.loadMoreOfPaginatedQuery(e, a)\n };\n let i = [], s = !1, o = !1;\n for (const a of r) {\n const h = this.client.localQueryResultByToken(a);\n if (h === void 0) {\n s = !0, o = !1;\n continue;\n }\n const d = zt(h);\n i = i.concat(d.page), o = !!d.isDone;\n }\n let l;\n return s ? l = i.length === 0 ? \"LoadingFirstPage\" : \"LoadingMore\" : o ? l = \"Exhausted\" : l = \"CanLoadMore\", {\n results: i,\n status: l,\n loadMore: (a) => this.loadMoreOfPaginatedQuery(e, a)\n };\n }\n onBaseTransition(e) {\n const n = e.queries.map((o) => o.token), r = this.queriesContainingTokens(n);\n let i = [];\n r.length > 0 && (this.processPaginatedQuerySplits(\n r,\n (o) => this.client.localQueryResultByToken(o)\n ), i = r.map((o) => ({\n token: o,\n modification: {\n kind: \"Updated\",\n result: this.localQueryResultByToken(o)\n }\n })));\n const s = {\n ...e,\n paginatedQueries: i\n };\n this.onTransition(s);\n }\n /**\n * Load more items for a paginated query.\n *\n * This *always* causes a transition, the status of the query\n * has probably changed from \"CanLoadMore\" to \"LoadingMore\".\n * Data might have changed too: maybe a subscription to this page\n * query already exists (unlikely but possible) or this page query\n * has an optimistic update providing some initial data.\n *\n * @internal\n */\n loadMoreOfPaginatedQuery(e, n) {\n this.mustGetPaginatedQuery(e);\n const r = this.queryTokenForLastPageOfPaginatedQuery(e), i = this.client.localQueryResultByToken(r);\n if (!i)\n return !1;\n const s = zt(i);\n if (s.isDone)\n return !1;\n this.addPageToPaginatedQuery(\n e,\n s.continueCursor,\n n\n );\n const o = {\n timestamp: this.lastTransitionTs,\n reflectedMutations: [],\n queries: [],\n paginatedQueries: [\n {\n token: e,\n modification: {\n kind: \"Updated\",\n result: this.localQueryResultByToken(e)\n }\n }\n ]\n };\n return this.onTransition(o), !0;\n }\n /**\n * @internal\n */\n queriesContainingTokens(e) {\n if (e.length === 0)\n return [];\n const n = [], r = new Set(e);\n for (const [i, s] of this.paginatedQuerySet)\n for (const o of this.allQueryTokens(s))\n if (r.has(o)) {\n n.push(i);\n break;\n }\n return n;\n }\n /**\n * @internal\n */\n processPaginatedQuerySplits(e, n) {\n for (const r of e) {\n const i = this.mustGetPaginatedQuery(r), { ongoingSplits: s, pageKeyToQuery: o, pageKeys: l } = i;\n for (const [a, [h, d]] of s)\n n(o.get(h).queryToken) !== void 0 && n(o.get(d).queryToken) !== void 0 && this.completePaginatedQuerySplit(\n i,\n a,\n h,\n d\n );\n for (const a of l) {\n if (s.has(a))\n continue;\n const h = o.get(a).queryToken, d = n(h);\n if (!d)\n continue;\n const c = zt(d);\n c.splitCursor && (c.pageStatus === \"SplitRecommended\" || c.pageStatus === \"SplitRequired\" || // This client-driven page splitting condition will change in the future.\n c.page.length > i.options.initialNumItems * 2) && this.splitPaginatedQueryPage(\n i,\n a,\n c.splitCursor,\n // we just checked\n c.continueCursor\n );\n }\n }\n }\n splitPaginatedQueryPage(e, n, r, i) {\n const s = e.nextPageKey++, o = e.nextPageKey++, l = {\n cursor: i,\n numItems: e.options.initialNumItems,\n id: e.id\n }, a = this.client.subscribe(\n e.canonicalizedUdfPath,\n {\n ...e.args,\n paginationOpts: {\n ...l,\n cursor: null,\n // Start from beginning for first split\n endCursor: r\n }\n }\n );\n e.pageKeyToQuery.set(s, a);\n const h = this.client.subscribe(\n e.canonicalizedUdfPath,\n {\n ...e.args,\n paginationOpts: {\n ...l,\n cursor: r,\n endCursor: i\n }\n }\n );\n e.pageKeyToQuery.set(o, h), e.ongoingSplits.set(n, [s, o]);\n }\n /**\n * @internal\n */\n addPageToPaginatedQuery(e, n, r) {\n const i = this.mustGetPaginatedQuery(e), s = i.nextPageKey++, o = {\n cursor: n,\n numItems: r,\n id: i.id\n }, l = {\n ...i.args,\n paginationOpts: o\n }, a = this.client.subscribe(\n i.canonicalizedUdfPath,\n l\n );\n return i.pageKeys.push(s), i.pageKeyToQuery.set(s, a), a;\n }\n removePaginatedQuerySubscriber(e) {\n const n = this.paginatedQuerySet.get(e);\n if (n && (n.numSubscribers -= 1, !(n.numSubscribers > 0))) {\n for (const r of n.pageKeyToQuery.values())\n r.unsubscribe();\n this.paginatedQuerySet.delete(e);\n }\n }\n completePaginatedQuerySplit(e, n, r, i) {\n const s = e.pageKeyToQuery.get(n);\n e.pageKeyToQuery.delete(n);\n const o = e.pageKeys.indexOf(n);\n e.pageKeys.splice(o, 1, r, i), e.ongoingSplits.delete(n), s.unsubscribe();\n }\n /** The query tokens for all active pages, in result order */\n activePageQueryTokens(e) {\n return e.pageKeys.map(\n (n) => e.pageKeyToQuery.get(n).queryToken\n );\n }\n allQueryTokens(e) {\n return Array.from(e.pageKeyToQuery.values()).map(\n (n) => n.queryToken\n );\n }\n queryTokenForLastPageOfPaginatedQuery(e) {\n const n = this.mustGetPaginatedQuery(e), r = n.pageKeys[n.pageKeys.length - 1];\n if (r === void 0)\n throw new Error(`No pages for paginated query ${e}`);\n return n.pageKeyToQuery.get(r).queryToken;\n }\n mustGetPaginatedQuery(e) {\n const n = this.paginatedQuerySet.get(e);\n if (!n)\n throw new Error(\"paginated query no longer exists for token \" + e);\n return n;\n }\n}\nfunction Wo({\n // (Synchronously) returns the current value of our subscription.\n getCurrentValue: t,\n // This function is passed an event handler to attach to the subscription.\n // It should return an unsubscribe function that removes the handler.\n subscribe: e\n}) {\n const [n, r] = T(() => ({\n getCurrentValue: t,\n subscribe: e,\n value: t()\n }));\n let i = n.value;\n return (n.getCurrentValue !== t || n.subscribe !== e) && (i = t(), r({\n getCurrentValue: t,\n subscribe: e,\n value: i\n })), M(() => {\n let s = !1;\n const o = () => {\n s || r((a) => {\n if (a.getCurrentValue !== t || a.subscribe !== e)\n return a;\n const h = t();\n return a.value === h ? a : { ...a, value: h };\n });\n }, l = e(o);\n return o(), () => {\n s = !0, l();\n };\n }, [t, e]), i;\n}\nvar Ho = Object.defineProperty, Jo = (t, e, n) => e in t ? Ho(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n, ne = (t, e, n) => Jo(t, typeof e != \"symbol\" ? e + \"\" : e, n);\nconst Go = 5e3;\nif (typeof gn > \"u\")\n throw new Error(\"Required dependency 'react' not found\");\nfunction gi(t, e, n) {\n function r(i) {\n return Yo(i), e.mutation(t, i, {\n optimisticUpdate: n\n });\n }\n return r.withOptimisticUpdate = function(s) {\n if (n !== void 0)\n throw new Error(\n `Already specified optimistic update for mutation ${P(\n t\n )}`\n );\n return gi(t, e, s);\n }, r;\n}\nclass Ko {\n /**\n * @param address - The url of your Convex deployment, often provided\n * by an environment variable. E.g. `https://small-mouse-123.convex.cloud`.\n * @param options - See {@link ConvexReactClientOptions} for a full description.\n */\n constructor(e, n) {\n if (ne(this, \"address\"), ne(this, \"cachedSync\"), ne(this, \"cachedPaginatedQueryClient\"), ne(this, \"listeners\"), ne(this, \"options\"), ne(this, \"closed\", !1), ne(this, \"_logger\"), ne(this, \"adminAuth\"), ne(this, \"fakeUserIdentity\"), e === void 0)\n throw new Error(\n \"No address provided to ConvexReactClient.\\nIf trying to deploy to production, make sure to follow all the instructions found at https://docs.convex.dev/production/hosting/\\nIf running locally, make sure to run `convex dev` and ensure the .env.local file is populated.\"\n );\n if (typeof e != \"string\")\n throw new Error(\n `ConvexReactClient requires a URL like 'https://happy-otter-123.convex.cloud', received something of type ${typeof e} instead.`\n );\n if (!e.includes(\"://\"))\n throw new Error(\"Provided address was not an absolute URL.\");\n this.address = e, this.listeners = /* @__PURE__ */ new Map(), this._logger = n?.logger === !1 ? ci({ verbose: n?.verbose ?? !1 }) : n?.logger !== !0 && n?.logger ? n.logger : li({ verbose: n?.verbose ?? !1 }), this.options = { ...n, logger: this._logger };\n }\n /**\n * Return the address for this client, useful for creating a new client.\n *\n * Not guaranteed to match the address with which this client was constructed:\n * it may be canonicalized.\n */\n get url() {\n return this.address;\n }\n /**\n * Lazily instantiate the `BaseConvexClient` so we don't create the WebSocket\n * when server-side rendering.\n *\n * @internal\n */\n get sync() {\n if (this.closed)\n throw new Error(\"ConvexReactClient has already been closed.\");\n return this.cachedSync ? this.cachedSync : (this.cachedSync = new Fo(\n this.address,\n () => {\n },\n // Use the PaginatedQueryClient's transition instead.\n this.options\n ), this.adminAuth && this.cachedSync.setAdminAuth(this.adminAuth, this.fakeUserIdentity), this.cachedPaginatedQueryClient = new Vo(\n this.cachedSync,\n (e) => this.handleTransition(e)\n ), this.cachedSync);\n }\n /**\n * Lazily instantiate the `PaginatedQueryClient` so we don't create it\n * when server-side rendering.\n *\n * @internal\n */\n get paginatedQueryClient() {\n if (this.sync, this.cachedPaginatedQueryClient)\n return this.cachedPaginatedQueryClient;\n throw new Error(\"Should already be instantiated\");\n }\n /**\n * Set the authentication token to be used for subsequent queries and mutations.\n * `fetchToken` will be called automatically again if a token expires.\n * `fetchToken` should return `null` if the token cannot be retrieved, for example\n * when the user's rights were permanently revoked.\n * @param fetchToken - an async function returning the JWT-encoded OpenID Connect Identity Token\n * @param onChange - a callback that will be called when the authentication status changes\n */\n setAuth(e, n) {\n if (typeof e == \"string\")\n throw new Error(\n \"Passing a string to ConvexReactClient.setAuth is no longer supported, please upgrade to passing in an async function to handle reauthentication.\"\n );\n this.sync.setAuth(\n e,\n n ?? (() => {\n })\n );\n }\n /**\n * Clear the current authentication token if set.\n */\n clearAuth() {\n this.sync.clearAuth();\n }\n /**\n * @internal\n */\n setAdminAuth(e, n) {\n if (this.adminAuth = e, this.fakeUserIdentity = n, this.closed)\n throw new Error(\"ConvexReactClient has already been closed.\");\n this.cachedSync && this.sync.setAdminAuth(e, n);\n }\n /**\n * Construct a new {@link Watch} on a Convex query function.\n *\n * **Most application code should not call this method directly. Instead use\n * the {@link useQuery} hook.**\n *\n * The act of creating a watch does nothing, a Watch is stateless.\n *\n * @param query - A {@link server.FunctionReference} for the public query to run.\n * @param args - An arguments object for the query. If this is omitted,\n * the arguments will be `{}`.\n * @param options - A {@link WatchQueryOptions} options object for this query.\n *\n * @returns The {@link Watch} object.\n */\n watchQuery(e, ...n) {\n const [r, i] = n, s = P(e);\n return {\n onUpdate: (o) => {\n const { queryToken: l, unsubscribe: a } = this.sync.subscribe(\n s,\n r,\n i\n ), h = this.listeners.get(l);\n return h !== void 0 ? h.add(o) : this.listeners.set(l, /* @__PURE__ */ new Set([o])), () => {\n if (this.closed)\n return;\n const d = this.listeners.get(l);\n d.delete(o), d.size === 0 && this.listeners.delete(l), a();\n };\n },\n localQueryResult: () => {\n if (this.cachedSync)\n return this.cachedSync.localQueryResult(s, r);\n },\n localQueryLogs: () => {\n if (this.cachedSync)\n return this.cachedSync.localQueryLogs(s, r);\n },\n journal: () => {\n if (this.cachedSync)\n return this.cachedSync.queryJournal(s, r);\n }\n };\n }\n // Let's try out a queryOptions-style API.\n // This method is similar to the React Query API `queryClient.prefetchQuery()`.\n // In the future an ensureQueryData(): Promise<Data> method could exist.\n /**\n * Indicates likely future interest in a query subscription.\n *\n * The implementation currently immediately subscribes to a query. In the future this method\n * may prioritize some queries over others, fetch the query result without subscribing, or\n * do nothing in slow network connections or high load scenarios.\n *\n * To use this in a React component, call useQuery() and ignore the return value.\n *\n * @param queryOptions - A query (function reference from an api object) and its args, plus\n * an optional extendSubscriptionFor for how long to subscribe to the query.\n */\n prewarmQuery(e) {\n const n = e.extendSubscriptionFor ?? Go, i = this.watchQuery(e.query, e.args || {}).onUpdate(() => {\n });\n setTimeout(i, n);\n }\n /**\n * Construct a new {@link PaginatedWatch} on a Convex paginated query function.\n *\n * **Most application code should not call this method directly. Instead use\n * the {@link usePaginatedQuery} hook.**\n *\n * The act of creating a watch does nothing, a Watch is stateless.\n *\n * @param query - A {@link server.FunctionReference} for the public query to run.\n * @param args - An arguments object for the query. If this is omitted,\n * the arguments will be `{}`.\n * @param options - A {@link WatchPaginatedQueryOptions} options object for this query.\n *\n * @returns The {@link PaginatedWatch} object.\n *\n * @internal\n */\n watchPaginatedQuery(e, n, r) {\n const i = P(e);\n return {\n onUpdate: (s) => {\n const { paginatedQueryToken: o, unsubscribe: l } = this.paginatedQueryClient.subscribe(i, n || {}, r), a = this.listeners.get(o);\n return a !== void 0 ? a.add(s) : this.listeners.set(o, /* @__PURE__ */ new Set([s])), () => {\n if (this.closed)\n return;\n const h = this.listeners.get(o);\n h.delete(s), h.size === 0 && this.listeners.delete(o), l();\n };\n },\n localQueryResult: () => this.paginatedQueryClient.localQueryResult(i, n, r)\n };\n }\n /**\n * Execute a mutation function.\n *\n * @param mutation - A {@link server.FunctionReference} for the public mutation\n * to run.\n * @param args - An arguments object for the mutation. If this is omitted,\n * the arguments will be `{}`.\n * @param options - A {@link MutationOptions} options object for the mutation.\n * @returns A promise of the mutation's result.\n */\n mutation(e, ...n) {\n const [r, i] = n, s = P(e);\n return this.sync.mutation(s, r, i);\n }\n /**\n * Execute an action function.\n *\n * @param action - A {@link server.FunctionReference} for the public action\n * to run.\n * @param args - An arguments object for the action. If this is omitted,\n * the arguments will be `{}`.\n * @returns A promise of the action's result.\n */\n action(e, ...n) {\n const r = P(e);\n return this.sync.action(r, ...n);\n }\n /**\n * Fetch a query result once.\n *\n * **Most application code should subscribe to queries instead, using\n * the {@link useQuery} hook.**\n *\n * @param query - A {@link server.FunctionReference} for the public query\n * to run.\n * @param args - An arguments object for the query. If this is omitted,\n * the arguments will be `{}`.\n * @returns A promise of the query's result.\n */\n query(e, ...n) {\n const r = this.watchQuery(e, ...n), i = r.localQueryResult();\n return i !== void 0 ? Promise.resolve(i) : new Promise((s, o) => {\n const l = r.onUpdate(() => {\n l();\n try {\n s(r.localQueryResult());\n } catch (a) {\n o(a);\n }\n });\n });\n }\n /**\n * Get the current {@link ConnectionState} between the client and the Convex\n * backend.\n *\n * @returns The {@link ConnectionState} with the Convex backend.\n */\n connectionState() {\n return this.sync.connectionState();\n }\n /**\n * Subscribe to the {@link ConnectionState} between the client and the Convex\n * backend, calling a callback each time it changes.\n *\n * Subscribed callbacks will be called when any part of ConnectionState changes.\n * ConnectionState may grow in future versions (e.g. to provide a array of\n * inflight requests) in which case callbacks would be called more frequently.\n * ConnectionState may also *lose* properties in future versions as we figure\n * out what information is most useful. As such this API is considered unstable.\n *\n * @returns An unsubscribe function to stop listening.\n */\n subscribeToConnectionState(e) {\n return this.sync.subscribeToConnectionState(e);\n }\n /**\n * Get the logger for this client.\n *\n * @returns The {@link Logger} for this client.\n */\n get logger() {\n return this._logger;\n }\n /**\n * Close any network handles associated with this client and stop all subscriptions.\n *\n * Call this method when you're done with a {@link ConvexReactClient} to\n * dispose of its sockets and resources.\n *\n * @returns A `Promise` fulfilled when the connection has been completely closed.\n */\n async close() {\n if (this.closed = !0, this.listeners = /* @__PURE__ */ new Map(), this.cachedPaginatedQueryClient && (this.cachedPaginatedQueryClient = void 0), this.cachedSync) {\n const e = this.cachedSync;\n this.cachedSync = void 0, await e.close();\n }\n }\n /**\n * Handle transitions from both base client and paginated client.\n * This ensures all transitions are processed synchronously and in order.\n */\n handleTransition(e) {\n const n = e.queries.map((i) => i.token), r = e.paginatedQueries.map((i) => i.token);\n this.transition([...n, ...r]);\n }\n transition(e) {\n for (const n of e) {\n const r = this.listeners.get(n);\n if (r)\n for (const i of r)\n i();\n }\n }\n}\nconst xn = gn.createContext(\n void 0\n // in the future this will be a mocked client for testing\n);\nfunction Zo() {\n return kt(xn);\n}\nconst Xo = ({ client: t, children: e }) => gn.createElement(\n xn.Provider,\n { value: t },\n e\n);\nfunction dr(t, ...e) {\n const n = e[0] === \"skip\", r = e[0] === \"skip\" ? {} : re(e[0]), i = typeof t == \"string\" ? hi(t) : t, s = P(i), o = B(\n () => n ? {} : { query: { query: i, args: r } },\n // Stringify args so args that are semantically the same don't trigger a\n // rerender. Saves developers from adding `useMemo` on every args usage.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [JSON.stringify(te(r)), s, n]\n ), a = ra(o).query;\n if (a instanceof Error)\n throw a;\n return a;\n}\nfunction jt(t) {\n const e = typeof t == \"string\" ? hi(t) : t, n = kt(xn);\n if (n === void 0)\n throw new Error(\n \"Could not find Convex client! `useMutation` must be used in the React component tree under `ConvexProvider`. Did you forget it? See https://docs.convex.dev/quick-start#set-up-convex-in-your-react-app\"\n );\n return B(\n () => gi(e, n),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [n, P(e)]\n );\n}\nfunction Yo(t) {\n if (typeof t == \"object\" && t !== null && \"bubbles\" in t && \"persist\" in t && \"isDefaultPrevented\" in t)\n throw new Error(\n \"Convex function called with SyntheticEvent object. Did you use a Convex function as an event handler directly? Event handlers like onClick receive an event object as their first argument. These SyntheticEvent objects are not valid Convex values. Try wrapping the function like `const handler = () => myMutation();` and using `handler` in the event handler.\"\n );\n}\nvar ea = Object.defineProperty, ta = (t, e, n) => e in t ? ea(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n, Qt = (t, e, n) => ta(t, typeof e != \"symbol\" ? e + \"\" : e, n);\nclass na {\n constructor(e) {\n Qt(this, \"createWatch\"), Qt(this, \"queries\"), Qt(this, \"listeners\"), this.createWatch = e, this.queries = {}, this.listeners = /* @__PURE__ */ new Set();\n }\n setQueries(e) {\n for (const n of Object.keys(e)) {\n const { query: r, args: i, paginationOptions: s } = e[n];\n if (P(r), this.queries[n] === void 0)\n this.addQuery(\n n,\n r,\n i,\n s ? { paginationOptions: s } : {}\n );\n else {\n const o = this.queries[n];\n (P(r) !== P(o.query) || JSON.stringify(te(i)) !== JSON.stringify(te(o.args)) || JSON.stringify(s) !== JSON.stringify(o.paginationOptions)) && (this.removeQuery(n), this.addQuery(\n n,\n r,\n i,\n s ? { paginationOptions: s } : {}\n ));\n }\n }\n for (const n of Object.keys(this.queries))\n e[n] === void 0 && this.removeQuery(n);\n }\n subscribe(e) {\n return this.listeners.add(e), () => {\n this.listeners.delete(e);\n };\n }\n getLocalResults(e) {\n const n = {};\n for (const r of Object.keys(e)) {\n const { query: i, args: s } = e[r], o = e[r].paginationOptions;\n P(i);\n const l = this.createWatch(\n i,\n s,\n o ? { paginationOptions: o } : {}\n );\n let a;\n try {\n a = l.localQueryResult();\n } catch (h) {\n if (h instanceof Error)\n a = h;\n else\n throw h;\n }\n n[r] = a;\n }\n return n;\n }\n setCreateWatch(e) {\n this.createWatch = e;\n for (const n of Object.keys(this.queries)) {\n const { query: r, args: i, watch: s, paginationOptions: o } = this.queries[n], l = \"journal\" in s ? s.journal() : void 0;\n this.removeQuery(n), this.addQuery(n, r, i, {\n ...l ? { journal: l } : [],\n ...o ? { paginationOptions: o } : {}\n });\n }\n }\n destroy() {\n for (const e of Object.keys(this.queries))\n this.removeQuery(e);\n this.listeners = /* @__PURE__ */ new Set();\n }\n addQuery(e, n, r, {\n paginationOptions: i,\n journal: s\n }) {\n if (this.queries[e] !== void 0)\n throw new Error(\n `Tried to add a new query with identifier ${e} when it already exists.`\n );\n const o = this.createWatch(n, r, {\n ...s ? { journal: s } : [],\n ...i ? { paginationOptions: i } : {}\n }), l = o.onUpdate(() => this.notifyListeners());\n this.queries[e] = {\n query: n,\n args: r,\n watch: o,\n unsubscribe: l,\n ...i ? { paginationOptions: i } : {}\n };\n }\n removeQuery(e) {\n const n = this.queries[e];\n if (n === void 0)\n throw new Error(`No query found with identifier ${e}.`);\n n.unsubscribe(), delete this.queries[e];\n }\n notifyListeners() {\n for (const e of this.listeners)\n e();\n }\n}\nfunction ra(t) {\n const e = Zo();\n if (e === void 0)\n throw new Error(\n \"Could not find Convex client! `useQuery` must be used in the React component tree under `ConvexProvider`. Did you forget it? See https://docs.convex.dev/quick-start#set-up-convex-in-your-react-app\"\n );\n const n = B(() => (r, i, {\n journal: s,\n paginationOptions: o\n }) => o ? e.watchPaginatedQuery(r, i, o) : e.watchQuery(r, i, s ? { journal: s } : {}), [e]);\n return ia(t, n);\n}\nfunction ia(t, e) {\n const [n] = T(() => new na(e));\n n.createWatch !== e && n.setCreateWatch(e), M(() => () => n.destroy(), [n]);\n const r = B(\n () => ({\n getCurrentValue: () => n.getLocalResults(t),\n subscribe: (i) => (n.setQueries(t), n.subscribe(i))\n }),\n [n, t]\n );\n return Wo(r);\n}\nvar sa = /* @__PURE__ */ Symbol.for(\"preact-signals\");\nfunction Ct() {\n if (oe > 1)\n oe--;\n else {\n for (var t, e = !1; Ve !== void 0; ) {\n var n = Ve;\n for (Ve = void 0, en++; n !== void 0; ) {\n var r = n.o;\n if (n.o = void 0, n.f &= -3, !(8 & n.f) && bi(n)) try {\n n.c();\n } catch (i) {\n e || (t = i, e = !0);\n }\n n = r;\n }\n }\n if (en = 0, oe--, e) throw t;\n }\n}\nfunction oa(t) {\n if (oe > 0) return t();\n oe++;\n try {\n return t();\n } finally {\n Ct();\n }\n}\nvar y = void 0;\nfunction mi(t) {\n var e = y;\n y = void 0;\n try {\n return t();\n } finally {\n y = e;\n }\n}\nvar Ve = void 0, oe = 0, en = 0, mt = 0;\nfunction xi(t) {\n if (y !== void 0) {\n var e = t.n;\n if (e === void 0 || e.t !== y)\n return e = { i: 0, S: t, p: y.s, n: void 0, t: y, e: void 0, x: void 0, r: e }, y.s !== void 0 && (y.s.n = e), y.s = e, t.n = e, 32 & y.f && t.S(e), e;\n if (e.i === -1)\n return e.i = 0, e.n !== void 0 && (e.n.p = e.p, e.p !== void 0 && (e.p.n = e.n), e.p = y.s, e.n = void 0, y.s.n = e, y.s = e), e;\n }\n}\nfunction $(t, e) {\n this.v = t, this.i = 0, this.n = void 0, this.t = void 0, this.W = e?.watched, this.Z = e?.unwatched, this.name = e?.name;\n}\n$.prototype.brand = sa;\n$.prototype.h = function() {\n return !0;\n};\n$.prototype.S = function(t) {\n var e = this, n = this.t;\n n !== t && t.e === void 0 && (t.x = n, this.t = t, n !== void 0 ? n.e = t : mi(function() {\n var r;\n (r = e.W) == null || r.call(e);\n }));\n};\n$.prototype.U = function(t) {\n var e = this;\n if (this.t !== void 0) {\n var n = t.e, r = t.x;\n n !== void 0 && (n.x = r, t.e = void 0), r !== void 0 && (r.e = n, t.x = void 0), t === this.t && (this.t = r, r === void 0 && mi(function() {\n var i;\n (i = e.Z) == null || i.call(e);\n }));\n }\n};\n$.prototype.subscribe = function(t) {\n var e = this;\n return nt(function() {\n var n = e.value, r = y;\n y = void 0;\n try {\n t(n);\n } finally {\n y = r;\n }\n }, { name: \"sub\" });\n};\n$.prototype.valueOf = function() {\n return this.value;\n};\n$.prototype.toString = function() {\n return this.value + \"\";\n};\n$.prototype.toJSON = function() {\n return this.value;\n};\n$.prototype.peek = function() {\n var t = y;\n y = void 0;\n try {\n return this.value;\n } finally {\n y = t;\n }\n};\nObject.defineProperty($.prototype, \"value\", { get: function() {\n var t = xi(this);\n return t !== void 0 && (t.i = this.i), this.v;\n}, set: function(t) {\n if (t !== this.v) {\n if (en > 100) throw new Error(\"Cycle detected\");\n this.v = t, this.i++, mt++, oe++;\n try {\n for (var e = this.t; e !== void 0; e = e.x) e.t.N();\n } finally {\n Ct();\n }\n }\n} });\nfunction L(t, e) {\n return new $(t, e);\n}\nfunction bi(t) {\n for (var e = t.s; e !== void 0; e = e.n) if (e.S.i !== e.i || !e.S.h() || e.S.i !== e.i) return !0;\n return !1;\n}\nfunction yi(t) {\n for (var e = t.s; e !== void 0; e = e.n) {\n var n = e.S.n;\n if (n !== void 0 && (e.r = n), e.S.n = e, e.i = -1, e.n === void 0) {\n t.s = e;\n break;\n }\n }\n}\nfunction vi(t) {\n for (var e = t.s, n = void 0; e !== void 0; ) {\n var r = e.p;\n e.i === -1 ? (e.S.U(e), r !== void 0 && (r.n = e.n), e.n !== void 0 && (e.n.p = r)) : n = e, e.S.n = e.r, e.r !== void 0 && (e.r = void 0), e = r;\n }\n t.s = n;\n}\nfunction me(t, e) {\n $.call(this, void 0), this.x = t, this.s = void 0, this.g = mt - 1, this.f = 4, this.W = e?.watched, this.Z = e?.unwatched, this.name = e?.name;\n}\nme.prototype = new $();\nme.prototype.h = function() {\n if (this.f &= -3, 1 & this.f) return !1;\n if ((36 & this.f) == 32 || (this.f &= -5, this.g === mt)) return !0;\n if (this.g = mt, this.f |= 1, this.i > 0 && !bi(this))\n return this.f &= -2, !0;\n var t = y;\n try {\n yi(this), y = this;\n var e = this.x();\n (16 & this.f || this.v !== e || this.i === 0) && (this.v = e, this.f &= -17, this.i++);\n } catch (n) {\n this.v = n, this.f |= 16, this.i++;\n }\n return y = t, vi(this), this.f &= -2, !0;\n};\nme.prototype.S = function(t) {\n if (this.t === void 0) {\n this.f |= 36;\n for (var e = this.s; e !== void 0; e = e.n) e.S.S(e);\n }\n $.prototype.S.call(this, t);\n};\nme.prototype.U = function(t) {\n if (this.t !== void 0 && ($.prototype.U.call(this, t), this.t === void 0)) {\n this.f &= -33;\n for (var e = this.s; e !== void 0; e = e.n) e.S.U(e);\n }\n};\nme.prototype.N = function() {\n if (!(2 & this.f)) {\n this.f |= 6;\n for (var t = this.t; t !== void 0; t = t.x) t.t.N();\n }\n};\nObject.defineProperty(me.prototype, \"value\", { get: function() {\n if (1 & this.f) throw new Error(\"Cycle detected\");\n var t = xi(this);\n if (this.h(), t !== void 0 && (t.i = this.i), 16 & this.f) throw this.v;\n return this.v;\n} });\nfunction tn(t, e) {\n return new me(t, e);\n}\nfunction _i(t) {\n var e = t.u;\n if (t.u = void 0, typeof e == \"function\") {\n oe++;\n var n = y;\n y = void 0;\n try {\n e();\n } catch (r) {\n throw t.f &= -2, t.f |= 8, bn(t), r;\n } finally {\n y = n, Ct();\n }\n }\n}\nfunction bn(t) {\n for (var e = t.s; e !== void 0; e = e.n) e.S.U(e);\n t.x = void 0, t.s = void 0, _i(t);\n}\nfunction aa(t) {\n if (y !== this) throw new Error(\"Out-of-order effect\");\n vi(this), y = t, this.f &= -2, 8 & this.f && bn(this), Ct();\n}\nfunction Ie(t, e) {\n this.x = t, this.u = void 0, this.s = void 0, this.o = void 0, this.f = 32, this.name = e?.name;\n}\nIe.prototype.c = function() {\n var t = this.S();\n try {\n if (8 & this.f || this.x === void 0) return;\n var e = this.x();\n typeof e == \"function\" && (this.u = e);\n } finally {\n t();\n }\n};\nIe.prototype.S = function() {\n if (1 & this.f) throw new Error(\"Cycle detected\");\n this.f |= 1, this.f &= -9, _i(this), yi(this), oe++;\n var t = y;\n return y = this, aa.bind(this, t);\n};\nIe.prototype.N = function() {\n 2 & this.f || (this.f |= 2, this.o = Ve, Ve = this);\n};\nIe.prototype.d = function() {\n this.f |= 8, 1 & this.f || bn(this);\n};\nIe.prototype.dispose = function() {\n this.d();\n};\nfunction nt(t, e) {\n var n = new Ie(t, e);\n try {\n n.c();\n } catch (i) {\n throw n.d(), i;\n }\n var r = n.d.bind(n);\n return r[Symbol.dispose] = r, r;\n}\nvar wi, Rt, lt, la = typeof window < \"u\" && !!window.__PREACT_SIGNALS_DEVTOOLS__, ki = [];\nnt(function() {\n wi = this.N;\n})();\nfunction Ee(t, e) {\n m[t] = e.bind(null, m[t] || function() {\n });\n}\nfunction xt(t) {\n if (lt) {\n var e = lt;\n lt = void 0, e();\n }\n lt = t && t.S();\n}\nfunction Si(t) {\n var e = this, n = t.data, r = Qe(n);\n r.value = n;\n var i = B(function() {\n for (var l = e, a = e.__v; a = a.__; ) if (a.__c) {\n a.__c.__$f |= 4;\n break;\n }\n var h = tn(function() {\n var f = r.value.value;\n return f === 0 ? 0 : f === !0 ? \"\" : f || \"\";\n }), d = tn(function() {\n return !Array.isArray(h.value) && !Rr(h.value);\n }), c = nt(function() {\n if (this.N = ji, d.value) {\n var f = h.value;\n l.__v && l.__v.__e && l.__v.__e.nodeType === 3 && (l.__v.__e.data = f);\n }\n }), p = e.__$u.d;\n return e.__$u.d = function() {\n c(), p.call(this);\n }, [d, h];\n }, []), s = i[0], o = i[1];\n return s.value ? o.peek() : o.value;\n}\nSi.displayName = \"ReactiveTextNode\";\nObject.defineProperties($.prototype, { constructor: { configurable: !0, value: void 0 }, type: { configurable: !0, value: Si }, props: { configurable: !0, get: function() {\n return { data: this };\n} }, __b: { configurable: !0, value: 1 } });\nEe(\"__b\", function(t, e) {\n if (typeof e.type == \"string\") {\n var n, r = e.props;\n for (var i in r) if (i !== \"children\") {\n var s = r[i];\n s instanceof $ && (n || (e.__np = n = {}), n[i] = s, r[i] = s.peek());\n }\n }\n t(e);\n});\nEe(\"__r\", function(t, e) {\n if (t(e), e.type !== Q) {\n xt();\n var n, r = e.__c;\n r && (r.__$f &= -2, (n = r.__$u) === void 0 && (r.__$u = n = (function(i, s) {\n var o;\n return nt(function() {\n o = this;\n }, { name: s }), o.c = i, o;\n })(function() {\n var i;\n la && ((i = n.y) == null || i.call(n)), r.__$f |= 1, r.setState({});\n }, typeof e.type == \"function\" ? e.type.displayName || e.type.name : \"\"))), Rt = r, xt(n);\n }\n});\nEe(\"__e\", function(t, e, n, r) {\n xt(), Rt = void 0, t(e, n, r);\n});\nEe(\"diffed\", function(t, e) {\n xt(), Rt = void 0;\n var n;\n if (typeof e.type == \"string\" && (n = e.__e)) {\n var r = e.__np, i = e.props;\n if (r) {\n var s = n.U;\n if (s) for (var o in s) {\n var l = s[o];\n l !== void 0 && !(o in r) && (l.d(), s[o] = void 0);\n }\n else\n s = {}, n.U = s;\n for (var a in r) {\n var h = s[a], d = r[a];\n h === void 0 ? (h = ca(n, a, d, i), s[a] = h) : h.o(d, i);\n }\n }\n }\n t(e);\n});\nfunction ca(t, e, n, r) {\n var i = e in t && t.ownerSVGElement === void 0, s = L(n);\n return { o: function(o, l) {\n s.value = o, r = l;\n }, d: nt(function() {\n this.N = ji;\n var o = s.value.value;\n r[e] !== o && (r[e] = o, i ? t[e] = o : o != null && (o !== !1 || e[4] === \"-\") ? t.setAttribute(e, o) : t.removeAttribute(e));\n }) };\n}\nEe(\"unmount\", function(t, e) {\n if (typeof e.type == \"string\") {\n var n = e.__e;\n if (n) {\n var r = n.U;\n if (r) {\n n.U = void 0;\n for (var i in r) {\n var s = r[i];\n s && s.d();\n }\n }\n }\n } else {\n var o = e.__c;\n if (o) {\n var l = o.__$u;\n l && (o.__$u = void 0, l.d());\n }\n }\n t(e);\n});\nEe(\"__h\", function(t, e, n, r) {\n (r < 3 || r === 9) && (e.__$f |= 2), t(e, n, r);\n});\nV.prototype.shouldComponentUpdate = function(t, e) {\n if (this.__R) return !0;\n var n = this.__$u, r = n && n.s !== void 0;\n for (var i in e) return !0;\n if (this.__f || typeof this.u == \"boolean\" && this.u === !0) {\n var s = 2 & this.__$f;\n if (!(r || s || 4 & this.__$f) || 1 & this.__$f) return !0;\n } else if (!(r || 4 & this.__$f) || 3 & this.__$f) return !0;\n for (var o in t) if (o !== \"__source\" && t[o] !== this.props[o]) return !0;\n for (var l in this.props) if (!(l in t)) return !0;\n return !1;\n};\nfunction Qe(t, e) {\n return B(function() {\n return L(t, e);\n }, []);\n}\nfunction ua(t, e) {\n var n = tt(t);\n return n.current = t, Rt.__$f |= 4, B(function() {\n return tn(function() {\n return n.current();\n }, e);\n }, []);\n}\nvar ha = function(t) {\n queueMicrotask(function() {\n queueMicrotask(t);\n });\n};\nfunction da() {\n oa(function() {\n for (var t; t = ki.shift(); ) wi.call(t);\n });\n}\nfunction ji() {\n ki.push(this) === 1 && (m.requestAnimationFrame || ha)(da);\n}\nconst A = L(!1), bt = L(void 0), yt = L(void 0);\nfunction fa(t) {\n return t.replace(/\\.convex\\.site\\b/, \".convex.cloud\");\n}\nfunction Ci(t) {\n return t.replace(/\\.convex\\.cloud\\b/, \".convex.site\");\n}\nfunction pa(t, e) {\n const n = t.title ?? e?.title ?? \"Assistant\";\n return {\n title: n,\n greeting: t.greeting ?? e?.welcomeMessage ?? `Hi! I'm ${n}. How can I help?`,\n locale: t.locale ?? e?.locale,\n position: t.position ?? e?.position,\n colorScheme: t.colorScheme ?? e?.colorScheme,\n hideBranding: t.hideBranding ?? e?.hideBranding ?? !1,\n triggerIcon: t.triggerIcon ?? e?.triggerIcon ?? \"chat\",\n triggerRadius: t.triggerRadius ?? e?.triggerRadius ?? \"full\",\n triggerLabel: t.triggerLabel ?? e?.triggerLabel ?? \"Chatte mit uns\",\n mode: t.mode ?? \"floating\",\n primaryColor: t.primaryColor ?? e?.primaryColor,\n accentColor: t.accentColor ?? e?.accentColor,\n fontFamily: t.fontFamily ?? e?.fontFamily,\n fontSize: t.fontSize ?? e?.fontSize,\n borderRadius: t.borderRadius ?? e?.borderRadius,\n windowWidth: t.windowWidth ?? e?.windowWidth,\n windowHeight: t.windowHeight ?? e?.windowHeight\n };\n}\nasync function ga(t, e, n, r) {\n const i = new URL(`${t}/widget/config`);\n i.searchParams.set(\"orgSlug\", e), r && i.searchParams.set(\"projSlug\", r);\n const s = await fetch(i.toString(), { signal: n });\n return s.ok ? s.json() : null;\n}\nfunction ma(t, e, n) {\n const [r, i] = T(null);\n return M(() => {\n i(null);\n const s = n ?? \"https://festive-mouse-978.eu-west-1.convex.cloud\", o = s ? Ci(s) : void 0;\n if (!o || !t)\n return;\n const l = new AbortController();\n async function a(h) {\n try {\n const d = await ga(h, t, l.signal, e);\n d && i(d);\n } catch (d) {\n if (d instanceof Error && d.name === \"AbortError\")\n return;\n }\n }\n return a(o), () => {\n l.abort();\n };\n }, [t, e, n]), r;\n}\nasync function xa(t, e, n) {\n try {\n const r = await fetch(`${e}/widget/bootstrap`, {\n method: \"POST\",\n headers: { \"Content-Type\": \"application/json\" },\n body: JSON.stringify(n ? { orgSlug: t, projSlug: n } : { orgSlug: t }),\n credentials: \"omit\"\n });\n if (r.ok) {\n const i = await r.json();\n return { ok: !0, token: i.token, excludePaths: i.excludePaths };\n }\n return r.status === 403 ? { ok: !1, error: \"unauthorized\" } : r.status === 404 ? { ok: !1, error: \"not_found\" } : r.status === 429 ? { ok: !1, error: \"rate_limited\", retryAfterSec: Number(r.headers.get(\"Retry-After\")) || 60 } : { ok: !1, error: \"network\" };\n } catch {\n return { ok: !1, error: \"network\" };\n }\n}\nfunction ba(t, e, n, r) {\n M(() => {\n if (n)\n return;\n const i = r ?? \"https://festive-mouse-978.eu-west-1.convex.cloud\", s = i ? Ci(i) : void 0;\n if (!s || !t)\n return;\n let o = !1;\n return (async () => {\n const l = await xa(t, s, e);\n if (!o)\n if (l.ok)\n yt.value = l.token;\n else {\n const a = e ? `project '${t}/${e}'` : `org '${t}'`;\n l.error === \"unauthorized\" ? console.error(\n `[JexityChat] This domain is not authorized for ${a}. Check the widget's domain rules.`\n ) : l.error === \"not_found\" ? console.error(`[JexityChat] No active widget config found for ${a}.`) : l.error === \"rate_limited\" ? console.error(\n `[JexityChat] Bootstrap rate-limited for ${a}. Retry after ${l.retryAfterSec ?? 60}s.`\n ) : console.error(`[JexityChat] Bootstrap failed: ${l.error}`);\n }\n })(), () => {\n o = !0;\n };\n }, [t, e, n, r]);\n}\nconst Ri = {\n title: \"Assistant\",\n statusOnline: \"Online · Responds in seconds\",\n inputPlaceholder: \"Type a message…\",\n aiThinking: \"AI is responding…\",\n sendAriaLabel: \"Send message\",\n openChatAriaLabel: \"Open chat\",\n closeChatAriaLabel: \"Close chat\",\n errorNetwork: \"Network error. Please try again.\",\n errorQuota: \"Message limit reached. Please try again later.\",\n errorRateLimited: \"Too many messages. Try again in {seconds}s.\",\n localeLabelDe: \"DE\",\n localeLabelEn: \"EN\",\n resumeConversation: \"Resume conversation\",\n sessionNotFound: \"Your previous session was not found. Starting a new conversation.\",\n startNewConversation: \"Start new conversation\",\n chatWith: \"Chat with {title}\",\n haveReferenceNumber: \"Have a reference number?\",\n referencePlaceholder: \"e.g. JEX-A3B7C2\",\n resume: \"Resume\",\n howCanWeHelp: \"How can we help?\",\n getInstantHelp: \"Get instant help\",\n submitTicket: \"Submit a ticket\",\n replyByEmail: \"We'll reply by email\",\n ticketSubmitted: \"Ticket submitted\",\n yourReferenceNumber: \"Your reference number:\",\n sentToEmailHint: \"We've sent it to your email. Use this number to follow up.\",\n done: \"Done\",\n submittingTicket: \"Submitting your ticket…\",\n yourName: \"Your name\",\n yourEmail: \"Your email\",\n submit: \"Submit\",\n back: \"Go back\",\n // Escalation form\n escalationFormTitle: \"Leave your details\",\n escalationSubtitle: \"Our team will get back to you by email so you don’t have to wait here.\",\n escalationNameLabel: \"Your name\",\n escalationEmailLabel: \"Your email\",\n escalationSubmit: \"Send to team\",\n escalationSubmitting: \"Sending…\",\n escalationSubmitted: \"Request submitted\",\n escalationConsent: \"We’ll only use your email to respond to this conversation.\",\n escalationSkip: \"Skip, I’ll wait here\",\n escalationPromptTitle: \"Talk to our team\",\n escalationPromptSubtitle: \"We can notify you by email when our team replies.\",\n escalationPromptSubmit: \"Leave details\",\n escalationSubmitFailed: \"Failed to submit. Please try again.\",\n // Session resume prompt\n sessionNotFoundPrompt: \"Session not found. Would you like to start a new conversation?\",\n // Resolved session\n sessionResolved: \"This conversation has been resolved.\",\n tryAgain: \"Try again\",\n goBack: \"Go back\",\n somethingWentWrong: \"Something went wrong\",\n fabLabel: \"Chat with us\",\n chatNoLongerAvailable: \"This chat is no longer available.\"\n}, ya = {\n title: \"Assistent\",\n statusOnline: \"Online · Antwortet in Sekunden\",\n inputPlaceholder: \"Nachricht eingeben…\",\n aiThinking: \"KI antwortet…\",\n sendAriaLabel: \"Nachricht senden\",\n openChatAriaLabel: \"Chat öffnen\",\n closeChatAriaLabel: \"Chat schließen\",\n errorNetwork: \"Netzwerkfehler. Bitte versuche es erneut.\",\n errorQuota: \"Nachrichtenlimit erreicht. Bitte versuche es später erneut.\",\n errorRateLimited: \"Zu viele Nachrichten. Bitte in {seconds} Sek. erneut versuchen.\",\n localeLabelDe: \"DE\",\n localeLabelEn: \"EN\",\n resumeConversation: \"Gespräch fortsetzen\",\n sessionNotFound: \"Ihre vorherige Sitzung wurde nicht gefunden. Ein neues Gespräch wird gestartet.\",\n startNewConversation: \"Neues Gespräch beginnen\",\n chatWith: \"Chatte mit {title}\",\n haveReferenceNumber: \"Hast du eine Referenznummer?\",\n referencePlaceholder: \"z.B. JEX-A3B7C2\",\n resume: \"Fortsetzen\",\n howCanWeHelp: \"Wie können wir helfen?\",\n getInstantHelp: \"Soforthilfe erhalten\",\n submitTicket: \"Ticket einreichen\",\n replyByEmail: \"Wir antworten per E-Mail\",\n ticketSubmitted: \"Ticket eingereicht\",\n yourReferenceNumber: \"Deine Referenznummer:\",\n sentToEmailHint: \"Wir haben sie an deine E-Mail gesendet. Verwende diese Nummer für Rückfragen.\",\n done: \"Fertig\",\n submittingTicket: \"Dein Ticket wird übermittelt…\",\n yourName: \"Dein Name\",\n yourEmail: \"Deine E-Mail\",\n submit: \"Absenden\",\n back: \"Zurück\",\n // Escalation form\n escalationFormTitle: \"Hinterlassen Sie Ihre Daten\",\n escalationSubtitle: \"Unser Team meldet sich per E-Mail bei Ihnen — Sie müssen nicht hier warten.\",\n escalationNameLabel: \"Ihr Name\",\n escalationEmailLabel: \"Ihre E-Mail\",\n escalationSubmit: \"An Team senden\",\n escalationSubmitting: \"Wird gesendet…\",\n escalationSubmitted: \"Anfrage gesendet\",\n escalationConsent: \"Wir verwenden Ihre E-Mail nur, um auf diese Unterhaltung zu antworten.\",\n escalationSkip: \"Überspringen, ich warte hier\",\n escalationPromptTitle: \"Sprechen Sie mit unserem Team\",\n escalationPromptSubtitle: \"Wir benachrichtigen Sie per E-Mail, wenn wir antworten.\",\n escalationPromptSubmit: \"Daten hinterlassen\",\n escalationSubmitFailed: \"Senden fehlgeschlagen. Bitte versuche es erneut.\",\n // Session resume prompt\n sessionNotFoundPrompt: \"Sitzung nicht gefunden. Möchten Sie ein neues Gespräch beginnen?\",\n // Resolved session\n sessionResolved: \"Diese Unterhaltung wurde abgeschlossen.\",\n tryAgain: \"Erneut versuchen\",\n goBack: \"Zurück\",\n somethingWentWrong: \"Etwas ist schiefgelaufen\",\n fabLabel: \"Chatte mit uns\",\n chatNoLongerAvailable: \"Dieser Chat ist nicht mehr verfügbar.\"\n}, va = [\n { value: \"de\", label: \"Deutsch\", flag: \"🇩🇪\" },\n { value: \"en\", label: \"English\", flag: \"🇬🇧\" }\n], _a = \"de\", wa = \"jex-locale\", yn = L(\"de\"), ka = { en: Ri, de: ya };\nfunction q() {\n return ka[yn.value] ?? Ri;\n}\nfunction Bt(t) {\n if (!t)\n return null;\n const e = (t.split(\"-\")[0] ?? \"\").toLowerCase();\n return va.some((r) => r.value === e) ? e : null;\n}\nfunction Ti(t) {\n const e = Bt(t);\n if (e)\n return e;\n try {\n const n = Bt(localStorage.getItem(wa));\n if (n)\n return n;\n } catch {\n }\n if (typeof navigator < \"u\") {\n const n = Bt(navigator.language);\n if (n)\n return n;\n }\n return _a;\n}\nfunction Sa(t) {\n M(() => {\n function e(n) {\n const r = t ?? window.location.origin;\n if (n.origin !== r || n.data?.type !== \"jexity:config\")\n return;\n const { locale: i } = n.data.payload;\n i && (yn.value = Ti(i));\n }\n return window.addEventListener(\"message\", e), () => {\n window.removeEventListener(\"message\", e);\n };\n }, [t]);\n}\nconst vn = \"jex-session-ref\", Tt = \"jex-session-active\", le = L(null), pe = L(!1);\nfunction ja() {\n return \"JEX-\" + Math.random().toString(36).slice(2, 8).toUpperCase();\n}\nfunction Ca() {\n try {\n const t = sessionStorage.getItem(vn), e = sessionStorage.getItem(Tt);\n le.value = t ?? null, pe.value = t !== null && e === \"true\";\n } catch {\n le.value = null, pe.value = !1;\n }\n}\nfunction nn() {\n const t = ja();\n le.value = t, pe.value = !1;\n try {\n sessionStorage.setItem(vn, t), sessionStorage.removeItem(Tt);\n } catch {\n }\n return t;\n}\nfunction Ra(t) {\n le.value = t, pe.value = !0;\n try {\n sessionStorage.setItem(vn, t), sessionStorage.setItem(Tt, \"true\");\n } catch {\n }\n}\nfunction Ta() {\n if (le.value) {\n pe.value = !0;\n try {\n sessionStorage.setItem(Tt, \"true\");\n } catch {\n }\n }\n}\nfunction $a(t) {\n const e = {}, { primaryColor: n, theme: r } = t;\n if (n && (e[\"--jex-primary\"] = n, e[\"--jex-bg-trigger\"] = n, e[\"--jex-bg-header\"] = n, e[\"--jex-bg-msg-user\"] = n, e[\"--jex-bg-send-btn\"] = n), t.accentColor && (e[\"--jex-accent\"] = t.accentColor), r?.bg) {\n const i = r.bg;\n i.trigger && (e[\"--jex-bg-trigger\"] = i.trigger), i.header && (e[\"--jex-bg-header\"] = i.header), i.msgUser && (e[\"--jex-bg-msg-user\"] = i.msgUser), i.msgBot && (e[\"--jex-bg-msg-bot\"] = i.msgBot), i.window && (e[\"--jex-bg-window\"] = i.window), i.sendBtn && (e[\"--jex-bg-send-btn\"] = i.sendBtn);\n }\n if (r?.text) {\n const i = r.text;\n i.header && (e[\"--jex-text-header\"] = i.header), i.msgUser && (e[\"--jex-text-msg-user\"] = i.msgUser), i.msgBot && (e[\"--jex-text-msg-bot\"] = i.msgBot), i.main && (e[\"--jex-text-main\"] = i.main), i.muted && (e[\"--jex-text-muted\"] = i.muted);\n }\n if (r?.border) {\n const i = r.border;\n i.window && (e[\"--jex-border-window\"] = i.window), i.input && (e[\"--jex-border-input\"] = i.input);\n }\n return t.fontFamily && (e[\"--jex-font-family\"] = t.fontFamily), t.fontSize && (e[\"--jex-font-size\"] = `${t.fontSize}px`), t.borderRadius && (e[\"--jex-radius\"] = t.borderRadius), t.windowWidth && (e[\"--jex-window-width\"] = `${t.windowWidth}px`), t.windowHeight && (e[\"--jex-window-height\"] = `${t.windowHeight}px`), Object.keys(e).length > 0 ? e : void 0;\n}\nconst W = L([{ id: \"home\" }]), Aa = L(\"screen\");\nfunction ke(t) {\n W.value = [...W.value, t];\n}\nfunction _n() {\n W.value.length > 1 && (W.value = W.value.slice(0, -1));\n}\nfunction Se(t) {\n W.value = [...W.value.slice(0, -1), t];\n}\nfunction wn({ size: t = 24 }) {\n return /* @__PURE__ */ u(\"svg\", { width: t, height: t, viewBox: \"0 0 24 24\", fill: \"none\", stroke: \"currentColor\", \"stroke-width\": \"2\", \"stroke-linecap\": \"round\", \"stroke-linejoin\": \"round\", \"aria-hidden\": \"true\", children: [\n /* @__PURE__ */ u(\"path\", { d: \"M12 8V4H8\" }),\n /* @__PURE__ */ u(\"rect\", { width: \"16\", height: \"12\", x: \"4\", y: \"8\", rx: \"2\" }),\n /* @__PURE__ */ u(\"path\", { d: \"M2 14h2\" }),\n /* @__PURE__ */ u(\"path\", { d: \"M20 14h2\" }),\n /* @__PURE__ */ u(\"path\", { d: \"M15 13v2\" }),\n /* @__PURE__ */ u(\"path\", { d: \"M9 13v2\" })\n ] });\n}\nfunction fr({ title: t }) {\n const e = q(), n = W.value.length > 1;\n return /* @__PURE__ */ u(\"header\", { class: \"jex-chat-header\", children: [\n n && /* @__PURE__ */ u(\n \"button\",\n {\n class: \"jex-header-back\",\n onClick: _n,\n \"aria-label\": e.back || \"Go back\",\n children: /* @__PURE__ */ u(\"svg\", { width: 20, height: 20, viewBox: \"0 0 24 24\", fill: \"none\", stroke: \"currentColor\", \"stroke-width\": \"2\", \"stroke-linecap\": \"round\", \"stroke-linejoin\": \"round\", \"aria-hidden\": \"true\", children: /* @__PURE__ */ u(\"path\", { d: \"m15 18-6-6 6-6\" }) })\n }\n ),\n !n && /* @__PURE__ */ u(wn, { size: 24 }),\n /* @__PURE__ */ u(\"div\", { class: \"jex-header-info\", children: [\n /* @__PURE__ */ u(\"h3\", { children: t }),\n /* @__PURE__ */ u(\"p\", { children: e.statusOnline })\n ] })\n ] });\n}\nfunction Ia({ size: t = 14 }) {\n return /* @__PURE__ */ u(\"svg\", { width: t, height: t, viewBox: \"0 0 24 24\", fill: \"none\", stroke: \"currentColor\", \"stroke-width\": \"2\", \"stroke-linecap\": \"round\", \"stroke-linejoin\": \"round\", \"aria-hidden\": \"true\", children: /* @__PURE__ */ u(\"path\", { d: \"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z\" }) });\n}\nfunction pr() {\n return /* @__PURE__ */ u(\"div\", { class: \"jex-widget-footer\", children: /* @__PURE__ */ u(\n \"a\",\n {\n href: \"https://jexitychat.de\",\n target: \"_blank\",\n rel: \"noopener noreferrer\",\n class: \"jex-branding\",\n children: [\n /* @__PURE__ */ u(Ia, { size: 14 }),\n /* @__PURE__ */ u(\"span\", { children: [\n \"Powered by \",\n /* @__PURE__ */ u(\"strong\", { children: \"Jexity\" })\n ] })\n ]\n }\n ) });\n}\nfunction $i({ size: t = 28 }) {\n return /* @__PURE__ */ u(\"svg\", { width: t, height: t, viewBox: \"0 0 24 24\", fill: \"none\", stroke: \"currentColor\", \"stroke-width\": \"2\", \"stroke-linecap\": \"round\", \"stroke-linejoin\": \"round\", \"aria-hidden\": \"true\", children: /* @__PURE__ */ u(\"path\", { d: \"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z\" }) });\n}\nfunction Ea({ size: t = 28 }) {\n return /* @__PURE__ */ u(\"svg\", { width: t, height: t, viewBox: \"0 0 24 24\", fill: \"none\", stroke: \"currentColor\", \"stroke-width\": \"2\", \"stroke-linecap\": \"round\", \"stroke-linejoin\": \"round\", \"aria-hidden\": \"true\", children: [\n /* @__PURE__ */ u(\"path\", { d: \"M18 6 6 18\" }),\n /* @__PURE__ */ u(\"path\", { d: \"m6 6 12 12\" })\n ] });\n}\nfunction Pa({ size: t = 24, ...e }) {\n return /* @__PURE__ */ u(\n \"svg\",\n {\n width: t,\n height: t,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n \"stroke-width\": \"2\",\n \"stroke-linecap\": \"round\",\n \"stroke-linejoin\": \"round\",\n ...e,\n children: /* @__PURE__ */ u(\"path\", { d: \"M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z\" })\n }\n );\n}\nconst qa = {\n chat: /* @__PURE__ */ u($i, { size: 28 }),\n bot: /* @__PURE__ */ u(wn, { size: 28 }),\n sparkles: /* @__PURE__ */ u(Pa, { size: 28 })\n}, Ma = {\n none: \"0px\",\n sm: \"0.5rem\",\n md: \"0.75rem\",\n lg: \"1.25rem\",\n full: \"9999px\"\n};\nfunction La({ radius: t = \"full\", iconOption: e = \"chat\", label: n }) {\n const r = q(), i = n ?? r.fabLabel, s = i !== \"\";\n return /* @__PURE__ */ u(\n \"button\",\n {\n class: `jex-floating-button ${!A.value && s ? \"jex-has-label\" : \"\"}`,\n style: { borderRadius: Ma[t] ?? \"9999px\" },\n onClick: () => {\n A.value = !A.value;\n },\n \"aria-label\": A.value ? r.closeChatAriaLabel : r.openChatAriaLabel,\n children: A.value ? /* @__PURE__ */ u(Ea, { size: 28 }) : /* @__PURE__ */ u(\"div\", { class: \"jex-fab-inner\", children: [\n qa[e],\n s && /* @__PURE__ */ u(\"span\", { class: \"jex-fab-label\", children: i })\n ] })\n }\n );\n}\nfunction Oa({ title: t }) {\n const e = q(), n = le.value, [r, i] = T(\"\");\n function s() {\n nn(), ke({ id: \"chat\" });\n }\n function o() {\n ke({ id: \"chat\" });\n }\n function l(a) {\n a.preventDefault();\n const h = r.trim().toUpperCase();\n h && (Ra(h), ke({ id: \"chat\" }));\n }\n return /* @__PURE__ */ u(\"div\", { class: \"jex-home\", children: [\n /* @__PURE__ */ u(\"div\", { class: \"jex-home-hero\", children: [\n /* @__PURE__ */ u(\"div\", { class: \"jex-home-avatar\", children: [\n /* @__PURE__ */ u($i, { size: 24 }),\n /* @__PURE__ */ u(\"span\", { class: \"jex-home-status-dot\" })\n ] }),\n /* @__PURE__ */ u(\"div\", { class: \"jex-home-hero-text\", children: [\n /* @__PURE__ */ u(\"h2\", { class: \"jex-home-title\", children: t }),\n /* @__PURE__ */ u(\"span\", { class: \"jex-home-status\", children: e.statusOnline })\n ] })\n ] }),\n /* @__PURE__ */ u(\"form\", { class: \"jex-home-lookup\", onSubmit: l, children: [\n /* @__PURE__ */ u(\n \"input\",\n {\n class: \"jex-home-lookup-input\",\n type: \"text\",\n placeholder: e.referencePlaceholder,\n value: r,\n onInput: (a) => {\n i(a.currentTarget.value);\n }\n }\n ),\n /* @__PURE__ */ u(\n \"button\",\n {\n class: \"jex-home-lookup-submit\",\n type: \"submit\",\n disabled: !r.trim(),\n children: e.resume\n }\n )\n ] }),\n /* @__PURE__ */ u(\"div\", { class: \"jex-home-actions\", children: [\n n && /* @__PURE__ */ u(\"button\", { class: \"jex-home-resume-card\", onClick: o, children: [\n /* @__PURE__ */ u(\"div\", { class: \"jex-home-resume-top\", children: [\n /* @__PURE__ */ u(\"span\", { class: \"jex-home-resume-label\", children: e.resumeConversation }),\n /* @__PURE__ */ u(\"svg\", { width: \"16\", height: \"16\", viewBox: \"0 0 16 16\", fill: \"none\", class: \"jex-home-resume-arrow\", children: /* @__PURE__ */ u(\"path\", { d: \"M6 3l5 5-5 5\", stroke: \"currentColor\", \"stroke-width\": \"2\", \"stroke-linecap\": \"round\", \"stroke-linejoin\": \"round\" }) })\n ] }),\n /* @__PURE__ */ u(\"span\", { class: \"jex-home-resume-ref\", children: n })\n ] }),\n /* @__PURE__ */ u(\"button\", { class: \"jex-home-new-btn\", onClick: s, children: n ? e.startNewConversation : e.chatWith.replace(\"{title}\", t) })\n ] })\n ] });\n}\nfunction Na({ title: t }) {\n const e = q();\n return /* @__PURE__ */ u(\"div\", { class: \"jex-selection\", children: [\n /* @__PURE__ */ u(\"h2\", { class: \"jex-selection-title\", children: e.howCanWeHelp }),\n /* @__PURE__ */ u(\"div\", { class: \"jex-selection-options\", children: [\n /* @__PURE__ */ u(\n \"button\",\n {\n class: \"jex-selection-option\",\n onClick: () => ke({ id: \"chat\" }),\n children: [\n /* @__PURE__ */ u(\"span\", { class: \"jex-selection-icon\", children: \"💬\" }),\n /* @__PURE__ */ u(\"span\", { class: \"jex-selection-label\", children: e.chatWith.replace(\"{title}\", t) }),\n /* @__PURE__ */ u(\"span\", { class: \"jex-selection-sub\", children: e.getInstantHelp })\n ]\n }\n ),\n /* @__PURE__ */ u(\n \"button\",\n {\n class: \"jex-selection-option\",\n onClick: () => ke({ id: \"form\" }),\n children: [\n /* @__PURE__ */ u(\"span\", { class: \"jex-selection-icon\", children: \"📝\" }),\n /* @__PURE__ */ u(\"span\", { class: \"jex-selection-label\", children: e.submitTicket }),\n /* @__PURE__ */ u(\"span\", { class: \"jex-selection-sub\", children: e.replyByEmail })\n ]\n }\n )\n ] })\n ] });\n}\nfunction Ai(t, e) {\n const n = {\n get(r, i) {\n if (typeof i == \"string\") {\n const s = [...e, i];\n return Ai(t, s);\n } else if (i === ui) {\n if (e.length < 1) {\n const s = [t, ...e].join(\".\");\n throw new Error(\n `API path is expected to be of the form \\`${t}.childComponent.functionName\\`. Found: \\`${s}\\``\n );\n }\n return \"_reference/childComponent/\" + e.join(\"/\");\n } else\n return;\n }\n };\n return new Proxy({}, n);\n}\nconst za = () => Ai(\"components\", []), $e = ao;\nza();\nfunction Qa(t, e) {\n const n = tt(null), r = Qe(!1), i = Qe(!1), s = Qe(!1), o = Qe(null), l = jt($e.functions.chat.public.sessions.createOrResume), a = async (p) => {\n const f = yt.value;\n if (!f)\n return console.warn(\"[JexityChat] No bootstrap token — session creation blocked.\"), null;\n const g = await l({\n orgSlug: t,\n ...e ? { projSlug: e } : {},\n visitorId: p,\n bootstrapToken: f,\n ...bt.value ? { source: bt.value } : {}\n });\n o.value = g.status;\n const x = { sessionId: g.sessionId, visitorId: p };\n return n.current = x, { session: x, result: g };\n }, h = He(async () => {\n if (n.current)\n return n.current;\n if (s.value)\n return null;\n r.value = !0;\n const p = le.value !== null, f = le.value ?? nn();\n try {\n const g = await a(f);\n return g ? (p && g.result.isNew && (i.value = !0, s.value = !0), g.session) : null;\n } catch (g) {\n return console.error(\"[JexityChat] Failed to create session:\", g), null;\n } finally {\n r.value = !1;\n }\n }, [t, e, l, r, i, s]), d = He(async () => {\n n.current = null, s.value = !1, i.value = !1;\n const p = nn();\n r.value = !0;\n try {\n return (await a(p))?.session ?? null;\n } catch (f) {\n return console.error(\"[JexityChat] Failed to create fresh session:\", f), null;\n } finally {\n r.value = !1;\n }\n }, [t, e, l, r, i, s, o]), c = n.current;\n return {\n sessionId: c?.sessionId ?? null,\n visitorId: c?.visitorId ?? null,\n isLoading: r.value,\n sessionNotFound: i.value,\n resumeFailed: s.value,\n sessionStatus: o.value,\n isOrgDeleted: o.value === \"org_deleted\",\n ensureSession: h,\n startFresh: d\n };\n}\nconst Ba = (...t) => t.filter((e, n, r) => !!e && e.trim() !== \"\" && r.indexOf(e) === n).join(\" \").trim();\nconst gr = (t) => t.replace(/([a-z0-9])([A-Z])/g, \"$1-$2\").toLowerCase();\nconst Fa = (t) => t.replace(\n /^([A-Z])|[\\s-_]+(\\w)/g,\n (e, n, r) => r ? r.toUpperCase() : n.toLowerCase()\n);\nconst mr = (t) => {\n const e = Fa(t);\n return e.charAt(0).toUpperCase() + e.slice(1);\n};\nvar Da = {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n \"stroke-width\": \"2\",\n \"stroke-linecap\": \"round\",\n \"stroke-linejoin\": \"round\"\n};\nconst Ua = (t) => {\n for (const e in t)\n if (e.startsWith(\"aria-\") || e === \"role\" || e === \"title\")\n return !0;\n return !1;\n};\nconst Va = ({\n color: t = \"currentColor\",\n size: e = 24,\n strokeWidth: n = 2,\n absoluteStrokeWidth: r,\n children: i,\n iconNode: s,\n class: o = \"\",\n ...l\n}) => z(\n \"svg\",\n {\n ...Da,\n width: String(e),\n height: e,\n stroke: t,\n \"stroke-width\": r ? Number(n) * 24 / Number(e) : n,\n class: [\"lucide\", o].join(\" \"),\n ...!i && !Ua(l) && { \"aria-hidden\": \"true\" },\n ...l\n },\n [...s.map(([a, h]) => z(a, h)), ...ee(i)]\n);\nconst Wa = (t, e) => {\n const n = ({ class: r = \"\", className: i = \"\", children: s, ...o }) => z(\n Va,\n {\n ...o,\n iconNode: e,\n class: Ba(\n `lucide-${gr(mr(t))}`,\n `lucide-${gr(t)}`,\n r,\n i\n )\n },\n s\n );\n return n.displayName = mr(t), n;\n};\nconst Ha = Wa(\"corner-up-left\", [\n [\"path\", { d: \"M20 20v-7a4 4 0 0 0-4-4H4\", key: \"1nkjon\" }],\n [\"path\", { d: \"M9 14 4 9l5-5\", key: \"102s5s\" }]\n]);\nfunction kn() {\n return { async: !1, breaks: !1, extensions: null, gfm: !0, hooks: null, pedantic: !1, renderer: null, silent: !1, tokenizer: null, walkTokens: null };\n}\nvar xe = kn();\nfunction Ii(t) {\n xe = t;\n}\nvar ue = { exec: () => null };\nfunction b(t, e = \"\") {\n let n = typeof t == \"string\" ? t : t.source, r = { replace: (i, s) => {\n let o = typeof s == \"string\" ? s : s.source;\n return o = o.replace(I.caret, \"$1\"), n = n.replace(i, o), r;\n }, getRegex: () => new RegExp(n, e) };\n return r;\n}\nvar Ja = (() => {\n try {\n return !!new RegExp(\"(?<=1)(?<!1)\");\n } catch {\n return !1;\n }\n})(), I = { codeRemoveIndent: /^(?: {1,4}| {0,3}\\t)/gm, outputLinkReplace: /\\\\([\\[\\]])/g, indentCodeCompensation: /^(\\s+)(?:```)/, beginningSpace: /^\\s+/, endingHash: /#$/, startingSpaceChar: /^ /, endingSpaceChar: / $/, nonSpaceChar: /[^ ]/, newLineCharGlobal: /\\n/g, tabCharGlobal: /\\t/g, multipleSpaceGlobal: /\\s+/g, blankLine: /^[ \\t]*$/, doubleBlankLine: /\\n[ \\t]*\\n[ \\t]*$/, blockquoteStart: /^ {0,3}>/, blockquoteSetextReplace: /\\n {0,3}((?:=+|-+) *)(?=\\n|$)/g, blockquoteSetextReplace2: /^ {0,3}>[ \\t]?/gm, listReplaceNesting: /^ {1,4}(?=( {4})*[^ ])/g, listIsTask: /^\\[[ xX]\\] +\\S/, listReplaceTask: /^\\[[ xX]\\] +/, listTaskCheckbox: /\\[[ xX]\\]/, anyLine: /\\n.*\\n/, hrefBrackets: /^<(.*)>$/, tableDelimiter: /[:|]/, tableAlignChars: /^\\||\\| *$/g, tableRowBlankLine: /\\n[ \\t]*$/, tableAlignRight: /^ *-+: *$/, tableAlignCenter: /^ *:-+: *$/, tableAlignLeft: /^ *:-+ *$/, startATag: /^<a /i, endATag: /^<\\/a>/i, startPreScriptTag: /^<(pre|code|kbd|script)(\\s|>)/i, endPreScriptTag: /^<\\/(pre|code|kbd|script)(\\s|>)/i, startAngleBracket: /^</, endAngleBracket: />$/, pedanticHrefTitle: /^([^'\"]*[^\\s])\\s+(['\"])(.*)\\2/, unicodeAlphaNumeric: /[\\p{L}\\p{N}]/u, escapeTest: /[&<>\"']/, escapeReplace: /[&<>\"']/g, escapeTestNoEncode: /[<>\"']|&(?!(#\\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\\w+);)/, escapeReplaceNoEncode: /[<>\"']|&(?!(#\\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\\w+);)/g, caret: /(^|[^\\[])\\^/g, percentDecode: /%25/g, findPipe: /\\|/g, splitPipe: / \\|/, slashPipe: /\\\\\\|/g, carriageReturn: /\\r\\n|\\r/g, spaceLine: /^ +$/gm, notSpaceStart: /^\\S*/, endingNewline: /\\n$/, listItemRegex: (t) => new RegExp(`^( {0,3}${t})((?:[\t ][^\\\\n]*)?(?:\\\\n|$))`), nextBulletRegex: (t) => new RegExp(`^ {0,${Math.min(3, t - 1)}}(?:[*+-]|\\\\d{1,9}[.)])((?:[ \t][^\\\\n]*)?(?:\\\\n|$))`), hrRegex: (t) => new RegExp(`^ {0,${Math.min(3, t - 1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\\\* *){3,})(?:\\\\n+|$)`), fencesBeginRegex: (t) => new RegExp(`^ {0,${Math.min(3, t - 1)}}(?:\\`\\`\\`|~~~)`), headingBeginRegex: (t) => new RegExp(`^ {0,${Math.min(3, t - 1)}}#`), htmlBeginRegex: (t) => new RegExp(`^ {0,${Math.min(3, t - 1)}}<(?:[a-z].*>|!--)`, \"i\"), blockquoteBeginRegex: (t) => new RegExp(`^ {0,${Math.min(3, t - 1)}}>`) }, Ga = /^(?:[ \\t]*(?:\\n|$))+/, Ka = /^((?: {4}| {0,3}\\t)[^\\n]+(?:\\n(?:[ \\t]*(?:\\n|$))*)?)+/, Za = /^ {0,3}(`{3,}(?=[^`\\n]*(?:\\n|$))|~{3,})([^\\n]*)(?:\\n|$)(?:|([\\s\\S]*?)(?:\\n|$))(?: {0,3}\\1[~`]* *(?=\\n|$)|$)/, rt = /^ {0,3}((?:-[\\t ]*){3,}|(?:_[ \\t]*){3,}|(?:\\*[ \\t]*){3,})(?:\\n+|$)/, Xa = /^ {0,3}(#{1,6})(?=\\s|$)(.*)(?:\\n+|$)/, Sn = / {0,3}(?:[*+-]|\\d{1,9}[.)])/, Ei = /^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\\n(?!\\s*?\\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\\n {0,3}(=+|-+) *(?:\\n+|$)/, Pi = b(Ei).replace(/bull/g, Sn).replace(/blockCode/g, /(?: {4}| {0,3}\\t)/).replace(/fences/g, / {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g, / {0,3}>/).replace(/heading/g, / {0,3}#{1,6}/).replace(/html/g, / {0,3}<[^\\n>]+>\\n/).replace(/\\|table/g, \"\").getRegex(), Ya = b(Ei).replace(/bull/g, Sn).replace(/blockCode/g, /(?: {4}| {0,3}\\t)/).replace(/fences/g, / {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g, / {0,3}>/).replace(/heading/g, / {0,3}#{1,6}/).replace(/html/g, / {0,3}<[^\\n>]+>\\n/).replace(/table/g, / {0,3}\\|?(?:[:\\- ]*\\|)+[\\:\\- ]*\\n/).getRegex(), jn = /^([^\\n]+(?:\\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\\n)[^\\n]+)*)/, el = /^[^\\n]+/, Cn = /(?!\\s*\\])(?:\\\\[\\s\\S]|[^\\[\\]\\\\])+/, tl = b(/^ {0,3}\\[(label)\\]: *(?:\\n[ \\t]*)?([^<\\s][^\\s]*|<.*?>)(?:(?: +(?:\\n[ \\t]*)?| *\\n[ \\t]*)(title))? *(?:\\n+|$)/).replace(\"label\", Cn).replace(\"title\", /(?:\"(?:\\\\\"?|[^\"\\\\])*\"|'[^'\\n]*(?:\\n[^'\\n]+)*\\n?'|\\([^()]*\\))/).getRegex(), nl = b(/^(bull)([ \\t][^\\n]+?)?(?:\\n|$)/).replace(/bull/g, Sn).getRegex(), $t = \"address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul\", Rn = /<!--(?:-?>|[\\s\\S]*?(?:-->|$))/, rl = b(\"^ {0,3}(?:<(script|pre|style|textarea)[\\\\s>][\\\\s\\\\S]*?(?:</\\\\1>[^\\\\n]*\\\\n+|$)|comment[^\\\\n]*(\\\\n+|$)|<\\\\?[\\\\s\\\\S]*?(?:\\\\?>\\\\n*|$)|<![A-Z][\\\\s\\\\S]*?(?:>\\\\n*|$)|<!\\\\[CDATA\\\\[[\\\\s\\\\S]*?(?:\\\\]\\\\]>\\\\n*|$)|</?(tag)(?: +|\\\\n|/?>)[\\\\s\\\\S]*?(?:(?:\\\\n[ \t]*)+\\\\n|$)|<(?!script|pre|style|textarea)([a-z][\\\\w-]*)(?:attribute)*? */?>(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:(?:\\\\n[ \t]*)+\\\\n|$)|</(?!script|pre|style|textarea)[a-z][\\\\w-]*\\\\s*>(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:(?:\\\\n[ \t]*)+\\\\n|$))\", \"i\").replace(\"comment\", Rn).replace(\"tag\", $t).replace(\"attribute\", / +[a-zA-Z:_][\\w.:-]*(?: *= *\"[^\"\\n]*\"| *= *'[^'\\n]*'| *= *[^\\s\"'=<>`]+)?/).getRegex(), qi = b(jn).replace(\"hr\", rt).replace(\"heading\", \" {0,3}#{1,6}(?:\\\\s|$)\").replace(\"|lheading\", \"\").replace(\"|table\", \"\").replace(\"blockquote\", \" {0,3}>\").replace(\"fences\", \" {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n\").replace(\"list\", \" {0,3}(?:[*+-]|1[.)])[ \\\\t]\").replace(\"html\", \"</?(?:tag)(?: +|\\\\n|/?>)|<(?:script|pre|style|textarea|!--)\").replace(\"tag\", $t).getRegex(), il = b(/^( {0,3}> ?(paragraph|[^\\n]*)(?:\\n|$))+/).replace(\"paragraph\", qi).getRegex(), Tn = { blockquote: il, code: Ka, def: tl, fences: Za, heading: Xa, hr: rt, html: rl, lheading: Pi, list: nl, newline: Ga, paragraph: qi, table: ue, text: el }, xr = b(\"^ *([^\\\\n ].*)\\\\n {0,3}((?:\\\\| *)?:?-+:? *(?:\\\\| *:?-+:? *)*(?:\\\\| *)?)(?:\\\\n((?:(?! *\\\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\\\n|$))*)\\\\n*|$)\").replace(\"hr\", rt).replace(\"heading\", \" {0,3}#{1,6}(?:\\\\s|$)\").replace(\"blockquote\", \" {0,3}>\").replace(\"code\", \"(?: {4}| {0,3}\t)[^\\\\n]\").replace(\"fences\", \" {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n\").replace(\"list\", \" {0,3}(?:[*+-]|1[.)])[ \\\\t]\").replace(\"html\", \"</?(?:tag)(?: +|\\\\n|/?>)|<(?:script|pre|style|textarea|!--)\").replace(\"tag\", $t).getRegex(), sl = { ...Tn, lheading: Ya, table: xr, paragraph: b(jn).replace(\"hr\", rt).replace(\"heading\", \" {0,3}#{1,6}(?:\\\\s|$)\").replace(\"|lheading\", \"\").replace(\"table\", xr).replace(\"blockquote\", \" {0,3}>\").replace(\"fences\", \" {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n\").replace(\"list\", \" {0,3}(?:[*+-]|1[.)])[ \\\\t]\").replace(\"html\", \"</?(?:tag)(?: +|\\\\n|/?>)|<(?:script|pre|style|textarea|!--)\").replace(\"tag\", $t).getRegex() }, ol = { ...Tn, html: b(`^ *(?:comment *(?:\\\\n|\\\\s*$)|<(tag)[\\\\s\\\\S]+?</\\\\1> *(?:\\\\n{2,}|\\\\s*$)|<tag(?:\"[^\"]*\"|'[^']*'|\\\\s[^'\"/>\\\\s]*)*?/?> *(?:\\\\n{2,}|\\\\s*$))`).replace(\"comment\", Rn).replace(/tag/g, \"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\\\b)\\\\w+(?!:|[^\\\\w\\\\s@]*@)\\\\b\").getRegex(), def: /^ *\\[([^\\]]+)\\]: *<?([^\\s>]+)>?(?: +([\"(][^\\n]+[\")]))? *(?:\\n+|$)/, heading: /^(#{1,6})(.*)(?:\\n+|$)/, fences: ue, lheading: /^(.+?)\\n {0,3}(=+|-+) *(?:\\n+|$)/, paragraph: b(jn).replace(\"hr\", rt).replace(\"heading\", ` *#{1,6} *[^\n]`).replace(\"lheading\", Pi).replace(\"|table\", \"\").replace(\"blockquote\", \" {0,3}>\").replace(\"|fences\", \"\").replace(\"|list\", \"\").replace(\"|html\", \"\").replace(\"|tag\", \"\").getRegex() }, al = /^\\\\([!\"#$%&'()*+,\\-./:;<=>?@\\[\\]\\\\^_`{|}~])/, ll = /^(`+)([^`]|[^`][\\s\\S]*?[^`])\\1(?!`)/, Mi = /^( {2,}|\\\\)\\n(?!\\s*$)/, cl = /^(`+|[^`])(?:(?= {2,}\\n)|[\\s\\S]*?(?:(?=[\\\\<!\\[`*_]|\\b_|$)|[^ ](?= {2,}\\n)))/, Pe = /[\\p{P}\\p{S}]/u, At = /[\\s\\p{P}\\p{S}]/u, $n = /[^\\s\\p{P}\\p{S}]/u, ul = b(/^((?![*_])punctSpace)/, \"u\").replace(/punctSpace/g, At).getRegex(), Li = /(?!~)[\\p{P}\\p{S}]/u, hl = /(?!~)[\\s\\p{P}\\p{S}]/u, dl = /(?:[^\\s\\p{P}\\p{S}]|~)/u, fl = b(/link|precode-code|html/, \"g\").replace(\"link\", /\\[(?:[^\\[\\]`]|(?<a>`+)[^`]+\\k<a>(?!`))*?\\]\\((?:\\\\[\\s\\S]|[^\\\\\\(\\)]|\\((?:\\\\[\\s\\S]|[^\\\\\\(\\)])*\\))*\\)/).replace(\"precode-\", Ja ? \"(?<!`)()\" : \"(^^|[^`])\").replace(\"code\", /(?<b>`+)[^`]+\\k<b>(?!`)/).replace(\"html\", /<(?! )[^<>]*?>/).getRegex(), Oi = /^(?:\\*+(?:((?!\\*)punct)|([^\\s*]))?)|^_+(?:((?!_)punct)|([^\\s_]))?/, pl = b(Oi, \"u\").replace(/punct/g, Pe).getRegex(), gl = b(Oi, \"u\").replace(/punct/g, Li).getRegex(), Ni = \"^[^_*]*?__[^_*]*?\\\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\\\*)punct(\\\\*+)(?=[\\\\s]|$)|notPunctSpace(\\\\*+)(?!\\\\*)(?=punctSpace|$)|(?!\\\\*)punctSpace(\\\\*+)(?=notPunctSpace)|[\\\\s](\\\\*+)(?!\\\\*)(?=punct)|(?!\\\\*)punct(\\\\*+)(?!\\\\*)(?=punct)|notPunctSpace(\\\\*+)(?=notPunctSpace)\", ml = b(Ni, \"gu\").replace(/notPunctSpace/g, $n).replace(/punctSpace/g, At).replace(/punct/g, Pe).getRegex(), xl = b(Ni, \"gu\").replace(/notPunctSpace/g, dl).replace(/punctSpace/g, hl).replace(/punct/g, Li).getRegex(), bl = b(\"^[^_*]*?\\\\*\\\\*[^_*]*?_[^_*]*?(?=\\\\*\\\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)\", \"gu\").replace(/notPunctSpace/g, $n).replace(/punctSpace/g, At).replace(/punct/g, Pe).getRegex(), yl = b(/^~~?(?:((?!~)punct)|[^\\s~])/, \"u\").replace(/punct/g, Pe).getRegex(), vl = \"^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)\", _l = b(vl, \"gu\").replace(/notPunctSpace/g, $n).replace(/punctSpace/g, At).replace(/punct/g, Pe).getRegex(), wl = b(/\\\\(punct)/, \"gu\").replace(/punct/g, Pe).getRegex(), kl = b(/^<(scheme:[^\\s\\x00-\\x1f<>]*|email)>/).replace(\"scheme\", /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace(\"email\", /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(), Sl = b(Rn).replace(\"(?:-->|$)\", \"-->\").getRegex(), jl = b(\"^comment|^</[a-zA-Z][\\\\w:-]*\\\\s*>|^<[a-zA-Z][\\\\w-]*(?:attribute)*?\\\\s*/?>|^<\\\\?[\\\\s\\\\S]*?\\\\?>|^<![a-zA-Z]+\\\\s[\\\\s\\\\S]*?>|^<!\\\\[CDATA\\\\[[\\\\s\\\\S]*?\\\\]\\\\]>\").replace(\"comment\", Sl).replace(\"attribute\", /\\s+[a-zA-Z:_][\\w.:-]*(?:\\s*=\\s*\"[^\"]*\"|\\s*=\\s*'[^']*'|\\s*=\\s*[^\\s\"'=<>`]+)?/).getRegex(), vt = /(?:\\[(?:\\\\[\\s\\S]|[^\\[\\]\\\\])*\\]|\\\\[\\s\\S]|`+(?!`)[^`]*?`+(?!`)|``+(?=\\])|[^\\[\\]\\\\`])*?/, Cl = b(/^!?\\[(label)\\]\\(\\s*(href)(?:(?:[ \\t]+(?:\\n[ \\t]*)?|\\n[ \\t]*)(title))?\\s*\\)/).replace(\"label\", vt).replace(\"href\", /<(?:\\\\.|[^\\n<>\\\\])+>|[^ \\t\\n\\x00-\\x1f]*/).replace(\"title\", /\"(?:\\\\\"?|[^\"\\\\])*\"|'(?:\\\\'?|[^'\\\\])*'|\\((?:\\\\\\)?|[^)\\\\])*\\)/).getRegex(), zi = b(/^!?\\[(label)\\]\\[(ref)\\]/).replace(\"label\", vt).replace(\"ref\", Cn).getRegex(), Qi = b(/^!?\\[(ref)\\](?:\\[\\])?/).replace(\"ref\", Cn).getRegex(), Rl = b(\"reflink|nolink(?!\\\\()\", \"g\").replace(\"reflink\", zi).replace(\"nolink\", Qi).getRegex(), br = /[hH][tT][tT][pP][sS]?|[fF][tT][pP]/, An = { _backpedal: ue, anyPunctuation: wl, autolink: kl, blockSkip: fl, br: Mi, code: ll, del: ue, delLDelim: ue, delRDelim: ue, emStrongLDelim: pl, emStrongRDelimAst: ml, emStrongRDelimUnd: bl, escape: al, link: Cl, nolink: Qi, punctuation: ul, reflink: zi, reflinkSearch: Rl, tag: jl, text: cl, url: ue }, Tl = { ...An, link: b(/^!?\\[(label)\\]\\((.*?)\\)/).replace(\"label\", vt).getRegex(), reflink: b(/^!?\\[(label)\\]\\s*\\[([^\\]]*)\\]/).replace(\"label\", vt).getRegex() }, rn = { ...An, emStrongRDelimAst: xl, emStrongLDelim: gl, delLDelim: yl, delRDelim: _l, url: b(/^((?:protocol):\\/\\/|www\\.)(?:[a-zA-Z0-9\\-]+\\.?)+[^\\s<]*|^email/).replace(\"protocol\", br).replace(\"email\", /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(), _backpedal: /(?:[^?!.,:;*_'\"~()&]+|\\([^)]*\\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'\"~)]+(?!$))+/, del: /^(~~?)(?=[^\\s~])((?:\\\\[\\s\\S]|[^\\\\])*?(?:\\\\[\\s\\S]|[^\\s~\\\\]))\\1(?=[^~]|$)/, text: b(/^([`~]+|[^`~])(?:(?= {2,}\\n)|(?=[a-zA-Z0-9.!#$%&'*+\\/=?_`{\\|}~-]+@)|[\\s\\S]*?(?:(?=[\\\\<!\\[`*~_]|\\b_|protocol:\\/\\/|www\\.|$)|[^ ](?= {2,}\\n)|[^a-zA-Z0-9.!#$%&'*+\\/=?_`{\\|}~-](?=[a-zA-Z0-9.!#$%&'*+\\/=?_`{\\|}~-]+@)))/).replace(\"protocol\", br).getRegex() }, $l = { ...rn, br: b(Mi).replace(\"{2,}\", \"*\").getRegex(), text: b(rn.text).replace(\"\\\\b_\", \"\\\\b_| {2,}\\\\n\").replace(/\\{2,\\}/g, \"*\").getRegex() }, ct = { normal: Tn, gfm: sl, pedantic: ol }, Me = { normal: An, gfm: rn, breaks: $l, pedantic: Tl }, Al = { \"&\": \"&amp;\", \"<\": \"&lt;\", \">\": \"&gt;\", '\"': \"&quot;\", \"'\": \"&#39;\" }, yr = (t) => Al[t];\nfunction Z(t, e) {\n if (e) {\n if (I.escapeTest.test(t)) return t.replace(I.escapeReplace, yr);\n } else if (I.escapeTestNoEncode.test(t)) return t.replace(I.escapeReplaceNoEncode, yr);\n return t;\n}\nfunction vr(t) {\n try {\n t = encodeURI(t).replace(I.percentDecode, \"%\");\n } catch {\n return null;\n }\n return t;\n}\nfunction _r(t, e) {\n let n = t.replace(I.findPipe, (s, o, l) => {\n let a = !1, h = o;\n for (; --h >= 0 && l[h] === \"\\\\\"; ) a = !a;\n return a ? \"|\" : \" |\";\n }), r = n.split(I.splitPipe), i = 0;\n if (r[0].trim() || r.shift(), r.length > 0 && !r.at(-1)?.trim() && r.pop(), e) if (r.length > e) r.splice(e);\n else for (; r.length < e; ) r.push(\"\");\n for (; i < r.length; i++) r[i] = r[i].trim().replace(I.slashPipe, \"|\");\n return r;\n}\nfunction Le(t, e, n) {\n let r = t.length;\n if (r === 0) return \"\";\n let i = 0;\n for (; i < r && t.charAt(r - i - 1) === e; )\n i++;\n return t.slice(0, r - i);\n}\nfunction Il(t, e) {\n if (t.indexOf(e[1]) === -1) return -1;\n let n = 0;\n for (let r = 0; r < t.length; r++) if (t[r] === \"\\\\\") r++;\n else if (t[r] === e[0]) n++;\n else if (t[r] === e[1] && (n--, n < 0)) return r;\n return n > 0 ? -2 : -1;\n}\nfunction El(t, e = 0) {\n let n = e, r = \"\";\n for (let i of t) if (i === \"\t\") {\n let s = 4 - n % 4;\n r += \" \".repeat(s), n += s;\n } else r += i, n++;\n return r;\n}\nfunction wr(t, e, n, r, i) {\n let s = e.href, o = e.title || null, l = t[1].replace(i.other.outputLinkReplace, \"$1\");\n r.state.inLink = !0;\n let a = { type: t[0].charAt(0) === \"!\" ? \"image\" : \"link\", raw: n, href: s, title: o, text: l, tokens: r.inlineTokens(l) };\n return r.state.inLink = !1, a;\n}\nfunction Pl(t, e, n) {\n let r = t.match(n.other.indentCodeCompensation);\n if (r === null) return e;\n let i = r[1];\n return e.split(`\n`).map((s) => {\n let o = s.match(n.other.beginningSpace);\n if (o === null) return s;\n let [l] = o;\n return l.length >= i.length ? s.slice(i.length) : s;\n }).join(`\n`);\n}\nvar _t = class {\n options;\n rules;\n lexer;\n constructor(t) {\n this.options = t || xe;\n }\n space(t) {\n let e = this.rules.block.newline.exec(t);\n if (e && e[0].length > 0) return { type: \"space\", raw: e[0] };\n }\n code(t) {\n let e = this.rules.block.code.exec(t);\n if (e) {\n let n = e[0].replace(this.rules.other.codeRemoveIndent, \"\");\n return { type: \"code\", raw: e[0], codeBlockStyle: \"indented\", text: this.options.pedantic ? n : Le(n, `\n`) };\n }\n }\n fences(t) {\n let e = this.rules.block.fences.exec(t);\n if (e) {\n let n = e[0], r = Pl(n, e[3] || \"\", this.rules);\n return { type: \"code\", raw: n, lang: e[2] ? e[2].trim().replace(this.rules.inline.anyPunctuation, \"$1\") : e[2], text: r };\n }\n }\n heading(t) {\n let e = this.rules.block.heading.exec(t);\n if (e) {\n let n = e[2].trim();\n if (this.rules.other.endingHash.test(n)) {\n let r = Le(n, \"#\");\n (this.options.pedantic || !r || this.rules.other.endingSpaceChar.test(r)) && (n = r.trim());\n }\n return { type: \"heading\", raw: e[0], depth: e[1].length, text: n, tokens: this.lexer.inline(n) };\n }\n }\n hr(t) {\n let e = this.rules.block.hr.exec(t);\n if (e) return { type: \"hr\", raw: Le(e[0], `\n`) };\n }\n blockquote(t) {\n let e = this.rules.block.blockquote.exec(t);\n if (e) {\n let n = Le(e[0], `\n`).split(`\n`), r = \"\", i = \"\", s = [];\n for (; n.length > 0; ) {\n let o = !1, l = [], a;\n for (a = 0; a < n.length; a++) if (this.rules.other.blockquoteStart.test(n[a])) l.push(n[a]), o = !0;\n else if (!o) l.push(n[a]);\n else break;\n n = n.slice(a);\n let h = l.join(`\n`), d = h.replace(this.rules.other.blockquoteSetextReplace, `\n $1`).replace(this.rules.other.blockquoteSetextReplace2, \"\");\n r = r ? `${r}\n${h}` : h, i = i ? `${i}\n${d}` : d;\n let c = this.lexer.state.top;\n if (this.lexer.state.top = !0, this.lexer.blockTokens(d, s, !0), this.lexer.state.top = c, n.length === 0) break;\n let p = s.at(-1);\n if (p?.type === \"code\") break;\n if (p?.type === \"blockquote\") {\n let f = p, g = f.raw + `\n` + n.join(`\n`), x = this.blockquote(g);\n s[s.length - 1] = x, r = r.substring(0, r.length - f.raw.length) + x.raw, i = i.substring(0, i.length - f.text.length) + x.text;\n break;\n } else if (p?.type === \"list\") {\n let f = p, g = f.raw + `\n` + n.join(`\n`), x = this.list(g);\n s[s.length - 1] = x, r = r.substring(0, r.length - p.raw.length) + x.raw, i = i.substring(0, i.length - f.raw.length) + x.raw, n = g.substring(s.at(-1).raw.length).split(`\n`);\n continue;\n }\n }\n return { type: \"blockquote\", raw: r, tokens: s, text: i };\n }\n }\n list(t) {\n let e = this.rules.block.list.exec(t);\n if (e) {\n let n = e[1].trim(), r = n.length > 1, i = { type: \"list\", raw: \"\", ordered: r, start: r ? +n.slice(0, -1) : \"\", loose: !1, items: [] };\n n = r ? `\\\\d{1,9}\\\\${n.slice(-1)}` : `\\\\${n}`, this.options.pedantic && (n = r ? n : \"[*+-]\");\n let s = this.rules.other.listItemRegex(n), o = !1;\n for (; t; ) {\n let a = !1, h = \"\", d = \"\";\n if (!(e = s.exec(t)) || this.rules.block.hr.test(t)) break;\n h = e[0], t = t.substring(h.length);\n let c = El(e[2].split(`\n`, 1)[0], e[1].length), p = t.split(`\n`, 1)[0], f = !c.trim(), g = 0;\n if (this.options.pedantic ? (g = 2, d = c.trimStart()) : f ? g = e[1].length + 1 : (g = c.search(this.rules.other.nonSpaceChar), g = g > 4 ? 1 : g, d = c.slice(g), g += e[1].length), f && this.rules.other.blankLine.test(p) && (h += p + `\n`, t = t.substring(p.length + 1), a = !0), !a) {\n let x = this.rules.other.nextBulletRegex(g), k = this.rules.other.hrRegex(g), _ = this.rules.other.fencesBeginRegex(g), w = this.rules.other.headingBeginRegex(g), H = this.rules.other.htmlBeginRegex(g), J = this.rules.other.blockquoteBeginRegex(g);\n for (; t; ) {\n let ie = t.split(`\n`, 1)[0], F;\n if (p = ie, this.options.pedantic ? (p = p.replace(this.rules.other.listReplaceNesting, \" \"), F = p) : F = p.replace(this.rules.other.tabCharGlobal, \" \"), _.test(p) || w.test(p) || H.test(p) || J.test(p) || x.test(p) || k.test(p)) break;\n if (F.search(this.rules.other.nonSpaceChar) >= g || !p.trim()) d += `\n` + F.slice(g);\n else {\n if (f || c.replace(this.rules.other.tabCharGlobal, \" \").search(this.rules.other.nonSpaceChar) >= 4 || _.test(c) || w.test(c) || k.test(c)) break;\n d += `\n` + p;\n }\n f = !p.trim(), h += ie + `\n`, t = t.substring(ie.length + 1), c = F.slice(g);\n }\n }\n i.loose || (o ? i.loose = !0 : this.rules.other.doubleBlankLine.test(h) && (o = !0)), i.items.push({ type: \"list_item\", raw: h, task: !!this.options.gfm && this.rules.other.listIsTask.test(d), loose: !1, text: d, tokens: [] }), i.raw += h;\n }\n let l = i.items.at(-1);\n if (l) l.raw = l.raw.trimEnd(), l.text = l.text.trimEnd();\n else return;\n i.raw = i.raw.trimEnd();\n for (let a of i.items) {\n if (this.lexer.state.top = !1, a.tokens = this.lexer.blockTokens(a.text, []), a.task) {\n if (a.text = a.text.replace(this.rules.other.listReplaceTask, \"\"), a.tokens[0]?.type === \"text\" || a.tokens[0]?.type === \"paragraph\") {\n a.tokens[0].raw = a.tokens[0].raw.replace(this.rules.other.listReplaceTask, \"\"), a.tokens[0].text = a.tokens[0].text.replace(this.rules.other.listReplaceTask, \"\");\n for (let d = this.lexer.inlineQueue.length - 1; d >= 0; d--) if (this.rules.other.listIsTask.test(this.lexer.inlineQueue[d].src)) {\n this.lexer.inlineQueue[d].src = this.lexer.inlineQueue[d].src.replace(this.rules.other.listReplaceTask, \"\");\n break;\n }\n }\n let h = this.rules.other.listTaskCheckbox.exec(a.raw);\n if (h) {\n let d = { type: \"checkbox\", raw: h[0] + \" \", checked: h[0] !== \"[ ]\" };\n a.checked = d.checked, i.loose ? a.tokens[0] && [\"paragraph\", \"text\"].includes(a.tokens[0].type) && \"tokens\" in a.tokens[0] && a.tokens[0].tokens ? (a.tokens[0].raw = d.raw + a.tokens[0].raw, a.tokens[0].text = d.raw + a.tokens[0].text, a.tokens[0].tokens.unshift(d)) : a.tokens.unshift({ type: \"paragraph\", raw: d.raw, text: d.raw, tokens: [d] }) : a.tokens.unshift(d);\n }\n }\n if (!i.loose) {\n let h = a.tokens.filter((c) => c.type === \"space\"), d = h.length > 0 && h.some((c) => this.rules.other.anyLine.test(c.raw));\n i.loose = d;\n }\n }\n if (i.loose) for (let a of i.items) {\n a.loose = !0;\n for (let h of a.tokens) h.type === \"text\" && (h.type = \"paragraph\");\n }\n return i;\n }\n }\n html(t) {\n let e = this.rules.block.html.exec(t);\n if (e) return { type: \"html\", block: !0, raw: e[0], pre: e[1] === \"pre\" || e[1] === \"script\" || e[1] === \"style\", text: e[0] };\n }\n def(t) {\n let e = this.rules.block.def.exec(t);\n if (e) {\n let n = e[1].toLowerCase().replace(this.rules.other.multipleSpaceGlobal, \" \"), r = e[2] ? e[2].replace(this.rules.other.hrefBrackets, \"$1\").replace(this.rules.inline.anyPunctuation, \"$1\") : \"\", i = e[3] ? e[3].substring(1, e[3].length - 1).replace(this.rules.inline.anyPunctuation, \"$1\") : e[3];\n return { type: \"def\", tag: n, raw: e[0], href: r, title: i };\n }\n }\n table(t) {\n let e = this.rules.block.table.exec(t);\n if (!e || !this.rules.other.tableDelimiter.test(e[2])) return;\n let n = _r(e[1]), r = e[2].replace(this.rules.other.tableAlignChars, \"\").split(\"|\"), i = e[3]?.trim() ? e[3].replace(this.rules.other.tableRowBlankLine, \"\").split(`\n`) : [], s = { type: \"table\", raw: e[0], header: [], align: [], rows: [] };\n if (n.length === r.length) {\n for (let o of r) this.rules.other.tableAlignRight.test(o) ? s.align.push(\"right\") : this.rules.other.tableAlignCenter.test(o) ? s.align.push(\"center\") : this.rules.other.tableAlignLeft.test(o) ? s.align.push(\"left\") : s.align.push(null);\n for (let o = 0; o < n.length; o++) s.header.push({ text: n[o], tokens: this.lexer.inline(n[o]), header: !0, align: s.align[o] });\n for (let o of i) s.rows.push(_r(o, s.header.length).map((l, a) => ({ text: l, tokens: this.lexer.inline(l), header: !1, align: s.align[a] })));\n return s;\n }\n }\n lheading(t) {\n let e = this.rules.block.lheading.exec(t);\n if (e) {\n let n = e[1].trim();\n return { type: \"heading\", raw: e[0], depth: e[2].charAt(0) === \"=\" ? 1 : 2, text: n, tokens: this.lexer.inline(n) };\n }\n }\n paragraph(t) {\n let e = this.rules.block.paragraph.exec(t);\n if (e) {\n let n = e[1].charAt(e[1].length - 1) === `\n` ? e[1].slice(0, -1) : e[1];\n return { type: \"paragraph\", raw: e[0], text: n, tokens: this.lexer.inline(n) };\n }\n }\n text(t) {\n let e = this.rules.block.text.exec(t);\n if (e) return { type: \"text\", raw: e[0], text: e[0], tokens: this.lexer.inline(e[0]) };\n }\n escape(t) {\n let e = this.rules.inline.escape.exec(t);\n if (e) return { type: \"escape\", raw: e[0], text: e[1] };\n }\n tag(t) {\n let e = this.rules.inline.tag.exec(t);\n if (e) return !this.lexer.state.inLink && this.rules.other.startATag.test(e[0]) ? this.lexer.state.inLink = !0 : this.lexer.state.inLink && this.rules.other.endATag.test(e[0]) && (this.lexer.state.inLink = !1), !this.lexer.state.inRawBlock && this.rules.other.startPreScriptTag.test(e[0]) ? this.lexer.state.inRawBlock = !0 : this.lexer.state.inRawBlock && this.rules.other.endPreScriptTag.test(e[0]) && (this.lexer.state.inRawBlock = !1), { type: \"html\", raw: e[0], inLink: this.lexer.state.inLink, inRawBlock: this.lexer.state.inRawBlock, block: !1, text: e[0] };\n }\n link(t) {\n let e = this.rules.inline.link.exec(t);\n if (e) {\n let n = e[2].trim();\n if (!this.options.pedantic && this.rules.other.startAngleBracket.test(n)) {\n if (!this.rules.other.endAngleBracket.test(n)) return;\n let s = Le(n.slice(0, -1), \"\\\\\");\n if ((n.length - s.length) % 2 === 0) return;\n } else {\n let s = Il(e[2], \"()\");\n if (s === -2) return;\n if (s > -1) {\n let o = (e[0].indexOf(\"!\") === 0 ? 5 : 4) + e[1].length + s;\n e[2] = e[2].substring(0, s), e[0] = e[0].substring(0, o).trim(), e[3] = \"\";\n }\n }\n let r = e[2], i = \"\";\n if (this.options.pedantic) {\n let s = this.rules.other.pedanticHrefTitle.exec(r);\n s && (r = s[1], i = s[3]);\n } else i = e[3] ? e[3].slice(1, -1) : \"\";\n return r = r.trim(), this.rules.other.startAngleBracket.test(r) && (this.options.pedantic && !this.rules.other.endAngleBracket.test(n) ? r = r.slice(1) : r = r.slice(1, -1)), wr(e, { href: r && r.replace(this.rules.inline.anyPunctuation, \"$1\"), title: i && i.replace(this.rules.inline.anyPunctuation, \"$1\") }, e[0], this.lexer, this.rules);\n }\n }\n reflink(t, e) {\n let n;\n if ((n = this.rules.inline.reflink.exec(t)) || (n = this.rules.inline.nolink.exec(t))) {\n let r = (n[2] || n[1]).replace(this.rules.other.multipleSpaceGlobal, \" \"), i = e[r.toLowerCase()];\n if (!i) {\n let s = n[0].charAt(0);\n return { type: \"text\", raw: s, text: s };\n }\n return wr(n, i, n[0], this.lexer, this.rules);\n }\n }\n emStrong(t, e, n = \"\") {\n let r = this.rules.inline.emStrongLDelim.exec(t);\n if (!(!r || !r[1] && !r[2] && !r[3] && !r[4] || r[4] && n.match(this.rules.other.unicodeAlphaNumeric)) && (!(r[1] || r[3]) || !n || this.rules.inline.punctuation.exec(n))) {\n let i = [...r[0]].length - 1, s, o, l = i, a = 0, h = r[0][0] === \"*\" ? this.rules.inline.emStrongRDelimAst : this.rules.inline.emStrongRDelimUnd;\n for (h.lastIndex = 0, e = e.slice(-1 * t.length + i); (r = h.exec(e)) != null; ) {\n if (s = r[1] || r[2] || r[3] || r[4] || r[5] || r[6], !s) continue;\n if (o = [...s].length, r[3] || r[4]) {\n l += o;\n continue;\n } else if ((r[5] || r[6]) && i % 3 && !((i + o) % 3)) {\n a += o;\n continue;\n }\n if (l -= o, l > 0) continue;\n o = Math.min(o, o + l + a);\n let d = [...r[0]][0].length, c = t.slice(0, i + r.index + d + o);\n if (Math.min(i, o) % 2) {\n let f = c.slice(1, -1);\n return { type: \"em\", raw: c, text: f, tokens: this.lexer.inlineTokens(f) };\n }\n let p = c.slice(2, -2);\n return { type: \"strong\", raw: c, text: p, tokens: this.lexer.inlineTokens(p) };\n }\n }\n }\n codespan(t) {\n let e = this.rules.inline.code.exec(t);\n if (e) {\n let n = e[2].replace(this.rules.other.newLineCharGlobal, \" \"), r = this.rules.other.nonSpaceChar.test(n), i = this.rules.other.startingSpaceChar.test(n) && this.rules.other.endingSpaceChar.test(n);\n return r && i && (n = n.substring(1, n.length - 1)), { type: \"codespan\", raw: e[0], text: n };\n }\n }\n br(t) {\n let e = this.rules.inline.br.exec(t);\n if (e) return { type: \"br\", raw: e[0] };\n }\n del(t, e, n = \"\") {\n let r = this.rules.inline.delLDelim.exec(t);\n if (r && (!r[1] || !n || this.rules.inline.punctuation.exec(n))) {\n let i = [...r[0]].length - 1, s, o, l = i, a = this.rules.inline.delRDelim;\n for (a.lastIndex = 0, e = e.slice(-1 * t.length + i); (r = a.exec(e)) != null; ) {\n if (s = r[1] || r[2] || r[3] || r[4] || r[5] || r[6], !s || (o = [...s].length, o !== i)) continue;\n if (r[3] || r[4]) {\n l += o;\n continue;\n }\n if (l -= o, l > 0) continue;\n o = Math.min(o, o + l);\n let h = [...r[0]][0].length, d = t.slice(0, i + r.index + h + o), c = d.slice(i, -i);\n return { type: \"del\", raw: d, text: c, tokens: this.lexer.inlineTokens(c) };\n }\n }\n }\n autolink(t) {\n let e = this.rules.inline.autolink.exec(t);\n if (e) {\n let n, r;\n return e[2] === \"@\" ? (n = e[1], r = \"mailto:\" + n) : (n = e[1], r = n), { type: \"link\", raw: e[0], text: n, href: r, tokens: [{ type: \"text\", raw: n, text: n }] };\n }\n }\n url(t) {\n let e;\n if (e = this.rules.inline.url.exec(t)) {\n let n, r;\n if (e[2] === \"@\") n = e[0], r = \"mailto:\" + n;\n else {\n let i;\n do\n i = e[0], e[0] = this.rules.inline._backpedal.exec(e[0])?.[0] ?? \"\";\n while (i !== e[0]);\n n = e[0], e[1] === \"www.\" ? r = \"http://\" + e[0] : r = e[0];\n }\n return { type: \"link\", raw: e[0], text: n, href: r, tokens: [{ type: \"text\", raw: n, text: n }] };\n }\n }\n inlineText(t) {\n let e = this.rules.inline.text.exec(t);\n if (e) {\n let n = this.lexer.state.inRawBlock;\n return { type: \"text\", raw: e[0], text: e[0], escaped: n };\n }\n }\n}, D = class sn {\n tokens;\n options;\n state;\n inlineQueue;\n tokenizer;\n constructor(e) {\n this.tokens = [], this.tokens.links = /* @__PURE__ */ Object.create(null), this.options = e || xe, this.options.tokenizer = this.options.tokenizer || new _t(), this.tokenizer = this.options.tokenizer, this.tokenizer.options = this.options, this.tokenizer.lexer = this, this.inlineQueue = [], this.state = { inLink: !1, inRawBlock: !1, top: !0 };\n let n = { other: I, block: ct.normal, inline: Me.normal };\n this.options.pedantic ? (n.block = ct.pedantic, n.inline = Me.pedantic) : this.options.gfm && (n.block = ct.gfm, this.options.breaks ? n.inline = Me.breaks : n.inline = Me.gfm), this.tokenizer.rules = n;\n }\n static get rules() {\n return { block: ct, inline: Me };\n }\n static lex(e, n) {\n return new sn(n).lex(e);\n }\n static lexInline(e, n) {\n return new sn(n).inlineTokens(e);\n }\n lex(e) {\n e = e.replace(I.carriageReturn, `\n`), this.blockTokens(e, this.tokens);\n for (let n = 0; n < this.inlineQueue.length; n++) {\n let r = this.inlineQueue[n];\n this.inlineTokens(r.src, r.tokens);\n }\n return this.inlineQueue = [], this.tokens;\n }\n blockTokens(e, n = [], r = !1) {\n for (this.tokenizer.lexer = this, this.options.pedantic && (e = e.replace(I.tabCharGlobal, \" \").replace(I.spaceLine, \"\")); e; ) {\n let i;\n if (this.options.extensions?.block?.some((o) => (i = o.call({ lexer: this }, e, n)) ? (e = e.substring(i.raw.length), n.push(i), !0) : !1)) continue;\n if (i = this.tokenizer.space(e)) {\n e = e.substring(i.raw.length);\n let o = n.at(-1);\n i.raw.length === 1 && o !== void 0 ? o.raw += `\n` : n.push(i);\n continue;\n }\n if (i = this.tokenizer.code(e)) {\n e = e.substring(i.raw.length);\n let o = n.at(-1);\n o?.type === \"paragraph\" || o?.type === \"text\" ? (o.raw += (o.raw.endsWith(`\n`) ? \"\" : `\n`) + i.raw, o.text += `\n` + i.text, this.inlineQueue.at(-1).src = o.text) : n.push(i);\n continue;\n }\n if (i = this.tokenizer.fences(e)) {\n e = e.substring(i.raw.length), n.push(i);\n continue;\n }\n if (i = this.tokenizer.heading(e)) {\n e = e.substring(i.raw.length), n.push(i);\n continue;\n }\n if (i = this.tokenizer.hr(e)) {\n e = e.substring(i.raw.length), n.push(i);\n continue;\n }\n if (i = this.tokenizer.blockquote(e)) {\n e = e.substring(i.raw.length), n.push(i);\n continue;\n }\n if (i = this.tokenizer.list(e)) {\n e = e.substring(i.raw.length), n.push(i);\n continue;\n }\n if (i = this.tokenizer.html(e)) {\n e = e.substring(i.raw.length), n.push(i);\n continue;\n }\n if (i = this.tokenizer.def(e)) {\n e = e.substring(i.raw.length);\n let o = n.at(-1);\n o?.type === \"paragraph\" || o?.type === \"text\" ? (o.raw += (o.raw.endsWith(`\n`) ? \"\" : `\n`) + i.raw, o.text += `\n` + i.raw, this.inlineQueue.at(-1).src = o.text) : this.tokens.links[i.tag] || (this.tokens.links[i.tag] = { href: i.href, title: i.title }, n.push(i));\n continue;\n }\n if (i = this.tokenizer.table(e)) {\n e = e.substring(i.raw.length), n.push(i);\n continue;\n }\n if (i = this.tokenizer.lheading(e)) {\n e = e.substring(i.raw.length), n.push(i);\n continue;\n }\n let s = e;\n if (this.options.extensions?.startBlock) {\n let o = 1 / 0, l = e.slice(1), a;\n this.options.extensions.startBlock.forEach((h) => {\n a = h.call({ lexer: this }, l), typeof a == \"number\" && a >= 0 && (o = Math.min(o, a));\n }), o < 1 / 0 && o >= 0 && (s = e.substring(0, o + 1));\n }\n if (this.state.top && (i = this.tokenizer.paragraph(s))) {\n let o = n.at(-1);\n r && o?.type === \"paragraph\" ? (o.raw += (o.raw.endsWith(`\n`) ? \"\" : `\n`) + i.raw, o.text += `\n` + i.text, this.inlineQueue.pop(), this.inlineQueue.at(-1).src = o.text) : n.push(i), r = s.length !== e.length, e = e.substring(i.raw.length);\n continue;\n }\n if (i = this.tokenizer.text(e)) {\n e = e.substring(i.raw.length);\n let o = n.at(-1);\n o?.type === \"text\" ? (o.raw += (o.raw.endsWith(`\n`) ? \"\" : `\n`) + i.raw, o.text += `\n` + i.text, this.inlineQueue.pop(), this.inlineQueue.at(-1).src = o.text) : n.push(i);\n continue;\n }\n if (e) {\n let o = \"Infinite loop on byte: \" + e.charCodeAt(0);\n if (this.options.silent) {\n console.error(o);\n break;\n } else throw new Error(o);\n }\n }\n return this.state.top = !0, n;\n }\n inline(e, n = []) {\n return this.inlineQueue.push({ src: e, tokens: n }), n;\n }\n inlineTokens(e, n = []) {\n this.tokenizer.lexer = this;\n let r = e, i = null;\n if (this.tokens.links) {\n let a = Object.keys(this.tokens.links);\n if (a.length > 0) for (; (i = this.tokenizer.rules.inline.reflinkSearch.exec(r)) != null; ) a.includes(i[0].slice(i[0].lastIndexOf(\"[\") + 1, -1)) && (r = r.slice(0, i.index) + \"[\" + \"a\".repeat(i[0].length - 2) + \"]\" + r.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex));\n }\n for (; (i = this.tokenizer.rules.inline.anyPunctuation.exec(r)) != null; ) r = r.slice(0, i.index) + \"++\" + r.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);\n let s;\n for (; (i = this.tokenizer.rules.inline.blockSkip.exec(r)) != null; ) s = i[2] ? i[2].length : 0, r = r.slice(0, i.index + s) + \"[\" + \"a\".repeat(i[0].length - s - 2) + \"]\" + r.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);\n r = this.options.hooks?.emStrongMask?.call({ lexer: this }, r) ?? r;\n let o = !1, l = \"\";\n for (; e; ) {\n o || (l = \"\"), o = !1;\n let a;\n if (this.options.extensions?.inline?.some((d) => (a = d.call({ lexer: this }, e, n)) ? (e = e.substring(a.raw.length), n.push(a), !0) : !1)) continue;\n if (a = this.tokenizer.escape(e)) {\n e = e.substring(a.raw.length), n.push(a);\n continue;\n }\n if (a = this.tokenizer.tag(e)) {\n e = e.substring(a.raw.length), n.push(a);\n continue;\n }\n if (a = this.tokenizer.link(e)) {\n e = e.substring(a.raw.length), n.push(a);\n continue;\n }\n if (a = this.tokenizer.reflink(e, this.tokens.links)) {\n e = e.substring(a.raw.length);\n let d = n.at(-1);\n a.type === \"text\" && d?.type === \"text\" ? (d.raw += a.raw, d.text += a.text) : n.push(a);\n continue;\n }\n if (a = this.tokenizer.emStrong(e, r, l)) {\n e = e.substring(a.raw.length), n.push(a);\n continue;\n }\n if (a = this.tokenizer.codespan(e)) {\n e = e.substring(a.raw.length), n.push(a);\n continue;\n }\n if (a = this.tokenizer.br(e)) {\n e = e.substring(a.raw.length), n.push(a);\n continue;\n }\n if (a = this.tokenizer.del(e, r, l)) {\n e = e.substring(a.raw.length), n.push(a);\n continue;\n }\n if (a = this.tokenizer.autolink(e)) {\n e = e.substring(a.raw.length), n.push(a);\n continue;\n }\n if (!this.state.inLink && (a = this.tokenizer.url(e))) {\n e = e.substring(a.raw.length), n.push(a);\n continue;\n }\n let h = e;\n if (this.options.extensions?.startInline) {\n let d = 1 / 0, c = e.slice(1), p;\n this.options.extensions.startInline.forEach((f) => {\n p = f.call({ lexer: this }, c), typeof p == \"number\" && p >= 0 && (d = Math.min(d, p));\n }), d < 1 / 0 && d >= 0 && (h = e.substring(0, d + 1));\n }\n if (a = this.tokenizer.inlineText(h)) {\n e = e.substring(a.raw.length), a.raw.slice(-1) !== \"_\" && (l = a.raw.slice(-1)), o = !0;\n let d = n.at(-1);\n d?.type === \"text\" ? (d.raw += a.raw, d.text += a.text) : n.push(a);\n continue;\n }\n if (e) {\n let d = \"Infinite loop on byte: \" + e.charCodeAt(0);\n if (this.options.silent) {\n console.error(d);\n break;\n } else throw new Error(d);\n }\n }\n return n;\n }\n}, wt = class {\n options;\n parser;\n constructor(t) {\n this.options = t || xe;\n }\n space(t) {\n return \"\";\n }\n code({ text: t, lang: e, escaped: n }) {\n let r = (e || \"\").match(I.notSpaceStart)?.[0], i = t.replace(I.endingNewline, \"\") + `\n`;\n return r ? '<pre><code class=\"language-' + Z(r) + '\">' + (n ? i : Z(i, !0)) + `</code></pre>\n` : \"<pre><code>\" + (n ? i : Z(i, !0)) + `</code></pre>\n`;\n }\n blockquote({ tokens: t }) {\n return `<blockquote>\n${this.parser.parse(t)}</blockquote>\n`;\n }\n html({ text: t }) {\n return t;\n }\n def(t) {\n return \"\";\n }\n heading({ tokens: t, depth: e }) {\n return `<h${e}>${this.parser.parseInline(t)}</h${e}>\n`;\n }\n hr(t) {\n return `<hr>\n`;\n }\n list(t) {\n let e = t.ordered, n = t.start, r = \"\";\n for (let o = 0; o < t.items.length; o++) {\n let l = t.items[o];\n r += this.listitem(l);\n }\n let i = e ? \"ol\" : \"ul\", s = e && n !== 1 ? ' start=\"' + n + '\"' : \"\";\n return \"<\" + i + s + `>\n` + r + \"</\" + i + `>\n`;\n }\n listitem(t) {\n return `<li>${this.parser.parse(t.tokens)}</li>\n`;\n }\n checkbox({ checked: t }) {\n return \"<input \" + (t ? 'checked=\"\" ' : \"\") + 'disabled=\"\" type=\"checkbox\"> ';\n }\n paragraph({ tokens: t }) {\n return `<p>${this.parser.parseInline(t)}</p>\n`;\n }\n table(t) {\n let e = \"\", n = \"\";\n for (let i = 0; i < t.header.length; i++) n += this.tablecell(t.header[i]);\n e += this.tablerow({ text: n });\n let r = \"\";\n for (let i = 0; i < t.rows.length; i++) {\n let s = t.rows[i];\n n = \"\";\n for (let o = 0; o < s.length; o++) n += this.tablecell(s[o]);\n r += this.tablerow({ text: n });\n }\n return r && (r = `<tbody>${r}</tbody>`), `<table>\n<thead>\n` + e + `</thead>\n` + r + `</table>\n`;\n }\n tablerow({ text: t }) {\n return `<tr>\n${t}</tr>\n`;\n }\n tablecell(t) {\n let e = this.parser.parseInline(t.tokens), n = t.header ? \"th\" : \"td\";\n return (t.align ? `<${n} align=\"${t.align}\">` : `<${n}>`) + e + `</${n}>\n`;\n }\n strong({ tokens: t }) {\n return `<strong>${this.parser.parseInline(t)}</strong>`;\n }\n em({ tokens: t }) {\n return `<em>${this.parser.parseInline(t)}</em>`;\n }\n codespan({ text: t }) {\n return `<code>${Z(t, !0)}</code>`;\n }\n br(t) {\n return \"<br>\";\n }\n del({ tokens: t }) {\n return `<del>${this.parser.parseInline(t)}</del>`;\n }\n link({ href: t, title: e, tokens: n }) {\n let r = this.parser.parseInline(n), i = vr(t);\n if (i === null) return r;\n t = i;\n let s = '<a href=\"' + t + '\"';\n return e && (s += ' title=\"' + Z(e) + '\"'), s += \">\" + r + \"</a>\", s;\n }\n image({ href: t, title: e, text: n, tokens: r }) {\n r && (n = this.parser.parseInline(r, this.parser.textRenderer));\n let i = vr(t);\n if (i === null) return Z(n);\n t = i;\n let s = `<img src=\"${t}\" alt=\"${Z(n)}\"`;\n return e && (s += ` title=\"${Z(e)}\"`), s += \">\", s;\n }\n text(t) {\n return \"tokens\" in t && t.tokens ? this.parser.parseInline(t.tokens) : \"escaped\" in t && t.escaped ? t.text : Z(t.text);\n }\n}, In = class {\n strong({ text: t }) {\n return t;\n }\n em({ text: t }) {\n return t;\n }\n codespan({ text: t }) {\n return t;\n }\n del({ text: t }) {\n return t;\n }\n html({ text: t }) {\n return t;\n }\n text({ text: t }) {\n return t;\n }\n link({ text: t }) {\n return \"\" + t;\n }\n image({ text: t }) {\n return \"\" + t;\n }\n br() {\n return \"\";\n }\n checkbox({ raw: t }) {\n return t;\n }\n}, U = class on {\n options;\n renderer;\n textRenderer;\n constructor(e) {\n this.options = e || xe, this.options.renderer = this.options.renderer || new wt(), this.renderer = this.options.renderer, this.renderer.options = this.options, this.renderer.parser = this, this.textRenderer = new In();\n }\n static parse(e, n) {\n return new on(n).parse(e);\n }\n static parseInline(e, n) {\n return new on(n).parseInline(e);\n }\n parse(e) {\n this.renderer.parser = this;\n let n = \"\";\n for (let r = 0; r < e.length; r++) {\n let i = e[r];\n if (this.options.extensions?.renderers?.[i.type]) {\n let o = i, l = this.options.extensions.renderers[o.type].call({ parser: this }, o);\n if (l !== !1 || ![\"space\", \"hr\", \"heading\", \"code\", \"table\", \"blockquote\", \"list\", \"html\", \"def\", \"paragraph\", \"text\"].includes(o.type)) {\n n += l || \"\";\n continue;\n }\n }\n let s = i;\n switch (s.type) {\n case \"space\": {\n n += this.renderer.space(s);\n break;\n }\n case \"hr\": {\n n += this.renderer.hr(s);\n break;\n }\n case \"heading\": {\n n += this.renderer.heading(s);\n break;\n }\n case \"code\": {\n n += this.renderer.code(s);\n break;\n }\n case \"table\": {\n n += this.renderer.table(s);\n break;\n }\n case \"blockquote\": {\n n += this.renderer.blockquote(s);\n break;\n }\n case \"list\": {\n n += this.renderer.list(s);\n break;\n }\n case \"checkbox\": {\n n += this.renderer.checkbox(s);\n break;\n }\n case \"html\": {\n n += this.renderer.html(s);\n break;\n }\n case \"def\": {\n n += this.renderer.def(s);\n break;\n }\n case \"paragraph\": {\n n += this.renderer.paragraph(s);\n break;\n }\n case \"text\": {\n n += this.renderer.text(s);\n break;\n }\n default: {\n let o = 'Token with \"' + s.type + '\" type was not found.';\n if (this.options.silent) return console.error(o), \"\";\n throw new Error(o);\n }\n }\n }\n return n;\n }\n parseInline(e, n = this.renderer) {\n this.renderer.parser = this;\n let r = \"\";\n for (let i = 0; i < e.length; i++) {\n let s = e[i];\n if (this.options.extensions?.renderers?.[s.type]) {\n let l = this.options.extensions.renderers[s.type].call({ parser: this }, s);\n if (l !== !1 || ![\"escape\", \"html\", \"link\", \"image\", \"strong\", \"em\", \"codespan\", \"br\", \"del\", \"text\"].includes(s.type)) {\n r += l || \"\";\n continue;\n }\n }\n let o = s;\n switch (o.type) {\n case \"escape\": {\n r += n.text(o);\n break;\n }\n case \"html\": {\n r += n.html(o);\n break;\n }\n case \"link\": {\n r += n.link(o);\n break;\n }\n case \"image\": {\n r += n.image(o);\n break;\n }\n case \"checkbox\": {\n r += n.checkbox(o);\n break;\n }\n case \"strong\": {\n r += n.strong(o);\n break;\n }\n case \"em\": {\n r += n.em(o);\n break;\n }\n case \"codespan\": {\n r += n.codespan(o);\n break;\n }\n case \"br\": {\n r += n.br(o);\n break;\n }\n case \"del\": {\n r += n.del(o);\n break;\n }\n case \"text\": {\n r += n.text(o);\n break;\n }\n default: {\n let l = 'Token with \"' + o.type + '\" type was not found.';\n if (this.options.silent) return console.error(l), \"\";\n throw new Error(l);\n }\n }\n }\n return r;\n }\n}, Be = class {\n options;\n block;\n constructor(t) {\n this.options = t || xe;\n }\n static passThroughHooks = /* @__PURE__ */ new Set([\"preprocess\", \"postprocess\", \"processAllTokens\", \"emStrongMask\"]);\n static passThroughHooksRespectAsync = /* @__PURE__ */ new Set([\"preprocess\", \"postprocess\", \"processAllTokens\"]);\n preprocess(t) {\n return t;\n }\n postprocess(t) {\n return t;\n }\n processAllTokens(t) {\n return t;\n }\n emStrongMask(t) {\n return t;\n }\n provideLexer() {\n return this.block ? D.lex : D.lexInline;\n }\n provideParser() {\n return this.block ? U.parse : U.parseInline;\n }\n}, ql = class {\n defaults = kn();\n options = this.setOptions;\n parse = this.parseMarkdown(!0);\n parseInline = this.parseMarkdown(!1);\n Parser = U;\n Renderer = wt;\n TextRenderer = In;\n Lexer = D;\n Tokenizer = _t;\n Hooks = Be;\n constructor(...t) {\n this.use(...t);\n }\n walkTokens(t, e) {\n let n = [];\n for (let r of t) switch (n = n.concat(e.call(this, r)), r.type) {\n case \"table\": {\n let i = r;\n for (let s of i.header) n = n.concat(this.walkTokens(s.tokens, e));\n for (let s of i.rows) for (let o of s) n = n.concat(this.walkTokens(o.tokens, e));\n break;\n }\n case \"list\": {\n let i = r;\n n = n.concat(this.walkTokens(i.items, e));\n break;\n }\n default: {\n let i = r;\n this.defaults.extensions?.childTokens?.[i.type] ? this.defaults.extensions.childTokens[i.type].forEach((s) => {\n let o = i[s].flat(1 / 0);\n n = n.concat(this.walkTokens(o, e));\n }) : i.tokens && (n = n.concat(this.walkTokens(i.tokens, e)));\n }\n }\n return n;\n }\n use(...t) {\n let e = this.defaults.extensions || { renderers: {}, childTokens: {} };\n return t.forEach((n) => {\n let r = { ...n };\n if (r.async = this.defaults.async || r.async || !1, n.extensions && (n.extensions.forEach((i) => {\n if (!i.name) throw new Error(\"extension name required\");\n if (\"renderer\" in i) {\n let s = e.renderers[i.name];\n s ? e.renderers[i.name] = function(...o) {\n let l = i.renderer.apply(this, o);\n return l === !1 && (l = s.apply(this, o)), l;\n } : e.renderers[i.name] = i.renderer;\n }\n if (\"tokenizer\" in i) {\n if (!i.level || i.level !== \"block\" && i.level !== \"inline\") throw new Error(\"extension level must be 'block' or 'inline'\");\n let s = e[i.level];\n s ? s.unshift(i.tokenizer) : e[i.level] = [i.tokenizer], i.start && (i.level === \"block\" ? e.startBlock ? e.startBlock.push(i.start) : e.startBlock = [i.start] : i.level === \"inline\" && (e.startInline ? e.startInline.push(i.start) : e.startInline = [i.start]));\n }\n \"childTokens\" in i && i.childTokens && (e.childTokens[i.name] = i.childTokens);\n }), r.extensions = e), n.renderer) {\n let i = this.defaults.renderer || new wt(this.defaults);\n for (let s in n.renderer) {\n if (!(s in i)) throw new Error(`renderer '${s}' does not exist`);\n if ([\"options\", \"parser\"].includes(s)) continue;\n let o = s, l = n.renderer[o], a = i[o];\n i[o] = (...h) => {\n let d = l.apply(i, h);\n return d === !1 && (d = a.apply(i, h)), d || \"\";\n };\n }\n r.renderer = i;\n }\n if (n.tokenizer) {\n let i = this.defaults.tokenizer || new _t(this.defaults);\n for (let s in n.tokenizer) {\n if (!(s in i)) throw new Error(`tokenizer '${s}' does not exist`);\n if ([\"options\", \"rules\", \"lexer\"].includes(s)) continue;\n let o = s, l = n.tokenizer[o], a = i[o];\n i[o] = (...h) => {\n let d = l.apply(i, h);\n return d === !1 && (d = a.apply(i, h)), d;\n };\n }\n r.tokenizer = i;\n }\n if (n.hooks) {\n let i = this.defaults.hooks || new Be();\n for (let s in n.hooks) {\n if (!(s in i)) throw new Error(`hook '${s}' does not exist`);\n if ([\"options\", \"block\"].includes(s)) continue;\n let o = s, l = n.hooks[o], a = i[o];\n Be.passThroughHooks.has(s) ? i[o] = (h) => {\n if (this.defaults.async && Be.passThroughHooksRespectAsync.has(s)) return (async () => {\n let c = await l.call(i, h);\n return a.call(i, c);\n })();\n let d = l.call(i, h);\n return a.call(i, d);\n } : i[o] = (...h) => {\n if (this.defaults.async) return (async () => {\n let c = await l.apply(i, h);\n return c === !1 && (c = await a.apply(i, h)), c;\n })();\n let d = l.apply(i, h);\n return d === !1 && (d = a.apply(i, h)), d;\n };\n }\n r.hooks = i;\n }\n if (n.walkTokens) {\n let i = this.defaults.walkTokens, s = n.walkTokens;\n r.walkTokens = function(o) {\n let l = [];\n return l.push(s.call(this, o)), i && (l = l.concat(i.call(this, o))), l;\n };\n }\n this.defaults = { ...this.defaults, ...r };\n }), this;\n }\n setOptions(t) {\n return this.defaults = { ...this.defaults, ...t }, this;\n }\n lexer(t, e) {\n return D.lex(t, e ?? this.defaults);\n }\n parser(t, e) {\n return U.parse(t, e ?? this.defaults);\n }\n parseMarkdown(t) {\n return (e, n) => {\n let r = { ...n }, i = { ...this.defaults, ...r }, s = this.onError(!!i.silent, !!i.async);\n if (this.defaults.async === !0 && r.async === !1) return s(new Error(\"marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise.\"));\n if (typeof e > \"u\" || e === null) return s(new Error(\"marked(): input parameter is undefined or null\"));\n if (typeof e != \"string\") return s(new Error(\"marked(): input parameter is of type \" + Object.prototype.toString.call(e) + \", string expected\"));\n if (i.hooks && (i.hooks.options = i, i.hooks.block = t), i.async) return (async () => {\n let o = i.hooks ? await i.hooks.preprocess(e) : e, l = await (i.hooks ? await i.hooks.provideLexer() : t ? D.lex : D.lexInline)(o, i), a = i.hooks ? await i.hooks.processAllTokens(l) : l;\n i.walkTokens && await Promise.all(this.walkTokens(a, i.walkTokens));\n let h = await (i.hooks ? await i.hooks.provideParser() : t ? U.parse : U.parseInline)(a, i);\n return i.hooks ? await i.hooks.postprocess(h) : h;\n })().catch(s);\n try {\n i.hooks && (e = i.hooks.preprocess(e));\n let o = (i.hooks ? i.hooks.provideLexer() : t ? D.lex : D.lexInline)(e, i);\n i.hooks && (o = i.hooks.processAllTokens(o)), i.walkTokens && this.walkTokens(o, i.walkTokens);\n let l = (i.hooks ? i.hooks.provideParser() : t ? U.parse : U.parseInline)(o, i);\n return i.hooks && (l = i.hooks.postprocess(l)), l;\n } catch (o) {\n return s(o);\n }\n };\n }\n onError(t, e) {\n return (n) => {\n if (n.message += `\nPlease report this to https://github.com/markedjs/marked.`, t) {\n let r = \"<p>An error occurred:</p><pre>\" + Z(n.message + \"\", !0) + \"</pre>\";\n return e ? Promise.resolve(r) : r;\n }\n if (e) return Promise.reject(n);\n throw n;\n };\n }\n}, ge = new ql();\nfunction v(t, e) {\n return ge.parse(t, e);\n}\nv.options = v.setOptions = function(t) {\n return ge.setOptions(t), v.defaults = ge.defaults, Ii(v.defaults), v;\n};\nv.getDefaults = kn;\nv.defaults = xe;\nv.use = function(...t) {\n return ge.use(...t), v.defaults = ge.defaults, Ii(v.defaults), v;\n};\nv.walkTokens = function(t, e) {\n return ge.walkTokens(t, e);\n};\nv.parseInline = ge.parseInline;\nv.Parser = U;\nv.parser = U.parse;\nv.Renderer = wt;\nv.TextRenderer = In;\nv.Lexer = D;\nv.lexer = D.lex;\nv.Tokenizer = _t;\nv.Hooks = Be;\nv.parse = v;\nv.options;\nv.setOptions;\nv.use;\nv.walkTokens;\nv.parseInline;\nU.parse;\nD.lex;\nv.setOptions({\n breaks: !0,\n gfm: !0\n});\nfunction Ml({ text: t }) {\n const e = B(() => {\n if (!t)\n return \"\";\n const n = v.parse(t);\n return typeof n == \"string\" ? n : \"\";\n }, [t]);\n return /* @__PURE__ */ u(\"div\", { class: \"jex-md\", dangerouslySetInnerHTML: { __html: e } });\n}\nconst an = L(\"\"), se = L(null), kr = L(Date.now());\nfunction Ll(t) {\n if (!t)\n return;\n const e = t.trim().split(/\\s+/)[0];\n if (!e)\n return;\n const n = `@${e} `, r = an.value;\n r.includes(n) || r.includes(`@${e}`) || (an.value = r.trimStart() ? `${n}${r.trimStart()}` : n);\n}\nfunction Ol(t) {\n const e = t.trim().split(/\\s+/).filter(Boolean);\n return e.length === 0 ? \"?\" : e.map((n) => n[0]).join(\"\").slice(0, 2).toUpperCase();\n}\nfunction ve({ text: t, streaming: e, error: n, authorId: r, authorName: i, authorImage: s, botAvatarUrl: o }) {\n const l = !!r, [a, h] = T(!1), d = He(() => h(!0), []), c = [\n \"jex-message bot\",\n n ? \"jex-message-error\" : \"\"\n ].filter(Boolean).join(\" \");\n return /* @__PURE__ */ u(\"div\", { class: \"jex-message-row bot\", children: [\n /* @__PURE__ */ u(\"div\", { class: `jex-avatar ${l ? \"jex-avatar-agent\" : \"jex-avatar-bot\"}`, children: l && s && !a ? /* @__PURE__ */ u(\"img\", { src: s, alt: i ?? \"\", class: \"jex-avatar-img\", onError: d }) : l ? /* @__PURE__ */ u(\"span\", { class: \"jex-avatar-initials\", children: Ol(i ?? \"\") }) : o && !a ? /* @__PURE__ */ u(\"img\", { src: o, alt: \"\", class: \"jex-avatar-img\", onError: d }) : /* @__PURE__ */ u(wn, { size: 14 }) }),\n /* @__PURE__ */ u(\"div\", { class: \"jex-message-content\", children: [\n /* @__PURE__ */ u(\"div\", { class: c, children: [\n /* @__PURE__ */ u(Ml, { text: t }),\n e && /* @__PURE__ */ u(\"span\", { class: \"jex-streaming-cursor\" })\n ] }),\n l && i && /* @__PURE__ */ u(\"div\", { class: \"jex-message-author-row\", children: [\n /* @__PURE__ */ u(\"span\", { class: \"jex-message-author\", children: i }),\n /* @__PURE__ */ u(\n \"button\",\n {\n type: \"button\",\n class: \"jex-reply-tag-btn\",\n \"aria-label\": `Reply to ${i}`,\n title: `Reply to ${i}`,\n onClick: () => {\n Ll(i);\n },\n children: /* @__PURE__ */ u(Ha, { size: 12 })\n }\n )\n ] })\n ] })\n ] });\n}\nfunction Nl({ text: t }) {\n return /* @__PURE__ */ u(\"div\", { class: \"jex-message user\", children: t });\n}\nfunction zl({ message: t, sessionId: e, visitorId: n }) {\n const r = q();\n return t.formData ? /* @__PURE__ */ u(\"div\", { class: \"jex-inline-form-submitted\", children: [\n /* @__PURE__ */ u(\"span\", { class: \"jex-inline-form-check\", children: \"✓\" }),\n /* @__PURE__ */ u(\"div\", { children: [\n /* @__PURE__ */ u(\"div\", { class: \"jex-inline-form-submitted-title\", children: r.escalationSubmitted }),\n /* @__PURE__ */ u(\"div\", { class: \"jex-inline-form-submitted-detail\", children: [\n t.formData.visitorName,\n \" · \",\n t.formData.visitorEmail\n ] })\n ] })\n ] }) : /* @__PURE__ */ u(\"div\", { class: \"jex-message-row bot\", children: /* @__PURE__ */ u(\n Ql,\n {\n messageId: t._id,\n sessionId: e,\n visitorId: n\n }\n ) });\n}\nfunction Ql({ messageId: t, sessionId: e, visitorId: n }) {\n const r = q(), [i, s] = T(\"\"), [o, l] = T(\"\"), [a, h] = T(!1), d = jt($e.functions.chat.public.helpdesk.submitEscalation);\n async function c(p) {\n if (p.preventDefault(), !a) {\n h(!0);\n try {\n await d({\n sessionId: e,\n visitorId: n,\n formMessageId: t,\n visitorName: i.trim(),\n visitorEmail: o.trim()\n });\n } catch (f) {\n console.error(\"[FormMessage] Submit failed:\", f), h(!1);\n }\n }\n }\n return /* @__PURE__ */ u(\"div\", { class: \"jex-inline-form\", children: [\n /* @__PURE__ */ u(\"div\", { class: \"jex-inline-form-title\", children: r.escalationFormTitle }),\n /* @__PURE__ */ u(\"form\", { class: \"jex-form\", onSubmit: (p) => {\n c(p);\n }, children: [\n /* @__PURE__ */ u(\n \"input\",\n {\n class: \"jex-form-input\",\n type: \"text\",\n placeholder: r.escalationNameLabel,\n value: i,\n required: !0,\n disabled: a,\n onInput: (p) => {\n s(p.currentTarget.value);\n }\n }\n ),\n /* @__PURE__ */ u(\n \"input\",\n {\n class: \"jex-form-input\",\n type: \"email\",\n placeholder: r.escalationEmailLabel,\n value: o,\n required: !0,\n disabled: a,\n onInput: (p) => {\n l(p.currentTarget.value);\n }\n }\n ),\n /* @__PURE__ */ u(\"button\", { class: \"jex-form-submit\", type: \"submit\", disabled: a, children: a ? r.escalationSubmitting : r.escalationSubmit })\n ] }),\n /* @__PURE__ */ u(\"div\", { class: \"jex-inline-form-consent\", children: r.escalationConsent })\n ] });\n}\nconst Bl = {\n crawl: \"🌐\",\n file: \"📄\",\n snippet: \"💡\",\n qa: \"❓\"\n};\nfunction Fl({ sources: t }) {\n const [e, n] = T(!1);\n return t.length === 0 ? null : /* @__PURE__ */ u(\"div\", { class: \"jex-sources-row\", children: [\n /* @__PURE__ */ u(\n \"button\",\n {\n type: \"button\",\n class: \"jex-sources-toggle\",\n onClick: () => {\n n((r) => !r);\n },\n \"aria-expanded\": e,\n children: [\n /* @__PURE__ */ u(\"span\", { class: \"jex-sources-icon\", children: \"📖\" }),\n /* @__PURE__ */ u(\"span\", { children: [\n t.length,\n \" \",\n t.length === 1 ? \"source\" : \"sources\"\n ] }),\n /* @__PURE__ */ u(\"span\", { class: `jex-sources-chevron${e ? \" jex-sources-chevron--open\" : \"\"}`, children: \"▾\" })\n ]\n }\n ),\n e ? /* @__PURE__ */ u(\"div\", { class: \"jex-sources-pills\", children: t.map((r, i) => {\n const s = r.sourceType === \"crawl\", o = Dl(r), l = s && r.url ? `${r.title}\n${r.url}` : r.title, a = /* @__PURE__ */ u(Q, { children: [\n typeof r.id == \"number\" ? /* @__PURE__ */ u(\"span\", { class: \"jex-source-id\", children: r.id }) : null,\n /* @__PURE__ */ u(\"span\", { class: \"jex-source-type\", children: Bl[r.sourceType] }),\n /* @__PURE__ */ u(\"span\", { class: \"jex-source-label\", children: o }),\n /* @__PURE__ */ u(\"span\", { class: \"jex-source-score\", children: [\n \"· \",\n r.score.toFixed(2)\n ] })\n ] });\n return s && r.url ? /* @__PURE__ */ u(\n \"a\",\n {\n class: \"jex-source-pill\",\n href: r.url,\n target: \"_blank\",\n rel: \"noopener noreferrer\",\n title: l,\n children: a\n },\n i\n ) : /* @__PURE__ */ u(\"span\", { class: \"jex-source-pill\", title: l, children: a }, i);\n }) }) : null\n ] });\n}\nfunction Dl(t) {\n if (t.sourceType === \"crawl\" && t.url)\n try {\n const e = new URL(t.url);\n return !e.pathname || e.pathname === \"/\" ? e.hostname : e.pathname;\n } catch {\n }\n return t.title;\n}\nfunction Ul() {\n return /* @__PURE__ */ u(\"div\", { class: \"jex-typing\", children: [\n /* @__PURE__ */ u(\"span\", {}),\n /* @__PURE__ */ u(\"span\", {}),\n /* @__PURE__ */ u(\"span\", {})\n ] });\n}\nconst Vl = /\\s?\\[\\d+\\]/g;\nfunction Sr(t) {\n return t.replace(Vl, \"\");\n}\nfunction Wl({ conversations: t, greeting: e, sessionNotFound: n, resumeFailed: r, onStartFresh: i, sessionId: s, visitorId: o }) {\n const l = q(), a = tt(null), [h, d] = T(null);\n return M(() => {\n a.current?.scrollIntoView({ behavior: \"smooth\" });\n }, [t?.length, t?.at(-1)?.content]), /* @__PURE__ */ u(\"div\", { class: \"jex-chat-messages\", children: [\n /* @__PURE__ */ u(ve, { text: e }),\n n && r && i ? /* @__PURE__ */ u(\"div\", { class: \"jex-session-prompt\", children: [\n /* @__PURE__ */ u(\"div\", { class: \"jex-session-prompt-text\", children: l.sessionNotFoundPrompt }),\n /* @__PURE__ */ u(\n \"button\",\n {\n class: \"jex-session-prompt-btn\",\n type: \"button\",\n onClick: () => {\n i();\n },\n children: l.startNewConversation\n }\n )\n ] }) : n ? /* @__PURE__ */ u(\"div\", { class: \"jex-session-notice\", children: l.sessionNotFound }) : null,\n t?.map((c) => {\n if (c.contentType === \"human-notice\")\n return /* @__PURE__ */ u(ve, { text: c.content }, c._id);\n if (c.contentType === \"escalation-form\" && s && o)\n return Aa.value === \"screen\" && !c.formData ? h === c._id ? null : /* @__PURE__ */ u(\"div\", { class: \"jex-inline-form jex-inline-form-card\", children: [\n /* @__PURE__ */ u(\"div\", { class: \"jex-inline-form-title\", children: l.escalationPromptTitle }),\n /* @__PURE__ */ u(\"div\", { class: \"jex-inline-form-subtitle\", children: l.escalationPromptSubtitle }),\n /* @__PURE__ */ u(\n \"button\",\n {\n class: \"jex-form-submit\",\n type: \"button\",\n onClick: () => {\n ke({ id: \"escalation-form\", formMessageId: c._id, sessionId: s, visitorId: o });\n },\n children: l.escalationPromptSubmit\n }\n ),\n /* @__PURE__ */ u(\n \"button\",\n {\n class: \"jex-escalation-skip\",\n type: \"button\",\n onClick: () => {\n d(c._id);\n },\n children: l.escalationSkip\n }\n )\n ] }, c._id) : /* @__PURE__ */ u(zl, { message: c, sessionId: s, visitorId: o }, c._id);\n if (c.contentType === \"escalation-confirm\")\n return /* @__PURE__ */ u(ve, { text: c.content }, c._id);\n if (c.role === \"user\")\n return /* @__PURE__ */ u(Nl, { text: c.content }, c._id);\n const p = {\n authorId: c.authorId,\n authorName: c.authorName,\n authorImage: c.authorImage\n };\n return c.status === \"streaming\" && c.content === \"\" ? /* @__PURE__ */ u(Ul, {}, c._id) : c.status === \"streaming\" ? /* @__PURE__ */ u(ve, { text: Sr(c.content), streaming: !0, ...p }, c._id) : c.status === \"error\" ? /* @__PURE__ */ u(\n ve,\n {\n text: c.errorMessage ?? `${l.somethingWentWrong}. ${l.tryAgain}.`,\n error: !0,\n ...p\n },\n c._id\n ) : /* @__PURE__ */ u(\"div\", { children: [\n /* @__PURE__ */ u(ve, { text: Sr(c.content), ...p }),\n c.sources && c.sources.length > 0 ? /* @__PURE__ */ u(Fl, { sources: c.sources }) : null\n ] }, c._id);\n }),\n /* @__PURE__ */ u(\"div\", { ref: a })\n ] });\n}\nfunction Hl({ size: t = 18 }) {\n return /* @__PURE__ */ u(\"svg\", { width: t, height: t, viewBox: \"0 0 24 24\", fill: \"none\", stroke: \"currentColor\", \"stroke-width\": \"2\", \"stroke-linecap\": \"round\", \"stroke-linejoin\": \"round\", \"aria-hidden\": \"true\", children: [\n /* @__PURE__ */ u(\"path\", { d: \"M22 2 11 13\" }),\n /* @__PURE__ */ u(\"path\", { d: \"M22 2 15 22 11 13 2 9l20-7z\" })\n ] });\n}\nfunction Jl() {\n const t = q(), e = ua(() => {\n const n = se.value;\n return n === null ? 0 : Math.max(0, Math.ceil((n - kr.value) / 1e3));\n });\n return M(() => {\n const n = se.value;\n if (n === null)\n return;\n const r = setInterval(() => {\n kr.value = Date.now();\n }, 1e3), i = setTimeout(() => {\n se.value = null;\n }, Math.max(0, n - Date.now()));\n return () => {\n clearInterval(r), clearTimeout(i);\n };\n }, [se.value]), se.value === null ? null : /* @__PURE__ */ u(\"div\", { class: \"jex-rate-limit-notice\", role: \"status\", \"aria-live\": \"polite\", children: t.errorRateLimited.replace(\"{seconds}\", String(e.value)) });\n}\nfunction Gl({ sessionId: t, visitorId: e, isLoading: n, isStreaming: r, sessionStatus: i, ensureSession: s, onStartFresh: o }) {\n const l = q(), a = an, h = jt($e.functions.chat.public.conversations.send), d = se.value !== null && se.value > Date.now(), c = n || r || d;\n if (i === \"resolved\")\n return /* @__PURE__ */ u(\"div\", { class: \"jex-chat-input-resolved\", children: [\n /* @__PURE__ */ u(\"div\", { class: \"jex-resolved-notice\", children: l.sessionResolved }),\n /* @__PURE__ */ u(\n \"button\",\n {\n class: \"jex-resolved-new-btn\",\n type: \"button\",\n onClick: () => {\n o();\n },\n children: l.startNewConversation\n }\n )\n ] });\n async function p() {\n const f = a.value.trim();\n if (!f || c)\n return;\n const g = t && e ? { sessionId: t, visitorId: e } : await s();\n if (g) {\n Ta(), a.value = \"\";\n try {\n const x = await h({\n sessionId: g.sessionId,\n visitorId: g.visitorId,\n content: f\n });\n !x.ok && x.reason === \"rate_limited\" && (se.value = Date.now() + x.retryAfterMs);\n } catch (x) {\n console.error(\"[jexity] Failed to send message:\", x);\n }\n }\n }\n return /* @__PURE__ */ u(\"div\", { class: \"jex-chat-input\", children: [\n /* @__PURE__ */ u(Jl, {}),\n /* @__PURE__ */ u(\n \"input\",\n {\n type: \"text\",\n \"aria-label\": l.inputPlaceholder,\n placeholder: r ? l.aiThinking : l.inputPlaceholder,\n value: a.value,\n onInput: (f) => {\n a.value = f.currentTarget.value;\n },\n onKeyDown: (f) => {\n f.key === \"Enter\" && p();\n },\n disabled: n || r\n }\n ),\n /* @__PURE__ */ u(\n \"button\",\n {\n class: \"jex-send-btn\",\n onClick: p,\n \"aria-label\": l.sendAriaLabel,\n disabled: c,\n children: /* @__PURE__ */ u(Hl, { size: 18 })\n }\n )\n ] });\n}\nfunction Bi({ message: t }) {\n return /* @__PURE__ */ u(\"div\", { class: \"jex-overlay jex-loading\", children: [\n /* @__PURE__ */ u(\"div\", { class: \"jex-loading-spinner\", \"aria-hidden\": \"true\" }),\n t && /* @__PURE__ */ u(\"p\", { class: \"jex-loading-message\", children: t })\n ] });\n}\nfunction Kl({ greeting: t, orgSlug: e, projSlug: n }) {\n const r = q(), { sessionId: i, visitorId: s, isLoading: o, sessionNotFound: l, resumeFailed: a, isOrgDeleted: h, ensureSession: d, startFresh: c } = Qa(e, n), p = dr(\n $e.functions.chat.public.conversations.listBySession,\n i && s ? { sessionId: i, visitorId: s } : \"skip\"\n ), f = dr(\n $e.functions.chat.public.sessions.getSessionStatus,\n i && s ? { sessionId: i, visitorId: s } : \"skip\"\n ), g = i !== null && p === void 0, x = p?.some((k) => k.status === \"streaming\") ?? !1;\n return M(() => {\n pe.value && !i && d();\n }, [d, i]), h ? /* @__PURE__ */ u(\"div\", { class: \"jex-chat-messages\", children: /* @__PURE__ */ u(\"div\", { class: \"jex-session-notice\", children: r.chatNoLongerAvailable }) }) : o || g && pe.value ? /* @__PURE__ */ u(Bi, { message: r.resumeConversation }) : /* @__PURE__ */ u(Q, { children: [\n /* @__PURE__ */ u(\n Wl,\n {\n conversations: p,\n greeting: t,\n sessionNotFound: l,\n resumeFailed: a,\n onStartFresh: c,\n sessionId: i,\n visitorId: s\n }\n ),\n /* @__PURE__ */ u(\n Gl,\n {\n sessionId: i,\n visitorId: s,\n isLoading: o,\n isStreaming: x,\n sessionStatus: f ?? null,\n ensureSession: d,\n onStartFresh: c\n }\n )\n ] });\n}\nfunction Zl({ formMessageId: t, sessionId: e, visitorId: n }) {\n const r = q(), [i, s] = T(\"\"), [o, l] = T(\"\"), a = jt($e.functions.chat.public.helpdesk.submitEscalation);\n async function h(d) {\n d.preventDefault(), Se({ id: \"loading\", message: r.escalationSubmitting });\n try {\n const c = await a({\n sessionId: e,\n visitorId: n,\n formMessageId: t,\n visitorName: i.trim(),\n visitorEmail: o.trim()\n });\n Se({ id: \"confirmation\", ref: c.ticketRef });\n } catch (c) {\n console.error(\"[EscalationFormScreen] Submit failed:\", c), Se({ id: \"error\", message: r.escalationSubmitFailed });\n }\n }\n return /* @__PURE__ */ u(\"div\", { class: \"jex-form-screen\", children: [\n /* @__PURE__ */ u(\"h2\", { class: \"jex-form-title\", children: r.escalationFormTitle }),\n /* @__PURE__ */ u(\"p\", { class: \"jex-escalation-subtitle\", children: r.escalationSubtitle }),\n /* @__PURE__ */ u(\"form\", { class: \"jex-form\", onSubmit: (d) => {\n h(d);\n }, children: [\n /* @__PURE__ */ u(\n \"input\",\n {\n class: \"jex-form-input\",\n type: \"text\",\n placeholder: r.escalationNameLabel,\n value: i,\n required: !0,\n onInput: (d) => {\n s(d.currentTarget.value);\n }\n }\n ),\n /* @__PURE__ */ u(\n \"input\",\n {\n class: \"jex-form-input\",\n type: \"email\",\n placeholder: r.escalationEmailLabel,\n value: o,\n required: !0,\n onInput: (d) => {\n l(d.currentTarget.value);\n }\n }\n ),\n /* @__PURE__ */ u(\"button\", { class: \"jex-form-submit\", type: \"submit\", children: r.escalationSubmit })\n ] }),\n /* @__PURE__ */ u(\"div\", { class: \"jex-inline-form-consent\", style: { textAlign: \"center\", margin: \"16px 0 8px 0\" }, children: r.escalationConsent }),\n /* @__PURE__ */ u(\"button\", { class: \"jex-escalation-skip\", type: \"button\", onClick: () => {\n _n();\n }, children: r.escalationSkip })\n ] });\n}\nfunction Xl() {\n const t = q(), [e, n] = T(\"\"), [r, i] = T(\"\"), [s, o] = T(\"\");\n async function l(a) {\n a.preventDefault(), Se({ id: \"loading\", message: t.submittingTicket }), await new Promise((d) => {\n setTimeout(d, 1200);\n });\n const h = \"JEX-\" + Math.random().toString(36).slice(2, 8).toUpperCase();\n Se({ id: \"confirmation\", ref: h });\n }\n return /* @__PURE__ */ u(\"div\", { class: \"jex-form-screen\", children: [\n /* @__PURE__ */ u(\"h2\", { class: \"jex-form-title\", children: t.submitTicket }),\n /* @__PURE__ */ u(\"form\", { class: \"jex-form\", onSubmit: (a) => {\n l(a);\n }, children: [\n /* @__PURE__ */ u(\n \"input\",\n {\n class: \"jex-form-input\",\n type: \"text\",\n placeholder: t.yourName,\n value: e,\n required: !0,\n onInput: (a) => {\n n(a.currentTarget.value);\n }\n }\n ),\n /* @__PURE__ */ u(\n \"input\",\n {\n class: \"jex-form-input\",\n type: \"email\",\n placeholder: t.yourEmail,\n value: r,\n required: !0,\n onInput: (a) => {\n i(a.currentTarget.value);\n }\n }\n ),\n /* @__PURE__ */ u(\n \"textarea\",\n {\n class: \"jex-form-textarea\",\n placeholder: t.howCanWeHelp,\n value: s,\n required: !0,\n onInput: (a) => {\n o(a.currentTarget.value);\n }\n }\n ),\n /* @__PURE__ */ u(\"button\", { class: \"jex-form-submit\", type: \"submit\", children: t.submit })\n ] })\n ] });\n}\nfunction Yl({ ticketRef: t }) {\n const e = q();\n return /* @__PURE__ */ u(\"div\", { class: \"jex-confirmation\", children: [\n /* @__PURE__ */ u(\"div\", { class: \"jex-confirmation-icon\", \"aria-hidden\": \"true\", children: \"✓\" }),\n /* @__PURE__ */ u(\"h2\", { class: \"jex-confirmation-title\", children: e.ticketSubmitted }),\n /* @__PURE__ */ u(\"p\", { class: \"jex-confirmation-body\", children: e.yourReferenceNumber }),\n /* @__PURE__ */ u(\"div\", { class: \"jex-confirmation-ref\", children: t }),\n /* @__PURE__ */ u(\"p\", { class: \"jex-confirmation-hint\", children: e.sentToEmailHint }),\n /* @__PURE__ */ u(\n \"button\",\n {\n class: \"jex-confirmation-done\",\n onClick: () => {\n A.value = !1;\n },\n children: e.done\n }\n )\n ] });\n}\nfunction ec({ message: t, onRetry: e, onBack: n }) {\n const r = q();\n return /* @__PURE__ */ u(\"div\", { class: \"jex-overlay jex-error\", children: [\n /* @__PURE__ */ u(\"p\", { class: \"jex-error-message\", children: t }),\n /* @__PURE__ */ u(\"div\", { class: \"jex-error-actions\", children: [\n e && /* @__PURE__ */ u(\"button\", { class: \"jex-error-retry\", onClick: e, children: r.tryAgain }),\n n && /* @__PURE__ */ u(\"button\", { class: \"jex-error-back\", onClick: n, children: r.goBack })\n ] })\n ] });\n}\nfunction jr({ greeting: t, title: e, orgSlug: n, projSlug: r }) {\n const i = W.value, s = i[i.length - 1], o = i.findLast(\n (l) => l.id === \"confirmation\"\n );\n return /* @__PURE__ */ u(\"div\", { class: \"jex-screen-container\", children: [\n s.id === \"home\" && /* @__PURE__ */ u(Oa, { greeting: t, title: e }),\n s.id === \"selection\" && /* @__PURE__ */ u(Na, { title: e }),\n s.id === \"form\" && /* @__PURE__ */ u(Xl, {}),\n s.id === \"escalation-form\" && /* @__PURE__ */ u(\n Zl,\n {\n formMessageId: s.formMessageId,\n sessionId: s.sessionId,\n visitorId: s.visitorId\n }\n ),\n s.id === \"confirmation\" && o && /* @__PURE__ */ u(Yl, { ticketRef: o.ref }),\n s.id === \"chat\" && /* @__PURE__ */ u(Kl, { greeting: t, orgSlug: n, projSlug: r }),\n s.id === \"loading\" && /* @__PURE__ */ u(Bi, { message: s.message }),\n s.id === \"error\" && /* @__PURE__ */ u(\n ec,\n {\n message: s.message,\n onRetry: () => Se({ id: \"loading\" }),\n onBack: _n\n }\n )\n ] });\n}\nfunction tc({ options: t }) {\n ba(t.orgSlug, t.projSlug, t.bootstrapToken, t.convexUrl);\n const e = ma(t.orgSlug, t.projSlug, t.convexUrl);\n Sa(t.parentOrigin), M(() => {\n Ca();\n }, []);\n const n = pa(t, e);\n M(() => {\n yn.value = Ti(n.locale);\n }, [n.locale]);\n const r = n.position === \"bottom-left\", i = n.colorScheme === \"dark\" || n.colorScheme === \"light\" ? n.colorScheme : \"\", s = $a({\n ...t,\n primaryColor: n.primaryColor,\n accentColor: n.accentColor,\n fontFamily: n.fontFamily,\n fontSize: n.fontSize,\n borderRadius: n.borderRadius,\n windowWidth: n.windowWidth,\n windowHeight: n.windowHeight\n }), o = n.mode === \"embedded\", a = e !== null || o || !!t.parentOrigin ? s : { ...s, visibility: \"hidden\" };\n return /* @__PURE__ */ u(\n \"div\",\n {\n class: `jex-widget ${i}`.trim(),\n style: a,\n children: o ? /* @__PURE__ */ u(\"div\", { class: \"jex-embedded\", children: [\n /* @__PURE__ */ u(fr, { title: n.title }),\n /* @__PURE__ */ u(jr, { greeting: n.greeting, title: n.title, orgSlug: t.orgSlug, projSlug: t.projSlug }),\n !n.hideBranding && /* @__PURE__ */ u(pr, {})\n ] }) : /* @__PURE__ */ u(\"div\", { class: `jex-container${r ? \" jex-pos-left\" : \"\"}`, children: [\n A.value && /* @__PURE__ */ u(\"div\", { class: \"jex-chat-window\", children: [\n /* @__PURE__ */ u(fr, { title: n.title }),\n /* @__PURE__ */ u(jr, { greeting: n.greeting, title: n.title, orgSlug: t.orgSlug, projSlug: t.projSlug }),\n !n.hideBranding && /* @__PURE__ */ u(pr, {})\n ] }),\n /* @__PURE__ */ u(\n La,\n {\n iconOption: n.triggerIcon,\n radius: n.triggerRadius,\n label: n.triggerLabel\n }\n )\n ] })\n }\n );\n}\nconst nc = '.jex-widget{--jex-primary: #115A62;--jex-primary-hover: var(--jex-accent, color-mix(in srgb, var(--jex-primary) 85%, #000));--jex-radius: .75rem;--jex-font-family: \"Inter\", system-ui, -apple-system, sans-serif;--jex-font-size: 14px;--jex-window-width: 380px;--jex-window-height: 600px;--jex-shadow: 0 16px 48px -12px rgba(13, 127, 138, .25), 0 4px 16px rgba(0, 0, 0, .08);pointer-events:auto;--jex-bg-trigger: var(--jex-primary);--jex-bg-header: var(--jex-primary);--jex-bg-msg-user: var(--jex-primary);--jex-bg-send-btn: var(--jex-primary);--jex-bg-window: rgba(255, 255, 255, .95);--jex-bg-msg-bot: #f1f5f9;--jex-bg-input: rgba(247, 253, 253, .6);--jex-text-header: #ffffff;--jex-text-msg-user: #ffffff;--jex-text-msg-bot: #0f172a;--jex-text-main: #0f172a;--jex-text-muted: #64748b;--jex-bg-avatar-agent: #d1fae5;--jex-text-avatar-agent: #065f46;--jex-border-window: rgba(226, 232, 240, .8);--jex-border-input: rgba(203, 213, 225, .8);--jex-bg-glass: var(--jex-bg-window);--jex-border-glass: var(--jex-border-window);font-family:var(--jex-font-family);-webkit-font-smoothing:antialiased}.dark .jex-widget,.jex-widget.dark{--jex-primary: #1cb0bf;--jex-primary-hover: var(--jex-accent, color-mix(in srgb, var(--jex-primary) 85%, #000));--jex-bg-window: rgba(10, 15, 26, .95);--jex-bg-msg-bot: #233146;--jex-bg-input: rgba(10, 15, 26, .6);--jex-text-msg-bot: #f8fafc;--jex-text-main: #f8fafc;--jex-text-muted: #94a3b8;--jex-border-window: rgba(30, 41, 59, .8);--jex-border-input: rgba(51, 65, 85, .9);--jex-bg-avatar-agent: #064e3b;--jex-text-avatar-agent: #6ee7b7;--jex-bg-error: #3b1318;--jex-border-error: #5c1d24;--jex-text-error: #fca5a5}@media(prefers-color-scheme:dark){:host:not(.light) .jex-widget:not(.light){--jex-primary: #1cb0bf;--jex-primary-hover: var(--jex-accent, color-mix(in srgb, var(--jex-primary) 85%, #000));--jex-bg-window: rgba(10, 15, 26, .95);--jex-bg-msg-bot: #233146;--jex-bg-input: rgba(10, 15, 26, .6);--jex-text-msg-bot: #f8fafc;--jex-text-main: #f8fafc;--jex-text-muted: #94a3b8;--jex-border-window: rgba(30, 41, 59, .8);--jex-border-input: rgba(51, 65, 85, .9);--jex-bg-error: #3b1318;--jex-border-error: #5c1d24;--jex-text-error: #fca5a5}}.jex-widget *{box-sizing:border-box;margin:0;padding:0}.jex-container{position:fixed;bottom:24px;right:24px;display:flex;flex-direction:column;align-items:flex-end;gap:16px;z-index:9999}.jex-container.jex-pos-left{right:auto;left:24px;align-items:flex-start}:host(.jex-mode-embedded){display:block;width:100%;height:100%}:host(.jex-mode-embedded) .jex-widget{width:100%;height:100%}.jex-embedded{display:flex;flex-direction:column;width:100%;height:100%;background:var(--jex-bg-window);border:1px solid var(--jex-border-window);overflow:hidden}.jex-embedded .jex-screen-container{flex:1;overflow:hidden;display:flex;flex-direction:column}.jex-floating-button{height:56px;min-width:56px;padding:0;background:var(--jex-bg-trigger);color:var(--jex-text-header);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:var(--jex-shadow);transition:transform .3s cubic-bezier(.175,.885,.32,1.275),background .2s,width .3s ease,border-radius .3s ease}.jex-floating-button.jex-has-label{min-width:110px;padding:0 20px}.jex-fab-inner{display:flex;align-items:center;gap:12px}.jex-fab-label{font-size:15px;font-weight:600;white-space:nowrap}.jex-floating-button:hover{transform:scale(1.1);background:var(--jex-primary-hover)}.jex-floating-button:active{transform:scale(.95)}.jex-chat-window{width:var(--jex-window-width);height:var(--jex-window-height);max-height:calc(100vh - 120px);background:var(--jex-bg-window);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid var(--jex-border-window);border-radius:calc(var(--jex-radius) * 2);box-shadow:var(--jex-shadow);display:flex;flex-direction:column;overflow:hidden;animation:jexSlideUp .4s cubic-bezier(.16,1,.3,1);transform-origin:bottom right}@keyframes jexSlideUp{0%{opacity:0;transform:scale(.8) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.jex-chat-header{padding:20px;background:var(--jex-bg-header);color:var(--jex-text-header);display:flex;align-items:center;gap:12px;flex-shrink:0}.jex-header-info h3{font-size:16px;font-weight:600;color:var(--jex-text-header);margin:0}.jex-header-info p{font-size:12px;opacity:.8;color:var(--jex-text-header);margin:0}.jex-header-back{background:none;border:none;color:var(--jex-text-header);cursor:pointer;padding:4px;display:flex;align-items:center;opacity:.8;transition:opacity .2s;flex-shrink:0}.jex-header-back:hover{opacity:1}.jex-screen-container{flex:1;overflow:hidden;display:flex;flex-direction:column}.jex-home{flex:1;display:flex;flex-direction:column;padding:24px;gap:20px;overflow-y:auto}.jex-home-hero{display:flex;align-items:center;gap:14px;animation:jexFadeIn .4s ease both}.jex-home-avatar{position:relative;width:48px;height:48px;border-radius:14px;background:var(--jex-primary);color:var(--jex-text-header);display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 4px 12px color-mix(in srgb,var(--jex-primary) 30%,transparent)}.jex-home-status-dot{position:absolute;bottom:-2px;right:-2px;width:14px;height:14px;border-radius:50%;background:#22c55e;border:2.5px solid var(--jex-bg-window);animation:jexPulse 2s ease-in-out infinite}@keyframes jexPulse{0%,to{box-shadow:0 0 #22c55e66}50%{box-shadow:0 0 0 6px #22c55e00}}.jex-home-hero-text{display:flex;flex-direction:column;gap:2px;min-width:0}.jex-home-title{font-size:17px;font-weight:700;color:var(--jex-text-main);margin:0;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jex-home-status{font-size:12px;font-weight:500;color:#22c55e;letter-spacing:.02em}.jex-home-greeting{background:var(--jex-bg-msg-bot);border:1px solid var(--jex-border-window);border-radius:4px 16px 16px;padding:16px 18px;font-size:14px;line-height:1.55;color:var(--jex-text-main);animation:jexFadeIn .4s .1s ease both}.jex-home-greeting p{margin:0}@keyframes jexFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.jex-home-actions{display:flex;flex-direction:column;gap:10px;animation:jexFadeIn .4s .2s ease both}.jex-home-start-btn{background:var(--jex-bg-send-btn);color:var(--jex-text-header);border:none;border-radius:12px;padding:14px 20px;font-size:15px;font-weight:600;cursor:pointer;font-family:inherit;transition:background .2s,transform .15s,box-shadow .2s;width:100%;box-shadow:0 2px 8px color-mix(in srgb,var(--jex-primary) 25%,transparent)}.jex-home-start-btn:hover{background:var(--jex-primary-hover);transform:translateY(-1px);box-shadow:0 4px 16px color-mix(in srgb,var(--jex-primary) 35%,transparent)}.jex-home-start-btn:active{transform:translateY(0);box-shadow:0 1px 4px color-mix(in srgb,var(--jex-primary) 20%,transparent)}.jex-home-resume-card{display:flex;flex-direction:column;gap:8px;width:100%;text-align:left;padding:16px 18px;border-radius:14px;border:1.5px solid var(--jex-primary);background:color-mix(in srgb,var(--jex-primary) 6%,var(--jex-bg-window));cursor:pointer;font-family:inherit;transition:background .2s,border-color .2s,transform .15s,box-shadow .2s;box-shadow:0 2px 8px color-mix(in srgb,var(--jex-primary) 12%,transparent)}.jex-home-resume-card:hover{background:color-mix(in srgb,var(--jex-primary) 10%,var(--jex-bg-window));transform:translateY(-1px);box-shadow:0 4px 16px color-mix(in srgb,var(--jex-primary) 20%,transparent)}.jex-home-resume-card:active{transform:translateY(0)}.jex-home-resume-top{display:flex;align-items:center;justify-content:space-between}.jex-home-resume-label{font-size:14px;font-weight:600;color:var(--jex-primary)}.jex-home-resume-arrow{color:var(--jex-primary);opacity:.6;transition:opacity .2s,transform .2s}.jex-home-resume-card:hover .jex-home-resume-arrow{opacity:1;transform:translate(2px)}.jex-home-resume-ref{font-family:ui-monospace,Cascadia Code,Fira Code,monospace;font-size:13px;font-weight:600;letter-spacing:.06em;color:var(--jex-text-muted)}.jex-home-new-btn{background:transparent;color:var(--jex-text-muted);border:1px solid var(--jex-border-input);border-radius:12px;padding:12px 20px;font-size:14px;font-weight:500;cursor:pointer;font-family:inherit;transition:color .2s,border-color .2s,background .2s;width:100%}.jex-home-new-btn:hover{color:var(--jex-text-main);border-color:var(--jex-text-muted);background:color-mix(in srgb,var(--jex-primary) 3%,transparent)}.jex-session-ref{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--jex-bg-msg-bot);border:1px solid var(--jex-border-window);border-radius:8px;font-size:12px}.jex-session-ref-label{color:var(--jex-text-muted);font-weight:500}.jex-session-ref-code{color:var(--jex-primary);font-weight:700;font-family:ui-monospace,Cascadia Code,monospace;letter-spacing:.05em}.jex-chat-messages{flex:1;padding:20px;overflow-y:auto;display:flex;flex-direction:column;gap:12px}.jex-message-row{display:flex;align-items:flex-end;gap:8px;max-width:85%}.jex-message-row.bot{align-self:flex-start}.jex-message-content{flex:1;min-width:0}.jex-avatar{width:24px;height:24px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:12px;margin-bottom:2px}.jex-avatar-bot{background:var(--jex-bg-msg-bot);color:var(--jex-primary)}.jex-avatar-agent{background:var(--jex-bg-avatar-agent)}.jex-avatar-img{width:100%;height:100%;border-radius:50%;object-fit:cover}.jex-avatar-initials{font-size:9px;font-weight:700;color:var(--jex-text-avatar-agent)}.jex-message-author-row{display:flex;align-items:center;gap:6px;margin-top:2px;padding-left:4px}.jex-message-author{font-size:10px;color:var(--jex-text-muted)}.jex-reply-tag-btn{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;padding:0;border:none;border-radius:4px;background:transparent;color:var(--jex-text-muted, #6b7280);cursor:pointer;transition:background .15s,color .15s}.jex-reply-tag-btn:hover{background:#0000000f;color:var(--jex-primary, #115A62)}.jex-reply-tag-btn:focus-visible{outline:2px solid var(--jex-primary, #115A62);outline-offset:1px}.jex-message{padding:12px 16px;border-radius:18px;font-size:14px;line-height:1.4}.jex-message.bot{background:var(--jex-bg-msg-bot);border:1px solid var(--jex-border-window);color:var(--jex-text-msg-bot);border-bottom-left-radius:4px}.jex-message.user{align-self:flex-end;max-width:80%;background:var(--jex-bg-msg-user);color:var(--jex-text-msg-user);border-bottom-right-radius:4px}.jex-typing{align-self:flex-start;display:flex;gap:4px;padding:12px 16px}.jex-typing span{width:8px;height:8px;border-radius:50%;background:var(--jex-text-muted);animation:jexTypingDot 1.2s infinite ease-in-out}.jex-typing span:nth-child(2){animation-delay:.2s}.jex-typing span:nth-child(3){animation-delay:.4s}@keyframes jexTypingDot{0%,80%,to{transform:scale(.8);opacity:.4}40%{transform:scale(1);opacity:1}}.jex-md{word-break:break-word;overflow-wrap:anywhere}.jex-md p{margin:0 0 8px}.jex-md p:last-child{margin-bottom:0}.jex-md strong{font-weight:600}.jex-md em{font-style:italic}.jex-md ul,.jex-md ol{margin:0 0 8px;padding-left:20px}.jex-md ul:last-child,.jex-md ol:last-child{margin-bottom:0}.jex-md ul{list-style-type:disc}.jex-md ol{list-style-type:decimal}.jex-md li{margin-bottom:2px}.jex-md li:last-child{margin-bottom:0}.jex-md a{color:var(--jex-primary);text-decoration:underline;text-underline-offset:2px}.jex-md a:hover{opacity:.8}.jex-md code{background:#00000014;padding:1px 5px;border-radius:4px;font-size:.9em;font-family:ui-monospace,Cascadia Code,Fira Code,monospace}.jex-md pre{background:#0000000f;border-radius:8px;padding:10px 12px;margin:0 0 8px;overflow-x:auto;font-size:.85em}.jex-md pre:last-child{margin-bottom:0}.jex-md pre code{background:none;padding:0;border-radius:0;font-size:inherit}.jex-md h1,.jex-md h2,.jex-md h3,.jex-md h4{font-weight:600;margin:8px 0 4px}.jex-md h1:first-child,.jex-md h2:first-child,.jex-md h3:first-child,.jex-md h4:first-child{margin-top:0}.jex-md h3{font-size:1em}.jex-md h4{font-size:.95em}.jex-md hr{border:none;border-top:1px solid var(--jex-border-window);margin:8px 0}.jex-md blockquote{border-left:3px solid var(--jex-primary);margin:0 0 8px;padding:4px 12px;color:var(--jex-text-muted)}.jex-md blockquote:last-child{margin-bottom:0}.dark .jex-md code,.jex-widget.dark .jex-md code{background:#ffffff1a}.dark .jex-md pre,.jex-widget.dark .jex-md pre{background:#ffffff14}@media(prefers-color-scheme:dark){:host:not(.light) .jex-widget:not(.light) .jex-md code{background:#ffffff1a}:host:not(.light) .jex-widget:not(.light) .jex-md pre{background:#ffffff14}}.jex-streaming-cursor:after{content:\"◊\";margin-left:2px;animation:jexBlinkCursor .8s ease-in-out infinite}@keyframes jexBlinkCursor{0%,to{opacity:1}50%{opacity:0}}.jex-session-notice{align-self:center;text-align:center;padding:8px 16px;margin:8px 0;font-size:12px;color:var(--jex-text-muted);background:var(--jex-bg-input, #f1f5f9);border-radius:8px;line-height:1.4}.jex-message-error{background:var(--jex-bg-error, #fef2f2)!important;border-color:var(--jex-border-error, #fecaca)!important;color:var(--jex-text-error, #991b1b)!important}.jex-chat-input{padding:16px;border-top:1px solid var(--jex-border-window);display:flex;gap:8px;flex-shrink:0;flex-wrap:wrap}.jex-rate-limit-notice{flex:1 0 100%;order:-1;margin-bottom:8px;padding:8px 12px;border-radius:10px;background:var(--jex-bg-msg-bot, #f1f5f9);color:var(--jex-text-muted, #64748b);font-size:12px;line-height:1.4;text-align:center}.jex-chat-input input{flex:1;background:var(--jex-bg-input);border:1px solid var(--jex-border-input);border-radius:12px;padding:10px 14px;color:var(--jex-text-main);outline:none;font-family:inherit;font-size:14px}.jex-chat-input input:focus{border-color:var(--jex-primary)}.jex-send-btn{background:var(--jex-bg-send-btn);color:var(--jex-text-header);border:none;border-radius:12px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s cubic-bezier(.175,.885,.32,1.275);flex-shrink:0}.jex-send-btn:hover{transform:scale(1.05);background:var(--jex-primary-hover)}.jex-send-btn:active{transform:scale(.95)}.jex-widget-footer{display:flex;align-items:center;justify-content:center;padding:8px 16px;border-top:1px solid var(--jex-border-glass);background:#00000005;flex-shrink:0}.jex-widget.dark .jex-widget-footer{background:#ffffff05}@media(prefers-color-scheme:dark){:host:not(.light) .jex-widget:not(.light) .jex-widget-footer{background:#ffffff05}}.jex-branding{display:flex;align-items:center;gap:6px;text-decoration:none;color:var(--jex-text-muted);font-size:11px;font-weight:500;transition:color .2s}.jex-branding:hover{color:var(--jex-text-main)}.jex-branding-icon{color:var(--jex-primary)}.jex-branding span strong{font-weight:700;color:var(--jex-text-main)}.jex-locale-select-wrapper{position:relative;display:flex;align-items:center}.jex-locale-select{appearance:none;-webkit-appearance:none;background:transparent;border:1px solid transparent;padding:4px 20px 4px 6px;border-radius:6px;font-family:inherit;font-size:11px;font-weight:600;color:var(--jex-text-muted);background-color:transparent;cursor:pointer;outline:none;transition:all .2s ease}.jex-locale-select option{background-color:#fff;color:#0f172a}.jex-locale-select:hover,.jex-locale-select:focus-visible{color:var(--jex-text-main);background:#0000000a}.jex-widget.dark .jex-locale-select:hover,.jex-widget.dark .jex-locale-select:focus-visible{background:#ffffff0d}.jex-widget.dark .jex-locale-select option{background-color:#0f172a;color:#f8fafc}@media(prefers-color-scheme:dark){:host:not(.light) .jex-widget:not(.light) .jex-locale-select:hover,:host:not(.light) .jex-widget:not(.light) .jex-locale-select:focus-visible{background:#ffffff0d}:host:not(.light) .jex-widget:not(.light) .jex-locale-select option{background-color:#0f172a;color:#f8fafc}}.jex-locale-select:focus-visible{border-color:var(--jex-primary)}.jex-locale-chevron{position:absolute;right:4px;pointer-events:none;color:var(--jex-text-muted);transition:color .2s ease}.jex-locale-select-wrapper:hover .jex-locale-chevron{color:var(--jex-text-main)}.jex-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:var(--jex-bg-window, #fff);z-index:10;padding:24px;text-align:center}.jex-loading-spinner{width:32px;height:32px;border:3px solid var(--jex-border-input, #e2e8f0);border-top-color:var(--jex-primary, #115A62);border-radius:50%;animation:jex-spin .7s linear infinite}@keyframes jex-spin{to{transform:rotate(360deg)}}.jex-loading-message{font-size:14px;color:var(--jex-text-muted, #64748b)}.jex-error-message{font-size:14px;color:var(--jex-text-main, #334155)}.jex-error-actions{display:flex;gap:8px}.jex-error-retry,.jex-error-back{padding:8px 16px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;border:none}.jex-error-retry{background:var(--jex-primary, #115A62);color:#fff}.jex-error-back{background:transparent;color:var(--jex-text-muted, #64748b);border:1px solid var(--jex-border-input, #e2e8f0)}.jex-selection{display:flex;flex-direction:column;gap:12px;padding:24px 16px;height:100%}.jex-selection-title{font-size:16px;font-weight:700;color:var(--jex-text-main, #0f172a);margin:0 0 8px}.jex-selection-options{display:flex;flex-direction:column;gap:10px}.jex-selection-option{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:16px;border-radius:12px;border:1px solid var(--jex-border-window, #e2e8f0);background:transparent;cursor:pointer;text-align:left;transition:border-color .15s ease,background .15s ease}.jex-selection-option:hover{border-color:var(--jex-primary, #115A62);background:color-mix(in srgb,var(--jex-primary, #115A62) 5%,transparent)}.jex-selection-icon{font-size:20px}.jex-selection-label{font-size:14px;font-weight:600;color:var(--jex-text-main, #0f172a)}.jex-selection-sub{font-size:12px;color:var(--jex-text-muted, #64748b)}.jex-form-screen{display:flex;flex-direction:column;padding:20px 16px;height:100%;overflow-y:auto}.jex-form-title{font-size:16px;font-weight:700;color:var(--jex-text-main, #0f172a);margin:0 0 16px}.jex-form{display:flex;flex-direction:column;gap:10px}.jex-form-input,.jex-form-textarea{padding:10px 12px;border-radius:8px;border:1px solid var(--jex-border-input, #e2e8f0);font-size:14px;background:transparent;color:var(--jex-text-main, #0f172a);outline:none}.jex-form-input:focus,.jex-form-textarea:focus{border-color:var(--jex-primary, #115A62)}.jex-form-textarea{min-height:80px;resize:vertical}.jex-form-submit{padding:10px;border-radius:8px;border:none;background:var(--jex-primary, #115A62);color:#fff;font-size:14px;font-weight:600;cursor:pointer;margin-top:4px}.jex-inline-form{display:flex;flex-direction:column;gap:8px;padding:12px;background:var(--jex-bg-msg-bot, #f1f5f9);border:1px solid var(--jex-border-input, #e2e8f0);border-radius:var(--jex-radius, .75rem);width:100%}.jex-inline-form-title{font-weight:600;font-size:15px;color:var(--jex-text-main, #0f172a);margin:0}.jex-inline-form-subtitle{font-size:13px;color:var(--jex-text-muted, #64748b);line-height:1.4;margin:0 0 4px}.jex-inline-form-consent{font-size:11px;color:var(--jex-text-muted, #64748b);line-height:1.3;margin-top:4px;text-align:center}.jex-inline-form .jex-form-submit:disabled{opacity:.7;cursor:not-allowed}.jex-escalation-subtitle{font-size:13px;color:var(--jex-text-muted, #64748b);line-height:1.45;margin:0 0 8px}.jex-escalation-skip{padding:8px 12px;border:none;background:transparent;color:var(--jex-text-muted, #64748b);font-size:13px;cursor:pointer;text-decoration:underline;text-underline-offset:2px;text-align:center}.jex-escalation-skip:hover{color:var(--jex-text-main, #0f172a)}.jex-inline-form-card{position:relative;padding:14px;gap:8px}.jex-inline-form-dismiss{position:absolute;top:10px;right:10px;width:24px;height:24px;border-radius:50%;border:1px solid var(--jex-border-input, #e2e8f0);background:var(--jex-bg-window, #fff);color:var(--jex-text-muted, #64748b);font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1}.jex-inline-form-dismiss:hover{background:var(--jex-bg-msg-bot, #f1f5f9);color:var(--jex-text-main, #0f172a)}.jex-inline-form-submitted{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--jex-bg-msg-bot, #f1f5f9);border:1px solid var(--jex-border-input, #e2e8f0);border-radius:var(--jex-radius, .75rem);width:100%}.jex-inline-form-check{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:color-mix(in srgb,var(--jex-primary) 15%,transparent);color:var(--jex-primary, #115A62);font-size:14px;font-weight:700;flex-shrink:0}.jex-inline-form-submitted-title{font-weight:600;font-size:var(--jex-font-size, 14px);color:var(--jex-text-main, #0f172a)}.jex-inline-form-submitted-detail{font-size:12px;color:var(--jex-text-muted, #64748b);margin-top:2px}.jex-escalation-confirm{border-left:3px solid var(--jex-primary, #115A62);padding-left:8px}.jex-session-prompt{display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px 16px;margin:8px 0;text-align:center}.jex-session-prompt-text{font-size:13px;color:var(--jex-text-muted, #64748b)}.jex-session-prompt-btn{padding:8px 16px;border-radius:8px;border:1px solid var(--jex-primary, #115A62);background:transparent;color:var(--jex-primary, #115A62);font-size:13px;font-weight:600;cursor:pointer}.jex-session-prompt-btn:hover{background:color-mix(in srgb,var(--jex-primary) 10%,transparent)}.jex-chat-input-resolved{display:flex;flex-direction:column;align-items:center;gap:10px;padding:14px 16px;border-top:1px solid var(--jex-border-input, #e2e8f0);background:var(--jex-bg-msg-bot, #f1f5f9);text-align:center}.jex-resolved-notice{font-size:13px;font-weight:500;color:var(--jex-text-muted, #64748b)}.jex-resolved-new-btn{padding:10px 20px;border-radius:8px;border:none;background:var(--jex-primary, #115A62);color:#fff;font-size:13px;font-weight:600;cursor:pointer;width:100%}.jex-resolved-new-btn:hover{opacity:.9}.jex-confirmation{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:32px 24px;height:100%;text-align:center}.jex-confirmation-icon{width:48px;height:48px;border-radius:50%;background:color-mix(in srgb,var(--jex-primary, #115A62) 15%,transparent);color:var(--jex-primary, #115A62);font-size:22px;display:flex;align-items:center;justify-content:center}.jex-confirmation-title{font-size:18px;font-weight:700;color:var(--jex-text-main, #0f172a);margin:0}.jex-confirmation-body{font-size:13px;color:var(--jex-text-muted, #64748b);margin:0}.jex-confirmation-ref{font-size:20px;font-weight:700;letter-spacing:.05em;color:var(--jex-primary, #115A62);background:color-mix(in srgb,var(--jex-primary, #115A62) 10%,transparent);padding:10px 20px;border-radius:10px}.jex-confirmation-hint{font-size:12px;color:var(--jex-text-muted, #64748b);margin:0}.jex-confirmation-done{margin-top:8px;padding:10px 28px;border-radius:8px;border:none;background:var(--jex-primary, #115A62);color:#fff;font-size:14px;font-weight:600;cursor:pointer}.jex-home-lookup-link{background:none;border:none;font-size:12px;color:var(--jex-text-muted, #64748b);cursor:pointer;text-decoration:underline;padding:0;align-self:center}.jex-home-lookup{display:flex;gap:8px;width:100%;animation:jexFadeIn .4s .1s ease both}.jex-home-lookup-input{flex:1;padding:10px 14px;border-radius:10px;border:1px solid var(--jex-border-input, #e2e8f0);background:var(--jex-bg-input);color:var(--jex-text-main);font-size:13px;font-family:ui-monospace,Cascadia Code,Fira Code,monospace;letter-spacing:.04em;outline:none;transition:border-color .2s}.jex-home-lookup-input::placeholder{font-family:inherit;letter-spacing:.04em;color:var(--jex-text-muted);opacity:.7}.jex-home-lookup-input:focus{border-color:var(--jex-primary, #115A62)}.jex-home-lookup-submit{padding:10px 16px;border-radius:10px;border:none;background:var(--jex-primary, #115A62);color:#fff;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit;transition:background .2s,opacity .2s;flex-shrink:0}.jex-home-lookup-submit:hover:not(:disabled){background:var(--jex-primary-hover)}.jex-home-lookup-submit:disabled{opacity:.4;cursor:default}.jex-sources-row{margin-top:6px;margin-left:32px;display:flex;flex-direction:column;gap:6px}.jex-sources-toggle{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:transparent;border:none;border-radius:6px;cursor:pointer;font-size:11px;color:var(--jex-text-muted, #6b7280);font-family:inherit;align-self:flex-start;transition:background .15s,color .15s}.jex-sources-toggle:hover{background:#0000000a;color:inherit}.jex-sources-icon{font-size:12px;line-height:1}.jex-sources-chevron{display:inline-block;font-size:10px;transition:transform .15s}.jex-sources-chevron--open{transform:rotate(180deg)}.jex-sources-pills{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.jex-source-pill{display:inline-flex;align-items:center;gap:6px;max-width:240px;padding:2px 8px;border-radius:999px;border:1px solid rgba(0,0,0,.1);background:#0000000a;color:var(--jex-text-muted, #6b7280);font-size:11px;text-decoration:none;cursor:pointer;transition:background .15s,color .15s}.jex-source-pill:hover{background:#00000014;color:inherit}.jex-source-id{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;border-radius:4px;background:var(--jex-primary, #115A62);color:#fff;font-size:10px;font-weight:600;line-height:1;flex-shrink:0;font-variant-numeric:tabular-nums}.jex-source-type{font-size:10px;flex-shrink:0}.jex-source-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.jex-source-score{opacity:.6;flex-shrink:0;font-variant-numeric:tabular-nums}';\nfunction rc(t) {\n const e = document.createElement(\"style\");\n e.textContent = nc, t.appendChild(e);\n}\nconst ic = \"https://festive-mouse-978.eu-west-1.convex.cloud\";\nlet Ft = null;\nfunction sc(t) {\n const e = t ?? ic;\n if (!e)\n throw new Error(\"[jexity] No Convex URL — set VITE_CONVEX_URL at build time or data-convex-url on the script tag\");\n return Ft || (Ft = new Ko(fa(e))), Ft;\n}\nfunction oc(t, e) {\n const n = t.shadowRoot ?? t.attachShadow({ mode: \"open\" });\n for (; n.firstChild; )\n n.removeChild(n.firstChild);\n rc(n), bt.value = e.source, yt.value = e.bootstrapToken, W.value = [{ id: \"home\" }], e.mode === \"embedded\" && (t.classList.add(\"jex-mode-embedded\"), A.value = !0);\n const r = document.createElement(\"div\");\n return e.mode === \"embedded\" && (r.style.cssText = \"width:100%;height:100%\"), n.appendChild(r), de(\n /* @__PURE__ */ u(Xo, { client: sc(e.convexUrl), children: /* @__PURE__ */ u(tc, { options: e }) }),\n r\n ), function() {\n de(null, r), A.value = !1, bt.value = void 0, yt.value = void 0, W.value = [{ id: \"home\" }];\n };\n}\nfunction ac(t, e, n) {\n const r = oc(t, e), i = /* @__PURE__ */ new Set(), s = A.subscribe((l) => {\n for (const a of i)\n a(l);\n });\n return {\n shutdown() {\n s(), i.clear(), r(), n && n();\n },\n open() {\n A.value = !0;\n },\n close() {\n A.value = !1;\n },\n toggle() {\n A.value = !A.value;\n },\n get isOpen() {\n return A.value;\n },\n subscribe(l) {\n return i.add(l), () => {\n i.delete(l);\n };\n }\n };\n}\nlet Oe = null;\nfunction lc(t) {\n Oe && Oe.shutdown();\n let e;\n t.container ? e = typeof t.container == \"string\" ? document.querySelector(t.container) : t.container : (e = document.createElement(\"div\"), e.id = \"jexity-chat-widget\", document.body.appendChild(e));\n const n = ac(e, t, () => {\n t.container || e.remove(), Oe === n && (Oe = null);\n });\n return Oe = n, n;\n}\nexport {\n lc as JexityChat\n};\n//# sourceMappingURL=index.mjs.map\n"],"names":["JexityChatContext","createContext","JexityChatProvider","props","children","options","isOpen","setIsOpen","useState","instanceRef","useRef","unsubRef","containerRef","embedded","useEffect","cancelled","index","mod","mountOptions","inst","open","err","value","createElement","useJexityChat","ctx","useContext","Xe","Cr","Rr","Pn","Tr","Ar","ln","Ir","Er","Fi","Ye","Y","cn","z","Fe","Di","V","je","Pr","Vt","ft","un","Lr","qr","h","p","f","k","_","w","Ui","hn","Mr","Vi","Nr","qn","Mn","F","qe","It","G","Hi","Or","Wt","Wi","zr","Ji","Gi","Ki","u","S","Ln","Qr","j","On","Nn","zn","Qn","Bn","Fn","Ae","dn","Ur","B","Br","kt","Fr","Dr","Zi","Ht","Xi","Dn","Vr","Jt","Wr","Hr","Jr","Gr","Kr","Yi","Un","es","ts","Vn","ns","rs","Wn","Zr","Xr","Yr","is","Ne","Hn","ss","os","as","ei","ls","cs","us","hs","ds","fs","ps","Jn","gs","ms","xs","pn","bs","Gn","Kn","Zn","ys","vs","St","_s","ws","ks","Ss","js","Cs","Rs","Ts","$s","gn","X","N","As","qt","Is","Es","Ps","qs","Ms","Ge","ti","Ls","ni","mn","Os","Ns","ri","zs","Qs","Bs","Fs","Ds","Us","Xn","ii","o","Yn","De","Zt","Mt","Vs","Ws","Lt","er","tr","Hs","si","nr","Js","Gs","rr","Ks","oi","ai","li","ci","pt","Zs","we","Yt","fe","ir","Xs","Ys","K","eo","to","no","ro","Ke","ui","io","so","oo","P","hi","di","ao","lo","co","Ze","uo","ho","fo","Ot","E","sr","po","go","Ue","or","mo","xo","ar","bo","lr","yo","vo","_o","wo","ko","So","jo","_e","cr","fi","Co","Ro","r","i","s","To","$o","ze","Ao","Io","pi","Eo","Po","qo","ur","Mo","Lo","Oo","No","zo","Qo","Bo","Fo","g","x","zt","Do","Uo","hr","Vo","Wo","Ho","Jo","Go","gi","Yo","Ko","xn","Zo","Xo","dr","a","ra","jt","ea","ta","Qt","na","ia","sa","Ve","en","bi","oa","mi","xi","$","yi","vi","tn","_i","bn","aa","Ie","wi","la","ki","Ee","Si","ji","ca","ua","ha","da","A","fa","Ci","pa","ga","ma","xa","ba","Ri","ya","va","_a","wa","yn","ka","q","Ti","Sa","vn","pe","ja","Ca","nn","Ra","Ta","$a","Aa","ke","Se","Ia","pr","Ea","Pa","qa","Ma","La","Oa","Na","Ai","za","$e","Qa","Ba","gr","Fa","mr","Da","Ua","Va","Wa","Ha","kn","Ii","I","Ja","Ga","Ka","Za","Xa","Ei","Pi","Ya","jn","el","Cn","tl","nl","$t","Rn","rl","qi","il","Tn","xr","sl","ol","al","ll","Mi","cl","Pe","At","$n","ul","Li","hl","dl","fl","Oi","pl","gl","Ni","ml","xl","bl","yl","vl","_l","wl","kl","Sl","jl","Cl","zi","Qi","Rl","br","An","Tl","rn","$l","Al","yr","Z","vr","Il","El","Pl","_t","D","sn","wt","In","U","on","Be","ql","Ml","an","kr","Ll","Ol","Nl","zl","Ql","Bl","Fl","Dl","Ul","Vl","Wl","Hl","Jl","Gl","Bi","Kl","Zl","Xl","Yl","ec","jr","tc","nc","rc","ic","sc","oc","ac","l","lc"],"mappings":"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"}